diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index 78bede6..0000000 Binary files a/.DS_Store and /dev/null differ diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..560911e --- /dev/null +++ b/.dockerignore @@ -0,0 +1,8 @@ +# ignore .git +.git +.github +docs +example +rover +**/node_modules +**/dist \ No newline at end of file diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..474a6bd --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,30 @@ +name: build + +on: + push: + branches: + - main + pull_request: + branches: + - main + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version: 20 + - name: Setup Go + uses: actions/setup-go@v4 + with: + go-version-file: go.mod + - name: UI build + run: | + cd ui + npm install + npm run build + - name: Go Build + run: go build diff --git a/.github/workflows/publishDockerImage.yml b/.github/workflows/publishDockerImage.yml new file mode 100644 index 0000000..7aee3eb --- /dev/null +++ b/.github/workflows/publishDockerImage.yml @@ -0,0 +1,37 @@ +name: PublishDockerImage + +# Run whenever the publish job runs +on: + push: + tags: + - "v*" + +jobs: + push_to_registry: + name: Push Docker image to Docker Hub + runs-on: ubuntu-latest + steps: + - name: Check out the repo + uses: actions/checkout@v3 + + - name: Log in to Docker Hub + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + - name: Extract metadata (tags, labels) for Docker + id: meta + uses: docker/metadata-action@v3 + with: + images: im2nguyen/rover + + - name: Build and push Docker image + uses: docker/build-push-action@v2 + with: + context: . + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + build-args: + TF_VERSION=1.1.2 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 824feec..81f48e1 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -19,19 +19,19 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v3 - name: Unshallow run: git fetch --prune --unshallow - name: Set up Go - uses: actions/setup-go@v2 + uses: actions/setup-go@v4 with: - go-version: 1.16 + go-version-file: go.mod - name: Import GPG key id: import_gpg - uses: hashicorp/ghaction-import-gpg@v2.1.0 - env: - GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }} - PASSPHRASE: ${{ secrets.PASSPHRASE }} + uses: crazy-max/ghaction-import-gpg@v5 + with: + gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }} + passphrase: ${{ secrets.PASSPHRASE }} - name: Run GoReleaser uses: goreleaser/goreleaser-action@v2 with: diff --git a/.gitignore b/.gitignore index 75263fb..2fbb82f 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,11 @@ -rover \ No newline at end of file +build/rover +.DS_Store +rover.zip +plan.out + +# Ignore generated terraform files +.terraform** + +.idea/ + +build/ \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index ad14935..8c0b36c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,14 +1,44 @@ +# Prep base stage ARG TF_VERSION=light -FROM hashicorp/terraform:$TF_VERSION +# Build ui +FROM node:20-alpine as ui +WORKDIR /src +# Copy specific package files +COPY ./ui/package-lock.json ./ +COPY ./ui/package.json ./ +COPY ./ui/babel.config.js ./ +# Set Progress, Config and install +RUN npm set progress=false && npm config set depth 0 && npm install +# Copy source +# Copy Specific Directories +COPY ./ui/public ./public +COPY ./ui/src ./src +# build (to dist folder) +RUN NODE_OPTIONS='--openssl-legacy-provider' npm run build -RUN cp /bin/terraform /usr/local/bin/terraform +# Build rover +FROM golang:1.21 AS rover +WORKDIR /src +# Copy full source +COPY . . +# Copy ui/dist from ui stage as it needs to embedded +COPY --from=ui ./src/dist ./ui/dist +# Build rover +RUN go get -d -v golang.org/x/net/html +RUN CGO_ENABLED=0 GOOS=linux go build -o rover . -COPY ./rover /bin/rover +# Release stage +FROM hashicorp/terraform:$TF_VERSION AS release +# Copy terraform binary to the rover's default terraform path +RUN cp /bin/terraform /usr/local/bin/terraform +# Copy rover binary +COPY --from=rover /src/rover /bin/rover RUN chmod +x /bin/rover +# Install Google Chrome +RUN apk add chromium + WORKDIR /src ENTRYPOINT [ "/bin/rover" ] - -# CMD ["rover"] \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..468195b --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021 rover + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md index 54aaa0d..dd4c6db 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,14 @@ ## Rover - Terraform Visualizer -Rover is a [Terraform](http://terraform.io/) visualizer. +Rover is a [Terraform](http://terraform.io/) visualizer. In order to do this, Rover: -1. generates a [`plan`](https://www.terraform.io/docs/cli/commands/plan.html#out-filename) file and parses the configuration in the root directory. +1. generates a [`plan`](https://www.terraform.io/docs/cli/commands/plan.html#out-filename) file and parses the configuration in the root directory or uses a provided plan. 1. parses the `plan` and configuration files to generate three items: the resource overview (`rso`), the resource map (`map`), and the resource graph (`graph`). -1. consumes the `rso`, `map`, and `graph` to generate an interactive configuration and state visualization hosts on `localhost:9000`. +1. consumes the `rso`, `map`, and `graph` to generate an interactive configuration and state visualization hosts on `0.0.0.0:9000`. -Feedback (via issues) and pull requests are appreciated! +Feedback (via issues) and pull requests are appreciated! ![Rover Screenshot](docs/rover-cropped-screenshot.png) @@ -28,12 +28,41 @@ $ docker run --rm -it -p 9000:9000 -v $(pwd):/src im2nguyen/rover 2021/07/02 06:46:25 Generating resource map... 2021/07/02 06:46:25 Generating resource graph... 2021/07/02 06:46:25 Done generating assets. -2021/07/02 06:46:25 Rover is running on localhost:9000 +2021/07/02 06:46:25 Rover is running on 0.0.0.0:9000 ``` -Once Rover runs on `localhost:9000`, navigate to it to find the visualization! +Once Rover runs on `0.0.0.0:9000`, navigate to it to find the visualization! -Use `--env` or `--env-file` to set environment variables in the Docker container. For example, you can save your AWS credentials to an `.env` file. +### Run on Terraform plan file + +Use `-planJSONPath` to start Rover on Terraform plan file. The `plan.json` file should be in Linux version - Unix (LF), UTF-8. + +First, generate the plan file in JSON format. + +``` +$ terraform plan -out plan.out +$ terraform show -json plan.out > plan.json +``` + +Then, run Rover on it. + +``` +$ docker run --rm -it -p 9000:9000 -v $(pwd)/plan.json:/src/plan.json im2nguyen/rover:latest -planJSONPath=plan.json +``` + +### Standalone mode + +Standalone mode generates a `rover.zip` file containing all the static assets. + +``` +$ docker run --rm -it -p 9000:9000 -v "$(pwd):/src" im2nguyen/rover -standalone true +``` + +After all the assets are generated, unzip `rover.zip` and open `rover/index.html` in your favourite web browser. + +### Set environment variables + +Use `--env` or `--env-file` to set environment variables in the Docker container. For example, you can save your AWS credentials to a `.env` file. ``` $ printenv | grep "AWS" > .env @@ -42,19 +71,36 @@ $ printenv | grep "AWS" > .env Then, add it as environment variables to your Docker container with `--env-file`. ``` -$ docker run --rm -it -p 9000:9000 -v $(pwd):/src --env-file ./.env im2nguyen/rover +$ docker run --rm -it -p 9000:9000 -v "$(pwd):/src" --env-file ./.env im2nguyen/rover +``` + +### Define tfbackend, tfvars and Terraform variables + +Use `-tfBackendConfig` to define backend config files and `-tfVarsFile` or `-tfVar` to define variables. For example, you can run the following in the `example/random-test` directory to overload variables. + +``` +$ docker run --rm -it -p 9000:9000 -v "$(pwd):/src" im2nguyen/rover -tfBackendConfig test.tfbackend -tfVarsFile test.tfvars -tfVar max_length=4 +``` + +### Image generation + +Use `-genImage` to generate and save the visualization as a SVG image. + +``` +$ docker run --rm -it -v "$(pwd):/src" im2nguyen/rover -genImage true ``` ## Installation You can download Rover binary specific to your system by visiting the [Releases page](https://github.com/im2nguyen/rover/releases). Download the binary, unzip, then move `rover` into your `PATH`. -- [rover zip — MacOS](https://github.com/im2nguyen/rover/releases/download/v0.1.3/rover_0.1.3_darwin_amd64.zip) -- [rover zip — Windows](https://github.com/im2nguyen/rover/releases/download/v0.1.3/rover_0.1.3_windows_amd64.zip) +- [rover zip — MacOS - intel](https://github.com/im2nguyen/rover/releases/download/v0.3.2/rover_0.3.2_darwin_amd64.zip) +- [rover zip — MacOS - Apple Silicon](https://github.com/im2nguyen/rover/releases/download/v0.3.2/rover_0.3.2_darwin_arm64.zip) +- [rover zip — Windows](https://github.com/im2nguyen/rover/releases/download/v0.3.2/rover_0.3.2_windows_amd64.zip) ### Build from source -You can build Rover manually by cloning this repository, then building the frontend and compiling the binary. It requires Go v1.16+ and `npm`. +You can build Rover manually by cloning this repository, then building the frontend and compiling the binary. It requires Go v1.21+ and `npm`. #### Build frontend @@ -101,13 +147,13 @@ $ env GOOS=linux GOARCH=amd64 go build . Then, build the Docker image. ``` -$ docker build . -t im2nguyen/rover +$ docker build . -t im2nguyen/rover --no-cache ``` ## Basic usage -This repository contains two example Terraform configurations in `example`. +This repository contains two examples of Terraform configurations in `example`. Navigate into `random-test` example configuration. This directory contains configuration that showcases a wide variety of features common in Terraform (modules, count, output, locals, etc) with the [`random`](https://registry.terraform.io/providers/hashicorp/random/latest) provider. @@ -127,7 +173,7 @@ $ rover 2021/06/23 22:51:28 Generating resource map... 2021/06/23 22:51:28 Generating resource graph... 2021/06/23 22:51:28 Done generating assets. -2021/06/23 22:51:28 Rover is running on localhost:9000 +2021/06/23 22:51:28 Rover is running on 0.0.0.0:9000 ``` You can specify the working directory (where your configuration is living) and the Terraform binary location using flags. @@ -136,4 +182,4 @@ You can specify the working directory (where your configuration is living) and t $ rover -workingDir "example/eks-cluster" -tfPath "/Users/dos/terraform" ``` -Once Rover runs on `localhost:9000`, navigate to it to find the visualization! \ No newline at end of file +Once Rover runs on `0.0.0.0:9000`, navigate to it to find the visualization! diff --git a/example/.DS_Store b/example/.DS_Store deleted file mode 100644 index 0401edf..0000000 Binary files a/example/.DS_Store and /dev/null differ diff --git a/example/eks-cluster b/example/eks-cluster deleted file mode 160000 index 434cd8a..0000000 --- a/example/eks-cluster +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 434cd8a3b387598b0534bc7efb3235fe1f6628e8 diff --git a/example/multiple-files-same-resource-type-test/file-one.tf b/example/multiple-files-same-resource-type-test/file-one.tf new file mode 100644 index 0000000..4886113 --- /dev/null +++ b/example/multiple-files-same-resource-type-test/file-one.tf @@ -0,0 +1,4 @@ +resource "random_integer" "one" { + min = 1 + max = 3 +} \ No newline at end of file diff --git a/example/multiple-files-same-resource-type-test/file-two.tf b/example/multiple-files-same-resource-type-test/file-two.tf new file mode 100644 index 0000000..2ed8e73 --- /dev/null +++ b/example/multiple-files-same-resource-type-test/file-two.tf @@ -0,0 +1,4 @@ +resource "random_integer" "two" { + min = 1 + max = 4 +} \ No newline at end of file diff --git a/example/nested-test/main.tf b/example/nested-test/main.tf new file mode 100644 index 0000000..03ef04c --- /dev/null +++ b/example/nested-test/main.tf @@ -0,0 +1,4 @@ +module "sub_module" { + source = "./nested-module" + +} \ No newline at end of file diff --git a/example/nested-test/nested-module/main.tf b/example/nested-test/nested-module/main.tf new file mode 100644 index 0000000..6df9bf5 --- /dev/null +++ b/example/nested-test/nested-module/main.tf @@ -0,0 +1,6 @@ +module "remote_module" { + source = "git::https://github.com/im2nguyen/rover.git//example/random-test/random-name" + + max_length = "3" + +} \ No newline at end of file diff --git a/example/random-test/.terraform.lock.hcl b/example/random-test/.terraform.lock.hcl index f1ae799..b23f899 100644 --- a/example/random-test/.terraform.lock.hcl +++ b/example/random-test/.terraform.lock.hcl @@ -1,12 +1,33 @@ # This file is maintained automatically by "terraform init". # Manual edits may be lost in future updates. +provider "registry.terraform.io/hashicorp/http" { + version = "2.1.0" + hashes = [ + "h1:HmUcHqc59VeHReHD2SEhnLVQPUKHKTipJ8Jxq67GiDU=", + "h1:OaCZWFiSj1Rts5300dC2fzCM56SSWqq0aQP3YH6QECE=", + "h1:SE5ufHNXfkUaY6ZLLW742Pasb/Jx/Y/lUwoYS3XbElA=", + "zh:03d82dc0887d755b8406697b1d27506bc9f86f93b3e9b4d26e0679d96b802826", + "zh:0704d02926393ddc0cfad0b87c3d51eafeeae5f9e27cc71e193c141079244a22", + "zh:095ea350ea94973e043dad2394f10bca4a4bf41be775ba59d19961d39141d150", + "zh:0b71ac44e87d6964ace82979fc3cbb09eb876ed8f954449481bcaa969ba29cb7", + "zh:0e255a170db598bd1142c396cefc59712ad6d4e1b0e08a840356a371e7b73bc4", + "zh:67c8091cfad226218c472c04881edf236db8f2dc149dc5ada878a1cd3c1de171", + "zh:75df05e25d14b5101d4bc6624ac4a01bb17af0263c9e8a740e739f8938b86ee3", + "zh:b4e36b2c4f33fdc44bf55fa1c9bb6864b5b77822f444bd56f0be7e9476674d0e", + "zh:b9b36b01d2ec4771838743517bc5f24ea27976634987c6d5529ac4223e44365d", + "zh:ca264a916e42e221fddb98d640148b12e42116046454b39ede99a77fc52f59f4", + "zh:fe373b2fb2cc94777a91ecd7ac5372e699748c455f44f6ea27e494de9e5e6f92", + ] +} + provider "registry.terraform.io/hashicorp/random" { version = "3.1.0" constraints = "3.1.0" hashes = [ + "h1:9cCiLO/Cqr6IUvMDSApCkQItooiYNatZpEXmcu0nnng=", "h1:BZMEPucF+pbu9gsPk0G0BHx7YP04+tKdq2MrRDF1EDM=", - "h1:rKYu5ZUbXwrLG1w81k7H3nce/Ys6yAxXhWcbtk36HjY=", + "h1:EPIax4Ftp2SNdB9pUfoSjxoueDoLc/Ck3EUoeX0Dvsg=", "zh:2bbb3339f0643b5daa07480ef4397bd23a79963cc364cdfbb4e86354cb7725bc", "zh:3cd456047805bf639fbf2c761b1848880ea703a054f76db51852008b11008626", "zh:4f251b0eda5bb5e3dc26ea4400dba200018213654b69b4a5f96abee815b4f5ff", diff --git a/example/random-test/main.tf b/example/random-test/main.tf index 8eab3ed..afc0141 100644 --- a/example/random-test/main.tf +++ b/example/random-test/main.tf @@ -11,6 +11,7 @@ provider "random" {} variable "max_length" { default = 5 + sensitive = false } resource "random_integer" "pet_length" { @@ -36,6 +37,10 @@ resource "random_pet" "dogs" { length = random_integer.pet_length.result } +resource "random_pet" "cow" { + length = random_integer.pet_length.result +} + module "random_cat" { source = "./random-name" @@ -45,6 +50,12 @@ module "random_cat" { output "random_cat_name" { description = "random_cat_name" value = module.random_cat.random_name + sensitive = true +} + +output "random_cow_name" { + description = "random_cow_name" + value = random_pet.cow.id } resource "random_pet" "birds" { @@ -56,4 +67,18 @@ resource "random_pet" "birds" { prefix = each.key length = each.value +} + +data "http" "terraform_metadata" { + url = "https://checkpoint-api.hashicorp.com/v1/check/terraform" + + # Optional request headers + request_headers = { + Accept = "application/json" + } +} + +output "terraform_metadata" { + description = "Terraform metadata" + value = data.http.terraform_metadata.body } \ No newline at end of file diff --git a/example/random-test/test.tfvars b/example/random-test/test.tfvars new file mode 100644 index 0000000..23d13f3 --- /dev/null +++ b/example/random-test/test.tfvars @@ -0,0 +1 @@ +max_length = 3 \ No newline at end of file diff --git a/example/simple-test/main.tf b/example/simple-test/main.tf new file mode 100644 index 0000000..fbd7bc7 --- /dev/null +++ b/example/simple-test/main.tf @@ -0,0 +1,3 @@ +output "hello_world" { + value = "Hello, World!" +} \ No newline at end of file diff --git a/go.mod b/go.mod index a06c44b..60ff13c 100644 --- a/go.mod +++ b/go.mod @@ -1,9 +1,41 @@ module rover -go 1.16 +go 1.21 require ( + github.com/chromedp/cdproto v0.0.0-20211205231339-d2673e93eee4 + github.com/chromedp/chromedp v0.7.6 github.com/hashicorp/terraform-config-inspect v0.0.0-20210511202847-ad33d83d7650 - github.com/hashicorp/terraform-exec v0.13.3 - github.com/hashicorp/terraform-json v0.12.0 + github.com/hashicorp/terraform-exec v0.15.0 + github.com/hashicorp/terraform-json v0.13.0 + golang.org/x/net v0.0.0-20210924151903-3ad01bbaa167 // indirect +) + +require github.com/hashicorp/go-tfe v0.20.0 + +require ( + github.com/agext/levenshtein v1.2.2 // indirect + github.com/apparentlymart/go-textseg v1.0.0 // indirect + github.com/apparentlymart/go-textseg/v13 v13.0.0 // indirect + github.com/chromedp/sysutil v1.0.0 // indirect + github.com/gobwas/httphead v0.1.0 // indirect + github.com/gobwas/pool v0.2.1 // indirect + github.com/gobwas/ws v1.1.0 // indirect + github.com/golang/mock v1.6.0 // indirect + github.com/google/go-cmp v0.5.6 // indirect + github.com/google/go-querystring v1.1.0 // indirect + github.com/hashicorp/go-cleanhttp v0.5.2 // indirect + github.com/hashicorp/go-retryablehttp v0.7.0 // indirect + github.com/hashicorp/go-slug v0.7.0 // indirect + github.com/hashicorp/go-version v1.3.0 // indirect + github.com/hashicorp/hcl v0.0.0-20170504190234-a4b07c25de5f // indirect + github.com/hashicorp/hcl/v2 v2.0.0 // indirect + github.com/hashicorp/jsonapi v0.0.0-20210826224640-ee7dae0fb22d // indirect + github.com/josharian/intern v1.0.0 // indirect + github.com/mailru/easyjson v0.7.7 // indirect + github.com/mitchellh/go-wordwrap v1.0.0 // indirect + github.com/zclconf/go-cty v1.9.1 // indirect + golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e // indirect + golang.org/x/text v0.3.6 // indirect + golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac // indirect ) diff --git a/go.sum b/go.sum index 3cbae76..e920738 100644 --- a/go.sum +++ b/go.sum @@ -15,10 +15,13 @@ github.com/Masterminds/sprig v2.22.0+incompatible/go.mod h1:y6hNFY5UBTIWBxnzTeuN github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA= github.com/Microsoft/go-winio v0.4.16 h1:FtSW/jqD+l4ba5iPBj9CODVtgfYAD8w2wS923g/cFDk= github.com/Microsoft/go-winio v0.4.16/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0= +github.com/ProtonMail/go-crypto v0.0.0-20210428141323-04723f9f07d7 h1:YoJbenK9C67SkzkDfmQuVln04ygHj3vjZfd9FL+GmQQ= +github.com/ProtonMail/go-crypto v0.0.0-20210428141323-04723f9f07d7/go.mod h1:z4/9nQmJSSwwds7ejkxaJwO37dru3geImFUdJlaLzQo= +github.com/acomagu/bufpipe v1.0.3 h1:fxAGrHZTgQ9w5QqVItgzwj235/uYZYgbXitB+dLupOk= +github.com/acomagu/bufpipe v1.0.3/go.mod h1:mxdxdup/WdsKVreO5GpW4+M/1CE2sMG4jeGJ2sYmHc4= github.com/agext/levenshtein v1.2.1/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558= github.com/agext/levenshtein v1.2.2 h1:0S/Yg6LYmFJ5stwQeRp6EeOcCbj7xiqQSdNelsXvaqE= github.com/agext/levenshtein v1.2.2/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558= -github.com/alcortesm/tgz v0.0.0-20161220082320-9c5fe88206d7/go.mod h1:6zEj6s6u/ghQa61ZWa/C2Aw3RkjiTBOix7dkqa1VLIs= github.com/andybalholm/crlf v0.0.0-20171020200849-670099aa064f/go.mod h1:k8feO4+kXDxro6ErPXBRTJ/ro2mf0SsFG8s7doP9kJE= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= github.com/apparentlymart/go-dump v0.0.0-20180507223929-23540a00eaa3/go.mod h1:oL81AME2rN47vu18xqj1S1jPIPuN7afo62yKTNn3XMM= @@ -34,6 +37,13 @@ github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d h1:xDfNPAt8lFiC1U github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d/go.mod h1:6QX/PXZ00z/TKoufEY6K/a0k6AhaJrQKdFe6OfVXsa4= github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= github.com/cheggaaa/pb v1.0.27/go.mod h1:pQciLPpbU0oxA0h+VJYYLxO+XeDQb5pZijXscXHm81s= +github.com/chromedp/cdproto v0.0.0-20211126220118-81fa0469ad77/go.mod h1:At5TxYYdxkbQL0TSefRjhLE3Q0lgvqKKMSFUglJ7i1U= +github.com/chromedp/cdproto v0.0.0-20211205231339-d2673e93eee4 h1:St4rQbn3gGWL59ygb4NBxchIeAIW0CTz5Kw4m5JTemU= +github.com/chromedp/cdproto v0.0.0-20211205231339-d2673e93eee4/go.mod h1:At5TxYYdxkbQL0TSefRjhLE3Q0lgvqKKMSFUglJ7i1U= +github.com/chromedp/chromedp v0.7.6 h1:2juGaktzjwULlsn+DnvIZXFUckEp5xs+GOBroaea+jA= +github.com/chromedp/chromedp v0.7.6/go.mod h1:ayT4YU/MGAALNfOg9gNrpGSAdnU51PMx+FCeuT1iXzo= +github.com/chromedp/sysutil v1.0.0 h1:+ZxhTpfpZlmchB58ih/LBHX52ky7w2VhQVKQMucy3Ic= +github.com/chromedp/sysutil v1.0.0/go.mod h1:kgWmDdq8fTzXYcKIBqIYvRRTnYb9aNS9moAV0xufSww= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -46,18 +56,26 @@ github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI github.com/gliderlabs/ssh v0.2.2/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0= github.com/go-git/gcfg v1.5.0 h1:Q5ViNfGF8zFgyJWPqYwA7qGFoMTEiBmdlkcfRmpIMa4= github.com/go-git/gcfg v1.5.0/go.mod h1:5m20vg6GwYabIxaOonVkTdrILxQMpEShl1xiMF4ua+E= -github.com/go-git/go-billy/v5 v5.0.0/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0= -github.com/go-git/go-billy/v5 v5.1.0 h1:4pl5BV4o7ZG/lterP4S6WzJ6xr49Ba5ET9ygheTYahk= -github.com/go-git/go-billy/v5 v5.1.0/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0= -github.com/go-git/go-git-fixtures/v4 v4.0.2-0.20200613231340-f56387b50c12/go.mod h1:m+ICp2rF3jDhFgEZ/8yziagdT1C+ZpZcrJjappBCDSw= -github.com/go-git/go-git/v5 v5.3.0 h1:8WKMtJR2j8RntEXR/uvTKagfEt4GYlwQ7mntE4+0GWc= -github.com/go-git/go-git/v5 v5.3.0/go.mod h1:xdX4bWJ48aOrdhnl2XqHYstHbbp6+LFS4r4X+lNVprw= +github.com/go-git/go-billy/v5 v5.2.0/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0= +github.com/go-git/go-billy/v5 v5.3.1 h1:CPiOUAzKtMRvolEKw+bG1PLRpT7D3LIs3/3ey4Aiu34= +github.com/go-git/go-billy/v5 v5.3.1/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0= +github.com/go-git/go-git-fixtures/v4 v4.2.1/go.mod h1:K8zd3kDUAykwTdDCr+I0per6Y6vMiRR/nnVTBtavnB0= +github.com/go-git/go-git/v5 v5.4.2 h1:BXyZu9t0VkbiHtqrsvdq39UDhGJTl1h55VW6CSC4aY4= +github.com/go-git/go-git/v5 v5.4.2/go.mod h1:gQ1kArt6d+n+BGd+/B/I74HwRTLhth2+zti4ihgckDc= github.com/go-test/deep v1.0.3 h1:ZrJSEWsXzPOxaZnFteGEfooLba+ju3FYIbOrS+rQd68= github.com/go-test/deep v1.0.3/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= +github.com/gobwas/httphead v0.1.0 h1:exrUm0f4YX0L7EBwZHuCF4GDp8aJfVeBrlLQrs6NqWU= +github.com/gobwas/httphead v0.1.0/go.mod h1:O/RXo79gxV8G+RqlR/otEwx4Q36zl9rqC5u12GKvMCM= +github.com/gobwas/pool v0.2.1 h1:xfeeEhW7pwmX8nuLVlqbzVc7udMDrwetjEv+TZIz1og= +github.com/gobwas/pool v0.2.1/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= +github.com/gobwas/ws v1.1.0 h1:7RFti/xnNkMJnrK7D1yQ/iCIB5OrrY/54/H930kIbHA= +github.com/gobwas/ws v1.1.0/go.mod h1:nzvNcVha5eUziGrbxFCo6qFIojQHjJV5cLYIbezhfL0= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= +github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc= +github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= github.com/golang/protobuf v1.1.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= @@ -69,8 +87,11 @@ github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= +github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8= +github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= @@ -82,15 +103,25 @@ github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brv github.com/hashicorp/go-checkpoint v0.5.0 h1:MFYpPZCnQqQTE18jFwSII6eUQrD/oxMFp3mlgcqk5mU= github.com/hashicorp/go-checkpoint v0.5.0/go.mod h1:7nfLNL10NsxqO4iWuW6tWW0HjZuDrwkBuEQsVcpCOgg= github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= +github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ= github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= github.com/hashicorp/go-getter v1.5.3 h1:NF5+zOlQegim+w/EUhSLh6QhXHmZMEeHLQzllkQ3ROU= github.com/hashicorp/go-getter v1.5.3/go.mod h1:BrrV/1clo8cCYu6mxvboYg+KutTiFnXjMEgDD8+i7ZI= +github.com/hashicorp/go-hclog v0.9.2 h1:CG6TE5H9/JXsFWJCfoIVpKFIkFe6ysEuHirp4DxCsHI= +github.com/hashicorp/go-hclog v0.9.2/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrjA0H7acj2lQ= github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= +github.com/hashicorp/go-retryablehttp v0.7.0 h1:eu1EI/mbirUgP5C8hVsTNaGZreBDlYiwC1FZWkvQPQ4= +github.com/hashicorp/go-retryablehttp v0.7.0/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY= github.com/hashicorp/go-safetemp v1.0.0 h1:2HR189eFNrjHQyENnQMMpCiBAsRxzbTMIgBhEyExpmo= github.com/hashicorp/go-safetemp v1.0.0/go.mod h1:oaerMy3BhqiTbVye6QuFhFtIceqFoDHxNAB65b+Rj1I= -github.com/hashicorp/go-uuid v1.0.0 h1:RS8zrF7PhGwyNPOtxSClXXj9HA8feRnJzgnI1RJCSnM= +github.com/hashicorp/go-slug v0.7.0 h1:8HIi6oreWPtnhpYd8lIGQBgp4rXzDWQTOhfILZm+nok= +github.com/hashicorp/go-slug v0.7.0/go.mod h1:Ib+IWBYfEfJGI1ZyXMGNbu2BU+aa3Dzu41RKLH301v4= +github.com/hashicorp/go-tfe v0.20.0 h1:XUAhKoCX8ZUQfwBebC8hz7nkSSnqgNkaablIfxnZ0PQ= +github.com/hashicorp/go-tfe v0.20.0/go.mod h1:gyXLXbpBVxA2F/6opah8XBsOkZJxHYQmghl0OWi8keI= github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-uuid v1.0.2 h1:cfejS+Tpcp13yd5nYHWDI6qVCny6wyX2Mt5SGur2IGE= +github.com/hashicorp/go-uuid v1.0.2/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-version v1.1.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go-version v1.3.0 h1:McDWVJIU/y+u1BRV06dPaLfLCaT7fUTJLp5r04x7iNw= github.com/hashicorp/go-version v1.3.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= @@ -101,14 +132,15 @@ github.com/hashicorp/hcl v0.0.0-20170504190234-a4b07c25de5f h1:UdxlrJz4JOnY8W+Db github.com/hashicorp/hcl v0.0.0-20170504190234-a4b07c25de5f/go.mod h1:oZtUIOe8dh44I2q6ScRibXws4Ajl+d+nod3AaR9vL5w= github.com/hashicorp/hcl/v2 v2.0.0 h1:efQznTz+ydmQXq3BOnRa3AXzvCeTq1P4dKj/z5GLlY8= github.com/hashicorp/hcl/v2 v2.0.0/go.mod h1:oVVDG71tEinNGYCxinCYadcmKU9bglqW9pV3txagJ90= +github.com/hashicorp/jsonapi v0.0.0-20210826224640-ee7dae0fb22d h1:9ARUJJ1VVynB176G1HCwleORqCaXm/Vx0uUi0dL26I0= +github.com/hashicorp/jsonapi v0.0.0-20210826224640-ee7dae0fb22d/go.mod h1:Yog5+CPEM3c99L1CL2CFCYoSzgWm5vTU58idbRUaLik= github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= github.com/hashicorp/terraform-config-inspect v0.0.0-20210511202847-ad33d83d7650 h1:0TEFM00EMM31qUcOh950Ox7piRLkSORB38i+rYgRr9w= github.com/hashicorp/terraform-config-inspect v0.0.0-20210511202847-ad33d83d7650/go.mod h1:Z0Nnk4+3Cy89smEbrq+sl1bxc9198gIP4I7wcQF6Kqs= -github.com/hashicorp/terraform-exec v0.13.3 h1:R6L2mNpDGSEqtLrSONN8Xth0xYwNrnEVzDz6LF/oJPk= -github.com/hashicorp/terraform-exec v0.13.3/go.mod h1:SSg6lbUsVB3DmFyCPjBPklqf6EYGX0TlQ6QTxOlikDU= -github.com/hashicorp/terraform-json v0.10.0/go.mod h1:3defM4kkMfttwiE7VakJDwCd4R+umhSQnvJwORXbprE= -github.com/hashicorp/terraform-json v0.12.0 h1:8czPgEEWWPROStjkWPUnTQDXmpmZPlkQAwYYLETaTvw= -github.com/hashicorp/terraform-json v0.12.0/go.mod h1:pmbq9o4EuL43db5+0ogX10Yofv1nozM+wskr/bGFJpI= +github.com/hashicorp/terraform-exec v0.15.0 h1:cqjh4d8HYNQrDoEmlSGelHmg2DYDh5yayckvJ5bV18E= +github.com/hashicorp/terraform-exec v0.15.0/go.mod h1:H4IG8ZxanU+NW0ZpDRNsvh9f0ul7C0nHP+rUR/CHs7I= +github.com/hashicorp/terraform-json v0.13.0 h1:Li9L+lKD1FO5RVFRM1mMMIBDoUHslOniyEi5CM+FWGY= +github.com/hashicorp/terraform-json v0.13.0/go.mod h1:y5OdLBCT+rxbwnpxZs9kGL7R9ExU76+cpdY8zHwoazk= github.com/huandu/xstrings v1.3.2/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= github.com/imdario/mergo v0.3.11/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= github.com/imdario/mergo v0.3.12 h1:b6R2BslTbIEToALKP7LxUvijTsNI9TAe80pLWN2g/HU= @@ -118,6 +150,8 @@ github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i github.com/jessevdk/go-flags v1.5.0/go.mod h1:Fw0T6WPc1dYxT4mKEZRfG5kJhaTDP9pj1c2EWnYs/m4= github.com/jmespath/go-jmespath v0.0.0-20160202185014-0b12d6b521d8 h1:12VvqtR6Aowv3l/EQUlocDHW2Cp4G9WJVH7uyH8QFJE= github.com/jmespath/go-jmespath v0.0.0-20160202185014-0b12d6b521d8/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= +github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= +github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351 h1:DowS9hvgyYSX4TO5NpyC606/Z4SxnNYbT+WX27or6Ck= github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= @@ -134,6 +168,9 @@ github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/kylelemons/godebug v0.0.0-20170820004349-d65d576e9348/go.mod h1:B69LEHPfb2qLo0BaaOLcbitczOKLWTsrBG9LczfCD4k= github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= +github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= +github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= +github.com/matryer/is v1.2.0/go.mod h1:2fLPjFQM9rhQ15aVEtbuwhJinnOqrmgXPNdZsdwlWXA= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= @@ -152,8 +189,11 @@ github.com/mitchellh/go-wordwrap v1.0.0/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUb github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= +github.com/orisano/pixelmatch v0.0.0-20210112091706-4fa4c7ba91d5 h1:1SoBaSPudixRecmlHXb/GxmaD3fLMtHIDN13QujwQuc= +github.com/orisano/pixelmatch v0.0.0-20210112091706-4fa4c7ba91d5/go.mod h1:nZgzbfBr3hhjoZnS66nKrHmduYNpc34ny7RK4z5/HM0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= github.com/sebdah/goldie v1.0.0/go.mod h1:jXP4hmWywNEwZzhMuv2ccnqTSFpuq8iyQhtQdkkZBH4= @@ -170,6 +210,7 @@ github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXf github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/ulikunitz/xz v0.5.8 h1:ERv8V6GKqVi23rgu5cj9pVfVzJbOqAY2Ntl88O6c2nQ= github.com/ulikunitz/xz v0.5.8/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= @@ -178,11 +219,11 @@ github.com/vmihailenco/msgpack/v4 v4.3.12/go.mod h1:gborTTJjAo/GWTqqRjrLCn9pgNN+ github.com/vmihailenco/tagparser v0.1.1/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgqMEUPoW2WPyhdI= github.com/xanzy/ssh-agent v0.3.0 h1:wUMzuKtKilRgBAD1sUb8gOwwRr2FGoBVumcjoOACClI= github.com/xanzy/ssh-agent v0.3.0/go.mod h1:3s9xbODqPuuhK9JV1R321M/FlMZSBvE5aY6eAcqrDh0= +github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/zclconf/go-cty v1.1.0/go.mod h1:xnAOWiHeOqg2nWS62VtQ7pbOu17FtxJNW8RLEih+O3s= github.com/zclconf/go-cty v1.2.0/go.mod h1:hOPWgoHbaTUnI5k4D2ld+GRpFJSCe6bCM7m1q/N4PQ8= -github.com/zclconf/go-cty v1.2.1/go.mod h1:hOPWgoHbaTUnI5k4D2ld+GRpFJSCe6bCM7m1q/N4PQ8= -github.com/zclconf/go-cty v1.8.2 h1:u+xZfBKgpycDnTNjPhGiTEYZS5qS/Sb5MqSfm7vzcjg= -github.com/zclconf/go-cty v1.8.2/go.mod h1:vVKLxnk3puL4qRAv72AO+W99LUD4da90g3uUAzyuvAk= +github.com/zclconf/go-cty v1.9.1 h1:viqrgQwFl5UpSxc046qblj78wZXVDFnSOufaOTER+cc= +github.com/zclconf/go-cty v1.9.1/go.mod h1:vVKLxnk3puL4qRAv72AO+W99LUD4da90g3uUAzyuvAk= github.com/zclconf/go-cty-debug v0.0.0-20191215020915-b22d67c1ba0b/go.mod h1:ZRKQfBXbGkpdV6QMzT3rU1kSTAnfu1dO8dPKjYprgj8= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.22.0 h1:C9hSCOW830chIVkdja34wa6Ky+IzWllkUinR+BtRZd4= @@ -191,9 +232,11 @@ golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2/go.mod h1:6SG95UA2DQfeDnf golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190426145343-a29dc8fdc734/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2 h1:It14KIkyBFYkHkwZ7k45minvA9aorojkyjGk9KJ5B/w= golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= +golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b h1:7mWr3k41Qtv8XlltBkDkl8LoP3mpSgBW8BUoxtEdbXg= +golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= @@ -203,6 +246,7 @@ golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTk golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= +golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180811021610-c39426892332/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -216,8 +260,10 @@ golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210326060303-6b1517762897 h1:KrsHThm5nFk34YtATK1LsThyGhGbGe1olrte/HInHvs= golang.org/x/net v0.0.0-20210326060303-6b1517762897/go.mod h1:uSPa2vr4CLtc/ILN5odXGNXS6mhrKVzTaCXzk9m6W3k= +golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= +golang.org/x/net v0.0.0-20210924151903-3ad01bbaa167 h1:eDd+TJqbgfXruGQ5sJRU7tEtp/58OAx4+Ayjxg4SM+4= +golang.org/x/net v0.0.0-20210924151903-3ad01bbaa167/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45 h1:SVwTIAaPC2U/AvvLNZ2a7OVsmBpC8L5BlwK1whH3hm0= @@ -227,6 +273,7 @@ golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -240,18 +287,27 @@ golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201207223542-d4d67f95c62d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210324051608-47abb6519492 h1:Paq34FxTluEPvVyayQqMPgHm+vTOrIifmcYxFBx9TLg= golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210502180810-71e4cd670f79/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e h1:fLOSk5Q00efkSvAm+4xcoXD+RRmLmmulPn5I3Y9F2EM= +golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.5 h1:i6eZZ+zk0SOf0xgBpEpPD18qWcJda6q1sxt3S0kzyUQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.6 h1:aRYxNxv6iGQlyVaZmk6ZgYEDa+Jg18DxebPSrd6bg1M= +golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac h1:7zkz7BUtwNFFqcowJ+RIgu2MaV/MapERkDIy+mwPyjs= +golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= @@ -262,8 +318,13 @@ golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBn golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= @@ -298,6 +359,7 @@ gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRN gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= diff --git a/graph.go b/graph.go index 533b15f..2490d1f 100644 --- a/graph.go +++ b/graph.go @@ -2,6 +2,8 @@ package main import ( "fmt" + "log" + "regexp" "strings" tfjson "github.com/hashicorp/terraform-json" @@ -14,7 +16,7 @@ const ( MODULE_COLOR string = "#8450ba" MODULE_BG_COLOR string = "white" FNAME_BG_COLOR string = "white" - RESOURCE_COLOR string = "#8450ba" + RESOURCE_COLOR string = "lightgray" LOCAL_COLOR string = "black" ) @@ -32,12 +34,12 @@ type Node struct { // NodeData TODO type NodeData struct { - ID string `json:"id"` - Label string `json:"label,omitempty"` - Type string `json:"type,omitempty"` - Parent string `json:"parent,omitempty"` - ParentColor string `json:"parentColor,omitempty"` - Change string `json:"change,omitempty"` + ID string `json:"id"` + Label string `json:"label,omitempty"` + Type ResourceType `json:"type,omitempty"` + Parent string `json:"parent,omitempty"` + ParentColor string `json:"parentColor,omitempty"` + Change string `json:"change,omitempty"` } // Edge TODO @@ -55,235 +57,181 @@ type EdgeData struct { } // GenerateGraph - -func GenerateGraph(plan *tfjson.Plan, mapDM *Map) Graph { - graph := Graph{} +func (r *rover) GenerateGraph() error { + log.Println("Generating resource graph...") - graph.Nodes = GenerateNodes(plan, mapDM) - graph.Edges = GenerateEdges(plan) + nodes := r.GenerateNodes() + edges := r.GenerateEdges() - return graph -} - -// GenerateNodes - -func GenerateNodes(plan *tfjson.Plan, mapDM *Map) []Node { - nodeMap := make(map[string]Node) - nmo := []string{} - - moduleMap := make(map[string]string) - - basePath := strings.ReplaceAll(mapDM.Path, "./", "") - - nmo = append(nmo, basePath) - nodeMap[basePath] = Node{ - Data: NodeData{ - ID: basePath, - Label: basePath, - Type: "basename", - }, - Classes: "basename", - } - - // mrChange := make(map[string]string) - - for file := range mapDM.Files { - // remove suffix and file path - fname := strings.ReplaceAll(file, fmt.Sprintf("%s/", basePath), "") - - nmo = append(nmo, fname) - nodeMap[fname] = Node{ - Data: NodeData{ - ID: fname, - Label: fname, - Type: "fname", - Parent: basePath, - }, - Classes: "fname", + // Edge case for terraform.workspace + for _, e := range edges { + if strings.Contains(e.Data.ID, "terraform.workspace") { + nodes = append(nodes, Node{ + Data: NodeData{ + ID: "terraform.workspace", + Label: "terraform.workspace", + Type: "locals", + // Parent is equal to basePath + Parent: strings.ReplaceAll(r.Map.Path, "./", ""), + }, + Classes: "locals", + }) + break } + } - for id, rdata := range mapDM.Files[file] { - rid := strings.Split(id, ".") + r.Graph = Graph{ + Nodes: nodes, + Edges: edges, + } - rtype := getPrimitiveType(rid[0]) + return nil +} - switch rtype { - case "module": - moduleMap[id] = fname +func (r *rover) addNodes(base string, parent string, nodeMap map[string]Node, resources map[string]*Resource) []string { - for id, crdata := range rdata.Children { - // cID := strings.TrimRight(id, fmt.Sprintf(".%s", crdata.Name)) + nmo := []string{} - if string(crdata.ChangeAction) != "" { - nodeMap[id] = Node{ - Data: NodeData{ - ID: id, - Change: string(crdata.ChangeAction), - }, - } - } - } + for id, re := range resources { - // You don't want to parse module because it will - // parse the module configuration and display everything - // even unused resources/data sources which may be confusing + if re.Type == ResourceTypeResource || re.Type == ResourceTypeData { - // nm, tempNmo := parseModule(rid[0], fname, id, rdata) + pid := parent - // for _, i := range tempNmo { - // nmo = append(nmo, i) - // nodeMap[i] = nm[i] - // } - case "var": - nm := parseVariable(id, fname, id, rdata) + if nodeMap[parent].Data.Type == ResourceTypeFile { + pid = strings.TrimSuffix(pid, nodeMap[parent].Data.Label) + pid = strings.TrimSuffix(pid, ".") + //qfmt.Printf("%v\n", pid) + } - for k, v := range nm { - nmo = append(nmo, k) - nodeMap[k] = v - } - case "output": - nm := parseOutput(fname, id) + mid := fmt.Sprintf("%v.%v", pid, re.ResourceType) + mid = strings.TrimPrefix(mid, fmt.Sprintf("%v.", base)) + mid = strings.TrimPrefix(mid, ".") + mid = strings.TrimSuffix(mid, ".") - for k, v := range nm { - nmo = append(nmo, k) - nodeMap[k] = v - } - case "data": - nm, tempNmo := parseData(rid[1], rid[1], fname, id, rdata) + l := strings.Split(mid, ".") + label := l[len(l)-1] - for _, i := range tempNmo { - nmo = append(nmo, i) - nodeMap[i] = nm[i] - } - default: - nm, tempNmo := parseResource(rid[0], rid[0], fname, id, rdata) + midParent := parent - for _, i := range tempNmo { - nmo = append(nmo, i) - nodeMap[i] = nm[i] - } + if midParent == mid { + midParent = nodeMap[midParent].Data.Parent } - } - - } - // Go through all module calls, add module resources - planned := plan.PlannedValues.RootModule - for _, module := range planned.ChildModules { - fname := moduleMap[module.Address] - - // Append resource name - nmo = append(nmo, module.Address) - nodeMap[module.Address] = Node{ - Data: NodeData{ - ID: module.Address, - Label: strings.TrimPrefix(module.Address, "module."), - Type: "module", - Parent: fname, - }, - Classes: "module", - } - - for _, mr := range module.Resources { - resourceNameSuffix := "name" + if nodeMap[midParent].Data.Type == ResourceTypeFile { + mid = fmt.Sprintf("%s {%s}", mid, nodeMap[parent].Data.Label) + } - mid := fmt.Sprintf("%s.%s", module.Address, mr.Type) + //fmt.Printf(midParent + " - " + mid + "\n") // Append resource type nmo = append(nmo, mid) nodeMap[mid] = Node{ Data: NodeData{ ID: mid, - Label: mr.Type, - Type: "resource", - Parent: module.Address, - ParentColor: getResourceColor(module.Address), + Label: label, + Type: re.Type, + Parent: midParent, + ParentColor: getResourceColor(nodeMap[parent].Data.Type), }, - Classes: "resource-type", + Classes: fmt.Sprintf("%s-type", re.Type), } - mrChange := string(ActionNoop) - if _, ok := nodeMap[mr.Address]; ok { - mrChange = string(nodeMap[mr.Address].Data.Change) - - // Delete old entry, for some reason - // delete(nodeMap, mr.Address) - // } else { - } + mrChange := string(re.ChangeAction) // Append resource name - nmo = append(nmo, mr.Address) - nodeMap[mr.Address] = Node{ + nmo = append(nmo, id) + nodeMap[id] = Node{ Data: NodeData{ - ID: mr.Address, - Label: mr.Name, - Type: getPrimitiveType(mr.Type), + ID: id, + Label: re.Name, + Type: re.Type, Parent: mid, - ParentColor: getResourceColor(module.Address), + ParentColor: getResourceColor(nodeMap[parent].Data.Type), Change: mrChange, }, - Classes: fmt.Sprintf("resource-%s %s", resourceNameSuffix, mrChange), + Classes: fmt.Sprintf("%s-name %s", re.Type, mrChange), } - } - } + //fmt.Printf(id + " - " + mid + "\n") - // Get module outputs - config := plan.Config.RootModule - // for mName, mValue := range config.ModuleCalls { - // if mValue.Module != nil { - // mid := fmt.Sprintf("module.%s", mName) - // for oName, _ := range mValue.Module.Outputs { - // oid := fmt.Sprintf("module.%s.%s", mName, oName) - - // nm := parseOutput(oid, mid, oid) - - // for k, v := range nm { - // nmo = append(nmo, k) - // nodeMap[k] = v - // } - // } - // } - // } - - // Check for locals - for _, v := range config.Outputs { - if v.Expression != nil { - for _, dependsOnR := range v.Expression.References { - if strings.HasPrefix(dependsOnR, "local.") { - // Append local variable - nmo = append(nmo, dependsOnR) - nodeMap[dependsOnR] = Node{ - Data: NodeData{ - ID: dependsOnR, - Label: strings.TrimPrefix(dependsOnR, "local."), - Type: "locals", - Parent: basePath, - }, - Classes: "locals", - } - } + nmo = append(nmo, r.addNodes(base, id, nodeMap, re.Children)...) + + } else if re.Type == ResourceTypeFile { + fid := id + if parent != base { + fid = fmt.Sprintf("%s.%s", parent, fid) } - } - } - for _, r := range config.Resources { - // fmt.Printf("%+v - %+v\n", oName, oValue) - for _, reValues := range r.Expressions { - for _, dependsOnR := range reValues.References { - if strings.HasPrefix(dependsOnR, "local.") { - // Append local variable - nmo = append(nmo, dependsOnR) - nodeMap[dependsOnR] = Node{ - Data: NodeData{ - ID: dependsOnR, - Label: strings.TrimPrefix(dependsOnR, "local."), - Type: "locals", - Parent: basePath, - }, - Classes: "locals", - } - } + //fmt.Printf("%v\n", fid) + nmo = append(nmo, fid) + nodeMap[fid] = Node{ + Data: NodeData{ + ID: fid, + Label: id, + Type: re.Type, + Parent: parent, + ParentColor: getResourceColor(nodeMap[parent].Data.Type), + }, + + Classes: getResourceClass(re.Type), + } + nmo = append(nmo, r.addNodes(base, fid, nodeMap, re.Children)...) + } else { + + pid := parent + + if nodeMap[parent].Data.Type == ResourceTypeFile { + pid = strings.TrimSuffix(pid, nodeMap[parent].Data.Label) + pid = strings.TrimSuffix(pid, ".") + } + + ls := strings.Split(id, ".") + label := ls[len(ls)-1] + + //fmt.Printf("%v - %v\n", id, re.Type) + + nmo = append(nmo, id) + nodeMap[id] = Node{ + Data: NodeData{ + ID: id, + Label: label, + Type: re.Type, + Parent: parent, + ParentColor: getResourceColor(nodeMap[pid].Data.Type), + }, + + Classes: getResourceClass(re.Type), } + + nmo = append(nmo, r.addNodes(base, id, nodeMap, re.Children)...) + } + } + return nmo + +} + +// GenerateNodes - +func (r *rover) GenerateNodes() []Node { + + nodeMap := make(map[string]Node) + nmo := []string{} + + basePath := strings.ReplaceAll(r.Map.Path, "./", "") + + nmo = append(nmo, basePath) + nodeMap[basePath] = Node{ + Data: NodeData{ + ID: basePath, + Label: basePath, + Type: "basename", + }, + Classes: "basename", + } + + nmo = append(nmo, r.addNodes(basePath, basePath, nodeMap, r.Map.Root)...) + nodes := make([]Node, 0, len(nodeMap)) exists := make(map[string]bool) @@ -297,159 +245,100 @@ func GenerateNodes(plan *tfjson.Plan, mapDM *Map) []Node { return nodes } -// GenerateEdges - -func GenerateEdges(plan *tfjson.Plan) []Edge { - edgeMap := make(map[string]Edge) +func (r *rover) addEdges(base string, parent string, edgeMap map[string]Edge, resources map[string]*Resource) []string { emo := []string{} - - config := plan.Config.RootModule - - // Loop through outputs - for oName, oValue := range config.Outputs { - // fmt.Printf("%+v - %+v\n", oName, oValue) - if oValue.Expression != nil { - oid := fmt.Sprintf("output.%s", oName) - for _, dependsOnR := range oValue.Expression.References { - // ignore each. - if !strings.HasPrefix(dependsOnR, "each.") { - if strings.HasPrefix(dependsOnR, "module.") { - id := strings.Split(dependsOnR, ".") - dependsOnR = fmt.Sprintf("%s.%s", id[0], id[1]) - } - id := fmt.Sprintf("%s->%s", oid, dependsOnR) - - targetType := RESOURCE_COLOR - - if strings.HasPrefix(dependsOnR, "output.") { - targetType = OUTPUT_COLOR - } else if strings.HasPrefix(dependsOnR, "var.") { - targetType = VARIABLE_COLOR - } else if strings.HasPrefix(dependsOnR, "module.") { - targetType = MODULE_COLOR - } else if strings.HasPrefix(dependsOnR, "data.") { - targetType = DATA_COLOR - } else if strings.HasPrefix(dependsOnR, "local.") { - targetType = LOCAL_COLOR - } - - emo = append(emo, id) - edgeMap[id] = Edge{ - Data: EdgeData{ - ID: id, - Source: oid, - Target: dependsOnR, - Gradient: fmt.Sprintf("%s %s", OUTPUT_COLOR, targetType), - }, - Classes: "edge", - } - } + for id, re := range resources { + matchBrackets := regexp.MustCompile(`\[[^\[\]]*\]`) + + configId := matchBrackets.ReplaceAllString(id, "") + + var expressions map[string]*tfjson.Expression + + if r.RSO.Configs[configId] != nil { + // If Resource + if r.RSO.Configs[configId].ResourceConfig != nil { + expressions = r.RSO.Configs[configId].ResourceConfig.Expressions + // If Module + } else if r.RSO.Configs[configId].ModuleConfig != nil { + expressions = r.RSO.Configs[configId].ModuleConfig.Expressions + // If Output + } else if r.RSO.Configs[configId].OutputConfig != nil { + expressions = make(map[string]*tfjson.Expression) + expressions["output"] = r.RSO.Configs[configId].OutputConfig.Expression } } - } - - // Loop through resources - for _, resource := range config.Resources { // fmt.Printf("%+v - %+v\n", oName, oValue) - for _, reValues := range resource.Expressions { + for _, reValues := range expressions { for _, dependsOnR := range reValues.References { if !strings.HasPrefix(dependsOnR, "each.") { - if strings.HasPrefix(dependsOnR, "module.") { + + /*if strings.HasPrefix(dependsOnR, "module.") { id := strings.Split(dependsOnR, ".") dependsOnR = fmt.Sprintf("%s.%s", id[0], id[1]) + }*/ + + sourceColor := getResourceColor(re.Type) + targetId := dependsOnR + if parent != "" { + targetId = fmt.Sprintf("%s.%s", parent, dependsOnR) } - sourceType := RESOURCE_COLOR - targetType := RESOURCE_COLOR - - if strings.HasPrefix(resource.Address, "output.") { - sourceType = OUTPUT_COLOR - } else if strings.HasPrefix(resource.Address, "var.") { - sourceType = VARIABLE_COLOR - } else if strings.HasPrefix(resource.Address, "module.") { - sourceType = MODULE_COLOR - } else if strings.HasPrefix(resource.Address, "data.") { - sourceType = DATA_COLOR - } - if strings.HasPrefix(dependsOnR, "output.") { - targetType = OUTPUT_COLOR - } else if strings.HasPrefix(dependsOnR, "var.") { - targetType = VARIABLE_COLOR + targetColor := RESOURCE_COLOR + + if strings.Contains(dependsOnR, "output.") { + targetColor = OUTPUT_COLOR + } else if strings.Contains(dependsOnR, "var.") { + targetColor = VARIABLE_COLOR } else if strings.HasPrefix(dependsOnR, "module.") { - targetType = MODULE_COLOR - } else if strings.HasPrefix(dependsOnR, "data.") { - targetType = DATA_COLOR + targetColor = MODULE_COLOR + } else if strings.Contains(dependsOnR, "data.") { + targetColor = DATA_COLOR + } else if strings.Contains(dependsOnR, "local.") { + targetColor = LOCAL_COLOR } // For Terraform 1.0, resource references point to specific resource attributes // Skip if the target is a resource and reference points to an attribute - if targetType == RESOURCE_COLOR && len(strings.Split(dependsOnR, ".")) != 2 { + if targetColor == RESOURCE_COLOR && len(strings.Split(dependsOnR, ".")) != 2 { continue - } else if targetType == DATA_COLOR && len(strings.Split(dependsOnR, ".")) != 3 { + } else if targetColor == DATA_COLOR && len(strings.Split(dependsOnR, ".")) != 3 { continue } - id := fmt.Sprintf("%s->%s", resource.Address, dependsOnR) - emo = append(emo, id) - edgeMap[id] = Edge{ + edgeId := fmt.Sprintf("%s->%s", id, targetId) + emo = append(emo, edgeId) + edgeMap[edgeId] = Edge{ Data: EdgeData{ - ID: id, - Source: resource.Address, - Target: dependsOnR, - Gradient: fmt.Sprintf("%s %s", sourceType, targetType), + ID: edgeId, + Source: id, + Target: targetId, + Gradient: fmt.Sprintf("%s %s", sourceColor, targetColor), }, Classes: "edge", } } } } + + // Ignore files in edge generation + if re.Type == ResourceTypeFile { + emo = append(emo, r.addEdges(base, parent, edgeMap, re.Children)...) + } else { + emo = append(emo, r.addEdges(base, id, edgeMap, re.Children)...) + } } - // Loop through modules - for mid, module := range config.ModuleCalls { - // fmt.Printf("%+v - %+v\n", oName, oValue) - for _, mExpressions := range module.Expressions { - for _, dependsOnR := range mExpressions.References { - if !strings.HasPrefix(dependsOnR, "each.") { - if strings.HasPrefix(dependsOnR, "module.") { - id := strings.Split(dependsOnR, ".") - dependsOnR = fmt.Sprintf("%s.%s", id[0], id[1]) - } - sourceType := MODULE_COLOR - targetType := RESOURCE_COLOR + return emo +} - if strings.HasPrefix(dependsOnR, "output.") { - targetType = OUTPUT_COLOR - } else if strings.HasPrefix(dependsOnR, "var.") { - targetType = VARIABLE_COLOR - } else if strings.HasPrefix(dependsOnR, "module.") { - targetType = MODULE_COLOR - } else if strings.HasPrefix(dependsOnR, "data.") { - targetType = DATA_COLOR - } +// GenerateEdges - +func (r *rover) GenerateEdges() []Edge { + edgeMap := make(map[string]Edge) + emo := []string{} - // For Terraform 1.0, resource references point to specific resource attributes - // Skip if the target is a resource and reference points to an attribute - if targetType == RESOURCE_COLOR && len(strings.Split(dependsOnR, ".")) != 2 { - continue - } else if targetType == DATA_COLOR && len(strings.Split(dependsOnR, ".")) != 3 { - continue - } + //config := r.Plan.Config.RootModule - id := fmt.Sprintf("%s->%s", fmt.Sprintf("module.%s", mid), dependsOnR) - emo = append(emo, id) - edgeMap[id] = Edge{ - Data: EdgeData{ - ID: id, - Source: fmt.Sprintf("module.%s", mid), - Target: dependsOnR, - Gradient: fmt.Sprintf("%s %s", sourceType, targetType), - }, - Classes: "edge", - } - } - } - } - } + emo = append(emo, r.addEdges("", "", edgeMap, r.Map.Root)...) edges := make([]Edge, 0, len(edgeMap)) exists := make(map[string]bool) @@ -464,20 +353,20 @@ func GenerateEdges(plan *tfjson.Plan) []Edge { return edges } -func getResourceColor(resourceID string) string { - rID := strings.Split(resourceID, ".") - switch rID[0] { - case "module": - return MODULE_BG_COLOR - case "data": +func getResourceColor(t ResourceType) string { + switch t { + case ResourceTypeModule: + return MODULE_COLOR + case ResourceTypeData: return DATA_COLOR - case "output": + case ResourceTypeOutput: return OUTPUT_COLOR - case "var": + case ResourceTypeVariable: return VARIABLE_COLOR + case ResourceTypeLocal: + return LOCAL_COLOR } - // return RESOURCE_COLOR - return FNAME_BG_COLOR + return RESOURCE_COLOR } func getPrimitiveType(resourceType string) string { @@ -493,190 +382,21 @@ func getPrimitiveType(resourceType string) string { return "resource" } -func getResourceClass(resourceType string) string { +func getResourceClass(resourceType ResourceType) string { switch resourceType { - case - "data", - "output", - "var", - "local": - return resourceType - } - return "resource" -} - -func parseResource(rid string, rtype string, parentID string, id string, rdata *Resource) (map[string]Node, []string) { - nodeMap := make(map[string]Node) - nmo := []string{} - - resourceNameSuffix := "name" - if rdata.Children != nil { - resourceNameSuffix = "parent" - } - - // Append resource type - nmo = append(nmo, rid) - nodeMap[rid] = Node{ - Data: NodeData{ - ID: rid, - Label: rtype, - Type: "data", - Parent: parentID, - ParentColor: getResourceColor(parentID), - }, - Classes: "resource-type", - } - - // Append resource name - nmo = append(nmo, id) - nodeMap[id] = Node{ - Data: NodeData{ - ID: id, - Label: rdata.Name, - Type: string(rdata.Type), - Parent: rid, - ParentColor: getResourceColor(parentID), - Change: string(rdata.ChangeAction), - }, - Classes: fmt.Sprintf("resource-%s %s", resourceNameSuffix, string(rdata.ChangeAction)), - } - - for cid, crdata := range rdata.Children { - nmo = append(nmo, cid) - nodeMap[cid] = Node{ - Data: NodeData{ - ID: cid, - Label: crdata.Name, - Type: string(crdata.Type), - Parent: id, - ParentColor: getResourceColor(parentID), - Change: string(crdata.ChangeAction), - }, - Classes: fmt.Sprintf("resource-name %s", string(crdata.ChangeAction)), - } - } - - return nodeMap, nmo -} - -func parseData(rid string, rtype string, parentID string, id string, rdata *Resource) (map[string]Node, []string) { - nodeMap := make(map[string]Node) - nmo := []string{} - resourceNameSuffix := "name" - if rdata.Children != nil { - resourceNameSuffix = "parent" + case ResourceTypeData: + return "data-type" + case ResourceTypeOutput: + return "output" + case ResourceTypeVariable: + return "variable" + case ResourceTypeFile: + return "fname" + case ResourceTypeLocal: + return "locals" + case ResourceTypeModule: + return "module" } - - // Append resource type - nmo = append(nmo, rid) - nodeMap[rid] = Node{ - Data: NodeData{ - ID: rid, - Label: rtype, - Type: "data", - Parent: parentID, - ParentColor: getResourceColor(parentID), - }, - Classes: "data-type", - } - - // Append resource name - nmo = append(nmo, id) - nodeMap[id] = Node{ - Data: NodeData{ - ID: id, - Label: rdata.Name, - Type: "data", - Parent: rid, - ParentColor: getResourceColor(parentID), - Change: string(rdata.ChangeAction), - }, - Classes: fmt.Sprintf("data-%s %s", resourceNameSuffix, string(rdata.ChangeAction)), - } - - for cid, crdata := range rdata.Children { - nmo = append(nmo, cid) - nodeMap[cid] = Node{ - Data: NodeData{ - ID: cid, - Label: crdata.Name, - Type: "data", - Parent: id, - ParentColor: getResourceColor(parentID), - }, - Classes: fmt.Sprintf("data-name %s", string(rdata.ChangeAction)), - } - } - - return nodeMap, nmo -} - -func parseVariable(rid string, parentID string, id string, rdata *Resource) map[string]Node { - nodeMap := make(map[string]Node) - - // Append resource type - nodeMap[rid] = Node{ - Data: NodeData{ - ID: id, - Label: strings.TrimPrefix(id, "var."), - Type: "variable", - Parent: parentID, - }, - Classes: "variable", - } - - return nodeMap -} - -func parseOutput(parentID string, id string) map[string]Node { - nodeMap := make(map[string]Node) - - label := strings.TrimPrefix(id, fmt.Sprintf("%s.", parentID)) - label = strings.TrimPrefix(label, "output.") - - // Append resource type - nodeMap[id] = Node{ - Data: NodeData{ - ID: id, - Label: label, - Type: "output", - Parent: parentID, - }, - Classes: "output", - } - - return nodeMap -} - -func parseModule(rtype string, basePath string, mID string, rdata *Resource) (map[string]Node, []string) { - nodeMap := make(map[string]Node) - nmo := []string{} - - // Append resource name - nmo = append(nmo, mID) - nodeMap[mID] = Node{ - Data: NodeData{ - ID: mID, - Label: rdata.Name, - Type: "module", - Parent: basePath, - }, - Classes: "module", - } - - for id, crdata := range rdata.Children { - cID := strings.TrimRight(id, fmt.Sprintf(".%s", crdata.Name)) - - nm, tempNmo := parseResource(cID, crdata.ResourceType, mID, id, crdata) - - for _, i := range tempNmo { - nmo = append(nmo, i) - nodeMap[i] = nm[i] - } - } - - // fmt.Printf("%+v\n", nodeMap) - - return nodeMap, nmo + return "resource-type" } diff --git a/main.go b/main.go index a3e6e9e..ccf5957 100644 --- a/main.go +++ b/main.go @@ -1,14 +1,12 @@ package main import ( - "bytes" "context" "embed" "encoding/json" "errors" "flag" "fmt" - "io" "io/fs" "io/ioutil" "log" @@ -18,147 +16,398 @@ import ( "strings" "time" + tfe "github.com/hashicorp/go-tfe" "github.com/hashicorp/terraform-config-inspect/tfconfig" "github.com/hashicorp/terraform-exec/tfexec" tfjson "github.com/hashicorp/terraform-json" ) +const VERSION = "0.3.3" + +var TRUE = true + //go:embed ui/dist var frontend embed.FS -func main() { - log.Println("Starting Rover...") +type arrayFlags []string + +func (i arrayFlags) String() string { + var ts []string + for _, el := range i { + ts = append(ts, el) + } + return strings.Join(ts, ",") +} + +func (i *arrayFlags) Set(value string) error { + *i = append(*i, value) + return nil +} + +type rover struct { + Name string + WorkingDir string + TfPath string + TfVarsFiles []string + TfVars []string + TfBackendConfigs []string + PlanPath string + PlanJSONPath string + WorkspaceName string + TFCOrgName string + TFCWorkspaceName string + ShowSensitive bool + GenImage bool + TFCNewRun bool + Plan *tfjson.Plan + RSO *ResourcesOverview + Map *Map + Graph Graph +} - var tfPath, workingDir, name string +func main() { + var tfPath, workingDir, name, zipFileName, ipPort, planPath, planJSONPath, workspaceName, tfcOrgName, tfcWorkspaceName string + var standalone, genImage, showSensitive, getVersion, tfcNewRun bool + var tfVarsFiles, tfVars, tfBackendConfigs arrayFlags flag.StringVar(&tfPath, "tfPath", "/usr/local/bin/terraform", "Path to Terraform binary") flag.StringVar(&workingDir, "workingDir", ".", "Path to Terraform configuration") flag.StringVar(&name, "name", "rover", "Configuration name") + flag.StringVar(&zipFileName, "zipFileName", "rover", "Standalone zip file name") + flag.StringVar(&ipPort, "ipPort", "0.0.0.0:9000", "IP and port for Rover server") + flag.StringVar(&planPath, "planPath", "", "Plan file path") + flag.StringVar(&planJSONPath, "planJSONPath", "", "Plan JSON file path") + flag.StringVar(&workspaceName, "workspaceName", "", "Workspace name") + flag.StringVar(&tfcOrgName, "tfcOrg", "", "Terraform Cloud Organization name") + flag.StringVar(&tfcWorkspaceName, "tfcWorkspace", "", "Terraform Cloud Workspace name") + flag.BoolVar(&standalone, "standalone", false, "Generate standalone HTML files") + flag.BoolVar(&showSensitive, "showSensitive", false, "Display sensitive values") + flag.BoolVar(&tfcNewRun, "tfcNewRun", false, "Create new Terraform Cloud run") + flag.BoolVar(&getVersion, "version", false, "Get current version") + flag.BoolVar(&genImage, "genImage", false, "Generate graph image") + flag.Var(&tfVarsFiles, "tfVarsFile", "Path to *.tfvars files") + flag.Var(&tfVars, "tfVar", "Terraform variable (key=value)") + flag.Var(&tfBackendConfigs, "tfBackendConfig", "Path to *.tfbackend files") flag.Parse() + if getVersion { + fmt.Printf("Rover v%s\n", VERSION) + return + } + + log.Println("Starting Rover...") + + parsedTfVarsFiles := strings.Split(tfVarsFiles.String(), ",") + parsedTfVars := strings.Split(tfVars.String(), ",") + parsedTfBackendConfigs := strings.Split(tfBackendConfigs.String(), ",") + + path, err := os.Getwd() + if err != nil { + log.Fatal(errors.New("Unable to get current working directory")) + } + + if planPath != "" { + if !strings.HasPrefix(planPath, "/") { + planPath = filepath.Join(path, planPath) + } + } + + if planJSONPath != "" { + if !strings.HasPrefix(planJSONPath, "/") { + planJSONPath = filepath.Join(path, planJSONPath) + } + } + + r := rover{ + Name: name, + WorkingDir: workingDir, + TfPath: tfPath, + PlanPath: planPath, + PlanJSONPath: planJSONPath, + ShowSensitive: showSensitive, + GenImage: genImage, + TfVarsFiles: parsedTfVarsFiles, + TfVars: parsedTfVars, + TfBackendConfigs: parsedTfBackendConfigs, + WorkspaceName: workspaceName, + TFCOrgName: tfcOrgName, + TFCWorkspaceName: tfcWorkspaceName, + TFCNewRun: tfcNewRun, + } + // Generate assets - plan, rso, mapDM, graph := generateAssets(name, workingDir, tfPath) + err = r.generateAssets() + if err != nil { + log.Fatal(err.Error()) + } + + log.Println("Done generating assets.") // Save to file (debug) - // saveJSONToFile(name, "plan", "output", plan) - // saveJSONToFile(name, "rso", "output", rso) - // saveJSONToFile(name, "map", "output", mapDM) - // saveJSONToFile(name, "graph", "output", graph) + // saveJSONToFile(name, "plan", "output", r.Plan) + // saveJSONToFile(name, "rso", "output", r.Plan) + // saveJSONToFile(name, "map", "output", r.Map) + // saveJSONToFile(name, "graph", "output", r.Graph) // Embed frontend - stripped, err := fs.Sub(frontend, "ui/dist") + fe, err := fs.Sub(frontend, "ui/dist") if err != nil { log.Fatalln(err) } - frontendFS := http.FileServer(http.FS(stripped)) + frontendFS := http.FileServer(http.FS(fe)) - http.Handle("/", frontendFS) - http.HandleFunc("/api/", func(w http.ResponseWriter, r *http.Request) { - fileType := strings.Replace(r.URL.Path, "/api/", "", 1) - - var j []byte - var err error - - enableCors(&w) - - switch fileType { - case "plan": - j, err = json.Marshal(plan) - if err != nil { - io.WriteString(w, fmt.Sprintf("Error producing JSON: %s\n", err)) - } - case "rso": - j, err = json.Marshal(rso) - if err != nil { - io.WriteString(w, fmt.Sprintf("Error producing JSON: %s\n", err)) - } - case "map": - j, err = json.Marshal(mapDM) - if err != nil { - io.WriteString(w, fmt.Sprintf("Error producing JSON: %s\n", err)) - } - case "graph": - j, err = json.Marshal(graph) - if err != nil { - io.WriteString(w, fmt.Sprintf("Error producing JSON: %s\n", err)) - } - default: - io.WriteString(w, "Please enter a valid file type: plan, rso, map, graph\n") + if standalone { + err = r.generateZip(fe, fmt.Sprintf("%s.zip", zipFileName)) + if err != nil { + log.Fatalln(err) } - w.Header().Set("Content-Type", "application/json") - io.Copy(w, bytes.NewReader(j)) - }) - - log.Println("Done generating assets.") - log.Println("Rover is running on localhost:9000") + log.Printf("Generated zip file: %s.zip\n", zipFileName) + return + } - err = http.ListenAndServe(":9000", nil) + err = r.startServer(ipPort, frontendFS) if err != nil { - log.Fatalf("Could not start server: %s\n", err.Error()) + // http.Serve() returns error on shutdown + if genImage { + log.Println("Server shut down.") + } else { + log.Fatalf("Could not start server: %s\n", err.Error()) + } } } -func generateAssets(name string, workingDir string, tfPath string) (*tfjson.Plan, *ResourcesOverview, *Map, Graph) { - // Generate Plan - plan, err := generatePlan(name, workingDir, tfPath) +func (r *rover) generateAssets() error { + // Get Plan + err := r.getPlan() if err != nil { - log.Printf(fmt.Sprintf("Unable to parse Plan: %s", err)) - os.Exit(2) + return errors.New(fmt.Sprintf("Unable to parse Plan: %s", err)) } - // Parse Configuration - log.Println("Parsing configuration...") - // Get current directory file - config, _ := tfconfig.LoadModule(workingDir) - if config.Diagnostics.HasErrors() { - os.Exit(1) + // Generate RSO, Map, Graph + err = r.GenerateResourceOverview() + if err != nil { + return err } - // Generate RSO - log.Println("Generating resource overview...") - rso := GenerateResourceOverview(plan) - - // Generate Map - log.Println("Generating resource map...") - mapDM := GenerateMap(config, rso) + err = r.GenerateMap() + if err != nil { + return err + } - // Generate Graph - log.Println("Generating resource graph...") - graph := GenerateGraph(plan, mapDM) + err = r.GenerateGraph() + if err != nil { + return err + } - return plan, rso, mapDM, graph + return nil } -func generatePlan(name string, workingDir string, tfPath string) (*tfjson.Plan, error) { +func (r *rover) getPlan() error { tmpDir, err := ioutil.TempDir("", "rover") if err != nil { - return nil, err + return err } defer os.RemoveAll(tmpDir) - tf, err := tfexec.NewTerraform(workingDir, tfPath) + tf, err := tfexec.NewTerraform(r.WorkingDir, r.TfPath) if err != nil { - return nil, err + return err + } + + // If user provided path to plan file + if r.PlanPath != "" { + log.Println("Using provided plan...") + r.Plan, err = tf.ShowPlanFile(context.Background(), r.PlanPath) + if err != nil { + return errors.New(fmt.Sprintf("Unable to read Plan (%s): %s", r.PlanPath, err)) + } + return nil + } + + // If user provided path to plan JSON file + if r.PlanJSONPath != "" { + log.Println("Using provided JSON plan...") + + planJsonFile, err := os.Open(r.PlanJSONPath) + if err != nil { + return errors.New(fmt.Sprintf("Unable to read Plan (%s): %s", r.PlanJSONPath, err)) + } + defer planJsonFile.Close() + + planJson, err := ioutil.ReadAll(planJsonFile) + if err != nil { + return errors.New(fmt.Sprintf("Unable to read Plan (%s): %s", r.PlanJSONPath, err)) + } + + if err := json.Unmarshal(planJson, &r.Plan); err != nil { + return errors.New(fmt.Sprintf("Unable to read Plan (%s): %s", r.PlanJSONPath, err)) + } + + return nil + } + + // If user specified TFC workspace + if r.TFCWorkspaceName != "" { + tfcToken := os.Getenv("TFC_TOKEN") + + if tfcToken == "" { + return errors.New("TFC_TOKEN environment variable not set") + } + + if r.TFCOrgName == "" { + return errors.New("Must specify Terraform Cloud organization to retrieve plan from Terraform Cloud") + } + + config := &tfe.Config{ + Token: tfcToken, + } + + client, err := tfe.NewClient(config) + if err != nil { + return errors.New(fmt.Sprintf("Unable to connect to Terraform Cloud. %s", err)) + } + + // Get TFC Workspace + ws, err := client.Workspaces.Read(context.Background(), r.TFCOrgName, r.TFCWorkspaceName) + if err != nil { + return errors.New(fmt.Sprintf("Unable to list workspace %s in %s organization. %s", r.TFCWorkspaceName, r.TFCOrgName, err)) + } + + // Retrieve all runs from specified TFC workspace + runs, err := client.Runs.List(context.Background(), ws.ID, tfe.RunListOptions{}) + if err != nil { + return errors.New(fmt.Sprintf("Unable to retrieve plan from %s in %s organization. %s", r.TFCWorkspaceName, r.TFCOrgName, err)) + } + + run := runs.Items[0] + + // Get most recent plan item + planID := runs.Items[0].Plan.ID + + // Run hasn't been applied or discarded, therefore is still "actionable" by user + runIsActionable := run.StatusTimestamps.AppliedAt.IsZero() && run.StatusTimestamps.DiscardedAt.IsZero() + + if runIsActionable && r.TFCNewRun { + return errors.New(fmt.Sprintf("Did not create new run. %s in %s in %s is still active", run.ID, r.TFCWorkspaceName, r.TFCOrgName)) + } + + // If latest run is not actionable, rover will create new run + if r.TFCNewRun { + // Create new run in specified TFC workspace + newRun, err := client.Runs.Create(context.Background(), tfe.RunCreateOptions{ + Refresh: &TRUE, + Workspace: ws, + }) + if err != nil { + return errors.New(fmt.Sprintf("Unable to generate new run from %s in %s organization. %s", r.TFCWorkspaceName, r.TFCOrgName, err)) + } + + run = newRun + + log.Printf("Starting new Terraform Cloud run in %s workspace...", r.TFCWorkspaceName) + + // Wait maximum of 5 mins + for i := 0; i < 30; i++ { + run, err := client.Runs.Read(context.Background(), newRun.ID) + if err != nil { + return errors.New(fmt.Sprintf("Unable to retrieve run from %s in %s organization. %s", r.TFCWorkspaceName, r.TFCOrgName, err)) + } + + if run.Plan != nil { + planID = run.Plan.ID + // Add 20 second timeout so plan JSON becomes available + time.Sleep(20 * time.Second) + log.Printf("Run %s to completed!", newRun.ID) + break + } + + time.Sleep(10 * time.Second) + log.Printf("Waiting for run %s to complete (%ds)...", newRun.ID, 10*(i+1)) + } + + if planID == "" { + return errors.New(fmt.Sprintf("Timeout waiting for plan to complete in %s in %s organization. %s", r.TFCWorkspaceName, r.TFCOrgName, err)) + } + } + + // Get most recent plan file + planBytes, err := client.Plans.JSONOutput(context.Background(), planID) + if err != nil { + return errors.New(fmt.Sprintf("Unable to retrieve plan from %s in %s organization. %s", r.TFCWorkspaceName, r.TFCOrgName, err)) + } + // If empty plan file + if string(planBytes) == "" { + return errors.New(fmt.Sprintf("Empty plan. Check run %s in %s in %s is not pending", run.ID, r.TFCWorkspaceName, r.TFCOrgName)) + } + + if err := json.Unmarshal(planBytes, &r.Plan); err != nil { + return errors.New(fmt.Sprintf("Unable to parse plan (ID: %s) from %s in %s organization.: %s", planID, r.TFCWorkspaceName, r.TFCOrgName, err)) + } + + return nil } log.Println("Initializing Terraform...") - // err = tf.Init(context.Background(), tfexec.Upgrade(true), tfexec.LockTimeout("60s")) - err = tf.Init(context.Background(), tfexec.Upgrade(true)) + + // Create TF Init options + var tfInitOptions []tfexec.InitOption + tfInitOptions = append(tfInitOptions, tfexec.Upgrade(true)) + + // Add *.tfbackend files + for _, tfBackendConfig := range r.TfBackendConfigs { + if tfBackendConfig != "" { + tfInitOptions = append(tfInitOptions, tfexec.BackendConfig(tfBackendConfig)) + } + } + + // tfInitOptions = append(tfInitOptions, tfexec.LockTimeout("60s")) + + err = tf.Init(context.Background(), tfInitOptions...) if err != nil { - return nil, err + return errors.New(fmt.Sprintf("Unable to initialize Terraform Plan: %s", err)) + } + + if r.WorkspaceName != "" { + log.Printf("Running in %s workspace...", r.WorkspaceName) + err = tf.WorkspaceSelect(context.Background(), r.WorkspaceName) + if err != nil { + return errors.New(fmt.Sprintf("Unable to select workspace (%s): %s", r.WorkspaceName, err)) + } } log.Println("Generating plan...") planPath := fmt.Sprintf("%s/%s-%v", tmpDir, "roverplan", time.Now().Unix()) - _, err = tf.Plan(context.Background(), tfexec.Out(planPath)) + + // Create TF Plan options + var tfPlanOptions []tfexec.PlanOption + tfPlanOptions = append(tfPlanOptions, tfexec.Out(planPath)) + + // Add *.tfvars files + for _, tfVarsFile := range r.TfVarsFiles { + if tfVarsFile != "" { + tfPlanOptions = append(tfPlanOptions, tfexec.VarFile(tfVarsFile)) + } + } + + // Add Terraform variables + for _, tfVar := range r.TfVars { + if tfVar != "" { + tfPlanOptions = append(tfPlanOptions, tfexec.Var(tfVar)) + } + } + + _, err = tf.Plan(context.Background(), tfPlanOptions...) if err != nil { - return nil, errors.New(fmt.Sprintf("Unable to run Plan: %s", err)) + return errors.New(fmt.Sprintf("Unable to run Plan: %s", err)) } - plan, err := tf.ShowPlanFile(context.Background(), planPath) + r.Plan, err = tf.ShowPlanFile(context.Background(), planPath) + if err != nil { + return errors.New(fmt.Sprintf("Unable to read Plan: %s", err)) + } - return plan, err + return nil } func showJSON(g interface{}) { @@ -194,21 +443,17 @@ func saveJSONToFile(prefix string, fileType string, path string, j interface{}) } f, err := os.Create(fmt.Sprintf("%s/%s-%s.json", newpath, prefix, fileType)) - if err != nil { log.Fatal(err) } defer f.Close() - _, err2 := f.WriteString(string(b)) - - if err2 != nil { - log.Fatal(err2) + _, err = f.WriteString(string(b)) + if err != nil { + log.Fatal(err) } - // log.Printf("Saved to %s", fmt.Sprintf("%s/%s-%s.json", newpath, prefix, fileType)) - return fmt.Sprintf("%s/%s-%s.json", newpath, prefix, fileType) } diff --git a/map.go b/map.go index e5805af..3bb3ba0 100644 --- a/map.go +++ b/map.go @@ -2,21 +2,27 @@ package main import ( "fmt" + "log" + "path/filepath" + "regexp" "strings" "github.com/hashicorp/terraform-config-inspect/tfconfig" tfjson "github.com/hashicorp/terraform-json" ) -type ResourceType string type Action string +type ResourceType string const ( + ResourceTypeFile ResourceType = "file" + ResourceTypeLocal ResourceType = "locals" ResourceTypeVariable ResourceType = "variable" ResourceTypeOutput ResourceType = "output" ResourceTypeResource ResourceType = "resource" ResourceTypeData ResourceType = "data" ResourceTypeModule ResourceType = "module" + DefaultFileName string = "unknown file" ) const ( @@ -45,34 +51,22 @@ type Map struct { RequiredCore []string `json:"required_core,omitempty"` RequiredProviders map[string]*tfconfig.ProviderRequirement `json:"required_providers,omitempty"` // ProviderConfigs map[string]*tfconfig.ProviderConfig `json:"provider_configs,omitempty"` - Modules map[string]*tfconfig.ModuleCall `json:"modules,omitempty"` - - Files map[string]map[string]*Resource `json:"files,omitempty"` + Root map[string]*Resource `json:"root,omitempty"` } -// FileContent represents the content within each file -// type FileContent struct { -// Path string `json:"path"` -// Variables map[string]*Variable `json:"variables,omitempty"` -// Outputs map[string]*Output `json:"outputs,omitempty"` -// ManagedResources map[string]*Resource `json:"managed_resources,omitempty"` -// DataResources map[string]*Resource `json:"data_resources,omitempty"` -// ModuleCalls map[string]*ModuleCall `json:"module_calls,omitempty"` -// } - // Resource is a modified tfconfig.Resource type Resource struct { Type ResourceType `json:"type"` Name string `json:"name"` - Line int `json:"line,omitempty"` + Line *int `json:"line,omitempty"` Children map[string]*Resource `json:"children,omitempty"` // Resource ChangeAction Action `json:"change_action,omitempty"` // Variable and Output - Required bool `json:"required,omitempty"` - Sensitive bool `json:"sensitive,omitempty"` + Required *bool `json:"required,omitempty"` + Sensitive bool `json:"sensitive,omitempty"` // Provider and Data Provider string `json:"provider,omitempty"` ResourceType string `json:"resource_type,omitempty"` @@ -89,99 +83,114 @@ type ModuleCall struct { Line int `json:"line,omitempty"` } -// Generates Map - Overview of files and their resources -// Groups different resource types together -func GenerateMap(config *tfconfig.Module, rso *ResourcesOverview) *Map { - mapObj := &Map{ - Path: config.Path, - RequiredProviders: config.RequiredProviders, - RequiredCore: config.RequiredCore, - // ProviderConfigs: module.ProviderConfigs, - Modules: make(map[string]*tfconfig.ModuleCall), - } - - files := make(map[string]map[string]*Resource) +func (r *rover) GenerateModuleMap(parent *Resource, parentModule string) { - // Loop through each resource type and populate graph - for _, variable := range config.Variables { - // Populate with file if doesn't exist - if _, ok := files[variable.Pos.Filename]; !ok { - files[variable.Pos.Filename] = make(map[string]*Resource) - } + childIndex := regexp.MustCompile(`\[[^[\]]*\]$`) + matchBrackets := regexp.MustCompile(`\[[^\[\]]*\]`) - id := fmt.Sprintf("var.%s", variable.Name) + states := r.RSO.States + configs := r.RSO.Configs - files[variable.Pos.Filename][id] = &Resource{ - Type: ResourceTypeVariable, - Name: variable.Name, - Required: variable.Required, - Line: variable.Pos.Line, - } + prefix := parentModule + if parentModule != "" { + prefix = fmt.Sprintf("%s.", prefix) } - for _, output := range config.Outputs { - // Populate with file if doesn't exist - if _, ok := files[output.Pos.Filename]; !ok { - files[output.Pos.Filename] = make(map[string]*Resource) + parentConfig := matchBrackets.ReplaceAllString(parentModule, "") + parentConfigured := configs[parentConfig] != nil && configs[parentConfig].Module != nil + + // Add variables and outputs with line numbers and file names if configured + if parentConfigured && !states[parentModule].IsParent { + for oName, o := range configs[parentConfig].Module.Outputs { + fname := filepath.Base(o.Pos.Filename) + oid := fmt.Sprintf("%soutput.%s", prefix, oName) + out := &Resource{ + Type: ResourceTypeOutput, + Name: oName, + Sensitive: o.Sensitive, + Line: &o.Pos.Line, + } + r.AddFileIfNotExists(parent, parentModule, fname) + + parent.Children[fname].Children[oid] = out } - id := fmt.Sprintf("output.%s", output.Name) + for vName, v := range configs[parentConfig].Module.Variables { + fname := filepath.Base(v.Pos.Filename) + vid := fmt.Sprintf("%svar.%s", prefix, vName) + va := &Resource{ + Type: ResourceTypeVariable, + Name: vName, + Required: &v.Required, + Line: &v.Pos.Line, + } - oo := &Resource{ - Type: ResourceTypeOutput, - Name: output.Name, - Sensitive: output.Sensitive, - Line: output.Pos.Line, - } + r.AddFileIfNotExists(parent, parentModule, fname) - if _, ok := rso.Outputs[output.Name]; ok { - if rso.Outputs[output.Name].Change != nil { - if rso.Outputs[output.Name].Change.Actions != nil { - oo.ChangeAction = Action(string(rso.Outputs[output.Name].Change.Actions[0])) + parent.Children[fname].Children[vid] = va - if len(rso.Outputs[output.Name].Change.Actions) > 1 { - oo.ChangeAction = ActionReplace - } - } + } + // Add variables and Outputs if no configuration files + } else if configs[parentConfig] != nil && configs[parentConfig].ModuleConfig.Module != nil && !states[parentModule].IsParent { + for oName, o := range configs[parentConfig].ModuleConfig.Module.Outputs { + oid := fmt.Sprintf("%soutput.%s", prefix, oName) + out := &Resource{ + Type: ResourceTypeOutput, + Name: oName, + Sensitive: o.Sensitive, } + + parent.Children[oid] = out } - files[output.Pos.Filename][id] = oo - } + for vName := range configs[parentConfig].ModuleConfig.Module.Variables { + vid := fmt.Sprintf("%svar.%s", prefix, vName) + va := &Resource{ + Type: ResourceTypeVariable, + Name: vName, + } + + parent.Children[vid] = va - for _, resource := range config.ManagedResources { - // Populate with file if doesn't exist - if _, ok := files[resource.Pos.Filename]; !ok { - files[resource.Pos.Filename] = make(map[string]*Resource) } + } - id := fmt.Sprintf("%s.%s", resource.Type, resource.Name) + for id, rs := range states[parentModule].Children { - r := &Resource{ - Type: ResourceTypeResource, - Name: resource.Name, - ResourceType: resource.Type, - Provider: resource.Provider.Name, - Line: resource.Pos.Line, + configId := matchBrackets.ReplaceAllString(id, "") + configured := configs[parentConfig] != nil && configs[parentConfig].Module != nil && configs[configId] != nil // If there is configuration for filenames, lines, etc. + + re := &Resource{ + Type: rs.Type, + Children: map[string]*Resource{}, } - if _, ok := rso.Resources[id]; ok { - if rso.Resources[id].Change.Actions != nil { - r.ChangeAction = Action(string(rso.Resources[id].Change.Actions[0])) + if states[id].Change.Actions != nil { - if len(rso.Resources[id].Change.Actions) > 1 { - r.ChangeAction = ActionReplace - } + re.ChangeAction = Action(string(states[id].Change.Actions[0])) + if len(states[id].Change.Actions) > 1 { + re.ChangeAction = ActionReplace } + } + + if rs.Type == ResourceTypeResource || rs.Type == ResourceTypeData { + re.ResourceType = configs[configId].ResourceConfig.Type + re.Name = configs[configId].ResourceConfig.Name + + for crName, cr := range states[id].Children { - for crName, cr := range rso.Resources[id].Children { - if r.Children == nil { - r.Children = make(map[string]*Resource) + if re.Children == nil { + re.Children = make(map[string]*Resource) } tcr := &Resource{ - Type: ResourceTypeResource, - Name: crName, + Type: rs.Type, + } + + if rs.Type == ResourceTypeData { + tcr.Name = strings.TrimPrefix(crName, fmt.Sprintf("%sdata.%s.", prefix, re.ResourceType)) + } else { + tcr.Name = strings.TrimPrefix(crName, fmt.Sprintf("%s%s.", prefix, re.ResourceType)) } if cr.Change.Actions != nil { @@ -192,118 +201,152 @@ func GenerateMap(config *tfconfig.Module, rso *ResourcesOverview) *Map { } } - r.Children[crName] = tcr + re.Children[crName] = tcr } - } - files[resource.Pos.Filename][id] = r + if configured { - } + var fname string + ind := fmt.Sprintf("%s.%s", re.ResourceType, re.Name) - for _, data := range config.DataResources { - // Populate with file if doesn't exist - if _, ok := files[data.Pos.Filename]; !ok { - files[data.Pos.Filename] = make(map[string]*Resource) - } + if rs.Type == ResourceTypeData { + ind = fmt.Sprintf("data.%s", ind) + } - id := fmt.Sprintf("data.%s.%s", data.Type, data.Name) + if rs.Type == ResourceTypeData && configs[parentConfig].Module.DataResources[ind] != nil { - files[data.Pos.Filename][id] = &Resource{ - Type: ResourceTypeData, - Name: data.Name, - ResourceType: data.Type, - Provider: data.Provider.Name, - Line: data.Pos.Line, - } + fname = filepath.Base(configs[parentConfig].Module.DataResources[ind].Pos.Filename) + re.Line = &configs[parentConfig].Module.DataResources[ind].Pos.Line - if rso.Resources[id].Change.Actions != nil { - files[data.Pos.Filename][id].ChangeAction = Action(string(rso.Resources[id].Change.Actions[0])) + r.AddFileIfNotExists(parent, parentModule, fname) - if len(rso.Resources[id].Change.Actions) > 1 { - files[data.Pos.Filename][id].ChangeAction = ActionReplace - } - } - } + parent.Children[fname].Children[id] = re - for _, mc := range config.ModuleCalls { - // Populate with file if doesn't exist - if _, ok := files[mc.Pos.Filename]; !ok { - files[mc.Pos.Filename] = make(map[string]*Resource) - } + } else if rs.Type == ResourceTypeResource && configs[parentConfig].Module.ManagedResources[ind] != nil { - // Add to module attribute - if _, ok := mapObj.Modules[mc.Name]; !ok { - mapObj.Modules[mc.Name] = mc - } + fname = filepath.Base(configs[parentConfig].Module.ManagedResources[ind].Pos.Filename) + re.Line = &configs[parentConfig].Module.ManagedResources[ind].Pos.Line - id := fmt.Sprintf("module.%s", mc.Name) + r.AddFileIfNotExists(parent, parentModule, fname) - m := &Resource{ - Type: ResourceTypeModule, - Name: mc.Name, - Source: mc.Source, - Version: mc.Version, - Line: mc.Pos.Line, - } - - m.Children = make(map[string]*Resource) + parent.Children[fname].Children[id] = re - if _, ok := rso.Resources[id]; ok { - tempChildren := make(map[string]*Resource) + } else { - // Filter through and add configuration - for _, cr := range rso.Resources[id].ModuleConfig.Module.Resources { - crName := fmt.Sprintf("%s.%s", id, cr.Address) + r.AddFileIfNotExists(parent, parentModule, DefaultFileName) - tcr := &Resource{ - Type: ResourceTypeResource, - Name: cr.Name, - ResourceType: cr.Type, + parent.Children[DefaultFileName].Children[id] = re } - if cr.Mode == tfjson.DataResourceMode { - tcr.Type = ResourceTypeData - } + } else { - tempChildren[crName] = tcr + parent.Children[id] = re } - // Filter through and add change action - for crName, cr := range rso.Resources[id].Children { - tcr := tempChildren[crName] - if tcr == nil { - tcr = &Resource{} - } + } else if rs.Type == ResourceTypeModule { + re.Name = strings.Split(id, ".")[len(strings.Split(id, "."))-1] - if tcr.Name == "" { - tcr.Type = ResourceTypeResource - tcr.Name = cr.Config.Name - tcr.ResourceType = cr.Config.Type - } + if configured && !childIndex.MatchString(id) && configs[parentConfig].Module.ModuleCalls[matchBrackets.ReplaceAllString(re.Name, "")] != nil { + fname := filepath.Base(configs[parentConfig].Module.ModuleCalls[matchBrackets.ReplaceAllString(re.Name, "")].Pos.Filename) + re.Line = &configs[parentConfig].Module.ModuleCalls[matchBrackets.ReplaceAllString(re.Name, "")].Pos.Line - if cr.Change.Actions != nil { - tcr.ChangeAction = Action(string(cr.Change.Actions[0])) + r.AddFileIfNotExists(parent, parentModule, fname) - if len(cr.Change.Actions) > 1 { - tcr.ChangeAction = ActionReplace - } - } + parent.Children[fname].Children[id] = re + + } else { + parent.Children[id] = re + } + + r.GenerateModuleMap(re, id) + + } + + // Add locals + if configs[configId] != nil && !(re.Type == ResourceTypeModule && childIndex.MatchString(id)) { + expressions := map[string]*tfjson.Expression{} + + if re.Type == ResourceTypeResource { + expressions = configs[configId].ResourceConfig.Expressions + } else if re.Type == ResourceTypeModule { + expressions = configs[configId].ModuleConfig.Expressions + } else if re.Type == ResourceTypeOutput { + expressions["exp"] = configs[configId].OutputConfig.Expression + } - // Add resource to module children - m.Children[crName] = tcr + // Add locals + for _, reValues := range expressions { + for _, dependsOnR := range reValues.References { + ref := &Resource{} + if strings.HasPrefix(dependsOnR, "local.") { + // Append local variable + ref.Type = ResourceTypeLocal + ref.Name = strings.TrimPrefix(dependsOnR, "local.") + rid := fmt.Sprintf("%s%s", prefix, dependsOnR) - // Add parent resource to module children - parentId := strings.Split(crName, "[")[0] - if _, ok := tempChildren[parentId]; ok { - m.Children[parentId] = tempChildren[parentId] + if parentConfigured { + r.AddFileIfNotExists(parent, parentModule, DefaultFileName) + parent.Children[DefaultFileName].Children[rid] = ref + + } else { + parent.Children[rid] = ref + + } + } } } + + } + } +} + +func (r *rover) AddFileIfNotExists(module *Resource, parentModule string, fname string) { + + if _, ok := module.Children[fname]; !ok { + + module.Children[fname] = &Resource{ + Type: ResourceTypeFile, + Name: fname, + Source: fmt.Sprintf("%s/%s", module.Source, fname), + Children: map[string]*Resource{}, } + } +} + +// Generates Map - Overview of files and their resources +// Groups different resource types together +// Defaults to config +func (r *rover) GenerateMap() error { + log.Println("Generating resource map...") + + // Root module + rootModule := &Resource{ + Type: ResourceTypeModule, + Name: "", + Source: "unknown", + Children: map[string]*Resource{}, + } + + mapObj := &Map{ + Path: "Rover Visualization", + Root: rootModule.Children, + } - files[mc.Pos.Filename][id] = m + // If root module has local filesystem configuration stuff (line number/ file name info) + rootConfig := r.RSO.Configs[""].Module + + if rootConfig != nil { + rootModule.Source = rootConfig.Path + mapObj.Path = rootConfig.Path + mapObj.RequiredProviders = rootConfig.RequiredProviders + mapObj.RequiredCore = rootConfig.RequiredCore + r.GenerateModuleMap(rootModule, "") + } else { + r.AddFileIfNotExists(rootModule, "", DefaultFileName) + r.GenerateModuleMap(rootModule.Children[DefaultFileName], "") } - mapObj.Files = files + r.Map = mapObj - return mapObj + return nil } diff --git a/rso.go b/rso.go index 74e6789..be9deae 100644 --- a/rso.go +++ b/rso.go @@ -1,221 +1,394 @@ package main import ( + "encoding/json" "fmt" + "github.com/hashicorp/terraform-config-inspect/tfconfig" + tfjson "github.com/hashicorp/terraform-json" + "io/ioutil" + "log" + "os" + "path/filepath" "regexp" "strings" - - tfjson "github.com/hashicorp/terraform-json" ) // ResourcesOverview represents the root module type ResourcesOverview struct { - Variables map[string]*tfjson.PlanVariable `json:"variables,omitempty"` - Outputs map[string]*OutputOverview `json:"output,omitempty"` - Resources map[string]*ResourceOverview `json:"resources,omitempty"` + Locations map[string]string `json:"locations,omitempty"` + States map[string]*StateOverview `json:"states,omitempty"` + Configs map[string]*ConfigOverview `json:"configs,omitempty"` } // ResourceOverview is a modified tfjson.Plan -type ResourceOverview struct { +type StateOverview struct { // ChangeAction tfjson.Actions `json:change_action` - PriorState map[string]interface{} `json:"prior_state,omitempty"` - PlannedState map[string]interface{} `json:"planned_state,omitempty"` - Change tfjson.Change `json:"change,omitempty"` - Config tfjson.ConfigResource `json:"config,omitempty"` - ModuleConfig *tfjson.ModuleCall `json:"module_config,omitempty"` - DependsOn []string `json:"depends_on,omitempty"` - Children map[string]*ResourceOverview `json:"children,omitempty"` + Change tfjson.Change `json:"change,omitempty"` + Module *tfjson.StateModule `json:"module,omitempty"` + DependsOn []string `json:"depends_on,omitempty"` + Children map[string]*StateOverview `json:"children,omitempty"` + Type ResourceType `json:"type,omitempty"` + IsParent bool `json:"isparent,omitempty"` } -// OutputOverview is a modified tfjson.Change with Outputs -type OutputOverview struct { - // ChangeAction tfjson.Actions `json:change_action` - Change *tfjson.Change `json:"change"` - Config *tfjson.ConfigOutput `json:"config,omitempty"` +type ConfigOverview struct { + ResourceConfig *tfjson.ConfigResource `json:"resource_config,omitempty"` + ModuleConfig *tfjson.ModuleCall `json:"module_config,omitempty"` + VariableConfig *tfjson.ConfigVariable `json:"variable_config,omitempty"` + OutputConfig *tfjson.ConfigOutput `json:"output_config,omitempty"` + Module *tfconfig.Module `json:"module,omitempty"` } -// GenerateResourceOverview - Overview of files and their resources -// Groups different resource types together -func GenerateResourceOverview(plan *tfjson.Plan) *ResourcesOverview { - rso := &ResourcesOverview{} +// For parsing modules.json +type ModuleLocations struct { + Locations []ModuleLocation `json:"Modules,omitempty"` +} - rso.Variables = plan.Variables +type ModuleLocation struct { + Key string `json:"Key,omitempty""` + Source string `json:"Source,omitempty"` + Dir string `json:"Dir,omitempty"` +} - // Loop through outputs - oo := make(map[string]*OutputOverview) - // Loop through output configs - for outputName, output := range plan.Config.RootModule.Outputs { - if _, ok := oo[outputName]; !ok { - oo[outputName] = &OutputOverview{} - } - oo[outputName].Config = output +// PopulateModuleLocations Parses the modules.json file in the .terraform folder, if it exists +// The module locations are then added to rso.Locations and referenced when loading +// modules from the filesystem with tfconfig.LoadModule +func (r *rover) PopulateModuleLocations(moduleJSONFile string, locations map[string]string) { + + moduleLocations := ModuleLocations{} + + jsonFile, err := os.Open(moduleJSONFile) + if err != nil { + log.Println("No submodule configurations found...") } - // Loop through output changes - for outputName, output := range plan.OutputChanges { - if _, ok := oo[outputName]; !ok { - oo[outputName] = &OutputOverview{} - } - oo[outputName].Change = output + defer jsonFile.Close() + + // read our opened jsonFile as a byte array. + byteValue, _ := ioutil.ReadAll(jsonFile) + + // we unmarshal our byteArray which contains our + // jsonFile's content into 'users' which we defined above + json.Unmarshal(byteValue, &moduleLocations) + + for _, loc := range moduleLocations.Locations { + locations[loc.Key] = fmt.Sprintf("%s/%s", r.WorkingDir, loc.Dir) + //fmt.Printf("%v\n", loc.Dir) } +} - rso.Outputs = oo +func (r *rover) PopulateConfigs(parent string, parentKey string, rso *ResourcesOverview, config *tfjson.ConfigModule) { - rs := make(map[string]*ResourceOverview) + ml := rso.Locations + rc := rso.Configs - // reIsChild := regexp.MustCompile(`^\w+\.\w+[\.\[]`) - // reGetParent := regexp.MustCompile(`^\w+\.\w+`) - reIsChild := regexp.MustCompile(`^\w+\.[\w-]+[\.\[]`) - reGetParent := regexp.MustCompile(`^\w+\.[\w-]+`) + prefix := parent + if prefix != "" { + prefix = fmt.Sprintf("%s.", prefix) + } + + // Loop through variable configs + for variableName, variable := range config.Variables { + variableName = fmt.Sprintf("%svar.%s", prefix, variableName) + if _, ok := rc[variableName]; !ok { + rc[variableName] = &ConfigOverview{} + } + rc[variableName].VariableConfig = variable + } + + // Loop through output configs + for outputName, output := range config.Outputs { + outputName = fmt.Sprintf("%soutput.%s", prefix, outputName) + if _, ok := rc[outputName]; !ok { + rc[outputName] = &ConfigOverview{} + } + rc[outputName].OutputConfig = output + } // Loop through each resource type and populate graph - for _, rc := range plan.Config.RootModule.Resources { - if _, ok := rs[rc.Address]; !ok { - rs[rc.Address] = &ResourceOverview{} + for _, resource := range config.Resources { + + address := fmt.Sprintf("%v%v", prefix, resource.Address) + + if _, ok := rc[address]; !ok { + rc[address] = &ConfigOverview{} } - rs[rc.Address].Config = *rc - rs[rc.Address].DependsOn = rc.DependsOn + rc[address].ResourceConfig = resource + //rc[address].DependsOn = resource.DependsOn + + if _, ok := rc[parent]; !ok { + rc[parent] = &ConfigOverview{} + } } // Add modules - for moduleName, m := range plan.Config.RootModule.ModuleCalls { + for moduleName, m := range config.ModuleCalls { + mn := fmt.Sprintf("module.%s", moduleName) + if prefix != "" { + mn = fmt.Sprintf("%s%s", prefix, mn) + } + + if _, ok := rc[mn]; !ok { + rc[mn] = &ConfigOverview{} + } + + childKey := strings.TrimPrefix(moduleName, "module.") + if parentKey != "" { + childKey = fmt.Sprintf("%s.%s", parentKey, childKey) + } - if _, ok := rs[mn]; !ok { - rs[mn] = &ResourceOverview{} + childPath := ml[childKey] + child, _ := tfconfig.LoadModule(childPath) + // If module can be loaded from filesystem + if !child.Diagnostics.HasErrors() { + rc[mn].Module = child + } else { + log.Printf("Continuing without loading module from filesystem: %s\n", childKey) } - rs[mn].ModuleConfig = m + rc[mn].ModuleConfig = m + + r.PopulateConfigs(mn, childKey, rso, m.Module) } +} - // Loop through resource changes - for _, rc := range plan.ResourceChanges { - id := rc.Address - var parent string +func (r *rover) PopulateModuleState(rso *ResourcesOverview, module *tfjson.StateModule, prior bool) { + childIndex := regexp.MustCompile(`\[[^[\]]*\]$`) - // Check if resource has parent - // part of module, resource w/ count or for_each - if reIsChild.MatchString(id) { - parent = reGetParent.FindString(id) + rs := rso.States - // If resource has parent, create parent if doesn't exist - if _, ok := rs[parent]; !ok { - rs[parent] = &ResourceOverview{} + // Loop through each resource type and populate states + for _, rst := range module.Resources { + id := rst.Address + parent := module.Address + //fmt.Printf("ID: %v\n", id) + if rst.AttributeValues != nil { + + // Add resource to parent + // Create resource if doesn't exist + if _, ok := rs[id]; !ok { + rs[id] = &StateOverview{} + if rst.Mode == "data" { + rs[id].Type = ResourceTypeData + } else { + rs[id].Type = ResourceTypeResource + } } - if rs[parent].Children == nil { - rs[parent].Children = make(map[string]*ResourceOverview) + if _, ok := rs[parent]; !ok { + rs[parent] = &StateOverview{} + rs[parent].Type = ResourceTypeModule + rs[parent].IsParent = false + rs[parent].Children = make(map[string]*StateOverview) } - } - if rc.Change != nil { - // Add resource to parent - if parent != "" { - // Create resource if doesn't exist - if _, ok := rs[parent].Children[id]; !ok { - rs[parent].Children[id] = &ResourceOverview{} + // Check if resource has parent + // part of, resource w/ count or for_each + if childIndex.MatchString(id) { + parent = childIndex.ReplaceAllString(id, "") + // If resource has parent, create parent if doesn't exist + if _, ok := rs[parent]; !ok { + rs[parent] = &StateOverview{} + rs[parent].Children = make(map[string]*StateOverview) + if rst.Mode == "data" { + rs[parent].Type = ResourceTypeData + } else { + rs[parent].Type = ResourceTypeResource + } + } - rs[parent].Children[id].Change = *rc.Change - // Add type and name since it's missing - // TODO: Find long term fix - rs[parent].Children[id].Config.Name = strings.ReplaceAll(rc.Address, fmt.Sprintf("%s.%s.", parent, rc.Type), "") - rs[parent].Children[id].Config.Type = rc.Type + rs[module.Address].Children[parent] = rs[parent] + + } + + //fmt.Printf("%v - %v\n", id, parent) + rs[parent].Children[id] = rs[id] + + if prior { + rs[id].Change.Before = rst.AttributeValues } else { - rs[rc.Address].Change = *rc.Change + rs[id].Change.After = rst.AttributeValues } } } - // Populate prior state - if plan.PriorState != nil { - if plan.PriorState.Values != nil { - if plan.PriorState.Values.RootModule != nil { - for _, rst := range plan.PriorState.Values.RootModule.Resources { - id := rst.Address - var parent string - - // Check if resource has parent - // part of module, resource w/ count or for_each - if reIsChild.MatchString(id) { - parent = reGetParent.FindString(id) - - // If resource has parent, create parent if doesn't exist - if _, ok := rs[parent]; !ok { - rs[parent] = &ResourceOverview{} - } - - if rs[parent].Children == nil { - rs[parent].Children = make(map[string]*ResourceOverview) - } - } + for _, childModule := range module.ChildModules { - if rst.AttributeValues != nil { - // Add resource to parent - if parent != "" { - // Create resource if doesn't exist - if _, ok := rs[parent].Children[id]; !ok { - rs[parent].Children[id] = &ResourceOverview{} - } - rs[parent].Children[id].PriorState = rst.AttributeValues - - // Add type and name since it's missing - // TODO: Find long term fix - rs[parent].Children[id].Config.Name = strings.ReplaceAll(rst.Address, fmt.Sprintf("%s.%s.", parent, rst.Type), "") - rs[parent].Children[id].Config.Type = rst.Type - } else { - rs[rst.Address].PriorState = rst.AttributeValues - } - } - } + parent := module.Address + + id := childModule.Address + + if _, ok := rs[parent]; !ok { + rs[parent] = &StateOverview{} + rs[parent].Children = make(map[string]*StateOverview) + rs[parent].Type = ResourceTypeModule + rs[parent].IsParent = false + } + + if childIndex.MatchString(id) { + parent = childIndex.ReplaceAllString(id, "") + + // If module has parent, create parent if doesn't exist + if _, ok := rs[parent]; !ok { + rs[parent] = &StateOverview{} + rs[parent].Children = make(map[string]*StateOverview) + rs[parent].Type = ResourceTypeModule + rs[parent].IsParent = true + } + + rs[module.Address].Children[parent] = rs[parent] + } + + if rs[parent].Module == nil { + rs[parent].Module = module + } + + if _, ok := rs[id]; !ok { + rs[id] = &StateOverview{} + rs[id].Children = make(map[string]*StateOverview) + rs[id].Type = ResourceTypeModule + } + + rs[id].Module = childModule + + rs[parent].Children[id] = rs[id] + + r.PopulateModuleState(rso, childModule, prior) + } + +} + +// GenerateResourceOverview - Overview of files and their resources +// Groups different resource types together +func (r *rover) GenerateResourceOverview() error { + log.Println("Generating resource overview...") + + matchBrackets := regexp.MustCompile(`\[[^\[\]]*\]`) + rso := &ResourcesOverview{} + + rso.Locations = make(map[string]string) + rso.Configs = make(map[string]*ConfigOverview) + rso.States = make(map[string]*StateOverview) + + rc := rso.Configs + rs := rso.States + + // This is the location of modules.json, which contains where modules are stored on the local filesystem + moduleJSONPath := filepath.Join(r.WorkingDir, ".terraform/modules/modules.json") + r.PopulateModuleLocations(moduleJSONPath, rso.Locations) + + // Create root module configuration + rc[""] = &ConfigOverview{} + rootModule, _ := tfconfig.LoadModule(r.WorkingDir) + // If module can be loaded from filesystem + if !rootModule.Diagnostics.HasErrors() { + rc[""].Module = rootModule + } else { + log.Printf("Could not load configuration from: %v\n", r.WorkingDir) + log.Printf("Continuing without configuration file data...") + } + + rc[""].ModuleConfig = &tfjson.ModuleCall{} + rc[""].ModuleConfig.Module = r.Plan.Config.RootModule + + r.PopulateConfigs("", "", rso, r.Plan.Config.RootModule) + + // Populate prior state + if r.Plan.PriorState != nil { + if r.Plan.PriorState.Values != nil { + if r.Plan.PriorState.Values.RootModule != nil { + r.PopulateModuleState(rso, r.Plan.PriorState.Values.RootModule, true) } } } // Populate planned state - if plan.PlannedValues != nil { - if plan.PlannedValues.RootModule != nil { - for _, rps := range plan.PlannedValues.RootModule.Resources { - id := rps.Address - var parent string - - // Check if resource has parent - // part of module, resource w/ count or for_each - if reIsChild.MatchString(id) { - parent = reGetParent.FindString(id) - - // If resource has parent, create parent if doesn't exist - if _, ok := rs[parent]; !ok { - rs[parent] = &ResourceOverview{} - } + if r.Plan.PlannedValues != nil { + if r.Plan.PlannedValues.RootModule != nil { + r.PopulateModuleState(rso, r.Plan.PlannedValues.RootModule, false) + } + } - if rs[parent].Children == nil { - rs[parent].Children = make(map[string]*ResourceOverview) - } + // Create root module in state if doesn't exist + if _, ok := rs[""]; !ok { + rs[""] = &StateOverview{} + rs[""].Children = make(map[string]*StateOverview) + rs[""].IsParent = false + rs[""].Type = ResourceTypeModule + } + + // reIsChild := regexp.MustCompile(`^\w+\.\w+[\.\[]`) + // reGetParent := regexp.MustCompile(`^\w+\.\w+`) + //reIsChild := regexp.MustCompile(`^\w+\.[\w-]+[\.\[]`) + + // Loop through output changes + for outputName, output := range r.Plan.OutputChanges { + if _, ok := rs[outputName]; !ok { + rs[outputName] = &StateOverview{} + } + + // If before/after sensitive, set value to "Sensitive Value" + if !r.ShowSensitive { + if output.BeforeSensitive != nil { + if output.BeforeSensitive.(bool) { + output.Before = "Sensitive Value" + } + } + if output.AfterSensitive != nil { + if output.AfterSensitive.(bool) { + output.After = "Sensitive Value" } + } + } - if rps.AttributeValues != nil { - // Add resource to parent - if parent != "" { - // Create resource if doesn't exist - if _, ok := rs[parent].Children[id]; !ok { - rs[parent].Children[id] = &ResourceOverview{} - } - rs[parent].Children[id].PlannedState = rps.AttributeValues - - // Add type and name since it's missing - // TODO: Find long term fix - rs[parent].Children[id].Config.Name = strings.ReplaceAll(rps.Address, fmt.Sprintf("%s.%s.", parent, rps.Type), "") - rs[parent].Children[id].Config.Type = rps.Type - } else { - rs[rps.Address].PlannedState = rps.AttributeValues - } + rs[outputName].Change = *output + rs[outputName].Type = ResourceTypeOutput + } + + // Loop through resource changes + for _, resource := range r.Plan.ResourceChanges { + id := resource.Address + configId := matchBrackets.ReplaceAllString(id, "") + parent := resource.ModuleAddress + + if resource.Change != nil { + + // If has parent, create parent if doesn't exist + if _, ok := rs[parent]; !ok { + rs[parent] = &StateOverview{} + rs[parent].Children = make(map[string]*StateOverview) + } + + // Add resource to parent + // Create resource if doesn't exist + if _, ok := rs[id]; !ok { + rs[id] = &StateOverview{} + if resource.Mode == "data" { + rs[id].Type = ResourceTypeData + } else { + rs[id].Type = ResourceTypeResource } + rs[parent].Children[id] = rs[id] } + rs[id].Change = *resource.Change + + // Create resource config if doesn't exist + if _, ok := rc[configId]; !ok { + rc[configId] = &ConfigOverview{} + rc[configId].ResourceConfig = &tfjson.ConfigResource{} + + // Add type and name since it's missing + // TODO: Find long term fix + rc[configId].ResourceConfig.Name = resource.Name + rc[configId].ResourceConfig.Type = resource.Type + } + } } - rso.Resources = rs + r.RSO = rso - return rso + return nil } diff --git a/screenshot.go b/screenshot.go new file mode 100644 index 0000000..998ef7c --- /dev/null +++ b/screenshot.go @@ -0,0 +1,95 @@ +package main + +import ( + "context" + "fmt" + "io" + "log" + "net/http" + "os" + "strings" + "time" + + "github.com/chromedp/cdproto/browser" + "github.com/chromedp/chromedp" +) + +// Heavily inspired by: https://github.com/chromedp/examples/blob/master/download_file/main.go +func screenshot(s *http.Server) { + // ctx, cancel := chromedp.NewContext(context.Background(), chromedp.WithDebugf(log.Printf)) + ctx, cancel := chromedp.NewContext(context.Background()) + defer cancel() + + // create a timeout as a safety net to prevent any infinite wait loops + ctx, cancel = context.WithTimeout(ctx, 60*time.Second) + defer cancel() + + url := fmt.Sprintf("http://%s", s.Addr) + + // this will be used to capture the file name later + var downloadGUID string + + downloadComplete := make(chan bool) + chromedp.ListenTarget(ctx, func(v interface{}) { + if ev, ok := v.(*browser.EventDownloadProgress); ok { + if ev.State == browser.DownloadProgressStateCompleted { + downloadGUID = ev.GUID + close(downloadComplete) + } + } + }) + + if err := chromedp.Run(ctx, chromedp.Tasks{ + browser.SetDownloadBehavior(browser.SetDownloadBehaviorBehaviorAllowAndName). + WithDownloadPath(os.TempDir()). + WithEventsEnabled(true), + + chromedp.Navigate(url), + // wait for graph to be visible + chromedp.WaitVisible(`#cytoscape-div`), + // find and click "Save Graph" button + chromedp.Click(`#saveGraph`, chromedp.NodeVisible), + }); err != nil && !strings.Contains(err.Error(), "net::ERR_ABORTED") { + // Note: Ignoring the net::ERR_ABORTED page error is essential here since downloads + // will cause this error to be emitted, although the download will still succeed. + log.Fatal(err) + } + <-downloadComplete + + e := moveFile(fmt.Sprintf("%v/%v", os.TempDir(), downloadGUID), "./rover.svg") + if e != nil { + log.Fatal(e) + } + + log.Println("Image generation complete.") + + // Shutdown http server + s.Shutdown(context.Background()) +} + +// This function resolves the "invalid cross-device link" error for moving files +// between volumes for Docker. +// https://gist.github.com/var23rav/23ae5d0d4d830aff886c3c970b8f6c6b +func moveFile(sourcePath, destPath string) error { + inputFile, err := os.Open(sourcePath) + if err != nil { + return fmt.Errorf("Couldn't open source file: %s", err) + } + outputFile, err := os.Create(destPath) + if err != nil { + inputFile.Close() + return fmt.Errorf("Couldn't open dest file: %s", err) + } + defer outputFile.Close() + _, err = io.Copy(outputFile, inputFile) + inputFile.Close() + if err != nil { + return fmt.Errorf("Writing to output file failed: %s", err) + } + // The copy was successful, so now delete the original file + err = os.Remove(sourcePath) + if err != nil { + return fmt.Errorf("Failed removing original file: %s", err) + } + return nil +} diff --git a/server.go b/server.go new file mode 100644 index 0000000..0c73023 --- /dev/null +++ b/server.go @@ -0,0 +1,79 @@ +package main + +import ( + "bytes" + "encoding/json" + "fmt" + "io" + "log" + "net" + "net/http" + "strings" + // tfjson "github.com/hashicorp/terraform-json" +) + +func (ro *rover) startServer(ipPort string, frontendFS http.Handler) error { + + m := http.NewServeMux() + s := http.Server{Addr: ipPort, Handler: m} + + m.Handle("/", frontendFS) + m.HandleFunc("/health", func(w http.ResponseWriter, r *http.Request) { + // simple healthcheck + w.WriteHeader(http.StatusOK) + w.Header().Set("Content-Type", "application/json") + io.WriteString(w, `{"alive": true}`) + }) + m.HandleFunc("/api/", func(w http.ResponseWriter, r *http.Request) { + fileType := strings.Replace(r.URL.Path, "/api/", "", 1) + + var j []byte + var err error + + enableCors(&w) + + switch fileType { + case "plan": + j, err = json.Marshal(ro.Plan) + if err != nil { + io.WriteString(w, fmt.Sprintf("Error producing plan JSON: %s\n", err)) + } + case "rso": + j, err = json.Marshal(ro.RSO) + if err != nil { + io.WriteString(w, fmt.Sprintf("Error producing rso JSON: %s\n", err)) + } + case "map": + j, err = json.Marshal(ro.Map) + if err != nil { + io.WriteString(w, fmt.Sprintf("Error producing map JSON: %s\n", err)) + } + case "graph": + j, err = json.Marshal(ro.Graph) + if err != nil { + io.WriteString(w, fmt.Sprintf("Error producing graph JSON: %s\n", err)) + } + default: + io.WriteString(w, "Please enter a valid file type: plan, rso, map, graph\n") + } + + w.Header().Set("Content-Type", "application/json") + io.Copy(w, bytes.NewReader(j)) + }) + + log.Printf("Rover is running on %s", ipPort) + + l, err := net.Listen("tcp", ipPort) + if err != nil { + log.Fatal(err) + } + + // The browser can connect now because the listening socket is open. + if ro.GenImage { + go screenshot(&s) + } + + // Start the blocking server loop. + return s.Serve(l) + +} diff --git a/ui/babel.config.js b/ui/babel.config.js index e955840..fded4b1 100644 --- a/ui/babel.config.js +++ b/ui/babel.config.js @@ -1,5 +1,4 @@ module.exports = { - presets: [ - '@vue/cli-plugin-babel/preset' - ] -} + presets: ['@vue/cli-plugin-babel/preset'], + plugins: ['@babel/plugin-proposal-optional-chaining'] +} \ No newline at end of file diff --git a/ui/dist/css/app.52fc4fd2.css b/ui/dist/css/app.52fc4fd2.css deleted file mode 100644 index 2173567..0000000 --- a/ui/dist/css/app.52fc4fd2.css +++ /dev/null @@ -1 +0,0 @@ -.title[data-v-b2b0816c]{padding:0}#resource-details[data-v-0d84eb83]{position:sticky;top:1em;min-width:0}.tab-container[data-v-0d84eb83]{max-height:70vh;overflow:scroll}fieldset[data-v-0d84eb83]{margin-bottom:2em}.tabs a[data-v-0d84eb83]:hover{cursor:pointer}.resource-detail[data-v-0d84eb83],.tab-container[data-v-0d84eb83]{padding:1em 0}.tabs .disabled[data-v-0d84eb83]:hover{cursor:not-allowed;border-bottom:4px solid var(--color-lightGrey)}p[data-v-0d84eb83]{word-break:break-all;white-space:normal}a[data-v-0d84eb83]{font-weight:700;border-width:4px!important}.key[data-v-0d84eb83]{font-weight:700;font-size:.9em;text-transform:uppercase;margin:0}dd[data-v-0d84eb83]{display:inline-block}dt.value[data-v-0d84eb83]{margin:.5em 0 1em 0;padding:.5em;font-size:1em;background-color:#f4ecff;color:#000;display:flex;align-items:center;justify-content:space-between}.resource-id[data-v-0d84eb83]{word-wrap:break-word;overflow:hidden;width:100%}.resource-action[data-v-0d84eb83]{float:right}.is-child-resource[data-v-0d84eb83]{display:block}.is-child-resource[data-v-0d84eb83],.unknown-value[data-v-0d84eb83]{text-align:center;font-weight:700;font-style:italic}.copy-button[data-v-0d84eb83]{font-size:.9em;padding:1rem;align-items:flex-end;background-color:#8450ba;color:#fff;font-weight:700}.copy-button[data-v-0d84eb83]:hover{cursor:pointer}#cytoscape-div{height:1000px!important;background-color:#f8f8f8!important}.node{width:14em;font-size:2em;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-align:center;padding:.5em .5em;border-radius:.25em;background-color:#fff;color:#000;font-weight:700;cursor:pointer;border:5px solid #d3d3d3}.node:hover{transform:scale(1.02)}.resource-type{width:20em;font-size:2em;height:100%}.create{background-color:#28a745}.create,.destroy{color:#fff;font-weight:700;border:0}.destroy{background-color:#e40707}.update{background-color:#1d7ada;color:#fff}.replace,.update{font-weight:700;border:0}.replace{background-color:#ffc107;color:#000}.output{background-color:#fff7e0;border:5px solid #ffc107}.output,.variable{color:#000;font-weight:700}.variable{background-color:#e1f0ff;border:5px solid #1d7ada}.data{background-color:#ffecec;border:5px solid #dc477d;color:#000}.data,.locals{font-weight:700}.locals{background-color:#000;color:#fff;border:0}fieldset[data-v-3718cd32]{margin-bottom:2em}.graph-enter-active[data-v-3718cd32],.graph-enter-active legend[data-v-3718cd32],.graph-leave-active[data-v-3718cd32],.graph-leave-active legend[data-v-3718cd32]{transition:all .2s ease;overflow:hidden}.graph-enter[data-v-3718cd32],.graph-enter legend[data-v-3718cd32],.graph-leave-to[data-v-3718cd32],.graph-leave-to legend[data-v-3718cd32]{height:0;padding:0;margin:0;opacity:0}.card[data-v-11b846ff]{margin:.5em 0;border-radius:0;border-width:2px;font-weight:400}.tag[data-v-11b846ff]{border:1px solid var(--color-grey)}.card.child[data-v-11b846ff]{margin:0 -1.3em}.card.child[data-v-11b846ff]:hover{border-width:2px;border-left:0 solid;border-right:0 solid;filter:brightness(.95)}.col[data-v-11b846ff]{margin-bottom:0}.resource-main[data-v-11b846ff]:hover{cursor:pointer;filter:brightness(.95)}.child.resource-main[data-v-11b846ff]{border-left:1px solid;border-right:1px solid}.dark .resource-main[data-v-11b846ff]:hover{cursor:pointer;background-color:#0d032b}.dark .child.resource-main[data-v-11b846ff]{background-color:#1c1c3f}.dark .child.resource-main[data-v-11b846ff]:hover{background-color:#131342!important}.resource-col[data-v-11b846ff]{margin-left:.1em}.resource-action[data-v-11b846ff]{float:left;margin:0;margin-right:.5em}.file-expand-icon[data-v-11b846ff],.resource-action-icon[data-v-11b846ff]{width:1em;padding-top:.1em}.dark .multi-tag[data-v-11b846ff]{filter:invert(100%)}.resource-name[data-v-11b846ff]{width:80%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;float:left}.provider-icon-tag[data-v-11b846ff]{float:left;margin:0 1em 0 0!important;font-weight:700}.provider-icon[data-v-11b846ff]{float:left;width:1.75em;margin:-.2em .5em 0 -.3em!important}.provider-resource-name[data-v-11b846ff]{width:85%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;float:left}.line-number[data-v-11b846ff]{display:inline-block;min-width:2em}.resources-enter-active[data-v-11b846ff],.resources-leave-active[data-v-11b846ff]{transition:all .2s ease;overflow:hidden}.resources-enter[data-v-11b846ff],.resources-leave-to[data-v-11b846ff]{height:0;padding:0;margin:0;opacity:0}.module[data-v-11b846ff]{border:2px solid #8450ba}.resource-card.create[data-v-11b846ff]{border-color:#28a745}.resource-card.output[data-v-11b846ff]{border-color:#ffc107}.resource-card.destroy[data-v-11b846ff]{border-color:#e40707}.resource-card.update[data-v-11b846ff]{border-color:#1d7ada}.resource-card.replace[data-v-11b846ff]{border-color:#ffc107}.resource-type-card[data-v-11b846ff]{margin-top:.5em!important}.file[data-v-5ef7e534]{margin-bottom:1em}.file-name[data-v-5ef7e534]{margin-bottom:0;margin-top:.25em}.file-name[data-v-5ef7e534]:hover{cursor:pointer}.resources-enter-active[data-v-5ef7e534],.resources-leave-active[data-v-5ef7e534]{transition:all .2s ease;overflow:hidden}.resources-enter[data-v-5ef7e534],.resources-leave-to[data-v-5ef7e534]{height:0;padding:0;margin:0;opacity:0}.file-expand-icon[data-v-5ef7e534]{width:1em;padding-top:.1em;margin-left:1.4em}fieldset[data-v-459dfd99]{margin-bottom:2em}#app[data-v-08c2df7e]{font-family:Avenir,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0 auto;margin-top:60px;width:90%}.node[data-v-08c2df7e]{display:inline-block;margin:0 1%;width:48%;font-size:.9em}.module[data-v-08c2df7e]{border:5px solid #8450ba;color:#8450ba} \ No newline at end of file diff --git a/ui/dist/css/app.620d0115.css b/ui/dist/css/app.620d0115.css new file mode 100644 index 0000000..37f62d4 --- /dev/null +++ b/ui/dist/css/app.620d0115.css @@ -0,0 +1 @@ +.title[data-v-bfab64d6]{padding:0}#resource-details[data-v-4e3cd299]{position:sticky;top:1em;min-width:0}.tab-container[data-v-4e3cd299]{max-height:70vh;overflow:scroll}fieldset[data-v-4e3cd299]{margin-bottom:2em}.tabs a[data-v-4e3cd299]:hover{cursor:pointer}.resource-detail[data-v-4e3cd299],.tab-container[data-v-4e3cd299]{padding:1em 0}.tabs .disabled[data-v-4e3cd299]:hover{cursor:not-allowed;border-bottom:4px solid var(--color-lightGrey)}p[data-v-4e3cd299]{word-break:break-all;white-space:normal}a[data-v-4e3cd299]{font-weight:700;border-width:4px!important}.key[data-v-4e3cd299]{font-weight:700;font-size:.9em;text-transform:uppercase;margin:0}dd[data-v-4e3cd299]{display:inline-block}dt.value[data-v-4e3cd299]{margin:.5em 0 1em 0;padding:.5em;font-size:1em;background-color:#f4ecff;color:#000;display:flex;align-items:center;justify-content:space-between}.resource-id[data-v-4e3cd299]{word-wrap:break-word;overflow:hidden;width:100%}.resource-action[data-v-4e3cd299]{float:right}.is-child-resource[data-v-4e3cd299]{display:block}.is-child-resource[data-v-4e3cd299],.unknown-value[data-v-4e3cd299]{text-align:center;font-weight:700;font-style:italic}.copy-button[data-v-4e3cd299]{font-size:.9em;padding:1rem;align-items:flex-end;background-color:#8450ba;color:#fff;font-weight:700}.copy-button[data-v-4e3cd299]:hover{cursor:pointer}#cytoscape-div{height:1000px!important;background-color:#f8f8f8!important}.node{width:14em;font-size:2em;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-align:center;padding:.5em .5em;border-radius:.25em;background-color:#fff;color:#000;font-weight:700;cursor:pointer;border:5px solid #d3d3d3}.node:hover{transform:scale(1.02)}.resource-type{width:20em;font-size:2em;height:100%}.create{background-color:#28a745}.create,.delete{color:#fff;font-weight:700;border:0}.delete{background-color:#e40707}.update{background-color:#1d7ada;color:#fff}.replace,.update{font-weight:700;border:0}.replace{background-color:#ffc107;color:#000}.output{background-color:#fff7e0;border:5px solid #ffc107}.output,.variable{color:#000;font-weight:700}.variable{background-color:#e1f0ff;border:5px solid #1d7ada}.data{background-color:#ffecec;border:5px solid #dc477d;color:#000}.data,.locals{font-weight:700}.locals{background-color:#000;color:#fff;border:0}fieldset[data-v-11c2dcd0]{margin-bottom:2em}.graph-enter-active[data-v-11c2dcd0],.graph-enter-active legend[data-v-11c2dcd0],.graph-leave-active[data-v-11c2dcd0],.graph-leave-active legend[data-v-11c2dcd0]{transition:all .2s ease;overflow:hidden}.graph-enter[data-v-11c2dcd0],.graph-enter legend[data-v-11c2dcd0],.graph-leave-to[data-v-11c2dcd0],.graph-leave-to legend[data-v-11c2dcd0]{height:0;padding:0;margin:0;opacity:0}.card[data-v-2a9b2d96]{margin:.5em 0;border-radius:0;border-width:2px;font-weight:400}.tag[data-v-2a9b2d96]{border:1px solid var(--color-grey)}.card.child[data-v-2a9b2d96]{margin:0 -1.3em}.card.child[data-v-2a9b2d96]:hover{border-width:2px;border-left:0 solid;border-right:0 solid;filter:brightness(.95)}.col[data-v-2a9b2d96]{margin-bottom:0}.resource-main[data-v-2a9b2d96]:hover{cursor:pointer;filter:brightness(.95)}.child.resource-main[data-v-2a9b2d96]{border-left:1px solid;border-right:1px solid}.dark .resource-main[data-v-2a9b2d96]:hover{cursor:pointer;background-color:#0d032b}.dark .child.resource-main[data-v-2a9b2d96]{background-color:#1c1c3f}.dark .child.resource-main[data-v-2a9b2d96]:hover{background-color:#131342!important}.resource-col[data-v-2a9b2d96]{margin-left:.1em}.resource-action[data-v-2a9b2d96]{float:left;margin:0;margin-right:.5em}.file-expand-icon[data-v-2a9b2d96],.resource-action-icon[data-v-2a9b2d96]{width:1em;padding-top:.1em}.dark .multi-tag[data-v-2a9b2d96]{filter:invert(100%)}.resource-name[data-v-2a9b2d96]{width:80%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;float:left}.provider-icon-tag[data-v-2a9b2d96]{float:left;margin:0 1em 0 0!important;font-weight:700}.provider-icon[data-v-2a9b2d96]{float:left;width:1.75em;margin:-.2em .5em 0 -.3em!important}.provider-resource-name[data-v-2a9b2d96]{width:85%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;float:left}.line-number[data-v-2a9b2d96]{display:inline-block;min-width:2em}.resources-enter-active[data-v-2a9b2d96],.resources-leave-active[data-v-2a9b2d96]{transition:all .2s ease;overflow:hidden}.resources-enter[data-v-2a9b2d96],.resources-leave-to[data-v-2a9b2d96]{height:0;padding:0;margin:0;opacity:0}.module[data-v-2a9b2d96]{border:2px solid #8450ba}.resource-card.create[data-v-2a9b2d96]{border-color:#28a745}.resource-card.output[data-v-2a9b2d96]{border-color:#ffc107}.resource-card.delete[data-v-2a9b2d96]{border-color:#e40707}.resource-card.update[data-v-2a9b2d96]{border-color:#1d7ada}.resource-card.replace[data-v-2a9b2d96]{border-color:#ffc107}.resource-type-card[data-v-2a9b2d96]{margin-top:.5em!important}.file[data-v-3d7b7730]{margin-bottom:1em}.file-name[data-v-3d7b7730]{margin-bottom:0;margin-top:.25em}.file-name[data-v-3d7b7730]:hover{cursor:pointer}.resources-enter-active[data-v-3d7b7730],.resources-leave-active[data-v-3d7b7730]{transition:all .2s ease;overflow:hidden}.resources-enter[data-v-3d7b7730],.resources-leave-to[data-v-3d7b7730]{height:0;padding:0;margin:0;opacity:0}.file-expand-icon[data-v-3d7b7730]{width:1em;padding-top:.1em;margin-left:1.4em}fieldset[data-v-1cda27d5]{margin-bottom:2em}#app[data-v-5cf12920]{font-family:Avenir,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0 auto;margin-top:60px;width:90%}.node[data-v-5cf12920]{display:inline-block;margin:0 1%;width:48%;font-size:.9em}.module[data-v-5cf12920]{border:5px solid #8450ba;color:#8450ba} \ No newline at end of file diff --git a/ui/dist/index.html b/ui/dist/index.html index 311ba73..c7ff6d8 100644 --- a/ui/dist/index.html +++ b/ui/dist/index.html @@ -1 +1 @@ -ui
\ No newline at end of file +ui
\ No newline at end of file diff --git a/ui/dist/js/app.3f69df0b.js b/ui/dist/js/app.3f69df0b.js new file mode 100644 index 0000000..bfb3abe --- /dev/null +++ b/ui/dist/js/app.3f69df0b.js @@ -0,0 +1,2 @@ +(function(e){function t(t){for(var n,s,c=t[0],i=t[1],l=t[2],u=0,f=[];u1?"replace":n.actions[0]),r.before=n.before?n.before:null,r.after=n.after?n.after:{},"string"===typeof r.before&&(r.before={value:r.before}),"string"===typeof r.after&&(r.after={value:r.after}),n["after_unknown"]&&(r.after["value"]={unknown:!0}),r}return r={}}if(t.states[e]&&t.states[e].change){var o=t.states[e].change;o.actions&&(r.action=o.actions.length>1?"replace":o.actions[0]),r.before=o.before?o.before:{},r.after=o.after?o.after:{},o["after_unknown"]&&Object.keys(o["after_unknown"]).forEach((function(e){r.after[e]={unknown:!0}}))}return r}},computed:{resource:function(){var e="";e=this.resourceID.startsWith("Resources/")?this.resourceID.split("/").join("."):this.resourceID.split("/").slice(-2).join(".");var t=e.split("."),r=t.length-1,n=t.join(".");return this.resourceID.startsWith("Resources/")&&(n=t.slice(1).join(".")),{fileName:"".concat(t[0],".").concat(t[1]),id:n,resource_type:t[r-1],resource_name:t[r]}},primitiveType:function(){switch(this.resource.resource_type){case"output":case"var":case"local":return this.resource.resource_type;default:return this.resource.id.startsWith("data.")?"data":"resource"}},isChild:function(){return null!=this.resource.id.match(/\[[^[\]]*\]$/g)},hasNoState:function(){return this.resource.id.includes("var.")},resourceConfig:function(){return this.getResourceConfig(this.resource.id,this.overview,this.isChild)},resourceChange:function(){return this.getResourceChange(this.resource.id,this.overview)}},watch:{resourceID:function(e){e.includes("var.")&&(this.curTab="config")}},mounted:function(){var e=this;"undefined"!==typeof rso?this.overview=rso:v.a.get("/api/rso").then((function(t){e.overview=t.data}))}},_=y,C=(r("081a"),Object(d["a"])(_,p,h,!1,null,"4e3cd299",null)),w=C.exports,x=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("transition",{attrs:{name:"graph"}},[r("fieldset",[r("legend",[e._v("Graph")]),r("cytoscape",{ref:"cy",attrs:{config:e.config,preConfig:e.preConfig}})],1)])},k=[],R=(r("d81d"),r("8a79"),r("4de4"),r("21a6")),T=r("8df5"),I=r.n(T),j=r("2701"),O=r.n(j),$=r("cc5f"),N=r.n($),P={autounselectify:!0,style:[{selector:"node",style:{label:"data(label)",width:"500px","font-family":"Avenir, Helvetica, Arial, sans-serif","font-size":"2em"}},{selector:"edge",css:{"curve-style":"taxi","line-fill":"linear-gradient","line-gradient-stop-colors":"data(gradient)","line-dash-offset":24,width:10}},{selector:".basename",style:{padding:"200px","text-margin-y":75,"font-weight":"bold",shape:"roundrectangle","min-height":"400px","border-width":2,"border-color":"white","background-color":"#f4ecff"}},{selector:".fname",style:{padding:"100px","text-margin-y":75,"font-weight":"bold",shape:"roundrectangle","border-width":1,"border-color":"lightgrey","background-color":"white"}},{selector:".provider",style:{"text-valign":"center","text-halign":"center",padding:"1em",shape:"roundrectangle","border-width":0,color:"white","background-color":"black"}},{selector:".module",style:{padding:"100px","font-weight":"bold","text-margin-y":60,shape:"roundrectangle",color:"#8450ba","border-width":10,"border-color":"#8450ba","background-color":"white"}},{selector:".data-type",style:{padding:"10%",width:"label","font-weight":"bold","text-background-color":"white","text-background-opacity":1,"text-background-padding":"2em","text-margin-y":15,shape:"roundrectangle","border-width":"5px","border-color":"black","background-color":"white"}},{selector:".data-name",css:{"background-color":"#ffecec",color:"black","font-weight":"bold","text-valign":"center","text-halign":"center",padding:"1.5em",shape:"roundrectangle","border-opacity":1,"border-width":5,"border-color":"#dc477d",label:"data(label)"}},{selector:".output",css:{"background-color":"#fff7e0",color:"black","font-weight":"bold","text-valign":"center","text-halign":"center",padding:"1.5em",shape:"roundrectangle","border-opacity":1,"border-width":5,"border-color":"#ffc107",label:"data(label)"}},{selector:".variable",css:{"background-color":"#e1f0ff",color:"black","font-weight":"bold","text-valign":"center","text-halign":"center",padding:"1.5em",shape:"roundrectangle","border-opacity":1,"border-width":5,"border-color":"#1d7ada",label:"data(label)"}},{selector:".locals",css:{"background-color":"black",color:"white","font-weight":"bold","text-valign":"center","text-halign":"center",padding:"1.5em",shape:"roundrectangle","border-opacity":1,"border-width":5,"border-color":"black",label:"data(label)"}},{selector:".resource-type",style:{padding:"10%",width:"label","font-weight":"bold","text-background-color":"white","text-background-opacity":1,"text-background-padding":"2em","text-margin-y":15,shape:"roundrectangle","border-width":"5px","border-color":"black","background-color":"white"}},{selector:".resource-parent",style:{padding:"10%",width:"label","font-weight":"bold","text-background-color":"white","text-background-opacity":1,"text-background-padding":"2em","text-margin-y":15,shape:"roundrectangle","border-width":"5px","border-color":"black","background-color":"white"}},{selector:".resource-name",css:{"text-valign":"center","text-halign":"center",padding:"1.5em",shape:"roundrectangle","border-opacity":0,color:"white","background-color":"#8450ba","text-wrap":"ellipsis","text-max-width":500}},{selector:".create",css:{"background-color":"#28a745",color:"white","font-weight":"bold"}},{selector:".delete",css:{"background-color":"#e40707",color:"white","font-weight":"bold"}},{selector:".update",css:{"background-color":"#1d7ada",color:"white","font-weight":"bold"}},{selector:".replace",css:{"background-color":"#ffc107",color:"black","font-weight":"bold"}},{selector:".no-op",css:{color:"black","border-opacity":1,"font-weight":"bold","border-width":"5px","border-color":"lightgray","background-color":"white"}},{selector:".invisible",css:{opacity:"0"}},{selector:".semitransp",css:{opacity:"0.4"}},{selector:"edge.semitransp",css:{opacity:"0"}},{selector:".visible",css:{opacity:"1"}},{selector:".dashed",css:{"line-style":"dashed","line-dash-pattern":[20,20]}}]},G={name:"Graph",data:function(){return{selectedNode:"",config:P,graph:{}}},methods:{preConfig:function(e){e.use(I.a),e.use(O.a),"function"!==typeof e("core","nodeHtmlLabel")&&e.use(N.a)},renderGraph:function(){var e=this,t=this.$refs.cy.instance,r=t.elements(),n=this.graph.nodes.map((function(e){return e.data.id}));t.remove(r),this.graph.nodes.forEach((function(e){t.add(e)})),this.graph.edges.forEach((function(e){if(!e.data.id.includes("-variable")&&!e.data.id.includes("-output")){var r=e.data.target;while(!n.includes(r)){if(r=r.split("."),r.length<2)return void console.warn("edge target",e.data.target,"not found in nodes");r.pop(),r=r.join(".")}e.data.target=r,t.add(e)}})),this.runLayouts(),t.on("click","node",(function(t){for(var r=t.target,n={id:r.data().id,in:[],out:[]},o=r.connectedEdges(),a=0;a\n \n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MainNav.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MainNav.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MainNav.vue?vue&type=template&id=bfab64d6&scoped=true&\"\nimport script from \"./MainNav.vue?vue&type=script&lang=js&\"\nexport * from \"./MainNav.vue?vue&type=script&lang=js&\"\nimport style0 from \"./MainNav.vue?vue&type=style&index=0&id=bfab64d6&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"bfab64d6\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('fieldset',{attrs:{\"id\":\"resource-details\"}},[_c('legend',[_vm._v(\"Details\")]),_c('div',{staticClass:\"resource-detail\"},[(!_vm.resourceID)?_c('div',[_c('span',[_vm._v(\"Please select a resource on your right.\")])]):_c('div',[_c('dd',{staticClass:\"key\"},[_vm._v(_vm._s(_vm.primitiveType))]),(_vm.resourceChange.action)?_c('span',{staticClass:\"tag is-small resource-action\"},[_vm._v(_vm._s(_vm.resourceChange.action))]):_vm._e(),_c('dt',{staticClass:\"value resource-id\"},[_vm._v(\" \"+_vm._s(_vm.resource.id)+\" \"),_c('button',{ref:\"rid\",staticClass:\"copy-button\",on:{\"click\":function($event){return _vm.copyText(_vm.resource.id, 'rid')}}},[_vm._v(\" Copy \")])]),_c('nav',{staticClass:\"tabs is-full\"},[_c('a',{class:{ active: _vm.curTab === 'config' },on:{\"click\":function($event){return _vm.selectTab('config')}}},[_vm._v(\"Config\")]),_c('a',{class:{ active: _vm.curTab === 'current', disabled: _vm.hasNoState },on:{\"click\":function($event){return _vm.selectTab('current')}}},[_vm._v(\"Current State\")]),_c('a',{class:{ active: _vm.curTab === 'proposed', disabled: _vm.hasNoState },on:{\"click\":function($event){return _vm.selectTab('proposed')}}},[_vm._v(\"Proposed State\")])]),(_vm.curTab === 'config')?_c('div',{staticClass:\"tab-container\"},[(\n _vm.resourceConfig.isChild == 'rover-for-each-child-resource-true'\n )?_c('span',{staticClass:\"is-child-resource\"},[_vm._v(\"Please check parent resource\")]):_vm._l((_vm.resourceConfig),function(val,k){return _c('div',{key:k},[_c('dd',{staticClass:\"key\"},[_vm._v(_vm._s(k))]),_c('dt',{staticClass:\"value\"},[_c('span',[_vm._v(_vm._s(_vm.getConfigValue(val)))]),_c('button',{ref:((_vm.resource.id) + \"-\" + k),refInFor:true,staticClass:\"copy-button\",on:{\"click\":function($event){_vm.copyText(_vm.getConfigValue(val), ((_vm.resource.id) + \"-\" + k))}}},[_vm._v(\" Copy \")])])])})],2):_vm._e(),(_vm.curTab === 'current')?_c('div',{staticClass:\"tab-container\"},[(_vm.resourceChange.before)?_c('span',_vm._l((_vm.resourceChange.before),function(val,k){return _c('div',{key:k},[_c('dd',{staticClass:\"key\"},[_vm._v(_vm._s(k))]),_c('dt',{staticClass:\"value\"},[_vm._v(\" \"+_vm._s(_vm.getBeforeValue(val))+\" \"),_c('button',{ref:((_vm.resource.id) + \"-\" + k),refInFor:true,staticClass:\"copy-button\",on:{\"click\":function($event){_vm.copyText(_vm.getBeforeValue(val), ((_vm.resource.id) + \"-\" + k))}}},[_vm._v(\" Copy \")])])])}),0):_c('span',[_vm._v(\"Resource doesn't currently exist.\")])]):_vm._e(),(_vm.curTab === 'proposed')?_c('div',{staticClass:\"tab-container\"},_vm._l((_vm.resourceChange.after),function(val,k){return _c('div',{key:k},[_c('dd',{staticClass:\"key\"},[_vm._v(_vm._s(k))]),(val)?_c('dt',{staticClass:\"value\",class:{ 'unknown-value': val.unknown }},[_vm._v(\" \"+_vm._s(val.unknown ? \"Value Unknown\" : val)+\" \"),_c('button',{ref:((_vm.resource.id) + \"-\" + k),refInFor:true,staticClass:\"copy-button\",on:{\"click\":function($event){_vm.copyText(_vm.getBeforeValue(val), ((_vm.resource.id) + \"-\" + k))}}},[_vm._v(\" Copy \")])]):_c('dt',{staticClass:\"value\"},[_vm._v(\"null\")])])}),0):_vm._e()])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ResourceDetail.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ResourceDetail.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ResourceDetail.vue?vue&type=template&id=4e3cd299&scoped=true&\"\nimport script from \"./ResourceDetail.vue?vue&type=script&lang=js&\"\nexport * from \"./ResourceDetail.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ResourceDetail.vue?vue&type=style&index=0&id=4e3cd299&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4e3cd299\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"graph\"}},[_c('fieldset',[_c('legend',[_vm._v(\"Graph\")]),_c('cytoscape',{ref:\"cy\",attrs:{\"config\":_vm.config,\"preConfig\":_vm.preConfig}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Graph.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Graph.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Graph.vue?vue&type=template&id=11c2dcd0&scoped=true&\"\nimport script from \"./Graph.vue?vue&type=script&lang=js&\"\nexport * from \"./Graph.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Graph.vue?vue&type=style&index=0&lang=css&\"\nimport style1 from \"./Graph.vue?vue&type=style&index=1&id=11c2dcd0&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"11c2dcd0\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('fieldset',[_c('legend',[_vm._v(\"Resources\")]),_c('File'),_vm._l((_vm.map.root),function(properties,fileName){return _c('div',{key:fileName},[_c('File',{attrs:{\"fileName\":fileName,\"resources\":properties.children},on:{\"selectResource\":_vm.selectResource}})],1)})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.fileName)?_c('div',{staticClass:\"file\"},[_c('div',{staticClass:\"row\",on:{\"click\":function($event){_vm.showChildren = !_vm.showChildren}}},[_c('img',{staticClass:\"file-expand-icon\",attrs:{\"src\":_vm.expandIcons[_vm.expandIcon]}}),_c('div',{staticClass:\"col-11 file-name\"},[_c('strong',{staticClass:\"text-lowercase\"},[_vm._v(_vm._s(_vm.fileName))])])]),_vm._l((_vm.sortedResources),function(resource){return [_c('transition-group',{key:resource[0],attrs:{\"name\":\"resources\"}},[(_vm.showChildren)?_c('resource-card',{key:resource[0],attrs:{\"id\":resource[0],\"content\":resource[1],\"isChild\":false,\"handle-click\":_vm.selectResource}}):_vm._e()],1)]})],2):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"card resource-main\",class:[\n _vm.isChild ? 'child' : '',\n (\"resource-card \" + (_vm.content.type)),\n _vm.content.change_action != null ? _vm.content.change_action : '',\n _vm.content.change_action != null ? '' : 'resource-type-card' ]},[_c('div',{staticClass:\"row\",on:{\"click\":function($event){return _vm.handleClick(_vm.id)}}},[_c('div',{staticClass:\"col col-6 resource-col\"},[_c('p',{staticClass:\"is-small resource-action\",on:{\"click\":function($event){_vm.showChildren = !_vm.showChildren}}},[_c('img',{staticClass:\"multi-tag resource-action-icon\",attrs:{\"src\":_vm.expandIcons[_vm.expandIcon]}})]),_c('p',{staticClass:\"resource-name\"},[_vm._v(\" \"+_vm._s(_vm.content.name)+\" \")])]),_c('div',{staticClass:\"col col-4\"},[(_vm.resourceProvider)?[(_vm.providerIcon[_vm.resourceProvider])?_c('img',{staticClass:\"provider-icon\",attrs:{\"src\":_vm.providerIcon[_vm.resourceProvider]}}):_c('span',{staticClass:\"tag is-small provider-icon-tag\"},[_vm._v(\" \"+_vm._s(_vm.resourceProvider[0])+\" \")])]:_vm._e(),_c('p',{staticClass:\"provider-resource-name\"},[_vm._v(\" \"+_vm._s(_vm.resourceProvider ? (_vm.resourceProvider + \".\") : \"\")+_vm._s(_vm.content.resource_type ? _vm.content.resource_type : \"\")+\" \")])],2),(_vm.content.line)?_c('div',{staticClass:\"col col-2 text-right\"},[_vm._v(\" Line: # \"),_c('span',{staticClass:\"line-number\"},[_vm._v(_vm._s(_vm.content.line))])]):_vm._e()]),_vm._l((_vm.sortedResources),function(resource){return [_c('transition-group',{key:resource[0],attrs:{\"name\":\"resources\"}},[(_vm.showChildren)?_c('resource-card',{key:resource[0],attrs:{\"id\":resource[0],\"content\":resource[1],\"isChild\":false,\"handle-click\":_vm.handleClick}}):_vm._e()],1)]})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ResourceCard.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ResourceCard.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ResourceCard.vue?vue&type=template&id=2a9b2d96&scoped=true&\"\nimport script from \"./ResourceCard.vue?vue&type=script&lang=js&\"\nexport * from \"./ResourceCard.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ResourceCard.vue?vue&type=style&index=0&id=2a9b2d96&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2a9b2d96\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./File.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./File.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./File.vue?vue&type=template&id=3d7b7730&scoped=true&\"\nimport script from \"./File.vue?vue&type=script&lang=js&\"\nexport * from \"./File.vue?vue&type=script&lang=js&\"\nimport style0 from \"./File.vue?vue&type=style&index=0&id=3d7b7730&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3d7b7730\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Explorer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Explorer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Explorer.vue?vue&type=template&id=1cda27d5&scoped=true&\"\nimport script from \"./Explorer.vue?vue&type=script&lang=js&\"\nexport * from \"./Explorer.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Explorer.vue?vue&type=style&index=0&id=1cda27d5&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1cda27d5\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--13-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--13-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=5cf12920&scoped=true&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=5cf12920&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5cf12920\",\n null\n \n)\n\nexport default component.exports","import Vue from 'vue';\nimport App from './App.vue';\nimport VueCytoscape from 'vue-cytoscape';\nimport VueMeta from 'vue-meta';\n\nVue.use(VueCytoscape);\nVue.use(VueMeta);\n\nVue.config.productionTip = false\n\nnew Vue({\n render: h => h(App),\n}).$mount('#app')\n","module.exports = __webpack_public_path__ + \"img/alert-triangle.d88bf755.svg\";","module.exports = __webpack_public_path__ + \"img/minus.f2deefda.svg\";","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=5cf12920&scoped=true&lang=css&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Explorer.vue?vue&type=style&index=0&id=1cda27d5&scoped=true&lang=css&\"","module.exports = __webpack_public_path__ + \"img/plus.b121a385.svg\";","module.exports = __webpack_public_path__ + \"img/gcp.2bdb5143.png\";","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./File.vue?vue&type=style&index=0&id=3d7b7730&scoped=true&lang=css&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ResourceCard.vue?vue&type=style&index=0&id=2a9b2d96&scoped=true&lang=css&\"","module.exports = __webpack_public_path__ + \"img/aws.082444af.png\";","module.exports = __webpack_public_path__ + \"img/refresh-cw.286819b2.svg\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Graph.vue?vue&type=style&index=0&lang=css&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MainNav.vue?vue&type=style&index=0&id=bfab64d6&scoped=true&lang=css&\"","module.exports = __webpack_public_path__ + \"img/arrow-up-circle.c7e27cfe.svg\";","module.exports = __webpack_public_path__ + \"img/helm.0d1950ff.png\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Graph.vue?vue&type=style&index=1&id=11c2dcd0&scoped=true&lang=css&\"","module.exports = __webpack_public_path__ + \"img/azure.0386fb3d.png\";"],"sourceRoot":""} \ No newline at end of file diff --git a/ui/dist/js/app.53202c6f.js b/ui/dist/js/app.53202c6f.js deleted file mode 100644 index a71eae5..0000000 --- a/ui/dist/js/app.53202c6f.js +++ /dev/null @@ -1,2 +0,0 @@ -(function(e){function t(t){for(var o,a,c=t[0],i=t[1],l=t[2],d=0,f=[];d1?"replace":s.actions[0]),o.before=s.before?s.before:null,o.after=s.after?s.after:{},s["after_unknown"]&&(o.after["value"]={unknown:!0}),o}return o={}}if(r){if(t.children[e]&&t.children[e].change){var a=t.children[e].change;if(a.actions&&(o.action=a.actions.length>1?"replace":a.actions[0]),o.before=a.before?a.before:null,o.after=a.after?a.after:null,a["after_unknown"])for(var c=0,i=Object.keys(a["after_unknown"]);c1?"replace":u.actions[0]),o.before=u.before?u.before:{},o.after=u.after?u.after:{},u["after_unknown"]&&Object.keys(u["after_unknown"]).forEach((function(e){o.after[e]={unknown:!0}}))}return o}},computed:{resource:function(){var e=this.resourceID.split("/").slice(-2).join("."),t=e.split("."),r=t.length-1,o=t.slice(2).join("."),n=t.slice(2,4).join(".").split("[")[0];return"output"!=t[r-1]||o.startsWith("output.")||(o="output.".concat(o)),"local"==t[r-1]&&(o="local.".concat(t[r])),null!=o.match(/^[\w-]+[[]/g)&&(o=t.slice(1).join("."),n=t.slice(1,4).join(".").split("[")[0]),{fileName:"".concat(t[0],".").concat(t[1]),id:o,parentID:n,resource_type:t[r-1],resource_name:t[r]}},primitiveType:function(){switch(this.resource.resource_type){case"output":case"var":case"local":return this.resource.resource_type;default:return this.resource.id.startsWith("data.")?"data":"resource"}},isChild:function(){return null!=this.resource.id.match(/^\w+\.[\w-]+[[.]/g)},hasNoState:function(){return this.resource.id.startsWith("var.")},resourceConfig:function(){return""===this.resource.id?{action:"",before:{}}:this.isChild?this.resource.id.startsWith("module.")?this.getResourceConfig(this.resource.id,this.overview.resources[this.resource.parentID].module_config,!0):this.getResourceConfig(this.resource.id,this.overview,!1):this.resource.id.startsWith("module.")?this.getResourceConfig(this.resource.id,this.overview.resources[this.resource.parentID].module_config,!1):this.getResourceConfig(this.resource.id,this.overview,!1)},resourceChange:function(){return""===this.resource.id?{action:"",before:{}}:this.isChild?(this.resource.id.startsWith("module."),this.getResourceChange(this.resource.id,this.overview.resources[this.resource.parentID],!0)):this.getResourceChange(this.resource.id,this.overview,!1)}},watch:{resourceID:function(e){e.includes("var.")&&(this.curTab="config")}},mounted:function(){var e=this;m.a.get("http://localhost:9000/api/rso").then((function(t){e.overview=t.data}))}},w=C,x=(r("3a09"),Object(u["a"])(w,h,p,!1,null,"0d84eb83",null)),k=x.exports,R=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("transition",{attrs:{name:"graph"}},[r("fieldset",[r("legend",[e._v("Graph")]),r("cytoscape",{ref:"cy",attrs:{config:e.config,preConfig:e.preConfig}})],1)])},j=[],T=(r("8a79"),r("4de4"),r("21a6")),I=r("8df5"),O=r.n(I),N=r("cc5f"),$=r.n(N),P={autounselectify:!0,style:[{selector:"node",style:{label:"data(label)",width:"500px","font-family":"Avenir, Helvetica, Arial, sans-serif","font-size":"2em"}},{selector:"edge",css:{"curve-style":"taxi","line-fill":"linear-gradient","line-gradient-stop-colors":"data(gradient)","line-dash-offset":24,width:10}},{selector:".basename",style:{padding:"200px","text-margin-y":75,"font-weight":"bold",shape:"roundrectangle","min-height":"400px","border-width":2,"border-color":"white","background-color":"#f4ecff"}},{selector:".fname",style:{padding:"100px","text-margin-y":75,"font-weight":"bold",shape:"roundrectangle","border-width":1,"border-color":"lightgrey","background-color":"white"}},{selector:".provider",style:{"text-valign":"center","text-halign":"center",padding:"1em",shape:"roundrectangle","border-width":0,color:"white","background-color":"black"}},{selector:".module",style:{padding:"100px","font-weight":"bold","text-margin-y":60,shape:"roundrectangle",color:"#8450ba","border-width":10,"border-color":"#8450ba","background-color":"white"}},{selector:".data-type",style:{padding:"10%",width:"label","font-weight":"bold","text-background-color":"white","text-background-opacity":1,"text-background-padding":"2em","text-margin-y":15,shape:"roundrectangle","border-width":"5px","border-color":"black","background-color":"white"}},{selector:".data-name",css:{"background-color":"#ffecec",color:"black","font-weight":"bold","text-valign":"center","text-halign":"center",padding:"1.5em",shape:"roundrectangle","border-opacity":1,"border-width":5,"border-color":"#dc477d",label:"data(label)"}},{selector:".output",css:{"background-color":"#fff7e0",color:"black","font-weight":"bold","text-valign":"center","text-halign":"center",padding:"1.5em",shape:"roundrectangle","border-opacity":1,"border-width":5,"border-color":"#ffc107",label:"data(label)"}},{selector:".variable",css:{"background-color":"#e1f0ff",color:"black","font-weight":"bold","text-valign":"center","text-halign":"center",padding:"1.5em",shape:"roundrectangle","border-opacity":1,"border-width":5,"border-color":"#1d7ada",label:"data(label)"}},{selector:".locals",css:{"background-color":"black",color:"white","font-weight":"bold","text-valign":"center","text-halign":"center",padding:"1.5em",shape:"roundrectangle","border-opacity":1,"border-width":5,"border-color":"black",label:"data(label)"}},{selector:".resource-type",style:{padding:"10%",width:"label","font-weight":"bold","text-background-color":"white","text-background-opacity":1,"text-background-padding":"2em","text-margin-y":15,shape:"roundrectangle","border-width":"5px","border-color":"black","background-color":"white"}},{selector:".resource-parent",style:{padding:"10%",width:"label","font-weight":"bold","text-background-color":"white","text-background-opacity":1,"text-background-padding":"2em","text-margin-y":15,shape:"roundrectangle","border-width":"5px","border-color":"black","background-color":"white"}},{selector:".resource-name",css:{"text-valign":"center","text-halign":"center",padding:"1.5em",shape:"roundrectangle","border-opacity":0,color:"white","background-color":"#8450ba","text-wrap":"ellipsis","text-max-width":500}},{selector:".create",css:{"background-color":"#28a745",color:"white","font-weight":"bold"}},{selector:".destroy",css:{"background-color":"#e40707",color:"white","font-weight":"bold"}},{selector:".update",css:{"background-color":"#1d7ada",color:"white","font-weight":"bold"}},{selector:".replace",css:{"background-color":"#ffc107",color:"black","font-weight":"bold"}},{selector:".no-op",css:{color:"black","border-opacity":1,"font-weight":"bold","border-width":"5px","border-color":"lightgray","background-color":"white"}},{selector:".invisible",css:{opacity:"0"}},{selector:".semitransp",css:{opacity:"0.4"}},{selector:"edge.semitransp",css:{opacity:"0"}},{selector:".visible",css:{opacity:"1"}},{selector:".dashed",css:{"line-style":"dashed","line-dash-pattern":[20,20]}}]},D={name:"Graph",data:function(){return{selectedNode:"",config:P,graph:{}}},methods:{preConfig:function(e){e.use(O.a),"function"!==typeof e("core","nodeHtmlLabel")&&e.use($.a)},renderGraph:function(){var e=this,t=this.$refs.cy.instance,r=t.elements();t.remove(r),this.graph.nodes.forEach((function(e){t.add(e)})),this.graph.edges.forEach((function(e){e.data.id.includes("-variable")||e.data.id.includes("-output")||t.add(e)})),this.runLayouts(),t.on("click","node",(function(t){for(var r=t.target,o={id:r.data().id,in:[],out:[]},n=r.connectedEdges(),s=0;s0;u--)l.push(i[u].id());l.push(r.id()),e.$emit("getNode",l.join("/"))}})),t.on("mouseover","node",(function(t){var r=t.target;e.selectedNode||e.highlightNodePaths(r)})),t.on("mouseout","node",(function(t){var r=t.target;e.selectedNode||e.unhighlightNodePaths(r)}))},highlightNodePaths:function(e){var t=this.$refs.cy.instance;["basename","fname"].includes(e.data().type)||e.isParent()&&"module"!==e.data().type||(t.elements().difference(e.outgoers().union(e.incomers())).filter((function(e){if(!["basename","fname"].includes(e.data().type))return e})).not(e).not(e.parent()).not(e.parent().parent()).addClass("semitransp"),e.neighborhood().union(e.neighborhood().parent()).addClass("visible"),e.incomers().addClass("dashed"))},unhighlightNodePaths:function(e){var t=this.$refs.cy.instance;e.data().type.includes["fname"]||t.elements().removeClass("semitransp").removeClass("visible").removeClass("dashed")},saveGraph:function(){var e=this.$refs.cy.instance;Object(T["saveAs"])(e.png({full:!0}),"rover.png")},runLayouts:function(){var e=this.$refs.cy.instance;e.layout({name:"klay",nodeDimensionsIncludeLabels:!0,klay:{direction:"RIGHT",borderSpacing:100,spacing:30}}).run()}},mounted:function(){var e=this;m.a.get("http://localhost:9000/api/graph").then((function(t){e.graph=t.data,e.renderGraph()}))}},G=D,S=(r("b44b"),r("916c"),Object(u["a"])(G,R,j,!1,null,"3718cd32",null)),E=S.exports,M=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("fieldset",[r("legend",[e._v("Resources")]),r("File"),e._l(e.map.files,(function(t,o){return r("div",{key:o},[r("File",{attrs:{fileName:o,resources:t},on:{selectResource:e.selectResource}})],1)}))],2)},V=[],W=(r("d81d"),function(){var e=this,t=e.$createElement,r=e._self._c||t;return e.fileName?r("div",{staticClass:"file"},[r("div",{staticClass:"row",on:{click:function(t){e.showChildren=!e.showChildren}}},[r("img",{staticClass:"file-expand-icon",attrs:{src:e.expandIcons[e.expandIcon]}}),r("div",{staticClass:"col-11 file-name"},[r("strong",{staticClass:"text-lowercase"},[e._v(e._s(e.fileName))])])]),e._l(e.sortedResources,(function(t){return[r("transition-group",{key:t[0],attrs:{name:"resources"}},[e.showChildren?r("resource-card",{key:t[0],attrs:{id:t[0],content:t[1],isChild:!1,"handle-click":e.selectResource}}):e._e()],1)]}))],2):e._e()}),A=[],F=(r("4fad"),function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticClass:"card resource-main",class:[e.isChild?"child":"","resource-card "+e.content.type,null!=e.content.change_action?e.content.change_action:"",null!=e.content.change_action?"":"resource-type-card"]},[r("div",{staticClass:"row",on:{click:function(t){return e.handleClick(e.id)}}},[r("div",{staticClass:"col col-6 resource-col"},[r("p",{staticClass:"is-small resource-action",on:{click:function(t){e.showChildren=!e.showChildren}}},[r("img",{staticClass:"multi-tag resource-action-icon",attrs:{src:e.expandIcons[e.expandIcon]}})]),r("p",{staticClass:"resource-name"},[e._v(" "+e._s(e.content.name)+" ")])]),r("div",{staticClass:"col col-4"},[e.resourceProvider?[e.providerIcon[e.resourceProvider]?r("img",{staticClass:"provider-icon",attrs:{src:e.providerIcon[e.resourceProvider]}}):r("span",{staticClass:"tag is-small provider-icon-tag"},[e._v(" "+e._s(e.resourceProvider[0])+" ")])]:e._e(),r("p",{staticClass:"provider-resource-name"},[e._v(" "+e._s(e.resourceProvider?e.resourceProvider+".":"")+e._s(e.content.resource_type?e.content.resource_type:"")+" ")])],2),e.isChild?e._e():r("div",{staticClass:"col col-2 text-right"},[e._v(" Line: # "),r("span",{staticClass:"line-number"},[e._v(e._s(e.content.line))])])]),e._l(e.content.children,(function(t,o){return[r("transition-group",{key:o,attrs:{name:"resources"}},[e.showChildren?r("resource-card",{key:o,attrs:{id:o,content:t,isChild:!0,"handle-click":e.handleClick}}):e._e()],1)]}))],2)}),L=[],z={name:"ResourceCard",props:{id:String,content:Object,isChild:Boolean,handleClick:Function},data:function(){return{showChildren:!1,providerIcon:{aws:r("a06f"),azure:r("e73c"),gcp:r("6c11"),helm:r("d833"),kubernetes:r("133a")},resourceChangeIcons:{create:r("6b56"),read:null,"no-op":null,update:r("5ba8"),delete:r("5daf"),replace:r("b40f")},expandIcons:{null:null,expand:r("32cb"),collapse:r("c88e")}}},methods:{},computed:{expandIcon:function(){return this.content.children?this.showChildren?"collapse":"expand":null},resourceProvider:function(){return this.content.provider?this.content.provider:this.content.resource_type?this.content.resource_type.split("_")[0]:null}}},B=z,H=(r("34a4"),Object(u["a"])(B,F,L,!1,null,"11b846ff",null)),J=H.exports,U={name:"File",components:{ResourceCard:J},props:{fileName:String,resources:Object},data:function(){return{showChildren:!0,expandIcons:{expand:r("32cb"),collapse:r("c88e")}}},methods:{selectResource:function(e){this.$emit("selectResource","".concat(this.fileName,"/").concat(e))}},computed:{expandIcon:function(){return this.showChildren?"collapse":"expand"},sortedResources:function(){var e=Object.entries(this.resources).sort((function(e,t){return e[1].line-t[1].line}));return e}}},q=U,K=(r("bf1c"),Object(u["a"])(q,W,A,!1,null,"5ef7e534",null)),Q=K.exports,X={name:"Explorer",components:{File:Q},data:function(){return{map:{}}},methods:{selectResource:function(e){this.$emit("selectResource",e)}},mounted:function(){var e=this;m.a.get("http://localhost:9000/api/map").then((function(t){e.map=t.data}))}},Y=X,Z=(r("7b98"),Object(u["a"])(Y,M,V,!1,null,"459dfd99",null)),ee=Z.exports,te={name:"App",metaInfo:{title:"Rover | Terraform Visualization"},components:{MainNav:f,Graph:E,Explorer:ee,ResourceDetail:k},data:function(){return{displayGraph:!0,resourceID:""}},methods:{saveGraph:function(){this.$refs.filegraph.saveGraph()},selectResource:function(e){this.resourceID=e}}},re=te,oe=(r("e873"),Object(u["a"])(re,n,s,!1,null,"08c2df7e",null)),ne=oe.exports,se=r("3a6f"),ae=r.n(se),ce=r("58ca");o["default"].use(ae.a),o["default"].use(ce["a"]),o["default"].config.productionTip=!1,new o["default"]({render:function(e){return e(ne)}}).$mount("#app")},"579a":function(e,t,r){},"5ba8":function(e,t,r){e.exports=r.p+"img/alert-triangle.d88bf755.svg"},"5daf":function(e,t,r){e.exports=r.p+"img/minus.f2deefda.svg"},"6b56":function(e,t,r){e.exports=r.p+"img/plus.b121a385.svg"},"6c11":function(e,t,r){e.exports=r.p+"img/gcp.2bdb5143.png"},"7b98":function(e,t,r){"use strict";r("f656")},"916c":function(e,t,r){"use strict";r("c2d4")},"96c3":function(e,t,r){},a06f:function(e,t,r){e.exports=r.p+"img/aws.082444af.png"},b40f:function(e,t,r){e.exports=r.p+"img/refresh-cw.286819b2.svg"},b44b:function(e,t,r){"use strict";r("579a")},bf1c:function(e,t,r){"use strict";r("96c3")},c2d4:function(e,t,r){},c88e:function(e,t,r){e.exports=r.p+"img/arrow-up-circle.c7e27cfe.svg"},d833:function(e,t,r){e.exports=r.p+"img/helm.0d1950ff.png"},e73c:function(e,t,r){e.exports=r.p+"img/azure.0386fb3d.png"},e873:function(e,t,r){"use strict";r("2b6d")},f656:function(e,t,r){}}); -//# sourceMappingURL=app.53202c6f.js.map \ No newline at end of file diff --git a/ui/dist/js/app.53202c6f.js.map b/ui/dist/js/app.53202c6f.js.map deleted file mode 100644 index df8f3ce..0000000 --- a/ui/dist/js/app.53202c6f.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/assets/provider-icons/kubernetes.png","webpack:///./src/assets/icons/arrow-down-circle.svg","webpack:///./src/components/ResourceCard.vue?64ec","webpack:///./src/components/ResourceDetail.vue?e39a","webpack:///./src/components/MainNav.vue?9762","webpack:///./src/App.vue?74c7","webpack:///./src/components/MainNav.vue?5e8d","webpack:///src/components/MainNav.vue","webpack:///./src/components/MainNav.vue?5830","webpack:///./src/components/MainNav.vue?15a6","webpack:///./src/components/ResourceDetail.vue?9262","webpack:///src/components/ResourceDetail.vue","webpack:///./src/components/ResourceDetail.vue?5275","webpack:///./src/components/ResourceDetail.vue?559c","webpack:///./src/components/Graph/Graph.vue?bbcd","webpack:///src/components/Graph/Graph.vue","webpack:///./src/components/Graph/Graph.vue?d773","webpack:///./src/components/Graph/Graph.vue?658e","webpack:///./src/components/Explorer.vue?1ce2","webpack:///./src/components/File.vue?ba8f","webpack:///./src/components/ResourceCard.vue?9d68","webpack:///src/components/ResourceCard.vue","webpack:///./src/components/ResourceCard.vue?e3cd","webpack:///./src/components/ResourceCard.vue?d861","webpack:///src/components/File.vue","webpack:///./src/components/File.vue?84ad","webpack:///./src/components/File.vue?174b","webpack:///src/components/Explorer.vue","webpack:///./src/components/Explorer.vue?6c08","webpack:///./src/components/Explorer.vue?dced","webpack:///src/App.vue","webpack:///./src/App.vue?1160","webpack:///./src/App.vue?bff9","webpack:///./src/main.js","webpack:///./src/assets/resource-icons/alert-triangle.svg","webpack:///./src/assets/resource-icons/minus.svg","webpack:///./src/assets/resource-icons/plus.svg","webpack:///./src/assets/provider-icons/gcp.png","webpack:///./src/components/Explorer.vue?151f","webpack:///./src/components/Graph/Graph.vue?5675","webpack:///./src/assets/provider-icons/aws.png","webpack:///./src/assets/resource-icons/refresh-cw.svg","webpack:///./src/components/Graph/Graph.vue?a446","webpack:///./src/components/File.vue?5e64","webpack:///./src/assets/icons/arrow-up-circle.svg","webpack:///./src/assets/provider-icons/helm.png","webpack:///./src/assets/provider-icons/azure.png","webpack:///./src/App.vue?d5aa"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","_vm","this","_h","$createElement","_c","_self","attrs","on","saveGraph","staticClass","_m","resourceID","ref","displayGraph","selectResource","staticRenderFns","_v","$event","colorMode","graph","methods","switchMode","bodyClass","contains","localStorage","$emit","mounted","component","_s","primitiveType","resourceChange","action","_e","resource","id","copyText","class","active","curTab","selectTab","disabled","hasNoState","resourceConfig","isChild","_l","val","k","getConfigValue","refInFor","getBeforeValue","unknown","props","String","overview","tab","onCopy","updateCopyText","Array","isArray","$refs","innerText","setTimeout","references","join","constant_value","getAfterValue","getResourceConfig","startsWith","model","variables","replace","output","config","source","resources","for_each_expression","count_expression","assign","getResourceChange","change","actions","rc","before","after","children","keys","computed","rArray","lastIndex","match","parentID","split","fileName","resource_type","resource_name","watch","newVal","includes","preConfig","autounselectify","style","selectedNode","cy","use","renderGraph","remove","el","nodes","forEach","add","edges","runLayouts","event","target","ed","node","out","in","rg","endsWith","type","vm","unhighlightNodePaths","highlightNodePaths","nodeID","na","elements","incomers","addClass","layout","nodeDimensionsIncludeLabels","klay","direction","borderSpacing","spacing","map","showChildren","expandIcons","expandIcon","content","change_action","handleClick","providerIcon","resourceProvider","line","resourceId","Boolean","Function","aws","azure","gcp","helm","kubernetes","resourceChangeIcons","read","update","delete","null","expand","collapse","provider","components","ResourceCard","sortedResources","sorted","File","metaInfo","title","MainNav","Graph","Explorer","ResourceDetail","filegraph","Vue","VueCytoscape","VueMeta","productionTip","render","h","App","$mount"],"mappings":"aACE,SAASA,EAAqBC,GAQ7B,IAPA,IAMIC,EAAUC,EANVC,EAAWH,EAAK,GAChBI,EAAcJ,EAAK,GACnBK,EAAiBL,EAAK,GAIHM,EAAI,EAAGC,EAAW,GACpCD,EAAIH,EAASK,OAAQF,IACzBJ,EAAUC,EAASG,GAChBG,OAAOC,UAAUC,eAAeC,KAAKC,EAAiBX,IAAYW,EAAgBX,IACpFK,EAASO,KAAKD,EAAgBX,GAAS,IAExCW,EAAgBX,GAAW,EAE5B,IAAID,KAAYG,EACZK,OAAOC,UAAUC,eAAeC,KAAKR,EAAaH,KACpDc,EAAQd,GAAYG,EAAYH,IAG/Be,GAAqBA,EAAoBhB,GAE5C,MAAMO,EAASC,OACdD,EAASU,OAATV,GAOD,OAHAW,EAAgBJ,KAAKK,MAAMD,EAAiBb,GAAkB,IAGvDe,IAER,SAASA,IAER,IADA,IAAIC,EACIf,EAAI,EAAGA,EAAIY,EAAgBV,OAAQF,IAAK,CAG/C,IAFA,IAAIgB,EAAiBJ,EAAgBZ,GACjCiB,GAAY,EACRC,EAAI,EAAGA,EAAIF,EAAed,OAAQgB,IAAK,CAC9C,IAAIC,EAAQH,EAAeE,GACG,IAA3BX,EAAgBY,KAAcF,GAAY,GAE3CA,IACFL,EAAgBQ,OAAOpB,IAAK,GAC5Be,EAASM,EAAoBA,EAAoBC,EAAIN,EAAe,KAItE,OAAOD,EAIR,IAAIQ,EAAmB,GAKnBhB,EAAkB,CACrB,IAAO,GAGJK,EAAkB,GAGtB,SAASS,EAAoB1B,GAG5B,GAAG4B,EAAiB5B,GACnB,OAAO4B,EAAiB5B,GAAU6B,QAGnC,IAAIC,EAASF,EAAiB5B,GAAY,CACzCK,EAAGL,EACH+B,GAAG,EACHF,QAAS,IAUV,OANAf,EAAQd,GAAUW,KAAKmB,EAAOD,QAASC,EAAQA,EAAOD,QAASH,GAG/DI,EAAOC,GAAI,EAGJD,EAAOD,QAKfH,EAAoBM,EAAIlB,EAGxBY,EAAoBO,EAAIL,EAGxBF,EAAoBQ,EAAI,SAASL,EAASM,EAAMC,GAC3CV,EAAoBW,EAAER,EAASM,IAClC3B,OAAO8B,eAAeT,EAASM,EAAM,CAAEI,YAAY,EAAMC,IAAKJ,KAKhEV,EAAoBe,EAAI,SAASZ,GACX,qBAAXa,QAA0BA,OAAOC,aAC1CnC,OAAO8B,eAAeT,EAASa,OAAOC,YAAa,CAAEC,MAAO,WAE7DpC,OAAO8B,eAAeT,EAAS,aAAc,CAAEe,OAAO,KAQvDlB,EAAoBmB,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQlB,EAAoBkB,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,kBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAKxC,OAAOyC,OAAO,MAGvB,GAFAvB,EAAoBe,EAAEO,GACtBxC,OAAO8B,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOlB,EAAoBQ,EAAEc,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIRtB,EAAoB0B,EAAI,SAAStB,GAChC,IAAIM,EAASN,GAAUA,EAAOiB,WAC7B,WAAwB,OAAOjB,EAAO,YACtC,WAA8B,OAAOA,GAEtC,OADAJ,EAAoBQ,EAAEE,EAAQ,IAAKA,GAC5BA,GAIRV,EAAoBW,EAAI,SAASgB,EAAQC,GAAY,OAAO9C,OAAOC,UAAUC,eAAeC,KAAK0C,EAAQC,IAGzG5B,EAAoB6B,EAAI,IAExB,IAAIC,EAAaC,OAAO,gBAAkBA,OAAO,iBAAmB,GAChEC,EAAmBF,EAAW3C,KAAKsC,KAAKK,GAC5CA,EAAW3C,KAAOf,EAClB0D,EAAaA,EAAWG,QACxB,IAAI,IAAItD,EAAI,EAAGA,EAAImD,EAAWjD,OAAQF,IAAKP,EAAqB0D,EAAWnD,IAC3E,IAAIU,EAAsB2C,EAI1BzC,EAAgBJ,KAAK,CAAC,EAAE,kBAEjBM,K,gECvJTW,EAAOD,QAAU,IAA0B,+B,gDCA3CC,EAAOD,QAAU,IAA0B,sC,oCCA3C,W,oCCAA,W,6GCAA,W,mGCAI,EAAS,WAAa,IAAI+B,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,MAAM,CAAC,GAAK,QAAQ,CAACF,EAAG,WAAW,CAACG,GAAG,CAAC,UAAYP,EAAIQ,aAAaJ,EAAG,MAAM,CAACK,YAAY,OAAO,CAACL,EAAG,MAAM,CAACK,YAAY,gBAAgB,CAACT,EAAIU,GAAG,GAAGN,EAAG,kBAAkB,CAACE,MAAM,CAAC,WAAaN,EAAIW,eAAe,GAAGP,EAAG,MAAM,CAACK,YAAY,gBAAgB,CAACL,EAAG,QAAQ,CAACQ,IAAI,YAAYN,MAAM,CAAC,aAAeN,EAAIa,cAAcN,GAAG,CAAC,QAAUP,EAAIc,kBAAkBV,EAAG,WAAW,CAACG,GAAG,CAAC,eAAiBP,EAAIc,mBAAmB,MAAM,IAC1gBC,EAAkB,CAAC,WAAa,IAAIf,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,WAAW,CAACA,EAAG,SAAS,CAACJ,EAAIgB,GAAG,YAAYZ,EAAG,IAAI,CAACJ,EAAIgB,GAAG,kBAAkBZ,EAAG,MAAMA,EAAG,IAAI,CAACJ,EAAIgB,GAAG,oHAAoHZ,EAAG,IAAI,CAACJ,EAAIgB,GAAG,uJAAuJZ,EAAG,MAAMA,EAAG,IAAI,CAACJ,EAAIgB,GAAG,cAAcZ,EAAG,MAAMA,EAAG,MAAM,CAACK,YAAY,eAAe,CAACT,EAAIgB,GAAG,uBAAuBZ,EAAG,MAAM,CAACK,YAAY,gBAAgB,CAACT,EAAIgB,GAAG,wBAAwBZ,EAAG,MAAM,CAACK,YAAY,gBAAgB,CAACT,EAAIgB,GAAG,wBAAwBZ,EAAG,MAAM,CAACK,YAAY,eAAe,CAACT,EAAIgB,GAAG,uBAAuBZ,EAAG,MAAM,CAACK,YAAY,cAAc,CAACT,EAAIgB,GAAG,6BAA6BZ,EAAG,MAAMA,EAAG,IAAI,CAACJ,EAAIgB,GAAG,iBAAiBZ,EAAG,MAAMA,EAAG,MAAM,CAACK,YAAY,iBAAiB,CAACT,EAAIgB,GAAG,cAAcZ,EAAG,MAAM,CAACK,YAAY,eAAe,CAACT,EAAIgB,GAAG,YAAYZ,EAAG,MAAM,CAACK,YAAY,aAAa,CAACT,EAAIgB,GAAG,UAAUZ,EAAG,MAAM,CAACK,YAAY,eAAe,CAACT,EAAIgB,GAAG,YAAYZ,EAAG,MAAM,CAACK,YAAY,eAAe,CAACT,EAAIgB,GAAG,WAAWZ,EAAG,UCDrsC,EAAS,WAAa,IAAIJ,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACK,YAAY,OAAO,CAACT,EAAIU,GAAG,GAAGN,EAAG,MAAM,CAACK,YAAY,aAAa,CAACL,EAAG,IAAI,CAACK,YAAY,iBAAiBF,GAAG,CAAC,MAAQ,SAASU,GAAQ,OAAOjB,EAAIQ,eAAe,CAACR,EAAIgB,GAAG,qBAC5Q,EAAkB,CAAC,WAAa,IAAIhB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACK,YAAY,YAAY,CAACL,EAAG,IAAI,CAACK,YAAY,QAAQH,MAAM,CAAC,KAAO,uCAAuC,CAACF,EAAG,KAAK,CAACJ,EAAIgB,GAAG,wCCmB/O,GACEzC,KAAM,UACNpC,KAFF,WAGI,MAAO,CACL+E,UAAW,KACXC,OAAO,IAGXC,QAAS,CACPC,WADJ,WAEM,IAAN,0BACMC,EAAUC,SAAS,SACzB,uCACA,mCAEMC,aAAaN,UAAYjB,KAAKiB,WAOhCV,UAdJ,WAeMP,KAAKwB,MAAM,aAAa,KAG5BC,QA1BF,cCpBiV,I,wBCQ7UC,EAAY,eACd,EACA,EACA,GACA,EACA,KACA,WACA,MAIa,EAAAA,E,QCnBX,EAAS,WAAa,IAAI3B,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,WAAW,CAACE,MAAM,CAAC,GAAK,qBAAqB,CAACF,EAAG,SAAS,CAACJ,EAAIgB,GAAG,aAAaZ,EAAG,MAAM,CAACK,YAAY,mBAAmB,CAAGT,EAAIW,WAAuFP,EAAG,MAAM,CAACA,EAAG,KAAK,CAACK,YAAY,OAAO,CAACT,EAAIgB,GAAGhB,EAAI4B,GAAG5B,EAAI6B,kBAAmB7B,EAAI8B,eAAqB,OAAE1B,EAAG,OAAO,CAACK,YAAY,gCAAgC,CAACT,EAAIgB,GAAGhB,EAAI4B,GAAG5B,EAAI8B,eAAeC,WAAW/B,EAAIgC,KAAK5B,EAAG,KAAK,CAACK,YAAY,qBAAqB,CAACT,EAAIgB,GAAG,IAAIhB,EAAI4B,GAAG5B,EAAIiC,SAASC,IAAI,KAAK9B,EAAG,SAAS,CAACQ,IAAI,MAAMH,YAAY,cAAcF,GAAG,CAAC,MAAQ,SAASU,GAAQ,OAAOjB,EAAImC,SAASnC,EAAIiC,SAASC,GAAI,UAAU,CAAClC,EAAIgB,GAAG,cAAcZ,EAAG,MAAM,CAACK,YAAY,gBAAgB,CAACL,EAAG,IAAI,CAACgC,MAAM,CAAEC,OAAuB,WAAfrC,EAAIsC,QAAsB/B,GAAG,CAAC,MAAQ,SAASU,GAAQ,OAAOjB,EAAIuC,UAAU,aAAa,CAACvC,EAAIgB,GAAG,YAAYZ,EAAG,IAAI,CAACgC,MAAM,CAAEC,OAAuB,YAAfrC,EAAIsC,OAAsBE,SAAUxC,EAAIyC,YAAalC,GAAG,CAAC,MAAQ,SAASU,GAAQ,OAAOjB,EAAIuC,UAAU,cAAc,CAACvC,EAAIgB,GAAG,mBAAmBZ,EAAG,IAAI,CAACgC,MAAM,CAAEC,OAAuB,aAAfrC,EAAIsC,OAAuBE,SAAUxC,EAAIyC,YAAalC,GAAG,CAAC,MAAQ,SAASU,GAAQ,OAAOjB,EAAIuC,UAAU,eAAe,CAACvC,EAAIgB,GAAG,sBAAsC,WAAfhB,EAAIsC,OAAqBlC,EAAG,MAAM,CAACK,YAAY,iBAAiB,CACzwC,sCAA9BT,EAAI0C,eAAeC,QACnBvC,EAAG,OAAO,CAACK,YAAY,qBAAqB,CAACT,EAAIgB,GAAG,kCAAkChB,EAAI4C,GAAI5C,EAAkB,gBAAE,SAAS6C,EAAIC,GAAG,OAAO1C,EAAG,MAAM,CAACd,IAAIwD,GAAG,CAAC1C,EAAG,KAAK,CAACK,YAAY,OAAO,CAACT,EAAIgB,GAAGhB,EAAI4B,GAAGkB,MAAM1C,EAAG,KAAK,CAACK,YAAY,SAAS,CAACL,EAAG,OAAO,CAACJ,EAAIgB,GAAGhB,EAAI4B,GAAG5B,EAAI+C,eAAeF,OAASzC,EAAG,SAAS,CAACQ,IAAMZ,EAAIiC,SAAW,GAAI,IAAMa,EAAGE,UAAS,EAAKvC,YAAY,cAAcF,GAAG,CAAC,MAAQ,SAASU,GAAQjB,EAAImC,SAASnC,EAAI+C,eAAeF,GAAQ7C,EAAIiC,SAAW,GAAI,IAAMa,MAAO,CAAC9C,EAAIgB,GAAG,oBAAmB,GAAGhB,EAAIgC,KAAqB,YAAfhC,EAAIsC,OAAsBlC,EAAG,MAAM,CAACK,YAAY,iBAAiB,CAAET,EAAI8B,eAAqB,OAAE1B,EAAG,OAAOJ,EAAI4C,GAAI5C,EAAI8B,eAAqB,QAAE,SAASe,EAAIC,GAAG,OAAO1C,EAAG,MAAM,CAACd,IAAIwD,GAAG,CAAC1C,EAAG,KAAK,CAACK,YAAY,OAAO,CAACT,EAAIgB,GAAGhB,EAAI4B,GAAGkB,MAAM1C,EAAG,KAAK,CAACK,YAAY,SAAS,CAACT,EAAIgB,GAAGhB,EAAI4B,GAAG5B,EAAIiD,eAAeJ,OAASzC,EAAG,SAAS,CAACQ,IAAMZ,EAAIiC,SAAW,GAAI,IAAMa,EAAGE,UAAS,EAAKvC,YAAY,cAAcF,GAAG,CAAC,MAAQ,SAASU,GAAQjB,EAAImC,SAASnC,EAAIiD,eAAeJ,GAAQ7C,EAAIiC,SAAW,GAAI,IAAMa,MAAO,CAAC9C,EAAIgB,GAAG,iBAAgB,GAAGZ,EAAG,OAAO,CAACJ,EAAIgB,GAAG,yCAAyChB,EAAIgC,KAAqB,aAAfhC,EAAIsC,OAAuBlC,EAAG,MAAM,CAACK,YAAY,iBAAiBT,EAAI4C,GAAI5C,EAAI8B,eAAoB,OAAE,SAASe,EAAIC,GAAG,OAAO1C,EAAG,MAAM,CAACd,IAAIwD,GAAG,CAAC1C,EAAG,KAAK,CAACK,YAAY,OAAO,CAACT,EAAIgB,GAAGhB,EAAI4B,GAAGkB,MAAM,EAAM1C,EAAG,KAAK,CAACK,YAAY,QAAQ2B,MAAM,CAAE,gBAAiBS,EAAIK,UAAW,CAAClD,EAAIgB,GAAG,IAAIhB,EAAI4B,GAAGiB,EAAIK,QAAU,gBAAkBL,GAAK,KAAKzC,EAAG,SAAS,CAACQ,IAAMZ,EAAIiC,SAAW,GAAI,IAAMa,EAAGE,UAAS,EAAKvC,YAAY,cAAcF,GAAG,CAAC,MAAQ,SAASU,GAAQjB,EAAImC,SAASnC,EAAIiD,eAAeJ,GAAQ7C,EAAIiC,SAAW,GAAI,IAAMa,MAAO,CAAC9C,EAAIgB,GAAG,cAAcZ,EAAG,KAAK,CAACK,YAAY,SAAS,CAACT,EAAIgB,GAAG,eAAc,GAAGhB,EAAIgC,OAFj8C5B,EAAG,MAAM,CAACA,EAAG,OAAO,CAACJ,EAAIgB,GAAG,oDAGtQ,EAAkB,G,4LCsHtB,GACEzC,KAAM,iBACN4E,MAAO,CACLxC,WAAYyC,QAEdjH,KALF,WAMI,MAAO,CACLmG,OAAQ,SACRe,SAAU,KAGdjC,QAAS,CACPmB,UADJ,SACA,GACWtC,KAAKwC,aACRxC,KAAKqC,OAASgB,IAGlBnB,SANJ,SAMA,KACM,IAAN,GACQoB,OAAQtD,KAAKuD,eAAe5C,MAGhC4C,eAXJ,SAWA,cAEUC,MAAMC,QAAQzD,KAAK0D,MAAM/C,KAC3BX,KAAK0D,MAAM/C,GAAK,GAAGgD,UAAY,SAC/BC,YAAW,WACT,EAAV,+BACA,OAEQ5D,KAAK0D,MAAM/C,GAAKgD,UAAY,SAC5BC,YAAW,WACT,EAAV,4BACA,OAGId,eAzBJ,SAyBA,GACM,OAAIF,EAAIiB,WACCjB,EAAIiB,WAAWC,KAAK,MACnC,iBACelB,EAAImB,eAEJnB,GAAY,QAGvBI,eAlCJ,SAkCA,GACM,OAAOJ,GAAY,QAErBoB,cArCJ,SAqCA,GACM,OAAOpB,GAAY,QAErBqB,kBAxCJ,SAwCA,OAKM,GAAIvD,EAAWwD,WAAW,QACxB,OAAOC,EAAMC,UAAU1D,EAAW2D,QAAQ,OAAQ,KAGpD,GAAI3D,EAAWwD,WAAW,WAAY,CACpC,IAAR,0BACQ,GAAIC,EAAMG,OAAOrC,GACf,OAAOkC,EAAMG,OAAOrC,GAAIsC,OAI5B,GAAI7D,EAAWwD,WAAW,WAAY,CACpC,GAAIxB,EAAS,CACX,IADV,EACA,kCADA,iBAGA,oBAHA,IAGA,0CACA,iBACA,SAQA,OAPA,wBACA,kCAEA,qBACA,4BAGA,iCAbA,+BAkBQ,OAAO,gBACL8B,OAAQL,EAAMK,QACxB,eAIM,GAAI9B,EAAS,MAAO,CAA1B,8CACM,GAAIyB,EAAMM,UAAU/D,IAAeyD,EAAMM,UAAU/D,GAAY6D,OAAQ,CACrE,IAAR,KAOQ,OANIJ,EAAMM,UAAU/D,GAAY6D,OAAOG,sBACrC,EAAV,oDAEYP,EAAMM,UAAU/D,GAAY6D,OAAOI,mBACrC,EAAV,8CAEehI,OAAOiI,OACtB,EACA,mCAKM,MAAO,IAETC,kBAnGJ,SAmGA,OAIM,IAAN,KAEM,GAAInE,EAAWwD,WAAW,QACxB,OAAO,EAAf,GAEM,GAAIxD,EAAWwD,WAAW,WAAY,CACpC,IAAR,0BAEQ,GAAIC,EAAMG,OAAOrC,IAAOkC,EAAMG,OAAOrC,GAAI6C,OAAQ,CAC/C,IAAV,qBAcU,OAZI1G,EAAE2G,UACJC,EAAGlD,OAAS1D,EAAE2G,QAAQrI,OAAS,EAAI,UAAY0B,EAAE2G,QAAQ,IAE3DC,EAAGC,OAAS7G,EAAE6G,OAAS7G,EAAE6G,OAAS,KAClCD,EAAGE,MAAQ9G,EAAE8G,MAAQ9G,EAAE8G,MAAQ,GAE3B9G,EAAE,mBACJ4G,EAAGE,MAAM,SAAW,CAAhC,aAKiBF,EAET,OAAO,EAAf,GAGM,GAAItC,EAAS,CACX,GAAIyB,EAAMgB,SAASzE,IAAeyD,EAAMgB,SAASzE,GAAYoE,OAAQ,CACnE,IAAV,uBAUU,GANI,EAAd,UACYE,EAAGlD,OAAS,EAAxB,yCAEUkD,EAAGC,OAAS,EAAtB,qBACUD,EAAGE,MAAQ,EAArB,mBAEc,EAAd,iBACY,IAAK,IAAjB,iEACcF,EAAGE,MAAMrC,GAAK,CAA5B,YAMU,OAAOmC,EAET,OAAO,EAAf,GAIM,GAAIb,EAAMM,UAAU/D,IAAeyD,EAAMM,UAAU/D,GAAYoE,OAAQ,CACrE,IAAR,wBAEY,EAAZ,UACUE,EAAGlD,OAAS,EAAtB,yCAEQkD,EAAGC,OAAS,EAApB,mBACQD,EAAGE,MAAQ,EAAnB,iBAEY,EAAZ,kBACUvI,OAAOyI,KAAK,EAAtB,uCACYJ,EAAGE,MAAMrC,GAAK,CAA1B,eAKM,OAAOmC,IAGXK,SAAU,CACRrD,SADJ,WAEM,IAAN,iDACA,eACA,aAEA,uBACA,uCAmBM,MAhBN,kBACA,0BAEQtB,EAAa,UAArB,WAGmC,SAAzB4E,EAAOC,EAAY,KACrB7E,EAAa,SAArB,cAI6C,MAAnCA,EAAW8E,MAAM,iBACnB9E,EAAa4E,EAAOxF,MAAM,GAAGgE,KAAK,KAClC2B,EAAWH,EAAOxF,MAAM,EAAG,GAAGgE,KAAK,KAAK4B,MAAM,KAAK,IAG9C,CACLC,SAAU,GAAlB,8BACQ1D,GAAIvB,EACJ+E,SAAUA,EACVG,cAAeN,EAAOC,EAAY,GAClCM,cAAeP,EAAOC,KAG1B3D,cAlCJ,WAmCM,OAAQ5B,KAAKgC,SAAS4D,eACpB,IAAK,SACL,IAAK,MACL,IAAK,QACH,OAAO5F,KAAKgC,SAAS4D,cACvB,QACE,OAAI5F,KAAKgC,SAASC,GAAGiC,WAAW,SACvB,OAEF,aAGbxB,QA/CJ,WAgDM,OAAsD,MAA/C1C,KAAKgC,SAASC,GAAGuD,MAAM,sBAEhChD,WAlDJ,WAmDM,OAAOxC,KAAKgC,SAASC,GAAGiC,WAAW,SAErCzB,eArDJ,WAsDM,MAAyB,KAArBzC,KAAKgC,SAASC,GACT,CAAf,qBAGWjC,KAAK0C,QAaN1C,KAAKgC,SAASC,GAAGiC,WAAW,WACvBlE,KAAKiE,kBACpB,iBACA,+DACA,GAGajE,KAAKiE,kBAAkBjE,KAAKgC,SAASC,GAAIjC,KAAKoD,UAAU,GAlBzDpD,KAAKgC,SAASC,GAAGiC,WAAW,WACvBlE,KAAKiE,kBACtB,iBACA,+DACA,GAGejE,KAAKiE,kBAAkBjE,KAAKgC,SAASC,GAAIjC,KAAKoD,UAAU,IAcnEvB,eAjFJ,WAkFM,MAAyB,KAArB7B,KAAKgC,SAASC,GACT,CAAf,qBAGWjC,KAAK0C,SAIN1C,KAAKgC,SAASC,GAAGiC,WAAW,WACvBlE,KAAK6E,kBACpB,iBACA,iDACA,IAPe7E,KAAK6E,kBAAkB7E,KAAKgC,SAASC,GAAIjC,KAAKoD,UAAU,KAkBrE0C,MAAO,CACLpF,WAAY,SAAhB,GACUqF,EAAOC,SAAS,UAClBhG,KAAKqC,OAAS,YAIpBZ,QA3SF,WA2SA,WACI,EAAJ,yDACM,EAAN,qBCtawV,ICQpV,G,UAAY,eACd,EACA,EACA,GACA,EACA,KACA,WACA,OAIa,I,QCnBX,EAAS,WAAa,IAAI1B,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,aAAa,CAACE,MAAM,CAAC,KAAO,UAAU,CAACF,EAAG,WAAW,CAACA,EAAG,SAAS,CAACJ,EAAIgB,GAAG,WAAWZ,EAAG,YAAY,CAACQ,IAAI,KAAKN,MAAM,CAAC,OAASN,EAAIwE,OAAO,UAAYxE,EAAIkG,cAAc,MACtQ,EAAkB,G,4ECctB,GACEC,iBAAiB,EACjBC,MAAO,CACT,CACI,SAAJ,OACI,MAAJ,CACM,MAAN,cACM,MAAN,QACM,cAAN,uCACM,YAAN,QAGA,CACI,SAAJ,OACI,IAAJ,CACM,cAAN,OACM,YAAN,kBACM,4BAAN,iBACM,mBAAN,GACM,MAAN,KAGA,CACI,SAAJ,YACI,MAAJ,CACM,QAAN,QACM,gBAAN,GACM,cAAN,OACM,MAAN,iBACM,aAAN,QACM,eAAN,EACM,eAAN,QACM,mBAAN,YAGA,CACI,SAAJ,SACI,MAAJ,CACM,QAAN,QACM,gBAAN,GACM,cAAN,OACM,MAAN,iBACM,eAAN,EACM,eAAN,YACM,mBAAN,UAGA,CACI,SAAJ,YACI,MAAJ,CACM,cAAN,SACM,cAAN,SACM,QAAN,MACM,MAAN,iBACM,eAAN,EACM,MAAN,QACM,mBAAN,UAGA,CACI,SAAJ,UACI,MAAJ,CACM,QAAN,QACM,cAAN,OACM,gBAAN,GACM,MAAN,iBACM,MAAN,UACM,eAAN,GACM,eAAN,UACM,mBAAN,UAGA,CACI,SAAJ,aACI,MAAJ,CACM,QAAN,MACM,MAAN,QACM,cAAN,OACM,wBAAN,QACM,0BAAN,EACM,0BAAN,MACM,gBAAN,GACM,MAAN,iBACM,eAAN,MACM,eAAN,QACM,mBAAN,UAKA,CACI,SAAJ,aACI,IAAJ,CACM,mBAAN,UACM,MAAN,QACM,cAAN,OACM,cAAN,SACM,cAAN,SACM,QAAN,QACM,MAAN,iBACM,iBAAN,EACM,eAAN,EACM,eAAN,UACM,MAAN,gBAGA,CACI,SAAJ,UACI,IAAJ,CACM,mBAAN,UACM,MAAN,QACM,cAAN,OACM,cAAN,SACM,cAAN,SACM,QAAN,QACM,MAAN,iBACM,iBAAN,EACM,eAAN,EACM,eAAN,UACM,MAAN,gBAGA,CACI,SAAJ,YACI,IAAJ,CACM,mBAAN,UACM,MAAN,QACM,cAAN,OACM,cAAN,SACM,cAAN,SACM,QAAN,QACM,MAAN,iBACM,iBAAN,EACM,eAAN,EACM,eAAN,UACM,MAAN,gBAGA,CACI,SAAJ,UACI,IAAJ,CACM,mBAAN,QACM,MAAN,QACM,cAAN,OACM,cAAN,SACM,cAAN,SACM,QAAN,QACM,MAAN,iBACM,iBAAN,EACM,eAAN,EACM,eAAN,QACM,MAAN,gBAGA,CACI,SAAJ,iBACI,MAAJ,CACM,QAAN,MACM,MAAN,QACM,cAAN,OACM,wBAAN,QACM,0BAAN,EACM,0BAAN,MACM,gBAAN,GACM,MAAN,iBACM,eAAN,MACM,eAAN,QACM,mBAAN,UAKA,CACI,SAAJ,mBACI,MAAJ,CACM,QAAN,MACM,MAAN,QACM,cAAN,OACM,wBAAN,QACM,0BAAN,EACM,0BAAN,MACM,gBAAN,GACM,MAAN,iBACM,eAAN,MACM,eAAN,QACM,mBAAN,UAKA,CACI,SAAJ,iBACI,IAAJ,CACM,cAAN,SACM,cAAN,SACM,QAAN,QACM,MAAN,iBACM,iBAAN,EACM,MAAN,QACM,mBAAN,UACM,YAAN,WACM,iBAAN,MAGA,CACI,SAAJ,UACI,IAAJ,CACM,mBAAN,UACM,MAAN,QACM,cAAN,SAGA,CACI,SAAJ,WACI,IAAJ,CACM,mBAAN,UACM,MAAN,QACM,cAAN,SAGA,CACI,SAAJ,UACI,IAAJ,CACM,mBAAN,UACM,MAAN,QACM,cAAN,SAGA,CACI,SAAJ,WACI,IAAJ,CACM,mBAAN,UACM,MAAN,QACM,cAAN,SAGA,CACI,SAAJ,SACI,IAAJ,CACM,MAAN,QACM,iBAAN,EACM,cAAN,OACM,eAAN,MACM,eAAN,YACM,mBAAN,UAGA,CACI,SAAJ,aACI,IAAJ,CACM,QAAN,MAGA,CACI,SAAJ,cACI,IAAJ,CACM,QAAN,QAGA,CACI,SAAJ,kBACI,IAAJ,CACM,QAAN,MAGA,CACI,SAAJ,WACI,IAAJ,CACM,QAAN,MAGA,CACI,SAAJ,UACI,IAAJ,CACM,aAAN,SACM,oBAAN,YAMA,GACE7H,KAAM,QACNpC,KAFF,WAGI,MAAO,CACLkK,aAAc,GACd7B,OAAN,EACMrD,MAAO,KAGXC,QAAS,CACP8E,UADJ,SACA,GACMI,EAAGC,IAAI,EAAb,GAGiD,oBAAhCD,EAAG,OAAQ,kBACpBA,EAAGC,IAAI,EAAf,IAMIC,YAAa,WACX,IAAN,OACA,yBACA,eAGMF,EAAGG,OAAOC,GAGVzG,KAAKkB,MAAMwF,MAAMC,SAAQ,SAA/B,GACQN,EAAGO,IAAIrH,MAITS,KAAKkB,MAAM2F,MAAMF,SAAQ,SAA/B,GACYpH,EAAErD,KAAK+F,GAAG+D,SAAS,cAAgBzG,EAAErD,KAAK+F,GAAG+D,SAAS,YAG1DK,EAAGO,IAAIrH,MAwCTS,KAAK8G,aAGLT,EAAG/F,GAAG,QAAS,QAAQ,SAAUyG,GAK/B,IAJA,IAAIxH,EAAIwH,EAAMC,OAEtB,gCACA,qBACA,qBACU,IAAV,cACczH,EAAErD,OAAO+F,KAAOgF,EAAGzC,OACrB0C,EAAKC,IAAInK,KAAKiK,EAAGD,QAEjBE,EAAKE,GAAGpK,KAAKiK,EAAGzC,QAKpB,IAAR,qBACQ,IAAI6C,IACEA,EAAGC,SAAS,OADlB,CAOA,GAAI,CAAC,WAAY,SAAStB,SAASzG,EAAErD,OAAOqL,MAG1C,OAFAC,EAAGpB,aAAe,QAClBoB,EAAGC,qBAAqBlI,GAGxBiI,EAAGpB,aAAec,EAAKjF,GACvBuF,EAAGE,mBAAmBnI,GAMxB,IAHA,IAAR,gBACA,KAEA,qBACUoI,EAAO3K,KAAK4K,EAAG,GAAzB,MAGQD,EAAO3K,KAAKuC,EAAE0C,MAEduF,EAAGhG,MAAM,UAAWmG,EAAO7D,KAAK,UAIlCuC,EAAG/F,GAAG,YAAa,QAAQ,SAAUyG,GACnC,IAAR,WACaS,EAAGpB,cACNoB,EAAGE,mBAAmBR,MAG1Bb,EAAG/F,GAAG,WAAY,QAAQ,SAAUyG,GAClC,IAAIG,EAAOH,EAAMC,OACZQ,EAAGpB,cACNoB,EAAGC,qBAAqBP,OAI9BQ,mBAAoB,SAAxB,GACM,IAAN,yBAEA,8CACA,yCAGQrB,EAAGwB,WACX,6CACA,oBACU,IAAV,6CACY,OAAZ,KAGA,OACA,gBACA,yBACA,uBAEQX,EACR,eACA,iCACA,oBAEQA,EAAKY,WAAWC,SAAS,YAG7BN,qBAAsB,SAA1B,GACM,IAAN,yBACWP,EAAKhL,OAAOqL,KAAKvB,SAAsB,UAC1CK,EAAGwB,WACX,0BACA,uBACA,uBAGItH,UAAW,WACT,IAAN,yBACM,OAAN,YAAM,CAAN,+BAEIuG,WAAY,WACV,IAAN,yBAEMT,EAAG2B,OAAO,CACR1J,KAAM,OACN2J,6BAA6B,EAC7BC,KAAM,CACJC,UAAW,QACXC,cAAe,IACfC,QAAS,MAEnB,QAGE5G,QAlMF,WAkMA,WACI,EAAJ,2DACM,EAAN,aACM,EAAN,mBC7e8V,ICS1V,G,oBAAY,eACd,EACA,EACA,GACA,EACA,KACA,WACA,OAIa,I,QCpBX,EAAS,WAAa,IAAI1B,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,WAAW,CAACA,EAAG,SAAS,CAACJ,EAAIgB,GAAG,eAAeZ,EAAG,QAAQJ,EAAI4C,GAAI5C,EAAIuI,IAAS,OAAE,SAAS7D,EAAUkB,GAAU,OAAOxF,EAAG,MAAM,CAACd,IAAIsG,GAAU,CAACxF,EAAG,OAAO,CAACE,MAAM,CAAC,SAAWsF,EAAS,UAAYlB,GAAWnE,GAAG,CAAC,eAAiBP,EAAIc,mBAAmB,OAAM,IAC5V,EAAkB,GCDlB,G,UAAS,WAAa,IAAId,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAY,SAAEI,EAAG,MAAM,CAACK,YAAY,QAAQ,CAACL,EAAG,MAAM,CAACK,YAAY,MAAMF,GAAG,CAAC,MAAQ,SAASU,GAAQjB,EAAIwI,cAAgBxI,EAAIwI,gBAAgB,CAACpI,EAAG,MAAM,CAACK,YAAY,mBAAmBH,MAAM,CAAC,IAAMN,EAAIyI,YAAYzI,EAAI0I,eAAetI,EAAG,MAAM,CAACK,YAAY,oBAAoB,CAACL,EAAG,SAAS,CAACK,YAAY,kBAAkB,CAACT,EAAIgB,GAAGhB,EAAI4B,GAAG5B,EAAI4F,iBAAiB5F,EAAI4C,GAAI5C,EAAmB,iBAAE,SAASiC,GAAU,MAAO,CAAC7B,EAAG,mBAAmB,CAACd,IAAI2C,EAAS,GAAG3B,MAAM,CAAC,KAAO,cAAc,CAAEN,EAAgB,aAAEI,EAAG,gBAAgB,CAACd,IAAI2C,EAAS,GAAG3B,MAAM,CAAC,GAAK2B,EAAS,GAAG,QAAUA,EAAS,GAAG,SAAU,EAAM,eAAejC,EAAIc,kBAAkBd,EAAIgC,MAAM,QAAO,GAAGhC,EAAIgC,OAC7uB,EAAkB,GCDlB,G,UAAS,WAAa,IAAIhC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACK,YAAY,qBAAqB2B,MAAM,CAC7IpC,EAAI2C,QAAU,QAAU,GACvB,iBAAoB3C,EAAI2I,QAAY,KACR,MAA7B3I,EAAI2I,QAAQC,cAAwB5I,EAAI2I,QAAQC,cAAgB,GACnC,MAA7B5I,EAAI2I,QAAQC,cAAwB,GAAK,uBAAwB,CAACxI,EAAG,MAAM,CAACK,YAAY,MAAMF,GAAG,CAAC,MAAQ,SAASU,GAAQ,OAAOjB,EAAI6I,YAAY7I,EAAIkC,OAAO,CAAC9B,EAAG,MAAM,CAACK,YAAY,0BAA0B,CAACL,EAAG,IAAI,CAACK,YAAY,2BAA2BF,GAAG,CAAC,MAAQ,SAASU,GAAQjB,EAAIwI,cAAgBxI,EAAIwI,gBAAgB,CAACpI,EAAG,MAAM,CAACK,YAAY,iCAAiCH,MAAM,CAAC,IAAMN,EAAIyI,YAAYzI,EAAI0I,iBAAiBtI,EAAG,IAAI,CAACK,YAAY,iBAAiB,CAACT,EAAIgB,GAAG,IAAIhB,EAAI4B,GAAG5B,EAAI2I,QAAQpK,MAAM,SAAS6B,EAAG,MAAM,CAACK,YAAY,aAAa,CAAET,EAAoB,iBAAE,CAAEA,EAAI8I,aAAa9I,EAAI+I,kBAAmB3I,EAAG,MAAM,CAACK,YAAY,gBAAgBH,MAAM,CAAC,IAAMN,EAAI8I,aAAa9I,EAAI+I,qBAAqB3I,EAAG,OAAO,CAACK,YAAY,kCAAkC,CAACT,EAAIgB,GAAG,IAAIhB,EAAI4B,GAAG5B,EAAI+I,iBAAiB,IAAI,QAAQ/I,EAAIgC,KAAK5B,EAAG,IAAI,CAACK,YAAY,0BAA0B,CAACT,EAAIgB,GAAG,IAAIhB,EAAI4B,GAAG5B,EAAI+I,iBAAoB/I,EAAI+I,iBAAmB,IAAO,IAAI/I,EAAI4B,GAAG5B,EAAI2I,QAAQ9C,cAAgB7F,EAAI2I,QAAQ9C,cAAgB,IAAI,QAAQ,GAAK7F,EAAI2C,QAAwJ3C,EAAIgC,KAAnJ5B,EAAG,MAAM,CAACK,YAAY,wBAAwB,CAACT,EAAIgB,GAAG,aAAaZ,EAAG,OAAO,CAACK,YAAY,eAAe,CAACT,EAAIgB,GAAGhB,EAAI4B,GAAG5B,EAAI2I,QAAQK,aAAsBhJ,EAAI4C,GAAI5C,EAAI2I,QAAgB,UAAE,SAAS9F,EAAIoG,GAAY,MAAO,CAAC7I,EAAG,mBAAmB,CAACd,IAAI2J,EAAW3I,MAAM,CAAC,KAAO,cAAc,CAAEN,EAAgB,aAAEI,EAAG,gBAAgB,CAACd,IAAI2J,EAAW3I,MAAM,CAAC,GAAK2I,EAAW,QAAUpG,EAAI,SAAU,EAAK,eAAe7C,EAAI6I,eAAe7I,EAAIgC,MAAM,QAAO,KACz8C,EAAkB,GCmEtB,GACEzD,KAAM,eACN4E,MAAO,CACLjB,GAAIkB,OACJuF,QAAS/L,OACT+F,QAASuG,QACTL,YAAaM,UAEfhN,KARF,WASI,MAAO,CACLqM,cAAc,EACdM,aAAc,CACZM,IAAK,EAAb,QACQC,MAAO,EAAf,QACQC,IAAK,EAAb,QACQC,KAAM,EAAd,QACQC,WAAY,EAApB,SAEMC,oBAAqB,CACnBpK,OAAQ,EAAhB,QACQqK,KAAM,KACN,QAAS,KACTC,OAAQ,EAAhB,QACQC,OAAQ,EAAhB,QACQtF,QAAS,EAAjB,SAEMmE,YAAa,CACXoB,KAAM,KACNC,OAAQ,EAAhB,QACQC,SAAU,EAAlB,WAIE3I,QAAS,GAUTkE,SAAU,CACRoD,WADJ,WAEM,OAAIzI,KAAK0I,QAAQvD,SACXnF,KAAKuI,aACA,WAEF,SAEF,MAETO,iBAVJ,WAWM,OAAI9I,KAAK0I,QAAQqB,SACR/J,KAAK0I,QAAQqB,SAGlB/J,KAAK0I,QAAQ9C,cACR5F,KAAK0I,QAAQ9C,cAAcF,MAAM,KAAK,GAGxC,QCtIyU,ICQlV,G,UAAY,eACd,EACA,EACA,GACA,EACA,KACA,WACA,OAIa,I,QCOf,GACEpH,KAAM,OACN0L,WAAY,CACVC,aAAJ,GAEE/G,MAAO,CACLyC,SAAUxC,OACVsB,UAAW9H,QAEbT,KATF,WAUI,MAAO,CACLqM,cAAc,EACdC,YAAa,CACXqB,OAAQ,EAAhB,QACQC,SAAU,EAAlB,WAIE3I,QAAS,CACPN,eADJ,SACA,GACMb,KAAKwB,MAAM,iBAAkB,GAAnC,uCAGE6D,SAAU,CACRoD,WADJ,WAEM,OAAOzI,KAAKuI,aAAe,WAAa,UAE1C2B,gBAJJ,WAMM,IAAN,uCACA,cAAQ,OAAR,uBAcM,OAAOC,KCtEiU,ICQ1U,G,UAAY,eACd,EACA,EACA,GACA,EACA,KACA,WACA,OAIa,I,QCCf,GACE7L,KAAM,WACN0L,WAAY,CACVI,KAAJ,GAEElO,KALF,WAMI,MAAO,CACLoM,IAAK,KAGTnH,QAAS,CACPN,eADJ,SACA,GACMb,KAAKwB,MAAM,iBAAkBd,KAGjCe,QAfF,WAeA,WACI,EAAJ,yDACM,EAAN,gBCrCkV,ICQ9U,G,UAAY,eACd,EACA,EACA,GACA,EACA,KACA,WACA,OAIa,K,QCsCf,IACEnD,KAAM,MACN+L,SAAU,CACRC,MAAO,mCAETN,WAAY,CACVO,QAAJ,EACIC,MAAJ,EACIC,SAAJ,GACIC,eAAJ,GAEExO,KAXF,WAYI,MAAO,CACL0E,cAAc,EACdF,WAAY,KAGhBS,QAAS,CACPZ,UADJ,WAGMP,KAAK0D,MAAMiH,UAAUpK,aAEvBM,eALJ,SAKA,GACMb,KAAKU,WAAaA,KChFsS,MCQ1T,I,UAAY,eACd,GACA,EACAI,GACA,EACA,KACA,WACA,OAIa,M,6CCdf8J,aAAItE,IAAIuE,MACRD,aAAItE,IAAIwE,SAERF,aAAIrG,OAAOwG,eAAgB,EAE3B,IAAIH,aAAI,CACNI,OAAQ,SAAAC,GAAC,OAAIA,EAAEC,OACdC,OAAO,S,gDCZVlN,EAAOD,QAAU,IAA0B,mC,uBCA3CC,EAAOD,QAAU,IAA0B,0B,uBCA3CC,EAAOD,QAAU,IAA0B,yB,uBCA3CC,EAAOD,QAAU,IAA0B,wB,oCCA3C,W,oCCAA,W,8CCAAC,EAAOD,QAAU,IAA0B,wB,qBCA3CC,EAAOD,QAAU,IAA0B,+B,kCCA3C,W,kCCAA,W,4CCAAC,EAAOD,QAAU,IAA0B,oC,qBCA3CC,EAAOD,QAAU,IAA0B,yB,qBCA3CC,EAAOD,QAAU,IAA0B,0B,kCCA3C,W","file":"js/app.53202c6f.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","module.exports = __webpack_public_path__ + \"img/kubernetes.36fdbc6b.png\";","module.exports = __webpack_public_path__ + \"img/arrow-down-circle.27fdf30c.svg\";","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ResourceCard.vue?vue&type=style&index=0&id=11b846ff&scoped=true&lang=css&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ResourceDetail.vue?vue&type=style&index=0&id=0d84eb83&scoped=true&lang=css&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MainNav.vue?vue&type=style&index=0&id=b2b0816c&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_c('main-nav',{on:{\"saveGraph\":_vm.saveGraph}}),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col col-4-lg\"},[_vm._m(0),_c('resource-detail',{attrs:{\"resourceID\":_vm.resourceID}})],1),_c('div',{staticClass:\"col col-8-lg\"},[_c('graph',{ref:\"filegraph\",attrs:{\"displayGraph\":_vm.displayGraph},on:{\"getNode\":_vm.selectResource}}),_c('explorer',{on:{\"selectResource\":_vm.selectResource}})],1)])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('fieldset',[_c('legend',[_vm._v(\"Legend\")]),_c('b',[_vm._v(\"Instructions\")]),_c('hr'),_c('p',[_vm._v(\" Click or hover on node to isolate that node's connections. Click on the light purple background to unselect. \")]),_c('p',[_vm._v(\" All resources that the node depends on are represented by a solid line. All resources that depend on the node are represented by a dashed line. \")]),_c('hr'),_c('b',[_vm._v(\"Resource\")]),_c('hr'),_c('div',{staticClass:\"node create\"},[_vm._v(\"Resource - Create\")]),_c('div',{staticClass:\"node destroy\"},[_vm._v(\"Resource - Destroy\")]),_c('div',{staticClass:\"node replace\"},[_vm._v(\"Resource - Replace\")]),_c('div',{staticClass:\"node update\"},[_vm._v(\"Resource - Update\")]),_c('div',{staticClass:\"node no-op\"},[_vm._v(\"Resource - No Operation\")]),_c('hr'),_c('b',[_vm._v(\"Other items\")]),_c('hr'),_c('div',{staticClass:\"node variable\"},[_vm._v(\"Variable\")]),_c('div',{staticClass:\"node output\"},[_vm._v(\"Output\")]),_c('div',{staticClass:\"node data\"},[_vm._v(\"Data\")]),_c('div',{staticClass:\"node module\"},[_vm._v(\"Module\")]),_c('div',{staticClass:\"node locals\"},[_vm._v(\"Local\")]),_c('hr')])}]\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('nav',{staticClass:\"nav\"},[_vm._m(0),_c('div',{staticClass:\"nav-right\"},[_c('a',{staticClass:\"button outline\",on:{\"click\":function($event){return _vm.saveGraph()}}},[_vm._v(\"Save Graph\")])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"nav-left\"},[_c('a',{staticClass:\"title\",attrs:{\"href\":\"https://github.com/im2nguyen/rover\"}},[_c('h2',[_vm._v(\"Rover - Terraform Visualizer\")])])])}]\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MainNav.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MainNav.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MainNav.vue?vue&type=template&id=b2b0816c&scoped=true&\"\nimport script from \"./MainNav.vue?vue&type=script&lang=js&\"\nexport * from \"./MainNav.vue?vue&type=script&lang=js&\"\nimport style0 from \"./MainNav.vue?vue&type=style&index=0&id=b2b0816c&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"b2b0816c\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('fieldset',{attrs:{\"id\":\"resource-details\"}},[_c('legend',[_vm._v(\"Details\")]),_c('div',{staticClass:\"resource-detail\"},[(!_vm.resourceID)?_c('div',[_c('span',[_vm._v(\"Please select a resource on your right.\")])]):_c('div',[_c('dd',{staticClass:\"key\"},[_vm._v(_vm._s(_vm.primitiveType))]),(_vm.resourceChange.action)?_c('span',{staticClass:\"tag is-small resource-action\"},[_vm._v(_vm._s(_vm.resourceChange.action))]):_vm._e(),_c('dt',{staticClass:\"value resource-id\"},[_vm._v(\" \"+_vm._s(_vm.resource.id)+\" \"),_c('button',{ref:\"rid\",staticClass:\"copy-button\",on:{\"click\":function($event){return _vm.copyText(_vm.resource.id, 'rid')}}},[_vm._v(\" Copy \")])]),_c('nav',{staticClass:\"tabs is-full\"},[_c('a',{class:{ active: _vm.curTab === 'config' },on:{\"click\":function($event){return _vm.selectTab('config')}}},[_vm._v(\"Config\")]),_c('a',{class:{ active: _vm.curTab === 'current', disabled: _vm.hasNoState },on:{\"click\":function($event){return _vm.selectTab('current')}}},[_vm._v(\"Current State\")]),_c('a',{class:{ active: _vm.curTab === 'proposed', disabled: _vm.hasNoState },on:{\"click\":function($event){return _vm.selectTab('proposed')}}},[_vm._v(\"Proposed State\")])]),(_vm.curTab === 'config')?_c('div',{staticClass:\"tab-container\"},[(\n _vm.resourceConfig.isChild == 'rover-for-each-child-resource-true'\n )?_c('span',{staticClass:\"is-child-resource\"},[_vm._v(\"Please check parent resource\")]):_vm._l((_vm.resourceConfig),function(val,k){return _c('div',{key:k},[_c('dd',{staticClass:\"key\"},[_vm._v(_vm._s(k))]),_c('dt',{staticClass:\"value\"},[_c('span',[_vm._v(_vm._s(_vm.getConfigValue(val)))]),_c('button',{ref:((_vm.resource.id) + \"-\" + k),refInFor:true,staticClass:\"copy-button\",on:{\"click\":function($event){_vm.copyText(_vm.getConfigValue(val), ((_vm.resource.id) + \"-\" + k))}}},[_vm._v(\" Copy \")])])])})],2):_vm._e(),(_vm.curTab === 'current')?_c('div',{staticClass:\"tab-container\"},[(_vm.resourceChange.before)?_c('span',_vm._l((_vm.resourceChange.before),function(val,k){return _c('div',{key:k},[_c('dd',{staticClass:\"key\"},[_vm._v(_vm._s(k))]),_c('dt',{staticClass:\"value\"},[_vm._v(_vm._s(_vm.getBeforeValue(val)))]),_c('button',{ref:((_vm.resource.id) + \"-\" + k),refInFor:true,staticClass:\"copy-button\",on:{\"click\":function($event){_vm.copyText(_vm.getBeforeValue(val), ((_vm.resource.id) + \"-\" + k))}}},[_vm._v(\" Copy \")])])}),0):_c('span',[_vm._v(\"Resource doesn't currently exist.\")])]):_vm._e(),(_vm.curTab === 'proposed')?_c('div',{staticClass:\"tab-container\"},_vm._l((_vm.resourceChange.after),function(val,k){return _c('div',{key:k},[_c('dd',{staticClass:\"key\"},[_vm._v(_vm._s(k))]),(val)?_c('dt',{staticClass:\"value\",class:{ 'unknown-value': val.unknown }},[_vm._v(\" \"+_vm._s(val.unknown ? \"Value Unknown\" : val)+\" \"),_c('button',{ref:((_vm.resource.id) + \"-\" + k),refInFor:true,staticClass:\"copy-button\",on:{\"click\":function($event){_vm.copyText(_vm.getBeforeValue(val), ((_vm.resource.id) + \"-\" + k))}}},[_vm._v(\" Copy \")])]):_c('dt',{staticClass:\"value\"},[_vm._v(\"null\")])])}),0):_vm._e()])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ResourceDetail.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ResourceDetail.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ResourceDetail.vue?vue&type=template&id=0d84eb83&scoped=true&\"\nimport script from \"./ResourceDetail.vue?vue&type=script&lang=js&\"\nexport * from \"./ResourceDetail.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ResourceDetail.vue?vue&type=style&index=0&id=0d84eb83&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0d84eb83\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"graph\"}},[_c('fieldset',[_c('legend',[_vm._v(\"Graph\")]),_c('cytoscape',{ref:\"cy\",attrs:{\"config\":_vm.config,\"preConfig\":_vm.preConfig}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Graph.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Graph.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Graph.vue?vue&type=template&id=3718cd32&scoped=true&\"\nimport script from \"./Graph.vue?vue&type=script&lang=js&\"\nexport * from \"./Graph.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Graph.vue?vue&type=style&index=0&lang=css&\"\nimport style1 from \"./Graph.vue?vue&type=style&index=1&id=3718cd32&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3718cd32\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('fieldset',[_c('legend',[_vm._v(\"Resources\")]),_c('File'),_vm._l((_vm.map.files),function(resources,fileName){return _c('div',{key:fileName},[_c('File',{attrs:{\"fileName\":fileName,\"resources\":resources},on:{\"selectResource\":_vm.selectResource}})],1)})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.fileName)?_c('div',{staticClass:\"file\"},[_c('div',{staticClass:\"row\",on:{\"click\":function($event){_vm.showChildren = !_vm.showChildren}}},[_c('img',{staticClass:\"file-expand-icon\",attrs:{\"src\":_vm.expandIcons[_vm.expandIcon]}}),_c('div',{staticClass:\"col-11 file-name\"},[_c('strong',{staticClass:\"text-lowercase\"},[_vm._v(_vm._s(_vm.fileName))])])]),_vm._l((_vm.sortedResources),function(resource){return [_c('transition-group',{key:resource[0],attrs:{\"name\":\"resources\"}},[(_vm.showChildren)?_c('resource-card',{key:resource[0],attrs:{\"id\":resource[0],\"content\":resource[1],\"isChild\":false,\"handle-click\":_vm.selectResource}}):_vm._e()],1)]})],2):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"card resource-main\",class:[\n _vm.isChild ? 'child' : '',\n (\"resource-card \" + (_vm.content.type)),\n _vm.content.change_action != null ? _vm.content.change_action : '',\n _vm.content.change_action != null ? '' : 'resource-type-card' ]},[_c('div',{staticClass:\"row\",on:{\"click\":function($event){return _vm.handleClick(_vm.id)}}},[_c('div',{staticClass:\"col col-6 resource-col\"},[_c('p',{staticClass:\"is-small resource-action\",on:{\"click\":function($event){_vm.showChildren = !_vm.showChildren}}},[_c('img',{staticClass:\"multi-tag resource-action-icon\",attrs:{\"src\":_vm.expandIcons[_vm.expandIcon]}})]),_c('p',{staticClass:\"resource-name\"},[_vm._v(\" \"+_vm._s(_vm.content.name)+\" \")])]),_c('div',{staticClass:\"col col-4\"},[(_vm.resourceProvider)?[(_vm.providerIcon[_vm.resourceProvider])?_c('img',{staticClass:\"provider-icon\",attrs:{\"src\":_vm.providerIcon[_vm.resourceProvider]}}):_c('span',{staticClass:\"tag is-small provider-icon-tag\"},[_vm._v(\" \"+_vm._s(_vm.resourceProvider[0])+\" \")])]:_vm._e(),_c('p',{staticClass:\"provider-resource-name\"},[_vm._v(\" \"+_vm._s(_vm.resourceProvider ? (_vm.resourceProvider + \".\") : \"\")+_vm._s(_vm.content.resource_type ? _vm.content.resource_type : \"\")+\" \")])],2),(!_vm.isChild)?_c('div',{staticClass:\"col col-2 text-right\"},[_vm._v(\" Line: # \"),_c('span',{staticClass:\"line-number\"},[_vm._v(_vm._s(_vm.content.line))])]):_vm._e()]),_vm._l((_vm.content.children),function(val,resourceId){return [_c('transition-group',{key:resourceId,attrs:{\"name\":\"resources\"}},[(_vm.showChildren)?_c('resource-card',{key:resourceId,attrs:{\"id\":resourceId,\"content\":val,\"isChild\":true,\"handle-click\":_vm.handleClick}}):_vm._e()],1)]})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ResourceCard.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ResourceCard.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ResourceCard.vue?vue&type=template&id=11b846ff&scoped=true&\"\nimport script from \"./ResourceCard.vue?vue&type=script&lang=js&\"\nexport * from \"./ResourceCard.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ResourceCard.vue?vue&type=style&index=0&id=11b846ff&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"11b846ff\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./File.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./File.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./File.vue?vue&type=template&id=5ef7e534&scoped=true&\"\nimport script from \"./File.vue?vue&type=script&lang=js&\"\nexport * from \"./File.vue?vue&type=script&lang=js&\"\nimport style0 from \"./File.vue?vue&type=style&index=0&id=5ef7e534&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5ef7e534\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Explorer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Explorer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Explorer.vue?vue&type=template&id=459dfd99&scoped=true&\"\nimport script from \"./Explorer.vue?vue&type=script&lang=js&\"\nexport * from \"./Explorer.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Explorer.vue?vue&type=style&index=0&id=459dfd99&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"459dfd99\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=08c2df7e&scoped=true&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=08c2df7e&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"08c2df7e\",\n null\n \n)\n\nexport default component.exports","import Vue from 'vue';\nimport App from './App.vue';\nimport VueCytoscape from 'vue-cytoscape';\nimport VueMeta from 'vue-meta';\n\nVue.use(VueCytoscape);\nVue.use(VueMeta);\n\nVue.config.productionTip = false\n\nnew Vue({\n render: h => h(App),\n}).$mount('#app')\n","module.exports = __webpack_public_path__ + \"img/alert-triangle.d88bf755.svg\";","module.exports = __webpack_public_path__ + \"img/minus.f2deefda.svg\";","module.exports = __webpack_public_path__ + \"img/plus.b121a385.svg\";","module.exports = __webpack_public_path__ + \"img/gcp.2bdb5143.png\";","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Explorer.vue?vue&type=style&index=0&id=459dfd99&scoped=true&lang=css&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Graph.vue?vue&type=style&index=1&id=3718cd32&scoped=true&lang=css&\"","module.exports = __webpack_public_path__ + \"img/aws.082444af.png\";","module.exports = __webpack_public_path__ + \"img/refresh-cw.286819b2.svg\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Graph.vue?vue&type=style&index=0&lang=css&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./File.vue?vue&type=style&index=0&id=5ef7e534&scoped=true&lang=css&\"","module.exports = __webpack_public_path__ + \"img/arrow-up-circle.c7e27cfe.svg\";","module.exports = __webpack_public_path__ + \"img/helm.0d1950ff.png\";","module.exports = __webpack_public_path__ + \"img/azure.0386fb3d.png\";","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=08c2df7e&scoped=true&lang=css&\""],"sourceRoot":""} \ No newline at end of file diff --git a/ui/dist/js/chunk-vendors.bd6ebaf4.js b/ui/dist/js/chunk-vendors.bd6ebaf4.js deleted file mode 100644 index 9a703f3..0000000 --- a/ui/dist/js/chunk-vendors.bd6ebaf4.js +++ /dev/null @@ -1,30 +0,0 @@ -(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-vendors"],{"00ee":function(e,t,n){var r=n("b622"),i=r("toStringTag"),a={};a[i]="z",e.exports="[object z]"===String(a)},"0366":function(e,t,n){var r=n("1c0b");e.exports=function(e,t,n){if(r(e),void 0===t)return e;switch(n){case 0:return function(){return e.call(t)};case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,i){return e.call(t,n,r,i)}}return function(){return e.apply(t,arguments)}}},"057f":function(e,t,n){var r=n("fc6a"),i=n("241c").f,a={}.toString,o="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],c=function(e){try{return i(e)}catch(t){return o.slice()}};e.exports.f=function(e){return o&&"[object Window]"==a.call(e)?c(e):i(r(e))}},"06cf":function(e,t,n){var r=n("83ab"),i=n("d1e7"),a=n("5c6c"),o=n("fc6a"),c=n("c04e"),u=n("5135"),s=n("0cfb"),l=Object.getOwnPropertyDescriptor;t.f=r?l:function(e,t){if(e=o(e),t=c(t,!0),s)try{return l(e,t)}catch(n){}if(u(e,t))return a(!i.f.call(e,t),e[t])}},"0a06":function(e,t,n){"use strict";var r=n("c532"),i=n("30b5"),a=n("f6b4"),o=n("5270"),c=n("4a7b");function u(e){this.defaults=e,this.interceptors={request:new a,response:new a}}u.prototype.request=function(e){"string"===typeof e?(e=arguments[1]||{},e.url=arguments[0]):e=e||{},e=c(this.defaults,e),e.method?e.method=e.method.toLowerCase():this.defaults.method?e.method=this.defaults.method.toLowerCase():e.method="get";var t=[o,void 0],n=Promise.resolve(e);this.interceptors.request.forEach((function(e){t.unshift(e.fulfilled,e.rejected)})),this.interceptors.response.forEach((function(e){t.push(e.fulfilled,e.rejected)}));while(t.length)n=n.then(t.shift(),t.shift());return n},u.prototype.getUri=function(e){return e=c(this.defaults,e),i(e.url,e.params,e.paramsSerializer).replace(/^\?/,"")},r.forEach(["delete","get","head","options"],(function(e){u.prototype[e]=function(t,n){return this.request(c(n||{},{method:e,url:t,data:(n||{}).data}))}})),r.forEach(["post","put","patch"],(function(e){u.prototype[e]=function(t,n,r){return this.request(c(r||{},{method:e,url:t,data:n}))}})),e.exports=u},"0cb2":function(e,t,n){var r=n("7b0b"),i=Math.floor,a="".replace,o=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,c=/\$([$&'`]|\d{1,2})/g;e.exports=function(e,t,n,u,s,l){var f=n+e.length,h=u.length,d=c;return void 0!==s&&(s=r(s),d=o),a.call(l,d,(function(r,a){var o;switch(a.charAt(0)){case"$":return"$";case"&":return e;case"`":return t.slice(0,n);case"'":return t.slice(f);case"<":o=s[a.slice(1,-1)];break;default:var c=+a;if(0===c)return r;if(c>h){var l=i(c/10);return 0===l?r:l<=h?void 0===u[l-1]?a.charAt(1):u[l-1]+a.charAt(1):r}o=u[c-1]}return void 0===o?"":o}))}},"0cfb":function(e,t,n){var r=n("83ab"),i=n("d039"),a=n("cc12");e.exports=!r&&!i((function(){return 7!=Object.defineProperty(a("div"),"a",{get:function(){return 7}}).a}))},"0df6":function(e,t,n){"use strict";e.exports=function(e){return function(t){return e.apply(null,t)}}},1276:function(e,t,n){"use strict";var r=n("d784"),i=n("44e7"),a=n("825a"),o=n("1d80"),c=n("4840"),u=n("8aa5"),s=n("50c4"),l=n("14c3"),f=n("9263"),h=n("9f7f"),d=h.UNSUPPORTED_Y,p=[].push,b=Math.min,g=4294967295;r("split",2,(function(e,t,n){var r;return r="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(e,n){var r=String(o(this)),a=void 0===n?g:n>>>0;if(0===a)return[];if(void 0===e)return[r];if(!i(e))return t.call(r,e,a);var c,u,s,l=[],h=(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.unicode?"u":"")+(e.sticky?"y":""),d=0,b=new RegExp(e.source,h+"g");while(c=f.call(b,r)){if(u=b.lastIndex,u>d&&(l.push(r.slice(d,c.index)),c.length>1&&c.index=a))break;b.lastIndex===c.index&&b.lastIndex++}return d===r.length?!s&&b.test("")||l.push(""):l.push(r.slice(d)),l.length>a?l.slice(0,a):l}:"0".split(void 0,0).length?function(e,n){return void 0===e&&0===n?[]:t.call(this,e,n)}:t,[function(t,n){var i=o(this),a=void 0==t?void 0:t[e];return void 0!==a?a.call(t,i,n):r.call(String(i),t,n)},function(e,i){var o=n(r,e,this,i,r!==t);if(o.done)return o.value;var f=a(e),h=String(this),p=c(f,RegExp),v=f.unicode,w=(f.ignoreCase?"i":"")+(f.multiline?"m":"")+(f.unicode?"u":"")+(d?"g":"y"),y=new p(d?"^(?:"+f.source+")":f,w),m=void 0===i?g:i>>>0;if(0===m)return[];if(0===h.length)return null===l(y,h)?[h]:[];var x=0,k=0,E=[];while(k1?arguments[1]:void 0)}},"19aa":function(e,t){e.exports=function(e,t,n){if(!(e instanceof t))throw TypeError("Incorrect "+(n?n+" ":"")+"invocation");return e}},"1be4":function(e,t,n){var r=n("d066");e.exports=r("document","documentElement")},"1c0b":function(e,t){e.exports=function(e){if("function"!=typeof e)throw TypeError(String(e)+" is not a function");return e}},"1c7e":function(e,t,n){var r=n("b622"),i=r("iterator"),a=!1;try{var o=0,c={next:function(){return{done:!!o++}},return:function(){a=!0}};c[i]=function(){return this},Array.from(c,(function(){throw 2}))}catch(u){}e.exports=function(e,t){if(!t&&!a)return!1;var n=!1;try{var r={};r[i]=function(){return{next:function(){return{done:n=!0}}}},e(r)}catch(u){}return n}},"1cdc":function(e,t,n){var r=n("342f");e.exports=/(?:iphone|ipod|ipad).*applewebkit/i.test(r)},"1d2b":function(e,t,n){"use strict";e.exports=function(e,t){return function(){for(var n=new Array(arguments.length),r=0;r=51||!r((function(){var t=[],n=t.constructor={};return n[o]=function(){return{foo:1}},1!==t[e](Boolean).foo}))}},"21a6":function(e,t,n){(function(n){var r,i,a;(function(n,o){i=[],r=o,a="function"===typeof r?r.apply(t,i):r,void 0===a||(e.exports=a)})(0,(function(){"use strict";function t(e,t){return"undefined"==typeof t?t={autoBom:!1}:"object"!=typeof t&&(console.warn("Deprecated: Expected third argument to be a object"),t={autoBom:!t}),t.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob(["\ufeff",e],{type:e.type}):e}function r(e,t,n){var r=new XMLHttpRequest;r.open("GET",e),r.responseType="blob",r.onload=function(){u(r.response,t,n)},r.onerror=function(){console.error("could not download file")},r.send()}function i(e){var t=new XMLHttpRequest;t.open("HEAD",e,!1);try{t.send()}catch(e){}return 200<=t.status&&299>=t.status}function a(e){try{e.dispatchEvent(new MouseEvent("click"))}catch(r){var t=document.createEvent("MouseEvents");t.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),e.dispatchEvent(t)}}var o="object"==typeof window&&window.window===window?window:"object"==typeof self&&self.self===self?self:"object"==typeof n&&n.global===n?n:void 0,c=o.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),u=o.saveAs||("object"!=typeof window||window!==o?function(){}:"download"in HTMLAnchorElement.prototype&&!c?function(e,t,n){var c=o.URL||o.webkitURL,u=document.createElement("a");t=t||e.name||"download",u.download=t,u.rel="noopener","string"==typeof e?(u.href=e,u.origin===location.origin?a(u):i(u.href)?r(e,t,n):a(u,u.target="_blank")):(u.href=c.createObjectURL(e),setTimeout((function(){c.revokeObjectURL(u.href)}),4e4),setTimeout((function(){a(u)}),0))}:"msSaveOrOpenBlob"in navigator?function(e,n,o){if(n=n||e.name||"download","string"!=typeof e)navigator.msSaveOrOpenBlob(t(e,o),n);else if(i(e))r(e,n,o);else{var c=document.createElement("a");c.href=e,c.target="_blank",setTimeout((function(){a(c)}))}}:function(e,t,n,i){if(i=i||open("","_blank"),i&&(i.document.title=i.document.body.innerText="downloading..."),"string"==typeof e)return r(e,t,n);var a="application/octet-stream"===e.type,u=/constructor/i.test(o.HTMLElement)||o.safari,s=/CriOS\/[\d]+/.test(navigator.userAgent);if((s||a&&u||c)&&"undefined"!=typeof FileReader){var l=new FileReader;l.onloadend=function(){var e=l.result;e=s?e:e.replace(/^data:[^;]*;/,"data:attachment/file;"),i?i.location.href=e:location=e,i=null},l.readAsDataURL(e)}else{var f=o.URL||o.webkitURL,h=f.createObjectURL(e);i?i.location=h:location.href=h,i=null,setTimeout((function(){f.revokeObjectURL(h)}),4e4)}});o.saveAs=u.saveAs=u,e.exports=u}))}).call(this,n("c8ba"))},2266:function(e,t,n){var r=n("825a"),i=n("e95a"),a=n("50c4"),o=n("0366"),c=n("35a1"),u=n("2a62"),s=function(e,t){this.stopped=e,this.result=t};e.exports=function(e,t,n){var l,f,h,d,p,b,g,v=n&&n.that,w=!(!n||!n.AS_ENTRIES),y=!(!n||!n.IS_ITERATOR),m=!(!n||!n.INTERRUPTED),x=o(t,v,1+w+m),k=function(e){return l&&u(l),new s(!0,e)},E=function(e){return w?(r(e),m?x(e[0],e[1],k):x(e[0],e[1])):m?x(e,k):x(e)};if(y)l=e;else{if(f=c(e),"function"!=typeof f)throw TypeError("Target is not iterable");if(i(f)){for(h=0,d=a(e.length);d>h;h++)if(p=E(e[h]),p&&p instanceof s)return p;return new s(!1)}l=f.call(e)}b=l.next;while(!(g=b.call(l)).done){try{p=E(g.value)}catch(S){throw u(l),S}if("object"==typeof p&&p&&p instanceof s)return p}return new s(!1)}},"23cb":function(e,t,n){var r=n("a691"),i=Math.max,a=Math.min;e.exports=function(e,t){var n=r(e);return n<0?i(n+t,0):a(n,t)}},"23e7":function(e,t,n){var r=n("da84"),i=n("06cf").f,a=n("9112"),o=n("6eeb"),c=n("ce4e"),u=n("e893"),s=n("94ca");e.exports=function(e,t){var n,l,f,h,d,p,b=e.target,g=e.global,v=e.stat;if(l=g?r:v?r[b]||c(b,{}):(r[b]||{}).prototype,l)for(f in t){if(d=t[f],e.noTargetGet?(p=i(l,f),h=p&&p.value):h=l[f],n=s(g?f:b+(v?".":"#")+f,e.forced),!n&&void 0!==h){if(typeof d===typeof h)continue;u(d,h)}(e.sham||h&&h.sham)&&a(d,"sham",!0),o(l,f,d,e)}}},"241c":function(e,t,n){var r=n("ca84"),i=n("7839"),a=i.concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return r(e,a)}},2444:function(e,t,n){"use strict";(function(t){var r=n("c532"),i=n("c8af"),a={"Content-Type":"application/x-www-form-urlencoded"};function o(e,t){!r.isUndefined(e)&&r.isUndefined(e["Content-Type"])&&(e["Content-Type"]=t)}function c(){var e;return("undefined"!==typeof XMLHttpRequest||"undefined"!==typeof t&&"[object process]"===Object.prototype.toString.call(t))&&(e=n("b50d")),e}var u={adapter:c(),transformRequest:[function(e,t){return i(t,"Accept"),i(t,"Content-Type"),r.isFormData(e)||r.isArrayBuffer(e)||r.isBuffer(e)||r.isStream(e)||r.isFile(e)||r.isBlob(e)?e:r.isArrayBufferView(e)?e.buffer:r.isURLSearchParams(e)?(o(t,"application/x-www-form-urlencoded;charset=utf-8"),e.toString()):r.isObject(e)?(o(t,"application/json;charset=utf-8"),JSON.stringify(e)):e}],transformResponse:[function(e){if("string"===typeof e)try{e=JSON.parse(e)}catch(t){}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};r.forEach(["delete","get","head"],(function(e){u.headers[e]={}})),r.forEach(["post","put","patch"],(function(e){u.headers[e]=r.merge(a)})),e.exports=u}).call(this,n("4362"))},2532:function(e,t,n){"use strict";var r=n("23e7"),i=n("5a34"),a=n("1d80"),o=n("ab13");r({target:"String",proto:!0,forced:!o("includes")},{includes:function(e){return!!~String(a(this)).indexOf(i(e),arguments.length>1?arguments[1]:void 0)}})},2554:function(e,t,n){"use strict";var r=function(e){return i(e)&&!a(e)};function i(e){return!!e&&"object"===typeof e}function a(e){var t=Object.prototype.toString.call(e);return"[object RegExp]"===t||"[object Date]"===t||u(e)}var o="function"===typeof Symbol&&Symbol.for,c=o?Symbol.for("react.element"):60103;function u(e){return e.$$typeof===c}function s(e){return Array.isArray(e)?[]:{}}function l(e,t){return!1!==t.clone&&t.isMergeableObject(e)?w(s(e),e,t):e}function f(e,t,n){return e.concat(t).map((function(e){return l(e,n)}))}function h(e,t){if(!t.customMerge)return w;var n=t.customMerge(e);return"function"===typeof n?n:w}function d(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter((function(t){return e.propertyIsEnumerable(t)})):[]}function p(e){return Object.keys(e).concat(d(e))}function b(e,t){try{return t in e}catch(n){return!1}}function g(e,t){return b(e,t)&&!(Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))}function v(e,t,n){var r={};return n.isMergeableObject(e)&&p(e).forEach((function(t){r[t]=l(e[t],n)})),p(t).forEach((function(i){g(e,i)||(b(e,i)&&n.isMergeableObject(t[i])?r[i]=h(i,n)(e[i],t[i],n):r[i]=l(t[i],n))})),r}function w(e,t,n){n=n||{},n.arrayMerge=n.arrayMerge||f,n.isMergeableObject=n.isMergeableObject||r,n.cloneUnlessOtherwiseSpecified=l;var i=Array.isArray(t),a=Array.isArray(e),o=i===a;return o?i?n.arrayMerge(e,t,n):v(e,t,n):l(t,n)}w.all=function(e,t){if(!Array.isArray(e))throw new Error("first argument should be an array");return e.reduce((function(e,n){return w(e,n,t)}),{})};var y=w;e.exports=y},2626:function(e,t,n){"use strict";var r=n("d066"),i=n("9bf2"),a=n("b622"),o=n("83ab"),c=a("species");e.exports=function(e){var t=r(e),n=i.f;o&&t&&!t[c]&&n(t,c,{configurable:!0,get:function(){return this}})}},2877:function(e,t,n){"use strict";function r(e,t,n,r,i,a,o,c){var u,s="function"===typeof e?e.options:e;if(t&&(s.render=t,s.staticRenderFns=n,s._compiled=!0),r&&(s.functional=!0),a&&(s._scopeId="data-v-"+a),o?(u=function(e){e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,e||"undefined"===typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),i&&i.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(o)},s._ssrRegister=u):i&&(u=c?function(){i.call(this,(s.functional?this.parent:this).$root.$options.shadowRoot)}:i),u)if(s.functional){s._injectStyles=u;var l=s.render;s.render=function(e,t){return u.call(t),l(e,t)}}else{var f=s.beforeCreate;s.beforeCreate=f?[].concat(f,u):[u]}return{exports:e,options:s}}n.d(t,"a",(function(){return r}))},"2a62":function(e,t,n){var r=n("825a");e.exports=function(e){var t=e["return"];if(void 0!==t)return r(t.call(e)).value}},"2b0e":function(e,t,n){"use strict";n.r(t),function(e){ -/*! - * Vue.js v2.6.12 - * (c) 2014-2020 Evan You - * Released under the MIT License. - */ -var n=Object.freeze({});function r(e){return void 0===e||null===e}function i(e){return void 0!==e&&null!==e}function a(e){return!0===e}function o(e){return!1===e}function c(e){return"string"===typeof e||"number"===typeof e||"symbol"===typeof e||"boolean"===typeof e}function u(e){return null!==e&&"object"===typeof e}var s=Object.prototype.toString;function l(e){return"[object Object]"===s.call(e)}function f(e){return"[object RegExp]"===s.call(e)}function h(e){var t=parseFloat(String(e));return t>=0&&Math.floor(t)===t&&isFinite(e)}function d(e){return i(e)&&"function"===typeof e.then&&"function"===typeof e.catch}function p(e){return null==e?"":Array.isArray(e)||l(e)&&e.toString===s?JSON.stringify(e,null,2):String(e)}function b(e){var t=parseFloat(e);return isNaN(t)?e:t}function g(e,t){for(var n=Object.create(null),r=e.split(","),i=0;i-1)return e.splice(n,1)}}var y=Object.prototype.hasOwnProperty;function m(e,t){return y.call(e,t)}function x(e){var t=Object.create(null);return function(n){var r=t[n];return r||(t[n]=e(n))}}var k=/-(\w)/g,E=x((function(e){return e.replace(k,(function(e,t){return t?t.toUpperCase():""}))})),S=x((function(e){return e.charAt(0).toUpperCase()+e.slice(1)})),_=/\B([A-Z])/g,C=x((function(e){return e.replace(_,"-$1").toLowerCase()}));function j(e,t){function n(n){var r=arguments.length;return r?r>1?e.apply(t,arguments):e.call(t,n):e.call(t)}return n._length=e.length,n}function O(e,t){return e.bind(t)}var T=Function.prototype.bind?O:j;function P(e,t){t=t||0;var n=e.length-t,r=new Array(n);while(n--)r[n]=e[n+t];return r}function A(e,t){for(var n in t)e[n]=t[n];return e}function N(e){for(var t={},n=0;n0,ne=J&&J.indexOf("edge/")>0,re=(J&&J.indexOf("android"),J&&/iphone|ipad|ipod|ios/.test(J)||"ios"===Z),ie=(J&&/chrome\/\d+/.test(J),J&&/phantomjs/.test(J),J&&J.match(/firefox\/(\d+)/)),ae={}.watch,oe=!1;if(X)try{var ce={};Object.defineProperty(ce,"passive",{get:function(){oe=!0}}),window.addEventListener("test-passive",null,ce)}catch(Eo){}var ue=function(){return void 0===W&&(W=!X&&!Q&&"undefined"!==typeof e&&(e["process"]&&"server"===e["process"].env.VUE_ENV)),W},se=X&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function le(e){return"function"===typeof e&&/native code/.test(e.toString())}var fe,he="undefined"!==typeof Symbol&&le(Symbol)&&"undefined"!==typeof Reflect&&le(Reflect.ownKeys);fe="undefined"!==typeof Set&&le(Set)?Set:function(){function e(){this.set=Object.create(null)}return e.prototype.has=function(e){return!0===this.set[e]},e.prototype.add=function(e){this.set[e]=!0},e.prototype.clear=function(){this.set=Object.create(null)},e}();var de=I,pe=0,be=function(){this.id=pe++,this.subs=[]};be.prototype.addSub=function(e){this.subs.push(e)},be.prototype.removeSub=function(e){w(this.subs,e)},be.prototype.depend=function(){be.target&&be.target.addDep(this)},be.prototype.notify=function(){var e=this.subs.slice();for(var t=0,n=e.length;t-1)if(a&&!m(i,"default"))o=!1;else if(""===o||o===C(e)){var u=et(String,i.type);(u<0||c0&&(o=jt(o,(t||"")+"_"+n),Ct(o[0])&&Ct(s)&&(l[u]=ke(s.text+o[0].text),o.shift()),l.push.apply(l,o)):c(o)?Ct(s)?l[u]=ke(s.text+o):""!==o&&l.push(ke(o)):Ct(o)&&Ct(s)?l[u]=ke(s.text+o.text):(a(e._isVList)&&i(o.tag)&&r(o.key)&&i(t)&&(o.key="__vlist"+t+"_"+n+"__"),l.push(o)));return l}function Ot(e){var t=e.$options.provide;t&&(e._provided="function"===typeof t?t.call(e):t)}function Tt(e){var t=Pt(e.$options.inject,e);t&&(Te(!1),Object.keys(t).forEach((function(n){De(e,n,t[n])})),Te(!0))}function Pt(e,t){if(e){for(var n=Object.create(null),r=he?Reflect.ownKeys(e):Object.keys(e),i=0;i0,o=e?!!e.$stable:!a,c=e&&e.$key;if(e){if(e._normalized)return e._normalized;if(o&&r&&r!==n&&c===r.$key&&!a&&!r.$hasNormal)return r;for(var u in i={},e)e[u]&&"$"!==u[0]&&(i[u]=Dt(t,u,e[u]))}else i={};for(var s in t)s in i||(i[s]=Lt(t,s));return e&&Object.isExtensible(e)&&(e._normalized=i),V(i,"$stable",o),V(i,"$key",c),V(i,"$hasNormal",a),i}function Dt(e,t,n){var r=function(){var e=arguments.length?n.apply(null,arguments):n({});return e=e&&"object"===typeof e&&!Array.isArray(e)?[e]:_t(e),e&&(0===e.length||1===e.length&&e[0].isComment)?void 0:e};return n.proxy&&Object.defineProperty(e,t,{get:r,enumerable:!0,configurable:!0}),r}function Lt(e,t){return function(){return e[t]}}function Mt(e,t){var n,r,a,o,c;if(Array.isArray(e)||"string"===typeof e)for(n=new Array(e.length),r=0,a=e.length;r1?P(n):n;for(var r=P(arguments,1),i='event handler for "'+e+'"',a=0,o=n.length;adocument.createEvent("Event").timeStamp&&(Wn=function(){return Kn.now()})}function Xn(){var e,t;for(Un=Wn(),$n=!0,Gn.sort((function(e,t){return e.id-t.id})),Vn=0;VnVn&&Gn[n].id>e.id)n--;Gn.splice(n+1,0,e)}else Gn.push(e);Fn||(Fn=!0,pt(Xn))}}var tr=0,nr=function(e,t,n,r,i){this.vm=e,i&&(e._watcher=this),e._watchers.push(this),r?(this.deep=!!r.deep,this.user=!!r.user,this.lazy=!!r.lazy,this.sync=!!r.sync,this.before=r.before):this.deep=this.user=this.lazy=this.sync=!1,this.cb=n,this.id=++tr,this.active=!0,this.dirty=this.lazy,this.deps=[],this.newDeps=[],this.depIds=new fe,this.newDepIds=new fe,this.expression="","function"===typeof t?this.getter=t:(this.getter=U(t),this.getter||(this.getter=I)),this.value=this.lazy?void 0:this.get()};nr.prototype.get=function(){var e;ve(this);var t=this.vm;try{e=this.getter.call(t,t)}catch(Eo){if(!this.user)throw Eo;tt(Eo,t,'getter for watcher "'+this.expression+'"')}finally{this.deep&>(e),we(),this.cleanupDeps()}return e},nr.prototype.addDep=function(e){var t=e.id;this.newDepIds.has(t)||(this.newDepIds.add(t),this.newDeps.push(e),this.depIds.has(t)||e.addSub(this))},nr.prototype.cleanupDeps=function(){var e=this.deps.length;while(e--){var t=this.deps[e];this.newDepIds.has(t.id)||t.removeSub(this)}var n=this.depIds;this.depIds=this.newDepIds,this.newDepIds=n,this.newDepIds.clear(),n=this.deps,this.deps=this.newDeps,this.newDeps=n,this.newDeps.length=0},nr.prototype.update=function(){this.lazy?this.dirty=!0:this.sync?this.run():er(this)},nr.prototype.run=function(){if(this.active){var e=this.get();if(e!==this.value||u(e)||this.deep){var t=this.value;if(this.value=e,this.user)try{this.cb.call(this.vm,e,t)}catch(Eo){tt(Eo,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,e,t)}}},nr.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},nr.prototype.depend=function(){var e=this.deps.length;while(e--)this.deps[e].depend()},nr.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||w(this.vm._watchers,this);var e=this.deps.length;while(e--)this.deps[e].removeSub(this);this.active=!1}};var rr={enumerable:!0,configurable:!0,get:I,set:I};function ir(e,t,n){rr.get=function(){return this[t][n]},rr.set=function(e){this[t][n]=e},Object.defineProperty(e,n,rr)}function ar(e){e._watchers=[];var t=e.$options;t.props&&or(e,t.props),t.methods&&pr(e,t.methods),t.data?cr(e):Ie(e._data={},!0),t.computed&&lr(e,t.computed),t.watch&&t.watch!==ae&&br(e,t.watch)}function or(e,t){var n=e.$options.propsData||{},r=e._props={},i=e.$options._propKeys=[],a=!e.$parent;a||Te(!1);var o=function(a){i.push(a);var o=Xe(a,t,n,e);De(r,a,o),a in e||ir(e,"_props",a)};for(var c in t)o(c);Te(!0)}function cr(e){var t=e.$options.data;t=e._data="function"===typeof t?ur(t,e):t||{},l(t)||(t={});var n=Object.keys(t),r=e.$options.props,i=(e.$options.methods,n.length);while(i--){var a=n[i];0,r&&m(r,a)||$(a)||ir(e,"_data",a)}Ie(t,!0)}function ur(e,t){ve();try{return e.call(t,t)}catch(Eo){return tt(Eo,t,"data()"),{}}finally{we()}}var sr={lazy:!0};function lr(e,t){var n=e._computedWatchers=Object.create(null),r=ue();for(var i in t){var a=t[i],o="function"===typeof a?a:a.get;0,r||(n[i]=new nr(e,o||I,I,sr)),i in e||fr(e,i,a)}}function fr(e,t,n){var r=!ue();"function"===typeof n?(rr.get=r?hr(t):dr(n),rr.set=I):(rr.get=n.get?r&&!1!==n.cache?hr(t):dr(n.get):I,rr.set=n.set||I),Object.defineProperty(e,t,rr)}function hr(e){return function(){var t=this._computedWatchers&&this._computedWatchers[e];if(t)return t.dirty&&t.evaluate(),be.target&&t.depend(),t.value}}function dr(e){return function(){return e.call(this,this)}}function pr(e,t){e.$options.props;for(var n in t)e[n]="function"!==typeof t[n]?I:T(t[n],e)}function br(e,t){for(var n in t){var r=t[n];if(Array.isArray(r))for(var i=0;i-1)return this;var n=P(arguments,1);return n.unshift(this),"function"===typeof e.install?e.install.apply(e,n):"function"===typeof e&&e.apply(null,n),t.push(e),this}}function _r(e){e.mixin=function(e){return this.options=We(this.options,e),this}}function Cr(e){e.cid=0;var t=1;e.extend=function(e){e=e||{};var n=this,r=n.cid,i=e._Ctor||(e._Ctor={});if(i[r])return i[r];var a=e.name||n.options.name;var o=function(e){this._init(e)};return o.prototype=Object.create(n.prototype),o.prototype.constructor=o,o.cid=t++,o.options=We(n.options,e),o["super"]=n,o.options.props&&jr(o),o.options.computed&&Or(o),o.extend=n.extend,o.mixin=n.mixin,o.use=n.use,G.forEach((function(e){o[e]=n[e]})),a&&(o.options.components[a]=o),o.superOptions=n.options,o.extendOptions=e,o.sealedOptions=A({},o.options),i[r]=o,o}}function jr(e){var t=e.options.props;for(var n in t)ir(e.prototype,"_props",n)}function Or(e){var t=e.options.computed;for(var n in t)fr(e.prototype,n,t[n])}function Tr(e){G.forEach((function(t){e[t]=function(e,n){return n?("component"===t&&l(n)&&(n.name=n.name||e,n=this.options._base.extend(n)),"directive"===t&&"function"===typeof n&&(n={bind:n,update:n}),this.options[t+"s"][e]=n,n):this.options[t+"s"][e]}}))}function Pr(e){return e&&(e.Ctor.options.name||e.tag)}function Ar(e,t){return Array.isArray(e)?e.indexOf(t)>-1:"string"===typeof e?e.split(",").indexOf(t)>-1:!!f(e)&&e.test(t)}function Nr(e,t){var n=e.cache,r=e.keys,i=e._vnode;for(var a in n){var o=n[a];if(o){var c=Pr(o.componentOptions);c&&!t(c)&&Ir(n,a,r,i)}}}function Ir(e,t,n,r){var i=e[t];!i||r&&i.tag===r.tag||i.componentInstance.$destroy(),e[t]=null,w(n,t)}yr(Er),vr(Er),Tn(Er),In(Er),wn(Er);var Dr=[String,RegExp,Array],Lr={name:"keep-alive",abstract:!0,props:{include:Dr,exclude:Dr,max:[String,Number]},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var e in this.cache)Ir(this.cache,e,this.keys)},mounted:function(){var e=this;this.$watch("include",(function(t){Nr(e,(function(e){return Ar(t,e)}))})),this.$watch("exclude",(function(t){Nr(e,(function(e){return!Ar(t,e)}))}))},render:function(){var e=this.$slots.default,t=En(e),n=t&&t.componentOptions;if(n){var r=Pr(n),i=this,a=i.include,o=i.exclude;if(a&&(!r||!Ar(a,r))||o&&r&&Ar(o,r))return t;var c=this,u=c.cache,s=c.keys,l=null==t.key?n.Ctor.cid+(n.tag?"::"+n.tag:""):t.key;u[l]?(t.componentInstance=u[l].componentInstance,w(s,l),s.push(l)):(u[l]=t,s.push(l),this.max&&s.length>parseInt(this.max)&&Ir(u,s[0],s,this._vnode)),t.data.keepAlive=!0}return t||e&&e[0]}},Mr={KeepAlive:Lr};function Rr(e){var t={get:function(){return Y}};Object.defineProperty(e,"config",t),e.util={warn:de,extend:A,mergeOptions:We,defineReactive:De},e.set=Le,e.delete=Me,e.nextTick=pt,e.observable=function(e){return Ie(e),e},e.options=Object.create(null),G.forEach((function(t){e.options[t+"s"]=Object.create(null)})),e.options._base=e,A(e.options.components,Mr),Sr(e),_r(e),Cr(e),Tr(e)}Rr(Er),Object.defineProperty(Er.prototype,"$isServer",{get:ue}),Object.defineProperty(Er.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(Er,"FunctionalRenderContext",{value:Qt}),Er.version="2.6.12";var Br=g("style,class"),Hr=g("input,textarea,option,select,progress"),Gr=function(e,t,n){return"value"===n&&Hr(e)&&"button"!==t||"selected"===n&&"option"===e||"checked"===n&&"input"===e||"muted"===n&&"video"===e},zr=g("contenteditable,draggable,spellcheck"),Yr=g("events,caret,typing,plaintext-only"),Fr=function(e,t){return Wr(t)||"false"===t?"false":"contenteditable"===e&&Yr(t)?t:"true"},$r=g("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible"),Vr="http://www.w3.org/1999/xlink",qr=function(e){return":"===e.charAt(5)&&"xlink"===e.slice(0,5)},Ur=function(e){return qr(e)?e.slice(6,e.length):""},Wr=function(e){return null==e||!1===e};function Kr(e){var t=e.data,n=e,r=e;while(i(r.componentInstance))r=r.componentInstance._vnode,r&&r.data&&(t=Xr(r.data,t));while(i(n=n.parent))n&&n.data&&(t=Xr(t,n.data));return Qr(t.staticClass,t.class)}function Xr(e,t){return{staticClass:Zr(e.staticClass,t.staticClass),class:i(e.class)?[e.class,t.class]:t.class}}function Qr(e,t){return i(e)||i(t)?Zr(e,Jr(t)):""}function Zr(e,t){return e?t?e+" "+t:e:t||""}function Jr(e){return Array.isArray(e)?ei(e):u(e)?ti(e):"string"===typeof e?e:""}function ei(e){for(var t,n="",r=0,a=e.length;r-1?ci[e]=t.constructor===window.HTMLUnknownElement||t.constructor===window.HTMLElement:ci[e]=/HTMLUnknownElement/.test(t.toString())}var si=g("text,number,password,search,email,tel,url");function li(e){if("string"===typeof e){var t=document.querySelector(e);return t||document.createElement("div")}return e}function fi(e,t){var n=document.createElement(e);return"select"!==e||t.data&&t.data.attrs&&void 0!==t.data.attrs.multiple&&n.setAttribute("multiple","multiple"),n}function hi(e,t){return document.createElementNS(ni[e],t)}function di(e){return document.createTextNode(e)}function pi(e){return document.createComment(e)}function bi(e,t,n){e.insertBefore(t,n)}function gi(e,t){e.removeChild(t)}function vi(e,t){e.appendChild(t)}function wi(e){return e.parentNode}function yi(e){return e.nextSibling}function mi(e){return e.tagName}function xi(e,t){e.textContent=t}function ki(e,t){e.setAttribute(t,"")}var Ei=Object.freeze({createElement:fi,createElementNS:hi,createTextNode:di,createComment:pi,insertBefore:bi,removeChild:gi,appendChild:vi,parentNode:wi,nextSibling:yi,tagName:mi,setTextContent:xi,setStyleScope:ki}),Si={create:function(e,t){_i(t)},update:function(e,t){e.data.ref!==t.data.ref&&(_i(e,!0),_i(t))},destroy:function(e){_i(e,!0)}};function _i(e,t){var n=e.data.ref;if(i(n)){var r=e.context,a=e.componentInstance||e.elm,o=r.$refs;t?Array.isArray(o[n])?w(o[n],a):o[n]===a&&(o[n]=void 0):e.data.refInFor?Array.isArray(o[n])?o[n].indexOf(a)<0&&o[n].push(a):o[n]=[a]:o[n]=a}}var Ci=new ye("",{},[]),ji=["create","activate","update","remove","destroy"];function Oi(e,t){return e.key===t.key&&(e.tag===t.tag&&e.isComment===t.isComment&&i(e.data)===i(t.data)&&Ti(e,t)||a(e.isAsyncPlaceholder)&&e.asyncFactory===t.asyncFactory&&r(t.asyncFactory.error))}function Ti(e,t){if("input"!==e.tag)return!0;var n,r=i(n=e.data)&&i(n=n.attrs)&&n.type,a=i(n=t.data)&&i(n=n.attrs)&&n.type;return r===a||si(r)&&si(a)}function Pi(e,t,n){var r,a,o={};for(r=t;r<=n;++r)a=e[r].key,i(a)&&(o[a]=r);return o}function Ai(e){var t,n,o={},u=e.modules,s=e.nodeOps;for(t=0;tb?(f=r(n[w+1])?null:n[w+1].elm,E(e,f,n,p,w,a)):p>w&&_(t,h,b)}function O(e,t,n,r){for(var a=n;a-1?Yi(e,t,n):$r(t)?Wr(n)?e.removeAttribute(t):(n="allowfullscreen"===t&&"EMBED"===e.tagName?"true":t,e.setAttribute(t,n)):zr(t)?e.setAttribute(t,Fr(t,n)):qr(t)?Wr(n)?e.removeAttributeNS(Vr,Ur(t)):e.setAttributeNS(Vr,t,n):Yi(e,t,n)}function Yi(e,t,n){if(Wr(n))e.removeAttribute(t);else{if(ee&&!te&&"TEXTAREA"===e.tagName&&"placeholder"===t&&""!==n&&!e.__ieph){var r=function(t){t.stopImmediatePropagation(),e.removeEventListener("input",r)};e.addEventListener("input",r),e.__ieph=!0}e.setAttribute(t,n)}}var Fi={create:Gi,update:Gi};function $i(e,t){var n=t.elm,a=t.data,o=e.data;if(!(r(a.staticClass)&&r(a.class)&&(r(o)||r(o.staticClass)&&r(o.class)))){var c=Kr(t),u=n._transitionClasses;i(u)&&(c=Zr(c,Jr(u))),c!==n._prevClass&&(n.setAttribute("class",c),n._prevClass=c)}}var Vi,qi={create:$i,update:$i},Ui="__r",Wi="__c";function Ki(e){if(i(e[Ui])){var t=ee?"change":"input";e[t]=[].concat(e[Ui],e[t]||[]),delete e[Ui]}i(e[Wi])&&(e.change=[].concat(e[Wi],e.change||[]),delete e[Wi])}function Xi(e,t,n){var r=Vi;return function i(){var a=t.apply(null,arguments);null!==a&&Ji(e,i,n,r)}}var Qi=ot&&!(ie&&Number(ie[1])<=53);function Zi(e,t,n,r){if(Qi){var i=Un,a=t;t=a._wrapper=function(e){if(e.target===e.currentTarget||e.timeStamp>=i||e.timeStamp<=0||e.target.ownerDocument!==document)return a.apply(this,arguments)}}Vi.addEventListener(e,t,oe?{capture:n,passive:r}:n)}function Ji(e,t,n,r){(r||Vi).removeEventListener(e,t._wrapper||t,n)}function ea(e,t){if(!r(e.data.on)||!r(t.data.on)){var n=t.data.on||{},i=e.data.on||{};Vi=t.elm,Ki(n),mt(n,i,Zi,Ji,Xi,t.context),Vi=void 0}}var ta,na={create:ea,update:ea};function ra(e,t){if(!r(e.data.domProps)||!r(t.data.domProps)){var n,a,o=t.elm,c=e.data.domProps||{},u=t.data.domProps||{};for(n in i(u.__ob__)&&(u=t.data.domProps=A({},u)),c)n in u||(o[n]="");for(n in u){if(a=u[n],"textContent"===n||"innerHTML"===n){if(t.children&&(t.children.length=0),a===c[n])continue;1===o.childNodes.length&&o.removeChild(o.childNodes[0])}if("value"===n&&"PROGRESS"!==o.tagName){o._value=a;var s=r(a)?"":String(a);ia(o,s)&&(o.value=s)}else if("innerHTML"===n&&ii(o.tagName)&&r(o.innerHTML)){ta=ta||document.createElement("div"),ta.innerHTML=""+a+"";var l=ta.firstChild;while(o.firstChild)o.removeChild(o.firstChild);while(l.firstChild)o.appendChild(l.firstChild)}else if(a!==c[n])try{o[n]=a}catch(Eo){}}}}function ia(e,t){return!e.composing&&("OPTION"===e.tagName||aa(e,t)||oa(e,t))}function aa(e,t){var n=!0;try{n=document.activeElement!==e}catch(Eo){}return n&&e.value!==t}function oa(e,t){var n=e.value,r=e._vModifiers;if(i(r)){if(r.number)return b(n)!==b(t);if(r.trim)return n.trim()!==t.trim()}return n!==t}var ca={create:ra,update:ra},ua=x((function(e){var t={},n=/;(?![^(]*\))/g,r=/:(.+)/;return e.split(n).forEach((function(e){if(e){var n=e.split(r);n.length>1&&(t[n[0].trim()]=n[1].trim())}})),t}));function sa(e){var t=la(e.style);return e.staticStyle?A(e.staticStyle,t):t}function la(e){return Array.isArray(e)?N(e):"string"===typeof e?ua(e):e}function fa(e,t){var n,r={};if(t){var i=e;while(i.componentInstance)i=i.componentInstance._vnode,i&&i.data&&(n=sa(i.data))&&A(r,n)}(n=sa(e.data))&&A(r,n);var a=e;while(a=a.parent)a.data&&(n=sa(a.data))&&A(r,n);return r}var ha,da=/^--/,pa=/\s*!important$/,ba=function(e,t,n){if(da.test(t))e.style.setProperty(t,n);else if(pa.test(n))e.style.setProperty(C(t),n.replace(pa,""),"important");else{var r=va(t);if(Array.isArray(n))for(var i=0,a=n.length;i-1?t.split(ma).forEach((function(t){return e.classList.add(t)})):e.classList.add(t);else{var n=" "+(e.getAttribute("class")||"")+" ";n.indexOf(" "+t+" ")<0&&e.setAttribute("class",(n+t).trim())}}function ka(e,t){if(t&&(t=t.trim()))if(e.classList)t.indexOf(" ")>-1?t.split(ma).forEach((function(t){return e.classList.remove(t)})):e.classList.remove(t),e.classList.length||e.removeAttribute("class");else{var n=" "+(e.getAttribute("class")||"")+" ",r=" "+t+" ";while(n.indexOf(r)>=0)n=n.replace(r," ");n=n.trim(),n?e.setAttribute("class",n):e.removeAttribute("class")}}function Ea(e){if(e){if("object"===typeof e){var t={};return!1!==e.css&&A(t,Sa(e.name||"v")),A(t,e),t}return"string"===typeof e?Sa(e):void 0}}var Sa=x((function(e){return{enterClass:e+"-enter",enterToClass:e+"-enter-to",enterActiveClass:e+"-enter-active",leaveClass:e+"-leave",leaveToClass:e+"-leave-to",leaveActiveClass:e+"-leave-active"}})),_a=X&&!te,Ca="transition",ja="animation",Oa="transition",Ta="transitionend",Pa="animation",Aa="animationend";_a&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(Oa="WebkitTransition",Ta="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(Pa="WebkitAnimation",Aa="webkitAnimationEnd"));var Na=X?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(e){return e()};function Ia(e){Na((function(){Na(e)}))}function Da(e,t){var n=e._transitionClasses||(e._transitionClasses=[]);n.indexOf(t)<0&&(n.push(t),xa(e,t))}function La(e,t){e._transitionClasses&&w(e._transitionClasses,t),ka(e,t)}function Ma(e,t,n){var r=Ba(e,t),i=r.type,a=r.timeout,o=r.propCount;if(!i)return n();var c=i===Ca?Ta:Aa,u=0,s=function(){e.removeEventListener(c,l),n()},l=function(t){t.target===e&&++u>=o&&s()};setTimeout((function(){u0&&(n=Ca,l=o,f=a.length):t===ja?s>0&&(n=ja,l=s,f=u.length):(l=Math.max(o,s),n=l>0?o>s?Ca:ja:null,f=n?n===Ca?a.length:u.length:0);var h=n===Ca&&Ra.test(r[Oa+"Property"]);return{type:n,timeout:l,propCount:f,hasTransform:h}}function Ha(e,t){while(e.length1}function Va(e,t){!0!==t.data.show&&za(t)}var qa=X?{create:Va,activate:Va,remove:function(e,t){!0!==e.data.show?Ya(e,t):t()}}:{},Ua=[Fi,qi,na,ca,ya,qa],Wa=Ua.concat(Hi),Ka=Ai({nodeOps:Ei,modules:Wa});te&&document.addEventListener("selectionchange",(function(){var e=document.activeElement;e&&e.vmodel&&ro(e,"input")}));var Xa={inserted:function(e,t,n,r){"select"===n.tag?(r.elm&&!r.elm._vOptions?xt(n,"postpatch",(function(){Xa.componentUpdated(e,t,n)})):Qa(e,t,n.context),e._vOptions=[].map.call(e.options,eo)):("textarea"===n.tag||si(e.type))&&(e._vModifiers=t.modifiers,t.modifiers.lazy||(e.addEventListener("compositionstart",to),e.addEventListener("compositionend",no),e.addEventListener("change",no),te&&(e.vmodel=!0)))},componentUpdated:function(e,t,n){if("select"===n.tag){Qa(e,t,n.context);var r=e._vOptions,i=e._vOptions=[].map.call(e.options,eo);if(i.some((function(e,t){return!M(e,r[t])}))){var a=e.multiple?t.value.some((function(e){return Ja(e,i)})):t.value!==t.oldValue&&Ja(t.value,i);a&&ro(e,"change")}}}};function Qa(e,t,n){Za(e,t,n),(ee||ne)&&setTimeout((function(){Za(e,t,n)}),0)}function Za(e,t,n){var r=t.value,i=e.multiple;if(!i||Array.isArray(r)){for(var a,o,c=0,u=e.options.length;c-1,o.selected!==a&&(o.selected=a);else if(M(eo(o),r))return void(e.selectedIndex!==c&&(e.selectedIndex=c));i||(e.selectedIndex=-1)}}function Ja(e,t){return t.every((function(t){return!M(t,e)}))}function eo(e){return"_value"in e?e._value:e.value}function to(e){e.target.composing=!0}function no(e){e.target.composing&&(e.target.composing=!1,ro(e.target,"input"))}function ro(e,t){var n=document.createEvent("HTMLEvents");n.initEvent(t,!0,!0),e.dispatchEvent(n)}function io(e){return!e.componentInstance||e.data&&e.data.transition?e:io(e.componentInstance._vnode)}var ao={bind:function(e,t,n){var r=t.value;n=io(n);var i=n.data&&n.data.transition,a=e.__vOriginalDisplay="none"===e.style.display?"":e.style.display;r&&i?(n.data.show=!0,za(n,(function(){e.style.display=a}))):e.style.display=r?a:"none"},update:function(e,t,n){var r=t.value,i=t.oldValue;if(!r!==!i){n=io(n);var a=n.data&&n.data.transition;a?(n.data.show=!0,r?za(n,(function(){e.style.display=e.__vOriginalDisplay})):Ya(n,(function(){e.style.display="none"}))):e.style.display=r?e.__vOriginalDisplay:"none"}},unbind:function(e,t,n,r,i){i||(e.style.display=e.__vOriginalDisplay)}},oo={model:Xa,show:ao},co={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function uo(e){var t=e&&e.componentOptions;return t&&t.Ctor.options.abstract?uo(En(t.children)):e}function so(e){var t={},n=e.$options;for(var r in n.propsData)t[r]=e[r];var i=n._parentListeners;for(var a in i)t[E(a)]=i[a];return t}function lo(e,t){if(/\d-keep-alive$/.test(t.tag))return e("keep-alive",{props:t.componentOptions.propsData})}function fo(e){while(e=e.parent)if(e.data.transition)return!0}function ho(e,t){return t.key===e.key&&t.tag===e.tag}var po=function(e){return e.tag||kn(e)},bo=function(e){return"show"===e.name},go={name:"transition",props:co,abstract:!0,render:function(e){var t=this,n=this.$slots.default;if(n&&(n=n.filter(po),n.length)){0;var r=this.mode;0;var i=n[0];if(fo(this.$vnode))return i;var a=uo(i);if(!a)return i;if(this._leaving)return lo(e,i);var o="__transition-"+this._uid+"-";a.key=null==a.key?a.isComment?o+"comment":o+a.tag:c(a.key)?0===String(a.key).indexOf(o)?a.key:o+a.key:a.key;var u=(a.data||(a.data={})).transition=so(this),s=this._vnode,l=uo(s);if(a.data.directives&&a.data.directives.some(bo)&&(a.data.show=!0),l&&l.data&&!ho(a,l)&&!kn(l)&&(!l.componentInstance||!l.componentInstance._vnode.isComment)){var f=l.data.transition=A({},u);if("out-in"===r)return this._leaving=!0,xt(f,"afterLeave",(function(){t._leaving=!1,t.$forceUpdate()})),lo(e,i);if("in-out"===r){if(kn(a))return s;var h,d=function(){h()};xt(u,"afterEnter",d),xt(u,"enterCancelled",d),xt(f,"delayLeave",(function(e){h=e}))}}return i}}},vo=A({tag:String,moveClass:String},co);delete vo.mode;var wo={props:vo,beforeMount:function(){var e=this,t=this._update;this._update=function(n,r){var i=An(e);e.__patch__(e._vnode,e.kept,!1,!0),e._vnode=e.kept,i(),t.call(e,n,r)}},render:function(e){for(var t=this.tag||this.$vnode.data.tag||"span",n=Object.create(null),r=this.prevChildren=this.children,i=this.$slots.default||[],a=this.children=[],o=so(this),c=0;c1?arguments[1]:void 0,t.length)),r=String(e);return l?l.call(t,r,n):t.slice(n,n+r.length)===r}})},"2cf4":function(e,t,n){var r,i,a,o=n("da84"),c=n("d039"),u=n("0366"),s=n("1be4"),l=n("cc12"),f=n("1cdc"),h=n("605d"),d=o.location,p=o.setImmediate,b=o.clearImmediate,g=o.process,v=o.MessageChannel,w=o.Dispatch,y=0,m={},x="onreadystatechange",k=function(e){if(m.hasOwnProperty(e)){var t=m[e];delete m[e],t()}},E=function(e){return function(){k(e)}},S=function(e){k(e.data)},_=function(e){o.postMessage(e+"",d.protocol+"//"+d.host)};p&&b||(p=function(e){var t=[],n=1;while(arguments.length>n)t.push(arguments[n++]);return m[++y]=function(){("function"==typeof e?e:Function(e)).apply(void 0,t)},r(y),y},b=function(e){delete m[e]},h?r=function(e){g.nextTick(E(e))}:w&&w.now?r=function(e){w.now(E(e))}:v&&!f?(i=new v,a=i.port2,i.port1.onmessage=S,r=u(a.postMessage,a,1)):o.addEventListener&&"function"==typeof postMessage&&!o.importScripts&&d&&"file:"!==d.protocol&&!c(_)?(r=_,o.addEventListener("message",S,!1)):r=x in l("script")?function(e){s.appendChild(l("script"))[x]=function(){s.removeChild(this),k(e)}}:function(e){setTimeout(E(e),0)}),e.exports={set:p,clear:b}},"2d00":function(e,t,n){var r,i,a=n("da84"),o=n("342f"),c=a.process,u=c&&c.versions,s=u&&u.v8;s?(r=s.split("."),i=r[0]+r[1]):o&&(r=o.match(/Edge\/(\d+)/),(!r||r[1]>=74)&&(r=o.match(/Chrome\/(\d+)/),r&&(i=r[1]))),e.exports=i&&+i},"2d83":function(e,t,n){"use strict";var r=n("387f");e.exports=function(e,t,n,i,a){var o=new Error(e);return r(o,t,n,i,a)}},"2e67":function(e,t,n){"use strict";e.exports=function(e){return!(!e||!e.__CANCEL__)}},"30b5":function(e,t,n){"use strict";var r=n("c532");function i(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}e.exports=function(e,t,n){if(!t)return e;var a;if(n)a=n(t);else if(r.isURLSearchParams(t))a=t.toString();else{var o=[];r.forEach(t,(function(e,t){null!==e&&"undefined"!==typeof e&&(r.isArray(e)?t+="[]":e=[e],r.forEach(e,(function(e){r.isDate(e)?e=e.toISOString():r.isObject(e)&&(e=JSON.stringify(e)),o.push(i(t)+"="+i(e))})))})),a=o.join("&")}if(a){var c=e.indexOf("#");-1!==c&&(e=e.slice(0,c)),e+=(-1===e.indexOf("?")?"?":"&")+a}return e}},"342f":function(e,t,n){var r=n("d066");e.exports=r("navigator","userAgent")||""},"35a1":function(e,t,n){var r=n("f5df"),i=n("3f8c"),a=n("b622"),o=a("iterator");e.exports=function(e){if(void 0!=e)return e[o]||e["@@iterator"]||i[r(e)]}},"37e8":function(e,t,n){var r=n("83ab"),i=n("9bf2"),a=n("825a"),o=n("df75");e.exports=r?Object.defineProperties:function(e,t){a(e);var n,r=o(t),c=r.length,u=0;while(c>u)i.f(e,n=r[u++],t[n]);return e}},"387f":function(e,t,n){"use strict";e.exports=function(e,t,n,r,i){return e.config=t,n&&(e.code=n),e.request=r,e.response=i,e.isAxiosError=!0,e.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code}},e}},3934:function(e,t,n){"use strict";var r=n("c532");e.exports=r.isStandardBrowserEnv()?function(){var e,t=/(msie|trident)/i.test(navigator.userAgent),n=document.createElement("a");function i(e){var r=e;return t&&(n.setAttribute("href",r),r=n.href),n.setAttribute("href",r),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:"/"===n.pathname.charAt(0)?n.pathname:"/"+n.pathname}}return e=i(window.location.href),function(t){var n=r.isString(t)?i(t):t;return n.protocol===e.protocol&&n.host===e.host}}():function(){return function(){return!0}}()},"3a6f":function(e,t,n){e.exports=function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s="fb15")}({"014b":function(e,t,n){"use strict";var r=n("e53d"),i=n("07e3"),a=n("8e60"),o=n("63b6"),c=n("9138"),u=n("ebfd").KEY,s=n("294c"),l=n("dbdb"),f=n("45f2"),h=n("62a0"),d=n("5168"),p=n("ccb9"),b=n("6718"),g=n("47ee"),v=n("9003"),w=n("e4ae"),y=n("f772"),m=n("241e"),x=n("36c3"),k=n("1bc3"),E=n("aebd"),S=n("a159"),_=n("0395"),C=n("bf0b"),j=n("9aa9"),O=n("d9f6"),T=n("c3a1"),P=C.f,A=O.f,N=_.f,I=r.Symbol,D=r.JSON,L=D&&D.stringify,M="prototype",R=d("_hidden"),B=d("toPrimitive"),H={}.propertyIsEnumerable,G=l("symbol-registry"),z=l("symbols"),Y=l("op-symbols"),F=Object[M],$="function"==typeof I&&!!j.f,V=r.QObject,q=!V||!V[M]||!V[M].findChild,U=a&&s((function(){return 7!=S(A({},"a",{get:function(){return A(this,"a",{value:7}).a}})).a}))?function(e,t,n){var r=P(F,t);r&&delete F[t],A(e,t,n),r&&e!==F&&A(F,t,r)}:A,W=function(e){var t=z[e]=S(I[M]);return t._k=e,t},K=$&&"symbol"==typeof I.iterator?function(e){return"symbol"==typeof e}:function(e){return e instanceof I},X=function(e,t,n){return e===F&&X(Y,t,n),w(e),t=k(t,!0),w(n),i(z,t)?(n.enumerable?(i(e,R)&&e[R][t]&&(e[R][t]=!1),n=S(n,{enumerable:E(0,!1)})):(i(e,R)||A(e,R,E(1,{})),e[R][t]=!0),U(e,t,n)):A(e,t,n)},Q=function(e,t){w(e);var n,r=g(t=x(t)),i=0,a=r.length;while(a>i)X(e,n=r[i++],t[n]);return e},Z=function(e,t){return void 0===t?S(e):Q(S(e),t)},J=function(e){var t=H.call(this,e=k(e,!0));return!(this===F&&i(z,e)&&!i(Y,e))&&(!(t||!i(this,e)||!i(z,e)||i(this,R)&&this[R][e])||t)},ee=function(e,t){if(e=x(e),t=k(t,!0),e!==F||!i(z,t)||i(Y,t)){var n=P(e,t);return!n||!i(z,t)||i(e,R)&&e[R][t]||(n.enumerable=!0),n}},te=function(e){var t,n=N(x(e)),r=[],a=0;while(n.length>a)i(z,t=n[a++])||t==R||t==u||r.push(t);return r},ne=function(e){var t,n=e===F,r=N(n?Y:x(e)),a=[],o=0;while(r.length>o)!i(z,t=r[o++])||n&&!i(F,t)||a.push(z[t]);return a};$||(I=function(){if(this instanceof I)throw TypeError("Symbol is not a constructor!");var e=h(arguments.length>0?arguments[0]:void 0),t=function(n){this===F&&t.call(Y,n),i(this,R)&&i(this[R],e)&&(this[R][e]=!1),U(this,e,E(1,n))};return a&&q&&U(F,e,{configurable:!0,set:t}),W(e)},c(I[M],"toString",(function(){return this._k})),C.f=ee,O.f=X,n("6abf").f=_.f=te,n("355d").f=J,j.f=ne,a&&!n("b8e3")&&c(F,"propertyIsEnumerable",J,!0),p.f=function(e){return W(d(e))}),o(o.G+o.W+o.F*!$,{Symbol:I});for(var re="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),ie=0;re.length>ie;)d(re[ie++]);for(var ae=T(d.store),oe=0;ae.length>oe;)b(ae[oe++]);o(o.S+o.F*!$,"Symbol",{for:function(e){return i(G,e+="")?G[e]:G[e]=I(e)},keyFor:function(e){if(!K(e))throw TypeError(e+" is not a symbol!");for(var t in G)if(G[t]===e)return t},useSetter:function(){q=!0},useSimple:function(){q=!1}}),o(o.S+o.F*!$,"Object",{create:Z,defineProperty:X,defineProperties:Q,getOwnPropertyDescriptor:ee,getOwnPropertyNames:te,getOwnPropertySymbols:ne});var ce=s((function(){j.f(1)}));o(o.S+o.F*ce,"Object",{getOwnPropertySymbols:function(e){return j.f(m(e))}}),D&&o(o.S+o.F*(!$||s((function(){var e=I();return"[null]"!=L([e])||"{}"!=L({a:e})||"{}"!=L(Object(e))}))),"JSON",{stringify:function(e){var t,n,r=[e],i=1;while(arguments.length>i)r.push(arguments[i++]);if(n=t=r[1],(y(t)||void 0!==e)&&!K(e))return v(t)||(t=function(e,t){if("function"==typeof n&&(t=n.call(this,e,t)),!K(t))return t}),r[1]=t,L.apply(D,r)}}),I[M][B]||n("35e8")(I[M],B,I[M].valueOf),f(I,"Symbol"),f(Math,"Math",!0),f(r.JSON,"JSON",!0)},"01f9":function(e,t,n){"use strict";var r=n("2d00"),i=n("5ca1"),a=n("2aba"),o=n("32e9"),c=n("84f2"),u=n("41a0"),s=n("7f20"),l=n("38fd"),f=n("2b4c")("iterator"),h=!([].keys&&"next"in[].keys()),d="@@iterator",p="keys",b="values",g=function(){return this};e.exports=function(e,t,n,v,w,y,m){u(n,t,v);var x,k,E,S=function(e){if(!h&&e in O)return O[e];switch(e){case p:return function(){return new n(this,e)};case b:return function(){return new n(this,e)}}return function(){return new n(this,e)}},_=t+" Iterator",C=w==b,j=!1,O=e.prototype,T=O[f]||O[d]||w&&O[w],P=T||S(w),A=w?C?S("entries"):P:void 0,N="Array"==t&&O.entries||T;if(N&&(E=l(N.call(new e)),E!==Object.prototype&&E.next&&(s(E,_,!0),r||"function"==typeof E[f]||o(E,f,g))),C&&T&&T.name!==b&&(j=!0,P=function(){return T.call(this)}),r&&!m||!h&&!j&&O[f]||o(O,f,P),c[t]=P,c[_]=g,w)if(x={values:C?P:S(b),keys:y?P:S(p),entries:A},m)for(k in x)k in O||a(O,k,x[k]);else i(i.P+i.F*(h||j),t,x);return x}},"0293":function(e,t,n){var r=n("241e"),i=n("53e2");n("ce7e")("getPrototypeOf",(function(){return function(e){return i(r(e))}}))},"0395":function(e,t,n){var r=n("36c3"),i=n("6abf").f,a={}.toString,o="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],c=function(e){try{return i(e)}catch(t){return o.slice()}};e.exports.f=function(e){return o&&"[object Window]"==a.call(e)?c(e):i(r(e))}},"061b":function(e,t,n){e.exports=n("fa99")},"07e3":function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},"0d58":function(e,t,n){var r=n("ce10"),i=n("e11e");e.exports=Object.keys||function(e){return r(e,i)}},"0fc9":function(e,t,n){var r=n("3a38"),i=Math.max,a=Math.min;e.exports=function(e,t){return e=r(e),e<0?i(e+t,0):a(e,t)}},"11e9":function(e,t,n){var r=n("52a7"),i=n("4630"),a=n("6821"),o=n("6a99"),c=n("69a8"),u=n("c69a"),s=Object.getOwnPropertyDescriptor;t.f=n("9e1e")?s:function(e,t){if(e=a(e),t=o(t,!0),u)try{return s(e,t)}catch(n){}if(c(e,t))return i(!r.f.call(e,t),e[t])}},1248:function(e,t,n){var r,i,a;(function(){var n,o,c,u,s,l,f,h,d,p,b,g,v,w,y;c=Math.floor,p=Math.min,o=function(e,t){return et?1:0},d=function(e,t,n,r,i){var a;if(null==n&&(n=0),null==i&&(i=o),n<0)throw new Error("lo must be non-negative");null==r&&(r=e.length);while(nn;0<=n?t++:t--)s.push(t);return s}.apply(this).reverse(),u=[],r=0,i=a.length;rb;0<=b?++l:--l)g.push(s(e,n));return g},w=function(e,t,n,r){var i,a,c;null==r&&(r=o),i=e[n];while(n>t){if(c=n-1>>1,a=e[c],!(r(i,a)<0))break;e[n]=a,n=c}return e[n]=i},y=function(e,t,n){var r,i,a,c,u;null==n&&(n=o),i=e.length,u=t,a=e[t],r=2*t+1;while(ru)r.f(e,n=o[u++],t[n]);return e}},1654:function(e,t,n){"use strict";var r=n("71c1")(!0);n("30f1")(String,"String",(function(e){this._t=String(e),this._i=0}),(function(){var e,t=this._t,n=this._i;return n>=t.length?{value:void 0,done:!0}:(e=r(t,n),this._i+=e.length,{value:e,done:!1})}))},1691:function(e,t){e.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},"175a":function(e,t,n){e.exports=n("1248")},1991:function(e,t,n){var r,i,a,o=n("9b43"),c=n("31f4"),u=n("fab2"),s=n("230e"),l=n("7726"),f=l.process,h=l.setImmediate,d=l.clearImmediate,p=l.MessageChannel,b=l.Dispatch,g=0,v={},w="onreadystatechange",y=function(){var e=+this;if(v.hasOwnProperty(e)){var t=v[e];delete v[e],t()}},m=function(e){y.call(e.data)};h&&d||(h=function(e){var t=[],n=1;while(arguments.length>n)t.push(arguments[n++]);return v[++g]=function(){c("function"==typeof e?e:Function(e),t)},r(g),g},d=function(e){delete v[e]},"process"==n("2d95")(f)?r=function(e){f.nextTick(o(y,e,1))}:b&&b.now?r=function(e){b.now(o(y,e,1))}:p?(i=new p,a=i.port2,i.port1.onmessage=m,r=o(a.postMessage,a,1)):l.addEventListener&&"function"==typeof postMessage&&!l.importScripts?(r=function(e){l.postMessage(e+"","*")},l.addEventListener("message",m,!1)):r=w in s("script")?function(e){u.appendChild(s("script"))[w]=function(){u.removeChild(this),y.call(e)}}:function(e){setTimeout(o(y,e,1),0)}),e.exports={set:h,clear:d}},"1af6":function(e,t,n){var r=n("63b6");r(r.S,"Array",{isArray:n("9003")})},"1bc3":function(e,t,n){var r=n("f772");e.exports=function(e,t){if(!r(e))return e;var n,i;if(t&&"function"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;if("function"==typeof(n=e.valueOf)&&!r(i=n.call(e)))return i;if(!t&&"function"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;throw TypeError("Can't convert object to primitive value")}},"1df8":function(e,t,n){var r=n("63b6");r(r.S,"Object",{setPrototypeOf:n("ead6").set})},"1ec9":function(e,t,n){var r=n("f772"),i=n("e53d").document,a=r(i)&&r(i.createElement);e.exports=function(e){return a?i.createElement(e):{}}},"1fa8":function(e,t,n){var r=n("cb7c");e.exports=function(e,t,n,i){try{return i?t(r(n)[0],n[1]):t(n)}catch(o){var a=e["return"];throw void 0!==a&&r(a.call(e)),o}}},"230e":function(e,t,n){var r=n("d3f4"),i=n("7726").document,a=r(i)&&r(i.createElement);e.exports=function(e){return a?i.createElement(e):{}}},"23c6":function(e,t,n){var r=n("2d95"),i=n("2b4c")("toStringTag"),a="Arguments"==r(function(){return arguments}()),o=function(e,t){try{return e[t]}catch(n){}};e.exports=function(e){var t,n,c;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(n=o(t=Object(e),i))?n:a?r(t):"Object"==(c=r(t))&&"function"==typeof t.callee?"Arguments":c}},"241e":function(e,t,n){var r=n("25eb");e.exports=function(e){return Object(r(e))}},"25b0":function(e,t,n){n("1df8"),e.exports=n("584a").Object.setPrototypeOf},"25eb":function(e,t){e.exports=function(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e}},2621:function(e,t){t.f=Object.getOwnPropertySymbols},"27ee":function(e,t,n){var r=n("23c6"),i=n("2b4c")("iterator"),a=n("84f2");e.exports=n("8378").getIteratorMethod=function(e){if(void 0!=e)return e[i]||e["@@iterator"]||a[r(e)]}},"294c":function(e,t){e.exports=function(e){try{return!!e()}catch(t){return!0}}},"2aba":function(e,t,n){var r=n("7726"),i=n("32e9"),a=n("69a8"),o=n("ca5a")("src"),c=n("fa5b"),u="toString",s=(""+c).split(u);n("8378").inspectSource=function(e){return c.call(e)},(e.exports=function(e,t,n,c){var u="function"==typeof n;u&&(a(n,"name")||i(n,"name",t)),e[t]!==n&&(u&&(a(n,o)||i(n,o,e[t]?""+e[t]:s.join(String(t)))),e===r?e[t]=n:c?e[t]?e[t]=n:i(e,t,n):(delete e[t],i(e,t,n)))})(Function.prototype,u,(function(){return"function"==typeof this&&this[o]||c.call(this)}))},"2aeb":function(e,t,n){var r=n("cb7c"),i=n("1495"),a=n("e11e"),o=n("613b")("IE_PROTO"),c=function(){},u="prototype",s=function(){var e,t=n("230e")("iframe"),r=a.length,i="<",o=">";t.style.display="none",n("fab2").appendChild(t),t.src="javascript:",e=t.contentWindow.document,e.open(),e.write(i+"script"+o+"document.F=Object"+i+"/script"+o),e.close(),s=e.F;while(r--)delete s[u][a[r]];return s()};e.exports=Object.create||function(e,t){var n;return null!==e?(c[u]=r(e),n=new c,c[u]=null,n[o]=e):n=s(),void 0===t?n:i(n,t)}},"2b4c":function(e,t,n){var r=n("5537")("wks"),i=n("ca5a"),a=n("7726").Symbol,o="function"==typeof a,c=e.exports=function(e){return r[e]||(r[e]=o&&a[e]||(o?a:i)("Symbol."+e))};c.store=r},"2d00":function(e,t){e.exports=!1},"2d95":function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},"30f1":function(e,t,n){"use strict";var r=n("b8e3"),i=n("63b6"),a=n("9138"),o=n("35e8"),c=n("481b"),u=n("8f60"),s=n("45f2"),l=n("53e2"),f=n("5168")("iterator"),h=!([].keys&&"next"in[].keys()),d="@@iterator",p="keys",b="values",g=function(){return this};e.exports=function(e,t,n,v,w,y,m){u(n,t,v);var x,k,E,S=function(e){if(!h&&e in O)return O[e];switch(e){case p:return function(){return new n(this,e)};case b:return function(){return new n(this,e)}}return function(){return new n(this,e)}},_=t+" Iterator",C=w==b,j=!1,O=e.prototype,T=O[f]||O[d]||w&&O[w],P=T||S(w),A=w?C?S("entries"):P:void 0,N="Array"==t&&O.entries||T;if(N&&(E=l(N.call(new e)),E!==Object.prototype&&E.next&&(s(E,_,!0),r||"function"==typeof E[f]||o(E,f,g))),C&&T&&T.name!==b&&(j=!0,P=function(){return T.call(this)}),r&&!m||!h&&!j&&O[f]||o(O,f,P),c[t]=P,c[_]=g,w)if(x={values:C?P:S(b),keys:y?P:S(p),entries:A},m)for(k in x)k in O||a(O,k,x[k]);else i(i.P+i.F*(h||j),t,x);return x}},"31f4":function(e,t){e.exports=function(e,t,n){var r=void 0===n;switch(t.length){case 0:return r?e():e.call(n);case 1:return r?e(t[0]):e.call(n,t[0]);case 2:return r?e(t[0],t[1]):e.call(n,t[0],t[1]);case 3:return r?e(t[0],t[1],t[2]):e.call(n,t[0],t[1],t[2]);case 4:return r?e(t[0],t[1],t[2],t[3]):e.call(n,t[0],t[1],t[2],t[3])}return e.apply(n,t)}},"32e9":function(e,t,n){var r=n("86cc"),i=n("4630");e.exports=n("9e1e")?function(e,t,n){return r.f(e,t,i(1,n))}:function(e,t,n){return e[t]=n,e}},"32fc":function(e,t,n){var r=n("e53d").document;e.exports=r&&r.documentElement},"335c":function(e,t,n){var r=n("6b4c");e.exports=Object("z").propertyIsEnumerable(0)?Object:function(e){return"String"==r(e)?e.split(""):Object(e)}},"33a4":function(e,t,n){var r=n("84f2"),i=n("2b4c")("iterator"),a=Array.prototype;e.exports=function(e){return void 0!==e&&(r.Array===e||a[i]===e)}},"355d":function(e,t){t.f={}.propertyIsEnumerable},"35e8":function(e,t,n){var r=n("d9f6"),i=n("aebd");e.exports=n("8e60")?function(e,t,n){return r.f(e,t,i(1,n))}:function(e,t,n){return e[t]=n,e}},"36c3":function(e,t,n){var r=n("335c"),i=n("25eb");e.exports=function(e){return r(i(e))}},"38fd":function(e,t,n){var r=n("69a8"),i=n("4bf8"),a=n("613b")("IE_PROTO"),o=Object.prototype;e.exports=Object.getPrototypeOf||function(e){return e=i(e),r(e,a)?e[a]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?o:null}},"3a38":function(e,t){var n=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:n)(e)}},"40c3":function(e,t,n){var r=n("6b4c"),i=n("5168")("toStringTag"),a="Arguments"==r(function(){return arguments}()),o=function(e,t){try{return e[t]}catch(n){}};e.exports=function(e){var t,n,c;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(n=o(t=Object(e),i))?n:a?r(t):"Object"==(c=r(t))&&"function"==typeof t.callee?"Arguments":c}},"41a0":function(e,t,n){"use strict";var r=n("2aeb"),i=n("4630"),a=n("7f20"),o={};n("32e9")(o,n("2b4c")("iterator"),(function(){return this})),e.exports=function(e,t,n){e.prototype=r(o,{next:i(1,n)}),a(e,t+" Iterator")}},"44e1":function(e,t,n){"use strict";function r(e){return e&&"object"===typeof e&&"default"in e?e["default"]:e}var i=r(n("f7fe")),a=r(n("175a"));function o(e){return o="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o(e)}function c(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function u(e,t){for(var n=0;nt?1:0},ee=function(e,t){return-1*J(e,t)},te=null!=Object.assign?Object.assign.bind(Object):function(e){for(var t=arguments,n=1;n1&&(n-=1),n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e}var l=new RegExp("^"+K+"$").exec(e);if(l){if(n=parseInt(l[1]),n<0?n=(360- -1*n%360)%360:n>360&&(n%=360),n/=360,r=parseFloat(l[2]),r<0||r>100)return;if(r/=100,i=parseFloat(l[3]),i<0||i>100)return;if(i/=100,a=l[4],void 0!==a&&(a=parseFloat(a),a<0||a>1))return;if(0===r)o=c=u=Math.round(255*i);else{var f=i<.5?i*(1+r):i+r-i*r,h=2*i-f;o=Math.round(255*s(h,f,n+1/3)),c=Math.round(255*s(h,f,n)),u=Math.round(255*s(h,f,n-1/3))}t=[o,c,u,a]}return t},ie=function(e){var t,n=new RegExp("^"+U+"$").exec(e);if(n){t=[];for(var r=[],i=1;i<=3;i++){var a=n[i];if("%"===a[a.length-1]&&(r[i]=!0),a=parseFloat(a),r[i]&&(a=a/100*255),a<0||a>255)return;t.push(Math.floor(a))}var o=r[1]||r[2]||r[3],c=r[1]&&r[2]&&r[3];if(o&&!c)return;var u=n[4];if(void 0!==u){if(u=parseFloat(u),u<0||u>1)return;t.push(u)}}return t},ae=function(e){return ce[e.toLowerCase()]},oe=function(e){return(S(e)?e:null)||ae(e)||ne(e)||ie(e)||re(e)},ce={transparent:[0,0,0,0],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],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],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],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]},ue=function(e){for(var t=e.map,n=e.keys,r=n.length,i=0;i1&&void 0!==arguments[1]?arguments[1]:be,r=n;;){if(t=e.next(),t.done)break;r=(r<<5)+r+t.value|0}return r},ve=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:be;return(t<<5)+t+e|0},we=function(e,t){var n={value:0,done:!1},r=0,i=e.length,a={next:function(){return r=0;r--)if(e[r]===t&&(e.splice(r,1),!n))break},ze=function(e){e.splice(0,e.length)},Ye=function(e,t){for(var n=0;n0){var E=w.pop(),S=g(E),C=E.id();if(h[C]=S,S!==1/0)for(var j=E.neighborhood().intersect(p),O=0;O0){n.unshift(t);while(f[i]){var a=f[i];n.unshift(a.edge),n.unshift(a.node),r=a.node,i=r.id()}}return c.spawn(n)}}}},tt={kruskal:function(e){e=e||function(e){return 1};for(var t=this.byGroup(),n=t.nodes,r=t.edges,i=n.length,a=new Array(i),o=n,c=function(e){for(var t=0;t0){if(x(),E++,l===h){for(var S=[],_=i,C=h,j=y[C];;){if(S.unshift(_),null!=j&&S.unshift(j),_=w[C],null==_)break;C=_.id(),j=y[C]}return{found:!0,distance:d[l],path:this.spawn(S),steps:E}}b[l]=!0;for(var O=s._private.edges,T=0;Tj&&(d[C]=j,v[C]=_,w[C]=m),!i){var O=_*s+S;!i&&d[O]>j&&(d[O]=j,v[O]=S,w[O]=m)}}}for(var T=0;T1&&void 0!==arguments[1]?arguments[1]:a,r=w(e),i=[],o=r;;){if(null==o)return t.spawn();var u=v(o),s=u.edge,l=u.pred;if(i.unshift(o[0]),o.same(n)&&i.length>0)break;null!=s&&i.unshift(s),o=l}return c.spawn(i)},x=0;x=0;s--){var l=u[s],f=l[1],h=l[2];(t[f]===o&&t[h]===c||t[f]===c&&t[h]===o)&&u.splice(s,1)}for(var d=0;dr){var i=Math.floor(Math.random()*t.length);t=st(i,e,t),n--}return t},ft={kargerStein:function(){var e=this.byGroup(),t=e.nodes,n=e.edges;n.unmergeBy((function(e){return e.isLoop()}));var r=t.length,i=n.length,a=Math.ceil(Math.pow(Math.log(r)/Math.LN2,2)),o=Math.floor(r/ut);if(!(r<2)){for(var c=[],u=0;u1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,r=1/0,i=t;i1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,r=-1/0,i=t;i1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,r=0,i=0,a=t;a1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],a=!(arguments.length>5&&void 0!==arguments[5])||arguments[5];r?e=e.slice(t,n):(n0&&e.splice(0,t));for(var o=0,c=e.length-1;c>=0;c--){var u=e[c];a?isFinite(u)||(e[c]=-1/0,o++):e.splice(c,1)}i&&e.sort((function(e,t){return e-t}));var s=e.length,l=Math.floor(s/2);return s%2!==0?e[l+1+o]:(e[l-1+o]+e[l+o])/2},mt=function(e){return Math.PI*e/180},xt=function(e,t){return Math.atan2(t,e)-Math.PI/2},kt=Math.log2||function(e){return Math.log(e)/Math.log(2)},Et=function(e){return e>0?1:e<0?-1:0},St=function(e,t){return Math.sqrt(_t(e,t))},_t=function(e,t){var n=t.x-e.x,r=t.y-e.y;return n*n+r*r},Ct=function(e){for(var t=e.length,n=0,r=0;r=e.x1&&e.y2>=e.y1)return{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,w:e.x2-e.x1,h:e.y2-e.y1};if(null!=e.w&&null!=e.h&&e.w>=0&&e.h>=0)return{x1:e.x1,y1:e.y1,x2:e.x1+e.w,y2:e.y1+e.h,w:e.w,h:e.h}}},Nt=function(e){return{x1:e.x1,x2:e.x2,w:e.w,y1:e.y1,y2:e.y2,h:e.h}},It=function(e){e.x1=1/0,e.y1=1/0,e.x2=-1/0,e.y2=-1/0,e.w=0,e.h=0},Dt=function(e,t){e.x1=Math.min(e.x1,t.x1),e.x2=Math.max(e.x2,t.x2),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,t.y1),e.y2=Math.max(e.y2,t.y2),e.h=e.y2-e.y1},Lt=function(e,t,n){e.x1=Math.min(e.x1,t),e.x2=Math.max(e.x2,t),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,n),e.y2=Math.max(e.y2,n),e.h=e.y2-e.y1},Mt=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return e.x1-=t,e.x2+=t,e.y1-=t,e.y2+=t,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},Rt=function(e){var t,n,r,i,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0];if(1===a.length)t=n=r=i=a[0];else if(2===a.length)t=r=a[0],i=n=a[1];else if(4===a.length){var o=f(a,4);t=o[0],n=o[1],r=o[2],i=o[3]}return e.x1-=i,e.x2+=n,e.y1-=t,e.y2+=r,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},Bt=function(e,t){e.x1=t.x1,e.y1=t.y1,e.x2=t.x2,e.y2=t.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1},Ht=function(e,t){e.x1+=t.x,e.x2+=t.x,e.y1+=t.y,e.y2+=t.y},Gt=function(e,t){return!(e.x1>t.x2)&&(!(t.x1>e.x2)&&(!(e.x2t.y2)&&!(t.y1>e.y2)))))))},zt=function(e,t,n){return e.x1<=t&&t<=e.x2&&e.y1<=n&&n<=e.y2},Yt=function(e,t){return zt(e,t.x,t.y)},Ft=function(e,t){return zt(e,t.x1,t.y1)&&zt(e,t.x2,t.y2)},$t=function(e,t,n,r,i,a,o){var c,u=hn(i,a),s=i/2,l=a/2,f=n-s+u-o,h=r-l-o,d=n+s-u+o,p=h;if(c=on(e,t,n,r,f,h,d,p,!1),c.length>0)return c;var b=n+s+o,g=r-l+u-o,v=b,w=r+l-u+o;if(c=on(e,t,n,r,b,g,v,w,!1),c.length>0)return c;var y=n-s+u-o,m=r+l+o,x=n+s-u+o,k=m;if(c=on(e,t,n,r,y,m,x,k,!1),c.length>0)return c;var E,S=n-s-o,_=r-l+u-o,C=S,j=r+l-u+o;if(c=on(e,t,n,r,S,_,C,j,!1),c.length>0)return c;var O=n-s+u,T=r-l+u;if(E=rn(e,t,n,r,O,T,u+o),E.length>0&&E[0]<=O&&E[1]<=T)return[E[0],E[1]];var P=n+s-u,A=r-l+u;if(E=rn(e,t,n,r,P,A,u+o),E.length>0&&E[0]>=P&&E[1]<=A)return[E[0],E[1]];var N=n+s-u,I=r+l-u;if(E=rn(e,t,n,r,N,I,u+o),E.length>0&&E[0]>=N&&E[1]>=I)return[E[0],E[1]];var D=n-s+u,L=r+l-u;return E=rn(e,t,n,r,D,L,u+o),E.length>0&&E[0]<=D&&E[1]>=L?[E[0],E[1]]:[]},Vt=function(e,t,n,r,i,a,o){var c=o,u=Math.min(n,i),s=Math.max(n,i),l=Math.min(r,a),f=Math.max(r,a);return u-c<=e&&e<=s+c&&l-c<=t&&t<=f+c},qt=function(e,t,n,r,i,a,o,c,u){var s={x1:Math.min(n,o,i)-u,x2:Math.max(n,o,i)+u,y1:Math.min(r,c,a)-u,y2:Math.max(r,c,a)+u};return!(es.x2||ts.y2)},Ut=function(e,t,n,r){n-=r;var i=t*t-4*e*n;if(i<0)return[];var a=Math.sqrt(i),o=2*e,c=(-t+a)/o,u=(-t-a)/o;return[c,u]},Wt=function(e,t,n,r,i){var a,o,c,u,s,l,f,h,d=1e-5;return 0===e&&(e=d),t/=e,n/=e,r/=e,o=(3*n-t*t)/9,c=-27*r+t*(9*n-t*t*2),c/=54,a=o*o*o+c*c,i[1]=0,f=t/3,a>0?(s=c+Math.sqrt(a),s=s<0?-Math.pow(-s,1/3):Math.pow(s,1/3),l=c-Math.sqrt(a),l=l<0?-Math.pow(-l,1/3):Math.pow(l,1/3),i[0]=-f+s+l,f+=(s+l)/2,i[4]=i[2]=-f,f=Math.sqrt(3)*(-l+s)/2,i[3]=f,void(i[5]=-f)):(i[5]=i[3]=0,0===a?(h=c<0?-Math.pow(-c,1/3):Math.pow(c,1/3),i[0]=2*h-f,void(i[4]=i[2]=-(h+f))):(o=-o,u=o*o*o,u=Math.acos(c/Math.sqrt(u)),h=2*Math.sqrt(o),i[0]=-f+h*Math.cos(u/3),i[2]=-f+h*Math.cos((u+2*Math.PI)/3),void(i[4]=-f+h*Math.cos((u+4*Math.PI)/3))))},Kt=function(e,t,n,r,i,a,o,c){var u=1*n*n-4*n*i+2*n*o+4*i*i-4*i*o+o*o+r*r-4*r*a+2*r*c+4*a*a-4*a*c+c*c,s=9*n*i-3*n*n-3*n*o-6*i*i+3*i*o+9*r*a-3*r*r-3*r*c-6*a*a+3*a*c,l=3*n*n-6*n*i+n*o-n*e+2*i*i+2*i*e-o*e+3*r*r-6*r*a+r*c-r*t+2*a*a+2*a*t-c*t,f=1*n*i-n*n+n*e-i*e+r*a-r*r+r*t-a*t,h=[];Wt(u,s,l,f,h);for(var d=1e-7,p=[],b=0;b<6;b+=2)Math.abs(h[b+1])=0&&h[b]<=1&&p.push(h[b]);p.push(1),p.push(0);for(var g,v,w,y=-1,m=0;m=0?wu?(e-i)*(e-i)+(t-a)*(t-a):s-f},Qt=function(e,t,n){for(var r,i,a,o,c,u=0,s=0;s=e&&e>=a||r<=e&&e<=a))continue;c=(e-r)/(a-r)*(o-i)+i,c>t&&u++}return u%2!==0},Zt=function(e,t,n,r,i,a,o,c,u){var s,l=new Array(n.length);null!=c[0]?(s=Math.atan(c[1]/c[0]),c[0]<0?s+=Math.PI/2:s=-s-Math.PI/2):s=c;for(var f,h=Math.cos(-s),d=Math.sin(-s),p=0;p0){var b=en(l,-u);f=Jt(b)}else f=l;return Qt(e,t,f)},Jt=function(e){for(var t,n,r,i,a,o,c,u,s=new Array(e.length/2),l=0;l=0&&b<=1&&v.push(b),g>=0&&g<=1&&v.push(g),0===v.length)return[];var w=v[0]*c[0]+e,y=v[0]*c[1]+t;if(v.length>1){if(v[0]==v[1])return[w,y];var m=v[1]*c[0]+e,x=v[1]*c[1]+t;return[w,y,m,x]}return[w,y]},an=function(e,t,n){return t<=e&&e<=n||n<=e&&e<=t?e:e<=t&&t<=n||n<=t&&t<=e?t:n},on=function(e,t,n,r,i,a,o,c,u){var s=e-i,l=n-e,f=o-i,h=t-a,d=r-t,p=c-a,b=f*h-p*s,g=l*h-d*s,v=p*l-f*d;if(0!==v){var w=b/v,y=g/v,m=.001,x=0-m,k=1+m;return x<=w&&w<=k&&x<=y&&y<=k||u?[e+w*l,t+w*d]:[]}return 0===b||0===g?an(e,n,o)===o?[o,c]:an(e,n,i)===i?[i,a]:an(i,o,n)===n?[n,r]:[]:[]},cn=function(e,t,n,r,i,a,o,c){var u,s,l,f,h,d,p=[],b=new Array(n.length),g=!0;if(null==a&&(g=!1),g){for(var v=0;v0){var w=en(b,-c);s=Jt(w)}else s=b}else s=n;for(var y=0;yl&&(l=t)},get:function(e){return s[e]}},h=0;h0?y.edgesTo(w)[0]:w.edgesTo(y)[0];var x=r(m);w=w.id(),h[w]>h[g]+x&&(h[w]=h[g]+x,d.nodes.indexOf(w)<0?d.push(w):d.updateItem(w),l[w]=0,s[w]=[]),h[w]==h[g]+x&&(l[w]=l[w]+l[g],s[w].push(g))}else for(var k=0;k0)for(var C=n.pop(),j=0;j0&&o.push(n[c]);0!==o.length&&i.push(r.collection(o))}return i},Dn=function(e,t){for(var n=0;n5&&void 0!==arguments[5]?arguments[5]:Bn,u=r,s=0;s=2?$n(e,t,n,0,zn,Yn):$n(e,t,n,0,Gn)},squaredEuclidean:function(e,t,n){return $n(e,t,n,0,zn)},manhattan:function(e,t,n){return $n(e,t,n,0,Gn)},max:function(e,t,n){return $n(e,t,n,-1/0,Fn)}};function qn(e,t,n,r,i,a){var o;return o=E(e)?e:Vn[e]||Vn.euclidean,0===t&&E(e)?o(i,a):o(t,n,r,i,a)}Vn["squared-euclidean"]=Vn["squaredEuclidean"],Vn["squaredeuclidean"]=Vn["squaredEuclidean"];var Un=He({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),Wn=function(e){return Un(e)},Kn=function(e,t,n,r,i){var a="kMedoids"!==i,o=a?function(e){return n[e]}:function(e){return r[e](n)},c=function(e){return r[e](t)},u=n,s=t;return qn(e,r.length,o,c,u,s)},Xn=function(e,t,n){for(var r=n.length,i=new Array(r),a=new Array(r),o=new Array(t),c=null,u=0;un)return!1}return!0},tr=function(e,t,n){for(var r=0;ri&&(i=t[u][s],a=s);o[a].push(e[u])}for(var l=0;l=i.threshold||"dendrogram"===i.mode&&1===e.length)return!1;var d,p=t[o],b=t[r[o]];d="dendrogram"===i.mode?{left:p,right:b,key:p.key}:{value:p.value.concat(b.value),key:p.key},e[p.index]=d,e.splice(b.index,1),t[p.key]=d;for(var g=0;gn[b.key][v.key]&&(a=n[b.key][v.key])):"max"===i.linkage?(a=n[p.key][v.key],n[p.key][v.key]0&&r.push(i);return r},_r=function(e,t,n){for(var r=[],i=0;io&&(a=u,o=t[i*e+u])}a>0&&r.push(a)}for(var s=0;su&&(c=s,u=l)}n[i]=a[c]}return r=_r(e,t,n),r},jr=function(e){for(var t,n,r,i,a,o,c=this.cy(),u=this.nodes(),s=xr(e),l={},f=0;f=C?(j=C,C=T,O=P):T>j&&(j=T);for(var A=0;A0?1:0;E[k%s.minIterations*t+R]=B,M+=B}if(M>0&&(k>=s.minIterations-1||k==s.maxIterations-1)){for(var H=0,G=0;G0:void 0}},clearQueue:function(){return function(){var e=this,t=void 0!==e.length,n=t?e:[e],r=this._private.cy||this;if(!r.styleEnabled())return this;for(var i=0;i0&&this.spawn(r).updateStyle().emit("class"),t},addClass:function(e){return this.toggleClass(e,!0)},hasClass:function(e){var t=this[0];return null!=t&&t._private.classes.has(e)},toggleClass:function(e,t){S(e)||(e=e.match(/\S+/g)||[]);for(var n=this,r=void 0===t,i=[],a=0,o=n.length;a0&&this.spawn(i).updateStyle().emit("class"),n},removeClass:function(e){return this.toggleClass(e,!1)},flashClass:function(e,t){var n=this;if(null==t)t=250;else if(0===t)return n;return n.addClass(e),setTimeout((function(){n.removeClass(e)}),t),n}};Ur.className=Ur.classNames=Ur.classes;var Wr={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:"\"(?:\\\\\"|[^\"])*\"|'(?:\\\\'|[^'])*'",number:q,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};Wr.variable="(?:[\\w-]|(?:\\\\"+Wr.metaChar+"))+",Wr.value=Wr.string+"|"+Wr.number,Wr.className=Wr.variable,Wr.id=Wr.variable,function(){var e,t,n;for(e=Wr.comparatorOp.split("|"),n=0;n=0||"="!==t&&(Wr.comparatorOp+="|\\!"+t)}();var Kr=function(){return{checks:[]}},Xr={GROUP:0,COLLECTION:1,FILTER:2,DATA_COMPARE:3,DATA_EXIST:4,DATA_BOOL:5,META_COMPARE:6,STATE:7,ID:8,CLASS:9,UNDIRECTED_EDGE:10,DIRECTED_EDGE:11,NODE_SOURCE:12,NODE_TARGET:13,NODE_NEIGHBOR:14,CHILD:15,DESCENDANT:16,PARENT:17,ANCESTOR:18,COMPOUND_SPLIT:19,TRUE:20},Qr=[{selector:":selected",matches:function(e){return e.selected()}},{selector:":unselected",matches:function(e){return!e.selected()}},{selector:":selectable",matches:function(e){return e.selectable()}},{selector:":unselectable",matches:function(e){return!e.selectable()}},{selector:":locked",matches:function(e){return e.locked()}},{selector:":unlocked",matches:function(e){return!e.locked()}},{selector:":visible",matches:function(e){return e.visible()}},{selector:":hidden",matches:function(e){return!e.visible()}},{selector:":transparent",matches:function(e){return e.transparent()}},{selector:":grabbed",matches:function(e){return e.grabbed()}},{selector:":free",matches:function(e){return!e.grabbed()}},{selector:":removed",matches:function(e){return e.removed()}},{selector:":inside",matches:function(e){return!e.removed()}},{selector:":grabbable",matches:function(e){return e.grabbable()}},{selector:":ungrabbable",matches:function(e){return!e.grabbable()}},{selector:":animated",matches:function(e){return e.animated()}},{selector:":unanimated",matches:function(e){return!e.animated()}},{selector:":parent",matches:function(e){return e.isParent()}},{selector:":childless",matches:function(e){return e.isChildless()}},{selector:":child",matches:function(e){return e.isChild()}},{selector:":orphan",matches:function(e){return e.isOrphan()}},{selector:":nonorphan",matches:function(e){return e.isChild()}},{selector:":compound",matches:function(e){return e.isNode()?e.isParent():e.source().isParent()||e.target().isParent()}},{selector:":loop",matches:function(e){return e.isLoop()}},{selector:":simple",matches:function(e){return e.isSimple()}},{selector:":active",matches:function(e){return e.active()}},{selector:":inactive",matches:function(e){return!e.active()}},{selector:":backgrounding",matches:function(e){return e.backgrounding()}},{selector:":nonbackgrounding",matches:function(e){return!e.backgrounding()}}].sort((function(e,t){return ee(e.selector,t.selector)})),Zr=function(){for(var e,t={},n=0;n0&&s.edgeCount>0)return Ne("The selector `"+e+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(s.edgeCount>1)return Ne("The selector `"+e+"` is invalid because it uses multiple edge selectors"),!1;1===s.edgeCount&&Ne("The selector `"+e+"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0},ci=function(){if(null!=this.toStringCache)return this.toStringCache;for(var e=function(e){return null==e?"":e},t=function(t){return k(t)?'"'+t+'"':e(t)},n=function(e){return" "+e+" "},r=function(r,a){var o=r.type,c=r.value;switch(o){case Xr.GROUP:var u=e(c);return u.substring(0,u.length-1);case Xr.DATA_COMPARE:var s=r.field,l=r.operator;return"["+s+n(e(l))+t(c)+"]";case Xr.DATA_BOOL:var f=r.operator,h=r.field;return"["+e(f)+h+"]";case Xr.DATA_EXIST:var d=r.field;return"["+d+"]";case Xr.META_COMPARE:var p=r.operator,b=r.field;return"[["+b+n(e(p))+t(c)+"]]";case Xr.STATE:return c;case Xr.ID:return"#"+c;case Xr.CLASS:return"."+c;case Xr.PARENT:case Xr.CHILD:return i(r.parent,a)+n(">")+i(r.child,a);case Xr.ANCESTOR:case Xr.DESCENDANT:return i(r.ancestor,a)+" "+i(r.descendant,a);case Xr.COMPOUND_SPLIT:var g=i(r.left,a),v=i(r.subject,a),w=i(r.right,a);return g+(g.length>0?" ":"")+v+w;case Xr.TRUE:return""}},i=function(e,t){return e.checks.reduce((function(n,i,a){return n+(t===e&&0===a?"$":"")+r(i,t)}),"")},a="",o=0;o1&&o=0&&(t=t.replace("!",""),l=!0),t.indexOf("@")>=0&&(t=t.replace("@",""),s=!0),(o||u||s)&&(i=o||c?""+e:"",a=""+n),s&&(e=i=i.toLowerCase(),n=a=a.toLowerCase()),t){case"*=":r=i.indexOf(a)>=0;break;case"$=":r=i.indexOf(a,i.length-a.length)>=0;break;case"^=":r=0===i.indexOf(a);break;case"=":r=e===n;break;case">":f=!0,r=e>n;break;case">=":f=!0,r=e>=n;break;case"<":f=!0,r=e0){var l=i.shift();t(l),a.add(l.id()),c&&r(i,a,l)}return e}function ji(e,t,n){if(n.isParent())for(var r=n._private.children,i=0;i1&&void 0!==arguments[1])||arguments[1];return Ci(this,e,t,ji)},_i.forEachUp=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return Ci(this,e,t,Oi)},_i.forEachUpAndDown=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return Ci(this,e,t,Ti)},_i.ancestors=_i.parents,ki=Ei={data:Vr.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),removeData:Vr.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:Vr.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:Vr.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:Vr.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:Vr.removeData({field:"rscratch",triggerEvent:!1}),id:function(){var e=this[0];if(e)return e._private.data.id}},ki.attr=ki.data,ki.removeAttr=ki.removeData;var Pi,Ai,Ni=Ei,Ii={};function Di(e){return function(t){var n=this;if(void 0===t&&(t=!0),0!==n.length&&n.isNode()&&!n.removed()){for(var r=0,i=n[0],a=i._private.edges,o=0;ot})),minIndegree:Li("indegree",(function(e,t){return et})),minOutdegree:Li("outdegree",(function(e,t){return et}))}),te(Ii,{totalDegree:function(e){for(var t=0,n=this.nodes(),r=0;r0,l=s;s&&(u=u[0]);var f=l?u.position():{x:0,y:0};return i={x:c.x-f.x,y:c.y-f.y},void 0===e?i:i[e]}for(var h=0;h0,g=b;b&&(p=p[0]);var v=g?p.position():{x:0,y:0};void 0!==t?d.position(e,t+v[e]):void 0!==i&&d.position({x:i.x+v.x,y:i.y+v.y})}}else if(!a)return;return this}},Pi.modelPosition=Pi.point=Pi.position,Pi.modelPositions=Pi.points=Pi.positions,Pi.renderedPoint=Pi.renderedPosition,Pi.relativePoint=Pi.relativePosition;var Bi,Hi,Gi=Ai;Bi=Hi={},Hi.renderedBoundingBox=function(e){var t=this.boundingBox(e),n=this.cy(),r=n.zoom(),i=n.pan(),a=t.x1*r+i.x,o=t.x2*r+i.x,c=t.y1*r+i.y,u=t.y2*r+i.y;return{x1:a,x2:o,y1:c,y2:u,w:o-a,h:u-c}},Hi.dirtyCompoundBoundsCache=function(){var e=this.cy();return e.styleEnabled()&&e.hasCompoundNodes()?(this.forEachUp((function(e){if(e.isParent()){var t=e._private;t.compoundBoundsClean=!1,t.bbCache=null,e.emitAndNotify("bounds")}})),this):this},Hi.updateCompoundBounds=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.cy();if(!t.styleEnabled()||!t.hasCompoundNodes())return this;if(!e&&t.batching())return this;function n(e){if(e.isParent()){var t=e._private,n=e.children(),r="include"===e.pstyle("compound-sizing-wrt-labels").value,i={width:{val:e.pstyle("min-width").pfValue,left:e.pstyle("min-width-bias-left"),right:e.pstyle("min-width-bias-right")},height:{val:e.pstyle("min-height").pfValue,top:e.pstyle("min-height-bias-top"),bottom:e.pstyle("min-height-bias-bottom")}},a=n.boundingBox({includeLabels:r,includeOverlays:!1,useCache:!1}),o=t.position;0!==a.w&&0!==a.h||(a={w:e.pstyle("width").pfValue,h:e.pstyle("height").pfValue},a.x1=o.x-a.w/2,a.x2=o.x+a.w/2,a.y1=o.y-a.h/2,a.y2=o.y+a.h/2);var c=i.width.left.value;"px"===i.width.left.units&&i.width.val>0&&(c=100*c/i.width.val);var u=i.width.right.value;"px"===i.width.right.units&&i.width.val>0&&(u=100*u/i.width.val);var s=i.height.top.value;"px"===i.height.top.units&&i.height.val>0&&(s=100*s/i.height.val);var l=i.height.bottom.value;"px"===i.height.bottom.units&&i.height.val>0&&(l=100*l/i.height.val);var f=v(i.width.val-a.w,c,u),h=f.biasDiff,d=f.biasComplementDiff,p=v(i.height.val-a.h,s,l),b=p.biasDiff,g=p.biasComplementDiff;t.autoPadding=w(a.w,a.h,e.pstyle("padding"),e.pstyle("padding-relative-to").value),t.autoWidth=Math.max(a.w,i.width.val),o.x=(-h+a.x1+a.x2+d)/2,t.autoHeight=Math.max(a.h,i.height.val),o.y=(-b+a.y1+a.y2+g)/2}function v(e,t,n){var r=0,i=0,a=t+n;return e>0&&a>0&&(r=t/a*e,i=n/a*e),{biasDiff:r,biasComplementDiff:i}}function w(e,t,n,r){if("%"!==n.units)return"px"===n.units?n.pfValue:0;switch(r){case"width":return e>0?n.pfValue*e:0;case"height":return t>0?n.pfValue*t:0;case"average":return e>0&&t>0?n.pfValue*(e+t)/2:0;case"min":return e>0&&t>0?e>t?n.pfValue*t:n.pfValue*e:0;case"max":return e>0&&t>0?e>t?n.pfValue*e:n.pfValue*t:0;default:return 0}}}for(var r=0;re.x2?r:e.x2,e.y1=ne.y2?i:e.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1)},Fi=function(e,t){return null==t?e:Yi(e,t.x1,t.y1,t.x2,t.y2)},$i=function(e,t,n){return Fe(e,t,n)},Vi=function(e,t,n){if(!t.cy().headless()){var r,i,a=t._private,o=a.rstyle,c=o.arrowWidth/2,u=t.pstyle(n+"-arrow-shape").value;if("none"!==u){"source"===n?(r=o.srcX,i=o.srcY):"target"===n?(r=o.tgtX,i=o.tgtY):(r=o.midX,i=o.midY);var s=a.arrowBounds=a.arrowBounds||{},l=s[n]=s[n]||{};l.x1=r-c,l.y1=i-c,l.x2=r+c,l.y2=i+c,l.w=l.x2-l.x1,l.h=l.y2-l.y1,Mt(l,1),Yi(e,l.x1,l.y1,l.x2,l.y2)}}},qi=function(e,t,n){if(!t.cy().headless()){var r;r=n?n+"-":"";var i=t._private,a=i.rstyle,o=t.pstyle(r+"label").strValue;if(o){var c,u,s,l,f=t.pstyle("text-halign"),h=t.pstyle("text-valign"),d=$i(a,"labelWidth",n),p=$i(a,"labelHeight",n),b=$i(a,"labelX",n),g=$i(a,"labelY",n),v=t.pstyle(r+"text-margin-x").pfValue,w=t.pstyle(r+"text-margin-y").pfValue,y=t.isEdge(),m=t.pstyle(r+"text-rotation"),x=t.pstyle("text-outline-width").pfValue,k=t.pstyle("text-border-width").pfValue,E=k/2,S=t.pstyle("text-background-padding").pfValue,_=p,C=d,j=C/2,O=_/2;if(y)c=b-j,u=b+j,s=g-O,l=g+O;else{switch(f.value){case"left":c=b-C,u=b;break;case"center":c=b-j,u=b+j;break;case"right":c=b,u=b+C;break}switch(h.value){case"top":s=g-_,l=g;break;case"center":s=g-O,l=g+O;break;case"bottom":s=g,l=g+_;break}}c+=v-Math.max(x,E)-S,u+=v+Math.max(x,E)+S,s+=w-Math.max(x,E)-S,l+=w+Math.max(x,E)+S;var T=n||"main",P=i.labelBounds,A=P[T]=P[T]||{};A.x1=c,A.y1=s,A.x2=u,A.y2=l,A.w=u-c,A.h=l-s,Mt(A,1);var N=y&&"autorotate"===m.strValue,I=null!=m.pfValue&&0!==m.pfValue;if(N||I){var D=N?$i(i.rstyle,"labelAngle",n):m.pfValue,L=Math.cos(D),M=Math.sin(D),R=(c+u)/2,B=(s+l)/2;if(!y){switch(f.value){case"left":R=u;break;case"right":R=c;break}switch(h.value){case"top":B=l;break;case"bottom":B=s;break}}var H=function(e,t){return e-=R,t-=B,{x:e*L-t*M+R,y:e*M+t*L+B}},G=H(c,s),z=H(c,l),Y=H(u,s),F=H(u,l);c=Math.min(G.x,z.x,Y.x,F.x),u=Math.max(G.x,z.x,Y.x,F.x),s=Math.min(G.y,z.y,Y.y,F.y),l=Math.max(G.y,z.y,Y.y,F.y)}var $=T+"Rot",V=P[$]=P[$]||{};V.x1=c,V.y1=s,V.x2=u,V.y2=l,V.w=u-c,V.h=l-s,Yi(e,c,s,u,l),Yi(i.labelBounds.all,c,s,u,l)}return e}},Ui=function(e,t){var n,r,i,a,o,c,u=e._private.cy,s=u.styleEnabled(),l=u.headless(),f=At(),h=e._private,d=e.isNode(),p=e.isEdge(),b=h.rstyle,g=d&&s?e.pstyle("bounds-expansion").pfValue:[0],v=function(e){return"none"!==e.pstyle("display").value},w=!s||v(e)&&(!p||v(e.source())&&v(e.target()));if(w){var y=0,m=0;s&&t.includeOverlays&&(y=e.pstyle("overlay-opacity").value,0!==y&&(m=e.pstyle("overlay-padding").value));var x=0,k=0;if(s&&(x=e.pstyle("width").pfValue,k=x/2),d&&t.includeNodes){var E=e.position();o=E.x,c=E.y;var S=e.outerWidth(),_=S/2,C=e.outerHeight(),j=C/2;n=o-_,r=o+_,i=c-j,a=c+j,Yi(f,n,i,r,a)}else if(p&&t.includeEdges)if(s&&!l&&(n=Math.min(b.srcX,b.midX,b.tgtX),r=Math.max(b.srcX,b.midX,b.tgtX),i=Math.min(b.srcY,b.midY,b.tgtY),a=Math.max(b.srcY,b.midY,b.tgtY),n-=k,r+=k,i-=k,a+=k,Yi(f,n,i,r,a)),s&&!l&&"haystack"===e.pstyle("curve-style").strValue){var O=b.haystackPts||[];if(n=O[0].x,i=O[0].y,r=O[1].x,a=O[1].y,n>r){var T=n;n=r,r=T}if(i>a){var P=i;i=a,a=P}Yi(f,n-k,i-k,r+k,a+k)}else{for(var A=b.bezierPts||b.linePts||[],N=0;Nr){var B=n;n=r,r=B}if(i>a){var H=i;i=a,a=H}n-=k,r+=k,i-=k,a+=k,Yi(f,n,i,r,a)}}if(s&&t.includeEdges&&p&&(Vi(f,e,"mid-source"),Vi(f,e,"mid-target"),Vi(f,e,"source"),Vi(f,e,"target")),s){var G="yes"===e.pstyle("ghost").value;if(G){var z=e.pstyle("ghost-offset-x").pfValue,Y=e.pstyle("ghost-offset-y").pfValue;Yi(f,f.x1+z,f.y1+Y,f.x2+z,f.y2+Y)}}var F=h.bodyBounds=h.bodyBounds||{};Bt(F,f),Rt(F,g),Mt(F,1),s&&(n=f.x1,r=f.x2,i=f.y1,a=f.y2,Yi(f,n-m,i-m,r+m,a+m));var $=h.overlayBounds=h.overlayBounds||{};Bt($,f),Rt($,g),Mt($,1);var V=h.labelBounds=h.labelBounds||{};null!=V.all?It(V.all):V.all=At(),s&&t.includeLabels&&(t.includeMainLabels&&qi(f,e,null),p&&(t.includeSourceLabels&&qi(f,e,"source"),t.includeTargetLabels&&qi(f,e,"target")))}return f.x1=zi(f.x1),f.y1=zi(f.y1),f.x2=zi(f.x2),f.y2=zi(f.y2),f.w=zi(f.x2-f.x1),f.h=zi(f.y2-f.y1),f.w>0&&f.h>0&&w&&(Rt(f,g),Mt(f,1)),f},Wi=function(e){var t=0,n=function(e){return(e?1:0)<0&&void 0!==arguments[0]?arguments[0]:Sa,t=arguments.length>1?arguments[1]:void 0,n=0;n=0;c--)o(c);return this},Ca.removeAllListeners=function(){return this.removeListener("*")},Ca.emit=Ca.trigger=function(e,t,n){var r=this.listeners,i=r.length;return this.emitting++,S(t)||(t=[t]),Ta(this,(function(e,a){null!=n&&(r=[{event:a.event,type:a.type,namespace:a.namespace,callback:n}],i=r.length);for(var o=function(n){var i=r[n];if(i.type===a.type&&(!i.namespace||i.namespace===a.namespace||i.namespace===xa)&&e.eventMatches(e.context,i,a)){var o=[a];null!=t&&Ye(o,t),e.beforeEmit(e.context,i,a),i.conf&&i.conf.one&&(e.listeners=e.listeners.filter((function(e){return e!==i})));var c=e.callbackContext(e.context,i,a),u=i.callback.apply(c,o);e.afterEmit(e.context,i,a),!1===u&&(a.stopPropagation(),a.preventDefault())}},c=0;c1&&!a){var o=this.length-1,c=this[o],u=c._private.data.id;this[o]=void 0,this[e]=c,i.set(u,{ele:c,index:e})}return this.length--,this},unmergeOne:function(e){e=e[0];var t=this._private,n=e._private.data.id,r=t.map,i=r.get(n);if(!i)return this;var a=i.index;return this.unmergeAt(a),this},unmerge:function(e){var t=this._private.cy;if(!e)return this;if(e&&k(e)){var n=e;e=t.mutableElements().filter(n)}for(var r=0;r=0;t--){var n=this[t];e(n)&&this.unmergeAt(t)}return this},map:function(e,t){for(var n=[],r=this,i=0;ir&&(r=c,n=o)}return{value:r,ele:n}},min:function(e,t){for(var n,r=1/0,i=this,a=0;a=0&&i1&&void 0!==arguments[1])||arguments[1],n=this[0],r=n.cy();if(r.styleEnabled()&&n){var i=n._private.style[e];return null!=i?i:t?r.style().getDefaultProperty(e):null}},numericStyle:function(e){var t=this[0];if(t.cy().styleEnabled()&&t){var n=t.pstyle(e);return void 0!==n.pfValue?n.pfValue:n.value}},numericStyleUnits:function(e){var t=this[0];if(t.cy().styleEnabled())return t?t.pstyle(e).units:void 0},renderedStyle:function(e){var t=this.cy();if(!t.styleEnabled())return this;var n=this[0];return n?t.style().getRenderedStyle(n,e):void 0},style:function(e,t){var n=this.cy();if(!n.styleEnabled())return this;var r=!1,i=n.style();if(_(e)){var a=e;i.applyBypass(this,a,r),this.emitAndNotify("style")}else if(k(e)){if(void 0===t){var o=this[0];return o?i.getStylePropertyValue(o,e):void 0}i.applyBypass(this,e,t,r),this.emitAndNotify("style")}else if(void 0===e){var c=this[0];return c?i.getRawStyle(c):void 0}return this},removeStyle:function(e){var t=this.cy();if(!t.styleEnabled())return this;var n=!1,r=t.style(),i=this;if(void 0===e)for(var a=0;a0&&t.push(l[0]),t.push(c[0])}return this.spawn(t,{unique:!0}).filter(e)}),"neighborhood"),closedNeighborhood:function(e){return this.neighborhood().add(this).filter(e)},openNeighborhood:function(e){return this.neighborhood(e)}}),eo.neighbourhood=eo.neighborhood,eo.closedNeighbourhood=eo.closedNeighborhood,eo.openNeighbourhood=eo.openNeighborhood,te(eo,{source:Si((function(e){var t,n=this[0];return n&&(t=n._private.source||n.cy().collection()),t&&e?t.filter(e):t}),"source"),target:Si((function(e){var t,n=this[0];return n&&(t=n._private.target||n.cy().collection()),t&&e?t.filter(e):t}),"target"),sources:io({attr:"source"}),targets:io({attr:"target"})}),te(eo,{edgesWith:Si(ao(),"edgesWith"),edgesTo:Si(ao({thisIsSrc:!0}),"edgesTo")}),te(eo,{connectedEdges:Si((function(e){for(var t=[],n=this,r=0;r0);return a},component:function(){var e=this[0];return e.cy().mutableElements().components(e)[0]}}),eo.componentsOf=eo.components;var co={generate:function(e,t,n){var r=null!=n?n:Me();while(e.hasElementWithId(r))r=Me();return r}},uo=function(e,t,n){if(void 0!==e&&I(e)){var r=new qe,i=!1;if(t){if(t.length>0&&_(t[0])&&!A(t[0])){i=!0;for(var a=[],o=new Ke,c=0,u=t.length;c0&&void 0!==arguments[0])||arguments[0],r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this,a=i.cy(),o=a._private,c=[],u=[],s=0,l=i.length;s0){for(var B,H=new uo(a,e),G=0;G0&&void 0!==arguments[0])||arguments[0],t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=this,r=[],i={},a=n._private.cy;function o(e){for(var t=e._private.edges,n=0;n0&&(e?j.emitAndNotify("remove"):t&&j.emit("remove"));for(var O=0;O0?i=u:r=u}while(Math.abs(a)>o&&++s=a?w(t,l):0===f?l:m(t,r,r+s)}var k=!1;function E(){k=!0,e===t&&n===r||y()}var S=function(i){return k||E(),e===t&&n===r?i:0===i?0:1===i?1:g(x(i),t,r)};S.getControlPoints=function(){return[{x:e,y:t},{x:n,y:r}]};var _="generateBezier("+[e,t,n,r]+")";return S.toString=function(){return _},S} -/*! Runge-Kutta spring physics function generator. Adapted from Framer.js, copyright Koen Bok. MIT License: http://en.wikipedia.org/wiki/MIT_License */var ho=function(){function e(e){return-e.tension*e.x-e.friction*e.v}function t(t,n,r){var i={x:t.x+r.dx*n,v:t.v+r.dv*n,tension:t.tension,friction:t.friction};return{dx:i.v,dv:e(i)}}function n(n,r){var i={dx:n.v,dv:e(n)},a=t(n,.5*r,i),o=t(n,.5*r,a),c=t(n,r,o),u=1/6*(i.dx+2*(a.dx+o.dx)+c.dx),s=1/6*(i.dv+2*(a.dv+o.dv)+c.dv);return n.x=n.x+u*r,n.v=n.v+s*r,n}return function e(t,r,i){var a,o,c,u={x:-1,v:0,tension:null,friction:null},s=[0],l=0,f=1e-4,h=.016;for(t=parseFloat(t)||500,r=parseFloat(r)||20,i=i||null,u.tension=t,u.friction=r,a=null!==i,a?(l=e(t,r),o=l/i*h):o=h;;)if(c=n(c||u,o),s.push(1+c.x),l+=16,!(Math.abs(c.x)>f&&Math.abs(c.v)>f))break;return a?function(e){return s[e*(s.length-1)|0]}:l}}(),po=function(e,t,n,r){var i=fo(e,t,n,r);return function(e,t,n){return e+(t-e)*i(n)}},bo={linear:function(e,t,n){return e+(t-e)*n},ease:po(.25,.1,.25,1),"ease-in":po(.42,0,1,1),"ease-out":po(0,0,.58,1),"ease-in-out":po(.42,0,.58,1),"ease-in-sine":po(.47,0,.745,.715),"ease-out-sine":po(.39,.575,.565,1),"ease-in-out-sine":po(.445,.05,.55,.95),"ease-in-quad":po(.55,.085,.68,.53),"ease-out-quad":po(.25,.46,.45,.94),"ease-in-out-quad":po(.455,.03,.515,.955),"ease-in-cubic":po(.55,.055,.675,.19),"ease-out-cubic":po(.215,.61,.355,1),"ease-in-out-cubic":po(.645,.045,.355,1),"ease-in-quart":po(.895,.03,.685,.22),"ease-out-quart":po(.165,.84,.44,1),"ease-in-out-quart":po(.77,0,.175,1),"ease-in-quint":po(.755,.05,.855,.06),"ease-out-quint":po(.23,1,.32,1),"ease-in-out-quint":po(.86,0,.07,1),"ease-in-expo":po(.95,.05,.795,.035),"ease-out-expo":po(.19,1,.22,1),"ease-in-out-expo":po(1,0,0,1),"ease-in-circ":po(.6,.04,.98,.335),"ease-out-circ":po(.075,.82,.165,1),"ease-in-out-circ":po(.785,.135,.15,.86),spring:function(e,t,n){if(0===n)return bo.linear;var r=ho(e,t,n);return function(e,t,n){return e+(t-e)*r(n)}},"cubic-bezier":po};function go(e,t,n,r,i){if(1===r)return n;var a=i(t,n,r);return null==e||((e.roundValue||e.color)&&(a=Math.round(a)),void 0!==e.min&&(a=Math.max(a,e.min)),void 0!==e.max&&(a=Math.min(a,e.max))),a}function vo(e,t){return null!=e.pfValue||null!=e.value?null==e.pfValue||null!=t&&"%"===t.type.units?e.value:e.pfValue:e}function wo(e,t,n,r,i){var a=null!=i?i.type:null;n<0?n=0:n>1&&(n=1);var o=vo(e,i),c=vo(t,i);if(j(o)&&j(c))return go(a,o,c,n,r);if(S(o)&&S(c)){for(var u=[],s=0;s0?("spring"===h&&d.push(o.duration),o.easingImpl=bo[h].apply(null,d)):o.easingImpl=bo[h]}var b,g=o.easingImpl;if(b=0===o.duration?1:(n-u)/o.duration,o.applying&&(b=o.progress),b<0?b=0:b>1&&(b=1),null==o.delay){var v=o.startPosition,w=o.position;if(w&&i&&!e.locked()){var y={};mo(v.x,w.x)&&(y.x=wo(v.x,w.x,b,g)),mo(v.y,w.y)&&(y.y=wo(v.y,w.y,b,g)),e.position(y)}var m=o.startPan,x=o.pan,E=a.pan,S=null!=x&&r;S&&(mo(m.x,x.x)&&(E.x=wo(m.x,x.x,b,g)),mo(m.y,x.y)&&(E.y=wo(m.y,x.y,b,g)),e.emit("pan"));var _=o.startZoom,C=o.zoom,j=null!=C&&r;j&&(mo(_,C)&&(a.zoom=Pt(a.minZoom,wo(_,C,b,g),a.maxZoom)),e.emit("zoom")),(S||j)&&e.emit("viewport");var O=o.style;if(O&&O.length>0&&i){for(var T=0;T=0;t--){var n=e[t];n()}e.splice(0,e.length)},f=a.length-1;f>=0;f--){var h=a[f],d=h._private;d.stopped?(a.splice(f,1),d.hooked=!1,d.playing=!1,d.started=!1,l(d.frames)):(d.playing||d.applying)&&(d.playing&&d.applying&&(d.applying=!1),d.started||xo(t,h,e),yo(t,h,e,n),d.applying&&(d.applying=!1),l(d.frames),null!=d.step&&d.step(e),h.completed()&&(a.splice(f,1),d.hooked=!1,d.playing=!1,d.started=!1,l(d.completes)),c=!0)}return n||0!==a.length||0!==o.length||r.push(t),c}for(var a=!1,o=0;o0?t.notify("draw",n):t.notify("draw")),n.unmerge(r),t.emit("step")}var Eo={animate:Vr.animate(),animation:Vr.animation(),animated:Vr.animated(),clearQueue:Vr.clearQueue(),delay:Vr.delay(),delayAnimation:Vr.delayAnimation(),stop:Vr.stop(),addToAnimationPool:function(e){var t=this;t.styleEnabled()&&t._private.aniEles.merge(e)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var e=this;if(e._private.animationsRunning=!0,e.styleEnabled()){var t=e.renderer();t&&t.beforeRender?t.beforeRender((function(t,n){ko(n,e)}),t.beforeRenderPriorities.animations):n()}function n(){e._private.animationsRunning&&de((function(t){ko(t,e),n()}))}}},So={qualifierCompare:function(e,t){return null==e||null==t?null==e&&null==t:e.sameText(t)},eventMatches:function(e,t,n){var r=t.qualifier;return null==r||e!==n.target&&A(n.target)&&r.matches(n.target)},addEventFields:function(e,t){t.cy=e,t.target=e},callbackContext:function(e,t,n){return null!=t.qualifier?n.target:e}},_o=function(e){return k(e)?new yi(e):e},Co={createEmitter:function(){var e=this._private;return e.emitter||(e.emitter=new _a(So,this)),this},emitter:function(){return this._private.emitter},on:function(e,t,n){return this.emitter().on(e,_o(t),n),this},removeListener:function(e,t,n){return this.emitter().removeListener(e,_o(t),n),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function(e,t,n){return this.emitter().one(e,_o(t),n),this},once:function(e,t,n){return this.emitter().one(e,_o(t),n),this},emit:function(e,t){return this.emitter().emit(e,t),this},emitAndNotify:function(e,t){return this.emit(e),this.notify(e,t),this}};Vr.eventAliasesOn(Co);var jo={png:function(e){var t=this._private.renderer;return e=e||{},t.png(e)},jpg:function(e){var t=this._private.renderer;return e=e||{},e.bg=e.bg||"#fff",t.jpg(e)}};jo.jpeg=jo.jpg;var Oo={layout:function(e){var t=this;if(null!=e)if(null!=e.name){var n=e.name,r=t.extension("layout",n);if(null!=r){var i;i=k(e.eles)?t.$(e.eles):null!=e.eles?e.eles:t.$();var a=new r(te({},e,{cy:t,eles:i}));return a}Pe("No such layout `"+n+"` found. Did you forget to import it and `cytoscape.use()` it?")}else Pe("A `name` must be specified to make a layout");else Pe("Layout options must be specified to make a layout")}};Oo.createLayout=Oo.makeLayout=Oo.layout;var To={notify:function(e,t){var n=this._private;if(this.batching()){n.batchNotifications=n.batchNotifications||{};var r=n.batchNotifications[e]=n.batchNotifications[e]||this.collection();null!=t&&r.merge(t)}else if(n.notificationsEnabled){var i=this.renderer();!this.destroyed()&&i&&i.notify(e,t)}},notifications:function(e){var t=this._private;return void 0===e?t.notificationsEnabled:(t.notificationsEnabled=!!e,this)},noNotifications:function(e){this.notifications(!1),e(),this.notifications(!0)},batching:function(){return this._private.batchCount>0},startBatch:function(){var e=this._private;return null==e.batchCount&&(e.batchCount=0),0===e.batchCount&&(e.batchStyleEles=this.collection(),e.batchNotifications={}),e.batchCount++,this},endBatch:function(){var e=this._private;if(0===e.batchCount)return this;if(e.batchCount--,0===e.batchCount){e.batchStyleEles.updateStyle();var t=this.renderer();Object.keys(e.batchNotifications).forEach((function(n){var r=e.batchNotifications[n];r.empty()?t.notify(n):t.notify(n,r)}))}return this},batch:function(e){return this.startBatch(),e(),this.endBatch(),this},batchData:function(e){var t=this;return this.batch((function(){for(var n=Object.keys(e),r=0;r0)t.removeChild(t.childNodes[0])}e._private.renderer=null,e.mutableElements().forEach((function(e){var t=e._private;t.rscratch={},t.rstyle={},t.animation.current=[],t.animation.queue=[]}))},onRender:function(e){return this.on("render",e)},offRender:function(e){return this.off("render",e)}};Ao.invalidateDimensions=Ao.resize;var No={collection:function(e,t){return k(e)?this.$(e):P(e)?e.collection():S(e)?new uo(this,e,t):new uo(this)},nodes:function(e){var t=this.$((function(e){return e.isNode()}));return e?t.filter(e):t},edges:function(e){var t=this.$((function(e){return e.isEdge()}));return e?t.filter(e):t},$:function(e){var t=this._private.elements;return e?t.filter(e):t.spawnSelf()},mutableElements:function(){return this._private.elements}};No.elements=No.filter=No.$;var Io={},Do="t",Lo="f";Io.apply=function(e){var t=this,n=t._private,r=n.cy,i=r.collection();n.newStyle&&(n.contextStyles={},n.propDiffs={},t.cleanElements(e,!0));for(var a=0;a0;if(h||f&&d){var p=void 0;h&&d||h?p=s.properties:d&&(p=s.mappedProperties);for(var b=0;b1&&(g=1),c.color){var k=i.valueMin[0],E=i.valueMax[0],S=i.valueMin[1],_=i.valueMax[1],C=i.valueMin[2],O=i.valueMax[2],T=null==i.valueMin[3]?1:i.valueMin[3],P=null==i.valueMax[3]?1:i.valueMax[3],A=[Math.round(k+(E-k)*g),Math.round(S+(_-S)*g),Math.round(C+(O-C)*g),Math.round(T+(P-T)*g)];n={bypass:i.bypass,name:i.name,value:A,strValue:"rgb("+A[0]+", "+A[1]+", "+A[2]+")"}}else{if(!c.number)return!1;var N=i.valueMin+(i.valueMax-i.valueMin)*g;n=this.parse(i.name,N,i.bypass,h)}if(!n)return b(),!1;n.mapping=i,i=n;break;case o.data:for(var I=i.field.split("."),D=f.data,L=0;L0&&a>0){for(var c={},u=!1,s=0;s0?e.delayAnimation(o).play().promise().then(t):t()})).then((function(){return e.animation({style:c,duration:a,easing:e.pstyle("transition-timing-function").value,queue:!1}).play().promise()})).then((function(){n.removeBypasses(e,i),e.emitAndNotify("style"),r.transitioning=!1}))}else r.transitioning&&(this.removeBypasses(e,i),e.emitAndNotify("style"),r.transitioning=!1)},Io.checkTrigger=function(e,t,n,r,i,a){var o=this.properties[t],c=i(o);null!=c&&c(n,r)&&a(o)},Io.checkZOrderTrigger=function(e,t,n,r){var i=this;this.checkTrigger(e,t,n,r,(function(e){return e.triggersZOrder}),(function(){i._private.cy.notify("zorder",e)}))},Io.checkBoundsTrigger=function(e,t,n,r){this.checkTrigger(e,t,n,r,(function(e){return e.triggersBounds}),(function(i){e.dirtyCompoundBoundsCache(),e.dirtyBoundingBoxCache(),"bezier"!==e.pstyle("curve-style").value&&("curve-style"!==t||"bezier"!==n&&"bezier"!==r)||!i.triggersBoundsOfParallelBeziers||e.parallelEdges().forEach((function(e){e.isBundledBezier()&&e.dirtyBoundingBoxCache()}))}))},Io.checkTriggers=function(e,t,n,r){e.dirtyStyleCache(),this.checkZOrderTrigger(e,t,n,r),this.checkBoundsTrigger(e,t,n,r)};var Mo={applyBypass:function(e,t,n,r){var i=this,a=[],o=!0;if("*"===t||"**"===t){if(void 0!==n)for(var c=0;ct.length?o.substr(t.length):""}function u(){n=n.length>r.length?n.substr(r.length):""}for(o=o.replace(/[/][*](\s|.)+?[*][/]/g,"");;){var s=o.match(/^\s*$/);if(s)break;var l=o.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!l){Ne("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+o);break}t=l[0];var f=l[1];if("core"!==f){var h=new yi(f);if(h.invalid){Ne("Skipping parsing of block: Invalid selector found in string stylesheet: "+f),c();continue}}var d=l[2],p=!1;n=d;for(var b=[];;){var g=n.match(/^\s*$/);if(g)break;var v=n.match(/^\s*(.+?)\s*:\s*(.+?)\s*;/);if(!v){Ne("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+d),p=!0;break}r=v[0];var w=v[1],y=v[2],m=i.properties[w];if(m){var x=a.parse(w,y);x?(b.push({name:w,val:y}),u()):(Ne("Skipping property: Invalid property definition in: "+r),u())}else Ne("Skipping property: Invalid property name in: "+r),u()}if(p){c();break}a.selector(f);for(var k=0;k=7&&"d"===t[0]&&(s=new RegExp(c.data.regex).exec(t))){if(n)return!1;var h=c.data;return{name:e,value:s,strValue:""+t,mapped:h,field:s[1],bypass:n}}if(t.length>=10&&"m"===t[0]&&(l=new RegExp(c.mapData.regex).exec(t))){if(n)return!1;if(f.multiple)return!1;var d=c.mapData;if(!f.color&&!f.number)return!1;var p=this.parse(e,l[4]);if(!p||p.mapped)return!1;var b=this.parse(e,l[5]);if(!b||b.mapped)return!1;if(p.pfValue===b.pfValue||p.strValue===b.strValue)return Ne("`"+e+": "+t+"` is not a valid mapper because the output range is zero; converting to `"+e+": "+p.strValue+"`"),this.parse(e,p.strValue);if(f.color){var g=p.value,v=b.value,w=g[0]===v[0]&&g[1]===v[1]&&g[2]===v[2]&&(g[3]===v[3]||(null==g[3]||1===g[3])&&(null==v[3]||1===v[3]));if(w)return!1}return{name:e,value:l,strValue:""+t,mapped:d,field:l[1],fieldMin:parseFloat(l[2]),fieldMax:parseFloat(l[3]),valueMin:p.value,valueMax:b.value,bypass:n}}}if(f.multiple&&"multiple"!==r){var y;if(y=u?t.split(/\s+/):S(t)?t:[t],f.evenMultiple&&y.length%2!==0)return null;for(var m=[],x=[],_=[],C="",j=!1,T=0;T0?" ":"")+P.strValue}return f.validate&&!f.validate(m,x)?null:f.singleEnum&&j?1===m.length&&k(m[0])?{name:e,value:m[0],strValue:m[0],bypass:n}:null:{name:e,value:m,pfValue:_,strValue:C,bypass:n,units:x}}var A=function(){for(var r=0;rf.max||f.strictMax&&t===f.max))return null;var M={name:e,value:t,strValue:""+t+(N||""),units:N,bypass:n};return f.unitless||"px"!==N&&"em"!==N?M.pfValue=t:M.pfValue="px"!==N&&N?this.getEmSizeInPixels()*t:t,"ms"!==N&&"s"!==N||(M.pfValue="ms"===N?t:1e3*t),"deg"!==N&&"rad"!==N||(M.pfValue="rad"===N?t:mt(t)),"%"===N&&(M.pfValue=t/100),M}if(f.propList){var R=[],B=""+t;if("none"===B);else{for(var H=B.split(/\s*,\s*|\s+/),G=0;G0&&c>0&&!isNaN(n.w)&&!isNaN(n.h)&&n.w>0&&n.h>0){a=Math.min((o-2*t)/n.w,(c-2*t)/n.h),a=a>this._private.maxZoom?this._private.maxZoom:a,a=a=n.minZoom&&(n.maxZoom=t),this},minZoom:function(e){return void 0===e?this._private.minZoom:this.zoomRange({min:e})},maxZoom:function(e){return void 0===e?this._private.maxZoom:this.zoomRange({max:e})},getZoomedViewport:function(e){var t,n,r=this._private,i=r.pan,a=r.zoom,o=!1;if(r.zoomingEnabled||(o=!0),j(e)?n=e:_(e)&&(n=e.level,null!=e.position?t=dt(e.position,a,i):null!=e.renderedPosition&&(t=e.renderedPosition),null==t||r.panningEnabled||(o=!0)),n=n>r.maxZoom?r.maxZoom:n,n=nt.maxZoom||!t.zoomingEnabled?a=!0:(t.zoom=c,i.push("zoom"))}if(r&&(!a||!e.cancelOnFailedZoom)&&t.panningEnabled){var u=e.pan;j(u.x)&&(t.pan.x=u.x,o=!1),j(u.y)&&(t.pan.y=u.y,o=!1),o||i.push("pan")}return i.length>0&&(i.push("viewport"),this.emit(i.join(" ")),this.notify("viewport")),this},center:function(e){var t=this.getCenterPan(e);return t&&(this._private.pan=t,this.emit("pan viewport"),this.notify("viewport")),this},getCenterPan:function(e,t){if(this._private.panningEnabled){if(k(e)){var n=e;e=this.mutableElements().filter(n)}else P(e)||(e=this.mutableElements());if(0!==e.length){var r=e.boundingBox(),i=this.width(),a=this.height();t=void 0===t?this._private.zoom:t;var o={x:(i-t*(r.x1+r.x2))/2,y:(a-t*(r.y1+r.y2))/2};return o}}},reset:function(){return this._private.panningEnabled&&this._private.zoomingEnabled?(this.viewport({pan:{x:0,y:0},zoom:1}),this):this},invalidateSize:function(){this._private.sizeCache=null},size:function(){var e=this._private,t=e.container;return e.sizeCache=e.sizeCache||(t?function(){var e=b.getComputedStyle(t),n=function(t){return parseFloat(e.getPropertyValue(t))};return{width:t.clientWidth-n("padding-left")-n("padding-right"),height:t.clientHeight-n("padding-top")-n("padding-bottom")}}():{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var e=this._private.pan,t=this._private.zoom,n=this.renderedExtent(),r={x1:(n.x1-e.x)/t,x2:(n.x2-e.x)/t,y1:(n.y1-e.y)/t,y2:(n.y2-e.y)/t};return r.w=r.x2-r.x1,r.h=r.y2-r.y1,r},renderedExtent:function(){var e=this.width(),t=this.height();return{x1:0,y1:0,x2:e,y2:t,w:e,h:t}}};Uo.centre=Uo.center,Uo.autolockNodes=Uo.autolock,Uo.autoungrabifyNodes=Uo.autoungrabify;var Wo={data:Vr.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0}),removeData:Vr.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0}),scratch:Vr.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0}),removeScratch:Vr.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0})};Wo.attr=Wo.data,Wo.removeAttr=Wo.removeData;var Ko=function(e){var t=this;e=te({},e);var n=e.container;n&&!T(n)&&T(n[0])&&(n=n[0]);var r=n?n._cyreg:null;r=r||{},r&&r.cy&&(r.cy.destroy(),r={});var i=r.readies=r.readies||[];n&&(n._cyreg=r),r.cy=t;var a=void 0!==b&&void 0!==n&&!e.headless,o=e;o.layout=te({name:a?"grid":"null"},o.layout),o.renderer=te({name:a?"canvas":"null"},o.renderer);var c=function(e,t,n){return void 0!==t?t:void 0!==n?n:e},u=this._private={container:n,ready:!1,options:o,elements:new uo(this),listeners:[],aniEles:new uo(this),data:{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:c(!0,o.zoomingEnabled),userZoomingEnabled:c(!0,o.userZoomingEnabled),panningEnabled:c(!0,o.panningEnabled),userPanningEnabled:c(!0,o.userPanningEnabled),boxSelectionEnabled:c(!0,o.boxSelectionEnabled),autolock:c(!1,o.autolock,o.autolockNodes),autoungrabify:c(!1,o.autoungrabify,o.autoungrabifyNodes),autounselectify:c(!1,o.autounselectify),styleEnabled:void 0===o.styleEnabled?a:o.styleEnabled,zoom:j(o.zoom)?o.zoom:1,pan:{x:_(o.pan)&&j(o.pan.x)?o.pan.x:0,y:_(o.pan)&&j(o.pan.y)?o.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1};this.createEmitter(),this.selectionType(o.selectionType),this.zoomRange({min:o.minZoom,max:o.maxZoom});var s=function(e,t){var n=e.some(H);if(n)return Hr.all(e).then(t);t(e)};u.styleEnabled&&t.setStyle([]);var l=te({},o,o.renderer);t.initRenderer(l);var f=function(e,n,r){t.notifications(!1);var i=t.mutableElements();i.length>0&&i.remove(),null!=e&&(_(e)||S(e))&&t.add(e),t.one("layoutready",(function(e){t.notifications(!0),t.emit(e),t.one("load",n),t.emitAndNotify("load")})).one("layoutstop",(function(){t.one("done",r),t.emit("done")}));var a=te({},t._private.options.layout);a.eles=t.elements(),t.layout(a).run()};s([o.style,o.elements],(function(e){var n=e[0],a=e[1];u.styleEnabled&&t.style().append(n),f(a,(function(){t.startAnimationLoop(),u.ready=!0,E(o.ready)&&t.on("ready",o.ready);for(var e=0;e0,s=At(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()});if(P(n.roots))e=n.roots;else if(S(n.roots)){for(var l=[],f=0;f0){var D=I(),L=O(D,A);if(L)D.outgoers().filter((function(e){return e.isNode()&&i.has(e)})).forEach(N);else if(null===L){Ne("Detected double maximal shift for node `"+D.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}j();var M=0;if(n.avoidOverlap)for(var R=0;R0&&v[0].length<=3?u/2:0),f=2*Math.PI/v[r].length*i;return 0===r&&1===v[0].length&&(l=1),{x:X.x+l*Math.cos(f),y:X.y+l*Math.sin(f)}}var h={x:X.x+(i+1-(a+1)/2)*o,y:(r+1)*c};return h};return a.layoutPositions(this,n,Z),this};var tc={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function nc(e){this.options=te({},tc,e)}nc.prototype.run=function(){var e=this.options,t=e,n=e.cy,r=t.eles,i=void 0!==t.counterclockwise?!t.counterclockwise:t.clockwise,a=r.nodes().not(":parent");t.sort&&(a=a.sort(t.sort));for(var o,c=At(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()}),u={x:c.x1+c.w/2,y:c.y1+c.h/2},s=void 0===t.sweep?2*Math.PI-2*Math.PI/a.length:t.sweep,l=s/Math.max(1,a.length-1),f=0,h=0;h1&&t.avoidOverlap){f*=1.75;var v=Math.cos(l)-Math.cos(0),w=Math.sin(l)-Math.sin(0),y=Math.sqrt(f*f/(v*v+w*w));o=Math.max(y,o)}var m=function(e,n){var r=t.startAngle+n*l*(i?1:-1),a=o*Math.cos(r),c=o*Math.sin(r),s={x:u.x+a,y:u.y+c};return s};return a.layoutPositions(this,t,m),this};var rc,ic={fit:!0,padding:30,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:function(e){return e.degree()},levelWidth:function(e){return e.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function ac(e){this.options=te({},ic,e)}ac.prototype.run=function(){for(var e=this.options,t=e,n=void 0!==t.counterclockwise?!t.counterclockwise:t.clockwise,r=e.cy,i=t.eles,a=i.nodes().not(":parent"),o=At(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),c={x:o.x1+o.w/2,y:o.y1+o.h/2},u=[],s=0,l=0;l0){var x=Math.abs(w[0].value-m.value);x>=g&&(w=[],v.push(w))}w.push(m)}var k=s+t.minNodeSpacing;if(!t.avoidOverlap){var E=v.length>0&&v[0].length>1,S=Math.min(o.w,o.h)/2-k,_=S/(v.length+E?1:0);k=Math.min(k,_)}for(var C=0,j=0;j1&&t.avoidOverlap){var A=Math.cos(P)-Math.cos(0),N=Math.sin(P)-Math.sin(0),I=Math.sqrt(k*k/(A*A+N*N));C=Math.max(I,C)}O.r=C,C+=k}if(t.equidistant){for(var D=0,L=0,M=0;M=e.numIter)&&(bc(r,e),r.temperature=r.temperature*e.coolingFactor,!(r.temperature=e.animationThreshold&&a(),de(t)}else jc(r,e),c()};l()}else{while(s)s=o(u),u++;jc(r,e),c()}return this},cc.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this},cc.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var uc,sc=function(e,t,n){for(var r=n.eles.edges(),i=n.eles.nodes(),a={isCompound:e.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:i.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:r.size(),temperature:n.initialTemp,clientWidth:e.width(),clientHeight:e.width(),boundingBox:At(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:e.width(),h:e.height()})},o=n.eles.components(),c={},u=0;u0){a.graphSet.push(k);for(u=0;ur.count?0:r.graph},fc=function e(t,n,r,i){var a=i.graphSet[r];if(-10)var l=r.nodeOverlap*s,f=Math.sqrt(o*o+c*c),h=l*o/f,d=l*c/f;else{var p=mc(e,o,c),b=mc(t,-1*o,-1*c),g=b.x-p.x,v=b.y-p.y,w=g*g+v*v;f=Math.sqrt(w),l=(e.nodeRepulsion+t.nodeRepulsion)/w,h=l*g/f,d=l*v/f}e.isLocked||(e.offsetX-=h,e.offsetY-=d),t.isLocked||(t.offsetX+=h,t.offsetY+=d)}},yc=function(e,t,n,r){if(n>0)var i=e.maxX-t.minX;else i=t.maxX-e.minX;if(r>0)var a=e.maxY-t.minY;else a=t.maxY-e.minY;return i>=0&&a>=0?Math.sqrt(i*i+a*a):0},mc=function(e,t,n){var r=e.positionX,i=e.positionY,a=e.height||1,o=e.width||1,c=n/t,u=a/o,s={};return 0===t&&0n?(s.x=r,s.y=i+a/2,s):0t&&-1*u<=c&&c<=u?(s.x=r-o/2,s.y=i-o*n/2/t,s):0=u)?(s.x=r+a*t/2/n,s.y=i+a/2,s):0>n&&(c<=-1*u||c>=u)?(s.x=r-a*t/2/n,s.y=i-a/2,s):s},xc=function(e,t){for(var n=0;nn){var b=t.gravity*h/p,g=t.gravity*d/p;f.offsetX+=b,f.offsetY+=g}}}}},Ec=function(e,t){var n=[],r=0,i=-1;n.push.apply(n,e.graphSet[0]),i+=e.graphSet[0].length;while(r<=i){var a=n[r++],o=e.idToIndex[a],c=e.layoutNodes[o],u=c.children;if(0n)var i={x:n*e/r,y:n*t/r};else i={x:e,y:t};return i},Cc=function e(t,n){var r=t.parentId;if(null!=r){var i=n.layoutNodes[n.idToIndex[r]],a=!1;return(null==i.maxX||t.maxX+i.padRight>i.maxX)&&(i.maxX=t.maxX+i.padRight,a=!0),(null==i.minX||t.minX-i.padLefti.maxY)&&(i.maxY=t.maxY+i.padBottom,a=!0),(null==i.minY||t.minY-i.padTopg&&(d+=b+t.componentSpacing,h=0,p=0,b=0)}}},Oc={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:function(e){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function Tc(e){this.options=te({},Oc,e)}Tc.prototype.run=function(){var e=this.options,t=e,n=e.cy,r=t.eles,i=r.nodes().not(":parent");t.sort&&(i=i.sort(t.sort));var a=At(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()});if(0===a.h||0===a.w)i.layoutPositions(this,t,(function(e){return{x:a.x1,y:a.y1}}));else{var o=i.size(),c=Math.sqrt(o*a.h/a.w),u=Math.round(c),s=Math.round(a.w/a.h*c),l=function(e){if(null==e)return Math.min(u,s);var t=Math.min(u,s);t==u?u=e:s=e},f=function(e){if(null==e)return Math.max(u,s);var t=Math.max(u,s);t==u?u=e:s=e},h=t.rows,d=null!=t.cols?t.cols:t.columns;if(null!=h&&null!=d)u=h,s=d;else if(null!=h&&null==d)u=h,s=Math.ceil(o/u);else if(null==h&&null!=d)s=d,u=Math.ceil(o/s);else if(s*u>o){var p=l(),b=f();(p-1)*b>=o?l(p-1):(b-1)*p>=o&&f(b-1)}else while(s*u=o?f(v+1):l(g+1)}var w=a.w/s,y=a.h/u;if(t.condense&&(w=0,y=0),t.avoidOverlap)for(var m=0;m=s&&(A=0,P++)},I={},D=0;D(r=Xt(e,t,m[x],m[x+1],m[x+2],m[x+3])))return g(n,r),!0}else if("bezier"===a.edgeType||"multibezier"===a.edgeType||"self"===a.edgeType||"compound"===a.edgeType)for(m=a.allpts,x=0;x+5(r=Kt(e,t,m[x],m[x+1],m[x+2],m[x+3],m[x+4],m[x+5])))return g(n,r),!0;w=w||i.source,y=y||i.target;var k=o.getArrowWidth(u,l),E=[{name:"source",x:a.arrowStartX,y:a.arrowStartY,angle:a.srcArrowAngle},{name:"target",x:a.arrowEndX,y:a.arrowEndY,angle:a.tgtArrowAngle},{name:"mid-source",x:a.midX,y:a.midY,angle:a.midsrcArrowAngle},{name:"mid-target",x:a.midX,y:a.midY,angle:a.midtgtArrowAngle}];for(x=0;x0&&(v(w),v(y))}function y(e,t,n){return Fe(e,t,n)}function m(n,r){var i,a=n._private,o=p;i=r?r+"-":"";var c=a.labelBounds[r||"main"],u=n.pstyle(i+"label").value,s="yes"===n.pstyle("text-events").strValue;if(s&&u){var l=a.rstyle,f=y(l,"labelX",r),h=y(l,"labelY",r),d=y(a.rscratch,"labelAngle",r),b=c.x1-o,v=c.x2+o,w=c.y1-o,m=c.y2+o;if(d){var x=Math.cos(d),k=Math.sin(d),E=function(e,t){return e-=f,t-=h,{x:e*x-t*k+f,y:e*k+t*x+h}},S=E(b,w),_=E(b,m),C=E(v,w),j=E(v,m),O=[S.x,S.y,C.x,C.y,j.x,j.y,_.x,_.y];if(Qt(e,t,O))return g(n),!0}else if(zt(c,e,t))return g(n),!0}}n&&(u=u.interactive);for(var x=u.length-1;x>=0;x--){var k=u[x];k.isNode()?v(k)||m(k):w(k)||m(k)||m(k,"source")||m(k,"target")}return s},getAllInBox:function(e,t,n,r){var i=this.getCachedZSortedEles().interactive,a=[],o=Math.min(e,n),c=Math.max(e,n),u=Math.min(t,r),s=Math.max(t,r);e=o,n=c,t=u,r=s;for(var l=At({x1:e,y1:t,x2:n,y2:r}),f=0;f0?Math.max(e-t,0):Math.min(e+t,0)},O=j(_,E),T=j(C,S),P=!1;v===s?v=Math.abs(O)>Math.abs(T)?i:r:v===u||v===c?(v=r,P=!0):v!==a&&v!==o||(v=i,P=!0);var A=v===r,N=A?T:O,I=A?C:_,D=Et(I),L=!1;P&&k||!(w===c&&I<0||w===u&&I>0||w===a&&I>0||w===o&&I<0)||(D*=-1,N=D*Math.abs(N),L=!0);var M=k?m*N:m*D,R=function(e){return Math.abs(e)=Math.abs(N)},B=R(M),H=R(N-M),G=B||H;if(G&&!L)if(A){var z=Math.abs(I)<=h/2,Y=Math.abs(_)<=d/2;if(z){var F=(l.x1+l.x2)/2,$=l.y1,V=l.y2;n.segpts=[F,$,F,V]}else if(Y){var q=(l.y1+l.y2)/2,U=l.x1,W=l.x2;n.segpts=[U,q,W,q]}else n.segpts=[l.x1,l.y2]}else{var K=Math.abs(I)<=f/2,X=Math.abs(C)<=p/2;if(K){var Q=(l.y1+l.y2)/2,Z=l.x1,J=l.x2;n.segpts=[Z,Q,J,Q]}else if(X){var ee=(l.x1+l.x2)/2,te=l.y1,ne=l.y2;n.segpts=[ee,te,ee,ne]}else n.segpts=[l.x2,l.y1]}else if(A){var re=l.y1+M+(g?h/2*D:0),ie=l.x1,ae=l.x2;n.segpts=[ie,re,ae,re]}else{var oe=l.x1+M+(g?f/2*D:0),ce=l.y1,ue=l.y2;n.segpts=[oe,ce,oe,ue]}},Yc.tryToCorrectInvalidPoints=function(e,t){var n=e._private.rscratch;if("bezier"===n.edgeType){var r=t.srcPos,i=t.tgtPos,a=t.srcW,o=t.srcH,c=t.tgtW,u=t.tgtH,s=t.srcShape,l=t.tgtShape,f=!j(n.startX)||!j(n.startY),h=!j(n.arrowStartX)||!j(n.arrowStartY),d=!j(n.endX)||!j(n.endY),p=!j(n.arrowEndX)||!j(n.arrowEndY),b=3,g=this.getArrowWidth(e.pstyle("width").pfValue,e.pstyle("arrow-scale").value)*this.arrowShapeWidth,v=b*g,w=St({x:n.ctrlpts[0],y:n.ctrlpts[1]},{x:n.startX,y:n.startY}),y=wh.poolIndex()){var d=f;f=h,h=d}var p=c.srcPos=f.position(),b=c.tgtPos=h.position(),g=c.srcW=f.outerWidth(),v=c.srcH=f.outerHeight(),w=c.tgtW=h.outerWidth(),y=c.tgtH=h.outerHeight(),m=c.srcShape=n.nodeShapes[t.getNodeShape(f)],x=c.tgtShape=n.nodeShapes[t.getNodeShape(h)];c.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var k=0;k=s||w){l={cp:b,segment:v};break}}if(l)break}var y=l.cp,m=l.segment,x=(s-h)/m.length,k=m.t1-m.t0,E=c?m.t0+k*x:m.t1-k*x;E=Pt(0,E,1),t=Ot(y.p0,y.p1,y.p2,E),i=Xc(y.p0,y.p1,y.p2,E);break;case"straight":case"segments":case"haystack":for(var S,_,C,j,O=0,T=r.allpts.length,P=0;P+3=s)break;var A=s-_,N=A/S;N=Pt(0,N,1),t=Tt(C,j,N),i=Kc(C,j);break}o("labelX",n,t.x),o("labelY",n,t.y),o("labelAutoAngle",n,i)}};s("source"),s("target"),this.applyLabelDimensions(e)}},Uc.applyLabelDimensions=function(e){this.applyPrefixedLabelDimensions(e),e.isEdge()&&(this.applyPrefixedLabelDimensions(e,"source"),this.applyPrefixedLabelDimensions(e,"target"))},Uc.applyPrefixedLabelDimensions=function(e,t){var n=e._private,r=this.getLabelText(e,t),i=this.calculateLabelDimensions(e,r),a=e.pstyle("line-height").pfValue,o=e.pstyle("text-wrap").strValue,c=Fe(n.rscratch,"labelWrapCachedLines",t)||[],u="wrap"!==o?1:Math.max(c.length,1),s=i.height/u,l=s*a,f=i.width,h=i.height+(u-1)*(a-1)*s;$e(n.rstyle,"labelWidth",t,f),$e(n.rscratch,"labelWidth",t,f),$e(n.rstyle,"labelHeight",t,h),$e(n.rscratch,"labelHeight",t,h),$e(n.rscratch,"labelLineHeight",t,l)},Uc.getLabelText=function(e,t){var n=e._private,r=t?t+"-":"",i=e.pstyle(r+"label").strValue,a=e.pstyle("text-transform").value,o=function(e,r){return r?($e(n.rscratch,e,t,r),r):Fe(n.rscratch,e,t)};if(!i)return"";"none"==a||("uppercase"==a?i=i.toUpperCase():"lowercase"==a&&(i=i.toLowerCase()));var c=e.pstyle("text-wrap").value;if("wrap"===c){var u=o("labelKey");if(null!=u&&o("labelWrapKey")===u)return o("labelWrapCachedText");for(var s="​",l=i.split("\n"),f=e.pstyle("text-max-width").pfValue,h=e.pstyle("text-overflow-wrap").value,d="anywhere"===h,p=[],b=/[\s\u200b]+/,g=d?"":" ",v=0;vf){for(var k=w.split(b),E="",S=0;ST)break;P+=i[I],I===i.length-1&&(N=!0)}return N||(P+=A),P}return i},Uc.getLabelJustification=function(e){var t=e.pstyle("text-justification").strValue,n=e.pstyle("text-halign").strValue;if("auto"!==t)return t;if(!e.isNode())return"center";switch(n){case"left":return"right";case"right":return"left";default:return"center"}},Uc.calculateLabelDimensions=function(e,t){var n=this,r=ye(t,e._private.labelDimsKey),i=n.labelDimCache||(n.labelDimCache=[]),a=i[r];if(null!=a)return a;var o=1,c=e.pstyle("font-style").strValue,u=o*e.pstyle("font-size").pfValue+"px",s=e.pstyle("font-family").strValue,l=e.pstyle("font-weight").strValue,f=this.labelCalcDiv;f||(f=this.labelCalcDiv=document.createElement("div"),document.body.appendChild(f));var h=f.style;return h.fontFamily=s,h.fontStyle=c,h.fontSize=u,h.fontWeight=l,h.position="absolute",h.left="-9999px",h.top="-9999px",h.zIndex="-1",h.visibility="hidden",h.pointerEvents="none",h.padding="0",h.lineHeight="1","wrap"===e.pstyle("text-wrap").value?h.whiteSpace="pre":h.whiteSpace="normal",f.textContent=t,i[r]={width:Math.ceil(f.clientWidth/o),height:Math.ceil(f.clientHeight/o)}},Uc.calculateLabelAngle=function(e,t){var n=e._private,r=n.rscratch,i=e.isEdge(),a=t?t+"-":"",o=e.pstyle(a+"text-rotation"),c=o.strValue;return"none"===c?0:i&&"autorotate"===c?r.labelAutoAngle:"autorotate"===c?0:o.pfValue},Uc.calculateLabelAngles=function(e){var t=this,n=e.isEdge(),r=e._private,i=r.rscratch;i.labelAngle=t.calculateLabelAngle(e),n&&(i.sourceLabelAngle=t.calculateLabelAngle(e,"source"),i.targetLabelAngle=t.calculateLabelAngle(e,"target"))};var Qc={},Zc=28,Jc=!1;Qc.getNodeShape=function(e){var t=this,n=e.pstyle("shape").value;if("cutrectangle"===n&&(e.width()1&&void 0!==arguments[1])||arguments[1];if(t.merge(e),n)for(var r=0;r=e.desktopTapThreshold2}var T=r(t);v&&(e.hoverData.tapholdCancelled=!0);var P=function(){var t=e.hoverData.dragDelta=e.hoverData.dragDelta||[];0===t.length?(t.push(m[0]),t.push(m[1])):(t[0]+=m[0],t[1]+=m[1])};o=!0,n(b,["mousemove","vmousemove","tapdrag"],t,{x:l[0],y:l[1]});var A=function(){e.data.bgActivePosistion=void 0,e.hoverData.selecting||c.emit({originalEvent:t,type:"boxstart",position:{x:l[0],y:l[1]}}),d[4]=1,e.hoverData.selecting=!0,e.redrawHint("select",!0),e.redraw()};if(3===e.hoverData.which){if(v){var N={originalEvent:t,type:"cxtdrag",position:{x:l[0],y:l[1]}};y?y.emit(N):c.emit(N),e.hoverData.cxtDragged=!0,e.hoverData.cxtOver&&b===e.hoverData.cxtOver||(e.hoverData.cxtOver&&e.hoverData.cxtOver.emit({originalEvent:t,type:"cxtdragout",position:{x:l[0],y:l[1]}}),e.hoverData.cxtOver=b,b&&b.emit({originalEvent:t,type:"cxtdragover",position:{x:l[0],y:l[1]}}))}}else if(e.hoverData.dragging){if(o=!0,c.panningEnabled()&&c.userPanningEnabled()){var I;if(e.hoverData.justStartedPan){var D=e.hoverData.mdownPos;I={x:(l[0]-D[0])*u,y:(l[1]-D[1])*u},e.hoverData.justStartedPan=!1}else I={x:m[0]*u,y:m[1]*u};c.panBy(I),e.hoverData.dragged=!0}l=e.projectIntoViewport(t.clientX,t.clientY)}else if(1!=d[4]||null!=y&&!y.pannable()){if(y&&y.pannable()&&y.active()&&y.unactivate(),y&&y.grabbed()||b==w||(w&&n(w,["mouseout","tapdragout"],t,{x:l[0],y:l[1]}),b&&n(b,["mouseover","tapdragover"],t,{x:l[0],y:l[1]}),e.hoverData.last=b),y)if(v){if(c.boxSelectionEnabled()&&T)y&&y.grabbed()&&(g(x),y.emit("freeon"),x.emit("free"),e.dragData.didDrag&&(y.emit("dragfreeon"),x.emit("dragfree"))),A();else if(y&&y.grabbed()&&e.nodeIsDraggable(y)){var L=!e.dragData.didDrag;L&&e.redrawHint("eles",!0),e.dragData.didDrag=!0;var M=c.collection();e.hoverData.draggingEles||p(x,{inDragLayer:!0});var R={x:0,y:0};if(j(m[0])&&j(m[1])&&(R.x+=m[0],R.y+=m[1],L)){var B=e.hoverData.dragDelta;B&&j(B[0])&&j(B[1])&&(R.x+=B[0],R.y+=B[1])}for(var H=0;H0&&e.redrawHint("eles",!0),e.dragData.possibleDragElements=l=o.collection()),s!=f||e.dragData.didDrag||e.hoverData.selecting||null!=s&&s._private.selectable&&(e.hoverData.dragging||("additive"===o.selectionType()||h?s.selected()?s.unselect(["tapunselect"]):s.select(["tapselect"]):h||(o.$(t).unmerge(s).unselect(["tapunselect"]),s.select(["tapselect"]))),e.redrawHint("eles",!0)),e.hoverData.selecting){var b=o.collection(e.getAllInBox(u[0],u[1],u[2],u[3]));e.redrawHint("select",!0),b.length>0&&e.redrawHint("eles",!0),o.emit({type:"boxend",originalEvent:i,position:{x:c[0],y:c[1]}});var v=function(e){return e.selectable()&&!e.selected()};"additive"===o.selectionType()||h||o.$(t).unmerge(b).unselect(),b.emit("box").stdFilter(v).select().emit("boxselect"),e.redraw()}if(e.hoverData.dragging&&(e.hoverData.dragging=!1,e.redrawHint("select",!0),e.redrawHint("eles",!0),e.redraw()),!u[4]){e.redrawHint("drag",!0),e.redrawHint("eles",!0);var w=f&&f.grabbed();g(l),w&&(f.emit("freeon"),l.emit("free"),e.dragData.didDrag&&(f.emit("dragfreeon"),l.emit("dragfree")))}}u[4]=0,e.hoverData.down=null,e.hoverData.cxtStarted=!1,e.hoverData.draggingEles=!1,e.hoverData.selecting=!1,e.hoverData.isOverThresholdDrag=!1,e.dragData.didDrag=!1,e.hoverData.dragged=!1,e.hoverData.dragDelta=[],e.hoverData.mdownPos=null,e.hoverData.mdownGPos=null}}),!1);var C,O,T,P,A,N,I,D,L,M,R,B,H,G=function(t){if(!e.scrollingPage){var n=e.cy,r=e.projectIntoViewport(t.clientX,t.clientY),i=[r[0]*n.zoom()+n.pan().x,r[1]*n.zoom()+n.pan().y];if(e.hoverData.draggingEles||e.hoverData.dragging||e.hoverData.cxtStarted||S())t.preventDefault();else if(n.panningEnabled()&&n.userPanningEnabled()&&n.zoomingEnabled()&&n.userZoomingEnabled()){var a;t.preventDefault(),e.data.wheelZooming=!0,clearTimeout(e.data.wheelTimeout),e.data.wheelTimeout=setTimeout((function(){e.data.wheelZooming=!1,e.redrawHint("eles",!0),e.redraw()}),150),a=null!=t.deltaY?t.deltaY/-250:null!=t.wheelDeltaY?t.wheelDeltaY/1e3:t.wheelDelta/1e3,a*=e.wheelSensitivity;var o=1===t.deltaMode;o&&(a*=33),n.zoom({level:n.zoom()*Math.pow(10,a),renderedPosition:{x:i[0],y:i[1]}})}}};e.registerBinding(e.container,"wheel",G,!0),e.registerBinding(window,"scroll",(function(t){e.scrollingPage=!0,clearTimeout(e.scrollingPageTimeout),e.scrollingPageTimeout=setTimeout((function(){e.scrollingPage=!1}),250)}),!0),e.registerBinding(e.container,"mouseout",(function(t){var n=e.projectIntoViewport(t.clientX,t.clientY);e.cy.emit({originalEvent:t,type:"mouseout",position:{x:n[0],y:n[1]}})}),!1),e.registerBinding(e.container,"mouseover",(function(t){var n=e.projectIntoViewport(t.clientX,t.clientY);e.cy.emit({originalEvent:t,type:"mouseover",position:{x:n[0],y:n[1]}})}),!1);var z,Y,F,$,V=function(e,t,n,r){return Math.sqrt((n-e)*(n-e)+(r-t)*(r-t))},q=function(e,t,n,r){return(n-e)*(n-e)+(r-t)*(r-t)};if(e.registerBinding(e.container,"touchstart",z=function(t){if(_(t)){w(),e.touchData.capture=!0,e.data.bgActivePosistion=void 0;var r=e.cy,i=e.touchData.now,a=e.touchData.earlier;if(t.touches[0]){var o=e.projectIntoViewport(t.touches[0].clientX,t.touches[0].clientY);i[0]=o[0],i[1]=o[1]}if(t.touches[1]){o=e.projectIntoViewport(t.touches[1].clientX,t.touches[1].clientY);i[2]=o[0],i[3]=o[1]}if(t.touches[2]){o=e.projectIntoViewport(t.touches[2].clientX,t.touches[2].clientY);i[4]=o[0],i[5]=o[1]}if(t.touches[1]){e.touchData.singleTouchMoved=!0,g(e.dragData.touchDragEles);var c=e.findContainerClientCoords();L=c[0],M=c[1],R=c[2],B=c[3],C=t.touches[0].clientX-L,O=t.touches[0].clientY-M,T=t.touches[1].clientX-L,P=t.touches[1].clientY-M,H=0<=C&&C<=R&&0<=T&&T<=R&&0<=O&&O<=B&&0<=P&&P<=B;var u=r.pan(),s=r.zoom();A=V(C,O,T,P),N=q(C,O,T,P),I=[(C+T)/2,(O+P)/2],D=[(I[0]-u.x)/s,(I[1]-u.y)/s];var f=200,h=f*f;if(N=1){for(var S=e.touchData.startPosition=[],j=0;j=e.touchTapThreshold2}if(r&&e.touchData.cxt){t.preventDefault();var k=t.touches[0].clientX-L,E=t.touches[0].clientY-M,S=t.touches[1].clientX-L,I=t.touches[1].clientY-M,R=q(k,E,S,I),B=R/N,G=150,z=G*G,Y=1.5,F=Y*Y;if(B>=F||R>=z){e.touchData.cxt=!1,e.data.bgActivePosistion=void 0,e.redrawHint("select",!0);var $={originalEvent:t,type:"cxttapend",position:{x:c[0],y:c[1]}};e.touchData.start?(e.touchData.start.unactivate().emit($),e.touchData.start=null):o.emit($)}}if(r&&e.touchData.cxt){$={originalEvent:t,type:"cxtdrag",position:{x:c[0],y:c[1]}};e.data.bgActivePosistion=void 0,e.redrawHint("select",!0),e.touchData.start?e.touchData.start.emit($):o.emit($),e.touchData.start&&(e.touchData.start._private.grabbed=!1),e.touchData.cxtDragged=!0;var U=e.findNearestElement(c[0],c[1],!0,!0);e.touchData.cxtOver&&U===e.touchData.cxtOver||(e.touchData.cxtOver&&e.touchData.cxtOver.emit({originalEvent:t,type:"cxtdragout",position:{x:c[0],y:c[1]}}),e.touchData.cxtOver=U,U&&U.emit({originalEvent:t,type:"cxtdragover",position:{x:c[0],y:c[1]}}))}else if(r&&t.touches[2]&&o.boxSelectionEnabled())t.preventDefault(),e.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,e.touchData.selecting||o.emit({originalEvent:t,type:"boxstart",position:{x:c[0],y:c[1]}}),e.touchData.selecting=!0,e.touchData.didSelect=!0,i[4]=1,i&&0!==i.length&&void 0!==i[0]?(i[2]=(c[0]+c[2]+c[4])/3,i[3]=(c[1]+c[3]+c[5])/3):(i[0]=(c[0]+c[2]+c[4])/3,i[1]=(c[1]+c[3]+c[5])/3,i[2]=(c[0]+c[2]+c[4])/3+1,i[3]=(c[1]+c[3]+c[5])/3+1),e.redrawHint("select",!0),e.redraw();else if(r&&t.touches[1]&&!e.touchData.didSelect&&o.zoomingEnabled()&&o.panningEnabled()&&o.userZoomingEnabled()&&o.userPanningEnabled()){t.preventDefault(),e.data.bgActivePosistion=void 0,e.redrawHint("select",!0);var W=e.dragData.touchDragEles;if(W){e.redrawHint("drag",!0);for(var K=0;K0&&!e.hoverData.draggingEles&&!e.swipePanning&&null!=e.data.bgActivePosistion&&(e.data.bgActivePosistion=void 0,e.redrawHint("select",!0),e.redraw())}},!1),e.registerBinding(window,"touchcancel",F=function(t){var n=e.touchData.start;e.touchData.capture=!1,n&&n.unactivate()}),e.registerBinding(window,"touchend",$=function(r){var i=e.touchData.start,a=e.touchData.capture;if(a){0===r.touches.length&&(e.touchData.capture=!1),r.preventDefault();var o=e.selection;e.swipePanning=!1,e.hoverData.draggingEles=!1;var c,u=e.cy,s=u.zoom(),l=e.touchData.now,f=e.touchData.earlier;if(r.touches[0]){var h=e.projectIntoViewport(r.touches[0].clientX,r.touches[0].clientY);l[0]=h[0],l[1]=h[1]}if(r.touches[1]){h=e.projectIntoViewport(r.touches[1].clientX,r.touches[1].clientY);l[2]=h[0],l[3]=h[1]}if(r.touches[2]){h=e.projectIntoViewport(r.touches[2].clientX,r.touches[2].clientY);l[4]=h[0],l[5]=h[1]}if(i&&i.unactivate(),e.touchData.cxt){if(c={originalEvent:r,type:"cxttapend",position:{x:l[0],y:l[1]}},i?i.emit(c):u.emit(c),!e.touchData.cxtDragged){var d={originalEvent:r,type:"cxttap",position:{x:l[0],y:l[1]}};i?i.emit(d):u.emit(d)}return e.touchData.start&&(e.touchData.start._private.grabbed=!1),e.touchData.cxt=!1,e.touchData.start=null,void e.redraw()}if(!r.touches[2]&&u.boxSelectionEnabled()&&e.touchData.selecting){e.touchData.selecting=!1;var p=u.collection(e.getAllInBox(o[0],o[1],o[2],o[3]));o[0]=void 0,o[1]=void 0,o[2]=void 0,o[3]=void 0,o[4]=0,e.redrawHint("select",!0),u.emit({type:"boxend",originalEvent:r,position:{x:l[0],y:l[1]}});var b=function(e){return e.selectable()&&!e.selected()};p.emit("box").stdFilter(b).select().emit("boxselect"),p.nonempty()&&e.redrawHint("eles",!0),e.redraw()}if(null!=i&&i.unactivate(),r.touches[2])e.data.bgActivePosistion=void 0,e.redrawHint("select",!0);else if(r.touches[1]);else if(r.touches[0]);else if(!r.touches[0]){e.data.bgActivePosistion=void 0,e.redrawHint("select",!0);var v=e.dragData.touchDragEles;if(null!=i){var w=i._private.grabbed;g(v),e.redrawHint("drag",!0),e.redrawHint("eles",!0),w&&(i.emit("freeon"),v.emit("free"),e.dragData.didDrag&&(i.emit("dragfreeon"),v.emit("dragfree"))),n(i,["touchend","tapend","vmouseup","tapdragout"],r,{x:l[0],y:l[1]}),i.unactivate(),e.touchData.start=null}else{var y=e.findNearestElement(l[0],l[1],!0,!0);n(y,["touchend","tapend","vmouseup","tapdragout"],r,{x:l[0],y:l[1]})}var m=e.touchData.startPosition[0]-l[0],x=m*m,k=e.touchData.startPosition[1]-l[1],E=k*k,S=x+E,_=S*s*s;e.touchData.singleTouchMoved||(i||u.$(":selected").unselect(["tapunselect"]),n(i,["tap","vclick"],r,{x:l[0],y:l[1]})),null!=i&&!e.dragData.didDrag&&i._private.selectable&&_0)return p[0]}return null},h=Object.keys(l),d=0;d0?f:$t(i,a,e,t,n,r,o)},checkPoint:function(e,t,n,r,i,a,o){var c=hn(r,i),u=2*c;if(Zt(e,t,this.points,a,o,r,i-u,[0,-1],n))return!0;if(Zt(e,t,this.points,a,o,r-u,i,[0,-1],n))return!0;var s=r/2+2*n,l=i/2+2*n,f=[a-s,o-l,a-s,o,a+s,o,a+s,o-l];return!!Qt(e,t,f)||(!!nn(e,t,u,u,a+r/2-c,o+i/2-c,n)||!!nn(e,t,u,u,a-r/2+c,o+i/2-c,n))}}},registerNodeShapes:function(){var e=this.nodeShapes={},t=this;this.generateEllipse(),this.generatePolygon("triangle",sn(3,0)),this.generatePolygon("rectangle",sn(4,0)),e["square"]=e["rectangle"],this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle(),this.generatePolygon("diamond",[0,1,1,0,0,-1,-1,0]),this.generatePolygon("pentagon",sn(5,0)),this.generatePolygon("hexagon",sn(6,0)),this.generatePolygon("heptagon",sn(7,0)),this.generatePolygon("octagon",sn(8,0));var n=new Array(20),r=fn(5,0),i=fn(5,Math.PI/5),a=.5*(3-Math.sqrt(5));a*=1.57;for(var o=0;o=e.deqFastCost*b)break}else if(i){if(d>=e.deqCost*u||d>=e.deqAvgCost*c)break}else if(p>=e.deqNoDrawCost*fu)break;var g=e.deq(t,f,l);if(!(g.length>0))break;for(var v=0;v0&&(e.onDeqd(t,s),!i&&e.shouldRedraw(t,s,f,l)&&r())},o=e.priority||Te;n.beforeRender(a,o(t))}}}},du=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:je;c(this,e),this.idsByKey=new qe,this.keyForId=new qe,this.cachesByLvl=new qe,this.lvls=[],this.getKey=t,this.doesEleInvalidateKey=n}return s(e,[{key:"getIdsFor",value:function(e){null==e&&Pe("Can not get id list for null key");var t=this.idsByKey,n=this.idsByKey.get(e);return n||(n=new Ke,t.set(e,n)),n}},{key:"addIdForKey",value:function(e,t){null!=e&&this.getIdsFor(e).add(t)}},{key:"deleteIdForKey",value:function(e,t){null!=e&&this.getIdsFor(e)["delete"](t)}},{key:"getNumberOfIdsForKey",value:function(e){return null==e?0:this.getIdsFor(e).size}},{key:"updateKeyMappingFor",value:function(e){var t=e.id(),n=this.keyForId.get(t),r=this.getKey(e);this.deleteIdForKey(n,t),this.addIdForKey(r,t),this.keyForId.set(t,r)}},{key:"deleteKeyMappingFor",value:function(e){var t=e.id(),n=this.keyForId.get(t);this.deleteIdForKey(n,t),this.keyForId["delete"](t)}},{key:"keyHasChangedFor",value:function(e){var t=e.id(),n=this.keyForId.get(t),r=this.getKey(e);return n!==r}},{key:"isInvalid",value:function(e){return this.keyHasChangedFor(e)||this.doesEleInvalidateKey(e)}},{key:"getCachesAt",value:function(e){var t=this.cachesByLvl,n=this.lvls,r=t.get(e);return r||(r=new qe,t.set(e,r),n.push(e)),r}},{key:"getCache",value:function(e,t){return this.getCachesAt(t).get(e)}},{key:"get",value:function(e,t){var n=this.getKey(e),r=this.getCache(n,t);return null!=r&&this.updateKeyMappingFor(e),r}},{key:"getForCachedKey",value:function(e,t){var n=this.keyForId.get(e.id()),r=this.getCache(n,t);return r}},{key:"hasCache",value:function(e,t){return this.getCachesAt(t).has(e)}},{key:"has",value:function(e,t){var n=this.getKey(e);return this.hasCache(n,t)}},{key:"setCache",value:function(e,t,n){n.key=e,this.getCachesAt(t).set(e,n)}},{key:"set",value:function(e,t,n){var r=this.getKey(e);this.setCache(r,t,n),this.updateKeyMappingFor(e)}},{key:"deleteCache",value:function(e,t){this.getCachesAt(t)["delete"](e)}},{key:"delete",value:function(e,t){var n=this.getKey(e);this.deleteCache(n,t)}},{key:"invalidateKey",value:function(e){var t=this;this.lvls.forEach((function(n){return t.deleteCache(e,n)}))}},{key:"invalidate",value:function(e){var t=e.id(),n=this.keyForId.get(t);this.deleteKeyMappingFor(e);var r=this.doesEleInvalidateKey(e);return r&&this.invalidateKey(n),r||0===this.getNumberOfIdsForKey(n)}}]),e}(),pu=25,bu=50,gu=-4,vu=3,wu=7.99,yu=8,mu=1024,xu=1024,ku=1024,Eu=.2,Su=.8,_u=10,Cu=.15,ju=.1,Ou=.9,Tu=.9,Pu=100,Au=1,Nu={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},Iu=He({getKey:null,doesEleInvalidateKey:je,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:Ce,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),Du=function(e,t){var n=this;n.renderer=e,n.onDequeues=[];var r=Iu(t);te(n,r),n.lookup=new du(r.getKey,r.doesEleInvalidateKey),n.setupDequeueing()},Lu=Du.prototype;Lu.reasons=Nu,Lu.getTextureQueue=function(e){var t=this;return t.eleImgCaches=t.eleImgCaches||{},t.eleImgCaches[e]=t.eleImgCaches[e]||[]},Lu.getRetiredTextureQueue=function(e){var t=this,n=t.eleImgCaches.retired=t.eleImgCaches.retired||{},r=n[e]=n[e]||[];return r},Lu.getElementQueue=function(){var e=this,t=e.eleCacheQueue=e.eleCacheQueue||new a((function(e,t){return t.reqs-e.reqs}));return t},Lu.getElementKeyToQueue=function(){var e=this,t=e.eleKeyToCacheQueue=e.eleKeyToCacheQueue||{};return t},Lu.getElement=function(e,t,n,r,i){var a=this,o=this.renderer,c=o.cy.zoom(),u=this.lookup;if(0===t.w||0===t.h||isNaN(t.w)||isNaN(t.h)||!e.visible())return null;if(!a.allowEdgeTxrCaching&&e.isEdge()||!a.allowParentTxrCaching&&e.isParent())return null;if(null==r&&(r=Math.ceil(kt(c*n))),r=wu||r>vu)return null;var s=Math.pow(2,r),l=t.h*s,f=t.w*s,h=o.eleTextBiggerThanMin(e,s);if(!this.isVisible(e,h))return null;var d,p=u.get(e,r);if(p&&p.invalidated&&(p.invalidated=!1,p.texture.invalidatedWidth-=p.width),p)return p;if(d=l<=pu?pu:l<=bu?bu:Math.ceil(l/bu)*bu,l>ku||f>xu)return null;var b=a.getTextureQueue(d),g=b[b.length-2],v=function(){return a.recycleTexture(d,f)||a.addTexture(d,f)};g||(g=b[b.length-1]),g||(g=v()),g.width-g.usedWidthr;j--)_=a.getElement(e,t,n,j,Nu.downscale);C()}else{var O;if(!m&&!x&&!k)for(var T=r-1;T>=gu;T--){var P=u.get(e,T);if(P){O=P;break}}if(y(O))return a.queueElement(e,r),O;g.context.translate(g.usedWidth,0),g.context.scale(s,s),this.drawElement(g.context,e,t,h,!1),g.context.scale(1/s,1/s),g.context.translate(-g.usedWidth,0)}return p={x:g.usedWidth,texture:g,level:r,scale:s,width:f,height:l,scaledLabelShown:h},g.usedWidth+=Math.ceil(f+yu),g.eleCaches.push(p),u.set(e,r,p),a.checkTextureFullness(g),p},Lu.invalidateElements=function(e){for(var t=0;t=Eu*e.width&&this.retireTexture(e)},Lu.checkTextureFullness=function(e){var t=this,n=t.getTextureQueue(e.height);e.usedWidth/e.width>Su&&e.fullnessChecks>=_u?Ge(n,e):e.fullnessChecks++},Lu.retireTexture=function(e){var t=this,n=e.height,r=t.getTextureQueue(n),i=this.lookup;Ge(r,e),e.retired=!0;for(var a=e.eleCaches,o=0;o=t)return o.retired=!1,o.usedWidth=0,o.invalidatedWidth=0,o.fullnessChecks=0,ze(o.eleCaches),o.context.setTransform(1,0,0,1,0,0),o.context.clearRect(0,0,o.width,o.height),Ge(i,o),r.push(o),o}},Lu.queueElement=function(e,t){var n=this,r=n.getElementQueue(),i=n.getElementKeyToQueue(),a=this.getKey(e),o=i[a];if(o)o.level=Math.max(o.level,t),o.eles.merge(e),o.reqs++,r.updateItem(o);else{var c={eles:e.spawn().merge(e),level:t,reqs:1,key:a};r.push(c),i[a]=c}},Lu.dequeue=function(e){for(var t=this,n=t.getElementQueue(),r=t.getElementKeyToQueue(),i=[],a=t.lookup,o=0;o0))break;var c=n.pop(),u=c.key,s=c.eles[0],l=a.hasCache(s,c.level);if(r[u]=null,!l){i.push(c);var f=t.getBoundingBox(s);t.getElement(s,f,e,c.level,Nu.dequeue)}}return i},Lu.removeFromQueue=function(e){var t=this,n=t.getElementQueue(),r=t.getElementKeyToQueue(),i=this.getKey(e),a=r[i];null!=a&&(1===a.eles.length?(a.reqs=_e,n.updateItem(a),n.pop(),r[i]=null):a.eles.unmerge(e))},Lu.onDequeue=function(e){this.onDequeues.push(e)},Lu.offDequeue=function(e){Ge(this.onDequeues,e)},Lu.setupDequeueing=hu.setupDequeueing({deqRedrawThreshold:Pu,deqCost:Cu,deqAvgCost:ju,deqNoDrawCost:Ou,deqFastCost:Tu,deq:function(e,t,n){return e.dequeue(t,n)},onDeqd:function(e,t){for(var n=0;n=Hu||n>Bu)return null;r.validateLayersElesOrdering(n,e);var u,s,l=r.layersByLevel,f=Math.pow(2,n),h=l[n]=l[n]||[],d=r.levelIsComplete(n,e),p=function(){var t=function(t){if(r.validateLayersElesOrdering(t,e),r.levelIsComplete(t,e))return s=l[t],!0},i=function(e){if(!s)for(var r=n+e;Ru<=r&&r<=Bu;r+=e)if(t(r))break};i(1),i(-1);for(var a=h.length-1;a>=0;a--){var o=h[a];o.invalid&&Ge(h,o)}};if(d)return h;p();var b=function(){if(!u){u=At();for(var t=0;tWu)return null;var a=r.makeLayer(u,n);if(null!=t){var o=h.indexOf(t)+1;h.splice(o,0,a)}else(void 0===e.insert||e.insert)&&h.unshift(a);return a};if(r.skipping&&!c)return null;for(var v=null,w=e.length/Mu,y=!c,m=0;m=w||!Ft(v.bb,x.boundingBox()))&&(v=g({insert:!0,after:v}),!v))return null;s||y?r.queueLayer(v,x):r.drawEleInLayer(v,x,n,t),v.eles.push(x),E[n]=v}}return s||(y?null:h)},Qu.getEleLevelForLayerLevel=function(e,t){return e},Qu.drawEleInLayer=function(e,t,n,r){var i=this,a=this.renderer,o=e.context,c=t.boundingBox();0!==c.w&&0!==c.h&&t.visible()&&(n=i.getEleLevelForLayerLevel(n,r),a.setImgSmoothing(o,!1),a.drawCachedElement(o,t,null,null,n,Ku),a.setImgSmoothing(o,!0))},Qu.levelIsComplete=function(e,t){var n=this,r=n.layersByLevel[e];if(!r||0===r.length)return!1;for(var i=0,a=0;a0)return!1;if(o.invalid)return!1;i+=o.eles.length}return i===t.length},Qu.validateLayersElesOrdering=function(e,t){var n=this.layersByLevel[e];if(n)for(var r=0;r0){t=!0;break}}return t},Qu.invalidateElements=function(e){var t=this;0!==e.length&&(t.lastInvalidationTime=pe(),0!==e.length&&t.haveLayers()&&t.updateElementsInLayers(e,(function(e,n,r){t.invalidateLayer(e)})))},Qu.invalidateLayer=function(e){if(this.lastInvalidationTime=pe(),!e.invalid){var t=e.level,n=e.eles,r=this.layersByLevel[t];Ge(r,e),e.elesQueue=[],e.invalid=!0,e.replacement&&(e.replacement.invalid=!0);for(var i=0;i3&&void 0!==arguments[3])||arguments[3],i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],a=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],o=this,c=t._private.rscratch;if((!a||t.visible())&&!c.badLine&&null!=c.allpts&&!isNaN(c.allpts[0])){var u;n&&(u=n,e.translate(-u.x1,-u.y1));var s=a?t.pstyle("opacity").value:1,l=t.pstyle("line-style").value,f=t.pstyle("width").pfValue,h=t.pstyle("line-cap").value,d=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:s;e.lineWidth=f,e.lineCap=h,o.eleStrokeStyle(e,t,n),o.drawEdgePath(t,e,c.allpts,l),e.lineCap="butt"},p=function(){i&&o.drawEdgeOverlay(e,t)},b=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:s;o.drawArrowheads(e,t,n)},g=function(){o.drawElementText(e,t,null,r)};e.lineJoin="round";var v="yes"===t.pstyle("ghost").value;if(v){var w=t.pstyle("ghost-offset-x").pfValue,y=t.pstyle("ghost-offset-y").pfValue,m=t.pstyle("ghost-opacity").value,x=s*m;e.translate(w,y),d(x),b(x),e.translate(-w,-y)}d(),b(),p(),g(),n&&e.translate(u.x1,u.y1)}},drawEdgeOverlay:function(e,t){if(t.visible()){var n=t.pstyle("overlay-opacity").value;if(0!==n){var r=this,i=r.usePaths(),a=t._private.rscratch,o=t.pstyle("overlay-padding").pfValue,c=2*o,u=t.pstyle("overlay-color").value;e.lineWidth=c,"self"!==a.edgeType||i?e.lineCap="round":e.lineCap="butt",r.colorStrokeStyle(e,u[0],u[1],u[2],n),r.drawEdgePath(t,e,a.allpts,"solid")}}},drawEdgePath:function(e,t,n,r){var i,a=e._private.rscratch,o=t,c=!1,u=this.usePaths(),s=e.pstyle("line-dash-pattern").pfValue,l=e.pstyle("line-dash-offset").pfValue;if(u){var f=n.join("$"),h=a.pathCacheKey&&a.pathCacheKey===f;h?(i=t=a.pathCache,c=!0):(i=t=new Path2D,a.pathCacheKey=f,a.pathCache=i)}if(o.setLineDash)switch(r){case"dotted":o.setLineDash([1,1]);break;case"dashed":o.setLineDash(s),o.lineDashOffset=l;break;case"solid":o.setLineDash([]);break}if(!c&&!a.badLine)switch(t.beginPath&&t.beginPath(),t.moveTo(n[0],n[1]),a.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var d=2;d+35&&void 0!==arguments[5]?arguments[5]:5;e.beginPath(),e.moveTo(t+a,n),e.lineTo(t+r-a,n),e.quadraticCurveTo(t+r,n,t+r,n+a),e.lineTo(t+r,n+i-a),e.quadraticCurveTo(t+r,n+i,t+r-a,n+i),e.lineTo(t+a,n+i),e.quadraticCurveTo(t,n+i,t,n+i-a),e.lineTo(t,n+a),e.quadraticCurveTo(t,n,t+a,n),e.closePath(),e.fill()}bs.eleTextBiggerThanMin=function(e,t){if(!t){var n=e.cy().zoom(),r=this.getPixelRatio(),i=Math.ceil(kt(n*r));t=Math.pow(2,i)}var a=e.pstyle("font-size").pfValue*t,o=e.pstyle("min-zoomed-font-size").pfValue;return!(a5&&void 0!==arguments[5])||arguments[5],o=this;if(null==r){if(a&&!o.eleTextBiggerThanMin(t))return}else if(!1===r)return;if(t.isNode()){var c=t.pstyle("label");if(!c||!c.value)return;var u=o.getLabelJustification(t);e.textAlign=u,e.textBaseline="bottom"}else{var s=t.pstyle("label"),l=t.pstyle("source-label"),f=t.pstyle("target-label");if((!s||!s.value)&&(!l||!l.value)&&(!f||!f.value))return;e.textAlign="center",e.textBaseline="bottom"}var h,d=!n;n&&(h=n,e.translate(-h.x1,-h.y1)),null==i?(o.drawText(e,t,null,d,a),t.isEdge()&&(o.drawText(e,t,"source",d,a),o.drawText(e,t,"target",d,a))):o.drawText(e,t,i,d,a),n&&e.translate(h.x1,h.y1)},bs.getFontCache=function(e){var t;this.fontCaches=this.fontCaches||[];for(var n=0;n2&&void 0!==arguments[2])||arguments[2],r=t.pstyle("font-style").strValue,i=t.pstyle("font-size").pfValue+"px",a=t.pstyle("font-family").strValue,o=t.pstyle("font-weight").strValue,c=n?t.effectiveOpacity()*t.pstyle("text-opacity").value:1,u=t.pstyle("text-outline-opacity").value*c,s=t.pstyle("color").value,l=t.pstyle("text-outline-color").value;e.font=r+" "+o+" "+i+" "+a,e.lineJoin="round",this.colorFillStyle(e,s[0],s[1],s[2],c),this.colorStrokeStyle(e,l[0],l[1],l[2],u)},bs.getTextAngle=function(e,t){var n,r=e._private,i=r.rscratch,a=t?t+"-":"",o=e.pstyle(a+"text-rotation"),c=Fe(i,"labelAngle",t);return n="autorotate"===o.strValue?e.isEdge()?c:0:"none"===o.strValue?0:o.pfValue,n},bs.drawText=function(e,t,n){var r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],a=t._private,o=a.rscratch,c=i?t.effectiveOpacity():1;if(!i||0!==c&&0!==t.pstyle("text-opacity").value){"main"===n&&(n=null);var u,s,l=Fe(o,"labelX",n),f=Fe(o,"labelY",n),h=this.getLabelText(t,n);if(null!=h&&""!==h&&!isNaN(l)&&!isNaN(f)){this.setupTextStyle(e,t,i);var d,p=n?n+"-":"",b=Fe(o,"labelWidth",n),g=Fe(o,"labelHeight",n),v=t.pstyle(p+"text-margin-x").pfValue,w=t.pstyle(p+"text-margin-y").pfValue,y=t.isEdge(),m=t.pstyle("text-halign").value,x=t.pstyle("text-valign").value;switch(y&&(m="center",x="center"),l+=v,f+=w,d=r?this.getTextAngle(t,n):0,0!==d&&(u=l,s=f,e.translate(u,s),e.rotate(d),l=0,f=0),x){case"top":break;case"center":f+=g/2;break;case"bottom":f+=g;break}var k=t.pstyle("text-background-opacity").value,E=t.pstyle("text-border-opacity").value,S=t.pstyle("text-border-width").pfValue,_=t.pstyle("text-background-padding").pfValue;if(k>0||S>0&&E>0){var C=l-_;switch(m){case"left":C-=b;break;case"center":C-=b/2;break;case"right":break}var j=f-g-_,O=b+2*_,T=g+2*_;if(k>0){var P=e.fillStyle,A=t.pstyle("text-background-color").value;e.fillStyle="rgba("+A[0]+","+A[1]+","+A[2]+","+k*c+")";var N=t.pstyle("text-background-shape").strValue;"roundrectangle"==N?gs(e,C,j,O,T,2):e.fillRect(C,j,O,T),e.fillStyle=P}if(S>0&&E>0){var I=e.strokeStyle,D=e.lineWidth,L=t.pstyle("text-border-color").value,M=t.pstyle("text-border-style").value;if(e.strokeStyle="rgba("+L[0]+","+L[1]+","+L[2]+","+E*c+")",e.lineWidth=S,e.setLineDash)switch(M){case"dotted":e.setLineDash([1,1]);break;case"dashed":e.setLineDash([4,2]);break;case"double":e.lineWidth=S/4,e.setLineDash([]);break;case"solid":e.setLineDash([]);break}if(e.strokeRect(C,j,O,T),"double"===M){var R=S/2;e.strokeRect(C+R,j+R,O-2*R,T-2*R)}e.setLineDash&&e.setLineDash([]),e.lineWidth=D,e.strokeStyle=I}}var B=2*t.pstyle("text-outline-width").pfValue;if(B>0&&(e.lineWidth=B),"wrap"===t.pstyle("text-wrap").value){var H=Fe(o,"labelWrapCachedLines",n),G=Fe(o,"labelLineHeight",n),z=b/2,Y=this.getLabelJustification(t);switch("auto"===Y||("left"===m?"left"===Y?l+=-b:"center"===Y&&(l+=-z):"center"===m?"left"===Y?l+=-z:"right"===Y&&(l+=z):"right"===m&&("center"===Y?l+=z:"right"===Y&&(l+=b))),x){case"top":f-=(H.length-1)*G;break;case"center":case"bottom":f-=(H.length-1)*G;break}for(var F=0;F0&&e.strokeText(H[F],l,f),e.fillText(H[F],l,f),f+=G}else B>0&&e.strokeText(h,l,f),e.fillText(h,l,f);0!==d&&(e.rotate(-d),e.translate(-u,-s))}}};var vs={drawNode:function(e,t,n){var r,i,a=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],o=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],c=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],u=this,s=t._private,l=s.rscratch,f=t.position();if(j(f.x)&&j(f.y)&&(!c||t.visible())){var h,d,p=c?t.effectiveOpacity():1,b=u.usePaths(),g=!1,v=t.padding();r=t.width()+2*v,i=t.height()+2*v,n&&(d=n,e.translate(-d.x1,-d.y1));for(var w=t.pstyle("background-image"),y=w.value,m=new Array(y.length),x=new Array(y.length),k=0,E=0;E0&&void 0!==arguments[0]?arguments[0]:P;u.eleFillStyle(e,t,n)},L=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:I;u.colorStrokeStyle(e,A[0],A[1],A[2],t)},M=t.pstyle("shape").strValue,R=t.pstyle("shape-polygon-points").pfValue;if(b){e.translate(f.x,f.y);var B=u.nodePathCache=u.nodePathCache||[],H=me("polygon"===M?M+","+R.join(","):M,""+i,""+r),G=B[H];null!=G?(h=G,g=!0,l.pathCache=h):(h=new Path2D,B[H]=l.pathCache=h)}var z=function(){if(!g){var n=f;b&&(n={x:0,y:0}),u.nodeShapes[u.getNodeShape(t)].draw(h||e,n.x,n.y,r,i)}b?e.fill(h):e.fill()},Y=function(){for(var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:p,r=s.backgrounding,i=0,a=0;a0&&void 0!==arguments[0]&&arguments[0],a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:p;u.hasPie(t)&&(u.drawPie(e,t,a),n&&(b||u.nodeShapes[u.getNodeShape(t)].draw(e,f.x,f.y,r,i)))},$=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:p,n=(O>0?O:-O)*t,r=O>0?0:255;0!==O&&(u.colorFillStyle(e,r,r,r,n),b?e.fill(h):e.fill())},V=function(){if(T>0){if(e.lineWidth=T,e.lineCap="butt",e.setLineDash)switch(N){case"dotted":e.setLineDash([1,1]);break;case"dashed":e.setLineDash([4,2]);break;case"solid":case"double":e.setLineDash([]);break}if(b?e.stroke(h):e.stroke(),"double"===N){e.lineWidth=T/3;var t=e.globalCompositeOperation;e.globalCompositeOperation="destination-out",b?e.stroke(h):e.stroke(),e.globalCompositeOperation=t}e.setLineDash&&e.setLineDash([])}},q=function(){o&&u.drawNodeOverlay(e,t,f,r,i)},U=function(){u.drawElementText(e,t,null,a)},W="yes"===t.pstyle("ghost").value;if(W){var K=t.pstyle("ghost-offset-x").pfValue,X=t.pstyle("ghost-offset-y").pfValue,Q=t.pstyle("ghost-opacity").value,Z=Q*p;e.translate(K,X),D(Q*P),z(),Y(Z),F(0!==O||0!==T),$(Z),L(Q*I),V(),e.translate(-K,-X)}D(),z(),Y(),F(0!==O||0!==T),$(),L(),V(),b&&e.translate(-f.x,-f.y),U(),q(),n&&e.translate(d.x1,d.y1)}},drawNodeOverlay:function(e,t,n,r,i){var a=this;if(t.visible()){var o=t.pstyle("overlay-padding").pfValue,c=t.pstyle("overlay-opacity").value,u=t.pstyle("overlay-color").value;if(c>0){if(n=n||t.position(),null==r||null==i){var s=t.padding();r=t.width()+2*s,i=t.height()+2*s}a.colorFillStyle(e,u[0],u[1],u[2],c),a.nodeShapes["roundrectangle"].draw(e,n.x,n.y,r+2*o,i+2*o),e.fill()}}},hasPie:function(e){return e=e[0],e._private.hasPie},drawPie:function(e,t,n,r){t=t[0],r=r||t.position();var i=t.cy().style(),a=t.pstyle("pie-size"),o=r.x,c=r.y,u=t.width(),s=t.height(),l=Math.min(u,s)/2,f=0,h=this.usePaths();h&&(o=0,c=0),"%"===a.units?l*=a.pfValue:void 0!==a.pfValue&&(l=a.pfValue/2);for(var d=1;d<=i.pieBackgroundN;d++){var p=t.pstyle("pie-"+d+"-background-size").value,b=t.pstyle("pie-"+d+"-background-color").value,g=t.pstyle("pie-"+d+"-background-opacity").value*n,v=p/100;v+f>1&&(v=1-f);var w=1.5*Math.PI+2*Math.PI*f,y=2*Math.PI*v,m=w+y;0===p||f>=1||f+v>1||(e.beginPath(),e.moveTo(o,c),e.arc(o,c,l,w,m),e.closePath(),this.colorFillStyle(e,b[0],b[1],b[2],g),e.fill(),f+=v)}}},ws={},ys=100;ws.getPixelRatio=function(){var e=this.data.contexts[0];if(null!=this.forcedPixelRatio)return this.forcedPixelRatio;var t=e.backingStorePixelRatio||e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1;return(window.devicePixelRatio||1)/t},ws.paintCache=function(e){for(var t,n=this.paintCaches=this.paintCaches||[],r=!0,i=0;io.minMbLowQualFrames&&(o.motionBlurPxRatio=o.mbPxRBlurry)),o.clearingMotionBlur&&(o.motionBlurPxRatio=1),o.textureDrawLastFrame&&!f&&(l[o.NODE]=!0,l[o.SELECT_BOX]=!0);var w=u.style(),y=u.zoom(),m=void 0!==i?i:y,x=u.pan(),k={x:x.x,y:x.y},E={zoom:y,pan:{x:x.x,y:x.y}},S=o.prevViewport,_=void 0===S||E.zoom!==S.zoom||E.pan.x!==S.pan.x||E.pan.y!==S.pan.y;_||b&&!p||(o.motionBlurPxRatio=1),a&&(k=a),m*=c,k.x*=c,k.y*=c;var C=o.getCachedZSortedEles();function j(e,t,n,r,i){var a=e.globalCompositeOperation;e.globalCompositeOperation="destination-out",o.colorFillStyle(e,255,255,255,o.motionBlurTransparency),e.fillRect(t,n,r,i),e.globalCompositeOperation=a}function O(e,r){var c,u,l,f;o.clearingMotionBlur||e!==s.bufferContexts[o.MOTIONBLUR_BUFFER_NODE]&&e!==s.bufferContexts[o.MOTIONBLUR_BUFFER_DRAG]?(c=k,u=m,l=o.canvasWidth,f=o.canvasHeight):(c={x:x.x*d,y:x.y*d},u=y*d,l=o.canvasWidth*d,f=o.canvasHeight*d),e.setTransform(1,0,0,1,0,0),"motionBlur"===r?j(e,0,0,l,f):t||void 0!==r&&!r||e.clearRect(0,0,l,f),n||(e.translate(c.x,c.y),e.scale(u,u)),a&&e.translate(a.x,a.y),i&&e.scale(i,i)}if(f||(o.textureDrawLastFrame=!1),f){if(o.textureDrawLastFrame=!0,!o.textureCache){o.textureCache={},o.textureCache.bb=u.mutableElements().boundingBox(),o.textureCache.texture=o.data.bufferCanvases[o.TEXTURE_BUFFER];var T=o.data.bufferContexts[o.TEXTURE_BUFFER];T.setTransform(1,0,0,1,0,0),T.clearRect(0,0,o.canvasWidth*o.textureMult,o.canvasHeight*o.textureMult),o.render({forcedContext:T,drawOnlyNodeLayer:!0,forcedPxRatio:c*o.textureMult});E=o.textureCache.viewport={zoom:u.zoom(),pan:u.pan(),width:o.canvasWidth,height:o.canvasHeight};E.mpan={x:(0-E.pan.x)/E.zoom,y:(0-E.pan.y)/E.zoom}}l[o.DRAG]=!1,l[o.NODE]=!1;var P=s.contexts[o.NODE],A=o.textureCache.texture;E=o.textureCache.viewport;P.setTransform(1,0,0,1,0,0),h?j(P,0,0,E.width,E.height):P.clearRect(0,0,E.width,E.height);var N=w.core("outside-texture-bg-color").value,I=w.core("outside-texture-bg-opacity").value;o.colorFillStyle(P,N[0],N[1],N[2],I),P.fillRect(0,0,E.width,E.height);y=u.zoom();O(P,!1),P.clearRect(E.mpan.x,E.mpan.y,E.width/E.zoom/c,E.height/E.zoom/c),P.drawImage(A,E.mpan.x,E.mpan.y,E.width/E.zoom/c,E.height/E.zoom/c)}else o.textureOnViewport&&!t&&(o.textureCache=null);var D=u.extent(),L=o.pinching||o.hoverData.dragging||o.swipePanning||o.data.wheelZooming||o.hoverData.draggingEles||o.cy.animated(),M=o.hideEdgesOnViewport&&L,R=[];if(R[o.NODE]=!l[o.NODE]&&h&&!o.clearedForMotionBlur[o.NODE]||o.clearingMotionBlur,R[o.NODE]&&(o.clearedForMotionBlur[o.NODE]=!0),R[o.DRAG]=!l[o.DRAG]&&h&&!o.clearedForMotionBlur[o.DRAG]||o.clearingMotionBlur,R[o.DRAG]&&(o.clearedForMotionBlur[o.DRAG]=!0),l[o.NODE]||n||r||R[o.NODE]){var B=h&&!R[o.NODE]&&1!==d,H=(P=t||(B?o.data.bufferContexts[o.MOTIONBLUR_BUFFER_NODE]:s.contexts[o.NODE]),h&&!B?"motionBlur":void 0);O(P,H),M?o.drawCachedNodes(P,C.nondrag,c,D):o.drawLayeredElements(P,C.nondrag,c,D),o.debug&&o.drawDebugPoints(P,C.nondrag),n||h||(l[o.NODE]=!1)}if(!r&&(l[o.DRAG]||n||R[o.DRAG])){B=h&&!R[o.DRAG]&&1!==d,P=t||(B?o.data.bufferContexts[o.MOTIONBLUR_BUFFER_DRAG]:s.contexts[o.DRAG]);O(P,h&&!B?"motionBlur":void 0),M?o.drawCachedNodes(P,C.drag,c,D):o.drawCachedElements(P,C.drag,c,D),o.debug&&o.drawDebugPoints(P,C.drag),n||h||(l[o.DRAG]=!1)}if(o.showFps||!r&&l[o.SELECT_BOX]&&!n){P=t||s.contexts[o.SELECT_BOX];if(O(P),1==o.selection[4]&&(o.hoverData.selecting||o.touchData.selecting)){y=o.cy.zoom();var G=w.core("selection-box-border-width").value/y;P.lineWidth=G,P.fillStyle="rgba("+w.core("selection-box-color").value[0]+","+w.core("selection-box-color").value[1]+","+w.core("selection-box-color").value[2]+","+w.core("selection-box-opacity").value+")",P.fillRect(o.selection[0],o.selection[1],o.selection[2]-o.selection[0],o.selection[3]-o.selection[1]),G>0&&(P.strokeStyle="rgba("+w.core("selection-box-border-color").value[0]+","+w.core("selection-box-border-color").value[1]+","+w.core("selection-box-border-color").value[2]+","+w.core("selection-box-opacity").value+")",P.strokeRect(o.selection[0],o.selection[1],o.selection[2]-o.selection[0],o.selection[3]-o.selection[1]))}if(s.bgActivePosistion&&!o.hoverData.selecting){y=o.cy.zoom();var z=s.bgActivePosistion;P.fillStyle="rgba("+w.core("active-bg-color").value[0]+","+w.core("active-bg-color").value[1]+","+w.core("active-bg-color").value[2]+","+w.core("active-bg-opacity").value+")",P.beginPath(),P.arc(z.x,z.y,w.core("active-bg-size").pfValue/y,0,2*Math.PI),P.fill()}var Y=o.lastRedrawTime;if(o.showFps&&Y){Y=Math.round(Y);var F=Math.round(1e3/Y);P.setTransform(1,0,0,1,0,0),P.fillStyle="rgba(255, 0, 0, 0.75)",P.strokeStyle="rgba(255, 0, 0, 0.75)",P.lineWidth=1,P.fillText("1 frame = "+Y+" ms = "+F+" fps",0,20);var $=60;P.strokeRect(0,30,250,20),P.fillRect(0,30,250*Math.min(F/$,1),20)}n||(l[o.SELECT_BOX]=!1)}if(h&&1!==d){var V=s.contexts[o.NODE],q=o.data.bufferCanvases[o.MOTIONBLUR_BUFFER_NODE],U=s.contexts[o.DRAG],W=o.data.bufferCanvases[o.MOTIONBLUR_BUFFER_DRAG],K=function(e,t,n){e.setTransform(1,0,0,1,0,0),n||!v?e.clearRect(0,0,o.canvasWidth,o.canvasHeight):j(e,0,0,o.canvasWidth,o.canvasHeight);var r=d;e.drawImage(t,0,0,o.canvasWidth*r,o.canvasHeight*r,0,0,o.canvasWidth,o.canvasHeight)};(l[o.NODE]||R[o.NODE])&&(K(V,q,R[o.NODE]),l[o.NODE]=!1),(l[o.DRAG]||R[o.DRAG])&&(K(U,W,R[o.DRAG]),l[o.DRAG]=!1)}o.prevViewport=E,o.clearingMotionBlur&&(o.clearingMotionBlur=!1,o.motionBlurCleared=!0,o.motionBlur=!0),h&&(o.motionBlurTimeout=setTimeout((function(){o.motionBlurTimeout=null,o.clearedForMotionBlur[o.NODE]=!1,o.clearedForMotionBlur[o.DRAG]=!1,o.motionBlur=!1,o.clearingMotionBlur=!f,o.mbFrames=0,l[o.NODE]=!0,l[o.DRAG]=!0,o.redraw()}),ys)),t||u.emit("render")};for(var ms={drawPolygonPath:function(e,t,n,r,i,a){var o=r/2,c=i/2;e.beginPath&&e.beginPath(),e.moveTo(t+o*a[0],n+c*a[1]);for(var u=1;u0&&o>0){d.clearRect(0,0,a,o),d.globalCompositeOperation="source-over";var p=this.getCachedZSortedEles();if(e.full)d.translate(-r.x1*s,-r.y1*s),d.scale(s,s),this.drawElements(d,p),d.scale(1/s,1/s),d.translate(r.x1*s,r.y1*s);else{var b=t.pan(),g={x:b.x*s,y:b.y*s};s*=t.zoom(),d.translate(g.x,g.y),d.scale(s,s),this.drawElements(d,p),d.scale(1/s,1/s),d.translate(-g.x,-g.y)}e.bg&&(d.globalCompositeOperation="destination-over",d.fillStyle=e.bg,d.rect(0,0,a,o),d.fill())}return h},js.png=function(e){return Ps(e,this.bufferCanvasImage(e),"image/png")},js.jpg=function(e){return Ps(e,this.bufferCanvasImage(e),"image/jpeg")};var As={nodeShapeImpl:function(e,t,n,r,i,a,o){switch(e){case"ellipse":return this.drawEllipsePath(t,n,r,i,a);case"polygon":return this.drawPolygonPath(t,n,r,i,a,o);case"roundrectangle":case"round-rectangle":return this.drawRoundRectanglePath(t,n,r,i,a);case"cutrectangle":case"cut-rectangle":return this.drawCutRectanglePath(t,n,r,i,a);case"bottomroundrectangle":case"bottom-round-rectangle":return this.drawBottomRoundRectanglePath(t,n,r,i,a);case"barrel":return this.drawBarrelPath(t,n,r,i,a)}}},Ns=Ds,Is=Ds.prototype;function Ds(e){var t=this;t.data={canvases:new Array(Is.CANVAS_LAYERS),contexts:new Array(Is.CANVAS_LAYERS),canvasNeedsRedraw:new Array(Is.CANVAS_LAYERS),bufferCanvases:new Array(Is.BUFFER_COUNT),bufferContexts:new Array(Is.CANVAS_LAYERS)};var n="-webkit-tap-highlight-color",r="rgba(0,0,0,0)";t.data.canvasContainer=document.createElement("div");var i=t.data.canvasContainer.style;t.data.canvasContainer.style[n]=r,i.position="relative",i.zIndex="0",i.overflow="hidden";var a=e.cy.container();a.appendChild(t.data.canvasContainer),a.style[n]=r;var o={"-webkit-user-select":"none","-moz-user-select":"-moz-none","user-select":"none","-webkit-tap-highlight-color":"rgba(0,0,0,0)","outline-style":"none"};G()&&(o["-ms-touch-action"]="none",o["touch-action"]="none");for(var c=0;c0?r:n)(e)}},"45f2":function(e,t,n){var r=n("d9f6").f,i=n("07e3"),a=n("5168")("toStringTag");e.exports=function(e,t,n){e&&!i(e=n?e:e.prototype,a)&&r(e,a,{configurable:!0,value:t})}},4630:function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},"469f":function(e,t,n){n("6c1c"),n("1654"),e.exports=n("7d7b")},"46a7":function(e,t,n){var r=n("63b6");r(r.S+r.F*!n("8e60"),"Object",{defineProperty:n("d9f6").f})},"47ee":function(e,t,n){var r=n("c3a1"),i=n("9aa9"),a=n("355d");e.exports=function(e){var t=r(e),n=i.f;if(n){var o,c=n(e),u=a.f,s=0;while(c.length>s)u.call(e,o=c[s++])&&t.push(o)}return t}},"481b":function(e,t){e.exports={}},"4a59":function(e,t,n){var r=n("9b43"),i=n("1fa8"),a=n("33a4"),o=n("cb7c"),c=n("9def"),u=n("27ee"),s={},l={};t=e.exports=function(e,t,n,f,h){var d,p,b,g,v=h?function(){return e}:u(e),w=r(n,f,t?2:1),y=0;if("function"!=typeof v)throw TypeError(e+" is not iterable!");if(a(v)){for(d=c(e.length);d>y;y++)if(g=t?w(o(p=e[y])[0],p[1]):w(e[y]),g===s||g===l)return g}else for(b=v.call(e);!(p=b.next()).done;)if(g=i(b,w,p.value,t),g===s||g===l)return g};t.BREAK=s,t.RETURN=l},"4aa6":function(e,t,n){e.exports=n("dc62")},"4bf8":function(e,t,n){var r=n("be13");e.exports=function(e){return Object(r(e))}},"4d16":function(e,t,n){e.exports=n("25b0")},"504c":function(e,t,n){var r=n("9e1e"),i=n("0d58"),a=n("6821"),o=n("52a7").f;e.exports=function(e){return function(t){var n,c=a(t),u=i(c),s=u.length,l=0,f=[];while(s>l)n=u[l++],r&&!o.call(c,n)||f.push(e?[n,c[n]]:c[n]);return f}}},"50ed":function(e,t){e.exports=function(e,t){return{value:t,done:!!e}}},5168:function(e,t,n){var r=n("dbdb")("wks"),i=n("62a0"),a=n("e53d").Symbol,o="function"==typeof a,c=e.exports=function(e){return r[e]||(r[e]=o&&a[e]||(o?a:i)("Symbol."+e))};c.store=r},"52a7":function(e,t){t.f={}.propertyIsEnumerable},"53e2":function(e,t,n){var r=n("07e3"),i=n("241e"),a=n("5559")("IE_PROTO"),o=Object.prototype;e.exports=Object.getPrototypeOf||function(e){return e=i(e),r(e,a)?e[a]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?o:null}},"54a1":function(e,t,n){n("6c1c"),n("1654"),e.exports=n("95d5")},"551c":function(e,t,n){"use strict";var r,i,a,o,c=n("2d00"),u=n("7726"),s=n("9b43"),l=n("23c6"),f=n("5ca1"),h=n("d3f4"),d=n("d8e8"),p=n("f605"),b=n("4a59"),g=n("ebd6"),v=n("1991").set,w=n("8079")(),y=n("a5b8"),m=n("9c80"),x=n("a25f"),k=n("bcaa"),E="Promise",S=u.TypeError,_=u.process,C=_&&_.versions,j=C&&C.v8||"",O=u[E],T="process"==l(_),P=function(){},A=i=y.f,N=!!function(){try{var e=O.resolve(1),t=(e.constructor={})[n("2b4c")("species")]=function(e){e(P,P)};return(T||"function"==typeof PromiseRejectionEvent)&&e.then(P)instanceof t&&0!==j.indexOf("6.6")&&-1===x.indexOf("Chrome/66")}catch(r){}}(),I=function(e){var t;return!(!h(e)||"function"!=typeof(t=e.then))&&t},D=function(e,t){if(!e._n){e._n=!0;var n=e._c;w((function(){var r=e._v,i=1==e._s,a=0,o=function(t){var n,a,o,c=i?t.ok:t.fail,u=t.resolve,s=t.reject,l=t.domain;try{c?(i||(2==e._h&&R(e),e._h=1),!0===c?n=r:(l&&l.enter(),n=c(r),l&&(l.exit(),o=!0)),n===t.promise?s(S("Promise-chain cycle")):(a=I(n))?a.call(n,u,s):u(n)):s(r)}catch(f){l&&!o&&l.exit(),s(f)}};while(n.length>a)o(n[a++]);e._c=[],e._n=!1,t&&!e._h&&L(e)}))}},L=function(e){v.call(u,(function(){var t,n,r,i=e._v,a=M(e);if(a&&(t=m((function(){T?_.emit("unhandledRejection",i,e):(n=u.onunhandledrejection)?n({promise:e,reason:i}):(r=u.console)&&r.error&&r.error("Unhandled promise rejection",i)})),e._h=T||M(e)?2:1),e._a=void 0,a&&t.e)throw t.v}))},M=function(e){return 1!==e._h&&0===(e._a||e._c).length},R=function(e){v.call(u,(function(){var t;T?_.emit("rejectionHandled",e):(t=u.onrejectionhandled)&&t({promise:e,reason:e._v})}))},B=function(e){var t=this;t._d||(t._d=!0,t=t._w||t,t._v=e,t._s=2,t._a||(t._a=t._c.slice()),D(t,!0))},H=function(e){var t,n=this;if(!n._d){n._d=!0,n=n._w||n;try{if(n===e)throw S("Promise can't be resolved itself");(t=I(e))?w((function(){var r={_w:n,_d:!1};try{t.call(e,s(H,r,1),s(B,r,1))}catch(i){B.call(r,i)}})):(n._v=e,n._s=1,D(n,!1))}catch(r){B.call({_w:n,_d:!1},r)}}};N||(O=function(e){p(this,O,E,"_h"),d(e),r.call(this);try{e(s(H,this,1),s(B,this,1))}catch(t){B.call(this,t)}},r=function(e){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1},r.prototype=n("dcbc")(O.prototype,{then:function(e,t){var n=A(g(this,O));return n.ok="function"!=typeof e||e,n.fail="function"==typeof t&&t,n.domain=T?_.domain:void 0,this._c.push(n),this._a&&this._a.push(n),this._s&&D(this,!1),n.promise},catch:function(e){return this.then(void 0,e)}}),a=function(){var e=new r;this.promise=e,this.resolve=s(H,e,1),this.reject=s(B,e,1)},y.f=A=function(e){return e===O||e===o?new a(e):i(e)}),f(f.G+f.W+f.F*!N,{Promise:O}),n("7f20")(O,E),n("7a56")(E),o=n("8378")[E],f(f.S+f.F*!N,E,{reject:function(e){var t=A(this),n=t.reject;return n(e),t.promise}}),f(f.S+f.F*(c||!N),E,{resolve:function(e){return k(c&&this===o?O:this,e)}}),f(f.S+f.F*!(N&&n("5cc5")((function(e){O.all(e)["catch"](P)}))),E,{all:function(e){var t=this,n=A(t),r=n.resolve,i=n.reject,a=m((function(){var n=[],a=0,o=1;b(e,!1,(function(e){var c=a++,u=!1;n.push(void 0),o++,t.resolve(e).then((function(e){u||(u=!0,n[c]=e,--o||r(n))}),i)})),--o||r(n)}));return a.e&&i(a.v),n.promise},race:function(e){var t=this,n=A(t),r=n.reject,i=m((function(){b(e,!1,(function(e){t.resolve(e).then(n.resolve,r)}))}));return i.e&&r(i.v),n.promise}})},5537:function(e,t,n){var r=n("8378"),i=n("7726"),a="__core-js_shared__",o=i[a]||(i[a]={});(e.exports=function(e,t){return o[e]||(o[e]=void 0!==t?t:{})})("versions",[]).push({version:r.version,mode:n("2d00")?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},5559:function(e,t,n){var r=n("dbdb")("keys"),i=n("62a0");e.exports=function(e){return r[e]||(r[e]=i(e))}},"584a":function(e,t){var n=e.exports={version:"2.6.9"};"number"==typeof __e&&(__e=n)},"5b4e":function(e,t,n){var r=n("36c3"),i=n("b447"),a=n("0fc9");e.exports=function(e){return function(t,n,o){var c,u=r(t),s=i(u.length),l=a(o,s);if(e&&n!=n){while(s>l)if(c=u[l++],c!=c)return!0}else for(;s>l;l++)if((e||l in u)&&u[l]===n)return e||l||0;return!e&&-1}}},"5ca1":function(e,t,n){var r=n("7726"),i=n("8378"),a=n("32e9"),o=n("2aba"),c=n("9b43"),u="prototype",s=function(e,t,n){var l,f,h,d,p=e&s.F,b=e&s.G,g=e&s.S,v=e&s.P,w=e&s.B,y=b?r:g?r[t]||(r[t]={}):(r[t]||{})[u],m=b?i:i[t]||(i[t]={}),x=m[u]||(m[u]={});for(l in b&&(n=t),n)f=!p&&y&&void 0!==y[l],h=(f?y:n)[l],d=w&&f?c(h,r):v&&"function"==typeof h?c(Function.call,h):h,y&&o(y,l,h,e&s.U),m[l]!=h&&a(m,l,d),v&&x[l]!=h&&(x[l]=h)};r.core=i,s.F=1,s.G=2,s.S=4,s.P=8,s.B=16,s.W=32,s.U=64,s.R=128,e.exports=s},"5cc5":function(e,t,n){var r=n("2b4c")("iterator"),i=!1;try{var a=[7][r]();a["return"]=function(){i=!0},Array.from(a,(function(){throw 2}))}catch(o){}e.exports=function(e,t){if(!t&&!i)return!1;var n=!1;try{var a=[7],c=a[r]();c.next=function(){return{done:n=!0}},a[r]=function(){return c},e(a)}catch(o){}return n}},"5d58":function(e,t,n){e.exports=n("d8d6")},"5d73":function(e,t,n){e.exports=n("469f")},"5eda":function(e,t,n){var r=n("5ca1"),i=n("8378"),a=n("79e5");e.exports=function(e,t){var n=(i.Object||{})[e]||Object[e],o={};o[e]=t(n),r(r.S+r.F*a((function(){n(1)})),"Object",o)}},"613b":function(e,t,n){var r=n("5537")("keys"),i=n("ca5a");e.exports=function(e){return r[e]||(r[e]=i(e))}},"626a":function(e,t,n){var r=n("2d95");e.exports=Object("z").propertyIsEnumerable(0)?Object:function(e){return"String"==r(e)?e.split(""):Object(e)}},"62a0":function(e,t){var n=0,r=Math.random();e.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++n+r).toString(36))}},"63b6":function(e,t,n){var r=n("e53d"),i=n("584a"),a=n("d864"),o=n("35e8"),c=n("07e3"),u="prototype",s=function(e,t,n){var l,f,h,d=e&s.F,p=e&s.G,b=e&s.S,g=e&s.P,v=e&s.B,w=e&s.W,y=p?i:i[t]||(i[t]={}),m=y[u],x=p?r:b?r[t]:(r[t]||{})[u];for(l in p&&(n=t),n)f=!d&&x&&void 0!==x[l],f&&c(y,l)||(h=f?x[l]:n[l],y[l]=p&&"function"!=typeof x[l]?n[l]:v&&f?a(h,r):w&&x[l]==h?function(e){var t=function(t,n,r){if(this instanceof e){switch(arguments.length){case 0:return new e;case 1:return new e(t);case 2:return new e(t,n)}return new e(t,n,r)}return e.apply(this,arguments)};return t[u]=e[u],t}(h):g&&"function"==typeof h?a(Function.call,h):h,g&&((y.virtual||(y.virtual={}))[l]=h,e&s.R&&m&&!m[l]&&o(m,l,h)))};s.F=1,s.G=2,s.S=4,s.P=8,s.B=16,s.W=32,s.U=64,s.R=128,e.exports=s},6718:function(e,t,n){var r=n("e53d"),i=n("584a"),a=n("b8e3"),o=n("ccb9"),c=n("d9f6").f;e.exports=function(e){var t=i.Symbol||(i.Symbol=a?{}:r.Symbol||{});"_"==e.charAt(0)||e in t||c(t,e,{value:o.f(e)})}},"67bb":function(e,t,n){e.exports=n("f921")},6821:function(e,t,n){var r=n("626a"),i=n("be13");e.exports=function(e){return r(i(e))}},"69a8":function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},"69d3":function(e,t,n){n("6718")("asyncIterator")},"6a99":function(e,t,n){var r=n("d3f4");e.exports=function(e,t){if(!r(e))return e;var n,i;if(t&&"function"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;if("function"==typeof(n=e.valueOf)&&!r(i=n.call(e)))return i;if(!t&&"function"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;throw TypeError("Can't convert object to primitive value")}},"6abf":function(e,t,n){var r=n("e6f3"),i=n("1691").concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return r(e,i)}},"6b4c":function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},"6c1c":function(e,t,n){n("c367");for(var r=n("e53d"),i=n("35e8"),a=n("481b"),o=n("5168")("toStringTag"),c="CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList".split(","),u=0;u=s?e?"":void 0:(a=c.charCodeAt(u),a<55296||a>56319||u+1===s||(o=c.charCodeAt(u+1))<56320||o>57343?e?c.charAt(u):a:e?c.slice(u,u+2):o-56320+(a-55296<<10)+65536)}}},"765d":function(e,t,n){n("6718")("observable")},7726:function(e,t){var n=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},"77f1":function(e,t,n){var r=n("4588"),i=Math.max,a=Math.min;e.exports=function(e,t){return e=r(e),e<0?i(e+t,0):a(e,t)}},"794b":function(e,t,n){e.exports=!n("8e60")&&!n("294c")((function(){return 7!=Object.defineProperty(n("1ec9")("div"),"a",{get:function(){return 7}}).a}))},"79aa":function(e,t){e.exports=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e}},"79e5":function(e,t){e.exports=function(e){try{return!!e()}catch(t){return!0}}},"7a56":function(e,t,n){"use strict";var r=n("7726"),i=n("86cc"),a=n("9e1e"),o=n("2b4c")("species");e.exports=function(e){var t=r[e];a&&t&&!t[o]&&i.f(t,o,{configurable:!0,get:function(){return this}})}},"7cd6":function(e,t,n){var r=n("40c3"),i=n("5168")("iterator"),a=n("481b");e.exports=n("584a").getIteratorMethod=function(e){if(void 0!=e)return e[i]||e["@@iterator"]||a[r(e)]}},"7d7b":function(e,t,n){var r=n("e4ae"),i=n("7cd6");e.exports=n("584a").getIterator=function(e){var t=i(e);if("function"!=typeof t)throw TypeError(e+" is not iterable!");return r(t.call(e))}},"7e90":function(e,t,n){var r=n("d9f6"),i=n("e4ae"),a=n("c3a1");e.exports=n("8e60")?Object.defineProperties:function(e,t){i(e);var n,o=a(t),c=o.length,u=0;while(c>u)r.f(e,n=o[u++],t[n]);return e}},"7f20":function(e,t,n){var r=n("86cc").f,i=n("69a8"),a=n("2b4c")("toStringTag");e.exports=function(e,t,n){e&&!i(e=n?e:e.prototype,a)&&r(e,a,{configurable:!0,value:t})}},8079:function(e,t,n){var r=n("7726"),i=n("1991").set,a=r.MutationObserver||r.WebKitMutationObserver,o=r.process,c=r.Promise,u="process"==n("2d95")(o);e.exports=function(){var e,t,n,s=function(){var r,i;u&&(r=o.domain)&&r.exit();while(e){i=e.fn,e=e.next;try{i()}catch(a){throw e?n():t=void 0,a}}t=void 0,r&&r.enter()};if(u)n=function(){o.nextTick(s)};else if(!a||r.navigator&&r.navigator.standalone)if(c&&c.resolve){var l=c.resolve(void 0);n=function(){l.then(s)}}else n=function(){i.call(r,s)};else{var f=!0,h=document.createTextNode("");new a(s).observe(h,{characterData:!0}),n=function(){h.data=f=!f}}return function(r){var i={fn:r,next:void 0};t&&(t.next=i),e||(e=i,n()),t=i}}},8378:function(e,t){var n=e.exports={version:"2.6.9"};"number"==typeof __e&&(__e=n)},8436:function(e,t){e.exports=function(){}},"84f2":function(e,t){e.exports={}},"85f2":function(e,t,n){e.exports=n("454f")},"86cc":function(e,t,n){var r=n("cb7c"),i=n("c69a"),a=n("6a99"),o=Object.defineProperty;t.f=n("9e1e")?Object.defineProperty:function(e,t,n){if(r(e),t=a(t,!0),r(n),i)try{return o(e,t,n)}catch(c){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(e[t]=n.value),e}},"8bbf":function(e,t){e.exports=n("2b0e")},"8e60":function(e,t,n){e.exports=!n("294c")((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},"8e6e":function(e,t,n){var r=n("5ca1"),i=n("990b"),a=n("6821"),o=n("11e9"),c=n("f1ae");r(r.S,"Object",{getOwnPropertyDescriptors:function(e){var t,n,r=a(e),u=o.f,s=i(r),l={},f=0;while(s.length>f)n=u(r,t=s[f++]),void 0!==n&&c(l,t,n);return l}})},"8f60":function(e,t,n){"use strict";var r=n("a159"),i=n("aebd"),a=n("45f2"),o={};n("35e8")(o,n("5168")("iterator"),(function(){return this})),e.exports=function(e,t,n){e.prototype=r(o,{next:i(1,n)}),a(e,t+" Iterator")}},9003:function(e,t,n){var r=n("6b4c");e.exports=Array.isArray||function(e){return"Array"==r(e)}},9093:function(e,t,n){var r=n("ce10"),i=n("e11e").concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return r(e,i)}},9138:function(e,t,n){e.exports=n("35e8")},9427:function(e,t,n){var r=n("63b6");r(r.S,"Object",{create:n("a159")})},"95d5":function(e,t,n){var r=n("40c3"),i=n("5168")("iterator"),a=n("481b");e.exports=n("584a").isIterable=function(e){var t=Object(e);return void 0!==t[i]||"@@iterator"in t||a.hasOwnProperty(r(t))}},"990b":function(e,t,n){var r=n("9093"),i=n("2621"),a=n("cb7c"),o=n("7726").Reflect;e.exports=o&&o.ownKeys||function(e){var t=r.f(a(e)),n=i.f;return n?t.concat(n(e)):t}},"9aa9":function(e,t){t.f=Object.getOwnPropertySymbols},"9b43":function(e,t,n){var r=n("d8e8");e.exports=function(e,t,n){if(r(e),void 0===t)return e;switch(n){case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,i){return e.call(t,n,r,i)}}return function(){return e.apply(t,arguments)}}},"9c6c":function(e,t,n){var r=n("2b4c")("unscopables"),i=Array.prototype;void 0==i[r]&&n("32e9")(i,r,{}),e.exports=function(e){i[r][e]=!0}},"9c80":function(e,t){e.exports=function(e){try{return{e:!1,v:e()}}catch(t){return{e:!0,v:t}}}},"9def":function(e,t,n){var r=n("4588"),i=Math.min;e.exports=function(e){return e>0?i(r(e),9007199254740991):0}},"9e1e":function(e,t,n){e.exports=!n("79e5")((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},a159:function(e,t,n){var r=n("e4ae"),i=n("7e90"),a=n("1691"),o=n("5559")("IE_PROTO"),c=function(){},u="prototype",s=function(){var e,t=n("1ec9")("iframe"),r=a.length,i="<",o=">";t.style.display="none",n("32fc").appendChild(t),t.src="javascript:",e=t.contentWindow.document,e.open(),e.write(i+"script"+o+"document.F=Object"+i+"/script"+o),e.close(),s=e.F;while(r--)delete s[u][a[r]];return s()};e.exports=Object.create||function(e,t){var n;return null!==e?(c[u]=r(e),n=new c,c[u]=null,n[o]=e):n=s(),void 0===t?n:i(n,t)}},a25f:function(e,t,n){var r=n("7726"),i=r.navigator;e.exports=i&&i.userAgent||""},a5b8:function(e,t,n){"use strict";var r=n("d8e8");function i(e){var t,n;this.promise=new e((function(e,r){if(void 0!==t||void 0!==n)throw TypeError("Bad Promise constructor");t=e,n=r})),this.resolve=r(t),this.reject=r(n)}e.exports.f=function(e){return new i(e)}},a745:function(e,t,n){e.exports=n("f410")},ac6a:function(e,t,n){for(var r=n("cadf"),i=n("0d58"),a=n("2aba"),o=n("7726"),c=n("32e9"),u=n("84f2"),s=n("2b4c"),l=s("iterator"),f=s("toStringTag"),h=u.Array,d={CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheetList:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},p=i(d),b=0;b0?i(r(e),9007199254740991):0}},b8e3:function(e,t){e.exports=!0},bcaa:function(e,t,n){var r=n("cb7c"),i=n("d3f4"),a=n("a5b8");e.exports=function(e,t){if(r(e),i(t)&&t.constructor===e)return t;var n=a.f(e),o=n.resolve;return o(t),n.promise}},be13:function(e,t){e.exports=function(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e}},bf0b:function(e,t,n){var r=n("355d"),i=n("aebd"),a=n("36c3"),o=n("1bc3"),c=n("07e3"),u=n("794b"),s=Object.getOwnPropertyDescriptor;t.f=n("8e60")?s:function(e,t){if(e=a(e),t=o(t,!0),u)try{return s(e,t)}catch(n){}if(c(e,t))return i(!r.f.call(e,t),e[t])}},c207:function(e,t){},c366:function(e,t,n){var r=n("6821"),i=n("9def"),a=n("77f1");e.exports=function(e){return function(t,n,o){var c,u=r(t),s=i(u.length),l=a(o,s);if(e&&n!=n){while(s>l)if(c=u[l++],c!=c)return!0}else for(;s>l;l++)if((e||l in u)&&u[l]===n)return e||l||0;return!e&&-1}}},c367:function(e,t,n){"use strict";var r=n("8436"),i=n("50ed"),a=n("481b"),o=n("36c3");e.exports=n("30f1")(Array,"Array",(function(e,t){this._t=o(e),this._i=0,this._k=t}),(function(){var e=this._t,t=this._k,n=this._i++;return!e||n>=e.length?(this._t=void 0,i(1)):i(0,"keys"==t?n:"values"==t?e[n]:[n,e[n]])}),"values"),a.Arguments=a.Array,r("keys"),r("values"),r("entries")},c3a1:function(e,t,n){var r=n("e6f3"),i=n("1691");e.exports=Object.keys||function(e){return r(e,i)}},c69a:function(e,t,n){e.exports=!n("9e1e")&&!n("79e5")((function(){return 7!=Object.defineProperty(n("230e")("div"),"a",{get:function(){return 7}}).a}))},c8ba:function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(r){"object"===typeof window&&(n=window)}e.exports=n},c8bb:function(e,t,n){e.exports=n("54a1")},ca5a:function(e,t){var n=0,r=Math.random();e.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++n+r).toString(36))}},cadf:function(e,t,n){"use strict";var r=n("9c6c"),i=n("d53b"),a=n("84f2"),o=n("6821");e.exports=n("01f9")(Array,"Array",(function(e,t){this._t=o(e),this._i=0,this._k=t}),(function(){var e=this._t,t=this._k,n=this._i++;return!e||n>=e.length?(this._t=void 0,i(1)):i(0,"keys"==t?n:"values"==t?e[n]:[n,e[n]])}),"values"),a.Arguments=a.Array,r("keys"),r("values"),r("entries")},cb7c:function(e,t,n){var r=n("d3f4");e.exports=function(e){if(!r(e))throw TypeError(e+" is not an object!");return e}},ccb9:function(e,t,n){t.f=n("5168")},ce10:function(e,t,n){var r=n("69a8"),i=n("6821"),a=n("c366")(!1),o=n("613b")("IE_PROTO");e.exports=function(e,t){var n,c=i(e),u=0,s=[];for(n in c)n!=o&&r(c,n)&&s.push(n);while(t.length>u)r(c,n=t[u++])&&(~a(s,n)||s.push(n));return s}},ce7e:function(e,t,n){var r=n("63b6"),i=n("584a"),a=n("294c");e.exports=function(e,t){var n=(i.Object||{})[e]||Object[e],o={};o[e]=t(n),r(r.S+r.F*a((function(){n(1)})),"Object",o)}},d3f4:function(e,t){e.exports=function(e){return"object"===typeof e?null!==e:"function"===typeof e}},d53b:function(e,t){e.exports=function(e,t){return{value:t,done:!!e}}},d864:function(e,t,n){var r=n("79aa");e.exports=function(e,t,n){if(r(e),void 0===t)return e;switch(n){case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,i){return e.call(t,n,r,i)}}return function(){return e.apply(t,arguments)}}},d8d6:function(e,t,n){n("1654"),n("6c1c"),e.exports=n("ccb9").f("iterator")},d8e8:function(e,t){e.exports=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e}},d9f6:function(e,t,n){var r=n("e4ae"),i=n("794b"),a=n("1bc3"),o=Object.defineProperty;t.f=n("8e60")?Object.defineProperty:function(e,t,n){if(r(e),t=a(t,!0),r(n),i)try{return o(e,t,n)}catch(c){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(e[t]=n.value),e}},dbdb:function(e,t,n){var r=n("584a"),i=n("e53d"),a="__core-js_shared__",o=i[a]||(i[a]={});(e.exports=function(e,t){return o[e]||(o[e]=void 0!==t?t:{})})("versions",[]).push({version:r.version,mode:n("b8e3")?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},dc62:function(e,t,n){n("9427");var r=n("584a").Object;e.exports=function(e,t){return r.create(e,t)}},dcbc:function(e,t,n){var r=n("2aba");e.exports=function(e,t,n){for(var i in t)r(e,i,t[i],n);return e}},e11e:function(e,t){e.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},e4ae:function(e,t,n){var r=n("f772");e.exports=function(e){if(!r(e))throw TypeError(e+" is not an object!");return e}},e53d:function(e,t){var n=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},e6f3:function(e,t,n){var r=n("07e3"),i=n("36c3"),a=n("5b4e")(!1),o=n("5559")("IE_PROTO");e.exports=function(e,t){var n,c=i(e),u=0,s=[];for(n in c)n!=o&&r(c,n)&&s.push(n);while(t.length>u)r(c,n=t[u++])&&(~a(s,n)||s.push(n));return s}},ead6:function(e,t,n){var r=n("f772"),i=n("e4ae"),a=function(e,t){if(i(e),!r(t)&&null!==t)throw TypeError(t+": can't set as prototype!")};e.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(e,t,r){try{r=n("d864")(Function.call,n("bf0b").f(Object.prototype,"__proto__").set,2),r(e,[]),t=!(e instanceof Array)}catch(i){t=!0}return function(e,n){return a(e,n),t?e.__proto__=n:r(e,n),e}}({},!1):void 0),check:a}},ebd6:function(e,t,n){var r=n("cb7c"),i=n("d8e8"),a=n("2b4c")("species");e.exports=function(e,t){var n,o=r(e).constructor;return void 0===o||void 0==(n=r(o)[a])?t:i(n)}},ebfd:function(e,t,n){var r=n("62a0")("meta"),i=n("f772"),a=n("07e3"),o=n("d9f6").f,c=0,u=Object.isExtensible||function(){return!0},s=!n("294c")((function(){return u(Object.preventExtensions({}))})),l=function(e){o(e,r,{value:{i:"O"+ ++c,w:{}}})},f=function(e,t){if(!i(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!a(e,r)){if(!u(e))return"F";if(!t)return"E";l(e)}return e[r].i},h=function(e,t){if(!a(e,r)){if(!u(e))return!0;if(!t)return!1;l(e)}return e[r].w},d=function(e){return s&&p.NEED&&u(e)&&!a(e,r)&&l(e),e},p=e.exports={KEY:r,NEED:!1,fastKey:f,getWeak:h,onFreeze:d}},f1ae:function(e,t,n){"use strict";var r=n("86cc"),i=n("4630");e.exports=function(e,t,n){t in e?r.f(e,t,i(0,n)):e[t]=n}},f410:function(e,t,n){n("1af6"),e.exports=n("584a").Array.isArray},f605:function(e,t){e.exports=function(e,t,n,r){if(!(e instanceof t)||void 0!==r&&r in e)throw TypeError(n+": incorrect invocation!");return e}},f6fd:function(e,t){(function(e){var t="currentScript",n=e.getElementsByTagName("script");t in e||Object.defineProperty(e,t,{get:function(){try{throw new Error}catch(r){var e,t=(/.*at [^\(]*\((.*):.+:.+\)$/gi.exec(r.stack)||[!1])[1];for(e in n)if(n[e].src==t||"interactive"==n[e].readyState)return n[e];return null}}})})(document)},f772:function(e,t){e.exports=function(e){return"object"===typeof e?null!==e:"function"===typeof e}},f7fe:function(e,t,n){(function(t){var n="Expected a function",r=NaN,i="[object Symbol]",a=/^\s+|\s+$/g,o=/^[-+]0x[0-9a-f]+$/i,c=/^0b[01]+$/i,u=/^0o[0-7]+$/i,s=parseInt,l="object"==typeof t&&t&&t.Object===Object&&t,f="object"==typeof self&&self&&self.Object===Object&&self,h=l||f||Function("return this")(),d=Object.prototype,p=d.toString,b=Math.max,g=Math.min,v=function(){return h.Date.now()};function w(e,t,r){var i,a,o,c,u,s,l=0,f=!1,h=!1,d=!0;if("function"!=typeof e)throw new TypeError(n);function p(t){var n=i,r=a;return i=a=void 0,l=t,c=e.apply(r,n),c}function w(e){return l=e,u=setTimeout(E,t),f?p(e):c}function m(e){var n=e-s,r=e-l,i=t-n;return h?g(i,o-r):i}function x(e){var n=e-s,r=e-l;return void 0===s||n>=t||n<0||h&&r>=o}function E(){var e=v();if(x(e))return S(e);u=setTimeout(E,m(e))}function S(e){return u=void 0,d&&i?p(e):(i=a=void 0,c)}function _(){void 0!==u&&clearTimeout(u),l=0,i=s=a=u=void 0}function C(){return void 0===u?c:S(v())}function j(){var e=v(),n=x(e);if(i=arguments,a=this,s=e,n){if(void 0===u)return w(s);if(h)return u=setTimeout(E,t),p(s)}return void 0===u&&(u=setTimeout(E,t)),c}return t=k(t)||0,y(r)&&(f=!!r.leading,h="maxWait"in r,o=h?b(k(r.maxWait)||0,t):o,d="trailing"in r?!!r.trailing:d),j.cancel=_,j.flush=C,j}function y(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function m(e){return!!e&&"object"==typeof e}function x(e){return"symbol"==typeof e||m(e)&&p.call(e)==i}function k(e){if("number"==typeof e)return e;if(x(e))return r;if(y(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=y(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(a,"");var n=c.test(e);return n||u.test(e)?s(e.slice(2),n?2:8):o.test(e)?r:+e}e.exports=w}).call(this,n("c8ba"))},f921:function(e,t,n){n("014b"),n("c207"),n("69d3"),n("765d"),e.exports=n("584a").Symbol},fa5b:function(e,t,n){e.exports=n("5537")("native-function-to-string",Function.toString)},fa99:function(e,t,n){n("0293"),e.exports=n("584a").Object.getPrototypeOf},fab2:function(e,t,n){var r=n("7726").document;e.exports=r&&r.documentElement},fb15:function(e,t,n){"use strict";var r;(n.r(t),"undefined"!==typeof window)&&(n("f6fd"),(r=window.document.currentScript)&&(r=r.src.match(/(.+\/)[^/]+\.js(\?.*)?$/))&&(n.p=r[1]));var i=n("a745"),a=n.n(i);function o(e){if(a()(e))return e}var c=n("5d73"),u=n.n(c),s=n("c8bb"),l=n.n(s);function f(e,t){if(l()(Object(e))||"[object Arguments]"===Object.prototype.toString.call(e)){var n=[],r=!0,i=!1,a=void 0;try{for(var o,c=u()(e);!(r=(o=c.next()).done);r=!0)if(n.push(o.value),t&&n.length===t)break}catch(s){i=!0,a=s}finally{try{r||null==c["return"]||c["return"]()}finally{if(i)throw a}}return n}}function h(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}function d(e,t){return o(e)||f(e,t)||h()}n("ac6a"),n("cadf"),n("ffc1");function p(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var b=n("85f2"),g=n.n(b);function v(e,t){for(var n=0;n=0;c--)(i=e[c])&&(o=(a<3?i(o):a>3?i(t,n,o):i(t,n))||o);return a>3&&o&&Object.defineProperty(t,n,o),o}var R=n("8bbf"),B=n.n(R),H="undefined"!==typeof Reflect&&Reflect.defineMetadata&&Reflect.getOwnMetadataKeys;function G(e,t){z(e,t),Object.getOwnPropertyNames(t.prototype).forEach((function(n){z(e.prototype,t.prototype,n)})),Object.getOwnPropertyNames(t).forEach((function(n){z(e,t,n)}))}function z(e,t,n){var r=n?Reflect.getOwnMetadataKeys(t,n):Reflect.getOwnMetadataKeys(t);r.forEach((function(r){var i=n?Reflect.getOwnMetadata(r,t,n):Reflect.getOwnMetadata(r,t);n?Reflect.defineMetadata(r,i,e,n):Reflect.defineMetadata(r,i,e)}))}var Y={__proto__:[]},F=Y instanceof Array;function $(e){return function(t,n,r){var i="function"===typeof t?t:t.constructor;i.__decorators__||(i.__decorators__=[]),"number"!==typeof r&&(r=void 0),i.__decorators__.push((function(t){return e(t,n,r)}))}}function V(e){var t=typeof e;return null==e||"object"!==t&&"function"!==t}function q(e,t){var n=t.prototype._init;t.prototype._init=function(){var t=this,n=Object.getOwnPropertyNames(e);if(e.$options.props)for(var r in e.$options.props)e.hasOwnProperty(r)||n.push(r);n.forEach((function(n){"_"!==n.charAt(0)&&Object.defineProperty(t,n,{get:function(){return e[n]},set:function(t){e[n]=t},configurable:!0})}))};var r=new t;t.prototype._init=n;var i={};return Object.keys(r).forEach((function(e){void 0!==r[e]&&(i[e]=r[e])})),i}var U=["data","beforeCreate","created","beforeMount","mounted","beforeDestroy","destroyed","beforeUpdate","updated","activated","deactivated","render","errorCaptured","serverPrefetch"];function W(e,t){void 0===t&&(t={}),t.name=t.name||e._componentTag||e.name;var n=e.prototype;Object.getOwnPropertyNames(n).forEach((function(e){if("constructor"!==e)if(U.indexOf(e)>-1)t[e]=n[e];else{var r=Object.getOwnPropertyDescriptor(n,e);void 0!==r.value?"function"===typeof r.value?(t.methods||(t.methods={}))[e]=r.value:(t.mixins||(t.mixins=[])).push({data:function(){var t;return t={},t[e]=r.value,t}}):(r.get||r.set)&&((t.computed||(t.computed={}))[e]={get:r.get,set:r.set})}})),(t.mixins||(t.mixins=[])).push({data:function(){return q(this,e)}});var r=e.__decorators__;r&&(r.forEach((function(e){return e(t)})),delete e.__decorators__);var i=Object.getPrototypeOf(e.prototype),a=i instanceof B.a?i.constructor:B.a,o=a.extend(t);return X(o,e,a),H&&G(o,e),o}var K={prototype:!0,arguments:!0,callee:!0,caller:!0};function X(e,t,n){Object.getOwnPropertyNames(t).forEach((function(r){if(!K[r]){var i=Object.getOwnPropertyDescriptor(e,r);if(!i||i.configurable){var a=Object.getOwnPropertyDescriptor(t,r);if(!F){if("cid"===r)return;var o=Object.getOwnPropertyDescriptor(n,r);if(!V(a.value)&&o&&o.value===a.value)return}0,Object.defineProperty(e,r,a)}}}))}function Q(e){return"function"===typeof e?W(e):function(t){return W(t,e)}}Q.registerHooks=function(e){U.push.apply(U,e)};var Z=Q;function J(e){return $((function(t,n){"undefined"===typeof t.inject&&(t.inject={}),Array.isArray(t.inject)||(t.inject[n]=e||n)}))}function ee(e){return $((function(t,n){var r=t.provide;if("function"!==typeof r||!r.managed){var i=t.provide;r=t.provide=function(){var e=Object.create(("function"===typeof i?i.call(this):i)||null);for(var t in r.managed)e[r.managed[t]]=this[t];return e},r.managed={}}r.managed[n]=e||n}))}var te="undefined"!==typeof Reflect&&"undefined"!==typeof Reflect.getMetadata;function ne(e,t,n){te&&(Array.isArray(e)||"function"===typeof e||"undefined"!==typeof e.type||(e.type=Reflect.getMetadata("design:type",t,n)))}function re(e){return void 0===e&&(e={}),function(t,n){ne(e,t,n),$((function(t,n){(t.props||(t.props={}))[n]=e}))(t,n)}}function ie(e,t){void 0===t&&(t={});var n=t.deep,r=void 0!==n&&n,i=t.immediate,a=void 0!==i&&i;return $((function(t,n){"object"!==typeof t.watch&&(t.watch=Object.create(null));var i=t.watch;"object"!==typeof i[e]||Array.isArray(i[e])?"undefined"===typeof i[e]&&(i[e]=[]):i[e]=[i[e]],i[e].push({handler:n,deep:r,immediate:a})}))}var ae=function(e){function t(){var e;return p(this,t),e=C(this,A(t).call(this)),e.instance=void 0,e.selector="",e.id=e.definition.data.id,e.id&&(e.selector="#".concat(e.id)),e.cy.then(e.configure),e}return L(t,e),w(t,[{key:"configure",value:function(e){this.instance=e;var t=this.add();this.id||(this.id=t.data().id,this.selector="#".concat(this.id))}},{key:"add",value:function(){for(var e=this,t=this.instance,n=function(n,r){return t.on(n,e.selector,r)},r=function(){var e=d(a[i],2),t=e[0],r=e[1];Array.isArray(r)?r.map((function(e){return n(t,e)})):n(t,r)},i=0,a=Object.entries(this.$listeners);i0&&void 0!==arguments[0]?arguments[0]:null,t=this.instance,n=t.getElementById(this.id);n.position(JSON.parse(JSON.stringify(e)))}},{key:"render",value:function(e){}},{key:"eleData",get:function(){return this.definition.data}},{key:"position",get:function(){return this.definition.position}}]),t}(B.a);M([re()],ae.prototype,"definition",void 0),M([J()],ae.prototype,"cy",void 0),M([re({default:!1})],ae.prototype,"sync",void 0),M([ie("eleData",{deep:!0})],ae.prototype,"onDataChange",null),M([ie("position",{deep:!0})],ae.prototype,"onPositionChange",null),ae=M([Z({})],ae);var oe=ae;n("8e6e"),n("456d");function ce(e,t,n){return t in e?g()(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}n("551c");var ue=n("44e1"),se=n.n(ue);function le(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function fe(e){for(var t=1;t=n.length?{value:void 0,done:!0}:(e=r(n,i),t.index+=e.length,{value:e,done:!1})}))},"3f8c":function(e,t){e.exports={}},"428f":function(e,t,n){var r=n("da84");e.exports=r},4362:function(e,t,n){t.nextTick=function(e){var t=Array.prototype.slice.call(arguments);t.shift(),setTimeout((function(){e.apply(null,t)}),0)},t.platform=t.arch=t.execPath=t.title="browser",t.pid=1,t.browser=!0,t.env={},t.argv=[],t.binding=function(e){throw new Error("No such module. (Possibly not yet loaded)")},function(){var e,r="/";t.cwd=function(){return r},t.chdir=function(t){e||(e=n("df7c")),r=e.resolve(t,r)}}(),t.exit=t.kill=t.umask=t.dlopen=t.uptime=t.memoryUsage=t.uvCounters=function(){},t.features={}},"44ad":function(e,t,n){var r=n("d039"),i=n("c6b6"),a="".split;e.exports=r((function(){return!Object("z").propertyIsEnumerable(0)}))?function(e){return"String"==i(e)?a.call(e,""):Object(e)}:Object},"44d2":function(e,t,n){var r=n("b622"),i=n("7c73"),a=n("9bf2"),o=r("unscopables"),c=Array.prototype;void 0==c[o]&&a.f(c,o,{configurable:!0,value:i(null)}),e.exports=function(e){c[o][e]=!0}},"44de":function(e,t,n){var r=n("da84");e.exports=function(e,t){var n=r.console;n&&n.error&&(1===arguments.length?n.error(e):n.error(e,t))}},"44e7":function(e,t,n){var r=n("861d"),i=n("c6b6"),a=n("b622"),o=a("match");e.exports=function(e){var t;return r(e)&&(void 0!==(t=e[o])?!!t:"RegExp"==i(e))}},"466d":function(e,t,n){"use strict";var r=n("d784"),i=n("825a"),a=n("50c4"),o=n("1d80"),c=n("8aa5"),u=n("14c3");r("match",1,(function(e,t,n){return[function(t){var n=o(this),r=void 0==t?void 0:t[e];return void 0!==r?r.call(t,n):new RegExp(t)[e](String(n))},function(e){var r=n(t,e,this);if(r.done)return r.value;var o=i(e),s=String(this);if(!o.global)return u(o,s);var l=o.unicode;o.lastIndex=0;var f,h=[],d=0;while(null!==(f=u(o,s))){var p=String(f[0]);h[d]=p,""===p&&(o.lastIndex=c(s,a(o.lastIndex),l)),d++}return 0===d?null:h}]}))},"467f":function(e,t,n){"use strict";var r=n("2d83");e.exports=function(e,t,n){var i=n.config.validateStatus;n.status&&i&&!i(n.status)?t(r("Request failed with status code "+n.status,n.config,null,n.request,n)):e(n)}},4840:function(e,t,n){var r=n("825a"),i=n("1c0b"),a=n("b622"),o=a("species");e.exports=function(e,t){var n,a=r(e).constructor;return void 0===a||void 0==(n=r(a)[o])?t:i(n)}},4930:function(e,t,n){var r=n("605d"),i=n("2d00"),a=n("d039");e.exports=!!Object.getOwnPropertySymbols&&!a((function(){return!Symbol.sham&&(r?38===i:i>37&&i<41)}))},"4a7b":function(e,t,n){"use strict";var r=n("c532");e.exports=function(e,t){t=t||{};var n={},i=["url","method","data"],a=["headers","auth","proxy","params"],o=["baseURL","transformRequest","transformResponse","paramsSerializer","timeout","timeoutMessage","withCredentials","adapter","responseType","xsrfCookieName","xsrfHeaderName","onUploadProgress","onDownloadProgress","decompress","maxContentLength","maxBodyLength","maxRedirects","transport","httpAgent","httpsAgent","cancelToken","socketPath","responseEncoding"],c=["validateStatus"];function u(e,t){return r.isPlainObject(e)&&r.isPlainObject(t)?r.merge(e,t):r.isPlainObject(t)?r.merge({},t):r.isArray(t)?t.slice():t}function s(i){r.isUndefined(t[i])?r.isUndefined(e[i])||(n[i]=u(void 0,e[i])):n[i]=u(e[i],t[i])}r.forEach(i,(function(e){r.isUndefined(t[e])||(n[e]=u(void 0,t[e]))})),r.forEach(a,s),r.forEach(o,(function(i){r.isUndefined(t[i])?r.isUndefined(e[i])||(n[i]=u(void 0,e[i])):n[i]=u(void 0,t[i])})),r.forEach(c,(function(r){r in t?n[r]=u(e[r],t[r]):r in e&&(n[r]=u(void 0,e[r]))}));var l=i.concat(a).concat(o).concat(c),f=Object.keys(e).concat(Object.keys(t)).filter((function(e){return-1===l.indexOf(e)}));return r.forEach(f,s),n}},"4d64":function(e,t,n){var r=n("fc6a"),i=n("50c4"),a=n("23cb"),o=function(e){return function(t,n,o){var c,u=r(t),s=i(u.length),l=a(o,s);if(e&&n!=n){while(s>l)if(c=u[l++],c!=c)return!0}else for(;s>l;l++)if((e||l in u)&&u[l]===n)return e||l||0;return!e&&-1}};e.exports={includes:o(!0),indexOf:o(!1)}},"4de4":function(e,t,n){"use strict";var r=n("23e7"),i=n("b727").filter,a=n("1dde"),o=a("filter");r({target:"Array",proto:!0,forced:!o},{filter:function(e){return i(this,e,arguments.length>1?arguments[1]:void 0)}})},"4df4":function(e,t,n){"use strict";var r=n("0366"),i=n("7b0b"),a=n("9bdd"),o=n("e95a"),c=n("50c4"),u=n("8418"),s=n("35a1");e.exports=function(e){var t,n,l,f,h,d,p=i(e),b="function"==typeof this?this:Array,g=arguments.length,v=g>1?arguments[1]:void 0,w=void 0!==v,y=s(p),m=0;if(w&&(v=r(v,g>2?arguments[2]:void 0,2)),void 0==y||b==Array&&o(y))for(t=c(p.length),n=new b(t);t>m;m++)d=w?v(p[m],m):p[m],u(n,m,d);else for(f=y.call(p),h=f.next,n=new b;!(l=h.call(f)).done;m++)d=w?a(f,v,[l.value,m],!0):l.value,u(n,m,d);return n.length=m,n}},"4fad":function(e,t,n){var r=n("23e7"),i=n("6f53").entries;r({target:"Object",stat:!0},{entries:function(e){return i(e)}})},"50c4":function(e,t,n){var r=n("a691"),i=Math.min;e.exports=function(e){return e>0?i(r(e),9007199254740991):0}},5135:function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},5270:function(e,t,n){"use strict";var r=n("c532"),i=n("c401"),a=n("2e67"),o=n("2444");function c(e){e.cancelToken&&e.cancelToken.throwIfRequested()}e.exports=function(e){c(e),e.headers=e.headers||{},e.data=i(e.data,e.headers,e.transformRequest),e.headers=r.merge(e.headers.common||{},e.headers[e.method]||{},e.headers),r.forEach(["delete","get","head","post","put","patch","common"],(function(t){delete e.headers[t]}));var t=e.adapter||o.adapter;return t(e).then((function(t){return c(e),t.data=i(t.data,t.headers,e.transformResponse),t}),(function(t){return a(t)||(c(e),t&&t.response&&(t.response.data=i(t.response.data,t.response.headers,e.transformResponse))),Promise.reject(t)}))}},5319:function(e,t,n){"use strict";var r=n("d784"),i=n("825a"),a=n("50c4"),o=n("a691"),c=n("1d80"),u=n("8aa5"),s=n("0cb2"),l=n("14c3"),f=Math.max,h=Math.min,d=function(e){return void 0===e?e:String(e)};r("replace",2,(function(e,t,n,r){var p=r.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,b=r.REPLACE_KEEPS_$0,g=p?"$":"$0";return[function(n,r){var i=c(this),a=void 0==n?void 0:n[e];return void 0!==a?a.call(n,i,r):t.call(String(i),n,r)},function(e,r){if(!p&&b||"string"===typeof r&&-1===r.indexOf(g)){var c=n(t,e,this,r);if(c.done)return c.value}var v=i(e),w=String(this),y="function"===typeof r;y||(r=String(r));var m=v.global;if(m){var x=v.unicode;v.lastIndex=0}var k=[];while(1){var E=l(v,w);if(null===E)break;if(k.push(E),!m)break;var S=String(E[0]);""===S&&(v.lastIndex=u(w,a(v.lastIndex),x))}for(var _="",C=0,j=0;j=C&&(_+=w.slice(C,T)+D,C=T+O.length)}return _+w.slice(C)}]}))},5530:function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));n("b64b"),n("a4d3"),n("4de4"),n("e439"),n("159b"),n("dbb4");function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function a(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,c=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return o=e.done,e},e:function(e){c=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(c)throw a}}}}function v(e){return Array.isArray(e)}function w(e){return"undefined"===typeof e}function y(e){return"object"===o(e)}function m(e){return"object"===o(e)&&null!==e}function x(e){return"function"===typeof e}function k(e){return"string"===typeof e}function E(){try{return!w(window)}catch(e){return!1}}var S=E(),_=S?window:e,C=_.console||{};function j(e){C&&C.warn&&C.warn(e)}var O=function(){return j("This vue app/component has no vue-meta configuration")},T={title:void 0,titleChunk:"",titleTemplate:"%s",htmlAttrs:{},bodyAttrs:{},headAttrs:{},base:[],link:[],meta:[],style:[],script:[],noscript:[],__dangerouslyDisableSanitizers:[],__dangerouslyDisableSanitizersByTagID:{}},P="_vueMeta",A="metaInfo",N="data-vue-meta",I="data-vue-meta-server-rendered",D="vmid",L="template",M="content",R="ssr",B=10,H=!0,G={keyName:A,attribute:N,ssrAttribute:I,tagIDKeyName:D,contentKeyName:M,metaTemplateKeyName:L,waitOnDestroyed:H,debounceWait:B,ssrAppId:R},z=Object.keys(T),Y=[z[12],z[13]],F=[z[1],z[2],"changed"].concat(Y),$=[z[3],z[4],z[5]],V=["link","style","script"],q=["base","meta","link"],U=["noscript","script","style"],W=["innerHTML","cssText","json"],K=["once","skip","template"],X=["body","pbody"],Q=["allowfullscreen","amp","amp-boilerplate","async","autofocus","autoplay","checked","compact","controls","declare","default","defaultchecked","defaultmuted","defaultselected","defer","disabled","enabled","formnovalidate","hidden","indeterminate","inert","ismap","itemscope","loop","multiple","muted","nohref","noresize","noshade","novalidate","nowrap","open","pauseonexit","readonly","required","reversed","scoped","seamless","selected","sortable","truespeed","typemustmatch","visible"],Z=null;function J(e,t,n){var r=e.debounceWait;t[P].initialized||!t[P].initializing&&"watcher"!==n||(t[P].initialized=null),t[P].initialized&&!t[P].pausing&&ee((function(){t.$meta().refresh()}),r)}function ee(e,t){if(t=void 0===t?10:t,t)return clearTimeout(Z),Z=setTimeout((function(){e()}),t),Z;e()}function te(e,t,n){if(Array.prototype.find)return e.find(t,n);for(var r=0;r/g,">"],[/"/g,"""],[/'/g,"'"]],ke=[[/&/g,"&"],[//g,">"],[/"/g,'"'],[/'/g,"'"]];function Ee(e,t,n,r){var i=t.tagIDKeyName,a=n.doEscape,o=void 0===a?function(e){return e}:a,c={};for(var u in e){var s=e[u];if(ie(F,u))c[u]=s;else{var l=Y[0];if(n[l]&&ie(n[l],u))c[u]=s;else{var f=e[i];if(f&&(l=Y[1],n[l]&&n[l][f]&&ie(n[l][f],u)))c[u]=s;else if(k(s)?c[u]=o(s):v(s)?c[u]=s.map((function(e){return m(e)?Ee(e,t,n,!0):o(e)})):m(s)?c[u]=Ee(s,t,n,!0):c[u]=s,r){var h=o(u);u!==h&&(c[h]=c[u],delete c[u])}}}}return c}function Se(e,t,n){n=n||[];var r={doEscape:function(e){return n.reduce((function(e,t){return e.replace(t[0],t[1])}),e)}};return Y.forEach((function(e,n){if(0===n)me(t,e);else if(1===n)for(var i in t[e])me(t[e],i);r[e]=t[e]})),Ee(t,e,r)}function _e(e,t,n,r){var i=e.component,a=e.metaTemplateKeyName,o=e.contentKeyName;return!0!==n&&!0!==t[a]&&(w(n)&&t[a]&&(n=t[a],t[a]=!0),n?(w(r)&&(r=t[o]),t[o]=x(n)?n.call(i,r):n.replace(/%s/g,r),!0):(delete t[a],!1))}function Ce(e,t,n){var r=e.component,i=e.tagIDKeyName,a=e.metaTemplateKeyName,o=e.contentKeyName,c=[];return t.length||n.length?(t.forEach((function(e,t){if(e[i]){var u=ne(n,(function(t){return t[i]===e[i]})),s=n[u];if(-1!==u){if(o in s&&void 0===s[o]||"innerHTML"in s&&void 0===s.innerHTML)return c.push(e),void n.splice(u,1);if(null!==s[o]&&null!==s.innerHTML){var l=e[a];if(l){var f=s[a];if(!f)return _e({component:r,metaTemplateKeyName:a,contentKeyName:o},s,l),void(s.template=!0);s[o]||_e({component:r,metaTemplateKeyName:a,contentKeyName:o},s,void 0,e[o])}}else n.splice(u,1)}else c.push(e)}else c.push(e)})),c.concat(n)):c}var je=!1;function Oe(e,t,n){return n=n||{},void 0===t.title&&delete t.title,$.forEach((function(e){if(t[e])for(var n in t[e])n in t[e]&&void 0===t[e][n]&&(ie(Q,n)&&!je&&(j("VueMeta: Please note that since v2 the value undefined is not used to indicate boolean attributes anymore, see migration guide for details"),je=!0),delete t[e][n])})),i()(e,t,{arrayMerge:function(e,t){return Ce(n,e,t)}})}function Te(e,t){return Pe(e||{},t,T)}function Pe(e,t,n){if(n=n||{},t._inactive)return n;e=e||{};var r=e,i=r.keyName,a=t.$metaInfo,o=t.$options,c=t.$children;if(o[i]){var u=a||o[i];y(u)&&(n=Oe(n,u,e))}return c.length&&c.forEach((function(t){he(t)&&(n=Pe(e,t,n))})),n}var Ae=[];function Ne(e){return"complete"===(e||document).readyState}function Ie(e,t){1===arguments.length&&(t=e,e=""),Ae.push([e,t])}function De(e,t,n,r){var i=e.tagIDKeyName,a=!1;return n.forEach((function(e){e[i]&&e.callback&&(a=!0,Ie("".concat(t,"[data-").concat(i,'="').concat(e[i],'"]'),e.callback))})),r&&a?Le():a}function Le(){Ne()?Me():document.onreadystatechange=function(){Me()}}function Me(e){Ae.forEach((function(t){var n=t[0],r=t[1],i="".concat(n,'[onload="this.__vm_l=1"]'),a=[];e||(a=re(ae(i))),e&&e.matches(i)&&(a=[e]),a.forEach((function(e){if(!e.__vm_cb){var t=function(){e.__vm_cb=!0,le(e,"onload"),r(e)};e.__vm_l?t():e.__vm_ev||(e.__vm_ev=!0,e.addEventListener("load",t))}}))}))}var Re,Be={};function He(e,t,n,r,i){var a=t||{},o=a.attribute,c=i.getAttribute(o);c&&(Be[n]=JSON.parse(decodeURI(c)),le(i,o));var u=Be[n]||{},s=[];for(var l in u)void 0!==u[l]&&e in u[l]&&(s.push(l),r[l]||delete u[l][e]);for(var f in r){var h=u[f];h&&h[e]===r[f]||(s.push(f),void 0!==r[f]&&(u[f]=u[f]||{},u[f][e]=r[f]))}for(var d=0,p=s;d1){var d=[];r=r.filter((function(e){var t=JSON.stringify(e),n=!ie(d,t);return d.push(t),n}))}r.forEach((function(t){if(!t.skip){var r=document.createElement(n);t.once||r.setAttribute(c,e),Object.keys(t).forEach((function(e){if(!ie(K,e))if("innerHTML"!==e)if("json"!==e)if("cssText"!==e)if("callback"!==e){var n=ie(s,e)?"data-".concat(e):e,i=ie(Q,e);if(!i||t[e]){var a=i?"":t[e];r.setAttribute(n,a)}}else r.onload=function(){return t[e](r)};else r.styleSheet?r.styleSheet.cssText=t.cssText:r.appendChild(document.createTextNode(t.cssText));else r.innerHTML=JSON.stringify(t.json);else r.innerHTML=t.innerHTML}));var i,a=h[ce(t)],o=a.some((function(e,t){return i=t,r.isEqualNode(e)}));o&&(i||0===i)?a.splice(i,1):l.push(r)}}));var p=[];for(var b in h)Array.prototype.push.apply(p,h[b]);return p.forEach((function(e){e.parentNode.removeChild(e)})),l.forEach((function(e){e.hasAttribute("data-body")?a.appendChild(e):e.hasAttribute("data-pbody")?a.insertBefore(e,a.firstChild):i.appendChild(e)})),{oldTags:p,newTags:l}}function Ye(e,t,n){t=t||{};var r=t,i=r.ssrAttribute,a=r.ssrAppId,o={},c=oe(o,"html");if(e===a&&c.hasAttribute(i)){le(c,i);var u=!1;return V.forEach((function(e){n[e]&&De(t,e,n[e])&&(u=!0)})),u&&Le(),!1}var s={},l={};for(var f in n)if(!ie(F,f))if("title"!==f){if(ie($,f)){var h=f.substr(0,4);He(e,t,f,n[f],oe(o,h))}else if(v(n[f])){var d=ze(e,t,f,n[f],oe(o,"head"),oe(o,"body")),p=d.oldTags,b=d.newTags;b.length&&(s[f]=b,l[f]=p)}}else Ge(n.title);return{tagsAdded:s,tagsRemoved:l}}function Fe(e,t,n){return{set:function(r){return $e(e,t,n,r)},remove:function(){return Ve(e,t,n)}}}function $e(e,t,n,r){if(e&&e.$el)return Ye(t,n,r);Re=Re||{},Re[t]=r}function Ve(e,t,n){if(e&&e.$el){var r,i={},a=g($);try{for(a.s();!(r=a.n()).done;){var o=r.value,c=o.substr(0,4);He(t,n,o,{},oe(i,c))}}catch(u){a.e(u)}finally{a.f()}return se(n,t)}Re[t]&&(delete Re[t],Ue())}function qe(){return Re}function Ue(e){!e&&Object.keys(Re).length||(Re=void 0)}function We(e,t,n,r){e=e||{},n=n||[];var i=e,a=i.tagIDKeyName;return t.title&&(t.titleChunk=t.title),t.titleTemplate&&"%s"!==t.titleTemplate&&_e({component:r,contentKeyName:"title"},t,t.titleTemplate,t.titleChunk||""),t.base&&(t.base=Object.keys(t.base).length?[t.base]:[]),t.meta&&(t.meta=t.meta.filter((function(e,t,n){var r=!!e[a];if(!r)return!0;var i=t===ne(n,(function(t){return t[a]===e[a]}));return i})),t.meta.forEach((function(t){return _e(e,t)}))),Se(e,t,n)}function Ke(e,t){if(t=t||{},!e[P])return O(),{};var n=Te(t,e),r=We(t,n,ke,e),i=e[P].appId,a=Ye(i,t,r);a&&x(r.changed)&&(r.changed(r,a.tagsAdded,a.tagsRemoved),a={addedTags:a.tagsAdded,removedTags:a.tagsRemoved});var o=qe();if(o){for(var c in o)Ye(c,t,o[c]),delete o[c];Ue(!0)}return{vm:e,metaInfo:r,tags:a}}function Xe(e,t,n,r){var i=r.addSsrAttribute,a=e||{},o=a.attribute,c=a.ssrAttribute,u="";for(var s in n){var f=n[s],h=[];for(var d in f)h.push.apply(h,l([].concat(f[d])));h.length&&(u+=Q.includes(s)&&h.some(Boolean)?"".concat(s):"".concat(s,'="').concat(h.join(" "),'"'),u+=" ")}return u&&(u+="".concat(o,'="').concat(encodeURI(JSON.stringify(n)),'"')),"htmlAttrs"===t&&i?"".concat(c).concat(u?" ":"").concat(u):u}function Qe(e,t,n,r){var i=r||{},a=i.ln;return n?"<".concat(t,">").concat(n,"").concat(a?"\n":""):""}function Ze(e,t,n,r){var i=e||{},a=i.ssrAppId,o=i.attribute,c=i.tagIDKeyName,u=r||{},s=u.appId,f=u.isSSR,h=void 0===f||f,d=u.body,p=void 0!==d&&d,b=u.pbody,g=void 0!==b&&b,v=u.ln,w=void 0!==v&&v,y=[c].concat(l(X));return n&&n.length?n.reduce((function(e,n){if(n.skip)return e;var r=Object.keys(n);if(0===r.length)return e;if(Boolean(n.body)!==p||Boolean(n.pbody)!==g)return e;var i=n.once?"":" ".concat(o,'="').concat(s||(!1===h?"1":a),'"');for(var c in n)if(!W.includes(c)&&!K.includes(c))if("callback"!==c){var u="";y.includes(c)&&(u="data-");var l=!u&&Q.includes(c);l&&!n[c]||(i+=" ".concat(u).concat(c)+(l?"":'="'.concat(n[c],'"')))}else i+=' onload="this.__vm_l=1"';var f="";n.json&&(f=JSON.stringify(n.json));var d=n.innerHTML||n.cssText||f,b=!q.includes(t),v=b&&U.includes(t);return"".concat(e,"<").concat(t).concat(i).concat(!v&&b?"/":"",">")+(v?"".concat(d,""):"")+(w?"\n":"")}),""):""}function Je(e,t,n){var r={data:t,extraData:void 0,addInfo:function(e,t){this.extraData=this.extraData||{},this.extraData[e]=t},callInjectors:function(e){var t=this.injectors;return(e.body||e.pbody?"":t.title.text(e))+t.meta.text(e)+t.base.text(e)+t.link.text(e)+t.style.text(e)+t.script.text(e)+t.noscript.text(e)},injectors:{head:function(e){return r.callInjectors(s(s({},n),{},{ln:e}))},bodyPrepend:function(e){return r.callInjectors(s(s({},n),{},{ln:e,pbody:!0}))},bodyAppend:function(e){return r.callInjectors(s(s({},n),{},{ln:e,body:!0}))}}},i=function(t){if(F.includes(t))return"continue";r.injectors[t]={text:function(i){var a=!0===i;if(i=s(s({addSsrAttribute:a},n),i),"title"===t)return Qe(e,t,r.data[t],i);if($.includes(t)){var o={},u=r.data[t];if(u){var l=!1===i.isSSR?"1":e.ssrAppId;for(var f in u)o[f]=c({},l,u[f])}if(r.extraData)for(var h in r.extraData){var d=r.extraData[h][t];if(d)for(var p in d)o[p]=s(s({},o[p]),{},c({},h,d[p]))}return Xe(e,t,o,i)}var b=Ze(e,t,r.data[t],i);if(r.extraData)for(var g in r.extraData){var v=r.extraData[g][t],w=Ze(e,t,v,s({appId:g},i));b="".concat(b).concat(w)}return b}}};for(var a in T)i(a);return r}function et(e,t,n){if(!e[P])return O(),{};var r=Te(t,e),i=We(t,r,xe,e),a=Je(t,i,n),o=qe();if(o){for(var c in o)a.addInfo(c,o[c]),delete o[c];Ue(!0)}return a.injectors}function tt(e){e=e||{};var t=this.$root;return{getOptions:function(){return ye(e)},setOptions:function(n){var r="refreshOnceOnNavigation";n&&n[r]&&(e.refreshOnceOnNavigation=!!n[r],be(t));var i="debounceWait";if(n&&i in n){var a=parseInt(n[i]);isNaN(a)||(e.debounceWait=a)}var o="waitOnDestroyed";n&&o in n&&(e.waitOnDestroyed=!!n[o])},refresh:function(){return Ke(t,e)},inject:function(n){return et(t,e,n)},pause:function(){return de(t)},resume:function(){return pe(t)},addApp:function(n){return Fe(t,n,e)}}}function nt(e,t){t=we(t);var n=We(t,e,xe),r=Je(t,n);return r.injectors}function rt(e,t){e.__vuemeta_installed||(e.__vuemeta_installed=!0,t=we(t),e.prototype.$meta=function(){return tt.call(this,t)},e.mixin(ve(e,t)))}var it={version:a,install:rt,generate:function(e,t){return nt(e,t)},hasMetaInfo:fe};t["a"]=it}).call(this,n("c8ba"))},"5a34":function(e,t,n){var r=n("44e7");e.exports=function(e){if(r(e))throw TypeError("The method doesn't accept regular expressions");return e}},"5c6c":function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},"5f02":function(e,t,n){"use strict";e.exports=function(e){return"object"===typeof e&&!0===e.isAxiosError}},"605d":function(e,t,n){var r=n("c6b6"),i=n("da84");e.exports="process"==r(i.process)},"60da":function(e,t,n){"use strict";var r=n("83ab"),i=n("d039"),a=n("df75"),o=n("7418"),c=n("d1e7"),u=n("7b0b"),s=n("44ad"),l=Object.assign,f=Object.defineProperty;e.exports=!l||i((function(){if(r&&1!==l({b:1},l(f({},"a",{enumerable:!0,get:function(){f(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var e={},t={},n=Symbol(),i="abcdefghijklmnopqrst";return e[n]=7,i.split("").forEach((function(e){t[e]=e})),7!=l({},e)[n]||a(l({},t)).join("")!=i}))?function(e,t){var n=u(e),i=arguments.length,l=1,f=o.f,h=c.f;while(i>l){var d,p=s(arguments[l++]),b=f?a(p).concat(f(p)):a(p),g=b.length,v=0;while(g>v)d=b[v++],r&&!h.call(p,d)||(n[d]=p[d])}return n}:l},6547:function(e,t,n){var r=n("a691"),i=n("1d80"),a=function(e){return function(t,n){var a,o,c=String(i(t)),u=r(n),s=c.length;return u<0||u>=s?e?"":void 0:(a=c.charCodeAt(u),a<55296||a>56319||u+1===s||(o=c.charCodeAt(u+1))<56320||o>57343?e?c.charAt(u):a:e?c.slice(u,u+2):o-56320+(a-55296<<10)+65536)}};e.exports={codeAt:a(!1),charAt:a(!0)}},"65f0":function(e,t,n){var r=n("861d"),i=n("e8b5"),a=n("b622"),o=a("species");e.exports=function(e,t){var n;return i(e)&&(n=e.constructor,"function"!=typeof n||n!==Array&&!i(n.prototype)?r(n)&&(n=n[o],null===n&&(n=void 0)):n=void 0),new(void 0===n?Array:n)(0===t?0:t)}},"69f3":function(e,t,n){var r,i,a,o=n("7f9a"),c=n("da84"),u=n("861d"),s=n("9112"),l=n("5135"),f=n("c6cd"),h=n("f772"),d=n("d012"),p=c.WeakMap,b=function(e){return a(e)?i(e):r(e,{})},g=function(e){return function(t){var n;if(!u(t)||(n=i(t)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return n}};if(o){var v=f.state||(f.state=new p),w=v.get,y=v.has,m=v.set;r=function(e,t){return t.facade=e,m.call(v,e,t),t},i=function(e){return w.call(v,e)||{}},a=function(e){return y.call(v,e)}}else{var x=h("state");d[x]=!0,r=function(e,t){return t.facade=e,s(e,x,t),t},i=function(e){return l(e,x)?e[x]:{}},a=function(e){return l(e,x)}}e.exports={set:r,get:i,has:a,enforce:b,getterFor:g}},"6eeb":function(e,t,n){var r=n("da84"),i=n("9112"),a=n("5135"),o=n("ce4e"),c=n("8925"),u=n("69f3"),s=u.get,l=u.enforce,f=String(String).split("String");(e.exports=function(e,t,n,c){var u,s=!!c&&!!c.unsafe,h=!!c&&!!c.enumerable,d=!!c&&!!c.noTargetGet;"function"==typeof n&&("string"!=typeof t||a(n,"name")||i(n,"name",t),u=l(n),u.source||(u.source=f.join("string"==typeof t?t:""))),e!==r?(s?!d&&e[t]&&(h=!0):delete e[t],h?e[t]=n:i(e,t,n)):h?e[t]=n:o(t,n)})(Function.prototype,"toString",(function(){return"function"==typeof this&&s(this).source||c(this)}))},"6f3f":function(e,t){var n,r;(function(){var t;function i(){}function a(){}function c(){}function u(){}function s(){}function l(){}function f(){}function h(){}function d(){}function p(){}function b(){}function g(){}function v(){}function w(){}function y(){}function m(){}function x(){}function k(){}function E(){}function S(){}function _(){}function C(){}function j(){}function O(){}function T(){}function P(){}function A(){}function N(){}function I(){}function D(){}function L(){}function M(){}function R(){}function B(){}function H(){}function G(){}function z(){}function Y(){}function F(){}function $(){}function V(){}function q(){}function U(){}function W(){}function K(){}function X(){}function Q(){}function Z(){}function J(){}function ee(){}function te(){}function ne(){}function re(){}function ie(){}function ae(){}function oe(){}function ce(){}function ue(){}function se(){}function le(){}function fe(){}function he(){}function de(){}function pe(){}function be(){}function ge(){}function ve(){}function we(){}function ye(){}function me(){}function xe(){}function ke(){}function Ee(){}function Se(){}function _e(){}function Ce(){}function je(){}function Oe(){}function Te(){}function Pe(){}function Ae(){}function Ne(){}function Ie(){}function De(){}function Le(){}function Me(){}function Re(){}function Be(){}function He(){}function Ge(){}function ze(){}function Ye(){}function Fe(){}function $e(){}function Ve(){}function qe(){}function Ue(){}function We(){}function Ke(){}function Xe(){}function Qe(){}function Ze(){}function Je(){}function et(){}function tt(){}function nt(){}function rt(){}function it(){}function at(){}function ot(){}function ct(){}function ut(){}function st(){}function lt(){}function ft(){}function ht(){}function dt(){}function pt(){}function bt(){}function gt(){}function vt(){}function wt(){}function yt(){}function mt(e){}function xt(e){}function kt(e){}function Et(){lp()}function St(){GL()}function _t(){ej()}function Ct(){_b()}function jt(){Zv()}function Ot(){ka()}function Tt(){Ea()}function Pt(){Wo()}function At(){Jv()}function Nt(){op()}function It(){PT()}function Dt(){cp()}function Lt(){up()}function Mt(){wI()}function Rt(){cA()}function Bt(){xh(this)}function Ht(){xt(this)}function Gt(){ml(this)}function zt(){kt(this)}function Yt(e){this.a=e}function Ft(e){this.a=e}function $t(e){this.a=e}function Vt(e){this.a=e}function qt(e){this.a=e}function Ut(e){this.a=e}function Wt(e){this.a=e}function Kt(e){this.a=e}function Xt(e){this.a=e}function Qt(e){this.b=e}function Zt(e){this.a=e}function Jt(e){this.a=e}function en(e){this.a=e}function tn(e){this.a=e}function nn(e){this.a=e}function rn(e){this.a=e}function an(e){this.a=e}function on(e){this.a=e}function cn(e){this.a=e}function un(e){this.a=e}function sn(e){this.a=e}function ln(e){this.a=e}function fn(e){this.a=e}function hn(e){this.a=e}function dn(e){this.a=e}function pn(e){this.e=e}function bn(e){this.a=e}function gn(e){this.a=e}function vn(e){this.a=e}function wn(e){this.a=e}function yn(e){this.a=e}function mn(e){this.a=e}function xn(e){this.a=e}function kn(e){this.a=e}function En(e){this.a=e}function Sn(e){this.a=e}function _n(e){this.a=e}function Cn(e){this.a=e}function jn(e){this.a=e}function On(e){this.a=e}function Tn(e){this.a=e}function Pn(e){this.a=e}function An(e){this.a=e}function Nn(e){this.a=e}function In(e){this.a=e}function Dn(e){this.a=e}function Ln(e){this.a=e}function Mn(e){this.c=e}function Rn(e){this.a=e}function Bn(e){this.a=e}function Hn(e){this.a=e}function Gn(e){this.a=e}function zn(e){this.a=e}function Yn(e){this.a=e}function Fn(e){this.a=e}function $n(e){this.a=e}function Vn(e){this.a=e}function qn(e){this.a=e}function Un(e){this.d=e}function Wn(e){this.a=e}function Kn(e){this.a=e}function Xn(e){this.a=e}function Qn(e){this.a=e}function Zn(e){this.b=e}function Jn(e){this.a=e}function er(e){this.a=e}function tr(e){this.c=e}function nr(e){this.a=e}function rr(e){this.a=e}function ir(e){this.a=e}function ar(e){this.b=e}function or(e){this.b=e}function cr(e){this.c=e}function ur(e){this.a=e}function sr(e){this.a=e}function lr(e){this.a=e}function fr(){this.a=[]}function hr(e){this.a=e}function dr(e){this.a=e}function pr(e){e.b=e.a}function br(e){e.c=e.d.d}function gr(e,t){e.g=t}function vr(e,t){e.k=t}function wr(e,t){e.a=t}function yr(e,t){e.b=t}function mr(e,t){e.e.k=t}function xr(e){return e.a}function kr(e){return e.a}function Er(e){return e.a}function Sr(e){return e.a}function _r(e){return e.a}function Cr(){return null}function jr(){return null}function Or(){this.c=this}function Tr(){xh(this)}function Pr(){zx(this)}function Ar(e){DN(this,e)}function Nr(e){fl(),EB(e)}function Ir(e){e.a=new Aa}function Dr(e,t){e.a=t-e.a}function Lr(e,t){e.b=t-e.b}function Mr(){Mr=a,new f}function Rr(){Rr=a,new F}function Br(){throw new hi}function Hr(){throw new hi}function Gr(){throw new hi}function zr(){throw new hi}function Yr(){throw new hi}function Fr(){throw new hi}function $r(){throw new hi}function Vr(){throw new hi}function qr(){throw new hi}function Ur(){this.a=new Gt}function Wr(){this.a=new Gt}function Kr(){this.a=new Gt}function Xr(){this.a=new Gt}function Qr(){this.a=new Gt}function Zr(){this.a=new rt}function Jr(){this.a=new Wm}function ei(){this.b=new Gt}function ti(){Aa.call(this)}function ni(){Ju.call(this)}function ri(){Ht.call(this)}function ii(){Ht.call(this)}function ai(){Gt.call(this)}function oi(){Bt.call(this)}function ci(){Bt.call(this)}function ui(){Bt.call(this)}function si(){Bt.call(this)}function li(){Bt.call(this)}function fi(){Bt.call(this)}function hi(){Bt.call(this)}function di(){this.f=new Gt}function pi(){this.d=new Gt}function bi(){this.a=new ya}function gi(){throw new hi}function vi(){throw new hi}function wi(){throw new hi}function yi(){throw new hi}function mi(){throw new hi}function xi(){this.a=new Gt}function ki(){ki=a,CG=new c}function Ei(){Ei=a,new ot}function Si(){Si=a,XF=new u}function _i(){_i=a,w$=new h}function Ci(){Ci=a,y$=new uv}function ji(){ji=a,C$=new l}function Oi(){Oi=a,N$=new v}function Ti(){Ti=a,PW=new O}function Pi(){Pi=a,AW=new N}function Ai(e){return A_(e),e}function Ni(e){Jg(),this.a=e}function Ii(e){Id(),this.a=e}function Di(e){Id(),this.a=e}function Li(e){Id(),this.a=e}function Mi(e,t){e.i=t,t.f=e}function Ri(e,t){hg(e.b,t)}function Bi(){Bt.call(this)}function Hi(){Bt.call(this)}function Gi(){Bt.call(this)}function zi(){Wv.call(this)}function Yi(){Wv.call(this)}function Fi(){ui.call(this)}function $i(){ci.call(this)}function Vi(e){Za.call(this,e)}function qi(e){mh.call(this,e)}function Ui(e){mh.call(this,e)}function Wi(e){Af.call(this,e)}function Ki(e){Nd.call(this,e)}function Xi(e){Ww.call(this,e)}function Qi(e){Bc.call(this,e)}function Zi(e){Mc.call(this,e)}function Ji(e){Af.call(this,e)}function ea(e,t){e.a.W().nb(t)}function ta(e,t){return e===t}function na(e){return e?e.a:0}function ra(e){return e?e.d:0}function ia(e){return e?e.j:0}function aa(e){Vi.call(this,e)}function oa(e){Vi.call(this,e)}function ca(e){Vi.call(this,e)}function ua(e){ca.call(this,e)}function sa(){sn.call(this,{})}function la(e){Ar.call(this,e)}function fa(e){Ar.call(this,e)}function ha(e,t,n){Mk(e,t.b,n)}function da(e,t,n){kw(e.c,t,n)}function pa(e,t,n){e.b.Fc(t,n)}function ba(e){Nn.call(this,e)}function ga(e){Nn.call(this,e)}function va(){this.a=(QC(),Z$)}function wa(){this.a=(QC(),Z$)}function ya(){this.a=new Pr}function ma(){this.a=new Gu}function xa(){xa=a,QW=new I}function ka(){ka=a,JW=new Y}function Ea(){Ea=a,mX=new ye}function Sa(e){return Eb(),e}function _a(e){return wb(e),e}function Ca(e){Za.call(this,e)}function ja(e){Vi.call(this,e)}function Oa(e){Vi.call(this,e)}function Ta(e){this.c=Vh(db(e))}function Pa(){this.a=0,this.b=0}function Aa(){tf(this),Bv(this)}function Na(){null==_G&&(_G=[])}function Ia(e){e.b=null,e.c=0}function Da(e,t){return e.b=t,e}function La(e,t){return e.c=t,e}function Ma(e,t){return e.f=t,e}function Ra(e,t){return e.g=t,e}function Ba(e,t){return e.a=t,e}function Ha(e,t){return e.f=t,e}function Ga(e,t){return e.k=t,e}function za(e,t){return e.e-t.e}function Ya(e,t){return e.d-t.d}function Fa(e){return e<0?-e:e}function $a(e){return isNaN(e)}function Va(e){return new un(e)}function qa(e){return new pb(e)}function Ua(e){Vi.call(this,e)}function Wa(e){Vi.call(this,e)}function Ka(e){Vi.call(this,e)}function Xa(e){Vi.call(this,e)}function Qa(e){Vi.call(this,e)}function Za(e){this.f=e,xh(this)}function Ja(){this.b=0,this.a=0}function eo(){eo=a,Math.log(2)}function to(){to=a,f2=OA()}function no(e,t,n){e.set(t,n)}function ro(e,t,n){e.set(t,n)}function io(e,t){K_(),jG.dc(e,t)}function ao(e,t){return cy(e,t)}function oo(e,t){return e.a.B(t)}function co(e,t){return e.g[t.e]}function uo(e,t){return e.i[t.e]}function so(e,t){return e.j[t.e]}function lo(e,t){return e.n[t.e]}function fo(e,t){return e.o[t.e]}function ho(e,t){return t in e.a}function po(e,t){return e.b-t.b}function bo(e,t){return e.d-t.d}function go(e,t){return e.i-t.i}function vo(e,t){return e>t?e:t}function wo(e,t){return e>t?e:t}function yo(e,t){return e>t?e:t}function mo(e,t){return et?1:0}function Yl(e,t){return et?1:0}function Fl(e){return null!=e?Tj(e):0}function $l(e){this.a=Ms(),this.b=e}function Vl(e){this.a=Ms(),this.b=e}function ql(e){this.a=e,jp.call(this,e)}function Ul(){nf(),this.b=new Tn(this)}function Wl(){Wl=a,l$=Hf(new Ta(", "))}function Kl(){Kl=a,u$=new cl,c$=new Il}function Xl(){Xl=a,h$=new b,d$=new g}function Ql(){Ql=a,b$=new Yu,g$=new xl}function Zl(){Zl=a,k$=new ul,x$=new Of}function Jl(){Jl=a,H$=new y,G$=new m}function ef(e){e.g=new Gt,e.b=new Gt}function tf(e){e.a=new wt,e.c=new wt}function nf(){nf=a,VX=new Xe,$X=new Op}function rf(){Cc.call(this,"IS_NULL",2)}function af(){As.call(this,"Head",1)}function of(){As.call(this,"Tail",3)}function cf(e,t){iS.call(this,e,t,null)}function uf(e,t){KT(e,0,e.length,t)}function sf(e,t){return np(t.a,e.a),e.a}function lf(e,t){return e.a*=t,e.b*=t,e}function ff(e,t){Jg(),this.a=e,this.b=t}function hf(e,t){return e.a[t.d.k][t.k]}function df(e,t){return e.a[t.d.k][t.k]}function pf(e,t){return Pv(e.b,t.mc())}function bf(e,t){return Vo(PC(e.a,t))}function gf(e,t){return Vo(AC(e.a,t))}function vf(e,t){return gp(TA(e.a,t),20)}function wf(e,t){return null!=e&&YT(e,t)}function yf(e){return e.a=t)throw new Fi}function wp(e,t){return db(e),db(t),new Bp(e,t)}function yp(e,t){return db(e),db(t),new Hp(e,t)}function mp(e,t){return Ei(),e.lastIndexOf(t)}function xp(e,t,n){return e0),e.a.sb(e.c=--e.b)}function Jb(e){e.b?Jb(e.b):e.d.V()&&Tb(e.f.b,e.e)}function eg(e){if(Hj(e.d),e.d.d!=e.c)throw new Bi}function tg(e,t){if(t[LF]!=e[LF])throw new Bi}function ng(e,t){return Xl(),db(e),db(t),new xc(e,t)}function rg(e,t){Jg(),Ac.call(this,e,W_(new nr(t)))}function ig(e,t,n,r){this.a=e,Kx.call(this,e,t,n,r)}function ag(e){this.a=Math.cos(e),this.b=Math.sin(e)}function og(e,t,n){ca.call(this,e),this.b=t,this.a=n}function cg(e){this.b=new Gt,this.a=new Gt,this.c=e}function ug(e){this.c=new Pa,this.a=new Gt,this.b=e}function sg(){sg=a,P$=new cn(!1),A$=new cn(!0)}function lg(e,t){return++e.d,e.c[e.c.length]=t,!0}function fg(e,t){Fm(e.d,t,e.b.b,e.b),++e.a,e.c=null}function hg(e,t){var n;return n=e.a.db(t,e),null==n}function dg(e,t){var n;return n=e.slice(0,t),yk(n,e)}function pg(e,t){var n;return n=new Array(t),yk(n,e)}function bg(e,t,n){var r;return r=e.b[t],e.b[t]=n,r}function gg(e,t){var n;for(n=0;n0?e-1:e,t)}function Cg(e){return db(e),wf(e,345)?gp(e,345):ZT(e)}function jg(e,t){return null==iC(e.a,t,(Eb(),X1))}function Og(e,t){var n;return n=e.a.Y(),Qw(t,n),n-1-t}function Tg(e,t,n){var r;return r=wE(e,t),qm(e,t,n),r}function Pg(e,t,n){var r;return r=Ag(e,t),FE(n,r),r}function Ag(e,t){var n;return n=new fC,n.i=e,n.d=t,n}function Ng(e,t,n){this.a=e,Mm(n,t),this.c=t,this.b=n}function Ig(e,t,n){return jl(null==n||nD(e,n)),e[t]=n}function Dg(e){e.a=null,e.e=null,zx(e.b),e.d=0,++e.c}function Lg(e){Oa.call(this,(Ei(),null==e?LG:e))}function Mg(e){Oa.call(this,(Ei(),null==e?LG:e))}function Rg(e){var t;return t=e.f,t||(e.f=new qu(e))}function Bg(e){var t;return t=e.k,t||(e.k=new qt(e))}function Hg(e){var t;return t=e.e,t||(e.e=new Rc(e))}function Gg(e){var t;return t=e.e,!t&&(e.e=t=e.gb()),t}function zg(e){var t,n;return t=e.c.f.d,n=e.d.f.d,t==n}function Yg(e,t){var n;return n=new Um(e),DE(n,t),n}function Fg(e,t){return e.a+=String.fromCharCode(t),e}function $g(e){return!e.a&&e.d?e.d.b:e.a}function Vg(e){return oh(e)?0|e:e.l|e.m<<22}function qg(e){return pE(e,Iz),Fk(WC(WC(5,e),e/10|0))}function Ug(e,t){return Mf(t)?Fw(e,t):$s(Hw(e.d,t))}function Wg(e){return wf(e,19)?gp(e,19).Y():px(e.mb())}function Kg(e){return e?new mb((Wl(),e)):Pp(null.mb())}function Xg(e,t){return Fs(e)===Fs(t)||null!=e&&jC(e,t)}function Qg(e,t){return xa(),U_(_a($h(e)),_a($h(t)))}function Zg(e){return Pf(),Vd(e.a.bb().mb(),(Ql(),g$))}function Jg(){Jg=a,Id(),f$=new rm((Kv(),Kv(),a2))}function ev(){ev=a,Id(),m$=new Fu((Kv(),Kv(),c2))}function tv(e,t){if(null==e)throw new Xa((Ei(),t))}function nv(e,t){return cA(),(e-t<=0?0-(e-t):e-t)<.2}function rv(e,t){return e.i.b0?1:0}function iw(){return yO(),$_(ao(dW,1),cz,171,0,[hW,sW,lW])}function aw(){return JC(),$_(ao(Aq,1),cz,166,0,[EV,kV,SV])}function ow(){return TE(),$_(ao(mU,1),cz,149,0,[Xq,Kq,Wq])}function cw(){return Jm(),$_(ao(uW,1),cz,225,0,[iW,rW,aW])}function uw(){return Q_(),$_(ao(xK,1),cz,221,0,[yK,mK,wK])}function sw(){return Xk(),$_(ao(lQ,1),cz,173,0,[aQ,iQ,rQ])}function lw(e,t){return XS(Vb(oh(e)?f_(e):e,oh(t)?f_(t):t))}function fw(e){return 0==e.b?null:(Al(0!=e.b),LE(e,e.a.a))}function hw(e){e.d=e.d-15,e.b=e.b-15,e.c=e.c+15,e.a=e.a+15}function dw(e){this.b=e,this.c=e,e.e=null,e.c=null,this.a=1}function pw(e,t,n){this.d=e,this.b=new Gt,this.c=t,this.a=n}function bw(e,t){wr(this,new Hc(e.a,e.b)),yr(this,dp(t))}function gw(e,t){return t===e||(Hj(e),e.d.t(t))}function vw(e){return e==yZ||e==gZ}function ww(e){yf(new tr(lP(e.e)))&&(rG(e),cL(e))}function yw(e,t){var n;n=gp(Yk(e.e,t),116),n&&(e.d=!0)}function mw(e,t){var n;return n=e.b.pb(t),lx(n,e.b.Y()),n}function xw(e){var t;return t=ED(e,(SH(),yU)),t+=ED(e,Jq),t}function kw(e,t,n){vD(e,t,n,(SH(),Jq),e.f),vD(e,t,n,yU,e.n)}function Ew(e,t){e.f&&wk(e.f.f,e),e.f=t,e.f&&np(e.f.f,e)}function Sw(e,t){e.d&&wk(e.d.a,e),e.d=t,e.d&&np(e.d.a,e)}function _w(e,t){e.d&&wk(e.d.b,e),e.d=t,e.d&&np(e.d.b,e)}function Cw(e,t){e.c&&wk(e.c.e,e),e.c=t,e.c&&np(e.c.e,e)}function jw(e){var t;return t=dp(e.b),bS(t,e.c),bS(t,e.i),t}function Ow(){256==S2&&(x2=k2,k2={},S2=0),++S2}function Tw(){Tw=a,YQ=new ns(nY,0),zQ=new ns(tY,1)}function Pw(){Pw=a,qZ=new ss(tY,0),UZ=new ss(nY,1)}function Aw(){return Pw(),$_(ao(WZ,1),cz,223,0,[qZ,UZ])}function Nw(){return cm(),$_(ao(jQ,1),cz,242,0,[SQ,EQ])}function Iw(){return Tw(),$_(ao(VQ,1),cz,248,0,[YQ,zQ])}function Dw(){return am(),$_(ao(qQ,1),cz,247,0,[FQ,$Q])}function Lw(){return AE(),$_(ao(QQ,1),cz,194,0,[WQ,KQ])}function Mw(){return im(),$_(ao(t1,1),cz,174,0,[qJ,UJ])}function Rw(e){return Kv(),wf(e,63)?new Io(e):new lh(e)}function Bw(e){var t;return t=e.g,gp(t||(e.g=new Zt(e)),20)}function Hw(e,t){return bC(e,t,Tv(e,null==t?0:e.b.Vc(t)))}function Gw(e){var t;return t=kx(e),"n_"+(null==t?$o(e.k):t)}function zw(e){return Mo(rE(e))+"@"+(Tj(e)>>>0).toString(16)}function Yw(e,t){return Sd(Sa((wb(e),e)),Sa((wb(t),t)))}function Fw(e,t){return null==t?$s(Hw(e.d,null)):Os(e.e,t)}function $w(e,t,n){return new sy(e.c,uR(e.b,Py(e.d,t,n)),e.a)}function Vw(e){return 0|Math.max(Math.min(e,HG),-2147483648)}function qw(e){this.e=e,this.b=this.e.a.entries(),this.a=[]}function Uw(e){this.c=e,this.b=new lC(new qn(this.c.a).a)}function Ww(e){this.b=(Xl(),Xl(),Xl(),h$),this.a=gp(db(e),35)}function Kw(e,t,n){Jl(),rp.call(this,e,t),null!=n&&(this.c=n)}function Xw(e,t,n){if(e<0||tn)throw new ja(HN(e,t,n))}function Qw(e,t){if(e<0||e>=t)throw new ja(UN(e,t));return e}function Zw(e,t){if(null==e)throw new Xa((Ei(),t));return e}function Jw(e){if(!Rj(e))throw new Gi;return e.c=e.b,e.b.H()}function ey(e){function t(){}return t.prototype=e||{},new t}function ty(e){var t;return t=new pc(m_(e.length)),y_(t,e),t}function ny(e){var t;t=e.c.b.b,e.b=t,e.a=e.c.b,t.a=e.c.b.b=e}function ry(e){this.b=null,!e&&(Wu(),Wu(),e=l2),this.a=e}function iy(e){this.b=e,this.a=new zy(this.b,this.b.c.length)}function ay(e){return Jg(),db(e),xT(e||hp(new tr(null)))}function oy(e,t){var n=S$[e.charCodeAt(0)];return null==n?e:n}function cy(e,t){var n=e.a=e.a||[];return n[t]||(n[t]=e.Oc(t))}function uy(e,t,n){var r;yP(t,n,e.c.length),r=n-t,rc(e.c,t,r)}function sy(e,t,n){wc.call(this,t.a),this.c=e,this.b=t,this.a=n}function ly(e){return Hs(e.c),e.e=e.a=e.c,e.c=e.c.c,++e.d,e.a.f}function fy(e){return Hs(e.e),e.c=e.a=e.e,e.e=e.e.e,--e.d,e.a.f}function hy(e){return QS($_(ao(R$,1),wY,10,0,[e.f.i,e.i,e.a]))}function dy(){return FS(),$_(ao(hV,1),cz,107,0,[aV,nV,rV,iV])}function py(){return ZC(),$_(ao(mV,1),cz,122,0,[fV,sV,uV,lV])}function by(){return kA(),$_(ao(DU,1),cz,139,0,[PU,AU,TU,OU])}function gy(){return wO(),$_(ao(NU,1),cz,150,0,[SU,_U,EU,kU])}function vy(){return Xv(),$_(ao(a$,1),cz,136,0,[t$,e$,n$,r$])}function wy(){return YS(),$_(ao(XW,1),cz,201,0,[GW,FW,zW,YW])}function yy(){return SH(),$_(ao(CU,1),cz,32,0,[wU,eU,Jq,vU,yU])}function my(){return QC(),$_(ao(oV,1),cz,59,0,[Z$,Q$,X$,K$,J$])}function xy(){xy=a,JX=dC((Qv(),$_(ao(tQ,1),cz,193,0,[QX,ZX])))}function ky(){ky=a,LX=dC((Am(),$_(ao(YX,1),cz,175,0,[IX,DX])))}function Ey(){Ey=a,vQ=dC((om(),$_(ao(yQ,1),cz,192,0,[gQ,bQ])))}function Sy(){return PE(),$_(ao(WJ,1),cz,140,0,[FJ,$J,YJ])}function _y(){return Z_(),$_(ao(fJ,1),cz,218,0,[rJ,nJ,iJ])}function Cy(){return tS(),$_(ao(Y1,1),cz,219,0,[a1,r1,i1])}function jy(){return mO(),$_(ao($1,1),cz,153,0,[H1,z1,G1])}function Oy(){return $S(),$_(ao(K1,1),cz,172,0,[V1,q1,U1])}function Ty(e,t,n){return null==t?VN(e.d,null,n):qj(e.e,t,n)}function Py(e,t,n){return new gI(e,!1,null,(Kl(),u$),!0,t,n)}function Ay(e,t){return Ab(e.a,t)?bg(e,gp(t,17).e,null):null}function Ny(e){return db(e),pP((Xl(),new Dl(Hl(yp(e.a,new p)))))}function Iy(e){return Kv(),e?new rr(e):(Xu(),s2)}function Dy(e,t){var n,r;return r=Hb(e,t),n=e.a.ub(r),new Tc(e,n)}function Ly(e,t){var n,r;for(r=e.Y(),n=0;nt)throw new ja(qN(e,t,"index"));return e}function Rm(e,t){var n;return Hj(e),n=e.d.nb(t),n&&(--e.f.c,Jb(e)),n}function Bm(e,t,n){var r;db(e),r=new Md((Wl(),e)),sP(new Tm(r,t,n))}function Hm(e,t){return Pv((Ei(),e.toLowerCase()),t.toLowerCase())}function Gm(e,t){return Pv((Ei(),e.toLowerCase()),t.toLowerCase())}function zm(){return Kk(),$_(ao(m2,1),cz,138,0,[g2,v2,w2,y2])}function Ym(e,t,n,r){Array.prototype.splice.apply(e,[t,n].concat(r))}function Fm(e,t,n,r){var i;i=new wt,i.c=t,i.b=n,i.a=r,r.b=n.a=i,++e.b}function $m(e,t){var n;return n=Rw(hp(new Bk(e,t))),Wb(new Bk(e,t)),n}function Vm(e,t,n){if(n){var r=n.gc();e.a[t]=r(n)}else delete e.a[t]}function qm(e,t,n){if(n){var r=n.gc();n=r(n)}else n=void 0;e.a[t]=n}function Um(e){mt(this),this.d=e.d,this.c=e.c,this.a=e.a,this.b=e.b}function Wm(){this.g=new ai,this.c=new ai,this.a=new Gt,this.k=new Gt}function Km(){this.d=new sv,this.a=new wh,this.c=new Gs,this.b=new Ot}function Xm(){this.i=new Gt,this.g=new Pa,this.n=new fp,this.q=new fp}function Qm(e,t,n,r){this.e=e,this.b=new Gt,this.d=t,this.a=n,this.c=r}function Zm(){Zm=a,UW=new D,WW=new L,VW=new M,qW=new R,KW=new B}function Jm(){Jm=a,iW=new ou(tY,0),rW=new ou(rY,1),aW=new ou(nY,2)}function ex(){ex=a,cV=dC((FS(),$_(ao(hV,1),cz,107,0,[aV,nV,rV,iV])))}function tx(){tx=a,dV=dC((ZC(),$_(ao(mV,1),cz,122,0,[fV,sV,uV,lV])))}function nx(){nx=a,IU=dC((kA(),$_(ao(DU,1),cz,139,0,[PU,AU,TU,OU])))}function rx(){rx=a,jU=dC((wO(),$_(ao(NU,1),cz,150,0,[SU,_U,EU,kU])))}function ix(){ix=a,XQ=dC((AE(),$_(ao(QQ,1),cz,194,0,[WQ,KQ])))}function ax(){ax=a,KJ=dC((im(),$_(ao(t1,1),cz,174,0,[qJ,UJ])))}function ox(e){return db(e),wf(e,19)?new Md((Wl(),gp(e,19))):hp(e.mb())}function cx(e){return Sa(_a(Fh(H_(e,(vG(),e0)))))&&null!=H_(e,j0)}function ux(e){return Sa(_a(Fh(H_(e,(vG(),e0)))))&&null!=H_(e,j0)}function sx(e,t,n,r){null==t&&(t=LG),e.a+=""+(Ei(),t.substr(n,r-n))}function lx(e,t){var n;for(n=0;n>22&zz,r=e<0?Yz:0,Qd(t,n,r)}function Tx(){return eP(),$_(ao(GQ,1),cz,141,0,[RQ,DQ,LQ,IQ,MQ])}function Px(){return zP(),$_(ao(yJ,1),cz,115,0,[cJ,oJ,sJ,uJ,lJ])}function Ax(){return tP(),$_(ao(o1,1),cz,85,0,[e1,X0,Q0,Z0,J0])}function Nx(){Nx=a,tV=dC((QC(),$_(ao(oV,1),cz,59,0,[Z$,Q$,X$,K$,J$])))}function Ix(){Ix=a,xU=dC((SH(),$_(ao(CU,1),cz,32,0,[wU,eU,Jq,vU,yU])))}function Dx(){Dx=a,Hq=dC((vO(),$_(ao(qq,1),cz,100,0,[Rq,Mq,Iq,Dq,Lq])))}function Lx(){Lx=a,mQ=qp(Xp(Xp(Xp(Kp(new Yj,(gG(),tX)),uX),IK),FK),eX)}function Mx(e,t){var n,r;for(r=t.mb();r.G();)n=gp(r.H(),55),yM(e,n,0,0)}function Rx(e,t,n){var r,i;for(i=e.mb();i.G();)r=gp(i.H(),55),iM(r,t,n)}function Bx(e,t,n){var r,i;for(r=0,i=0;it)throw new ja("Index: "+e+", Size: "+t)}function $x(e,t){if(e<0||e>=t)throw new ja("Index: "+e+", Size: "+t)}function Vx(e,t){var n,r;return n=t.yb(),r=vC(e,n),!!r&&Iv(r.e,t.zb())}function qx(e,t){var n;return n=e.d,t>0?gp(Vp(n.a,t-1),9):null}function Ux(e,t,n,r,i,a){var o;return o=SP(i,r),9!=i&&$_(ao(e,a),t,n,i,o),o}function Wx(e){var t;if(!uS(e))throw new Gi;return e.d=1,t=e.c,e.c=null,t}function Kx(e,t,n,r){this.f=e,this.e=t,this.d=n,this.b=r,this.c=r?r.d:null}function Xx(e,t){if(e&&typeof e==AG)try{e.__gwt$exception=t}catch(n){}}function Qx(e,t){e.a.$b(t.d,e.b)>0&&(np(e.c,new Bd(t.c,t.d,e.d)),e.b=t.d)}function Zx(e,t){var n;return n=U_(e.j,t.j),0==n?U_(e.k,t.k):n}function Jx(e){var t,n;return n=gp(Vp(e.f,0),7),t=gp(H_(n,(vG(),j0)),7),t}function ek(e){var t,n;return n=gp(Vp(e.f,0),7),t=gp(H_(n,(vG(),j0)),7),t}function tk(e,t){return U_(_a($h(H_(e,(vG(),L0)))),_a($h(H_(t,L0))))}function nk(){nk=a,F1=dC((mO(),$_(ao($1,1),cz,153,0,[H1,z1,G1])))}function rk(){rk=a,W1=dC(($S(),$_(ao(K1,1),cz,172,0,[V1,q1,U1])))}function ik(){ik=a,W$=dC((lT(),$_(ao(eV,1),cz,103,0,[Y$,V$,q$,U$,F$,$$])))}function ak(){ak=a,xV=dC((hA(),$_(ao(_V,1),cz,133,0,[wV,gV,yV,pV,vV,bV])))}function ok(){ok=a,Uq=dC((BP(),$_(ao(Qq,1),cz,28,0,[Vq,$q,Fq,Gq,Yq,zq])))}function ck(){ck=a,FX=dC((aN(),$_(ao(qX,1),cz,125,0,[GX,RX,zX,HX,BX,MX])))}function uk(){return OD(),$_(ao(AX,1),cz,109,0,[OX,EX,CX,SX,_X,kX,jX,TX])}function sk(){return CI(),$_(ao(Bq,1),cz,41,0,[Eq,kq,_q,Pq,Tq,Oq,Cq,jq,Sq])}function lk(){return fA(),$_(ao(aJ,1),cz,123,0,[eJ,JZ,ZZ,XZ,KZ,QZ])}function fk(){return lA(),$_(ao(AJ,1),cz,124,0,[gJ,bJ,wJ,pJ,vJ,dJ])}function hk(){hk=a,z$=new rp("de.cau.cs.kieler.labels.labelManager",null)}function dk(){return Date.now?Date.now():(new Date).getTime()}function pk(e){var t;return t=gp(dg(e.b,e.b.length),11),new Ep(e.a,t,e.c)}function bk(e,t){var n;return Ei(),n=t.length,ta(Wd(e,e.length-n,n),t)}function gk(e,t){var n;return n=new yt,n.c=!0,n.d=t.zb(),tH(e,t.yb(),n)}function vk(e,t){var n;return n=t.yb(),Pf(),new Ec(n,rT(e.b,n,gp(t.zb(),19)))}function wk(e,t){var n;return n=Ik(e,t,0),-1!=n&&(e.vb(n),!0)}function yk(e,t){return 9!=iE(t)&&$_(rE(t),t._c,t.__elementTypeId$,iE(t),e),e}function mk(e){return tg(e.c.a.c,e),Al(e.b!=e.c.a.b),e.a=e.b,e.b=e.b.a,e.a}function xk(e){Ol(!!e.c),tg(e.e,e),e.c.I(),e.c=null,e.b=g_(e),uh(e.e,e)}function kk(e,t,n){e.a=t,e.c=n,e.b.a.Q(),Bv(e.d),e.e.a.c=Ux(qF,az,1,0,4,1)}function Ek(e,t,n){Wi.call(this,hS(db(e),db(t))),this.b=e,this.c=t,this.a=n}function Sk(e,t,n,r){this.b=new Dn(this),this.a=e,this.c=t,this.e=n,this.d=r}function _k(e){sC.call(this,e,0),Ah(this),this.b.b=this.b,this.b.a=this.b}function Ck(e,t){Is.call(this,e,t),this.a=Ux(b2,az,183,2,0,1),this.b=!0}function jk(e,t){return Mf(t)?null==t?!!Hw(e.d,null):Nb(e.e,t):!!Hw(e.d,t)}function Ok(e,t){return eo(),(e-t>0?e-t:-(e-t))<=Hz||e==t||isNaN(e)&&isNaN(t)}function Tk(e,t){return eo(),(e-t>0?e-t:-(e-t))<=Hz||e==t||isNaN(e)&&isNaN(t)}function Pk(e){var t,n;t=!0;do{n=t?Fj(e):lO(e),t=!t}while(n);w_(e,e.d)}function Ak(e,t,n){var r;if(null==t)throw new fi;return r=Dv(e,t),Vm(e,t,n),r}function Nk(e,t,n){return!e.n&&(e.n=new Pr),null==n?Tb(e.n,t):kv(e.n,t,n),e}function Ik(e,t,n){for(;n=e.a.c.length)np(e.a,new Aa);return gp(Vp(e.a,t),20)}function Lk(e,t){var n;return n=gp(aT(e.a,t),19),n?rT(e.b,t,n):null}function Mk(e,t,n){var r;r=Dv(e,yY),r||(r=new sa,Ak(e,yY,r)),Ak(r.kc(),t,n)}function Rk(e,t,n,r,i){var a;return a=Ag(e,t),FE(n,a),a.g=i?8:0,a.f=r,a.e=i,a}function Bk(e,t){var n;this.f=e,this.b=t,n=gp(Ug(e.b,t),126),this.c=n?n.b:null}function Hk(e,t){var n,r,i;for(r=0,i=t.length;r0&&(r+=NH(t)),e.b[n]&&(r+=VH(t)),r}function Yk(e,t){var n;return n=gp(Tb(e.c,t),176),n?(rb(n),n.e):null}function Fk(e){return mC(e,HG)>0?HG:mC(e,VG)<0?VG:Vg(e)}function $k(e){return Wl(),pE(e,"size"),Vg(Fo(KC(e,8),Cz)?KC(e,8):Cz),new Lo}function Vk(e){Pd.call(this,(Ei(),null==e?LG:ZT(e)),wf(e,46)?gp(e,46):null)}function qk(e){ml(this),gb(e>=0,"Initial capacity must not be negative")}function Uk(){Uk=a,jW=Qp(Xp(Xp(new Yj,(gG(),nX)),$K),QK),OW=Kp(new Yj,WK)}function Wk(){Wk=a,hK=new $,lK=new V,fK=new q,sK=new U,dK=new W,pK=new K}function Kk(){Kk=a,g2=new As("All",0),v2=new af,w2=new jf,y2=new of}function Xk(){Xk=a,aQ=new Eu(gF,0),iQ=new Eu("LONGEST_PATH",1),rQ=new Eu(hF,2)}function Qk(){Qk=a,D$=Qd(zz,zz,524287),L$=Qd(0,0,524288),Ox(1),Ox(2),M$=Ox(0)}function Zk(){Zk=a,PX=dC((OD(),$_(ao(AX,1),cz,109,0,[OX,EX,CX,SX,_X,kX,jX,TX])))}function Jk(){Jk=a,BQ=dC((eP(),$_(ao(GQ,1),cz,141,0,[RQ,DQ,LQ,IQ,MQ])))}function eE(){eE=a,hJ=dC((zP(),$_(ao(yJ,1),cz,115,0,[cJ,oJ,sJ,uJ,lJ])))}function tE(){tE=a,n1=dC((tP(),$_(ao(o1,1),cz,85,0,[e1,X0,Q0,Z0,J0])))}function nE(e){BA(),Uf(this,Vg(lw(XS(rD(oh(e)?f_(e):e,24)),YF)),Vg(lw(e,YF)))}function rE(e){return Mf(e)?KF:Lf(e)?J1:Ph(e)?Z1:Ob(e)||ab(e)?e.$c:e.$c||_$}function iE(e){return null==e.__elementTypeCategory$?9:e.__elementTypeCategory$}function aE(e){var t,n;if(e.a){n=null;do{t=e.a,e.a=null,n=CN(t,n)}while(e.a);e.a=n}}function oE(e){var t,n;if(e.b){n=null;do{t=e.b,e.b=null,n=CN(t,n)}while(e.b);e.b=n}}function cE(e){var t,n;for(Zu(),n=Xz,t=0;tn&&(n=e[t]);return n}function uE(e,t){var n;return n=gp(Ug(e.b,t),106),n||(n=t.rc(),kv(e.b,t,n)),n}function sE(e,t){var n;return n=gp(Ug(e.c,t),176),n?(Jf(e,n),n.e):null}function lE(e,t,n,r){var i;i=gp(sE(e.e,t),116),i.b+=n,i.a+=r,LT(e.e,t,i),e.d=!0}function fE(e){var t;for(++e.a,t=e.c.a.length;e.a"+e.d.f+"("+e.d+")":"e_"+Ch(e)}function _E(e,t){return YS(),e==GW&&t==FW||e==FW&&t==GW||e==YW&&t==zW||e==zW&&t==YW}function CE(e,t){return YS(),e==GW&&t==zW||e==GW&&t==YW||e==FW&&t==YW||e==FW&&t==zW}function jE(){return XR(),$_(ao(VJ,1),cz,110,0,[IJ,RJ,DJ,BJ,LJ,HJ,MJ,NJ])}function OE(){OE=a,Nq=dC((CI(),$_(ao(Bq,1),cz,41,0,[Eq,kq,_q,Pq,Tq,Oq,Cq,jq,Sq])))}function TE(){TE=a,Xq=new nu("OUTSIDE",0),Kq=new nu("INSIDE",1),Wq=new nu("FIXED",2)}function PE(){PE=a,FJ=new bs(oY,0),$J=new bs("TOP",1),YJ=new bs("BOTTOM",2)}function AE(){AE=a,WQ=new as("CLASSIC",0),KQ=new as("IMPROVE_STRAIGHTNESS",1)}function NE(){this.e=new Pa,this.a=new Uv,this.d=new Pa,this.b=new Gt,this.c=new Gt}function IE(e,t,n){this.b=t,this.a=e,this.c=n,np(this.a.e,this),np(this.b.b,this)}function DE(e,t){e.d=mo(e.d,t.d),e.c=vo(e.c,t.c),e.a=vo(e.a,t.a),e.b=mo(e.b,t.b)}function LE(e,t){var n;return n=t.c,t.a.b=t.b,t.b.a=t.a,t.a=t.b=null,t.c=null,--e.b,n}function ME(e,t){var n;Xl(),db(e),db(t),n=!1;while(t.G())n|=e.ib(t.H());return n}function RE(e){var t;return tg(e.e,e),Al(e.b),e.c=e.a,t=gp(e.a.H(),21),e.b=g_(e),t}function BE(e){var t;while(e.b.G())if(t=e.b.H(),e.a.D(t))return t;return e.d=2,null}function HE(e,t){return!(!t||e.b[t.e]!=t)&&(Ig(e.b,t.e,null),--e.c,!0)}function GE(e){return Vz0&&e.c0&&0!=e.e&&aS(e.g,t/e.j*e.g.d))}function oS(e){return e.b.d.f.g==(dA(),rK)?gp(H_(e.b.d.f,(vG(),j0)),7):e.b.d}function cS(e){return e.b.c.f.g==(dA(),rK)?gp(H_(e.b.c.f,(vG(),j0)),7):e.b.c}function uS(e){switch(Bs(3!=e.d),e.d){case 2:return!1;case 0:return!0}return Sx(e)}function sS(e){switch(e.e){case 2:return SH(),yU;case 4:return SH(),Jq;default:return e}}function lS(e){switch(e.e){case 1:return SH(),vU;case 3:return SH(),eU;default:return e}}function fS(e){var t;return wf(e,90)?(t=gp(e,90),new Xi(t.a)):(Xl(),new Qt(e))}function hS(e,t){var n;return Kv(),n=new Hu(1),Mf(e)?Ty(n,e,t):VN(n.d,e,t),new cr(n)}function dS(e,t){return e.g?(e.g=dS(e.g,t),--e.a,e.j=XC(e.j,t.c),PA(e)):e.e}function pS(e,t){return e.e?(e.e=pS(e.e,t),--e.a,e.j=XC(e.j,t.c),PA(e)):e.g}function bS(e,t){var n,r,i;for(wb(t),n=!1,i=t.mb();i.G();)r=i.H(),n|=e.ib(r);return n}function gS(e){var t,n,r;for(t=0,r=e.mb();r.G();)n=r.H(),t+=null!=n?Tj(n):0,t=~~t;return t}function vS(e){var t,n,r,i;for(n=e.a,r=0,i=n.length;r0?1:r<0?-1:0)}function TS(e,t,n){this.g=e,this.d=t,this.e=n,this.a=new Gt,nI(this),Kv(),_m(this.a,null)}function PS(e,t){Rs(t>0),this.b=e,this.c=t,this.j=t,this.a=1,this.d=1,this.e=null,this.g=null}function AS(e){e.a=null,e.e=null,e.b.c=Ux(qF,az,1,0,4,1),e.f.c=Ux(qF,az,1,0,4,1),e.c=null}function NS(){return qL(),$_(ao(GJ,1),cz,113,0,[kJ,SJ,_J,CJ,jJ,OJ,PJ,xJ,EJ,TJ])}function IS(e){return 1.4901161193847656e-8*zI(e,26)+11102230246251565e-32*zI(e,27)}function DS(e){return wf(e,87)?Ky(gp(e,87)):wf(e,88)?gp(e,88).a:wf(e,63)?new Zi(e):new Mc(e)}function LS(e){var t;return t=gp(H_(e,(vG(),p0)),32),e.g==(dA(),rK)&&(t==(SH(),yU)||t==Jq)}function MS(e,t){return!!HP(e,t)&&(xI(e.a,gp(H_(t,(vG(),h0)),18),t),!0)}function RS(e,t){var n;if(t)for(n=0;n<6;n++)gp(Vp(e.a,n),18).jb(gp(Vp(t.a,n),19));return e}function BS(e,t){var n;return e.b?null:(n=_g(e.e,e.f),tp(e.a,n),n.g=e,e.d=t,n)}function HS(e,t){var n,r;for(r=NT(e,0);r.b!=r.d.c;)n=gp(Dm(r),10),n.a+=t.a,n.b+=t.b;return e}function GS(e,t){var n,r;for(n=0;n0?e.g?US(e.g,t,n):0:e.c}function WS(e,t){var n,r;return!!e.b&&(r=e.e,n=e.a.$b(t,r),n<0|0==n&e.d==(Kl(),u$))}function KS(e,t){var n,r;return!!e.c&&(r=e.g,n=e.a.$b(t,r),n>0|0==n&e.f==(Kl(),u$))}function XS(e){var t;return t=e.h,0==t?e.l+e.m*Fz:t==Yz?e.l+e.m*Fz-$z:e}function QS(e){var t,n,r,i;for(t=new Pa,r=0,i=e.length;r=i;a--)e[a+1]=e[a];e[i]=r}function c_(e,t,n,r){var i,a;for(i=tT(e,t,n,r),i<0&&(i=-i-1),a=n-1;a>=i;a--)e[a+1]=e[a];e[i]=r}function u_(e,t){var n,r;for(wb(t),r=t.mb();r.G();)if(n=r.H(),!e.kb(n))return!1;return!0}function s_(e,t){var n;Xl(),db(t);while(e.G())if(n=e.H(),!LS(gp(n,9)))return!1;return!0}function l_(e,t){var n,r,i;return n=t.k-e.k,0==n?(r=e.e.a*e.e.b,i=t.e.a*t.e.b,U_(r,i)):n}function f_(e){var t,n,r,i;return i=e,r=0,i<0&&(i+=$z,r=Yz),n=Vw(i/Fz),t=Vw(i-n*Fz),Qd(t,n,r)}function h_(e,t){return e.c.c=Ux(qF,az,1,0,4,1),sN(e,e.e,t),sN(e,e.a,t),Kv(),_m(e.c,null),kC(e)}function d_(e,t,n){e.g=RN(e,t,(SH(),Jq),e.b),e.d=RN(e,n,Jq,e.b),0!=e.g.c&&0!=e.d.c&&HA(e)}function p_(e,t,n){e.g=RN(e,t,(SH(),yU),e.j),e.d=RN(e,n,yU,e.j),0!=e.g.c&&0!=e.d.c&&HA(e)}function b_(e,t,n){return new Cv(mo(e.a,t.a)-n/2,mo(e.b,t.b)-n/2,fc(e.a-t.a)+n,fc(e.b-t.b)+n)}function g_(e){return!!e.a.G()||e.a==e.d&&(e.a=new qw(e.e.d),e.a.G())}function v_(e,t){var n,r;return n=t.ob(),r=n.length,0!=r&&(Mp(e.c,e.c.length,n),!0)}function w_(e,t){var n,r;for(n=0;n0;i--)a=i-1,n|=MO(e,t,a,i);return n}function D_(e,t){var n,r,i,a;for(n=!1,r=e.d[t].length,a=0;a>22),i=e.h+t.h+(r>>22),Qd(n&zz,r&zz,i&Yz)}function M_(e,t){var n,r,i;return n=e.l-t.l,r=e.m-t.m+(n>>22),i=e.h-t.h+(r>>22),Qd(n&zz,r&zz,i&Yz)}function R_(e,t){var n;for(n=0;n<(Ei(),t.length);n++)if(e==t.charCodeAt(n))return!0;return!1}function B_(e,t){var n;for(n=0;n<(Ei(),t.length);n++)if(e==t.charCodeAt(n))return!0;return!1}function H_(e,t){var n,r;return e.n&&(r=Ug(e.n,t),null!=r)?r:(n=uB(t),wf(n,5)&&Nk(e,t,n),n)}function G_(e){var t,n,r;for(t=new ti,r=NT(e,0);r.b!=r.d.c;)n=gp(Dm(r),10),eh(t,0,new Ys(n));return t}function z_(e,t,n){var r,i,a,o;for(o=new ld(t,n),a=0,i=XD(o);i.G();)r=gp(i.H(),7),kv(e.c,r,Cj(a++))}function Y_(e,t,n){if(db(t),n.G()){Qs(t,e.C(n.H()));while(n.G())Qs(t,e.c),Qs(t,e.C(n.H()))}return t}function F_(e,t,n,r,i){r?XP(e,t):(QP(e,t,i),KB(e,t,n)),t.c.length>1&&(_m(t,e.b),lM(e.c,t))}function $_(e,t,n,r,a){return a.$c=e,a._c=t,a.ad=i,a.__elementTypeId$=n,a.__elementTypeCategory$=r,a}function V_(e,t,n){switch(n.e){case 2:e.b=t;break;case 1:e.c=t;break;case 4:e.d=t;break;case 3:e.a=t}}function q_(e,t,n){var r,i;return i=Jx(n).g,r=SC(e,t,i).a,r-Fa(gp(Ug(e.c,t),24).a-gp(Ug(e.c,n),24).a)}function U_(e,t){return et?1:e==t?0:isNaN(e)?isNaN(t)?0:1:-1}function W_(e){switch(e.Y()){case 0:return f$;case 1:return new kb(e.mb().H());default:return new rm(e)}}function K_(){var e,t;K_=a,t=!(Error.stackTraceLimit||"stack"in new Error),e=new Et,jG=t?new s:e}function X_(){X_=a,pW=new rp("intCoordinates",(Eb(),Eb(),X1)),bW=new Yp("jsonObject"),gW=new Hc(0,0)}function Q_(){Q_=a,yK=new vu("MIRROR_X",0),mK=new vu("TRANSPOSE",1),wK=new vu("MIRROR_AND_TRANSPOSE",2)}function Z_(){Z_=a,rJ=new fs(oY,0),nJ=new fs("INCOMING_ONLY",1),iJ=new fs("OUTGOING_ONLY",2)}function J_(){return MH(),$_(ao(GZ,1),cz,60,0,[wZ,bZ,pZ,xZ,mZ,HZ,BZ,yZ,gZ,vZ,kZ,MZ,RZ])}function eC(){var e,t,n,r;for(eC=a,NX=new hO(GZ),t=J_(),n=0,r=t.length;n0)return vp(t-1,e.a.c.length),Hx(e.a,t-1);throw new Hi}function uC(e){e.b.c.length-e.e.c.length<0?(od(e,(SH(),Jq)),e.a.a=e.j.a):(od(e,(SH(),yU)),e.a.a=0)}function sC(e,t){gb(e>=0,"Negative initial capacity"),gb(t>=0,"Non-positive load factor"),zx(this)}function lC(e){var t;this.e=e,this.d=new bx(this.e.e),this.a=this.d,this.b=g_(this),t=e[LF],this[LF]=t}function fC(){this.n=null,this.j=null,this.i=null,this.d=null,this.b=null,this.k=null,this.a=null}function hC(e){var t,n,r,i;for(i=1,n=0,r=e.length;n=0?i=i.a[1]:(r=i,i=i.a[0]);return r}function AC(e,t){var n,r,i;r=null,i=e.b;while(i)n=e.a.$b(t,i.d),n<=0?i=i.a[0]:(r=i,i=i.a[1]);return r}function NC(e,t,n,r){var i,a;for(a=e.mb();a.G();)i=gp(a.H(),33),i.i.a=t.a+(r.a-i.j.a)/2,i.i.b=t.b,t.b+=i.j.b+n}function IC(e,t){var n;0!=e.c.length&&(n=gp(XT(e,Ux(uK,CY,9,e.c.length,0,1)),51),uf(n,new ue),RA(n,t))}function DC(e,t){var n;0!=e.c.length&&(n=gp(XT(e,Ux(uK,CY,9,e.c.length,0,1)),51),uf(n,new se),RA(n,t))}function LC(e){var t,n;return t=e.g,t==(dA(),rK)&&(n=gp(H_(e,(vG(),p0)),32),n==(SH(),eU)||n==vU)}function MC(e,t){var n;return wb(t),n=e[":"+t],Rb(!!n,"Enum constant undefined: %s",$_(ao(qF,1),az,1,4,[t])),n}function RC(e,t,n){if(!e)throw new Oa(SL("lowerEndpoint (%s) > upperEndpoint (%s)",$_(ao(qF,1),az,1,4,[t,n])))}function BC(e){throw j_(),new aa("Unexpected typeof result '"+e+"'; please report this bug to the GWT team")}function HC(e){switch(e.e){case 1:return vU;case 2:return yU;case 3:return eU;case 4:return Jq;default:return wU}}function GC(e){switch(e.e){case 2:return Q$;case 1:return X$;case 4:return K$;case 3:return J$;default:return Z$}}function zC(e){return e>=48&&e<58?e-48:e>=97&&e<97?e-97+10:e>=65&&e<65?e-65+10:-1}function YC(e,t){var n,r;for(r=Zg(Hg(e.P()));r.b.G();)if(n=gp(oo(r,r.b.H()),19),n.kb(t))return!0;return!1}function FC(e){var t;if(!__(e))throw new Gi;return t=new Nc(e.c,e.a),e.b=t,e.a.i==e.c.a?e.a=null:e.a=e.a.i,t}function $C(e,t){var n;return Pf(),e===t||!!wf(t,57)&&(n=gp(t,57),$N(Fb(e),n.bb()))}function VC(e,t,n,r){return Mr(),pE(n,"oldCount"),pE(r,"newCount"),e.Cb(t)==n&&(e.Gb(t,r),!0)}function qC(e,t,n,r,i){return db(n),db(i),$w(new sy(e.c,uR(e.b,new gI(e.d,!0,t,n,!1,null,(Kl(),u$))),e.a),r,i)}function UC(e){switch(Id(),e.Y()){case 0:return ev(),m$;case 1:return new qo(e.mb().H());default:return new Fu(e)}}function WC(e,t){var n;return oh(e)&&oh(t)&&(n=e+t,Vz=r||tn)break;i>=t&&++r}return r}function uj(e,t,n){var r,i,a,o;for(wb(n),o=!1,a=NT(e,t),i=NT(n,0);i.b!=i.d.c;)r=Dm(i),fg(a,r),o=!0;return o}function sj(e,t){var n,r,i;return!t.V()&&(i=e.Y(),n=e.d.jb(t),n&&(r=e.d.Y(),e.f.c+=r-i,0==i&&Yd(e)),n)}function lj(e,t){var n;return t?(n=t.n?t.n:(Kv(),Kv(),o2),n.V()||(e.n?jS(e.n,n):e.n=new al(n)),e):e}function fj(e,t,n){var r;try{Y_(e,t,n)}catch(i){throw i=xC(i),wf(i,181)?(r=i,new Vk(r)):dj(i)}return t}function hj(e,t,n){var r;try{lI(e,t,n)}catch(i){throw i=xC(i),wf(i,181)?(r=i,new Vk(r)):dj(i)}return t}function dj(e){var t;return wf(e,164)&&(t=gp(e,164),Fs(t.b)!==Fs((ki(),CG)))?Fs(t.b)===Fs(CG)?null:t.b:e}function pj(e,t){var n;n=gp(H_($g(e),(vG(),N0)),9);while(n){if(n==t)return!0;n=gp(H_($g(n),N0),9)}return!1}function bj(e){switch(gp(H_(e,(vG(),y0)),140).e){case 1:Nk(e,y0,(PE(),YJ));break;case 2:Nk(e,y0,(PE(),$J))}}function gj(e){switch(Id(),e.c){case 0:return ev(),m$;case 1:return new qo(LN(new Bu(e)));default:return new Ki(e)}}function vj(e){var t,n;for(Jg(),t=0,n=e.length;t-129&&e<128?(t=e+128,n=(Sb(),t2)[t],!n&&(n=t2[t]=new Rn(e)),n):new Rn(e)}function jj(e){var t,n;t=eA(e.b,e.d),n=HG;while(n>t){if(w_(e,e.d),0==t){n=0;break}Fj(e),lO(e),n=t,t=eA(e.b,e.d)}e.c=n}function Oj(){var e,t,n;BA(),n=p2+++dk(),e=Vw(Math.floor(n*wF))&YF,t=Vw(n-e*zF),this.a=1502^e,this.b=t^GF}function Tj(e){return Mf(e)?fT(e):Lf(e)?Vw((wb(e),e)):Ph(e)?Sa((wb(e),e))?1231:1237:Ob(e)?e.v():(ab(e),Ch(e))}function Pj(e,t,n){var r,i,a;i=new FT,i.d=n,r=zA(i,t),a=new Km,Sa(_a(Fh(H_(r,CW))))?QE(a,r,new fd):nR(e,a,r),tG(i,r)}function Aj(e,t,n,r){var i,a,o,c;for(c=new ld(t,r),o=0,a=XD(c);a.G();)i=gp(a.H(),7),kv(e.i,i,Cj(o++));kv(n,t,Cj(o))}function Nj(e,t){var n,r,i,a,o;for(n=0,o=0,i=0,a=t.length;i=1?Q$:K$):n}function Rj(e){if(db(e.b),e.b.G())return!0;while(e.a.G())if(db(e.b=e.Wb(e.a.H())),e.b.G())return!0;return!1}function Bj(e){return e.d==e.c.d&&e.i==e.g.d||(e.a.c=Ux(qF,az,1,0,4,1),v_(e.a,e.c),v_(e.a,e.g),e.d=e.c.d,e.i=e.g.d),e.a}function Hj(e){var t;if(e.b){if(Hj(e.b),e.b.d!=e.c)throw new Bi}else e.d.V()&&(t=gp(Ug(e.f.b,e.e),19),t&&(e.d=t))}function Gj(e,t,n,r,i){var a,o,c,u;for(u=jx(e),F_(t,u,r,i,n),a=0,c=new tr(u);c.at){Vy(n);break}}fg(n,t)}function qj(e,t,n){var r;return r=sc(e.a,t),ro(e.a,t,void 0===n?null:n),void 0===r?(++e.c,xd(e.b)):++e.d,r}function Uj(e,t,n){return(t-e<=0?0-(t-e):t-e)cF?e-n>cF:n-e>cF)}function Wj(e){switch(e.e){case 0:return oJ;case 1:return cJ;case 2:return uJ;case 3:return sJ;default:return lJ}}function Kj(e,t){switch(t.e){case 2:return e.b;case 1:return e.c;case 4:return e.d;case 3:return e.a;default:return!1}}function Xj(e){switch(SH(),e.e){case 4:return eU;case 1:return Jq;case 3:return vU;case 2:return yU;default:return wU}}function Qj(e,t){if(t==e.c)return e.d;if(t==e.d)return e.c;throw new Oa("Node "+t+" not part of edge "+e)}function Zj(e,t){var n;return ch(e.a,t)?gp(ch(e.a,t)?e.b[t.e]:null,62):(n=new ni,xS(e.a,t),bg(e,t.e,n),n)}function Jj(e,t){var n,r,i,a;a=e.g.tb(),n=0;while(a.G()){if(r=_a($h(a.H())),i=r-t,i>PF)return n;i>AF&&++n}return n}function eO(e){var t,n,r,i;return t=gp(Bo((r=e.$c,i=r.f,i==i$?r:i)),11),n=new Ep(t,gp(pg(t,t.length),11),0),xS(n,e),n}function tO(e,t){var n,r;for(r=new tr(t);r.at&&r.$b(e[a-1],e[a])>0;--a)o=e[a],Ig(e,a,e[a-1]),Ig(e,a-1,o)}function rO(e){var t,n;if(!Mu(gp(H_(e,(xG(),sq)),28)))for(n=new tr(e.f);n.a %s",$_(ao(qF,1),az,1,4,[Cj(t),Cj(n)])),r=e.length,n=n=0;n--)e.j=(t=new oN(e.e,e.d,n,1),new gA(n,e.d,t)),r|=$E(e,n);return r}function fO(e){this.f=(Pf(),new Pr),this.n=new Pr,this.k=new Pr,this.g=new ya,this.i=new uT((_i(),w$)),this.j=e,Nj(this,e)}function hO(e){var t;this.a=(t=gp(e.e&&e.e(),11),new Ep(t,gp(pg(t,t.length),11),0)),this.b=Ux(qF,az,1,this.a.a.length,4,1)}function dO(e,t){var n;return t===e||!!wf(t,18)&&(n=gp(t,18),n.Y()==e.Y()&&e.lb(n))}function pO(e){switch(MH(),e.e){case 1:return wZ;case 2:return pZ;case 3:return mZ;case 4:return BZ;default:return RZ}}function bO(e,t){switch(t.e){case 1:return e.e.d;case 2:return e.e.c;case 3:return e.e.a;case 4:return e.e.b;default:return 0}}function gO(){return yG(),$_(ao(oW,1),cz,67,0,[eW,JU,tW,VU,$U,qU,KU,WU,UU,ZU,QU,XU,YU,zU,FU,HU,BU,GU,MU,LU,RU,nW])}function vO(){vO=a,Rq=new eu(aY,0),Mq=new eu("JUSTIFIED",1),Iq=new eu("BEGIN",2),Dq=new eu(rY,3),Lq=new eu("END",4)}function wO(){wO=a,SU=new iu("PORTS",0),_U=new iu("PORT_LABELS",1),EU=new iu("NODE_LABELS",2),kU=new iu("MINIMUM_SIZE",3)}function yO(){yO=a,hW=new cu("UNKNOWN",0),sW=new cu("ABOVE",1),lW=new cu("BELOW",2),fW=new rp("de.cau.cs.kieler.labelSide",hW)}function mO(){mO=a,H1=new ys("EQUALLY_DISTRIBUTED",0),z1=new ys("NORTH_STACKED",1),G1=new ys("NORTH_SEQUENCE",2)}function xO(){SG={},!Array.isArray&&(Array.isArray=function(e){return"[object Array]"===Object.prototype.toString.call(e)})}function kO(e,t){return eo(),eo(),((e-t>0?e-t:-(e-t))<=Hz||e==t||isNaN(e)&&isNaN(t)?0:et?1:gl(isNaN(e),isNaN(t)))>0}function EO(e,t){return eo(),eo(),((e-t>0?e-t:-(e-t))<=Hz||e==t||isNaN(e)&&isNaN(t)?0:et?1:gl(isNaN(e),isNaN(t)))<0}function SO(e){var t,n;e.d||tM(e),n=new ti,t=e.b.mb(),t.H();while(t.G())tp(n,gp(t.H(),92).a);return Al(0!=n.b),LE(n,n.c.b),n}function _O(e){var t,n,r,i;for(i=new Nl,t=new Md(e.c),BN(t),r=new tr(t);r.at.f?1:e.gt.g?1:e.b-t.b}function NO(e,t){if(t.c==e)return t.d;if(t.d==e)return t.c;throw new Oa("Input edge is not connected to the input port.")}function IO(e){var t;0!=e.c&&(t=gp(Vp(e.a,e.b),128),1==t.b?(++e.b,e.b.5&&a<50)i=YD(r),n=jA(r,i,!0),t=fc(n.b),++a;return jA(e,i,!1)}function GO(e){var t,n,r,i,a;r=MR(e),t=iF,a=0,i=0;while(t>.5&&a<50)i=zD(r),n=jA(r,i,!0),t=fc(n.a),++a;return jA(e,i,!1)}function zO(e){var t,n,r;for(this.a=new Nl,this.e=new ya,this.f=0,n=0,r=e.length;n2e3&&(O$=e,T$=t.setTimeout(Ko,10))),0==j$++&&(aE((ji(),C$)),!0)}function WO(e){var t,n;for(n=new tr(e.a.b);n.a0),t.a.sb(t.c=--t.b))}function XO(e){var t;ah(gp(H_(e,(xG(),sq)),28))&&(t=e.c,gD(($x(0,t.c.length),gp(t.c[0],16))),gD(gp(Vp(t,t.c.length-1),16)))}function QO(e,t,n){PO(n,"Compound graph preprocessor",1),e.a=new zu,kR(e,t,null),JR(e,t),Nk(t,(vG(),u0),e.a),e.a=null,zx(e.b),yj(n)}function ZO(e){var t,n;return t=gp(Jw(kg(Sj(e))),12),n=gp(Jw(kg(_j(e))),12),!Sa(_a(Fh(H_(t,(vG(),z0)))))||!Sa(_a(Fh(H_(n,z0))))}function JO(e,t,n){t.g==(dA(),oK)&&n.g==aK&&(e.d=TC(t,(SH(),vU)),e.b=TC(t,eU)),n.g==oK&&t.g==aK&&(e.d=TC(n,(SH(),eU)),e.b=TC(n,vU))}function eT(e,t,n){var r,i,a,o;return a=t.g,o=n.g,a!=o?a.e-o.e:(r=e.a[t.k],i=e.a[n.k],r||i?r?i?U_(r.a,i.a):1:-1:0)}function tT(e,t,n,r){var i,a,o,c;a=t,i=n-1;while(a<=i)if(o=a+i>>>1,c=e[o],cr))return o;i=o-1}return-(a+1)}function nT(e){return wf(e,137)?(Kv(),new hh(gp(e,137))):wf(e,18)?(Kv(),new Ao(gp(e,18))):wf(e,20)?Rw(gp(e,20)):(Kv(),new ar(e))}function rT(e,t,n){return wf(n,137)?new Bh(e,t,gp(n,137)):wf(n,18)?new Rh(e,t,gp(n,18)):wf(n,20)?pm(e,t,gp(n,20),null):new Kx(e,t,n,null)}function iT(e,t){var n;n=e.ub(t);try{return n.H()}catch(r){throw r=xC(r),wf(r,74)?new ja("Can't get element "+t):dj(r)}}function aT(e,t){Pf(),db(e);try{return e.cb(t)}catch(n){if(n=xC(n),wf(n,119))return null;if(wf(n,76))return null;throw dj(n)}}function oT(e,t){var n,r=e.a;t=String(t),r.hasOwnProperty(t)&&(n=r[t]);var i=(j_(),I$)[typeof n],a=i?i(n):BC(typeof n);return a}function cT(e,t,n,r){tt.e?1:e.ft.f?1:Ch(e)-Ch(t)}function mT(e){switch(e.e){case 1:return SH(),yU;case 4:return SH(),eU;case 3:return SH(),Jq;case 2:return SH(),vU;default:return SH(),wU}}function xT(e){var t,n;switch(t=dg(e.c,e.c.length),t.length){case 0:return f$;case 1:return n=new kb(t[0]),n;default:return new rm(vj(t))}}function kT(e){var t,n,r,i;for(r=Ux(QF,az,64,e.c.length,0,1),i=0,n=new tr(e);n.a=e.b>>1)for(r=e.c,n=e.b;n>t;--n)r=r.b;else for(r=e.a.a,n=0;n0&&(i.b+=t),i}function DT(e,t){var n,r,i;for(i=new Pa,r=e.mb();r.G();)n=gp(r.H(),55),iM(n,0,i.b),i.b+=n.e.b+t,i.a=vo(i.a,n.e.a);return i.a>0&&(i.a+=t),i}function LT(e,t,n){var r,i,a;return i=gp(Ug(e.c,t),176),i?(a=Gd(i,n),Jf(e,i),a):(r=new Rp(e,t,n),kv(e.c,t,r),ny(r),null)}function MT(e,t){return!!$D(e.b).kb(t.c)&&(vw(e.b)?!(xp(t.d,e.c,e.a)&&xp(t.a,e.c,e.a)):xp(t.d,e.c,e.a)&&xp(t.a,e.c,e.a))}function RT(e,t){return e.cXh(e.d,Gl(t.a,t.b))?-1:e.c==t.c&&Gl(e.a,e.b)==Gl(e.a,e.b)?0:1}function BT(e,t,n){if(e.e)switch(e.b){case 1:Sv(e.c,t,n);break;case 0:Ev(e.c,t,n)}else Fy(e.c,t,n);e.a[t.k][n.k]=e.c.i,e.a[n.k][t.k]=e.c.e}function HT(e,t,n){switch(n.e){case 1:e.a=t.a/2,e.b=0;break;case 2:e.a=t.a,e.b=t.b/2;break;case 3:e.a=t.a/2,e.b=t.b;break;case 4:e.a=0,e.b=t.b/2}}function GT(e){switch(e.e){case 8:return SH(),eU;case 9:return SH(),vU;case 10:return SH(),Jq;case 11:return SH(),yU;default:return SH(),wU}}function zT(e){var t,n,r;for(t="Ot",r=ko(e.length,5),n=0;n=n+1&&e.splice(0,n+1);break}return e}function YT(e,t){return Mf(e)?!!PG[t]:e._c?!!e._c[t]:Lf(e)?!!TG[t]:!!Ph(e)&&!!OG[t]}function FT(){X_(),this.i=(Pf(),new Pr),this.a=new Pr,this.k=new Pr,this.j=new Pr,this.b=new Pr,this.n=new Pr,this.f=new Pr,this.e=new Pr}function $T(e,t){var n,r;t.a.R(e)||(r=gp(H_(e,(vG(),p0)),32),n=gp(Vp(e.f,0),7),r==(SH(),eU)?od(n,vU):r==vU&&od(n,eU),t.a.db(e,t))}function VT(e){var t,n;return n=yo(1,gp(H_(e,(vG(),R0)),24).a),t=e.c.f.g==(dA(),oK)&&e.d.f.g==oK?1:e.c.f.g==oK||e.d.f.g==oK?2:8,n*t}function qT(e){var t,n,r,i,a;for(a=gp(H_(e,(vG(),j0)),7),t=gp(XT(e.b,Ux(eK,UY,12,e.b.c.length,0,1)),47),r=0,i=t.length;ri&&Ig(t,i,null),t}function QT(e,t){var n,r,i;for(i=e.a.length,t.lengthi&&Ig(t,i,null),t}function ZT(e){return Mf(e)?e:Lf(e)?hc((wb(e),e)):Ph(e)?Cf(Sa((wb(e),e))):Ob(e)?e.w():ab(e)?zw(e):e.toString?e.toString():"[JavaScriptObject]"}function JT(e){var t,n,r,i,a;for(a=0,n=e.b,r=0,i=n.length;r0),(t&-t)==t)return Vw(t*zI(e,31)*4.656612873077393e-10);do{n=zI(e,31),r=n%t}while(n-r+(t-1)<0);return Vw(r)}function aP(e,t){if(e.c.f==t)return e.d.f;if(e.d.f==t)return e.c.f;throw new Oa("Node "+t+" is neither source nor target of edge "+e)}function oP(e,t,n){return Tl(e>=0&&e<=1114111),e>=zG?(t[n++]=55296+(e-zG>>10&1023)&YG,t[n]=56320+(e-zG&1023)&YG,2):(t[n]=e&YG,1)}function cP(e,t){var n,r;Xl();while(e.G()){if(!t.G())return!1;if(n=e.H(),r=t.H(),!(Fs(n)===Fs(r)||null!=n&&jC(n,r)))return!1}return!t.G()}function uP(e){var t,n,r;for(Ia(e.b.a),e.a=Ux(NW,az,25,e.c.b.a.b.c.length,0,1),t=0,r=new tr(e.c.b.a.b);r.aa&&Ig(t,a,null),t}function vP(e,t,n){if(n&&(t<0||t>n.a.c.length))throw new Oa("index must be >= 0 and <= layer node count");e.d&&wk(e.d.a,e),e.d=n,n&&lb(n.a,t,e)}function wP(e,t,n,r,i,a,o,c){var u,s;r&&(u=r.a[0],u&&wP(e,t,n,u,i,a,o,c),AP(e,n,r.d,i,a,o,c)&&t.ib(r),s=r.a[1],s&&wP(e,t,n,s,i,a,o,c))}function yP(e,t,n){if(e<0)throw new ja(XG+e+" < 0");if(t>n)throw new ja("toIndex: "+t+" > size "+n);if(e>t)throw new Oa(XG+e+" > toIndex: "+t)}function mP(e,t){var n,r,i;return n=t.yb(),i=t.zb(),r=e.cb(n),!!(Fs(i)===Fs(r)||null!=i&&jC(i,r))&&!(null==r&&!e.R(n))}function xP(e,t,n){var r;r=t.c.f,r.g==(dA(),aK)?(Nk(e,(vG(),E0),gp(H_(r,E0),7)),Nk(e,S0,gp(H_(r,S0),7))):(Nk(e,(vG(),E0),t.c),Nk(e,S0,n.d))}function kP(e,t,n){var r;r=t.c.f,r.g==(dA(),aK)?(Nk(e,(vG(),E0),gp(H_(r,E0),7)),Nk(e,S0,gp(H_(r,S0),7))):(Nk(e,(vG(),E0),t.c),Nk(e,S0,n.d))}function EP(e,t,n){var r,i,a,o,c;for(hE(e),null==e.i&&(e.i=Ux(UF,NG,46,0,0,1)),i=e.i,a=0,o=i.length;a>>28]|t[e>>24&15]<<4|t[e>>20&15]<<8|t[e>>16&15]<<12|t[e>>12&15]<<16|t[e>>8&15]<<20|t[e>>4&15]<<24|t[15&e]<<28}function TP(e,t,n){var r,i;return t.c==(tS(),i1)&&n.c==r1?-1:t.c==r1&&n.c==i1?1:(r=sO(t.a,e.a),i=sO(n.a,e.a),t.c==i1?i-r:r-i)}function PP(e){var t,n,r,i,a;for(i=HG,a=null,r=new tr(e.d);r.a0||!o&&0==c))}function NP(e){var t,n;if(Id(),!e.G())return ev(),m$;if(n=e.H(),!e.G())return new qo(n);t=new Nl,hg(t,db(n));do{hg(t,db(e.H()))}while(e.G());return UC(t)}function IP(e,t,n){e.e=t,e.a=n,e.d=h_(e,(SH(),Jq)),e.d+=h_(e,yU),vD(e,t,n,Jq,e.f),vD(e,t,n,yU,e.n),e.b=h_(e,Jq),e.b+=h_(e,yU),vD(e,n,t,Jq,e.f),vD(e,n,t,yU,e.n)}function DP(e){var t,n,r;Ei(),n=e.length,r=0;while(rr&&e.charCodeAt(t-1)<=32)--t;return r>0||t>19,s=t.h>>19,u!=s?s-u:(i=e.h,c=t.h,i!=c?i-c:(r=e.m,o=t.m,r!=o?r-o:(n=e.l,a=t.l,n-a)))}function FP(e){var t,n,r,i;for(i=new Wn(e.p.a).a.bb().mb(),n=new Kn(i);n.a.G();)if(r=gp(n.a.H(),21),t=gp(r.yb(),89),t.e&&e.b[t.b]<0)return t;return null}function $P(e,t){var n,r,i,a,o;r=mo(e.d,t.d),a=mo(e.e,t.e),i=vo(e.d+e.c,t.d+t.c),o=vo(e.e+e.b,t.e+t.b),i=t.length)throw new ja("Greedy SwitchDecider: Free layer layer not in graph.");this.b=t[e],this.c=new bd(this.b),this.d=new t_(this.b)}function vA(e,t){var n;if(this.f=e,this.b=this.f.c,n=e.d,Mm(t,n),t>=(n/2|0)){this.e=e.e,this.d=n;while(t++0)Qy(this)}this.a=null}function wA(e){var t,n,r;for(n=new tr(e.a.b);n.a0&&(e.g=UA(e.g)),qA(e);case 2:return vl(e.e)<0&&(e.e=qA(e.e)),UA(e);default:return e.d=1+yo(ra(e.e),ra(e.g)),e}}function AA(e,t){this.f=(Pf(),new Pr),this.b=new Pr,this.j=new Pr,this.a=e,this.c=t,this.c>0&&sI(this,this.c-1,(SH(),Jq)),this.c0&&yI(e,t,n),0)):(Rs(0==n),0)}function RA(e,t){var n,r,i,a,o;for(i=gp(H_(t,(vG(),Y0)),15).a*gp(H_(t,(wG(),v1)),15).a,o=e[0].i.a+e[0].j.a,a=1;a=0;t--)d2[t]=r,r*=.5;for(n=1,e=24;e>=0;e--)h2[e]=n,n*=.5}function HA(e){while(0!=e.g.c&&0!=e.d.c)nh(e.g).c>nh(e.d).c?(e.i+=e.g.c,IO(e.d)):nh(e.d).c>nh(e.g).c?(e.e+=e.d.c,IO(e.g)):(e.i+=Np(e.g),e.e+=Np(e.d),IO(e.g),IO(e.d))}function GA(e){if(!e)throw new ua("An element is null. The origin of an edge could not be determined, this might be due to an inconsistency within the internal element mappings.")}function zA(e,t){var n,r;return zx(e.i),zx(e.a),zx(e.k),zx(e.j),zx(e.b),zx(e.n),zx(e.f),zx(e.e),e.d&&(r=Dv(e.d,pW.b),r&&r.ic()&&(e.c=r.ic().a)),n=jH(e,t,null),BM(e,t),n}function YA(e){var t,n,r,i,a,o;r=PM(MR(e)),t=iF,a=0,i=0;while(t>.5&&a<50)i=YD(r),n=jA(r,i,!0),t=fc(n.b),++a;return o=$h(iT(dp(e.g),dp(e.g).b-1)),jA(e,(wb(o),o-i),!1)}function FA(e){var t,n,r,i,a,o;r=PM(MR(e)),t=iF,a=0,i=0;while(t>.5&&a<50)i=zD(r),n=jA(r,i,!0),t=fc(n.a),++a;return o=$h(iT(dp(e.g),dp(e.g).b-1)),jA(e,(wb(o),o-i),!1)}function $A(e){var t,n,r,i;for(i=new Oo("["),t=!1,r=e.mb();r.G();)n=r.H(),t?i.a+=", ":t=!0,Js(i,n===e?"(this Collection)":(Ei(),null==n?LG:ZT(n)));return i.a+="]",i.a}function VA(e){var t,n,r,i;for(i=new Oo("{"),t=!1,r=e.bb().mb();r.G();)n=gp(r.H(),21),t?i.a+=", ":t=!0,Js(i,dm(e,n.yb())),i.a+="=",Js(i,dm(e,n.zb()));return i.a+="}",i.a}function qA(e){var t;return Bs(!!e.g),t=e.g,e.g=t.e,t.e=e,t.j=e.j,t.a=e.a,e.a=1+na(e.e)+na(e.g),e.j=WC(WC(e.c,ia(e.e)),ia(e.g)),e.d=1+yo(ra(e.e),ra(e.g)),t.d=1+yo(ra(t.e),ra(t.g)),t}function UA(e){var t;return Bs(!!e.e),t=e.e,e.e=t.g,t.g=e,t.j=e.j,t.a=e.a,e.a=1+na(e.e)+na(e.g),e.j=WC(WC(e.c,ia(e.e)),ia(e.g)),e.d=1+yo(ra(e.e),ra(e.g)),t.d=1+yo(ra(t.e),ra(t.g)),t}function WA(e){var t;yf(new tr(CP(e.e)))&&(t=gp(aO(e.e,(xG(),sq)),28),t==(BP(),zq)?OL(e.e):t==Yq?qB(e.e):Sa(_a(Fh(aO(e.e,$V))))||0==e.e.e.j.a&&0==e.e.e.j.b?uL(e.e):BB(e))}function KA(e,t,n){var r,i,a;if(i=new tr(e),i.ac?i:c;return i}function QA(e,t){var n;if(Zm(),e.c==t.c){if(e.b==t.b||_E(e.b,t.b)){if(n=Du(e.b)?1:-1,e.a&&!t.a)return n;if(!e.a&&t.a)return-n}return Yl(e.b.e,t.b.e)}return U_(e.c,t.c)}function ZA(e){var t,n;switch(n=wl(QS($_(ao(R$,1),wY,10,0,[e.f.i,e.i,e.a]))),t=e.f.e,e.g.e){case 1:n.b-=t.d;break;case 2:n.a+=t.c;break;case 3:n.b+=t.a;break;case 4:n.a-=t.b}return n}function JA(e,t){var n;return n=0,t.g==(dA(),cK)?(Jx(t).f!=e.a&&(Es(e,Jx(t).f),e.e=!0),e.e?++e.g:n+=e.f):t.g==aK?e.e?n+=e.g:++e.f:t.g==oK&&(Es(e,t),e.e=!1),n}function eN(e,t,n,r,i){var a,o,c,u;for(u=null,c=new tr(r);c.a0)a%2>0&&(r+=c[a+1]),a=(a-1)/2|0,++c[a]}return r}function iN(e,t,n){var r,i,a,o;if(e.e=t,n)for(o=new Wn(e.a.a).a.bb().mb(),i=new Kn(o);i.a.G();)a=gp(i.a.H(),21),r=gp(a.yb(),12),Nk(r,(vG(),V0),e.e),od(r.c,t.a),od(r.d,t.b)}function aN(){aN=a,GX=new xu(oY,0),RX=new xu(tY,1),zX=new xu(nY,2),HX=new xu("LEFT_RIGHT_CONSTRAINT_LOCKING",3),BX=new xu("LEFT_RIGHT_CONNECTION_LOCKING",4),MX=new xu("EDGE_LENGTH",5)}function oN(e,t,n,r){var i;this.b=r,this.e=e.a,i=t[n],this.d=cb(C2,[NG,lF],[227,26],13,[i.length,i.length],2),this.a=cb(_2,[NG,Rz],[52,26],12,[i.length,i.length],2),this.c=new AA(t,n)}function cN(e,t,n,r){var i,a;a=t,i=null==a.d||e.a.$b(n.d,a.d)>0?1:0;while(a.a[i]!=n)a=a.a[i],i=e.a.$b(n.d,a.d)>0?1:0;a.a[i]=r,r.b=n.b,r.a[0]=n.a[0],r.a[1]=n.a[1],n.a[0]=null,n.a[1]=null}function uN(e,t,n){var r,i,a,o;if(PO(n,NY,1),hH(e.d,t),o=vB(e.a,t),1==o.Y())BR(gp(o.sb(0),55),n);else for(a=1/o.Y(),i=o.mb();i.G();)r=gp(i.H(),55),BR(r,BS(n,a));pa(e.a,o,t),rR(t),yj(n)}function sN(e,t,n){var r,i,a,o,c;for(c=new ld(t,n),o=XD(c);o.G();)for(a=gp(o.H(),7),i=kg(hl((Jg(),new rm(vj($_(ao(qF,1),az,1,4,[a.b,a.e]))))));Rj(i);)r=gp(Jw(i),12),mx(r)||xN(e,t,a,r)}function lN(e,t){var n,r,i;for(i=dN(e,t),r=i.mb();r.G();)if(n=gp(r.H(),7),null!=H_(n,(vG(),D0))||Rj(kg(hl((Jg(),new rm(vj($_(ao(qF,1),az,1,4,[n.b,n.e]))))))))return!0;return!1}function fN(e){var t,n;if(nm(e))throw new Oa(NF);for(n=NT(e,0);n.b!=n.d.c;)t=gp(Dm(n),10),this.d=mo(this.d,t.b),this.c=vo(this.c,t.a),this.a=vo(this.a,t.b),this.b=mo(this.b,t.a)}function hN(e,t,n){if(t<0||n<0)throw new Oa("The highx must be bigger then lowx and the highy must be bigger then lowy");return e.a<0?e.a=0:e.a>t&&(e.a=t),e.b<0?e.b=0:e.b>n&&(e.b=n),e}function dN(e,t){switch(t.e){case 1:return wp(e.f,(Wk(),fK));case 2:return wp(e.f,(Wk(),sK));case 3:return wp(e.f,(Wk(),dK));case 4:return wp(e.f,(Wk(),pK));default:return Kv(),Kv(),a2}}function pN(e){var t,n,r,i;for(Xl(),i=new Dl(Hl(yp(e.a,new p)));Rj(i);)for(r=gp(Jw(i),9),r.g==(dA(),iK)&&Nk(r,(vG(),k0),(yO(),lW)),n=kg(_j(r));Rj(n);)t=gp(Jw(n),12),jD(t,(yO(),lW))}function bN(e){var t,n,r,i;for(Xl(),i=new Dl(Hl(yp(e.a,new p)));Rj(i);)for(r=gp(Jw(i),9),r.g==(dA(),iK)&&Nk(r,(vG(),k0),(yO(),sW)),n=kg(_j(r));Rj(n);)t=gp(Jw(n),12),jD(t,(yO(),sW))}function gN(e,t){switch(this.b=new ya,e){case 0:this.d=new Yn(this);break;case 1:this.d=new Gn(this);break;case 2:this.d=new zn(this);break;default:throw new ci}this.c=t,this.a=.2*t}function vN(e){var t,n,r,i;if(!e.b)for(e.b=new Gt,n=new tr(e.a.c);n.a=zG?(t=55296+(e-zG>>10&1023)&YG,n=56320+(e-zG&1023)&YG,String.fromCharCode(t)+""+String.fromCharCode(n)):String.fromCharCode(e&YG)}function mN(e,t,n,r){var i,a,o;switch(i=$g(n),a=Mj(i),o=new WP,Ew(o,n),r.e){case 1:od(o,HC(Xj(a)));break;case 2:od(o,Xj(a))}return Nk(o,(vG(),C0),gp(H_(t,C0),15)),Nk(t,j0,o),kv(e.b,o,t),o}function xN(e,t,n,r){var i;np(e.c,new _v(e,n,r,gp(Ug(e.k,n),24).a)),zg(r)&&(t==e.e?r.d.f!=e.a&&r.c.f!=e.a:r.d.f!=e.e&&r.c.f!=e.e)&&(i=n==r.c?r.d:r.c,np(e.c,new _v(e,i,r,gp(Ug(e.k,i),24).a)))}function kN(e,t){var n,r,i;if(t===e)return!0;if(!wf(t,57))return!1;if(i=gp(t,57),e.Y()!=i.Y())return!1;for(r=i.bb().mb();r.G();)if(n=gp(r.H(),21),!e._(n))return!1;return!0}function EN(e,t){var n,r,i;return r=new jT(e),lj(r,t),Nk(r,(vG(),d0),t),Nk(r,(xG(),sq),(BP(),zq)),Nk(r,TV,(lT(),$$)),gr(r,(dA(),rK)),n=new WP,Ew(n,r),od(n,(SH(),yU)),i=new WP,Ew(i,r),od(i,Jq),r}function SN(e,t){var n,r,i;for(i=HG,r=new tr(Bj(t));r.ai?a:i}return a}function TN(e){var t,n,r,i,a;for(a=HG,i=HG,r=new tr(Bj(e));r.a0&&PN(e,a,n));t.k=0}function AN(e,t){if(mt(this),0>t)throw new Oa("Top must be smaller or equal to bottom.");if(0>e)throw new Oa("Left must be smaller or equal to right.");this.d=0,this.c=e,this.a=t,this.b=0}function NN(e){var t,n,r;if(mt(this),0==e.length)throw new Oa(NF);for(n=0,r=e.length;nn?qN(e,n,"start index"):t<0||t>n?qN(t,n,"end index"):SL("end index (%s) must not be less than start index (%s)",$_(ao(qF,1),az,1,4,[Cj(t),Cj(e)]))}function GN(e){if(!("id"in e.a))throw new sh("Every graph element must specify an 'id' property.",e);if(!Dv(e,"id").lc())throw new sh("Invalid format for 'id'. Must be a string, was "+Dv(e,"id").$c,e)}function zN(e,t){var n,r,i,a,o,c,u;for(u=e.b,r=gp(Nv(NX,e),20).mb();r.G();)for(n=gp(r.H(),75),a=new Wn(n.c.a).a.bb().mb(),c=new Kn(a);c.a.G();)i=gp(c.a.H(),21),o=gp(i.yb(),7),kd(t,o),HI(o,u)}function YN(e,t){var n,r,i;for(i=new tr(t.e);i.a1)throw new Oa("In straight hyperEdges there may be only one edge.");tp((i=new Wn(n.a).a.bb().mb(),r=gp(new Kn(i).a.H(),21),gp(r.yb(),12)).a,new Hc(t,e.b))}function ZN(e,t,n){var r,i;if(this.f=e,r=gp(Ug(e.b,t),126),i=r?r.a:0,Mm(n,i),n>=(i/2|0)){this.e=r?r.c:null,this.d=i;while(n++0)ly(this)}this.b=t,this.a=null}function JN(t,n){typeof r===BG?r(n):((typeof document!==bY||typeof e===AG&&e.exports)&&P2(t(n)),typeof document===bY&&typeof self!==bY&&self.postMessage(n))}function eI(e,t){var n,r,i,a;"x"in e.a&&(i=gp(Dv(e,"x"),104),t.i.a=i.a),"y"in e.a&&(a=gp(Dv(e,"y"),104),t.i.b=a.a),kY in e.a&&(r=gp(Dv(e,kY),104),t.j.a=r.a),EY in e.a&&(n=gp(Dv(e,EY),104),t.j.b=n.a)}function tI(e,t,n){var r,i;Yx(this),t==(Pw(),qZ)?hg(this.g,e.c):hg(this.o,e.c),hg(n==qZ?this.g:this.o,e.d),hg(this.c,e),r=hy(e.c).b,i=hy(e.d).b,cT(this,r,i,i),this.f=nv(hy(e.c).b,hy(e.d).b)}function nI(e){var t,n,r,i,a,o;for(o=new ld(e.d,e.e),a=XD(o);a.G();)for(i=gp(a.H(),7),r=e.e==(SH(),yU)?i.b:i.e,n=new tr(r);n.a>1),oI(t,e,u,s,-i,a),oI(t,e,s,c,-i,a),a.$b(e[s-1],e[s])<=0)while(nc?r:c;return r-i}function PI(e){var t;return t=new sa,Ak(t,"type",new pb((rd(TW),TW.n))),Ak(t,gY,new pb(e.f)),e.b&&Ak(t,"value",e.b),e.a&&Ak(t,"context",e.a),Ak(t,vY,new pb(Nf(new Ta("\n"),new Un(new nr((null==e.g&&(e.g=Jp(e)),e.g)))))),t}function AI(e,t){return e.ct.c?1:e.bt.b?1:e.a!=t.a?e.a.b-t.a.b:0==e.d&&1==t.d?-1:1==e.d&&0==t.d?1:0}function NI(e,t){var n,r,i,a,o;if(t===e)return!0;if(!wf(t,20))return!1;if(o=gp(t,20),e.Y()!=o.Y())return!1;for(a=o.mb(),r=e.mb();r.G();)if(n=r.H(),i=a.H(),!(Fs(n)===Fs(i)||null!=n&&jC(n,i)))return!1;return!0}function II(e){var t=(!S$&&(S$=$H()),S$),n=e.replace(/[\x00-\x1f\xad\u0600-\u0603\u06dd\u070f\u17b4\u17b5\u200b-\u200f\u2028-\u202e\u2060-\u2064\u206a-\u206f\ufeff\ufff9-\ufffb"\\]/g,(function(e){return oy(e,t)}));return'"'+n+'"'}function DI(e,t){var n,r,i,a,o,c,u;for(i=1==t?DW:IW,o=new Wn(i.a).a.bb().mb(),r=new Kn(o);r.a.G();)for(a=gp(r.a.H(),21),n=gp(a.yb(),59),u=gp(TA(e.f.c,n),18).mb();u.G();)c=gp(u.H(),27),wk(e.b.b,c.b),wk(e.b.a,gp(c.b,25).f)}function LI(e,t,n){var r,i,a,o;if(PO(n,"Recursive layout",2),0!=t.b.c.length){for(o=1/t.b.c.length,a=new tr(t.b);a.a=2147483648&&(r-=4294967296),r)}function YI(e,t,n){var r,i,a;if(t!=n){r=t;do{qh(e,r.d),a=gp(H_(r,(vG(),N0)),9),a&&(i=r.a,Wf(e,i.b,i.d),qh(e,a.i),r=$g(a))}while(a);r=n;do{Uh(e,r.d),a=gp(H_(r,(vG(),N0)),9),a&&(i=r.a,Kf(e,i.b,i.d),Uh(e,a.i),r=$g(a))}while(a)}}function FI(e,t){var n,r,i,a,o,c;for(n=new Gt,c=new Uu,o=new Wn(e.a).a.bb().mb(),i=new Kn(o);i.a.G();)a=gp(i.a.H(),21),r=gp(a.yb(),12),CM(c,r.c,r,null),CM(c,r.d,r,null);while(c.a)np(n,XM(c,t,ah(gp(H_(t,(xG(),sq)),28))));return n}function $I(e,t){var n,r,i,a,o;for(a=new tr(e.e.a);a.a0&&i0):i<0&&-i0)}function QI(e,t,n,r,i){var a,o;ES(QS($_(ao(R$,1),wY,10,0,[i.f.i,i.i,i.a])),n)||(t.c==i?eh(t.a,0,new Ys(n)):tp(t.a,new Ys(n)),r&&!cc(e.a,n)&&(o=gp(H_(t,(xG(),qV)),44),o||(o=new ti,Nk(t,qV,o)),a=new Ys(n),Fm(o,a,o.c.b,o.c),hg(e.a,a)))}function ZI(e){var t,n,r,i,a,o,c;for(t=0,r=new tr(e.a);r.a(c-o<=0?0-(c-o):c-o)?t:c-o<=0?0-(c-o):c-o);return t}function JI(e,t){var n,r,i;if(Fs(t)===Fs(db(e)))return!0;if(!wf(t,20))return!1;if(r=gp(t,20),i=e.Y(),i!=r.Y())return!1;if(wf(r,63)){for(n=0;n=0)return i;for(a=1,c=new tr(t.f);c.au+1?a:u+1);return $j(e,t,a),a}function tD(e,t,n){var r,i,a,o,c,u;if(r=0,0!=e.b&&0!=t.b){a=NT(e,0),o=NT(t,0),c=_a($h(Dm(a))),u=_a($h(Dm(o))),i=!0;do{c>u-n&&c>t,a=e.m>>t|n<<22-t,i=e.l>>t|e.m<<22-t):t<44?(o=r?Yz:0,a=n>>t-22,i=e.m>>t-22|n<<44-t):(o=r?Yz:0,a=r?zz:0,i=n>>t-44),Qd(i&zz,a&zz,o&Yz)}function iD(e,t){switch(e.e){case 1:switch(t.e){case 1:return 1;case 4:return 2;case 3:return 3;case 2:return 4}break;case 2:switch(t.e){case 1:return 1;case 2:return 2;case 3:return 3;case 4:return 4}break;default:throw new Oa(yF)}return 0}function aD(e,t,n){var r,i,a,o,c,u;r=new Gt,r.c[r.c.length]=t,u=t,c=0;do{u=mH(e,u),u&&(r.c[r.c.length]=u),++c}while(u);for(o=(n-(r.c.length-1)*e.d.d)/r.c.length,a=new tr(r);a.a=e.g.d?(t=e.f,t.e=dS(e.e,t),t.g=e.g,t.a=e.a-1,t.j=XC(e.j,n),PA(t)):(t=e.i,t.g=pS(e.g,t),t.e=e.e,t.a=e.a-1,t.j=XC(e.j,n),PA(t)):e.e:e.g}function lD(e){var t,n,r,i,a,o;for(i=new tr(e.a);i.aa.k?od(o,vU):o.g==vU&&a.k>r.k&&od(o,eU))}function fD(e,t,n){var r,i,a,o,c,u,s;for(s=e.b,o=0,a=new tr(e.a.b);a.a0?i+e.i[1]*t+e.n[1]:0,e.o[3]>0?i+e.i[3]*t+e.n[3]:0),a=vo(e.o[4]>0?n+e.i[4]*t+e.n[4]:0,e.o[2]>0?n+e.i[2]*t+e.n[2]:0),new Hc(o,a)}function gD(e){var t,n,r,i,a,o;for(o=gp(XT(e.a,Ux(uK,CY,9,e.a.c.length,0,1)),51),uf(o,new ae),n=null,i=0,a=o.length;i0)return mD(e,t,n.g);if(0!=r)return WC(WC(t.ac(n.g),t._b(n)),mD(e,t,n.e));switch(e.b.f.e){case 0:return WC(t._b(n),t.ac(n.g));case 1:return t.ac(n.g);default:throw new Tr}}function xD(e,t,n){var r;if(!n)return 0;if(r=e.d.$b(e.b.e,n.b),r<0)return xD(e,t,n.e);if(0!=r)return WC(WC(t.ac(n.e),t._b(n)),xD(e,t,n.g));switch(e.b.d.e){case 0:return WC(t._b(n),t.ac(n.e));case 1:return t.ac(n.e);default:throw new Tr}}function kD(e,t,n,r){var i,a,o,c;return o=new jT(e),gr(o,(dA(),aK)),Nk(o,(vG(),j0),t),Nk(o,(xG(),sq),(BP(),zq)),Nk(o,E0,n),Nk(o,S0,r),a=new WP,od(a,(SH(),yU)),Ew(a,o),c=new WP,od(c,Jq),Ew(c,o),_w(t,a),i=new Fv,lj(i,t),Nk(i,qV,null),Cw(i,c),_w(i,r),o}function ED(e,t){var n,r,i,a,o,c,u,s,l,f;for(n=0,o=e.j,c=0,u=o.length;ct.c?1:e.bt.b?1:e.a!=t.a?Ch(e.a)-Ch(t.a):e.d==(cm(),SQ)&&t.d==EQ?-1:e.d==EQ&&t.d==SQ?1:0}function _D(e){var t,n,r,i,a,o;for(i=new Aa,r=new tr(e.d.a);r.a1)for(t=sf(nc(new Jr,e.b++),e.d),o=NT(i,0);o.b!=o.d.c;)a=gp(Dm(o),61),eL(Qo(Jo(ec(Zo(new Zr,1),0),t),a))}function CD(e,t,n,r){var i,a,o,c,u,s;for(s=0,o=new tr(e.a.b);o.an.a&&(a=yo(a,o.a-n.a-1));return a}function PD(e){var t,n;switch(t=gp(H_(e,(xG(),QV)),15).a,n=gp(H_(e,ZV),15).a,Nk(e,ZV,new Vn(t)),Nk(e,QV,new Vn(n)),gp(H_(e,TV),103).e){case 1:Nk(e,TV,(lT(),U$));break;case 2:Nk(e,TV,(lT(),F$));break;case 3:Nk(e,TV,(lT(),V$));break;case 4:Nk(e,TV,(lT(),q$))}}function AD(e){var t,n,r,i,a;for(Xl(),i=new Dl(Hl(yp(e.a,new p)));Rj(i);)for(r=gp(Jw(i),9),r.g==(dA(),iK)&&(a=ZO(r)?(yO(),lW):(yO(),sW),Nk(r,(vG(),k0),a)),n=kg(_j(r));Rj(n);)t=gp(Jw(n),12),a=Sa(_a(Fh(H_(t,(vG(),z0)))))?(yO(),sW):(yO(),lW),jD(t,a)}function ND(e){var t,n,r,i,a;for(Xl(),i=new Dl(Hl(yp(e.a,new p)));Rj(i);)for(r=gp(Jw(i),9),r.g==(dA(),iK)&&(a=ZO(r)?(yO(),sW):(yO(),lW),Nk(r,(vG(),k0),a)),n=kg(_j(r));Rj(n);)t=gp(Jw(n),12),a=Sa(_a(Fh(H_(t,(vG(),z0)))))?(yO(),lW):(yO(),sW),jD(t,a)}function ID(e,t,n){var r,i,a;for(a=new tr(e.e);a.a0&&(r.b.c-=r.c,r.b.c<=0&&r.b.f>0&&tp(t,r.b));for(i=new tr(e.b);i.a0&&(r.a.f-=r.c,r.a.f<=0&&r.a.c>0&&tp(n,r.a))}function DD(e,t,n){var r,i,a;for(a=new tr(e.j);a.a0&&(r.b.e-=r.c,r.b.e<=0&&r.b.k>0&&tp(t,r.b));for(i=new tr(e.d);i.a0&&(r.a.k-=r.c,r.a.k<=0&&r.a.e>0&&tp(n,r.a))}function LD(e){var t,n,r,i,a;switch(a=e.d.c+e.e.c,a){case 0:return Ci(),y$;case 1:return r=gp(LN(new lC(new qn(e).a)),21),Qh(r.yb(),r.zb());default:for(Pf(),i=new wx,n=new lC(new qn(e).a);n.b;)t=RE(n),LT(i,db(t.yb()),db(t.zb()));return new Ji(i)}}function MD(e,t,n){var r,i,a;for(i=new tr(e.b.a.b);i.a0&&((!$c(e.b.d)||!r.q.d)&&(!Vc(e.b.d)||!r.q.b)&&(r.j.e+=0>a/2-.5?0:a/2-.5),(!$c(e.b.d)||!r.q.a)&&(!Vc(e.b.d)||!r.q.c)&&(r.j.b-=a-1)))}function RD(e,t){switch(e.e){case 1:switch(t.e){case 1:return mF;case 4:return.5;case 3:return xF;case 2:return kF}break;case 2:switch(t.e){case 1:return mF;case 2:return.5;case 3:return xF;case 4:return kF}break;default:throw new Oa(yF)}return 0}function BD(e,t){var n,r,i,a;a=new zy(e,0),Al(a.b0),a.a.sb(a.c=--a.b),kd(a,i),Al(a.b1)&&(++a,++o);return!ah(gp(H_(n,(xG(),sq)),28))&&c&&(++a,++o),kv(i,n,Cj(a)),o}function zD(e){var t,n,r,i,a,o,c,u,s,l,f,h;o=e.b.mb(),c=gp(o.H(),92),l=c.a.a,s=l>PF,u=lPF,u=lPF,u=lPF,u=l0&&((!$c(e.b.d)||!r.q.d)&&(!Vc(e.b.d)||!r.q.b)&&(r.j.e-=0>a/2-.5?0:a/2-.5),(!$c(e.b.d)||!r.q.a)&&(!Vc(e.b.d)||!r.q.c)&&(r.j.b+=0>a-1?0:a-1)))}function XD(e){var t,n,r;switch(r=e.a.f,e.b){case 0:return new tr(e.a.f);case 1:return ng((n=new iy(r),n),tA(e));case 2:switch(e.c.e){case 2:case 1:return ng(new tr(r),tA(e));case 3:case 4:return ng((t=new iy(r),t),tA(e))}}throw new Qa("PortOrder not implemented.")}function QD(e,t){var n;e.d&&(t.c!=e.e.c||CE(e.e.b,t.b))&&(np(e.f,e.d),e.a=e.d.d+e.d.c,e.d=null,e.e=null),Lu(t.b)?e.c=t:e.b=t,(t.b==(YS(),GW)&&!t.a||t.b==zW&&t.a||t.b==YW&&t.a||t.b==FW&&!t.a)&&e.c&&e.b&&(n=new Cv(e.a,e.c.d,t.c-e.a,e.b.d-e.c.d),e.d=n,e.e=t)}function ZD(e,t,n,r){this.e=e,this.j=gp(H_(e,(vG(),F0)),134),this.f=Ux(uK,CY,9,t,0,1),this.b=Ux(J1,NG,184,t,6,1),this.a=Ux(uK,CY,9,t,0,1),this.d=Ux(J1,NG,184,t,6,1),this.i=Ux(uK,CY,9,t,0,1),this.g=Ux(J1,NG,184,t,6,1),this.n=Ux(J1,NG,184,t,6,1),this.k=n,this.c=r}function JD(e,t,n){var r,i;if(t.g==(dA(),cK)&&n.g==cK){if(!ah(gp(H_(gp(H_(t,(vG(),j0)),9),(xG(),sq)),28))||gp(H_(t,j0),9)!=gp(H_(n,j0),9))return;if(_T(t)||_T(n))return e.d=1,void(e.b=1);i=gp(Vp(t.f,0),7).g,r=gp(Vp(n.f,0),7).g,ek(t).g==(SH(),eU)?tL(e,t,n,i,r):tL(e,n,t,r,i)}}function eL(e){if(!e.a.c||!e.a.d)throw new Wa((rd(KX),KX.j+" must have a source and target "+(rd(XX),XX.j+" specified.")));if(e.a.c==e.a.d)throw new Wa("Network simplex does not support self-loops: "+e.a+" "+e.a.c+" "+e.a.d);return lg(e.a.c.g,e.a),lg(e.a.d.c,e.a),e.a}function tL(e,t,n,r,i){r==(SH(),Jq)&&i==Jq?ew(e,t)>ew(e,n)?e.d=ST(e,n):e.b=ST(e,t):r==yU&&i==yU?ew(e,t)ew(e,n)&&(e.d=ST(e,n),e.b=ST(e,t)):ew(e,t)0&&a>0?t++:r>0?n++:a>0?i++:n++}_m(e.f,new Me)}function rL(e,t,n,r){var i,a,o,c,u;n.d.f!=t.f&&(i=new jT(e),gr(i,(dA(),aK)),Nk(i,(vG(),j0),n),Nk(i,(xG(),sq),(BP(),zq)),r.c[r.c.length]=i,o=new WP,Ew(o,i),od(o,(SH(),yU)),c=new WP,Ew(c,i),od(c,Jq),u=n.d,_w(n,o),a=new Fv,lj(a,n),Nk(a,qV,null),Cw(a,c),_w(a,u),_I(i,o,c))}function iL(e){var t,n,r,i,a,o,c,u,s;for(o=iF,u=iF,c=null,n=new ov(new dr(e.e));n.b!=n.c.a.b;)if(t=mk(n),1==gp(t.d,60).c&&(r=gp(t.e,116).a,s=gp(t.e,116).b,i=o-r>cF,a=r-ocF,(i||a)&&(u=gp(t.e,116).b,o=gp(t.e,116).a,c=gp(t.d,60),0==u&&0==o)))return c;return c}function aL(e,t){var n,r,i,a,o,c;return a=e.d,c=gp(H_(e,(xG(),xq)),15).a,c<0&&(c=0,Nk(e,xq,new Vn(c))),t.j.b=c,o=Math.floor(c/2),r=new WP,od(r,(SH(),yU)),Ew(r,t),r.i.b=o,i=new WP,od(i,Jq),Ew(i,t),i.i.b=o,_w(e,r),n=new Fv,lj(n,e),Nk(n,qV,null),Cw(n,i),_w(n,a),xP(t,e,n),yA(e,n),n}function oL(e){var t,n;n=gp(H_(e,(wG(),k1)),85),t=gp(H_(e,(vG(),y0)),140),n==(tP(),Q0)?(Nk(e,k1,e1),Nk(e,y0,(PE(),$J))):n==J0?(Nk(e,k1,e1),Nk(e,y0,(PE(),YJ))):t==(PE(),$J)?(Nk(e,k1,Q0),Nk(e,y0,FJ)):t==YJ&&(Nk(e,k1,J0),Nk(e,y0,FJ))}function cL(e){var t,n,r,i,a;for(r=new tr(lP(e.e));r.aPF&&(this.b.ib(n),c=!1),this.b.ib(u);c&&this.b.ib(n)}function fL(e){var t,n,r,i;if(uM(e,e.n),e.d.c.length>0){Co(e.c);while(OI(e,gp($y(new tr(e.e.a)),61))0?n:0,r.i.b=n+_d(e.a,a,c)):r.i.b=(wb(o),o)),u=_d(e.a,a,c),r.i.b0&&(45==e.charCodeAt(0)||43==e.charCodeAt(0))?1:0,t=i;tHG)throw new Po($G+e+'"');return a}function bL(e,t,n,r){var i,a,o,c;for(i=gp(dN(t,(SH(),yU)).mb().H(),7),a=gp(dN(t,Jq).mb().H(),7),c=new tr(e.f);c.ao?0:o)o?0:o:u,(0>(so?0:o)o?0:o:u)),o=s,s+=c,r=gp(Vp(e.c,a),9),n=new kl(l),n.j.b=t.j.b,xI(e.b,t,n),np(r.c,n);wk(e.g.c,t),np(e.i,(i=new gu(e,t),i))}function jL(e,t,n){var r,i,a,o,c,u,s,l,f;for(t.k=1,a=t.d,f=iO(t,(tS(),i1)).mb();f.G();)for(l=gp(f.H(),7),i=new tr(l.e);i.ah+u&&r.I();for(o=new tr(d);o.acF,a=r-ocF,(i||a)&&(u=gp(t.e,116).b,o=gp(t.e,116).a,c=gp(t.d,60),0==u&&0==o)))return c;return c}function ML(e,t){var n,r,i,a,o;e.d=t,zx(e.b),e.c=!1;e:for(r=new tr(e.d.c);r.au?new IE(t,e,c-u):c>0&&u>0&&(new IE(e,t,0),new IE(t,e,0)))}function HL(e,t){var n,r,i,a,o,c,u,s,l;for(s=new Gt,l=null,r=gp(Nv(NX,e),20).mb();r.G();){for(n=gp(r.H(),75),a=new Wn(n.c.a).a.bb().mb(),u=new Kn(a);u.a.G();)i=gp(u.a.H(),21),o=gp(i.yb(),7),kd(t,o),HI(o,e.b);v_(s,n.b),l=e.a}for(BN(s),yE(s,l),c=new tr(s);c.an.k&&c1&&(o=n?_s(t.d)+1:_s(s.d)-1,c=gp(Vp(e.a.c,o),16),Sw(s,c)),KL(e,s,n));return t}function XL(e,t){var n,r,i,a;for(i=t.d?e.a.c==(Tw(),YQ)?Sj(t.b):_j(t.b):e.a.c==(Tw(),zQ)?Sj(t.b):_j(t.b),a=!1,Xl(),r=new Dl(Hl(yp(i.a,new p)));Rj(r);)if(n=gp(Jw(r),12),e.c.a[n.c.f.d.k]!==e.c.a[n.d.f.d.k]&&(a=!0,cc(e.b,e.a.f[aP(n,t.b).k])))return t.c=!0,t.a=n,t;return t.c=a,t.a=null,t}function QL(e,t,n){var r,i,a,o;for(r=gp(H_(e.d,(xG(),IV)),15).a,a=new tr(e.a.b);a.aPF){a=t,o=0;while((t-a<=0?0-(t-a):t-a)0&&V_(this.n,!0,(QC(),Q$)),e.g==(dA(),rK)&&ep(this.n,!1,!1,!1,!1)}function iM(e,t,n){var r,i,a,o,c,u,s,l,f,h;for(a=new Hc(t,n),l=new tr(e.b);l.ar?f:r,c>e.j.a&&(s=(c-e.j.a)/2,o.b=vo(o.b,s),o.c=vo(o.c,s))}function yM(e,t,n,r){var i,a,o,c,u,s,l,f,h,d;for(o=Wf(t.d,n,r),f=new tr(t.b);f.a=40,o&&eR(e),eB(e),fL(e),n=FP(e),r=0;while(n&&rs&&(h=0,d+=u+t,u=0),iM(o,h,d),n=vo(n,h+l.a),u=vo(u,l.b),h+=l.a+t;return new Hc(n+t,d+u+t)}function CM(e,t,n,r){var i,a,o;return o=new _c(t,n),e.a?r?(i=gp(Ug(e.b,t),126),++i.a,o.d=r.d,o.e=r.e,o.b=r,o.c=r,r.e?r.e.c=o:gp(Ug(e.b,t),126).b=o,r.d?r.d.b=o:e.a=o,r.d=o,r.e=o):(e.e.b=o,o.d=e.e,e.e=o,i=gp(Ug(e.b,t),126),i?(++i.a,a=i.c,a.c=o,o.e=a,i.c=o):(kv(e.b,t,new dw(o)),++e.c)):(e.a=e.e=o,kv(e.b,t,new dw(o)),++e.c),++e.d,o}function jM(e){var t,n,r,i,a,o,c,u;if(e.e)throw new Wa((rd(BW),"The "+BW.j+RY));for(e.d==(QC(),Z$)&&sH(e,X$),n=new tr(e.a.a);n.a0?(u=e.g,u?(o=u.d,e.g=AM(u,t,n,r,i),0==i[0]&&++e.a,e.j=WC(e.j,r),e.g.d==o?e:PA(e)):(i[0]=0,SS(e,n,r))):(i[0]=e.c,s=WC(e.c,r),Rs(mC(s,HG)<=0),e.c+=r,e.j=WC(e.j,r),e)}function NM(e,t){var n,r,i,a,o,c;i=QM(t,",|;|\\(|\\)|\\[|\\]|\\{|\\}| |\t|\n"),Bv(e);try{r=0,o=0,a=0,c=0;while(r0&&(o%2==0?a=sA(i[r]):c=sA(i[r]),o>0&&o%2!=0&&tp(e,new Hc(a,c)),++o),++r}catch(u){throw u=xC(u),wf(u,130)?(n=u,new Oa("The given string does not match the expected format for vectors."+n)):dj(u)}}function IM(e,t,n){var r,i,a,o,c,u,s,l;for(i=!0,o=new tr(t.c);o.as&&r>s)){i=!1,e.a&&ap();break}s=_a(n.n[c.k])+_a(n.d[c.k])+c.j.b+c.e.a}if(!i)break}return e.a&&ap(),i}function DM(e){var t,n,r,i,a,o,c,u;return isNaN(e)?(Qk(),M$):e<-0x8000000000000000?(Qk(),L$):e>=0x8000000000000000?(Qk(),D$):(i=!1,e<0&&(i=!0,e=-e),r=0,e>=$z&&(r=Vw(e/$z),e-=r*$z),n=0,e>=Fz&&(n=Vw(e/Fz),e-=n*Fz),t=Vw(e),a=Qd(t,n,r),i&&(o=1+~a.l&zz,c=~a.m+(0==o?1:0)&zz,u=~a.h+(0==o&&0==c?1:0)&Yz,a.l=o,a.m=c,a.h=u),a)}function LM(e){var t,n,r,i,a,o,c;if(i=fP(e),yf(new tr(i))){for(c=new Cv(0,0,e.e.j.a,e.e.j.b),n=new tr(i);n.au+d&&(p=l.i+f.i,f.a=(f.i*f.a+l.i*l.a)/p,f.i=p,l.g=f,n=!0)),a=c,l=f}return n}function zM(e){var t,n,r,i,a,o;if(Fs(H_(e,(xG(),sq)))===Fs((BP(),Yq))||Fs(H_(e,sq))===Fs(zq))for(o=new tr(e.f);o.ao)return SH(),Jq;break;case 4:case 3:if(l<0)return SH(),eU;if(l+n>a)return SH(),vU}return u=(s+c/2)/o,r=(l+n/2)/a,u+r<=1&&u-r<=0?(SH(),yU):u+r>=1&&u-r>=0?(SH(),Jq):r<.5?(SH(),eU):(SH(),vU)}function FM(e,t,n,r,i,a,o){var c,u,s,l,f,h;for(h=new Ju,s=t.mb();s.G();)for(c=gp(s.H(),627),f=new tr(ET(c));f.a0&&tp(e.e,a)):(e.c[o]-=s+1,e.c[o]<=0&&e.a[o]>0&&tp(e.d,a))))}function VM(e,t){var n,r,i,a,o,c,u,s,l;for(o=new tr(t.c);o.ac&&(c=gp(H_(n,R0),24).a);for(r=kg(Sj(u));Rj(r);)n=gp(Jw(r),12),u.d!=n.c.f.d&&gp(H_(n,(vG(),R0)),24).a==c&&np(l,new Gc(n.c.f,n));_m(l,e.c),lb(e.b,u.k,l)}}function qM(e,t){var n,r,i,a,o,c,u,s,l;for(o=new tr(t.c);o.ac&&(c=gp(H_(n,R0),24).a);for(r=kg(_j(u));Rj(r);)n=gp(Jw(r),12),u.d!=n.d.f.d&&gp(H_(n,(vG(),R0)),24).a==c&&np(l,new Gc(n.d.f,n));_m(l,e.c),lb(e.f,u.k,l)}}function UM(e){var t,n,r,i,a,o,c,u,s,l;for(eC(),this.b=new Qe,this.c=new Gt,this.a=new Gt,u=J_(),s=0,l=u.length;s0){i=c.length;while(i>0&&""==c[i-1])--i;i0&&0==i[0]&&++e.a,e.j=WC(e.j,r-i[0]),PA(e)):(i[0]=0,r>0?_S(e,n,r):e)):a>0?(c=e.g,c?(e.g=JM(c,t,n,r,i),0==r&&0!=i[0]?--e.a:r>0&&0==i[0]&&++e.a,e.j=WC(e.j,r-i[0]),PA(e)):(i[0]=0,r>0?SS(e,n,r):e)):(i[0]=e.c,0==r?sD(e):(e.j=WC(e.j,r-e.c),e.c=r,e))}function eR(e){var t,n,r,i,a,o,c;for(e.o=new xi,r=new Aa,o=new tr(e.e.a);o.a0,c=Qj(t,a),Ll(n?c.c:c.g,t),1==Bj(c).c.length&&Fm(r,c,r.c.b,r.c),i=new Gc(a,t),il(e.o,i),wk(e.e.a,a))}function tR(e,t,n,r,i){var a,o,c;return a=t.$b(n,e.b),a<0?(o=e.e,o?(e.e=tR(o,t,n,r,i),i[0]>0&&(r>=i[0]?(--e.a,e.j=XC(e.j,i[0])):e.j=XC(e.j,r)),0==i[0]?e:PA(e)):(i[0]=0,e)):a>0?(c=e.g,c?(e.g=tR(c,t,n,r,i),i[0]>0&&(r>=i[0]?(--e.a,e.j=XC(e.j,i[0])):e.j=XC(e.j,r)),PA(e)):(i[0]=0,e)):(i[0]=e.c,r>=e.c?sD(e):(e.c-=r,e.j=XC(e.j,r),e))}function nR(e,t,n){var r,i,a,o,c,u,s,l;for(u=new tr(n.b);u.a0||0==n&&t.f==(Kl(),u$))&&(c=t.g,u=t.f)):(i=t.c,c=t.g,u=t.f),r&&i&&(n=e.a.$b(a,c),(n>0||0==n&&o==(Kl(),u$)&&u==(Kl(),u$))&&(a=c,Kl(),o=u$,u=c$)),new gI(e.a,r,a,o,i,c,u)}function sR(e,t,n,r){var i,a,o,c,u,s,l;if(n.c.f!=t.f){i=new jT(e),gr(i,(dA(),aK)),Nk(i,(vG(),j0),n),Nk(i,(xG(),sq),(BP(),zq)),r.c[r.c.length]=i,o=new WP,Ew(o,i),od(o,(SH(),yU)),c=new WP,Ew(c,i),od(c,Jq),_w(n,o),a=new Fv,lj(a,n),Nk(a,qV,null),Cw(a,c),_w(a,t),_I(i,o,c),s=new zy(n.b,0);while(s.b=r&&f.a>=r&&(h.a=r),p.a<=n&&f.a<=n&&(b.a=n-10),1==t.c.a.Y()?Hk(c.a,$_(ao(R$,1),wY,10,0,[h,d,g,b])):Hk(c.a,$_(ao(R$,1),wY,10,0,[h,d,i,g,b]))}function fR(e,t){var n,r,i,a,o,c;for(a=e.c,o=e.d,Cw(e,null),_w(e,null),t&&Sa(_a(Fh(H_(o,(vG(),v0)))))?Cw(e,cR(o.f,(tS(),i1),(SH(),Jq))):Cw(e,o),t&&Sa(_a(Fh(H_(a,(vG(),A0)))))?_w(e,cR(a.f,(tS(),r1),(SH(),yU))):_w(e,a),r=new tr(e.b);r.a0&&s[r]&&(p=_d(e.b,s[r],u)),b=vo(b,i.d.c.b+p);for(a=new tr(l.f);a.a_a(df(o.g,o.d[0]).a)?(Al(u.b>0),u.a.sb(u.c=--u.b),kd(u,o),i=!0):c.e&&c.e.Y()>0&&(a=(!c.e&&(c.e=new Gt),c.e).nb(t),s=(!c.e&&(c.e=new Gt),c.e).nb(n),(a||s)&&((!c.e&&(c.e=new Gt),c.e).ib(o),++o.c));i||(r.c[r.c.length]=o)}function vR(e,t,n,r){var i,a,o,c,u,s,l,f,h,d,p;n.d.f!=t.f&&(i=new jT(e),gr(i,(dA(),aK)),Nk(i,(vG(),j0),n),Nk(i,(xG(),sq),(BP(),zq)),r.c[r.c.length]=i,o=new WP,Ew(o,i),od(o,(SH(),yU)),c=new WP,Ew(c,i),od(c,Jq),u=n.d,_w(n,o),a=new Fv,lj(a,n),Nk(a,qV,null),Cw(a,c),_w(a,u),s=gp(Vp(o.b,0),12).c,l=s.f,f=l.g,h=gp(Vp(c.e,0),12).d,d=h.f,p=d.g,Nk(i,E0,f==aK?gp(H_(l,E0),7):s),Nk(i,S0,p==aK?gp(H_(d,S0),7):h))}function wR(e,t,n){var r,i,a,o,c,u,s,l,f,h,d,p,b,g,v;return c=e.b[t],u=e.b[n],s=gp(H_(c,(vG(),x0)),20),!(s&&0!=s.Y()&&s.kb(u)||(l=c.g!=(dA(),aK)&&u.g!=aK,f=gp(H_(c,m0),9),h=gp(H_(u,m0),9),d=!!f&&f!=c||!!h&&h!=u,p=f!=h,b=lN(c,(SH(),eU)),g=lN(u,vU),v=d&&p||b||g,l&&v)||c.g==(dA(),cK)&&u.g==oK||u.g==(dA(),cK)&&c.g==oK)&&(o=e.b[t],r=e.b[n],IP(e.c,o,r),KP(e.d,o,r),a=_C(e.a,o,r)+e.c.d+e.d.d,i=_C(e.a,r,o)+e.c.b+e.d.b,a>i)}function yR(e,t){var n,r,i,a,o,c,u,s,l,f,h,d,p,b;for(o=t,h=t.d,l=t.c.f,d=t.d.f,f=_s(l.d),p=_s(d.d),c=f;c0&&R_(t.charCodeAt(n-1),Uz))--n;if(i>=n)throw new Oa("The given string does not contain any numbers.");if(a=QM(t.substr(i,n-i),",|;|\r|\n"),2!=a.length)throw new Oa("Exactly two numbers are expected, "+a.length+" were found.");try{e.a=sA(DP(a[0])),e.b=sA(DP(a[1]))}catch(o){throw o=xC(o),wf(o,130)?(r=o,new Oa(Wz+r)):dj(o)}}function TR(e,t,n){var r,i,a,o,c,u,s,l,f;for(u=n+t.d.c.a,f=new tr(t.f);f.a1,c=kg(hl((Jg(),new rm(vj($_(ao(qF,1),az,1,4,[l.b,l.e]))))));Rj(c);)o=gp(Jw(c),12),s=o.c==l?o.d:o.c,fc(QS($_(ao(R$,1),wY,10,0,[s.f.i,s.i,s.a])).b-a.b)>1&&QI(e,o,a,i,l)}}function PR(e,t){var n,r,i,a,o,c;for(o=new lC(new qn(e.f.b).a);o.b;){if(a=RE(o),i=gp(a.yb(),251),1==t){if(i.yc()!=(QC(),J$)&&i.yc()!=K$)continue}else if(i.yc()!=(QC(),X$)&&i.yc()!=Q$)continue;switch(r=gp(gp(a.zb(),27).b,25),c=gp(gp(a.zb(),27).a,78),n=c.c,i.yc().e){case 2:r.j.d=e.e.a,r.j.c=vo(1,r.j.c+n);break;case 1:r.j.d=r.j.d+n,r.j.c=vo(1,r.j.c-n);break;case 4:r.j.e=e.e.b,r.j.b=vo(1,r.j.b+n);break;case 3:r.j.e=r.j.e+n,r.j.b=vo(1,r.j.b-n)}}}function AR(e,t,n,r,i){var a,o,c,u,s,l,f,h,d;Pf(),h=new Pr,c=new Gt,XN(e,n,e.d.Mc(),c,h),XN(e,r,e.d.Nc(),c,h),u=new zy(c,0);while(u.bf||r+i>u)throw new ui;if(0!=(1&s.g)&&0==(4&s.g)||l==c)i>0&&LP(e,t,n,r,i,!0);else if(e===n&&tr;)n[o]=e[--t];else for(o=r+i;rt.a&&(r.kb((fA(),KZ))?e.d.a+=(n.a-t.a)/2:r.kb(QZ)&&(e.d.a+=n.a-t.a)),n.b>t.b&&(r.kb((fA(),JZ))?e.d.b+=(n.b-t.b)/2:r.kb(ZZ)&&(e.d.b+=n.b-t.b)),gp(H_(e,(vG(),g0)),18).kb((qL(),SJ))&&(n.a>t.a||n.b>t.b))for(c=new tr(e.b);c.a0&&0==a[0]&&++e.a,e.j=WC(e.j,i-a[0])),PA(e)):(a[0]=0,0==r&&i>0?_S(e,n,i):e);if(o>0)return u=e.g,u?(e.g=LR(u,t,n,r,i,a),a[0]==r&&(0==i&&0!=a[0]?--e.a:i>0&&0==a[0]&&++e.a,e.j=WC(e.j,i-a[0])),PA(e)):(a[0]=0,0==r&&i>0?SS(e,n,i):e);if(a[0]=e.c,r==e.c){if(0==i)return sD(e);e.j=WC(e.j,i-e.c),e.c=i}return e}function MR(e){var t,n,r,i,a,o,c,u,s,l,f,h,d,p,b,g;for(u=e.e,d=e.f,o=e.d,p=e.c,l=p-1,b=e.g,f=dp(e.g.xb(1,e.g.Y()-1)),s=new Gt,n=0;n=0)return!1;if(n.e&&i==(dA(),nK)&&i!=n.e)return!1;if(t.k=n.b,np(n.f,t),n.e=i,i==(dA(),aK)||i==cK||i==nK)for(o=new tr(t.f);o.a0&&(V_(e.n,!1,(QC(),X$)),V_(e.n,!0,Q$))}function VR(e,t){var n,r,i,a,o,c,u,s,l,f;o=0;while(o<(Ei(),t.length)&&B_(t.charCodeAt(o),qz))++o;n=t.length;while(n>0&&B_(t.charCodeAt(n-1),Uz))--n;if(o0){r=new Md(gp(TA(e.a,a),18)),_m(r,new hn(t)),i=new zy(a.b,0);while(i.bx)?(u=2,o=HG):0==u?(u=1,o=E):(u=0,o=E)):(d=E>=o||o-E0&&(u=e.i.a/a);break;case 2:case 4:i=e.f.j.b,i>0&&(u=e.i.b/i)}Nk(e,(vG(),L0),u)}if(c=e.j,r)e.a.a=r.a,e.a.b=r.b;else if(t!=$q&&t!=Vq&&o!=wU)switch(o.e){case 1:e.a.a=c.a/2;break;case 2:e.a.a=c.a,e.a.b=c.b/2;break;case 3:e.a.a=c.a/2,e.a.b=c.b;break;case 4:e.a.b=c.b/2}else e.a.a=c.a/2,e.a.b=c.b/2}function uB(e){var t,n,r,i;if(wf(e.a,10))return wl(gp(e.a,10));if(wf(e.a,66))return pk(gp(e.a,86));if(wf(e.a,50))return gp(e.a,50).Wc();if(wf(e.a,191)){t=new ma,r=new Ld(new ph(new Jn(gp(e.a,191).a).a).b),i=new er(r);while(Cu(i.a.a))jg(t,(n=Th(i.a),n.yb()));return t}if(wf(e.a,13))return new Md(gp(e.a,13));if(wf(e.a,44)){t=new ti,i=NT(gp(e.a,44),0);while(i.b!=i.d.c)tp(t,gp(Dm(i),10));return t}if(wf(e.a,58)){t=new Aa,i=NT(gp(e.a,58),0);while(i.b!=i.d.c)tp(t,Dm(i));return t}return e.a}function sB(e,t){var n,r,i,a,o,c,u,s,l,f,h,d,p;c=0,p=0,u=E_(e.f,e.f.length),a=e.d,o=e.i,r=e.a,i=e.b;do{for(d=0,l=new tr(e.p);l.ab?h:b;for(p=QS($_(ao(R$,1),wY,10,0,[e.f.i,e.i,e.a])).b,cT(this,p,d,h),a=new Wn(t.a).a.bb().mb(),u=new Kn(a);u.a.G();)i=gp(u.a.H(),21),c=gp(i.yb(),27),hg(this.c,gp(c.b,12));this.f=!1}function hB(e,t,n,r){var i,a,o,c,u,s;if(c=(xG(),eq).b,!(c in t.a)||!Dv(t,c).ic().a){if(s=Dv(t,gY),!s)throw new og("Labels must have a property 'text'.",null,t);if(!s.lc())throw new og("A label's 'text' property must be a string.",s,t);if(u=s.lc().a,a=new kl(u),Nk(a,(vG(),j0),t),kv(e.f,a,t),eI(t,a),VP(t,a),wf(n,9)?np(gp(n,9).c,a):wf(n,12)?np(gp(n,12).b,a):wf(n,7)&&np(gp(n,7).c,a),wf(n,12))switch(o=gp(H_(a,RV),107),eI(t,a),Nk(a,RV,o),i=gp(H_(r,g0),18),o.e){case 2:case 3:i.ib((qL(),EJ));case 1:case 0:i.ib((qL(),xJ)),Nk(a,RV,(FS(),nV))}}}function dB(e,t){var n,r,i,a,o,c,u,s,l,f,h,d,p,b,g,v;for(a=0,o=0,s=new tr(e.a);s.a.5?v-=2*o*(p-.5):p<.5&&(v+=2*a*(.5-p)),i=c.e.b,vg.a-b-l&&(v=g.a-b-l),c.i.a=t+v}}function pB(e,t){var n,r,i,a,o,c,u,s,l,f,h,d,p,b,g,v,w,y,m,x,k,E,S,_,C,j,O;return n=8191&e.l,r=e.l>>13|(15&e.m)<<9,i=e.m>>4&8191,a=e.m>>17|(255&e.h)<<5,o=(1048320&e.h)>>8,c=8191&t.l,u=t.l>>13|(15&t.m)<<9,s=t.m>>4&8191,l=t.m>>17|(255&t.h)<<5,f=(1048320&t.h)>>8,S=n*c,_=r*c,C=i*c,j=a*c,O=o*c,0!=u&&(_+=n*u,C+=r*u,j+=i*u,O+=a*u),0!=s&&(C+=n*s,j+=r*s,O+=i*s),0!=l&&(j+=n*l,O+=r*l),0!=f&&(O+=n*f),d=S&zz,p=(511&_)<<13,h=d+p,g=S>>22,v=_>>9,w=(262143&C)<<4,y=(31&j)<<17,b=g+v+w+y,x=C>>18,k=j>>5,E=(4095&O)<<8,m=x+k+E,b+=h>>22,h&=zz,m+=b>>22,b&=zz,m&=Yz,Qd(h,b,m)}function bB(e,t,n,r){var i,a,o,c,u,s,l,f,h,d,p,b,g,v,w,y,m,x,k;if(g=e.d.c.c.c.length,n>=g-1)return null;for(i=new Gt,i.c[i.c.length]=t,m=t,o=n,p=-1,c=gp(Vp(e.d.c.c,n),16),d=0;d1&&o1&&o>1)l=KM(e,m),c=gp(Vp(e.d.c.c,o),16),f=gp(Vp(e.d.c.c,o-1),16),k=gp(b.sb(h++),24).a,v=ko(k,f.a.c.length),vP(m,v,f),vP(l,y,c),y=v,m&&(i.c[i.c.length]=m),m=l,--x,++a,--o;for(w=(r-(i.c.length-1)*e.d.d)/i.c.length,s=new tr(i);s.ar?0:r,t.o&&a.o&&wf(t,82)&&wf(a,82)&&!kE(KE(gp(t,82).d,gp(a,82).d))?(i=sf(new Jr,e.d),c=Vw(Cs(a.g.a-t.g.a)),eL(Qo(Jo(ec(Zo(new Zr,0>c?0:c),1),i),e.c[t.f.d])),eL(Qo(Jo(ec(Zo(new Zr,0>-c?0:-c),1),i),e.c[a.f.d]))):(s=1,(wf(t,82)&&wf(a,93)||wf(a,82)&&wf(t,93))&&(s=2),eL(Qo(Jo(ec(Zo(new Zr,Vw(r)),s),e.c[t.f.d]),e.c[a.f.d]))))}function yB(){yB=a,_W=new ya,SW=EM($_(ao(B$,1),az,79,0,[(xG(),OV),zV])),xW=EM($_(ao(B$,1),az,79,0,[nq,lq,(wG(),D1),YV,(vG(),R0),R1,T1])),vW=EM($_(ao(B$,1),az,79,0,[PV,DV,eq,GV,VV,WV,KV,gq,vq,$V,c1,d1,p1,S1,w1,_1,L1,P1,s1])),mW=EM($_(ao(B$,1),az,79,0,[ZV,QV,UV,xq,tq,M0,n0,XJ,Y0,A1,v1,E1])),yW=EM($_(ao(B$,1),az,79,0,[hq,TV,MV,BV,RV,HV,FV,rq,iq,aq,oq,cq,sq,fq,u1,h1,C1,b1,f1,j1,O1,y1,m1,k1,N1,I1,M1,B1,x1])),wW=EM($_(ao(B$,1),az,79,0,[JV,wq,yq,l1])),EW=EM($_(ao(B$,1),az,79,0,[jV,NV,qV,XV,uq,pq])),kW=EM($_(ao(B$,1),az,79,0,[(X_(),pW)]))}function mB(e){var t,n,r,i,a,o,c;for(t=0,a=new tr(e.b.a);a.aHz)&&c<10);Ma(e.c,new A),mB(e),Zp(e.c),nB(e.f)}function kB(e){var t,n,r,i,a,o,c;for(Zm(),c=new Ur,n=new tr(e);n.a=c.b.c)&&(c.b=t),(!c.c||t.c<=c.c.c)&&(c.d=c.c,c.c=t),(!c.e||t.d>=c.e.d)&&(c.e=t),(!c.f||t.d<=c.f.d)&&(c.f=t);return r=new sT((YS(),GW)),Bm(e,WW,new nr($_(ao(HW,1),az,160,0,[r]))),o=new sT(FW),Bm(e,UW,new nr($_(ao(HW,1),az,160,0,[o]))),i=new sT(zW),Bm(e,qW,new nr($_(ao(HW,1),az,160,0,[i]))),a=new sT(YW),Bm(e,VW,new nr($_(ao(HW,1),az,160,0,[a]))),BD(r.c,GW),BD(i.c,zW),BD(a.c,YW),BD(o.c,FW),c.a.c=Ux(qF,az,1,0,4,1),v_(c.a,r.c),v_(c.a,DS(i.c)),v_(c.a,a.c),v_(c.a,DS(o.c)),c}function EB(e){var t,n,r,i,a,o,c,u,s,l;for(i=gp(zo(e,(xG(),UV)),15).a,c=new tr(vN(e));c.a0){for($x(0,u.c.length),b=gp(u.c[0],12),$x(0,d.c.length),i=gp(d.c[0],12),w=i.d.b,a=Ik(w,i,0),Ry(b,i.d,a),Cw(i,null),_w(i,null),p=b.a,t&&tp(p,new Ys(y)),r=NT(i.a,0);r.b!=r.d.c;)n=gp(Dm(r),10),tp(p,new Ys(n));for(v=b.b,h=new tr(i.b);h.ao)&&hg(e.c,gp(g.b,12));++c}a=o}}}function OB(e,t,n){var r,i,a,o,c,u;for(this.g=e,c=t.d.length,u=n.d.length,this.d=Ux(uK,CY,9,c+u,0,1),o=0;o0?mE(this,this.f/this.a):null!=df(t.g,t.d[0]).a&&null!=df(n.g,n.d[0]).a?mE(this,(_a(df(t.g,t.d[0]).a)+_a(df(n.g,n.d[0]).a))/2):null!=df(t.g,t.d[0]).a?mE(this,df(t.g,t.d[0]).a):null!=df(n.g,n.d[0]).a&&mE(this,df(n.g,n.d[0]).a)}function TB(e,t){var n,r,i,a,o,c,u,s,l,f,h;switch(e.g.e){case 1:if(r=gp(H_(e,(vG(),j0)),12),n=gp(H_(r,O0),44),n?Sa(_a(Fh(H_(r,z0))))&&(n=G_(n)):n=new ti,s=gp(H_(e,E0),7),l=QS($_(ao(R$,1),wY,10,0,[s.f.i,s.i,s.a])),t<=l.a)return l.b;if(Fm(n,l,n.a,n.a.a),f=gp(H_(e,S0),7),h=QS($_(ao(R$,1),wY,10,0,[f.f.i,f.i,f.a])),h.a<=t)return h.b;Fm(n,h,n.c.b,n.c),u=NT(n,0),o=gp(Dm(u),10),c=gp(Dm(u),10);while(c.a=2)for(Bv(e.a),r=0,h=NT(n,0);h.b!=h.d.c;)f=gp(Dm(h),10),0==r?(t=Uh(Uh(new Hc(f.a,f.b),e.c.i),e.c.f.i),e.c.a.a=t.a,e.c.a.b=t.b):r==n.b-1?(t=Uh(Uh(new Hc(f.a,f.b),e.d.i),e.d.f.i),e.d.a.a=t.a,e.d.a.b=t.b):tp(e.a,f),++r;if(l)for(u=NT(e.a,0);u.b!=u.d.c;)c=gp(Dm(u),10),o.a=vo(o.a,c.a),o.b=vo(o.b,c.b);for(a=new tr(e.b);a.a0&&Nk(o,a0,(Eb(),Eb(),Q1)),c=gp(H_(o,(xG(),sq)),28),c==(BP(),Vq)||c!=$q&&r.ib((qL(),jJ)),Sa(_a(Fh(H_(o,DV))))&&r.ib((qL(),kJ)),Sa(_a(Fh(H_(o,$V))))&&(r.ib((qL(),CJ)),r.ib(_J),Nk(o,sq,$q)),o}function NB(e,t){t.V()&&ep(e.n,!0,!0,!0,!0),t.t((SH(),oU))&&ep(e.n,!0,!0,!0,!1),t.t(tU)&&ep(e.n,!1,!0,!0,!0),t.t(pU)&&ep(e.n,!0,!0,!1,!0),t.t(gU)&&ep(e.n,!0,!1,!0,!0),t.t(cU)&&ep(e.n,!1,!0,!0,!1),t.t(nU)&&ep(e.n,!1,!0,!1,!0),t.t(bU)&&ep(e.n,!0,!1,!1,!0),t.t(dU)&&ep(e.n,!0,!1,!0,!1),t.t(fU)&&ep(e.n,!0,!0,!0,!0),t.t(iU)&&ep(e.n,!0,!0,!0,!0),t.t(fU)&&ep(e.n,!0,!0,!0,!0),t.t(rU)&&ep(e.n,!0,!0,!0,!0),t.t(hU)&&ep(e.n,!0,!0,!0,!0),t.t(lU)&&ep(e.n,!0,!0,!0,!0),t.t(sU)&&ep(e.n,!0,!0,!0,!0)}function IB(e,t){var n,r,i,a,o,c,u,s,l,f;for(u=!0,i=0,s=e.f[t.k],l=t.j.b+e.n,n=e.c[t.k][2],hx(e.a,s,Cj(gp(Vp(e.a,s),24).a-1+n)),hx(e.b,s,_a($h(Vp(e.b,s)))-l+n*e.e),++s,s>=e.i?(++e.i,np(e.a,Cj(1)),np(e.b,l)):(r=e.c[t.k][1],hx(e.a,s,Cj(gp(Vp(e.a,s),24).a+1-r)),hx(e.b,s,_a($h(Vp(e.b,s)))+l-r*e.e)),(e.q==(OD(),EX)&&(gp(Vp(e.a,s),24).a>e.j||gp(Vp(e.a,s-1),24).a>e.j)||e.q==CX&&(_a($h(Vp(e.b,s)))>e.k||_a($h(Vp(e.b,s-1)))>e.k))&&(u=!1),o=kg(Sj(t));Rj(o);)a=gp(Jw(o),12),c=a.c.f,e.f[c.k]==s&&(f=IB(e,c),i+=gp(f.a,24).a,u=u&&Sa(_a(Fh(f.b))));return e.f[t.k]=s,i+=e.c[t.k][0],new Gc(Cj(i),(Eb(),u?Q1:X1))}function DB(e,t,n){var r,i,a,o,c,u,s,l,f,h,d,p,b,g,v;if(h=new Ys(e.j),v=t.a/h.a,c=t.b/h.b,b=t.a-h.a,a=t.b-h.b,n)for(i=Fs(H_(e,(xG(),sq)))===Fs((BP(),zq)),p=new tr(e.f);p.a=1&&(g-o>0&&f>=0?(u.i.a+=b,u.i.b+=a*o):g-o<0&&l>=0&&(u.i.a+=b*g,u.i.b+=a));e.j.a=t.a,e.j.b=t.b,Nk(e,(xG(),wq),(wO(),r=gp(Bo(NU),11),new Ep(r,gp(pg(r,r.length),11),0)))}function LB(e){var t,n,r,i,a,o,c,u,s,l;for(r=new Gt,o=new tr(e.e.a);o.a-1){for(i=NT(c,0);i.b!=i.d.c;)r=gp(Dm(i),77),r.n=o;while(0!=c.b)for(r=gp(bP(c,0),77),n=new tr(r.d);n.a0&&(e.a=s+(b-1)*a,t.d.b+=e.a,t.e.b+=e.a)),0!=g.a.Y()&&(p=new gN(1,a),b=AR(p,t,g,v,t.e.b+s-t.d.b),b>0&&(t.e.b+=s+(b-1)*a))}function GB(e,t){var n,r,i,a,o,c,u,s,l;return 0==(Ei(),t.length)?e.fc(RG,MG,-1,-1):(l=DP(t),ta(l.substr(0,3),"at ")&&(l=Wd(l,3,l.length-3)),l=l.replace(/\[.*?\]/g,""),o=l.indexOf("("),-1==o?(o=l.indexOf("@"),-1==o?(s=l,l=""):(s=DP(Wd(l,o+1,l.length-(o+1))),l=DP(l.substr(0,o)))):(n=l.indexOf(")",o),s=l.substr(o+1,n-(o+1)),l=DP(l.substr(0,o))),o=ad(l,yN(46)),-1!=o&&(l=Wd(l,o+1,l.length-(o+1))),(0==l.length||ta(l,"Anonymous function"))&&(l=MG),c=mp(s,yN(58)),i=Mb(s,yN(58),c-1),u=-1,r=-1,a=RG,-1!=c&&-1!=i&&(a=s.substr(0,i),u=Eh(s.substr(i+1,c-(i+1))),r=Eh(Wd(s,c+1,s.length-(c+1)))),e.fc(a,l,u,r))}function zB(e){var t,n,r,i,a,o,c,u,s,l;for(s=new Gt,c=new Gt,o=new tr(e);o.a-1){for(a=new tr(c);a.a0||(u.i=ko(u.i,i.i-1),--u.f,0==u.f&&(c.c[c.c.length]=u))}}function YB(e,t,n){var r,i,a,o,c,u,s,l,f,h,d,p,b;if(Sa(_a(Fh(H_(n,(xG(),gq))))))for(c=new tr(n.f);c.a0),o.a.sb(o.c=--o.b),kd(o,r),fg(s,r),HI(r,u.g),Vy(s),Vy(s),i.a.eb(r)}}function WB(e){var t,n,r,i,a,o,c,u,s;a=new sn(e),i=Dv(a,"graph"),u=Dv(a,"success"),r=Dv(a,"error"),o=Dv(a,"options");try{if(!i||!i.kc())throw new oa("Mandatory parameter missing, 'graph' must be specified");Pj(new jt,i.kc(),o?o.kc():null),c=i.kc().a,u&&u.kc()?JN(u.kc().a,c):JN(null,c)}catch(l){if(l=xC(l),wf(l,73))s=l,r&&r.kc()?JN(r.kc().a,PI(s).a):JN(null,PI(s).a);else{if(!wf(l,54))throw dj(l);t=l,n=new sa,Ak(n,"type",new pb(Mo(t.$c))),null!=t.bc()?Ak(n,gY,new pb(t.bc())):Ak(n,gY,new pb("null (sic)")),Ak(n,vY,new pb(Nf(new Ta("\n"),new Un(new nr((null==t.g&&(t.g=Jp(t)),t.g)))))),r&&r.kc()?JN(r.kc().a,n.a):JN(null,n.a),EP(t,(ap(),i2),"")}}}function KB(e,t,n){var r,i,a,o,c,u,s,l,f,h;if(n){r=-1,l=new zy(t,0);while(l.b0&&0==n.c&&(!t&&(t=new Gt),t.c[t.c.length]=n);if(t)while(0!=t.c.length){if(n=gp(Hx(t,0),102),n.b&&n.b.c.length>0)for(!n.b&&(n.b=new Gt),a=new tr(n.b);a.aIk(e,n,0))return new Gc(i,n)}else if(_a(df(i.g,i.d[0]).a)>_a(df(n.g,n.d[0]).a))return new Gc(i,n);for(c=(!n.e&&(n.e=new Gt),n.e).mb();c.G();)o=gp(c.H(),102),!o.b&&(o.b=new Gt),u=o.b,Fx(0,u.c.length),xs(u.c,0,n),o.c==u.c.length&&(t.c[t.c.length]=o)}return null}function ZB(e){var t,n,r,i,a,o,c,u,s,l,f,h,d,b,g;for(Pf(),f=new Pr,Xl(),l=new Dl(Hl(yp(e.a,new p)));Rj(l);)for(s=gp(Jw(l),9),i=Ej(s,(SH(),Jq)),r=new tr(i);r.a0&&(a.a=vo(a.a,i+e.q.b+e.q.c)),n>0&&(a.b=vo(a.b,n+e.q.d+e.q.a))):(i>0&&(a.a=vo(a.a,i)),n>0&&(a.b=vo(a.b,n)))),qf(e.e,a)}}function tH(e,t,n){var r,i,a,o,c,u,s,l,f,h,d;if(!e.b)return!1;o=null,h=null,u=new Ck(null,null),i=1,u.a[1]=e.b,f=u;while(f.a[i])s=i,c=h,h=f,f=f.a[i],r=e.a.$b(t,f.d),i=r<0?0:1,0==r&&(!n.c||Iv(f.e,n.d))&&(o=f),f&&f.b||Eo(f.a[i])||(Eo(f.a[1-i])?h=h.a[s]=kS(f,i):Eo(f.a[1-i])||(d=h.a[1-s],d&&(Eo(d.a[1-s])||Eo(d.a[s])?(a=c.a[1]==h?1:0,Eo(d.a[s])?c.a[a]=qy(h,s):Eo(d.a[1-s])&&(c.a[a]=kS(h,s)),f.b=c.a[a].b=!0,c.a[a].a[0].b=!1,c.a[a].a[1].b=!1):(h.b=!1,d.b=!0,f.b=!0))));return o&&(n.b=!0,n.d=o.e,f!=o&&(l=new Ck(f.d,f.e),cN(e,u,o,l),h==o&&(h=l)),h.a[h.a[1]==f?1:0]=f.a[f.a[0]?0:1],--e.c),e.b=u.a[1],e.b&&(e.b.b=!1),n.b}function nH(e,t){var n,r,i,a,o,c,u,s,l,f,h,d,p,b,g,v,w;for(r=gp(H_(e,(xG(),sq)),28),u=e.e,c=e.a,n=gp(H_(e,(vG(),n0)),15).a,s=u.a+c.b+c.c+2*n,l=0-c.d-n-e.d.b,d=u.b+c.d+c.a+2*n-e.d.b,f=new Gt,p=new Gt,h=new Wn(t.a).a.bb().mb(),a=new Kn(h);a.a.G();){switch(o=gp(a.a.H(),21),i=gp(o.yb(),9),r.e){case 1:case 2:case 3:cD(i);break;case 4:b=gp(H_(i,uq),10),g=b?b.a:0,i.i.a=s*_a($h(H_(i,L0)))-g,RO(i,!0,!1);break;case 5:v=gp(H_(i,uq),10),w=v?v.a:0,i.i.a=_a($h(H_(i,L0)))-w,RO(i,!0,!1),u.a=vo(u.a,i.i.a+i.j.a/2)}switch(gp(H_(i,p0),32).e){case 1:i.i.b=l,f.c[f.c.length]=i;break;case 3:i.i.b=d,p.c[p.c.length]=i}}switch(r.e){case 1:case 2:IC(f,e),IC(p,e);break;case 3:DC(f,e),DC(p,e)}}function rH(e){var t,n,r,i,a,o;return r=gp(H_(e.a.g,(xG(),JV)),86),dO(r,(CI(),t=gp(Bo(Bq),11),new Ep(t,gp(pg(t,t.length),11),0)))||(u_(r,eO(Eq))?(n=gp(gp(TA(e.a.b,e.b),20).sb(0),33),e.b.i.a=n.i.a,e.b.i.b=n.i.b):u_(r,eO(_q))?(i=gp(Vp(e.a.c,e.a.c.c.length-1),9),a=gp(gp(TA(e.a.b,e.b),20).sb(gp(TA(e.a.b,e.b),20).Y()-1),33),o=i.j.a-(a.i.a+a.j.a),e.b.i.a=e.a.g.j.a-o-e.b.j.a,e.b.i.b=a.i.b):u_(r,Ib(Tq,$_(ao(Bq,1),cz,41,0,[kq])))?(n=gp(gp(TA(e.a.b,e.b),20).sb(0),33),e.b.i.a=(e.a.g.j.a-e.b.j.a)/2,e.b.i.b=n.i.b):u_(r,eO(Tq))?(n=gp(gp(TA(e.a.b,e.b),20).sb(0),33),e.b.i.b=n.i.b):u_(r,eO(kq))&&(n=gp(gp(TA(e.a.b,e.b),20).sb(0),33),e.b.i.a=(e.a.g.j.a-e.b.j.a)/2,e.b.i.b=n.i.b)),null}function iH(e){var t,n,r,i,a,o,c,u,s,l,f,h,d,p,b,g;for(p=new tr(e);p.av?u:v,y=new tr(l.f);y.a=s&&x>=g&&(h+=p.i.b+b.i.b+b.a.b-m,++c));if(n)for(o=new tr(w.b);o.a=s&&x>=g&&(h+=p.i.b+b.i.b+b.a.b-m,++c))}c>0&&(k+=h/c,++d)}d>0?(t.a=i*k/d,t.i=d):(t.a=0,t.i=0)}function uH(e,t,n,r){var i,a,o,c,u,s,l,f,h,d,p,b,g,v,w;for(d=t.c.length,h=0,f=new tr(e.c);f.a=0){u=null,c=new zy(l.a,s+1);while(c.b0&&(e.a[t.d.k][t.k].d+=zI(e.e,24)*wF*.07000000029802322-.03500000014901161,e.a[t.d.k][t.k].a=e.a[t.d.k][t.k].d/e.a[t.d.k][t.k].b)}}function fH(e,t){var n,r,i,a,o,c,u,s,l,f,h;for(i=new tr(e.a.c);i.aDY||t.k==FQ&&l0&&(r+=a.b.c.length+a.e.c.length,kv(t,a,Cj(r)));else{for(c=dN(u,(SH(),Jq)).mb();c.G();)a=gp(c.H(),7),r+=a.b.c.length+a.e.c.length;for(o=dN(u,Jq).mb();o.G();)a=gp(o.H(),7),a.b.c.length+a.e.c.length>0&&kv(t,a,Cj(r))}for(s=e.length-1;s>=0;s--)if(u=e[s],ah(gp(H_(u,(xG(),sq)),28)))for(h=dN(u,(SH(),yU)).mb();h.G();)f=gp(h.H(),7),f.b.c.length+f.e.c.length>0&&(i+=f.b.c.length+f.e.c.length,kv(n,f,Cj(i)));else{for(d=dN(u,(SH(),yU)).mb();d.G();)f=gp(d.H(),7),i+=f.b.c.length+f.e.c.length;for(h=dN(u,yU).mb();h.G();)f=gp(h.H(),7),f.b.c.length+f.e.c.length>0&&kv(n,f,Cj(i))}}function bH(e,t,n,r,i){var a,o,c,u,s,l,f,h,d,p,b,g,v;switch(h=dP(e.g),p=dP(t.g),d=qh(wl(e.i),e.a),b=qh(wl(t.i),t.a),u=qh(new Hc(d.a,d.b),lf(new ag(h),1.3*n)),g=qh(new Hc(b.a,b.b),lf(new ag(p),1.3*r)),c=fc(u.a-g.a),cg?s:g}for(n.e.b+=s-c.b,f=new tr(e.a);f.a1)t=mo(a,e.c),f=new jT(e.e.c),gr(f,(dA(),nK)),Nk(f,(xG(),sq),gp(H_(s,sq),28)),Nk(f,JV,gp(H_(s,JV),86)),f.k=e.e.b++,np(e.b,f),f.j.b=s.j.b,f.j.a=t,h=new WP,od(h,(SH(),Jq)),Ew(h,s),h.i.a=f.j.a,h.i.b=f.j.b/2,d=new WP,od(d,yU),Ew(d,f),d.i.b=f.j.b/2,d.i.a=-d.j.a,p=new Fv,Cw(p,h),_w(p,d),s=f,np(e.e.c.b,s),--l,a-=e.c+e.e.d;for(new GP(e.d,e.b,e.c),c=new tr(i);c.at.a||t.p>e.a)){for(n=0,r=0,o=new Wn(e.o.a).a.bb().mb(),f=new Kn(o);f.a.G();)i=gp(f.a.H(),21),s=gp(i.yb(),7),Uj(QS($_(ao(R$,1),wY,10,0,[s.f.i,s.i,s.a])).b,t.p,t.a)&&++n;for(c=new Wn(e.g.a).a.bb().mb(),h=new Kn(c);h.a.G();)i=gp(h.a.H(),21),s=gp(i.yb(),7),Uj(QS($_(ao(R$,1),wY,10,0,[s.f.i,s.i,s.a])).b,t.p,t.a)&&--n;for(u=new Wn(t.o.a).a.bb().mb(),d=new Kn(u);d.a.G();)i=gp(d.a.H(),21),s=gp(i.yb(),7),Uj(QS($_(ao(R$,1),wY,10,0,[s.f.i,s.i,s.a])).b,e.p,e.a)&&++r;for(a=new Wn(t.g.a).a.bb().mb(),l=new Kn(a);l.a.G();)i=gp(l.a.H(),21),s=gp(i.yb(),7),Uj(QS($_(ao(R$,1),wY,10,0,[s.f.i,s.i,s.a])).b,e.p,e.a)&&--r;n1)for(u=NT(dp(dN(t,yU)),0);u.b!=u.d.c;)c=gp(Dm(u),7),0==c.b.c.length?(i=new WP,od(i,yU),i.j.a=c.j.a,i.j.b=c.j.b,Ew(i,r),Nk(i,j0,H_(c,j0)),Ew(c,null)):Ew(o,r);return Nk(t,j0,null),Nk(t,e0,X1),gr(t,nK),Nk(r,(xG(),sq),gp(H_(t,sq),28)),Nk(r,JV,gp(H_(t,JV),86)),lb(e.b,0,r),r}function xH(e,t,n,r,i,a,o){var c,u,s,l,f,h;switch(f=n,s=new jT(o),gr(s,(dA(),rK)),Nk(s,(vG(),b0),i),Nk(s,(xG(),sq),(BP(),zq)),Nk(s,C0,gp(H_(e,tq),15)),u=gp(H_(e,uq),10),!u&&(u=new Hc(i.a/2,i.b/2)),Nk(s,uq,u),l=new WP,Ew(l,s),t!=$q&&t!=Vq||(c=a!=(QC(),Z$)?a:Q$,f=r>0?Xj(c):HC(Xj(c)),Nk(e,hq,f)),f.e){case 4:Nk(s,(wG(),k1),(tP(),Q0)),Nk(s,l0,(Z_(),iJ)),s.j.b=i.b,od(l,(SH(),Jq)),l.i.b=u.b;break;case 2:Nk(s,(wG(),k1),(tP(),J0)),Nk(s,l0,(Z_(),nJ)),s.j.b=i.b,od(l,(SH(),yU)),l.i.b=u.b;break;case 1:Nk(s,y0,(PE(),$J)),s.j.a=i.a,od(l,(SH(),vU)),l.i.a=u.a;break;case 3:Nk(s,y0,(PE(),YJ)),s.j.a=i.a,od(l,(SH(),eU)),l.i.a=u.a}if(t==Gq||t==Yq||t==zq){switch(h=0,f.e){case 4:case 2:h=null.cd,t==Yq&&(h/=null.cd);break;case 1:case 3:h=null.cd,t==Yq&&(h/=null.cd)}Nk(s,L0,h)}return Nk(s,p0,f),s}function kH(e){var t,n,r,i,a,o,c,u,s,l,f,h,d,p,b,g,v,w,y;for(s=new ti,Pf(),v=new Pr,kv(v,e,EA(e)),pE(2,Dz),r=new qk(2),e.c&&np(r,e.c),e.d&&np(r,e.d),d=new tr(r);d.a1&&Fm(s,p,s.c.b,s.c),EE(n)));p=b}return s}function EH(e){var t,n,r,i,a,o,c,u,s,l,f,h,d,p,b;for(e.n=gp(H_(e.g,(vG(),Y0)),15).a*gp(H_(e.g,(wG(),A1)),15).a,e.e=e.n*gp(H_(e.g,v1),15).a,e.i=e.g.c.c.length,c=e.i-1,h=0,e.j=0,e.k=0,e.a=jx(Ux(WF,NG,24,e.i,0,1)),e.b=jx(Ux(J1,NG,184,e.i,6,1)),o=new tr(e.g.c);o.a0&&np(e.p,l),np(e.o,l);t-=r,d=u+t,s+=t*e.e,hx(e.a,c,Cj(d)),hx(e.b,c,s),e.j=yo(e.j,d),e.k=vo(e.k,s),e.d+=t,t+=b}}function SH(){var e;SH=a,wU=new ru(aY,0),eU=new ru("NORTH",1),Jq=new ru("EAST",2),vU=new ru("SOUTH",3),yU=new ru("WEST",4),Kv(),aU=new Ao((e=gp(Bo(CU),11),new Ep(e,gp(pg(e,e.length),11),0))),oU=gj(Ib(eU,$_(ao(CU,1),cz,32,0,[]))),tU=gj(Ib(Jq,$_(ao(CU,1),cz,32,0,[]))),pU=gj(Ib(vU,$_(ao(CU,1),cz,32,0,[]))),gU=gj(Ib(yU,$_(ao(CU,1),cz,32,0,[]))),fU=gj(Ib(eU,$_(ao(CU,1),cz,32,0,[vU]))),iU=gj(Ib(Jq,$_(ao(CU,1),cz,32,0,[yU]))),dU=gj(Ib(eU,$_(ao(CU,1),cz,32,0,[yU]))),cU=gj(Ib(eU,$_(ao(CU,1),cz,32,0,[Jq]))),bU=gj(Ib(vU,$_(ao(CU,1),cz,32,0,[yU]))),nU=gj(Ib(Jq,$_(ao(CU,1),cz,32,0,[vU]))),lU=gj(Ib(eU,$_(ao(CU,1),cz,32,0,[Jq,yU]))),rU=gj(Ib(Jq,$_(ao(CU,1),cz,32,0,[vU,yU]))),hU=gj(Ib(eU,$_(ao(CU,1),cz,32,0,[vU,yU]))),uU=gj(Ib(eU,$_(ao(CU,1),cz,32,0,[Jq,vU]))),sU=gj(Ib(eU,$_(ao(CU,1),cz,32,0,[Jq,vU,yU])))}function _H(e){var t,n,r,i,a,o,c,u,s,l,f,h,d,p,b,g,v,w,y,m,x,k,E,S,_;for(m=new Gt,h=new tr(e.c);h.a=e.length)return{done:!0};var r=e[n++];return{value:[r,t.get(r)],done:!1}}}},ZL()||(e.prototype.createObject=function(){return{}},e.prototype.get=function(e){return this.obj[":"+e]},e.prototype.set=function(e,t){this.obj[":"+e]=t},e.prototype[HF]=function(e){delete this.obj[":"+e]},e.prototype.keys=function(){var e=[];for(var t in this.obj)58==t.charCodeAt(0)&&e.push(t.substring(1));return e}),e}function jH(e,t,n){var r,i,a,o,c,u,s,l,f,h,d,p,b,g,v,w,y,m;if(l=new NE,Nk(l,bW,t),kv(e.e,t,l),Nk(l,(vG(),N0),n),e.d&&nN(e.d,l,!1),VP(t,l),SY in t.a&&(g=l.a,v=gp(Dv(t,SY),69),b=gp(Dv(v,"left"),104),b&&(g.b=b.a),y=gp(Dv(v,"top"),104),y&&(g.d=y.a),w=gp(Dv(v,"right"),104),w&&(g.c=w.a),i=gp(Dv(v,dY),104),i&&(g.a=i.a)),r=gp(Bo(GJ),11),f=new Ep(r,gp(pg(r,r.length),11),0),Nk(l,g0,f),null==e.g&&(e.g=Fh(H_(l,(Zv(),CW)))),_Y in t.a){if(m=Dv(t,_Y),!m.hc())throw new og("The 'children' property of nodes must be an array.",m,t);if(s=m.hc(),s.a.length>0){for(n&&Nk(n,_0,l),c=Ux(uK,CY,9,s.a.length,0,1),d=0;dS[u]&&(g=u),f=new tr(e.b.c);f.a1)for(np(a,new fB(g,x,n)),f=new Wn(x.a).a.bb().mb(),p=new Kn(f);p.a.G();)s=gp(p.a.H(),21),d=gp(s.yb(),27),wk(i,d.b);if(o.a.Y()>1)for(np(a,new fB(g,o,n)),f=new Wn(o.a).a.bb().mb(),p=new Kn(f);p.a.G();)s=gp(p.a.H(),21),d=gp(s.yb(),27),wk(i,d.b)}}function NH(e){var t,n,r,i,a,o,c,u,s,l,f,h,d,p,b,g,v,w,y,m,x,k,E;for(i=0,w=0,Pf(),v=new Pr,r=new Pr,a=new Pr,E=new Pr,pH(e,a,E),t=null,g=0,k=0,y=!0,u=!0,h=0,p=e.length;ht.j.d){if(b=e.c[t.f.d],w=e.c[h.f.d],b==w)continue;eL(Qo(Jo(ec(Zo(new Zr,1),100),b),w))}}}function DH(e,t){var n,r,i,a,o,c,u,s,l,f,h,d,p;switch(o=new Cp(e),c=ox(wp(t,o)),_m(c,new et),i=e.b,i.c){case 2:u=new On(i.a),n=Bl(wp(c,u)),s=uS(n)?gp(Wx(n),91).b:15,u=new On(GT(i)),n=Bl(wp(c,u)),a=uS(n)?gp(Wx(n),91).b:15,u=new On(i.b),n=Bl(wp(c,u)),l=uS(n)?gp(Wx(n),91).b:15,r=CD(e,s,a,l),hg(t,new KN(r,e.c,e.e,e.a.c.f,i.a)),hg(t,new KN(r,e.c,e.e,e.a.c.f,GT(i))),hg(t,new KN(r,e.c,e.e,e.a.c.f,i.b));break;case 1:u=new On(i.a),n=Bl(wp(c,u)),s=uS(n)?gp(Wx(n),91).b:15,u=new On(i.b),n=Bl(wp(c,u)),l=uS(n)?gp(Wx(n),91).b:15,r=fD(e,s,l),hg(t,new KN(r,e.c,e.e,e.a.c.f,i.a)),hg(t,new KN(r,e.c,e.e,e.a.c.f,i.b));break;case 0:u=new On(i.a),n=Bl(wp(c,u)),s=uS(n)?gp(Wx(n),91).b:15,f=e.b,h=xM(e.a.c,e.a.d,s),bS(e.a.a,SO(h)),d=KA(e.a.b,h.a,f),p=new Um((!h.k&&(h.k=new fN(wS(h))),h.k)),hw(p),r=d?Yg(p,d):p,hg(t,new KN(r,e.c,e.e,e.a.c.f,i.a));break;default:throw new Oa("The loopside must be defined.")}return r}function LH(e,t,n){var r,i,a,o,c,u,s,l,f,h,d,p,b,g,v,w,y,m,x;for(c=new tr(e.a.c);c.a0)if(r=f.Y(),s=Vw(Math.floor((r+1)/2))-1,i=Vw(Math.ceil((r+1)/2))-1,t.k==$Q)for(l=i;l>=s;l--)t.a[m.k]==m&&(b=gp(f.sb(l),27),p=gp(b.a,9),!cc(n,b.b)&&d>e.b.e[p.k]&&(t.a[p.k]=m,t.f[m.k]=t.f[p.k],t.a[m.k]=t.f[m.k],d=e.b.e[p.k]));else for(l=s;l<=i;l++)t.a[m.k]==m&&(v=gp(f.sb(l),27),g=gp(v.a,9),!cc(n,v.b)&&d0||n.k==$Q&&iv?d:v):n.n[t.k]=r>(d>v?d:v)?r:d>v?d:v)):(g=e.d.f,b=mS(e,n.i[t.k]),h=mS(e,n.i[f.k]),n.k==$Q?(p=_a(n.n[t.k])+_a(n.d[o.k])+o.j.b+o.e.a+g-(_a(n.n[f.k])+_a(n.d[s.k])-s.e.d),My(b,h,p)):(p=_a(n.n[t.k])+_a(n.d[o.k])-o.e.d-_a(n.n[f.k])-_a(n.d[s.k])-s.j.b-s.e.a-g,My(b,h,p)))):v=e.e.Ic(v,t,o),o=n.a[o.k]}while(o!=t);Ri(e.e,t)}}function YH(e,t,n,r){var i,a,o,c,u,s,l,f,h,d,p,b,g,v,w;if(h=!1,f=!1,Mu(gp(H_(r,(xG(),sq)),28))){o=!1,c=!1;e:for(p=new tr(r.f);p.a=r.j.b/2}w?(v=gp(H_(r,(vG(),K0)),20),v?h?a=v:(i=gp(H_(r,r0),20),i?a=v.Y()<=i.Y()?v:i:(a=new Gt,Nk(r,r0,a))):(a=new Gt,Nk(r,K0,a))):(i=gp(H_(r,(vG(),r0)),20),i?f?a=i:(v=gp(H_(r,K0),20),v?a=i.Y()<=v.Y()?i:v:(a=new Gt,Nk(r,K0,a))):(a=new Gt,Nk(r,r0,a))),a.ib(e),Nk(e,(vG(),i0),n),t.d==n?(_w(t,null),n.b.c.length+n.e.c.length==0&&Ew(n,null)):(Cw(t,null),n.b.c.length+n.e.c.length==0&&Ew(n,null)),Bv(t.a)}function FH(e,t){var n,r,i,a,o,c,u,s,l,f,h,d,p,b,g,v,w,y;for(n=new CT(t),n.a||hM(t),s=gL(t),u=new zu,g=new sL,b=new tr(t.b);b.as.k&&(++t,d=!0),p&&s&&p.k>s.k&&(++t,b=!0),h&&c&&h.kc.k&&(++t,u=!0),h&&c&&h.ks.k&&(++t,l=!0),u&&l&&c==s&&--t)}}}return t}function qH(e){var t,n,r,i,a,o,c,u,s,l,f,h,d,p,b,g,v,w,y,m,x,k,E,S,_,C;for(y=e.a,m=0,x=y.length;m0?(f=gp(Vp(h.d.a,o-1),9),S=Xd(e.b,h,f),g=h.i.b-h.e.d-(f.i.b+f.j.b+f.e.a+S)):g=h.i.b-h.e.d,s=g1&&(o=mo(o,fc(gp(iT(c.a,1),10).b-l.b)))));else for(b=new tr(t.f);b.ai&&(a=h.a-i,o=HG,r.c=Ux(qF,az,1,0,4,1),i=h.a),h.a>=i&&(r.c[r.c.length]=c,c.a.b>1&&(o=mo(o,fc(gp(iT(c.a,c.a.b-2),10).b-h.b)))));if(0!=r.c.length&&a>t.j.a/2&&o>t.j.b/2){for(d=new WP,Ew(d,t),od(d,(SH(),eU)),d.i.a=t.j.a/2,v=new WP,Ew(v,t),od(v,vU),v.i.a=t.j.a/2,v.i.b=t.j.b,u=new tr(r);u.a=s.b?Cw(c,v):Cw(c,d)):(s=gp($d(c.a),10),g=0==c.a.b?hy(c.c):gp(Zf(c.a),10),g.b>=s.b?_w(c,v):_w(c,d)),f=gp(H_(c,(xG(),qV)),44),f&&cO(f,s,!0);t.i.a=i-t.j.a/2}}function QH(e,t){var n,r,i,a,o,c,u,s,l,f,h,d,p,b,g,v,w,y;for(v=new Gt,w=new Gt,y=new Gt,a=new tr(t);a.a50?v.c[v.c.length]=i:i.k>0?w.c[w.c.length]=i:y.c[y.c.length]=i;if(1==w.c.length&&0==v.c.length&&(v_(v,w),w.c=Ux(qF,az,1,0,4,1)),0!=v.c.length&&ch(nl(e.a),(MH(),wZ))&&ch(nl(e.a),(MH(),mZ))?Dj(e,v):v_(w,v),0==w.c.length||Lj(e,w),0!=y.c.length){if(n=rl(e.a),0!=n.c){l=new tr(y),db(n),u=kh(new _l(n).a);while(l.a1&&(b=gp(gE(u),60),iN(i,b,!0),Qb(l),yw(e.a,b))}}for(h=y.c.length,r=nM(e),d=new Gt,o=h/tl(e.a).c|0,c=0;c3&&(v_(d,(MH(),MH(),hZ)),p-=4),p){case 3:np(d,qD(r));case 2:g=VD(qD(r));do{g=VD(g)}while(!ch(nl(e.a),g));d.c[d.c.length]=g,g=UD(qD(r));do{g=UD(g)}while(!ch(nl(e.a),g));d.c[d.c.length]=g;break;case 1:np(d,qD(r))}f=new tr(d),s=new tr(y);while(f.a1&&(e.c[f]=!0):y.g==yU&&y.e.c.length+y.b.c.length>1&&(e.d[f]=!0)}g.g==(dA(),cK)&&(++u[f],o[f]=!0)}}for(n=!0,b=!0,c=0;c0,v=x.e.c.length>0,s&&v?h.c[h.c.length]=x:s?b.c[b.c.length]=x:v&&(m.c[m.c.length]=x);for(p=new tr(b);p.a=b&&(m>b&&(p.c=Ux(qF,az,1,0,4,1),b=m),p.c[p.c.length]=o);0!=p.c.length&&(d=gp(Vp(p,iP(t,p.c.length)),77),T.a.eb(d),d.i=g++,DD(d,j,S),p.c=Ux(qF,az,1,0,4,1))}for(k=e.c.length+1,c=new tr(e);c.aO.i&&(av(n),wk(O.d,r),r.c>0&&(r.a=O,np(O.j,r),r.b=_,np(_.d,r)))}}function rG(e){var t,n,r;for(r=new xb(new lr(e.c).a);mf(r.a);)switch(r.b=dx(r.a),n=new Ns(r.c,r.b),t=gp(n.b.b[n.a.e],62),gp(n.a,67).e){case 0:t.d=0,t.e=-(t.b+e.d);break;case 1:t.d=(e.e.e.j.a-t.c)/2,t.e=-(t.b+e.d);break;case 2:t.d=e.e.e.j.a-t.c,t.e=-(t.b+e.d);break;case 3:t.d=0,t.e=e.e.e.j.b+e.d;break;case 4:t.d=(e.e.e.j.a-t.c)/2,t.e=e.e.e.j.b+e.d;break;case 5:t.d=e.e.e.j.a-t.c,t.e=e.e.e.j.b+e.d;break;case 6:t.d=-(t.c+e.d),t.e=0;break;case 7:t.d=-(t.c+e.d),t.e=(e.e.e.j.b-t.b)/2;break;case 8:t.d=-(t.c+e.d),t.e=e.e.e.j.b-t.b;break;case 9:t.d=e.e.e.j.a+e.d,t.e=0;break;case 10:t.d=e.e.e.j.a+e.d,t.e=(e.e.e.j.b-t.b)/2;break;case 11:t.d=e.e.e.j.a+e.d,t.e=e.e.e.j.b-t.b;break;case 12:t.d=e.q.b+e.d,t.e=e.q.d+e.d;break;case 13:t.d=(e.e.e.j.a-t.c)/2,t.e=e.q.d+e.d;break;case 14:t.d=e.e.e.j.a-e.q.c-t.c-e.d,t.e=e.q.d+e.d;break;case 15:t.d=e.q.b+e.d,t.e=(e.e.e.j.b-t.b)/2;break;case 16:t.d=(e.e.e.j.a-t.c)/2,t.e=(e.e.e.j.b-t.b)/2;break;case 17:t.d=e.e.e.j.a-e.q.c-t.c-e.d,t.e=(e.e.e.j.b-t.b)/2;break;case 18:t.d=e.q.b+e.d,t.e=e.e.e.j.b-e.q.a-t.b-e.d;break;case 19:t.d=(e.e.e.j.a-t.c)/2,t.e=e.e.e.j.b-e.q.a-t.b-e.d;break;case 20:t.d=e.e.e.j.a-e.q.c-t.c-e.d,t.e=e.e.e.j.b-e.q.a-t.b-e.d}}function iG(e,t){var n,r,i,a,o,c,u,s,l,f,h,d,p,b,g,v,w,y,m,x,k,E,S,_,C,j,O,T,P;for(j=new Aa,S=new Aa,p=-1,w=new tr(e);w.a=h&&(m>h&&(f.c=Ux(qF,az,1,0,4,1),h=m),f.c[f.c.length]=g);0!=f.c.length&&(l=gp(Vp(f,iP(t,f.c.length)),80),bv(T.a,l),l.d=d++,ID(l,j,S),f.c=Ux(qF,az,1,0,4,1))}for(k=e.c.length+1,v=new tr(e);v.aO.d&&(av(n),wk(O.b,r),r.c>0&&(r.a=O,np(O.e,r),r.b=_,np(_.b,r)))}}function aG(e){switch(e.e){case 14:return new X;case 37:return new Z;case 8:return new va;case 30:return new wa;case 38:return new ee;case 3:return new te;case 47:case 1:return new xn((Q_(),mK));case 4:return new ne;case 49:return new re;case 23:return new nt;case 13:return new ie;case 34:return new oe;case 40:return new ce;case 35:return new le;case 44:return new Ul;case 28:return new fe;case 39:return new he;case 27:return new de;case 6:return new pe;case 31:return new we;case 9:return new Tt;case 43:return new me;case 17:return new xe;case 18:return new Se;case 29:return new Pt;case 11:return new Ne;case 12:return new Ce;case 36:return new je;case 46:case 0:return new xn((Q_(),yK));case 41:return new Te;case 15:return new Pe;case 33:return new Ae;case 42:return new De;case 22:return new Le;case 19:return new ve;case 10:return new Oe;case 7:return new Re;case 24:return new Be;case 21:return new He;case 16:return new ze;case 45:return new Ye;case 26:return new Fe;case 20:return new $e;case 25:return new Ve;case 5:return new Ze;case 32:return new Je;case 48:case 2:return new xn((Q_(),wK));default:throw new Oa("No implementation is available for the layout processor "+(null!=e.d?e.d:""+e.e))}}function oG(e){var t,n,r,i,a,o,c;if(n=e.e.e.j,t=e.b?gp(aO(e.e,(xG(),jV)),65):new Mh(e.k,e.k,e.k,e.k),i=n.a,(e.b||e.g[1]!=(vO(),Mq))&&(i-=t.b+t.c),a=n.a,(e.b||e.g[3]!=(vO(),Mq))&&(a-=t.b+t.c),o=n.b,(e.b||e.g[4]!=(vO(),Mq))&&(o-=t.d+t.a),r=n.b,(e.b||e.g[2]!=(vO(),Mq))&&(r-=t.d+t.a),co(e,(SH(),eU))==(vO(),Mq))e.j[1]=(i-lo(e,eU))/uo(e,eU),e.f=e.b?t.b+(1==fo(e,eU)?e.j[1]:0):e.j[1];else switch(e.j[1]=e.k,c=lo(e,eU)+e.j[1]*(fo(e,eU)-1),co(e,eU).e){case 2:e.f=t.b;break;case 3:e.f=t.b+(i-c)/2;break;case 4:e.f=n.a-c-t.c}if(co(e,vU)==Mq)e.j[3]=(a-lo(e,vU))/uo(e,vU),e.r=n.a-(e.b?t.c+(1==fo(e,vU)?e.j[3]:0):e.j[3]);else switch(e.j[3]=e.k,c=lo(e,vU)+e.j[3]*(fo(e,vU)-1),co(e,vU).e){case 2:e.r=c+t.b;break;case 3:e.r=n.a-(a-c)/2-t.c;break;case 4:e.r=n.a-t.c}if(co(e,yU)==Mq)e.j[4]=(o-lo(e,yU))/uo(e,yU),e.s=n.b-(e.b?t.a+(1==fo(e,yU)?e.j[4]:0):e.j[4]);else switch(e.j[4]=e.k,c=lo(e,yU)+e.j[4]*(fo(e,yU)-1),co(e,yU).e){case 2:e.s=c+t.d;break;case 3:e.s=n.b-(o-c)/2-t.a;break;case 4:e.s=n.b-t.a}if(co(e,Jq)==Mq)e.j[2]=(r-lo(e,Jq))/uo(e,Jq),e.a=e.b?t.d+(1==fo(e,Jq)?e.j[2]:0):e.j[2];else switch(e.j[2]=e.k,c=lo(e,Jq)+e.j[2]*(fo(e,Jq)-1),co(e,Jq).e){case 2:e.a=t.d;break;case 3:e.a=t.d+(r-c)/2;break;case 4:e.a=n.b-c-t.a}}function cG(e,t,n){var r,i,a,o,c,u,s,l,f,h,d,p,b,g,v,w,y,m,x,k,E,S,_,C,j,O,T,P;for(O=0,o=0,f=t[0].d,S=n[0].d,p=0,g=n.length;p0){for(Al(E.b>0),m=gp(E.a.sb(E.c=--E.b),7),k=0,a=new tr(m.b);a.a0&&(m.g==(SH(),eU)?(e.a[m.k]=O,++O):(e.a[m.k]=O+w+y,++y),o+=k)}O+=y}else{for(v=0,x=new tr(h.f);x.a0&&(++O,o+=v)}for(_=Ux(_2,Rz,26,o,12,1),u=0,d=0,b=t.length;d0)s%2>0&&(r+=T[s+1]),s=(s-1)/2|0,++T[s]}return r}function uG(e,t){var n,r,i,a,o,c,u,s,l,f,h,d,p,b,g,v,w,y,m,x,k,E,S,_,C,j,O,T,P,A;for(PO(t,"Compound graph postprocessor",1),n=Sa(_a(Fh(H_(e,(wG(),c1))))),c=gp(H_(e,(vG(),u0)),144),f=new ya,k=c.W().mb();k.G();){for(x=gp(k.H(),12),o=new Md(c.U(x)),_m(o,new hn(e)),j=cS(($x(0,o.c.length),gp(o.c[0],114))),T=oS(gp(Vp(o,o.c.length-1),114)),Bv(x.a),_=j.f,S=pj(T.f,_)?gp(H_(_,_0),55):$g(_),p=gp(H_(x,(xG(),qV)),44),ob(o,JW)?p?Bv(p):(p=new ti,Nk(x,qV,p)):p&&Nk(x,qV,null),g=null,a=new tr(o);a.a$Y,A=fc(g.b-y.b)>$Y,(!n&&P&&A||n&&(P||A))&&tp(x.a,C)),bS(x.a,r),0==r.b?g=C:(Al(0!=r.b),g=gp(r.c.b.c,10)),w=gp(H_(v,qV),44),w&&(d=new ti,aC(d,0,w),HS(d,m),bS(p,d)),oS(i)==T&&($g(T.f)!=i.a&&(m=new Pa,YI(m,$g(T.f),S)),Nk(x,W0,m)),b=new zy(v.b,0);while(b.bj?f:j;for(r=new tr(_.e);r.aj?S:j}Nk(m,TQ,Cj(f)),Nk(m,PQ,Cj(S))}for(v=0,d=new tr(t.c);d.a0&&s>0&&DB(v,new Hc(_,s),!0))),b=vo(b,v.i.a+v.j.a),g=vo(g,v.i.b+v.j.b),d=new tr(v.c);d.a1){E=Ux(e2,NG,15,e.a.length,0,1),s=Gf(e.a.length),b=0,p=0,n=2*t.d.a.c.length+1;e:for(k=new tr(t.f);k.a0?(E[x.k]=new Vn(O/(x.b.c.length+x.e.c.length)),b=xo(b,E[x.k].a),p=wo(p,E[x.k].a)):v&&(E[x.k]=new Vn(O))}for(g=(t.d?Ik(t.d.a,t,0):-1)+1,d=t.d.a.c.length+1,u=new tr(s);u.aa.j.e+a.j.b?p.d=!0:(p.d=!0,p.c=!0))),r.b!=r.d.c&&(t=n);p&&(o=gp(Ug(m,u.d.f),25),t.bo.j.e+o.j.b?p.d=!0:(p.d=!0,p.c=!0))}for(s=kg(Sj(w));Rj(s);)u=gp(Jw(s),12),0!=u.a.b&&(t=gp(Zf(u.a),10),u.d.g==(SH(),eU)&&(_=new vL(t,new Hc(t.a,a.j.e),a,u),_.c=!0,S.c[S.c.length]=_),u.d.g==vU&&(_=new vL(t,new Hc(t.a,a.j.e+a.j.b),a,u),_.d=!0,S.c[S.c.length]=_))}if(0!=S.c.length){for(Kv(),_m(S,null),$x(0,S.c.length),d=gp(S.c[0],142),i=new MI(d,e.d),h=1;hn&&b.a.db(y,b);for(N=new ya,g=new ya,j=new Wn(A.a).a.bb().mb(),x=new Kn(j);x.a.G();)for(f=gp(x.a.H(),21),y=gp(f.yb(),9),o=1==t?_j(y):Sj(y),Xl(),s=new Dl(Hl(yp(o.a,new p)));Rj(s);)u=gp(Jw(s),12),_s(y.d)!=_s(u.d.f.d)&&hg(N,u.d.f);for(O=new Wn(b.a).a.bb().mb(),k=new Kn(O);k.a.G();)for(f=gp(k.a.H(),21),y=gp(f.yb(),9),o=1==t?_j(y):Sj(y),Xl(),s=new Dl(Hl(yp(o.a,new p)));Rj(s);)u=gp(Jw(s),12),_s(y.d)!=_s(u.d.f.d)&&hg(g,u.d.f);for(vK&&ap(),_=gp(Vp(e.d.c.c,r+(1==t?1:-1)),16),v=VG,w=HG,h=0;h<_.a.c.length;h++)y=gp(Vp(_.a,h),9),N.a.R(y)?v=v>h?v:h:g.a.R(y)&&(w=w1||Wg(hl(new rm(vj($_(ao(qF,1),az,1,4,[w.b,w.e])))))>1)&&i.ib((qL(),_J)),Fs(H_(p,(wG(),f1)))===Fs((om(),bQ))&&!(mY in t.a)){n=new ti;try{for(c=Dv(t,mY).hc(),a=0;a0&&(e.a[H.k]=W++)}else{for(I=0,G=new tr(C.f);G.a0&&++W}for(J=0,T=0,N=n.length;T0){for(Al(F.b>0),H=gp(F.a.sb(F.c=--F.b),7),Y=0,c=new tr(H.b);c.a0&&(H.g==(SH(),eU)?(e.a[H.k]=J,++J):(e.a[H.k]=J+D+M,++M))}J+=M}else{for(I=0,G=new tr(C.f);G.a0&&++J}for(Pf(),z=new Pr,d=new Nl,j=0,P=t.length;js.b&&(s.b=$)):H.f.d==U&&($s.c&&(s.c=$));for(KT(p,0,p.length,(Wu(),Wu(),l2)),Z=Ux(_2,Rz,26,p.length,12,1),r=Ux(_2,Rz,26,J+1,12,1),g=0;g0)k%2>0&&(i+=ne[k+1]),k=(k-1)/2|0,++ne[k]}for(S=Ux(_Q,az,156,2*p.length,0,1),y=0;y1?cy(this,e-1):this,t},EG.Pc=function(){return rd(this),this.b},EG.Qc=function(){return Mo(this)},EG.Rc=function(){return Ro(this)},EG.Sc=function(){return 0!=(4&this.g)},EG.Tc=function(){return 0!=(1&this.g)},EG.w=function(){return(0!=(2&this.g)?"interface ":0!=(1&this.g)?"":"class ")+(rd(this),this.n)},EG.g=0;var VF;wD(119,72,{3:1,119:1,54:1,46:1},oi),wD(29,72,FG,ci,Oa),wD(95,72,DG,ui,ja),wD(231,1,{3:1,231:1}),wD(24,231,{3:1,23:1,24:1,231:1},Rn),EG.F=function(e){return bl(this,gp(e,24))},EG.t=function(e){return wf(e,24)&&gp(e,24).a==this.a},EG.v=function(){return this.a},EG.w=function(){return $o(this.a)},EG.a=0,PG={3:1,345:1,23:1,2:1},wD(350,1,qG,ot),EG.$b=function(e,t){return Gm(Vh(e),Vh(t))},wD(257,95,DG,jo),wD(145,1,{23:1,145:1}),EG.F=function(e){return pl(this,gp(e,145))},EG.t=function(e){var t;return e===this||!!wf(e,145)&&(t=gp(e,145),ta(this.a,t.a))},EG.v=function(){return fT(this.a)},EG.w=function(){return this.a},wD(358,29,FG,Mg),wD(256,29,{3:1,54:1,29:1,46:1,256:1},Lg),wD(185,145,UG),wD(289,185,UG,To),EG.Zc=function(e,t,n){var r,i;for(r=Ux(j2,WG,26,n,12,1),i=0;in)throw new ja(KG)}for(o=Ux(j2,WG,26,a,12,1),l=0,c=0,u=0;u0){if(r=e[t+u++],128!=(192&r))throw new Oa("Invalid UTF8 sequence at "+(t+u-1)+", byte="+(r>>>0).toString(16));i=i<<6|63&r}l+=oP(i,o,l)}return o};var qF=Pg(QG,"Object",1),UF=Pg(QG,"Throwable",46),WF=(Pg(QG,"Exception",54),Pg(QG,"RuntimeException",72),Pg(ZG,"JavaScriptException",164),Pg(JG,"StackTraceCreator/Collector",642),Pg(JG,"StackTraceCreator/CollectorLegacy",356),Pg(JG,"StackTraceCreator/CollectorModern",643),Pg(JG,"StackTraceCreator/CollectorModernNoSourceMap",357),Pg(ez,"IOException",181),Pg(ez,"UnsupportedEncodingException",351),Pg(QG,"Class",288),Pg(QG,"ClassCastException",119),Pg(QG,"IllegalArgumentException",29),Pg(QG,"IndexOutOfBoundsException",95),Pg(QG,"Number",231),Pg(QG,"Integer",24)),KF=Pg(QG,"String",2);Pg(QG,"String/1",350),Pg(QG,"StringIndexOutOfBoundsException",257),Pg(tz,"Charset",145),Pg(tz,"IllegalCharsetNameException",358),Pg(tz,"UnsupportedCharsetException",256),Pg(nz,"EmulatedCharset",185),Pg(nz,"EmulatedCharset/LatinCharset",289),Pg(nz,"EmulatedCharset/UtfCharset",355);wD(669,1,{3:1});var XF;Pg(rz,"Optional",669);wD(601,669,{3:1},u),EG.t=function(e){return e===this},EG.v=function(){return 2040732332},EG.w=function(){return"Optional.absent()"},EG.A=function(e){return db(e),Si(),XF};Pg(rz,"Absent",601);var QF=eb(rz,"Function");wD(208,1,{},Ta),EG.C=function(e){return Cg(e)};Pg(rz,"Joiner",208);wD(363,208,{},_p),EG.C=function(e){return If(this,e)};Pg(rz,"Joiner/1",363);wD(362,1,{},gh);Pg(rz,"Joiner/MapJoiner",362);var ZF,JF=eb(rz,"Predicate");wD(244,1,{68:1,244:1,3:1},Yt),EG.D=function(e){var t;for(t=0;t0},EG.H=function(){if(this.b>=this.c)throw new Gi;return Ho(this,this.b++)},EG.L=function(){return this.b},EG.M=function(){if(this.b<=0)throw new Gi;return Ho(this,--this.b)},EG.N=function(){return this.b-1},EG.b=0,EG.c=0;Pg(lz,"AbstractIndexedListIterator",378);wD(428,108,sz),EG.G=function(){return uS(this)},EG.H=function(){return Wx(this)},EG.d=1;Pg(lz,"AbstractIterator",428);wD(653,1,{144:1}),EG.P=function(){var e;return e=this.f,e||(this.f=this.S())},EG.T=function(){return new vc(this.P())},EG.t=function(e){return oC(this,e)},EG.v=function(){return this.P().v()},EG.V=function(){return 0==this.Y()},EG.W=function(){return Gb(this)},EG.w=function(){return this.P().w()};Pg(lz,"AbstractMultimap",653);wD(294,653,hz),EG.Q=function(){AT(this)},EG.R=function(e){return jk(this.b,e)},EG.S=function(){return new mc(this,this.b)},EG.T=function(){return new Ff(this,this.b)},EG.$=function(){return nT(this.Z())},EG.U=function(e){return TA(this,e)},EG.X=function(e){return fI(this,e)},EG.Y=function(){return this.c},EG.c=0;Pg(lz,"AbstractMapBasedMultimap",294);wD(600,294,hz),EG.Z=function(){return new qk(this.a)},EG.$=function(){return Jg(),Jg(),f$},EG.U=function(e){return gp(TA(this,e),20)},EG.X=function(e){return gp(fI(this,e),20)},EG.P=function(){var e;return e=this.f,e||(this.f=new mc(this,this.b))},EG.t=function(e){return oC(this,e)};Pg(lz,"AbstractListMultimap",600);wD(388,1,dz),EG.G=function(){return this.b.b||this.d.G()},EG.H=function(){var e;return this.d.G()||(e=RE(this.b),e.yb(),this.a=gp(e.zb(),19),this.d=this.a.mb()),this.d.H()},EG.I=function(){this.d.I(),this.a.V()&&xk(this.b),--this.c.c};Pg(lz,"AbstractMapBasedMultimap/Itr",388);wD(389,388,dz,nS);Pg(lz,"AbstractMapBasedMultimap/1",389);wD(638,1,pz),EG.Q=function(){this.bb().Q()},EG._=function(e){return mP(this,e)},EG.R=function(e){return!!SA(this,e,!1)},EG.ab=function(e){var t,n,r;for(n=this.bb().mb();n.G();)if(t=gp(n.H(),21),r=t.zb(),Fs(e)===Fs(r)||null!=e&&jC(e,r))return!0;return!1},EG.t=function(e){return kN(this,e)},EG.cb=function(e){return $s(SA(this,e,!1))},EG.v=function(){return T_(this.bb())},EG.V=function(){return 0==this.Y()},EG.W=function(){return new Wn(this)},EG.db=function(e,t){throw new Qa("Put not supported on this map")},EG.eb=function(e){return $s(SA(this,e,!0))},EG.Y=function(){return this.bb().Y()},EG.w=function(){return VA(this)},EG.fb=function(){return new Xn(this)};Pg(bz,"AbstractMap",638);wD(654,638,pz),EG.bb=function(){return zb(this)},EG.W=function(){var e;return e=this.d,e||(this.d=new vc(this))},EG.fb=function(){return Hg(this)};Pg(lz,"Maps/ViewCachingAbstractMap",654);wD(262,654,pz,mc),EG.cb=function(e){return Lk(this,e)},EG.eb=function(e){return wC(this,e)},EG.Q=function(){this.a==this.b.b?AT(this.b):Wb(new Uw(this))},EG.R=function(e){return vT(this.a,e)},EG.hb=function(){return new Vt(this)},EG.gb=function(){return this.hb()},EG.t=function(e){return this===e||kN(this.a,e)},EG.v=function(){return T_(new qn(this.a))},EG.W=function(){return Gb(this.b)},EG.Y=function(){return ju(this.a)},EG.w=function(){return VA(this.a)};Pg(lz,"AbstractMapBasedMultimap/AsMap",262);wD(640,1,gz),EG.ib=function(e){return Nm()},EG.jb=function(e){return bS(this,e)},EG.Q=function(){vv(this)},EG.kb=function(e){return cO(this,e,!1)},EG.lb=function(e){return u_(this,e)},EG.V=function(){return 0==this.Y()},EG.nb=function(e){return cO(this,e,!0)},EG.ob=function(){return this.pb(Ux(qF,az,1,this.Y(),4,1))},EG.pb=function(e){return gP(this,e)},EG.w=function(){return $A(this)};Pg(bz,"AbstractCollection",640);wD(641,640,vz),EG.t=function(e){return dO(this,e)},EG.v=function(){return T_(this)};Pg(bz,"AbstractSet",641);wD(649,641,vz);Pg(lz,"Sets/ImprovedAbstractSet",649);wD(655,649,vz),EG.Q=function(){this.qb().Q()},EG.kb=function(e){return jO(this,e)},EG.V=function(){return this.qb().V()},EG.nb=function(e){var t;return!!this.kb(e)&&(t=gp(e,21),this.qb().W().nb(t.yb()))},EG.Y=function(){return this.qb().Y()};Pg(lz,"Maps/EntrySet",655);wD(387,655,vz,Vt),EG.kb=function(e){return wT(new qn(this.a.a),e)},EG.mb=function(){return new Uw(this.a)},EG.qb=function(){return this.a},EG.nb=function(e){var t;return!!wT(new qn(this.a.a),e)&&(t=gp(e,21),fx(this.a.b,t.yb()),!0)};Pg(lz,"AbstractMapBasedMultimap/AsMap/AsMapEntries",387);wD(299,1,dz,Uw),EG.H=function(){var e;return e=RE(this.b),this.a=gp(e.zb(),19),vk(this.c,e)},EG.G=function(){return this.b.b},EG.I=function(){xk(this.b),this.c.b.c-=this.a.Y(),this.a.Q()};Pg(lz,"AbstractMapBasedMultimap/AsMap/AsMapIterator",299);wD(260,649,vz,vc),EG.Q=function(){this.b.Q()},EG.kb=function(e){return this.b.R(e)},EG.V=function(){return this.b.V()},EG.mb=function(){return Pf(),Vd(this.b.bb().mb(),(Ql(),b$))},EG.nb=function(e){return!!this.b.R(e)&&(this.b.eb(e),!0)},EG.Y=function(){return this.b.Y()};Pg(lz,"Maps/KeySet",260);wD(386,260,vz,Ff),EG.Q=function(){var e;Wb((e=this.b.bb().mb(),new kc(this,e)))},EG.lb=function(e){return this.b.W().lb(e)},EG.t=function(e){return this===e||this.b.W().t(e)},EG.v=function(){return this.b.W().v()},EG.mb=function(){var e;return e=this.b.bb().mb(),new kc(this,e)},EG.nb=function(e){var t,n;return n=0,t=gp(this.b.eb(e),19),t&&(n=t.Y(),t.Q(),this.a.c-=n),n>0};Pg(lz,"AbstractMapBasedMultimap/KeySet",386);wD(300,1,dz,kc),EG.G=function(){return this.c.G()},EG.H=function(){return this.a=gp(this.c.H(),21),this.a.yb()},EG.I=function(){var e;C_(!!this.a),e=gp(this.a.zb(),19),this.c.I(),this.b.a.c-=e.Y(),e.Q()};Pg(lz,"AbstractMapBasedMultimap/KeySet/1",300);wD(216,640,gz,Kx),EG.ib=function(e){return dE(this,e)},EG.jb=function(e){return sj(this,e)},EG.Q=function(){Jy(this)},EG.kb=function(e){return Hj(this),this.d.kb(e)},EG.lb=function(e){return Hj(this),this.d.lb(e)},EG.t=function(e){return gw(this,e)},EG.v=function(){return Hj(this),this.d.v()},EG.mb=function(){return Hj(this),new jp(this)},EG.nb=function(e){return Rm(this,e)},EG.Y=function(){return Hj(this),this.d.Y()},EG.w=function(){return Hj(this),ZT(this.d)};Pg(lz,"AbstractMapBasedMultimap/WrappedCollection",216);var o$=eb(bz,"List");wD(297,216,wz,ig),EG.rb=function(e,t){var n;Hj(this),n=this.d.V(),gp(this.d,20).rb(e,t),++this.a.c,n&&Yd(this)},EG.sb=function(e){return Hj(this),gp(this.d,20).sb(e)},EG.tb=function(){return Hj(this),new ql(this)},EG.ub=function(e){return Hj(this),new $v(this,e)},EG.vb=function(e){var t;return Hj(this),t=gp(this.d,20).vb(e),--this.a.c,Jb(this),t},EG.wb=function(e,t){return Hj(this),gp(this.d,20).wb(e,t)},EG.xb=function(e,t){return Hj(this),pm(this.a,this.e,gp(this.d,20).xb(e,t),this.b?this.b:this)};Pg(lz,"AbstractMapBasedMultimap/WrappedList",297);wD(385,297,yz,Dh);Pg(lz,"AbstractMapBasedMultimap/RandomAccessWrappedList",385);wD(189,1,dz,jp),EG.G=function(){return eg(this),this.b.G()},EG.H=function(){return eg(this),this.b.H()},EG.I=function(){this.b.I(),--this.d.f.c,Jb(this.d)};Pg(lz,"AbstractMapBasedMultimap/WrappedCollection/WrappedIterator",189);wD(298,189,mz,ql,$v),EG.J=function(e){var t;t=0==Ru(this.a),(eg(this),gp(this.b,96)).J(e),++this.a.a.c,t&&Yd(this.a)},EG.K=function(){return(eg(this),gp(this.b,96)).K()},EG.L=function(){return(eg(this),gp(this.b,96)).L()},EG.M=function(){return(eg(this),gp(this.b,96)).M()},EG.N=function(){return(eg(this),gp(this.b,96)).N()},EG.O=function(e){(eg(this),gp(this.b,96)).O(e)};Pg(lz,"AbstractMapBasedMultimap/WrappedList/WrappedListIterator",298);wD(295,216,vz,Rh);Pg(lz,"AbstractMapBasedMultimap/WrappedSet",295);wD(296,216,xz,Bh);Pg(lz,"AbstractMapBasedMultimap/WrappedSortedSet",296);wD(668,1,kz),EG.t=function(e){var t;return!!wf(e,21)&&(t=gp(e,21),Xg(this.yb(),t.yb())&&Xg(this.zb(),t.zb()))},EG.v=function(){var e,t;return e=this.yb(),t=this.zb(),(null==e?0:Tj(e))^(null==t?0:Tj(t))},EG.Ab=function(e){throw new hi},EG.w=function(){return this.yb()+"="+this.zb()};Pg(lz,Ez,668);wD(390,640,gz,qt),EG.Q=function(){AT(this.a)},EG.kb=function(e){return YC(this.a,e)},EG.mb=function(){return new nS(this.a)},EG.Y=function(){return this.a.c};Pg(lz,"AbstractMultimap/Values",390);wD(656,640,Sz),EG.ib=function(e){return this.Bb(e,1),!0},EG.Bb=function(e,t){throw new hi},EG.jb=function(e){return xA(this,e)},EG.Q=function(){Wb(this.Eb())},EG.kb=function(e){return this.Cb(e)>0},EG.Cb=function(e){var t,n;for(n=Gg(this).mb();n.G();)if(t=gp(n.H(),83),Xg(t.Zb(),e))return t.Yb();return 0},EG.gb=function(){return new Ut(this)},EG.bb=function(){return Gg(this)},EG.t=function(e){return GI(this,e)},EG.v=function(){return Gg(this).v()},EG.V=function(){return Gg(this).V()},EG.mb=function(){return Mr(),new Pc(this,Gg(this).mb())},EG.nb=function(e){return this.Fb(e,1)>0},EG.Fb=function(e,t){throw new hi},EG.Gb=function(e,t){var n,r;return Mr(),pE(t,"count"),n=this.Cb(e),r=t-n,r>0?this.Bb(e,r):r<0&&this.Fb(e,-r),n},EG.Hb=function(e,t,n){return VC(this,e,t,n)},EG.Y=function(){return P_(this)},EG.w=function(){return ZT(Gg(this))};Pg(lz,"AbstractMultiset",656);wD(657,649,vz),EG.Q=function(){this.Ib().Q()},EG.kb=function(e){var t,n;return!!wf(e,83)&&(n=gp(e,83),!(n.Yb()<=0)&&(t=this.Ib().Cb(n.Zb()),t==n.Yb()))},EG.nb=function(e){var t,n,r,i;return!(!wf(e,83)||(n=gp(e,83),t=n.Zb(),r=n.Yb(),0==r))&&(i=this.Ib(),i.Hb(t,r,0))};Pg(lz,"Multisets/EntrySet",657);wD(396,657,vz,Ut),EG.mb=function(){return this.a.Eb()},EG.Ib=function(){return this.a},EG.Y=function(){return this.a.Db()};Pg(lz,"AbstractMultiset/EntrySet",396);wD(384,294,hz),EG.Z=function(){return new pc(m_(this.a))},EG.$=function(){return Id(),ev(),m$},EG.U=function(e){return gp(TA(this,e),18)},EG.X=function(e){return gp(fI(this,e),18)},EG.P=function(){var e;return e=this.f,e||(this.f=new mc(this,this.b))},EG.t=function(e){return oC(this,e)};Pg(lz,"AbstractSetMultimap",384);wD(342,656,Sz);Pg(lz,"AbstractSortedMultiset",342);wD(280,600,hz,hd),EG.a=0;var c$,u$;Pg(lz,"ArrayListMultimap",280);wD(159,17,_z);var s$=Rk(lz,"BoundType",159,i$,fv);wD(623,159,_z,cl);Rk(lz,"BoundType/1",623,s$,null);wD(624,159,_z,Il);var l$;Rk(lz,"BoundType/2",624,s$,null);wD(234,1,jz),EG.w=function(){return Sm(this.c.mb())};Pg(lz,"FluentIterable",234);wD(170,234,jz,Sl),EG.mb=function(){return kg(this)};Pg(lz,"FluentIterable/2",170);wD(664,1,{}),EG.w=function(){return ZT(Mv(this.a.d).b)};Pg(lz,"ForwardingObject",664);wD(665,664,gz),EG.ib=function(e){return Mv(this.a.d),gi()},EG.jb=function(e){return Mv(this.a.d),vi()},EG.Q=function(){Mv(this.a.d),wi()},EG.kb=function(e){return Nu(Mv(this.a.d),e)},EG.lb=function(e){return Iu(Mv(this.a.d),e)},EG.V=function(){return Mv(this.a.d).b.V()},EG.mb=function(){var e;return e=Mv(this.a.d).b.mb(),new ur(e)},EG.nb=function(e){return Mv(this.a.d),yi()},EG.Y=function(){return Mv(this.a.d).b.Y()},EG.ob=function(){return nw(Mv(this.a.d))},EG.pb=function(e){return mw(Mv(this.a.d),e)};Pg(lz,"ForwardingCollection",665);wD(660,640,Oz),EG.mb=function(){return this.Kb()},EG.ib=function(e){return Hr()},EG.jb=function(e){return Gr()},EG.Q=function(){zr()},EG.kb=function(e){return null!=e&&cO(this,e,!1)},EG.Jb=function(){switch(this.Y()){case 0:return Jg(),Jg(),f$;case 1:return Jg(),new kb(this.Kb().H());default:return new rg(this,this.ob())}},EG.nb=function(e){return Yr()};Pg(lz,"ImmutableCollection",660);wD(316,660,Oz,Ii),EG.mb=function(){return vE(this.a.mb())},EG.kb=function(e){return null!=e&&this.a.kb(e)},EG.lb=function(e){return this.a.lb(e)},EG.V=function(){return this.a.V()},EG.Kb=function(){return vE(this.a.mb())},EG.Y=function(){return this.a.Y()},EG.ob=function(){return this.a.ob()},EG.pb=function(e){return this.a.pb(e)},EG.w=function(){return ZT(this.a)};var f$;Pg(lz,"ForwardingImmutableCollection",316);wD(87,660,Tz),EG.mb=function(){return this.Kb()},EG.tb=function(){return this.Lb(0)},EG.ub=function(e){return this.Lb(e)},EG.xb=function(e,t){return this.Mb(e,t)},EG.rb=function(e,t){throw new hi},EG.t=function(e){return JI(this,e)},EG.v=function(){return JS(this)},EG.Kb=function(){return this.Lb(0)},EG.Lb=function(e){return Rf(this,e)},EG.vb=function(e){throw new hi},EG.wb=function(e,t){throw new hi},EG.Mb=function(e,t){var n;return W_((n=new Lc(this),new By(n,e,t)))};Pg(lz,"ImmutableList",87);wD(667,87,Tz),EG.mb=function(){return vE(this.Nb().mb())},EG.xb=function(e,t){return W_(this.Nb().xb(e,t))},EG.kb=function(e){return Td(this,e)},EG.lb=function(e){return this.Nb().lb(e)},EG.t=function(e){return this.Nb().t(e)},EG.sb=function(e){return Vs(this,e)},EG.v=function(){return this.Nb().v()},EG.V=function(){return this.Nb().V()},EG.Kb=function(){return vE(this.Nb().mb())},EG.Y=function(){return this.Nb().Y()},EG.Mb=function(e,t){return W_(this.Nb().xb(e,t))},EG.ob=function(){return this.Nb().pb(Ux(qF,az,1,this.Nb().Y(),4,1))},EG.pb=function(e){return this.Nb().pb(e)},EG.w=function(){return ZT(this.Nb())};Pg(lz,"ForwardingImmutableList",667);wD(524,1,Pz),EG.bb=function(){return Fb(this)},EG.W=function(){return $b(this)},EG.fb=function(){return this.Rb()},EG.Q=function(){throw new hi},EG.R=function(e){return null!=this.cb(e)},EG.ab=function(e){return this.Rb().kb(e)},EG.Pb=function(){return new Di(this)},EG.Qb=function(){return new Li(this)},EG.t=function(e){return $C(this,e)},EG.v=function(){return Fb(this).v()},EG.V=function(){return 0==this.Y()},EG.db=function(e,t){return $r()},EG.eb=function(e){throw new hi},EG.w=function(){var e;return Pf(),e=Fg($k(this.Y()),123),hj(p$,e,Fb(this).mb()),e.a+="}",e.a},EG.Rb=function(){return this.g?this.g:this.g=this.Qb()},EG.e=null,EG.f=null,EG.g=null;Pg(lz,"ImmutableMap",524);wD(320,524,Pz),EG.R=function(e){return vT(this.d,e)},EG.ab=function(e){return Ou(this.d,e)},EG.Ob=function(){return UC(new Wt(this))},EG.Pb=function(){return UC(pv(this.d))},EG.Qb=function(){return Id(),new Ii(Rv(this.d))},EG.t=function(e){return oc(this.d,e)},EG.cb=function(e){return null==e?null:aT(this.d,e)},EG.v=function(){return this.d.c.v()},EG.V=function(){return this.d.c.V()},EG.Y=function(){return this.d.c.Y()},EG.w=function(){return ZT(this.d.c)};Pg(lz,"ForwardingImmutableMap",320);wD(666,665,vz),EG.t=function(e){return e===this||ac(Mv(this.a.d),e)},EG.v=function(){return Mv(this.a.d).b.v()};Pg(lz,"ForwardingSet",666);wD(523,666,vz,Wt),EG.kb=function(e){if(wf(e,21)&&null==gp(e,21).yb())return!1;try{return Nu(Mv(this.a.d),e)}catch(t){if(t=xC(t),wf(t,119))return!1;throw dj(t)}},EG.pb=function(e){var t;return t=mw(Mv(this.a.d),e),Mv(this.a.d).b.Y()=i)a.Q();else for(r=a.mb(),n=0;n0||this.c.G()},EG.H=function(){if(!(this.d>0||this.c.G()))throw new Gi;return 0==this.d&&(this.b=gp(this.c.H(),83),this.f=this.d=this.b.Yb()),--this.d,this.a=!0,this.b.Zb()},EG.I=function(){C_(this.a),1==this.f?this.c.I():this.e.Fb(this.b.Zb(),1),--this.f,this.a=!1},EG.a=!1,EG.d=0,EG.f=0;var w$;Pg(lz,"Multisets/MultisetIteratorImpl",303);wD(622,659,{3:1,56:1},h),EG.$b=function(e,t){return sd(gp(e,23),gp(t,23))},EG.w=function(){return"Ordering.natural()"};Pg(lz,"NaturalOrdering",622);wD(343,661,Tz,rg),EG.ub=function(e){return Rf(this.b,e)},EG.Sb=function(){return this.a},EG.sb=function(e){return Vs(this.b,e)},EG.Lb=function(e){return Rf(this.b,e)};var y$;Pg(lz,"RegularImmutableAsList",343);wD(559,275,Pz,uv),EG.Tb=function(){return this.a};Pg(lz,"RegularImmutableBiMap",559);wD(53,667,Tz,rm),EG.Nb=function(){return this.a};Pg(lz,"RegularImmutableList",53);wD(321,320,Pz,Ji);var m$;Pg(lz,"RegularImmutableMap",321);wD(265,315,Az,Fu);Pg(lz,"RegularImmutableSet",265);wD(650,641,vz);Pg(lz,"Sets/SetView",650);wD(377,650,vz,Rd),EG.kb=function(e){return cc(this.b,e)&&cc(this.c,e)},EG.lb=function(e){return u_(this.b,e)&&u_(this.c,e)},EG.V=function(){return kE(this)},EG.mb=function(){var e;return ng((e=new Wn(this.b.a).a.bb().mb(),new Kn(e)),this.a)},EG.Y=function(){var e;return px(ng((e=new Wn(this.b.a).a.bb().mb(),new Kn(e)),this.a))};Pg(lz,"Sets/2",377);wD(328,275,Pz,Gy,Ek),EG.fb=function(){return Id(),new qo(this.c)},EG.Tb=function(){var e;return e=this.a,e||(this.a=new Ek(this.c,this.b,this))},EG.Ub=function(){return Id(),new qo(this.c)};Pg(lz,"SingletonImmutableBiMap",328);wD(127,667,Tz,kb),EG.Nb=function(){return this.a};Pg(lz,"SingletonImmutableList",127);wD(135,663,Az,qo),EG.mb=function(){return Xl(),new Qt(this.a)},EG.kb=function(e){return jC(this.a,e)},EG.Kb=function(){return Xl(),new Qt(this.a)},EG.Y=function(){return 1};Pg(lz,"SingletonImmutableSet",135);wD(285,342,{207:1,3:1,22:1,19:1},sy,uT),EG.Bb=function(e,t){return yI(this,e,t)},EG.Cb=function(e){return nA(this,e)},EG.Db=function(){return Fk(rC(this,(Zl(),x$)))},EG.Eb=function(){return new $f(this)},EG.Fb=function(e,t){return pD(this,e,t)},EG.Gb=function(e,t){return MA(this,e,t)},EG.Hb=function(e,t,n){var r,i,a;return pE(n,"newCount"),pE(t,"oldCount"),Rs(_h(this.b,e)),a=this.c.a,a?(i=Ux(_2,Rz,26,1,12,1),r=LR(a,this.d,e,t,n,i),bb(this.c,a,r),i[0]==t):0==t&&(n>0&&yI(this,e,n),!0)},EG.Y=function(){return Fk(rC(this,(Zl(),k$)))};Pg(lz,"TreeMultiset",285);wD(619,658,{83:1},Nc),EG.Yb=function(){var e;return e=this.b.c,0==e?nA(this.a,this.b.b):e},EG.Zb=function(){return this.b.b};Pg(lz,"TreeMultiset/1",619);wD(620,1,dz,$f),EG.H=function(){return FC(this)},EG.G=function(){return __(this)},EG.I=function(){C_(!!this.b),MA(this.c,this.b.b.b,0),this.b=null};var x$,k$;Pg(lz,"TreeMultiset/2",620);wD(205,17,Bz);var E$=Rk(lz,"TreeMultiset/Aggregate",205,i$,hv);wD(617,205,Bz,ul),EG._b=function(e){return e.c},EG.ac=function(e){return e?e.j:0};Rk(lz,"TreeMultiset/Aggregate/1",617,E$,null);wD(618,205,Bz,Of),EG._b=function(e){return 1},EG.ac=function(e){return e?e.a:0};Rk(lz,"TreeMultiset/Aggregate/2",618,E$,null);wD(206,658,{83:1,206:1},PS),EG.Yb=function(){return this.c},EG.Zb=function(){return this.b},EG.w=function(){return Mr(),Im(new Gp(this.b,this.c))},EG.a=0,EG.c=0,EG.d=0,EG.j=0;Pg(lz,"TreeMultiset/AvlNode",206);wD(616,1,{},d);Pg(lz,"TreeMultiset/Reference",616);var S$,_$=Pg(ZG,"JavaScriptObject$",0);wD(628,1,{});Pg(ZG,"Scheduler",628);var C$,j$=0,O$=0,T$=-1;wD(360,628,{},l);Pg(JG,"SchedulerImpl",360);wD(646,1,{}),EG.hc=function(){return null},EG.ic=function(){return null},EG.jc=function(){return null},EG.kc=function(){return null},EG.lc=function(){return null};Pg(Gz,"JSONValue",646);wD(214,646,{214:1},fr,on),EG.t=function(e){return!!wf(e,214)&&this.a==gp(e,214).a},EG.gc=function(){return xr},EG.v=function(){return Ch(this.a)},EG.hc=function(){return this},EG.w=function(){var e,t,n;for(n=new Oo("["),t=0,e=this.a.length;t0&&(n.a+=","),Zs(n,wE(this,t));return n.a+="]",n.a};var P$,A$;Pg(Gz,"JSONArray",214);wD(292,646,{},cn),EG.gc=function(){return kr},EG.ic=function(){return this},EG.w=function(){return Cf(this.a)},EG.a=!1;Pg(Gz,"JSONBoolean",292);wD(371,72,DG,aa);var N$;Pg(Gz,"JSONException",371);wD(435,646,{},v),EG.gc=function(){return jr},EG.w=function(){return LG};Pg(Gz,"JSONNull",435);wD(104,646,{104:1},un),EG.t=function(e){return!!wf(e,104)&&this.a==gp(e,104).a},EG.gc=function(){return Er},EG.v=function(){return Vw(_a(this.a))},EG.jc=function(){return this},EG.w=function(){return this.a+""},EG.a=0;Pg(Gz,"JSONNumber",104);wD(69,646,{69:1},sa,sn),EG.t=function(e){return!!wf(e,69)&&this.a==gp(e,69).a},EG.gc=function(){return Sr},EG.v=function(){return Ch(this.a)},EG.kc=function(){return this},EG.w=function(){var e,t,n,r,i,a;for(a=new Oo("{"),e=!0,i=CS(this,Ux(KF,NG,2,0,5,1)),n=0,r=i.length;n>16&YG|t^r<<16},EG.mb=function(){return new ln(this)},EG.w=function(){return null==this.a&&null==this.b?"pair(null,null)":null==this.a?"pair(null,"+ZT(this.b)+")":null==this.b?"pair("+ZT(this.a)+",null)":"pair("+ZT(this.a)+","+ZT(this.b)+")"};Pg(Jz,"Pair",27);wD(431,1,dz,ln),EG.G=function(){return!this.c&&(!this.b&&null!=this.a.a||null!=this.a.b)},EG.H=function(){if(!this.c&&!this.b&&null!=this.a.a)return this.b=!0,this.a.a;if(!this.c&&null!=this.a.b)return this.c=!0,this.a.b;throw new Gi},EG.I=function(){throw this.c&&null!=this.a.b?this.a.b=null:this.b&&null!=this.a.a&&(this.a.a=null),new li},EG.b=!1,EG.c=!1;Pg(Jz,"Pair/1",431);wD(228,72,DG,oa);Pg(eY,"UnsupportedConfigurationException",228);wD(99,72,DG,ca);var z$,Y$,F$,$$,V$,q$,U$;Pg(eY,"UnsupportedGraphException",99);wD(103,17,{103:1,3:1,23:1,17:1},zc);var W$,K$,X$,Q$,Z$,J$,eV=Rk(iY,"Alignment",103,i$,vm);wD(59,17,{59:1,3:1,23:1,17:1},Wc);var tV,nV,rV,iV,aV,oV=Rk(iY,"Direction",59,i$,my);wD(107,17,{107:1,3:1,23:1,17:1},Kc);var cV,uV,sV,lV,fV,hV=Rk(iY,"EdgeLabelPlacement",107,i$,dy);wD(122,17,{122:1,3:1,23:1,17:1},Xc);var dV,pV,bV,gV,vV,wV,yV,mV=Rk(iY,"EdgeRouting",122,i$,py);wD(133,17,{133:1,3:1,23:1,17:1},Qc);var xV,kV,EV,SV,_V=Rk(iY,"EdgeType",133,i$,wm);wD(166,17,{166:1,3:1,23:1,17:1},Zc);var CV,jV,OV,TV,PV,AV,NV,IV,DV,LV,MV,RV,BV,HV,GV,zV,YV,FV,$V,VV,qV,UV,WV,KV,XV,QV,ZV,JV,eq,tq,nq,rq,iq,aq,oq,cq,uq,sq,lq,fq,hq,dq,pq,bq,gq,vq,wq,yq,mq,xq,kq,Eq,Sq,_q,Cq,jq,Oq,Tq,Pq,Aq=Rk(iY,"HierarchyHandling",166,i$,aw);wD(41,17,{41:1,3:1,23:1,17:1},Jc);var Nq,Iq,Dq,Lq,Mq,Rq,Bq=Rk(iY,"NodeLabelPlacement",41,i$,sk);wD(100,17,{100:1,3:1,23:1,17:1},eu);var Hq,Gq,zq,Yq,Fq,$q,Vq,qq=Rk(iY,"PortAlignment",100,i$,bm);wD(28,17,{28:1,3:1,23:1,17:1},tu);var Uq,Wq,Kq,Xq,Qq=Rk(iY,"PortConstraints",28,i$,gm);wD(149,17,{149:1,3:1,23:1,17:1},nu);var Zq,Jq,eU,tU,nU,rU,iU,aU,oU,cU,uU,sU,lU,fU,hU,dU,pU,bU,gU,vU,wU,yU,mU=Rk(iY,"PortLabelPlacement",149,i$,ow);wD(32,17,{32:1,3:1,23:1,17:1},ru);var xU,kU,EU,SU,_U,CU=Rk(iY,"PortSide",32,i$,yy);wD(150,17,{150:1,3:1,23:1,17:1},iu);var jU,OU,TU,PU,AU,NU=Rk(iY,"SizeConstraint",150,i$,gy);wD(139,17,{139:1,3:1,23:1,17:1},au);var IU,DU=Rk(iY,"SizeOptions",139,i$,by);wD(62,1,{62:1},Ju,Cv),EG.t=function(e){var t;return!(null==e||!wf(e,62))&&(t=gp(e,62),Iv(this.d,t.d)&&Iv(this.e,t.e)&&Iv(this.c,t.c)&&Iv(this.b,t.b))},EG.v=function(){return hC($_(ao(qF,1),az,1,4,[this.d,this.e,this.c,this.b]))},EG.w=function(){return"Rect[x="+this.d+",y="+this.e+",w="+this.c+",h="+this.b+"]"},EG.b=0,EG.c=0,EG.d=0,EG.e=0;Pg(sY,"Rectangle",62);wD(283,62,{283:1,62:1},ni),EG.a=0;var LU,MU,RU,BU,HU,GU,zU,YU,FU,$U,VU,qU,UU,WU,KU,XU,QU,ZU,JU,eW,tW,nW;Pg(lY,"LabelGroup",283);wD(67,17,{67:1,3:1,23:1,17:1},Ov);var rW,iW,aW,oW=Rk(lY,"LabelLocation",67,i$,gO);wD(225,17,{225:1,3:1,23:1,17:1},ou);var cW,uW=Rk(lY,"TextAlignment",225,i$,cw);wD(589,1,{},RR),EG.a=0,EG.b=!1,EG.d=0,EG.f=0,EG.k=0,EG.r=0,EG.s=0;var sW,lW,fW,hW;Pg(sY,"LabelAndNodeSizeProcessor/NodeData",589);wD(171,17,{171:1,3:1,23:1,17:1},cu);var dW=Rk(sY,"LabelSide",171,i$,iw);wD(590,1,{},fn),EG.b=!0,EG.c=!0,EG.d=!0,EG.e=!0;Pg(sY,hY,590);wD(121,1,pY),EG.t=function(e){var t;return!!wf(e,121)&&(t=gp(e,121),this.d==t.d&&this.a==t.a&&this.b==t.b&&this.c==t.c)},EG.v=function(){var e,t;return e=Vw(_a(this.b))<<16,e|=Vw(_a(this.a))&YG,t=Vw(_a(this.c))<<16,t|=Vw(_a(this.d))&YG,e^t},EG.w=function(){return"[top="+this.d+",left="+this.b+",bottom="+this.a+",right="+this.c+"]"},EG.a=0,EG.b=0,EG.c=0,EG.d=0;Pg(sY,"Spacing",121);wD(232,121,pY,ri,Lh,dd);Pg(sY,"Spacing/Insets",232);wD(65,121,{286:1,121:1,65:1,3:1,5:1},ii,Mh,pd);var pW,bW,gW;Pg(sY,"Spacing/Margins",65);wD(364,1,{},FT),EG.c=!1,EG.d=null,EG.g=null;var vW,wW,yW,mW,xW,kW,EW,SW,_W;Pg(jY,"JsonGraphImporter",364);wD(417,14,Zz,is);var CW;Pg(jY,"LayoutOptionResolver/DummyProperty",417);wD(348,1,{},jt);Pg(jY,"RecursiveLGraphLayout",348);wD(73,99,{73:1,3:1,54:1,46:1},ua,sh,og);var jW,OW,TW=Pg(jY,"UnsupportedJsonGraphException",73);wD(380,1,{},sv);Pg(AY,"GraphConfigurator",380);wD(49,1,{},Yj);Pg(AY,"IntermediateProcessingConfiguration",49);wD(365,1,{},Km);var PW;Pg(AY,"KlayLayered",365);wD(577,1,{},n_),EG.i=0;var AW;Pg(LY,"ComponentsToCGraphTransformer",577);wD(578,1,{},O),EG.tc=function(e,t){return mo(e.wc(),t.wc())},EG.uc=function(e,t){return mo(e.xc(),t.xc())};Pg(LY,"ComponentsToCGraphTransformer/1",578);wD(25,1,{25:1}),EG.k=0,EG.o=null,EG.p=!0,EG.r=DY;var NW=Pg(MY,"CNode",25);wD(198,25,{198:1,25:1},cf,iS),EG.vc=function(){this.b.d=this.j.d,this.b.e=this.j.e},EG.wc=function(){return null!=this.a?_a(this.a):this.c.i},EG.xc=function(){return null!=this.a?_a(this.a):this.c.i},EG.w=function(){return""};var IW,DW;Pg(LY,"ComponentsToCGraphTransformer/CRectNode",198);wD(549,1,{},T);Pg(LY,"OneDimensionalComponentsCompaction",549);wD(550,1,Nz,P),EG.B=function(e){return O_(),Eb(),0!=gp(gp(e,27).a,25).f.f?Q1:X1};Pg(LY,"OneDimensionalComponentsCompaction/lambda$0$Type",550);wD(551,1,Nz,A),EG.B=function(e){return O_(),Eb(),Kj(gp(gp(e,27).a,25).n,gp(gp(e,27).b,59))||0!=gp(gp(e,27).a,25).f.f&&Kj(gp(gp(e,27).a,25).n,gp(gp(e,27).b,59))?Q1:X1};Pg(LY,"OneDimensionalComponentsCompaction/lambda$1$Type",551);wD(324,1,{},cg);Pg(MY,"CGraph",324);wD(78,1,{78:1},zO),EG.b=0,EG.c=0,EG.d=0,EG.f=0,EG.i=!0,EG.j=DY;Pg(MY,"CGroup",78);wD(470,1,{},N),EG.tc=function(e,t){return vo(e.wc(),t.wc())},EG.uc=function(e,t){return vo(e.xc(),t.xc())};var LW,MW,RW;Pg(MY,"ISpacingsHandler/1",470);wD(323,1,{},jI),EG.e=!1;var BW=Pg(MY,"OneDimensionalCompactor",323);wD(554,1,Nz,k),EG.B=function(e){return Cb(),Eb(),0!=gp(gp(e,27).a,25).f.f?Q1:X1};Pg(MY,"OneDimensionalCompactor/lambda$0$Type",554);wD(335,1,{},fp),EG.a=!1,EG.b=!1,EG.c=!1,EG.d=!1;Pg(MY,"Quadruplet",335);wD(587,1,{},E),EG.Cc=function(e){var t,n,r,i,a,o,c,u,s,l,f,h,d,p,b,g,v,w;for(l=IY,r=new tr(e.a.b);r.ar.j.d||r.j.d==a.j.d&&r.j.ch&&(k=0,E+=f+m,f=0),b=a.d,iM(a,k+b.a,E+b.b),b.a=0,b.b=0,n=vo(n,k+w.a),f=vo(f,w.b),k+=w.a+m;if(t.e.a=n,t.e.b=E+f,v=gp(H_(t,Y0),15).a,Sa(_a(Fh(H_(i,(wG(),s1)))))){for(r=new H,JH(r,e,v),l=e.mb();l.G();)s=gp(l.H(),55),qh(Ss(s.d),r.e);qh(Ss(t.e),r.a)}Mx(t,e)};Pg(zY,"SimpleRowGraphPlacer",432);wD(433,1,qG,z),EG.$b=function(e,t){return l_(gp(e,55),gp(t,55))};var JW;Pg(zY,"SimpleRowGraphPlacer/1",433);wD(369,1,VY,Ot),EG.sc=function(e,t){uG(e,t)};Pg(qY,"CompoundGraphPostprocessor",369);wD(370,1,GY,Y),EG.D=function(e){var t;return t=gp(H_(gp(e,114).b,(xG(),qV)),44),!!t&&0!=t.b};Pg(qY,"CompoundGraphPostprocessor/1",370);wD(368,1,VY,Gs),EG.sc=function(e,t){QO(this,e,t)};Pg(qY,"CompoundGraphPreprocessor",368);wD(187,1,{187:1},rj),EG.c=!1;Pg(qY,"CompoundGraphPreprocessor/ExternalPort",187);wD(114,1,{114:1},Hd),EG.w=function(){return Oh(this.c)+":"+SE(this.b)};Pg(qY,"CrossHierarchyEdge",114);wD(310,1,qG,hn),EG.$b=function(e,t){return TP(this,gp(e,114),gp(t,114))};Pg(qY,"CrossHierarchyEdgeComparator",310);wD(147,131,{179:1,131:1,147:1,3:1}),EG.k=0;Pg(WY,"LGraphElement",147);wD(12,147,{179:1,131:1,12:1,147:1,3:1},Fv),EG.w=function(){return SE(this)};var eK=Pg(WY,"LEdge",12);wD(55,147,{179:1,131:1,55:1,147:1,3:1,22:1},NE),EG.mb=function(){return new tr(this.c)},EG.w=function(){return 0==this.c.c.length?"G-unlayered"+$A(this.b):0==this.b.c.length?"G-layered"+$A(this.c):"G[layerless"+$A(this.b)+", layers"+$A(this.c)+"]"};var tK=Pg(WY,"LGraph",55);wD(273,1,{}),EG.pc=function(){return this.e.j};Pg(WY,"LGraphAdapters/AbstractLShapeAdapter",273);wD(240,1,{627:1},dn),EG.b=null;Pg(WY,"LGraphAdapters/LEdgeAdapter",240);wD(325,1,{},lu),EG.pc=function(){return this.a.e},EG.b=null,EG.c=!1;Pg(WY,"LGraphAdapters/LGraphAdapter",325);wD(224,273,{129:1,224:1},pn);Pg(WY,"LGraphAdapters/LLabelAdapter",224);wD(555,273,{626:1},fu),EG.a=null,EG.b=null,EG.c=!1;Pg(WY,"LGraphAdapters/LNodeAdapter",555);wD(556,273,{161:1},hu),EG.a=null,EG.b=null,EG.c=null,EG.d=!1;Pg(WY,"LGraphAdapters/LPortAdapter",556);wD(557,1,qG,F),EG.$b=function(e,t){return FL(gp(e,7),gp(t,7))};Pg(WY,"LGraphAdapters/PortComparator",557);wD(168,1,{168:1},zt,Uv),EG.t=function(e){var t;return!!wf(e,168)&&(t=gp(e,168),this.d==t.d&&this.a==t.a&&this.b==t.b&&this.c==t.c)},EG.v=function(){var e,t;return e=Vw(_a(this.b))<<16,e|=Vw(_a(this.a))&YG,t=Vw(_a(this.c))<<16,t|=Vw(_a(this.d))&YG,e^t},EG.w=function(){return"Insets[top="+this.d+",left="+this.b+",bottom="+this.a+",right="+this.c+"]"},EG.a=0,EG.b=0,EG.c=0,EG.d=0;Pg(WY,"LInsets",168);wD(165,147,{179:1,131:1,147:1,165:1,3:1});Pg(WY,"LShape",165);wD(33,165,{179:1,131:1,147:1,33:1,165:1,3:1},kl),EG.w=function(){return null==this.a?"l_"+this.k:"l_"+this.a};Pg(WY,"LLabel",33);wD(9,165,{179:1,131:1,147:1,9:1,165:1,3:1},jT),EG.w=function(){return Gw(this)};var nK,rK,iK,aK,oK,cK,uK=Pg(WY,"LNode",9);wD(132,17,{132:1,3:1,23:1,17:1},pu);var sK,lK,fK,hK,dK,pK,bK=Rk(WY,"LNode/NodeType",132,i$,km);wD(7,165,{179:1,131:1,147:1,7:1,165:1,3:1},WP),EG.w=function(){var e;return e=Ex(this),null==e?"p_"+this.k:"p_"+e};var gK=Pg(WY,"LPort",7);wD(399,1,GY,$),EG.D=function(e){return ed(e)};Pg(WY,"LPort/1",399);wD(400,1,GY,V),EG.D=function(e){return Jh(e)};Pg(WY,"LPort/2",400);wD(401,1,GY,q),EG.D=function(e){return gp(e,7).g==(SH(),eU)};Pg(WY,"LPort/3",401);wD(402,1,GY,U),EG.D=function(e){return gp(e,7).g==(SH(),Jq)};Pg(WY,"LPort/4",402);wD(403,1,GY,W),EG.D=function(e){return gp(e,7).g==(SH(),vU)};Pg(WY,"LPort/5",403);wD(404,1,GY,K),EG.D=function(e){return gp(e,7).g==(SH(),yU)};Pg(WY,"LPort/6",404);wD(190,1,jz,bn),EG.mb=function(){var e;return e=new tr(this.a.b),new gn(e)};Pg(WY,"LPort/7",190);wD(405,1,dz,gn),EG.H=function(){return gp($y(this.a),12).c},EG.G=function(){return yf(this.a)},EG.I=function(){Qb(this.a)};Pg(WY,"LPort/7/1",405);wD(169,1,jz,vn),EG.mb=function(){var e;return e=new tr(this.a.e),new wn(e)};Pg(WY,"LPort/8",169);wD(304,1,dz,wn),EG.H=function(){return gp($y(this.a),12).d},EG.G=function(){return yf(this.a)},EG.I=function(){Qb(this.a)};Pg(WY,"LPort/8/1",304);wD(16,147,{179:1,131:1,147:1,16:1,3:1,22:1},ug),EG.mb=function(){return new tr(this.a)},EG.w=function(){return"L_"+Ik(this.b.c,this,0)+$A(this.a)};Pg(WY,"Layer",16);wD(437,1,VY,X),EG.sc=function(e,t){var n,r,i,a,o,c,u;for(PO(t,"Big nodes intermediate-processing",1),this.a=e,a=new tr(this.a.c);a.aa?50:a,n=new Gt,d=a+this.d,l=new tr(f);l.ad){h=1,r=o.j.a;while(r>a)++h,r=(o.j.a-(h-1)*this.d)/h;np(n,new Qm(this,o,h,r))}for(c=new tr(n);c.ac?50:c,n=new Gt,b=c+this.d,h=new tr(d);h.ab){p=1,r=u.j.a;while(r>c)++p,r=(u.j.a-(p-1)*this.d)/p;np(n,new pw(this,u,p))}for(s=new tr(n);s.a0||l.g==yU&&l.b.c.length-l.e.c.length<0)){n=!1;break}if(l.g==yU)for(i=new tr(l.e);i.a0&&WM(($x(0,n.c.length),gp(n.c[0],16)),e),n.c.length>1&&WM(gp(Vp(n,n.c.length-1),16),e),yj(t)};Pg(XY,"HierarchicalPortPositionProcessor",454);wD(471,1,VY,fe),EG.sc=function(e,t){var n,r,i,a,o,c,u,s,l,f,h,d,p,b;PO(t,"Hyperedge merging",1),d=new zy(e.c,0);while(d.bp+1?(h=(u+p)/2|0,np(f,new Gc(s,($x(h,c.c.length),gp(c.c[h],9))))):p>u+1&&(h=((p-u)/2|0)-1,np(f,new Gc(s,($x(h,d.c.length),gp(d.c[h],9)))))}for(v=new tr(f);v.a=2){for(l=!0,$x(1,s.c.length),g=gp(s.c[1],16),d=new tr(a.a);d.a=2){for(l=!0,v=gp(Vp(s,s.c.length-2),16),d=new tr(o.a);d.an?u:n}e.e.b=u-s,e.d.b-=s,yj(t)};Pg(XY,"LayerSizeAndGraphHeightCalculator",496);wD(497,1,VY,Te),EG.sc=function(e,t){var n,r,i,a,o;for(PO(t,"Edge joining",1),n=Sa(_a(Fh(H_(e,(wG(),c1))))),i=new tr(e.c);i.athis.j&&(this.q=EX,sB(this,i));break;case 4:for(this.q=(OD(),TX),sB(this,i),u=0,r=new tr(this.b);r.athis.k&&(this.q=CX,sB(this,i));break;case 6:f=Vw(Cs(this.f.length*s/100)),sB(this,new Cn(f));break;case 5:l=Vw(Cs(this.d*s/100)),sB(this,new jn(l));break;default:sB(this,i)}kL(this,e),yj(t)},EG.d=0,EG.e=0,EG.i=0,EG.j=0,EG.k=0,EG.n=0;Pg(XY,"NodePromotion",491);wD(492,1,Nz,Ie),EG.B=function(e){return Eb(),Eb(),Q1};Pg(XY,"NodePromotion/lambda$0$Type",492);wD(493,1,Nz,Cn),EG.B=function(e){return wg(this.a,e)},EG.a=0;Pg(XY,"NodePromotion/lambda$1$Type",493);wD(494,1,Nz,jn),EG.B=function(e){return yg(this.a,e)},EG.a=0;var kX,EX,SX,_X,CX,jX,OX,TX;Pg(XY,"NodePromotion/lambda$2$Type",494);wD(109,17,{109:1,3:1,23:1,17:1},yu);var PX,AX=Rk(XY,"NodePromotionStrategy",109,i$,uk);wD(500,1,VY,De),EG.sc=function(e,t){var n,r,i,a,o,c,u,s,l,f,h,d,p,b,g,v,w,y,m;for(PO(t,aF,1),d=gp(H_(e,(xG(),BV)),122),i=new tr(e.c);i.a=2){p=!0,f=new tr(a.f),n=gp($y(f),7);while(f.an)yj(t);else{C=0,a=iF;do{++C,n=O/C/(p*C),h=a,a=n-r<=0?0-(n-r):n-r}while(n>r);hC?1:C)|0,s=S,m=S,A=!0;while(s=S&&(A=!0),++m,++s}l=new zy(e.c,0);while(l.b "+this.a+" "+Oh(this.c)},EG.a=0,EG.b=0,EG.d=0;Pg(XY,"SplineSelfLoopRouter/LoopPadding",91);wD(521,1,GY,Cp),EG.D=function(e){return MT(this,gp(e,91))},EG.a=0,EG.c=0;Pg(XY,"SplineSelfLoopRouter/LoopPadding/EnclosingPredicate",521);wD(520,1,qG,et),EG.$b=function(e,t){return Ws(gp(e,91),gp(t,91))};Pg(XY,"SplineSelfLoopRouter/LoopPadding/MarginComparator",520);wD(196,1,GY,On),EG.D=function(e){return gp(e,91).c==this.a};Pg(XY,"SplineSelfLoopRouter/LoopPadding/PortSidePredicate",196);wD(195,1,{195:1},Cm),EG.c=0,EG.d=0,EG.e=0;Pg(XY,"SplineSelfLoopRouter/SelfLoopEdge",195);wD(519,1,qG,tt),EG.$b=function(e,t){return Ya(gp(e,195),gp(t,195))};Pg(XY,"SplineSelfLoopRouter/SelfLoopEdge/StepSizeComparator",519);wD(82,25,{25:1,82:1},MI),EG.vc=function(){var e,t,n,r;for(t=NT(this.a,0);t.b!=t.d.c;)e=gp(Dm(t),10),e.a=this.j.d;for(r=NT(this.c,0);r.b!=r.d.c;)n=gp(Dm(r),10),n.a=this.j.d},EG.wc=function(){return this.b},EG.xc=function(){return this.e},EG.w=function(){return $A(new Wn(this.d.a))},EG.b=0,EG.e=0;Pg(uF,"CLEdge",82);wD(93,25,{25:1,93:1},rM),EG.vc=function(){this.b.i.a=this.j.d+this.b.e.b},EG.wc=function(){return this.b.g==(dA(),rK)?0:this.a},EG.xc=function(){return this.b.g==(dA(),rK)?0:this.c},EG.w=function(){return ZT(H_(this.b,(vG(),j0)))},EG.a=0,EG.c=0;var IX,DX;Pg(uF,"CLNode",93);wD(175,17,{175:1,3:1,23:1,17:1},mu);var LX,MX,RX,BX,HX,GX,zX,YX=Rk(uF,"ConstraintCalculationStrategy",175,i$,yv);wD(125,17,{125:1,3:1,23:1,17:1},xu);var FX,$X,VX,qX=Rk(uF,"GraphCompactionStrategy",125,i$,Em);wD(455,1,VY,Ul),EG.sc=function(e,t){var n,r,i;if(r=gp(H_(e,(wG(),N1)),125),r!=(aN(),GX)){switch(PO(t,"Horizontal Compaction",1),this.a=e,i=new zs,n=new jI(ML(i,e)),Ra(n,this.b),gp(H_(e,I1),175).e){case 1:La(n,$X);break;default:La(n,(Cb(),MW))}switch(r.e){case 1:jM(n);break;case 2:jM(sH(n,(QC(),Q$)));break;case 3:jM(Xo(sH(jM(n),(QC(),Q$))));break;case 4:jM(Xo(Ma(sH(jM(n),(QC(),Q$)),new qe)));break;case 5:jM(Da(n,VX))}sH(n,(QC(),X$)),n.e=!0,vM(i),yj(t)}};Pg(uF,"HorizontalGraphCompactor",455);wD(462,1,{},Tn),EG.tc=function(e,t){var n,r,i;return wf(e,82)&&wf(t,82)&&!kE(KE(gp(e,82).d,gp(t,82).d))?0:(n=null,wf(e,93)&&(n=gp(e,93).b),r=null,wf(t,93)&&(r=gp(t,93).b),n&&n.g==(dA(),rK)||r&&r.g==(dA(),rK)?0:(i=gp(H_(this.a.a,(vG(),F0)),134),_f(i,n?n.g:(dA(),aK),r?r.g:(dA(),aK))))},EG.uc=function(e,t){return wf(e,82)&&wf(t,82)&&!kE(KE(gp(e,82).d,gp(t,82).d))?1:mo(e.xc(),t.xc())};Pg(uF,"HorizontalGraphCompactor/1",462);wD(456,317,{},Op),EG.Dc=function(e){var t,n,r;for(this.b=e,kI(this,new Ue,this.a),kI(this,new We,this.a),t=IY,r=new tr(this.b.a.b);r.a0&&(this.a[z.k]=J++)}else{for(L=0,Y=new tr(O.f);Y.a0&&++J}for(ie=0,A=0,D=t.length;A0){for(Al(V.b>0),z=gp(V.a.sb(V.c=--V.b),7),$=0,o=new tr(z.b);o.a0&&(z.g==(SH(),eU)?(this.a[z.k]=ie,++ie):(this.a[z.k]=ie+M+B,++B))}ie+=B}else{for(L=0,Y=new tr(O.f);Y.a0&&++ie}for(F=new Pr,b=new ya,T=0,N=e.length;Tf.c&&(f.c=q)):z.f.d==Z&&(qf.d&&(f.d=q));for(KT(g,0,g.length,(Wu(),Wu(),l2)),re=Ux(_2,Rz,26,g.length,12,1),n=Ux(_2,Rz,26,ie+1,12,1),w=0;w0)k%2>0&&(r+=ce[k+1]),k=(k-1)/2|0,++ce[k]}for(C=Ux(WX,az,158,2*g.length,0,1),x=0;x0){for(Al(y.b>0),g=gp(y.a.sb(y.c=--y.b),7),w=0,i=new tr(g.b);i.a0&&(g.g==(SH(),eU)?(this.a[g.k]=S,++S):(this.a[g.k]=S+p+b,++b),a+=w)}S+=b}else{for(d=0,v=new tr(u.f);v.a0&&(++S,a+=d)}for(x=Ux(_2,Rz,26,a,12,1),o=0,s=0,f=e.length;s0},EG.I=function(){throw new hi};Pg(sF,"PortIterable/1",344);wD(336,1,{},gA);Pg(sF,"SwitchDecider",336);wD(89,1,{89:1},rt),EG.w=function(){return"NEdge[id="+this.b+" w="+this.f+" d="+this.a+"]"},EG.a=1,EG.b=0,EG.e=!1,EG.f=0;var KX=Pg(fF,"NEdge",89);wD(157,1,{},Zr);Pg(fF,"NEdge/NEdgeBuilder",157);wD(278,1,{},Qr);Pg(fF,"NGraph",278);wD(61,1,{61:1},Wm),EG.b=0,EG.d=-1,EG.e=0,EG.i=-1,EG.j=!1;var XX=Pg(fF,"NNode",61);wD(333,13,YY,ai),EG.rb=function(e,t){++this.d,Fx(e,this.c.length),xs(this.c,e,t)},EG.ib=function(e){return lg(this,e)},EG.jb=function(e){return++this.d,v_(this,e)},EG.Q=function(){++this.d,this.c=Ux(qF,az,1,0,4,1)},EG.vb=function(e){return++this.d,Hx(this,e)},EG.nb=function(e){return Ll(this,e)};Pg(fF,"NNode/ChangeAwareArrayList",333);wD(199,1,{},Jr);Pg(fF,"NNode/NNodeBuilder",199);wD(595,1,{},it),EG.a=!1,EG.f=HG,EG.j=0;var QX,ZX;Pg(fF,"NetworkSimplex",595);wD(193,17,{180:1,193:1,3:1,23:1,17:1},ku),EG.rc=function(){switch(this.e){case 0:return new ip;case 1:return new Ct;default:throw new Oa("No implementation is available for the cycle breaker "+(null!=this.d?this.d:""+this.e))}};var JX,eQ,tQ=Rk(dF,"CycleBreakingStrategy",193,i$,mv);wD(539,1,pF,ip),EG.qc=function(e){return eQ},EG.sc=function(e,t){var n,r,i,a,o,c,u,s,l,f,h,d,p,b,g,v,w,y,m,x,k,E,S,_,C,j,O,T,P,A;for(PO(t,"Greedy cycle removal",1),v=e.b,A=v.c.length,this.a=Ux(_2,Rz,26,A,12,1),this.c=Ux(_2,Rz,26,A,12,1),this.b=Ux(_2,Rz,26,A,12,1),c=0,b=new tr(v);b.a0?_+1:1);for(i=new tr(m.e);i.a0?_+1:1)}0==this.c[c]?tp(this.d,d):0==this.a[c]&&tp(this.e,d),++c}h=-1,f=1,s=new Gt,C=gp(H_(e,(vG(),H0)),154);while(A>0){while(0!=this.d.b)O=gp(Fd(this.d),9),this.b[O.k]=h--,$M(this,O),--A;while(0!=this.e.b)T=gp(Fd(this.e),9),this.b[T.k]=f++,$M(this,T),--A;if(A>0){for(l=VG,g=new tr(v);g.a=l&&(w>l&&(s.c=Ux(qF,az,1,0,4,1),l=w),s.c[s.c.length]=d));u=gp(Vp(s,iP(C,s.c.length)),9),this.b[u.k]=f++,$M(this,u),--A}}for(j=v.c.length+1,c=0;cthis.b[P]&&(fR(n,!0),Nk(e,s0,(Eb(),Eb(),Q1)));this.a=null,this.c=null,this.b=null,Bv(this.e),Bv(this.d),yj(t)};var nQ;Pg(dF,"GreedyCycleBreaker",539);wD(540,1,pF,Ct),EG.qc=function(e){return nQ},EG.sc=function(e,t){var n,r,i,a,o,c,u,s,l,f,h,d,p,b;for(PO(t,"Interactive cycle breaking",1),l=new Gt,h=new tr(e.b);h.a0&&PN(this,o,l);for(r=new tr(l);r.ao?c+1:o,b=new zy(n,0),r=null;while(b.b=o){Al(b.b>0),b.a.sb(b.c=--b.b);break}d.a>c&&(r?(v_(r.b,d.b),r.a=vo(r.a,d.a),av(b)):(np(d.b,s),d.c=mo(d.c,c),d.a=vo(d.a,o),r=d))}r||(r=new ei,r.c=c,r.a=o,kd(b,r),np(r.b,s))}for(a=e.c,u=0,p=new tr(n);p.a0&&(n+=o.i.a+o.j.a/2,++s),f=new tr(o.f);f.a0;O++){l=0!=zI(j,1),s=l?0:g-1,u=this.b[s],_=0!=zI(j,1)?E:y,Gj(u,a,l,!1,!0),o=HG,c=!0;do{if(GS(this.b,this.k),C=o,o=0,o+=zk(this.f,u,s),l){for(v=1;v=0;v--)f=this.b[v],Bx(_,u,(tS(),r1)),Gj(f,a,!1,!c,!1),o+=zk(this.f,f,v),this.c[v]||this.d[v+1]?o+=mG(this.e,f,u):o+=cG(this.i,f,u),u=f;s=0}c=!1,l=!l}while(o0);(or?a:r;if(a>o){for(l=iO(e,n).mb();l.G();)s=gp(l.H(),7),h[s.k]=t+iD(n,s.g)-o;return a-o}return 0}switch(n.e){case 1:for(i=0,c=0,f=new tr(e.f);f.a"),e0?S:0,p.c=r,p.d=gp(Ug(m,l.c.f),61),lg(p.c.g,p),lg(p.d.c,p),j=new rt,j.f=VT(l),j.a=S<0?-S:0,j.c=r,j.d=gp(Ug(m,l.d.f),61),lg(j.c.g,j),lg(j.d.c,j));for(a=gp(H_(e,(wG(),R1)),24).a*Vw(Math.sqrt(y)),kM(Ba(Ha(md(i),a),!1),BS(t,1)),g=new tr(i.a);g.aTI(r))&&(s=r);for(!s&&($x(0,d.c.length),s=gp(d.c[0],81)),h=new tr(e.c);h.a0?(n=h.b+(f-1)*h.a,u&&(n+=h.b),n"+this.b},EG.c=0;Pg(OF,"OrthogonalRoutingGenerator/Dependency",118);wD(80,1,{80:1,23:1},r_),EG.F=function(e){return bo(this,gp(e,80))},EG.t=function(e){var t;return!!wf(e,80)&&(t=gp(e,80),this.d==t.d)},EG.v=function(){return this.d},EG.w=function(){var e,t,n,r;e=new Oo("{"),r=new tr(this.g);while(r.a$Y&&(i=new Hc(u,f),tp(n.a,i),zL(this.a,n,e,i,!1),a=new Hc(l,f),tp(n.a,a),zL(this.a,n,e,a,!1))},EG.Lc=function(e){return e.f.i.a+e.i.a+e.a.a},EG.Mc=function(){return SH(),vU},EG.Nc=function(){return SH(),eU};Pg(OF,"OrthogonalRoutingGenerator/NorthToSouthRoutingStrategy",580);wD(581,1,{},zn),EG.Kc=function(e,t){var n,r,i,a,o,c,u,s,l,f;for(f=t-e.i*this.a.c,c=new tr(e.g);c.a$Y&&(i=new Hc(u,f),tp(n.a,i),zL(this.a,n,e,i,!1),a=new Hc(l,f),tp(n.a,a),zL(this.a,n,e,a,!1))},EG.Lc=function(e){return e.f.i.a+e.i.a+e.a.a},EG.Mc=function(){return SH(),eU},EG.Nc=function(){return SH(),vU};Pg(OF,"OrthogonalRoutingGenerator/SouthToNorthRoutingStrategy",581);wD(579,1,{},Yn),EG.Kc=function(e,t){var n,r,i,a,o,c,u,s,l,f;for(f=t+e.i*this.a.c,c=new tr(e.g);c.a$Y&&(i=new Hc(f,u),tp(n.a,i),zL(this.a,n,e,i,!0),a=new Hc(f,l),tp(n.a,a),zL(this.a,n,e,a,!0))},EG.Lc=function(e){return e.f.i.b+e.i.b+e.a.b},EG.Mc=function(){return SH(),Jq},EG.Nc=function(){return SH(),yU};var oZ,cZ,uZ,sZ,lZ;Pg(OF,"OrthogonalRoutingGenerator/WestToEastRoutingStrategy",579);wD(535,1,pF,Ls),EG.qc=function(e){var t,n;return n=gp(H_(e,(vG(),g0)),18),t=new Yj,(n.kb((qL(),jJ))||Sa(_a(Fh(H_(e,(wG(),w1))))))&&(RS(t,uZ),n.kb(OJ)&&RS(t,sZ)),n.kb(xJ)&&RS(t,oZ),n.kb(EJ)&&RS(t,cZ),t},EG.sc=function(e,t){var n,r,i,a,o,c,u,s,l,f,h,d,p,b,g,v,w,y,m,x;PO(t,"Polyline edge routing",1),f=gp(H_(e,(vG(),Y0)),15).a,n=gp(H_(e,(wG(),v1)),15).a,g=0,0!=e.c.c.length&&(v=ZI(gp(Vp(e.c,0),16)),g=.4*n*v),a=new zy(e.c,0);while(a.b0&&(g-=f),dB(i,g),u=0,l=new tr(i.a);l.a(b-p<=0?0-(b-p):b-p)?c:b-p<=0?0-(b-p):b-p;switch(s.g.e){case 0:case 4:case 1:case 3:TR(this,s,g)}u=u>c?u:c}a.bv?u:v,Al(a.b>0),a.a.sb(a.c=--a.b)),o=.4*n*u,!r&&a.b0?(d=(y+1)*this.a,d=0&&(I+=(y+2)*this.a)}v=E,u=s}while(E);for(r=new tr(P);r.a("+this.c+") "+this.b},EG.c=0;var qZ,UZ;Pg(TF,"SplineEdgeRouter/Dependency",117);wD(223,17,{223:1,3:1,23:1,17:1},ss);var WZ=Rk(TF,"SplineEdgeRouter/SideToProcess",223,i$,Aw);wD(77,1,{77:1,23:1},tI,fB),EG.F=function(e){return go(this,gp(e,77))},EG.a=0,EG.b=0,EG.e=0,EG.f=!1,EG.i=0,EG.k=0,EG.n=0,EG.p=0;var KZ,XZ,QZ,ZZ,JZ,eJ;Pg(TF,"SplineEdgeRouter/SplineHyperEdge",77);wD(123,17,{123:1,3:1,23:1,17:1},ls);var tJ,nJ,rJ,iJ,aJ=Rk(DF,"ContentAlignment",123,i$,lk);wD(218,17,{218:1,3:1,23:1,17:1},fs);var oJ,cJ,uJ,sJ,lJ,fJ=Rk(DF,"EdgeConstraint",218,i$,_y);wD(115,17,{115:1,3:1,23:1,17:1},hs);var hJ,dJ,pJ,bJ,gJ,vJ,wJ,yJ=Rk(DF,"EdgeLabelSideSelection",115,i$,Px);wD(124,17,{124:1,3:1,23:1,17:1},ds);var mJ,xJ,kJ,EJ,SJ,_J,CJ,jJ,OJ,TJ,PJ,AJ=Rk(DF,"FixedAlignment",124,i$,fk);wD(113,17,{113:1,3:1,23:1,17:1},ps);var NJ,IJ,DJ,LJ,MJ,RJ,BJ,HJ,GJ=Rk(DF,"GraphProperties",113,i$,NS);wD(110,17,{110:1,3:1,23:1,17:1},Om),EG.a=!1,EG.b=!1,EG.c=!1;var zJ,YJ,FJ,$J,VJ=Rk(DF,"GreedySwitchType",110,i$,jE);wD(140,17,{140:1,3:1,23:1,17:1},bs);var qJ,UJ,WJ=Rk(DF,"InLayerConstraint",140,i$,Sy);wD(174,17,{174:1,3:1,23:1,17:1},gs);var KJ,XJ,QJ,ZJ,JJ,e0,t0,n0,r0,i0,a0,o0,c0,u0,s0,l0,f0,h0,d0,p0,b0,g0,v0,w0,y0,m0,x0,k0,E0,S0,_0,C0,j0,O0,T0,P0,A0,N0,I0,D0,L0,M0,R0,B0,H0,G0,z0,Y0,F0,$0,V0,q0,U0,W0,K0,X0,Q0,Z0,J0,e1,t1=Rk(DF,"InteractiveReferencePoint",174,i$,Mw);wD(85,17,{85:1,3:1,23:1,17:1},vs);var n1,r1,i1,a1,o1=Rk(DF,"LayerConstraint",85,i$,Ax);wD(219,17,{219:1,3:1,23:1,17:1},ws);var c1,u1,s1,l1,f1,h1,d1,p1,b1,g1,v1,w1,y1,m1,x1,k1,E1,S1,_1,C1,j1,O1,T1,P1,A1,N1,I1,D1,L1,M1,R1,B1,H1,G1,z1,Y1=Rk(DF,"PortType",219,i$,Cy);wD(153,17,{153:1,3:1,23:1,17:1},ys);var F1,$1=Rk(DF,"SelfLoopPlacement",153,i$,jy);wD(134,1,{134:1},yH),EG.a=0,EG.b=0,EG.c=0,EG.d=0,EG.e=0,EG.f=0;var V1,q1,U1;Pg(DF,"Spacings",134);wD(172,17,{172:1,3:1,23:1,17:1},ms);var W1,K1=Rk(DF,"WideNodesStrategy",172,i$,Oy);wD(644,1,{});Pg(ez,"OutputStream",644);wD(645,644,{});Pg(ez,"FilterOutputStream",645);wD(291,645,{},ft);Pg(ez,"PrintStream",291);wD(255,1,{}),EG.w=function(){return this.a};Pg(QG,"AbstractStringBuilder",255);wD(621,95,DG,Fi);Pg(QG,"ArrayIndexOutOfBoundsException",621);wD(290,72,DG,si,Ua);Pg(QG,"ArrayStoreException",290);wD(252,46,IG);Pg(QG,"Error",252);wD(84,252,IG,Tr,Vk);var X1,Q1;Pg(QG,"AssertionError",84);OG={3:1,349:1,23:1};var Z1=Pg(QG,"Boolean",349);TG={3:1,23:1,184:1,231:1};var J1=Pg(QG,"Double",184);wD(15,231,{3:1,23:1,15:1,231:1},$n,Vn),EG.F=function(e){return Rl(this,gp(e,15))},EG.t=function(e){return wf(e,15)&&gp(e,15).a==this.a},EG.v=function(){return Vw(this.a)},EG.w=function(){return dc(this.a)},EG.a=0;var e2=Pg(QG,"Float",15);wD(101,72,DG,li,Wa);var t2,n2;Pg(QG,"IllegalStateException",101);wD(608,72,DG,Ka);Pg(QG,"NegativeArraySizeException",608);wD(76,72,{3:1,54:1,76:1,46:1},fi,Xa);Pg(QG,"NullPointerException",76);wD(130,29,{3:1,54:1,29:1,130:1,46:1},$i,Po);Pg(QG,"NumberFormatException",130);wD(146,1,{3:1,146:1},qv),EG.t=function(e){var t;return!!wf(e,146)&&(t=gp(e,146),this.c==t.c&&Iv(this.d,t.d)&&Iv(this.a,t.a)&&Iv(this.b,t.b))},EG.v=function(){return hC($_(ao(qF,1),az,1,4,[Cj(this.c),this.a,this.d,this.b]))},EG.w=function(){return this.a+"."+this.d+"("+(null!=this.b?this.b:"Unknown Source")+(this.c>=0?":"+this.c:"")+")"},EG.c=0;var r2=Pg(QG,"StackTraceElement",146);wD(98,255,{345:1},Do,Lo,Oo);var i2;Pg(QG,"StringBuilder",98);wD(45,72,{3:1,54:1,46:1,45:1},hi,Qa);Pg(QG,"UnsupportedOperationException",45);wD(213,638,pz),EG.Q=function(){zx(this)},EG.R=function(e){return jk(this,e)},EG.ab=function(e){return gC(this,e,this.e)||gC(this,e,this.d)},EG.bb=function(){return new qn(this)},EG.cb=function(e){return Ug(this,e)},EG.db=function(e,t){return kv(this,e,t)},EG.eb=function(e){return Tb(this,e)},EG.Y=function(){return ju(this)};Pg(bz,"AbstractHashMap",213);wD(120,641,vz,qn),EG.Q=function(){this.a.Q()},EG.kb=function(e){return sm(this,e)},EG.mb=function(){return new lC(this.a)},EG.nb=function(e){var t;return!!sm(this,e)&&(t=gp(e,21).yb(),this.a.eb(t),!0)},EG.Y=function(){return this.a.Y()};Pg(bz,"AbstractHashMap/EntrySet",120);wD(148,1,dz,lC),EG.H=function(){return RE(this)},EG.G=function(){return this.b},EG.I=function(){xk(this)},EG.b=!1;Pg(bz,"AbstractHashMap/EntrySetIterator",148);wD(162,1,dz,Un),EG.G=function(){return this.b0},EG.L=function(){return this.b},EG.M=function(){return Zb(this)},EG.N=function(){return this.b-1},EG.O=function(e){Ed(this,e)};Pg(bz,"AbstractList/ListIteratorImpl",43);wD(258,647,wz,By),EG.rb=function(e,t){Fx(e,this.b),this.c.rb(this.a+e,t),++this.b},EG.sb=function(e){return $x(e,this.b),this.c.sb(this.a+e)},EG.vb=function(e){var t;return $x(e,this.b),t=this.c.vb(this.a+e),--this.b,t},EG.wb=function(e,t){return $x(e,this.b),this.c.wb(this.a+e,t)},EG.Y=function(){return this.b},EG.a=0,EG.b=0;Pg(bz,"AbstractList/SubList",258);wD(36,641,vz,Wn),EG.Q=function(){this.a.Q()},EG.kb=function(e){return this.a.R(e)},EG.mb=function(){var e;return e=this.a.bb().mb(),new Kn(e)},EG.nb=function(e){return!!this.a.R(e)&&(this.a.eb(e),!0)},EG.Y=function(){return this.a.Y()};Pg(bz,"AbstractMap/1",36);wD(40,1,dz,Kn),EG.G=function(){return this.a.G()},EG.H=function(){var e;return e=gp(this.a.H(),21),e.yb()},EG.I=function(){this.a.I()};Pg(bz,"AbstractMap/1/1",40);wD(211,640,gz,Xn),EG.Q=function(){this.a.Q()},EG.kb=function(e){return this.a.ab(e)},EG.mb=function(){var e;return e=this.a.bb().mb(),new Qn(e)},EG.Y=function(){return this.a.Y()};Pg(bz,"AbstractMap/2",211);wD(212,1,dz,Qn),EG.G=function(){return this.a.G()},EG.H=function(){var e;return e=gp(this.a.H(),21),e.zb()},EG.I=function(){this.a.I()};Pg(bz,"AbstractMap/2/1",212);wD(210,1,{210:1,21:1}),EG.t=function(e){var t;return!!wf(e,21)&&(t=gp(e,21),Iv(this.d,t.yb())&&Iv(this.e,t.zb()))},EG.yb=function(){return this.d},EG.zb=function(){return this.e},EG.v=function(){return Fl(this.d)^Fl(this.e)},EG.Ab=function(e){return Gd(this,e)},EG.w=function(){return this.d+"="+this.e};Pg(bz,"AbstractMap/AbstractEntry",210);wD(163,210,{210:1,163:1,21:1},Is);Pg(bz,"AbstractMap/SimpleEntry",163);wD(652,1,kz),EG.t=function(e){var t;return!!wf(e,21)&&(t=gp(e,21),Iv(this.yb(),t.yb())&&Iv(this.zb(),t.zb()))},EG.v=function(){return Fl(this.yb())^Fl(this.zb())},EG.w=function(){return this.yb()+"="+this.zb()};Pg(bz,Ez,652);wD(639,638,pz),EG._=function(e){return Vx(this,e)},EG.R=function(e){return Ts(this,e)},EG.bb=function(){return new Zn(this)},EG.cb=function(e){return $s(vC(this,e))},EG.W=function(){return new Jn(this)};Pg(bz,"AbstractNavigableMap",639);wD(287,641,vz,Zn),EG.kb=function(e){return wf(e,21)&&Vx(this.b,gp(e,21))},EG.mb=function(){return new Ld(this.b)},EG.nb=function(e){var t;return!!wf(e,21)&&(t=gp(e,21),gk(this.b,t))},EG.Y=function(){return this.b.c};Pg(bz,"AbstractNavigableMap/EntrySet",287);wD(229,641,xz,Jn),EG.Q=function(){Ia(this.a)},EG.kb=function(e){return Ts(this.a,e)},EG.mb=function(){var e;return e=new Ld(new ph(this.a).b),new er(e)},EG.nb=function(e){return!!Ts(this.a,e)&&(bv(this.a,e),!0)},EG.Y=function(){return this.a.c};Pg(bz,"AbstractNavigableMap/NavigableKeySet",229);wD(230,1,dz,er),EG.G=function(){return Cu(this.a.a)},EG.H=function(){var e;return e=Th(this.a),e.yb()},EG.I=function(){Ap(this.a)};Pg(bz,"AbstractNavigableMap/NavigableKeySet/1",230);wD(4,1,dz,tr),EG.G=function(){return yf(this)},EG.H=function(){return $y(this)},EG.I=function(){Qb(this)},EG.a=0,EG.b=-1;Pg(bz,"ArrayList/1",4);wD(94,647,MF,nr),EG.kb=function(e){return-1!=WE(this,e)},EG.sb=function(e){return fb(this,e)},EG.wb=function(e,t){var n;return $x(e,this.a.length),n=this.a[e],Ig(this.a,e,t),n},EG.Y=function(){return this.a.length},EG.ob=function(){return QT(this,Ux(qF,az,1,this.a.length,4,1))},EG.pb=function(e){return QT(this,e)};var a2,o2,c2;Pg(bz,"Arrays/ArrayList",94);wD(413,1,qG,rr),EG.$b=function(e,t){return Qg(t,e)};Pg(bz,"Collections/2",413);wD(406,647,MF,ht),EG.kb=function(e){return!1},EG.sb=function(e){return $x(e,0),null},EG.mb=function(){return Kv(),Ku(),u2},EG.tb=function(){return Kv(),Ku(),u2},EG.Y=function(){return 0};var u2;Pg(bz,"Collections/EmptyList",406);wD(407,1,mz,dt),EG.J=function(e){throw new hi},EG.G=function(){return!1},EG.K=function(){return!1},EG.H=function(){throw new Gi},EG.L=function(){return 0},EG.M=function(){throw new Gi},EG.N=function(){return-1},EG.I=function(){throw new li},EG.O=function(e){throw new li};Pg(bz,"Collections/EmptyListIterator",407);wD(409,638,Pz,pt),EG.R=function(e){return!1},EG.ab=function(e){return!1},EG.bb=function(){return Kv(),c2},EG.cb=function(e){return null},EG.W=function(){return Kv(),c2},EG.Y=function(){return 0},EG.fb=function(){return Kv(),a2};Pg(bz,"Collections/EmptyMap",409);wD(408,641,Az,bt),EG.kb=function(e){return!1},EG.mb=function(){return Kv(),Ku(),u2},EG.Y=function(){return 0};var s2;Pg(bz,"Collections/EmptySet",408);wD(410,1,qG,gt),EG.$b=function(e,t){return ic(gp(e,23),gp(t,23))};Pg(bz,"Collections/ReverseComparator",410);wD(411,647,{3:1,22:1,19:1,20:1},ir),EG.kb=function(e){return Iv(this.a,e)},EG.sb=function(e){return $x(e,1),this.a},EG.Y=function(){return 1};Pg(bz,"Collections/SingletonList",411);wD(217,1,gz,ar),EG.ib=function(e){return gi()},EG.jb=function(e){return vi()},EG.Q=function(){wi()},EG.kb=function(e){return this.b.kb(e)},EG.lb=function(e){return this.b.lb(e)},EG.V=function(){return this.b.V()},EG.mb=function(){return new or(this.b.mb())},EG.nb=function(e){return yi()},EG.Y=function(){return this.b.Y()},EG.ob=function(){return this.b.ob()},EG.pb=function(e){return this.b.pb(e)},EG.w=function(){return ZT(this.b)};Pg(bz,"Collections/UnmodifiableCollection",217);wD(152,1,dz,or),EG.G=function(){return this.b.G()},EG.H=function(){return this.b.H()},EG.I=function(){mi()};Pg(bz,"Collections/UnmodifiableCollectionIterator",152);wD(233,217,wz,lh),EG.rb=function(e,t){throw new hi},EG.t=function(e){return this.a.t(e)},EG.sb=function(e){return this.a.sb(e)},EG.v=function(){return this.a.v()},EG.V=function(){return this.a.V()},EG.tb=function(){return new fh(this.a.ub(0))},EG.ub=function(e){return new fh(this.a.ub(e))},EG.vb=function(e){throw new hi},EG.wb=function(e,t){throw new hi},EG.xb=function(e,t){return new lh(this.a.xb(e,t))};Pg(bz,"Collections/UnmodifiableList",233);wD(309,152,mz,fh),EG.J=function(e){throw new hi},EG.K=function(){return this.a.K()},EG.L=function(){return this.a.L()},EG.M=function(){return this.a.M()},EG.N=function(){return this.a.N()},EG.O=function(e){throw new hi};Pg(bz,"Collections/UnmodifiableListIterator",309);wD(305,1,pz,cr),EG.Q=function(){throw new hi},EG.R=function(e){return this.c.R(e)},EG.ab=function(e){return Ou(this,e)},EG.bb=function(){return Mv(this)},EG.t=function(e){return oc(this,e)},EG.cb=function(e){return this.c.cb(e)},EG.v=function(){return this.c.v()},EG.V=function(){return this.c.V()},EG.W=function(){return pv(this)},EG.db=function(e,t){throw new hi},EG.eb=function(e){throw new hi},EG.Y=function(){return this.c.Y()},EG.w=function(){return ZT(this.c)},EG.fb=function(){return Rv(this)};Pg(bz,"Collections/UnmodifiableMap",305);wD(151,217,vz,Ao),EG.t=function(e){return ac(this,e)},EG.v=function(){return this.b.v()};Pg(bz,"Collections/UnmodifiableSet",151);wD(412,151,vz,No),EG.kb=function(e){return Nu(this,e)},EG.lb=function(e){return Iu(this,e)},EG.mb=function(){var e;return e=this.b.mb(),new ur(e)},EG.ob=function(){return nw(this)},EG.pb=function(e){return mw(this,e)};Pg(bz,"Collections/UnmodifiableMap/UnmodifiableEntrySet",412);wD(263,1,dz,ur),EG.H=function(){return new sr(gp(this.a.H(),21))},EG.G=function(){return this.a.G()},EG.I=function(){throw new hi};Pg(bz,"Collections/UnmodifiableMap/UnmodifiableEntrySet/1",263);wD(306,1,kz,sr),EG.t=function(e){return this.a.t(e)},EG.yb=function(){return this.a.yb()},EG.zb=function(){return this.a.zb()},EG.v=function(){return this.a.v()},EG.Ab=function(e){throw new hi},EG.w=function(){return ZT(this.a)};Pg(bz,"Collections/UnmodifiableMap/UnmodifiableEntrySet/UnmodifiableEntry",306);wD(307,233,yz,Io);Pg(bz,"Collections/UnmodifiableRandomAccessList",307);wD(308,151,xz,hh),EG.t=function(e){return this.a.t(e)},EG.v=function(){return this.a.v()};var l2;Pg(bz,"Collections/UnmodifiableSortedSet",308);wD(522,1,qG,vt),EG.$b=function(e,t){return wb(e),wb(t),qS(gp(e,23),t)};Pg(bz,"Comparators/1",522);wD(202,72,DG,Bi);Pg(bz,"ConcurrentModificationException",202);wD(609,72,DG,Hi);Pg(bz,"EmptyStackException",609);wD(319,638,pz,hO),EG.db=function(e,t){return jd(this,e,t)},EG.Q=function(){dv(this)},EG.R=function(e){return Pb(this.a,e)},EG.ab=function(e){var t,n;for(n=new Bu(this.a);n.al)n=u[l++],r&&!o.call(c,n)||f.push(e?[n,c[n]]:c[n]);return f}};e.exports={entries:c(!0),values:c(!1)}},7418:function(e,t){t.f=Object.getOwnPropertySymbols},"746f":function(e,t,n){var r=n("428f"),i=n("5135"),a=n("e538"),o=n("9bf2").f;e.exports=function(e){var t=r.Symbol||(r.Symbol={});i(t,e)||o(t,e,{value:a.f(e)})}},7839:function(e,t){e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},"7a77":function(e,t,n){"use strict";function r(e){this.message=e}r.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},r.prototype.__CANCEL__=!0,e.exports=r},"7aac":function(e,t,n){"use strict";var r=n("c532");e.exports=r.isStandardBrowserEnv()?function(){return{write:function(e,t,n,i,a,o){var c=[];c.push(e+"="+encodeURIComponent(t)),r.isNumber(n)&&c.push("expires="+new Date(n).toGMTString()),r.isString(i)&&c.push("path="+i),r.isString(a)&&c.push("domain="+a),!0===o&&c.push("secure"),document.cookie=c.join("; ")},read:function(e){var t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}()},"7b0b":function(e,t,n){var r=n("1d80");e.exports=function(e){return Object(r(e))}},"7c73":function(e,t,n){var r,i=n("825a"),a=n("37e8"),o=n("7839"),c=n("d012"),u=n("1be4"),s=n("cc12"),l=n("f772"),f=">",h="<",d="prototype",p="script",b=l("IE_PROTO"),g=function(){},v=function(e){return h+p+f+e+h+"/"+p+f},w=function(e){e.write(v("")),e.close();var t=e.parentWindow.Object;return e=null,t},y=function(){var e,t=s("iframe"),n="java"+p+":";return t.style.display="none",u.appendChild(t),t.src=String(n),e=t.contentWindow.document,e.open(),e.write(v("document.F=Object")),e.close(),e.F},m=function(){try{r=document.domain&&new ActiveXObject("htmlfile")}catch(t){}m=r?w(r):y();var e=o.length;while(e--)delete m[d][o[e]];return m()};c[b]=!0,e.exports=Object.create||function(e,t){var n;return null!==e?(g[d]=i(e),n=new g,g[d]=null,n[b]=e):n=m(),void 0===t?n:a(n,t)}},"7dd0":function(e,t,n){"use strict";var r=n("23e7"),i=n("9ed3"),a=n("e163"),o=n("d2bb"),c=n("d44e"),u=n("9112"),s=n("6eeb"),l=n("b622"),f=n("c430"),h=n("3f8c"),d=n("ae93"),p=d.IteratorPrototype,b=d.BUGGY_SAFARI_ITERATORS,g=l("iterator"),v="keys",w="values",y="entries",m=function(){return this};e.exports=function(e,t,n,l,d,x,k){i(n,t,l);var E,S,_,C=function(e){if(e===d&&A)return A;if(!b&&e in T)return T[e];switch(e){case v:return function(){return new n(this,e)};case w:return function(){return new n(this,e)};case y:return function(){return new n(this,e)}}return function(){return new n(this)}},j=t+" Iterator",O=!1,T=e.prototype,P=T[g]||T["@@iterator"]||d&&T[d],A=!b&&P||C(d),N="Array"==t&&T.entries||P;if(N&&(E=a(N.call(new e)),p!==Object.prototype&&E.next&&(f||a(E)===p||(o?o(E,p):"function"!=typeof E[g]&&u(E,g,m)),c(E,j,!0,!0),f&&(h[j]=m))),d==w&&P&&P.name!==w&&(O=!0,A=function(){return P.call(this)}),f&&!k||T[g]===A||u(T,g,A),h[t]=A,d)if(S={values:C(w),keys:x?A:C(v),entries:C(y)},k)for(_ in S)(b||O||!(_ in T))&&s(T,_,S[_]);else r({target:t,proto:!0,forced:b||O},S);return S}},"7f9a":function(e,t,n){var r=n("da84"),i=n("8925"),a=r.WeakMap;e.exports="function"===typeof a&&/native code/.test(i(a))},"825a":function(e,t,n){var r=n("861d");e.exports=function(e){if(!r(e))throw TypeError(String(e)+" is not an object");return e}},"83ab":function(e,t,n){var r=n("d039");e.exports=!r((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},"83b9":function(e,t,n){"use strict";var r=n("d925"),i=n("e683");e.exports=function(e,t){return e&&!r(t)?i(e,t):t}},8418:function(e,t,n){"use strict";var r=n("c04e"),i=n("9bf2"),a=n("5c6c");e.exports=function(e,t,n){var o=r(t);o in e?i.f(e,o,a(0,n)):e[o]=n}},"861d":function(e,t){e.exports=function(e){return"object"===typeof e?null!==e:"function"===typeof e}},8925:function(e,t,n){var r=n("c6cd"),i=Function.toString;"function"!=typeof r.inspectSource&&(r.inspectSource=function(e){return i.call(e)}),e.exports=r.inspectSource},"8a79":function(e,t,n){"use strict";var r=n("23e7"),i=n("06cf").f,a=n("50c4"),o=n("5a34"),c=n("1d80"),u=n("ab13"),s=n("c430"),l="".endsWith,f=Math.min,h=u("endsWith"),d=!s&&!h&&!!function(){var e=i(String.prototype,"endsWith");return e&&!e.writable}();r({target:"String",proto:!0,forced:!d&&!h},{endsWith:function(e){var t=String(c(this));o(e);var n=arguments.length>1?arguments[1]:void 0,r=a(t.length),i=void 0===n?r:f(a(n),r),u=String(e);return l?l.call(t,u,i):t.slice(i-u.length,i)===u}})},"8aa5":function(e,t,n){"use strict";var r=n("6547").charAt;e.exports=function(e,t,n){return t+(n?r(e,t).length:1)}},"8df4":function(e,t,n){"use strict";var r=n("7a77");function i(e){if("function"!==typeof e)throw new TypeError("executor must be a function.");var t;this.promise=new Promise((function(e){t=e}));var n=this;e((function(e){n.reason||(n.reason=new r(e),t(n.reason))}))}i.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},i.source=function(){var e,t=new i((function(t){e=t}));return{token:t,cancel:e}},e.exports=i},"8df5":function(e,t,n){(function(t,r){e.exports=r(n("6f3f"))})(0,(function(e){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.i=function(e){return e},n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:r})},n.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=3)}([function(e,t,n){"use strict";var r=n(4),i=n(1),a=n(2),o={addUnnecessaryBendpoints:"de.cau.cs.kieler.klay.layered.unnecessaryBendpoints",alignment:"de.cau.cs.kieler.alignment",aspectRatio:"de.cau.cs.kieler.aspectRatio",borderSpacing:"borderSpacing",compactComponents:"de.cau.cs.kieler.klay.layered.components.compact",compactionStrategy:"de.cau.cs.kieler.klay.layered.nodeplace.compactionStrategy",contentAlignment:"de.cau.cs.kieler.klay.layered.contentAlignment",crossingMinimization:"de.cau.cs.kieler.klay.layered.crossMin",cycleBreaking:"de.cau.cs.kieler.klay.layered.cycleBreaking",debugMode:"de.cau.cs.kieler.debugMode",direction:"de.cau.cs.kieler.direction",edgeLabelSideSelection:"de.cau.cs.kieler.klay.layered.edgeLabelSideSelection",edgeRouting:"de.cau.cs.kieler.edgeRouting",edgeSpacingFactor:"de.cau.cs.kieler.klay.layered.edgeSpacingFactor",feedbackEdges:"de.cau.cs.kieler.klay.layered.feedBackEdges",fixedAlignment:"de.cau.cs.kieler.klay.layered.fixedAlignment",greedySwitchCrossingMinimization:"de.cau.cs.kieler.klay.layered.greedySwitch",hierarchyHandling:"de.cau.cs.kieler.hierarchyHandling",inLayerSpacingFactor:"de.cau.cs.kieler.klay.layered.inLayerSpacingFactor",interactiveReferencePoint:"de.cau.cs.kieler.klay.layered.interactiveReferencePoint",layerConstraint:"de.cau.cs.kieler.klay.layered.layerConstraint",layoutHierarchy:"de.cau.cs.kieler.layoutHierarchy",linearSegmentsDeflectionDampening:"de.cau.cs.kieler.klay.layered.linearSegmentsDeflectionDampening",mergeEdges:"de.cau.cs.kieler.klay.layered.mergeEdges",mergeHierarchyCrossingEdges:"de.cau.cs.kieler.klay.layered.mergeHierarchyEdges",noLayout:"de.cau.cs.kieler.noLayout",nodeLabelPlacement:"de.cau.cs.kieler.nodeLabelPlacement",nodeLayering:"de.cau.cs.kieler.klay.layered.nodeLayering",nodePlacement:"de.cau.cs.kieler.klay.layered.nodePlace",portAlignment:"de.cau.cs.kieler.portAlignment",portAlignmentEastern:"de.cau.cs.kieler.portAlignment.east",portAlignmentNorth:"de.cau.cs.kieler.portAlignment.north",portAlignmentSouth:"de.cau.cs.kieler.portAlignment.south",portAlignmentWest:"de.cau.cs.kieler.portAlignment.west",portConstraints:"de.cau.cs.kieler.portConstraints",portLabelPlacement:"de.cau.cs.kieler.portLabelPlacement",portOffset:"de.cau.cs.kieler.offset",portSide:"de.cau.cs.kieler.portSide",portSpacing:"de.cau.cs.kieler.portSpacing",postCompaction:"de.cau.cs.kieler.klay.layered.postCompaction",priority:"de.cau.cs.kieler.priority",randomizationSeed:"de.cau.cs.kieler.randomSeed",routeSelfLoopInside:"de.cau.cs.kieler.selfLoopInside",separateConnectedComponents:"de.cau.cs.kieler.separateConnComp",sizeConstraint:"de.cau.cs.kieler.sizeConstraint",sizeOptions:"de.cau.cs.kieler.sizeOptions",spacing:"de.cau.cs.kieler.spacing",splineSelfLoopPlacement:"de.cau.cs.kieler.klay.layered.splines.selfLoopPlacement",thoroughness:"de.cau.cs.kieler.klay.layered.thoroughness",wideNodesOnMultipleLayers:"de.cau.cs.kieler.klay.layered.wideNodesOnMultipleLayers"},c=function(e){for(var t=Object.keys(e),n={},r=0;r1?t-1:0),r=1;r0&&(!u.multiline||u.multiline&&"\n"!==e[u.lastIndex-1])&&(p="(?: "+p+")",g=" "+g,b++),n=new RegExp("^(?:"+p+")",d)),f&&(n=new RegExp("^"+p+"$(?!\\s)",d)),s&&(t=u.lastIndex),i=o.call(h?n:u,g),h?i?(i.input=i.input.slice(b),i[0]=i[0].slice(b),i.index=u.lastIndex,u.lastIndex+=i[0].length):u.lastIndex=0:s&&i&&(u.lastIndex=u.global?i.index+i[0].length:t),f&&i&&i.length>1&&c.call(i[0],n,(function(){for(a=1;a=51||!i((function(){var e=[];return e[p]=!1,e.concat()[0]!==e})),w=f("concat"),y=function(e){if(!o(e))return!1;var t=e[p];return void 0!==t?!!t:a(e)},m=!v||!w;r({target:"Array",proto:!0,forced:m},{concat:function(e){var t,n,r,i,a,o=c(this),f=l(o,0),h=0;for(t=-1,r=arguments.length;tb)throw TypeError(g);for(n=0;n=b)throw TypeError(g);s(f,h++,a)}return f.length=h,f}})},"9bdd":function(e,t,n){var r=n("825a"),i=n("2a62");e.exports=function(e,t,n,a){try{return a?t(r(n)[0],n[1]):t(n)}catch(o){throw i(e),o}}},"9bf2":function(e,t,n){var r=n("83ab"),i=n("0cfb"),a=n("825a"),o=n("c04e"),c=Object.defineProperty;t.f=r?c:function(e,t,n){if(a(e),t=o(t,!0),a(n),i)try{return c(e,t,n)}catch(r){}if("get"in n||"set"in n)throw TypeError("Accessors not supported");return"value"in n&&(e[t]=n.value),e}},"9ed3":function(e,t,n){"use strict";var r=n("ae93").IteratorPrototype,i=n("7c73"),a=n("5c6c"),o=n("d44e"),c=n("3f8c"),u=function(){return this};e.exports=function(e,t,n){var s=t+" Iterator";return e.prototype=i(r,{next:a(1,n)}),o(e,s,!1,!0),c[s]=u,e}},"9f7f":function(e,t,n){"use strict";var r=n("d039");function i(e,t){return RegExp(e,t)}t.UNSUPPORTED_Y=r((function(){var e=i("a","y");return e.lastIndex=2,null!=e.exec("abcd")})),t.BROKEN_CARET=r((function(){var e=i("^r","gy");return e.lastIndex=2,null!=e.exec("str")}))},a15b:function(e,t,n){"use strict";var r=n("23e7"),i=n("44ad"),a=n("fc6a"),o=n("a640"),c=[].join,u=i!=Object,s=o("join",",");r({target:"Array",proto:!0,forced:u||!s},{join:function(e){return c.call(a(this),void 0===e?",":e)}})},a4b4:function(e,t,n){var r=n("342f");e.exports=/web0s(?!.*chrome)/i.test(r)},a4d3:function(e,t,n){"use strict";var r=n("23e7"),i=n("da84"),a=n("d066"),o=n("c430"),c=n("83ab"),u=n("4930"),s=n("fdbf"),l=n("d039"),f=n("5135"),h=n("e8b5"),d=n("861d"),p=n("825a"),b=n("7b0b"),g=n("fc6a"),v=n("c04e"),w=n("5c6c"),y=n("7c73"),m=n("df75"),x=n("241c"),k=n("057f"),E=n("7418"),S=n("06cf"),_=n("9bf2"),C=n("d1e7"),j=n("9112"),O=n("6eeb"),T=n("5692"),P=n("f772"),A=n("d012"),N=n("90e3"),I=n("b622"),D=n("e538"),L=n("746f"),M=n("d44e"),R=n("69f3"),B=n("b727").forEach,H=P("hidden"),G="Symbol",z="prototype",Y=I("toPrimitive"),F=R.set,$=R.getterFor(G),V=Object[z],q=i.Symbol,U=a("JSON","stringify"),W=S.f,K=_.f,X=k.f,Q=C.f,Z=T("symbols"),J=T("op-symbols"),ee=T("string-to-symbol-registry"),te=T("symbol-to-string-registry"),ne=T("wks"),re=i.QObject,ie=!re||!re[z]||!re[z].findChild,ae=c&&l((function(){return 7!=y(K({},"a",{get:function(){return K(this,"a",{value:7}).a}})).a}))?function(e,t,n){var r=W(V,t);r&&delete V[t],K(e,t,n),r&&e!==V&&K(V,t,r)}:K,oe=function(e,t){var n=Z[e]=y(q[z]);return F(n,{type:G,tag:e,description:t}),c||(n.description=t),n},ce=s?function(e){return"symbol"==typeof e}:function(e){return Object(e)instanceof q},ue=function(e,t,n){e===V&&ue(J,t,n),p(e);var r=v(t,!0);return p(n),f(Z,r)?(n.enumerable?(f(e,H)&&e[H][r]&&(e[H][r]=!1),n=y(n,{enumerable:w(0,!1)})):(f(e,H)||K(e,H,w(1,{})),e[H][r]=!0),ae(e,r,n)):K(e,r,n)},se=function(e,t){p(e);var n=g(t),r=m(n).concat(pe(n));return B(r,(function(t){c&&!fe.call(n,t)||ue(e,t,n[t])})),e},le=function(e,t){return void 0===t?y(e):se(y(e),t)},fe=function(e){var t=v(e,!0),n=Q.call(this,t);return!(this===V&&f(Z,t)&&!f(J,t))&&(!(n||!f(this,t)||!f(Z,t)||f(this,H)&&this[H][t])||n)},he=function(e,t){var n=g(e),r=v(t,!0);if(n!==V||!f(Z,r)||f(J,r)){var i=W(n,r);return!i||!f(Z,r)||f(n,H)&&n[H][r]||(i.enumerable=!0),i}},de=function(e){var t=X(g(e)),n=[];return B(t,(function(e){f(Z,e)||f(A,e)||n.push(e)})),n},pe=function(e){var t=e===V,n=X(t?J:g(e)),r=[];return B(n,(function(e){!f(Z,e)||t&&!f(V,e)||r.push(Z[e])})),r};if(u||(q=function(){if(this instanceof q)throw TypeError("Symbol is not a constructor");var e=arguments.length&&void 0!==arguments[0]?String(arguments[0]):void 0,t=N(e),n=function(e){this===V&&n.call(J,e),f(this,H)&&f(this[H],t)&&(this[H][t]=!1),ae(this,t,w(1,e))};return c&&ie&&ae(V,t,{configurable:!0,set:n}),oe(t,e)},O(q[z],"toString",(function(){return $(this).tag})),O(q,"withoutSetter",(function(e){return oe(N(e),e)})),C.f=fe,_.f=ue,S.f=he,x.f=k.f=de,E.f=pe,D.f=function(e){return oe(I(e),e)},c&&(K(q[z],"description",{configurable:!0,get:function(){return $(this).description}}),o||O(V,"propertyIsEnumerable",fe,{unsafe:!0}))),r({global:!0,wrap:!0,forced:!u,sham:!u},{Symbol:q}),B(m(ne),(function(e){L(e)})),r({target:G,stat:!0,forced:!u},{for:function(e){var t=String(e);if(f(ee,t))return ee[t];var n=q(t);return ee[t]=n,te[n]=t,n},keyFor:function(e){if(!ce(e))throw TypeError(e+" is not a symbol");if(f(te,e))return te[e]},useSetter:function(){ie=!0},useSimple:function(){ie=!1}}),r({target:"Object",stat:!0,forced:!u,sham:!c},{create:le,defineProperty:ue,defineProperties:se,getOwnPropertyDescriptor:he}),r({target:"Object",stat:!0,forced:!u},{getOwnPropertyNames:de,getOwnPropertySymbols:pe}),r({target:"Object",stat:!0,forced:l((function(){E.f(1)}))},{getOwnPropertySymbols:function(e){return E.f(b(e))}}),U){var be=!u||l((function(){var e=q();return"[null]"!=U([e])||"{}"!=U({a:e})||"{}"!=U(Object(e))}));r({target:"JSON",stat:!0,forced:be},{stringify:function(e,t,n){var r,i=[e],a=1;while(arguments.length>a)i.push(arguments[a++]);if(r=t,(d(t)||void 0!==e)&&!ce(e))return h(t)||(t=function(e,t){if("function"==typeof r&&(t=r.call(this,e,t)),!ce(t))return t}),i[1]=t,U.apply(null,i)}})}q[z][Y]||j(q[z],Y,q[z].valueOf),M(q,G),A[H]=!0},a630:function(e,t,n){var r=n("23e7"),i=n("4df4"),a=n("1c7e"),o=!a((function(e){Array.from(e)}));r({target:"Array",stat:!0,forced:o},{from:i})},a640:function(e,t,n){"use strict";var r=n("d039");e.exports=function(e,t){var n=[][e];return!!n&&r((function(){n.call(null,t||function(){throw 1},1)}))}},a691:function(e,t){var n=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:n)(e)}},a79d:function(e,t,n){"use strict";var r=n("23e7"),i=n("c430"),a=n("fea9"),o=n("d039"),c=n("d066"),u=n("4840"),s=n("cdf9"),l=n("6eeb"),f=!!a&&o((function(){a.prototype["finally"].call({then:function(){}},(function(){}))}));r({target:"Promise",proto:!0,real:!0,forced:f},{finally:function(e){var t=u(this,c("Promise")),n="function"==typeof e;return this.then(n?function(n){return s(t,e()).then((function(){return n}))}:e,n?function(n){return s(t,e()).then((function(){throw n}))}:e)}}),i||"function"!=typeof a||a.prototype["finally"]||l(a.prototype,"finally",c("Promise").prototype["finally"])},ab13:function(e,t,n){var r=n("b622"),i=r("match");e.exports=function(e){var t=/./;try{"/./"[e](t)}catch(n){try{return t[i]=!1,"/./"[e](t)}catch(r){}}return!1}},ac1f:function(e,t,n){"use strict";var r=n("23e7"),i=n("9263");r({target:"RegExp",proto:!0,forced:/./.exec!==i},{exec:i})},ad6d:function(e,t,n){"use strict";var r=n("825a");e.exports=function(){var e=r(this),t="";return e.global&&(t+="g"),e.ignoreCase&&(t+="i"),e.multiline&&(t+="m"),e.dotAll&&(t+="s"),e.unicode&&(t+="u"),e.sticky&&(t+="y"),t}},ae93:function(e,t,n){"use strict";var r,i,a,o=n("d039"),c=n("e163"),u=n("9112"),s=n("5135"),l=n("b622"),f=n("c430"),h=l("iterator"),d=!1,p=function(){return this};[].keys&&(a=[].keys(),"next"in a?(i=c(c(a)),i!==Object.prototype&&(r=i)):d=!0);var b=void 0==r||o((function(){var e={};return r[h].call(e)!==e}));b&&(r={}),f&&!b||s(r,h)||u(r,h,p),e.exports={IteratorPrototype:r,BUGGY_SAFARI_ITERATORS:d}},b041:function(e,t,n){"use strict";var r=n("00ee"),i=n("f5df");e.exports=r?{}.toString:function(){return"[object "+i(this)+"]"}},b0c0:function(e,t,n){var r=n("83ab"),i=n("9bf2").f,a=Function.prototype,o=a.toString,c=/^\s*function ([^ (]*)/,u="name";r&&!(u in a)&&i(a,u,{configurable:!0,get:function(){try{return o.call(this).match(c)[1]}catch(e){return""}}})},b50d:function(e,t,n){"use strict";var r=n("c532"),i=n("467f"),a=n("7aac"),o=n("30b5"),c=n("83b9"),u=n("c345"),s=n("3934"),l=n("2d83");e.exports=function(e){return new Promise((function(t,n){var f=e.data,h=e.headers;r.isFormData(f)&&delete h["Content-Type"];var d=new XMLHttpRequest;if(e.auth){var p=e.auth.username||"",b=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";h.Authorization="Basic "+btoa(p+":"+b)}var g=c(e.baseURL,e.url);if(d.open(e.method.toUpperCase(),o(g,e.params,e.paramsSerializer),!0),d.timeout=e.timeout,d.onreadystatechange=function(){if(d&&4===d.readyState&&(0!==d.status||d.responseURL&&0===d.responseURL.indexOf("file:"))){var r="getAllResponseHeaders"in d?u(d.getAllResponseHeaders()):null,a=e.responseType&&"text"!==e.responseType?d.response:d.responseText,o={data:a,status:d.status,statusText:d.statusText,headers:r,config:e,request:d};i(t,n,o),d=null}},d.onabort=function(){d&&(n(l("Request aborted",e,"ECONNABORTED",d)),d=null)},d.onerror=function(){n(l("Network Error",e,null,d)),d=null},d.ontimeout=function(){var t="timeout of "+e.timeout+"ms exceeded";e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),n(l(t,e,"ECONNABORTED",d)),d=null},r.isStandardBrowserEnv()){var v=(e.withCredentials||s(g))&&e.xsrfCookieName?a.read(e.xsrfCookieName):void 0;v&&(h[e.xsrfHeaderName]=v)}if("setRequestHeader"in d&&r.forEach(h,(function(e,t){"undefined"===typeof f&&"content-type"===t.toLowerCase()?delete h[t]:d.setRequestHeader(t,e)})),r.isUndefined(e.withCredentials)||(d.withCredentials=!!e.withCredentials),e.responseType)try{d.responseType=e.responseType}catch(w){if("json"!==e.responseType)throw w}"function"===typeof e.onDownloadProgress&&d.addEventListener("progress",e.onDownloadProgress),"function"===typeof e.onUploadProgress&&d.upload&&d.upload.addEventListener("progress",e.onUploadProgress),e.cancelToken&&e.cancelToken.promise.then((function(e){d&&(d.abort(),n(e),d=null)})),f||(f=null),d.send(f)}))}},b575:function(e,t,n){var r,i,a,o,c,u,s,l,f=n("da84"),h=n("06cf").f,d=n("2cf4").set,p=n("1cdc"),b=n("a4b4"),g=n("605d"),v=f.MutationObserver||f.WebKitMutationObserver,w=f.document,y=f.process,m=f.Promise,x=h(f,"queueMicrotask"),k=x&&x.value;k||(r=function(){var e,t;g&&(e=y.domain)&&e.exit();while(i){t=i.fn,i=i.next;try{t()}catch(n){throw i?o():a=void 0,n}}a=void 0,e&&e.enter()},p||g||b||!v||!w?m&&m.resolve?(s=m.resolve(void 0),l=s.then,o=function(){l.call(s,r)}):o=g?function(){y.nextTick(r)}:function(){d.call(f,r)}:(c=!0,u=w.createTextNode(""),new v(r).observe(u,{characterData:!0}),o=function(){u.data=c=!c})),e.exports=k||function(e){var t={fn:e,next:void 0};a&&(a.next=t),i||(i=t,o()),a=t}},b622:function(e,t,n){var r=n("da84"),i=n("5692"),a=n("5135"),o=n("90e3"),c=n("4930"),u=n("fdbf"),s=i("wks"),l=r.Symbol,f=u?l:l&&l.withoutSetter||o;e.exports=function(e){return a(s,e)&&(c||"string"==typeof s[e])||(c&&a(l,e)?s[e]=l[e]:s[e]=f("Symbol."+e)),s[e]}},b64b:function(e,t,n){var r=n("23e7"),i=n("7b0b"),a=n("df75"),o=n("d039"),c=o((function(){a(1)}));r({target:"Object",stat:!0,forced:c},{keys:function(e){return a(i(e))}})},b727:function(e,t,n){var r=n("0366"),i=n("44ad"),a=n("7b0b"),o=n("50c4"),c=n("65f0"),u=[].push,s=function(e){var t=1==e,n=2==e,s=3==e,l=4==e,f=6==e,h=7==e,d=5==e||f;return function(p,b,g,v){for(var w,y,m=a(p),x=i(m),k=r(b,g,3),E=o(x.length),S=0,_=v||c,C=t?_(p,E):n||h?_(p,0):void 0;E>S;S++)if((d||S in x)&&(w=x[S],y=k(w,S,m),e))if(t)C[S]=y;else if(y)switch(e){case 3:return!0;case 5:return w;case 6:return S;case 2:u.call(C,w)}else switch(e){case 4:return!1;case 7:u.call(C,w)}return f?-1:s||l?l:C}};e.exports={forEach:s(0),map:s(1),filter:s(2),some:s(3),every:s(4),find:s(5),findIndex:s(6),filterOut:s(7)}},b85c:function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));n("a4d3"),n("e01a"),n("d3b7"),n("d28b"),n("3ca3"),n("ddb0"),n("fb6a"),n("b0c0"),n("a630");function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,c=!0,u=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return c=e.done,e},e:function(e){u=!0,o=e},f:function(){try{c||null==n["return"]||n["return"]()}finally{if(u)throw o}}}}},bc3a:function(e,t,n){e.exports=n("cee4")},c04e:function(e,t,n){var r=n("861d");e.exports=function(e,t){if(!r(e))return e;var n,i;if(t&&"function"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;if("function"==typeof(n=e.valueOf)&&!r(i=n.call(e)))return i;if(!t&&"function"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;throw TypeError("Can't convert object to primitive value")}},c345:function(e,t,n){"use strict";var r=n("c532"),i=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];e.exports=function(e){var t,n,a,o={};return e?(r.forEach(e.split("\n"),(function(e){if(a=e.indexOf(":"),t=r.trim(e.substr(0,a)).toLowerCase(),n=r.trim(e.substr(a+1)),t){if(o[t]&&i.indexOf(t)>=0)return;o[t]="set-cookie"===t?(o[t]?o[t]:[]).concat([n]):o[t]?o[t]+", "+n:n}})),o):o}},c401:function(e,t,n){"use strict";var r=n("c532");e.exports=function(e,t,n){return r.forEach(n,(function(n){e=n(e,t)})),e}},c430:function(e,t){e.exports=!1},c532:function(e,t,n){"use strict";var r=n("1d2b"),i=Object.prototype.toString;function a(e){return"[object Array]"===i.call(e)}function o(e){return"undefined"===typeof e}function c(e){return null!==e&&!o(e)&&null!==e.constructor&&!o(e.constructor)&&"function"===typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}function u(e){return"[object ArrayBuffer]"===i.call(e)}function s(e){return"undefined"!==typeof FormData&&e instanceof FormData}function l(e){var t;return t="undefined"!==typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&e.buffer instanceof ArrayBuffer,t}function f(e){return"string"===typeof e}function h(e){return"number"===typeof e}function d(e){return null!==e&&"object"===typeof e}function p(e){if("[object Object]"!==i.call(e))return!1;var t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}function b(e){return"[object Date]"===i.call(e)}function g(e){return"[object File]"===i.call(e)}function v(e){return"[object Blob]"===i.call(e)}function w(e){return"[object Function]"===i.call(e)}function y(e){return d(e)&&w(e.pipe)}function m(e){return"undefined"!==typeof URLSearchParams&&e instanceof URLSearchParams}function x(e){return e.replace(/^\s*/,"").replace(/\s*$/,"")}function k(){return("undefined"===typeof navigator||"ReactNative"!==navigator.product&&"NativeScript"!==navigator.product&&"NS"!==navigator.product)&&("undefined"!==typeof window&&"undefined"!==typeof document)}function E(e,t){if(null!==e&&"undefined"!==typeof e)if("object"!==typeof e&&(e=[e]),a(e))for(var n=0,r=e.length;nu)r(c,n=t[u++])&&(~a(s,n)||s.push(n));return s}},caad:function(e,t,n){"use strict";var r=n("23e7"),i=n("4d64").includes,a=n("44d2");r({target:"Array",proto:!0},{includes:function(e){return i(this,e,arguments.length>1?arguments[1]:void 0)}}),a("includes")},cc12:function(e,t,n){var r=n("da84"),i=n("861d"),a=r.document,o=i(a)&&i(a.createElement);e.exports=function(e){return o?a.createElement(e):{}}},cc5f:function(e,t,n){var r;(function(){"use strict";var i=function(e,t){if("function"!==typeof t)throw new TypeError("predicate must be a function");for(var n,r=e.length>>>0,i=arguments[1],a=0;a")})),s=function(){return"$0"==="a".replace(/./,"$0")}(),l=a("replace"),f=function(){return!!/./[l]&&""===/./[l]("a","$0")}(),h=!i((function(){var e=/(?:)/,t=e.exec;e.exec=function(){return t.apply(this,arguments)};var n="ab".split(e);return 2!==n.length||"a"!==n[0]||"b"!==n[1]}));e.exports=function(e,t,n,l){var d=a(e),p=!i((function(){var t={};return t[d]=function(){return 7},7!=""[e](t)})),b=p&&!i((function(){var t=!1,n=/a/;return"split"===e&&(n={},n.constructor={},n.constructor[c]=function(){return n},n.flags="",n[d]=/./[d]),n.exec=function(){return t=!0,null},n[d](""),!t}));if(!p||!b||"replace"===e&&(!u||!s||f)||"split"===e&&!h){var g=/./[d],v=n(d,""[e],(function(e,t,n,r,i){return t.exec===RegExp.prototype.exec?p&&!i?{done:!0,value:g.call(t,n,r)}:{done:!0,value:e.call(n,t,r)}:{done:!1}}),{REPLACE_KEEPS_$0:s,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:f}),w=v[0],y=v[1];r(String.prototype,e,w),r(RegExp.prototype,d,2==t?function(e,t){return y.call(e,this,t)}:function(e){return y.call(e,this)})}l&&o(RegExp.prototype[d],"sham",!0)}},d81d:function(e,t,n){"use strict";var r=n("23e7"),i=n("b727").map,a=n("1dde"),o=a("map");r({target:"Array",proto:!0,forced:!o},{map:function(e){return i(this,e,arguments.length>1?arguments[1]:void 0)}})},d925:function(e,t,n){"use strict";e.exports=function(e){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e)}},da84:function(e,t,n){(function(t){var n=function(e){return e&&e.Math==Math&&e};e.exports=n("object"==typeof globalThis&&globalThis)||n("object"==typeof window&&window)||n("object"==typeof self&&self)||n("object"==typeof t&&t)||function(){return this}()||Function("return this")()}).call(this,n("c8ba"))},dbb4:function(e,t,n){var r=n("23e7"),i=n("83ab"),a=n("56ef"),o=n("fc6a"),c=n("06cf"),u=n("8418");r({target:"Object",stat:!0,sham:!i},{getOwnPropertyDescriptors:function(e){var t,n,r=o(e),i=c.f,s=a(r),l={},f=0;while(s.length>f)n=i(r,t=s[f++]),void 0!==n&&u(l,t,n);return l}})},ddb0:function(e,t,n){var r=n("da84"),i=n("fdbc"),a=n("e260"),o=n("9112"),c=n("b622"),u=c("iterator"),s=c("toStringTag"),l=a.values;for(var f in i){var h=r[f],d=h&&h.prototype;if(d){if(d[u]!==l)try{o(d,u,l)}catch(b){d[u]=l}if(d[s]||o(d,s,f),i[f])for(var p in a)if(d[p]!==a[p])try{o(d,p,a[p])}catch(b){d[p]=a[p]}}}},df75:function(e,t,n){var r=n("ca84"),i=n("7839");e.exports=Object.keys||function(e){return r(e,i)}},df7c:function(e,t,n){(function(e){function n(e,t){for(var n=0,r=e.length-1;r>=0;r--){var i=e[r];"."===i?e.splice(r,1):".."===i?(e.splice(r,1),n++):n&&(e.splice(r,1),n--)}if(t)for(;n--;n)e.unshift("..");return e}function r(e){"string"!==typeof e&&(e+="");var t,n=0,r=-1,i=!0;for(t=e.length-1;t>=0;--t)if(47===e.charCodeAt(t)){if(!i){n=t+1;break}}else-1===r&&(i=!1,r=t+1);return-1===r?"":e.slice(n,r)}function i(e,t){if(e.filter)return e.filter(t);for(var n=[],r=0;r=-1&&!r;a--){var o=a>=0?arguments[a]:e.cwd();if("string"!==typeof o)throw new TypeError("Arguments to path.resolve must be strings");o&&(t=o+"/"+t,r="/"===o.charAt(0))}return t=n(i(t.split("/"),(function(e){return!!e})),!r).join("/"),(r?"/":"")+t||"."},t.normalize=function(e){var r=t.isAbsolute(e),o="/"===a(e,-1);return e=n(i(e.split("/"),(function(e){return!!e})),!r).join("/"),e||r||(e="."),e&&o&&(e+="/"),(r?"/":"")+e},t.isAbsolute=function(e){return"/"===e.charAt(0)},t.join=function(){var e=Array.prototype.slice.call(arguments,0);return t.normalize(i(e,(function(e,t){if("string"!==typeof e)throw new TypeError("Arguments to path.join must be strings");return e})).join("/"))},t.relative=function(e,n){function r(e){for(var t=0;t=0;n--)if(""!==e[n])break;return t>n?[]:e.slice(t,n-t+1)}e=t.resolve(e).substr(1),n=t.resolve(n).substr(1);for(var i=r(e.split("/")),a=r(n.split("/")),o=Math.min(i.length,a.length),c=o,u=0;u=1;--a)if(t=e.charCodeAt(a),47===t){if(!i){r=a;break}}else i=!1;return-1===r?n?"/":".":n&&1===r?"/":e.slice(0,r)},t.basename=function(e,t){var n=r(e);return t&&n.substr(-1*t.length)===t&&(n=n.substr(0,n.length-t.length)),n},t.extname=function(e){"string"!==typeof e&&(e+="");for(var t=-1,n=0,r=-1,i=!0,a=0,o=e.length-1;o>=0;--o){var c=e.charCodeAt(o);if(47!==c)-1===r&&(i=!1,r=o+1),46===c?-1===t?t=o:1!==a&&(a=1):-1!==t&&(a=-1);else if(!i){n=o+1;break}}return-1===t||-1===r||0===a||1===a&&t===r-1&&t===n+1?"":e.slice(t,r)};var a="b"==="ab".substr(-1)?function(e,t,n){return e.substr(t,n)}:function(e,t,n){return t<0&&(t=e.length+t),e.substr(t,n)}}).call(this,n("4362"))},e01a:function(e,t,n){"use strict";var r=n("23e7"),i=n("83ab"),a=n("da84"),o=n("5135"),c=n("861d"),u=n("9bf2").f,s=n("e893"),l=a.Symbol;if(i&&"function"==typeof l&&(!("description"in l.prototype)||void 0!==l().description)){var f={},h=function(){var e=arguments.length<1||void 0===arguments[0]?void 0:String(arguments[0]),t=this instanceof h?new l(e):void 0===e?l():l(e);return""===e&&(f[t]=!0),t};s(h,l);var d=h.prototype=l.prototype;d.constructor=h;var p=d.toString,b="Symbol(test)"==String(l("test")),g=/^Symbol\((.*)\)[^)]+$/;u(d,"description",{configurable:!0,get:function(){var e=c(this)?this.valueOf():this,t=p.call(e);if(o(f,e))return"";var n=b?t.slice(7,-1):t.replace(g,"$1");return""===n?void 0:n}}),r({global:!0,forced:!0},{Symbol:h})}},e163:function(e,t,n){var r=n("5135"),i=n("7b0b"),a=n("f772"),o=n("e177"),c=a("IE_PROTO"),u=Object.prototype;e.exports=o?Object.getPrototypeOf:function(e){return e=i(e),r(e,c)?e[c]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?u:null}},e177:function(e,t,n){var r=n("d039");e.exports=!r((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype}))},e260:function(e,t,n){"use strict";var r=n("fc6a"),i=n("44d2"),a=n("3f8c"),o=n("69f3"),c=n("7dd0"),u="Array Iterator",s=o.set,l=o.getterFor(u);e.exports=c(Array,"Array",(function(e,t){s(this,{type:u,target:r(e),index:0,kind:t})}),(function(){var e=l(this),t=e.target,n=e.kind,r=e.index++;return!t||r>=t.length?(e.target=void 0,{value:void 0,done:!0}):"keys"==n?{value:r,done:!1}:"values"==n?{value:t[r],done:!1}:{value:[r,t[r]],done:!1}}),"values"),a.Arguments=a.Array,i("keys"),i("values"),i("entries")},e2cc:function(e,t,n){var r=n("6eeb");e.exports=function(e,t,n){for(var i in t)r(e,i,t[i],n);return e}},e439:function(e,t,n){var r=n("23e7"),i=n("d039"),a=n("fc6a"),o=n("06cf").f,c=n("83ab"),u=i((function(){o(1)})),s=!c||u;r({target:"Object",stat:!0,forced:s,sham:!c},{getOwnPropertyDescriptor:function(e,t){return o(a(e),t)}})},e538:function(e,t,n){var r=n("b622");t.f=r},e667:function(e,t){e.exports=function(e){try{return{error:!1,value:e()}}catch(t){return{error:!0,value:t}}}},e683:function(e,t,n){"use strict";e.exports=function(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}},e6cf:function(e,t,n){"use strict";var r,i,a,o,c=n("23e7"),u=n("c430"),s=n("da84"),l=n("d066"),f=n("fea9"),h=n("6eeb"),d=n("e2cc"),p=n("d44e"),b=n("2626"),g=n("861d"),v=n("1c0b"),w=n("19aa"),y=n("8925"),m=n("2266"),x=n("1c7e"),k=n("4840"),E=n("2cf4").set,S=n("b575"),_=n("cdf9"),C=n("44de"),j=n("f069"),O=n("e667"),T=n("69f3"),P=n("94ca"),A=n("b622"),N=n("605d"),I=n("2d00"),D=A("species"),L="Promise",M=T.get,R=T.set,B=T.getterFor(L),H=f,G=s.TypeError,z=s.document,Y=s.process,F=l("fetch"),$=j.f,V=$,q=!!(z&&z.createEvent&&s.dispatchEvent),U="function"==typeof PromiseRejectionEvent,W="unhandledrejection",K="rejectionhandled",X=0,Q=1,Z=2,J=1,ee=2,te=P(L,(function(){var e=y(H)!==String(H);if(!e){if(66===I)return!0;if(!N&&!U)return!0}if(u&&!H.prototype["finally"])return!0;if(I>=51&&/native code/.test(H))return!1;var t=H.resolve(1),n=function(e){e((function(){}),(function(){}))},r=t.constructor={};return r[D]=n,!(t.then((function(){}))instanceof n)})),ne=te||!x((function(e){H.all(e)["catch"]((function(){}))})),re=function(e){var t;return!(!g(e)||"function"!=typeof(t=e.then))&&t},ie=function(e,t){if(!e.notified){e.notified=!0;var n=e.reactions;S((function(){var r=e.value,i=e.state==Q,a=0;while(n.length>a){var o,c,u,s=n[a++],l=i?s.ok:s.fail,f=s.resolve,h=s.reject,d=s.domain;try{l?(i||(e.rejection===ee&&ue(e),e.rejection=J),!0===l?o=r:(d&&d.enter(),o=l(r),d&&(d.exit(),u=!0)),o===s.promise?h(G("Promise-chain cycle")):(c=re(o))?c.call(o,f,h):f(o)):h(r)}catch(p){d&&!u&&d.exit(),h(p)}}e.reactions=[],e.notified=!1,t&&!e.rejection&&oe(e)}))}},ae=function(e,t,n){var r,i;q?(r=z.createEvent("Event"),r.promise=t,r.reason=n,r.initEvent(e,!1,!0),s.dispatchEvent(r)):r={promise:t,reason:n},!U&&(i=s["on"+e])?i(r):e===W&&C("Unhandled promise rejection",n)},oe=function(e){E.call(s,(function(){var t,n=e.facade,r=e.value,i=ce(e);if(i&&(t=O((function(){N?Y.emit("unhandledRejection",r,n):ae(W,n,r)})),e.rejection=N||ce(e)?ee:J,t.error))throw t.value}))},ce=function(e){return e.rejection!==J&&!e.parent},ue=function(e){E.call(s,(function(){var t=e.facade;N?Y.emit("rejectionHandled",t):ae(K,t,e.value)}))},se=function(e,t,n){return function(r){e(t,r,n)}},le=function(e,t,n){e.done||(e.done=!0,n&&(e=n),e.value=t,e.state=Z,ie(e,!0))},fe=function(e,t,n){if(!e.done){e.done=!0,n&&(e=n);try{if(e.facade===t)throw G("Promise can't be resolved itself");var r=re(t);r?S((function(){var n={done:!1};try{r.call(t,se(fe,n,e),se(le,n,e))}catch(i){le(n,i,e)}})):(e.value=t,e.state=Q,ie(e,!1))}catch(i){le({done:!1},i,e)}}};te&&(H=function(e){w(this,H,L),v(e),r.call(this);var t=M(this);try{e(se(fe,t),se(le,t))}catch(n){le(t,n)}},r=function(e){R(this,{type:L,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:X,value:void 0})},r.prototype=d(H.prototype,{then:function(e,t){var n=B(this),r=$(k(this,H));return r.ok="function"!=typeof e||e,r.fail="function"==typeof t&&t,r.domain=N?Y.domain:void 0,n.parent=!0,n.reactions.push(r),n.state!=X&&ie(n,!1),r.promise},catch:function(e){return this.then(void 0,e)}}),i=function(){var e=new r,t=M(e);this.promise=e,this.resolve=se(fe,t),this.reject=se(le,t)},j.f=$=function(e){return e===H||e===a?new i(e):V(e)},u||"function"!=typeof f||(o=f.prototype.then,h(f.prototype,"then",(function(e,t){var n=this;return new H((function(e,t){o.call(n,e,t)})).then(e,t)}),{unsafe:!0}),"function"==typeof F&&c({global:!0,enumerable:!0,forced:!0},{fetch:function(e){return _(H,F.apply(s,arguments))}}))),c({global:!0,wrap:!0,forced:te},{Promise:H}),p(H,L,!1,!0),b(L),a=l(L),c({target:L,stat:!0,forced:te},{reject:function(e){var t=$(this);return t.reject.call(void 0,e),t.promise}}),c({target:L,stat:!0,forced:u||te},{resolve:function(e){return _(u&&this===a?H:this,e)}}),c({target:L,stat:!0,forced:ne},{all:function(e){var t=this,n=$(t),r=n.resolve,i=n.reject,a=O((function(){var n=v(t.resolve),a=[],o=0,c=1;m(e,(function(e){var u=o++,s=!1;a.push(void 0),c++,n.call(t,e).then((function(e){s||(s=!0,a[u]=e,--c||r(a))}),i)})),--c||r(a)}));return a.error&&i(a.value),n.promise},race:function(e){var t=this,n=$(t),r=n.reject,i=O((function(){var i=v(t.resolve);m(e,(function(e){i.call(t,e).then(n.resolve,r)}))}));return i.error&&r(i.value),n.promise}})},e893:function(e,t,n){var r=n("5135"),i=n("56ef"),a=n("06cf"),o=n("9bf2");e.exports=function(e,t){for(var n=i(t),c=o.f,u=a.f,s=0;s]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d{1,2})/g;\n\n// https://tc39.es/ecma262/#sec-getsubstitution\nmodule.exports = function (matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return replace.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- requied for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar isRegExp = require('../internals/is-regexp');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar speciesConstructor = require('../internals/species-constructor');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar toLength = require('../internals/to-length');\nvar callRegExpExec = require('../internals/regexp-exec-abstract');\nvar regexpExec = require('../internals/regexp-exec');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\nvar arrayPush = [].push;\nvar min = Math.min;\nvar MAX_UINT32 = 0xFFFFFFFF;\n\n// @@split logic\nfixRegExpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) {\n var internalSplit;\n if (\n 'abbc'.split(/(b)*/)[1] == 'c' ||\n // eslint-disable-next-line regexp/no-empty-group -- required for testing\n 'test'.split(/(?:)/, -1).length != 4 ||\n 'ab'.split(/(?:ab)*/).length != 2 ||\n '.'.split(/(.?)(.?)/).length != 4 ||\n // eslint-disable-next-line regexp/no-assertion-capturing-group, regexp/no-empty-group -- required for testing\n '.'.split(/()()/).length > 1 ||\n ''.split(/.?/).length\n ) {\n // based on es5-shim implementation, need to rework it\n internalSplit = function (separator, limit) {\n var string = String(requireObjectCoercible(this));\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (separator === undefined) return [string];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) {\n return nativeSplit.call(string, separator, lim);\n }\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = regexpExec.call(separatorCopy, string)) {\n lastIndex = separatorCopy.lastIndex;\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1));\n lastLength = match[0].length;\n lastLastIndex = lastIndex;\n if (output.length >= lim) break;\n }\n if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop\n }\n if (lastLastIndex === string.length) {\n if (lastLength || !separatorCopy.test('')) output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output.length > lim ? output.slice(0, lim) : output;\n };\n // Chakra, V8\n } else if ('0'.split(undefined, 0).length) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit);\n };\n } else internalSplit = nativeSplit;\n\n return [\n // `String.prototype.split` method\n // https://tc39.es/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = requireObjectCoercible(this);\n var splitter = separator == undefined ? undefined : separator[SPLIT];\n return splitter !== undefined\n ? splitter.call(separator, O, limit)\n : internalSplit.call(String(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (regexp, limit) {\n var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (UNSUPPORTED_Y ? 'g' : 'y');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(UNSUPPORTED_Y ? '^(?:' + rx.source + ')' : rx, flags);\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = UNSUPPORTED_Y ? 0 : q;\n var z = callRegExpExec(splitter, UNSUPPORTED_Y ? S.slice(q) : S);\n var e;\n if (\n z === null ||\n (e = min(toLength(splitter.lastIndex + (UNSUPPORTED_Y ? q : 0)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n A.push(S.slice(p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n A.push(z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n A.push(S.slice(p));\n return A;\n }\n ];\n}, UNSUPPORTED_Y);\n","\nmodule.exports = function () {\n var selection = document.getSelection();\n if (!selection.rangeCount) {\n return function () {};\n }\n var active = document.activeElement;\n\n var ranges = [];\n for (var i = 0; i < selection.rangeCount; i++) {\n ranges.push(selection.getRangeAt(i));\n }\n\n switch (active.tagName.toUpperCase()) { // .toUpperCase handles XHTML\n case 'INPUT':\n case 'TEXTAREA':\n active.blur();\n break;\n\n default:\n active = null;\n break;\n }\n\n selection.removeAllRanges();\n return function () {\n selection.type === 'Caret' &&\n selection.removeAllRanges();\n\n if (!selection.rangeCount) {\n ranges.forEach(function(range) {\n selection.addRange(range);\n });\n }\n\n active &&\n active.focus();\n };\n};\n","var classof = require('./classof-raw');\nvar regexpExec = require('./regexp-exec');\n\n// `RegExpExec` abstract operation\n// https://tc39.es/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n\n if (classof(R) !== 'RegExp') {\n throw TypeError('RegExp#exec called on incompatible receiver');\n }\n\n return regexpExec.call(R, S);\n};\n\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar forEach = require('../internals/array-for-each');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {\n createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);\n } catch (error) {\n CollectionPrototype.forEach = forEach;\n }\n}\n","'use strict';\nvar $forEach = require('../internals/array-iteration').forEach;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\nmodule.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n// eslint-disable-next-line es/no-array-prototype-foreach -- safe\n} : [].forEach;\n","module.exports = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n } return it;\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","var userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /(?:iphone|ipod|ipad).*applewebkit/i.test(userAgent);\n","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","(function(a,b){if(\"function\"==typeof define&&define.amd)define([],b);else if(\"undefined\"!=typeof exports)b();else{b(),a.FileSaver={exports:{}}.exports}})(this,function(){\"use strict\";function b(a,b){return\"undefined\"==typeof b?b={autoBom:!1}:\"object\"!=typeof b&&(console.warn(\"Deprecated: Expected third argument to be a object\"),b={autoBom:!b}),b.autoBom&&/^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(a.type)?new Blob([\"\\uFEFF\",a],{type:a.type}):a}function c(a,b,c){var d=new XMLHttpRequest;d.open(\"GET\",a),d.responseType=\"blob\",d.onload=function(){g(d.response,b,c)},d.onerror=function(){console.error(\"could not download file\")},d.send()}function d(a){var b=new XMLHttpRequest;b.open(\"HEAD\",a,!1);try{b.send()}catch(a){}return 200<=b.status&&299>=b.status}function e(a){try{a.dispatchEvent(new MouseEvent(\"click\"))}catch(c){var b=document.createEvent(\"MouseEvents\");b.initMouseEvent(\"click\",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),a.dispatchEvent(b)}}var f=\"object\"==typeof window&&window.window===window?window:\"object\"==typeof self&&self.self===self?self:\"object\"==typeof global&&global.global===global?global:void 0,a=f.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),g=f.saveAs||(\"object\"!=typeof window||window!==f?function(){}:\"download\"in HTMLAnchorElement.prototype&&!a?function(b,g,h){var i=f.URL||f.webkitURL,j=document.createElement(\"a\");g=g||b.name||\"download\",j.download=g,j.rel=\"noopener\",\"string\"==typeof b?(j.href=b,j.origin===location.origin?e(j):d(j.href)?c(b,g,h):e(j,j.target=\"_blank\")):(j.href=i.createObjectURL(b),setTimeout(function(){i.revokeObjectURL(j.href)},4E4),setTimeout(function(){e(j)},0))}:\"msSaveOrOpenBlob\"in navigator?function(f,g,h){if(g=g||f.name||\"download\",\"string\"!=typeof f)navigator.msSaveOrOpenBlob(b(f,h),g);else if(d(f))c(f,g,h);else{var i=document.createElement(\"a\");i.href=f,i.target=\"_blank\",setTimeout(function(){e(i)})}}:function(b,d,e,g){if(g=g||open(\"\",\"_blank\"),g&&(g.document.title=g.document.body.innerText=\"downloading...\"),\"string\"==typeof b)return c(b,d,e);var h=\"application/octet-stream\"===b.type,i=/constructor/i.test(f.HTMLElement)||f.safari,j=/CriOS\\/[\\d]+/.test(navigator.userAgent);if((j||h&&i||a)&&\"undefined\"!=typeof FileReader){var k=new FileReader;k.onloadend=function(){var a=k.result;a=j?a:a.replace(/^data:[^;]*;/,\"data:attachment/file;\"),g?g.location.href=a:location=a,g=null},k.readAsDataURL(b)}else{var l=f.URL||f.webkitURL,m=l.createObjectURL(b);g?g.location=m:location.href=m,g=null,setTimeout(function(){l.revokeObjectURL(m)},4E4)}});f.saveAs=g.saveAs=g,\"undefined\"!=typeof module&&(module.exports=g)});\n\n//# sourceMappingURL=FileSaver.min.js.map","var anObject = require('../internals/an-object');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar bind = require('../internals/function-bind-context');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that, 1 + AS_ENTRIES + INTERRUPTED);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (typeof iterFn != 'function') throw TypeError('Target is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = toLength(iterable.length); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && result instanceof Result) return result;\n } return new Result(false);\n }\n iterator = iterFn.call(iterable);\n }\n\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator);\n throw error;\n }\n if (typeof result == 'object' && result && result instanceof Result) return result;\n } return new Result(false);\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nvar defaults = {\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) { /* Ignore */ }\n }\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","'use strict';\nvar $ = require('../internals/export');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\n\n// `String.prototype.includes` method\n// https://tc39.es/ecma262/#sec-string.prototype.includes\n$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~String(requireObjectCoercible(this))\n .indexOf(notARegExp(searchString), arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\n\nvar isMergeableObject = function isMergeableObject(value) {\n\treturn isNonNullObject(value)\n\t\t&& !isSpecial(value)\n};\n\nfunction isNonNullObject(value) {\n\treturn !!value && typeof value === 'object'\n}\n\nfunction isSpecial(value) {\n\tvar stringValue = Object.prototype.toString.call(value);\n\n\treturn stringValue === '[object RegExp]'\n\t\t|| stringValue === '[object Date]'\n\t\t|| isReactElement(value)\n}\n\n// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25\nvar canUseSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7;\n\nfunction isReactElement(value) {\n\treturn value.$$typeof === REACT_ELEMENT_TYPE\n}\n\nfunction emptyTarget(val) {\n\treturn Array.isArray(val) ? [] : {}\n}\n\nfunction cloneUnlessOtherwiseSpecified(value, options) {\n\treturn (options.clone !== false && options.isMergeableObject(value))\n\t\t? deepmerge(emptyTarget(value), value, options)\n\t\t: value\n}\n\nfunction defaultArrayMerge(target, source, options) {\n\treturn target.concat(source).map(function(element) {\n\t\treturn cloneUnlessOtherwiseSpecified(element, options)\n\t})\n}\n\nfunction getMergeFunction(key, options) {\n\tif (!options.customMerge) {\n\t\treturn deepmerge\n\t}\n\tvar customMerge = options.customMerge(key);\n\treturn typeof customMerge === 'function' ? customMerge : deepmerge\n}\n\nfunction getEnumerableOwnPropertySymbols(target) {\n\treturn Object.getOwnPropertySymbols\n\t\t? Object.getOwnPropertySymbols(target).filter(function(symbol) {\n\t\t\treturn target.propertyIsEnumerable(symbol)\n\t\t})\n\t\t: []\n}\n\nfunction getKeys(target) {\n\treturn Object.keys(target).concat(getEnumerableOwnPropertySymbols(target))\n}\n\nfunction propertyIsOnObject(object, property) {\n\ttry {\n\t\treturn property in object\n\t} catch(_) {\n\t\treturn false\n\t}\n}\n\n// Protects from prototype poisoning and unexpected merging up the prototype chain.\nfunction propertyIsUnsafe(target, key) {\n\treturn propertyIsOnObject(target, key) // Properties are safe to merge if they don't exist in the target yet,\n\t\t&& !(Object.hasOwnProperty.call(target, key) // unsafe if they exist up the prototype chain,\n\t\t\t&& Object.propertyIsEnumerable.call(target, key)) // and also unsafe if they're nonenumerable.\n}\n\nfunction mergeObject(target, source, options) {\n\tvar destination = {};\n\tif (options.isMergeableObject(target)) {\n\t\tgetKeys(target).forEach(function(key) {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(target[key], options);\n\t\t});\n\t}\n\tgetKeys(source).forEach(function(key) {\n\t\tif (propertyIsUnsafe(target, key)) {\n\t\t\treturn\n\t\t}\n\n\t\tif (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) {\n\t\t\tdestination[key] = getMergeFunction(key, options)(target[key], source[key], options);\n\t\t} else {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(source[key], options);\n\t\t}\n\t});\n\treturn destination\n}\n\nfunction deepmerge(target, source, options) {\n\toptions = options || {};\n\toptions.arrayMerge = options.arrayMerge || defaultArrayMerge;\n\toptions.isMergeableObject = options.isMergeableObject || isMergeableObject;\n\t// cloneUnlessOtherwiseSpecified is added to `options` so that custom arrayMerge()\n\t// implementations can use it. The caller may not replace it.\n\toptions.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified;\n\n\tvar sourceIsArray = Array.isArray(source);\n\tvar targetIsArray = Array.isArray(target);\n\tvar sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;\n\n\tif (!sourceAndTargetTypesMatch) {\n\t\treturn cloneUnlessOtherwiseSpecified(source, options)\n\t} else if (sourceIsArray) {\n\t\treturn options.arrayMerge(target, source, options)\n\t} else {\n\t\treturn mergeObject(target, source, options)\n\t}\n}\n\ndeepmerge.all = function deepmergeAll(array, options) {\n\tif (!Array.isArray(array)) {\n\t\tthrow new Error('first argument should be an array')\n\t}\n\n\treturn array.reduce(function(prev, next) {\n\t\treturn deepmerge(prev, next, options)\n\t}, {})\n};\n\nvar deepmerge_1 = deepmerge;\n\nmodule.exports = deepmerge_1;\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","var anObject = require('../internals/an-object');\n\nmodule.exports = function (iterator) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined) {\n return anObject(returnMethod.call(iterator)).value;\n }\n};\n","/*!\n * Vue.js v2.6.12\n * (c) 2014-2020 Evan You\n * Released under the MIT License.\n */\n/* */\n\nvar emptyObject = Object.freeze({});\n\n// These helpers produce better VM code in JS engines due to their\n// explicitness and function inlining.\nfunction isUndef (v) {\n return v === undefined || v === null\n}\n\nfunction isDef (v) {\n return v !== undefined && v !== null\n}\n\nfunction isTrue (v) {\n return v === true\n}\n\nfunction isFalse (v) {\n return v === false\n}\n\n/**\n * Check if value is primitive.\n */\nfunction isPrimitive (value) {\n return (\n typeof value === 'string' ||\n typeof value === 'number' ||\n // $flow-disable-line\n typeof value === 'symbol' ||\n typeof value === 'boolean'\n )\n}\n\n/**\n * Quick object check - this is primarily used to tell\n * Objects from primitive values when we know the value\n * is a JSON-compliant type.\n */\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\n/**\n * Get the raw type string of a value, e.g., [object Object].\n */\nvar _toString = Object.prototype.toString;\n\nfunction toRawType (value) {\n return _toString.call(value).slice(8, -1)\n}\n\n/**\n * Strict object type check. Only returns true\n * for plain JavaScript objects.\n */\nfunction isPlainObject (obj) {\n return _toString.call(obj) === '[object Object]'\n}\n\nfunction isRegExp (v) {\n return _toString.call(v) === '[object RegExp]'\n}\n\n/**\n * Check if val is a valid array index.\n */\nfunction isValidArrayIndex (val) {\n var n = parseFloat(String(val));\n return n >= 0 && Math.floor(n) === n && isFinite(val)\n}\n\nfunction isPromise (val) {\n return (\n isDef(val) &&\n typeof val.then === 'function' &&\n typeof val.catch === 'function'\n )\n}\n\n/**\n * Convert a value to a string that is actually rendered.\n */\nfunction toString (val) {\n return val == null\n ? ''\n : Array.isArray(val) || (isPlainObject(val) && val.toString === _toString)\n ? JSON.stringify(val, null, 2)\n : String(val)\n}\n\n/**\n * Convert an input value to a number for persistence.\n * If the conversion fails, return original string.\n */\nfunction toNumber (val) {\n var n = parseFloat(val);\n return isNaN(n) ? val : n\n}\n\n/**\n * Make a map and return a function for checking if a key\n * is in that map.\n */\nfunction makeMap (\n str,\n expectsLowerCase\n) {\n var map = Object.create(null);\n var list = str.split(',');\n for (var i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase\n ? function (val) { return map[val.toLowerCase()]; }\n : function (val) { return map[val]; }\n}\n\n/**\n * Check if a tag is a built-in tag.\n */\nvar isBuiltInTag = makeMap('slot,component', true);\n\n/**\n * Check if an attribute is a reserved attribute.\n */\nvar isReservedAttribute = makeMap('key,ref,slot,slot-scope,is');\n\n/**\n * Remove an item from an array.\n */\nfunction remove (arr, item) {\n if (arr.length) {\n var index = arr.indexOf(item);\n if (index > -1) {\n return arr.splice(index, 1)\n }\n }\n}\n\n/**\n * Check whether an object has the property.\n */\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn (obj, key) {\n return hasOwnProperty.call(obj, key)\n}\n\n/**\n * Create a cached version of a pure function.\n */\nfunction cached (fn) {\n var cache = Object.create(null);\n return (function cachedFn (str) {\n var hit = cache[str];\n return hit || (cache[str] = fn(str))\n })\n}\n\n/**\n * Camelize a hyphen-delimited string.\n */\nvar camelizeRE = /-(\\w)/g;\nvar camelize = cached(function (str) {\n return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; })\n});\n\n/**\n * Capitalize a string.\n */\nvar capitalize = cached(function (str) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n});\n\n/**\n * Hyphenate a camelCase string.\n */\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = cached(function (str) {\n return str.replace(hyphenateRE, '-$1').toLowerCase()\n});\n\n/**\n * Simple bind polyfill for environments that do not support it,\n * e.g., PhantomJS 1.x. Technically, we don't need this anymore\n * since native bind is now performant enough in most browsers.\n * But removing it would mean breaking code that was able to run in\n * PhantomJS 1.x, so this must be kept for backward compatibility.\n */\n\n/* istanbul ignore next */\nfunction polyfillBind (fn, ctx) {\n function boundFn (a) {\n var l = arguments.length;\n return l\n ? l > 1\n ? fn.apply(ctx, arguments)\n : fn.call(ctx, a)\n : fn.call(ctx)\n }\n\n boundFn._length = fn.length;\n return boundFn\n}\n\nfunction nativeBind (fn, ctx) {\n return fn.bind(ctx)\n}\n\nvar bind = Function.prototype.bind\n ? nativeBind\n : polyfillBind;\n\n/**\n * Convert an Array-like object to a real Array.\n */\nfunction toArray (list, start) {\n start = start || 0;\n var i = list.length - start;\n var ret = new Array(i);\n while (i--) {\n ret[i] = list[i + start];\n }\n return ret\n}\n\n/**\n * Mix properties into target object.\n */\nfunction extend (to, _from) {\n for (var key in _from) {\n to[key] = _from[key];\n }\n return to\n}\n\n/**\n * Merge an Array of Objects into a single Object.\n */\nfunction toObject (arr) {\n var res = {};\n for (var i = 0; i < arr.length; i++) {\n if (arr[i]) {\n extend(res, arr[i]);\n }\n }\n return res\n}\n\n/* eslint-disable no-unused-vars */\n\n/**\n * Perform no operation.\n * Stubbing args to make Flow happy without leaving useless transpiled code\n * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/).\n */\nfunction noop (a, b, c) {}\n\n/**\n * Always return false.\n */\nvar no = function (a, b, c) { return false; };\n\n/* eslint-enable no-unused-vars */\n\n/**\n * Return the same value.\n */\nvar identity = function (_) { return _; };\n\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n */\nfunction looseEqual (a, b) {\n if (a === b) { return true }\n var isObjectA = isObject(a);\n var isObjectB = isObject(b);\n if (isObjectA && isObjectB) {\n try {\n var isArrayA = Array.isArray(a);\n var isArrayB = Array.isArray(b);\n if (isArrayA && isArrayB) {\n return a.length === b.length && a.every(function (e, i) {\n return looseEqual(e, b[i])\n })\n } else if (a instanceof Date && b instanceof Date) {\n return a.getTime() === b.getTime()\n } else if (!isArrayA && !isArrayB) {\n var keysA = Object.keys(a);\n var keysB = Object.keys(b);\n return keysA.length === keysB.length && keysA.every(function (key) {\n return looseEqual(a[key], b[key])\n })\n } else {\n /* istanbul ignore next */\n return false\n }\n } catch (e) {\n /* istanbul ignore next */\n return false\n }\n } else if (!isObjectA && !isObjectB) {\n return String(a) === String(b)\n } else {\n return false\n }\n}\n\n/**\n * Return the first index at which a loosely equal value can be\n * found in the array (if value is a plain object, the array must\n * contain an object of the same shape), or -1 if it is not present.\n */\nfunction looseIndexOf (arr, val) {\n for (var i = 0; i < arr.length; i++) {\n if (looseEqual(arr[i], val)) { return i }\n }\n return -1\n}\n\n/**\n * Ensure a function is called only once.\n */\nfunction once (fn) {\n var called = false;\n return function () {\n if (!called) {\n called = true;\n fn.apply(this, arguments);\n }\n }\n}\n\nvar SSR_ATTR = 'data-server-rendered';\n\nvar ASSET_TYPES = [\n 'component',\n 'directive',\n 'filter'\n];\n\nvar LIFECYCLE_HOOKS = [\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeUpdate',\n 'updated',\n 'beforeDestroy',\n 'destroyed',\n 'activated',\n 'deactivated',\n 'errorCaptured',\n 'serverPrefetch'\n];\n\n/* */\n\n\n\nvar config = ({\n /**\n * Option merge strategies (used in core/util/options)\n */\n // $flow-disable-line\n optionMergeStrategies: Object.create(null),\n\n /**\n * Whether to suppress warnings.\n */\n silent: false,\n\n /**\n * Show production mode tip message on boot?\n */\n productionTip: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to enable devtools\n */\n devtools: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to record perf\n */\n performance: false,\n\n /**\n * Error handler for watcher errors\n */\n errorHandler: null,\n\n /**\n * Warn handler for watcher warns\n */\n warnHandler: null,\n\n /**\n * Ignore certain custom elements\n */\n ignoredElements: [],\n\n /**\n * Custom user key aliases for v-on\n */\n // $flow-disable-line\n keyCodes: Object.create(null),\n\n /**\n * Check if a tag is reserved so that it cannot be registered as a\n * component. This is platform-dependent and may be overwritten.\n */\n isReservedTag: no,\n\n /**\n * Check if an attribute is reserved so that it cannot be used as a component\n * prop. This is platform-dependent and may be overwritten.\n */\n isReservedAttr: no,\n\n /**\n * Check if a tag is an unknown element.\n * Platform-dependent.\n */\n isUnknownElement: no,\n\n /**\n * Get the namespace of an element\n */\n getTagNamespace: noop,\n\n /**\n * Parse the real tag name for the specific platform.\n */\n parsePlatformTagName: identity,\n\n /**\n * Check if an attribute must be bound using property, e.g. value\n * Platform-dependent.\n */\n mustUseProp: no,\n\n /**\n * Perform updates asynchronously. Intended to be used by Vue Test Utils\n * This will significantly reduce performance if set to false.\n */\n async: true,\n\n /**\n * Exposed for legacy reasons\n */\n _lifecycleHooks: LIFECYCLE_HOOKS\n});\n\n/* */\n\n/**\n * unicode letters used for parsing html tags, component names and property paths.\n * using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname\n * skipping \\u10000-\\uEFFFF due to it freezing up PhantomJS\n */\nvar unicodeRegExp = /a-zA-Z\\u00B7\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u203F-\\u2040\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD/;\n\n/**\n * Check if a string starts with $ or _\n */\nfunction isReserved (str) {\n var c = (str + '').charCodeAt(0);\n return c === 0x24 || c === 0x5F\n}\n\n/**\n * Define a property.\n */\nfunction def (obj, key, val, enumerable) {\n Object.defineProperty(obj, key, {\n value: val,\n enumerable: !!enumerable,\n writable: true,\n configurable: true\n });\n}\n\n/**\n * Parse simple path.\n */\nvar bailRE = new RegExp((\"[^\" + (unicodeRegExp.source) + \".$_\\\\d]\"));\nfunction parsePath (path) {\n if (bailRE.test(path)) {\n return\n }\n var segments = path.split('.');\n return function (obj) {\n for (var i = 0; i < segments.length; i++) {\n if (!obj) { return }\n obj = obj[segments[i]];\n }\n return obj\n }\n}\n\n/* */\n\n// can we use __proto__?\nvar hasProto = '__proto__' in {};\n\n// Browser environment sniffing\nvar inBrowser = typeof window !== 'undefined';\nvar inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform;\nvar weexPlatform = inWeex && WXEnvironment.platform.toLowerCase();\nvar UA = inBrowser && window.navigator.userAgent.toLowerCase();\nvar isIE = UA && /msie|trident/.test(UA);\nvar isIE9 = UA && UA.indexOf('msie 9.0') > 0;\nvar isEdge = UA && UA.indexOf('edge/') > 0;\nvar isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android');\nvar isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios');\nvar isChrome = UA && /chrome\\/\\d+/.test(UA) && !isEdge;\nvar isPhantomJS = UA && /phantomjs/.test(UA);\nvar isFF = UA && UA.match(/firefox\\/(\\d+)/);\n\n// Firefox has a \"watch\" function on Object.prototype...\nvar nativeWatch = ({}).watch;\n\nvar supportsPassive = false;\nif (inBrowser) {\n try {\n var opts = {};\n Object.defineProperty(opts, 'passive', ({\n get: function get () {\n /* istanbul ignore next */\n supportsPassive = true;\n }\n })); // https://github.com/facebook/flow/issues/285\n window.addEventListener('test-passive', null, opts);\n } catch (e) {}\n}\n\n// this needs to be lazy-evaled because vue may be required before\n// vue-server-renderer can set VUE_ENV\nvar _isServer;\nvar isServerRendering = function () {\n if (_isServer === undefined) {\n /* istanbul ignore if */\n if (!inBrowser && !inWeex && typeof global !== 'undefined') {\n // detect presence of vue-server-renderer and avoid\n // Webpack shimming the process\n _isServer = global['process'] && global['process'].env.VUE_ENV === 'server';\n } else {\n _isServer = false;\n }\n }\n return _isServer\n};\n\n// detect devtools\nvar devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\n/* istanbul ignore next */\nfunction isNative (Ctor) {\n return typeof Ctor === 'function' && /native code/.test(Ctor.toString())\n}\n\nvar hasSymbol =\n typeof Symbol !== 'undefined' && isNative(Symbol) &&\n typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys);\n\nvar _Set;\n/* istanbul ignore if */ // $flow-disable-line\nif (typeof Set !== 'undefined' && isNative(Set)) {\n // use native Set when available.\n _Set = Set;\n} else {\n // a non-standard Set polyfill that only works with primitive keys.\n _Set = /*@__PURE__*/(function () {\n function Set () {\n this.set = Object.create(null);\n }\n Set.prototype.has = function has (key) {\n return this.set[key] === true\n };\n Set.prototype.add = function add (key) {\n this.set[key] = true;\n };\n Set.prototype.clear = function clear () {\n this.set = Object.create(null);\n };\n\n return Set;\n }());\n}\n\n/* */\n\nvar warn = noop;\nvar tip = noop;\nvar generateComponentTrace = (noop); // work around flow check\nvar formatComponentName = (noop);\n\nif (process.env.NODE_ENV !== 'production') {\n var hasConsole = typeof console !== 'undefined';\n var classifyRE = /(?:^|[-_])(\\w)/g;\n var classify = function (str) { return str\n .replace(classifyRE, function (c) { return c.toUpperCase(); })\n .replace(/[-_]/g, ''); };\n\n warn = function (msg, vm) {\n var trace = vm ? generateComponentTrace(vm) : '';\n\n if (config.warnHandler) {\n config.warnHandler.call(null, msg, vm, trace);\n } else if (hasConsole && (!config.silent)) {\n console.error((\"[Vue warn]: \" + msg + trace));\n }\n };\n\n tip = function (msg, vm) {\n if (hasConsole && (!config.silent)) {\n console.warn(\"[Vue tip]: \" + msg + (\n vm ? generateComponentTrace(vm) : ''\n ));\n }\n };\n\n formatComponentName = function (vm, includeFile) {\n if (vm.$root === vm) {\n return ''\n }\n var options = typeof vm === 'function' && vm.cid != null\n ? vm.options\n : vm._isVue\n ? vm.$options || vm.constructor.options\n : vm;\n var name = options.name || options._componentTag;\n var file = options.__file;\n if (!name && file) {\n var match = file.match(/([^/\\\\]+)\\.vue$/);\n name = match && match[1];\n }\n\n return (\n (name ? (\"<\" + (classify(name)) + \">\") : \"\") +\n (file && includeFile !== false ? (\" at \" + file) : '')\n )\n };\n\n var repeat = function (str, n) {\n var res = '';\n while (n) {\n if (n % 2 === 1) { res += str; }\n if (n > 1) { str += str; }\n n >>= 1;\n }\n return res\n };\n\n generateComponentTrace = function (vm) {\n if (vm._isVue && vm.$parent) {\n var tree = [];\n var currentRecursiveSequence = 0;\n while (vm) {\n if (tree.length > 0) {\n var last = tree[tree.length - 1];\n if (last.constructor === vm.constructor) {\n currentRecursiveSequence++;\n vm = vm.$parent;\n continue\n } else if (currentRecursiveSequence > 0) {\n tree[tree.length - 1] = [last, currentRecursiveSequence];\n currentRecursiveSequence = 0;\n }\n }\n tree.push(vm);\n vm = vm.$parent;\n }\n return '\\n\\nfound in\\n\\n' + tree\n .map(function (vm, i) { return (\"\" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm)\n ? ((formatComponentName(vm[0])) + \"... (\" + (vm[1]) + \" recursive calls)\")\n : formatComponentName(vm))); })\n .join('\\n')\n } else {\n return (\"\\n\\n(found in \" + (formatComponentName(vm)) + \")\")\n }\n };\n}\n\n/* */\n\nvar uid = 0;\n\n/**\n * A dep is an observable that can have multiple\n * directives subscribing to it.\n */\nvar Dep = function Dep () {\n this.id = uid++;\n this.subs = [];\n};\n\nDep.prototype.addSub = function addSub (sub) {\n this.subs.push(sub);\n};\n\nDep.prototype.removeSub = function removeSub (sub) {\n remove(this.subs, sub);\n};\n\nDep.prototype.depend = function depend () {\n if (Dep.target) {\n Dep.target.addDep(this);\n }\n};\n\nDep.prototype.notify = function notify () {\n // stabilize the subscriber list first\n var subs = this.subs.slice();\n if (process.env.NODE_ENV !== 'production' && !config.async) {\n // subs aren't sorted in scheduler if not running async\n // we need to sort them now to make sure they fire in correct\n // order\n subs.sort(function (a, b) { return a.id - b.id; });\n }\n for (var i = 0, l = subs.length; i < l; i++) {\n subs[i].update();\n }\n};\n\n// The current target watcher being evaluated.\n// This is globally unique because only one watcher\n// can be evaluated at a time.\nDep.target = null;\nvar targetStack = [];\n\nfunction pushTarget (target) {\n targetStack.push(target);\n Dep.target = target;\n}\n\nfunction popTarget () {\n targetStack.pop();\n Dep.target = targetStack[targetStack.length - 1];\n}\n\n/* */\n\nvar VNode = function VNode (\n tag,\n data,\n children,\n text,\n elm,\n context,\n componentOptions,\n asyncFactory\n) {\n this.tag = tag;\n this.data = data;\n this.children = children;\n this.text = text;\n this.elm = elm;\n this.ns = undefined;\n this.context = context;\n this.fnContext = undefined;\n this.fnOptions = undefined;\n this.fnScopeId = undefined;\n this.key = data && data.key;\n this.componentOptions = componentOptions;\n this.componentInstance = undefined;\n this.parent = undefined;\n this.raw = false;\n this.isStatic = false;\n this.isRootInsert = true;\n this.isComment = false;\n this.isCloned = false;\n this.isOnce = false;\n this.asyncFactory = asyncFactory;\n this.asyncMeta = undefined;\n this.isAsyncPlaceholder = false;\n};\n\nvar prototypeAccessors = { child: { configurable: true } };\n\n// DEPRECATED: alias for componentInstance for backwards compat.\n/* istanbul ignore next */\nprototypeAccessors.child.get = function () {\n return this.componentInstance\n};\n\nObject.defineProperties( VNode.prototype, prototypeAccessors );\n\nvar createEmptyVNode = function (text) {\n if ( text === void 0 ) text = '';\n\n var node = new VNode();\n node.text = text;\n node.isComment = true;\n return node\n};\n\nfunction createTextVNode (val) {\n return new VNode(undefined, undefined, undefined, String(val))\n}\n\n// optimized shallow clone\n// used for static nodes and slot nodes because they may be reused across\n// multiple renders, cloning them avoids errors when DOM manipulations rely\n// on their elm reference.\nfunction cloneVNode (vnode) {\n var cloned = new VNode(\n vnode.tag,\n vnode.data,\n // #7975\n // clone children array to avoid mutating original in case of cloning\n // a child.\n vnode.children && vnode.children.slice(),\n vnode.text,\n vnode.elm,\n vnode.context,\n vnode.componentOptions,\n vnode.asyncFactory\n );\n cloned.ns = vnode.ns;\n cloned.isStatic = vnode.isStatic;\n cloned.key = vnode.key;\n cloned.isComment = vnode.isComment;\n cloned.fnContext = vnode.fnContext;\n cloned.fnOptions = vnode.fnOptions;\n cloned.fnScopeId = vnode.fnScopeId;\n cloned.asyncMeta = vnode.asyncMeta;\n cloned.isCloned = true;\n return cloned\n}\n\n/*\n * not type checking this file because flow doesn't play well with\n * dynamically accessing methods on Array prototype\n */\n\nvar arrayProto = Array.prototype;\nvar arrayMethods = Object.create(arrayProto);\n\nvar methodsToPatch = [\n 'push',\n 'pop',\n 'shift',\n 'unshift',\n 'splice',\n 'sort',\n 'reverse'\n];\n\n/**\n * Intercept mutating methods and emit events\n */\nmethodsToPatch.forEach(function (method) {\n // cache original method\n var original = arrayProto[method];\n def(arrayMethods, method, function mutator () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var result = original.apply(this, args);\n var ob = this.__ob__;\n var inserted;\n switch (method) {\n case 'push':\n case 'unshift':\n inserted = args;\n break\n case 'splice':\n inserted = args.slice(2);\n break\n }\n if (inserted) { ob.observeArray(inserted); }\n // notify change\n ob.dep.notify();\n return result\n });\n});\n\n/* */\n\nvar arrayKeys = Object.getOwnPropertyNames(arrayMethods);\n\n/**\n * In some cases we may want to disable observation inside a component's\n * update computation.\n */\nvar shouldObserve = true;\n\nfunction toggleObserving (value) {\n shouldObserve = value;\n}\n\n/**\n * Observer class that is attached to each observed\n * object. Once attached, the observer converts the target\n * object's property keys into getter/setters that\n * collect dependencies and dispatch updates.\n */\nvar Observer = function Observer (value) {\n this.value = value;\n this.dep = new Dep();\n this.vmCount = 0;\n def(value, '__ob__', this);\n if (Array.isArray(value)) {\n if (hasProto) {\n protoAugment(value, arrayMethods);\n } else {\n copyAugment(value, arrayMethods, arrayKeys);\n }\n this.observeArray(value);\n } else {\n this.walk(value);\n }\n};\n\n/**\n * Walk through all properties and convert them into\n * getter/setters. This method should only be called when\n * value type is Object.\n */\nObserver.prototype.walk = function walk (obj) {\n var keys = Object.keys(obj);\n for (var i = 0; i < keys.length; i++) {\n defineReactive$$1(obj, keys[i]);\n }\n};\n\n/**\n * Observe a list of Array items.\n */\nObserver.prototype.observeArray = function observeArray (items) {\n for (var i = 0, l = items.length; i < l; i++) {\n observe(items[i]);\n }\n};\n\n// helpers\n\n/**\n * Augment a target Object or Array by intercepting\n * the prototype chain using __proto__\n */\nfunction protoAugment (target, src) {\n /* eslint-disable no-proto */\n target.__proto__ = src;\n /* eslint-enable no-proto */\n}\n\n/**\n * Augment a target Object or Array by defining\n * hidden properties.\n */\n/* istanbul ignore next */\nfunction copyAugment (target, src, keys) {\n for (var i = 0, l = keys.length; i < l; i++) {\n var key = keys[i];\n def(target, key, src[key]);\n }\n}\n\n/**\n * Attempt to create an observer instance for a value,\n * returns the new observer if successfully observed,\n * or the existing observer if the value already has one.\n */\nfunction observe (value, asRootData) {\n if (!isObject(value) || value instanceof VNode) {\n return\n }\n var ob;\n if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {\n ob = value.__ob__;\n } else if (\n shouldObserve &&\n !isServerRendering() &&\n (Array.isArray(value) || isPlainObject(value)) &&\n Object.isExtensible(value) &&\n !value._isVue\n ) {\n ob = new Observer(value);\n }\n if (asRootData && ob) {\n ob.vmCount++;\n }\n return ob\n}\n\n/**\n * Define a reactive property on an Object.\n */\nfunction defineReactive$$1 (\n obj,\n key,\n val,\n customSetter,\n shallow\n) {\n var dep = new Dep();\n\n var property = Object.getOwnPropertyDescriptor(obj, key);\n if (property && property.configurable === false) {\n return\n }\n\n // cater for pre-defined getter/setters\n var getter = property && property.get;\n var setter = property && property.set;\n if ((!getter || setter) && arguments.length === 2) {\n val = obj[key];\n }\n\n var childOb = !shallow && observe(val);\n Object.defineProperty(obj, key, {\n enumerable: true,\n configurable: true,\n get: function reactiveGetter () {\n var value = getter ? getter.call(obj) : val;\n if (Dep.target) {\n dep.depend();\n if (childOb) {\n childOb.dep.depend();\n if (Array.isArray(value)) {\n dependArray(value);\n }\n }\n }\n return value\n },\n set: function reactiveSetter (newVal) {\n var value = getter ? getter.call(obj) : val;\n /* eslint-disable no-self-compare */\n if (newVal === value || (newVal !== newVal && value !== value)) {\n return\n }\n /* eslint-enable no-self-compare */\n if (process.env.NODE_ENV !== 'production' && customSetter) {\n customSetter();\n }\n // #7981: for accessor properties without setter\n if (getter && !setter) { return }\n if (setter) {\n setter.call(obj, newVal);\n } else {\n val = newVal;\n }\n childOb = !shallow && observe(newVal);\n dep.notify();\n }\n });\n}\n\n/**\n * Set a property on an object. Adds the new property and\n * triggers change notification if the property doesn't\n * already exist.\n */\nfunction set (target, key, val) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot set reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.length = Math.max(target.length, key);\n target.splice(key, 1, val);\n return val\n }\n if (key in target && !(key in Object.prototype)) {\n target[key] = val;\n return val\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid adding reactive properties to a Vue instance or its root $data ' +\n 'at runtime - declare it upfront in the data option.'\n );\n return val\n }\n if (!ob) {\n target[key] = val;\n return val\n }\n defineReactive$$1(ob.value, key, val);\n ob.dep.notify();\n return val\n}\n\n/**\n * Delete a property and trigger change if necessary.\n */\nfunction del (target, key) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot delete reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.splice(key, 1);\n return\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid deleting properties on a Vue instance or its root $data ' +\n '- just set it to null.'\n );\n return\n }\n if (!hasOwn(target, key)) {\n return\n }\n delete target[key];\n if (!ob) {\n return\n }\n ob.dep.notify();\n}\n\n/**\n * Collect dependencies on array elements when the array is touched, since\n * we cannot intercept array element access like property getters.\n */\nfunction dependArray (value) {\n for (var e = (void 0), i = 0, l = value.length; i < l; i++) {\n e = value[i];\n e && e.__ob__ && e.__ob__.dep.depend();\n if (Array.isArray(e)) {\n dependArray(e);\n }\n }\n}\n\n/* */\n\n/**\n * Option overwriting strategies are functions that handle\n * how to merge a parent option value and a child option\n * value into the final value.\n */\nvar strats = config.optionMergeStrategies;\n\n/**\n * Options with restrictions\n */\nif (process.env.NODE_ENV !== 'production') {\n strats.el = strats.propsData = function (parent, child, vm, key) {\n if (!vm) {\n warn(\n \"option \\\"\" + key + \"\\\" can only be used during instance \" +\n 'creation with the `new` keyword.'\n );\n }\n return defaultStrat(parent, child)\n };\n}\n\n/**\n * Helper that recursively merges two data objects together.\n */\nfunction mergeData (to, from) {\n if (!from) { return to }\n var key, toVal, fromVal;\n\n var keys = hasSymbol\n ? Reflect.ownKeys(from)\n : Object.keys(from);\n\n for (var i = 0; i < keys.length; i++) {\n key = keys[i];\n // in case the object is already observed...\n if (key === '__ob__') { continue }\n toVal = to[key];\n fromVal = from[key];\n if (!hasOwn(to, key)) {\n set(to, key, fromVal);\n } else if (\n toVal !== fromVal &&\n isPlainObject(toVal) &&\n isPlainObject(fromVal)\n ) {\n mergeData(toVal, fromVal);\n }\n }\n return to\n}\n\n/**\n * Data\n */\nfunction mergeDataOrFn (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n // in a Vue.extend merge, both should be functions\n if (!childVal) {\n return parentVal\n }\n if (!parentVal) {\n return childVal\n }\n // when parentVal & childVal are both present,\n // we need to return a function that returns the\n // merged result of both functions... no need to\n // check if parentVal is a function here because\n // it has to be a function to pass previous merges.\n return function mergedDataFn () {\n return mergeData(\n typeof childVal === 'function' ? childVal.call(this, this) : childVal,\n typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal\n )\n }\n } else {\n return function mergedInstanceDataFn () {\n // instance merge\n var instanceData = typeof childVal === 'function'\n ? childVal.call(vm, vm)\n : childVal;\n var defaultData = typeof parentVal === 'function'\n ? parentVal.call(vm, vm)\n : parentVal;\n if (instanceData) {\n return mergeData(instanceData, defaultData)\n } else {\n return defaultData\n }\n }\n }\n}\n\nstrats.data = function (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n if (childVal && typeof childVal !== 'function') {\n process.env.NODE_ENV !== 'production' && warn(\n 'The \"data\" option should be a function ' +\n 'that returns a per-instance value in component ' +\n 'definitions.',\n vm\n );\n\n return parentVal\n }\n return mergeDataOrFn(parentVal, childVal)\n }\n\n return mergeDataOrFn(parentVal, childVal, vm)\n};\n\n/**\n * Hooks and props are merged as arrays.\n */\nfunction mergeHook (\n parentVal,\n childVal\n) {\n var res = childVal\n ? parentVal\n ? parentVal.concat(childVal)\n : Array.isArray(childVal)\n ? childVal\n : [childVal]\n : parentVal;\n return res\n ? dedupeHooks(res)\n : res\n}\n\nfunction dedupeHooks (hooks) {\n var res = [];\n for (var i = 0; i < hooks.length; i++) {\n if (res.indexOf(hooks[i]) === -1) {\n res.push(hooks[i]);\n }\n }\n return res\n}\n\nLIFECYCLE_HOOKS.forEach(function (hook) {\n strats[hook] = mergeHook;\n});\n\n/**\n * Assets\n *\n * When a vm is present (instance creation), we need to do\n * a three-way merge between constructor options, instance\n * options and parent options.\n */\nfunction mergeAssets (\n parentVal,\n childVal,\n vm,\n key\n) {\n var res = Object.create(parentVal || null);\n if (childVal) {\n process.env.NODE_ENV !== 'production' && assertObjectType(key, childVal, vm);\n return extend(res, childVal)\n } else {\n return res\n }\n}\n\nASSET_TYPES.forEach(function (type) {\n strats[type + 's'] = mergeAssets;\n});\n\n/**\n * Watchers.\n *\n * Watchers hashes should not overwrite one\n * another, so we merge them as arrays.\n */\nstrats.watch = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n // work around Firefox's Object.prototype.watch...\n if (parentVal === nativeWatch) { parentVal = undefined; }\n if (childVal === nativeWatch) { childVal = undefined; }\n /* istanbul ignore if */\n if (!childVal) { return Object.create(parentVal || null) }\n if (process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = {};\n extend(ret, parentVal);\n for (var key$1 in childVal) {\n var parent = ret[key$1];\n var child = childVal[key$1];\n if (parent && !Array.isArray(parent)) {\n parent = [parent];\n }\n ret[key$1] = parent\n ? parent.concat(child)\n : Array.isArray(child) ? child : [child];\n }\n return ret\n};\n\n/**\n * Other object hashes.\n */\nstrats.props =\nstrats.methods =\nstrats.inject =\nstrats.computed = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n if (childVal && process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = Object.create(null);\n extend(ret, parentVal);\n if (childVal) { extend(ret, childVal); }\n return ret\n};\nstrats.provide = mergeDataOrFn;\n\n/**\n * Default strategy.\n */\nvar defaultStrat = function (parentVal, childVal) {\n return childVal === undefined\n ? parentVal\n : childVal\n};\n\n/**\n * Validate component names\n */\nfunction checkComponents (options) {\n for (var key in options.components) {\n validateComponentName(key);\n }\n}\n\nfunction validateComponentName (name) {\n if (!new RegExp((\"^[a-zA-Z][\\\\-\\\\.0-9_\" + (unicodeRegExp.source) + \"]*$\")).test(name)) {\n warn(\n 'Invalid component name: \"' + name + '\". Component names ' +\n 'should conform to valid custom element name in html5 specification.'\n );\n }\n if (isBuiltInTag(name) || config.isReservedTag(name)) {\n warn(\n 'Do not use built-in or reserved HTML elements as component ' +\n 'id: ' + name\n );\n }\n}\n\n/**\n * Ensure all props option syntax are normalized into the\n * Object-based format.\n */\nfunction normalizeProps (options, vm) {\n var props = options.props;\n if (!props) { return }\n var res = {};\n var i, val, name;\n if (Array.isArray(props)) {\n i = props.length;\n while (i--) {\n val = props[i];\n if (typeof val === 'string') {\n name = camelize(val);\n res[name] = { type: null };\n } else if (process.env.NODE_ENV !== 'production') {\n warn('props must be strings when using array syntax.');\n }\n }\n } else if (isPlainObject(props)) {\n for (var key in props) {\n val = props[key];\n name = camelize(key);\n res[name] = isPlainObject(val)\n ? val\n : { type: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"props\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(props)) + \".\",\n vm\n );\n }\n options.props = res;\n}\n\n/**\n * Normalize all injections into Object-based format\n */\nfunction normalizeInject (options, vm) {\n var inject = options.inject;\n if (!inject) { return }\n var normalized = options.inject = {};\n if (Array.isArray(inject)) {\n for (var i = 0; i < inject.length; i++) {\n normalized[inject[i]] = { from: inject[i] };\n }\n } else if (isPlainObject(inject)) {\n for (var key in inject) {\n var val = inject[key];\n normalized[key] = isPlainObject(val)\n ? extend({ from: key }, val)\n : { from: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"inject\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(inject)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Normalize raw function directives into object format.\n */\nfunction normalizeDirectives (options) {\n var dirs = options.directives;\n if (dirs) {\n for (var key in dirs) {\n var def$$1 = dirs[key];\n if (typeof def$$1 === 'function') {\n dirs[key] = { bind: def$$1, update: def$$1 };\n }\n }\n }\n}\n\nfunction assertObjectType (name, value, vm) {\n if (!isPlainObject(value)) {\n warn(\n \"Invalid value for option \\\"\" + name + \"\\\": expected an Object, \" +\n \"but got \" + (toRawType(value)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Merge two option objects into a new one.\n * Core utility used in both instantiation and inheritance.\n */\nfunction mergeOptions (\n parent,\n child,\n vm\n) {\n if (process.env.NODE_ENV !== 'production') {\n checkComponents(child);\n }\n\n if (typeof child === 'function') {\n child = child.options;\n }\n\n normalizeProps(child, vm);\n normalizeInject(child, vm);\n normalizeDirectives(child);\n\n // Apply extends and mixins on the child options,\n // but only if it is a raw options object that isn't\n // the result of another mergeOptions call.\n // Only merged options has the _base property.\n if (!child._base) {\n if (child.extends) {\n parent = mergeOptions(parent, child.extends, vm);\n }\n if (child.mixins) {\n for (var i = 0, l = child.mixins.length; i < l; i++) {\n parent = mergeOptions(parent, child.mixins[i], vm);\n }\n }\n }\n\n var options = {};\n var key;\n for (key in parent) {\n mergeField(key);\n }\n for (key in child) {\n if (!hasOwn(parent, key)) {\n mergeField(key);\n }\n }\n function mergeField (key) {\n var strat = strats[key] || defaultStrat;\n options[key] = strat(parent[key], child[key], vm, key);\n }\n return options\n}\n\n/**\n * Resolve an asset.\n * This function is used because child instances need access\n * to assets defined in its ancestor chain.\n */\nfunction resolveAsset (\n options,\n type,\n id,\n warnMissing\n) {\n /* istanbul ignore if */\n if (typeof id !== 'string') {\n return\n }\n var assets = options[type];\n // check local registration variations first\n if (hasOwn(assets, id)) { return assets[id] }\n var camelizedId = camelize(id);\n if (hasOwn(assets, camelizedId)) { return assets[camelizedId] }\n var PascalCaseId = capitalize(camelizedId);\n if (hasOwn(assets, PascalCaseId)) { return assets[PascalCaseId] }\n // fallback to prototype chain\n var res = assets[id] || assets[camelizedId] || assets[PascalCaseId];\n if (process.env.NODE_ENV !== 'production' && warnMissing && !res) {\n warn(\n 'Failed to resolve ' + type.slice(0, -1) + ': ' + id,\n options\n );\n }\n return res\n}\n\n/* */\n\n\n\nfunction validateProp (\n key,\n propOptions,\n propsData,\n vm\n) {\n var prop = propOptions[key];\n var absent = !hasOwn(propsData, key);\n var value = propsData[key];\n // boolean casting\n var booleanIndex = getTypeIndex(Boolean, prop.type);\n if (booleanIndex > -1) {\n if (absent && !hasOwn(prop, 'default')) {\n value = false;\n } else if (value === '' || value === hyphenate(key)) {\n // only cast empty string / same name to boolean if\n // boolean has higher priority\n var stringIndex = getTypeIndex(String, prop.type);\n if (stringIndex < 0 || booleanIndex < stringIndex) {\n value = true;\n }\n }\n }\n // check default value\n if (value === undefined) {\n value = getPropDefaultValue(vm, prop, key);\n // since the default value is a fresh copy,\n // make sure to observe it.\n var prevShouldObserve = shouldObserve;\n toggleObserving(true);\n observe(value);\n toggleObserving(prevShouldObserve);\n }\n if (\n process.env.NODE_ENV !== 'production' &&\n // skip validation for weex recycle-list child component props\n !(false)\n ) {\n assertProp(prop, key, value, vm, absent);\n }\n return value\n}\n\n/**\n * Get the default value of a prop.\n */\nfunction getPropDefaultValue (vm, prop, key) {\n // no default, return undefined\n if (!hasOwn(prop, 'default')) {\n return undefined\n }\n var def = prop.default;\n // warn against non-factory defaults for Object & Array\n if (process.env.NODE_ENV !== 'production' && isObject(def)) {\n warn(\n 'Invalid default value for prop \"' + key + '\": ' +\n 'Props with type Object/Array must use a factory function ' +\n 'to return the default value.',\n vm\n );\n }\n // the raw prop value was also undefined from previous render,\n // return previous default value to avoid unnecessary watcher trigger\n if (vm && vm.$options.propsData &&\n vm.$options.propsData[key] === undefined &&\n vm._props[key] !== undefined\n ) {\n return vm._props[key]\n }\n // call factory function for non-Function types\n // a value is Function if its prototype is function even across different execution context\n return typeof def === 'function' && getType(prop.type) !== 'Function'\n ? def.call(vm)\n : def\n}\n\n/**\n * Assert whether a prop is valid.\n */\nfunction assertProp (\n prop,\n name,\n value,\n vm,\n absent\n) {\n if (prop.required && absent) {\n warn(\n 'Missing required prop: \"' + name + '\"',\n vm\n );\n return\n }\n if (value == null && !prop.required) {\n return\n }\n var type = prop.type;\n var valid = !type || type === true;\n var expectedTypes = [];\n if (type) {\n if (!Array.isArray(type)) {\n type = [type];\n }\n for (var i = 0; i < type.length && !valid; i++) {\n var assertedType = assertType(value, type[i]);\n expectedTypes.push(assertedType.expectedType || '');\n valid = assertedType.valid;\n }\n }\n\n if (!valid) {\n warn(\n getInvalidTypeMessage(name, value, expectedTypes),\n vm\n );\n return\n }\n var validator = prop.validator;\n if (validator) {\n if (!validator(value)) {\n warn(\n 'Invalid prop: custom validator check failed for prop \"' + name + '\".',\n vm\n );\n }\n }\n}\n\nvar simpleCheckRE = /^(String|Number|Boolean|Function|Symbol)$/;\n\nfunction assertType (value, type) {\n var valid;\n var expectedType = getType(type);\n if (simpleCheckRE.test(expectedType)) {\n var t = typeof value;\n valid = t === expectedType.toLowerCase();\n // for primitive wrapper objects\n if (!valid && t === 'object') {\n valid = value instanceof type;\n }\n } else if (expectedType === 'Object') {\n valid = isPlainObject(value);\n } else if (expectedType === 'Array') {\n valid = Array.isArray(value);\n } else {\n valid = value instanceof type;\n }\n return {\n valid: valid,\n expectedType: expectedType\n }\n}\n\n/**\n * Use function string name to check built-in types,\n * because a simple equality check will fail when running\n * across different vms / iframes.\n */\nfunction getType (fn) {\n var match = fn && fn.toString().match(/^\\s*function (\\w+)/);\n return match ? match[1] : ''\n}\n\nfunction isSameType (a, b) {\n return getType(a) === getType(b)\n}\n\nfunction getTypeIndex (type, expectedTypes) {\n if (!Array.isArray(expectedTypes)) {\n return isSameType(expectedTypes, type) ? 0 : -1\n }\n for (var i = 0, len = expectedTypes.length; i < len; i++) {\n if (isSameType(expectedTypes[i], type)) {\n return i\n }\n }\n return -1\n}\n\nfunction getInvalidTypeMessage (name, value, expectedTypes) {\n var message = \"Invalid prop: type check failed for prop \\\"\" + name + \"\\\".\" +\n \" Expected \" + (expectedTypes.map(capitalize).join(', '));\n var expectedType = expectedTypes[0];\n var receivedType = toRawType(value);\n var expectedValue = styleValue(value, expectedType);\n var receivedValue = styleValue(value, receivedType);\n // check if we need to specify expected value\n if (expectedTypes.length === 1 &&\n isExplicable(expectedType) &&\n !isBoolean(expectedType, receivedType)) {\n message += \" with value \" + expectedValue;\n }\n message += \", got \" + receivedType + \" \";\n // check if we need to specify received value\n if (isExplicable(receivedType)) {\n message += \"with value \" + receivedValue + \".\";\n }\n return message\n}\n\nfunction styleValue (value, type) {\n if (type === 'String') {\n return (\"\\\"\" + value + \"\\\"\")\n } else if (type === 'Number') {\n return (\"\" + (Number(value)))\n } else {\n return (\"\" + value)\n }\n}\n\nfunction isExplicable (value) {\n var explicitTypes = ['string', 'number', 'boolean'];\n return explicitTypes.some(function (elem) { return value.toLowerCase() === elem; })\n}\n\nfunction isBoolean () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return args.some(function (elem) { return elem.toLowerCase() === 'boolean'; })\n}\n\n/* */\n\nfunction handleError (err, vm, info) {\n // Deactivate deps tracking while processing error handler to avoid possible infinite rendering.\n // See: https://github.com/vuejs/vuex/issues/1505\n pushTarget();\n try {\n if (vm) {\n var cur = vm;\n while ((cur = cur.$parent)) {\n var hooks = cur.$options.errorCaptured;\n if (hooks) {\n for (var i = 0; i < hooks.length; i++) {\n try {\n var capture = hooks[i].call(cur, err, vm, info) === false;\n if (capture) { return }\n } catch (e) {\n globalHandleError(e, cur, 'errorCaptured hook');\n }\n }\n }\n }\n }\n globalHandleError(err, vm, info);\n } finally {\n popTarget();\n }\n}\n\nfunction invokeWithErrorHandling (\n handler,\n context,\n args,\n vm,\n info\n) {\n var res;\n try {\n res = args ? handler.apply(context, args) : handler.call(context);\n if (res && !res._isVue && isPromise(res) && !res._handled) {\n res.catch(function (e) { return handleError(e, vm, info + \" (Promise/async)\"); });\n // issue #9511\n // avoid catch triggering multiple times when nested calls\n res._handled = true;\n }\n } catch (e) {\n handleError(e, vm, info);\n }\n return res\n}\n\nfunction globalHandleError (err, vm, info) {\n if (config.errorHandler) {\n try {\n return config.errorHandler.call(null, err, vm, info)\n } catch (e) {\n // if the user intentionally throws the original error in the handler,\n // do not log it twice\n if (e !== err) {\n logError(e, null, 'config.errorHandler');\n }\n }\n }\n logError(err, vm, info);\n}\n\nfunction logError (err, vm, info) {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Error in \" + info + \": \\\"\" + (err.toString()) + \"\\\"\"), vm);\n }\n /* istanbul ignore else */\n if ((inBrowser || inWeex) && typeof console !== 'undefined') {\n console.error(err);\n } else {\n throw err\n }\n}\n\n/* */\n\nvar isUsingMicroTask = false;\n\nvar callbacks = [];\nvar pending = false;\n\nfunction flushCallbacks () {\n pending = false;\n var copies = callbacks.slice(0);\n callbacks.length = 0;\n for (var i = 0; i < copies.length; i++) {\n copies[i]();\n }\n}\n\n// Here we have async deferring wrappers using microtasks.\n// In 2.5 we used (macro) tasks (in combination with microtasks).\n// However, it has subtle problems when state is changed right before repaint\n// (e.g. #6813, out-in transitions).\n// Also, using (macro) tasks in event handler would cause some weird behaviors\n// that cannot be circumvented (e.g. #7109, #7153, #7546, #7834, #8109).\n// So we now use microtasks everywhere, again.\n// A major drawback of this tradeoff is that there are some scenarios\n// where microtasks have too high a priority and fire in between supposedly\n// sequential events (e.g. #4521, #6690, which have workarounds)\n// or even between bubbling of the same event (#6566).\nvar timerFunc;\n\n// The nextTick behavior leverages the microtask queue, which can be accessed\n// via either native Promise.then or MutationObserver.\n// MutationObserver has wider support, however it is seriously bugged in\n// UIWebView in iOS >= 9.3.3 when triggered in touch event handlers. It\n// completely stops working after triggering a few times... so, if native\n// Promise is available, we will use it:\n/* istanbul ignore next, $flow-disable-line */\nif (typeof Promise !== 'undefined' && isNative(Promise)) {\n var p = Promise.resolve();\n timerFunc = function () {\n p.then(flushCallbacks);\n // In problematic UIWebViews, Promise.then doesn't completely break, but\n // it can get stuck in a weird state where callbacks are pushed into the\n // microtask queue but the queue isn't being flushed, until the browser\n // needs to do some other work, e.g. handle a timer. Therefore we can\n // \"force\" the microtask queue to be flushed by adding an empty timer.\n if (isIOS) { setTimeout(noop); }\n };\n isUsingMicroTask = true;\n} else if (!isIE && typeof MutationObserver !== 'undefined' && (\n isNative(MutationObserver) ||\n // PhantomJS and iOS 7.x\n MutationObserver.toString() === '[object MutationObserverConstructor]'\n)) {\n // Use MutationObserver where native Promise is not available,\n // e.g. PhantomJS, iOS7, Android 4.4\n // (#6466 MutationObserver is unreliable in IE11)\n var counter = 1;\n var observer = new MutationObserver(flushCallbacks);\n var textNode = document.createTextNode(String(counter));\n observer.observe(textNode, {\n characterData: true\n });\n timerFunc = function () {\n counter = (counter + 1) % 2;\n textNode.data = String(counter);\n };\n isUsingMicroTask = true;\n} else if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) {\n // Fallback to setImmediate.\n // Technically it leverages the (macro) task queue,\n // but it is still a better choice than setTimeout.\n timerFunc = function () {\n setImmediate(flushCallbacks);\n };\n} else {\n // Fallback to setTimeout.\n timerFunc = function () {\n setTimeout(flushCallbacks, 0);\n };\n}\n\nfunction nextTick (cb, ctx) {\n var _resolve;\n callbacks.push(function () {\n if (cb) {\n try {\n cb.call(ctx);\n } catch (e) {\n handleError(e, ctx, 'nextTick');\n }\n } else if (_resolve) {\n _resolve(ctx);\n }\n });\n if (!pending) {\n pending = true;\n timerFunc();\n }\n // $flow-disable-line\n if (!cb && typeof Promise !== 'undefined') {\n return new Promise(function (resolve) {\n _resolve = resolve;\n })\n }\n}\n\n/* */\n\n/* not type checking this file because flow doesn't play well with Proxy */\n\nvar initProxy;\n\nif (process.env.NODE_ENV !== 'production') {\n var allowedGlobals = makeMap(\n 'Infinity,undefined,NaN,isFinite,isNaN,' +\n 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' +\n 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,' +\n 'require' // for Webpack/Browserify\n );\n\n var warnNonPresent = function (target, key) {\n warn(\n \"Property or method \\\"\" + key + \"\\\" is not defined on the instance but \" +\n 'referenced during render. Make sure that this property is reactive, ' +\n 'either in the data option, or for class-based components, by ' +\n 'initializing the property. ' +\n 'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.',\n target\n );\n };\n\n var warnReservedPrefix = function (target, key) {\n warn(\n \"Property \\\"\" + key + \"\\\" must be accessed with \\\"$data.\" + key + \"\\\" because \" +\n 'properties starting with \"$\" or \"_\" are not proxied in the Vue instance to ' +\n 'prevent conflicts with Vue internals. ' +\n 'See: https://vuejs.org/v2/api/#data',\n target\n );\n };\n\n var hasProxy =\n typeof Proxy !== 'undefined' && isNative(Proxy);\n\n if (hasProxy) {\n var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact');\n config.keyCodes = new Proxy(config.keyCodes, {\n set: function set (target, key, value) {\n if (isBuiltInModifier(key)) {\n warn((\"Avoid overwriting built-in modifier in config.keyCodes: .\" + key));\n return false\n } else {\n target[key] = value;\n return true\n }\n }\n });\n }\n\n var hasHandler = {\n has: function has (target, key) {\n var has = key in target;\n var isAllowed = allowedGlobals(key) ||\n (typeof key === 'string' && key.charAt(0) === '_' && !(key in target.$data));\n if (!has && !isAllowed) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return has || !isAllowed\n }\n };\n\n var getHandler = {\n get: function get (target, key) {\n if (typeof key === 'string' && !(key in target)) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return target[key]\n }\n };\n\n initProxy = function initProxy (vm) {\n if (hasProxy) {\n // determine which proxy handler to use\n var options = vm.$options;\n var handlers = options.render && options.render._withStripped\n ? getHandler\n : hasHandler;\n vm._renderProxy = new Proxy(vm, handlers);\n } else {\n vm._renderProxy = vm;\n }\n };\n}\n\n/* */\n\nvar seenObjects = new _Set();\n\n/**\n * Recursively traverse an object to evoke all converted\n * getters, so that every nested property inside the object\n * is collected as a \"deep\" dependency.\n */\nfunction traverse (val) {\n _traverse(val, seenObjects);\n seenObjects.clear();\n}\n\nfunction _traverse (val, seen) {\n var i, keys;\n var isA = Array.isArray(val);\n if ((!isA && !isObject(val)) || Object.isFrozen(val) || val instanceof VNode) {\n return\n }\n if (val.__ob__) {\n var depId = val.__ob__.dep.id;\n if (seen.has(depId)) {\n return\n }\n seen.add(depId);\n }\n if (isA) {\n i = val.length;\n while (i--) { _traverse(val[i], seen); }\n } else {\n keys = Object.keys(val);\n i = keys.length;\n while (i--) { _traverse(val[keys[i]], seen); }\n }\n}\n\nvar mark;\nvar measure;\n\nif (process.env.NODE_ENV !== 'production') {\n var perf = inBrowser && window.performance;\n /* istanbul ignore if */\n if (\n perf &&\n perf.mark &&\n perf.measure &&\n perf.clearMarks &&\n perf.clearMeasures\n ) {\n mark = function (tag) { return perf.mark(tag); };\n measure = function (name, startTag, endTag) {\n perf.measure(name, startTag, endTag);\n perf.clearMarks(startTag);\n perf.clearMarks(endTag);\n // perf.clearMeasures(name)\n };\n }\n}\n\n/* */\n\nvar normalizeEvent = cached(function (name) {\n var passive = name.charAt(0) === '&';\n name = passive ? name.slice(1) : name;\n var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first\n name = once$$1 ? name.slice(1) : name;\n var capture = name.charAt(0) === '!';\n name = capture ? name.slice(1) : name;\n return {\n name: name,\n once: once$$1,\n capture: capture,\n passive: passive\n }\n});\n\nfunction createFnInvoker (fns, vm) {\n function invoker () {\n var arguments$1 = arguments;\n\n var fns = invoker.fns;\n if (Array.isArray(fns)) {\n var cloned = fns.slice();\n for (var i = 0; i < cloned.length; i++) {\n invokeWithErrorHandling(cloned[i], null, arguments$1, vm, \"v-on handler\");\n }\n } else {\n // return handler return value for single handlers\n return invokeWithErrorHandling(fns, null, arguments, vm, \"v-on handler\")\n }\n }\n invoker.fns = fns;\n return invoker\n}\n\nfunction updateListeners (\n on,\n oldOn,\n add,\n remove$$1,\n createOnceHandler,\n vm\n) {\n var name, def$$1, cur, old, event;\n for (name in on) {\n def$$1 = cur = on[name];\n old = oldOn[name];\n event = normalizeEvent(name);\n if (isUndef(cur)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Invalid handler for event \\\"\" + (event.name) + \"\\\": got \" + String(cur),\n vm\n );\n } else if (isUndef(old)) {\n if (isUndef(cur.fns)) {\n cur = on[name] = createFnInvoker(cur, vm);\n }\n if (isTrue(event.once)) {\n cur = on[name] = createOnceHandler(event.name, cur, event.capture);\n }\n add(event.name, cur, event.capture, event.passive, event.params);\n } else if (cur !== old) {\n old.fns = cur;\n on[name] = old;\n }\n }\n for (name in oldOn) {\n if (isUndef(on[name])) {\n event = normalizeEvent(name);\n remove$$1(event.name, oldOn[name], event.capture);\n }\n }\n}\n\n/* */\n\nfunction mergeVNodeHook (def, hookKey, hook) {\n if (def instanceof VNode) {\n def = def.data.hook || (def.data.hook = {});\n }\n var invoker;\n var oldHook = def[hookKey];\n\n function wrappedHook () {\n hook.apply(this, arguments);\n // important: remove merged hook to ensure it's called only once\n // and prevent memory leak\n remove(invoker.fns, wrappedHook);\n }\n\n if (isUndef(oldHook)) {\n // no existing hook\n invoker = createFnInvoker([wrappedHook]);\n } else {\n /* istanbul ignore if */\n if (isDef(oldHook.fns) && isTrue(oldHook.merged)) {\n // already a merged invoker\n invoker = oldHook;\n invoker.fns.push(wrappedHook);\n } else {\n // existing plain hook\n invoker = createFnInvoker([oldHook, wrappedHook]);\n }\n }\n\n invoker.merged = true;\n def[hookKey] = invoker;\n}\n\n/* */\n\nfunction extractPropsFromVNodeData (\n data,\n Ctor,\n tag\n) {\n // we are only extracting raw values here.\n // validation and default values are handled in the child\n // component itself.\n var propOptions = Ctor.options.props;\n if (isUndef(propOptions)) {\n return\n }\n var res = {};\n var attrs = data.attrs;\n var props = data.props;\n if (isDef(attrs) || isDef(props)) {\n for (var key in propOptions) {\n var altKey = hyphenate(key);\n if (process.env.NODE_ENV !== 'production') {\n var keyInLowerCase = key.toLowerCase();\n if (\n key !== keyInLowerCase &&\n attrs && hasOwn(attrs, keyInLowerCase)\n ) {\n tip(\n \"Prop \\\"\" + keyInLowerCase + \"\\\" is passed to component \" +\n (formatComponentName(tag || Ctor)) + \", but the declared prop name is\" +\n \" \\\"\" + key + \"\\\". \" +\n \"Note that HTML attributes are case-insensitive and camelCased \" +\n \"props need to use their kebab-case equivalents when using in-DOM \" +\n \"templates. You should probably use \\\"\" + altKey + \"\\\" instead of \\\"\" + key + \"\\\".\"\n );\n }\n }\n checkProp(res, props, key, altKey, true) ||\n checkProp(res, attrs, key, altKey, false);\n }\n }\n return res\n}\n\nfunction checkProp (\n res,\n hash,\n key,\n altKey,\n preserve\n) {\n if (isDef(hash)) {\n if (hasOwn(hash, key)) {\n res[key] = hash[key];\n if (!preserve) {\n delete hash[key];\n }\n return true\n } else if (hasOwn(hash, altKey)) {\n res[key] = hash[altKey];\n if (!preserve) {\n delete hash[altKey];\n }\n return true\n }\n }\n return false\n}\n\n/* */\n\n// The template compiler attempts to minimize the need for normalization by\n// statically analyzing the template at compile time.\n//\n// For plain HTML markup, normalization can be completely skipped because the\n// generated render function is guaranteed to return Array. There are\n// two cases where extra normalization is needed:\n\n// 1. When the children contains components - because a functional component\n// may return an Array instead of a single root. In this case, just a simple\n// normalization is needed - if any child is an Array, we flatten the whole\n// thing with Array.prototype.concat. It is guaranteed to be only 1-level deep\n// because functional components already normalize their own children.\nfunction simpleNormalizeChildren (children) {\n for (var i = 0; i < children.length; i++) {\n if (Array.isArray(children[i])) {\n return Array.prototype.concat.apply([], children)\n }\n }\n return children\n}\n\n// 2. When the children contains constructs that always generated nested Arrays,\n// e.g.