From ddcaf1850f96ca62098a890c018f7feb876b2da4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E4=B9=90?= Date: Fri, 8 Oct 2021 10:46:01 +0800 Subject: [PATCH 01/42] docs: remove duplicate content --- README.zh-CN.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.zh-CN.md b/README.zh-CN.md index 6c51af28e..416589ee4 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -23,7 +23,7 @@ Mermaid 通过减少创建可修改的图表所需要的时间、精力和工具 你可以访问 [教程](./docs/Tutorials.md) 来查看 Live Editor 的视频教程。 U也可以查看 [Mermaid 的集成和使用](./docs/integrations.md) 这个清单来检查你的文档工具是否已经集成了 Mermaid 支持。 -如果想要查看关于 Mermaid 更详细的介绍及基础使用方式,可以查看如果想要查看关于 Mermaid 更详细的介绍及基础使用方式,可以查看 [入门指引](./docs/n00b-overview.md) and [用法](./docs/usage.md). +如果想要查看关于 Mermaid 更详细的介绍及基础使用方式,可以查看 [入门指引](./docs/n00b-overview.md) and [用法](./docs/usage.md). 🌐 [CDN](https://unpkg.com/mermaid/) | 📖 [文档](https://mermaidjs.github.io) | 🙌 [贡献](https://github.com/mermaid-js/mermaid/blob/develop/CONTRIBUTING.md) | 📜 [更新日志](./docs/CHANGELOG.md) @@ -31,7 +31,7 @@ U也可以查看 [Mermaid 的集成和使用](./docs/integrations.md) 这个清 ## 示例 -__下面是一些使用 Mermaid 和类 Markdown 语法创建的图表示例。点击[语法](https://mermaid-js.github.io/mermaid/#/n00b-syntaxReference) 查看详情__ +__下面是一些使用 Mermaid 和类 Markdown 语法创建的图表示例。点击 [语法](https://mermaid-js.github.io/mermaid/#/n00b-syntaxReference) 查看详情__
From cd885e952c39122539444cc13dab76fd153c40bb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 11 Oct 2021 22:10:28 +0200 Subject: [PATCH 02/42] Bump @babel/eslint-parser from 7.15.7 to 7.15.8 (#2396) Bumps [@babel/eslint-parser](https://github.com/babel/babel/tree/HEAD/eslint/babel-eslint-parser) from 7.15.7 to 7.15.8. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v7.15.8/eslint/babel-eslint-parser) --- updated-dependencies: - dependency-name: "@babel/eslint-parser" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index dfeea9cb2..d7d0ea372 100644 --- a/yarn.lock +++ b/yarn.lock @@ -65,9 +65,9 @@ source-map "^0.5.0" "@babel/eslint-parser@^7.14.7": - version "7.15.7" - resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.15.7.tgz#2dc3d0ff0ea22bb1e08d93b4eeb1149bf1c75f2d" - integrity sha512-yJkHyomClm6A2Xzb8pdAo4HzYMSXFn1O5zrCYvbFP0yQFvHueLedV8WiEno8yJOKStjUXzBZzJFeWQ7b3YMsqQ== + version "7.15.8" + resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.15.8.tgz#8988660b59d739500b67d0585fd4daca218d9f11" + integrity sha512-fYP7QFngCvgxjUuw8O057SVH5jCXsbFFOoE77CFDcvzwBVgTOkMD/L4mIC5Ud1xf8chK/no2fRbSSn1wvNmKuQ== dependencies: eslint-scope "^5.1.1" eslint-visitor-keys "^2.1.0" From 00e716e0646fc18974648c0a894bae8f2dbd4701 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 11 Oct 2021 22:11:19 +0200 Subject: [PATCH 03/42] Bump concurrently from 6.2.2 to 6.3.0 (#2398) Bumps [concurrently](https://github.com/open-cli-tools/concurrently) from 6.2.2 to 6.3.0. - [Release notes](https://github.com/open-cli-tools/concurrently/releases) - [Commits](https://github.com/open-cli-tools/concurrently/compare/v6.2.2...v6.3.0) --- updated-dependencies: - dependency-name: concurrently dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index d7d0ea372..ba9f220a1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3254,9 +3254,9 @@ concat-stream@~1.5.0: typedarray "~0.0.5" concurrently@^6.2.2: - version "6.2.2" - resolved "https://registry.yarnpkg.com/concurrently/-/concurrently-6.2.2.tgz#81c11b85d9a7de56ad4388ff6aab4a94ddea51f2" - integrity sha512-7a45BjVakAl3pprLOeqaOoZfIWZRmdC68NkjyzPbKu0/pE6CRmqS3l8RG7Q2cX9LnRHkB0oPM6af8PS7NEQvYQ== + version "6.3.0" + resolved "https://registry.yarnpkg.com/concurrently/-/concurrently-6.3.0.tgz#63128cb4a6ed54d3c0ed8528728590a5fe54582a" + integrity sha512-k4k1jQGHHKsfbqzkUszVf29qECBrkvBKkcPJEUDTyVR7tZd1G/JOfnst4g1sYbFvJ4UjHZisj1aWQR8yLKpGPw== dependencies: chalk "^4.1.0" date-fns "^2.16.1" From eb5b6966e515612a3e902942e0b6c92c2a688973 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 11 Oct 2021 22:11:34 +0200 Subject: [PATCH 04/42] Bump cypress from 8.5.0 to 8.6.0 (#2400) Bumps [cypress](https://github.com/cypress-io/cypress) from 8.5.0 to 8.6.0. - [Release notes](https://github.com/cypress-io/cypress/releases) - [Changelog](https://github.com/cypress-io/cypress/blob/develop/.releaserc.base.js) - [Commits](https://github.com/cypress-io/cypress/compare/v8.5.0...v8.6.0) --- updated-dependencies: - dependency-name: cypress dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index e86680316..dbc2e1755 100644 --- a/package.json +++ b/package.json @@ -78,7 +78,7 @@ "concurrently": "^6.2.2", "coveralls": "^3.0.2", "css-to-string-loader": "^0.1.3", - "cypress": "8.5.0", + "cypress": "8.6.0", "documentation": "13.2.0", "eslint": "^7.30.0", "eslint-config-prettier": "^8.3.0", diff --git a/yarn.lock b/yarn.lock index ba9f220a1..e76e5bfd8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3557,10 +3557,10 @@ cssstyle@^2.3.0: dependencies: cssom "~0.3.6" -cypress@8.5.0: - version "8.5.0" - resolved "https://registry.yarnpkg.com/cypress/-/cypress-8.5.0.tgz#5712ca170913f8344bf167301205c4217c1eb9bd" - integrity sha512-MMkXIS+Ro2KETn4gAlG3tIc/7FiljuuCZP0zpd9QsRG6MZSyZW/l1J3D4iQM6WHsVxuX4rFChn5jPFlC2tNSvQ== +cypress@8.6.0: + version "8.6.0" + resolved "https://registry.yarnpkg.com/cypress/-/cypress-8.6.0.tgz#8d02fa58878b37cfc45bbfce393aa974fa8a8e22" + integrity sha512-F7qEK/6Go5FsqTueR+0wEw2vOVKNgk5847Mys8vsWkzPoEKdxs+7N9Y1dit+zhaZCLtMPyrMwjfA53ZFy+lSww== dependencies: "@cypress/request" "^2.88.6" "@cypress/xvfb" "^1.2.4" From ea4a49d50e79f356235e83bab1735e6e221f2fdc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 11 Oct 2021 22:11:49 +0200 Subject: [PATCH 05/42] Bump webpack-cli from 4.8.0 to 4.9.0 (#2397) Bumps [webpack-cli](https://github.com/webpack/webpack-cli) from 4.8.0 to 4.9.0. - [Release notes](https://github.com/webpack/webpack-cli/releases) - [Changelog](https://github.com/webpack/webpack-cli/blob/master/CHANGELOG.md) - [Commits](https://github.com/webpack/webpack-cli/compare/webpack-cli@4.8.0...webpack-cli@4.9.0) --- updated-dependencies: - dependency-name: webpack-cli dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- yarn.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/yarn.lock b/yarn.lock index e76e5bfd8..8acf7b34b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2117,22 +2117,22 @@ "@webassemblyjs/ast" "1.11.1" "@xtuc/long" "4.2.2" -"@webpack-cli/configtest@^1.0.4": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-1.0.4.tgz#f03ce6311c0883a83d04569e2c03c6238316d2aa" - integrity sha512-cs3XLy+UcxiP6bj0A6u7MLLuwdXJ1c3Dtc0RkKg+wiI1g/Ti1om8+/2hc2A2B60NbBNAbMgyBMHvyymWm/j4wQ== +"@webpack-cli/configtest@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-1.1.0.tgz#8342bef0badfb7dfd3b576f2574ab80c725be043" + integrity sha512-ttOkEkoalEHa7RaFYpM0ErK1xc4twg3Am9hfHhL7MVqlHebnkYd2wuI/ZqTDj0cVzZho6PdinY0phFZV3O0Mzg== -"@webpack-cli/info@^1.3.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.3.0.tgz#9d78a31101a960997a4acd41ffd9b9300627fe2b" - integrity sha512-ASiVB3t9LOKHs5DyVUcxpraBXDOKubYu/ihHhU+t1UPpxsivg6Od2E2qU4gJCekfEddzRBzHhzA/Acyw/mlK/w== +"@webpack-cli/info@^1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.4.0.tgz#b9179c3227ab09cbbb149aa733475fcf99430223" + integrity sha512-F6b+Man0rwE4n0409FyAJHStYA5OIZERxmnUfLVwv0mc0V1wLad3V7jqRlMkgKBeAq07jUvglacNaa6g9lOpuw== dependencies: envinfo "^7.7.3" -"@webpack-cli/serve@^1.5.2": - version "1.5.2" - resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.5.2.tgz#ea584b637ff63c5a477f6f21604b5a205b72c9ec" - integrity sha512-vgJ5OLWadI8aKjDlOH3rb+dYyPd2GTZuQC/Tihjct6F9GpXGZINo3Y/IVuZVTM1eDQB+/AOsjPUWH/WySDaXvw== +"@webpack-cli/serve@^1.6.0": + version "1.6.0" + resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.6.0.tgz#2c275aa05c895eccebbfc34cfb223c6e8bd591a2" + integrity sha512-ZkVeqEmRpBV2GHvjjUZqEai2PpUbuq8Bqd//vEYsp63J8WyexI8ppCqVS3Zs0QADf6aWuPdU+0XsPI647PVlQA== "@xtuc/ieee754@^1.2.0": version "1.2.0" @@ -3129,15 +3129,15 @@ color-name@~1.1.4: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== -colorette@^1.2.1, colorette@^1.2.2, colorette@^1.3.0: +colorette@^1.2.2, colorette@^1.3.0: version "1.4.0" resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.4.0.tgz#5190fbb87276259a86ad700bff2c6d6faa3fca40" integrity sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g== -colorette@^2.0.10: - version "2.0.12" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.12.tgz#7938ab254e7bb1bba29b0fd1b4cc168889ca4d74" - integrity sha512-lHID0PU+NtFzeNCwTL6JzUKdb6kDpyEjrwTD1H0cDZswTbsjLh2wTV2Eo2sNZLc0oSg0a5W1AI4Nj7bX4iIdjA== +colorette@^2.0.10, colorette@^2.0.14: + version "2.0.16" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.16.tgz#713b9af84fdb000139f04546bd4a93f62a5085da" + integrity sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g== colors@0.5.x: version "0.5.1" @@ -10479,15 +10479,15 @@ webidl-conversions@^6.1.0: integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== webpack-cli@^4.7.2: - version "4.8.0" - resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.8.0.tgz#5fc3c8b9401d3c8a43e2afceacfa8261962338d1" - integrity sha512-+iBSWsX16uVna5aAYN6/wjhJy1q/GKk4KjKvfg90/6hykCTSgozbfz5iRgDTSJt/LgSbYxdBX3KBHeobIs+ZEw== + version "4.9.0" + resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.9.0.tgz#dc43e6e0f80dd52e89cbf73d5294bcd7ad6eb343" + integrity sha512-n/jZZBMzVEl4PYIBs+auy2WI0WTQ74EnJDiyD98O2JZY6IVIHJNitkYp/uTXOviIOMfgzrNvC9foKv/8o8KSZw== dependencies: "@discoveryjs/json-ext" "^0.5.0" - "@webpack-cli/configtest" "^1.0.4" - "@webpack-cli/info" "^1.3.0" - "@webpack-cli/serve" "^1.5.2" - colorette "^1.2.1" + "@webpack-cli/configtest" "^1.1.0" + "@webpack-cli/info" "^1.4.0" + "@webpack-cli/serve" "^1.6.0" + colorette "^2.0.14" commander "^7.0.0" execa "^5.0.0" fastest-levenshtein "^1.0.12" From 7d876ea9f2b3d439872b0e140e46d345345c8d39 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 11 Oct 2021 22:16:29 +0200 Subject: [PATCH 06/42] Bump andymckay/labeler from 1.0.3 to 1.0.4 (#2401) Bumps [andymckay/labeler](https://github.com/andymckay/labeler) from 1.0.3 to 1.0.4. - [Release notes](https://github.com/andymckay/labeler/releases) - [Commits](https://github.com/andymckay/labeler/compare/1.0.3...1.0.4) --- updated-dependencies: - dependency-name: andymckay/labeler dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/issue-triage.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/issue-triage.yml b/.github/workflows/issue-triage.yml index 46cbd91b8..3dbcf94b0 100644 --- a/.github/workflows/issue-triage.yml +++ b/.github/workflows/issue-triage.yml @@ -8,7 +8,7 @@ jobs: triage: runs-on: ubuntu-latest steps: - - uses: andymckay/labeler@1.0.3 + - uses: andymckay/labeler@1.0.4 with: repo-token: "${{ secrets.GITHUB_TOKEN }}" add-labels: "Status: Triage" From aa0e84c3c3d18b1102eff26496a5175ad3ead3e7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 11 Oct 2021 22:23:37 +0200 Subject: [PATCH 07/42] Bump @babel/core from 7.15.5 to 7.15.8 (#2402) Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.15.5 to 7.15.8. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v7.15.8/packages/babel-core) --- updated-dependencies: - dependency-name: "@babel/core" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- yarn.lock | 59 ++++++++++++++++++++++++++++++------------------------- 1 file changed, 32 insertions(+), 27 deletions(-) diff --git a/yarn.lock b/yarn.lock index 8acf7b34b..e216bd279 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9,10 +9,10 @@ dependencies: "@babel/highlight" "^7.10.4" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.14.5.tgz#23b08d740e83f49c5e59945fbf1b43e80bbf4edb" - integrity sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw== +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.14.5", "@babel/code-frame@^7.15.8": + version "7.15.8" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.15.8.tgz#45990c47adadb00c03677baa89221f7cc23d2503" + integrity sha512-2IAnmn8zbvC/jKYhq5Ki9I+DwjlrtMPUCH/CpHvqI4dNnlwHwsxoIhlc8WcYY5LSYknXQtAlFYuHfqAFCvQ4Wg== dependencies: "@babel/highlight" "^7.14.5" @@ -44,19 +44,19 @@ source-map "^0.5.0" "@babel/core@^7.1.0", "@babel/core@^7.14.6", "@babel/core@^7.7.2", "@babel/core@^7.7.5": - version "7.15.5" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.15.5.tgz#f8ed9ace730722544609f90c9bb49162dc3bf5b9" - integrity sha512-pYgXxiwAgQpgM1bNkZsDEq85f0ggXMA5L7c+o3tskGMh2BunCI9QUwB9Z4jpvXUOuMdyGKiGKQiRe11VS6Jzvg== + version "7.15.8" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.15.8.tgz#195b9f2bffe995d2c6c159e72fe525b4114e8c10" + integrity sha512-3UG9dsxvYBMYwRv+gS41WKHno4K60/9GPy1CJaH6xy3Elq8CTtvtjT5R5jmNhXfCYLX2mTw+7/aq5ak/gOE0og== dependencies: - "@babel/code-frame" "^7.14.5" - "@babel/generator" "^7.15.4" + "@babel/code-frame" "^7.15.8" + "@babel/generator" "^7.15.8" "@babel/helper-compilation-targets" "^7.15.4" - "@babel/helper-module-transforms" "^7.15.4" + "@babel/helper-module-transforms" "^7.15.8" "@babel/helpers" "^7.15.4" - "@babel/parser" "^7.15.5" + "@babel/parser" "^7.15.8" "@babel/template" "^7.15.4" "@babel/traverse" "^7.15.4" - "@babel/types" "^7.15.4" + "@babel/types" "^7.15.6" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.2" @@ -82,12 +82,12 @@ jsesc "^2.5.1" source-map "^0.5.0" -"@babel/generator@^7.12.1", "@babel/generator@^7.15.4", "@babel/generator@^7.7.2": - version "7.15.4" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.15.4.tgz#85acb159a267ca6324f9793986991ee2022a05b0" - integrity sha512-d3itta0tu+UayjEORPNz6e1T3FtvWlP5N4V5M+lhp/CxT4oAA7/NcScnpRyspUMLK6tu9MNHmQHxRykuN2R7hw== +"@babel/generator@^7.12.1", "@babel/generator@^7.15.4", "@babel/generator@^7.15.8", "@babel/generator@^7.7.2": + version "7.15.8" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.15.8.tgz#fa56be6b596952ceb231048cf84ee499a19c0cd1" + integrity sha512-ECmAKstXbp1cvpTTZciZCgfOt6iN64lR0d+euv3UZisU5awfRawOvg07Utn/qBGuH4bRIEZKrA/4LzZyXhZr8g== dependencies: - "@babel/types" "^7.15.4" + "@babel/types" "^7.15.6" jsesc "^2.5.1" source-map "^0.5.0" @@ -243,19 +243,19 @@ dependencies: "@babel/types" "^7.15.4" -"@babel/helper-module-transforms@^7.12.1", "@babel/helper-module-transforms@^7.14.5", "@babel/helper-module-transforms@^7.15.4": - version "7.15.4" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.15.4.tgz#962cc629a7f7f9a082dd62d0307fa75fe8788d7c" - integrity sha512-9fHHSGE9zTC++KuXLZcB5FKgvlV83Ox+NLUmQTawovwlJ85+QMhk1CnVk406CQVj97LaWod6KVjl2Sfgw9Aktw== +"@babel/helper-module-transforms@^7.12.1", "@babel/helper-module-transforms@^7.14.5", "@babel/helper-module-transforms@^7.15.4", "@babel/helper-module-transforms@^7.15.8": + version "7.15.8" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.15.8.tgz#d8c0e75a87a52e374a8f25f855174786a09498b2" + integrity sha512-DfAfA6PfpG8t4S6npwzLvTUpp0sS7JrcuaMiy1Y5645laRJIp/LiLGIBbQKaXSInK8tiGNI7FL7L8UvB8gdUZg== dependencies: "@babel/helper-module-imports" "^7.15.4" "@babel/helper-replace-supers" "^7.15.4" "@babel/helper-simple-access" "^7.15.4" "@babel/helper-split-export-declaration" "^7.15.4" - "@babel/helper-validator-identifier" "^7.14.9" + "@babel/helper-validator-identifier" "^7.15.7" "@babel/template" "^7.15.4" "@babel/traverse" "^7.15.4" - "@babel/types" "^7.15.4" + "@babel/types" "^7.15.6" "@babel/helper-optimise-call-expression@^7.14.5": version "7.14.5" @@ -359,6 +359,11 @@ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz#6654d171b2024f6d8ee151bf2509699919131d48" integrity sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g== +"@babel/helper-validator-identifier@^7.15.7": + version "7.15.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz#220df993bfe904a4a6b02ab4f3385a5ebf6e2389" + integrity sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w== + "@babel/helper-validator-option@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz#6e72a1fff18d5dfcb878e1e62f1a021c4b72d5a3" @@ -407,10 +412,10 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.3.tgz#a305415ebe7a6c7023b40b5122a0662d928334cd" integrity sha512-kFsOS0IbsuhO5ojF8Hc8z/8vEIOkylVBrjiZUbLTE3XFe0Qi+uu6HjzQixkFaqr0ZPAMZcBVxEwmsnsLPZ2Xsw== -"@babel/parser@^7.1.0", "@babel/parser@^7.10.5", "@babel/parser@^7.12.3", "@babel/parser@^7.15.4", "@babel/parser@^7.15.5", "@babel/parser@^7.7.2": - version "7.15.5" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.15.5.tgz#d33a58ca69facc05b26adfe4abebfed56c1c2dac" - integrity sha512-2hQstc6I7T6tQsWzlboMh3SgMRPaS4H6H7cPQsJkdzTzEGqQrpLDsE2BGASU5sBPoEQyHzeqU6C8uKbFeEk6sg== +"@babel/parser@^7.1.0", "@babel/parser@^7.10.5", "@babel/parser@^7.12.3", "@babel/parser@^7.15.4", "@babel/parser@^7.15.8", "@babel/parser@^7.7.2": + version "7.15.8" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.15.8.tgz#7bacdcbe71bdc3ff936d510c15dcea7cf0b99016" + integrity sha512-BRYa3wcQnjS/nqI8Ac94pYYpJfojHVvVXJ97+IDCImX4Jc8W8Xv1+47enbruk+q1etOpsQNwnfFcNGw+gtPGxA== "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.15.4": version "7.15.4" From 2c1e8a2a7380478c88daa9e34ca9f63525fe9e1f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 11 Oct 2021 22:23:51 +0200 Subject: [PATCH 08/42] Bump babel-jest from 27.2.4 to 27.2.5 (#2403) Bumps [babel-jest](https://github.com/facebook/jest/tree/HEAD/packages/babel-jest) from 27.2.4 to 27.2.5. - [Release notes](https://github.com/facebook/jest/releases) - [Changelog](https://github.com/facebook/jest/blob/main/CHANGELOG.md) - [Commits](https://github.com/facebook/jest/commits/v27.2.5/packages/babel-jest) --- updated-dependencies: - dependency-name: babel-jest dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- yarn.lock | 73 +++++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 57 insertions(+), 16 deletions(-) diff --git a/yarn.lock b/yarn.lock index e216bd279..c2d91fabf 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1495,31 +1495,31 @@ jest-haste-map "^27.2.4" jest-runtime "^27.2.4" -"@jest/transform@^27.2.4": - version "27.2.4" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-27.2.4.tgz#2fe5b6836895f7a1b8bdec442c51e83943c62733" - integrity sha512-n5FlX2TH0oQGwyVDKPxdJ5nI2sO7TJBFe3u3KaAtt7TOiV4yL+Y+rSFDl+Ic5MpbiA/eqXmLAQxjnBmWgS2rEA== +"@jest/transform@^27.2.4", "@jest/transform@^27.2.5": + version "27.2.5" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-27.2.5.tgz#02b08862a56dbedddf0ba3c2eae41e049a250e29" + integrity sha512-29lRtAHHYGALbZOx343v0zKmdOg4Sb0rsA1uSv0818bvwRhs3TyElOmTVXlrw0v1ZTqXJCAH/cmoDXimBhQOJQ== dependencies: "@babel/core" "^7.1.0" - "@jest/types" "^27.2.4" + "@jest/types" "^27.2.5" babel-plugin-istanbul "^6.0.0" chalk "^4.0.0" convert-source-map "^1.4.0" fast-json-stable-stringify "^2.0.0" graceful-fs "^4.2.4" - jest-haste-map "^27.2.4" + jest-haste-map "^27.2.5" jest-regex-util "^27.0.6" - jest-util "^27.2.4" + jest-util "^27.2.5" micromatch "^4.0.4" pirates "^4.0.1" slash "^3.0.0" source-map "^0.6.1" write-file-atomic "^3.0.0" -"@jest/types@^27.2.4": - version "27.2.4" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-27.2.4.tgz#2430042a66e00dc5b140c3636f4474d464c21ee8" - integrity sha512-IDO2ezTxeMvQAHxzG/ZvEyA47q0aVfzT95rGFl7bZs/Go0aIucvfDbS2rmnoEdXxlLQhcolmoG/wvL/uKx4tKA== +"@jest/types@^27.2.4", "@jest/types@^27.2.5": + version "27.2.5" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-27.2.5.tgz#420765c052605e75686982d24b061b4cbba22132" + integrity sha512-nmuM4VuDtCZcY+eTpw+0nvstwReMsjPoj7ZR80/BbixulhLaiX+fbv8oeLW8WZlJMcsGQsTmMKT/iTZu1Uy/lQ== dependencies: "@types/istanbul-lib-coverage" "^2.0.0" "@types/istanbul-reports" "^3.0.0" @@ -2477,12 +2477,12 @@ axios@^0.21.1: follow-redirects "^1.14.0" babel-jest@^27.0.6, babel-jest@^27.2.4: - version "27.2.4" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-27.2.4.tgz#21ed6729d51bdd75470bbbf3c8b08d86209fb0dc" - integrity sha512-f24OmxyWymk5jfgLdlCMu4fTs4ldxFBIdn5sJdhvGC1m08rSkJ5hYbWkNmfBSvE/DjhCVNSHXepxsI6THGfGsg== + version "27.2.5" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-27.2.5.tgz#6bbbc1bb4200fe0bfd1b1fbcbe02fc62ebed16aa" + integrity sha512-GC9pWCcitBhSuF7H3zl0mftoKizlswaF0E3qi+rPL417wKkCB0d+Sjjb0OfXvxj7gWiBf497ldgRMii68Xz+2g== dependencies: - "@jest/transform" "^27.2.4" - "@jest/types" "^27.2.4" + "@jest/transform" "^27.2.5" + "@jest/types" "^27.2.5" "@types/babel__core" "^7.1.14" babel-plugin-istanbul "^6.0.0" babel-preset-jest "^27.2.0" @@ -6569,6 +6569,26 @@ jest-haste-map@^27.2.4: optionalDependencies: fsevents "^2.3.2" +jest-haste-map@^27.2.5: + version "27.2.5" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.2.5.tgz#0247b7299250643472bbcf5b4ad85c72d5178e2e" + integrity sha512-pzO+Gw2WLponaSi0ilpzYBE0kuVJstoXBX8YWyUebR8VaXuX4tzzn0Zp23c/WaETo7XYTGv2e8KdnpiskAFMhQ== + dependencies: + "@jest/types" "^27.2.5" + "@types/graceful-fs" "^4.1.2" + "@types/node" "*" + anymatch "^3.0.3" + fb-watchman "^2.0.0" + graceful-fs "^4.2.4" + jest-regex-util "^27.0.6" + jest-serializer "^27.0.6" + jest-util "^27.2.5" + jest-worker "^27.2.5" + micromatch "^4.0.4" + walker "^1.0.7" + optionalDependencies: + fsevents "^2.3.2" + jest-jasmine2@^27.2.4: version "27.2.4" resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-27.2.4.tgz#4a1608133dbdb4d68b5929bfd785503ed9c9ba51" @@ -6780,6 +6800,18 @@ jest-util@^27.2.4: is-ci "^3.0.0" picomatch "^2.2.3" +jest-util@^27.2.5: + version "27.2.5" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-27.2.5.tgz#88740c4024d223634a82ce7c2263e8bc6df3b3ba" + integrity sha512-QRhDC6XxISntMzFRd/OQ6TGsjbzA5ONO0tlAj2ElHs155x1aEr0rkYJBEysG6H/gZVH3oGFzCdAB/GA8leh8NQ== + dependencies: + "@jest/types" "^27.2.5" + "@types/node" "*" + chalk "^4.0.0" + graceful-fs "^4.2.4" + is-ci "^3.0.0" + picomatch "^2.2.3" + jest-validate@^27.2.4: version "27.2.4" resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-27.2.4.tgz#b66d462b2fb93d7e16a47d1aa8763d5600bf2cfa" @@ -6823,6 +6855,15 @@ jest-worker@^27.2.4: merge-stream "^2.0.0" supports-color "^8.0.0" +jest-worker@^27.2.5: + version "27.2.5" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.2.5.tgz#ed42865661959488aa020e8a325df010597c36d4" + integrity sha512-HTjEPZtcNKZ4LnhSp02NEH4vE+5OpJ0EsOWYvGQpHgUMLngydESAAMH5Wd/asPf29+XUDQZszxpLg1BkIIA2aw== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^8.0.0" + jest@^27.0.6: version "27.2.4" resolved "https://registry.yarnpkg.com/jest/-/jest-27.2.4.tgz#70e27bef873138afc123aa4769f7124c50ad3efb" From 9b32e0b22269f6d15c189e5e2bd06501a7187d01 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 11 Oct 2021 22:32:21 +0200 Subject: [PATCH 09/42] Bump webpack from 5.58.0 to 5.58.1 (#2399) Bumps [webpack](https://github.com/webpack/webpack) from 5.58.0 to 5.58.1. - [Release notes](https://github.com/webpack/webpack/releases) - [Commits](https://github.com/webpack/webpack/compare/v5.58.0...v5.58.1) --- updated-dependencies: - dependency-name: webpack dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index c2d91fabf..41e2884a0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10604,9 +10604,9 @@ webpack-sources@^3.2.0: integrity sha512-t6BMVLQ0AkjBOoRTZgqrWm7xbXMBzD+XDq2EZ96+vMfn3qKgsvdXZhbPZ4ElUOpdv4u+iiGe+w3+J75iy/bYGA== webpack@^5.53.0: - version "5.58.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.58.0.tgz#9ec621cf8534f23c25e779e7c35dfde1211d5ccb" - integrity sha512-xc2k5MLbR1iah24Z5xUm1nBh1PZXEdUnrX6YkTSOScq/VWbl5JCLREXJzGYqEAUbIO8tZI+Dzv82lGtnuUnVCQ== + version "5.58.1" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.58.1.tgz#df8aad72b617a9d0db8c89d4f410784ee93320d7" + integrity sha512-4Z/dmbTU+VmkCb2XNgW7wkE5TfEcSooclprn/UEuVeAkwHhn07OcgUsyaKHGtCY/VobjnsYBlyhKeMLiSoOqPg== dependencies: "@types/eslint-scope" "^3.7.0" "@types/estree" "^0.0.50" From 236fd6b231cc2c0c159c4e7830841598b0cc25f1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 11 Oct 2021 22:35:27 +0200 Subject: [PATCH 10/42] Bump jest from 27.2.4 to 27.2.5 (#2404) Bumps [jest](https://github.com/facebook/jest) from 27.2.4 to 27.2.5. - [Release notes](https://github.com/facebook/jest/releases) - [Changelog](https://github.com/facebook/jest/blob/main/CHANGELOG.md) - [Commits](https://github.com/facebook/jest/compare/v27.2.4...v27.2.5) --- updated-dependencies: - dependency-name: jest dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- yarn.lock | 612 +++++++++++++++++++++++++----------------------------- 1 file changed, 286 insertions(+), 326 deletions(-) diff --git a/yarn.lock b/yarn.lock index 41e2884a0..e98f196e5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1359,93 +1359,94 @@ resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== -"@jest/console@^27.2.4": - version "27.2.4" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-27.2.4.tgz#2f1a4bf82b9940065d4818fac271def99ec55e5e" - integrity sha512-94znCKynPZpDpYHQ6esRJSc11AmONrVkBOBZiD7S+bSubHhrUfbS95EY5HIOxhm4PQO7cnvZkL3oJcY0oMA+Wg== +"@jest/console@^27.2.5": + version "27.2.5" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-27.2.5.tgz#bddbf8d41c191f17b52bf0c9e6c0d18605e35d6e" + integrity sha512-smtlRF9vNKorRMCUtJ+yllIoiY8oFmfFG7xlzsAE76nKEwXNhjPOJIsc7Dv+AUitVt76t+KjIpUP9m98Crn2LQ== dependencies: - "@jest/types" "^27.2.4" + "@jest/types" "^27.2.5" "@types/node" "*" chalk "^4.0.0" - jest-message-util "^27.2.4" - jest-util "^27.2.4" + jest-message-util "^27.2.5" + jest-util "^27.2.5" slash "^3.0.0" -"@jest/core@^27.2.4": - version "27.2.4" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-27.2.4.tgz#0b932da787d64848eab720dbb88e5b7a3f86e539" - integrity sha512-UNQLyy+rXoojNm2MGlapgzWhZD1CT1zcHZQYeiD0xE7MtJfC19Q6J5D/Lm2l7i4V97T30usKDoEtjI8vKwWcLg== +"@jest/core@^27.2.5": + version "27.2.5" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-27.2.5.tgz#854c314708cee0d892ac4f531b9129f00a21ee69" + integrity sha512-VR7mQ+jykHN4WO3OvusRJMk4xCa2MFLipMS+43fpcRGaYrN1KwMATfVEXif7ccgFKYGy5D1TVXTNE4mGq/KMMA== dependencies: - "@jest/console" "^27.2.4" - "@jest/reporters" "^27.2.4" - "@jest/test-result" "^27.2.4" - "@jest/transform" "^27.2.4" - "@jest/types" "^27.2.4" + "@jest/console" "^27.2.5" + "@jest/reporters" "^27.2.5" + "@jest/test-result" "^27.2.5" + "@jest/transform" "^27.2.5" + "@jest/types" "^27.2.5" "@types/node" "*" ansi-escapes "^4.2.1" chalk "^4.0.0" emittery "^0.8.1" exit "^0.1.2" graceful-fs "^4.2.4" - jest-changed-files "^27.2.4" - jest-config "^27.2.4" - jest-haste-map "^27.2.4" - jest-message-util "^27.2.4" + jest-changed-files "^27.2.5" + jest-config "^27.2.5" + jest-haste-map "^27.2.5" + jest-message-util "^27.2.5" jest-regex-util "^27.0.6" - jest-resolve "^27.2.4" - jest-resolve-dependencies "^27.2.4" - jest-runner "^27.2.4" - jest-runtime "^27.2.4" - jest-snapshot "^27.2.4" - jest-util "^27.2.4" - jest-validate "^27.2.4" - jest-watcher "^27.2.4" + jest-resolve "^27.2.5" + jest-resolve-dependencies "^27.2.5" + jest-runner "^27.2.5" + jest-runtime "^27.2.5" + jest-snapshot "^27.2.5" + jest-util "^27.2.5" + jest-validate "^27.2.5" + jest-watcher "^27.2.5" micromatch "^4.0.4" rimraf "^3.0.0" slash "^3.0.0" strip-ansi "^6.0.0" -"@jest/environment@^27.2.4": - version "27.2.4" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-27.2.4.tgz#db3e60f7dd30ab950f6ce2d6d7293ed9a6b7cbcd" - integrity sha512-wkuui5yr3SSQW0XD0Qm3TATUbL/WE3LDEM3ulC+RCQhMf2yxhci8x7svGkZ4ivJ6Pc94oOzpZ6cdHBAMSYd1ew== +"@jest/environment@^27.2.5": + version "27.2.5" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-27.2.5.tgz#b85517ccfcec55690c82c56f5a01a3b30c5e3c84" + integrity sha512-XvUW3q6OUF+54SYFCgbbfCd/BKTwm5b2MGLoc2jINXQLKQDTCS2P2IrpPOtQ08WWZDGzbhAzVhOYta3J2arubg== dependencies: - "@jest/fake-timers" "^27.2.4" - "@jest/types" "^27.2.4" + "@jest/fake-timers" "^27.2.5" + "@jest/types" "^27.2.5" "@types/node" "*" - jest-mock "^27.2.4" + jest-mock "^27.2.5" -"@jest/fake-timers@^27.2.4": - version "27.2.4" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-27.2.4.tgz#00df08bd60332bd59503cb5b6db21e4903785f86" - integrity sha512-cs/TzvwWUM7kAA6Qm/890SK6JJ2pD5RfDNM3SSEom6BmdyV6OiWP1qf/pqo6ts6xwpcM36oN0wSEzcZWc6/B6w== +"@jest/fake-timers@^27.2.5": + version "27.2.5" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-27.2.5.tgz#0c7e5762d7bfe6e269e7b49279b097a52a42f0a0" + integrity sha512-ZGUb6jg7BgwY+nmO0TW10bc7z7Hl2G/UTAvmxEyZ/GgNFoa31tY9/cgXmqcxnnZ7o5Xs7RAOz3G1SKIj8IVDlg== dependencies: - "@jest/types" "^27.2.4" + "@jest/types" "^27.2.5" "@sinonjs/fake-timers" "^8.0.1" "@types/node" "*" - jest-message-util "^27.2.4" - jest-mock "^27.2.4" - jest-util "^27.2.4" + jest-message-util "^27.2.5" + jest-mock "^27.2.5" + jest-util "^27.2.5" -"@jest/globals@^27.2.4": - version "27.2.4" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-27.2.4.tgz#0aeb22b011f8c8c4b8ff3b4dbd1ee0392fe0dd8a" - integrity sha512-DRsRs5dh0i+fA9mGHylTU19+8fhzNJoEzrgsu+zgJoZth3x8/0juCQ8nVVdW1er4Cqifb/ET7/hACYVPD0dBEA== +"@jest/globals@^27.2.5": + version "27.2.5" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-27.2.5.tgz#4115538f98ed6cee4051a90fdbd0854062902099" + integrity sha512-naRI537GM+enFVJQs6DcwGYPn/0vgJNb06zGVbzXfDfe/epDPV73hP1vqO37PqSKDeOXM2KInr6ymYbL1HTP7g== dependencies: - "@jest/environment" "^27.2.4" - "@jest/types" "^27.2.4" - expect "^27.2.4" + "@jest/environment" "^27.2.5" + "@jest/types" "^27.2.5" + expect "^27.2.5" -"@jest/reporters@^27.2.4": - version "27.2.4" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-27.2.4.tgz#1482ff007f2e919d85c54b1563abb8b2ea2d5198" - integrity sha512-LHeSdDnDZkDnJ8kvnjcqV8P1Yv/32yL4d4XfR5gBiy3xGO0onwll1QEbvtW96fIwhx2nejug0GTaEdNDoyr3fQ== +"@jest/reporters@^27.2.5": + version "27.2.5" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-27.2.5.tgz#65198ed1f3f4449e3f656129764dc6c5bb27ebe3" + integrity sha512-zYuR9fap3Q3mxQ454VWF8I6jYHErh368NwcKHWO2uy2fwByqBzRHkf9j2ekMDM7PaSTWcLBSZyd7NNxR1iHxzQ== dependencies: "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^27.2.4" - "@jest/test-result" "^27.2.4" - "@jest/transform" "^27.2.4" - "@jest/types" "^27.2.4" + "@jest/console" "^27.2.5" + "@jest/test-result" "^27.2.5" + "@jest/transform" "^27.2.5" + "@jest/types" "^27.2.5" + "@types/node" "*" chalk "^4.0.0" collect-v8-coverage "^1.0.0" exit "^0.1.2" @@ -1456,10 +1457,10 @@ istanbul-lib-report "^3.0.0" istanbul-lib-source-maps "^4.0.0" istanbul-reports "^3.0.2" - jest-haste-map "^27.2.4" - jest-resolve "^27.2.4" - jest-util "^27.2.4" - jest-worker "^27.2.4" + jest-haste-map "^27.2.5" + jest-resolve "^27.2.5" + jest-util "^27.2.5" + jest-worker "^27.2.5" slash "^3.0.0" source-map "^0.6.0" string-length "^4.0.1" @@ -1475,27 +1476,27 @@ graceful-fs "^4.2.4" source-map "^0.6.0" -"@jest/test-result@^27.2.4": - version "27.2.4" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-27.2.4.tgz#d1ca8298d168f1b0be834bfb543b1ac0294c05d7" - integrity sha512-eU+PRo0+lIS01b0dTmMdVZ0TtcRSxEaYquZTRFMQz6CvsehGhx9bRzi9Zdw6VROviJyv7rstU+qAMX5pNBmnfQ== +"@jest/test-result@^27.2.5": + version "27.2.5" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-27.2.5.tgz#e9f73cf6cd5e2cc6eb3105339248dea211f9320e" + integrity sha512-ub7j3BrddxZ0BdSnM5JCF6cRZJ/7j3wgdX0+Dtwhw2Po+HKsELCiXUTvh+mgS4/89mpnU1CPhZxe2mTvuLPJJg== dependencies: - "@jest/console" "^27.2.4" - "@jest/types" "^27.2.4" + "@jest/console" "^27.2.5" + "@jest/types" "^27.2.5" "@types/istanbul-lib-coverage" "^2.0.0" collect-v8-coverage "^1.0.0" -"@jest/test-sequencer@^27.2.4": - version "27.2.4" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-27.2.4.tgz#df66422a3e9e7440ce8b7498e255fa6b52c0bc03" - integrity sha512-fpk5eknU3/DXE2QCCG1wv/a468+cfPo3Asu6d6yUtM9LOPh709ubZqrhuUOYfM8hXMrIpIdrv1CdCrWWabX0rQ== +"@jest/test-sequencer@^27.2.5": + version "27.2.5" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-27.2.5.tgz#ed5ae91c00e623fb719111d58e380395e16cefbb" + integrity sha512-8j8fHZRfnjbbdMitMAGFKaBZ6YqvFRFJlMJzcy3v75edTOqc7RY65S9JpMY6wT260zAcL2sTQRga/P4PglCu3Q== dependencies: - "@jest/test-result" "^27.2.4" + "@jest/test-result" "^27.2.5" graceful-fs "^4.2.4" - jest-haste-map "^27.2.4" - jest-runtime "^27.2.4" + jest-haste-map "^27.2.5" + jest-runtime "^27.2.5" -"@jest/transform@^27.2.4", "@jest/transform@^27.2.5": +"@jest/transform@^27.2.5": version "27.2.5" resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-27.2.5.tgz#02b08862a56dbedddf0ba3c2eae41e049a250e29" integrity sha512-29lRtAHHYGALbZOx343v0zKmdOg4Sb0rsA1uSv0818bvwRhs3TyElOmTVXlrw0v1ZTqXJCAH/cmoDXimBhQOJQ== @@ -1516,7 +1517,7 @@ source-map "^0.6.1" write-file-atomic "^3.0.0" -"@jest/types@^27.2.4", "@jest/types@^27.2.5": +"@jest/types@^27.2.5": version "27.2.5" resolved "https://registry.yarnpkg.com/@jest/types/-/types-27.2.5.tgz#420765c052605e75686982d24b061b4cbba22132" integrity sha512-nmuM4VuDtCZcY+eTpw+0nvstwReMsjPoj7ZR80/BbixulhLaiX+fbv8oeLW8WZlJMcsGQsTmMKT/iTZu1Uy/lQ== @@ -2476,7 +2477,7 @@ axios@^0.21.1: dependencies: follow-redirects "^1.14.0" -babel-jest@^27.0.6, babel-jest@^27.2.4: +babel-jest@^27.0.6, babel-jest@^27.2.5: version "27.2.5" resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-27.2.5.tgz#6bbbc1bb4200fe0bfd1b1fbcbe02fc62ebed16aa" integrity sha512-GC9pWCcitBhSuF7H3zl0mftoKizlswaF0E3qi+rPL417wKkCB0d+Sjjb0OfXvxj7gWiBf497ldgRMii68Xz+2g== @@ -4900,16 +4901,16 @@ expand-brackets@^2.1.4: snapdragon "^0.8.1" to-regex "^3.0.1" -expect@^27.2.4: - version "27.2.4" - resolved "https://registry.yarnpkg.com/expect/-/expect-27.2.4.tgz#4debf546050bcdad8914a8c95fec7662e02bf67c" - integrity sha512-gOtuonQ8TCnbNNCSw2fhVzRf8EFYDII4nB5NmG4IEV0rbUnW1I5zXvoTntU4iicB/Uh0oZr20NGlOLdJiwsOZA== +expect@^27.2.5: + version "27.2.5" + resolved "https://registry.yarnpkg.com/expect/-/expect-27.2.5.tgz#16154aaa60b4d9a5b0adacfea3e4d6178f4b93fd" + integrity sha512-ZrO0w7bo8BgGoP/bLz+HDCI+0Hfei9jUSZs5yI/Wyn9VkG9w8oJ7rHRgYj+MA7yqqFa0IwHA3flJzZtYugShJA== dependencies: - "@jest/types" "^27.2.4" + "@jest/types" "^27.2.5" ansi-styles "^5.0.0" jest-get-type "^27.0.6" - jest-matcher-utils "^27.2.4" - jest-message-util "^27.2.4" + jest-matcher-utils "^27.2.5" + jest-message-util "^27.2.5" jest-regex-util "^27.0.6" express@^4.17.1: @@ -6412,94 +6413,94 @@ istanbul-reports@^3.0.2: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" -jest-changed-files@^27.2.4: - version "27.2.4" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-27.2.4.tgz#d7de46e90e5a599c47e260760f5ab53516e835e6" - integrity sha512-eeO1C1u4ex7pdTroYXezr+rbr957myyVoKGjcY4R1TJi3A+9v+4fu1Iv9J4eLq1bgFyT3O3iRWU9lZsEE7J72Q== +jest-changed-files@^27.2.5: + version "27.2.5" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-27.2.5.tgz#9dfd550d158260bcb6fa80aff491f5647f7daeca" + integrity sha512-jfnNJzF89csUKRPKJ4MwZ1SH27wTmX2xiAIHUHrsb/OYd9Jbo4/SXxJ17/nnx6RIifpthk3Y+LEeOk+/dDeGdw== dependencies: - "@jest/types" "^27.2.4" + "@jest/types" "^27.2.5" execa "^5.0.0" throat "^6.0.1" -jest-circus@^27.2.4: - version "27.2.4" - resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-27.2.4.tgz#3bd898a29dcaf6a506f3f1b780dff5f67ca83c23" - integrity sha512-TtheheTElrGjlsY9VxkzUU1qwIx05ItIusMVKnvNkMt4o/PeegLRcjq3Db2Jz0GGdBalJdbzLZBgeulZAJxJWA== +jest-circus@^27.2.5: + version "27.2.5" + resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-27.2.5.tgz#573256a6fb6e447ac2fc7e0ade9375013309037f" + integrity sha512-eyL9IcrAxm3Saq3rmajFCwpaxaRMGJ1KJs+7hlTDinXpJmeR3P02bheM3CYohE7UfwOBmrFMJHjgo/WPcLTM+Q== dependencies: - "@jest/environment" "^27.2.4" - "@jest/test-result" "^27.2.4" - "@jest/types" "^27.2.4" + "@jest/environment" "^27.2.5" + "@jest/test-result" "^27.2.5" + "@jest/types" "^27.2.5" "@types/node" "*" chalk "^4.0.0" co "^4.6.0" dedent "^0.7.0" - expect "^27.2.4" + expect "^27.2.5" is-generator-fn "^2.0.0" - jest-each "^27.2.4" - jest-matcher-utils "^27.2.4" - jest-message-util "^27.2.4" - jest-runtime "^27.2.4" - jest-snapshot "^27.2.4" - jest-util "^27.2.4" - pretty-format "^27.2.4" + jest-each "^27.2.5" + jest-matcher-utils "^27.2.5" + jest-message-util "^27.2.5" + jest-runtime "^27.2.5" + jest-snapshot "^27.2.5" + jest-util "^27.2.5" + pretty-format "^27.2.5" slash "^3.0.0" stack-utils "^2.0.3" throat "^6.0.1" -jest-cli@^27.2.4: - version "27.2.4" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-27.2.4.tgz#acda7f367aa6e674723fc1a7334e0ae1799448d2" - integrity sha512-4kpQQkg74HYLaXo3nzwtg4PYxSLgL7puz1LXHj5Tu85KmlIpxQFjRkXlx4V47CYFFIDoyl3rHA/cXOxUWyMpNg== +jest-cli@^27.2.5: + version "27.2.5" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-27.2.5.tgz#88718c8f05f1c0f209152952ecd61afe4c3311bb" + integrity sha512-XzfcOXi5WQrXqFYsDxq5RDOKY4FNIgBgvgf3ZBz4e/j5/aWep5KnsAYH5OFPMdX/TP/LFsYQMRH7kzJUMh6JKg== dependencies: - "@jest/core" "^27.2.4" - "@jest/test-result" "^27.2.4" - "@jest/types" "^27.2.4" + "@jest/core" "^27.2.5" + "@jest/test-result" "^27.2.5" + "@jest/types" "^27.2.5" chalk "^4.0.0" exit "^0.1.2" graceful-fs "^4.2.4" import-local "^3.0.2" - jest-config "^27.2.4" - jest-util "^27.2.4" - jest-validate "^27.2.4" + jest-config "^27.2.5" + jest-util "^27.2.5" + jest-validate "^27.2.5" prompts "^2.0.1" yargs "^16.2.0" -jest-config@^27.2.4: - version "27.2.4" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-27.2.4.tgz#0204969f5ae2e5190d47be2c14c04d631b7836e2" - integrity sha512-tWy0UxhdzqiKyp4l5Vq4HxLyD+gH5td+GCF3c22/DJ0bYAOsMo+qi2XtbJI6oYMH5JOJQs9nLW/r34nvFCehjA== +jest-config@^27.2.5: + version "27.2.5" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-27.2.5.tgz#c2e4ec6ea2bf4ffd2cae3d927999fe6159cba207" + integrity sha512-QdENtn9b5rIIYGlbDNEcgY9LDL5kcokJnXrp7x8AGjHob/XFqw1Z6p+gjfna2sUulQsQ3ce2Fvntnv+7fKYDhQ== dependencies: "@babel/core" "^7.1.0" - "@jest/test-sequencer" "^27.2.4" - "@jest/types" "^27.2.4" - babel-jest "^27.2.4" + "@jest/test-sequencer" "^27.2.5" + "@jest/types" "^27.2.5" + babel-jest "^27.2.5" chalk "^4.0.0" deepmerge "^4.2.2" glob "^7.1.1" graceful-fs "^4.2.4" is-ci "^3.0.0" - jest-circus "^27.2.4" - jest-environment-jsdom "^27.2.4" - jest-environment-node "^27.2.4" + jest-circus "^27.2.5" + jest-environment-jsdom "^27.2.5" + jest-environment-node "^27.2.5" jest-get-type "^27.0.6" - jest-jasmine2 "^27.2.4" + jest-jasmine2 "^27.2.5" jest-regex-util "^27.0.6" - jest-resolve "^27.2.4" - jest-runner "^27.2.4" - jest-util "^27.2.4" - jest-validate "^27.2.4" + jest-resolve "^27.2.5" + jest-runner "^27.2.5" + jest-util "^27.2.5" + jest-validate "^27.2.5" micromatch "^4.0.4" - pretty-format "^27.2.4" + pretty-format "^27.2.5" -jest-diff@^27.2.4: - version "27.2.4" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.2.4.tgz#171c51d3d2c105c457100fee6e7bf7cee51c8d8c" - integrity sha512-bLAVlDSCR3gqUPGv+4nzVpEXGsHh98HjUL7Vb2hVyyuBDoQmja8eJb0imUABsuxBeUVmf47taJSAd9nDrwWKEg== +jest-diff@^27.2.5: + version "27.2.5" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.2.5.tgz#908f7a6aca5653824516ad30e0a9fd9767e53623" + integrity sha512-7gfwwyYkeslOOVQY4tVq5TaQa92mWfC9COsVYMNVYyJTOYAqbIkoD3twi5A+h+tAPtAelRxkqY6/xu+jwTr0dA== dependencies: chalk "^4.0.0" diff-sequences "^27.0.6" jest-get-type "^27.0.6" - pretty-format "^27.2.4" + pretty-format "^27.2.5" jest-docblock@^27.0.6: version "27.0.6" @@ -6508,67 +6509,47 @@ jest-docblock@^27.0.6: dependencies: detect-newline "^3.0.0" -jest-each@^27.2.4: - version "27.2.4" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-27.2.4.tgz#b4f280aafd63129ba82e345f0e74c5a10200aeef" - integrity sha512-w9XVc+0EDBUTJS4xBNJ7N2JCcWItFd006lFjz77OarAQcQ10eFDBMrfDv2GBJMKlXe9aq0HrIIF51AXcZrRJyg== +jest-each@^27.2.5: + version "27.2.5" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-27.2.5.tgz#378118d516db730b92096a9607b8711165946353" + integrity sha512-HUPWIbJT0bXarRwKu/m7lYzqxR4GM5EhKOsu0z3t0SKtbFN6skQhpAUADM4qFShBXb9zoOuag5lcrR1x/WM+Ag== dependencies: - "@jest/types" "^27.2.4" + "@jest/types" "^27.2.5" chalk "^4.0.0" jest-get-type "^27.0.6" - jest-util "^27.2.4" - pretty-format "^27.2.4" + jest-util "^27.2.5" + pretty-format "^27.2.5" -jest-environment-jsdom@^27.2.4: - version "27.2.4" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-27.2.4.tgz#39ae80bbb8675306bfaf0440be1e5f877554539a" - integrity sha512-X70pTXFSypD7AIzKT1mLnDi5hP9w9mdTRcOGOmoDoBrNyNEg4rYm6d4LQWFLc9ps1VnMuDOkFSG0wjSNYGjkng== +jest-environment-jsdom@^27.2.5: + version "27.2.5" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-27.2.5.tgz#21de3ad0e89441d961b592ba7561b16241279208" + integrity sha512-QtRpOh/RQKuXniaWcoFE2ElwP6tQcyxHu0hlk32880g0KczdonCs5P1sk5+weu/OVzh5V4Bt1rXuQthI01mBLg== dependencies: - "@jest/environment" "^27.2.4" - "@jest/fake-timers" "^27.2.4" - "@jest/types" "^27.2.4" + "@jest/environment" "^27.2.5" + "@jest/fake-timers" "^27.2.5" + "@jest/types" "^27.2.5" "@types/node" "*" - jest-mock "^27.2.4" - jest-util "^27.2.4" + jest-mock "^27.2.5" + jest-util "^27.2.5" jsdom "^16.6.0" -jest-environment-node@^27.2.4: - version "27.2.4" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-27.2.4.tgz#b79f98cb36e0c9111aac859c9c99f04eb2f74ff6" - integrity sha512-ZbVbFSnbzTvhLOIkqh5lcLuGCCFvtG4xTXIRPK99rV2KzQT3kNg16KZwfTnLNlIiWCE8do960eToeDfcqmpSAw== +jest-environment-node@^27.2.5: + version "27.2.5" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-27.2.5.tgz#ffa1afb3604c640ec841f044d526c65912e02cef" + integrity sha512-0o1LT4grm7iwrS8fIoLtwJxb/hoa3GsH7pP10P02Jpj7Mi4BXy65u46m89vEM2WfD1uFJQ2+dfDiWZNA2e6bJg== dependencies: - "@jest/environment" "^27.2.4" - "@jest/fake-timers" "^27.2.4" - "@jest/types" "^27.2.4" + "@jest/environment" "^27.2.5" + "@jest/fake-timers" "^27.2.5" + "@jest/types" "^27.2.5" "@types/node" "*" - jest-mock "^27.2.4" - jest-util "^27.2.4" + jest-mock "^27.2.5" + jest-util "^27.2.5" jest-get-type@^27.0.6: version "27.0.6" resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.0.6.tgz#0eb5c7f755854279ce9b68a9f1a4122f69047cfe" integrity sha512-XTkK5exIeUbbveehcSR8w0bhH+c0yloW/Wpl+9vZrjzztCPWrxhHwkIFpZzCt71oRBsgxmuUfxEqOYoZI2macg== -jest-haste-map@^27.2.4: - version "27.2.4" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.2.4.tgz#f8974807bedf07348ca9fd24e5861ab7c8e61aba" - integrity sha512-bkJ4bT00T2K+1NZXbRcyKnbJ42I6QBvoDNMTAQQDBhaGNnZreiQKUNqax0e6hLTx7E75pKDeltVu3V1HAdu+YA== - dependencies: - "@jest/types" "^27.2.4" - "@types/graceful-fs" "^4.1.2" - "@types/node" "*" - anymatch "^3.0.3" - fb-watchman "^2.0.0" - graceful-fs "^4.2.4" - jest-regex-util "^27.0.6" - jest-serializer "^27.0.6" - jest-util "^27.2.4" - jest-worker "^27.2.4" - micromatch "^4.0.4" - walker "^1.0.7" - optionalDependencies: - fsevents "^2.3.2" - jest-haste-map@^27.2.5: version "27.2.5" resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.2.5.tgz#0247b7299250643472bbcf5b4ad85c72d5178e2e" @@ -6589,69 +6570,69 @@ jest-haste-map@^27.2.5: optionalDependencies: fsevents "^2.3.2" -jest-jasmine2@^27.2.4: - version "27.2.4" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-27.2.4.tgz#4a1608133dbdb4d68b5929bfd785503ed9c9ba51" - integrity sha512-fcffjO/xLWLVnW2ct3No4EksxM5RyPwHDYu9QU+90cC+/eSMLkFAxS55vkqsxexOO5zSsZ3foVpMQcg/amSeIQ== +jest-jasmine2@^27.2.5: + version "27.2.5" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-27.2.5.tgz#baaf96c69913c52bce0100000cf0721027c0fd66" + integrity sha512-hdxY9Cm/CjLqu2tXeAoQHPgA4vcqlweVXYOg1+S9FeFdznB9Rti+eEBKDDkmOy9iqr4Xfbq95OkC4NFbXXPCAQ== dependencies: "@babel/traverse" "^7.1.0" - "@jest/environment" "^27.2.4" + "@jest/environment" "^27.2.5" "@jest/source-map" "^27.0.6" - "@jest/test-result" "^27.2.4" - "@jest/types" "^27.2.4" + "@jest/test-result" "^27.2.5" + "@jest/types" "^27.2.5" "@types/node" "*" chalk "^4.0.0" co "^4.6.0" - expect "^27.2.4" + expect "^27.2.5" is-generator-fn "^2.0.0" - jest-each "^27.2.4" - jest-matcher-utils "^27.2.4" - jest-message-util "^27.2.4" - jest-runtime "^27.2.4" - jest-snapshot "^27.2.4" - jest-util "^27.2.4" - pretty-format "^27.2.4" + jest-each "^27.2.5" + jest-matcher-utils "^27.2.5" + jest-message-util "^27.2.5" + jest-runtime "^27.2.5" + jest-snapshot "^27.2.5" + jest-util "^27.2.5" + pretty-format "^27.2.5" throat "^6.0.1" -jest-leak-detector@^27.2.4: - version "27.2.4" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-27.2.4.tgz#9bb7eab26a73bb280e9298be8d80f389288ec8f1" - integrity sha512-SrcHWbe0EHg/bw2uBjVoHacTo5xosl068x2Q0aWsjr2yYuW2XwqrSkZV4lurUop0jhv1709ymG4or+8E4sH27Q== +jest-leak-detector@^27.2.5: + version "27.2.5" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-27.2.5.tgz#e2edc3b37d38e8d9a527e10e456b403c3151b206" + integrity sha512-HYsi3GUR72bYhOGB5C5saF9sPdxGzSjX7soSQS+BqDRysc7sPeBwPbhbuT8DnOpijnKjgwWQ8JqvbmReYnt3aQ== dependencies: jest-get-type "^27.0.6" - pretty-format "^27.2.4" + pretty-format "^27.2.5" -jest-matcher-utils@^27.2.4: - version "27.2.4" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-27.2.4.tgz#008fff018151415ad1b6cfc083fd70fe1e012525" - integrity sha512-nQeLfFAIPPkyhkDfifAPfP/U5wm1x0fLtAzqXZSSKckXDNuk2aaOfQiDYv1Mgf5GY6yOsxfUnvNm3dDjXM+BXw== +jest-matcher-utils@^27.2.5: + version "27.2.5" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-27.2.5.tgz#4684faaa8eb32bf15e6edaead6834031897e2980" + integrity sha512-qNR/kh6bz0Dyv3m68Ck2g1fLW5KlSOUNcFQh87VXHZwWc/gY6XwnKofx76Qytz3x5LDWT09/2+yXndTkaG4aWg== dependencies: chalk "^4.0.0" - jest-diff "^27.2.4" + jest-diff "^27.2.5" jest-get-type "^27.0.6" - pretty-format "^27.2.4" + pretty-format "^27.2.5" -jest-message-util@^27.2.4: - version "27.2.4" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-27.2.4.tgz#667e8c0f2b973156d1bac7398a7f677705cafaca" - integrity sha512-wbKT/BNGnBVB9nzi+IoaLkXt6fbSvqUxx+IYY66YFh96J3goY33BAaNG3uPqaw/Sh/FR9YpXGVDfd5DJdbh4nA== +jest-message-util@^27.2.5: + version "27.2.5" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-27.2.5.tgz#ed8b7b0965247bb875a49c1f9b9ab2d1d0820028" + integrity sha512-ggXSLoPfIYcbmZ8glgEJZ8b+e0Msw/iddRmgkoO7lDAr9SmI65IIfv7VnvTnV4FGnIIUIjzM+fHRHO5RBvyAbQ== dependencies: "@babel/code-frame" "^7.12.13" - "@jest/types" "^27.2.4" + "@jest/types" "^27.2.5" "@types/stack-utils" "^2.0.0" chalk "^4.0.0" graceful-fs "^4.2.4" micromatch "^4.0.4" - pretty-format "^27.2.4" + pretty-format "^27.2.5" slash "^3.0.0" stack-utils "^2.0.3" -jest-mock@^27.2.4: - version "27.2.4" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-27.2.4.tgz#c8f0ef33f73d8ff53e3f60b16d59f1128f4072ae" - integrity sha512-iVRU905rutaAoUcrt5Tm1JoHHWi24YabqEGXjPJI4tAyA6wZ7mzDi3GrZ+M7ebgWBqUkZE93GAx1STk7yCMIQA== +jest-mock@^27.2.5: + version "27.2.5" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-27.2.5.tgz#0ec38d5ff1e49c4802e7a4a8179e8d7a2fd84de0" + integrity sha512-HiMB3LqE9RzmeMzZARi2Bz3NoymxyP0gCid4y42ca1djffNtYFKgI220aC1VP1mUZ8rbpqZbHZOJ15093bZV/Q== dependencies: - "@jest/types" "^27.2.4" + "@jest/types" "^27.2.5" "@types/node" "*" jest-pnp-resolver@^1.2.2: @@ -6664,72 +6645,72 @@ jest-regex-util@^27.0.6: resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.0.6.tgz#02e112082935ae949ce5d13b2675db3d8c87d9c5" integrity sha512-SUhPzBsGa1IKm8hx2F4NfTGGp+r7BXJ4CulsZ1k2kI+mGLG+lxGrs76veN2LF/aUdGosJBzKgXmNCw+BzFqBDQ== -jest-resolve-dependencies@^27.2.4: - version "27.2.4" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-27.2.4.tgz#20c41cc02b66aa45169b282356ec73b133013089" - integrity sha512-i5s7Uh9B3Q6uwxLpMhNKlgBf6pcemvWaORxsW1zNF/YCY3jd5EftvnGBI+fxVwJ1CBxkVfxqCvm1lpZkbaoGmg== +jest-resolve-dependencies@^27.2.5: + version "27.2.5" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-27.2.5.tgz#fcd8eca005b3d11ba32da443045c028164b83be1" + integrity sha512-BSjefped31bcvvCh++/pN9ueqqN1n0+p8/58yScuWfklLm2tbPbS9d251vJhAy0ZI2pL/0IaGhOTJrs9Y4FJlg== dependencies: - "@jest/types" "^27.2.4" + "@jest/types" "^27.2.5" jest-regex-util "^27.0.6" - jest-snapshot "^27.2.4" + jest-snapshot "^27.2.5" -jest-resolve@^27.2.4: - version "27.2.4" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-27.2.4.tgz#d3b999f073ff84a8ae109ce99ff7f3223048701a" - integrity sha512-IsAO/3+3BZnKjI2I4f3835TBK/90dxR7Otgufn3mnrDFTByOSXclDi3G2XJsawGV4/18IMLARJ+V7Wm7t+J89Q== +jest-resolve@^27.2.5: + version "27.2.5" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-27.2.5.tgz#04dadbfc1312a2541f5c199c5011945e9cfe5cef" + integrity sha512-q5irwS3oS73SKy3+FM/HL2T7WJftrk9BRzrXF92f7net5HMlS7lJMg/ZwxLB4YohKqjSsdksEw7n/jvMxV7EKg== dependencies: - "@jest/types" "^27.2.4" + "@jest/types" "^27.2.5" chalk "^4.0.0" escalade "^3.1.1" graceful-fs "^4.2.4" - jest-haste-map "^27.2.4" + jest-haste-map "^27.2.5" jest-pnp-resolver "^1.2.2" - jest-util "^27.2.4" - jest-validate "^27.2.4" + jest-util "^27.2.5" + jest-validate "^27.2.5" resolve "^1.20.0" slash "^3.0.0" -jest-runner@^27.2.4: - version "27.2.4" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-27.2.4.tgz#d816f4cb4af04f3cba703afcf5a35a335b77cad4" - integrity sha512-hIo5PPuNUyVDidZS8EetntuuJbQ+4IHWxmHgYZz9FIDbG2wcZjrP6b52uMDjAEQiHAn8yn8ynNe+TL8UuGFYKg== +jest-runner@^27.2.5: + version "27.2.5" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-27.2.5.tgz#3d9d0626f351480bb2cffcfbbfac240c0097ebd4" + integrity sha512-n41vw9RLg5TKAnEeJK9d6pGOsBOpwE89XBniK+AD1k26oIIy3V7ogM1scbDjSheji8MUPC9pNgCrZ/FHLVDNgg== dependencies: - "@jest/console" "^27.2.4" - "@jest/environment" "^27.2.4" - "@jest/test-result" "^27.2.4" - "@jest/transform" "^27.2.4" - "@jest/types" "^27.2.4" + "@jest/console" "^27.2.5" + "@jest/environment" "^27.2.5" + "@jest/test-result" "^27.2.5" + "@jest/transform" "^27.2.5" + "@jest/types" "^27.2.5" "@types/node" "*" chalk "^4.0.0" emittery "^0.8.1" exit "^0.1.2" graceful-fs "^4.2.4" jest-docblock "^27.0.6" - jest-environment-jsdom "^27.2.4" - jest-environment-node "^27.2.4" - jest-haste-map "^27.2.4" - jest-leak-detector "^27.2.4" - jest-message-util "^27.2.4" - jest-resolve "^27.2.4" - jest-runtime "^27.2.4" - jest-util "^27.2.4" - jest-worker "^27.2.4" + jest-environment-jsdom "^27.2.5" + jest-environment-node "^27.2.5" + jest-haste-map "^27.2.5" + jest-leak-detector "^27.2.5" + jest-message-util "^27.2.5" + jest-resolve "^27.2.5" + jest-runtime "^27.2.5" + jest-util "^27.2.5" + jest-worker "^27.2.5" source-map-support "^0.5.6" throat "^6.0.1" -jest-runtime@^27.2.4: - version "27.2.4" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-27.2.4.tgz#170044041e5d30625ab8d753516bbe503f213a5c" - integrity sha512-ICKzzYdjIi70P17MZsLLIgIQFCQmIjMFf+xYww3aUySiUA/QBPUTdUqo5B2eg4HOn9/KkUsV0z6GVgaqAPBJvg== +jest-runtime@^27.2.5: + version "27.2.5" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-27.2.5.tgz#d144c3f6889b927aae1e695b63a41a3323b7016b" + integrity sha512-N0WRZ3QszKyZ3Dm27HTBbBuestsSd3Ud5ooVho47XZJ8aSKO/X1Ag8M1dNx9XzfGVRNdB/xCA3lz8MJwIzPLLA== dependencies: - "@jest/console" "^27.2.4" - "@jest/environment" "^27.2.4" - "@jest/fake-timers" "^27.2.4" - "@jest/globals" "^27.2.4" + "@jest/console" "^27.2.5" + "@jest/environment" "^27.2.5" + "@jest/fake-timers" "^27.2.5" + "@jest/globals" "^27.2.5" "@jest/source-map" "^27.0.6" - "@jest/test-result" "^27.2.4" - "@jest/transform" "^27.2.4" - "@jest/types" "^27.2.4" + "@jest/test-result" "^27.2.5" + "@jest/transform" "^27.2.5" + "@jest/types" "^27.2.5" "@types/yargs" "^16.0.0" chalk "^4.0.0" cjs-module-lexer "^1.0.0" @@ -6738,14 +6719,14 @@ jest-runtime@^27.2.4: exit "^0.1.2" glob "^7.1.3" graceful-fs "^4.2.4" - jest-haste-map "^27.2.4" - jest-message-util "^27.2.4" - jest-mock "^27.2.4" + jest-haste-map "^27.2.5" + jest-message-util "^27.2.5" + jest-mock "^27.2.5" jest-regex-util "^27.0.6" - jest-resolve "^27.2.4" - jest-snapshot "^27.2.4" - jest-util "^27.2.4" - jest-validate "^27.2.4" + jest-resolve "^27.2.5" + jest-snapshot "^27.2.5" + jest-util "^27.2.5" + jest-validate "^27.2.5" slash "^3.0.0" strip-bom "^4.0.0" yargs "^16.2.0" @@ -6758,10 +6739,10 @@ jest-serializer@^27.0.6: "@types/node" "*" graceful-fs "^4.2.4" -jest-snapshot@^27.2.4: - version "27.2.4" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-27.2.4.tgz#277b2269437e3ffcb91d95a73b24becf33c5a871" - integrity sha512-5DFxK31rYS8X8C6WXsFx8XxrxW3PGa6+9IrUcZdTLg1aEyXDGIeiBh4jbwvh655bg/9vTETbEj/njfZicHTZZw== +jest-snapshot@^27.2.5: + version "27.2.5" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-27.2.5.tgz#8a612fe31e2967f58ad364542198dff61f92ef32" + integrity sha512-2/Jkn+VN6Abwz0llBltZaiJMnL8b1j5Bp/gRIxe9YR3FCEh9qp0TXVV0dcpTGZ8AcJV1SZGQkczewkI9LP5yGw== dependencies: "@babel/core" "^7.7.2" "@babel/generator" "^7.7.2" @@ -6769,37 +6750,25 @@ jest-snapshot@^27.2.4: "@babel/plugin-syntax-typescript" "^7.7.2" "@babel/traverse" "^7.7.2" "@babel/types" "^7.0.0" - "@jest/transform" "^27.2.4" - "@jest/types" "^27.2.4" + "@jest/transform" "^27.2.5" + "@jest/types" "^27.2.5" "@types/babel__traverse" "^7.0.4" "@types/prettier" "^2.1.5" babel-preset-current-node-syntax "^1.0.0" chalk "^4.0.0" - expect "^27.2.4" + expect "^27.2.5" graceful-fs "^4.2.4" - jest-diff "^27.2.4" + jest-diff "^27.2.5" jest-get-type "^27.0.6" - jest-haste-map "^27.2.4" - jest-matcher-utils "^27.2.4" - jest-message-util "^27.2.4" - jest-resolve "^27.2.4" - jest-util "^27.2.4" + jest-haste-map "^27.2.5" + jest-matcher-utils "^27.2.5" + jest-message-util "^27.2.5" + jest-resolve "^27.2.5" + jest-util "^27.2.5" natural-compare "^1.4.0" - pretty-format "^27.2.4" + pretty-format "^27.2.5" semver "^7.3.2" -jest-util@^27.2.4: - version "27.2.4" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-27.2.4.tgz#3d7ce081b2e7f4cfe0156452ac01f3cb456cc656" - integrity sha512-mW++4u+fSvAt3YBWm5IpbmRAceUqa2B++JlUZTiuEt2AmNYn0Yw5oay4cP17TGsMINRNPSGiJ2zNnX60g+VbFg== - dependencies: - "@jest/types" "^27.2.4" - "@types/node" "*" - chalk "^4.0.0" - graceful-fs "^4.2.4" - is-ci "^3.0.0" - picomatch "^2.2.3" - jest-util@^27.2.5: version "27.2.5" resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-27.2.5.tgz#88740c4024d223634a82ce7c2263e8bc6df3b3ba" @@ -6812,29 +6781,29 @@ jest-util@^27.2.5: is-ci "^3.0.0" picomatch "^2.2.3" -jest-validate@^27.2.4: - version "27.2.4" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-27.2.4.tgz#b66d462b2fb93d7e16a47d1aa8763d5600bf2cfa" - integrity sha512-VMtbxbkd7LHnIH7PChdDtrluCFRJ4b1YV2YJzNwwsASMWftq/HgqiqjvptBOWyWOtevgO3f14wPxkPcLlVBRog== +jest-validate@^27.2.5: + version "27.2.5" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-27.2.5.tgz#2d59bf1627d180f395ba58f24599b0ee0efcfbdf" + integrity sha512-XgYtjS89nhVe+UfkbLgcm+GgXKWgL80t9nTcNeejyO3t0Sj/yHE8BtIJqjZu9NXQksYbGImoQRXmQ1gP+Guffw== dependencies: - "@jest/types" "^27.2.4" + "@jest/types" "^27.2.5" camelcase "^6.2.0" chalk "^4.0.0" jest-get-type "^27.0.6" leven "^3.1.0" - pretty-format "^27.2.4" + pretty-format "^27.2.5" -jest-watcher@^27.2.4: - version "27.2.4" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-27.2.4.tgz#b1d5c39ab94f59f4f35f66cc96f7761a10e0cfc4" - integrity sha512-LXC/0+dKxhK7cfF7reflRYlzDIaQE+fL4ynhKhzg8IMILNMuI4xcjXXfUJady7OR4/TZeMg7X8eHx8uan9vqaQ== +jest-watcher@^27.2.5: + version "27.2.5" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-27.2.5.tgz#41cd3e64dc5bea8a4327083d71ba7667be400567" + integrity sha512-umV4qGozg2Dn6DTTtqAh9puPw+DGLK9AQas7+mWjiK8t0fWMpxKg8ZXReZw7L4C88DqorsGUiDgwHNZ+jkVrkQ== dependencies: - "@jest/test-result" "^27.2.4" - "@jest/types" "^27.2.4" + "@jest/test-result" "^27.2.5" + "@jest/types" "^27.2.5" "@types/node" "*" ansi-escapes "^4.2.1" chalk "^4.0.0" - jest-util "^27.2.4" + jest-util "^27.2.5" string-length "^4.0.1" jest-worker@^27.0.6: @@ -6846,15 +6815,6 @@ jest-worker@^27.0.6: merge-stream "^2.0.0" supports-color "^8.0.0" -jest-worker@^27.2.4: - version "27.2.4" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.2.4.tgz#881455df75e22e7726a53f43703ab74d6b36f82d" - integrity sha512-Zq9A2Pw59KkVjBBKD1i3iE2e22oSjXhUKKuAK1HGX8flGwkm6NMozyEYzKd41hXc64dbd/0eWFeEEuxqXyhM+g== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^8.0.0" - jest-worker@^27.2.5: version "27.2.5" resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.2.5.tgz#ed42865661959488aa020e8a325df010597c36d4" @@ -6865,13 +6825,13 @@ jest-worker@^27.2.5: supports-color "^8.0.0" jest@^27.0.6: - version "27.2.4" - resolved "https://registry.yarnpkg.com/jest/-/jest-27.2.4.tgz#70e27bef873138afc123aa4769f7124c50ad3efb" - integrity sha512-h4uqb1EQLfPulWyUFFWv9e9Nn8sCqsJ/j3wk/KCY0p4s4s0ICCfP3iMf6hRf5hEhsDyvyrCgKiZXma63gMz16A== + version "27.2.5" + resolved "https://registry.yarnpkg.com/jest/-/jest-27.2.5.tgz#7d8a5c8781a160f693beeb7c68e46c16ef948148" + integrity sha512-vDMzXcpQN4Ycaqu+vO7LX8pZwNNoKMhc+gSp6q1D8S6ftRk8gNW8cni3YFxknP95jxzQo23Lul0BI2FrWgnwYQ== dependencies: - "@jest/core" "^27.2.4" + "@jest/core" "^27.2.5" import-local "^3.0.2" - jest-cli "^27.2.4" + jest-cli "^27.2.5" jison-lex@0.3.x: version "0.3.4" @@ -8352,12 +8312,12 @@ pretty-bytes@^5.6.0: resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb" integrity sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg== -pretty-format@^27.2.4: - version "27.2.4" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.2.4.tgz#08ea39c5eab41b082852d7093059a091f6ddc748" - integrity sha512-NUjw22WJHldzxyps2YjLZkUj6q1HvjqFezkB9Y2cklN8NtVZN/kZEXGZdFw4uny3oENzV5EEMESrkI0YDUH8vg== +pretty-format@^27.2.5: + version "27.2.5" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.2.5.tgz#7cfe2a8e8f01a5b5b29296a0b70f4140df0830c5" + integrity sha512-+nYn2z9GgicO9JiqmY25Xtq8SYfZ/5VCpEU3pppHHNAhd1y+ZXxmNPd1evmNcAd6Hz4iBV2kf0UpGth5A/VJ7g== dependencies: - "@jest/types" "^27.2.4" + "@jest/types" "^27.2.5" ansi-regex "^5.0.1" ansi-styles "^5.0.0" react-is "^17.0.1" From d325f4b49606380b49b190528a352e21cd2dc668 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 12 Oct 2021 06:46:48 +0200 Subject: [PATCH 11/42] Bump eslint from 7.32.0 to 8.0.0 (#2405) Bumps [eslint](https://github.com/eslint/eslint) from 7.32.0 to 8.0.0. - [Release notes](https://github.com/eslint/eslint/releases) - [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md) - [Commits](https://github.com/eslint/eslint/compare/v7.32.0...v8.0.0) --- updated-dependencies: - dependency-name: eslint dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 156 +++++++++++++++++++++++++-------------------------- 2 files changed, 77 insertions(+), 81 deletions(-) diff --git a/package.json b/package.json index dbc2e1755..3570ed577 100644 --- a/package.json +++ b/package.json @@ -80,7 +80,7 @@ "css-to-string-loader": "^0.1.3", "cypress": "8.6.0", "documentation": "13.2.0", - "eslint": "^7.30.0", + "eslint": "^8.0.0", "eslint-config-prettier": "^8.3.0", "eslint-plugin-prettier": "^4.0.0", "husky": "^7.0.1", diff --git a/yarn.lock b/yarn.lock index e98f196e5..7ec0f1601 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,13 +2,6 @@ # yarn lockfile v1 -"@babel/code-frame@7.12.11": - version "7.12.11" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" - integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== - dependencies: - "@babel/highlight" "^7.10.4" - "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.14.5", "@babel/code-frame@^7.15.8": version "7.15.8" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.15.8.tgz#45990c47adadb00c03677baa89221f7cc23d2503" @@ -398,7 +391,7 @@ "@babel/traverse" "^7.15.4" "@babel/types" "^7.15.4" -"@babel/highlight@^7.10.4", "@babel/highlight@^7.14.5": +"@babel/highlight@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.5.tgz#6861a52f03966405001f6aa534a01a24d99e8cd9" integrity sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg== @@ -1297,14 +1290,14 @@ resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.3.tgz#90420f9f9c6d3987f176a19a7d8e764271a2f55d" integrity sha512-Fxt+AfXgjMoin2maPIYzFZnQjAXjAL0PHscM5pRTtatFqB+vZxAM9tLp2Optnuw3QOQC40jTNeGYFOMvyf7v9g== -"@eslint/eslintrc@^0.4.3": - version "0.4.3" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c" - integrity sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw== +"@eslint/eslintrc@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.0.2.tgz#6044884f7f93c4ecc2d1694c7486cce91ef8f746" + integrity sha512-x1ZXdEFsvTcnbTZgqcWUL9w2ybgZCw/qbKTPQnab+XnYA2bMQpJCh+/bBzCRfDJaJdlrrQlOk49jNtru9gL/6Q== dependencies: ajv "^6.12.4" - debug "^4.1.1" - espree "^7.3.0" + debug "^4.3.2" + espree "^9.0.0" globals "^13.9.0" ignore "^4.0.6" import-fresh "^3.2.1" @@ -1324,10 +1317,10 @@ dependencies: "@hapi/hoek" "^9.0.0" -"@humanwhocodes/config-array@^0.5.0": - version "0.5.0" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9" - integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg== +"@humanwhocodes/config-array@^0.6.0": + version "0.6.0" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.6.0.tgz#b5621fdb3b32309d2d16575456cbc277fa8f021a" + integrity sha512-JQlEKbcgEUjBFhLIF4iqM7u/9lwgHRBcpHrmUNCALK0Q3amXN6lxdoXLnF0sm11E9VqTmBALR87IlUg1bZ8A9A== dependencies: "@humanwhocodes/object-schema" "^1.2.0" debug "^4.1.1" @@ -2213,12 +2206,12 @@ acorn-walk@^7.0.0, acorn-walk@^7.1.1: resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== -acorn@^7.0.0, acorn@^7.1.1, acorn@^7.4.0: +acorn@^7.0.0, acorn@^7.1.1: version "7.4.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== -acorn@^8.2.4, acorn@^8.4.1: +acorn@^8.2.4, acorn@^8.4.1, acorn@^8.5.0: version "8.5.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.5.0.tgz#4512ccb99b3698c752591e9bb4472e38ad43cee2" integrity sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q== @@ -2258,7 +2251,7 @@ ajv@^6.10.0, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@^8.0.1, ajv@^8.0.5, ajv@^8.6.2: +ajv@^8.0.5, ajv@^8.6.2: version "8.6.2" resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.6.2.tgz#2fb45e0e5fcbc0813326c1c3da535d1881bb0571" integrity sha512-9807RlWAgT564wT+DjeyU5OFMPjmzxVobvDFmNAhY+5zD6A2ly3jDp6sgnfyDtlIQ+7H97oc/DGCzzfu9rjw9w== @@ -2366,6 +2359,11 @@ argparse@^1.0.7: dependencies: sprintf-js "~1.0.2" +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + arr-diff@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" @@ -4169,7 +4167,7 @@ debug@2.6.9, debug@^2.2.0, debug@^2.3.3: dependencies: ms "2.0.0" -debug@4, debug@4.3.2, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2: +debug@4, debug@4.3.2, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2: version "4.3.2" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== @@ -4692,54 +4690,61 @@ eslint-scope@5.1.1, eslint-scope@^5.1.1: esrecurse "^4.3.0" estraverse "^4.1.1" -eslint-utils@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" - integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== +eslint-scope@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-6.0.0.tgz#9cf45b13c5ac8f3d4c50f46a5121f61b3e318978" + integrity sha512-uRDL9MWmQCkaFus8RF5K9/L/2fn+80yoW3jkD53l4shjCh26fCtvJGasxjUqP5OT87SYTxCVA3BwTUzuELx9kA== dependencies: - eslint-visitor-keys "^1.1.0" + esrecurse "^4.3.0" + estraverse "^5.2.0" -eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" - integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== +eslint-utils@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" + integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== + dependencies: + eslint-visitor-keys "^2.0.0" eslint-visitor-keys@^2.0.0, eslint-visitor-keys@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== -eslint@^7.30.0: - version "7.32.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.32.0.tgz#c6d328a14be3fb08c8d1d21e12c02fdb7a2a812d" - integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA== +eslint-visitor-keys@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.0.0.tgz#e32e99c6cdc2eb063f204eda5db67bfe58bb4186" + integrity sha512-mJOZa35trBTb3IyRmo8xmKBZlxf+N7OnUl4+ZhJHs/r+0770Wh/LEACE2pqMGMe27G/4y8P2bYGk4J70IC5k1Q== + +eslint@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.0.0.tgz#2c2d0ac6353755667ac90c9ff4a9c1315e43fcff" + integrity sha512-03spzPzMAO4pElm44m60Nj08nYonPGQXmw6Ceai/S4QK82IgwWO1EXx1s9namKzVlbVu3Jf81hb+N+8+v21/HQ== dependencies: - "@babel/code-frame" "7.12.11" - "@eslint/eslintrc" "^0.4.3" - "@humanwhocodes/config-array" "^0.5.0" + "@eslint/eslintrc" "^1.0.2" + "@humanwhocodes/config-array" "^0.6.0" ajv "^6.10.0" chalk "^4.0.0" cross-spawn "^7.0.2" - debug "^4.0.1" + debug "^4.3.2" doctrine "^3.0.0" enquirer "^2.3.5" escape-string-regexp "^4.0.0" - eslint-scope "^5.1.1" - eslint-utils "^2.1.0" - eslint-visitor-keys "^2.0.0" - espree "^7.3.1" + eslint-scope "^6.0.0" + eslint-utils "^3.0.0" + eslint-visitor-keys "^3.0.0" + espree "^9.0.0" esquery "^1.4.0" esutils "^2.0.2" fast-deep-equal "^3.1.3" file-entry-cache "^6.0.1" functional-red-black-tree "^1.0.1" - glob-parent "^5.1.2" + glob-parent "^6.0.1" globals "^13.6.0" ignore "^4.0.6" import-fresh "^3.0.0" imurmurhash "^0.1.4" is-glob "^4.0.0" - js-yaml "^3.13.1" + js-yaml "^4.1.0" json-stable-stringify-without-jsonify "^1.0.1" levn "^0.4.1" lodash.merge "^4.6.2" @@ -4747,22 +4752,21 @@ eslint@^7.30.0: natural-compare "^1.4.0" optionator "^0.9.1" progress "^2.0.0" - regexpp "^3.1.0" + regexpp "^3.2.0" semver "^7.2.1" strip-ansi "^6.0.0" strip-json-comments "^3.1.0" - table "^6.0.9" text-table "^0.2.0" v8-compile-cache "^2.0.3" -espree@^7.3.0, espree@^7.3.1: - version "7.3.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" - integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== +espree@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.0.0.tgz#e90a2965698228502e771c7a58489b1a9d107090" + integrity sha512-r5EQJcYZ2oaGbeR0jR0fFVijGOcwai07/690YRXLINuhmVeRY4UKSAsQPe/0BNuDgwP7Ophoc1PRsr2E3tkbdQ== dependencies: - acorn "^7.4.0" + acorn "^8.5.0" acorn-jsx "^5.3.1" - eslint-visitor-keys "^1.3.0" + eslint-visitor-keys "^3.0.0" esprima@1.1.x, esprima@~1.1.1: version "1.1.1" @@ -5471,6 +5475,13 @@ glob-parent@^5.1.2, glob-parent@~5.1.2: dependencies: is-glob "^4.0.1" +glob-parent@^6.0.1: + version "6.0.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== + dependencies: + is-glob "^4.0.3" + glob-stream@^6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/glob-stream/-/glob-stream-6.1.0.tgz#7045c99413b3eb94888d83ab46d0b404cc7bdde4" @@ -6176,10 +6187,10 @@ is-glob@^3.1.0: dependencies: is-extglob "^2.1.0" -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" - integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== dependencies: is-extglob "^2.1.1" @@ -6884,6 +6895,13 @@ js-yaml@^3.10.0, js-yaml@^3.13.1: argparse "^1.0.7" esprima "^4.0.0" +js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + jsbn@~0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" @@ -7209,11 +7227,6 @@ lodash._reinterpolate@^3.0.0: resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" integrity sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0= -lodash.clonedeep@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" - integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= - lodash.debounce@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" @@ -7249,11 +7262,6 @@ lodash.templatesettings@^4.0.0: dependencies: lodash._reinterpolate "^3.0.0" -lodash.truncate@^4.4.2: - version "4.4.2" - resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" - integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM= - lodash@^4.17.10, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.21, lodash@^4.7.0: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" @@ -8674,7 +8682,7 @@ regexp.prototype.flags@^1.2.0: call-bind "^1.0.2" define-properties "^1.1.3" -regexpp@^3.1.0: +regexpp@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== @@ -9696,18 +9704,6 @@ symbol-tree@^3.2.4: resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== -table@^6.0.9: - version "6.7.1" - resolved "https://registry.yarnpkg.com/table/-/table-6.7.1.tgz#ee05592b7143831a8c94f3cee6aae4c1ccef33e2" - integrity sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg== - dependencies: - ajv "^8.0.1" - lodash.clonedeep "^4.5.0" - lodash.truncate "^4.4.2" - slice-ansi "^4.0.0" - string-width "^4.2.0" - strip-ansi "^6.0.0" - tapable@^2.1.1, tapable@^2.2.0: version "2.2.1" resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" From 96236187b5163f324ba766b9e50a22c7123da9da Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 12 Oct 2021 06:47:15 +0200 Subject: [PATCH 12/42] Bump @babel/preset-env from 7.15.6 to 7.15.8 (#2406) Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.15.6 to 7.15.8. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v7.15.8/packages/babel-preset-env) --- updated-dependencies: - dependency-name: "@babel/preset-env" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- yarn.lock | 81 ++++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 56 insertions(+), 25 deletions(-) diff --git a/yarn.lock b/yarn.lock index 7ec0f1601..227a443ae 100644 --- a/yarn.lock +++ b/yarn.lock @@ -419,10 +419,10 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.15.4" "@babel/plugin-proposal-optional-chaining" "^7.14.5" -"@babel/plugin-proposal-async-generator-functions@^7.15.4": - version "7.15.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.15.4.tgz#f82aabe96c135d2ceaa917feb9f5fca31635277e" - integrity sha512-2zt2g5vTXpMC3OmK6uyjvdXptbhBXfA77XGrd3gh93zwG8lZYBLOBImiGBEG0RANu3JqKEACCz5CGk73OJROBw== +"@babel/plugin-proposal-async-generator-functions@^7.15.8": + version "7.15.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.15.8.tgz#a3100f785fab4357987c4223ab1b02b599048403" + integrity sha512-2Z5F2R2ibINTc63mY7FLqGfEbmofrHU9FitJW1Q7aPaKFhiPvSq6QEt/BoWN5oME3GVyjcRuNNSRbb9LC0CSWA== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/helper-remap-async-to-generator" "^7.15.4" @@ -1032,13 +1032,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-spread@^7.14.6": - version "7.14.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.14.6.tgz#6bd40e57fe7de94aa904851963b5616652f73144" - integrity sha512-Zr0x0YroFJku7n7+/HH3A2eIrGMjbmAIbJSVv0IZ+t3U2WUQUA64S/oeied2e+MaGSjmt4alzBCsK9E8gh+fag== +"@babel/plugin-transform-spread@^7.15.8": + version "7.15.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.15.8.tgz#79d5aa27f68d700449b2da07691dfa32d2f6d468" + integrity sha512-/daZ8s2tNaRekl9YJa9X4bzjpeRZLt122cpgFnQPLGUe61PH8zMEBmYqKkW5xF5JUEh5buEGXJoQpqBmIbpmEQ== dependencies: "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.14.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.15.4" "@babel/plugin-transform-sticky-regex@^7.14.5": version "7.14.5" @@ -1077,16 +1077,16 @@ "@babel/helper-plugin-utils" "^7.14.5" "@babel/preset-env@^7.12.1", "@babel/preset-env@^7.14.7": - version "7.15.6" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.15.6.tgz#0f3898db9d63d320f21b17380d8462779de57659" - integrity sha512-L+6jcGn7EWu7zqaO2uoTDjjMBW+88FXzV8KvrBl2z6MtRNxlsmUNRlZPaNNPUTgqhyC5DHNFk/2Jmra+ublZWw== + version "7.15.8" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.15.8.tgz#f527ce5bcb121cd199f6b502bf23e420b3ff8dba" + integrity sha512-rCC0wH8husJgY4FPbHsiYyiLxSY8oMDJH7Rl6RQMknbN9oDDHhM9RDFvnGM2MgkbUJzSQB4gtuwygY5mCqGSsA== dependencies: "@babel/compat-data" "^7.15.0" "@babel/helper-compilation-targets" "^7.15.4" "@babel/helper-plugin-utils" "^7.14.5" "@babel/helper-validator-option" "^7.14.5" "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.15.4" - "@babel/plugin-proposal-async-generator-functions" "^7.15.4" + "@babel/plugin-proposal-async-generator-functions" "^7.15.8" "@babel/plugin-proposal-class-properties" "^7.14.5" "@babel/plugin-proposal-class-static-block" "^7.15.4" "@babel/plugin-proposal-dynamic-import" "^7.14.5" @@ -1141,7 +1141,7 @@ "@babel/plugin-transform-regenerator" "^7.14.5" "@babel/plugin-transform-reserved-words" "^7.14.5" "@babel/plugin-transform-shorthand-properties" "^7.14.5" - "@babel/plugin-transform-spread" "^7.14.6" + "@babel/plugin-transform-spread" "^7.15.8" "@babel/plugin-transform-sticky-regex" "^7.14.5" "@babel/plugin-transform-template-literals" "^7.14.5" "@babel/plugin-transform-typeof-symbol" "^7.14.5" @@ -1150,7 +1150,7 @@ "@babel/preset-modules" "^0.1.4" "@babel/types" "^7.15.6" babel-plugin-polyfill-corejs2 "^0.2.2" - babel-plugin-polyfill-corejs3 "^0.2.2" + babel-plugin-polyfill-corejs3 "^0.2.5" babel-plugin-polyfill-regenerator "^0.2.2" core-js-compat "^3.16.0" semver "^6.3.0" @@ -2536,13 +2536,13 @@ babel-plugin-polyfill-corejs2@^0.2.2: "@babel/helper-define-polyfill-provider" "^0.2.2" semver "^6.1.1" -babel-plugin-polyfill-corejs3@^0.2.2: - version "0.2.3" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.3.tgz#72add68cf08a8bf139ba6e6dfc0b1d504098e57b" - integrity sha512-rCOFzEIJpJEAU14XCcV/erIf/wZQMmMT5l5vXOpL5uoznyOGfDIjPj6FVytMvtzaKSTSVKouOCTPJ5OMUZH30g== +babel-plugin-polyfill-corejs3@^0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.5.tgz#2779846a16a1652244ae268b1e906ada107faf92" + integrity sha512-ninF5MQNwAX9Z7c9ED+H2pGt1mXdP4TqzlHKyPIYmJIYz0N+++uwdM7RnJukklhzJ54Q84vA4ZJkgs7lu5vqcw== dependencies: "@babel/helper-define-polyfill-provider" "^0.2.2" - core-js-compat "^3.14.0" + core-js-compat "^3.16.2" babel-plugin-polyfill-regenerator@^0.2.2: version "0.2.2" @@ -2748,6 +2748,17 @@ browserslist@^4.14.5, browserslist@^4.16.6: escalade "^3.1.1" node-releases "^1.1.75" +browserslist@^4.17.3: + version "4.17.3" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.17.3.tgz#2844cd6eebe14d12384b0122d217550160d2d624" + integrity sha512-59IqHJV5VGdcJZ+GZ2hU5n4Kv3YiASzW6Xk5g9tf5a/MAzGeFwgGWU39fVzNIOVcgB3+Gp+kiQu0HEfTVU/3VQ== + dependencies: + caniuse-lite "^1.0.30001264" + electron-to-chromium "^1.3.857" + escalade "^3.1.1" + node-releases "^1.1.77" + picocolors "^0.2.1" + bser@2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" @@ -2865,6 +2876,11 @@ caniuse-lite@^1.0.30001254: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001259.tgz#ae21691d3da9c4be6144403ac40f71d9f6efd790" integrity sha512-V7mQTFhjITxuk9zBpI6nYsiTXhcPe05l+364nZjK7MFK/E7ibvYBSAXr4YcA6oPR8j3ZLM/LN+lUqUVAQEUZFg== +caniuse-lite@^1.0.30001264: + version "1.0.30001265" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001265.tgz#0613c9e6c922e422792e6fcefdf9a3afeee4f8c3" + integrity sha512-YzBnspggWV5hep1m9Z6sZVLOt7vrju8xWooFAgN6BA5qvy98qPAPb7vNUzypFaoh2pb3vlfzbDO8tB57UPGbtw== + caseless@~0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" @@ -3493,12 +3509,12 @@ copy-descriptor@^0.1.0: resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= -core-js-compat@^3.14.0, core-js-compat@^3.16.0: - version "3.16.0" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.16.0.tgz#fced4a0a534e7e02f7e084bff66c701f8281805f" - integrity sha512-5D9sPHCdewoUK7pSUPfTF7ZhLh8k9/CoJXWUEo+F1dZT5Z1DVgcuRqUKhjeKW+YLb8f21rTFgWwQJiNw1hoZ5Q== +core-js-compat@^3.16.0, core-js-compat@^3.16.2: + version "3.18.2" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.18.2.tgz#e40c266fbd613948dd8d2d2156345da8ac03c142" + integrity sha512-25VJYCJtGjZwLguj7d66oiHfmnVw3TMOZ0zV8DyMJp/aeQ3OjR519iOOeck08HMyVVRAqXxafc2Hl+5QstJrsQ== dependencies: - browserslist "^4.16.6" + browserslist "^4.17.3" semver "7.0.0" core-util-is@1.0.2, core-util-is@~1.0.0: @@ -4546,6 +4562,11 @@ electron-to-chromium@^1.3.830: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.845.tgz#326d3be3ee5d2c065f689119d441c997f9fd41d8" integrity sha512-y0RorqmExFDI4RjLEC6j365bIT5UAXf9WIRcknvSFHVhbC/dRnCgJnPA3DUUW6SCC85QGKEafgqcHJ6uPdEP1Q== +electron-to-chromium@^1.3.857: + version "1.3.864" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.864.tgz#6a993bcc196a2b8b3df84d28d5d4dd912393885f" + integrity sha512-v4rbad8GO6/yVI92WOeU9Wgxc4NA0n4f6P1FvZTY+jyY7JHEhw3bduYu60v3Q1h81Cg6eo4ApZrFPuycwd5hGw== + emittery@^0.8.1: version "0.8.1" resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.8.1.tgz#bb23cc86d03b30aa75a7f734819dee2e1ba70860" @@ -7729,6 +7750,11 @@ node-releases@^1.1.75: resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.76.tgz#df245b062b0cafbd5282ab6792f7dccc2d97f36e" integrity sha512-9/IECtNr8dXNmPWmFXepT0/7o5eolGesHUa3mtr0KlgnCvnZxwh2qensKL42JJY2vQKC3nIBXetFAqR+PW1CmA== +node-releases@^1.1.77: + version "1.1.77" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.77.tgz#50b0cfede855dd374e7585bf228ff34e57c1c32e" + integrity sha512-rB1DUFUNAN4Gn9keO2K1efO35IDK7yKHCdCaIMvFO7yUYmmZYeDjnGKle26G4rwj+LKRQpjyUUvMkPglwGCYNQ== + nomnom@1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/nomnom/-/nomnom-1.5.2.tgz#f4345448a853cfbd5c0d26320f2477ab0526fe2f" @@ -8233,6 +8259,11 @@ performance-now@^2.1.0: resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= +picocolors@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-0.2.1.tgz#570670f793646851d1ba135996962abad587859f" + integrity sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA== + picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" From 4620a7eeba17b0385e8456e36dc0cf25145f56c8 Mon Sep 17 00:00:00 2001 From: Tshepang Lekhonkhobe Date: Thu, 14 Oct 2021 11:53:35 +0200 Subject: [PATCH 13/42] adding missing word (#2409) --- docs/diagrams-and-syntax-and-examples/flowchart.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/diagrams-and-syntax-and-examples/flowchart.md b/docs/diagrams-and-syntax-and-examples/flowchart.md index 3c4d10d6c..8be4ec89c 100644 --- a/docs/diagrams-and-syntax-and-examples/flowchart.md +++ b/docs/diagrams-and-syntax-and-examples/flowchart.md @@ -336,7 +336,7 @@ graph LR ### Chaining of links -It is possible declare many links in the same line as per below: +It is possible to declare many links in the same line as per below: ``` graph LR A -- text --> B -- text2 --> C From 4d477d7e96d86a00a192a9b54c41295ddf0eed64 Mon Sep 17 00:00:00 2001 From: Zer0n0mask <63248690+Zer0n0mask@users.noreply.github.com> Date: Mon, 18 Oct 2021 21:05:52 -0300 Subject: [PATCH 14/42] Update gantt.md with milestones info Included a brief explanation about the use of milestones regarding their time location and the code location of the tag with an example. --- docs/gantt.md | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/docs/gantt.md b/docs/gantt.md index 4dafff1e9..0467d2b5f 100644 --- a/docs/gantt.md +++ b/docs/gantt.md @@ -133,7 +133,26 @@ To do so, start a line with the `section` keyword and give it a name. (Note that ### Milestones -You can add milestones to the diagrams. Milestones differ from tasks as they represent a signle instant in time and are identifiedd by the keyword `milestone` +You can add milestones to the diagrams. Milestones differ from tasks as they represent a signle instant in time and are identifiedd by the keyword `milestone`. Below is an example on how to use milestones. As you may notice, the exact location of the milestone is determined by the initial date for the milestone and the "duration" of the task this way: *initial date*+*duration*/2. + +``` +gantt +dateFormat HH:mm +axisFormat %H:%M +Initial milestone : milestone, m1, 17:49,2min +taska2 : 10min +taska3 : 5min +Final milestone : milestone, m2, 18:14, 2min +``` +```mermaid +gantt +dateFormat HH:mm +axisFormat %H:%M +Initial milestone : milestone, m1, 17:49,2min +taska2 : 10min +taska3 : 5min +Final milestone : milestone, m2, 18:14, 2min +``` ## Setting dates From 23d23251c776be5f39cab270a30d8e68c40187c4 Mon Sep 17 00:00:00 2001 From: Zer0n0mask <63248690+Zer0n0mask@users.noreply.github.com> Date: Mon, 18 Oct 2021 21:39:05 -0300 Subject: [PATCH 15/42] Update entityRelationshipDiagram.md Just a piece of code that was there but didn't appear as code but just as the resulting graph. --- docs/entityRelationshipDiagram.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/docs/entityRelationshipDiagram.md b/docs/entityRelationshipDiagram.md index 4213cd9b6..0aa882424 100644 --- a/docs/entityRelationshipDiagram.md +++ b/docs/entityRelationshipDiagram.md @@ -195,6 +195,24 @@ The `type` and `name` values must begin with an alphabetic character and may con Attributes may also have a `key` or comment defined. Keys can be "PK" or "FK", for Primary Key or Foreign Key. And a `comment` is defined by quotes at the end of an attribute. Comments themselves cannot have quote characters in them. +``` +erDiagram + CAR ||--o{ NAMED-DRIVER : allows + CAR { + string allowedDriver FK 'The license of the allowed driver' + string registrationNumber + string make + string model + } + PERSON ||--o{ NAMED-DRIVER : is + PERSON { + string driversLicense PK 'The license #' + string firstName + string lastName + int age + } +``` + ```mermaid erDiagram CAR ||--o{ NAMED-DRIVER : allows From 4d2d99f227cdc12d7f320224879279f8c697a9f8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 19 Oct 2021 06:30:00 +0200 Subject: [PATCH 16/42] Bump webpack from 5.58.1 to 5.58.2 (#2413) Bumps [webpack](https://github.com/webpack/webpack) from 5.58.1 to 5.58.2. - [Release notes](https://github.com/webpack/webpack/releases) - [Commits](https://github.com/webpack/webpack/compare/v5.58.1...v5.58.2) --- updated-dependencies: - dependency-name: webpack dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- yarn.lock | 36 +++++------------------------------- 1 file changed, 5 insertions(+), 31 deletions(-) diff --git a/yarn.lock b/yarn.lock index 227a443ae..f33930ec3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2737,18 +2737,7 @@ browser-resolve@^1.7.0: dependencies: resolve "1.1.7" -browserslist@^4.14.5, browserslist@^4.16.6: - version "4.17.0" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.17.0.tgz#1fcd81ec75b41d6d4994fb0831b92ac18c01649c" - integrity sha512-g2BJ2a0nEYvEFQC208q8mVAhfNwpZ5Mu8BwgtCdZKO3qx98HChmeg448fPdUzld8aFmfLgVh7yymqV+q1lJZ5g== - dependencies: - caniuse-lite "^1.0.30001254" - colorette "^1.3.0" - electron-to-chromium "^1.3.830" - escalade "^3.1.1" - node-releases "^1.1.75" - -browserslist@^4.17.3: +browserslist@^4.14.5, browserslist@^4.16.6, browserslist@^4.17.3: version "4.17.3" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.17.3.tgz#2844cd6eebe14d12384b0122d217550160d2d624" integrity sha512-59IqHJV5VGdcJZ+GZ2hU5n4Kv3YiASzW6Xk5g9tf5a/MAzGeFwgGWU39fVzNIOVcgB3+Gp+kiQu0HEfTVU/3VQ== @@ -2871,11 +2860,6 @@ camelcase@^6.2.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== -caniuse-lite@^1.0.30001254: - version "1.0.30001259" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001259.tgz#ae21691d3da9c4be6144403ac40f71d9f6efd790" - integrity sha512-V7mQTFhjITxuk9zBpI6nYsiTXhcPe05l+364nZjK7MFK/E7ibvYBSAXr4YcA6oPR8j3ZLM/LN+lUqUVAQEUZFg== - caniuse-lite@^1.0.30001264: version "1.0.30001265" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001265.tgz#0613c9e6c922e422792e6fcefdf9a3afeee4f8c3" @@ -3149,7 +3133,7 @@ color-name@~1.1.4: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== -colorette@^1.2.2, colorette@^1.3.0: +colorette@^1.2.2: version "1.4.0" resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.4.0.tgz#5190fbb87276259a86ad700bff2c6d6faa3fca40" integrity sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g== @@ -4557,11 +4541,6 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= -electron-to-chromium@^1.3.830: - version "1.3.845" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.845.tgz#326d3be3ee5d2c065f689119d441c997f9fd41d8" - integrity sha512-y0RorqmExFDI4RjLEC6j365bIT5UAXf9WIRcknvSFHVhbC/dRnCgJnPA3DUUW6SCC85QGKEafgqcHJ6uPdEP1Q== - electron-to-chromium@^1.3.857: version "1.3.864" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.864.tgz#6a993bcc196a2b8b3df84d28d5d4dd912393885f" @@ -7745,11 +7724,6 @@ node-modules-regexp@^1.0.0: resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= -node-releases@^1.1.75: - version "1.1.76" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.76.tgz#df245b062b0cafbd5282ab6792f7dccc2d97f36e" - integrity sha512-9/IECtNr8dXNmPWmFXepT0/7o5eolGesHUa3mtr0KlgnCvnZxwh2qensKL42JJY2vQKC3nIBXetFAqR+PW1CmA== - node-releases@^1.1.77: version "1.1.77" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.77.tgz#50b0cfede855dd374e7585bf228ff34e57c1c32e" @@ -10591,9 +10565,9 @@ webpack-sources@^3.2.0: integrity sha512-t6BMVLQ0AkjBOoRTZgqrWm7xbXMBzD+XDq2EZ96+vMfn3qKgsvdXZhbPZ4ElUOpdv4u+iiGe+w3+J75iy/bYGA== webpack@^5.53.0: - version "5.58.1" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.58.1.tgz#df8aad72b617a9d0db8c89d4f410784ee93320d7" - integrity sha512-4Z/dmbTU+VmkCb2XNgW7wkE5TfEcSooclprn/UEuVeAkwHhn07OcgUsyaKHGtCY/VobjnsYBlyhKeMLiSoOqPg== + version "5.58.2" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.58.2.tgz#6b4af12fc9bd5cbedc00dc0a2fc2b9592db16b44" + integrity sha512-3S6e9Vo1W2ijk4F4PPWRIu6D/uGgqaPmqw+av3W3jLDujuNkdxX5h5c+RQ6GkjVR+WwIPOfgY8av+j5j4tMqJw== dependencies: "@types/eslint-scope" "^3.7.0" "@types/estree" "^0.0.50" From 4a0b074967bdaa732df14f4c4cd590e6420ff817 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 19 Oct 2021 06:30:59 +0200 Subject: [PATCH 17/42] Bump babel-jest from 27.2.5 to 27.3.0 (#2414) Bumps [babel-jest](https://github.com/facebook/jest/tree/HEAD/packages/babel-jest) from 27.2.5 to 27.3.0. - [Release notes](https://github.com/facebook/jest/releases) - [Changelog](https://github.com/facebook/jest/blob/main/CHANGELOG.md) - [Commits](https://github.com/facebook/jest/commits/v27.3.0/packages/babel-jest) --- updated-dependencies: - dependency-name: babel-jest dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- yarn.lock | 61 ++++++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 51 insertions(+), 10 deletions(-) diff --git a/yarn.lock b/yarn.lock index f33930ec3..3cd4dfb43 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1489,10 +1489,10 @@ jest-haste-map "^27.2.5" jest-runtime "^27.2.5" -"@jest/transform@^27.2.5": - version "27.2.5" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-27.2.5.tgz#02b08862a56dbedddf0ba3c2eae41e049a250e29" - integrity sha512-29lRtAHHYGALbZOx343v0zKmdOg4Sb0rsA1uSv0818bvwRhs3TyElOmTVXlrw0v1ZTqXJCAH/cmoDXimBhQOJQ== +"@jest/transform@^27.2.5", "@jest/transform@^27.3.0": + version "27.3.0" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-27.3.0.tgz#f2a63883eaada30f8141938ec1ad23ba7fdfb97e" + integrity sha512-IKrFhIT/+WIfeNjIRKTwQN7HYCdjKF/mmBqoD660gyGWVw1MzCO9pQuEJK9GXEnFWIuOcMHlm8XfUaDohP/zxA== dependencies: "@babel/core" "^7.1.0" "@jest/types" "^27.2.5" @@ -1501,9 +1501,9 @@ convert-source-map "^1.4.0" fast-json-stable-stringify "^2.0.0" graceful-fs "^4.2.4" - jest-haste-map "^27.2.5" + jest-haste-map "^27.3.0" jest-regex-util "^27.0.6" - jest-util "^27.2.5" + jest-util "^27.3.0" micromatch "^4.0.4" pirates "^4.0.1" slash "^3.0.0" @@ -2476,11 +2476,11 @@ axios@^0.21.1: follow-redirects "^1.14.0" babel-jest@^27.0.6, babel-jest@^27.2.5: - version "27.2.5" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-27.2.5.tgz#6bbbc1bb4200fe0bfd1b1fbcbe02fc62ebed16aa" - integrity sha512-GC9pWCcitBhSuF7H3zl0mftoKizlswaF0E3qi+rPL417wKkCB0d+Sjjb0OfXvxj7gWiBf497ldgRMii68Xz+2g== + version "27.3.0" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-27.3.0.tgz#72237bff40e1fdaaf869bcaaa43bec58b51b6159" + integrity sha512-+Utvd2yZkT7tkgbBqVcH3uRpgRSTKRi0uBtVkjmuw2jFxp45rQ9fROSqqeHKzHYRelgdVOtQ3M745Wnyme/xOg== dependencies: - "@jest/transform" "^27.2.5" + "@jest/transform" "^27.3.0" "@jest/types" "^27.2.5" "@types/babel__core" "^7.1.14" babel-plugin-istanbul "^6.0.0" @@ -6581,6 +6581,26 @@ jest-haste-map@^27.2.5: optionalDependencies: fsevents "^2.3.2" +jest-haste-map@^27.3.0: + version "27.3.0" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.3.0.tgz#06305f57064af766fdbb54da4c4bc663f72e8a78" + integrity sha512-HV7BXCWhHFuQyLCnmy+VzvYQDccTdt5gpmt2abwIrWTnQiHNAklLB3Djq7Ze3OypTmWBMLgF8AHcKNmLKx8Rzw== + dependencies: + "@jest/types" "^27.2.5" + "@types/graceful-fs" "^4.1.2" + "@types/node" "*" + anymatch "^3.0.3" + fb-watchman "^2.0.0" + graceful-fs "^4.2.4" + jest-regex-util "^27.0.6" + jest-serializer "^27.0.6" + jest-util "^27.3.0" + jest-worker "^27.3.0" + micromatch "^4.0.4" + walker "^1.0.7" + optionalDependencies: + fsevents "^2.3.2" + jest-jasmine2@^27.2.5: version "27.2.5" resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-27.2.5.tgz#baaf96c69913c52bce0100000cf0721027c0fd66" @@ -6792,6 +6812,18 @@ jest-util@^27.2.5: is-ci "^3.0.0" picomatch "^2.2.3" +jest-util@^27.3.0: + version "27.3.0" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-27.3.0.tgz#178f211d308c25c9593d1c5a2f2b3aef28411741" + integrity sha512-SFSDBGKkxXi4jClmU1WLp/cMMlb4YX6+5Lb0CUySxmonArio8yJ2NALMWvQuXchgySiH7Rb912hVZ2QZ6t3x7w== + dependencies: + "@jest/types" "^27.2.5" + "@types/node" "*" + chalk "^4.0.0" + graceful-fs "^4.2.4" + is-ci "^3.0.0" + picomatch "^2.2.3" + jest-validate@^27.2.5: version "27.2.5" resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-27.2.5.tgz#2d59bf1627d180f395ba58f24599b0ee0efcfbdf" @@ -6835,6 +6867,15 @@ jest-worker@^27.2.5: merge-stream "^2.0.0" supports-color "^8.0.0" +jest-worker@^27.3.0: + version "27.3.0" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.3.0.tgz#6b636b63b6672208b91b92d8dcde112d1d4dba2d" + integrity sha512-xTTvvJqOjKBqE1AmwDHiQN8qzp9VoT981LtfXA+XiJVxHn4435vpnrzVcJ6v/ESiuB+IXPjZakn/ppT00xBCWA== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^8.0.0" + jest@^27.0.6: version "27.2.5" resolved "https://registry.yarnpkg.com/jest/-/jest-27.2.5.tgz#7d8a5c8781a160f693beeb7c68e46c16ef948148" From e5966f97b3faf7cb7a9e46e690710512e6ed4a43 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 19 Oct 2021 06:33:58 +0200 Subject: [PATCH 18/42] Bump @percy/cli from 1.0.0-beta.68 to 1.0.0-beta.69 (#2416) Bumps [@percy/cli](https://github.com/percy/cli/tree/HEAD/packages/cli) from 1.0.0-beta.68 to 1.0.0-beta.69. - [Release notes](https://github.com/percy/cli/releases) - [Commits](https://github.com/percy/cli/commits/v1.0.0-beta.69/packages/cli) --- updated-dependencies: - dependency-name: "@percy/cli" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- yarn.lock | 166 +++++++++++++++++++++++++++--------------------------- 1 file changed, 83 insertions(+), 83 deletions(-) diff --git a/yarn.lock b/yarn.lock index 3cd4dfb43..6cf50db64 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1608,102 +1608,102 @@ widest-line "^3.1.0" wrap-ansi "^4.0.0" -"@percy/cli-build@1.0.0-beta.68": - version "1.0.0-beta.68" - resolved "https://registry.yarnpkg.com/@percy/cli-build/-/cli-build-1.0.0-beta.68.tgz#3c7bdb62994aa4815fa62734a0be90464d676aa5" - integrity sha512-SjqNGU9o9CQhRC88fQX1id27+4z5jSINCnrSsCIiTP7jvP+zUBC5sKUmuAzfEgco63giiKaXuF7tfhECn1UOug== +"@percy/cli-build@1.0.0-beta.69": + version "1.0.0-beta.69" + resolved "https://registry.yarnpkg.com/@percy/cli-build/-/cli-build-1.0.0-beta.69.tgz#0ee711edd7395417a7cc19fe59fa990f6f68c329" + integrity sha512-IH827YY1L7cvdxIswXCTR9yQHN82ZS8b17bOOMRdDCsDzGj36VKW/FN/exj8PNpAycXjHpc/kzcBQmyqXsRGhw== dependencies: - "@percy/cli-command" "1.0.0-beta.68" - "@percy/client" "1.0.0-beta.68" - "@percy/env" "1.0.0-beta.68" - "@percy/logger" "1.0.0-beta.68" + "@percy/cli-command" "1.0.0-beta.69" + "@percy/client" "1.0.0-beta.69" + "@percy/env" "1.0.0-beta.69" + "@percy/logger" "1.0.0-beta.69" -"@percy/cli-command@1.0.0-beta.68": - version "1.0.0-beta.68" - resolved "https://registry.yarnpkg.com/@percy/cli-command/-/cli-command-1.0.0-beta.68.tgz#6da95e49e21ea8058ce209a444c9538ab00baabc" - integrity sha512-FCp7c+D7RPbY273LDl62R1cOgNOJZo/6AhhSWzYnuXnKo/aGJ+PRW2WsZEBmDhR18sHdKC7luObWC8r/A3pTLQ== +"@percy/cli-command@1.0.0-beta.69": + version "1.0.0-beta.69" + resolved "https://registry.yarnpkg.com/@percy/cli-command/-/cli-command-1.0.0-beta.69.tgz#87629eda52a4d70302606c3e6b08ecc565da5a70" + integrity sha512-EOiCZ9IRJ/MtL+6AeyDVxnalsnBW2dXlYFBwl2h1luKBFWq/iv+/wZtRvia9W78cLl7LZdqXT+nX9NBD0WmzHA== dependencies: "@oclif/command" "^1.8.0" "@oclif/config" "^1.17.0" "@oclif/plugin-help" "^3.2.0" - "@percy/config" "1.0.0-beta.68" - "@percy/logger" "1.0.0-beta.68" + "@percy/config" "1.0.0-beta.69" + "@percy/logger" "1.0.0-beta.69" -"@percy/cli-config@1.0.0-beta.68": - version "1.0.0-beta.68" - resolved "https://registry.yarnpkg.com/@percy/cli-config/-/cli-config-1.0.0-beta.68.tgz#7df9eb4d5925c1da9b95ae7fff0dcec3fdaa1da3" - integrity sha512-ksrAz0p8zuiJEIi6ZcR1OyNvHuUnGtHgz+aCZDWVI0HvVTRkOWOjvbeRpLFNPfyhsCcNl0OCFQfFXL+tEXndbw== +"@percy/cli-config@1.0.0-beta.69": + version "1.0.0-beta.69" + resolved "https://registry.yarnpkg.com/@percy/cli-config/-/cli-config-1.0.0-beta.69.tgz#ce9fd0c9431e596591a851ea9e864df9198f9e42" + integrity sha512-Fc9K4V57YTehcyVFQPv1iZcSOgDRsjdRxByD8Y6BJlLi51oxabRmn3CJihskC3GQ/di6yW4q3WwjBhuemHIwnQ== dependencies: "@oclif/command" "^1.8.0" "@oclif/config" "^1.17.0" - "@percy/config" "1.0.0-beta.68" - "@percy/logger" "1.0.0-beta.68" + "@percy/config" "1.0.0-beta.69" + "@percy/logger" "1.0.0-beta.69" -"@percy/cli-exec@1.0.0-beta.68": - version "1.0.0-beta.68" - resolved "https://registry.yarnpkg.com/@percy/cli-exec/-/cli-exec-1.0.0-beta.68.tgz#f65b403d815599f1b822cd5988cd0f93a8ca0db5" - integrity sha512-+l/4ophTm8J4zqCMUbzizwTDarIFWStghsipU7AXVKVFPSuKKaedLXDAOgC7lK+4f72Rgck5SFuYLhdll8jzHw== +"@percy/cli-exec@1.0.0-beta.69": + version "1.0.0-beta.69" + resolved "https://registry.yarnpkg.com/@percy/cli-exec/-/cli-exec-1.0.0-beta.69.tgz#0348bd272d1a97ecae75ce0588d297dc8e4ea63a" + integrity sha512-k4IgJGbMT+9jjFGpXWDDUrNvcjb3F1oYh1RMMMvjVbNaCgOBx6FwGGv0u32GPnXI2ZNr9D9XTHx41agImuwXIQ== dependencies: - "@percy/cli-command" "1.0.0-beta.68" - "@percy/core" "1.0.0-beta.68" - "@percy/logger" "1.0.0-beta.68" + "@percy/cli-command" "1.0.0-beta.69" + "@percy/core" "1.0.0-beta.69" + "@percy/logger" "1.0.0-beta.69" cross-spawn "^7.0.3" which "^2.0.2" -"@percy/cli-snapshot@1.0.0-beta.68": - version "1.0.0-beta.68" - resolved "https://registry.yarnpkg.com/@percy/cli-snapshot/-/cli-snapshot-1.0.0-beta.68.tgz#8fa2eb31c8a35b94d66850e599df823ac5fd399e" - integrity sha512-wy54n9/neL5H9Cu+tMaNg98mrZ9WGk/BaqyZ5FEdIZGgdsGrCHO1FQIgyutGPG8+ul7+BqC30FD//UtCwTEf3Q== +"@percy/cli-snapshot@1.0.0-beta.69": + version "1.0.0-beta.69" + resolved "https://registry.yarnpkg.com/@percy/cli-snapshot/-/cli-snapshot-1.0.0-beta.69.tgz#fc6dfd38052c10bd6cbc8487753b5ffb513b6982" + integrity sha512-WkP7CY4qNbYxHrgRbyGCl/yMdCnU9EEIH8Dkuu1biah+QyHBCKbBeQRtpd1QcSZPegHIWrUnRvK0/8lKqdCvIg== dependencies: - "@percy/cli-command" "1.0.0-beta.68" - "@percy/config" "1.0.0-beta.68" - "@percy/core" "1.0.0-beta.68" - "@percy/dom" "1.0.0-beta.68" - "@percy/logger" "1.0.0-beta.68" + "@percy/cli-command" "1.0.0-beta.69" + "@percy/config" "1.0.0-beta.69" + "@percy/core" "1.0.0-beta.69" + "@percy/dom" "1.0.0-beta.69" + "@percy/logger" "1.0.0-beta.69" globby "^11.0.4" path-to-regexp "^6.2.0" picomatch "^2.3.0" serve-handler "^6.1.3" yaml "^1.10.0" -"@percy/cli-upload@1.0.0-beta.68": - version "1.0.0-beta.68" - resolved "https://registry.yarnpkg.com/@percy/cli-upload/-/cli-upload-1.0.0-beta.68.tgz#afbc5166e3fe0f26d119aa2beb59583bc812021d" - integrity sha512-1a7qfdOD6gL0nxrMEh/Sbco+ks+538dD/h4UI58lHeCeW/ssd/vyjS7nVkfNIWlaUg1teaP21CcKCQYStt9p6A== +"@percy/cli-upload@1.0.0-beta.69": + version "1.0.0-beta.69" + resolved "https://registry.yarnpkg.com/@percy/cli-upload/-/cli-upload-1.0.0-beta.69.tgz#a196b14bd9138b878164a64215fe1b856bd724a6" + integrity sha512-oYF3SUatc2YFtuU8GzFF4HOkszLyvtazpV9HIExSxBmOhNLNQtUzwfy1Mu27q44HaLWcKNb4m9YI+H/GZGFWag== dependencies: - "@percy/cli-command" "1.0.0-beta.68" - "@percy/client" "1.0.0-beta.68" - "@percy/config" "1.0.0-beta.68" - "@percy/logger" "1.0.0-beta.68" + "@percy/cli-command" "1.0.0-beta.69" + "@percy/client" "1.0.0-beta.69" + "@percy/config" "1.0.0-beta.69" + "@percy/logger" "1.0.0-beta.69" globby "^11.0.4" image-size "^1.0.0" "@percy/cli@^1.0.0-beta.58": - version "1.0.0-beta.68" - resolved "https://registry.yarnpkg.com/@percy/cli/-/cli-1.0.0-beta.68.tgz#934973853ba6fd4f7a7a8c43c47640dabf4a1956" - integrity sha512-XrQfEHD402CftMI0A7zCD/FsontbtahvjgPvqzEwAwNH9BrQ4eIQWy9eXFMhWMV921x1BXh2I1gPaxck2C/QAw== + version "1.0.0-beta.69" + resolved "https://registry.yarnpkg.com/@percy/cli/-/cli-1.0.0-beta.69.tgz#323868d2737918ea3ad52907b84488dc2c9759d2" + integrity sha512-csV2AD0+CMr6omvY8c3QdqeVS+a1N6YLXTsO/S6Ezm/Egd8Wp8m4jclBNEsNxUUPl+0Oa2q/4fDbbonesMAv4w== dependencies: "@oclif/plugin-help" "^3.2.0" - "@percy/cli-build" "1.0.0-beta.68" - "@percy/cli-config" "1.0.0-beta.68" - "@percy/cli-exec" "1.0.0-beta.68" - "@percy/cli-snapshot" "1.0.0-beta.68" - "@percy/cli-upload" "1.0.0-beta.68" + "@percy/cli-build" "1.0.0-beta.69" + "@percy/cli-config" "1.0.0-beta.69" + "@percy/cli-exec" "1.0.0-beta.69" + "@percy/cli-snapshot" "1.0.0-beta.69" + "@percy/cli-upload" "1.0.0-beta.69" -"@percy/client@1.0.0-beta.68": - version "1.0.0-beta.68" - resolved "https://registry.yarnpkg.com/@percy/client/-/client-1.0.0-beta.68.tgz#844f4cff2bec40759985a4204e3802c17c622782" - integrity sha512-/U9gHb8Lfnwb/fNF5THvdWzcgk2fJztM7G753D6skGUA4h2C3EtbxkwBVERtNDfZQwOFQuNNm7Yw0igrMr85tA== +"@percy/client@1.0.0-beta.69": + version "1.0.0-beta.69" + resolved "https://registry.yarnpkg.com/@percy/client/-/client-1.0.0-beta.69.tgz#224ec9373f7894777ca0b4f3df9a7dd96ff8d78e" + integrity sha512-g/4XziWYTGbbMWHbgYNm4KVog6GffCIm+YofRedNzCB2PP/KKF8smuv8ke5YsECSspSMXiDB2zYJYUXK8J6M4g== dependencies: - "@percy/env" "1.0.0-beta.68" - "@percy/logger" "1.0.0-beta.68" + "@percy/env" "1.0.0-beta.69" + "@percy/logger" "1.0.0-beta.69" -"@percy/config@1.0.0-beta.68": - version "1.0.0-beta.68" - resolved "https://registry.yarnpkg.com/@percy/config/-/config-1.0.0-beta.68.tgz#5a4ce58a116bb47db5060aedd13f64dda67ca961" - integrity sha512-1M2lWeubTPSMDzIgRSyXJwI6EeJIVNnNhDsU//DnMDNb93B/lpJbLnrvMWVztUh//M0EODXfaP30MXMyy/VF6A== +"@percy/config@1.0.0-beta.69": + version "1.0.0-beta.69" + resolved "https://registry.yarnpkg.com/@percy/config/-/config-1.0.0-beta.69.tgz#2d008af46185a8454758f1aa734fa24710b8cd79" + integrity sha512-W/ovsrHYSTJt4XpYpB59X+seK9w13vlrqhE0JuhIhgaAM7mYl5ektc6E0erdTlpJa0aeox68SR2uKNm4mXZQCg== dependencies: - "@percy/logger" "1.0.0-beta.68" + "@percy/logger" "1.0.0-beta.69" ajv "^8.6.2" cosmiconfig "^7.0.0" yaml "^1.10.0" @@ -1718,15 +1718,15 @@ cosmiconfig "^7.0.0" yaml "^1.10.0" -"@percy/core@1.0.0-beta.68": - version "1.0.0-beta.68" - resolved "https://registry.yarnpkg.com/@percy/core/-/core-1.0.0-beta.68.tgz#01b76f618ae3ad36af8f6c53868352c5a0bd0094" - integrity sha512-YfTcWGTWjdPx4FXlU+LFPgh6180rdvN+/52mUYcA/4Bt5eo2NKJLuk/aiOTv5xqTYwLNX5utijTCvBkhH5TQ8g== +"@percy/core@1.0.0-beta.69": + version "1.0.0-beta.69" + resolved "https://registry.yarnpkg.com/@percy/core/-/core-1.0.0-beta.69.tgz#064ca05ab9582c15773032b47d17e9217edc72a4" + integrity sha512-A4BPUcPnHVIZPEQZqh2hqWHEdxdIdvYKwflcHlp/m1OK37ljK2nSNhD8TOCkGPc+5U55I5sPeLCodZIP+Px8FA== dependencies: - "@percy/client" "1.0.0-beta.68" - "@percy/config" "1.0.0-beta.68" - "@percy/dom" "1.0.0-beta.68" - "@percy/logger" "1.0.0-beta.68" + "@percy/client" "1.0.0-beta.69" + "@percy/config" "1.0.0-beta.69" + "@percy/dom" "1.0.0-beta.69" + "@percy/logger" "1.0.0-beta.69" cross-spawn "^7.0.3" extract-zip "^2.0.1" rimraf "^3.0.2" @@ -1739,20 +1739,20 @@ dependencies: "@percy/sdk-utils" "^1.0.0-beta.44" -"@percy/dom@1.0.0-beta.68": - version "1.0.0-beta.68" - resolved "https://registry.yarnpkg.com/@percy/dom/-/dom-1.0.0-beta.68.tgz#e6eb7b3e3ceef986ba2b9faeab3c7ec3c69c0956" - integrity sha512-oGeMngjuHnHFGRqASn+GaCrd5GQbHKWiRTBLflwMgsflpGhgJf40UY1YhtCo6uJi67mqhObTp+NW1Vyv9hFofA== +"@percy/dom@1.0.0-beta.69": + version "1.0.0-beta.69" + resolved "https://registry.yarnpkg.com/@percy/dom/-/dom-1.0.0-beta.69.tgz#53079cb9e0a10fad5752f7c76b3dd1aa2dc5628d" + integrity sha512-ywoGBM46F+yq4ycV7xoUG1hFA7mbSC00uEa5nkn4szQssaHb5nBdIDo6Kgffx+e3Q1g3B1mg0SnBw+FzPwDS5g== -"@percy/env@1.0.0-beta.68": - version "1.0.0-beta.68" - resolved "https://registry.yarnpkg.com/@percy/env/-/env-1.0.0-beta.68.tgz#faa0355ccc761b16dceb41d88a718d88959ad009" - integrity sha512-C/S2wX42XCob2mKmDboaWZA/qVCb7I/IyjOMwWkYBYbbmKtoYtqX2v2JLbtMQ0IhpsIpoZuTtgcbGYdmFfJ5Lw== +"@percy/env@1.0.0-beta.69": + version "1.0.0-beta.69" + resolved "https://registry.yarnpkg.com/@percy/env/-/env-1.0.0-beta.69.tgz#a96a8df42a8937fd97aa533fd90bbde5d7c7bcdc" + integrity sha512-q9sdkKZ90uUN82EPdQVHtmiQX+Qqr5dEuD+1yDSCwgnTTStB3DmXw85WThdboVZBM8ZupJlMgyZWFkLpaCjCsw== -"@percy/logger@1.0.0-beta.68": - version "1.0.0-beta.68" - resolved "https://registry.yarnpkg.com/@percy/logger/-/logger-1.0.0-beta.68.tgz#6c42ba7d7b4350db99c3ba5fa622db7daf27e442" - integrity sha512-PmKMLOexQUlsPASy4vQEQRYa0KHec/6xWsAg/wnWhGgmnQA4l9EKcz7ZvjDWA6H+wrErLM+FdvMsd8POf417CQ== +"@percy/logger@1.0.0-beta.69": + version "1.0.0-beta.69" + resolved "https://registry.yarnpkg.com/@percy/logger/-/logger-1.0.0-beta.69.tgz#29fcd7431f3d5a2cc55c4d7849d6ac340ad7ad03" + integrity sha512-8RRJijvspQGMeHIlh6jppTT0Jz2uH4o7XBQfWEtJ6EyI54MHYWMULeNoVLl51BNNDk8N2GvgIBOX9eCnOhIVzw== "@percy/logger@^1.0.0-beta.36", "@percy/logger@^1.0.0-beta.58": version "1.0.0-beta.58" From 84338524c58597a196dcb75a5af7698dc139de8a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 19 Oct 2021 06:35:26 +0200 Subject: [PATCH 19/42] Bump webpack-cli from 4.9.0 to 4.9.1 (#2417) Bumps [webpack-cli](https://github.com/webpack/webpack-cli) from 4.9.0 to 4.9.1. - [Release notes](https://github.com/webpack/webpack-cli/releases) - [Changelog](https://github.com/webpack/webpack-cli/blob/master/CHANGELOG.md) - [Commits](https://github.com/webpack/webpack-cli/compare/webpack-cli@4.9.0...webpack-cli@4.9.1) --- updated-dependencies: - dependency-name: webpack-cli dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- yarn.lock | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/yarn.lock b/yarn.lock index 6cf50db64..3d0ce5f85 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10303,7 +10303,7 @@ uuid@^8.3.2: resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== -v8-compile-cache@^2.0.3, v8-compile-cache@^2.2.0: +v8-compile-cache@^2.0.3: version "2.3.0" resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== @@ -10527,9 +10527,9 @@ webidl-conversions@^6.1.0: integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== webpack-cli@^4.7.2: - version "4.9.0" - resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.9.0.tgz#dc43e6e0f80dd52e89cbf73d5294bcd7ad6eb343" - integrity sha512-n/jZZBMzVEl4PYIBs+auy2WI0WTQ74EnJDiyD98O2JZY6IVIHJNitkYp/uTXOviIOMfgzrNvC9foKv/8o8KSZw== + version "4.9.1" + resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.9.1.tgz#b64be825e2d1b130f285c314caa3b1ba9a4632b3" + integrity sha512-JYRFVuyFpzDxMDB+v/nanUdQYcZtqFPGzmlW4s+UkPMFhSpfRNmf1z4AwYcHJVdvEFAM7FFCQdNTpsBYhDLusQ== dependencies: "@discoveryjs/json-ext" "^0.5.0" "@webpack-cli/configtest" "^1.1.0" @@ -10542,7 +10542,6 @@ webpack-cli@^4.7.2: import-local "^3.0.2" interpret "^2.2.0" rechoir "^0.7.0" - v8-compile-cache "^2.2.0" webpack-merge "^5.7.3" webpack-dev-middleware@^5.2.1: From 3a77f91ba443561e5bc94d558145f705b7e4bfb0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 19 Oct 2021 07:01:52 +0200 Subject: [PATCH 20/42] Bump jest from 27.2.5 to 27.3.0 (#2421) Bumps [jest](https://github.com/facebook/jest) from 27.2.5 to 27.3.0. - [Release notes](https://github.com/facebook/jest/releases) - [Changelog](https://github.com/facebook/jest/blob/main/CHANGELOG.md) - [Commits](https://github.com/facebook/jest/compare/v27.2.5...v27.3.0) --- updated-dependencies: - dependency-name: jest dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- yarn.lock | 563 +++++++++++++++++++++++++----------------------------- 1 file changed, 263 insertions(+), 300 deletions(-) diff --git a/yarn.lock b/yarn.lock index 3d0ce5f85..b811a9661 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1352,27 +1352,27 @@ resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== -"@jest/console@^27.2.5": - version "27.2.5" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-27.2.5.tgz#bddbf8d41c191f17b52bf0c9e6c0d18605e35d6e" - integrity sha512-smtlRF9vNKorRMCUtJ+yllIoiY8oFmfFG7xlzsAE76nKEwXNhjPOJIsc7Dv+AUitVt76t+KjIpUP9m98Crn2LQ== +"@jest/console@^27.3.0": + version "27.3.0" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-27.3.0.tgz#a55f03a4f7e1e92a5879bdab2e8b9fe4dd5312ba" + integrity sha512-+Tr/xoNiosjckq96xIGpDaGsybeIm45VWXpSvDR8T9deXmWjYKX85prhz8yFPhLG4UVOeMo/B6RI/+flw3sO8A== dependencies: "@jest/types" "^27.2.5" "@types/node" "*" chalk "^4.0.0" - jest-message-util "^27.2.5" - jest-util "^27.2.5" + jest-message-util "^27.3.0" + jest-util "^27.3.0" slash "^3.0.0" -"@jest/core@^27.2.5": - version "27.2.5" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-27.2.5.tgz#854c314708cee0d892ac4f531b9129f00a21ee69" - integrity sha512-VR7mQ+jykHN4WO3OvusRJMk4xCa2MFLipMS+43fpcRGaYrN1KwMATfVEXif7ccgFKYGy5D1TVXTNE4mGq/KMMA== +"@jest/core@^27.3.0": + version "27.3.0" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-27.3.0.tgz#50a521c663181f3a34ecb24bb9fe717e125dc784" + integrity sha512-0B3PWQouwS651m8AbQDse08dfRlzLHqSmywRPGYn2ZzU6RT4aP2Xwz8mEWfSPXXZmtwAtNgUXy0Cbt6QsBqKvw== dependencies: - "@jest/console" "^27.2.5" - "@jest/reporters" "^27.2.5" - "@jest/test-result" "^27.2.5" - "@jest/transform" "^27.2.5" + "@jest/console" "^27.3.0" + "@jest/reporters" "^27.3.0" + "@jest/test-result" "^27.3.0" + "@jest/transform" "^27.3.0" "@jest/types" "^27.2.5" "@types/node" "*" ansi-escapes "^4.2.1" @@ -1380,64 +1380,64 @@ emittery "^0.8.1" exit "^0.1.2" graceful-fs "^4.2.4" - jest-changed-files "^27.2.5" - jest-config "^27.2.5" - jest-haste-map "^27.2.5" - jest-message-util "^27.2.5" + jest-changed-files "^27.3.0" + jest-config "^27.3.0" + jest-haste-map "^27.3.0" + jest-message-util "^27.3.0" jest-regex-util "^27.0.6" - jest-resolve "^27.2.5" - jest-resolve-dependencies "^27.2.5" - jest-runner "^27.2.5" - jest-runtime "^27.2.5" - jest-snapshot "^27.2.5" - jest-util "^27.2.5" - jest-validate "^27.2.5" - jest-watcher "^27.2.5" + jest-resolve "^27.3.0" + jest-resolve-dependencies "^27.3.0" + jest-runner "^27.3.0" + jest-runtime "^27.3.0" + jest-snapshot "^27.3.0" + jest-util "^27.3.0" + jest-validate "^27.3.0" + jest-watcher "^27.3.0" micromatch "^4.0.4" rimraf "^3.0.0" slash "^3.0.0" strip-ansi "^6.0.0" -"@jest/environment@^27.2.5": - version "27.2.5" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-27.2.5.tgz#b85517ccfcec55690c82c56f5a01a3b30c5e3c84" - integrity sha512-XvUW3q6OUF+54SYFCgbbfCd/BKTwm5b2MGLoc2jINXQLKQDTCS2P2IrpPOtQ08WWZDGzbhAzVhOYta3J2arubg== +"@jest/environment@^27.3.0": + version "27.3.0" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-27.3.0.tgz#21b85e6f0baa18e92c5bb173a65c0df24565536d" + integrity sha512-OWx5RBd8QaPLlw7fL6l2IVyhYDpamaW3dDXlBnXb4IPGCIwoXAHZkmHV+VPIzb6xAkcPyXOmVm/rSaEneTqweg== dependencies: - "@jest/fake-timers" "^27.2.5" + "@jest/fake-timers" "^27.3.0" "@jest/types" "^27.2.5" "@types/node" "*" - jest-mock "^27.2.5" + jest-mock "^27.3.0" -"@jest/fake-timers@^27.2.5": - version "27.2.5" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-27.2.5.tgz#0c7e5762d7bfe6e269e7b49279b097a52a42f0a0" - integrity sha512-ZGUb6jg7BgwY+nmO0TW10bc7z7Hl2G/UTAvmxEyZ/GgNFoa31tY9/cgXmqcxnnZ7o5Xs7RAOz3G1SKIj8IVDlg== +"@jest/fake-timers@^27.3.0": + version "27.3.0" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-27.3.0.tgz#716f166f56abc01901b7823da503bf16c8a00ade" + integrity sha512-GCWgnItK6metb75QKflFxcVRlraVGomZonBQ+9B5UPc6wxBB3xzS7dATDWe/73R5P6BfnzCEaiizna771M5r9w== dependencies: "@jest/types" "^27.2.5" "@sinonjs/fake-timers" "^8.0.1" "@types/node" "*" - jest-message-util "^27.2.5" - jest-mock "^27.2.5" - jest-util "^27.2.5" + jest-message-util "^27.3.0" + jest-mock "^27.3.0" + jest-util "^27.3.0" -"@jest/globals@^27.2.5": - version "27.2.5" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-27.2.5.tgz#4115538f98ed6cee4051a90fdbd0854062902099" - integrity sha512-naRI537GM+enFVJQs6DcwGYPn/0vgJNb06zGVbzXfDfe/epDPV73hP1vqO37PqSKDeOXM2KInr6ymYbL1HTP7g== +"@jest/globals@^27.3.0": + version "27.3.0" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-27.3.0.tgz#8822f9a72aea428e3f11a688ff13c7992bfe1ea4" + integrity sha512-EEqmQHMLXgEZfchMVAavUfJuZmORRrP+zhomfREqVE85d1nccd7nw8uN4FQDJ53m5Glm1XtVCyOIJ9kQLrqjeA== dependencies: - "@jest/environment" "^27.2.5" + "@jest/environment" "^27.3.0" "@jest/types" "^27.2.5" - expect "^27.2.5" + expect "^27.3.0" -"@jest/reporters@^27.2.5": - version "27.2.5" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-27.2.5.tgz#65198ed1f3f4449e3f656129764dc6c5bb27ebe3" - integrity sha512-zYuR9fap3Q3mxQ454VWF8I6jYHErh368NwcKHWO2uy2fwByqBzRHkf9j2ekMDM7PaSTWcLBSZyd7NNxR1iHxzQ== +"@jest/reporters@^27.3.0": + version "27.3.0" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-27.3.0.tgz#8d5fd17916aeb1ab415b3ce0a94a31bda654020b" + integrity sha512-D9QLaLgbH+nIjDbKIvoX7yiRX6aXHO56/GzOxKNzKuvJVYhrzeQHcCMttXpp5SB08TdxVvFOPKZfFvkIcVgfBA== dependencies: "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^27.2.5" - "@jest/test-result" "^27.2.5" - "@jest/transform" "^27.2.5" + "@jest/console" "^27.3.0" + "@jest/test-result" "^27.3.0" + "@jest/transform" "^27.3.0" "@jest/types" "^27.2.5" "@types/node" "*" chalk "^4.0.0" @@ -1450,10 +1450,10 @@ istanbul-lib-report "^3.0.0" istanbul-lib-source-maps "^4.0.0" istanbul-reports "^3.0.2" - jest-haste-map "^27.2.5" - jest-resolve "^27.2.5" - jest-util "^27.2.5" - jest-worker "^27.2.5" + jest-haste-map "^27.3.0" + jest-resolve "^27.3.0" + jest-util "^27.3.0" + jest-worker "^27.3.0" slash "^3.0.0" source-map "^0.6.0" string-length "^4.0.1" @@ -1469,27 +1469,27 @@ graceful-fs "^4.2.4" source-map "^0.6.0" -"@jest/test-result@^27.2.5": - version "27.2.5" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-27.2.5.tgz#e9f73cf6cd5e2cc6eb3105339248dea211f9320e" - integrity sha512-ub7j3BrddxZ0BdSnM5JCF6cRZJ/7j3wgdX0+Dtwhw2Po+HKsELCiXUTvh+mgS4/89mpnU1CPhZxe2mTvuLPJJg== +"@jest/test-result@^27.3.0": + version "27.3.0" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-27.3.0.tgz#e093c5d9eb34afa1b653cdb550c4bcaeb3096233" + integrity sha512-5+rYZgj562oPKjExQngfboobeIF2FSrgAvoxlkrogEMIbgT7FY+VAMIkp03klVfJtqo3XKzVWkTfsDSmZFI29w== dependencies: - "@jest/console" "^27.2.5" + "@jest/console" "^27.3.0" "@jest/types" "^27.2.5" "@types/istanbul-lib-coverage" "^2.0.0" collect-v8-coverage "^1.0.0" -"@jest/test-sequencer@^27.2.5": - version "27.2.5" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-27.2.5.tgz#ed5ae91c00e623fb719111d58e380395e16cefbb" - integrity sha512-8j8fHZRfnjbbdMitMAGFKaBZ6YqvFRFJlMJzcy3v75edTOqc7RY65S9JpMY6wT260zAcL2sTQRga/P4PglCu3Q== +"@jest/test-sequencer@^27.3.0": + version "27.3.0" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-27.3.0.tgz#ac245f4f29ce7f81ae5afa441e5bf7bbdd342ef4" + integrity sha512-6eQHyBUCtK06sPfsufzEVijZtAtT7yGR1qaAZBlcz6P+FGJ569VW2O5o7mZc+L++uZc7BH4X2Ks7SMIgy1npJw== dependencies: - "@jest/test-result" "^27.2.5" + "@jest/test-result" "^27.3.0" graceful-fs "^4.2.4" - jest-haste-map "^27.2.5" - jest-runtime "^27.2.5" + jest-haste-map "^27.3.0" + jest-runtime "^27.3.0" -"@jest/transform@^27.2.5", "@jest/transform@^27.3.0": +"@jest/transform@^27.3.0": version "27.3.0" resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-27.3.0.tgz#f2a63883eaada30f8141938ec1ad23ba7fdfb97e" integrity sha512-IKrFhIT/+WIfeNjIRKTwQN7HYCdjKF/mmBqoD660gyGWVw1MzCO9pQuEJK9GXEnFWIuOcMHlm8XfUaDohP/zxA== @@ -2475,7 +2475,7 @@ axios@^0.21.1: dependencies: follow-redirects "^1.14.0" -babel-jest@^27.0.6, babel-jest@^27.2.5: +babel-jest@^27.0.6, babel-jest@^27.3.0: version "27.3.0" resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-27.3.0.tgz#72237bff40e1fdaaf869bcaaa43bec58b51b6159" integrity sha512-+Utvd2yZkT7tkgbBqVcH3uRpgRSTKRi0uBtVkjmuw2jFxp45rQ9fROSqqeHKzHYRelgdVOtQ3M745Wnyme/xOg== @@ -4905,16 +4905,16 @@ expand-brackets@^2.1.4: snapdragon "^0.8.1" to-regex "^3.0.1" -expect@^27.2.5: - version "27.2.5" - resolved "https://registry.yarnpkg.com/expect/-/expect-27.2.5.tgz#16154aaa60b4d9a5b0adacfea3e4d6178f4b93fd" - integrity sha512-ZrO0w7bo8BgGoP/bLz+HDCI+0Hfei9jUSZs5yI/Wyn9VkG9w8oJ7rHRgYj+MA7yqqFa0IwHA3flJzZtYugShJA== +expect@^27.3.0: + version "27.3.0" + resolved "https://registry.yarnpkg.com/expect/-/expect-27.3.0.tgz#6cf2864a2553fe8ea68e19a6ce1641b08c3a5a98" + integrity sha512-JBRU82EBkZUBqLBAoF3ovzNGEBm14QQnePK4PmZdm6de6q/UzPnmIuWP3dRCw/FE8wRQhf/1eKzy1p1q8d6EvQ== dependencies: "@jest/types" "^27.2.5" ansi-styles "^5.0.0" jest-get-type "^27.0.6" - jest-matcher-utils "^27.2.5" - jest-message-util "^27.2.5" + jest-matcher-utils "^27.3.0" + jest-message-util "^27.3.0" jest-regex-util "^27.0.6" express@^4.17.1: @@ -6424,94 +6424,94 @@ istanbul-reports@^3.0.2: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" -jest-changed-files@^27.2.5: - version "27.2.5" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-27.2.5.tgz#9dfd550d158260bcb6fa80aff491f5647f7daeca" - integrity sha512-jfnNJzF89csUKRPKJ4MwZ1SH27wTmX2xiAIHUHrsb/OYd9Jbo4/SXxJ17/nnx6RIifpthk3Y+LEeOk+/dDeGdw== +jest-changed-files@^27.3.0: + version "27.3.0" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-27.3.0.tgz#22a02cc2b34583fc66e443171dc271c0529d263c" + integrity sha512-9DJs9garMHv4RhylUMZgbdCJ3+jHSkpL9aaVKp13xtXAD80qLTLrqcDZL1PHA9dYA0bCI86Nv2BhkLpLhrBcPg== dependencies: "@jest/types" "^27.2.5" execa "^5.0.0" throat "^6.0.1" -jest-circus@^27.2.5: - version "27.2.5" - resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-27.2.5.tgz#573256a6fb6e447ac2fc7e0ade9375013309037f" - integrity sha512-eyL9IcrAxm3Saq3rmajFCwpaxaRMGJ1KJs+7hlTDinXpJmeR3P02bheM3CYohE7UfwOBmrFMJHjgo/WPcLTM+Q== +jest-circus@^27.3.0: + version "27.3.0" + resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-27.3.0.tgz#adc822231f5e634bd676a1eeaa7f4cd6b840cc1d" + integrity sha512-i2P6t92Z6qujHD7C0nVYWm9YofUBMbOOTE9q9vEGi9qFotKUZv1H8M0H3NPTOWButgFuSXZfcwGBXGDAt7b9NA== dependencies: - "@jest/environment" "^27.2.5" - "@jest/test-result" "^27.2.5" + "@jest/environment" "^27.3.0" + "@jest/test-result" "^27.3.0" "@jest/types" "^27.2.5" "@types/node" "*" chalk "^4.0.0" co "^4.6.0" dedent "^0.7.0" - expect "^27.2.5" + expect "^27.3.0" is-generator-fn "^2.0.0" - jest-each "^27.2.5" - jest-matcher-utils "^27.2.5" - jest-message-util "^27.2.5" - jest-runtime "^27.2.5" - jest-snapshot "^27.2.5" - jest-util "^27.2.5" - pretty-format "^27.2.5" + jest-each "^27.3.0" + jest-matcher-utils "^27.3.0" + jest-message-util "^27.3.0" + jest-runtime "^27.3.0" + jest-snapshot "^27.3.0" + jest-util "^27.3.0" + pretty-format "^27.3.0" slash "^3.0.0" stack-utils "^2.0.3" throat "^6.0.1" -jest-cli@^27.2.5: - version "27.2.5" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-27.2.5.tgz#88718c8f05f1c0f209152952ecd61afe4c3311bb" - integrity sha512-XzfcOXi5WQrXqFYsDxq5RDOKY4FNIgBgvgf3ZBz4e/j5/aWep5KnsAYH5OFPMdX/TP/LFsYQMRH7kzJUMh6JKg== +jest-cli@^27.3.0: + version "27.3.0" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-27.3.0.tgz#f9d4278c6ffa1a77127d9d22d7167c2606b1a0f5" + integrity sha512-PUM2RHhqgGRuGc+7QTuyfqPPWGDTCQNMKhtlVBTBYOvhP+7g8a1a7OztM/wfpsKHfqQLHFIe1Mms6jVSXSi4Vg== dependencies: - "@jest/core" "^27.2.5" - "@jest/test-result" "^27.2.5" + "@jest/core" "^27.3.0" + "@jest/test-result" "^27.3.0" "@jest/types" "^27.2.5" chalk "^4.0.0" exit "^0.1.2" graceful-fs "^4.2.4" import-local "^3.0.2" - jest-config "^27.2.5" - jest-util "^27.2.5" - jest-validate "^27.2.5" + jest-config "^27.3.0" + jest-util "^27.3.0" + jest-validate "^27.3.0" prompts "^2.0.1" yargs "^16.2.0" -jest-config@^27.2.5: - version "27.2.5" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-27.2.5.tgz#c2e4ec6ea2bf4ffd2cae3d927999fe6159cba207" - integrity sha512-QdENtn9b5rIIYGlbDNEcgY9LDL5kcokJnXrp7x8AGjHob/XFqw1Z6p+gjfna2sUulQsQ3ce2Fvntnv+7fKYDhQ== +jest-config@^27.3.0: + version "27.3.0" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-27.3.0.tgz#d5d614098e042b4b33ca8a19aca93f8cc82999a4" + integrity sha512-hGknSnu6qJmwENNSUNY4qQjE9PENIYp4P8yHLVzo7qoQN4wuYHZuZEwAKaoQ66iHeSXmcZkCqFvAUa5WFdB0sg== dependencies: "@babel/core" "^7.1.0" - "@jest/test-sequencer" "^27.2.5" + "@jest/test-sequencer" "^27.3.0" "@jest/types" "^27.2.5" - babel-jest "^27.2.5" + babel-jest "^27.3.0" chalk "^4.0.0" deepmerge "^4.2.2" glob "^7.1.1" graceful-fs "^4.2.4" is-ci "^3.0.0" - jest-circus "^27.2.5" - jest-environment-jsdom "^27.2.5" - jest-environment-node "^27.2.5" + jest-circus "^27.3.0" + jest-environment-jsdom "^27.3.0" + jest-environment-node "^27.3.0" jest-get-type "^27.0.6" - jest-jasmine2 "^27.2.5" + jest-jasmine2 "^27.3.0" jest-regex-util "^27.0.6" - jest-resolve "^27.2.5" - jest-runner "^27.2.5" - jest-util "^27.2.5" - jest-validate "^27.2.5" + jest-resolve "^27.3.0" + jest-runner "^27.3.0" + jest-util "^27.3.0" + jest-validate "^27.3.0" micromatch "^4.0.4" - pretty-format "^27.2.5" + pretty-format "^27.3.0" -jest-diff@^27.2.5: - version "27.2.5" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.2.5.tgz#908f7a6aca5653824516ad30e0a9fd9767e53623" - integrity sha512-7gfwwyYkeslOOVQY4tVq5TaQa92mWfC9COsVYMNVYyJTOYAqbIkoD3twi5A+h+tAPtAelRxkqY6/xu+jwTr0dA== +jest-diff@^27.3.0: + version "27.3.0" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.3.0.tgz#4d6f6f9d34f7e2a359b3c7eb142bba4de1e37695" + integrity sha512-Nl2rE58B2ye+RvPcU4hN+6wBCHxX7aWz6RMTMFxe9jAg8ZueMj5QQ+T/nmHRutbBc5BEjrbbEWOrRzp9rUEsYA== dependencies: chalk "^4.0.0" diff-sequences "^27.0.6" jest-get-type "^27.0.6" - pretty-format "^27.2.5" + pretty-format "^27.3.0" jest-docblock@^27.0.6: version "27.0.6" @@ -6520,67 +6520,47 @@ jest-docblock@^27.0.6: dependencies: detect-newline "^3.0.0" -jest-each@^27.2.5: - version "27.2.5" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-27.2.5.tgz#378118d516db730b92096a9607b8711165946353" - integrity sha512-HUPWIbJT0bXarRwKu/m7lYzqxR4GM5EhKOsu0z3t0SKtbFN6skQhpAUADM4qFShBXb9zoOuag5lcrR1x/WM+Ag== +jest-each@^27.3.0: + version "27.3.0" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-27.3.0.tgz#7976cf15bebeef28aa5108a589f4c335b6f0eec9" + integrity sha512-i7qQt+puYusxOoiNyq/M6EyNcfEbvKvqOp89FbiHfm6/POTxgzpp5wAmoS9+BAssoX20t7Zt1A1M7yT3FLVvdg== dependencies: "@jest/types" "^27.2.5" chalk "^4.0.0" jest-get-type "^27.0.6" - jest-util "^27.2.5" - pretty-format "^27.2.5" + jest-util "^27.3.0" + pretty-format "^27.3.0" -jest-environment-jsdom@^27.2.5: - version "27.2.5" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-27.2.5.tgz#21de3ad0e89441d961b592ba7561b16241279208" - integrity sha512-QtRpOh/RQKuXniaWcoFE2ElwP6tQcyxHu0hlk32880g0KczdonCs5P1sk5+weu/OVzh5V4Bt1rXuQthI01mBLg== +jest-environment-jsdom@^27.3.0: + version "27.3.0" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-27.3.0.tgz#bdf6282ff12a68fbc77cb26d6f56c6bddddd5f58" + integrity sha512-2R1w1z7ZlQkK22bo/MrMp7ItuCxXXFspn3HNdbusbtW4OfutaPNWPmAch1Shtuu7G75jEnDb2q0PXSfFD6kEHQ== dependencies: - "@jest/environment" "^27.2.5" - "@jest/fake-timers" "^27.2.5" + "@jest/environment" "^27.3.0" + "@jest/fake-timers" "^27.3.0" "@jest/types" "^27.2.5" "@types/node" "*" - jest-mock "^27.2.5" - jest-util "^27.2.5" + jest-mock "^27.3.0" + jest-util "^27.3.0" jsdom "^16.6.0" -jest-environment-node@^27.2.5: - version "27.2.5" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-27.2.5.tgz#ffa1afb3604c640ec841f044d526c65912e02cef" - integrity sha512-0o1LT4grm7iwrS8fIoLtwJxb/hoa3GsH7pP10P02Jpj7Mi4BXy65u46m89vEM2WfD1uFJQ2+dfDiWZNA2e6bJg== +jest-environment-node@^27.3.0: + version "27.3.0" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-27.3.0.tgz#32483ad819a4b93ba8cf89614a5fb108efba6566" + integrity sha512-bH2Zb73K4x2Yw8j83mmlJUUOFJLzwIpupRvlS9PXiCeIgVTPxL5syBeq5lz310DQBQkNLDTSD5+yYRhheVKvWg== dependencies: - "@jest/environment" "^27.2.5" - "@jest/fake-timers" "^27.2.5" + "@jest/environment" "^27.3.0" + "@jest/fake-timers" "^27.3.0" "@jest/types" "^27.2.5" "@types/node" "*" - jest-mock "^27.2.5" - jest-util "^27.2.5" + jest-mock "^27.3.0" + jest-util "^27.3.0" jest-get-type@^27.0.6: version "27.0.6" resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.0.6.tgz#0eb5c7f755854279ce9b68a9f1a4122f69047cfe" integrity sha512-XTkK5exIeUbbveehcSR8w0bhH+c0yloW/Wpl+9vZrjzztCPWrxhHwkIFpZzCt71oRBsgxmuUfxEqOYoZI2macg== -jest-haste-map@^27.2.5: - version "27.2.5" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.2.5.tgz#0247b7299250643472bbcf5b4ad85c72d5178e2e" - integrity sha512-pzO+Gw2WLponaSi0ilpzYBE0kuVJstoXBX8YWyUebR8VaXuX4tzzn0Zp23c/WaETo7XYTGv2e8KdnpiskAFMhQ== - dependencies: - "@jest/types" "^27.2.5" - "@types/graceful-fs" "^4.1.2" - "@types/node" "*" - anymatch "^3.0.3" - fb-watchman "^2.0.0" - graceful-fs "^4.2.4" - jest-regex-util "^27.0.6" - jest-serializer "^27.0.6" - jest-util "^27.2.5" - jest-worker "^27.2.5" - micromatch "^4.0.4" - walker "^1.0.7" - optionalDependencies: - fsevents "^2.3.2" - jest-haste-map@^27.3.0: version "27.3.0" resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.3.0.tgz#06305f57064af766fdbb54da4c4bc663f72e8a78" @@ -6601,52 +6581,52 @@ jest-haste-map@^27.3.0: optionalDependencies: fsevents "^2.3.2" -jest-jasmine2@^27.2.5: - version "27.2.5" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-27.2.5.tgz#baaf96c69913c52bce0100000cf0721027c0fd66" - integrity sha512-hdxY9Cm/CjLqu2tXeAoQHPgA4vcqlweVXYOg1+S9FeFdznB9Rti+eEBKDDkmOy9iqr4Xfbq95OkC4NFbXXPCAQ== +jest-jasmine2@^27.3.0: + version "27.3.0" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-27.3.0.tgz#d5ac6bec10f6696da99d990bf3df2377578fd331" + integrity sha512-c12xS913sE56pBYZYIuukttDyMJTgK+T/aYKuHse/jyBHk2r78IFxrEl0BL8iiezLZw6g6bKtyww/j9XWOVxqg== dependencies: "@babel/traverse" "^7.1.0" - "@jest/environment" "^27.2.5" + "@jest/environment" "^27.3.0" "@jest/source-map" "^27.0.6" - "@jest/test-result" "^27.2.5" + "@jest/test-result" "^27.3.0" "@jest/types" "^27.2.5" "@types/node" "*" chalk "^4.0.0" co "^4.6.0" - expect "^27.2.5" + expect "^27.3.0" is-generator-fn "^2.0.0" - jest-each "^27.2.5" - jest-matcher-utils "^27.2.5" - jest-message-util "^27.2.5" - jest-runtime "^27.2.5" - jest-snapshot "^27.2.5" - jest-util "^27.2.5" - pretty-format "^27.2.5" + jest-each "^27.3.0" + jest-matcher-utils "^27.3.0" + jest-message-util "^27.3.0" + jest-runtime "^27.3.0" + jest-snapshot "^27.3.0" + jest-util "^27.3.0" + pretty-format "^27.3.0" throat "^6.0.1" -jest-leak-detector@^27.2.5: - version "27.2.5" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-27.2.5.tgz#e2edc3b37d38e8d9a527e10e456b403c3151b206" - integrity sha512-HYsi3GUR72bYhOGB5C5saF9sPdxGzSjX7soSQS+BqDRysc7sPeBwPbhbuT8DnOpijnKjgwWQ8JqvbmReYnt3aQ== +jest-leak-detector@^27.3.0: + version "27.3.0" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-27.3.0.tgz#2a881226a08068f6c2f3f238a65a788d4d3e787e" + integrity sha512-xlCDZUaVVpCOAAiW7b8sgxIzTkEmpElwmWe9wVdU01WnFCvQ0aQiq2JTNbeCgalhjxJVeZlACRHIsLjWrmtlRA== dependencies: jest-get-type "^27.0.6" - pretty-format "^27.2.5" + pretty-format "^27.3.0" -jest-matcher-utils@^27.2.5: - version "27.2.5" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-27.2.5.tgz#4684faaa8eb32bf15e6edaead6834031897e2980" - integrity sha512-qNR/kh6bz0Dyv3m68Ck2g1fLW5KlSOUNcFQh87VXHZwWc/gY6XwnKofx76Qytz3x5LDWT09/2+yXndTkaG4aWg== +jest-matcher-utils@^27.3.0: + version "27.3.0" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-27.3.0.tgz#82c41750db4384d7a8db319348752df2bb0acf7a" + integrity sha512-AK2ds5J29PJcZhfJ/5J8ycbjCXTHnwc6lQeOV1a1GahU1MCpSvyHG1iIevyvp6PXPy6r0q9ywGdCObWHmkK16g== dependencies: chalk "^4.0.0" - jest-diff "^27.2.5" + jest-diff "^27.3.0" jest-get-type "^27.0.6" - pretty-format "^27.2.5" + pretty-format "^27.3.0" -jest-message-util@^27.2.5: - version "27.2.5" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-27.2.5.tgz#ed8b7b0965247bb875a49c1f9b9ab2d1d0820028" - integrity sha512-ggXSLoPfIYcbmZ8glgEJZ8b+e0Msw/iddRmgkoO7lDAr9SmI65IIfv7VnvTnV4FGnIIUIjzM+fHRHO5RBvyAbQ== +jest-message-util@^27.3.0: + version "27.3.0" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-27.3.0.tgz#d64d24c2f19111ea916c092fea015076bb7615fe" + integrity sha512-0c79aomiyE3mlta4NCWsICydvv2W0HlM/eVx46YEO+vdDuwUvNuQn8LqOtcHC1hSd25i03RrPvscrWgHBJQpRQ== dependencies: "@babel/code-frame" "^7.12.13" "@jest/types" "^27.2.5" @@ -6654,14 +6634,14 @@ jest-message-util@^27.2.5: chalk "^4.0.0" graceful-fs "^4.2.4" micromatch "^4.0.4" - pretty-format "^27.2.5" + pretty-format "^27.3.0" slash "^3.0.0" stack-utils "^2.0.3" -jest-mock@^27.2.5: - version "27.2.5" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-27.2.5.tgz#0ec38d5ff1e49c4802e7a4a8179e8d7a2fd84de0" - integrity sha512-HiMB3LqE9RzmeMzZARi2Bz3NoymxyP0gCid4y42ca1djffNtYFKgI220aC1VP1mUZ8rbpqZbHZOJ15093bZV/Q== +jest-mock@^27.3.0: + version "27.3.0" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-27.3.0.tgz#ddf0ec3cc3e68c8ccd489bef4d1f525571a1b867" + integrity sha512-ziZiLk0elZOQjD08bLkegBzv5hCABu/c8Ytx45nJKkysQwGaonvmTxwjLqEA4qGdasq9o2I8/HtdGMNnVsMTGw== dependencies: "@jest/types" "^27.2.5" "@types/node" "*" @@ -6676,40 +6656,40 @@ jest-regex-util@^27.0.6: resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.0.6.tgz#02e112082935ae949ce5d13b2675db3d8c87d9c5" integrity sha512-SUhPzBsGa1IKm8hx2F4NfTGGp+r7BXJ4CulsZ1k2kI+mGLG+lxGrs76veN2LF/aUdGosJBzKgXmNCw+BzFqBDQ== -jest-resolve-dependencies@^27.2.5: - version "27.2.5" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-27.2.5.tgz#fcd8eca005b3d11ba32da443045c028164b83be1" - integrity sha512-BSjefped31bcvvCh++/pN9ueqqN1n0+p8/58yScuWfklLm2tbPbS9d251vJhAy0ZI2pL/0IaGhOTJrs9Y4FJlg== +jest-resolve-dependencies@^27.3.0: + version "27.3.0" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-27.3.0.tgz#1467ed51d87635aec7133b2e29a283500f4609d1" + integrity sha512-YVmlWHdSUCOLrJl8lOIjda6+DtbgOCfExfoSx9gvHFYaXPq0UP2EELiX514H0rURTbSaLsDTodLNyqqEd/IqeA== dependencies: "@jest/types" "^27.2.5" jest-regex-util "^27.0.6" - jest-snapshot "^27.2.5" + jest-snapshot "^27.3.0" -jest-resolve@^27.2.5: - version "27.2.5" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-27.2.5.tgz#04dadbfc1312a2541f5c199c5011945e9cfe5cef" - integrity sha512-q5irwS3oS73SKy3+FM/HL2T7WJftrk9BRzrXF92f7net5HMlS7lJMg/ZwxLB4YohKqjSsdksEw7n/jvMxV7EKg== +jest-resolve@^27.3.0: + version "27.3.0" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-27.3.0.tgz#ffd1db6828b3ee2243f4e4973d80d02e988f2443" + integrity sha512-SZxjtEkM0+f5vxJVpaGztQfnzEqgVnQqHzeGW1P9UON9qDtAET01HWaPCnb10SNUaNRG9NhhOMP418zl44FaIA== dependencies: "@jest/types" "^27.2.5" chalk "^4.0.0" - escalade "^3.1.1" graceful-fs "^4.2.4" - jest-haste-map "^27.2.5" + jest-haste-map "^27.3.0" jest-pnp-resolver "^1.2.2" - jest-util "^27.2.5" - jest-validate "^27.2.5" + jest-util "^27.3.0" + jest-validate "^27.3.0" resolve "^1.20.0" + resolve.exports "^1.1.0" slash "^3.0.0" -jest-runner@^27.2.5: - version "27.2.5" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-27.2.5.tgz#3d9d0626f351480bb2cffcfbbfac240c0097ebd4" - integrity sha512-n41vw9RLg5TKAnEeJK9d6pGOsBOpwE89XBniK+AD1k26oIIy3V7ogM1scbDjSheji8MUPC9pNgCrZ/FHLVDNgg== +jest-runner@^27.3.0: + version "27.3.0" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-27.3.0.tgz#0affed8232bf50daacb186091a98e4c50cc83c7a" + integrity sha512-gbkXXJdV5YpGjHvHZAAl5905qAgi+HLYO9lvLqGBxAWpx+oPOpBcMZfkRef7u86heZj1lmULzEdLjY459Z+rNQ== dependencies: - "@jest/console" "^27.2.5" - "@jest/environment" "^27.2.5" - "@jest/test-result" "^27.2.5" - "@jest/transform" "^27.2.5" + "@jest/console" "^27.3.0" + "@jest/environment" "^27.3.0" + "@jest/test-result" "^27.3.0" + "@jest/transform" "^27.3.0" "@jest/types" "^27.2.5" "@types/node" "*" chalk "^4.0.0" @@ -6717,30 +6697,29 @@ jest-runner@^27.2.5: exit "^0.1.2" graceful-fs "^4.2.4" jest-docblock "^27.0.6" - jest-environment-jsdom "^27.2.5" - jest-environment-node "^27.2.5" - jest-haste-map "^27.2.5" - jest-leak-detector "^27.2.5" - jest-message-util "^27.2.5" - jest-resolve "^27.2.5" - jest-runtime "^27.2.5" - jest-util "^27.2.5" - jest-worker "^27.2.5" + jest-environment-jsdom "^27.3.0" + jest-environment-node "^27.3.0" + jest-haste-map "^27.3.0" + jest-leak-detector "^27.3.0" + jest-message-util "^27.3.0" + jest-resolve "^27.3.0" + jest-runtime "^27.3.0" + jest-util "^27.3.0" + jest-worker "^27.3.0" source-map-support "^0.5.6" throat "^6.0.1" -jest-runtime@^27.2.5: - version "27.2.5" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-27.2.5.tgz#d144c3f6889b927aae1e695b63a41a3323b7016b" - integrity sha512-N0WRZ3QszKyZ3Dm27HTBbBuestsSd3Ud5ooVho47XZJ8aSKO/X1Ag8M1dNx9XzfGVRNdB/xCA3lz8MJwIzPLLA== +jest-runtime@^27.3.0: + version "27.3.0" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-27.3.0.tgz#6957699d74a675441f50627bca9fe8b035c82b83" + integrity sha512-CRhIM45UlYVY2u5IfCx+0jsCm6DLvY9fz34CzDi3c4W1prb7hGKLOJlxbayQIHHMhUx22WhK4eRqXjOKDnKdAQ== dependencies: - "@jest/console" "^27.2.5" - "@jest/environment" "^27.2.5" - "@jest/fake-timers" "^27.2.5" - "@jest/globals" "^27.2.5" + "@jest/console" "^27.3.0" + "@jest/environment" "^27.3.0" + "@jest/globals" "^27.3.0" "@jest/source-map" "^27.0.6" - "@jest/test-result" "^27.2.5" - "@jest/transform" "^27.2.5" + "@jest/test-result" "^27.3.0" + "@jest/transform" "^27.3.0" "@jest/types" "^27.2.5" "@types/yargs" "^16.0.0" chalk "^4.0.0" @@ -6750,14 +6729,14 @@ jest-runtime@^27.2.5: exit "^0.1.2" glob "^7.1.3" graceful-fs "^4.2.4" - jest-haste-map "^27.2.5" - jest-message-util "^27.2.5" - jest-mock "^27.2.5" + jest-haste-map "^27.3.0" + jest-message-util "^27.3.0" + jest-mock "^27.3.0" jest-regex-util "^27.0.6" - jest-resolve "^27.2.5" - jest-snapshot "^27.2.5" - jest-util "^27.2.5" - jest-validate "^27.2.5" + jest-resolve "^27.3.0" + jest-snapshot "^27.3.0" + jest-util "^27.3.0" + jest-validate "^27.3.0" slash "^3.0.0" strip-bom "^4.0.0" yargs "^16.2.0" @@ -6770,10 +6749,10 @@ jest-serializer@^27.0.6: "@types/node" "*" graceful-fs "^4.2.4" -jest-snapshot@^27.2.5: - version "27.2.5" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-27.2.5.tgz#8a612fe31e2967f58ad364542198dff61f92ef32" - integrity sha512-2/Jkn+VN6Abwz0llBltZaiJMnL8b1j5Bp/gRIxe9YR3FCEh9qp0TXVV0dcpTGZ8AcJV1SZGQkczewkI9LP5yGw== +jest-snapshot@^27.3.0: + version "27.3.0" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-27.3.0.tgz#3792e1d22633050a1817c3e0d9a18666d43746ee" + integrity sha512-JaFXNS6D1BxvU2ORKaQwpen3Qic7IJAtGb09lbYiYk/GXXlde67Ts990i2nC5oBs0CstbeQE3jTeRayIZpM1Pw== dependencies: "@babel/core" "^7.7.2" "@babel/generator" "^7.7.2" @@ -6781,37 +6760,25 @@ jest-snapshot@^27.2.5: "@babel/plugin-syntax-typescript" "^7.7.2" "@babel/traverse" "^7.7.2" "@babel/types" "^7.0.0" - "@jest/transform" "^27.2.5" + "@jest/transform" "^27.3.0" "@jest/types" "^27.2.5" "@types/babel__traverse" "^7.0.4" "@types/prettier" "^2.1.5" babel-preset-current-node-syntax "^1.0.0" chalk "^4.0.0" - expect "^27.2.5" + expect "^27.3.0" graceful-fs "^4.2.4" - jest-diff "^27.2.5" + jest-diff "^27.3.0" jest-get-type "^27.0.6" - jest-haste-map "^27.2.5" - jest-matcher-utils "^27.2.5" - jest-message-util "^27.2.5" - jest-resolve "^27.2.5" - jest-util "^27.2.5" + jest-haste-map "^27.3.0" + jest-matcher-utils "^27.3.0" + jest-message-util "^27.3.0" + jest-resolve "^27.3.0" + jest-util "^27.3.0" natural-compare "^1.4.0" - pretty-format "^27.2.5" + pretty-format "^27.3.0" semver "^7.3.2" -jest-util@^27.2.5: - version "27.2.5" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-27.2.5.tgz#88740c4024d223634a82ce7c2263e8bc6df3b3ba" - integrity sha512-QRhDC6XxISntMzFRd/OQ6TGsjbzA5ONO0tlAj2ElHs155x1aEr0rkYJBEysG6H/gZVH3oGFzCdAB/GA8leh8NQ== - dependencies: - "@jest/types" "^27.2.5" - "@types/node" "*" - chalk "^4.0.0" - graceful-fs "^4.2.4" - is-ci "^3.0.0" - picomatch "^2.2.3" - jest-util@^27.3.0: version "27.3.0" resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-27.3.0.tgz#178f211d308c25c9593d1c5a2f2b3aef28411741" @@ -6824,29 +6791,29 @@ jest-util@^27.3.0: is-ci "^3.0.0" picomatch "^2.2.3" -jest-validate@^27.2.5: - version "27.2.5" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-27.2.5.tgz#2d59bf1627d180f395ba58f24599b0ee0efcfbdf" - integrity sha512-XgYtjS89nhVe+UfkbLgcm+GgXKWgL80t9nTcNeejyO3t0Sj/yHE8BtIJqjZu9NXQksYbGImoQRXmQ1gP+Guffw== +jest-validate@^27.3.0: + version "27.3.0" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-27.3.0.tgz#1a92dd52d0a493037f6e1776c49457c031e0adc8" + integrity sha512-5oqWnb9MrkicE+ywR+BxoZr0L7H3WBDAt6LZggnyFHieAk8nnIQAKRpSodNPhiNJTwaMSbNjCe7SxAzKwTsBoA== dependencies: "@jest/types" "^27.2.5" camelcase "^6.2.0" chalk "^4.0.0" jest-get-type "^27.0.6" leven "^3.1.0" - pretty-format "^27.2.5" + pretty-format "^27.3.0" -jest-watcher@^27.2.5: - version "27.2.5" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-27.2.5.tgz#41cd3e64dc5bea8a4327083d71ba7667be400567" - integrity sha512-umV4qGozg2Dn6DTTtqAh9puPw+DGLK9AQas7+mWjiK8t0fWMpxKg8ZXReZw7L4C88DqorsGUiDgwHNZ+jkVrkQ== +jest-watcher@^27.3.0: + version "27.3.0" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-27.3.0.tgz#13730b347e2ae8ba3c9435055bdad2ad73e5c348" + integrity sha512-xpTFRhqzUnNwTGaSBoHcyXROGbAfj2u4LS7Xosb+hzgrFgWgiHtCy3PWyN1DQk31Na98bBjXKxAbfSBACrvEiQ== dependencies: - "@jest/test-result" "^27.2.5" + "@jest/test-result" "^27.3.0" "@jest/types" "^27.2.5" "@types/node" "*" ansi-escapes "^4.2.1" chalk "^4.0.0" - jest-util "^27.2.5" + jest-util "^27.3.0" string-length "^4.0.1" jest-worker@^27.0.6: @@ -6858,15 +6825,6 @@ jest-worker@^27.0.6: merge-stream "^2.0.0" supports-color "^8.0.0" -jest-worker@^27.2.5: - version "27.2.5" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.2.5.tgz#ed42865661959488aa020e8a325df010597c36d4" - integrity sha512-HTjEPZtcNKZ4LnhSp02NEH4vE+5OpJ0EsOWYvGQpHgUMLngydESAAMH5Wd/asPf29+XUDQZszxpLg1BkIIA2aw== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^8.0.0" - jest-worker@^27.3.0: version "27.3.0" resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.3.0.tgz#6b636b63b6672208b91b92d8dcde112d1d4dba2d" @@ -6877,13 +6835,13 @@ jest-worker@^27.3.0: supports-color "^8.0.0" jest@^27.0.6: - version "27.2.5" - resolved "https://registry.yarnpkg.com/jest/-/jest-27.2.5.tgz#7d8a5c8781a160f693beeb7c68e46c16ef948148" - integrity sha512-vDMzXcpQN4Ycaqu+vO7LX8pZwNNoKMhc+gSp6q1D8S6ftRk8gNW8cni3YFxknP95jxzQo23Lul0BI2FrWgnwYQ== + version "27.3.0" + resolved "https://registry.yarnpkg.com/jest/-/jest-27.3.0.tgz#25f0e02aaa51d53bc6e1941eb4838a3452f3320e" + integrity sha512-ZSwT6ROUbUs3bXirxzxBvohE/1y7t+IHIu3fL8WgIeJppE2XsFoa2dB03CI9kXA81znW0Kt0t2R+QVOWeY8cYw== dependencies: - "@jest/core" "^27.2.5" + "@jest/core" "^27.3.0" import-local "^3.0.2" - jest-cli "^27.2.5" + jest-cli "^27.3.0" jison-lex@0.3.x: version "0.3.4" @@ -8366,10 +8324,10 @@ pretty-bytes@^5.6.0: resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb" integrity sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg== -pretty-format@^27.2.5: - version "27.2.5" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.2.5.tgz#7cfe2a8e8f01a5b5b29296a0b70f4140df0830c5" - integrity sha512-+nYn2z9GgicO9JiqmY25Xtq8SYfZ/5VCpEU3pppHHNAhd1y+ZXxmNPd1evmNcAd6Hz4iBV2kf0UpGth5A/VJ7g== +pretty-format@^27.3.0: + version "27.3.0" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.3.0.tgz#ab4679ffc25dd9bc29bab220a4a70a873a19600e" + integrity sha512-Nkdd0xmxZdjCe6GoJomHnrLcCYGYzZKI/fRnUX0sCwDai2mmCHJfC9Ecx33lYgaxAFS/pJCAqhfxmWlm1wNVag== dependencies: "@jest/types" "^27.2.5" ansi-regex "^5.0.1" @@ -8965,6 +8923,11 @@ resolve-url@^0.2.1: resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= +resolve.exports@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.0.tgz#5ce842b94b05146c0e03076985d1d0e7e48c90c9" + integrity sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ== + resolve@1.1.7: version "1.1.7" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" From 7b5e6e95c851cc76d25db85623c994db49441c31 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 19 Oct 2021 07:02:40 +0200 Subject: [PATCH 21/42] Bump eslint from 8.0.0 to 8.0.1 (#2415) Bumps [eslint](https://github.com/eslint/eslint) from 8.0.0 to 8.0.1. - [Release notes](https://github.com/eslint/eslint/releases) - [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md) - [Commits](https://github.com/eslint/eslint/compare/v8.0.0...v8.0.1) --- updated-dependencies: - dependency-name: eslint dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- yarn.lock | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/yarn.lock b/yarn.lock index b811a9661..1ea9ebf25 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1290,10 +1290,10 @@ resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.3.tgz#90420f9f9c6d3987f176a19a7d8e764271a2f55d" integrity sha512-Fxt+AfXgjMoin2maPIYzFZnQjAXjAL0PHscM5pRTtatFqB+vZxAM9tLp2Optnuw3QOQC40jTNeGYFOMvyf7v9g== -"@eslint/eslintrc@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.0.2.tgz#6044884f7f93c4ecc2d1694c7486cce91ef8f746" - integrity sha512-x1ZXdEFsvTcnbTZgqcWUL9w2ybgZCw/qbKTPQnab+XnYA2bMQpJCh+/bBzCRfDJaJdlrrQlOk49jNtru9gL/6Q== +"@eslint/eslintrc@^1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.0.3.tgz#41f08c597025605f672251dcc4e8be66b5ed7366" + integrity sha512-DHI1wDPoKCBPoLZA3qDR91+3te/wDSc1YhKg3jR8NxKKRJq2hwHwcWv31cSwSYvIBrmbENoYMWcenW8uproQqg== dependencies: ajv "^6.12.4" debug "^4.3.2" @@ -4716,11 +4716,11 @@ eslint-visitor-keys@^3.0.0: integrity sha512-mJOZa35trBTb3IyRmo8xmKBZlxf+N7OnUl4+ZhJHs/r+0770Wh/LEACE2pqMGMe27G/4y8P2bYGk4J70IC5k1Q== eslint@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.0.0.tgz#2c2d0ac6353755667ac90c9ff4a9c1315e43fcff" - integrity sha512-03spzPzMAO4pElm44m60Nj08nYonPGQXmw6Ceai/S4QK82IgwWO1EXx1s9namKzVlbVu3Jf81hb+N+8+v21/HQ== + version "8.0.1" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.0.1.tgz#3610e7fe4a05c2154669515ca60835a76a19f700" + integrity sha512-LsgcwZgQ72vZ+SMp4K6pAnk2yFDWL7Ti4pJaRvsZ0Hsw2h8ZjUIW38a9AFn2cZXdBMlScMFYYgsSp4ttFI/0bA== dependencies: - "@eslint/eslintrc" "^1.0.2" + "@eslint/eslintrc" "^1.0.3" "@humanwhocodes/config-array" "^0.6.0" ajv "^6.10.0" chalk "^4.0.0" From 1ba990be6ec295ac1748fd5dec081eeae1007b86 Mon Sep 17 00:00:00 2001 From: Tshepang Lekhonkhobe Date: Tue, 19 Oct 2021 07:06:07 +0200 Subject: [PATCH 22/42] Fix typo in n00b-overview (#2418) --- docs/n00b-overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/n00b-overview.md b/docs/n00b-overview.md index 44d7b8d8b..de890c0db 100644 --- a/docs/n00b-overview.md +++ b/docs/n00b-overview.md @@ -53,7 +53,7 @@ It is a relatively straightforward solution to a significant hurdle with the sof **Diagramming and charting is a large waste of developer's time, but not having diagrams ruins productivity.** -Mermaid solves this by reducing the timeand effort required to create diagrams and charts. +Mermaid solves this by reducing the time and effort required to create diagrams and charts. Because, the text base for the diagrams allows it to be updated easily. Also, it can be made part of production scripts (and other pieces of code). So less time is spent on documenting, as a separate task. From d63b26efc2510c76c160dce278037b474450aec3 Mon Sep 17 00:00:00 2001 From: Echo Chen Date: Wed, 20 Oct 2021 18:39:35 +0800 Subject: [PATCH 23/42] feat: added includes; added excludes date background --- dist/index.html | 16 + dist/mermaid.core.js | 22862 +-- dist/mermaid.core.js.map | 2 +- dist/mermaid.esm.min.mjs | 3 + dist/mermaid.esm.min.mjs.LICENSE.txt | 32 + dist/mermaid.js | 229248 +++++++++++------------ dist/mermaid.js.map | 2 +- dist/mermaid.min.js | 35 +- dist/mermaid.min.js.LICENSE.txt | 32 + dist/mermaid.min.js.map | 2 +- src/diagrams/gantt/ganttDb.js | 29 +- src/diagrams/gantt/ganttRenderer.js | 75 +- src/diagrams/gantt/parser/gantt.jison | 2 + src/diagrams/gantt/styles.js | 3 + src/themes/theme-base.js | 1 + src/themes/theme-default.js | 1 + src/themes/theme-forest.js | 1 + src/themes/theme-neutral.js | 1 + 18 files changed, 120842 insertions(+), 131505 deletions(-) create mode 100644 dist/mermaid.esm.min.mjs create mode 100644 dist/mermaid.esm.min.mjs.LICENSE.txt create mode 100644 dist/mermaid.min.js.LICENSE.txt diff --git a/dist/index.html b/dist/index.html index 85015d5d6..c3aab8b4c 100644 --- a/dist/index.html +++ b/dist/index.html @@ -21,6 +21,22 @@
+
+ gantt + title Airworks roadmap + dateFormat YYYY-MM-DD + axisFormat %m-%d %a + excludes weekends, 2021-10-01,2021-10-04,2021-10-05,2021-10-06,2021-10-07 + includes 2021-10-09 + + section Airworks 3.4.1 + 开发 :b, 2021-10-07, 5d + 测试 :after b, 4d + OK :milestore + section Airworks 3.4.2 + 开发 :a, 2021-10-09, 4d + 测试 :after a, 4d +
gantt title Exclusive end dates (Manual date should end on 3d) diff --git a/dist/mermaid.core.js b/dist/mermaid.core.js index c884ce75b..adf93a023 100644 --- a/dist/mermaid.core.js +++ b/dist/mermaid.core.js @@ -8,655 +8,8730 @@ else root["mermaid"] = factory(); })(typeof self !== "undefined" ? self : this, function() { -return /******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); -/******/ } -/******/ }; -/******/ -/******/ // define __esModule on exports -/******/ __webpack_require__.r = function(exports) { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ -/******/ // create a fake namespace object -/******/ // mode & 1: value is a module id, require it -/******/ // mode & 2: merge all properties of value into the ns -/******/ // mode & 4: return value when already ns object -/******/ // mode & 8|1: behave like require -/******/ __webpack_require__.t = function(value, mode) { -/******/ if(mode & 1) value = __webpack_require__(value); -/******/ if(mode & 8) return value; -/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; -/******/ var ns = Object.create(null); -/******/ __webpack_require__.r(ns); -/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); -/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); -/******/ return ns; -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = "./src/mermaid.js"); -/******/ }) -/************************************************************************/ -/******/ ({ +return /******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({ -/***/ "./node_modules/node-libs-browser/mock/empty.js": +/***/ "./src/diagrams/class/parser/classDiagram.jison": /*!******************************************************!*\ - !*** ./node_modules/node-libs-browser/mock/empty.js ***! + !*** ./src/diagrams/class/parser/classDiagram.jison ***! \******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { +/***/ ((module, exports, __webpack_require__) => { +/* module decorator */ module = __webpack_require__.nmd(module); +/* parser generated by jison 0.4.18 */ +/* + Returns a Parser object of the following structure: + Parser: { + yy: {} + } -/***/ }), + Parser.prototype: { + yy: {}, + trace: function(), + symbols_: {associative list: name ==> number}, + terminals_: {associative list: number ==> name}, + productions_: [...], + performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$), + table: [...], + defaultActions: {...}, + parseError: function(str, hash), + parse: function(input), -/***/ "./node_modules/path-browserify/index.js": -/*!***********************************************!*\ - !*** ./node_modules/path-browserify/index.js ***! - \***********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { + lexer: { + EOF: 1, + parseError: function(str, hash), + setInput: function(input), + input: function(), + unput: function(str), + more: function(), + less: function(n), + pastInput: function(), + upcomingInput: function(), + showPosition: function(), + test_match: function(regex_match_array, rule_index), + next: function(), + lex: function(), + begin: function(condition), + popState: function(), + _currentRules: function(), + topState: function(), + pushState: function(condition), -/* WEBPACK VAR INJECTION */(function(process) {// .dirname, .basename, and .extname methods are extracted from Node.js v8.11.1, -// backported and transplited with Babel, with backwards-compat fixes + options: { + ranges: boolean (optional: true ==> token location info will include a .range[] member) + flex: boolean (optional: true ==> flex-like lexing behaviour where the rules are tested exhaustively to find the longest match) + backtrack_lexer: boolean (optional: true ==> lexer regexes are tested in order and for each matching regex the action code is invoked; the lexer terminates the scan when a token is returned by the action code) + }, -// Copyright Joyent, Inc. and other Node contributors. -// -// 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. - -// resolves . and .. elements in a path array with directory names there -// must be no slashes, empty elements, or device names (c:\) in the array -// (so also no leading and trailing slashes - it does not distinguish -// relative and absolute paths) -function normalizeArray(parts, allowAboveRoot) { - // if the path tries to go above the root, `up` ends up > 0 - var up = 0; - for (var i = parts.length - 1; i >= 0; i--) { - var last = parts[i]; - if (last === '.') { - parts.splice(i, 1); - } else if (last === '..') { - parts.splice(i, 1); - up++; - } else if (up) { - parts.splice(i, 1); - up--; + performAction: function(yy, yy_, $avoiding_name_collisions, YY_START), + rules: [...], + conditions: {associative list: name ==> set}, } } - // if the path is allowed to go above the root, restore leading ..s - if (allowAboveRoot) { - for (; up--; up) { - parts.unshift('..'); - } + + token location info (@$, _$, etc.): { + first_line: n, + last_line: n, + first_column: n, + last_column: n, + range: [start_number, end_number] (where the numbers are indexes into the input string, regular zero-based) } - return parts; + + the parseError function receives a 'hash' object with these members for lexer and parser errors: { + text: (matched text) + token: (the produced terminal token, if any) + line: (yylineno) + } + while parser (grammar) errors will also provide these members, i.e. parser errors deliver a superset of attributes: { + loc: (yylloc) + expected: (string describing the set of expected tokens) + recoverable: (boolean: TRUE when the parser has a error recovery rule available for this particular error) + } +*/ +var parser = (function(){ +var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,6],$V1=[1,7],$V2=[1,8],$V3=[1,9],$V4=[1,12],$V5=[1,11],$V6=[1,15,24],$V7=[1,19],$V8=[1,31],$V9=[1,34],$Va=[1,32],$Vb=[1,33],$Vc=[1,35],$Vd=[1,36],$Ve=[1,37],$Vf=[1,38],$Vg=[1,41],$Vh=[1,42],$Vi=[1,43],$Vj=[1,44],$Vk=[15,24],$Vl=[1,56],$Vm=[1,57],$Vn=[1,58],$Vo=[1,59],$Vp=[1,60],$Vq=[1,61],$Vr=[15,24,31,38,39,47,50,51,52,53,54,55,60,62],$Vs=[15,24,29,31,38,39,43,47,50,51,52,53,54,55,60,62,77,78,79,80],$Vt=[7,8,9,10,15,18,22,24],$Vu=[47,77,78,79,80],$Vv=[47,54,55,77,78,79,80],$Vw=[47,50,51,52,53,77,78,79,80],$Vx=[15,24,31],$Vy=[1,93]; +var parser = {trace: function trace () { }, +yy: {}, +symbols_: {"error":2,"start":3,"mermaidDoc":4,"direction":5,"directive":6,"direction_tb":7,"direction_bt":8,"direction_rl":9,"direction_lr":10,"graphConfig":11,"openDirective":12,"typeDirective":13,"closeDirective":14,"NEWLINE":15,":":16,"argDirective":17,"open_directive":18,"type_directive":19,"arg_directive":20,"close_directive":21,"CLASS_DIAGRAM":22,"statements":23,"EOF":24,"statement":25,"className":26,"alphaNumToken":27,"classLiteralName":28,"GENERICTYPE":29,"relationStatement":30,"LABEL":31,"classStatement":32,"methodStatement":33,"annotationStatement":34,"clickStatement":35,"cssClassStatement":36,"CLASS":37,"STYLE_SEPARATOR":38,"STRUCT_START":39,"members":40,"STRUCT_STOP":41,"ANNOTATION_START":42,"ANNOTATION_END":43,"MEMBER":44,"SEPARATOR":45,"relation":46,"STR":47,"relationType":48,"lineType":49,"AGGREGATION":50,"EXTENSION":51,"COMPOSITION":52,"DEPENDENCY":53,"LINE":54,"DOTTED_LINE":55,"CALLBACK":56,"LINK":57,"LINK_TARGET":58,"CLICK":59,"CALLBACK_NAME":60,"CALLBACK_ARGS":61,"HREF":62,"CSSCLASS":63,"commentToken":64,"textToken":65,"graphCodeTokens":66,"textNoTagsToken":67,"TAGSTART":68,"TAGEND":69,"==":70,"--":71,"PCT":72,"DEFAULT":73,"SPACE":74,"MINUS":75,"keywords":76,"UNICODE_TEXT":77,"NUM":78,"ALPHA":79,"BQUOTE_STR":80,"$accept":0,"$end":1}, +terminals_: {2:"error",7:"direction_tb",8:"direction_bt",9:"direction_rl",10:"direction_lr",15:"NEWLINE",16:":",18:"open_directive",19:"type_directive",20:"arg_directive",21:"close_directive",22:"CLASS_DIAGRAM",24:"EOF",29:"GENERICTYPE",31:"LABEL",37:"CLASS",38:"STYLE_SEPARATOR",39:"STRUCT_START",41:"STRUCT_STOP",42:"ANNOTATION_START",43:"ANNOTATION_END",44:"MEMBER",45:"SEPARATOR",47:"STR",50:"AGGREGATION",51:"EXTENSION",52:"COMPOSITION",53:"DEPENDENCY",54:"LINE",55:"DOTTED_LINE",56:"CALLBACK",57:"LINK",58:"LINK_TARGET",59:"CLICK",60:"CALLBACK_NAME",61:"CALLBACK_ARGS",62:"HREF",63:"CSSCLASS",66:"graphCodeTokens",68:"TAGSTART",69:"TAGEND",70:"==",71:"--",72:"PCT",73:"DEFAULT",74:"SPACE",75:"MINUS",76:"keywords",77:"UNICODE_TEXT",78:"NUM",79:"ALPHA",80:"BQUOTE_STR"}, +productions_: [0,[3,1],[3,1],[3,2],[5,1],[5,1],[5,1],[5,1],[4,1],[6,4],[6,6],[12,1],[13,1],[17,1],[14,1],[11,4],[23,1],[23,2],[23,3],[26,1],[26,1],[26,2],[26,2],[26,2],[25,1],[25,2],[25,1],[25,1],[25,1],[25,1],[25,1],[25,1],[25,1],[32,2],[32,4],[32,5],[32,7],[34,4],[40,1],[40,2],[33,1],[33,2],[33,1],[33,1],[30,3],[30,4],[30,4],[30,5],[46,3],[46,2],[46,2],[46,1],[48,1],[48,1],[48,1],[48,1],[49,1],[49,1],[35,3],[35,4],[35,3],[35,4],[35,4],[35,5],[35,3],[35,4],[35,4],[35,5],[35,3],[35,4],[35,4],[35,5],[36,3],[64,1],[64,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[67,1],[67,1],[67,1],[67,1],[27,1],[27,1],[27,1],[28,1]], +performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) { +/* this == yyval */ + +var $0 = $$.length - 1; +switch (yystate) { +case 4: + yy.setDirection('TB'); +break; +case 5: + yy.setDirection('BT'); +break; +case 6: + yy.setDirection('RL'); +break; +case 7: + yy.setDirection('LR'); +break; +case 11: + yy.parseDirective('%%{', 'open_directive'); +break; +case 12: + yy.parseDirective($$[$0], 'type_directive'); +break; +case 13: + $$[$0] = $$[$0].trim().replace(/'/g, '"'); yy.parseDirective($$[$0], 'arg_directive'); +break; +case 14: + yy.parseDirective('}%%', 'close_directive', 'class'); +break; +case 19: case 20: + this.$=$$[$0]; +break; +case 21: + this.$=$$[$0-1]+$$[$0]; +break; +case 22: case 23: + this.$=$$[$0-1]+'~'+$$[$0]; +break; +case 24: + yy.addRelation($$[$0]); +break; +case 25: + $$[$0-1].title = yy.cleanupLabel($$[$0]); yy.addRelation($$[$0-1]); +break; +case 33: +yy.addClass($$[$0]); +break; +case 34: +yy.addClass($$[$0-2]);yy.setCssClass($$[$0-2], $$[$0]); +break; +case 35: +/*console.log($$[$0-3],JSON.stringify($$[$0-1]));*/yy.addClass($$[$0-3]);yy.addMembers($$[$0-3],$$[$0-1]); +break; +case 36: +yy.addClass($$[$0-5]);yy.setCssClass($$[$0-5], $$[$0-3]);yy.addMembers($$[$0-5],$$[$0-1]); +break; +case 37: + yy.addAnnotation($$[$0],$$[$0-2]); +break; +case 38: + this.$ = [$$[$0]]; +break; +case 39: + $$[$0].push($$[$0-1]);this.$=$$[$0]; +break; +case 40: +/*console.log('Rel found',$$[$0]);*/ +break; +case 41: +yy.addMember($$[$0-1],yy.cleanupLabel($$[$0])); +break; +case 42: +/*console.warn('Member',$$[$0]);*/ +break; +case 43: +/*console.log('sep found',$$[$0]);*/ +break; +case 44: + this.$ = {'id1':$$[$0-2],'id2':$$[$0], relation:$$[$0-1], relationTitle1:'none', relationTitle2:'none'}; +break; +case 45: + this.$ = {id1:$$[$0-3], id2:$$[$0], relation:$$[$0-1], relationTitle1:$$[$0-2], relationTitle2:'none'} +break; +case 46: + this.$ = {id1:$$[$0-3], id2:$$[$0], relation:$$[$0-2], relationTitle1:'none', relationTitle2:$$[$0-1]}; +break; +case 47: + this.$ = {id1:$$[$0-4], id2:$$[$0], relation:$$[$0-2], relationTitle1:$$[$0-3], relationTitle2:$$[$0-1]} +break; +case 48: + this.$={type1:$$[$0-2],type2:$$[$0],lineType:$$[$0-1]}; +break; +case 49: + this.$={type1:'none',type2:$$[$0],lineType:$$[$0-1]}; +break; +case 50: + this.$={type1:$$[$0-1],type2:'none',lineType:$$[$0]}; +break; +case 51: + this.$={type1:'none',type2:'none',lineType:$$[$0]}; +break; +case 52: + this.$=yy.relationType.AGGREGATION; +break; +case 53: + this.$=yy.relationType.EXTENSION; +break; +case 54: + this.$=yy.relationType.COMPOSITION; +break; +case 55: + this.$=yy.relationType.DEPENDENCY; +break; +case 56: +this.$=yy.lineType.LINE; +break; +case 57: +this.$=yy.lineType.DOTTED_LINE; +break; +case 58: case 64: +this.$ = $$[$0-2];yy.setClickEvent($$[$0-1], $$[$0]); +break; +case 59: case 65: +this.$ = $$[$0-3];yy.setClickEvent($$[$0-2], $$[$0-1]);yy.setTooltip($$[$0-2], $$[$0]); +break; +case 60: case 68: +this.$ = $$[$0-2];yy.setLink($$[$0-1], $$[$0]); +break; +case 61: +this.$ = $$[$0-3];yy.setLink($$[$0-2], $$[$0-1],$$[$0]); +break; +case 62: case 70: +this.$ = $$[$0-3];yy.setLink($$[$0-2], $$[$0-1]);yy.setTooltip($$[$0-2], $$[$0]); +break; +case 63: case 71: +this.$ = $$[$0-4];yy.setLink($$[$0-3], $$[$0-2], $$[$0]);yy.setTooltip($$[$0-3], $$[$0-1]); +break; +case 66: +this.$ = $$[$0-3];yy.setClickEvent($$[$0-2], $$[$0-1], $$[$0]); +break; +case 67: +this.$ = $$[$0-4];yy.setClickEvent($$[$0-3], $$[$0-2], $$[$0-1]);yy.setTooltip($$[$0-3], $$[$0]); +break; +case 69: +this.$ = $$[$0-3];yy.setLink($$[$0-2], $$[$0-1], $$[$0]); +break; +case 72: +yy.setCssClass($$[$0-1], $$[$0]); +break; } - -// path.resolve([from ...], to) -// posix version -exports.resolve = function() { - var resolvedPath = '', - resolvedAbsolute = false; - - for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { - var path = (i >= 0) ? arguments[i] : process.cwd(); - - // Skip empty and invalid entries - if (typeof path !== 'string') { - throw new TypeError('Arguments to path.resolve must be strings'); - } else if (!path) { - continue; - } - - resolvedPath = path + '/' + resolvedPath; - resolvedAbsolute = path.charAt(0) === '/'; - } - - // At this point the path should be resolved to a full absolute path, but - // handle relative paths to be safe (might happen when process.cwd() fails) - - // Normalize the path - resolvedPath = normalizeArray(filter(resolvedPath.split('/'), function(p) { - return !!p; - }), !resolvedAbsolute).join('/'); - - return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.'; -}; - -// path.normalize(path) -// posix version -exports.normalize = function(path) { - var isAbsolute = exports.isAbsolute(path), - trailingSlash = substr(path, -1) === '/'; - - // Normalize the path - path = normalizeArray(filter(path.split('/'), function(p) { - return !!p; - }), !isAbsolute).join('/'); - - if (!path && !isAbsolute) { - path = '.'; - } - if (path && trailingSlash) { - path += '/'; - } - - return (isAbsolute ? '/' : '') + path; -}; - -// posix version -exports.isAbsolute = function(path) { - return path.charAt(0) === '/'; -}; - -// posix version -exports.join = function() { - var paths = Array.prototype.slice.call(arguments, 0); - return exports.normalize(filter(paths, function(p, index) { - if (typeof p !== 'string') { - throw new TypeError('Arguments to path.join must be strings'); - } - return p; - }).join('/')); -}; - - -// path.relative(from, to) -// posix version -exports.relative = function(from, to) { - from = exports.resolve(from).substr(1); - to = exports.resolve(to).substr(1); - - function trim(arr) { - var start = 0; - for (; start < arr.length; start++) { - if (arr[start] !== '') break; - } - - var end = arr.length - 1; - for (; end >= 0; end--) { - if (arr[end] !== '') break; - } - - if (start > end) return []; - return arr.slice(start, end - start + 1); - } - - var fromParts = trim(from.split('/')); - var toParts = trim(to.split('/')); - - var length = Math.min(fromParts.length, toParts.length); - var samePartsLength = length; - for (var i = 0; i < length; i++) { - if (fromParts[i] !== toParts[i]) { - samePartsLength = i; - break; - } - } - - var outputParts = []; - for (var i = samePartsLength; i < fromParts.length; i++) { - outputParts.push('..'); - } - - outputParts = outputParts.concat(toParts.slice(samePartsLength)); - - return outputParts.join('/'); -}; - -exports.sep = '/'; -exports.delimiter = ':'; - -exports.dirname = function (path) { - if (typeof path !== 'string') path = path + ''; - if (path.length === 0) return '.'; - var code = path.charCodeAt(0); - var hasRoot = code === 47 /*/*/; - var end = -1; - var matchedSlash = true; - for (var i = path.length - 1; i >= 1; --i) { - code = path.charCodeAt(i); - if (code === 47 /*/*/) { - if (!matchedSlash) { - end = i; - break; - } - } else { - // We saw the first non-path separator - matchedSlash = false; - } - } - - if (end === -1) return hasRoot ? '/' : '.'; - if (hasRoot && end === 1) { - // return '//'; - // Backwards-compat fix: - return '/'; - } - return path.slice(0, end); -}; - -function basename(path) { - if (typeof path !== 'string') path = path + ''; - - var start = 0; - var end = -1; - var matchedSlash = true; - var i; - - for (i = path.length - 1; i >= 0; --i) { - if (path.charCodeAt(i) === 47 /*/*/) { - // If we reached a path separator that was not part of a set of path - // separators at the end of the string, stop now - if (!matchedSlash) { - start = i + 1; - break; - } - } else if (end === -1) { - // We saw the first non-path separator, mark this as the end of our - // path component - matchedSlash = false; - end = i + 1; - } - } - - if (end === -1) return ''; - return path.slice(start, end); -} - -// Uses a mixed approach for backwards-compatibility, as ext behavior changed -// in new Node.js versions, so only basename() above is backported here -exports.basename = function (path, ext) { - var f = basename(path); - if (ext && f.substr(-1 * ext.length) === ext) { - f = f.substr(0, f.length - ext.length); - } - return f; -}; - -exports.extname = function (path) { - if (typeof path !== 'string') path = path + ''; - var startDot = -1; - var startPart = 0; - var end = -1; - var matchedSlash = true; - // Track the state of characters (if any) we see before our first dot and - // after any path separator we find - var preDotState = 0; - for (var i = path.length - 1; i >= 0; --i) { - var code = path.charCodeAt(i); - if (code === 47 /*/*/) { - // If we reached a path separator that was not part of a set of path - // separators at the end of the string, stop now - if (!matchedSlash) { - startPart = i + 1; - break; - } - continue; - } - if (end === -1) { - // We saw the first non-path separator, mark this as the end of our - // extension - matchedSlash = false; - end = i + 1; - } - if (code === 46 /*.*/) { - // If this is our first dot, mark it as the start of our extension - if (startDot === -1) - startDot = i; - else if (preDotState !== 1) - preDotState = 1; - } else if (startDot !== -1) { - // We saw a non-dot and non-path separator before our dot, so we should - // have a good chance at having a non-empty extension - preDotState = -1; - } - } - - if (startDot === -1 || end === -1 || - // We saw a non-dot character immediately before the dot - preDotState === 0 || - // The (right-most) trimmed path component is exactly '..' - preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) { - return ''; - } - return path.slice(startDot, end); -}; - -function filter (xs, f) { - if (xs.filter) return xs.filter(f); - var res = []; - for (var i = 0; i < xs.length; i++) { - if (f(xs[i], i, xs)) res.push(xs[i]); - } - return res; -} - -// String.prototype.substr - negative index don't work in IE8 -var substr = 'ab'.substr(-1) === 'b' - ? function (str, start, len) { return str.substr(start, len) } - : function (str, start, len) { - if (start < 0) start = str.length + start; - return str.substr(start, len); - } -; - -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../process/browser.js */ "./node_modules/process/browser.js"))) - -/***/ }), - -/***/ "./node_modules/process/browser.js": -/*!*****************************************!*\ - !*** ./node_modules/process/browser.js ***! - \*****************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -// shim for using process in browser -var process = module.exports = {}; - -// cached from whatever global is present so that test runners that stub it -// don't break things. But we need to wrap it in a try catch in case it is -// wrapped in strict mode code which doesn't define any globals. It's inside a -// function because try/catches deoptimize in certain engines. - -var cachedSetTimeout; -var cachedClearTimeout; - -function defaultSetTimout() { - throw new Error('setTimeout has not been defined'); -} -function defaultClearTimeout () { - throw new Error('clearTimeout has not been defined'); -} -(function () { - try { - if (typeof setTimeout === 'function') { - cachedSetTimeout = setTimeout; - } else { - cachedSetTimeout = defaultSetTimout; - } - } catch (e) { - cachedSetTimeout = defaultSetTimout; - } - try { - if (typeof clearTimeout === 'function') { - cachedClearTimeout = clearTimeout; - } else { - cachedClearTimeout = defaultClearTimeout; - } - } catch (e) { - cachedClearTimeout = defaultClearTimeout; - } -} ()) -function runTimeout(fun) { - if (cachedSetTimeout === setTimeout) { - //normal enviroments in sane situations - return setTimeout(fun, 0); - } - // if setTimeout wasn't available but was latter defined - if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) { - cachedSetTimeout = setTimeout; - return setTimeout(fun, 0); - } - try { - // when when somebody has screwed with setTimeout but no I.E. maddness - return cachedSetTimeout(fun, 0); - } catch(e){ - try { - // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally - return cachedSetTimeout.call(null, fun, 0); - } catch(e){ - // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error - return cachedSetTimeout.call(this, fun, 0); - } - } - - -} -function runClearTimeout(marker) { - if (cachedClearTimeout === clearTimeout) { - //normal enviroments in sane situations - return clearTimeout(marker); - } - // if clearTimeout wasn't available but was latter defined - if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) { - cachedClearTimeout = clearTimeout; - return clearTimeout(marker); - } - try { - // when when somebody has screwed with setTimeout but no I.E. maddness - return cachedClearTimeout(marker); - } catch (e){ - try { - // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally - return cachedClearTimeout.call(null, marker); - } catch (e){ - // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error. - // Some versions of I.E. have different rules for clearTimeout vs setTimeout - return cachedClearTimeout.call(this, marker); - } - } - - - -} -var queue = []; -var draining = false; -var currentQueue; -var queueIndex = -1; - -function cleanUpNextTick() { - if (!draining || !currentQueue) { - return; - } - draining = false; - if (currentQueue.length) { - queue = currentQueue.concat(queue); +}, +table: [{3:1,4:2,5:3,6:4,7:$V0,8:$V1,9:$V2,10:$V3,11:5,12:10,18:$V4,22:$V5},{1:[3]},{1:[2,1]},{1:[2,2]},{3:13,4:2,5:3,6:4,7:$V0,8:$V1,9:$V2,10:$V3,11:5,12:10,18:$V4,22:$V5},{1:[2,8]},o($V6,[2,4]),o($V6,[2,5]),o($V6,[2,6]),o($V6,[2,7]),{13:14,19:[1,15]},{15:[1,16]},{19:[2,11]},{1:[2,3]},{14:17,16:[1,18],21:$V7},o([16,21],[2,12]),{5:29,6:28,7:$V0,8:$V1,9:$V2,10:$V3,12:10,18:$V4,23:20,25:21,26:30,27:39,28:40,30:22,32:23,33:24,34:25,35:26,36:27,37:$V8,42:$V9,44:$Va,45:$Vb,56:$Vc,57:$Vd,59:$Ve,63:$Vf,77:$Vg,78:$Vh,79:$Vi,80:$Vj},{15:[1,45]},{17:46,20:[1,47]},{15:[2,14]},{24:[1,48]},{15:[1,49],24:[2,16]},o($Vk,[2,24],{31:[1,50]}),o($Vk,[2,26]),o($Vk,[2,27]),o($Vk,[2,28]),o($Vk,[2,29]),o($Vk,[2,30]),o($Vk,[2,31]),o($Vk,[2,32]),o($Vk,[2,40],{46:51,48:54,49:55,31:[1,53],47:[1,52],50:$Vl,51:$Vm,52:$Vn,53:$Vo,54:$Vp,55:$Vq}),{26:62,27:39,28:40,77:$Vg,78:$Vh,79:$Vi,80:$Vj},o($Vk,[2,42]),o($Vk,[2,43]),{27:63,77:$Vg,78:$Vh,79:$Vi},{26:64,27:39,28:40,77:$Vg,78:$Vh,79:$Vi,80:$Vj},{26:65,27:39,28:40,77:$Vg,78:$Vh,79:$Vi,80:$Vj},{26:66,27:39,28:40,77:$Vg,78:$Vh,79:$Vi,80:$Vj},{47:[1,67]},o($Vr,[2,19],{27:39,28:40,26:68,29:[1,69],77:$Vg,78:$Vh,79:$Vi,80:$Vj}),o($Vr,[2,20],{29:[1,70]}),o($Vs,[2,86]),o($Vs,[2,87]),o($Vs,[2,88]),o([15,24,29,31,38,39,47,50,51,52,53,54,55,60,62],[2,89]),o($Vt,[2,9]),{14:71,21:$V7},{21:[2,13]},{1:[2,15]},{5:29,6:28,7:$V0,8:$V1,9:$V2,10:$V3,12:10,18:$V4,23:72,24:[2,17],25:21,26:30,27:39,28:40,30:22,32:23,33:24,34:25,35:26,36:27,37:$V8,42:$V9,44:$Va,45:$Vb,56:$Vc,57:$Vd,59:$Ve,63:$Vf,77:$Vg,78:$Vh,79:$Vi,80:$Vj},o($Vk,[2,25]),{26:73,27:39,28:40,47:[1,74],77:$Vg,78:$Vh,79:$Vi,80:$Vj},{46:75,48:54,49:55,50:$Vl,51:$Vm,52:$Vn,53:$Vo,54:$Vp,55:$Vq},o($Vk,[2,41]),{49:76,54:$Vp,55:$Vq},o($Vu,[2,51],{48:77,50:$Vl,51:$Vm,52:$Vn,53:$Vo}),o($Vv,[2,52]),o($Vv,[2,53]),o($Vv,[2,54]),o($Vv,[2,55]),o($Vw,[2,56]),o($Vw,[2,57]),o($Vk,[2,33],{38:[1,78],39:[1,79]}),{43:[1,80]},{47:[1,81]},{47:[1,82]},{60:[1,83],62:[1,84]},{27:85,77:$Vg,78:$Vh,79:$Vi},o($Vr,[2,21]),o($Vr,[2,22]),o($Vr,[2,23]),{15:[1,86]},{24:[2,18]},o($Vx,[2,44]),{26:87,27:39,28:40,77:$Vg,78:$Vh,79:$Vi,80:$Vj},{26:88,27:39,28:40,47:[1,89],77:$Vg,78:$Vh,79:$Vi,80:$Vj},o($Vu,[2,50],{48:90,50:$Vl,51:$Vm,52:$Vn,53:$Vo}),o($Vu,[2,49]),{27:91,77:$Vg,78:$Vh,79:$Vi},{40:92,44:$Vy},{26:94,27:39,28:40,77:$Vg,78:$Vh,79:$Vi,80:$Vj},o($Vk,[2,58],{47:[1,95]}),o($Vk,[2,60],{47:[1,97],58:[1,96]}),o($Vk,[2,64],{47:[1,98],61:[1,99]}),o($Vk,[2,68],{47:[1,101],58:[1,100]}),o($Vk,[2,72]),o($Vt,[2,10]),o($Vx,[2,46]),o($Vx,[2,45]),{26:102,27:39,28:40,77:$Vg,78:$Vh,79:$Vi,80:$Vj},o($Vu,[2,48]),o($Vk,[2,34],{39:[1,103]}),{41:[1,104]},{40:105,41:[2,38],44:$Vy},o($Vk,[2,37]),o($Vk,[2,59]),o($Vk,[2,61]),o($Vk,[2,62],{58:[1,106]}),o($Vk,[2,65]),o($Vk,[2,66],{47:[1,107]}),o($Vk,[2,69]),o($Vk,[2,70],{58:[1,108]}),o($Vx,[2,47]),{40:109,44:$Vy},o($Vk,[2,35]),{41:[2,39]},o($Vk,[2,63]),o($Vk,[2,67]),o($Vk,[2,71]),{41:[1,110]},o($Vk,[2,36])], +defaultActions: {2:[2,1],3:[2,2],5:[2,8],12:[2,11],13:[2,3],19:[2,14],47:[2,13],48:[2,15],72:[2,18],105:[2,39]}, +parseError: function parseError (str, hash) { + if (hash.recoverable) { + this.trace(str); } else { - queueIndex = -1; + var error = new Error(str); + error.hash = hash; + throw error; } - if (queue.length) { - drainQueue(); +}, +parse: function parse(input) { + var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = '', yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1; + var args = lstack.slice.call(arguments, 1); + var lexer = Object.create(this.lexer); + var sharedState = { yy: {} }; + for (var k in this.yy) { + if (Object.prototype.hasOwnProperty.call(this.yy, k)) { + sharedState.yy[k] = this.yy[k]; + } } -} + lexer.setInput(input, sharedState.yy); + sharedState.yy.lexer = lexer; + sharedState.yy.parser = this; + if (typeof lexer.yylloc == 'undefined') { + lexer.yylloc = {}; + } + var yyloc = lexer.yylloc; + lstack.push(yyloc); + var ranges = lexer.options && lexer.options.ranges; + if (typeof sharedState.yy.parseError === 'function') { + this.parseError = sharedState.yy.parseError; + } else { + this.parseError = Object.getPrototypeOf(this).parseError; + } + function popStack(n) { + stack.length = stack.length - 2 * n; + vstack.length = vstack.length - n; + lstack.length = lstack.length - n; + } + function lex() { + var token; + token = tstack.pop() || lexer.lex() || EOF; + if (typeof token !== 'number') { + if (token instanceof Array) { + tstack = token; + token = tstack.pop(); + } + token = self.symbols_[token] || token; + } + return token; + } + var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected; + while (true) { + state = stack[stack.length - 1]; + if (this.defaultActions[state]) { + action = this.defaultActions[state]; + } else { + if (symbol === null || typeof symbol == 'undefined') { + symbol = lex(); + } + action = table[state] && table[state][symbol]; + } + if (typeof action === 'undefined' || !action.length || !action[0]) { + var errStr = ''; + expected = []; + for (p in table[state]) { + if (this.terminals_[p] && p > TERROR) { + expected.push('\'' + this.terminals_[p] + '\''); + } + } + if (lexer.showPosition) { + errStr = 'Parse error on line ' + (yylineno + 1) + ':\n' + lexer.showPosition() + '\nExpecting ' + expected.join(', ') + ', got \'' + (this.terminals_[symbol] || symbol) + '\''; + } else { + errStr = 'Parse error on line ' + (yylineno + 1) + ': Unexpected ' + (symbol == EOF ? 'end of input' : '\'' + (this.terminals_[symbol] || symbol) + '\''); + } + this.parseError(errStr, { + text: lexer.match, + token: this.terminals_[symbol] || symbol, + line: lexer.yylineno, + loc: yyloc, + expected: expected + }); + } + if (action[0] instanceof Array && action.length > 1) { + throw new Error('Parse Error: multiple actions possible at state: ' + state + ', token: ' + symbol); + } + switch (action[0]) { + case 1: + stack.push(symbol); + vstack.push(lexer.yytext); + lstack.push(lexer.yylloc); + stack.push(action[1]); + symbol = null; + if (!preErrorSymbol) { + yyleng = lexer.yyleng; + yytext = lexer.yytext; + yylineno = lexer.yylineno; + yyloc = lexer.yylloc; + if (recovering > 0) { + recovering--; + } + } else { + symbol = preErrorSymbol; + preErrorSymbol = null; + } + break; + case 2: + len = this.productions_[action[1]][1]; + yyval.$ = vstack[vstack.length - len]; + yyval._$ = { + first_line: lstack[lstack.length - (len || 1)].first_line, + last_line: lstack[lstack.length - 1].last_line, + first_column: lstack[lstack.length - (len || 1)].first_column, + last_column: lstack[lstack.length - 1].last_column + }; + if (ranges) { + yyval._$.range = [ + lstack[lstack.length - (len || 1)].range[0], + lstack[lstack.length - 1].range[1] + ]; + } + r = this.performAction.apply(yyval, [ + yytext, + yyleng, + yylineno, + sharedState.yy, + action[1], + vstack, + lstack + ].concat(args)); + if (typeof r !== 'undefined') { + return r; + } + if (len) { + stack = stack.slice(0, -1 * len * 2); + vstack = vstack.slice(0, -1 * len); + lstack = lstack.slice(0, -1 * len); + } + stack.push(this.productions_[action[1]][0]); + vstack.push(yyval.$); + lstack.push(yyval._$); + newState = table[stack[stack.length - 2]][stack[stack.length - 1]]; + stack.push(newState); + break; + case 3: + return true; + } + } + return true; +}}; -function drainQueue() { - if (draining) { - return; - } - var timeout = runTimeout(cleanUpNextTick); - draining = true; +/* generated by jison-lex 0.3.4 */ +var lexer = (function(){ +var lexer = ({ - var len = queue.length; - while(len) { - currentQueue = queue; - queue = []; - while (++queueIndex < len) { - if (currentQueue) { - currentQueue[queueIndex].run(); +EOF:1, + +parseError:function parseError(str, hash) { + if (this.yy.parser) { + this.yy.parser.parseError(str, hash); + } else { + throw new Error(str); + } + }, + +// resets the lexer, sets new input +setInput:function (input, yy) { + this.yy = yy || this.yy || {}; + this._input = input; + this._more = this._backtrack = this.done = false; + this.yylineno = this.yyleng = 0; + this.yytext = this.matched = this.match = ''; + this.conditionStack = ['INITIAL']; + this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0 + }; + if (this.options.ranges) { + this.yylloc.range = [0,0]; + } + this.offset = 0; + return this; + }, + +// consumes and returns one char from the input +input:function () { + var ch = this._input[0]; + this.yytext += ch; + this.yyleng++; + this.offset++; + this.match += ch; + this.matched += ch; + var lines = ch.match(/(?:\r\n?|\n).*/g); + if (lines) { + this.yylineno++; + this.yylloc.last_line++; + } else { + this.yylloc.last_column++; + } + if (this.options.ranges) { + this.yylloc.range[1]++; + } + + this._input = this._input.slice(1); + return ch; + }, + +// unshifts one char (or a string) into the input +unput:function (ch) { + var len = ch.length; + var lines = ch.split(/(?:\r\n?|\n)/g); + + this._input = ch + this._input; + this.yytext = this.yytext.substr(0, this.yytext.length - len); + //this.yyleng -= len; + this.offset -= len; + var oldLines = this.match.split(/(?:\r\n?|\n)/g); + this.match = this.match.substr(0, this.match.length - 1); + this.matched = this.matched.substr(0, this.matched.length - 1); + + if (lines.length - 1) { + this.yylineno -= lines.length - 1; + } + var r = this.yylloc.range; + + this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: lines ? + (lines.length === oldLines.length ? this.yylloc.first_column : 0) + + oldLines[oldLines.length - lines.length].length - lines[0].length : + this.yylloc.first_column - len + }; + + if (this.options.ranges) { + this.yylloc.range = [r[0], r[0] + this.yyleng - len]; + } + this.yyleng = this.yytext.length; + return this; + }, + +// When called from action, caches matched text and appends it on next action +more:function () { + this._more = true; + return this; + }, + +// When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead. +reject:function () { + if (this.options.backtrack_lexer) { + this._backtrack = true; + } else { + return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n' + this.showPosition(), { + text: "", + token: null, + line: this.yylineno + }); + + } + return this; + }, + +// retain first n characters of the match +less:function (n) { + this.unput(this.match.slice(n)); + }, + +// displays already matched input, i.e. for error messages +pastInput:function () { + var past = this.matched.substr(0, this.matched.length - this.match.length); + return (past.length > 20 ? '...':'') + past.substr(-20).replace(/\n/g, ""); + }, + +// displays upcoming input, i.e. for error messages +upcomingInput:function () { + var next = this.match; + if (next.length < 20) { + next += this._input.substr(0, 20-next.length); + } + return (next.substr(0,20) + (next.length > 20 ? '...' : '')).replace(/\n/g, ""); + }, + +// displays the character position where the lexing error occurred, i.e. for error messages +showPosition:function () { + var pre = this.pastInput(); + var c = new Array(pre.length + 1).join("-"); + return pre + this.upcomingInput() + "\n" + c + "^"; + }, + +// test the lexed token: return FALSE when not a match, otherwise return token +test_match:function(match, indexed_rule) { + var token, + lines, + backup; + + if (this.options.backtrack_lexer) { + // save context + backup = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done + }; + if (this.options.ranges) { + backup.yylloc.range = this.yylloc.range.slice(0); } } - queueIndex = -1; - len = queue.length; + + lines = match[0].match(/(?:\r\n?|\n).*/g); + if (lines) { + this.yylineno += lines.length; + } + this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: lines ? + lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length : + this.yylloc.last_column + match[0].length + }; + this.yytext += match[0]; + this.match += match[0]; + this.matches = match; + this.yyleng = this.yytext.length; + if (this.options.ranges) { + this.yylloc.range = [this.offset, this.offset += this.yyleng]; + } + this._more = false; + this._backtrack = false; + this._input = this._input.slice(match[0].length); + this.matched += match[0]; + token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]); + if (this.done && this._input) { + this.done = false; + } + if (token) { + return token; + } else if (this._backtrack) { + // recover context + for (var k in backup) { + this[k] = backup[k]; + } + return false; // rule action called reject() implying the next rule should be tested instead. + } + return false; + }, + +// return next match in input +next:function () { + if (this.done) { + return this.EOF; + } + if (!this._input) { + this.done = true; + } + + var token, + match, + tempMatch, + index; + if (!this._more) { + this.yytext = ''; + this.match = ''; + } + var rules = this._currentRules(); + for (var i = 0; i < rules.length; i++) { + tempMatch = this._input.match(this.rules[rules[i]]); + if (tempMatch && (!match || tempMatch[0].length > match[0].length)) { + match = tempMatch; + index = i; + if (this.options.backtrack_lexer) { + token = this.test_match(tempMatch, rules[i]); + if (token !== false) { + return token; + } else if (this._backtrack) { + match = false; + continue; // rule action called reject() implying a rule MISmatch. + } else { + // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) + return false; + } + } else if (!this.options.flex) { + break; + } + } + } + if (match) { + token = this.test_match(match, rules[index]); + if (token !== false) { + return token; + } + // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) + return false; + } + if (this._input === "") { + return this.EOF; + } else { + return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\n' + this.showPosition(), { + text: "", + token: null, + line: this.yylineno + }); + } + }, + +// return next match that has a token +lex:function lex () { + var r = this.next(); + if (r) { + return r; + } else { + return this.lex(); + } + }, + +// activates a new lexer condition state (pushes the new lexer condition state onto the condition stack) +begin:function begin (condition) { + this.conditionStack.push(condition); + }, + +// pop the previously active lexer condition state off the condition stack +popState:function popState () { + var n = this.conditionStack.length - 1; + if (n > 0) { + return this.conditionStack.pop(); + } else { + return this.conditionStack[0]; + } + }, + +// produce the lexer rule set which is active for the currently active lexer condition state +_currentRules:function _currentRules () { + if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) { + return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules; + } else { + return this.conditions["INITIAL"].rules; + } + }, + +// return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available +topState:function topState (n) { + n = this.conditionStack.length - 1 - Math.abs(n || 0); + if (n >= 0) { + return this.conditionStack[n]; + } else { + return "INITIAL"; + } + }, + +// alias for begin(condition) +pushState:function pushState (condition) { + this.begin(condition); + }, + +// return the number of states currently on the stack +stateStackSize:function stateStackSize() { + return this.conditionStack.length; + }, +options: {}, +performAction: function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) { +var YYSTATE=YY_START; +switch($avoiding_name_collisions) { +case 0: this.begin('open_directive'); return 18; +break; +case 1:return 7; +break; +case 2:return 8; +break; +case 3:return 9; +break; +case 4:return 10; +break; +case 5: this.begin('type_directive'); return 19; +break; +case 6: this.popState(); this.begin('arg_directive'); return 16; +break; +case 7: this.popState(); this.popState(); return 21; +break; +case 8:return 20; +break; +case 9:/* skip comments */ +break; +case 10:/* skip comments */ +break; +case 11:return 15; +break; +case 12:/* skip whitespace */ +break; +case 13:return 22; +break; +case 14:return 22; +break; +case 15: this.begin("struct"); /*console.log('Starting struct');*/ return 39; +break; +case 16:return "EOF_IN_STRUCT"; +break; +case 17:return "OPEN_IN_STRUCT"; +break; +case 18: /*console.log('Ending struct');*/this.popState(); return 41; +break; +case 19:/* nothing */ +break; +case 20: /*console.log('lex-member: ' + yy_.yytext);*/ return "MEMBER"; +break; +case 21:return 37; +break; +case 22:return 63; +break; +case 23:return 56; +break; +case 24:return 57; +break; +case 25:return 59; +break; +case 26:return 42; +break; +case 27:return 43; +break; +case 28:this.begin("generic"); +break; +case 29:this.popState(); +break; +case 30:return "GENERICTYPE"; +break; +case 31:this.begin("string"); +break; +case 32:this.popState(); +break; +case 33:return "STR"; +break; +case 34:this.begin("bqstring"); +break; +case 35:this.popState(); +break; +case 36:return "BQUOTE_STR"; +break; +case 37:this.begin("href"); +break; +case 38:this.popState(); +break; +case 39:return 62; +break; +case 40:this.begin("callback_name"); +break; +case 41:this.popState(); +break; +case 42:this.popState(); this.begin("callback_args"); +break; +case 43:return 60; +break; +case 44:this.popState(); +break; +case 45:return 61; +break; +case 46:return 58; +break; +case 47:return 58; +break; +case 48:return 58; +break; +case 49:return 58; +break; +case 50:return 51; +break; +case 51:return 51; +break; +case 52:return 53; +break; +case 53:return 53; +break; +case 54:return 52; +break; +case 55:return 50; +break; +case 56:return 54; +break; +case 57:return 55; +break; +case 58:return 31; +break; +case 59:return 38; +break; +case 60:return 75; +break; +case 61:return 'DOT'; +break; +case 62:return 'PLUS'; +break; +case 63:return 72; +break; +case 64:return 'EQUALS'; +break; +case 65:return 'EQUALS'; +break; +case 66:return 79; +break; +case 67:return 'PUNCTUATION'; +break; +case 68:return 78; +break; +case 69:return 77; +break; +case 70:return 74; +break; +case 71:return 24; +break; +} +}, +rules: [/^(?:%%\{)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:((?:(?!\}%%)[^:.])*))/,/^(?::)/,/^(?:\}%%)/,/^(?:((?:(?!\}%%).|\n)*))/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:classDiagram-v2\b)/,/^(?:classDiagram\b)/,/^(?:[{])/,/^(?:$)/,/^(?:[{])/,/^(?:[}])/,/^(?:[\n])/,/^(?:[^{}\n]*)/,/^(?:class\b)/,/^(?:cssClass\b)/,/^(?:callback\b)/,/^(?:link\b)/,/^(?:click\b)/,/^(?:<<)/,/^(?:>>)/,/^(?:[~])/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:[`])/,/^(?:[`])/,/^(?:[^`]+)/,/^(?:href[\s]+["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:--)/,/^(?:\.\.)/,/^(?::{1}[^:\n;]+)/,/^(?::{3})/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:\w+)/,/^(?:[!"#$%&'*+,-.`?\\/])/,/^(?:[0-9]+)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\s)/,/^(?:$)/], +conditions: {"arg_directive":{"rules":[7,8],"inclusive":false},"type_directive":{"rules":[6,7],"inclusive":false},"open_directive":{"rules":[5],"inclusive":false},"callback_args":{"rules":[44,45],"inclusive":false},"callback_name":{"rules":[41,42,43],"inclusive":false},"href":{"rules":[38,39],"inclusive":false},"struct":{"rules":[16,17,18,19,20],"inclusive":false},"generic":{"rules":[29,30],"inclusive":false},"bqstring":{"rules":[35,36],"inclusive":false},"string":{"rules":[32,33],"inclusive":false},"INITIAL":{"rules":[0,1,2,3,4,9,10,11,12,13,14,15,21,22,23,24,25,26,27,28,31,34,37,40,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71],"inclusive":true}} +}); +return lexer; +})(); +parser.lexer = lexer; +function Parser () { + this.yy = {}; +} +Parser.prototype = parser;parser.Parser = Parser; +return new Parser; +})(); + + +if (true) { +exports.parser = parser; +exports.Parser = parser.Parser; +exports.parse = function () { return parser.parse.apply(parser, arguments); }; +exports.main = function commonjsMain (args) { + if (!args[1]) { + console.log('Usage: '+args[0]+' FILE'); + process.exit(1); } - currentQueue = null; - draining = false; - runClearTimeout(timeout); + var source = __webpack_require__(/*! fs */ "?35ed").readFileSync(__webpack_require__(/*! path */ "./node_modules/path-browserify/index.js").normalize(args[1]), "utf8"); + return exports.parser.parse(source); +}; +if ( true && __webpack_require__.c[__webpack_require__.s] === module) { + exports.main(process.argv.slice(1)); +} } -process.nextTick = function (fun) { - var args = new Array(arguments.length - 1); - if (arguments.length > 1) { - for (var i = 1; i < arguments.length; i++) { - args[i - 1] = arguments[i]; +/***/ }), + +/***/ "./src/diagrams/er/parser/erDiagram.jison": +/*!************************************************!*\ + !*** ./src/diagrams/er/parser/erDiagram.jison ***! + \************************************************/ +/***/ ((module, exports, __webpack_require__) => { + +/* module decorator */ module = __webpack_require__.nmd(module); +/* parser generated by jison 0.4.18 */ +/* + Returns a Parser object of the following structure: + + Parser: { + yy: {} + } + + Parser.prototype: { + yy: {}, + trace: function(), + symbols_: {associative list: name ==> number}, + terminals_: {associative list: number ==> name}, + productions_: [...], + performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$), + table: [...], + defaultActions: {...}, + parseError: function(str, hash), + parse: function(input), + + lexer: { + EOF: 1, + parseError: function(str, hash), + setInput: function(input), + input: function(), + unput: function(str), + more: function(), + less: function(n), + pastInput: function(), + upcomingInput: function(), + showPosition: function(), + test_match: function(regex_match_array, rule_index), + next: function(), + lex: function(), + begin: function(condition), + popState: function(), + _currentRules: function(), + topState: function(), + pushState: function(condition), + + options: { + ranges: boolean (optional: true ==> token location info will include a .range[] member) + flex: boolean (optional: true ==> flex-like lexing behaviour where the rules are tested exhaustively to find the longest match) + backtrack_lexer: boolean (optional: true ==> lexer regexes are tested in order and for each matching regex the action code is invoked; the lexer terminates the scan when a token is returned by the action code) + }, + + performAction: function(yy, yy_, $avoiding_name_collisions, YY_START), + rules: [...], + conditions: {associative list: name ==> set}, + } + } + + + token location info (@$, _$, etc.): { + first_line: n, + last_line: n, + first_column: n, + last_column: n, + range: [start_number, end_number] (where the numbers are indexes into the input string, regular zero-based) + } + + + the parseError function receives a 'hash' object with these members for lexer and parser errors: { + text: (matched text) + token: (the produced terminal token, if any) + line: (yylineno) + } + while parser (grammar) errors will also provide these members, i.e. parser errors deliver a superset of attributes: { + loc: (yylloc) + expected: (string describing the set of expected tokens) + recoverable: (boolean: TRUE when the parser has a error recovery rule available for this particular error) + } +*/ +var parser = (function(){ +var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,2],$V1=[1,5],$V2=[6,9,11,23,40],$V3=[1,17],$V4=[1,20],$V5=[1,25],$V6=[1,26],$V7=[1,27],$V8=[1,28],$V9=[1,37],$Va=[23,37,38],$Vb=[4,6,9,11,23,40],$Vc=[33,34,35,36],$Vd=[22,29]; +var parser = {trace: function trace () { }, +yy: {}, +symbols_: {"error":2,"start":3,"ER_DIAGRAM":4,"document":5,"EOF":6,"directive":7,"line":8,"SPACE":9,"statement":10,"NEWLINE":11,"openDirective":12,"typeDirective":13,"closeDirective":14,":":15,"argDirective":16,"entityName":17,"relSpec":18,"role":19,"BLOCK_START":20,"attributes":21,"BLOCK_STOP":22,"ALPHANUM":23,"attribute":24,"attributeType":25,"attributeName":26,"attributeKeyType":27,"COMMENT":28,"ATTRIBUTE_WORD":29,"ATTRIBUTE_KEY":30,"cardinality":31,"relType":32,"ZERO_OR_ONE":33,"ZERO_OR_MORE":34,"ONE_OR_MORE":35,"ONLY_ONE":36,"NON_IDENTIFYING":37,"IDENTIFYING":38,"WORD":39,"open_directive":40,"type_directive":41,"arg_directive":42,"close_directive":43,"$accept":0,"$end":1}, +terminals_: {2:"error",4:"ER_DIAGRAM",6:"EOF",9:"SPACE",11:"NEWLINE",15:":",20:"BLOCK_START",22:"BLOCK_STOP",23:"ALPHANUM",28:"COMMENT",29:"ATTRIBUTE_WORD",30:"ATTRIBUTE_KEY",33:"ZERO_OR_ONE",34:"ZERO_OR_MORE",35:"ONE_OR_MORE",36:"ONLY_ONE",37:"NON_IDENTIFYING",38:"IDENTIFYING",39:"WORD",40:"open_directive",41:"type_directive",42:"arg_directive",43:"close_directive"}, +productions_: [0,[3,3],[3,2],[5,0],[5,2],[8,2],[8,1],[8,1],[8,1],[7,4],[7,6],[10,1],[10,5],[10,4],[10,3],[10,1],[17,1],[21,1],[21,2],[24,2],[24,3],[24,3],[24,4],[25,1],[26,1],[27,1],[18,3],[31,1],[31,1],[31,1],[31,1],[32,1],[32,1],[19,1],[19,1],[12,1],[13,1],[16,1],[14,1]], +performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) { +/* this == yyval */ + +var $0 = $$.length - 1; +switch (yystate) { +case 1: + /*console.log('finished parsing');*/ +break; +case 3: + this.$ = [] +break; +case 4: +$$[$0-1].push($$[$0]);this.$ = $$[$0-1] +break; +case 5: case 6: + this.$ = $$[$0] +break; +case 7: case 8: + this.$=[]; +break; +case 12: + + yy.addEntity($$[$0-4]); + yy.addEntity($$[$0-2]); + yy.addRelationship($$[$0-4], $$[$0], $$[$0-2], $$[$0-3]); + /*console.log($$[$0-4] + $$[$0-3] + $$[$0-2] + ':' + $$[$0]);*/ + +break; +case 13: + + /* console.log('detected block'); */ + yy.addEntity($$[$0-3]); + yy.addAttributes($$[$0-3], $$[$0-1]); + /* console.log('handled block'); */ + +break; +case 14: + yy.addEntity($$[$0-2]); +break; +case 15: + yy.addEntity($$[$0]); +break; +case 16: + this.$ = $$[$0]; /*console.log('Entity: ' + $$[$0]);*/ +break; +case 17: + this.$ = [$$[$0]]; +break; +case 18: + $$[$0].push($$[$0-1]); this.$=$$[$0]; +break; +case 19: + this.$ = { attributeType: $$[$0-1], attributeName: $$[$0] }; +break; +case 20: + this.$ = { attributeType: $$[$0-2], attributeName: $$[$0-1], attributeKeyType: $$[$0] }; +break; +case 21: + this.$ = { attributeType: $$[$0-2], attributeName: $$[$0-1], attributeComment: $$[$0] }; +break; +case 22: + this.$ = { attributeType: $$[$0-3], attributeName: $$[$0-2], attributeKeyType: $$[$0-1], attributeComment: $$[$0] }; +break; +case 23: case 24: case 25: + this.$=$$[$0]; +break; +case 26: + + this.$ = { cardA: $$[$0], relType: $$[$0-1], cardB: $$[$0-2] }; + /*console.log('relSpec: ' + $$[$0] + $$[$0-1] + $$[$0-2]);*/ + +break; +case 27: + this.$ = yy.Cardinality.ZERO_OR_ONE; +break; +case 28: + this.$ = yy.Cardinality.ZERO_OR_MORE; +break; +case 29: + this.$ = yy.Cardinality.ONE_OR_MORE; +break; +case 30: + this.$ = yy.Cardinality.ONLY_ONE; +break; +case 31: + this.$ = yy.Identification.NON_IDENTIFYING; +break; +case 32: + this.$ = yy.Identification.IDENTIFYING; +break; +case 33: + this.$ = $$[$0].replace(/"/g, ''); +break; +case 34: + this.$ = $$[$0]; +break; +case 35: + yy.parseDirective('%%{', 'open_directive'); +break; +case 36: + yy.parseDirective($$[$0], 'type_directive'); +break; +case 37: + $$[$0] = $$[$0].trim().replace(/'/g, '"'); yy.parseDirective($$[$0], 'arg_directive'); +break; +case 38: + yy.parseDirective('}%%', 'close_directive', 'er'); +break; +} +}, +table: [{3:1,4:$V0,7:3,12:4,40:$V1},{1:[3]},o($V2,[2,3],{5:6}),{3:7,4:$V0,7:3,12:4,40:$V1},{13:8,41:[1,9]},{41:[2,35]},{6:[1,10],7:15,8:11,9:[1,12],10:13,11:[1,14],12:4,17:16,23:$V3,40:$V1},{1:[2,2]},{14:18,15:[1,19],43:$V4},o([15,43],[2,36]),o($V2,[2,8],{1:[2,1]}),o($V2,[2,4]),{7:15,10:21,12:4,17:16,23:$V3,40:$V1},o($V2,[2,6]),o($V2,[2,7]),o($V2,[2,11]),o($V2,[2,15],{18:22,31:24,20:[1,23],33:$V5,34:$V6,35:$V7,36:$V8}),o([6,9,11,15,20,23,33,34,35,36,40],[2,16]),{11:[1,29]},{16:30,42:[1,31]},{11:[2,38]},o($V2,[2,5]),{17:32,23:$V3},{21:33,22:[1,34],24:35,25:36,29:$V9},{32:38,37:[1,39],38:[1,40]},o($Va,[2,27]),o($Va,[2,28]),o($Va,[2,29]),o($Va,[2,30]),o($Vb,[2,9]),{14:41,43:$V4},{43:[2,37]},{15:[1,42]},{22:[1,43]},o($V2,[2,14]),{21:44,22:[2,17],24:35,25:36,29:$V9},{26:45,29:[1,46]},{29:[2,23]},{31:47,33:$V5,34:$V6,35:$V7,36:$V8},o($Vc,[2,31]),o($Vc,[2,32]),{11:[1,48]},{19:49,23:[1,51],39:[1,50]},o($V2,[2,13]),{22:[2,18]},o($Vd,[2,19],{27:52,28:[1,53],30:[1,54]}),o([22,28,29,30],[2,24]),{23:[2,26]},o($Vb,[2,10]),o($V2,[2,12]),o($V2,[2,33]),o($V2,[2,34]),o($Vd,[2,20],{28:[1,55]}),o($Vd,[2,21]),o([22,28,29],[2,25]),o($Vd,[2,22])], +defaultActions: {5:[2,35],7:[2,2],20:[2,38],31:[2,37],37:[2,23],44:[2,18],47:[2,26]}, +parseError: function parseError (str, hash) { + if (hash.recoverable) { + this.trace(str); + } else { + var error = new Error(str); + error.hash = hash; + throw error; + } +}, +parse: function parse(input) { + var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = '', yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1; + var args = lstack.slice.call(arguments, 1); + var lexer = Object.create(this.lexer); + var sharedState = { yy: {} }; + for (var k in this.yy) { + if (Object.prototype.hasOwnProperty.call(this.yy, k)) { + sharedState.yy[k] = this.yy[k]; } } - queue.push(new Item(fun, args)); - if (queue.length === 1 && !draining) { - runTimeout(drainQueue); + lexer.setInput(input, sharedState.yy); + sharedState.yy.lexer = lexer; + sharedState.yy.parser = this; + if (typeof lexer.yylloc == 'undefined') { + lexer.yylloc = {}; } -}; + var yyloc = lexer.yylloc; + lstack.push(yyloc); + var ranges = lexer.options && lexer.options.ranges; + if (typeof sharedState.yy.parseError === 'function') { + this.parseError = sharedState.yy.parseError; + } else { + this.parseError = Object.getPrototypeOf(this).parseError; + } + function popStack(n) { + stack.length = stack.length - 2 * n; + vstack.length = vstack.length - n; + lstack.length = lstack.length - n; + } + function lex() { + var token; + token = tstack.pop() || lexer.lex() || EOF; + if (typeof token !== 'number') { + if (token instanceof Array) { + tstack = token; + token = tstack.pop(); + } + token = self.symbols_[token] || token; + } + return token; + } + var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected; + while (true) { + state = stack[stack.length - 1]; + if (this.defaultActions[state]) { + action = this.defaultActions[state]; + } else { + if (symbol === null || typeof symbol == 'undefined') { + symbol = lex(); + } + action = table[state] && table[state][symbol]; + } + if (typeof action === 'undefined' || !action.length || !action[0]) { + var errStr = ''; + expected = []; + for (p in table[state]) { + if (this.terminals_[p] && p > TERROR) { + expected.push('\'' + this.terminals_[p] + '\''); + } + } + if (lexer.showPosition) { + errStr = 'Parse error on line ' + (yylineno + 1) + ':\n' + lexer.showPosition() + '\nExpecting ' + expected.join(', ') + ', got \'' + (this.terminals_[symbol] || symbol) + '\''; + } else { + errStr = 'Parse error on line ' + (yylineno + 1) + ': Unexpected ' + (symbol == EOF ? 'end of input' : '\'' + (this.terminals_[symbol] || symbol) + '\''); + } + this.parseError(errStr, { + text: lexer.match, + token: this.terminals_[symbol] || symbol, + line: lexer.yylineno, + loc: yyloc, + expected: expected + }); + } + if (action[0] instanceof Array && action.length > 1) { + throw new Error('Parse Error: multiple actions possible at state: ' + state + ', token: ' + symbol); + } + switch (action[0]) { + case 1: + stack.push(symbol); + vstack.push(lexer.yytext); + lstack.push(lexer.yylloc); + stack.push(action[1]); + symbol = null; + if (!preErrorSymbol) { + yyleng = lexer.yyleng; + yytext = lexer.yytext; + yylineno = lexer.yylineno; + yyloc = lexer.yylloc; + if (recovering > 0) { + recovering--; + } + } else { + symbol = preErrorSymbol; + preErrorSymbol = null; + } + break; + case 2: + len = this.productions_[action[1]][1]; + yyval.$ = vstack[vstack.length - len]; + yyval._$ = { + first_line: lstack[lstack.length - (len || 1)].first_line, + last_line: lstack[lstack.length - 1].last_line, + first_column: lstack[lstack.length - (len || 1)].first_column, + last_column: lstack[lstack.length - 1].last_column + }; + if (ranges) { + yyval._$.range = [ + lstack[lstack.length - (len || 1)].range[0], + lstack[lstack.length - 1].range[1] + ]; + } + r = this.performAction.apply(yyval, [ + yytext, + yyleng, + yylineno, + sharedState.yy, + action[1], + vstack, + lstack + ].concat(args)); + if (typeof r !== 'undefined') { + return r; + } + if (len) { + stack = stack.slice(0, -1 * len * 2); + vstack = vstack.slice(0, -1 * len); + lstack = lstack.slice(0, -1 * len); + } + stack.push(this.productions_[action[1]][0]); + vstack.push(yyval.$); + lstack.push(yyval._$); + newState = table[stack[stack.length - 2]][stack[stack.length - 1]]; + stack.push(newState); + break; + case 3: + return true; + } + } + return true; +}}; -// v8 likes predictible objects -function Item(fun, array) { - this.fun = fun; - this.array = array; +/* generated by jison-lex 0.3.4 */ +var lexer = (function(){ +var lexer = ({ + +EOF:1, + +parseError:function parseError(str, hash) { + if (this.yy.parser) { + this.yy.parser.parseError(str, hash); + } else { + throw new Error(str); + } + }, + +// resets the lexer, sets new input +setInput:function (input, yy) { + this.yy = yy || this.yy || {}; + this._input = input; + this._more = this._backtrack = this.done = false; + this.yylineno = this.yyleng = 0; + this.yytext = this.matched = this.match = ''; + this.conditionStack = ['INITIAL']; + this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0 + }; + if (this.options.ranges) { + this.yylloc.range = [0,0]; + } + this.offset = 0; + return this; + }, + +// consumes and returns one char from the input +input:function () { + var ch = this._input[0]; + this.yytext += ch; + this.yyleng++; + this.offset++; + this.match += ch; + this.matched += ch; + var lines = ch.match(/(?:\r\n?|\n).*/g); + if (lines) { + this.yylineno++; + this.yylloc.last_line++; + } else { + this.yylloc.last_column++; + } + if (this.options.ranges) { + this.yylloc.range[1]++; + } + + this._input = this._input.slice(1); + return ch; + }, + +// unshifts one char (or a string) into the input +unput:function (ch) { + var len = ch.length; + var lines = ch.split(/(?:\r\n?|\n)/g); + + this._input = ch + this._input; + this.yytext = this.yytext.substr(0, this.yytext.length - len); + //this.yyleng -= len; + this.offset -= len; + var oldLines = this.match.split(/(?:\r\n?|\n)/g); + this.match = this.match.substr(0, this.match.length - 1); + this.matched = this.matched.substr(0, this.matched.length - 1); + + if (lines.length - 1) { + this.yylineno -= lines.length - 1; + } + var r = this.yylloc.range; + + this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: lines ? + (lines.length === oldLines.length ? this.yylloc.first_column : 0) + + oldLines[oldLines.length - lines.length].length - lines[0].length : + this.yylloc.first_column - len + }; + + if (this.options.ranges) { + this.yylloc.range = [r[0], r[0] + this.yyleng - len]; + } + this.yyleng = this.yytext.length; + return this; + }, + +// When called from action, caches matched text and appends it on next action +more:function () { + this._more = true; + return this; + }, + +// When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead. +reject:function () { + if (this.options.backtrack_lexer) { + this._backtrack = true; + } else { + return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n' + this.showPosition(), { + text: "", + token: null, + line: this.yylineno + }); + + } + return this; + }, + +// retain first n characters of the match +less:function (n) { + this.unput(this.match.slice(n)); + }, + +// displays already matched input, i.e. for error messages +pastInput:function () { + var past = this.matched.substr(0, this.matched.length - this.match.length); + return (past.length > 20 ? '...':'') + past.substr(-20).replace(/\n/g, ""); + }, + +// displays upcoming input, i.e. for error messages +upcomingInput:function () { + var next = this.match; + if (next.length < 20) { + next += this._input.substr(0, 20-next.length); + } + return (next.substr(0,20) + (next.length > 20 ? '...' : '')).replace(/\n/g, ""); + }, + +// displays the character position where the lexing error occurred, i.e. for error messages +showPosition:function () { + var pre = this.pastInput(); + var c = new Array(pre.length + 1).join("-"); + return pre + this.upcomingInput() + "\n" + c + "^"; + }, + +// test the lexed token: return FALSE when not a match, otherwise return token +test_match:function(match, indexed_rule) { + var token, + lines, + backup; + + if (this.options.backtrack_lexer) { + // save context + backup = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done + }; + if (this.options.ranges) { + backup.yylloc.range = this.yylloc.range.slice(0); + } + } + + lines = match[0].match(/(?:\r\n?|\n).*/g); + if (lines) { + this.yylineno += lines.length; + } + this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: lines ? + lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length : + this.yylloc.last_column + match[0].length + }; + this.yytext += match[0]; + this.match += match[0]; + this.matches = match; + this.yyleng = this.yytext.length; + if (this.options.ranges) { + this.yylloc.range = [this.offset, this.offset += this.yyleng]; + } + this._more = false; + this._backtrack = false; + this._input = this._input.slice(match[0].length); + this.matched += match[0]; + token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]); + if (this.done && this._input) { + this.done = false; + } + if (token) { + return token; + } else if (this._backtrack) { + // recover context + for (var k in backup) { + this[k] = backup[k]; + } + return false; // rule action called reject() implying the next rule should be tested instead. + } + return false; + }, + +// return next match in input +next:function () { + if (this.done) { + return this.EOF; + } + if (!this._input) { + this.done = true; + } + + var token, + match, + tempMatch, + index; + if (!this._more) { + this.yytext = ''; + this.match = ''; + } + var rules = this._currentRules(); + for (var i = 0; i < rules.length; i++) { + tempMatch = this._input.match(this.rules[rules[i]]); + if (tempMatch && (!match || tempMatch[0].length > match[0].length)) { + match = tempMatch; + index = i; + if (this.options.backtrack_lexer) { + token = this.test_match(tempMatch, rules[i]); + if (token !== false) { + return token; + } else if (this._backtrack) { + match = false; + continue; // rule action called reject() implying a rule MISmatch. + } else { + // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) + return false; + } + } else if (!this.options.flex) { + break; + } + } + } + if (match) { + token = this.test_match(match, rules[index]); + if (token !== false) { + return token; + } + // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) + return false; + } + if (this._input === "") { + return this.EOF; + } else { + return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\n' + this.showPosition(), { + text: "", + token: null, + line: this.yylineno + }); + } + }, + +// return next match that has a token +lex:function lex () { + var r = this.next(); + if (r) { + return r; + } else { + return this.lex(); + } + }, + +// activates a new lexer condition state (pushes the new lexer condition state onto the condition stack) +begin:function begin (condition) { + this.conditionStack.push(condition); + }, + +// pop the previously active lexer condition state off the condition stack +popState:function popState () { + var n = this.conditionStack.length - 1; + if (n > 0) { + return this.conditionStack.pop(); + } else { + return this.conditionStack[0]; + } + }, + +// produce the lexer rule set which is active for the currently active lexer condition state +_currentRules:function _currentRules () { + if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) { + return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules; + } else { + return this.conditions["INITIAL"].rules; + } + }, + +// return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available +topState:function topState (n) { + n = this.conditionStack.length - 1 - Math.abs(n || 0); + if (n >= 0) { + return this.conditionStack[n]; + } else { + return "INITIAL"; + } + }, + +// alias for begin(condition) +pushState:function pushState (condition) { + this.begin(condition); + }, + +// return the number of states currently on the stack +stateStackSize:function stateStackSize() { + return this.conditionStack.length; + }, +options: {"case-insensitive":true}, +performAction: function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) { +var YYSTATE=YY_START; +switch($avoiding_name_collisions) { +case 0: this.begin('open_directive'); return 40; +break; +case 1: this.begin('type_directive'); return 41; +break; +case 2: this.popState(); this.begin('arg_directive'); return 15; +break; +case 3: this.popState(); this.popState(); return 43; +break; +case 4:return 42; +break; +case 5:/* skip comments */ +break; +case 6:/* skip comments */ +break; +case 7:return 11; +break; +case 8:/* skip whitespace */ +break; +case 9:return 9; +break; +case 10:return 39; +break; +case 11:return 4; +break; +case 12: this.begin("block"); return 20; +break; +case 13:/* skip whitespace in block */ +break; +case 14:return 30 +break; +case 15:return 29 +break; +case 16:return 28; +break; +case 17:/* nothing */ +break; +case 18: this.popState(); return 22; +break; +case 19:return yy_.yytext[0]; +break; +case 20:return 33; +break; +case 21:return 34; +break; +case 22:return 35; +break; +case 23:return 36; +break; +case 24:return 33; +break; +case 25:return 34; +break; +case 26:return 35; +break; +case 27:return 37; +break; +case 28:return 38; +break; +case 29:return 37; +break; +case 30:return 37; +break; +case 31:return 23; +break; +case 32:return yy_.yytext[0]; +break; +case 33:return 6; +break; } -Item.prototype.run = function () { - this.fun.apply(null, this.array); +}, +rules: [/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:[\s]+)/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:\s+)/i,/^(?:(?:PK)|(?:FK))/i,/^(?:[A-Za-z][A-Za-z0-9\-_]*)/i,/^(?:"[^"]*")/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:\|o\b)/i,/^(?:\}o\b)/i,/^(?:\}\|)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:[A-Za-z][A-Za-z0-9\-_]*)/i,/^(?:.)/i,/^(?:$)/i], +conditions: {"open_directive":{"rules":[1],"inclusive":false},"type_directive":{"rules":[2,3],"inclusive":false},"arg_directive":{"rules":[3,4],"inclusive":false},"block":{"rules":[13,14,15,16,17,18,19],"inclusive":false},"INITIAL":{"rules":[0,5,6,7,8,9,10,11,12,20,21,22,23,24,25,26,27,28,29,30,31,32,33],"inclusive":true}} +}); +return lexer; +})(); +parser.lexer = lexer; +function Parser () { + this.yy = {}; +} +Parser.prototype = parser;parser.Parser = Parser; +return new Parser; +})(); + + +if (true) { +exports.parser = parser; +exports.Parser = parser.Parser; +exports.parse = function () { return parser.parse.apply(parser, arguments); }; +exports.main = function commonjsMain (args) { + if (!args[1]) { + console.log('Usage: '+args[0]+' FILE'); + process.exit(1); + } + var source = __webpack_require__(/*! fs */ "?3c87").readFileSync(__webpack_require__(/*! path */ "./node_modules/path-browserify/index.js").normalize(args[1]), "utf8"); + return exports.parser.parse(source); }; -process.title = 'browser'; -process.browser = true; -process.env = {}; -process.argv = []; -process.version = ''; // empty string to avoid regexp issues -process.versions = {}; - -function noop() {} - -process.on = noop; -process.addListener = noop; -process.once = noop; -process.off = noop; -process.removeListener = noop; -process.removeAllListeners = noop; -process.emit = noop; -process.prependListener = noop; -process.prependOnceListener = noop; - -process.listeners = function (name) { return [] } - -process.binding = function (name) { - throw new Error('process.binding is not supported'); -}; - -process.cwd = function () { return '/' }; -process.chdir = function (dir) { - throw new Error('process.chdir is not supported'); -}; -process.umask = function() { return 0; }; - +if ( true && __webpack_require__.c[__webpack_require__.s] === module) { + exports.main(process.argv.slice(1)); +} +} /***/ }), -/***/ "./node_modules/webpack/buildin/module.js": -/*!***********************************!*\ - !*** (webpack)/buildin/module.js ***! - \***********************************/ -/*! no static exports found */ -/***/ (function(module, exports) { +/***/ "./src/diagrams/flowchart/parser/flow.jison": +/*!**************************************************!*\ + !*** ./src/diagrams/flowchart/parser/flow.jison ***! + \**************************************************/ +/***/ ((module, exports, __webpack_require__) => { -module.exports = function(module) { - if (!module.webpackPolyfill) { - module.deprecate = function() {}; - module.paths = []; - // module.parent = undefined by default - if (!module.children) module.children = []; - Object.defineProperty(module, "loaded", { - enumerable: true, - get: function() { - return module.l; - } - }); - Object.defineProperty(module, "id", { - enumerable: true, - get: function() { - return module.i; - } - }); - module.webpackPolyfill = 1; - } - return module; +/* module decorator */ module = __webpack_require__.nmd(module); +/* parser generated by jison 0.4.18 */ +/* + Returns a Parser object of the following structure: + + Parser: { + yy: {} + } + + Parser.prototype: { + yy: {}, + trace: function(), + symbols_: {associative list: name ==> number}, + terminals_: {associative list: number ==> name}, + productions_: [...], + performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$), + table: [...], + defaultActions: {...}, + parseError: function(str, hash), + parse: function(input), + + lexer: { + EOF: 1, + parseError: function(str, hash), + setInput: function(input), + input: function(), + unput: function(str), + more: function(), + less: function(n), + pastInput: function(), + upcomingInput: function(), + showPosition: function(), + test_match: function(regex_match_array, rule_index), + next: function(), + lex: function(), + begin: function(condition), + popState: function(), + _currentRules: function(), + topState: function(), + pushState: function(condition), + + options: { + ranges: boolean (optional: true ==> token location info will include a .range[] member) + flex: boolean (optional: true ==> flex-like lexing behaviour where the rules are tested exhaustively to find the longest match) + backtrack_lexer: boolean (optional: true ==> lexer regexes are tested in order and for each matching regex the action code is invoked; the lexer terminates the scan when a token is returned by the action code) + }, + + performAction: function(yy, yy_, $avoiding_name_collisions, YY_START), + rules: [...], + conditions: {associative list: name ==> set}, + } + } + + + token location info (@$, _$, etc.): { + first_line: n, + last_line: n, + first_column: n, + last_column: n, + range: [start_number, end_number] (where the numbers are indexes into the input string, regular zero-based) + } + + + the parseError function receives a 'hash' object with these members for lexer and parser errors: { + text: (matched text) + token: (the produced terminal token, if any) + line: (yylineno) + } + while parser (grammar) errors will also provide these members, i.e. parser errors deliver a superset of attributes: { + loc: (yylloc) + expected: (string describing the set of expected tokens) + recoverable: (boolean: TRUE when the parser has a error recovery rule available for this particular error) + } +*/ +var parser = (function(){ +var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,9],$V1=[1,7],$V2=[1,6],$V3=[1,8],$V4=[1,20,21,22,23,38,47,76,77,78,79,80,81,95,96,99,100,101,103,104,110,111,112,113,114,115,116,117,118,119],$V5=[2,10],$V6=[1,20],$V7=[1,21],$V8=[1,22],$V9=[1,23],$Va=[1,30],$Vb=[1,59],$Vc=[1,33],$Vd=[1,34],$Ve=[1,35],$Vf=[1,36],$Vg=[1,37],$Vh=[1,53],$Vi=[1,48],$Vj=[1,50],$Vk=[1,45],$Vl=[1,49],$Vm=[1,52],$Vn=[1,56],$Vo=[1,57],$Vp=[1,38],$Vq=[1,39],$Vr=[1,40],$Vs=[1,41],$Vt=[1,58],$Vu=[1,47],$Vv=[1,51],$Vw=[1,54],$Vx=[1,55],$Vy=[1,46],$Vz=[1,62],$VA=[1,67],$VB=[1,20,21,22,23,38,42,47,76,77,78,79,80,81,95,96,99,100,101,103,104,110,111,112,113,114,115,116,117,118,119],$VC=[1,71],$VD=[1,70],$VE=[1,72],$VF=[20,21,23,70,71],$VG=[1,93],$VH=[1,98],$VI=[1,95],$VJ=[1,100],$VK=[1,103],$VL=[1,101],$VM=[1,102],$VN=[1,96],$VO=[1,108],$VP=[1,107],$VQ=[1,97],$VR=[1,99],$VS=[1,104],$VT=[1,105],$VU=[1,106],$VV=[1,109],$VW=[20,21,22,23,70,71],$VX=[20,21,22,23,48,70,71],$VY=[20,21,22,23,40,47,48,50,52,54,56,58,60,62,63,65,70,71,81,95,96,99,100,101,103,104,114,115,116,117,118,119],$VZ=[20,21,23],$V_=[20,21,23,47,70,71,81,95,96,99,100,101,103,104,114,115,116,117,118,119],$V$=[1,12,20,21,22,23,24,38,42,47,76,77,78,79,80,81,95,96,99,100,101,103,104,110,111,112,113,114,115,116,117,118,119],$V01=[47,81,95,96,99,100,101,103,104,114,115,116,117,118,119],$V11=[1,141],$V21=[1,149],$V31=[1,150],$V41=[1,151],$V51=[1,152],$V61=[1,136],$V71=[1,137],$V81=[1,133],$V91=[1,144],$Va1=[1,145],$Vb1=[1,146],$Vc1=[1,147],$Vd1=[1,148],$Ve1=[1,153],$Vf1=[1,154],$Vg1=[1,139],$Vh1=[1,142],$Vi1=[1,138],$Vj1=[1,135],$Vk1=[20,21,22,23,38,42,47,76,77,78,79,80,81,95,96,99,100,101,103,104,110,111,112,113,114,115,116,117,118,119],$Vl1=[1,157],$Vm1=[20,21,22,23,26,47,81,95,96,99,100,101,103,104,114,115,116,117,118,119],$Vn1=[20,21,22,23,24,26,38,40,41,42,47,51,53,55,57,59,61,62,64,66,70,71,72,76,77,78,79,80,81,82,85,95,96,99,100,101,103,104,105,106,114,115,116,117,118,119],$Vo1=[12,21,22,24],$Vp1=[22,96],$Vq1=[1,238],$Vr1=[1,242],$Vs1=[1,239],$Vt1=[1,236],$Vu1=[1,233],$Vv1=[1,234],$Vw1=[1,235],$Vx1=[1,237],$Vy1=[1,240],$Vz1=[1,241],$VA1=[1,243],$VB1=[1,260],$VC1=[20,21,23,96],$VD1=[20,21,22,23,76,92,95,96,99,100,101,102,103,104,105]; +var parser = {trace: function trace () { }, +yy: {}, +symbols_: {"error":2,"start":3,"mermaidDoc":4,"directive":5,"openDirective":6,"typeDirective":7,"closeDirective":8,"separator":9,":":10,"argDirective":11,"open_directive":12,"type_directive":13,"arg_directive":14,"close_directive":15,"graphConfig":16,"document":17,"line":18,"statement":19,"SEMI":20,"NEWLINE":21,"SPACE":22,"EOF":23,"GRAPH":24,"NODIR":25,"DIR":26,"FirstStmtSeperator":27,"ending":28,"endToken":29,"spaceList":30,"spaceListNewline":31,"verticeStatement":32,"styleStatement":33,"linkStyleStatement":34,"classDefStatement":35,"classStatement":36,"clickStatement":37,"subgraph":38,"text":39,"SQS":40,"SQE":41,"end":42,"direction":43,"link":44,"node":45,"vertex":46,"AMP":47,"STYLE_SEPARATOR":48,"idString":49,"PS":50,"PE":51,"(-":52,"-)":53,"STADIUMSTART":54,"STADIUMEND":55,"SUBROUTINESTART":56,"SUBROUTINEEND":57,"CYLINDERSTART":58,"CYLINDEREND":59,"DIAMOND_START":60,"DIAMOND_STOP":61,"TAGEND":62,"TRAPSTART":63,"TRAPEND":64,"INVTRAPSTART":65,"INVTRAPEND":66,"linkStatement":67,"arrowText":68,"TESTSTR":69,"START_LINK":70,"LINK":71,"PIPE":72,"textToken":73,"STR":74,"keywords":75,"STYLE":76,"LINKSTYLE":77,"CLASSDEF":78,"CLASS":79,"CLICK":80,"DOWN":81,"UP":82,"textNoTags":83,"textNoTagsToken":84,"DEFAULT":85,"stylesOpt":86,"alphaNum":87,"CALLBACKNAME":88,"CALLBACKARGS":89,"HREF":90,"LINK_TARGET":91,"HEX":92,"numList":93,"INTERPOLATE":94,"NUM":95,"COMMA":96,"style":97,"styleComponent":98,"ALPHA":99,"COLON":100,"MINUS":101,"UNIT":102,"BRKT":103,"DOT":104,"PCT":105,"TAGSTART":106,"alphaNumToken":107,"idStringToken":108,"alphaNumStatement":109,"direction_tb":110,"direction_bt":111,"direction_rl":112,"direction_lr":113,"PUNCTUATION":114,"UNICODE_TEXT":115,"PLUS":116,"EQUALS":117,"MULT":118,"UNDERSCORE":119,"graphCodeTokens":120,"ARROW_CROSS":121,"ARROW_POINT":122,"ARROW_CIRCLE":123,"ARROW_OPEN":124,"QUOTE":125,"$accept":0,"$end":1}, +terminals_: {2:"error",10:":",12:"open_directive",13:"type_directive",14:"arg_directive",15:"close_directive",20:"SEMI",21:"NEWLINE",22:"SPACE",23:"EOF",24:"GRAPH",25:"NODIR",26:"DIR",38:"subgraph",40:"SQS",41:"SQE",42:"end",47:"AMP",48:"STYLE_SEPARATOR",50:"PS",51:"PE",52:"(-",53:"-)",54:"STADIUMSTART",55:"STADIUMEND",56:"SUBROUTINESTART",57:"SUBROUTINEEND",58:"CYLINDERSTART",59:"CYLINDEREND",60:"DIAMOND_START",61:"DIAMOND_STOP",62:"TAGEND",63:"TRAPSTART",64:"TRAPEND",65:"INVTRAPSTART",66:"INVTRAPEND",69:"TESTSTR",70:"START_LINK",71:"LINK",72:"PIPE",74:"STR",76:"STYLE",77:"LINKSTYLE",78:"CLASSDEF",79:"CLASS",80:"CLICK",81:"DOWN",82:"UP",85:"DEFAULT",88:"CALLBACKNAME",89:"CALLBACKARGS",90:"HREF",91:"LINK_TARGET",92:"HEX",94:"INTERPOLATE",95:"NUM",96:"COMMA",99:"ALPHA",100:"COLON",101:"MINUS",102:"UNIT",103:"BRKT",104:"DOT",105:"PCT",106:"TAGSTART",110:"direction_tb",111:"direction_bt",112:"direction_rl",113:"direction_lr",114:"PUNCTUATION",115:"UNICODE_TEXT",116:"PLUS",117:"EQUALS",118:"MULT",119:"UNDERSCORE",121:"ARROW_CROSS",122:"ARROW_POINT",123:"ARROW_CIRCLE",124:"ARROW_OPEN",125:"QUOTE"}, +productions_: [0,[3,1],[3,2],[5,4],[5,6],[6,1],[7,1],[11,1],[8,1],[4,2],[17,0],[17,2],[18,1],[18,1],[18,1],[18,1],[18,1],[16,2],[16,2],[16,2],[16,3],[28,2],[28,1],[29,1],[29,1],[29,1],[27,1],[27,1],[27,2],[31,2],[31,2],[31,1],[31,1],[30,2],[30,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,9],[19,6],[19,4],[19,1],[9,1],[9,1],[9,1],[32,3],[32,4],[32,2],[32,1],[45,1],[45,5],[45,3],[46,4],[46,6],[46,4],[46,4],[46,4],[46,4],[46,4],[46,4],[46,6],[46,4],[46,4],[46,4],[46,4],[46,4],[46,1],[44,2],[44,3],[44,3],[44,1],[44,3],[67,1],[68,3],[39,1],[39,2],[39,1],[75,1],[75,1],[75,1],[75,1],[75,1],[75,1],[75,1],[75,1],[75,1],[75,1],[75,1],[83,1],[83,2],[35,5],[35,5],[36,5],[37,2],[37,4],[37,3],[37,5],[37,2],[37,4],[37,4],[37,6],[37,2],[37,4],[37,2],[37,4],[37,4],[37,6],[33,5],[33,5],[34,5],[34,5],[34,9],[34,9],[34,7],[34,7],[93,1],[93,3],[86,1],[86,3],[97,1],[97,2],[98,1],[98,1],[98,1],[98,1],[98,1],[98,1],[98,1],[98,1],[98,1],[98,1],[98,1],[73,1],[73,1],[73,1],[73,1],[73,1],[73,1],[84,1],[84,1],[84,1],[84,1],[49,1],[49,2],[87,1],[87,2],[109,1],[109,1],[109,1],[109,1],[43,1],[43,1],[43,1],[43,1],[107,1],[107,1],[107,1],[107,1],[107,1],[107,1],[107,1],[107,1],[107,1],[107,1],[107,1],[107,1],[107,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1]], +performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) { +/* this == yyval */ + +var $0 = $$.length - 1; +switch (yystate) { +case 5: + yy.parseDirective('%%{', 'open_directive'); +break; +case 6: + yy.parseDirective($$[$0], 'type_directive'); +break; +case 7: + $$[$0] = $$[$0].trim().replace(/'/g, '"'); yy.parseDirective($$[$0], 'arg_directive'); +break; +case 8: + yy.parseDirective('}%%', 'close_directive', 'flowchart'); +break; +case 10: + this.$ = []; +break; +case 11: + + if($$[$0] !== []){ + $$[$0-1].push($$[$0]); + } + this.$=$$[$0-1]; +break; +case 12: case 77: case 79: case 91: case 147: case 149: case 150: +this.$=$$[$0]; +break; +case 19: + yy.setDirection('TB');this.$ = 'TB'; +break; +case 20: + yy.setDirection($$[$0-1]);this.$ = $$[$0-1]; +break; +case 35: + /* console.warn('finat vs', $$[$0-1].nodes); */ this.$=$$[$0-1].nodes +break; +case 36: case 37: case 38: case 39: case 40: +this.$=[]; +break; +case 41: +this.$=yy.addSubGraph($$[$0-6],$$[$0-1],$$[$0-4]); +break; +case 42: +this.$=yy.addSubGraph($$[$0-3],$$[$0-1],$$[$0-3]); +break; +case 43: +this.$=yy.addSubGraph(undefined,$$[$0-1],undefined); +break; +case 48: + /* console.warn('vs',$$[$0-2].stmt,$$[$0]); */ yy.addLink($$[$0-2].stmt,$$[$0],$$[$0-1]); this.$ = { stmt: $$[$0], nodes: $$[$0].concat($$[$0-2].nodes) } +break; +case 49: + /* console.warn('vs',$$[$0-3].stmt,$$[$0-1]); */ yy.addLink($$[$0-3].stmt,$$[$0-1],$$[$0-2]); this.$ = { stmt: $$[$0-1], nodes: $$[$0-1].concat($$[$0-3].nodes) } +break; +case 50: +/*console.warn('noda', $$[$0-1]);*/ this.$ = {stmt: $$[$0-1], nodes:$$[$0-1] } +break; +case 51: + /*console.warn('noda', $$[$0]);*/ this.$ = {stmt: $$[$0], nodes:$$[$0] } +break; +case 52: + /* console.warn('nod', $$[$0]); */ this.$ = [$$[$0]]; +break; +case 53: + this.$ = $$[$0-4].concat($$[$0]); /* console.warn('pip', $$[$0-4][0], $$[$0], this.$); */ +break; +case 54: +this.$ = [$$[$0-2]];yy.setClass($$[$0-2],$$[$0]) +break; +case 55: +this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'square'); +break; +case 56: +this.$ = $$[$0-5];yy.addVertex($$[$0-5],$$[$0-2],'circle'); +break; +case 57: +this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'ellipse'); +break; +case 58: +this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'stadium'); +break; +case 59: +this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'subroutine'); +break; +case 60: +this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'cylinder'); +break; +case 61: +this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'round'); +break; +case 62: +this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'diamond'); +break; +case 63: +this.$ = $$[$0-5];yy.addVertex($$[$0-5],$$[$0-2],'hexagon'); +break; +case 64: +this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'odd'); +break; +case 65: +this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'trapezoid'); +break; +case 66: +this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'inv_trapezoid'); +break; +case 67: +this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'lean_right'); +break; +case 68: +this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'lean_left'); +break; +case 69: + /*console.warn('h: ', $$[$0]);*/this.$ = $$[$0];yy.addVertex($$[$0]); +break; +case 70: +$$[$0-1].text = $$[$0];this.$ = $$[$0-1]; +break; +case 71: case 72: +$$[$0-2].text = $$[$0-1];this.$ = $$[$0-2]; +break; +case 73: +this.$ = $$[$0]; +break; +case 74: +var inf = yy.destructLink($$[$0], $$[$0-2]); this.$ = {"type":inf.type,"stroke":inf.stroke,"length":inf.length,"text":$$[$0-1]}; +break; +case 75: +var inf = yy.destructLink($$[$0]);this.$ = {"type":inf.type,"stroke":inf.stroke,"length":inf.length}; +break; +case 76: +this.$ = $$[$0-1]; +break; +case 78: case 92: case 148: +this.$=$$[$0-1]+''+$$[$0]; +break; +case 93: case 94: +this.$ = $$[$0-4];yy.addClass($$[$0-2],$$[$0]); +break; +case 95: +this.$ = $$[$0-4];yy.setClass($$[$0-2], $$[$0]); +break; +case 96: case 104: +this.$ = $$[$0-1];yy.setClickEvent($$[$0-1], $$[$0]); +break; +case 97: case 105: +this.$ = $$[$0-3];yy.setClickEvent($$[$0-3], $$[$0-2]);yy.setTooltip($$[$0-3], $$[$0]); +break; +case 98: +this.$ = $$[$0-2];yy.setClickEvent($$[$0-2], $$[$0-1], $$[$0]); +break; +case 99: +this.$ = $$[$0-4];yy.setClickEvent($$[$0-4], $$[$0-3], $$[$0-2]);yy.setTooltip($$[$0-4], $$[$0]); +break; +case 100: case 106: +this.$ = $$[$0-1];yy.setLink($$[$0-1], $$[$0]); +break; +case 101: case 107: +this.$ = $$[$0-3];yy.setLink($$[$0-3], $$[$0-2]);yy.setTooltip($$[$0-3], $$[$0]); +break; +case 102: case 108: +this.$ = $$[$0-3];yy.setLink($$[$0-3], $$[$0-2], $$[$0]); +break; +case 103: case 109: +this.$ = $$[$0-5];yy.setLink($$[$0-5], $$[$0-4], $$[$0]);yy.setTooltip($$[$0-5], $$[$0-2]); +break; +case 110: +this.$ = $$[$0-4];yy.addVertex($$[$0-2],undefined,undefined,$$[$0]); +break; +case 111: case 113: +this.$ = $$[$0-4];yy.updateLink($$[$0-2],$$[$0]); +break; +case 112: +this.$ = $$[$0-4];yy.updateLink([$$[$0-2]],$$[$0]); +break; +case 114: +this.$ = $$[$0-8];yy.updateLinkInterpolate([$$[$0-6]],$$[$0-2]);yy.updateLink([$$[$0-6]],$$[$0]); +break; +case 115: +this.$ = $$[$0-8];yy.updateLinkInterpolate($$[$0-6],$$[$0-2]);yy.updateLink($$[$0-6],$$[$0]); +break; +case 116: +this.$ = $$[$0-6];yy.updateLinkInterpolate([$$[$0-4]],$$[$0]); +break; +case 117: +this.$ = $$[$0-6];yy.updateLinkInterpolate($$[$0-4],$$[$0]); +break; +case 118: case 120: +this.$ = [$$[$0]] +break; +case 119: case 121: +$$[$0-2].push($$[$0]);this.$ = $$[$0-2]; +break; +case 123: +this.$ = $$[$0-1] + $$[$0]; +break; +case 145: +this.$=$$[$0] +break; +case 146: +this.$=$$[$0-1]+''+$$[$0] +break; +case 151: +this.$='v'; +break; +case 152: +this.$='-'; +break; +case 153: + this.$={stmt:'dir', value:'TB'}; +break; +case 154: + this.$={stmt:'dir', value:'BT'}; +break; +case 155: + this.$={stmt:'dir', value:'RL'}; +break; +case 156: + this.$={stmt:'dir', value:'LR'}; +break; +} +}, +table: [{3:1,4:2,5:3,6:5,12:$V0,16:4,21:$V1,22:$V2,24:$V3},{1:[3]},{1:[2,1]},{3:10,4:2,5:3,6:5,12:$V0,16:4,21:$V1,22:$V2,24:$V3},o($V4,$V5,{17:11}),{7:12,13:[1,13]},{16:14,21:$V1,22:$V2,24:$V3},{16:15,21:$V1,22:$V2,24:$V3},{25:[1,16],26:[1,17]},{13:[2,5]},{1:[2,2]},{1:[2,9],18:18,19:19,20:$V6,21:$V7,22:$V8,23:$V9,32:24,33:25,34:26,35:27,36:28,37:29,38:$Va,43:31,45:32,46:42,47:$Vb,49:43,76:$Vc,77:$Vd,78:$Ve,79:$Vf,80:$Vg,81:$Vh,95:$Vi,96:$Vj,99:$Vk,100:$Vl,101:$Vm,103:$Vn,104:$Vo,108:44,110:$Vp,111:$Vq,112:$Vr,113:$Vs,114:$Vt,115:$Vu,116:$Vv,117:$Vw,118:$Vx,119:$Vy},{8:60,10:[1,61],15:$Vz},o([10,15],[2,6]),o($V4,[2,17]),o($V4,[2,18]),o($V4,[2,19]),{20:[1,64],21:[1,65],22:$VA,27:63,30:66},o($VB,[2,11]),o($VB,[2,12]),o($VB,[2,13]),o($VB,[2,14]),o($VB,[2,15]),o($VB,[2,16]),{9:68,20:$VC,21:$VD,23:$VE,44:69,67:73,70:[1,74],71:[1,75]},{9:76,20:$VC,21:$VD,23:$VE},{9:77,20:$VC,21:$VD,23:$VE},{9:78,20:$VC,21:$VD,23:$VE},{9:79,20:$VC,21:$VD,23:$VE},{9:80,20:$VC,21:$VD,23:$VE},{9:82,20:$VC,21:$VD,22:[1,81],23:$VE},o($VB,[2,44]),o($VF,[2,51],{30:83,22:$VA}),{22:[1,84]},{22:[1,85]},{22:[1,86]},{22:[1,87]},{26:$VG,47:$VH,74:[1,91],81:$VI,87:90,88:[1,88],90:[1,89],95:$VJ,96:$VK,99:$VL,100:$VM,101:$VN,103:$VO,104:$VP,107:94,109:92,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},o($VB,[2,153]),o($VB,[2,154]),o($VB,[2,155]),o($VB,[2,156]),o($VW,[2,52],{48:[1,110]}),o($VX,[2,69],{108:121,40:[1,111],47:$Vb,50:[1,112],52:[1,113],54:[1,114],56:[1,115],58:[1,116],60:[1,117],62:[1,118],63:[1,119],65:[1,120],81:$Vh,95:$Vi,96:$Vj,99:$Vk,100:$Vl,101:$Vm,103:$Vn,104:$Vo,114:$Vt,115:$Vu,116:$Vv,117:$Vw,118:$Vx,119:$Vy}),o($VY,[2,145]),o($VY,[2,170]),o($VY,[2,171]),o($VY,[2,172]),o($VY,[2,173]),o($VY,[2,174]),o($VY,[2,175]),o($VY,[2,176]),o($VY,[2,177]),o($VY,[2,178]),o($VY,[2,179]),o($VY,[2,180]),o($VY,[2,181]),o($VY,[2,182]),o($VY,[2,183]),o($VY,[2,184]),{9:122,20:$VC,21:$VD,23:$VE},{11:123,14:[1,124]},o($VZ,[2,8]),o($V4,[2,20]),o($V4,[2,26]),o($V4,[2,27]),{21:[1,125]},o($V_,[2,34],{30:126,22:$VA}),o($VB,[2,35]),{45:127,46:42,47:$Vb,49:43,81:$Vh,95:$Vi,96:$Vj,99:$Vk,100:$Vl,101:$Vm,103:$Vn,104:$Vo,108:44,114:$Vt,115:$Vu,116:$Vv,117:$Vw,118:$Vx,119:$Vy},o($V$,[2,45]),o($V$,[2,46]),o($V$,[2,47]),o($V01,[2,73],{68:128,69:[1,129],72:[1,130]}),{22:$V11,24:$V21,26:$V31,38:$V41,39:131,42:$V51,47:$VH,62:$V61,70:$V71,73:132,74:$V81,75:143,76:$V91,77:$Va1,78:$Vb1,79:$Vc1,80:$Vd1,81:$Ve1,82:$Vf1,84:134,85:$Vg1,95:$VJ,96:$VK,99:$VL,100:$VM,101:$Vh1,103:$VO,104:$VP,105:$Vi1,106:$Vj1,107:140,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},o([47,69,72,81,95,96,99,100,101,103,104,114,115,116,117,118,119],[2,75]),o($VB,[2,36]),o($VB,[2,37]),o($VB,[2,38]),o($VB,[2,39]),o($VB,[2,40]),{22:$V11,24:$V21,26:$V31,38:$V41,39:155,42:$V51,47:$VH,62:$V61,70:$V71,73:132,74:$V81,75:143,76:$V91,77:$Va1,78:$Vb1,79:$Vc1,80:$Vd1,81:$Ve1,82:$Vf1,84:134,85:$Vg1,95:$VJ,96:$VK,99:$VL,100:$VM,101:$Vh1,103:$VO,104:$VP,105:$Vi1,106:$Vj1,107:140,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},o($Vk1,$V5,{17:156}),o($VF,[2,50],{47:$Vl1}),{26:$VG,47:$VH,81:$VI,87:158,92:[1,159],95:$VJ,96:$VK,99:$VL,100:$VM,101:$VN,103:$VO,104:$VP,107:94,109:92,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},{85:[1,160],93:161,95:[1,162]},{26:$VG,47:$VH,81:$VI,85:[1,163],87:164,95:$VJ,96:$VK,99:$VL,100:$VM,101:$VN,103:$VO,104:$VP,107:94,109:92,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},{26:$VG,47:$VH,81:$VI,87:165,95:$VJ,96:$VK,99:$VL,100:$VM,101:$VN,103:$VO,104:$VP,107:94,109:92,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},o($VZ,[2,96],{22:[1,166],89:[1,167]}),o($VZ,[2,100],{22:[1,168]}),o($VZ,[2,104],{107:94,109:170,22:[1,169],26:$VG,47:$VH,81:$VI,95:$VJ,96:$VK,99:$VL,100:$VM,101:$VN,103:$VO,104:$VP,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV}),o($VZ,[2,106],{22:[1,171]}),o($Vm1,[2,147]),o($Vm1,[2,149]),o($Vm1,[2,150]),o($Vm1,[2,151]),o($Vm1,[2,152]),o($Vn1,[2,157]),o($Vn1,[2,158]),o($Vn1,[2,159]),o($Vn1,[2,160]),o($Vn1,[2,161]),o($Vn1,[2,162]),o($Vn1,[2,163]),o($Vn1,[2,164]),o($Vn1,[2,165]),o($Vn1,[2,166]),o($Vn1,[2,167]),o($Vn1,[2,168]),o($Vn1,[2,169]),{47:$Vb,49:172,81:$Vh,95:$Vi,96:$Vj,99:$Vk,100:$Vl,101:$Vm,103:$Vn,104:$Vo,108:44,114:$Vt,115:$Vu,116:$Vv,117:$Vw,118:$Vx,119:$Vy},{22:$V11,24:$V21,26:$V31,38:$V41,39:173,42:$V51,47:$VH,62:$V61,70:$V71,73:132,74:$V81,75:143,76:$V91,77:$Va1,78:$Vb1,79:$Vc1,80:$Vd1,81:$Ve1,82:$Vf1,84:134,85:$Vg1,95:$VJ,96:$VK,99:$VL,100:$VM,101:$Vh1,103:$VO,104:$VP,105:$Vi1,106:$Vj1,107:140,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},{22:$V11,24:$V21,26:$V31,38:$V41,39:175,42:$V51,47:$VH,50:[1,174],62:$V61,70:$V71,73:132,74:$V81,75:143,76:$V91,77:$Va1,78:$Vb1,79:$Vc1,80:$Vd1,81:$Ve1,82:$Vf1,84:134,85:$Vg1,95:$VJ,96:$VK,99:$VL,100:$VM,101:$Vh1,103:$VO,104:$VP,105:$Vi1,106:$Vj1,107:140,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},{22:$V11,24:$V21,26:$V31,38:$V41,39:176,42:$V51,47:$VH,62:$V61,70:$V71,73:132,74:$V81,75:143,76:$V91,77:$Va1,78:$Vb1,79:$Vc1,80:$Vd1,81:$Ve1,82:$Vf1,84:134,85:$Vg1,95:$VJ,96:$VK,99:$VL,100:$VM,101:$Vh1,103:$VO,104:$VP,105:$Vi1,106:$Vj1,107:140,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},{22:$V11,24:$V21,26:$V31,38:$V41,39:177,42:$V51,47:$VH,62:$V61,70:$V71,73:132,74:$V81,75:143,76:$V91,77:$Va1,78:$Vb1,79:$Vc1,80:$Vd1,81:$Ve1,82:$Vf1,84:134,85:$Vg1,95:$VJ,96:$VK,99:$VL,100:$VM,101:$Vh1,103:$VO,104:$VP,105:$Vi1,106:$Vj1,107:140,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},{22:$V11,24:$V21,26:$V31,38:$V41,39:178,42:$V51,47:$VH,62:$V61,70:$V71,73:132,74:$V81,75:143,76:$V91,77:$Va1,78:$Vb1,79:$Vc1,80:$Vd1,81:$Ve1,82:$Vf1,84:134,85:$Vg1,95:$VJ,96:$VK,99:$VL,100:$VM,101:$Vh1,103:$VO,104:$VP,105:$Vi1,106:$Vj1,107:140,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},{22:$V11,24:$V21,26:$V31,38:$V41,39:179,42:$V51,47:$VH,62:$V61,70:$V71,73:132,74:$V81,75:143,76:$V91,77:$Va1,78:$Vb1,79:$Vc1,80:$Vd1,81:$Ve1,82:$Vf1,84:134,85:$Vg1,95:$VJ,96:$VK,99:$VL,100:$VM,101:$Vh1,103:$VO,104:$VP,105:$Vi1,106:$Vj1,107:140,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},{22:$V11,24:$V21,26:$V31,38:$V41,39:180,42:$V51,47:$VH,60:[1,181],62:$V61,70:$V71,73:132,74:$V81,75:143,76:$V91,77:$Va1,78:$Vb1,79:$Vc1,80:$Vd1,81:$Ve1,82:$Vf1,84:134,85:$Vg1,95:$VJ,96:$VK,99:$VL,100:$VM,101:$Vh1,103:$VO,104:$VP,105:$Vi1,106:$Vj1,107:140,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},{22:$V11,24:$V21,26:$V31,38:$V41,39:182,42:$V51,47:$VH,62:$V61,70:$V71,73:132,74:$V81,75:143,76:$V91,77:$Va1,78:$Vb1,79:$Vc1,80:$Vd1,81:$Ve1,82:$Vf1,84:134,85:$Vg1,95:$VJ,96:$VK,99:$VL,100:$VM,101:$Vh1,103:$VO,104:$VP,105:$Vi1,106:$Vj1,107:140,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},{22:$V11,24:$V21,26:$V31,38:$V41,39:183,42:$V51,47:$VH,62:$V61,70:$V71,73:132,74:$V81,75:143,76:$V91,77:$Va1,78:$Vb1,79:$Vc1,80:$Vd1,81:$Ve1,82:$Vf1,84:134,85:$Vg1,95:$VJ,96:$VK,99:$VL,100:$VM,101:$Vh1,103:$VO,104:$VP,105:$Vi1,106:$Vj1,107:140,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},{22:$V11,24:$V21,26:$V31,38:$V41,39:184,42:$V51,47:$VH,62:$V61,70:$V71,73:132,74:$V81,75:143,76:$V91,77:$Va1,78:$Vb1,79:$Vc1,80:$Vd1,81:$Ve1,82:$Vf1,84:134,85:$Vg1,95:$VJ,96:$VK,99:$VL,100:$VM,101:$Vh1,103:$VO,104:$VP,105:$Vi1,106:$Vj1,107:140,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},o($VY,[2,146]),o($Vo1,[2,3]),{8:185,15:$Vz},{15:[2,7]},o($V4,[2,28]),o($V_,[2,33]),o($VF,[2,48],{30:186,22:$VA}),o($V01,[2,70],{22:[1,187]}),{22:[1,188]},{22:$V11,24:$V21,26:$V31,38:$V41,39:189,42:$V51,47:$VH,62:$V61,70:$V71,73:132,74:$V81,75:143,76:$V91,77:$Va1,78:$Vb1,79:$Vc1,80:$Vd1,81:$Ve1,82:$Vf1,84:134,85:$Vg1,95:$VJ,96:$VK,99:$VL,100:$VM,101:$Vh1,103:$VO,104:$VP,105:$Vi1,106:$Vj1,107:140,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},{22:$V11,24:$V21,26:$V31,38:$V41,42:$V51,47:$VH,62:$V61,70:$V71,71:[1,190],73:191,75:143,76:$V91,77:$Va1,78:$Vb1,79:$Vc1,80:$Vd1,81:$Ve1,82:$Vf1,84:134,85:$Vg1,95:$VJ,96:$VK,99:$VL,100:$VM,101:$Vh1,103:$VO,104:$VP,105:$Vi1,106:$Vj1,107:140,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},o($Vn1,[2,77]),o($Vn1,[2,79]),o($Vn1,[2,135]),o($Vn1,[2,136]),o($Vn1,[2,137]),o($Vn1,[2,138]),o($Vn1,[2,139]),o($Vn1,[2,140]),o($Vn1,[2,141]),o($Vn1,[2,142]),o($Vn1,[2,143]),o($Vn1,[2,144]),o($Vn1,[2,80]),o($Vn1,[2,81]),o($Vn1,[2,82]),o($Vn1,[2,83]),o($Vn1,[2,84]),o($Vn1,[2,85]),o($Vn1,[2,86]),o($Vn1,[2,87]),o($Vn1,[2,88]),o($Vn1,[2,89]),o($Vn1,[2,90]),{9:193,20:$VC,21:$VD,22:$V11,23:$VE,24:$V21,26:$V31,38:$V41,40:[1,192],42:$V51,47:$VH,62:$V61,70:$V71,73:191,75:143,76:$V91,77:$Va1,78:$Vb1,79:$Vc1,80:$Vd1,81:$Ve1,82:$Vf1,84:134,85:$Vg1,95:$VJ,96:$VK,99:$VL,100:$VM,101:$Vh1,103:$VO,104:$VP,105:$Vi1,106:$Vj1,107:140,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},{18:18,19:19,20:$V6,21:$V7,22:$V8,23:$V9,32:24,33:25,34:26,35:27,36:28,37:29,38:$Va,42:[1,194],43:31,45:32,46:42,47:$Vb,49:43,76:$Vc,77:$Vd,78:$Ve,79:$Vf,80:$Vg,81:$Vh,95:$Vi,96:$Vj,99:$Vk,100:$Vl,101:$Vm,103:$Vn,104:$Vo,108:44,110:$Vp,111:$Vq,112:$Vr,113:$Vs,114:$Vt,115:$Vu,116:$Vv,117:$Vw,118:$Vx,119:$Vy},{22:$VA,30:195},{22:[1,196],26:$VG,47:$VH,81:$VI,95:$VJ,96:$VK,99:$VL,100:$VM,101:$VN,103:$VO,104:$VP,107:94,109:170,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},{22:[1,197]},{22:[1,198]},{22:[1,199],96:[1,200]},o($Vp1,[2,118]),{22:[1,201]},{22:[1,202],26:$VG,47:$VH,81:$VI,95:$VJ,96:$VK,99:$VL,100:$VM,101:$VN,103:$VO,104:$VP,107:94,109:170,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},{22:[1,203],26:$VG,47:$VH,81:$VI,95:$VJ,96:$VK,99:$VL,100:$VM,101:$VN,103:$VO,104:$VP,107:94,109:170,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},{74:[1,204]},o($VZ,[2,98],{22:[1,205]}),{74:[1,206],91:[1,207]},{74:[1,208]},o($Vm1,[2,148]),{74:[1,209],91:[1,210]},o($VW,[2,54],{108:121,47:$Vb,81:$Vh,95:$Vi,96:$Vj,99:$Vk,100:$Vl,101:$Vm,103:$Vn,104:$Vo,114:$Vt,115:$Vu,116:$Vv,117:$Vw,118:$Vx,119:$Vy}),{22:$V11,24:$V21,26:$V31,38:$V41,41:[1,211],42:$V51,47:$VH,62:$V61,70:$V71,73:191,75:143,76:$V91,77:$Va1,78:$Vb1,79:$Vc1,80:$Vd1,81:$Ve1,82:$Vf1,84:134,85:$Vg1,95:$VJ,96:$VK,99:$VL,100:$VM,101:$Vh1,103:$VO,104:$VP,105:$Vi1,106:$Vj1,107:140,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},{22:$V11,24:$V21,26:$V31,38:$V41,39:212,42:$V51,47:$VH,62:$V61,70:$V71,73:132,74:$V81,75:143,76:$V91,77:$Va1,78:$Vb1,79:$Vc1,80:$Vd1,81:$Ve1,82:$Vf1,84:134,85:$Vg1,95:$VJ,96:$VK,99:$VL,100:$VM,101:$Vh1,103:$VO,104:$VP,105:$Vi1,106:$Vj1,107:140,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},{22:$V11,24:$V21,26:$V31,38:$V41,42:$V51,47:$VH,51:[1,213],62:$V61,70:$V71,73:191,75:143,76:$V91,77:$Va1,78:$Vb1,79:$Vc1,80:$Vd1,81:$Ve1,82:$Vf1,84:134,85:$Vg1,95:$VJ,96:$VK,99:$VL,100:$VM,101:$Vh1,103:$VO,104:$VP,105:$Vi1,106:$Vj1,107:140,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},{22:$V11,24:$V21,26:$V31,38:$V41,42:$V51,47:$VH,53:[1,214],62:$V61,70:$V71,73:191,75:143,76:$V91,77:$Va1,78:$Vb1,79:$Vc1,80:$Vd1,81:$Ve1,82:$Vf1,84:134,85:$Vg1,95:$VJ,96:$VK,99:$VL,100:$VM,101:$Vh1,103:$VO,104:$VP,105:$Vi1,106:$Vj1,107:140,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},{22:$V11,24:$V21,26:$V31,38:$V41,42:$V51,47:$VH,55:[1,215],62:$V61,70:$V71,73:191,75:143,76:$V91,77:$Va1,78:$Vb1,79:$Vc1,80:$Vd1,81:$Ve1,82:$Vf1,84:134,85:$Vg1,95:$VJ,96:$VK,99:$VL,100:$VM,101:$Vh1,103:$VO,104:$VP,105:$Vi1,106:$Vj1,107:140,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},{22:$V11,24:$V21,26:$V31,38:$V41,42:$V51,47:$VH,57:[1,216],62:$V61,70:$V71,73:191,75:143,76:$V91,77:$Va1,78:$Vb1,79:$Vc1,80:$Vd1,81:$Ve1,82:$Vf1,84:134,85:$Vg1,95:$VJ,96:$VK,99:$VL,100:$VM,101:$Vh1,103:$VO,104:$VP,105:$Vi1,106:$Vj1,107:140,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},{22:$V11,24:$V21,26:$V31,38:$V41,42:$V51,47:$VH,59:[1,217],62:$V61,70:$V71,73:191,75:143,76:$V91,77:$Va1,78:$Vb1,79:$Vc1,80:$Vd1,81:$Ve1,82:$Vf1,84:134,85:$Vg1,95:$VJ,96:$VK,99:$VL,100:$VM,101:$Vh1,103:$VO,104:$VP,105:$Vi1,106:$Vj1,107:140,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},{22:$V11,24:$V21,26:$V31,38:$V41,42:$V51,47:$VH,61:[1,218],62:$V61,70:$V71,73:191,75:143,76:$V91,77:$Va1,78:$Vb1,79:$Vc1,80:$Vd1,81:$Ve1,82:$Vf1,84:134,85:$Vg1,95:$VJ,96:$VK,99:$VL,100:$VM,101:$Vh1,103:$VO,104:$VP,105:$Vi1,106:$Vj1,107:140,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},{22:$V11,24:$V21,26:$V31,38:$V41,39:219,42:$V51,47:$VH,62:$V61,70:$V71,73:132,74:$V81,75:143,76:$V91,77:$Va1,78:$Vb1,79:$Vc1,80:$Vd1,81:$Ve1,82:$Vf1,84:134,85:$Vg1,95:$VJ,96:$VK,99:$VL,100:$VM,101:$Vh1,103:$VO,104:$VP,105:$Vi1,106:$Vj1,107:140,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},{22:$V11,24:$V21,26:$V31,38:$V41,41:[1,220],42:$V51,47:$VH,62:$V61,70:$V71,73:191,75:143,76:$V91,77:$Va1,78:$Vb1,79:$Vc1,80:$Vd1,81:$Ve1,82:$Vf1,84:134,85:$Vg1,95:$VJ,96:$VK,99:$VL,100:$VM,101:$Vh1,103:$VO,104:$VP,105:$Vi1,106:$Vj1,107:140,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},{22:$V11,24:$V21,26:$V31,38:$V41,42:$V51,47:$VH,62:$V61,64:[1,221],66:[1,222],70:$V71,73:191,75:143,76:$V91,77:$Va1,78:$Vb1,79:$Vc1,80:$Vd1,81:$Ve1,82:$Vf1,84:134,85:$Vg1,95:$VJ,96:$VK,99:$VL,100:$VM,101:$Vh1,103:$VO,104:$VP,105:$Vi1,106:$Vj1,107:140,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},{22:$V11,24:$V21,26:$V31,38:$V41,42:$V51,47:$VH,62:$V61,64:[1,224],66:[1,223],70:$V71,73:191,75:143,76:$V91,77:$Va1,78:$Vb1,79:$Vc1,80:$Vd1,81:$Ve1,82:$Vf1,84:134,85:$Vg1,95:$VJ,96:$VK,99:$VL,100:$VM,101:$Vh1,103:$VO,104:$VP,105:$Vi1,106:$Vj1,107:140,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},{9:225,20:$VC,21:$VD,23:$VE},o($VF,[2,49],{47:$Vl1}),o($V01,[2,72]),o($V01,[2,71]),{22:$V11,24:$V21,26:$V31,38:$V41,42:$V51,47:$VH,62:$V61,70:$V71,72:[1,226],73:191,75:143,76:$V91,77:$Va1,78:$Vb1,79:$Vc1,80:$Vd1,81:$Ve1,82:$Vf1,84:134,85:$Vg1,95:$VJ,96:$VK,99:$VL,100:$VM,101:$Vh1,103:$VO,104:$VP,105:$Vi1,106:$Vj1,107:140,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},o($V01,[2,74]),o($Vn1,[2,78]),{22:$V11,24:$V21,26:$V31,38:$V41,39:227,42:$V51,47:$VH,62:$V61,70:$V71,73:132,74:$V81,75:143,76:$V91,77:$Va1,78:$Vb1,79:$Vc1,80:$Vd1,81:$Ve1,82:$Vf1,84:134,85:$Vg1,95:$VJ,96:$VK,99:$VL,100:$VM,101:$Vh1,103:$VO,104:$VP,105:$Vi1,106:$Vj1,107:140,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},o($Vk1,$V5,{17:228}),o($VB,[2,43]),{46:229,47:$Vb,49:43,81:$Vh,95:$Vi,96:$Vj,99:$Vk,100:$Vl,101:$Vm,103:$Vn,104:$Vo,108:44,114:$Vt,115:$Vu,116:$Vv,117:$Vw,118:$Vx,119:$Vy},{22:$Vq1,76:$Vr1,86:230,92:$Vs1,95:$Vt1,97:231,98:232,99:$Vu1,100:$Vv1,101:$Vw1,102:$Vx1,103:$Vy1,104:$Vz1,105:$VA1},{22:$Vq1,76:$Vr1,86:244,92:$Vs1,95:$Vt1,97:231,98:232,99:$Vu1,100:$Vv1,101:$Vw1,102:$Vx1,103:$Vy1,104:$Vz1,105:$VA1},{22:$Vq1,76:$Vr1,86:245,92:$Vs1,94:[1,246],95:$Vt1,97:231,98:232,99:$Vu1,100:$Vv1,101:$Vw1,102:$Vx1,103:$Vy1,104:$Vz1,105:$VA1},{22:$Vq1,76:$Vr1,86:247,92:$Vs1,94:[1,248],95:$Vt1,97:231,98:232,99:$Vu1,100:$Vv1,101:$Vw1,102:$Vx1,103:$Vy1,104:$Vz1,105:$VA1},{95:[1,249]},{22:$Vq1,76:$Vr1,86:250,92:$Vs1,95:$Vt1,97:231,98:232,99:$Vu1,100:$Vv1,101:$Vw1,102:$Vx1,103:$Vy1,104:$Vz1,105:$VA1},{22:$Vq1,76:$Vr1,86:251,92:$Vs1,95:$Vt1,97:231,98:232,99:$Vu1,100:$Vv1,101:$Vw1,102:$Vx1,103:$Vy1,104:$Vz1,105:$VA1},{26:$VG,47:$VH,81:$VI,87:252,95:$VJ,96:$VK,99:$VL,100:$VM,101:$VN,103:$VO,104:$VP,107:94,109:92,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},o($VZ,[2,97]),{74:[1,253]},o($VZ,[2,101],{22:[1,254]}),o($VZ,[2,102]),o($VZ,[2,105]),o($VZ,[2,107],{22:[1,255]}),o($VZ,[2,108]),o($VX,[2,55]),{22:$V11,24:$V21,26:$V31,38:$V41,42:$V51,47:$VH,51:[1,256],62:$V61,70:$V71,73:191,75:143,76:$V91,77:$Va1,78:$Vb1,79:$Vc1,80:$Vd1,81:$Ve1,82:$Vf1,84:134,85:$Vg1,95:$VJ,96:$VK,99:$VL,100:$VM,101:$Vh1,103:$VO,104:$VP,105:$Vi1,106:$Vj1,107:140,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},o($VX,[2,61]),o($VX,[2,57]),o($VX,[2,58]),o($VX,[2,59]),o($VX,[2,60]),o($VX,[2,62]),{22:$V11,24:$V21,26:$V31,38:$V41,42:$V51,47:$VH,61:[1,257],62:$V61,70:$V71,73:191,75:143,76:$V91,77:$Va1,78:$Vb1,79:$Vc1,80:$Vd1,81:$Ve1,82:$Vf1,84:134,85:$Vg1,95:$VJ,96:$VK,99:$VL,100:$VM,101:$Vh1,103:$VO,104:$VP,105:$Vi1,106:$Vj1,107:140,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},o($VX,[2,64]),o($VX,[2,65]),o($VX,[2,67]),o($VX,[2,66]),o($VX,[2,68]),o($Vo1,[2,4]),o([22,47,81,95,96,99,100,101,103,104,114,115,116,117,118,119],[2,76]),{22:$V11,24:$V21,26:$V31,38:$V41,41:[1,258],42:$V51,47:$VH,62:$V61,70:$V71,73:191,75:143,76:$V91,77:$Va1,78:$Vb1,79:$Vc1,80:$Vd1,81:$Ve1,82:$Vf1,84:134,85:$Vg1,95:$VJ,96:$VK,99:$VL,100:$VM,101:$Vh1,103:$VO,104:$VP,105:$Vi1,106:$Vj1,107:140,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},{18:18,19:19,20:$V6,21:$V7,22:$V8,23:$V9,32:24,33:25,34:26,35:27,36:28,37:29,38:$Va,42:[1,259],43:31,45:32,46:42,47:$Vb,49:43,76:$Vc,77:$Vd,78:$Ve,79:$Vf,80:$Vg,81:$Vh,95:$Vi,96:$Vj,99:$Vk,100:$Vl,101:$Vm,103:$Vn,104:$Vo,108:44,110:$Vp,111:$Vq,112:$Vr,113:$Vs,114:$Vt,115:$Vu,116:$Vv,117:$Vw,118:$Vx,119:$Vy},o($VW,[2,53]),o($VZ,[2,110],{96:$VB1}),o($VC1,[2,120],{98:261,22:$Vq1,76:$Vr1,92:$Vs1,95:$Vt1,99:$Vu1,100:$Vv1,101:$Vw1,102:$Vx1,103:$Vy1,104:$Vz1,105:$VA1}),o($VD1,[2,122]),o($VD1,[2,124]),o($VD1,[2,125]),o($VD1,[2,126]),o($VD1,[2,127]),o($VD1,[2,128]),o($VD1,[2,129]),o($VD1,[2,130]),o($VD1,[2,131]),o($VD1,[2,132]),o($VD1,[2,133]),o($VD1,[2,134]),o($VZ,[2,111],{96:$VB1}),o($VZ,[2,112],{96:$VB1}),{22:[1,262]},o($VZ,[2,113],{96:$VB1}),{22:[1,263]},o($Vp1,[2,119]),o($VZ,[2,93],{96:$VB1}),o($VZ,[2,94],{96:$VB1}),o($VZ,[2,95],{107:94,109:170,26:$VG,47:$VH,81:$VI,95:$VJ,96:$VK,99:$VL,100:$VM,101:$VN,103:$VO,104:$VP,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV}),o($VZ,[2,99]),{91:[1,264]},{91:[1,265]},{51:[1,266]},{61:[1,267]},{9:268,20:$VC,21:$VD,23:$VE},o($VB,[2,42]),{22:$Vq1,76:$Vr1,92:$Vs1,95:$Vt1,97:269,98:232,99:$Vu1,100:$Vv1,101:$Vw1,102:$Vx1,103:$Vy1,104:$Vz1,105:$VA1},o($VD1,[2,123]),{26:$VG,47:$VH,81:$VI,87:270,95:$VJ,96:$VK,99:$VL,100:$VM,101:$VN,103:$VO,104:$VP,107:94,109:92,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},{26:$VG,47:$VH,81:$VI,87:271,95:$VJ,96:$VK,99:$VL,100:$VM,101:$VN,103:$VO,104:$VP,107:94,109:92,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},o($VZ,[2,103]),o($VZ,[2,109]),o($VX,[2,56]),o($VX,[2,63]),o($Vk1,$V5,{17:272}),o($VC1,[2,121],{98:261,22:$Vq1,76:$Vr1,92:$Vs1,95:$Vt1,99:$Vu1,100:$Vv1,101:$Vw1,102:$Vx1,103:$Vy1,104:$Vz1,105:$VA1}),o($VZ,[2,116],{107:94,109:170,22:[1,273],26:$VG,47:$VH,81:$VI,95:$VJ,96:$VK,99:$VL,100:$VM,101:$VN,103:$VO,104:$VP,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV}),o($VZ,[2,117],{107:94,109:170,22:[1,274],26:$VG,47:$VH,81:$VI,95:$VJ,96:$VK,99:$VL,100:$VM,101:$VN,103:$VO,104:$VP,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV}),{18:18,19:19,20:$V6,21:$V7,22:$V8,23:$V9,32:24,33:25,34:26,35:27,36:28,37:29,38:$Va,42:[1,275],43:31,45:32,46:42,47:$Vb,49:43,76:$Vc,77:$Vd,78:$Ve,79:$Vf,80:$Vg,81:$Vh,95:$Vi,96:$Vj,99:$Vk,100:$Vl,101:$Vm,103:$Vn,104:$Vo,108:44,110:$Vp,111:$Vq,112:$Vr,113:$Vs,114:$Vt,115:$Vu,116:$Vv,117:$Vw,118:$Vx,119:$Vy},{22:$Vq1,76:$Vr1,86:276,92:$Vs1,95:$Vt1,97:231,98:232,99:$Vu1,100:$Vv1,101:$Vw1,102:$Vx1,103:$Vy1,104:$Vz1,105:$VA1},{22:$Vq1,76:$Vr1,86:277,92:$Vs1,95:$Vt1,97:231,98:232,99:$Vu1,100:$Vv1,101:$Vw1,102:$Vx1,103:$Vy1,104:$Vz1,105:$VA1},o($VB,[2,41]),o($VZ,[2,114],{96:$VB1}),o($VZ,[2,115],{96:$VB1})], +defaultActions: {2:[2,1],9:[2,5],10:[2,2],124:[2,7]}, +parseError: function parseError (str, hash) { + if (hash.recoverable) { + this.trace(str); + } else { + var error = new Error(str); + error.hash = hash; + throw error; + } +}, +parse: function parse(input) { + var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = '', yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1; + var args = lstack.slice.call(arguments, 1); + var lexer = Object.create(this.lexer); + var sharedState = { yy: {} }; + for (var k in this.yy) { + if (Object.prototype.hasOwnProperty.call(this.yy, k)) { + sharedState.yy[k] = this.yy[k]; + } + } + lexer.setInput(input, sharedState.yy); + sharedState.yy.lexer = lexer; + sharedState.yy.parser = this; + if (typeof lexer.yylloc == 'undefined') { + lexer.yylloc = {}; + } + var yyloc = lexer.yylloc; + lstack.push(yyloc); + var ranges = lexer.options && lexer.options.ranges; + if (typeof sharedState.yy.parseError === 'function') { + this.parseError = sharedState.yy.parseError; + } else { + this.parseError = Object.getPrototypeOf(this).parseError; + } + function popStack(n) { + stack.length = stack.length - 2 * n; + vstack.length = vstack.length - n; + lstack.length = lstack.length - n; + } + function lex() { + var token; + token = tstack.pop() || lexer.lex() || EOF; + if (typeof token !== 'number') { + if (token instanceof Array) { + tstack = token; + token = tstack.pop(); + } + token = self.symbols_[token] || token; + } + return token; + } + var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected; + while (true) { + state = stack[stack.length - 1]; + if (this.defaultActions[state]) { + action = this.defaultActions[state]; + } else { + if (symbol === null || typeof symbol == 'undefined') { + symbol = lex(); + } + action = table[state] && table[state][symbol]; + } + if (typeof action === 'undefined' || !action.length || !action[0]) { + var errStr = ''; + expected = []; + for (p in table[state]) { + if (this.terminals_[p] && p > TERROR) { + expected.push('\'' + this.terminals_[p] + '\''); + } + } + if (lexer.showPosition) { + errStr = 'Parse error on line ' + (yylineno + 1) + ':\n' + lexer.showPosition() + '\nExpecting ' + expected.join(', ') + ', got \'' + (this.terminals_[symbol] || symbol) + '\''; + } else { + errStr = 'Parse error on line ' + (yylineno + 1) + ': Unexpected ' + (symbol == EOF ? 'end of input' : '\'' + (this.terminals_[symbol] || symbol) + '\''); + } + this.parseError(errStr, { + text: lexer.match, + token: this.terminals_[symbol] || symbol, + line: lexer.yylineno, + loc: yyloc, + expected: expected + }); + } + if (action[0] instanceof Array && action.length > 1) { + throw new Error('Parse Error: multiple actions possible at state: ' + state + ', token: ' + symbol); + } + switch (action[0]) { + case 1: + stack.push(symbol); + vstack.push(lexer.yytext); + lstack.push(lexer.yylloc); + stack.push(action[1]); + symbol = null; + if (!preErrorSymbol) { + yyleng = lexer.yyleng; + yytext = lexer.yytext; + yylineno = lexer.yylineno; + yyloc = lexer.yylloc; + if (recovering > 0) { + recovering--; + } + } else { + symbol = preErrorSymbol; + preErrorSymbol = null; + } + break; + case 2: + len = this.productions_[action[1]][1]; + yyval.$ = vstack[vstack.length - len]; + yyval._$ = { + first_line: lstack[lstack.length - (len || 1)].first_line, + last_line: lstack[lstack.length - 1].last_line, + first_column: lstack[lstack.length - (len || 1)].first_column, + last_column: lstack[lstack.length - 1].last_column + }; + if (ranges) { + yyval._$.range = [ + lstack[lstack.length - (len || 1)].range[0], + lstack[lstack.length - 1].range[1] + ]; + } + r = this.performAction.apply(yyval, [ + yytext, + yyleng, + yylineno, + sharedState.yy, + action[1], + vstack, + lstack + ].concat(args)); + if (typeof r !== 'undefined') { + return r; + } + if (len) { + stack = stack.slice(0, -1 * len * 2); + vstack = vstack.slice(0, -1 * len); + lstack = lstack.slice(0, -1 * len); + } + stack.push(this.productions_[action[1]][0]); + vstack.push(yyval.$); + lstack.push(yyval._$); + newState = table[stack[stack.length - 2]][stack[stack.length - 1]]; + stack.push(newState); + break; + case 3: + return true; + } + } + return true; +}}; + +/* generated by jison-lex 0.3.4 */ +var lexer = (function(){ +var lexer = ({ + +EOF:1, + +parseError:function parseError(str, hash) { + if (this.yy.parser) { + this.yy.parser.parseError(str, hash); + } else { + throw new Error(str); + } + }, + +// resets the lexer, sets new input +setInput:function (input, yy) { + this.yy = yy || this.yy || {}; + this._input = input; + this._more = this._backtrack = this.done = false; + this.yylineno = this.yyleng = 0; + this.yytext = this.matched = this.match = ''; + this.conditionStack = ['INITIAL']; + this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0 + }; + if (this.options.ranges) { + this.yylloc.range = [0,0]; + } + this.offset = 0; + return this; + }, + +// consumes and returns one char from the input +input:function () { + var ch = this._input[0]; + this.yytext += ch; + this.yyleng++; + this.offset++; + this.match += ch; + this.matched += ch; + var lines = ch.match(/(?:\r\n?|\n).*/g); + if (lines) { + this.yylineno++; + this.yylloc.last_line++; + } else { + this.yylloc.last_column++; + } + if (this.options.ranges) { + this.yylloc.range[1]++; + } + + this._input = this._input.slice(1); + return ch; + }, + +// unshifts one char (or a string) into the input +unput:function (ch) { + var len = ch.length; + var lines = ch.split(/(?:\r\n?|\n)/g); + + this._input = ch + this._input; + this.yytext = this.yytext.substr(0, this.yytext.length - len); + //this.yyleng -= len; + this.offset -= len; + var oldLines = this.match.split(/(?:\r\n?|\n)/g); + this.match = this.match.substr(0, this.match.length - 1); + this.matched = this.matched.substr(0, this.matched.length - 1); + + if (lines.length - 1) { + this.yylineno -= lines.length - 1; + } + var r = this.yylloc.range; + + this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: lines ? + (lines.length === oldLines.length ? this.yylloc.first_column : 0) + + oldLines[oldLines.length - lines.length].length - lines[0].length : + this.yylloc.first_column - len + }; + + if (this.options.ranges) { + this.yylloc.range = [r[0], r[0] + this.yyleng - len]; + } + this.yyleng = this.yytext.length; + return this; + }, + +// When called from action, caches matched text and appends it on next action +more:function () { + this._more = true; + return this; + }, + +// When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead. +reject:function () { + if (this.options.backtrack_lexer) { + this._backtrack = true; + } else { + return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n' + this.showPosition(), { + text: "", + token: null, + line: this.yylineno + }); + + } + return this; + }, + +// retain first n characters of the match +less:function (n) { + this.unput(this.match.slice(n)); + }, + +// displays already matched input, i.e. for error messages +pastInput:function () { + var past = this.matched.substr(0, this.matched.length - this.match.length); + return (past.length > 20 ? '...':'') + past.substr(-20).replace(/\n/g, ""); + }, + +// displays upcoming input, i.e. for error messages +upcomingInput:function () { + var next = this.match; + if (next.length < 20) { + next += this._input.substr(0, 20-next.length); + } + return (next.substr(0,20) + (next.length > 20 ? '...' : '')).replace(/\n/g, ""); + }, + +// displays the character position where the lexing error occurred, i.e. for error messages +showPosition:function () { + var pre = this.pastInput(); + var c = new Array(pre.length + 1).join("-"); + return pre + this.upcomingInput() + "\n" + c + "^"; + }, + +// test the lexed token: return FALSE when not a match, otherwise return token +test_match:function(match, indexed_rule) { + var token, + lines, + backup; + + if (this.options.backtrack_lexer) { + // save context + backup = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done + }; + if (this.options.ranges) { + backup.yylloc.range = this.yylloc.range.slice(0); + } + } + + lines = match[0].match(/(?:\r\n?|\n).*/g); + if (lines) { + this.yylineno += lines.length; + } + this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: lines ? + lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length : + this.yylloc.last_column + match[0].length + }; + this.yytext += match[0]; + this.match += match[0]; + this.matches = match; + this.yyleng = this.yytext.length; + if (this.options.ranges) { + this.yylloc.range = [this.offset, this.offset += this.yyleng]; + } + this._more = false; + this._backtrack = false; + this._input = this._input.slice(match[0].length); + this.matched += match[0]; + token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]); + if (this.done && this._input) { + this.done = false; + } + if (token) { + return token; + } else if (this._backtrack) { + // recover context + for (var k in backup) { + this[k] = backup[k]; + } + return false; // rule action called reject() implying the next rule should be tested instead. + } + return false; + }, + +// return next match in input +next:function () { + if (this.done) { + return this.EOF; + } + if (!this._input) { + this.done = true; + } + + var token, + match, + tempMatch, + index; + if (!this._more) { + this.yytext = ''; + this.match = ''; + } + var rules = this._currentRules(); + for (var i = 0; i < rules.length; i++) { + tempMatch = this._input.match(this.rules[rules[i]]); + if (tempMatch && (!match || tempMatch[0].length > match[0].length)) { + match = tempMatch; + index = i; + if (this.options.backtrack_lexer) { + token = this.test_match(tempMatch, rules[i]); + if (token !== false) { + return token; + } else if (this._backtrack) { + match = false; + continue; // rule action called reject() implying a rule MISmatch. + } else { + // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) + return false; + } + } else if (!this.options.flex) { + break; + } + } + } + if (match) { + token = this.test_match(match, rules[index]); + if (token !== false) { + return token; + } + // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) + return false; + } + if (this._input === "") { + return this.EOF; + } else { + return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\n' + this.showPosition(), { + text: "", + token: null, + line: this.yylineno + }); + } + }, + +// return next match that has a token +lex:function lex () { + var r = this.next(); + if (r) { + return r; + } else { + return this.lex(); + } + }, + +// activates a new lexer condition state (pushes the new lexer condition state onto the condition stack) +begin:function begin (condition) { + this.conditionStack.push(condition); + }, + +// pop the previously active lexer condition state off the condition stack +popState:function popState () { + var n = this.conditionStack.length - 1; + if (n > 0) { + return this.conditionStack.pop(); + } else { + return this.conditionStack[0]; + } + }, + +// produce the lexer rule set which is active for the currently active lexer condition state +_currentRules:function _currentRules () { + if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) { + return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules; + } else { + return this.conditions["INITIAL"].rules; + } + }, + +// return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available +topState:function topState (n) { + n = this.conditionStack.length - 1 - Math.abs(n || 0); + if (n >= 0) { + return this.conditionStack[n]; + } else { + return "INITIAL"; + } + }, + +// alias for begin(condition) +pushState:function pushState (condition) { + this.begin(condition); + }, + +// return the number of states currently on the stack +stateStackSize:function stateStackSize() { + return this.conditionStack.length; + }, +options: {}, +performAction: function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) { +var YYSTATE=YY_START; +switch($avoiding_name_collisions) { +case 0: this.begin('open_directive'); return 12; +break; +case 1: this.begin('type_directive'); return 13; +break; +case 2: this.popState(); this.begin('arg_directive'); return 10; +break; +case 3: this.popState(); this.popState(); return 15; +break; +case 4:return 14; +break; +case 5:/* skip comments */ +break; +case 6:/* skip comments */ +break; +case 7:this.begin("string"); +break; +case 8:this.popState(); +break; +case 9:return "STR"; +break; +case 10:return 76; +break; +case 11:return 85; +break; +case 12:return 77; +break; +case 13:return 94; +break; +case 14:return 78; +break; +case 15:return 79; +break; +case 16:this.begin("href"); +break; +case 17:this.popState(); +break; +case 18:return 90; +break; +case 19:this.begin("callbackname"); +break; +case 20:this.popState(); +break; +case 21:this.popState(); this.begin("callbackargs"); +break; +case 22:return 88; +break; +case 23:this.popState(); +break; +case 24:return 89; +break; +case 25:this.begin("click"); +break; +case 26:this.popState(); +break; +case 27:return 80; +break; +case 28:if(yy.lex.firstGraph()){this.begin("dir");} return 24; +break; +case 29:if(yy.lex.firstGraph()){this.begin("dir");} return 24; +break; +case 30:return 38; +break; +case 31:return 42; +break; +case 32:return 91; +break; +case 33:return 91; +break; +case 34:return 91; +break; +case 35:return 91; +break; +case 36: this.popState(); return 25; +break; +case 37: this.popState(); return 26; +break; +case 38: this.popState(); return 26; +break; +case 39: this.popState(); return 26; +break; +case 40: this.popState(); return 26; +break; +case 41: this.popState(); return 26; +break; +case 42: this.popState(); return 26; +break; +case 43: this.popState(); return 26; +break; +case 44: this.popState(); return 26; +break; +case 45: this.popState(); return 26; +break; +case 46: this.popState(); return 26; +break; +case 47:return 110; +break; +case 48:return 111; +break; +case 49:return 112; +break; +case 50:return 113; +break; +case 51: return 95; +break; +case 52:return 103; +break; +case 53:return 48; +break; +case 54:return 100; +break; +case 55:return 47; +break; +case 56:return 20; +break; +case 57:return 96; +break; +case 58:return 118; +break; +case 59:return 71; +break; +case 60:return 71; +break; +case 61:return 71; +break; +case 62:return 70; +break; +case 63:return 70; +break; +case 64:return 70; +break; +case 65:return 52; +break; +case 66:return 53; +break; +case 67:return 54; +break; +case 68:return 55; +break; +case 69:return 56; +break; +case 70:return 57; +break; +case 71:return 58; +break; +case 72:return 59; +break; +case 73:return 101; +break; +case 74:return 104; +break; +case 75:return 119; +break; +case 76:return 116; +break; +case 77:return 105; +break; +case 78:return 117; +break; +case 79:return 117; +break; +case 80:return 106; +break; +case 81:return 62; +break; +case 82:return 82; +break; +case 83:return 'SEP'; +break; +case 84:return 81; +break; +case 85:return 99; +break; +case 86:return 64; +break; +case 87:return 63; +break; +case 88:return 66; +break; +case 89:return 65; +break; +case 90:return 114; +break; +case 91:return 115; +break; +case 92:return 72; +break; +case 93:return 50; +break; +case 94:return 51; +break; +case 95:return 40; +break; +case 96:return 41; +break; +case 97:return 60 +break; +case 98:return 61 +break; +case 99:return 125; +break; +case 100:return 21; +break; +case 101:return 22; +break; +case 102:return 23; +break; +} +}, +rules: [/^(?:%%\{)/,/^(?:((?:(?!\}%%)[^:.])*))/,/^(?::)/,/^(?:\}%%)/,/^(?:((?:(?!\}%%).|\n)*))/,/^(?:%%(?!\{)[^\n]*)/,/^(?:[^\}]%%[^\n]*)/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:href[\s]+["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:click[\s]+)/,/^(?:[\s\n])/,/^(?:[^\s\n]*)/,/^(?:graph\b)/,/^(?:flowchart\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:(\r?\n)*\s*\n)/,/^(?:\s*LR\b)/,/^(?:\s*RL\b)/,/^(?:\s*TB\b)/,/^(?:\s*BT\b)/,/^(?:\s*TD\b)/,/^(?:\s*BR\b)/,/^(?:\s*<)/,/^(?:\s*>)/,/^(?:\s*\^)/,/^(?:\s*v\b)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::::)/,/^(?::)/,/^(?:&)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:\(-)/,/^(?:-\))/,/^(?:\(\[)/,/^(?:\]\))/,/^(?:\[\[)/,/^(?:\]\])/,/^(?:\[\()/,/^(?:\)\])/,/^(?:-)/,/^(?:\.)/,/^(?:[\_])/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:\\\|)/,/^(?:v\b)/,/^(?:[A-Za-z]+)/,/^(?:\\\])/,/^(?:\[\/)/,/^(?:\/\])/,/^(?:\[\\)/,/^(?:[!"#$%&'*+,-.`?\\_/])/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:(\r?\n)+)/,/^(?:\s)/,/^(?:$)/], +conditions: {"close_directive":{"rules":[],"inclusive":false},"arg_directive":{"rules":[3,4],"inclusive":false},"type_directive":{"rules":[2,3],"inclusive":false},"open_directive":{"rules":[1],"inclusive":false},"callbackargs":{"rules":[23,24],"inclusive":false},"callbackname":{"rules":[20,21,22],"inclusive":false},"href":{"rules":[17,18],"inclusive":false},"click":{"rules":[26,27],"inclusive":false},"vertex":{"rules":[],"inclusive":false},"dir":{"rules":[36,37,38,39,40,41,42,43,44,45,46],"inclusive":false},"string":{"rules":[8,9],"inclusive":false},"INITIAL":{"rules":[0,5,6,7,10,11,12,13,14,15,16,19,25,28,29,30,31,32,33,34,35,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102],"inclusive":true}} +}); +return lexer; +})(); +parser.lexer = lexer; +function Parser () { + this.yy = {}; +} +Parser.prototype = parser;parser.Parser = Parser; +return new Parser; +})(); + + +if (true) { +exports.parser = parser; +exports.Parser = parser.Parser; +exports.parse = function () { return parser.parse.apply(parser, arguments); }; +exports.main = function commonjsMain (args) { + if (!args[1]) { + console.log('Usage: '+args[0]+' FILE'); + process.exit(1); + } + var source = __webpack_require__(/*! fs */ "?dbae").readFileSync(__webpack_require__(/*! path */ "./node_modules/path-browserify/index.js").normalize(args[1]), "utf8"); + return exports.parser.parse(source); }; - +if ( true && __webpack_require__.c[__webpack_require__.s] === module) { + exports.main(process.argv.slice(1)); +} +} /***/ }), -/***/ "./package.json": -/*!**********************!*\ - !*** ./package.json ***! - \**********************/ -/*! exports provided: name, version, description, main, keywords, scripts, repository, author, license, standard, dependencies, devDependencies, files, sideEffects, husky, default */ -/***/ (function(module) { +/***/ "./src/diagrams/gantt/parser/gantt.jison": +/*!***********************************************!*\ + !*** ./src/diagrams/gantt/parser/gantt.jison ***! + \***********************************************/ +/***/ ((module, exports, __webpack_require__) => { -module.exports = JSON.parse("{\"name\":\"mermaid\",\"version\":\"8.13.2\",\"description\":\"Markdownish syntax for generating flowcharts, sequence diagrams, class diagrams, gantt charts and git graphs.\",\"main\":\"dist/mermaid.core.js\",\"keywords\":[\"diagram\",\"markdown\",\"flowchart\",\"sequence diagram\",\"gantt\",\"class diagram\",\"git graph\"],\"scripts\":{\"build:development\":\"webpack --progress --color\",\"build:production\":\"yarn build:development --mode production --config webpack.config.prod.babel.js\",\"build\":\"yarn build:development && yarn build:production\",\"postbuild\":\"documentation build src/mermaidAPI.js src/config.js src/defaultConfig.js --shallow -f md --markdown-toc false > docs/Setup.md\",\"build:watch\":\"yarn build --watch\",\"release\":\"yarn build\",\"lint\":\"eslint src\",\"e2e:depr\":\"yarn lint && jest e2e --config e2e/jest.config.js\",\"cypress\":\"percy exec -- cypress run\",\"e2e\":\"start-server-and-test dev http://localhost:9000/ cypress\",\"e2e-upd\":\"yarn lint && jest e2e -u --config e2e/jest.config.js\",\"dev\":\"webpack serve --config webpack.config.e2e.js\",\"test\":\"yarn lint && jest src/.*\",\"test:watch\":\"jest --watch src\",\"prepublishOnly\":\"yarn build && yarn test\",\"prepare\":\"yarn build\"},\"repository\":{\"type\":\"git\",\"url\":\"https://github.com/knsv/mermaid\"},\"author\":\"Knut Sveidqvist\",\"license\":\"MIT\",\"standard\":{\"ignore\":[\"**/parser/*.js\",\"dist/**/*.js\",\"cypress/**/*.js\"],\"globals\":[\"page\"]},\"dependencies\":{\"@braintree/sanitize-url\":\"^3.1.0\",\"d3\":\"^7.0.0\",\"dagre\":\"^0.8.5\",\"dagre-d3\":\"^0.6.4\",\"dompurify\":\"2.3.1\",\"graphlib\":\"^2.1.8\",\"khroma\":\"^1.4.1\",\"moment-mini\":\"^2.24.0\",\"stylis\":\"^4.0.10\"},\"devDependencies\":{\"@babel/core\":\"^7.14.6\",\"@babel/eslint-parser\":\"^7.14.7\",\"@babel/preset-env\":\"^7.14.7\",\"@babel/register\":\"^7.14.5\",\"@percy/cli\":\"^1.0.0-beta.58\",\"@percy/cypress\":\"^3.1.0\",\"@percy/migrate\":\"^0.11.0\",\"babel-jest\":\"^27.0.6\",\"babel-loader\":\"^8.2.2\",\"coveralls\":\"^3.0.2\",\"css-to-string-loader\":\"^0.1.3\",\"cypress\":\"8.1.0\",\"documentation\":\"13.2.0\",\"eslint\":\"^7.30.0\",\"eslint-config-prettier\":\"^8.3.0\",\"eslint-plugin-prettier\":\"^3.4.0\",\"husky\":\"^7.0.1\",\"identity-obj-proxy\":\"^3.0.0\",\"jest\":\"^27.0.6\",\"jison\":\"^0.4.18\",\"js-base64\":\"3.6.1\",\"moment\":\"^2.23.0\",\"prettier\":\"^2.3.2\",\"start-server-and-test\":\"^1.12.6\",\"terser-webpack-plugin\":\"^4.2.3\",\"webpack\":\"^4.41.2\",\"webpack-cli\":\"^4.7.2\",\"webpack-dev-server\":\"^3.4.1\",\"webpack-node-externals\":\"^3.0.0\"},\"files\":[\"dist\"],\"sideEffects\":[\"**/*.css\",\"**/*.scss\"],\"husky\":{\"hooks\":{\"pre-push\":\"yarn test\"}}}"); +/* module decorator */ module = __webpack_require__.nmd(module); +/* parser generated by jison 0.4.18 */ +/* + Returns a Parser object of the following structure: + + Parser: { + yy: {} + } + + Parser.prototype: { + yy: {}, + trace: function(), + symbols_: {associative list: name ==> number}, + terminals_: {associative list: number ==> name}, + productions_: [...], + performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$), + table: [...], + defaultActions: {...}, + parseError: function(str, hash), + parse: function(input), + + lexer: { + EOF: 1, + parseError: function(str, hash), + setInput: function(input), + input: function(), + unput: function(str), + more: function(), + less: function(n), + pastInput: function(), + upcomingInput: function(), + showPosition: function(), + test_match: function(regex_match_array, rule_index), + next: function(), + lex: function(), + begin: function(condition), + popState: function(), + _currentRules: function(), + topState: function(), + pushState: function(condition), + + options: { + ranges: boolean (optional: true ==> token location info will include a .range[] member) + flex: boolean (optional: true ==> flex-like lexing behaviour where the rules are tested exhaustively to find the longest match) + backtrack_lexer: boolean (optional: true ==> lexer regexes are tested in order and for each matching regex the action code is invoked; the lexer terminates the scan when a token is returned by the action code) + }, + + performAction: function(yy, yy_, $avoiding_name_collisions, YY_START), + rules: [...], + conditions: {associative list: name ==> set}, + } + } + + + token location info (@$, _$, etc.): { + first_line: n, + last_line: n, + first_column: n, + last_column: n, + range: [start_number, end_number] (where the numbers are indexes into the input string, regular zero-based) + } + + + the parseError function receives a 'hash' object with these members for lexer and parser errors: { + text: (matched text) + token: (the produced terminal token, if any) + line: (yylineno) + } + while parser (grammar) errors will also provide these members, i.e. parser errors deliver a superset of attributes: { + loc: (yylloc) + expected: (string describing the set of expected tokens) + recoverable: (boolean: TRUE when the parser has a error recovery rule available for this particular error) + } +*/ +var parser = (function(){ +var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,3],$V1=[1,5],$V2=[7,9,11,12,13,14,15,16,17,18,19,21,28,33],$V3=[1,15],$V4=[1,16],$V5=[1,17],$V6=[1,18],$V7=[1,19],$V8=[1,20],$V9=[1,21],$Va=[1,22],$Vb=[1,24],$Vc=[1,26],$Vd=[1,29],$Ve=[5,7,9,11,12,13,14,15,16,17,18,19,21,28,33]; +var parser = {trace: function trace () { }, +yy: {}, +symbols_: {"error":2,"start":3,"directive":4,"gantt":5,"document":6,"EOF":7,"line":8,"SPACE":9,"statement":10,"NL":11,"dateFormat":12,"inclusiveEndDates":13,"topAxis":14,"axisFormat":15,"excludes":16,"todayMarker":17,"title":18,"section":19,"clickStatement":20,"taskTxt":21,"taskData":22,"openDirective":23,"typeDirective":24,"closeDirective":25,":":26,"argDirective":27,"click":28,"callbackname":29,"callbackargs":30,"href":31,"clickStatementDebug":32,"open_directive":33,"type_directive":34,"arg_directive":35,"close_directive":36,"$accept":0,"$end":1}, +terminals_: {2:"error",5:"gantt",7:"EOF",9:"SPACE",11:"NL",12:"dateFormat",13:"inclusiveEndDates",14:"topAxis",15:"axisFormat",16:"excludes",17:"todayMarker",18:"title",19:"section",21:"taskTxt",22:"taskData",26:":",28:"click",29:"callbackname",30:"callbackargs",31:"href",33:"open_directive",34:"type_directive",35:"arg_directive",36:"close_directive"}, +productions_: [0,[3,2],[3,3],[6,0],[6,2],[8,2],[8,1],[8,1],[8,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,1],[4,4],[4,6],[20,2],[20,3],[20,3],[20,4],[20,3],[20,4],[20,2],[32,2],[32,3],[32,3],[32,4],[32,3],[32,4],[32,2],[23,1],[24,1],[27,1],[25,1]], +performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) { +/* this == yyval */ + +var $0 = $$.length - 1; +switch (yystate) { +case 2: + return $$[$0-1]; +break; +case 3: + this.$ = [] +break; +case 4: +$$[$0-1].push($$[$0]);this.$ = $$[$0-1] +break; +case 5: case 6: + this.$ = $$[$0] +break; +case 7: case 8: + this.$=[]; +break; +case 9: +yy.setDateFormat($$[$0].substr(11));this.$=$$[$0].substr(11); +break; +case 10: +yy.enableInclusiveEndDates();this.$=$$[$0].substr(18); +break; +case 11: +yy.TopAxis();this.$=$$[$0].substr(8); +break; +case 12: +yy.setAxisFormat($$[$0].substr(11));this.$=$$[$0].substr(11); +break; +case 13: +yy.setExcludes($$[$0].substr(9));this.$=$$[$0].substr(9); +break; +case 14: +yy.setTodayMarker($$[$0].substr(12));this.$=$$[$0].substr(12); +break; +case 15: +yy.setTitle($$[$0].substr(6));this.$=$$[$0].substr(6); +break; +case 16: +yy.addSection($$[$0].substr(8));this.$=$$[$0].substr(8); +break; +case 18: +yy.addTask($$[$0-1],$$[$0]);this.$='task'; +break; +case 22: +this.$ = $$[$0-1];yy.setClickEvent($$[$0-1], $$[$0], null); +break; +case 23: +this.$ = $$[$0-2];yy.setClickEvent($$[$0-2], $$[$0-1], $$[$0]); +break; +case 24: +this.$ = $$[$0-2];yy.setClickEvent($$[$0-2], $$[$0-1], null);yy.setLink($$[$0-2],$$[$0]); +break; +case 25: +this.$ = $$[$0-3];yy.setClickEvent($$[$0-3], $$[$0-2], $$[$0-1]);yy.setLink($$[$0-3],$$[$0]); +break; +case 26: +this.$ = $$[$0-2];yy.setClickEvent($$[$0-2], $$[$0], null);yy.setLink($$[$0-2],$$[$0-1]); +break; +case 27: +this.$ = $$[$0-3];yy.setClickEvent($$[$0-3], $$[$0-1], $$[$0]);yy.setLink($$[$0-3],$$[$0-2]); +break; +case 28: +this.$ = $$[$0-1];yy.setLink($$[$0-1], $$[$0]); +break; +case 29: case 35: +this.$=$$[$0-1] + ' ' + $$[$0]; +break; +case 30: case 31: case 33: +this.$=$$[$0-2] + ' ' + $$[$0-1] + ' ' + $$[$0]; +break; +case 32: case 34: +this.$=$$[$0-3] + ' ' + $$[$0-2] + ' ' + $$[$0-1] + ' ' + $$[$0]; +break; +case 36: + yy.parseDirective('%%{', 'open_directive'); +break; +case 37: + yy.parseDirective($$[$0], 'type_directive'); +break; +case 38: + $$[$0] = $$[$0].trim().replace(/'/g, '"'); yy.parseDirective($$[$0], 'arg_directive'); +break; +case 39: + yy.parseDirective('}%%', 'close_directive', 'gantt'); +break; +} +}, +table: [{3:1,4:2,5:$V0,23:4,33:$V1},{1:[3]},{3:6,4:2,5:$V0,23:4,33:$V1},o($V2,[2,3],{6:7}),{24:8,34:[1,9]},{34:[2,36]},{1:[2,1]},{4:25,7:[1,10],8:11,9:[1,12],10:13,11:[1,14],12:$V3,13:$V4,14:$V5,15:$V6,16:$V7,17:$V8,18:$V9,19:$Va,20:23,21:$Vb,23:4,28:$Vc,33:$V1},{25:27,26:[1,28],36:$Vd},o([26,36],[2,37]),o($V2,[2,8],{1:[2,2]}),o($V2,[2,4]),{4:25,10:30,12:$V3,13:$V4,14:$V5,15:$V6,16:$V7,17:$V8,18:$V9,19:$Va,20:23,21:$Vb,23:4,28:$Vc,33:$V1},o($V2,[2,6]),o($V2,[2,7]),o($V2,[2,9]),o($V2,[2,10]),o($V2,[2,11]),o($V2,[2,12]),o($V2,[2,13]),o($V2,[2,14]),o($V2,[2,15]),o($V2,[2,16]),o($V2,[2,17]),{22:[1,31]},o($V2,[2,19]),{29:[1,32],31:[1,33]},{11:[1,34]},{27:35,35:[1,36]},{11:[2,39]},o($V2,[2,5]),o($V2,[2,18]),o($V2,[2,22],{30:[1,37],31:[1,38]}),o($V2,[2,28],{29:[1,39]}),o($Ve,[2,20]),{25:40,36:$Vd},{36:[2,38]},o($V2,[2,23],{31:[1,41]}),o($V2,[2,24]),o($V2,[2,26],{30:[1,42]}),{11:[1,43]},o($V2,[2,25]),o($V2,[2,27]),o($Ve,[2,21])], +defaultActions: {5:[2,36],6:[2,1],29:[2,39],36:[2,38]}, +parseError: function parseError (str, hash) { + if (hash.recoverable) { + this.trace(str); + } else { + var error = new Error(str); + error.hash = hash; + throw error; + } +}, +parse: function parse(input) { + var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = '', yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1; + var args = lstack.slice.call(arguments, 1); + var lexer = Object.create(this.lexer); + var sharedState = { yy: {} }; + for (var k in this.yy) { + if (Object.prototype.hasOwnProperty.call(this.yy, k)) { + sharedState.yy[k] = this.yy[k]; + } + } + lexer.setInput(input, sharedState.yy); + sharedState.yy.lexer = lexer; + sharedState.yy.parser = this; + if (typeof lexer.yylloc == 'undefined') { + lexer.yylloc = {}; + } + var yyloc = lexer.yylloc; + lstack.push(yyloc); + var ranges = lexer.options && lexer.options.ranges; + if (typeof sharedState.yy.parseError === 'function') { + this.parseError = sharedState.yy.parseError; + } else { + this.parseError = Object.getPrototypeOf(this).parseError; + } + function popStack(n) { + stack.length = stack.length - 2 * n; + vstack.length = vstack.length - n; + lstack.length = lstack.length - n; + } + function lex() { + var token; + token = tstack.pop() || lexer.lex() || EOF; + if (typeof token !== 'number') { + if (token instanceof Array) { + tstack = token; + token = tstack.pop(); + } + token = self.symbols_[token] || token; + } + return token; + } + var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected; + while (true) { + state = stack[stack.length - 1]; + if (this.defaultActions[state]) { + action = this.defaultActions[state]; + } else { + if (symbol === null || typeof symbol == 'undefined') { + symbol = lex(); + } + action = table[state] && table[state][symbol]; + } + if (typeof action === 'undefined' || !action.length || !action[0]) { + var errStr = ''; + expected = []; + for (p in table[state]) { + if (this.terminals_[p] && p > TERROR) { + expected.push('\'' + this.terminals_[p] + '\''); + } + } + if (lexer.showPosition) { + errStr = 'Parse error on line ' + (yylineno + 1) + ':\n' + lexer.showPosition() + '\nExpecting ' + expected.join(', ') + ', got \'' + (this.terminals_[symbol] || symbol) + '\''; + } else { + errStr = 'Parse error on line ' + (yylineno + 1) + ': Unexpected ' + (symbol == EOF ? 'end of input' : '\'' + (this.terminals_[symbol] || symbol) + '\''); + } + this.parseError(errStr, { + text: lexer.match, + token: this.terminals_[symbol] || symbol, + line: lexer.yylineno, + loc: yyloc, + expected: expected + }); + } + if (action[0] instanceof Array && action.length > 1) { + throw new Error('Parse Error: multiple actions possible at state: ' + state + ', token: ' + symbol); + } + switch (action[0]) { + case 1: + stack.push(symbol); + vstack.push(lexer.yytext); + lstack.push(lexer.yylloc); + stack.push(action[1]); + symbol = null; + if (!preErrorSymbol) { + yyleng = lexer.yyleng; + yytext = lexer.yytext; + yylineno = lexer.yylineno; + yyloc = lexer.yylloc; + if (recovering > 0) { + recovering--; + } + } else { + symbol = preErrorSymbol; + preErrorSymbol = null; + } + break; + case 2: + len = this.productions_[action[1]][1]; + yyval.$ = vstack[vstack.length - len]; + yyval._$ = { + first_line: lstack[lstack.length - (len || 1)].first_line, + last_line: lstack[lstack.length - 1].last_line, + first_column: lstack[lstack.length - (len || 1)].first_column, + last_column: lstack[lstack.length - 1].last_column + }; + if (ranges) { + yyval._$.range = [ + lstack[lstack.length - (len || 1)].range[0], + lstack[lstack.length - 1].range[1] + ]; + } + r = this.performAction.apply(yyval, [ + yytext, + yyleng, + yylineno, + sharedState.yy, + action[1], + vstack, + lstack + ].concat(args)); + if (typeof r !== 'undefined') { + return r; + } + if (len) { + stack = stack.slice(0, -1 * len * 2); + vstack = vstack.slice(0, -1 * len); + lstack = lstack.slice(0, -1 * len); + } + stack.push(this.productions_[action[1]][0]); + vstack.push(yyval.$); + lstack.push(yyval._$); + newState = table[stack[stack.length - 2]][stack[stack.length - 1]]; + stack.push(newState); + break; + case 3: + return true; + } + } + return true; +}}; + +/* generated by jison-lex 0.3.4 */ +var lexer = (function(){ +var lexer = ({ + +EOF:1, + +parseError:function parseError(str, hash) { + if (this.yy.parser) { + this.yy.parser.parseError(str, hash); + } else { + throw new Error(str); + } + }, + +// resets the lexer, sets new input +setInput:function (input, yy) { + this.yy = yy || this.yy || {}; + this._input = input; + this._more = this._backtrack = this.done = false; + this.yylineno = this.yyleng = 0; + this.yytext = this.matched = this.match = ''; + this.conditionStack = ['INITIAL']; + this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0 + }; + if (this.options.ranges) { + this.yylloc.range = [0,0]; + } + this.offset = 0; + return this; + }, + +// consumes and returns one char from the input +input:function () { + var ch = this._input[0]; + this.yytext += ch; + this.yyleng++; + this.offset++; + this.match += ch; + this.matched += ch; + var lines = ch.match(/(?:\r\n?|\n).*/g); + if (lines) { + this.yylineno++; + this.yylloc.last_line++; + } else { + this.yylloc.last_column++; + } + if (this.options.ranges) { + this.yylloc.range[1]++; + } + + this._input = this._input.slice(1); + return ch; + }, + +// unshifts one char (or a string) into the input +unput:function (ch) { + var len = ch.length; + var lines = ch.split(/(?:\r\n?|\n)/g); + + this._input = ch + this._input; + this.yytext = this.yytext.substr(0, this.yytext.length - len); + //this.yyleng -= len; + this.offset -= len; + var oldLines = this.match.split(/(?:\r\n?|\n)/g); + this.match = this.match.substr(0, this.match.length - 1); + this.matched = this.matched.substr(0, this.matched.length - 1); + + if (lines.length - 1) { + this.yylineno -= lines.length - 1; + } + var r = this.yylloc.range; + + this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: lines ? + (lines.length === oldLines.length ? this.yylloc.first_column : 0) + + oldLines[oldLines.length - lines.length].length - lines[0].length : + this.yylloc.first_column - len + }; + + if (this.options.ranges) { + this.yylloc.range = [r[0], r[0] + this.yyleng - len]; + } + this.yyleng = this.yytext.length; + return this; + }, + +// When called from action, caches matched text and appends it on next action +more:function () { + this._more = true; + return this; + }, + +// When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead. +reject:function () { + if (this.options.backtrack_lexer) { + this._backtrack = true; + } else { + return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n' + this.showPosition(), { + text: "", + token: null, + line: this.yylineno + }); + + } + return this; + }, + +// retain first n characters of the match +less:function (n) { + this.unput(this.match.slice(n)); + }, + +// displays already matched input, i.e. for error messages +pastInput:function () { + var past = this.matched.substr(0, this.matched.length - this.match.length); + return (past.length > 20 ? '...':'') + past.substr(-20).replace(/\n/g, ""); + }, + +// displays upcoming input, i.e. for error messages +upcomingInput:function () { + var next = this.match; + if (next.length < 20) { + next += this._input.substr(0, 20-next.length); + } + return (next.substr(0,20) + (next.length > 20 ? '...' : '')).replace(/\n/g, ""); + }, + +// displays the character position where the lexing error occurred, i.e. for error messages +showPosition:function () { + var pre = this.pastInput(); + var c = new Array(pre.length + 1).join("-"); + return pre + this.upcomingInput() + "\n" + c + "^"; + }, + +// test the lexed token: return FALSE when not a match, otherwise return token +test_match:function(match, indexed_rule) { + var token, + lines, + backup; + + if (this.options.backtrack_lexer) { + // save context + backup = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done + }; + if (this.options.ranges) { + backup.yylloc.range = this.yylloc.range.slice(0); + } + } + + lines = match[0].match(/(?:\r\n?|\n).*/g); + if (lines) { + this.yylineno += lines.length; + } + this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: lines ? + lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length : + this.yylloc.last_column + match[0].length + }; + this.yytext += match[0]; + this.match += match[0]; + this.matches = match; + this.yyleng = this.yytext.length; + if (this.options.ranges) { + this.yylloc.range = [this.offset, this.offset += this.yyleng]; + } + this._more = false; + this._backtrack = false; + this._input = this._input.slice(match[0].length); + this.matched += match[0]; + token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]); + if (this.done && this._input) { + this.done = false; + } + if (token) { + return token; + } else if (this._backtrack) { + // recover context + for (var k in backup) { + this[k] = backup[k]; + } + return false; // rule action called reject() implying the next rule should be tested instead. + } + return false; + }, + +// return next match in input +next:function () { + if (this.done) { + return this.EOF; + } + if (!this._input) { + this.done = true; + } + + var token, + match, + tempMatch, + index; + if (!this._more) { + this.yytext = ''; + this.match = ''; + } + var rules = this._currentRules(); + for (var i = 0; i < rules.length; i++) { + tempMatch = this._input.match(this.rules[rules[i]]); + if (tempMatch && (!match || tempMatch[0].length > match[0].length)) { + match = tempMatch; + index = i; + if (this.options.backtrack_lexer) { + token = this.test_match(tempMatch, rules[i]); + if (token !== false) { + return token; + } else if (this._backtrack) { + match = false; + continue; // rule action called reject() implying a rule MISmatch. + } else { + // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) + return false; + } + } else if (!this.options.flex) { + break; + } + } + } + if (match) { + token = this.test_match(match, rules[index]); + if (token !== false) { + return token; + } + // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) + return false; + } + if (this._input === "") { + return this.EOF; + } else { + return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\n' + this.showPosition(), { + text: "", + token: null, + line: this.yylineno + }); + } + }, + +// return next match that has a token +lex:function lex () { + var r = this.next(); + if (r) { + return r; + } else { + return this.lex(); + } + }, + +// activates a new lexer condition state (pushes the new lexer condition state onto the condition stack) +begin:function begin (condition) { + this.conditionStack.push(condition); + }, + +// pop the previously active lexer condition state off the condition stack +popState:function popState () { + var n = this.conditionStack.length - 1; + if (n > 0) { + return this.conditionStack.pop(); + } else { + return this.conditionStack[0]; + } + }, + +// produce the lexer rule set which is active for the currently active lexer condition state +_currentRules:function _currentRules () { + if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) { + return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules; + } else { + return this.conditions["INITIAL"].rules; + } + }, + +// return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available +topState:function topState (n) { + n = this.conditionStack.length - 1 - Math.abs(n || 0); + if (n >= 0) { + return this.conditionStack[n]; + } else { + return "INITIAL"; + } + }, + +// alias for begin(condition) +pushState:function pushState (condition) { + this.begin(condition); + }, + +// return the number of states currently on the stack +stateStackSize:function stateStackSize() { + return this.conditionStack.length; + }, +options: {"case-insensitive":true}, +performAction: function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) { +var YYSTATE=YY_START; +switch($avoiding_name_collisions) { +case 0: this.begin('open_directive'); return 33; +break; +case 1: this.begin('type_directive'); return 34; +break; +case 2: this.popState(); this.begin('arg_directive'); return 26; +break; +case 3: this.popState(); this.popState(); return 36; +break; +case 4:return 35; +break; +case 5:/* skip comments */ +break; +case 6:/* skip comments */ +break; +case 7:/* do nothing */ +break; +case 8:return 11; +break; +case 9:/* skip whitespace */ +break; +case 10:/* skip comments */ +break; +case 11:/* skip comments */ +break; +case 12:this.begin("href"); +break; +case 13:this.popState(); +break; +case 14:return 31; +break; +case 15:this.begin("callbackname"); +break; +case 16:this.popState(); +break; +case 17:this.popState(); this.begin("callbackargs"); +break; +case 18:return 29; +break; +case 19:this.popState(); +break; +case 20:return 30; +break; +case 21:this.begin("click"); +break; +case 22:this.popState(); +break; +case 23:return 28; +break; +case 24:return 5; +break; +case 25:return 12; +break; +case 26:return 13; +break; +case 27:return 14; +break; +case 28:return 15; +break; +case 29:return 16; +break; +case 30:return 17; +break; +case 31:return 'date'; +break; +case 32:return 18; +break; +case 33:return 19; +break; +case 34:return 21; +break; +case 35:return 22; +break; +case 36:return 26; +break; +case 37:return 7; +break; +case 38:return 'INVALID'; +break; +} +}, +rules: [/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:%%(?!\{)*[^\n]*)/i,/^(?:[^\}]%%*[^\n]*)/i,/^(?:%%*[^\n]*[\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:href[\s]+["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:call[\s]+)/i,/^(?:\([\s]*\))/i,/^(?:\()/i,/^(?:[^(]*)/i,/^(?:\))/i,/^(?:[^)]*)/i,/^(?:click[\s]+)/i,/^(?:[\s\n])/i,/^(?:[^\s\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\s[^#\n;]+)/i,/^(?:inclusiveEndDates\b)/i,/^(?:topAxis\b)/i,/^(?:axisFormat\s[^#\n;]+)/i,/^(?:excludes\s[^#\n;]+)/i,/^(?:todayMarker\s[^\n;]+)/i,/^(?:\d\d\d\d-\d\d-\d\d\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i], +conditions: {"close_directive":{"rules":[],"inclusive":false},"arg_directive":{"rules":[3,4],"inclusive":false},"type_directive":{"rules":[2,3],"inclusive":false},"open_directive":{"rules":[1],"inclusive":false},"callbackargs":{"rules":[19,20],"inclusive":false},"callbackname":{"rules":[16,17,18],"inclusive":false},"href":{"rules":[13,14],"inclusive":false},"click":{"rules":[22,23],"inclusive":false},"INITIAL":{"rules":[0,5,6,7,8,9,10,11,12,15,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"inclusive":true}} +}); +return lexer; +})(); +parser.lexer = lexer; +function Parser () { + this.yy = {}; +} +Parser.prototype = parser;parser.Parser = Parser; +return new Parser; +})(); + + +if (true) { +exports.parser = parser; +exports.Parser = parser.Parser; +exports.parse = function () { return parser.parse.apply(parser, arguments); }; +exports.main = function commonjsMain (args) { + if (!args[1]) { + console.log('Usage: '+args[0]+' FILE'); + process.exit(1); + } + var source = __webpack_require__(/*! fs */ "?8ed1").readFileSync(__webpack_require__(/*! path */ "./node_modules/path-browserify/index.js").normalize(args[1]), "utf8"); + return exports.parser.parse(source); +}; +if ( true && __webpack_require__.c[__webpack_require__.s] === module) { + exports.main(process.argv.slice(1)); +} +} + +/***/ }), + +/***/ "./src/diagrams/git/parser/gitGraph.jison": +/*!************************************************!*\ + !*** ./src/diagrams/git/parser/gitGraph.jison ***! + \************************************************/ +/***/ ((module, exports, __webpack_require__) => { + +/* module decorator */ module = __webpack_require__.nmd(module); +/* parser generated by jison 0.4.18 */ +/* + Returns a Parser object of the following structure: + + Parser: { + yy: {} + } + + Parser.prototype: { + yy: {}, + trace: function(), + symbols_: {associative list: name ==> number}, + terminals_: {associative list: number ==> name}, + productions_: [...], + performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$), + table: [...], + defaultActions: {...}, + parseError: function(str, hash), + parse: function(input), + + lexer: { + EOF: 1, + parseError: function(str, hash), + setInput: function(input), + input: function(), + unput: function(str), + more: function(), + less: function(n), + pastInput: function(), + upcomingInput: function(), + showPosition: function(), + test_match: function(regex_match_array, rule_index), + next: function(), + lex: function(), + begin: function(condition), + popState: function(), + _currentRules: function(), + topState: function(), + pushState: function(condition), + + options: { + ranges: boolean (optional: true ==> token location info will include a .range[] member) + flex: boolean (optional: true ==> flex-like lexing behaviour where the rules are tested exhaustively to find the longest match) + backtrack_lexer: boolean (optional: true ==> lexer regexes are tested in order and for each matching regex the action code is invoked; the lexer terminates the scan when a token is returned by the action code) + }, + + performAction: function(yy, yy_, $avoiding_name_collisions, YY_START), + rules: [...], + conditions: {associative list: name ==> set}, + } + } + + + token location info (@$, _$, etc.): { + first_line: n, + last_line: n, + first_column: n, + last_column: n, + range: [start_number, end_number] (where the numbers are indexes into the input string, regular zero-based) + } + + + the parseError function receives a 'hash' object with these members for lexer and parser errors: { + text: (matched text) + token: (the produced terminal token, if any) + line: (yylineno) + } + while parser (grammar) errors will also provide these members, i.e. parser errors deliver a superset of attributes: { + loc: (yylloc) + expected: (string describing the set of expected tokens) + recoverable: (boolean: TRUE when the parser has a error recovery rule available for this particular error) + } +*/ +var parser = (function(){ +var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[2,3],$V1=[1,7],$V2=[7,12,15,17,19,20,21],$V3=[7,11,12,15,17,19,20,21],$V4=[2,20],$V5=[1,32]; +var parser = {trace: function trace () { }, +yy: {}, +symbols_: {"error":2,"start":3,"GG":4,":":5,"document":6,"EOF":7,"DIR":8,"options":9,"body":10,"OPT":11,"NL":12,"line":13,"statement":14,"COMMIT":15,"commit_arg":16,"BRANCH":17,"ID":18,"CHECKOUT":19,"MERGE":20,"RESET":21,"reset_arg":22,"STR":23,"HEAD":24,"reset_parents":25,"CARET":26,"$accept":0,"$end":1}, +terminals_: {2:"error",4:"GG",5:":",7:"EOF",8:"DIR",11:"OPT",12:"NL",15:"COMMIT",17:"BRANCH",18:"ID",19:"CHECKOUT",20:"MERGE",21:"RESET",23:"STR",24:"HEAD",26:"CARET"}, +productions_: [0,[3,4],[3,5],[6,0],[6,2],[9,2],[9,1],[10,0],[10,2],[13,2],[13,1],[14,2],[14,2],[14,2],[14,2],[14,2],[16,0],[16,1],[22,2],[22,2],[25,0],[25,2]], +performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) { +/* this == yyval */ + +var $0 = $$.length - 1; +switch (yystate) { +case 1: + return $$[$0-1]; +break; +case 2: +yy.setDirection($$[$0-3]); return $$[$0-1]; +break; +case 4: + yy.setOptions($$[$0-1]); this.$ = $$[$0] +break; +case 5: +$$[$0-1] +=$$[$0]; this.$=$$[$0-1] +break; +case 7: +this.$ = [] +break; +case 8: +$$[$0-1].push($$[$0]); this.$=$$[$0-1]; +break; +case 9: +this.$ =$$[$0-1] +break; +case 11: +yy.commit($$[$0]) +break; +case 12: +yy.branch($$[$0]) +break; +case 13: +yy.checkout($$[$0]) +break; +case 14: +yy.merge($$[$0]) +break; +case 15: +yy.reset($$[$0]) +break; +case 16: +this.$ = "" +break; +case 17: +this.$=$$[$0] +break; +case 18: +this.$ = $$[$0-1]+ ":" + $$[$0] +break; +case 19: +this.$ = $$[$0-1]+ ":" + yy.count; yy.count = 0 +break; +case 20: +yy.count = 0 +break; +case 21: + yy.count += 1 +break; +} +}, +table: [{3:1,4:[1,2]},{1:[3]},{5:[1,3],8:[1,4]},{6:5,7:$V0,9:6,12:$V1},{5:[1,8]},{7:[1,9]},o($V2,[2,7],{10:10,11:[1,11]}),o($V3,[2,6]),{6:12,7:$V0,9:6,12:$V1},{1:[2,1]},{7:[2,4],12:[1,15],13:13,14:14,15:[1,16],17:[1,17],19:[1,18],20:[1,19],21:[1,20]},o($V3,[2,5]),{7:[1,21]},o($V2,[2,8]),{12:[1,22]},o($V2,[2,10]),{12:[2,16],16:23,23:[1,24]},{18:[1,25]},{18:[1,26]},{18:[1,27]},{18:[1,30],22:28,24:[1,29]},{1:[2,2]},o($V2,[2,9]),{12:[2,11]},{12:[2,17]},{12:[2,12]},{12:[2,13]},{12:[2,14]},{12:[2,15]},{12:$V4,25:31,26:$V5},{12:$V4,25:33,26:$V5},{12:[2,18]},{12:$V4,25:34,26:$V5},{12:[2,19]},{12:[2,21]}], +defaultActions: {9:[2,1],21:[2,2],23:[2,11],24:[2,17],25:[2,12],26:[2,13],27:[2,14],28:[2,15],31:[2,18],33:[2,19],34:[2,21]}, +parseError: function parseError (str, hash) { + if (hash.recoverable) { + this.trace(str); + } else { + var error = new Error(str); + error.hash = hash; + throw error; + } +}, +parse: function parse(input) { + var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = '', yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1; + var args = lstack.slice.call(arguments, 1); + var lexer = Object.create(this.lexer); + var sharedState = { yy: {} }; + for (var k in this.yy) { + if (Object.prototype.hasOwnProperty.call(this.yy, k)) { + sharedState.yy[k] = this.yy[k]; + } + } + lexer.setInput(input, sharedState.yy); + sharedState.yy.lexer = lexer; + sharedState.yy.parser = this; + if (typeof lexer.yylloc == 'undefined') { + lexer.yylloc = {}; + } + var yyloc = lexer.yylloc; + lstack.push(yyloc); + var ranges = lexer.options && lexer.options.ranges; + if (typeof sharedState.yy.parseError === 'function') { + this.parseError = sharedState.yy.parseError; + } else { + this.parseError = Object.getPrototypeOf(this).parseError; + } + function popStack(n) { + stack.length = stack.length - 2 * n; + vstack.length = vstack.length - n; + lstack.length = lstack.length - n; + } + function lex() { + var token; + token = tstack.pop() || lexer.lex() || EOF; + if (typeof token !== 'number') { + if (token instanceof Array) { + tstack = token; + token = tstack.pop(); + } + token = self.symbols_[token] || token; + } + return token; + } + var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected; + while (true) { + state = stack[stack.length - 1]; + if (this.defaultActions[state]) { + action = this.defaultActions[state]; + } else { + if (symbol === null || typeof symbol == 'undefined') { + symbol = lex(); + } + action = table[state] && table[state][symbol]; + } + if (typeof action === 'undefined' || !action.length || !action[0]) { + var errStr = ''; + expected = []; + for (p in table[state]) { + if (this.terminals_[p] && p > TERROR) { + expected.push('\'' + this.terminals_[p] + '\''); + } + } + if (lexer.showPosition) { + errStr = 'Parse error on line ' + (yylineno + 1) + ':\n' + lexer.showPosition() + '\nExpecting ' + expected.join(', ') + ', got \'' + (this.terminals_[symbol] || symbol) + '\''; + } else { + errStr = 'Parse error on line ' + (yylineno + 1) + ': Unexpected ' + (symbol == EOF ? 'end of input' : '\'' + (this.terminals_[symbol] || symbol) + '\''); + } + this.parseError(errStr, { + text: lexer.match, + token: this.terminals_[symbol] || symbol, + line: lexer.yylineno, + loc: yyloc, + expected: expected + }); + } + if (action[0] instanceof Array && action.length > 1) { + throw new Error('Parse Error: multiple actions possible at state: ' + state + ', token: ' + symbol); + } + switch (action[0]) { + case 1: + stack.push(symbol); + vstack.push(lexer.yytext); + lstack.push(lexer.yylloc); + stack.push(action[1]); + symbol = null; + if (!preErrorSymbol) { + yyleng = lexer.yyleng; + yytext = lexer.yytext; + yylineno = lexer.yylineno; + yyloc = lexer.yylloc; + if (recovering > 0) { + recovering--; + } + } else { + symbol = preErrorSymbol; + preErrorSymbol = null; + } + break; + case 2: + len = this.productions_[action[1]][1]; + yyval.$ = vstack[vstack.length - len]; + yyval._$ = { + first_line: lstack[lstack.length - (len || 1)].first_line, + last_line: lstack[lstack.length - 1].last_line, + first_column: lstack[lstack.length - (len || 1)].first_column, + last_column: lstack[lstack.length - 1].last_column + }; + if (ranges) { + yyval._$.range = [ + lstack[lstack.length - (len || 1)].range[0], + lstack[lstack.length - 1].range[1] + ]; + } + r = this.performAction.apply(yyval, [ + yytext, + yyleng, + yylineno, + sharedState.yy, + action[1], + vstack, + lstack + ].concat(args)); + if (typeof r !== 'undefined') { + return r; + } + if (len) { + stack = stack.slice(0, -1 * len * 2); + vstack = vstack.slice(0, -1 * len); + lstack = lstack.slice(0, -1 * len); + } + stack.push(this.productions_[action[1]][0]); + vstack.push(yyval.$); + lstack.push(yyval._$); + newState = table[stack[stack.length - 2]][stack[stack.length - 1]]; + stack.push(newState); + break; + case 3: + return true; + } + } + return true; +}}; +/* generated by jison-lex 0.3.4 */ +var lexer = (function(){ +var lexer = ({ + +EOF:1, + +parseError:function parseError(str, hash) { + if (this.yy.parser) { + this.yy.parser.parseError(str, hash); + } else { + throw new Error(str); + } + }, + +// resets the lexer, sets new input +setInput:function (input, yy) { + this.yy = yy || this.yy || {}; + this._input = input; + this._more = this._backtrack = this.done = false; + this.yylineno = this.yyleng = 0; + this.yytext = this.matched = this.match = ''; + this.conditionStack = ['INITIAL']; + this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0 + }; + if (this.options.ranges) { + this.yylloc.range = [0,0]; + } + this.offset = 0; + return this; + }, + +// consumes and returns one char from the input +input:function () { + var ch = this._input[0]; + this.yytext += ch; + this.yyleng++; + this.offset++; + this.match += ch; + this.matched += ch; + var lines = ch.match(/(?:\r\n?|\n).*/g); + if (lines) { + this.yylineno++; + this.yylloc.last_line++; + } else { + this.yylloc.last_column++; + } + if (this.options.ranges) { + this.yylloc.range[1]++; + } + + this._input = this._input.slice(1); + return ch; + }, + +// unshifts one char (or a string) into the input +unput:function (ch) { + var len = ch.length; + var lines = ch.split(/(?:\r\n?|\n)/g); + + this._input = ch + this._input; + this.yytext = this.yytext.substr(0, this.yytext.length - len); + //this.yyleng -= len; + this.offset -= len; + var oldLines = this.match.split(/(?:\r\n?|\n)/g); + this.match = this.match.substr(0, this.match.length - 1); + this.matched = this.matched.substr(0, this.matched.length - 1); + + if (lines.length - 1) { + this.yylineno -= lines.length - 1; + } + var r = this.yylloc.range; + + this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: lines ? + (lines.length === oldLines.length ? this.yylloc.first_column : 0) + + oldLines[oldLines.length - lines.length].length - lines[0].length : + this.yylloc.first_column - len + }; + + if (this.options.ranges) { + this.yylloc.range = [r[0], r[0] + this.yyleng - len]; + } + this.yyleng = this.yytext.length; + return this; + }, + +// When called from action, caches matched text and appends it on next action +more:function () { + this._more = true; + return this; + }, + +// When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead. +reject:function () { + if (this.options.backtrack_lexer) { + this._backtrack = true; + } else { + return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n' + this.showPosition(), { + text: "", + token: null, + line: this.yylineno + }); + + } + return this; + }, + +// retain first n characters of the match +less:function (n) { + this.unput(this.match.slice(n)); + }, + +// displays already matched input, i.e. for error messages +pastInput:function () { + var past = this.matched.substr(0, this.matched.length - this.match.length); + return (past.length > 20 ? '...':'') + past.substr(-20).replace(/\n/g, ""); + }, + +// displays upcoming input, i.e. for error messages +upcomingInput:function () { + var next = this.match; + if (next.length < 20) { + next += this._input.substr(0, 20-next.length); + } + return (next.substr(0,20) + (next.length > 20 ? '...' : '')).replace(/\n/g, ""); + }, + +// displays the character position where the lexing error occurred, i.e. for error messages +showPosition:function () { + var pre = this.pastInput(); + var c = new Array(pre.length + 1).join("-"); + return pre + this.upcomingInput() + "\n" + c + "^"; + }, + +// test the lexed token: return FALSE when not a match, otherwise return token +test_match:function(match, indexed_rule) { + var token, + lines, + backup; + + if (this.options.backtrack_lexer) { + // save context + backup = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done + }; + if (this.options.ranges) { + backup.yylloc.range = this.yylloc.range.slice(0); + } + } + + lines = match[0].match(/(?:\r\n?|\n).*/g); + if (lines) { + this.yylineno += lines.length; + } + this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: lines ? + lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length : + this.yylloc.last_column + match[0].length + }; + this.yytext += match[0]; + this.match += match[0]; + this.matches = match; + this.yyleng = this.yytext.length; + if (this.options.ranges) { + this.yylloc.range = [this.offset, this.offset += this.yyleng]; + } + this._more = false; + this._backtrack = false; + this._input = this._input.slice(match[0].length); + this.matched += match[0]; + token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]); + if (this.done && this._input) { + this.done = false; + } + if (token) { + return token; + } else if (this._backtrack) { + // recover context + for (var k in backup) { + this[k] = backup[k]; + } + return false; // rule action called reject() implying the next rule should be tested instead. + } + return false; + }, + +// return next match in input +next:function () { + if (this.done) { + return this.EOF; + } + if (!this._input) { + this.done = true; + } + + var token, + match, + tempMatch, + index; + if (!this._more) { + this.yytext = ''; + this.match = ''; + } + var rules = this._currentRules(); + for (var i = 0; i < rules.length; i++) { + tempMatch = this._input.match(this.rules[rules[i]]); + if (tempMatch && (!match || tempMatch[0].length > match[0].length)) { + match = tempMatch; + index = i; + if (this.options.backtrack_lexer) { + token = this.test_match(tempMatch, rules[i]); + if (token !== false) { + return token; + } else if (this._backtrack) { + match = false; + continue; // rule action called reject() implying a rule MISmatch. + } else { + // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) + return false; + } + } else if (!this.options.flex) { + break; + } + } + } + if (match) { + token = this.test_match(match, rules[index]); + if (token !== false) { + return token; + } + // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) + return false; + } + if (this._input === "") { + return this.EOF; + } else { + return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\n' + this.showPosition(), { + text: "", + token: null, + line: this.yylineno + }); + } + }, + +// return next match that has a token +lex:function lex () { + var r = this.next(); + if (r) { + return r; + } else { + return this.lex(); + } + }, + +// activates a new lexer condition state (pushes the new lexer condition state onto the condition stack) +begin:function begin (condition) { + this.conditionStack.push(condition); + }, + +// pop the previously active lexer condition state off the condition stack +popState:function popState () { + var n = this.conditionStack.length - 1; + if (n > 0) { + return this.conditionStack.pop(); + } else { + return this.conditionStack[0]; + } + }, + +// produce the lexer rule set which is active for the currently active lexer condition state +_currentRules:function _currentRules () { + if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) { + return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules; + } else { + return this.conditions["INITIAL"].rules; + } + }, + +// return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available +topState:function topState (n) { + n = this.conditionStack.length - 1 - Math.abs(n || 0); + if (n >= 0) { + return this.conditionStack[n]; + } else { + return "INITIAL"; + } + }, + +// alias for begin(condition) +pushState:function pushState (condition) { + this.begin(condition); + }, + +// return the number of states currently on the stack +stateStackSize:function stateStackSize() { + return this.conditionStack.length; + }, +options: {"case-insensitive":true}, +performAction: function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) { +var YYSTATE=YY_START; +switch($avoiding_name_collisions) { +case 0:return 12; +break; +case 1:/* skip all whitespace */ +break; +case 2:/* skip comments */ +break; +case 3:/* skip comments */ +break; +case 4:return 4; +break; +case 5:return 15; +break; +case 6:return 17; +break; +case 7:return 20; +break; +case 8:return 21; +break; +case 9:return 19; +break; +case 10:return 8; +break; +case 11:return 8; +break; +case 12:return 5; +break; +case 13:return 26 +break; +case 14:this.begin("options"); +break; +case 15:this.popState(); +break; +case 16:return 11; +break; +case 17:this.begin("string"); +break; +case 18:this.popState(); +break; +case 19:return 23; +break; +case 20:return 18; +break; +case 21:return 7; +break; +} +}, +rules: [/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:gitGraph\b)/i,/^(?:commit\b)/i,/^(?:branch\b)/i,/^(?:merge\b)/i,/^(?:reset\b)/i,/^(?:checkout\b)/i,/^(?:LR\b)/i,/^(?:BT\b)/i,/^(?::)/i,/^(?:\^)/i,/^(?:options\r?\n)/i,/^(?:end\r?\n)/i,/^(?:[^\n]+\r?\n)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[a-zA-Z][-_\.a-zA-Z0-9]*[-_a-zA-Z0-9])/i,/^(?:$)/i], +conditions: {"options":{"rules":[15,16],"inclusive":false},"string":{"rules":[18,19],"inclusive":false},"INITIAL":{"rules":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,17,20,21],"inclusive":true}} +}); +return lexer; +})(); +parser.lexer = lexer; +function Parser () { + this.yy = {}; +} +Parser.prototype = parser;parser.Parser = Parser; +return new Parser; +})(); + + +if (true) { +exports.parser = parser; +exports.Parser = parser.Parser; +exports.parse = function () { return parser.parse.apply(parser, arguments); }; +exports.main = function commonjsMain (args) { + if (!args[1]) { + console.log('Usage: '+args[0]+' FILE'); + process.exit(1); + } + var source = __webpack_require__(/*! fs */ "?2b40").readFileSync(__webpack_require__(/*! path */ "./node_modules/path-browserify/index.js").normalize(args[1]), "utf8"); + return exports.parser.parse(source); +}; +if ( true && __webpack_require__.c[__webpack_require__.s] === module) { + exports.main(process.argv.slice(1)); +} +} + +/***/ }), + +/***/ "./src/diagrams/info/parser/info.jison": +/*!*********************************************!*\ + !*** ./src/diagrams/info/parser/info.jison ***! + \*********************************************/ +/***/ ((module, exports, __webpack_require__) => { + +/* module decorator */ module = __webpack_require__.nmd(module); +/* parser generated by jison 0.4.18 */ +/* + Returns a Parser object of the following structure: + + Parser: { + yy: {} + } + + Parser.prototype: { + yy: {}, + trace: function(), + symbols_: {associative list: name ==> number}, + terminals_: {associative list: number ==> name}, + productions_: [...], + performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$), + table: [...], + defaultActions: {...}, + parseError: function(str, hash), + parse: function(input), + + lexer: { + EOF: 1, + parseError: function(str, hash), + setInput: function(input), + input: function(), + unput: function(str), + more: function(), + less: function(n), + pastInput: function(), + upcomingInput: function(), + showPosition: function(), + test_match: function(regex_match_array, rule_index), + next: function(), + lex: function(), + begin: function(condition), + popState: function(), + _currentRules: function(), + topState: function(), + pushState: function(condition), + + options: { + ranges: boolean (optional: true ==> token location info will include a .range[] member) + flex: boolean (optional: true ==> flex-like lexing behaviour where the rules are tested exhaustively to find the longest match) + backtrack_lexer: boolean (optional: true ==> lexer regexes are tested in order and for each matching regex the action code is invoked; the lexer terminates the scan when a token is returned by the action code) + }, + + performAction: function(yy, yy_, $avoiding_name_collisions, YY_START), + rules: [...], + conditions: {associative list: name ==> set}, + } + } + + + token location info (@$, _$, etc.): { + first_line: n, + last_line: n, + first_column: n, + last_column: n, + range: [start_number, end_number] (where the numbers are indexes into the input string, regular zero-based) + } + + + the parseError function receives a 'hash' object with these members for lexer and parser errors: { + text: (matched text) + token: (the produced terminal token, if any) + line: (yylineno) + } + while parser (grammar) errors will also provide these members, i.e. parser errors deliver a superset of attributes: { + loc: (yylloc) + expected: (string describing the set of expected tokens) + recoverable: (boolean: TRUE when the parser has a error recovery rule available for this particular error) + } +*/ +var parser = (function(){ +var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[6,9,10]; +var parser = {trace: function trace () { }, +yy: {}, +symbols_: {"error":2,"start":3,"info":4,"document":5,"EOF":6,"line":7,"statement":8,"NL":9,"showInfo":10,"$accept":0,"$end":1}, +terminals_: {2:"error",4:"info",6:"EOF",9:"NL",10:"showInfo"}, +productions_: [0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,1]], +performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) { +/* this == yyval */ + +var $0 = $$.length - 1; +switch (yystate) { +case 1: + return yy; +break; +case 4: + +break; +case 6: + yy.setInfo(true); +break; +} +}, +table: [{3:1,4:[1,2]},{1:[3]},o($V0,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8]},{1:[2,1]},o($V0,[2,3]),o($V0,[2,4]),o($V0,[2,5]),o($V0,[2,6])], +defaultActions: {4:[2,1]}, +parseError: function parseError (str, hash) { + if (hash.recoverable) { + this.trace(str); + } else { + var error = new Error(str); + error.hash = hash; + throw error; + } +}, +parse: function parse(input) { + var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = '', yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1; + var args = lstack.slice.call(arguments, 1); + var lexer = Object.create(this.lexer); + var sharedState = { yy: {} }; + for (var k in this.yy) { + if (Object.prototype.hasOwnProperty.call(this.yy, k)) { + sharedState.yy[k] = this.yy[k]; + } + } + lexer.setInput(input, sharedState.yy); + sharedState.yy.lexer = lexer; + sharedState.yy.parser = this; + if (typeof lexer.yylloc == 'undefined') { + lexer.yylloc = {}; + } + var yyloc = lexer.yylloc; + lstack.push(yyloc); + var ranges = lexer.options && lexer.options.ranges; + if (typeof sharedState.yy.parseError === 'function') { + this.parseError = sharedState.yy.parseError; + } else { + this.parseError = Object.getPrototypeOf(this).parseError; + } + function popStack(n) { + stack.length = stack.length - 2 * n; + vstack.length = vstack.length - n; + lstack.length = lstack.length - n; + } + function lex() { + var token; + token = tstack.pop() || lexer.lex() || EOF; + if (typeof token !== 'number') { + if (token instanceof Array) { + tstack = token; + token = tstack.pop(); + } + token = self.symbols_[token] || token; + } + return token; + } + var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected; + while (true) { + state = stack[stack.length - 1]; + if (this.defaultActions[state]) { + action = this.defaultActions[state]; + } else { + if (symbol === null || typeof symbol == 'undefined') { + symbol = lex(); + } + action = table[state] && table[state][symbol]; + } + if (typeof action === 'undefined' || !action.length || !action[0]) { + var errStr = ''; + expected = []; + for (p in table[state]) { + if (this.terminals_[p] && p > TERROR) { + expected.push('\'' + this.terminals_[p] + '\''); + } + } + if (lexer.showPosition) { + errStr = 'Parse error on line ' + (yylineno + 1) + ':\n' + lexer.showPosition() + '\nExpecting ' + expected.join(', ') + ', got \'' + (this.terminals_[symbol] || symbol) + '\''; + } else { + errStr = 'Parse error on line ' + (yylineno + 1) + ': Unexpected ' + (symbol == EOF ? 'end of input' : '\'' + (this.terminals_[symbol] || symbol) + '\''); + } + this.parseError(errStr, { + text: lexer.match, + token: this.terminals_[symbol] || symbol, + line: lexer.yylineno, + loc: yyloc, + expected: expected + }); + } + if (action[0] instanceof Array && action.length > 1) { + throw new Error('Parse Error: multiple actions possible at state: ' + state + ', token: ' + symbol); + } + switch (action[0]) { + case 1: + stack.push(symbol); + vstack.push(lexer.yytext); + lstack.push(lexer.yylloc); + stack.push(action[1]); + symbol = null; + if (!preErrorSymbol) { + yyleng = lexer.yyleng; + yytext = lexer.yytext; + yylineno = lexer.yylineno; + yyloc = lexer.yylloc; + if (recovering > 0) { + recovering--; + } + } else { + symbol = preErrorSymbol; + preErrorSymbol = null; + } + break; + case 2: + len = this.productions_[action[1]][1]; + yyval.$ = vstack[vstack.length - len]; + yyval._$ = { + first_line: lstack[lstack.length - (len || 1)].first_line, + last_line: lstack[lstack.length - 1].last_line, + first_column: lstack[lstack.length - (len || 1)].first_column, + last_column: lstack[lstack.length - 1].last_column + }; + if (ranges) { + yyval._$.range = [ + lstack[lstack.length - (len || 1)].range[0], + lstack[lstack.length - 1].range[1] + ]; + } + r = this.performAction.apply(yyval, [ + yytext, + yyleng, + yylineno, + sharedState.yy, + action[1], + vstack, + lstack + ].concat(args)); + if (typeof r !== 'undefined') { + return r; + } + if (len) { + stack = stack.slice(0, -1 * len * 2); + vstack = vstack.slice(0, -1 * len); + lstack = lstack.slice(0, -1 * len); + } + stack.push(this.productions_[action[1]][0]); + vstack.push(yyval.$); + lstack.push(yyval._$); + newState = table[stack[stack.length - 2]][stack[stack.length - 1]]; + stack.push(newState); + break; + case 3: + return true; + } + } + return true; +}}; + +/* generated by jison-lex 0.3.4 */ +var lexer = (function(){ +var lexer = ({ + +EOF:1, + +parseError:function parseError(str, hash) { + if (this.yy.parser) { + this.yy.parser.parseError(str, hash); + } else { + throw new Error(str); + } + }, + +// resets the lexer, sets new input +setInput:function (input, yy) { + this.yy = yy || this.yy || {}; + this._input = input; + this._more = this._backtrack = this.done = false; + this.yylineno = this.yyleng = 0; + this.yytext = this.matched = this.match = ''; + this.conditionStack = ['INITIAL']; + this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0 + }; + if (this.options.ranges) { + this.yylloc.range = [0,0]; + } + this.offset = 0; + return this; + }, + +// consumes and returns one char from the input +input:function () { + var ch = this._input[0]; + this.yytext += ch; + this.yyleng++; + this.offset++; + this.match += ch; + this.matched += ch; + var lines = ch.match(/(?:\r\n?|\n).*/g); + if (lines) { + this.yylineno++; + this.yylloc.last_line++; + } else { + this.yylloc.last_column++; + } + if (this.options.ranges) { + this.yylloc.range[1]++; + } + + this._input = this._input.slice(1); + return ch; + }, + +// unshifts one char (or a string) into the input +unput:function (ch) { + var len = ch.length; + var lines = ch.split(/(?:\r\n?|\n)/g); + + this._input = ch + this._input; + this.yytext = this.yytext.substr(0, this.yytext.length - len); + //this.yyleng -= len; + this.offset -= len; + var oldLines = this.match.split(/(?:\r\n?|\n)/g); + this.match = this.match.substr(0, this.match.length - 1); + this.matched = this.matched.substr(0, this.matched.length - 1); + + if (lines.length - 1) { + this.yylineno -= lines.length - 1; + } + var r = this.yylloc.range; + + this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: lines ? + (lines.length === oldLines.length ? this.yylloc.first_column : 0) + + oldLines[oldLines.length - lines.length].length - lines[0].length : + this.yylloc.first_column - len + }; + + if (this.options.ranges) { + this.yylloc.range = [r[0], r[0] + this.yyleng - len]; + } + this.yyleng = this.yytext.length; + return this; + }, + +// When called from action, caches matched text and appends it on next action +more:function () { + this._more = true; + return this; + }, + +// When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead. +reject:function () { + if (this.options.backtrack_lexer) { + this._backtrack = true; + } else { + return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n' + this.showPosition(), { + text: "", + token: null, + line: this.yylineno + }); + + } + return this; + }, + +// retain first n characters of the match +less:function (n) { + this.unput(this.match.slice(n)); + }, + +// displays already matched input, i.e. for error messages +pastInput:function () { + var past = this.matched.substr(0, this.matched.length - this.match.length); + return (past.length > 20 ? '...':'') + past.substr(-20).replace(/\n/g, ""); + }, + +// displays upcoming input, i.e. for error messages +upcomingInput:function () { + var next = this.match; + if (next.length < 20) { + next += this._input.substr(0, 20-next.length); + } + return (next.substr(0,20) + (next.length > 20 ? '...' : '')).replace(/\n/g, ""); + }, + +// displays the character position where the lexing error occurred, i.e. for error messages +showPosition:function () { + var pre = this.pastInput(); + var c = new Array(pre.length + 1).join("-"); + return pre + this.upcomingInput() + "\n" + c + "^"; + }, + +// test the lexed token: return FALSE when not a match, otherwise return token +test_match:function(match, indexed_rule) { + var token, + lines, + backup; + + if (this.options.backtrack_lexer) { + // save context + backup = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done + }; + if (this.options.ranges) { + backup.yylloc.range = this.yylloc.range.slice(0); + } + } + + lines = match[0].match(/(?:\r\n?|\n).*/g); + if (lines) { + this.yylineno += lines.length; + } + this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: lines ? + lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length : + this.yylloc.last_column + match[0].length + }; + this.yytext += match[0]; + this.match += match[0]; + this.matches = match; + this.yyleng = this.yytext.length; + if (this.options.ranges) { + this.yylloc.range = [this.offset, this.offset += this.yyleng]; + } + this._more = false; + this._backtrack = false; + this._input = this._input.slice(match[0].length); + this.matched += match[0]; + token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]); + if (this.done && this._input) { + this.done = false; + } + if (token) { + return token; + } else if (this._backtrack) { + // recover context + for (var k in backup) { + this[k] = backup[k]; + } + return false; // rule action called reject() implying the next rule should be tested instead. + } + return false; + }, + +// return next match in input +next:function () { + if (this.done) { + return this.EOF; + } + if (!this._input) { + this.done = true; + } + + var token, + match, + tempMatch, + index; + if (!this._more) { + this.yytext = ''; + this.match = ''; + } + var rules = this._currentRules(); + for (var i = 0; i < rules.length; i++) { + tempMatch = this._input.match(this.rules[rules[i]]); + if (tempMatch && (!match || tempMatch[0].length > match[0].length)) { + match = tempMatch; + index = i; + if (this.options.backtrack_lexer) { + token = this.test_match(tempMatch, rules[i]); + if (token !== false) { + return token; + } else if (this._backtrack) { + match = false; + continue; // rule action called reject() implying a rule MISmatch. + } else { + // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) + return false; + } + } else if (!this.options.flex) { + break; + } + } + } + if (match) { + token = this.test_match(match, rules[index]); + if (token !== false) { + return token; + } + // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) + return false; + } + if (this._input === "") { + return this.EOF; + } else { + return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\n' + this.showPosition(), { + text: "", + token: null, + line: this.yylineno + }); + } + }, + +// return next match that has a token +lex:function lex () { + var r = this.next(); + if (r) { + return r; + } else { + return this.lex(); + } + }, + +// activates a new lexer condition state (pushes the new lexer condition state onto the condition stack) +begin:function begin (condition) { + this.conditionStack.push(condition); + }, + +// pop the previously active lexer condition state off the condition stack +popState:function popState () { + var n = this.conditionStack.length - 1; + if (n > 0) { + return this.conditionStack.pop(); + } else { + return this.conditionStack[0]; + } + }, + +// produce the lexer rule set which is active for the currently active lexer condition state +_currentRules:function _currentRules () { + if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) { + return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules; + } else { + return this.conditions["INITIAL"].rules; + } + }, + +// return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available +topState:function topState (n) { + n = this.conditionStack.length - 1 - Math.abs(n || 0); + if (n >= 0) { + return this.conditionStack[n]; + } else { + return "INITIAL"; + } + }, + +// alias for begin(condition) +pushState:function pushState (condition) { + this.begin(condition); + }, + +// return the number of states currently on the stack +stateStackSize:function stateStackSize() { + return this.conditionStack.length; + }, +options: {"case-insensitive":true}, +performAction: function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) { + // Pre-lexer code can go here + +var YYSTATE=YY_START; +switch($avoiding_name_collisions) { +case 0:return 4 ; +break; +case 1:return 9 ; +break; +case 2:return 'space'; +break; +case 3:return 10; +break; +case 4:return 6 ; +break; +case 5:return 'TXT' ; +break; +} +}, +rules: [/^(?:info\b)/i,/^(?:[\s\n\r]+)/i,/^(?:[\s]+)/i,/^(?:showInfo\b)/i,/^(?:$)/i,/^(?:.)/i], +conditions: {"INITIAL":{"rules":[0,1,2,3,4,5],"inclusive":true}} +}); +return lexer; +})(); +parser.lexer = lexer; +function Parser () { + this.yy = {}; +} +Parser.prototype = parser;parser.Parser = Parser; +return new Parser; +})(); + + +if (true) { +exports.parser = parser; +exports.Parser = parser.Parser; +exports.parse = function () { return parser.parse.apply(parser, arguments); }; +exports.main = function commonjsMain (args) { + if (!args[1]) { + console.log('Usage: '+args[0]+' FILE'); + process.exit(1); + } + var source = __webpack_require__(/*! fs */ "?c5f1").readFileSync(__webpack_require__(/*! path */ "./node_modules/path-browserify/index.js").normalize(args[1]), "utf8"); + return exports.parser.parse(source); +}; +if ( true && __webpack_require__.c[__webpack_require__.s] === module) { + exports.main(process.argv.slice(1)); +} +} + +/***/ }), + +/***/ "./src/diagrams/pie/parser/pie.jison": +/*!*******************************************!*\ + !*** ./src/diagrams/pie/parser/pie.jison ***! + \*******************************************/ +/***/ ((module, exports, __webpack_require__) => { + +/* module decorator */ module = __webpack_require__.nmd(module); +/* parser generated by jison 0.4.18 */ +/* + Returns a Parser object of the following structure: + + Parser: { + yy: {} + } + + Parser.prototype: { + yy: {}, + trace: function(), + symbols_: {associative list: name ==> number}, + terminals_: {associative list: number ==> name}, + productions_: [...], + performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$), + table: [...], + defaultActions: {...}, + parseError: function(str, hash), + parse: function(input), + + lexer: { + EOF: 1, + parseError: function(str, hash), + setInput: function(input), + input: function(), + unput: function(str), + more: function(), + less: function(n), + pastInput: function(), + upcomingInput: function(), + showPosition: function(), + test_match: function(regex_match_array, rule_index), + next: function(), + lex: function(), + begin: function(condition), + popState: function(), + _currentRules: function(), + topState: function(), + pushState: function(condition), + + options: { + ranges: boolean (optional: true ==> token location info will include a .range[] member) + flex: boolean (optional: true ==> flex-like lexing behaviour where the rules are tested exhaustively to find the longest match) + backtrack_lexer: boolean (optional: true ==> lexer regexes are tested in order and for each matching regex the action code is invoked; the lexer terminates the scan when a token is returned by the action code) + }, + + performAction: function(yy, yy_, $avoiding_name_collisions, YY_START), + rules: [...], + conditions: {associative list: name ==> set}, + } + } + + + token location info (@$, _$, etc.): { + first_line: n, + last_line: n, + first_column: n, + last_column: n, + range: [start_number, end_number] (where the numbers are indexes into the input string, regular zero-based) + } + + + the parseError function receives a 'hash' object with these members for lexer and parser errors: { + text: (matched text) + token: (the produced terminal token, if any) + line: (yylineno) + } + while parser (grammar) errors will also provide these members, i.e. parser errors deliver a superset of attributes: { + loc: (yylloc) + expected: (string describing the set of expected tokens) + recoverable: (boolean: TRUE when the parser has a error recovery rule available for this particular error) + } +*/ +var parser = (function(){ +var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,4],$V1=[1,5],$V2=[1,6],$V3=[1,7],$V4=[1,9],$V5=[1,11,13,20,21,22,23],$V6=[2,5],$V7=[1,6,11,13,20,21,22,23],$V8=[20,21,22],$V9=[2,8],$Va=[1,18],$Vb=[1,19],$Vc=[1,24],$Vd=[6,20,21,22,23]; +var parser = {trace: function trace () { }, +yy: {}, +symbols_: {"error":2,"start":3,"eol":4,"directive":5,"PIE":6,"document":7,"showData":8,"line":9,"statement":10,"txt":11,"value":12,"title":13,"title_value":14,"openDirective":15,"typeDirective":16,"closeDirective":17,":":18,"argDirective":19,"NEWLINE":20,";":21,"EOF":22,"open_directive":23,"type_directive":24,"arg_directive":25,"close_directive":26,"$accept":0,"$end":1}, +terminals_: {2:"error",6:"PIE",8:"showData",11:"txt",12:"value",13:"title",14:"title_value",18:":",20:"NEWLINE",21:";",22:"EOF",23:"open_directive",24:"type_directive",25:"arg_directive",26:"close_directive"}, +productions_: [0,[3,2],[3,2],[3,2],[3,3],[7,0],[7,2],[9,2],[10,0],[10,2],[10,2],[10,1],[5,3],[5,5],[4,1],[4,1],[4,1],[15,1],[16,1],[19,1],[17,1]], +performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) { +/* this == yyval */ + +var $0 = $$.length - 1; +switch (yystate) { +case 4: +yy.setShowData(true); +break; +case 7: + this.$ = $$[$0-1] +break; +case 9: + yy.addSection($$[$0-1],yy.cleanupValue($$[$0])); +break; +case 10: + this.$=$$[$0].trim();yy.setTitle(this.$); +break; +case 17: + yy.parseDirective('%%{', 'open_directive'); +break; +case 18: + yy.parseDirective($$[$0], 'type_directive'); +break; +case 19: + $$[$0] = $$[$0].trim().replace(/'/g, '"'); yy.parseDirective($$[$0], 'arg_directive'); +break; +case 20: + yy.parseDirective('}%%', 'close_directive', 'pie'); +break; +} +}, +table: [{3:1,4:2,5:3,6:$V0,15:8,20:$V1,21:$V2,22:$V3,23:$V4},{1:[3]},{3:10,4:2,5:3,6:$V0,15:8,20:$V1,21:$V2,22:$V3,23:$V4},{3:11,4:2,5:3,6:$V0,15:8,20:$V1,21:$V2,22:$V3,23:$V4},o($V5,$V6,{7:12,8:[1,13]}),o($V7,[2,14]),o($V7,[2,15]),o($V7,[2,16]),{16:14,24:[1,15]},{24:[2,17]},{1:[2,1]},{1:[2,2]},o($V8,$V9,{15:8,9:16,10:17,5:20,1:[2,3],11:$Va,13:$Vb,23:$V4}),o($V5,$V6,{7:21}),{17:22,18:[1,23],26:$Vc},o([18,26],[2,18]),o($V5,[2,6]),{4:25,20:$V1,21:$V2,22:$V3},{12:[1,26]},{14:[1,27]},o($V8,[2,11]),o($V8,$V9,{15:8,9:16,10:17,5:20,1:[2,4],11:$Va,13:$Vb,23:$V4}),o($Vd,[2,12]),{19:28,25:[1,29]},o($Vd,[2,20]),o($V5,[2,7]),o($V8,[2,9]),o($V8,[2,10]),{17:30,26:$Vc},{26:[2,19]},o($Vd,[2,13])], +defaultActions: {9:[2,17],10:[2,1],11:[2,2],29:[2,19]}, +parseError: function parseError (str, hash) { + if (hash.recoverable) { + this.trace(str); + } else { + var error = new Error(str); + error.hash = hash; + throw error; + } +}, +parse: function parse(input) { + var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = '', yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1; + var args = lstack.slice.call(arguments, 1); + var lexer = Object.create(this.lexer); + var sharedState = { yy: {} }; + for (var k in this.yy) { + if (Object.prototype.hasOwnProperty.call(this.yy, k)) { + sharedState.yy[k] = this.yy[k]; + } + } + lexer.setInput(input, sharedState.yy); + sharedState.yy.lexer = lexer; + sharedState.yy.parser = this; + if (typeof lexer.yylloc == 'undefined') { + lexer.yylloc = {}; + } + var yyloc = lexer.yylloc; + lstack.push(yyloc); + var ranges = lexer.options && lexer.options.ranges; + if (typeof sharedState.yy.parseError === 'function') { + this.parseError = sharedState.yy.parseError; + } else { + this.parseError = Object.getPrototypeOf(this).parseError; + } + function popStack(n) { + stack.length = stack.length - 2 * n; + vstack.length = vstack.length - n; + lstack.length = lstack.length - n; + } + function lex() { + var token; + token = tstack.pop() || lexer.lex() || EOF; + if (typeof token !== 'number') { + if (token instanceof Array) { + tstack = token; + token = tstack.pop(); + } + token = self.symbols_[token] || token; + } + return token; + } + var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected; + while (true) { + state = stack[stack.length - 1]; + if (this.defaultActions[state]) { + action = this.defaultActions[state]; + } else { + if (symbol === null || typeof symbol == 'undefined') { + symbol = lex(); + } + action = table[state] && table[state][symbol]; + } + if (typeof action === 'undefined' || !action.length || !action[0]) { + var errStr = ''; + expected = []; + for (p in table[state]) { + if (this.terminals_[p] && p > TERROR) { + expected.push('\'' + this.terminals_[p] + '\''); + } + } + if (lexer.showPosition) { + errStr = 'Parse error on line ' + (yylineno + 1) + ':\n' + lexer.showPosition() + '\nExpecting ' + expected.join(', ') + ', got \'' + (this.terminals_[symbol] || symbol) + '\''; + } else { + errStr = 'Parse error on line ' + (yylineno + 1) + ': Unexpected ' + (symbol == EOF ? 'end of input' : '\'' + (this.terminals_[symbol] || symbol) + '\''); + } + this.parseError(errStr, { + text: lexer.match, + token: this.terminals_[symbol] || symbol, + line: lexer.yylineno, + loc: yyloc, + expected: expected + }); + } + if (action[0] instanceof Array && action.length > 1) { + throw new Error('Parse Error: multiple actions possible at state: ' + state + ', token: ' + symbol); + } + switch (action[0]) { + case 1: + stack.push(symbol); + vstack.push(lexer.yytext); + lstack.push(lexer.yylloc); + stack.push(action[1]); + symbol = null; + if (!preErrorSymbol) { + yyleng = lexer.yyleng; + yytext = lexer.yytext; + yylineno = lexer.yylineno; + yyloc = lexer.yylloc; + if (recovering > 0) { + recovering--; + } + } else { + symbol = preErrorSymbol; + preErrorSymbol = null; + } + break; + case 2: + len = this.productions_[action[1]][1]; + yyval.$ = vstack[vstack.length - len]; + yyval._$ = { + first_line: lstack[lstack.length - (len || 1)].first_line, + last_line: lstack[lstack.length - 1].last_line, + first_column: lstack[lstack.length - (len || 1)].first_column, + last_column: lstack[lstack.length - 1].last_column + }; + if (ranges) { + yyval._$.range = [ + lstack[lstack.length - (len || 1)].range[0], + lstack[lstack.length - 1].range[1] + ]; + } + r = this.performAction.apply(yyval, [ + yytext, + yyleng, + yylineno, + sharedState.yy, + action[1], + vstack, + lstack + ].concat(args)); + if (typeof r !== 'undefined') { + return r; + } + if (len) { + stack = stack.slice(0, -1 * len * 2); + vstack = vstack.slice(0, -1 * len); + lstack = lstack.slice(0, -1 * len); + } + stack.push(this.productions_[action[1]][0]); + vstack.push(yyval.$); + lstack.push(yyval._$); + newState = table[stack[stack.length - 2]][stack[stack.length - 1]]; + stack.push(newState); + break; + case 3: + return true; + } + } + return true; +}}; + +/* generated by jison-lex 0.3.4 */ +var lexer = (function(){ +var lexer = ({ + +EOF:1, + +parseError:function parseError(str, hash) { + if (this.yy.parser) { + this.yy.parser.parseError(str, hash); + } else { + throw new Error(str); + } + }, + +// resets the lexer, sets new input +setInput:function (input, yy) { + this.yy = yy || this.yy || {}; + this._input = input; + this._more = this._backtrack = this.done = false; + this.yylineno = this.yyleng = 0; + this.yytext = this.matched = this.match = ''; + this.conditionStack = ['INITIAL']; + this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0 + }; + if (this.options.ranges) { + this.yylloc.range = [0,0]; + } + this.offset = 0; + return this; + }, + +// consumes and returns one char from the input +input:function () { + var ch = this._input[0]; + this.yytext += ch; + this.yyleng++; + this.offset++; + this.match += ch; + this.matched += ch; + var lines = ch.match(/(?:\r\n?|\n).*/g); + if (lines) { + this.yylineno++; + this.yylloc.last_line++; + } else { + this.yylloc.last_column++; + } + if (this.options.ranges) { + this.yylloc.range[1]++; + } + + this._input = this._input.slice(1); + return ch; + }, + +// unshifts one char (or a string) into the input +unput:function (ch) { + var len = ch.length; + var lines = ch.split(/(?:\r\n?|\n)/g); + + this._input = ch + this._input; + this.yytext = this.yytext.substr(0, this.yytext.length - len); + //this.yyleng -= len; + this.offset -= len; + var oldLines = this.match.split(/(?:\r\n?|\n)/g); + this.match = this.match.substr(0, this.match.length - 1); + this.matched = this.matched.substr(0, this.matched.length - 1); + + if (lines.length - 1) { + this.yylineno -= lines.length - 1; + } + var r = this.yylloc.range; + + this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: lines ? + (lines.length === oldLines.length ? this.yylloc.first_column : 0) + + oldLines[oldLines.length - lines.length].length - lines[0].length : + this.yylloc.first_column - len + }; + + if (this.options.ranges) { + this.yylloc.range = [r[0], r[0] + this.yyleng - len]; + } + this.yyleng = this.yytext.length; + return this; + }, + +// When called from action, caches matched text and appends it on next action +more:function () { + this._more = true; + return this; + }, + +// When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead. +reject:function () { + if (this.options.backtrack_lexer) { + this._backtrack = true; + } else { + return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n' + this.showPosition(), { + text: "", + token: null, + line: this.yylineno + }); + + } + return this; + }, + +// retain first n characters of the match +less:function (n) { + this.unput(this.match.slice(n)); + }, + +// displays already matched input, i.e. for error messages +pastInput:function () { + var past = this.matched.substr(0, this.matched.length - this.match.length); + return (past.length > 20 ? '...':'') + past.substr(-20).replace(/\n/g, ""); + }, + +// displays upcoming input, i.e. for error messages +upcomingInput:function () { + var next = this.match; + if (next.length < 20) { + next += this._input.substr(0, 20-next.length); + } + return (next.substr(0,20) + (next.length > 20 ? '...' : '')).replace(/\n/g, ""); + }, + +// displays the character position where the lexing error occurred, i.e. for error messages +showPosition:function () { + var pre = this.pastInput(); + var c = new Array(pre.length + 1).join("-"); + return pre + this.upcomingInput() + "\n" + c + "^"; + }, + +// test the lexed token: return FALSE when not a match, otherwise return token +test_match:function(match, indexed_rule) { + var token, + lines, + backup; + + if (this.options.backtrack_lexer) { + // save context + backup = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done + }; + if (this.options.ranges) { + backup.yylloc.range = this.yylloc.range.slice(0); + } + } + + lines = match[0].match(/(?:\r\n?|\n).*/g); + if (lines) { + this.yylineno += lines.length; + } + this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: lines ? + lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length : + this.yylloc.last_column + match[0].length + }; + this.yytext += match[0]; + this.match += match[0]; + this.matches = match; + this.yyleng = this.yytext.length; + if (this.options.ranges) { + this.yylloc.range = [this.offset, this.offset += this.yyleng]; + } + this._more = false; + this._backtrack = false; + this._input = this._input.slice(match[0].length); + this.matched += match[0]; + token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]); + if (this.done && this._input) { + this.done = false; + } + if (token) { + return token; + } else if (this._backtrack) { + // recover context + for (var k in backup) { + this[k] = backup[k]; + } + return false; // rule action called reject() implying the next rule should be tested instead. + } + return false; + }, + +// return next match in input +next:function () { + if (this.done) { + return this.EOF; + } + if (!this._input) { + this.done = true; + } + + var token, + match, + tempMatch, + index; + if (!this._more) { + this.yytext = ''; + this.match = ''; + } + var rules = this._currentRules(); + for (var i = 0; i < rules.length; i++) { + tempMatch = this._input.match(this.rules[rules[i]]); + if (tempMatch && (!match || tempMatch[0].length > match[0].length)) { + match = tempMatch; + index = i; + if (this.options.backtrack_lexer) { + token = this.test_match(tempMatch, rules[i]); + if (token !== false) { + return token; + } else if (this._backtrack) { + match = false; + continue; // rule action called reject() implying a rule MISmatch. + } else { + // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) + return false; + } + } else if (!this.options.flex) { + break; + } + } + } + if (match) { + token = this.test_match(match, rules[index]); + if (token !== false) { + return token; + } + // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) + return false; + } + if (this._input === "") { + return this.EOF; + } else { + return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\n' + this.showPosition(), { + text: "", + token: null, + line: this.yylineno + }); + } + }, + +// return next match that has a token +lex:function lex () { + var r = this.next(); + if (r) { + return r; + } else { + return this.lex(); + } + }, + +// activates a new lexer condition state (pushes the new lexer condition state onto the condition stack) +begin:function begin (condition) { + this.conditionStack.push(condition); + }, + +// pop the previously active lexer condition state off the condition stack +popState:function popState () { + var n = this.conditionStack.length - 1; + if (n > 0) { + return this.conditionStack.pop(); + } else { + return this.conditionStack[0]; + } + }, + +// produce the lexer rule set which is active for the currently active lexer condition state +_currentRules:function _currentRules () { + if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) { + return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules; + } else { + return this.conditions["INITIAL"].rules; + } + }, + +// return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available +topState:function topState (n) { + n = this.conditionStack.length - 1 - Math.abs(n || 0); + if (n >= 0) { + return this.conditionStack[n]; + } else { + return "INITIAL"; + } + }, + +// alias for begin(condition) +pushState:function pushState (condition) { + this.begin(condition); + }, + +// return the number of states currently on the stack +stateStackSize:function stateStackSize() { + return this.conditionStack.length; + }, +options: {"case-insensitive":true}, +performAction: function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) { +var YYSTATE=YY_START; +switch($avoiding_name_collisions) { +case 0: this.begin('open_directive'); return 23; +break; +case 1: this.begin('type_directive'); return 24; +break; +case 2: this.popState(); this.begin('arg_directive'); return 18; +break; +case 3: this.popState(); this.popState(); return 26; +break; +case 4:return 25; +break; +case 5:/* skip comments */ +break; +case 6:/* skip comments */{ /*console.log('');*/ } +break; +case 7:return 20; +break; +case 8:/* do nothing */ +break; +case 9:/* ignore */ +break; +case 10: this.begin("title");return 13; +break; +case 11: this.popState(); return "title_value"; +break; +case 12: this.begin("string"); +break; +case 13: this.popState(); +break; +case 14: return "txt"; +break; +case 15:return 6; +break; +case 16:return 8; +break; +case 17:return "value"; +break; +case 18:return 22; +break; +} +}, +rules: [/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:[\s]+)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:pie\b)/i,/^(?:showData\b)/i,/^(?::[\s]*[\d]+(?:\.[\d]+)?)/i,/^(?:$)/i], +conditions: {"close_directive":{"rules":[],"inclusive":false},"arg_directive":{"rules":[3,4],"inclusive":false},"type_directive":{"rules":[2,3],"inclusive":false},"open_directive":{"rules":[1],"inclusive":false},"title":{"rules":[11],"inclusive":false},"string":{"rules":[13,14],"inclusive":false},"INITIAL":{"rules":[0,5,6,7,8,9,10,12,15,16,17,18],"inclusive":true}} +}); +return lexer; +})(); +parser.lexer = lexer; +function Parser () { + this.yy = {}; +} +Parser.prototype = parser;parser.Parser = Parser; +return new Parser; +})(); + + +if (true) { +exports.parser = parser; +exports.Parser = parser.Parser; +exports.parse = function () { return parser.parse.apply(parser, arguments); }; +exports.main = function commonjsMain (args) { + if (!args[1]) { + console.log('Usage: '+args[0]+' FILE'); + process.exit(1); + } + var source = __webpack_require__(/*! fs */ "?a3fa").readFileSync(__webpack_require__(/*! path */ "./node_modules/path-browserify/index.js").normalize(args[1]), "utf8"); + return exports.parser.parse(source); +}; +if ( true && __webpack_require__.c[__webpack_require__.s] === module) { + exports.main(process.argv.slice(1)); +} +} + +/***/ }), + +/***/ "./src/diagrams/requirement/parser/requirementDiagram.jison": +/*!******************************************************************!*\ + !*** ./src/diagrams/requirement/parser/requirementDiagram.jison ***! + \******************************************************************/ +/***/ ((module, exports, __webpack_require__) => { + +/* module decorator */ module = __webpack_require__.nmd(module); +/* parser generated by jison 0.4.18 */ +/* + Returns a Parser object of the following structure: + + Parser: { + yy: {} + } + + Parser.prototype: { + yy: {}, + trace: function(), + symbols_: {associative list: name ==> number}, + terminals_: {associative list: number ==> name}, + productions_: [...], + performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$), + table: [...], + defaultActions: {...}, + parseError: function(str, hash), + parse: function(input), + + lexer: { + EOF: 1, + parseError: function(str, hash), + setInput: function(input), + input: function(), + unput: function(str), + more: function(), + less: function(n), + pastInput: function(), + upcomingInput: function(), + showPosition: function(), + test_match: function(regex_match_array, rule_index), + next: function(), + lex: function(), + begin: function(condition), + popState: function(), + _currentRules: function(), + topState: function(), + pushState: function(condition), + + options: { + ranges: boolean (optional: true ==> token location info will include a .range[] member) + flex: boolean (optional: true ==> flex-like lexing behaviour where the rules are tested exhaustively to find the longest match) + backtrack_lexer: boolean (optional: true ==> lexer regexes are tested in order and for each matching regex the action code is invoked; the lexer terminates the scan when a token is returned by the action code) + }, + + performAction: function(yy, yy_, $avoiding_name_collisions, YY_START), + rules: [...], + conditions: {associative list: name ==> set}, + } + } + + + token location info (@$, _$, etc.): { + first_line: n, + last_line: n, + first_column: n, + last_column: n, + range: [start_number, end_number] (where the numbers are indexes into the input string, regular zero-based) + } + + + the parseError function receives a 'hash' object with these members for lexer and parser errors: { + text: (matched text) + token: (the produced terminal token, if any) + line: (yylineno) + } + while parser (grammar) errors will also provide these members, i.e. parser errors deliver a superset of attributes: { + loc: (yylloc) + expected: (string describing the set of expected tokens) + recoverable: (boolean: TRUE when the parser has a error recovery rule available for this particular error) + } +*/ +var parser = (function(){ +var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,3],$V1=[1,5],$V2=[1,17],$V3=[2,10],$V4=[1,21],$V5=[1,22],$V6=[1,23],$V7=[1,24],$V8=[1,25],$V9=[1,26],$Va=[1,19],$Vb=[1,27],$Vc=[1,28],$Vd=[1,31],$Ve=[66,67],$Vf=[5,8,14,35,36,37,38,39,40,48,55,57,66,67],$Vg=[5,6,8,14,35,36,37,38,39,40,48,66,67],$Vh=[1,51],$Vi=[1,52],$Vj=[1,53],$Vk=[1,54],$Vl=[1,55],$Vm=[1,56],$Vn=[1,57],$Vo=[57,58],$Vp=[1,69],$Vq=[1,65],$Vr=[1,66],$Vs=[1,67],$Vt=[1,68],$Vu=[1,70],$Vv=[1,74],$Vw=[1,75],$Vx=[1,72],$Vy=[1,73],$Vz=[5,8,14,35,36,37,38,39,40,48,66,67]; +var parser = {trace: function trace () { }, +yy: {}, +symbols_: {"error":2,"start":3,"directive":4,"NEWLINE":5,"RD":6,"diagram":7,"EOF":8,"openDirective":9,"typeDirective":10,"closeDirective":11,":":12,"argDirective":13,"open_directive":14,"type_directive":15,"arg_directive":16,"close_directive":17,"requirementDef":18,"elementDef":19,"relationshipDef":20,"requirementType":21,"requirementName":22,"STRUCT_START":23,"requirementBody":24,"ID":25,"COLONSEP":26,"id":27,"TEXT":28,"text":29,"RISK":30,"riskLevel":31,"VERIFYMTHD":32,"verifyType":33,"STRUCT_STOP":34,"REQUIREMENT":35,"FUNCTIONAL_REQUIREMENT":36,"INTERFACE_REQUIREMENT":37,"PERFORMANCE_REQUIREMENT":38,"PHYSICAL_REQUIREMENT":39,"DESIGN_CONSTRAINT":40,"LOW_RISK":41,"MED_RISK":42,"HIGH_RISK":43,"VERIFY_ANALYSIS":44,"VERIFY_DEMONSTRATION":45,"VERIFY_INSPECTION":46,"VERIFY_TEST":47,"ELEMENT":48,"elementName":49,"elementBody":50,"TYPE":51,"type":52,"DOCREF":53,"ref":54,"END_ARROW_L":55,"relationship":56,"LINE":57,"END_ARROW_R":58,"CONTAINS":59,"COPIES":60,"DERIVES":61,"SATISFIES":62,"VERIFIES":63,"REFINES":64,"TRACES":65,"unqString":66,"qString":67,"$accept":0,"$end":1}, +terminals_: {2:"error",5:"NEWLINE",6:"RD",8:"EOF",12:":",14:"open_directive",15:"type_directive",16:"arg_directive",17:"close_directive",23:"STRUCT_START",25:"ID",26:"COLONSEP",28:"TEXT",30:"RISK",32:"VERIFYMTHD",34:"STRUCT_STOP",35:"REQUIREMENT",36:"FUNCTIONAL_REQUIREMENT",37:"INTERFACE_REQUIREMENT",38:"PERFORMANCE_REQUIREMENT",39:"PHYSICAL_REQUIREMENT",40:"DESIGN_CONSTRAINT",41:"LOW_RISK",42:"MED_RISK",43:"HIGH_RISK",44:"VERIFY_ANALYSIS",45:"VERIFY_DEMONSTRATION",46:"VERIFY_INSPECTION",47:"VERIFY_TEST",48:"ELEMENT",51:"TYPE",53:"DOCREF",55:"END_ARROW_L",57:"LINE",58:"END_ARROW_R",59:"CONTAINS",60:"COPIES",61:"DERIVES",62:"SATISFIES",63:"VERIFIES",64:"REFINES",65:"TRACES",66:"unqString",67:"qString"}, +productions_: [0,[3,3],[3,2],[3,4],[4,3],[4,5],[9,1],[10,1],[13,1],[11,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[18,5],[24,5],[24,5],[24,5],[24,5],[24,2],[24,1],[21,1],[21,1],[21,1],[21,1],[21,1],[21,1],[31,1],[31,1],[31,1],[33,1],[33,1],[33,1],[33,1],[19,5],[50,5],[50,5],[50,2],[50,1],[20,5],[20,5],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[22,1],[22,1],[27,1],[27,1],[29,1],[29,1],[49,1],[49,1],[52,1],[52,1],[54,1],[54,1]], +performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) { +/* this == yyval */ + +var $0 = $$.length - 1; +switch (yystate) { +case 6: + yy.parseDirective('%%{', 'open_directive'); +break; +case 7: + yy.parseDirective($$[$0], 'type_directive'); +break; +case 8: + $$[$0] = $$[$0].trim().replace(/'/g, '"'); yy.parseDirective($$[$0], 'arg_directive'); +break; +case 9: + yy.parseDirective('}%%', 'close_directive', 'pie'); +break; +case 10: + this.$ = [] +break; +case 16: + yy.addRequirement($$[$0-3], $$[$0-4]) +break; +case 17: + yy.setNewReqId($$[$0-2]); +break; +case 18: + yy.setNewReqText($$[$0-2]); +break; +case 19: + yy.setNewReqRisk($$[$0-2]); +break; +case 20: + yy.setNewReqVerifyMethod($$[$0-2]); +break; +case 23: + this.$=yy.RequirementType.REQUIREMENT; +break; +case 24: + this.$=yy.RequirementType.FUNCTIONAL_REQUIREMENT; +break; +case 25: + this.$=yy.RequirementType.INTERFACE_REQUIREMENT; +break; +case 26: + this.$=yy.RequirementType.PERFORMANCE_REQUIREMENT; +break; +case 27: + this.$=yy.RequirementType.PHYSICAL_REQUIREMENT; +break; +case 28: + this.$=yy.RequirementType.DESIGN_CONSTRAINT; +break; +case 29: + this.$=yy.RiskLevel.LOW_RISK; +break; +case 30: + this.$=yy.RiskLevel.MED_RISK; +break; +case 31: + this.$=yy.RiskLevel.HIGH_RISK; +break; +case 32: + this.$=yy.VerifyType.VERIFY_ANALYSIS; +break; +case 33: + this.$=yy.VerifyType.VERIFY_DEMONSTRATION; +break; +case 34: + this.$=yy.VerifyType.VERIFY_INSPECTION; +break; +case 35: + this.$=yy.VerifyType.VERIFY_TEST; +break; +case 36: + yy.addElement($$[$0-3]) +break; +case 37: + yy.setNewElementType($$[$0-2]); +break; +case 38: + yy.setNewElementDocRef($$[$0-2]); +break; +case 41: + yy.addRelationship($$[$0-2], $$[$0], $$[$0-4]) +break; +case 42: + yy.addRelationship($$[$0-2], $$[$0-4], $$[$0]) +break; +case 43: + this.$=yy.Relationships.CONTAINS; +break; +case 44: + this.$=yy.Relationships.COPIES; +break; +case 45: + this.$=yy.Relationships.DERIVES; +break; +case 46: + this.$=yy.Relationships.SATISFIES; +break; +case 47: + this.$=yy.Relationships.VERIFIES; +break; +case 48: + this.$=yy.Relationships.REFINES; +break; +case 49: + this.$=yy.Relationships.TRACES; +break; +} +}, +table: [{3:1,4:2,6:$V0,9:4,14:$V1},{1:[3]},{3:7,4:2,5:[1,6],6:$V0,9:4,14:$V1},{5:[1,8]},{10:9,15:[1,10]},{15:[2,6]},{3:11,4:2,6:$V0,9:4,14:$V1},{1:[2,2]},{4:16,5:$V2,7:12,8:$V3,9:4,14:$V1,18:13,19:14,20:15,21:18,27:20,35:$V4,36:$V5,37:$V6,38:$V7,39:$V8,40:$V9,48:$Va,66:$Vb,67:$Vc},{11:29,12:[1,30],17:$Vd},o([12,17],[2,7]),{1:[2,1]},{8:[1,32]},{4:16,5:$V2,7:33,8:$V3,9:4,14:$V1,18:13,19:14,20:15,21:18,27:20,35:$V4,36:$V5,37:$V6,38:$V7,39:$V8,40:$V9,48:$Va,66:$Vb,67:$Vc},{4:16,5:$V2,7:34,8:$V3,9:4,14:$V1,18:13,19:14,20:15,21:18,27:20,35:$V4,36:$V5,37:$V6,38:$V7,39:$V8,40:$V9,48:$Va,66:$Vb,67:$Vc},{4:16,5:$V2,7:35,8:$V3,9:4,14:$V1,18:13,19:14,20:15,21:18,27:20,35:$V4,36:$V5,37:$V6,38:$V7,39:$V8,40:$V9,48:$Va,66:$Vb,67:$Vc},{4:16,5:$V2,7:36,8:$V3,9:4,14:$V1,18:13,19:14,20:15,21:18,27:20,35:$V4,36:$V5,37:$V6,38:$V7,39:$V8,40:$V9,48:$Va,66:$Vb,67:$Vc},{4:16,5:$V2,7:37,8:$V3,9:4,14:$V1,18:13,19:14,20:15,21:18,27:20,35:$V4,36:$V5,37:$V6,38:$V7,39:$V8,40:$V9,48:$Va,66:$Vb,67:$Vc},{22:38,66:[1,39],67:[1,40]},{49:41,66:[1,42],67:[1,43]},{55:[1,44],57:[1,45]},o($Ve,[2,23]),o($Ve,[2,24]),o($Ve,[2,25]),o($Ve,[2,26]),o($Ve,[2,27]),o($Ve,[2,28]),o($Vf,[2,52]),o($Vf,[2,53]),o($Vg,[2,4]),{13:46,16:[1,47]},o($Vg,[2,9]),{1:[2,3]},{8:[2,11]},{8:[2,12]},{8:[2,13]},{8:[2,14]},{8:[2,15]},{23:[1,48]},{23:[2,50]},{23:[2,51]},{23:[1,49]},{23:[2,56]},{23:[2,57]},{56:50,59:$Vh,60:$Vi,61:$Vj,62:$Vk,63:$Vl,64:$Vm,65:$Vn},{56:58,59:$Vh,60:$Vi,61:$Vj,62:$Vk,63:$Vl,64:$Vm,65:$Vn},{11:59,17:$Vd},{17:[2,8]},{5:[1,60]},{5:[1,61]},{57:[1,62]},o($Vo,[2,43]),o($Vo,[2,44]),o($Vo,[2,45]),o($Vo,[2,46]),o($Vo,[2,47]),o($Vo,[2,48]),o($Vo,[2,49]),{58:[1,63]},o($Vg,[2,5]),{5:$Vp,24:64,25:$Vq,28:$Vr,30:$Vs,32:$Vt,34:$Vu},{5:$Vv,34:$Vw,50:71,51:$Vx,53:$Vy},{27:76,66:$Vb,67:$Vc},{27:77,66:$Vb,67:$Vc},o($Vz,[2,16]),{26:[1,78]},{26:[1,79]},{26:[1,80]},{26:[1,81]},{5:$Vp,24:82,25:$Vq,28:$Vr,30:$Vs,32:$Vt,34:$Vu},o($Vz,[2,22]),o($Vz,[2,36]),{26:[1,83]},{26:[1,84]},{5:$Vv,34:$Vw,50:85,51:$Vx,53:$Vy},o($Vz,[2,40]),o($Vz,[2,41]),o($Vz,[2,42]),{27:86,66:$Vb,67:$Vc},{29:87,66:[1,88],67:[1,89]},{31:90,41:[1,91],42:[1,92],43:[1,93]},{33:94,44:[1,95],45:[1,96],46:[1,97],47:[1,98]},o($Vz,[2,21]),{52:99,66:[1,100],67:[1,101]},{54:102,66:[1,103],67:[1,104]},o($Vz,[2,39]),{5:[1,105]},{5:[1,106]},{5:[2,54]},{5:[2,55]},{5:[1,107]},{5:[2,29]},{5:[2,30]},{5:[2,31]},{5:[1,108]},{5:[2,32]},{5:[2,33]},{5:[2,34]},{5:[2,35]},{5:[1,109]},{5:[2,58]},{5:[2,59]},{5:[1,110]},{5:[2,60]},{5:[2,61]},{5:$Vp,24:111,25:$Vq,28:$Vr,30:$Vs,32:$Vt,34:$Vu},{5:$Vp,24:112,25:$Vq,28:$Vr,30:$Vs,32:$Vt,34:$Vu},{5:$Vp,24:113,25:$Vq,28:$Vr,30:$Vs,32:$Vt,34:$Vu},{5:$Vp,24:114,25:$Vq,28:$Vr,30:$Vs,32:$Vt,34:$Vu},{5:$Vv,34:$Vw,50:115,51:$Vx,53:$Vy},{5:$Vv,34:$Vw,50:116,51:$Vx,53:$Vy},o($Vz,[2,17]),o($Vz,[2,18]),o($Vz,[2,19]),o($Vz,[2,20]),o($Vz,[2,37]),o($Vz,[2,38])], +defaultActions: {5:[2,6],7:[2,2],11:[2,1],32:[2,3],33:[2,11],34:[2,12],35:[2,13],36:[2,14],37:[2,15],39:[2,50],40:[2,51],42:[2,56],43:[2,57],47:[2,8],88:[2,54],89:[2,55],91:[2,29],92:[2,30],93:[2,31],95:[2,32],96:[2,33],97:[2,34],98:[2,35],100:[2,58],101:[2,59],103:[2,60],104:[2,61]}, +parseError: function parseError (str, hash) { + if (hash.recoverable) { + this.trace(str); + } else { + var error = new Error(str); + error.hash = hash; + throw error; + } +}, +parse: function parse(input) { + var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = '', yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1; + var args = lstack.slice.call(arguments, 1); + var lexer = Object.create(this.lexer); + var sharedState = { yy: {} }; + for (var k in this.yy) { + if (Object.prototype.hasOwnProperty.call(this.yy, k)) { + sharedState.yy[k] = this.yy[k]; + } + } + lexer.setInput(input, sharedState.yy); + sharedState.yy.lexer = lexer; + sharedState.yy.parser = this; + if (typeof lexer.yylloc == 'undefined') { + lexer.yylloc = {}; + } + var yyloc = lexer.yylloc; + lstack.push(yyloc); + var ranges = lexer.options && lexer.options.ranges; + if (typeof sharedState.yy.parseError === 'function') { + this.parseError = sharedState.yy.parseError; + } else { + this.parseError = Object.getPrototypeOf(this).parseError; + } + function popStack(n) { + stack.length = stack.length - 2 * n; + vstack.length = vstack.length - n; + lstack.length = lstack.length - n; + } + function lex() { + var token; + token = tstack.pop() || lexer.lex() || EOF; + if (typeof token !== 'number') { + if (token instanceof Array) { + tstack = token; + token = tstack.pop(); + } + token = self.symbols_[token] || token; + } + return token; + } + var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected; + while (true) { + state = stack[stack.length - 1]; + if (this.defaultActions[state]) { + action = this.defaultActions[state]; + } else { + if (symbol === null || typeof symbol == 'undefined') { + symbol = lex(); + } + action = table[state] && table[state][symbol]; + } + if (typeof action === 'undefined' || !action.length || !action[0]) { + var errStr = ''; + expected = []; + for (p in table[state]) { + if (this.terminals_[p] && p > TERROR) { + expected.push('\'' + this.terminals_[p] + '\''); + } + } + if (lexer.showPosition) { + errStr = 'Parse error on line ' + (yylineno + 1) + ':\n' + lexer.showPosition() + '\nExpecting ' + expected.join(', ') + ', got \'' + (this.terminals_[symbol] || symbol) + '\''; + } else { + errStr = 'Parse error on line ' + (yylineno + 1) + ': Unexpected ' + (symbol == EOF ? 'end of input' : '\'' + (this.terminals_[symbol] || symbol) + '\''); + } + this.parseError(errStr, { + text: lexer.match, + token: this.terminals_[symbol] || symbol, + line: lexer.yylineno, + loc: yyloc, + expected: expected + }); + } + if (action[0] instanceof Array && action.length > 1) { + throw new Error('Parse Error: multiple actions possible at state: ' + state + ', token: ' + symbol); + } + switch (action[0]) { + case 1: + stack.push(symbol); + vstack.push(lexer.yytext); + lstack.push(lexer.yylloc); + stack.push(action[1]); + symbol = null; + if (!preErrorSymbol) { + yyleng = lexer.yyleng; + yytext = lexer.yytext; + yylineno = lexer.yylineno; + yyloc = lexer.yylloc; + if (recovering > 0) { + recovering--; + } + } else { + symbol = preErrorSymbol; + preErrorSymbol = null; + } + break; + case 2: + len = this.productions_[action[1]][1]; + yyval.$ = vstack[vstack.length - len]; + yyval._$ = { + first_line: lstack[lstack.length - (len || 1)].first_line, + last_line: lstack[lstack.length - 1].last_line, + first_column: lstack[lstack.length - (len || 1)].first_column, + last_column: lstack[lstack.length - 1].last_column + }; + if (ranges) { + yyval._$.range = [ + lstack[lstack.length - (len || 1)].range[0], + lstack[lstack.length - 1].range[1] + ]; + } + r = this.performAction.apply(yyval, [ + yytext, + yyleng, + yylineno, + sharedState.yy, + action[1], + vstack, + lstack + ].concat(args)); + if (typeof r !== 'undefined') { + return r; + } + if (len) { + stack = stack.slice(0, -1 * len * 2); + vstack = vstack.slice(0, -1 * len); + lstack = lstack.slice(0, -1 * len); + } + stack.push(this.productions_[action[1]][0]); + vstack.push(yyval.$); + lstack.push(yyval._$); + newState = table[stack[stack.length - 2]][stack[stack.length - 1]]; + stack.push(newState); + break; + case 3: + return true; + } + } + return true; +}}; + +/* generated by jison-lex 0.3.4 */ +var lexer = (function(){ +var lexer = ({ + +EOF:1, + +parseError:function parseError(str, hash) { + if (this.yy.parser) { + this.yy.parser.parseError(str, hash); + } else { + throw new Error(str); + } + }, + +// resets the lexer, sets new input +setInput:function (input, yy) { + this.yy = yy || this.yy || {}; + this._input = input; + this._more = this._backtrack = this.done = false; + this.yylineno = this.yyleng = 0; + this.yytext = this.matched = this.match = ''; + this.conditionStack = ['INITIAL']; + this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0 + }; + if (this.options.ranges) { + this.yylloc.range = [0,0]; + } + this.offset = 0; + return this; + }, + +// consumes and returns one char from the input +input:function () { + var ch = this._input[0]; + this.yytext += ch; + this.yyleng++; + this.offset++; + this.match += ch; + this.matched += ch; + var lines = ch.match(/(?:\r\n?|\n).*/g); + if (lines) { + this.yylineno++; + this.yylloc.last_line++; + } else { + this.yylloc.last_column++; + } + if (this.options.ranges) { + this.yylloc.range[1]++; + } + + this._input = this._input.slice(1); + return ch; + }, + +// unshifts one char (or a string) into the input +unput:function (ch) { + var len = ch.length; + var lines = ch.split(/(?:\r\n?|\n)/g); + + this._input = ch + this._input; + this.yytext = this.yytext.substr(0, this.yytext.length - len); + //this.yyleng -= len; + this.offset -= len; + var oldLines = this.match.split(/(?:\r\n?|\n)/g); + this.match = this.match.substr(0, this.match.length - 1); + this.matched = this.matched.substr(0, this.matched.length - 1); + + if (lines.length - 1) { + this.yylineno -= lines.length - 1; + } + var r = this.yylloc.range; + + this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: lines ? + (lines.length === oldLines.length ? this.yylloc.first_column : 0) + + oldLines[oldLines.length - lines.length].length - lines[0].length : + this.yylloc.first_column - len + }; + + if (this.options.ranges) { + this.yylloc.range = [r[0], r[0] + this.yyleng - len]; + } + this.yyleng = this.yytext.length; + return this; + }, + +// When called from action, caches matched text and appends it on next action +more:function () { + this._more = true; + return this; + }, + +// When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead. +reject:function () { + if (this.options.backtrack_lexer) { + this._backtrack = true; + } else { + return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n' + this.showPosition(), { + text: "", + token: null, + line: this.yylineno + }); + + } + return this; + }, + +// retain first n characters of the match +less:function (n) { + this.unput(this.match.slice(n)); + }, + +// displays already matched input, i.e. for error messages +pastInput:function () { + var past = this.matched.substr(0, this.matched.length - this.match.length); + return (past.length > 20 ? '...':'') + past.substr(-20).replace(/\n/g, ""); + }, + +// displays upcoming input, i.e. for error messages +upcomingInput:function () { + var next = this.match; + if (next.length < 20) { + next += this._input.substr(0, 20-next.length); + } + return (next.substr(0,20) + (next.length > 20 ? '...' : '')).replace(/\n/g, ""); + }, + +// displays the character position where the lexing error occurred, i.e. for error messages +showPosition:function () { + var pre = this.pastInput(); + var c = new Array(pre.length + 1).join("-"); + return pre + this.upcomingInput() + "\n" + c + "^"; + }, + +// test the lexed token: return FALSE when not a match, otherwise return token +test_match:function(match, indexed_rule) { + var token, + lines, + backup; + + if (this.options.backtrack_lexer) { + // save context + backup = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done + }; + if (this.options.ranges) { + backup.yylloc.range = this.yylloc.range.slice(0); + } + } + + lines = match[0].match(/(?:\r\n?|\n).*/g); + if (lines) { + this.yylineno += lines.length; + } + this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: lines ? + lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length : + this.yylloc.last_column + match[0].length + }; + this.yytext += match[0]; + this.match += match[0]; + this.matches = match; + this.yyleng = this.yytext.length; + if (this.options.ranges) { + this.yylloc.range = [this.offset, this.offset += this.yyleng]; + } + this._more = false; + this._backtrack = false; + this._input = this._input.slice(match[0].length); + this.matched += match[0]; + token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]); + if (this.done && this._input) { + this.done = false; + } + if (token) { + return token; + } else if (this._backtrack) { + // recover context + for (var k in backup) { + this[k] = backup[k]; + } + return false; // rule action called reject() implying the next rule should be tested instead. + } + return false; + }, + +// return next match in input +next:function () { + if (this.done) { + return this.EOF; + } + if (!this._input) { + this.done = true; + } + + var token, + match, + tempMatch, + index; + if (!this._more) { + this.yytext = ''; + this.match = ''; + } + var rules = this._currentRules(); + for (var i = 0; i < rules.length; i++) { + tempMatch = this._input.match(this.rules[rules[i]]); + if (tempMatch && (!match || tempMatch[0].length > match[0].length)) { + match = tempMatch; + index = i; + if (this.options.backtrack_lexer) { + token = this.test_match(tempMatch, rules[i]); + if (token !== false) { + return token; + } else if (this._backtrack) { + match = false; + continue; // rule action called reject() implying a rule MISmatch. + } else { + // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) + return false; + } + } else if (!this.options.flex) { + break; + } + } + } + if (match) { + token = this.test_match(match, rules[index]); + if (token !== false) { + return token; + } + // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) + return false; + } + if (this._input === "") { + return this.EOF; + } else { + return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\n' + this.showPosition(), { + text: "", + token: null, + line: this.yylineno + }); + } + }, + +// return next match that has a token +lex:function lex () { + var r = this.next(); + if (r) { + return r; + } else { + return this.lex(); + } + }, + +// activates a new lexer condition state (pushes the new lexer condition state onto the condition stack) +begin:function begin (condition) { + this.conditionStack.push(condition); + }, + +// pop the previously active lexer condition state off the condition stack +popState:function popState () { + var n = this.conditionStack.length - 1; + if (n > 0) { + return this.conditionStack.pop(); + } else { + return this.conditionStack[0]; + } + }, + +// produce the lexer rule set which is active for the currently active lexer condition state +_currentRules:function _currentRules () { + if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) { + return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules; + } else { + return this.conditions["INITIAL"].rules; + } + }, + +// return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available +topState:function topState (n) { + n = this.conditionStack.length - 1 - Math.abs(n || 0); + if (n >= 0) { + return this.conditionStack[n]; + } else { + return "INITIAL"; + } + }, + +// alias for begin(condition) +pushState:function pushState (condition) { + this.begin(condition); + }, + +// return the number of states currently on the stack +stateStackSize:function stateStackSize() { + return this.conditionStack.length; + }, +options: {"case-insensitive":true}, +performAction: function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) { +var YYSTATE=YY_START; +switch($avoiding_name_collisions) { +case 0: this.begin('open_directive'); return 14; +break; +case 1: this.begin('type_directive'); return 15; +break; +case 2: this.popState(); this.begin('arg_directive'); return 12; +break; +case 3: this.popState(); this.popState(); return 17; +break; +case 4:return 16; +break; +case 5:return 5; +break; +case 6:/* skip all whitespace */ +break; +case 7:/* skip comments */ +break; +case 8:/* skip comments */ +break; +case 9:return 8; +break; +case 10:return 6; +break; +case 11:return 23; +break; +case 12:return 34; +break; +case 13:return 26; +break; +case 14:return 25; +break; +case 15:return 28; +break; +case 16:return 30; +break; +case 17:return 32; +break; +case 18:return 35; +break; +case 19:return 36; +break; +case 20:return 37; +break; +case 21:return 38; +break; +case 22:return 39; +break; +case 23:return 40; +break; +case 24:return 41; +break; +case 25:return 42; +break; +case 26:return 43; +break; +case 27:return 44; +break; +case 28:return 45; +break; +case 29:return 46; +break; +case 30:return 47; +break; +case 31:return 48; +break; +case 32:return 59; +break; +case 33:return 60; +break; +case 34:return 61; +break; +case 35:return 62; +break; +case 36:return 63; +break; +case 37:return 64; +break; +case 38:return 65; +break; +case 39:return 51; +break; +case 40:return 53; +break; +case 41:return 55; +break; +case 42:return 58; +break; +case 43:return 57; +break; +case 44: this.begin("string"); +break; +case 45: this.popState(); +break; +case 46: return "qString"; +break; +case 47: yy_.yytext = yy_.yytext.trim(); return 66; +break; +} +}, +rules: [/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:$)/i,/^(?:requirementDiagram\b)/i,/^(?:\{)/i,/^(?:\})/i,/^(?::)/i,/^(?:id\b)/i,/^(?:text\b)/i,/^(?:risk\b)/i,/^(?:verifyMethod\b)/i,/^(?:requirement\b)/i,/^(?:functionalRequirement\b)/i,/^(?:interfaceRequirement\b)/i,/^(?:performanceRequirement\b)/i,/^(?:physicalRequirement\b)/i,/^(?:designConstraint\b)/i,/^(?:low\b)/i,/^(?:medium\b)/i,/^(?:high\b)/i,/^(?:analysis\b)/i,/^(?:demonstration\b)/i,/^(?:inspection\b)/i,/^(?:test\b)/i,/^(?:element\b)/i,/^(?:contains\b)/i,/^(?:copies\b)/i,/^(?:derives\b)/i,/^(?:satisfies\b)/i,/^(?:verifies\b)/i,/^(?:refines\b)/i,/^(?:traces\b)/i,/^(?:type\b)/i,/^(?:docref\b)/i,/^(?:<-)/i,/^(?:->)/i,/^(?:-)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[\w][^\r\n\{\<\>\-\=]*)/i], +conditions: {"close_directive":{"rules":[],"inclusive":false},"arg_directive":{"rules":[3,4],"inclusive":false},"type_directive":{"rules":[2,3],"inclusive":false},"open_directive":{"rules":[1],"inclusive":false},"unqString":{"rules":[],"inclusive":false},"token":{"rules":[],"inclusive":false},"string":{"rules":[45,46],"inclusive":false},"INITIAL":{"rules":[0,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,47],"inclusive":true}} +}); +return lexer; +})(); +parser.lexer = lexer; +function Parser () { + this.yy = {}; +} +Parser.prototype = parser;parser.Parser = Parser; +return new Parser; +})(); + + +if (true) { +exports.parser = parser; +exports.Parser = parser.Parser; +exports.parse = function () { return parser.parse.apply(parser, arguments); }; +exports.main = function commonjsMain (args) { + if (!args[1]) { + console.log('Usage: '+args[0]+' FILE'); + process.exit(1); + } + var source = __webpack_require__(/*! fs */ "?ebf4").readFileSync(__webpack_require__(/*! path */ "./node_modules/path-browserify/index.js").normalize(args[1]), "utf8"); + return exports.parser.parse(source); +}; +if ( true && __webpack_require__.c[__webpack_require__.s] === module) { + exports.main(process.argv.slice(1)); +} +} + +/***/ }), + +/***/ "./src/diagrams/sequence/parser/sequenceDiagram.jison": +/*!************************************************************!*\ + !*** ./src/diagrams/sequence/parser/sequenceDiagram.jison ***! + \************************************************************/ +/***/ ((module, exports, __webpack_require__) => { + +/* module decorator */ module = __webpack_require__.nmd(module); +/* parser generated by jison 0.4.18 */ +/* + Returns a Parser object of the following structure: + + Parser: { + yy: {} + } + + Parser.prototype: { + yy: {}, + trace: function(), + symbols_: {associative list: name ==> number}, + terminals_: {associative list: number ==> name}, + productions_: [...], + performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$), + table: [...], + defaultActions: {...}, + parseError: function(str, hash), + parse: function(input), + + lexer: { + EOF: 1, + parseError: function(str, hash), + setInput: function(input), + input: function(), + unput: function(str), + more: function(), + less: function(n), + pastInput: function(), + upcomingInput: function(), + showPosition: function(), + test_match: function(regex_match_array, rule_index), + next: function(), + lex: function(), + begin: function(condition), + popState: function(), + _currentRules: function(), + topState: function(), + pushState: function(condition), + + options: { + ranges: boolean (optional: true ==> token location info will include a .range[] member) + flex: boolean (optional: true ==> flex-like lexing behaviour where the rules are tested exhaustively to find the longest match) + backtrack_lexer: boolean (optional: true ==> lexer regexes are tested in order and for each matching regex the action code is invoked; the lexer terminates the scan when a token is returned by the action code) + }, + + performAction: function(yy, yy_, $avoiding_name_collisions, YY_START), + rules: [...], + conditions: {associative list: name ==> set}, + } + } + + + token location info (@$, _$, etc.): { + first_line: n, + last_line: n, + first_column: n, + last_column: n, + range: [start_number, end_number] (where the numbers are indexes into the input string, regular zero-based) + } + + + the parseError function receives a 'hash' object with these members for lexer and parser errors: { + text: (matched text) + token: (the produced terminal token, if any) + line: (yylineno) + } + while parser (grammar) errors will also provide these members, i.e. parser errors deliver a superset of attributes: { + loc: (yylloc) + expected: (string describing the set of expected tokens) + recoverable: (boolean: TRUE when the parser has a error recovery rule available for this particular error) + } +*/ +var parser = (function(){ +var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,2],$V1=[1,3],$V2=[1,5],$V3=[1,7],$V4=[2,5],$V5=[1,15],$V6=[1,17],$V7=[1,18],$V8=[1,19],$V9=[1,21],$Va=[1,22],$Vb=[1,23],$Vc=[1,29],$Vd=[1,30],$Ve=[1,31],$Vf=[1,32],$Vg=[1,33],$Vh=[1,34],$Vi=[1,37],$Vj=[1,38],$Vk=[1,39],$Vl=[1,40],$Vm=[1,41],$Vn=[1,42],$Vo=[1,45],$Vp=[1,4,5,16,20,22,23,24,30,32,33,34,35,36,38,40,41,42,46,47,48,49,57,67],$Vq=[1,58],$Vr=[4,5,16,20,22,23,24,30,32,33,34,35,36,38,42,46,47,48,49,57,67],$Vs=[4,5,16,20,22,23,24,30,32,33,34,35,36,38,41,42,46,47,48,49,57,67],$Vt=[4,5,16,20,22,23,24,30,32,33,34,35,36,38,40,42,46,47,48,49,57,67],$Vu=[55,56,57],$Vv=[1,4,5,7,16,20,22,23,24,30,32,33,34,35,36,38,40,41,42,46,47,48,49,57,67]; +var parser = {trace: function trace () { }, +yy: {}, +symbols_: {"error":2,"start":3,"SPACE":4,"NEWLINE":5,"directive":6,"SD":7,"document":8,"line":9,"statement":10,"openDirective":11,"typeDirective":12,"closeDirective":13,":":14,"argDirective":15,"participant":16,"actor":17,"AS":18,"restOfLine":19,"participant_actor":20,"signal":21,"autonumber":22,"activate":23,"deactivate":24,"note_statement":25,"links_statement":26,"link_statement":27,"properties_statement":28,"details_statement":29,"title":30,"text2":31,"loop":32,"end":33,"rect":34,"opt":35,"alt":36,"else_sections":37,"par":38,"par_sections":39,"and":40,"else":41,"note":42,"placement":43,"over":44,"actor_pair":45,"links":46,"link":47,"properties":48,"details":49,"spaceList":50,",":51,"left_of":52,"right_of":53,"signaltype":54,"+":55,"-":56,"ACTOR":57,"SOLID_OPEN_ARROW":58,"DOTTED_OPEN_ARROW":59,"SOLID_ARROW":60,"DOTTED_ARROW":61,"SOLID_CROSS":62,"DOTTED_CROSS":63,"SOLID_POINT":64,"DOTTED_POINT":65,"TXT":66,"open_directive":67,"type_directive":68,"arg_directive":69,"close_directive":70,"$accept":0,"$end":1}, +terminals_: {2:"error",4:"SPACE",5:"NEWLINE",7:"SD",14:":",16:"participant",18:"AS",19:"restOfLine",20:"participant_actor",22:"autonumber",23:"activate",24:"deactivate",30:"title",32:"loop",33:"end",34:"rect",35:"opt",36:"alt",38:"par",40:"and",41:"else",42:"note",44:"over",46:"links",47:"link",48:"properties",49:"details",51:",",52:"left_of",53:"right_of",55:"+",56:"-",57:"ACTOR",58:"SOLID_OPEN_ARROW",59:"DOTTED_OPEN_ARROW",60:"SOLID_ARROW",61:"DOTTED_ARROW",62:"SOLID_CROSS",63:"DOTTED_CROSS",64:"SOLID_POINT",65:"DOTTED_POINT",66:"TXT",67:"open_directive",68:"type_directive",69:"arg_directive",70:"close_directive"}, +productions_: [0,[3,2],[3,2],[3,2],[3,2],[8,0],[8,2],[9,2],[9,1],[9,1],[6,4],[6,6],[10,5],[10,3],[10,5],[10,3],[10,2],[10,1],[10,3],[10,3],[10,2],[10,2],[10,2],[10,2],[10,2],[10,3],[10,4],[10,4],[10,4],[10,4],[10,4],[10,1],[39,1],[39,4],[37,1],[37,4],[25,4],[25,4],[26,3],[27,3],[28,3],[29,3],[50,2],[50,1],[45,3],[45,1],[43,1],[43,1],[21,5],[21,5],[21,4],[17,1],[54,1],[54,1],[54,1],[54,1],[54,1],[54,1],[54,1],[54,1],[31,1],[11,1],[12,1],[15,1],[13,1]], +performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) { +/* this == yyval */ + +var $0 = $$.length - 1; +switch (yystate) { +case 4: + yy.apply($$[$0]);return $$[$0]; +break; +case 5: + this.$ = [] +break; +case 6: +$$[$0-1].push($$[$0]);this.$ = $$[$0-1] +break; +case 7: case 8: + this.$ = $$[$0] +break; +case 9: + this.$=[]; +break; +case 12: +$$[$0-3].type='addParticipant';$$[$0-3].description=yy.parseMessage($$[$0-1]); this.$=$$[$0-3]; +break; +case 13: +$$[$0-1].type='addParticipant';this.$=$$[$0-1]; +break; +case 14: +$$[$0-3].type='addActor';$$[$0-3].description=yy.parseMessage($$[$0-1]); this.$=$$[$0-3]; +break; +case 15: +$$[$0-1].type='addActor'; this.$=$$[$0-1]; +break; +case 17: +yy.enableSequenceNumbers() +break; +case 18: +this.$={type: 'activeStart', signalType: yy.LINETYPE.ACTIVE_START, actor: $$[$0-1]}; +break; +case 19: +this.$={type: 'activeEnd', signalType: yy.LINETYPE.ACTIVE_END, actor: $$[$0-1]}; +break; +case 25: +this.$=[{type:'setTitle', text:$$[$0-1]}] +break; +case 26: + + $$[$0-1].unshift({type: 'loopStart', loopText:yy.parseMessage($$[$0-2]), signalType: yy.LINETYPE.LOOP_START}); + $$[$0-1].push({type: 'loopEnd', loopText:$$[$0-2], signalType: yy.LINETYPE.LOOP_END}); + this.$=$$[$0-1]; +break; +case 27: + + $$[$0-1].unshift({type: 'rectStart', color:yy.parseMessage($$[$0-2]), signalType: yy.LINETYPE.RECT_START }); + $$[$0-1].push({type: 'rectEnd', color:yy.parseMessage($$[$0-2]), signalType: yy.LINETYPE.RECT_END }); + this.$=$$[$0-1]; +break; +case 28: + + $$[$0-1].unshift({type: 'optStart', optText:yy.parseMessage($$[$0-2]), signalType: yy.LINETYPE.OPT_START}); + $$[$0-1].push({type: 'optEnd', optText:yy.parseMessage($$[$0-2]), signalType: yy.LINETYPE.OPT_END}); + this.$=$$[$0-1]; +break; +case 29: + + // Alt start + $$[$0-1].unshift({type: 'altStart', altText:yy.parseMessage($$[$0-2]), signalType: yy.LINETYPE.ALT_START}); + // Content in alt is already in $$[$0-1] + // End + $$[$0-1].push({type: 'altEnd', signalType: yy.LINETYPE.ALT_END}); + this.$=$$[$0-1]; +break; +case 30: + + // Parallel start + $$[$0-1].unshift({type: 'parStart', parText:yy.parseMessage($$[$0-2]), signalType: yy.LINETYPE.PAR_START}); + // Content in par is already in $$[$0-1] + // End + $$[$0-1].push({type: 'parEnd', signalType: yy.LINETYPE.PAR_END}); + this.$=$$[$0-1]; +break; +case 33: + this.$ = $$[$0-3].concat([{type: 'and', parText:yy.parseMessage($$[$0-1]), signalType: yy.LINETYPE.PAR_AND}, $$[$0]]); +break; +case 35: + this.$ = $$[$0-3].concat([{type: 'else', altText:yy.parseMessage($$[$0-1]), signalType: yy.LINETYPE.ALT_ELSE}, $$[$0]]); +break; +case 36: + + this.$ = [$$[$0-1], {type:'addNote', placement:$$[$0-2], actor:$$[$0-1].actor, text:$$[$0]}]; +break; +case 37: + + // Coerce actor_pair into a [to, from, ...] array + $$[$0-2] = [].concat($$[$0-1], $$[$0-1]).slice(0, 2); + $$[$0-2][0] = $$[$0-2][0].actor; + $$[$0-2][1] = $$[$0-2][1].actor; + this.$ = [$$[$0-1], {type:'addNote', placement:yy.PLACEMENT.OVER, actor:$$[$0-2].slice(0, 2), text:$$[$0]}]; +break; +case 38: + + this.$ = [$$[$0-1], {type:'addLinks', actor:$$[$0-1].actor, text:$$[$0]}]; + +break; +case 39: + + this.$ = [$$[$0-1], {type:'addALink', actor:$$[$0-1].actor, text:$$[$0]}]; + +break; +case 40: + + this.$ = [$$[$0-1], {type:'addProperties', actor:$$[$0-1].actor, text:$$[$0]}]; + +break; +case 41: + + this.$ = [$$[$0-1], {type:'addDetails', actor:$$[$0-1].actor, text:$$[$0]}]; + +break; +case 44: + this.$ = [$$[$0-2], $$[$0]]; +break; +case 45: + this.$ = $$[$0]; +break; +case 46: + this.$ = yy.PLACEMENT.LEFTOF; +break; +case 47: + this.$ = yy.PLACEMENT.RIGHTOF; +break; +case 48: + this.$ = [$$[$0-4],$$[$0-1],{type: 'addMessage', from:$$[$0-4].actor, to:$$[$0-1].actor, signalType:$$[$0-3], msg:$$[$0]}, + {type: 'activeStart', signalType: yy.LINETYPE.ACTIVE_START, actor: $$[$0-1]} + ] +break; +case 49: + this.$ = [$$[$0-4],$$[$0-1],{type: 'addMessage', from:$$[$0-4].actor, to:$$[$0-1].actor, signalType:$$[$0-3], msg:$$[$0]}, + {type: 'activeEnd', signalType: yy.LINETYPE.ACTIVE_END, actor: $$[$0-4]} + ] +break; +case 50: + this.$ = [$$[$0-3],$$[$0-1],{type: 'addMessage', from:$$[$0-3].actor, to:$$[$0-1].actor, signalType:$$[$0-2], msg:$$[$0]}] +break; +case 51: +this.$={ type: 'addParticipant', actor:$$[$0]} +break; +case 52: + this.$ = yy.LINETYPE.SOLID_OPEN; +break; +case 53: + this.$ = yy.LINETYPE.DOTTED_OPEN; +break; +case 54: + this.$ = yy.LINETYPE.SOLID; +break; +case 55: + this.$ = yy.LINETYPE.DOTTED; +break; +case 56: + this.$ = yy.LINETYPE.SOLID_CROSS; +break; +case 57: + this.$ = yy.LINETYPE.DOTTED_CROSS; +break; +case 58: + this.$ = yy.LINETYPE.SOLID_POINT; +break; +case 59: + this.$ = yy.LINETYPE.DOTTED_POINT; +break; +case 60: +this.$ = yy.parseMessage($$[$0].trim().substring(1)) +break; +case 61: + yy.parseDirective('%%{', 'open_directive'); +break; +case 62: + yy.parseDirective($$[$0], 'type_directive'); +break; +case 63: + $$[$0] = $$[$0].trim().replace(/'/g, '"'); yy.parseDirective($$[$0], 'arg_directive'); +break; +case 64: + yy.parseDirective('}%%', 'close_directive', 'sequence'); +break; +} +}, +table: [{3:1,4:$V0,5:$V1,6:4,7:$V2,11:6,67:$V3},{1:[3]},{3:8,4:$V0,5:$V1,6:4,7:$V2,11:6,67:$V3},{3:9,4:$V0,5:$V1,6:4,7:$V2,11:6,67:$V3},{3:10,4:$V0,5:$V1,6:4,7:$V2,11:6,67:$V3},o([1,4,5,16,20,22,23,24,30,32,34,35,36,38,42,46,47,48,49,57,67],$V4,{8:11}),{12:12,68:[1,13]},{68:[2,61]},{1:[2,1]},{1:[2,2]},{1:[2,3]},{1:[2,4],4:$V5,5:$V6,6:35,9:14,10:16,11:6,16:$V7,17:36,20:$V8,21:20,22:$V9,23:$Va,24:$Vb,25:24,26:25,27:26,28:27,29:28,30:$Vc,32:$Vd,34:$Ve,35:$Vf,36:$Vg,38:$Vh,42:$Vi,46:$Vj,47:$Vk,48:$Vl,49:$Vm,57:$Vn,67:$V3},{13:43,14:[1,44],70:$Vo},o([14,70],[2,62]),o($Vp,[2,6]),{6:35,10:46,11:6,16:$V7,17:36,20:$V8,21:20,22:$V9,23:$Va,24:$Vb,25:24,26:25,27:26,28:27,29:28,30:$Vc,32:$Vd,34:$Ve,35:$Vf,36:$Vg,38:$Vh,42:$Vi,46:$Vj,47:$Vk,48:$Vl,49:$Vm,57:$Vn,67:$V3},o($Vp,[2,8]),o($Vp,[2,9]),{17:47,57:$Vn},{17:48,57:$Vn},{5:[1,49]},o($Vp,[2,17]),{17:50,57:$Vn},{17:51,57:$Vn},{5:[1,52]},{5:[1,53]},{5:[1,54]},{5:[1,55]},{5:[1,56]},{31:57,66:$Vq},{19:[1,59]},{19:[1,60]},{19:[1,61]},{19:[1,62]},{19:[1,63]},o($Vp,[2,31]),{54:64,58:[1,65],59:[1,66],60:[1,67],61:[1,68],62:[1,69],63:[1,70],64:[1,71],65:[1,72]},{43:73,44:[1,74],52:[1,75],53:[1,76]},{17:77,57:$Vn},{17:78,57:$Vn},{17:79,57:$Vn},{17:80,57:$Vn},o([5,18,51,58,59,60,61,62,63,64,65,66],[2,51]),{5:[1,81]},{15:82,69:[1,83]},{5:[2,64]},o($Vp,[2,7]),{5:[1,85],18:[1,84]},{5:[1,87],18:[1,86]},o($Vp,[2,16]),{5:[1,88]},{5:[1,89]},o($Vp,[2,20]),o($Vp,[2,21]),o($Vp,[2,22]),o($Vp,[2,23]),o($Vp,[2,24]),{5:[1,90]},{5:[2,60]},o($Vr,$V4,{8:91}),o($Vr,$V4,{8:92}),o($Vr,$V4,{8:93}),o($Vs,$V4,{37:94,8:95}),o($Vt,$V4,{39:96,8:97}),{17:100,55:[1,98],56:[1,99],57:$Vn},o($Vu,[2,52]),o($Vu,[2,53]),o($Vu,[2,54]),o($Vu,[2,55]),o($Vu,[2,56]),o($Vu,[2,57]),o($Vu,[2,58]),o($Vu,[2,59]),{17:101,57:$Vn},{17:103,45:102,57:$Vn},{57:[2,46]},{57:[2,47]},{31:104,66:$Vq},{31:105,66:$Vq},{31:106,66:$Vq},{31:107,66:$Vq},o($Vv,[2,10]),{13:108,70:$Vo},{70:[2,63]},{19:[1,109]},o($Vp,[2,13]),{19:[1,110]},o($Vp,[2,15]),o($Vp,[2,18]),o($Vp,[2,19]),o($Vp,[2,25]),{4:$V5,5:$V6,6:35,9:14,10:16,11:6,16:$V7,17:36,20:$V8,21:20,22:$V9,23:$Va,24:$Vb,25:24,26:25,27:26,28:27,29:28,30:$Vc,32:$Vd,33:[1,111],34:$Ve,35:$Vf,36:$Vg,38:$Vh,42:$Vi,46:$Vj,47:$Vk,48:$Vl,49:$Vm,57:$Vn,67:$V3},{4:$V5,5:$V6,6:35,9:14,10:16,11:6,16:$V7,17:36,20:$V8,21:20,22:$V9,23:$Va,24:$Vb,25:24,26:25,27:26,28:27,29:28,30:$Vc,32:$Vd,33:[1,112],34:$Ve,35:$Vf,36:$Vg,38:$Vh,42:$Vi,46:$Vj,47:$Vk,48:$Vl,49:$Vm,57:$Vn,67:$V3},{4:$V5,5:$V6,6:35,9:14,10:16,11:6,16:$V7,17:36,20:$V8,21:20,22:$V9,23:$Va,24:$Vb,25:24,26:25,27:26,28:27,29:28,30:$Vc,32:$Vd,33:[1,113],34:$Ve,35:$Vf,36:$Vg,38:$Vh,42:$Vi,46:$Vj,47:$Vk,48:$Vl,49:$Vm,57:$Vn,67:$V3},{33:[1,114]},{4:$V5,5:$V6,6:35,9:14,10:16,11:6,16:$V7,17:36,20:$V8,21:20,22:$V9,23:$Va,24:$Vb,25:24,26:25,27:26,28:27,29:28,30:$Vc,32:$Vd,33:[2,34],34:$Ve,35:$Vf,36:$Vg,38:$Vh,41:[1,115],42:$Vi,46:$Vj,47:$Vk,48:$Vl,49:$Vm,57:$Vn,67:$V3},{33:[1,116]},{4:$V5,5:$V6,6:35,9:14,10:16,11:6,16:$V7,17:36,20:$V8,21:20,22:$V9,23:$Va,24:$Vb,25:24,26:25,27:26,28:27,29:28,30:$Vc,32:$Vd,33:[2,32],34:$Ve,35:$Vf,36:$Vg,38:$Vh,40:[1,117],42:$Vi,46:$Vj,47:$Vk,48:$Vl,49:$Vm,57:$Vn,67:$V3},{17:118,57:$Vn},{17:119,57:$Vn},{31:120,66:$Vq},{31:121,66:$Vq},{31:122,66:$Vq},{51:[1,123],66:[2,45]},{5:[2,38]},{5:[2,39]},{5:[2,40]},{5:[2,41]},{5:[1,124]},{5:[1,125]},{5:[1,126]},o($Vp,[2,26]),o($Vp,[2,27]),o($Vp,[2,28]),o($Vp,[2,29]),{19:[1,127]},o($Vp,[2,30]),{19:[1,128]},{31:129,66:$Vq},{31:130,66:$Vq},{5:[2,50]},{5:[2,36]},{5:[2,37]},{17:131,57:$Vn},o($Vv,[2,11]),o($Vp,[2,12]),o($Vp,[2,14]),o($Vs,$V4,{8:95,37:132}),o($Vt,$V4,{8:97,39:133}),{5:[2,48]},{5:[2,49]},{66:[2,44]},{33:[2,35]},{33:[2,33]}], +defaultActions: {7:[2,61],8:[2,1],9:[2,2],10:[2,3],45:[2,64],58:[2,60],75:[2,46],76:[2,47],83:[2,63],104:[2,38],105:[2,39],106:[2,40],107:[2,41],120:[2,50],121:[2,36],122:[2,37],129:[2,48],130:[2,49],131:[2,44],132:[2,35],133:[2,33]}, +parseError: function parseError (str, hash) { + if (hash.recoverable) { + this.trace(str); + } else { + var error = new Error(str); + error.hash = hash; + throw error; + } +}, +parse: function parse(input) { + var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = '', yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1; + var args = lstack.slice.call(arguments, 1); + var lexer = Object.create(this.lexer); + var sharedState = { yy: {} }; + for (var k in this.yy) { + if (Object.prototype.hasOwnProperty.call(this.yy, k)) { + sharedState.yy[k] = this.yy[k]; + } + } + lexer.setInput(input, sharedState.yy); + sharedState.yy.lexer = lexer; + sharedState.yy.parser = this; + if (typeof lexer.yylloc == 'undefined') { + lexer.yylloc = {}; + } + var yyloc = lexer.yylloc; + lstack.push(yyloc); + var ranges = lexer.options && lexer.options.ranges; + if (typeof sharedState.yy.parseError === 'function') { + this.parseError = sharedState.yy.parseError; + } else { + this.parseError = Object.getPrototypeOf(this).parseError; + } + function popStack(n) { + stack.length = stack.length - 2 * n; + vstack.length = vstack.length - n; + lstack.length = lstack.length - n; + } + function lex() { + var token; + token = tstack.pop() || lexer.lex() || EOF; + if (typeof token !== 'number') { + if (token instanceof Array) { + tstack = token; + token = tstack.pop(); + } + token = self.symbols_[token] || token; + } + return token; + } + var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected; + while (true) { + state = stack[stack.length - 1]; + if (this.defaultActions[state]) { + action = this.defaultActions[state]; + } else { + if (symbol === null || typeof symbol == 'undefined') { + symbol = lex(); + } + action = table[state] && table[state][symbol]; + } + if (typeof action === 'undefined' || !action.length || !action[0]) { + var errStr = ''; + expected = []; + for (p in table[state]) { + if (this.terminals_[p] && p > TERROR) { + expected.push('\'' + this.terminals_[p] + '\''); + } + } + if (lexer.showPosition) { + errStr = 'Parse error on line ' + (yylineno + 1) + ':\n' + lexer.showPosition() + '\nExpecting ' + expected.join(', ') + ', got \'' + (this.terminals_[symbol] || symbol) + '\''; + } else { + errStr = 'Parse error on line ' + (yylineno + 1) + ': Unexpected ' + (symbol == EOF ? 'end of input' : '\'' + (this.terminals_[symbol] || symbol) + '\''); + } + this.parseError(errStr, { + text: lexer.match, + token: this.terminals_[symbol] || symbol, + line: lexer.yylineno, + loc: yyloc, + expected: expected + }); + } + if (action[0] instanceof Array && action.length > 1) { + throw new Error('Parse Error: multiple actions possible at state: ' + state + ', token: ' + symbol); + } + switch (action[0]) { + case 1: + stack.push(symbol); + vstack.push(lexer.yytext); + lstack.push(lexer.yylloc); + stack.push(action[1]); + symbol = null; + if (!preErrorSymbol) { + yyleng = lexer.yyleng; + yytext = lexer.yytext; + yylineno = lexer.yylineno; + yyloc = lexer.yylloc; + if (recovering > 0) { + recovering--; + } + } else { + symbol = preErrorSymbol; + preErrorSymbol = null; + } + break; + case 2: + len = this.productions_[action[1]][1]; + yyval.$ = vstack[vstack.length - len]; + yyval._$ = { + first_line: lstack[lstack.length - (len || 1)].first_line, + last_line: lstack[lstack.length - 1].last_line, + first_column: lstack[lstack.length - (len || 1)].first_column, + last_column: lstack[lstack.length - 1].last_column + }; + if (ranges) { + yyval._$.range = [ + lstack[lstack.length - (len || 1)].range[0], + lstack[lstack.length - 1].range[1] + ]; + } + r = this.performAction.apply(yyval, [ + yytext, + yyleng, + yylineno, + sharedState.yy, + action[1], + vstack, + lstack + ].concat(args)); + if (typeof r !== 'undefined') { + return r; + } + if (len) { + stack = stack.slice(0, -1 * len * 2); + vstack = vstack.slice(0, -1 * len); + lstack = lstack.slice(0, -1 * len); + } + stack.push(this.productions_[action[1]][0]); + vstack.push(yyval.$); + lstack.push(yyval._$); + newState = table[stack[stack.length - 2]][stack[stack.length - 1]]; + stack.push(newState); + break; + case 3: + return true; + } + } + return true; +}}; + +/* generated by jison-lex 0.3.4 */ +var lexer = (function(){ +var lexer = ({ + +EOF:1, + +parseError:function parseError(str, hash) { + if (this.yy.parser) { + this.yy.parser.parseError(str, hash); + } else { + throw new Error(str); + } + }, + +// resets the lexer, sets new input +setInput:function (input, yy) { + this.yy = yy || this.yy || {}; + this._input = input; + this._more = this._backtrack = this.done = false; + this.yylineno = this.yyleng = 0; + this.yytext = this.matched = this.match = ''; + this.conditionStack = ['INITIAL']; + this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0 + }; + if (this.options.ranges) { + this.yylloc.range = [0,0]; + } + this.offset = 0; + return this; + }, + +// consumes and returns one char from the input +input:function () { + var ch = this._input[0]; + this.yytext += ch; + this.yyleng++; + this.offset++; + this.match += ch; + this.matched += ch; + var lines = ch.match(/(?:\r\n?|\n).*/g); + if (lines) { + this.yylineno++; + this.yylloc.last_line++; + } else { + this.yylloc.last_column++; + } + if (this.options.ranges) { + this.yylloc.range[1]++; + } + + this._input = this._input.slice(1); + return ch; + }, + +// unshifts one char (or a string) into the input +unput:function (ch) { + var len = ch.length; + var lines = ch.split(/(?:\r\n?|\n)/g); + + this._input = ch + this._input; + this.yytext = this.yytext.substr(0, this.yytext.length - len); + //this.yyleng -= len; + this.offset -= len; + var oldLines = this.match.split(/(?:\r\n?|\n)/g); + this.match = this.match.substr(0, this.match.length - 1); + this.matched = this.matched.substr(0, this.matched.length - 1); + + if (lines.length - 1) { + this.yylineno -= lines.length - 1; + } + var r = this.yylloc.range; + + this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: lines ? + (lines.length === oldLines.length ? this.yylloc.first_column : 0) + + oldLines[oldLines.length - lines.length].length - lines[0].length : + this.yylloc.first_column - len + }; + + if (this.options.ranges) { + this.yylloc.range = [r[0], r[0] + this.yyleng - len]; + } + this.yyleng = this.yytext.length; + return this; + }, + +// When called from action, caches matched text and appends it on next action +more:function () { + this._more = true; + return this; + }, + +// When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead. +reject:function () { + if (this.options.backtrack_lexer) { + this._backtrack = true; + } else { + return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n' + this.showPosition(), { + text: "", + token: null, + line: this.yylineno + }); + + } + return this; + }, + +// retain first n characters of the match +less:function (n) { + this.unput(this.match.slice(n)); + }, + +// displays already matched input, i.e. for error messages +pastInput:function () { + var past = this.matched.substr(0, this.matched.length - this.match.length); + return (past.length > 20 ? '...':'') + past.substr(-20).replace(/\n/g, ""); + }, + +// displays upcoming input, i.e. for error messages +upcomingInput:function () { + var next = this.match; + if (next.length < 20) { + next += this._input.substr(0, 20-next.length); + } + return (next.substr(0,20) + (next.length > 20 ? '...' : '')).replace(/\n/g, ""); + }, + +// displays the character position where the lexing error occurred, i.e. for error messages +showPosition:function () { + var pre = this.pastInput(); + var c = new Array(pre.length + 1).join("-"); + return pre + this.upcomingInput() + "\n" + c + "^"; + }, + +// test the lexed token: return FALSE when not a match, otherwise return token +test_match:function(match, indexed_rule) { + var token, + lines, + backup; + + if (this.options.backtrack_lexer) { + // save context + backup = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done + }; + if (this.options.ranges) { + backup.yylloc.range = this.yylloc.range.slice(0); + } + } + + lines = match[0].match(/(?:\r\n?|\n).*/g); + if (lines) { + this.yylineno += lines.length; + } + this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: lines ? + lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length : + this.yylloc.last_column + match[0].length + }; + this.yytext += match[0]; + this.match += match[0]; + this.matches = match; + this.yyleng = this.yytext.length; + if (this.options.ranges) { + this.yylloc.range = [this.offset, this.offset += this.yyleng]; + } + this._more = false; + this._backtrack = false; + this._input = this._input.slice(match[0].length); + this.matched += match[0]; + token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]); + if (this.done && this._input) { + this.done = false; + } + if (token) { + return token; + } else if (this._backtrack) { + // recover context + for (var k in backup) { + this[k] = backup[k]; + } + return false; // rule action called reject() implying the next rule should be tested instead. + } + return false; + }, + +// return next match in input +next:function () { + if (this.done) { + return this.EOF; + } + if (!this._input) { + this.done = true; + } + + var token, + match, + tempMatch, + index; + if (!this._more) { + this.yytext = ''; + this.match = ''; + } + var rules = this._currentRules(); + for (var i = 0; i < rules.length; i++) { + tempMatch = this._input.match(this.rules[rules[i]]); + if (tempMatch && (!match || tempMatch[0].length > match[0].length)) { + match = tempMatch; + index = i; + if (this.options.backtrack_lexer) { + token = this.test_match(tempMatch, rules[i]); + if (token !== false) { + return token; + } else if (this._backtrack) { + match = false; + continue; // rule action called reject() implying a rule MISmatch. + } else { + // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) + return false; + } + } else if (!this.options.flex) { + break; + } + } + } + if (match) { + token = this.test_match(match, rules[index]); + if (token !== false) { + return token; + } + // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) + return false; + } + if (this._input === "") { + return this.EOF; + } else { + return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\n' + this.showPosition(), { + text: "", + token: null, + line: this.yylineno + }); + } + }, + +// return next match that has a token +lex:function lex () { + var r = this.next(); + if (r) { + return r; + } else { + return this.lex(); + } + }, + +// activates a new lexer condition state (pushes the new lexer condition state onto the condition stack) +begin:function begin (condition) { + this.conditionStack.push(condition); + }, + +// pop the previously active lexer condition state off the condition stack +popState:function popState () { + var n = this.conditionStack.length - 1; + if (n > 0) { + return this.conditionStack.pop(); + } else { + return this.conditionStack[0]; + } + }, + +// produce the lexer rule set which is active for the currently active lexer condition state +_currentRules:function _currentRules () { + if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) { + return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules; + } else { + return this.conditions["INITIAL"].rules; + } + }, + +// return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available +topState:function topState (n) { + n = this.conditionStack.length - 1 - Math.abs(n || 0); + if (n >= 0) { + return this.conditionStack[n]; + } else { + return "INITIAL"; + } + }, + +// alias for begin(condition) +pushState:function pushState (condition) { + this.begin(condition); + }, + +// return the number of states currently on the stack +stateStackSize:function stateStackSize() { + return this.conditionStack.length; + }, +options: {"case-insensitive":true}, +performAction: function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) { +var YYSTATE=YY_START; +switch($avoiding_name_collisions) { +case 0: this.begin('open_directive'); return 67; +break; +case 1: this.begin('type_directive'); return 68; +break; +case 2: this.popState(); this.begin('arg_directive'); return 14; +break; +case 3: this.popState(); this.popState(); return 70; +break; +case 4:return 69; +break; +case 5:return 5; +break; +case 6:/* skip all whitespace */ +break; +case 7:/* skip same-line whitespace */ +break; +case 8:/* skip comments */ +break; +case 9:/* skip comments */ +break; +case 10:/* skip comments */ +break; +case 11: this.begin('ID'); return 16; +break; +case 12: this.begin('ID'); return 20; +break; +case 13: yy_.yytext = yy_.yytext.trim(); this.begin('ALIAS'); return 57; +break; +case 14: this.popState(); this.popState(); this.begin('LINE'); return 18; +break; +case 15: this.popState(); this.popState(); return 5; +break; +case 16: this.begin('LINE'); return 32; +break; +case 17: this.begin('LINE'); return 34; +break; +case 18: this.begin('LINE'); return 35; +break; +case 19: this.begin('LINE'); return 36; +break; +case 20: this.begin('LINE'); return 41; +break; +case 21: this.begin('LINE'); return 38; +break; +case 22: this.begin('LINE'); return 40; +break; +case 23: this.popState(); return 19; +break; +case 24:return 33; +break; +case 25:return 52; +break; +case 26:return 53; +break; +case 27:return 46; +break; +case 28:return 47; +break; +case 29:return 48; +break; +case 30:return 49; +break; +case 31:return 44; +break; +case 32:return 42; +break; +case 33: this.begin('ID'); return 23; +break; +case 34: this.begin('ID'); return 24; +break; +case 35:return 30; +break; +case 36:return 7; +break; +case 37:return 22; +break; +case 38:return 51; +break; +case 39:return 5; +break; +case 40: yy_.yytext = yy_.yytext.trim(); return 57; +break; +case 41:return 60; +break; +case 42:return 61; +break; +case 43:return 58; +break; +case 44:return 59; +break; +case 45:return 62; +break; +case 46:return 63; +break; +case 47:return 64; +break; +case 48:return 65; +break; +case 49:return 66; +break; +case 50:return 55; +break; +case 51:return 56; +break; +case 52:return 5; +break; +case 53:return 'INVALID'; +break; +} +}, +rules: [/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:participant\b)/i,/^(?:actor\b)/i,/^(?:[^\->:\n,;]+?(?=((?!\n)\s)+as(?!\n)\s|[#\n;]|$))/i,/^(?:as\b)/i,/^(?:(?:))/i,/^(?:loop\b)/i,/^(?:rect\b)/i,/^(?:opt\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:par\b)/i,/^(?:and\b)/i,/^(?:(?:[:]?(?:no)?wrap)?[^#\n;]*)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:links\b)/i,/^(?:link\b)/i,/^(?:properties\b)/i,/^(?:details\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:activate\b)/i,/^(?:deactivate\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:autonumber\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\+\->:\n,;]+((?!(-x|--x|-\)|--\)))[\-]*[^\+\->:\n,;]+)*)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?:-[\)])/i,/^(?:--[\)])/i,/^(?::(?:(?:no)?wrap)?[^#\n;]+)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:$)/i,/^(?:.)/i], +conditions: {"open_directive":{"rules":[1,8],"inclusive":false},"type_directive":{"rules":[2,3,8],"inclusive":false},"arg_directive":{"rules":[3,4,8],"inclusive":false},"ID":{"rules":[7,8,13],"inclusive":false},"ALIAS":{"rules":[7,8,14,15],"inclusive":false},"LINE":{"rules":[7,8,23],"inclusive":false},"INITIAL":{"rules":[0,5,6,8,9,10,11,12,16,17,18,19,20,21,22,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53],"inclusive":true}} +}); +return lexer; +})(); +parser.lexer = lexer; +function Parser () { + this.yy = {}; +} +Parser.prototype = parser;parser.Parser = Parser; +return new Parser; +})(); + + +if (true) { +exports.parser = parser; +exports.Parser = parser.Parser; +exports.parse = function () { return parser.parse.apply(parser, arguments); }; +exports.main = function commonjsMain (args) { + if (!args[1]) { + console.log('Usage: '+args[0]+' FILE'); + process.exit(1); + } + var source = __webpack_require__(/*! fs */ "?e940").readFileSync(__webpack_require__(/*! path */ "./node_modules/path-browserify/index.js").normalize(args[1]), "utf8"); + return exports.parser.parse(source); +}; +if ( true && __webpack_require__.c[__webpack_require__.s] === module) { + exports.main(process.argv.slice(1)); +} +} + +/***/ }), + +/***/ "./src/diagrams/state/parser/stateDiagram.jison": +/*!******************************************************!*\ + !*** ./src/diagrams/state/parser/stateDiagram.jison ***! + \******************************************************/ +/***/ ((module, exports, __webpack_require__) => { + +/* module decorator */ module = __webpack_require__.nmd(module); +/* parser generated by jison 0.4.18 */ +/* + Returns a Parser object of the following structure: + + Parser: { + yy: {} + } + + Parser.prototype: { + yy: {}, + trace: function(), + symbols_: {associative list: name ==> number}, + terminals_: {associative list: number ==> name}, + productions_: [...], + performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$), + table: [...], + defaultActions: {...}, + parseError: function(str, hash), + parse: function(input), + + lexer: { + EOF: 1, + parseError: function(str, hash), + setInput: function(input), + input: function(), + unput: function(str), + more: function(), + less: function(n), + pastInput: function(), + upcomingInput: function(), + showPosition: function(), + test_match: function(regex_match_array, rule_index), + next: function(), + lex: function(), + begin: function(condition), + popState: function(), + _currentRules: function(), + topState: function(), + pushState: function(condition), + + options: { + ranges: boolean (optional: true ==> token location info will include a .range[] member) + flex: boolean (optional: true ==> flex-like lexing behaviour where the rules are tested exhaustively to find the longest match) + backtrack_lexer: boolean (optional: true ==> lexer regexes are tested in order and for each matching regex the action code is invoked; the lexer terminates the scan when a token is returned by the action code) + }, + + performAction: function(yy, yy_, $avoiding_name_collisions, YY_START), + rules: [...], + conditions: {associative list: name ==> set}, + } + } + + + token location info (@$, _$, etc.): { + first_line: n, + last_line: n, + first_column: n, + last_column: n, + range: [start_number, end_number] (where the numbers are indexes into the input string, regular zero-based) + } + + + the parseError function receives a 'hash' object with these members for lexer and parser errors: { + text: (matched text) + token: (the produced terminal token, if any) + line: (yylineno) + } + while parser (grammar) errors will also provide these members, i.e. parser errors deliver a superset of attributes: { + loc: (yylloc) + expected: (string describing the set of expected tokens) + recoverable: (boolean: TRUE when the parser has a error recovery rule available for this particular error) + } +*/ +var parser = (function(){ +var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,2],$V1=[1,3],$V2=[1,5],$V3=[1,7],$V4=[2,5],$V5=[1,15],$V6=[1,17],$V7=[1,19],$V8=[1,20],$V9=[1,21],$Va=[1,22],$Vb=[1,30],$Vc=[1,23],$Vd=[1,24],$Ve=[1,25],$Vf=[1,26],$Vg=[1,27],$Vh=[1,32],$Vi=[1,33],$Vj=[1,34],$Vk=[1,35],$Vl=[1,31],$Vm=[1,38],$Vn=[1,4,5,14,15,17,19,20,22,23,24,25,26,27,36,37,38,39,42,45],$Vo=[1,4,5,12,13,14,15,17,19,20,22,23,24,25,26,27,36,37,38,39,42,45],$Vp=[1,4,5,7,14,15,17,19,20,22,23,24,25,26,27,36,37,38,39,42,45],$Vq=[4,5,14,15,17,19,20,22,23,24,25,26,27,36,37,38,39,42,45]; +var parser = {trace: function trace () { }, +yy: {}, +symbols_: {"error":2,"start":3,"SPACE":4,"NL":5,"directive":6,"SD":7,"document":8,"line":9,"statement":10,"idStatement":11,"DESCR":12,"-->":13,"HIDE_EMPTY":14,"scale":15,"WIDTH":16,"COMPOSIT_STATE":17,"STRUCT_START":18,"STRUCT_STOP":19,"STATE_DESCR":20,"AS":21,"ID":22,"FORK":23,"JOIN":24,"CHOICE":25,"CONCURRENT":26,"note":27,"notePosition":28,"NOTE_TEXT":29,"direction":30,"openDirective":31,"typeDirective":32,"closeDirective":33,":":34,"argDirective":35,"direction_tb":36,"direction_bt":37,"direction_rl":38,"direction_lr":39,"eol":40,";":41,"EDGE_STATE":42,"left_of":43,"right_of":44,"open_directive":45,"type_directive":46,"arg_directive":47,"close_directive":48,"$accept":0,"$end":1}, +terminals_: {2:"error",4:"SPACE",5:"NL",7:"SD",12:"DESCR",13:"-->",14:"HIDE_EMPTY",15:"scale",16:"WIDTH",17:"COMPOSIT_STATE",18:"STRUCT_START",19:"STRUCT_STOP",20:"STATE_DESCR",21:"AS",22:"ID",23:"FORK",24:"JOIN",25:"CHOICE",26:"CONCURRENT",27:"note",29:"NOTE_TEXT",34:":",36:"direction_tb",37:"direction_bt",38:"direction_rl",39:"direction_lr",41:";",42:"EDGE_STATE",43:"left_of",44:"right_of",45:"open_directive",46:"type_directive",47:"arg_directive",48:"close_directive"}, +productions_: [0,[3,2],[3,2],[3,2],[3,2],[8,0],[8,2],[9,2],[9,1],[9,1],[10,1],[10,2],[10,3],[10,4],[10,1],[10,2],[10,1],[10,4],[10,3],[10,6],[10,1],[10,1],[10,1],[10,1],[10,4],[10,4],[10,1],[10,1],[6,3],[6,5],[30,1],[30,1],[30,1],[30,1],[40,1],[40,1],[11,1],[11,1],[28,1],[28,1],[31,1],[32,1],[35,1],[33,1]], +performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) { +/* this == yyval */ + +var $0 = $$.length - 1; +switch (yystate) { +case 4: + /*console.warn('Root document', $$[$0]);*/ yy.setRootDoc($$[$0]);return $$[$0]; +break; +case 5: + this.$ = [] +break; +case 6: + + if($$[$0]!='nl'){ + $$[$0-1].push($$[$0]);this.$ = $$[$0-1] + } + // console.warn('Got document',$$[$0-1], $$[$0]); + +break; +case 7: case 8: + this.$ = $$[$0] +break; +case 9: + this.$='nl'; +break; +case 10: + /*console.warn('got id and descr', $$[$0]);*/this.$={ stmt: 'state', id: $$[$0], type: 'default', description: ''}; +break; +case 11: + /*console.warn('got id and descr', $$[$0-1], $$[$0].trim());*/this.$={ stmt: 'state', id: $$[$0-1], type: 'default', description: yy.trimColon($$[$0])}; +break; +case 12: + + /*console.warn('got id', $$[$0-2]);yy.addRelation($$[$0-2], $$[$0]);*/ + this.$={ stmt: 'relation', state1: { stmt: 'state', id: $$[$0-2], type: 'default', description: '' }, state2:{ stmt: 'state', id: $$[$0] ,type: 'default', description: ''}}; + +break; +case 13: + + /*yy.addRelation($$[$0-3], $$[$0-1], $$[$0].substr(1).trim());*/ + this.$={ stmt: 'relation', state1: { stmt: 'state', id: $$[$0-3], type: 'default', description: '' }, state2:{ stmt: 'state', id: $$[$0-1] ,type: 'default', description: ''}, description: $$[$0].substr(1).trim()}; + +break; +case 17: + + /* console.warn('Adding document for state without id ', $$[$0-3]);*/ + this.$={ stmt: 'state', id: $$[$0-3], type: 'default', description: '', doc: $$[$0-1] } + +break; +case 18: + + var id=$$[$0]; + var description = $$[$0-2].trim(); + if($$[$0].match(':')){ + var parts = $$[$0].split(':'); + id=parts[0]; + description = [description, parts[1]]; + } + this.$={stmt: 'state', id: id, type: 'default', description: description}; + + +break; +case 19: + + // console.warn('Adding document for state with id zxzx', $$[$0-3], $$[$0-2], yy.getDirection()); yy.addDocument($$[$0-3]); + this.$={ stmt: 'state', id: $$[$0-3], type: 'default', description: $$[$0-5], doc: $$[$0-1] } + +break; +case 20: + + this.$={ stmt: 'state', id: $$[$0], type: 'fork' } + +break; +case 21: + + this.$={ stmt: 'state', id: $$[$0], type: 'join' } + +break; +case 22: + + this.$={ stmt: 'state', id: $$[$0], type: 'choice' } + +break; +case 23: + + this.$={ stmt: 'state', id: yy.getDividerId(), type: 'divider' } + +break; +case 24: + + /* console.warn('got NOTE, position: ', $$[$0-2].trim(), 'id = ', $$[$0-1].trim(), 'note: ', $$[$0]);*/ + this.$={ stmt: 'state', id: $$[$0-1].trim(), note:{position: $$[$0-2].trim(), text: $$[$0].trim()}}; + +break; +case 30: + yy.setDirection('TB');this.$={stmt:'dir', value:'TB'}; +break; +case 31: + yy.setDirection('BT');this.$={stmt:'dir', value:'BT'}; +break; +case 32: + yy.setDirection('RL'); this.$={stmt:'dir', value:'RL'}; +break; +case 33: + yy.setDirection('LR');this.$={stmt:'dir', value:'LR'}; +break; +case 36: case 37: +this.$=$$[$0]; +break; +case 40: + yy.parseDirective('%%{', 'open_directive'); +break; +case 41: + yy.parseDirective($$[$0], 'type_directive'); +break; +case 42: + $$[$0] = $$[$0].trim().replace(/'/g, '"'); yy.parseDirective($$[$0], 'arg_directive'); +break; +case 43: + yy.parseDirective('}%%', 'close_directive', 'state'); +break; +} +}, +table: [{3:1,4:$V0,5:$V1,6:4,7:$V2,31:6,45:$V3},{1:[3]},{3:8,4:$V0,5:$V1,6:4,7:$V2,31:6,45:$V3},{3:9,4:$V0,5:$V1,6:4,7:$V2,31:6,45:$V3},{3:10,4:$V0,5:$V1,6:4,7:$V2,31:6,45:$V3},o([1,4,5,14,15,17,20,22,23,24,25,26,27,36,37,38,39,42,45],$V4,{8:11}),{32:12,46:[1,13]},{46:[2,40]},{1:[2,1]},{1:[2,2]},{1:[2,3]},{1:[2,4],4:$V5,5:$V6,6:28,9:14,10:16,11:18,14:$V7,15:$V8,17:$V9,20:$Va,22:$Vb,23:$Vc,24:$Vd,25:$Ve,26:$Vf,27:$Vg,30:29,31:6,36:$Vh,37:$Vi,38:$Vj,39:$Vk,42:$Vl,45:$V3},{33:36,34:[1,37],48:$Vm},o([34,48],[2,41]),o($Vn,[2,6]),{6:28,10:39,11:18,14:$V7,15:$V8,17:$V9,20:$Va,22:$Vb,23:$Vc,24:$Vd,25:$Ve,26:$Vf,27:$Vg,30:29,31:6,36:$Vh,37:$Vi,38:$Vj,39:$Vk,42:$Vl,45:$V3},o($Vn,[2,8]),o($Vn,[2,9]),o($Vn,[2,10],{12:[1,40],13:[1,41]}),o($Vn,[2,14]),{16:[1,42]},o($Vn,[2,16],{18:[1,43]}),{21:[1,44]},o($Vn,[2,20]),o($Vn,[2,21]),o($Vn,[2,22]),o($Vn,[2,23]),{28:45,29:[1,46],43:[1,47],44:[1,48]},o($Vn,[2,26]),o($Vn,[2,27]),o($Vo,[2,36]),o($Vo,[2,37]),o($Vn,[2,30]),o($Vn,[2,31]),o($Vn,[2,32]),o($Vn,[2,33]),o($Vp,[2,28]),{35:49,47:[1,50]},o($Vp,[2,43]),o($Vn,[2,7]),o($Vn,[2,11]),{11:51,22:$Vb,42:$Vl},o($Vn,[2,15]),o($Vq,$V4,{8:52}),{22:[1,53]},{22:[1,54]},{21:[1,55]},{22:[2,38]},{22:[2,39]},{33:56,48:$Vm},{48:[2,42]},o($Vn,[2,12],{12:[1,57]}),{4:$V5,5:$V6,6:28,9:14,10:16,11:18,14:$V7,15:$V8,17:$V9,19:[1,58],20:$Va,22:$Vb,23:$Vc,24:$Vd,25:$Ve,26:$Vf,27:$Vg,30:29,31:6,36:$Vh,37:$Vi,38:$Vj,39:$Vk,42:$Vl,45:$V3},o($Vn,[2,18],{18:[1,59]}),{29:[1,60]},{22:[1,61]},o($Vp,[2,29]),o($Vn,[2,13]),o($Vn,[2,17]),o($Vq,$V4,{8:62}),o($Vn,[2,24]),o($Vn,[2,25]),{4:$V5,5:$V6,6:28,9:14,10:16,11:18,14:$V7,15:$V8,17:$V9,19:[1,63],20:$Va,22:$Vb,23:$Vc,24:$Vd,25:$Ve,26:$Vf,27:$Vg,30:29,31:6,36:$Vh,37:$Vi,38:$Vj,39:$Vk,42:$Vl,45:$V3},o($Vn,[2,19])], +defaultActions: {7:[2,40],8:[2,1],9:[2,2],10:[2,3],47:[2,38],48:[2,39],50:[2,42]}, +parseError: function parseError (str, hash) { + if (hash.recoverable) { + this.trace(str); + } else { + var error = new Error(str); + error.hash = hash; + throw error; + } +}, +parse: function parse(input) { + var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = '', yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1; + var args = lstack.slice.call(arguments, 1); + var lexer = Object.create(this.lexer); + var sharedState = { yy: {} }; + for (var k in this.yy) { + if (Object.prototype.hasOwnProperty.call(this.yy, k)) { + sharedState.yy[k] = this.yy[k]; + } + } + lexer.setInput(input, sharedState.yy); + sharedState.yy.lexer = lexer; + sharedState.yy.parser = this; + if (typeof lexer.yylloc == 'undefined') { + lexer.yylloc = {}; + } + var yyloc = lexer.yylloc; + lstack.push(yyloc); + var ranges = lexer.options && lexer.options.ranges; + if (typeof sharedState.yy.parseError === 'function') { + this.parseError = sharedState.yy.parseError; + } else { + this.parseError = Object.getPrototypeOf(this).parseError; + } + function popStack(n) { + stack.length = stack.length - 2 * n; + vstack.length = vstack.length - n; + lstack.length = lstack.length - n; + } + function lex() { + var token; + token = tstack.pop() || lexer.lex() || EOF; + if (typeof token !== 'number') { + if (token instanceof Array) { + tstack = token; + token = tstack.pop(); + } + token = self.symbols_[token] || token; + } + return token; + } + var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected; + while (true) { + state = stack[stack.length - 1]; + if (this.defaultActions[state]) { + action = this.defaultActions[state]; + } else { + if (symbol === null || typeof symbol == 'undefined') { + symbol = lex(); + } + action = table[state] && table[state][symbol]; + } + if (typeof action === 'undefined' || !action.length || !action[0]) { + var errStr = ''; + expected = []; + for (p in table[state]) { + if (this.terminals_[p] && p > TERROR) { + expected.push('\'' + this.terminals_[p] + '\''); + } + } + if (lexer.showPosition) { + errStr = 'Parse error on line ' + (yylineno + 1) + ':\n' + lexer.showPosition() + '\nExpecting ' + expected.join(', ') + ', got \'' + (this.terminals_[symbol] || symbol) + '\''; + } else { + errStr = 'Parse error on line ' + (yylineno + 1) + ': Unexpected ' + (symbol == EOF ? 'end of input' : '\'' + (this.terminals_[symbol] || symbol) + '\''); + } + this.parseError(errStr, { + text: lexer.match, + token: this.terminals_[symbol] || symbol, + line: lexer.yylineno, + loc: yyloc, + expected: expected + }); + } + if (action[0] instanceof Array && action.length > 1) { + throw new Error('Parse Error: multiple actions possible at state: ' + state + ', token: ' + symbol); + } + switch (action[0]) { + case 1: + stack.push(symbol); + vstack.push(lexer.yytext); + lstack.push(lexer.yylloc); + stack.push(action[1]); + symbol = null; + if (!preErrorSymbol) { + yyleng = lexer.yyleng; + yytext = lexer.yytext; + yylineno = lexer.yylineno; + yyloc = lexer.yylloc; + if (recovering > 0) { + recovering--; + } + } else { + symbol = preErrorSymbol; + preErrorSymbol = null; + } + break; + case 2: + len = this.productions_[action[1]][1]; + yyval.$ = vstack[vstack.length - len]; + yyval._$ = { + first_line: lstack[lstack.length - (len || 1)].first_line, + last_line: lstack[lstack.length - 1].last_line, + first_column: lstack[lstack.length - (len || 1)].first_column, + last_column: lstack[lstack.length - 1].last_column + }; + if (ranges) { + yyval._$.range = [ + lstack[lstack.length - (len || 1)].range[0], + lstack[lstack.length - 1].range[1] + ]; + } + r = this.performAction.apply(yyval, [ + yytext, + yyleng, + yylineno, + sharedState.yy, + action[1], + vstack, + lstack + ].concat(args)); + if (typeof r !== 'undefined') { + return r; + } + if (len) { + stack = stack.slice(0, -1 * len * 2); + vstack = vstack.slice(0, -1 * len); + lstack = lstack.slice(0, -1 * len); + } + stack.push(this.productions_[action[1]][0]); + vstack.push(yyval.$); + lstack.push(yyval._$); + newState = table[stack[stack.length - 2]][stack[stack.length - 1]]; + stack.push(newState); + break; + case 3: + return true; + } + } + return true; +}}; + +/* generated by jison-lex 0.3.4 */ +var lexer = (function(){ +var lexer = ({ + +EOF:1, + +parseError:function parseError(str, hash) { + if (this.yy.parser) { + this.yy.parser.parseError(str, hash); + } else { + throw new Error(str); + } + }, + +// resets the lexer, sets new input +setInput:function (input, yy) { + this.yy = yy || this.yy || {}; + this._input = input; + this._more = this._backtrack = this.done = false; + this.yylineno = this.yyleng = 0; + this.yytext = this.matched = this.match = ''; + this.conditionStack = ['INITIAL']; + this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0 + }; + if (this.options.ranges) { + this.yylloc.range = [0,0]; + } + this.offset = 0; + return this; + }, + +// consumes and returns one char from the input +input:function () { + var ch = this._input[0]; + this.yytext += ch; + this.yyleng++; + this.offset++; + this.match += ch; + this.matched += ch; + var lines = ch.match(/(?:\r\n?|\n).*/g); + if (lines) { + this.yylineno++; + this.yylloc.last_line++; + } else { + this.yylloc.last_column++; + } + if (this.options.ranges) { + this.yylloc.range[1]++; + } + + this._input = this._input.slice(1); + return ch; + }, + +// unshifts one char (or a string) into the input +unput:function (ch) { + var len = ch.length; + var lines = ch.split(/(?:\r\n?|\n)/g); + + this._input = ch + this._input; + this.yytext = this.yytext.substr(0, this.yytext.length - len); + //this.yyleng -= len; + this.offset -= len; + var oldLines = this.match.split(/(?:\r\n?|\n)/g); + this.match = this.match.substr(0, this.match.length - 1); + this.matched = this.matched.substr(0, this.matched.length - 1); + + if (lines.length - 1) { + this.yylineno -= lines.length - 1; + } + var r = this.yylloc.range; + + this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: lines ? + (lines.length === oldLines.length ? this.yylloc.first_column : 0) + + oldLines[oldLines.length - lines.length].length - lines[0].length : + this.yylloc.first_column - len + }; + + if (this.options.ranges) { + this.yylloc.range = [r[0], r[0] + this.yyleng - len]; + } + this.yyleng = this.yytext.length; + return this; + }, + +// When called from action, caches matched text and appends it on next action +more:function () { + this._more = true; + return this; + }, + +// When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead. +reject:function () { + if (this.options.backtrack_lexer) { + this._backtrack = true; + } else { + return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n' + this.showPosition(), { + text: "", + token: null, + line: this.yylineno + }); + + } + return this; + }, + +// retain first n characters of the match +less:function (n) { + this.unput(this.match.slice(n)); + }, + +// displays already matched input, i.e. for error messages +pastInput:function () { + var past = this.matched.substr(0, this.matched.length - this.match.length); + return (past.length > 20 ? '...':'') + past.substr(-20).replace(/\n/g, ""); + }, + +// displays upcoming input, i.e. for error messages +upcomingInput:function () { + var next = this.match; + if (next.length < 20) { + next += this._input.substr(0, 20-next.length); + } + return (next.substr(0,20) + (next.length > 20 ? '...' : '')).replace(/\n/g, ""); + }, + +// displays the character position where the lexing error occurred, i.e. for error messages +showPosition:function () { + var pre = this.pastInput(); + var c = new Array(pre.length + 1).join("-"); + return pre + this.upcomingInput() + "\n" + c + "^"; + }, + +// test the lexed token: return FALSE when not a match, otherwise return token +test_match:function(match, indexed_rule) { + var token, + lines, + backup; + + if (this.options.backtrack_lexer) { + // save context + backup = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done + }; + if (this.options.ranges) { + backup.yylloc.range = this.yylloc.range.slice(0); + } + } + + lines = match[0].match(/(?:\r\n?|\n).*/g); + if (lines) { + this.yylineno += lines.length; + } + this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: lines ? + lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length : + this.yylloc.last_column + match[0].length + }; + this.yytext += match[0]; + this.match += match[0]; + this.matches = match; + this.yyleng = this.yytext.length; + if (this.options.ranges) { + this.yylloc.range = [this.offset, this.offset += this.yyleng]; + } + this._more = false; + this._backtrack = false; + this._input = this._input.slice(match[0].length); + this.matched += match[0]; + token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]); + if (this.done && this._input) { + this.done = false; + } + if (token) { + return token; + } else if (this._backtrack) { + // recover context + for (var k in backup) { + this[k] = backup[k]; + } + return false; // rule action called reject() implying the next rule should be tested instead. + } + return false; + }, + +// return next match in input +next:function () { + if (this.done) { + return this.EOF; + } + if (!this._input) { + this.done = true; + } + + var token, + match, + tempMatch, + index; + if (!this._more) { + this.yytext = ''; + this.match = ''; + } + var rules = this._currentRules(); + for (var i = 0; i < rules.length; i++) { + tempMatch = this._input.match(this.rules[rules[i]]); + if (tempMatch && (!match || tempMatch[0].length > match[0].length)) { + match = tempMatch; + index = i; + if (this.options.backtrack_lexer) { + token = this.test_match(tempMatch, rules[i]); + if (token !== false) { + return token; + } else if (this._backtrack) { + match = false; + continue; // rule action called reject() implying a rule MISmatch. + } else { + // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) + return false; + } + } else if (!this.options.flex) { + break; + } + } + } + if (match) { + token = this.test_match(match, rules[index]); + if (token !== false) { + return token; + } + // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) + return false; + } + if (this._input === "") { + return this.EOF; + } else { + return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\n' + this.showPosition(), { + text: "", + token: null, + line: this.yylineno + }); + } + }, + +// return next match that has a token +lex:function lex () { + var r = this.next(); + if (r) { + return r; + } else { + return this.lex(); + } + }, + +// activates a new lexer condition state (pushes the new lexer condition state onto the condition stack) +begin:function begin (condition) { + this.conditionStack.push(condition); + }, + +// pop the previously active lexer condition state off the condition stack +popState:function popState () { + var n = this.conditionStack.length - 1; + if (n > 0) { + return this.conditionStack.pop(); + } else { + return this.conditionStack[0]; + } + }, + +// produce the lexer rule set which is active for the currently active lexer condition state +_currentRules:function _currentRules () { + if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) { + return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules; + } else { + return this.conditions["INITIAL"].rules; + } + }, + +// return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available +topState:function topState (n) { + n = this.conditionStack.length - 1 - Math.abs(n || 0); + if (n >= 0) { + return this.conditionStack[n]; + } else { + return "INITIAL"; + } + }, + +// alias for begin(condition) +pushState:function pushState (condition) { + this.begin(condition); + }, + +// return the number of states currently on the stack +stateStackSize:function stateStackSize() { + return this.conditionStack.length; + }, +options: {"case-insensitive":true}, +performAction: function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) { +var YYSTATE=YY_START; +switch($avoiding_name_collisions) { +case 0:return 36; +break; +case 1:return 37; +break; +case 2:return 38; +break; +case 3:return 39; +break; +case 4: this.begin('open_directive'); return 45; +break; +case 5: this.begin('type_directive'); return 46; +break; +case 6: this.popState(); this.begin('arg_directive'); return 34; +break; +case 7: this.popState(); this.popState(); return 48; +break; +case 8:return 47; +break; +case 9:/* skip comments */ +break; +case 10:/* skip comments */{ /*console.log('Crap after close');*/ } +break; +case 11:return 5; +break; +case 12:/* skip all whitespace */ +break; +case 13:/* skip same-line whitespace */ +break; +case 14:/* skip comments */ +break; +case 15:/* skip comments */ +break; +case 16: this.pushState('SCALE'); /* console.log('Got scale', yy_.yytext);*/ return 15; +break; +case 17:return 16; +break; +case 18:this.popState(); +break; +case 19: /*console.log('Starting STATE zxzx'+yy.getDirection());*/this.pushState('STATE'); +break; +case 20:this.popState();yy_.yytext=yy_.yytext.slice(0,-8).trim(); /*console.warn('Fork Fork: ',yy_.yytext);*/return 23; +break; +case 21:this.popState();yy_.yytext=yy_.yytext.slice(0,-8).trim();/*console.warn('Fork Join: ',yy_.yytext);*/return 24; +break; +case 22:this.popState();yy_.yytext=yy_.yytext.slice(0,-10).trim();/*console.warn('Fork Join: ',yy_.yytext);*/return 25; +break; +case 23:this.popState();yy_.yytext=yy_.yytext.slice(0,-8).trim();/*console.warn('Fork Fork: ',yy_.yytext);*/return 23; +break; +case 24:this.popState();yy_.yytext=yy_.yytext.slice(0,-8).trim();/*console.warn('Fork Join: ',yy_.yytext);*/return 24; +break; +case 25:this.popState();yy_.yytext=yy_.yytext.slice(0,-10).trim();/*console.warn('Fork Join: ',yy_.yytext);*/return 25; +break; +case 26: return 36; +break; +case 27: return 37; +break; +case 28: return 38; +break; +case 29: return 39; +break; +case 30: /*console.log('Starting STATE_STRING zxzx');*/this.begin("STATE_STRING"); +break; +case 31:this.popState();this.pushState('STATE_ID');return "AS"; +break; +case 32:this.popState();/* console.log('STATE_ID', yy_.yytext);*/return "ID"; +break; +case 33:this.popState(); +break; +case 34: /*console.log('Long description:', yy_.yytext);*/return "STATE_DESCR"; +break; +case 35:/*console.log('COMPOSIT_STATE', yy_.yytext);*/return 17; +break; +case 36:this.popState(); +break; +case 37:this.popState();this.pushState('struct'); /*console.log('begin struct', yy_.yytext);*/return 18; +break; +case 38: /*console.log('Ending struct');*/ this.popState(); return 19; +break; +case 39:/* nothing */ +break; +case 40: this.begin('NOTE'); return 27; +break; +case 41: this.popState();this.pushState('NOTE_ID');return 43; +break; +case 42: this.popState();this.pushState('NOTE_ID');return 44; +break; +case 43: this.popState();this.pushState('FLOATING_NOTE'); +break; +case 44:this.popState();this.pushState('FLOATING_NOTE_ID');return "AS"; +break; +case 45:/**/ +break; +case 46: /*console.log('Floating note text: ', yy_.yytext);*/return "NOTE_TEXT"; +break; +case 47:this.popState();/*console.log('Floating note ID', yy_.yytext);*/return "ID"; +break; +case 48: this.popState();this.pushState('NOTE_TEXT');/*console.log('Got ID for note', yy_.yytext);*/return 22; +break; +case 49: this.popState();/*console.log('Got NOTE_TEXT for note',yy_.yytext);*/yy_.yytext = yy_.yytext.substr(2).trim();return 29; +break; +case 50: this.popState();/*console.log('Got NOTE_TEXT for note',yy_.yytext);*/yy_.yytext = yy_.yytext.slice(0,-8).trim();return 29; +break; +case 51: /*console.log('Got state diagram', yy_.yytext,'#');*/return 7; +break; +case 52: /*console.log('Got state diagram', yy_.yytext,'#');*/return 7; +break; +case 53: /*console.log('HIDE_EMPTY', yy_.yytext,'#');*/return 14; +break; +case 54: /*console.log('EDGE_STATE=',yy_.yytext);*/ return 42; +break; +case 55: /*console.log('=>ID=',yy_.yytext);*/ return 22; +break; +case 56: yy_.yytext = yy_.yytext.trim(); /*console.log('Descr = ', yy_.yytext);*/ return 12; +break; +case 57:return 13; +break; +case 58:return 26; +break; +case 59:return 5; +break; +case 60:return 'INVALID'; +break; +} +}, +rules: [/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:state\s+)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*\[\[fork\]\])/i,/^(?:.*\[\[join\]\])/i,/^(?:.*\[\[choice\]\])/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:["])/i,/^(?:\s*as\s+)/i,/^(?:[^\n\{]*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n\s\{]+)/i,/^(?:\n)/i,/^(?:\{)/i,/^(?:\})/i,/^(?:[\n])/i,/^(?:note\s+)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:")/i,/^(?:\s*as\s*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n]*)/i,/^(?:\s*[^:\n\s\-]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:[\s\S]*?end note\b)/i,/^(?:stateDiagram\s+)/i,/^(?:stateDiagram-v2\s+)/i,/^(?:hide empty description\b)/i,/^(?:\[\*\])/i,/^(?:[^:\n\s\-\{]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:-->)/i,/^(?:--)/i,/^(?:$)/i,/^(?:.)/i], +conditions: {"LINE":{"rules":[13,14],"inclusive":false},"close_directive":{"rules":[13,14],"inclusive":false},"arg_directive":{"rules":[7,8,13,14],"inclusive":false},"type_directive":{"rules":[6,7,13,14],"inclusive":false},"open_directive":{"rules":[5,13,14],"inclusive":false},"struct":{"rules":[13,14,19,26,27,28,29,38,39,40,54,55,56,57,58],"inclusive":false},"FLOATING_NOTE_ID":{"rules":[47],"inclusive":false},"FLOATING_NOTE":{"rules":[44,45,46],"inclusive":false},"NOTE_TEXT":{"rules":[49,50],"inclusive":false},"NOTE_ID":{"rules":[48],"inclusive":false},"NOTE":{"rules":[41,42,43],"inclusive":false},"SCALE":{"rules":[17,18],"inclusive":false},"ALIAS":{"rules":[],"inclusive":false},"STATE_ID":{"rules":[32],"inclusive":false},"STATE_STRING":{"rules":[33,34],"inclusive":false},"FORK_STATE":{"rules":[],"inclusive":false},"STATE":{"rules":[13,14,20,21,22,23,24,25,30,31,35,36,37],"inclusive":false},"ID":{"rules":[13,14],"inclusive":false},"INITIAL":{"rules":[0,1,2,3,4,9,10,11,12,14,15,16,19,37,40,51,52,53,54,55,56,57,59,60],"inclusive":true}} +}); +return lexer; +})(); +parser.lexer = lexer; +function Parser () { + this.yy = {}; +} +Parser.prototype = parser;parser.Parser = Parser; +return new Parser; +})(); + + +if (true) { +exports.parser = parser; +exports.Parser = parser.Parser; +exports.parse = function () { return parser.parse.apply(parser, arguments); }; +exports.main = function commonjsMain (args) { + if (!args[1]) { + console.log('Usage: '+args[0]+' FILE'); + process.exit(1); + } + var source = __webpack_require__(/*! fs */ "?a3b8").readFileSync(__webpack_require__(/*! path */ "./node_modules/path-browserify/index.js").normalize(args[1]), "utf8"); + return exports.parser.parse(source); +}; +if ( true && __webpack_require__.c[__webpack_require__.s] === module) { + exports.main(process.argv.slice(1)); +} +} + +/***/ }), + +/***/ "./src/diagrams/user-journey/parser/journey.jison": +/*!********************************************************!*\ + !*** ./src/diagrams/user-journey/parser/journey.jison ***! + \********************************************************/ +/***/ ((module, exports, __webpack_require__) => { + +/* module decorator */ module = __webpack_require__.nmd(module); +/* parser generated by jison 0.4.18 */ +/* + Returns a Parser object of the following structure: + + Parser: { + yy: {} + } + + Parser.prototype: { + yy: {}, + trace: function(), + symbols_: {associative list: name ==> number}, + terminals_: {associative list: number ==> name}, + productions_: [...], + performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$), + table: [...], + defaultActions: {...}, + parseError: function(str, hash), + parse: function(input), + + lexer: { + EOF: 1, + parseError: function(str, hash), + setInput: function(input), + input: function(), + unput: function(str), + more: function(), + less: function(n), + pastInput: function(), + upcomingInput: function(), + showPosition: function(), + test_match: function(regex_match_array, rule_index), + next: function(), + lex: function(), + begin: function(condition), + popState: function(), + _currentRules: function(), + topState: function(), + pushState: function(condition), + + options: { + ranges: boolean (optional: true ==> token location info will include a .range[] member) + flex: boolean (optional: true ==> flex-like lexing behaviour where the rules are tested exhaustively to find the longest match) + backtrack_lexer: boolean (optional: true ==> lexer regexes are tested in order and for each matching regex the action code is invoked; the lexer terminates the scan when a token is returned by the action code) + }, + + performAction: function(yy, yy_, $avoiding_name_collisions, YY_START), + rules: [...], + conditions: {associative list: name ==> set}, + } + } + + + token location info (@$, _$, etc.): { + first_line: n, + last_line: n, + first_column: n, + last_column: n, + range: [start_number, end_number] (where the numbers are indexes into the input string, regular zero-based) + } + + + the parseError function receives a 'hash' object with these members for lexer and parser errors: { + text: (matched text) + token: (the produced terminal token, if any) + line: (yylineno) + } + while parser (grammar) errors will also provide these members, i.e. parser errors deliver a superset of attributes: { + loc: (yylloc) + expected: (string describing the set of expected tokens) + recoverable: (boolean: TRUE when the parser has a error recovery rule available for this particular error) + } +*/ +var parser = (function(){ +var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,2],$V1=[1,5],$V2=[6,9,11,17,18,19,21],$V3=[1,15],$V4=[1,16],$V5=[1,17],$V6=[1,21],$V7=[4,6,9,11,17,18,19,21]; +var parser = {trace: function trace () { }, +yy: {}, +symbols_: {"error":2,"start":3,"journey":4,"document":5,"EOF":6,"directive":7,"line":8,"SPACE":9,"statement":10,"NEWLINE":11,"openDirective":12,"typeDirective":13,"closeDirective":14,":":15,"argDirective":16,"title":17,"section":18,"taskName":19,"taskData":20,"open_directive":21,"type_directive":22,"arg_directive":23,"close_directive":24,"$accept":0,"$end":1}, +terminals_: {2:"error",4:"journey",6:"EOF",9:"SPACE",11:"NEWLINE",15:":",17:"title",18:"section",19:"taskName",20:"taskData",21:"open_directive",22:"type_directive",23:"arg_directive",24:"close_directive"}, +productions_: [0,[3,3],[3,2],[5,0],[5,2],[8,2],[8,1],[8,1],[8,1],[7,4],[7,6],[10,1],[10,1],[10,2],[10,1],[12,1],[13,1],[16,1],[14,1]], +performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) { +/* this == yyval */ + +var $0 = $$.length - 1; +switch (yystate) { +case 1: + return $$[$0-1]; +break; +case 3: + this.$ = [] +break; +case 4: +$$[$0-1].push($$[$0]);this.$ = $$[$0-1] +break; +case 5: case 6: + this.$ = $$[$0] +break; +case 7: case 8: + this.$=[]; +break; +case 11: +yy.setTitle($$[$0].substr(6));this.$=$$[$0].substr(6); +break; +case 12: +yy.addSection($$[$0].substr(8));this.$=$$[$0].substr(8); +break; +case 13: +yy.addTask($$[$0-1], $$[$0]);this.$='task'; +break; +case 15: + yy.parseDirective('%%{', 'open_directive'); +break; +case 16: + yy.parseDirective($$[$0], 'type_directive'); +break; +case 17: + $$[$0] = $$[$0].trim().replace(/'/g, '"'); yy.parseDirective($$[$0], 'arg_directive'); +break; +case 18: + yy.parseDirective('}%%', 'close_directive', 'journey'); +break; +} +}, +table: [{3:1,4:$V0,7:3,12:4,21:$V1},{1:[3]},o($V2,[2,3],{5:6}),{3:7,4:$V0,7:3,12:4,21:$V1},{13:8,22:[1,9]},{22:[2,15]},{6:[1,10],7:18,8:11,9:[1,12],10:13,11:[1,14],12:4,17:$V3,18:$V4,19:$V5,21:$V1},{1:[2,2]},{14:19,15:[1,20],24:$V6},o([15,24],[2,16]),o($V2,[2,8],{1:[2,1]}),o($V2,[2,4]),{7:18,10:22,12:4,17:$V3,18:$V4,19:$V5,21:$V1},o($V2,[2,6]),o($V2,[2,7]),o($V2,[2,11]),o($V2,[2,12]),{20:[1,23]},o($V2,[2,14]),{11:[1,24]},{16:25,23:[1,26]},{11:[2,18]},o($V2,[2,5]),o($V2,[2,13]),o($V7,[2,9]),{14:27,24:$V6},{24:[2,17]},{11:[1,28]},o($V7,[2,10])], +defaultActions: {5:[2,15],7:[2,2],21:[2,18],26:[2,17]}, +parseError: function parseError (str, hash) { + if (hash.recoverable) { + this.trace(str); + } else { + var error = new Error(str); + error.hash = hash; + throw error; + } +}, +parse: function parse(input) { + var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = '', yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1; + var args = lstack.slice.call(arguments, 1); + var lexer = Object.create(this.lexer); + var sharedState = { yy: {} }; + for (var k in this.yy) { + if (Object.prototype.hasOwnProperty.call(this.yy, k)) { + sharedState.yy[k] = this.yy[k]; + } + } + lexer.setInput(input, sharedState.yy); + sharedState.yy.lexer = lexer; + sharedState.yy.parser = this; + if (typeof lexer.yylloc == 'undefined') { + lexer.yylloc = {}; + } + var yyloc = lexer.yylloc; + lstack.push(yyloc); + var ranges = lexer.options && lexer.options.ranges; + if (typeof sharedState.yy.parseError === 'function') { + this.parseError = sharedState.yy.parseError; + } else { + this.parseError = Object.getPrototypeOf(this).parseError; + } + function popStack(n) { + stack.length = stack.length - 2 * n; + vstack.length = vstack.length - n; + lstack.length = lstack.length - n; + } + function lex() { + var token; + token = tstack.pop() || lexer.lex() || EOF; + if (typeof token !== 'number') { + if (token instanceof Array) { + tstack = token; + token = tstack.pop(); + } + token = self.symbols_[token] || token; + } + return token; + } + var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected; + while (true) { + state = stack[stack.length - 1]; + if (this.defaultActions[state]) { + action = this.defaultActions[state]; + } else { + if (symbol === null || typeof symbol == 'undefined') { + symbol = lex(); + } + action = table[state] && table[state][symbol]; + } + if (typeof action === 'undefined' || !action.length || !action[0]) { + var errStr = ''; + expected = []; + for (p in table[state]) { + if (this.terminals_[p] && p > TERROR) { + expected.push('\'' + this.terminals_[p] + '\''); + } + } + if (lexer.showPosition) { + errStr = 'Parse error on line ' + (yylineno + 1) + ':\n' + lexer.showPosition() + '\nExpecting ' + expected.join(', ') + ', got \'' + (this.terminals_[symbol] || symbol) + '\''; + } else { + errStr = 'Parse error on line ' + (yylineno + 1) + ': Unexpected ' + (symbol == EOF ? 'end of input' : '\'' + (this.terminals_[symbol] || symbol) + '\''); + } + this.parseError(errStr, { + text: lexer.match, + token: this.terminals_[symbol] || symbol, + line: lexer.yylineno, + loc: yyloc, + expected: expected + }); + } + if (action[0] instanceof Array && action.length > 1) { + throw new Error('Parse Error: multiple actions possible at state: ' + state + ', token: ' + symbol); + } + switch (action[0]) { + case 1: + stack.push(symbol); + vstack.push(lexer.yytext); + lstack.push(lexer.yylloc); + stack.push(action[1]); + symbol = null; + if (!preErrorSymbol) { + yyleng = lexer.yyleng; + yytext = lexer.yytext; + yylineno = lexer.yylineno; + yyloc = lexer.yylloc; + if (recovering > 0) { + recovering--; + } + } else { + symbol = preErrorSymbol; + preErrorSymbol = null; + } + break; + case 2: + len = this.productions_[action[1]][1]; + yyval.$ = vstack[vstack.length - len]; + yyval._$ = { + first_line: lstack[lstack.length - (len || 1)].first_line, + last_line: lstack[lstack.length - 1].last_line, + first_column: lstack[lstack.length - (len || 1)].first_column, + last_column: lstack[lstack.length - 1].last_column + }; + if (ranges) { + yyval._$.range = [ + lstack[lstack.length - (len || 1)].range[0], + lstack[lstack.length - 1].range[1] + ]; + } + r = this.performAction.apply(yyval, [ + yytext, + yyleng, + yylineno, + sharedState.yy, + action[1], + vstack, + lstack + ].concat(args)); + if (typeof r !== 'undefined') { + return r; + } + if (len) { + stack = stack.slice(0, -1 * len * 2); + vstack = vstack.slice(0, -1 * len); + lstack = lstack.slice(0, -1 * len); + } + stack.push(this.productions_[action[1]][0]); + vstack.push(yyval.$); + lstack.push(yyval._$); + newState = table[stack[stack.length - 2]][stack[stack.length - 1]]; + stack.push(newState); + break; + case 3: + return true; + } + } + return true; +}}; + +/* generated by jison-lex 0.3.4 */ +var lexer = (function(){ +var lexer = ({ + +EOF:1, + +parseError:function parseError(str, hash) { + if (this.yy.parser) { + this.yy.parser.parseError(str, hash); + } else { + throw new Error(str); + } + }, + +// resets the lexer, sets new input +setInput:function (input, yy) { + this.yy = yy || this.yy || {}; + this._input = input; + this._more = this._backtrack = this.done = false; + this.yylineno = this.yyleng = 0; + this.yytext = this.matched = this.match = ''; + this.conditionStack = ['INITIAL']; + this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0 + }; + if (this.options.ranges) { + this.yylloc.range = [0,0]; + } + this.offset = 0; + return this; + }, + +// consumes and returns one char from the input +input:function () { + var ch = this._input[0]; + this.yytext += ch; + this.yyleng++; + this.offset++; + this.match += ch; + this.matched += ch; + var lines = ch.match(/(?:\r\n?|\n).*/g); + if (lines) { + this.yylineno++; + this.yylloc.last_line++; + } else { + this.yylloc.last_column++; + } + if (this.options.ranges) { + this.yylloc.range[1]++; + } + + this._input = this._input.slice(1); + return ch; + }, + +// unshifts one char (or a string) into the input +unput:function (ch) { + var len = ch.length; + var lines = ch.split(/(?:\r\n?|\n)/g); + + this._input = ch + this._input; + this.yytext = this.yytext.substr(0, this.yytext.length - len); + //this.yyleng -= len; + this.offset -= len; + var oldLines = this.match.split(/(?:\r\n?|\n)/g); + this.match = this.match.substr(0, this.match.length - 1); + this.matched = this.matched.substr(0, this.matched.length - 1); + + if (lines.length - 1) { + this.yylineno -= lines.length - 1; + } + var r = this.yylloc.range; + + this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: lines ? + (lines.length === oldLines.length ? this.yylloc.first_column : 0) + + oldLines[oldLines.length - lines.length].length - lines[0].length : + this.yylloc.first_column - len + }; + + if (this.options.ranges) { + this.yylloc.range = [r[0], r[0] + this.yyleng - len]; + } + this.yyleng = this.yytext.length; + return this; + }, + +// When called from action, caches matched text and appends it on next action +more:function () { + this._more = true; + return this; + }, + +// When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead. +reject:function () { + if (this.options.backtrack_lexer) { + this._backtrack = true; + } else { + return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n' + this.showPosition(), { + text: "", + token: null, + line: this.yylineno + }); + + } + return this; + }, + +// retain first n characters of the match +less:function (n) { + this.unput(this.match.slice(n)); + }, + +// displays already matched input, i.e. for error messages +pastInput:function () { + var past = this.matched.substr(0, this.matched.length - this.match.length); + return (past.length > 20 ? '...':'') + past.substr(-20).replace(/\n/g, ""); + }, + +// displays upcoming input, i.e. for error messages +upcomingInput:function () { + var next = this.match; + if (next.length < 20) { + next += this._input.substr(0, 20-next.length); + } + return (next.substr(0,20) + (next.length > 20 ? '...' : '')).replace(/\n/g, ""); + }, + +// displays the character position where the lexing error occurred, i.e. for error messages +showPosition:function () { + var pre = this.pastInput(); + var c = new Array(pre.length + 1).join("-"); + return pre + this.upcomingInput() + "\n" + c + "^"; + }, + +// test the lexed token: return FALSE when not a match, otherwise return token +test_match:function(match, indexed_rule) { + var token, + lines, + backup; + + if (this.options.backtrack_lexer) { + // save context + backup = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done + }; + if (this.options.ranges) { + backup.yylloc.range = this.yylloc.range.slice(0); + } + } + + lines = match[0].match(/(?:\r\n?|\n).*/g); + if (lines) { + this.yylineno += lines.length; + } + this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: lines ? + lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length : + this.yylloc.last_column + match[0].length + }; + this.yytext += match[0]; + this.match += match[0]; + this.matches = match; + this.yyleng = this.yytext.length; + if (this.options.ranges) { + this.yylloc.range = [this.offset, this.offset += this.yyleng]; + } + this._more = false; + this._backtrack = false; + this._input = this._input.slice(match[0].length); + this.matched += match[0]; + token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]); + if (this.done && this._input) { + this.done = false; + } + if (token) { + return token; + } else if (this._backtrack) { + // recover context + for (var k in backup) { + this[k] = backup[k]; + } + return false; // rule action called reject() implying the next rule should be tested instead. + } + return false; + }, + +// return next match in input +next:function () { + if (this.done) { + return this.EOF; + } + if (!this._input) { + this.done = true; + } + + var token, + match, + tempMatch, + index; + if (!this._more) { + this.yytext = ''; + this.match = ''; + } + var rules = this._currentRules(); + for (var i = 0; i < rules.length; i++) { + tempMatch = this._input.match(this.rules[rules[i]]); + if (tempMatch && (!match || tempMatch[0].length > match[0].length)) { + match = tempMatch; + index = i; + if (this.options.backtrack_lexer) { + token = this.test_match(tempMatch, rules[i]); + if (token !== false) { + return token; + } else if (this._backtrack) { + match = false; + continue; // rule action called reject() implying a rule MISmatch. + } else { + // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) + return false; + } + } else if (!this.options.flex) { + break; + } + } + } + if (match) { + token = this.test_match(match, rules[index]); + if (token !== false) { + return token; + } + // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) + return false; + } + if (this._input === "") { + return this.EOF; + } else { + return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\n' + this.showPosition(), { + text: "", + token: null, + line: this.yylineno + }); + } + }, + +// return next match that has a token +lex:function lex () { + var r = this.next(); + if (r) { + return r; + } else { + return this.lex(); + } + }, + +// activates a new lexer condition state (pushes the new lexer condition state onto the condition stack) +begin:function begin (condition) { + this.conditionStack.push(condition); + }, + +// pop the previously active lexer condition state off the condition stack +popState:function popState () { + var n = this.conditionStack.length - 1; + if (n > 0) { + return this.conditionStack.pop(); + } else { + return this.conditionStack[0]; + } + }, + +// produce the lexer rule set which is active for the currently active lexer condition state +_currentRules:function _currentRules () { + if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) { + return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules; + } else { + return this.conditions["INITIAL"].rules; + } + }, + +// return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available +topState:function topState (n) { + n = this.conditionStack.length - 1 - Math.abs(n || 0); + if (n >= 0) { + return this.conditionStack[n]; + } else { + return "INITIAL"; + } + }, + +// alias for begin(condition) +pushState:function pushState (condition) { + this.begin(condition); + }, + +// return the number of states currently on the stack +stateStackSize:function stateStackSize() { + return this.conditionStack.length; + }, +options: {"case-insensitive":true}, +performAction: function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) { +var YYSTATE=YY_START; +switch($avoiding_name_collisions) { +case 0: this.begin('open_directive'); return 21; +break; +case 1: this.begin('type_directive'); return 22; +break; +case 2: this.popState(); this.begin('arg_directive'); return 15; +break; +case 3: this.popState(); this.popState(); return 24; +break; +case 4:return 23; +break; +case 5:/* skip comments */ +break; +case 6:/* skip comments */ +break; +case 7:return 11; +break; +case 8:/* skip whitespace */ +break; +case 9:/* skip comments */ +break; +case 10:return 4; +break; +case 11:return 17; +break; +case 12:return 18; +break; +case 13:return 19; +break; +case 14:return 20; +break; +case 15:return 15; +break; +case 16:return 6; +break; +case 17:return 'INVALID'; +break; +} +}, +rules: [/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:journey\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i], +conditions: {"open_directive":{"rules":[1],"inclusive":false},"type_directive":{"rules":[2,3],"inclusive":false},"arg_directive":{"rules":[3,4],"inclusive":false},"INITIAL":{"rules":[0,5,6,7,8,9,10,11,12,13,14,15,16,17],"inclusive":true}} +}); +return lexer; +})(); +parser.lexer = lexer; +function Parser () { + this.yy = {}; +} +Parser.prototype = parser;parser.Parser = Parser; +return new Parser; +})(); + + +if (true) { +exports.parser = parser; +exports.Parser = parser.Parser; +exports.parse = function () { return parser.parse.apply(parser, arguments); }; +exports.main = function commonjsMain (args) { + if (!args[1]) { + console.log('Usage: '+args[0]+' FILE'); + process.exit(1); + } + var source = __webpack_require__(/*! fs */ "?0f62").readFileSync(__webpack_require__(/*! path */ "./node_modules/path-browserify/index.js").normalize(args[1]), "utf8"); + return exports.parser.parse(source); +}; +if ( true && __webpack_require__.c[__webpack_require__.s] === module) { + exports.main(process.argv.slice(1)); +} +} /***/ }), @@ -664,26 +8739,27 @@ module.exports = JSON.parse("{\"name\":\"mermaid\",\"version\":\"8.13.2\",\"desc /*!***********************!*\ !*** ./src/config.js ***! \***********************/ -/*! exports provided: defaultConfig, updateCurrentConfig, setSiteConfig, saveConfigFromInitilize, updateSiteConfig, getSiteConfig, setConfig, getConfig, sanitize, addDirective, reset */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "defaultConfig", function() { return defaultConfig; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "updateCurrentConfig", function() { return updateCurrentConfig; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setSiteConfig", function() { return setSiteConfig; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "saveConfigFromInitilize", function() { return saveConfigFromInitilize; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "updateSiteConfig", function() { return updateSiteConfig; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getSiteConfig", function() { return getSiteConfig; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setConfig", function() { return setConfig; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getConfig", function() { return getConfig; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "sanitize", function() { return sanitize; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "addDirective", function() { return addDirective; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "reset", function() { return reset; }); -/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils */ "./src/utils.js"); -/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./logger */ "./src/logger.js"); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "defaultConfig": () => (/* binding */ defaultConfig), +/* harmony export */ "updateCurrentConfig": () => (/* binding */ updateCurrentConfig), +/* harmony export */ "setSiteConfig": () => (/* binding */ setSiteConfig), +/* harmony export */ "saveConfigFromInitilize": () => (/* binding */ saveConfigFromInitilize), +/* harmony export */ "updateSiteConfig": () => (/* binding */ updateSiteConfig), +/* harmony export */ "getSiteConfig": () => (/* binding */ getSiteConfig), +/* harmony export */ "setConfig": () => (/* binding */ setConfig), +/* harmony export */ "getConfig": () => (/* binding */ getConfig), +/* harmony export */ "sanitize": () => (/* binding */ sanitize), +/* harmony export */ "addDirective": () => (/* binding */ addDirective), +/* harmony export */ "reset": () => (/* binding */ reset) +/* harmony export */ }); +/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils */ "./src/utils.js"); +/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./logger */ "./src/logger.js"); /* harmony import */ var _themes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./themes */ "./src/themes/index.js"); -/* harmony import */ var _defaultConfig__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./defaultConfig */ "./src/defaultConfig.js"); +/* harmony import */ var _defaultConfig__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./defaultConfig */ "./src/defaultConfig.js"); function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } @@ -691,14 +8767,14 @@ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "functi // debugger; -var defaultConfig = Object.freeze(_defaultConfig__WEBPACK_IMPORTED_MODULE_3__["default"]); -var siteConfig = Object(_utils__WEBPACK_IMPORTED_MODULE_0__["assignWithDepth"])({}, defaultConfig); +var defaultConfig = Object.freeze(_defaultConfig__WEBPACK_IMPORTED_MODULE_0__["default"]); +var siteConfig = (0,_utils__WEBPACK_IMPORTED_MODULE_1__.assignWithDepth)({}, defaultConfig); var configFromInitialize; var directives = []; -var currentConfig = Object(_utils__WEBPACK_IMPORTED_MODULE_0__["assignWithDepth"])({}, defaultConfig); +var currentConfig = (0,_utils__WEBPACK_IMPORTED_MODULE_1__.assignWithDepth)({}, defaultConfig); var updateCurrentConfig = function updateCurrentConfig(siteCfg, _directives) { // start with config beeing the siteConfig - var cfg = Object(_utils__WEBPACK_IMPORTED_MODULE_0__["assignWithDepth"])({}, siteCfg); // let sCfg = assignWithDepth(defaultConfig, siteConfigDelta); + var cfg = (0,_utils__WEBPACK_IMPORTED_MODULE_1__.assignWithDepth)({}, siteCfg); // let sCfg = assignWithDepth(defaultConfig, siteConfigDelta); // Join directives var sumOfDirectives = {}; @@ -707,14 +8783,14 @@ var updateCurrentConfig = function updateCurrentConfig(siteCfg, _directives) { var d = _directives[i]; sanitize(d); // Apply the data from the directive where the the overrides the themeVaraibles - sumOfDirectives = Object(_utils__WEBPACK_IMPORTED_MODULE_0__["assignWithDepth"])(sumOfDirectives, d); + sumOfDirectives = (0,_utils__WEBPACK_IMPORTED_MODULE_1__.assignWithDepth)(sumOfDirectives, d); } - cfg = Object(_utils__WEBPACK_IMPORTED_MODULE_0__["assignWithDepth"])(cfg, sumOfDirectives); + cfg = (0,_utils__WEBPACK_IMPORTED_MODULE_1__.assignWithDepth)(cfg, sumOfDirectives); if (sumOfDirectives.theme) { - var tmpConfigFromInitialize = Object(_utils__WEBPACK_IMPORTED_MODULE_0__["assignWithDepth"])({}, configFromInitialize); - var themeVariables = Object(_utils__WEBPACK_IMPORTED_MODULE_0__["assignWithDepth"])(tmpConfigFromInitialize.themeVariables || {}, sumOfDirectives.themeVariables); + var tmpConfigFromInitialize = (0,_utils__WEBPACK_IMPORTED_MODULE_1__.assignWithDepth)({}, configFromInitialize); + var themeVariables = (0,_utils__WEBPACK_IMPORTED_MODULE_1__.assignWithDepth)(tmpConfigFromInitialize.themeVariables || {}, sumOfDirectives.themeVariables); cfg.themeVariables = _themes__WEBPACK_IMPORTED_MODULE_2__["default"][cfg.theme].getThemeVariables(themeVariables); } @@ -737,8 +8813,8 @@ var updateCurrentConfig = function updateCurrentConfig(siteCfg, _directives) { */ var setSiteConfig = function setSiteConfig(conf) { - siteConfig = Object(_utils__WEBPACK_IMPORTED_MODULE_0__["assignWithDepth"])({}, defaultConfig); - siteConfig = Object(_utils__WEBPACK_IMPORTED_MODULE_0__["assignWithDepth"])(siteConfig, conf); + siteConfig = (0,_utils__WEBPACK_IMPORTED_MODULE_1__.assignWithDepth)({}, defaultConfig); + siteConfig = (0,_utils__WEBPACK_IMPORTED_MODULE_1__.assignWithDepth)(siteConfig, conf); if (conf.theme) { siteConfig.themeVariables = _themes__WEBPACK_IMPORTED_MODULE_2__["default"][conf.theme].getThemeVariables(conf.themeVariables); @@ -748,10 +8824,10 @@ var setSiteConfig = function setSiteConfig(conf) { return siteConfig; }; var saveConfigFromInitilize = function saveConfigFromInitilize(conf) { - configFromInitialize = Object(_utils__WEBPACK_IMPORTED_MODULE_0__["assignWithDepth"])({}, conf); + configFromInitialize = (0,_utils__WEBPACK_IMPORTED_MODULE_1__.assignWithDepth)({}, conf); }; var updateSiteConfig = function updateSiteConfig(conf) { - siteConfig = Object(_utils__WEBPACK_IMPORTED_MODULE_0__["assignWithDepth"])(siteConfig, conf); + siteConfig = (0,_utils__WEBPACK_IMPORTED_MODULE_1__.assignWithDepth)(siteConfig, conf); updateCurrentConfig(siteConfig, directives); return siteConfig; }; @@ -766,7 +8842,7 @@ var updateSiteConfig = function updateSiteConfig(conf) { */ var getSiteConfig = function getSiteConfig() { - return Object(_utils__WEBPACK_IMPORTED_MODULE_0__["assignWithDepth"])({}, siteConfig); + return (0,_utils__WEBPACK_IMPORTED_MODULE_1__.assignWithDepth)({}, siteConfig); }; /** *## setConfig @@ -787,7 +8863,7 @@ var setConfig = function setConfig(conf) { // const manipulator = manipulators[key]; // conf[key] = manipulator ? manipulator(conf[key]) : conf[key]; // }); - Object(_utils__WEBPACK_IMPORTED_MODULE_0__["assignWithDepth"])(currentConfig, conf); + (0,_utils__WEBPACK_IMPORTED_MODULE_1__.assignWithDepth)(currentConfig, conf); return getConfig(); }; /** @@ -801,7 +8877,7 @@ var setConfig = function setConfig(conf) { */ var getConfig = function getConfig() { - return Object(_utils__WEBPACK_IMPORTED_MODULE_0__["assignWithDepth"])({}, currentConfig); + return (0,_utils__WEBPACK_IMPORTED_MODULE_1__.assignWithDepth)({}, currentConfig); }; /** *## sanitize @@ -819,7 +8895,7 @@ var sanitize = function sanitize(options) { if (typeof options[siteConfig.secure[key]] !== 'undefined') { // DO NOT attempt to print options[siteConfig.secure[key]] within `${}` as a malicious script // can exploit the logger's attempt to stringify the value and execute arbitrary code - _logger__WEBPACK_IMPORTED_MODULE_1__["log"].debug("Denied attempt to modify a secure key ".concat(siteConfig.secure[key]), options[siteConfig.secure[key]]); + _logger__WEBPACK_IMPORTED_MODULE_3__.log.debug("Denied attempt to modify a secure key ".concat(siteConfig.secure[key]), options[siteConfig.secure[key]]); delete options[siteConfig.secure[key]]; } }); // Check that there no attempts of prototype pollution @@ -888,22 +8964,23 @@ var reset = function reset() { /*!***************************************!*\ !*** ./src/dagre-wrapper/clusters.js ***! \***************************************/ -/*! exports provided: insertCluster, getClusterTitleWidth, clear, positionCluster */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "insertCluster", function() { return insertCluster; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getClusterTitleWidth", function() { return getClusterTitleWidth; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "clear", function() { return clear; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "positionCluster", function() { return positionCluster; }); -/* harmony import */ var _intersect_intersect_rect__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./intersect/intersect-rect */ "./src/dagre-wrapper/intersect/intersect-rect.js"); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "insertCluster": () => (/* binding */ insertCluster), +/* harmony export */ "getClusterTitleWidth": () => (/* binding */ getClusterTitleWidth), +/* harmony export */ "clear": () => (/* binding */ clear), +/* harmony export */ "positionCluster": () => (/* binding */ positionCluster) +/* harmony export */ }); +/* harmony import */ var _intersect_intersect_rect__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./intersect/intersect-rect */ "./src/dagre-wrapper/intersect/intersect-rect.js"); /* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../logger */ "./src/logger.js"); /* harmony import */ var _createLabel__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./createLabel */ "./src/dagre-wrapper/createLabel.js"); -/* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! d3 */ "d3"); -/* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(d3__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3 */ "d3"); +/* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(d3__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../config */ "./src/config.js"); -/* harmony import */ var _diagrams_common_common__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../diagrams/common/common */ "./src/diagrams/common/common.js"); +/* harmony import */ var _diagrams_common_common__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../diagrams/common/common */ "./src/diagrams/common/common.js"); @@ -912,20 +8989,20 @@ __webpack_require__.r(__webpack_exports__); var rect = function rect(parent, node) { - _logger__WEBPACK_IMPORTED_MODULE_1__["log"].trace('Creating subgraph rect for ', node.id, node); // Add outer g element + _logger__WEBPACK_IMPORTED_MODULE_1__.log.trace('Creating subgraph rect for ', node.id, node); // Add outer g element var shapeSvg = parent.insert('g').attr('class', 'cluster' + (node.class ? ' ' + node.class : '')).attr('id', node.id); // add the rect var rect = shapeSvg.insert('rect', ':first-child'); // Create the label and insert it after the rect var label = shapeSvg.insert('g').attr('class', 'cluster-label'); - var text = label.node().appendChild(Object(_createLabel__WEBPACK_IMPORTED_MODULE_2__["default"])(node.labelText, node.labelStyle, undefined, true)); // Get the size of the label + var text = label.node().appendChild((0,_createLabel__WEBPACK_IMPORTED_MODULE_2__["default"])(node.labelText, node.labelStyle, undefined, true)); // Get the size of the label var bbox = text.getBBox(); - if (Object(_diagrams_common_common__WEBPACK_IMPORTED_MODULE_5__["evaluate"])(Object(_config__WEBPACK_IMPORTED_MODULE_4__["getConfig"])().flowchart.htmlLabels)) { + if ((0,_diagrams_common_common__WEBPACK_IMPORTED_MODULE_3__.evaluate)((0,_config__WEBPACK_IMPORTED_MODULE_4__.getConfig)().flowchart.htmlLabels)) { var div = text.children[0]; - var dv = Object(d3__WEBPACK_IMPORTED_MODULE_3__["select"])(text); + var dv = (0,d3__WEBPACK_IMPORTED_MODULE_0__.select)(text); bbox = div.getBoundingClientRect(); dv.attr('width', bbox.width); dv.attr('height', bbox.height); @@ -941,7 +9018,7 @@ var rect = function rect(parent, node) { node.diff = -node.padding / 2; } - _logger__WEBPACK_IMPORTED_MODULE_1__["log"].trace('Data ', node, JSON.stringify(node)); // center the rect around its coordinate + _logger__WEBPACK_IMPORTED_MODULE_1__.log.trace('Data ', node, JSON.stringify(node)); // center the rect around its coordinate rect.attr('style', node.style).attr('rx', node.rx).attr('ry', node.ry).attr('x', node.x - width / 2).attr('y', node.y - node.height / 2 - halfPadding).attr('width', width).attr('height', node.height + padding); // Center the label @@ -951,7 +9028,7 @@ var rect = function rect(parent, node) { node.height = rectBox.height; node.intersect = function (point) { - return Object(_intersect_intersect_rect__WEBPACK_IMPORTED_MODULE_0__["default"])(node, point); + return (0,_intersect_intersect_rect__WEBPACK_IMPORTED_MODULE_5__["default"])(node, point); }; return shapeSvg; @@ -975,7 +9052,7 @@ var noteGroup = function noteGroup(parent, node) { node.height = rectBox.height; node.intersect = function (point) { - return Object(_intersect_intersect_rect__WEBPACK_IMPORTED_MODULE_0__["default"])(node, point); + return (0,_intersect_intersect_rect__WEBPACK_IMPORTED_MODULE_5__["default"])(node, point); }; return shapeSvg; @@ -989,13 +9066,13 @@ var roundedWithTitle = function roundedWithTitle(parent, node) { var label = shapeSvg.insert('g').attr('class', 'cluster-label'); var innerRect = shapeSvg.append('rect'); - var text = label.node().appendChild(Object(_createLabel__WEBPACK_IMPORTED_MODULE_2__["default"])(node.labelText, node.labelStyle, undefined, true)); // Get the size of the label + var text = label.node().appendChild((0,_createLabel__WEBPACK_IMPORTED_MODULE_2__["default"])(node.labelText, node.labelStyle, undefined, true)); // Get the size of the label var bbox = text.getBBox(); - if (Object(_diagrams_common_common__WEBPACK_IMPORTED_MODULE_5__["evaluate"])(Object(_config__WEBPACK_IMPORTED_MODULE_4__["getConfig"])().flowchart.htmlLabels)) { + if ((0,_diagrams_common_common__WEBPACK_IMPORTED_MODULE_3__.evaluate)((0,_config__WEBPACK_IMPORTED_MODULE_4__.getConfig)().flowchart.htmlLabels)) { var div = text.children[0]; - var dv = Object(d3__WEBPACK_IMPORTED_MODULE_3__["select"])(text); + var dv = (0,d3__WEBPACK_IMPORTED_MODULE_0__.select)(text); bbox = div.getBoundingClientRect(); dv.attr('width', bbox.width); dv.attr('height', bbox.height); @@ -1016,12 +9093,12 @@ var roundedWithTitle = function roundedWithTitle(parent, node) { rect.attr('class', 'outer').attr('x', node.x - width / 2 - halfPadding).attr('y', node.y - node.height / 2 - halfPadding).attr('width', width + padding).attr('height', node.height + padding); innerRect.attr('class', 'inner').attr('x', node.x - width / 2 - halfPadding).attr('y', node.y - node.height / 2 - halfPadding + bbox.height - 1).attr('width', width + padding).attr('height', node.height + padding - bbox.height - 3); // Center the label - label.attr('transform', 'translate(' + (node.x - bbox.width / 2) + ', ' + (node.y - node.height / 2 - node.padding / 3 + (Object(_diagrams_common_common__WEBPACK_IMPORTED_MODULE_5__["evaluate"])(Object(_config__WEBPACK_IMPORTED_MODULE_4__["getConfig"])().flowchart.htmlLabels) ? 5 : 3)) + ')'); + label.attr('transform', 'translate(' + (node.x - bbox.width / 2) + ', ' + (node.y - node.height / 2 - node.padding / 3 + ((0,_diagrams_common_common__WEBPACK_IMPORTED_MODULE_3__.evaluate)((0,_config__WEBPACK_IMPORTED_MODULE_4__.getConfig)().flowchart.htmlLabels) ? 5 : 3)) + ')'); var rectBox = rect.node().getBBox(); node.height = rectBox.height; node.intersect = function (point) { - return Object(_intersect_intersect_rect__WEBPACK_IMPORTED_MODULE_0__["default"])(node, point); + return (0,_intersect_intersect_rect__WEBPACK_IMPORTED_MODULE_5__["default"])(node, point); }; return shapeSvg; @@ -1042,7 +9119,7 @@ var divider = function divider(parent, node) { node.diff = -node.padding / 2; node.intersect = function (point) { - return Object(_intersect_intersect_rect__WEBPACK_IMPORTED_MODULE_0__["default"])(node, point); + return (0,_intersect_intersect_rect__WEBPACK_IMPORTED_MODULE_5__["default"])(node, point); }; return shapeSvg; @@ -1056,12 +9133,12 @@ var shapes = { }; var clusterElems = {}; var insertCluster = function insertCluster(elem, node) { - _logger__WEBPACK_IMPORTED_MODULE_1__["log"].trace('Inserting cluster'); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.trace('Inserting cluster'); var shape = node.shape || 'rect'; clusterElems[node.id] = shapes[shape](elem, node); }; var getClusterTitleWidth = function getClusterTitleWidth(elem, node) { - var label = Object(_createLabel__WEBPACK_IMPORTED_MODULE_2__["default"])(node.labelText, node.labelStyle, undefined, true); + var label = (0,_createLabel__WEBPACK_IMPORTED_MODULE_2__["default"])(node.labelText, node.labelStyle, undefined, true); elem.node().appendChild(label); var width = label.getBBox().width; elem.node().removeChild(label); @@ -1071,7 +9148,7 @@ var clear = function clear() { clusterElems = {}; }; var positionCluster = function positionCluster(node) { - _logger__WEBPACK_IMPORTED_MODULE_1__["log"].info('Position cluster (' + node.id + ', ' + node.x + ', ' + node.y + ')'); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.info('Position cluster (' + node.id + ', ' + node.x + ', ' + node.y + ')'); var el = clusterElems[node.id]; el.attr('transform', 'translate(' + node.x + ', ' + node.y + ')'); }; @@ -1082,16 +9159,18 @@ var positionCluster = function positionCluster(node) { /*!******************************************!*\ !*** ./src/dagre-wrapper/createLabel.js ***! \******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); /* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3 */ "d3"); /* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(d3__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../logger */ "./src/logger.js"); -/* harmony import */ var _diagrams_common_common__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../diagrams/common/common */ "./src/diagrams/common/common.js"); -/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../config */ "./src/config.js"); +/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../logger */ "./src/logger.js"); +/* harmony import */ var _diagrams_common_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../diagrams/common/common */ "./src/diagrams/common/common.js"); +/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../config */ "./src/config.js"); function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } @@ -1152,7 +9231,7 @@ function addHtmlLabel(node) { // div.style('white-space', 'nowrap'); // var client = div.node().getBoundingClientRect(); // fo.attr('width', client.width).attr('height', client.height); - var fo = Object(d3__WEBPACK_IMPORTED_MODULE_0__["select"])(document.createElementNS('http://www.w3.org/2000/svg', 'foreignObject')); + var fo = (0,d3__WEBPACK_IMPORTED_MODULE_0__.select)(document.createElementNS('http://www.w3.org/2000/svg', 'foreignObject')); var div = fo.append('xhtml:div'); var label = node.label; var labelClass = node.isNode ? 'nodeLabel' : 'edgeLabel'; @@ -1169,10 +9248,10 @@ var createLabel = function createLabel(_vertexText, style, isTitle, isNode) { var vertexText = _vertexText || ''; if (_typeof(vertexText) === 'object') vertexText = vertexText[0]; - if (Object(_diagrams_common_common__WEBPACK_IMPORTED_MODULE_2__["evaluate"])(Object(_config__WEBPACK_IMPORTED_MODULE_3__["getConfig"])().flowchart.htmlLabels)) { + if ((0,_diagrams_common_common__WEBPACK_IMPORTED_MODULE_1__.evaluate)((0,_config__WEBPACK_IMPORTED_MODULE_2__.getConfig)().flowchart.htmlLabels)) { // TODO: addHtmlLabel accepts a labelStyle. Do we possibly have that? vertexText = vertexText.replace(/\\n|\n/g, '
'); - _logger__WEBPACK_IMPORTED_MODULE_1__["log"].info('vertexText' + vertexText); + _logger__WEBPACK_IMPORTED_MODULE_3__.log.info('vertexText' + vertexText); var node = { isNode: isNode, label: vertexText.replace(/fa[lrsb]?:fa-[\w-]+/g, function (s) { @@ -1216,7 +9295,7 @@ var createLabel = function createLabel(_vertexText, style, isTitle, isNode) { } }; -/* harmony default export */ __webpack_exports__["default"] = (createLabel); +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createLabel); /***/ }), @@ -1224,23 +9303,24 @@ var createLabel = function createLabel(_vertexText, style, isTitle, isNode) { /*!************************************!*\ !*** ./src/dagre-wrapper/edges.js ***! \************************************/ -/*! exports provided: clear, insertEdgeLabel, positionEdgeLabel, intersection, insertEdge */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "clear", function() { return clear; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "insertEdgeLabel", function() { return insertEdgeLabel; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "positionEdgeLabel", function() { return positionEdgeLabel; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "intersection", function() { return intersection; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "insertEdge", function() { return insertEdge; }); -/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../logger */ "./src/logger.js"); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "clear": () => (/* binding */ clear), +/* harmony export */ "insertEdgeLabel": () => (/* binding */ insertEdgeLabel), +/* harmony export */ "positionEdgeLabel": () => (/* binding */ positionEdgeLabel), +/* harmony export */ "intersection": () => (/* binding */ intersection), +/* harmony export */ "insertEdge": () => (/* binding */ insertEdge) +/* harmony export */ }); +/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../logger */ "./src/logger.js"); /* harmony import */ var _createLabel__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./createLabel */ "./src/dagre-wrapper/createLabel.js"); -/* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! d3 */ "d3"); -/* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(d3__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3 */ "d3"); +/* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(d3__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../config */ "./src/config.js"); -/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils */ "./src/utils.js"); -/* harmony import */ var _diagrams_common_common__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../diagrams/common/common */ "./src/diagrams/common/common.js"); +/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils */ "./src/utils.js"); +/* harmony import */ var _diagrams_common_common__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../diagrams/common/common */ "./src/diagrams/common/common.js"); // eslint-disable-line // import { line, curveBasis, curveLinear, select } from 'd3'; @@ -1257,7 +9337,7 @@ var clear = function clear() { }; var insertEdgeLabel = function insertEdgeLabel(elem, edge) { // Create the actual text element - var labelElement = Object(_createLabel__WEBPACK_IMPORTED_MODULE_1__["default"])(edge.label, edge.labelStyle); // Create outer g, edgeLabel, this will be positioned after graph layout + var labelElement = (0,_createLabel__WEBPACK_IMPORTED_MODULE_1__["default"])(edge.label, edge.labelStyle); // Create outer g, edgeLabel, this will be positioned after graph layout var edgeLabel = elem.insert('g').attr('class', 'edgeLabel'); // Create inner g, label, this will be positioned now for centering the text @@ -1266,9 +9346,9 @@ var insertEdgeLabel = function insertEdgeLabel(elem, edge) { var bbox = labelElement.getBBox(); - if (Object(_diagrams_common_common__WEBPACK_IMPORTED_MODULE_5__["evaluate"])(Object(_config__WEBPACK_IMPORTED_MODULE_3__["getConfig"])().flowchart.htmlLabels)) { + if ((0,_diagrams_common_common__WEBPACK_IMPORTED_MODULE_2__.evaluate)((0,_config__WEBPACK_IMPORTED_MODULE_3__.getConfig)().flowchart.htmlLabels)) { var div = labelElement.children[0]; - var dv = Object(d3__WEBPACK_IMPORTED_MODULE_2__["select"])(labelElement); + var dv = (0,d3__WEBPACK_IMPORTED_MODULE_0__.select)(labelElement); bbox = div.getBoundingClientRect(); dv.attr('width', bbox.width); dv.attr('height', bbox.height); @@ -1284,7 +9364,7 @@ var insertEdgeLabel = function insertEdgeLabel(elem, edge) { if (edge.startLabelLeft) { // Create the actual text element - var startLabelElement = Object(_createLabel__WEBPACK_IMPORTED_MODULE_1__["default"])(edge.startLabelLeft, edge.labelStyle); + var startLabelElement = (0,_createLabel__WEBPACK_IMPORTED_MODULE_1__["default"])(edge.startLabelLeft, edge.labelStyle); var startEdgeLabelLeft = elem.insert('g').attr('class', 'edgeTerminals'); var inner = startEdgeLabelLeft.insert('g').attr('class', 'inner'); fo = inner.node().appendChild(startLabelElement); @@ -1301,7 +9381,7 @@ var insertEdgeLabel = function insertEdgeLabel(elem, edge) { if (edge.startLabelRight) { // Create the actual text element - var _startLabelElement = Object(_createLabel__WEBPACK_IMPORTED_MODULE_1__["default"])(edge.startLabelRight, edge.labelStyle); + var _startLabelElement = (0,_createLabel__WEBPACK_IMPORTED_MODULE_1__["default"])(edge.startLabelRight, edge.labelStyle); var startEdgeLabelRight = elem.insert('g').attr('class', 'edgeTerminals'); @@ -1325,7 +9405,7 @@ var insertEdgeLabel = function insertEdgeLabel(elem, edge) { if (edge.endLabelLeft) { // Create the actual text element - var endLabelElement = Object(_createLabel__WEBPACK_IMPORTED_MODULE_1__["default"])(edge.endLabelLeft, edge.labelStyle); + var endLabelElement = (0,_createLabel__WEBPACK_IMPORTED_MODULE_1__["default"])(edge.endLabelLeft, edge.labelStyle); var endEdgeLabelLeft = elem.insert('g').attr('class', 'edgeTerminals'); var _inner2 = endEdgeLabelLeft.insert('g').attr('class', 'inner'); @@ -1348,7 +9428,7 @@ var insertEdgeLabel = function insertEdgeLabel(elem, edge) { if (edge.endLabelRight) { // Create the actual text element - var _endLabelElement = Object(_createLabel__WEBPACK_IMPORTED_MODULE_1__["default"])(edge.endLabelRight, edge.labelStyle); + var _endLabelElement = (0,_createLabel__WEBPACK_IMPORTED_MODULE_1__["default"])(edge.endLabelRight, edge.labelStyle); var endEdgeLabelRight = elem.insert('g').attr('class', 'edgeTerminals'); @@ -1372,14 +9452,14 @@ var insertEdgeLabel = function insertEdgeLabel(elem, edge) { }; function setTerminalWidth(fo, value) { - if (Object(_config__WEBPACK_IMPORTED_MODULE_3__["getConfig"])().flowchart.htmlLabels && fo) { + if ((0,_config__WEBPACK_IMPORTED_MODULE_3__.getConfig)().flowchart.htmlLabels && fo) { fo.style.width = value.length * 9 + 'px'; fo.style.height = '12px'; } } var positionEdgeLabel = function positionEdgeLabel(edge, paths) { - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].info('Moving label abc78 ', edge.id, edge.label, edgeLabels[edge.id]); + _logger__WEBPACK_IMPORTED_MODULE_4__.log.info('Moving label abc78 ', edge.id, edge.label, edgeLabels[edge.id]); var path = paths.updatedPath ? paths.updatedPath : paths.originalPath; if (edge.label) { @@ -1389,8 +9469,8 @@ var positionEdgeLabel = function positionEdgeLabel(edge, paths) { if (path) { // // debugger; - var pos = _utils__WEBPACK_IMPORTED_MODULE_4__["default"].calcLabelPosition(path); - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].info('Moving label from (', x, ',', y, ') to (', pos.x, ',', pos.y, ') abc78'); // x = pos.x; + var pos = _utils__WEBPACK_IMPORTED_MODULE_5__["default"].calcLabelPosition(path); + _logger__WEBPACK_IMPORTED_MODULE_4__.log.info('Moving label from (', x, ',', y, ') to (', pos.x, ',', pos.y, ') abc78'); // x = pos.x; // y = pos.y; } @@ -1405,7 +9485,7 @@ var positionEdgeLabel = function positionEdgeLabel(edge, paths) { if (path) { // debugger; - var _pos = _utils__WEBPACK_IMPORTED_MODULE_4__["default"].calcTerminalLabelPosition(edge.arrowTypeStart ? 10 : 0, 'start_left', path); + var _pos = _utils__WEBPACK_IMPORTED_MODULE_5__["default"].calcTerminalLabelPosition(edge.arrowTypeStart ? 10 : 0, 'start_left', path); _x2 = _pos.x; _y2 = _pos.y; @@ -1421,7 +9501,7 @@ var positionEdgeLabel = function positionEdgeLabel(edge, paths) { if (path) { // debugger; - var _pos2 = _utils__WEBPACK_IMPORTED_MODULE_4__["default"].calcTerminalLabelPosition(edge.arrowTypeStart ? 10 : 0, 'start_right', path); + var _pos2 = _utils__WEBPACK_IMPORTED_MODULE_5__["default"].calcTerminalLabelPosition(edge.arrowTypeStart ? 10 : 0, 'start_right', path); _x3 = _pos2.x; _y3 = _pos2.y; @@ -1437,7 +9517,7 @@ var positionEdgeLabel = function positionEdgeLabel(edge, paths) { if (path) { // debugger; - var _pos3 = _utils__WEBPACK_IMPORTED_MODULE_4__["default"].calcTerminalLabelPosition(edge.arrowTypeEnd ? 10 : 0, 'end_left', path); + var _pos3 = _utils__WEBPACK_IMPORTED_MODULE_5__["default"].calcTerminalLabelPosition(edge.arrowTypeEnd ? 10 : 0, 'end_left', path); _x4 = _pos3.x; _y4 = _pos3.y; @@ -1453,7 +9533,7 @@ var positionEdgeLabel = function positionEdgeLabel(edge, paths) { if (path) { // debugger; - var _pos4 = _utils__WEBPACK_IMPORTED_MODULE_4__["default"].calcTerminalLabelPosition(edge.arrowTypeEnd ? 10 : 0, 'end_right', path); + var _pos4 = _utils__WEBPACK_IMPORTED_MODULE_5__["default"].calcTerminalLabelPosition(edge.arrowTypeEnd ? 10 : 0, 'end_right', path); _x5 = _pos4.x; _y5 = _pos4.y; @@ -1491,7 +9571,7 @@ var outsideNode = function outsideNode(node, point) { }; var intersection = function intersection(node, outsidePoint, insidePoint) { - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].warn("intersection calc abc89:\n outsidePoint: ".concat(JSON.stringify(outsidePoint), "\n insidePoint : ").concat(JSON.stringify(insidePoint), "\n node : x:").concat(node.x, " y:").concat(node.y, " w:").concat(node.width, " h:").concat(node.height)); + _logger__WEBPACK_IMPORTED_MODULE_4__.log.warn("intersection calc abc89:\n outsidePoint: ".concat(JSON.stringify(outsidePoint), "\n insidePoint : ").concat(JSON.stringify(insidePoint), "\n node : x:").concat(node.x, " y:").concat(node.y, " w:").concat(node.width, " h:").concat(node.height)); var x = node.x; var y = node.y; var dx = Math.abs(x - insidePoint.x); // const dy = Math.abs(y - insidePoint.y); @@ -1541,7 +9621,7 @@ var intersection = function intersection(node, outsidePoint, insidePoint) { res.y = outsidePoint.y; } - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].warn("abc89 topp/bott calc, Q ".concat(Q, ", q ").concat(q, ", R ").concat(R, ", r ").concat(r), res); + _logger__WEBPACK_IMPORTED_MODULE_4__.log.warn("abc89 topp/bott calc, Q ".concat(Q, ", q ").concat(q, ", R ").concat(R, ", r ").concat(r), res); return res; } else { // Intersection onn sides of rect @@ -1561,7 +9641,7 @@ var intersection = function intersection(node, outsidePoint, insidePoint) { var _y = insidePoint.y < outsidePoint.y ? insidePoint.y + _q : insidePoint.y - _q; - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].warn("sides calc abc89, Q ".concat(Q, ", q ").concat(_q, ", R ").concat(R, ", r ").concat(r), { + _logger__WEBPACK_IMPORTED_MODULE_4__.log.warn("sides calc abc89, Q ".concat(Q, ", q ").concat(_q, ", R ").concat(R, ", r ").concat(r), { _x: _x, _y: _y }); @@ -1594,21 +9674,21 @@ var intersection = function intersection(node, outsidePoint, insidePoint) { */ var cutPathAtIntersect = function cutPathAtIntersect(_points, boundryNode) { - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].warn('abc88 cutPathAtIntersect', _points, boundryNode); + _logger__WEBPACK_IMPORTED_MODULE_4__.log.warn('abc88 cutPathAtIntersect', _points, boundryNode); var points = []; var lastPointOutside = _points[0]; var isInside = false; _points.forEach(function (point) { // const node = clusterDb[edge.toCluster].node; - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].info('abc88 checking point', point, boundryNode); // check if point is inside the boundry rect + _logger__WEBPACK_IMPORTED_MODULE_4__.log.info('abc88 checking point', point, boundryNode); // check if point is inside the boundry rect if (!outsideNode(boundryNode, point) && !isInside) { // First point inside the rect found // Calc the intersection coord between the point anf the last opint ouside the rect var inter = intersection(boundryNode, lastPointOutside, point); - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].warn('abc88 inside', point, lastPointOutside, inter); - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].warn('abc88 intersection', inter); // // Check case where the intersection is the same as the last point + _logger__WEBPACK_IMPORTED_MODULE_4__.log.warn('abc88 inside', point, lastPointOutside, inter); + _logger__WEBPACK_IMPORTED_MODULE_4__.log.warn('abc88 intersection', inter); // // Check case where the intersection is the same as the last point var pointPresent = false; points.forEach(function (p) { @@ -1620,21 +9700,21 @@ var cutPathAtIntersect = function cutPathAtIntersect(_points, boundryNode) { })) { points.push(inter); } else { - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].warn('abc88 no intersect', inter, points); + _logger__WEBPACK_IMPORTED_MODULE_4__.log.warn('abc88 no intersect', inter, points); } // points.push(inter); isInside = true; } else { // Outside - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].warn('abc88 outside', point, lastPointOutside); + _logger__WEBPACK_IMPORTED_MODULE_4__.log.warn('abc88 outside', point, lastPointOutside); lastPointOutside = point; // points.push(point); if (!isInside) points.push(point); } }); - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].warn('abc88 returning points', points); + _logger__WEBPACK_IMPORTED_MODULE_4__.log.warn('abc88 returning points', points); return points; }; //(edgePaths, e, edge, clusterDb, diagramtype, graph) @@ -1644,17 +9724,17 @@ var insertEdge = function insertEdge(elem, e, edge, clusterDb, diagramType, grap var pointsHasChanged = false; var tail = graph.node(e.v); var head = graph.node(e.w); - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].info('abc88 InsertEdge: ', edge); + _logger__WEBPACK_IMPORTED_MODULE_4__.log.info('abc88 InsertEdge: ', edge); if (head.intersect && tail.intersect) { points = points.slice(1, edge.points.length - 1); points.unshift(tail.intersect(points[0])); - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].info('Last point', points[points.length - 1], head, head.intersect(points[points.length - 1])); + _logger__WEBPACK_IMPORTED_MODULE_4__.log.info('Last point', points[points.length - 1], head, head.intersect(points[points.length - 1])); points.push(head.intersect(points[points.length - 1])); } if (edge.toCluster) { - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].info('to cluster abc88', clusterDb[edge.toCluster]); + _logger__WEBPACK_IMPORTED_MODULE_4__.log.info('to cluster abc88', clusterDb[edge.toCluster]); points = cutPathAtIntersect(edge.points, clusterDb[edge.toCluster].node); // log.trace('edge', edge); // points = []; // let lastPointOutside; // = edge.points[0]; @@ -1688,7 +9768,7 @@ var insertEdge = function insertEdge(elem, e, edge, clusterDb, diagramType, grap } if (edge.fromCluster) { - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].info('from cluster abc88', clusterDb[edge.fromCluster]); + _logger__WEBPACK_IMPORTED_MODULE_4__.log.info('from cluster abc88', clusterDb[edge.fromCluster]); points = cutPathAtIntersect(points.reverse(), clusterDb[edge.fromCluster].node).reverse(); // log.warn('edge', edge); // log.warn('from cluster', clusterDb[edge.fromCluster], points); // const updatedPoints = []; @@ -1740,13 +9820,13 @@ var insertEdge = function insertEdge(elem, e, edge, clusterDb, diagramType, grap // have not been thought through if (diagramType === 'graph' || diagramType === 'flowchart') { - curve = edge.curve || d3__WEBPACK_IMPORTED_MODULE_2__["curveBasis"]; + curve = edge.curve || d3__WEBPACK_IMPORTED_MODULE_0__.curveBasis; } else { - curve = d3__WEBPACK_IMPORTED_MODULE_2__["curveBasis"]; + curve = d3__WEBPACK_IMPORTED_MODULE_0__.curveBasis; } // curve = curveLinear; - var lineFunction = Object(d3__WEBPACK_IMPORTED_MODULE_2__["line"])().x(function (d) { + var lineFunction = (0,d3__WEBPACK_IMPORTED_MODULE_0__.line)().x(function (d) { return d.x; }).y(function (d) { return d.y; @@ -1794,14 +9874,14 @@ var insertEdge = function insertEdge(elem, e, edge, clusterDb, diagramType, grap var url = ''; - if (Object(_config__WEBPACK_IMPORTED_MODULE_3__["getConfig"])().state.arrowMarkerAbsolute) { + if ((0,_config__WEBPACK_IMPORTED_MODULE_3__.getConfig)().state.arrowMarkerAbsolute) { url = window.location.protocol + '//' + window.location.host + window.location.pathname + window.location.search; url = url.replace(/\(/g, '\\('); url = url.replace(/\)/g, '\\)'); } - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].info('arrowTypeStart', edge.arrowTypeStart); - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].info('arrowTypeEnd', edge.arrowTypeEnd); + _logger__WEBPACK_IMPORTED_MODULE_4__.log.info('arrowTypeStart', edge.arrowTypeStart); + _logger__WEBPACK_IMPORTED_MODULE_4__.log.info('arrowTypeEnd', edge.arrowTypeEnd); switch (edge.arrowTypeStart) { case 'arrow_cross': @@ -1891,23 +9971,24 @@ var insertEdge = function insertEdge(elem, e, edge, clusterDb, diagramType, grap /*!************************************!*\ !*** ./src/dagre-wrapper/index.js ***! \************************************/ -/*! exports provided: render */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; }); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "render": () => (/* binding */ render) +/* harmony export */ }); /* harmony import */ var dagre__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dagre */ "dagre"); /* harmony import */ var dagre__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(dagre__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var graphlib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! graphlib */ "graphlib"); /* harmony import */ var graphlib__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(graphlib__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var _markers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./markers */ "./src/dagre-wrapper/markers.js"); +/* harmony import */ var _markers__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./markers */ "./src/dagre-wrapper/markers.js"); /* harmony import */ var _shapes_util__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./shapes/util */ "./src/dagre-wrapper/shapes/util.js"); -/* harmony import */ var _mermaid_graphlib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./mermaid-graphlib */ "./src/dagre-wrapper/mermaid-graphlib.js"); -/* harmony import */ var _nodes__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./nodes */ "./src/dagre-wrapper/nodes.js"); -/* harmony import */ var _clusters__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./clusters */ "./src/dagre-wrapper/clusters.js"); -/* harmony import */ var _edges__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./edges */ "./src/dagre-wrapper/edges.js"); -/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../logger */ "./src/logger.js"); +/* harmony import */ var _mermaid_graphlib__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./mermaid-graphlib */ "./src/dagre-wrapper/mermaid-graphlib.js"); +/* harmony import */ var _nodes__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./nodes */ "./src/dagre-wrapper/nodes.js"); +/* harmony import */ var _clusters__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./clusters */ "./src/dagre-wrapper/clusters.js"); +/* harmony import */ var _edges__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./edges */ "./src/dagre-wrapper/edges.js"); +/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../logger */ "./src/logger.js"); @@ -1919,21 +10000,21 @@ __webpack_require__.r(__webpack_exports__); var recursiveRender = function recursiveRender(_elem, graph, diagramtype, parentCluster) { - _logger__WEBPACK_IMPORTED_MODULE_8__["log"].info('Graph in recursive render: XXX', graphlib__WEBPACK_IMPORTED_MODULE_1___default.a.json.write(graph), parentCluster); + _logger__WEBPACK_IMPORTED_MODULE_2__.log.info('Graph in recursive render: XXX', graphlib__WEBPACK_IMPORTED_MODULE_1___default().json.write(graph), parentCluster); var dir = graph.graph().rankdir; - _logger__WEBPACK_IMPORTED_MODULE_8__["log"].trace('Dir in recursive render - dir:', dir); + _logger__WEBPACK_IMPORTED_MODULE_2__.log.trace('Dir in recursive render - dir:', dir); var elem = _elem.insert('g').attr('class', 'root'); // eslint-disable-line if (!graph.nodes()) { - _logger__WEBPACK_IMPORTED_MODULE_8__["log"].info('No nodes found for', graph); + _logger__WEBPACK_IMPORTED_MODULE_2__.log.info('No nodes found for', graph); } else { - _logger__WEBPACK_IMPORTED_MODULE_8__["log"].info('Recursive render XXX', graph.nodes()); + _logger__WEBPACK_IMPORTED_MODULE_2__.log.info('Recursive render XXX', graph.nodes()); } if (graph.edges().length > 0) { - _logger__WEBPACK_IMPORTED_MODULE_8__["log"].trace('Recursive edges', graph.edge(graph.edges()[0])); + _logger__WEBPACK_IMPORTED_MODULE_2__.log.trace('Recursive edges', graph.edge(graph.edges()[0])); } var clusters = elem.insert('g').attr('class', 'clusters'); // eslint-disable-line @@ -1949,40 +10030,40 @@ var recursiveRender = function recursiveRender(_elem, graph, diagramtype, parent if (typeof parentCluster !== 'undefined') { var data = JSON.parse(JSON.stringify(parentCluster.clusterData)); // data.clusterPositioning = true; - _logger__WEBPACK_IMPORTED_MODULE_8__["log"].info('Setting data for cluster XXX (', v, ') ', data, parentCluster); + _logger__WEBPACK_IMPORTED_MODULE_2__.log.info('Setting data for cluster XXX (', v, ') ', data, parentCluster); graph.setNode(parentCluster.id, data); if (!graph.parent(v)) { - _logger__WEBPACK_IMPORTED_MODULE_8__["log"].trace('Setting parent', v, parentCluster.id); + _logger__WEBPACK_IMPORTED_MODULE_2__.log.trace('Setting parent', v, parentCluster.id); graph.setParent(v, parentCluster.id, data); } } - _logger__WEBPACK_IMPORTED_MODULE_8__["log"].info('(Insert) Node XXX' + v + ': ' + JSON.stringify(graph.node(v))); + _logger__WEBPACK_IMPORTED_MODULE_2__.log.info('(Insert) Node XXX' + v + ': ' + JSON.stringify(graph.node(v))); if (node && node.clusterNode) { // const children = graph.children(v); - _logger__WEBPACK_IMPORTED_MODULE_8__["log"].info('Cluster identified', v, node.width, graph.node(v)); + _logger__WEBPACK_IMPORTED_MODULE_2__.log.info('Cluster identified', v, node.width, graph.node(v)); var o = recursiveRender(nodes, node.graph, diagramtype, graph.node(v)); var newEl = o.elem; - Object(_shapes_util__WEBPACK_IMPORTED_MODULE_3__["updateNodeBounds"])(node, newEl); + (0,_shapes_util__WEBPACK_IMPORTED_MODULE_3__.updateNodeBounds)(node, newEl); node.diff = o.diff || 0; - _logger__WEBPACK_IMPORTED_MODULE_8__["log"].info('Node bounds (abc123)', v, node, node.width, node.x, node.y); - Object(_nodes__WEBPACK_IMPORTED_MODULE_5__["setNodeElem"])(newEl, node); - _logger__WEBPACK_IMPORTED_MODULE_8__["log"].warn('Recursive render complete ', newEl, node); + _logger__WEBPACK_IMPORTED_MODULE_2__.log.info('Node bounds (abc123)', v, node, node.width, node.x, node.y); + (0,_nodes__WEBPACK_IMPORTED_MODULE_4__.setNodeElem)(newEl, node); + _logger__WEBPACK_IMPORTED_MODULE_2__.log.warn('Recursive render complete ', newEl, node); } else { if (graph.children(v).length > 0) { // This is a cluster but not to be rendered recusively // Render as before - _logger__WEBPACK_IMPORTED_MODULE_8__["log"].info('Cluster - the non recursive path XXX', v, node.id, node, graph); - _logger__WEBPACK_IMPORTED_MODULE_8__["log"].info(Object(_mermaid_graphlib__WEBPACK_IMPORTED_MODULE_4__["findNonClusterChild"])(node.id, graph)); - _mermaid_graphlib__WEBPACK_IMPORTED_MODULE_4__["clusterDb"][node.id] = { - id: Object(_mermaid_graphlib__WEBPACK_IMPORTED_MODULE_4__["findNonClusterChild"])(node.id, graph), + _logger__WEBPACK_IMPORTED_MODULE_2__.log.info('Cluster - the non recursive path XXX', v, node.id, node, graph); + _logger__WEBPACK_IMPORTED_MODULE_2__.log.info((0,_mermaid_graphlib__WEBPACK_IMPORTED_MODULE_5__.findNonClusterChild)(node.id, graph)); + _mermaid_graphlib__WEBPACK_IMPORTED_MODULE_5__.clusterDb[node.id] = { + id: (0,_mermaid_graphlib__WEBPACK_IMPORTED_MODULE_5__.findNonClusterChild)(node.id, graph), node: node }; // insertCluster(clusters, graph.node(v)); } else { - _logger__WEBPACK_IMPORTED_MODULE_8__["log"].info('Node - the non recursive path', v, node.id, node); - Object(_nodes__WEBPACK_IMPORTED_MODULE_5__["insertNode"])(nodes, graph.node(v), dir); + _logger__WEBPACK_IMPORTED_MODULE_2__.log.info('Node - the non recursive path', v, node.id, node); + (0,_nodes__WEBPACK_IMPORTED_MODULE_4__.insertNode)(nodes, graph.node(v), dir); } } }); // Insert labels, this will insert them into the dom so that the width can be calculated @@ -1992,53 +10073,53 @@ var recursiveRender = function recursiveRender(_elem, graph, diagramtype, parent graph.edges().forEach(function (e) { var edge = graph.edge(e.v, e.w, e.name); - _logger__WEBPACK_IMPORTED_MODULE_8__["log"].info('Edge ' + e.v + ' -> ' + e.w + ': ' + JSON.stringify(e)); - _logger__WEBPACK_IMPORTED_MODULE_8__["log"].info('Edge ' + e.v + ' -> ' + e.w + ': ', e, ' ', JSON.stringify(graph.edge(e))); // Check if link is either from or to a cluster + _logger__WEBPACK_IMPORTED_MODULE_2__.log.info('Edge ' + e.v + ' -> ' + e.w + ': ' + JSON.stringify(e)); + _logger__WEBPACK_IMPORTED_MODULE_2__.log.info('Edge ' + e.v + ' -> ' + e.w + ': ', e, ' ', JSON.stringify(graph.edge(e))); // Check if link is either from or to a cluster - _logger__WEBPACK_IMPORTED_MODULE_8__["log"].info('Fix', _mermaid_graphlib__WEBPACK_IMPORTED_MODULE_4__["clusterDb"], 'ids:', e.v, e.w, 'Translateing: ', _mermaid_graphlib__WEBPACK_IMPORTED_MODULE_4__["clusterDb"][e.v], _mermaid_graphlib__WEBPACK_IMPORTED_MODULE_4__["clusterDb"][e.w]); - Object(_edges__WEBPACK_IMPORTED_MODULE_7__["insertEdgeLabel"])(edgeLabels, edge); + _logger__WEBPACK_IMPORTED_MODULE_2__.log.info('Fix', _mermaid_graphlib__WEBPACK_IMPORTED_MODULE_5__.clusterDb, 'ids:', e.v, e.w, 'Translateing: ', _mermaid_graphlib__WEBPACK_IMPORTED_MODULE_5__.clusterDb[e.v], _mermaid_graphlib__WEBPACK_IMPORTED_MODULE_5__.clusterDb[e.w]); + (0,_edges__WEBPACK_IMPORTED_MODULE_6__.insertEdgeLabel)(edgeLabels, edge); }); graph.edges().forEach(function (e) { - _logger__WEBPACK_IMPORTED_MODULE_8__["log"].info('Edge ' + e.v + ' -> ' + e.w + ': ' + JSON.stringify(e)); + _logger__WEBPACK_IMPORTED_MODULE_2__.log.info('Edge ' + e.v + ' -> ' + e.w + ': ' + JSON.stringify(e)); }); - _logger__WEBPACK_IMPORTED_MODULE_8__["log"].info('#############################################'); - _logger__WEBPACK_IMPORTED_MODULE_8__["log"].info('### Layout ###'); - _logger__WEBPACK_IMPORTED_MODULE_8__["log"].info('#############################################'); - _logger__WEBPACK_IMPORTED_MODULE_8__["log"].info(graph); - dagre__WEBPACK_IMPORTED_MODULE_0___default.a.layout(graph); - _logger__WEBPACK_IMPORTED_MODULE_8__["log"].info('Graph after layout:', graphlib__WEBPACK_IMPORTED_MODULE_1___default.a.json.write(graph)); // Move the nodes to the correct place + _logger__WEBPACK_IMPORTED_MODULE_2__.log.info('#############################################'); + _logger__WEBPACK_IMPORTED_MODULE_2__.log.info('### Layout ###'); + _logger__WEBPACK_IMPORTED_MODULE_2__.log.info('#############################################'); + _logger__WEBPACK_IMPORTED_MODULE_2__.log.info(graph); + dagre__WEBPACK_IMPORTED_MODULE_0___default().layout(graph); + _logger__WEBPACK_IMPORTED_MODULE_2__.log.info('Graph after layout:', graphlib__WEBPACK_IMPORTED_MODULE_1___default().json.write(graph)); // Move the nodes to the correct place var diff = 0; - Object(_mermaid_graphlib__WEBPACK_IMPORTED_MODULE_4__["sortNodesByHierarchy"])(graph).forEach(function (v) { + (0,_mermaid_graphlib__WEBPACK_IMPORTED_MODULE_5__.sortNodesByHierarchy)(graph).forEach(function (v) { var node = graph.node(v); - _logger__WEBPACK_IMPORTED_MODULE_8__["log"].info('Position ' + v + ': ' + JSON.stringify(graph.node(v))); - _logger__WEBPACK_IMPORTED_MODULE_8__["log"].info('Position ' + v + ': (' + node.x, ',' + node.y, ') width: ', node.width, ' height: ', node.height); + _logger__WEBPACK_IMPORTED_MODULE_2__.log.info('Position ' + v + ': ' + JSON.stringify(graph.node(v))); + _logger__WEBPACK_IMPORTED_MODULE_2__.log.info('Position ' + v + ': (' + node.x, ',' + node.y, ') width: ', node.width, ' height: ', node.height); if (node && node.clusterNode) { // clusterDb[node.id].node = node; - Object(_nodes__WEBPACK_IMPORTED_MODULE_5__["positionNode"])(node); + (0,_nodes__WEBPACK_IMPORTED_MODULE_4__.positionNode)(node); } else { // Non cluster node if (graph.children(v).length > 0) { // A cluster in the non-recurive way // positionCluster(node); - Object(_clusters__WEBPACK_IMPORTED_MODULE_6__["insertCluster"])(clusters, node); - _mermaid_graphlib__WEBPACK_IMPORTED_MODULE_4__["clusterDb"][node.id].node = node; + (0,_clusters__WEBPACK_IMPORTED_MODULE_7__.insertCluster)(clusters, node); + _mermaid_graphlib__WEBPACK_IMPORTED_MODULE_5__.clusterDb[node.id].node = node; } else { - Object(_nodes__WEBPACK_IMPORTED_MODULE_5__["positionNode"])(node); + (0,_nodes__WEBPACK_IMPORTED_MODULE_4__.positionNode)(node); } } }); // Move the edge labels to the correct place after layout graph.edges().forEach(function (e) { var edge = graph.edge(e); - _logger__WEBPACK_IMPORTED_MODULE_8__["log"].info('Edge ' + e.v + ' -> ' + e.w + ': ' + JSON.stringify(edge), edge); - var paths = Object(_edges__WEBPACK_IMPORTED_MODULE_7__["insertEdge"])(edgePaths, e, edge, _mermaid_graphlib__WEBPACK_IMPORTED_MODULE_4__["clusterDb"], diagramtype, graph); - Object(_edges__WEBPACK_IMPORTED_MODULE_7__["positionEdgeLabel"])(edge, paths); + _logger__WEBPACK_IMPORTED_MODULE_2__.log.info('Edge ' + e.v + ' -> ' + e.w + ': ' + JSON.stringify(edge), edge); + var paths = (0,_edges__WEBPACK_IMPORTED_MODULE_6__.insertEdge)(edgePaths, e, edge, _mermaid_graphlib__WEBPACK_IMPORTED_MODULE_5__.clusterDb, diagramtype, graph); + (0,_edges__WEBPACK_IMPORTED_MODULE_6__.positionEdgeLabel)(edge, paths); }); graph.nodes().forEach(function (v) { var n = graph.node(v); - _logger__WEBPACK_IMPORTED_MODULE_8__["log"].info(v, n.type, n.diff); + _logger__WEBPACK_IMPORTED_MODULE_2__.log.info(v, n.type, n.diff); if (n.type === 'group') { diff = n.diff; @@ -2051,14 +10132,14 @@ var recursiveRender = function recursiveRender(_elem, graph, diagramtype, parent }; var render = function render(elem, graph, markers, diagramtype, id) { - Object(_markers__WEBPACK_IMPORTED_MODULE_2__["default"])(elem, markers, diagramtype, id); - Object(_nodes__WEBPACK_IMPORTED_MODULE_5__["clear"])(); - Object(_edges__WEBPACK_IMPORTED_MODULE_7__["clear"])(); - Object(_clusters__WEBPACK_IMPORTED_MODULE_6__["clear"])(); - Object(_mermaid_graphlib__WEBPACK_IMPORTED_MODULE_4__["clear"])(); - _logger__WEBPACK_IMPORTED_MODULE_8__["log"].warn('Graph at first:', graphlib__WEBPACK_IMPORTED_MODULE_1___default.a.json.write(graph)); - Object(_mermaid_graphlib__WEBPACK_IMPORTED_MODULE_4__["adjustClustersAndEdges"])(graph); - _logger__WEBPACK_IMPORTED_MODULE_8__["log"].warn('Graph after:', graphlib__WEBPACK_IMPORTED_MODULE_1___default.a.json.write(graph)); // log.warn('Graph ever after:', graphlib.json.write(graph.node('A').graph)); + (0,_markers__WEBPACK_IMPORTED_MODULE_8__["default"])(elem, markers, diagramtype, id); + (0,_nodes__WEBPACK_IMPORTED_MODULE_4__.clear)(); + (0,_edges__WEBPACK_IMPORTED_MODULE_6__.clear)(); + (0,_clusters__WEBPACK_IMPORTED_MODULE_7__.clear)(); + (0,_mermaid_graphlib__WEBPACK_IMPORTED_MODULE_5__.clear)(); + _logger__WEBPACK_IMPORTED_MODULE_2__.log.warn('Graph at first:', graphlib__WEBPACK_IMPORTED_MODULE_1___default().json.write(graph)); + (0,_mermaid_graphlib__WEBPACK_IMPORTED_MODULE_5__.adjustClustersAndEdges)(graph); + _logger__WEBPACK_IMPORTED_MODULE_2__.log.warn('Graph after:', graphlib__WEBPACK_IMPORTED_MODULE_1___default().json.write(graph)); // log.warn('Graph ever after:', graphlib.json.write(graph.node('A').graph)); recursiveRender(elem, graph, diagramtype); }; // const shapeDefinitions = {}; @@ -2076,11 +10157,13 @@ var render = function render(elem, graph, markers, diagramtype, id) { /*!**********************************************!*\ !*** ./src/dagre-wrapper/intersect/index.js ***! \**********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); /* harmony import */ var _intersect_node_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./intersect-node.js */ "./src/dagre-wrapper/intersect/intersect-node.js"); /* harmony import */ var _intersect_node_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_intersect_node_js__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _intersect_circle_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./intersect-circle.js */ "./src/dagre-wrapper/intersect/intersect-circle.js"); @@ -2095,8 +10178,8 @@ __webpack_require__.r(__webpack_exports__); -/* harmony default export */ __webpack_exports__["default"] = ({ - node: _intersect_node_js__WEBPACK_IMPORTED_MODULE_0___default.a, +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ + node: (_intersect_node_js__WEBPACK_IMPORTED_MODULE_0___default()), circle: _intersect_circle_js__WEBPACK_IMPORTED_MODULE_1__["default"], ellipse: _intersect_ellipse_js__WEBPACK_IMPORTED_MODULE_2__["default"], polygon: _intersect_polygon_js__WEBPACK_IMPORTED_MODULE_3__["default"], @@ -2109,19 +10192,21 @@ __webpack_require__.r(__webpack_exports__); /*!*********************************************************!*\ !*** ./src/dagre-wrapper/intersect/intersect-circle.js ***! \*********************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); /* harmony import */ var _intersect_ellipse__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./intersect-ellipse */ "./src/dagre-wrapper/intersect/intersect-ellipse.js"); function intersectCircle(node, rx, point) { - return Object(_intersect_ellipse__WEBPACK_IMPORTED_MODULE_0__["default"])(node, rx, rx, point); + return (0,_intersect_ellipse__WEBPACK_IMPORTED_MODULE_0__["default"])(node, rx, rx, point); } -/* harmony default export */ __webpack_exports__["default"] = (intersectCircle); +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (intersectCircle); /***/ }), @@ -2129,11 +10214,13 @@ function intersectCircle(node, rx, point) { /*!**********************************************************!*\ !*** ./src/dagre-wrapper/intersect/intersect-ellipse.js ***! \**********************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); function intersectEllipse(node, rx, ry, point) { // Formulae from: http://mathworld.wolfram.com/Ellipse-LineIntersection.html var cx = node.x; @@ -2159,7 +10246,7 @@ function intersectEllipse(node, rx, ry, point) { }; } -/* harmony default export */ __webpack_exports__["default"] = (intersectEllipse); +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (intersectEllipse); /***/ }), @@ -2167,14 +10254,16 @@ function intersectEllipse(node, rx, ry, point) { /*!*******************************************************!*\ !*** ./src/dagre-wrapper/intersect/intersect-line.js ***! \*******************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); -/* - * Returns the point at which two lines, p and q, intersect or returns - * undefined if they do not intersect. +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* + * Returns the point at which two lines, p and q, intersect or returns + * undefined if they do not intersect. */ function intersectLine(p1, p2, q1, q2) { // Algorithm from J. Avro, (ed.) Graphics Gems, No 2, Morgan Kaufmann, 1994, @@ -2236,7 +10325,7 @@ function sameSign(r1, r2) { return r1 * r2 > 0; } -/* harmony default export */ __webpack_exports__["default"] = (intersectLine); +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (intersectLine); /***/ }), @@ -2244,8 +10333,7 @@ function sameSign(r1, r2) { /*!*******************************************************!*\ !*** ./src/dagre-wrapper/intersect/intersect-node.js ***! \*******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { +/***/ ((module) => { module.exports = intersectNode; @@ -2260,15 +10348,17 @@ function intersectNode(node, point) { /*!**********************************************************!*\ !*** ./src/dagre-wrapper/intersect/intersect-polygon.js ***! \**********************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); /* harmony import */ var _intersect_line__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./intersect-line */ "./src/dagre-wrapper/intersect/intersect-line.js"); /* eslint "no-console": off */ -/* harmony default export */ __webpack_exports__["default"] = (intersectPolygon); +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (intersectPolygon); /* * Returns the point ({x, y}) at which the point argument intersects with the * node argument assuming that it has the shape specified by polygon. @@ -2297,7 +10387,7 @@ function intersectPolygon(node, polyPoints, point) { for (var i = 0; i < polyPoints.length; i++) { var p1 = polyPoints[i]; var p2 = polyPoints[i < polyPoints.length - 1 ? i + 1 : 0]; - var intersect = Object(_intersect_line__WEBPACK_IMPORTED_MODULE_0__["default"])(node, point, { + var intersect = (0,_intersect_line__WEBPACK_IMPORTED_MODULE_0__["default"])(node, point, { x: left + p1.x, y: top + p1.y }, { @@ -2337,11 +10427,13 @@ function intersectPolygon(node, polyPoints, point) { /*!*******************************************************!*\ !*** ./src/dagre-wrapper/intersect/intersect-rect.js ***! \*******************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); var intersectRect = function intersectRect(node, point) { var x = node.x; var y = node.y; // Rectangle intersection algorithm from: @@ -2377,7 +10469,7 @@ var intersectRect = function intersectRect(node, point) { }; }; -/* harmony default export */ __webpack_exports__["default"] = (intersectRect); +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (intersectRect); /***/ }), @@ -2385,11 +10477,13 @@ var intersectRect = function intersectRect(node, point) { /*!**************************************!*\ !*** ./src/dagre-wrapper/markers.js ***! \**************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); /* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../logger */ "./src/logger.js"); /** * Setup arrow head and define the marker. The result is appended to the svg. @@ -2403,7 +10497,7 @@ var insertMarkers = function insertMarkers(elem, markerArray, type, id) { }; var extension = function extension(elem, type, id) { - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].trace('Making markers for ', id); + _logger__WEBPACK_IMPORTED_MODULE_0__.log.trace('Making markers for ', id); elem.append('defs').append('marker').attr('id', type + '-extensionStart').attr('class', 'marker extension ' + type).attr('refX', 0).attr('refY', 7).attr('markerWidth', 190).attr('markerHeight', 240).attr('orient', 'auto').append('path').attr('d', 'M 1,7 L18,13 V 1 Z'); elem.append('defs').append('marker').attr('id', type + '-extensionEnd').attr('class', 'marker extension ' + type).attr('refX', 19).attr('refY', 7).attr('markerWidth', 20).attr('markerHeight', 28).attr('orient', 'auto').append('path').attr('d', 'M 1,1 V 13 L18,7 Z'); // this is actual shape for arrowhead }; @@ -2455,7 +10549,7 @@ var markers = { cross: cross, barb: barb }; -/* harmony default export */ __webpack_exports__["default"] = (insertMarkers); +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (insertMarkers); /***/ }), @@ -2463,22 +10557,23 @@ var markers = { /*!***********************************************!*\ !*** ./src/dagre-wrapper/mermaid-graphlib.js ***! \***********************************************/ -/*! exports provided: clusterDb, clear, extractDecendants, validate, findNonClusterChild, adjustClustersAndEdges, extractor, sortNodesByHierarchy */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "clusterDb", function() { return clusterDb; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "clear", function() { return clear; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "extractDecendants", function() { return extractDecendants; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "validate", function() { return validate; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "findNonClusterChild", function() { return findNonClusterChild; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "adjustClustersAndEdges", function() { return adjustClustersAndEdges; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "extractor", function() { return extractor; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "sortNodesByHierarchy", function() { return sortNodesByHierarchy; }); -/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../logger */ "./src/logger.js"); -/* harmony import */ var graphlib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! graphlib */ "graphlib"); -/* harmony import */ var graphlib__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(graphlib__WEBPACK_IMPORTED_MODULE_1__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "clusterDb": () => (/* binding */ clusterDb), +/* harmony export */ "clear": () => (/* binding */ clear), +/* harmony export */ "extractDecendants": () => (/* binding */ extractDecendants), +/* harmony export */ "validate": () => (/* binding */ validate), +/* harmony export */ "findNonClusterChild": () => (/* binding */ findNonClusterChild), +/* harmony export */ "adjustClustersAndEdges": () => (/* binding */ adjustClustersAndEdges), +/* harmony export */ "extractor": () => (/* binding */ extractor), +/* harmony export */ "sortNodesByHierarchy": () => (/* binding */ sortNodesByHierarchy) +/* harmony export */ }); +/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../logger */ "./src/logger.js"); +/* harmony import */ var graphlib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! graphlib */ "graphlib"); +/* harmony import */ var graphlib__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(graphlib__WEBPACK_IMPORTED_MODULE_0__); /** * Decorates with functions required by mermaids dagre-wrapper. */ @@ -2495,24 +10590,24 @@ var clear = function clear() { var isDecendant = function isDecendant(id, ancenstorId) { // if (id === ancenstorId) return true; - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].trace('In isDecendant', ancenstorId, ' ', id, ' = ', decendants[ancenstorId].indexOf(id) >= 0); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.trace('In isDecendant', ancenstorId, ' ', id, ' = ', decendants[ancenstorId].indexOf(id) >= 0); if (decendants[ancenstorId].indexOf(id) >= 0) return true; return false; }; var edgeInCluster = function edgeInCluster(edge, clusterId) { - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].info('Decendants of ', clusterId, ' is ', decendants[clusterId]); - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].info('Edge is ', edge); // Edges to/from the cluster is not in the cluster, they are in the parent + _logger__WEBPACK_IMPORTED_MODULE_1__.log.info('Decendants of ', clusterId, ' is ', decendants[clusterId]); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.info('Edge is ', edge); // Edges to/from the cluster is not in the cluster, they are in the parent if (edge.v === clusterId) return false; if (edge.w === clusterId) return false; if (!decendants[clusterId]) { - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].debug('Tilt, ', clusterId, ',not in decendants'); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.debug('Tilt, ', clusterId, ',not in decendants'); return false; } - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].info('Here '); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.info('Here '); if (decendants[clusterId].indexOf(edge.v) >= 0) return true; if (isDecendant(edge.v, clusterId)) return true; if (isDecendant(edge.w, clusterId)) return true; @@ -2521,59 +10616,59 @@ var edgeInCluster = function edgeInCluster(edge, clusterId) { }; var copy = function copy(clusterId, graph, newGraph, rootId) { - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].warn('Copying children of ', clusterId, 'root', rootId, 'data', graph.node(clusterId), rootId); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.warn('Copying children of ', clusterId, 'root', rootId, 'data', graph.node(clusterId), rootId); var nodes = graph.children(clusterId) || []; // Include cluster node if it is not the root if (clusterId !== rootId) { nodes.push(clusterId); } - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].warn('Copying (nodes) clusterId', clusterId, 'nodes', nodes); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.warn('Copying (nodes) clusterId', clusterId, 'nodes', nodes); nodes.forEach(function (node) { if (graph.children(node).length > 0) { copy(node, graph, newGraph, rootId); } else { var data = graph.node(node); - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].info('cp ', node, ' to ', rootId, ' with parent ', clusterId); //,node, data, ' parent is ', clusterId); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.info('cp ', node, ' to ', rootId, ' with parent ', clusterId); //,node, data, ' parent is ', clusterId); newGraph.setNode(node, data); if (rootId !== graph.parent(node)) { - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].warn('Setting parent', node, graph.parent(node)); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.warn('Setting parent', node, graph.parent(node)); newGraph.setParent(node, graph.parent(node)); } if (clusterId !== rootId && node !== clusterId) { - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].debug('Setting parent', node, clusterId); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.debug('Setting parent', node, clusterId); newGraph.setParent(node, clusterId); } else { - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].info('In copy ', clusterId, 'root', rootId, 'data', graph.node(clusterId), rootId); - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].debug('Not Setting parent for node=', node, 'cluster!==rootId', clusterId !== rootId, 'node!==clusterId', node !== clusterId); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.info('In copy ', clusterId, 'root', rootId, 'data', graph.node(clusterId), rootId); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.debug('Not Setting parent for node=', node, 'cluster!==rootId', clusterId !== rootId, 'node!==clusterId', node !== clusterId); } var edges = graph.edges(node); - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].debug('Copying Edges', edges); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.debug('Copying Edges', edges); edges.forEach(function (edge) { - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].info('Edge', edge); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.info('Edge', edge); var data = graph.edge(edge.v, edge.w, edge.name); - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].info('Edge data', data, rootId); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.info('Edge data', data, rootId); try { // Do not copy edges in and out of the root cluster, they belong to the parent graph if (edgeInCluster(edge, rootId)) { - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].info('Copying as ', edge.v, edge.w, data, edge.name); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.info('Copying as ', edge.v, edge.w, data, edge.name); newGraph.setEdge(edge.v, edge.w, data, edge.name); - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].info('newGraph edges ', newGraph.edges(), newGraph.edge(newGraph.edges()[0])); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.info('newGraph edges ', newGraph.edges(), newGraph.edge(newGraph.edges()[0])); } else { - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].info('Skipping copy of edge ', edge.v, '-->', edge.w, ' rootId: ', rootId, ' clusterId:', clusterId); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.info('Skipping copy of edge ', edge.v, '-->', edge.w, ' rootId: ', rootId, ' clusterId:', clusterId); } } catch (e) { - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].error(e); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.error(e); } }); } - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].debug('Removing node', node); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.debug('Removing node', node); graph.removeNode(node); }); }; @@ -2598,16 +10693,16 @@ var extractDecendants = function extractDecendants(id, graph) { var validate = function validate(graph) { var edges = graph.edges(); - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].trace('Edges: ', edges); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.trace('Edges: ', edges); for (var i = 0; i < edges.length; i++) { if (graph.children(edges[i].v).length > 0) { - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].trace('The node ', edges[i].v, ' is part of and edge even though it has children'); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.trace('The node ', edges[i].v, ' is part of and edge even though it has children'); return false; } if (graph.children(edges[i].w).length > 0) { - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].trace('The node ', edges[i].w, ' is part of and edge even though it has children'); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.trace('The node ', edges[i].w, ' is part of and edge even though it has children'); return false; } } @@ -2622,14 +10717,14 @@ var validate = function validate(graph) { var findNonClusterChild = function findNonClusterChild(id, graph) { // const node = graph.node(id); - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].trace('Searching', id); // const children = graph.children(id).reverse(); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.trace('Searching', id); // const children = graph.children(id).reverse(); var children = graph.children(id); //.reverse(); - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].trace('Searching children of id ', id, children); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.trace('Searching children of id ', id, children); if (children.length < 1) { - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].trace('This is a valid node', id); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.trace('This is a valid node', id); return id; } @@ -2637,7 +10732,7 @@ var findNonClusterChild = function findNonClusterChild(id, graph) { var _id = findNonClusterChild(children[i], graph); if (_id) { - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].trace('Found replacement for', id, ' => ', _id); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.trace('Found replacement for', id, ' => ', _id); return _id; } } @@ -2663,10 +10758,10 @@ var getAnchorId = function getAnchorId(id) { var adjustClustersAndEdges = function adjustClustersAndEdges(graph, depth) { if (!graph || depth > 10) { - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].debug('Opting out, no graph '); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.debug('Opting out, no graph '); return; } else { - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].debug('Opting in, graph '); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.debug('Opting in, graph '); } // Go through the nodes and for each cluster found, save a replacment node, this can be used when // faking a link to a cluster @@ -2675,7 +10770,7 @@ var adjustClustersAndEdges = function adjustClustersAndEdges(graph, depth) { var children = graph.children(id); if (children.length > 0) { - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].warn('Cluster identified', id, ' Replacement id in edges: ', findNonClusterChild(id, graph)); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.warn('Cluster identified', id, ' Replacement id in edges: ', findNonClusterChild(id, graph)); decendants[id] = extractDecendants(id, graph); clusterDb[id] = { id: findNonClusterChild(id, graph), @@ -2689,7 +10784,7 @@ var adjustClustersAndEdges = function adjustClustersAndEdges(graph, depth) { var edges = graph.edges(); if (children.length > 0) { - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].debug('Cluster identified', id, decendants); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.debug('Cluster identified', id, decendants); edges.forEach(function (edge) { // log.debug('Edge, decendants: ', edge, decendants[id]); // Check if any edge leaves the cluster (not the actual cluster, thats a link from the box) @@ -2700,41 +10795,41 @@ var adjustClustersAndEdges = function adjustClustersAndEdges(graph, depth) { var d2 = isDecendant(edge.w, id); // d1 xor d2 - if either d1 is true and d2 is false or the other way around if (d1 ^ d2) { - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].warn('Edge: ', edge, ' leaves cluster ', id); - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].warn('Decendants of XXX ', id, ': ', decendants[id]); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.warn('Edge: ', edge, ' leaves cluster ', id); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.warn('Decendants of XXX ', id, ': ', decendants[id]); clusterDb[id].externalConnections = true; } } }); } else { - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].debug('Not a cluster ', id, decendants); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.debug('Not a cluster ', id, decendants); } }); // For clusters with incoming and/or outgoing edges translate those edges to a real node // in the cluster inorder to fake the edge graph.edges().forEach(function (e) { var edge = graph.edge(e); - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].warn('Edge ' + e.v + ' -> ' + e.w + ': ' + JSON.stringify(e)); - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].warn('Edge ' + e.v + ' -> ' + e.w + ': ' + JSON.stringify(graph.edge(e))); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.warn('Edge ' + e.v + ' -> ' + e.w + ': ' + JSON.stringify(e)); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.warn('Edge ' + e.v + ' -> ' + e.w + ': ' + JSON.stringify(graph.edge(e))); var v = e.v; var w = e.w; // Check if link is either from or to a cluster - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].warn('Fix XXX', clusterDb, 'ids:', e.v, e.w, 'Translateing: ', clusterDb[e.v], ' --- ', clusterDb[e.w]); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.warn('Fix XXX', clusterDb, 'ids:', e.v, e.w, 'Translateing: ', clusterDb[e.v], ' --- ', clusterDb[e.w]); if (clusterDb[e.v] || clusterDb[e.w]) { - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].warn('Fixing and trixing - removing XXX', e.v, e.w, e.name); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.warn('Fixing and trixing - removing XXX', e.v, e.w, e.name); v = getAnchorId(e.v); w = getAnchorId(e.w); graph.removeEdge(e.v, e.w, e.name); if (v !== e.v) edge.fromCluster = e.v; if (w !== e.w) edge.toCluster = e.w; - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].warn('Fix Replacing with XXX', v, w, e.name); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.warn('Fix Replacing with XXX', v, w, e.name); graph.setEdge(v, w, edge, e.name); } }); - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].warn('Adjusted Graph', graphlib__WEBPACK_IMPORTED_MODULE_1___default.a.json.write(graph)); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.warn('Adjusted Graph', graphlib__WEBPACK_IMPORTED_MODULE_0___default().json.write(graph)); extractor(graph, 0); - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].trace(clusterDb); // Remove references to extracted cluster + _logger__WEBPACK_IMPORTED_MODULE_1__.log.trace(clusterDb); // Remove references to extracted cluster // graph.edges().forEach(edge => { // if (isDecendant(edge.v, clusterId) || isDecendant(edge.w, clusterId)) { // graph.removeEdge(edge); @@ -2742,10 +10837,10 @@ var adjustClustersAndEdges = function adjustClustersAndEdges(graph, depth) { // }); }; var extractor = function extractor(graph, depth) { - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].warn('extractor - ', depth, graphlib__WEBPACK_IMPORTED_MODULE_1___default.a.json.write(graph), graph.children('D')); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.warn('extractor - ', depth, graphlib__WEBPACK_IMPORTED_MODULE_0___default().json.write(graph), graph.children('D')); if (depth > 10) { - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].error('Bailing out'); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.error('Bailing out'); return; } // For clusters without incoming and/or outgoing edges, create a new cluster-node // containing the nodes and edges in the custer in a new graph @@ -2762,36 +10857,36 @@ var extractor = function extractor(graph, depth) { } if (!hasChildren) { - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].debug('Done, no node has children', graph.nodes()); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.debug('Done, no node has children', graph.nodes()); return; } // const clusters = Object.keys(clusterDb); // clusters.forEach(clusterId => { - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].debug('Nodes = ', nodes, depth); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.debug('Nodes = ', nodes, depth); for (var _i = 0; _i < nodes.length; _i++) { var _node = nodes[_i]; - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].debug('Extracting node', _node, clusterDb, clusterDb[_node] && !clusterDb[_node].externalConnections, !graph.parent(_node), graph.node(_node), graph.children('D'), ' Depth ', depth); // Note that the node might have been removed after the Object.keys call so better check + _logger__WEBPACK_IMPORTED_MODULE_1__.log.debug('Extracting node', _node, clusterDb, clusterDb[_node] && !clusterDb[_node].externalConnections, !graph.parent(_node), graph.node(_node), graph.children('D'), ' Depth ', depth); // Note that the node might have been removed after the Object.keys call so better check // that it still is in the game if (!clusterDb[_node]) { // Skip if the node is not a cluster - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].debug('Not a cluster', _node, depth); // break; + _logger__WEBPACK_IMPORTED_MODULE_1__.log.debug('Not a cluster', _node, depth); // break; } else if (!clusterDb[_node].externalConnections && // !graph.parent(node) && graph.children(_node) && graph.children(_node).length > 0) { - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].warn('Cluster without external connections, without a parent and with children', _node, depth); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.warn('Cluster without external connections, without a parent and with children', _node, depth); var graphSettings = graph.graph(); var dir = graphSettings.rankdir === 'TB' ? 'LR' : 'TB'; if (clusterDb[_node]) { if (clusterDb[_node].clusterData && clusterDb[_node].clusterData.dir) { dir = clusterDb[_node].clusterData.dir; - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].warn('Fixing dir', clusterDb[_node].clusterData.dir, dir); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.warn('Fixing dir', clusterDb[_node].clusterData.dir, dir); } } - var clusterGraph = new graphlib__WEBPACK_IMPORTED_MODULE_1___default.a.Graph({ + var clusterGraph = new (graphlib__WEBPACK_IMPORTED_MODULE_0___default().Graph)({ multigraph: true, compound: true }).setGraph({ @@ -2804,7 +10899,7 @@ var extractor = function extractor(graph, depth) { }).setDefaultEdgeLabel(function () { return {}; }); - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].warn('Old graph before copy', graphlib__WEBPACK_IMPORTED_MODULE_1___default.a.json.write(graph)); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.warn('Old graph before copy', graphlib__WEBPACK_IMPORTED_MODULE_0___default().json.write(graph)); copy(_node, graph, clusterGraph, _node); graph.setNode(_node, { clusterNode: true, @@ -2813,21 +10908,21 @@ var extractor = function extractor(graph, depth) { labelText: clusterDb[_node].labelText, graph: clusterGraph }); - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].warn('New graph after copy node: (', _node, ')', graphlib__WEBPACK_IMPORTED_MODULE_1___default.a.json.write(clusterGraph)); - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].debug('Old graph after copy', graphlib__WEBPACK_IMPORTED_MODULE_1___default.a.json.write(graph)); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.warn('New graph after copy node: (', _node, ')', graphlib__WEBPACK_IMPORTED_MODULE_0___default().json.write(clusterGraph)); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.debug('Old graph after copy', graphlib__WEBPACK_IMPORTED_MODULE_0___default().json.write(graph)); } else { - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].warn('Cluster ** ', _node, ' **not meeting the criteria !externalConnections:', !clusterDb[_node].externalConnections, ' no parent: ', !graph.parent(_node), ' children ', graph.children(_node) && graph.children(_node).length > 0, graph.children('D'), depth); - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].debug(clusterDb); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.warn('Cluster ** ', _node, ' **not meeting the criteria !externalConnections:', !clusterDb[_node].externalConnections, ' no parent: ', !graph.parent(_node), ' children ', graph.children(_node) && graph.children(_node).length > 0, graph.children('D'), depth); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.debug(clusterDb); } } nodes = graph.nodes(); - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].warn('New list of nodes', nodes); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.warn('New list of nodes', nodes); for (var _i2 = 0; _i2 < nodes.length; _i2++) { var _node2 = nodes[_i2]; var data = graph.node(_node2); - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].warn(' Now next level', _node2, data); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.warn(' Now next level', _node2, data); if (data.clusterNode) { extractor(data.graph, depth + 1); @@ -2856,25 +10951,26 @@ var sortNodesByHierarchy = function sortNodesByHierarchy(graph) { /*!************************************!*\ !*** ./src/dagre-wrapper/nodes.js ***! \************************************/ -/*! exports provided: insertNode, setNodeElem, clear, positionNode */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "insertNode", function() { return insertNode; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setNodeElem", function() { return setNodeElem; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "clear", function() { return clear; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "positionNode", function() { return positionNode; }); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "insertNode": () => (/* binding */ insertNode), +/* harmony export */ "setNodeElem": () => (/* binding */ setNodeElem), +/* harmony export */ "clear": () => (/* binding */ clear), +/* harmony export */ "positionNode": () => (/* binding */ positionNode) +/* harmony export */ }); /* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3 */ "d3"); /* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(d3__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../logger */ "./src/logger.js"); -/* harmony import */ var _shapes_util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./shapes/util */ "./src/dagre-wrapper/shapes/util.js"); -/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../config */ "./src/config.js"); -/* harmony import */ var _intersect_index_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./intersect/index.js */ "./src/dagre-wrapper/intersect/index.js"); -/* harmony import */ var _createLabel__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./createLabel */ "./src/dagre-wrapper/createLabel.js"); -/* harmony import */ var _shapes_note__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./shapes/note */ "./src/dagre-wrapper/shapes/note.js"); +/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../logger */ "./src/logger.js"); +/* harmony import */ var _shapes_util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./shapes/util */ "./src/dagre-wrapper/shapes/util.js"); +/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../config */ "./src/config.js"); +/* harmony import */ var _intersect_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./intersect/index.js */ "./src/dagre-wrapper/intersect/index.js"); +/* harmony import */ var _createLabel__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./createLabel */ "./src/dagre-wrapper/createLabel.js"); +/* harmony import */ var _shapes_note__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./shapes/note */ "./src/dagre-wrapper/shapes/note.js"); /* harmony import */ var _diagrams_class_svgDraw__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../diagrams/class/svgDraw */ "./src/diagrams/class/svgDraw.js"); -/* harmony import */ var _diagrams_common_common__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../diagrams/common/common */ "./src/diagrams/common/common.js"); +/* harmony import */ var _diagrams_common_common__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../diagrams/common/common */ "./src/diagrams/common/common.js"); function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } @@ -2889,7 +10985,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "functi var question = function question(parent, node) { - var _labelHelper = Object(_shapes_util__WEBPACK_IMPORTED_MODULE_2__["labelHelper"])(parent, node, undefined, true), + var _labelHelper = (0,_shapes_util__WEBPACK_IMPORTED_MODULE_1__.labelHelper)(parent, node, undefined, true), shapeSvg = _labelHelper.shapeSvg, bbox = _labelHelper.bbox; @@ -2909,14 +11005,14 @@ var question = function question(parent, node) { x: 0, y: -s / 2 }]; - _logger__WEBPACK_IMPORTED_MODULE_1__["log"].info('Question main (Circle)'); - var questionElem = Object(_shapes_util__WEBPACK_IMPORTED_MODULE_2__["insertPolygonShape"])(shapeSvg, s, s, points); + _logger__WEBPACK_IMPORTED_MODULE_2__.log.info('Question main (Circle)'); + var questionElem = (0,_shapes_util__WEBPACK_IMPORTED_MODULE_1__.insertPolygonShape)(shapeSvg, s, s, points); questionElem.attr('style', node.style); - Object(_shapes_util__WEBPACK_IMPORTED_MODULE_2__["updateNodeBounds"])(node, questionElem); + (0,_shapes_util__WEBPACK_IMPORTED_MODULE_1__.updateNodeBounds)(node, questionElem); node.intersect = function (point) { - _logger__WEBPACK_IMPORTED_MODULE_1__["log"].warn('Intersect called'); - return _intersect_index_js__WEBPACK_IMPORTED_MODULE_4__["default"].polygon(node, points, point); + _logger__WEBPACK_IMPORTED_MODULE_2__.log.warn('Intersect called'); + return _intersect_index_js__WEBPACK_IMPORTED_MODULE_3__["default"].polygon(node, points, point); }; return shapeSvg; @@ -2947,14 +11043,14 @@ var choice = function choice(parent, node) { node.height = 28; node.intersect = function (point) { - return _intersect_index_js__WEBPACK_IMPORTED_MODULE_4__["default"].circle(node, 14, point); + return _intersect_index_js__WEBPACK_IMPORTED_MODULE_3__["default"].circle(node, 14, point); }; return shapeSvg; }; var hexagon = function hexagon(parent, node) { - var _labelHelper2 = Object(_shapes_util__WEBPACK_IMPORTED_MODULE_2__["labelHelper"])(parent, node, undefined, true), + var _labelHelper2 = (0,_shapes_util__WEBPACK_IMPORTED_MODULE_1__.labelHelper)(parent, node, undefined, true), shapeSvg = _labelHelper2.shapeSvg, bbox = _labelHelper2.bbox; @@ -2981,19 +11077,19 @@ var hexagon = function hexagon(parent, node) { x: 0, y: -h / 2 }]; - var hex = Object(_shapes_util__WEBPACK_IMPORTED_MODULE_2__["insertPolygonShape"])(shapeSvg, w, h, points); + var hex = (0,_shapes_util__WEBPACK_IMPORTED_MODULE_1__.insertPolygonShape)(shapeSvg, w, h, points); hex.attr('style', node.style); - Object(_shapes_util__WEBPACK_IMPORTED_MODULE_2__["updateNodeBounds"])(node, hex); + (0,_shapes_util__WEBPACK_IMPORTED_MODULE_1__.updateNodeBounds)(node, hex); node.intersect = function (point) { - return _intersect_index_js__WEBPACK_IMPORTED_MODULE_4__["default"].polygon(node, points, point); + return _intersect_index_js__WEBPACK_IMPORTED_MODULE_3__["default"].polygon(node, points, point); }; return shapeSvg; }; var rect_left_inv_arrow = function rect_left_inv_arrow(parent, node) { - var _labelHelper3 = Object(_shapes_util__WEBPACK_IMPORTED_MODULE_2__["labelHelper"])(parent, node, undefined, true), + var _labelHelper3 = (0,_shapes_util__WEBPACK_IMPORTED_MODULE_1__.labelHelper)(parent, node, undefined, true), shapeSvg = _labelHelper3.shapeSvg, bbox = _labelHelper3.bbox; @@ -3015,20 +11111,20 @@ var rect_left_inv_arrow = function rect_left_inv_arrow(parent, node) { x: 0, y: -h / 2 }]; - var el = Object(_shapes_util__WEBPACK_IMPORTED_MODULE_2__["insertPolygonShape"])(shapeSvg, w, h, points); + var el = (0,_shapes_util__WEBPACK_IMPORTED_MODULE_1__.insertPolygonShape)(shapeSvg, w, h, points); el.attr('style', node.style); node.width = w + h; node.height = h; node.intersect = function (point) { - return _intersect_index_js__WEBPACK_IMPORTED_MODULE_4__["default"].polygon(node, points, point); + return _intersect_index_js__WEBPACK_IMPORTED_MODULE_3__["default"].polygon(node, points, point); }; return shapeSvg; }; var lean_right = function lean_right(parent, node) { - var _labelHelper4 = Object(_shapes_util__WEBPACK_IMPORTED_MODULE_2__["labelHelper"])(parent, node, undefined, true), + var _labelHelper4 = (0,_shapes_util__WEBPACK_IMPORTED_MODULE_1__.labelHelper)(parent, node, undefined, true), shapeSvg = _labelHelper4.shapeSvg, bbox = _labelHelper4.bbox; @@ -3047,19 +11143,19 @@ var lean_right = function lean_right(parent, node) { x: h / 6, y: -h }]; - var el = Object(_shapes_util__WEBPACK_IMPORTED_MODULE_2__["insertPolygonShape"])(shapeSvg, w, h, points); + var el = (0,_shapes_util__WEBPACK_IMPORTED_MODULE_1__.insertPolygonShape)(shapeSvg, w, h, points); el.attr('style', node.style); - Object(_shapes_util__WEBPACK_IMPORTED_MODULE_2__["updateNodeBounds"])(node, el); + (0,_shapes_util__WEBPACK_IMPORTED_MODULE_1__.updateNodeBounds)(node, el); node.intersect = function (point) { - return _intersect_index_js__WEBPACK_IMPORTED_MODULE_4__["default"].polygon(node, points, point); + return _intersect_index_js__WEBPACK_IMPORTED_MODULE_3__["default"].polygon(node, points, point); }; return shapeSvg; }; var lean_left = function lean_left(parent, node) { - var _labelHelper5 = Object(_shapes_util__WEBPACK_IMPORTED_MODULE_2__["labelHelper"])(parent, node, undefined, true), + var _labelHelper5 = (0,_shapes_util__WEBPACK_IMPORTED_MODULE_1__.labelHelper)(parent, node, undefined, true), shapeSvg = _labelHelper5.shapeSvg, bbox = _labelHelper5.bbox; @@ -3078,19 +11174,19 @@ var lean_left = function lean_left(parent, node) { x: -h / 6, y: -h }]; - var el = Object(_shapes_util__WEBPACK_IMPORTED_MODULE_2__["insertPolygonShape"])(shapeSvg, w, h, points); + var el = (0,_shapes_util__WEBPACK_IMPORTED_MODULE_1__.insertPolygonShape)(shapeSvg, w, h, points); el.attr('style', node.style); - Object(_shapes_util__WEBPACK_IMPORTED_MODULE_2__["updateNodeBounds"])(node, el); + (0,_shapes_util__WEBPACK_IMPORTED_MODULE_1__.updateNodeBounds)(node, el); node.intersect = function (point) { - return _intersect_index_js__WEBPACK_IMPORTED_MODULE_4__["default"].polygon(node, points, point); + return _intersect_index_js__WEBPACK_IMPORTED_MODULE_3__["default"].polygon(node, points, point); }; return shapeSvg; }; var trapezoid = function trapezoid(parent, node) { - var _labelHelper6 = Object(_shapes_util__WEBPACK_IMPORTED_MODULE_2__["labelHelper"])(parent, node, undefined, true), + var _labelHelper6 = (0,_shapes_util__WEBPACK_IMPORTED_MODULE_1__.labelHelper)(parent, node, undefined, true), shapeSvg = _labelHelper6.shapeSvg, bbox = _labelHelper6.bbox; @@ -3109,19 +11205,19 @@ var trapezoid = function trapezoid(parent, node) { x: h / 6, y: -h }]; - var el = Object(_shapes_util__WEBPACK_IMPORTED_MODULE_2__["insertPolygonShape"])(shapeSvg, w, h, points); + var el = (0,_shapes_util__WEBPACK_IMPORTED_MODULE_1__.insertPolygonShape)(shapeSvg, w, h, points); el.attr('style', node.style); - Object(_shapes_util__WEBPACK_IMPORTED_MODULE_2__["updateNodeBounds"])(node, el); + (0,_shapes_util__WEBPACK_IMPORTED_MODULE_1__.updateNodeBounds)(node, el); node.intersect = function (point) { - return _intersect_index_js__WEBPACK_IMPORTED_MODULE_4__["default"].polygon(node, points, point); + return _intersect_index_js__WEBPACK_IMPORTED_MODULE_3__["default"].polygon(node, points, point); }; return shapeSvg; }; var inv_trapezoid = function inv_trapezoid(parent, node) { - var _labelHelper7 = Object(_shapes_util__WEBPACK_IMPORTED_MODULE_2__["labelHelper"])(parent, node, undefined, true), + var _labelHelper7 = (0,_shapes_util__WEBPACK_IMPORTED_MODULE_1__.labelHelper)(parent, node, undefined, true), shapeSvg = _labelHelper7.shapeSvg, bbox = _labelHelper7.bbox; @@ -3140,19 +11236,19 @@ var inv_trapezoid = function inv_trapezoid(parent, node) { x: -2 * h / 6, y: -h }]; - var el = Object(_shapes_util__WEBPACK_IMPORTED_MODULE_2__["insertPolygonShape"])(shapeSvg, w, h, points); + var el = (0,_shapes_util__WEBPACK_IMPORTED_MODULE_1__.insertPolygonShape)(shapeSvg, w, h, points); el.attr('style', node.style); - Object(_shapes_util__WEBPACK_IMPORTED_MODULE_2__["updateNodeBounds"])(node, el); + (0,_shapes_util__WEBPACK_IMPORTED_MODULE_1__.updateNodeBounds)(node, el); node.intersect = function (point) { - return _intersect_index_js__WEBPACK_IMPORTED_MODULE_4__["default"].polygon(node, points, point); + return _intersect_index_js__WEBPACK_IMPORTED_MODULE_3__["default"].polygon(node, points, point); }; return shapeSvg; }; var rect_right_inv_arrow = function rect_right_inv_arrow(parent, node) { - var _labelHelper8 = Object(_shapes_util__WEBPACK_IMPORTED_MODULE_2__["labelHelper"])(parent, node, undefined, true), + var _labelHelper8 = (0,_shapes_util__WEBPACK_IMPORTED_MODULE_1__.labelHelper)(parent, node, undefined, true), shapeSvg = _labelHelper8.shapeSvg, bbox = _labelHelper8.bbox; @@ -3174,19 +11270,19 @@ var rect_right_inv_arrow = function rect_right_inv_arrow(parent, node) { x: 0, y: -h }]; - var el = Object(_shapes_util__WEBPACK_IMPORTED_MODULE_2__["insertPolygonShape"])(shapeSvg, w, h, points); + var el = (0,_shapes_util__WEBPACK_IMPORTED_MODULE_1__.insertPolygonShape)(shapeSvg, w, h, points); el.attr('style', node.style); - Object(_shapes_util__WEBPACK_IMPORTED_MODULE_2__["updateNodeBounds"])(node, el); + (0,_shapes_util__WEBPACK_IMPORTED_MODULE_1__.updateNodeBounds)(node, el); node.intersect = function (point) { - return _intersect_index_js__WEBPACK_IMPORTED_MODULE_4__["default"].polygon(node, points, point); + return _intersect_index_js__WEBPACK_IMPORTED_MODULE_3__["default"].polygon(node, points, point); }; return shapeSvg; }; var cylinder = function cylinder(parent, node) { - var _labelHelper9 = Object(_shapes_util__WEBPACK_IMPORTED_MODULE_2__["labelHelper"])(parent, node, undefined, true), + var _labelHelper9 = (0,_shapes_util__WEBPACK_IMPORTED_MODULE_1__.labelHelper)(parent, node, undefined, true), shapeSvg = _labelHelper9.shapeSvg, bbox = _labelHelper9.bbox; @@ -3196,10 +11292,10 @@ var cylinder = function cylinder(parent, node) { var h = bbox.height + ry + node.padding; var shape = 'M 0,' + ry + ' a ' + rx + ',' + ry + ' 0,0,0 ' + w + ' 0 a ' + rx + ',' + ry + ' 0,0,0 ' + -w + ' 0 l 0,' + h + ' a ' + rx + ',' + ry + ' 0,0,0 ' + w + ' 0 l 0,' + -h; var el = shapeSvg.attr('label-offset-y', ry).insert('path', ':first-child').attr('style', node.style).attr('d', shape).attr('transform', 'translate(' + -w / 2 + ',' + -(h / 2 + ry) + ')'); - Object(_shapes_util__WEBPACK_IMPORTED_MODULE_2__["updateNodeBounds"])(node, el); + (0,_shapes_util__WEBPACK_IMPORTED_MODULE_1__.updateNodeBounds)(node, el); node.intersect = function (point) { - var pos = _intersect_index_js__WEBPACK_IMPORTED_MODULE_4__["default"].rect(node, point); + var pos = _intersect_index_js__WEBPACK_IMPORTED_MODULE_3__["default"].rect(node, point); var x = pos.x - node.x; if (rx != 0 && (Math.abs(x) < node.width / 2 || Math.abs(x) == node.width / 2 && Math.abs(pos.y - node.y) > node.height / 2 - ry)) { @@ -3219,19 +11315,19 @@ var cylinder = function cylinder(parent, node) { }; var rect = function rect(parent, node) { - var _labelHelper10 = Object(_shapes_util__WEBPACK_IMPORTED_MODULE_2__["labelHelper"])(parent, node, 'node ' + node.classes, true), + var _labelHelper10 = (0,_shapes_util__WEBPACK_IMPORTED_MODULE_1__.labelHelper)(parent, node, 'node ' + node.classes, true), shapeSvg = _labelHelper10.shapeSvg, bbox = _labelHelper10.bbox, halfPadding = _labelHelper10.halfPadding; - _logger__WEBPACK_IMPORTED_MODULE_1__["log"].trace('Classes = ', node.classes); // add the rect + _logger__WEBPACK_IMPORTED_MODULE_2__.log.trace('Classes = ', node.classes); // add the rect var rect = shapeSvg.insert('rect', ':first-child'); rect.attr('class', 'basic label-container').attr('style', node.style).attr('rx', node.rx).attr('ry', node.ry).attr('x', -bbox.width / 2 - halfPadding).attr('y', -bbox.height / 2 - halfPadding).attr('width', bbox.width + node.padding).attr('height', bbox.height + node.padding); - Object(_shapes_util__WEBPACK_IMPORTED_MODULE_2__["updateNodeBounds"])(node, rect); + (0,_shapes_util__WEBPACK_IMPORTED_MODULE_1__.updateNodeBounds)(node, rect); node.intersect = function (point) { - return _intersect_index_js__WEBPACK_IMPORTED_MODULE_4__["default"].rect(node, point); + return _intersect_index_js__WEBPACK_IMPORTED_MODULE_3__["default"].rect(node, point); }; return shapeSvg; @@ -3264,30 +11360,30 @@ var rectWithTitle = function rectWithTitle(parent, node) { title = text2; } - _logger__WEBPACK_IMPORTED_MODULE_1__["log"].info('Label text abc79', title, text2, _typeof(text2) === 'object'); - var text = label.node().appendChild(Object(_createLabel__WEBPACK_IMPORTED_MODULE_5__["default"])(title, node.labelStyle, true, true)); + _logger__WEBPACK_IMPORTED_MODULE_2__.log.info('Label text abc79', title, text2, _typeof(text2) === 'object'); + var text = label.node().appendChild((0,_createLabel__WEBPACK_IMPORTED_MODULE_4__["default"])(title, node.labelStyle, true, true)); var bbox = { width: 0, height: 0 }; - if (Object(_diagrams_common_common__WEBPACK_IMPORTED_MODULE_8__["evaluate"])(Object(_config__WEBPACK_IMPORTED_MODULE_3__["getConfig"])().flowchart.htmlLabels)) { + if ((0,_diagrams_common_common__WEBPACK_IMPORTED_MODULE_5__.evaluate)((0,_config__WEBPACK_IMPORTED_MODULE_6__.getConfig)().flowchart.htmlLabels)) { var div = text.children[0]; - var dv = Object(d3__WEBPACK_IMPORTED_MODULE_0__["select"])(text); + var dv = (0,d3__WEBPACK_IMPORTED_MODULE_0__.select)(text); bbox = div.getBoundingClientRect(); dv.attr('width', bbox.width); dv.attr('height', bbox.height); } - _logger__WEBPACK_IMPORTED_MODULE_1__["log"].info('Text 2', text2); + _logger__WEBPACK_IMPORTED_MODULE_2__.log.info('Text 2', text2); var textRows = text2.slice(1, text2.length); var titleBox = text.getBBox(); - var descr = label.node().appendChild(Object(_createLabel__WEBPACK_IMPORTED_MODULE_5__["default"])(textRows.join ? textRows.join('
') : textRows, node.labelStyle, true, true)); + var descr = label.node().appendChild((0,_createLabel__WEBPACK_IMPORTED_MODULE_4__["default"])(textRows.join ? textRows.join('
') : textRows, node.labelStyle, true, true)); - if (Object(_diagrams_common_common__WEBPACK_IMPORTED_MODULE_8__["evaluate"])(Object(_config__WEBPACK_IMPORTED_MODULE_3__["getConfig"])().flowchart.htmlLabels)) { + if ((0,_diagrams_common_common__WEBPACK_IMPORTED_MODULE_5__.evaluate)((0,_config__WEBPACK_IMPORTED_MODULE_6__.getConfig)().flowchart.htmlLabels)) { var _div = descr.children[0]; - var _dv = Object(d3__WEBPACK_IMPORTED_MODULE_0__["select"])(descr); + var _dv = (0,d3__WEBPACK_IMPORTED_MODULE_0__.select)(descr); bbox = _div.getBoundingClientRect(); @@ -3299,8 +11395,10 @@ var rectWithTitle = function rectWithTitle(parent, node) { var halfPadding = node.padding / 2; - Object(d3__WEBPACK_IMPORTED_MODULE_0__["select"])(descr).attr('transform', 'translate( ' + (bbox.width > titleBox.width ? 0 : (titleBox.width - bbox.width) / 2) + ', ' + (titleBox.height + halfPadding + 5) + ')'); - Object(d3__WEBPACK_IMPORTED_MODULE_0__["select"])(text).attr('transform', 'translate( ' + (bbox.width < titleBox.width ? 0 : -(titleBox.width - bbox.width) / 2) + ', ' + 0 + ')'); // Get the size of the label + (0,d3__WEBPACK_IMPORTED_MODULE_0__.select)(descr).attr('transform', 'translate( ' + ( // (titleBox.width - bbox.width) / 2 + + bbox.width > titleBox.width ? 0 : (titleBox.width - bbox.width) / 2) + ', ' + (titleBox.height + halfPadding + 5) + ')'); + (0,d3__WEBPACK_IMPORTED_MODULE_0__.select)(text).attr('transform', 'translate( ' + ( // (titleBox.width - bbox.width) / 2 + + bbox.width < titleBox.width ? 0 : -(titleBox.width - bbox.width) / 2) + ', ' + 0 + ')'); // Get the size of the label // Bounding box for title and text bbox = label.node().getBBox(); // Center the label @@ -3308,17 +11406,17 @@ var rectWithTitle = function rectWithTitle(parent, node) { label.attr('transform', 'translate(' + -bbox.width / 2 + ', ' + (-bbox.height / 2 - halfPadding + 3) + ')'); rect.attr('class', 'outer title-state').attr('x', -bbox.width / 2 - halfPadding).attr('y', -bbox.height / 2 - halfPadding).attr('width', bbox.width + node.padding).attr('height', bbox.height + node.padding); innerLine.attr('class', 'divider').attr('x1', -bbox.width / 2 - halfPadding).attr('x2', bbox.width / 2 + halfPadding).attr('y1', -bbox.height / 2 - halfPadding + titleBox.height + halfPadding).attr('y2', -bbox.height / 2 - halfPadding + titleBox.height + halfPadding); - Object(_shapes_util__WEBPACK_IMPORTED_MODULE_2__["updateNodeBounds"])(node, rect); + (0,_shapes_util__WEBPACK_IMPORTED_MODULE_1__.updateNodeBounds)(node, rect); node.intersect = function (point) { - return _intersect_index_js__WEBPACK_IMPORTED_MODULE_4__["default"].rect(node, point); + return _intersect_index_js__WEBPACK_IMPORTED_MODULE_3__["default"].rect(node, point); }; return shapeSvg; }; var stadium = function stadium(parent, node) { - var _labelHelper11 = Object(_shapes_util__WEBPACK_IMPORTED_MODULE_2__["labelHelper"])(parent, node, undefined, true), + var _labelHelper11 = (0,_shapes_util__WEBPACK_IMPORTED_MODULE_1__.labelHelper)(parent, node, undefined, true), shapeSvg = _labelHelper11.shapeSvg, bbox = _labelHelper11.bbox; @@ -3326,17 +11424,17 @@ var stadium = function stadium(parent, node) { var w = bbox.width + h / 4 + node.padding; // add the rect var rect = shapeSvg.insert('rect', ':first-child').attr('style', node.style).attr('rx', h / 2).attr('ry', h / 2).attr('x', -w / 2).attr('y', -h / 2).attr('width', w).attr('height', h); - Object(_shapes_util__WEBPACK_IMPORTED_MODULE_2__["updateNodeBounds"])(node, rect); + (0,_shapes_util__WEBPACK_IMPORTED_MODULE_1__.updateNodeBounds)(node, rect); node.intersect = function (point) { - return _intersect_index_js__WEBPACK_IMPORTED_MODULE_4__["default"].rect(node, point); + return _intersect_index_js__WEBPACK_IMPORTED_MODULE_3__["default"].rect(node, point); }; return shapeSvg; }; var circle = function circle(parent, node) { - var _labelHelper12 = Object(_shapes_util__WEBPACK_IMPORTED_MODULE_2__["labelHelper"])(parent, node, undefined, true), + var _labelHelper12 = (0,_shapes_util__WEBPACK_IMPORTED_MODULE_1__.labelHelper)(parent, node, undefined, true), shapeSvg = _labelHelper12.shapeSvg, bbox = _labelHelper12.bbox, halfPadding = _labelHelper12.halfPadding; @@ -3344,19 +11442,19 @@ var circle = function circle(parent, node) { var circle = shapeSvg.insert('circle', ':first-child'); // center the circle around its coordinate circle.attr('style', node.style).attr('rx', node.rx).attr('ry', node.ry).attr('r', bbox.width / 2 + halfPadding).attr('width', bbox.width + node.padding).attr('height', bbox.height + node.padding); - _logger__WEBPACK_IMPORTED_MODULE_1__["log"].info('Circle main'); - Object(_shapes_util__WEBPACK_IMPORTED_MODULE_2__["updateNodeBounds"])(node, circle); + _logger__WEBPACK_IMPORTED_MODULE_2__.log.info('Circle main'); + (0,_shapes_util__WEBPACK_IMPORTED_MODULE_1__.updateNodeBounds)(node, circle); node.intersect = function (point) { - _logger__WEBPACK_IMPORTED_MODULE_1__["log"].info('Circle intersect', node, bbox.width / 2 + halfPadding, point); - return _intersect_index_js__WEBPACK_IMPORTED_MODULE_4__["default"].circle(node, bbox.width / 2 + halfPadding, point); + _logger__WEBPACK_IMPORTED_MODULE_2__.log.info('Circle intersect', node, bbox.width / 2 + halfPadding, point); + return _intersect_index_js__WEBPACK_IMPORTED_MODULE_3__["default"].circle(node, bbox.width / 2 + halfPadding, point); }; return shapeSvg; }; var subroutine = function subroutine(parent, node) { - var _labelHelper13 = Object(_shapes_util__WEBPACK_IMPORTED_MODULE_2__["labelHelper"])(parent, node, undefined, true), + var _labelHelper13 = (0,_shapes_util__WEBPACK_IMPORTED_MODULE_1__.labelHelper)(parent, node, undefined, true), shapeSvg = _labelHelper13.shapeSvg, bbox = _labelHelper13.bbox; @@ -3393,12 +11491,12 @@ var subroutine = function subroutine(parent, node) { x: -8, y: 0 }]; - var el = Object(_shapes_util__WEBPACK_IMPORTED_MODULE_2__["insertPolygonShape"])(shapeSvg, w, h, points); + var el = (0,_shapes_util__WEBPACK_IMPORTED_MODULE_1__.insertPolygonShape)(shapeSvg, w, h, points); el.attr('style', node.style); - Object(_shapes_util__WEBPACK_IMPORTED_MODULE_2__["updateNodeBounds"])(node, el); + (0,_shapes_util__WEBPACK_IMPORTED_MODULE_1__.updateNodeBounds)(node, el); node.intersect = function (point) { - return _intersect_index_js__WEBPACK_IMPORTED_MODULE_4__["default"].polygon(node, points, point); + return _intersect_index_js__WEBPACK_IMPORTED_MODULE_3__["default"].polygon(node, points, point); }; return shapeSvg; @@ -3409,10 +11507,10 @@ var start = function start(parent, node) { var circle = shapeSvg.insert('circle', ':first-child'); // center the circle around its coordinate circle.attr('class', 'state-start').attr('r', 7).attr('width', 14).attr('height', 14); - Object(_shapes_util__WEBPACK_IMPORTED_MODULE_2__["updateNodeBounds"])(node, circle); + (0,_shapes_util__WEBPACK_IMPORTED_MODULE_1__.updateNodeBounds)(node, circle); node.intersect = function (point) { - return _intersect_index_js__WEBPACK_IMPORTED_MODULE_4__["default"].circle(node, 7, point); + return _intersect_index_js__WEBPACK_IMPORTED_MODULE_3__["default"].circle(node, 7, point); }; return shapeSvg; @@ -3429,12 +11527,12 @@ var forkJoin = function forkJoin(parent, node, dir) { } var shape = shapeSvg.append('rect').attr('x', -1 * width / 2).attr('y', -1 * height / 2).attr('width', width).attr('height', height).attr('class', 'fork-join'); - Object(_shapes_util__WEBPACK_IMPORTED_MODULE_2__["updateNodeBounds"])(node, shape); + (0,_shapes_util__WEBPACK_IMPORTED_MODULE_1__.updateNodeBounds)(node, shape); node.height = node.height + node.padding / 2; node.width = node.width + node.padding / 2; node.intersect = function (point) { - return _intersect_index_js__WEBPACK_IMPORTED_MODULE_4__["default"].rect(node, point); + return _intersect_index_js__WEBPACK_IMPORTED_MODULE_3__["default"].rect(node, point); }; return shapeSvg; @@ -3446,10 +11544,10 @@ var end = function end(parent, node) { var circle = shapeSvg.insert('circle', ':first-child'); circle.attr('class', 'state-start').attr('r', 7).attr('width', 14).attr('height', 14); innerCircle.attr('class', 'state-end').attr('r', 5).attr('width', 10).attr('height', 10); - Object(_shapes_util__WEBPACK_IMPORTED_MODULE_2__["updateNodeBounds"])(node, circle); + (0,_shapes_util__WEBPACK_IMPORTED_MODULE_1__.updateNodeBounds)(node, circle); node.intersect = function (point) { - return _intersect_index_js__WEBPACK_IMPORTED_MODULE_4__["default"].circle(node, 7, point); + return _intersect_index_js__WEBPACK_IMPORTED_MODULE_3__["default"].circle(node, 7, point); }; return shapeSvg; @@ -3480,12 +11578,12 @@ var class_box = function class_box(parent, node) { var hasInterface = node.classData.annotations && node.classData.annotations[0]; // 1. Create the labels var interfaceLabelText = node.classData.annotations[0] ? '«' + node.classData.annotations[0] + '»' : ''; - var interfaceLabel = labelContainer.node().appendChild(Object(_createLabel__WEBPACK_IMPORTED_MODULE_5__["default"])(interfaceLabelText, node.labelStyle, true, true)); + var interfaceLabel = labelContainer.node().appendChild((0,_createLabel__WEBPACK_IMPORTED_MODULE_4__["default"])(interfaceLabelText, node.labelStyle, true, true)); var interfaceBBox = interfaceLabel.getBBox(); - if (Object(_diagrams_common_common__WEBPACK_IMPORTED_MODULE_8__["evaluate"])(Object(_config__WEBPACK_IMPORTED_MODULE_3__["getConfig"])().flowchart.htmlLabels)) { + if ((0,_diagrams_common_common__WEBPACK_IMPORTED_MODULE_5__.evaluate)((0,_config__WEBPACK_IMPORTED_MODULE_6__.getConfig)().flowchart.htmlLabels)) { var div = interfaceLabel.children[0]; - var dv = Object(d3__WEBPACK_IMPORTED_MODULE_0__["select"])(interfaceLabel); + var dv = (0,d3__WEBPACK_IMPORTED_MODULE_0__.select)(interfaceLabel); interfaceBBox = div.getBoundingClientRect(); dv.attr('width', interfaceBBox.width); dv.attr('height', interfaceBBox.height); @@ -3499,21 +11597,21 @@ var class_box = function class_box(parent, node) { var classTitleString = node.classData.id; if (node.classData.type !== undefined && node.classData.type !== '') { - if (Object(_config__WEBPACK_IMPORTED_MODULE_3__["getConfig"])().flowchart.htmlLabels) { + if ((0,_config__WEBPACK_IMPORTED_MODULE_6__.getConfig)().flowchart.htmlLabels) { classTitleString += '<' + node.classData.type + '>'; } else { classTitleString += '<' + node.classData.type + '>'; } } - var classTitleLabel = labelContainer.node().appendChild(Object(_createLabel__WEBPACK_IMPORTED_MODULE_5__["default"])(classTitleString, node.labelStyle, true, true)); - Object(d3__WEBPACK_IMPORTED_MODULE_0__["select"])(classTitleLabel).attr('class', 'classTitle'); + var classTitleLabel = labelContainer.node().appendChild((0,_createLabel__WEBPACK_IMPORTED_MODULE_4__["default"])(classTitleString, node.labelStyle, true, true)); + (0,d3__WEBPACK_IMPORTED_MODULE_0__.select)(classTitleLabel).attr('class', 'classTitle'); var classTitleBBox = classTitleLabel.getBBox(); - if (Object(_diagrams_common_common__WEBPACK_IMPORTED_MODULE_8__["evaluate"])(Object(_config__WEBPACK_IMPORTED_MODULE_3__["getConfig"])().flowchart.htmlLabels)) { + if ((0,_diagrams_common_common__WEBPACK_IMPORTED_MODULE_5__.evaluate)((0,_config__WEBPACK_IMPORTED_MODULE_6__.getConfig)().flowchart.htmlLabels)) { var _div2 = classTitleLabel.children[0]; - var _dv2 = Object(d3__WEBPACK_IMPORTED_MODULE_0__["select"])(classTitleLabel); + var _dv2 = (0,d3__WEBPACK_IMPORTED_MODULE_0__.select)(classTitleLabel); classTitleBBox = _div2.getBoundingClientRect(); @@ -3530,20 +11628,20 @@ var class_box = function class_box(parent, node) { var classAttributes = []; node.classData.members.forEach(function (str) { - var parsedInfo = Object(_diagrams_class_svgDraw__WEBPACK_IMPORTED_MODULE_7__["parseMember"])(str); + var parsedInfo = (0,_diagrams_class_svgDraw__WEBPACK_IMPORTED_MODULE_7__.parseMember)(str); var parsedText = parsedInfo.displayText; - if (Object(_config__WEBPACK_IMPORTED_MODULE_3__["getConfig"])().flowchart.htmlLabels) { + if ((0,_config__WEBPACK_IMPORTED_MODULE_6__.getConfig)().flowchart.htmlLabels) { parsedText = parsedText.replace(//g, '>'); } - var lbl = labelContainer.node().appendChild(Object(_createLabel__WEBPACK_IMPORTED_MODULE_5__["default"])(parsedText, parsedInfo.cssStyle ? parsedInfo.cssStyle : node.labelStyle, true, true)); + var lbl = labelContainer.node().appendChild((0,_createLabel__WEBPACK_IMPORTED_MODULE_4__["default"])(parsedText, parsedInfo.cssStyle ? parsedInfo.cssStyle : node.labelStyle, true, true)); var bbox = lbl.getBBox(); - if (Object(_diagrams_common_common__WEBPACK_IMPORTED_MODULE_8__["evaluate"])(Object(_config__WEBPACK_IMPORTED_MODULE_3__["getConfig"])().flowchart.htmlLabels)) { + if ((0,_diagrams_common_common__WEBPACK_IMPORTED_MODULE_5__.evaluate)((0,_config__WEBPACK_IMPORTED_MODULE_6__.getConfig)().flowchart.htmlLabels)) { var _div3 = lbl.children[0]; - var _dv3 = Object(d3__WEBPACK_IMPORTED_MODULE_0__["select"])(lbl); + var _dv3 = (0,d3__WEBPACK_IMPORTED_MODULE_0__.select)(lbl); bbox = _div3.getBoundingClientRect(); @@ -3562,20 +11660,20 @@ var class_box = function class_box(parent, node) { maxHeight += lineHeight; var classMethods = []; node.classData.methods.forEach(function (str) { - var parsedInfo = Object(_diagrams_class_svgDraw__WEBPACK_IMPORTED_MODULE_7__["parseMember"])(str); + var parsedInfo = (0,_diagrams_class_svgDraw__WEBPACK_IMPORTED_MODULE_7__.parseMember)(str); var displayText = parsedInfo.displayText; - if (Object(_config__WEBPACK_IMPORTED_MODULE_3__["getConfig"])().flowchart.htmlLabels) { + if ((0,_config__WEBPACK_IMPORTED_MODULE_6__.getConfig)().flowchart.htmlLabels) { displayText = displayText.replace(//g, '>'); } - var lbl = labelContainer.node().appendChild(Object(_createLabel__WEBPACK_IMPORTED_MODULE_5__["default"])(displayText, parsedInfo.cssStyle ? parsedInfo.cssStyle : node.labelStyle, true, true)); + var lbl = labelContainer.node().appendChild((0,_createLabel__WEBPACK_IMPORTED_MODULE_4__["default"])(displayText, parsedInfo.cssStyle ? parsedInfo.cssStyle : node.labelStyle, true, true)); var bbox = lbl.getBBox(); - if (Object(_diagrams_common_common__WEBPACK_IMPORTED_MODULE_8__["evaluate"])(Object(_config__WEBPACK_IMPORTED_MODULE_3__["getConfig"])().flowchart.htmlLabels)) { + if ((0,_diagrams_common_common__WEBPACK_IMPORTED_MODULE_5__.evaluate)((0,_config__WEBPACK_IMPORTED_MODULE_6__.getConfig)().flowchart.htmlLabels)) { var _div4 = lbl.children[0]; - var _dv4 = Object(d3__WEBPACK_IMPORTED_MODULE_0__["select"])(lbl); + var _dv4 = (0,d3__WEBPACK_IMPORTED_MODULE_0__.select)(lbl); bbox = _div4.getBoundingClientRect(); @@ -3597,25 +11695,25 @@ var class_box = function class_box(parent, node) { if (hasInterface) { var _diffX = (maxWidth - interfaceBBox.width) / 2; - Object(d3__WEBPACK_IMPORTED_MODULE_0__["select"])(interfaceLabel).attr('transform', 'translate( ' + (-1 * maxWidth / 2 + _diffX) + ', ' + -1 * maxHeight / 2 + ')'); + (0,d3__WEBPACK_IMPORTED_MODULE_0__.select)(interfaceLabel).attr('transform', 'translate( ' + (-1 * maxWidth / 2 + _diffX) + ', ' + -1 * maxHeight / 2 + ')'); verticalPos = interfaceBBox.height + rowPadding; } // Positin the class title label var diffX = (maxWidth - classTitleBBox.width) / 2; - Object(d3__WEBPACK_IMPORTED_MODULE_0__["select"])(classTitleLabel).attr('transform', 'translate( ' + (-1 * maxWidth / 2 + diffX) + ', ' + (-1 * maxHeight / 2 + verticalPos) + ')'); + (0,d3__WEBPACK_IMPORTED_MODULE_0__.select)(classTitleLabel).attr('transform', 'translate( ' + (-1 * maxWidth / 2 + diffX) + ', ' + (-1 * maxHeight / 2 + verticalPos) + ')'); verticalPos += classTitleBBox.height + rowPadding; topLine.attr('class', 'divider').attr('x1', -maxWidth / 2 - halfPadding).attr('x2', maxWidth / 2 + halfPadding).attr('y1', -maxHeight / 2 - halfPadding + lineHeight + verticalPos).attr('y2', -maxHeight / 2 - halfPadding + lineHeight + verticalPos); verticalPos += lineHeight; classAttributes.forEach(function (lbl) { - Object(d3__WEBPACK_IMPORTED_MODULE_0__["select"])(lbl).attr('transform', 'translate( ' + -maxWidth / 2 + ', ' + (-1 * maxHeight / 2 + verticalPos + lineHeight / 2) + ')'); + (0,d3__WEBPACK_IMPORTED_MODULE_0__.select)(lbl).attr('transform', 'translate( ' + -maxWidth / 2 + ', ' + (-1 * maxHeight / 2 + verticalPos + lineHeight / 2) + ')'); verticalPos += classTitleBBox.height + rowPadding; }); verticalPos += lineHeight; bottomLine.attr('class', 'divider').attr('x1', -maxWidth / 2 - halfPadding).attr('x2', maxWidth / 2 + halfPadding).attr('y1', -maxHeight / 2 - halfPadding + lineHeight + verticalPos).attr('y2', -maxHeight / 2 - halfPadding + lineHeight + verticalPos); verticalPos += lineHeight; classMethods.forEach(function (lbl) { - Object(d3__WEBPACK_IMPORTED_MODULE_0__["select"])(lbl).attr('transform', 'translate( ' + -maxWidth / 2 + ', ' + (-1 * maxHeight / 2 + verticalPos) + ')'); + (0,d3__WEBPACK_IMPORTED_MODULE_0__.select)(lbl).attr('transform', 'translate( ' + -maxWidth / 2 + ', ' + (-1 * maxHeight / 2 + verticalPos) + ')'); verticalPos += classTitleBBox.height + rowPadding; }); // // let bbox; @@ -3676,10 +11774,10 @@ var class_box = function class_box(parent, node) { // .attr('y1', -bbox.height / 2 - halfPadding + titleBox.height + halfPadding) // .attr('y2', -bbox.height / 2 - halfPadding + titleBox.height + halfPadding); - Object(_shapes_util__WEBPACK_IMPORTED_MODULE_2__["updateNodeBounds"])(node, rect); + (0,_shapes_util__WEBPACK_IMPORTED_MODULE_1__.updateNodeBounds)(node, rect); node.intersect = function (point) { - return _intersect_index_js__WEBPACK_IMPORTED_MODULE_4__["default"].rect(node, point); + return _intersect_index_js__WEBPACK_IMPORTED_MODULE_3__["default"].rect(node, point); }; return shapeSvg; @@ -3702,7 +11800,7 @@ var shapes = { cylinder: cylinder, start: start, end: end, - note: _shapes_note__WEBPACK_IMPORTED_MODULE_6__["default"], + note: _shapes_note__WEBPACK_IMPORTED_MODULE_8__["default"], subroutine: subroutine, fork: forkJoin, join: forkJoin, @@ -3743,7 +11841,7 @@ var clear = function clear() { }; var positionNode = function positionNode(node) { var el = nodeElems[node.id]; - _logger__WEBPACK_IMPORTED_MODULE_1__["log"].trace('Transforming node', node.diff, node, 'translate(' + (node.x - node.width / 2 - 5) + ', ' + node.width / 2 + ')'); + _logger__WEBPACK_IMPORTED_MODULE_2__.log.trace('Transforming node', node.diff, node, 'translate(' + (node.x - node.width / 2 - 5) + ', ' + node.width / 2 + ')'); var padding = 8; var diff = node.diff || 0; @@ -3762,11 +11860,13 @@ var positionNode = function positionNode(node) { /*!******************************************!*\ !*** ./src/dagre-wrapper/shapes/note.js ***! \******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ "./src/dagre-wrapper/shapes/util.js"); /* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../logger */ "./src/logger.js"); /* harmony import */ var _intersect_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../intersect/index.js */ "./src/dagre-wrapper/intersect/index.js"); @@ -3776,16 +11876,16 @@ __webpack_require__.r(__webpack_exports__); var note = function note(parent, node) { - var _labelHelper = Object(_util__WEBPACK_IMPORTED_MODULE_0__["labelHelper"])(parent, node, 'node ' + node.classes, true), + var _labelHelper = (0,_util__WEBPACK_IMPORTED_MODULE_0__.labelHelper)(parent, node, 'node ' + node.classes, true), shapeSvg = _labelHelper.shapeSvg, bbox = _labelHelper.bbox, halfPadding = _labelHelper.halfPadding; - _logger__WEBPACK_IMPORTED_MODULE_1__["log"].info('Classes = ', node.classes); // add the rect + _logger__WEBPACK_IMPORTED_MODULE_1__.log.info('Classes = ', node.classes); // add the rect var rect = shapeSvg.insert('rect', ':first-child'); rect.attr('rx', node.rx).attr('ry', node.ry).attr('x', -bbox.width / 2 - halfPadding).attr('y', -bbox.height / 2 - halfPadding).attr('width', bbox.width + node.padding).attr('height', bbox.height + node.padding); - Object(_util__WEBPACK_IMPORTED_MODULE_0__["updateNodeBounds"])(node, rect); + (0,_util__WEBPACK_IMPORTED_MODULE_0__.updateNodeBounds)(node, rect); node.intersect = function (point) { return _intersect_index_js__WEBPACK_IMPORTED_MODULE_2__["default"].rect(node, point); @@ -3794,7 +11894,7 @@ var note = function note(parent, node) { return shapeSvg; }; -/* harmony default export */ __webpack_exports__["default"] = (note); +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (note); /***/ }), @@ -3802,19 +11902,20 @@ var note = function note(parent, node) { /*!******************************************!*\ !*** ./src/dagre-wrapper/shapes/util.js ***! \******************************************/ -/*! exports provided: labelHelper, updateNodeBounds, insertPolygonShape */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "labelHelper", function() { return labelHelper; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "updateNodeBounds", function() { return updateNodeBounds; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "insertPolygonShape", function() { return insertPolygonShape; }); -/* harmony import */ var _createLabel__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLabel */ "./src/dagre-wrapper/createLabel.js"); -/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../config */ "./src/config.js"); -/* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! d3 */ "d3"); -/* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(d3__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var _diagrams_common_common__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../diagrams/common/common */ "./src/diagrams/common/common.js"); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "labelHelper": () => (/* binding */ labelHelper), +/* harmony export */ "updateNodeBounds": () => (/* binding */ updateNodeBounds), +/* harmony export */ "insertPolygonShape": () => (/* binding */ insertPolygonShape) +/* harmony export */ }); +/* harmony import */ var _createLabel__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../createLabel */ "./src/dagre-wrapper/createLabel.js"); +/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../config */ "./src/config.js"); +/* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3 */ "d3"); +/* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(d3__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _diagrams_common_common__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../diagrams/common/common */ "./src/diagrams/common/common.js"); @@ -3832,13 +11933,13 @@ var labelHelper = function labelHelper(parent, node, _classes, isNode) { var shapeSvg = parent.insert('g').attr('class', classes).attr('id', node.domId || node.id); // Create the label and insert it after the rect var label = shapeSvg.insert('g').attr('class', 'label').attr('style', node.labelStyle); - var text = label.node().appendChild(Object(_createLabel__WEBPACK_IMPORTED_MODULE_0__["default"])(node.labelText, node.labelStyle, false, isNode)); // Get the size of the label + var text = label.node().appendChild((0,_createLabel__WEBPACK_IMPORTED_MODULE_1__["default"])(node.labelText, node.labelStyle, false, isNode)); // Get the size of the label var bbox = text.getBBox(); - if (Object(_diagrams_common_common__WEBPACK_IMPORTED_MODULE_3__["evaluate"])(Object(_config__WEBPACK_IMPORTED_MODULE_1__["getConfig"])().flowchart.htmlLabels)) { + if ((0,_diagrams_common_common__WEBPACK_IMPORTED_MODULE_2__.evaluate)((0,_config__WEBPACK_IMPORTED_MODULE_3__.getConfig)().flowchart.htmlLabels)) { var div = text.children[0]; - var dv = Object(d3__WEBPACK_IMPORTED_MODULE_2__["select"])(text); + var dv = (0,d3__WEBPACK_IMPORTED_MODULE_0__.select)(text); bbox = div.getBoundingClientRect(); dv.attr('width', bbox.width); dv.attr('height', bbox.height); @@ -3871,12 +11972,14 @@ function insertPolygonShape(parent, w, h, points) { /*!******************************!*\ !*** ./src/defaultConfig.js ***! \******************************/ -/*! exports provided: configKeys, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "configKeys", function() { return configKeys; }); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "configKeys": () => (/* binding */ configKeys), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); /* harmony import */ var _themes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./themes */ "./src/themes/index.js"); function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } @@ -3946,7 +12049,7 @@ var config = { * */ theme: 'default', - themeVariables: _themes__WEBPACK_IMPORTED_MODULE_0__["default"]['default'].getThemeVariables(), + themeVariables: _themes__WEBPACK_IMPORTED_MODULE_0__["default"]["default"].getThemeVariables(), themeCSS: undefined, /* **maxTextSize** - The maximum allowed size of the users text diamgram */ @@ -5058,7 +13161,7 @@ var keyify = function keyify(obj) { }; var configKeys = keyify(config, ''); -/* harmony default export */ __webpack_exports__["default"] = (config); +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (config); /***/ }), @@ -5066,36 +13169,38 @@ var configKeys = keyify(config, ''); /*!***************************************!*\ !*** ./src/diagrams/class/classDb.js ***! \***************************************/ -/*! exports provided: parseDirective, addClass, lookUpDomId, clear, getClass, getClasses, getRelations, addRelation, addAnnotation, addMember, addMembers, cleanupLabel, setCssClass, setLink, setClickEvent, bindFunctions, lineType, relationType, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "parseDirective", function() { return parseDirective; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "addClass", function() { return addClass; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "lookUpDomId", function() { return lookUpDomId; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "clear", function() { return clear; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getClass", function() { return getClass; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getClasses", function() { return getClasses; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getRelations", function() { return getRelations; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "addRelation", function() { return addRelation; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "addAnnotation", function() { return addAnnotation; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "addMember", function() { return addMember; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "addMembers", function() { return addMembers; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "cleanupLabel", function() { return cleanupLabel; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setCssClass", function() { return setCssClass; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setLink", function() { return setLink; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setClickEvent", function() { return setClickEvent; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "bindFunctions", function() { return bindFunctions; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "lineType", function() { return lineType; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "relationType", function() { return relationType; }); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "parseDirective": () => (/* binding */ parseDirective), +/* harmony export */ "addClass": () => (/* binding */ addClass), +/* harmony export */ "lookUpDomId": () => (/* binding */ lookUpDomId), +/* harmony export */ "clear": () => (/* binding */ clear), +/* harmony export */ "getClass": () => (/* binding */ getClass), +/* harmony export */ "getClasses": () => (/* binding */ getClasses), +/* harmony export */ "getRelations": () => (/* binding */ getRelations), +/* harmony export */ "addRelation": () => (/* binding */ addRelation), +/* harmony export */ "addAnnotation": () => (/* binding */ addAnnotation), +/* harmony export */ "addMember": () => (/* binding */ addMember), +/* harmony export */ "addMembers": () => (/* binding */ addMembers), +/* harmony export */ "cleanupLabel": () => (/* binding */ cleanupLabel), +/* harmony export */ "setCssClass": () => (/* binding */ setCssClass), +/* harmony export */ "setLink": () => (/* binding */ setLink), +/* harmony export */ "setClickEvent": () => (/* binding */ setClickEvent), +/* harmony export */ "bindFunctions": () => (/* binding */ bindFunctions), +/* harmony export */ "lineType": () => (/* binding */ lineType), +/* harmony export */ "relationType": () => (/* binding */ relationType), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); /* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3 */ "d3"); /* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(d3__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../logger */ "./src/logger.js"); -/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../config */ "./src/config.js"); -/* harmony import */ var _common_common__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../common/common */ "./src/diagrams/common/common.js"); -/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils */ "./src/utils.js"); -/* harmony import */ var _mermaidAPI__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../mermaidAPI */ "./src/mermaidAPI.js"); +/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../logger */ "./src/logger.js"); +/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../config */ "./src/config.js"); +/* harmony import */ var _common_common__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../common/common */ "./src/diagrams/common/common.js"); +/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../utils */ "./src/utils.js"); +/* harmony import */ var _mermaidAPI__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../mermaidAPI */ "./src/mermaidAPI.js"); function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } @@ -5120,7 +13225,7 @@ var classes = {}; var classCounter = 0; var funs = []; var parseDirective = function parseDirective(statement, context, type) { - _mermaidAPI__WEBPACK_IMPORTED_MODULE_5__["default"].parseDirective(this, statement, context, type); + _mermaidAPI__WEBPACK_IMPORTED_MODULE_1__["default"].parseDirective(this, statement, context, type); }; var splitClassNameAndType = function splitClassNameAndType(id) { @@ -5191,7 +13296,7 @@ var getRelations = function getRelations() { return relations; }; var addRelation = function addRelation(relation) { - _logger__WEBPACK_IMPORTED_MODULE_1__["log"].debug('Adding relation: ' + JSON.stringify(relation)); + _logger__WEBPACK_IMPORTED_MODULE_2__.log.debug('Adding relation: ' + JSON.stringify(relation)); addClass(relation.id1); addClass(relation.id2); relation.id1 = splitClassNameAndType(relation.id1).className; @@ -5276,10 +13381,10 @@ var setCssClass = function setCssClass(ids, className) { */ var setTooltip = function setTooltip(ids, tooltip) { - var config = _config__WEBPACK_IMPORTED_MODULE_2__["getConfig"](); + var config = _config__WEBPACK_IMPORTED_MODULE_3__.getConfig(); ids.split(',').forEach(function (id) { if (typeof tooltip !== 'undefined') { - classes[id].tooltip = _common_common__WEBPACK_IMPORTED_MODULE_3__["default"].sanitizeText(tooltip, config); + classes[id].tooltip = _common_common__WEBPACK_IMPORTED_MODULE_4__["default"].sanitizeText(tooltip, config); } }); }; @@ -5292,13 +13397,13 @@ var setTooltip = function setTooltip(ids, tooltip) { var setLink = function setLink(ids, linkStr, target) { - var config = _config__WEBPACK_IMPORTED_MODULE_2__["getConfig"](); + var config = _config__WEBPACK_IMPORTED_MODULE_3__.getConfig(); ids.split(',').forEach(function (_id) { var id = _id; if (_id[0].match(/\d/)) id = MERMAID_DOM_ID_PREFIX + id; if (typeof classes[id] !== 'undefined') { - classes[id].link = _utils__WEBPACK_IMPORTED_MODULE_4__["default"].formatUrl(linkStr, config); + classes[id].link = _utils__WEBPACK_IMPORTED_MODULE_5__["default"].formatUrl(linkStr, config); if (typeof target === 'string') { classes[id].linkTarget = target; @@ -5325,7 +13430,7 @@ var setClickEvent = function setClickEvent(ids, functionName, functionArgs) { }; var setClickFunc = function setClickFunc(domId, functionName, functionArgs) { - var config = _config__WEBPACK_IMPORTED_MODULE_2__["getConfig"](); + var config = _config__WEBPACK_IMPORTED_MODULE_3__.getConfig(); var id = domId; var elemId = lookUpDomId(id); @@ -5369,7 +13474,7 @@ var setClickFunc = function setClickFunc(domId, functionName, functionArgs) { if (elem !== null) { elem.addEventListener('click', function () { - _utils__WEBPACK_IMPORTED_MODULE_4__["default"].runFunc.apply(_utils__WEBPACK_IMPORTED_MODULE_4__["default"], [functionName].concat(_toConsumableArray(argList))); + _utils__WEBPACK_IMPORTED_MODULE_5__["default"].runFunc.apply(_utils__WEBPACK_IMPORTED_MODULE_5__["default"], [functionName].concat(_toConsumableArray(argList))); }, false); } }); @@ -5393,16 +13498,16 @@ var relationType = { }; var setupToolTips = function setupToolTips(element) { - var tooltipElem = Object(d3__WEBPACK_IMPORTED_MODULE_0__["select"])('.mermaidTooltip'); + var tooltipElem = (0,d3__WEBPACK_IMPORTED_MODULE_0__.select)('.mermaidTooltip'); if ((tooltipElem._groups || tooltipElem)[0][0] === null) { - tooltipElem = Object(d3__WEBPACK_IMPORTED_MODULE_0__["select"])('body').append('div').attr('class', 'mermaidTooltip').style('opacity', 0); + tooltipElem = (0,d3__WEBPACK_IMPORTED_MODULE_0__.select)('body').append('div').attr('class', 'mermaidTooltip').style('opacity', 0); } - var svg = Object(d3__WEBPACK_IMPORTED_MODULE_0__["select"])(element).select('svg'); + var svg = (0,d3__WEBPACK_IMPORTED_MODULE_0__.select)(element).select('svg'); var nodes = svg.selectAll('g.node'); nodes.on('mouseover', function () { - var el = Object(d3__WEBPACK_IMPORTED_MODULE_0__["select"])(this); + var el = (0,d3__WEBPACK_IMPORTED_MODULE_0__.select)(this); var title = el.attr('title'); // Dont try to draw a tooltip if no data is provided if (title === null) { @@ -5415,7 +13520,7 @@ var setupToolTips = function setupToolTips(element) { el.classed('hover', true); }).on('mouseout', function () { tooltipElem.transition().duration(500).style('opacity', 0); - var el = Object(d3__WEBPACK_IMPORTED_MODULE_0__["select"])(this); + var el = (0,d3__WEBPACK_IMPORTED_MODULE_0__.select)(this); el.classed('hover', false); }); }; @@ -5431,10 +13536,10 @@ var setDirection = function setDirection(dir) { direction = dir; }; -/* harmony default export */ __webpack_exports__["default"] = ({ +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ parseDirective: parseDirective, getConfig: function getConfig() { - return _config__WEBPACK_IMPORTED_MODULE_2__["getConfig"]().class; + return _config__WEBPACK_IMPORTED_MODULE_3__.getConfig().class; }, addClass: addClass, bindFunctions: bindFunctions, @@ -5464,31 +13569,33 @@ var setDirection = function setDirection(dir) { /*!************************************************!*\ !*** ./src/diagrams/class/classRenderer-v2.js ***! \************************************************/ -/*! exports provided: addClasses, addRelations, setConf, drawOld, draw, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "addClasses", function() { return addClasses; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "addRelations", function() { return addRelations; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setConf", function() { return setConf; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "drawOld", function() { return drawOld; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "draw", function() { return draw; }); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "addClasses": () => (/* binding */ addClasses), +/* harmony export */ "addRelations": () => (/* binding */ addRelations), +/* harmony export */ "setConf": () => (/* binding */ setConf), +/* harmony export */ "drawOld": () => (/* binding */ drawOld), +/* harmony export */ "draw": () => (/* binding */ draw), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); /* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3 */ "d3"); /* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(d3__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var dagre__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! dagre */ "dagre"); /* harmony import */ var dagre__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(dagre__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var graphlib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! graphlib */ "graphlib"); /* harmony import */ var graphlib__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(graphlib__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../logger */ "./src/logger.js"); +/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../logger */ "./src/logger.js"); /* harmony import */ var _classDb__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./classDb */ "./src/diagrams/class/classDb.js"); -/* harmony import */ var _parser_classDiagram__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./parser/classDiagram */ "./src/diagrams/class/parser/classDiagram.jison"); -/* harmony import */ var _parser_classDiagram__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_parser_classDiagram__WEBPACK_IMPORTED_MODULE_5__); -/* harmony import */ var _svgDraw__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./svgDraw */ "./src/diagrams/class/svgDraw.js"); -/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../config */ "./src/config.js"); -/* harmony import */ var _dagre_wrapper_index_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../dagre-wrapper/index.js */ "./src/dagre-wrapper/index.js"); -/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../utils */ "./src/utils.js"); -/* harmony import */ var _common_common__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../common/common */ "./src/diagrams/common/common.js"); +/* harmony import */ var _parser_classDiagram__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./parser/classDiagram */ "./src/diagrams/class/parser/classDiagram.jison"); +/* harmony import */ var _parser_classDiagram__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_parser_classDiagram__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _svgDraw__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./svgDraw */ "./src/diagrams/class/svgDraw.js"); +/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../config */ "./src/config.js"); +/* harmony import */ var _dagre_wrapper_index_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../dagre-wrapper/index.js */ "./src/dagre-wrapper/index.js"); +/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../utils */ "./src/utils.js"); +/* harmony import */ var _common_common__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../common/common */ "./src/diagrams/common/common.js"); @@ -5502,7 +13609,7 @@ __webpack_require__.r(__webpack_exports__); -_parser_classDiagram__WEBPACK_IMPORTED_MODULE_5__["parser"].yy = _classDb__WEBPACK_IMPORTED_MODULE_4__["default"]; +_parser_classDiagram__WEBPACK_IMPORTED_MODULE_3__.parser.yy = _classDb__WEBPACK_IMPORTED_MODULE_4__["default"]; var idCache = {}; var padding = 20; var conf = { @@ -5519,8 +13626,8 @@ var conf = { var addClasses = function addClasses(classes, g) { // const svg = select(`[id="${svgId}"]`); var keys = Object.keys(classes); - _logger__WEBPACK_IMPORTED_MODULE_3__["log"].info('keys:', keys); - _logger__WEBPACK_IMPORTED_MODULE_3__["log"].info(classes); // Iterate through each item in the vertex object (containing all the vertices found) in the graph definition + _logger__WEBPACK_IMPORTED_MODULE_5__.log.info('keys:', keys); + _logger__WEBPACK_IMPORTED_MODULE_5__.log.info(classes); // Iterate through each item in the vertex object (containing all the vertices found) in the graph definition keys.forEach(function (id) { var vertex = classes[id]; @@ -5597,9 +13704,9 @@ var addClasses = function addClasses(classes, g) { link: vertex.link, width: vertex.type === 'group' ? 500 : undefined, type: vertex.type, - padding: Object(_config__WEBPACK_IMPORTED_MODULE_7__["getConfig"])().flowchart.padding + padding: (0,_config__WEBPACK_IMPORTED_MODULE_6__.getConfig)().flowchart.padding }); - _logger__WEBPACK_IMPORTED_MODULE_3__["log"].info('setNode', { + _logger__WEBPACK_IMPORTED_MODULE_5__.log.info('setNode', { labelStyle: styles.labelStyle, shape: _shape, labelText: vertexText, @@ -5610,7 +13717,7 @@ var addClasses = function addClasses(classes, g) { id: vertex.id, width: vertex.type === 'group' ? 500 : undefined, type: vertex.type, - padding: Object(_config__WEBPACK_IMPORTED_MODULE_7__["getConfig"])().flowchart.padding + padding: (0,_config__WEBPACK_IMPORTED_MODULE_6__.getConfig)().flowchart.padding }); }); }; @@ -5643,7 +13750,7 @@ var addRelations = function addRelations(relations, g) { edgeData.arrowhead = 'normal'; } - _logger__WEBPACK_IMPORTED_MODULE_3__["log"].info(edgeData, edge); //Set edge extra labels + _logger__WEBPACK_IMPORTED_MODULE_5__.log.info(edgeData, edge); //Set edge extra labels //edgeData.startLabelLeft = edge.relationTitle1; edgeData.startLabelRight = edge.relationTitle1 === 'none' ? '' : edge.relationTitle1; @@ -5656,7 +13763,7 @@ var addRelations = function addRelations(relations, g) { var labelStyle = ''; if (typeof edge.style !== 'undefined') { - var styles = Object(_utils__WEBPACK_IMPORTED_MODULE_9__["getStylesFromArray"])(edge.style); + var styles = (0,_utils__WEBPACK_IMPORTED_MODULE_7__.getStylesFromArray)(edge.style); style = styles.style; labelStyle = styles.labelStyle; } else { @@ -5675,11 +13782,11 @@ var addRelations = function addRelations(relations, g) { edgeData.labelStyle = labelStyle; if (typeof edge.interpolate !== 'undefined') { - edgeData.curve = Object(_utils__WEBPACK_IMPORTED_MODULE_9__["interpolateToCurve"])(edge.interpolate, d3__WEBPACK_IMPORTED_MODULE_0__["curveLinear"]); + edgeData.curve = (0,_utils__WEBPACK_IMPORTED_MODULE_7__.interpolateToCurve)(edge.interpolate, d3__WEBPACK_IMPORTED_MODULE_0__.curveLinear); } else if (typeof relations.defaultInterpolate !== 'undefined') { - edgeData.curve = Object(_utils__WEBPACK_IMPORTED_MODULE_9__["interpolateToCurve"])(relations.defaultInterpolate, d3__WEBPACK_IMPORTED_MODULE_0__["curveLinear"]); + edgeData.curve = (0,_utils__WEBPACK_IMPORTED_MODULE_7__.interpolateToCurve)(relations.defaultInterpolate, d3__WEBPACK_IMPORTED_MODULE_0__.curveLinear); } else { - edgeData.curve = Object(_utils__WEBPACK_IMPORTED_MODULE_9__["interpolateToCurve"])(conf.curve, d3__WEBPACK_IMPORTED_MODULE_0__["curveLinear"]); + edgeData.curve = (0,_utils__WEBPACK_IMPORTED_MODULE_7__.interpolateToCurve)(conf.curve, d3__WEBPACK_IMPORTED_MODULE_0__.curveLinear); } edge.text = edge.title; @@ -5692,13 +13799,13 @@ var addRelations = function addRelations(relations, g) { edgeData.arrowheadStyle = 'fill: #333'; edgeData.labelpos = 'c'; - if (Object(_config__WEBPACK_IMPORTED_MODULE_7__["getConfig"])().flowchart.htmlLabels) { + if ((0,_config__WEBPACK_IMPORTED_MODULE_6__.getConfig)().flowchart.htmlLabels) { // eslint-disable-line edgeData.labelType = 'html'; edgeData.label = '' + edge.text + ''; } else { edgeData.labelType = 'text'; - edgeData.label = edge.text.replace(_common_common__WEBPACK_IMPORTED_MODULE_10__["default"].lineBreakRegex, '\n'); + edgeData.label = edge.text.replace(_common_common__WEBPACK_IMPORTED_MODULE_8__["default"].lineBreakRegex, '\n'); if (typeof edge.style === 'undefined') { edgeData.style = edgeData.style || 'stroke: #333; stroke-width: 1.5px;fill:none'; @@ -5739,14 +13846,14 @@ var setConf = function setConf(cnf) { var drawOld = function drawOld(text, id) { idCache = {}; - _parser_classDiagram__WEBPACK_IMPORTED_MODULE_5__["parser"].yy.clear(); - _parser_classDiagram__WEBPACK_IMPORTED_MODULE_5__["parser"].parse(text); - _logger__WEBPACK_IMPORTED_MODULE_3__["log"].info('Rendering diagram ' + text); // Fetch the default direction, use TD if none was found + _parser_classDiagram__WEBPACK_IMPORTED_MODULE_3__.parser.yy.clear(); + _parser_classDiagram__WEBPACK_IMPORTED_MODULE_3__.parser.parse(text); + _logger__WEBPACK_IMPORTED_MODULE_5__.log.info('Rendering diagram ' + text); // Fetch the default direction, use TD if none was found - var diagram = Object(d3__WEBPACK_IMPORTED_MODULE_0__["select"])("[id='".concat(id, "']")); // insertMarkers(diagram); + var diagram = (0,d3__WEBPACK_IMPORTED_MODULE_0__.select)("[id='".concat(id, "']")); // insertMarkers(diagram); // Layout graph, Create a new directed graph - var g = new graphlib__WEBPACK_IMPORTED_MODULE_2___default.a.Graph({ + var g = new (graphlib__WEBPACK_IMPORTED_MODULE_2___default().Graph)({ multigraph: true }); // Set an object for the graph label @@ -5758,70 +13865,70 @@ var drawOld = function drawOld(text, id) { return {}; }); var classes = _classDb__WEBPACK_IMPORTED_MODULE_4__["default"].getClasses(); - _logger__WEBPACK_IMPORTED_MODULE_3__["log"].info('classes:'); - _logger__WEBPACK_IMPORTED_MODULE_3__["log"].info(classes); + _logger__WEBPACK_IMPORTED_MODULE_5__.log.info('classes:'); + _logger__WEBPACK_IMPORTED_MODULE_5__.log.info(classes); var keys = Object.keys(classes); for (var i = 0; i < keys.length; i++) { var classDef = classes[keys[i]]; - var node = _svgDraw__WEBPACK_IMPORTED_MODULE_6__["default"].drawClass(diagram, classDef, conf); + var node = _svgDraw__WEBPACK_IMPORTED_MODULE_9__["default"].drawClass(diagram, classDef, conf); idCache[node.id] = node; // Add nodes to the graph. The first argument is the node id. The second is // metadata about the node. In this case we're going to add labels to each of // our nodes. g.setNode(node.id, node); - _logger__WEBPACK_IMPORTED_MODULE_3__["log"].info('Org height: ' + node.height); + _logger__WEBPACK_IMPORTED_MODULE_5__.log.info('Org height: ' + node.height); } var relations = _classDb__WEBPACK_IMPORTED_MODULE_4__["default"].getRelations(); - _logger__WEBPACK_IMPORTED_MODULE_3__["log"].info('relations:', relations); + _logger__WEBPACK_IMPORTED_MODULE_5__.log.info('relations:', relations); relations.forEach(function (relation) { - _logger__WEBPACK_IMPORTED_MODULE_3__["log"].info('tjoho' + getGraphId(relation.id1) + getGraphId(relation.id2) + JSON.stringify(relation)); + _logger__WEBPACK_IMPORTED_MODULE_5__.log.info('tjoho' + getGraphId(relation.id1) + getGraphId(relation.id2) + JSON.stringify(relation)); g.setEdge(getGraphId(relation.id1), getGraphId(relation.id2), { relation: relation }, relation.title || 'DEFAULT'); }); - dagre__WEBPACK_IMPORTED_MODULE_1___default.a.layout(g); + dagre__WEBPACK_IMPORTED_MODULE_1___default().layout(g); g.nodes().forEach(function (v) { if (typeof v !== 'undefined' && typeof g.node(v) !== 'undefined') { - _logger__WEBPACK_IMPORTED_MODULE_3__["log"].debug('Node ' + v + ': ' + JSON.stringify(g.node(v))); - Object(d3__WEBPACK_IMPORTED_MODULE_0__["select"])('#' + Object(_classDb__WEBPACK_IMPORTED_MODULE_4__["lookUpDomId"])(v)).attr('transform', 'translate(' + (g.node(v).x - g.node(v).width / 2) + ',' + (g.node(v).y - g.node(v).height / 2) + ' )'); + _logger__WEBPACK_IMPORTED_MODULE_5__.log.debug('Node ' + v + ': ' + JSON.stringify(g.node(v))); + (0,d3__WEBPACK_IMPORTED_MODULE_0__.select)('#' + (0,_classDb__WEBPACK_IMPORTED_MODULE_4__.lookUpDomId)(v)).attr('transform', 'translate(' + (g.node(v).x - g.node(v).width / 2) + ',' + (g.node(v).y - g.node(v).height / 2) + ' )'); } }); g.edges().forEach(function (e) { if (typeof e !== 'undefined' && typeof g.edge(e) !== 'undefined') { - _logger__WEBPACK_IMPORTED_MODULE_3__["log"].debug('Edge ' + e.v + ' -> ' + e.w + ': ' + JSON.stringify(g.edge(e))); - _svgDraw__WEBPACK_IMPORTED_MODULE_6__["default"].drawEdge(diagram, g.edge(e), g.edge(e).relation, conf); + _logger__WEBPACK_IMPORTED_MODULE_5__.log.debug('Edge ' + e.v + ' -> ' + e.w + ': ' + JSON.stringify(g.edge(e))); + _svgDraw__WEBPACK_IMPORTED_MODULE_9__["default"].drawEdge(diagram, g.edge(e), g.edge(e).relation, conf); } }); var svgBounds = diagram.node().getBBox(); var width = svgBounds.width + padding * 2; var height = svgBounds.height + padding * 2; - Object(_utils__WEBPACK_IMPORTED_MODULE_9__["configureSvgSize"])(diagram, height, width, conf.useMaxWidth); // Ensure the viewBox includes the whole svgBounds area with extra space for padding + (0,_utils__WEBPACK_IMPORTED_MODULE_7__.configureSvgSize)(diagram, height, width, conf.useMaxWidth); // Ensure the viewBox includes the whole svgBounds area with extra space for padding var vBox = "".concat(svgBounds.x - padding, " ").concat(svgBounds.y - padding, " ").concat(width, " ").concat(height); - _logger__WEBPACK_IMPORTED_MODULE_3__["log"].debug("viewBox ".concat(vBox)); + _logger__WEBPACK_IMPORTED_MODULE_5__.log.debug("viewBox ".concat(vBox)); diagram.attr('viewBox', vBox); }; var draw = function draw(text, id) { - _logger__WEBPACK_IMPORTED_MODULE_3__["log"].info('Drawing class'); + _logger__WEBPACK_IMPORTED_MODULE_5__.log.info('Drawing class'); _classDb__WEBPACK_IMPORTED_MODULE_4__["default"].clear(); // const parser = classDb.parser; // parser.yy = classDb; // Parse the graph definition // try { - _parser_classDiagram__WEBPACK_IMPORTED_MODULE_5__["parser"].parse(text); // } catch (err) { + _parser_classDiagram__WEBPACK_IMPORTED_MODULE_3__.parser.parse(text); // } catch (err) { // log.debug('Parsing failed'); // } // Fetch the default direction, use TD if none was found //let dir = 'TD'; - var conf = Object(_config__WEBPACK_IMPORTED_MODULE_7__["getConfig"])().flowchart; - _logger__WEBPACK_IMPORTED_MODULE_3__["log"].info('config:', conf); + var conf = (0,_config__WEBPACK_IMPORTED_MODULE_6__.getConfig)().flowchart; + _logger__WEBPACK_IMPORTED_MODULE_5__.log.info('config:', conf); var nodeSpacing = conf.nodeSpacing || 50; var rankSpacing = conf.rankSpacing || 50; // Create the input mermaid.graph - var g = new graphlib__WEBPACK_IMPORTED_MODULE_2___default.a.Graph({ + var g = new (graphlib__WEBPACK_IMPORTED_MODULE_2___default().Graph)({ multigraph: true, compound: true }).setGraph({ @@ -5844,7 +13951,7 @@ var draw = function draw(text, id) { var classes = _classDb__WEBPACK_IMPORTED_MODULE_4__["default"].getClasses(); var relations = _classDb__WEBPACK_IMPORTED_MODULE_4__["default"].getRelations(); - _logger__WEBPACK_IMPORTED_MODULE_3__["log"].info(relations); // let i = 0; + _logger__WEBPACK_IMPORTED_MODULE_5__.log.info(relations); // let i = 0; // for (i = subGraphs.length - 1; i >= 0; i--) { // subG = subGraphs[i]; // selectAll('cluster').append('text'); @@ -5858,11 +13965,11 @@ var draw = function draw(text, id) { // flowChartShapes.addToRenderV2(addShape); // Set up an SVG group so that we can translate the final graph. - var svg = Object(d3__WEBPACK_IMPORTED_MODULE_0__["select"])("[id=\"".concat(id, "\"]")); + var svg = (0,d3__WEBPACK_IMPORTED_MODULE_0__.select)("[id=\"".concat(id, "\"]")); svg.attr('xmlns:xlink', 'http://www.w3.org/1999/xlink'); // Run the renderer. This is what draws the final graph. - var element = Object(d3__WEBPACK_IMPORTED_MODULE_0__["select"])('#' + id + ' g'); - Object(_dagre_wrapper_index_js__WEBPACK_IMPORTED_MODULE_8__["render"])(element, g, ['aggregation', 'extension', 'composition', 'dependency'], 'classDiagram', id); // element.selectAll('g.node').attr('title', function() { + var element = (0,d3__WEBPACK_IMPORTED_MODULE_0__.select)('#' + id + ' g'); + (0,_dagre_wrapper_index_js__WEBPACK_IMPORTED_MODULE_10__.render)(element, g, ['aggregation', 'extension', 'composition', 'dependency'], 'classDiagram', id); // element.selectAll('g.node').attr('title', function() { // return flowDb.getTooltip(this.id); // }); @@ -5870,8 +13977,8 @@ var draw = function draw(text, id) { var svgBounds = svg.node().getBBox(); var width = svgBounds.width + padding * 2; var height = svgBounds.height + padding * 2; - _logger__WEBPACK_IMPORTED_MODULE_3__["log"].debug("new ViewBox 0 0 ".concat(width, " ").concat(height), "translate(".concat(padding - g._label.marginx, ", ").concat(padding - g._label.marginy, ")")); - Object(_utils__WEBPACK_IMPORTED_MODULE_9__["configureSvgSize"])(svg, height, width, conf.useMaxWidth); + _logger__WEBPACK_IMPORTED_MODULE_5__.log.debug("new ViewBox 0 0 ".concat(width, " ").concat(height), "translate(".concat(padding - g._label.marginx, ", ").concat(padding - g._label.marginy, ")")); + (0,_utils__WEBPACK_IMPORTED_MODULE_7__.configureSvgSize)(svg, height, width, conf.useMaxWidth); svg.attr('viewBox', "0 0 ".concat(width, " ").concat(height)); svg.select('g').attr('transform', "translate(".concat(padding - g._label.marginx, ", ").concat(padding - svgBounds.y, ")")); // Index nodes // flowDb.indexNodes('subGraph' + i); @@ -5923,7 +14030,7 @@ var draw = function draw(text, id) { // }); }; -/* harmony default export */ __webpack_exports__["default"] = ({ +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ setConf: setConf, draw: draw }); @@ -5961,23 +14068,25 @@ function getArrowMarker(type) { /*!*********************************************!*\ !*** ./src/diagrams/class/classRenderer.js ***! \*********************************************/ -/*! exports provided: setConf, draw, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setConf", function() { return setConf; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "draw", function() { return draw; }); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "setConf": () => (/* binding */ setConf), +/* harmony export */ "draw": () => (/* binding */ draw), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); /* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3 */ "d3"); /* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(d3__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var dagre__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! dagre */ "dagre"); /* harmony import */ var dagre__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(dagre__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var graphlib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! graphlib */ "graphlib"); /* harmony import */ var graphlib__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(graphlib__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../logger */ "./src/logger.js"); +/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../logger */ "./src/logger.js"); /* harmony import */ var _classDb__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./classDb */ "./src/diagrams/class/classDb.js"); -/* harmony import */ var _parser_classDiagram__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./parser/classDiagram */ "./src/diagrams/class/parser/classDiagram.jison"); -/* harmony import */ var _parser_classDiagram__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_parser_classDiagram__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var _parser_classDiagram__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./parser/classDiagram */ "./src/diagrams/class/parser/classDiagram.jison"); +/* harmony import */ var _parser_classDiagram__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_parser_classDiagram__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var _svgDraw__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./svgDraw */ "./src/diagrams/class/svgDraw.js"); /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../utils */ "./src/utils.js"); @@ -5988,7 +14097,7 @@ __webpack_require__.r(__webpack_exports__); -_parser_classDiagram__WEBPACK_IMPORTED_MODULE_5__["parser"].yy = _classDb__WEBPACK_IMPORTED_MODULE_4__["default"]; +_parser_classDiagram__WEBPACK_IMPORTED_MODULE_3__.parser.yy = _classDb__WEBPACK_IMPORTED_MODULE_4__["default"]; var idCache = {}; var padding = 20; var conf = { @@ -6039,15 +14148,15 @@ var setConf = function setConf(cnf) { var draw = function draw(text, id) { idCache = {}; - _parser_classDiagram__WEBPACK_IMPORTED_MODULE_5__["parser"].yy.clear(); - _parser_classDiagram__WEBPACK_IMPORTED_MODULE_5__["parser"].parse(text); - _logger__WEBPACK_IMPORTED_MODULE_3__["log"].info('Rendering diagram ' + text); // Fetch the default direction, use TD if none was found + _parser_classDiagram__WEBPACK_IMPORTED_MODULE_3__.parser.yy.clear(); + _parser_classDiagram__WEBPACK_IMPORTED_MODULE_3__.parser.parse(text); + _logger__WEBPACK_IMPORTED_MODULE_5__.log.info('Rendering diagram ' + text); // Fetch the default direction, use TD if none was found - var diagram = Object(d3__WEBPACK_IMPORTED_MODULE_0__["select"])("[id='".concat(id, "']")); + var diagram = (0,d3__WEBPACK_IMPORTED_MODULE_0__.select)("[id='".concat(id, "']")); diagram.attr('xmlns:xlink', 'http://www.w3.org/1999/xlink'); insertMarkers(diagram); // Layout graph, Create a new directed graph - var g = new graphlib__WEBPACK_IMPORTED_MODULE_2___default.a.Graph({ + var g = new (graphlib__WEBPACK_IMPORTED_MODULE_2___default().Graph)({ multigraph: true }); // Set an object for the graph label @@ -6069,957 +14178,61 @@ var draw = function draw(text, id) { // our nodes. g.setNode(node.id, node); - _logger__WEBPACK_IMPORTED_MODULE_3__["log"].info('Org height: ' + node.height); + _logger__WEBPACK_IMPORTED_MODULE_5__.log.info('Org height: ' + node.height); } var relations = _classDb__WEBPACK_IMPORTED_MODULE_4__["default"].getRelations(); relations.forEach(function (relation) { - _logger__WEBPACK_IMPORTED_MODULE_3__["log"].info('tjoho' + getGraphId(relation.id1) + getGraphId(relation.id2) + JSON.stringify(relation)); + _logger__WEBPACK_IMPORTED_MODULE_5__.log.info('tjoho' + getGraphId(relation.id1) + getGraphId(relation.id2) + JSON.stringify(relation)); g.setEdge(getGraphId(relation.id1), getGraphId(relation.id2), { relation: relation }, relation.title || 'DEFAULT'); }); - dagre__WEBPACK_IMPORTED_MODULE_1___default.a.layout(g); + dagre__WEBPACK_IMPORTED_MODULE_1___default().layout(g); g.nodes().forEach(function (v) { if (typeof v !== 'undefined' && typeof g.node(v) !== 'undefined') { - _logger__WEBPACK_IMPORTED_MODULE_3__["log"].debug('Node ' + v + ': ' + JSON.stringify(g.node(v))); - Object(d3__WEBPACK_IMPORTED_MODULE_0__["select"])('#' + Object(_classDb__WEBPACK_IMPORTED_MODULE_4__["lookUpDomId"])(v)).attr('transform', 'translate(' + (g.node(v).x - g.node(v).width / 2) + ',' + (g.node(v).y - g.node(v).height / 2) + ' )'); + _logger__WEBPACK_IMPORTED_MODULE_5__.log.debug('Node ' + v + ': ' + JSON.stringify(g.node(v))); + (0,d3__WEBPACK_IMPORTED_MODULE_0__.select)('#' + (0,_classDb__WEBPACK_IMPORTED_MODULE_4__.lookUpDomId)(v)).attr('transform', 'translate(' + (g.node(v).x - g.node(v).width / 2) + ',' + (g.node(v).y - g.node(v).height / 2) + ' )'); } }); g.edges().forEach(function (e) { if (typeof e !== 'undefined' && typeof g.edge(e) !== 'undefined') { - _logger__WEBPACK_IMPORTED_MODULE_3__["log"].debug('Edge ' + e.v + ' -> ' + e.w + ': ' + JSON.stringify(g.edge(e))); + _logger__WEBPACK_IMPORTED_MODULE_5__.log.debug('Edge ' + e.v + ' -> ' + e.w + ': ' + JSON.stringify(g.edge(e))); _svgDraw__WEBPACK_IMPORTED_MODULE_6__["default"].drawEdge(diagram, g.edge(e), g.edge(e).relation, conf); } }); var svgBounds = diagram.node().getBBox(); var width = svgBounds.width + padding * 2; var height = svgBounds.height + padding * 2; - Object(_utils__WEBPACK_IMPORTED_MODULE_7__["configureSvgSize"])(diagram, height, width, conf.useMaxWidth); // Ensure the viewBox includes the whole svgBounds area with extra space for padding + (0,_utils__WEBPACK_IMPORTED_MODULE_7__.configureSvgSize)(diagram, height, width, conf.useMaxWidth); // Ensure the viewBox includes the whole svgBounds area with extra space for padding var vBox = "".concat(svgBounds.x - padding, " ").concat(svgBounds.y - padding, " ").concat(width, " ").concat(height); - _logger__WEBPACK_IMPORTED_MODULE_3__["log"].debug("viewBox ".concat(vBox)); + _logger__WEBPACK_IMPORTED_MODULE_5__.log.debug("viewBox ".concat(vBox)); diagram.attr('viewBox', vBox); }; -/* harmony default export */ __webpack_exports__["default"] = ({ +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ setConf: setConf, draw: draw }); /***/ }), -/***/ "./src/diagrams/class/parser/classDiagram.jison": -/*!******************************************************!*\ - !*** ./src/diagrams/class/parser/classDiagram.jison ***! - \******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -/* WEBPACK VAR INJECTION */(function(process, module) {/* parser generated by jison 0.4.18 */ -/* - Returns a Parser object of the following structure: - - Parser: { - yy: {} - } - - Parser.prototype: { - yy: {}, - trace: function(), - symbols_: {associative list: name ==> number}, - terminals_: {associative list: number ==> name}, - productions_: [...], - performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$), - table: [...], - defaultActions: {...}, - parseError: function(str, hash), - parse: function(input), - - lexer: { - EOF: 1, - parseError: function(str, hash), - setInput: function(input), - input: function(), - unput: function(str), - more: function(), - less: function(n), - pastInput: function(), - upcomingInput: function(), - showPosition: function(), - test_match: function(regex_match_array, rule_index), - next: function(), - lex: function(), - begin: function(condition), - popState: function(), - _currentRules: function(), - topState: function(), - pushState: function(condition), - - options: { - ranges: boolean (optional: true ==> token location info will include a .range[] member) - flex: boolean (optional: true ==> flex-like lexing behaviour where the rules are tested exhaustively to find the longest match) - backtrack_lexer: boolean (optional: true ==> lexer regexes are tested in order and for each matching regex the action code is invoked; the lexer terminates the scan when a token is returned by the action code) - }, - - performAction: function(yy, yy_, $avoiding_name_collisions, YY_START), - rules: [...], - conditions: {associative list: name ==> set}, - } - } - - - token location info (@$, _$, etc.): { - first_line: n, - last_line: n, - first_column: n, - last_column: n, - range: [start_number, end_number] (where the numbers are indexes into the input string, regular zero-based) - } - - - the parseError function receives a 'hash' object with these members for lexer and parser errors: { - text: (matched text) - token: (the produced terminal token, if any) - line: (yylineno) - } - while parser (grammar) errors will also provide these members, i.e. parser errors deliver a superset of attributes: { - loc: (yylloc) - expected: (string describing the set of expected tokens) - recoverable: (boolean: TRUE when the parser has a error recovery rule available for this particular error) - } -*/ -var parser = (function(){ -var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,6],$V1=[1,7],$V2=[1,8],$V3=[1,9],$V4=[1,12],$V5=[1,11],$V6=[1,15,24],$V7=[1,19],$V8=[1,31],$V9=[1,34],$Va=[1,32],$Vb=[1,33],$Vc=[1,35],$Vd=[1,36],$Ve=[1,37],$Vf=[1,38],$Vg=[1,41],$Vh=[1,42],$Vi=[1,43],$Vj=[1,44],$Vk=[15,24],$Vl=[1,56],$Vm=[1,57],$Vn=[1,58],$Vo=[1,59],$Vp=[1,60],$Vq=[1,61],$Vr=[15,24,31,38,39,47,50,51,52,53,54,55,60,62],$Vs=[15,24,29,31,38,39,43,47,50,51,52,53,54,55,60,62,77,78,79,80],$Vt=[7,8,9,10,15,18,22,24],$Vu=[47,77,78,79,80],$Vv=[47,54,55,77,78,79,80],$Vw=[47,50,51,52,53,77,78,79,80],$Vx=[15,24,31],$Vy=[1,93]; -var parser = {trace: function trace () { }, -yy: {}, -symbols_: {"error":2,"start":3,"mermaidDoc":4,"direction":5,"directive":6,"direction_tb":7,"direction_bt":8,"direction_rl":9,"direction_lr":10,"graphConfig":11,"openDirective":12,"typeDirective":13,"closeDirective":14,"NEWLINE":15,":":16,"argDirective":17,"open_directive":18,"type_directive":19,"arg_directive":20,"close_directive":21,"CLASS_DIAGRAM":22,"statements":23,"EOF":24,"statement":25,"className":26,"alphaNumToken":27,"classLiteralName":28,"GENERICTYPE":29,"relationStatement":30,"LABEL":31,"classStatement":32,"methodStatement":33,"annotationStatement":34,"clickStatement":35,"cssClassStatement":36,"CLASS":37,"STYLE_SEPARATOR":38,"STRUCT_START":39,"members":40,"STRUCT_STOP":41,"ANNOTATION_START":42,"ANNOTATION_END":43,"MEMBER":44,"SEPARATOR":45,"relation":46,"STR":47,"relationType":48,"lineType":49,"AGGREGATION":50,"EXTENSION":51,"COMPOSITION":52,"DEPENDENCY":53,"LINE":54,"DOTTED_LINE":55,"CALLBACK":56,"LINK":57,"LINK_TARGET":58,"CLICK":59,"CALLBACK_NAME":60,"CALLBACK_ARGS":61,"HREF":62,"CSSCLASS":63,"commentToken":64,"textToken":65,"graphCodeTokens":66,"textNoTagsToken":67,"TAGSTART":68,"TAGEND":69,"==":70,"--":71,"PCT":72,"DEFAULT":73,"SPACE":74,"MINUS":75,"keywords":76,"UNICODE_TEXT":77,"NUM":78,"ALPHA":79,"BQUOTE_STR":80,"$accept":0,"$end":1}, -terminals_: {2:"error",7:"direction_tb",8:"direction_bt",9:"direction_rl",10:"direction_lr",15:"NEWLINE",16:":",18:"open_directive",19:"type_directive",20:"arg_directive",21:"close_directive",22:"CLASS_DIAGRAM",24:"EOF",29:"GENERICTYPE",31:"LABEL",37:"CLASS",38:"STYLE_SEPARATOR",39:"STRUCT_START",41:"STRUCT_STOP",42:"ANNOTATION_START",43:"ANNOTATION_END",44:"MEMBER",45:"SEPARATOR",47:"STR",50:"AGGREGATION",51:"EXTENSION",52:"COMPOSITION",53:"DEPENDENCY",54:"LINE",55:"DOTTED_LINE",56:"CALLBACK",57:"LINK",58:"LINK_TARGET",59:"CLICK",60:"CALLBACK_NAME",61:"CALLBACK_ARGS",62:"HREF",63:"CSSCLASS",66:"graphCodeTokens",68:"TAGSTART",69:"TAGEND",70:"==",71:"--",72:"PCT",73:"DEFAULT",74:"SPACE",75:"MINUS",76:"keywords",77:"UNICODE_TEXT",78:"NUM",79:"ALPHA",80:"BQUOTE_STR"}, -productions_: [0,[3,1],[3,1],[3,2],[5,1],[5,1],[5,1],[5,1],[4,1],[6,4],[6,6],[12,1],[13,1],[17,1],[14,1],[11,4],[23,1],[23,2],[23,3],[26,1],[26,1],[26,2],[26,2],[26,2],[25,1],[25,2],[25,1],[25,1],[25,1],[25,1],[25,1],[25,1],[25,1],[32,2],[32,4],[32,5],[32,7],[34,4],[40,1],[40,2],[33,1],[33,2],[33,1],[33,1],[30,3],[30,4],[30,4],[30,5],[46,3],[46,2],[46,2],[46,1],[48,1],[48,1],[48,1],[48,1],[49,1],[49,1],[35,3],[35,4],[35,3],[35,4],[35,4],[35,5],[35,3],[35,4],[35,4],[35,5],[35,3],[35,4],[35,4],[35,5],[36,3],[64,1],[64,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[67,1],[67,1],[67,1],[67,1],[27,1],[27,1],[27,1],[28,1]], -performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) { -/* this == yyval */ - -var $0 = $$.length - 1; -switch (yystate) { -case 4: - yy.setDirection('TB'); -break; -case 5: - yy.setDirection('BT'); -break; -case 6: - yy.setDirection('RL'); -break; -case 7: - yy.setDirection('LR'); -break; -case 11: - yy.parseDirective('%%{', 'open_directive'); -break; -case 12: - yy.parseDirective($$[$0], 'type_directive'); -break; -case 13: - $$[$0] = $$[$0].trim().replace(/'/g, '"'); yy.parseDirective($$[$0], 'arg_directive'); -break; -case 14: - yy.parseDirective('}%%', 'close_directive', 'class'); -break; -case 19: case 20: - this.$=$$[$0]; -break; -case 21: - this.$=$$[$0-1]+$$[$0]; -break; -case 22: case 23: - this.$=$$[$0-1]+'~'+$$[$0]; -break; -case 24: - yy.addRelation($$[$0]); -break; -case 25: - $$[$0-1].title = yy.cleanupLabel($$[$0]); yy.addRelation($$[$0-1]); -break; -case 33: -yy.addClass($$[$0]); -break; -case 34: -yy.addClass($$[$0-2]);yy.setCssClass($$[$0-2], $$[$0]); -break; -case 35: -/*console.log($$[$0-3],JSON.stringify($$[$0-1]));*/yy.addClass($$[$0-3]);yy.addMembers($$[$0-3],$$[$0-1]); -break; -case 36: -yy.addClass($$[$0-5]);yy.setCssClass($$[$0-5], $$[$0-3]);yy.addMembers($$[$0-5],$$[$0-1]); -break; -case 37: - yy.addAnnotation($$[$0],$$[$0-2]); -break; -case 38: - this.$ = [$$[$0]]; -break; -case 39: - $$[$0].push($$[$0-1]);this.$=$$[$0]; -break; -case 40: -/*console.log('Rel found',$$[$0]);*/ -break; -case 41: -yy.addMember($$[$0-1],yy.cleanupLabel($$[$0])); -break; -case 42: -/*console.warn('Member',$$[$0]);*/ -break; -case 43: -/*console.log('sep found',$$[$0]);*/ -break; -case 44: - this.$ = {'id1':$$[$0-2],'id2':$$[$0], relation:$$[$0-1], relationTitle1:'none', relationTitle2:'none'}; -break; -case 45: - this.$ = {id1:$$[$0-3], id2:$$[$0], relation:$$[$0-1], relationTitle1:$$[$0-2], relationTitle2:'none'} -break; -case 46: - this.$ = {id1:$$[$0-3], id2:$$[$0], relation:$$[$0-2], relationTitle1:'none', relationTitle2:$$[$0-1]}; -break; -case 47: - this.$ = {id1:$$[$0-4], id2:$$[$0], relation:$$[$0-2], relationTitle1:$$[$0-3], relationTitle2:$$[$0-1]} -break; -case 48: - this.$={type1:$$[$0-2],type2:$$[$0],lineType:$$[$0-1]}; -break; -case 49: - this.$={type1:'none',type2:$$[$0],lineType:$$[$0-1]}; -break; -case 50: - this.$={type1:$$[$0-1],type2:'none',lineType:$$[$0]}; -break; -case 51: - this.$={type1:'none',type2:'none',lineType:$$[$0]}; -break; -case 52: - this.$=yy.relationType.AGGREGATION; -break; -case 53: - this.$=yy.relationType.EXTENSION; -break; -case 54: - this.$=yy.relationType.COMPOSITION; -break; -case 55: - this.$=yy.relationType.DEPENDENCY; -break; -case 56: -this.$=yy.lineType.LINE; -break; -case 57: -this.$=yy.lineType.DOTTED_LINE; -break; -case 58: case 64: -this.$ = $$[$0-2];yy.setClickEvent($$[$0-1], $$[$0]); -break; -case 59: case 65: -this.$ = $$[$0-3];yy.setClickEvent($$[$0-2], $$[$0-1]);yy.setTooltip($$[$0-2], $$[$0]); -break; -case 60: case 68: -this.$ = $$[$0-2];yy.setLink($$[$0-1], $$[$0]); -break; -case 61: -this.$ = $$[$0-3];yy.setLink($$[$0-2], $$[$0-1],$$[$0]); -break; -case 62: case 70: -this.$ = $$[$0-3];yy.setLink($$[$0-2], $$[$0-1]);yy.setTooltip($$[$0-2], $$[$0]); -break; -case 63: case 71: -this.$ = $$[$0-4];yy.setLink($$[$0-3], $$[$0-2], $$[$0]);yy.setTooltip($$[$0-3], $$[$0-1]); -break; -case 66: -this.$ = $$[$0-3];yy.setClickEvent($$[$0-2], $$[$0-1], $$[$0]); -break; -case 67: -this.$ = $$[$0-4];yy.setClickEvent($$[$0-3], $$[$0-2], $$[$0-1]);yy.setTooltip($$[$0-3], $$[$0]); -break; -case 69: -this.$ = $$[$0-3];yy.setLink($$[$0-2], $$[$0-1], $$[$0]); -break; -case 72: -yy.setCssClass($$[$0-1], $$[$0]); -break; -} -}, -table: [{3:1,4:2,5:3,6:4,7:$V0,8:$V1,9:$V2,10:$V3,11:5,12:10,18:$V4,22:$V5},{1:[3]},{1:[2,1]},{1:[2,2]},{3:13,4:2,5:3,6:4,7:$V0,8:$V1,9:$V2,10:$V3,11:5,12:10,18:$V4,22:$V5},{1:[2,8]},o($V6,[2,4]),o($V6,[2,5]),o($V6,[2,6]),o($V6,[2,7]),{13:14,19:[1,15]},{15:[1,16]},{19:[2,11]},{1:[2,3]},{14:17,16:[1,18],21:$V7},o([16,21],[2,12]),{5:29,6:28,7:$V0,8:$V1,9:$V2,10:$V3,12:10,18:$V4,23:20,25:21,26:30,27:39,28:40,30:22,32:23,33:24,34:25,35:26,36:27,37:$V8,42:$V9,44:$Va,45:$Vb,56:$Vc,57:$Vd,59:$Ve,63:$Vf,77:$Vg,78:$Vh,79:$Vi,80:$Vj},{15:[1,45]},{17:46,20:[1,47]},{15:[2,14]},{24:[1,48]},{15:[1,49],24:[2,16]},o($Vk,[2,24],{31:[1,50]}),o($Vk,[2,26]),o($Vk,[2,27]),o($Vk,[2,28]),o($Vk,[2,29]),o($Vk,[2,30]),o($Vk,[2,31]),o($Vk,[2,32]),o($Vk,[2,40],{46:51,48:54,49:55,31:[1,53],47:[1,52],50:$Vl,51:$Vm,52:$Vn,53:$Vo,54:$Vp,55:$Vq}),{26:62,27:39,28:40,77:$Vg,78:$Vh,79:$Vi,80:$Vj},o($Vk,[2,42]),o($Vk,[2,43]),{27:63,77:$Vg,78:$Vh,79:$Vi},{26:64,27:39,28:40,77:$Vg,78:$Vh,79:$Vi,80:$Vj},{26:65,27:39,28:40,77:$Vg,78:$Vh,79:$Vi,80:$Vj},{26:66,27:39,28:40,77:$Vg,78:$Vh,79:$Vi,80:$Vj},{47:[1,67]},o($Vr,[2,19],{27:39,28:40,26:68,29:[1,69],77:$Vg,78:$Vh,79:$Vi,80:$Vj}),o($Vr,[2,20],{29:[1,70]}),o($Vs,[2,86]),o($Vs,[2,87]),o($Vs,[2,88]),o([15,24,29,31,38,39,47,50,51,52,53,54,55,60,62],[2,89]),o($Vt,[2,9]),{14:71,21:$V7},{21:[2,13]},{1:[2,15]},{5:29,6:28,7:$V0,8:$V1,9:$V2,10:$V3,12:10,18:$V4,23:72,24:[2,17],25:21,26:30,27:39,28:40,30:22,32:23,33:24,34:25,35:26,36:27,37:$V8,42:$V9,44:$Va,45:$Vb,56:$Vc,57:$Vd,59:$Ve,63:$Vf,77:$Vg,78:$Vh,79:$Vi,80:$Vj},o($Vk,[2,25]),{26:73,27:39,28:40,47:[1,74],77:$Vg,78:$Vh,79:$Vi,80:$Vj},{46:75,48:54,49:55,50:$Vl,51:$Vm,52:$Vn,53:$Vo,54:$Vp,55:$Vq},o($Vk,[2,41]),{49:76,54:$Vp,55:$Vq},o($Vu,[2,51],{48:77,50:$Vl,51:$Vm,52:$Vn,53:$Vo}),o($Vv,[2,52]),o($Vv,[2,53]),o($Vv,[2,54]),o($Vv,[2,55]),o($Vw,[2,56]),o($Vw,[2,57]),o($Vk,[2,33],{38:[1,78],39:[1,79]}),{43:[1,80]},{47:[1,81]},{47:[1,82]},{60:[1,83],62:[1,84]},{27:85,77:$Vg,78:$Vh,79:$Vi},o($Vr,[2,21]),o($Vr,[2,22]),o($Vr,[2,23]),{15:[1,86]},{24:[2,18]},o($Vx,[2,44]),{26:87,27:39,28:40,77:$Vg,78:$Vh,79:$Vi,80:$Vj},{26:88,27:39,28:40,47:[1,89],77:$Vg,78:$Vh,79:$Vi,80:$Vj},o($Vu,[2,50],{48:90,50:$Vl,51:$Vm,52:$Vn,53:$Vo}),o($Vu,[2,49]),{27:91,77:$Vg,78:$Vh,79:$Vi},{40:92,44:$Vy},{26:94,27:39,28:40,77:$Vg,78:$Vh,79:$Vi,80:$Vj},o($Vk,[2,58],{47:[1,95]}),o($Vk,[2,60],{47:[1,97],58:[1,96]}),o($Vk,[2,64],{47:[1,98],61:[1,99]}),o($Vk,[2,68],{47:[1,101],58:[1,100]}),o($Vk,[2,72]),o($Vt,[2,10]),o($Vx,[2,46]),o($Vx,[2,45]),{26:102,27:39,28:40,77:$Vg,78:$Vh,79:$Vi,80:$Vj},o($Vu,[2,48]),o($Vk,[2,34],{39:[1,103]}),{41:[1,104]},{40:105,41:[2,38],44:$Vy},o($Vk,[2,37]),o($Vk,[2,59]),o($Vk,[2,61]),o($Vk,[2,62],{58:[1,106]}),o($Vk,[2,65]),o($Vk,[2,66],{47:[1,107]}),o($Vk,[2,69]),o($Vk,[2,70],{58:[1,108]}),o($Vx,[2,47]),{40:109,44:$Vy},o($Vk,[2,35]),{41:[2,39]},o($Vk,[2,63]),o($Vk,[2,67]),o($Vk,[2,71]),{41:[1,110]},o($Vk,[2,36])], -defaultActions: {2:[2,1],3:[2,2],5:[2,8],12:[2,11],13:[2,3],19:[2,14],47:[2,13],48:[2,15],72:[2,18],105:[2,39]}, -parseError: function parseError (str, hash) { - if (hash.recoverable) { - this.trace(str); - } else { - var error = new Error(str); - error.hash = hash; - throw error; - } -}, -parse: function parse(input) { - var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = '', yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1; - var args = lstack.slice.call(arguments, 1); - var lexer = Object.create(this.lexer); - var sharedState = { yy: {} }; - for (var k in this.yy) { - if (Object.prototype.hasOwnProperty.call(this.yy, k)) { - sharedState.yy[k] = this.yy[k]; - } - } - lexer.setInput(input, sharedState.yy); - sharedState.yy.lexer = lexer; - sharedState.yy.parser = this; - if (typeof lexer.yylloc == 'undefined') { - lexer.yylloc = {}; - } - var yyloc = lexer.yylloc; - lstack.push(yyloc); - var ranges = lexer.options && lexer.options.ranges; - if (typeof sharedState.yy.parseError === 'function') { - this.parseError = sharedState.yy.parseError; - } else { - this.parseError = Object.getPrototypeOf(this).parseError; - } - function popStack(n) { - stack.length = stack.length - 2 * n; - vstack.length = vstack.length - n; - lstack.length = lstack.length - n; - } - function lex() { - var token; - token = tstack.pop() || lexer.lex() || EOF; - if (typeof token !== 'number') { - if (token instanceof Array) { - tstack = token; - token = tstack.pop(); - } - token = self.symbols_[token] || token; - } - return token; - } - var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected; - while (true) { - state = stack[stack.length - 1]; - if (this.defaultActions[state]) { - action = this.defaultActions[state]; - } else { - if (symbol === null || typeof symbol == 'undefined') { - symbol = lex(); - } - action = table[state] && table[state][symbol]; - } - if (typeof action === 'undefined' || !action.length || !action[0]) { - var errStr = ''; - expected = []; - for (p in table[state]) { - if (this.terminals_[p] && p > TERROR) { - expected.push('\'' + this.terminals_[p] + '\''); - } - } - if (lexer.showPosition) { - errStr = 'Parse error on line ' + (yylineno + 1) + ':\n' + lexer.showPosition() + '\nExpecting ' + expected.join(', ') + ', got \'' + (this.terminals_[symbol] || symbol) + '\''; - } else { - errStr = 'Parse error on line ' + (yylineno + 1) + ': Unexpected ' + (symbol == EOF ? 'end of input' : '\'' + (this.terminals_[symbol] || symbol) + '\''); - } - this.parseError(errStr, { - text: lexer.match, - token: this.terminals_[symbol] || symbol, - line: lexer.yylineno, - loc: yyloc, - expected: expected - }); - } - if (action[0] instanceof Array && action.length > 1) { - throw new Error('Parse Error: multiple actions possible at state: ' + state + ', token: ' + symbol); - } - switch (action[0]) { - case 1: - stack.push(symbol); - vstack.push(lexer.yytext); - lstack.push(lexer.yylloc); - stack.push(action[1]); - symbol = null; - if (!preErrorSymbol) { - yyleng = lexer.yyleng; - yytext = lexer.yytext; - yylineno = lexer.yylineno; - yyloc = lexer.yylloc; - if (recovering > 0) { - recovering--; - } - } else { - symbol = preErrorSymbol; - preErrorSymbol = null; - } - break; - case 2: - len = this.productions_[action[1]][1]; - yyval.$ = vstack[vstack.length - len]; - yyval._$ = { - first_line: lstack[lstack.length - (len || 1)].first_line, - last_line: lstack[lstack.length - 1].last_line, - first_column: lstack[lstack.length - (len || 1)].first_column, - last_column: lstack[lstack.length - 1].last_column - }; - if (ranges) { - yyval._$.range = [ - lstack[lstack.length - (len || 1)].range[0], - lstack[lstack.length - 1].range[1] - ]; - } - r = this.performAction.apply(yyval, [ - yytext, - yyleng, - yylineno, - sharedState.yy, - action[1], - vstack, - lstack - ].concat(args)); - if (typeof r !== 'undefined') { - return r; - } - if (len) { - stack = stack.slice(0, -1 * len * 2); - vstack = vstack.slice(0, -1 * len); - lstack = lstack.slice(0, -1 * len); - } - stack.push(this.productions_[action[1]][0]); - vstack.push(yyval.$); - lstack.push(yyval._$); - newState = table[stack[stack.length - 2]][stack[stack.length - 1]]; - stack.push(newState); - break; - case 3: - return true; - } - } - return true; -}}; - -/* generated by jison-lex 0.3.4 */ -var lexer = (function(){ -var lexer = ({ - -EOF:1, - -parseError:function parseError(str, hash) { - if (this.yy.parser) { - this.yy.parser.parseError(str, hash); - } else { - throw new Error(str); - } - }, - -// resets the lexer, sets new input -setInput:function (input, yy) { - this.yy = yy || this.yy || {}; - this._input = input; - this._more = this._backtrack = this.done = false; - this.yylineno = this.yyleng = 0; - this.yytext = this.matched = this.match = ''; - this.conditionStack = ['INITIAL']; - this.yylloc = { - first_line: 1, - first_column: 0, - last_line: 1, - last_column: 0 - }; - if (this.options.ranges) { - this.yylloc.range = [0,0]; - } - this.offset = 0; - return this; - }, - -// consumes and returns one char from the input -input:function () { - var ch = this._input[0]; - this.yytext += ch; - this.yyleng++; - this.offset++; - this.match += ch; - this.matched += ch; - var lines = ch.match(/(?:\r\n?|\n).*/g); - if (lines) { - this.yylineno++; - this.yylloc.last_line++; - } else { - this.yylloc.last_column++; - } - if (this.options.ranges) { - this.yylloc.range[1]++; - } - - this._input = this._input.slice(1); - return ch; - }, - -// unshifts one char (or a string) into the input -unput:function (ch) { - var len = ch.length; - var lines = ch.split(/(?:\r\n?|\n)/g); - - this._input = ch + this._input; - this.yytext = this.yytext.substr(0, this.yytext.length - len); - //this.yyleng -= len; - this.offset -= len; - var oldLines = this.match.split(/(?:\r\n?|\n)/g); - this.match = this.match.substr(0, this.match.length - 1); - this.matched = this.matched.substr(0, this.matched.length - 1); - - if (lines.length - 1) { - this.yylineno -= lines.length - 1; - } - var r = this.yylloc.range; - - this.yylloc = { - first_line: this.yylloc.first_line, - last_line: this.yylineno + 1, - first_column: this.yylloc.first_column, - last_column: lines ? - (lines.length === oldLines.length ? this.yylloc.first_column : 0) - + oldLines[oldLines.length - lines.length].length - lines[0].length : - this.yylloc.first_column - len - }; - - if (this.options.ranges) { - this.yylloc.range = [r[0], r[0] + this.yyleng - len]; - } - this.yyleng = this.yytext.length; - return this; - }, - -// When called from action, caches matched text and appends it on next action -more:function () { - this._more = true; - return this; - }, - -// When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead. -reject:function () { - if (this.options.backtrack_lexer) { - this._backtrack = true; - } else { - return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n' + this.showPosition(), { - text: "", - token: null, - line: this.yylineno - }); - - } - return this; - }, - -// retain first n characters of the match -less:function (n) { - this.unput(this.match.slice(n)); - }, - -// displays already matched input, i.e. for error messages -pastInput:function () { - var past = this.matched.substr(0, this.matched.length - this.match.length); - return (past.length > 20 ? '...':'') + past.substr(-20).replace(/\n/g, ""); - }, - -// displays upcoming input, i.e. for error messages -upcomingInput:function () { - var next = this.match; - if (next.length < 20) { - next += this._input.substr(0, 20-next.length); - } - return (next.substr(0,20) + (next.length > 20 ? '...' : '')).replace(/\n/g, ""); - }, - -// displays the character position where the lexing error occurred, i.e. for error messages -showPosition:function () { - var pre = this.pastInput(); - var c = new Array(pre.length + 1).join("-"); - return pre + this.upcomingInput() + "\n" + c + "^"; - }, - -// test the lexed token: return FALSE when not a match, otherwise return token -test_match:function(match, indexed_rule) { - var token, - lines, - backup; - - if (this.options.backtrack_lexer) { - // save context - backup = { - yylineno: this.yylineno, - yylloc: { - first_line: this.yylloc.first_line, - last_line: this.last_line, - first_column: this.yylloc.first_column, - last_column: this.yylloc.last_column - }, - yytext: this.yytext, - match: this.match, - matches: this.matches, - matched: this.matched, - yyleng: this.yyleng, - offset: this.offset, - _more: this._more, - _input: this._input, - yy: this.yy, - conditionStack: this.conditionStack.slice(0), - done: this.done - }; - if (this.options.ranges) { - backup.yylloc.range = this.yylloc.range.slice(0); - } - } - - lines = match[0].match(/(?:\r\n?|\n).*/g); - if (lines) { - this.yylineno += lines.length; - } - this.yylloc = { - first_line: this.yylloc.last_line, - last_line: this.yylineno + 1, - first_column: this.yylloc.last_column, - last_column: lines ? - lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length : - this.yylloc.last_column + match[0].length - }; - this.yytext += match[0]; - this.match += match[0]; - this.matches = match; - this.yyleng = this.yytext.length; - if (this.options.ranges) { - this.yylloc.range = [this.offset, this.offset += this.yyleng]; - } - this._more = false; - this._backtrack = false; - this._input = this._input.slice(match[0].length); - this.matched += match[0]; - token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]); - if (this.done && this._input) { - this.done = false; - } - if (token) { - return token; - } else if (this._backtrack) { - // recover context - for (var k in backup) { - this[k] = backup[k]; - } - return false; // rule action called reject() implying the next rule should be tested instead. - } - return false; - }, - -// return next match in input -next:function () { - if (this.done) { - return this.EOF; - } - if (!this._input) { - this.done = true; - } - - var token, - match, - tempMatch, - index; - if (!this._more) { - this.yytext = ''; - this.match = ''; - } - var rules = this._currentRules(); - for (var i = 0; i < rules.length; i++) { - tempMatch = this._input.match(this.rules[rules[i]]); - if (tempMatch && (!match || tempMatch[0].length > match[0].length)) { - match = tempMatch; - index = i; - if (this.options.backtrack_lexer) { - token = this.test_match(tempMatch, rules[i]); - if (token !== false) { - return token; - } else if (this._backtrack) { - match = false; - continue; // rule action called reject() implying a rule MISmatch. - } else { - // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) - return false; - } - } else if (!this.options.flex) { - break; - } - } - } - if (match) { - token = this.test_match(match, rules[index]); - if (token !== false) { - return token; - } - // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) - return false; - } - if (this._input === "") { - return this.EOF; - } else { - return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\n' + this.showPosition(), { - text: "", - token: null, - line: this.yylineno - }); - } - }, - -// return next match that has a token -lex:function lex () { - var r = this.next(); - if (r) { - return r; - } else { - return this.lex(); - } - }, - -// activates a new lexer condition state (pushes the new lexer condition state onto the condition stack) -begin:function begin (condition) { - this.conditionStack.push(condition); - }, - -// pop the previously active lexer condition state off the condition stack -popState:function popState () { - var n = this.conditionStack.length - 1; - if (n > 0) { - return this.conditionStack.pop(); - } else { - return this.conditionStack[0]; - } - }, - -// produce the lexer rule set which is active for the currently active lexer condition state -_currentRules:function _currentRules () { - if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) { - return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules; - } else { - return this.conditions["INITIAL"].rules; - } - }, - -// return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available -topState:function topState (n) { - n = this.conditionStack.length - 1 - Math.abs(n || 0); - if (n >= 0) { - return this.conditionStack[n]; - } else { - return "INITIAL"; - } - }, - -// alias for begin(condition) -pushState:function pushState (condition) { - this.begin(condition); - }, - -// return the number of states currently on the stack -stateStackSize:function stateStackSize() { - return this.conditionStack.length; - }, -options: {}, -performAction: function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) { -var YYSTATE=YY_START; -switch($avoiding_name_collisions) { -case 0: this.begin('open_directive'); return 18; -break; -case 1:return 7; -break; -case 2:return 8; -break; -case 3:return 9; -break; -case 4:return 10; -break; -case 5: this.begin('type_directive'); return 19; -break; -case 6: this.popState(); this.begin('arg_directive'); return 16; -break; -case 7: this.popState(); this.popState(); return 21; -break; -case 8:return 20; -break; -case 9:/* skip comments */ -break; -case 10:/* skip comments */ -break; -case 11:return 15; -break; -case 12:/* skip whitespace */ -break; -case 13:return 22; -break; -case 14:return 22; -break; -case 15: this.begin("struct"); /*console.log('Starting struct');*/ return 39; -break; -case 16:return "EOF_IN_STRUCT"; -break; -case 17:return "OPEN_IN_STRUCT"; -break; -case 18: /*console.log('Ending struct');*/this.popState(); return 41; -break; -case 19:/* nothing */ -break; -case 20: /*console.log('lex-member: ' + yy_.yytext);*/ return "MEMBER"; -break; -case 21:return 37; -break; -case 22:return 63; -break; -case 23:return 56; -break; -case 24:return 57; -break; -case 25:return 59; -break; -case 26:return 42; -break; -case 27:return 43; -break; -case 28:this.begin("generic"); -break; -case 29:this.popState(); -break; -case 30:return "GENERICTYPE"; -break; -case 31:this.begin("string"); -break; -case 32:this.popState(); -break; -case 33:return "STR"; -break; -case 34:this.begin("bqstring"); -break; -case 35:this.popState(); -break; -case 36:return "BQUOTE_STR"; -break; -case 37:this.begin("href"); -break; -case 38:this.popState(); -break; -case 39:return 62; -break; -case 40:this.begin("callback_name"); -break; -case 41:this.popState(); -break; -case 42:this.popState(); this.begin("callback_args"); -break; -case 43:return 60; -break; -case 44:this.popState(); -break; -case 45:return 61; -break; -case 46:return 58; -break; -case 47:return 58; -break; -case 48:return 58; -break; -case 49:return 58; -break; -case 50:return 51; -break; -case 51:return 51; -break; -case 52:return 53; -break; -case 53:return 53; -break; -case 54:return 52; -break; -case 55:return 50; -break; -case 56:return 54; -break; -case 57:return 55; -break; -case 58:return 31; -break; -case 59:return 38; -break; -case 60:return 75; -break; -case 61:return 'DOT'; -break; -case 62:return 'PLUS'; -break; -case 63:return 72; -break; -case 64:return 'EQUALS'; -break; -case 65:return 'EQUALS'; -break; -case 66:return 79; -break; -case 67:return 'PUNCTUATION'; -break; -case 68:return 78; -break; -case 69:return 77; -break; -case 70:return 74; -break; -case 71:return 24; -break; -} -}, -rules: [/^(?:%%\{)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:((?:(?!\}%%)[^:.])*))/,/^(?::)/,/^(?:\}%%)/,/^(?:((?:(?!\}%%).|\n)*))/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:classDiagram-v2\b)/,/^(?:classDiagram\b)/,/^(?:[{])/,/^(?:$)/,/^(?:[{])/,/^(?:[}])/,/^(?:[\n])/,/^(?:[^{}\n]*)/,/^(?:class\b)/,/^(?:cssClass\b)/,/^(?:callback\b)/,/^(?:link\b)/,/^(?:click\b)/,/^(?:<<)/,/^(?:>>)/,/^(?:[~])/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:[`])/,/^(?:[`])/,/^(?:[^`]+)/,/^(?:href[\s]+["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:--)/,/^(?:\.\.)/,/^(?::{1}[^:\n;]+)/,/^(?::{3})/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:\w+)/,/^(?:[!"#$%&'*+,-.`?\\/])/,/^(?:[0-9]+)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\s)/,/^(?:$)/], -conditions: {"arg_directive":{"rules":[7,8],"inclusive":false},"type_directive":{"rules":[6,7],"inclusive":false},"open_directive":{"rules":[5],"inclusive":false},"callback_args":{"rules":[44,45],"inclusive":false},"callback_name":{"rules":[41,42,43],"inclusive":false},"href":{"rules":[38,39],"inclusive":false},"struct":{"rules":[16,17,18,19,20],"inclusive":false},"generic":{"rules":[29,30],"inclusive":false},"bqstring":{"rules":[35,36],"inclusive":false},"string":{"rules":[32,33],"inclusive":false},"INITIAL":{"rules":[0,1,2,3,4,9,10,11,12,13,14,15,21,22,23,24,25,26,27,28,31,34,37,40,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71],"inclusive":true}} -}); -return lexer; -})(); -parser.lexer = lexer; -function Parser () { - this.yy = {}; -} -Parser.prototype = parser;parser.Parser = Parser; -return new Parser; -})(); - - -if (true) { -exports.parser = parser; -exports.Parser = parser.Parser; -exports.parse = function () { return parser.parse.apply(parser, arguments); }; -exports.main = function commonjsMain (args) { - if (!args[1]) { - console.log('Usage: '+args[0]+' FILE'); - process.exit(1); - } - var source = __webpack_require__(/*! fs */ "./node_modules/node-libs-browser/mock/empty.js").readFileSync(__webpack_require__(/*! path */ "./node_modules/path-browserify/index.js").normalize(args[1]), "utf8"); - return exports.parser.parse(source); -}; -if ( true && __webpack_require__.c[__webpack_require__.s] === module) { - exports.main(process.argv.slice(1)); -} -} -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../../node_modules/process/browser.js */ "./node_modules/process/browser.js"), __webpack_require__(/*! ./../../../../node_modules/webpack/buildin/module.js */ "./node_modules/webpack/buildin/module.js")(module))) - -/***/ }), - /***/ "./src/diagrams/class/styles.js": /*!**************************************!*\ !*** ./src/diagrams/class/styles.js ***! \**************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); var getStyles = function getStyles(options) { return "g.classGroup text {\n fill: ".concat(options.nodeBorder, ";\n fill: ").concat(options.classText, ";\n stroke: none;\n font-family: ").concat(options.fontFamily, ";\n font-size: 10px;\n\n .title {\n font-weight: bolder;\n }\n\n}\n\n.nodeLabel, .edgeLabel {\n color: ").concat(options.classText, ";\n}\n.edgeLabel .label rect {\n fill: ").concat(options.mainBkg, ";\n}\n.label text {\n fill: ").concat(options.classText, ";\n}\n.edgeLabel .label span {\n background: ").concat(options.mainBkg, ";\n}\n\n.classTitle {\n font-weight: bolder;\n}\n.node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ").concat(options.mainBkg, ";\n stroke: ").concat(options.nodeBorder, ";\n stroke-width: 1px;\n }\n\n\n.divider {\n stroke: ").concat(options.nodeBorder, ";\n stroke: 1;\n}\n\ng.clickable {\n cursor: pointer;\n}\n\ng.classGroup rect {\n fill: ").concat(options.mainBkg, ";\n stroke: ").concat(options.nodeBorder, ";\n}\n\ng.classGroup line {\n stroke: ").concat(options.nodeBorder, ";\n stroke-width: 1;\n}\n\n.classLabel .box {\n stroke: none;\n stroke-width: 0;\n fill: ").concat(options.mainBkg, ";\n opacity: 0.5;\n}\n\n.classLabel .label {\n fill: ").concat(options.nodeBorder, ";\n font-size: 10px;\n}\n\n.relation {\n stroke: ").concat(options.lineColor, ";\n stroke-width: 1;\n fill: none;\n}\n\n.dashed-line{\n stroke-dasharray: 3;\n}\n\n#compositionStart, .composition {\n fill: ").concat(options.lineColor, " !important;\n stroke: ").concat(options.lineColor, " !important;\n stroke-width: 1;\n}\n\n#compositionEnd, .composition {\n fill: ").concat(options.lineColor, " !important;\n stroke: ").concat(options.lineColor, " !important;\n stroke-width: 1;\n}\n\n#dependencyStart, .dependency {\n fill: ").concat(options.lineColor, " !important;\n stroke: ").concat(options.lineColor, " !important;\n stroke-width: 1;\n}\n\n#dependencyStart, .dependency {\n fill: ").concat(options.lineColor, " !important;\n stroke: ").concat(options.lineColor, " !important;\n stroke-width: 1;\n}\n\n#extensionStart, .extension {\n fill: ").concat(options.lineColor, " !important;\n stroke: ").concat(options.lineColor, " !important;\n stroke-width: 1;\n}\n\n#extensionEnd, .extension {\n fill: ").concat(options.lineColor, " !important;\n stroke: ").concat(options.lineColor, " !important;\n stroke-width: 1;\n}\n\n#aggregationStart, .aggregation {\n fill: ").concat(options.mainBkg, " !important;\n stroke: ").concat(options.lineColor, " !important;\n stroke-width: 1;\n}\n\n#aggregationEnd, .aggregation {\n fill: ").concat(options.mainBkg, " !important;\n stroke: ").concat(options.lineColor, " !important;\n stroke-width: 1;\n}\n\n.edgeTerminals {\n font-size: 11px;\n}\n\n"); }; -/* harmony default export */ __webpack_exports__["default"] = (getStyles); +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (getStyles); /***/ }), @@ -7027,14 +14240,16 @@ var getStyles = function getStyles(options) { /*!***************************************!*\ !*** ./src/diagrams/class/svgDraw.js ***! \***************************************/ -/*! exports provided: drawEdge, drawClass, parseMember, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "drawEdge", function() { return drawEdge; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "drawClass", function() { return drawClass; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "parseMember", function() { return parseMember; }); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "drawEdge": () => (/* binding */ drawEdge), +/* harmony export */ "drawClass": () => (/* binding */ drawClass), +/* harmony export */ "parseMember": () => (/* binding */ parseMember), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); /* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3 */ "d3"); /* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(d3__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _classDb__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./classDb */ "./src/diagrams/class/classDb.js"); @@ -7048,16 +14263,16 @@ var edgeCount = 0; var drawEdge = function drawEdge(elem, path, relation, conf) { var getRelationType = function getRelationType(type) { switch (type) { - case _classDb__WEBPACK_IMPORTED_MODULE_1__["relationType"].AGGREGATION: + case _classDb__WEBPACK_IMPORTED_MODULE_1__.relationType.AGGREGATION: return 'aggregation'; - case _classDb__WEBPACK_IMPORTED_MODULE_1__["relationType"].EXTENSION: + case _classDb__WEBPACK_IMPORTED_MODULE_1__.relationType.EXTENSION: return 'extension'; - case _classDb__WEBPACK_IMPORTED_MODULE_1__["relationType"].COMPOSITION: + case _classDb__WEBPACK_IMPORTED_MODULE_1__.relationType.COMPOSITION: return 'composition'; - case _classDb__WEBPACK_IMPORTED_MODULE_1__["relationType"].DEPENDENCY: + case _classDb__WEBPACK_IMPORTED_MODULE_1__.relationType.DEPENDENCY: return 'dependency'; } }; @@ -7068,11 +14283,11 @@ var drawEdge = function drawEdge(elem, path, relation, conf) { var lineData = path.points; // This is the accessor function we talked about above - var lineFunction = Object(d3__WEBPACK_IMPORTED_MODULE_0__["line"])().x(function (d) { + var lineFunction = (0,d3__WEBPACK_IMPORTED_MODULE_0__.line)().x(function (d) { return d.x; }).y(function (d) { return d.y; - }).curve(d3__WEBPACK_IMPORTED_MODULE_0__["curveBasis"]); + }).curve(d3__WEBPACK_IMPORTED_MODULE_0__.curveBasis); var svgPath = elem.append('path').attr('d', lineFunction(lineData)).attr('id', 'edge' + edgeCount).attr('class', 'relation'); var url = ''; @@ -7106,8 +14321,8 @@ var drawEdge = function drawEdge(elem, path, relation, conf) { if (l % 2 !== 0 && l > 1) { var cardinality_1_point = _utils__WEBPACK_IMPORTED_MODULE_2__["default"].calcCardinalityPosition(relation.relation.type1 !== 'none', path.points, path.points[0]); var cardinality_2_point = _utils__WEBPACK_IMPORTED_MODULE_2__["default"].calcCardinalityPosition(relation.relation.type2 !== 'none', path.points, path.points[l - 1]); - _logger__WEBPACK_IMPORTED_MODULE_3__["log"].debug('cardinality_1_point ' + JSON.stringify(cardinality_1_point)); - _logger__WEBPACK_IMPORTED_MODULE_3__["log"].debug('cardinality_2_point ' + JSON.stringify(cardinality_2_point)); + _logger__WEBPACK_IMPORTED_MODULE_3__.log.debug('cardinality_1_point ' + JSON.stringify(cardinality_1_point)); + _logger__WEBPACK_IMPORTED_MODULE_3__.log.debug('cardinality_2_point ' + JSON.stringify(cardinality_2_point)); p1_card_x = cardinality_1_point.x; p1_card_y = cardinality_1_point.y; p2_card_x = cardinality_2_point.x; @@ -7122,7 +14337,7 @@ var drawEdge = function drawEdge(elem, path, relation, conf) { g.insert('rect', ':first-child').attr('class', 'box').attr('x', bounds.x - conf.padding / 2).attr('y', bounds.y - conf.padding / 2).attr('width', bounds.width + conf.padding).attr('height', bounds.height + conf.padding); } - _logger__WEBPACK_IMPORTED_MODULE_3__["log"].info('Rendering relation ' + JSON.stringify(relation)); + _logger__WEBPACK_IMPORTED_MODULE_3__.log.info('Rendering relation ' + JSON.stringify(relation)); if (typeof relation.relationTitle1 !== 'undefined' && relation.relationTitle1 !== 'none') { var _g = elem.append('g').attr('class', 'cardinality'); @@ -7139,7 +14354,7 @@ var drawEdge = function drawEdge(elem, path, relation, conf) { edgeCount++; }; var drawClass = function drawClass(elem, classDef, conf) { - _logger__WEBPACK_IMPORTED_MODULE_3__["log"].info('Rendering class ' + classDef); + _logger__WEBPACK_IMPORTED_MODULE_3__.log.info('Rendering class ' + classDef); var id = classDef.id; var classInfo = { id: id, @@ -7148,7 +14363,7 @@ var drawClass = function drawClass(elem, classDef, conf) { height: 0 }; // add class group - var g = elem.append('g').attr('id', Object(_classDb__WEBPACK_IMPORTED_MODULE_1__["lookUpDomId"])(id)).attr('class', 'classGroup'); // add title + var g = elem.append('g').attr('id', (0,_classDb__WEBPACK_IMPORTED_MODULE_1__.lookUpDomId)(id)).attr('class', 'classGroup'); // add title var title; @@ -7363,7 +14578,7 @@ var parseClassifier = function parseClassifier(classifier) { } }; -/* harmony default export */ __webpack_exports__["default"] = ({ +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ drawClass: drawClass, drawEdge: drawEdge, parseMember: parseMember @@ -7375,18 +14590,20 @@ var parseClassifier = function parseClassifier(classifier) { /*!***************************************!*\ !*** ./src/diagrams/common/common.js ***! \***************************************/ -/*! exports provided: getRows, removeScript, sanitizeText, lineBreakRegex, hasBreaks, splitBreaks, evaluate, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getRows", function() { return getRows; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "removeScript", function() { return removeScript; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "sanitizeText", function() { return sanitizeText; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "lineBreakRegex", function() { return lineBreakRegex; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "hasBreaks", function() { return hasBreaks; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "splitBreaks", function() { return splitBreaks; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "evaluate", function() { return evaluate; }); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "getRows": () => (/* binding */ getRows), +/* harmony export */ "removeScript": () => (/* binding */ removeScript), +/* harmony export */ "sanitizeText": () => (/* binding */ sanitizeText), +/* harmony export */ "lineBreakRegex": () => (/* binding */ lineBreakRegex), +/* harmony export */ "hasBreaks": () => (/* binding */ hasBreaks), +/* harmony export */ "splitBreaks": () => (/* binding */ splitBreaks), +/* harmony export */ "evaluate": () => (/* binding */ evaluate), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); /* harmony import */ var dompurify__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dompurify */ "dompurify"); /* harmony import */ var dompurify__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(dompurify__WEBPACK_IMPORTED_MODULE_0__); @@ -7453,10 +14670,8 @@ var sanitizeMore = function sanitizeMore(text, config) { }; var sanitizeText = function sanitizeText(text, config) { - var level = config.securityLevel; - console.log('security level', level); if (!text) return text; - var txt = dompurify__WEBPACK_IMPORTED_MODULE_0___default.a.sanitize(sanitizeMore(text, config)); + var txt = dompurify__WEBPACK_IMPORTED_MODULE_0___default().sanitize(sanitizeMore(text, config)); return txt; }; var lineBreakRegex = //gi; @@ -7490,7 +14705,7 @@ var getUrl = function getUrl(useAbsolute) { var evaluate = function evaluate(val) { return val === 'false' || val === false ? false : true; }; -/* harmony default export */ __webpack_exports__["default"] = ({ +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ getRows: getRows, sanitizeText: sanitizeText, hasBreaks: hasBreaks, @@ -7507,14 +14722,16 @@ var evaluate = function evaluate(val) { /*!*********************************!*\ !*** ./src/diagrams/er/erDb.js ***! \*********************************/ -/*! exports provided: parseDirective, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "parseDirective", function() { return parseDirective; }); -/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../logger */ "./src/logger.js"); -/* harmony import */ var _mermaidAPI__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../mermaidAPI */ "./src/mermaidAPI.js"); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "parseDirective": () => (/* binding */ parseDirective), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../logger */ "./src/logger.js"); +/* harmony import */ var _mermaidAPI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../mermaidAPI */ "./src/mermaidAPI.js"); /* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../config */ "./src/config.js"); /** * @@ -7536,7 +14753,7 @@ var Identification = { IDENTIFYING: 'IDENTIFYING' }; var parseDirective = function parseDirective(statement, context, type) { - _mermaidAPI__WEBPACK_IMPORTED_MODULE_1__["default"].parseDirective(this, statement, context, type); + _mermaidAPI__WEBPACK_IMPORTED_MODULE_0__["default"].parseDirective(this, statement, context, type); }; var addEntity = function addEntity(name) { @@ -7544,7 +14761,7 @@ var addEntity = function addEntity(name) { entities[name] = { attributes: [] }; - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].info('Added new entity :', name); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.info('Added new entity :', name); } return entities[name]; @@ -7562,7 +14779,7 @@ var addAttributes = function addAttributes(entityName, attribs) { for (i = attribs.length - 1; i >= 0; i--) { entity.attributes.push(attribs[i]); - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].debug('Added attribute ', attribs[i].attributeName); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.debug('Added attribute ', attribs[i].attributeName); } }; /** @@ -7582,7 +14799,7 @@ var addRelationship = function addRelationship(entA, rolA, entB, rSpec) { relSpec: rSpec }; relationships.push(rel); - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].debug('Added new relationship :', rel); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.debug('Added new relationship :', rel); }; var getRelationships = function getRelationships() { @@ -7604,12 +14821,12 @@ var clear = function clear() { title = ''; }; -/* harmony default export */ __webpack_exports__["default"] = ({ +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ Cardinality: Cardinality, Identification: Identification, parseDirective: parseDirective, getConfig: function getConfig() { - return _config__WEBPACK_IMPORTED_MODULE_2__["getConfig"]().er; + return _config__WEBPACK_IMPORTED_MODULE_2__.getConfig().er; }, addEntity: addEntity, addAttributes: addAttributes, @@ -7627,11 +14844,13 @@ var clear = function clear() { /*!**************************************!*\ !*** ./src/diagrams/er/erMarkers.js ***! \**************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); var ERMarkers = { ONLY_ONE_START: 'ONLY_ONE_START', ONLY_ONE_END: 'ONLY_ONE_END', @@ -7667,7 +14886,7 @@ var insertMarkers = function insertMarkers(elem, conf) { return; }; -/* harmony default export */ __webpack_exports__["default"] = ({ +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ ERMarkers: ERMarkers, insertMarkers: insertMarkers }); @@ -7678,25 +14897,27 @@ var insertMarkers = function insertMarkers(elem, conf) { /*!***************************************!*\ !*** ./src/diagrams/er/erRenderer.js ***! \***************************************/ -/*! exports provided: setConf, draw, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setConf", function() { return setConf; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "draw", function() { return draw; }); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "setConf": () => (/* binding */ setConf), +/* harmony export */ "draw": () => (/* binding */ draw), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); /* harmony import */ var graphlib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! graphlib */ "graphlib"); /* harmony import */ var graphlib__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(graphlib__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! d3 */ "d3"); /* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(d3__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var _erDb__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./erDb */ "./src/diagrams/er/erDb.js"); -/* harmony import */ var _parser_erDiagram__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./parser/erDiagram */ "./src/diagrams/er/parser/erDiagram.jison"); -/* harmony import */ var _parser_erDiagram__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_parser_erDiagram__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var dagre__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! dagre */ "dagre"); -/* harmony import */ var dagre__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(dagre__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../config */ "./src/config.js"); +/* harmony import */ var _erDb__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./erDb */ "./src/diagrams/er/erDb.js"); +/* harmony import */ var _parser_erDiagram__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./parser/erDiagram */ "./src/diagrams/er/parser/erDiagram.jison"); +/* harmony import */ var _parser_erDiagram__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_parser_erDiagram__WEBPACK_IMPORTED_MODULE_7__); +/* harmony import */ var dagre__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! dagre */ "dagre"); +/* harmony import */ var dagre__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(dagre__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../config */ "./src/config.js"); /* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../logger */ "./src/logger.js"); -/* harmony import */ var _erMarkers__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./erMarkers */ "./src/diagrams/er/erMarkers.js"); +/* harmony import */ var _erMarkers__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./erMarkers */ "./src/diagrams/er/erMarkers.js"); /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../utils */ "./src/utils.js"); @@ -7752,9 +14973,9 @@ var drawAttributes = function drawAttributes(groupNode, entityTextNode, attribut var nodeWidth = 0; var nodeHeight = 0; // Add a text node for the attribute type - var typeNode = groupNode.append('text').attr('class', 'er entityLabel').attr('id', "".concat(attrPrefix, "-type")).attr('x', 0).attr('y', 0).attr('dominant-baseline', 'middle').attr('text-anchor', 'left').attr('style', 'font-family: ' + Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().fontFamily + '; font-size: ' + attrFontSize + 'px').text(item.attributeType); // Add a text node for the attribute name + var typeNode = groupNode.append('text').attr('class', 'er entityLabel').attr('id', "".concat(attrPrefix, "-type")).attr('x', 0).attr('y', 0).attr('dominant-baseline', 'middle').attr('text-anchor', 'left').attr('style', 'font-family: ' + (0,_config__WEBPACK_IMPORTED_MODULE_3__.getConfig)().fontFamily + '; font-size: ' + attrFontSize + 'px').text(item.attributeType); // Add a text node for the attribute name - var nameNode = groupNode.append('text').attr('class', 'er entityLabel').attr('id', "".concat(attrPrefix, "-name")).attr('x', 0).attr('y', 0).attr('dominant-baseline', 'middle').attr('text-anchor', 'left').attr('style', 'font-family: ' + Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().fontFamily + '; font-size: ' + attrFontSize + 'px').text(item.attributeName); + var nameNode = groupNode.append('text').attr('class', 'er entityLabel').attr('id', "".concat(attrPrefix, "-name")).attr('x', 0).attr('y', 0).attr('dominant-baseline', 'middle').attr('text-anchor', 'left').attr('style', 'font-family: ' + (0,_config__WEBPACK_IMPORTED_MODULE_3__.getConfig)().fontFamily + '; font-size: ' + attrFontSize + 'px').text(item.attributeName); var attributeNode = {}; attributeNode.tn = typeNode; attributeNode.nn = nameNode; @@ -7767,7 +14988,7 @@ var drawAttributes = function drawAttributes(groupNode, entityTextNode, attribut nodeHeight = Math.max(typeBBox.height, nameBBox.height); if (hasKeyType || item.attributeKeyType !== undefined) { - var keyTypeNode = groupNode.append('text').attr('class', 'er entityLabel').attr('id', "".concat(attrPrefix, "-name")).attr('x', 0).attr('y', 0).attr('dominant-baseline', 'middle').attr('text-anchor', 'left').attr('style', 'font-family: ' + Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().fontFamily + '; font-size: ' + attrFontSize + 'px').text(item.attributeKeyType || ''); + var keyTypeNode = groupNode.append('text').attr('class', 'er entityLabel').attr('id', "".concat(attrPrefix, "-name")).attr('x', 0).attr('y', 0).attr('dominant-baseline', 'middle').attr('text-anchor', 'left').attr('style', 'font-family: ' + (0,_config__WEBPACK_IMPORTED_MODULE_3__.getConfig)().fontFamily + '; font-size: ' + attrFontSize + 'px').text(item.attributeKeyType || ''); attributeNode.kn = keyTypeNode; var keyTypeBBox = keyTypeNode.node().getBBox(); nodeWidth += keyTypeBBox.width; @@ -7777,7 +14998,7 @@ var drawAttributes = function drawAttributes(groupNode, entityTextNode, attribut } if (hasComment || item.attributeComment !== undefined) { - var commentNode = groupNode.append('text').attr('class', 'er entityLabel').attr('id', "".concat(attrPrefix, "-name")).attr('x', 0).attr('y', 0).attr('dominant-baseline', 'middle').attr('text-anchor', 'left').attr('style', 'font-family: ' + Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().fontFamily + '; font-size: ' + attrFontSize + 'px').text(item.attributeComment || ''); + var commentNode = groupNode.append('text').attr('class', 'er entityLabel').attr('id', "".concat(attrPrefix, "-name")).attr('x', 0).attr('y', 0).attr('dominant-baseline', 'middle').attr('text-anchor', 'left').attr('style', 'font-family: ' + (0,_config__WEBPACK_IMPORTED_MODULE_3__.getConfig)().fontFamily + '; font-size: ' + attrFontSize + 'px').text(item.attributeComment || ''); attributeNode.cn = commentNode; var commentNodeBBox = commentNode.node().getBBox(); nodeWidth += commentNodeBBox.width; @@ -7868,7 +15089,7 @@ var drawEntities = function drawEntities(svgNode, entities, graph) { // which then determines the size of the rectangle var textId = 'entity-' + id; - var textNode = groupNode.append('text').attr('class', 'er entityLabel').attr('id', textId).attr('x', 0).attr('y', 0).attr('dominant-baseline', 'middle').attr('text-anchor', 'middle').attr('style', 'font-family: ' + Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().fontFamily + '; font-size: ' + conf.fontSize + 'px').text(id); + var textNode = groupNode.append('text').attr('class', 'er entityLabel').attr('id', textId).attr('x', 0).attr('y', 0).attr('dominant-baseline', 'middle').attr('text-anchor', 'middle').attr('style', 'font-family: ' + (0,_config__WEBPACK_IMPORTED_MODULE_3__.getConfig)().fontFamily + '; font-size: ' + conf.fontSize + 'px').text(id); var _drawAttributes = drawAttributes(groupNode, textNode, entities[id].attributes), entityWidth = _drawAttributes.width, @@ -7933,15 +15154,15 @@ var drawRelationshipFromLayout = function drawRelationshipFromLayout(svg, rel, g var edge = g.edge(rel.entityA, rel.entityB, getEdgeName(rel)); // Get a function that will generate the line path - var lineFunction = Object(d3__WEBPACK_IMPORTED_MODULE_1__["line"])().x(function (d) { + var lineFunction = (0,d3__WEBPACK_IMPORTED_MODULE_1__.line)().x(function (d) { return d.x; }).y(function (d) { return d.y; - }).curve(d3__WEBPACK_IMPORTED_MODULE_1__["curveBasis"]); // Insert the line at the right place + }).curve(d3__WEBPACK_IMPORTED_MODULE_1__.curveBasis); // Insert the line at the right place var svgPath = svg.insert('path', '#' + insert).attr('class', 'er relationshipLine').attr('d', lineFunction(edge.points)).attr('stroke', conf.stroke).attr('fill', 'none'); // ...and with dashes if necessary - if (rel.relSpec.relType === _erDb__WEBPACK_IMPORTED_MODULE_2__["default"].Identification.NON_IDENTIFYING) { + if (rel.relSpec.relType === _erDb__WEBPACK_IMPORTED_MODULE_4__["default"].Identification.NON_IDENTIFYING) { svgPath.attr('stroke-dasharray', '8,8'); } // TODO: Understand this better @@ -7958,38 +15179,38 @@ var drawRelationshipFromLayout = function drawRelationshipFromLayout(svg, rel, g switch (rel.relSpec.cardA) { - case _erDb__WEBPACK_IMPORTED_MODULE_2__["default"].Cardinality.ZERO_OR_ONE: - svgPath.attr('marker-end', 'url(' + url + '#' + _erMarkers__WEBPACK_IMPORTED_MODULE_7__["default"].ERMarkers.ZERO_OR_ONE_END + ')'); + case _erDb__WEBPACK_IMPORTED_MODULE_4__["default"].Cardinality.ZERO_OR_ONE: + svgPath.attr('marker-end', 'url(' + url + '#' + _erMarkers__WEBPACK_IMPORTED_MODULE_5__["default"].ERMarkers.ZERO_OR_ONE_END + ')'); break; - case _erDb__WEBPACK_IMPORTED_MODULE_2__["default"].Cardinality.ZERO_OR_MORE: - svgPath.attr('marker-end', 'url(' + url + '#' + _erMarkers__WEBPACK_IMPORTED_MODULE_7__["default"].ERMarkers.ZERO_OR_MORE_END + ')'); + case _erDb__WEBPACK_IMPORTED_MODULE_4__["default"].Cardinality.ZERO_OR_MORE: + svgPath.attr('marker-end', 'url(' + url + '#' + _erMarkers__WEBPACK_IMPORTED_MODULE_5__["default"].ERMarkers.ZERO_OR_MORE_END + ')'); break; - case _erDb__WEBPACK_IMPORTED_MODULE_2__["default"].Cardinality.ONE_OR_MORE: - svgPath.attr('marker-end', 'url(' + url + '#' + _erMarkers__WEBPACK_IMPORTED_MODULE_7__["default"].ERMarkers.ONE_OR_MORE_END + ')'); + case _erDb__WEBPACK_IMPORTED_MODULE_4__["default"].Cardinality.ONE_OR_MORE: + svgPath.attr('marker-end', 'url(' + url + '#' + _erMarkers__WEBPACK_IMPORTED_MODULE_5__["default"].ERMarkers.ONE_OR_MORE_END + ')'); break; - case _erDb__WEBPACK_IMPORTED_MODULE_2__["default"].Cardinality.ONLY_ONE: - svgPath.attr('marker-end', 'url(' + url + '#' + _erMarkers__WEBPACK_IMPORTED_MODULE_7__["default"].ERMarkers.ONLY_ONE_END + ')'); + case _erDb__WEBPACK_IMPORTED_MODULE_4__["default"].Cardinality.ONLY_ONE: + svgPath.attr('marker-end', 'url(' + url + '#' + _erMarkers__WEBPACK_IMPORTED_MODULE_5__["default"].ERMarkers.ONLY_ONE_END + ')'); break; } switch (rel.relSpec.cardB) { - case _erDb__WEBPACK_IMPORTED_MODULE_2__["default"].Cardinality.ZERO_OR_ONE: - svgPath.attr('marker-start', 'url(' + url + '#' + _erMarkers__WEBPACK_IMPORTED_MODULE_7__["default"].ERMarkers.ZERO_OR_ONE_START + ')'); + case _erDb__WEBPACK_IMPORTED_MODULE_4__["default"].Cardinality.ZERO_OR_ONE: + svgPath.attr('marker-start', 'url(' + url + '#' + _erMarkers__WEBPACK_IMPORTED_MODULE_5__["default"].ERMarkers.ZERO_OR_ONE_START + ')'); break; - case _erDb__WEBPACK_IMPORTED_MODULE_2__["default"].Cardinality.ZERO_OR_MORE: - svgPath.attr('marker-start', 'url(' + url + '#' + _erMarkers__WEBPACK_IMPORTED_MODULE_7__["default"].ERMarkers.ZERO_OR_MORE_START + ')'); + case _erDb__WEBPACK_IMPORTED_MODULE_4__["default"].Cardinality.ZERO_OR_MORE: + svgPath.attr('marker-start', 'url(' + url + '#' + _erMarkers__WEBPACK_IMPORTED_MODULE_5__["default"].ERMarkers.ZERO_OR_MORE_START + ')'); break; - case _erDb__WEBPACK_IMPORTED_MODULE_2__["default"].Cardinality.ONE_OR_MORE: - svgPath.attr('marker-start', 'url(' + url + '#' + _erMarkers__WEBPACK_IMPORTED_MODULE_7__["default"].ERMarkers.ONE_OR_MORE_START + ')'); + case _erDb__WEBPACK_IMPORTED_MODULE_4__["default"].Cardinality.ONE_OR_MORE: + svgPath.attr('marker-start', 'url(' + url + '#' + _erMarkers__WEBPACK_IMPORTED_MODULE_5__["default"].ERMarkers.ONE_OR_MORE_START + ')'); break; - case _erDb__WEBPACK_IMPORTED_MODULE_2__["default"].Cardinality.ONLY_ONE: - svgPath.attr('marker-start', 'url(' + url + '#' + _erMarkers__WEBPACK_IMPORTED_MODULE_7__["default"].ERMarkers.ONLY_ONE_START + ')'); + case _erDb__WEBPACK_IMPORTED_MODULE_4__["default"].Cardinality.ONLY_ONE: + svgPath.attr('marker-start', 'url(' + url + '#' + _erMarkers__WEBPACK_IMPORTED_MODULE_5__["default"].ERMarkers.ONLY_ONE_START + ')'); break; } // Now label the relationship // Find the half-way point @@ -7999,7 +15220,7 @@ var drawRelationshipFromLayout = function drawRelationshipFromLayout(svg, rel, g var labelPoint = svgPath.node().getPointAtLength(len * 0.5); // Append a text node containing the label var labelId = 'rel' + relCnt; - var labelNode = svg.append('text').attr('class', 'er relationshipLabel').attr('id', labelId).attr('x', labelPoint.x).attr('y', labelPoint.y).attr('text-anchor', 'middle').attr('dominant-baseline', 'middle').attr('style', 'font-family: ' + Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().fontFamily + '; font-size: ' + conf.fontSize + 'px').text(rel.roleA); // Figure out how big the opaque 'container' rectangle needs to be + var labelNode = svg.append('text').attr('class', 'er relationshipLabel').attr('id', labelId).attr('x', labelPoint.x).attr('y', labelPoint.y).attr('text-anchor', 'middle').attr('dominant-baseline', 'middle').attr('style', 'font-family: ' + (0,_config__WEBPACK_IMPORTED_MODULE_3__.getConfig)().fontFamily + '; font-size: ' + conf.fontSize + 'px').text(rel.roleA); // Figure out how big the opaque 'container' rectangle needs to be var labelBBox = labelNode.node().getBBox(); // Insert the opaque rectangle before the text label @@ -8014,21 +15235,21 @@ var drawRelationshipFromLayout = function drawRelationshipFromLayout(svg, rel, g var draw = function draw(text, id) { - _logger__WEBPACK_IMPORTED_MODULE_6__["log"].info('Drawing ER diagram'); - _erDb__WEBPACK_IMPORTED_MODULE_2__["default"].clear(); - var parser = _parser_erDiagram__WEBPACK_IMPORTED_MODULE_3___default.a.parser; - parser.yy = _erDb__WEBPACK_IMPORTED_MODULE_2__["default"]; // Parse the text to populate erDb + _logger__WEBPACK_IMPORTED_MODULE_6__.log.info('Drawing ER diagram'); + _erDb__WEBPACK_IMPORTED_MODULE_4__["default"].clear(); + var parser = (_parser_erDiagram__WEBPACK_IMPORTED_MODULE_7___default().parser); + parser.yy = _erDb__WEBPACK_IMPORTED_MODULE_4__["default"]; // Parse the text to populate erDb try { parser.parse(text); } catch (err) { - _logger__WEBPACK_IMPORTED_MODULE_6__["log"].debug('Parsing failed'); + _logger__WEBPACK_IMPORTED_MODULE_6__.log.debug('Parsing failed'); } // Get a reference to the svg node that contains the text - var svg = Object(d3__WEBPACK_IMPORTED_MODULE_1__["select"])("[id='".concat(id, "']")); // Add cardinality marker definitions to the svg + var svg = (0,d3__WEBPACK_IMPORTED_MODULE_1__.select)("[id='".concat(id, "']")); // Add cardinality marker definitions to the svg - _erMarkers__WEBPACK_IMPORTED_MODULE_7__["default"].insertMarkers(svg, conf); // Now we have to construct the diagram in a specific way: + _erMarkers__WEBPACK_IMPORTED_MODULE_5__["default"].insertMarkers(svg, conf); // Now we have to construct the diagram in a specific way: // --- // 1. Create all the entities in the svg node at 0,0, but with the correct dimensions (allowing for text content) // 2. Make sure they are all added to the graph @@ -8049,7 +15270,7 @@ var draw = function draw(text, id) { // put the parent above the child (does it?), which is intuitive. Most relationships // in ER diagrams are one-to-many. - g = new graphlib__WEBPACK_IMPORTED_MODULE_0___default.a.Graph({ + g = new (graphlib__WEBPACK_IMPORTED_MODULE_0___default().Graph)({ multigraph: true, directed: true, compound: false @@ -8065,11 +15286,11 @@ var draw = function draw(text, id) { }); // Draw the entities (at 0,0), returning the first svg node that got // inserted - this represents the insertion point for relationship paths - var firstEntity = drawEntities(svg, _erDb__WEBPACK_IMPORTED_MODULE_2__["default"].getEntities(), g); // TODO: externalise the addition of entities to the graph - it's a bit 'buried' in the above + var firstEntity = drawEntities(svg, _erDb__WEBPACK_IMPORTED_MODULE_4__["default"].getEntities(), g); // TODO: externalise the addition of entities to the graph - it's a bit 'buried' in the above // Add all the relationships to the graph - var relationships = addRelationships(_erDb__WEBPACK_IMPORTED_MODULE_2__["default"].getRelationships(), g); - dagre__WEBPACK_IMPORTED_MODULE_4___default.a.layout(g); // Node and edge positions will be updated + var relationships = addRelationships(_erDb__WEBPACK_IMPORTED_MODULE_4__["default"].getRelationships(), g); + dagre__WEBPACK_IMPORTED_MODULE_2___default().layout(g); // Node and edge positions will be updated // Adjust the positions of the entities so that they adhere to the layout adjustEntities(svg, g); // Draw the relationships @@ -8081,812 +15302,33 @@ var draw = function draw(text, id) { var svgBounds = svg.node().getBBox(); var width = svgBounds.width + padding * 2; var height = svgBounds.height + padding * 2; - Object(_utils__WEBPACK_IMPORTED_MODULE_8__["configureSvgSize"])(svg, height, width, conf.useMaxWidth); + (0,_utils__WEBPACK_IMPORTED_MODULE_8__.configureSvgSize)(svg, height, width, conf.useMaxWidth); svg.attr('viewBox', "".concat(svgBounds.x - padding, " ").concat(svgBounds.y - padding, " ").concat(width, " ").concat(height)); }; // draw -/* harmony default export */ __webpack_exports__["default"] = ({ +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ setConf: setConf, draw: draw }); /***/ }), -/***/ "./src/diagrams/er/parser/erDiagram.jison": -/*!************************************************!*\ - !*** ./src/diagrams/er/parser/erDiagram.jison ***! - \************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -/* WEBPACK VAR INJECTION */(function(process, module) {/* parser generated by jison 0.4.18 */ -/* - Returns a Parser object of the following structure: - - Parser: { - yy: {} - } - - Parser.prototype: { - yy: {}, - trace: function(), - symbols_: {associative list: name ==> number}, - terminals_: {associative list: number ==> name}, - productions_: [...], - performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$), - table: [...], - defaultActions: {...}, - parseError: function(str, hash), - parse: function(input), - - lexer: { - EOF: 1, - parseError: function(str, hash), - setInput: function(input), - input: function(), - unput: function(str), - more: function(), - less: function(n), - pastInput: function(), - upcomingInput: function(), - showPosition: function(), - test_match: function(regex_match_array, rule_index), - next: function(), - lex: function(), - begin: function(condition), - popState: function(), - _currentRules: function(), - topState: function(), - pushState: function(condition), - - options: { - ranges: boolean (optional: true ==> token location info will include a .range[] member) - flex: boolean (optional: true ==> flex-like lexing behaviour where the rules are tested exhaustively to find the longest match) - backtrack_lexer: boolean (optional: true ==> lexer regexes are tested in order and for each matching regex the action code is invoked; the lexer terminates the scan when a token is returned by the action code) - }, - - performAction: function(yy, yy_, $avoiding_name_collisions, YY_START), - rules: [...], - conditions: {associative list: name ==> set}, - } - } - - - token location info (@$, _$, etc.): { - first_line: n, - last_line: n, - first_column: n, - last_column: n, - range: [start_number, end_number] (where the numbers are indexes into the input string, regular zero-based) - } - - - the parseError function receives a 'hash' object with these members for lexer and parser errors: { - text: (matched text) - token: (the produced terminal token, if any) - line: (yylineno) - } - while parser (grammar) errors will also provide these members, i.e. parser errors deliver a superset of attributes: { - loc: (yylloc) - expected: (string describing the set of expected tokens) - recoverable: (boolean: TRUE when the parser has a error recovery rule available for this particular error) - } -*/ -var parser = (function(){ -var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,2],$V1=[1,5],$V2=[6,9,11,23,40],$V3=[1,17],$V4=[1,20],$V5=[1,25],$V6=[1,26],$V7=[1,27],$V8=[1,28],$V9=[1,37],$Va=[23,37,38],$Vb=[4,6,9,11,23,40],$Vc=[33,34,35,36],$Vd=[22,29]; -var parser = {trace: function trace () { }, -yy: {}, -symbols_: {"error":2,"start":3,"ER_DIAGRAM":4,"document":5,"EOF":6,"directive":7,"line":8,"SPACE":9,"statement":10,"NEWLINE":11,"openDirective":12,"typeDirective":13,"closeDirective":14,":":15,"argDirective":16,"entityName":17,"relSpec":18,"role":19,"BLOCK_START":20,"attributes":21,"BLOCK_STOP":22,"ALPHANUM":23,"attribute":24,"attributeType":25,"attributeName":26,"attributeKeyType":27,"COMMENT":28,"ATTRIBUTE_WORD":29,"ATTRIBUTE_KEY":30,"cardinality":31,"relType":32,"ZERO_OR_ONE":33,"ZERO_OR_MORE":34,"ONE_OR_MORE":35,"ONLY_ONE":36,"NON_IDENTIFYING":37,"IDENTIFYING":38,"WORD":39,"open_directive":40,"type_directive":41,"arg_directive":42,"close_directive":43,"$accept":0,"$end":1}, -terminals_: {2:"error",4:"ER_DIAGRAM",6:"EOF",9:"SPACE",11:"NEWLINE",15:":",20:"BLOCK_START",22:"BLOCK_STOP",23:"ALPHANUM",28:"COMMENT",29:"ATTRIBUTE_WORD",30:"ATTRIBUTE_KEY",33:"ZERO_OR_ONE",34:"ZERO_OR_MORE",35:"ONE_OR_MORE",36:"ONLY_ONE",37:"NON_IDENTIFYING",38:"IDENTIFYING",39:"WORD",40:"open_directive",41:"type_directive",42:"arg_directive",43:"close_directive"}, -productions_: [0,[3,3],[3,2],[5,0],[5,2],[8,2],[8,1],[8,1],[8,1],[7,4],[7,6],[10,1],[10,5],[10,4],[10,3],[10,1],[17,1],[21,1],[21,2],[24,2],[24,3],[24,3],[24,4],[25,1],[26,1],[27,1],[18,3],[31,1],[31,1],[31,1],[31,1],[32,1],[32,1],[19,1],[19,1],[12,1],[13,1],[16,1],[14,1]], -performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) { -/* this == yyval */ - -var $0 = $$.length - 1; -switch (yystate) { -case 1: - /*console.log('finished parsing');*/ -break; -case 3: - this.$ = [] -break; -case 4: -$$[$0-1].push($$[$0]);this.$ = $$[$0-1] -break; -case 5: case 6: - this.$ = $$[$0] -break; -case 7: case 8: - this.$=[]; -break; -case 12: - - yy.addEntity($$[$0-4]); - yy.addEntity($$[$0-2]); - yy.addRelationship($$[$0-4], $$[$0], $$[$0-2], $$[$0-3]); - /*console.log($$[$0-4] + $$[$0-3] + $$[$0-2] + ':' + $$[$0]);*/ - -break; -case 13: - - /* console.log('detected block'); */ - yy.addEntity($$[$0-3]); - yy.addAttributes($$[$0-3], $$[$0-1]); - /* console.log('handled block'); */ - -break; -case 14: - yy.addEntity($$[$0-2]); -break; -case 15: - yy.addEntity($$[$0]); -break; -case 16: - this.$ = $$[$0]; /*console.log('Entity: ' + $$[$0]);*/ -break; -case 17: - this.$ = [$$[$0]]; -break; -case 18: - $$[$0].push($$[$0-1]); this.$=$$[$0]; -break; -case 19: - this.$ = { attributeType: $$[$0-1], attributeName: $$[$0] }; -break; -case 20: - this.$ = { attributeType: $$[$0-2], attributeName: $$[$0-1], attributeKeyType: $$[$0] }; -break; -case 21: - this.$ = { attributeType: $$[$0-2], attributeName: $$[$0-1], attributeComment: $$[$0] }; -break; -case 22: - this.$ = { attributeType: $$[$0-3], attributeName: $$[$0-2], attributeKeyType: $$[$0-1], attributeComment: $$[$0] }; -break; -case 23: case 24: case 25: - this.$=$$[$0]; -break; -case 26: - - this.$ = { cardA: $$[$0], relType: $$[$0-1], cardB: $$[$0-2] }; - /*console.log('relSpec: ' + $$[$0] + $$[$0-1] + $$[$0-2]);*/ - -break; -case 27: - this.$ = yy.Cardinality.ZERO_OR_ONE; -break; -case 28: - this.$ = yy.Cardinality.ZERO_OR_MORE; -break; -case 29: - this.$ = yy.Cardinality.ONE_OR_MORE; -break; -case 30: - this.$ = yy.Cardinality.ONLY_ONE; -break; -case 31: - this.$ = yy.Identification.NON_IDENTIFYING; -break; -case 32: - this.$ = yy.Identification.IDENTIFYING; -break; -case 33: - this.$ = $$[$0].replace(/"/g, ''); -break; -case 34: - this.$ = $$[$0]; -break; -case 35: - yy.parseDirective('%%{', 'open_directive'); -break; -case 36: - yy.parseDirective($$[$0], 'type_directive'); -break; -case 37: - $$[$0] = $$[$0].trim().replace(/'/g, '"'); yy.parseDirective($$[$0], 'arg_directive'); -break; -case 38: - yy.parseDirective('}%%', 'close_directive', 'er'); -break; -} -}, -table: [{3:1,4:$V0,7:3,12:4,40:$V1},{1:[3]},o($V2,[2,3],{5:6}),{3:7,4:$V0,7:3,12:4,40:$V1},{13:8,41:[1,9]},{41:[2,35]},{6:[1,10],7:15,8:11,9:[1,12],10:13,11:[1,14],12:4,17:16,23:$V3,40:$V1},{1:[2,2]},{14:18,15:[1,19],43:$V4},o([15,43],[2,36]),o($V2,[2,8],{1:[2,1]}),o($V2,[2,4]),{7:15,10:21,12:4,17:16,23:$V3,40:$V1},o($V2,[2,6]),o($V2,[2,7]),o($V2,[2,11]),o($V2,[2,15],{18:22,31:24,20:[1,23],33:$V5,34:$V6,35:$V7,36:$V8}),o([6,9,11,15,20,23,33,34,35,36,40],[2,16]),{11:[1,29]},{16:30,42:[1,31]},{11:[2,38]},o($V2,[2,5]),{17:32,23:$V3},{21:33,22:[1,34],24:35,25:36,29:$V9},{32:38,37:[1,39],38:[1,40]},o($Va,[2,27]),o($Va,[2,28]),o($Va,[2,29]),o($Va,[2,30]),o($Vb,[2,9]),{14:41,43:$V4},{43:[2,37]},{15:[1,42]},{22:[1,43]},o($V2,[2,14]),{21:44,22:[2,17],24:35,25:36,29:$V9},{26:45,29:[1,46]},{29:[2,23]},{31:47,33:$V5,34:$V6,35:$V7,36:$V8},o($Vc,[2,31]),o($Vc,[2,32]),{11:[1,48]},{19:49,23:[1,51],39:[1,50]},o($V2,[2,13]),{22:[2,18]},o($Vd,[2,19],{27:52,28:[1,53],30:[1,54]}),o([22,28,29,30],[2,24]),{23:[2,26]},o($Vb,[2,10]),o($V2,[2,12]),o($V2,[2,33]),o($V2,[2,34]),o($Vd,[2,20],{28:[1,55]}),o($Vd,[2,21]),o([22,28,29],[2,25]),o($Vd,[2,22])], -defaultActions: {5:[2,35],7:[2,2],20:[2,38],31:[2,37],37:[2,23],44:[2,18],47:[2,26]}, -parseError: function parseError (str, hash) { - if (hash.recoverable) { - this.trace(str); - } else { - var error = new Error(str); - error.hash = hash; - throw error; - } -}, -parse: function parse(input) { - var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = '', yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1; - var args = lstack.slice.call(arguments, 1); - var lexer = Object.create(this.lexer); - var sharedState = { yy: {} }; - for (var k in this.yy) { - if (Object.prototype.hasOwnProperty.call(this.yy, k)) { - sharedState.yy[k] = this.yy[k]; - } - } - lexer.setInput(input, sharedState.yy); - sharedState.yy.lexer = lexer; - sharedState.yy.parser = this; - if (typeof lexer.yylloc == 'undefined') { - lexer.yylloc = {}; - } - var yyloc = lexer.yylloc; - lstack.push(yyloc); - var ranges = lexer.options && lexer.options.ranges; - if (typeof sharedState.yy.parseError === 'function') { - this.parseError = sharedState.yy.parseError; - } else { - this.parseError = Object.getPrototypeOf(this).parseError; - } - function popStack(n) { - stack.length = stack.length - 2 * n; - vstack.length = vstack.length - n; - lstack.length = lstack.length - n; - } - function lex() { - var token; - token = tstack.pop() || lexer.lex() || EOF; - if (typeof token !== 'number') { - if (token instanceof Array) { - tstack = token; - token = tstack.pop(); - } - token = self.symbols_[token] || token; - } - return token; - } - var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected; - while (true) { - state = stack[stack.length - 1]; - if (this.defaultActions[state]) { - action = this.defaultActions[state]; - } else { - if (symbol === null || typeof symbol == 'undefined') { - symbol = lex(); - } - action = table[state] && table[state][symbol]; - } - if (typeof action === 'undefined' || !action.length || !action[0]) { - var errStr = ''; - expected = []; - for (p in table[state]) { - if (this.terminals_[p] && p > TERROR) { - expected.push('\'' + this.terminals_[p] + '\''); - } - } - if (lexer.showPosition) { - errStr = 'Parse error on line ' + (yylineno + 1) + ':\n' + lexer.showPosition() + '\nExpecting ' + expected.join(', ') + ', got \'' + (this.terminals_[symbol] || symbol) + '\''; - } else { - errStr = 'Parse error on line ' + (yylineno + 1) + ': Unexpected ' + (symbol == EOF ? 'end of input' : '\'' + (this.terminals_[symbol] || symbol) + '\''); - } - this.parseError(errStr, { - text: lexer.match, - token: this.terminals_[symbol] || symbol, - line: lexer.yylineno, - loc: yyloc, - expected: expected - }); - } - if (action[0] instanceof Array && action.length > 1) { - throw new Error('Parse Error: multiple actions possible at state: ' + state + ', token: ' + symbol); - } - switch (action[0]) { - case 1: - stack.push(symbol); - vstack.push(lexer.yytext); - lstack.push(lexer.yylloc); - stack.push(action[1]); - symbol = null; - if (!preErrorSymbol) { - yyleng = lexer.yyleng; - yytext = lexer.yytext; - yylineno = lexer.yylineno; - yyloc = lexer.yylloc; - if (recovering > 0) { - recovering--; - } - } else { - symbol = preErrorSymbol; - preErrorSymbol = null; - } - break; - case 2: - len = this.productions_[action[1]][1]; - yyval.$ = vstack[vstack.length - len]; - yyval._$ = { - first_line: lstack[lstack.length - (len || 1)].first_line, - last_line: lstack[lstack.length - 1].last_line, - first_column: lstack[lstack.length - (len || 1)].first_column, - last_column: lstack[lstack.length - 1].last_column - }; - if (ranges) { - yyval._$.range = [ - lstack[lstack.length - (len || 1)].range[0], - lstack[lstack.length - 1].range[1] - ]; - } - r = this.performAction.apply(yyval, [ - yytext, - yyleng, - yylineno, - sharedState.yy, - action[1], - vstack, - lstack - ].concat(args)); - if (typeof r !== 'undefined') { - return r; - } - if (len) { - stack = stack.slice(0, -1 * len * 2); - vstack = vstack.slice(0, -1 * len); - lstack = lstack.slice(0, -1 * len); - } - stack.push(this.productions_[action[1]][0]); - vstack.push(yyval.$); - lstack.push(yyval._$); - newState = table[stack[stack.length - 2]][stack[stack.length - 1]]; - stack.push(newState); - break; - case 3: - return true; - } - } - return true; -}}; - -/* generated by jison-lex 0.3.4 */ -var lexer = (function(){ -var lexer = ({ - -EOF:1, - -parseError:function parseError(str, hash) { - if (this.yy.parser) { - this.yy.parser.parseError(str, hash); - } else { - throw new Error(str); - } - }, - -// resets the lexer, sets new input -setInput:function (input, yy) { - this.yy = yy || this.yy || {}; - this._input = input; - this._more = this._backtrack = this.done = false; - this.yylineno = this.yyleng = 0; - this.yytext = this.matched = this.match = ''; - this.conditionStack = ['INITIAL']; - this.yylloc = { - first_line: 1, - first_column: 0, - last_line: 1, - last_column: 0 - }; - if (this.options.ranges) { - this.yylloc.range = [0,0]; - } - this.offset = 0; - return this; - }, - -// consumes and returns one char from the input -input:function () { - var ch = this._input[0]; - this.yytext += ch; - this.yyleng++; - this.offset++; - this.match += ch; - this.matched += ch; - var lines = ch.match(/(?:\r\n?|\n).*/g); - if (lines) { - this.yylineno++; - this.yylloc.last_line++; - } else { - this.yylloc.last_column++; - } - if (this.options.ranges) { - this.yylloc.range[1]++; - } - - this._input = this._input.slice(1); - return ch; - }, - -// unshifts one char (or a string) into the input -unput:function (ch) { - var len = ch.length; - var lines = ch.split(/(?:\r\n?|\n)/g); - - this._input = ch + this._input; - this.yytext = this.yytext.substr(0, this.yytext.length - len); - //this.yyleng -= len; - this.offset -= len; - var oldLines = this.match.split(/(?:\r\n?|\n)/g); - this.match = this.match.substr(0, this.match.length - 1); - this.matched = this.matched.substr(0, this.matched.length - 1); - - if (lines.length - 1) { - this.yylineno -= lines.length - 1; - } - var r = this.yylloc.range; - - this.yylloc = { - first_line: this.yylloc.first_line, - last_line: this.yylineno + 1, - first_column: this.yylloc.first_column, - last_column: lines ? - (lines.length === oldLines.length ? this.yylloc.first_column : 0) - + oldLines[oldLines.length - lines.length].length - lines[0].length : - this.yylloc.first_column - len - }; - - if (this.options.ranges) { - this.yylloc.range = [r[0], r[0] + this.yyleng - len]; - } - this.yyleng = this.yytext.length; - return this; - }, - -// When called from action, caches matched text and appends it on next action -more:function () { - this._more = true; - return this; - }, - -// When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead. -reject:function () { - if (this.options.backtrack_lexer) { - this._backtrack = true; - } else { - return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n' + this.showPosition(), { - text: "", - token: null, - line: this.yylineno - }); - - } - return this; - }, - -// retain first n characters of the match -less:function (n) { - this.unput(this.match.slice(n)); - }, - -// displays already matched input, i.e. for error messages -pastInput:function () { - var past = this.matched.substr(0, this.matched.length - this.match.length); - return (past.length > 20 ? '...':'') + past.substr(-20).replace(/\n/g, ""); - }, - -// displays upcoming input, i.e. for error messages -upcomingInput:function () { - var next = this.match; - if (next.length < 20) { - next += this._input.substr(0, 20-next.length); - } - return (next.substr(0,20) + (next.length > 20 ? '...' : '')).replace(/\n/g, ""); - }, - -// displays the character position where the lexing error occurred, i.e. for error messages -showPosition:function () { - var pre = this.pastInput(); - var c = new Array(pre.length + 1).join("-"); - return pre + this.upcomingInput() + "\n" + c + "^"; - }, - -// test the lexed token: return FALSE when not a match, otherwise return token -test_match:function(match, indexed_rule) { - var token, - lines, - backup; - - if (this.options.backtrack_lexer) { - // save context - backup = { - yylineno: this.yylineno, - yylloc: { - first_line: this.yylloc.first_line, - last_line: this.last_line, - first_column: this.yylloc.first_column, - last_column: this.yylloc.last_column - }, - yytext: this.yytext, - match: this.match, - matches: this.matches, - matched: this.matched, - yyleng: this.yyleng, - offset: this.offset, - _more: this._more, - _input: this._input, - yy: this.yy, - conditionStack: this.conditionStack.slice(0), - done: this.done - }; - if (this.options.ranges) { - backup.yylloc.range = this.yylloc.range.slice(0); - } - } - - lines = match[0].match(/(?:\r\n?|\n).*/g); - if (lines) { - this.yylineno += lines.length; - } - this.yylloc = { - first_line: this.yylloc.last_line, - last_line: this.yylineno + 1, - first_column: this.yylloc.last_column, - last_column: lines ? - lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length : - this.yylloc.last_column + match[0].length - }; - this.yytext += match[0]; - this.match += match[0]; - this.matches = match; - this.yyleng = this.yytext.length; - if (this.options.ranges) { - this.yylloc.range = [this.offset, this.offset += this.yyleng]; - } - this._more = false; - this._backtrack = false; - this._input = this._input.slice(match[0].length); - this.matched += match[0]; - token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]); - if (this.done && this._input) { - this.done = false; - } - if (token) { - return token; - } else if (this._backtrack) { - // recover context - for (var k in backup) { - this[k] = backup[k]; - } - return false; // rule action called reject() implying the next rule should be tested instead. - } - return false; - }, - -// return next match in input -next:function () { - if (this.done) { - return this.EOF; - } - if (!this._input) { - this.done = true; - } - - var token, - match, - tempMatch, - index; - if (!this._more) { - this.yytext = ''; - this.match = ''; - } - var rules = this._currentRules(); - for (var i = 0; i < rules.length; i++) { - tempMatch = this._input.match(this.rules[rules[i]]); - if (tempMatch && (!match || tempMatch[0].length > match[0].length)) { - match = tempMatch; - index = i; - if (this.options.backtrack_lexer) { - token = this.test_match(tempMatch, rules[i]); - if (token !== false) { - return token; - } else if (this._backtrack) { - match = false; - continue; // rule action called reject() implying a rule MISmatch. - } else { - // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) - return false; - } - } else if (!this.options.flex) { - break; - } - } - } - if (match) { - token = this.test_match(match, rules[index]); - if (token !== false) { - return token; - } - // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) - return false; - } - if (this._input === "") { - return this.EOF; - } else { - return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\n' + this.showPosition(), { - text: "", - token: null, - line: this.yylineno - }); - } - }, - -// return next match that has a token -lex:function lex () { - var r = this.next(); - if (r) { - return r; - } else { - return this.lex(); - } - }, - -// activates a new lexer condition state (pushes the new lexer condition state onto the condition stack) -begin:function begin (condition) { - this.conditionStack.push(condition); - }, - -// pop the previously active lexer condition state off the condition stack -popState:function popState () { - var n = this.conditionStack.length - 1; - if (n > 0) { - return this.conditionStack.pop(); - } else { - return this.conditionStack[0]; - } - }, - -// produce the lexer rule set which is active for the currently active lexer condition state -_currentRules:function _currentRules () { - if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) { - return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules; - } else { - return this.conditions["INITIAL"].rules; - } - }, - -// return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available -topState:function topState (n) { - n = this.conditionStack.length - 1 - Math.abs(n || 0); - if (n >= 0) { - return this.conditionStack[n]; - } else { - return "INITIAL"; - } - }, - -// alias for begin(condition) -pushState:function pushState (condition) { - this.begin(condition); - }, - -// return the number of states currently on the stack -stateStackSize:function stateStackSize() { - return this.conditionStack.length; - }, -options: {"case-insensitive":true}, -performAction: function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) { -var YYSTATE=YY_START; -switch($avoiding_name_collisions) { -case 0: this.begin('open_directive'); return 40; -break; -case 1: this.begin('type_directive'); return 41; -break; -case 2: this.popState(); this.begin('arg_directive'); return 15; -break; -case 3: this.popState(); this.popState(); return 43; -break; -case 4:return 42; -break; -case 5:/* skip comments */ -break; -case 6:/* skip comments */ -break; -case 7:return 11; -break; -case 8:/* skip whitespace */ -break; -case 9:return 9; -break; -case 10:return 39; -break; -case 11:return 4; -break; -case 12: this.begin("block"); return 20; -break; -case 13:/* skip whitespace in block */ -break; -case 14:return 30 -break; -case 15:return 29 -break; -case 16:return 28; -break; -case 17:/* nothing */ -break; -case 18: this.popState(); return 22; -break; -case 19:return yy_.yytext[0]; -break; -case 20:return 33; -break; -case 21:return 34; -break; -case 22:return 35; -break; -case 23:return 36; -break; -case 24:return 33; -break; -case 25:return 34; -break; -case 26:return 35; -break; -case 27:return 37; -break; -case 28:return 38; -break; -case 29:return 37; -break; -case 30:return 37; -break; -case 31:return 23; -break; -case 32:return yy_.yytext[0]; -break; -case 33:return 6; -break; -} -}, -rules: [/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:[\s]+)/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:\s+)/i,/^(?:(?:PK)|(?:FK))/i,/^(?:[A-Za-z][A-Za-z0-9\-_]*)/i,/^(?:"[^"]*")/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:\|o\b)/i,/^(?:\}o\b)/i,/^(?:\}\|)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:[A-Za-z][A-Za-z0-9\-_]*)/i,/^(?:.)/i,/^(?:$)/i], -conditions: {"open_directive":{"rules":[1],"inclusive":false},"type_directive":{"rules":[2,3],"inclusive":false},"arg_directive":{"rules":[3,4],"inclusive":false},"block":{"rules":[13,14,15,16,17,18,19],"inclusive":false},"INITIAL":{"rules":[0,5,6,7,8,9,10,11,12,20,21,22,23,24,25,26,27,28,29,30,31,32,33],"inclusive":true}} -}); -return lexer; -})(); -parser.lexer = lexer; -function Parser () { - this.yy = {}; -} -Parser.prototype = parser;parser.Parser = Parser; -return new Parser; -})(); - - -if (true) { -exports.parser = parser; -exports.Parser = parser.Parser; -exports.parse = function () { return parser.parse.apply(parser, arguments); }; -exports.main = function commonjsMain (args) { - if (!args[1]) { - console.log('Usage: '+args[0]+' FILE'); - process.exit(1); - } - var source = __webpack_require__(/*! fs */ "./node_modules/node-libs-browser/mock/empty.js").readFileSync(__webpack_require__(/*! path */ "./node_modules/path-browserify/index.js").normalize(args[1]), "utf8"); - return exports.parser.parse(source); -}; -if ( true && __webpack_require__.c[__webpack_require__.s] === module) { - exports.main(process.argv.slice(1)); -} -} -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../../node_modules/process/browser.js */ "./node_modules/process/browser.js"), __webpack_require__(/*! ./../../../../node_modules/webpack/buildin/module.js */ "./node_modules/webpack/buildin/module.js")(module))) - -/***/ }), - /***/ "./src/diagrams/er/styles.js": /*!***********************************!*\ !*** ./src/diagrams/er/styles.js ***! \***********************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); var getStyles = function getStyles(options) { return "\n .entityBox {\n fill: ".concat(options.mainBkg, ";\n stroke: ").concat(options.nodeBorder, ";\n }\n\n .attributeBoxOdd {\n fill: #ffffff;\n stroke: ").concat(options.nodeBorder, ";\n }\n\n .attributeBoxEven {\n fill: #f2f2f2;\n stroke: ").concat(options.nodeBorder, ";\n }\n\n .relationshipLabelBox {\n fill: ").concat(options.tertiaryColor, ";\n opacity: 0.7;\n background-color: ").concat(options.tertiaryColor, ";\n rect {\n opacity: 0.5;\n }\n }\n\n .relationshipLine {\n stroke: ").concat(options.lineColor, ";\n }\n"); }; -/* harmony default export */ __webpack_exports__["default"] = (getStyles); +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (getStyles); /***/ }), @@ -8894,13 +15336,15 @@ var getStyles = function getStyles(options) { /*!***************************************************!*\ !*** ./src/diagrams/flowchart/flowChartShapes.js ***! \***************************************************/ -/*! exports provided: addToRender, addToRenderV2, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "addToRender", function() { return addToRender; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "addToRenderV2", function() { return addToRenderV2; }); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "addToRender": () => (/* binding */ addToRender), +/* harmony export */ "addToRenderV2": () => (/* binding */ addToRenderV2), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); /* harmony import */ var dagre_d3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dagre-d3 */ "dagre-d3"); /* harmony import */ var dagre_d3__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(dagre_d3__WEBPACK_IMPORTED_MODULE_0__); @@ -8925,7 +15369,7 @@ function question(parent, bbox, node) { var shapeSvg = insertPolygonShape(parent, s, s, points); node.intersect = function (point) { - return dagre_d3__WEBPACK_IMPORTED_MODULE_0___default.a.intersect.polygon(node, points, point); + return dagre_d3__WEBPACK_IMPORTED_MODULE_0___default().intersect.polygon(node, points, point); }; return shapeSvg; @@ -8958,7 +15402,7 @@ function hexagon(parent, bbox, node) { var shapeSvg = insertPolygonShape(parent, w, h, points); node.intersect = function (point) { - return dagre_d3__WEBPACK_IMPORTED_MODULE_0___default.a.intersect.polygon(node, points, point); + return dagre_d3__WEBPACK_IMPORTED_MODULE_0___default().intersect.polygon(node, points, point); }; return shapeSvg; @@ -8986,7 +15430,7 @@ function rect_left_inv_arrow(parent, bbox, node) { var shapeSvg = insertPolygonShape(parent, w, h, points); node.intersect = function (point) { - return dagre_d3__WEBPACK_IMPORTED_MODULE_0___default.a.intersect.polygon(node, points, point); + return dagre_d3__WEBPACK_IMPORTED_MODULE_0___default().intersect.polygon(node, points, point); }; return shapeSvg; @@ -9011,7 +15455,7 @@ function lean_right(parent, bbox, node) { var shapeSvg = insertPolygonShape(parent, w, h, points); node.intersect = function (point) { - return dagre_d3__WEBPACK_IMPORTED_MODULE_0___default.a.intersect.polygon(node, points, point); + return dagre_d3__WEBPACK_IMPORTED_MODULE_0___default().intersect.polygon(node, points, point); }; return shapeSvg; @@ -9036,7 +15480,7 @@ function lean_left(parent, bbox, node) { var shapeSvg = insertPolygonShape(parent, w, h, points); node.intersect = function (point) { - return dagre_d3__WEBPACK_IMPORTED_MODULE_0___default.a.intersect.polygon(node, points, point); + return dagre_d3__WEBPACK_IMPORTED_MODULE_0___default().intersect.polygon(node, points, point); }; return shapeSvg; @@ -9061,7 +15505,7 @@ function trapezoid(parent, bbox, node) { var shapeSvg = insertPolygonShape(parent, w, h, points); node.intersect = function (point) { - return dagre_d3__WEBPACK_IMPORTED_MODULE_0___default.a.intersect.polygon(node, points, point); + return dagre_d3__WEBPACK_IMPORTED_MODULE_0___default().intersect.polygon(node, points, point); }; return shapeSvg; @@ -9086,7 +15530,7 @@ function inv_trapezoid(parent, bbox, node) { var shapeSvg = insertPolygonShape(parent, w, h, points); node.intersect = function (point) { - return dagre_d3__WEBPACK_IMPORTED_MODULE_0___default.a.intersect.polygon(node, points, point); + return dagre_d3__WEBPACK_IMPORTED_MODULE_0___default().intersect.polygon(node, points, point); }; return shapeSvg; @@ -9114,7 +15558,7 @@ function rect_right_inv_arrow(parent, bbox, node) { var shapeSvg = insertPolygonShape(parent, w, h, points); node.intersect = function (point) { - return dagre_d3__WEBPACK_IMPORTED_MODULE_0___default.a.intersect.polygon(node, points, point); + return dagre_d3__WEBPACK_IMPORTED_MODULE_0___default().intersect.polygon(node, points, point); }; return shapeSvg; @@ -9126,7 +15570,7 @@ function stadium(parent, bbox, node) { var shapeSvg = parent.insert('rect', ':first-child').attr('rx', h / 2).attr('ry', h / 2).attr('x', -w / 2).attr('y', -h / 2).attr('width', w).attr('height', h); node.intersect = function (point) { - return dagre_d3__WEBPACK_IMPORTED_MODULE_0___default.a.intersect.rect(node, point); + return dagre_d3__WEBPACK_IMPORTED_MODULE_0___default().intersect.rect(node, point); }; return shapeSvg; @@ -9169,7 +15613,7 @@ function subroutine(parent, bbox, node) { var shapeSvg = insertPolygonShape(parent, w, h, points); node.intersect = function (point) { - return dagre_d3__WEBPACK_IMPORTED_MODULE_0___default.a.intersect.polygon(node, points, point); + return dagre_d3__WEBPACK_IMPORTED_MODULE_0___default().intersect.polygon(node, points, point); }; return shapeSvg; @@ -9184,7 +15628,7 @@ function cylinder(parent, bbox, node) { var shapeSvg = parent.attr('label-offset-y', ry).insert('path', ':first-child').attr('d', shape).attr('transform', 'translate(' + -w / 2 + ',' + -(h / 2 + ry) + ')'); node.intersect = function (point) { - var pos = dagre_d3__WEBPACK_IMPORTED_MODULE_0___default.a.intersect.rect(node, point); + var pos = dagre_d3__WEBPACK_IMPORTED_MODULE_0___default().intersect.rect(node, point); var x = pos.x - node.x; if (rx != 0 && (Math.abs(x) < node.width / 2 || Math.abs(x) == node.width / 2 && Math.abs(pos.y - node.y) > node.height / 2 - ry)) { @@ -9270,7 +15714,7 @@ function insertPolygonShape(parent, w, h, points) { }).join(' ')).attr('transform', 'translate(' + -w / 2 + ',' + h / 2 + ')'); } -/* harmony default export */ __webpack_exports__["default"] = ({ +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ addToRender: addToRender, addToRenderV2: addToRenderV2 }); @@ -9281,43 +15725,45 @@ function insertPolygonShape(parent, w, h, points) { /*!******************************************!*\ !*** ./src/diagrams/flowchart/flowDb.js ***! \******************************************/ -/*! exports provided: parseDirective, lookUpDomId, addVertex, addSingleLink, addLink, updateLinkInterpolate, updateLink, addClass, setDirection, setClass, setLink, getTooltip, setClickEvent, bindFunctions, getDirection, getVertices, getEdges, getClasses, clear, setGen, defaultStyle, addSubGraph, getDepthFirstPos, indexNodes, getSubGraphs, firstGraph, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "parseDirective", function() { return parseDirective; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "lookUpDomId", function() { return lookUpDomId; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "addVertex", function() { return addVertex; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "addSingleLink", function() { return addSingleLink; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "addLink", function() { return addLink; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "updateLinkInterpolate", function() { return updateLinkInterpolate; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "updateLink", function() { return updateLink; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "addClass", function() { return addClass; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setDirection", function() { return setDirection; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setClass", function() { return setClass; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setLink", function() { return setLink; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getTooltip", function() { return getTooltip; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setClickEvent", function() { return setClickEvent; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "bindFunctions", function() { return bindFunctions; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getDirection", function() { return getDirection; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getVertices", function() { return getVertices; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getEdges", function() { return getEdges; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getClasses", function() { return getClasses; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "clear", function() { return clear; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setGen", function() { return setGen; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "defaultStyle", function() { return defaultStyle; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "addSubGraph", function() { return addSubGraph; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getDepthFirstPos", function() { return getDepthFirstPos; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "indexNodes", function() { return indexNodes; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getSubGraphs", function() { return getSubGraphs; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "firstGraph", function() { return firstGraph; }); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "parseDirective": () => (/* binding */ parseDirective), +/* harmony export */ "lookUpDomId": () => (/* binding */ lookUpDomId), +/* harmony export */ "addVertex": () => (/* binding */ addVertex), +/* harmony export */ "addSingleLink": () => (/* binding */ addSingleLink), +/* harmony export */ "addLink": () => (/* binding */ addLink), +/* harmony export */ "updateLinkInterpolate": () => (/* binding */ updateLinkInterpolate), +/* harmony export */ "updateLink": () => (/* binding */ updateLink), +/* harmony export */ "addClass": () => (/* binding */ addClass), +/* harmony export */ "setDirection": () => (/* binding */ setDirection), +/* harmony export */ "setClass": () => (/* binding */ setClass), +/* harmony export */ "setLink": () => (/* binding */ setLink), +/* harmony export */ "getTooltip": () => (/* binding */ getTooltip), +/* harmony export */ "setClickEvent": () => (/* binding */ setClickEvent), +/* harmony export */ "bindFunctions": () => (/* binding */ bindFunctions), +/* harmony export */ "getDirection": () => (/* binding */ getDirection), +/* harmony export */ "getVertices": () => (/* binding */ getVertices), +/* harmony export */ "getEdges": () => (/* binding */ getEdges), +/* harmony export */ "getClasses": () => (/* binding */ getClasses), +/* harmony export */ "clear": () => (/* binding */ clear), +/* harmony export */ "setGen": () => (/* binding */ setGen), +/* harmony export */ "defaultStyle": () => (/* binding */ defaultStyle), +/* harmony export */ "addSubGraph": () => (/* binding */ addSubGraph), +/* harmony export */ "getDepthFirstPos": () => (/* binding */ getDepthFirstPos), +/* harmony export */ "indexNodes": () => (/* binding */ indexNodes), +/* harmony export */ "getSubGraphs": () => (/* binding */ getSubGraphs), +/* harmony export */ "firstGraph": () => (/* binding */ firstGraph), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); /* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3 */ "d3"); /* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(d3__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils */ "./src/utils.js"); -/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../config */ "./src/config.js"); +/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils */ "./src/utils.js"); +/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../config */ "./src/config.js"); /* harmony import */ var _common_common__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../common/common */ "./src/diagrams/common/common.js"); -/* harmony import */ var _mermaidAPI__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../mermaidAPI */ "./src/mermaidAPI.js"); +/* harmony import */ var _mermaidAPI__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../mermaidAPI */ "./src/mermaidAPI.js"); /* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../logger */ "./src/logger.js"); function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } @@ -9341,7 +15787,7 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len var MERMAID_DOM_ID_PREFIX = 'flowchart-'; var vertexCounter = 0; -var config = _config__WEBPACK_IMPORTED_MODULE_2__["getConfig"](); +var config = _config__WEBPACK_IMPORTED_MODULE_1__.getConfig(); var vertices = {}; var edges = []; var classes = []; @@ -9356,7 +15802,7 @@ var version; // As in graph var funs = []; var parseDirective = function parseDirective(statement, context, type) { - _mermaidAPI__WEBPACK_IMPORTED_MODULE_4__["default"].parseDirective(this, statement, context, type); + _mermaidAPI__WEBPACK_IMPORTED_MODULE_2__["default"].parseDirective(this, statement, context, type); }; /** * Function to lookup domId from id in the graph definition. @@ -9409,7 +15855,7 @@ var addVertex = function addVertex(_id, text, type, style, classes, dir) { vertexCounter++; if (typeof text !== 'undefined') { - config = _config__WEBPACK_IMPORTED_MODULE_2__["getConfig"](); + config = _config__WEBPACK_IMPORTED_MODULE_1__.getConfig(); txt = _common_common__WEBPACK_IMPORTED_MODULE_3__["default"].sanitizeText(text.trim(), config); // strip quotes if string starts and ends with a quote if (txt[0] === '"' && txt[txt.length - 1] === '"') { @@ -9520,7 +15966,7 @@ var updateLink = function updateLink(positions, style) { if (pos === 'default') { edges.defaultStyle = style; } else { - if (_utils__WEBPACK_IMPORTED_MODULE_1__["default"].isSubstringInArray('fill', style) === -1) { + if (_utils__WEBPACK_IMPORTED_MODULE_4__["default"].isSubstringInArray('fill', style) === -1) { style.push('fill:none'); } @@ -9607,7 +16053,7 @@ var setTooltip = function setTooltip(ids, tooltip) { var setClickFun = function setClickFun(id, functionName, functionArgs) { var domId = lookUpDomId(id); // if (_id[0].match(/\d/)) id = MERMAID_DOM_ID_PREFIX + id; - if (_config__WEBPACK_IMPORTED_MODULE_2__["getConfig"]().securityLevel !== 'loose') { + if (_config__WEBPACK_IMPORTED_MODULE_1__.getConfig().securityLevel !== 'loose') { return; } @@ -9648,7 +16094,7 @@ var setClickFun = function setClickFun(id, functionName, functionArgs) { if (elem !== null) { elem.addEventListener('click', function () { - _utils__WEBPACK_IMPORTED_MODULE_1__["default"].runFunc.apply(_utils__WEBPACK_IMPORTED_MODULE_1__["default"], [functionName].concat(_toConsumableArray(argList))); + _utils__WEBPACK_IMPORTED_MODULE_4__["default"].runFunc.apply(_utils__WEBPACK_IMPORTED_MODULE_4__["default"], [functionName].concat(_toConsumableArray(argList))); }, false); } }); @@ -9664,7 +16110,7 @@ var setClickFun = function setClickFun(id, functionName, functionArgs) { var setLink = function setLink(ids, linkStr, target) { ids.split(',').forEach(function (id) { if (typeof vertices[id] !== 'undefined') { - vertices[id].link = _utils__WEBPACK_IMPORTED_MODULE_1__["default"].formatUrl(linkStr, config); + vertices[id].link = _utils__WEBPACK_IMPORTED_MODULE_4__["default"].formatUrl(linkStr, config); vertices[id].linkTarget = target; } }); @@ -9720,16 +16166,16 @@ var getClasses = function getClasses() { }; var setupToolTips = function setupToolTips(element) { - var tooltipElem = Object(d3__WEBPACK_IMPORTED_MODULE_0__["select"])('.mermaidTooltip'); + var tooltipElem = (0,d3__WEBPACK_IMPORTED_MODULE_0__.select)('.mermaidTooltip'); if ((tooltipElem._groups || tooltipElem)[0][0] === null) { - tooltipElem = Object(d3__WEBPACK_IMPORTED_MODULE_0__["select"])('body').append('div').attr('class', 'mermaidTooltip').style('opacity', 0); + tooltipElem = (0,d3__WEBPACK_IMPORTED_MODULE_0__.select)('body').append('div').attr('class', 'mermaidTooltip').style('opacity', 0); } - var svg = Object(d3__WEBPACK_IMPORTED_MODULE_0__["select"])(element).select('svg'); + var svg = (0,d3__WEBPACK_IMPORTED_MODULE_0__.select)(element).select('svg'); var nodes = svg.selectAll('g.node'); nodes.on('mouseover', function () { - var el = Object(d3__WEBPACK_IMPORTED_MODULE_0__["select"])(this); + var el = (0,d3__WEBPACK_IMPORTED_MODULE_0__.select)(this); var title = el.attr('title'); // Dont try to draw a tooltip if no data is provided if (title === null) { @@ -9742,7 +16188,7 @@ var setupToolTips = function setupToolTips(element) { el.classed('hover', true); }).on('mouseout', function () { tooltipElem.transition().duration(500).style('opacity', 0); - var el = Object(d3__WEBPACK_IMPORTED_MODULE_0__["select"])(this); + var el = (0,d3__WEBPACK_IMPORTED_MODULE_0__.select)(this); el.classed('hover', false); }); }; @@ -9832,7 +16278,7 @@ var addSubGraph = function addSubGraph(_id, list, _title) { nodeList = nl; if (version === 'gen-1') { - _logger__WEBPACK_IMPORTED_MODULE_5__["log"].warn('LOOKING UP'); + _logger__WEBPACK_IMPORTED_MODULE_5__.log.warn('LOOKING UP'); for (var i = 0; i < nodeList.length; i++) { nodeList[i] = lookUpDomId(nodeList[i]); @@ -9851,7 +16297,7 @@ var addSubGraph = function addSubGraph(_id, list, _title) { classes: [], dir: dir }; - _logger__WEBPACK_IMPORTED_MODULE_5__["log"].info('Adding', subGraph.id, subGraph.nodes, subGraph.dir); + _logger__WEBPACK_IMPORTED_MODULE_5__.log.info('Adding', subGraph.id, subGraph.nodes, subGraph.dir); /** * Deletes an id from all subgraphs */ @@ -10129,10 +16575,10 @@ var makeUniq = function makeUniq(sg, allSubgraphs) { }; }; -/* harmony default export */ __webpack_exports__["default"] = ({ +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ parseDirective: parseDirective, defaultConfig: function defaultConfig() { - return _config__WEBPACK_IMPORTED_MODULE_2__["defaultConfig"].flowchart; + return _config__WEBPACK_IMPORTED_MODULE_1__.defaultConfig.flowchart; }, addVertex: addVertex, lookUpDomId: lookUpDomId, @@ -10172,30 +16618,32 @@ var makeUniq = function makeUniq(sg, allSubgraphs) { /*!***************************************************!*\ !*** ./src/diagrams/flowchart/flowRenderer-v2.js ***! \***************************************************/ -/*! exports provided: setConf, addVertices, addEdges, getClasses, draw, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setConf", function() { return setConf; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "addVertices", function() { return addVertices; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "addEdges", function() { return addEdges; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getClasses", function() { return getClasses; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "draw", function() { return draw; }); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "setConf": () => (/* binding */ setConf), +/* harmony export */ "addVertices": () => (/* binding */ addVertices), +/* harmony export */ "addEdges": () => (/* binding */ addEdges), +/* harmony export */ "getClasses": () => (/* binding */ getClasses), +/* harmony export */ "draw": () => (/* binding */ draw), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); /* harmony import */ var graphlib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! graphlib */ "graphlib"); /* harmony import */ var graphlib__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(graphlib__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! d3 */ "d3"); /* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(d3__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var _flowDb__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./flowDb */ "./src/diagrams/flowchart/flowDb.js"); -/* harmony import */ var _parser_flow__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./parser/flow */ "./src/diagrams/flowchart/parser/flow.jison"); -/* harmony import */ var _parser_flow__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_parser_flow__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../config */ "./src/config.js"); -/* harmony import */ var _dagre_wrapper_index_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../dagre-wrapper/index.js */ "./src/dagre-wrapper/index.js"); -/* harmony import */ var dagre_d3_lib_label_add_html_label_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! dagre-d3/lib/label/add-html-label.js */ "dagre-d3/lib/label/add-html-label.js"); -/* harmony import */ var dagre_d3_lib_label_add_html_label_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(dagre_d3_lib_label_add_html_label_js__WEBPACK_IMPORTED_MODULE_6__); +/* harmony import */ var _flowDb__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./flowDb */ "./src/diagrams/flowchart/flowDb.js"); +/* harmony import */ var _parser_flow__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./parser/flow */ "./src/diagrams/flowchart/parser/flow.jison"); +/* harmony import */ var _parser_flow__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_parser_flow__WEBPACK_IMPORTED_MODULE_8__); +/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../config */ "./src/config.js"); +/* harmony import */ var _dagre_wrapper_index_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../dagre-wrapper/index.js */ "./src/dagre-wrapper/index.js"); +/* harmony import */ var dagre_d3_lib_label_add_html_label_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! dagre-d3/lib/label/add-html-label.js */ "dagre-d3/lib/label/add-html-label.js"); +/* harmony import */ var dagre_d3_lib_label_add_html_label_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(dagre_d3_lib_label_add_html_label_js__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../logger */ "./src/logger.js"); -/* harmony import */ var _common_common__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../common/common */ "./src/diagrams/common/common.js"); -/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../utils */ "./src/utils.js"); +/* harmony import */ var _common_common__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../common/common */ "./src/diagrams/common/common.js"); +/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils */ "./src/utils.js"); @@ -10221,7 +16669,7 @@ var setConf = function setConf(cnf) { */ var addVertices = function addVertices(vert, g, svgId) { - var svg = Object(d3__WEBPACK_IMPORTED_MODULE_1__["select"])("[id=\"".concat(svgId, "\"]")); + var svg = (0,d3__WEBPACK_IMPORTED_MODULE_1__.select)("[id=\"".concat(svgId, "\"]")); var keys = Object.keys(vert); // Iterate through each item in the vertex object (containing all the vertices found) in the graph definition keys.forEach(function (id) { @@ -10237,25 +16685,25 @@ var addVertices = function addVertices(vert, g, svgId) { classStr = vertex.classes.join(' '); } - var styles = Object(_utils__WEBPACK_IMPORTED_MODULE_9__["getStylesFromArray"])(vertex.styles); // Use vertex id as text in the box if no text is provided by the graph definition + var styles = (0,_utils__WEBPACK_IMPORTED_MODULE_3__.getStylesFromArray)(vertex.styles); // Use vertex id as text in the box if no text is provided by the graph definition var vertexText = vertex.text !== undefined ? vertex.text : vertex.id; // We create a SVG label, either by delegating to addHtmlLabel or manually var vertexNode; - if (Object(_common_common__WEBPACK_IMPORTED_MODULE_8__["evaluate"])(Object(_config__WEBPACK_IMPORTED_MODULE_4__["getConfig"])().flowchart.htmlLabels)) { + if ((0,_common_common__WEBPACK_IMPORTED_MODULE_4__.evaluate)((0,_config__WEBPACK_IMPORTED_MODULE_5__.getConfig)().flowchart.htmlLabels)) { // TODO: addHtmlLabel accepts a labelStyle. Do we possibly have that? var node = { label: vertexText.replace(/fa[lrsb]?:fa-[\w-]+/g, function (s) { return ""); }) }; - vertexNode = dagre_d3_lib_label_add_html_label_js__WEBPACK_IMPORTED_MODULE_6___default()(svg, node).node(); + vertexNode = dagre_d3_lib_label_add_html_label_js__WEBPACK_IMPORTED_MODULE_2___default()(svg, node).node(); vertexNode.parentNode.removeChild(vertexNode); } else { var svgLabel = document.createElementNS('http://www.w3.org/2000/svg', 'text'); svgLabel.setAttribute('style', styles.labelStyle.replace('color:', 'fill:')); - var rows = vertexText.split(_common_common__WEBPACK_IMPORTED_MODULE_8__["default"].lineBreakRegex); + var rows = vertexText.split(_common_common__WEBPACK_IMPORTED_MODULE_4__["default"].lineBreakRegex); for (var j = 0; j < rows.length; j++) { var tspan = document.createElementNS('http://www.w3.org/2000/svg', 'tspan'); @@ -10354,15 +16802,15 @@ var addVertices = function addVertices(vert, g, svgId) { id: vertex.id, link: vertex.link, linkTarget: vertex.linkTarget, - tooltip: _flowDb__WEBPACK_IMPORTED_MODULE_2__["default"].getTooltip(vertex.id) || '', - domId: _flowDb__WEBPACK_IMPORTED_MODULE_2__["default"].lookUpDomId(vertex.id), + tooltip: _flowDb__WEBPACK_IMPORTED_MODULE_6__["default"].getTooltip(vertex.id) || '', + domId: _flowDb__WEBPACK_IMPORTED_MODULE_6__["default"].lookUpDomId(vertex.id), haveCallback: vertex.haveCallback, width: vertex.type === 'group' ? 500 : undefined, dir: vertex.dir, type: vertex.type, - padding: Object(_config__WEBPACK_IMPORTED_MODULE_4__["getConfig"])().flowchart.padding + padding: (0,_config__WEBPACK_IMPORTED_MODULE_5__.getConfig)().flowchart.padding }); - _logger__WEBPACK_IMPORTED_MODULE_7__["log"].info('setNode', { + _logger__WEBPACK_IMPORTED_MODULE_7__.log.info('setNode', { labelStyle: styles.labelStyle, shape: _shape, labelText: vertexText, @@ -10371,11 +16819,11 @@ var addVertices = function addVertices(vert, g, svgId) { class: classStr, style: styles.style, id: vertex.id, - domId: _flowDb__WEBPACK_IMPORTED_MODULE_2__["default"].lookUpDomId(vertex.id), + domId: _flowDb__WEBPACK_IMPORTED_MODULE_6__["default"].lookUpDomId(vertex.id), width: vertex.type === 'group' ? 500 : undefined, type: vertex.type, dir: vertex.dir, - padding: Object(_config__WEBPACK_IMPORTED_MODULE_4__["getConfig"])().flowchart.padding + padding: (0,_config__WEBPACK_IMPORTED_MODULE_5__.getConfig)().flowchart.padding }); }); }; @@ -10386,14 +16834,14 @@ var addVertices = function addVertices(vert, g, svgId) { */ var addEdges = function addEdges(edges, g) { - _logger__WEBPACK_IMPORTED_MODULE_7__["log"].info('abc78 edges = ', edges); + _logger__WEBPACK_IMPORTED_MODULE_7__.log.info('abc78 edges = ', edges); var cnt = 0; var linkIdCnt = {}; var defaultStyle; var defaultLabelStyle; if (typeof edges.defaultStyle !== 'undefined') { - var defaultStyles = Object(_utils__WEBPACK_IMPORTED_MODULE_9__["getStylesFromArray"])(edges.defaultStyle); + var defaultStyles = (0,_utils__WEBPACK_IMPORTED_MODULE_3__.getStylesFromArray)(edges.defaultStyle); defaultStyle = defaultStyles.style; defaultLabelStyle = defaultStyles.labelStyle; } @@ -10405,14 +16853,14 @@ var addEdges = function addEdges(edges, g) { if (typeof linkIdCnt[linkIdBase] === 'undefined') { linkIdCnt[linkIdBase] = 0; - _logger__WEBPACK_IMPORTED_MODULE_7__["log"].info('abc78 new entry', linkIdBase, linkIdCnt[linkIdBase]); + _logger__WEBPACK_IMPORTED_MODULE_7__.log.info('abc78 new entry', linkIdBase, linkIdCnt[linkIdBase]); } else { linkIdCnt[linkIdBase]++; - _logger__WEBPACK_IMPORTED_MODULE_7__["log"].info('abc78 new entry', linkIdBase, linkIdCnt[linkIdBase]); + _logger__WEBPACK_IMPORTED_MODULE_7__.log.info('abc78 new entry', linkIdBase, linkIdCnt[linkIdBase]); } var linkId = linkIdBase + '-' + linkIdCnt[linkIdBase]; - _logger__WEBPACK_IMPORTED_MODULE_7__["log"].info('abc78 new link id to be used is', linkIdBase, linkId, linkIdCnt[linkIdBase]); + _logger__WEBPACK_IMPORTED_MODULE_7__.log.info('abc78 new link id to be used is', linkIdBase, linkId, linkIdCnt[linkIdBase]); var linkNameStart = 'LS-' + edge.start; var linkNameEnd = 'LE-' + edge.end; var edgeData = { @@ -10489,7 +16937,7 @@ var addEdges = function addEdges(edges, g) { } if (typeof edge.style !== 'undefined') { - var styles = Object(_utils__WEBPACK_IMPORTED_MODULE_9__["getStylesFromArray"])(edge.style); + var styles = (0,_utils__WEBPACK_IMPORTED_MODULE_3__.getStylesFromArray)(edge.style); style = styles.style; labelStyle = styles.labelStyle; } @@ -10498,11 +16946,11 @@ var addEdges = function addEdges(edges, g) { edgeData.labelStyle = edgeData.labelStyle += labelStyle; if (typeof edge.interpolate !== 'undefined') { - edgeData.curve = Object(_utils__WEBPACK_IMPORTED_MODULE_9__["interpolateToCurve"])(edge.interpolate, d3__WEBPACK_IMPORTED_MODULE_1__["curveLinear"]); + edgeData.curve = (0,_utils__WEBPACK_IMPORTED_MODULE_3__.interpolateToCurve)(edge.interpolate, d3__WEBPACK_IMPORTED_MODULE_1__.curveLinear); } else if (typeof edges.defaultInterpolate !== 'undefined') { - edgeData.curve = Object(_utils__WEBPACK_IMPORTED_MODULE_9__["interpolateToCurve"])(edges.defaultInterpolate, d3__WEBPACK_IMPORTED_MODULE_1__["curveLinear"]); + edgeData.curve = (0,_utils__WEBPACK_IMPORTED_MODULE_3__.interpolateToCurve)(edges.defaultInterpolate, d3__WEBPACK_IMPORTED_MODULE_1__.curveLinear); } else { - edgeData.curve = Object(_utils__WEBPACK_IMPORTED_MODULE_9__["interpolateToCurve"])(conf.curve, d3__WEBPACK_IMPORTED_MODULE_1__["curveLinear"]); + edgeData.curve = (0,_utils__WEBPACK_IMPORTED_MODULE_3__.interpolateToCurve)(conf.curve, d3__WEBPACK_IMPORTED_MODULE_1__.curveLinear); } if (typeof edge.text === 'undefined') { @@ -10520,7 +16968,7 @@ var addEdges = function addEdges(edges, g) { edgeData.labelType = 'text'; - edgeData.label = edge.text.replace(_common_common__WEBPACK_IMPORTED_MODULE_8__["default"].lineBreakRegex, '\n'); + edgeData.label = edge.text.replace(_common_common__WEBPACK_IMPORTED_MODULE_4__["default"].lineBreakRegex, '\n'); if (typeof edge.style === 'undefined') { edgeData.style = edgeData.style || 'stroke: #333; stroke-width: 1.5px;fill:none;'; @@ -10540,10 +16988,10 @@ var addEdges = function addEdges(edges, g) { */ var getClasses = function getClasses(text) { - _logger__WEBPACK_IMPORTED_MODULE_7__["log"].info('Extracting classes'); - _flowDb__WEBPACK_IMPORTED_MODULE_2__["default"].clear(); - var parser = _parser_flow__WEBPACK_IMPORTED_MODULE_3___default.a.parser; - parser.yy = _flowDb__WEBPACK_IMPORTED_MODULE_2__["default"]; + _logger__WEBPACK_IMPORTED_MODULE_7__.log.info('Extracting classes'); + _flowDb__WEBPACK_IMPORTED_MODULE_6__["default"].clear(); + var parser = (_parser_flow__WEBPACK_IMPORTED_MODULE_8___default().parser); + parser.yy = _flowDb__WEBPACK_IMPORTED_MODULE_6__["default"]; try { // Parse the graph definition @@ -10552,7 +17000,7 @@ var getClasses = function getClasses(text) { return; } - return _flowDb__WEBPACK_IMPORTED_MODULE_2__["default"].getClasses(); + return _flowDb__WEBPACK_IMPORTED_MODULE_6__["default"].getClasses(); }; /** * Draws a flowchart in the tag with id: id based on the graph definition in text. @@ -10561,11 +17009,11 @@ var getClasses = function getClasses(text) { */ var draw = function draw(text, id) { - _logger__WEBPACK_IMPORTED_MODULE_7__["log"].info('Drawing flowchart'); - _flowDb__WEBPACK_IMPORTED_MODULE_2__["default"].clear(); - _flowDb__WEBPACK_IMPORTED_MODULE_2__["default"].setGen('gen-2'); - var parser = _parser_flow__WEBPACK_IMPORTED_MODULE_3___default.a.parser; - parser.yy = _flowDb__WEBPACK_IMPORTED_MODULE_2__["default"]; // Parse the graph definition + _logger__WEBPACK_IMPORTED_MODULE_7__.log.info('Drawing flowchart'); + _flowDb__WEBPACK_IMPORTED_MODULE_6__["default"].clear(); + _flowDb__WEBPACK_IMPORTED_MODULE_6__["default"].setGen('gen-2'); + var parser = (_parser_flow__WEBPACK_IMPORTED_MODULE_8___default().parser); + parser.yy = _flowDb__WEBPACK_IMPORTED_MODULE_6__["default"]; // Parse the graph definition // try { parser.parse(text); // } catch (err) { @@ -10573,17 +17021,17 @@ var draw = function draw(text, id) { // } // Fetch the default direction, use TD if none was found - var dir = _flowDb__WEBPACK_IMPORTED_MODULE_2__["default"].getDirection(); + var dir = _flowDb__WEBPACK_IMPORTED_MODULE_6__["default"].getDirection(); if (typeof dir === 'undefined') { dir = 'TD'; } - var conf = Object(_config__WEBPACK_IMPORTED_MODULE_4__["getConfig"])().flowchart; + var conf = (0,_config__WEBPACK_IMPORTED_MODULE_5__.getConfig)().flowchart; var nodeSpacing = conf.nodeSpacing || 50; var rankSpacing = conf.rankSpacing || 50; // Create the input mermaid.graph - var g = new graphlib__WEBPACK_IMPORTED_MODULE_0___default.a.Graph({ + var g = new (graphlib__WEBPACK_IMPORTED_MODULE_0___default().Graph)({ multigraph: true, compound: true }).setGraph({ @@ -10596,28 +17044,28 @@ var draw = function draw(text, id) { return {}; }); var subG; - var subGraphs = _flowDb__WEBPACK_IMPORTED_MODULE_2__["default"].getSubGraphs(); - _logger__WEBPACK_IMPORTED_MODULE_7__["log"].info('Subgraphs - ', subGraphs); + var subGraphs = _flowDb__WEBPACK_IMPORTED_MODULE_6__["default"].getSubGraphs(); + _logger__WEBPACK_IMPORTED_MODULE_7__.log.info('Subgraphs - ', subGraphs); for (var _i = subGraphs.length - 1; _i >= 0; _i--) { subG = subGraphs[_i]; - _logger__WEBPACK_IMPORTED_MODULE_7__["log"].info('Subgraph - ', subG); - _flowDb__WEBPACK_IMPORTED_MODULE_2__["default"].addVertex(subG.id, subG.title, 'group', undefined, subG.classes, subG.dir); + _logger__WEBPACK_IMPORTED_MODULE_7__.log.info('Subgraph - ', subG); + _flowDb__WEBPACK_IMPORTED_MODULE_6__["default"].addVertex(subG.id, subG.title, 'group', undefined, subG.classes, subG.dir); } // Fetch the verices/nodes and edges/links from the parsed graph definition - var vert = _flowDb__WEBPACK_IMPORTED_MODULE_2__["default"].getVertices(); - var edges = _flowDb__WEBPACK_IMPORTED_MODULE_2__["default"].getEdges(); - _logger__WEBPACK_IMPORTED_MODULE_7__["log"].info(edges); + var vert = _flowDb__WEBPACK_IMPORTED_MODULE_6__["default"].getVertices(); + var edges = _flowDb__WEBPACK_IMPORTED_MODULE_6__["default"].getEdges(); + _logger__WEBPACK_IMPORTED_MODULE_7__.log.info(edges); var i = 0; for (i = subGraphs.length - 1; i >= 0; i--) { // for (let i = 0; i < subGraphs.length; i++) { subG = subGraphs[i]; - Object(d3__WEBPACK_IMPORTED_MODULE_1__["selectAll"])('cluster').append('text'); + (0,d3__WEBPACK_IMPORTED_MODULE_1__.selectAll)('cluster').append('text'); for (var j = 0; j < subG.nodes.length; j++) { - _logger__WEBPACK_IMPORTED_MODULE_7__["log"].info('Setting up subgraphs', subG.nodes[j], subG.id); + _logger__WEBPACK_IMPORTED_MODULE_7__.log.info('Setting up subgraphs', subG.nodes[j], subG.id); g.setParent(subG.nodes[j], subG.id); } } @@ -10627,21 +17075,21 @@ var draw = function draw(text, id) { // flowChartShapes.addToRenderV2(addShape); // Set up an SVG group so that we can translate the final graph. - var svg = Object(d3__WEBPACK_IMPORTED_MODULE_1__["select"])("[id=\"".concat(id, "\"]")); + var svg = (0,d3__WEBPACK_IMPORTED_MODULE_1__.select)("[id=\"".concat(id, "\"]")); svg.attr('xmlns:xlink', 'http://www.w3.org/1999/xlink'); // Run the renderer. This is what draws the final graph. - var element = Object(d3__WEBPACK_IMPORTED_MODULE_1__["select"])('#' + id + ' g'); - Object(_dagre_wrapper_index_js__WEBPACK_IMPORTED_MODULE_5__["render"])(element, g, ['point', 'circle', 'cross'], 'flowchart', id); + var element = (0,d3__WEBPACK_IMPORTED_MODULE_1__.select)('#' + id + ' g'); + (0,_dagre_wrapper_index_js__WEBPACK_IMPORTED_MODULE_9__.render)(element, g, ['point', 'circle', 'cross'], 'flowchart', id); var padding = conf.diagramPadding; var svgBounds = svg.node().getBBox(); var width = svgBounds.width + padding * 2; var height = svgBounds.height + padding * 2; - _logger__WEBPACK_IMPORTED_MODULE_7__["log"].debug("new ViewBox 0 0 ".concat(width, " ").concat(height), "translate(".concat(padding - g._label.marginx, ", ").concat(padding - g._label.marginy, ")")); - Object(_utils__WEBPACK_IMPORTED_MODULE_9__["configureSvgSize"])(svg, height, width, conf.useMaxWidth); + _logger__WEBPACK_IMPORTED_MODULE_7__.log.debug("new ViewBox 0 0 ".concat(width, " ").concat(height), "translate(".concat(padding - g._label.marginx, ", ").concat(padding - g._label.marginy, ")")); + (0,_utils__WEBPACK_IMPORTED_MODULE_3__.configureSvgSize)(svg, height, width, conf.useMaxWidth); svg.attr('viewBox', "0 0 ".concat(width, " ").concat(height)); svg.select('g').attr('transform', "translate(".concat(padding - g._label.marginx, ", ").concat(padding - svgBounds.y, ")")); // Index nodes - _flowDb__WEBPACK_IMPORTED_MODULE_2__["default"].indexNodes('subGraph' + i); // Add label rects for non html labels + _flowDb__WEBPACK_IMPORTED_MODULE_6__["default"].indexNodes('subGraph' + i); // Add label rects for non html labels if (!conf.htmlLabels) { var labels = document.querySelectorAll('[id="' + id + '"] .edgeLabel .label'); @@ -10666,7 +17114,7 @@ var draw = function draw(text, id) { var vertex = vert[key]; if (vertex.link) { - var node = Object(d3__WEBPACK_IMPORTED_MODULE_1__["select"])('#' + id + ' [id="' + key + '"]'); + var node = (0,d3__WEBPACK_IMPORTED_MODULE_1__.select)('#' + id + ' [id="' + key + '"]'); if (node) { var link = document.createElementNS('http://www.w3.org/2000/svg', 'a'); @@ -10700,7 +17148,7 @@ var draw = function draw(text, id) { } }); }; -/* harmony default export */ __webpack_exports__["default"] = ({ +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ setConf: setConf, addVertices: addVertices, addEdges: addEdges, @@ -10714,31 +17162,33 @@ var draw = function draw(text, id) { /*!************************************************!*\ !*** ./src/diagrams/flowchart/flowRenderer.js ***! \************************************************/ -/*! exports provided: setConf, addVertices, addEdges, getClasses, draw, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setConf", function() { return setConf; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "addVertices", function() { return addVertices; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "addEdges", function() { return addEdges; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getClasses", function() { return getClasses; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "draw", function() { return draw; }); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "setConf": () => (/* binding */ setConf), +/* harmony export */ "addVertices": () => (/* binding */ addVertices), +/* harmony export */ "addEdges": () => (/* binding */ addEdges), +/* harmony export */ "getClasses": () => (/* binding */ getClasses), +/* harmony export */ "draw": () => (/* binding */ draw), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); /* harmony import */ var graphlib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! graphlib */ "graphlib"); /* harmony import */ var graphlib__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(graphlib__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! d3 */ "d3"); /* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(d3__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var _flowDb__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./flowDb */ "./src/diagrams/flowchart/flowDb.js"); -/* harmony import */ var _parser_flow__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./parser/flow */ "./src/diagrams/flowchart/parser/flow.jison"); -/* harmony import */ var _parser_flow__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_parser_flow__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../config */ "./src/config.js"); -/* harmony import */ var dagre_d3__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! dagre-d3 */ "dagre-d3"); -/* harmony import */ var dagre_d3__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(dagre_d3__WEBPACK_IMPORTED_MODULE_5__); -/* harmony import */ var dagre_d3_lib_label_add_html_label_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! dagre-d3/lib/label/add-html-label.js */ "dagre-d3/lib/label/add-html-label.js"); -/* harmony import */ var dagre_d3_lib_label_add_html_label_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(dagre_d3_lib_label_add_html_label_js__WEBPACK_IMPORTED_MODULE_6__); +/* harmony import */ var _flowDb__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./flowDb */ "./src/diagrams/flowchart/flowDb.js"); +/* harmony import */ var _parser_flow__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./parser/flow */ "./src/diagrams/flowchart/parser/flow.jison"); +/* harmony import */ var _parser_flow__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_parser_flow__WEBPACK_IMPORTED_MODULE_9__); +/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../config */ "./src/config.js"); +/* harmony import */ var dagre_d3__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! dagre-d3 */ "dagre-d3"); +/* harmony import */ var dagre_d3__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(dagre_d3__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var dagre_d3_lib_label_add_html_label_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! dagre-d3/lib/label/add-html-label.js */ "dagre-d3/lib/label/add-html-label.js"); +/* harmony import */ var dagre_d3_lib_label_add_html_label_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(dagre_d3_lib_label_add_html_label_js__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../logger */ "./src/logger.js"); -/* harmony import */ var _common_common__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../common/common */ "./src/diagrams/common/common.js"); -/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../utils */ "./src/utils.js"); +/* harmony import */ var _common_common__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../common/common */ "./src/diagrams/common/common.js"); +/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils */ "./src/utils.js"); /* harmony import */ var _flowChartShapes__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./flowChartShapes */ "./src/diagrams/flowchart/flowChartShapes.js"); @@ -10766,7 +17216,7 @@ var setConf = function setConf(cnf) { */ var addVertices = function addVertices(vert, g, svgId) { - var svg = Object(d3__WEBPACK_IMPORTED_MODULE_1__["select"])("[id=\"".concat(svgId, "\"]")); + var svg = (0,d3__WEBPACK_IMPORTED_MODULE_1__.select)("[id=\"".concat(svgId, "\"]")); var keys = Object.keys(vert); // Iterate through each item in the vertex object (containing all the vertices found) in the graph definition keys.forEach(function (id) { @@ -10782,25 +17232,25 @@ var addVertices = function addVertices(vert, g, svgId) { classStr = vertex.classes.join(' '); } - var styles = Object(_utils__WEBPACK_IMPORTED_MODULE_9__["getStylesFromArray"])(vertex.styles); // Use vertex id as text in the box if no text is provided by the graph definition + var styles = (0,_utils__WEBPACK_IMPORTED_MODULE_4__.getStylesFromArray)(vertex.styles); // Use vertex id as text in the box if no text is provided by the graph definition var vertexText = vertex.text !== undefined ? vertex.text : vertex.id; // We create a SVG label, either by delegating to addHtmlLabel or manually var vertexNode; - if (Object(_common_common__WEBPACK_IMPORTED_MODULE_8__["evaluate"])(Object(_config__WEBPACK_IMPORTED_MODULE_4__["getConfig"])().flowchart.htmlLabels)) { + if ((0,_common_common__WEBPACK_IMPORTED_MODULE_5__.evaluate)((0,_config__WEBPACK_IMPORTED_MODULE_6__.getConfig)().flowchart.htmlLabels)) { // TODO: addHtmlLabel accepts a labelStyle. Do we possibly have that? var node = { label: vertexText.replace(/fa[lrsb]?:fa-[\w-]+/g, function (s) { return ""); }) }; - vertexNode = dagre_d3_lib_label_add_html_label_js__WEBPACK_IMPORTED_MODULE_6___default()(svg, node).node(); + vertexNode = dagre_d3_lib_label_add_html_label_js__WEBPACK_IMPORTED_MODULE_3___default()(svg, node).node(); vertexNode.parentNode.removeChild(vertexNode); } else { var svgLabel = document.createElementNS('http://www.w3.org/2000/svg', 'text'); svgLabel.setAttribute('style', styles.labelStyle.replace('color:', 'fill:')); - var rows = vertexText.split(_common_common__WEBPACK_IMPORTED_MODULE_8__["default"].lineBreakRegex); + var rows = vertexText.split(_common_common__WEBPACK_IMPORTED_MODULE_5__["default"].lineBreakRegex); for (var j = 0; j < rows.length; j++) { var tspan = document.createElementNS('http://www.w3.org/2000/svg', 'tspan'); @@ -10888,8 +17338,8 @@ var addVertices = function addVertices(vert, g, svgId) { } // Add the node - _logger__WEBPACK_IMPORTED_MODULE_7__["log"].warn('Adding node', vertex.id, vertex.domId); - g.setNode(_flowDb__WEBPACK_IMPORTED_MODULE_2__["default"].lookUpDomId(vertex.id), { + _logger__WEBPACK_IMPORTED_MODULE_7__.log.warn('Adding node', vertex.id, vertex.domId); + g.setNode(_flowDb__WEBPACK_IMPORTED_MODULE_8__["default"].lookUpDomId(vertex.id), { labelType: 'svg', labelStyle: styles.labelStyle, shape: _shape, @@ -10898,7 +17348,7 @@ var addVertices = function addVertices(vert, g, svgId) { ry: radious, class: classStr, style: styles.style, - id: _flowDb__WEBPACK_IMPORTED_MODULE_2__["default"].lookUpDomId(vertex.id) + id: _flowDb__WEBPACK_IMPORTED_MODULE_8__["default"].lookUpDomId(vertex.id) }); }); }; @@ -10914,7 +17364,7 @@ var addEdges = function addEdges(edges, g) { var defaultLabelStyle; if (typeof edges.defaultStyle !== 'undefined') { - var defaultStyles = Object(_utils__WEBPACK_IMPORTED_MODULE_9__["getStylesFromArray"])(edges.defaultStyle); + var defaultStyles = (0,_utils__WEBPACK_IMPORTED_MODULE_4__.getStylesFromArray)(edges.defaultStyle); defaultStyle = defaultStyles.style; defaultLabelStyle = defaultStyles.labelStyle; } @@ -10937,7 +17387,7 @@ var addEdges = function addEdges(edges, g) { var labelStyle = ''; if (typeof edge.style !== 'undefined') { - var styles = Object(_utils__WEBPACK_IMPORTED_MODULE_9__["getStylesFromArray"])(edge.style); + var styles = (0,_utils__WEBPACK_IMPORTED_MODULE_4__.getStylesFromArray)(edge.style); style = styles.style; labelStyle = styles.labelStyle; } else { @@ -10969,11 +17419,11 @@ var addEdges = function addEdges(edges, g) { edgeData.labelStyle = labelStyle; if (typeof edge.interpolate !== 'undefined') { - edgeData.curve = Object(_utils__WEBPACK_IMPORTED_MODULE_9__["interpolateToCurve"])(edge.interpolate, d3__WEBPACK_IMPORTED_MODULE_1__["curveLinear"]); + edgeData.curve = (0,_utils__WEBPACK_IMPORTED_MODULE_4__.interpolateToCurve)(edge.interpolate, d3__WEBPACK_IMPORTED_MODULE_1__.curveLinear); } else if (typeof edges.defaultInterpolate !== 'undefined') { - edgeData.curve = Object(_utils__WEBPACK_IMPORTED_MODULE_9__["interpolateToCurve"])(edges.defaultInterpolate, d3__WEBPACK_IMPORTED_MODULE_1__["curveLinear"]); + edgeData.curve = (0,_utils__WEBPACK_IMPORTED_MODULE_4__.interpolateToCurve)(edges.defaultInterpolate, d3__WEBPACK_IMPORTED_MODULE_1__.curveLinear); } else { - edgeData.curve = Object(_utils__WEBPACK_IMPORTED_MODULE_9__["interpolateToCurve"])(conf.curve, d3__WEBPACK_IMPORTED_MODULE_1__["curveLinear"]); + edgeData.curve = (0,_utils__WEBPACK_IMPORTED_MODULE_4__.interpolateToCurve)(conf.curve, d3__WEBPACK_IMPORTED_MODULE_1__.curveLinear); } if (typeof edge.text === 'undefined') { @@ -10984,14 +17434,14 @@ var addEdges = function addEdges(edges, g) { edgeData.arrowheadStyle = 'fill: #333'; edgeData.labelpos = 'c'; - if (Object(_common_common__WEBPACK_IMPORTED_MODULE_8__["evaluate"])(Object(_config__WEBPACK_IMPORTED_MODULE_4__["getConfig"])().flowchart.htmlLabels)) { + if ((0,_common_common__WEBPACK_IMPORTED_MODULE_5__.evaluate)((0,_config__WEBPACK_IMPORTED_MODULE_6__.getConfig)().flowchart.htmlLabels)) { edgeData.labelType = 'html'; edgeData.label = "").concat(edge.text.replace(/fa[lrsb]?:fa-[\w-]+/g, function (s) { return ""); }), ""); } else { edgeData.labelType = 'text'; - edgeData.label = edge.text.replace(_common_common__WEBPACK_IMPORTED_MODULE_8__["default"].lineBreakRegex, '\n'); + edgeData.label = edge.text.replace(_common_common__WEBPACK_IMPORTED_MODULE_5__["default"].lineBreakRegex, '\n'); if (typeof edge.style === 'undefined') { edgeData.style = edgeData.style || 'stroke: #333; stroke-width: 1.5px;fill:none'; @@ -11005,7 +17455,7 @@ var addEdges = function addEdges(edges, g) { edgeData.class = linkNameStart + ' ' + linkNameEnd; edgeData.minlen = edge.length || 1; // Add the edge to the graph - g.setEdge(_flowDb__WEBPACK_IMPORTED_MODULE_2__["default"].lookUpDomId(edge.start), _flowDb__WEBPACK_IMPORTED_MODULE_2__["default"].lookUpDomId(edge.end), edgeData, cnt); + g.setEdge(_flowDb__WEBPACK_IMPORTED_MODULE_8__["default"].lookUpDomId(edge.start), _flowDb__WEBPACK_IMPORTED_MODULE_8__["default"].lookUpDomId(edge.end), edgeData, cnt); }); }; /** @@ -11014,15 +17464,15 @@ var addEdges = function addEdges(edges, g) { */ var getClasses = function getClasses(text) { - _logger__WEBPACK_IMPORTED_MODULE_7__["log"].info('Extracting classes'); - _flowDb__WEBPACK_IMPORTED_MODULE_2__["default"].clear(); + _logger__WEBPACK_IMPORTED_MODULE_7__.log.info('Extracting classes'); + _flowDb__WEBPACK_IMPORTED_MODULE_8__["default"].clear(); try { - var parser = _parser_flow__WEBPACK_IMPORTED_MODULE_3___default.a.parser; - parser.yy = _flowDb__WEBPACK_IMPORTED_MODULE_2__["default"]; // Parse the graph definition + var parser = (_parser_flow__WEBPACK_IMPORTED_MODULE_9___default().parser); + parser.yy = _flowDb__WEBPACK_IMPORTED_MODULE_8__["default"]; // Parse the graph definition parser.parse(text); - return _flowDb__WEBPACK_IMPORTED_MODULE_2__["default"].getClasses(); + return _flowDb__WEBPACK_IMPORTED_MODULE_8__["default"].getClasses(); } catch (e) { return; } @@ -11034,11 +17484,11 @@ var getClasses = function getClasses(text) { */ var draw = function draw(text, id) { - _logger__WEBPACK_IMPORTED_MODULE_7__["log"].info('Drawing flowchart'); - _flowDb__WEBPACK_IMPORTED_MODULE_2__["default"].clear(); - _flowDb__WEBPACK_IMPORTED_MODULE_2__["default"].setGen('gen-1'); - var parser = _parser_flow__WEBPACK_IMPORTED_MODULE_3___default.a.parser; - parser.yy = _flowDb__WEBPACK_IMPORTED_MODULE_2__["default"]; // Parse the graph definition + _logger__WEBPACK_IMPORTED_MODULE_7__.log.info('Drawing flowchart'); + _flowDb__WEBPACK_IMPORTED_MODULE_8__["default"].clear(); + _flowDb__WEBPACK_IMPORTED_MODULE_8__["default"].setGen('gen-1'); + var parser = (_parser_flow__WEBPACK_IMPORTED_MODULE_9___default().parser); + parser.yy = _flowDb__WEBPACK_IMPORTED_MODULE_8__["default"]; // Parse the graph definition // try { parser.parse(text); // } catch (err) { @@ -11046,17 +17496,17 @@ var draw = function draw(text, id) { // } // Fetch the default direction, use TD if none was found - var dir = _flowDb__WEBPACK_IMPORTED_MODULE_2__["default"].getDirection(); + var dir = _flowDb__WEBPACK_IMPORTED_MODULE_8__["default"].getDirection(); if (typeof dir === 'undefined') { dir = 'TD'; } - var conf = Object(_config__WEBPACK_IMPORTED_MODULE_4__["getConfig"])().flowchart; + var conf = (0,_config__WEBPACK_IMPORTED_MODULE_6__.getConfig)().flowchart; var nodeSpacing = conf.nodeSpacing || 50; var rankSpacing = conf.rankSpacing || 50; // Create the input mermaid.graph - var g = new graphlib__WEBPACK_IMPORTED_MODULE_0___default.a.Graph({ + var g = new (graphlib__WEBPACK_IMPORTED_MODULE_0___default().Graph)({ multigraph: true, compound: true }).setGraph({ @@ -11069,33 +17519,33 @@ var draw = function draw(text, id) { return {}; }); var subG; - var subGraphs = _flowDb__WEBPACK_IMPORTED_MODULE_2__["default"].getSubGraphs(); + var subGraphs = _flowDb__WEBPACK_IMPORTED_MODULE_8__["default"].getSubGraphs(); for (var _i = subGraphs.length - 1; _i >= 0; _i--) { subG = subGraphs[_i]; - _flowDb__WEBPACK_IMPORTED_MODULE_2__["default"].addVertex(subG.id, subG.title, 'group', undefined, subG.classes); + _flowDb__WEBPACK_IMPORTED_MODULE_8__["default"].addVertex(subG.id, subG.title, 'group', undefined, subG.classes); } // Fetch the verices/nodes and edges/links from the parsed graph definition - var vert = _flowDb__WEBPACK_IMPORTED_MODULE_2__["default"].getVertices(); - _logger__WEBPACK_IMPORTED_MODULE_7__["log"].warn('Get vertices', vert); - var edges = _flowDb__WEBPACK_IMPORTED_MODULE_2__["default"].getEdges(); + var vert = _flowDb__WEBPACK_IMPORTED_MODULE_8__["default"].getVertices(); + _logger__WEBPACK_IMPORTED_MODULE_7__.log.warn('Get vertices', vert); + var edges = _flowDb__WEBPACK_IMPORTED_MODULE_8__["default"].getEdges(); var i = 0; for (i = subGraphs.length - 1; i >= 0; i--) { subG = subGraphs[i]; - Object(d3__WEBPACK_IMPORTED_MODULE_1__["selectAll"])('cluster').append('text'); + (0,d3__WEBPACK_IMPORTED_MODULE_1__.selectAll)('cluster').append('text'); for (var j = 0; j < subG.nodes.length; j++) { - _logger__WEBPACK_IMPORTED_MODULE_7__["log"].warn('Setting subgraph', subG.nodes[j], _flowDb__WEBPACK_IMPORTED_MODULE_2__["default"].lookUpDomId(subG.nodes[j]), _flowDb__WEBPACK_IMPORTED_MODULE_2__["default"].lookUpDomId(subG.id)); - g.setParent(_flowDb__WEBPACK_IMPORTED_MODULE_2__["default"].lookUpDomId(subG.nodes[j]), _flowDb__WEBPACK_IMPORTED_MODULE_2__["default"].lookUpDomId(subG.id)); + _logger__WEBPACK_IMPORTED_MODULE_7__.log.warn('Setting subgraph', subG.nodes[j], _flowDb__WEBPACK_IMPORTED_MODULE_8__["default"].lookUpDomId(subG.nodes[j]), _flowDb__WEBPACK_IMPORTED_MODULE_8__["default"].lookUpDomId(subG.id)); + g.setParent(_flowDb__WEBPACK_IMPORTED_MODULE_8__["default"].lookUpDomId(subG.nodes[j]), _flowDb__WEBPACK_IMPORTED_MODULE_8__["default"].lookUpDomId(subG.id)); } } addVertices(vert, g, id); addEdges(edges, g); // Create the renderer - var Render = dagre_d3__WEBPACK_IMPORTED_MODULE_5___default.a.render; + var Render = (dagre_d3__WEBPACK_IMPORTED_MODULE_2___default().render); var render = new Render(); // Add custom shapes _flowChartShapes__WEBPACK_IMPORTED_MODULE_10__["default"].addToRender(render); // Add our custom arrow - an empty arrowhead @@ -11103,7 +17553,7 @@ var draw = function draw(text, id) { render.arrows().none = function normal(parent, id, edge, type) { var marker = parent.append('marker').attr('id', id).attr('viewBox', '0 0 10 10').attr('refX', 9).attr('refY', 5).attr('markerUnits', 'strokeWidth').attr('markerWidth', 8).attr('markerHeight', 6).attr('orient', 'auto'); var path = marker.append('path').attr('d', 'M 0 0 L 0 0 L 0 0 z'); - dagre_d3__WEBPACK_IMPORTED_MODULE_5___default.a.util.applyStyle(path, edge[type + 'Style']); + dagre_d3__WEBPACK_IMPORTED_MODULE_2___default().util.applyStyle(path, edge[type + 'Style']); }; // Override normal arrowhead defined in d3. Remove style & add class to allow css styling. @@ -11113,37 +17563,37 @@ var draw = function draw(text, id) { }; // Set up an SVG group so that we can translate the final graph. - var svg = Object(d3__WEBPACK_IMPORTED_MODULE_1__["select"])("[id=\"".concat(id, "\"]")); + var svg = (0,d3__WEBPACK_IMPORTED_MODULE_1__.select)("[id=\"".concat(id, "\"]")); svg.attr('xmlns:xlink', 'http://www.w3.org/1999/xlink'); - _logger__WEBPACK_IMPORTED_MODULE_7__["log"].warn(g); // Run the renderer. This is what draws the final graph. + _logger__WEBPACK_IMPORTED_MODULE_7__.log.warn(g); // Run the renderer. This is what draws the final graph. - var element = Object(d3__WEBPACK_IMPORTED_MODULE_1__["select"])('#' + id + ' g'); + var element = (0,d3__WEBPACK_IMPORTED_MODULE_1__.select)('#' + id + ' g'); render(element, g); element.selectAll('g.node').attr('title', function () { - return _flowDb__WEBPACK_IMPORTED_MODULE_2__["default"].getTooltip(this.id); + return _flowDb__WEBPACK_IMPORTED_MODULE_8__["default"].getTooltip(this.id); }); var padding = conf.diagramPadding; var svgBounds = svg.node().getBBox(); var width = svgBounds.width + padding * 2; var height = svgBounds.height + padding * 2; - Object(_utils__WEBPACK_IMPORTED_MODULE_9__["configureSvgSize"])(svg, height, width, conf.useMaxWidth); // Ensure the viewBox includes the whole svgBounds area with extra space for padding + (0,_utils__WEBPACK_IMPORTED_MODULE_4__.configureSvgSize)(svg, height, width, conf.useMaxWidth); // Ensure the viewBox includes the whole svgBounds area with extra space for padding var vBox = "".concat(svgBounds.x - padding, " ").concat(svgBounds.y - padding, " ").concat(width, " ").concat(height); - _logger__WEBPACK_IMPORTED_MODULE_7__["log"].debug("viewBox ".concat(vBox)); + _logger__WEBPACK_IMPORTED_MODULE_7__.log.debug("viewBox ".concat(vBox)); svg.attr('viewBox', vBox); // Index nodes - _flowDb__WEBPACK_IMPORTED_MODULE_2__["default"].indexNodes('subGraph' + i); // reposition labels + _flowDb__WEBPACK_IMPORTED_MODULE_8__["default"].indexNodes('subGraph' + i); // reposition labels for (i = 0; i < subGraphs.length; i++) { subG = subGraphs[i]; if (subG.title !== 'undefined') { - var clusterRects = document.querySelectorAll('#' + id + ' [id="' + _flowDb__WEBPACK_IMPORTED_MODULE_2__["default"].lookUpDomId(subG.id) + '"] rect'); - var clusterEl = document.querySelectorAll('#' + id + ' [id="' + _flowDb__WEBPACK_IMPORTED_MODULE_2__["default"].lookUpDomId(subG.id) + '"]'); + var clusterRects = document.querySelectorAll('#' + id + ' [id="' + _flowDb__WEBPACK_IMPORTED_MODULE_8__["default"].lookUpDomId(subG.id) + '"] rect'); + var clusterEl = document.querySelectorAll('#' + id + ' [id="' + _flowDb__WEBPACK_IMPORTED_MODULE_8__["default"].lookUpDomId(subG.id) + '"]'); var xPos = clusterRects[0].x.baseVal.value; var yPos = clusterRects[0].y.baseVal.value; var _width = clusterRects[0].width.baseVal.value; - var cluster = Object(d3__WEBPACK_IMPORTED_MODULE_1__["select"])(clusterEl[0]); + var cluster = (0,d3__WEBPACK_IMPORTED_MODULE_1__.select)(clusterEl[0]); var te = cluster.select('.label'); te.attr('transform', "translate(".concat(xPos + _width / 2, ", ").concat(yPos + 14, ")")); te.attr('id', id + 'Text'); @@ -11155,7 +17605,7 @@ var draw = function draw(text, id) { } // Add label rects for non html labels - if (!Object(_common_common__WEBPACK_IMPORTED_MODULE_8__["evaluate"])(conf.htmlLabels) || true) { + if (!(0,_common_common__WEBPACK_IMPORTED_MODULE_5__.evaluate)(conf.htmlLabels) || true) { // eslint-disable-line var labels = document.querySelectorAll('[id="' + id + '"] .edgeLabel .label'); @@ -11179,7 +17629,7 @@ var draw = function draw(text, id) { var vertex = vert[key]; if (vertex.link) { - var node = Object(d3__WEBPACK_IMPORTED_MODULE_1__["select"])('#' + id + ' [id="' + _flowDb__WEBPACK_IMPORTED_MODULE_2__["default"].lookUpDomId(key) + '"]'); + var node = (0,d3__WEBPACK_IMPORTED_MODULE_1__.select)('#' + id + ' [id="' + _flowDb__WEBPACK_IMPORTED_MODULE_8__["default"].lookUpDomId(key) + '"]'); if (node) { var link = document.createElementNS('http://www.w3.org/2000/svg', 'a'); @@ -11213,7 +17663,7 @@ var draw = function draw(text, id) { } }); }; -/* harmony default export */ __webpack_exports__["default"] = ({ +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ setConf: setConf, addVertices: addVertices, addEdges: addEdges, @@ -11223,1053 +17673,22 @@ var draw = function draw(text, id) { /***/ }), -/***/ "./src/diagrams/flowchart/parser/flow.jison": -/*!**************************************************!*\ - !*** ./src/diagrams/flowchart/parser/flow.jison ***! - \**************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -/* WEBPACK VAR INJECTION */(function(process, module) {/* parser generated by jison 0.4.18 */ -/* - Returns a Parser object of the following structure: - - Parser: { - yy: {} - } - - Parser.prototype: { - yy: {}, - trace: function(), - symbols_: {associative list: name ==> number}, - terminals_: {associative list: number ==> name}, - productions_: [...], - performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$), - table: [...], - defaultActions: {...}, - parseError: function(str, hash), - parse: function(input), - - lexer: { - EOF: 1, - parseError: function(str, hash), - setInput: function(input), - input: function(), - unput: function(str), - more: function(), - less: function(n), - pastInput: function(), - upcomingInput: function(), - showPosition: function(), - test_match: function(regex_match_array, rule_index), - next: function(), - lex: function(), - begin: function(condition), - popState: function(), - _currentRules: function(), - topState: function(), - pushState: function(condition), - - options: { - ranges: boolean (optional: true ==> token location info will include a .range[] member) - flex: boolean (optional: true ==> flex-like lexing behaviour where the rules are tested exhaustively to find the longest match) - backtrack_lexer: boolean (optional: true ==> lexer regexes are tested in order and for each matching regex the action code is invoked; the lexer terminates the scan when a token is returned by the action code) - }, - - performAction: function(yy, yy_, $avoiding_name_collisions, YY_START), - rules: [...], - conditions: {associative list: name ==> set}, - } - } - - - token location info (@$, _$, etc.): { - first_line: n, - last_line: n, - first_column: n, - last_column: n, - range: [start_number, end_number] (where the numbers are indexes into the input string, regular zero-based) - } - - - the parseError function receives a 'hash' object with these members for lexer and parser errors: { - text: (matched text) - token: (the produced terminal token, if any) - line: (yylineno) - } - while parser (grammar) errors will also provide these members, i.e. parser errors deliver a superset of attributes: { - loc: (yylloc) - expected: (string describing the set of expected tokens) - recoverable: (boolean: TRUE when the parser has a error recovery rule available for this particular error) - } -*/ -var parser = (function(){ -var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,9],$V1=[1,7],$V2=[1,6],$V3=[1,8],$V4=[1,20,21,22,23,38,47,76,77,78,79,80,81,95,96,99,100,101,103,104,110,111,112,113,114,115,116,117,118,119],$V5=[2,10],$V6=[1,20],$V7=[1,21],$V8=[1,22],$V9=[1,23],$Va=[1,30],$Vb=[1,59],$Vc=[1,33],$Vd=[1,34],$Ve=[1,35],$Vf=[1,36],$Vg=[1,37],$Vh=[1,53],$Vi=[1,48],$Vj=[1,50],$Vk=[1,45],$Vl=[1,49],$Vm=[1,52],$Vn=[1,56],$Vo=[1,57],$Vp=[1,38],$Vq=[1,39],$Vr=[1,40],$Vs=[1,41],$Vt=[1,58],$Vu=[1,47],$Vv=[1,51],$Vw=[1,54],$Vx=[1,55],$Vy=[1,46],$Vz=[1,62],$VA=[1,67],$VB=[1,20,21,22,23,38,42,47,76,77,78,79,80,81,95,96,99,100,101,103,104,110,111,112,113,114,115,116,117,118,119],$VC=[1,71],$VD=[1,70],$VE=[1,72],$VF=[20,21,23,70,71],$VG=[1,93],$VH=[1,98],$VI=[1,95],$VJ=[1,100],$VK=[1,103],$VL=[1,101],$VM=[1,102],$VN=[1,96],$VO=[1,108],$VP=[1,107],$VQ=[1,97],$VR=[1,99],$VS=[1,104],$VT=[1,105],$VU=[1,106],$VV=[1,109],$VW=[20,21,22,23,70,71],$VX=[20,21,22,23,48,70,71],$VY=[20,21,22,23,40,47,48,50,52,54,56,58,60,62,63,65,70,71,81,95,96,99,100,101,103,104,114,115,116,117,118,119],$VZ=[20,21,23],$V_=[20,21,23,47,70,71,81,95,96,99,100,101,103,104,114,115,116,117,118,119],$V$=[1,12,20,21,22,23,24,38,42,47,76,77,78,79,80,81,95,96,99,100,101,103,104,110,111,112,113,114,115,116,117,118,119],$V01=[47,81,95,96,99,100,101,103,104,114,115,116,117,118,119],$V11=[1,141],$V21=[1,149],$V31=[1,150],$V41=[1,151],$V51=[1,152],$V61=[1,136],$V71=[1,137],$V81=[1,133],$V91=[1,144],$Va1=[1,145],$Vb1=[1,146],$Vc1=[1,147],$Vd1=[1,148],$Ve1=[1,153],$Vf1=[1,154],$Vg1=[1,139],$Vh1=[1,142],$Vi1=[1,138],$Vj1=[1,135],$Vk1=[20,21,22,23,38,42,47,76,77,78,79,80,81,95,96,99,100,101,103,104,110,111,112,113,114,115,116,117,118,119],$Vl1=[1,157],$Vm1=[20,21,22,23,26,47,81,95,96,99,100,101,103,104,114,115,116,117,118,119],$Vn1=[20,21,22,23,24,26,38,40,41,42,47,51,53,55,57,59,61,62,64,66,70,71,72,76,77,78,79,80,81,82,85,95,96,99,100,101,103,104,105,106,114,115,116,117,118,119],$Vo1=[12,21,22,24],$Vp1=[22,96],$Vq1=[1,238],$Vr1=[1,242],$Vs1=[1,239],$Vt1=[1,236],$Vu1=[1,233],$Vv1=[1,234],$Vw1=[1,235],$Vx1=[1,237],$Vy1=[1,240],$Vz1=[1,241],$VA1=[1,243],$VB1=[1,260],$VC1=[20,21,23,96],$VD1=[20,21,22,23,76,92,95,96,99,100,101,102,103,104,105]; -var parser = {trace: function trace () { }, -yy: {}, -symbols_: {"error":2,"start":3,"mermaidDoc":4,"directive":5,"openDirective":6,"typeDirective":7,"closeDirective":8,"separator":9,":":10,"argDirective":11,"open_directive":12,"type_directive":13,"arg_directive":14,"close_directive":15,"graphConfig":16,"document":17,"line":18,"statement":19,"SEMI":20,"NEWLINE":21,"SPACE":22,"EOF":23,"GRAPH":24,"NODIR":25,"DIR":26,"FirstStmtSeperator":27,"ending":28,"endToken":29,"spaceList":30,"spaceListNewline":31,"verticeStatement":32,"styleStatement":33,"linkStyleStatement":34,"classDefStatement":35,"classStatement":36,"clickStatement":37,"subgraph":38,"text":39,"SQS":40,"SQE":41,"end":42,"direction":43,"link":44,"node":45,"vertex":46,"AMP":47,"STYLE_SEPARATOR":48,"idString":49,"PS":50,"PE":51,"(-":52,"-)":53,"STADIUMSTART":54,"STADIUMEND":55,"SUBROUTINESTART":56,"SUBROUTINEEND":57,"CYLINDERSTART":58,"CYLINDEREND":59,"DIAMOND_START":60,"DIAMOND_STOP":61,"TAGEND":62,"TRAPSTART":63,"TRAPEND":64,"INVTRAPSTART":65,"INVTRAPEND":66,"linkStatement":67,"arrowText":68,"TESTSTR":69,"START_LINK":70,"LINK":71,"PIPE":72,"textToken":73,"STR":74,"keywords":75,"STYLE":76,"LINKSTYLE":77,"CLASSDEF":78,"CLASS":79,"CLICK":80,"DOWN":81,"UP":82,"textNoTags":83,"textNoTagsToken":84,"DEFAULT":85,"stylesOpt":86,"alphaNum":87,"CALLBACKNAME":88,"CALLBACKARGS":89,"HREF":90,"LINK_TARGET":91,"HEX":92,"numList":93,"INTERPOLATE":94,"NUM":95,"COMMA":96,"style":97,"styleComponent":98,"ALPHA":99,"COLON":100,"MINUS":101,"UNIT":102,"BRKT":103,"DOT":104,"PCT":105,"TAGSTART":106,"alphaNumToken":107,"idStringToken":108,"alphaNumStatement":109,"direction_tb":110,"direction_bt":111,"direction_rl":112,"direction_lr":113,"PUNCTUATION":114,"UNICODE_TEXT":115,"PLUS":116,"EQUALS":117,"MULT":118,"UNDERSCORE":119,"graphCodeTokens":120,"ARROW_CROSS":121,"ARROW_POINT":122,"ARROW_CIRCLE":123,"ARROW_OPEN":124,"QUOTE":125,"$accept":0,"$end":1}, -terminals_: {2:"error",10:":",12:"open_directive",13:"type_directive",14:"arg_directive",15:"close_directive",20:"SEMI",21:"NEWLINE",22:"SPACE",23:"EOF",24:"GRAPH",25:"NODIR",26:"DIR",38:"subgraph",40:"SQS",41:"SQE",42:"end",47:"AMP",48:"STYLE_SEPARATOR",50:"PS",51:"PE",52:"(-",53:"-)",54:"STADIUMSTART",55:"STADIUMEND",56:"SUBROUTINESTART",57:"SUBROUTINEEND",58:"CYLINDERSTART",59:"CYLINDEREND",60:"DIAMOND_START",61:"DIAMOND_STOP",62:"TAGEND",63:"TRAPSTART",64:"TRAPEND",65:"INVTRAPSTART",66:"INVTRAPEND",69:"TESTSTR",70:"START_LINK",71:"LINK",72:"PIPE",74:"STR",76:"STYLE",77:"LINKSTYLE",78:"CLASSDEF",79:"CLASS",80:"CLICK",81:"DOWN",82:"UP",85:"DEFAULT",88:"CALLBACKNAME",89:"CALLBACKARGS",90:"HREF",91:"LINK_TARGET",92:"HEX",94:"INTERPOLATE",95:"NUM",96:"COMMA",99:"ALPHA",100:"COLON",101:"MINUS",102:"UNIT",103:"BRKT",104:"DOT",105:"PCT",106:"TAGSTART",110:"direction_tb",111:"direction_bt",112:"direction_rl",113:"direction_lr",114:"PUNCTUATION",115:"UNICODE_TEXT",116:"PLUS",117:"EQUALS",118:"MULT",119:"UNDERSCORE",121:"ARROW_CROSS",122:"ARROW_POINT",123:"ARROW_CIRCLE",124:"ARROW_OPEN",125:"QUOTE"}, -productions_: [0,[3,1],[3,2],[5,4],[5,6],[6,1],[7,1],[11,1],[8,1],[4,2],[17,0],[17,2],[18,1],[18,1],[18,1],[18,1],[18,1],[16,2],[16,2],[16,2],[16,3],[28,2],[28,1],[29,1],[29,1],[29,1],[27,1],[27,1],[27,2],[31,2],[31,2],[31,1],[31,1],[30,2],[30,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,9],[19,6],[19,4],[19,1],[9,1],[9,1],[9,1],[32,3],[32,4],[32,2],[32,1],[45,1],[45,5],[45,3],[46,4],[46,6],[46,4],[46,4],[46,4],[46,4],[46,4],[46,4],[46,6],[46,4],[46,4],[46,4],[46,4],[46,4],[46,1],[44,2],[44,3],[44,3],[44,1],[44,3],[67,1],[68,3],[39,1],[39,2],[39,1],[75,1],[75,1],[75,1],[75,1],[75,1],[75,1],[75,1],[75,1],[75,1],[75,1],[75,1],[83,1],[83,2],[35,5],[35,5],[36,5],[37,2],[37,4],[37,3],[37,5],[37,2],[37,4],[37,4],[37,6],[37,2],[37,4],[37,2],[37,4],[37,4],[37,6],[33,5],[33,5],[34,5],[34,5],[34,9],[34,9],[34,7],[34,7],[93,1],[93,3],[86,1],[86,3],[97,1],[97,2],[98,1],[98,1],[98,1],[98,1],[98,1],[98,1],[98,1],[98,1],[98,1],[98,1],[98,1],[73,1],[73,1],[73,1],[73,1],[73,1],[73,1],[84,1],[84,1],[84,1],[84,1],[49,1],[49,2],[87,1],[87,2],[109,1],[109,1],[109,1],[109,1],[43,1],[43,1],[43,1],[43,1],[107,1],[107,1],[107,1],[107,1],[107,1],[107,1],[107,1],[107,1],[107,1],[107,1],[107,1],[107,1],[107,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1]], -performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) { -/* this == yyval */ - -var $0 = $$.length - 1; -switch (yystate) { -case 5: - yy.parseDirective('%%{', 'open_directive'); -break; -case 6: - yy.parseDirective($$[$0], 'type_directive'); -break; -case 7: - $$[$0] = $$[$0].trim().replace(/'/g, '"'); yy.parseDirective($$[$0], 'arg_directive'); -break; -case 8: - yy.parseDirective('}%%', 'close_directive', 'flowchart'); -break; -case 10: - this.$ = []; -break; -case 11: - - if($$[$0] !== []){ - $$[$0-1].push($$[$0]); - } - this.$=$$[$0-1]; -break; -case 12: case 77: case 79: case 91: case 147: case 149: case 150: -this.$=$$[$0]; -break; -case 19: - yy.setDirection('TB');this.$ = 'TB'; -break; -case 20: - yy.setDirection($$[$0-1]);this.$ = $$[$0-1]; -break; -case 35: - /* console.warn('finat vs', $$[$0-1].nodes); */ this.$=$$[$0-1].nodes -break; -case 36: case 37: case 38: case 39: case 40: -this.$=[]; -break; -case 41: -this.$=yy.addSubGraph($$[$0-6],$$[$0-1],$$[$0-4]); -break; -case 42: -this.$=yy.addSubGraph($$[$0-3],$$[$0-1],$$[$0-3]); -break; -case 43: -this.$=yy.addSubGraph(undefined,$$[$0-1],undefined); -break; -case 48: - /* console.warn('vs',$$[$0-2].stmt,$$[$0]); */ yy.addLink($$[$0-2].stmt,$$[$0],$$[$0-1]); this.$ = { stmt: $$[$0], nodes: $$[$0].concat($$[$0-2].nodes) } -break; -case 49: - /* console.warn('vs',$$[$0-3].stmt,$$[$0-1]); */ yy.addLink($$[$0-3].stmt,$$[$0-1],$$[$0-2]); this.$ = { stmt: $$[$0-1], nodes: $$[$0-1].concat($$[$0-3].nodes) } -break; -case 50: -/*console.warn('noda', $$[$0-1]);*/ this.$ = {stmt: $$[$0-1], nodes:$$[$0-1] } -break; -case 51: - /*console.warn('noda', $$[$0]);*/ this.$ = {stmt: $$[$0], nodes:$$[$0] } -break; -case 52: - /* console.warn('nod', $$[$0]); */ this.$ = [$$[$0]]; -break; -case 53: - this.$ = $$[$0-4].concat($$[$0]); /* console.warn('pip', $$[$0-4][0], $$[$0], this.$); */ -break; -case 54: -this.$ = [$$[$0-2]];yy.setClass($$[$0-2],$$[$0]) -break; -case 55: -this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'square'); -break; -case 56: -this.$ = $$[$0-5];yy.addVertex($$[$0-5],$$[$0-2],'circle'); -break; -case 57: -this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'ellipse'); -break; -case 58: -this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'stadium'); -break; -case 59: -this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'subroutine'); -break; -case 60: -this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'cylinder'); -break; -case 61: -this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'round'); -break; -case 62: -this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'diamond'); -break; -case 63: -this.$ = $$[$0-5];yy.addVertex($$[$0-5],$$[$0-2],'hexagon'); -break; -case 64: -this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'odd'); -break; -case 65: -this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'trapezoid'); -break; -case 66: -this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'inv_trapezoid'); -break; -case 67: -this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'lean_right'); -break; -case 68: -this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'lean_left'); -break; -case 69: - /*console.warn('h: ', $$[$0]);*/this.$ = $$[$0];yy.addVertex($$[$0]); -break; -case 70: -$$[$0-1].text = $$[$0];this.$ = $$[$0-1]; -break; -case 71: case 72: -$$[$0-2].text = $$[$0-1];this.$ = $$[$0-2]; -break; -case 73: -this.$ = $$[$0]; -break; -case 74: -var inf = yy.destructLink($$[$0], $$[$0-2]); this.$ = {"type":inf.type,"stroke":inf.stroke,"length":inf.length,"text":$$[$0-1]}; -break; -case 75: -var inf = yy.destructLink($$[$0]);this.$ = {"type":inf.type,"stroke":inf.stroke,"length":inf.length}; -break; -case 76: -this.$ = $$[$0-1]; -break; -case 78: case 92: case 148: -this.$=$$[$0-1]+''+$$[$0]; -break; -case 93: case 94: -this.$ = $$[$0-4];yy.addClass($$[$0-2],$$[$0]); -break; -case 95: -this.$ = $$[$0-4];yy.setClass($$[$0-2], $$[$0]); -break; -case 96: case 104: -this.$ = $$[$0-1];yy.setClickEvent($$[$0-1], $$[$0]); -break; -case 97: case 105: -this.$ = $$[$0-3];yy.setClickEvent($$[$0-3], $$[$0-2]);yy.setTooltip($$[$0-3], $$[$0]); -break; -case 98: -this.$ = $$[$0-2];yy.setClickEvent($$[$0-2], $$[$0-1], $$[$0]); -break; -case 99: -this.$ = $$[$0-4];yy.setClickEvent($$[$0-4], $$[$0-3], $$[$0-2]);yy.setTooltip($$[$0-4], $$[$0]); -break; -case 100: case 106: -this.$ = $$[$0-1];yy.setLink($$[$0-1], $$[$0]); -break; -case 101: case 107: -this.$ = $$[$0-3];yy.setLink($$[$0-3], $$[$0-2]);yy.setTooltip($$[$0-3], $$[$0]); -break; -case 102: case 108: -this.$ = $$[$0-3];yy.setLink($$[$0-3], $$[$0-2], $$[$0]); -break; -case 103: case 109: -this.$ = $$[$0-5];yy.setLink($$[$0-5], $$[$0-4], $$[$0]);yy.setTooltip($$[$0-5], $$[$0-2]); -break; -case 110: -this.$ = $$[$0-4];yy.addVertex($$[$0-2],undefined,undefined,$$[$0]); -break; -case 111: case 113: -this.$ = $$[$0-4];yy.updateLink($$[$0-2],$$[$0]); -break; -case 112: -this.$ = $$[$0-4];yy.updateLink([$$[$0-2]],$$[$0]); -break; -case 114: -this.$ = $$[$0-8];yy.updateLinkInterpolate([$$[$0-6]],$$[$0-2]);yy.updateLink([$$[$0-6]],$$[$0]); -break; -case 115: -this.$ = $$[$0-8];yy.updateLinkInterpolate($$[$0-6],$$[$0-2]);yy.updateLink($$[$0-6],$$[$0]); -break; -case 116: -this.$ = $$[$0-6];yy.updateLinkInterpolate([$$[$0-4]],$$[$0]); -break; -case 117: -this.$ = $$[$0-6];yy.updateLinkInterpolate($$[$0-4],$$[$0]); -break; -case 118: case 120: -this.$ = [$$[$0]] -break; -case 119: case 121: -$$[$0-2].push($$[$0]);this.$ = $$[$0-2]; -break; -case 123: -this.$ = $$[$0-1] + $$[$0]; -break; -case 145: -this.$=$$[$0] -break; -case 146: -this.$=$$[$0-1]+''+$$[$0] -break; -case 151: -this.$='v'; -break; -case 152: -this.$='-'; -break; -case 153: - this.$={stmt:'dir', value:'TB'}; -break; -case 154: - this.$={stmt:'dir', value:'BT'}; -break; -case 155: - this.$={stmt:'dir', value:'RL'}; -break; -case 156: - this.$={stmt:'dir', value:'LR'}; -break; -} -}, -table: [{3:1,4:2,5:3,6:5,12:$V0,16:4,21:$V1,22:$V2,24:$V3},{1:[3]},{1:[2,1]},{3:10,4:2,5:3,6:5,12:$V0,16:4,21:$V1,22:$V2,24:$V3},o($V4,$V5,{17:11}),{7:12,13:[1,13]},{16:14,21:$V1,22:$V2,24:$V3},{16:15,21:$V1,22:$V2,24:$V3},{25:[1,16],26:[1,17]},{13:[2,5]},{1:[2,2]},{1:[2,9],18:18,19:19,20:$V6,21:$V7,22:$V8,23:$V9,32:24,33:25,34:26,35:27,36:28,37:29,38:$Va,43:31,45:32,46:42,47:$Vb,49:43,76:$Vc,77:$Vd,78:$Ve,79:$Vf,80:$Vg,81:$Vh,95:$Vi,96:$Vj,99:$Vk,100:$Vl,101:$Vm,103:$Vn,104:$Vo,108:44,110:$Vp,111:$Vq,112:$Vr,113:$Vs,114:$Vt,115:$Vu,116:$Vv,117:$Vw,118:$Vx,119:$Vy},{8:60,10:[1,61],15:$Vz},o([10,15],[2,6]),o($V4,[2,17]),o($V4,[2,18]),o($V4,[2,19]),{20:[1,64],21:[1,65],22:$VA,27:63,30:66},o($VB,[2,11]),o($VB,[2,12]),o($VB,[2,13]),o($VB,[2,14]),o($VB,[2,15]),o($VB,[2,16]),{9:68,20:$VC,21:$VD,23:$VE,44:69,67:73,70:[1,74],71:[1,75]},{9:76,20:$VC,21:$VD,23:$VE},{9:77,20:$VC,21:$VD,23:$VE},{9:78,20:$VC,21:$VD,23:$VE},{9:79,20:$VC,21:$VD,23:$VE},{9:80,20:$VC,21:$VD,23:$VE},{9:82,20:$VC,21:$VD,22:[1,81],23:$VE},o($VB,[2,44]),o($VF,[2,51],{30:83,22:$VA}),{22:[1,84]},{22:[1,85]},{22:[1,86]},{22:[1,87]},{26:$VG,47:$VH,74:[1,91],81:$VI,87:90,88:[1,88],90:[1,89],95:$VJ,96:$VK,99:$VL,100:$VM,101:$VN,103:$VO,104:$VP,107:94,109:92,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},o($VB,[2,153]),o($VB,[2,154]),o($VB,[2,155]),o($VB,[2,156]),o($VW,[2,52],{48:[1,110]}),o($VX,[2,69],{108:121,40:[1,111],47:$Vb,50:[1,112],52:[1,113],54:[1,114],56:[1,115],58:[1,116],60:[1,117],62:[1,118],63:[1,119],65:[1,120],81:$Vh,95:$Vi,96:$Vj,99:$Vk,100:$Vl,101:$Vm,103:$Vn,104:$Vo,114:$Vt,115:$Vu,116:$Vv,117:$Vw,118:$Vx,119:$Vy}),o($VY,[2,145]),o($VY,[2,170]),o($VY,[2,171]),o($VY,[2,172]),o($VY,[2,173]),o($VY,[2,174]),o($VY,[2,175]),o($VY,[2,176]),o($VY,[2,177]),o($VY,[2,178]),o($VY,[2,179]),o($VY,[2,180]),o($VY,[2,181]),o($VY,[2,182]),o($VY,[2,183]),o($VY,[2,184]),{9:122,20:$VC,21:$VD,23:$VE},{11:123,14:[1,124]},o($VZ,[2,8]),o($V4,[2,20]),o($V4,[2,26]),o($V4,[2,27]),{21:[1,125]},o($V_,[2,34],{30:126,22:$VA}),o($VB,[2,35]),{45:127,46:42,47:$Vb,49:43,81:$Vh,95:$Vi,96:$Vj,99:$Vk,100:$Vl,101:$Vm,103:$Vn,104:$Vo,108:44,114:$Vt,115:$Vu,116:$Vv,117:$Vw,118:$Vx,119:$Vy},o($V$,[2,45]),o($V$,[2,46]),o($V$,[2,47]),o($V01,[2,73],{68:128,69:[1,129],72:[1,130]}),{22:$V11,24:$V21,26:$V31,38:$V41,39:131,42:$V51,47:$VH,62:$V61,70:$V71,73:132,74:$V81,75:143,76:$V91,77:$Va1,78:$Vb1,79:$Vc1,80:$Vd1,81:$Ve1,82:$Vf1,84:134,85:$Vg1,95:$VJ,96:$VK,99:$VL,100:$VM,101:$Vh1,103:$VO,104:$VP,105:$Vi1,106:$Vj1,107:140,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},o([47,69,72,81,95,96,99,100,101,103,104,114,115,116,117,118,119],[2,75]),o($VB,[2,36]),o($VB,[2,37]),o($VB,[2,38]),o($VB,[2,39]),o($VB,[2,40]),{22:$V11,24:$V21,26:$V31,38:$V41,39:155,42:$V51,47:$VH,62:$V61,70:$V71,73:132,74:$V81,75:143,76:$V91,77:$Va1,78:$Vb1,79:$Vc1,80:$Vd1,81:$Ve1,82:$Vf1,84:134,85:$Vg1,95:$VJ,96:$VK,99:$VL,100:$VM,101:$Vh1,103:$VO,104:$VP,105:$Vi1,106:$Vj1,107:140,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},o($Vk1,$V5,{17:156}),o($VF,[2,50],{47:$Vl1}),{26:$VG,47:$VH,81:$VI,87:158,92:[1,159],95:$VJ,96:$VK,99:$VL,100:$VM,101:$VN,103:$VO,104:$VP,107:94,109:92,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},{85:[1,160],93:161,95:[1,162]},{26:$VG,47:$VH,81:$VI,85:[1,163],87:164,95:$VJ,96:$VK,99:$VL,100:$VM,101:$VN,103:$VO,104:$VP,107:94,109:92,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},{26:$VG,47:$VH,81:$VI,87:165,95:$VJ,96:$VK,99:$VL,100:$VM,101:$VN,103:$VO,104:$VP,107:94,109:92,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},o($VZ,[2,96],{22:[1,166],89:[1,167]}),o($VZ,[2,100],{22:[1,168]}),o($VZ,[2,104],{107:94,109:170,22:[1,169],26:$VG,47:$VH,81:$VI,95:$VJ,96:$VK,99:$VL,100:$VM,101:$VN,103:$VO,104:$VP,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV}),o($VZ,[2,106],{22:[1,171]}),o($Vm1,[2,147]),o($Vm1,[2,149]),o($Vm1,[2,150]),o($Vm1,[2,151]),o($Vm1,[2,152]),o($Vn1,[2,157]),o($Vn1,[2,158]),o($Vn1,[2,159]),o($Vn1,[2,160]),o($Vn1,[2,161]),o($Vn1,[2,162]),o($Vn1,[2,163]),o($Vn1,[2,164]),o($Vn1,[2,165]),o($Vn1,[2,166]),o($Vn1,[2,167]),o($Vn1,[2,168]),o($Vn1,[2,169]),{47:$Vb,49:172,81:$Vh,95:$Vi,96:$Vj,99:$Vk,100:$Vl,101:$Vm,103:$Vn,104:$Vo,108:44,114:$Vt,115:$Vu,116:$Vv,117:$Vw,118:$Vx,119:$Vy},{22:$V11,24:$V21,26:$V31,38:$V41,39:173,42:$V51,47:$VH,62:$V61,70:$V71,73:132,74:$V81,75:143,76:$V91,77:$Va1,78:$Vb1,79:$Vc1,80:$Vd1,81:$Ve1,82:$Vf1,84:134,85:$Vg1,95:$VJ,96:$VK,99:$VL,100:$VM,101:$Vh1,103:$VO,104:$VP,105:$Vi1,106:$Vj1,107:140,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},{22:$V11,24:$V21,26:$V31,38:$V41,39:175,42:$V51,47:$VH,50:[1,174],62:$V61,70:$V71,73:132,74:$V81,75:143,76:$V91,77:$Va1,78:$Vb1,79:$Vc1,80:$Vd1,81:$Ve1,82:$Vf1,84:134,85:$Vg1,95:$VJ,96:$VK,99:$VL,100:$VM,101:$Vh1,103:$VO,104:$VP,105:$Vi1,106:$Vj1,107:140,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},{22:$V11,24:$V21,26:$V31,38:$V41,39:176,42:$V51,47:$VH,62:$V61,70:$V71,73:132,74:$V81,75:143,76:$V91,77:$Va1,78:$Vb1,79:$Vc1,80:$Vd1,81:$Ve1,82:$Vf1,84:134,85:$Vg1,95:$VJ,96:$VK,99:$VL,100:$VM,101:$Vh1,103:$VO,104:$VP,105:$Vi1,106:$Vj1,107:140,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},{22:$V11,24:$V21,26:$V31,38:$V41,39:177,42:$V51,47:$VH,62:$V61,70:$V71,73:132,74:$V81,75:143,76:$V91,77:$Va1,78:$Vb1,79:$Vc1,80:$Vd1,81:$Ve1,82:$Vf1,84:134,85:$Vg1,95:$VJ,96:$VK,99:$VL,100:$VM,101:$Vh1,103:$VO,104:$VP,105:$Vi1,106:$Vj1,107:140,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},{22:$V11,24:$V21,26:$V31,38:$V41,39:178,42:$V51,47:$VH,62:$V61,70:$V71,73:132,74:$V81,75:143,76:$V91,77:$Va1,78:$Vb1,79:$Vc1,80:$Vd1,81:$Ve1,82:$Vf1,84:134,85:$Vg1,95:$VJ,96:$VK,99:$VL,100:$VM,101:$Vh1,103:$VO,104:$VP,105:$Vi1,106:$Vj1,107:140,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},{22:$V11,24:$V21,26:$V31,38:$V41,39:179,42:$V51,47:$VH,62:$V61,70:$V71,73:132,74:$V81,75:143,76:$V91,77:$Va1,78:$Vb1,79:$Vc1,80:$Vd1,81:$Ve1,82:$Vf1,84:134,85:$Vg1,95:$VJ,96:$VK,99:$VL,100:$VM,101:$Vh1,103:$VO,104:$VP,105:$Vi1,106:$Vj1,107:140,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},{22:$V11,24:$V21,26:$V31,38:$V41,39:180,42:$V51,47:$VH,60:[1,181],62:$V61,70:$V71,73:132,74:$V81,75:143,76:$V91,77:$Va1,78:$Vb1,79:$Vc1,80:$Vd1,81:$Ve1,82:$Vf1,84:134,85:$Vg1,95:$VJ,96:$VK,99:$VL,100:$VM,101:$Vh1,103:$VO,104:$VP,105:$Vi1,106:$Vj1,107:140,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},{22:$V11,24:$V21,26:$V31,38:$V41,39:182,42:$V51,47:$VH,62:$V61,70:$V71,73:132,74:$V81,75:143,76:$V91,77:$Va1,78:$Vb1,79:$Vc1,80:$Vd1,81:$Ve1,82:$Vf1,84:134,85:$Vg1,95:$VJ,96:$VK,99:$VL,100:$VM,101:$Vh1,103:$VO,104:$VP,105:$Vi1,106:$Vj1,107:140,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},{22:$V11,24:$V21,26:$V31,38:$V41,39:183,42:$V51,47:$VH,62:$V61,70:$V71,73:132,74:$V81,75:143,76:$V91,77:$Va1,78:$Vb1,79:$Vc1,80:$Vd1,81:$Ve1,82:$Vf1,84:134,85:$Vg1,95:$VJ,96:$VK,99:$VL,100:$VM,101:$Vh1,103:$VO,104:$VP,105:$Vi1,106:$Vj1,107:140,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},{22:$V11,24:$V21,26:$V31,38:$V41,39:184,42:$V51,47:$VH,62:$V61,70:$V71,73:132,74:$V81,75:143,76:$V91,77:$Va1,78:$Vb1,79:$Vc1,80:$Vd1,81:$Ve1,82:$Vf1,84:134,85:$Vg1,95:$VJ,96:$VK,99:$VL,100:$VM,101:$Vh1,103:$VO,104:$VP,105:$Vi1,106:$Vj1,107:140,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},o($VY,[2,146]),o($Vo1,[2,3]),{8:185,15:$Vz},{15:[2,7]},o($V4,[2,28]),o($V_,[2,33]),o($VF,[2,48],{30:186,22:$VA}),o($V01,[2,70],{22:[1,187]}),{22:[1,188]},{22:$V11,24:$V21,26:$V31,38:$V41,39:189,42:$V51,47:$VH,62:$V61,70:$V71,73:132,74:$V81,75:143,76:$V91,77:$Va1,78:$Vb1,79:$Vc1,80:$Vd1,81:$Ve1,82:$Vf1,84:134,85:$Vg1,95:$VJ,96:$VK,99:$VL,100:$VM,101:$Vh1,103:$VO,104:$VP,105:$Vi1,106:$Vj1,107:140,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},{22:$V11,24:$V21,26:$V31,38:$V41,42:$V51,47:$VH,62:$V61,70:$V71,71:[1,190],73:191,75:143,76:$V91,77:$Va1,78:$Vb1,79:$Vc1,80:$Vd1,81:$Ve1,82:$Vf1,84:134,85:$Vg1,95:$VJ,96:$VK,99:$VL,100:$VM,101:$Vh1,103:$VO,104:$VP,105:$Vi1,106:$Vj1,107:140,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},o($Vn1,[2,77]),o($Vn1,[2,79]),o($Vn1,[2,135]),o($Vn1,[2,136]),o($Vn1,[2,137]),o($Vn1,[2,138]),o($Vn1,[2,139]),o($Vn1,[2,140]),o($Vn1,[2,141]),o($Vn1,[2,142]),o($Vn1,[2,143]),o($Vn1,[2,144]),o($Vn1,[2,80]),o($Vn1,[2,81]),o($Vn1,[2,82]),o($Vn1,[2,83]),o($Vn1,[2,84]),o($Vn1,[2,85]),o($Vn1,[2,86]),o($Vn1,[2,87]),o($Vn1,[2,88]),o($Vn1,[2,89]),o($Vn1,[2,90]),{9:193,20:$VC,21:$VD,22:$V11,23:$VE,24:$V21,26:$V31,38:$V41,40:[1,192],42:$V51,47:$VH,62:$V61,70:$V71,73:191,75:143,76:$V91,77:$Va1,78:$Vb1,79:$Vc1,80:$Vd1,81:$Ve1,82:$Vf1,84:134,85:$Vg1,95:$VJ,96:$VK,99:$VL,100:$VM,101:$Vh1,103:$VO,104:$VP,105:$Vi1,106:$Vj1,107:140,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},{18:18,19:19,20:$V6,21:$V7,22:$V8,23:$V9,32:24,33:25,34:26,35:27,36:28,37:29,38:$Va,42:[1,194],43:31,45:32,46:42,47:$Vb,49:43,76:$Vc,77:$Vd,78:$Ve,79:$Vf,80:$Vg,81:$Vh,95:$Vi,96:$Vj,99:$Vk,100:$Vl,101:$Vm,103:$Vn,104:$Vo,108:44,110:$Vp,111:$Vq,112:$Vr,113:$Vs,114:$Vt,115:$Vu,116:$Vv,117:$Vw,118:$Vx,119:$Vy},{22:$VA,30:195},{22:[1,196],26:$VG,47:$VH,81:$VI,95:$VJ,96:$VK,99:$VL,100:$VM,101:$VN,103:$VO,104:$VP,107:94,109:170,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},{22:[1,197]},{22:[1,198]},{22:[1,199],96:[1,200]},o($Vp1,[2,118]),{22:[1,201]},{22:[1,202],26:$VG,47:$VH,81:$VI,95:$VJ,96:$VK,99:$VL,100:$VM,101:$VN,103:$VO,104:$VP,107:94,109:170,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},{22:[1,203],26:$VG,47:$VH,81:$VI,95:$VJ,96:$VK,99:$VL,100:$VM,101:$VN,103:$VO,104:$VP,107:94,109:170,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},{74:[1,204]},o($VZ,[2,98],{22:[1,205]}),{74:[1,206],91:[1,207]},{74:[1,208]},o($Vm1,[2,148]),{74:[1,209],91:[1,210]},o($VW,[2,54],{108:121,47:$Vb,81:$Vh,95:$Vi,96:$Vj,99:$Vk,100:$Vl,101:$Vm,103:$Vn,104:$Vo,114:$Vt,115:$Vu,116:$Vv,117:$Vw,118:$Vx,119:$Vy}),{22:$V11,24:$V21,26:$V31,38:$V41,41:[1,211],42:$V51,47:$VH,62:$V61,70:$V71,73:191,75:143,76:$V91,77:$Va1,78:$Vb1,79:$Vc1,80:$Vd1,81:$Ve1,82:$Vf1,84:134,85:$Vg1,95:$VJ,96:$VK,99:$VL,100:$VM,101:$Vh1,103:$VO,104:$VP,105:$Vi1,106:$Vj1,107:140,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},{22:$V11,24:$V21,26:$V31,38:$V41,39:212,42:$V51,47:$VH,62:$V61,70:$V71,73:132,74:$V81,75:143,76:$V91,77:$Va1,78:$Vb1,79:$Vc1,80:$Vd1,81:$Ve1,82:$Vf1,84:134,85:$Vg1,95:$VJ,96:$VK,99:$VL,100:$VM,101:$Vh1,103:$VO,104:$VP,105:$Vi1,106:$Vj1,107:140,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},{22:$V11,24:$V21,26:$V31,38:$V41,42:$V51,47:$VH,51:[1,213],62:$V61,70:$V71,73:191,75:143,76:$V91,77:$Va1,78:$Vb1,79:$Vc1,80:$Vd1,81:$Ve1,82:$Vf1,84:134,85:$Vg1,95:$VJ,96:$VK,99:$VL,100:$VM,101:$Vh1,103:$VO,104:$VP,105:$Vi1,106:$Vj1,107:140,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},{22:$V11,24:$V21,26:$V31,38:$V41,42:$V51,47:$VH,53:[1,214],62:$V61,70:$V71,73:191,75:143,76:$V91,77:$Va1,78:$Vb1,79:$Vc1,80:$Vd1,81:$Ve1,82:$Vf1,84:134,85:$Vg1,95:$VJ,96:$VK,99:$VL,100:$VM,101:$Vh1,103:$VO,104:$VP,105:$Vi1,106:$Vj1,107:140,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},{22:$V11,24:$V21,26:$V31,38:$V41,42:$V51,47:$VH,55:[1,215],62:$V61,70:$V71,73:191,75:143,76:$V91,77:$Va1,78:$Vb1,79:$Vc1,80:$Vd1,81:$Ve1,82:$Vf1,84:134,85:$Vg1,95:$VJ,96:$VK,99:$VL,100:$VM,101:$Vh1,103:$VO,104:$VP,105:$Vi1,106:$Vj1,107:140,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},{22:$V11,24:$V21,26:$V31,38:$V41,42:$V51,47:$VH,57:[1,216],62:$V61,70:$V71,73:191,75:143,76:$V91,77:$Va1,78:$Vb1,79:$Vc1,80:$Vd1,81:$Ve1,82:$Vf1,84:134,85:$Vg1,95:$VJ,96:$VK,99:$VL,100:$VM,101:$Vh1,103:$VO,104:$VP,105:$Vi1,106:$Vj1,107:140,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},{22:$V11,24:$V21,26:$V31,38:$V41,42:$V51,47:$VH,59:[1,217],62:$V61,70:$V71,73:191,75:143,76:$V91,77:$Va1,78:$Vb1,79:$Vc1,80:$Vd1,81:$Ve1,82:$Vf1,84:134,85:$Vg1,95:$VJ,96:$VK,99:$VL,100:$VM,101:$Vh1,103:$VO,104:$VP,105:$Vi1,106:$Vj1,107:140,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},{22:$V11,24:$V21,26:$V31,38:$V41,42:$V51,47:$VH,61:[1,218],62:$V61,70:$V71,73:191,75:143,76:$V91,77:$Va1,78:$Vb1,79:$Vc1,80:$Vd1,81:$Ve1,82:$Vf1,84:134,85:$Vg1,95:$VJ,96:$VK,99:$VL,100:$VM,101:$Vh1,103:$VO,104:$VP,105:$Vi1,106:$Vj1,107:140,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},{22:$V11,24:$V21,26:$V31,38:$V41,39:219,42:$V51,47:$VH,62:$V61,70:$V71,73:132,74:$V81,75:143,76:$V91,77:$Va1,78:$Vb1,79:$Vc1,80:$Vd1,81:$Ve1,82:$Vf1,84:134,85:$Vg1,95:$VJ,96:$VK,99:$VL,100:$VM,101:$Vh1,103:$VO,104:$VP,105:$Vi1,106:$Vj1,107:140,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},{22:$V11,24:$V21,26:$V31,38:$V41,41:[1,220],42:$V51,47:$VH,62:$V61,70:$V71,73:191,75:143,76:$V91,77:$Va1,78:$Vb1,79:$Vc1,80:$Vd1,81:$Ve1,82:$Vf1,84:134,85:$Vg1,95:$VJ,96:$VK,99:$VL,100:$VM,101:$Vh1,103:$VO,104:$VP,105:$Vi1,106:$Vj1,107:140,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},{22:$V11,24:$V21,26:$V31,38:$V41,42:$V51,47:$VH,62:$V61,64:[1,221],66:[1,222],70:$V71,73:191,75:143,76:$V91,77:$Va1,78:$Vb1,79:$Vc1,80:$Vd1,81:$Ve1,82:$Vf1,84:134,85:$Vg1,95:$VJ,96:$VK,99:$VL,100:$VM,101:$Vh1,103:$VO,104:$VP,105:$Vi1,106:$Vj1,107:140,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},{22:$V11,24:$V21,26:$V31,38:$V41,42:$V51,47:$VH,62:$V61,64:[1,224],66:[1,223],70:$V71,73:191,75:143,76:$V91,77:$Va1,78:$Vb1,79:$Vc1,80:$Vd1,81:$Ve1,82:$Vf1,84:134,85:$Vg1,95:$VJ,96:$VK,99:$VL,100:$VM,101:$Vh1,103:$VO,104:$VP,105:$Vi1,106:$Vj1,107:140,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},{9:225,20:$VC,21:$VD,23:$VE},o($VF,[2,49],{47:$Vl1}),o($V01,[2,72]),o($V01,[2,71]),{22:$V11,24:$V21,26:$V31,38:$V41,42:$V51,47:$VH,62:$V61,70:$V71,72:[1,226],73:191,75:143,76:$V91,77:$Va1,78:$Vb1,79:$Vc1,80:$Vd1,81:$Ve1,82:$Vf1,84:134,85:$Vg1,95:$VJ,96:$VK,99:$VL,100:$VM,101:$Vh1,103:$VO,104:$VP,105:$Vi1,106:$Vj1,107:140,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},o($V01,[2,74]),o($Vn1,[2,78]),{22:$V11,24:$V21,26:$V31,38:$V41,39:227,42:$V51,47:$VH,62:$V61,70:$V71,73:132,74:$V81,75:143,76:$V91,77:$Va1,78:$Vb1,79:$Vc1,80:$Vd1,81:$Ve1,82:$Vf1,84:134,85:$Vg1,95:$VJ,96:$VK,99:$VL,100:$VM,101:$Vh1,103:$VO,104:$VP,105:$Vi1,106:$Vj1,107:140,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},o($Vk1,$V5,{17:228}),o($VB,[2,43]),{46:229,47:$Vb,49:43,81:$Vh,95:$Vi,96:$Vj,99:$Vk,100:$Vl,101:$Vm,103:$Vn,104:$Vo,108:44,114:$Vt,115:$Vu,116:$Vv,117:$Vw,118:$Vx,119:$Vy},{22:$Vq1,76:$Vr1,86:230,92:$Vs1,95:$Vt1,97:231,98:232,99:$Vu1,100:$Vv1,101:$Vw1,102:$Vx1,103:$Vy1,104:$Vz1,105:$VA1},{22:$Vq1,76:$Vr1,86:244,92:$Vs1,95:$Vt1,97:231,98:232,99:$Vu1,100:$Vv1,101:$Vw1,102:$Vx1,103:$Vy1,104:$Vz1,105:$VA1},{22:$Vq1,76:$Vr1,86:245,92:$Vs1,94:[1,246],95:$Vt1,97:231,98:232,99:$Vu1,100:$Vv1,101:$Vw1,102:$Vx1,103:$Vy1,104:$Vz1,105:$VA1},{22:$Vq1,76:$Vr1,86:247,92:$Vs1,94:[1,248],95:$Vt1,97:231,98:232,99:$Vu1,100:$Vv1,101:$Vw1,102:$Vx1,103:$Vy1,104:$Vz1,105:$VA1},{95:[1,249]},{22:$Vq1,76:$Vr1,86:250,92:$Vs1,95:$Vt1,97:231,98:232,99:$Vu1,100:$Vv1,101:$Vw1,102:$Vx1,103:$Vy1,104:$Vz1,105:$VA1},{22:$Vq1,76:$Vr1,86:251,92:$Vs1,95:$Vt1,97:231,98:232,99:$Vu1,100:$Vv1,101:$Vw1,102:$Vx1,103:$Vy1,104:$Vz1,105:$VA1},{26:$VG,47:$VH,81:$VI,87:252,95:$VJ,96:$VK,99:$VL,100:$VM,101:$VN,103:$VO,104:$VP,107:94,109:92,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},o($VZ,[2,97]),{74:[1,253]},o($VZ,[2,101],{22:[1,254]}),o($VZ,[2,102]),o($VZ,[2,105]),o($VZ,[2,107],{22:[1,255]}),o($VZ,[2,108]),o($VX,[2,55]),{22:$V11,24:$V21,26:$V31,38:$V41,42:$V51,47:$VH,51:[1,256],62:$V61,70:$V71,73:191,75:143,76:$V91,77:$Va1,78:$Vb1,79:$Vc1,80:$Vd1,81:$Ve1,82:$Vf1,84:134,85:$Vg1,95:$VJ,96:$VK,99:$VL,100:$VM,101:$Vh1,103:$VO,104:$VP,105:$Vi1,106:$Vj1,107:140,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},o($VX,[2,61]),o($VX,[2,57]),o($VX,[2,58]),o($VX,[2,59]),o($VX,[2,60]),o($VX,[2,62]),{22:$V11,24:$V21,26:$V31,38:$V41,42:$V51,47:$VH,61:[1,257],62:$V61,70:$V71,73:191,75:143,76:$V91,77:$Va1,78:$Vb1,79:$Vc1,80:$Vd1,81:$Ve1,82:$Vf1,84:134,85:$Vg1,95:$VJ,96:$VK,99:$VL,100:$VM,101:$Vh1,103:$VO,104:$VP,105:$Vi1,106:$Vj1,107:140,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},o($VX,[2,64]),o($VX,[2,65]),o($VX,[2,67]),o($VX,[2,66]),o($VX,[2,68]),o($Vo1,[2,4]),o([22,47,81,95,96,99,100,101,103,104,114,115,116,117,118,119],[2,76]),{22:$V11,24:$V21,26:$V31,38:$V41,41:[1,258],42:$V51,47:$VH,62:$V61,70:$V71,73:191,75:143,76:$V91,77:$Va1,78:$Vb1,79:$Vc1,80:$Vd1,81:$Ve1,82:$Vf1,84:134,85:$Vg1,95:$VJ,96:$VK,99:$VL,100:$VM,101:$Vh1,103:$VO,104:$VP,105:$Vi1,106:$Vj1,107:140,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},{18:18,19:19,20:$V6,21:$V7,22:$V8,23:$V9,32:24,33:25,34:26,35:27,36:28,37:29,38:$Va,42:[1,259],43:31,45:32,46:42,47:$Vb,49:43,76:$Vc,77:$Vd,78:$Ve,79:$Vf,80:$Vg,81:$Vh,95:$Vi,96:$Vj,99:$Vk,100:$Vl,101:$Vm,103:$Vn,104:$Vo,108:44,110:$Vp,111:$Vq,112:$Vr,113:$Vs,114:$Vt,115:$Vu,116:$Vv,117:$Vw,118:$Vx,119:$Vy},o($VW,[2,53]),o($VZ,[2,110],{96:$VB1}),o($VC1,[2,120],{98:261,22:$Vq1,76:$Vr1,92:$Vs1,95:$Vt1,99:$Vu1,100:$Vv1,101:$Vw1,102:$Vx1,103:$Vy1,104:$Vz1,105:$VA1}),o($VD1,[2,122]),o($VD1,[2,124]),o($VD1,[2,125]),o($VD1,[2,126]),o($VD1,[2,127]),o($VD1,[2,128]),o($VD1,[2,129]),o($VD1,[2,130]),o($VD1,[2,131]),o($VD1,[2,132]),o($VD1,[2,133]),o($VD1,[2,134]),o($VZ,[2,111],{96:$VB1}),o($VZ,[2,112],{96:$VB1}),{22:[1,262]},o($VZ,[2,113],{96:$VB1}),{22:[1,263]},o($Vp1,[2,119]),o($VZ,[2,93],{96:$VB1}),o($VZ,[2,94],{96:$VB1}),o($VZ,[2,95],{107:94,109:170,26:$VG,47:$VH,81:$VI,95:$VJ,96:$VK,99:$VL,100:$VM,101:$VN,103:$VO,104:$VP,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV}),o($VZ,[2,99]),{91:[1,264]},{91:[1,265]},{51:[1,266]},{61:[1,267]},{9:268,20:$VC,21:$VD,23:$VE},o($VB,[2,42]),{22:$Vq1,76:$Vr1,92:$Vs1,95:$Vt1,97:269,98:232,99:$Vu1,100:$Vv1,101:$Vw1,102:$Vx1,103:$Vy1,104:$Vz1,105:$VA1},o($VD1,[2,123]),{26:$VG,47:$VH,81:$VI,87:270,95:$VJ,96:$VK,99:$VL,100:$VM,101:$VN,103:$VO,104:$VP,107:94,109:92,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},{26:$VG,47:$VH,81:$VI,87:271,95:$VJ,96:$VK,99:$VL,100:$VM,101:$VN,103:$VO,104:$VP,107:94,109:92,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV},o($VZ,[2,103]),o($VZ,[2,109]),o($VX,[2,56]),o($VX,[2,63]),o($Vk1,$V5,{17:272}),o($VC1,[2,121],{98:261,22:$Vq1,76:$Vr1,92:$Vs1,95:$Vt1,99:$Vu1,100:$Vv1,101:$Vw1,102:$Vx1,103:$Vy1,104:$Vz1,105:$VA1}),o($VZ,[2,116],{107:94,109:170,22:[1,273],26:$VG,47:$VH,81:$VI,95:$VJ,96:$VK,99:$VL,100:$VM,101:$VN,103:$VO,104:$VP,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV}),o($VZ,[2,117],{107:94,109:170,22:[1,274],26:$VG,47:$VH,81:$VI,95:$VJ,96:$VK,99:$VL,100:$VM,101:$VN,103:$VO,104:$VP,114:$VQ,115:$VR,116:$VS,117:$VT,118:$VU,119:$VV}),{18:18,19:19,20:$V6,21:$V7,22:$V8,23:$V9,32:24,33:25,34:26,35:27,36:28,37:29,38:$Va,42:[1,275],43:31,45:32,46:42,47:$Vb,49:43,76:$Vc,77:$Vd,78:$Ve,79:$Vf,80:$Vg,81:$Vh,95:$Vi,96:$Vj,99:$Vk,100:$Vl,101:$Vm,103:$Vn,104:$Vo,108:44,110:$Vp,111:$Vq,112:$Vr,113:$Vs,114:$Vt,115:$Vu,116:$Vv,117:$Vw,118:$Vx,119:$Vy},{22:$Vq1,76:$Vr1,86:276,92:$Vs1,95:$Vt1,97:231,98:232,99:$Vu1,100:$Vv1,101:$Vw1,102:$Vx1,103:$Vy1,104:$Vz1,105:$VA1},{22:$Vq1,76:$Vr1,86:277,92:$Vs1,95:$Vt1,97:231,98:232,99:$Vu1,100:$Vv1,101:$Vw1,102:$Vx1,103:$Vy1,104:$Vz1,105:$VA1},o($VB,[2,41]),o($VZ,[2,114],{96:$VB1}),o($VZ,[2,115],{96:$VB1})], -defaultActions: {2:[2,1],9:[2,5],10:[2,2],124:[2,7]}, -parseError: function parseError (str, hash) { - if (hash.recoverable) { - this.trace(str); - } else { - var error = new Error(str); - error.hash = hash; - throw error; - } -}, -parse: function parse(input) { - var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = '', yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1; - var args = lstack.slice.call(arguments, 1); - var lexer = Object.create(this.lexer); - var sharedState = { yy: {} }; - for (var k in this.yy) { - if (Object.prototype.hasOwnProperty.call(this.yy, k)) { - sharedState.yy[k] = this.yy[k]; - } - } - lexer.setInput(input, sharedState.yy); - sharedState.yy.lexer = lexer; - sharedState.yy.parser = this; - if (typeof lexer.yylloc == 'undefined') { - lexer.yylloc = {}; - } - var yyloc = lexer.yylloc; - lstack.push(yyloc); - var ranges = lexer.options && lexer.options.ranges; - if (typeof sharedState.yy.parseError === 'function') { - this.parseError = sharedState.yy.parseError; - } else { - this.parseError = Object.getPrototypeOf(this).parseError; - } - function popStack(n) { - stack.length = stack.length - 2 * n; - vstack.length = vstack.length - n; - lstack.length = lstack.length - n; - } - function lex() { - var token; - token = tstack.pop() || lexer.lex() || EOF; - if (typeof token !== 'number') { - if (token instanceof Array) { - tstack = token; - token = tstack.pop(); - } - token = self.symbols_[token] || token; - } - return token; - } - var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected; - while (true) { - state = stack[stack.length - 1]; - if (this.defaultActions[state]) { - action = this.defaultActions[state]; - } else { - if (symbol === null || typeof symbol == 'undefined') { - symbol = lex(); - } - action = table[state] && table[state][symbol]; - } - if (typeof action === 'undefined' || !action.length || !action[0]) { - var errStr = ''; - expected = []; - for (p in table[state]) { - if (this.terminals_[p] && p > TERROR) { - expected.push('\'' + this.terminals_[p] + '\''); - } - } - if (lexer.showPosition) { - errStr = 'Parse error on line ' + (yylineno + 1) + ':\n' + lexer.showPosition() + '\nExpecting ' + expected.join(', ') + ', got \'' + (this.terminals_[symbol] || symbol) + '\''; - } else { - errStr = 'Parse error on line ' + (yylineno + 1) + ': Unexpected ' + (symbol == EOF ? 'end of input' : '\'' + (this.terminals_[symbol] || symbol) + '\''); - } - this.parseError(errStr, { - text: lexer.match, - token: this.terminals_[symbol] || symbol, - line: lexer.yylineno, - loc: yyloc, - expected: expected - }); - } - if (action[0] instanceof Array && action.length > 1) { - throw new Error('Parse Error: multiple actions possible at state: ' + state + ', token: ' + symbol); - } - switch (action[0]) { - case 1: - stack.push(symbol); - vstack.push(lexer.yytext); - lstack.push(lexer.yylloc); - stack.push(action[1]); - symbol = null; - if (!preErrorSymbol) { - yyleng = lexer.yyleng; - yytext = lexer.yytext; - yylineno = lexer.yylineno; - yyloc = lexer.yylloc; - if (recovering > 0) { - recovering--; - } - } else { - symbol = preErrorSymbol; - preErrorSymbol = null; - } - break; - case 2: - len = this.productions_[action[1]][1]; - yyval.$ = vstack[vstack.length - len]; - yyval._$ = { - first_line: lstack[lstack.length - (len || 1)].first_line, - last_line: lstack[lstack.length - 1].last_line, - first_column: lstack[lstack.length - (len || 1)].first_column, - last_column: lstack[lstack.length - 1].last_column - }; - if (ranges) { - yyval._$.range = [ - lstack[lstack.length - (len || 1)].range[0], - lstack[lstack.length - 1].range[1] - ]; - } - r = this.performAction.apply(yyval, [ - yytext, - yyleng, - yylineno, - sharedState.yy, - action[1], - vstack, - lstack - ].concat(args)); - if (typeof r !== 'undefined') { - return r; - } - if (len) { - stack = stack.slice(0, -1 * len * 2); - vstack = vstack.slice(0, -1 * len); - lstack = lstack.slice(0, -1 * len); - } - stack.push(this.productions_[action[1]][0]); - vstack.push(yyval.$); - lstack.push(yyval._$); - newState = table[stack[stack.length - 2]][stack[stack.length - 1]]; - stack.push(newState); - break; - case 3: - return true; - } - } - return true; -}}; - -/* generated by jison-lex 0.3.4 */ -var lexer = (function(){ -var lexer = ({ - -EOF:1, - -parseError:function parseError(str, hash) { - if (this.yy.parser) { - this.yy.parser.parseError(str, hash); - } else { - throw new Error(str); - } - }, - -// resets the lexer, sets new input -setInput:function (input, yy) { - this.yy = yy || this.yy || {}; - this._input = input; - this._more = this._backtrack = this.done = false; - this.yylineno = this.yyleng = 0; - this.yytext = this.matched = this.match = ''; - this.conditionStack = ['INITIAL']; - this.yylloc = { - first_line: 1, - first_column: 0, - last_line: 1, - last_column: 0 - }; - if (this.options.ranges) { - this.yylloc.range = [0,0]; - } - this.offset = 0; - return this; - }, - -// consumes and returns one char from the input -input:function () { - var ch = this._input[0]; - this.yytext += ch; - this.yyleng++; - this.offset++; - this.match += ch; - this.matched += ch; - var lines = ch.match(/(?:\r\n?|\n).*/g); - if (lines) { - this.yylineno++; - this.yylloc.last_line++; - } else { - this.yylloc.last_column++; - } - if (this.options.ranges) { - this.yylloc.range[1]++; - } - - this._input = this._input.slice(1); - return ch; - }, - -// unshifts one char (or a string) into the input -unput:function (ch) { - var len = ch.length; - var lines = ch.split(/(?:\r\n?|\n)/g); - - this._input = ch + this._input; - this.yytext = this.yytext.substr(0, this.yytext.length - len); - //this.yyleng -= len; - this.offset -= len; - var oldLines = this.match.split(/(?:\r\n?|\n)/g); - this.match = this.match.substr(0, this.match.length - 1); - this.matched = this.matched.substr(0, this.matched.length - 1); - - if (lines.length - 1) { - this.yylineno -= lines.length - 1; - } - var r = this.yylloc.range; - - this.yylloc = { - first_line: this.yylloc.first_line, - last_line: this.yylineno + 1, - first_column: this.yylloc.first_column, - last_column: lines ? - (lines.length === oldLines.length ? this.yylloc.first_column : 0) - + oldLines[oldLines.length - lines.length].length - lines[0].length : - this.yylloc.first_column - len - }; - - if (this.options.ranges) { - this.yylloc.range = [r[0], r[0] + this.yyleng - len]; - } - this.yyleng = this.yytext.length; - return this; - }, - -// When called from action, caches matched text and appends it on next action -more:function () { - this._more = true; - return this; - }, - -// When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead. -reject:function () { - if (this.options.backtrack_lexer) { - this._backtrack = true; - } else { - return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n' + this.showPosition(), { - text: "", - token: null, - line: this.yylineno - }); - - } - return this; - }, - -// retain first n characters of the match -less:function (n) { - this.unput(this.match.slice(n)); - }, - -// displays already matched input, i.e. for error messages -pastInput:function () { - var past = this.matched.substr(0, this.matched.length - this.match.length); - return (past.length > 20 ? '...':'') + past.substr(-20).replace(/\n/g, ""); - }, - -// displays upcoming input, i.e. for error messages -upcomingInput:function () { - var next = this.match; - if (next.length < 20) { - next += this._input.substr(0, 20-next.length); - } - return (next.substr(0,20) + (next.length > 20 ? '...' : '')).replace(/\n/g, ""); - }, - -// displays the character position where the lexing error occurred, i.e. for error messages -showPosition:function () { - var pre = this.pastInput(); - var c = new Array(pre.length + 1).join("-"); - return pre + this.upcomingInput() + "\n" + c + "^"; - }, - -// test the lexed token: return FALSE when not a match, otherwise return token -test_match:function(match, indexed_rule) { - var token, - lines, - backup; - - if (this.options.backtrack_lexer) { - // save context - backup = { - yylineno: this.yylineno, - yylloc: { - first_line: this.yylloc.first_line, - last_line: this.last_line, - first_column: this.yylloc.first_column, - last_column: this.yylloc.last_column - }, - yytext: this.yytext, - match: this.match, - matches: this.matches, - matched: this.matched, - yyleng: this.yyleng, - offset: this.offset, - _more: this._more, - _input: this._input, - yy: this.yy, - conditionStack: this.conditionStack.slice(0), - done: this.done - }; - if (this.options.ranges) { - backup.yylloc.range = this.yylloc.range.slice(0); - } - } - - lines = match[0].match(/(?:\r\n?|\n).*/g); - if (lines) { - this.yylineno += lines.length; - } - this.yylloc = { - first_line: this.yylloc.last_line, - last_line: this.yylineno + 1, - first_column: this.yylloc.last_column, - last_column: lines ? - lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length : - this.yylloc.last_column + match[0].length - }; - this.yytext += match[0]; - this.match += match[0]; - this.matches = match; - this.yyleng = this.yytext.length; - if (this.options.ranges) { - this.yylloc.range = [this.offset, this.offset += this.yyleng]; - } - this._more = false; - this._backtrack = false; - this._input = this._input.slice(match[0].length); - this.matched += match[0]; - token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]); - if (this.done && this._input) { - this.done = false; - } - if (token) { - return token; - } else if (this._backtrack) { - // recover context - for (var k in backup) { - this[k] = backup[k]; - } - return false; // rule action called reject() implying the next rule should be tested instead. - } - return false; - }, - -// return next match in input -next:function () { - if (this.done) { - return this.EOF; - } - if (!this._input) { - this.done = true; - } - - var token, - match, - tempMatch, - index; - if (!this._more) { - this.yytext = ''; - this.match = ''; - } - var rules = this._currentRules(); - for (var i = 0; i < rules.length; i++) { - tempMatch = this._input.match(this.rules[rules[i]]); - if (tempMatch && (!match || tempMatch[0].length > match[0].length)) { - match = tempMatch; - index = i; - if (this.options.backtrack_lexer) { - token = this.test_match(tempMatch, rules[i]); - if (token !== false) { - return token; - } else if (this._backtrack) { - match = false; - continue; // rule action called reject() implying a rule MISmatch. - } else { - // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) - return false; - } - } else if (!this.options.flex) { - break; - } - } - } - if (match) { - token = this.test_match(match, rules[index]); - if (token !== false) { - return token; - } - // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) - return false; - } - if (this._input === "") { - return this.EOF; - } else { - return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\n' + this.showPosition(), { - text: "", - token: null, - line: this.yylineno - }); - } - }, - -// return next match that has a token -lex:function lex () { - var r = this.next(); - if (r) { - return r; - } else { - return this.lex(); - } - }, - -// activates a new lexer condition state (pushes the new lexer condition state onto the condition stack) -begin:function begin (condition) { - this.conditionStack.push(condition); - }, - -// pop the previously active lexer condition state off the condition stack -popState:function popState () { - var n = this.conditionStack.length - 1; - if (n > 0) { - return this.conditionStack.pop(); - } else { - return this.conditionStack[0]; - } - }, - -// produce the lexer rule set which is active for the currently active lexer condition state -_currentRules:function _currentRules () { - if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) { - return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules; - } else { - return this.conditions["INITIAL"].rules; - } - }, - -// return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available -topState:function topState (n) { - n = this.conditionStack.length - 1 - Math.abs(n || 0); - if (n >= 0) { - return this.conditionStack[n]; - } else { - return "INITIAL"; - } - }, - -// alias for begin(condition) -pushState:function pushState (condition) { - this.begin(condition); - }, - -// return the number of states currently on the stack -stateStackSize:function stateStackSize() { - return this.conditionStack.length; - }, -options: {}, -performAction: function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) { -var YYSTATE=YY_START; -switch($avoiding_name_collisions) { -case 0: this.begin('open_directive'); return 12; -break; -case 1: this.begin('type_directive'); return 13; -break; -case 2: this.popState(); this.begin('arg_directive'); return 10; -break; -case 3: this.popState(); this.popState(); return 15; -break; -case 4:return 14; -break; -case 5:/* skip comments */ -break; -case 6:/* skip comments */ -break; -case 7:this.begin("string"); -break; -case 8:this.popState(); -break; -case 9:return "STR"; -break; -case 10:return 76; -break; -case 11:return 85; -break; -case 12:return 77; -break; -case 13:return 94; -break; -case 14:return 78; -break; -case 15:return 79; -break; -case 16:this.begin("href"); -break; -case 17:this.popState(); -break; -case 18:return 90; -break; -case 19:this.begin("callbackname"); -break; -case 20:this.popState(); -break; -case 21:this.popState(); this.begin("callbackargs"); -break; -case 22:return 88; -break; -case 23:this.popState(); -break; -case 24:return 89; -break; -case 25:this.begin("click"); -break; -case 26:this.popState(); -break; -case 27:return 80; -break; -case 28:if(yy.lex.firstGraph()){this.begin("dir");} return 24; -break; -case 29:if(yy.lex.firstGraph()){this.begin("dir");} return 24; -break; -case 30:return 38; -break; -case 31:return 42; -break; -case 32:return 91; -break; -case 33:return 91; -break; -case 34:return 91; -break; -case 35:return 91; -break; -case 36: this.popState(); return 25; -break; -case 37: this.popState(); return 26; -break; -case 38: this.popState(); return 26; -break; -case 39: this.popState(); return 26; -break; -case 40: this.popState(); return 26; -break; -case 41: this.popState(); return 26; -break; -case 42: this.popState(); return 26; -break; -case 43: this.popState(); return 26; -break; -case 44: this.popState(); return 26; -break; -case 45: this.popState(); return 26; -break; -case 46: this.popState(); return 26; -break; -case 47:return 110; -break; -case 48:return 111; -break; -case 49:return 112; -break; -case 50:return 113; -break; -case 51: return 95; -break; -case 52:return 103; -break; -case 53:return 48; -break; -case 54:return 100; -break; -case 55:return 47; -break; -case 56:return 20; -break; -case 57:return 96; -break; -case 58:return 118; -break; -case 59:return 71; -break; -case 60:return 71; -break; -case 61:return 71; -break; -case 62:return 70; -break; -case 63:return 70; -break; -case 64:return 70; -break; -case 65:return 52; -break; -case 66:return 53; -break; -case 67:return 54; -break; -case 68:return 55; -break; -case 69:return 56; -break; -case 70:return 57; -break; -case 71:return 58; -break; -case 72:return 59; -break; -case 73:return 101; -break; -case 74:return 104; -break; -case 75:return 119; -break; -case 76:return 116; -break; -case 77:return 105; -break; -case 78:return 117; -break; -case 79:return 117; -break; -case 80:return 106; -break; -case 81:return 62; -break; -case 82:return 82; -break; -case 83:return 'SEP'; -break; -case 84:return 81; -break; -case 85:return 99; -break; -case 86:return 64; -break; -case 87:return 63; -break; -case 88:return 66; -break; -case 89:return 65; -break; -case 90:return 114; -break; -case 91:return 115; -break; -case 92:return 72; -break; -case 93:return 50; -break; -case 94:return 51; -break; -case 95:return 40; -break; -case 96:return 41; -break; -case 97:return 60 -break; -case 98:return 61 -break; -case 99:return 125; -break; -case 100:return 21; -break; -case 101:return 22; -break; -case 102:return 23; -break; -} -}, -rules: [/^(?:%%\{)/,/^(?:((?:(?!\}%%)[^:.])*))/,/^(?::)/,/^(?:\}%%)/,/^(?:((?:(?!\}%%).|\n)*))/,/^(?:%%(?!\{)[^\n]*)/,/^(?:[^\}]%%[^\n]*)/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:href[\s]+["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:click[\s]+)/,/^(?:[\s\n])/,/^(?:[^\s\n]*)/,/^(?:graph\b)/,/^(?:flowchart\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:(\r?\n)*\s*\n)/,/^(?:\s*LR\b)/,/^(?:\s*RL\b)/,/^(?:\s*TB\b)/,/^(?:\s*BT\b)/,/^(?:\s*TD\b)/,/^(?:\s*BR\b)/,/^(?:\s*<)/,/^(?:\s*>)/,/^(?:\s*\^)/,/^(?:\s*v\b)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::::)/,/^(?::)/,/^(?:&)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:\(-)/,/^(?:-\))/,/^(?:\(\[)/,/^(?:\]\))/,/^(?:\[\[)/,/^(?:\]\])/,/^(?:\[\()/,/^(?:\)\])/,/^(?:-)/,/^(?:\.)/,/^(?:[\_])/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:\\\|)/,/^(?:v\b)/,/^(?:[A-Za-z]+)/,/^(?:\\\])/,/^(?:\[\/)/,/^(?:\/\])/,/^(?:\[\\)/,/^(?:[!"#$%&'*+,-.`?\\_/])/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:(\r?\n)+)/,/^(?:\s)/,/^(?:$)/], -conditions: {"close_directive":{"rules":[],"inclusive":false},"arg_directive":{"rules":[3,4],"inclusive":false},"type_directive":{"rules":[2,3],"inclusive":false},"open_directive":{"rules":[1],"inclusive":false},"callbackargs":{"rules":[23,24],"inclusive":false},"callbackname":{"rules":[20,21,22],"inclusive":false},"href":{"rules":[17,18],"inclusive":false},"click":{"rules":[26,27],"inclusive":false},"vertex":{"rules":[],"inclusive":false},"dir":{"rules":[36,37,38,39,40,41,42,43,44,45,46],"inclusive":false},"string":{"rules":[8,9],"inclusive":false},"INITIAL":{"rules":[0,5,6,7,10,11,12,13,14,15,16,19,25,28,29,30,31,32,33,34,35,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102],"inclusive":true}} -}); -return lexer; -})(); -parser.lexer = lexer; -function Parser () { - this.yy = {}; -} -Parser.prototype = parser;parser.Parser = Parser; -return new Parser; -})(); - - -if (true) { -exports.parser = parser; -exports.Parser = parser.Parser; -exports.parse = function () { return parser.parse.apply(parser, arguments); }; -exports.main = function commonjsMain (args) { - if (!args[1]) { - console.log('Usage: '+args[0]+' FILE'); - process.exit(1); - } - var source = __webpack_require__(/*! fs */ "./node_modules/node-libs-browser/mock/empty.js").readFileSync(__webpack_require__(/*! path */ "./node_modules/path-browserify/index.js").normalize(args[1]), "utf8"); - return exports.parser.parse(source); -}; -if ( true && __webpack_require__.c[__webpack_require__.s] === module) { - exports.main(process.argv.slice(1)); -} -} -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../../node_modules/process/browser.js */ "./node_modules/process/browser.js"), __webpack_require__(/*! ./../../../../node_modules/webpack/buildin/module.js */ "./node_modules/webpack/buildin/module.js")(module))) - -/***/ }), - /***/ "./src/diagrams/flowchart/styles.js": /*!******************************************!*\ !*** ./src/diagrams/flowchart/styles.js ***! \******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); var getStyles = function getStyles(options) { return ".label {\n font-family: ".concat(options.fontFamily, ";\n color: ").concat(options.nodeTextColor || options.textColor, ";\n }\n .cluster-label text {\n fill: ").concat(options.titleColor, ";\n }\n .cluster-label span {\n color: ").concat(options.titleColor, ";\n }\n\n .label text,span {\n fill: ").concat(options.nodeTextColor || options.textColor, ";\n color: ").concat(options.nodeTextColor || options.textColor, ";\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ").concat(options.mainBkg, ";\n stroke: ").concat(options.nodeBorder, ";\n stroke-width: 1px;\n }\n\n .node .label {\n text-align: center;\n }\n .node.clickable {\n cursor: pointer;\n }\n\n .arrowheadPath {\n fill: ").concat(options.arrowheadColor, ";\n }\n\n .edgePath .path {\n stroke: ").concat(options.lineColor, ";\n stroke-width: 2.0px;\n }\n\n .flowchart-link {\n stroke: ").concat(options.lineColor, ";\n fill: none;\n }\n\n .edgeLabel {\n background-color: ").concat(options.edgeLabelBackground, ";\n rect {\n opacity: 0.5;\n background-color: ").concat(options.edgeLabelBackground, ";\n fill: ").concat(options.edgeLabelBackground, ";\n }\n text-align: center;\n }\n\n .cluster rect {\n fill: ").concat(options.clusterBkg, ";\n stroke: ").concat(options.clusterBorder, ";\n stroke-width: 1px;\n }\n\n .cluster text {\n fill: ").concat(options.titleColor, ";\n }\n\n .cluster span {\n color: ").concat(options.titleColor, ";\n }\n // .cluster div {\n // color: ").concat(options.titleColor, ";\n // }\n\n div.mermaidTooltip {\n position: absolute;\n text-align: center;\n max-width: 200px;\n padding: 2px;\n font-family: ").concat(options.fontFamily, ";\n font-size: 12px;\n background: ").concat(options.tertiaryColor, ";\n border: 1px solid ").concat(options.border2, ";\n border-radius: 2px;\n pointer-events: none;\n z-index: 100;\n }\n"); }; -/* harmony default export */ __webpack_exports__["default"] = (getStyles); +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (getStyles); /***/ }), @@ -12277,45 +17696,47 @@ var getStyles = function getStyles(options) { /*!***************************************!*\ !*** ./src/diagrams/gantt/ganttDb.js ***! \***************************************/ -/*! exports provided: parseDirective, clear, setAxisFormat, getAxisFormat, setTodayMarker, getTodayMarker, setDateFormat, enableInclusiveEndDates, endDatesAreInclusive, enableTopAxis, topAxisEnabled, getDateFormat, setExcludes, getExcludes, setTitle, getTitle, addSection, getSections, getTasks, addTask, findTaskById, addTaskOrg, setLink, setClass, setClickEvent, bindFunctions, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "parseDirective", function() { return parseDirective; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "clear", function() { return clear; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setAxisFormat", function() { return setAxisFormat; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getAxisFormat", function() { return getAxisFormat; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setTodayMarker", function() { return setTodayMarker; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getTodayMarker", function() { return getTodayMarker; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setDateFormat", function() { return setDateFormat; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "enableInclusiveEndDates", function() { return enableInclusiveEndDates; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "endDatesAreInclusive", function() { return endDatesAreInclusive; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "enableTopAxis", function() { return enableTopAxis; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "topAxisEnabled", function() { return topAxisEnabled; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getDateFormat", function() { return getDateFormat; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setExcludes", function() { return setExcludes; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getExcludes", function() { return getExcludes; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setTitle", function() { return setTitle; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getTitle", function() { return getTitle; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "addSection", function() { return addSection; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getSections", function() { return getSections; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getTasks", function() { return getTasks; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "addTask", function() { return addTask; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "findTaskById", function() { return findTaskById; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "addTaskOrg", function() { return addTaskOrg; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setLink", function() { return setLink; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setClass", function() { return setClass; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setClickEvent", function() { return setClickEvent; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "bindFunctions", function() { return bindFunctions; }); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "parseDirective": () => (/* binding */ parseDirective), +/* harmony export */ "clear": () => (/* binding */ clear), +/* harmony export */ "setAxisFormat": () => (/* binding */ setAxisFormat), +/* harmony export */ "getAxisFormat": () => (/* binding */ getAxisFormat), +/* harmony export */ "setTodayMarker": () => (/* binding */ setTodayMarker), +/* harmony export */ "getTodayMarker": () => (/* binding */ getTodayMarker), +/* harmony export */ "setDateFormat": () => (/* binding */ setDateFormat), +/* harmony export */ "enableInclusiveEndDates": () => (/* binding */ enableInclusiveEndDates), +/* harmony export */ "endDatesAreInclusive": () => (/* binding */ endDatesAreInclusive), +/* harmony export */ "enableTopAxis": () => (/* binding */ enableTopAxis), +/* harmony export */ "topAxisEnabled": () => (/* binding */ topAxisEnabled), +/* harmony export */ "getDateFormat": () => (/* binding */ getDateFormat), +/* harmony export */ "setExcludes": () => (/* binding */ setExcludes), +/* harmony export */ "getExcludes": () => (/* binding */ getExcludes), +/* harmony export */ "setTitle": () => (/* binding */ setTitle), +/* harmony export */ "getTitle": () => (/* binding */ getTitle), +/* harmony export */ "addSection": () => (/* binding */ addSection), +/* harmony export */ "getSections": () => (/* binding */ getSections), +/* harmony export */ "getTasks": () => (/* binding */ getTasks), +/* harmony export */ "addTask": () => (/* binding */ addTask), +/* harmony export */ "findTaskById": () => (/* binding */ findTaskById), +/* harmony export */ "addTaskOrg": () => (/* binding */ addTaskOrg), +/* harmony export */ "setLink": () => (/* binding */ setLink), +/* harmony export */ "setClass": () => (/* binding */ setClass), +/* harmony export */ "setClickEvent": () => (/* binding */ setClickEvent), +/* harmony export */ "bindFunctions": () => (/* binding */ bindFunctions), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); /* harmony import */ var moment_mini__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! moment-mini */ "moment-mini"); /* harmony import */ var moment_mini__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(moment_mini__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _braintree_sanitize_url__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @braintree/sanitize-url */ "@braintree/sanitize-url"); /* harmony import */ var _braintree_sanitize_url__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_braintree_sanitize_url__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../logger */ "./src/logger.js"); -/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../config */ "./src/config.js"); -/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils */ "./src/utils.js"); -/* harmony import */ var _mermaidAPI__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../mermaidAPI */ "./src/mermaidAPI.js"); +/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../logger */ "./src/logger.js"); +/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../config */ "./src/config.js"); +/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../utils */ "./src/utils.js"); +/* harmony import */ var _mermaidAPI__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../mermaidAPI */ "./src/mermaidAPI.js"); function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } @@ -12349,7 +17770,7 @@ var topAxis = false; // The serial order of the task in the script var lastOrder = 0; var parseDirective = function parseDirective(statement, context, type) { - _mermaidAPI__WEBPACK_IMPORTED_MODULE_5__["default"].parseDirective(this, statement, context, type); + _mermaidAPI__WEBPACK_IMPORTED_MODULE_2__["default"].parseDirective(this, statement, context, type); }; var clear = function clear() { sections = []; @@ -12513,8 +17934,8 @@ var getStartDate = function getStartDate(prevTime, dateFormat, str) { if (mDate.isValid()) { return mDate.toDate(); } else { - _logger__WEBPACK_IMPORTED_MODULE_2__["log"].debug('Invalid date:' + str); - _logger__WEBPACK_IMPORTED_MODULE_2__["log"].debug('With date format:' + dateFormat.trim()); + _logger__WEBPACK_IMPORTED_MODULE_3__.log.debug('Invalid date:' + str); + _logger__WEBPACK_IMPORTED_MODULE_3__.log.debug('With date format:' + dateFormat.trim()); } // Default date - now @@ -12809,8 +18230,8 @@ var compileTasks = function compileTasks() { var setLink = function setLink(ids, _linkStr) { var linkStr = _linkStr; - if (_config__WEBPACK_IMPORTED_MODULE_3__["getConfig"]().securityLevel !== 'loose') { - linkStr = Object(_braintree_sanitize_url__WEBPACK_IMPORTED_MODULE_1__["sanitizeUrl"])(_linkStr); + if (_config__WEBPACK_IMPORTED_MODULE_4__.getConfig().securityLevel !== 'loose') { + linkStr = (0,_braintree_sanitize_url__WEBPACK_IMPORTED_MODULE_1__.sanitizeUrl)(_linkStr); } ids.split(',').forEach(function (id) { @@ -12841,7 +18262,7 @@ var setClass = function setClass(ids, className) { }; var setClickFun = function setClickFun(id, functionName, functionArgs) { - if (_config__WEBPACK_IMPORTED_MODULE_3__["getConfig"]().securityLevel !== 'loose') { + if (_config__WEBPACK_IMPORTED_MODULE_4__.getConfig().securityLevel !== 'loose') { return; } @@ -12879,7 +18300,7 @@ var setClickFun = function setClickFun(id, functionName, functionArgs) { if (typeof rawTask !== 'undefined') { pushFun(id, function () { - _utils__WEBPACK_IMPORTED_MODULE_4__["default"].runFunc.apply(_utils__WEBPACK_IMPORTED_MODULE_4__["default"], [functionName].concat(_toConsumableArray(argList))); + _utils__WEBPACK_IMPORTED_MODULE_5__["default"].runFunc.apply(_utils__WEBPACK_IMPORTED_MODULE_5__["default"], [functionName].concat(_toConsumableArray(argList))); }); } }; @@ -12936,10 +18357,10 @@ var bindFunctions = function bindFunctions(element) { fun(element); }); }; -/* harmony default export */ __webpack_exports__["default"] = ({ +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ parseDirective: parseDirective, getConfig: function getConfig() { - return _config__WEBPACK_IMPORTED_MODULE_3__["getConfig"]().gantt; + return _config__WEBPACK_IMPORTED_MODULE_4__.getConfig().gantt; }, clear: clear, setDateFormat: setDateFormat, @@ -12992,28 +18413,30 @@ function getTaskTags(data, task, tags) { /*!*********************************************!*\ !*** ./src/diagrams/gantt/ganttRenderer.js ***! \*********************************************/ -/*! exports provided: setConf, draw, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setConf", function() { return setConf; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "draw", function() { return draw; }); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "setConf": () => (/* binding */ setConf), +/* harmony export */ "draw": () => (/* binding */ draw), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); /* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3 */ "d3"); /* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(d3__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _parser_gantt__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./parser/gantt */ "./src/diagrams/gantt/parser/gantt.jison"); /* harmony import */ var _parser_gantt__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_parser_gantt__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var _common_common__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../common/common */ "./src/diagrams/common/common.js"); -/* harmony import */ var _ganttDb__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./ganttDb */ "./src/diagrams/gantt/ganttDb.js"); -/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../config */ "./src/config.js"); -/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../utils */ "./src/utils.js"); +/* harmony import */ var _common_common__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../common/common */ "./src/diagrams/common/common.js"); +/* harmony import */ var _ganttDb__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ganttDb */ "./src/diagrams/gantt/ganttDb.js"); +/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../config */ "./src/config.js"); +/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils */ "./src/utils.js"); -_parser_gantt__WEBPACK_IMPORTED_MODULE_1__["parser"].yy = _ganttDb__WEBPACK_IMPORTED_MODULE_3__["default"]; +_parser_gantt__WEBPACK_IMPORTED_MODULE_1__.parser.yy = _ganttDb__WEBPACK_IMPORTED_MODULE_2__["default"]; var setConf = function setConf() {// const keys = Object.keys(cnf); // keys.forEach(function(key) { // conf[key] = cnf[key]; @@ -13021,9 +18444,9 @@ var setConf = function setConf() {// const keys = Object.keys(cnf); }; var w; var draw = function draw(text, id) { - var conf = Object(_config__WEBPACK_IMPORTED_MODULE_4__["getConfig"])().gantt; - _parser_gantt__WEBPACK_IMPORTED_MODULE_1__["parser"].yy.clear(); - _parser_gantt__WEBPACK_IMPORTED_MODULE_1__["parser"].parse(text); + var conf = (0,_config__WEBPACK_IMPORTED_MODULE_3__.getConfig)().gantt; + _parser_gantt__WEBPACK_IMPORTED_MODULE_1__.parser.yy.clear(); + _parser_gantt__WEBPACK_IMPORTED_MODULE_1__.parser.parse(text); var elem = document.getElementById(id); w = elem.parentElement.offsetWidth; @@ -13035,16 +18458,16 @@ var draw = function draw(text, id) { w = conf.useWidth; } - var taskArray = _parser_gantt__WEBPACK_IMPORTED_MODULE_1__["parser"].yy.getTasks(); // Set height based on number of tasks + var taskArray = _parser_gantt__WEBPACK_IMPORTED_MODULE_1__.parser.yy.getTasks(); // Set height based on number of tasks var h = taskArray.length * (conf.barHeight + conf.barGap) + 2 * conf.topPadding; // Set viewBox elem.setAttribute('viewBox', '0 0 ' + w + ' ' + h); - var svg = Object(d3__WEBPACK_IMPORTED_MODULE_0__["select"])("[id=\"".concat(id, "\"]")); // Set timescale + var svg = (0,d3__WEBPACK_IMPORTED_MODULE_0__.select)("[id=\"".concat(id, "\"]")); // Set timescale - var timeScale = Object(d3__WEBPACK_IMPORTED_MODULE_0__["scaleTime"])().domain([Object(d3__WEBPACK_IMPORTED_MODULE_0__["min"])(taskArray, function (d) { + var timeScale = (0,d3__WEBPACK_IMPORTED_MODULE_0__.scaleTime)().domain([(0,d3__WEBPACK_IMPORTED_MODULE_0__.min)(taskArray, function (d) { return d.startTime; - }), Object(d3__WEBPACK_IMPORTED_MODULE_0__["max"])(taskArray, function (d) { + }), (0,d3__WEBPACK_IMPORTED_MODULE_0__.max)(taskArray, function (d) { return d.endTime; })]).rangeRound([0, w - conf.leftPadding - conf.rightPadding]); var categories = []; @@ -13075,15 +18498,15 @@ var draw = function draw(text, id) { taskArray.sort(taskCompare); makeGant(taskArray, w, h); - Object(_utils__WEBPACK_IMPORTED_MODULE_5__["configureSvgSize"])(svg, h, w, conf.useMaxWidth); - svg.append('text').text(_parser_gantt__WEBPACK_IMPORTED_MODULE_1__["parser"].yy.getTitle()).attr('x', w / 2).attr('y', conf.titleTopMargin).attr('class', 'titleText'); + (0,_utils__WEBPACK_IMPORTED_MODULE_4__.configureSvgSize)(svg, h, w, conf.useMaxWidth); + svg.append('text').text(_parser_gantt__WEBPACK_IMPORTED_MODULE_1__.parser.yy.getTitle()).attr('x', w / 2).attr('y', conf.titleTopMargin).attr('class', 'titleText'); function makeGant(tasks, pageWidth, pageHeight) { var barHeight = conf.barHeight; var gap = barHeight + conf.barGap; var topPadding = conf.topPadding; var leftPadding = conf.leftPadding; - var colorScale = Object(d3__WEBPACK_IMPORTED_MODULE_0__["scaleLinear"])().domain([0, categories.length]).range(['#00B9FA', '#F95002']).interpolate(d3__WEBPACK_IMPORTED_MODULE_0__["interpolateHcl"]); + var colorScale = (0,d3__WEBPACK_IMPORTED_MODULE_0__.scaleLinear)().domain([0, categories.length]).range(['#00B9FA', '#F95002']).interpolate(d3__WEBPACK_IMPORTED_MODULE_0__.interpolateHcl); makeGrid(leftPadding, topPadding, pageWidth, pageHeight); drawRects(tasks, gap, topPadding, leftPadding, barHeight, colorScale, pageWidth, pageHeight); vertLabels(gap, topPadding, leftPadding, barHeight, colorScale); @@ -13274,11 +18697,11 @@ var draw = function draw(text, id) { } function makeGrid(theSidePad, theTopPad, w, h) { - var bottomXAxis = Object(d3__WEBPACK_IMPORTED_MODULE_0__["axisBottom"])(timeScale).tickSize(-h + theTopPad + conf.gridLineStartPadding).tickFormat(Object(d3__WEBPACK_IMPORTED_MODULE_0__["timeFormat"])(_parser_gantt__WEBPACK_IMPORTED_MODULE_1__["parser"].yy.getAxisFormat() || conf.axisFormat || '%Y-%m-%d')); + var bottomXAxis = (0,d3__WEBPACK_IMPORTED_MODULE_0__.axisBottom)(timeScale).tickSize(-h + theTopPad + conf.gridLineStartPadding).tickFormat((0,d3__WEBPACK_IMPORTED_MODULE_0__.timeFormat)(_parser_gantt__WEBPACK_IMPORTED_MODULE_1__.parser.yy.getAxisFormat() || conf.axisFormat || '%Y-%m-%d')); svg.append('g').attr('class', 'grid').attr('transform', 'translate(' + theSidePad + ', ' + (h - 50) + ')').call(bottomXAxis).selectAll('text').style('text-anchor', 'middle').attr('fill', '#000').attr('stroke', 'none').attr('font-size', 10).attr('dy', '1em'); - if (_ganttDb__WEBPACK_IMPORTED_MODULE_3__["default"].topAxisEnabled() || conf.topAxis) { - var topXAxis = Object(d3__WEBPACK_IMPORTED_MODULE_0__["axisTop"])(timeScale).tickSize(-h + theTopPad + conf.gridLineStartPadding).tickFormat(Object(d3__WEBPACK_IMPORTED_MODULE_0__["timeFormat"])(_parser_gantt__WEBPACK_IMPORTED_MODULE_1__["parser"].yy.getAxisFormat() || conf.axisFormat || '%Y-%m-%d')); + if (_ganttDb__WEBPACK_IMPORTED_MODULE_2__["default"].topAxisEnabled() || conf.topAxis) { + var topXAxis = (0,d3__WEBPACK_IMPORTED_MODULE_0__.axisTop)(timeScale).tickSize(-h + theTopPad + conf.gridLineStartPadding).tickFormat((0,d3__WEBPACK_IMPORTED_MODULE_0__.timeFormat)(_parser_gantt__WEBPACK_IMPORTED_MODULE_1__.parser.yy.getAxisFormat() || conf.axisFormat || '%Y-%m-%d')); svg.append('g').attr('class', 'grid').attr('transform', 'translate(' + theSidePad + ', ' + theTopPad + ')').call(topXAxis).selectAll('text').style('text-anchor', 'middle').attr('fill', '#000').attr('stroke', 'none').attr('font-size', 10); // .attr('dy', '1em'); } } @@ -13293,7 +18716,7 @@ var draw = function draw(text, id) { svg.append('g') // without doing this, impossible to put grid lines behind text .selectAll('text').data(numOccurances).enter().append(function (d) { - var rows = d[0].split(_common_common__WEBPACK_IMPORTED_MODULE_2__["default"].lineBreakRegex); + var rows = d[0].split(_common_common__WEBPACK_IMPORTED_MODULE_5__["default"].lineBreakRegex); var dy = -(rows.length - 1) / 2; var svgLabel = document.createElementNS('http://www.w3.org/2000/svg', 'text'); svgLabel.setAttribute('dy', dy + 'em'); @@ -13329,7 +18752,7 @@ var draw = function draw(text, id) { } function drawToday(theSidePad, theTopPad, w, h) { - var todayMarker = _ganttDb__WEBPACK_IMPORTED_MODULE_3__["default"].getTodayMarker(); + var todayMarker = _ganttDb__WEBPACK_IMPORTED_MODULE_2__["default"].getTodayMarker(); if (todayMarker === 'off') { return; @@ -13380,799 +18803,29 @@ var draw = function draw(text, id) { return getCounts(arr)[word] || 0; } }; -/* harmony default export */ __webpack_exports__["default"] = ({ +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ setConf: setConf, draw: draw }); /***/ }), -/***/ "./src/diagrams/gantt/parser/gantt.jison": -/*!***********************************************!*\ - !*** ./src/diagrams/gantt/parser/gantt.jison ***! - \***********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -/* WEBPACK VAR INJECTION */(function(process, module) {/* parser generated by jison 0.4.18 */ -/* - Returns a Parser object of the following structure: - - Parser: { - yy: {} - } - - Parser.prototype: { - yy: {}, - trace: function(), - symbols_: {associative list: name ==> number}, - terminals_: {associative list: number ==> name}, - productions_: [...], - performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$), - table: [...], - defaultActions: {...}, - parseError: function(str, hash), - parse: function(input), - - lexer: { - EOF: 1, - parseError: function(str, hash), - setInput: function(input), - input: function(), - unput: function(str), - more: function(), - less: function(n), - pastInput: function(), - upcomingInput: function(), - showPosition: function(), - test_match: function(regex_match_array, rule_index), - next: function(), - lex: function(), - begin: function(condition), - popState: function(), - _currentRules: function(), - topState: function(), - pushState: function(condition), - - options: { - ranges: boolean (optional: true ==> token location info will include a .range[] member) - flex: boolean (optional: true ==> flex-like lexing behaviour where the rules are tested exhaustively to find the longest match) - backtrack_lexer: boolean (optional: true ==> lexer regexes are tested in order and for each matching regex the action code is invoked; the lexer terminates the scan when a token is returned by the action code) - }, - - performAction: function(yy, yy_, $avoiding_name_collisions, YY_START), - rules: [...], - conditions: {associative list: name ==> set}, - } - } - - - token location info (@$, _$, etc.): { - first_line: n, - last_line: n, - first_column: n, - last_column: n, - range: [start_number, end_number] (where the numbers are indexes into the input string, regular zero-based) - } - - - the parseError function receives a 'hash' object with these members for lexer and parser errors: { - text: (matched text) - token: (the produced terminal token, if any) - line: (yylineno) - } - while parser (grammar) errors will also provide these members, i.e. parser errors deliver a superset of attributes: { - loc: (yylloc) - expected: (string describing the set of expected tokens) - recoverable: (boolean: TRUE when the parser has a error recovery rule available for this particular error) - } -*/ -var parser = (function(){ -var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,3],$V1=[1,5],$V2=[7,9,11,12,13,14,15,16,17,18,19,21,28,33],$V3=[1,15],$V4=[1,16],$V5=[1,17],$V6=[1,18],$V7=[1,19],$V8=[1,20],$V9=[1,21],$Va=[1,22],$Vb=[1,24],$Vc=[1,26],$Vd=[1,29],$Ve=[5,7,9,11,12,13,14,15,16,17,18,19,21,28,33]; -var parser = {trace: function trace () { }, -yy: {}, -symbols_: {"error":2,"start":3,"directive":4,"gantt":5,"document":6,"EOF":7,"line":8,"SPACE":9,"statement":10,"NL":11,"dateFormat":12,"inclusiveEndDates":13,"topAxis":14,"axisFormat":15,"excludes":16,"todayMarker":17,"title":18,"section":19,"clickStatement":20,"taskTxt":21,"taskData":22,"openDirective":23,"typeDirective":24,"closeDirective":25,":":26,"argDirective":27,"click":28,"callbackname":29,"callbackargs":30,"href":31,"clickStatementDebug":32,"open_directive":33,"type_directive":34,"arg_directive":35,"close_directive":36,"$accept":0,"$end":1}, -terminals_: {2:"error",5:"gantt",7:"EOF",9:"SPACE",11:"NL",12:"dateFormat",13:"inclusiveEndDates",14:"topAxis",15:"axisFormat",16:"excludes",17:"todayMarker",18:"title",19:"section",21:"taskTxt",22:"taskData",26:":",28:"click",29:"callbackname",30:"callbackargs",31:"href",33:"open_directive",34:"type_directive",35:"arg_directive",36:"close_directive"}, -productions_: [0,[3,2],[3,3],[6,0],[6,2],[8,2],[8,1],[8,1],[8,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,1],[4,4],[4,6],[20,2],[20,3],[20,3],[20,4],[20,3],[20,4],[20,2],[32,2],[32,3],[32,3],[32,4],[32,3],[32,4],[32,2],[23,1],[24,1],[27,1],[25,1]], -performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) { -/* this == yyval */ - -var $0 = $$.length - 1; -switch (yystate) { -case 2: - return $$[$0-1]; -break; -case 3: - this.$ = [] -break; -case 4: -$$[$0-1].push($$[$0]);this.$ = $$[$0-1] -break; -case 5: case 6: - this.$ = $$[$0] -break; -case 7: case 8: - this.$=[]; -break; -case 9: -yy.setDateFormat($$[$0].substr(11));this.$=$$[$0].substr(11); -break; -case 10: -yy.enableInclusiveEndDates();this.$=$$[$0].substr(18); -break; -case 11: -yy.TopAxis();this.$=$$[$0].substr(8); -break; -case 12: -yy.setAxisFormat($$[$0].substr(11));this.$=$$[$0].substr(11); -break; -case 13: -yy.setExcludes($$[$0].substr(9));this.$=$$[$0].substr(9); -break; -case 14: -yy.setTodayMarker($$[$0].substr(12));this.$=$$[$0].substr(12); -break; -case 15: -yy.setTitle($$[$0].substr(6));this.$=$$[$0].substr(6); -break; -case 16: -yy.addSection($$[$0].substr(8));this.$=$$[$0].substr(8); -break; -case 18: -yy.addTask($$[$0-1],$$[$0]);this.$='task'; -break; -case 22: -this.$ = $$[$0-1];yy.setClickEvent($$[$0-1], $$[$0], null); -break; -case 23: -this.$ = $$[$0-2];yy.setClickEvent($$[$0-2], $$[$0-1], $$[$0]); -break; -case 24: -this.$ = $$[$0-2];yy.setClickEvent($$[$0-2], $$[$0-1], null);yy.setLink($$[$0-2],$$[$0]); -break; -case 25: -this.$ = $$[$0-3];yy.setClickEvent($$[$0-3], $$[$0-2], $$[$0-1]);yy.setLink($$[$0-3],$$[$0]); -break; -case 26: -this.$ = $$[$0-2];yy.setClickEvent($$[$0-2], $$[$0], null);yy.setLink($$[$0-2],$$[$0-1]); -break; -case 27: -this.$ = $$[$0-3];yy.setClickEvent($$[$0-3], $$[$0-1], $$[$0]);yy.setLink($$[$0-3],$$[$0-2]); -break; -case 28: -this.$ = $$[$0-1];yy.setLink($$[$0-1], $$[$0]); -break; -case 29: case 35: -this.$=$$[$0-1] + ' ' + $$[$0]; -break; -case 30: case 31: case 33: -this.$=$$[$0-2] + ' ' + $$[$0-1] + ' ' + $$[$0]; -break; -case 32: case 34: -this.$=$$[$0-3] + ' ' + $$[$0-2] + ' ' + $$[$0-1] + ' ' + $$[$0]; -break; -case 36: - yy.parseDirective('%%{', 'open_directive'); -break; -case 37: - yy.parseDirective($$[$0], 'type_directive'); -break; -case 38: - $$[$0] = $$[$0].trim().replace(/'/g, '"'); yy.parseDirective($$[$0], 'arg_directive'); -break; -case 39: - yy.parseDirective('}%%', 'close_directive', 'gantt'); -break; -} -}, -table: [{3:1,4:2,5:$V0,23:4,33:$V1},{1:[3]},{3:6,4:2,5:$V0,23:4,33:$V1},o($V2,[2,3],{6:7}),{24:8,34:[1,9]},{34:[2,36]},{1:[2,1]},{4:25,7:[1,10],8:11,9:[1,12],10:13,11:[1,14],12:$V3,13:$V4,14:$V5,15:$V6,16:$V7,17:$V8,18:$V9,19:$Va,20:23,21:$Vb,23:4,28:$Vc,33:$V1},{25:27,26:[1,28],36:$Vd},o([26,36],[2,37]),o($V2,[2,8],{1:[2,2]}),o($V2,[2,4]),{4:25,10:30,12:$V3,13:$V4,14:$V5,15:$V6,16:$V7,17:$V8,18:$V9,19:$Va,20:23,21:$Vb,23:4,28:$Vc,33:$V1},o($V2,[2,6]),o($V2,[2,7]),o($V2,[2,9]),o($V2,[2,10]),o($V2,[2,11]),o($V2,[2,12]),o($V2,[2,13]),o($V2,[2,14]),o($V2,[2,15]),o($V2,[2,16]),o($V2,[2,17]),{22:[1,31]},o($V2,[2,19]),{29:[1,32],31:[1,33]},{11:[1,34]},{27:35,35:[1,36]},{11:[2,39]},o($V2,[2,5]),o($V2,[2,18]),o($V2,[2,22],{30:[1,37],31:[1,38]}),o($V2,[2,28],{29:[1,39]}),o($Ve,[2,20]),{25:40,36:$Vd},{36:[2,38]},o($V2,[2,23],{31:[1,41]}),o($V2,[2,24]),o($V2,[2,26],{30:[1,42]}),{11:[1,43]},o($V2,[2,25]),o($V2,[2,27]),o($Ve,[2,21])], -defaultActions: {5:[2,36],6:[2,1],29:[2,39],36:[2,38]}, -parseError: function parseError (str, hash) { - if (hash.recoverable) { - this.trace(str); - } else { - var error = new Error(str); - error.hash = hash; - throw error; - } -}, -parse: function parse(input) { - var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = '', yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1; - var args = lstack.slice.call(arguments, 1); - var lexer = Object.create(this.lexer); - var sharedState = { yy: {} }; - for (var k in this.yy) { - if (Object.prototype.hasOwnProperty.call(this.yy, k)) { - sharedState.yy[k] = this.yy[k]; - } - } - lexer.setInput(input, sharedState.yy); - sharedState.yy.lexer = lexer; - sharedState.yy.parser = this; - if (typeof lexer.yylloc == 'undefined') { - lexer.yylloc = {}; - } - var yyloc = lexer.yylloc; - lstack.push(yyloc); - var ranges = lexer.options && lexer.options.ranges; - if (typeof sharedState.yy.parseError === 'function') { - this.parseError = sharedState.yy.parseError; - } else { - this.parseError = Object.getPrototypeOf(this).parseError; - } - function popStack(n) { - stack.length = stack.length - 2 * n; - vstack.length = vstack.length - n; - lstack.length = lstack.length - n; - } - function lex() { - var token; - token = tstack.pop() || lexer.lex() || EOF; - if (typeof token !== 'number') { - if (token instanceof Array) { - tstack = token; - token = tstack.pop(); - } - token = self.symbols_[token] || token; - } - return token; - } - var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected; - while (true) { - state = stack[stack.length - 1]; - if (this.defaultActions[state]) { - action = this.defaultActions[state]; - } else { - if (symbol === null || typeof symbol == 'undefined') { - symbol = lex(); - } - action = table[state] && table[state][symbol]; - } - if (typeof action === 'undefined' || !action.length || !action[0]) { - var errStr = ''; - expected = []; - for (p in table[state]) { - if (this.terminals_[p] && p > TERROR) { - expected.push('\'' + this.terminals_[p] + '\''); - } - } - if (lexer.showPosition) { - errStr = 'Parse error on line ' + (yylineno + 1) + ':\n' + lexer.showPosition() + '\nExpecting ' + expected.join(', ') + ', got \'' + (this.terminals_[symbol] || symbol) + '\''; - } else { - errStr = 'Parse error on line ' + (yylineno + 1) + ': Unexpected ' + (symbol == EOF ? 'end of input' : '\'' + (this.terminals_[symbol] || symbol) + '\''); - } - this.parseError(errStr, { - text: lexer.match, - token: this.terminals_[symbol] || symbol, - line: lexer.yylineno, - loc: yyloc, - expected: expected - }); - } - if (action[0] instanceof Array && action.length > 1) { - throw new Error('Parse Error: multiple actions possible at state: ' + state + ', token: ' + symbol); - } - switch (action[0]) { - case 1: - stack.push(symbol); - vstack.push(lexer.yytext); - lstack.push(lexer.yylloc); - stack.push(action[1]); - symbol = null; - if (!preErrorSymbol) { - yyleng = lexer.yyleng; - yytext = lexer.yytext; - yylineno = lexer.yylineno; - yyloc = lexer.yylloc; - if (recovering > 0) { - recovering--; - } - } else { - symbol = preErrorSymbol; - preErrorSymbol = null; - } - break; - case 2: - len = this.productions_[action[1]][1]; - yyval.$ = vstack[vstack.length - len]; - yyval._$ = { - first_line: lstack[lstack.length - (len || 1)].first_line, - last_line: lstack[lstack.length - 1].last_line, - first_column: lstack[lstack.length - (len || 1)].first_column, - last_column: lstack[lstack.length - 1].last_column - }; - if (ranges) { - yyval._$.range = [ - lstack[lstack.length - (len || 1)].range[0], - lstack[lstack.length - 1].range[1] - ]; - } - r = this.performAction.apply(yyval, [ - yytext, - yyleng, - yylineno, - sharedState.yy, - action[1], - vstack, - lstack - ].concat(args)); - if (typeof r !== 'undefined') { - return r; - } - if (len) { - stack = stack.slice(0, -1 * len * 2); - vstack = vstack.slice(0, -1 * len); - lstack = lstack.slice(0, -1 * len); - } - stack.push(this.productions_[action[1]][0]); - vstack.push(yyval.$); - lstack.push(yyval._$); - newState = table[stack[stack.length - 2]][stack[stack.length - 1]]; - stack.push(newState); - break; - case 3: - return true; - } - } - return true; -}}; - -/* generated by jison-lex 0.3.4 */ -var lexer = (function(){ -var lexer = ({ - -EOF:1, - -parseError:function parseError(str, hash) { - if (this.yy.parser) { - this.yy.parser.parseError(str, hash); - } else { - throw new Error(str); - } - }, - -// resets the lexer, sets new input -setInput:function (input, yy) { - this.yy = yy || this.yy || {}; - this._input = input; - this._more = this._backtrack = this.done = false; - this.yylineno = this.yyleng = 0; - this.yytext = this.matched = this.match = ''; - this.conditionStack = ['INITIAL']; - this.yylloc = { - first_line: 1, - first_column: 0, - last_line: 1, - last_column: 0 - }; - if (this.options.ranges) { - this.yylloc.range = [0,0]; - } - this.offset = 0; - return this; - }, - -// consumes and returns one char from the input -input:function () { - var ch = this._input[0]; - this.yytext += ch; - this.yyleng++; - this.offset++; - this.match += ch; - this.matched += ch; - var lines = ch.match(/(?:\r\n?|\n).*/g); - if (lines) { - this.yylineno++; - this.yylloc.last_line++; - } else { - this.yylloc.last_column++; - } - if (this.options.ranges) { - this.yylloc.range[1]++; - } - - this._input = this._input.slice(1); - return ch; - }, - -// unshifts one char (or a string) into the input -unput:function (ch) { - var len = ch.length; - var lines = ch.split(/(?:\r\n?|\n)/g); - - this._input = ch + this._input; - this.yytext = this.yytext.substr(0, this.yytext.length - len); - //this.yyleng -= len; - this.offset -= len; - var oldLines = this.match.split(/(?:\r\n?|\n)/g); - this.match = this.match.substr(0, this.match.length - 1); - this.matched = this.matched.substr(0, this.matched.length - 1); - - if (lines.length - 1) { - this.yylineno -= lines.length - 1; - } - var r = this.yylloc.range; - - this.yylloc = { - first_line: this.yylloc.first_line, - last_line: this.yylineno + 1, - first_column: this.yylloc.first_column, - last_column: lines ? - (lines.length === oldLines.length ? this.yylloc.first_column : 0) - + oldLines[oldLines.length - lines.length].length - lines[0].length : - this.yylloc.first_column - len - }; - - if (this.options.ranges) { - this.yylloc.range = [r[0], r[0] + this.yyleng - len]; - } - this.yyleng = this.yytext.length; - return this; - }, - -// When called from action, caches matched text and appends it on next action -more:function () { - this._more = true; - return this; - }, - -// When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead. -reject:function () { - if (this.options.backtrack_lexer) { - this._backtrack = true; - } else { - return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n' + this.showPosition(), { - text: "", - token: null, - line: this.yylineno - }); - - } - return this; - }, - -// retain first n characters of the match -less:function (n) { - this.unput(this.match.slice(n)); - }, - -// displays already matched input, i.e. for error messages -pastInput:function () { - var past = this.matched.substr(0, this.matched.length - this.match.length); - return (past.length > 20 ? '...':'') + past.substr(-20).replace(/\n/g, ""); - }, - -// displays upcoming input, i.e. for error messages -upcomingInput:function () { - var next = this.match; - if (next.length < 20) { - next += this._input.substr(0, 20-next.length); - } - return (next.substr(0,20) + (next.length > 20 ? '...' : '')).replace(/\n/g, ""); - }, - -// displays the character position where the lexing error occurred, i.e. for error messages -showPosition:function () { - var pre = this.pastInput(); - var c = new Array(pre.length + 1).join("-"); - return pre + this.upcomingInput() + "\n" + c + "^"; - }, - -// test the lexed token: return FALSE when not a match, otherwise return token -test_match:function(match, indexed_rule) { - var token, - lines, - backup; - - if (this.options.backtrack_lexer) { - // save context - backup = { - yylineno: this.yylineno, - yylloc: { - first_line: this.yylloc.first_line, - last_line: this.last_line, - first_column: this.yylloc.first_column, - last_column: this.yylloc.last_column - }, - yytext: this.yytext, - match: this.match, - matches: this.matches, - matched: this.matched, - yyleng: this.yyleng, - offset: this.offset, - _more: this._more, - _input: this._input, - yy: this.yy, - conditionStack: this.conditionStack.slice(0), - done: this.done - }; - if (this.options.ranges) { - backup.yylloc.range = this.yylloc.range.slice(0); - } - } - - lines = match[0].match(/(?:\r\n?|\n).*/g); - if (lines) { - this.yylineno += lines.length; - } - this.yylloc = { - first_line: this.yylloc.last_line, - last_line: this.yylineno + 1, - first_column: this.yylloc.last_column, - last_column: lines ? - lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length : - this.yylloc.last_column + match[0].length - }; - this.yytext += match[0]; - this.match += match[0]; - this.matches = match; - this.yyleng = this.yytext.length; - if (this.options.ranges) { - this.yylloc.range = [this.offset, this.offset += this.yyleng]; - } - this._more = false; - this._backtrack = false; - this._input = this._input.slice(match[0].length); - this.matched += match[0]; - token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]); - if (this.done && this._input) { - this.done = false; - } - if (token) { - return token; - } else if (this._backtrack) { - // recover context - for (var k in backup) { - this[k] = backup[k]; - } - return false; // rule action called reject() implying the next rule should be tested instead. - } - return false; - }, - -// return next match in input -next:function () { - if (this.done) { - return this.EOF; - } - if (!this._input) { - this.done = true; - } - - var token, - match, - tempMatch, - index; - if (!this._more) { - this.yytext = ''; - this.match = ''; - } - var rules = this._currentRules(); - for (var i = 0; i < rules.length; i++) { - tempMatch = this._input.match(this.rules[rules[i]]); - if (tempMatch && (!match || tempMatch[0].length > match[0].length)) { - match = tempMatch; - index = i; - if (this.options.backtrack_lexer) { - token = this.test_match(tempMatch, rules[i]); - if (token !== false) { - return token; - } else if (this._backtrack) { - match = false; - continue; // rule action called reject() implying a rule MISmatch. - } else { - // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) - return false; - } - } else if (!this.options.flex) { - break; - } - } - } - if (match) { - token = this.test_match(match, rules[index]); - if (token !== false) { - return token; - } - // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) - return false; - } - if (this._input === "") { - return this.EOF; - } else { - return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\n' + this.showPosition(), { - text: "", - token: null, - line: this.yylineno - }); - } - }, - -// return next match that has a token -lex:function lex () { - var r = this.next(); - if (r) { - return r; - } else { - return this.lex(); - } - }, - -// activates a new lexer condition state (pushes the new lexer condition state onto the condition stack) -begin:function begin (condition) { - this.conditionStack.push(condition); - }, - -// pop the previously active lexer condition state off the condition stack -popState:function popState () { - var n = this.conditionStack.length - 1; - if (n > 0) { - return this.conditionStack.pop(); - } else { - return this.conditionStack[0]; - } - }, - -// produce the lexer rule set which is active for the currently active lexer condition state -_currentRules:function _currentRules () { - if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) { - return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules; - } else { - return this.conditions["INITIAL"].rules; - } - }, - -// return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available -topState:function topState (n) { - n = this.conditionStack.length - 1 - Math.abs(n || 0); - if (n >= 0) { - return this.conditionStack[n]; - } else { - return "INITIAL"; - } - }, - -// alias for begin(condition) -pushState:function pushState (condition) { - this.begin(condition); - }, - -// return the number of states currently on the stack -stateStackSize:function stateStackSize() { - return this.conditionStack.length; - }, -options: {"case-insensitive":true}, -performAction: function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) { -var YYSTATE=YY_START; -switch($avoiding_name_collisions) { -case 0: this.begin('open_directive'); return 33; -break; -case 1: this.begin('type_directive'); return 34; -break; -case 2: this.popState(); this.begin('arg_directive'); return 26; -break; -case 3: this.popState(); this.popState(); return 36; -break; -case 4:return 35; -break; -case 5:/* skip comments */ -break; -case 6:/* skip comments */ -break; -case 7:/* do nothing */ -break; -case 8:return 11; -break; -case 9:/* skip whitespace */ -break; -case 10:/* skip comments */ -break; -case 11:/* skip comments */ -break; -case 12:this.begin("href"); -break; -case 13:this.popState(); -break; -case 14:return 31; -break; -case 15:this.begin("callbackname"); -break; -case 16:this.popState(); -break; -case 17:this.popState(); this.begin("callbackargs"); -break; -case 18:return 29; -break; -case 19:this.popState(); -break; -case 20:return 30; -break; -case 21:this.begin("click"); -break; -case 22:this.popState(); -break; -case 23:return 28; -break; -case 24:return 5; -break; -case 25:return 12; -break; -case 26:return 13; -break; -case 27:return 14; -break; -case 28:return 15; -break; -case 29:return 16; -break; -case 30:return 17; -break; -case 31:return 'date'; -break; -case 32:return 18; -break; -case 33:return 19; -break; -case 34:return 21; -break; -case 35:return 22; -break; -case 36:return 26; -break; -case 37:return 7; -break; -case 38:return 'INVALID'; -break; -} -}, -rules: [/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:%%(?!\{)*[^\n]*)/i,/^(?:[^\}]%%*[^\n]*)/i,/^(?:%%*[^\n]*[\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:href[\s]+["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:call[\s]+)/i,/^(?:\([\s]*\))/i,/^(?:\()/i,/^(?:[^(]*)/i,/^(?:\))/i,/^(?:[^)]*)/i,/^(?:click[\s]+)/i,/^(?:[\s\n])/i,/^(?:[^\s\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\s[^#\n;]+)/i,/^(?:inclusiveEndDates\b)/i,/^(?:topAxis\b)/i,/^(?:axisFormat\s[^#\n;]+)/i,/^(?:excludes\s[^#\n;]+)/i,/^(?:todayMarker\s[^\n;]+)/i,/^(?:\d\d\d\d-\d\d-\d\d\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i], -conditions: {"close_directive":{"rules":[],"inclusive":false},"arg_directive":{"rules":[3,4],"inclusive":false},"type_directive":{"rules":[2,3],"inclusive":false},"open_directive":{"rules":[1],"inclusive":false},"callbackargs":{"rules":[19,20],"inclusive":false},"callbackname":{"rules":[16,17,18],"inclusive":false},"href":{"rules":[13,14],"inclusive":false},"click":{"rules":[22,23],"inclusive":false},"INITIAL":{"rules":[0,5,6,7,8,9,10,11,12,15,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"inclusive":true}} -}); -return lexer; -})(); -parser.lexer = lexer; -function Parser () { - this.yy = {}; -} -Parser.prototype = parser;parser.Parser = Parser; -return new Parser; -})(); - - -if (true) { -exports.parser = parser; -exports.Parser = parser.Parser; -exports.parse = function () { return parser.parse.apply(parser, arguments); }; -exports.main = function commonjsMain (args) { - if (!args[1]) { - console.log('Usage: '+args[0]+' FILE'); - process.exit(1); - } - var source = __webpack_require__(/*! fs */ "./node_modules/node-libs-browser/mock/empty.js").readFileSync(__webpack_require__(/*! path */ "./node_modules/path-browserify/index.js").normalize(args[1]), "utf8"); - return exports.parser.parse(source); -}; -if ( true && __webpack_require__.c[__webpack_require__.s] === module) { - exports.main(process.argv.slice(1)); -} -} -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../../node_modules/process/browser.js */ "./node_modules/process/browser.js"), __webpack_require__(/*! ./../../../../node_modules/webpack/buildin/module.js */ "./node_modules/webpack/buildin/module.js")(module))) - -/***/ }), - /***/ "./src/diagrams/gantt/styles.js": /*!**************************************!*\ !*** ./src/diagrams/gantt/styles.js ***! \**************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); var getStyles = function getStyles(options) { return "\n .mermaid-main-font {\n font-family: \"trebuchet ms\", verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n }\n\n .section {\n stroke: none;\n opacity: 0.2;\n }\n\n .section0 {\n fill: ".concat(options.sectionBkgColor, ";\n }\n\n .section2 {\n fill: ").concat(options.sectionBkgColor2, ";\n }\n\n .section1,\n .section3 {\n fill: ").concat(options.altSectionBkgColor, ";\n opacity: 0.2;\n }\n\n .sectionTitle0 {\n fill: ").concat(options.titleColor, ";\n }\n\n .sectionTitle1 {\n fill: ").concat(options.titleColor, ";\n }\n\n .sectionTitle2 {\n fill: ").concat(options.titleColor, ";\n }\n\n .sectionTitle3 {\n fill: ").concat(options.titleColor, ";\n }\n\n .sectionTitle {\n text-anchor: start;\n // font-size: ").concat(options.ganttFontSize, ";\n // text-height: 14px;\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n\n }\n\n\n /* Grid and axis */\n\n .grid .tick {\n stroke: ").concat(options.gridColor, ";\n opacity: 0.8;\n shape-rendering: crispEdges;\n text {\n font-family: ").concat(options.fontFamily, ";\n fill: ").concat(options.textColor, ";\n }\n }\n\n .grid path {\n stroke-width: 0;\n }\n\n\n /* Today line */\n\n .today {\n fill: none;\n stroke: ").concat(options.todayLineColor, ";\n stroke-width: 2px;\n }\n\n\n /* Task styling */\n\n /* Default task */\n\n .task {\n stroke-width: 2;\n }\n\n .taskText {\n text-anchor: middle;\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n }\n\n // .taskText:not([font-size]) {\n // font-size: ").concat(options.ganttFontSize, ";\n // }\n\n .taskTextOutsideRight {\n fill: ").concat(options.taskTextDarkColor, ";\n text-anchor: start;\n // font-size: ").concat(options.ganttFontSize, ";\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n\n }\n\n .taskTextOutsideLeft {\n fill: ").concat(options.taskTextDarkColor, ";\n text-anchor: end;\n // font-size: ").concat(options.ganttFontSize, ";\n }\n\n /* Special case clickable */\n .task.clickable {\n cursor: pointer;\n }\n .taskText.clickable {\n cursor: pointer;\n fill: ").concat(options.taskTextClickableColor, " !important;\n font-weight: bold;\n }\n\n .taskTextOutsideLeft.clickable {\n cursor: pointer;\n fill: ").concat(options.taskTextClickableColor, " !important;\n font-weight: bold;\n }\n\n .taskTextOutsideRight.clickable {\n cursor: pointer;\n fill: ").concat(options.taskTextClickableColor, " !important;\n font-weight: bold;\n }\n\n /* Specific task settings for the sections*/\n\n .taskText0,\n .taskText1,\n .taskText2,\n .taskText3 {\n fill: ").concat(options.taskTextColor, ";\n }\n\n .task0,\n .task1,\n .task2,\n .task3 {\n fill: ").concat(options.taskBkgColor, ";\n stroke: ").concat(options.taskBorderColor, ";\n }\n\n .taskTextOutside0,\n .taskTextOutside2\n {\n fill: ").concat(options.taskTextOutsideColor, ";\n }\n\n .taskTextOutside1,\n .taskTextOutside3 {\n fill: ").concat(options.taskTextOutsideColor, ";\n }\n\n\n /* Active task */\n\n .active0,\n .active1,\n .active2,\n .active3 {\n fill: ").concat(options.activeTaskBkgColor, ";\n stroke: ").concat(options.activeTaskBorderColor, ";\n }\n\n .activeText0,\n .activeText1,\n .activeText2,\n .activeText3 {\n fill: ").concat(options.taskTextDarkColor, " !important;\n }\n\n\n /* Completed task */\n\n .done0,\n .done1,\n .done2,\n .done3 {\n stroke: ").concat(options.doneTaskBorderColor, ";\n fill: ").concat(options.doneTaskBkgColor, ";\n stroke-width: 2;\n }\n\n .doneText0,\n .doneText1,\n .doneText2,\n .doneText3 {\n fill: ").concat(options.taskTextDarkColor, " !important;\n }\n\n\n /* Tasks on the critical line */\n\n .crit0,\n .crit1,\n .crit2,\n .crit3 {\n stroke: ").concat(options.critBorderColor, ";\n fill: ").concat(options.critBkgColor, ";\n stroke-width: 2;\n }\n\n .activeCrit0,\n .activeCrit1,\n .activeCrit2,\n .activeCrit3 {\n stroke: ").concat(options.critBorderColor, ";\n fill: ").concat(options.activeTaskBkgColor, ";\n stroke-width: 2;\n }\n\n .doneCrit0,\n .doneCrit1,\n .doneCrit2,\n .doneCrit3 {\n stroke: ").concat(options.critBorderColor, ";\n fill: ").concat(options.doneTaskBkgColor, ";\n stroke-width: 2;\n cursor: pointer;\n shape-rendering: crispEdges;\n }\n\n .milestone {\n transform: rotate(45deg) scale(0.8,0.8);\n }\n\n .milestoneText {\n font-style: italic;\n }\n .doneCritText0,\n .doneCritText1,\n .doneCritText2,\n .doneCritText3 {\n fill: ").concat(options.taskTextDarkColor, " !important;\n }\n\n .activeCritText0,\n .activeCritText1,\n .activeCritText2,\n .activeCritText3 {\n fill: ").concat(options.taskTextDarkColor, " !important;\n }\n\n .titleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ").concat(options.textColor, " ;\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n }\n"); }; -/* harmony default export */ __webpack_exports__["default"] = (getStyles); +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (getStyles); /***/ }), @@ -14180,30 +18833,32 @@ var getStyles = function getStyles(options) { /*!*****************************************!*\ !*** ./src/diagrams/git/gitGraphAst.js ***! \*****************************************/ -/*! exports provided: setDirection, setOptions, getOptions, commit, branch, merge, checkout, reset, prettyPrint, clear, getBranchesAsObjArray, getBranches, getCommits, getCommitsArray, getCurrentBranch, getDirection, getHead, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setDirection", function() { return setDirection; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setOptions", function() { return setOptions; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getOptions", function() { return getOptions; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "commit", function() { return commit; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "branch", function() { return branch; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "merge", function() { return merge; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "checkout", function() { return checkout; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "reset", function() { return reset; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "prettyPrint", function() { return prettyPrint; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "clear", function() { return clear; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getBranchesAsObjArray", function() { return getBranchesAsObjArray; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getBranches", function() { return getBranches; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getCommits", function() { return getCommits; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getCommitsArray", function() { return getCommitsArray; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getCurrentBranch", function() { return getCurrentBranch; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getDirection", function() { return getDirection; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getHead", function() { return getHead; }); -/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../logger */ "./src/logger.js"); -/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils */ "./src/utils.js"); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "setDirection": () => (/* binding */ setDirection), +/* harmony export */ "setOptions": () => (/* binding */ setOptions), +/* harmony export */ "getOptions": () => (/* binding */ getOptions), +/* harmony export */ "commit": () => (/* binding */ commit), +/* harmony export */ "branch": () => (/* binding */ branch), +/* harmony export */ "merge": () => (/* binding */ merge), +/* harmony export */ "checkout": () => (/* binding */ checkout), +/* harmony export */ "reset": () => (/* binding */ reset), +/* harmony export */ "prettyPrint": () => (/* binding */ prettyPrint), +/* harmony export */ "clear": () => (/* binding */ clear), +/* harmony export */ "getBranchesAsObjArray": () => (/* binding */ getBranchesAsObjArray), +/* harmony export */ "getBranches": () => (/* binding */ getBranches), +/* harmony export */ "getCommits": () => (/* binding */ getCommits), +/* harmony export */ "getCommitsArray": () => (/* binding */ getCommitsArray), +/* harmony export */ "getCurrentBranch": () => (/* binding */ getCurrentBranch), +/* harmony export */ "getDirection": () => (/* binding */ getDirection), +/* harmony export */ "getHead": () => (/* binding */ getHead), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../logger */ "./src/logger.js"); +/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils */ "./src/utils.js"); var commits = {}; @@ -14216,27 +18871,27 @@ var direction = 'LR'; var seq = 0; function getId() { - return Object(_utils__WEBPACK_IMPORTED_MODULE_1__["random"])({ + return (0,_utils__WEBPACK_IMPORTED_MODULE_0__.random)({ length: 7 }); } function isfastforwardable(currentCommit, otherCommit) { - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].debug('Entering isfastforwardable:', currentCommit.id, otherCommit.id); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.debug('Entering isfastforwardable:', currentCommit.id, otherCommit.id); while (currentCommit.seq <= otherCommit.seq && currentCommit !== otherCommit) { // only if other branch has more commits if (otherCommit.parent == null) break; if (Array.isArray(otherCommit.parent)) { - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].debug('In merge commit:', otherCommit.parent); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.debug('In merge commit:', otherCommit.parent); return isfastforwardable(currentCommit, commits[otherCommit.parent[0]]) || isfastforwardable(currentCommit, commits[otherCommit.parent[1]]); } else { otherCommit = commits[otherCommit.parent]; } } - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].debug(currentCommit.id, otherCommit.id); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.debug(currentCommit.id, otherCommit.id); return currentCommit.id === otherCommit.id; } @@ -14266,14 +18921,14 @@ var setDirection = function setDirection(dir) { }; var options = {}; var setOptions = function setOptions(rawOptString) { - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].debug('options str', rawOptString); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.debug('options str', rawOptString); rawOptString = rawOptString && rawOptString.trim(); rawOptString = rawOptString || '{}'; try { options = JSON.parse(rawOptString); } catch (e) { - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].error('error while parsing gitGraph options', e.message); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.error('error while parsing gitGraph options', e.message); } }; var getOptions = function getOptions() { @@ -14289,18 +18944,18 @@ var commit = function commit(msg) { head = commit; commits[commit.id] = commit; branches[curBranch] = commit.id; - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].debug('in pushCommit ' + commit.id); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.debug('in pushCommit ' + commit.id); }; var branch = function branch(name) { branches[name] = head != null ? head.id : null; - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].debug('in createBranch'); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.debug('in createBranch'); }; var merge = function merge(otherBranch) { var currentCommit = commits[branches[curBranch]]; var otherCommit = commits[branches[otherBranch]]; if (isReachableFrom(currentCommit, otherCommit)) { - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].debug('Already merged'); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.debug('Already merged'); return; } @@ -14320,21 +18975,21 @@ var merge = function merge(otherBranch) { branches[curBranch] = _commit.id; } - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].debug(branches); - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].debug('in mergeBranch'); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.debug(branches); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.debug('in mergeBranch'); }; var checkout = function checkout(branch) { - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].debug('in checkout'); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.debug('in checkout'); curBranch = branch; var id = branches[curBranch]; head = commits[id]; }; var reset = function reset(commitRef) { - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].debug('in reset', commitRef); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.debug('in reset', commitRef); var ref = commitRef.split(':')[0]; var parentCount = parseInt(commitRef.split(':')[1]); var commit = ref === 'HEAD' ? head : commits[branches[ref]]; - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].debug(commit, parentCount); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.debug(commit, parentCount); while (parentCount > 0) { commit = commits[commit.parent]; @@ -14342,7 +18997,7 @@ var reset = function reset(commitRef) { if (!commit) { var err = 'Critical error - unique parent commit not found during reset'; - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].error(err); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.error(err); throw err; } } @@ -14380,7 +19035,7 @@ function prettyPrintCommitHistory(commitArr) { if (branches[_branch] === commit.id) label.push(_branch); } - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].debug(label.join(' ')); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.debug(label.join(' ')); if (Array.isArray(commit.parent)) { var newCommit = commits[commit.parent[0]]; @@ -14400,7 +19055,7 @@ function prettyPrintCommitHistory(commitArr) { } var prettyPrint = function prettyPrint() { - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].debug(commits); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.debug(commits); var node = getCommitsArray()[0]; prettyPrintCommitHistory([node]); }; @@ -14436,7 +19091,7 @@ var getCommitsArray = function getCommitsArray() { return commits[key]; }); commitArr.forEach(function (o) { - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].debug(o.id); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.debug(o.id); }); commitArr.sort(function (a, b) { return b.seq - a.seq; @@ -14452,7 +19107,7 @@ var getDirection = function getDirection() { var getHead = function getHead() { return head; }; -/* harmony default export */ __webpack_exports__["default"] = ({ +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ setDirection: setDirection, setOptions: setOptions, getOptions: getOptions, @@ -14478,20 +19133,22 @@ var getHead = function getHead() { /*!**********************************************!*\ !*** ./src/diagrams/git/gitGraphRenderer.js ***! \**********************************************/ -/*! exports provided: setConf, draw, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setConf", function() { return setConf; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "draw", function() { return draw; }); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "setConf": () => (/* binding */ setConf), +/* harmony export */ "draw": () => (/* binding */ draw), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); /* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3 */ "d3"); /* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(d3__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var _gitGraphAst__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./gitGraphAst */ "./src/diagrams/git/gitGraphAst.js"); -/* harmony import */ var _parser_gitGraph__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./parser/gitGraph */ "./src/diagrams/git/parser/gitGraph.jison"); -/* harmony import */ var _parser_gitGraph__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_parser_gitGraph__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../logger */ "./src/logger.js"); -/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils */ "./src/utils.js"); +/* harmony import */ var _gitGraphAst__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./gitGraphAst */ "./src/diagrams/git/gitGraphAst.js"); +/* harmony import */ var _parser_gitGraph__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./parser/gitGraph */ "./src/diagrams/git/parser/gitGraph.jison"); +/* harmony import */ var _parser_gitGraph__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_parser_gitGraph__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../logger */ "./src/logger.js"); +/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils */ "./src/utils.js"); @@ -14528,9 +19185,9 @@ function svgCreateDefs(svg) { } function svgDrawLine(svg, points, colorIdx, interpolate) { - var curve = Object(_utils__WEBPACK_IMPORTED_MODULE_4__["interpolateToCurve"])(interpolate, d3__WEBPACK_IMPORTED_MODULE_0__["curveBasis"]); + var curve = (0,_utils__WEBPACK_IMPORTED_MODULE_1__.interpolateToCurve)(interpolate, d3__WEBPACK_IMPORTED_MODULE_0__.curveBasis); var color = config.branchColors[colorIdx % config.branchColors.length]; - var lineGen = Object(d3__WEBPACK_IMPORTED_MODULE_0__["line"])().x(function (d) { + var lineGen = (0,d3__WEBPACK_IMPORTED_MODULE_0__.line)().x(function (d) { return Math.round(d.x); }).y(function (d) { return Math.round(d.y); @@ -14553,7 +19210,7 @@ function getElementCoords(element, coords) { } function svgDrawLineForCommits(svg, fromId, toId, direction, color) { - _logger__WEBPACK_IMPORTED_MODULE_3__["log"].debug('svgDrawLineForCommits: ', fromId, toId); + _logger__WEBPACK_IMPORTED_MODULE_2__.log.debug('svgDrawLineForCommits: ', fromId, toId); var fromBbox = getElementCoords(svg.select('#node-' + fromId + ' circle')); var toBbox = getElementCoords(svg.select('#node-' + toId + ' circle')); @@ -14656,7 +19313,7 @@ function renderCommitHistory(svg, commitid, branches, direction) { if (typeof commitid === 'string') { do { commit = allCommitsDict[commitid]; - _logger__WEBPACK_IMPORTED_MODULE_3__["log"].debug('in renderCommitHistory', commit.id, commit.seq); + _logger__WEBPACK_IMPORTED_MODULE_2__.log.debug('in renderCommitHistory', commit.id, commit.seq); if (svg.select('#node-' + commitid).size() > 0) { return; @@ -14685,7 +19342,7 @@ function renderCommitHistory(svg, commitid, branches, direction) { } if (branch) { - _logger__WEBPACK_IMPORTED_MODULE_3__["log"].debug('found branch ', branch.name); + _logger__WEBPACK_IMPORTED_MODULE_2__.log.debug('found branch ', branch.name); svg.select('#node-' + commit.id + ' p').append('xhtml:span').attr('class', 'branch-label').text(branch.name + ', '); } @@ -14700,7 +19357,7 @@ function renderCommitHistory(svg, commitid, branches, direction) { } if (Array.isArray(commitid)) { - _logger__WEBPACK_IMPORTED_MODULE_3__["log"].debug('found merge commmit', commitid); + _logger__WEBPACK_IMPORTED_MODULE_2__.log.debug('found merge commmit', commitid); renderCommitHistory(svg, commitid[0], branches, direction); branchNum++; renderCommitHistory(svg, commitid[1], branches, direction); @@ -14728,17 +19385,17 @@ function renderLines(svg, commit, direction, branchColor) { var draw = function draw(txt, id, ver) { try { - var parser = _parser_gitGraph__WEBPACK_IMPORTED_MODULE_2___default.a.parser; - parser.yy = _gitGraphAst__WEBPACK_IMPORTED_MODULE_1__["default"]; + var parser = (_parser_gitGraph__WEBPACK_IMPORTED_MODULE_3___default().parser); + parser.yy = _gitGraphAst__WEBPACK_IMPORTED_MODULE_4__["default"]; parser.yy.clear(); - _logger__WEBPACK_IMPORTED_MODULE_3__["log"].debug('in gitgraph renderer', txt + '\n', 'id:', id, ver); // Parse the graph definition + _logger__WEBPACK_IMPORTED_MODULE_2__.log.debug('in gitgraph renderer', txt + '\n', 'id:', id, ver); // Parse the graph definition parser.parse(txt + '\n'); - config = Object.assign(config, apiConfig, _gitGraphAst__WEBPACK_IMPORTED_MODULE_1__["default"].getOptions()); - _logger__WEBPACK_IMPORTED_MODULE_3__["log"].debug('effective options', config); - var direction = _gitGraphAst__WEBPACK_IMPORTED_MODULE_1__["default"].getDirection(); - allCommitsDict = _gitGraphAst__WEBPACK_IMPORTED_MODULE_1__["default"].getCommits(); - var branches = _gitGraphAst__WEBPACK_IMPORTED_MODULE_1__["default"].getBranchesAsObjArray(); + config = Object.assign(config, apiConfig, _gitGraphAst__WEBPACK_IMPORTED_MODULE_4__["default"].getOptions()); + _logger__WEBPACK_IMPORTED_MODULE_2__.log.debug('effective options', config); + var direction = _gitGraphAst__WEBPACK_IMPORTED_MODULE_4__["default"].getDirection(); + allCommitsDict = _gitGraphAst__WEBPACK_IMPORTED_MODULE_4__["default"].getCommits(); + var branches = _gitGraphAst__WEBPACK_IMPORTED_MODULE_4__["default"].getBranchesAsObjArray(); if (direction === 'BT') { config.nodeLabel.x = branches.length * config.branchOffset; @@ -14746,7 +19403,7 @@ var draw = function draw(txt, id, ver) { config.nodeLabel.y = -1 * 2 * config.nodeRadius; } - var svg = Object(d3__WEBPACK_IMPORTED_MODULE_0__["select"])("[id=\"".concat(id, "\"]")); + var svg = (0,d3__WEBPACK_IMPORTED_MODULE_0__.select)("[id=\"".concat(id, "\"]")); svgCreateDefs(svg); branchNum = 1; @@ -14762,738 +19419,33 @@ var draw = function draw(txt, id, ver) { return (branches.length + 1) * config.branchOffset; }); } catch (e) { - _logger__WEBPACK_IMPORTED_MODULE_3__["log"].error('Error while rendering gitgraph'); - _logger__WEBPACK_IMPORTED_MODULE_3__["log"].error(e.message); + _logger__WEBPACK_IMPORTED_MODULE_2__.log.error('Error while rendering gitgraph'); + _logger__WEBPACK_IMPORTED_MODULE_2__.log.error(e.message); } }; -/* harmony default export */ __webpack_exports__["default"] = ({ +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ setConf: setConf, draw: draw }); /***/ }), -/***/ "./src/diagrams/git/parser/gitGraph.jison": -/*!************************************************!*\ - !*** ./src/diagrams/git/parser/gitGraph.jison ***! - \************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -/* WEBPACK VAR INJECTION */(function(process, module) {/* parser generated by jison 0.4.18 */ -/* - Returns a Parser object of the following structure: - - Parser: { - yy: {} - } - - Parser.prototype: { - yy: {}, - trace: function(), - symbols_: {associative list: name ==> number}, - terminals_: {associative list: number ==> name}, - productions_: [...], - performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$), - table: [...], - defaultActions: {...}, - parseError: function(str, hash), - parse: function(input), - - lexer: { - EOF: 1, - parseError: function(str, hash), - setInput: function(input), - input: function(), - unput: function(str), - more: function(), - less: function(n), - pastInput: function(), - upcomingInput: function(), - showPosition: function(), - test_match: function(regex_match_array, rule_index), - next: function(), - lex: function(), - begin: function(condition), - popState: function(), - _currentRules: function(), - topState: function(), - pushState: function(condition), - - options: { - ranges: boolean (optional: true ==> token location info will include a .range[] member) - flex: boolean (optional: true ==> flex-like lexing behaviour where the rules are tested exhaustively to find the longest match) - backtrack_lexer: boolean (optional: true ==> lexer regexes are tested in order and for each matching regex the action code is invoked; the lexer terminates the scan when a token is returned by the action code) - }, - - performAction: function(yy, yy_, $avoiding_name_collisions, YY_START), - rules: [...], - conditions: {associative list: name ==> set}, - } - } - - - token location info (@$, _$, etc.): { - first_line: n, - last_line: n, - first_column: n, - last_column: n, - range: [start_number, end_number] (where the numbers are indexes into the input string, regular zero-based) - } - - - the parseError function receives a 'hash' object with these members for lexer and parser errors: { - text: (matched text) - token: (the produced terminal token, if any) - line: (yylineno) - } - while parser (grammar) errors will also provide these members, i.e. parser errors deliver a superset of attributes: { - loc: (yylloc) - expected: (string describing the set of expected tokens) - recoverable: (boolean: TRUE when the parser has a error recovery rule available for this particular error) - } -*/ -var parser = (function(){ -var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[2,3],$V1=[1,7],$V2=[7,12,15,17,19,20,21],$V3=[7,11,12,15,17,19,20,21],$V4=[2,20],$V5=[1,32]; -var parser = {trace: function trace () { }, -yy: {}, -symbols_: {"error":2,"start":3,"GG":4,":":5,"document":6,"EOF":7,"DIR":8,"options":9,"body":10,"OPT":11,"NL":12,"line":13,"statement":14,"COMMIT":15,"commit_arg":16,"BRANCH":17,"ID":18,"CHECKOUT":19,"MERGE":20,"RESET":21,"reset_arg":22,"STR":23,"HEAD":24,"reset_parents":25,"CARET":26,"$accept":0,"$end":1}, -terminals_: {2:"error",4:"GG",5:":",7:"EOF",8:"DIR",11:"OPT",12:"NL",15:"COMMIT",17:"BRANCH",18:"ID",19:"CHECKOUT",20:"MERGE",21:"RESET",23:"STR",24:"HEAD",26:"CARET"}, -productions_: [0,[3,4],[3,5],[6,0],[6,2],[9,2],[9,1],[10,0],[10,2],[13,2],[13,1],[14,2],[14,2],[14,2],[14,2],[14,2],[16,0],[16,1],[22,2],[22,2],[25,0],[25,2]], -performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) { -/* this == yyval */ - -var $0 = $$.length - 1; -switch (yystate) { -case 1: - return $$[$0-1]; -break; -case 2: -yy.setDirection($$[$0-3]); return $$[$0-1]; -break; -case 4: - yy.setOptions($$[$0-1]); this.$ = $$[$0] -break; -case 5: -$$[$0-1] +=$$[$0]; this.$=$$[$0-1] -break; -case 7: -this.$ = [] -break; -case 8: -$$[$0-1].push($$[$0]); this.$=$$[$0-1]; -break; -case 9: -this.$ =$$[$0-1] -break; -case 11: -yy.commit($$[$0]) -break; -case 12: -yy.branch($$[$0]) -break; -case 13: -yy.checkout($$[$0]) -break; -case 14: -yy.merge($$[$0]) -break; -case 15: -yy.reset($$[$0]) -break; -case 16: -this.$ = "" -break; -case 17: -this.$=$$[$0] -break; -case 18: -this.$ = $$[$0-1]+ ":" + $$[$0] -break; -case 19: -this.$ = $$[$0-1]+ ":" + yy.count; yy.count = 0 -break; -case 20: -yy.count = 0 -break; -case 21: - yy.count += 1 -break; -} -}, -table: [{3:1,4:[1,2]},{1:[3]},{5:[1,3],8:[1,4]},{6:5,7:$V0,9:6,12:$V1},{5:[1,8]},{7:[1,9]},o($V2,[2,7],{10:10,11:[1,11]}),o($V3,[2,6]),{6:12,7:$V0,9:6,12:$V1},{1:[2,1]},{7:[2,4],12:[1,15],13:13,14:14,15:[1,16],17:[1,17],19:[1,18],20:[1,19],21:[1,20]},o($V3,[2,5]),{7:[1,21]},o($V2,[2,8]),{12:[1,22]},o($V2,[2,10]),{12:[2,16],16:23,23:[1,24]},{18:[1,25]},{18:[1,26]},{18:[1,27]},{18:[1,30],22:28,24:[1,29]},{1:[2,2]},o($V2,[2,9]),{12:[2,11]},{12:[2,17]},{12:[2,12]},{12:[2,13]},{12:[2,14]},{12:[2,15]},{12:$V4,25:31,26:$V5},{12:$V4,25:33,26:$V5},{12:[2,18]},{12:$V4,25:34,26:$V5},{12:[2,19]},{12:[2,21]}], -defaultActions: {9:[2,1],21:[2,2],23:[2,11],24:[2,17],25:[2,12],26:[2,13],27:[2,14],28:[2,15],31:[2,18],33:[2,19],34:[2,21]}, -parseError: function parseError (str, hash) { - if (hash.recoverable) { - this.trace(str); - } else { - var error = new Error(str); - error.hash = hash; - throw error; - } -}, -parse: function parse(input) { - var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = '', yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1; - var args = lstack.slice.call(arguments, 1); - var lexer = Object.create(this.lexer); - var sharedState = { yy: {} }; - for (var k in this.yy) { - if (Object.prototype.hasOwnProperty.call(this.yy, k)) { - sharedState.yy[k] = this.yy[k]; - } - } - lexer.setInput(input, sharedState.yy); - sharedState.yy.lexer = lexer; - sharedState.yy.parser = this; - if (typeof lexer.yylloc == 'undefined') { - lexer.yylloc = {}; - } - var yyloc = lexer.yylloc; - lstack.push(yyloc); - var ranges = lexer.options && lexer.options.ranges; - if (typeof sharedState.yy.parseError === 'function') { - this.parseError = sharedState.yy.parseError; - } else { - this.parseError = Object.getPrototypeOf(this).parseError; - } - function popStack(n) { - stack.length = stack.length - 2 * n; - vstack.length = vstack.length - n; - lstack.length = lstack.length - n; - } - function lex() { - var token; - token = tstack.pop() || lexer.lex() || EOF; - if (typeof token !== 'number') { - if (token instanceof Array) { - tstack = token; - token = tstack.pop(); - } - token = self.symbols_[token] || token; - } - return token; - } - var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected; - while (true) { - state = stack[stack.length - 1]; - if (this.defaultActions[state]) { - action = this.defaultActions[state]; - } else { - if (symbol === null || typeof symbol == 'undefined') { - symbol = lex(); - } - action = table[state] && table[state][symbol]; - } - if (typeof action === 'undefined' || !action.length || !action[0]) { - var errStr = ''; - expected = []; - for (p in table[state]) { - if (this.terminals_[p] && p > TERROR) { - expected.push('\'' + this.terminals_[p] + '\''); - } - } - if (lexer.showPosition) { - errStr = 'Parse error on line ' + (yylineno + 1) + ':\n' + lexer.showPosition() + '\nExpecting ' + expected.join(', ') + ', got \'' + (this.terminals_[symbol] || symbol) + '\''; - } else { - errStr = 'Parse error on line ' + (yylineno + 1) + ': Unexpected ' + (symbol == EOF ? 'end of input' : '\'' + (this.terminals_[symbol] || symbol) + '\''); - } - this.parseError(errStr, { - text: lexer.match, - token: this.terminals_[symbol] || symbol, - line: lexer.yylineno, - loc: yyloc, - expected: expected - }); - } - if (action[0] instanceof Array && action.length > 1) { - throw new Error('Parse Error: multiple actions possible at state: ' + state + ', token: ' + symbol); - } - switch (action[0]) { - case 1: - stack.push(symbol); - vstack.push(lexer.yytext); - lstack.push(lexer.yylloc); - stack.push(action[1]); - symbol = null; - if (!preErrorSymbol) { - yyleng = lexer.yyleng; - yytext = lexer.yytext; - yylineno = lexer.yylineno; - yyloc = lexer.yylloc; - if (recovering > 0) { - recovering--; - } - } else { - symbol = preErrorSymbol; - preErrorSymbol = null; - } - break; - case 2: - len = this.productions_[action[1]][1]; - yyval.$ = vstack[vstack.length - len]; - yyval._$ = { - first_line: lstack[lstack.length - (len || 1)].first_line, - last_line: lstack[lstack.length - 1].last_line, - first_column: lstack[lstack.length - (len || 1)].first_column, - last_column: lstack[lstack.length - 1].last_column - }; - if (ranges) { - yyval._$.range = [ - lstack[lstack.length - (len || 1)].range[0], - lstack[lstack.length - 1].range[1] - ]; - } - r = this.performAction.apply(yyval, [ - yytext, - yyleng, - yylineno, - sharedState.yy, - action[1], - vstack, - lstack - ].concat(args)); - if (typeof r !== 'undefined') { - return r; - } - if (len) { - stack = stack.slice(0, -1 * len * 2); - vstack = vstack.slice(0, -1 * len); - lstack = lstack.slice(0, -1 * len); - } - stack.push(this.productions_[action[1]][0]); - vstack.push(yyval.$); - lstack.push(yyval._$); - newState = table[stack[stack.length - 2]][stack[stack.length - 1]]; - stack.push(newState); - break; - case 3: - return true; - } - } - return true; -}}; -/* generated by jison-lex 0.3.4 */ -var lexer = (function(){ -var lexer = ({ - -EOF:1, - -parseError:function parseError(str, hash) { - if (this.yy.parser) { - this.yy.parser.parseError(str, hash); - } else { - throw new Error(str); - } - }, - -// resets the lexer, sets new input -setInput:function (input, yy) { - this.yy = yy || this.yy || {}; - this._input = input; - this._more = this._backtrack = this.done = false; - this.yylineno = this.yyleng = 0; - this.yytext = this.matched = this.match = ''; - this.conditionStack = ['INITIAL']; - this.yylloc = { - first_line: 1, - first_column: 0, - last_line: 1, - last_column: 0 - }; - if (this.options.ranges) { - this.yylloc.range = [0,0]; - } - this.offset = 0; - return this; - }, - -// consumes and returns one char from the input -input:function () { - var ch = this._input[0]; - this.yytext += ch; - this.yyleng++; - this.offset++; - this.match += ch; - this.matched += ch; - var lines = ch.match(/(?:\r\n?|\n).*/g); - if (lines) { - this.yylineno++; - this.yylloc.last_line++; - } else { - this.yylloc.last_column++; - } - if (this.options.ranges) { - this.yylloc.range[1]++; - } - - this._input = this._input.slice(1); - return ch; - }, - -// unshifts one char (or a string) into the input -unput:function (ch) { - var len = ch.length; - var lines = ch.split(/(?:\r\n?|\n)/g); - - this._input = ch + this._input; - this.yytext = this.yytext.substr(0, this.yytext.length - len); - //this.yyleng -= len; - this.offset -= len; - var oldLines = this.match.split(/(?:\r\n?|\n)/g); - this.match = this.match.substr(0, this.match.length - 1); - this.matched = this.matched.substr(0, this.matched.length - 1); - - if (lines.length - 1) { - this.yylineno -= lines.length - 1; - } - var r = this.yylloc.range; - - this.yylloc = { - first_line: this.yylloc.first_line, - last_line: this.yylineno + 1, - first_column: this.yylloc.first_column, - last_column: lines ? - (lines.length === oldLines.length ? this.yylloc.first_column : 0) - + oldLines[oldLines.length - lines.length].length - lines[0].length : - this.yylloc.first_column - len - }; - - if (this.options.ranges) { - this.yylloc.range = [r[0], r[0] + this.yyleng - len]; - } - this.yyleng = this.yytext.length; - return this; - }, - -// When called from action, caches matched text and appends it on next action -more:function () { - this._more = true; - return this; - }, - -// When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead. -reject:function () { - if (this.options.backtrack_lexer) { - this._backtrack = true; - } else { - return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n' + this.showPosition(), { - text: "", - token: null, - line: this.yylineno - }); - - } - return this; - }, - -// retain first n characters of the match -less:function (n) { - this.unput(this.match.slice(n)); - }, - -// displays already matched input, i.e. for error messages -pastInput:function () { - var past = this.matched.substr(0, this.matched.length - this.match.length); - return (past.length > 20 ? '...':'') + past.substr(-20).replace(/\n/g, ""); - }, - -// displays upcoming input, i.e. for error messages -upcomingInput:function () { - var next = this.match; - if (next.length < 20) { - next += this._input.substr(0, 20-next.length); - } - return (next.substr(0,20) + (next.length > 20 ? '...' : '')).replace(/\n/g, ""); - }, - -// displays the character position where the lexing error occurred, i.e. for error messages -showPosition:function () { - var pre = this.pastInput(); - var c = new Array(pre.length + 1).join("-"); - return pre + this.upcomingInput() + "\n" + c + "^"; - }, - -// test the lexed token: return FALSE when not a match, otherwise return token -test_match:function(match, indexed_rule) { - var token, - lines, - backup; - - if (this.options.backtrack_lexer) { - // save context - backup = { - yylineno: this.yylineno, - yylloc: { - first_line: this.yylloc.first_line, - last_line: this.last_line, - first_column: this.yylloc.first_column, - last_column: this.yylloc.last_column - }, - yytext: this.yytext, - match: this.match, - matches: this.matches, - matched: this.matched, - yyleng: this.yyleng, - offset: this.offset, - _more: this._more, - _input: this._input, - yy: this.yy, - conditionStack: this.conditionStack.slice(0), - done: this.done - }; - if (this.options.ranges) { - backup.yylloc.range = this.yylloc.range.slice(0); - } - } - - lines = match[0].match(/(?:\r\n?|\n).*/g); - if (lines) { - this.yylineno += lines.length; - } - this.yylloc = { - first_line: this.yylloc.last_line, - last_line: this.yylineno + 1, - first_column: this.yylloc.last_column, - last_column: lines ? - lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length : - this.yylloc.last_column + match[0].length - }; - this.yytext += match[0]; - this.match += match[0]; - this.matches = match; - this.yyleng = this.yytext.length; - if (this.options.ranges) { - this.yylloc.range = [this.offset, this.offset += this.yyleng]; - } - this._more = false; - this._backtrack = false; - this._input = this._input.slice(match[0].length); - this.matched += match[0]; - token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]); - if (this.done && this._input) { - this.done = false; - } - if (token) { - return token; - } else if (this._backtrack) { - // recover context - for (var k in backup) { - this[k] = backup[k]; - } - return false; // rule action called reject() implying the next rule should be tested instead. - } - return false; - }, - -// return next match in input -next:function () { - if (this.done) { - return this.EOF; - } - if (!this._input) { - this.done = true; - } - - var token, - match, - tempMatch, - index; - if (!this._more) { - this.yytext = ''; - this.match = ''; - } - var rules = this._currentRules(); - for (var i = 0; i < rules.length; i++) { - tempMatch = this._input.match(this.rules[rules[i]]); - if (tempMatch && (!match || tempMatch[0].length > match[0].length)) { - match = tempMatch; - index = i; - if (this.options.backtrack_lexer) { - token = this.test_match(tempMatch, rules[i]); - if (token !== false) { - return token; - } else if (this._backtrack) { - match = false; - continue; // rule action called reject() implying a rule MISmatch. - } else { - // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) - return false; - } - } else if (!this.options.flex) { - break; - } - } - } - if (match) { - token = this.test_match(match, rules[index]); - if (token !== false) { - return token; - } - // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) - return false; - } - if (this._input === "") { - return this.EOF; - } else { - return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\n' + this.showPosition(), { - text: "", - token: null, - line: this.yylineno - }); - } - }, - -// return next match that has a token -lex:function lex () { - var r = this.next(); - if (r) { - return r; - } else { - return this.lex(); - } - }, - -// activates a new lexer condition state (pushes the new lexer condition state onto the condition stack) -begin:function begin (condition) { - this.conditionStack.push(condition); - }, - -// pop the previously active lexer condition state off the condition stack -popState:function popState () { - var n = this.conditionStack.length - 1; - if (n > 0) { - return this.conditionStack.pop(); - } else { - return this.conditionStack[0]; - } - }, - -// produce the lexer rule set which is active for the currently active lexer condition state -_currentRules:function _currentRules () { - if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) { - return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules; - } else { - return this.conditions["INITIAL"].rules; - } - }, - -// return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available -topState:function topState (n) { - n = this.conditionStack.length - 1 - Math.abs(n || 0); - if (n >= 0) { - return this.conditionStack[n]; - } else { - return "INITIAL"; - } - }, - -// alias for begin(condition) -pushState:function pushState (condition) { - this.begin(condition); - }, - -// return the number of states currently on the stack -stateStackSize:function stateStackSize() { - return this.conditionStack.length; - }, -options: {"case-insensitive":true}, -performAction: function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) { -var YYSTATE=YY_START; -switch($avoiding_name_collisions) { -case 0:return 12; -break; -case 1:/* skip all whitespace */ -break; -case 2:/* skip comments */ -break; -case 3:/* skip comments */ -break; -case 4:return 4; -break; -case 5:return 15; -break; -case 6:return 17; -break; -case 7:return 20; -break; -case 8:return 21; -break; -case 9:return 19; -break; -case 10:return 8; -break; -case 11:return 8; -break; -case 12:return 5; -break; -case 13:return 26 -break; -case 14:this.begin("options"); -break; -case 15:this.popState(); -break; -case 16:return 11; -break; -case 17:this.begin("string"); -break; -case 18:this.popState(); -break; -case 19:return 23; -break; -case 20:return 18; -break; -case 21:return 7; -break; -} -}, -rules: [/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:gitGraph\b)/i,/^(?:commit\b)/i,/^(?:branch\b)/i,/^(?:merge\b)/i,/^(?:reset\b)/i,/^(?:checkout\b)/i,/^(?:LR\b)/i,/^(?:BT\b)/i,/^(?::)/i,/^(?:\^)/i,/^(?:options\r?\n)/i,/^(?:end\r?\n)/i,/^(?:[^\n]+\r?\n)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[a-zA-Z][-_\.a-zA-Z0-9]*[-_a-zA-Z0-9])/i,/^(?:$)/i], -conditions: {"options":{"rules":[15,16],"inclusive":false},"string":{"rules":[18,19],"inclusive":false},"INITIAL":{"rules":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,17,20,21],"inclusive":true}} -}); -return lexer; -})(); -parser.lexer = lexer; -function Parser () { - this.yy = {}; -} -Parser.prototype = parser;parser.Parser = Parser; -return new Parser; -})(); - - -if (true) { -exports.parser = parser; -exports.Parser = parser.Parser; -exports.parse = function () { return parser.parse.apply(parser, arguments); }; -exports.main = function commonjsMain (args) { - if (!args[1]) { - console.log('Usage: '+args[0]+' FILE'); - process.exit(1); - } - var source = __webpack_require__(/*! fs */ "./node_modules/node-libs-browser/mock/empty.js").readFileSync(__webpack_require__(/*! path */ "./node_modules/path-browserify/index.js").normalize(args[1]), "utf8"); - return exports.parser.parse(source); -}; -if ( true && __webpack_require__.c[__webpack_require__.s] === module) { - exports.main(process.argv.slice(1)); -} -} -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../../node_modules/process/browser.js */ "./node_modules/process/browser.js"), __webpack_require__(/*! ./../../../../node_modules/webpack/buildin/module.js */ "./node_modules/webpack/buildin/module.js")(module))) - -/***/ }), - /***/ "./src/diagrams/git/styles.js": /*!************************************!*\ !*** ./src/diagrams/git/styles.js ***! \************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); var getStyles = function getStyles() { return "\n .commit-id,\n .commit-msg,\n .branch-label {\n fill: lightgrey;\n color: lightgrey;\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n }\n"; }; -/* harmony default export */ __webpack_exports__["default"] = (getStyles); +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (getStyles); /***/ }), @@ -15501,15 +19453,17 @@ var getStyles = function getStyles() { /*!*************************************!*\ !*** ./src/diagrams/info/infoDb.js ***! \*************************************/ -/*! exports provided: setMessage, getMessage, setInfo, getInfo, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setMessage", function() { return setMessage; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getMessage", function() { return getMessage; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setInfo", function() { return setInfo; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getInfo", function() { return getInfo; }); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "setMessage": () => (/* binding */ setMessage), +/* harmony export */ "getMessage": () => (/* binding */ getMessage), +/* harmony export */ "setInfo": () => (/* binding */ setInfo), +/* harmony export */ "getInfo": () => (/* binding */ getInfo), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); /* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../logger */ "./src/logger.js"); /** * Created by knut on 15-01-14. @@ -15518,7 +19472,7 @@ __webpack_require__.r(__webpack_exports__); var message = ''; var info = false; var setMessage = function setMessage(txt) { - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].debug('Setting message to: ' + txt); + _logger__WEBPACK_IMPORTED_MODULE_0__.log.debug('Setting message to: ' + txt); message = txt; }; var getMessage = function getMessage() { @@ -15533,7 +19487,7 @@ var getInfo = function getInfo() { // global.mermaidAPI.parseError(err, hash) // } -/* harmony default export */ __webpack_exports__["default"] = ({ +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ setMessage: setMessage, getMessage: getMessage, setInfo: setInfo, @@ -15547,18 +19501,20 @@ var getInfo = function getInfo() { /*!*******************************************!*\ !*** ./src/diagrams/info/infoRenderer.js ***! \*******************************************/ -/*! exports provided: setConf, draw, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setConf", function() { return setConf; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "draw", function() { return draw; }); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "setConf": () => (/* binding */ setConf), +/* harmony export */ "draw": () => (/* binding */ draw), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); /* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3 */ "d3"); /* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(d3__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var _infoDb__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./infoDb */ "./src/diagrams/info/infoDb.js"); -/* harmony import */ var _parser_info__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./parser/info */ "./src/diagrams/info/parser/info.jison"); -/* harmony import */ var _parser_info__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_parser_info__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _infoDb__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./infoDb */ "./src/diagrams/info/infoDb.js"); +/* harmony import */ var _parser_info__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./parser/info */ "./src/diagrams/info/parser/info.jison"); +/* harmony import */ var _parser_info__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_parser_info__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../logger */ "./src/logger.js"); /** * Created by knut on 14-12-11. @@ -15582,1350 +19538,47 @@ var setConf = function setConf(cnf) { var draw = function draw(txt, id, ver) { try { - var parser = _parser_info__WEBPACK_IMPORTED_MODULE_2___default.a.parser; - parser.yy = _infoDb__WEBPACK_IMPORTED_MODULE_1__["default"]; - _logger__WEBPACK_IMPORTED_MODULE_3__["log"].debug('Renering info diagram\n' + txt); // Parse the graph definition + var parser = (_parser_info__WEBPACK_IMPORTED_MODULE_1___default().parser); + parser.yy = _infoDb__WEBPACK_IMPORTED_MODULE_2__["default"]; + _logger__WEBPACK_IMPORTED_MODULE_3__.log.debug('Renering info diagram\n' + txt); // Parse the graph definition parser.parse(txt); - _logger__WEBPACK_IMPORTED_MODULE_3__["log"].debug('Parsed info diagram'); // Fetch the default direction, use TD if none was found + _logger__WEBPACK_IMPORTED_MODULE_3__.log.debug('Parsed info diagram'); // Fetch the default direction, use TD if none was found - var svg = Object(d3__WEBPACK_IMPORTED_MODULE_0__["select"])('#' + id); + var svg = (0,d3__WEBPACK_IMPORTED_MODULE_0__.select)('#' + id); var g = svg.append('g'); g.append('text') // text label for the x axis .attr('x', 100).attr('y', 40).attr('class', 'version').attr('font-size', '32px').style('text-anchor', 'middle').text('v ' + ver); svg.attr('height', 100); svg.attr('width', 400); // svg.attr('viewBox', '0 0 300 150'); } catch (e) { - _logger__WEBPACK_IMPORTED_MODULE_3__["log"].error('Error while rendering info diagram'); - _logger__WEBPACK_IMPORTED_MODULE_3__["log"].error(e.message); + _logger__WEBPACK_IMPORTED_MODULE_3__.log.error('Error while rendering info diagram'); + _logger__WEBPACK_IMPORTED_MODULE_3__.log.error(e.message); } }; -/* harmony default export */ __webpack_exports__["default"] = ({ +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ setConf: setConf, draw: draw }); /***/ }), -/***/ "./src/diagrams/info/parser/info.jison": -/*!*********************************************!*\ - !*** ./src/diagrams/info/parser/info.jison ***! - \*********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -/* WEBPACK VAR INJECTION */(function(process, module) {/* parser generated by jison 0.4.18 */ -/* - Returns a Parser object of the following structure: - - Parser: { - yy: {} - } - - Parser.prototype: { - yy: {}, - trace: function(), - symbols_: {associative list: name ==> number}, - terminals_: {associative list: number ==> name}, - productions_: [...], - performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$), - table: [...], - defaultActions: {...}, - parseError: function(str, hash), - parse: function(input), - - lexer: { - EOF: 1, - parseError: function(str, hash), - setInput: function(input), - input: function(), - unput: function(str), - more: function(), - less: function(n), - pastInput: function(), - upcomingInput: function(), - showPosition: function(), - test_match: function(regex_match_array, rule_index), - next: function(), - lex: function(), - begin: function(condition), - popState: function(), - _currentRules: function(), - topState: function(), - pushState: function(condition), - - options: { - ranges: boolean (optional: true ==> token location info will include a .range[] member) - flex: boolean (optional: true ==> flex-like lexing behaviour where the rules are tested exhaustively to find the longest match) - backtrack_lexer: boolean (optional: true ==> lexer regexes are tested in order and for each matching regex the action code is invoked; the lexer terminates the scan when a token is returned by the action code) - }, - - performAction: function(yy, yy_, $avoiding_name_collisions, YY_START), - rules: [...], - conditions: {associative list: name ==> set}, - } - } - - - token location info (@$, _$, etc.): { - first_line: n, - last_line: n, - first_column: n, - last_column: n, - range: [start_number, end_number] (where the numbers are indexes into the input string, regular zero-based) - } - - - the parseError function receives a 'hash' object with these members for lexer and parser errors: { - text: (matched text) - token: (the produced terminal token, if any) - line: (yylineno) - } - while parser (grammar) errors will also provide these members, i.e. parser errors deliver a superset of attributes: { - loc: (yylloc) - expected: (string describing the set of expected tokens) - recoverable: (boolean: TRUE when the parser has a error recovery rule available for this particular error) - } -*/ -var parser = (function(){ -var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[6,9,10]; -var parser = {trace: function trace () { }, -yy: {}, -symbols_: {"error":2,"start":3,"info":4,"document":5,"EOF":6,"line":7,"statement":8,"NL":9,"showInfo":10,"$accept":0,"$end":1}, -terminals_: {2:"error",4:"info",6:"EOF",9:"NL",10:"showInfo"}, -productions_: [0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,1]], -performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) { -/* this == yyval */ - -var $0 = $$.length - 1; -switch (yystate) { -case 1: - return yy; -break; -case 4: - -break; -case 6: - yy.setInfo(true); -break; -} -}, -table: [{3:1,4:[1,2]},{1:[3]},o($V0,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8]},{1:[2,1]},o($V0,[2,3]),o($V0,[2,4]),o($V0,[2,5]),o($V0,[2,6])], -defaultActions: {4:[2,1]}, -parseError: function parseError (str, hash) { - if (hash.recoverable) { - this.trace(str); - } else { - var error = new Error(str); - error.hash = hash; - throw error; - } -}, -parse: function parse(input) { - var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = '', yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1; - var args = lstack.slice.call(arguments, 1); - var lexer = Object.create(this.lexer); - var sharedState = { yy: {} }; - for (var k in this.yy) { - if (Object.prototype.hasOwnProperty.call(this.yy, k)) { - sharedState.yy[k] = this.yy[k]; - } - } - lexer.setInput(input, sharedState.yy); - sharedState.yy.lexer = lexer; - sharedState.yy.parser = this; - if (typeof lexer.yylloc == 'undefined') { - lexer.yylloc = {}; - } - var yyloc = lexer.yylloc; - lstack.push(yyloc); - var ranges = lexer.options && lexer.options.ranges; - if (typeof sharedState.yy.parseError === 'function') { - this.parseError = sharedState.yy.parseError; - } else { - this.parseError = Object.getPrototypeOf(this).parseError; - } - function popStack(n) { - stack.length = stack.length - 2 * n; - vstack.length = vstack.length - n; - lstack.length = lstack.length - n; - } - function lex() { - var token; - token = tstack.pop() || lexer.lex() || EOF; - if (typeof token !== 'number') { - if (token instanceof Array) { - tstack = token; - token = tstack.pop(); - } - token = self.symbols_[token] || token; - } - return token; - } - var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected; - while (true) { - state = stack[stack.length - 1]; - if (this.defaultActions[state]) { - action = this.defaultActions[state]; - } else { - if (symbol === null || typeof symbol == 'undefined') { - symbol = lex(); - } - action = table[state] && table[state][symbol]; - } - if (typeof action === 'undefined' || !action.length || !action[0]) { - var errStr = ''; - expected = []; - for (p in table[state]) { - if (this.terminals_[p] && p > TERROR) { - expected.push('\'' + this.terminals_[p] + '\''); - } - } - if (lexer.showPosition) { - errStr = 'Parse error on line ' + (yylineno + 1) + ':\n' + lexer.showPosition() + '\nExpecting ' + expected.join(', ') + ', got \'' + (this.terminals_[symbol] || symbol) + '\''; - } else { - errStr = 'Parse error on line ' + (yylineno + 1) + ': Unexpected ' + (symbol == EOF ? 'end of input' : '\'' + (this.terminals_[symbol] || symbol) + '\''); - } - this.parseError(errStr, { - text: lexer.match, - token: this.terminals_[symbol] || symbol, - line: lexer.yylineno, - loc: yyloc, - expected: expected - }); - } - if (action[0] instanceof Array && action.length > 1) { - throw new Error('Parse Error: multiple actions possible at state: ' + state + ', token: ' + symbol); - } - switch (action[0]) { - case 1: - stack.push(symbol); - vstack.push(lexer.yytext); - lstack.push(lexer.yylloc); - stack.push(action[1]); - symbol = null; - if (!preErrorSymbol) { - yyleng = lexer.yyleng; - yytext = lexer.yytext; - yylineno = lexer.yylineno; - yyloc = lexer.yylloc; - if (recovering > 0) { - recovering--; - } - } else { - symbol = preErrorSymbol; - preErrorSymbol = null; - } - break; - case 2: - len = this.productions_[action[1]][1]; - yyval.$ = vstack[vstack.length - len]; - yyval._$ = { - first_line: lstack[lstack.length - (len || 1)].first_line, - last_line: lstack[lstack.length - 1].last_line, - first_column: lstack[lstack.length - (len || 1)].first_column, - last_column: lstack[lstack.length - 1].last_column - }; - if (ranges) { - yyval._$.range = [ - lstack[lstack.length - (len || 1)].range[0], - lstack[lstack.length - 1].range[1] - ]; - } - r = this.performAction.apply(yyval, [ - yytext, - yyleng, - yylineno, - sharedState.yy, - action[1], - vstack, - lstack - ].concat(args)); - if (typeof r !== 'undefined') { - return r; - } - if (len) { - stack = stack.slice(0, -1 * len * 2); - vstack = vstack.slice(0, -1 * len); - lstack = lstack.slice(0, -1 * len); - } - stack.push(this.productions_[action[1]][0]); - vstack.push(yyval.$); - lstack.push(yyval._$); - newState = table[stack[stack.length - 2]][stack[stack.length - 1]]; - stack.push(newState); - break; - case 3: - return true; - } - } - return true; -}}; - -/* generated by jison-lex 0.3.4 */ -var lexer = (function(){ -var lexer = ({ - -EOF:1, - -parseError:function parseError(str, hash) { - if (this.yy.parser) { - this.yy.parser.parseError(str, hash); - } else { - throw new Error(str); - } - }, - -// resets the lexer, sets new input -setInput:function (input, yy) { - this.yy = yy || this.yy || {}; - this._input = input; - this._more = this._backtrack = this.done = false; - this.yylineno = this.yyleng = 0; - this.yytext = this.matched = this.match = ''; - this.conditionStack = ['INITIAL']; - this.yylloc = { - first_line: 1, - first_column: 0, - last_line: 1, - last_column: 0 - }; - if (this.options.ranges) { - this.yylloc.range = [0,0]; - } - this.offset = 0; - return this; - }, - -// consumes and returns one char from the input -input:function () { - var ch = this._input[0]; - this.yytext += ch; - this.yyleng++; - this.offset++; - this.match += ch; - this.matched += ch; - var lines = ch.match(/(?:\r\n?|\n).*/g); - if (lines) { - this.yylineno++; - this.yylloc.last_line++; - } else { - this.yylloc.last_column++; - } - if (this.options.ranges) { - this.yylloc.range[1]++; - } - - this._input = this._input.slice(1); - return ch; - }, - -// unshifts one char (or a string) into the input -unput:function (ch) { - var len = ch.length; - var lines = ch.split(/(?:\r\n?|\n)/g); - - this._input = ch + this._input; - this.yytext = this.yytext.substr(0, this.yytext.length - len); - //this.yyleng -= len; - this.offset -= len; - var oldLines = this.match.split(/(?:\r\n?|\n)/g); - this.match = this.match.substr(0, this.match.length - 1); - this.matched = this.matched.substr(0, this.matched.length - 1); - - if (lines.length - 1) { - this.yylineno -= lines.length - 1; - } - var r = this.yylloc.range; - - this.yylloc = { - first_line: this.yylloc.first_line, - last_line: this.yylineno + 1, - first_column: this.yylloc.first_column, - last_column: lines ? - (lines.length === oldLines.length ? this.yylloc.first_column : 0) - + oldLines[oldLines.length - lines.length].length - lines[0].length : - this.yylloc.first_column - len - }; - - if (this.options.ranges) { - this.yylloc.range = [r[0], r[0] + this.yyleng - len]; - } - this.yyleng = this.yytext.length; - return this; - }, - -// When called from action, caches matched text and appends it on next action -more:function () { - this._more = true; - return this; - }, - -// When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead. -reject:function () { - if (this.options.backtrack_lexer) { - this._backtrack = true; - } else { - return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n' + this.showPosition(), { - text: "", - token: null, - line: this.yylineno - }); - - } - return this; - }, - -// retain first n characters of the match -less:function (n) { - this.unput(this.match.slice(n)); - }, - -// displays already matched input, i.e. for error messages -pastInput:function () { - var past = this.matched.substr(0, this.matched.length - this.match.length); - return (past.length > 20 ? '...':'') + past.substr(-20).replace(/\n/g, ""); - }, - -// displays upcoming input, i.e. for error messages -upcomingInput:function () { - var next = this.match; - if (next.length < 20) { - next += this._input.substr(0, 20-next.length); - } - return (next.substr(0,20) + (next.length > 20 ? '...' : '')).replace(/\n/g, ""); - }, - -// displays the character position where the lexing error occurred, i.e. for error messages -showPosition:function () { - var pre = this.pastInput(); - var c = new Array(pre.length + 1).join("-"); - return pre + this.upcomingInput() + "\n" + c + "^"; - }, - -// test the lexed token: return FALSE when not a match, otherwise return token -test_match:function(match, indexed_rule) { - var token, - lines, - backup; - - if (this.options.backtrack_lexer) { - // save context - backup = { - yylineno: this.yylineno, - yylloc: { - first_line: this.yylloc.first_line, - last_line: this.last_line, - first_column: this.yylloc.first_column, - last_column: this.yylloc.last_column - }, - yytext: this.yytext, - match: this.match, - matches: this.matches, - matched: this.matched, - yyleng: this.yyleng, - offset: this.offset, - _more: this._more, - _input: this._input, - yy: this.yy, - conditionStack: this.conditionStack.slice(0), - done: this.done - }; - if (this.options.ranges) { - backup.yylloc.range = this.yylloc.range.slice(0); - } - } - - lines = match[0].match(/(?:\r\n?|\n).*/g); - if (lines) { - this.yylineno += lines.length; - } - this.yylloc = { - first_line: this.yylloc.last_line, - last_line: this.yylineno + 1, - first_column: this.yylloc.last_column, - last_column: lines ? - lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length : - this.yylloc.last_column + match[0].length - }; - this.yytext += match[0]; - this.match += match[0]; - this.matches = match; - this.yyleng = this.yytext.length; - if (this.options.ranges) { - this.yylloc.range = [this.offset, this.offset += this.yyleng]; - } - this._more = false; - this._backtrack = false; - this._input = this._input.slice(match[0].length); - this.matched += match[0]; - token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]); - if (this.done && this._input) { - this.done = false; - } - if (token) { - return token; - } else if (this._backtrack) { - // recover context - for (var k in backup) { - this[k] = backup[k]; - } - return false; // rule action called reject() implying the next rule should be tested instead. - } - return false; - }, - -// return next match in input -next:function () { - if (this.done) { - return this.EOF; - } - if (!this._input) { - this.done = true; - } - - var token, - match, - tempMatch, - index; - if (!this._more) { - this.yytext = ''; - this.match = ''; - } - var rules = this._currentRules(); - for (var i = 0; i < rules.length; i++) { - tempMatch = this._input.match(this.rules[rules[i]]); - if (tempMatch && (!match || tempMatch[0].length > match[0].length)) { - match = tempMatch; - index = i; - if (this.options.backtrack_lexer) { - token = this.test_match(tempMatch, rules[i]); - if (token !== false) { - return token; - } else if (this._backtrack) { - match = false; - continue; // rule action called reject() implying a rule MISmatch. - } else { - // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) - return false; - } - } else if (!this.options.flex) { - break; - } - } - } - if (match) { - token = this.test_match(match, rules[index]); - if (token !== false) { - return token; - } - // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) - return false; - } - if (this._input === "") { - return this.EOF; - } else { - return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\n' + this.showPosition(), { - text: "", - token: null, - line: this.yylineno - }); - } - }, - -// return next match that has a token -lex:function lex () { - var r = this.next(); - if (r) { - return r; - } else { - return this.lex(); - } - }, - -// activates a new lexer condition state (pushes the new lexer condition state onto the condition stack) -begin:function begin (condition) { - this.conditionStack.push(condition); - }, - -// pop the previously active lexer condition state off the condition stack -popState:function popState () { - var n = this.conditionStack.length - 1; - if (n > 0) { - return this.conditionStack.pop(); - } else { - return this.conditionStack[0]; - } - }, - -// produce the lexer rule set which is active for the currently active lexer condition state -_currentRules:function _currentRules () { - if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) { - return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules; - } else { - return this.conditions["INITIAL"].rules; - } - }, - -// return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available -topState:function topState (n) { - n = this.conditionStack.length - 1 - Math.abs(n || 0); - if (n >= 0) { - return this.conditionStack[n]; - } else { - return "INITIAL"; - } - }, - -// alias for begin(condition) -pushState:function pushState (condition) { - this.begin(condition); - }, - -// return the number of states currently on the stack -stateStackSize:function stateStackSize() { - return this.conditionStack.length; - }, -options: {"case-insensitive":true}, -performAction: function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) { - // Pre-lexer code can go here - -var YYSTATE=YY_START; -switch($avoiding_name_collisions) { -case 0:return 4 ; -break; -case 1:return 9 ; -break; -case 2:return 'space'; -break; -case 3:return 10; -break; -case 4:return 6 ; -break; -case 5:return 'TXT' ; -break; -} -}, -rules: [/^(?:info\b)/i,/^(?:[\s\n\r]+)/i,/^(?:[\s]+)/i,/^(?:showInfo\b)/i,/^(?:$)/i,/^(?:.)/i], -conditions: {"INITIAL":{"rules":[0,1,2,3,4,5],"inclusive":true}} -}); -return lexer; -})(); -parser.lexer = lexer; -function Parser () { - this.yy = {}; -} -Parser.prototype = parser;parser.Parser = Parser; -return new Parser; -})(); - - -if (true) { -exports.parser = parser; -exports.Parser = parser.Parser; -exports.parse = function () { return parser.parse.apply(parser, arguments); }; -exports.main = function commonjsMain (args) { - if (!args[1]) { - console.log('Usage: '+args[0]+' FILE'); - process.exit(1); - } - var source = __webpack_require__(/*! fs */ "./node_modules/node-libs-browser/mock/empty.js").readFileSync(__webpack_require__(/*! path */ "./node_modules/path-browserify/index.js").normalize(args[1]), "utf8"); - return exports.parser.parse(source); -}; -if ( true && __webpack_require__.c[__webpack_require__.s] === module) { - exports.main(process.argv.slice(1)); -} -} -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../../node_modules/process/browser.js */ "./node_modules/process/browser.js"), __webpack_require__(/*! ./../../../../node_modules/webpack/buildin/module.js */ "./node_modules/webpack/buildin/module.js")(module))) - -/***/ }), - /***/ "./src/diagrams/info/styles.js": /*!*************************************!*\ !*** ./src/diagrams/info/styles.js ***! \*************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); var getStyles = function getStyles() { return ""; }; -/* harmony default export */ __webpack_exports__["default"] = (getStyles); - -/***/ }), - -/***/ "./src/diagrams/pie/parser/pie.jison": -/*!*******************************************!*\ - !*** ./src/diagrams/pie/parser/pie.jison ***! - \*******************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -/* WEBPACK VAR INJECTION */(function(process, module) {/* parser generated by jison 0.4.18 */ -/* - Returns a Parser object of the following structure: - - Parser: { - yy: {} - } - - Parser.prototype: { - yy: {}, - trace: function(), - symbols_: {associative list: name ==> number}, - terminals_: {associative list: number ==> name}, - productions_: [...], - performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$), - table: [...], - defaultActions: {...}, - parseError: function(str, hash), - parse: function(input), - - lexer: { - EOF: 1, - parseError: function(str, hash), - setInput: function(input), - input: function(), - unput: function(str), - more: function(), - less: function(n), - pastInput: function(), - upcomingInput: function(), - showPosition: function(), - test_match: function(regex_match_array, rule_index), - next: function(), - lex: function(), - begin: function(condition), - popState: function(), - _currentRules: function(), - topState: function(), - pushState: function(condition), - - options: { - ranges: boolean (optional: true ==> token location info will include a .range[] member) - flex: boolean (optional: true ==> flex-like lexing behaviour where the rules are tested exhaustively to find the longest match) - backtrack_lexer: boolean (optional: true ==> lexer regexes are tested in order and for each matching regex the action code is invoked; the lexer terminates the scan when a token is returned by the action code) - }, - - performAction: function(yy, yy_, $avoiding_name_collisions, YY_START), - rules: [...], - conditions: {associative list: name ==> set}, - } - } - - - token location info (@$, _$, etc.): { - first_line: n, - last_line: n, - first_column: n, - last_column: n, - range: [start_number, end_number] (where the numbers are indexes into the input string, regular zero-based) - } - - - the parseError function receives a 'hash' object with these members for lexer and parser errors: { - text: (matched text) - token: (the produced terminal token, if any) - line: (yylineno) - } - while parser (grammar) errors will also provide these members, i.e. parser errors deliver a superset of attributes: { - loc: (yylloc) - expected: (string describing the set of expected tokens) - recoverable: (boolean: TRUE when the parser has a error recovery rule available for this particular error) - } -*/ -var parser = (function(){ -var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,4],$V1=[1,5],$V2=[1,6],$V3=[1,7],$V4=[1,9],$V5=[1,11,13,20,21,22,23],$V6=[2,5],$V7=[1,6,11,13,20,21,22,23],$V8=[20,21,22],$V9=[2,8],$Va=[1,18],$Vb=[1,19],$Vc=[1,24],$Vd=[6,20,21,22,23]; -var parser = {trace: function trace () { }, -yy: {}, -symbols_: {"error":2,"start":3,"eol":4,"directive":5,"PIE":6,"document":7,"showData":8,"line":9,"statement":10,"txt":11,"value":12,"title":13,"title_value":14,"openDirective":15,"typeDirective":16,"closeDirective":17,":":18,"argDirective":19,"NEWLINE":20,";":21,"EOF":22,"open_directive":23,"type_directive":24,"arg_directive":25,"close_directive":26,"$accept":0,"$end":1}, -terminals_: {2:"error",6:"PIE",8:"showData",11:"txt",12:"value",13:"title",14:"title_value",18:":",20:"NEWLINE",21:";",22:"EOF",23:"open_directive",24:"type_directive",25:"arg_directive",26:"close_directive"}, -productions_: [0,[3,2],[3,2],[3,2],[3,3],[7,0],[7,2],[9,2],[10,0],[10,2],[10,2],[10,1],[5,3],[5,5],[4,1],[4,1],[4,1],[15,1],[16,1],[19,1],[17,1]], -performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) { -/* this == yyval */ - -var $0 = $$.length - 1; -switch (yystate) { -case 4: -yy.setShowData(true); -break; -case 7: - this.$ = $$[$0-1] -break; -case 9: - yy.addSection($$[$0-1],yy.cleanupValue($$[$0])); -break; -case 10: - this.$=$$[$0].trim();yy.setTitle(this.$); -break; -case 17: - yy.parseDirective('%%{', 'open_directive'); -break; -case 18: - yy.parseDirective($$[$0], 'type_directive'); -break; -case 19: - $$[$0] = $$[$0].trim().replace(/'/g, '"'); yy.parseDirective($$[$0], 'arg_directive'); -break; -case 20: - yy.parseDirective('}%%', 'close_directive', 'pie'); -break; -} -}, -table: [{3:1,4:2,5:3,6:$V0,15:8,20:$V1,21:$V2,22:$V3,23:$V4},{1:[3]},{3:10,4:2,5:3,6:$V0,15:8,20:$V1,21:$V2,22:$V3,23:$V4},{3:11,4:2,5:3,6:$V0,15:8,20:$V1,21:$V2,22:$V3,23:$V4},o($V5,$V6,{7:12,8:[1,13]}),o($V7,[2,14]),o($V7,[2,15]),o($V7,[2,16]),{16:14,24:[1,15]},{24:[2,17]},{1:[2,1]},{1:[2,2]},o($V8,$V9,{15:8,9:16,10:17,5:20,1:[2,3],11:$Va,13:$Vb,23:$V4}),o($V5,$V6,{7:21}),{17:22,18:[1,23],26:$Vc},o([18,26],[2,18]),o($V5,[2,6]),{4:25,20:$V1,21:$V2,22:$V3},{12:[1,26]},{14:[1,27]},o($V8,[2,11]),o($V8,$V9,{15:8,9:16,10:17,5:20,1:[2,4],11:$Va,13:$Vb,23:$V4}),o($Vd,[2,12]),{19:28,25:[1,29]},o($Vd,[2,20]),o($V5,[2,7]),o($V8,[2,9]),o($V8,[2,10]),{17:30,26:$Vc},{26:[2,19]},o($Vd,[2,13])], -defaultActions: {9:[2,17],10:[2,1],11:[2,2],29:[2,19]}, -parseError: function parseError (str, hash) { - if (hash.recoverable) { - this.trace(str); - } else { - var error = new Error(str); - error.hash = hash; - throw error; - } -}, -parse: function parse(input) { - var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = '', yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1; - var args = lstack.slice.call(arguments, 1); - var lexer = Object.create(this.lexer); - var sharedState = { yy: {} }; - for (var k in this.yy) { - if (Object.prototype.hasOwnProperty.call(this.yy, k)) { - sharedState.yy[k] = this.yy[k]; - } - } - lexer.setInput(input, sharedState.yy); - sharedState.yy.lexer = lexer; - sharedState.yy.parser = this; - if (typeof lexer.yylloc == 'undefined') { - lexer.yylloc = {}; - } - var yyloc = lexer.yylloc; - lstack.push(yyloc); - var ranges = lexer.options && lexer.options.ranges; - if (typeof sharedState.yy.parseError === 'function') { - this.parseError = sharedState.yy.parseError; - } else { - this.parseError = Object.getPrototypeOf(this).parseError; - } - function popStack(n) { - stack.length = stack.length - 2 * n; - vstack.length = vstack.length - n; - lstack.length = lstack.length - n; - } - function lex() { - var token; - token = tstack.pop() || lexer.lex() || EOF; - if (typeof token !== 'number') { - if (token instanceof Array) { - tstack = token; - token = tstack.pop(); - } - token = self.symbols_[token] || token; - } - return token; - } - var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected; - while (true) { - state = stack[stack.length - 1]; - if (this.defaultActions[state]) { - action = this.defaultActions[state]; - } else { - if (symbol === null || typeof symbol == 'undefined') { - symbol = lex(); - } - action = table[state] && table[state][symbol]; - } - if (typeof action === 'undefined' || !action.length || !action[0]) { - var errStr = ''; - expected = []; - for (p in table[state]) { - if (this.terminals_[p] && p > TERROR) { - expected.push('\'' + this.terminals_[p] + '\''); - } - } - if (lexer.showPosition) { - errStr = 'Parse error on line ' + (yylineno + 1) + ':\n' + lexer.showPosition() + '\nExpecting ' + expected.join(', ') + ', got \'' + (this.terminals_[symbol] || symbol) + '\''; - } else { - errStr = 'Parse error on line ' + (yylineno + 1) + ': Unexpected ' + (symbol == EOF ? 'end of input' : '\'' + (this.terminals_[symbol] || symbol) + '\''); - } - this.parseError(errStr, { - text: lexer.match, - token: this.terminals_[symbol] || symbol, - line: lexer.yylineno, - loc: yyloc, - expected: expected - }); - } - if (action[0] instanceof Array && action.length > 1) { - throw new Error('Parse Error: multiple actions possible at state: ' + state + ', token: ' + symbol); - } - switch (action[0]) { - case 1: - stack.push(symbol); - vstack.push(lexer.yytext); - lstack.push(lexer.yylloc); - stack.push(action[1]); - symbol = null; - if (!preErrorSymbol) { - yyleng = lexer.yyleng; - yytext = lexer.yytext; - yylineno = lexer.yylineno; - yyloc = lexer.yylloc; - if (recovering > 0) { - recovering--; - } - } else { - symbol = preErrorSymbol; - preErrorSymbol = null; - } - break; - case 2: - len = this.productions_[action[1]][1]; - yyval.$ = vstack[vstack.length - len]; - yyval._$ = { - first_line: lstack[lstack.length - (len || 1)].first_line, - last_line: lstack[lstack.length - 1].last_line, - first_column: lstack[lstack.length - (len || 1)].first_column, - last_column: lstack[lstack.length - 1].last_column - }; - if (ranges) { - yyval._$.range = [ - lstack[lstack.length - (len || 1)].range[0], - lstack[lstack.length - 1].range[1] - ]; - } - r = this.performAction.apply(yyval, [ - yytext, - yyleng, - yylineno, - sharedState.yy, - action[1], - vstack, - lstack - ].concat(args)); - if (typeof r !== 'undefined') { - return r; - } - if (len) { - stack = stack.slice(0, -1 * len * 2); - vstack = vstack.slice(0, -1 * len); - lstack = lstack.slice(0, -1 * len); - } - stack.push(this.productions_[action[1]][0]); - vstack.push(yyval.$); - lstack.push(yyval._$); - newState = table[stack[stack.length - 2]][stack[stack.length - 1]]; - stack.push(newState); - break; - case 3: - return true; - } - } - return true; -}}; - -/* generated by jison-lex 0.3.4 */ -var lexer = (function(){ -var lexer = ({ - -EOF:1, - -parseError:function parseError(str, hash) { - if (this.yy.parser) { - this.yy.parser.parseError(str, hash); - } else { - throw new Error(str); - } - }, - -// resets the lexer, sets new input -setInput:function (input, yy) { - this.yy = yy || this.yy || {}; - this._input = input; - this._more = this._backtrack = this.done = false; - this.yylineno = this.yyleng = 0; - this.yytext = this.matched = this.match = ''; - this.conditionStack = ['INITIAL']; - this.yylloc = { - first_line: 1, - first_column: 0, - last_line: 1, - last_column: 0 - }; - if (this.options.ranges) { - this.yylloc.range = [0,0]; - } - this.offset = 0; - return this; - }, - -// consumes and returns one char from the input -input:function () { - var ch = this._input[0]; - this.yytext += ch; - this.yyleng++; - this.offset++; - this.match += ch; - this.matched += ch; - var lines = ch.match(/(?:\r\n?|\n).*/g); - if (lines) { - this.yylineno++; - this.yylloc.last_line++; - } else { - this.yylloc.last_column++; - } - if (this.options.ranges) { - this.yylloc.range[1]++; - } - - this._input = this._input.slice(1); - return ch; - }, - -// unshifts one char (or a string) into the input -unput:function (ch) { - var len = ch.length; - var lines = ch.split(/(?:\r\n?|\n)/g); - - this._input = ch + this._input; - this.yytext = this.yytext.substr(0, this.yytext.length - len); - //this.yyleng -= len; - this.offset -= len; - var oldLines = this.match.split(/(?:\r\n?|\n)/g); - this.match = this.match.substr(0, this.match.length - 1); - this.matched = this.matched.substr(0, this.matched.length - 1); - - if (lines.length - 1) { - this.yylineno -= lines.length - 1; - } - var r = this.yylloc.range; - - this.yylloc = { - first_line: this.yylloc.first_line, - last_line: this.yylineno + 1, - first_column: this.yylloc.first_column, - last_column: lines ? - (lines.length === oldLines.length ? this.yylloc.first_column : 0) - + oldLines[oldLines.length - lines.length].length - lines[0].length : - this.yylloc.first_column - len - }; - - if (this.options.ranges) { - this.yylloc.range = [r[0], r[0] + this.yyleng - len]; - } - this.yyleng = this.yytext.length; - return this; - }, - -// When called from action, caches matched text and appends it on next action -more:function () { - this._more = true; - return this; - }, - -// When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead. -reject:function () { - if (this.options.backtrack_lexer) { - this._backtrack = true; - } else { - return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n' + this.showPosition(), { - text: "", - token: null, - line: this.yylineno - }); - - } - return this; - }, - -// retain first n characters of the match -less:function (n) { - this.unput(this.match.slice(n)); - }, - -// displays already matched input, i.e. for error messages -pastInput:function () { - var past = this.matched.substr(0, this.matched.length - this.match.length); - return (past.length > 20 ? '...':'') + past.substr(-20).replace(/\n/g, ""); - }, - -// displays upcoming input, i.e. for error messages -upcomingInput:function () { - var next = this.match; - if (next.length < 20) { - next += this._input.substr(0, 20-next.length); - } - return (next.substr(0,20) + (next.length > 20 ? '...' : '')).replace(/\n/g, ""); - }, - -// displays the character position where the lexing error occurred, i.e. for error messages -showPosition:function () { - var pre = this.pastInput(); - var c = new Array(pre.length + 1).join("-"); - return pre + this.upcomingInput() + "\n" + c + "^"; - }, - -// test the lexed token: return FALSE when not a match, otherwise return token -test_match:function(match, indexed_rule) { - var token, - lines, - backup; - - if (this.options.backtrack_lexer) { - // save context - backup = { - yylineno: this.yylineno, - yylloc: { - first_line: this.yylloc.first_line, - last_line: this.last_line, - first_column: this.yylloc.first_column, - last_column: this.yylloc.last_column - }, - yytext: this.yytext, - match: this.match, - matches: this.matches, - matched: this.matched, - yyleng: this.yyleng, - offset: this.offset, - _more: this._more, - _input: this._input, - yy: this.yy, - conditionStack: this.conditionStack.slice(0), - done: this.done - }; - if (this.options.ranges) { - backup.yylloc.range = this.yylloc.range.slice(0); - } - } - - lines = match[0].match(/(?:\r\n?|\n).*/g); - if (lines) { - this.yylineno += lines.length; - } - this.yylloc = { - first_line: this.yylloc.last_line, - last_line: this.yylineno + 1, - first_column: this.yylloc.last_column, - last_column: lines ? - lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length : - this.yylloc.last_column + match[0].length - }; - this.yytext += match[0]; - this.match += match[0]; - this.matches = match; - this.yyleng = this.yytext.length; - if (this.options.ranges) { - this.yylloc.range = [this.offset, this.offset += this.yyleng]; - } - this._more = false; - this._backtrack = false; - this._input = this._input.slice(match[0].length); - this.matched += match[0]; - token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]); - if (this.done && this._input) { - this.done = false; - } - if (token) { - return token; - } else if (this._backtrack) { - // recover context - for (var k in backup) { - this[k] = backup[k]; - } - return false; // rule action called reject() implying the next rule should be tested instead. - } - return false; - }, - -// return next match in input -next:function () { - if (this.done) { - return this.EOF; - } - if (!this._input) { - this.done = true; - } - - var token, - match, - tempMatch, - index; - if (!this._more) { - this.yytext = ''; - this.match = ''; - } - var rules = this._currentRules(); - for (var i = 0; i < rules.length; i++) { - tempMatch = this._input.match(this.rules[rules[i]]); - if (tempMatch && (!match || tempMatch[0].length > match[0].length)) { - match = tempMatch; - index = i; - if (this.options.backtrack_lexer) { - token = this.test_match(tempMatch, rules[i]); - if (token !== false) { - return token; - } else if (this._backtrack) { - match = false; - continue; // rule action called reject() implying a rule MISmatch. - } else { - // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) - return false; - } - } else if (!this.options.flex) { - break; - } - } - } - if (match) { - token = this.test_match(match, rules[index]); - if (token !== false) { - return token; - } - // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) - return false; - } - if (this._input === "") { - return this.EOF; - } else { - return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\n' + this.showPosition(), { - text: "", - token: null, - line: this.yylineno - }); - } - }, - -// return next match that has a token -lex:function lex () { - var r = this.next(); - if (r) { - return r; - } else { - return this.lex(); - } - }, - -// activates a new lexer condition state (pushes the new lexer condition state onto the condition stack) -begin:function begin (condition) { - this.conditionStack.push(condition); - }, - -// pop the previously active lexer condition state off the condition stack -popState:function popState () { - var n = this.conditionStack.length - 1; - if (n > 0) { - return this.conditionStack.pop(); - } else { - return this.conditionStack[0]; - } - }, - -// produce the lexer rule set which is active for the currently active lexer condition state -_currentRules:function _currentRules () { - if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) { - return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules; - } else { - return this.conditions["INITIAL"].rules; - } - }, - -// return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available -topState:function topState (n) { - n = this.conditionStack.length - 1 - Math.abs(n || 0); - if (n >= 0) { - return this.conditionStack[n]; - } else { - return "INITIAL"; - } - }, - -// alias for begin(condition) -pushState:function pushState (condition) { - this.begin(condition); - }, - -// return the number of states currently on the stack -stateStackSize:function stateStackSize() { - return this.conditionStack.length; - }, -options: {"case-insensitive":true}, -performAction: function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) { -var YYSTATE=YY_START; -switch($avoiding_name_collisions) { -case 0: this.begin('open_directive'); return 23; -break; -case 1: this.begin('type_directive'); return 24; -break; -case 2: this.popState(); this.begin('arg_directive'); return 18; -break; -case 3: this.popState(); this.popState(); return 26; -break; -case 4:return 25; -break; -case 5:/* skip comments */ -break; -case 6:/* skip comments */{ /*console.log('');*/ } -break; -case 7:return 20; -break; -case 8:/* do nothing */ -break; -case 9:/* ignore */ -break; -case 10: this.begin("title");return 13; -break; -case 11: this.popState(); return "title_value"; -break; -case 12: this.begin("string"); -break; -case 13: this.popState(); -break; -case 14: return "txt"; -break; -case 15:return 6; -break; -case 16:return 8; -break; -case 17:return "value"; -break; -case 18:return 22; -break; -} -}, -rules: [/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:[\s]+)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:pie\b)/i,/^(?:showData\b)/i,/^(?::[\s]*[\d]+(?:\.[\d]+)?)/i,/^(?:$)/i], -conditions: {"close_directive":{"rules":[],"inclusive":false},"arg_directive":{"rules":[3,4],"inclusive":false},"type_directive":{"rules":[2,3],"inclusive":false},"open_directive":{"rules":[1],"inclusive":false},"title":{"rules":[11],"inclusive":false},"string":{"rules":[13,14],"inclusive":false},"INITIAL":{"rules":[0,5,6,7,8,9,10,12,15,16,17,18],"inclusive":true}} -}); -return lexer; -})(); -parser.lexer = lexer; -function Parser () { - this.yy = {}; -} -Parser.prototype = parser;parser.Parser = Parser; -return new Parser; -})(); - - -if (true) { -exports.parser = parser; -exports.Parser = parser.Parser; -exports.parse = function () { return parser.parse.apply(parser, arguments); }; -exports.main = function commonjsMain (args) { - if (!args[1]) { - console.log('Usage: '+args[0]+' FILE'); - process.exit(1); - } - var source = __webpack_require__(/*! fs */ "./node_modules/node-libs-browser/mock/empty.js").readFileSync(__webpack_require__(/*! path */ "./node_modules/path-browserify/index.js").normalize(args[1]), "utf8"); - return exports.parser.parse(source); -}; -if ( true && __webpack_require__.c[__webpack_require__.s] === module) { - exports.main(process.argv.slice(1)); -} -} -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../../node_modules/process/browser.js */ "./node_modules/process/browser.js"), __webpack_require__(/*! ./../../../../node_modules/webpack/buildin/module.js */ "./node_modules/webpack/buildin/module.js")(module))) +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (getStyles); /***/ }), @@ -16933,14 +19586,16 @@ if ( true && __webpack_require__.c[__webpack_require__.s] === module) { /*!***********************************!*\ !*** ./src/diagrams/pie/pieDb.js ***! \***********************************/ -/*! exports provided: parseDirective, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "parseDirective", function() { return parseDirective; }); -/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../logger */ "./src/logger.js"); -/* harmony import */ var _mermaidAPI__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../mermaidAPI */ "./src/mermaidAPI.js"); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "parseDirective": () => (/* binding */ parseDirective), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../logger */ "./src/logger.js"); +/* harmony import */ var _mermaidAPI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../mermaidAPI */ "./src/mermaidAPI.js"); /* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../config */ "./src/config.js"); /** * @@ -16952,13 +19607,13 @@ var sections = {}; var title = ''; var showData = false; var parseDirective = function parseDirective(statement, context, type) { - _mermaidAPI__WEBPACK_IMPORTED_MODULE_1__["default"].parseDirective(this, statement, context, type); + _mermaidAPI__WEBPACK_IMPORTED_MODULE_0__["default"].parseDirective(this, statement, context, type); }; var addSection = function addSection(id, value) { if (typeof sections[id] === 'undefined') { sections[id] = value; - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].debug('Added new section :', id); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.debug('Added new section :', id); } }; @@ -17000,10 +19655,10 @@ var clear = function clear() { // } -/* harmony default export */ __webpack_exports__["default"] = ({ +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ parseDirective: parseDirective, getConfig: function getConfig() { - return _config__WEBPACK_IMPORTED_MODULE_2__["getConfig"]().pie; + return _config__WEBPACK_IMPORTED_MODULE_2__.getConfig().pie; }, addSection: addSection, getSections: getSections, @@ -17022,20 +19677,22 @@ var clear = function clear() { /*!*****************************************!*\ !*** ./src/diagrams/pie/pieRenderer.js ***! \*****************************************/ -/*! exports provided: draw, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "draw", function() { return draw; }); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "draw": () => (/* binding */ draw), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); /* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3 */ "d3"); /* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(d3__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var _pieDb__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./pieDb */ "./src/diagrams/pie/pieDb.js"); +/* harmony import */ var _pieDb__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./pieDb */ "./src/diagrams/pie/pieDb.js"); /* harmony import */ var _parser_pie__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./parser/pie */ "./src/diagrams/pie/parser/pie.jison"); /* harmony import */ var _parser_pie__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_parser_pie__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../logger */ "./src/logger.js"); -/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils */ "./src/utils.js"); -/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../config */ "./src/config.js"); +/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../logger */ "./src/logger.js"); +/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../utils */ "./src/utils.js"); +/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../config */ "./src/config.js"); /** * Created by AshishJ on 11-09-2019. */ @@ -17045,7 +19702,7 @@ __webpack_require__.r(__webpack_exports__); -var conf = _config__WEBPACK_IMPORTED_MODULE_5__["getConfig"](); +var conf = _config__WEBPACK_IMPORTED_MODULE_1__.getConfig(); /** * Draws a Pie Chart with the data given in text. * @param text @@ -17056,14 +19713,14 @@ var width; var height = 450; var draw = function draw(txt, id) { try { - conf = _config__WEBPACK_IMPORTED_MODULE_5__["getConfig"](); - var parser = _parser_pie__WEBPACK_IMPORTED_MODULE_2___default.a.parser; - parser.yy = _pieDb__WEBPACK_IMPORTED_MODULE_1__["default"]; - _logger__WEBPACK_IMPORTED_MODULE_3__["log"].debug('Rendering info diagram\n' + txt); // Parse the Pie Chart definition + conf = _config__WEBPACK_IMPORTED_MODULE_1__.getConfig(); + var parser = (_parser_pie__WEBPACK_IMPORTED_MODULE_2___default().parser); + parser.yy = _pieDb__WEBPACK_IMPORTED_MODULE_3__["default"]; + _logger__WEBPACK_IMPORTED_MODULE_4__.log.debug('Rendering info diagram\n' + txt); // Parse the Pie Chart definition parser.yy.clear(); parser.parse(txt); - _logger__WEBPACK_IMPORTED_MODULE_3__["log"].debug('Parsed info diagram'); + _logger__WEBPACK_IMPORTED_MODULE_4__.log.debug('Parsed info diagram'); var elem = document.getElementById(id); width = elem.parentElement.offsetWidth; @@ -17079,8 +19736,8 @@ var draw = function draw(txt, id) { width = conf.pie.useWidth; } - var diagram = Object(d3__WEBPACK_IMPORTED_MODULE_0__["select"])('#' + id); - Object(_utils__WEBPACK_IMPORTED_MODULE_4__["configureSvgSize"])(diagram, height, width, conf.pie.useMaxWidth); // Set viewBox + var diagram = (0,d3__WEBPACK_IMPORTED_MODULE_0__.select)('#' + id); + (0,_utils__WEBPACK_IMPORTED_MODULE_5__.configureSvgSize)(diagram, height, width, conf.pie.useMaxWidth); // Set viewBox elem.setAttribute('viewBox', '0 0 ' + width + ' ' + height); // Fetch the default direction, use TD if none was found @@ -17089,7 +19746,7 @@ var draw = function draw(txt, id) { var legendSpacing = 4; var radius = Math.min(width, height) / 2 - margin; var svg = diagram.append('g').attr('transform', 'translate(' + width / 2 + ',' + height / 2 + ')'); - var data = _pieDb__WEBPACK_IMPORTED_MODULE_1__["default"].getSections(); + var data = _pieDb__WEBPACK_IMPORTED_MODULE_3__["default"].getSections(); var sum = 0; Object.keys(data).forEach(function (key) { sum += data[key]; @@ -17097,14 +19754,14 @@ var draw = function draw(txt, id) { var themeVariables = conf.themeVariables; var myGeneratedColors = [themeVariables.pie1, themeVariables.pie2, themeVariables.pie3, themeVariables.pie4, themeVariables.pie5, themeVariables.pie6, themeVariables.pie7, themeVariables.pie8, themeVariables.pie9, themeVariables.pie10, themeVariables.pie11, themeVariables.pie12]; // Set the color scale - var color = Object(d3__WEBPACK_IMPORTED_MODULE_0__["scaleOrdinal"])().range(myGeneratedColors); // Compute the position of each group on the pie: + var color = (0,d3__WEBPACK_IMPORTED_MODULE_0__.scaleOrdinal)().range(myGeneratedColors); // Compute the position of each group on the pie: - var pie = Object(d3__WEBPACK_IMPORTED_MODULE_0__["pie"])().value(function (d) { + var pie = (0,d3__WEBPACK_IMPORTED_MODULE_0__.pie)().value(function (d) { return d[1]; }); var dataReady = pie(Object.entries(data)); // Shape helper to build arcs: - var arcGenerator = Object(d3__WEBPACK_IMPORTED_MODULE_0__["arc"])().innerRadius(0).outerRadius(radius); // Build the pie chart: each part of the pie is a path that we build using the arc function. + var arcGenerator = (0,d3__WEBPACK_IMPORTED_MODULE_0__.arc)().innerRadius(0).outerRadius(radius); // Build the pie chart: each part of the pie is a path that we build using the arc function. svg.selectAll('mySlices').data(dataReady).enter().append('path').attr('d', arcGenerator).attr('fill', function (d) { return color(d.data[0]); @@ -17134,11 +19791,11 @@ var draw = function draw(txt, id) { } }); } catch (e) { - _logger__WEBPACK_IMPORTED_MODULE_3__["log"].error('Error while rendering info diagram'); - _logger__WEBPACK_IMPORTED_MODULE_3__["log"].error(e); + _logger__WEBPACK_IMPORTED_MODULE_4__.log.error('Error while rendering info diagram'); + _logger__WEBPACK_IMPORTED_MODULE_4__.log.error(e); } }; -/* harmony default export */ __webpack_exports__["default"] = ({ +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ draw: draw }); @@ -17148,827 +19805,18 @@ var draw = function draw(txt, id) { /*!************************************!*\ !*** ./src/diagrams/pie/styles.js ***! \************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); var getStyles = function getStyles(options) { return "\n .pieCircle{\n stroke: ".concat(options.pieStrokeColor, ";\n stroke-width : ").concat(options.pieStrokeWidth, ";\n opacity : ").concat(options.pieOpacity, ";\n }\n .pieTitleText {\n text-anchor: middle;\n font-size: ").concat(options.pieTitleTextSize, ";\n fill: ").concat(options.pieTitleTextColor, ";\n font-family: ").concat(options.fontFamily, ";\n }\n .slice {\n font-family: ").concat(options.fontFamily, ";\n fill: ").concat(options.pieSectionTextColor, ";\n font-size:").concat(options.pieSectionTextSize, ";\n // fill: white;\n }\n .legend text {\n fill: ").concat(options.pieLegendTextColor, ";\n font-family: ").concat(options.fontFamily, ";\n font-size: ").concat(options.pieLegendTextSize, ";\n }\n"); }; -/* harmony default export */ __webpack_exports__["default"] = (getStyles); - -/***/ }), - -/***/ "./src/diagrams/requirement/parser/requirementDiagram.jison": -/*!******************************************************************!*\ - !*** ./src/diagrams/requirement/parser/requirementDiagram.jison ***! - \******************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -/* WEBPACK VAR INJECTION */(function(process, module) {/* parser generated by jison 0.4.18 */ -/* - Returns a Parser object of the following structure: - - Parser: { - yy: {} - } - - Parser.prototype: { - yy: {}, - trace: function(), - symbols_: {associative list: name ==> number}, - terminals_: {associative list: number ==> name}, - productions_: [...], - performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$), - table: [...], - defaultActions: {...}, - parseError: function(str, hash), - parse: function(input), - - lexer: { - EOF: 1, - parseError: function(str, hash), - setInput: function(input), - input: function(), - unput: function(str), - more: function(), - less: function(n), - pastInput: function(), - upcomingInput: function(), - showPosition: function(), - test_match: function(regex_match_array, rule_index), - next: function(), - lex: function(), - begin: function(condition), - popState: function(), - _currentRules: function(), - topState: function(), - pushState: function(condition), - - options: { - ranges: boolean (optional: true ==> token location info will include a .range[] member) - flex: boolean (optional: true ==> flex-like lexing behaviour where the rules are tested exhaustively to find the longest match) - backtrack_lexer: boolean (optional: true ==> lexer regexes are tested in order and for each matching regex the action code is invoked; the lexer terminates the scan when a token is returned by the action code) - }, - - performAction: function(yy, yy_, $avoiding_name_collisions, YY_START), - rules: [...], - conditions: {associative list: name ==> set}, - } - } - - - token location info (@$, _$, etc.): { - first_line: n, - last_line: n, - first_column: n, - last_column: n, - range: [start_number, end_number] (where the numbers are indexes into the input string, regular zero-based) - } - - - the parseError function receives a 'hash' object with these members for lexer and parser errors: { - text: (matched text) - token: (the produced terminal token, if any) - line: (yylineno) - } - while parser (grammar) errors will also provide these members, i.e. parser errors deliver a superset of attributes: { - loc: (yylloc) - expected: (string describing the set of expected tokens) - recoverable: (boolean: TRUE when the parser has a error recovery rule available for this particular error) - } -*/ -var parser = (function(){ -var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,3],$V1=[1,5],$V2=[1,17],$V3=[2,10],$V4=[1,21],$V5=[1,22],$V6=[1,23],$V7=[1,24],$V8=[1,25],$V9=[1,26],$Va=[1,19],$Vb=[1,27],$Vc=[1,28],$Vd=[1,31],$Ve=[66,67],$Vf=[5,8,14,35,36,37,38,39,40,48,55,57,66,67],$Vg=[5,6,8,14,35,36,37,38,39,40,48,66,67],$Vh=[1,51],$Vi=[1,52],$Vj=[1,53],$Vk=[1,54],$Vl=[1,55],$Vm=[1,56],$Vn=[1,57],$Vo=[57,58],$Vp=[1,69],$Vq=[1,65],$Vr=[1,66],$Vs=[1,67],$Vt=[1,68],$Vu=[1,70],$Vv=[1,74],$Vw=[1,75],$Vx=[1,72],$Vy=[1,73],$Vz=[5,8,14,35,36,37,38,39,40,48,66,67]; -var parser = {trace: function trace () { }, -yy: {}, -symbols_: {"error":2,"start":3,"directive":4,"NEWLINE":5,"RD":6,"diagram":7,"EOF":8,"openDirective":9,"typeDirective":10,"closeDirective":11,":":12,"argDirective":13,"open_directive":14,"type_directive":15,"arg_directive":16,"close_directive":17,"requirementDef":18,"elementDef":19,"relationshipDef":20,"requirementType":21,"requirementName":22,"STRUCT_START":23,"requirementBody":24,"ID":25,"COLONSEP":26,"id":27,"TEXT":28,"text":29,"RISK":30,"riskLevel":31,"VERIFYMTHD":32,"verifyType":33,"STRUCT_STOP":34,"REQUIREMENT":35,"FUNCTIONAL_REQUIREMENT":36,"INTERFACE_REQUIREMENT":37,"PERFORMANCE_REQUIREMENT":38,"PHYSICAL_REQUIREMENT":39,"DESIGN_CONSTRAINT":40,"LOW_RISK":41,"MED_RISK":42,"HIGH_RISK":43,"VERIFY_ANALYSIS":44,"VERIFY_DEMONSTRATION":45,"VERIFY_INSPECTION":46,"VERIFY_TEST":47,"ELEMENT":48,"elementName":49,"elementBody":50,"TYPE":51,"type":52,"DOCREF":53,"ref":54,"END_ARROW_L":55,"relationship":56,"LINE":57,"END_ARROW_R":58,"CONTAINS":59,"COPIES":60,"DERIVES":61,"SATISFIES":62,"VERIFIES":63,"REFINES":64,"TRACES":65,"unqString":66,"qString":67,"$accept":0,"$end":1}, -terminals_: {2:"error",5:"NEWLINE",6:"RD",8:"EOF",12:":",14:"open_directive",15:"type_directive",16:"arg_directive",17:"close_directive",23:"STRUCT_START",25:"ID",26:"COLONSEP",28:"TEXT",30:"RISK",32:"VERIFYMTHD",34:"STRUCT_STOP",35:"REQUIREMENT",36:"FUNCTIONAL_REQUIREMENT",37:"INTERFACE_REQUIREMENT",38:"PERFORMANCE_REQUIREMENT",39:"PHYSICAL_REQUIREMENT",40:"DESIGN_CONSTRAINT",41:"LOW_RISK",42:"MED_RISK",43:"HIGH_RISK",44:"VERIFY_ANALYSIS",45:"VERIFY_DEMONSTRATION",46:"VERIFY_INSPECTION",47:"VERIFY_TEST",48:"ELEMENT",51:"TYPE",53:"DOCREF",55:"END_ARROW_L",57:"LINE",58:"END_ARROW_R",59:"CONTAINS",60:"COPIES",61:"DERIVES",62:"SATISFIES",63:"VERIFIES",64:"REFINES",65:"TRACES",66:"unqString",67:"qString"}, -productions_: [0,[3,3],[3,2],[3,4],[4,3],[4,5],[9,1],[10,1],[13,1],[11,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[18,5],[24,5],[24,5],[24,5],[24,5],[24,2],[24,1],[21,1],[21,1],[21,1],[21,1],[21,1],[21,1],[31,1],[31,1],[31,1],[33,1],[33,1],[33,1],[33,1],[19,5],[50,5],[50,5],[50,2],[50,1],[20,5],[20,5],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[22,1],[22,1],[27,1],[27,1],[29,1],[29,1],[49,1],[49,1],[52,1],[52,1],[54,1],[54,1]], -performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) { -/* this == yyval */ - -var $0 = $$.length - 1; -switch (yystate) { -case 6: - yy.parseDirective('%%{', 'open_directive'); -break; -case 7: - yy.parseDirective($$[$0], 'type_directive'); -break; -case 8: - $$[$0] = $$[$0].trim().replace(/'/g, '"'); yy.parseDirective($$[$0], 'arg_directive'); -break; -case 9: - yy.parseDirective('}%%', 'close_directive', 'pie'); -break; -case 10: - this.$ = [] -break; -case 16: - yy.addRequirement($$[$0-3], $$[$0-4]) -break; -case 17: - yy.setNewReqId($$[$0-2]); -break; -case 18: - yy.setNewReqText($$[$0-2]); -break; -case 19: - yy.setNewReqRisk($$[$0-2]); -break; -case 20: - yy.setNewReqVerifyMethod($$[$0-2]); -break; -case 23: - this.$=yy.RequirementType.REQUIREMENT; -break; -case 24: - this.$=yy.RequirementType.FUNCTIONAL_REQUIREMENT; -break; -case 25: - this.$=yy.RequirementType.INTERFACE_REQUIREMENT; -break; -case 26: - this.$=yy.RequirementType.PERFORMANCE_REQUIREMENT; -break; -case 27: - this.$=yy.RequirementType.PHYSICAL_REQUIREMENT; -break; -case 28: - this.$=yy.RequirementType.DESIGN_CONSTRAINT; -break; -case 29: - this.$=yy.RiskLevel.LOW_RISK; -break; -case 30: - this.$=yy.RiskLevel.MED_RISK; -break; -case 31: - this.$=yy.RiskLevel.HIGH_RISK; -break; -case 32: - this.$=yy.VerifyType.VERIFY_ANALYSIS; -break; -case 33: - this.$=yy.VerifyType.VERIFY_DEMONSTRATION; -break; -case 34: - this.$=yy.VerifyType.VERIFY_INSPECTION; -break; -case 35: - this.$=yy.VerifyType.VERIFY_TEST; -break; -case 36: - yy.addElement($$[$0-3]) -break; -case 37: - yy.setNewElementType($$[$0-2]); -break; -case 38: - yy.setNewElementDocRef($$[$0-2]); -break; -case 41: - yy.addRelationship($$[$0-2], $$[$0], $$[$0-4]) -break; -case 42: - yy.addRelationship($$[$0-2], $$[$0-4], $$[$0]) -break; -case 43: - this.$=yy.Relationships.CONTAINS; -break; -case 44: - this.$=yy.Relationships.COPIES; -break; -case 45: - this.$=yy.Relationships.DERIVES; -break; -case 46: - this.$=yy.Relationships.SATISFIES; -break; -case 47: - this.$=yy.Relationships.VERIFIES; -break; -case 48: - this.$=yy.Relationships.REFINES; -break; -case 49: - this.$=yy.Relationships.TRACES; -break; -} -}, -table: [{3:1,4:2,6:$V0,9:4,14:$V1},{1:[3]},{3:7,4:2,5:[1,6],6:$V0,9:4,14:$V1},{5:[1,8]},{10:9,15:[1,10]},{15:[2,6]},{3:11,4:2,6:$V0,9:4,14:$V1},{1:[2,2]},{4:16,5:$V2,7:12,8:$V3,9:4,14:$V1,18:13,19:14,20:15,21:18,27:20,35:$V4,36:$V5,37:$V6,38:$V7,39:$V8,40:$V9,48:$Va,66:$Vb,67:$Vc},{11:29,12:[1,30],17:$Vd},o([12,17],[2,7]),{1:[2,1]},{8:[1,32]},{4:16,5:$V2,7:33,8:$V3,9:4,14:$V1,18:13,19:14,20:15,21:18,27:20,35:$V4,36:$V5,37:$V6,38:$V7,39:$V8,40:$V9,48:$Va,66:$Vb,67:$Vc},{4:16,5:$V2,7:34,8:$V3,9:4,14:$V1,18:13,19:14,20:15,21:18,27:20,35:$V4,36:$V5,37:$V6,38:$V7,39:$V8,40:$V9,48:$Va,66:$Vb,67:$Vc},{4:16,5:$V2,7:35,8:$V3,9:4,14:$V1,18:13,19:14,20:15,21:18,27:20,35:$V4,36:$V5,37:$V6,38:$V7,39:$V8,40:$V9,48:$Va,66:$Vb,67:$Vc},{4:16,5:$V2,7:36,8:$V3,9:4,14:$V1,18:13,19:14,20:15,21:18,27:20,35:$V4,36:$V5,37:$V6,38:$V7,39:$V8,40:$V9,48:$Va,66:$Vb,67:$Vc},{4:16,5:$V2,7:37,8:$V3,9:4,14:$V1,18:13,19:14,20:15,21:18,27:20,35:$V4,36:$V5,37:$V6,38:$V7,39:$V8,40:$V9,48:$Va,66:$Vb,67:$Vc},{22:38,66:[1,39],67:[1,40]},{49:41,66:[1,42],67:[1,43]},{55:[1,44],57:[1,45]},o($Ve,[2,23]),o($Ve,[2,24]),o($Ve,[2,25]),o($Ve,[2,26]),o($Ve,[2,27]),o($Ve,[2,28]),o($Vf,[2,52]),o($Vf,[2,53]),o($Vg,[2,4]),{13:46,16:[1,47]},o($Vg,[2,9]),{1:[2,3]},{8:[2,11]},{8:[2,12]},{8:[2,13]},{8:[2,14]},{8:[2,15]},{23:[1,48]},{23:[2,50]},{23:[2,51]},{23:[1,49]},{23:[2,56]},{23:[2,57]},{56:50,59:$Vh,60:$Vi,61:$Vj,62:$Vk,63:$Vl,64:$Vm,65:$Vn},{56:58,59:$Vh,60:$Vi,61:$Vj,62:$Vk,63:$Vl,64:$Vm,65:$Vn},{11:59,17:$Vd},{17:[2,8]},{5:[1,60]},{5:[1,61]},{57:[1,62]},o($Vo,[2,43]),o($Vo,[2,44]),o($Vo,[2,45]),o($Vo,[2,46]),o($Vo,[2,47]),o($Vo,[2,48]),o($Vo,[2,49]),{58:[1,63]},o($Vg,[2,5]),{5:$Vp,24:64,25:$Vq,28:$Vr,30:$Vs,32:$Vt,34:$Vu},{5:$Vv,34:$Vw,50:71,51:$Vx,53:$Vy},{27:76,66:$Vb,67:$Vc},{27:77,66:$Vb,67:$Vc},o($Vz,[2,16]),{26:[1,78]},{26:[1,79]},{26:[1,80]},{26:[1,81]},{5:$Vp,24:82,25:$Vq,28:$Vr,30:$Vs,32:$Vt,34:$Vu},o($Vz,[2,22]),o($Vz,[2,36]),{26:[1,83]},{26:[1,84]},{5:$Vv,34:$Vw,50:85,51:$Vx,53:$Vy},o($Vz,[2,40]),o($Vz,[2,41]),o($Vz,[2,42]),{27:86,66:$Vb,67:$Vc},{29:87,66:[1,88],67:[1,89]},{31:90,41:[1,91],42:[1,92],43:[1,93]},{33:94,44:[1,95],45:[1,96],46:[1,97],47:[1,98]},o($Vz,[2,21]),{52:99,66:[1,100],67:[1,101]},{54:102,66:[1,103],67:[1,104]},o($Vz,[2,39]),{5:[1,105]},{5:[1,106]},{5:[2,54]},{5:[2,55]},{5:[1,107]},{5:[2,29]},{5:[2,30]},{5:[2,31]},{5:[1,108]},{5:[2,32]},{5:[2,33]},{5:[2,34]},{5:[2,35]},{5:[1,109]},{5:[2,58]},{5:[2,59]},{5:[1,110]},{5:[2,60]},{5:[2,61]},{5:$Vp,24:111,25:$Vq,28:$Vr,30:$Vs,32:$Vt,34:$Vu},{5:$Vp,24:112,25:$Vq,28:$Vr,30:$Vs,32:$Vt,34:$Vu},{5:$Vp,24:113,25:$Vq,28:$Vr,30:$Vs,32:$Vt,34:$Vu},{5:$Vp,24:114,25:$Vq,28:$Vr,30:$Vs,32:$Vt,34:$Vu},{5:$Vv,34:$Vw,50:115,51:$Vx,53:$Vy},{5:$Vv,34:$Vw,50:116,51:$Vx,53:$Vy},o($Vz,[2,17]),o($Vz,[2,18]),o($Vz,[2,19]),o($Vz,[2,20]),o($Vz,[2,37]),o($Vz,[2,38])], -defaultActions: {5:[2,6],7:[2,2],11:[2,1],32:[2,3],33:[2,11],34:[2,12],35:[2,13],36:[2,14],37:[2,15],39:[2,50],40:[2,51],42:[2,56],43:[2,57],47:[2,8],88:[2,54],89:[2,55],91:[2,29],92:[2,30],93:[2,31],95:[2,32],96:[2,33],97:[2,34],98:[2,35],100:[2,58],101:[2,59],103:[2,60],104:[2,61]}, -parseError: function parseError (str, hash) { - if (hash.recoverable) { - this.trace(str); - } else { - var error = new Error(str); - error.hash = hash; - throw error; - } -}, -parse: function parse(input) { - var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = '', yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1; - var args = lstack.slice.call(arguments, 1); - var lexer = Object.create(this.lexer); - var sharedState = { yy: {} }; - for (var k in this.yy) { - if (Object.prototype.hasOwnProperty.call(this.yy, k)) { - sharedState.yy[k] = this.yy[k]; - } - } - lexer.setInput(input, sharedState.yy); - sharedState.yy.lexer = lexer; - sharedState.yy.parser = this; - if (typeof lexer.yylloc == 'undefined') { - lexer.yylloc = {}; - } - var yyloc = lexer.yylloc; - lstack.push(yyloc); - var ranges = lexer.options && lexer.options.ranges; - if (typeof sharedState.yy.parseError === 'function') { - this.parseError = sharedState.yy.parseError; - } else { - this.parseError = Object.getPrototypeOf(this).parseError; - } - function popStack(n) { - stack.length = stack.length - 2 * n; - vstack.length = vstack.length - n; - lstack.length = lstack.length - n; - } - function lex() { - var token; - token = tstack.pop() || lexer.lex() || EOF; - if (typeof token !== 'number') { - if (token instanceof Array) { - tstack = token; - token = tstack.pop(); - } - token = self.symbols_[token] || token; - } - return token; - } - var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected; - while (true) { - state = stack[stack.length - 1]; - if (this.defaultActions[state]) { - action = this.defaultActions[state]; - } else { - if (symbol === null || typeof symbol == 'undefined') { - symbol = lex(); - } - action = table[state] && table[state][symbol]; - } - if (typeof action === 'undefined' || !action.length || !action[0]) { - var errStr = ''; - expected = []; - for (p in table[state]) { - if (this.terminals_[p] && p > TERROR) { - expected.push('\'' + this.terminals_[p] + '\''); - } - } - if (lexer.showPosition) { - errStr = 'Parse error on line ' + (yylineno + 1) + ':\n' + lexer.showPosition() + '\nExpecting ' + expected.join(', ') + ', got \'' + (this.terminals_[symbol] || symbol) + '\''; - } else { - errStr = 'Parse error on line ' + (yylineno + 1) + ': Unexpected ' + (symbol == EOF ? 'end of input' : '\'' + (this.terminals_[symbol] || symbol) + '\''); - } - this.parseError(errStr, { - text: lexer.match, - token: this.terminals_[symbol] || symbol, - line: lexer.yylineno, - loc: yyloc, - expected: expected - }); - } - if (action[0] instanceof Array && action.length > 1) { - throw new Error('Parse Error: multiple actions possible at state: ' + state + ', token: ' + symbol); - } - switch (action[0]) { - case 1: - stack.push(symbol); - vstack.push(lexer.yytext); - lstack.push(lexer.yylloc); - stack.push(action[1]); - symbol = null; - if (!preErrorSymbol) { - yyleng = lexer.yyleng; - yytext = lexer.yytext; - yylineno = lexer.yylineno; - yyloc = lexer.yylloc; - if (recovering > 0) { - recovering--; - } - } else { - symbol = preErrorSymbol; - preErrorSymbol = null; - } - break; - case 2: - len = this.productions_[action[1]][1]; - yyval.$ = vstack[vstack.length - len]; - yyval._$ = { - first_line: lstack[lstack.length - (len || 1)].first_line, - last_line: lstack[lstack.length - 1].last_line, - first_column: lstack[lstack.length - (len || 1)].first_column, - last_column: lstack[lstack.length - 1].last_column - }; - if (ranges) { - yyval._$.range = [ - lstack[lstack.length - (len || 1)].range[0], - lstack[lstack.length - 1].range[1] - ]; - } - r = this.performAction.apply(yyval, [ - yytext, - yyleng, - yylineno, - sharedState.yy, - action[1], - vstack, - lstack - ].concat(args)); - if (typeof r !== 'undefined') { - return r; - } - if (len) { - stack = stack.slice(0, -1 * len * 2); - vstack = vstack.slice(0, -1 * len); - lstack = lstack.slice(0, -1 * len); - } - stack.push(this.productions_[action[1]][0]); - vstack.push(yyval.$); - lstack.push(yyval._$); - newState = table[stack[stack.length - 2]][stack[stack.length - 1]]; - stack.push(newState); - break; - case 3: - return true; - } - } - return true; -}}; - -/* generated by jison-lex 0.3.4 */ -var lexer = (function(){ -var lexer = ({ - -EOF:1, - -parseError:function parseError(str, hash) { - if (this.yy.parser) { - this.yy.parser.parseError(str, hash); - } else { - throw new Error(str); - } - }, - -// resets the lexer, sets new input -setInput:function (input, yy) { - this.yy = yy || this.yy || {}; - this._input = input; - this._more = this._backtrack = this.done = false; - this.yylineno = this.yyleng = 0; - this.yytext = this.matched = this.match = ''; - this.conditionStack = ['INITIAL']; - this.yylloc = { - first_line: 1, - first_column: 0, - last_line: 1, - last_column: 0 - }; - if (this.options.ranges) { - this.yylloc.range = [0,0]; - } - this.offset = 0; - return this; - }, - -// consumes and returns one char from the input -input:function () { - var ch = this._input[0]; - this.yytext += ch; - this.yyleng++; - this.offset++; - this.match += ch; - this.matched += ch; - var lines = ch.match(/(?:\r\n?|\n).*/g); - if (lines) { - this.yylineno++; - this.yylloc.last_line++; - } else { - this.yylloc.last_column++; - } - if (this.options.ranges) { - this.yylloc.range[1]++; - } - - this._input = this._input.slice(1); - return ch; - }, - -// unshifts one char (or a string) into the input -unput:function (ch) { - var len = ch.length; - var lines = ch.split(/(?:\r\n?|\n)/g); - - this._input = ch + this._input; - this.yytext = this.yytext.substr(0, this.yytext.length - len); - //this.yyleng -= len; - this.offset -= len; - var oldLines = this.match.split(/(?:\r\n?|\n)/g); - this.match = this.match.substr(0, this.match.length - 1); - this.matched = this.matched.substr(0, this.matched.length - 1); - - if (lines.length - 1) { - this.yylineno -= lines.length - 1; - } - var r = this.yylloc.range; - - this.yylloc = { - first_line: this.yylloc.first_line, - last_line: this.yylineno + 1, - first_column: this.yylloc.first_column, - last_column: lines ? - (lines.length === oldLines.length ? this.yylloc.first_column : 0) - + oldLines[oldLines.length - lines.length].length - lines[0].length : - this.yylloc.first_column - len - }; - - if (this.options.ranges) { - this.yylloc.range = [r[0], r[0] + this.yyleng - len]; - } - this.yyleng = this.yytext.length; - return this; - }, - -// When called from action, caches matched text and appends it on next action -more:function () { - this._more = true; - return this; - }, - -// When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead. -reject:function () { - if (this.options.backtrack_lexer) { - this._backtrack = true; - } else { - return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n' + this.showPosition(), { - text: "", - token: null, - line: this.yylineno - }); - - } - return this; - }, - -// retain first n characters of the match -less:function (n) { - this.unput(this.match.slice(n)); - }, - -// displays already matched input, i.e. for error messages -pastInput:function () { - var past = this.matched.substr(0, this.matched.length - this.match.length); - return (past.length > 20 ? '...':'') + past.substr(-20).replace(/\n/g, ""); - }, - -// displays upcoming input, i.e. for error messages -upcomingInput:function () { - var next = this.match; - if (next.length < 20) { - next += this._input.substr(0, 20-next.length); - } - return (next.substr(0,20) + (next.length > 20 ? '...' : '')).replace(/\n/g, ""); - }, - -// displays the character position where the lexing error occurred, i.e. for error messages -showPosition:function () { - var pre = this.pastInput(); - var c = new Array(pre.length + 1).join("-"); - return pre + this.upcomingInput() + "\n" + c + "^"; - }, - -// test the lexed token: return FALSE when not a match, otherwise return token -test_match:function(match, indexed_rule) { - var token, - lines, - backup; - - if (this.options.backtrack_lexer) { - // save context - backup = { - yylineno: this.yylineno, - yylloc: { - first_line: this.yylloc.first_line, - last_line: this.last_line, - first_column: this.yylloc.first_column, - last_column: this.yylloc.last_column - }, - yytext: this.yytext, - match: this.match, - matches: this.matches, - matched: this.matched, - yyleng: this.yyleng, - offset: this.offset, - _more: this._more, - _input: this._input, - yy: this.yy, - conditionStack: this.conditionStack.slice(0), - done: this.done - }; - if (this.options.ranges) { - backup.yylloc.range = this.yylloc.range.slice(0); - } - } - - lines = match[0].match(/(?:\r\n?|\n).*/g); - if (lines) { - this.yylineno += lines.length; - } - this.yylloc = { - first_line: this.yylloc.last_line, - last_line: this.yylineno + 1, - first_column: this.yylloc.last_column, - last_column: lines ? - lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length : - this.yylloc.last_column + match[0].length - }; - this.yytext += match[0]; - this.match += match[0]; - this.matches = match; - this.yyleng = this.yytext.length; - if (this.options.ranges) { - this.yylloc.range = [this.offset, this.offset += this.yyleng]; - } - this._more = false; - this._backtrack = false; - this._input = this._input.slice(match[0].length); - this.matched += match[0]; - token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]); - if (this.done && this._input) { - this.done = false; - } - if (token) { - return token; - } else if (this._backtrack) { - // recover context - for (var k in backup) { - this[k] = backup[k]; - } - return false; // rule action called reject() implying the next rule should be tested instead. - } - return false; - }, - -// return next match in input -next:function () { - if (this.done) { - return this.EOF; - } - if (!this._input) { - this.done = true; - } - - var token, - match, - tempMatch, - index; - if (!this._more) { - this.yytext = ''; - this.match = ''; - } - var rules = this._currentRules(); - for (var i = 0; i < rules.length; i++) { - tempMatch = this._input.match(this.rules[rules[i]]); - if (tempMatch && (!match || tempMatch[0].length > match[0].length)) { - match = tempMatch; - index = i; - if (this.options.backtrack_lexer) { - token = this.test_match(tempMatch, rules[i]); - if (token !== false) { - return token; - } else if (this._backtrack) { - match = false; - continue; // rule action called reject() implying a rule MISmatch. - } else { - // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) - return false; - } - } else if (!this.options.flex) { - break; - } - } - } - if (match) { - token = this.test_match(match, rules[index]); - if (token !== false) { - return token; - } - // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) - return false; - } - if (this._input === "") { - return this.EOF; - } else { - return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\n' + this.showPosition(), { - text: "", - token: null, - line: this.yylineno - }); - } - }, - -// return next match that has a token -lex:function lex () { - var r = this.next(); - if (r) { - return r; - } else { - return this.lex(); - } - }, - -// activates a new lexer condition state (pushes the new lexer condition state onto the condition stack) -begin:function begin (condition) { - this.conditionStack.push(condition); - }, - -// pop the previously active lexer condition state off the condition stack -popState:function popState () { - var n = this.conditionStack.length - 1; - if (n > 0) { - return this.conditionStack.pop(); - } else { - return this.conditionStack[0]; - } - }, - -// produce the lexer rule set which is active for the currently active lexer condition state -_currentRules:function _currentRules () { - if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) { - return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules; - } else { - return this.conditions["INITIAL"].rules; - } - }, - -// return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available -topState:function topState (n) { - n = this.conditionStack.length - 1 - Math.abs(n || 0); - if (n >= 0) { - return this.conditionStack[n]; - } else { - return "INITIAL"; - } - }, - -// alias for begin(condition) -pushState:function pushState (condition) { - this.begin(condition); - }, - -// return the number of states currently on the stack -stateStackSize:function stateStackSize() { - return this.conditionStack.length; - }, -options: {"case-insensitive":true}, -performAction: function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) { -var YYSTATE=YY_START; -switch($avoiding_name_collisions) { -case 0: this.begin('open_directive'); return 14; -break; -case 1: this.begin('type_directive'); return 15; -break; -case 2: this.popState(); this.begin('arg_directive'); return 12; -break; -case 3: this.popState(); this.popState(); return 17; -break; -case 4:return 16; -break; -case 5:return 5; -break; -case 6:/* skip all whitespace */ -break; -case 7:/* skip comments */ -break; -case 8:/* skip comments */ -break; -case 9:return 8; -break; -case 10:return 6; -break; -case 11:return 23; -break; -case 12:return 34; -break; -case 13:return 26; -break; -case 14:return 25; -break; -case 15:return 28; -break; -case 16:return 30; -break; -case 17:return 32; -break; -case 18:return 35; -break; -case 19:return 36; -break; -case 20:return 37; -break; -case 21:return 38; -break; -case 22:return 39; -break; -case 23:return 40; -break; -case 24:return 41; -break; -case 25:return 42; -break; -case 26:return 43; -break; -case 27:return 44; -break; -case 28:return 45; -break; -case 29:return 46; -break; -case 30:return 47; -break; -case 31:return 48; -break; -case 32:return 59; -break; -case 33:return 60; -break; -case 34:return 61; -break; -case 35:return 62; -break; -case 36:return 63; -break; -case 37:return 64; -break; -case 38:return 65; -break; -case 39:return 51; -break; -case 40:return 53; -break; -case 41:return 55; -break; -case 42:return 58; -break; -case 43:return 57; -break; -case 44: this.begin("string"); -break; -case 45: this.popState(); -break; -case 46: return "qString"; -break; -case 47: yy_.yytext = yy_.yytext.trim(); return 66; -break; -} -}, -rules: [/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:$)/i,/^(?:requirementDiagram\b)/i,/^(?:\{)/i,/^(?:\})/i,/^(?::)/i,/^(?:id\b)/i,/^(?:text\b)/i,/^(?:risk\b)/i,/^(?:verifyMethod\b)/i,/^(?:requirement\b)/i,/^(?:functionalRequirement\b)/i,/^(?:interfaceRequirement\b)/i,/^(?:performanceRequirement\b)/i,/^(?:physicalRequirement\b)/i,/^(?:designConstraint\b)/i,/^(?:low\b)/i,/^(?:medium\b)/i,/^(?:high\b)/i,/^(?:analysis\b)/i,/^(?:demonstration\b)/i,/^(?:inspection\b)/i,/^(?:test\b)/i,/^(?:element\b)/i,/^(?:contains\b)/i,/^(?:copies\b)/i,/^(?:derives\b)/i,/^(?:satisfies\b)/i,/^(?:verifies\b)/i,/^(?:refines\b)/i,/^(?:traces\b)/i,/^(?:type\b)/i,/^(?:docref\b)/i,/^(?:<-)/i,/^(?:->)/i,/^(?:-)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[\w][^\r\n\{\<\>\-\=]*)/i], -conditions: {"close_directive":{"rules":[],"inclusive":false},"arg_directive":{"rules":[3,4],"inclusive":false},"type_directive":{"rules":[2,3],"inclusive":false},"open_directive":{"rules":[1],"inclusive":false},"unqString":{"rules":[],"inclusive":false},"token":{"rules":[],"inclusive":false},"string":{"rules":[45,46],"inclusive":false},"INITIAL":{"rules":[0,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,47],"inclusive":true}} -}); -return lexer; -})(); -parser.lexer = lexer; -function Parser () { - this.yy = {}; -} -Parser.prototype = parser;parser.Parser = Parser; -return new Parser; -})(); - - -if (true) { -exports.parser = parser; -exports.Parser = parser.Parser; -exports.parse = function () { return parser.parse.apply(parser, arguments); }; -exports.main = function commonjsMain (args) { - if (!args[1]) { - console.log('Usage: '+args[0]+' FILE'); - process.exit(1); - } - var source = __webpack_require__(/*! fs */ "./node_modules/node-libs-browser/mock/empty.js").readFileSync(__webpack_require__(/*! path */ "./node_modules/path-browserify/index.js").normalize(args[1]), "utf8"); - return exports.parser.parse(source); -}; -if ( true && __webpack_require__.c[__webpack_require__.s] === module) { - exports.main(process.argv.slice(1)); -} -} -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../../node_modules/process/browser.js */ "./node_modules/process/browser.js"), __webpack_require__(/*! ./../../../../node_modules/webpack/buildin/module.js */ "./node_modules/webpack/buildin/module.js")(module))) +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (getStyles); /***/ }), @@ -17976,15 +19824,17 @@ if ( true && __webpack_require__.c[__webpack_require__.s] === module) { /*!***************************************************!*\ !*** ./src/diagrams/requirement/requirementDb.js ***! \***************************************************/ -/*! exports provided: parseDirective, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "parseDirective", function() { return parseDirective; }); -/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../config */ "./src/config.js"); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "parseDirective": () => (/* binding */ parseDirective), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../config */ "./src/config.js"); /* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../logger */ "./src/logger.js"); -/* harmony import */ var _mermaidAPI__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../mermaidAPI */ "./src/mermaidAPI.js"); +/* harmony import */ var _mermaidAPI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../mermaidAPI */ "./src/mermaidAPI.js"); @@ -18022,7 +19872,7 @@ var Relationships = { TRACES: 'traces' }; var parseDirective = function parseDirective(statement, context, type) { - _mermaidAPI__WEBPACK_IMPORTED_MODULE_2__["default"].parseDirective(this, statement, context, type); + _mermaidAPI__WEBPACK_IMPORTED_MODULE_0__["default"].parseDirective(this, statement, context, type); }; var addRequirement = function addRequirement(name, type) { @@ -18076,7 +19926,7 @@ var addElement = function addElement(name) { type: latestElement.type, docRef: latestElement.docRef }; - _logger__WEBPACK_IMPORTED_MODULE_1__["log"].info('Added new requirement: ', name); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.info('Added new requirement: ', name); } latestElement = {}; @@ -18119,14 +19969,14 @@ var clear = function clear() { elements = {}; }; -/* harmony default export */ __webpack_exports__["default"] = ({ +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ RequirementType: RequirementType, RiskLevel: RiskLevel, VerifyType: VerifyType, Relationships: Relationships, parseDirective: parseDirective, getConfig: function getConfig() { - return _config__WEBPACK_IMPORTED_MODULE_0__["getConfig"]().req; + return _config__WEBPACK_IMPORTED_MODULE_2__.getConfig().req; }, addRequirement: addRequirement, getRequirements: getRequirements, @@ -18149,11 +19999,13 @@ var clear = function clear() { /*!********************************************************!*\ !*** ./src/diagrams/requirement/requirementMarkers.js ***! \********************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); var ReqMarkers = { CONTAINS: 'contains', ARROW: 'arrow' @@ -18171,7 +20023,7 @@ var insertLineEndings = function insertLineEndings(parentNode, conf) { parentNode.append('defs').append('marker').attr('id', ReqMarkers.ARROW + '_line_ending').attr('refX', conf.line_height).attr('refY', 0.5 * conf.line_height).attr('markerWidth', conf.line_height).attr('markerHeight', conf.line_height).attr('orient', 'auto').append('path').attr('d', "M0,0\n L".concat(conf.line_height, ",").concat(conf.line_height / 2, "\n M").concat(conf.line_height, ",").concat(conf.line_height / 2, "\n L0,").concat(conf.line_height)).attr('stroke-width', 1); // .attr('stroke', conf.rect_border_color); }; -/* harmony default export */ __webpack_exports__["default"] = ({ +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ ReqMarkers: ReqMarkers, insertLineEndings: insertLineEndings }); @@ -18182,28 +20034,30 @@ var insertLineEndings = function insertLineEndings(parentNode, conf) { /*!*********************************************************!*\ !*** ./src/diagrams/requirement/requirementRenderer.js ***! \*********************************************************/ -/*! exports provided: setConf, drawReqs, drawElements, draw, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setConf", function() { return setConf; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "drawReqs", function() { return drawReqs; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "drawElements", function() { return drawElements; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "draw", function() { return draw; }); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "setConf": () => (/* binding */ setConf), +/* harmony export */ "drawReqs": () => (/* binding */ drawReqs), +/* harmony export */ "drawElements": () => (/* binding */ drawElements), +/* harmony export */ "draw": () => (/* binding */ draw), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); /* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3 */ "d3"); /* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(d3__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var dagre__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! dagre */ "dagre"); /* harmony import */ var dagre__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(dagre__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var graphlib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! graphlib */ "graphlib"); /* harmony import */ var graphlib__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(graphlib__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../logger */ "./src/logger.js"); -/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils */ "./src/utils.js"); -/* harmony import */ var _common_common__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../common/common */ "./src/diagrams/common/common.js"); -/* harmony import */ var _parser_requirementDiagram__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./parser/requirementDiagram */ "./src/diagrams/requirement/parser/requirementDiagram.jison"); -/* harmony import */ var _parser_requirementDiagram__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_parser_requirementDiagram__WEBPACK_IMPORTED_MODULE_6__); -/* harmony import */ var _requirementDb__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./requirementDb */ "./src/diagrams/requirement/requirementDb.js"); -/* harmony import */ var _requirementMarkers__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./requirementMarkers */ "./src/diagrams/requirement/requirementMarkers.js"); +/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../logger */ "./src/logger.js"); +/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../utils */ "./src/utils.js"); +/* harmony import */ var _common_common__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../common/common */ "./src/diagrams/common/common.js"); +/* harmony import */ var _parser_requirementDiagram__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./parser/requirementDiagram */ "./src/diagrams/requirement/parser/requirementDiagram.jison"); +/* harmony import */ var _parser_requirementDiagram__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_parser_requirementDiagram__WEBPACK_IMPORTED_MODULE_7__); +/* harmony import */ var _requirementDb__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./requirementDb */ "./src/diagrams/requirement/requirementDb.js"); +/* harmony import */ var _requirementMarkers__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./requirementMarkers */ "./src/diagrams/requirement/requirementMarkers.js"); // import * as configApi from '../../config'; @@ -18313,7 +20167,7 @@ var drawRelationshipFromLayout = function drawRelationshipFromLayout(svg, rel, g // Find the edge relating to this relationship var edge = g.edge(elementString(rel.src), elementString(rel.dst)); // Get a function that will generate the line path - var lineFunction = Object(d3__WEBPACK_IMPORTED_MODULE_0__["line"])().x(function (d) { + var lineFunction = (0,d3__WEBPACK_IMPORTED_MODULE_0__.line)().x(function (d) { return d.x; }).y(function (d) { return d.y; @@ -18321,11 +20175,11 @@ var drawRelationshipFromLayout = function drawRelationshipFromLayout(svg, rel, g var svgPath = svg.insert('path', '#' + insert).attr('class', 'er relationshipLine').attr('d', lineFunction(edge.points)).attr('fill', 'none'); - if (rel.type == _requirementDb__WEBPACK_IMPORTED_MODULE_7__["default"].Relationships.CONTAINS) { - svgPath.attr('marker-start', 'url(' + _common_common__WEBPACK_IMPORTED_MODULE_5__["default"].getUrl(conf.arrowMarkerAbsolute) + '#' + rel.type + '_line_ending' + ')'); + if (rel.type == _requirementDb__WEBPACK_IMPORTED_MODULE_3__["default"].Relationships.CONTAINS) { + svgPath.attr('marker-start', 'url(' + _common_common__WEBPACK_IMPORTED_MODULE_4__["default"].getUrl(conf.arrowMarkerAbsolute) + '#' + rel.type + '_line_ending' + ')'); } else { svgPath.attr('stroke-dasharray', '10,7'); - svgPath.attr('marker-end', 'url(' + _common_common__WEBPACK_IMPORTED_MODULE_5__["default"].getUrl(conf.arrowMarkerAbsolute) + '#' + _requirementMarkers__WEBPACK_IMPORTED_MODULE_8__["default"].ReqMarkers.ARROW + '_line_ending' + ')'); + svgPath.attr('marker-end', 'url(' + _common_common__WEBPACK_IMPORTED_MODULE_4__["default"].getUrl(conf.arrowMarkerAbsolute) + '#' + _requirementMarkers__WEBPACK_IMPORTED_MODULE_5__["default"].ReqMarkers.ARROW + '_line_ending' + ')'); } addEdgeLabel(svg, svgPath, conf, "<<".concat(rel.type, ">>")); @@ -18336,7 +20190,7 @@ var drawReqs = function drawReqs(reqs, graph, svgNode) { Object.keys(reqs).forEach(function (reqName) { var req = reqs[reqName]; reqName = elementString(reqName); - _logger__WEBPACK_IMPORTED_MODULE_3__["log"].info('Added new requirement: ', reqName); + _logger__WEBPACK_IMPORTED_MODULE_6__.log.info('Added new requirement: ', reqName); var groupNode = svgNode.append('g').attr('id', reqName); var textId = 'req-' + reqName; var rectNode = newRectNode(groupNode, textId); @@ -18404,12 +20258,12 @@ var elementString = function elementString(str) { }; var draw = function draw(text, id) { - _parser_requirementDiagram__WEBPACK_IMPORTED_MODULE_6__["parser"].yy = _requirementDb__WEBPACK_IMPORTED_MODULE_7__["default"]; - _parser_requirementDiagram__WEBPACK_IMPORTED_MODULE_6__["parser"].yy.clear(); - _parser_requirementDiagram__WEBPACK_IMPORTED_MODULE_6__["parser"].parse(text); - var svg = Object(d3__WEBPACK_IMPORTED_MODULE_0__["select"])("[id='".concat(id, "']")); - _requirementMarkers__WEBPACK_IMPORTED_MODULE_8__["default"].insertLineEndings(svg, conf); - var g = new graphlib__WEBPACK_IMPORTED_MODULE_2___default.a.Graph({ + _parser_requirementDiagram__WEBPACK_IMPORTED_MODULE_7__.parser.yy = _requirementDb__WEBPACK_IMPORTED_MODULE_3__["default"]; + _parser_requirementDiagram__WEBPACK_IMPORTED_MODULE_7__.parser.yy.clear(); + _parser_requirementDiagram__WEBPACK_IMPORTED_MODULE_7__.parser.parse(text); + var svg = (0,d3__WEBPACK_IMPORTED_MODULE_0__.select)("[id='".concat(id, "']")); + _requirementMarkers__WEBPACK_IMPORTED_MODULE_5__["default"].insertLineEndings(svg, conf); + var g = new (graphlib__WEBPACK_IMPORTED_MODULE_2___default().Graph)({ multigraph: false, compound: false, directed: true @@ -18423,13 +20277,13 @@ var draw = function draw(text, id) { }).setDefaultEdgeLabel(function () { return {}; }); - var requirements = _requirementDb__WEBPACK_IMPORTED_MODULE_7__["default"].getRequirements(); - var elements = _requirementDb__WEBPACK_IMPORTED_MODULE_7__["default"].getElements(); - var relationships = _requirementDb__WEBPACK_IMPORTED_MODULE_7__["default"].getRelationships(); + var requirements = _requirementDb__WEBPACK_IMPORTED_MODULE_3__["default"].getRequirements(); + var elements = _requirementDb__WEBPACK_IMPORTED_MODULE_3__["default"].getElements(); + var relationships = _requirementDb__WEBPACK_IMPORTED_MODULE_3__["default"].getRelationships(); drawReqs(requirements, g, svg); drawElements(elements, g, svg); addRelationships(relationships, g); - dagre__WEBPACK_IMPORTED_MODULE_1___default.a.layout(g); + dagre__WEBPACK_IMPORTED_MODULE_1___default().layout(g); adjustEntities(svg, g); relationships.forEach(function (rel) { drawRelationshipFromLayout(svg, rel, g, id); @@ -18439,10 +20293,10 @@ var draw = function draw(text, id) { var svgBounds = svg.node().getBBox(); var width = svgBounds.width + padding * 2; var height = svgBounds.height + padding * 2; - Object(_utils__WEBPACK_IMPORTED_MODULE_4__["configureSvgSize"])(svg, height, width, conf.useMaxWidth); + (0,_utils__WEBPACK_IMPORTED_MODULE_8__.configureSvgSize)(svg, height, width, conf.useMaxWidth); svg.attr('viewBox', "".concat(svgBounds.x - padding, " ").concat(svgBounds.y - padding, " ").concat(width, " ").concat(height)); }; -/* harmony default export */ __webpack_exports__["default"] = ({ +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ setConf: setConf, draw: draw }); @@ -18453,915 +20307,19 @@ var draw = function draw(text, id) { /*!********************************************!*\ !*** ./src/diagrams/requirement/styles.js ***! \********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); var getStyles = function getStyles(options) { return "\n\n marker {\n fill: ".concat(options.relationColor, ";\n stroke: ").concat(options.relationColor, ";\n }\n\n marker.cross {\n stroke: ").concat(options.lineColor, ";\n }\n\n svg {\n font-family: ").concat(options.fontFamily, ";\n font-size: ").concat(options.fontSize, ";\n }\n\n .reqBox {\n fill: ").concat(options.requirementBackground, ";\n fill-opacity: 100%;\n stroke: ").concat(options.requirementBorderColor, ";\n stroke-width: ").concat(options.requirementBorderSize, ";\n }\n \n .reqTitle, .reqLabel{\n fill: ").concat(options.requirementTextColor, ";\n }\n .reqLabelBox {\n fill: ").concat(options.relationLabelBackground, ";\n fill-opacity: 100%;\n }\n\n .req-title-line {\n stroke: ").concat(options.requirementBorderColor, ";\n stroke-width: ").concat(options.requirementBorderSize, ";\n }\n .relationshipLine {\n stroke: ").concat(options.relationColor, ";\n stroke-width: 1;\n }\n .relationshipLabel {\n fill: ").concat(options.relationLabelColor, ";\n }\n\n"); }; // fill', conf.rect_fill) -/* harmony default export */ __webpack_exports__["default"] = (getStyles); - -/***/ }), - -/***/ "./src/diagrams/sequence/parser/sequenceDiagram.jison": -/*!************************************************************!*\ - !*** ./src/diagrams/sequence/parser/sequenceDiagram.jison ***! - \************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -/* WEBPACK VAR INJECTION */(function(process, module) {/* parser generated by jison 0.4.18 */ -/* - Returns a Parser object of the following structure: - - Parser: { - yy: {} - } - - Parser.prototype: { - yy: {}, - trace: function(), - symbols_: {associative list: name ==> number}, - terminals_: {associative list: number ==> name}, - productions_: [...], - performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$), - table: [...], - defaultActions: {...}, - parseError: function(str, hash), - parse: function(input), - - lexer: { - EOF: 1, - parseError: function(str, hash), - setInput: function(input), - input: function(), - unput: function(str), - more: function(), - less: function(n), - pastInput: function(), - upcomingInput: function(), - showPosition: function(), - test_match: function(regex_match_array, rule_index), - next: function(), - lex: function(), - begin: function(condition), - popState: function(), - _currentRules: function(), - topState: function(), - pushState: function(condition), - - options: { - ranges: boolean (optional: true ==> token location info will include a .range[] member) - flex: boolean (optional: true ==> flex-like lexing behaviour where the rules are tested exhaustively to find the longest match) - backtrack_lexer: boolean (optional: true ==> lexer regexes are tested in order and for each matching regex the action code is invoked; the lexer terminates the scan when a token is returned by the action code) - }, - - performAction: function(yy, yy_, $avoiding_name_collisions, YY_START), - rules: [...], - conditions: {associative list: name ==> set}, - } - } - - - token location info (@$, _$, etc.): { - first_line: n, - last_line: n, - first_column: n, - last_column: n, - range: [start_number, end_number] (where the numbers are indexes into the input string, regular zero-based) - } - - - the parseError function receives a 'hash' object with these members for lexer and parser errors: { - text: (matched text) - token: (the produced terminal token, if any) - line: (yylineno) - } - while parser (grammar) errors will also provide these members, i.e. parser errors deliver a superset of attributes: { - loc: (yylloc) - expected: (string describing the set of expected tokens) - recoverable: (boolean: TRUE when the parser has a error recovery rule available for this particular error) - } -*/ -var parser = (function(){ -var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,2],$V1=[1,3],$V2=[1,5],$V3=[1,7],$V4=[2,5],$V5=[1,15],$V6=[1,17],$V7=[1,18],$V8=[1,19],$V9=[1,21],$Va=[1,22],$Vb=[1,23],$Vc=[1,29],$Vd=[1,30],$Ve=[1,31],$Vf=[1,32],$Vg=[1,33],$Vh=[1,34],$Vi=[1,37],$Vj=[1,38],$Vk=[1,39],$Vl=[1,40],$Vm=[1,41],$Vn=[1,42],$Vo=[1,45],$Vp=[1,4,5,16,20,22,23,24,30,32,33,34,35,36,38,40,41,42,46,47,48,49,57,67],$Vq=[1,58],$Vr=[4,5,16,20,22,23,24,30,32,33,34,35,36,38,42,46,47,48,49,57,67],$Vs=[4,5,16,20,22,23,24,30,32,33,34,35,36,38,41,42,46,47,48,49,57,67],$Vt=[4,5,16,20,22,23,24,30,32,33,34,35,36,38,40,42,46,47,48,49,57,67],$Vu=[55,56,57],$Vv=[1,4,5,7,16,20,22,23,24,30,32,33,34,35,36,38,40,41,42,46,47,48,49,57,67]; -var parser = {trace: function trace () { }, -yy: {}, -symbols_: {"error":2,"start":3,"SPACE":4,"NEWLINE":5,"directive":6,"SD":7,"document":8,"line":9,"statement":10,"openDirective":11,"typeDirective":12,"closeDirective":13,":":14,"argDirective":15,"participant":16,"actor":17,"AS":18,"restOfLine":19,"participant_actor":20,"signal":21,"autonumber":22,"activate":23,"deactivate":24,"note_statement":25,"links_statement":26,"link_statement":27,"properties_statement":28,"details_statement":29,"title":30,"text2":31,"loop":32,"end":33,"rect":34,"opt":35,"alt":36,"else_sections":37,"par":38,"par_sections":39,"and":40,"else":41,"note":42,"placement":43,"over":44,"actor_pair":45,"links":46,"link":47,"properties":48,"details":49,"spaceList":50,",":51,"left_of":52,"right_of":53,"signaltype":54,"+":55,"-":56,"ACTOR":57,"SOLID_OPEN_ARROW":58,"DOTTED_OPEN_ARROW":59,"SOLID_ARROW":60,"DOTTED_ARROW":61,"SOLID_CROSS":62,"DOTTED_CROSS":63,"SOLID_POINT":64,"DOTTED_POINT":65,"TXT":66,"open_directive":67,"type_directive":68,"arg_directive":69,"close_directive":70,"$accept":0,"$end":1}, -terminals_: {2:"error",4:"SPACE",5:"NEWLINE",7:"SD",14:":",16:"participant",18:"AS",19:"restOfLine",20:"participant_actor",22:"autonumber",23:"activate",24:"deactivate",30:"title",32:"loop",33:"end",34:"rect",35:"opt",36:"alt",38:"par",40:"and",41:"else",42:"note",44:"over",46:"links",47:"link",48:"properties",49:"details",51:",",52:"left_of",53:"right_of",55:"+",56:"-",57:"ACTOR",58:"SOLID_OPEN_ARROW",59:"DOTTED_OPEN_ARROW",60:"SOLID_ARROW",61:"DOTTED_ARROW",62:"SOLID_CROSS",63:"DOTTED_CROSS",64:"SOLID_POINT",65:"DOTTED_POINT",66:"TXT",67:"open_directive",68:"type_directive",69:"arg_directive",70:"close_directive"}, -productions_: [0,[3,2],[3,2],[3,2],[3,2],[8,0],[8,2],[9,2],[9,1],[9,1],[6,4],[6,6],[10,5],[10,3],[10,5],[10,3],[10,2],[10,1],[10,3],[10,3],[10,2],[10,2],[10,2],[10,2],[10,2],[10,3],[10,4],[10,4],[10,4],[10,4],[10,4],[10,1],[39,1],[39,4],[37,1],[37,4],[25,4],[25,4],[26,3],[27,3],[28,3],[29,3],[50,2],[50,1],[45,3],[45,1],[43,1],[43,1],[21,5],[21,5],[21,4],[17,1],[54,1],[54,1],[54,1],[54,1],[54,1],[54,1],[54,1],[54,1],[31,1],[11,1],[12,1],[15,1],[13,1]], -performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) { -/* this == yyval */ - -var $0 = $$.length - 1; -switch (yystate) { -case 4: - yy.apply($$[$0]);return $$[$0]; -break; -case 5: - this.$ = [] -break; -case 6: -$$[$0-1].push($$[$0]);this.$ = $$[$0-1] -break; -case 7: case 8: - this.$ = $$[$0] -break; -case 9: - this.$=[]; -break; -case 12: -$$[$0-3].type='addParticipant';$$[$0-3].description=yy.parseMessage($$[$0-1]); this.$=$$[$0-3]; -break; -case 13: -$$[$0-1].type='addParticipant';this.$=$$[$0-1]; -break; -case 14: -$$[$0-3].type='addActor';$$[$0-3].description=yy.parseMessage($$[$0-1]); this.$=$$[$0-3]; -break; -case 15: -$$[$0-1].type='addActor'; this.$=$$[$0-1]; -break; -case 17: -yy.enableSequenceNumbers() -break; -case 18: -this.$={type: 'activeStart', signalType: yy.LINETYPE.ACTIVE_START, actor: $$[$0-1]}; -break; -case 19: -this.$={type: 'activeEnd', signalType: yy.LINETYPE.ACTIVE_END, actor: $$[$0-1]}; -break; -case 25: -this.$=[{type:'setTitle', text:$$[$0-1]}] -break; -case 26: - - $$[$0-1].unshift({type: 'loopStart', loopText:yy.parseMessage($$[$0-2]), signalType: yy.LINETYPE.LOOP_START}); - $$[$0-1].push({type: 'loopEnd', loopText:$$[$0-2], signalType: yy.LINETYPE.LOOP_END}); - this.$=$$[$0-1]; -break; -case 27: - - $$[$0-1].unshift({type: 'rectStart', color:yy.parseMessage($$[$0-2]), signalType: yy.LINETYPE.RECT_START }); - $$[$0-1].push({type: 'rectEnd', color:yy.parseMessage($$[$0-2]), signalType: yy.LINETYPE.RECT_END }); - this.$=$$[$0-1]; -break; -case 28: - - $$[$0-1].unshift({type: 'optStart', optText:yy.parseMessage($$[$0-2]), signalType: yy.LINETYPE.OPT_START}); - $$[$0-1].push({type: 'optEnd', optText:yy.parseMessage($$[$0-2]), signalType: yy.LINETYPE.OPT_END}); - this.$=$$[$0-1]; -break; -case 29: - - // Alt start - $$[$0-1].unshift({type: 'altStart', altText:yy.parseMessage($$[$0-2]), signalType: yy.LINETYPE.ALT_START}); - // Content in alt is already in $$[$0-1] - // End - $$[$0-1].push({type: 'altEnd', signalType: yy.LINETYPE.ALT_END}); - this.$=$$[$0-1]; -break; -case 30: - - // Parallel start - $$[$0-1].unshift({type: 'parStart', parText:yy.parseMessage($$[$0-2]), signalType: yy.LINETYPE.PAR_START}); - // Content in par is already in $$[$0-1] - // End - $$[$0-1].push({type: 'parEnd', signalType: yy.LINETYPE.PAR_END}); - this.$=$$[$0-1]; -break; -case 33: - this.$ = $$[$0-3].concat([{type: 'and', parText:yy.parseMessage($$[$0-1]), signalType: yy.LINETYPE.PAR_AND}, $$[$0]]); -break; -case 35: - this.$ = $$[$0-3].concat([{type: 'else', altText:yy.parseMessage($$[$0-1]), signalType: yy.LINETYPE.ALT_ELSE}, $$[$0]]); -break; -case 36: - - this.$ = [$$[$0-1], {type:'addNote', placement:$$[$0-2], actor:$$[$0-1].actor, text:$$[$0]}]; -break; -case 37: - - // Coerce actor_pair into a [to, from, ...] array - $$[$0-2] = [].concat($$[$0-1], $$[$0-1]).slice(0, 2); - $$[$0-2][0] = $$[$0-2][0].actor; - $$[$0-2][1] = $$[$0-2][1].actor; - this.$ = [$$[$0-1], {type:'addNote', placement:yy.PLACEMENT.OVER, actor:$$[$0-2].slice(0, 2), text:$$[$0]}]; -break; -case 38: - - this.$ = [$$[$0-1], {type:'addLinks', actor:$$[$0-1].actor, text:$$[$0]}]; - -break; -case 39: - - this.$ = [$$[$0-1], {type:'addALink', actor:$$[$0-1].actor, text:$$[$0]}]; - -break; -case 40: - - this.$ = [$$[$0-1], {type:'addProperties', actor:$$[$0-1].actor, text:$$[$0]}]; - -break; -case 41: - - this.$ = [$$[$0-1], {type:'addDetails', actor:$$[$0-1].actor, text:$$[$0]}]; - -break; -case 44: - this.$ = [$$[$0-2], $$[$0]]; -break; -case 45: - this.$ = $$[$0]; -break; -case 46: - this.$ = yy.PLACEMENT.LEFTOF; -break; -case 47: - this.$ = yy.PLACEMENT.RIGHTOF; -break; -case 48: - this.$ = [$$[$0-4],$$[$0-1],{type: 'addMessage', from:$$[$0-4].actor, to:$$[$0-1].actor, signalType:$$[$0-3], msg:$$[$0]}, - {type: 'activeStart', signalType: yy.LINETYPE.ACTIVE_START, actor: $$[$0-1]} - ] -break; -case 49: - this.$ = [$$[$0-4],$$[$0-1],{type: 'addMessage', from:$$[$0-4].actor, to:$$[$0-1].actor, signalType:$$[$0-3], msg:$$[$0]}, - {type: 'activeEnd', signalType: yy.LINETYPE.ACTIVE_END, actor: $$[$0-4]} - ] -break; -case 50: - this.$ = [$$[$0-3],$$[$0-1],{type: 'addMessage', from:$$[$0-3].actor, to:$$[$0-1].actor, signalType:$$[$0-2], msg:$$[$0]}] -break; -case 51: -this.$={ type: 'addParticipant', actor:$$[$0]} -break; -case 52: - this.$ = yy.LINETYPE.SOLID_OPEN; -break; -case 53: - this.$ = yy.LINETYPE.DOTTED_OPEN; -break; -case 54: - this.$ = yy.LINETYPE.SOLID; -break; -case 55: - this.$ = yy.LINETYPE.DOTTED; -break; -case 56: - this.$ = yy.LINETYPE.SOLID_CROSS; -break; -case 57: - this.$ = yy.LINETYPE.DOTTED_CROSS; -break; -case 58: - this.$ = yy.LINETYPE.SOLID_POINT; -break; -case 59: - this.$ = yy.LINETYPE.DOTTED_POINT; -break; -case 60: -this.$ = yy.parseMessage($$[$0].trim().substring(1)) -break; -case 61: - yy.parseDirective('%%{', 'open_directive'); -break; -case 62: - yy.parseDirective($$[$0], 'type_directive'); -break; -case 63: - $$[$0] = $$[$0].trim().replace(/'/g, '"'); yy.parseDirective($$[$0], 'arg_directive'); -break; -case 64: - yy.parseDirective('}%%', 'close_directive', 'sequence'); -break; -} -}, -table: [{3:1,4:$V0,5:$V1,6:4,7:$V2,11:6,67:$V3},{1:[3]},{3:8,4:$V0,5:$V1,6:4,7:$V2,11:6,67:$V3},{3:9,4:$V0,5:$V1,6:4,7:$V2,11:6,67:$V3},{3:10,4:$V0,5:$V1,6:4,7:$V2,11:6,67:$V3},o([1,4,5,16,20,22,23,24,30,32,34,35,36,38,42,46,47,48,49,57,67],$V4,{8:11}),{12:12,68:[1,13]},{68:[2,61]},{1:[2,1]},{1:[2,2]},{1:[2,3]},{1:[2,4],4:$V5,5:$V6,6:35,9:14,10:16,11:6,16:$V7,17:36,20:$V8,21:20,22:$V9,23:$Va,24:$Vb,25:24,26:25,27:26,28:27,29:28,30:$Vc,32:$Vd,34:$Ve,35:$Vf,36:$Vg,38:$Vh,42:$Vi,46:$Vj,47:$Vk,48:$Vl,49:$Vm,57:$Vn,67:$V3},{13:43,14:[1,44],70:$Vo},o([14,70],[2,62]),o($Vp,[2,6]),{6:35,10:46,11:6,16:$V7,17:36,20:$V8,21:20,22:$V9,23:$Va,24:$Vb,25:24,26:25,27:26,28:27,29:28,30:$Vc,32:$Vd,34:$Ve,35:$Vf,36:$Vg,38:$Vh,42:$Vi,46:$Vj,47:$Vk,48:$Vl,49:$Vm,57:$Vn,67:$V3},o($Vp,[2,8]),o($Vp,[2,9]),{17:47,57:$Vn},{17:48,57:$Vn},{5:[1,49]},o($Vp,[2,17]),{17:50,57:$Vn},{17:51,57:$Vn},{5:[1,52]},{5:[1,53]},{5:[1,54]},{5:[1,55]},{5:[1,56]},{31:57,66:$Vq},{19:[1,59]},{19:[1,60]},{19:[1,61]},{19:[1,62]},{19:[1,63]},o($Vp,[2,31]),{54:64,58:[1,65],59:[1,66],60:[1,67],61:[1,68],62:[1,69],63:[1,70],64:[1,71],65:[1,72]},{43:73,44:[1,74],52:[1,75],53:[1,76]},{17:77,57:$Vn},{17:78,57:$Vn},{17:79,57:$Vn},{17:80,57:$Vn},o([5,18,51,58,59,60,61,62,63,64,65,66],[2,51]),{5:[1,81]},{15:82,69:[1,83]},{5:[2,64]},o($Vp,[2,7]),{5:[1,85],18:[1,84]},{5:[1,87],18:[1,86]},o($Vp,[2,16]),{5:[1,88]},{5:[1,89]},o($Vp,[2,20]),o($Vp,[2,21]),o($Vp,[2,22]),o($Vp,[2,23]),o($Vp,[2,24]),{5:[1,90]},{5:[2,60]},o($Vr,$V4,{8:91}),o($Vr,$V4,{8:92}),o($Vr,$V4,{8:93}),o($Vs,$V4,{37:94,8:95}),o($Vt,$V4,{39:96,8:97}),{17:100,55:[1,98],56:[1,99],57:$Vn},o($Vu,[2,52]),o($Vu,[2,53]),o($Vu,[2,54]),o($Vu,[2,55]),o($Vu,[2,56]),o($Vu,[2,57]),o($Vu,[2,58]),o($Vu,[2,59]),{17:101,57:$Vn},{17:103,45:102,57:$Vn},{57:[2,46]},{57:[2,47]},{31:104,66:$Vq},{31:105,66:$Vq},{31:106,66:$Vq},{31:107,66:$Vq},o($Vv,[2,10]),{13:108,70:$Vo},{70:[2,63]},{19:[1,109]},o($Vp,[2,13]),{19:[1,110]},o($Vp,[2,15]),o($Vp,[2,18]),o($Vp,[2,19]),o($Vp,[2,25]),{4:$V5,5:$V6,6:35,9:14,10:16,11:6,16:$V7,17:36,20:$V8,21:20,22:$V9,23:$Va,24:$Vb,25:24,26:25,27:26,28:27,29:28,30:$Vc,32:$Vd,33:[1,111],34:$Ve,35:$Vf,36:$Vg,38:$Vh,42:$Vi,46:$Vj,47:$Vk,48:$Vl,49:$Vm,57:$Vn,67:$V3},{4:$V5,5:$V6,6:35,9:14,10:16,11:6,16:$V7,17:36,20:$V8,21:20,22:$V9,23:$Va,24:$Vb,25:24,26:25,27:26,28:27,29:28,30:$Vc,32:$Vd,33:[1,112],34:$Ve,35:$Vf,36:$Vg,38:$Vh,42:$Vi,46:$Vj,47:$Vk,48:$Vl,49:$Vm,57:$Vn,67:$V3},{4:$V5,5:$V6,6:35,9:14,10:16,11:6,16:$V7,17:36,20:$V8,21:20,22:$V9,23:$Va,24:$Vb,25:24,26:25,27:26,28:27,29:28,30:$Vc,32:$Vd,33:[1,113],34:$Ve,35:$Vf,36:$Vg,38:$Vh,42:$Vi,46:$Vj,47:$Vk,48:$Vl,49:$Vm,57:$Vn,67:$V3},{33:[1,114]},{4:$V5,5:$V6,6:35,9:14,10:16,11:6,16:$V7,17:36,20:$V8,21:20,22:$V9,23:$Va,24:$Vb,25:24,26:25,27:26,28:27,29:28,30:$Vc,32:$Vd,33:[2,34],34:$Ve,35:$Vf,36:$Vg,38:$Vh,41:[1,115],42:$Vi,46:$Vj,47:$Vk,48:$Vl,49:$Vm,57:$Vn,67:$V3},{33:[1,116]},{4:$V5,5:$V6,6:35,9:14,10:16,11:6,16:$V7,17:36,20:$V8,21:20,22:$V9,23:$Va,24:$Vb,25:24,26:25,27:26,28:27,29:28,30:$Vc,32:$Vd,33:[2,32],34:$Ve,35:$Vf,36:$Vg,38:$Vh,40:[1,117],42:$Vi,46:$Vj,47:$Vk,48:$Vl,49:$Vm,57:$Vn,67:$V3},{17:118,57:$Vn},{17:119,57:$Vn},{31:120,66:$Vq},{31:121,66:$Vq},{31:122,66:$Vq},{51:[1,123],66:[2,45]},{5:[2,38]},{5:[2,39]},{5:[2,40]},{5:[2,41]},{5:[1,124]},{5:[1,125]},{5:[1,126]},o($Vp,[2,26]),o($Vp,[2,27]),o($Vp,[2,28]),o($Vp,[2,29]),{19:[1,127]},o($Vp,[2,30]),{19:[1,128]},{31:129,66:$Vq},{31:130,66:$Vq},{5:[2,50]},{5:[2,36]},{5:[2,37]},{17:131,57:$Vn},o($Vv,[2,11]),o($Vp,[2,12]),o($Vp,[2,14]),o($Vs,$V4,{8:95,37:132}),o($Vt,$V4,{8:97,39:133}),{5:[2,48]},{5:[2,49]},{66:[2,44]},{33:[2,35]},{33:[2,33]}], -defaultActions: {7:[2,61],8:[2,1],9:[2,2],10:[2,3],45:[2,64],58:[2,60],75:[2,46],76:[2,47],83:[2,63],104:[2,38],105:[2,39],106:[2,40],107:[2,41],120:[2,50],121:[2,36],122:[2,37],129:[2,48],130:[2,49],131:[2,44],132:[2,35],133:[2,33]}, -parseError: function parseError (str, hash) { - if (hash.recoverable) { - this.trace(str); - } else { - var error = new Error(str); - error.hash = hash; - throw error; - } -}, -parse: function parse(input) { - var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = '', yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1; - var args = lstack.slice.call(arguments, 1); - var lexer = Object.create(this.lexer); - var sharedState = { yy: {} }; - for (var k in this.yy) { - if (Object.prototype.hasOwnProperty.call(this.yy, k)) { - sharedState.yy[k] = this.yy[k]; - } - } - lexer.setInput(input, sharedState.yy); - sharedState.yy.lexer = lexer; - sharedState.yy.parser = this; - if (typeof lexer.yylloc == 'undefined') { - lexer.yylloc = {}; - } - var yyloc = lexer.yylloc; - lstack.push(yyloc); - var ranges = lexer.options && lexer.options.ranges; - if (typeof sharedState.yy.parseError === 'function') { - this.parseError = sharedState.yy.parseError; - } else { - this.parseError = Object.getPrototypeOf(this).parseError; - } - function popStack(n) { - stack.length = stack.length - 2 * n; - vstack.length = vstack.length - n; - lstack.length = lstack.length - n; - } - function lex() { - var token; - token = tstack.pop() || lexer.lex() || EOF; - if (typeof token !== 'number') { - if (token instanceof Array) { - tstack = token; - token = tstack.pop(); - } - token = self.symbols_[token] || token; - } - return token; - } - var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected; - while (true) { - state = stack[stack.length - 1]; - if (this.defaultActions[state]) { - action = this.defaultActions[state]; - } else { - if (symbol === null || typeof symbol == 'undefined') { - symbol = lex(); - } - action = table[state] && table[state][symbol]; - } - if (typeof action === 'undefined' || !action.length || !action[0]) { - var errStr = ''; - expected = []; - for (p in table[state]) { - if (this.terminals_[p] && p > TERROR) { - expected.push('\'' + this.terminals_[p] + '\''); - } - } - if (lexer.showPosition) { - errStr = 'Parse error on line ' + (yylineno + 1) + ':\n' + lexer.showPosition() + '\nExpecting ' + expected.join(', ') + ', got \'' + (this.terminals_[symbol] || symbol) + '\''; - } else { - errStr = 'Parse error on line ' + (yylineno + 1) + ': Unexpected ' + (symbol == EOF ? 'end of input' : '\'' + (this.terminals_[symbol] || symbol) + '\''); - } - this.parseError(errStr, { - text: lexer.match, - token: this.terminals_[symbol] || symbol, - line: lexer.yylineno, - loc: yyloc, - expected: expected - }); - } - if (action[0] instanceof Array && action.length > 1) { - throw new Error('Parse Error: multiple actions possible at state: ' + state + ', token: ' + symbol); - } - switch (action[0]) { - case 1: - stack.push(symbol); - vstack.push(lexer.yytext); - lstack.push(lexer.yylloc); - stack.push(action[1]); - symbol = null; - if (!preErrorSymbol) { - yyleng = lexer.yyleng; - yytext = lexer.yytext; - yylineno = lexer.yylineno; - yyloc = lexer.yylloc; - if (recovering > 0) { - recovering--; - } - } else { - symbol = preErrorSymbol; - preErrorSymbol = null; - } - break; - case 2: - len = this.productions_[action[1]][1]; - yyval.$ = vstack[vstack.length - len]; - yyval._$ = { - first_line: lstack[lstack.length - (len || 1)].first_line, - last_line: lstack[lstack.length - 1].last_line, - first_column: lstack[lstack.length - (len || 1)].first_column, - last_column: lstack[lstack.length - 1].last_column - }; - if (ranges) { - yyval._$.range = [ - lstack[lstack.length - (len || 1)].range[0], - lstack[lstack.length - 1].range[1] - ]; - } - r = this.performAction.apply(yyval, [ - yytext, - yyleng, - yylineno, - sharedState.yy, - action[1], - vstack, - lstack - ].concat(args)); - if (typeof r !== 'undefined') { - return r; - } - if (len) { - stack = stack.slice(0, -1 * len * 2); - vstack = vstack.slice(0, -1 * len); - lstack = lstack.slice(0, -1 * len); - } - stack.push(this.productions_[action[1]][0]); - vstack.push(yyval.$); - lstack.push(yyval._$); - newState = table[stack[stack.length - 2]][stack[stack.length - 1]]; - stack.push(newState); - break; - case 3: - return true; - } - } - return true; -}}; - -/* generated by jison-lex 0.3.4 */ -var lexer = (function(){ -var lexer = ({ - -EOF:1, - -parseError:function parseError(str, hash) { - if (this.yy.parser) { - this.yy.parser.parseError(str, hash); - } else { - throw new Error(str); - } - }, - -// resets the lexer, sets new input -setInput:function (input, yy) { - this.yy = yy || this.yy || {}; - this._input = input; - this._more = this._backtrack = this.done = false; - this.yylineno = this.yyleng = 0; - this.yytext = this.matched = this.match = ''; - this.conditionStack = ['INITIAL']; - this.yylloc = { - first_line: 1, - first_column: 0, - last_line: 1, - last_column: 0 - }; - if (this.options.ranges) { - this.yylloc.range = [0,0]; - } - this.offset = 0; - return this; - }, - -// consumes and returns one char from the input -input:function () { - var ch = this._input[0]; - this.yytext += ch; - this.yyleng++; - this.offset++; - this.match += ch; - this.matched += ch; - var lines = ch.match(/(?:\r\n?|\n).*/g); - if (lines) { - this.yylineno++; - this.yylloc.last_line++; - } else { - this.yylloc.last_column++; - } - if (this.options.ranges) { - this.yylloc.range[1]++; - } - - this._input = this._input.slice(1); - return ch; - }, - -// unshifts one char (or a string) into the input -unput:function (ch) { - var len = ch.length; - var lines = ch.split(/(?:\r\n?|\n)/g); - - this._input = ch + this._input; - this.yytext = this.yytext.substr(0, this.yytext.length - len); - //this.yyleng -= len; - this.offset -= len; - var oldLines = this.match.split(/(?:\r\n?|\n)/g); - this.match = this.match.substr(0, this.match.length - 1); - this.matched = this.matched.substr(0, this.matched.length - 1); - - if (lines.length - 1) { - this.yylineno -= lines.length - 1; - } - var r = this.yylloc.range; - - this.yylloc = { - first_line: this.yylloc.first_line, - last_line: this.yylineno + 1, - first_column: this.yylloc.first_column, - last_column: lines ? - (lines.length === oldLines.length ? this.yylloc.first_column : 0) - + oldLines[oldLines.length - lines.length].length - lines[0].length : - this.yylloc.first_column - len - }; - - if (this.options.ranges) { - this.yylloc.range = [r[0], r[0] + this.yyleng - len]; - } - this.yyleng = this.yytext.length; - return this; - }, - -// When called from action, caches matched text and appends it on next action -more:function () { - this._more = true; - return this; - }, - -// When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead. -reject:function () { - if (this.options.backtrack_lexer) { - this._backtrack = true; - } else { - return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n' + this.showPosition(), { - text: "", - token: null, - line: this.yylineno - }); - - } - return this; - }, - -// retain first n characters of the match -less:function (n) { - this.unput(this.match.slice(n)); - }, - -// displays already matched input, i.e. for error messages -pastInput:function () { - var past = this.matched.substr(0, this.matched.length - this.match.length); - return (past.length > 20 ? '...':'') + past.substr(-20).replace(/\n/g, ""); - }, - -// displays upcoming input, i.e. for error messages -upcomingInput:function () { - var next = this.match; - if (next.length < 20) { - next += this._input.substr(0, 20-next.length); - } - return (next.substr(0,20) + (next.length > 20 ? '...' : '')).replace(/\n/g, ""); - }, - -// displays the character position where the lexing error occurred, i.e. for error messages -showPosition:function () { - var pre = this.pastInput(); - var c = new Array(pre.length + 1).join("-"); - return pre + this.upcomingInput() + "\n" + c + "^"; - }, - -// test the lexed token: return FALSE when not a match, otherwise return token -test_match:function(match, indexed_rule) { - var token, - lines, - backup; - - if (this.options.backtrack_lexer) { - // save context - backup = { - yylineno: this.yylineno, - yylloc: { - first_line: this.yylloc.first_line, - last_line: this.last_line, - first_column: this.yylloc.first_column, - last_column: this.yylloc.last_column - }, - yytext: this.yytext, - match: this.match, - matches: this.matches, - matched: this.matched, - yyleng: this.yyleng, - offset: this.offset, - _more: this._more, - _input: this._input, - yy: this.yy, - conditionStack: this.conditionStack.slice(0), - done: this.done - }; - if (this.options.ranges) { - backup.yylloc.range = this.yylloc.range.slice(0); - } - } - - lines = match[0].match(/(?:\r\n?|\n).*/g); - if (lines) { - this.yylineno += lines.length; - } - this.yylloc = { - first_line: this.yylloc.last_line, - last_line: this.yylineno + 1, - first_column: this.yylloc.last_column, - last_column: lines ? - lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length : - this.yylloc.last_column + match[0].length - }; - this.yytext += match[0]; - this.match += match[0]; - this.matches = match; - this.yyleng = this.yytext.length; - if (this.options.ranges) { - this.yylloc.range = [this.offset, this.offset += this.yyleng]; - } - this._more = false; - this._backtrack = false; - this._input = this._input.slice(match[0].length); - this.matched += match[0]; - token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]); - if (this.done && this._input) { - this.done = false; - } - if (token) { - return token; - } else if (this._backtrack) { - // recover context - for (var k in backup) { - this[k] = backup[k]; - } - return false; // rule action called reject() implying the next rule should be tested instead. - } - return false; - }, - -// return next match in input -next:function () { - if (this.done) { - return this.EOF; - } - if (!this._input) { - this.done = true; - } - - var token, - match, - tempMatch, - index; - if (!this._more) { - this.yytext = ''; - this.match = ''; - } - var rules = this._currentRules(); - for (var i = 0; i < rules.length; i++) { - tempMatch = this._input.match(this.rules[rules[i]]); - if (tempMatch && (!match || tempMatch[0].length > match[0].length)) { - match = tempMatch; - index = i; - if (this.options.backtrack_lexer) { - token = this.test_match(tempMatch, rules[i]); - if (token !== false) { - return token; - } else if (this._backtrack) { - match = false; - continue; // rule action called reject() implying a rule MISmatch. - } else { - // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) - return false; - } - } else if (!this.options.flex) { - break; - } - } - } - if (match) { - token = this.test_match(match, rules[index]); - if (token !== false) { - return token; - } - // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) - return false; - } - if (this._input === "") { - return this.EOF; - } else { - return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\n' + this.showPosition(), { - text: "", - token: null, - line: this.yylineno - }); - } - }, - -// return next match that has a token -lex:function lex () { - var r = this.next(); - if (r) { - return r; - } else { - return this.lex(); - } - }, - -// activates a new lexer condition state (pushes the new lexer condition state onto the condition stack) -begin:function begin (condition) { - this.conditionStack.push(condition); - }, - -// pop the previously active lexer condition state off the condition stack -popState:function popState () { - var n = this.conditionStack.length - 1; - if (n > 0) { - return this.conditionStack.pop(); - } else { - return this.conditionStack[0]; - } - }, - -// produce the lexer rule set which is active for the currently active lexer condition state -_currentRules:function _currentRules () { - if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) { - return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules; - } else { - return this.conditions["INITIAL"].rules; - } - }, - -// return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available -topState:function topState (n) { - n = this.conditionStack.length - 1 - Math.abs(n || 0); - if (n >= 0) { - return this.conditionStack[n]; - } else { - return "INITIAL"; - } - }, - -// alias for begin(condition) -pushState:function pushState (condition) { - this.begin(condition); - }, - -// return the number of states currently on the stack -stateStackSize:function stateStackSize() { - return this.conditionStack.length; - }, -options: {"case-insensitive":true}, -performAction: function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) { -var YYSTATE=YY_START; -switch($avoiding_name_collisions) { -case 0: this.begin('open_directive'); return 67; -break; -case 1: this.begin('type_directive'); return 68; -break; -case 2: this.popState(); this.begin('arg_directive'); return 14; -break; -case 3: this.popState(); this.popState(); return 70; -break; -case 4:return 69; -break; -case 5:return 5; -break; -case 6:/* skip all whitespace */ -break; -case 7:/* skip same-line whitespace */ -break; -case 8:/* skip comments */ -break; -case 9:/* skip comments */ -break; -case 10:/* skip comments */ -break; -case 11: this.begin('ID'); return 16; -break; -case 12: this.begin('ID'); return 20; -break; -case 13: yy_.yytext = yy_.yytext.trim(); this.begin('ALIAS'); return 57; -break; -case 14: this.popState(); this.popState(); this.begin('LINE'); return 18; -break; -case 15: this.popState(); this.popState(); return 5; -break; -case 16: this.begin('LINE'); return 32; -break; -case 17: this.begin('LINE'); return 34; -break; -case 18: this.begin('LINE'); return 35; -break; -case 19: this.begin('LINE'); return 36; -break; -case 20: this.begin('LINE'); return 41; -break; -case 21: this.begin('LINE'); return 38; -break; -case 22: this.begin('LINE'); return 40; -break; -case 23: this.popState(); return 19; -break; -case 24:return 33; -break; -case 25:return 52; -break; -case 26:return 53; -break; -case 27:return 46; -break; -case 28:return 47; -break; -case 29:return 48; -break; -case 30:return 49; -break; -case 31:return 44; -break; -case 32:return 42; -break; -case 33: this.begin('ID'); return 23; -break; -case 34: this.begin('ID'); return 24; -break; -case 35:return 30; -break; -case 36:return 7; -break; -case 37:return 22; -break; -case 38:return 51; -break; -case 39:return 5; -break; -case 40: yy_.yytext = yy_.yytext.trim(); return 57; -break; -case 41:return 60; -break; -case 42:return 61; -break; -case 43:return 58; -break; -case 44:return 59; -break; -case 45:return 62; -break; -case 46:return 63; -break; -case 47:return 64; -break; -case 48:return 65; -break; -case 49:return 66; -break; -case 50:return 55; -break; -case 51:return 56; -break; -case 52:return 5; -break; -case 53:return 'INVALID'; -break; -} -}, -rules: [/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:participant\b)/i,/^(?:actor\b)/i,/^(?:[^\->:\n,;]+?(?=((?!\n)\s)+as(?!\n)\s|[#\n;]|$))/i,/^(?:as\b)/i,/^(?:(?:))/i,/^(?:loop\b)/i,/^(?:rect\b)/i,/^(?:opt\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:par\b)/i,/^(?:and\b)/i,/^(?:(?:[:]?(?:no)?wrap)?[^#\n;]*)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:links\b)/i,/^(?:link\b)/i,/^(?:properties\b)/i,/^(?:details\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:activate\b)/i,/^(?:deactivate\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:autonumber\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\+\->:\n,;]+((?!(-x|--x|-\)|--\)))[\-]*[^\+\->:\n,;]+)*)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?:-[\)])/i,/^(?:--[\)])/i,/^(?::(?:(?:no)?wrap)?[^#\n;]+)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:$)/i,/^(?:.)/i], -conditions: {"open_directive":{"rules":[1,8],"inclusive":false},"type_directive":{"rules":[2,3,8],"inclusive":false},"arg_directive":{"rules":[3,4,8],"inclusive":false},"ID":{"rules":[7,8,13],"inclusive":false},"ALIAS":{"rules":[7,8,14,15],"inclusive":false},"LINE":{"rules":[7,8,23],"inclusive":false},"INITIAL":{"rules":[0,5,6,8,9,10,11,12,16,17,18,19,20,21,22,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53],"inclusive":true}} -}); -return lexer; -})(); -parser.lexer = lexer; -function Parser () { - this.yy = {}; -} -Parser.prototype = parser;parser.Parser = Parser; -return new Parser; -})(); - - -if (true) { -exports.parser = parser; -exports.Parser = parser.Parser; -exports.parse = function () { return parser.parse.apply(parser, arguments); }; -exports.main = function commonjsMain (args) { - if (!args[1]) { - console.log('Usage: '+args[0]+' FILE'); - process.exit(1); - } - var source = __webpack_require__(/*! fs */ "./node_modules/node-libs-browser/mock/empty.js").readFileSync(__webpack_require__(/*! path */ "./node_modules/path-browserify/index.js").normalize(args[1]), "utf8"); - return exports.parser.parse(source); -}; -if ( true && __webpack_require__.c[__webpack_require__.s] === module) { - exports.main(process.argv.slice(1)); -} -} -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../../node_modules/process/browser.js */ "./node_modules/process/browser.js"), __webpack_require__(/*! ./../../../../node_modules/webpack/buildin/module.js */ "./node_modules/webpack/buildin/module.js")(module))) +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (getStyles); /***/ }), @@ -19369,41 +20327,43 @@ if ( true && __webpack_require__.c[__webpack_require__.s] === module) { /*!*********************************************!*\ !*** ./src/diagrams/sequence/sequenceDb.js ***! \*********************************************/ -/*! exports provided: parseDirective, addActor, addMessage, addSignal, getMessages, getActors, getActor, getActorKeys, getTitle, getTitleWrapped, enableSequenceNumbers, showSequenceNumbers, setWrap, autoWrap, clear, parseMessage, LINETYPE, ARROWTYPE, PLACEMENT, addNote, addLinks, addALink, addProperties, addDetails, getActorProperty, setTitle, apply, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "parseDirective", function() { return parseDirective; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "addActor", function() { return addActor; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "addMessage", function() { return addMessage; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "addSignal", function() { return addSignal; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getMessages", function() { return getMessages; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getActors", function() { return getActors; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getActor", function() { return getActor; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getActorKeys", function() { return getActorKeys; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getTitle", function() { return getTitle; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getTitleWrapped", function() { return getTitleWrapped; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "enableSequenceNumbers", function() { return enableSequenceNumbers; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "showSequenceNumbers", function() { return showSequenceNumbers; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setWrap", function() { return setWrap; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "autoWrap", function() { return autoWrap; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "clear", function() { return clear; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "parseMessage", function() { return parseMessage; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "LINETYPE", function() { return LINETYPE; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ARROWTYPE", function() { return ARROWTYPE; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PLACEMENT", function() { return PLACEMENT; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "addNote", function() { return addNote; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "addLinks", function() { return addLinks; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "addALink", function() { return addALink; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "addProperties", function() { return addProperties; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "addDetails", function() { return addDetails; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getActorProperty", function() { return getActorProperty; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setTitle", function() { return setTitle; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "apply", function() { return apply; }); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "parseDirective": () => (/* binding */ parseDirective), +/* harmony export */ "addActor": () => (/* binding */ addActor), +/* harmony export */ "addMessage": () => (/* binding */ addMessage), +/* harmony export */ "addSignal": () => (/* binding */ addSignal), +/* harmony export */ "getMessages": () => (/* binding */ getMessages), +/* harmony export */ "getActors": () => (/* binding */ getActors), +/* harmony export */ "getActor": () => (/* binding */ getActor), +/* harmony export */ "getActorKeys": () => (/* binding */ getActorKeys), +/* harmony export */ "getTitle": () => (/* binding */ getTitle), +/* harmony export */ "getTitleWrapped": () => (/* binding */ getTitleWrapped), +/* harmony export */ "enableSequenceNumbers": () => (/* binding */ enableSequenceNumbers), +/* harmony export */ "showSequenceNumbers": () => (/* binding */ showSequenceNumbers), +/* harmony export */ "setWrap": () => (/* binding */ setWrap), +/* harmony export */ "autoWrap": () => (/* binding */ autoWrap), +/* harmony export */ "clear": () => (/* binding */ clear), +/* harmony export */ "parseMessage": () => (/* binding */ parseMessage), +/* harmony export */ "LINETYPE": () => (/* binding */ LINETYPE), +/* harmony export */ "ARROWTYPE": () => (/* binding */ ARROWTYPE), +/* harmony export */ "PLACEMENT": () => (/* binding */ PLACEMENT), +/* harmony export */ "addNote": () => (/* binding */ addNote), +/* harmony export */ "addLinks": () => (/* binding */ addLinks), +/* harmony export */ "addALink": () => (/* binding */ addALink), +/* harmony export */ "addProperties": () => (/* binding */ addProperties), +/* harmony export */ "addDetails": () => (/* binding */ addDetails), +/* harmony export */ "getActorProperty": () => (/* binding */ getActorProperty), +/* harmony export */ "setTitle": () => (/* binding */ setTitle), +/* harmony export */ "apply": () => (/* binding */ apply), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); /* harmony import */ var _mermaidAPI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../mermaidAPI */ "./src/mermaidAPI.js"); -/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../config */ "./src/config.js"); -/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../logger */ "./src/logger.js"); +/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../config */ "./src/config.js"); +/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../logger */ "./src/logger.js"); @@ -19567,7 +20527,7 @@ var parseMessage = function parseMessage(str) { text: _str.replace(/^[:]?(?:no)?wrap:/, '').trim(), wrap: _str.match(/^[:]?wrap:/) !== null ? true : _str.match(/^[:]?nowrap:/) !== null ? false : undefined }; - _logger__WEBPACK_IMPORTED_MODULE_2__["log"].debug('parseMessage:', message); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.debug('parseMessage:', message); return message; }; var LINETYPE = { @@ -19632,7 +20592,7 @@ var addLinks = function addLinks(actorId, text) { insertLinks(actor, links); } catch (e) { - _logger__WEBPACK_IMPORTED_MODULE_2__["log"].error('error while parsing actor link text', e); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.error('error while parsing actor link text', e); } }; var addALink = function addALink(actorId, text) { @@ -19648,7 +20608,7 @@ var addALink = function addALink(actorId, text) { insertLinks(actor, links); } catch (e) { - _logger__WEBPACK_IMPORTED_MODULE_2__["log"].error('error while parsing actor link text', e); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.error('error while parsing actor link text', e); } }; @@ -19671,7 +20631,7 @@ var addProperties = function addProperties(actorId, text) { insertProperties(actor, properties); } catch (e) { - _logger__WEBPACK_IMPORTED_MODULE_2__["log"].error('error while parsing actor properties text', e); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.error('error while parsing actor properties text', e); } }; @@ -19702,7 +20662,7 @@ var addDetails = function addDetails(actorId, text) { insertLinks(actor, details['links']); } } catch (e) { - _logger__WEBPACK_IMPORTED_MODULE_2__["log"].error('error while parsing actor details text', e); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.error('error while parsing actor details text', e); } }; var getActorProperty = function getActorProperty(actor, key) { @@ -19817,7 +20777,7 @@ var apply = function apply(param) { } } }; -/* harmony default export */ __webpack_exports__["default"] = ({ +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ addActor: addActor, addMessage: addMessage, addSignal: addSignal, @@ -19836,7 +20796,7 @@ var apply = function apply(param) { getTitle: getTitle, parseDirective: parseDirective, getConfig: function getConfig() { - return _config__WEBPACK_IMPORTED_MODULE_1__["getConfig"]().sequence; + return _config__WEBPACK_IMPORTED_MODULE_2__.getConfig().sequence; }, getTitleWrapped: getTitleWrapped, clear: clear, @@ -19855,26 +20815,28 @@ var apply = function apply(param) { /*!***************************************************!*\ !*** ./src/diagrams/sequence/sequenceRenderer.js ***! \***************************************************/ -/*! exports provided: bounds, drawActors, drawActorsPopup, setConf, draw, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "bounds", function() { return bounds; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "drawActors", function() { return drawActors; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "drawActorsPopup", function() { return drawActorsPopup; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setConf", function() { return setConf; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "draw", function() { return draw; }); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "bounds": () => (/* binding */ bounds), +/* harmony export */ "drawActors": () => (/* binding */ drawActors), +/* harmony export */ "drawActorsPopup": () => (/* binding */ drawActorsPopup), +/* harmony export */ "setConf": () => (/* binding */ setConf), +/* harmony export */ "draw": () => (/* binding */ draw), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); /* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3 */ "d3"); /* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(d3__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var _svgDraw__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./svgDraw */ "./src/diagrams/sequence/svgDraw.js"); -/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../logger */ "./src/logger.js"); -/* harmony import */ var _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./parser/sequenceDiagram */ "./src/diagrams/sequence/parser/sequenceDiagram.jison"); -/* harmony import */ var _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _svgDraw__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./svgDraw */ "./src/diagrams/sequence/svgDraw.js"); +/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../logger */ "./src/logger.js"); +/* harmony import */ var _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./parser/sequenceDiagram */ "./src/diagrams/sequence/parser/sequenceDiagram.jison"); +/* harmony import */ var _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _common_common__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../common/common */ "./src/diagrams/common/common.js"); -/* harmony import */ var _sequenceDb__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./sequenceDb */ "./src/diagrams/sequence/sequenceDb.js"); -/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../config */ "./src/config.js"); -/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../utils */ "./src/utils.js"); +/* harmony import */ var _sequenceDb__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./sequenceDb */ "./src/diagrams/sequence/sequenceDb.js"); +/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../config */ "./src/config.js"); +/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../utils */ "./src/utils.js"); @@ -19883,7 +20845,7 @@ __webpack_require__.r(__webpack_exports__); -_parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__["parser"].yy = _sequenceDb__WEBPACK_IMPORTED_MODULE_5__["default"]; +_parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__.parser.yy = _sequenceDb__WEBPACK_IMPORTED_MODULE_2__["default"]; var conf = {}; var bounds = { data: { @@ -19959,7 +20921,7 @@ var bounds = { stopy: undefined }; this.verticalPos = 0; - setConf(_parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__["parser"].yy.getConfig()); + setConf(_parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__.parser.yy.getConfig()); }, updateVal: function updateVal(obj, key, val, fun) { if (typeof obj[key] === 'undefined') { @@ -20027,7 +20989,7 @@ var bounds = { stopx: x + conf.activationWidth, stopy: undefined, actor: message.from.actor, - anchored: _svgDraw__WEBPACK_IMPORTED_MODULE_1__["default"].anchorElement(diagram) + anchored: _svgDraw__WEBPACK_IMPORTED_MODULE_3__["default"].anchorElement(diagram) }); }, endActivation: function endActivation(message) { @@ -20103,14 +21065,14 @@ var drawNote = function drawNote(elem, noteModel) { bounds.bumpVerticalPos(conf.boxMargin); noteModel.height = conf.boxMargin; noteModel.starty = bounds.getVerticalPos(); - var rect = _svgDraw__WEBPACK_IMPORTED_MODULE_1__["default"].getNoteRect(); + var rect = _svgDraw__WEBPACK_IMPORTED_MODULE_3__["default"].getNoteRect(); rect.x = noteModel.startx; rect.y = noteModel.starty; rect.width = noteModel.width || conf.width; rect.class = 'note'; var g = elem.append('g'); - var rectElem = _svgDraw__WEBPACK_IMPORTED_MODULE_1__["default"].drawRect(g, rect); - var textObj = _svgDraw__WEBPACK_IMPORTED_MODULE_1__["default"].getTextObj(); + var rectElem = _svgDraw__WEBPACK_IMPORTED_MODULE_3__["default"].drawRect(g, rect); + var textObj = _svgDraw__WEBPACK_IMPORTED_MODULE_3__["default"].getTextObj(); textObj.x = noteModel.startx; textObj.y = noteModel.starty; textObj.width = rect.width; @@ -20123,7 +21085,7 @@ var drawNote = function drawNote(elem, noteModel) { textObj.anchor = conf.noteAlign; textObj.textMargin = conf.noteMargin; textObj.valign = conf.noteAlign; - var textElem = Object(_svgDraw__WEBPACK_IMPORTED_MODULE_1__["drawText"])(g, textObj); + var textElem = (0,_svgDraw__WEBPACK_IMPORTED_MODULE_3__.drawText)(g, textObj); var textHeight = Math.round(textElem.map(function (te) { return (te._groups || te)[0][0].getBBox().height; }).reduce(function (acc, curr) { @@ -20177,11 +21139,11 @@ var drawMessage = function drawMessage(g, msgModel) { type = msgModel.type, sequenceIndex = msgModel.sequenceIndex; var lines = _common_common__WEBPACK_IMPORTED_MODULE_4__["default"].splitBreaks(message).length; - var textDims = _utils__WEBPACK_IMPORTED_MODULE_7__["default"].calculateTextDimensions(message, messageFont(conf)); + var textDims = _utils__WEBPACK_IMPORTED_MODULE_5__["default"].calculateTextDimensions(message, messageFont(conf)); var lineHeight = textDims.height / lines; msgModel.height += lineHeight; bounds.bumpVerticalPos(lineHeight); - var textObj = _svgDraw__WEBPACK_IMPORTED_MODULE_1__["default"].getTextObj(); + var textObj = _svgDraw__WEBPACK_IMPORTED_MODULE_3__["default"].getTextObj(); textObj.x = startx; textObj.y = starty + 10; textObj.width = stopx - startx; @@ -20195,7 +21157,7 @@ var drawMessage = function drawMessage(g, msgModel) { textObj.valign = conf.messageAlign; textObj.textMargin = conf.wrapPadding; textObj.tspan = false; - Object(_svgDraw__WEBPACK_IMPORTED_MODULE_1__["drawText"])(g, textObj); + (0,_svgDraw__WEBPACK_IMPORTED_MODULE_3__.drawText)(g, textObj); var totalOffset = textDims.height - 10; var textWidth = textDims.width; var line, lineStarty; @@ -20227,7 +21189,7 @@ var drawMessage = function drawMessage(g, msgModel) { // Draw the line - if (type === _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__["parser"].yy.LINETYPE.DOTTED || type === _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__["parser"].yy.LINETYPE.DOTTED_CROSS || type === _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__["parser"].yy.LINETYPE.DOTTED_POINT || type === _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__["parser"].yy.LINETYPE.DOTTED_OPEN) { + if (type === _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__.parser.yy.LINETYPE.DOTTED || type === _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__.parser.yy.LINETYPE.DOTTED_CROSS || type === _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__.parser.yy.LINETYPE.DOTTED_POINT || type === _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__.parser.yy.LINETYPE.DOTTED_OPEN) { line.style('stroke-dasharray', '3, 3'); line.attr('class', 'messageLine1'); } else { @@ -20247,20 +21209,20 @@ var drawMessage = function drawMessage(g, msgModel) { line.style('fill', 'none'); // remove any fill colour - if (type === _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__["parser"].yy.LINETYPE.SOLID || type === _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__["parser"].yy.LINETYPE.DOTTED) { + if (type === _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__.parser.yy.LINETYPE.SOLID || type === _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__.parser.yy.LINETYPE.DOTTED) { line.attr('marker-end', 'url(' + url + '#arrowhead)'); } - if (type === _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__["parser"].yy.LINETYPE.SOLID_POINT || type === _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__["parser"].yy.LINETYPE.DOTTED_POINT) { + if (type === _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__.parser.yy.LINETYPE.SOLID_POINT || type === _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__.parser.yy.LINETYPE.DOTTED_POINT) { line.attr('marker-end', 'url(' + url + '#filled-head)'); } - if (type === _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__["parser"].yy.LINETYPE.SOLID_CROSS || type === _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__["parser"].yy.LINETYPE.DOTTED_CROSS) { + if (type === _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__.parser.yy.LINETYPE.SOLID_CROSS || type === _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__.parser.yy.LINETYPE.DOTTED_CROSS) { line.attr('marker-end', 'url(' + url + '#crosshead)'); } // add node number - if (_sequenceDb__WEBPACK_IMPORTED_MODULE_5__["default"].showSequenceNumbers() || conf.showSequenceNumbers) { + if (_sequenceDb__WEBPACK_IMPORTED_MODULE_2__["default"].showSequenceNumbers() || conf.showSequenceNumbers) { line.attr('marker-start', 'url(' + url + '#sequencenumber)'); g.append('text').attr('x', startx).attr('y', lineStarty + 4).attr('font-family', 'sans-serif').attr('font-size', '12px').attr('text-anchor', 'middle').attr('textLength', '16px').attr('class', 'sequenceNumber').text(sequenceIndex); } @@ -20286,7 +21248,7 @@ var drawActors = function drawActors(diagram, actors, actorKeys, verticalPos) { actor.x = prevWidth + prevMargin; actor.y = verticalPos; // Draw the box with the attached line - var height = _svgDraw__WEBPACK_IMPORTED_MODULE_1__["default"].drawActor(diagram, actor, conf); + var height = _svgDraw__WEBPACK_IMPORTED_MODULE_3__["default"].drawActor(diagram, actor, conf); maxHeight = Math.max(maxHeight, height); bounds.insert(actor.x, verticalPos, actor.x + actor.width, actor.height); prevWidth += actor.width; @@ -20304,7 +21266,7 @@ var drawActorsPopup = function drawActorsPopup(diagram, actors, actorKeys) { for (var i = 0; i < actorKeys.length; i++) { var actor = actors[actorKeys[i]]; var minMenuWidth = getRequiredPopupWidth(actor); - var menuDimensions = _svgDraw__WEBPACK_IMPORTED_MODULE_1__["default"].drawPopup(diagram, actor, minMenuWidth, conf, conf.forceMenus); + var menuDimensions = _svgDraw__WEBPACK_IMPORTED_MODULE_3__["default"].drawPopup(diagram, actor, minMenuWidth, conf, conf.forceMenus); if (menuDimensions.height > maxHeight) { maxHeight = menuDimensions.height; @@ -20321,7 +21283,7 @@ var drawActorsPopup = function drawActorsPopup(diagram, actors, actorKeys) { }; }; var setConf = function setConf(cnf) { - Object(_utils__WEBPACK_IMPORTED_MODULE_7__["assignWithDepth"])(conf, cnf); + (0,_utils__WEBPACK_IMPORTED_MODULE_5__.assignWithDepth)(conf, cnf); if (cnf.fontFamily) { conf.actorFontFamily = conf.noteFontFamily = conf.messageFontFamily = cnf.fontFamily; @@ -20362,14 +21324,14 @@ function adjustLoopHeightForWrap(loopWidths, msg, preMargin, postMargin, addLoop if (msg.id && msg.message && loopWidths[msg.id]) { var loopWidth = loopWidths[msg.id].width; var textConf = messageFont(conf); - msg.message = _utils__WEBPACK_IMPORTED_MODULE_7__["default"].wrapLabel("[".concat(msg.message, "]"), loopWidth - 2 * conf.wrapPadding, textConf); + msg.message = _utils__WEBPACK_IMPORTED_MODULE_5__["default"].wrapLabel("[".concat(msg.message, "]"), loopWidth - 2 * conf.wrapPadding, textConf); msg.width = loopWidth; msg.wrap = true; // const lines = common.splitBreaks(msg.message).length; - var textDims = _utils__WEBPACK_IMPORTED_MODULE_7__["default"].calculateTextDimensions(msg.message, textConf); + var textDims = _utils__WEBPACK_IMPORTED_MODULE_5__["default"].calculateTextDimensions(msg.message, textConf); var totalOffset = Math.max(textDims.height, conf.labelBoxHeight); heightAdjust = postMargin + totalOffset; - _logger__WEBPACK_IMPORTED_MODULE_2__["log"].debug("".concat(totalOffset, " - ").concat(msg.message)); + _logger__WEBPACK_IMPORTED_MODULE_6__.log.debug("".concat(totalOffset, " - ").concat(msg.message)); } addLoopFn(msg); @@ -20383,30 +21345,30 @@ function adjustLoopHeightForWrap(loopWidths, msg, preMargin, postMargin, addLoop var draw = function draw(text, id) { - conf = _config__WEBPACK_IMPORTED_MODULE_6__["getConfig"]().sequence; - _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__["parser"].yy.clear(); - _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__["parser"].yy.setWrap(conf.wrap); - _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__["parser"].parse(text + '\n'); + conf = _config__WEBPACK_IMPORTED_MODULE_7__.getConfig().sequence; + _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__.parser.yy.clear(); + _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__.parser.yy.setWrap(conf.wrap); + _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__.parser.parse(text + '\n'); bounds.init(); - _logger__WEBPACK_IMPORTED_MODULE_2__["log"].debug("C:".concat(JSON.stringify(conf, null, 2))); - var diagram = Object(d3__WEBPACK_IMPORTED_MODULE_0__["select"])("[id=\"".concat(id, "\"]")); // Fetch data from the parsing + _logger__WEBPACK_IMPORTED_MODULE_6__.log.debug("C:".concat(JSON.stringify(conf, null, 2))); + var diagram = (0,d3__WEBPACK_IMPORTED_MODULE_0__.select)("[id=\"".concat(id, "\"]")); // Fetch data from the parsing - var actors = _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__["parser"].yy.getActors(); - var actorKeys = _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__["parser"].yy.getActorKeys(); - var messages = _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__["parser"].yy.getMessages(); - var title = _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__["parser"].yy.getTitle(); + var actors = _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__.parser.yy.getActors(); + var actorKeys = _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__.parser.yy.getActorKeys(); + var messages = _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__.parser.yy.getMessages(); + var title = _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__.parser.yy.getTitle(); var maxMessageWidthPerActor = getMaxMessageWidthPerActor(actors, messages); conf.height = calculateActorMargins(actors, maxMessageWidthPerActor); - _svgDraw__WEBPACK_IMPORTED_MODULE_1__["default"].insertComputerIcon(diagram); - _svgDraw__WEBPACK_IMPORTED_MODULE_1__["default"].insertDatabaseIcon(diagram); - _svgDraw__WEBPACK_IMPORTED_MODULE_1__["default"].insertClockIcon(diagram); + _svgDraw__WEBPACK_IMPORTED_MODULE_3__["default"].insertComputerIcon(diagram); + _svgDraw__WEBPACK_IMPORTED_MODULE_3__["default"].insertDatabaseIcon(diagram); + _svgDraw__WEBPACK_IMPORTED_MODULE_3__["default"].insertClockIcon(diagram); drawActors(diagram, actors, actorKeys, 0); var loopWidths = calculateLoopBounds(messages, actors, maxMessageWidthPerActor); // The arrow head definition is attached to the svg once - _svgDraw__WEBPACK_IMPORTED_MODULE_1__["default"].insertArrowHead(diagram); - _svgDraw__WEBPACK_IMPORTED_MODULE_1__["default"].insertArrowCrossHead(diagram); - _svgDraw__WEBPACK_IMPORTED_MODULE_1__["default"].insertArrowFilledHead(diagram); - _svgDraw__WEBPACK_IMPORTED_MODULE_1__["default"].insertSequenceNumber(diagram); + _svgDraw__WEBPACK_IMPORTED_MODULE_3__["default"].insertArrowHead(diagram); + _svgDraw__WEBPACK_IMPORTED_MODULE_3__["default"].insertArrowCrossHead(diagram); + _svgDraw__WEBPACK_IMPORTED_MODULE_3__["default"].insertArrowFilledHead(diagram); + _svgDraw__WEBPACK_IMPORTED_MODULE_3__["default"].insertSequenceNumber(diagram); function activeEnd(msg, verticalPos) { var activationData = bounds.endActivation(msg); @@ -20416,7 +21378,7 @@ var draw = function draw(text, id) { verticalPos += 12; } - _svgDraw__WEBPACK_IMPORTED_MODULE_1__["default"].drawActivation(diagram, activationData, verticalPos, conf, actorActivations(msg.from.actor).length); + _svgDraw__WEBPACK_IMPORTED_MODULE_3__["default"].drawActivation(diagram, activationData, verticalPos, conf, actorActivations(msg.from.actor).length); bounds.insert(activationData.startx, verticalPos - 10, activationData.stopx, verticalPos); } // Draw the messages/signals @@ -20426,92 +21388,92 @@ var draw = function draw(text, id) { var loopModel, noteModel, msgModel; switch (msg.type) { - case _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__["parser"].yy.LINETYPE.NOTE: + case _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__.parser.yy.LINETYPE.NOTE: noteModel = msg.noteModel; drawNote(diagram, noteModel); break; - case _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__["parser"].yy.LINETYPE.ACTIVE_START: + case _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__.parser.yy.LINETYPE.ACTIVE_START: bounds.newActivation(msg, diagram, actors); break; - case _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__["parser"].yy.LINETYPE.ACTIVE_END: + case _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__.parser.yy.LINETYPE.ACTIVE_END: activeEnd(msg, bounds.getVerticalPos()); break; - case _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__["parser"].yy.LINETYPE.LOOP_START: + case _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__.parser.yy.LINETYPE.LOOP_START: adjustLoopHeightForWrap(loopWidths, msg, conf.boxMargin, conf.boxMargin + conf.boxTextMargin, function (message) { return bounds.newLoop(message); }); break; - case _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__["parser"].yy.LINETYPE.LOOP_END: + case _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__.parser.yy.LINETYPE.LOOP_END: loopModel = bounds.endLoop(); - _svgDraw__WEBPACK_IMPORTED_MODULE_1__["default"].drawLoop(diagram, loopModel, 'loop', conf); + _svgDraw__WEBPACK_IMPORTED_MODULE_3__["default"].drawLoop(diagram, loopModel, 'loop', conf); bounds.bumpVerticalPos(loopModel.stopy - bounds.getVerticalPos()); bounds.models.addLoop(loopModel); break; - case _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__["parser"].yy.LINETYPE.RECT_START: + case _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__.parser.yy.LINETYPE.RECT_START: adjustLoopHeightForWrap(loopWidths, msg, conf.boxMargin, conf.boxMargin, function (message) { return bounds.newLoop(undefined, message.message); }); break; - case _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__["parser"].yy.LINETYPE.RECT_END: + case _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__.parser.yy.LINETYPE.RECT_END: loopModel = bounds.endLoop(); - _svgDraw__WEBPACK_IMPORTED_MODULE_1__["default"].drawBackgroundRect(diagram, loopModel); + _svgDraw__WEBPACK_IMPORTED_MODULE_3__["default"].drawBackgroundRect(diagram, loopModel); bounds.models.addLoop(loopModel); bounds.bumpVerticalPos(loopModel.stopy - bounds.getVerticalPos()); break; - case _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__["parser"].yy.LINETYPE.OPT_START: + case _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__.parser.yy.LINETYPE.OPT_START: adjustLoopHeightForWrap(loopWidths, msg, conf.boxMargin, conf.boxMargin + conf.boxTextMargin, function (message) { return bounds.newLoop(message); }); break; - case _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__["parser"].yy.LINETYPE.OPT_END: + case _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__.parser.yy.LINETYPE.OPT_END: loopModel = bounds.endLoop(); - _svgDraw__WEBPACK_IMPORTED_MODULE_1__["default"].drawLoop(diagram, loopModel, 'opt', conf); + _svgDraw__WEBPACK_IMPORTED_MODULE_3__["default"].drawLoop(diagram, loopModel, 'opt', conf); bounds.bumpVerticalPos(loopModel.stopy - bounds.getVerticalPos()); bounds.models.addLoop(loopModel); break; - case _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__["parser"].yy.LINETYPE.ALT_START: + case _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__.parser.yy.LINETYPE.ALT_START: adjustLoopHeightForWrap(loopWidths, msg, conf.boxMargin, conf.boxMargin + conf.boxTextMargin, function (message) { return bounds.newLoop(message); }); break; - case _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__["parser"].yy.LINETYPE.ALT_ELSE: + case _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__.parser.yy.LINETYPE.ALT_ELSE: adjustLoopHeightForWrap(loopWidths, msg, conf.boxMargin + conf.boxTextMargin, conf.boxMargin, function (message) { return bounds.addSectionToLoop(message); }); break; - case _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__["parser"].yy.LINETYPE.ALT_END: + case _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__.parser.yy.LINETYPE.ALT_END: loopModel = bounds.endLoop(); - _svgDraw__WEBPACK_IMPORTED_MODULE_1__["default"].drawLoop(diagram, loopModel, 'alt', conf); + _svgDraw__WEBPACK_IMPORTED_MODULE_3__["default"].drawLoop(diagram, loopModel, 'alt', conf); bounds.bumpVerticalPos(loopModel.stopy - bounds.getVerticalPos()); bounds.models.addLoop(loopModel); break; - case _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__["parser"].yy.LINETYPE.PAR_START: + case _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__.parser.yy.LINETYPE.PAR_START: adjustLoopHeightForWrap(loopWidths, msg, conf.boxMargin, conf.boxMargin + conf.boxTextMargin, function (message) { return bounds.newLoop(message); }); break; - case _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__["parser"].yy.LINETYPE.PAR_AND: + case _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__.parser.yy.LINETYPE.PAR_AND: adjustLoopHeightForWrap(loopWidths, msg, conf.boxMargin + conf.boxTextMargin, conf.boxMargin, function (message) { return bounds.addSectionToLoop(message); }); break; - case _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__["parser"].yy.LINETYPE.PAR_END: + case _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__.parser.yy.LINETYPE.PAR_END: loopModel = bounds.endLoop(); - _svgDraw__WEBPACK_IMPORTED_MODULE_1__["default"].drawLoop(diagram, loopModel, 'par', conf); + _svgDraw__WEBPACK_IMPORTED_MODULE_3__["default"].drawLoop(diagram, loopModel, 'par', conf); bounds.bumpVerticalPos(loopModel.stopy - bounds.getVerticalPos()); bounds.models.addLoop(loopModel); break; @@ -20525,13 +21487,13 @@ var draw = function draw(text, id) { drawMessage(diagram, msgModel); bounds.models.addMessage(msgModel); } catch (e) { - _logger__WEBPACK_IMPORTED_MODULE_2__["log"].error('error while drawing message', e); + _logger__WEBPACK_IMPORTED_MODULE_6__.log.error('error while drawing message', e); } } // Increment sequence counter if msg.type is a line (and not another event like activation or note, etc) - if ([_parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__["parser"].yy.LINETYPE.SOLID_OPEN, _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__["parser"].yy.LINETYPE.DOTTED_OPEN, _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__["parser"].yy.LINETYPE.SOLID, _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__["parser"].yy.LINETYPE.DOTTED, _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__["parser"].yy.LINETYPE.SOLID_CROSS, _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__["parser"].yy.LINETYPE.DOTTED_CROSS, _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__["parser"].yy.LINETYPE.SOLID_POINT, _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__["parser"].yy.LINETYPE.DOTTED_POINT].includes(msg.type)) { + if ([_parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__.parser.yy.LINETYPE.SOLID_OPEN, _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__.parser.yy.LINETYPE.DOTTED_OPEN, _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__.parser.yy.LINETYPE.SOLID, _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__.parser.yy.LINETYPE.DOTTED, _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__.parser.yy.LINETYPE.SOLID_CROSS, _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__.parser.yy.LINETYPE.DOTTED_CROSS, _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__.parser.yy.LINETYPE.SOLID_POINT, _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__.parser.yy.LINETYPE.DOTTED_POINT].includes(msg.type)) { sequenceIndex++; } }); @@ -20541,7 +21503,7 @@ var draw = function draw(text, id) { bounds.bumpVerticalPos(conf.boxMargin * 2); drawActors(diagram, actors, actorKeys, bounds.getVerticalPos()); bounds.bumpVerticalPos(conf.boxMargin); - Object(_svgDraw__WEBPACK_IMPORTED_MODULE_1__["fixLifeLineHeights"])(diagram, bounds.getVerticalPos()); + (0,_svgDraw__WEBPACK_IMPORTED_MODULE_3__.fixLifeLineHeights)(diagram, bounds.getVerticalPos()); } // only draw popups for the top row of actors. @@ -20551,8 +21513,8 @@ var draw = function draw(text, id) { box = _bounds$getBounds.bounds; // Adjust line height of actor lines now that the height of the diagram is known - _logger__WEBPACK_IMPORTED_MODULE_2__["log"].debug('For line height fix Querying: #' + id + ' .actor-line'); - var actorLines = Object(d3__WEBPACK_IMPORTED_MODULE_0__["selectAll"])('#' + id + ' .actor-line'); + _logger__WEBPACK_IMPORTED_MODULE_6__.log.debug('For line height fix Querying: #' + id + ' .actor-line'); + var actorLines = (0,d3__WEBPACK_IMPORTED_MODULE_0__.selectAll)('#' + id + ' .actor-line'); actorLines.attr('y2', box.stopy); // Make sure the height of the diagram supports long menus. var boxHeight = box.stopy - box.starty; @@ -20580,10 +21542,10 @@ var draw = function draw(text, id) { diagram.append('text').text(title).attr('x', (box.stopx - box.startx) / 2 - 2 * conf.diagramMarginX).attr('y', -25); } - Object(_utils__WEBPACK_IMPORTED_MODULE_7__["configureSvgSize"])(diagram, height, width, conf.useMaxWidth); + (0,_utils__WEBPACK_IMPORTED_MODULE_5__.configureSvgSize)(diagram, height, width, conf.useMaxWidth); var extraVertForTitle = title ? 40 : 0; diagram.attr('viewBox', box.startx - conf.diagramMarginX + ' -' + (conf.diagramMarginY + extraVertForTitle) + ' ' + width + ' ' + (height + extraVertForTitle)); - _logger__WEBPACK_IMPORTED_MODULE_2__["log"].debug("models:", bounds.models); + _logger__WEBPACK_IMPORTED_MODULE_6__.log.debug("models:", bounds.models); }; /** * Retrieves the max message width of each actor, supports signals (messages, loops) @@ -20602,20 +21564,20 @@ var getMaxMessageWidthPerActor = function getMaxMessageWidthPerActor(actors, mes if (actors[msg.to] && actors[msg.from]) { var actor = actors[msg.to]; // If this is the first actor, and the message is left of it, no need to calculate the margin - if (msg.placement === _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__["parser"].yy.PLACEMENT.LEFTOF && !actor.prevActor) { + if (msg.placement === _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__.parser.yy.PLACEMENT.LEFTOF && !actor.prevActor) { return; } // If this is the last actor, and the message is right of it, no need to calculate the margin - if (msg.placement === _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__["parser"].yy.PLACEMENT.RIGHTOF && !actor.nextActor) { + if (msg.placement === _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__.parser.yy.PLACEMENT.RIGHTOF && !actor.nextActor) { return; } var isNote = msg.placement !== undefined; var isMessage = !isNote; var textFont = isNote ? noteFont(conf) : messageFont(conf); - var wrappedMessage = msg.wrap ? _utils__WEBPACK_IMPORTED_MODULE_7__["default"].wrapLabel(msg.message, conf.width - 2 * conf.wrapPadding, textFont) : msg.message; - var messageDimensions = _utils__WEBPACK_IMPORTED_MODULE_7__["default"].calculateTextDimensions(wrappedMessage, textFont); + var wrappedMessage = msg.wrap ? _utils__WEBPACK_IMPORTED_MODULE_5__["default"].wrapLabel(msg.message, conf.width - 2 * conf.wrapPadding, textFont) : msg.message; + var messageDimensions = _utils__WEBPACK_IMPORTED_MODULE_5__["default"].calculateTextDimensions(wrappedMessage, textFont); var messageWidth = messageDimensions.width + 2 * conf.wrapPadding; /* * The following scenarios should be supported: @@ -20641,11 +21603,11 @@ var getMaxMessageWidthPerActor = function getMaxMessageWidthPerActor(actors, mes } else if (isMessage && msg.from === msg.to) { maxMessageWidthPerActor[msg.from] = Math.max(maxMessageWidthPerActor[msg.from] || 0, messageWidth / 2); maxMessageWidthPerActor[msg.to] = Math.max(maxMessageWidthPerActor[msg.to] || 0, messageWidth / 2); - } else if (msg.placement === _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__["parser"].yy.PLACEMENT.RIGHTOF) { + } else if (msg.placement === _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__.parser.yy.PLACEMENT.RIGHTOF) { maxMessageWidthPerActor[msg.from] = Math.max(maxMessageWidthPerActor[msg.from] || 0, messageWidth); - } else if (msg.placement === _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__["parser"].yy.PLACEMENT.LEFTOF) { + } else if (msg.placement === _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__.parser.yy.PLACEMENT.LEFTOF) { maxMessageWidthPerActor[actor.prevActor] = Math.max(maxMessageWidthPerActor[actor.prevActor] || 0, messageWidth); - } else if (msg.placement === _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__["parser"].yy.PLACEMENT.OVER) { + } else if (msg.placement === _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__.parser.yy.PLACEMENT.OVER) { if (actor.prevActor) { maxMessageWidthPerActor[actor.prevActor] = Math.max(maxMessageWidthPerActor[actor.prevActor] || 0, messageWidth / 2); } @@ -20656,7 +21618,7 @@ var getMaxMessageWidthPerActor = function getMaxMessageWidthPerActor(actors, mes } } }); - _logger__WEBPACK_IMPORTED_MODULE_2__["log"].debug('maxMessageWidthPerActor:', maxMessageWidthPerActor); + _logger__WEBPACK_IMPORTED_MODULE_6__.log.debug('maxMessageWidthPerActor:', maxMessageWidthPerActor); return maxMessageWidthPerActor; }; @@ -20665,7 +21627,7 @@ var getRequiredPopupWidth = function getRequiredPopupWidth(actor) { var textFont = actorFont(conf); for (var key in actor.links) { - var labelDimensions = _utils__WEBPACK_IMPORTED_MODULE_7__["default"].calculateTextDimensions(key, textFont); + var labelDimensions = _utils__WEBPACK_IMPORTED_MODULE_5__["default"].calculateTextDimensions(key, textFont); var labelWidth = labelDimensions.width + 2 * conf.wrapPadding + 2 * conf.boxMargin; if (requiredPopupWidth < labelWidth) { @@ -20693,10 +21655,10 @@ var calculateActorMargins = function calculateActorMargins(actors, actorToMessag var actor = actors[prop]; if (actor.wrap) { - actor.description = _utils__WEBPACK_IMPORTED_MODULE_7__["default"].wrapLabel(actor.description, conf.width - 2 * conf.wrapPadding, actorFont(conf)); + actor.description = _utils__WEBPACK_IMPORTED_MODULE_5__["default"].wrapLabel(actor.description, conf.width - 2 * conf.wrapPadding, actorFont(conf)); } - var actDims = _utils__WEBPACK_IMPORTED_MODULE_7__["default"].calculateTextDimensions(actor.description, actorFont(conf)); + var actDims = _utils__WEBPACK_IMPORTED_MODULE_5__["default"].calculateTextDimensions(actor.description, actorFont(conf)); actor.width = actor.wrap ? conf.width : Math.max(conf.width, actDims.width + 2 * conf.wrapPadding); actor.height = actor.wrap ? Math.max(actDims.height, conf.height) : conf.height; maxHeight = Math.max(maxHeight, actor.height); @@ -20727,7 +21689,7 @@ var buildNoteModel = function buildNoteModel(msg, actors) { var startx = actors[msg.from].x; var stopx = actors[msg.to].x; var shouldWrap = msg.wrap && msg.message; - var textDimensions = _utils__WEBPACK_IMPORTED_MODULE_7__["default"].calculateTextDimensions(shouldWrap ? _utils__WEBPACK_IMPORTED_MODULE_7__["default"].wrapLabel(msg.message, conf.width, noteFont(conf)) : msg.message, noteFont(conf)); + var textDimensions = _utils__WEBPACK_IMPORTED_MODULE_5__["default"].calculateTextDimensions(shouldWrap ? _utils__WEBPACK_IMPORTED_MODULE_5__["default"].wrapLabel(msg.message, conf.width, noteFont(conf)) : msg.message, noteFont(conf)); var noteModel = { width: shouldWrap ? conf.width : Math.max(conf.width, textDimensions.width + 2 * conf.noteMargin), height: 0, @@ -20738,14 +21700,14 @@ var buildNoteModel = function buildNoteModel(msg, actors) { message: msg.message }; - if (msg.placement === _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__["parser"].yy.PLACEMENT.RIGHTOF) { + if (msg.placement === _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__.parser.yy.PLACEMENT.RIGHTOF) { noteModel.width = shouldWrap ? Math.max(conf.width, textDimensions.width) : Math.max(actors[msg.from].width / 2 + actors[msg.to].width / 2, textDimensions.width + 2 * conf.noteMargin); noteModel.startx = startx + (actors[msg.from].width + conf.actorMargin) / 2; - } else if (msg.placement === _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__["parser"].yy.PLACEMENT.LEFTOF) { + } else if (msg.placement === _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__.parser.yy.PLACEMENT.LEFTOF) { noteModel.width = shouldWrap ? Math.max(conf.width, textDimensions.width + 2 * conf.noteMargin) : Math.max(actors[msg.from].width / 2 + actors[msg.to].width / 2, textDimensions.width + 2 * conf.noteMargin); noteModel.startx = startx - noteModel.width + (actors[msg.from].width - conf.actorMargin) / 2; } else if (msg.to === msg.from) { - textDimensions = _utils__WEBPACK_IMPORTED_MODULE_7__["default"].calculateTextDimensions(shouldWrap ? _utils__WEBPACK_IMPORTED_MODULE_7__["default"].wrapLabel(msg.message, Math.max(conf.width, actors[msg.from].width), noteFont(conf)) : msg.message, noteFont(conf)); + textDimensions = _utils__WEBPACK_IMPORTED_MODULE_5__["default"].calculateTextDimensions(shouldWrap ? _utils__WEBPACK_IMPORTED_MODULE_5__["default"].wrapLabel(msg.message, Math.max(conf.width, actors[msg.from].width), noteFont(conf)) : msg.message, noteFont(conf)); noteModel.width = shouldWrap ? Math.max(conf.width, actors[msg.from].width) : Math.max(actors[msg.from].width, conf.width, textDimensions.width + 2 * conf.noteMargin); noteModel.startx = startx + (actors[msg.from].width - noteModel.width) / 2; } else { @@ -20754,17 +21716,17 @@ var buildNoteModel = function buildNoteModel(msg, actors) { } if (shouldWrap) { - noteModel.message = _utils__WEBPACK_IMPORTED_MODULE_7__["default"].wrapLabel(msg.message, noteModel.width - 2 * conf.wrapPadding, noteFont(conf)); + noteModel.message = _utils__WEBPACK_IMPORTED_MODULE_5__["default"].wrapLabel(msg.message, noteModel.width - 2 * conf.wrapPadding, noteFont(conf)); } - _logger__WEBPACK_IMPORTED_MODULE_2__["log"].debug("NM:[".concat(noteModel.startx, ",").concat(noteModel.stopx, ",").concat(noteModel.starty, ",").concat(noteModel.stopy, ":").concat(noteModel.width, ",").concat(noteModel.height, "=").concat(msg.message, "]")); + _logger__WEBPACK_IMPORTED_MODULE_6__.log.debug("NM:[".concat(noteModel.startx, ",").concat(noteModel.stopx, ",").concat(noteModel.starty, ",").concat(noteModel.stopy, ":").concat(noteModel.width, ",").concat(noteModel.height, "=").concat(msg.message, "]")); return noteModel; }; var buildMessageModel = function buildMessageModel(msg, actors) { var process = false; - if ([_parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__["parser"].yy.LINETYPE.SOLID_OPEN, _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__["parser"].yy.LINETYPE.DOTTED_OPEN, _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__["parser"].yy.LINETYPE.SOLID, _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__["parser"].yy.LINETYPE.DOTTED, _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__["parser"].yy.LINETYPE.SOLID_CROSS, _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__["parser"].yy.LINETYPE.DOTTED_CROSS, _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__["parser"].yy.LINETYPE.SOLID_POINT, _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__["parser"].yy.LINETYPE.DOTTED_POINT].includes(msg.type)) { + if ([_parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__.parser.yy.LINETYPE.SOLID_OPEN, _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__.parser.yy.LINETYPE.DOTTED_OPEN, _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__.parser.yy.LINETYPE.SOLID, _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__.parser.yy.LINETYPE.DOTTED, _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__.parser.yy.LINETYPE.SOLID_CROSS, _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__.parser.yy.LINETYPE.DOTTED_CROSS, _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__.parser.yy.LINETYPE.SOLID_POINT, _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__.parser.yy.LINETYPE.DOTTED_POINT].includes(msg.type)) { process = true; } @@ -20780,10 +21742,10 @@ var buildMessageModel = function buildMessageModel(msg, actors) { var boundedWidth = Math.abs(toBounds[toIdx] - fromBounds[fromIdx]); if (msg.wrap && msg.message) { - msg.message = _utils__WEBPACK_IMPORTED_MODULE_7__["default"].wrapLabel(msg.message, Math.max(boundedWidth + 2 * conf.wrapPadding, conf.width), messageFont(conf)); + msg.message = _utils__WEBPACK_IMPORTED_MODULE_5__["default"].wrapLabel(msg.message, Math.max(boundedWidth + 2 * conf.wrapPadding, conf.width), messageFont(conf)); } - var msgDims = _utils__WEBPACK_IMPORTED_MODULE_7__["default"].calculateTextDimensions(msg.message, messageFont(conf)); + var msgDims = _utils__WEBPACK_IMPORTED_MODULE_5__["default"].calculateTextDimensions(msg.message, messageFont(conf)); return { width: Math.max(msg.wrap ? 0 : msgDims.width + 2 * conf.wrapPadding, boundedWidth + 2 * conf.wrapPadding, conf.width), height: 0, @@ -20804,15 +21766,15 @@ var calculateLoopBounds = function calculateLoopBounds(messages, actors) { var stack = []; var current, noteModel, msgModel; messages.forEach(function (msg) { - msg.id = _utils__WEBPACK_IMPORTED_MODULE_7__["default"].random({ + msg.id = _utils__WEBPACK_IMPORTED_MODULE_5__["default"].random({ length: 10 }); switch (msg.type) { - case _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__["parser"].yy.LINETYPE.LOOP_START: - case _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__["parser"].yy.LINETYPE.ALT_START: - case _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__["parser"].yy.LINETYPE.OPT_START: - case _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__["parser"].yy.LINETYPE.PAR_START: + case _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__.parser.yy.LINETYPE.LOOP_START: + case _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__.parser.yy.LINETYPE.ALT_START: + case _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__.parser.yy.LINETYPE.OPT_START: + case _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__.parser.yy.LINETYPE.PAR_START: stack.push({ id: msg.id, msg: msg.message, @@ -20822,8 +21784,8 @@ var calculateLoopBounds = function calculateLoopBounds(messages, actors) { }); break; - case _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__["parser"].yy.LINETYPE.ALT_ELSE: - case _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__["parser"].yy.LINETYPE.PAR_AND: + case _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__.parser.yy.LINETYPE.ALT_ELSE: + case _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__.parser.yy.LINETYPE.PAR_AND: if (msg.message) { current = stack.pop(); loops[current.id] = current; @@ -20833,15 +21795,15 @@ var calculateLoopBounds = function calculateLoopBounds(messages, actors) { break; - case _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__["parser"].yy.LINETYPE.LOOP_END: - case _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__["parser"].yy.LINETYPE.ALT_END: - case _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__["parser"].yy.LINETYPE.OPT_END: - case _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__["parser"].yy.LINETYPE.PAR_END: + case _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__.parser.yy.LINETYPE.LOOP_END: + case _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__.parser.yy.LINETYPE.ALT_END: + case _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__.parser.yy.LINETYPE.OPT_END: + case _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__.parser.yy.LINETYPE.PAR_END: current = stack.pop(); loops[current.id] = current; break; - case _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__["parser"].yy.LINETYPE.ACTIVE_START: + case _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__.parser.yy.LINETYPE.ACTIVE_START: { var actorRect = actors[msg.from ? msg.from.actor : msg.to.actor]; var stackedSize = actorActivations(msg.from ? msg.from.actor : msg.to.actor).length; @@ -20856,7 +21818,7 @@ var calculateLoopBounds = function calculateLoopBounds(messages, actors) { } break; - case _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_3__["parser"].yy.LINETYPE.ACTIVE_END: + case _parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_1__.parser.yy.LINETYPE.ACTIVE_END: { var lastActorActivationIdx = bounds.activations.map(function (a) { return a.actor; @@ -20901,11 +21863,11 @@ var calculateLoopBounds = function calculateLoopBounds(messages, actors) { } }); bounds.activations = []; - _logger__WEBPACK_IMPORTED_MODULE_2__["log"].debug('Loop type widths:', loops); + _logger__WEBPACK_IMPORTED_MODULE_6__.log.debug('Loop type widths:', loops); return loops; }; -/* harmony default export */ __webpack_exports__["default"] = ({ +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ bounds: bounds, drawActors: drawActors, drawActorsPopup: drawActorsPopup, @@ -20919,16 +21881,18 @@ var calculateLoopBounds = function calculateLoopBounds(messages, actors) { /*!*****************************************!*\ !*** ./src/diagrams/sequence/styles.js ***! \*****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); var getStyles = function getStyles(options) { return ".actor {\n stroke: ".concat(options.actorBorder, ";\n fill: ").concat(options.actorBkg, ";\n }\n\n text.actor > tspan {\n fill: ").concat(options.actorTextColor, ";\n stroke: none;\n }\n\n .actor-line {\n stroke: ").concat(options.actorLineColor, ";\n }\n\n .messageLine0 {\n stroke-width: 1.5;\n stroke-dasharray: none;\n stroke: ").concat(options.signalColor, ";\n }\n\n .messageLine1 {\n stroke-width: 1.5;\n stroke-dasharray: 2, 2;\n stroke: ").concat(options.signalColor, ";\n }\n\n #arrowhead path {\n fill: ").concat(options.signalColor, ";\n stroke: ").concat(options.signalColor, ";\n }\n\n .sequenceNumber {\n fill: ").concat(options.sequenceNumberColor, ";\n }\n\n #sequencenumber {\n fill: ").concat(options.signalColor, ";\n }\n\n #crosshead path {\n fill: ").concat(options.signalColor, ";\n stroke: ").concat(options.signalColor, ";\n }\n\n .messageText {\n fill: ").concat(options.signalTextColor, ";\n stroke: ").concat(options.signalTextColor, ";\n }\n\n .labelBox {\n stroke: ").concat(options.labelBoxBorderColor, ";\n fill: ").concat(options.labelBoxBkgColor, ";\n }\n\n .labelText, .labelText > tspan {\n fill: ").concat(options.labelTextColor, ";\n stroke: none;\n }\n\n .loopText, .loopText > tspan {\n fill: ").concat(options.loopTextColor, ";\n stroke: none;\n }\n\n .loopLine {\n stroke-width: 2px;\n stroke-dasharray: 2, 2;\n stroke: ").concat(options.labelBoxBorderColor, ";\n fill: ").concat(options.labelBoxBorderColor, ";\n }\n\n .note {\n //stroke: #decc93;\n stroke: ").concat(options.noteBorderColor, ";\n fill: ").concat(options.noteBkgColor, ";\n }\n\n .noteText, .noteText > tspan {\n fill: ").concat(options.noteTextColor, ";\n stroke: none;\n }\n\n .activation0 {\n fill: ").concat(options.activationBkgColor, ";\n stroke: ").concat(options.activationBorderColor, ";\n }\n\n .activation1 {\n fill: ").concat(options.activationBkgColor, ";\n stroke: ").concat(options.activationBorderColor, ";\n }\n\n .activation2 {\n fill: ").concat(options.activationBkgColor, ";\n stroke: ").concat(options.activationBorderColor, ";\n }\n\n .actorPopupMenu {\n position: absolute;\n }\n\n .actorPopupMenuPanel {\n position: absolute;\n fill: ").concat(options.actorBkg, ";\n box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);\n filter: drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));\n}\n .actor-man line {\n stroke: ").concat(options.actorBorder, ";\n fill: ").concat(options.actorBkg, ";\n }\n .actor-man circle, line {\n stroke: ").concat(options.actorBorder, ";\n fill: ").concat(options.actorBkg, ";\n stroke-width: 2px;\n }\n"); }; -/* harmony default export */ __webpack_exports__["default"] = (getStyles); +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (getStyles); /***/ }), @@ -20936,34 +21900,36 @@ var getStyles = function getStyles(options) { /*!******************************************!*\ !*** ./src/diagrams/sequence/svgDraw.js ***! \******************************************/ -/*! exports provided: drawRect, drawPopup, drawImage, drawEmbeddedImage, popupMenu, popdownMenu, drawText, drawLabel, fixLifeLineHeights, drawActor, anchorElement, drawActivation, drawLoop, drawBackgroundRect, insertDatabaseIcon, insertComputerIcon, insertClockIcon, insertArrowHead, insertArrowFilledHead, insertSequenceNumber, insertArrowCrossHead, getTextObj, getNoteRect, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "drawRect", function() { return drawRect; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "drawPopup", function() { return drawPopup; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "drawImage", function() { return drawImage; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "drawEmbeddedImage", function() { return drawEmbeddedImage; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "popupMenu", function() { return popupMenu; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "popdownMenu", function() { return popdownMenu; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "drawText", function() { return drawText; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "drawLabel", function() { return drawLabel; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "fixLifeLineHeights", function() { return fixLifeLineHeights; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "drawActor", function() { return drawActor; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "anchorElement", function() { return anchorElement; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "drawActivation", function() { return drawActivation; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "drawLoop", function() { return drawLoop; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "drawBackgroundRect", function() { return drawBackgroundRect; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "insertDatabaseIcon", function() { return insertDatabaseIcon; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "insertComputerIcon", function() { return insertComputerIcon; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "insertClockIcon", function() { return insertClockIcon; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "insertArrowHead", function() { return insertArrowHead; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "insertArrowFilledHead", function() { return insertArrowFilledHead; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "insertSequenceNumber", function() { return insertSequenceNumber; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "insertArrowCrossHead", function() { return insertArrowCrossHead; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getTextObj", function() { return getTextObj; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getNoteRect", function() { return getNoteRect; }); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "drawRect": () => (/* binding */ drawRect), +/* harmony export */ "drawPopup": () => (/* binding */ drawPopup), +/* harmony export */ "drawImage": () => (/* binding */ drawImage), +/* harmony export */ "drawEmbeddedImage": () => (/* binding */ drawEmbeddedImage), +/* harmony export */ "popupMenu": () => (/* binding */ popupMenu), +/* harmony export */ "popdownMenu": () => (/* binding */ popdownMenu), +/* harmony export */ "drawText": () => (/* binding */ drawText), +/* harmony export */ "drawLabel": () => (/* binding */ drawLabel), +/* harmony export */ "fixLifeLineHeights": () => (/* binding */ fixLifeLineHeights), +/* harmony export */ "drawActor": () => (/* binding */ drawActor), +/* harmony export */ "anchorElement": () => (/* binding */ anchorElement), +/* harmony export */ "drawActivation": () => (/* binding */ drawActivation), +/* harmony export */ "drawLoop": () => (/* binding */ drawLoop), +/* harmony export */ "drawBackgroundRect": () => (/* binding */ drawBackgroundRect), +/* harmony export */ "insertDatabaseIcon": () => (/* binding */ insertDatabaseIcon), +/* harmony export */ "insertComputerIcon": () => (/* binding */ insertComputerIcon), +/* harmony export */ "insertClockIcon": () => (/* binding */ insertClockIcon), +/* harmony export */ "insertArrowHead": () => (/* binding */ insertArrowHead), +/* harmony export */ "insertArrowFilledHead": () => (/* binding */ insertArrowFilledHead), +/* harmony export */ "insertSequenceNumber": () => (/* binding */ insertSequenceNumber), +/* harmony export */ "insertArrowCrossHead": () => (/* binding */ insertArrowCrossHead), +/* harmony export */ "getTextObj": () => (/* binding */ getTextObj), +/* harmony export */ "getNoteRect": () => (/* binding */ getNoteRect), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); /* harmony import */ var _common_common__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../common/common */ "./src/diagrams/common/common.js"); var drawRect = function drawRect(elem, rectData) { @@ -21633,7 +22599,7 @@ var _drawMenuItemTextCandidateFunc = function () { }; }(); -/* harmony default export */ __webpack_exports__["default"] = ({ +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ drawRect: drawRect, drawText: drawText, drawLabel: drawLabel, @@ -21665,15 +22631,17 @@ var _drawMenuItemTextCandidateFunc = function () { /*!****************************************!*\ !*** ./src/diagrams/state/id-cache.js ***! \****************************************/ -/*! exports provided: set, get, keys, size, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "set", function() { return set; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "get", function() { return get; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "keys", function() { return keys; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "size", function() { return size; }); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "set": () => (/* binding */ set), +/* harmony export */ "get": () => (/* binding */ get), +/* harmony export */ "keys": () => (/* binding */ keys), +/* harmony export */ "size": () => (/* binding */ size), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); var idCache = {}; var set = function set(key, val) { idCache[key] = val; @@ -21687,7 +22655,7 @@ var keys = function keys() { var size = function size() { return keys().length; }; -/* harmony default export */ __webpack_exports__["default"] = ({ +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ get: get, set: set, keys: keys, @@ -21696,879 +22664,32 @@ var size = function size() { /***/ }), -/***/ "./src/diagrams/state/parser/stateDiagram.jison": -/*!******************************************************!*\ - !*** ./src/diagrams/state/parser/stateDiagram.jison ***! - \******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -/* WEBPACK VAR INJECTION */(function(process, module) {/* parser generated by jison 0.4.18 */ -/* - Returns a Parser object of the following structure: - - Parser: { - yy: {} - } - - Parser.prototype: { - yy: {}, - trace: function(), - symbols_: {associative list: name ==> number}, - terminals_: {associative list: number ==> name}, - productions_: [...], - performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$), - table: [...], - defaultActions: {...}, - parseError: function(str, hash), - parse: function(input), - - lexer: { - EOF: 1, - parseError: function(str, hash), - setInput: function(input), - input: function(), - unput: function(str), - more: function(), - less: function(n), - pastInput: function(), - upcomingInput: function(), - showPosition: function(), - test_match: function(regex_match_array, rule_index), - next: function(), - lex: function(), - begin: function(condition), - popState: function(), - _currentRules: function(), - topState: function(), - pushState: function(condition), - - options: { - ranges: boolean (optional: true ==> token location info will include a .range[] member) - flex: boolean (optional: true ==> flex-like lexing behaviour where the rules are tested exhaustively to find the longest match) - backtrack_lexer: boolean (optional: true ==> lexer regexes are tested in order and for each matching regex the action code is invoked; the lexer terminates the scan when a token is returned by the action code) - }, - - performAction: function(yy, yy_, $avoiding_name_collisions, YY_START), - rules: [...], - conditions: {associative list: name ==> set}, - } - } - - - token location info (@$, _$, etc.): { - first_line: n, - last_line: n, - first_column: n, - last_column: n, - range: [start_number, end_number] (where the numbers are indexes into the input string, regular zero-based) - } - - - the parseError function receives a 'hash' object with these members for lexer and parser errors: { - text: (matched text) - token: (the produced terminal token, if any) - line: (yylineno) - } - while parser (grammar) errors will also provide these members, i.e. parser errors deliver a superset of attributes: { - loc: (yylloc) - expected: (string describing the set of expected tokens) - recoverable: (boolean: TRUE when the parser has a error recovery rule available for this particular error) - } -*/ -var parser = (function(){ -var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,2],$V1=[1,3],$V2=[1,5],$V3=[1,7],$V4=[2,5],$V5=[1,15],$V6=[1,17],$V7=[1,19],$V8=[1,20],$V9=[1,21],$Va=[1,22],$Vb=[1,30],$Vc=[1,23],$Vd=[1,24],$Ve=[1,25],$Vf=[1,26],$Vg=[1,27],$Vh=[1,32],$Vi=[1,33],$Vj=[1,34],$Vk=[1,35],$Vl=[1,31],$Vm=[1,38],$Vn=[1,4,5,14,15,17,19,20,22,23,24,25,26,27,36,37,38,39,42,45],$Vo=[1,4,5,12,13,14,15,17,19,20,22,23,24,25,26,27,36,37,38,39,42,45],$Vp=[1,4,5,7,14,15,17,19,20,22,23,24,25,26,27,36,37,38,39,42,45],$Vq=[4,5,14,15,17,19,20,22,23,24,25,26,27,36,37,38,39,42,45]; -var parser = {trace: function trace () { }, -yy: {}, -symbols_: {"error":2,"start":3,"SPACE":4,"NL":5,"directive":6,"SD":7,"document":8,"line":9,"statement":10,"idStatement":11,"DESCR":12,"-->":13,"HIDE_EMPTY":14,"scale":15,"WIDTH":16,"COMPOSIT_STATE":17,"STRUCT_START":18,"STRUCT_STOP":19,"STATE_DESCR":20,"AS":21,"ID":22,"FORK":23,"JOIN":24,"CHOICE":25,"CONCURRENT":26,"note":27,"notePosition":28,"NOTE_TEXT":29,"direction":30,"openDirective":31,"typeDirective":32,"closeDirective":33,":":34,"argDirective":35,"direction_tb":36,"direction_bt":37,"direction_rl":38,"direction_lr":39,"eol":40,";":41,"EDGE_STATE":42,"left_of":43,"right_of":44,"open_directive":45,"type_directive":46,"arg_directive":47,"close_directive":48,"$accept":0,"$end":1}, -terminals_: {2:"error",4:"SPACE",5:"NL",7:"SD",12:"DESCR",13:"-->",14:"HIDE_EMPTY",15:"scale",16:"WIDTH",17:"COMPOSIT_STATE",18:"STRUCT_START",19:"STRUCT_STOP",20:"STATE_DESCR",21:"AS",22:"ID",23:"FORK",24:"JOIN",25:"CHOICE",26:"CONCURRENT",27:"note",29:"NOTE_TEXT",34:":",36:"direction_tb",37:"direction_bt",38:"direction_rl",39:"direction_lr",41:";",42:"EDGE_STATE",43:"left_of",44:"right_of",45:"open_directive",46:"type_directive",47:"arg_directive",48:"close_directive"}, -productions_: [0,[3,2],[3,2],[3,2],[3,2],[8,0],[8,2],[9,2],[9,1],[9,1],[10,1],[10,2],[10,3],[10,4],[10,1],[10,2],[10,1],[10,4],[10,3],[10,6],[10,1],[10,1],[10,1],[10,1],[10,4],[10,4],[10,1],[10,1],[6,3],[6,5],[30,1],[30,1],[30,1],[30,1],[40,1],[40,1],[11,1],[11,1],[28,1],[28,1],[31,1],[32,1],[35,1],[33,1]], -performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) { -/* this == yyval */ - -var $0 = $$.length - 1; -switch (yystate) { -case 4: - /*console.warn('Root document', $$[$0]);*/ yy.setRootDoc($$[$0]);return $$[$0]; -break; -case 5: - this.$ = [] -break; -case 6: - - if($$[$0]!='nl'){ - $$[$0-1].push($$[$0]);this.$ = $$[$0-1] - } - // console.warn('Got document',$$[$0-1], $$[$0]); - -break; -case 7: case 8: - this.$ = $$[$0] -break; -case 9: - this.$='nl'; -break; -case 10: - /*console.warn('got id and descr', $$[$0]);*/this.$={ stmt: 'state', id: $$[$0], type: 'default', description: ''}; -break; -case 11: - /*console.warn('got id and descr', $$[$0-1], $$[$0].trim());*/this.$={ stmt: 'state', id: $$[$0-1], type: 'default', description: yy.trimColon($$[$0])}; -break; -case 12: - - /*console.warn('got id', $$[$0-2]);yy.addRelation($$[$0-2], $$[$0]);*/ - this.$={ stmt: 'relation', state1: { stmt: 'state', id: $$[$0-2], type: 'default', description: '' }, state2:{ stmt: 'state', id: $$[$0] ,type: 'default', description: ''}}; - -break; -case 13: - - /*yy.addRelation($$[$0-3], $$[$0-1], $$[$0].substr(1).trim());*/ - this.$={ stmt: 'relation', state1: { stmt: 'state', id: $$[$0-3], type: 'default', description: '' }, state2:{ stmt: 'state', id: $$[$0-1] ,type: 'default', description: ''}, description: $$[$0].substr(1).trim()}; - -break; -case 17: - - /* console.warn('Adding document for state without id ', $$[$0-3]);*/ - this.$={ stmt: 'state', id: $$[$0-3], type: 'default', description: '', doc: $$[$0-1] } - -break; -case 18: - - var id=$$[$0]; - var description = $$[$0-2].trim(); - if($$[$0].match(':')){ - var parts = $$[$0].split(':'); - id=parts[0]; - description = [description, parts[1]]; - } - this.$={stmt: 'state', id: id, type: 'default', description: description}; - - -break; -case 19: - - // console.warn('Adding document for state with id zxzx', $$[$0-3], $$[$0-2], yy.getDirection()); yy.addDocument($$[$0-3]); - this.$={ stmt: 'state', id: $$[$0-3], type: 'default', description: $$[$0-5], doc: $$[$0-1] } - -break; -case 20: - - this.$={ stmt: 'state', id: $$[$0], type: 'fork' } - -break; -case 21: - - this.$={ stmt: 'state', id: $$[$0], type: 'join' } - -break; -case 22: - - this.$={ stmt: 'state', id: $$[$0], type: 'choice' } - -break; -case 23: - - this.$={ stmt: 'state', id: yy.getDividerId(), type: 'divider' } - -break; -case 24: - - /* console.warn('got NOTE, position: ', $$[$0-2].trim(), 'id = ', $$[$0-1].trim(), 'note: ', $$[$0]);*/ - this.$={ stmt: 'state', id: $$[$0-1].trim(), note:{position: $$[$0-2].trim(), text: $$[$0].trim()}}; - -break; -case 30: - yy.setDirection('TB');this.$={stmt:'dir', value:'TB'}; -break; -case 31: - yy.setDirection('BT');this.$={stmt:'dir', value:'BT'}; -break; -case 32: - yy.setDirection('RL'); this.$={stmt:'dir', value:'RL'}; -break; -case 33: - yy.setDirection('LR');this.$={stmt:'dir', value:'LR'}; -break; -case 36: case 37: -this.$=$$[$0]; -break; -case 40: - yy.parseDirective('%%{', 'open_directive'); -break; -case 41: - yy.parseDirective($$[$0], 'type_directive'); -break; -case 42: - $$[$0] = $$[$0].trim().replace(/'/g, '"'); yy.parseDirective($$[$0], 'arg_directive'); -break; -case 43: - yy.parseDirective('}%%', 'close_directive', 'state'); -break; -} -}, -table: [{3:1,4:$V0,5:$V1,6:4,7:$V2,31:6,45:$V3},{1:[3]},{3:8,4:$V0,5:$V1,6:4,7:$V2,31:6,45:$V3},{3:9,4:$V0,5:$V1,6:4,7:$V2,31:6,45:$V3},{3:10,4:$V0,5:$V1,6:4,7:$V2,31:6,45:$V3},o([1,4,5,14,15,17,20,22,23,24,25,26,27,36,37,38,39,42,45],$V4,{8:11}),{32:12,46:[1,13]},{46:[2,40]},{1:[2,1]},{1:[2,2]},{1:[2,3]},{1:[2,4],4:$V5,5:$V6,6:28,9:14,10:16,11:18,14:$V7,15:$V8,17:$V9,20:$Va,22:$Vb,23:$Vc,24:$Vd,25:$Ve,26:$Vf,27:$Vg,30:29,31:6,36:$Vh,37:$Vi,38:$Vj,39:$Vk,42:$Vl,45:$V3},{33:36,34:[1,37],48:$Vm},o([34,48],[2,41]),o($Vn,[2,6]),{6:28,10:39,11:18,14:$V7,15:$V8,17:$V9,20:$Va,22:$Vb,23:$Vc,24:$Vd,25:$Ve,26:$Vf,27:$Vg,30:29,31:6,36:$Vh,37:$Vi,38:$Vj,39:$Vk,42:$Vl,45:$V3},o($Vn,[2,8]),o($Vn,[2,9]),o($Vn,[2,10],{12:[1,40],13:[1,41]}),o($Vn,[2,14]),{16:[1,42]},o($Vn,[2,16],{18:[1,43]}),{21:[1,44]},o($Vn,[2,20]),o($Vn,[2,21]),o($Vn,[2,22]),o($Vn,[2,23]),{28:45,29:[1,46],43:[1,47],44:[1,48]},o($Vn,[2,26]),o($Vn,[2,27]),o($Vo,[2,36]),o($Vo,[2,37]),o($Vn,[2,30]),o($Vn,[2,31]),o($Vn,[2,32]),o($Vn,[2,33]),o($Vp,[2,28]),{35:49,47:[1,50]},o($Vp,[2,43]),o($Vn,[2,7]),o($Vn,[2,11]),{11:51,22:$Vb,42:$Vl},o($Vn,[2,15]),o($Vq,$V4,{8:52}),{22:[1,53]},{22:[1,54]},{21:[1,55]},{22:[2,38]},{22:[2,39]},{33:56,48:$Vm},{48:[2,42]},o($Vn,[2,12],{12:[1,57]}),{4:$V5,5:$V6,6:28,9:14,10:16,11:18,14:$V7,15:$V8,17:$V9,19:[1,58],20:$Va,22:$Vb,23:$Vc,24:$Vd,25:$Ve,26:$Vf,27:$Vg,30:29,31:6,36:$Vh,37:$Vi,38:$Vj,39:$Vk,42:$Vl,45:$V3},o($Vn,[2,18],{18:[1,59]}),{29:[1,60]},{22:[1,61]},o($Vp,[2,29]),o($Vn,[2,13]),o($Vn,[2,17]),o($Vq,$V4,{8:62}),o($Vn,[2,24]),o($Vn,[2,25]),{4:$V5,5:$V6,6:28,9:14,10:16,11:18,14:$V7,15:$V8,17:$V9,19:[1,63],20:$Va,22:$Vb,23:$Vc,24:$Vd,25:$Ve,26:$Vf,27:$Vg,30:29,31:6,36:$Vh,37:$Vi,38:$Vj,39:$Vk,42:$Vl,45:$V3},o($Vn,[2,19])], -defaultActions: {7:[2,40],8:[2,1],9:[2,2],10:[2,3],47:[2,38],48:[2,39],50:[2,42]}, -parseError: function parseError (str, hash) { - if (hash.recoverable) { - this.trace(str); - } else { - var error = new Error(str); - error.hash = hash; - throw error; - } -}, -parse: function parse(input) { - var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = '', yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1; - var args = lstack.slice.call(arguments, 1); - var lexer = Object.create(this.lexer); - var sharedState = { yy: {} }; - for (var k in this.yy) { - if (Object.prototype.hasOwnProperty.call(this.yy, k)) { - sharedState.yy[k] = this.yy[k]; - } - } - lexer.setInput(input, sharedState.yy); - sharedState.yy.lexer = lexer; - sharedState.yy.parser = this; - if (typeof lexer.yylloc == 'undefined') { - lexer.yylloc = {}; - } - var yyloc = lexer.yylloc; - lstack.push(yyloc); - var ranges = lexer.options && lexer.options.ranges; - if (typeof sharedState.yy.parseError === 'function') { - this.parseError = sharedState.yy.parseError; - } else { - this.parseError = Object.getPrototypeOf(this).parseError; - } - function popStack(n) { - stack.length = stack.length - 2 * n; - vstack.length = vstack.length - n; - lstack.length = lstack.length - n; - } - function lex() { - var token; - token = tstack.pop() || lexer.lex() || EOF; - if (typeof token !== 'number') { - if (token instanceof Array) { - tstack = token; - token = tstack.pop(); - } - token = self.symbols_[token] || token; - } - return token; - } - var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected; - while (true) { - state = stack[stack.length - 1]; - if (this.defaultActions[state]) { - action = this.defaultActions[state]; - } else { - if (symbol === null || typeof symbol == 'undefined') { - symbol = lex(); - } - action = table[state] && table[state][symbol]; - } - if (typeof action === 'undefined' || !action.length || !action[0]) { - var errStr = ''; - expected = []; - for (p in table[state]) { - if (this.terminals_[p] && p > TERROR) { - expected.push('\'' + this.terminals_[p] + '\''); - } - } - if (lexer.showPosition) { - errStr = 'Parse error on line ' + (yylineno + 1) + ':\n' + lexer.showPosition() + '\nExpecting ' + expected.join(', ') + ', got \'' + (this.terminals_[symbol] || symbol) + '\''; - } else { - errStr = 'Parse error on line ' + (yylineno + 1) + ': Unexpected ' + (symbol == EOF ? 'end of input' : '\'' + (this.terminals_[symbol] || symbol) + '\''); - } - this.parseError(errStr, { - text: lexer.match, - token: this.terminals_[symbol] || symbol, - line: lexer.yylineno, - loc: yyloc, - expected: expected - }); - } - if (action[0] instanceof Array && action.length > 1) { - throw new Error('Parse Error: multiple actions possible at state: ' + state + ', token: ' + symbol); - } - switch (action[0]) { - case 1: - stack.push(symbol); - vstack.push(lexer.yytext); - lstack.push(lexer.yylloc); - stack.push(action[1]); - symbol = null; - if (!preErrorSymbol) { - yyleng = lexer.yyleng; - yytext = lexer.yytext; - yylineno = lexer.yylineno; - yyloc = lexer.yylloc; - if (recovering > 0) { - recovering--; - } - } else { - symbol = preErrorSymbol; - preErrorSymbol = null; - } - break; - case 2: - len = this.productions_[action[1]][1]; - yyval.$ = vstack[vstack.length - len]; - yyval._$ = { - first_line: lstack[lstack.length - (len || 1)].first_line, - last_line: lstack[lstack.length - 1].last_line, - first_column: lstack[lstack.length - (len || 1)].first_column, - last_column: lstack[lstack.length - 1].last_column - }; - if (ranges) { - yyval._$.range = [ - lstack[lstack.length - (len || 1)].range[0], - lstack[lstack.length - 1].range[1] - ]; - } - r = this.performAction.apply(yyval, [ - yytext, - yyleng, - yylineno, - sharedState.yy, - action[1], - vstack, - lstack - ].concat(args)); - if (typeof r !== 'undefined') { - return r; - } - if (len) { - stack = stack.slice(0, -1 * len * 2); - vstack = vstack.slice(0, -1 * len); - lstack = lstack.slice(0, -1 * len); - } - stack.push(this.productions_[action[1]][0]); - vstack.push(yyval.$); - lstack.push(yyval._$); - newState = table[stack[stack.length - 2]][stack[stack.length - 1]]; - stack.push(newState); - break; - case 3: - return true; - } - } - return true; -}}; - -/* generated by jison-lex 0.3.4 */ -var lexer = (function(){ -var lexer = ({ - -EOF:1, - -parseError:function parseError(str, hash) { - if (this.yy.parser) { - this.yy.parser.parseError(str, hash); - } else { - throw new Error(str); - } - }, - -// resets the lexer, sets new input -setInput:function (input, yy) { - this.yy = yy || this.yy || {}; - this._input = input; - this._more = this._backtrack = this.done = false; - this.yylineno = this.yyleng = 0; - this.yytext = this.matched = this.match = ''; - this.conditionStack = ['INITIAL']; - this.yylloc = { - first_line: 1, - first_column: 0, - last_line: 1, - last_column: 0 - }; - if (this.options.ranges) { - this.yylloc.range = [0,0]; - } - this.offset = 0; - return this; - }, - -// consumes and returns one char from the input -input:function () { - var ch = this._input[0]; - this.yytext += ch; - this.yyleng++; - this.offset++; - this.match += ch; - this.matched += ch; - var lines = ch.match(/(?:\r\n?|\n).*/g); - if (lines) { - this.yylineno++; - this.yylloc.last_line++; - } else { - this.yylloc.last_column++; - } - if (this.options.ranges) { - this.yylloc.range[1]++; - } - - this._input = this._input.slice(1); - return ch; - }, - -// unshifts one char (or a string) into the input -unput:function (ch) { - var len = ch.length; - var lines = ch.split(/(?:\r\n?|\n)/g); - - this._input = ch + this._input; - this.yytext = this.yytext.substr(0, this.yytext.length - len); - //this.yyleng -= len; - this.offset -= len; - var oldLines = this.match.split(/(?:\r\n?|\n)/g); - this.match = this.match.substr(0, this.match.length - 1); - this.matched = this.matched.substr(0, this.matched.length - 1); - - if (lines.length - 1) { - this.yylineno -= lines.length - 1; - } - var r = this.yylloc.range; - - this.yylloc = { - first_line: this.yylloc.first_line, - last_line: this.yylineno + 1, - first_column: this.yylloc.first_column, - last_column: lines ? - (lines.length === oldLines.length ? this.yylloc.first_column : 0) - + oldLines[oldLines.length - lines.length].length - lines[0].length : - this.yylloc.first_column - len - }; - - if (this.options.ranges) { - this.yylloc.range = [r[0], r[0] + this.yyleng - len]; - } - this.yyleng = this.yytext.length; - return this; - }, - -// When called from action, caches matched text and appends it on next action -more:function () { - this._more = true; - return this; - }, - -// When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead. -reject:function () { - if (this.options.backtrack_lexer) { - this._backtrack = true; - } else { - return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n' + this.showPosition(), { - text: "", - token: null, - line: this.yylineno - }); - - } - return this; - }, - -// retain first n characters of the match -less:function (n) { - this.unput(this.match.slice(n)); - }, - -// displays already matched input, i.e. for error messages -pastInput:function () { - var past = this.matched.substr(0, this.matched.length - this.match.length); - return (past.length > 20 ? '...':'') + past.substr(-20).replace(/\n/g, ""); - }, - -// displays upcoming input, i.e. for error messages -upcomingInput:function () { - var next = this.match; - if (next.length < 20) { - next += this._input.substr(0, 20-next.length); - } - return (next.substr(0,20) + (next.length > 20 ? '...' : '')).replace(/\n/g, ""); - }, - -// displays the character position where the lexing error occurred, i.e. for error messages -showPosition:function () { - var pre = this.pastInput(); - var c = new Array(pre.length + 1).join("-"); - return pre + this.upcomingInput() + "\n" + c + "^"; - }, - -// test the lexed token: return FALSE when not a match, otherwise return token -test_match:function(match, indexed_rule) { - var token, - lines, - backup; - - if (this.options.backtrack_lexer) { - // save context - backup = { - yylineno: this.yylineno, - yylloc: { - first_line: this.yylloc.first_line, - last_line: this.last_line, - first_column: this.yylloc.first_column, - last_column: this.yylloc.last_column - }, - yytext: this.yytext, - match: this.match, - matches: this.matches, - matched: this.matched, - yyleng: this.yyleng, - offset: this.offset, - _more: this._more, - _input: this._input, - yy: this.yy, - conditionStack: this.conditionStack.slice(0), - done: this.done - }; - if (this.options.ranges) { - backup.yylloc.range = this.yylloc.range.slice(0); - } - } - - lines = match[0].match(/(?:\r\n?|\n).*/g); - if (lines) { - this.yylineno += lines.length; - } - this.yylloc = { - first_line: this.yylloc.last_line, - last_line: this.yylineno + 1, - first_column: this.yylloc.last_column, - last_column: lines ? - lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length : - this.yylloc.last_column + match[0].length - }; - this.yytext += match[0]; - this.match += match[0]; - this.matches = match; - this.yyleng = this.yytext.length; - if (this.options.ranges) { - this.yylloc.range = [this.offset, this.offset += this.yyleng]; - } - this._more = false; - this._backtrack = false; - this._input = this._input.slice(match[0].length); - this.matched += match[0]; - token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]); - if (this.done && this._input) { - this.done = false; - } - if (token) { - return token; - } else if (this._backtrack) { - // recover context - for (var k in backup) { - this[k] = backup[k]; - } - return false; // rule action called reject() implying the next rule should be tested instead. - } - return false; - }, - -// return next match in input -next:function () { - if (this.done) { - return this.EOF; - } - if (!this._input) { - this.done = true; - } - - var token, - match, - tempMatch, - index; - if (!this._more) { - this.yytext = ''; - this.match = ''; - } - var rules = this._currentRules(); - for (var i = 0; i < rules.length; i++) { - tempMatch = this._input.match(this.rules[rules[i]]); - if (tempMatch && (!match || tempMatch[0].length > match[0].length)) { - match = tempMatch; - index = i; - if (this.options.backtrack_lexer) { - token = this.test_match(tempMatch, rules[i]); - if (token !== false) { - return token; - } else if (this._backtrack) { - match = false; - continue; // rule action called reject() implying a rule MISmatch. - } else { - // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) - return false; - } - } else if (!this.options.flex) { - break; - } - } - } - if (match) { - token = this.test_match(match, rules[index]); - if (token !== false) { - return token; - } - // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) - return false; - } - if (this._input === "") { - return this.EOF; - } else { - return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\n' + this.showPosition(), { - text: "", - token: null, - line: this.yylineno - }); - } - }, - -// return next match that has a token -lex:function lex () { - var r = this.next(); - if (r) { - return r; - } else { - return this.lex(); - } - }, - -// activates a new lexer condition state (pushes the new lexer condition state onto the condition stack) -begin:function begin (condition) { - this.conditionStack.push(condition); - }, - -// pop the previously active lexer condition state off the condition stack -popState:function popState () { - var n = this.conditionStack.length - 1; - if (n > 0) { - return this.conditionStack.pop(); - } else { - return this.conditionStack[0]; - } - }, - -// produce the lexer rule set which is active for the currently active lexer condition state -_currentRules:function _currentRules () { - if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) { - return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules; - } else { - return this.conditions["INITIAL"].rules; - } - }, - -// return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available -topState:function topState (n) { - n = this.conditionStack.length - 1 - Math.abs(n || 0); - if (n >= 0) { - return this.conditionStack[n]; - } else { - return "INITIAL"; - } - }, - -// alias for begin(condition) -pushState:function pushState (condition) { - this.begin(condition); - }, - -// return the number of states currently on the stack -stateStackSize:function stateStackSize() { - return this.conditionStack.length; - }, -options: {"case-insensitive":true}, -performAction: function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) { -var YYSTATE=YY_START; -switch($avoiding_name_collisions) { -case 0:return 36; -break; -case 1:return 37; -break; -case 2:return 38; -break; -case 3:return 39; -break; -case 4: this.begin('open_directive'); return 45; -break; -case 5: this.begin('type_directive'); return 46; -break; -case 6: this.popState(); this.begin('arg_directive'); return 34; -break; -case 7: this.popState(); this.popState(); return 48; -break; -case 8:return 47; -break; -case 9:/* skip comments */ -break; -case 10:/* skip comments */{ /*console.log('Crap after close');*/ } -break; -case 11:return 5; -break; -case 12:/* skip all whitespace */ -break; -case 13:/* skip same-line whitespace */ -break; -case 14:/* skip comments */ -break; -case 15:/* skip comments */ -break; -case 16: this.pushState('SCALE'); /* console.log('Got scale', yy_.yytext);*/ return 15; -break; -case 17:return 16; -break; -case 18:this.popState(); -break; -case 19: /*console.log('Starting STATE zxzx'+yy.getDirection());*/this.pushState('STATE'); -break; -case 20:this.popState();yy_.yytext=yy_.yytext.slice(0,-8).trim(); /*console.warn('Fork Fork: ',yy_.yytext);*/return 23; -break; -case 21:this.popState();yy_.yytext=yy_.yytext.slice(0,-8).trim();/*console.warn('Fork Join: ',yy_.yytext);*/return 24; -break; -case 22:this.popState();yy_.yytext=yy_.yytext.slice(0,-10).trim();/*console.warn('Fork Join: ',yy_.yytext);*/return 25; -break; -case 23:this.popState();yy_.yytext=yy_.yytext.slice(0,-8).trim();/*console.warn('Fork Fork: ',yy_.yytext);*/return 23; -break; -case 24:this.popState();yy_.yytext=yy_.yytext.slice(0,-8).trim();/*console.warn('Fork Join: ',yy_.yytext);*/return 24; -break; -case 25:this.popState();yy_.yytext=yy_.yytext.slice(0,-10).trim();/*console.warn('Fork Join: ',yy_.yytext);*/return 25; -break; -case 26: return 36; -break; -case 27: return 37; -break; -case 28: return 38; -break; -case 29: return 39; -break; -case 30: /*console.log('Starting STATE_STRING zxzx');*/this.begin("STATE_STRING"); -break; -case 31:this.popState();this.pushState('STATE_ID');return "AS"; -break; -case 32:this.popState();/* console.log('STATE_ID', yy_.yytext);*/return "ID"; -break; -case 33:this.popState(); -break; -case 34: /*console.log('Long description:', yy_.yytext);*/return "STATE_DESCR"; -break; -case 35:/*console.log('COMPOSIT_STATE', yy_.yytext);*/return 17; -break; -case 36:this.popState(); -break; -case 37:this.popState();this.pushState('struct'); /*console.log('begin struct', yy_.yytext);*/return 18; -break; -case 38: /*console.log('Ending struct');*/ this.popState(); return 19; -break; -case 39:/* nothing */ -break; -case 40: this.begin('NOTE'); return 27; -break; -case 41: this.popState();this.pushState('NOTE_ID');return 43; -break; -case 42: this.popState();this.pushState('NOTE_ID');return 44; -break; -case 43: this.popState();this.pushState('FLOATING_NOTE'); -break; -case 44:this.popState();this.pushState('FLOATING_NOTE_ID');return "AS"; -break; -case 45:/**/ -break; -case 46: /*console.log('Floating note text: ', yy_.yytext);*/return "NOTE_TEXT"; -break; -case 47:this.popState();/*console.log('Floating note ID', yy_.yytext);*/return "ID"; -break; -case 48: this.popState();this.pushState('NOTE_TEXT');/*console.log('Got ID for note', yy_.yytext);*/return 22; -break; -case 49: this.popState();/*console.log('Got NOTE_TEXT for note',yy_.yytext);*/yy_.yytext = yy_.yytext.substr(2).trim();return 29; -break; -case 50: this.popState();/*console.log('Got NOTE_TEXT for note',yy_.yytext);*/yy_.yytext = yy_.yytext.slice(0,-8).trim();return 29; -break; -case 51: /*console.log('Got state diagram', yy_.yytext,'#');*/return 7; -break; -case 52: /*console.log('Got state diagram', yy_.yytext,'#');*/return 7; -break; -case 53: /*console.log('HIDE_EMPTY', yy_.yytext,'#');*/return 14; -break; -case 54: /*console.log('EDGE_STATE=',yy_.yytext);*/ return 42; -break; -case 55: /*console.log('=>ID=',yy_.yytext);*/ return 22; -break; -case 56: yy_.yytext = yy_.yytext.trim(); /*console.log('Descr = ', yy_.yytext);*/ return 12; -break; -case 57:return 13; -break; -case 58:return 26; -break; -case 59:return 5; -break; -case 60:return 'INVALID'; -break; -} -}, -rules: [/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:state\s+)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*\[\[fork\]\])/i,/^(?:.*\[\[join\]\])/i,/^(?:.*\[\[choice\]\])/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:["])/i,/^(?:\s*as\s+)/i,/^(?:[^\n\{]*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n\s\{]+)/i,/^(?:\n)/i,/^(?:\{)/i,/^(?:\})/i,/^(?:[\n])/i,/^(?:note\s+)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:")/i,/^(?:\s*as\s*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n]*)/i,/^(?:\s*[^:\n\s\-]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:[\s\S]*?end note\b)/i,/^(?:stateDiagram\s+)/i,/^(?:stateDiagram-v2\s+)/i,/^(?:hide empty description\b)/i,/^(?:\[\*\])/i,/^(?:[^:\n\s\-\{]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:-->)/i,/^(?:--)/i,/^(?:$)/i,/^(?:.)/i], -conditions: {"LINE":{"rules":[13,14],"inclusive":false},"close_directive":{"rules":[13,14],"inclusive":false},"arg_directive":{"rules":[7,8,13,14],"inclusive":false},"type_directive":{"rules":[6,7,13,14],"inclusive":false},"open_directive":{"rules":[5,13,14],"inclusive":false},"struct":{"rules":[13,14,19,26,27,28,29,38,39,40,54,55,56,57,58],"inclusive":false},"FLOATING_NOTE_ID":{"rules":[47],"inclusive":false},"FLOATING_NOTE":{"rules":[44,45,46],"inclusive":false},"NOTE_TEXT":{"rules":[49,50],"inclusive":false},"NOTE_ID":{"rules":[48],"inclusive":false},"NOTE":{"rules":[41,42,43],"inclusive":false},"SCALE":{"rules":[17,18],"inclusive":false},"ALIAS":{"rules":[],"inclusive":false},"STATE_ID":{"rules":[32],"inclusive":false},"STATE_STRING":{"rules":[33,34],"inclusive":false},"FORK_STATE":{"rules":[],"inclusive":false},"STATE":{"rules":[13,14,20,21,22,23,24,25,30,31,35,36,37],"inclusive":false},"ID":{"rules":[13,14],"inclusive":false},"INITIAL":{"rules":[0,1,2,3,4,9,10,11,12,14,15,16,19,37,40,51,52,53,54,55,56,57,59,60],"inclusive":true}} -}); -return lexer; -})(); -parser.lexer = lexer; -function Parser () { - this.yy = {}; -} -Parser.prototype = parser;parser.Parser = Parser; -return new Parser; -})(); - - -if (true) { -exports.parser = parser; -exports.Parser = parser.Parser; -exports.parse = function () { return parser.parse.apply(parser, arguments); }; -exports.main = function commonjsMain (args) { - if (!args[1]) { - console.log('Usage: '+args[0]+' FILE'); - process.exit(1); - } - var source = __webpack_require__(/*! fs */ "./node_modules/node-libs-browser/mock/empty.js").readFileSync(__webpack_require__(/*! path */ "./node_modules/path-browserify/index.js").normalize(args[1]), "utf8"); - return exports.parser.parse(source); -}; -if ( true && __webpack_require__.c[__webpack_require__.s] === module) { - exports.main(process.argv.slice(1)); -} -} -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../../node_modules/process/browser.js */ "./node_modules/process/browser.js"), __webpack_require__(/*! ./../../../../node_modules/webpack/buildin/module.js */ "./node_modules/webpack/buildin/module.js")(module))) - -/***/ }), - /***/ "./src/diagrams/state/shapes.js": /*!**************************************!*\ !*** ./src/diagrams/state/shapes.js ***! \**************************************/ -/*! exports provided: drawStartState, drawDivider, drawSimpleState, drawDescrState, addTitleAndBox, drawText, drawNote, drawState, drawEdge */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "drawStartState", function() { return drawStartState; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "drawDivider", function() { return drawDivider; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "drawSimpleState", function() { return drawSimpleState; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "drawDescrState", function() { return drawDescrState; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "addTitleAndBox", function() { return addTitleAndBox; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "drawText", function() { return drawText; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "drawNote", function() { return drawNote; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "drawState", function() { return drawState; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "drawEdge", function() { return drawEdge; }); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "drawStartState": () => (/* binding */ drawStartState), +/* harmony export */ "drawDivider": () => (/* binding */ drawDivider), +/* harmony export */ "drawSimpleState": () => (/* binding */ drawSimpleState), +/* harmony export */ "drawDescrState": () => (/* binding */ drawDescrState), +/* harmony export */ "addTitleAndBox": () => (/* binding */ addTitleAndBox), +/* harmony export */ "drawText": () => (/* binding */ drawText), +/* harmony export */ "drawNote": () => (/* binding */ drawNote), +/* harmony export */ "drawState": () => (/* binding */ drawState), +/* harmony export */ "drawEdge": () => (/* binding */ drawEdge) +/* harmony export */ }); /* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3 */ "d3"); /* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(d3__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var _id_cache_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./id-cache.js */ "./src/diagrams/state/id-cache.js"); -/* harmony import */ var _stateDb__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./stateDb */ "./src/diagrams/state/stateDb.js"); -/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils */ "./src/utils.js"); -/* harmony import */ var _common_common__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../common/common */ "./src/diagrams/common/common.js"); -/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../config */ "./src/config.js"); +/* harmony import */ var _id_cache_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./id-cache.js */ "./src/diagrams/state/id-cache.js"); +/* harmony import */ var _stateDb__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./stateDb */ "./src/diagrams/state/stateDb.js"); +/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../utils */ "./src/utils.js"); +/* harmony import */ var _common_common__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../common/common */ "./src/diagrams/common/common.js"); +/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../config */ "./src/config.js"); /* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../logger */ "./src/logger.js"); function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } 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 normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; } @@ -22591,23 +22712,23 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len var drawStartState = function drawStartState(g) { return g.append('circle') // .style('stroke', 'black') // .style('fill', 'black') - .attr('class', 'start-state').attr('r', Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.sizeUnit).attr('cx', Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.padding + Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.sizeUnit).attr('cy', Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.padding + Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.sizeUnit); + .attr('class', 'start-state').attr('r', (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.sizeUnit).attr('cx', (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.padding + (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.sizeUnit).attr('cy', (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.padding + (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.sizeUnit); }; /** * Draws a start state as a black circle */ var drawDivider = function drawDivider(g) { - return g.append('line').style('stroke', 'grey').style('stroke-dasharray', '3').attr('x1', Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.textHeight).attr('class', 'divider').attr('x2', Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.textHeight * 2).attr('y1', 0).attr('y2', 0); + return g.append('line').style('stroke', 'grey').style('stroke-dasharray', '3').attr('x1', (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.textHeight).attr('class', 'divider').attr('x2', (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.textHeight * 2).attr('y1', 0).attr('y2', 0); }; /** * Draws a an end state as a black circle */ var drawSimpleState = function drawSimpleState(g, stateDef) { - var state = g.append('text').attr('x', 2 * Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.padding).attr('y', Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.textHeight + 2 * Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.padding).attr('font-size', Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.fontSize).attr('class', 'state-title').text(stateDef.id); + var state = g.append('text').attr('x', 2 * (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.padding).attr('y', (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.textHeight + 2 * (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.padding).attr('font-size', (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.fontSize).attr('class', 'state-title').text(stateDef.id); var classBox = state.node().getBBox(); - g.insert('rect', ':first-child').attr('x', Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.padding).attr('y', Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.padding).attr('width', classBox.width + 2 * Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.padding).attr('height', classBox.height + 2 * Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.padding).attr('rx', Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.radius); + g.insert('rect', ':first-child').attr('x', (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.padding).attr('y', (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.padding).attr('width', classBox.width + 2 * (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.padding).attr('height', classBox.height + 2 * (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.padding).attr('rx', (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.radius); return state; }; /** @@ -22618,18 +22739,18 @@ var drawSimpleState = function drawSimpleState(g, stateDef) { var drawDescrState = function drawDescrState(g, stateDef) { var addTspan = function addTspan(textEl, txt, isFirst) { - var tSpan = textEl.append('tspan').attr('x', 2 * Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.padding).text(txt); + var tSpan = textEl.append('tspan').attr('x', 2 * (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.padding).text(txt); if (!isFirst) { - tSpan.attr('dy', Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.textHeight); + tSpan.attr('dy', (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.textHeight); } }; - var title = g.append('text').attr('x', 2 * Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.padding).attr('y', Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.textHeight + 1.3 * Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.padding).attr('font-size', Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.fontSize).attr('class', 'state-title').text(stateDef.descriptions[0]); + var title = g.append('text').attr('x', 2 * (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.padding).attr('y', (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.textHeight + 1.3 * (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.padding).attr('font-size', (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.fontSize).attr('class', 'state-title').text(stateDef.descriptions[0]); var titleBox = title.node().getBBox(); var titleHeight = titleBox.height; var description = g.append('text') // text label for the x axis - .attr('x', Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.padding).attr('y', titleHeight + Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.padding * 0.4 + Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.dividerMargin + Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.textHeight).attr('class', 'state-description'); + .attr('x', (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.padding).attr('y', titleHeight + (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.padding * 0.4 + (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.dividerMargin + (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.textHeight).attr('class', 'state-description'); var isFirst = true; var isSecond = true; stateDef.descriptions.forEach(function (descr) { @@ -22641,12 +22762,12 @@ var drawDescrState = function drawDescrState(g, stateDef) { isFirst = false; }); var descrLine = g.append('line') // text label for the x axis - .attr('x1', Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.padding).attr('y1', Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.padding + titleHeight + Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.dividerMargin / 2).attr('y2', Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.padding + titleHeight + Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.dividerMargin / 2).attr('class', 'descr-divider'); + .attr('x1', (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.padding).attr('y1', (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.padding + titleHeight + (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.dividerMargin / 2).attr('y2', (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.padding + titleHeight + (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.dividerMargin / 2).attr('class', 'descr-divider'); var descrBox = description.node().getBBox(); var width = Math.max(descrBox.width, titleBox.width); - descrLine.attr('x2', width + 3 * Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.padding); // const classBox = title.node().getBBox(); + descrLine.attr('x2', width + 3 * (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.padding); // const classBox = title.node().getBBox(); - g.insert('rect', ':first-child').attr('x', Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.padding).attr('y', Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.padding).attr('width', width + 2 * Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.padding).attr('height', descrBox.height + titleHeight + 2 * Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.padding).attr('rx', Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.radius); + g.insert('rect', ':first-child').attr('x', (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.padding).attr('y', (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.padding).attr('width', width + 2 * (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.padding).attr('height', descrBox.height + titleHeight + 2 * (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.padding).attr('rx', (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.radius); return g; }; /** @@ -22662,12 +22783,12 @@ var drawDescrState = function drawDescrState(g, stateDef) { */ var addTitleAndBox = function addTitleAndBox(g, stateDef, altBkg) { - var pad = Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.padding; - var dblPad = 2 * Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.padding; + var pad = (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.padding; + var dblPad = 2 * (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.padding; var orgBox = g.node().getBBox(); var orgWidth = orgBox.width; var orgX = orgBox.x; - var title = g.append('text').attr('x', 0).attr('y', Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.titleShift).attr('font-size', Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.fontSize).attr('class', 'state-title').text(stateDef.id); + var title = g.append('text').attr('x', 0).attr('y', (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.titleShift).attr('font-size', (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.fontSize).attr('class', 'state-title').text(stateDef.id); var titleBox = title.node().getBBox(); var titleWidth = titleBox.width + dblPad; var width = Math.max(titleWidth, orgWidth); // + dblPad; @@ -22713,31 +22834,31 @@ var addTitleAndBox = function addTitleAndBox(g, stateDef, altBkg) { } } - var lineY = 1 - Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.textHeight; // White color + var lineY = 1 - (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.textHeight; // White color - g.insert('rect', ':first-child').attr('x', startX).attr('y', lineY).attr('class', altBkg ? 'alt-composit' : 'composit').attr('width', width).attr('height', graphBox.height + Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.textHeight + Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.titleShift + 1).attr('rx', '0'); + g.insert('rect', ':first-child').attr('x', startX).attr('y', lineY).attr('class', altBkg ? 'alt-composit' : 'composit').attr('width', width).attr('height', graphBox.height + (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.textHeight + (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.titleShift + 1).attr('rx', '0'); title.attr('x', startX + pad); if (titleWidth <= orgWidth) title.attr('x', orgX + (width - dblPad) / 2 - titleWidth / 2 + pad); // Title background - g.insert('rect', ':first-child').attr('x', startX).attr('y', Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.titleShift - Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.textHeight - Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.padding).attr('width', width) // Just needs to be higher then the descr line, will be clipped by the white color box - .attr('height', Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.textHeight * 3).attr('rx', Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.radius); // Full background + g.insert('rect', ':first-child').attr('x', startX).attr('y', (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.titleShift - (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.textHeight - (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.padding).attr('width', width) // Just needs to be higher then the descr line, will be clipped by the white color box + .attr('height', (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.textHeight * 3).attr('rx', (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.radius); // Full background - g.insert('rect', ':first-child').attr('x', startX).attr('y', Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.titleShift - Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.textHeight - Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.padding).attr('width', width).attr('height', graphBox.height + 3 + 2 * Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.textHeight).attr('rx', Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.radius); + g.insert('rect', ':first-child').attr('x', startX).attr('y', (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.titleShift - (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.textHeight - (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.padding).attr('width', width).attr('height', graphBox.height + 3 + 2 * (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.textHeight).attr('rx', (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.radius); return g; }; var drawEndState = function drawEndState(g) { g.append('circle') // .style('stroke', 'black') // .style('fill', 'white') - .attr('class', 'end-state-outer').attr('r', Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.sizeUnit + Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.miniPadding).attr('cx', Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.padding + Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.sizeUnit + Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.miniPadding).attr('cy', Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.padding + Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.sizeUnit + Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.miniPadding); + .attr('class', 'end-state-outer').attr('r', (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.sizeUnit + (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.miniPadding).attr('cx', (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.padding + (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.sizeUnit + (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.miniPadding).attr('cy', (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.padding + (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.sizeUnit + (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.miniPadding); return g.append('circle') // .style('stroke', 'black') // .style('fill', 'black') - .attr('class', 'end-state-inner').attr('r', Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.sizeUnit).attr('cx', Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.padding + Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.sizeUnit + 2).attr('cy', Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.padding + Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.sizeUnit + 2); + .attr('class', 'end-state-inner').attr('r', (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.sizeUnit).attr('cx', (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.padding + (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.sizeUnit + 2).attr('cy', (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.padding + (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.sizeUnit + 2); }; var drawForkJoinState = function drawForkJoinState(g, stateDef) { - var width = Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.forkWidth; - var height = Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.forkHeight; + var width = (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.forkWidth; + var height = (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.forkHeight; if (stateDef.parentId) { var tmp = width; @@ -22745,12 +22866,12 @@ var drawForkJoinState = function drawForkJoinState(g, stateDef) { height = tmp; } - return g.append('rect').style('stroke', 'black').style('fill', 'black').attr('width', width).attr('height', height).attr('x', Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.padding).attr('y', Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.padding); + return g.append('rect').style('stroke', 'black').style('fill', 'black').attr('width', width).attr('height', height).attr('x', (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.padding).attr('y', (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.padding); }; var drawText = function drawText(elem, textData) { // Remove and ignore br:s - var nText = textData.text.replace(_common_common__WEBPACK_IMPORTED_MODULE_4__["default"].lineBreakRegex, ' '); + var nText = textData.text.replace(_common_common__WEBPACK_IMPORTED_MODULE_2__["default"].lineBreakRegex, ' '); var textElem = elem.append('text'); textElem.attr('x', textData.x); textElem.attr('y', textData.y); @@ -22777,8 +22898,8 @@ var _drawLongText = function _drawLongText(_text, x, y, g) { var text = _text.replace(/\r\n/g, '
'); text = text.replace(/\n/g, '
'); - var lines = text.split(_common_common__WEBPACK_IMPORTED_MODULE_4__["default"].lineBreakRegex); - var tHeight = 1.25 * Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.noteMargin; + var lines = text.split(_common_common__WEBPACK_IMPORTED_MODULE_2__["default"].lineBreakRegex); + var tHeight = 1.25 * (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.noteMargin; var _iterator = _createForOfIteratorHelper(lines), _step; @@ -22799,8 +22920,8 @@ var _drawLongText = function _drawLongText(_text, x, y, g) { } textHeight += tHeight; - span.attr('x', x + Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.noteMargin); - span.attr('y', y + textHeight + 1.25 * Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.noteMargin); + span.attr('x', x + (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.noteMargin); + span.attr('y', y + textHeight + 1.25 * (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.noteMargin); } } } catch (err) { @@ -22823,15 +22944,15 @@ var _drawLongText = function _drawLongText(_text, x, y, g) { var drawNote = function drawNote(text, g) { g.attr('class', 'state-note'); - var note = g.append('rect').attr('x', 0).attr('y', Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.padding); + var note = g.append('rect').attr('x', 0).attr('y', (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.padding); var rectElem = g.append('g'); var _drawLongText2 = _drawLongText(text, 0, 0, rectElem), textWidth = _drawLongText2.textWidth, textHeight = _drawLongText2.textHeight; - note.attr('height', textHeight + 2 * Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.noteMargin); - note.attr('width', textWidth + Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.noteMargin * 2); + note.attr('height', textHeight + 2 * (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.noteMargin); + note.attr('width', textWidth + (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.noteMargin * 2); return note; }; /** @@ -22858,9 +22979,9 @@ var drawState = function drawState(elem, stateDef) { if (stateDef.type === 'default' && stateDef.descriptions.length === 0) drawSimpleState(g, stateDef); if (stateDef.type === 'default' && stateDef.descriptions.length > 0) drawDescrState(g, stateDef); var stateBox = g.node().getBBox(); - stateInfo.width = stateBox.width + 2 * Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.padding; - stateInfo.height = stateBox.height + 2 * Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.padding; - _id_cache_js__WEBPACK_IMPORTED_MODULE_1__["default"].set(id, stateInfo); // stateCnt++; + stateInfo.width = stateBox.width + 2 * (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.padding; + stateInfo.height = stateBox.height + 2 * (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.padding; + _id_cache_js__WEBPACK_IMPORTED_MODULE_3__["default"].set(id, stateInfo); // stateCnt++; return stateInfo; }; @@ -22868,16 +22989,16 @@ var edgeCount = 0; var drawEdge = function drawEdge(elem, path, relation) { var getRelationType = function getRelationType(type) { switch (type) { - case _stateDb__WEBPACK_IMPORTED_MODULE_2__["default"].relationType.AGGREGATION: + case _stateDb__WEBPACK_IMPORTED_MODULE_4__["default"].relationType.AGGREGATION: return 'aggregation'; - case _stateDb__WEBPACK_IMPORTED_MODULE_2__["default"].relationType.EXTENSION: + case _stateDb__WEBPACK_IMPORTED_MODULE_4__["default"].relationType.EXTENSION: return 'extension'; - case _stateDb__WEBPACK_IMPORTED_MODULE_2__["default"].relationType.COMPOSITION: + case _stateDb__WEBPACK_IMPORTED_MODULE_4__["default"].relationType.COMPOSITION: return 'composition'; - case _stateDb__WEBPACK_IMPORTED_MODULE_2__["default"].relationType.DEPENDENCY: + case _stateDb__WEBPACK_IMPORTED_MODULE_4__["default"].relationType.DEPENDENCY: return 'dependency'; } }; @@ -22888,30 +23009,30 @@ var drawEdge = function drawEdge(elem, path, relation) { var lineData = path.points; // This is the accessor function we talked about above - var lineFunction = Object(d3__WEBPACK_IMPORTED_MODULE_0__["line"])().x(function (d) { + var lineFunction = (0,d3__WEBPACK_IMPORTED_MODULE_0__.line)().x(function (d) { return d.x; }).y(function (d) { return d.y; - }).curve(d3__WEBPACK_IMPORTED_MODULE_0__["curveBasis"]); + }).curve(d3__WEBPACK_IMPORTED_MODULE_0__.curveBasis); var svgPath = elem.append('path').attr('d', lineFunction(lineData)).attr('id', 'edge' + edgeCount).attr('class', 'transition'); var url = ''; - if (Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.arrowMarkerAbsolute) { + if ((0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.arrowMarkerAbsolute) { url = window.location.protocol + '//' + window.location.host + window.location.pathname + window.location.search; url = url.replace(/\(/g, '\\('); url = url.replace(/\)/g, '\\)'); } - svgPath.attr('marker-end', 'url(' + url + '#' + getRelationType(_stateDb__WEBPACK_IMPORTED_MODULE_2__["default"].relationType.DEPENDENCY) + 'End' + ')'); + svgPath.attr('marker-end', 'url(' + url + '#' + getRelationType(_stateDb__WEBPACK_IMPORTED_MODULE_4__["default"].relationType.DEPENDENCY) + 'End' + ')'); if (typeof relation.title !== 'undefined') { var label = elem.append('g').attr('class', 'stateLabel'); - var _utils$calcLabelPosit = _utils__WEBPACK_IMPORTED_MODULE_3__["default"].calcLabelPosition(path.points), + var _utils$calcLabelPosit = _utils__WEBPACK_IMPORTED_MODULE_5__["default"].calcLabelPosition(path.points), x = _utils$calcLabelPosit.x, y = _utils$calcLabelPosit.y; - var rows = _common_common__WEBPACK_IMPORTED_MODULE_4__["default"].getRows(relation.title); + var rows = _common_common__WEBPACK_IMPORTED_MODULE_2__["default"].getRows(relation.title); var titleHeight = 0; var titleRows = []; var maxWidth = 0; @@ -22922,12 +23043,12 @@ var drawEdge = function drawEdge(elem, path, relation) { var boundstmp = title.node().getBBox(); maxWidth = Math.max(maxWidth, boundstmp.width); minX = Math.min(minX, boundstmp.x); - _logger__WEBPACK_IMPORTED_MODULE_6__["log"].info(boundstmp.x, x, y + titleHeight); + _logger__WEBPACK_IMPORTED_MODULE_6__.log.info(boundstmp.x, x, y + titleHeight); if (titleHeight === 0) { var titleBox = title.node().getBBox(); titleHeight = titleBox.height; - _logger__WEBPACK_IMPORTED_MODULE_6__["log"].info('Title height', titleHeight, y); + _logger__WEBPACK_IMPORTED_MODULE_6__.log.info('Title height', titleHeight, y); } titleRows.push(title); @@ -22944,8 +23065,8 @@ var drawEdge = function drawEdge(elem, path, relation) { } var bounds = label.node().getBBox(); - label.insert('rect', ':first-child').attr('class', 'box').attr('x', x - maxWidth / 2 - Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.padding / 2).attr('y', y - boxHeight / 2 - Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.padding / 2 - 3.5).attr('width', maxWidth + Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.padding).attr('height', boxHeight + Object(_config__WEBPACK_IMPORTED_MODULE_5__["getConfig"])().state.padding); - _logger__WEBPACK_IMPORTED_MODULE_6__["log"].info(bounds); //label.attr('transform', '0 -' + (bounds.y / 2)); + label.insert('rect', ':first-child').attr('class', 'box').attr('x', x - maxWidth / 2 - (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.padding / 2).attr('y', y - boxHeight / 2 - (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.padding / 2 - 3.5).attr('width', maxWidth + (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.padding).attr('height', boxHeight + (0,_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)().state.padding); + _logger__WEBPACK_IMPORTED_MODULE_6__.log.info(bounds); //label.attr('transform', '0 -' + (bounds.y / 2)); // Debug points // path.points.forEach(point => { // g.append('circle') @@ -22972,25 +23093,27 @@ var drawEdge = function drawEdge(elem, path, relation) { /*!***************************************!*\ !*** ./src/diagrams/state/stateDb.js ***! \***************************************/ -/*! exports provided: parseDirective, addState, clear, getState, getStates, logDocuments, getRelations, addRelation, cleanupLabel, lineType, relationType, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "parseDirective", function() { return parseDirective; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "addState", function() { return addState; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "clear", function() { return clear; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getState", function() { return getState; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getStates", function() { return getStates; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "logDocuments", function() { return logDocuments; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getRelations", function() { return getRelations; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "addRelation", function() { return addRelation; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "cleanupLabel", function() { return cleanupLabel; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "lineType", function() { return lineType; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "relationType", function() { return relationType; }); -/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../logger */ "./src/logger.js"); -/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils */ "./src/utils.js"); -/* harmony import */ var _mermaidAPI__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../mermaidAPI */ "./src/mermaidAPI.js"); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "parseDirective": () => (/* binding */ parseDirective), +/* harmony export */ "addState": () => (/* binding */ addState), +/* harmony export */ "clear": () => (/* binding */ clear), +/* harmony export */ "getState": () => (/* binding */ getState), +/* harmony export */ "getStates": () => (/* binding */ getStates), +/* harmony export */ "logDocuments": () => (/* binding */ logDocuments), +/* harmony export */ "getRelations": () => (/* binding */ getRelations), +/* harmony export */ "addRelation": () => (/* binding */ addRelation), +/* harmony export */ "cleanupLabel": () => (/* binding */ cleanupLabel), +/* harmony export */ "lineType": () => (/* binding */ lineType), +/* harmony export */ "relationType": () => (/* binding */ relationType), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../logger */ "./src/logger.js"); +/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils */ "./src/utils.js"); +/* harmony import */ var _mermaidAPI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../mermaidAPI */ "./src/mermaidAPI.js"); /* harmony import */ var _common_common__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../common/common */ "./src/diagrams/common/common.js"); /* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../config */ "./src/config.js"); function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } @@ -23007,11 +23130,11 @@ var clone = function clone(o) { var rootDoc = []; var parseDirective = function parseDirective(statement, context, type) { - _mermaidAPI__WEBPACK_IMPORTED_MODULE_2__["default"].parseDirective(this, statement, context, type); + _mermaidAPI__WEBPACK_IMPORTED_MODULE_0__["default"].parseDirective(this, statement, context, type); }; var setRootDoc = function setRootDoc(o) { - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].info('Setting root doc', o); // rootDoc = { id: 'root', doc: o }; + _logger__WEBPACK_IMPORTED_MODULE_1__.log.info('Setting root doc', o); // rootDoc = { id: 'root', doc: o }; rootDoc = o; }; @@ -23054,7 +23177,7 @@ var docTranslator = function docTranslator(parent, node, first) { if (doc.length > 0 && currentDoc.length > 0) { var _newNode = { stmt: 'state', - id: Object(_utils__WEBPACK_IMPORTED_MODULE_1__["generateId"])(), + id: (0,_utils__WEBPACK_IMPORTED_MODULE_2__.generateId)(), type: 'divider', doc: clone(currentDoc) }; @@ -23096,9 +23219,9 @@ var extract = function extract(_doc) { // } - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].info(doc); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.info(doc); clear(); - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].info('Extract', doc); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.info('Extract', doc); doc.forEach(function (item) { if (item.stmt === 'state') { addState(item.id, item.type, item.doc, item.description, item.note); @@ -23154,7 +23277,7 @@ var addState = function addState(id, type, doc, descr, note) { } if (descr) { - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].info('Adding state ', id, descr); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.info('Adding state ', id, descr); if (typeof descr === 'string') addDescription(id, descr.trim()); if (_typeof(descr) === 'object') { @@ -23166,7 +23289,7 @@ var addState = function addState(id, type, doc, descr, note) { if (note) { currentDocument.states[id].note = note; - currentDocument.states[id].note.text = _common_common__WEBPACK_IMPORTED_MODULE_3__["default"].sanitizeText(currentDocument.states[id].note.text, _config__WEBPACK_IMPORTED_MODULE_4__["getConfig"]()); + currentDocument.states[id].note.text = _common_common__WEBPACK_IMPORTED_MODULE_3__["default"].sanitizeText(currentDocument.states[id].note.text, _config__WEBPACK_IMPORTED_MODULE_4__.getConfig()); } }; var clear = function clear() { @@ -23187,7 +23310,7 @@ var getStates = function getStates() { return currentDocument.states; }; var logDocuments = function logDocuments() { - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].info('Documents = ', documents); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.info('Documents = ', documents); }; var getRelations = function getRelations() { return currentDocument.relations; @@ -23215,7 +23338,7 @@ var addRelation = function addRelation(_id1, _id2, title) { currentDocument.relations.push({ id1: id1, id2: id2, - title: _common_common__WEBPACK_IMPORTED_MODULE_3__["default"].sanitizeText(title, _config__WEBPACK_IMPORTED_MODULE_4__["getConfig"]()) + title: _common_common__WEBPACK_IMPORTED_MODULE_3__["default"].sanitizeText(title, _config__WEBPACK_IMPORTED_MODULE_4__.getConfig()) }); }; @@ -23227,7 +23350,7 @@ var addDescription = function addDescription(id, _descr) { descr = descr.substr(1).trim(); } - theState.descriptions.push(_common_common__WEBPACK_IMPORTED_MODULE_3__["default"].sanitizeText(descr, _config__WEBPACK_IMPORTED_MODULE_4__["getConfig"]())); + theState.descriptions.push(_common_common__WEBPACK_IMPORTED_MODULE_3__["default"].sanitizeText(descr, _config__WEBPACK_IMPORTED_MODULE_4__.getConfig())); }; var cleanupLabel = function cleanupLabel(label) { @@ -23275,10 +23398,10 @@ var trimColon = function trimColon(str) { return str && str[0] === ':' ? str.substr(1).trim() : str.trim(); }; -/* harmony default export */ __webpack_exports__["default"] = ({ +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ parseDirective: parseDirective, getConfig: function getConfig() { - return _config__WEBPACK_IMPORTED_MODULE_4__["getConfig"]().state; + return _config__WEBPACK_IMPORTED_MODULE_4__.getConfig().state; }, addState: addState, clear: clear, @@ -23308,26 +23431,28 @@ var trimColon = function trimColon(str) { /*!************************************************!*\ !*** ./src/diagrams/state/stateRenderer-v2.js ***! \************************************************/ -/*! exports provided: setConf, getClasses, draw, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setConf", function() { return setConf; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getClasses", function() { return getClasses; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "draw", function() { return draw; }); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "setConf": () => (/* binding */ setConf), +/* harmony export */ "getClasses": () => (/* binding */ getClasses), +/* harmony export */ "draw": () => (/* binding */ draw), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); /* harmony import */ var graphlib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! graphlib */ "graphlib"); /* harmony import */ var graphlib__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(graphlib__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! d3 */ "d3"); /* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(d3__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var _stateDb__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./stateDb */ "./src/diagrams/state/stateDb.js"); -/* harmony import */ var _parser_stateDiagram__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./parser/stateDiagram */ "./src/diagrams/state/parser/stateDiagram.jison"); -/* harmony import */ var _parser_stateDiagram__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_parser_stateDiagram__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../config */ "./src/config.js"); -/* harmony import */ var _dagre_wrapper_index_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../dagre-wrapper/index.js */ "./src/dagre-wrapper/index.js"); -/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../logger */ "./src/logger.js"); -/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../utils */ "./src/utils.js"); -/* harmony import */ var _common_common__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../common/common */ "./src/diagrams/common/common.js"); +/* harmony import */ var _stateDb__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./stateDb */ "./src/diagrams/state/stateDb.js"); +/* harmony import */ var _parser_stateDiagram__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./parser/stateDiagram */ "./src/diagrams/state/parser/stateDiagram.jison"); +/* harmony import */ var _parser_stateDiagram__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_parser_stateDiagram__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../config */ "./src/config.js"); +/* harmony import */ var _dagre_wrapper_index_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../dagre-wrapper/index.js */ "./src/dagre-wrapper/index.js"); +/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../logger */ "./src/logger.js"); +/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../utils */ "./src/utils.js"); +/* harmony import */ var _common_common__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../common/common */ "./src/diagrams/common/common.js"); @@ -23352,13 +23477,13 @@ var nodeDb = {}; */ var getClasses = function getClasses(text) { - _logger__WEBPACK_IMPORTED_MODULE_6__["log"].trace('Extracting classes'); - _stateDb__WEBPACK_IMPORTED_MODULE_2__["default"].clear(); - var parser = _parser_stateDiagram__WEBPACK_IMPORTED_MODULE_3___default.a.parser; - parser.yy = _stateDb__WEBPACK_IMPORTED_MODULE_2__["default"]; // Parse the graph definition + _logger__WEBPACK_IMPORTED_MODULE_2__.log.trace('Extracting classes'); + _stateDb__WEBPACK_IMPORTED_MODULE_3__["default"].clear(); + var parser = (_parser_stateDiagram__WEBPACK_IMPORTED_MODULE_4___default().parser); + parser.yy = _stateDb__WEBPACK_IMPORTED_MODULE_3__["default"]; // Parse the graph definition parser.parse(text); - return _stateDb__WEBPACK_IMPORTED_MODULE_2__["default"].getClasses(); + return _stateDb__WEBPACK_IMPORTED_MODULE_3__["default"].getClasses(); }; var setupNode = function setupNode(g, parent, node, altFlag) { @@ -23382,7 +23507,7 @@ var setupNode = function setupNode(g, parent, node, altFlag) { nodeDb[node.id] = { id: node.id, shape: shape, - description: _common_common__WEBPACK_IMPORTED_MODULE_8__["default"].sanitizeText(node.id, Object(_config__WEBPACK_IMPORTED_MODULE_4__["getConfig"])()), + description: _common_common__WEBPACK_IMPORTED_MODULE_5__["default"].sanitizeText(node.id, (0,_config__WEBPACK_IMPORTED_MODULE_6__.getConfig)()), classes: 'statediagram-state' }; } // Build of the array of description strings accordinging @@ -23415,7 +23540,7 @@ var setupNode = function setupNode(g, parent, node, altFlag) { if (!nodeDb[node.id].type && node.doc) { - _logger__WEBPACK_IMPORTED_MODULE_6__["log"].info('Setting cluster for ', node.id, getDir(node)); + _logger__WEBPACK_IMPORTED_MODULE_2__.log.info('Setting cluster for ', node.id, getDir(node)); nodeDb[node.id].type = 'group'; nodeDb[node.id].dir = getDir(node); nodeDb[node.id].shape = node.type === 'divider' ? 'divider' : 'roundedWithTitle'; @@ -23503,13 +23628,13 @@ var setupNode = function setupNode(g, parent, node, altFlag) { if (parent) { if (parent.id !== 'root') { - _logger__WEBPACK_IMPORTED_MODULE_6__["log"].trace('Setting node ', node.id, ' to be child of its parent ', parent.id); + _logger__WEBPACK_IMPORTED_MODULE_2__.log.trace('Setting node ', node.id, ' to be child of its parent ', parent.id); g.setParent(node.id, parent.id); } } if (node.doc) { - _logger__WEBPACK_IMPORTED_MODULE_6__["log"].trace('Adding nodes children '); + _logger__WEBPACK_IMPORTED_MODULE_2__.log.trace('Adding nodes children '); setupDoc(g, node, node.doc, !altFlag); } }; @@ -23518,7 +23643,7 @@ var cnt = 0; var setupDoc = function setupDoc(g, parent, doc, altFlag) { // cnt = 0; - _logger__WEBPACK_IMPORTED_MODULE_6__["log"].trace('items', doc); + _logger__WEBPACK_IMPORTED_MODULE_2__.log.trace('items', doc); doc.forEach(function (item) { if (item.stmt === 'state' || item.stmt === 'default') { setupNode(g, parent, item, altFlag); @@ -23569,32 +23694,32 @@ var getDir = function getDir(nodes, defaultDir) { var draw = function draw(text, id) { - _logger__WEBPACK_IMPORTED_MODULE_6__["log"].info('Drawing state diagram (v2)', id); - _stateDb__WEBPACK_IMPORTED_MODULE_2__["default"].clear(); + _logger__WEBPACK_IMPORTED_MODULE_2__.log.info('Drawing state diagram (v2)', id); + _stateDb__WEBPACK_IMPORTED_MODULE_3__["default"].clear(); nodeDb = {}; - var parser = _parser_stateDiagram__WEBPACK_IMPORTED_MODULE_3___default.a.parser; - parser.yy = _stateDb__WEBPACK_IMPORTED_MODULE_2__["default"]; // Parse the graph definition + var parser = (_parser_stateDiagram__WEBPACK_IMPORTED_MODULE_4___default().parser); + parser.yy = _stateDb__WEBPACK_IMPORTED_MODULE_3__["default"]; // Parse the graph definition parser.parse(text); // Fetch the default direction, use TD if none was found - var dir = _stateDb__WEBPACK_IMPORTED_MODULE_2__["default"].getDirection(); + var dir = _stateDb__WEBPACK_IMPORTED_MODULE_3__["default"].getDirection(); if (typeof dir === 'undefined') { dir = 'LR'; } - var conf = Object(_config__WEBPACK_IMPORTED_MODULE_4__["getConfig"])().state; + var conf = (0,_config__WEBPACK_IMPORTED_MODULE_6__.getConfig)().state; var nodeSpacing = conf.nodeSpacing || 50; var rankSpacing = conf.rankSpacing || 50; - _logger__WEBPACK_IMPORTED_MODULE_6__["log"].info(_stateDb__WEBPACK_IMPORTED_MODULE_2__["default"].getRootDocV2()); - _stateDb__WEBPACK_IMPORTED_MODULE_2__["default"].extract(_stateDb__WEBPACK_IMPORTED_MODULE_2__["default"].getRootDocV2()); - _logger__WEBPACK_IMPORTED_MODULE_6__["log"].info(_stateDb__WEBPACK_IMPORTED_MODULE_2__["default"].getRootDocV2()); // Create the input mermaid.graph + _logger__WEBPACK_IMPORTED_MODULE_2__.log.info(_stateDb__WEBPACK_IMPORTED_MODULE_3__["default"].getRootDocV2()); + _stateDb__WEBPACK_IMPORTED_MODULE_3__["default"].extract(_stateDb__WEBPACK_IMPORTED_MODULE_3__["default"].getRootDocV2()); + _logger__WEBPACK_IMPORTED_MODULE_2__.log.info(_stateDb__WEBPACK_IMPORTED_MODULE_3__["default"].getRootDocV2()); // Create the input mermaid.graph - var g = new graphlib__WEBPACK_IMPORTED_MODULE_0___default.a.Graph({ + var g = new (graphlib__WEBPACK_IMPORTED_MODULE_0___default().Graph)({ multigraph: true, compound: true }).setGraph({ - rankdir: getDir(_stateDb__WEBPACK_IMPORTED_MODULE_2__["default"].getRootDocV2()), + rankdir: getDir(_stateDb__WEBPACK_IMPORTED_MODULE_3__["default"].getRootDocV2()), nodesep: nodeSpacing, ranksep: rankSpacing, marginx: 8, @@ -23602,12 +23727,12 @@ var draw = function draw(text, id) { }).setDefaultEdgeLabel(function () { return {}; }); - setupNode(g, undefined, _stateDb__WEBPACK_IMPORTED_MODULE_2__["default"].getRootDocV2(), true); // Set up an SVG group so that we can translate the final graph. + setupNode(g, undefined, _stateDb__WEBPACK_IMPORTED_MODULE_3__["default"].getRootDocV2(), true); // Set up an SVG group so that we can translate the final graph. - var svg = Object(d3__WEBPACK_IMPORTED_MODULE_1__["select"])("[id=\"".concat(id, "\"]")); // Run the renderer. This is what draws the final graph. + var svg = (0,d3__WEBPACK_IMPORTED_MODULE_1__.select)("[id=\"".concat(id, "\"]")); // Run the renderer. This is what draws the final graph. - var element = Object(d3__WEBPACK_IMPORTED_MODULE_1__["select"])('#' + id + ' g'); - Object(_dagre_wrapper_index_js__WEBPACK_IMPORTED_MODULE_5__["render"])(element, g, ['barb'], 'statediagram', id); + var element = (0,d3__WEBPACK_IMPORTED_MODULE_1__.select)('#' + id + ' g'); + (0,_dagre_wrapper_index_js__WEBPACK_IMPORTED_MODULE_7__.render)(element, g, ['barb'], 'statediagram', id); var padding = 8; var bounds = svg.node().getBBox(); var width = bounds.width + padding * 2; @@ -23615,10 +23740,10 @@ var draw = function draw(text, id) { svg.attr('class', 'statediagram'); var svgBounds = svg.node().getBBox(); - Object(_utils__WEBPACK_IMPORTED_MODULE_7__["configureSvgSize"])(svg, height, width * 1.75, conf.useMaxWidth); // Ensure the viewBox includes the whole svgBounds area with extra space for padding + (0,_utils__WEBPACK_IMPORTED_MODULE_8__.configureSvgSize)(svg, height, width * 1.75, conf.useMaxWidth); // Ensure the viewBox includes the whole svgBounds area with extra space for padding var vBox = "".concat(svgBounds.x - padding, " ").concat(svgBounds.y - padding, " ").concat(width, " ").concat(height); - _logger__WEBPACK_IMPORTED_MODULE_6__["log"].debug("viewBox ".concat(vBox)); + _logger__WEBPACK_IMPORTED_MODULE_2__.log.debug("viewBox ".concat(vBox)); svg.attr('viewBox', vBox); // Add label rects for non html labels // if (!evaluate(conf.htmlLabels) || true) { @@ -23636,7 +23761,7 @@ var draw = function draw(text, id) { label.insertBefore(rect, label.firstChild); // } } }; -/* harmony default export */ __webpack_exports__["default"] = ({ +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ setConf: setConf, getClasses: getClasses, draw: draw @@ -23648,27 +23773,29 @@ var draw = function draw(text, id) { /*!*********************************************!*\ !*** ./src/diagrams/state/stateRenderer.js ***! \*********************************************/ -/*! exports provided: setConf, draw, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setConf", function() { return setConf; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "draw", function() { return draw; }); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "setConf": () => (/* binding */ setConf), +/* harmony export */ "draw": () => (/* binding */ draw), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); /* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3 */ "d3"); /* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(d3__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var dagre__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! dagre */ "dagre"); /* harmony import */ var dagre__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(dagre__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var graphlib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! graphlib */ "graphlib"); /* harmony import */ var graphlib__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(graphlib__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../logger */ "./src/logger.js"); +/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../logger */ "./src/logger.js"); /* harmony import */ var _stateDb__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./stateDb */ "./src/diagrams/state/stateDb.js"); -/* harmony import */ var _common_common__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../common/common */ "./src/diagrams/common/common.js"); -/* harmony import */ var _parser_stateDiagram__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./parser/stateDiagram */ "./src/diagrams/state/parser/stateDiagram.jison"); -/* harmony import */ var _parser_stateDiagram__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_parser_stateDiagram__WEBPACK_IMPORTED_MODULE_6__); -/* harmony import */ var _shapes__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./shapes */ "./src/diagrams/state/shapes.js"); -/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../config */ "./src/config.js"); -/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../utils */ "./src/utils.js"); +/* harmony import */ var _common_common__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../common/common */ "./src/diagrams/common/common.js"); +/* harmony import */ var _parser_stateDiagram__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./parser/stateDiagram */ "./src/diagrams/state/parser/stateDiagram.jison"); +/* harmony import */ var _parser_stateDiagram__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_parser_stateDiagram__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _shapes__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./shapes */ "./src/diagrams/state/shapes.js"); +/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../config */ "./src/config.js"); +/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../utils */ "./src/utils.js"); @@ -23680,7 +23807,7 @@ __webpack_require__.r(__webpack_exports__); -_parser_stateDiagram__WEBPACK_IMPORTED_MODULE_6__["parser"].yy = _stateDb__WEBPACK_IMPORTED_MODULE_4__["default"]; // TODO Move conf object to main conf in mermaidAPI +_parser_stateDiagram__WEBPACK_IMPORTED_MODULE_3__.parser.yy = _stateDb__WEBPACK_IMPORTED_MODULE_4__["default"]; // TODO Move conf object to main conf in mermaidAPI var conf; var transformationLog = {}; @@ -23701,15 +23828,15 @@ var insertMarkers = function insertMarkers(elem) { var draw = function draw(text, id) { - conf = Object(_config__WEBPACK_IMPORTED_MODULE_8__["getConfig"])().state; - _parser_stateDiagram__WEBPACK_IMPORTED_MODULE_6__["parser"].yy.clear(); - _parser_stateDiagram__WEBPACK_IMPORTED_MODULE_6__["parser"].parse(text); - _logger__WEBPACK_IMPORTED_MODULE_3__["log"].debug('Rendering diagram ' + text); // Fetch the default direction, use TD if none was found + conf = (0,_config__WEBPACK_IMPORTED_MODULE_5__.getConfig)().state; + _parser_stateDiagram__WEBPACK_IMPORTED_MODULE_3__.parser.yy.clear(); + _parser_stateDiagram__WEBPACK_IMPORTED_MODULE_3__.parser.parse(text); + _logger__WEBPACK_IMPORTED_MODULE_6__.log.debug('Rendering diagram ' + text); // Fetch the default direction, use TD if none was found - var diagram = Object(d3__WEBPACK_IMPORTED_MODULE_0__["select"])("[id='".concat(id, "']")); + var diagram = (0,d3__WEBPACK_IMPORTED_MODULE_0__.select)("[id='".concat(id, "']")); insertMarkers(diagram); // Layout graph, Create a new directed graph - var graph = new graphlib__WEBPACK_IMPORTED_MODULE_2___default.a.Graph({ + var graph = new (graphlib__WEBPACK_IMPORTED_MODULE_2___default().Graph)({ multigraph: true, compound: true, // acyclicer: 'greedy', @@ -23728,7 +23855,7 @@ var draw = function draw(text, id) { var height = bounds.height + padding * 2; // zoom in a bit var svgWidth = width * 1.75; - Object(_utils__WEBPACK_IMPORTED_MODULE_9__["configureSvgSize"])(diagram, height, svgWidth, conf.useMaxWidth); + (0,_utils__WEBPACK_IMPORTED_MODULE_7__.configureSvgSize)(diagram, height, svgWidth, conf.useMaxWidth); diagram.attr('viewBox', "".concat(bounds.x - conf.padding, " ").concat(bounds.y - conf.padding, " ") + width + ' ' + height); }; @@ -23738,7 +23865,7 @@ var getLabelWidth = function getLabelWidth(text) { var renderDoc = function renderDoc(doc, diagram, parentId, altBkg) { // // Layout graph, Create a new directed graph - var graph = new graphlib__WEBPACK_IMPORTED_MODULE_2___default.a.Graph({ + var graph = new (graphlib__WEBPACK_IMPORTED_MODULE_2___default().Graph)({ compound: true, multigraph: true }); @@ -23804,7 +23931,7 @@ var renderDoc = function renderDoc(doc, diagram, parentId, altBkg) { if (first) { // first = false; - sub = Object(_shapes__WEBPACK_IMPORTED_MODULE_7__["addTitleAndBox"])(sub, stateDef, altBkg); + sub = (0,_shapes__WEBPACK_IMPORTED_MODULE_8__.addTitleAndBox)(sub, stateDef, altBkg); var boxBounds = sub.node().getBBox(); node.width = boxBounds.width; node.height = boxBounds.height + conf.padding / 2; @@ -23819,7 +23946,7 @@ var renderDoc = function renderDoc(doc, diagram, parentId, altBkg) { node.height = _boxBounds.height; // transformationLog[stateDef.id] = { y: conf.compositTitleSize }; } } else { - node = Object(_shapes__WEBPACK_IMPORTED_MODULE_7__["drawState"])(diagram, stateDef, graph); + node = (0,_shapes__WEBPACK_IMPORTED_MODULE_8__.drawState)(diagram, stateDef, graph); } if (stateDef.note) { @@ -23830,7 +23957,7 @@ var renderDoc = function renderDoc(doc, diagram, parentId, altBkg) { note: stateDef.note, type: 'note' }; - var note = Object(_shapes__WEBPACK_IMPORTED_MODULE_7__["drawState"])(diagram, noteDef, graph); // graph.setNode(node.id, node); + var note = (0,_shapes__WEBPACK_IMPORTED_MODULE_8__.drawState)(diagram, noteDef, graph); // graph.setNode(node.id, node); if (stateDef.note.position === 'left of') { graph.setNode(node.id + '-note', note); @@ -23851,26 +23978,26 @@ var renderDoc = function renderDoc(doc, diagram, parentId, altBkg) { } } - _logger__WEBPACK_IMPORTED_MODULE_3__["log"].debug('Count=', graph.nodeCount(), graph); + _logger__WEBPACK_IMPORTED_MODULE_6__.log.debug('Count=', graph.nodeCount(), graph); var cnt = 0; relations.forEach(function (relation) { cnt++; - _logger__WEBPACK_IMPORTED_MODULE_3__["log"].debug('Setting edge', relation); + _logger__WEBPACK_IMPORTED_MODULE_6__.log.debug('Setting edge', relation); graph.setEdge(relation.id1, relation.id2, { relation: relation, width: getLabelWidth(relation.title), - height: conf.labelHeight * _common_common__WEBPACK_IMPORTED_MODULE_5__["default"].getRows(relation.title).length, + height: conf.labelHeight * _common_common__WEBPACK_IMPORTED_MODULE_9__["default"].getRows(relation.title).length, labelpos: 'c' }, 'id' + cnt); }); - dagre__WEBPACK_IMPORTED_MODULE_1___default.a.layout(graph); - _logger__WEBPACK_IMPORTED_MODULE_3__["log"].debug('Graph after layout', graph.nodes()); + dagre__WEBPACK_IMPORTED_MODULE_1___default().layout(graph); + _logger__WEBPACK_IMPORTED_MODULE_6__.log.debug('Graph after layout', graph.nodes()); var svgElem = diagram.node(); graph.nodes().forEach(function (v) { if (typeof v !== 'undefined' && typeof graph.node(v) !== 'undefined') { - _logger__WEBPACK_IMPORTED_MODULE_3__["log"].warn('Node ' + v + ': ' + JSON.stringify(graph.node(v))); - Object(d3__WEBPACK_IMPORTED_MODULE_0__["select"])('#' + svgElem.id + ' #' + v).attr('transform', 'translate(' + (graph.node(v).x - graph.node(v).width / 2) + ',' + (graph.node(v).y + (transformationLog[v] ? transformationLog[v].y : 0) - graph.node(v).height / 2) + ' )'); - Object(d3__WEBPACK_IMPORTED_MODULE_0__["select"])('#' + svgElem.id + ' #' + v).attr('data-x-shift', graph.node(v).x - graph.node(v).width / 2); + _logger__WEBPACK_IMPORTED_MODULE_6__.log.warn('Node ' + v + ': ' + JSON.stringify(graph.node(v))); + (0,d3__WEBPACK_IMPORTED_MODULE_0__.select)('#' + svgElem.id + ' #' + v).attr('transform', 'translate(' + (graph.node(v).x - graph.node(v).width / 2) + ',' + (graph.node(v).y + (transformationLog[v] ? transformationLog[v].y : 0) - graph.node(v).height / 2) + ' )'); + (0,d3__WEBPACK_IMPORTED_MODULE_0__.select)('#' + svgElem.id + ' #' + v).attr('data-x-shift', graph.node(v).x - graph.node(v).width / 2); var dividers = document.querySelectorAll('#' + svgElem.id + ' #' + v + ' .divider'); dividers.forEach(function (divider) { var parent = divider.parentElement; @@ -23890,14 +24017,14 @@ var renderDoc = function renderDoc(doc, diagram, parentId, altBkg) { divider.setAttribute('x2', pWidth - pShift - 8); }); } else { - _logger__WEBPACK_IMPORTED_MODULE_3__["log"].debug('No Node ' + v + ': ' + JSON.stringify(graph.node(v))); + _logger__WEBPACK_IMPORTED_MODULE_6__.log.debug('No Node ' + v + ': ' + JSON.stringify(graph.node(v))); } }); var stateBox = svgElem.getBBox(); graph.edges().forEach(function (e) { if (typeof e !== 'undefined' && typeof graph.edge(e) !== 'undefined') { - _logger__WEBPACK_IMPORTED_MODULE_3__["log"].debug('Edge ' + e.v + ' -> ' + e.w + ': ' + JSON.stringify(graph.edge(e))); - Object(_shapes__WEBPACK_IMPORTED_MODULE_7__["drawEdge"])(diagram, graph.edge(e), graph.edge(e).relation); + _logger__WEBPACK_IMPORTED_MODULE_6__.log.debug('Edge ' + e.v + ' -> ' + e.w + ': ' + JSON.stringify(graph.edge(e))); + (0,_shapes__WEBPACK_IMPORTED_MODULE_8__.drawEdge)(diagram, graph.edge(e), graph.edge(e).relation); } }); stateBox = svgElem.getBBox(); @@ -23909,11 +24036,11 @@ var renderDoc = function renderDoc(doc, diagram, parentId, altBkg) { }; stateInfo.width = stateBox.width + 2 * conf.padding; stateInfo.height = stateBox.height + 2 * conf.padding; - _logger__WEBPACK_IMPORTED_MODULE_3__["log"].debug('Doc rendered', stateInfo, graph); + _logger__WEBPACK_IMPORTED_MODULE_6__.log.debug('Doc rendered', stateInfo, graph); return stateInfo; }; -/* harmony default export */ __webpack_exports__["default"] = ({ +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ setConf: setConf, draw: draw }); @@ -23924,16 +24051,18 @@ var renderDoc = function renderDoc(doc, diagram, parentId, altBkg) { /*!**************************************!*\ !*** ./src/diagrams/state/styles.js ***! \**************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); var getStyles = function getStyles(options) { return "\ndefs #statediagram-barbEnd {\n fill: ".concat(options.transitionColor, ";\n stroke: ").concat(options.transitionColor, ";\n }\ng.stateGroup text {\n fill: ").concat(options.nodeBorder, ";\n stroke: none;\n font-size: 10px;\n}\ng.stateGroup text {\n fill: ").concat(options.textColor, ";\n stroke: none;\n font-size: 10px;\n\n}\ng.stateGroup .state-title {\n font-weight: bolder;\n fill: ").concat(options.stateLabelColor, ";\n}\n\ng.stateGroup rect {\n fill: ").concat(options.mainBkg, ";\n stroke: ").concat(options.nodeBorder, ";\n}\n\ng.stateGroup line {\n stroke: ").concat(options.lineColor, ";\n stroke-width: 1;\n}\n\n.transition {\n stroke: ").concat(options.transitionColor, ";\n stroke-width: 1;\n fill: none;\n}\n\n.stateGroup .composit {\n fill: ").concat(options.background, ";\n border-bottom: 1px\n}\n\n.stateGroup .alt-composit {\n fill: #e0e0e0;\n border-bottom: 1px\n}\n\n.state-note {\n stroke: ").concat(options.noteBorderColor, ";\n fill: ").concat(options.noteBkgColor, ";\n\n text {\n fill: ").concat(options.noteTextColor, ";\n stroke: none;\n font-size: 10px;\n }\n}\n\n.stateLabel .box {\n stroke: none;\n stroke-width: 0;\n fill: ").concat(options.mainBkg, ";\n opacity: 0.5;\n}\n\n.edgeLabel .label rect {\n fill: ").concat(options.labelBackgroundColor, ";\n opacity: 0.5;\n}\n.edgeLabel .label text {\n fill: ").concat(options.transitionLabelColor || options.tertiaryTextColor, ";\n}\n.label div .edgeLabel {\n color: ").concat(options.transitionLabelColor || options.tertiaryTextColor, ";\n}\n\n.stateLabel text {\n fill: ").concat(options.stateLabelColor, ";\n font-size: 10px;\n font-weight: bold;\n}\n\n.node circle.state-start {\n fill: ").concat(options.specialStateColor, ";\n stroke: ").concat(options.specialStateColor, ";\n}\n\n.node .fork-join {\n fill: ").concat(options.specialStateColor, ";\n stroke: ").concat(options.specialStateColor, ";\n}\n\n.node circle.state-end {\n fill: ").concat(options.innerEndBackground, ";\n stroke: ").concat(options.background, ";\n stroke-width: 1.5\n}\n.end-state-inner {\n fill: ").concat(options.compositeBackground || options.background, ";\n // stroke: ").concat(options.background, ";\n stroke-width: 1.5\n}\n\n.node rect {\n fill: ").concat(options.stateBkg || options.mainBkg, ";\n stroke: ").concat(options.stateBorder || options.nodeBorder, ";\n stroke-width: 1px;\n}\n.node polygon {\n fill: ").concat(options.mainBkg, ";\n stroke: ").concat(options.stateBorder || options.nodeBorder, ";;\n stroke-width: 1px;\n}\n#statediagram-barbEnd {\n fill: ").concat(options.lineColor, ";\n}\n\n.statediagram-cluster rect {\n fill: ").concat(options.compositeTitleBackground, ";\n stroke: ").concat(options.stateBorder || options.nodeBorder, ";\n stroke-width: 1px;\n}\n\n.cluster-label, .nodeLabel {\n color: ").concat(options.stateLabelColor, ";\n}\n\n.statediagram-cluster rect.outer {\n rx: 5px;\n ry: 5px;\n}\n.statediagram-state .divider {\n stroke: ").concat(options.stateBorder || options.nodeBorder, ";\n}\n\n.statediagram-state .title-state {\n rx: 5px;\n ry: 5px;\n}\n.statediagram-cluster.statediagram-cluster .inner {\n fill: ").concat(options.compositeBackground || options.background, ";\n}\n.statediagram-cluster.statediagram-cluster-alt .inner {\n fill: ").concat(options.altBackground ? options.altBackground : '#efefef', ";\n}\n\n.statediagram-cluster .inner {\n rx:0;\n ry:0;\n}\n\n.statediagram-state rect.basic {\n rx: 5px;\n ry: 5px;\n}\n.statediagram-state rect.divider {\n stroke-dasharray: 10,10;\n fill: ").concat(options.altBackground ? options.altBackground : '#efefef', ";\n}\n\n.note-edge {\n stroke-dasharray: 5;\n}\n\n.statediagram-note rect {\n fill: ").concat(options.noteBkgColor, ";\n stroke: ").concat(options.noteBorderColor, ";\n stroke-width: 1px;\n rx: 0;\n ry: 0;\n}\n.statediagram-note rect {\n fill: ").concat(options.noteBkgColor, ";\n stroke: ").concat(options.noteBorderColor, ";\n stroke-width: 1px;\n rx: 0;\n ry: 0;\n}\n\n.statediagram-note text {\n fill: ").concat(options.noteTextColor, ";\n}\n\n.statediagram-note .nodeLabel {\n color: ").concat(options.noteTextColor, ";\n}\n.statediagram .edgeLabel {\n color: red; // ").concat(options.noteTextColor, ";\n}\n\n#dependencyStart, #dependencyEnd {\n fill: ").concat(options.lineColor, ";\n stroke: ").concat(options.lineColor, ";\n stroke-width: 1;\n}\n"); }; -/* harmony default export */ __webpack_exports__["default"] = (getStyles); +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (getStyles); /***/ }), @@ -23941,20 +24070,22 @@ var getStyles = function getStyles(options) { /*!************************************************!*\ !*** ./src/diagrams/user-journey/journeyDb.js ***! \************************************************/ -/*! exports provided: parseDirective, clear, setTitle, getTitle, addSection, getSections, getTasks, addTask, addTaskOrg, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "parseDirective", function() { return parseDirective; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "clear", function() { return clear; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setTitle", function() { return setTitle; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getTitle", function() { return getTitle; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "addSection", function() { return addSection; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getSections", function() { return getSections; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getTasks", function() { return getTasks; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "addTask", function() { return addTask; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "addTaskOrg", function() { return addTaskOrg; }); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "parseDirective": () => (/* binding */ parseDirective), +/* harmony export */ "clear": () => (/* binding */ clear), +/* harmony export */ "setTitle": () => (/* binding */ setTitle), +/* harmony export */ "getTitle": () => (/* binding */ getTitle), +/* harmony export */ "addSection": () => (/* binding */ addSection), +/* harmony export */ "getSections": () => (/* binding */ getSections), +/* harmony export */ "getTasks": () => (/* binding */ getTasks), +/* harmony export */ "addTask": () => (/* binding */ addTask), +/* harmony export */ "addTaskOrg": () => (/* binding */ addTaskOrg), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); /* harmony import */ var _mermaidAPI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../mermaidAPI */ "./src/mermaidAPI.js"); /* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../config */ "./src/config.js"); function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } @@ -24079,10 +24210,10 @@ var getActors = function getActors() { return updateActors(); }; -/* harmony default export */ __webpack_exports__["default"] = ({ +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ parseDirective: parseDirective, getConfig: function getConfig() { - return _config__WEBPACK_IMPORTED_MODULE_1__["getConfig"]().journey; + return _config__WEBPACK_IMPORTED_MODULE_1__.getConfig().journey; }, clear: clear, setTitle: setTitle, @@ -24101,22 +24232,24 @@ var getActors = function getActors() { /*!******************************************************!*\ !*** ./src/diagrams/user-journey/journeyRenderer.js ***! \******************************************************/ -/*! exports provided: setConf, draw, bounds, drawTasks, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setConf", function() { return setConf; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "draw", function() { return draw; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "bounds", function() { return bounds; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "drawTasks", function() { return drawTasks; }); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "setConf": () => (/* binding */ setConf), +/* harmony export */ "draw": () => (/* binding */ draw), +/* harmony export */ "bounds": () => (/* binding */ bounds), +/* harmony export */ "drawTasks": () => (/* binding */ drawTasks), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); /* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3 */ "d3"); /* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(d3__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _parser_journey__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./parser/journey */ "./src/diagrams/user-journey/parser/journey.jison"); /* harmony import */ var _parser_journey__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_parser_journey__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _journeyDb__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./journeyDb */ "./src/diagrams/user-journey/journeyDb.js"); -/* harmony import */ var _svgDraw__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./svgDraw */ "./src/diagrams/user-journey/svgDraw.js"); -/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../config */ "./src/config.js"); +/* harmony import */ var _svgDraw__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./svgDraw */ "./src/diagrams/user-journey/svgDraw.js"); +/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../config */ "./src/config.js"); /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../utils */ "./src/utils.js"); @@ -24124,7 +24257,7 @@ __webpack_require__.r(__webpack_exports__); -_parser_journey__WEBPACK_IMPORTED_MODULE_1__["parser"].yy = _journeyDb__WEBPACK_IMPORTED_MODULE_2__["default"]; +_parser_journey__WEBPACK_IMPORTED_MODULE_1__.parser.yy = _journeyDb__WEBPACK_IMPORTED_MODULE_2__["default"]; var setConf = function setConf(cnf) { var keys = Object.keys(cnf); keys.forEach(function (key) { @@ -24134,7 +24267,7 @@ var setConf = function setConf(cnf) { var actors = {}; function drawActorLegend(diagram) { - var conf = Object(_config__WEBPACK_IMPORTED_MODULE_4__["getConfig"])().journey; // Draw the actors + var conf = (0,_config__WEBPACK_IMPORTED_MODULE_3__.getConfig)().journey; // Draw the actors var yPos = 60; Object.keys(actors).forEach(function (person) { @@ -24147,7 +24280,7 @@ function drawActorLegend(diagram) { stroke: '#000', pos: actors[person].position }; - _svgDraw__WEBPACK_IMPORTED_MODULE_3__["default"].drawCircle(diagram, circleData); + _svgDraw__WEBPACK_IMPORTED_MODULE_4__["default"].drawCircle(diagram, circleData); var labelData = { x: 40, y: yPos + 7, @@ -24155,24 +24288,24 @@ function drawActorLegend(diagram) { text: person, textMargin: conf.boxTextMargin | 5 }; - _svgDraw__WEBPACK_IMPORTED_MODULE_3__["default"].drawText(diagram, labelData); + _svgDraw__WEBPACK_IMPORTED_MODULE_4__["default"].drawText(diagram, labelData); yPos += 20; }); } -var conf = Object(_config__WEBPACK_IMPORTED_MODULE_4__["getConfig"])().journey; -var LEFT_MARGIN = Object(_config__WEBPACK_IMPORTED_MODULE_4__["getConfig"])().journey.leftMargin; +var conf = (0,_config__WEBPACK_IMPORTED_MODULE_3__.getConfig)().journey; +var LEFT_MARGIN = (0,_config__WEBPACK_IMPORTED_MODULE_3__.getConfig)().journey.leftMargin; var draw = function draw(text, id) { - var conf = Object(_config__WEBPACK_IMPORTED_MODULE_4__["getConfig"])().journey; - _parser_journey__WEBPACK_IMPORTED_MODULE_1__["parser"].yy.clear(); - _parser_journey__WEBPACK_IMPORTED_MODULE_1__["parser"].parse(text + '\n'); + var conf = (0,_config__WEBPACK_IMPORTED_MODULE_3__.getConfig)().journey; + _parser_journey__WEBPACK_IMPORTED_MODULE_1__.parser.yy.clear(); + _parser_journey__WEBPACK_IMPORTED_MODULE_1__.parser.parse(text + '\n'); bounds.init(); - var diagram = Object(d3__WEBPACK_IMPORTED_MODULE_0__["select"])('#' + id); + var diagram = (0,d3__WEBPACK_IMPORTED_MODULE_0__.select)('#' + id); diagram.attr('xmlns:xlink', 'http://www.w3.org/1999/xlink'); - _svgDraw__WEBPACK_IMPORTED_MODULE_3__["default"].initGraphics(diagram); - var tasks = _parser_journey__WEBPACK_IMPORTED_MODULE_1__["parser"].yy.getTasks(); - var title = _parser_journey__WEBPACK_IMPORTED_MODULE_1__["parser"].yy.getTitle(); - var actorNames = _parser_journey__WEBPACK_IMPORTED_MODULE_1__["parser"].yy.getActors(); + _svgDraw__WEBPACK_IMPORTED_MODULE_4__["default"].initGraphics(diagram); + var tasks = _parser_journey__WEBPACK_IMPORTED_MODULE_1__.parser.yy.getTasks(); + var title = _parser_journey__WEBPACK_IMPORTED_MODULE_1__.parser.yy.getTitle(); + var actorNames = _parser_journey__WEBPACK_IMPORTED_MODULE_1__.parser.yy.getActors(); for (var member in actors) { delete actors[member]; @@ -24197,7 +24330,7 @@ var draw = function draw(text, id) { var height = box.stopy - box.starty + 2 * conf.diagramMarginY; var width = LEFT_MARGIN + box.stopx + 2 * conf.diagramMarginX; - Object(_utils__WEBPACK_IMPORTED_MODULE_5__["configureSvgSize"])(diagram, height, width, conf.useMaxWidth); // Draw activity line + (0,_utils__WEBPACK_IMPORTED_MODULE_5__.configureSvgSize)(diagram, height, width, conf.useMaxWidth); // Draw activity line diagram.append('line').attr('x1', LEFT_MARGIN).attr('y1', conf.height * 4) // One section head + one task + margins .attr('x2', width - LEFT_MARGIN - 4) // Subtract stroke width so arrow point is retained @@ -24234,7 +24367,7 @@ var bounds = { } }, updateBounds: function updateBounds(startx, starty, stopx, stopy) { - var conf = Object(_config__WEBPACK_IMPORTED_MODULE_4__["getConfig"])().journey; + var conf = (0,_config__WEBPACK_IMPORTED_MODULE_3__.getConfig)().journey; var _self = this; @@ -24297,7 +24430,7 @@ var bounds = { var fills = conf.sectionFills; var textColours = conf.sectionColours; var drawTasks = function drawTasks(diagram, tasks, verticalPos) { - var conf = Object(_config__WEBPACK_IMPORTED_MODULE_4__["getConfig"])().journey; + var conf = (0,_config__WEBPACK_IMPORTED_MODULE_3__.getConfig)().journey; var lastSection = ''; var sectionVHeight = conf.height * 2 + conf.diagramMarginY; var taskPos = verticalPos + sectionVHeight; @@ -24321,7 +24454,7 @@ var drawTasks = function drawTasks(diagram, tasks, verticalPos) { num: num, colour: colour }; - _svgDraw__WEBPACK_IMPORTED_MODULE_3__["default"].drawSection(diagram, section, conf); + _svgDraw__WEBPACK_IMPORTED_MODULE_4__["default"].drawSection(diagram, section, conf); lastSection = task.section; sectionNumber++; } // Collect the actors involved in the task @@ -24344,713 +24477,33 @@ var drawTasks = function drawTasks(diagram, tasks, verticalPos) { task.num = num; task.actors = taskActors; // Draw the box with the attached line - _svgDraw__WEBPACK_IMPORTED_MODULE_3__["default"].drawTask(diagram, task, conf); + _svgDraw__WEBPACK_IMPORTED_MODULE_4__["default"].drawTask(diagram, task, conf); bounds.insert(task.x, task.y, task.x + task.width + conf.taskMargin, 300 + 5 * 30); // stopy is the length of the descenders. } }; -/* harmony default export */ __webpack_exports__["default"] = ({ +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ setConf: setConf, draw: draw }); /***/ }), -/***/ "./src/diagrams/user-journey/parser/journey.jison": -/*!********************************************************!*\ - !*** ./src/diagrams/user-journey/parser/journey.jison ***! - \********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -/* WEBPACK VAR INJECTION */(function(process, module) {/* parser generated by jison 0.4.18 */ -/* - Returns a Parser object of the following structure: - - Parser: { - yy: {} - } - - Parser.prototype: { - yy: {}, - trace: function(), - symbols_: {associative list: name ==> number}, - terminals_: {associative list: number ==> name}, - productions_: [...], - performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$), - table: [...], - defaultActions: {...}, - parseError: function(str, hash), - parse: function(input), - - lexer: { - EOF: 1, - parseError: function(str, hash), - setInput: function(input), - input: function(), - unput: function(str), - more: function(), - less: function(n), - pastInput: function(), - upcomingInput: function(), - showPosition: function(), - test_match: function(regex_match_array, rule_index), - next: function(), - lex: function(), - begin: function(condition), - popState: function(), - _currentRules: function(), - topState: function(), - pushState: function(condition), - - options: { - ranges: boolean (optional: true ==> token location info will include a .range[] member) - flex: boolean (optional: true ==> flex-like lexing behaviour where the rules are tested exhaustively to find the longest match) - backtrack_lexer: boolean (optional: true ==> lexer regexes are tested in order and for each matching regex the action code is invoked; the lexer terminates the scan when a token is returned by the action code) - }, - - performAction: function(yy, yy_, $avoiding_name_collisions, YY_START), - rules: [...], - conditions: {associative list: name ==> set}, - } - } - - - token location info (@$, _$, etc.): { - first_line: n, - last_line: n, - first_column: n, - last_column: n, - range: [start_number, end_number] (where the numbers are indexes into the input string, regular zero-based) - } - - - the parseError function receives a 'hash' object with these members for lexer and parser errors: { - text: (matched text) - token: (the produced terminal token, if any) - line: (yylineno) - } - while parser (grammar) errors will also provide these members, i.e. parser errors deliver a superset of attributes: { - loc: (yylloc) - expected: (string describing the set of expected tokens) - recoverable: (boolean: TRUE when the parser has a error recovery rule available for this particular error) - } -*/ -var parser = (function(){ -var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,2],$V1=[1,5],$V2=[6,9,11,17,18,19,21],$V3=[1,15],$V4=[1,16],$V5=[1,17],$V6=[1,21],$V7=[4,6,9,11,17,18,19,21]; -var parser = {trace: function trace () { }, -yy: {}, -symbols_: {"error":2,"start":3,"journey":4,"document":5,"EOF":6,"directive":7,"line":8,"SPACE":9,"statement":10,"NEWLINE":11,"openDirective":12,"typeDirective":13,"closeDirective":14,":":15,"argDirective":16,"title":17,"section":18,"taskName":19,"taskData":20,"open_directive":21,"type_directive":22,"arg_directive":23,"close_directive":24,"$accept":0,"$end":1}, -terminals_: {2:"error",4:"journey",6:"EOF",9:"SPACE",11:"NEWLINE",15:":",17:"title",18:"section",19:"taskName",20:"taskData",21:"open_directive",22:"type_directive",23:"arg_directive",24:"close_directive"}, -productions_: [0,[3,3],[3,2],[5,0],[5,2],[8,2],[8,1],[8,1],[8,1],[7,4],[7,6],[10,1],[10,1],[10,2],[10,1],[12,1],[13,1],[16,1],[14,1]], -performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) { -/* this == yyval */ - -var $0 = $$.length - 1; -switch (yystate) { -case 1: - return $$[$0-1]; -break; -case 3: - this.$ = [] -break; -case 4: -$$[$0-1].push($$[$0]);this.$ = $$[$0-1] -break; -case 5: case 6: - this.$ = $$[$0] -break; -case 7: case 8: - this.$=[]; -break; -case 11: -yy.setTitle($$[$0].substr(6));this.$=$$[$0].substr(6); -break; -case 12: -yy.addSection($$[$0].substr(8));this.$=$$[$0].substr(8); -break; -case 13: -yy.addTask($$[$0-1], $$[$0]);this.$='task'; -break; -case 15: - yy.parseDirective('%%{', 'open_directive'); -break; -case 16: - yy.parseDirective($$[$0], 'type_directive'); -break; -case 17: - $$[$0] = $$[$0].trim().replace(/'/g, '"'); yy.parseDirective($$[$0], 'arg_directive'); -break; -case 18: - yy.parseDirective('}%%', 'close_directive', 'journey'); -break; -} -}, -table: [{3:1,4:$V0,7:3,12:4,21:$V1},{1:[3]},o($V2,[2,3],{5:6}),{3:7,4:$V0,7:3,12:4,21:$V1},{13:8,22:[1,9]},{22:[2,15]},{6:[1,10],7:18,8:11,9:[1,12],10:13,11:[1,14],12:4,17:$V3,18:$V4,19:$V5,21:$V1},{1:[2,2]},{14:19,15:[1,20],24:$V6},o([15,24],[2,16]),o($V2,[2,8],{1:[2,1]}),o($V2,[2,4]),{7:18,10:22,12:4,17:$V3,18:$V4,19:$V5,21:$V1},o($V2,[2,6]),o($V2,[2,7]),o($V2,[2,11]),o($V2,[2,12]),{20:[1,23]},o($V2,[2,14]),{11:[1,24]},{16:25,23:[1,26]},{11:[2,18]},o($V2,[2,5]),o($V2,[2,13]),o($V7,[2,9]),{14:27,24:$V6},{24:[2,17]},{11:[1,28]},o($V7,[2,10])], -defaultActions: {5:[2,15],7:[2,2],21:[2,18],26:[2,17]}, -parseError: function parseError (str, hash) { - if (hash.recoverable) { - this.trace(str); - } else { - var error = new Error(str); - error.hash = hash; - throw error; - } -}, -parse: function parse(input) { - var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = '', yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1; - var args = lstack.slice.call(arguments, 1); - var lexer = Object.create(this.lexer); - var sharedState = { yy: {} }; - for (var k in this.yy) { - if (Object.prototype.hasOwnProperty.call(this.yy, k)) { - sharedState.yy[k] = this.yy[k]; - } - } - lexer.setInput(input, sharedState.yy); - sharedState.yy.lexer = lexer; - sharedState.yy.parser = this; - if (typeof lexer.yylloc == 'undefined') { - lexer.yylloc = {}; - } - var yyloc = lexer.yylloc; - lstack.push(yyloc); - var ranges = lexer.options && lexer.options.ranges; - if (typeof sharedState.yy.parseError === 'function') { - this.parseError = sharedState.yy.parseError; - } else { - this.parseError = Object.getPrototypeOf(this).parseError; - } - function popStack(n) { - stack.length = stack.length - 2 * n; - vstack.length = vstack.length - n; - lstack.length = lstack.length - n; - } - function lex() { - var token; - token = tstack.pop() || lexer.lex() || EOF; - if (typeof token !== 'number') { - if (token instanceof Array) { - tstack = token; - token = tstack.pop(); - } - token = self.symbols_[token] || token; - } - return token; - } - var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected; - while (true) { - state = stack[stack.length - 1]; - if (this.defaultActions[state]) { - action = this.defaultActions[state]; - } else { - if (symbol === null || typeof symbol == 'undefined') { - symbol = lex(); - } - action = table[state] && table[state][symbol]; - } - if (typeof action === 'undefined' || !action.length || !action[0]) { - var errStr = ''; - expected = []; - for (p in table[state]) { - if (this.terminals_[p] && p > TERROR) { - expected.push('\'' + this.terminals_[p] + '\''); - } - } - if (lexer.showPosition) { - errStr = 'Parse error on line ' + (yylineno + 1) + ':\n' + lexer.showPosition() + '\nExpecting ' + expected.join(', ') + ', got \'' + (this.terminals_[symbol] || symbol) + '\''; - } else { - errStr = 'Parse error on line ' + (yylineno + 1) + ': Unexpected ' + (symbol == EOF ? 'end of input' : '\'' + (this.terminals_[symbol] || symbol) + '\''); - } - this.parseError(errStr, { - text: lexer.match, - token: this.terminals_[symbol] || symbol, - line: lexer.yylineno, - loc: yyloc, - expected: expected - }); - } - if (action[0] instanceof Array && action.length > 1) { - throw new Error('Parse Error: multiple actions possible at state: ' + state + ', token: ' + symbol); - } - switch (action[0]) { - case 1: - stack.push(symbol); - vstack.push(lexer.yytext); - lstack.push(lexer.yylloc); - stack.push(action[1]); - symbol = null; - if (!preErrorSymbol) { - yyleng = lexer.yyleng; - yytext = lexer.yytext; - yylineno = lexer.yylineno; - yyloc = lexer.yylloc; - if (recovering > 0) { - recovering--; - } - } else { - symbol = preErrorSymbol; - preErrorSymbol = null; - } - break; - case 2: - len = this.productions_[action[1]][1]; - yyval.$ = vstack[vstack.length - len]; - yyval._$ = { - first_line: lstack[lstack.length - (len || 1)].first_line, - last_line: lstack[lstack.length - 1].last_line, - first_column: lstack[lstack.length - (len || 1)].first_column, - last_column: lstack[lstack.length - 1].last_column - }; - if (ranges) { - yyval._$.range = [ - lstack[lstack.length - (len || 1)].range[0], - lstack[lstack.length - 1].range[1] - ]; - } - r = this.performAction.apply(yyval, [ - yytext, - yyleng, - yylineno, - sharedState.yy, - action[1], - vstack, - lstack - ].concat(args)); - if (typeof r !== 'undefined') { - return r; - } - if (len) { - stack = stack.slice(0, -1 * len * 2); - vstack = vstack.slice(0, -1 * len); - lstack = lstack.slice(0, -1 * len); - } - stack.push(this.productions_[action[1]][0]); - vstack.push(yyval.$); - lstack.push(yyval._$); - newState = table[stack[stack.length - 2]][stack[stack.length - 1]]; - stack.push(newState); - break; - case 3: - return true; - } - } - return true; -}}; - -/* generated by jison-lex 0.3.4 */ -var lexer = (function(){ -var lexer = ({ - -EOF:1, - -parseError:function parseError(str, hash) { - if (this.yy.parser) { - this.yy.parser.parseError(str, hash); - } else { - throw new Error(str); - } - }, - -// resets the lexer, sets new input -setInput:function (input, yy) { - this.yy = yy || this.yy || {}; - this._input = input; - this._more = this._backtrack = this.done = false; - this.yylineno = this.yyleng = 0; - this.yytext = this.matched = this.match = ''; - this.conditionStack = ['INITIAL']; - this.yylloc = { - first_line: 1, - first_column: 0, - last_line: 1, - last_column: 0 - }; - if (this.options.ranges) { - this.yylloc.range = [0,0]; - } - this.offset = 0; - return this; - }, - -// consumes and returns one char from the input -input:function () { - var ch = this._input[0]; - this.yytext += ch; - this.yyleng++; - this.offset++; - this.match += ch; - this.matched += ch; - var lines = ch.match(/(?:\r\n?|\n).*/g); - if (lines) { - this.yylineno++; - this.yylloc.last_line++; - } else { - this.yylloc.last_column++; - } - if (this.options.ranges) { - this.yylloc.range[1]++; - } - - this._input = this._input.slice(1); - return ch; - }, - -// unshifts one char (or a string) into the input -unput:function (ch) { - var len = ch.length; - var lines = ch.split(/(?:\r\n?|\n)/g); - - this._input = ch + this._input; - this.yytext = this.yytext.substr(0, this.yytext.length - len); - //this.yyleng -= len; - this.offset -= len; - var oldLines = this.match.split(/(?:\r\n?|\n)/g); - this.match = this.match.substr(0, this.match.length - 1); - this.matched = this.matched.substr(0, this.matched.length - 1); - - if (lines.length - 1) { - this.yylineno -= lines.length - 1; - } - var r = this.yylloc.range; - - this.yylloc = { - first_line: this.yylloc.first_line, - last_line: this.yylineno + 1, - first_column: this.yylloc.first_column, - last_column: lines ? - (lines.length === oldLines.length ? this.yylloc.first_column : 0) - + oldLines[oldLines.length - lines.length].length - lines[0].length : - this.yylloc.first_column - len - }; - - if (this.options.ranges) { - this.yylloc.range = [r[0], r[0] + this.yyleng - len]; - } - this.yyleng = this.yytext.length; - return this; - }, - -// When called from action, caches matched text and appends it on next action -more:function () { - this._more = true; - return this; - }, - -// When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead. -reject:function () { - if (this.options.backtrack_lexer) { - this._backtrack = true; - } else { - return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n' + this.showPosition(), { - text: "", - token: null, - line: this.yylineno - }); - - } - return this; - }, - -// retain first n characters of the match -less:function (n) { - this.unput(this.match.slice(n)); - }, - -// displays already matched input, i.e. for error messages -pastInput:function () { - var past = this.matched.substr(0, this.matched.length - this.match.length); - return (past.length > 20 ? '...':'') + past.substr(-20).replace(/\n/g, ""); - }, - -// displays upcoming input, i.e. for error messages -upcomingInput:function () { - var next = this.match; - if (next.length < 20) { - next += this._input.substr(0, 20-next.length); - } - return (next.substr(0,20) + (next.length > 20 ? '...' : '')).replace(/\n/g, ""); - }, - -// displays the character position where the lexing error occurred, i.e. for error messages -showPosition:function () { - var pre = this.pastInput(); - var c = new Array(pre.length + 1).join("-"); - return pre + this.upcomingInput() + "\n" + c + "^"; - }, - -// test the lexed token: return FALSE when not a match, otherwise return token -test_match:function(match, indexed_rule) { - var token, - lines, - backup; - - if (this.options.backtrack_lexer) { - // save context - backup = { - yylineno: this.yylineno, - yylloc: { - first_line: this.yylloc.first_line, - last_line: this.last_line, - first_column: this.yylloc.first_column, - last_column: this.yylloc.last_column - }, - yytext: this.yytext, - match: this.match, - matches: this.matches, - matched: this.matched, - yyleng: this.yyleng, - offset: this.offset, - _more: this._more, - _input: this._input, - yy: this.yy, - conditionStack: this.conditionStack.slice(0), - done: this.done - }; - if (this.options.ranges) { - backup.yylloc.range = this.yylloc.range.slice(0); - } - } - - lines = match[0].match(/(?:\r\n?|\n).*/g); - if (lines) { - this.yylineno += lines.length; - } - this.yylloc = { - first_line: this.yylloc.last_line, - last_line: this.yylineno + 1, - first_column: this.yylloc.last_column, - last_column: lines ? - lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length : - this.yylloc.last_column + match[0].length - }; - this.yytext += match[0]; - this.match += match[0]; - this.matches = match; - this.yyleng = this.yytext.length; - if (this.options.ranges) { - this.yylloc.range = [this.offset, this.offset += this.yyleng]; - } - this._more = false; - this._backtrack = false; - this._input = this._input.slice(match[0].length); - this.matched += match[0]; - token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]); - if (this.done && this._input) { - this.done = false; - } - if (token) { - return token; - } else if (this._backtrack) { - // recover context - for (var k in backup) { - this[k] = backup[k]; - } - return false; // rule action called reject() implying the next rule should be tested instead. - } - return false; - }, - -// return next match in input -next:function () { - if (this.done) { - return this.EOF; - } - if (!this._input) { - this.done = true; - } - - var token, - match, - tempMatch, - index; - if (!this._more) { - this.yytext = ''; - this.match = ''; - } - var rules = this._currentRules(); - for (var i = 0; i < rules.length; i++) { - tempMatch = this._input.match(this.rules[rules[i]]); - if (tempMatch && (!match || tempMatch[0].length > match[0].length)) { - match = tempMatch; - index = i; - if (this.options.backtrack_lexer) { - token = this.test_match(tempMatch, rules[i]); - if (token !== false) { - return token; - } else if (this._backtrack) { - match = false; - continue; // rule action called reject() implying a rule MISmatch. - } else { - // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) - return false; - } - } else if (!this.options.flex) { - break; - } - } - } - if (match) { - token = this.test_match(match, rules[index]); - if (token !== false) { - return token; - } - // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) - return false; - } - if (this._input === "") { - return this.EOF; - } else { - return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\n' + this.showPosition(), { - text: "", - token: null, - line: this.yylineno - }); - } - }, - -// return next match that has a token -lex:function lex () { - var r = this.next(); - if (r) { - return r; - } else { - return this.lex(); - } - }, - -// activates a new lexer condition state (pushes the new lexer condition state onto the condition stack) -begin:function begin (condition) { - this.conditionStack.push(condition); - }, - -// pop the previously active lexer condition state off the condition stack -popState:function popState () { - var n = this.conditionStack.length - 1; - if (n > 0) { - return this.conditionStack.pop(); - } else { - return this.conditionStack[0]; - } - }, - -// produce the lexer rule set which is active for the currently active lexer condition state -_currentRules:function _currentRules () { - if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) { - return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules; - } else { - return this.conditions["INITIAL"].rules; - } - }, - -// return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available -topState:function topState (n) { - n = this.conditionStack.length - 1 - Math.abs(n || 0); - if (n >= 0) { - return this.conditionStack[n]; - } else { - return "INITIAL"; - } - }, - -// alias for begin(condition) -pushState:function pushState (condition) { - this.begin(condition); - }, - -// return the number of states currently on the stack -stateStackSize:function stateStackSize() { - return this.conditionStack.length; - }, -options: {"case-insensitive":true}, -performAction: function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) { -var YYSTATE=YY_START; -switch($avoiding_name_collisions) { -case 0: this.begin('open_directive'); return 21; -break; -case 1: this.begin('type_directive'); return 22; -break; -case 2: this.popState(); this.begin('arg_directive'); return 15; -break; -case 3: this.popState(); this.popState(); return 24; -break; -case 4:return 23; -break; -case 5:/* skip comments */ -break; -case 6:/* skip comments */ -break; -case 7:return 11; -break; -case 8:/* skip whitespace */ -break; -case 9:/* skip comments */ -break; -case 10:return 4; -break; -case 11:return 17; -break; -case 12:return 18; -break; -case 13:return 19; -break; -case 14:return 20; -break; -case 15:return 15; -break; -case 16:return 6; -break; -case 17:return 'INVALID'; -break; -} -}, -rules: [/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:journey\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i], -conditions: {"open_directive":{"rules":[1],"inclusive":false},"type_directive":{"rules":[2,3],"inclusive":false},"arg_directive":{"rules":[3,4],"inclusive":false},"INITIAL":{"rules":[0,5,6,7,8,9,10,11,12,13,14,15,16,17],"inclusive":true}} -}); -return lexer; -})(); -parser.lexer = lexer; -function Parser () { - this.yy = {}; -} -Parser.prototype = parser;parser.Parser = Parser; -return new Parser; -})(); - - -if (true) { -exports.parser = parser; -exports.Parser = parser.Parser; -exports.parse = function () { return parser.parse.apply(parser, arguments); }; -exports.main = function commonjsMain (args) { - if (!args[1]) { - console.log('Usage: '+args[0]+' FILE'); - process.exit(1); - } - var source = __webpack_require__(/*! fs */ "./node_modules/node-libs-browser/mock/empty.js").readFileSync(__webpack_require__(/*! path */ "./node_modules/path-browserify/index.js").normalize(args[1]), "utf8"); - return exports.parser.parse(source); -}; -if ( true && __webpack_require__.c[__webpack_require__.s] === module) { - exports.main(process.argv.slice(1)); -} -} -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../../node_modules/process/browser.js */ "./node_modules/process/browser.js"), __webpack_require__(/*! ./../../../../node_modules/webpack/buildin/module.js */ "./node_modules/webpack/buildin/module.js")(module))) - -/***/ }), - /***/ "./src/diagrams/user-journey/styles.js": /*!*********************************************!*\ !*** ./src/diagrams/user-journey/styles.js ***! \*********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); var getStyles = function getStyles(options) { return ".label {\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n color: ".concat(options.textColor, ";\n }\n .mouth {\n stroke: #666;\n }\n\n line {\n stroke: ").concat(options.textColor, "\n }\n\n .legend {\n fill: ").concat(options.textColor, ";\n }\n\n .label text {\n fill: #333;\n }\n .label {\n color: ").concat(options.textColor, "\n }\n\n .face {\n ").concat(options.faceColor ? "fill: ".concat(options.faceColor) : 'fill: #FFF8DC', ";\n stroke: #999;\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ").concat(options.mainBkg, ";\n stroke: ").concat(options.nodeBorder, ";\n stroke-width: 1px;\n }\n\n .node .label {\n text-align: center;\n }\n .node.clickable {\n cursor: pointer;\n }\n\n .arrowheadPath {\n fill: ").concat(options.arrowheadColor, ";\n }\n\n .edgePath .path {\n stroke: ").concat(options.lineColor, ";\n stroke-width: 1.5px;\n }\n\n .flowchart-link {\n stroke: ").concat(options.lineColor, ";\n fill: none;\n }\n\n .edgeLabel {\n background-color: ").concat(options.edgeLabelBackground, ";\n rect {\n opacity: 0.5;\n }\n text-align: center;\n }\n\n .cluster rect {\n }\n\n .cluster text {\n fill: ").concat(options.titleColor, ";\n }\n\n div.mermaidTooltip {\n position: absolute;\n text-align: center;\n max-width: 200px;\n padding: 2px;\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n font-size: 12px;\n background: ").concat(options.tertiaryColor, ";\n border: 1px solid ").concat(options.border2, ";\n border-radius: 2px;\n pointer-events: none;\n z-index: 100;\n }\n\n .task-type-0, .section-type-0 {\n ").concat(options.fillType0 ? "fill: ".concat(options.fillType0) : '', ";\n }\n .task-type-1, .section-type-1 {\n ").concat(options.fillType0 ? "fill: ".concat(options.fillType1) : '', ";\n }\n .task-type-2, .section-type-2 {\n ").concat(options.fillType0 ? "fill: ".concat(options.fillType2) : '', ";\n }\n .task-type-3, .section-type-3 {\n ").concat(options.fillType0 ? "fill: ".concat(options.fillType3) : '', ";\n }\n .task-type-4, .section-type-4 {\n ").concat(options.fillType0 ? "fill: ".concat(options.fillType4) : '', ";\n }\n .task-type-5, .section-type-5 {\n ").concat(options.fillType0 ? "fill: ".concat(options.fillType5) : '', ";\n }\n .task-type-6, .section-type-6 {\n ").concat(options.fillType0 ? "fill: ".concat(options.fillType6) : '', ";\n }\n .task-type-7, .section-type-7 {\n ").concat(options.fillType0 ? "fill: ".concat(options.fillType7) : '', ";\n }\n\n .actor-0 {\n ").concat(options.actor0 ? "fill: ".concat(options.actor0) : '', ";\n }\n .actor-1 {\n ").concat(options.actor1 ? "fill: ".concat(options.actor1) : '', ";\n }\n .actor-2 {\n ").concat(options.actor2 ? "fill: ".concat(options.actor2) : '', ";\n }\n .actor-3 {\n ").concat(options.actor3 ? "fill: ".concat(options.actor3) : '', ";\n }\n .actor-4 {\n ").concat(options.actor4 ? "fill: ".concat(options.actor4) : '', ";\n }\n .actor-5 {\n ").concat(options.actor5 ? "fill: ".concat(options.actor5) : '', ";\n }\n\n }\n"); }; -/* harmony default export */ __webpack_exports__["default"] = (getStyles); +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (getStyles); /***/ }), @@ -25058,21 +24511,23 @@ var getStyles = function getStyles(options) { /*!**********************************************!*\ !*** ./src/diagrams/user-journey/svgDraw.js ***! \**********************************************/ -/*! exports provided: drawRect, drawFace, drawCircle, drawText, drawLabel, drawSection, drawTask, drawBackgroundRect, getTextObj, getNoteRect, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "drawRect", function() { return drawRect; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "drawFace", function() { return drawFace; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "drawCircle", function() { return drawCircle; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "drawText", function() { return drawText; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "drawLabel", function() { return drawLabel; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "drawSection", function() { return drawSection; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "drawTask", function() { return drawTask; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "drawBackgroundRect", function() { return drawBackgroundRect; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getTextObj", function() { return getTextObj; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getNoteRect", function() { return getNoteRect; }); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "drawRect": () => (/* binding */ drawRect), +/* harmony export */ "drawFace": () => (/* binding */ drawFace), +/* harmony export */ "drawCircle": () => (/* binding */ drawCircle), +/* harmony export */ "drawText": () => (/* binding */ drawText), +/* harmony export */ "drawLabel": () => (/* binding */ drawLabel), +/* harmony export */ "drawSection": () => (/* binding */ drawSection), +/* harmony export */ "drawTask": () => (/* binding */ drawTask), +/* harmony export */ "drawBackgroundRect": () => (/* binding */ drawBackgroundRect), +/* harmony export */ "getTextObj": () => (/* binding */ getTextObj), +/* harmony export */ "getNoteRect": () => (/* binding */ getNoteRect), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); /* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3 */ "d3"); /* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(d3__WEBPACK_IMPORTED_MODULE_0__); @@ -25103,13 +24558,13 @@ var drawFace = function drawFace(element, faceData) { face.append('circle').attr('cx', faceData.cx + radius / 3).attr('cy', faceData.cy - radius / 3).attr('r', 1.5).attr('stroke-width', 2).attr('fill', '#666').attr('stroke', '#666'); function smile(face) { - var arc = Object(d3__WEBPACK_IMPORTED_MODULE_0__["arc"])().startAngle(Math.PI / 2).endAngle(3 * (Math.PI / 2)).innerRadius(radius / 2).outerRadius(radius / 2.2); //mouth + var arc = (0,d3__WEBPACK_IMPORTED_MODULE_0__.arc)().startAngle(Math.PI / 2).endAngle(3 * (Math.PI / 2)).innerRadius(radius / 2).outerRadius(radius / 2.2); //mouth face.append('path').attr('class', 'mouth').attr('d', arc).attr('transform', 'translate(' + faceData.cx + ',' + (faceData.cy + 2) + ')'); } function sad(face) { - var arc = Object(d3__WEBPACK_IMPORTED_MODULE_0__["arc"])().startAngle(3 * Math.PI / 2).endAngle(5 * (Math.PI / 2)).innerRadius(radius / 2).outerRadius(radius / 2.2); //mouth + var arc = (0,d3__WEBPACK_IMPORTED_MODULE_0__.arc)().startAngle(3 * Math.PI / 2).endAngle(5 * (Math.PI / 2)).innerRadius(radius / 2).outerRadius(radius / 2.2); //mouth face.append('path').attr('class', 'mouth').attr('d', arc).attr('transform', 'translate(' + faceData.cx + ',' + (faceData.cy + 7) + ')'); } @@ -25337,7 +24792,7 @@ var initGraphics = function initGraphics(graphics) { graphics.append('defs').append('marker').attr('id', 'arrowhead').attr('refX', 5).attr('refY', 2).attr('markerWidth', 6).attr('markerHeight', 4).attr('orient', 'auto').append('path').attr('d', 'M 0,0 V 4 L6,2 Z'); // this is actual shape for arrowhead }; -/* harmony default export */ __webpack_exports__["default"] = ({ +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ drawRect: drawRect, drawCircle: drawCircle, drawSection: drawSection, @@ -25356,13 +24811,15 @@ var initGraphics = function initGraphics(graphics) { /*!******************************!*\ !*** ./src/errorRenderer.js ***! \******************************/ -/*! exports provided: setConf, draw, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setConf", function() { return setConf; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "draw", function() { return draw; }); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "setConf": () => (/* binding */ setConf), +/* harmony export */ "draw": () => (/* binding */ draw), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); /* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3 */ "d3"); /* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(d3__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./logger */ "./src/logger.js"); @@ -25386,8 +24843,8 @@ var setConf = function setConf(cnf) { var draw = function draw(id, ver) { try { - _logger__WEBPACK_IMPORTED_MODULE_1__["log"].debug('Renering svg for syntax error\n'); - var svg = Object(d3__WEBPACK_IMPORTED_MODULE_0__["select"])('#' + id); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.debug('Renering svg for syntax error\n'); + var svg = (0,d3__WEBPACK_IMPORTED_MODULE_0__.select)('#' + id); var g = svg.append('g'); g.append('path').attr('class', 'error-icon').attr('d', 'm411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z'); g.append('path').attr('class', 'error-icon').attr('d', 'm459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z'); @@ -25403,11 +24860,11 @@ var draw = function draw(id, ver) { svg.attr('width', 400); svg.attr('viewBox', '768 0 512 512'); } catch (e) { - _logger__WEBPACK_IMPORTED_MODULE_1__["log"].error('Error while rendering info diagram'); - _logger__WEBPACK_IMPORTED_MODULE_1__["log"].error(e.message); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.error('Error while rendering info diagram'); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.error(e.message); } }; -/* harmony default export */ __webpack_exports__["default"] = ({ +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ setConf: setConf, draw: draw }); @@ -25418,14 +24875,15 @@ var draw = function draw(id, ver) { /*!***********************!*\ !*** ./src/logger.js ***! \***********************/ -/*! exports provided: LEVELS, log, setLogLevel */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "LEVELS", function() { return LEVELS; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "log", function() { return log; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setLogLevel", function() { return setLogLevel; }); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "LEVELS": () => (/* binding */ LEVELS), +/* harmony export */ "log": () => (/* binding */ log), +/* harmony export */ "setLogLevel": () => (/* binding */ setLogLevel) +/* harmony export */ }); /* harmony import */ var moment_mini__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! moment-mini */ "moment-mini"); /* harmony import */ var moment_mini__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(moment_mini__WEBPACK_IMPORTED_MODULE_0__); @@ -25499,13 +24957,15 @@ var format = function format(level) { /*!************************!*\ !*** ./src/mermaid.js ***! \************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./logger */ "./src/logger.js"); -/* harmony import */ var _mermaidAPI__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./mermaidAPI */ "./src/mermaidAPI.js"); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./logger */ "./src/logger.js"); +/* harmony import */ var _mermaidAPI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./mermaidAPI */ "./src/mermaidAPI.js"); /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils */ "./src/utils.js"); /** * Web page integration module for the mermaid framework. It uses the mermaidAPI for mermaid functionality and to render @@ -25539,7 +24999,7 @@ __webpack_require__.r(__webpack_exports__); var init = function init() { var _this = this; - var conf = _mermaidAPI__WEBPACK_IMPORTED_MODULE_1__["default"].getConfig(); // console.log('Starting rendering diagrams (init) - mermaid.init', conf); + var conf = _mermaidAPI__WEBPACK_IMPORTED_MODULE_0__["default"].getConfig(); // console.log('Starting rendering diagrams (init) - mermaid.init', conf); var nodes; @@ -25559,31 +25019,31 @@ var init = function init() { if (typeof arguments[arguments.length - 1] === 'function') { callback = arguments[arguments.length - 1]; - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].debug('Callback function found'); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.debug('Callback function found'); } else { if (typeof conf.mermaid !== 'undefined') { if (typeof conf.mermaid.callback === 'function') { callback = conf.mermaid.callback; - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].debug('Callback function found'); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.debug('Callback function found'); } else { - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].debug('No Callback function found'); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.debug('No Callback function found'); } } } nodes = nodes === undefined ? document.querySelectorAll('.mermaid') : typeof nodes === 'string' ? document.querySelectorAll(nodes) : nodes instanceof window.Node ? [nodes] : nodes; // Last case - sequence config was passed pick next - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].debug('Start On Load before: ' + mermaid.startOnLoad); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.debug('Start On Load before: ' + mermaid.startOnLoad); if (typeof mermaid.startOnLoad !== 'undefined') { - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].debug('Start On Load inner: ' + mermaid.startOnLoad); - _mermaidAPI__WEBPACK_IMPORTED_MODULE_1__["default"].updateSiteConfig({ + _logger__WEBPACK_IMPORTED_MODULE_1__.log.debug('Start On Load inner: ' + mermaid.startOnLoad); + _mermaidAPI__WEBPACK_IMPORTED_MODULE_0__["default"].updateSiteConfig({ startOnLoad: mermaid.startOnLoad }); } if (typeof mermaid.ganttConfig !== 'undefined') { - _mermaidAPI__WEBPACK_IMPORTED_MODULE_1__["default"].updateSiteConfig({ + _mermaidAPI__WEBPACK_IMPORTED_MODULE_0__["default"].updateSiteConfig({ gantt: mermaid.ganttConfig }); } @@ -25609,11 +25069,11 @@ var init = function init() { var init = _utils__WEBPACK_IMPORTED_MODULE_2__["default"].detectInit(txt); if (init) { - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].debug('Detected early reinit: ', init); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.debug('Detected early reinit: ', init); } try { - _mermaidAPI__WEBPACK_IMPORTED_MODULE_1__["default"].render(id, txt, function (svgCode, bindFunctions) { + _mermaidAPI__WEBPACK_IMPORTED_MODULE_0__["default"].render(id, txt, function (svgCode, bindFunctions) { element.innerHTML = svgCode; if (typeof callback !== 'undefined') { @@ -25623,8 +25083,8 @@ var init = function init() { if (bindFunctions) bindFunctions(element); }, element); } catch (e) { - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].warn('Syntax Error rendering'); - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].warn(e); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.warn('Syntax Error rendering'); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.warn(e); if (_this.parseError) { _this.parseError(e); @@ -25651,7 +25111,7 @@ var initialize = function initialize(config) { } } - _mermaidAPI__WEBPACK_IMPORTED_MODULE_1__["default"].initialize(config); // mermaidAPI.reset(); + _mermaidAPI__WEBPACK_IMPORTED_MODULE_0__["default"].initialize(config); // mermaidAPI.reset(); }; /** * ##contentLoaded @@ -25665,15 +25125,15 @@ var contentLoaded = function contentLoaded() { if (mermaid.startOnLoad) { // No config found, do check API config - config = _mermaidAPI__WEBPACK_IMPORTED_MODULE_1__["default"].getConfig(); + config = _mermaidAPI__WEBPACK_IMPORTED_MODULE_0__["default"].getConfig(); if (config.startOnLoad) { mermaid.init(); } } else { if (typeof mermaid.startOnLoad === 'undefined') { - _logger__WEBPACK_IMPORTED_MODULE_0__["log"].debug('In start, no config'); - config = _mermaidAPI__WEBPACK_IMPORTED_MODULE_1__["default"].getConfig(); + _logger__WEBPACK_IMPORTED_MODULE_1__.log.debug('In start, no config'); + config = _mermaidAPI__WEBPACK_IMPORTED_MODULE_0__["default"].getConfig(); if (config.startOnLoad) { mermaid.init(); @@ -25694,14 +25154,14 @@ if (typeof document !== 'undefined') { var mermaid = { startOnLoad: true, htmlLabels: true, - mermaidAPI: _mermaidAPI__WEBPACK_IMPORTED_MODULE_1__["default"], - parse: _mermaidAPI__WEBPACK_IMPORTED_MODULE_1__["default"].parse, - render: _mermaidAPI__WEBPACK_IMPORTED_MODULE_1__["default"].render, + mermaidAPI: _mermaidAPI__WEBPACK_IMPORTED_MODULE_0__["default"], + parse: _mermaidAPI__WEBPACK_IMPORTED_MODULE_0__["default"].parse, + render: _mermaidAPI__WEBPACK_IMPORTED_MODULE_0__["default"].render, init: init, initialize: initialize, contentLoaded: contentLoaded }; -/* harmony default export */ __webpack_exports__["default"] = (mermaid); +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (mermaid); /***/ }), @@ -25709,72 +25169,73 @@ var mermaid = { /*!***************************!*\ !*** ./src/mermaidAPI.js ***! \***************************/ -/*! exports provided: encodeEntities, decodeEntities, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "encodeEntities", function() { return encodeEntities; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "decodeEntities", function() { return decodeEntities; }); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "encodeEntities": () => (/* binding */ encodeEntities), +/* harmony export */ "decodeEntities": () => (/* binding */ decodeEntities), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); /* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3 */ "d3"); /* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(d3__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var stylis__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! stylis */ "stylis"); /* harmony import */ var stylis__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(stylis__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var _package_json__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../package.json */ "./package.json"); -var _package_json__WEBPACK_IMPORTED_MODULE_2___namespace = /*#__PURE__*/__webpack_require__.t(/*! ../package.json */ "./package.json", 1); -/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./config */ "./src/config.js"); -/* harmony import */ var _diagrams_class_classDb__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./diagrams/class/classDb */ "./src/diagrams/class/classDb.js"); -/* harmony import */ var _diagrams_class_classRenderer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./diagrams/class/classRenderer */ "./src/diagrams/class/classRenderer.js"); -/* harmony import */ var _diagrams_class_classRenderer_v2__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./diagrams/class/classRenderer-v2 */ "./src/diagrams/class/classRenderer-v2.js"); -/* harmony import */ var _diagrams_class_parser_classDiagram__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./diagrams/class/parser/classDiagram */ "./src/diagrams/class/parser/classDiagram.jison"); -/* harmony import */ var _diagrams_class_parser_classDiagram__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_diagrams_class_parser_classDiagram__WEBPACK_IMPORTED_MODULE_7__); -/* harmony import */ var _diagrams_er_erDb__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./diagrams/er/erDb */ "./src/diagrams/er/erDb.js"); -/* harmony import */ var _diagrams_er_erRenderer__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./diagrams/er/erRenderer */ "./src/diagrams/er/erRenderer.js"); -/* harmony import */ var _diagrams_er_parser_erDiagram__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./diagrams/er/parser/erDiagram */ "./src/diagrams/er/parser/erDiagram.jison"); -/* harmony import */ var _diagrams_er_parser_erDiagram__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_diagrams_er_parser_erDiagram__WEBPACK_IMPORTED_MODULE_10__); -/* harmony import */ var _diagrams_flowchart_flowDb__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./diagrams/flowchart/flowDb */ "./src/diagrams/flowchart/flowDb.js"); -/* harmony import */ var _diagrams_flowchart_flowRenderer__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./diagrams/flowchart/flowRenderer */ "./src/diagrams/flowchart/flowRenderer.js"); -/* harmony import */ var _diagrams_flowchart_flowRenderer_v2__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./diagrams/flowchart/flowRenderer-v2 */ "./src/diagrams/flowchart/flowRenderer-v2.js"); -/* harmony import */ var _diagrams_flowchart_parser_flow__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./diagrams/flowchart/parser/flow */ "./src/diagrams/flowchart/parser/flow.jison"); -/* harmony import */ var _diagrams_flowchart_parser_flow__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(_diagrams_flowchart_parser_flow__WEBPACK_IMPORTED_MODULE_14__); -/* harmony import */ var _diagrams_gantt_ganttDb__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./diagrams/gantt/ganttDb */ "./src/diagrams/gantt/ganttDb.js"); -/* harmony import */ var _diagrams_gantt_ganttRenderer__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./diagrams/gantt/ganttRenderer */ "./src/diagrams/gantt/ganttRenderer.js"); -/* harmony import */ var _diagrams_gantt_parser_gantt__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./diagrams/gantt/parser/gantt */ "./src/diagrams/gantt/parser/gantt.jison"); -/* harmony import */ var _diagrams_gantt_parser_gantt__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(_diagrams_gantt_parser_gantt__WEBPACK_IMPORTED_MODULE_17__); -/* harmony import */ var _diagrams_git_gitGraphAst__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./diagrams/git/gitGraphAst */ "./src/diagrams/git/gitGraphAst.js"); -/* harmony import */ var _diagrams_git_gitGraphRenderer__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./diagrams/git/gitGraphRenderer */ "./src/diagrams/git/gitGraphRenderer.js"); -/* harmony import */ var _diagrams_git_parser_gitGraph__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./diagrams/git/parser/gitGraph */ "./src/diagrams/git/parser/gitGraph.jison"); -/* harmony import */ var _diagrams_git_parser_gitGraph__WEBPACK_IMPORTED_MODULE_20___default = /*#__PURE__*/__webpack_require__.n(_diagrams_git_parser_gitGraph__WEBPACK_IMPORTED_MODULE_20__); -/* harmony import */ var _diagrams_info_infoDb__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./diagrams/info/infoDb */ "./src/diagrams/info/infoDb.js"); -/* harmony import */ var _diagrams_info_infoRenderer__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./diagrams/info/infoRenderer */ "./src/diagrams/info/infoRenderer.js"); -/* harmony import */ var _diagrams_info_parser_info__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./diagrams/info/parser/info */ "./src/diagrams/info/parser/info.jison"); -/* harmony import */ var _diagrams_info_parser_info__WEBPACK_IMPORTED_MODULE_23___default = /*#__PURE__*/__webpack_require__.n(_diagrams_info_parser_info__WEBPACK_IMPORTED_MODULE_23__); -/* harmony import */ var _diagrams_pie_parser_pie__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./diagrams/pie/parser/pie */ "./src/diagrams/pie/parser/pie.jison"); -/* harmony import */ var _diagrams_pie_parser_pie__WEBPACK_IMPORTED_MODULE_24___default = /*#__PURE__*/__webpack_require__.n(_diagrams_pie_parser_pie__WEBPACK_IMPORTED_MODULE_24__); -/* harmony import */ var _diagrams_pie_pieDb__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./diagrams/pie/pieDb */ "./src/diagrams/pie/pieDb.js"); -/* harmony import */ var _diagrams_pie_pieRenderer__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./diagrams/pie/pieRenderer */ "./src/diagrams/pie/pieRenderer.js"); -/* harmony import */ var _diagrams_requirement_parser_requirementDiagram__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./diagrams/requirement/parser/requirementDiagram */ "./src/diagrams/requirement/parser/requirementDiagram.jison"); -/* harmony import */ var _diagrams_requirement_parser_requirementDiagram__WEBPACK_IMPORTED_MODULE_27___default = /*#__PURE__*/__webpack_require__.n(_diagrams_requirement_parser_requirementDiagram__WEBPACK_IMPORTED_MODULE_27__); -/* harmony import */ var _diagrams_requirement_requirementDb__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./diagrams/requirement/requirementDb */ "./src/diagrams/requirement/requirementDb.js"); -/* harmony import */ var _diagrams_requirement_requirementRenderer__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./diagrams/requirement/requirementRenderer */ "./src/diagrams/requirement/requirementRenderer.js"); -/* harmony import */ var _diagrams_sequence_parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./diagrams/sequence/parser/sequenceDiagram */ "./src/diagrams/sequence/parser/sequenceDiagram.jison"); -/* harmony import */ var _diagrams_sequence_parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_30___default = /*#__PURE__*/__webpack_require__.n(_diagrams_sequence_parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_30__); -/* harmony import */ var _diagrams_sequence_sequenceDb__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./diagrams/sequence/sequenceDb */ "./src/diagrams/sequence/sequenceDb.js"); -/* harmony import */ var _diagrams_sequence_sequenceRenderer__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./diagrams/sequence/sequenceRenderer */ "./src/diagrams/sequence/sequenceRenderer.js"); -/* harmony import */ var _diagrams_state_parser_stateDiagram__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./diagrams/state/parser/stateDiagram */ "./src/diagrams/state/parser/stateDiagram.jison"); -/* harmony import */ var _diagrams_state_parser_stateDiagram__WEBPACK_IMPORTED_MODULE_33___default = /*#__PURE__*/__webpack_require__.n(_diagrams_state_parser_stateDiagram__WEBPACK_IMPORTED_MODULE_33__); -/* harmony import */ var _diagrams_state_stateDb__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ./diagrams/state/stateDb */ "./src/diagrams/state/stateDb.js"); +/* harmony import */ var _package_json__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ../package.json */ "./package.json"); +/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./config */ "./src/config.js"); +/* harmony import */ var _diagrams_class_classDb__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./diagrams/class/classDb */ "./src/diagrams/class/classDb.js"); +/* harmony import */ var _diagrams_class_classRenderer__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./diagrams/class/classRenderer */ "./src/diagrams/class/classRenderer.js"); +/* harmony import */ var _diagrams_class_classRenderer_v2__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ./diagrams/class/classRenderer-v2 */ "./src/diagrams/class/classRenderer-v2.js"); +/* harmony import */ var _diagrams_class_parser_classDiagram__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./diagrams/class/parser/classDiagram */ "./src/diagrams/class/parser/classDiagram.jison"); +/* harmony import */ var _diagrams_class_parser_classDiagram__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(_diagrams_class_parser_classDiagram__WEBPACK_IMPORTED_MODULE_13__); +/* harmony import */ var _diagrams_er_erDb__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./diagrams/er/erDb */ "./src/diagrams/er/erDb.js"); +/* harmony import */ var _diagrams_er_erRenderer__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ./diagrams/er/erRenderer */ "./src/diagrams/er/erRenderer.js"); +/* harmony import */ var _diagrams_er_parser_erDiagram__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./diagrams/er/parser/erDiagram */ "./src/diagrams/er/parser/erDiagram.jison"); +/* harmony import */ var _diagrams_er_parser_erDiagram__WEBPACK_IMPORTED_MODULE_21___default = /*#__PURE__*/__webpack_require__.n(_diagrams_er_parser_erDiagram__WEBPACK_IMPORTED_MODULE_21__); +/* harmony import */ var _diagrams_flowchart_flowDb__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./diagrams/flowchart/flowDb */ "./src/diagrams/flowchart/flowDb.js"); +/* harmony import */ var _diagrams_flowchart_flowRenderer__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./diagrams/flowchart/flowRenderer */ "./src/diagrams/flowchart/flowRenderer.js"); +/* harmony import */ var _diagrams_flowchart_flowRenderer_v2__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./diagrams/flowchart/flowRenderer-v2 */ "./src/diagrams/flowchart/flowRenderer-v2.js"); +/* harmony import */ var _diagrams_flowchart_parser_flow__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./diagrams/flowchart/parser/flow */ "./src/diagrams/flowchart/parser/flow.jison"); +/* harmony import */ var _diagrams_flowchart_parser_flow__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_diagrams_flowchart_parser_flow__WEBPACK_IMPORTED_MODULE_8__); +/* harmony import */ var _diagrams_gantt_ganttDb__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./diagrams/gantt/ganttDb */ "./src/diagrams/gantt/ganttDb.js"); +/* harmony import */ var _diagrams_gantt_ganttRenderer__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./diagrams/gantt/ganttRenderer */ "./src/diagrams/gantt/ganttRenderer.js"); +/* harmony import */ var _diagrams_gantt_parser_gantt__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./diagrams/gantt/parser/gantt */ "./src/diagrams/gantt/parser/gantt.jison"); +/* harmony import */ var _diagrams_gantt_parser_gantt__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(_diagrams_gantt_parser_gantt__WEBPACK_IMPORTED_MODULE_11__); +/* harmony import */ var _diagrams_git_gitGraphAst__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./diagrams/git/gitGraphAst */ "./src/diagrams/git/gitGraphAst.js"); +/* harmony import */ var _diagrams_git_gitGraphRenderer__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./diagrams/git/gitGraphRenderer */ "./src/diagrams/git/gitGraphRenderer.js"); +/* harmony import */ var _diagrams_git_parser_gitGraph__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./diagrams/git/parser/gitGraph */ "./src/diagrams/git/parser/gitGraph.jison"); +/* harmony import */ var _diagrams_git_parser_gitGraph__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_diagrams_git_parser_gitGraph__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var _diagrams_info_infoDb__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./diagrams/info/infoDb */ "./src/diagrams/info/infoDb.js"); +/* harmony import */ var _diagrams_info_infoRenderer__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ./diagrams/info/infoRenderer */ "./src/diagrams/info/infoRenderer.js"); +/* harmony import */ var _diagrams_info_parser_info__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./diagrams/info/parser/info */ "./src/diagrams/info/parser/info.jison"); +/* harmony import */ var _diagrams_info_parser_info__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(_diagrams_info_parser_info__WEBPACK_IMPORTED_MODULE_17__); +/* harmony import */ var _diagrams_pie_parser_pie__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./diagrams/pie/parser/pie */ "./src/diagrams/pie/parser/pie.jison"); +/* harmony import */ var _diagrams_pie_parser_pie__WEBPACK_IMPORTED_MODULE_19___default = /*#__PURE__*/__webpack_require__.n(_diagrams_pie_parser_pie__WEBPACK_IMPORTED_MODULE_19__); +/* harmony import */ var _diagrams_pie_pieDb__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./diagrams/pie/pieDb */ "./src/diagrams/pie/pieDb.js"); +/* harmony import */ var _diagrams_pie_pieRenderer__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ./diagrams/pie/pieRenderer */ "./src/diagrams/pie/pieRenderer.js"); +/* harmony import */ var _diagrams_requirement_parser_requirementDiagram__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./diagrams/requirement/parser/requirementDiagram */ "./src/diagrams/requirement/parser/requirementDiagram.jison"); +/* harmony import */ var _diagrams_requirement_parser_requirementDiagram__WEBPACK_IMPORTED_MODULE_25___default = /*#__PURE__*/__webpack_require__.n(_diagrams_requirement_parser_requirementDiagram__WEBPACK_IMPORTED_MODULE_25__); +/* harmony import */ var _diagrams_requirement_requirementDb__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./diagrams/requirement/requirementDb */ "./src/diagrams/requirement/requirementDb.js"); +/* harmony import */ var _diagrams_requirement_requirementRenderer__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! ./diagrams/requirement/requirementRenderer */ "./src/diagrams/requirement/requirementRenderer.js"); +/* harmony import */ var _diagrams_sequence_parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./diagrams/sequence/parser/sequenceDiagram */ "./src/diagrams/sequence/parser/sequenceDiagram.jison"); +/* harmony import */ var _diagrams_sequence_parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_diagrams_sequence_parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_9__); +/* harmony import */ var _diagrams_sequence_sequenceDb__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./diagrams/sequence/sequenceDb */ "./src/diagrams/sequence/sequenceDb.js"); +/* harmony import */ var _diagrams_sequence_sequenceRenderer__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./diagrams/sequence/sequenceRenderer */ "./src/diagrams/sequence/sequenceRenderer.js"); +/* harmony import */ var _diagrams_state_parser_stateDiagram__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./diagrams/state/parser/stateDiagram */ "./src/diagrams/state/parser/stateDiagram.jison"); +/* harmony import */ var _diagrams_state_parser_stateDiagram__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(_diagrams_state_parser_stateDiagram__WEBPACK_IMPORTED_MODULE_15__); +/* harmony import */ var _diagrams_state_stateDb__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./diagrams/state/stateDb */ "./src/diagrams/state/stateDb.js"); /* harmony import */ var _diagrams_state_stateRenderer__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ./diagrams/state/stateRenderer */ "./src/diagrams/state/stateRenderer.js"); /* harmony import */ var _diagrams_state_stateRenderer_v2__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ./diagrams/state/stateRenderer-v2 */ "./src/diagrams/state/stateRenderer-v2.js"); -/* harmony import */ var _diagrams_user_journey_journeyDb__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ./diagrams/user-journey/journeyDb */ "./src/diagrams/user-journey/journeyDb.js"); -/* harmony import */ var _diagrams_user_journey_journeyRenderer__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ./diagrams/user-journey/journeyRenderer */ "./src/diagrams/user-journey/journeyRenderer.js"); -/* harmony import */ var _diagrams_user_journey_parser_journey__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ./diagrams/user-journey/parser/journey */ "./src/diagrams/user-journey/parser/journey.jison"); -/* harmony import */ var _diagrams_user_journey_parser_journey__WEBPACK_IMPORTED_MODULE_39___default = /*#__PURE__*/__webpack_require__.n(_diagrams_user_journey_parser_journey__WEBPACK_IMPORTED_MODULE_39__); -/* harmony import */ var _errorRenderer__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ./errorRenderer */ "./src/errorRenderer.js"); -/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ./logger */ "./src/logger.js"); -/* harmony import */ var _styles__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! ./styles */ "./src/styles.js"); -/* harmony import */ var _themes__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(/*! ./themes */ "./src/themes/index.js"); -/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(/*! ./utils */ "./src/utils.js"); +/* harmony import */ var _diagrams_user_journey_journeyDb__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./diagrams/user-journey/journeyDb */ "./src/diagrams/user-journey/journeyDb.js"); +/* harmony import */ var _diagrams_user_journey_journeyRenderer__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ./diagrams/user-journey/journeyRenderer */ "./src/diagrams/user-journey/journeyRenderer.js"); +/* harmony import */ var _diagrams_user_journey_parser_journey__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./diagrams/user-journey/parser/journey */ "./src/diagrams/user-journey/parser/journey.jison"); +/* harmony import */ var _diagrams_user_journey_parser_journey__WEBPACK_IMPORTED_MODULE_23___default = /*#__PURE__*/__webpack_require__.n(_diagrams_user_journey_parser_journey__WEBPACK_IMPORTED_MODULE_23__); +/* harmony import */ var _errorRenderer__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(/*! ./errorRenderer */ "./src/errorRenderer.js"); +/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./logger */ "./src/logger.js"); +/* harmony import */ var _styles__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./styles */ "./src/styles.js"); +/* harmony import */ var _themes__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(/*! ./themes */ "./src/themes/index.js"); +/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils */ "./src/utils.js"); function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } /** @@ -25848,95 +25309,95 @@ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "functi function parse(text) { - var cnf = _config__WEBPACK_IMPORTED_MODULE_3__["getConfig"](); - var graphInit = _utils__WEBPACK_IMPORTED_MODULE_44__["default"].detectInit(text, cnf); + var cnf = _config__WEBPACK_IMPORTED_MODULE_2__.getConfig(); + var graphInit = _utils__WEBPACK_IMPORTED_MODULE_3__["default"].detectInit(text, cnf); if (graphInit) { reinitialize(graphInit); - _logger__WEBPACK_IMPORTED_MODULE_41__["log"].debug('reinit ', graphInit); + _logger__WEBPACK_IMPORTED_MODULE_4__.log.debug('reinit ', graphInit); } - var graphType = _utils__WEBPACK_IMPORTED_MODULE_44__["default"].detectType(text, cnf); + var graphType = _utils__WEBPACK_IMPORTED_MODULE_3__["default"].detectType(text, cnf); var parser; - _logger__WEBPACK_IMPORTED_MODULE_41__["log"].debug('Type ' + graphType); + _logger__WEBPACK_IMPORTED_MODULE_4__.log.debug('Type ' + graphType); switch (graphType) { case 'git': - parser = _diagrams_git_parser_gitGraph__WEBPACK_IMPORTED_MODULE_20___default.a; - parser.parser.yy = _diagrams_git_gitGraphAst__WEBPACK_IMPORTED_MODULE_18__["default"]; + parser = (_diagrams_git_parser_gitGraph__WEBPACK_IMPORTED_MODULE_5___default()); + parser.parser.yy = _diagrams_git_gitGraphAst__WEBPACK_IMPORTED_MODULE_6__["default"]; break; case 'flowchart': - _diagrams_flowchart_flowDb__WEBPACK_IMPORTED_MODULE_11__["default"].clear(); - parser = _diagrams_flowchart_parser_flow__WEBPACK_IMPORTED_MODULE_14___default.a; - parser.parser.yy = _diagrams_flowchart_flowDb__WEBPACK_IMPORTED_MODULE_11__["default"]; + _diagrams_flowchart_flowDb__WEBPACK_IMPORTED_MODULE_7__["default"].clear(); + parser = (_diagrams_flowchart_parser_flow__WEBPACK_IMPORTED_MODULE_8___default()); + parser.parser.yy = _diagrams_flowchart_flowDb__WEBPACK_IMPORTED_MODULE_7__["default"]; break; case 'flowchart-v2': - _diagrams_flowchart_flowDb__WEBPACK_IMPORTED_MODULE_11__["default"].clear(); - parser = _diagrams_flowchart_parser_flow__WEBPACK_IMPORTED_MODULE_14___default.a; - parser.parser.yy = _diagrams_flowchart_flowDb__WEBPACK_IMPORTED_MODULE_11__["default"]; + _diagrams_flowchart_flowDb__WEBPACK_IMPORTED_MODULE_7__["default"].clear(); + parser = (_diagrams_flowchart_parser_flow__WEBPACK_IMPORTED_MODULE_8___default()); + parser.parser.yy = _diagrams_flowchart_flowDb__WEBPACK_IMPORTED_MODULE_7__["default"]; break; case 'sequence': - parser = _diagrams_sequence_parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_30___default.a; - parser.parser.yy = _diagrams_sequence_sequenceDb__WEBPACK_IMPORTED_MODULE_31__["default"]; + parser = (_diagrams_sequence_parser_sequenceDiagram__WEBPACK_IMPORTED_MODULE_9___default()); + parser.parser.yy = _diagrams_sequence_sequenceDb__WEBPACK_IMPORTED_MODULE_10__["default"]; break; case 'gantt': - parser = _diagrams_gantt_parser_gantt__WEBPACK_IMPORTED_MODULE_17___default.a; - parser.parser.yy = _diagrams_gantt_ganttDb__WEBPACK_IMPORTED_MODULE_15__["default"]; + parser = (_diagrams_gantt_parser_gantt__WEBPACK_IMPORTED_MODULE_11___default()); + parser.parser.yy = _diagrams_gantt_ganttDb__WEBPACK_IMPORTED_MODULE_12__["default"]; break; case 'class': - parser = _diagrams_class_parser_classDiagram__WEBPACK_IMPORTED_MODULE_7___default.a; - parser.parser.yy = _diagrams_class_classDb__WEBPACK_IMPORTED_MODULE_4__["default"]; + parser = (_diagrams_class_parser_classDiagram__WEBPACK_IMPORTED_MODULE_13___default()); + parser.parser.yy = _diagrams_class_classDb__WEBPACK_IMPORTED_MODULE_14__["default"]; break; case 'classDiagram': - parser = _diagrams_class_parser_classDiagram__WEBPACK_IMPORTED_MODULE_7___default.a; - parser.parser.yy = _diagrams_class_classDb__WEBPACK_IMPORTED_MODULE_4__["default"]; + parser = (_diagrams_class_parser_classDiagram__WEBPACK_IMPORTED_MODULE_13___default()); + parser.parser.yy = _diagrams_class_classDb__WEBPACK_IMPORTED_MODULE_14__["default"]; break; case 'state': - parser = _diagrams_state_parser_stateDiagram__WEBPACK_IMPORTED_MODULE_33___default.a; - parser.parser.yy = _diagrams_state_stateDb__WEBPACK_IMPORTED_MODULE_34__["default"]; + parser = (_diagrams_state_parser_stateDiagram__WEBPACK_IMPORTED_MODULE_15___default()); + parser.parser.yy = _diagrams_state_stateDb__WEBPACK_IMPORTED_MODULE_16__["default"]; break; case 'stateDiagram': - parser = _diagrams_state_parser_stateDiagram__WEBPACK_IMPORTED_MODULE_33___default.a; - parser.parser.yy = _diagrams_state_stateDb__WEBPACK_IMPORTED_MODULE_34__["default"]; + parser = (_diagrams_state_parser_stateDiagram__WEBPACK_IMPORTED_MODULE_15___default()); + parser.parser.yy = _diagrams_state_stateDb__WEBPACK_IMPORTED_MODULE_16__["default"]; break; case 'info': - _logger__WEBPACK_IMPORTED_MODULE_41__["log"].debug('info info info'); - parser = _diagrams_info_parser_info__WEBPACK_IMPORTED_MODULE_23___default.a; - parser.parser.yy = _diagrams_info_infoDb__WEBPACK_IMPORTED_MODULE_21__["default"]; + _logger__WEBPACK_IMPORTED_MODULE_4__.log.debug('info info info'); + parser = (_diagrams_info_parser_info__WEBPACK_IMPORTED_MODULE_17___default()); + parser.parser.yy = _diagrams_info_infoDb__WEBPACK_IMPORTED_MODULE_18__["default"]; break; case 'pie': - _logger__WEBPACK_IMPORTED_MODULE_41__["log"].debug('pie'); - parser = _diagrams_pie_parser_pie__WEBPACK_IMPORTED_MODULE_24___default.a; - parser.parser.yy = _diagrams_pie_pieDb__WEBPACK_IMPORTED_MODULE_25__["default"]; + _logger__WEBPACK_IMPORTED_MODULE_4__.log.debug('pie'); + parser = (_diagrams_pie_parser_pie__WEBPACK_IMPORTED_MODULE_19___default()); + parser.parser.yy = _diagrams_pie_pieDb__WEBPACK_IMPORTED_MODULE_20__["default"]; break; case 'er': - _logger__WEBPACK_IMPORTED_MODULE_41__["log"].debug('er'); - parser = _diagrams_er_parser_erDiagram__WEBPACK_IMPORTED_MODULE_10___default.a; - parser.parser.yy = _diagrams_er_erDb__WEBPACK_IMPORTED_MODULE_8__["default"]; + _logger__WEBPACK_IMPORTED_MODULE_4__.log.debug('er'); + parser = (_diagrams_er_parser_erDiagram__WEBPACK_IMPORTED_MODULE_21___default()); + parser.parser.yy = _diagrams_er_erDb__WEBPACK_IMPORTED_MODULE_22__["default"]; break; case 'journey': - _logger__WEBPACK_IMPORTED_MODULE_41__["log"].debug('Journey'); - parser = _diagrams_user_journey_parser_journey__WEBPACK_IMPORTED_MODULE_39___default.a; - parser.parser.yy = _diagrams_user_journey_journeyDb__WEBPACK_IMPORTED_MODULE_37__["default"]; + _logger__WEBPACK_IMPORTED_MODULE_4__.log.debug('Journey'); + parser = (_diagrams_user_journey_parser_journey__WEBPACK_IMPORTED_MODULE_23___default()); + parser.parser.yy = _diagrams_user_journey_journeyDb__WEBPACK_IMPORTED_MODULE_24__["default"]; break; case 'requirement': case 'requirementDiagram': - _logger__WEBPACK_IMPORTED_MODULE_41__["log"].debug('RequirementDiagram'); - parser = _diagrams_requirement_parser_requirementDiagram__WEBPACK_IMPORTED_MODULE_27___default.a; - parser.parser.yy = _diagrams_requirement_requirementDb__WEBPACK_IMPORTED_MODULE_28__["default"]; + _logger__WEBPACK_IMPORTED_MODULE_4__.log.debug('RequirementDiagram'); + parser = (_diagrams_requirement_parser_requirementDiagram__WEBPACK_IMPORTED_MODULE_25___default()); + parser.parser.yy = _diagrams_requirement_requirementDb__WEBPACK_IMPORTED_MODULE_26__["default"]; break; } @@ -26013,12 +25474,12 @@ var decodeEntities = function decodeEntities(text) { */ var render = function render(id, _txt, cb, container) { - _config__WEBPACK_IMPORTED_MODULE_3__["reset"](); + _config__WEBPACK_IMPORTED_MODULE_2__.reset(); var txt = _txt; - var graphInit = _utils__WEBPACK_IMPORTED_MODULE_44__["default"].detectInit(txt); + var graphInit = _utils__WEBPACK_IMPORTED_MODULE_3__["default"].detectInit(txt); if (graphInit) { - _config__WEBPACK_IMPORTED_MODULE_3__["addDirective"](graphInit); + _config__WEBPACK_IMPORTED_MODULE_2__.addDirective(graphInit); } // else { // configApi.reset(); // const siteConfig = configApi.getSiteConfig(); @@ -26027,7 +25488,7 @@ var render = function render(id, _txt, cb, container) { // console.warn('Render fetching config'); - var cnf = _config__WEBPACK_IMPORTED_MODULE_3__["getConfig"](); // Check the maximum allowed text size + var cnf = _config__WEBPACK_IMPORTED_MODULE_2__.getConfig(); // Check the maximum allowed text size if (_txt.length > cnf.maxTextSize) { txt = 'graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa'; @@ -26035,7 +25496,7 @@ var render = function render(id, _txt, cb, container) { if (typeof container !== 'undefined') { container.innerHTML = ''; - Object(d3__WEBPACK_IMPORTED_MODULE_0__["select"])(container).append('div').attr('id', 'd' + id).attr('style', 'font-family: ' + cnf.fontFamily).append('svg').attr('id', id).attr('width', '100%').attr('xmlns', 'http://www.w3.org/2000/svg').append('g'); + (0,d3__WEBPACK_IMPORTED_MODULE_0__.select)(container).append('div').attr('id', 'd' + id).attr('style', 'font-family: ' + cnf.fontFamily).append('svg').attr('id', id).attr('width', '100%').attr('xmlns', 'http://www.w3.org/2000/svg').append('g'); } else { var existingSvg = document.getElementById(id); @@ -26049,13 +25510,13 @@ var render = function render(id, _txt, cb, container) { _element.remove(); } - Object(d3__WEBPACK_IMPORTED_MODULE_0__["select"])('body').append('div').attr('id', 'd' + id).append('svg').attr('id', id).attr('width', '100%').attr('xmlns', 'http://www.w3.org/2000/svg').append('g'); + (0,d3__WEBPACK_IMPORTED_MODULE_0__.select)('body').append('div').attr('id', 'd' + id).append('svg').attr('id', id).attr('width', '100%').attr('xmlns', 'http://www.w3.org/2000/svg').append('g'); } window.txt = txt; txt = encodeEntities(txt); - var element = Object(d3__WEBPACK_IMPORTED_MODULE_0__["select"])('#d' + id).node(); - var graphType = _utils__WEBPACK_IMPORTED_MODULE_44__["default"].detectType(txt, cnf); // insert inline style into svg + var element = (0,d3__WEBPACK_IMPORTED_MODULE_0__.select)('#d' + id).node(); + var graphType = _utils__WEBPACK_IMPORTED_MODULE_3__["default"].detectType(txt, cnf); // insert inline style into svg var svg = element.firstChild; var firstChild = svg.firstChild; @@ -26077,7 +25538,7 @@ var render = function render(id, _txt, cb, container) { if (graphType === 'flowchart' || graphType === 'flowchart-v2' || graphType === 'graph') { - var classes = _diagrams_flowchart_flowRenderer__WEBPACK_IMPORTED_MODULE_12__["default"].getClasses(txt); + var classes = _diagrams_flowchart_flowRenderer__WEBPACK_IMPORTED_MODULE_27__["default"].getClasses(txt); var htmlLabels = cnf.htmlLabels || cnf.flowchart.htmlLabels; for (var className in classes) { @@ -26100,10 +25561,10 @@ var render = function render(id, _txt, cb, container) { var stylis = function stylis(selector, styles) { - return Object(stylis__WEBPACK_IMPORTED_MODULE_1__["serialize"])(Object(stylis__WEBPACK_IMPORTED_MODULE_1__["compile"])("".concat(selector, "{").concat(styles, "}")), stylis__WEBPACK_IMPORTED_MODULE_1__["stringify"]); + return (0,stylis__WEBPACK_IMPORTED_MODULE_1__.serialize)((0,stylis__WEBPACK_IMPORTED_MODULE_1__.compile)("".concat(selector, "{").concat(styles, "}")), stylis__WEBPACK_IMPORTED_MODULE_1__.stringify); }; - var rules = stylis("#".concat(id), Object(_styles__WEBPACK_IMPORTED_MODULE_42__["default"])(graphType, userStyles, cnf.themeVariables)); + var rules = stylis("#".concat(id), (0,_styles__WEBPACK_IMPORTED_MODULE_28__["default"])(graphType, userStyles, cnf.themeVariables)); var style1 = document.createElement('style'); style1.innerHTML = "#".concat(id, " ") + rules; svg.insertBefore(style1, firstChild); // Verify that the generated svgs are ok before removing this @@ -26121,20 +25582,20 @@ var render = function render(id, _txt, cb, container) { switch (graphType) { case 'git': cnf.flowchart.arrowMarkerAbsolute = cnf.arrowMarkerAbsolute; - _diagrams_git_gitGraphRenderer__WEBPACK_IMPORTED_MODULE_19__["default"].setConf(cnf.git); - _diagrams_git_gitGraphRenderer__WEBPACK_IMPORTED_MODULE_19__["default"].draw(txt, id, false); + _diagrams_git_gitGraphRenderer__WEBPACK_IMPORTED_MODULE_29__["default"].setConf(cnf.git); + _diagrams_git_gitGraphRenderer__WEBPACK_IMPORTED_MODULE_29__["default"].draw(txt, id, false); break; case 'flowchart': cnf.flowchart.arrowMarkerAbsolute = cnf.arrowMarkerAbsolute; - _diagrams_flowchart_flowRenderer__WEBPACK_IMPORTED_MODULE_12__["default"].setConf(cnf.flowchart); - _diagrams_flowchart_flowRenderer__WEBPACK_IMPORTED_MODULE_12__["default"].draw(txt, id, false); + _diagrams_flowchart_flowRenderer__WEBPACK_IMPORTED_MODULE_27__["default"].setConf(cnf.flowchart); + _diagrams_flowchart_flowRenderer__WEBPACK_IMPORTED_MODULE_27__["default"].draw(txt, id, false); break; case 'flowchart-v2': cnf.flowchart.arrowMarkerAbsolute = cnf.arrowMarkerAbsolute; - _diagrams_flowchart_flowRenderer_v2__WEBPACK_IMPORTED_MODULE_13__["default"].setConf(cnf.flowchart); - _diagrams_flowchart_flowRenderer_v2__WEBPACK_IMPORTED_MODULE_13__["default"].draw(txt, id, false); + _diagrams_flowchart_flowRenderer_v2__WEBPACK_IMPORTED_MODULE_30__["default"].setConf(cnf.flowchart); + _diagrams_flowchart_flowRenderer_v2__WEBPACK_IMPORTED_MODULE_30__["default"].draw(txt, id, false); break; case 'sequence': @@ -26142,31 +25603,31 @@ var render = function render(id, _txt, cb, container) { if (cnf.sequenceDiagram) { // backwards compatibility - _diagrams_sequence_sequenceRenderer__WEBPACK_IMPORTED_MODULE_32__["default"].setConf(Object.assign(cnf.sequence, cnf.sequenceDiagram)); + _diagrams_sequence_sequenceRenderer__WEBPACK_IMPORTED_MODULE_31__["default"].setConf(Object.assign(cnf.sequence, cnf.sequenceDiagram)); console.error('`mermaid config.sequenceDiagram` has been renamed to `config.sequence`. Please update your mermaid config.'); } else { - _diagrams_sequence_sequenceRenderer__WEBPACK_IMPORTED_MODULE_32__["default"].setConf(cnf.sequence); + _diagrams_sequence_sequenceRenderer__WEBPACK_IMPORTED_MODULE_31__["default"].setConf(cnf.sequence); } - _diagrams_sequence_sequenceRenderer__WEBPACK_IMPORTED_MODULE_32__["default"].draw(txt, id); + _diagrams_sequence_sequenceRenderer__WEBPACK_IMPORTED_MODULE_31__["default"].draw(txt, id); break; case 'gantt': cnf.gantt.arrowMarkerAbsolute = cnf.arrowMarkerAbsolute; - _diagrams_gantt_ganttRenderer__WEBPACK_IMPORTED_MODULE_16__["default"].setConf(cnf.gantt); - _diagrams_gantt_ganttRenderer__WEBPACK_IMPORTED_MODULE_16__["default"].draw(txt, id); + _diagrams_gantt_ganttRenderer__WEBPACK_IMPORTED_MODULE_32__["default"].setConf(cnf.gantt); + _diagrams_gantt_ganttRenderer__WEBPACK_IMPORTED_MODULE_32__["default"].draw(txt, id); break; case 'class': cnf.class.arrowMarkerAbsolute = cnf.arrowMarkerAbsolute; - _diagrams_class_classRenderer__WEBPACK_IMPORTED_MODULE_5__["default"].setConf(cnf.class); - _diagrams_class_classRenderer__WEBPACK_IMPORTED_MODULE_5__["default"].draw(txt, id); + _diagrams_class_classRenderer__WEBPACK_IMPORTED_MODULE_33__["default"].setConf(cnf.class); + _diagrams_class_classRenderer__WEBPACK_IMPORTED_MODULE_33__["default"].draw(txt, id); break; case 'classDiagram': cnf.class.arrowMarkerAbsolute = cnf.arrowMarkerAbsolute; - _diagrams_class_classRenderer_v2__WEBPACK_IMPORTED_MODULE_6__["default"].setConf(cnf.class); - _diagrams_class_classRenderer_v2__WEBPACK_IMPORTED_MODULE_6__["default"].draw(txt, id); + _diagrams_class_classRenderer_v2__WEBPACK_IMPORTED_MODULE_34__["default"].setConf(cnf.class); + _diagrams_class_classRenderer_v2__WEBPACK_IMPORTED_MODULE_34__["default"].draw(txt, id); break; case 'state': @@ -26183,38 +25644,38 @@ var render = function render(id, _txt, cb, container) { case 'info': cnf.class.arrowMarkerAbsolute = cnf.arrowMarkerAbsolute; - _diagrams_info_infoRenderer__WEBPACK_IMPORTED_MODULE_22__["default"].setConf(cnf.class); - _diagrams_info_infoRenderer__WEBPACK_IMPORTED_MODULE_22__["default"].draw(txt, id, _package_json__WEBPACK_IMPORTED_MODULE_2__.version); + _diagrams_info_infoRenderer__WEBPACK_IMPORTED_MODULE_37__["default"].setConf(cnf.class); + _diagrams_info_infoRenderer__WEBPACK_IMPORTED_MODULE_37__["default"].draw(txt, id, _package_json__WEBPACK_IMPORTED_MODULE_38__.version); break; case 'pie': //cnf.class.arrowMarkerAbsolute = cnf.arrowMarkerAbsolute; //pieRenderer.setConf(cnf.pie); - _diagrams_pie_pieRenderer__WEBPACK_IMPORTED_MODULE_26__["default"].draw(txt, id, _package_json__WEBPACK_IMPORTED_MODULE_2__.version); + _diagrams_pie_pieRenderer__WEBPACK_IMPORTED_MODULE_39__["default"].draw(txt, id, _package_json__WEBPACK_IMPORTED_MODULE_38__.version); break; case 'er': - _diagrams_er_erRenderer__WEBPACK_IMPORTED_MODULE_9__["default"].setConf(cnf.er); - _diagrams_er_erRenderer__WEBPACK_IMPORTED_MODULE_9__["default"].draw(txt, id, _package_json__WEBPACK_IMPORTED_MODULE_2__.version); + _diagrams_er_erRenderer__WEBPACK_IMPORTED_MODULE_40__["default"].setConf(cnf.er); + _diagrams_er_erRenderer__WEBPACK_IMPORTED_MODULE_40__["default"].draw(txt, id, _package_json__WEBPACK_IMPORTED_MODULE_38__.version); break; case 'journey': - _diagrams_user_journey_journeyRenderer__WEBPACK_IMPORTED_MODULE_38__["default"].setConf(cnf.journey); - _diagrams_user_journey_journeyRenderer__WEBPACK_IMPORTED_MODULE_38__["default"].draw(txt, id, _package_json__WEBPACK_IMPORTED_MODULE_2__.version); + _diagrams_user_journey_journeyRenderer__WEBPACK_IMPORTED_MODULE_41__["default"].setConf(cnf.journey); + _diagrams_user_journey_journeyRenderer__WEBPACK_IMPORTED_MODULE_41__["default"].draw(txt, id, _package_json__WEBPACK_IMPORTED_MODULE_38__.version); break; case 'requirement': - _diagrams_requirement_requirementRenderer__WEBPACK_IMPORTED_MODULE_29__["default"].setConf(cnf.requirement); - _diagrams_requirement_requirementRenderer__WEBPACK_IMPORTED_MODULE_29__["default"].draw(txt, id, _package_json__WEBPACK_IMPORTED_MODULE_2__.version); + _diagrams_requirement_requirementRenderer__WEBPACK_IMPORTED_MODULE_42__["default"].setConf(cnf.requirement); + _diagrams_requirement_requirementRenderer__WEBPACK_IMPORTED_MODULE_42__["default"].draw(txt, id, _package_json__WEBPACK_IMPORTED_MODULE_38__.version); break; } } catch (e) { // errorRenderer.setConf(cnf.class); - _errorRenderer__WEBPACK_IMPORTED_MODULE_40__["default"].draw(id, _package_json__WEBPACK_IMPORTED_MODULE_2__.version); + _errorRenderer__WEBPACK_IMPORTED_MODULE_43__["default"].draw(id, _package_json__WEBPACK_IMPORTED_MODULE_38__.version); throw e; } - Object(d3__WEBPACK_IMPORTED_MODULE_0__["select"])("[id=\"".concat(id, "\"]")).selectAll('foreignobject > *').attr('xmlns', 'http://www.w3.org/1999/xhtml'); // if (cnf.arrowMarkerAbsolute) { + (0,d3__WEBPACK_IMPORTED_MODULE_0__.select)("[id=\"".concat(id, "\"]")).selectAll('foreignobject > *').attr('xmlns', 'http://www.w3.org/1999/xhtml'); // if (cnf.arrowMarkerAbsolute) { // url = // window.location.protocol + // '//' + @@ -26226,8 +25687,8 @@ var render = function render(id, _txt, cb, container) { // } // Fix for when the base tag is used - var svgCode = Object(d3__WEBPACK_IMPORTED_MODULE_0__["select"])('#d' + id).node().innerHTML; - _logger__WEBPACK_IMPORTED_MODULE_41__["log"].debug('cnf.arrowMarkerAbsolute', cnf.arrowMarkerAbsolute); + var svgCode = (0,d3__WEBPACK_IMPORTED_MODULE_0__.select)('#d' + id).node().innerHTML; + _logger__WEBPACK_IMPORTED_MODULE_4__.log.debug('cnf.arrowMarkerAbsolute', cnf.arrowMarkerAbsolute); if (!cnf.arrowMarkerAbsolute || cnf.arrowMarkerAbsolute === 'false') { svgCode = svgCode.replace(/marker-end="url\(.*?#/g, 'marker-end="url(#', 'g'); @@ -26241,29 +25702,29 @@ var render = function render(id, _txt, cb, container) { switch (graphType) { case 'flowchart': case 'flowchart-v2': - cb(svgCode, _diagrams_flowchart_flowDb__WEBPACK_IMPORTED_MODULE_11__["default"].bindFunctions); + cb(svgCode, _diagrams_flowchart_flowDb__WEBPACK_IMPORTED_MODULE_7__["default"].bindFunctions); break; case 'gantt': - cb(svgCode, _diagrams_gantt_ganttDb__WEBPACK_IMPORTED_MODULE_15__["default"].bindFunctions); + cb(svgCode, _diagrams_gantt_ganttDb__WEBPACK_IMPORTED_MODULE_12__["default"].bindFunctions); break; case 'class': case 'classDiagram': - cb(svgCode, _diagrams_class_classDb__WEBPACK_IMPORTED_MODULE_4__["default"].bindFunctions); + cb(svgCode, _diagrams_class_classDb__WEBPACK_IMPORTED_MODULE_14__["default"].bindFunctions); break; default: cb(svgCode); } } else { - _logger__WEBPACK_IMPORTED_MODULE_41__["log"].debug('CB = undefined!'); + _logger__WEBPACK_IMPORTED_MODULE_4__.log.debug('CB = undefined!'); } - var node = Object(d3__WEBPACK_IMPORTED_MODULE_0__["select"])('#d' + id).node(); + var node = (0,d3__WEBPACK_IMPORTED_MODULE_0__.select)('#d' + id).node(); if (node !== null && typeof node.remove === 'function') { - Object(d3__WEBPACK_IMPORTED_MODULE_0__["select"])('#d' + id).node().remove(); + (0,d3__WEBPACK_IMPORTED_MODULE_0__.select)('#d' + id).node().remove(); } return svgCode; @@ -26296,13 +25757,13 @@ var parseDirective = function parseDirective(p, statement, context, type) { } } } catch (error) { - _logger__WEBPACK_IMPORTED_MODULE_41__["log"].error("Error while rendering sequenceDiagram directive: ".concat(statement, " jison context: ").concat(context)); - _logger__WEBPACK_IMPORTED_MODULE_41__["log"].error(error.message); + _logger__WEBPACK_IMPORTED_MODULE_4__.log.error("Error while rendering sequenceDiagram directive: ".concat(statement, " jison context: ").concat(context)); + _logger__WEBPACK_IMPORTED_MODULE_4__.log.error(error.message); } }; var handleDirective = function handleDirective(p, directive, type) { - _logger__WEBPACK_IMPORTED_MODULE_41__["log"].debug("Directive type=".concat(directive.type, " with args:"), directive.args); + _logger__WEBPACK_IMPORTED_MODULE_4__.log.debug("Directive type=".concat(directive.type, " with args:"), directive.args); switch (directive.type) { case 'init': @@ -26318,11 +25779,11 @@ var handleDirective = function handleDirective(p, directive, type) { delete directive.args[prop]; } }); - _logger__WEBPACK_IMPORTED_MODULE_41__["log"].debug('sanitize in handleDirective', directive.args); - Object(_utils__WEBPACK_IMPORTED_MODULE_44__["directiveSanitizer"])(directive.args); - _logger__WEBPACK_IMPORTED_MODULE_41__["log"].debug('sanitize in handleDirective (done)', directive.args); + _logger__WEBPACK_IMPORTED_MODULE_4__.log.debug('sanitize in handleDirective', directive.args); + (0,_utils__WEBPACK_IMPORTED_MODULE_3__.directiveSanitizer)(directive.args); + _logger__WEBPACK_IMPORTED_MODULE_4__.log.debug('sanitize in handleDirective (done)', directive.args); reinitialize(directive.args); - _config__WEBPACK_IMPORTED_MODULE_3__["addDirective"](directive.args); + _config__WEBPACK_IMPORTED_MODULE_2__.addDirective(directive.args); break; } @@ -26335,32 +25796,32 @@ var handleDirective = function handleDirective(p, directive, type) { break; default: - _logger__WEBPACK_IMPORTED_MODULE_41__["log"].warn("Unhandled directive: source: '%%{".concat(directive.type, ": ").concat(JSON.stringify(directive.args ? directive.args : {}), "}%%"), directive); + _logger__WEBPACK_IMPORTED_MODULE_4__.log.warn("Unhandled directive: source: '%%{".concat(directive.type, ": ").concat(JSON.stringify(directive.args ? directive.args : {}), "}%%"), directive); break; } }; function updateRendererConfigs(conf) { // Todo remove, all diagrams should get config on demoand from the config object, no need for this - _diagrams_git_gitGraphRenderer__WEBPACK_IMPORTED_MODULE_19__["default"].setConf(conf.git); - _diagrams_flowchart_flowRenderer__WEBPACK_IMPORTED_MODULE_12__["default"].setConf(conf.flowchart); - _diagrams_flowchart_flowRenderer_v2__WEBPACK_IMPORTED_MODULE_13__["default"].setConf(conf.flowchart); + _diagrams_git_gitGraphRenderer__WEBPACK_IMPORTED_MODULE_29__["default"].setConf(conf.git); + _diagrams_flowchart_flowRenderer__WEBPACK_IMPORTED_MODULE_27__["default"].setConf(conf.flowchart); + _diagrams_flowchart_flowRenderer_v2__WEBPACK_IMPORTED_MODULE_30__["default"].setConf(conf.flowchart); if (typeof conf['sequenceDiagram'] !== 'undefined') { - _diagrams_sequence_sequenceRenderer__WEBPACK_IMPORTED_MODULE_32__["default"].setConf(Object(_utils__WEBPACK_IMPORTED_MODULE_44__["assignWithDepth"])(conf.sequence, conf['sequenceDiagram'])); + _diagrams_sequence_sequenceRenderer__WEBPACK_IMPORTED_MODULE_31__["default"].setConf((0,_utils__WEBPACK_IMPORTED_MODULE_3__.assignWithDepth)(conf.sequence, conf['sequenceDiagram'])); } - _diagrams_sequence_sequenceRenderer__WEBPACK_IMPORTED_MODULE_32__["default"].setConf(conf.sequence); - _diagrams_gantt_ganttRenderer__WEBPACK_IMPORTED_MODULE_16__["default"].setConf(conf.gantt); - _diagrams_class_classRenderer__WEBPACK_IMPORTED_MODULE_5__["default"].setConf(conf.class); + _diagrams_sequence_sequenceRenderer__WEBPACK_IMPORTED_MODULE_31__["default"].setConf(conf.sequence); + _diagrams_gantt_ganttRenderer__WEBPACK_IMPORTED_MODULE_32__["default"].setConf(conf.gantt); + _diagrams_class_classRenderer__WEBPACK_IMPORTED_MODULE_33__["default"].setConf(conf.class); _diagrams_state_stateRenderer__WEBPACK_IMPORTED_MODULE_35__["default"].setConf(conf.state); _diagrams_state_stateRenderer_v2__WEBPACK_IMPORTED_MODULE_36__["default"].setConf(conf.state); - _diagrams_info_infoRenderer__WEBPACK_IMPORTED_MODULE_22__["default"].setConf(conf.class); // pieRenderer.setConf(conf.class); + _diagrams_info_infoRenderer__WEBPACK_IMPORTED_MODULE_37__["default"].setConf(conf.class); // pieRenderer.setConf(conf.class); - _diagrams_er_erRenderer__WEBPACK_IMPORTED_MODULE_9__["default"].setConf(conf.er); - _diagrams_user_journey_journeyRenderer__WEBPACK_IMPORTED_MODULE_38__["default"].setConf(conf.journey); - _diagrams_requirement_requirementRenderer__WEBPACK_IMPORTED_MODULE_29__["default"].setConf(conf.requirement); - _errorRenderer__WEBPACK_IMPORTED_MODULE_40__["default"].setConf(conf.class); + _diagrams_er_erRenderer__WEBPACK_IMPORTED_MODULE_40__["default"].setConf(conf.er); + _diagrams_user_journey_journeyRenderer__WEBPACK_IMPORTED_MODULE_41__["default"].setConf(conf.journey); + _diagrams_requirement_requirementRenderer__WEBPACK_IMPORTED_MODULE_42__["default"].setConf(conf.requirement); + _errorRenderer__WEBPACK_IMPORTED_MODULE_43__["default"].setConf(conf.class); } function reinitialize() {// `mermaidAPI.reinitialize: v${pkg.version}`, @@ -26395,18 +25856,18 @@ function initialize(options) { } // Set default options - _config__WEBPACK_IMPORTED_MODULE_3__["saveConfigFromInitilize"](options); + _config__WEBPACK_IMPORTED_MODULE_2__.saveConfigFromInitilize(options); - if (options && options.theme && _themes__WEBPACK_IMPORTED_MODULE_43__["default"][options.theme]) { + if (options && options.theme && _themes__WEBPACK_IMPORTED_MODULE_44__["default"][options.theme]) { // Todo merge with user options - options.themeVariables = _themes__WEBPACK_IMPORTED_MODULE_43__["default"][options.theme].getThemeVariables(options.themeVariables); + options.themeVariables = _themes__WEBPACK_IMPORTED_MODULE_44__["default"][options.theme].getThemeVariables(options.themeVariables); } else { - if (options) options.themeVariables = _themes__WEBPACK_IMPORTED_MODULE_43__["default"].default.getThemeVariables(options.themeVariables); + if (options) options.themeVariables = _themes__WEBPACK_IMPORTED_MODULE_44__["default"]["default"].getThemeVariables(options.themeVariables); } - var config = _typeof(options) === 'object' ? _config__WEBPACK_IMPORTED_MODULE_3__["setSiteConfig"](options) : _config__WEBPACK_IMPORTED_MODULE_3__["getSiteConfig"](); + var config = _typeof(options) === 'object' ? _config__WEBPACK_IMPORTED_MODULE_2__.setSiteConfig(options) : _config__WEBPACK_IMPORTED_MODULE_2__.getSiteConfig(); updateRendererConfigs(config); - Object(_logger__WEBPACK_IMPORTED_MODULE_41__["setLogLevel"])(config.logLevel); // log.debug('mermaidAPI.initialize: ', config); + (0,_logger__WEBPACK_IMPORTED_MODULE_4__.setLogLevel)(config.logLevel); // log.debug('mermaidAPI.initialize: ', config); } var mermaidAPI = Object.freeze({ @@ -26415,24 +25876,24 @@ var mermaidAPI = Object.freeze({ parseDirective: parseDirective, initialize: initialize, reinitialize: reinitialize, - getConfig: _config__WEBPACK_IMPORTED_MODULE_3__["getConfig"], - setConfig: _config__WEBPACK_IMPORTED_MODULE_3__["setConfig"], - getSiteConfig: _config__WEBPACK_IMPORTED_MODULE_3__["getSiteConfig"], - updateSiteConfig: _config__WEBPACK_IMPORTED_MODULE_3__["updateSiteConfig"], + getConfig: _config__WEBPACK_IMPORTED_MODULE_2__.getConfig, + setConfig: _config__WEBPACK_IMPORTED_MODULE_2__.setConfig, + getSiteConfig: _config__WEBPACK_IMPORTED_MODULE_2__.getSiteConfig, + updateSiteConfig: _config__WEBPACK_IMPORTED_MODULE_2__.updateSiteConfig, reset: function reset() { // console.warn('reset'); - _config__WEBPACK_IMPORTED_MODULE_3__["reset"](); // const siteConfig = configApi.getSiteConfig(); + _config__WEBPACK_IMPORTED_MODULE_2__.reset(); // const siteConfig = configApi.getSiteConfig(); // updateRendererConfigs(siteConfig); }, globalReset: function globalReset() { - _config__WEBPACK_IMPORTED_MODULE_3__["reset"](_config__WEBPACK_IMPORTED_MODULE_3__["defaultConfig"]); - updateRendererConfigs(_config__WEBPACK_IMPORTED_MODULE_3__["getConfig"]()); + _config__WEBPACK_IMPORTED_MODULE_2__.reset(_config__WEBPACK_IMPORTED_MODULE_2__.defaultConfig); + updateRendererConfigs(_config__WEBPACK_IMPORTED_MODULE_2__.getConfig()); }, - defaultConfig: _config__WEBPACK_IMPORTED_MODULE_3__["defaultConfig"] + defaultConfig: _config__WEBPACK_IMPORTED_MODULE_2__.defaultConfig }); -Object(_logger__WEBPACK_IMPORTED_MODULE_41__["setLogLevel"])(_config__WEBPACK_IMPORTED_MODULE_3__["getConfig"]().logLevel); -_config__WEBPACK_IMPORTED_MODULE_3__["reset"](_config__WEBPACK_IMPORTED_MODULE_3__["getConfig"]()); -/* harmony default export */ __webpack_exports__["default"] = (mermaidAPI); +(0,_logger__WEBPACK_IMPORTED_MODULE_4__.setLogLevel)(_config__WEBPACK_IMPORTED_MODULE_2__.getConfig().logLevel); +_config__WEBPACK_IMPORTED_MODULE_2__.reset(_config__WEBPACK_IMPORTED_MODULE_2__.getConfig()); +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (mermaidAPI); /** * ## mermaidAPI configuration defaults * @@ -26503,23 +25964,25 @@ _config__WEBPACK_IMPORTED_MODULE_3__["reset"](_config__WEBPACK_IMPORTED_MODULE_3 /*!***********************!*\ !*** ./src/styles.js ***! \***********************/ -/*! exports provided: calcThemeVariables, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "calcThemeVariables", function() { return calcThemeVariables; }); -/* harmony import */ var _diagrams_class_styles__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./diagrams/class/styles */ "./src/diagrams/class/styles.js"); -/* harmony import */ var _diagrams_er_styles__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./diagrams/er/styles */ "./src/diagrams/er/styles.js"); -/* harmony import */ var _diagrams_flowchart_styles__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./diagrams/flowchart/styles */ "./src/diagrams/flowchart/styles.js"); -/* harmony import */ var _diagrams_gantt_styles__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./diagrams/gantt/styles */ "./src/diagrams/gantt/styles.js"); -/* harmony import */ var _diagrams_git_styles__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./diagrams/git/styles */ "./src/diagrams/git/styles.js"); -/* harmony import */ var _diagrams_info_styles__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./diagrams/info/styles */ "./src/diagrams/info/styles.js"); -/* harmony import */ var _diagrams_pie_styles__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./diagrams/pie/styles */ "./src/diagrams/pie/styles.js"); -/* harmony import */ var _diagrams_requirement_styles__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./diagrams/requirement/styles */ "./src/diagrams/requirement/styles.js"); -/* harmony import */ var _diagrams_sequence_styles__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./diagrams/sequence/styles */ "./src/diagrams/sequence/styles.js"); -/* harmony import */ var _diagrams_state_styles__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./diagrams/state/styles */ "./src/diagrams/state/styles.js"); -/* harmony import */ var _diagrams_user_journey_styles__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./diagrams/user-journey/styles */ "./src/diagrams/user-journey/styles.js"); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "calcThemeVariables": () => (/* binding */ calcThemeVariables), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _diagrams_class_styles__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./diagrams/class/styles */ "./src/diagrams/class/styles.js"); +/* harmony import */ var _diagrams_er_styles__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./diagrams/er/styles */ "./src/diagrams/er/styles.js"); +/* harmony import */ var _diagrams_flowchart_styles__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./diagrams/flowchart/styles */ "./src/diagrams/flowchart/styles.js"); +/* harmony import */ var _diagrams_gantt_styles__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./diagrams/gantt/styles */ "./src/diagrams/gantt/styles.js"); +/* harmony import */ var _diagrams_git_styles__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./diagrams/git/styles */ "./src/diagrams/git/styles.js"); +/* harmony import */ var _diagrams_info_styles__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./diagrams/info/styles */ "./src/diagrams/info/styles.js"); +/* harmony import */ var _diagrams_pie_styles__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./diagrams/pie/styles */ "./src/diagrams/pie/styles.js"); +/* harmony import */ var _diagrams_requirement_styles__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./diagrams/requirement/styles */ "./src/diagrams/requirement/styles.js"); +/* harmony import */ var _diagrams_sequence_styles__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./diagrams/sequence/styles */ "./src/diagrams/sequence/styles.js"); +/* harmony import */ var _diagrams_state_styles__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./diagrams/state/styles */ "./src/diagrams/state/styles.js"); +/* harmony import */ var _diagrams_user_journey_styles__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./diagrams/user-journey/styles */ "./src/diagrams/user-journey/styles.js"); @@ -26532,21 +25995,21 @@ __webpack_require__.r(__webpack_exports__); var themes = { - flowchart: _diagrams_flowchart_styles__WEBPACK_IMPORTED_MODULE_2__["default"], - 'flowchart-v2': _diagrams_flowchart_styles__WEBPACK_IMPORTED_MODULE_2__["default"], - sequence: _diagrams_sequence_styles__WEBPACK_IMPORTED_MODULE_8__["default"], - gantt: _diagrams_gantt_styles__WEBPACK_IMPORTED_MODULE_3__["default"], - classDiagram: _diagrams_class_styles__WEBPACK_IMPORTED_MODULE_0__["default"], - 'classDiagram-v2': _diagrams_class_styles__WEBPACK_IMPORTED_MODULE_0__["default"], - class: _diagrams_class_styles__WEBPACK_IMPORTED_MODULE_0__["default"], - stateDiagram: _diagrams_state_styles__WEBPACK_IMPORTED_MODULE_9__["default"], - state: _diagrams_state_styles__WEBPACK_IMPORTED_MODULE_9__["default"], - git: _diagrams_git_styles__WEBPACK_IMPORTED_MODULE_4__["default"], - info: _diagrams_info_styles__WEBPACK_IMPORTED_MODULE_5__["default"], - pie: _diagrams_pie_styles__WEBPACK_IMPORTED_MODULE_6__["default"], - er: _diagrams_er_styles__WEBPACK_IMPORTED_MODULE_1__["default"], - journey: _diagrams_user_journey_styles__WEBPACK_IMPORTED_MODULE_10__["default"], - requirement: _diagrams_requirement_styles__WEBPACK_IMPORTED_MODULE_7__["default"] + flowchart: _diagrams_flowchart_styles__WEBPACK_IMPORTED_MODULE_0__["default"], + 'flowchart-v2': _diagrams_flowchart_styles__WEBPACK_IMPORTED_MODULE_0__["default"], + sequence: _diagrams_sequence_styles__WEBPACK_IMPORTED_MODULE_1__["default"], + gantt: _diagrams_gantt_styles__WEBPACK_IMPORTED_MODULE_2__["default"], + classDiagram: _diagrams_class_styles__WEBPACK_IMPORTED_MODULE_3__["default"], + 'classDiagram-v2': _diagrams_class_styles__WEBPACK_IMPORTED_MODULE_3__["default"], + class: _diagrams_class_styles__WEBPACK_IMPORTED_MODULE_3__["default"], + stateDiagram: _diagrams_state_styles__WEBPACK_IMPORTED_MODULE_4__["default"], + state: _diagrams_state_styles__WEBPACK_IMPORTED_MODULE_4__["default"], + git: _diagrams_git_styles__WEBPACK_IMPORTED_MODULE_5__["default"], + info: _diagrams_info_styles__WEBPACK_IMPORTED_MODULE_6__["default"], + pie: _diagrams_pie_styles__WEBPACK_IMPORTED_MODULE_7__["default"], + er: _diagrams_er_styles__WEBPACK_IMPORTED_MODULE_8__["default"], + journey: _diagrams_user_journey_styles__WEBPACK_IMPORTED_MODULE_9__["default"], + requirement: _diagrams_requirement_styles__WEBPACK_IMPORTED_MODULE_10__["default"] }; var calcThemeVariables = function calcThemeVariables(theme, userOverRides) { return theme.calcColors(userOverRides); @@ -26557,7 +26020,7 @@ var getStyles = function getStyles(type, userStyles, options) { return " {\n font-family: ".concat(options.fontFamily, ";\n font-size: ").concat(options.fontSize, ";\n fill: ").concat(options.textColor, "\n }\n\n /* Classes common for multiple diagrams */\n\n .error-icon {\n fill: ").concat(options.errorBkgColor, ";\n }\n .error-text {\n fill: ").concat(options.errorTextColor, ";\n stroke: ").concat(options.errorTextColor, ";\n }\n\n .edge-thickness-normal {\n stroke-width: 2px;\n }\n .edge-thickness-thick {\n stroke-width: 3.5px\n }\n .edge-pattern-solid {\n stroke-dasharray: 0;\n }\n\n .edge-pattern-dashed{\n stroke-dasharray: 3;\n }\n .edge-pattern-dotted {\n stroke-dasharray: 2;\n }\n\n .marker {\n fill: ").concat(options.lineColor, ";\n stroke: ").concat(options.lineColor, ";\n }\n .marker.cross {\n stroke: ").concat(options.lineColor, ";\n }\n\n svg {\n font-family: ").concat(options.fontFamily, ";\n font-size: ").concat(options.fontSize, ";\n }\n\n ").concat(themes[type](options), "\n\n ").concat(userStyles, "\n"); }; -/* harmony default export */ __webpack_exports__["default"] = (getStyles); +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (getStyles); /***/ }), @@ -26565,11 +26028,13 @@ var getStyles = function getStyles(type, userStyles, options) { /*!*****************************!*\ !*** ./src/themes/index.js ***! \*****************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); /* harmony import */ var _theme_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./theme-base */ "./src/themes/theme-base.js"); /* harmony import */ var _theme_dark__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./theme-dark */ "./src/themes/theme-dark.js"); /* harmony import */ var _theme_default__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./theme-default */ "./src/themes/theme-default.js"); @@ -26580,21 +26045,21 @@ __webpack_require__.r(__webpack_exports__); -/* harmony default export */ __webpack_exports__["default"] = ({ +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ base: { - getThemeVariables: _theme_base__WEBPACK_IMPORTED_MODULE_0__["getThemeVariables"] + getThemeVariables: _theme_base__WEBPACK_IMPORTED_MODULE_0__.getThemeVariables }, dark: { - getThemeVariables: _theme_dark__WEBPACK_IMPORTED_MODULE_1__["getThemeVariables"] + getThemeVariables: _theme_dark__WEBPACK_IMPORTED_MODULE_1__.getThemeVariables }, default: { - getThemeVariables: _theme_default__WEBPACK_IMPORTED_MODULE_2__["getThemeVariables"] + getThemeVariables: _theme_default__WEBPACK_IMPORTED_MODULE_2__.getThemeVariables }, forest: { - getThemeVariables: _theme_forest__WEBPACK_IMPORTED_MODULE_3__["getThemeVariables"] + getThemeVariables: _theme_forest__WEBPACK_IMPORTED_MODULE_3__.getThemeVariables }, neutral: { - getThemeVariables: _theme_neutral__WEBPACK_IMPORTED_MODULE_4__["getThemeVariables"] + getThemeVariables: _theme_neutral__WEBPACK_IMPORTED_MODULE_4__.getThemeVariables } }); @@ -26604,12 +26069,13 @@ __webpack_require__.r(__webpack_exports__); /*!**********************************!*\ !*** ./src/themes/theme-base.js ***! \**********************************/ -/*! exports provided: getThemeVariables */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getThemeVariables", function() { return getThemeVariables; }); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "getThemeVariables": () => (/* binding */ getThemeVariables) +/* harmony export */ }); /* harmony import */ var khroma__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! khroma */ "khroma"); /* harmony import */ var khroma__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(khroma__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _theme_helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./theme-helpers */ "./src/themes/theme-helpers.js"); @@ -26663,22 +26129,22 @@ var Theme = /*#__PURE__*/function () { /* Main */ this.primaryTextColor = this.primaryTextColor || (this.darkMode ? '#ddd' : '#333'); // invert(this.primaryColor); - this.secondaryColor = this.secondaryColor || Object(khroma__WEBPACK_IMPORTED_MODULE_0__["adjust"])(this.primaryColor, { + this.secondaryColor = this.secondaryColor || (0,khroma__WEBPACK_IMPORTED_MODULE_0__.adjust)(this.primaryColor, { h: -120 }); - this.tertiaryColor = this.tertiaryColor || Object(khroma__WEBPACK_IMPORTED_MODULE_0__["adjust"])(this.primaryColor, { + this.tertiaryColor = this.tertiaryColor || (0,khroma__WEBPACK_IMPORTED_MODULE_0__.adjust)(this.primaryColor, { h: 180, l: 5 }); - this.primaryBorderColor = this.primaryBorderColor || Object(_theme_helpers__WEBPACK_IMPORTED_MODULE_1__["mkBorder"])(this.primaryColor, this.darkMode); - this.secondaryBorderColor = this.secondaryBorderColor || Object(_theme_helpers__WEBPACK_IMPORTED_MODULE_1__["mkBorder"])(this.secondaryColor, this.darkMode); - this.tertiaryBorderColor = this.tertiaryBorderColor || Object(_theme_helpers__WEBPACK_IMPORTED_MODULE_1__["mkBorder"])(this.tertiaryColor, this.darkMode); - this.noteBorderColor = this.noteBorderColor || Object(_theme_helpers__WEBPACK_IMPORTED_MODULE_1__["mkBorder"])(this.noteBkgColor, this.darkMode); + this.primaryBorderColor = this.primaryBorderColor || (0,_theme_helpers__WEBPACK_IMPORTED_MODULE_1__.mkBorder)(this.primaryColor, this.darkMode); + this.secondaryBorderColor = this.secondaryBorderColor || (0,_theme_helpers__WEBPACK_IMPORTED_MODULE_1__.mkBorder)(this.secondaryColor, this.darkMode); + this.tertiaryBorderColor = this.tertiaryBorderColor || (0,_theme_helpers__WEBPACK_IMPORTED_MODULE_1__.mkBorder)(this.tertiaryColor, this.darkMode); + this.noteBorderColor = this.noteBorderColor || (0,_theme_helpers__WEBPACK_IMPORTED_MODULE_1__.mkBorder)(this.noteBkgColor, this.darkMode); this.noteBkgColor = this.noteBkgColor || '#fff5ad'; this.noteTextColor = this.noteTextColor || '#333'; - this.secondaryTextColor = this.secondaryTextColor || Object(khroma__WEBPACK_IMPORTED_MODULE_0__["invert"])(this.secondaryColor); - this.tertiaryTextColor = this.tertiaryTextColor || Object(khroma__WEBPACK_IMPORTED_MODULE_0__["invert"])(this.tertiaryColor); - this.lineColor = this.lineColor || Object(khroma__WEBPACK_IMPORTED_MODULE_0__["invert"])(this.background); + this.secondaryTextColor = this.secondaryTextColor || (0,khroma__WEBPACK_IMPORTED_MODULE_0__.invert)(this.secondaryColor); + this.tertiaryTextColor = this.tertiaryTextColor || (0,khroma__WEBPACK_IMPORTED_MODULE_0__.invert)(this.tertiaryColor); + this.lineColor = this.lineColor || (0,khroma__WEBPACK_IMPORTED_MODULE_0__.invert)(this.background); this.textColor = this.textColor || this.primaryTextColor; /* Flowchart variables */ @@ -26689,7 +26155,7 @@ var Theme = /*#__PURE__*/function () { this.clusterBorder = this.clusterBorder || this.tertiaryBorderColor; this.defaultLinkColor = this.defaultLinkColor || this.lineColor; this.titleColor = this.titleColor || this.tertiaryTextColor; - this.edgeLabelBackground = this.edgeLabelBackground || (this.darkMode ? Object(khroma__WEBPACK_IMPORTED_MODULE_0__["darken"])(this.secondaryColor, 30) : this.secondaryColor); + this.edgeLabelBackground = this.edgeLabelBackground || (this.darkMode ? (0,khroma__WEBPACK_IMPORTED_MODULE_0__.darken)(this.secondaryColor, 30) : this.secondaryColor); this.nodeTextColor = this.nodeTextColor || this.primaryTextColor; /* Sequence Diagram variables */ // this.actorBorder = lighten(this.border1, 0.5); @@ -26704,9 +26170,9 @@ var Theme = /*#__PURE__*/function () { this.labelBoxBorderColor = this.labelBoxBorderColor || this.actorBorder; this.labelTextColor = this.labelTextColor || this.actorTextColor; this.loopTextColor = this.loopTextColor || this.actorTextColor; - this.activationBorderColor = this.activationBorderColor || Object(khroma__WEBPACK_IMPORTED_MODULE_0__["darken"])(this.secondaryColor, 10); + this.activationBorderColor = this.activationBorderColor || (0,khroma__WEBPACK_IMPORTED_MODULE_0__.darken)(this.secondaryColor, 10); this.activationBkgColor = this.activationBkgColor || this.secondaryColor; - this.sequenceNumberColor = this.sequenceNumberColor || Object(khroma__WEBPACK_IMPORTED_MODULE_0__["invert"])(this.lineColor); + this.sequenceNumberColor = this.sequenceNumberColor || (0,khroma__WEBPACK_IMPORTED_MODULE_0__.invert)(this.lineColor); /* Gantt chart variables */ this.sectionBkgColor = this.sectionBkgColor || this.tertiaryColor; @@ -26716,7 +26182,7 @@ var Theme = /*#__PURE__*/function () { this.taskBorderColor = this.taskBorderColor || this.primaryBorderColor; this.taskBkgColor = this.taskBkgColor || this.primaryColor; this.activeTaskBorderColor = this.activeTaskBorderColor || this.primaryColor; - this.activeTaskBkgColor = this.activeTaskBkgColor || Object(khroma__WEBPACK_IMPORTED_MODULE_0__["lighten"])(this.primaryColor, 23); + this.activeTaskBkgColor = this.activeTaskBkgColor || (0,khroma__WEBPACK_IMPORTED_MODULE_0__.lighten)(this.primaryColor, 23); this.gridColor = this.gridColor || 'lightgrey'; this.doneTaskBkgColor = this.doneTaskBkgColor || 'lightgrey'; this.doneTaskBorderColor = this.doneTaskBorderColor || 'grey'; @@ -26754,22 +26220,22 @@ var Theme = /*#__PURE__*/function () { this.fillType0 = this.fillType0 || this.primaryColor; this.fillType1 = this.fillType1 || this.secondaryColor; - this.fillType2 = this.fillType2 || Object(khroma__WEBPACK_IMPORTED_MODULE_0__["adjust"])(this.primaryColor, { + this.fillType2 = this.fillType2 || (0,khroma__WEBPACK_IMPORTED_MODULE_0__.adjust)(this.primaryColor, { h: 64 }); - this.fillType3 = this.fillType3 || Object(khroma__WEBPACK_IMPORTED_MODULE_0__["adjust"])(this.secondaryColor, { + this.fillType3 = this.fillType3 || (0,khroma__WEBPACK_IMPORTED_MODULE_0__.adjust)(this.secondaryColor, { h: 64 }); - this.fillType4 = this.fillType4 || Object(khroma__WEBPACK_IMPORTED_MODULE_0__["adjust"])(this.primaryColor, { + this.fillType4 = this.fillType4 || (0,khroma__WEBPACK_IMPORTED_MODULE_0__.adjust)(this.primaryColor, { h: -64 }); - this.fillType5 = this.fillType5 || Object(khroma__WEBPACK_IMPORTED_MODULE_0__["adjust"])(this.secondaryColor, { + this.fillType5 = this.fillType5 || (0,khroma__WEBPACK_IMPORTED_MODULE_0__.adjust)(this.secondaryColor, { h: -64 }); - this.fillType6 = this.fillType6 || Object(khroma__WEBPACK_IMPORTED_MODULE_0__["adjust"])(this.primaryColor, { + this.fillType6 = this.fillType6 || (0,khroma__WEBPACK_IMPORTED_MODULE_0__.adjust)(this.primaryColor, { h: 128 }); - this.fillType7 = this.fillType7 || Object(khroma__WEBPACK_IMPORTED_MODULE_0__["adjust"])(this.secondaryColor, { + this.fillType7 = this.fillType7 || (0,khroma__WEBPACK_IMPORTED_MODULE_0__.adjust)(this.secondaryColor, { h: 128 }); /* pie */ @@ -26777,36 +26243,36 @@ var Theme = /*#__PURE__*/function () { this.pie1 = this.pie1 || this.primaryColor; this.pie2 = this.pie2 || this.secondaryColor; this.pie3 = this.pie3 || this.tertiaryColor; - this.pie4 = this.pie4 || Object(khroma__WEBPACK_IMPORTED_MODULE_0__["adjust"])(this.primaryColor, { + this.pie4 = this.pie4 || (0,khroma__WEBPACK_IMPORTED_MODULE_0__.adjust)(this.primaryColor, { l: -10 }); - this.pie5 = this.pie5 || Object(khroma__WEBPACK_IMPORTED_MODULE_0__["adjust"])(this.secondaryColor, { + this.pie5 = this.pie5 || (0,khroma__WEBPACK_IMPORTED_MODULE_0__.adjust)(this.secondaryColor, { l: -10 }); - this.pie6 = this.pie6 || Object(khroma__WEBPACK_IMPORTED_MODULE_0__["adjust"])(this.tertiaryColor, { + this.pie6 = this.pie6 || (0,khroma__WEBPACK_IMPORTED_MODULE_0__.adjust)(this.tertiaryColor, { l: -10 }); - this.pie7 = this.pie7 || Object(khroma__WEBPACK_IMPORTED_MODULE_0__["adjust"])(this.primaryColor, { + this.pie7 = this.pie7 || (0,khroma__WEBPACK_IMPORTED_MODULE_0__.adjust)(this.primaryColor, { h: +60, l: -10 }); - this.pie8 = this.pie8 || Object(khroma__WEBPACK_IMPORTED_MODULE_0__["adjust"])(this.primaryColor, { + this.pie8 = this.pie8 || (0,khroma__WEBPACK_IMPORTED_MODULE_0__.adjust)(this.primaryColor, { h: -60, l: -10 }); - this.pie9 = this.pie9 || Object(khroma__WEBPACK_IMPORTED_MODULE_0__["adjust"])(this.primaryColor, { + this.pie9 = this.pie9 || (0,khroma__WEBPACK_IMPORTED_MODULE_0__.adjust)(this.primaryColor, { h: 120, l: 0 }); - this.pie10 = this.pie10 || Object(khroma__WEBPACK_IMPORTED_MODULE_0__["adjust"])(this.primaryColor, { + this.pie10 = this.pie10 || (0,khroma__WEBPACK_IMPORTED_MODULE_0__.adjust)(this.primaryColor, { h: +60, l: -20 }); - this.pie11 = this.pie11 || Object(khroma__WEBPACK_IMPORTED_MODULE_0__["adjust"])(this.primaryColor, { + this.pie11 = this.pie11 || (0,khroma__WEBPACK_IMPORTED_MODULE_0__.adjust)(this.primaryColor, { h: -60, l: -20 }); - this.pie12 = this.pie12 || Object(khroma__WEBPACK_IMPORTED_MODULE_0__["adjust"])(this.primaryColor, { + this.pie12 = this.pie12 || (0,khroma__WEBPACK_IMPORTED_MODULE_0__.adjust)(this.primaryColor, { h: 120, l: -10 }); @@ -26826,7 +26292,7 @@ var Theme = /*#__PURE__*/function () { this.requirementBorderSize = this.requirementBorderSize || this.primaryBorderColor; this.requirementTextColor = this.requirementTextColor || this.primaryTextColor; this.relationColor = this.relationColor || this.lineColor; - this.relationLabelBackground = this.relationLabelBackground || (this.darkMode ? Object(khroma__WEBPACK_IMPORTED_MODULE_0__["darken"])(this.secondaryColor, 30) : this.secondaryColor); + this.relationLabelBackground = this.relationLabelBackground || (this.darkMode ? (0,khroma__WEBPACK_IMPORTED_MODULE_0__.darken)(this.secondaryColor, 30) : this.secondaryColor); this.relationLabelColor = this.relationLabelColor || this.actorTextColor; } }, { @@ -26869,12 +26335,13 @@ var getThemeVariables = function getThemeVariables(userOverrides) { /*!**********************************!*\ !*** ./src/themes/theme-dark.js ***! \**********************************/ -/*! exports provided: getThemeVariables */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getThemeVariables", function() { return getThemeVariables; }); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "getThemeVariables": () => (/* binding */ getThemeVariables) +/* harmony export */ }); /* harmony import */ var khroma__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! khroma */ "khroma"); /* harmony import */ var khroma__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(khroma__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _theme_helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./theme-helpers */ "./src/themes/theme-helpers.js"); @@ -26895,25 +26362,25 @@ var Theme = /*#__PURE__*/function () { this.background = '#333'; this.primaryColor = '#1f2020'; - this.secondaryColor = Object(khroma__WEBPACK_IMPORTED_MODULE_0__["lighten"])(this.primaryColor, 16); - this.tertiaryColor = Object(khroma__WEBPACK_IMPORTED_MODULE_0__["adjust"])(this.primaryColor, { + this.secondaryColor = (0,khroma__WEBPACK_IMPORTED_MODULE_0__.lighten)(this.primaryColor, 16); + this.tertiaryColor = (0,khroma__WEBPACK_IMPORTED_MODULE_0__.adjust)(this.primaryColor, { h: -160 }); - this.primaryBorderColor = Object(_theme_helpers__WEBPACK_IMPORTED_MODULE_1__["mkBorder"])(this.primaryColor, this.darkMode); - this.secondaryBorderColor = Object(_theme_helpers__WEBPACK_IMPORTED_MODULE_1__["mkBorder"])(this.secondaryColor, this.darkMode); - this.tertiaryBorderColor = Object(_theme_helpers__WEBPACK_IMPORTED_MODULE_1__["mkBorder"])(this.tertiaryColor, this.darkMode); - this.primaryTextColor = Object(khroma__WEBPACK_IMPORTED_MODULE_0__["invert"])(this.primaryColor); - this.secondaryTextColor = Object(khroma__WEBPACK_IMPORTED_MODULE_0__["invert"])(this.secondaryColor); - this.tertiaryTextColor = Object(khroma__WEBPACK_IMPORTED_MODULE_0__["invert"])(this.tertiaryColor); - this.lineColor = Object(khroma__WEBPACK_IMPORTED_MODULE_0__["invert"])(this.background); - this.textColor = Object(khroma__WEBPACK_IMPORTED_MODULE_0__["invert"])(this.background); + this.primaryBorderColor = (0,_theme_helpers__WEBPACK_IMPORTED_MODULE_1__.mkBorder)(this.primaryColor, this.darkMode); + this.secondaryBorderColor = (0,_theme_helpers__WEBPACK_IMPORTED_MODULE_1__.mkBorder)(this.secondaryColor, this.darkMode); + this.tertiaryBorderColor = (0,_theme_helpers__WEBPACK_IMPORTED_MODULE_1__.mkBorder)(this.tertiaryColor, this.darkMode); + this.primaryTextColor = (0,khroma__WEBPACK_IMPORTED_MODULE_0__.invert)(this.primaryColor); + this.secondaryTextColor = (0,khroma__WEBPACK_IMPORTED_MODULE_0__.invert)(this.secondaryColor); + this.tertiaryTextColor = (0,khroma__WEBPACK_IMPORTED_MODULE_0__.invert)(this.tertiaryColor); + this.lineColor = (0,khroma__WEBPACK_IMPORTED_MODULE_0__.invert)(this.background); + this.textColor = (0,khroma__WEBPACK_IMPORTED_MODULE_0__.invert)(this.background); this.mainBkg = '#1f2020'; this.secondBkg = 'calculated'; this.mainContrastColor = 'lightgrey'; - this.darkTextColor = Object(khroma__WEBPACK_IMPORTED_MODULE_0__["lighten"])(Object(khroma__WEBPACK_IMPORTED_MODULE_0__["invert"])('#323D47'), 10); + this.darkTextColor = (0,khroma__WEBPACK_IMPORTED_MODULE_0__.lighten)((0,khroma__WEBPACK_IMPORTED_MODULE_0__.invert)('#323D47'), 10); this.lineColor = 'calculated'; this.border1 = '#81B1DB'; - this.border2 = Object(khroma__WEBPACK_IMPORTED_MODULE_0__["rgba"])(255, 255, 255, 0.25); + this.border2 = (0,khroma__WEBPACK_IMPORTED_MODULE_0__.rgba)(255, 255, 255, 0.25); this.arrowheadColor = 'calculated'; this.fontFamily = '"trebuchet ms", verdana, arial, sans-serif'; this.fontSize = '16px'; @@ -26948,16 +26415,16 @@ var Theme = /*#__PURE__*/function () { this.sequenceNumberColor = 'black'; /* Gantt chart variables */ - this.sectionBkgColor = Object(khroma__WEBPACK_IMPORTED_MODULE_0__["darken"])('#EAE8D9', 30); + this.sectionBkgColor = (0,khroma__WEBPACK_IMPORTED_MODULE_0__.darken)('#EAE8D9', 30); this.altSectionBkgColor = 'calculated'; this.sectionBkgColor2 = '#EAE8D9'; - this.taskBorderColor = Object(khroma__WEBPACK_IMPORTED_MODULE_0__["rgba"])(255, 255, 255, 70); + this.taskBorderColor = (0,khroma__WEBPACK_IMPORTED_MODULE_0__.rgba)(255, 255, 255, 70); this.taskBkgColor = 'calculated'; this.taskTextColor = 'calculated'; this.taskTextLightColor = 'calculated'; this.taskTextOutsideColor = 'calculated'; this.taskTextClickableColor = '#003163'; - this.activeTaskBorderColor = Object(khroma__WEBPACK_IMPORTED_MODULE_0__["rgba"])(255, 255, 255, 50); + this.activeTaskBorderColor = (0,khroma__WEBPACK_IMPORTED_MODULE_0__.rgba)(255, 255, 255, 50); this.activeTaskBkgColor = '#81B1DB'; this.gridColor = 'calculated'; this.doneTaskBkgColor = 'calculated'; @@ -26976,7 +26443,7 @@ var Theme = /*#__PURE__*/function () { _createClass(Theme, [{ key: "updateColors", value: function updateColors() { - this.secondBkg = Object(khroma__WEBPACK_IMPORTED_MODULE_0__["lighten"])(this.mainBkg, 16); + this.secondBkg = (0,khroma__WEBPACK_IMPORTED_MODULE_0__.lighten)(this.mainBkg, 16); this.lineColor = this.mainContrastColor; this.arrowheadColor = this.mainContrastColor; /* Flowchart variables */ @@ -26986,7 +26453,7 @@ var Theme = /*#__PURE__*/function () { this.clusterBkg = this.secondBkg; this.clusterBorder = this.border2; this.defaultLinkColor = this.lineColor; - this.edgeLabelBackground = Object(khroma__WEBPACK_IMPORTED_MODULE_0__["lighten"])(this.labelBackground, 25); + this.edgeLabelBackground = (0,khroma__WEBPACK_IMPORTED_MODULE_0__.lighten)(this.labelBackground, 25); /* Sequence Diagram variables */ this.actorBorder = this.border1; @@ -27007,7 +26474,7 @@ var Theme = /*#__PURE__*/function () { /* Gantt chart variables */ this.altSectionBkgColor = this.background; - this.taskBkgColor = Object(khroma__WEBPACK_IMPORTED_MODULE_0__["lighten"])(this.mainBkg, 23); + this.taskBkgColor = (0,khroma__WEBPACK_IMPORTED_MODULE_0__.lighten)(this.mainBkg, 23); this.taskTextColor = this.darkTextColor; this.taskTextLightColor = this.mainContrastColor; this.taskTextOutsideColor = this.taskTextLightColor; @@ -27032,22 +26499,22 @@ var Theme = /*#__PURE__*/function () { this.errorTextColor = this.errorTextColor || this.tertiaryTextColor; this.fillType0 = this.primaryColor; this.fillType1 = this.secondaryColor; - this.fillType2 = Object(khroma__WEBPACK_IMPORTED_MODULE_0__["adjust"])(this.primaryColor, { + this.fillType2 = (0,khroma__WEBPACK_IMPORTED_MODULE_0__.adjust)(this.primaryColor, { h: 64 }); - this.fillType3 = Object(khroma__WEBPACK_IMPORTED_MODULE_0__["adjust"])(this.secondaryColor, { + this.fillType3 = (0,khroma__WEBPACK_IMPORTED_MODULE_0__.adjust)(this.secondaryColor, { h: 64 }); - this.fillType4 = Object(khroma__WEBPACK_IMPORTED_MODULE_0__["adjust"])(this.primaryColor, { + this.fillType4 = (0,khroma__WEBPACK_IMPORTED_MODULE_0__.adjust)(this.primaryColor, { h: -64 }); - this.fillType5 = Object(khroma__WEBPACK_IMPORTED_MODULE_0__["adjust"])(this.secondaryColor, { + this.fillType5 = (0,khroma__WEBPACK_IMPORTED_MODULE_0__.adjust)(this.secondaryColor, { h: -64 }); - this.fillType6 = Object(khroma__WEBPACK_IMPORTED_MODULE_0__["adjust"])(this.primaryColor, { + this.fillType6 = (0,khroma__WEBPACK_IMPORTED_MODULE_0__.adjust)(this.primaryColor, { h: 128 }); - this.fillType7 = Object(khroma__WEBPACK_IMPORTED_MODULE_0__["adjust"])(this.secondaryColor, { + this.fillType7 = (0,khroma__WEBPACK_IMPORTED_MODULE_0__.adjust)(this.secondaryColor, { h: 128 }); /* pie */ @@ -27083,7 +26550,7 @@ var Theme = /*#__PURE__*/function () { this.requirementBorderSize = this.requirementBorderSize || this.primaryBorderColor; this.requirementTextColor = this.requirementTextColor || this.primaryTextColor; this.relationColor = this.relationColor || this.lineColor; - this.relationLabelBackground = this.relationLabelBackground || (this.darkMode ? Object(khroma__WEBPACK_IMPORTED_MODULE_0__["darken"])(this.secondaryColor, 30) : this.secondaryColor); + this.relationLabelBackground = this.relationLabelBackground || (this.darkMode ? (0,khroma__WEBPACK_IMPORTED_MODULE_0__.darken)(this.secondaryColor, 30) : this.secondaryColor); this.relationLabelColor = this.relationLabelColor || this.actorTextColor; } }, { @@ -27126,12 +26593,13 @@ var getThemeVariables = function getThemeVariables(userOverrides) { /*!*************************************!*\ !*** ./src/themes/theme-default.js ***! \*************************************/ -/*! exports provided: getThemeVariables */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getThemeVariables", function() { return getThemeVariables; }); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "getThemeVariables": () => (/* binding */ getThemeVariables) +/* harmony export */ }); /* harmony import */ var khroma__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! khroma */ "khroma"); /* harmony import */ var khroma__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(khroma__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _theme_helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./theme-helpers */ "./src/themes/theme-helpers.js"); @@ -27153,22 +26621,22 @@ var Theme = /*#__PURE__*/function () { /* Base variables */ this.background = '#f4f4f4'; this.primaryColor = '#ECECFF'; - this.secondaryColor = Object(khroma__WEBPACK_IMPORTED_MODULE_0__["adjust"])(this.primaryColor, { + this.secondaryColor = (0,khroma__WEBPACK_IMPORTED_MODULE_0__.adjust)(this.primaryColor, { h: 120 }); this.secondaryColor = '#ffffde'; - this.tertiaryColor = Object(khroma__WEBPACK_IMPORTED_MODULE_0__["adjust"])(this.primaryColor, { + this.tertiaryColor = (0,khroma__WEBPACK_IMPORTED_MODULE_0__.adjust)(this.primaryColor, { h: -160 }); - this.primaryBorderColor = Object(_theme_helpers__WEBPACK_IMPORTED_MODULE_1__["mkBorder"])(this.primaryColor, this.darkMode); - this.secondaryBorderColor = Object(_theme_helpers__WEBPACK_IMPORTED_MODULE_1__["mkBorder"])(this.secondaryColor, this.darkMode); - this.tertiaryBorderColor = Object(_theme_helpers__WEBPACK_IMPORTED_MODULE_1__["mkBorder"])(this.tertiaryColor, this.darkMode); // this.noteBorderColor = mkBorder(this.noteBkgColor, this.darkMode); + this.primaryBorderColor = (0,_theme_helpers__WEBPACK_IMPORTED_MODULE_1__.mkBorder)(this.primaryColor, this.darkMode); + this.secondaryBorderColor = (0,_theme_helpers__WEBPACK_IMPORTED_MODULE_1__.mkBorder)(this.secondaryColor, this.darkMode); + this.tertiaryBorderColor = (0,_theme_helpers__WEBPACK_IMPORTED_MODULE_1__.mkBorder)(this.tertiaryColor, this.darkMode); // this.noteBorderColor = mkBorder(this.noteBkgColor, this.darkMode); - this.primaryTextColor = Object(khroma__WEBPACK_IMPORTED_MODULE_0__["invert"])(this.primaryColor); - this.secondaryTextColor = Object(khroma__WEBPACK_IMPORTED_MODULE_0__["invert"])(this.secondaryColor); - this.tertiaryTextColor = Object(khroma__WEBPACK_IMPORTED_MODULE_0__["invert"])(this.tertiaryColor); - this.lineColor = Object(khroma__WEBPACK_IMPORTED_MODULE_0__["invert"])(this.background); - this.textColor = Object(khroma__WEBPACK_IMPORTED_MODULE_0__["invert"])(this.background); + this.primaryTextColor = (0,khroma__WEBPACK_IMPORTED_MODULE_0__.invert)(this.primaryColor); + this.secondaryTextColor = (0,khroma__WEBPACK_IMPORTED_MODULE_0__.invert)(this.secondaryColor); + this.tertiaryTextColor = (0,khroma__WEBPACK_IMPORTED_MODULE_0__.invert)(this.tertiaryColor); + this.lineColor = (0,khroma__WEBPACK_IMPORTED_MODULE_0__.invert)(this.background); + this.textColor = (0,khroma__WEBPACK_IMPORTED_MODULE_0__.invert)(this.background); this.background = 'white'; this.mainBkg = '#ECECFF'; this.secondBkg = '#ffffde'; @@ -27227,7 +26695,7 @@ var Theme = /*#__PURE__*/function () { this.critBorderColor = 'calculated'; this.critBkgColor = 'calculated'; this.todayLineColor = 'calculated'; - this.sectionBkgColor = Object(khroma__WEBPACK_IMPORTED_MODULE_0__["rgba"])(102, 102, 255, 0.49); + this.sectionBkgColor = (0,khroma__WEBPACK_IMPORTED_MODULE_0__.rgba)(102, 102, 255, 0.49); this.altSectionBkgColor = 'white'; this.sectionBkgColor2 = '#fff400'; this.taskBorderColor = '#534fbc'; @@ -27268,7 +26736,7 @@ var Theme = /*#__PURE__*/function () { /* Sequence Diagram variables */ // this.actorBorder = lighten(this.border1, 0.5); - this.actorBorder = Object(khroma__WEBPACK_IMPORTED_MODULE_0__["lighten"])(this.border1, 23); + this.actorBorder = (0,khroma__WEBPACK_IMPORTED_MODULE_0__.lighten)(this.border1, 23); this.actorBkg = this.mainBkg; this.labelBoxBkgColor = this.actorBkg; this.signalColor = this.textColor; @@ -27305,61 +26773,61 @@ var Theme = /*#__PURE__*/function () { this.fillType0 = this.primaryColor; this.fillType1 = this.secondaryColor; - this.fillType2 = Object(khroma__WEBPACK_IMPORTED_MODULE_0__["adjust"])(this.primaryColor, { + this.fillType2 = (0,khroma__WEBPACK_IMPORTED_MODULE_0__.adjust)(this.primaryColor, { h: 64 }); - this.fillType3 = Object(khroma__WEBPACK_IMPORTED_MODULE_0__["adjust"])(this.secondaryColor, { + this.fillType3 = (0,khroma__WEBPACK_IMPORTED_MODULE_0__.adjust)(this.secondaryColor, { h: 64 }); - this.fillType4 = Object(khroma__WEBPACK_IMPORTED_MODULE_0__["adjust"])(this.primaryColor, { + this.fillType4 = (0,khroma__WEBPACK_IMPORTED_MODULE_0__.adjust)(this.primaryColor, { h: -64 }); - this.fillType5 = Object(khroma__WEBPACK_IMPORTED_MODULE_0__["adjust"])(this.secondaryColor, { + this.fillType5 = (0,khroma__WEBPACK_IMPORTED_MODULE_0__.adjust)(this.secondaryColor, { h: -64 }); - this.fillType6 = Object(khroma__WEBPACK_IMPORTED_MODULE_0__["adjust"])(this.primaryColor, { + this.fillType6 = (0,khroma__WEBPACK_IMPORTED_MODULE_0__.adjust)(this.primaryColor, { h: 128 }); - this.fillType7 = Object(khroma__WEBPACK_IMPORTED_MODULE_0__["adjust"])(this.secondaryColor, { + this.fillType7 = (0,khroma__WEBPACK_IMPORTED_MODULE_0__.adjust)(this.secondaryColor, { h: 128 }); /* pie */ this.pie1 = this.pie1 || this.primaryColor; this.pie2 = this.pie2 || this.secondaryColor; - this.pie3 = this.pie3 || Object(khroma__WEBPACK_IMPORTED_MODULE_0__["adjust"])(this.tertiaryColor, { + this.pie3 = this.pie3 || (0,khroma__WEBPACK_IMPORTED_MODULE_0__.adjust)(this.tertiaryColor, { l: -40 }); - this.pie4 = this.pie4 || Object(khroma__WEBPACK_IMPORTED_MODULE_0__["adjust"])(this.primaryColor, { + this.pie4 = this.pie4 || (0,khroma__WEBPACK_IMPORTED_MODULE_0__.adjust)(this.primaryColor, { l: -10 }); - this.pie5 = this.pie5 || Object(khroma__WEBPACK_IMPORTED_MODULE_0__["adjust"])(this.secondaryColor, { + this.pie5 = this.pie5 || (0,khroma__WEBPACK_IMPORTED_MODULE_0__.adjust)(this.secondaryColor, { l: -30 }); - this.pie6 = this.pie6 || Object(khroma__WEBPACK_IMPORTED_MODULE_0__["adjust"])(this.tertiaryColor, { + this.pie6 = this.pie6 || (0,khroma__WEBPACK_IMPORTED_MODULE_0__.adjust)(this.tertiaryColor, { l: -20 }); - this.pie7 = this.pie7 || Object(khroma__WEBPACK_IMPORTED_MODULE_0__["adjust"])(this.primaryColor, { + this.pie7 = this.pie7 || (0,khroma__WEBPACK_IMPORTED_MODULE_0__.adjust)(this.primaryColor, { h: +60, l: -20 }); - this.pie8 = this.pie8 || Object(khroma__WEBPACK_IMPORTED_MODULE_0__["adjust"])(this.primaryColor, { + this.pie8 = this.pie8 || (0,khroma__WEBPACK_IMPORTED_MODULE_0__.adjust)(this.primaryColor, { h: -60, l: -40 }); - this.pie9 = this.pie9 || Object(khroma__WEBPACK_IMPORTED_MODULE_0__["adjust"])(this.primaryColor, { + this.pie9 = this.pie9 || (0,khroma__WEBPACK_IMPORTED_MODULE_0__.adjust)(this.primaryColor, { h: 120, l: -40 }); - this.pie10 = this.pie10 || Object(khroma__WEBPACK_IMPORTED_MODULE_0__["adjust"])(this.primaryColor, { + this.pie10 = this.pie10 || (0,khroma__WEBPACK_IMPORTED_MODULE_0__.adjust)(this.primaryColor, { h: +60, l: -40 }); - this.pie11 = this.pie11 || Object(khroma__WEBPACK_IMPORTED_MODULE_0__["adjust"])(this.primaryColor, { + this.pie11 = this.pie11 || (0,khroma__WEBPACK_IMPORTED_MODULE_0__.adjust)(this.primaryColor, { h: -90, l: -40 }); - this.pie12 = this.pie12 || Object(khroma__WEBPACK_IMPORTED_MODULE_0__["adjust"])(this.primaryColor, { + this.pie12 = this.pie12 || (0,khroma__WEBPACK_IMPORTED_MODULE_0__.adjust)(this.primaryColor, { h: 120, l: -30 }); @@ -27422,12 +26890,13 @@ var getThemeVariables = function getThemeVariables(userOverrides) { /*!************************************!*\ !*** ./src/themes/theme-forest.js ***! \************************************/ -/*! exports provided: getThemeVariables */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getThemeVariables", function() { return getThemeVariables; }); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "getThemeVariables": () => (/* binding */ getThemeVariables) +/* harmony export */ }); /* harmony import */ var khroma__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! khroma */ "khroma"); /* harmony import */ var khroma__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(khroma__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _theme_helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./theme-helpers */ "./src/themes/theme-helpers.js"); @@ -27459,15 +26928,15 @@ var Theme = /*#__PURE__*/function () { this.arrowheadColor = 'green'; this.fontFamily = '"trebuchet ms", verdana, arial, sans-serif'; this.fontSize = '16px'; - this.tertiaryColor = Object(khroma__WEBPACK_IMPORTED_MODULE_0__["lighten"])('#cde498', 10); - this.primaryBorderColor = Object(_theme_helpers__WEBPACK_IMPORTED_MODULE_1__["mkBorder"])(this.primaryColor, this.darkMode); - this.secondaryBorderColor = Object(_theme_helpers__WEBPACK_IMPORTED_MODULE_1__["mkBorder"])(this.secondaryColor, this.darkMode); - this.tertiaryBorderColor = Object(_theme_helpers__WEBPACK_IMPORTED_MODULE_1__["mkBorder"])(this.tertiaryColor, this.darkMode); - this.primaryTextColor = Object(khroma__WEBPACK_IMPORTED_MODULE_0__["invert"])(this.primaryColor); - this.secondaryTextColor = Object(khroma__WEBPACK_IMPORTED_MODULE_0__["invert"])(this.secondaryColor); - this.tertiaryTextColor = Object(khroma__WEBPACK_IMPORTED_MODULE_0__["invert"])(this.primaryColor); - this.lineColor = Object(khroma__WEBPACK_IMPORTED_MODULE_0__["invert"])(this.background); - this.textColor = Object(khroma__WEBPACK_IMPORTED_MODULE_0__["invert"])(this.background); + this.tertiaryColor = (0,khroma__WEBPACK_IMPORTED_MODULE_0__.lighten)('#cde498', 10); + this.primaryBorderColor = (0,_theme_helpers__WEBPACK_IMPORTED_MODULE_1__.mkBorder)(this.primaryColor, this.darkMode); + this.secondaryBorderColor = (0,_theme_helpers__WEBPACK_IMPORTED_MODULE_1__.mkBorder)(this.secondaryColor, this.darkMode); + this.tertiaryBorderColor = (0,_theme_helpers__WEBPACK_IMPORTED_MODULE_1__.mkBorder)(this.tertiaryColor, this.darkMode); + this.primaryTextColor = (0,khroma__WEBPACK_IMPORTED_MODULE_0__.invert)(this.primaryColor); + this.secondaryTextColor = (0,khroma__WEBPACK_IMPORTED_MODULE_0__.invert)(this.secondaryColor); + this.tertiaryTextColor = (0,khroma__WEBPACK_IMPORTED_MODULE_0__.invert)(this.primaryColor); + this.lineColor = (0,khroma__WEBPACK_IMPORTED_MODULE_0__.invert)(this.background); + this.textColor = (0,khroma__WEBPACK_IMPORTED_MODULE_0__.invert)(this.background); /* Flowchart variables */ this.nodeBkg = 'calculated'; @@ -27533,7 +27002,7 @@ var Theme = /*#__PURE__*/function () { this.defaultLinkColor = this.lineColor; /* Sequence Diagram variables */ - this.actorBorder = Object(khroma__WEBPACK_IMPORTED_MODULE_0__["darken"])(this.mainBkg, 20); + this.actorBorder = (0,khroma__WEBPACK_IMPORTED_MODULE_0__.darken)(this.mainBkg, 20); this.actorBkg = this.mainBkg; this.labelBoxBkgColor = this.actorBkg; this.labelTextColor = this.actorTextColor; @@ -27570,22 +27039,22 @@ var Theme = /*#__PURE__*/function () { this.fillType0 = this.primaryColor; this.fillType1 = this.secondaryColor; - this.fillType2 = Object(khroma__WEBPACK_IMPORTED_MODULE_0__["adjust"])(this.primaryColor, { + this.fillType2 = (0,khroma__WEBPACK_IMPORTED_MODULE_0__.adjust)(this.primaryColor, { h: 64 }); - this.fillType3 = Object(khroma__WEBPACK_IMPORTED_MODULE_0__["adjust"])(this.secondaryColor, { + this.fillType3 = (0,khroma__WEBPACK_IMPORTED_MODULE_0__.adjust)(this.secondaryColor, { h: 64 }); - this.fillType4 = Object(khroma__WEBPACK_IMPORTED_MODULE_0__["adjust"])(this.primaryColor, { + this.fillType4 = (0,khroma__WEBPACK_IMPORTED_MODULE_0__.adjust)(this.primaryColor, { h: -64 }); - this.fillType5 = Object(khroma__WEBPACK_IMPORTED_MODULE_0__["adjust"])(this.secondaryColor, { + this.fillType5 = (0,khroma__WEBPACK_IMPORTED_MODULE_0__.adjust)(this.secondaryColor, { h: -64 }); - this.fillType6 = Object(khroma__WEBPACK_IMPORTED_MODULE_0__["adjust"])(this.primaryColor, { + this.fillType6 = (0,khroma__WEBPACK_IMPORTED_MODULE_0__.adjust)(this.primaryColor, { h: 128 }); - this.fillType7 = Object(khroma__WEBPACK_IMPORTED_MODULE_0__["adjust"])(this.secondaryColor, { + this.fillType7 = (0,khroma__WEBPACK_IMPORTED_MODULE_0__.adjust)(this.secondaryColor, { h: 128 }); /* pie */ @@ -27593,37 +27062,37 @@ var Theme = /*#__PURE__*/function () { this.pie1 = this.pie1 || this.primaryColor; this.pie2 = this.pie2 || this.secondaryColor; this.pie3 = this.pie3 || this.tertiaryColor; - this.pie4 = this.pie4 || Object(khroma__WEBPACK_IMPORTED_MODULE_0__["adjust"])(this.primaryColor, { + this.pie4 = this.pie4 || (0,khroma__WEBPACK_IMPORTED_MODULE_0__.adjust)(this.primaryColor, { l: -30 }); - this.pie5 = this.pie5 || Object(khroma__WEBPACK_IMPORTED_MODULE_0__["adjust"])(this.secondaryColor, { + this.pie5 = this.pie5 || (0,khroma__WEBPACK_IMPORTED_MODULE_0__.adjust)(this.secondaryColor, { l: -30 }); - this.pie6 = this.pie6 || Object(khroma__WEBPACK_IMPORTED_MODULE_0__["adjust"])(this.tertiaryColor, { + this.pie6 = this.pie6 || (0,khroma__WEBPACK_IMPORTED_MODULE_0__.adjust)(this.tertiaryColor, { h: +40, l: -40 }); - this.pie7 = this.pie7 || Object(khroma__WEBPACK_IMPORTED_MODULE_0__["adjust"])(this.primaryColor, { + this.pie7 = this.pie7 || (0,khroma__WEBPACK_IMPORTED_MODULE_0__.adjust)(this.primaryColor, { h: +60, l: -10 }); - this.pie8 = this.pie8 || Object(khroma__WEBPACK_IMPORTED_MODULE_0__["adjust"])(this.primaryColor, { + this.pie8 = this.pie8 || (0,khroma__WEBPACK_IMPORTED_MODULE_0__.adjust)(this.primaryColor, { h: -60, l: -10 }); - this.pie9 = this.pie9 || Object(khroma__WEBPACK_IMPORTED_MODULE_0__["adjust"])(this.primaryColor, { + this.pie9 = this.pie9 || (0,khroma__WEBPACK_IMPORTED_MODULE_0__.adjust)(this.primaryColor, { h: 120, l: 0 }); - this.pie10 = this.pie10 || Object(khroma__WEBPACK_IMPORTED_MODULE_0__["adjust"])(this.primaryColor, { + this.pie10 = this.pie10 || (0,khroma__WEBPACK_IMPORTED_MODULE_0__.adjust)(this.primaryColor, { h: +60, l: -50 }); - this.pie11 = this.pie11 || Object(khroma__WEBPACK_IMPORTED_MODULE_0__["adjust"])(this.primaryColor, { + this.pie11 = this.pie11 || (0,khroma__WEBPACK_IMPORTED_MODULE_0__.adjust)(this.primaryColor, { h: -60, l: -50 }); - this.pie12 = this.pie12 || Object(khroma__WEBPACK_IMPORTED_MODULE_0__["adjust"])(this.primaryColor, { + this.pie12 = this.pie12 || (0,khroma__WEBPACK_IMPORTED_MODULE_0__.adjust)(this.primaryColor, { h: 120, l: -50 }); @@ -27686,20 +27155,21 @@ var getThemeVariables = function getThemeVariables(userOverrides) { /*!*************************************!*\ !*** ./src/themes/theme-helpers.js ***! \*************************************/ -/*! exports provided: mkBorder */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "mkBorder", function() { return mkBorder; }); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "mkBorder": () => (/* binding */ mkBorder) +/* harmony export */ }); /* harmony import */ var khroma__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! khroma */ "khroma"); /* harmony import */ var khroma__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(khroma__WEBPACK_IMPORTED_MODULE_0__); var mkBorder = function mkBorder(col, darkMode) { - return darkMode ? Object(khroma__WEBPACK_IMPORTED_MODULE_0__["adjust"])(col, { + return darkMode ? (0,khroma__WEBPACK_IMPORTED_MODULE_0__.adjust)(col, { s: -40, l: 10 - }) : Object(khroma__WEBPACK_IMPORTED_MODULE_0__["adjust"])(col, { + }) : (0,khroma__WEBPACK_IMPORTED_MODULE_0__.adjust)(col, { s: -40, l: -10 }); @@ -27711,12 +27181,13 @@ var mkBorder = function mkBorder(col, darkMode) { /*!*************************************!*\ !*** ./src/themes/theme-neutral.js ***! \*************************************/ -/*! exports provided: getThemeVariables */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getThemeVariables", function() { return getThemeVariables; }); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "getThemeVariables": () => (/* binding */ getThemeVariables) +/* harmony export */ }); /* harmony import */ var khroma__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! khroma */ "khroma"); /* harmony import */ var khroma__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(khroma__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _theme_helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./theme-helpers */ "./src/themes/theme-helpers.js"); @@ -27738,21 +27209,21 @@ var Theme = /*#__PURE__*/function () { this.primaryColor = '#eee'; this.contrast = '#707070'; - this.secondaryColor = Object(khroma__WEBPACK_IMPORTED_MODULE_0__["lighten"])(this.contrast, 55); + this.secondaryColor = (0,khroma__WEBPACK_IMPORTED_MODULE_0__.lighten)(this.contrast, 55); this.background = '#ffffff'; // this.secondaryColor = adjust(this.primaryColor, { h: 120 }); - this.tertiaryColor = Object(khroma__WEBPACK_IMPORTED_MODULE_0__["adjust"])(this.primaryColor, { + this.tertiaryColor = (0,khroma__WEBPACK_IMPORTED_MODULE_0__.adjust)(this.primaryColor, { h: -160 }); - this.primaryBorderColor = Object(_theme_helpers__WEBPACK_IMPORTED_MODULE_1__["mkBorder"])(this.primaryColor, this.darkMode); - this.secondaryBorderColor = Object(_theme_helpers__WEBPACK_IMPORTED_MODULE_1__["mkBorder"])(this.secondaryColor, this.darkMode); - this.tertiaryBorderColor = Object(_theme_helpers__WEBPACK_IMPORTED_MODULE_1__["mkBorder"])(this.tertiaryColor, this.darkMode); // this.noteBorderColor = mkBorder(this.noteBkgColor, this.darkMode); + this.primaryBorderColor = (0,_theme_helpers__WEBPACK_IMPORTED_MODULE_1__.mkBorder)(this.primaryColor, this.darkMode); + this.secondaryBorderColor = (0,_theme_helpers__WEBPACK_IMPORTED_MODULE_1__.mkBorder)(this.secondaryColor, this.darkMode); + this.tertiaryBorderColor = (0,_theme_helpers__WEBPACK_IMPORTED_MODULE_1__.mkBorder)(this.tertiaryColor, this.darkMode); // this.noteBorderColor = mkBorder(this.noteBkgColor, this.darkMode); - this.primaryTextColor = Object(khroma__WEBPACK_IMPORTED_MODULE_0__["invert"])(this.primaryColor); - this.secondaryTextColor = Object(khroma__WEBPACK_IMPORTED_MODULE_0__["invert"])(this.secondaryColor); - this.tertiaryTextColor = Object(khroma__WEBPACK_IMPORTED_MODULE_0__["invert"])(this.tertiaryColor); - this.lineColor = Object(khroma__WEBPACK_IMPORTED_MODULE_0__["invert"])(this.background); - this.textColor = Object(khroma__WEBPACK_IMPORTED_MODULE_0__["invert"])(this.background); // this.altBackground = lighten(this.contrast, 55); + this.primaryTextColor = (0,khroma__WEBPACK_IMPORTED_MODULE_0__.invert)(this.primaryColor); + this.secondaryTextColor = (0,khroma__WEBPACK_IMPORTED_MODULE_0__.invert)(this.secondaryColor); + this.tertiaryTextColor = (0,khroma__WEBPACK_IMPORTED_MODULE_0__.invert)(this.tertiaryColor); + this.lineColor = (0,khroma__WEBPACK_IMPORTED_MODULE_0__.invert)(this.background); + this.textColor = (0,khroma__WEBPACK_IMPORTED_MODULE_0__.invert)(this.background); // this.altBackground = lighten(this.contrast, 55); this.mainBkg = '#eee'; this.secondBkg = 'calculated'; @@ -27823,7 +27294,7 @@ var Theme = /*#__PURE__*/function () { _createClass(Theme, [{ key: "updateColors", value: function updateColors() { - this.secondBkg = Object(khroma__WEBPACK_IMPORTED_MODULE_0__["lighten"])(this.contrast, 55); + this.secondBkg = (0,khroma__WEBPACK_IMPORTED_MODULE_0__.lighten)(this.contrast, 55); this.border2 = this.contrast; /* Flowchart variables */ @@ -27835,7 +27306,7 @@ var Theme = /*#__PURE__*/function () { this.titleColor = this.text; /* Sequence Diagram variables */ - this.actorBorder = Object(khroma__WEBPACK_IMPORTED_MODULE_0__["lighten"])(this.border1, 23); + this.actorBorder = (0,khroma__WEBPACK_IMPORTED_MODULE_0__.lighten)(this.border1, 23); this.actorBkg = this.mainBkg; this.actorTextColor = this.text; this.actorLineColor = this.lineColor; @@ -27850,20 +27321,20 @@ var Theme = /*#__PURE__*/function () { this.noteTextColor = '#fff'; /* Gantt chart variables */ - this.sectionBkgColor = Object(khroma__WEBPACK_IMPORTED_MODULE_0__["lighten"])(this.contrast, 30); - this.sectionBkgColor2 = Object(khroma__WEBPACK_IMPORTED_MODULE_0__["lighten"])(this.contrast, 30); - this.taskBorderColor = Object(khroma__WEBPACK_IMPORTED_MODULE_0__["darken"])(this.contrast, 10); + this.sectionBkgColor = (0,khroma__WEBPACK_IMPORTED_MODULE_0__.lighten)(this.contrast, 30); + this.sectionBkgColor2 = (0,khroma__WEBPACK_IMPORTED_MODULE_0__.lighten)(this.contrast, 30); + this.taskBorderColor = (0,khroma__WEBPACK_IMPORTED_MODULE_0__.darken)(this.contrast, 10); this.taskBkgColor = this.contrast; this.taskTextColor = this.taskTextLightColor; this.taskTextDarkColor = this.text; this.taskTextOutsideColor = this.taskTextDarkColor; this.activeTaskBorderColor = this.taskBorderColor; this.activeTaskBkgColor = this.mainBkg; - this.gridColor = Object(khroma__WEBPACK_IMPORTED_MODULE_0__["lighten"])(this.border1, 30); + this.gridColor = (0,khroma__WEBPACK_IMPORTED_MODULE_0__.lighten)(this.border1, 30); this.doneTaskBkgColor = this.done; this.doneTaskBorderColor = this.lineColor; this.critBkgColor = this.critical; - this.critBorderColor = Object(khroma__WEBPACK_IMPORTED_MODULE_0__["darken"])(this.critBkgColor, 10); + this.critBorderColor = (0,khroma__WEBPACK_IMPORTED_MODULE_0__.darken)(this.critBkgColor, 10); this.todayLineColor = this.critBkgColor; /* state colors */ @@ -27887,22 +27358,22 @@ var Theme = /*#__PURE__*/function () { this.fillType0 = this.primaryColor; this.fillType1 = this.secondaryColor; - this.fillType2 = Object(khroma__WEBPACK_IMPORTED_MODULE_0__["adjust"])(this.primaryColor, { + this.fillType2 = (0,khroma__WEBPACK_IMPORTED_MODULE_0__.adjust)(this.primaryColor, { h: 64 }); - this.fillType3 = Object(khroma__WEBPACK_IMPORTED_MODULE_0__["adjust"])(this.secondaryColor, { + this.fillType3 = (0,khroma__WEBPACK_IMPORTED_MODULE_0__.adjust)(this.secondaryColor, { h: 64 }); - this.fillType4 = Object(khroma__WEBPACK_IMPORTED_MODULE_0__["adjust"])(this.primaryColor, { + this.fillType4 = (0,khroma__WEBPACK_IMPORTED_MODULE_0__.adjust)(this.primaryColor, { h: -64 }); - this.fillType5 = Object(khroma__WEBPACK_IMPORTED_MODULE_0__["adjust"])(this.secondaryColor, { + this.fillType5 = (0,khroma__WEBPACK_IMPORTED_MODULE_0__.adjust)(this.secondaryColor, { h: -64 }); - this.fillType6 = Object(khroma__WEBPACK_IMPORTED_MODULE_0__["adjust"])(this.primaryColor, { + this.fillType6 = (0,khroma__WEBPACK_IMPORTED_MODULE_0__.adjust)(this.primaryColor, { h: 128 }); - this.fillType7 = Object(khroma__WEBPACK_IMPORTED_MODULE_0__["adjust"])(this.secondaryColor, { + this.fillType7 = (0,khroma__WEBPACK_IMPORTED_MODULE_0__.adjust)(this.secondaryColor, { h: 128 }); // /* pie */ @@ -27989,40 +27460,42 @@ var getThemeVariables = function getThemeVariables(userOverrides) { /*!**********************!*\ !*** ./src/utils.js ***! \**********************/ -/*! exports provided: detectInit, detectDirective, detectType, isSubstringInArray, interpolateToCurve, formatUrl, runFunc, getStylesFromArray, generateId, random, assignWithDepth, getTextObj, drawSimpleText, wrapLabel, calculateTextHeight, calculateTextWidth, calculateTextDimensions, calculateSvgSizeAttrs, configureSvgSize, initIdGeneratior, entityDecode, directiveSanitizer, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "detectInit", function() { return detectInit; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "detectDirective", function() { return detectDirective; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "detectType", function() { return detectType; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isSubstringInArray", function() { return isSubstringInArray; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "interpolateToCurve", function() { return interpolateToCurve; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "formatUrl", function() { return formatUrl; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "runFunc", function() { return runFunc; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getStylesFromArray", function() { return getStylesFromArray; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "generateId", function() { return generateId; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "random", function() { return random; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "assignWithDepth", function() { return assignWithDepth; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getTextObj", function() { return getTextObj; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "drawSimpleText", function() { return drawSimpleText; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "wrapLabel", function() { return wrapLabel; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "calculateTextHeight", function() { return calculateTextHeight; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "calculateTextWidth", function() { return calculateTextWidth; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "calculateTextDimensions", function() { return calculateTextDimensions; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "calculateSvgSizeAttrs", function() { return calculateSvgSizeAttrs; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "configureSvgSize", function() { return configureSvgSize; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "initIdGeneratior", function() { return initIdGeneratior; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "entityDecode", function() { return entityDecode; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "directiveSanitizer", function() { return directiveSanitizer; }); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "detectInit": () => (/* binding */ detectInit), +/* harmony export */ "detectDirective": () => (/* binding */ detectDirective), +/* harmony export */ "detectType": () => (/* binding */ detectType), +/* harmony export */ "isSubstringInArray": () => (/* binding */ isSubstringInArray), +/* harmony export */ "interpolateToCurve": () => (/* binding */ interpolateToCurve), +/* harmony export */ "formatUrl": () => (/* binding */ formatUrl), +/* harmony export */ "runFunc": () => (/* binding */ runFunc), +/* harmony export */ "getStylesFromArray": () => (/* binding */ getStylesFromArray), +/* harmony export */ "generateId": () => (/* binding */ generateId), +/* harmony export */ "random": () => (/* binding */ random), +/* harmony export */ "assignWithDepth": () => (/* binding */ assignWithDepth), +/* harmony export */ "getTextObj": () => (/* binding */ getTextObj), +/* harmony export */ "drawSimpleText": () => (/* binding */ drawSimpleText), +/* harmony export */ "wrapLabel": () => (/* binding */ wrapLabel), +/* harmony export */ "calculateTextHeight": () => (/* binding */ calculateTextHeight), +/* harmony export */ "calculateTextWidth": () => (/* binding */ calculateTextWidth), +/* harmony export */ "calculateTextDimensions": () => (/* binding */ calculateTextDimensions), +/* harmony export */ "calculateSvgSizeAttrs": () => (/* binding */ calculateSvgSizeAttrs), +/* harmony export */ "configureSvgSize": () => (/* binding */ configureSvgSize), +/* harmony export */ "initIdGeneratior": () => (/* binding */ initIdGeneratior), +/* harmony export */ "entityDecode": () => (/* binding */ entityDecode), +/* harmony export */ "directiveSanitizer": () => (/* binding */ directiveSanitizer), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); /* harmony import */ var _braintree_sanitize_url__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @braintree/sanitize-url */ "@braintree/sanitize-url"); /* harmony import */ var _braintree_sanitize_url__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_braintree_sanitize_url__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! d3 */ "d3"); /* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(d3__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var _diagrams_common_common__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./diagrams/common/common */ "./src/diagrams/common/common.js"); -/* harmony import */ var _defaultConfig__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./defaultConfig */ "./src/defaultConfig.js"); -/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./logger */ "./src/logger.js"); +/* harmony import */ var _diagrams_common_common__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./diagrams/common/common */ "./src/diagrams/common/common.js"); +/* harmony import */ var _defaultConfig__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./defaultConfig */ "./src/defaultConfig.js"); +/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./logger */ "./src/logger.js"); var _this = undefined; function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } @@ -28054,17 +27527,17 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len // Effectively an enum of the supported curve types, accessible by name var d3CurveTypes = { - curveBasis: d3__WEBPACK_IMPORTED_MODULE_1__["curveBasis"], - curveBasisClosed: d3__WEBPACK_IMPORTED_MODULE_1__["curveBasisClosed"], - curveBasisOpen: d3__WEBPACK_IMPORTED_MODULE_1__["curveBasisOpen"], - curveLinear: d3__WEBPACK_IMPORTED_MODULE_1__["curveLinear"], - curveLinearClosed: d3__WEBPACK_IMPORTED_MODULE_1__["curveLinearClosed"], - curveMonotoneX: d3__WEBPACK_IMPORTED_MODULE_1__["curveMonotoneX"], - curveMonotoneY: d3__WEBPACK_IMPORTED_MODULE_1__["curveMonotoneY"], - curveNatural: d3__WEBPACK_IMPORTED_MODULE_1__["curveNatural"], - curveStep: d3__WEBPACK_IMPORTED_MODULE_1__["curveStep"], - curveStepAfter: d3__WEBPACK_IMPORTED_MODULE_1__["curveStepAfter"], - curveStepBefore: d3__WEBPACK_IMPORTED_MODULE_1__["curveStepBefore"] + curveBasis: d3__WEBPACK_IMPORTED_MODULE_1__.curveBasis, + curveBasisClosed: d3__WEBPACK_IMPORTED_MODULE_1__.curveBasisClosed, + curveBasisOpen: d3__WEBPACK_IMPORTED_MODULE_1__.curveBasisOpen, + curveLinear: d3__WEBPACK_IMPORTED_MODULE_1__.curveLinear, + curveLinearClosed: d3__WEBPACK_IMPORTED_MODULE_1__.curveLinearClosed, + curveMonotoneX: d3__WEBPACK_IMPORTED_MODULE_1__.curveMonotoneX, + curveMonotoneY: d3__WEBPACK_IMPORTED_MODULE_1__.curveMonotoneY, + curveNatural: d3__WEBPACK_IMPORTED_MODULE_1__.curveNatural, + curveStep: d3__WEBPACK_IMPORTED_MODULE_1__.curveStep, + curveStepAfter: d3__WEBPACK_IMPORTED_MODULE_1__.curveStepAfter, + curveStepBefore: d3__WEBPACK_IMPORTED_MODULE_1__.curveStepBefore }; var directive = /[%]{2}[{]\s*(?:(?:(\w+)\s*:|(\w+))\s*(?:(?:(\w+))|((?:(?![}][%]{2}).|\r?\n)*))?\s*)(?:[}][%]{2})?/gi; var directiveWithoutOpen = /\s*(?:(?:(\w+)(?=:):|(\w+))\s*(?:(?:(\w+))|((?:(?![}][%]{2}).|\r?\n)*))?\s*)(?:[}][%]{2})?/gi; @@ -28159,7 +27632,7 @@ var detectDirective = function detectDirective(text) { try { var commentWithoutDirectives = new RegExp("[%]{2}(?![{]".concat(directiveWithoutOpen.source, ")(?=[}][%]{2}).*\n"), 'ig'); text = text.trim().replace(commentWithoutDirectives, '').replace(/'/gm, '"'); - _logger__WEBPACK_IMPORTED_MODULE_4__["log"].debug("Detecting diagram directive".concat(type !== null ? ' type:' + type : '', " based on the text:").concat(text)); + _logger__WEBPACK_IMPORTED_MODULE_2__.log.debug("Detecting diagram directive".concat(type !== null ? ' type:' + type : '', " based on the text:").concat(text)); var match, result = []; @@ -28189,7 +27662,7 @@ var detectDirective = function detectDirective(text) { return result.length === 1 ? result[0] : result; } catch (error) { - _logger__WEBPACK_IMPORTED_MODULE_4__["log"].error("ERROR: ".concat(error.message, " - Unable to parse directive\n ").concat(type !== null ? ' type:' + type : '', " based on the text:").concat(text)); + _logger__WEBPACK_IMPORTED_MODULE_2__.log.error("ERROR: ".concat(error.message, " - Unable to parse directive\n ").concat(type !== null ? ' type:' + type : '', " based on the text:").concat(text)); return { type: null, args: null @@ -28324,7 +27797,7 @@ var formatUrl = function formatUrl(linkStr, config) { if (url) { if (config.securityLevel !== 'loose') { - return Object(_braintree_sanitize_url__WEBPACK_IMPORTED_MODULE_0__["sanitizeUrl"])(url); + return (0,_braintree_sanitize_url__WEBPACK_IMPORTED_MODULE_0__.sanitizeUrl)(url); } return url; @@ -28403,7 +27876,7 @@ var calcCardinalityPosition = function calcCardinalityPosition(isRelationTypePre var prevPoint; var totalDistance = 0; // eslint-disable-line - _logger__WEBPACK_IMPORTED_MODULE_4__["log"].info('our points', points); + _logger__WEBPACK_IMPORTED_MODULE_2__.log.info('our points', points); if (points[0] !== initialPosition) { points = points.reverse(); @@ -28469,7 +27942,7 @@ var calcTerminalLabelPosition = function calcTerminalLabelPosition(terminalMarke var prevPoint; var totalDistance = 0; // eslint-disable-line - _logger__WEBPACK_IMPORTED_MODULE_4__["log"].info('our points', points); + _logger__WEBPACK_IMPORTED_MODULE_2__.log.info('our points', points); if (position !== 'start_left' && position !== 'start_right') { points = points.reverse(); @@ -28675,7 +28148,7 @@ var getTextObj = function getTextObj() { }; var drawSimpleText = function drawSimpleText(elem, textData) { // Remove and ignore br:s - var nText = textData.text.replace(_diagrams_common_common__WEBPACK_IMPORTED_MODULE_2__["default"].lineBreakRegex, ' '); + var nText = textData.text.replace(_diagrams_common_common__WEBPACK_IMPORTED_MODULE_3__["default"].lineBreakRegex, ' '); var textElem = elem.append('text'); textElem.attr('x', textData.x); textElem.attr('y', textData.y); @@ -28707,7 +28180,7 @@ var wrapLabel = memoize(function (label, maxWidth, config) { joinWith: '
' }, config); - if (_diagrams_common_common__WEBPACK_IMPORTED_MODULE_2__["default"].lineBreakRegex.test(label)) { + if (_diagrams_common_common__WEBPACK_IMPORTED_MODULE_3__["default"].lineBreakRegex.test(label)) { return label; } @@ -28847,9 +28320,9 @@ var calculateTextDimensions = memoize(function (text, config) { var fontFamilies = ['sans-serif', fontFamily]; - var lines = text.split(_diagrams_common_common__WEBPACK_IMPORTED_MODULE_2__["default"].lineBreakRegex); + var lines = text.split(_diagrams_common_common__WEBPACK_IMPORTED_MODULE_3__["default"].lineBreakRegex); var dims = []; - var body = Object(d3__WEBPACK_IMPORTED_MODULE_1__["select"])('body'); // We don't want to leak DOM elements - if a removal operation isn't available + var body = (0,d3__WEBPACK_IMPORTED_MODULE_1__.select)('body'); // We don't want to leak DOM elements - if a removal operation isn't available // for any reason, do not continue. if (!body.remove) { @@ -28965,7 +28438,7 @@ var entityDecode = function entityDecode(html) { return unescape(decoder.textContent); }; var directiveSanitizer = function directiveSanitizer(args) { - _logger__WEBPACK_IMPORTED_MODULE_4__["log"].debug('directiveSanitizer called with', args); + _logger__WEBPACK_IMPORTED_MODULE_2__.log.debug('directiveSanitizer called with', args); if (_typeof(args) === 'object') { // check for array @@ -28976,29 +28449,29 @@ var directiveSanitizer = function directiveSanitizer(args) { } else { // This is an object Object.keys(args).forEach(function (key) { - _logger__WEBPACK_IMPORTED_MODULE_4__["log"].debug('Checking key', key); + _logger__WEBPACK_IMPORTED_MODULE_2__.log.debug('Checking key', key); if (key.indexOf('__') === 0) { - _logger__WEBPACK_IMPORTED_MODULE_4__["log"].debug('sanitize deleting __ option', key); + _logger__WEBPACK_IMPORTED_MODULE_2__.log.debug('sanitize deleting __ option', key); delete args[key]; } if (key.indexOf('proto') >= 0) { - _logger__WEBPACK_IMPORTED_MODULE_4__["log"].debug('sanitize deleting proto option', key); + _logger__WEBPACK_IMPORTED_MODULE_2__.log.debug('sanitize deleting proto option', key); delete args[key]; } if (key.indexOf('constr') >= 0) { - _logger__WEBPACK_IMPORTED_MODULE_4__["log"].debug('sanitize deleting constr option', key); + _logger__WEBPACK_IMPORTED_MODULE_2__.log.debug('sanitize deleting constr option', key); delete args[key]; } - if (_defaultConfig__WEBPACK_IMPORTED_MODULE_3__["configKeys"].indexOf(key) < 0) { - _logger__WEBPACK_IMPORTED_MODULE_4__["log"].debug('sanitize deleting option', key); + if (_defaultConfig__WEBPACK_IMPORTED_MODULE_4__.configKeys.indexOf(key) < 0) { + _logger__WEBPACK_IMPORTED_MODULE_2__.log.debug('sanitize deleting option', key); delete args[key]; } else { if (_typeof(args[key]) === 'object') { - _logger__WEBPACK_IMPORTED_MODULE_4__["log"].debug('sanitize deleting object', key); + _logger__WEBPACK_IMPORTED_MODULE_2__.log.debug('sanitize deleting object', key); directiveSanitizer(args[key]); } } @@ -29006,7 +28479,7 @@ var directiveSanitizer = function directiveSanitizer(args) { } } }; -/* harmony default export */ __webpack_exports__["default"] = ({ +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ assignWithDepth: assignWithDepth, wrapLabel: wrapLabel, calculateTextHeight: calculateTextHeight, @@ -29033,15 +28506,555 @@ var directiveSanitizer = function directiveSanitizer(args) { directiveSanitizer: directiveSanitizer }); +/***/ }), + +/***/ "./node_modules/path-browserify/index.js": +/*!***********************************************!*\ + !*** ./node_modules/path-browserify/index.js ***! + \***********************************************/ +/***/ ((module) => { + +"use strict"; +// 'path' module extracted from Node.js v8.11.1 (only the posix part) +// transplited with Babel + +// Copyright Joyent, Inc. and other Node contributors. +// +// 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. + + + +function assertPath(path) { + if (typeof path !== 'string') { + throw new TypeError('Path must be a string. Received ' + JSON.stringify(path)); + } +} + +// Resolves . and .. elements in a path with directory names +function normalizeStringPosix(path, allowAboveRoot) { + var res = ''; + var lastSegmentLength = 0; + var lastSlash = -1; + var dots = 0; + var code; + for (var i = 0; i <= path.length; ++i) { + if (i < path.length) + code = path.charCodeAt(i); + else if (code === 47 /*/*/) + break; + else + code = 47 /*/*/; + if (code === 47 /*/*/) { + if (lastSlash === i - 1 || dots === 1) { + // NOOP + } else if (lastSlash !== i - 1 && dots === 2) { + if (res.length < 2 || lastSegmentLength !== 2 || res.charCodeAt(res.length - 1) !== 46 /*.*/ || res.charCodeAt(res.length - 2) !== 46 /*.*/) { + if (res.length > 2) { + var lastSlashIndex = res.lastIndexOf('/'); + if (lastSlashIndex !== res.length - 1) { + if (lastSlashIndex === -1) { + res = ''; + lastSegmentLength = 0; + } else { + res = res.slice(0, lastSlashIndex); + lastSegmentLength = res.length - 1 - res.lastIndexOf('/'); + } + lastSlash = i; + dots = 0; + continue; + } + } else if (res.length === 2 || res.length === 1) { + res = ''; + lastSegmentLength = 0; + lastSlash = i; + dots = 0; + continue; + } + } + if (allowAboveRoot) { + if (res.length > 0) + res += '/..'; + else + res = '..'; + lastSegmentLength = 2; + } + } else { + if (res.length > 0) + res += '/' + path.slice(lastSlash + 1, i); + else + res = path.slice(lastSlash + 1, i); + lastSegmentLength = i - lastSlash - 1; + } + lastSlash = i; + dots = 0; + } else if (code === 46 /*.*/ && dots !== -1) { + ++dots; + } else { + dots = -1; + } + } + return res; +} + +function _format(sep, pathObject) { + var dir = pathObject.dir || pathObject.root; + var base = pathObject.base || (pathObject.name || '') + (pathObject.ext || ''); + if (!dir) { + return base; + } + if (dir === pathObject.root) { + return dir + base; + } + return dir + sep + base; +} + +var posix = { + // path.resolve([from ...], to) + resolve: function resolve() { + var resolvedPath = ''; + var resolvedAbsolute = false; + var cwd; + + for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { + var path; + if (i >= 0) + path = arguments[i]; + else { + if (cwd === undefined) + cwd = process.cwd(); + path = cwd; + } + + assertPath(path); + + // Skip empty entries + if (path.length === 0) { + continue; + } + + resolvedPath = path + '/' + resolvedPath; + resolvedAbsolute = path.charCodeAt(0) === 47 /*/*/; + } + + // At this point the path should be resolved to a full absolute path, but + // handle relative paths to be safe (might happen when process.cwd() fails) + + // Normalize the path + resolvedPath = normalizeStringPosix(resolvedPath, !resolvedAbsolute); + + if (resolvedAbsolute) { + if (resolvedPath.length > 0) + return '/' + resolvedPath; + else + return '/'; + } else if (resolvedPath.length > 0) { + return resolvedPath; + } else { + return '.'; + } + }, + + normalize: function normalize(path) { + assertPath(path); + + if (path.length === 0) return '.'; + + var isAbsolute = path.charCodeAt(0) === 47 /*/*/; + var trailingSeparator = path.charCodeAt(path.length - 1) === 47 /*/*/; + + // Normalize the path + path = normalizeStringPosix(path, !isAbsolute); + + if (path.length === 0 && !isAbsolute) path = '.'; + if (path.length > 0 && trailingSeparator) path += '/'; + + if (isAbsolute) return '/' + path; + return path; + }, + + isAbsolute: function isAbsolute(path) { + assertPath(path); + return path.length > 0 && path.charCodeAt(0) === 47 /*/*/; + }, + + join: function join() { + if (arguments.length === 0) + return '.'; + var joined; + for (var i = 0; i < arguments.length; ++i) { + var arg = arguments[i]; + assertPath(arg); + if (arg.length > 0) { + if (joined === undefined) + joined = arg; + else + joined += '/' + arg; + } + } + if (joined === undefined) + return '.'; + return posix.normalize(joined); + }, + + relative: function relative(from, to) { + assertPath(from); + assertPath(to); + + if (from === to) return ''; + + from = posix.resolve(from); + to = posix.resolve(to); + + if (from === to) return ''; + + // Trim any leading backslashes + var fromStart = 1; + for (; fromStart < from.length; ++fromStart) { + if (from.charCodeAt(fromStart) !== 47 /*/*/) + break; + } + var fromEnd = from.length; + var fromLen = fromEnd - fromStart; + + // Trim any leading backslashes + var toStart = 1; + for (; toStart < to.length; ++toStart) { + if (to.charCodeAt(toStart) !== 47 /*/*/) + break; + } + var toEnd = to.length; + var toLen = toEnd - toStart; + + // Compare paths to find the longest common path from root + var length = fromLen < toLen ? fromLen : toLen; + var lastCommonSep = -1; + var i = 0; + for (; i <= length; ++i) { + if (i === length) { + if (toLen > length) { + if (to.charCodeAt(toStart + i) === 47 /*/*/) { + // We get here if `from` is the exact base path for `to`. + // For example: from='/foo/bar'; to='/foo/bar/baz' + return to.slice(toStart + i + 1); + } else if (i === 0) { + // We get here if `from` is the root + // For example: from='/'; to='/foo' + return to.slice(toStart + i); + } + } else if (fromLen > length) { + if (from.charCodeAt(fromStart + i) === 47 /*/*/) { + // We get here if `to` is the exact base path for `from`. + // For example: from='/foo/bar/baz'; to='/foo/bar' + lastCommonSep = i; + } else if (i === 0) { + // We get here if `to` is the root. + // For example: from='/foo'; to='/' + lastCommonSep = 0; + } + } + break; + } + var fromCode = from.charCodeAt(fromStart + i); + var toCode = to.charCodeAt(toStart + i); + if (fromCode !== toCode) + break; + else if (fromCode === 47 /*/*/) + lastCommonSep = i; + } + + var out = ''; + // Generate the relative path based on the path difference between `to` + // and `from` + for (i = fromStart + lastCommonSep + 1; i <= fromEnd; ++i) { + if (i === fromEnd || from.charCodeAt(i) === 47 /*/*/) { + if (out.length === 0) + out += '..'; + else + out += '/..'; + } + } + + // Lastly, append the rest of the destination (`to`) path that comes after + // the common path parts + if (out.length > 0) + return out + to.slice(toStart + lastCommonSep); + else { + toStart += lastCommonSep; + if (to.charCodeAt(toStart) === 47 /*/*/) + ++toStart; + return to.slice(toStart); + } + }, + + _makeLong: function _makeLong(path) { + return path; + }, + + dirname: function dirname(path) { + assertPath(path); + if (path.length === 0) return '.'; + var code = path.charCodeAt(0); + var hasRoot = code === 47 /*/*/; + var end = -1; + var matchedSlash = true; + for (var i = path.length - 1; i >= 1; --i) { + code = path.charCodeAt(i); + if (code === 47 /*/*/) { + if (!matchedSlash) { + end = i; + break; + } + } else { + // We saw the first non-path separator + matchedSlash = false; + } + } + + if (end === -1) return hasRoot ? '/' : '.'; + if (hasRoot && end === 1) return '//'; + return path.slice(0, end); + }, + + basename: function basename(path, ext) { + if (ext !== undefined && typeof ext !== 'string') throw new TypeError('"ext" argument must be a string'); + assertPath(path); + + var start = 0; + var end = -1; + var matchedSlash = true; + var i; + + if (ext !== undefined && ext.length > 0 && ext.length <= path.length) { + if (ext.length === path.length && ext === path) return ''; + var extIdx = ext.length - 1; + var firstNonSlashEnd = -1; + for (i = path.length - 1; i >= 0; --i) { + var code = path.charCodeAt(i); + if (code === 47 /*/*/) { + // If we reached a path separator that was not part of a set of path + // separators at the end of the string, stop now + if (!matchedSlash) { + start = i + 1; + break; + } + } else { + if (firstNonSlashEnd === -1) { + // We saw the first non-path separator, remember this index in case + // we need it if the extension ends up not matching + matchedSlash = false; + firstNonSlashEnd = i + 1; + } + if (extIdx >= 0) { + // Try to match the explicit extension + if (code === ext.charCodeAt(extIdx)) { + if (--extIdx === -1) { + // We matched the extension, so mark this as the end of our path + // component + end = i; + } + } else { + // Extension does not match, so our result is the entire path + // component + extIdx = -1; + end = firstNonSlashEnd; + } + } + } + } + + if (start === end) end = firstNonSlashEnd;else if (end === -1) end = path.length; + return path.slice(start, end); + } else { + for (i = path.length - 1; i >= 0; --i) { + if (path.charCodeAt(i) === 47 /*/*/) { + // If we reached a path separator that was not part of a set of path + // separators at the end of the string, stop now + if (!matchedSlash) { + start = i + 1; + break; + } + } else if (end === -1) { + // We saw the first non-path separator, mark this as the end of our + // path component + matchedSlash = false; + end = i + 1; + } + } + + if (end === -1) return ''; + return path.slice(start, end); + } + }, + + extname: function extname(path) { + assertPath(path); + var startDot = -1; + var startPart = 0; + var end = -1; + var matchedSlash = true; + // Track the state of characters (if any) we see before our first dot and + // after any path separator we find + var preDotState = 0; + for (var i = path.length - 1; i >= 0; --i) { + var code = path.charCodeAt(i); + if (code === 47 /*/*/) { + // If we reached a path separator that was not part of a set of path + // separators at the end of the string, stop now + if (!matchedSlash) { + startPart = i + 1; + break; + } + continue; + } + if (end === -1) { + // We saw the first non-path separator, mark this as the end of our + // extension + matchedSlash = false; + end = i + 1; + } + if (code === 46 /*.*/) { + // If this is our first dot, mark it as the start of our extension + if (startDot === -1) + startDot = i; + else if (preDotState !== 1) + preDotState = 1; + } else if (startDot !== -1) { + // We saw a non-dot and non-path separator before our dot, so we should + // have a good chance at having a non-empty extension + preDotState = -1; + } + } + + if (startDot === -1 || end === -1 || + // We saw a non-dot character immediately before the dot + preDotState === 0 || + // The (right-most) trimmed path component is exactly '..' + preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) { + return ''; + } + return path.slice(startDot, end); + }, + + format: function format(pathObject) { + if (pathObject === null || typeof pathObject !== 'object') { + throw new TypeError('The "pathObject" argument must be of type Object. Received type ' + typeof pathObject); + } + return _format('/', pathObject); + }, + + parse: function parse(path) { + assertPath(path); + + var ret = { root: '', dir: '', base: '', ext: '', name: '' }; + if (path.length === 0) return ret; + var code = path.charCodeAt(0); + var isAbsolute = code === 47 /*/*/; + var start; + if (isAbsolute) { + ret.root = '/'; + start = 1; + } else { + start = 0; + } + var startDot = -1; + var startPart = 0; + var end = -1; + var matchedSlash = true; + var i = path.length - 1; + + // Track the state of characters (if any) we see before our first dot and + // after any path separator we find + var preDotState = 0; + + // Get non-dir info + for (; i >= start; --i) { + code = path.charCodeAt(i); + if (code === 47 /*/*/) { + // If we reached a path separator that was not part of a set of path + // separators at the end of the string, stop now + if (!matchedSlash) { + startPart = i + 1; + break; + } + continue; + } + if (end === -1) { + // We saw the first non-path separator, mark this as the end of our + // extension + matchedSlash = false; + end = i + 1; + } + if (code === 46 /*.*/) { + // If this is our first dot, mark it as the start of our extension + if (startDot === -1) startDot = i;else if (preDotState !== 1) preDotState = 1; + } else if (startDot !== -1) { + // We saw a non-dot and non-path separator before our dot, so we should + // have a good chance at having a non-empty extension + preDotState = -1; + } + } + + if (startDot === -1 || end === -1 || + // We saw a non-dot character immediately before the dot + preDotState === 0 || + // The (right-most) trimmed path component is exactly '..' + preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) { + if (end !== -1) { + if (startPart === 0 && isAbsolute) ret.base = ret.name = path.slice(1, end);else ret.base = ret.name = path.slice(startPart, end); + } + } else { + if (startPart === 0 && isAbsolute) { + ret.name = path.slice(1, startDot); + ret.base = path.slice(1, end); + } else { + ret.name = path.slice(startPart, startDot); + ret.base = path.slice(startPart, end); + } + ret.ext = path.slice(startDot, end); + } + + if (startPart > 0) ret.dir = path.slice(0, startPart - 1);else if (isAbsolute) ret.dir = '/'; + + return ret; + }, + + sep: '/', + delimiter: ':', + win32: null, + posix: null +}; + +posix.posix = posix; + +module.exports = posix; + + /***/ }), /***/ "@braintree/sanitize-url": /*!******************************************!*\ !*** external "@braintree/sanitize-url" ***! \******************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { +/***/ ((module) => { +"use strict"; module.exports = require("@braintree/sanitize-url"); /***/ }), @@ -29050,9 +29063,9 @@ module.exports = require("@braintree/sanitize-url"); /*!*********************!*\ !*** external "d3" ***! \*********************/ -/*! no static exports found */ -/***/ (function(module, exports) { +/***/ ((module) => { +"use strict"; module.exports = require("d3"); /***/ }), @@ -29061,9 +29074,9 @@ module.exports = require("d3"); /*!************************!*\ !*** external "dagre" ***! \************************/ -/*! no static exports found */ -/***/ (function(module, exports) { +/***/ ((module) => { +"use strict"; module.exports = require("dagre"); /***/ }), @@ -29072,9 +29085,9 @@ module.exports = require("dagre"); /*!***************************!*\ !*** external "dagre-d3" ***! \***************************/ -/*! no static exports found */ -/***/ (function(module, exports) { +/***/ ((module) => { +"use strict"; module.exports = require("dagre-d3"); /***/ }), @@ -29083,9 +29096,9 @@ module.exports = require("dagre-d3"); /*!*******************************************************!*\ !*** external "dagre-d3/lib/label/add-html-label.js" ***! \*******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { +/***/ ((module) => { +"use strict"; module.exports = require("dagre-d3/lib/label/add-html-label.js"); /***/ }), @@ -29094,9 +29107,9 @@ module.exports = require("dagre-d3/lib/label/add-html-label.js"); /*!****************************!*\ !*** external "dompurify" ***! \****************************/ -/*! no static exports found */ -/***/ (function(module, exports) { +/***/ ((module) => { +"use strict"; module.exports = require("dompurify"); /***/ }), @@ -29105,9 +29118,9 @@ module.exports = require("dompurify"); /*!***************************!*\ !*** external "graphlib" ***! \***************************/ -/*! no static exports found */ -/***/ (function(module, exports) { +/***/ ((module) => { +"use strict"; module.exports = require("graphlib"); /***/ }), @@ -29116,9 +29129,9 @@ module.exports = require("graphlib"); /*!*************************!*\ !*** external "khroma" ***! \*************************/ -/*! no static exports found */ -/***/ (function(module, exports) { +/***/ ((module) => { +"use strict"; module.exports = require("khroma"); /***/ }), @@ -29127,9 +29140,9 @@ module.exports = require("khroma"); /*!******************************!*\ !*** external "moment-mini" ***! \******************************/ -/*! no static exports found */ -/***/ (function(module, exports) { +/***/ ((module) => { +"use strict"; module.exports = require("moment-mini"); /***/ }), @@ -29138,13 +29151,226 @@ module.exports = require("moment-mini"); /*!*************************!*\ !*** external "stylis" ***! \*************************/ -/*! no static exports found */ -/***/ (function(module, exports) { +/***/ ((module) => { +"use strict"; module.exports = require("stylis"); +/***/ }), + +/***/ "?35ed": +/*!********************!*\ + !*** fs (ignored) ***! + \********************/ +/***/ (() => { + +/* (ignored) */ + +/***/ }), + +/***/ "?3c87": +/*!********************!*\ + !*** fs (ignored) ***! + \********************/ +/***/ (() => { + +/* (ignored) */ + +/***/ }), + +/***/ "?dbae": +/*!********************!*\ + !*** fs (ignored) ***! + \********************/ +/***/ (() => { + +/* (ignored) */ + +/***/ }), + +/***/ "?8ed1": +/*!********************!*\ + !*** fs (ignored) ***! + \********************/ +/***/ (() => { + +/* (ignored) */ + +/***/ }), + +/***/ "?2b40": +/*!********************!*\ + !*** fs (ignored) ***! + \********************/ +/***/ (() => { + +/* (ignored) */ + +/***/ }), + +/***/ "?c5f1": +/*!********************!*\ + !*** fs (ignored) ***! + \********************/ +/***/ (() => { + +/* (ignored) */ + +/***/ }), + +/***/ "?a3fa": +/*!********************!*\ + !*** fs (ignored) ***! + \********************/ +/***/ (() => { + +/* (ignored) */ + +/***/ }), + +/***/ "?ebf4": +/*!********************!*\ + !*** fs (ignored) ***! + \********************/ +/***/ (() => { + +/* (ignored) */ + +/***/ }), + +/***/ "?e940": +/*!********************!*\ + !*** fs (ignored) ***! + \********************/ +/***/ (() => { + +/* (ignored) */ + +/***/ }), + +/***/ "?a3b8": +/*!********************!*\ + !*** fs (ignored) ***! + \********************/ +/***/ (() => { + +/* (ignored) */ + +/***/ }), + +/***/ "?0f62": +/*!********************!*\ + !*** fs (ignored) ***! + \********************/ +/***/ (() => { + +/* (ignored) */ + +/***/ }), + +/***/ "./package.json": +/*!**********************!*\ + !*** ./package.json ***! + \**********************/ +/***/ ((module) => { + +"use strict"; +module.exports = JSON.parse('{"name":"mermaid","version":"8.13.2","description":"Markdownish syntax for generating flowcharts, sequence diagrams, class diagrams, gantt charts and git graphs.","main":"dist/mermaid.core.js","module":"dist/mermaid.esm.min.mjs","exports":{".":{"require":"./dist/mermaid.core.js","import":"./dist/mermaid.esm.min.mjs"},"./*":"./*"},"keywords":["diagram","markdown","flowchart","sequence diagram","gantt","class diagram","git graph"],"scripts":{"build:development":"webpack --progress --color","build:production":"yarn build:development --mode production --config webpack.config.prod.babel.js","build":"concurrently \\"yarn build:development\\" \\"yarn build:production\\"","postbuild":"documentation build src/mermaidAPI.js src/config.js src/defaultConfig.js --shallow -f md --markdown-toc false > docs/Setup.md","build:watch":"yarn build:development --watch","release":"yarn build","lint":"eslint src","e2e:depr":"yarn lint && jest e2e --config e2e/jest.config.js","cypress":"percy exec -- cypress run","e2e":"start-server-and-test dev http://localhost:9000/ cypress","e2e-upd":"yarn lint && jest e2e -u --config e2e/jest.config.js","dev":"webpack serve --config webpack.config.e2e.js","test":"yarn lint && jest src/.*","test:watch":"jest --watch src","prepublishOnly":"yarn build && yarn test","prepare":"yarn build"},"repository":{"type":"git","url":"https://github.com/knsv/mermaid"},"author":"Knut Sveidqvist","license":"MIT","standard":{"ignore":["**/parser/*.js","dist/**/*.js","cypress/**/*.js"],"globals":["page"]},"dependencies":{"@braintree/sanitize-url":"^3.1.0","d3":"^7.0.0","dagre":"^0.8.5","dagre-d3":"^0.6.4","dompurify":"2.3.3","graphlib":"^2.1.8","khroma":"^1.4.1","moment-mini":"^2.24.0","stylis":"^4.0.10"},"devDependencies":{"@babel/core":"^7.14.6","@babel/eslint-parser":"^7.14.7","@babel/preset-env":"^7.14.7","@babel/register":"^7.14.5","@percy/cli":"^1.0.0-beta.58","@percy/cypress":"^3.1.0","@percy/migrate":"^0.11.0","babel-jest":"^27.0.6","babel-loader":"^8.2.2","concurrently":"^6.2.2","coveralls":"^3.0.2","css-to-string-loader":"^0.1.3","cypress":"8.6.0","documentation":"13.2.0","eslint":"^8.0.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","husky":"^7.0.1","identity-obj-proxy":"^3.0.0","jest":"^27.0.6","jison":"^0.4.18","js-base64":"3.7.2","moment":"^2.23.0","path-browserify":"^1.0.1","prettier":"^2.3.2","start-server-and-test":"^1.12.6","terser-webpack-plugin":"^5.2.4","webpack":"^5.53.0","webpack-cli":"^4.7.2","webpack-dev-server":"^4.3.0","webpack-node-externals":"^3.0.0"},"files":["dist"],"sideEffects":["**/*.css","**/*.scss"],"husky":{"hooks":{"pre-push":"yarn test"}}}'); + /***/ }) -/******/ })["default"]; +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ id: moduleId, +/******/ loaded: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.loaded = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = __webpack_module_cache__; +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/compat get default export */ +/******/ (() => { +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = (module) => { +/******/ var getter = module && module.__esModule ? +/******/ () => (module['default']) : +/******/ () => (module); +/******/ __webpack_require__.d(getter, { a: getter }); +/******/ return getter; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/node module decorator */ +/******/ (() => { +/******/ __webpack_require__.nmd = (module) => { +/******/ module.paths = []; +/******/ if (!module.children) module.children = []; +/******/ return module; +/******/ }; +/******/ })(); +/******/ +/************************************************************************/ +/******/ +/******/ // module cache are used so entry inlining is disabled +/******/ // startup +/******/ // Load entry module and return exports +/******/ var __webpack_exports__ = __webpack_require__(__webpack_require__.s = "./src/mermaid.js"); +/******/ __webpack_exports__ = __webpack_exports__["default"]; +/******/ +/******/ return __webpack_exports__; +/******/ })() +; }); //# sourceMappingURL=mermaid.core.js.map \ No newline at end of file diff --git a/dist/mermaid.core.js.map b/dist/mermaid.core.js.map index 266bf61c1..ea4e542cb 100644 --- a/dist/mermaid.core.js.map +++ b/dist/mermaid.core.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://mermaid/webpack/universalModuleDefinition","webpack://mermaid/webpack/bootstrap","webpack://mermaid/./node_modules/path-browserify/index.js","webpack://mermaid/./node_modules/process/browser.js","webpack://mermaid/(webpack)/buildin/module.js","webpack://mermaid/./src/config.js","webpack://mermaid/./src/dagre-wrapper/clusters.js","webpack://mermaid/./src/dagre-wrapper/createLabel.js","webpack://mermaid/./src/dagre-wrapper/edges.js","webpack://mermaid/./src/dagre-wrapper/index.js","webpack://mermaid/./src/dagre-wrapper/intersect/index.js","webpack://mermaid/./src/dagre-wrapper/intersect/intersect-circle.js","webpack://mermaid/./src/dagre-wrapper/intersect/intersect-ellipse.js","webpack://mermaid/./src/dagre-wrapper/intersect/intersect-line.js","webpack://mermaid/./src/dagre-wrapper/intersect/intersect-node.js","webpack://mermaid/./src/dagre-wrapper/intersect/intersect-polygon.js","webpack://mermaid/./src/dagre-wrapper/intersect/intersect-rect.js","webpack://mermaid/./src/dagre-wrapper/markers.js","webpack://mermaid/./src/dagre-wrapper/mermaid-graphlib.js","webpack://mermaid/./src/dagre-wrapper/nodes.js","webpack://mermaid/./src/dagre-wrapper/shapes/note.js","webpack://mermaid/./src/dagre-wrapper/shapes/util.js","webpack://mermaid/./src/defaultConfig.js","webpack://mermaid/./src/diagrams/class/classDb.js","webpack://mermaid/./src/diagrams/class/classRenderer-v2.js","webpack://mermaid/./src/diagrams/class/classRenderer.js","webpack://mermaid/./src/diagrams/class/parser/classDiagram.jison","webpack://mermaid/./src/diagrams/class/styles.js","webpack://mermaid/./src/diagrams/class/svgDraw.js","webpack://mermaid/./src/diagrams/common/common.js","webpack://mermaid/./src/diagrams/er/erDb.js","webpack://mermaid/./src/diagrams/er/erMarkers.js","webpack://mermaid/./src/diagrams/er/erRenderer.js","webpack://mermaid/./src/diagrams/er/parser/erDiagram.jison","webpack://mermaid/./src/diagrams/er/styles.js","webpack://mermaid/./src/diagrams/flowchart/flowChartShapes.js","webpack://mermaid/./src/diagrams/flowchart/flowDb.js","webpack://mermaid/./src/diagrams/flowchart/flowRenderer-v2.js","webpack://mermaid/./src/diagrams/flowchart/flowRenderer.js","webpack://mermaid/./src/diagrams/flowchart/parser/flow.jison","webpack://mermaid/./src/diagrams/flowchart/styles.js","webpack://mermaid/./src/diagrams/gantt/ganttDb.js","webpack://mermaid/./src/diagrams/gantt/ganttRenderer.js","webpack://mermaid/./src/diagrams/gantt/parser/gantt.jison","webpack://mermaid/./src/diagrams/gantt/styles.js","webpack://mermaid/./src/diagrams/git/gitGraphAst.js","webpack://mermaid/./src/diagrams/git/gitGraphRenderer.js","webpack://mermaid/./src/diagrams/git/parser/gitGraph.jison","webpack://mermaid/./src/diagrams/git/styles.js","webpack://mermaid/./src/diagrams/info/infoDb.js","webpack://mermaid/./src/diagrams/info/infoRenderer.js","webpack://mermaid/./src/diagrams/info/parser/info.jison","webpack://mermaid/./src/diagrams/info/styles.js","webpack://mermaid/./src/diagrams/pie/parser/pie.jison","webpack://mermaid/./src/diagrams/pie/pieDb.js","webpack://mermaid/./src/diagrams/pie/pieRenderer.js","webpack://mermaid/./src/diagrams/pie/styles.js","webpack://mermaid/./src/diagrams/requirement/parser/requirementDiagram.jison","webpack://mermaid/./src/diagrams/requirement/requirementDb.js","webpack://mermaid/./src/diagrams/requirement/requirementMarkers.js","webpack://mermaid/./src/diagrams/requirement/requirementRenderer.js","webpack://mermaid/./src/diagrams/requirement/styles.js","webpack://mermaid/./src/diagrams/sequence/parser/sequenceDiagram.jison","webpack://mermaid/./src/diagrams/sequence/sequenceDb.js","webpack://mermaid/./src/diagrams/sequence/sequenceRenderer.js","webpack://mermaid/./src/diagrams/sequence/styles.js","webpack://mermaid/./src/diagrams/sequence/svgDraw.js","webpack://mermaid/./src/diagrams/state/id-cache.js","webpack://mermaid/./src/diagrams/state/parser/stateDiagram.jison","webpack://mermaid/./src/diagrams/state/shapes.js","webpack://mermaid/./src/diagrams/state/stateDb.js","webpack://mermaid/./src/diagrams/state/stateRenderer-v2.js","webpack://mermaid/./src/diagrams/state/stateRenderer.js","webpack://mermaid/./src/diagrams/state/styles.js","webpack://mermaid/./src/diagrams/user-journey/journeyDb.js","webpack://mermaid/./src/diagrams/user-journey/journeyRenderer.js","webpack://mermaid/./src/diagrams/user-journey/parser/journey.jison","webpack://mermaid/./src/diagrams/user-journey/styles.js","webpack://mermaid/./src/diagrams/user-journey/svgDraw.js","webpack://mermaid/./src/errorRenderer.js","webpack://mermaid/./src/logger.js","webpack://mermaid/./src/mermaid.js","webpack://mermaid/./src/mermaidAPI.js","webpack://mermaid/./src/styles.js","webpack://mermaid/./src/themes/index.js","webpack://mermaid/./src/themes/theme-base.js","webpack://mermaid/./src/themes/theme-dark.js","webpack://mermaid/./src/themes/theme-default.js","webpack://mermaid/./src/themes/theme-forest.js","webpack://mermaid/./src/themes/theme-helpers.js","webpack://mermaid/./src/themes/theme-neutral.js","webpack://mermaid/./src/utils.js","webpack://mermaid/external \"@braintree/sanitize-url\"","webpack://mermaid/external \"d3\"","webpack://mermaid/external \"dagre\"","webpack://mermaid/external \"dagre-d3\"","webpack://mermaid/external \"dagre-d3/lib/label/add-html-label.js\"","webpack://mermaid/external \"dompurify\"","webpack://mermaid/external \"graphlib\"","webpack://mermaid/external \"khroma\"","webpack://mermaid/external \"moment-mini\"","webpack://mermaid/external \"stylis\""],"names":["defaultConfig","Object","freeze","config","siteConfig","assignWithDepth","configFromInitialize","directives","currentConfig","updateCurrentConfig","siteCfg","_directives","cfg","sumOfDirectives","i","length","d","sanitize","theme","tmpConfigFromInitialize","themeVariables","getThemeVariables","setSiteConfig","conf","saveConfigFromInitilize","updateSiteConfig","getSiteConfig","setConfig","getConfig","options","keys","secure","forEach","key","log","debug","indexOf","addDirective","directive","fontFamily","push","reset","rect","parent","node","trace","id","shapeSvg","insert","attr","class","label","text","appendChild","createLabel","labelText","labelStyle","undefined","bbox","getBBox","evaluate","flowchart","htmlLabels","div","children","dv","select","getBoundingClientRect","width","height","padding","halfPadding","diff","JSON","stringify","style","rx","ry","x","y","rectBox","intersect","point","intersectRect","noteGroup","roundedWithTitle","classes","innerRect","append","divider","shapes","clusterElems","insertCluster","elem","shape","getClusterTitleWidth","removeChild","clear","positionCluster","info","el","applyStyle","dom","styleFn","addHtmlLabel","fo","document","createElementNS","labelClass","isNode","html","_vertexText","isTitle","vertexText","replace","s","vertexNode","svgLabel","setAttribute","rows","split","Array","isArray","j","tspan","setAttributeNS","textContent","trim","edgeLabels","terminalLabels","insertEdgeLabel","edge","labelElement","edgeLabel","startLabelLeft","startLabelElement","startEdgeLabelLeft","inner","slBox","startLeft","setTerminalWidth","startLabelRight","startEdgeLabelRight","startRight","endLabelLeft","endLabelElement","endEdgeLabelLeft","endLeft","endLabelRight","endEdgeLabelRight","endRight","value","positionEdgeLabel","paths","path","updatedPath","originalPath","pos","utils","calcLabelPosition","calcTerminalLabelPosition","arrowTypeStart","arrowTypeEnd","outsideNode","dx","Math","abs","dy","w","h","intersection","outsidePoint","insidePoint","warn","r","Q","R","q","res","_x","_y","cutPathAtIntersect","_points","boundryNode","points","lastPointOutside","isInside","inter","pointPresent","p","find","e","insertEdge","clusterDb","diagramType","graph","pointsHasChanged","tail","v","head","slice","unshift","toCluster","fromCluster","reverse","lineData","filter","Number","isNaN","curve","curveBasis","lineFunction","line","strokeClasses","thickness","pattern","svgPath","url","state","arrowMarkerAbsolute","window","location","protocol","host","pathname","search","recursiveRender","_elem","diagramtype","parentCluster","graphlib","json","write","dir","rankdir","nodes","edges","clusters","edgePaths","data","parse","clusterData","setNode","setParent","clusterNode","o","newEl","updateNodeBounds","setNodeElem","findNonClusterChild","insertNode","name","dagre","layout","sortNodesByHierarchy","positionNode","n","type","render","markers","insertMarkers","clearNodes","clearEdges","clearClusters","clearGraphlib","adjustClustersAndEdges","circle","ellipse","polygon","intersectCircle","intersectEllipse","cx","cy","px","py","det","sqrt","intersectLine","p1","p2","q1","q2","a1","a2","b1","b2","c1","c2","r1","r2","r3","r4","denom","offset","num","sameSign","module","exports","intersectNode","intersectPolygon","polyPoints","x1","y1","intersections","minX","POSITIVE_INFINITY","minY","entry","min","left","top","sort","pdx","pdy","distp","qdx","qdy","distq","sx","sy","markerArray","markerName","extension","composition","aggregation","dependency","cross","barb","decendants","parents","isDecendant","ancenstorId","edgeInCluster","clusterId","copy","newGraph","rootId","setEdge","error","removeNode","extractDecendants","concat","validate","_id","getAnchorId","externalConnections","depth","d1","d2","removeEdge","extractor","hasChildren","graphSettings","clusterGraph","Graph","multigraph","compound","setGraph","nodesep","ranksep","marginx","marginy","setDefaultEdgeLabel","sorter","result","assign","sorted","question","labelHelper","questionElem","insertPolygonShape","choice","domId","map","join","hexagon","f","m","hex","rect_left_inv_arrow","lean_right","lean_left","trapezoid","inv_trapezoid","rect_right_inv_arrow","cylinder","rectWithTitle","innerLine","text2","flat","title","textRows","titleBox","descr","stadium","subroutine","start","forkJoin","end","innerCircle","class_box","rowPadding","lineHeight","topLine","bottomLine","maxWidth","maxHeight","labelContainer","verticalPos","hasInterface","classData","annotations","interfaceLabelText","interfaceLabel","interfaceBBox","classTitleString","classTitleLabel","classTitleBBox","classAttributes","members","str","parsedInfo","parseMember","parsedText","displayText","lbl","cssStyle","classMethods","methods","diffX","note","fork","nodeElems","link","linkTarget","tooltip","haveCallback","_classes","element","themeCSS","maxTextSize","logLevel","securityLevel","startOnLoad","deterministicIds","deterministicIDSeed","diagramPadding","nodeSpacing","rankSpacing","useMaxWidth","defaultRenderer","sequence","activationWidth","diagramMarginX","diagramMarginY","actorMargin","boxMargin","boxTextMargin","noteMargin","messageMargin","messageAlign","mirrorActors","forceMenus","bottomMarginAdj","rightAngles","showSequenceNumbers","actorFontSize","actorFontFamily","actorFontWeight","noteFontSize","noteFontFamily","noteFontWeight","noteAlign","messageFontSize","messageFontFamily","messageFontWeight","wrap","wrapPadding","labelBoxWidth","labelBoxHeight","messageFont","fontSize","fontWeight","noteFont","actorFont","gantt","titleTopMargin","barHeight","barGap","topPadding","rightPadding","leftPadding","gridLineStartPadding","sectionFontSize","numberSectionStyles","axisFormat","topAxis","useWidth","journey","leftMargin","taskFontSize","taskFontFamily","taskMargin","textPlacement","actorColours","sectionFills","sectionColours","git","dividerMargin","sizeUnit","textHeight","titleShift","forkWidth","forkHeight","miniPadding","fontSizeFactor","labelHeight","edgeLengthFactor","compositTitleSize","radius","er","layoutDirection","minEntityWidth","minEntityHeight","entityPadding","stroke","fill","pie","requirement","rect_fill","text_color","rect_border_size","rect_border_color","rect_min_width","rect_min_height","rect_padding","line_height","keyify","obj","prefix","reduce","configKeys","MERMAID_DOM_ID_PREFIX","relations","classCounter","funs","parseDirective","statement","context","mermaidAPI","splitClassNameAndType","genericType","className","addClass","classId","cssClasses","lookUpDomId","classKeys","setupToolTips","getClass","getClasses","getRelations","addRelation","relation","id1","id2","addAnnotation","annotation","validatedClassName","addMember","member","theClass","memberString","startsWith","endsWith","substring","addMembers","cleanupLabel","substr","setCssClass","ids","match","setTooltip","configApi","common","sanitizeText","setLink","linkStr","target","formatUrl","setClickEvent","functionName","functionArgs","setClickFunc","elemId","argList","item","charAt","querySelector","addEventListener","runFunc","bindFunctions","fun","lineType","LINE","DOTTED_LINE","relationType","AGGREGATION","EXTENSION","COMPOSITION","DEPENDENCY","tooltipElem","_groups","svg","selectAll","on","transition","duration","scrollX","right","scrollY","body","scrollTop","classed","direction","getDirection","setDirection","parser","yy","classDb","idCache","addClasses","g","vertex","cssClassStr","styles","radious","_shape","addRelations","cnt","defaultStyle","defaultLabelStyle","edgeData","arrowhead","relationTitle1","relationTitle2","getArrowMarker","type1","type2","getStylesFromArray","interpolate","interpolateToCurve","curveLinear","defaultInterpolate","arrowheadStyle","labelpos","labelType","lineBreakRegex","getGraphId","setConf","cnf","drawOld","diagram","isMultiGraph","classDef","svgDraw","drawClass","drawEdge","svgBounds","configureSvgSize","vBox","draw","_label","labels","querySelectorAll","k","dim","insertBefore","firstChild","marker","getStyles","nodeBorder","classText","mainBkg","lineColor","edgeCount","getRelationType","l","labelPosition","p1_card_x","p1_card_y","p2_card_x","p2_card_y","cardinality_1_point","calcCardinalityPosition","cardinality_2_point","bounds","classInfo","isFirst","titleText2","classTitle","titleHeight","membersLine","addTspan","membersBox","methodsLine","method","classBox","rectWidth","childNodes","fieldRegEx","methodRegEx","fieldMatch","methodMatch","buildFieldDisplay","buildMethodDisplay","buildLegacyDisplay","visibility","fieldType","parseGenericTypes","fieldName","classifier","parseClassifier","err","methodName","parameters","returnType","memberText","methodStart","methodEnd","firstChar","textEl","txt","tSpan","cleanedText","getRows","breakToPlaceholder","removeScript","rs","idx","sanitizeMore","level","placeholderToBreak","console","DOMPurify","hasBreaks","test","splitBreaks","getUrl","useAbsolute","val","entities","relationships","Cardinality","ZERO_OR_ONE","ZERO_OR_MORE","ONE_OR_MORE","ONLY_ONE","Identification","NON_IDENTIFYING","IDENTIFYING","addEntity","attributes","getEntities","addAttributes","entityName","attribs","entity","attributeName","addRelationship","entA","rolA","entB","rSpec","rel","entityA","roleA","entityB","relSpec","getRelationships","setTitle","getTitle","ERMarkers","ONLY_ONE_START","ONLY_ONE_END","ZERO_OR_ONE_START","ZERO_OR_ONE_END","ONE_OR_MORE_START","ONE_OR_MORE_END","ZERO_OR_MORE_START","ZERO_OR_MORE_END","drawAttributes","groupNode","entityTextNode","heightPadding","widthPadding","attrFontSize","labelBBox","attributeNodes","hasKeyType","hasComment","maxTypeWidth","maxNameWidth","maxKeyWidth","maxCommentWidth","cumulativeHeight","attrNum","attrPrefix","nodeWidth","nodeHeight","typeNode","attributeType","nameNode","attributeNode","tn","nn","typeBBox","nameBBox","max","attributeKeyType","keyTypeNode","kn","keyTypeBBox","attributeComment","commentNode","cn","commentNodeBBox","bBox","spareWidth","heightOffset","attribStyle","alignY","typeRect","parseFloat","drawEntities","svgNode","firstOne","textId","textNode","entityWidth","entityHeight","rectNode","rectBBox","adjustEntities","getEdgeName","addRelationships","relationship","relCnt","drawRelationshipFromLayout","relType","erDb","cardA","erMarkers","cardB","len","getTotalLength","labelPoint","getPointAtLength","labelId","labelNode","erParser","directed","edgesep","firstEntity","tertiaryColor","dagreD3","addToRender","addToRenderV2","addShape","vertexCounter","vertices","subGraphs","subGraphLookup","tooltips","subCount","firstGraphFlag","version","veritceKeys","addVertex","addSingleLink","_start","_end","linktext","addLink","updateLinkInterpolate","positions","interp","updateLink","isSubstringInArray","textStyles","newStyle1","newStyle2","setClass","setClickFun","getTooltip","getVertices","getEdges","ver","setGen","addSubGraph","list","_title","uniq","a","prims","boolean","number","string","objs","nodeList","stmt","hasOwnProperty","apply","nl","subGraph","makeUniq","getPosForId","secCount","posCrossRef","indexNodes2","count","posCount","childPos","getDepthFirstPos","indexNodes","getSubGraphs","firstGraph","destructStartLink","_str","countChar","char","destructEndLink","dots","destructLink","_startStr","startInfo","exists","allSgs","sg","allSubgraphs","lex","addVertices","vert","svgId","classStr","parentNode","flowDb","addEdges","linkIdCnt","defaultStyles","linkIdBase","linkId","linkNameStart","linkNameEnd","minlen","flow","subG","linkNode","Render","flowChartShapes","arrows","none","normal","util","clusterRects","clusterEl","xPos","baseVal","yPos","cluster","te","classList","add","nodeTextColor","textColor","titleColor","arrowheadColor","edgeLabelBackground","clusterBkg","clusterBorder","border2","dateFormat","todayMarker","excludes","sections","tasks","currentSection","tags","inclusiveEndDates","lastOrder","taskCnt","lastTask","lastTaskID","rawTasks","setAxisFormat","getAxisFormat","setTodayMarker","getTodayMarker","setDateFormat","enableInclusiveEndDates","endDatesAreInclusive","enableTopAxis","topAxisEnabled","getDateFormat","setExcludes","toLowerCase","getExcludes","addSection","getSections","getTasks","allItemsPricessed","compileTasks","maxDepth","iterationCount","isInvalidDate","date","isoWeekday","format","checkTaskDates","task","manualEndTime","startTime","moment","endTime","renderEndTime","fixTaskDates","toDate","invalid","getStartDate","prevTime","re","afterStatement","exec","latestEndingTask","findTaskById","dt","Date","setHours","mDate","isValid","durationToDate","durationStatement","relativeTime","getEndDate","inclusive","parseId","idStr","compileData","prevTask","dataStr","ds","getTaskTags","endTimeData","parseData","prevTaskId","startData","taskDb","addTask","rawTask","section","processed","raw","taskInfo","active","done","crit","milestone","order","addTaskOrg","newTask","description","compileTask","allProcessed","_linkStr","sanitizeUrl","pushFun","open","callbackFunction","matchFound","t","regex","RegExp","shift","ganttDb","getElementById","parentElement","offsetWidth","taskArray","timeScale","scaleTime","domain","rangeRound","categories","catsUnfiltered","checkUnique","taskCompare","b","taskA","taskB","makeGant","pageWidth","pageHeight","gap","colorScale","scaleLinear","range","interpolateHcl","makeGrid","drawRects","vertLabels","drawToday","theArray","theGap","theTopPad","theSidePad","theBarHeight","theColorScale","enter","rectangles","toString","secNum","taskClass","startX","endX","textWidth","taskType","bottomXAxis","axisBottom","tickSize","tickFormat","timeFormat","call","topXAxis","axisTop","numOccurances","prevGap","getCount","todayG","today","todayLine","arr","hash","getCounts","word","sectionBkgColor","sectionBkgColor2","altSectionBkgColor","ganttFontSize","gridColor","todayLineColor","taskTextDarkColor","taskTextClickableColor","taskTextColor","taskBkgColor","taskBorderColor","taskTextOutsideColor","activeTaskBkgColor","activeTaskBorderColor","doneTaskBorderColor","doneTaskBkgColor","critBorderColor","critBkgColor","commits","branches","master","curBranch","seq","getId","random","isfastforwardable","currentCommit","otherCommit","isReachableFrom","currentSeq","otherSeq","uniqBy","fn","recordMap","create","out","setOptions","rawOptString","message","getOptions","commit","msg","branch","merge","otherBranch","checkout","commitRef","ref","parentCount","parseInt","upsert","newval","index","splice","prettyPrintCommitHistory","commitArr","c","newCommit","nextCommit","prettyPrint","getCommitsArray","getBranchesAsObjArray","branchArr","getBranches","getCommits","getCurrentBranch","getHead","allCommitsDict","branchNum","nodeFillColor","nodeStrokeWidth","nodeStrokeColor","lineStrokeWidth","branchOffset","branchColors","nodeRadius","nodeLabel","apiConfig","svgCreateDefs","svgDrawLine","colorIdx","color","lineGen","round","getElementCoords","coords","ctm","getCTM","xn","yn","svgDrawLineForCommits","fromId","toId","fromBbox","toBbox","lineStart","lineEnd","cloneNode","selector","renderCommitHistory","commitid","numCommits","size","branchName","renderLines","branchColor","lineDrawn","gitGraphParser","db","setMessage","getMessage","setInfo","inf","getInfo","infoParser","showData","setShowData","toggle","getShowData","cleanupValue","pieParser","pieData","margin","legendRectSize","legendSpacing","sum","myGeneratedColors","pie1","pie2","pie3","pie4","pie5","pie6","pie7","pie8","pie9","pie10","pie11","pie12","scaleOrdinal","d3pie","dataReady","entries","arcGenerator","arc","innerRadius","outerRadius","toFixed","centroid","legend","horz","pieStrokeColor","pieStrokeWidth","pieOpacity","pieTitleTextSize","pieTitleTextColor","pieSectionTextColor","pieSectionTextSize","pieLegendTextColor","pieLegendTextSize","latestRequirement","requirements","latestElement","elements","RequirementType","REQUIREMENT","FUNCTIONAL_REQUIREMENT","INTERFACE_REQUIREMENT","PERFORMANCE_REQUIREMENT","PHYSICAL_REQUIREMENT","DESIGN_CONSTRAINT","RiskLevel","LOW_RISK","MED_RISK","HIGH_RISK","VerifyType","VERIFY_ANALYSIS","VERIFY_DEMONSTRATION","VERIFY_INSPECTION","VERIFY_TEST","Relationships","CONTAINS","COPIES","DERIVES","SATISFIES","VERIFIES","REFINES","TRACES","addRequirement","risk","verifyMethod","getRequirements","setNewReqId","setNewReqText","setNewReqRisk","setNewReqVerifyMethod","addElement","docRef","getElements","setNewElementType","setNewElementDocRef","src","dst","req","ReqMarkers","ARROW","insertLineEndings","containsNode","newRectNode","newTitleNode","txts","textStr","yPadding","linePadding","totalY","titleNode","newBodyNode","yStart","currentRow","charLimit","wrappedTxts","currentTextLen","firstPart","lastStr","addEdgeLabel","elementString","requirementDb","drawReqs","reqs","reqName","titleNodeInfo","bodyNode","drawElements","els","elName","relationColor","requirementBackground","requirementBorderColor","requirementBorderSize","requirementTextColor","relationLabelBackground","relationLabelColor","prevActor","actors","messages","notes","titleWrapped","sequenceNumbersEnabled","wrapEnabled","addActor","old","autoWrap","links","properties","actorCnt","rectData","nextActor","activationCount","part","LINETYPE","ACTIVE_START","from","actor","ACTIVE_END","addMessage","idFrom","idTo","answer","to","addSignal","messageType","Error","token","loc","first_line","last_line","first_column","last_column","expected","getMessages","getActors","getActor","getActorKeys","getTitleWrapped","enableSequenceNumbers","setWrap","wrapSetting","parseMessage","SOLID","DOTTED","NOTE","SOLID_CROSS","DOTTED_CROSS","SOLID_OPEN","DOTTED_OPEN","LOOP_START","LOOP_END","ALT_START","ALT_ELSE","ALT_END","OPT_START","OPT_END","PAR_START","PAR_AND","PAR_END","RECT_START","RECT_END","SOLID_POINT","DOTTED_POINT","ARROWTYPE","FILLED","OPEN","PLACEMENT","LEFTOF","RIGHTOF","OVER","addNote","placement","addLinks","actorId","insertLinks","addALink","sep","addProperties","insertProperties","addDetails","innerHTML","details","getActorProperty","titleWrap","param","signalType","loopText","optText","altText","parText","sequenceDb","startx","stopx","starty","stopy","sequenceItems","activations","models","getHeight","loops","it","acc","actorModel","addLoop","loopModel","msgModel","noteModel","lastActor","lastLoop","lastMessage","lastNote","init","updateVal","updateBounds","_self","updateFn","updateItemBounds","_startx","_stopx","_starty","_stopy","newActivation","actorRect","stackedSize","actorActivations","anchored","anchorElement","endActivation","lastActorActivationIdx","activation","lastIndexOf","createLoop","newLoop","endLoop","pop","addSectionToLoop","loop","sectionTitles","getVerticalPos","bumpVerticalPos","bump","getBounds","drawNote","getNoteRect","rectElem","drawRect","textObj","getTextObj","anchor","textMargin","valign","textElem","drawText","curr","drawMessage","sequenceIndex","lines","textDims","calculateTextDimensions","totalOffset","lineStarty","fromBounds","toBounds","drawActors","actorKeys","prevWidth","prevMargin","drawActor","drawActorsPopup","minMenuWidth","getRequiredPopupWidth","menuDimensions","drawPopup","activationBounds","actorObj","adjustLoopHeightForWrap","loopWidths","preMargin","postMargin","addLoopFn","heightAdjust","loopWidth","textConf","wrapLabel","maxMessageWidthPerActor","getMaxMessageWidthPerActor","calculateActorMargins","insertComputerIcon","insertDatabaseIcon","insertClockIcon","calculateLoopBounds","insertArrowHead","insertArrowCrossHead","insertArrowFilledHead","insertSequenceNumber","activeEnd","activationData","drawActivation","drawLoop","drawBackgroundRect","includes","fixLifeLineHeights","requiredBoxSize","box","actorLines","boxHeight","boxWidth","extraVertForTitle","isNote","isMessage","textFont","wrappedMessage","messageDimensions","messageWidth","requiredPopupWidth","labelDimensions","labelWidth","actorToMessageWidth","prop","actDims","actorKey","actorWidth","buildNoteModel","shouldWrap","textDimensions","buildMessageModel","process","fromIdx","toIdx","allBounds","boundedWidth","msgDims","stack","current","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","toAdd","enabled","stk","actorBorder","actorBkg","actorTextColor","actorLineColor","signalColor","sequenceNumberColor","signalTextColor","labelBoxBorderColor","labelBoxBkgColor","labelTextColor","loopTextColor","noteBorderColor","noteBkgColor","noteTextColor","activationBkgColor","activationBorderColor","textAttrs","displayValue","popupMenu","popdownMenu","actorClass","menuWidth","linkY","linkElem","sanitizedLink","_drawMenuItemTextCandidateFunc","drawImage","imageElem","drawEmbeddedImage","popid","textData","prevTextHeight","textElems","yfunc","dominantBaseline","alignmentBaseline","span","drawLabel","txtObject","genPoints","cut","drawActorTypeParticipant","center","boxpluslineGroup","cssclass","iconSrc","_drawTextCandidateFunc","drawActorTypeActor","actElem","drawLoopLine","sectionHeight","lower","defs","byText","content","_setTextAttrs","byTspan","byFo","toText","fromTextAttrsDict","set","get","drawStartState","drawDivider","drawSimpleState","stateDef","drawDescrState","descriptions","isSecond","descrLine","descrBox","addTitleAndBox","altBkg","pad","dblPad","orgBox","orgWidth","orgX","titleWidth","graphBox","doc","lineY","drawEndState","drawForkJoinState","parentId","tmp","nText","_drawLongText","_text","tHeight","textBounds","drawState","stateInfo","stateBox","stateDb","titleRows","boundstmp","heightAdj","clone","rootDoc","setRootDoc","getRootDoc","docTranslator","first","state1","state2","currentDoc","newNode","generateId","docNode","getRootDocV2","extract","_doc","addState","newDoc","states","documents","root","currentDocument","startCnt","endCnt","addDescription","des","getState","getStates","logDocuments","_id1","_id2","_descr","theState","dividerCnt","getDividerId","trimColon","nodeDb","setupNode","altFlag","getDir","nodeData","noteData","groupData","position","arrowType","setupDoc","startId","endId","defaultDir","transformationLog","renderDoc","svgWidth","getLabelWidth","edgeFreeDoc","ranker","nodeSep","sub","boxBounds","noteDef","nodeCount","svgElem","dividers","pWidth","pShift","getAttribute","transitionColor","stateLabelColor","background","labelBackgroundColor","transitionLabelColor","tertiaryTextColor","specialStateColor","innerEndBackground","compositeBackground","stateBkg","stateBorder","compositeTitleBackground","altBackground","allItemsProcessed","updateActors","tempActors","people","unique","Set","taskData","pieces","score","peeps","peopleList","journeyDb","drawActorLegend","person","colour","circleData","drawCircle","labelData","LEFT_MARGIN","initGraphics","actorNames","actorPos","actorName","drawTasks","fills","textColours","lastSection","sectionVHeight","taskPos","sectionNumber","drawSection","taskActors","drawTask","faceColor","fillType0","fillType1","fillType2","fillType3","fillType4","fillType5","fillType6","fillType7","actor0","actor1","actor2","actor3","actor4","actor5","drawFace","faceData","circleElement","face","smile","d3arc","startAngle","PI","endAngle","sad","ambivalent","labelMargin","taskCount","graphics","LEVELS","fatal","setLogLevel","bind","time","arguments","mermaid","sequenceConfig","callback","Node","ganttConfig","idGeneratior","initIdGeneratior","next","entityDecode","detectInit","svgCode","parseError","initialize","contentLoaded","graphInit","reinitialize","graphType","detectType","gitGraphAst","flowParser","sequenceParser","ganttParser","classParser","stateParser","infoDb","pieDb","journeyParser","requirementParser","encodeEntities","innerTxt","isInt","decodeEntities","_txt","cb","container","existingSvg","remove","userStyles","altFontFamily","flowRenderer","stylis","serialize","compile","rules","style1","createElement","gitGraphRenderer","flowRendererV2","sequenceDiagram","sequenceRenderer","ganttRenderer","classRenderer","classRendererV2","stateRenderer","stateRendererV2","infoRenderer","pkg","pieRenderer","erRenderer","journeyRenderer","requirementRenderer","errorRenderer","currentDirective","args","handleDirective","directiveSanitizer","updateRendererConfigs","default","globalReset","themes","classDiagram","stateDiagram","calcThemeVariables","userOverRides","calcColors","errorBkgColor","errorTextColor","base","baseThemeVariables","dark","darkThemeVariables","defaultThemeVariables","forest","forestThemeVariables","neutral","neutralThemeVariables","Theme","darkMode","primaryColor","primaryTextColor","secondaryColor","adjust","primaryBorderColor","mkBorder","secondaryBorderColor","tertiaryBorderColor","secondaryTextColor","invert","nodeBkg","defaultLinkColor","darken","lighten","taskTextLightColor","compositeBorder","overrides","updateColors","userOverrides","calculate","secondBkg","mainContrastColor","darkTextColor","border1","rgba","labelBackground","labelColor","col","contrast","critical","d3CurveTypes","curveBasisClosed","curveBasisOpen","curveLinearClosed","curveMonotoneX","curveMonotoneY","curveNatural","curveStep","curveStepAfter","curveStepBefore","directiveWithoutOpen","anyComment","inits","detectDirective","results","commentWithoutDirectives","source","lastIndex","memoize","resolver","cache","defaultCurve","curveName","toUpperCase","arrPaths","fnName","params","distance","pow","traverseEdge","prevPoint","totalDistance","remainingDistance","vectorDistance","distanceRatio","isRelationTypePresent","initialPosition","distanceToCardinalityPoint","angle","atan2","cardinalityPosition","sin","cos","terminalMarkerSize","makeid","characters","charactersLength","floor","clobber","drawSimpleText","joinWith","words","completedLines","nextLine","wordLength","calculateTextWidth","nextLineLength","breakString","hyphenatedStrings","remainingWord","Boolean","currentWord","isLastWord","hyphenCharacter","currentLine","character","lineWidth","currentCharacter","isLastLine","hyphenatedNextLine","calculateTextHeight","fontFamilies","dims","cheight","d3Attrs","d3Elem","attrs","calculateSvgSizeAttrs","Map","deterministic","seed","now","decoder","escape","unescape","arg"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;QCVA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;;;;;;;;;;;;;;;;;AClFA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,QAAQ;AACxC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,MAAM;AAChB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,oCAAoC,8BAA8B;AAClE;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,oBAAoB;AAC9B;AACA;;AAEA;AACA,UAAU,UAAU;AACpB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA,+BAA+B,sBAAsB;AACrD;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,QAAQ;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,2BAA2B,QAAQ;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,QAAQ;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,eAAe;AAClC;AACA;AACA;AACA;;AAEA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;;;;;;;;;;;;;AC7SA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qCAAqC;;AAErC;AACA;AACA;;AAEA,2BAA2B;AAC3B;AACA;AACA;AACA,4BAA4B,UAAU;;;;;;;;;;;;ACvLtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrBA;AACA;AACA;CAGA;;AAEO,IAAMA,aAAa,GAAGC,MAAM,CAACC,MAAP,CAAcC,sDAAd,CAAtB;AAEP,IAAIC,UAAU,GAAGC,8DAAe,CAAC,EAAD,EAAKL,aAAL,CAAhC;AACA,IAAIM,oBAAJ;AACA,IAAIC,UAAU,GAAG,EAAjB;AACA,IAAIC,aAAa,GAAGH,8DAAe,CAAC,EAAD,EAAKL,aAAL,CAAnC;AAEO,IAAMS,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACC,OAAD,EAAUC,WAAV,EAA0B;AAC3D;AACA,MAAIC,GAAG,GAAGP,8DAAe,CAAC,EAAD,EAAKK,OAAL,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A;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAMtK,MAAM,GAAG;AACb;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEe,OAAK,EAAE,SAfM;AAgBbE,gBAAc,EAAEF,+CAAK,CAAC,SAAD,CAAL,CAAiBG,iBAAjB,EAhBH;AAiBbka,UAAQ,EAAE9X,SAjBG;;AAkBb;AACA+X,aAAW,EAAE,KAnBA;;AAqBb;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACEjZ,YAAU,EAAE,6CA7BC;;AA+Bb;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEkZ,UAAQ,EAAE,CA7CG;;AA+Cb;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEC,eAAa,EAAE,QA1DF;;AA4Db;AACF;AACA;AACA;AACA;AACA;AACA;AACEC,aAAW,EAAE,IAnEA;;AAqEb;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEhO,qBAAmB,EAAE,KAjFR;;AAmFb;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEE5L,QAAM,EAAE,CAAC,QAAD,EAAW,eAAX,EAA4B,aAA5B,EAA2C,aAA3C,CA7FK;;AA+Fb;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACE6Z,kBAAgB,EAAE,KAzGL;;AA2Gb;AACF;AACA;AACA;AACEC,qBAAmB,EAAEpY,SA/GR;;AAiHb;AACF;AACA;AACEI,WAAS,EAAE;AACT;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACIiY,kBAAc,EAAE,CAZP;;AAcT;AACJ;AACA;AACA;AACA;AACA;AACA;AACIhY,cAAU,EAAE,IArBH;;AAuBT;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACIiY,eAAW,EAAE,EAlCJ;;AAoCT;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACIC,eAAW,EAAE,EA/CJ;;AAiDT;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACI/O,SAAK,EAAE,OA1DE;AA2DT;AACA;AACA3I,WAAO,EAAE,EA7DA;;AA+DT;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACI2X,eAAW,EAAE,IA3EJ;;AA6ET;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACIC,mBAAe,EAAE;AA1FR,GApHE;;AAiNb;AACF;AACA;AACEC,UAAQ,EAAE;AACR;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACIC,mBAAe,EAAE,EATT;;AAWR;AACJ;AACA;AACA;AACA;AACA;AACA;AACIC,kBAAc,EAAE,EAlBR;;AAoBR;AACJ;AACA;AACA;AACA;AACA;AACA;AACIC,kBAAc,EAAE,EA3BR;;AA6BR;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACIC,eAAW,EAAE,EArCL;;AAuCR;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACInY,SAAK,EAAE,GA/CC;;AAiDR;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACIC,UAAM,EAAE,EAzDA;;AA2DR;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACImY,aAAS,EAAE,EAnEH;;AAqER;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACIC,iBAAa,EAAE,CA7EP;;AA+ER;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACIC,cAAU,EAAE,EAvFJ;;AAyFR;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACIC,iBAAa,EAAE,EAjGP;;AAmGR;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACIC,gBAAY,EAAE,QA3GN;;AA6GR;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACIC,gBAAY,EAAE,IArHN;;AAuHR;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACIC,cAAU,EAAE,KAhIJ;;AAkIR;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACIC,mBAAe,EAAE,CA7IT;;AA+IR;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACId,eAAW,EAAE,IA1JL;;AA4JR;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACIe,eAAW,EAAE,KAvKL;;AAyKR;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACIC,uBAAmB,EAAE,KAjLb;;AAmLR;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACIC,iBAAa,EAAE,EA3LP;;AA6LR;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACIC,mBAAe,EAAE,2BArMT;;AAuMR;AACJ;AACA;AACA;AACA;AACA;AACIC,mBAAe,EAAE,GA7MT;;AA+MR;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACIC,gBAAY,EAAE,EAvNN;;AAyNR;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACIC,kBAAc,EAAE,4CAjOR;;AAmOR;AACJ;AACA;AACA;AACA;AACA;AACIC,kBAAc,EAAE,GAzOR;;AA2OR;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACIC,aAAS,EAAE,QAnPH;;AAqPR;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACIC,mBAAe,EAAE,EA7PT;;AA+PR;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACIC,qBAAiB,EAAE,4CAvQX;;AAyQR;AACJ;AACA;AACA;AACA;AACA;AACIC,qBAAiB,EAAE,GA/QX;;AAiRR;AACJ;AACA;AACA;AACA;AACA;AACIC,QAAI,EAAE,KAvRE;;AAyRR;AACJ;AACA;AACA;AACA;AACA;AACIC,eAAW,EAAE,EA/RL;;AAiSR;AACJ;AACA;AACA;AACA;AACA;AACIC,iBAAa,EAAE,EAvSP;;AAySR;AACJ;AACA;AACA;AACA;AACA;AACIC,kBAAc,EAAE,EA/SR;AAiTRC,eAAW,EAAE,uBAAY;AACvB,aAAO;AACLzb,kBAAU,EAAE,KAAKmb,iBADZ;AAELO,gBAAQ,EAAE,KAAKR,eAFV;AAGLS,kBAAU,EAAE,KAAKP;AAHZ,OAAP;AAKD,KAvTO;AAwTRQ,YAAQ,EAAE,oBAAY;AACpB,aAAO;AACL5b,kBAAU,EAAE,KAAK+a,cADZ;AAELW,gBAAQ,EAAE,KAAKZ,YAFV;AAGLa,kBAAU,EAAE,KAAKX;AAHZ,OAAP;AAKD,KA9TO;AA+TRa,aAAS,EAAE,qBAAY;AACrB,aAAO;AACL7b,kBAAU,EAAE,KAAK4a,eADZ;AAELc,gBAAQ,EAAE,KAAKf,aAFV;AAGLgB,kBAAU,EAAE,KAAKd;AAHZ,OAAP;AAKD;AArUO,GApNG;;AA4hBb;AACF;AACA;AACEiB,OAAK,EAAE;AACL;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACIC,kBAAc,EAAE,EAXX;;AAaL;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACIC,aAAS,EAAE,EArBN;;AAuBL;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACIC,UAAM,EAAE,CA/BH;;AAiCL;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACIC,cAAU,EAAE,EAzCP;;AA2CL;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACIC,gBAAY,EAAE,EAnDT;;AAqDL;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACIC,eAAW,EAAE,EA7DR;;AA+DL;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACIC,wBAAoB,EAAE,EAvEjB;;AAyEL;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACIX,YAAQ,EAAE,EAjFL;;AAmFL;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACIY,mBAAe,EAAE,EA3FZ;;AA6FL;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACIC,uBAAmB,EAAE,CArGhB;;AAuGL;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACIC,cAAU,EAAE,UAlHP;;AAoHL;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACI9C,eAAW,EAAE,IAhIR;;AAkIL;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACI+C,WAAO,EAAE,KA5IJ;AA8ILC,YAAQ,EAAExb;AA9IL,GA/hBM;;AAgrBb;AACF;AACA;AACEyb,SAAO,EAAE;AACP;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACI7C,kBAAc,EAAE,EATT;;AAWP;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACIC,kBAAc,EAAE,EAnBT;;AAqBP;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACI6C,cAAU,EAAE,GA7BL;;AA+BP;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACI/a,SAAK,EAAE,GAvCA;;AAyCP;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACIC,UAAM,EAAE,EAjDD;;AAmDP;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACImY,aAAS,EAAE,EA3DJ;;AA6DP;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACIC,iBAAa,EAAE,CArER;;AAuEP;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACIC,cAAU,EAAE,EA/EL;;AAiFP;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACIC,iBAAa,EAAE,EA5FR;;AA8FP;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACIC,gBAAY,EAAE,QAtGP;;AAwGP;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACIG,mBAAe,EAAE,CAnHV;;AAqHP;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACId,eAAW,EAAE,IAjIN;;AAmIP;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACIe,eAAW,EAAE,KA9IN;AA+IPoC,gBAAY,EAAE,EA/IP;AAgJPC,kBAAc,EAAE,2BAhJT;AAiJPC,cAAU,EAAE,EAjJL;AAkJP;AACAlD,mBAAe,EAAE,EAnJV;AAqJP;AACAmD,iBAAa,EAAE,IAtJR;AAuJPC,gBAAY,EAAE,CAAC,SAAD,EAAY,SAAZ,EAAuB,SAAvB,EAAkC,SAAlC,EAA6C,SAA7C,EAAwD,SAAxD,CAvJP;AAyJPC,gBAAY,EAAE,CAAC,SAAD,EAAY,SAAZ,EAAuB,SAAvB,EAAkC,SAAlC,EAA6C,SAA7C,EAAwD,SAAxD,EAAmE,SAAnE,CAzJP;AA0JPC,kBAAc,EAAE,CAAC,MAAD;AA1JT,GAnrBI;AA+0Bbxc,OAAK,EAAE;AACLyK,uBAAmB,EAAE,KADhB;;AAGL;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACIsO,eAAW,EAAE,IAfR;;AAgBL;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACIC,mBAAe,EAAE;AA7BZ,GA/0BM;AA82BbyD,KAAG,EAAE;AACHhS,uBAAmB,EAAE,KADlB;AAGHsR,YAAQ,EAAExb,SAHP;;AAKH;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACIwY,eAAW,EAAE;AAjBV,GA92BQ;AAi4BbvO,OAAK,EAAE;AACLkS,iBAAa,EAAE,EADV;AAELC,YAAQ,EAAE,CAFL;AAGLvb,WAAO,EAAE,CAHJ;AAILwb,cAAU,EAAE,EAJP;AAKLC,cAAU,EAAE,CAAC,EALR;AAMLrD,cAAU,EAAE,EANP;AAOLsD,aAAS,EAAE,EAPN;AAQLC,cAAU,EAAE,CARP;AASL;AACAC,eAAW,EAAE,CAVR;AAWL;AACA;AACAC,kBAAc,EAAE,IAbX;AAcLlC,YAAQ,EAAE,EAdL;AAeLmC,eAAW,EAAE,EAfR;AAgBLC,oBAAgB,EAAE,IAhBb;AAiBLC,qBAAiB,EAAE,EAjBd;AAkBLC,UAAM,EAAE,CAlBH;;AAmBL;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACItE,eAAW,EAAE,IA/BR;;AAgCL;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACIC,mBAAe,EAAE;AA7CZ,GAj4BM;;AAi7Bb;AACF;AACA;AACEsE,IAAE,EAAE;AACF;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACI1E,kBAAc,EAAE,EAZd;;AAcF;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACI2E,mBAAe,EAAE,IA3Bf;;AA6BF;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACIC,kBAAc,EAAE,GAtCd;;AAwCF;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACIC,mBAAe,EAAE,EAjDf;;AAmDF;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACIC,iBAAa,EAAE,EA9Db;;AAgEF;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACIC,UAAM,EAAE,MAxEN;;AA0EF;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACIC,QAAI,EAAE,UAlFJ;;AAoFF;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACI7C,YAAQ,EAAE,EA9FR;;AAgGF;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACIhC,eAAW,EAAE;AA7GX,GAp7BS;;AAoiCb;AACF;AACA;AACE8E,KAAG,EAAE;AACH9B,YAAQ,EAAExb,SADP;;AAGH;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACIwY,eAAW,EAAE;AAhBV,GAviCQ;;AA0jCb;AACF;AACA;AACE+E,aAAW,EAAE;AACX/B,YAAQ,EAAExb,SADC;;AAGX;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACIwY,eAAW,EAAE,IAhBF;AAkBXgF,aAAS,EAAE,SAlBA;AAmBXC,cAAU,EAAE,MAnBD;AAoBXC,oBAAgB,EAAE,OApBP;AAqBXC,qBAAiB,EAAE,MArBR;AAsBXC,kBAAc,EAAE,GAtBL;AAuBXC,mBAAe,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D,EAAUjlB,MAAV,EAAkBD,KAAlB,EAAyB7C,IAAI,CAAC0a,WAA9B,CAAhB,CApFsC,CAsFtC;;AACA,MAAM6N,IAAI,aAAMF,SAAS,CAAC9kB,CAAV,GAAcR,OAApB,cAA+BslB,SAAS,CAAC7kB,CAAV,GAAcT,OAA7C,cAAwDF,KAAxD,cAAiEC,MAAjE,CAAV;AACAnC,6CAAG,CAACC,KAAJ,mBAAqB2nB,IAArB;AACAR,SAAO,CAACrmB,IAAR,CAAa,SAAb,EAAwB6mB,IAAxB;AACD,CA1FM;AA4FQ;AACbX,SAAO,EAAPA,OADa;AAEbY,MAAI,EAAJA;AAFa,CAAf,E;;;;;;;;;;;ACnPA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA,eAAe,kCAAkC;AACjD,iBAAiB,kCAAkC;AACnD;AACA;AACA;AACA,qBAAqB,IAAI;AACzB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mJAAmJ;AACnJ,SAAS;;AAET;AACA;AACA,qBAAqB,+BAA+B;AACpD;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,WAAW,YAAY,IAAI,WAAW,SAAS;AACvE,cAAc,0BAA0B,EAAE;AAC1C,MAAM;AACN,WAAW,4uCAA4uC;AACvvC,aAAa,yvBAAyvB;AACtwB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,qB;AACvB;AACA;AACA,6C;AACA;AACA;AACA,2CAA2C,4C;AAC3C;AACA;AACA,qBAAqB,iC;AACrB;AACA;AACA,e;AACA;AACA;AACA,wB;AACA;AACA;AACA,4B;AACA;AACA;AACA,wB;AACA;AACA;AACA,2CAA2C,0B;AAC3C;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA,iDAAiD,wBAAwB;AACzE;AACA;AACA,sBAAsB,mCAAmC;AACzD;AACA;AACA,mC;AACA;AACA;AACA,mB;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA,kCAAkC;AAClC;AACA;AACA,WAAW,8F;AACX;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW,6F;AACX;AACA;AACA,WAAW,8F;AACX;AACA;AACA,SAAS,+C;AACT;AACA;AACA,SAAS,6C;AACT;AACA;AACA,SAAS,6C;AACT;AACA;AACA,SAAS,2C;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA,kBAAkB,qCAAqC;AACvD;AACA;AACA,kBAAkB;AAClB;AACA;AACA,kBAAkB;AAClB;AACA;AACA,kBAAkB,+BAA+B;AACjD;AACA;AACA,kBAAkB,uCAAuC;AACzD;AACA;AACA,kBAAkB;AAClB;AACA;AACA,kBAAkB,+CAA+C;AACjE;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,SAAS,kEAAkE,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,mEAAmE,EAAE,QAAQ,sDAAsD,gBAAgB,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,uBAAuB,oBAAoB,sMAAsM,EAAE,UAAU,EAAE,gBAAgB,EAAE,UAAU,EAAE,UAAU,EAAE,oBAAoB,eAAe,UAAU,kHAAkH,gFAAgF,GAAG,8CAA8C,8BAA8B,2BAA2B,EAAE,8CAA8C,EAAE,8CAA8C,EAAE,8CAA8C,EAAE,UAAU,eAAe,wDAAwD,gBAAgB,UAAU,mHAAmH,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,gNAAgN,gBAAgB,wDAAwD,EAAE,4DAA4D,gBAAgB,oBAAoB,eAAe,kCAAkC,oGAAoG,oBAAoB,GAAG,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,oBAAoB,EAAE,2BAA2B,4CAA4C,UAAU,EAAE,UAAU,gBAAgB,8CAA8C,EAAE,wDAAwD,eAAe,kCAAkC,iBAAiB,2BAA2B,EAAE,aAAa,EAAE,8CAA8C,eAAe,UAAU,gBAAgB,oBAAoB,gBAAgB,oBAAoB,gBAAgB,sBAAsB,2DAA2D,+CAA+C,6BAA6B,WAAW,GAAG,WAAW,EAAE,wBAAwB,yDAAyD,WAAW,8BAA8B,WAAW,8BAA8B,WAAW,iBAAiB,cAAc,gBAAgB,UAAU,4CAA4C,WAAW;AACh1F,iBAAiB,8FAA8F;AAC/G;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+D;AAC/D;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,kBAAkB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,iCAAiC;AACjC,qBAAqB;AACrB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL,qDAAqD;AACrD;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;AACL,WAAW;AACX;AACA;AACA;AACA,qCAAqC,W;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,W;AACrC;AACA,wBAAwB,6BAA6B,W;AACrD;AACA,wBAAwB,iBAAiB,W;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,kCAAkC;AAChE;AACA;AACA;AACA;AACA;AACA,wCAAwC,kBAAkB;AAC1D;AACA;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,iBAAiB,yIAAyI,8BAA8B,mBAAmB,yBAAyB,gIAAgI,oBAAoB,WAAW,yBAAyB,0fAA0f,EAAE,MAAM,YAAY,EAAE;AAC56B,aAAa,iBAAiB,gCAAgC,mBAAmB,gCAAgC,mBAAmB,8BAA8B,kBAAkB,kCAAkC,kBAAkB,qCAAqC,SAAS,kCAAkC,WAAW,2CAA2C,YAAY,kCAAkC,aAAa,kCAAkC,WAAW,kCAAkC,YAAY;AACpgB,CAAC;AACD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,CAAC;;;AAGD,IAAI,IAAgE;AACpE;AACA;AACA,6BAA6B,8CAA8C;AAC3E;AACA;AACA;AACA;AACA;AACA,iBAAiB,mBAAO,CAAC,0DAAI,eAAe,mBAAO,CAAC,qDAAM;AAC1D;AACA;AACA,IAAI,KAA6B,IAAI,4CAAY;AACjD;AACA;AACA,C;;;;;;;;;;;;;ACt3BA;AAAA,IAAMS,SAAS,GAAG,SAAZA,SAAY,CAAC3oB,OAAD;AAAA,gDAERA,OAAO,CAAC4oB,UAFA,wBAGR5oB,OAAO,CAAC6oB,SAHA,gDAKD7oB,OAAO,CAACU,UALP,2HAePV,OAAO,CAAC6oB,SAfD,qDAkBR7oB,OAAO,CAAC8oB,OAlBA,0CAqBR9oB,OAAO,CAAC6oB,SArBA,2DAwBF7oB,OAAO,CAAC8oB,OAxBN,2JAmCN9oB,OAAO,CAAC8oB,OAnCF,4BAoCJ9oB,OAAO,CAAC4oB,UApCJ,uEA0CN5oB,OAAO,CAAC4oB,UA1CF,wGAmDR5oB,OAAO,CAAC8oB,OAnDA,0BAoDN9oB,OAAO,CAAC4oB,UApDF,oDAwDN5oB,OAAO,CAAC4oB,UAxDF,0GA+DR5oB,OAAO,CAAC8oB,OA/DA,oEAoER9oB,OAAO,CAAC4oB,UApEA,gEAyEN5oB,OAAO,CAAC+oB,SAzEF,+IAmFR/oB,OAAO,CAAC+oB,SAnFA,qCAoFN/oB,OAAO,CAAC+oB,SApFF,6FAyFR/oB,OAAO,CAAC+oB,SAzFA,qCA0FN/oB,OAAO,CAAC+oB,SA1FF,6FA+FR/oB,OAAO,CAAC+oB,SA/FA,qCAgGN/oB,OAAO,CAAC+oB,SAhGF,6FAqGR/oB,OAAO,CAAC+oB,SArGA,qCAsGN/oB,OAAO,CAAC+oB,SAtGF,2FA2GR/oB,OAAO,CAAC+oB,SA3GA,qCA4GN/oB,OAAO,CAAC+oB,SA5GF,yFAiHR/oB,OAAO,CAAC+oB,SAjHA,qCAkHN/oB,OAAO,CAAC+oB,SAlHF,+FAuHR/oB,OAAO,CAAC8oB,OAvHA,qCAwHN9oB,OAAO,CAAC+oB,SAxHF,6FA6HR/oB,OAAO,CAAC8oB,OA7HA,qCA8HN9oB,OAAO,CAAC+oB,SA9HF;AAAA,CAAlB;;AAwIeJ,wEAAf,E;;;;;;;;;;;;ACxIA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AAEA,IAAIK,SAAS,GAAG,CAAhB;AACO,IAAMlB,QAAQ,GAAG,SAAXA,QAAW,CAAU9jB,IAAV,EAAgB6D,IAAhB,EAAsByZ,QAAtB,EAAgC5hB,IAAhC,EAAsC;AAC5D,MAAMupB,eAAe,GAAG,SAAlBA,eAAkB,CAAU7a,IAAV,EAAgB;AACtC,YAAQA,IAAR;AACE,WAAK6V,qDAAY,CAACC,WAAlB;AACE,eAAO,aAAP;;AACF,WAAKD,qDAAY,CAACE,SAAlB;AACE,eAAO,WAAP;;AACF,WAAKF,qDAAY,CAACG,WAAlB;AACE,eAAO,aAAP;;AACF,WAAKH,qDAAY,CAACI,UAAlB;AACE,eAAO,YAAP;AARJ;AAUD,GAXD;;AAaAxc,MAAI,CAAC8B,MAAL,GAAc9B,IAAI,CAAC8B,MAAL,CAAYsB,MAAZ,CAAmB,UAACjB,CAAD;AAAA,WAAO,CAACkB,MAAM,CAACC,KAAP,CAAanB,CAAC,CAAC9G,CAAf,CAAR;AAAA,GAAnB,CAAd,CAd4D,CAgB5D;;AACA,MAAM8H,QAAQ,GAAGnD,IAAI,CAAC8B,MAAtB,CAjB4D,CAmB5D;;AACA,MAAM2B,YAAY,GAAGC,+CAAI,GACtBtI,CADkB,CAChB,UAAU9D,CAAV,EAAa;AACd,WAAOA,CAAC,CAAC8D,CAAT;AACD,GAHkB,EAIlBC,CAJkB,CAIhB,UAAU/D,CAAV,EAAa;AACd,WAAOA,CAAC,CAAC+D,CAAT;AACD,GANkB,EAOlBkI,KAPkB,CAOZC,6CAPY,CAArB;AASA,MAAMM,OAAO,GAAG3H,IAAI,CACjBL,MADa,CACN,MADM,EAEbvC,IAFa,CAER,GAFQ,EAEHkK,YAAY,CAACN,QAAD,CAFT,EAGb5J,IAHa,CAGR,IAHQ,EAGF,SAAS4nB,SAHP,EAIb5nB,IAJa,CAIR,OAJQ,EAIC,UAJD,CAAhB;AAKA,MAAIwK,GAAG,GAAG,EAAV;;AACA,MAAIlM,IAAI,CAACoM,mBAAT,EAA8B;AAC5BF,OAAG,GACDG,MAAM,CAACC,QAAP,CAAgBC,QAAhB,GACA,IADA,GAEAF,MAAM,CAACC,QAAP,CAAgBE,IAFhB,GAGAH,MAAM,CAACC,QAAP,CAAgBG,QAHhB,GAIAJ,MAAM,CAACC,QAAP,CAAgBI,MALlB;AAMAR,OAAG,GAAGA,GAAG,CAACvG,OAAJ,CAAY,KAAZ,EAAmB,KAAnB,CAAN;AACAuG,OAAG,GAAGA,GAAG,CAACvG,OAAJ,CAAY,KAAZ,EAAmB,KAAnB,CAAN;AACD;;AAED,MAAIic,QAAQ,CAACA,QAAT,CAAkBwC,QAAlB,IAA8B,CAAlC,EAAqC;AACnCnY,WAAO,CAACvK,IAAR,CAAa,OAAb,EAAsB,sBAAtB;AACD;;AACD,MAAIkgB,QAAQ,CAACA,QAAT,CAAkBoF,KAAlB,KAA4B,MAAhC,EAAwC;AACtC/a,WAAO,CAACvK,IAAR,CACE,cADF,EAEE,SAASwK,GAAT,GAAe,GAAf,GAAqBqd,eAAe,CAAC3H,QAAQ,CAACA,QAAT,CAAkBoF,KAAnB,CAApC,GAAgE,OAAhE,GAA0E,GAF5E;AAID;;AACD,MAAIpF,QAAQ,CAACA,QAAT,CAAkBqF,KAAlB,KAA4B,MAAhC,EAAwC;AACtChb,WAAO,CAACvK,IAAR,CACE,YADF,EAEE,SAASwK,GAAT,GAAe,GAAf,GAAqBqd,eAAe,CAAC3H,QAAQ,CAACA,QAAT,CAAkBqF,KAAnB,CAApC,GAAgE,KAAhE,GAAwE,GAF1E;AAID;;AAED,MAAI1jB,CAAJ,EAAOC,CAAP;AACA,MAAMgmB,CAAC,GAAGrhB,IAAI,CAAC8B,MAAL,CAAYzK,MAAtB,CA/D4D,CAgE5D;;AACA,MAAIiqB,aAAa,GAAGlhB,8CAAK,CAACC,iBAAN,CAAwBL,IAAI,CAAC8B,MAA7B,CAApB;AACA1G,GAAC,GAAGkmB,aAAa,CAAClmB,CAAlB;AACAC,GAAC,GAAGimB,aAAa,CAACjmB,CAAlB;AAEA,MAAIkmB,SAAJ,EAAeC,SAAf;AACA,MAAIC,SAAJ,EAAeC,SAAf;;AAEA,MAAIL,CAAC,GAAG,CAAJ,KAAU,CAAV,IAAeA,CAAC,GAAG,CAAvB,EAA0B;AACxB,QAAIM,mBAAmB,GAAGvhB,8CAAK,CAACwhB,uBAAN,CACxBnI,QAAQ,CAACA,QAAT,CAAkBoF,KAAlB,KAA4B,MADJ,EAExB7e,IAAI,CAAC8B,MAFmB,EAGxB9B,IAAI,CAAC8B,MAAL,CAAY,CAAZ,CAHwB,CAA1B;AAKA,QAAI+f,mBAAmB,GAAGzhB,8CAAK,CAACwhB,uBAAN,CACxBnI,QAAQ,CAACA,QAAT,CAAkBqF,KAAlB,KAA4B,MADJ,EAExB9e,IAAI,CAAC8B,MAFmB,EAGxB9B,IAAI,CAAC8B,MAAL,CAAYuf,CAAC,GAAG,CAAhB,CAHwB,CAA1B;AAMA7oB,+CAAG,CAACC,KAAJ,CAAU,yBAAyBsC,IAAI,CAACC,SAAL,CAAe2mB,mBAAf,CAAnC;AACAnpB,+CAAG,CAACC,KAAJ,CAAU,yBAAyBsC,IAAI,CAACC,SAAL,CAAe6mB,mBAAf,CAAnC;AAEAN,aAAS,GAAGI,mBAAmB,CAACvmB,CAAhC;AACAomB,aAAS,GAAGG,mBAAmB,CAACtmB,CAAhC;AACAomB,aAAS,GAAGI,mBAAmB,CAACzmB,CAAhC;AACAsmB,aAAS,GAAGG,mBAAmB,CAACxmB,CAAhC;AACD;;AAED,MAAI,OAAOoe,QAAQ,CAAC7K,KAAhB,KAA0B,WAA9B,EAA2C;AACzC,QAAMkP,CAAC,GAAG3hB,IAAI,CAACL,MAAL,CAAY,GAAZ,EAAiBvC,IAAjB,CAAsB,OAAtB,EAA+B,YAA/B,CAAV;AACA,QAAME,KAAK,GAAGqkB,CAAC,CACZhiB,MADW,CACJ,MADI,EAEXvC,IAFW,CAEN,OAFM,EAEG,OAFH,EAGXA,IAHW,CAGN,GAHM,EAGD6B,CAHC,EAIX7B,IAJW,CAIN,GAJM,EAID8B,CAJC,EAKX9B,IALW,CAKN,MALM,EAKE,KALF,EAMXA,IANW,CAMN,aANM,EAMS,QANT,EAOXG,IAPW,CAON+f,QAAQ,CAAC7K,KAPH,CAAd;AASA1K,UAAM,CAACzK,KAAP,GAAeA,KAAf;AACA,QAAMqoB,MAAM,GAAGroB,KAAK,CAACP,IAAN,GAAae,OAAb,EAAf;AAEA6jB,KAAC,CAACxkB,MAAF,CAAS,MAAT,EAAiB,cAAjB,EACGC,IADH,CACQ,OADR,EACiB,KADjB,EAEGA,IAFH,CAEQ,GAFR,EAEauoB,MAAM,CAAC1mB,CAAP,GAAWvD,IAAI,CAAC+C,OAAL,GAAe,CAFvC,EAGGrB,IAHH,CAGQ,GAHR,EAGauoB,MAAM,CAACzmB,CAAP,GAAWxD,IAAI,CAAC+C,OAAL,GAAe,CAHvC,EAIGrB,IAJH,CAIQ,OAJR,EAIiBuoB,MAAM,CAACpnB,KAAP,GAAe7C,IAAI,CAAC+C,OAJrC,EAKGrB,IALH,CAKQ,QALR,EAKkBuoB,MAAM,CAACnnB,MAAP,GAAgB9C,IAAI,CAAC+C,OALvC;AAMD;;AAEDpC,6CAAG,CAACiE,IAAJ,CAAS,wBAAwB1B,IAAI,CAACC,SAAL,CAAeye,QAAf,CAAjC;;AACA,MAAI,OAAOA,QAAQ,CAACiF,cAAhB,KAAmC,WAAnC,IAAkDjF,QAAQ,CAACiF,cAAT,KAA4B,MAAlF,EAA0F;AACxF,QAAMZ,EAAC,GAAG3hB,IAAI,CAACL,MAAL,CAAY,GAAZ,EAAiBvC,IAAjB,CAAsB,OAAtB,EAA+B,aAA/B,CAAV;;AACAukB,MAAC,CAAChiB,MAAF,CAAS,MAAT,EACGvC,IADH,CACQ,OADR,EACiB,OADjB,EAEGA,IAFH,CAEQ,GAFR,EAEagoB,SAFb,EAGGhoB,IAHH,CAGQ,GAHR,EAGaioB,SAHb,EAIGjoB,IAJH,CAIQ,MAJR,EAIgB,OAJhB,EAKGA,IALH,CAKQ,WALR,EAKqB,GALrB,EAMGG,IANH,CAMQ+f,QAAQ,CAACiF,cANjB;AAOD;;AACD,MAAI,OAAOjF,QAAQ,CAACkF,cAAhB,KAAmC,WAAnC,IAAkDlF,QAAQ,CAACkF,cAAT,KAA4B,MAAlF,EAA0F;AACxF,QAAMb,GAAC,GAAG3hB,IAAI,CAACL,MAAL,CAAY,GAAZ,EAAiBvC,IAAjB,CAAsB,OAAtB,EAA+B,aAA/B,CAAV;;AACAukB,OAAC,CAAChiB,MAAF,CAAS,MAAT,EACGvC,IADH,CACQ,OADR,EACiB,OADjB,EAEGA,IAFH,CAEQ,GAFR,EAEakoB,SAFb,EAGGloB,IAHH,CAGQ,GAHR,EAGamoB,SAHb,EAIGnoB,IAJH,CAIQ,MAJR,EAIgB,OAJhB,EAKGA,IALH,CAKQ,WALR,EAKqB,GALrB,EAMGG,IANH,CAMQ+f,QAAQ,CAACkF,cANjB;AAOD;;AAEDwC,WAAS;AACV,CA1IM;AA4IA,IAAMnB,SAAS,GAAG,SAAZA,SAAY,CAAU7jB,IAAV,EAAgB2jB,QAAhB,EAA0BjoB,IAA1B,EAAgC;AACvDW,6CAAG,CAACiE,IAAJ,CAAS,qBAAqBqjB,QAA9B;AAEA,MAAM1mB,EAAE,GAAG0mB,QAAQ,CAAC1mB,EAApB;AACA,MAAM2oB,SAAS,GAAG;AAChB3oB,MAAE,EAAEA,EADY;AAEhBK,SAAK,EAAEqmB,QAAQ,CAAC1mB,EAFA;AAGhBsB,SAAK,EAAE,CAHS;AAIhBC,UAAM,EAAE;AAJQ,GAAlB,CAJuD,CAWvD;;AACA,MAAMmjB,CAAC,GAAG3hB,IAAI,CAACL,MAAL,CAAY,GAAZ,EAAiBvC,IAAjB,CAAsB,IAAtB,EAA4B2f,4DAAW,CAAC9f,EAAD,CAAvC,EAA6CG,IAA7C,CAAkD,OAAlD,EAA2D,YAA3D,CAAV,CAZuD,CAcvD;;AACA,MAAIqV,KAAJ;;AACA,MAAIkR,QAAQ,CAACvO,IAAb,EAAmB;AACjB3C,SAAK,GAAGkP,CAAC,CACNhiB,MADK,CACE,OADF,EAELvC,IAFK,CAEA,YAFA,EAEcumB,QAAQ,CAACvO,IAFvB,EAGLhY,IAHK,CAGA,QAHA,EAGUumB,QAAQ,CAACtO,UAHnB,EAIL1V,MAJK,CAIE,MAJF,EAKLvC,IALK,CAKA,GALA,EAKK1B,IAAI,CAACue,UAAL,GAAkBve,IAAI,CAAC+C,OAL5B,EAMLrB,IANK,CAMA,GANA,EAMK,CANL,CAAR;AAOD,GARD,MAQO;AACLqV,SAAK,GAAGkP,CAAC,CACNhiB,MADK,CACE,MADF,EAELvC,IAFK,CAEA,GAFA,EAEK1B,IAAI,CAACue,UAAL,GAAkBve,IAAI,CAAC+C,OAF5B,EAGLrB,IAHK,CAGA,GAHA,EAGK,CAHL,CAAR;AAID,GA7BsD,CA+BvD;;;AACA,MAAIyoB,OAAO,GAAG,IAAd;AACAlC,UAAQ,CAAC7P,WAAT,CAAqB3X,OAArB,CAA6B,UAAU0hB,MAAV,EAAkB;AAC7C,QAAMiI,UAAU,GAAGrT,KAAK,CAAC9S,MAAN,CAAa,OAAb,EAAsBpC,IAAtB,CAA2B,MAAMsgB,MAAN,GAAe,GAA1C,CAAnB;AACA,QAAI,CAACgI,OAAL,EAAcC,UAAU,CAAC1oB,IAAX,CAAgB,IAAhB,EAAsB1B,IAAI,CAACue,UAA3B;AACd4L,WAAO,GAAG,KAAV;AACD,GAJD;AAMA,MAAI3R,gBAAgB,GAAGyP,QAAQ,CAAC1mB,EAAhC;;AAEA,MAAI0mB,QAAQ,CAACvZ,IAAT,KAAkBxM,SAAlB,IAA+B+lB,QAAQ,CAACvZ,IAAT,KAAkB,EAArD,EAAyD;AACvD8J,oBAAgB,IAAI,MAAMyP,QAAQ,CAACvZ,IAAf,GAAsB,GAA1C;AACD;;AAED,MAAM2b,UAAU,GAAGtT,KAAK,CAAC9S,MAAN,CAAa,OAAb,EAAsBpC,IAAtB,CAA2B2W,gBAA3B,EAA6C9W,IAA7C,CAAkD,OAAlD,EAA2D,OAA3D,CAAnB,CA7CuD,CA+CvD;;AACA,MAAI,CAACyoB,OAAL,EAAcE,UAAU,CAAC3oB,IAAX,CAAgB,IAAhB,EAAsB1B,IAAI,CAACue,UAA3B;AAEd,MAAM+L,WAAW,GAAGvT,KAAK,CAAC1V,IAAN,GAAae,OAAb,GAAuBU,MAA3C;AAEA,MAAMynB,WAAW,GAAGtE,CAAC,CAClBhiB,MADiB,CACV,MADU,EACF;AADE,GAEjBvC,IAFiB,CAEZ,IAFY,EAEN,CAFM,EAGjBA,IAHiB,CAGZ,IAHY,EAGN1B,IAAI,CAAC+C,OAAL,GAAeunB,WAAf,GAA6BtqB,IAAI,CAACqe,aAAL,GAAqB,CAH5C,EAIjB3c,IAJiB,CAIZ,IAJY,EAIN1B,IAAI,CAAC+C,OAAL,GAAeunB,WAAf,GAA6BtqB,IAAI,CAACqe,aAAL,GAAqB,CAJ5C,CAApB;AAMA,MAAMzF,OAAO,GAAGqN,CAAC,CACdhiB,MADa,CACN,MADM,EACE;AADF,GAEbvC,IAFa,CAER,GAFQ,EAEH1B,IAAI,CAAC+C,OAFF,EAGbrB,IAHa,CAGR,GAHQ,EAGH4oB,WAAW,GAAGtqB,IAAI,CAACqe,aAAnB,GAAmCre,IAAI,CAACue,UAHrC,EAIb7c,IAJa,CAIR,MAJQ,EAIA,OAJA,EAKbA,IALa,CAKR,OALQ,EAKC,WALD,CAAhB;AAOAyoB,SAAO,GAAG,IAAV;AACAlC,UAAQ,CAACrP,OAAT,CAAiBnY,OAAjB,CAAyB,UAAU0hB,MAAV,EAAkB;AACzCqI,YAAQ,CAAC5R,OAAD,EAAUuJ,MAAV,EAAkBgI,OAAlB,EAA2BnqB,IAA3B,CAAR;AACAmqB,WAAO,GAAG,KAAV;AACD,GAHD;AAKA,MAAMM,UAAU,GAAG7R,OAAO,CAACvX,IAAR,GAAee,OAAf,EAAnB;AAEA,MAAMsoB,WAAW,GAAGzE,CAAC,CAClBhiB,MADiB,CACV,MADU,EACF;AADE,GAEjBvC,IAFiB,CAEZ,IAFY,EAEN,CAFM,EAGjBA,IAHiB,CAGZ,IAHY,EAGN1B,IAAI,CAAC+C,OAAL,GAAeunB,WAAf,GAA6BtqB,IAAI,CAACqe,aAAlC,GAAkDoM,UAAU,CAAC3nB,MAHvD,EAIjBpB,IAJiB,CAIZ,IAJY,EAIN1B,IAAI,CAAC+C,OAAL,GAAeunB,WAAf,GAA6BtqB,IAAI,CAACqe,aAAlC,GAAkDoM,UAAU,CAAC3nB,MAJvD,CAApB;AAMA,MAAMuW,OAAO,GAAG4M,CAAC,CACdhiB,MADa,CACN,MADM,EACE;AADF,GAEbvC,IAFa,CAER,GAFQ,EAEH1B,IAAI,CAAC+C,OAFF,EAGbrB,IAHa,CAGR,GAHQ,EAGH4oB,WAAW,GAAG,IAAItqB,IAAI,CAACqe,aAAvB,GAAuCoM,UAAU,CAAC3nB,MAAlD,GAA2D9C,IAAI,CAACue,UAH7D,EAIb7c,IAJa,CAIR,MAJQ,EAIA,OAJA,EAKbA,IALa,CAKR,OALQ,EAKC,WALD,CAAhB;AAOAyoB,SAAO,GAAG,IAAV;AAEAlC,UAAQ,CAAC5O,OAAT,CAAiB5Y,OAAjB,CAAyB,UAAUkqB,MAAV,EAAkB;AACzCH,YAAQ,CAACnR,OAAD,EAAUsR,MAAV,EAAkBR,OAAlB,EAA2BnqB,IAA3B,CAAR;AACAmqB,WAAO,GAAG,KAAV;AACD,GAHD;AAKA,MAAMS,QAAQ,GAAG3E,CAAC,CAAC5kB,IAAF,GAASe,OAAT,EAAjB;AACA,MAAI+jB,WAAW,GAAG,GAAlB;;AAEA,MAAI8B,QAAQ,CAAC7G,UAAT,CAAoB5hB,MAApB,GAA6B,CAAjC,EAAoC;AAClC2mB,eAAW,GAAGA,WAAW,GAAG8B,QAAQ,CAAC7G,UAAT,CAAoBrL,IAApB,CAAyB,GAAzB,CAA5B;AACD;;AAED,MAAM5U,IAAI,GAAG8kB,CAAC,CACXxkB,MADU,CACH,MADG,EACK,cADL,EAEVC,IAFU,CAEL,GAFK,EAEA,CAFA,EAGVA,IAHU,CAGL,GAHK,EAGA,CAHA,EAIVA,IAJU,CAIL,OAJK,EAIIkpB,QAAQ,CAAC/nB,KAAT,GAAiB,IAAI7C,IAAI,CAAC+C,OAJ9B,EAKVrB,IALU,CAKL,QALK,EAKKkpB,QAAQ,CAAC9nB,MAAT,GAAkB9C,IAAI,CAAC+C,OAAvB,GAAiC,MAAM/C,IAAI,CAACqe,aALjD,EAMV3c,IANU,CAML,OANK,EAMIykB,WANJ,CAAb;AAQA,MAAM0E,SAAS,GAAG1pB,IAAI,CAACE,IAAL,GAAYe,OAAZ,GAAsBS,KAAxC,CA5GuD,CA8GvD;AACA;;AACAkU,OAAK,CAAC1V,IAAN,GAAaypB,UAAb,CAAwBrqB,OAAxB,CAAgC,UAAU8C,CAAV,EAAa;AAC3CA,KAAC,CAACwC,YAAF,CAAe,GAAf,EAAoB,CAAC8kB,SAAS,GAAGtnB,CAAC,CAACnB,OAAF,GAAYS,KAAzB,IAAkC,CAAtD;AACD,GAFD;;AAIA,MAAIolB,QAAQ,CAACrO,OAAb,EAAsB;AACpB7C,SAAK,CAACtV,MAAN,CAAa,OAAb,EAAsBI,IAAtB,CAA2BomB,QAAQ,CAACrO,OAApC;AACD;;AAED2Q,aAAW,CAAC7oB,IAAZ,CAAiB,IAAjB,EAAuBmpB,SAAvB;AACAH,aAAW,CAAChpB,IAAZ,CAAiB,IAAjB,EAAuBmpB,SAAvB;AAEAX,WAAS,CAACrnB,KAAV,GAAkBgoB,SAAlB;AACAX,WAAS,CAACpnB,MAAV,GAAmB8nB,QAAQ,CAAC9nB,MAAT,GAAkB9C,IAAI,CAAC+C,OAAvB,GAAiC,MAAM/C,IAAI,CAACqe,aAA/D;AAEA,SAAO6L,SAAP;AACD,CA/HM;AAiIA,IAAMnR,WAAW,GAAG,SAAdA,WAAc,CAAUlX,IAAV,EAAgB;AACzC,MAAMkpB,UAAU,GAAG,mDAAnB;AACA,MAAMC,WAAW,GAAG,mEAApB;AAEA,MAAIC,UAAU,GAAGppB,IAAI,CAACihB,KAAL,CAAWiI,UAAX,CAAjB;AACA,MAAIG,WAAW,GAAGrpB,IAAI,CAACihB,KAAL,CAAWkI,WAAX,CAAlB;;AAEA,MAAIC,UAAU,IAAI,CAACC,WAAnB,EAAgC;AAC9B,WAAOC,iBAAiB,CAACF,UAAD,CAAxB;AACD,GAFD,MAEO,IAAIC,WAAJ,EAAiB;AACtB,WAAOE,kBAAkB,CAACF,WAAD,CAAzB;AACD,GAFM,MAEA;AACL,WAAOG,kBAAkB,CAACxpB,IAAD,CAAzB;AACD;AACF,CAdM;;AAgBP,IAAMspB,iBAAiB,GAAG,SAApBA,iBAAoB,CAAUnS,UAAV,EAAsB;AAC9C,MAAIG,QAAQ,GAAG,EAAf;AACA,MAAIF,WAAW,GAAG,EAAlB;;AAEA,MAAI;AACF,QAAIqS,UAAU,GAAGtS,UAAU,CAAC,CAAD,CAAV,GAAgBA,UAAU,CAAC,CAAD,CAAV,CAAcxS,IAAd,EAAhB,GAAuC,EAAxD;AACA,QAAI+kB,SAAS,GAAGvS,UAAU,CAAC,CAAD,CAAV,GAAgBA,UAAU,CAAC,CAAD,CAAV,CAAcxS,IAAd,EAAhB,GAAuC,EAAvD;AACA,QAAIwa,WAAW,GAAGhI,UAAU,CAAC,CAAD,CAAV,GAAgBwS,iBAAiB,CAACxS,UAAU,CAAC,CAAD,CAAV,CAAcxS,IAAd,EAAD,CAAjC,GAA0D,EAA5E;AACA,QAAIilB,SAAS,GAAGzS,UAAU,CAAC,CAAD,CAAV,GAAgBA,UAAU,CAAC,CAAD,CAAV,CAAcxS,IAAd,EAAhB,GAAuC,EAAvD;AACA,QAAIklB,UAAU,GAAG1S,UAAU,CAAC,CAAD,CAAV,GAAgBA,UAAU,CAAC,CAAD,CAAV,CAAcxS,IAAd,EAAhB,GAAuC,EAAxD;AAEAyS,eAAW,GAAGqS,UAAU,GAAGC,SAAb,GAAyBvK,WAAzB,GAAuC,GAAvC,GAA6CyK,SAA3D;AACAtS,YAAQ,GAAGwS,eAAe,CAACD,UAAD,CAA1B;AACD,GATD,CASE,OAAOE,GAAP,EAAY;AACZ3S,eAAW,GAAGD,UAAd;AACD;;AAED,SAAO;AACLC,eAAW,EAAEA,WADR;AAELE,YAAQ,EAAEA;AAFL,GAAP;AAID,CArBD;;AAuBA,IAAMiS,kBAAkB,GAAG,SAArBA,kBAAqB,CAAUpS,UAAV,EAAsB;AAC/C,MAAIG,QAAQ,GAAG,EAAf;AACA,MAAIF,WAAW,GAAG,EAAlB;;AAEA,MAAI;AACF,QAAIqS,UAAU,GAAGtS,UAAU,CAAC,CAAD,CAAV,GAAgBA,UAAU,CAAC,CAAD,CAAV,CAAcxS,IAAd,EAAhB,GAAuC,EAAxD;AACA,QAAIqlB,UAAU,GAAG7S,UAAU,CAAC,CAAD,CAAV,GAAgBA,UAAU,CAAC,CAAD,CAAV,CAAcxS,IAAd,EAAhB,GAAuC,EAAxD;AACA,QAAIslB,UAAU,GAAG9S,UAAU,CAAC,CAAD,CAAV,GAAgBwS,iBAAiB,CAACxS,UAAU,CAAC,CAAD,CAAV,CAAcxS,IAAd,EAAD,CAAjC,GAA0D,EAA3E;AACA,QAAIklB,UAAU,GAAG1S,UAAU,CAAC,CAAD,CAAV,GAAgBA,UAAU,CAAC,CAAD,CAAV,CAAcxS,IAAd,EAAhB,GAAuC,EAAxD;AACA,QAAIulB,UAAU,GAAG/S,UAAU,CAAC,CAAD,CAAV,GAAgB,QAAQwS,iBAAiB,CAACxS,UAAU,CAAC,CAAD,CAAX,CAAjB,CAAiCxS,IAAjC,EAAxB,GAAkE,EAAnF;AAEAyS,eAAW,GAAGqS,UAAU,GAAGO,UAAb,GAA0B,GAA1B,GAAgCC,UAAhC,GAA6C,GAA7C,GAAmDC,UAAjE;AACA5S,YAAQ,GAAGwS,eAAe,CAACD,UAAD,CAA1B;AACD,GATD,CASE,OAAOE,GAAP,EAAY;AACZ3S,eAAW,GAAGD,UAAd;AACD;;AAED,SAAO;AACLC,eAAW,EAAEA,WADR;AAELE,YAAQ,EAAEA;AAFL,GAAP;AAID,CArBD;;AAuBA,IAAMkS,kBAAkB,GAAG,SAArBA,kBAAqB,CAAUxpB,IAAV,EAAgB;AACzC;AACA,MAAIoX,WAAW,GAAG,EAAlB;AACA,MAAIE,QAAQ,GAAG,EAAf;AACA,MAAI6S,UAAU,GAAG,EAAjB;AACA,MAAID,UAAU,GAAG,EAAjB;AACA,MAAIE,WAAW,GAAGpqB,IAAI,CAAChB,OAAL,CAAa,GAAb,CAAlB;AACA,MAAIqrB,SAAS,GAAGrqB,IAAI,CAAChB,OAAL,CAAa,GAAb,CAAhB;;AAEA,MAAIorB,WAAW,GAAG,CAAd,IAAmBC,SAAS,GAAGD,WAA/B,IAA8CC,SAAS,IAAIrqB,IAAI,CAACrC,MAApE,EAA4E;AAC1E,QAAI8rB,UAAU,GAAG,EAAjB;AACA,QAAIO,UAAU,GAAG,EAAjB;AAEA,QAAIM,SAAS,GAAGtqB,IAAI,CAAC2gB,SAAL,CAAe,CAAf,EAAkB,CAAlB,CAAhB;;AACA,QAAI2J,SAAS,CAACrJ,KAAV,CAAgB,IAAhB,CAAJ,EAA2B;AACzB+I,gBAAU,GAAGhqB,IAAI,CAAC2gB,SAAL,CAAe,CAAf,EAAkByJ,WAAlB,EAA+BzlB,IAA/B,EAAb;AACD,KAFD,MAEO;AACL,UAAI2lB,SAAS,CAACrJ,KAAV,CAAgB,UAAhB,CAAJ,EAAiC;AAC/BwI,kBAAU,GAAGa,SAAb;AACD;;AAEDN,gBAAU,GAAGhqB,IAAI,CAAC2gB,SAAL,CAAe,CAAf,EAAkByJ,WAAlB,EAA+BzlB,IAA/B,EAAb;AACD;;AAED,QAAIslB,UAAU,GAAGjqB,IAAI,CAAC2gB,SAAL,CAAeyJ,WAAW,GAAG,CAA7B,EAAgCC,SAAhC,CAAjB;AACA,QAAIR,UAAU,GAAG7pB,IAAI,CAAC2gB,SAAL,CAAe0J,SAAS,GAAG,CAA3B,EAA8B,CAA9B,CAAjB;AACA/S,YAAQ,GAAGwS,eAAe,CAACD,UAAD,CAA1B;AAEAzS,eAAW,GAAGqS,UAAU,GAAGO,UAAb,GAA0B,GAA1B,GAAgCL,iBAAiB,CAACM,UAAU,CAACtlB,IAAX,EAAD,CAAjD,GAAuE,GAArF;;AAEA,QAAI0lB,SAAS,GAAGF,UAAU,CAACxsB,MAA3B,EAAmC;AACjCusB,gBAAU,GAAGlqB,IAAI,CAAC2gB,SAAL,CAAe0J,SAAS,GAAG,CAA3B,EAA8B1lB,IAA9B,EAAb;;AACA,UAAIulB,UAAU,KAAK,EAAnB,EAAuB;AACrBA,kBAAU,GAAG,QAAQP,iBAAiB,CAACO,UAAD,CAAtC;AACD;AACF;AACF,GA3BD,MA2BO;AACL;AACA9S,eAAW,GAAGuS,iBAAiB,CAAC3pB,IAAD,CAA/B;AACD;;AAED,SAAO;AACLoX,eAAW,EAAEA,WADR;AAELE,YAAQ,EAAEA;AAFL,GAAP;AAID,CA7CD;;AA+CA,IAAMqR,QAAQ,GAAG,SAAXA,QAAW,CAAU4B,MAAV,EAAkBC,GAAlB,EAAuBlC,OAAvB,EAAgCnqB,IAAhC,EAAsC;AACrD,MAAImiB,MAAM,GAAGpJ,WAAW,CAACsT,GAAD,CAAxB;AAEA,MAAMC,KAAK,GAAGF,MAAM,CAACnoB,MAAP,CAAc,OAAd,EAAuBvC,IAAvB,CAA4B,GAA5B,EAAiC1B,IAAI,CAAC+C,OAAtC,EAA+ClB,IAA/C,CAAoDsgB,MAAM,CAAClJ,WAA3D,CAAd;;AAEA,MAAIkJ,MAAM,CAAChJ,QAAP,KAAoB,EAAxB,EAA4B;AAC1BmT,SAAK,CAAC5qB,IAAN,CAAW,OAAX,EAAoBygB,MAAM,CAAChJ,QAA3B;AACD;;AAED,MAAI,CAACgR,OAAL,EAAc;AACZmC,SAAK,CAAC5qB,IAAN,CAAW,IAAX,EAAiB1B,IAAI,CAACue,UAAtB;AACD;AACF,CAZD;;AAcA,IAAMiN,iBAAiB,GAAG,SAApBA,iBAAoB,CAAU3pB,IAAV,EAAgB;AACxC,MAAI0qB,WAAW,GAAG1qB,IAAlB;;AAEA,MAAIA,IAAI,CAAChB,OAAL,CAAa,GAAb,KAAqB,CAAC,CAA1B,EAA6B;AAC3B0rB,eAAW,GAAGA,WAAW,CAAC5mB,OAAZ,CAAoB,GAApB,EAAyB,GAAzB,CAAd;AACA4mB,eAAW,GAAGA,WAAW,CAAC5mB,OAAZ,CAAoB,GAApB,EAAyB,GAAzB,CAAd;AAEA,WAAO6lB,iBAAiB,CAACe,WAAD,CAAxB;AACD,GALD,MAKO;AACL,WAAOA,WAAP;AACD;AACF,CAXD;;AAaA,IAAMZ,eAAe,GAAG,SAAlBA,eAAkB,CAAUD,UAAV,EAAsB;AAC5C,UAAQA,UAAR;AACE,SAAK,GAAL;AACE,aAAO,oBAAP;;AACF,SAAK,GAAL;AACE,aAAO,4BAAP;;AACF;AACE,aAAO,EAAP;AANJ;AAQD,CATD;;AAWe;AACbvD,WAAS,EAATA,SADa;AAEbC,UAAQ,EAARA,QAFa;AAGbrP,aAAW,EAAXA;AAHa,CAAf,E;;;;;;;;;;;;ACtaA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEO,IAAMyT,OAAO,GAAG,SAAVA,OAAU,CAAC5mB,CAAD,EAAO;AAC5B,MAAI,CAACA,CAAL,EAAQ,OAAO,CAAP;AACR,MAAIiT,GAAG,GAAG4T,kBAAkB,CAAC7mB,CAAD,CAA5B;AACAiT,KAAG,GAAGA,GAAG,CAAClT,OAAJ,CAAY,MAAZ,EAAoB,MAApB,CAAN;AACA,SAAOkT,GAAG,CAAC5S,KAAJ,CAAU,MAAV,CAAP;AACD,CALM;AAOA,IAAMymB,YAAY,GAAG,SAAfA,YAAe,CAACL,GAAD,EAAS;AACnC,MAAIM,EAAE,GAAG,EAAT;AACA,MAAIC,GAAG,GAAG,CAAV;;AAEA,SAAOA,GAAG,IAAI,CAAd,EAAiB;AACfA,OAAG,GAAGP,GAAG,CAACxrB,OAAJ,CAAY,SAAZ,CAAN;;AACA,QAAI+rB,GAAG,IAAI,CAAX,EAAc;AACZD,QAAE,IAAIN,GAAG,CAAC1J,MAAJ,CAAW,CAAX,EAAciK,GAAd,CAAN;AACAP,SAAG,GAAGA,GAAG,CAAC1J,MAAJ,CAAWiK,GAAG,GAAG,CAAjB,CAAN;AAEAA,SAAG,GAAGP,GAAG,CAACxrB,OAAJ,CAAY,WAAZ,CAAN;;AACA,UAAI+rB,GAAG,IAAI,CAAX,EAAc;AACZA,WAAG,IAAI,CAAP;AACAP,WAAG,GAAGA,GAAG,CAAC1J,MAAJ,CAAWiK,GAAX,CAAN;AACD;AACF,KATD,MASO;AACLD,QAAE,IAAIN,GAAN;AACAO,SAAG,GAAG,CAAC,CAAP;AACA;AACD;AACF;;AAEDD,IAAE,GAAGA,EAAE,CAAChnB,OAAH,CAAW,WAAX,EAAwB,GAAxB,CAAL;AACAgnB,IAAE,GAAGA,EAAE,CAAChnB,OAAH,CAAW,WAAX,EAAwB,GAAxB,CAAL;AACAgnB,IAAE,GAAGA,EAAE,CAAChnB,OAAH,CAAW,eAAX,EAA4B,GAA5B,CAAL;AACAgnB,IAAE,GAAGA,EAAE,CAAChnB,OAAH,CAAW,YAAX,EAAyB,UAAzB,CAAL;AACAgnB,IAAE,GAAGA,EAAE,CAAChnB,OAAH,CAAW,WAAX,EAAwB,EAAxB,CAAL;AACA,SAAOgnB,EAAP;AACD,CA5BM;;AA8BP,IAAME,YAAY,GAAG,SAAfA,YAAe,CAAChrB,IAAD,EAAOjD,MAAP,EAAkB;AACrC,MAAIytB,GAAG,GAAGxqB,IAAV;AACA,MAAIU,UAAU,GAAG,IAAjB;;AACA,MACE3D,MAAM,CAAC0D,SAAP,KACC1D,MAAM,CAAC0D,SAAP,CAAiBC,UAAjB,KAAgC,KAAhC,IAAyC3D,MAAM,CAAC0D,SAAP,CAAiBC,UAAjB,KAAgC,OAD1E,CADF,EAGE;AACAA,cAAU,GAAG,KAAb;AACD;;AAED,MAAIA,UAAJ,EAAgB;AACd,QAAMuqB,KAAK,GAAGluB,MAAM,CAACub,aAArB;;AAEA,QAAI2S,KAAK,KAAK,YAAd,EAA4B;AAC1BT,SAAG,GAAGK,YAAY,CAACL,GAAD,CAAlB;AACD,KAFD,MAEO,IAAIS,KAAK,KAAK,OAAd,EAAuB;AAC5B;AACAT,SAAG,GAAGI,kBAAkB,CAACJ,GAAD,CAAxB;AACAA,SAAG,GAAGA,GAAG,CAAC1mB,OAAJ,CAAY,IAAZ,EAAkB,MAAlB,EAA0BA,OAA1B,CAAkC,IAAlC,EAAwC,MAAxC,CAAN;AACA0mB,SAAG,GAAGA,GAAG,CAAC1mB,OAAJ,CAAY,IAAZ,EAAkB,UAAlB,CAAN;AACA0mB,SAAG,GAAGU,kBAAkB,CAACV,GAAD,CAAxB;AACD;AACF;;AAED,SAAOA,GAAP;AACD,CAzBD;;AA2BO,IAAMnJ,YAAY,GAAG,SAAfA,YAAe,CAACrhB,IAAD,EAAOjD,MAAP,EAAkB;AAC5C,MAAMkuB,KAAK,GAAGluB,MAAM,CAACub,aAArB;AACA6S,SAAO,CAACrsB,GAAR,CAAY,gBAAZ,EAA8BmsB,KAA9B;AACA,MAAI,CAACjrB,IAAL,EAAW,OAAOA,IAAP;AACX,MAAMwqB,GAAG,GAAGY,gDAAS,CAACvtB,QAAV,CAAmBmtB,YAAY,CAAChrB,IAAD,EAAOjD,MAAP,CAA/B,CAAZ;AACA,SAAOytB,GAAP;AACD,CANM;AAQA,IAAM3E,cAAc,GAAG,cAAvB;AAEA,IAAMwF,SAAS,GAAG,SAAZA,SAAY,CAACrrB,IAAD,EAAU;AACjC,SAAO,gBAAgBsrB,IAAhB,CAAqBtrB,IAArB,CAAP;AACD,CAFM;AAIA,IAAMurB,WAAW,GAAG,SAAdA,WAAc,CAACvrB,IAAD,EAAU;AACnC,SAAOA,IAAI,CAACoE,KAAL,CAAW,eAAX,CAAP;AACD,CAFM;;AAGP,IAAM8mB,kBAAkB,GAAG,SAArBA,kBAAqB,CAACnnB,CAAD,EAAO;AAChC,SAAOA,CAAC,CAACD,OAAF,CAAU,OAAV,EAAmB,OAAnB,CAAP;AACD,CAFD;;AAGA,IAAM8mB,kBAAkB,GAAG,SAArBA,kBAAqB,CAAC7mB,CAAD,EAAO;AAChC,SAAOA,CAAC,CAACD,OAAF,CAAU+hB,cAAV,EAA0B,MAA1B,CAAP;AACD,CAFD;;AAIA,IAAM2F,MAAM,GAAG,SAATA,MAAS,CAACC,WAAD,EAAiB;AAC9B,MAAIphB,GAAG,GAAG,EAAV;;AACA,MAAIohB,WAAJ,EAAiB;AACfphB,OAAG,GACDG,MAAM,CAACC,QAAP,CAAgBC,QAAhB,GACA,IADA,GAEAF,MAAM,CAACC,QAAP,CAAgBE,IAFhB,GAGAH,MAAM,CAACC,QAAP,CAAgBG,QAHhB,GAIAJ,MAAM,CAACC,QAAP,CAAgBI,MALlB;AAMAR,OAAG,GAAGA,GAAG,CAACvG,OAAJ,CAAY,KAAZ,EAAmB,KAAnB,CAAN;AACAuG,OAAG,GAAGA,GAAG,CAACvG,OAAJ,CAAY,KAAZ,EAAmB,KAAnB,CAAN;AACD;;AAED,SAAOuG,GAAP;AACD,CAdD;;AAgBO,IAAM7J,QAAQ,GAAG,SAAXA,QAAW,CAACkrB,GAAD;AAAA,SAAUA,GAAG,KAAK,OAAR,IAAmBA,GAAG,KAAK,KAA3B,GAAmC,KAAnC,GAA2C,IAArD;AAAA,CAAjB;AAEQ;AACbf,SAAO,EAAPA,OADa;AAEbtJ,cAAY,EAAZA,YAFa;AAGbgK,WAAS,EAATA,SAHa;AAIbE,aAAW,EAAXA,WAJa;AAKb1F,gBAAc,EAAdA,cALa;AAMbgF,cAAY,EAAZA,YANa;AAObW,QAAM,EAANA,MAPa;AAQbhrB,UAAQ,EAARA;AARa,CAAf,E;;;;;;;;;;;;AC5GA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AAEA,IAAImrB,QAAQ,GAAG,EAAf;AACA,IAAIC,aAAa,GAAG,EAApB;AACA,IAAI1W,KAAK,GAAG,EAAZ;AAEA,IAAM2W,WAAW,GAAG;AAClBC,aAAW,EAAE,aADK;AAElBC,cAAY,EAAE,cAFI;AAGlBC,aAAW,EAAE,aAHK;AAIlBC,UAAQ,EAAE;AAJQ,CAApB;AAOA,IAAMC,cAAc,GAAG;AACrBC,iBAAe,EAAE,iBADI;AAErBC,aAAW,EAAE;AAFQ,CAAvB;AAKO,IAAMtN,cAAc,GAAG,SAAjBA,cAAiB,CAAUC,SAAV,EAAqBC,OAArB,EAA8BnS,IAA9B,EAAoC;AAChEoS,qDAAU,CAACH,cAAX,CAA0B,IAA1B,EAAgCC,SAAhC,EAA2CC,OAA3C,EAAoDnS,IAApD;AACD,CAFM;;AAIP,IAAMwf,SAAS,GAAG,SAAZA,SAAY,CAAU9f,IAAV,EAAgB;AAChC,MAAI,OAAOof,QAAQ,CAACpf,IAAD,CAAf,KAA0B,WAA9B,EAA2C;AACzCof,YAAQ,CAACpf,IAAD,CAAR,GAAiB;AAAE+f,gBAAU,EAAE;AAAd,KAAjB;AACAxtB,+CAAG,CAACiE,IAAJ,CAAS,oBAAT,EAA+BwJ,IAA/B;AACD;;AAED,SAAOof,QAAQ,CAACpf,IAAD,CAAf;AACD,CAPD;;AASA,IAAMggB,WAAW,GAAG,SAAdA,WAAc;AAAA,SAAMZ,QAAN;AAAA,CAApB;;AAEA,IAAMa,aAAa,GAAG,SAAhBA,aAAgB,CAAUC,UAAV,EAAsBC,OAAtB,EAA+B;AACnD,MAAIC,MAAM,GAAGN,SAAS,CAACI,UAAD,CAAtB,CADmD,CACf;AAEpC;;AACA,MAAI/uB,CAAJ;;AACA,OAAKA,CAAC,GAAGgvB,OAAO,CAAC/uB,MAAR,GAAiB,CAA1B,EAA6BD,CAAC,IAAI,CAAlC,EAAqCA,CAAC,EAAtC,EAA0C;AACxCivB,UAAM,CAACL,UAAP,CAAkBltB,IAAlB,CAAuBstB,OAAO,CAAChvB,CAAD,CAA9B;AACAoB,+CAAG,CAACC,KAAJ,CAAU,kBAAV,EAA8B2tB,OAAO,CAAChvB,CAAD,CAAP,CAAWkvB,aAAzC;AACD;AACF,CATD;AAWA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMC,eAAe,GAAG,SAAlBA,eAAkB,CAAUC,IAAV,EAAgBC,IAAhB,EAAsBC,IAAtB,EAA4BC,KAA5B,EAAmC;AACzD,MAAIC,GAAG,GAAG;AACRC,WAAO,EAAEL,IADD;AAERM,SAAK,EAAEL,IAFC;AAGRM,WAAO,EAAEL,IAHD;AAIRM,WAAO,EAAEL;AAJD,GAAV;AAOArB,eAAa,CAACxsB,IAAd,CAAmB8tB,GAAnB;AACApuB,6CAAG,CAACC,KAAJ,CAAU,0BAAV,EAAsCmuB,GAAtC;AACD,CAVD;;AAYA,IAAMK,gBAAgB,GAAG,SAAnBA,gBAAmB;AAAA,SAAM3B,aAAN;AAAA,CAAzB,C,CAEA;;;AACA,IAAM4B,QAAQ,GAAG,SAAXA,QAAW,CAAUhD,GAAV,EAAe;AAC9BtV,OAAK,GAAGsV,GAAR;AACD,CAFD;;AAIA,IAAMiD,QAAQ,GAAG,SAAXA,QAAW,GAAY;AAC3B,SAAOvY,KAAP;AACD,CAFD;;AAIA,IAAMrS,KAAK,GAAG,SAARA,KAAQ,GAAY;AACxB8oB,UAAQ,GAAG,EAAX;AACAC,eAAa,GAAG,EAAhB;AACA1W,OAAK,GAAG,EAAR;AACD,CAJD;;AAMe;AACb2W,aAAW,EAAXA,WADa;AAEbK,gBAAc,EAAdA,cAFa;AAGbpN,gBAAc,EAAdA,cAHa;AAIbtgB,WAAS,EAAE;AAAA,WAAM2iB,iDAAA,GAAsB/D,EAA5B;AAAA,GAJE;AAKbiP,WAAS,EAATA,SALa;AAMbG,eAAa,EAAbA,aANa;AAObD,aAAW,EAAXA,WAPa;AAQbM,iBAAe,EAAfA,eARa;AASbU,kBAAgB,EAAhBA,gBATa;AAUb1qB,OAAK,EAALA,KAVa;AAWb2qB,UAAQ,EAARA,QAXa;AAYbC,UAAQ,EAARA;AAZa,CAAf,E;;;;;;;;;;;;ACrFA;AAAA,IAAMC,SAAS,GAAG;AAChBC,gBAAc,EAAE,gBADA;AAEhBC,cAAY,EAAE,cAFE;AAGhBC,mBAAiB,EAAE,mBAHH;AAIhBC,iBAAe,EAAE,iBAJD;AAKhBC,mBAAiB,EAAE,mBALH;AAMhBC,iBAAe,EAAE,iBAND;AAOhBC,oBAAkB,EAAE,oBAPJ;AAQhBC,kBAAgB,EAAE;AARF,CAAlB;AAWA;AACA;AACA;;AACA,IAAMlhB,aAAa,GAAG,SAAhBA,aAAgB,CAAUvK,IAAV,EAAgBtE,IAAhB,EAAsB;AAC1C,MAAIgpB,MAAJ;AAEA1kB,MAAI,CACDL,MADH,CACU,MADV,EAEGA,MAFH,CAEU,QAFV,EAGGvC,IAHH,CAGQ,IAHR,EAGc6tB,SAAS,CAACC,cAHxB,EAIG9tB,IAJH,CAIQ,MAJR,EAIgB,CAJhB,EAKGA,IALH,CAKQ,MALR,EAKgB,CALhB,EAMGA,IANH,CAMQ,aANR,EAMuB,EANvB,EAOGA,IAPH,CAOQ,cAPR,EAOwB,EAPxB,EAQGA,IARH,CAQQ,QARR,EAQkB,MARlB,EASGuC,MATH,CASU,MATV,EAUGvC,IAVH,CAUQ,QAVR,EAUkB1B,IAAI,CAACsf,MAVvB,EAWG5d,IAXH,CAWQ,MAXR,EAWgB,MAXhB,EAYGA,IAZH,CAYQ,GAZR,EAYa,yBAZb;AAcA4C,MAAI,CACDL,MADH,CACU,MADV,EAEGA,MAFH,CAEU,QAFV,EAGGvC,IAHH,CAGQ,IAHR,EAGc6tB,SAAS,CAACE,YAHxB,EAIG/tB,IAJH,CAIQ,MAJR,EAIgB,EAJhB,EAKGA,IALH,CAKQ,MALR,EAKgB,CALhB,EAMGA,IANH,CAMQ,aANR,EAMuB,EANvB,EAOGA,IAPH,CAOQ,cAPR,EAOwB,EAPxB,EAQGA,IARH,CAQQ,QARR,EAQkB,MARlB,EASGuC,MATH,CASU,MATV,EAUGvC,IAVH,CAUQ,QAVR,EAUkB1B,IAAI,CAACsf,MAVvB,EAWG5d,IAXH,CAWQ,MAXR,EAWgB,MAXhB,EAYGA,IAZH,CAYQ,GAZR,EAYa,uBAZb;AAcAsnB,QAAM,GAAG1kB,IAAI,CACVL,MADM,CACC,MADD,EAENA,MAFM,CAEC,QAFD,EAGNvC,IAHM,CAGD,IAHC,EAGK6tB,SAAS,CAACG,iBAHf,EAINhuB,IAJM,CAID,MAJC,EAIO,CAJP,EAKNA,IALM,CAKD,MALC,EAKO,CALP,EAMNA,IANM,CAMD,aANC,EAMc,EANd,EAONA,IAPM,CAOD,cAPC,EAOe,EAPf,EAQNA,IARM,CAQD,QARC,EAQS,MART,CAAT;AASAsnB,QAAM,CACH/kB,MADH,CACU,QADV,EAEGvC,IAFH,CAEQ,QAFR,EAEkB1B,IAAI,CAACsf,MAFvB,EAGG5d,IAHH,CAGQ,MAHR,EAGgB,OAHhB,EAIGA,IAJH,CAIQ,IAJR,EAIc,EAJd,EAKGA,IALH,CAKQ,IALR,EAKc,CALd,EAMGA,IANH,CAMQ,GANR,EAMa,CANb;AAOAsnB,QAAM,CAAC/kB,MAAP,CAAc,MAAd,EAAsBvC,IAAtB,CAA2B,QAA3B,EAAqC1B,IAAI,CAACsf,MAA1C,EAAkD5d,IAAlD,CAAuD,MAAvD,EAA+D,MAA/D,EAAuEA,IAAvE,CAA4E,GAA5E,EAAiF,YAAjF;AAEAsnB,QAAM,GAAG1kB,IAAI,CACVL,MADM,CACC,MADD,EAENA,MAFM,CAEC,QAFD,EAGNvC,IAHM,CAGD,IAHC,EAGK6tB,SAAS,CAACI,eAHf,EAINjuB,IAJM,CAID,MAJC,EAIO,EAJP,EAKNA,IALM,CAKD,MALC,EAKO,CALP,EAMNA,IANM,CAMD,aANC,EAMc,EANd,EAONA,IAPM,CAOD,cAPC,EAOe,EAPf,EAQNA,IARM,CAQD,QARC,EAQS,MART,CAAT;AASAsnB,QAAM,CACH/kB,MADH,CACU,QADV,EAEGvC,IAFH,CAEQ,QAFR,EAEkB1B,IAAI,CAACsf,MAFvB,EAGG5d,IAHH,CAGQ,MAHR,EAGgB,OAHhB,EAIGA,IAJH,CAIQ,IAJR,EAIc,CAJd,EAKGA,IALH,CAKQ,IALR,EAKc,CALd,EAMGA,IANH,CAMQ,GANR,EAMa,CANb;AAOAsnB,QAAM,CAAC/kB,MAAP,CAAc,MAAd,EAAsBvC,IAAtB,CAA2B,QAA3B,EAAqC1B,IAAI,CAACsf,MAA1C,EAAkD5d,IAAlD,CAAuD,MAAvD,EAA+D,MAA/D,EAAuEA,IAAvE,CAA4E,GAA5E,EAAiF,cAAjF;AAEA4C,MAAI,CACDL,MADH,CACU,MADV,EAEGA,MAFH,CAEU,QAFV,EAGGvC,IAHH,CAGQ,IAHR,EAGc6tB,SAAS,CAACK,iBAHxB,EAIGluB,IAJH,CAIQ,MAJR,EAIgB,EAJhB,EAKGA,IALH,CAKQ,MALR,EAKgB,EALhB,EAMGA,IANH,CAMQ,aANR,EAMuB,EANvB,EAOGA,IAPH,CAOQ,cAPR,EAOwB,EAPxB,EAQGA,IARH,CAQQ,QARR,EAQkB,MARlB,EASGuC,MATH,CASU,MATV,EAUGvC,IAVH,CAUQ,QAVR,EAUkB1B,IAAI,CAACsf,MAVvB,EAWG5d,IAXH,CAWQ,MAXR,EAWgB,MAXhB,EAYGA,IAZH,CAYQ,GAZR,EAYa,8CAZb;AAcA4C,MAAI,CACDL,MADH,CACU,MADV,EAEGA,MAFH,CAEU,QAFV,EAGGvC,IAHH,CAGQ,IAHR,EAGc6tB,SAAS,CAACM,eAHxB,EAIGnuB,IAJH,CAIQ,MAJR,EAIgB,EAJhB,EAKGA,IALH,CAKQ,MALR,EAKgB,EALhB,EAMGA,IANH,CAMQ,aANR,EAMuB,EANvB,EAOGA,IAPH,CAOQ,cAPR,EAOwB,EAPxB,EAQGA,IARH,CAQQ,QARR,EAQkB,MARlB,EASGuC,MATH,CASU,MATV,EAUGvC,IAVH,CAUQ,QAVR,EAUkB1B,IAAI,CAACsf,MAVvB,EAWG5d,IAXH,CAWQ,MAXR,EAWgB,MAXhB,EAYGA,IAZH,CAYQ,GAZR,EAYa,0CAZb;AAcAsnB,QAAM,GAAG1kB,IAAI,CACVL,MADM,CACC,MADD,EAENA,MAFM,CAEC,QAFD,EAGNvC,IAHM,CAGD,IAHC,EAGK6tB,SAAS,CAACO,kBAHf,EAINpuB,IAJM,CAID,MAJC,EAIO,EAJP,EAKNA,IALM,CAKD,MALC,EAKO,EALP,EAMNA,IANM,CAMD,aANC,EAMc,EANd,EAONA,IAPM,CAOD,cAPC,EAOe,EAPf,EAQNA,IARM,CAQD,QARC,EAQS,MART,CAAT;AASAsnB,QAAM,CACH/kB,MADH,CACU,QADV,EAEGvC,IAFH,CAEQ,QAFR,EAEkB1B,IAAI,CAACsf,MAFvB,EAGG5d,IAHH,CAGQ,MAHR,EAGgB,OAHhB,EAIGA,IAJH,CAIQ,IAJR,EAIc,EAJd,EAKGA,IALH,CAKQ,IALR,EAKc,EALd,EAMGA,IANH,CAMQ,GANR,EAMa,CANb;AAOAsnB,QAAM,CACH/kB,MADH,CACU,MADV,EAEGvC,IAFH,CAEQ,QAFR,EAEkB1B,IAAI,CAACsf,MAFvB,EAGG5d,IAHH,CAGQ,MAHR,EAGgB,MAHhB,EAIGA,IAJH,CAIQ,GAJR,EAIa,+BAJb;AAMAsnB,QAAM,GAAG1kB,IAAI,CACVL,MADM,CACC,MADD,EAENA,MAFM,CAEC,QAFD,EAGNvC,IAHM,CAGD,IAHC,EAGK6tB,SAAS,CAACQ,gBAHf,EAINruB,IAJM,CAID,MAJC,EAIO,EAJP,EAKNA,IALM,CAKD,MALC,EAKO,EALP,EAMNA,IANM,CAMD,aANC,EAMc,EANd,EAONA,IAPM,CAOD,cAPC,EAOe,EAPf,EAQNA,IARM,CAQD,QARC,EAQS,MART,CAAT;AASAsnB,QAAM,CACH/kB,MADH,CACU,QADV,EAEGvC,IAFH,CAEQ,QAFR,EAEkB1B,IAAI,CAACsf,MAFvB,EAGG5d,IAHH,CAGQ,MAHR,EAGgB,OAHhB,EAIGA,IAJH,CAIQ,IAJR,EAIc,CAJd,EAKGA,IALH,CAKQ,IALR,EAKc,EALd,EAMGA,IANH,CAMQ,GANR,EAMa,CANb;AAOAsnB,QAAM,CACH/kB,MADH,CACU,MADV,EAEGvC,IAFH,CAEQ,QAFR,EAEkB1B,IAAI,CAACsf,MAFvB,EAGG5d,IAHH,CAGQ,MAHR,EAGgB,MAHhB,EAIGA,IAJH,CAIQ,GAJR,EAIa,iCAJb;AAMA;AACD,CA5ID;;AA8Ie;AACb6tB,WAAS,EAATA,SADa;AAEb1gB,eAAa,EAAbA;AAFa,CAAf,E;;;;;;;;;;;;AC5JA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,IAAM7O,IAAI,GAAG,EAAb;AAEA;AACA;AACA;AACA;AACA;;AACO,IAAM4nB,OAAO,GAAG,SAAVA,OAAU,CAAUC,GAAV,EAAe;AACpC,MAAMtnB,IAAI,GAAG7B,MAAM,CAAC6B,IAAP,CAAYsnB,GAAZ,CAAb;;AACA,OAAK,IAAItoB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGgB,IAAI,CAACf,MAAzB,EAAiCD,CAAC,EAAlC,EAAsC;AACpCS,QAAI,CAACO,IAAI,CAAChB,CAAD,CAAL,CAAJ,GAAgBsoB,GAAG,CAACtnB,IAAI,CAAChB,CAAD,CAAL,CAAnB;AACD;AACF,CALM;AAOP;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAMywB,cAAc,GAAG,SAAjBA,cAAiB,CAACC,SAAD,EAAYC,cAAZ,EAA4B/B,UAA5B,EAA2C;AAChE,MAAMgC,aAAa,GAAGnwB,IAAI,CAACqf,aAAL,GAAqB,CAA3C,CADgE,CAClB;;AAC9C,MAAM+Q,YAAY,GAAGpwB,IAAI,CAACqf,aAAL,GAAqB,CAA1C,CAFgE,CAEnB;;AAC7C,MAAMgR,YAAY,GAAGrwB,IAAI,CAAC0c,QAAL,GAAgB,IAArC;AACA,MAAM4T,SAAS,GAAGJ,cAAc,CAAC7uB,IAAf,GAAsBe,OAAtB,EAAlB;AACA,MAAMmuB,cAAc,GAAG,EAAvB,CALgE,CAKrC;;AAC3B,MAAIC,UAAU,GAAG,KAAjB;AACA,MAAIC,UAAU,GAAG,KAAjB;AACA,MAAI3Y,QAAQ,GAAG,CAAf;AACA,MAAI4Y,YAAY,GAAG,CAAnB;AACA,MAAIC,YAAY,GAAG,CAAnB;AACA,MAAIC,WAAW,GAAG,CAAlB;AACA,MAAIC,eAAe,GAAG,CAAtB;AACA,MAAIC,gBAAgB,GAAGR,SAAS,CAACxtB,MAAV,GAAmBqtB,aAAa,GAAG,CAA1D;AACA,MAAIY,OAAO,GAAG,CAAd;AAEA5C,YAAU,CAAC1tB,OAAX,CAAmB,UAACojB,IAAD,EAAU;AAC3B,QAAMmN,UAAU,aAAMd,cAAc,CAAC7uB,IAAf,GAAsBE,EAA5B,mBAAuCwvB,OAAvC,CAAhB;AACA,QAAIE,SAAS,GAAG,CAAhB;AACA,QAAIC,UAAU,GAAG,CAAjB,CAH2B,CAK3B;;AACA,QAAMC,QAAQ,GAAGlB,SAAS,CACvBhsB,MADc,CACP,MADO,EAEdvC,IAFc,CAET,OAFS,EAEA,gBAFA,EAGdA,IAHc,CAGT,IAHS,YAGAsvB,UAHA,YAIdtvB,IAJc,CAIT,GAJS,EAIJ,CAJI,EAKdA,IALc,CAKT,GALS,EAKJ,CALI,EAMdA,IANc,CAMT,mBANS,EAMY,QANZ,EAOdA,IAPc,CAOT,aAPS,EAOM,MAPN,EAQdA,IARc,CASb,OATa,EAUb,kBAAkBrB,yDAAS,GAAGW,UAA9B,GAA2C,eAA3C,GAA6DqvB,YAA7D,GAA4E,IAV/D,EAYdxuB,IAZc,CAYTgiB,IAAI,CAACuN,aAZI,CAAjB,CAN2B,CAoB3B;;AACA,QAAMC,QAAQ,GAAGpB,SAAS,CACvBhsB,MADc,CACP,MADO,EAEdvC,IAFc,CAET,OAFS,EAEA,gBAFA,EAGdA,IAHc,CAGT,IAHS,YAGAsvB,UAHA,YAIdtvB,IAJc,CAIT,GAJS,EAIJ,CAJI,EAKdA,IALc,CAKT,GALS,EAKJ,CALI,EAMdA,IANc,CAMT,mBANS,EAMY,QANZ,EAOdA,IAPc,CAOT,aAPS,EAOM,MAPN,EAQdA,IARc,CASb,OATa,EAUb,kBAAkBrB,yDAAS,GAAGW,UAA9B,GAA2C,eAA3C,GAA6DqvB,YAA7D,GAA4E,IAV/D,EAYdxuB,IAZc,CAYTgiB,IAAI,CAAC4K,aAZI,CAAjB;AAcA,QAAM6C,aAAa,GAAG,EAAtB;AACAA,iBAAa,CAACC,EAAd,GAAmBJ,QAAnB;AACAG,iBAAa,CAACE,EAAd,GAAmBH,QAAnB;AAEA,QAAMI,QAAQ,GAAGN,QAAQ,CAAC9vB,IAAT,GAAgBe,OAAhB,EAAjB;AACA,QAAMsvB,QAAQ,GAAGL,QAAQ,CAAChwB,IAAT,GAAgBe,OAAhB,EAAjB;AACAsuB,gBAAY,GAAG5nB,IAAI,CAAC6oB,GAAL,CAASjB,YAAT,EAAuBe,QAAQ,CAAC5uB,KAAhC,CAAf;AACA8tB,gBAAY,GAAG7nB,IAAI,CAAC6oB,GAAL,CAAShB,YAAT,EAAuBe,QAAQ,CAAC7uB,KAAhC,CAAf;AACAouB,aAAS,IAAIQ,QAAQ,CAAC5uB,KAAtB;AACAouB,aAAS,IAAIS,QAAQ,CAAC7uB,KAAtB;AAEAquB,cAAU,GAAGpoB,IAAI,CAAC6oB,GAAL,CAASF,QAAQ,CAAC3uB,MAAlB,EAA0B4uB,QAAQ,CAAC5uB,MAAnC,CAAb;;AAEA,QAAI0tB,UAAU,IAAI3M,IAAI,CAAC+N,gBAAL,KAA0B1vB,SAA5C,EAAuD;AACrD,UAAM2vB,WAAW,GAAG5B,SAAS,CAC1BhsB,MADiB,CACV,MADU,EAEjBvC,IAFiB,CAEZ,OAFY,EAEH,gBAFG,EAGjBA,IAHiB,CAGZ,IAHY,YAGHsvB,UAHG,YAIjBtvB,IAJiB,CAIZ,GAJY,EAIP,CAJO,EAKjBA,IALiB,CAKZ,GALY,EAKP,CALO,EAMjBA,IANiB,CAMZ,mBANY,EAMS,QANT,EAOjBA,IAPiB,CAOZ,aAPY,EAOG,MAPH,EAQjBA,IARiB,CAShB,OATgB,EAUhB,kBAAkBrB,yDAAS,GAAGW,UAA9B,GAA2C,eAA3C,GAA6DqvB,YAA7D,GAA4E,IAV5D,EAYjBxuB,IAZiB,CAYZgiB,IAAI,CAAC+N,gBAAL,IAAyB,EAZb,CAApB;AAcAN,mBAAa,CAACQ,EAAd,GAAmBD,WAAnB;AACA,UAAME,WAAW,GAAGF,WAAW,CAACxwB,IAAZ,GAAmBe,OAAnB,EAApB;AACA6uB,eAAS,IAAIc,WAAW,CAAClvB,KAAzB;AACA+tB,iBAAW,GAAG9nB,IAAI,CAAC6oB,GAAL,CAASf,WAAT,EAAsBK,SAAtB,CAAd;AACAC,gBAAU,GAAGpoB,IAAI,CAAC6oB,GAAL,CAAST,UAAT,EAAqBa,WAAW,CAACjvB,MAAjC,CAAb;AACA0tB,gBAAU,GAAG,IAAb;AACD;;AAED,QAAIC,UAAU,IAAI5M,IAAI,CAACmO,gBAAL,KAA0B9vB,SAA5C,EAAuD;AACrD,UAAM+vB,WAAW,GAAGhC,SAAS,CAC1BhsB,MADiB,CACV,MADU,EAEjBvC,IAFiB,CAEZ,OAFY,EAEH,gBAFG,EAGjBA,IAHiB,CAGZ,IAHY,YAGHsvB,UAHG,YAIjBtvB,IAJiB,CAIZ,GAJY,EAIP,CAJO,EAKjBA,IALiB,CAKZ,GALY,EAKP,CALO,EAMjBA,IANiB,CAMZ,mBANY,EAMS,QANT,EAOjBA,IAPiB,CAOZ,aAPY,EAOG,MAPH,EAQjBA,IARiB,CAShB,OATgB,EAUhB,kBAAkBrB,yDAAS,GAAGW,UAA9B,GAA2C,eAA3C,GAA6DqvB,YAA7D,GAA4E,IAV5D,EAYjBxuB,IAZiB,CAYZgiB,IAAI,CAACmO,gBAAL,IAAyB,EAZb,CAApB;AAcAV,mBAAa,CAACY,EAAd,GAAmBD,WAAnB;AACA,UAAME,eAAe,GAAGF,WAAW,CAAC5wB,IAAZ,GAAmBe,OAAnB,EAAxB;AACA6uB,eAAS,IAAIkB,eAAe,CAACtvB,KAA7B;AACAguB,qBAAe,GAAG/nB,IAAI,CAAC6oB,GAAL,CAASV,SAAT,EAAoBS,QAAQ,CAAC7uB,KAA7B,CAAlB;AACAquB,gBAAU,GAAGpoB,IAAI,CAAC6oB,GAAL,CAAST,UAAT,EAAqBiB,eAAe,CAACrvB,MAArC,CAAb;AACA2tB,gBAAU,GAAG,IAAb;AACD;;AAEDa,iBAAa,CAACxuB,MAAd,GAAuBouB,UAAvB,CA9F2B,CA+F3B;;AACAX,kBAAc,CAACtvB,IAAf,CAAoBqwB,aAApB;AACAxZ,YAAQ,GAAGhP,IAAI,CAAC6oB,GAAL,CAAS7Z,QAAT,EAAmBmZ,SAAnB,CAAX;AACAH,oBAAgB,IAAII,UAAU,GAAGf,aAAa,GAAG,CAAjD;AACAY,WAAO,IAAI,CAAX;AACD,GApGD,EAhBgE,CAsHhE;;AACA,MAAMqB,IAAI,GAAG;AACXvvB,SAAK,EAAEiG,IAAI,CAAC6oB,GAAL,CACL3xB,IAAI,CAACmf,cADA,EAELrW,IAAI,CAAC6oB,GAAL,CAASrB,SAAS,CAACztB,KAAV,GAAkB7C,IAAI,CAACqf,aAAL,GAAqB,CAAhD,EAAmDvH,QAAQ,GAAGsY,YAAY,GAAG,CAA7E,CAFK,CADI;AAKXttB,UAAM,EACJqrB,UAAU,CAAC3uB,MAAX,GAAoB,CAApB,GACIsxB,gBADJ,GAEIhoB,IAAI,CAAC6oB,GAAL,CAAS3xB,IAAI,CAACof,eAAd,EAA+BkR,SAAS,CAACxtB,MAAV,GAAmB9C,IAAI,CAACqf,aAAL,GAAqB,CAAvE;AARK,GAAb,CAvHgE,CAkIhE;;AACA,MAAMgT,UAAU,GAAGvpB,IAAI,CAAC6oB,GAAL,CAAS,CAAT,EAAYS,IAAI,CAACvvB,KAAL,GAAaiV,QAAb,GAAwBsY,YAAY,GAAG,CAAnD,CAAnB;;AAEA,MAAIjC,UAAU,CAAC3uB,MAAX,GAAoB,CAAxB,EAA2B;AACzB;AACA0wB,kBAAc,CAACxuB,IAAf,CACE,WADF,EAEE,eAAe0wB,IAAI,CAACvvB,KAAL,GAAa,CAA5B,GAAgC,GAAhC,IAAuCstB,aAAa,GAAGG,SAAS,CAACxtB,MAAV,GAAmB,CAA1E,IAA+E,GAFjF,EAFyB,CAOzB;;AACA,QAAIwvB,YAAY,GAAGhC,SAAS,CAACxtB,MAAV,GAAmBqtB,aAAa,GAAG,CAAtD,CARyB,CAQgC;;AACzD,QAAIoC,WAAW,GAAG,iBAAlB,CATyB,CASY;;AAErChC,kBAAc,CAAC9vB,OAAf,CAAuB,UAAC6wB,aAAD,EAAmB;AACxC;AACA,UAAMkB,MAAM,GAAGF,YAAY,GAAGnC,aAAf,GAA+BmB,aAAa,CAACxuB,MAAd,GAAuB,CAArE,CAFwC,CAIxC;;AACAwuB,mBAAa,CAACC,EAAd,CAAiB7vB,IAAjB,CAAsB,WAAtB,EAAmC,eAAe0uB,YAAf,GAA8B,GAA9B,GAAoCoC,MAApC,GAA6C,GAAhF,EALwC,CAOxC;;AACA,UAAMC,QAAQ,GAAGxC,SAAS,CACvBxuB,MADc,CACP,MADO,EACC,MAAM6vB,aAAa,CAACC,EAAd,CAAiBlwB,IAAjB,GAAwBE,EAD/B,EAEdG,IAFc,CAET,OAFS,eAEM6wB,WAFN,GAGd7wB,IAHc,CAGT,MAHS,EAGD1B,IAAI,CAACuf,IAHJ,EAId7d,IAJc,CAIT,cAJS,EAIO,MAJP,EAKdA,IALc,CAKT,QALS,EAKC1B,IAAI,CAACsf,MALN,EAMd5d,IANc,CAMT,GANS,EAMJ,CANI,EAOdA,IAPc,CAOT,GAPS,EAOJ4wB,YAPI,EAQd5wB,IARc,CAQT,OARS,EAQAgvB,YAAY,GAAG,CAAf,GAAmB2B,UAAU,GAAG,CARhC,EASd3wB,IATc,CAST,QATS,EASC4vB,aAAa,CAACC,EAAd,CAAiBlwB,IAAjB,GAAwBe,OAAxB,GAAkCU,MAAlC,GAA2CqtB,aAAa,GAAG,CAT5D,CAAjB,CARwC,CAmBxC;;AACAmB,mBAAa,CAACE,EAAd,CAAiB9vB,IAAjB,CACE,WADF,EAEE,gBAAgBgxB,UAAU,CAACD,QAAQ,CAAC/wB,IAAT,CAAc,OAAd,CAAD,CAAV,GAAqC0uB,YAArD,IAAqE,GAArE,GAA2EoC,MAA3E,GAAoF,GAFtF,EApBwC,CAyBxC;;AACAvC,eAAS,CACNxuB,MADH,CACU,MADV,EACkB,MAAM6vB,aAAa,CAACE,EAAd,CAAiBnwB,IAAjB,GAAwBE,EADhD,EAEGG,IAFH,CAEQ,OAFR,eAEuB6wB,WAFvB,GAGG7wB,IAHH,CAGQ,MAHR,EAGgB1B,IAAI,CAACuf,IAHrB,EAIG7d,IAJH,CAIQ,cAJR,EAIwB,MAJxB,EAKGA,IALH,CAKQ,QALR,EAKkB1B,IAAI,CAACsf,MALvB,EAMG5d,IANH,CAMQ,GANR,YAMgB+wB,QAAQ,CAAC/wB,IAAT,CAAc,GAAd,IAAqB+wB,QAAQ,CAAC/wB,IAAT,CAAc,OAAd,CANrC,GAOGA,IAPH,CAOQ,GAPR,EAOa4wB,YAPb,EAQG5wB,IARH,CAQQ,OARR,EAQiBivB,YAAY,GAAGP,YAAY,GAAG,CAA9B,GAAkCiC,UAAU,GAAG,CARhE,EASG3wB,IATH,CASQ,QATR,EASkB4vB,aAAa,CAACE,EAAd,CAAiBnwB,IAAjB,GAAwBe,OAAxB,GAAkCU,MAAlC,GAA2CqtB,aAAa,GAAG,CAT7E;;AAWA,UAAIK,UAAJ,EAAgB;AACd;AACAc,qBAAa,CAACQ,EAAd,CAAiBpwB,IAAjB,CACE,WADF,EAEE,gBAAgBgxB,UAAU,CAACD,QAAQ,CAAC/wB,IAAT,CAAc,OAAd,CAAD,CAAV,GAAqC0uB,YAArD,IAAqE,GAArE,GAA2EoC,MAA3E,GAAoF,GAFtF,EAFc,CAOd;;AACAvC,iBAAS,CACNxuB,MADH,CACU,MADV,EACkB,MAAM6vB,aAAa,CAACQ,EAAd,CAAiBzwB,IAAjB,GAAwBE,EADhD,EAEGG,IAFH,CAEQ,OAFR,eAEuB6wB,WAFvB,GAGG7wB,IAHH,CAGQ,MAHR,EAGgB1B,IAAI,CAACuf,IAHrB,EAIG7d,IAJH,CAIQ,cAJR,EAIwB,MAJxB,EAKGA,IALH,CAKQ,QALR,EAKkB1B,IAAI,CAACsf,MALvB,EAMG5d,IANH,CAMQ,GANR,YAMgB+wB,QAAQ,CAAC/wB,IAAT,CAAc,GAAd,IAAqB+wB,QAAQ,CAAC/wB,IAAT,CAAc,OAAd,CANrC,GAOGA,IAPH,CAOQ,GAPR,EAOa4wB,YAPb,EAQG5wB,IARH,CAQQ,OARR,EAQiBkvB,WAAW,GAAGR,YAAY,GAAG,CAA7B,GAAiCiC,UAAU,GAAG,CAR/D,EASG3wB,IATH,CASQ,QATR,EASkB4vB,aAAa,CAACQ,EAAd,CAAiBzwB,IAAjB,GAAwBe,OAAxB,GAAkCU,MAAlC,GAA2CqtB,aAAa,GAAG,CAT7E;AAUD;;AAED,UAAIM,UAAJ,EAAgB;AACd;AACAa,qBAAa,CAACY,EAAd,CAAiBxwB,IAAjB,CACE,WADF,EAEE,gBAAgBgxB,UAAU,CAACD,QAAQ,CAAC/wB,IAAT,CAAc,OAAd,CAAD,CAAV,GAAqC0uB,YAArD,IAAqE,GAArE,GAA2EoC,MAA3E,GAAoF,GAFtF,EAFc,CAOd;;AACAvC,iBAAS,CACNxuB,MADH,CACU,MADV,EACkB,MAAM6vB,aAAa,CAACY,EAAd,CAAiB7wB,IAAjB,GAAwBE,EADhD,EAEGG,IAFH,CAEQ,OAFR,eAEuB6wB,WAFvB,GAGG7wB,IAHH,CAGQ,MAHR,EAGgB1B,IAAI,CAACuf,IAHrB,EAIG7d,IAJH,CAIQ,cAJR,EAIwB,MAJxB,EAKGA,IALH,CAKQ,QALR,EAKkB1B,IAAI,CAACsf,MALvB,EAMG5d,IANH,CAMQ,GANR,YAMgB+wB,QAAQ,CAAC/wB,IAAT,CAAc,GAAd,IAAqB+wB,QAAQ,CAAC/wB,IAAT,CAAc,OAAd,CANrC,GAOGA,IAPH,CAOQ,GAPR,EAOa4wB,YAPb,EAQG5wB,IARH,CAQQ,OARR,EAQiBmvB,eAAe,GAAGT,YAAY,GAAG,CAAjC,GAAqCiC,UAAU,GAAG,CARnE,EASG3wB,IATH,CASQ,QATR,EASkB4vB,aAAa,CAACY,EAAd,CAAiB7wB,IAAjB,GAAwBe,OAAxB,GAAkCU,MAAlC,GAA2CqtB,aAAa,GAAG,CAT7E;AAUD,OA3EuC,CA6ExC;;;AACAmC,kBAAY,IAAIhB,aAAa,CAACxuB,MAAd,GAAuBqtB,aAAa,GAAG,CAAvD,CA9EwC,CAgFxC;;AACAoC,iBAAW,GAAGA,WAAW,IAAI,iBAAf,GAAmC,kBAAnC,GAAwD,iBAAtE;AACD,KAlFD;AAmFD,GA9FD,MA8FO;AACL;AACAH,QAAI,CAACtvB,MAAL,GAAcgG,IAAI,CAAC6oB,GAAL,CAAS3xB,IAAI,CAACof,eAAd,EAA+B0R,gBAA/B,CAAd,CAFK,CAIL;;AACAZ,kBAAc,CAACxuB,IAAf,CAAoB,WAApB,EAAiC,eAAe0wB,IAAI,CAACvvB,KAAL,GAAa,CAA5B,GAAgC,GAAhC,GAAsCuvB,IAAI,CAACtvB,MAAL,GAAc,CAApD,GAAwD,GAAzF;AACD;;AAED,SAAOsvB,IAAP;AACD,CA5OD;AA8OA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMO,YAAY,GAAG,SAAfA,YAAe,CAAUC,OAAV,EAAmBpF,QAAnB,EAA6B5iB,KAA7B,EAAoC;AACvD,MAAMrK,IAAI,GAAG7B,MAAM,CAAC6B,IAAP,CAAYitB,QAAZ,CAAb;AACA,MAAIqF,QAAJ;AAEAtyB,MAAI,CAACE,OAAL,CAAa,UAAUc,EAAV,EAAc;AACzB;AACA,QAAM0uB,SAAS,GAAG2C,OAAO,CAAC3uB,MAAR,CAAe,GAAf,EAAoBvC,IAApB,CAAyB,IAAzB,EAA+BH,EAA/B,CAAlB;AAEAsxB,YAAQ,GAAGA,QAAQ,KAAK3wB,SAAb,GAAyBX,EAAzB,GAA8BsxB,QAAzC,CAJyB,CAMzB;AACA;;AACA,QAAMC,MAAM,GAAG,YAAYvxB,EAA3B;AACA,QAAMwxB,QAAQ,GAAG9C,SAAS,CACvBhsB,MADc,CACP,MADO,EAEdvC,IAFc,CAET,OAFS,EAEA,gBAFA,EAGdA,IAHc,CAGT,IAHS,EAGHoxB,MAHG,EAIdpxB,IAJc,CAIT,GAJS,EAIJ,CAJI,EAKdA,IALc,CAKT,GALS,EAKJ,CALI,EAMdA,IANc,CAMT,mBANS,EAMY,QANZ,EAOdA,IAPc,CAOT,aAPS,EAOM,QAPN,EAQdA,IARc,CASb,OATa,EAUb,kBAAkBrB,yDAAS,GAAGW,UAA9B,GAA2C,eAA3C,GAA6DhB,IAAI,CAAC0c,QAAlE,GAA6E,IAVhE,EAYd7a,IAZc,CAYTN,EAZS,CAAjB;;AAcA,0BAAqDyuB,cAAc,CACjEC,SADiE,EAEjE8C,QAFiE,EAGjEvF,QAAQ,CAACjsB,EAAD,CAAR,CAAa4sB,UAHoD,CAAnE;AAAA,QAAe6E,WAAf,mBAAQnwB,KAAR;AAAA,QAAoCowB,YAApC,mBAA4BnwB,MAA5B,CAvByB,CA6BzB;;;AACA,QAAMowB,QAAQ,GAAGjD,SAAS,CACvBxuB,MADc,CACP,MADO,EACC,MAAMqxB,MADP,EAEdpxB,IAFc,CAET,OAFS,EAEA,cAFA,EAGdA,IAHc,CAGT,MAHS,EAGD1B,IAAI,CAACuf,IAHJ,EAId7d,IAJc,CAIT,cAJS,EAIO,MAJP,EAKdA,IALc,CAKT,QALS,EAKC1B,IAAI,CAACsf,MALN,EAMd5d,IANc,CAMT,GANS,EAMJ,CANI,EAOdA,IAPc,CAOT,GAPS,EAOJ,CAPI,EAQdA,IARc,CAQT,OARS,EAQAsxB,WARA,EASdtxB,IATc,CAST,QATS,EASCuxB,YATD,CAAjB;AAWA,QAAME,QAAQ,GAAGD,QAAQ,CAAC7xB,IAAT,GAAgBe,OAAhB,EAAjB,CAzCyB,CA2CzB;;AACAwI,SAAK,CAAC+C,OAAN,CAAcpM,EAAd,EAAkB;AAChBsB,WAAK,EAAEswB,QAAQ,CAACtwB,KADA;AAEhBC,YAAM,EAAEqwB,QAAQ,CAACrwB,MAFD;AAGhByB,WAAK,EAAE,MAHS;AAIhBhD,QAAE,EAAEA;AAJY,KAAlB;AAMD,GAlDD;AAmDA,SAAOsxB,QAAP;AACD,CAxDD,C,CAwDG;;;AAEH,IAAMO,cAAc,GAAG,SAAjBA,cAAiB,CAAUR,OAAV,EAAmBhoB,KAAnB,EAA0B;AAC/CA,OAAK,CAACwC,KAAN,GAAc3M,OAAd,CAAsB,UAAUsK,CAAV,EAAa;AACjC,QAAI,OAAOA,CAAP,KAAa,WAAb,IAA4B,OAAOH,KAAK,CAACvJ,IAAN,CAAW0J,CAAX,CAAP,KAAyB,WAAzD,EAAsE;AACpE6nB,aAAO,CACJjwB,MADH,CACU,MAAMoI,CADhB,EAEGrJ,IAFH,CAGI,WAHJ,EAII,gBACGkJ,KAAK,CAACvJ,IAAN,CAAW0J,CAAX,EAAcxH,CAAd,GAAkBqH,KAAK,CAACvJ,IAAN,CAAW0J,CAAX,EAAclI,KAAd,GAAsB,CAD3C,IAEE,GAFF,IAGG+H,KAAK,CAACvJ,IAAN,CAAW0J,CAAX,EAAcvH,CAAd,GAAkBoH,KAAK,CAACvJ,IAAN,CAAW0J,CAAX,EAAcjI,MAAd,GAAuB,CAH5C,IAIE,IARN;AAUD;AACF,GAbD;AAcA;AACD,CAhBD;;AAkBA,IAAMuwB,WAAW,GAAG,SAAdA,WAAc,CAAUtE,GAAV,EAAe;AACjC,SAAO,CAACA,GAAG,CAACC,OAAJ,GAAcD,GAAG,CAACE,KAAlB,GAA0BF,GAAG,CAACG,OAA/B,EAAwCvpB,OAAxC,CAAgD,KAAhD,EAAuD,EAAvD,CAAP;AACD,CAFD;AAIA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAM2tB,gBAAgB,GAAG,SAAnBA,gBAAmB,CAAU7F,aAAV,EAAyBxH,CAAzB,EAA4B;AACnDwH,eAAa,CAAChtB,OAAd,CAAsB,UAAU8I,CAAV,EAAa;AACjC0c,KAAC,CAACvS,OAAF,CAAUnK,CAAC,CAACylB,OAAZ,EAAqBzlB,CAAC,CAAC2lB,OAAvB,EAAgC;AAAEqE,kBAAY,EAAEhqB;AAAhB,KAAhC,EAAqD8pB,WAAW,CAAC9pB,CAAD,CAAhE;AACD,GAFD;AAGA,SAAOkkB,aAAP;AACD,CALD,C,CAKG;;;AAEH,IAAI+F,MAAM,GAAG,CAAb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAMC,0BAA0B,GAAG,SAA7BA,0BAA6B,CAAU3O,GAAV,EAAeiK,GAAf,EAAoB9I,CAApB,EAAuBxkB,MAAvB,EAA+B;AAChE+xB,QAAM,GAD0D,CAGhE;;AACA,MAAM5sB,IAAI,GAAGqf,CAAC,CAACrf,IAAF,CAAOmoB,GAAG,CAACC,OAAX,EAAoBD,GAAG,CAACG,OAAxB,EAAiCmE,WAAW,CAACtE,GAAD,CAA5C,CAAb,CAJgE,CAMhE;;AACA,MAAMnjB,YAAY,GAAGC,+CAAI,GACtBtI,CADkB,CAChB,UAAU9D,CAAV,EAAa;AACd,WAAOA,CAAC,CAAC8D,CAAT;AACD,GAHkB,EAIlBC,CAJkB,CAIhB,UAAU/D,CAAV,EAAa;AACd,WAAOA,CAAC,CAAC+D,CAAT;AACD,GANkB,EAOlBkI,KAPkB,CAOZC,6CAPY,CAArB,CAPgE,CAgBhE;;AACA,MAAMM,OAAO,GAAG6Y,GAAG,CAChBrjB,MADa,CACN,MADM,EACE,MAAMA,MADR,EAEbC,IAFa,CAER,OAFQ,EAEC,qBAFD,EAGbA,IAHa,CAGR,GAHQ,EAGHkK,YAAY,CAAChF,IAAI,CAACqD,MAAN,CAHT,EAIbvI,IAJa,CAIR,QAJQ,EAIE1B,IAAI,CAACsf,MAJP,EAKb5d,IALa,CAKR,MALQ,EAKA,MALA,CAAhB,CAjBgE,CAwBhE;;AACA,MAAIqtB,GAAG,CAACI,OAAJ,CAAYuE,OAAZ,KAAwBC,6CAAI,CAAC5F,cAAL,CAAoBC,eAAhD,EAAiE;AAC/D/hB,WAAO,CAACvK,IAAR,CAAa,kBAAb,EAAiC,KAAjC;AACD,GA3B+D,CA6BhE;;;AACA,MAAIwK,GAAG,GAAG,EAAV;;AACA,MAAIlM,IAAI,CAACoM,mBAAT,EAA8B;AAC5BF,OAAG,GACDG,MAAM,CAACC,QAAP,CAAgBC,QAAhB,GACA,IADA,GAEAF,MAAM,CAACC,QAAP,CAAgBE,IAFhB,GAGAH,MAAM,CAACC,QAAP,CAAgBG,QAHhB,GAIAJ,MAAM,CAACC,QAAP,CAAgBI,MALlB;AAMAR,OAAG,GAAGA,GAAG,CAACvG,OAAJ,CAAY,KAAZ,EAAmB,KAAnB,CAAN;AACAuG,OAAG,GAAGA,GAAG,CAACvG,OAAJ,CAAY,KAAZ,EAAmB,KAAnB,CAAN;AACD,GAxC+D,CA0ChE;AACA;AAEA;;;AACA,UAAQopB,GAAG,CAACI,OAAJ,CAAYyE,KAApB;AACE,SAAKD,6CAAI,CAACjG,WAAL,CAAiBC,WAAtB;AACE1hB,aAAO,CAACvK,IAAR,CAAa,YAAb,EAA2B,SAASwK,GAAT,GAAe,GAAf,GAAqB2nB,kDAAS,CAACtE,SAAV,CAAoBI,eAAzC,GAA2D,GAAtF;AACA;;AACF,SAAKgE,6CAAI,CAACjG,WAAL,CAAiBE,YAAtB;AACE3hB,aAAO,CAACvK,IAAR,CAAa,YAAb,EAA2B,SAASwK,GAAT,GAAe,GAAf,GAAqB2nB,kDAAS,CAACtE,SAAV,CAAoBQ,gBAAzC,GAA4D,GAAvF;AACA;;AACF,SAAK4D,6CAAI,CAACjG,WAAL,CAAiBG,WAAtB;AACE5hB,aAAO,CAACvK,IAAR,CAAa,YAAb,EAA2B,SAASwK,GAAT,GAAe,GAAf,GAAqB2nB,kDAAS,CAACtE,SAAV,CAAoBM,eAAzC,GAA2D,GAAtF;AACA;;AACF,SAAK8D,6CAAI,CAACjG,WAAL,CAAiBI,QAAtB;AACE7hB,aAAO,CAACvK,IAAR,CAAa,YAAb,EAA2B,SAASwK,GAAT,GAAe,GAAf,GAAqB2nB,kDAAS,CAACtE,SAAV,CAAoBE,YAAzC,GAAwD,GAAnF;AACA;AAZJ;;AAeA,UAAQV,GAAG,CAACI,OAAJ,CAAY2E,KAApB;AACE,SAAKH,6CAAI,CAACjG,WAAL,CAAiBC,WAAtB;AACE1hB,aAAO,CAACvK,IAAR,CACE,cADF,EAEE,SAASwK,GAAT,GAAe,GAAf,GAAqB2nB,kDAAS,CAACtE,SAAV,CAAoBG,iBAAzC,GAA6D,GAF/D;AAIA;;AACF,SAAKiE,6CAAI,CAACjG,WAAL,CAAiBE,YAAtB;AACE3hB,aAAO,CAACvK,IAAR,CACE,cADF,EAEE,SAASwK,GAAT,GAAe,GAAf,GAAqB2nB,kDAAS,CAACtE,SAAV,CAAoBO,kBAAzC,GAA8D,GAFhE;AAIA;;AACF,SAAK6D,6CAAI,CAACjG,WAAL,CAAiBG,WAAtB;AACE5hB,aAAO,CAACvK,IAAR,CACE,cADF,EAEE,SAASwK,GAAT,GAAe,GAAf,GAAqB2nB,kDAAS,CAACtE,SAAV,CAAoBK,iBAAzC,GAA6D,GAF/D;AAIA;;AACF,SAAK+D,6CAAI,CAACjG,WAAL,CAAiBI,QAAtB;AACE7hB,aAAO,CAACvK,IAAR,CAAa,cAAb,EAA6B,SAASwK,GAAT,GAAe,GAAf,GAAqB2nB,kDAAS,CAACtE,SAAV,CAAoBC,cAAzC,GAA0D,GAAvF;AACA;AArBJ,GA7DgE,CAqFhE;AAEA;;;AACA,MAAMuE,GAAG,GAAG9nB,OAAO,CAAC5K,IAAR,GAAe2yB,cAAf,EAAZ;AACA,MAAMC,UAAU,GAAGhoB,OAAO,CAAC5K,IAAR,GAAe6yB,gBAAf,CAAgCH,GAAG,GAAG,GAAtC,CAAnB,CAzFgE,CA2FhE;;AACA,MAAMI,OAAO,GAAG,QAAQX,MAAxB;AAEA,MAAMY,SAAS,GAAGtP,GAAG,CAClB7gB,MADe,CACR,MADQ,EAEfvC,IAFe,CAEV,OAFU,EAED,sBAFC,EAGfA,IAHe,CAGV,IAHU,EAGJyyB,OAHI,EAIfzyB,IAJe,CAIV,GAJU,EAILuyB,UAAU,CAAC1wB,CAJN,EAKf7B,IALe,CAKV,GALU,EAKLuyB,UAAU,CAACzwB,CALN,EAMf9B,IANe,CAMV,aANU,EAMK,QANL,EAOfA,IAPe,CAOV,mBAPU,EAOW,QAPX,EAQfA,IARe,CASd,OATc,EAUd,kBAAkBrB,yDAAS,GAAGW,UAA9B,GAA2C,eAA3C,GAA6DhB,IAAI,CAAC0c,QAAlE,GAA6E,IAV/D,EAYf7a,IAZe,CAYVktB,GAAG,CAACE,KAZM,CAAlB,CA9FgE,CA4GhE;;AACA,MAAMqB,SAAS,GAAG8D,SAAS,CAAC/yB,IAAV,GAAiBe,OAAjB,EAAlB,CA7GgE,CA+GhE;;AACA0iB,KAAG,CACArjB,MADH,CACU,MADV,EACkB,MAAM0yB,OADxB,EAEGzyB,IAFH,CAEQ,OAFR,EAEiB,yBAFjB,EAGGA,IAHH,CAGQ,GAHR,EAGauyB,UAAU,CAAC1wB,CAAX,GAAe+sB,SAAS,CAACztB,KAAV,GAAkB,CAH9C,EAIGnB,IAJH,CAIQ,GAJR,EAIauyB,UAAU,CAACzwB,CAAX,GAAe8sB,SAAS,CAACxtB,MAAV,GAAmB,CAJ/C,EAKGpB,IALH,CAKQ,OALR,EAKiB4uB,SAAS,CAACztB,KAL3B,EAMGnB,IANH,CAMQ,QANR,EAMkB4uB,SAAS,CAACxtB,MAN5B,EAOGpB,IAPH,CAOQ,MAPR,EAOgB,OAPhB,EAQGA,IARH,CAQQ,cARR,EAQwB,KARxB;AAUA;AACD,CA3HD;AA6HA;AACA;AACA;AACA;AACA;;;AACO,IAAM8mB,IAAI,GAAG,SAAPA,IAAO,CAAU3mB,IAAV,EAAgBN,EAAhB,EAAoB;AACtCZ,6CAAG,CAACiE,IAAJ,CAAS,oBAAT;AACA+uB,+CAAI,CAACjvB,KAAL;AACA,MAAMkhB,MAAM,GAAGyO,wDAAQ,CAACzO,MAAxB;AACAA,QAAM,CAACC,EAAP,GAAY8N,6CAAZ,CAJsC,CAMtC;;AACA,MAAI;AACF/N,UAAM,CAACnY,KAAP,CAAa5L,IAAb;AACD,GAFD,CAEE,OAAO+pB,GAAP,EAAY;AACZjrB,+CAAG,CAACC,KAAJ,CAAU,gBAAV;AACD,GAXqC,CAatC;;;AACA,MAAMkkB,GAAG,GAAGniB,iDAAM,gBAASpB,EAAT,QAAlB,CAdsC,CAgBtC;;AACAsyB,oDAAS,CAAChlB,aAAV,CAAwBiW,GAAxB,EAA6B9kB,IAA7B,EAjBsC,CAmBtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;;AACA,MAAIimB,CAAJ,CAlCsC,CAoCtC;AACA;AACA;AACA;AACA;;AACAA,GAAC,GAAG,IAAIlZ,+CAAQ,CAAC4H,KAAb,CAAmB;AACrBC,cAAU,EAAE,IADS;AAErB0f,YAAQ,EAAE,IAFW;AAGrBzf,YAAQ,EAAE;AAHW,GAAnB,EAKDC,QALC,CAKQ;AACR3H,WAAO,EAAEnN,IAAI,CAACkf,eADN;AAERjK,WAAO,EAAE,EAFD;AAGRC,WAAO,EAAE,EAHD;AAIRH,WAAO,EAAE,GAJD;AAKRwf,WAAO,EAAE,GALD;AAMRvf,WAAO,EAAE;AAND,GALR,EAaDG,mBAbC,CAamB,YAAY;AAC/B,WAAO,EAAP;AACD,GAfC,CAAJ,CAzCsC,CA0DtC;AACA;;AACA,MAAMqf,WAAW,GAAG7B,YAAY,CAAC7N,GAAD,EAAM6O,6CAAI,CAACvF,WAAL,EAAN,EAA0BnI,CAA1B,CAAhC,CA5DsC,CA8DtC;AAEA;;AACA,MAAMwH,aAAa,GAAG6F,gBAAgB,CAACK,6CAAI,CAACvE,gBAAL,EAAD,EAA0BnJ,CAA1B,CAAtC;AAEA5X,8CAAK,CAACC,MAAN,CAAa2X,CAAb,EAnEsC,CAmErB;AAEjB;;AACAmN,gBAAc,CAACtO,GAAD,EAAMmB,CAAN,CAAd,CAtEsC,CAwEtC;;AACAwH,eAAa,CAAChtB,OAAd,CAAsB,UAAUsuB,GAAV,EAAe;AACnC0E,8BAA0B,CAAC3O,GAAD,EAAMiK,GAAN,EAAW9I,CAAX,EAAcuO,WAAd,CAA1B;AACD,GAFD;AAIA,MAAMzxB,OAAO,GAAG/C,IAAI,CAACua,cAArB;AAEA,MAAM8N,SAAS,GAAGvD,GAAG,CAACzjB,IAAJ,GAAWe,OAAX,EAAlB;AACA,MAAMS,KAAK,GAAGwlB,SAAS,CAACxlB,KAAV,GAAkBE,OAAO,GAAG,CAA1C;AACA,MAAMD,MAAM,GAAGulB,SAAS,CAACvlB,MAAV,GAAmBC,OAAO,GAAG,CAA5C;AAEAulB,iEAAgB,CAACxD,GAAD,EAAMhiB,MAAN,EAAcD,KAAd,EAAqB7C,IAAI,CAAC0a,WAA1B,CAAhB;AAEAoK,KAAG,CAACpjB,IAAJ,CAAS,SAAT,YAAuB2mB,SAAS,CAAC9kB,CAAV,GAAcR,OAArC,cAAgDslB,SAAS,CAAC7kB,CAAV,GAAcT,OAA9D,cAAyEF,KAAzE,cAAkFC,MAAlF;AACD,CAtFM,C,CAsFJ;;AAEY;AACb8kB,SAAO,EAAPA,OADa;AAEbY,MAAI,EAAJA;AAFa,CAAf,E;;;;;;;;;;;ACnlBA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA,eAAe,kCAAkC;AACjD,iBAAiB,kCAAkC;AACnD;AACA;AACA;AACA,qBAAqB,IAAI;AACzB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mJAAmJ;AACnJ,SAAS;;AAET;AACA;AACA,qBAAqB,+BAA+B;AACpD;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,WAAW,YAAY,IAAI,WAAW,SAAS;AACvE,cAAc,0BAA0B,EAAE;AAC1C,MAAM;AACN,WAAW,kqBAAkqB;AAC7qB,aAAa,oWAAoW;AACjX;AACA;AACA;;AAEA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uEAAuE;;AAEvE;AACA;;AAEA,2CAA2C;AAC3C;AACA;AACA,0CAA0C;;AAE1C;AACA;AACA,wB;AACA;AACA;AACA,sB;AACA;AACA;AACA,iBAAiB,oCAAoC;AACrD;AACA;AACA,mB;AACA;AACA;AACA,uBAAuB,e;AACvB;AACA;AACA,WAAW,kD;AACX;AACA;AACA,WAAW,8E;AACX;AACA;AACA,WAAW,8E;AACX;AACA;AACA,WAAW,0G;AACX;AACA;AACA,e;AACA;AACA;;AAEA,kBAAkB;AAClB,kEAAkE;;AAElE;AACA;AACA,qC;AACA;AACA;AACA,sC;AACA;AACA;AACA,qC;AACA;AACA;AACA,kC;AACA;AACA;AACA,4C;AACA;AACA;AACA,wC;AACA;AACA;AACA,mC;AACA;AACA;AACA,iB;AACA;AACA;AACA,uBAAuB,qB;AACvB;AACA;AACA,6C;AACA;AACA;AACA,2CAA2C,4C;AAC3C;AACA;AACA,qBAAqB,8B;AACrB;AACA;AACA,CAAC;AACD,SAAS,0BAA0B,EAAE,MAAM,cAAc,IAAI,GAAG,0BAA0B,EAAE,cAAc,EAAE,UAAU,EAAE,qEAAqE,EAAE,QAAQ,EAAE,uBAAuB,gCAAgC,QAAQ,gBAAgB,oCAAoC,uDAAuD,kDAAkD,8CAA8C,UAAU,EAAE,gBAAgB,EAAE,UAAU,eAAe,aAAa,EAAE,mCAAmC,EAAE,0BAA0B,uEAAuE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,gBAAgB,mCAAmC,EAAE,gBAAgB,EAAE,UAAU,EAAE,kCAAkC,8BAA8B,UAAU,EAAE,0BAA0B,gBAAgB,UAAU,eAAe,0BAA0B,2BAA2B,UAAU,uEAAuE,UAAU;AAClkC,iBAAiB,mEAAmE;AACpF;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+D;AAC/D;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,kBAAkB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,iCAAiC;AACjC,qBAAqB;AACrB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL,qDAAqD;AACrD;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;AACL,UAAU,wBAAwB;AAClC;AACA;AACA;AACA,qCAAqC,W;AACrC;AACA,qCAAqC,W;AACrC;AACA,wBAAwB,6BAA6B,W;AACrD;AACA,wBAAwB,iBAAiB,W;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,W;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,W;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,iBAAiB,kBAAkB,gCAAgC,oBAAoB,yBAAyB,oBAAoB,gGAAgG,2GAA2G,mCAAmC,cAAc,uCAAuC,aAAa;AACpb,aAAa,kBAAkB,8BAA8B,mBAAmB,gCAAgC,kBAAkB,gCAAgC,UAAU,iDAAiD,YAAY;AACzO,CAAC;AACD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,0BAA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;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mJAAmJ;AACnJ,SAAS;;AAET;AACA;AACA,qBAAqB,+BAA+B;AACpD;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,WAAW,YAAY,IAAI,WAAW,SAAS;AACvE,cAAc,0BAA0B,EAAE;AAC1C,MAAM;AACN,WAAW,qzDAAqzD;AACh0D,aAAa,wkCAAwkC;AACrlC;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,qB;AACvB;AACA;AACA,6C;AACA;AACA;AACA,2CAA2C,4C;AAC3C;AACA;AACA,qBAAqB,qC;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA,2BAA2B;AAC3B;AACA;AACA,6CAA6C;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,8CAA8C,WAAW,qD;AACrG;AACA;AACA,8CAA8C,gDAAgD,WAAW,yD;AACzG;AACA;AACA,iCAAiC,aAAa;AAC9C;AACA;AACA,gCAAgC,aAAa;AAC7C;AACA;AACA,gCAAgC;AAChC;AACA;AACA,kCAAkC,qDAAqD;AACvF;AACA;AACA,oBAAoB;AACpB;AACA;AACA,kBAAkB;AAClB;AACA;AACA,kBAAkB;AAClB;AACA;AACA,kBAAkB;AAClB;AACA;AACA,kBAAkB;AAClB;AACA;AACA,kBAAkB;AAClB;AACA;AACA,kBAAkB;AAClB;AACA;AACA,kBAAkB;AAClB;AACA;AACA,kBAAkB;AAClB;AACA;AACA,kBAAkB;AAClB;AACA;AACA,kBAAkB;AAClB;AACA;AACA,kBAAkB;AAClB;AACA;AACA,kBAAkB;AAClB;AACA;AACA,kBAAkB;AAClB;AACA;AACA,kBAAkB;AAClB;AACA;AACA,+BAA+B,kBAAkB;AACjD;AACA;AACA,uBAAuB;AACvB;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA,4CAA4C,WAAW;AACvD;AACA;AACA,kCAAkC,UAAU;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA,kBAAkB;AAClB;AACA;AACA,kBAAkB;AAClB;AACA;AACA,kBAAkB,qCAAqC;AACvD;AACA;AACA,kBAAkB;AAClB;AACA;AACA,kBAAkB,+CAA+C;AACjE;AACA;AACA,kBAAkB;AAClB;AACA;AACA,kBAAkB,+BAA+B;AACjD;AACA;AACA,kBAAkB;AAClB;AACA;AACA,kBAAkB,uCAAuC;AACzD;AACA;AACA,kBAAkB;AAClB;AACA;AACA,kBAAkB;AAClB;AACA;AACA,kBAAkB;AAClB;AACA;AACA,kBAAkB,8CAA8C;AAChE;AACA;AACA,kBAAkB,4CAA4C;AAC9D;AACA;AACA,kBAAkB;AAClB;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,CAAC;AACD,SAAS,iDAAiD,EAAE,MAAM,EAAE,QAAQ,EAAE,kDAAkD,YAAY,MAAM,GAAG,eAAe,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,oBAAoB,EAAE,SAAS,EAAE,QAAQ,EAAE,gTAAgT,EAAE,sBAAsB,6DAA6D,uCAAuC,sFAAsF,0DAA0D,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,oCAAoC,6BAA6B,aAAa,GAAG,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,4KAA4K,2EAA2E,WAAW,gBAAgB,yOAAyO,mPAAmP,2BAA2B,EAAE,kBAAkB,yDAAyD,WAAW,eAAe,cAAc,iBAAiB,6IAA6I,0DAA0D,6BAA6B,GAAG,mSAAmS,iJAAiJ,mSAAmS,aAAa,OAAO,gBAAgB,QAAQ,GAAG,0JAA0J,EAAE,6BAA6B,EAAE,0JAA0J,EAAE,+IAA+I,eAAe,sBAAsB,iBAAiB,WAAW,iBAAiB,oJAAoJ,iBAAiB,WAAW,mSAAmS,iIAAiI,EAAE,mSAAmS,EAAE,8SAA8S,EAAE,mSAAmS,EAAE,mSAAmS,EAAE,mSAAmS,EAAE,mSAAmS,EAAE,8SAA8S,EAAE,mSAAmS,EAAE,mSAAmS,EAAE,mSAAmS,+BAA+B,aAAa,EAAE,SAAS,2CAA2C,cAAc,iBAAiB,WAAW,GAAG,WAAW,EAAE,mSAAmS,EAAE,+RAA+R,qWAAqW,0TAA0T,EAAE,mTAAmT,EAAE,cAAc,EAAE,oJAAoJ,EAAE,WAAW,EAAE,WAAW,EAAE,sBAAsB,kBAAkB,WAAW,EAAE,oJAAoJ,EAAE,oJAAoJ,EAAE,WAAW,eAAe,WAAW,GAAG,sBAAsB,EAAE,WAAW,kBAAkB,sBAAsB,eAAe,2HAA2H,GAAG,+RAA+R,EAAE,mSAAmS,EAAE,+RAA+R,EAAE,+RAA+R,EAAE,+RAA+R,EAAE,+RAA+R,EAAE,+RAA+R,EAAE,+RAA+R,EAAE,mSAAmS,EAAE,+RAA+R,EAAE,0SAA0S,EAAE,0SAA0S,EAAE,2BAA2B,eAAe,QAAQ,iCAAiC,+RAA+R,gCAAgC,mSAAmS,aAAa,OAAO,iBAAiB,uIAAuI,EAAE,mHAAmH,EAAE,mHAAmH,EAAE,8HAA8H,EAAE,8HAA8H,EAAE,WAAW,EAAE,mHAAmH,EAAE,mHAAmH,EAAE,+IAA+I,gBAAgB,WAAW,gBAAgB,WAAW,+CAA+C,WAAW,gCAAgC,+RAA+R,sFAAsF,+RAA+R,4JAA4J,+RAA+R,EAAE,mTAAmT,8BAA8B,QAAQ,kBAAkB,qGAAqG,iNAAiN,QAAQ,iBAAiB,QAAQ,GAAG,WAAW,gBAAgB,QAAQ,GAAG,WAAW,+BAA+B,QAAQ,gBAAgB,QAAQ,gBAAgB,yIAAyI,iBAAiB,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,2BAA2B,gBAAgB,4GAA4G,kBAAkB,+IAA+I,EAAE,+IAA+I,uEAAuE,OAAO,kBAAkB,qGAAqG,iBAAiB,oJAAoJ,iBAAiB,oJAAoJ,GAAG,mTAAmT,EAAE,mHAAmH,EAAE,mHAAmH,8BAA8B,QAAQ,iBAAiB,QAAQ;AACr2kB,iBAAiB,mCAAmC;AACpD;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+D;AAC/D;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,kBAAkB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,iCAAiC;AACjC,qBAAqB;AACrB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL,qDAAqD;AACrD;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;AACL,WAAW;AACX;AACA;AACA;AACA,qCAAqC,W;AACrC;AACA,qCAAqC,W;AACrC;AACA,wBAAwB,6BAA6B,W;AACrD;AACA,wBAAwB,iBAAiB,W;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,mBAAmB;AACnD;AACA,gCAAgC,mBAAmB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,Y;AAC3B;AACA,2BAA2B,Y;AAC3B;AACA,2BAA2B,Y;AAC3B;AACA,2BAA2B,Y;AAC3B;AACA,2BAA2B,Y;AAC3B;AACA,2BAA2B,Y;AAC3B;AACA,2BAA2B,Y;AAC3B;AACA,2BAA2B,Y;AAC3B;AACA,2BAA2B,Y;AAC3B;AACA,2BAA2B,Y;AAC3B;AACA,2BAA2B,Y;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A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;AACA;AACA,oCAAoC;AACpC;AACA;AACA,iCAAiC;AACjC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,kBAAkB;AAClB;AACA;AACA,kBAAkB;AAClB;AACA;AACA,kBAAkB,2CAA2C;AAC7D;AACA;AACA,kBAAkB,+CAA+C;AACjE;AACA;AACA,kBAAkB,yCAAyC;AAC3D;AACA;AACA,kBAAkB,6CAA6C;AAC/D;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,qB;AACvB;AACA;AACA,6C;AACA;AACA;AACA,2CAA2C,4C;AAC3C;AACA;AACA,qBAAqB,iC;AACrB;AACA;AACA,CAAC;AACD,SAAS,0BAA0B,EAAE,MAAM,EAAE,0BAA0B,cAAc,IAAI,GAAG,cAAc,EAAE,UAAU,EAAE,QAAQ,EAAE,oIAAoI,EAAE,uBAAuB,gCAAgC,QAAQ,gBAAgB,mGAAmG,yJAAyJ,UAAU,gBAAgB,oBAAoB,EAAE,UAAU,EAAE,gBAAgB,EAAE,UAAU,0CAA0C,oBAAoB,gBAAgB,UAAU,iBAAiB,aAAa,EAAE,UAAU,eAAe,UAAU,8BAA8B,UAAU,GAAG,UAAU;AAC33B,iBAAiB,qCAAqC;AACtD;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+D;AAC/D;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,kBAAkB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,iCAAiC;AACjC,qBAAqB;AACrB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL,qDAAqD;AACrD;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;AACL,UAAU,wBAAwB;AAClC;AACA;AACA;AACA,qCAAqC,W;AACrC;AACA,qCAAqC,W;AACrC;AACA,wBAAwB,6BAA6B,W;AACrD;AACA,wBAAwB,iBAAiB,W;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;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AM;AACN,WAAW,uSAAuS;AAClT,aAAa,0JAA0J;AACvK;AACA;AACA;;AAEA;AACA;AACA;AACA,iB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,yBAAyB;AACzB;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,SAAS,YAAY,EAAE,MAAM,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,QAAQ,EAAE,QAAQ,cAAc,gBAAgB,gBAAgB,sBAAsB,EAAE,QAAQ,EAAE,gFAAgF,eAAe,SAAS,eAAe,UAAU,gBAAgB,0BAA0B,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,0BAA0B,EAAE,QAAQ,eAAe,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,UAAU,EAAE,oBAAoB,EAAE,UAAU,EAAE,UAAU;AAC1lB,iBAAiB,2GAA2G;AAC5H;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+D;AAC/D;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,kBAAkB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,iCAAiC;AACjC,qBAAqB;AACrB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL,qDAAqD;AACrD;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;AACL,UAAU,wBAAwB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,aAAa,WAAW,kCAAkC,WAAW,kCAAkC,YAAY;AACnH,CAAC;AACD;AA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CzB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mJAAmJ;AACnJ,SAAS;;AAET;AACA;AACA,qBAAqB,+BAA+B;AACpD;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,WAAW,YAAY,IAAI,WAAW,SAAS;AACvE,cAAc,0BAA0B,EAAE;AAC1C,MAAM;AACN,WAAW,mHAAmH;AAC9H,aAAa,gDAAgD;AAC7D;AACA;AACA;;AAEA;AACA;AACA;AACA,W;AACA;AACA;;AAEA;AACA;AACA,kB;AACA;AACA;AACA,CAAC;AACD,SAAS,YAAY,EAAE,MAAM,cAAc,IAAI,GAAG,iCAAiC,EAAE,QAAQ;AAC7F,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+D;AAC/D;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,kBAAkB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,iCAAiC;AACjC,qBAAqB;AACrB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL,qDAAqD;AACrD;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;AACL,UAAU,wBAAwB;AAClC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,aAAa,WAAW;AACxB,CAAC;AACD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,CAAC;;;AAGD,IAAI,IAAgE;AACpE;AACA;AACA,6BAA6B,8CAA8C;AAC3E;AACA;AACA;AACA;AACA;AACA,iBAAiB,mBAAO,CAAC,0DAAI,eAAe,mBAAO,CAAC,qDAAM;AAC1D;AACA;AACA,IAAI,KAA6B,IAAI,4CAAY;AACjD;AACA;AACA,C;;;;;;;;;;;;;AC7mBA;AAAA,IAAMS,SAAS,GAAG,SAAZA,SAAY;AAAA;AAAA,CAAlB;;AAEeA,wEAAf,E;;;;;;;;;;;ACFA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA,eAAe,kCAAkC;AACjD,iBAAiB,kCAAkC;AACnD;AACA;AACA;AACA,qBAAqB,IAAI;AACzB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mJAAmJ;AACnJ,SAAS;;AAET;AACA;AACA,qBAAqB,+BAA+B;AACpD;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,WAAW,YAAY,IAAI,WAAW,SAAS;AACvE,cAAc,0BAA0B,EAAE;AAC1C,MAAM;AACN,WAAW,sPAAsP,mHAAmH;AACpX,aAAa,wGAAwG,2FAA2F;AAChN;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iD;AACA;AACA;AACA,sBAAsB,oB;AACtB;AACA;AACA,uBAAuB,qB;AACvB;AACA;AACA,6C;AACA;AACA;AACA,2CAA2C,4C;AAC3C;AACA;AACA,qBAAqB,+B;AACrB;AACA;AACA,CAAC;AACD,SAAS,mDAAmD,EAAE,MAAM,EAAE,oDAAoD,EAAE,oDAAoD,YAAY,cAAc,6CAA6C,gBAAgB,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,YAAY,kDAAkD,aAAa,KAAK,GAAG,uBAAuB,iCAAiC,0BAA0B,EAAE,UAAU,EAAE,UAAU,0BAA0B,kDAAkD,iBAAiB,gBAAgB,wDAAwD,aAAa,EAAE,UAAU;AAClqB,iBAAiB,qCAAqC;AACtD;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+D;AAC/D;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,kBAAkB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,iCAAiC;AACjC,qBAAqB;AACrB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL,qDAAqD;AACrD;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;AACL,UAAU,wBAAwB;AAClC;AACA;AACA;AACA,qCAAqC,W;AACrC;AACA,qCAAqC,W;AACrC;AACA,wBAAwB,6BAA6B,W;AACrD;AACA,wBAAwB,iBAAiB,W;AACzC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OAAO,CAACkvC,cAHJ,mCAIGlvC,OAAO,CAACmvC,cAJX,8BAKFnvC,OAAO,CAACovC,UALN,iFASDpvC,OAAO,CAACqvC,gBATP,0BAUNrvC,OAAO,CAACsvC,iBAVF,iCAWCtvC,OAAO,CAACU,UAXT,kDAcCV,OAAO,CAACU,UAdT,0BAeNV,OAAO,CAACuvC,mBAfF,8BAgBFvvC,OAAO,CAACwvC,kBAhBN,sEAoBNxvC,OAAO,CAACyvC,kBApBF,iCAqBCzvC,OAAO,CAACU,UArBT,+BAsBDV,OAAO,CAAC0vC,iBAtBP;AAAA,CAAlB;;AA0Be/mB,wEAAf,E;;;;;;;;;;;AC1BA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA,eAAe,kCAAkC;AACjD,iBAAiB,kCAAkC;AACnD;AACA;AACA;AACA,qBAAqB,IAAI;AACzB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mJAAmJ;AACnJ,SAAS;;AAET;AACA;AACA,qBAAqB,+BAA+B;AACpD;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,WAAW,YAAY,IAAI,WAAW,SAAS;AACvE,cAAc,0BAA0B,EAAE;AAC1C,MAAM;AACN,WAAW,6iCAA6iC;AACxjC,aAAa,yrBAAyrB;AACtsB;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,qB;AACvB;AACA;AACA,6C;AACA;AACA;AACA,2CAA2C,4C;AAC3C;AACA;AACA,qBAAqB,+B;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0B;AACA;AACA;AACA,4B;AACA;AACA;AACA,4B;AACA;AACA;AACA,oC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gC;AACA;AACA;AACA,kC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,SAAS,yBAAyB,EAAE,MAAM,EAAE,iCAAiC,EAAE,QAAQ,EAAE,eAAe,EAAE,SAAS,EAAE,0BAA0B,EAAE,QAAQ,EAAE,8HAA8H,EAAE,uBAAuB,mBAAmB,QAAQ,EAAE,SAAS,EAAE,8HAA8H,EAAE,8HAA8H,EAAE,8HAA8H,EAAE,8HAA8H,EAAE,8HAA8H,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,oBAAoB,+HAA+H,gBAAgB,eAAe,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,uDAAuD,EAAE,uDAAuD,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,oGAAoG,UAAU,eAAe,+CAA+C,EAAE,iCAAiC,EAAE,oBAAoB,EAAE,oBAAoB,gBAAgB,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,+CAA+C,8BAA8B,UAAU,EAAE,UAAU,EAAE,iCAAiC,4CAA4C,oBAAoB,EAAE,0BAA0B,EAAE,oCAAoC,EAAE,8CAA8C,gBAAgB,4BAA4B,EAAE,6BAA6B,gBAAgB,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,gDAAgD,EAAE,gDAAgD,EAAE,gDAAgD,EAAE,gDAAgD,EAAE,kCAAkC,EAAE,kCAAkC;AAC5qF,iBAAiB,2QAA2Q;AAC5R;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+D;AAC/D;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,kBAAkB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,iCAAiC;AACjC,qBAAqB;AACrB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL,qDAAqD;AACrD;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;AACL,UAAU,wBAAwB;AAClC;AACA;AACA;AACA,qCAAqC,W;AACrC;AACA,qCAAqC,W;AACrC;AACA,wBAAwB,6BAA6B,W;AACrD;AACA,wBAAwB,iBAAiB,W;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8B;AACA;AACA,yB;AACA;AACA,0B;AACA;AACA,wCAAwC;AACxC;AACA;AACA,CAAC;AACD,iBAAiB,kBAAkB,gCAAgC,oBAAoB,yHAAyH,WAAW,qoBAAqoB;AACh2B,aAAa,mBAAmB,6BAA6B,kBAAkB,gCAAgC,mBAAmB,gCAAgC,mBAAmB,8BAA8B,cAAc,6BAA6B,UAAU,6BAA6B,WAAW,kCAAkC,YAAY;AAC9V,CAAC;AACD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,CAAC;;;AAGD,IAAI,IAAgE;AACpE;AACA;AACA,6BAA6B,8CAA8C;AAC3E;AACA;AACA;AACA;AACA;AACA,iBAAiB,mBAAO,CAAC,0DAAI,eAAe,mBAAO,CAAC,qDAAM;AAC1D;AACA;AACA,IAAI,KAA6B,IAAI,4CAAY;AACjD;AACA;AACA,C;;;;;;;;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,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,0DAA0D,WAAW,gBAAgB,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,sDAAsD,YAAY,aAAa,YAAY,GAAG,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;AACjiH,iBAAiB,wNAAwN;AACzO;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+D;AAC/D;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,kBAAkB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,iCAAiC;AACjC,qBAAqB;AACrB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL,qDAAqD;AACrD;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;AACL,UAAU,wBAAwB;AAClC;AACA;AACA;AACA,qCAAqC,W;AACrC;AACA,qCAAqC,W;AACrC;AACA,wBAAwB,6BAA6B,W;AACrD;AACA,wBAAwB,iBAAiB,W;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,W;AAC1B;AACA,0BAA0B,W;AAC1B;AACA,wCAAwC,qBAAqB,W;AAC7D;AACA,yBAAyB,iBAAiB,oBAAoB,W;AAC9D;AACA,yBAAyB,iBAAiB,U;AAC1C;AACA,4BAA4B,W;AAC5B;AACA,4BAA4B,W;AAC5B;AACA,4BAA4B,W;AAC5B;AACA,4BAA4B,W;AAC5B;AACA,4BAA4B,W;AAC5B;AACA,4BAA4B,W;AAC5B;AACA,4BAA4B,W;AAC5B;AACA,yBAAyB,W;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,W;AAC1B;AACA,0BAA0B,W;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,W;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,iBAAiB,kBAAkB,gCAAgC,oBAAoB,uFAAuF,oBAAoB,kEAAkE,iCAAiC,sKAAsK,oRAAoR,qBAAqB,yCAAyC,4IAA4I;AACz6B,aAAa,kBAAkB,gCAAgC,mBAAmB,kCAAkC,kBAAkB,kCAAkC,OAAO,mCAAmC,UAAU,sCAAsC,SAAS,mCAAmC,YAAY;AAC1T,CAAC;AACD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,CAAC;;;AAGD,IAAI,IAAgE;AACpE;AACA;AACA,6BAA6B,8CAA8C;AAC3E;AACA;AACA;AACA;AACA;AACA,iBAAiB,mBAAO,CAAC,0DAAI,eAAe,mBAAO,CAAC,qDAAM;AAC1D;AACA;AACA,IAAI,KAA6B,IAAI,4CAAY;AACjD;AACA;AACA,C;;;;;;;;;;;;;ACt3BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AAEA,IAAIksB,SAAS,GAAGjzC,SAAhB;AACA,IAAIkzC,MAAM,GAAG,EAAb;AACA,IAAIC,QAAQ,GAAG,EAAf;AACA,IAAMC,KAAK,GAAG,EAAd;AACA,IAAIv+B,KAAK,GAAG,EAAZ;AACA,IAAIw+B,YAAY,GAAG,KAAnB;AACA,IAAIC,sBAAsB,GAAG,KAA7B;AACA,IAAIC,WAAW,GAAG,KAAlB;AAEO,IAAM90B,cAAc,GAAG,SAAjBA,cAAiB,CAAUC,SAAV,EAAqBC,OAArB,EAA8BnS,IAA9B,EAAoC;AAChEoS,qDAAU,CAACH,cAAX,CAA0B,IAA1B,EAAgCC,SAAhC,EAA2CC,OAA3C,EAAoDnS,IAApD;AACD,CAFM;AAIA,IAAMgnC,QAAQ,GAAG,SAAXA,QAAW,CAAUn0C,EAAV,EAAc6M,IAAd,EAAoBmzB,WAApB,EAAiC7yB,IAAjC,EAAuC;AAC7D;AACA,MAAMinC,GAAG,GAAGP,MAAM,CAAC7zC,EAAD,CAAlB;AACA,MAAIo0C,GAAG,IAAIvnC,IAAI,KAAKunC,GAAG,CAACvnC,IAApB,IAA4BmzB,WAAW,IAAI,IAA/C,EAAqD,OAHQ,CAK7D;;AACA,MAAIA,WAAW,IAAI,IAAf,IAAuBA,WAAW,CAAC1/B,IAAZ,IAAoB,IAA/C,EAAqD;AACnD0/B,eAAW,GAAG;AAAE1/B,UAAI,EAAEuM,IAAR;AAAciO,UAAI,EAAE,IAApB;AAA0B3N,UAAI,EAAJA;AAA1B,KAAd;AACD;;AACD,MAAIA,IAAI,IAAI,IAAR,IAAgB6yB,WAAW,CAAC1/B,IAAZ,IAAoB,IAAxC,EAA8C;AAC5C0/B,eAAW,GAAG;AAAE1/B,UAAI,EAAEuM,IAAR;AAAciO,UAAI,EAAE,IAApB;AAA0B3N,UAAI,EAAJA;AAA1B,KAAd;AACD;;AAED0mC,QAAM,CAAC7zC,EAAD,CAAN,GAAa;AACX6M,QAAI,EAAEA,IADK;AAEXmzB,eAAW,EAAEA,WAAW,CAAC1/B,IAFd;AAGXwa,QAAI,EAAGklB,WAAW,CAACllB,IAAZ,KAAqBna,SAArB,IAAkC0zC,QAAQ,EAA3C,IAAkD,CAAC,CAACrU,WAAW,CAACllB,IAH3D;AAIX84B,aAAS,EAAEA,SAJA;AAKXU,SAAK,EAAE,EALI;AAMXC,cAAU,EAAE,EAND;AAOXC,YAAQ,EAAE,IAPC;AAQXC,YAAQ,EAAE,IARC;AASXtnC,QAAI,EAAEA,IAAI,IAAI;AATH,GAAb;;AAWA,MAAIymC,SAAS,IAAIC,MAAM,CAACD,SAAD,CAAvB,EAAoC;AAClCC,UAAM,CAACD,SAAD,CAAN,CAAkBc,SAAlB,GAA8B10C,EAA9B;AACD;;AAED4zC,WAAS,GAAG5zC,EAAZ;AACD,CA7BM;;AA+BP,IAAM20C,eAAe,GAAG,SAAlBA,eAAkB,CAACC,IAAD,EAAU;AAChC,MAAI52C,CAAJ;AACA,MAAI04B,KAAK,GAAG,CAAZ;;AACA,OAAK14B,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAG81C,QAAQ,CAAC71C,MAAzB,EAAiCD,CAAC,EAAlC,EAAsC;AACpC,QAAI81C,QAAQ,CAAC91C,CAAD,CAAR,CAAYmP,IAAZ,KAAqB0nC,QAAQ,CAACC,YAAlC,EAAgD;AAC9C,UAAIhB,QAAQ,CAAC91C,CAAD,CAAR,CAAY+2C,IAAZ,CAAiBC,KAAjB,KAA2BJ,IAA/B,EAAqC;AACnCle,aAAK;AACN;AACF;;AACD,QAAIod,QAAQ,CAAC91C,CAAD,CAAR,CAAYmP,IAAZ,KAAqB0nC,QAAQ,CAACI,UAAlC,EAA8C;AAC5C,UAAInB,QAAQ,CAAC91C,CAAD,CAAR,CAAY+2C,IAAZ,CAAiBC,KAAjB,KAA2BJ,IAA/B,EAAqC;AACnCle,aAAK;AACN;AACF;AACF;;AACD,SAAOA,KAAP;AACD,CAhBD;;AAkBO,IAAMwe,UAAU,GAAG,SAAbA,UAAa,CAAUC,MAAV,EAAkBC,IAAlB,EAAwBpO,OAAxB,EAAiCqO,MAAjC,EAAyC;AACjEvB,UAAQ,CAACp0C,IAAT,CAAc;AACZq1C,QAAI,EAAEI,MADM;AAEZG,MAAE,EAAEF,IAFQ;AAGZpO,WAAO,EAAEA,OAAO,CAAC1mC,IAHL;AAIZwa,QAAI,EAAGksB,OAAO,CAAClsB,IAAR,KAAiBna,SAAjB,IAA8B0zC,QAAQ,EAAvC,IAA8C,CAAC,CAACrN,OAAO,CAAClsB,IAJlD;AAKZu6B,UAAM,EAAEA;AALI,GAAd;AAOD,CARM;AAUA,IAAME,SAAS,GAAG,SAAZA,SAAY,CACvBJ,MADuB,EAEvBC,IAFuB,EAKvB;AAAA,MAFApO,OAEA,uEAFU;AAAE1mC,QAAI,EAAEK,SAAR;AAAmBma,QAAI,EAAEna;AAAzB,GAEV;AAAA,MADA60C,WACA;;AACA,MAAIA,WAAW,KAAKX,QAAQ,CAACI,UAA7B,EAAyC;AACvC,QAAMhwB,GAAG,GAAG0vB,eAAe,CAACQ,MAAM,CAACH,KAAR,CAA3B;;AACA,QAAI/vB,GAAG,GAAG,CAAV,EAAa;AACX;AACA,UAAI7S,KAAK,GAAG,IAAIqjC,KAAJ,CAAU,mDAAmDN,MAAM,CAACH,KAA1D,GAAkE,GAA5E,CAAZ;AACA5iC,WAAK,CAACmyB,IAAN,GAAa;AACXjkC,YAAI,EAAE,MADK;AAEXo1C,aAAK,EAAE,MAFI;AAGXprC,YAAI,EAAE,GAHK;AAIXqrC,WAAG,EAAE;AAAEC,oBAAU,EAAE,CAAd;AAAiBC,mBAAS,EAAE,CAA5B;AAA+BC,sBAAY,EAAE,CAA7C;AAAgDC,qBAAW,EAAE;AAA7D,SAJM;AAKXC,gBAAQ,EAAE,CAAC,sBAAD;AALC,OAAb;AAOA,YAAM5jC,KAAN;AACD;AACF;;AACD0hC,UAAQ,CAACp0C,IAAT,CAAc;AACZq1C,QAAI,EAAEI,MADM;AAEZG,MAAE,EAAEF,IAFQ;AAGZpO,WAAO,EAAEA,OAAO,CAAC1mC,IAHL;AAIZwa,QAAI,EAAGksB,OAAO,CAAClsB,IAAR,KAAiBna,SAAjB,IAA8B0zC,QAAQ,EAAvC,IAA8C,CAAC,CAACrN,OAAO,CAAClsB,IAJlD;AAKZ3N,QAAI,EAAEqoC;AALM,GAAd;AAOA,SAAO,IAAP;AACD,CA7BM;AA+BA,IAAMS,WAAW,GAAG,SAAdA,WAAc,GAAY;AACrC,SAAOnC,QAAP;AACD,CAFM;AAIA,IAAMoC,SAAS,GAAG,SAAZA,SAAY,GAAY;AACnC,SAAOrC,MAAP;AACD,CAFM;AAGA,IAAMsC,QAAQ,GAAG,SAAXA,QAAW,CAAUn2C,EAAV,EAAc;AACpC,SAAO6zC,MAAM,CAAC7zC,EAAD,CAAb;AACD,CAFM;AAGA,IAAMo2C,YAAY,GAAG,SAAfA,YAAe,GAAY;AACtC,SAAOj5C,MAAM,CAAC6B,IAAP,CAAY60C,MAAZ,CAAP;AACD,CAFM;AAGA,IAAM9lB,QAAQ,GAAG,SAAXA,QAAW,GAAY;AAClC,SAAOvY,KAAP;AACD,CAFM;AAGA,IAAM6gC,eAAe,GAAG,SAAlBA,eAAkB,GAAY;AACzC,SAAOrC,YAAP;AACD,CAFM;AAGA,IAAMsC,qBAAqB,GAAG,SAAxBA,qBAAwB,GAAY;AAC/CrC,wBAAsB,GAAG,IAAzB;AACD,CAFM;AAGA,IAAM95B,mBAAmB,GAAG,SAAtBA,mBAAsB;AAAA,SAAM85B,sBAAN;AAAA,CAA5B;AAEA,IAAMsC,OAAO,GAAG,SAAVA,OAAU,CAAUC,WAAV,EAAuB;AAC5CtC,aAAW,GAAGsC,WAAd;AACD,CAFM;AAIA,IAAMnC,QAAQ,GAAG,SAAXA,QAAW;AAAA,SAAMH,WAAN;AAAA,CAAjB;AAEA,IAAM/wC,KAAK,GAAG,SAARA,KAAQ,GAAY;AAC/B0wC,QAAM,GAAG,EAAT;AACAC,UAAQ,GAAG,EAAX;AACD,CAHM;AAKA,IAAM2C,YAAY,GAAG,SAAfA,YAAe,CAAUn/B,GAAV,EAAe;AACzC,MAAM4f,IAAI,GAAG5f,GAAG,CAACrS,IAAJ,EAAb;;AACA,MAAM+hC,OAAO,GAAG;AACd1mC,QAAI,EAAE42B,IAAI,CAAC9yB,OAAL,CAAa,mBAAb,EAAkC,EAAlC,EAAsCa,IAAtC,EADQ;AAEd6V,QAAI,EACFoc,IAAI,CAAC3V,KAAL,CAAW,YAAX,MAA6B,IAA7B,GACI,IADJ,GAEI2V,IAAI,CAAC3V,KAAL,CAAW,cAAX,MAA+B,IAA/B,GACA,KADA,GAEA5gB;AAPQ,GAAhB;AASAvB,6CAAG,CAACC,KAAJ,CAAU,eAAV,EAA2B2nC,OAA3B;AACA,SAAOA,OAAP;AACD,CAbM;AAeA,IAAM6N,QAAQ,GAAG;AACtB6B,OAAK,EAAE,CADe;AAEtBC,QAAM,EAAE,CAFc;AAGtBC,MAAI,EAAE,CAHgB;AAItBC,aAAW,EAAE,CAJS;AAKtBC,cAAY,EAAE,CALQ;AAMtBC,YAAU,EAAE,CANU;AAOtBC,aAAW,EAAE,CAPS;AAQtBC,YAAU,EAAE,EARU;AAStBC,UAAQ,EAAE,EATY;AAUtBC,WAAS,EAAE,EAVW;AAWtBC,UAAQ,EAAE,EAXY;AAYtBC,SAAO,EAAE,EAZa;AAatBC,WAAS,EAAE,EAbW;AActBC,SAAO,EAAE,EAda;AAetBzC,cAAY,EAAE,EAfQ;AAgBtBG,YAAU,EAAE,EAhBU;AAiBtBuC,WAAS,EAAE,EAjBW;AAkBtBC,SAAO,EAAE,EAlBa;AAmBtBC,SAAO,EAAE,EAnBa;AAoBtBC,YAAU,EAAE,EApBU;AAqBtBC,UAAQ,EAAE,EArBY;AAsBtBC,aAAW,EAAE,EAtBS;AAuBtBC,cAAY,EAAE;AAvBQ,CAAjB;AA0BA,IAAMC,SAAS,GAAG;AACvBC,QAAM,EAAE,CADe;AAEvBC,MAAI,EAAE;AAFiB,CAAlB;AAKA,IAAMC,SAAS,GAAG;AACvBC,QAAM,EAAE,CADe;AAEvBC,SAAO,EAAE,CAFc;AAGvBC,MAAI,EAAE;AAHiB,CAAlB;AAMA,IAAMC,OAAO,GAAG,SAAVA,OAAU,CAAUtD,KAAV,EAAiBuD,SAAjB,EAA4BvR,OAA5B,EAAqC;AAC1D,MAAMhvB,IAAI,GAAG;AACXg9B,SAAK,EAAEA,KADI;AAEXuD,aAAS,EAAEA,SAFA;AAGXvR,WAAO,EAAEA,OAAO,CAAC1mC,IAHN;AAIXwa,QAAI,EAAGksB,OAAO,CAAClsB,IAAR,KAAiBna,SAAjB,IAA8B0zC,QAAQ,EAAvC,IAA8C,CAAC,CAACrN,OAAO,CAAClsB;AAJnD,GAAb,CAD0D,CAQ1D;;AACA,MAAM+4B,MAAM,GAAG,GAAGthC,MAAH,CAAUyiC,KAAV,EAAiBA,KAAjB,CAAf;AAEAjB,OAAK,CAACr0C,IAAN,CAAWsY,IAAX;AACA87B,UAAQ,CAACp0C,IAAT,CAAc;AACZq1C,QAAI,EAAElB,MAAM,CAAC,CAAD,CADA;AAEZyB,MAAE,EAAEzB,MAAM,CAAC,CAAD,CAFE;AAGZ7M,WAAO,EAAEA,OAAO,CAAC1mC,IAHL;AAIZwa,QAAI,EAAGksB,OAAO,CAAClsB,IAAR,KAAiBna,SAAjB,IAA8B0zC,QAAQ,EAAvC,IAA8C,CAAC,CAACrN,OAAO,CAAClsB,IAJlD;AAKZ3N,QAAI,EAAE0nC,QAAQ,CAAC+B,IALH;AAMZ2B,aAAS,EAAEA;AANC,GAAd;AAQD,CApBM;AAsBA,IAAMC,QAAQ,GAAG,SAAXA,QAAW,CAAUC,OAAV,EAAmBn4C,IAAnB,EAAyB;AAC/C;AACA,MAAM00C,KAAK,GAAGmB,QAAQ,CAACsC,OAAD,CAAtB,CAF+C,CAG/C;;AACA,MAAI;AACF,QAAMnE,KAAK,GAAG3yC,IAAI,CAACuK,KAAL,CAAW5L,IAAI,CAACA,IAAhB,CAAd,CADE,CAEF;;AACAo4C,eAAW,CAAC1D,KAAD,EAAQV,KAAR,CAAX;AACD,GAJD,CAIE,OAAOrrC,CAAP,EAAU;AACV7J,+CAAG,CAACgT,KAAJ,CAAU,qCAAV,EAAiDnJ,CAAjD;AACD;AACF,CAXM;AAaA,IAAM0vC,QAAQ,GAAG,SAAXA,QAAW,CAAUF,OAAV,EAAmBn4C,IAAnB,EAAyB;AAC/C;AACA,MAAM00C,KAAK,GAAGmB,QAAQ,CAACsC,OAAD,CAAtB;;AACA,MAAI;AACF,QAAMnE,KAAK,GAAG,EAAd;AACA,QAAIsE,GAAG,GAAGt4C,IAAI,CAACA,IAAL,CAAUhB,OAAV,CAAkB,GAAlB,CAAV;AACA,QAAIe,KAAK,GAAGC,IAAI,CAACA,IAAL,CAAUoJ,KAAV,CAAgB,CAAhB,EAAmBkvC,GAAG,GAAG,CAAzB,EAA4B3zC,IAA5B,EAAZ;AACA,QAAIkT,IAAI,GAAG7X,IAAI,CAACA,IAAL,CAAUoJ,KAAV,CAAgBkvC,GAAG,GAAG,CAAtB,EAAyB3zC,IAAzB,EAAX;AAEAqvC,SAAK,CAACj0C,KAAD,CAAL,GAAe8X,IAAf,CANE,CAOF;;AACAugC,eAAW,CAAC1D,KAAD,EAAQV,KAAR,CAAX;AACD,GATD,CASE,OAAOrrC,CAAP,EAAU;AACV7J,+CAAG,CAACgT,KAAJ,CAAU,qCAAV,EAAiDnJ,CAAjD;AACD;AACF,CAfM;;AAiBP,SAASyvC,WAAT,CAAqB1D,KAArB,EAA4BV,KAA5B,EAAmC;AACjC,MAAIU,KAAK,CAACV,KAAN,IAAe,IAAnB,EAAyB;AACvBU,SAAK,CAACV,KAAN,GAAcA,KAAd;AACD,GAFD,MAEO;AACL,SAAK,IAAIn1C,GAAT,IAAgBm1C,KAAhB,EAAuB;AACrBU,WAAK,CAACV,KAAN,CAAYn1C,GAAZ,IAAmBm1C,KAAK,CAACn1C,GAAD,CAAxB;AACD;AACF;AACF;;AAEM,IAAM05C,aAAa,GAAG,SAAhBA,aAAgB,CAAUJ,OAAV,EAAmBn4C,IAAnB,EAAyB;AACpD;AACA,MAAM00C,KAAK,GAAGmB,QAAQ,CAACsC,OAAD,CAAtB,CAFoD,CAGpD;;AACA,MAAI;AACF,QAAMlE,UAAU,GAAG5yC,IAAI,CAACuK,KAAL,CAAW5L,IAAI,CAACA,IAAhB,CAAnB,CADE,CAEF;;AACAw4C,oBAAgB,CAAC9D,KAAD,EAAQT,UAAR,CAAhB;AACD,GAJD,CAIE,OAAOtrC,CAAP,EAAU;AACV7J,+CAAG,CAACgT,KAAJ,CAAU,2CAAV,EAAuDnJ,CAAvD;AACD;AACF,CAXM;;AAaP,SAAS6vC,gBAAT,CAA0B9D,KAA1B,EAAiCT,UAAjC,EAA6C;AAC3C,MAAIS,KAAK,CAACT,UAAN,IAAoB,IAAxB,EAA8B;AAC5BS,SAAK,CAACT,UAAN,GAAmBA,UAAnB;AACD,GAFD,MAEO;AACL,SAAK,IAAIp1C,GAAT,IAAgBo1C,UAAhB,EAA4B;AAC1BS,WAAK,CAACT,UAAN,CAAiBp1C,GAAjB,IAAwBo1C,UAAU,CAACp1C,GAAD,CAAlC;AACD;AACF;AACF;;AAEM,IAAM45C,UAAU,GAAG,SAAbA,UAAa,CAAUN,OAAV,EAAmBn4C,IAAnB,EAAyB;AACjD;AACA,MAAM00C,KAAK,GAAGmB,QAAQ,CAACsC,OAAD,CAAtB;AACA,MAAM11C,IAAI,GAAGa,QAAQ,CAACk9B,cAAT,CAAwBxgC,IAAI,CAACA,IAA7B,CAAb,CAHiD,CAKjD;;AACA,MAAI;AACF,QAAMA,KAAI,GAAGyC,IAAI,CAACi2C,SAAlB;AACA,QAAMC,OAAO,GAAGt3C,IAAI,CAACuK,KAAL,CAAW5L,KAAX,CAAhB,CAFE,CAGF;;AACA,QAAI24C,OAAO,CAAC,YAAD,CAAX,EAA2B;AACzBH,sBAAgB,CAAC9D,KAAD,EAAQiE,OAAO,CAAC,YAAD,CAAf,CAAhB;AACD;;AAED,QAAIA,OAAO,CAAC,OAAD,CAAX,EAAsB;AACpBP,iBAAW,CAAC1D,KAAD,EAAQiE,OAAO,CAAC,OAAD,CAAf,CAAX;AACD;AACF,GAXD,CAWE,OAAOhwC,CAAP,EAAU;AACV7J,+CAAG,CAACgT,KAAJ,CAAU,wCAAV,EAAoDnJ,CAApD;AACD;AACF,CApBM;AAsBA,IAAMiwC,gBAAgB,GAAG,SAAnBA,gBAAmB,CAAUlE,KAAV,EAAiB71C,GAAjB,EAAsB;AACpD,MAAI,OAAO61C,KAAP,KAAiB,WAAjB,IAAgC,OAAOA,KAAK,CAACT,UAAb,KAA4B,WAAhE,EAA6E;AAC3E,WAAOS,KAAK,CAACT,UAAN,CAAiBp1C,GAAjB,CAAP;AACD;;AAED,SAAOwB,SAAP;AACD,CANM;AAQA,IAAMmtB,QAAQ,GAAG,SAAXA,QAAW,CAAUqrB,SAAV,EAAqB;AAC3C3jC,OAAK,GAAG2jC,SAAS,CAAC74C,IAAlB;AACA0zC,cAAY,GAAImF,SAAS,CAACr+B,IAAV,KAAmBna,SAAnB,IAAgC0zC,QAAQ,EAAzC,IAAgD,CAAC,CAAC8E,SAAS,CAACr+B,IAA3E;AACD,CAHM;AAKA,IAAMob,KAAK,GAAG,SAARA,KAAQ,CAAUkjB,KAAV,EAAiB;AACpC,MAAIA,KAAK,YAAYz0C,KAArB,EAA4B;AAC1By0C,SAAK,CAACl6C,OAAN,CAAc,UAAUojB,IAAV,EAAgB;AAC5B4T,WAAK,CAAC5T,IAAD,CAAL;AACD,KAFD;AAGD,GAJD,MAIO;AACL,YAAQ82B,KAAK,CAACjsC,IAAd;AACE,WAAK,gBAAL;AACEgnC,gBAAQ,CAACiF,KAAK,CAACpE,KAAP,EAAcoE,KAAK,CAACpE,KAApB,EAA2BoE,KAAK,CAACpZ,WAAjC,EAA8C,aAA9C,CAAR;AACA;;AACF,WAAK,UAAL;AACEmU,gBAAQ,CAACiF,KAAK,CAACpE,KAAP,EAAcoE,KAAK,CAACpE,KAApB,EAA2BoE,KAAK,CAACpZ,WAAjC,EAA8C,OAA9C,CAAR;AACA;;AACF,WAAK,aAAL;AACEuV,iBAAS,CAAC6D,KAAK,CAACpE,KAAP,EAAcr0C,SAAd,EAAyBA,SAAzB,EAAoCy4C,KAAK,CAACC,UAA1C,CAAT;AACA;;AACF,WAAK,WAAL;AACE9D,iBAAS,CAAC6D,KAAK,CAACpE,KAAP,EAAcr0C,SAAd,EAAyBA,SAAzB,EAAoCy4C,KAAK,CAACC,UAA1C,CAAT;AACA;;AACF,WAAK,SAAL;AACEf,eAAO,CAACc,KAAK,CAACpE,KAAP,EAAcoE,KAAK,CAACb,SAApB,EAA+Ba,KAAK,CAAC94C,IAArC,CAAP;AACA;;AACF,WAAK,UAAL;AACEk4C,gBAAQ,CAACY,KAAK,CAACpE,KAAP,EAAcoE,KAAK,CAAC94C,IAApB,CAAR;AACA;;AACF,WAAK,UAAL;AACEq4C,gBAAQ,CAACS,KAAK,CAACpE,KAAP,EAAcoE,KAAK,CAAC94C,IAApB,CAAR;AACA;;AACF,WAAK,eAAL;AACEu4C,qBAAa,CAACO,KAAK,CAACpE,KAAP,EAAcoE,KAAK,CAAC94C,IAApB,CAAb;AACA;;AACF,WAAK,YAAL;AACEy4C,kBAAU,CAACK,KAAK,CAACpE,KAAP,EAAcoE,KAAK,CAAC94C,IAApB,CAAV;AACA;;AACF,WAAK,YAAL;AACEi1C,iBAAS,CAAC6D,KAAK,CAACrE,IAAP,EAAaqE,KAAK,CAAC9D,EAAnB,EAAuB8D,KAAK,CAACjS,GAA7B,EAAkCiS,KAAK,CAACC,UAAxC,CAAT;AACA;;AACF,WAAK,WAAL;AACE9D,iBAAS,CAAC50C,SAAD,EAAYA,SAAZ,EAAuBy4C,KAAK,CAACE,QAA7B,EAAuCF,KAAK,CAACC,UAA7C,CAAT;AACA;;AACF,WAAK,SAAL;AACE9D,iBAAS,CAAC50C,SAAD,EAAYA,SAAZ,EAAuBA,SAAvB,EAAkCy4C,KAAK,CAACC,UAAxC,CAAT;AACA;;AACF,WAAK,WAAL;AACE9D,iBAAS,CAAC50C,SAAD,EAAYA,SAAZ,EAAuBy4C,KAAK,CAACzP,KAA7B,EAAoCyP,KAAK,CAACC,UAA1C,CAAT;AACA;;AACF,WAAK,SAAL;AACE9D,iBAAS,CAAC50C,SAAD,EAAYA,SAAZ,EAAuBA,SAAvB,EAAkCy4C,KAAK,CAACC,UAAxC,CAAT;AACA;;AACF,WAAK,UAAL;AACE9D,iBAAS,CAAC50C,SAAD,EAAYA,SAAZ,EAAuBy4C,KAAK,CAACG,OAA7B,EAAsCH,KAAK,CAACC,UAA5C,CAAT;AACA;;AACF,WAAK,QAAL;AACE9D,iBAAS,CAAC50C,SAAD,EAAYA,SAAZ,EAAuBA,SAAvB,EAAkCy4C,KAAK,CAACC,UAAxC,CAAT;AACA;;AACF,WAAK,UAAL;AACE9D,iBAAS,CAAC50C,SAAD,EAAYA,SAAZ,EAAuBy4C,KAAK,CAACI,OAA7B,EAAsCJ,KAAK,CAACC,UAA5C,CAAT;AACA;;AACF,WAAK,MAAL;AACE9D,iBAAS,CAAC50C,SAAD,EAAYA,SAAZ,EAAuBy4C,KAAK,CAACI,OAA7B,EAAsCJ,KAAK,CAACC,UAA5C,CAAT;AACA;;AACF,WAAK,QAAL;AACE9D,iBAAS,CAAC50C,SAAD,EAAYA,SAAZ,EAAuBA,SAAvB,EAAkCy4C,KAAK,CAACC,UAAxC,CAAT;AACA;;AACF,WAAK,UAAL;AACEvrB,gBAAQ,CAACsrB,KAAK,CAAC94C,IAAP,CAAR;AACA;;AACF,WAAK,UAAL;AACEi1C,iBAAS,CAAC50C,SAAD,EAAYA,SAAZ,EAAuBy4C,KAAK,CAACK,OAA7B,EAAsCL,KAAK,CAACC,UAA5C,CAAT;AACA;;AACF,WAAK,KAAL;AACE9D,iBAAS,CAAC50C,SAAD,EAAYA,SAAZ,EAAuBy4C,KAAK,CAACK,OAA7B,EAAsCL,KAAK,CAACC,UAA5C,CAAT;AACA;;AACF,WAAK,QAAL;AACE9D,iBAAS,CAAC50C,SAAD,EAAYA,SAAZ,EAAuBA,SAAvB,EAAkCy4C,KAAK,CAACC,UAAxC,CAAT;AACA;AArEJ;AAuED;AACF,CA9EM;AAgFQ;AACblF,UAAQ,EAARA,QADa;AAEbe,YAAU,EAAVA,UAFa;AAGbK,WAAS,EAATA,SAHa;AAIbiD,UAAQ,EAARA,QAJa;AAKbO,YAAU,EAAVA,UALa;AAMbF,eAAa,EAAbA,aANa;AAObxE,UAAQ,EAARA,QAPa;AAQbkC,SAAO,EAAPA,OARa;AASbD,uBAAqB,EAArBA,qBATa;AAUbn8B,qBAAmB,EAAnBA,mBAVa;AAWb87B,aAAW,EAAXA,WAXa;AAYbC,WAAS,EAATA,SAZa;AAabC,UAAQ,EAARA,QAba;AAcbC,cAAY,EAAZA,YAda;AAeb8C,kBAAgB,EAAhBA,gBAfa;AAgBbnrB,UAAQ,EAARA,QAhBa;AAiBb3O,gBAAc,EAAdA,cAjBa;AAkBbtgB,WAAS,EAAE;AAAA,WAAM2iB,iDAAA,GAAsBpI,QAA5B;AAAA,GAlBE;AAmBbg9B,iBAAe,EAAfA,eAnBa;AAoBblzC,OAAK,EAALA,KApBa;AAqBbszC,cAAY,EAAZA,YArBa;AAsBb5B,UAAQ,EAARA,QAtBa;AAuBbkD,WAAS,EAATA,SAvBa;AAwBbG,WAAS,EAATA,SAxBa;AAyBbI,SAAO,EAAPA,OAzBa;AA0BbxqB,UAAQ,EAARA,QA1Ba;AA2BboI,OAAK,EAALA;AA3Ba,CAAf,E;;;;;;;;;;;;AC1YA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA7R,8DAAM,CAACC,EAAP,GAAYo1B,mDAAZ;AAEA,IAAIj7C,IAAI,GAAG,EAAX;AAEO,IAAMiqB,MAAM,GAAG;AACpBzc,MAAI,EAAE;AACJ0tC,UAAM,EAAEh5C,SADJ;AAEJi5C,SAAK,EAAEj5C,SAFH;AAGJk5C,UAAM,EAAEl5C,SAHJ;AAIJm5C,SAAK,EAAEn5C;AAJH,GADc;AAOpB+V,aAAW,EAAE,CAPO;AAQpBqjC,eAAa,EAAE,EARK;AASpBC,aAAW,EAAE,EATO;AAUpBC,QAAM,EAAE;AACNC,aAAS,EAAE,qBAAY;AACrB,aACE3yC,IAAI,CAAC6oB,GAAL,CAAS8F,KAAT,CACE,IADF,EAEE,KAAK2d,MAAL,CAAY51C,MAAZ,KAAuB,CAAvB,GAA2B,CAAC,CAAD,CAA3B,GAAiC,KAAK41C,MAAL,CAAYt/B,GAAZ,CAAgB,UAACygC,KAAD;AAAA,eAAWA,KAAK,CAACzzC,MAAN,IAAgB,CAA3B;AAAA,OAAhB,CAFnC,KAIC,KAAK44C,KAAL,CAAWl8C,MAAX,KAAsB,CAAtB,GACG,CADH,GAEG,KAAKk8C,KAAL,CAAW5lC,GAAX,CAAe,UAAC6lC,EAAD;AAAA,eAAQA,EAAE,CAAC74C,MAAH,IAAa,CAArB;AAAA,OAAf,EAAuCud,MAAvC,CAA8C,UAACu7B,GAAD,EAAM1yC,CAAN;AAAA,eAAY0yC,GAAG,GAAG1yC,CAAlB;AAAA,OAA9C,CANJ,KAOC,KAAKmsC,QAAL,CAAc71C,MAAd,KAAyB,CAAzB,GACG,CADH,GAEG,KAAK61C,QAAL,CAAcv/B,GAAd,CAAkB,UAAC6lC,EAAD;AAAA,eAAQA,EAAE,CAAC74C,MAAH,IAAa,CAArB;AAAA,OAAlB,EAA0Cud,MAA1C,CAAiD,UAACu7B,GAAD,EAAM1yC,CAAN;AAAA,eAAY0yC,GAAG,GAAG1yC,CAAlB;AAAA,OAAjD,CATJ,KAUC,KAAKosC,KAAL,CAAW91C,MAAX,KAAsB,CAAtB,GACG,CADH,GAEG,KAAK81C,KAAL,CAAWx/B,GAAX,CAAe,UAAC6lC,EAAD;AAAA,eAAQA,EAAE,CAAC74C,MAAH,IAAa,CAArB;AAAA,OAAf,EAAuCud,MAAvC,CAA8C,UAACu7B,GAAD,EAAM1yC,CAAN;AAAA,eAAY0yC,GAAG,GAAG1yC,CAAlB;AAAA,OAA9C,CAZJ,CADF;AAeD,KAjBK;AAkBNxE,SAAK,EAAE,iBAAY;AACjB,WAAK0wC,MAAL,GAAc,EAAd;AACA,WAAKsG,KAAL,GAAa,EAAb;AACA,WAAKrG,QAAL,GAAgB,EAAhB;AACA,WAAKC,KAAL,GAAa,EAAb;AACD,KAvBK;AAwBNI,YAAQ,EAAE,kBAAUmG,UAAV,EAAsB;AAC9B,WAAKzG,MAAL,CAAYn0C,IAAZ,CAAiB46C,UAAjB;AACD,KA1BK;AA2BNC,WAAO,EAAE,iBAAUC,SAAV,EAAqB;AAC5B,WAAKL,KAAL,CAAWz6C,IAAX,CAAgB86C,SAAhB;AACD,KA7BK;AA8BNtF,cAAU,EAAE,oBAAUuF,QAAV,EAAoB;AAC9B,WAAK3G,QAAL,CAAcp0C,IAAd,CAAmB+6C,QAAnB;AACD,KAhCK;AAiCNnC,WAAO,EAAE,iBAAUoC,SAAV,EAAqB;AAC5B,WAAK3G,KAAL,CAAWr0C,IAAX,CAAgBg7C,SAAhB;AACD,KAnCK;AAoCNC,aAAS,EAAE,qBAAY;AACrB,aAAO,KAAK9G,MAAL,CAAY,KAAKA,MAAL,CAAY51C,MAAZ,GAAqB,CAAjC,CAAP;AACD,KAtCK;AAuCN28C,YAAQ,EAAE,oBAAY;AACpB,aAAO,KAAKT,KAAL,CAAW,KAAKA,KAAL,CAAWl8C,MAAX,GAAoB,CAA/B,CAAP;AACD,KAzCK;AA0CN48C,eAAW,EAAE,uBAAY;AACvB,aAAO,KAAK/G,QAAL,CAAc,KAAKA,QAAL,CAAc71C,MAAd,GAAuB,CAArC,CAAP;AACD,KA5CK;AA6CN68C,YAAQ,EAAE,oBAAY;AACpB,aAAO,KAAK/G,KAAL,CAAW,KAAKA,KAAL,CAAW91C,MAAX,GAAoB,CAA/B,CAAP;AACD,KA/CK;AAgDN41C,UAAM,EAAE,EAhDF;AAiDNsG,SAAK,EAAE,EAjDD;AAkDNrG,YAAQ,EAAE,EAlDJ;AAmDNC,SAAK,EAAE;AAnDD,GAVY;AA+DpBgH,MAAI,EAAE,gBAAY;AAChB,SAAKhB,aAAL,GAAqB,EAArB;AACA,SAAKC,WAAL,GAAmB,EAAnB;AACA,SAAKC,MAAL,CAAY92C,KAAZ;AACA,SAAK8I,IAAL,GAAY;AACV0tC,YAAM,EAAEh5C,SADE;AAEVi5C,WAAK,EAAEj5C,SAFG;AAGVk5C,YAAM,EAAEl5C,SAHE;AAIVm5C,WAAK,EAAEn5C;AAJG,KAAZ;AAMA,SAAK+V,WAAL,GAAmB,CAAnB;AACA2P,WAAO,CAAChC,8DAAM,CAACC,EAAP,CAAUxlB,SAAV,EAAD,CAAP;AACD,GA3EmB;AA4EpBk8C,WAAS,EAAE,mBAAUp8B,GAAV,EAAezf,GAAf,EAAoB6sB,GAApB,EAAyBpJ,GAAzB,EAA8B;AACvC,QAAI,OAAOhE,GAAG,CAACzf,GAAD,CAAV,KAAoB,WAAxB,EAAqC;AACnCyf,SAAG,CAACzf,GAAD,CAAH,GAAW6sB,GAAX;AACD,KAFD,MAEO;AACLpN,SAAG,CAACzf,GAAD,CAAH,GAAWyjB,GAAG,CAACoJ,GAAD,EAAMpN,GAAG,CAACzf,GAAD,CAAT,CAAd;AACD;AACF,GAlFmB;AAmFpB87C,cAAY,EAAE,sBAAUtB,MAAV,EAAkBE,MAAlB,EAA0BD,KAA1B,EAAiCE,KAAjC,EAAwC;AACpD,QAAMoB,KAAK,GAAG,IAAd;;AACA,QAAIj2B,GAAG,GAAG,CAAV;;AACA,aAASk2B,QAAT,CAAkBhuC,IAAlB,EAAwB;AACtB,aAAO,SAASiuC,gBAAT,CAA0B94B,IAA1B,EAAgC;AACrC2C,WAAG,GADkC,CAErC;;AACA,YAAM/X,CAAC,GAAGguC,KAAK,CAACnB,aAAN,CAAoB97C,MAApB,GAA6BgnB,GAA7B,GAAmC,CAA7C;;AAEAi2B,aAAK,CAACF,SAAN,CAAgB14B,IAAhB,EAAsB,QAAtB,EAAgCu3B,MAAM,GAAG3sC,CAAC,GAAGzO,IAAI,CAACib,SAAlD,EAA6DnS,IAAI,CAAC+I,GAAlE;;AACA4qC,aAAK,CAACF,SAAN,CAAgB14B,IAAhB,EAAsB,OAAtB,EAA+Bw3B,KAAK,GAAG5sC,CAAC,GAAGzO,IAAI,CAACib,SAAhD,EAA2DnS,IAAI,CAAC6oB,GAAhE;;AAEA8qB,aAAK,CAACF,SAAN,CAAgBtyB,MAAM,CAACzc,IAAvB,EAA6B,QAA7B,EAAuC0tC,MAAM,GAAGzsC,CAAC,GAAGzO,IAAI,CAACib,SAAzD,EAAoEnS,IAAI,CAAC+I,GAAzE;;AACA4qC,aAAK,CAACF,SAAN,CAAgBtyB,MAAM,CAACzc,IAAvB,EAA6B,OAA7B,EAAsC2tC,KAAK,GAAG1sC,CAAC,GAAGzO,IAAI,CAACib,SAAvD,EAAkEnS,IAAI,CAAC6oB,GAAvE;;AAEA,YAAI,EAAEjjB,IAAI,KAAK,YAAX,CAAJ,EAA8B;AAC5B+tC,eAAK,CAACF,SAAN,CAAgB14B,IAAhB,EAAsB,QAAtB,EAAgCq3B,MAAM,GAAGzsC,CAAC,GAAGzO,IAAI,CAACib,SAAlD,EAA6DnS,IAAI,CAAC+I,GAAlE;;AACA4qC,eAAK,CAACF,SAAN,CAAgB14B,IAAhB,EAAsB,OAAtB,EAA+Bs3B,KAAK,GAAG1sC,CAAC,GAAGzO,IAAI,CAACib,SAAhD,EAA2DnS,IAAI,CAAC6oB,GAAhE;;AAEA8qB,eAAK,CAACF,SAAN,CAAgBtyB,MAAM,CAACzc,IAAvB,EAA6B,QAA7B,EAAuC4tC,MAAM,GAAG3sC,CAAC,GAAGzO,IAAI,CAACib,SAAzD,EAAoEnS,IAAI,CAAC+I,GAAzE;;AACA4qC,eAAK,CAACF,SAAN,CAAgBtyB,MAAM,CAACzc,IAAvB,EAA6B,OAA7B,EAAsC6tC,KAAK,GAAG5sC,CAAC,GAAGzO,IAAI,CAACib,SAAvD,EAAkEnS,IAAI,CAAC6oB,GAAvE;AACD;AACF,OAlBD;AAmBD;;AAED,SAAK2pB,aAAL,CAAmB76C,OAAnB,CAA2Bi8C,QAAQ,EAAnC;AACA,SAAKnB,WAAL,CAAiB96C,OAAjB,CAAyBi8C,QAAQ,CAAC,YAAD,CAAjC;AACD,GA9GmB;AA+GpBj7C,QAAM,EAAE,gBAAUy5C,MAAV,EAAkBE,MAAlB,EAA0BD,KAA1B,EAAiCE,KAAjC,EAAwC;AAC9C,QAAMuB,OAAO,GAAG9zC,IAAI,CAAC+I,GAAL,CAASqpC,MAAT,EAAiBC,KAAjB,CAAhB;;AACA,QAAM0B,MAAM,GAAG/zC,IAAI,CAAC6oB,GAAL,CAASupB,MAAT,EAAiBC,KAAjB,CAAf;;AACA,QAAM2B,OAAO,GAAGh0C,IAAI,CAAC+I,GAAL,CAASupC,MAAT,EAAiBC,KAAjB,CAAhB;;AACA,QAAM0B,MAAM,GAAGj0C,IAAI,CAAC6oB,GAAL,CAASypB,MAAT,EAAiBC,KAAjB,CAAf;;AAEA,SAAKkB,SAAL,CAAetyB,MAAM,CAACzc,IAAtB,EAA4B,QAA5B,EAAsCovC,OAAtC,EAA+C9zC,IAAI,CAAC+I,GAApD;AACA,SAAK0qC,SAAL,CAAetyB,MAAM,CAACzc,IAAtB,EAA4B,QAA5B,EAAsCsvC,OAAtC,EAA+Ch0C,IAAI,CAAC+I,GAApD;AACA,SAAK0qC,SAAL,CAAetyB,MAAM,CAACzc,IAAtB,EAA4B,OAA5B,EAAqCqvC,MAArC,EAA6C/zC,IAAI,CAAC6oB,GAAlD;AACA,SAAK4qB,SAAL,CAAetyB,MAAM,CAACzc,IAAtB,EAA4B,OAA5B,EAAqCuvC,MAArC,EAA6Cj0C,IAAI,CAAC6oB,GAAlD;AAEA,SAAK6qB,YAAL,CAAkBI,OAAlB,EAA2BE,OAA3B,EAAoCD,MAApC,EAA4CE,MAA5C;AACD,GA3HmB;AA4HpBC,eAAa,EAAE,uBAAUzU,OAAV,EAAmBxgB,OAAnB,EAA4BqtB,MAA5B,EAAoC;AACjD,QAAM6H,SAAS,GAAG7H,MAAM,CAAC7M,OAAO,CAAC+N,IAAR,CAAaC,KAAd,CAAxB;AACA,QAAM2G,WAAW,GAAGC,gBAAgB,CAAC5U,OAAO,CAAC+N,IAAR,CAAaC,KAAd,CAAhB,CAAqC/2C,MAArC,IAA+C,CAAnE;AACA,QAAM+D,CAAC,GAAG05C,SAAS,CAAC15C,CAAV,GAAc05C,SAAS,CAACp6C,KAAV,GAAkB,CAAhC,GAAqC,CAACq6C,WAAW,GAAG,CAAf,IAAoBl9C,IAAI,CAAC6a,eAA1B,GAA6C,CAA3F;AACA,SAAK0gC,WAAL,CAAiBt6C,IAAjB,CAAsB;AACpBi6C,YAAM,EAAE33C,CADY;AAEpB63C,YAAM,EAAE,KAAKnjC,WAAL,GAAmB,CAFP;AAGpBkjC,WAAK,EAAE53C,CAAC,GAAGvD,IAAI,CAAC6a,eAHI;AAIpBwgC,WAAK,EAAEn5C,SAJa;AAKpBq0C,WAAK,EAAEhO,OAAO,CAAC+N,IAAR,CAAaC,KALA;AAMpB6G,cAAQ,EAAEl1B,gDAAO,CAACm1B,aAAR,CAAsBt1B,OAAtB;AANU,KAAtB;AAQD,GAxImB;AAyIpBu1B,eAAa,EAAE,uBAAU/U,OAAV,EAAmB;AAChC;AACA,QAAMgV,sBAAsB,GAAG,KAAKhC,WAAL,CAC5BzlC,GAD4B,CACxB,UAAU0nC,UAAV,EAAsB;AACzB,aAAOA,UAAU,CAACjH,KAAlB;AACD,KAH4B,EAI5BkH,WAJ4B,CAIhBlV,OAAO,CAAC+N,IAAR,CAAaC,KAJG,CAA/B;AAKA,WAAO,KAAKgF,WAAL,CAAiBjS,MAAjB,CAAwBiU,sBAAxB,EAAgD,CAAhD,EAAmD,CAAnD,CAAP;AACD,GAjJmB;AAkJpBG,YAAU,EAAE,sBAA+E;AAAA,QAArE3mC,KAAqE,uEAA7D;AAAEwxB,aAAO,EAAErmC,SAAX;AAAsBma,UAAI,EAAE,KAA5B;AAAmCxZ,WAAK,EAAEX;AAA1C,KAA6D;AAAA,QAANqd,IAAM;AACzF,WAAO;AACL27B,YAAM,EAAEh5C,SADH;AAELk5C,YAAM,EAAE,KAAKnjC,WAFR;AAGLkjC,WAAK,EAAEj5C,SAHF;AAILm5C,WAAK,EAAEn5C,SAJF;AAKL6U,WAAK,EAAEA,KAAK,CAACwxB,OALR;AAMLlsB,UAAI,EAAEtF,KAAK,CAACsF,IANP;AAOLxZ,WAAK,EAAEkU,KAAK,CAAClU,KAPR;AAQLC,YAAM,EAAE,CARH;AASLyc,UAAI,EAAEA;AATD,KAAP;AAWD,GA9JmB;AA+JpBo+B,SAAO,EAAE,mBAA+E;AAAA,QAArE5mC,KAAqE,uEAA7D;AAAEwxB,aAAO,EAAErmC,SAAX;AAAsBma,UAAI,EAAE,KAA5B;AAAmCxZ,WAAK,EAAEX;AAA1C,KAA6D;AAAA,QAANqd,IAAM;AACtF,SAAK+7B,aAAL,CAAmBr6C,IAAnB,CAAwB,KAAKy8C,UAAL,CAAgB3mC,KAAhB,EAAuBwI,IAAvB,CAAxB;AACD,GAjKmB;AAkKpBq+B,SAAO,EAAE,mBAAY;AACnB,WAAO,KAAKtC,aAAL,CAAmBuC,GAAnB,EAAP;AACD,GApKmB;AAqKpBC,kBAAgB,EAAE,0BAAUvV,OAAV,EAAmB;AACnC,QAAMwV,IAAI,GAAG,KAAKzC,aAAL,CAAmBuC,GAAnB,EAAb;AACAE,QAAI,CAAC9hB,QAAL,GAAgB8hB,IAAI,CAAC9hB,QAAL,IAAiB,EAAjC;AACA8hB,QAAI,CAACC,aAAL,GAAqBD,IAAI,CAACC,aAAL,IAAsB,EAA3C;AACAD,QAAI,CAAC9hB,QAAL,CAAch7B,IAAd,CAAmB;AAAEuC,OAAC,EAAEymB,MAAM,CAACg0B,cAAP,EAAL;AAA8Bn7C,YAAM,EAAE;AAAtC,KAAnB;AACAi7C,QAAI,CAACC,aAAL,CAAmB/8C,IAAnB,CAAwBsnC,OAAxB;AACA,SAAK+S,aAAL,CAAmBr6C,IAAnB,CAAwB88C,IAAxB;AACD,GA5KmB;AA6KpBG,iBAAe,EAAE,yBAAUC,IAAV,EAAgB;AAC/B,SAAKlmC,WAAL,GAAmB,KAAKA,WAAL,GAAmBkmC,IAAtC;AACA,SAAK3wC,IAAL,CAAU6tC,KAAV,GAAkB,KAAKpjC,WAAvB;AACD,GAhLmB;AAiLpBgmC,gBAAc,EAAE,0BAAY;AAC1B,WAAO,KAAKhmC,WAAZ;AACD,GAnLmB;AAoLpBmmC,WAAS,EAAE,qBAAY;AACrB,WAAO;AAAEn0B,YAAM,EAAE,KAAKzc,IAAf;AAAqBguC,YAAM,EAAE,KAAKA;AAAlC,KAAP;AACD;AAtLmB,CAAf;AAyLP;AACA;AACA;AACA;AACA;;AACA,IAAM6C,QAAQ,GAAG,SAAXA,QAAW,CAAU/5C,IAAV,EAAgB23C,SAAhB,EAA2B;AAC1ChyB,QAAM,CAACi0B,eAAP,CAAuBl+C,IAAI,CAACib,SAA5B;AACAghC,WAAS,CAACn5C,MAAV,GAAmB9C,IAAI,CAACib,SAAxB;AACAghC,WAAS,CAACb,MAAV,GAAmBnxB,MAAM,CAACg0B,cAAP,EAAnB;AACA,MAAM98C,IAAI,GAAG+mB,gDAAO,CAACo2B,WAAR,EAAb;AACAn9C,MAAI,CAACoC,CAAL,GAAS04C,SAAS,CAACf,MAAnB;AACA/5C,MAAI,CAACqC,CAAL,GAASy4C,SAAS,CAACb,MAAnB;AACAj6C,MAAI,CAAC0B,KAAL,GAAao5C,SAAS,CAACp5C,KAAV,IAAmB7C,IAAI,CAAC6C,KAArC;AACA1B,MAAI,CAACQ,KAAL,GAAa,MAAb;AAEA,MAAIskB,CAAC,GAAG3hB,IAAI,CAACL,MAAL,CAAY,GAAZ,CAAR;AACA,MAAMs6C,QAAQ,GAAGr2B,gDAAO,CAACs2B,QAAR,CAAiBv4B,CAAjB,EAAoB9kB,IAApB,CAAjB;AACA,MAAMs9C,OAAO,GAAGv2B,gDAAO,CAACw2B,UAAR,EAAhB;AACAD,SAAO,CAACl7C,CAAR,GAAY04C,SAAS,CAACf,MAAtB;AACAuD,SAAO,CAACj7C,CAAR,GAAYy4C,SAAS,CAACb,MAAtB;AACAqD,SAAO,CAAC57C,KAAR,GAAgB1B,IAAI,CAAC0B,KAArB;AACA47C,SAAO,CAACz1C,EAAR,GAAa,KAAb;AACAy1C,SAAO,CAAC58C,IAAR,GAAeo6C,SAAS,CAAC1T,OAAzB;AACAkW,SAAO,CAAC98C,KAAR,GAAgB,UAAhB;AACA88C,SAAO,CAACz9C,UAAR,GAAqBhB,IAAI,CAAC+b,cAA1B;AACA0iC,SAAO,CAAC/hC,QAAR,GAAmB1c,IAAI,CAAC8b,YAAxB;AACA2iC,SAAO,CAAC9hC,UAAR,GAAqB3c,IAAI,CAACgc,cAA1B;AACAyiC,SAAO,CAACE,MAAR,GAAiB3+C,IAAI,CAACic,SAAtB;AACAwiC,SAAO,CAACG,UAAR,GAAqB5+C,IAAI,CAACmb,UAA1B;AACAsjC,SAAO,CAACI,MAAR,GAAiB7+C,IAAI,CAACic,SAAtB;AAEA,MAAI6iC,QAAQ,GAAGC,yDAAQ,CAAC94B,CAAD,EAAIw4B,OAAJ,CAAvB;AAEA,MAAIlgC,UAAU,GAAGzV,IAAI,CAACsiC,KAAL,CACf0T,QAAQ,CACLhpC,GADH,CACO,UAACqlB,EAAD;AAAA,WAAQ,CAACA,EAAE,CAACtW,OAAH,IAAcsW,EAAf,EAAmB,CAAnB,EAAsB,CAAtB,EAAyB/4B,OAAzB,GAAmCU,MAA3C;AAAA,GADP,EAEGud,MAFH,CAEU,UAACu7B,GAAD,EAAMoD,IAAN;AAAA,WAAepD,GAAG,GAAGoD,IAArB;AAAA,GAFV,CADe,CAAjB;AAMAT,UAAQ,CAAC78C,IAAT,CAAc,QAAd,EAAwB6c,UAAU,GAAG,IAAIve,IAAI,CAACmb,UAA9C;AACA8gC,WAAS,CAACn5C,MAAV,IAAoByb,UAAU,GAAG,IAAIve,IAAI,CAACmb,UAA1C;AACA8O,QAAM,CAACi0B,eAAP,CAAuB3/B,UAAU,GAAG,IAAIve,IAAI,CAACmb,UAA7C;AACA8gC,WAAS,CAACZ,KAAV,GAAkBY,SAAS,CAACb,MAAV,GAAmB78B,UAAnB,GAAgC,IAAIve,IAAI,CAACmb,UAA3D;AACA8gC,WAAS,CAACd,KAAV,GAAkBc,SAAS,CAACf,MAAV,GAAmB/5C,IAAI,CAAC0B,KAA1C;AACAonB,QAAM,CAACxoB,MAAP,CAAcw6C,SAAS,CAACf,MAAxB,EAAgCe,SAAS,CAACb,MAA1C,EAAkDa,SAAS,CAACd,KAA5D,EAAmEc,SAAS,CAACZ,KAA7E;AACApxB,QAAM,CAACuxB,MAAP,CAAc3B,OAAd,CAAsBoC,SAAtB;AACD,CAzCD;;AA2CA,IAAMx/B,WAAW,GAAG,SAAdA,WAAc,CAACoL,GAAD,EAAS;AAC3B,SAAO;AACL7mB,cAAU,EAAE6mB,GAAG,CAAC1L,iBADX;AAELO,YAAQ,EAAEmL,GAAG,CAAC3L,eAFT;AAGLS,cAAU,EAAEkL,GAAG,CAACzL;AAHX,GAAP;AAKD,CAND;;AAOA,IAAMQ,QAAQ,GAAG,SAAXA,QAAW,CAACiL,GAAD,EAAS;AACxB,SAAO;AACL7mB,cAAU,EAAE6mB,GAAG,CAAC9L,cADX;AAELW,YAAQ,EAAEmL,GAAG,CAAC/L,YAFT;AAGLa,cAAU,EAAEkL,GAAG,CAAC7L;AAHX,GAAP;AAKD,CAND;;AAOA,IAAMa,SAAS,GAAG,SAAZA,SAAY,CAACgL,GAAD,EAAS;AACzB,SAAO;AACL7mB,cAAU,EAAE6mB,GAAG,CAACjM,eADX;AAELc,YAAQ,EAAEmL,GAAG,CAAClM,aAFT;AAGLgB,cAAU,EAAEkL,GAAG,CAAChM;AAHX,GAAP;AAKD,CAND;AAQA;AACA;AACA;AACA;AACA;;;AACA,IAAMojC,WAAW,GAAG,SAAdA,WAAc,CAAUh5B,CAAV,EAAa+1B,QAAb,EAAuB;AACzC/xB,QAAM,CAACi0B,eAAP,CAAuB,EAAvB;AACA,MAAQhD,MAAR,GAAgEc,QAAhE,CAAQd,MAAR;AAAA,MAAgBC,KAAhB,GAAgEa,QAAhE,CAAgBb,KAAhB;AAAA,MAAuBC,MAAvB,GAAgEY,QAAhE,CAAuBZ,MAAvB;AAAA,MAA+B7S,OAA/B,GAAgEyT,QAAhE,CAA+BzT,OAA/B;AAAA,MAAwC75B,IAAxC,GAAgEstC,QAAhE,CAAwCttC,IAAxC;AAAA,MAA8CwwC,aAA9C,GAAgElD,QAAhE,CAA8CkD,aAA9C;AACA,MAAMC,KAAK,GAAGl8B,sDAAM,CAACmK,WAAP,CAAmBmb,OAAnB,EAA4B/oC,MAA1C;AACA,MAAI4/C,QAAQ,GAAG72C,8CAAK,CAAC82C,uBAAN,CAA8B9W,OAA9B,EAAuC9rB,WAAW,CAACzc,IAAD,CAAlD,CAAf;AACA,MAAM2X,UAAU,GAAGynC,QAAQ,CAACt8C,MAAT,GAAkBq8C,KAArC;AACAnD,UAAQ,CAACl5C,MAAT,IAAmB6U,UAAnB;AAEAsS,QAAM,CAACi0B,eAAP,CAAuBvmC,UAAvB;AACA,MAAM8mC,OAAO,GAAGv2B,gDAAO,CAACw2B,UAAR,EAAhB;AACAD,SAAO,CAACl7C,CAAR,GAAY23C,MAAZ;AACAuD,SAAO,CAACj7C,CAAR,GAAY43C,MAAM,GAAG,EAArB;AACAqD,SAAO,CAAC57C,KAAR,GAAgBs4C,KAAK,GAAGD,MAAxB;AACAuD,SAAO,CAAC98C,KAAR,GAAgB,aAAhB;AACA88C,SAAO,CAACz1C,EAAR,GAAa,KAAb;AACAy1C,SAAO,CAAC58C,IAAR,GAAe0mC,OAAf;AACAkW,SAAO,CAACz9C,UAAR,GAAqBhB,IAAI,CAACmc,iBAA1B;AACAsiC,SAAO,CAAC/hC,QAAR,GAAmB1c,IAAI,CAACkc,eAAxB;AACAuiC,SAAO,CAAC9hC,UAAR,GAAqB3c,IAAI,CAACoc,iBAA1B;AACAqiC,SAAO,CAACE,MAAR,GAAiB3+C,IAAI,CAACqb,YAAtB;AACAojC,SAAO,CAACI,MAAR,GAAiB7+C,IAAI,CAACqb,YAAtB;AACAojC,SAAO,CAACG,UAAR,GAAqB5+C,IAAI,CAACsc,WAA1B;AACAmiC,SAAO,CAACp4C,KAAR,GAAgB,KAAhB;AAEA04C,2DAAQ,CAAC94B,CAAD,EAAIw4B,OAAJ,CAAR;AAEA,MAAIa,WAAW,GAAGF,QAAQ,CAACt8C,MAAT,GAAkB,EAApC;AAEA,MAAI+hC,SAAS,GAAGua,QAAQ,CAACv8C,KAAzB;AAEA,MAAIgJ,IAAJ,EAAU0zC,UAAV;;AACA,MAAIrE,MAAM,KAAKC,KAAf,EAAsB;AACpBoE,cAAU,GAAGt1B,MAAM,CAACg0B,cAAP,KAA0BqB,WAAvC;;AACA,QAAIt/C,IAAI,CAACyb,WAAT,EAAsB;AACpB5P,UAAI,GAAGoa,CAAC,CACLhiB,MADI,CACG,MADH,EAEJvC,IAFI,CAGH,GAHG,eAIGw5C,MAJH,cAIaqE,UAJb,gBAI6BrE,MAAM,GAAGpyC,IAAI,CAAC6oB,GAAL,CAAS3xB,IAAI,CAAC6C,KAAL,GAAa,CAAtB,EAAyBgiC,SAAS,GAAG,CAArC,CAJtC,gBAKD0a,UAAU,GAAG,EALZ,gBAMGrE,MANH,EAAP;AAQD,KATD,MASO;AACLoE,iBAAW,IAAIt/C,IAAI,CAACib,SAApB;AAEAskC,gBAAU,GAAGt1B,MAAM,CAACg0B,cAAP,KAA0BqB,WAAvC;AACAzzC,UAAI,GAAGoa,CAAC,CACLhiB,MADI,CACG,MADH,EAEJvC,IAFI,CAGH,GAHG,EAIH,OACEw5C,MADF,GAEE,GAFF,GAGEqE,UAHF,GAIE,KAJF,IAKGrE,MAAM,GAAG,EALZ,IAME,GANF,IAOGqE,UAAU,GAAG,EAPhB,IAQE,GARF,IASGrE,MAAM,GAAG,EATZ,IAUE,GAVF,IAWGqE,UAAU,GAAG,EAXhB,IAYE,GAZF,GAaErE,MAbF,GAcE,GAdF,IAeGqE,UAAU,GAAG,EAfhB,CAJG,CAAP;AAqBD;;AAEDD,eAAW,IAAI,EAAf;AACA,QAAMz2C,EAAE,GAAGC,IAAI,CAAC6oB,GAAL,CAASkT,SAAS,GAAG,CAArB,EAAwB7kC,IAAI,CAAC6C,KAAL,GAAa,CAArC,CAAX;AACAonB,UAAM,CAACxoB,MAAP,CACEy5C,MAAM,GAAGryC,EADX,EAEEohB,MAAM,CAACg0B,cAAP,KAA0B,EAA1B,GAA+BqB,WAFjC,EAGEnE,KAAK,GAAGtyC,EAHV,EAIEohB,MAAM,CAACg0B,cAAP,KAA0B,EAA1B,GAA+BqB,WAJjC;AAMD,GA9CD,MA8CO;AACLA,eAAW,IAAIt/C,IAAI,CAACib,SAApB;AACAskC,cAAU,GAAGt1B,MAAM,CAACg0B,cAAP,KAA0BqB,WAAvC;AACAzzC,QAAI,GAAGoa,CAAC,CAAChiB,MAAF,CAAS,MAAT,CAAP;AACA4H,QAAI,CAACnK,IAAL,CAAU,IAAV,EAAgBw5C,MAAhB;AACArvC,QAAI,CAACnK,IAAL,CAAU,IAAV,EAAgB69C,UAAhB;AACA1zC,QAAI,CAACnK,IAAL,CAAU,IAAV,EAAgBy5C,KAAhB;AACAtvC,QAAI,CAACnK,IAAL,CAAU,IAAV,EAAgB69C,UAAhB;AACAt1B,UAAM,CAACxoB,MAAP,CAAcy5C,MAAd,EAAsBqE,UAAU,GAAG,EAAnC,EAAuCpE,KAAvC,EAA8CoE,UAA9C;AACD,GAtFwC,CAuFzC;AACA;;;AACA,MACE7wC,IAAI,KAAKkX,8DAAM,CAACC,EAAP,CAAUuwB,QAAV,CAAmB8B,MAA5B,IACAxpC,IAAI,KAAKkX,8DAAM,CAACC,EAAP,CAAUuwB,QAAV,CAAmBiC,YAD5B,IAEA3pC,IAAI,KAAKkX,8DAAM,CAACC,EAAP,CAAUuwB,QAAV,CAAmBiD,YAF5B,IAGA3qC,IAAI,KAAKkX,8DAAM,CAACC,EAAP,CAAUuwB,QAAV,CAAmBmC,WAJ9B,EAKE;AACA1sC,QAAI,CAACzI,KAAL,CAAW,kBAAX,EAA+B,MAA/B;AACAyI,QAAI,CAACnK,IAAL,CAAU,OAAV,EAAmB,cAAnB;AACD,GARD,MAQO;AACLmK,QAAI,CAACnK,IAAL,CAAU,OAAV,EAAmB,cAAnB;AACD;;AAED,MAAIwK,GAAG,GAAG,EAAV;;AACA,MAAIlM,IAAI,CAACoM,mBAAT,EAA8B;AAC5BF,OAAG,GACDG,MAAM,CAACC,QAAP,CAAgBC,QAAhB,GACA,IADA,GAEAF,MAAM,CAACC,QAAP,CAAgBE,IAFhB,GAGAH,MAAM,CAACC,QAAP,CAAgBG,QAHhB,GAIAJ,MAAM,CAACC,QAAP,CAAgBI,MALlB;AAMAR,OAAG,GAAGA,GAAG,CAACvG,OAAJ,CAAY,KAAZ,EAAmB,KAAnB,CAAN;AACAuG,OAAG,GAAGA,GAAG,CAACvG,OAAJ,CAAY,KAAZ,EAAmB,KAAnB,CAAN;AACD;;AAEDkG,MAAI,CAACnK,IAAL,CAAU,cAAV,EAA0B,CAA1B;AACAmK,MAAI,CAACnK,IAAL,CAAU,QAAV,EAAoB,MAApB,EAlHyC,CAkHZ;;AAC7BmK,MAAI,CAACzI,KAAL,CAAW,MAAX,EAAmB,MAAnB,EAnHyC,CAmHb;;AAC5B,MAAIsL,IAAI,KAAKkX,8DAAM,CAACC,EAAP,CAAUuwB,QAAV,CAAmB6B,KAA5B,IAAqCvpC,IAAI,KAAKkX,8DAAM,CAACC,EAAP,CAAUuwB,QAAV,CAAmB8B,MAArE,EAA6E;AAC3ErsC,QAAI,CAACnK,IAAL,CAAU,YAAV,EAAwB,SAASwK,GAAT,GAAe,aAAvC;AACD;;AACD,MAAIwC,IAAI,KAAKkX,8DAAM,CAACC,EAAP,CAAUuwB,QAAV,CAAmBgD,WAA5B,IAA2C1qC,IAAI,KAAKkX,8DAAM,CAACC,EAAP,CAAUuwB,QAAV,CAAmBiD,YAA3E,EAAyF;AACvFxtC,QAAI,CAACnK,IAAL,CAAU,YAAV,EAAwB,SAASwK,GAAT,GAAe,eAAvC;AACD;;AAED,MAAIwC,IAAI,KAAKkX,8DAAM,CAACC,EAAP,CAAUuwB,QAAV,CAAmBgC,WAA5B,IAA2C1pC,IAAI,KAAKkX,8DAAM,CAACC,EAAP,CAAUuwB,QAAV,CAAmBiC,YAA3E,EAAyF;AACvFxsC,QAAI,CAACnK,IAAL,CAAU,YAAV,EAAwB,SAASwK,GAAT,GAAe,aAAvC;AACD,GA7HwC,CA+HzC;;;AACA,MAAI+uC,mDAAU,CAACv/B,mBAAX,MAAoC1b,IAAI,CAAC0b,mBAA7C,EAAkE;AAChE7P,QAAI,CAACnK,IAAL,CAAU,cAAV,EAA0B,SAASwK,GAAT,GAAe,kBAAzC;AACA+Z,KAAC,CAAChiB,MAAF,CAAS,MAAT,EACGvC,IADH,CACQ,GADR,EACaw5C,MADb,EAEGx5C,IAFH,CAEQ,GAFR,EAEa69C,UAAU,GAAG,CAF1B,EAGG79C,IAHH,CAGQ,aAHR,EAGuB,YAHvB,EAIGA,IAJH,CAIQ,WAJR,EAIqB,MAJrB,EAKGA,IALH,CAKQ,aALR,EAKuB,QALvB,EAMGA,IANH,CAMQ,YANR,EAMsB,MANtB,EAOGA,IAPH,CAOQ,OAPR,EAOiB,gBAPjB,EAQGG,IARH,CAQQq9C,aARR;AASD;;AACDj1B,QAAM,CAACi0B,eAAP,CAAuBoB,WAAvB;AACAtD,UAAQ,CAACl5C,MAAT,IAAmBw8C,WAAnB;AACAtD,UAAQ,CAACX,KAAT,GAAiBW,QAAQ,CAACZ,MAAT,GAAkBY,QAAQ,CAACl5C,MAA5C;AACAmnB,QAAM,CAACxoB,MAAP,CAAcu6C,QAAQ,CAACwD,UAAvB,EAAmCxD,QAAQ,CAACZ,MAA5C,EAAoDY,QAAQ,CAACyD,QAA7D,EAAuEzD,QAAQ,CAACX,KAAhF;AACD,CAhJD;;AAkJO,IAAMqE,UAAU,GAAG,SAAbA,UAAa,CAAU33B,OAAV,EAAmBqtB,MAAnB,EAA2BuK,SAA3B,EAAsC1nC,WAAtC,EAAmD;AAC3E;AACA,MAAI2nC,SAAS,GAAG,CAAhB;AACA,MAAIC,UAAU,GAAG,CAAjB;AACA,MAAI9nC,SAAS,GAAG,CAAhB;;AACA,OAAK,IAAIxY,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGogD,SAAS,CAACngD,MAA9B,EAAsCD,CAAC,EAAvC,EAA2C;AACzC,QAAMg3C,KAAK,GAAGnB,MAAM,CAACuK,SAAS,CAACpgD,CAAD,CAAV,CAApB,CADyC,CAGzC;;AACAg3C,SAAK,CAAC1zC,KAAN,GAAc0zC,KAAK,CAAC1zC,KAAN,IAAe7C,IAAI,CAAC6C,KAAlC;AACA0zC,SAAK,CAACzzC,MAAN,GAAegG,IAAI,CAAC6oB,GAAL,CAAS4kB,KAAK,CAACzzC,MAAN,IAAgB9C,IAAI,CAAC8C,MAA9B,EAAsC9C,IAAI,CAAC8C,MAA3C,CAAf;AACAyzC,SAAK,CAAC5I,MAAN,GAAe4I,KAAK,CAAC5I,MAAN,IAAgB3tC,IAAI,CAACgb,WAApC;AAEAu7B,SAAK,CAAChzC,CAAN,GAAUq8C,SAAS,GAAGC,UAAtB;AACAtJ,SAAK,CAAC/yC,CAAN,GAAUyU,WAAV,CATyC,CAWzC;;AACA,QAAMnV,MAAM,GAAGolB,gDAAO,CAAC43B,SAAR,CAAkB/3B,OAAlB,EAA2BwuB,KAA3B,EAAkCv2C,IAAlC,CAAf;AACA+X,aAAS,GAAGjP,IAAI,CAAC6oB,GAAL,CAAS5Z,SAAT,EAAoBjV,MAApB,CAAZ;AACAmnB,UAAM,CAACxoB,MAAP,CAAc80C,KAAK,CAAChzC,CAApB,EAAuB0U,WAAvB,EAAoCs+B,KAAK,CAAChzC,CAAN,GAAUgzC,KAAK,CAAC1zC,KAApD,EAA2D0zC,KAAK,CAACzzC,MAAjE;AAEA88C,aAAS,IAAIrJ,KAAK,CAAC1zC,KAAnB;AACAg9C,cAAU,IAAItJ,KAAK,CAAC5I,MAApB;AACA1jB,UAAM,CAACuxB,MAAP,CAAc9F,QAAd,CAAuBa,KAAvB;AACD,GAxB0E,CA0B3E;;;AACAtsB,QAAM,CAACi0B,eAAP,CAAuBnmC,SAAvB;AACD,CA5BM;AA8BA,IAAMgoC,eAAe,GAAG,SAAlBA,eAAkB,CAAUh4B,OAAV,EAAmBqtB,MAAnB,EAA2BuK,SAA3B,EAAsC;AACnE,MAAI5nC,SAAS,GAAG,CAAhB;AACA,MAAID,QAAQ,GAAG,CAAf;;AACA,OAAK,IAAIvY,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGogD,SAAS,CAACngD,MAA9B,EAAsCD,CAAC,EAAvC,EAA2C;AACzC,QAAMg3C,KAAK,GAAGnB,MAAM,CAACuK,SAAS,CAACpgD,CAAD,CAAV,CAApB;AACA,QAAMygD,YAAY,GAAGC,qBAAqB,CAAC1J,KAAD,CAA1C;AACA,QAAI2J,cAAc,GAAGh4B,gDAAO,CAACi4B,SAAR,CAAkBp4B,OAAlB,EAA2BwuB,KAA3B,EAAkCyJ,YAAlC,EAAgDhgD,IAAhD,EAAsDA,IAAI,CAACub,UAA3D,CAArB;;AACA,QAAI2kC,cAAc,CAACp9C,MAAf,GAAwBiV,SAA5B,EAAuC;AACrCA,eAAS,GAAGmoC,cAAc,CAACp9C,MAA3B;AACD;;AACD,QAAIo9C,cAAc,CAACr9C,KAAf,GAAuB0zC,KAAK,CAAChzC,CAA7B,GAAiCuU,QAArC,EAA+C;AAC7CA,cAAQ,GAAGooC,cAAc,CAACr9C,KAAf,GAAuB0zC,KAAK,CAAChzC,CAAxC;AACD;AACF;;AAED,SAAO;AAAEwU,aAAS,EAAEA,SAAb;AAAwBD,YAAQ,EAAEA;AAAlC,GAAP;AACD,CAhBM;AAkBA,IAAM8P,OAAO,GAAG,SAAVA,OAAU,CAAUC,GAAV,EAAe;AACpC/oB,gEAAe,CAACkB,IAAD,EAAO6nB,GAAP,CAAf;;AAEA,MAAIA,GAAG,CAAC7mB,UAAR,EAAoB;AAClBhB,QAAI,CAAC4b,eAAL,GAAuB5b,IAAI,CAAC+b,cAAL,GAAsB/b,IAAI,CAACmc,iBAAL,GAAyB0L,GAAG,CAAC7mB,UAA1E;AACD;;AACD,MAAI6mB,GAAG,CAACnL,QAAR,EAAkB;AAChB1c,QAAI,CAAC2b,aAAL,GAAqB3b,IAAI,CAAC8b,YAAL,GAAoB9b,IAAI,CAACkc,eAAL,GAAuB2L,GAAG,CAACnL,QAApE;AACD;;AACD,MAAImL,GAAG,CAAClL,UAAR,EAAoB;AAClB3c,QAAI,CAAC6b,eAAL,GAAuB7b,IAAI,CAACgc,cAAL,GAAsBhc,IAAI,CAACoc,iBAAL,GAAyByL,GAAG,CAAClL,UAA1E;AACD;AACF,CAZM;;AAcP,IAAMwgC,gBAAgB,GAAG,SAAnBA,gBAAmB,CAAU5G,KAAV,EAAiB;AACxC,SAAOtsB,MAAM,CAACsxB,WAAP,CAAmBhwC,MAAnB,CAA0B,UAAUiyC,UAAV,EAAsB;AACrD,WAAOA,UAAU,CAACjH,KAAX,KAAqBA,KAA5B;AACD,GAFM,CAAP;AAGD,CAJD;;AAMA,IAAM6J,gBAAgB,GAAG,SAAnBA,gBAAmB,CAAU7J,KAAV,EAAiBnB,MAAjB,EAAyB;AAChD;AACA,MAAMiL,QAAQ,GAAGjL,MAAM,CAACmB,KAAD,CAAvB;AACA,MAAMgF,WAAW,GAAG4B,gBAAgB,CAAC5G,KAAD,CAApC;AAEA,MAAMzkC,IAAI,GAAGypC,WAAW,CAACl7B,MAAZ,CAAmB,UAAUu7B,GAAV,EAAe4B,UAAf,EAA2B;AACzD,WAAO10C,IAAI,CAAC+I,GAAL,CAAS+pC,GAAT,EAAc4B,UAAU,CAACtC,MAAzB,CAAP;AACD,GAFY,EAEVmF,QAAQ,CAAC98C,CAAT,GAAa88C,QAAQ,CAACx9C,KAAT,GAAiB,CAFpB,CAAb;AAGA,MAAMuiB,KAAK,GAAGm2B,WAAW,CAACl7B,MAAZ,CAAmB,UAAUu7B,GAAV,EAAe4B,UAAf,EAA2B;AAC1D,WAAO10C,IAAI,CAAC6oB,GAAL,CAASiqB,GAAT,EAAc4B,UAAU,CAACrC,KAAzB,CAAP;AACD,GAFa,EAEXkF,QAAQ,CAAC98C,CAAT,GAAa88C,QAAQ,CAACx9C,KAAT,GAAiB,CAFnB,CAAd;AAGA,SAAO,CAACiP,IAAD,EAAOsT,KAAP,CAAP;AACD,CAZD;;AAcA,SAASk7B,uBAAT,CAAiCC,UAAjC,EAA6C7X,GAA7C,EAAkD8X,SAAlD,EAA6DC,UAA7D,EAAyEC,SAAzE,EAAoF;AAClFz2B,QAAM,CAACi0B,eAAP,CAAuBsC,SAAvB;AACA,MAAIG,YAAY,GAAGF,UAAnB;;AACA,MAAI/X,GAAG,CAACnnC,EAAJ,IAAUmnC,GAAG,CAACH,OAAd,IAAyBgY,UAAU,CAAC7X,GAAG,CAACnnC,EAAL,CAAvC,EAAiD;AAC/C,QAAIq/C,SAAS,GAAGL,UAAU,CAAC7X,GAAG,CAACnnC,EAAL,CAAV,CAAmBsB,KAAnC;AACA,QAAIg+C,QAAQ,GAAGpkC,WAAW,CAACzc,IAAD,CAA1B;AACA0oC,OAAG,CAACH,OAAJ,GAAchgC,8CAAK,CAACu4C,SAAN,YAAoBpY,GAAG,CAACH,OAAxB,QAAoCqY,SAAS,GAAG,IAAI5gD,IAAI,CAACsc,WAAzD,EAAsEukC,QAAtE,CAAd;AACAnY,OAAG,CAAC7lC,KAAJ,GAAY+9C,SAAZ;AACAlY,OAAG,CAACrsB,IAAJ,GAAW,IAAX,CAL+C,CAO/C;;AACA,QAAM+iC,QAAQ,GAAG72C,8CAAK,CAAC82C,uBAAN,CAA8B3W,GAAG,CAACH,OAAlC,EAA2CsY,QAA3C,CAAjB;AACA,QAAMvB,WAAW,GAAGx2C,IAAI,CAAC6oB,GAAL,CAASytB,QAAQ,CAACt8C,MAAlB,EAA0B9C,IAAI,CAACwc,cAA/B,CAApB;AACAmkC,gBAAY,GAAGF,UAAU,GAAGnB,WAA5B;AACA3+C,+CAAG,CAACC,KAAJ,WAAa0+C,WAAb,gBAA8B5W,GAAG,CAACH,OAAlC;AACD;;AACDmY,WAAS,CAAChY,GAAD,CAAT;AACAze,QAAM,CAACi0B,eAAP,CAAuByC,YAAvB;AACD;AAED;AACA;AACA;AACA;AACA;;;AACO,IAAMn4B,IAAI,GAAG,SAAPA,IAAO,CAAU3mB,IAAV,EAAgBN,EAAhB,EAAoB;AACtCvB,MAAI,GAAGgjB,iDAAA,GAAsBpI,QAA7B;AACAgL,gEAAM,CAACC,EAAP,CAAUnhB,KAAV;AACAkhB,gEAAM,CAACC,EAAP,CAAUiyB,OAAV,CAAkB93C,IAAI,CAACqc,IAAvB;AACAuJ,gEAAM,CAACnY,KAAP,CAAa5L,IAAI,GAAG,IAApB;AACAooB,QAAM,CAACqyB,IAAP;AACA37C,6CAAG,CAACC,KAAJ,aAAesC,IAAI,CAACC,SAAL,CAAenD,IAAf,EAAqB,IAArB,EAA2B,CAA3B,CAAf;AAEA,MAAM+nB,OAAO,GAAGplB,iDAAM,iBAASpB,EAAT,SAAtB,CARsC,CAUtC;;AACA,MAAM6zC,MAAM,GAAGxvB,8DAAM,CAACC,EAAP,CAAU4xB,SAAV,EAAf;AACA,MAAMkI,SAAS,GAAG/5B,8DAAM,CAACC,EAAP,CAAU8xB,YAAV,EAAlB;AACA,MAAMtC,QAAQ,GAAGzvB,8DAAM,CAACC,EAAP,CAAU2xB,WAAV,EAAjB;AACA,MAAMzgC,KAAK,GAAG6O,8DAAM,CAACC,EAAP,CAAUyJ,QAAV,EAAd;AAEA,MAAMyxB,uBAAuB,GAAGC,0BAA0B,CAAC5L,MAAD,EAASC,QAAT,CAA1D;AACAr1C,MAAI,CAAC8C,MAAL,GAAcm+C,qBAAqB,CAAC7L,MAAD,EAAS2L,uBAAT,CAAnC;AAEA74B,kDAAO,CAACg5B,kBAAR,CAA2Bn5B,OAA3B;AACAG,kDAAO,CAACi5B,kBAAR,CAA2Bp5B,OAA3B;AACAG,kDAAO,CAACk5B,eAAR,CAAwBr5B,OAAxB;AAEA23B,YAAU,CAAC33B,OAAD,EAAUqtB,MAAV,EAAkBuK,SAAlB,EAA6B,CAA7B,CAAV;AACA,MAAMY,UAAU,GAAGc,mBAAmB,CAAChM,QAAD,EAAWD,MAAX,EAAmB2L,uBAAnB,CAAtC,CAxBsC,CA0BtC;;AACA74B,kDAAO,CAACo5B,eAAR,CAAwBv5B,OAAxB;AACAG,kDAAO,CAACq5B,oBAAR,CAA6Bx5B,OAA7B;AACAG,kDAAO,CAACs5B,qBAAR,CAA8Bz5B,OAA9B;AACAG,kDAAO,CAACu5B,oBAAR,CAA6B15B,OAA7B;;AAEA,WAAS25B,SAAT,CAAmBhZ,GAAnB,EAAwBzwB,WAAxB,EAAqC;AACnC,QAAM0pC,cAAc,GAAG13B,MAAM,CAACqzB,aAAP,CAAqB5U,GAArB,CAAvB;;AACA,QAAIiZ,cAAc,CAACvG,MAAf,GAAwB,EAAxB,GAA6BnjC,WAAjC,EAA8C;AAC5C0pC,oBAAc,CAACvG,MAAf,GAAwBnjC,WAAW,GAAG,CAAtC;AACAA,iBAAW,IAAI,EAAf;AACD;;AACDiQ,oDAAO,CAAC05B,cAAR,CACE75B,OADF,EAEE45B,cAFF,EAGE1pC,WAHF,EAIEjY,IAJF,EAKEm9C,gBAAgB,CAACzU,GAAG,CAAC4N,IAAJ,CAASC,KAAV,CAAhB,CAAiC/2C,MALnC;AAQAyqB,UAAM,CAACxoB,MAAP,CAAckgD,cAAc,CAACzG,MAA7B,EAAqCjjC,WAAW,GAAG,EAAnD,EAAuD0pC,cAAc,CAACxG,KAAtE,EAA6EljC,WAA7E;AACD,GA/CqC,CAiDtC;;;AACA,MAAIinC,aAAa,GAAG,CAApB;AACA7J,UAAQ,CAAC50C,OAAT,CAAiB,UAAUioC,GAAV,EAAe;AAC9B,QAAIqT,SAAJ,EAAeE,SAAf,EAA0BD,QAA1B;;AAEA,YAAQtT,GAAG,CAACh6B,IAAZ;AACE,WAAKkX,8DAAM,CAACC,EAAP,CAAUuwB,QAAV,CAAmB+B,IAAxB;AACE8D,iBAAS,GAAGvT,GAAG,CAACuT,SAAhB;AACAoC,gBAAQ,CAACt2B,OAAD,EAAUk0B,SAAV,CAAR;AACA;;AACF,WAAKr2B,8DAAM,CAACC,EAAP,CAAUuwB,QAAV,CAAmBC,YAAxB;AACEpsB,cAAM,CAAC+yB,aAAP,CAAqBtU,GAArB,EAA0B3gB,OAA1B,EAAmCqtB,MAAnC;AACA;;AACF,WAAKxvB,8DAAM,CAACC,EAAP,CAAUuwB,QAAV,CAAmBI,UAAxB;AACEkL,iBAAS,CAAChZ,GAAD,EAAMze,MAAM,CAACg0B,cAAP,EAAN,CAAT;AACA;;AACF,WAAKr4B,8DAAM,CAACC,EAAP,CAAUuwB,QAAV,CAAmBoC,UAAxB;AACE8H,+BAAuB,CACrBC,UADqB,EAErB7X,GAFqB,EAGrB1oC,IAAI,CAACib,SAHgB,EAIrBjb,IAAI,CAACib,SAAL,GAAiBjb,IAAI,CAACkb,aAJD,EAKrB,UAACqtB,OAAD;AAAA,iBAAate,MAAM,CAAC0zB,OAAP,CAAepV,OAAf,CAAb;AAAA,SALqB,CAAvB;AAOA;;AACF,WAAK3iB,8DAAM,CAACC,EAAP,CAAUuwB,QAAV,CAAmBqC,QAAxB;AACEsD,iBAAS,GAAG9xB,MAAM,CAAC2zB,OAAP,EAAZ;AACA11B,wDAAO,CAAC25B,QAAR,CAAiB95B,OAAjB,EAA0Bg0B,SAA1B,EAAqC,MAArC,EAA6C/7C,IAA7C;AACAiqB,cAAM,CAACi0B,eAAP,CAAuBnC,SAAS,CAACV,KAAV,GAAkBpxB,MAAM,CAACg0B,cAAP,EAAzC;AACAh0B,cAAM,CAACuxB,MAAP,CAAcM,OAAd,CAAsBC,SAAtB;AACA;;AACF,WAAKn2B,8DAAM,CAACC,EAAP,CAAUuwB,QAAV,CAAmB8C,UAAxB;AACEoH,+BAAuB,CAACC,UAAD,EAAa7X,GAAb,EAAkB1oC,IAAI,CAACib,SAAvB,EAAkCjb,IAAI,CAACib,SAAvC,EAAkD,UAACstB,OAAD;AAAA,iBACvEte,MAAM,CAAC0zB,OAAP,CAAez7C,SAAf,EAA0BqmC,OAAO,CAACA,OAAlC,CADuE;AAAA,SAAlD,CAAvB;AAGA;;AACF,WAAK3iB,8DAAM,CAACC,EAAP,CAAUuwB,QAAV,CAAmB+C,QAAxB;AACE4C,iBAAS,GAAG9xB,MAAM,CAAC2zB,OAAP,EAAZ;AACA11B,wDAAO,CAAC45B,kBAAR,CAA2B/5B,OAA3B,EAAoCg0B,SAApC;AACA9xB,cAAM,CAACuxB,MAAP,CAAcM,OAAd,CAAsBC,SAAtB;AACA9xB,cAAM,CAACi0B,eAAP,CAAuBnC,SAAS,CAACV,KAAV,GAAkBpxB,MAAM,CAACg0B,cAAP,EAAzC;AACA;;AACF,WAAKr4B,8DAAM,CAACC,EAAP,CAAUuwB,QAAV,CAAmByC,SAAxB;AACEyH,+BAAuB,CACrBC,UADqB,EAErB7X,GAFqB,EAGrB1oC,IAAI,CAACib,SAHgB,EAIrBjb,IAAI,CAACib,SAAL,GAAiBjb,IAAI,CAACkb,aAJD,EAKrB,UAACqtB,OAAD;AAAA,iBAAate,MAAM,CAAC0zB,OAAP,CAAepV,OAAf,CAAb;AAAA,SALqB,CAAvB;AAOA;;AACF,WAAK3iB,8DAAM,CAACC,EAAP,CAAUuwB,QAAV,CAAmB0C,OAAxB;AACEiD,iBAAS,GAAG9xB,MAAM,CAAC2zB,OAAP,EAAZ;AACA11B,wDAAO,CAAC25B,QAAR,CAAiB95B,OAAjB,EAA0Bg0B,SAA1B,EAAqC,KAArC,EAA4C/7C,IAA5C;AACAiqB,cAAM,CAACi0B,eAAP,CAAuBnC,SAAS,CAACV,KAAV,GAAkBpxB,MAAM,CAACg0B,cAAP,EAAzC;AACAh0B,cAAM,CAACuxB,MAAP,CAAcM,OAAd,CAAsBC,SAAtB;AACA;;AACF,WAAKn2B,8DAAM,CAACC,EAAP,CAAUuwB,QAAV,CAAmBsC,SAAxB;AACE4H,+BAAuB,CACrBC,UADqB,EAErB7X,GAFqB,EAGrB1oC,IAAI,CAACib,SAHgB,EAIrBjb,IAAI,CAACib,SAAL,GAAiBjb,IAAI,CAACkb,aAJD,EAKrB,UAACqtB,OAAD;AAAA,iBAAate,MAAM,CAAC0zB,OAAP,CAAepV,OAAf,CAAb;AAAA,SALqB,CAAvB;AAOA;;AACF,WAAK3iB,8DAAM,CAACC,EAAP,CAAUuwB,QAAV,CAAmBuC,QAAxB;AACE2H,+BAAuB,CACrBC,UADqB,EAErB7X,GAFqB,EAGrB1oC,IAAI,CAACib,SAAL,GAAiBjb,IAAI,CAACkb,aAHD,EAIrBlb,IAAI,CAACib,SAJgB,EAKrB,UAACstB,OAAD;AAAA,iBAAate,MAAM,CAAC6zB,gBAAP,CAAwBvV,OAAxB,CAAb;AAAA,SALqB,CAAvB;AAOA;;AACF,WAAK3iB,8DAAM,CAACC,EAAP,CAAUuwB,QAAV,CAAmBwC,OAAxB;AACEmD,iBAAS,GAAG9xB,MAAM,CAAC2zB,OAAP,EAAZ;AACA11B,wDAAO,CAAC25B,QAAR,CAAiB95B,OAAjB,EAA0Bg0B,SAA1B,EAAqC,KAArC,EAA4C/7C,IAA5C;AACAiqB,cAAM,CAACi0B,eAAP,CAAuBnC,SAAS,CAACV,KAAV,GAAkBpxB,MAAM,CAACg0B,cAAP,EAAzC;AACAh0B,cAAM,CAACuxB,MAAP,CAAcM,OAAd,CAAsBC,SAAtB;AACA;;AACF,WAAKn2B,8DAAM,CAACC,EAAP,CAAUuwB,QAAV,CAAmB2C,SAAxB;AACEuH,+BAAuB,CACrBC,UADqB,EAErB7X,GAFqB,EAGrB1oC,IAAI,CAACib,SAHgB,EAIrBjb,IAAI,CAACib,SAAL,GAAiBjb,IAAI,CAACkb,aAJD,EAKrB,UAACqtB,OAAD;AAAA,iBAAate,MAAM,CAAC0zB,OAAP,CAAepV,OAAf,CAAb;AAAA,SALqB,CAAvB;AAOA;;AACF,WAAK3iB,8DAAM,CAACC,EAAP,CAAUuwB,QAAV,CAAmB4C,OAAxB;AACEsH,+BAAuB,CACrBC,UADqB,EAErB7X,GAFqB,EAGrB1oC,IAAI,CAACib,SAAL,GAAiBjb,IAAI,CAACkb,aAHD,EAIrBlb,IAAI,CAACib,SAJgB,EAKrB,UAACstB,OAAD;AAAA,iBAAate,MAAM,CAAC6zB,gBAAP,CAAwBvV,OAAxB,CAAb;AAAA,SALqB,CAAvB;AAOA;;AACF,WAAK3iB,8DAAM,CAACC,EAAP,CAAUuwB,QAAV,CAAmB6C,OAAxB;AACE8C,iBAAS,GAAG9xB,MAAM,CAAC2zB,OAAP,EAAZ;AACA11B,wDAAO,CAAC25B,QAAR,CAAiB95B,OAAjB,EAA0Bg0B,SAA1B,EAAqC,KAArC,EAA4C/7C,IAA5C;AACAiqB,cAAM,CAACi0B,eAAP,CAAuBnC,SAAS,CAACV,KAAV,GAAkBpxB,MAAM,CAACg0B,cAAP,EAAzC;AACAh0B,cAAM,CAACuxB,MAAP,CAAcM,OAAd,CAAsBC,SAAtB;AACA;;AACF;AACE,YAAI;AACF;AACAC,kBAAQ,GAAGtT,GAAG,CAACsT,QAAf;AACAA,kBAAQ,CAACZ,MAAT,GAAkBnxB,MAAM,CAACg0B,cAAP,EAAlB;AACAjC,kBAAQ,CAACkD,aAAT,GAAyBA,aAAzB;AACAD,qBAAW,CAACl3B,OAAD,EAAUi0B,QAAV,CAAX;AACA/xB,gBAAM,CAACuxB,MAAP,CAAc/E,UAAd,CAAyBuF,QAAzB;AACD,SAPD,CAOE,OAAOxxC,CAAP,EAAU;AACV7J,qDAAG,CAACgT,KAAJ,CAAU,6BAAV,EAAyCnJ,CAAzC;AACD;;AA9GL,KAH8B,CAmH9B;;;AACA,QACE,CACEob,8DAAM,CAACC,EAAP,CAAUuwB,QAAV,CAAmBkC,UADrB,EAEE1yB,8DAAM,CAACC,EAAP,CAAUuwB,QAAV,CAAmBmC,WAFrB,EAGE3yB,8DAAM,CAACC,EAAP,CAAUuwB,QAAV,CAAmB6B,KAHrB,EAIEryB,8DAAM,CAACC,EAAP,CAAUuwB,QAAV,CAAmB8B,MAJrB,EAKEtyB,8DAAM,CAACC,EAAP,CAAUuwB,QAAV,CAAmBgC,WALrB,EAMExyB,8DAAM,CAACC,EAAP,CAAUuwB,QAAV,CAAmBiC,YANrB,EAOEzyB,8DAAM,CAACC,EAAP,CAAUuwB,QAAV,CAAmBgD,WAPrB,EAQExzB,8DAAM,CAACC,EAAP,CAAUuwB,QAAV,CAAmBiD,YARrB,EASE0I,QATF,CASWrZ,GAAG,CAACh6B,IATf,CADF,EAWE;AACAwwC,mBAAa;AACd;AACF,GAlID;;AAoIA,MAAIl/C,IAAI,CAACsb,YAAT,EAAuB;AACrB;AACA2O,UAAM,CAACi0B,eAAP,CAAuBl+C,IAAI,CAACib,SAAL,GAAiB,CAAxC;AACAykC,cAAU,CAAC33B,OAAD,EAAUqtB,MAAV,EAAkBuK,SAAlB,EAA6B11B,MAAM,CAACg0B,cAAP,EAA7B,CAAV;AACAh0B,UAAM,CAACi0B,eAAP,CAAuBl+C,IAAI,CAACib,SAA5B;AACA+mC,uEAAkB,CAACj6B,OAAD,EAAUkC,MAAM,CAACg0B,cAAP,EAAV,CAAlB;AACD,GA7LqC,CA+LtC;;;AACA,MAAIgE,eAAe,GAAGlC,eAAe,CAACh4B,OAAD,EAAUqtB,MAAV,EAAkBuK,SAAlB,CAArC;;AAEA,0BAAwB11B,MAAM,CAACm0B,SAAP,EAAxB;AAAA,MAAgB8D,GAAhB,qBAAQj4B,MAAR,CAlMsC,CAoMtC;;;AACAtpB,6CAAG,CAACC,KAAJ,CAAU,oCAAoCW,EAApC,GAAyC,cAAnD;AACA,MAAM4gD,UAAU,GAAGp9B,oDAAS,CAAC,MAAMxjB,EAAN,GAAW,cAAZ,CAA5B;AACA4gD,YAAU,CAACzgD,IAAX,CAAgB,IAAhB,EAAsBwgD,GAAG,CAAC7G,KAA1B,EAvMsC,CAyMtC;;AACA,MAAI+G,SAAS,GAAGF,GAAG,CAAC7G,KAAJ,GAAY6G,GAAG,CAAC9G,MAAhC;;AACA,MAAIgH,SAAS,GAAGH,eAAe,CAAClqC,SAAhC,EAA2C;AACzCqqC,aAAS,GAAGH,eAAe,CAAClqC,SAA5B;AACD;;AAED,MAAIjV,MAAM,GAAGs/C,SAAS,GAAG,IAAIpiD,IAAI,CAAC+a,cAAlC;;AACA,MAAI/a,IAAI,CAACsb,YAAT,EAAuB;AACrBxY,UAAM,GAAGA,MAAM,GAAG9C,IAAI,CAACib,SAAd,GAA0Bjb,IAAI,CAACwb,eAAxC;AACD,GAlNqC,CAoNtC;;;AACA,MAAI6mC,QAAQ,GAAGH,GAAG,CAAC/G,KAAJ,GAAY+G,GAAG,CAAChH,MAA/B;;AACA,MAAImH,QAAQ,GAAGJ,eAAe,CAACnqC,QAA/B,EAAyC;AACvCuqC,YAAQ,GAAGJ,eAAe,CAACnqC,QAA3B;AACD;;AACD,MAAMjV,KAAK,GAAGw/C,QAAQ,GAAG,IAAIriD,IAAI,CAAC8a,cAAlC;;AAEA,MAAI/D,KAAJ,EAAW;AACTgR,WAAO,CACJ9jB,MADH,CACU,MADV,EAEGpC,IAFH,CAEQkV,KAFR,EAGGrV,IAHH,CAGQ,GAHR,EAGa,CAACwgD,GAAG,CAAC/G,KAAJ,GAAY+G,GAAG,CAAChH,MAAjB,IAA2B,CAA3B,GAA+B,IAAIl7C,IAAI,CAAC8a,cAHrD,EAIGpZ,IAJH,CAIQ,GAJR,EAIa,CAAC,EAJd;AAKD;;AAED4mB,iEAAgB,CAACP,OAAD,EAAUjlB,MAAV,EAAkBD,KAAlB,EAAyB7C,IAAI,CAAC0a,WAA9B,CAAhB;AAEA,MAAM4nC,iBAAiB,GAAGvrC,KAAK,GAAG,EAAH,GAAQ,CAAvC;AACAgR,SAAO,CAACrmB,IAAR,CACE,SADF,EAEEwgD,GAAG,CAAChH,MAAJ,GACEl7C,IAAI,CAAC8a,cADP,GAEE,IAFF,IAGG9a,IAAI,CAAC+a,cAAL,GAAsBunC,iBAHzB,IAIE,GAJF,GAKEz/C,KALF,GAME,GANF,IAOGC,MAAM,GAAGw/C,iBAPZ,CAFF;AAWA3hD,6CAAG,CAACC,KAAJ,YAAqBqpB,MAAM,CAACuxB,MAA5B;AACD,CAlPM;AAoPP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAMwF,0BAA0B,GAAG,SAA7BA,0BAA6B,CAAU5L,MAAV,EAAkBC,QAAlB,EAA4B;AAC7D,MAAM0L,uBAAuB,GAAG,EAAhC;AAEA1L,UAAQ,CAAC50C,OAAT,CAAiB,UAAUioC,GAAV,EAAe;AAC9B,QAAI0M,MAAM,CAAC1M,GAAG,CAACmO,EAAL,CAAN,IAAkBzB,MAAM,CAAC1M,GAAG,CAAC4N,IAAL,CAA5B,EAAwC;AACtC,UAAMC,KAAK,GAAGnB,MAAM,CAAC1M,GAAG,CAACmO,EAAL,CAApB,CADsC,CAGtC;;AACA,UAAInO,GAAG,CAACoR,SAAJ,KAAkBl0B,8DAAM,CAACC,EAAP,CAAU4zB,SAAV,CAAoBC,MAAtC,IAAgD,CAACnD,KAAK,CAACpB,SAA3D,EAAsE;AACpE;AACD,OANqC,CAQtC;;;AACA,UAAIzM,GAAG,CAACoR,SAAJ,KAAkBl0B,8DAAM,CAACC,EAAP,CAAU4zB,SAAV,CAAoBE,OAAtC,IAAiD,CAACpD,KAAK,CAACN,SAA5D,EAAuE;AACrE;AACD;;AAED,UAAMsM,MAAM,GAAG7Z,GAAG,CAACoR,SAAJ,KAAkB53C,SAAjC;AACA,UAAMsgD,SAAS,GAAG,CAACD,MAAnB;AAEA,UAAME,QAAQ,GAAGF,MAAM,GAAG3lC,QAAQ,CAAC5c,IAAD,CAAX,GAAoByc,WAAW,CAACzc,IAAD,CAAtD;AACA,UAAI0iD,cAAc,GAAGha,GAAG,CAACrsB,IAAJ,GACjB9T,8CAAK,CAACu4C,SAAN,CAAgBpY,GAAG,CAACH,OAApB,EAA6BvoC,IAAI,CAAC6C,KAAL,GAAa,IAAI7C,IAAI,CAACsc,WAAnD,EAAgEmmC,QAAhE,CADiB,GAEjB/Z,GAAG,CAACH,OAFR;AAGA,UAAMoa,iBAAiB,GAAGp6C,8CAAK,CAAC82C,uBAAN,CAA8BqD,cAA9B,EAA8CD,QAA9C,CAA1B;AACA,UAAMG,YAAY,GAAGD,iBAAiB,CAAC9/C,KAAlB,GAA0B,IAAI7C,IAAI,CAACsc,WAAxD;AAEA;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACM,UAAIkmC,SAAS,IAAI9Z,GAAG,CAAC4N,IAAJ,KAAaC,KAAK,CAACN,SAApC,EAA+C;AAC7C8K,+BAAuB,CAACrY,GAAG,CAACmO,EAAL,CAAvB,GAAkC/tC,IAAI,CAAC6oB,GAAL,CAChCovB,uBAAuB,CAACrY,GAAG,CAACmO,EAAL,CAAvB,IAAmC,CADH,EAEhC+L,YAFgC,CAAlC;AAID,OALD,MAKO,IAAIJ,SAAS,IAAI9Z,GAAG,CAAC4N,IAAJ,KAAaC,KAAK,CAACpB,SAApC,EAA+C;AACpD4L,+BAAuB,CAACrY,GAAG,CAAC4N,IAAL,CAAvB,GAAoCxtC,IAAI,CAAC6oB,GAAL,CAClCovB,uBAAuB,CAACrY,GAAG,CAAC4N,IAAL,CAAvB,IAAqC,CADH,EAElCsM,YAFkC,CAApC;AAID,OALM,MAKA,IAAIJ,SAAS,IAAI9Z,GAAG,CAAC4N,IAAJ,KAAa5N,GAAG,CAACmO,EAAlC,EAAsC;AAC3CkK,+BAAuB,CAACrY,GAAG,CAAC4N,IAAL,CAAvB,GAAoCxtC,IAAI,CAAC6oB,GAAL,CAClCovB,uBAAuB,CAACrY,GAAG,CAAC4N,IAAL,CAAvB,IAAqC,CADH,EAElCsM,YAAY,GAAG,CAFmB,CAApC;AAKA7B,+BAAuB,CAACrY,GAAG,CAACmO,EAAL,CAAvB,GAAkC/tC,IAAI,CAAC6oB,GAAL,CAChCovB,uBAAuB,CAACrY,GAAG,CAACmO,EAAL,CAAvB,IAAmC,CADH,EAEhC+L,YAAY,GAAG,CAFiB,CAAlC;AAID,OAVM,MAUA,IAAIla,GAAG,CAACoR,SAAJ,KAAkBl0B,8DAAM,CAACC,EAAP,CAAU4zB,SAAV,CAAoBE,OAA1C,EAAmD;AACxDoH,+BAAuB,CAACrY,GAAG,CAAC4N,IAAL,CAAvB,GAAoCxtC,IAAI,CAAC6oB,GAAL,CAClCovB,uBAAuB,CAACrY,GAAG,CAAC4N,IAAL,CAAvB,IAAqC,CADH,EAElCsM,YAFkC,CAApC;AAID,OALM,MAKA,IAAIla,GAAG,CAACoR,SAAJ,KAAkBl0B,8DAAM,CAACC,EAAP,CAAU4zB,SAAV,CAAoBC,MAA1C,EAAkD;AACvDqH,+BAAuB,CAACxK,KAAK,CAACpB,SAAP,CAAvB,GAA2CrsC,IAAI,CAAC6oB,GAAL,CACzCovB,uBAAuB,CAACxK,KAAK,CAACpB,SAAP,CAAvB,IAA4C,CADH,EAEzCyN,YAFyC,CAA3C;AAID,OALM,MAKA,IAAIla,GAAG,CAACoR,SAAJ,KAAkBl0B,8DAAM,CAACC,EAAP,CAAU4zB,SAAV,CAAoBG,IAA1C,EAAgD;AACrD,YAAIrD,KAAK,CAACpB,SAAV,EAAqB;AACnB4L,iCAAuB,CAACxK,KAAK,CAACpB,SAAP,CAAvB,GAA2CrsC,IAAI,CAAC6oB,GAAL,CACzCovB,uBAAuB,CAACxK,KAAK,CAACpB,SAAP,CAAvB,IAA4C,CADH,EAEzCyN,YAAY,GAAG,CAF0B,CAA3C;AAID;;AAED,YAAIrM,KAAK,CAACN,SAAV,EAAqB;AACnB8K,iCAAuB,CAACrY,GAAG,CAAC4N,IAAL,CAAvB,GAAoCxtC,IAAI,CAAC6oB,GAAL,CAClCovB,uBAAuB,CAACrY,GAAG,CAAC4N,IAAL,CAAvB,IAAqC,CADH,EAElCsM,YAAY,GAAG,CAFmB,CAApC;AAID;AACF;AACF;AACF,GAtFD;AAwFAjiD,6CAAG,CAACC,KAAJ,CAAU,0BAAV,EAAsCmgD,uBAAtC;AACA,SAAOA,uBAAP;AACD,CA7FD;;AA+FA,IAAMd,qBAAqB,GAAG,SAAxBA,qBAAwB,CAAU1J,KAAV,EAAiB;AAC7C,MAAIsM,kBAAkB,GAAG,CAAzB;AACA,MAAMJ,QAAQ,GAAG5lC,SAAS,CAAC7c,IAAD,CAA1B;;AACA,OAAK,IAAIU,GAAT,IAAgB61C,KAAK,CAACV,KAAtB,EAA6B;AAC3B,QAAIiN,eAAe,GAAGv6C,8CAAK,CAAC82C,uBAAN,CAA8B3+C,GAA9B,EAAmC+hD,QAAnC,CAAtB;AACA,QAAIM,UAAU,GAAGD,eAAe,CAACjgD,KAAhB,GAAwB,IAAI7C,IAAI,CAACsc,WAAjC,GAA+C,IAAItc,IAAI,CAACib,SAAzE;;AACA,QAAI4nC,kBAAkB,GAAGE,UAAzB,EAAqC;AACnCF,wBAAkB,GAAGE,UAArB;AACD;AACF;;AAED,SAAOF,kBAAP;AACD,CAZD;AAcA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAM5B,qBAAqB,GAAG,SAAxBA,qBAAwB,CAAU7L,MAAV,EAAkB4N,mBAAlB,EAAuC;AACnE,MAAIjrC,SAAS,GAAG,CAAhB;AACArZ,QAAM,CAAC6B,IAAP,CAAY60C,MAAZ,EAAoB30C,OAApB,CAA4B,UAACwiD,IAAD,EAAU;AACpC,QAAM1M,KAAK,GAAGnB,MAAM,CAAC6N,IAAD,CAApB;;AACA,QAAI1M,KAAK,CAACl6B,IAAV,EAAgB;AACdk6B,WAAK,CAAChV,WAAN,GAAoBh5B,8CAAK,CAACu4C,SAAN,CAClBvK,KAAK,CAAChV,WADY,EAElBvhC,IAAI,CAAC6C,KAAL,GAAa,IAAI7C,IAAI,CAACsc,WAFJ,EAGlBO,SAAS,CAAC7c,IAAD,CAHS,CAApB;AAKD;;AACD,QAAMkjD,OAAO,GAAG36C,8CAAK,CAAC82C,uBAAN,CAA8B9I,KAAK,CAAChV,WAApC,EAAiD1kB,SAAS,CAAC7c,IAAD,CAA1D,CAAhB;AACAu2C,SAAK,CAAC1zC,KAAN,GAAc0zC,KAAK,CAACl6B,IAAN,GACVrc,IAAI,CAAC6C,KADK,GAEViG,IAAI,CAAC6oB,GAAL,CAAS3xB,IAAI,CAAC6C,KAAd,EAAqBqgD,OAAO,CAACrgD,KAAR,GAAgB,IAAI7C,IAAI,CAACsc,WAA9C,CAFJ;AAIAi6B,SAAK,CAACzzC,MAAN,GAAeyzC,KAAK,CAACl6B,IAAN,GAAavT,IAAI,CAAC6oB,GAAL,CAASuxB,OAAO,CAACpgD,MAAjB,EAAyB9C,IAAI,CAAC8C,MAA9B,CAAb,GAAqD9C,IAAI,CAAC8C,MAAzE;AACAiV,aAAS,GAAGjP,IAAI,CAAC6oB,GAAL,CAAS5Z,SAAT,EAAoBw+B,KAAK,CAACzzC,MAA1B,CAAZ;AACD,GAhBD;;AAkBA,OAAK,IAAIqgD,QAAT,IAAqBH,mBAArB,EAA0C;AACxC,QAAMzM,KAAK,GAAGnB,MAAM,CAAC+N,QAAD,CAApB;;AAEA,QAAI,CAAC5M,KAAL,EAAY;AACV;AACD;;AAED,QAAMN,SAAS,GAAGb,MAAM,CAACmB,KAAK,CAACN,SAAP,CAAxB,CAPwC,CASxC;;AACA,QAAI,CAACA,SAAL,EAAgB;AACd;AACD;;AAED,QAAM2M,YAAY,GAAGI,mBAAmB,CAACG,QAAD,CAAxC;AACA,QAAMC,UAAU,GAAGR,YAAY,GAAG5iD,IAAI,CAACgb,WAApB,GAAkCu7B,KAAK,CAAC1zC,KAAN,GAAc,CAAhD,GAAoDozC,SAAS,CAACpzC,KAAV,GAAkB,CAAzF;AAEA0zC,SAAK,CAAC5I,MAAN,GAAe7kC,IAAI,CAAC6oB,GAAL,CAASyxB,UAAT,EAAqBpjD,IAAI,CAACgb,WAA1B,CAAf;AACD;;AAED,SAAOlS,IAAI,CAAC6oB,GAAL,CAAS5Z,SAAT,EAAoB/X,IAAI,CAAC8C,MAAzB,CAAP;AACD,CAzCD;;AA2CA,IAAMugD,cAAc,GAAG,SAAjBA,cAAiB,CAAU3a,GAAV,EAAe0M,MAAf,EAAuB;AAC5C,MAAI8F,MAAM,GAAG9F,MAAM,CAAC1M,GAAG,CAAC4N,IAAL,CAAN,CAAiB/yC,CAA9B;AACA,MAAI43C,KAAK,GAAG/F,MAAM,CAAC1M,GAAG,CAACmO,EAAL,CAAN,CAAetzC,CAA3B;AACA,MAAI+/C,UAAU,GAAG5a,GAAG,CAACrsB,IAAJ,IAAYqsB,GAAG,CAACH,OAAjC;AAEA,MAAIgb,cAAc,GAAGh7C,8CAAK,CAAC82C,uBAAN,CACnBiE,UAAU,GAAG/6C,8CAAK,CAACu4C,SAAN,CAAgBpY,GAAG,CAACH,OAApB,EAA6BvoC,IAAI,CAAC6C,KAAlC,EAAyC+Z,QAAQ,CAAC5c,IAAD,CAAjD,CAAH,GAA8D0oC,GAAG,CAACH,OADzD,EAEnB3rB,QAAQ,CAAC5c,IAAD,CAFW,CAArB;AAIA,MAAIi8C,SAAS,GAAG;AACdp5C,SAAK,EAAEygD,UAAU,GACbtjD,IAAI,CAAC6C,KADQ,GAEbiG,IAAI,CAAC6oB,GAAL,CAAS3xB,IAAI,CAAC6C,KAAd,EAAqB0gD,cAAc,CAAC1gD,KAAf,GAAuB,IAAI7C,IAAI,CAACmb,UAArD,CAHU;AAIdrY,UAAM,EAAE,CAJM;AAKdo4C,UAAM,EAAE9F,MAAM,CAAC1M,GAAG,CAAC4N,IAAL,CAAN,CAAiB/yC,CALX;AAMd43C,SAAK,EAAE,CANO;AAOdC,UAAM,EAAE,CAPM;AAQdC,SAAK,EAAE,CARO;AASd9S,WAAO,EAAEG,GAAG,CAACH;AATC,GAAhB;;AAWA,MAAIG,GAAG,CAACoR,SAAJ,KAAkBl0B,8DAAM,CAACC,EAAP,CAAU4zB,SAAV,CAAoBE,OAA1C,EAAmD;AACjDsC,aAAS,CAACp5C,KAAV,GAAkBygD,UAAU,GACxBx6C,IAAI,CAAC6oB,GAAL,CAAS3xB,IAAI,CAAC6C,KAAd,EAAqB0gD,cAAc,CAAC1gD,KAApC,CADwB,GAExBiG,IAAI,CAAC6oB,GAAL,CACEyjB,MAAM,CAAC1M,GAAG,CAAC4N,IAAL,CAAN,CAAiBzzC,KAAjB,GAAyB,CAAzB,GAA6BuyC,MAAM,CAAC1M,GAAG,CAACmO,EAAL,CAAN,CAAeh0C,KAAf,GAAuB,CADtD,EAEE0gD,cAAc,CAAC1gD,KAAf,GAAuB,IAAI7C,IAAI,CAACmb,UAFlC,CAFJ;AAMA8gC,aAAS,CAACf,MAAV,GAAmBA,MAAM,GAAG,CAAC9F,MAAM,CAAC1M,GAAG,CAAC4N,IAAL,CAAN,CAAiBzzC,KAAjB,GAAyB7C,IAAI,CAACgb,WAA/B,IAA8C,CAA1E;AACD,GARD,MAQO,IAAI0tB,GAAG,CAACoR,SAAJ,KAAkBl0B,8DAAM,CAACC,EAAP,CAAU4zB,SAAV,CAAoBC,MAA1C,EAAkD;AACvDuC,aAAS,CAACp5C,KAAV,GAAkBygD,UAAU,GACxBx6C,IAAI,CAAC6oB,GAAL,CAAS3xB,IAAI,CAAC6C,KAAd,EAAqB0gD,cAAc,CAAC1gD,KAAf,GAAuB,IAAI7C,IAAI,CAACmb,UAArD,CADwB,GAExBrS,IAAI,CAAC6oB,GAAL,CACEyjB,MAAM,CAAC1M,GAAG,CAAC4N,IAAL,CAAN,CAAiBzzC,KAAjB,GAAyB,CAAzB,GAA6BuyC,MAAM,CAAC1M,GAAG,CAACmO,EAAL,CAAN,CAAeh0C,KAAf,GAAuB,CADtD,EAEE0gD,cAAc,CAAC1gD,KAAf,GAAuB,IAAI7C,IAAI,CAACmb,UAFlC,CAFJ;AAMA8gC,aAAS,CAACf,MAAV,GAAmBA,MAAM,GAAGe,SAAS,CAACp5C,KAAnB,GAA2B,CAACuyC,MAAM,CAAC1M,GAAG,CAAC4N,IAAL,CAAN,CAAiBzzC,KAAjB,GAAyB7C,IAAI,CAACgb,WAA/B,IAA8C,CAA5F;AACD,GARM,MAQA,IAAI0tB,GAAG,CAACmO,EAAJ,KAAWnO,GAAG,CAAC4N,IAAnB,EAAyB;AAC9BiN,kBAAc,GAAGh7C,8CAAK,CAAC82C,uBAAN,CACfiE,UAAU,GACN/6C,8CAAK,CAACu4C,SAAN,CAAgBpY,GAAG,CAACH,OAApB,EAA6Bz/B,IAAI,CAAC6oB,GAAL,CAAS3xB,IAAI,CAAC6C,KAAd,EAAqBuyC,MAAM,CAAC1M,GAAG,CAAC4N,IAAL,CAAN,CAAiBzzC,KAAtC,CAA7B,EAA2E+Z,QAAQ,CAAC5c,IAAD,CAAnF,CADM,GAEN0oC,GAAG,CAACH,OAHO,EAIf3rB,QAAQ,CAAC5c,IAAD,CAJO,CAAjB;AAMAi8C,aAAS,CAACp5C,KAAV,GAAkBygD,UAAU,GACxBx6C,IAAI,CAAC6oB,GAAL,CAAS3xB,IAAI,CAAC6C,KAAd,EAAqBuyC,MAAM,CAAC1M,GAAG,CAAC4N,IAAL,CAAN,CAAiBzzC,KAAtC,CADwB,GAExBiG,IAAI,CAAC6oB,GAAL,CAASyjB,MAAM,CAAC1M,GAAG,CAAC4N,IAAL,CAAN,CAAiBzzC,KAA1B,EAAiC7C,IAAI,CAAC6C,KAAtC,EAA6C0gD,cAAc,CAAC1gD,KAAf,GAAuB,IAAI7C,IAAI,CAACmb,UAA7E,CAFJ;AAGA8gC,aAAS,CAACf,MAAV,GAAmBA,MAAM,GAAG,CAAC9F,MAAM,CAAC1M,GAAG,CAAC4N,IAAL,CAAN,CAAiBzzC,KAAjB,GAAyBo5C,SAAS,CAACp5C,KAApC,IAA6C,CAAzE;AACD,GAXM,MAWA;AACLo5C,aAAS,CAACp5C,KAAV,GACEiG,IAAI,CAACC,GAAL,CAASmyC,MAAM,GAAG9F,MAAM,CAAC1M,GAAG,CAAC4N,IAAL,CAAN,CAAiBzzC,KAAjB,GAAyB,CAAlC,IAAuCs4C,KAAK,GAAG/F,MAAM,CAAC1M,GAAG,CAACmO,EAAL,CAAN,CAAeh0C,KAAf,GAAuB,CAAtE,CAAT,IACA7C,IAAI,CAACgb,WAFP;AAGAihC,aAAS,CAACf,MAAV,GACEA,MAAM,GAAGC,KAAT,GACID,MAAM,GAAG9F,MAAM,CAAC1M,GAAG,CAAC4N,IAAL,CAAN,CAAiBzzC,KAAjB,GAAyB,CAAlC,GAAsC7C,IAAI,CAACgb,WAAL,GAAmB,CAD7D,GAEImgC,KAAK,GAAG/F,MAAM,CAAC1M,GAAG,CAACmO,EAAL,CAAN,CAAeh0C,KAAf,GAAuB,CAA/B,GAAmC7C,IAAI,CAACgb,WAAL,GAAmB,CAH5D;AAID;;AACD,MAAIsoC,UAAJ,EAAgB;AACdrH,aAAS,CAAC1T,OAAV,GAAoBhgC,8CAAK,CAACu4C,SAAN,CAClBpY,GAAG,CAACH,OADc,EAElB0T,SAAS,CAACp5C,KAAV,GAAkB,IAAI7C,IAAI,CAACsc,WAFT,EAGlBM,QAAQ,CAAC5c,IAAD,CAHU,CAApB;AAKD;;AACDW,6CAAG,CAACC,KAAJ,eACSq7C,SAAS,CAACf,MADnB,cAC6Be,SAAS,CAACd,KADvC,cACgDc,SAAS,CAACb,MAD1D,cACoEa,SAAS,CAACZ,KAD9E,cACuFY,SAAS,CAACp5C,KADjG,cAC0Go5C,SAAS,CAACn5C,MADpH,cAC8H4lC,GAAG,CAACH,OADlI;AAGA,SAAO0T,SAAP;AACD,CAnED;;AAqEA,IAAMuH,iBAAiB,GAAG,SAApBA,iBAAoB,CAAU9a,GAAV,EAAe0M,MAAf,EAAuB;AAC/C,MAAIqO,OAAO,GAAG,KAAd;;AACA,MACE,CACE79B,8DAAM,CAACC,EAAP,CAAUuwB,QAAV,CAAmBkC,UADrB,EAEE1yB,8DAAM,CAACC,EAAP,CAAUuwB,QAAV,CAAmBmC,WAFrB,EAGE3yB,8DAAM,CAACC,EAAP,CAAUuwB,QAAV,CAAmB6B,KAHrB,EAIEryB,8DAAM,CAACC,EAAP,CAAUuwB,QAAV,CAAmB8B,MAJrB,EAKEtyB,8DAAM,CAACC,EAAP,CAAUuwB,QAAV,CAAmBgC,WALrB,EAMExyB,8DAAM,CAACC,EAAP,CAAUuwB,QAAV,CAAmBiC,YANrB,EAOEzyB,8DAAM,CAACC,EAAP,CAAUuwB,QAAV,CAAmBgD,WAPrB,EAQExzB,8DAAM,CAACC,EAAP,CAAUuwB,QAAV,CAAmBiD,YARrB,EASE0I,QATF,CASWrZ,GAAG,CAACh6B,IATf,CADF,EAWE;AACA+0C,WAAO,GAAG,IAAV;AACD;;AACD,MAAI,CAACA,OAAL,EAAc;AACZ,WAAO,EAAP;AACD;;AACD,MAAMjE,UAAU,GAAGY,gBAAgB,CAAC1X,GAAG,CAAC4N,IAAL,EAAWlB,MAAX,CAAnC;AACA,MAAMqK,QAAQ,GAAGW,gBAAgB,CAAC1X,GAAG,CAACmO,EAAL,EAASzB,MAAT,CAAjC;AACA,MAAMsO,OAAO,GAAGlE,UAAU,CAAC,CAAD,CAAV,IAAiBC,QAAQ,CAAC,CAAD,CAAzB,GAA+B,CAA/B,GAAmC,CAAnD;AACA,MAAMkE,KAAK,GAAGnE,UAAU,CAAC,CAAD,CAAV,GAAgBC,QAAQ,CAAC,CAAD,CAAxB,GAA8B,CAA9B,GAAkC,CAAhD;AACA,MAAMmE,SAAS,GAAGpE,UAAU,CAAC1rC,MAAX,CAAkB2rC,QAAlB,CAAlB;AACA,MAAMoE,YAAY,GAAG/6C,IAAI,CAACC,GAAL,CAAS02C,QAAQ,CAACkE,KAAD,CAAR,GAAkBnE,UAAU,CAACkE,OAAD,CAArC,CAArB;;AACA,MAAIhb,GAAG,CAACrsB,IAAJ,IAAYqsB,GAAG,CAACH,OAApB,EAA6B;AAC3BG,OAAG,CAACH,OAAJ,GAAchgC,8CAAK,CAACu4C,SAAN,CACZpY,GAAG,CAACH,OADQ,EAEZz/B,IAAI,CAAC6oB,GAAL,CAASkyB,YAAY,GAAG,IAAI7jD,IAAI,CAACsc,WAAjC,EAA8Ctc,IAAI,CAAC6C,KAAnD,CAFY,EAGZ4Z,WAAW,CAACzc,IAAD,CAHC,CAAd;AAKD;;AACD,MAAM8jD,OAAO,GAAGv7C,8CAAK,CAAC82C,uBAAN,CAA8B3W,GAAG,CAACH,OAAlC,EAA2C9rB,WAAW,CAACzc,IAAD,CAAtD,CAAhB;AAEA,SAAO;AACL6C,SAAK,EAAEiG,IAAI,CAAC6oB,GAAL,CACL+W,GAAG,CAACrsB,IAAJ,GAAW,CAAX,GAAeynC,OAAO,CAACjhD,KAAR,GAAgB,IAAI7C,IAAI,CAACsc,WADnC,EAELunC,YAAY,GAAG,IAAI7jD,IAAI,CAACsc,WAFnB,EAGLtc,IAAI,CAAC6C,KAHA,CADF;AAMLC,UAAM,EAAE,CANH;AAOLo4C,UAAM,EAAEsE,UAAU,CAACkE,OAAD,CAPb;AAQLvI,SAAK,EAAEsE,QAAQ,CAACkE,KAAD,CARV;AASLvI,UAAM,EAAE,CATH;AAULC,SAAK,EAAE,CAVF;AAWL9S,WAAO,EAAEG,GAAG,CAACH,OAXR;AAYL75B,QAAI,EAAEg6B,GAAG,CAACh6B,IAZL;AAaL2N,QAAI,EAAEqsB,GAAG,CAACrsB,IAbL;AAcLmjC,cAAU,EAAE12C,IAAI,CAAC+I,GAAL,CAAS4lB,KAAT,CAAe,IAAf,EAAqBmsB,SAArB,CAdP;AAeLnE,YAAQ,EAAE32C,IAAI,CAAC6oB,GAAL,CAAS8F,KAAT,CAAe,IAAf,EAAqBmsB,SAArB;AAfL,GAAP;AAiBD,CAnDD;;AAqDA,IAAMvC,mBAAmB,GAAG,SAAtBA,mBAAsB,CAAUhM,QAAV,EAAoBD,MAApB,EAA4B;AACtD,MAAMsG,KAAK,GAAG,EAAd;AACA,MAAMqI,KAAK,GAAG,EAAd;AACA,MAAIC,OAAJ,EAAa/H,SAAb,EAAwBD,QAAxB;AAEA3G,UAAQ,CAAC50C,OAAT,CAAiB,UAAUioC,GAAV,EAAe;AAC9BA,OAAG,CAACnnC,EAAJ,GAASgH,8CAAK,CAACk/B,MAAN,CAAa;AAAEjoC,YAAM,EAAE;AAAV,KAAb,CAAT;;AACA,YAAQkpC,GAAG,CAACh6B,IAAZ;AACE,WAAKkX,8DAAM,CAACC,EAAP,CAAUuwB,QAAV,CAAmBoC,UAAxB;AACA,WAAK5yB,8DAAM,CAACC,EAAP,CAAUuwB,QAAV,CAAmBsC,SAAxB;AACA,WAAK9yB,8DAAM,CAACC,EAAP,CAAUuwB,QAAV,CAAmByC,SAAxB;AACA,WAAKjzB,8DAAM,CAACC,EAAP,CAAUuwB,QAAV,CAAmB2C,SAAxB;AACEgL,aAAK,CAAC9iD,IAAN,CAAW;AACTM,YAAE,EAAEmnC,GAAG,CAACnnC,EADC;AAETmnC,aAAG,EAAEA,GAAG,CAACH,OAFA;AAGT+N,cAAI,EAAE9qC,MAAM,CAACy4C,gBAHJ;AAITpN,YAAE,EAAErrC,MAAM,CAAC04C,gBAJF;AAKTrhD,eAAK,EAAE;AALE,SAAX;AAOA;;AACF,WAAK+iB,8DAAM,CAACC,EAAP,CAAUuwB,QAAV,CAAmBuC,QAAxB;AACA,WAAK/yB,8DAAM,CAACC,EAAP,CAAUuwB,QAAV,CAAmB4C,OAAxB;AACE,YAAItQ,GAAG,CAACH,OAAR,EAAiB;AACfyb,iBAAO,GAAGD,KAAK,CAAClG,GAAN,EAAV;AACAnC,eAAK,CAACsI,OAAO,CAACziD,EAAT,CAAL,GAAoByiD,OAApB;AACAtI,eAAK,CAAChT,GAAG,CAACnnC,EAAL,CAAL,GAAgByiD,OAAhB;AACAD,eAAK,CAAC9iD,IAAN,CAAW+iD,OAAX;AACD;;AACD;;AACF,WAAKp+B,8DAAM,CAACC,EAAP,CAAUuwB,QAAV,CAAmBqC,QAAxB;AACA,WAAK7yB,8DAAM,CAACC,EAAP,CAAUuwB,QAAV,CAAmBwC,OAAxB;AACA,WAAKhzB,8DAAM,CAACC,EAAP,CAAUuwB,QAAV,CAAmB0C,OAAxB;AACA,WAAKlzB,8DAAM,CAACC,EAAP,CAAUuwB,QAAV,CAAmB6C,OAAxB;AACE+K,eAAO,GAAGD,KAAK,CAAClG,GAAN,EAAV;AACAnC,aAAK,CAACsI,OAAO,CAACziD,EAAT,CAAL,GAAoByiD,OAApB;AACA;;AACF,WAAKp+B,8DAAM,CAACC,EAAP,CAAUuwB,QAAV,CAAmBC,YAAxB;AACE;AACE,cAAM4G,SAAS,GAAG7H,MAAM,CAAC1M,GAAG,CAAC4N,IAAJ,GAAW5N,GAAG,CAAC4N,IAAJ,CAASC,KAApB,GAA4B7N,GAAG,CAACmO,EAAJ,CAAON,KAApC,CAAxB;AACA,cAAM2G,WAAW,GAAGC,gBAAgB,CAACzU,GAAG,CAAC4N,IAAJ,GAAW5N,GAAG,CAAC4N,IAAJ,CAASC,KAApB,GAA4B7N,GAAG,CAACmO,EAAJ,CAAON,KAApC,CAAhB,CAA2D/2C,MAA/E;AACA,cAAM+D,CAAC,GACL05C,SAAS,CAAC15C,CAAV,GAAc05C,SAAS,CAACp6C,KAAV,GAAkB,CAAhC,GAAqC,CAACq6C,WAAW,GAAG,CAAf,IAAoBl9C,IAAI,CAAC6a,eAA1B,GAA6C,CADnF;AAEA,cAAMspC,KAAK,GAAG;AACZjJ,kBAAM,EAAE33C,CADI;AAEZ43C,iBAAK,EAAE53C,CAAC,GAAGvD,IAAI,CAAC6a,eAFJ;AAGZ07B,iBAAK,EAAE7N,GAAG,CAAC4N,IAAJ,CAASC,KAHJ;AAIZ6N,mBAAO,EAAE;AAJG,WAAd;AAMAn6B,gBAAM,CAACsxB,WAAP,CAAmBt6C,IAAnB,CAAwBkjD,KAAxB;AACD;AACD;;AACF,WAAKv+B,8DAAM,CAACC,EAAP,CAAUuwB,QAAV,CAAmBI,UAAxB;AACE;AACE,cAAM+G,sBAAsB,GAAGtzB,MAAM,CAACsxB,WAAP,CAC5BzlC,GAD4B,CACxB,UAACkhB,CAAD;AAAA,mBAAOA,CAAC,CAACuf,KAAT;AAAA,WADwB,EAE5BkH,WAF4B,CAEhB/U,GAAG,CAAC4N,IAAJ,CAASC,KAFO,CAA/B;AAGA,iBAAOtsB,MAAM,CAACsxB,WAAP,CAAmBjS,MAAnB,CAA0BiU,sBAA1B,EAAkD,CAAlD,EAAqD,CAArD,CAAP;AACD;AACD;AAnDJ;;AAqDA,QAAMgF,MAAM,GAAG7Z,GAAG,CAACoR,SAAJ,KAAkB53C,SAAjC;;AACA,QAAIqgD,MAAJ,EAAY;AACVtG,eAAS,GAAGoH,cAAc,CAAC3a,GAAD,EAAM0M,MAAN,CAA1B;AACA1M,SAAG,CAACuT,SAAJ,GAAgBA,SAAhB;AACA8H,WAAK,CAACtjD,OAAN,CAAc,UAAC4jD,GAAD,EAAS;AACrBL,eAAO,GAAGK,GAAV;AACAL,eAAO,CAAC1N,IAAR,GAAextC,IAAI,CAAC+I,GAAL,CAASmyC,OAAO,CAAC1N,IAAjB,EAAuB2F,SAAS,CAACf,MAAjC,CAAf;AACA8I,eAAO,CAACnN,EAAR,GAAa/tC,IAAI,CAAC6oB,GAAL,CAASqyB,OAAO,CAACnN,EAAjB,EAAqBoF,SAAS,CAACf,MAAV,GAAmBe,SAAS,CAACp5C,KAAlD,CAAb;AACAmhD,eAAO,CAACnhD,KAAR,GACEiG,IAAI,CAAC6oB,GAAL,CAASqyB,OAAO,CAACnhD,KAAjB,EAAwBiG,IAAI,CAACC,GAAL,CAASi7C,OAAO,CAAC1N,IAAR,GAAe0N,OAAO,CAACnN,EAAhC,CAAxB,IAA+D72C,IAAI,CAACuc,aADtE;AAED,OAND;AAOD,KAVD,MAUO;AACLy/B,cAAQ,GAAGwH,iBAAiB,CAAC9a,GAAD,EAAM0M,MAAN,CAA5B;AACA1M,SAAG,CAACsT,QAAJ,GAAeA,QAAf;;AACA,UAAIA,QAAQ,CAACd,MAAT,IAAmBc,QAAQ,CAACb,KAA5B,IAAqC4I,KAAK,CAACvkD,MAAN,GAAe,CAAxD,EAA2D;AACzDukD,aAAK,CAACtjD,OAAN,CAAc,UAAC4jD,GAAD,EAAS;AACrBL,iBAAO,GAAGK,GAAV;;AACA,cAAIrI,QAAQ,CAACd,MAAT,KAAoBc,QAAQ,CAACb,KAAjC,EAAwC;AACtC,gBAAI7E,IAAI,GAAGlB,MAAM,CAAC1M,GAAG,CAAC4N,IAAL,CAAjB;AACA,gBAAIO,EAAE,GAAGzB,MAAM,CAAC1M,GAAG,CAACmO,EAAL,CAAf;AACAmN,mBAAO,CAAC1N,IAAR,GAAextC,IAAI,CAAC+I,GAAL,CACbykC,IAAI,CAAC/yC,CAAL,GAASy4C,QAAQ,CAACn5C,KAAT,GAAiB,CADb,EAEbyzC,IAAI,CAAC/yC,CAAL,GAAS+yC,IAAI,CAACzzC,KAAL,GAAa,CAFT,EAGbmhD,OAAO,CAAC1N,IAHK,CAAf;AAKA0N,mBAAO,CAACnN,EAAR,GAAa/tC,IAAI,CAAC6oB,GAAL,CAASklB,EAAE,CAACtzC,CAAH,GAAOy4C,QAAQ,CAACn5C,KAAT,GAAiB,CAAjC,EAAoCg0C,EAAE,CAACtzC,CAAH,GAAO+yC,IAAI,CAACzzC,KAAL,GAAa,CAAxD,EAA2DmhD,OAAO,CAACnN,EAAnE,CAAb;AACAmN,mBAAO,CAACnhD,KAAR,GACEiG,IAAI,CAAC6oB,GAAL,CAASqyB,OAAO,CAACnhD,KAAjB,EAAwBiG,IAAI,CAACC,GAAL,CAASi7C,OAAO,CAACnN,EAAR,GAAamN,OAAO,CAAC1N,IAA9B,CAAxB,IAA+Dt2C,IAAI,CAACuc,aADtE;AAED,WAXD,MAWO;AACLynC,mBAAO,CAAC1N,IAAR,GAAextC,IAAI,CAAC+I,GAAL,CAASmqC,QAAQ,CAACd,MAAlB,EAA0B8I,OAAO,CAAC1N,IAAlC,CAAf;AACA0N,mBAAO,CAACnN,EAAR,GAAa/tC,IAAI,CAAC6oB,GAAL,CAASqqB,QAAQ,CAACb,KAAlB,EAAyB6I,OAAO,CAACnN,EAAjC,CAAb;AACAmN,mBAAO,CAACnhD,KAAR,GAAgBiG,IAAI,CAAC6oB,GAAL,CAASqyB,OAAO,CAACnhD,KAAjB,EAAwBm5C,QAAQ,CAACn5C,KAAjC,IAA0C7C,IAAI,CAACuc,aAA/D;AACD;AACF,SAlBD;AAmBD;AACF;AACF,GA3FD;AA4FA0N,QAAM,CAACsxB,WAAP,GAAqB,EAArB;AACA56C,6CAAG,CAACC,KAAJ,CAAU,mBAAV,EAA+B86C,KAA/B;AACA,SAAOA,KAAP;AACD,CApGD;;AAsGe;AACbzxB,QAAM,EAANA,MADa;AAEby1B,YAAU,EAAVA,UAFa;AAGbK,iBAAe,EAAfA,eAHa;AAIbn4B,SAAO,EAAPA,OAJa;AAKbY,MAAI,EAAJA;AALa,CAAf,E;;;;;;;;;;;;AC9oCA;AAAA,IAAMS,SAAS,GAAG,SAAZA,SAAY,CAAC3oB,OAAD;AAAA,yCAEJA,OAAO,CAACgkD,WAFJ,0BAGNhkD,OAAO,CAACikD,QAHF,yDAONjkD,OAAO,CAACkkD,cAPF,uEAYJlkD,OAAO,CAACmkD,cAZJ,2GAkBJnkD,OAAO,CAACokD,WAlBJ,2GAwBJpkD,OAAO,CAACokD,WAxBJ,sDA4BNpkD,OAAO,CAACokD,WA5BF,4BA6BJpkD,OAAO,CAACokD,WA7BJ,sDAiCNpkD,OAAO,CAACqkD,mBAjCF,sDAqCNrkD,OAAO,CAACokD,WArCF,sDAyCNpkD,OAAO,CAACokD,WAzCF,4BA0CJpkD,OAAO,CAACokD,WA1CJ,mDA8CNpkD,OAAO,CAACskD,eA9CF,4BA+CJtkD,OAAO,CAACskD,eA/CJ,kDAmDJtkD,OAAO,CAACukD,mBAnDJ,0BAoDNvkD,OAAO,CAACwkD,gBApDF,qEAwDNxkD,OAAO,CAACykD,cAxDF,sFA6DNzkD,OAAO,CAAC0kD,aA7DF,0HAoEJ1kD,OAAO,CAACukD,mBApEJ,0BAqENvkD,OAAO,CAACukD,mBArEF,sEA0EJvkD,OAAO,CAAC2kD,eA1EJ,0BA2EN3kD,OAAO,CAAC4kD,YA3EF,mEA+EN5kD,OAAO,CAAC6kD,aA/EF,sEAoFN7kD,OAAO,CAAC8kD,kBApFF,4BAqFJ9kD,OAAO,CAAC+kD,qBArFJ,mDAyFN/kD,OAAO,CAAC8kD,kBAzFF,4BA0FJ9kD,OAAO,CAAC+kD,qBA1FJ,mDA8FN/kD,OAAO,CAAC8kD,kBA9FF,4BA+FJ9kD,OAAO,CAAC+kD,qBA/FJ,yIAwGN/kD,OAAO,CAACikD,QAxGF,+JA6GJjkD,OAAO,CAACgkD,WA7GJ,0BA8GNhkD,OAAO,CAACikD,QA9GF,8DAiHJjkD,OAAO,CAACgkD,WAjHJ,0BAkHNhkD,OAAO,CAACikD,QAlHF;AAAA,CAAlB;;AAuHet7B,wEAAf,E;;;;;;;;;;;;ACvHA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEO,IAAMu1B,QAAQ,GAAG,SAAXA,QAAW,CAAUl6C,IAAV,EAAgB0xC,QAAhB,EAA0B;AAChD,MAAMuI,QAAQ,GAAGj6C,IAAI,CAACL,MAAL,CAAY,MAAZ,CAAjB;AACAs6C,UAAQ,CAAC78C,IAAT,CAAc,GAAd,EAAmBs0C,QAAQ,CAACzyC,CAA5B;AACAg7C,UAAQ,CAAC78C,IAAT,CAAc,GAAd,EAAmBs0C,QAAQ,CAACxyC,CAA5B;AACA+6C,UAAQ,CAAC78C,IAAT,CAAc,MAAd,EAAsBs0C,QAAQ,CAACz2B,IAA/B;AACAg/B,UAAQ,CAAC78C,IAAT,CAAc,QAAd,EAAwBs0C,QAAQ,CAAC12B,MAAjC;AACAi/B,UAAQ,CAAC78C,IAAT,CAAc,OAAd,EAAuBs0C,QAAQ,CAACnzC,KAAhC;AACA07C,UAAQ,CAAC78C,IAAT,CAAc,QAAd,EAAwBs0C,QAAQ,CAAClzC,MAAjC;AACAy7C,UAAQ,CAAC78C,IAAT,CAAc,IAAd,EAAoBs0C,QAAQ,CAAC3yC,EAA7B;AACAk7C,UAAQ,CAAC78C,IAAT,CAAc,IAAd,EAAoBs0C,QAAQ,CAAC1yC,EAA7B;;AAEA,MAAI,OAAO0yC,QAAQ,CAACr0C,KAAhB,KAA0B,WAA9B,EAA2C;AACzC48C,YAAQ,CAAC78C,IAAT,CAAc,OAAd,EAAuBs0C,QAAQ,CAACr0C,KAAhC;AACD;;AAED,SAAO48C,QAAP;AACD,CAhBM;;AAkBP,IAAM5c,WAAW,GAAG,SAAdA,WAAc,CAAU/7B,CAAV,EAAa;AAC/B,SAAOA,CAAC,CACLD,OADI,CACI,IADJ,EACU,OADV,EAEJA,OAFI,CAEI,IAFJ,EAEU,MAFV,EAGJA,OAHI,CAGI,cAHJ,EAGoB,EAHpB,CAAP;AAID,CALD;;AAOO,IAAMw6C,SAAS,GAAG,SAAZA,SAAY,CAAU77C,IAAV,EAAgBiyC,KAAhB,EAAuByJ,YAAvB,EAAqCsF,SAArC,EAAgD/pC,UAAhD,EAA4D;AACnF,MAAIg7B,KAAK,CAACV,KAAN,KAAgB3zC,SAAhB,IAA6Bq0C,KAAK,CAACV,KAAN,KAAgB,IAA7C,IAAqDn3C,MAAM,CAAC6B,IAAP,CAAYg2C,KAAK,CAACV,KAAlB,EAAyBr2C,MAAzB,KAAoC,CAA7F,EAAgG;AAC9F,WAAO;AAAEsD,YAAM,EAAE,CAAV;AAAaD,WAAK,EAAE;AAApB,KAAP;AACD;;AAED,MAAMgzC,KAAK,GAAGU,KAAK,CAACV,KAApB;AACA,MAAME,QAAQ,GAAGQ,KAAK,CAACR,QAAvB;AACA,MAAMC,QAAQ,GAAGO,KAAK,CAACP,QAAvB;AAEA,MAAIuP,YAAY,GAAG,MAAnB;;AACA,MAAIhqC,UAAJ,EAAgB;AACdgqC,gBAAY,GAAG,kBAAf;AACD;;AAED,MAAMt/B,CAAC,GAAG3hB,IAAI,CAACL,MAAL,CAAY,GAAZ,CAAV;AACAgiB,GAAC,CAACvkB,IAAF,CAAO,IAAP,EAAa,UAAUq0C,QAAV,GAAqB,QAAlC;AACA9vB,GAAC,CAACvkB,IAAF,CAAO,OAAP,EAAgB,gBAAhB;AACAukB,GAAC,CAACvkB,IAAF,CAAO,SAAP,EAAkB6jD,YAAlB;AACAt/B,GAAC,CAACvkB,IAAF,CAAO,aAAP,EAAsB8jD,SAAS,CAAC,UAAUzP,QAAV,GAAqB,QAAtB,CAA/B;AACA9vB,GAAC,CAACvkB,IAAF,CAAO,YAAP,EAAqB+jD,WAAW,CAAC,UAAU1P,QAAV,GAAqB,QAAtB,CAAhC;AAEA,MAAI2P,UAAU,GAAG,EAAjB;;AACA,MAAI,OAAO1P,QAAQ,CAACr0C,KAAhB,KAA0B,WAA9B,EAA2C;AACzC+jD,cAAU,GAAG,MAAM1P,QAAQ,CAACr0C,KAA5B;AACD;;AAED,MAAIgkD,SAAS,GAAG3P,QAAQ,CAACnzC,KAAT,GAAiBm9C,YAAjB,GAAgChK,QAAQ,CAACnzC,KAAzC,GAAiDm9C,YAAjE;AAEA,MAAMzB,QAAQ,GAAGt4B,CAAC,CAAChiB,MAAF,CAAS,MAAT,CAAjB;AACAs6C,UAAQ,CAAC78C,IAAT,CAAc,OAAd,EAAuB,wBAAwBgkD,UAA/C;AACAnH,UAAQ,CAAC78C,IAAT,CAAc,GAAd,EAAmBs0C,QAAQ,CAACzyC,CAA5B;AACAg7C,UAAQ,CAAC78C,IAAT,CAAc,GAAd,EAAmBs0C,QAAQ,CAAClzC,MAA5B;AACAy7C,UAAQ,CAAC78C,IAAT,CAAc,MAAd,EAAsBs0C,QAAQ,CAACz2B,IAA/B;AACAg/B,UAAQ,CAAC78C,IAAT,CAAc,QAAd,EAAwBs0C,QAAQ,CAAC12B,MAAjC;AACAi/B,UAAQ,CAAC78C,IAAT,CAAc,OAAd,EAAuBikD,SAAvB;AACApH,UAAQ,CAAC78C,IAAT,CAAc,QAAd,EAAwBs0C,QAAQ,CAAClzC,MAAjC;AACAy7C,UAAQ,CAAC78C,IAAT,CAAc,IAAd,EAAoBs0C,QAAQ,CAAC3yC,EAA7B;AACAk7C,UAAQ,CAAC78C,IAAT,CAAc,IAAd,EAAoBs0C,QAAQ,CAAC1yC,EAA7B;;AACA,MAAIuyC,KAAK,IAAI,IAAb,EAAmB;AACjB,QAAI+P,KAAK,GAAG,EAAZ;;AACA,SAAK,IAAIllD,GAAT,IAAgBm1C,KAAhB,EAAuB;AACrB,UAAIgQ,QAAQ,GAAG5/B,CAAC,CAAChiB,MAAF,CAAS,GAAT,CAAf;AACA,UAAI6hD,aAAa,GAAGnkB,WAAW,CAACkU,KAAK,CAACn1C,GAAD,CAAN,CAA/B;AACAmlD,cAAQ,CAACnkD,IAAT,CAAc,YAAd,EAA4BokD,aAA5B;AACAD,cAAQ,CAACnkD,IAAT,CAAc,QAAd,EAAwB,QAAxB;;AAEAqkD,oCAA8B,CAACT,SAAD,CAA9B,CACE5kD,GADF,EAEEmlD,QAFF,EAGE7P,QAAQ,CAACzyC,CAAT,GAAa,EAHf,EAIEyyC,QAAQ,CAAClzC,MAAT,GAAkB8iD,KAJpB,EAKED,SALF,EAME,EANF,EAOE;AAAEhkD,aAAK,EAAE;AAAT,OAPF,EAQE2jD,SARF;;AAWAM,WAAK,IAAI,EAAT;AACD;AACF;;AAEDrH,UAAQ,CAAC78C,IAAT,CAAc,QAAd,EAAwBkkD,KAAxB;AAEA,SAAO;AAAE9iD,UAAM,EAAEkzC,QAAQ,CAAClzC,MAAT,GAAkB8iD,KAA5B;AAAmC/iD,SAAK,EAAE8iD;AAA1C,GAAP;AACD,CAhEM;AAkEA,IAAMK,SAAS,GAAG,SAAZA,SAAY,CAAU1hD,IAAV,EAAgBf,CAAhB,EAAmBC,CAAnB,EAAsBkW,IAAtB,EAA4B;AACnD,MAAMusC,SAAS,GAAG3hD,IAAI,CAACL,MAAL,CAAY,OAAZ,CAAlB;AACAgiD,WAAS,CAACvkD,IAAV,CAAe,GAAf,EAAoB6B,CAApB;AACA0iD,WAAS,CAACvkD,IAAV,CAAe,GAAf,EAAoB8B,CAApB;AACA,MAAIsiD,aAAa,GAAGnkB,WAAW,CAACjoB,IAAD,CAA/B;AACAusC,WAAS,CAACvkD,IAAV,CAAe,YAAf,EAA6BokD,aAA7B;AACD,CANM;AAQA,IAAMI,iBAAiB,GAAG,SAApBA,iBAAoB,CAAU5hD,IAAV,EAAgBf,CAAhB,EAAmBC,CAAnB,EAAsBkW,IAAtB,EAA4B;AAC3D,MAAMusC,SAAS,GAAG3hD,IAAI,CAACL,MAAL,CAAY,KAAZ,CAAlB;AACAgiD,WAAS,CAACvkD,IAAV,CAAe,GAAf,EAAoB6B,CAApB;AACA0iD,WAAS,CAACvkD,IAAV,CAAe,GAAf,EAAoB8B,CAApB;AACA,MAAIsiD,aAAa,GAAGnkB,WAAW,CAACjoB,IAAD,CAA/B;AACAusC,WAAS,CAACvkD,IAAV,CAAe,YAAf,EAA6B,MAAMokD,aAAnC;AACD,CANM;AAQA,IAAMN,SAAS,GAAG,SAAZA,SAAY,CAAUW,KAAV,EAAiB;AACxC,SACE,uCACAA,KADA,GAEA,qDAHF;AAKD,CANM;AAQA,IAAMV,WAAW,GAAG,SAAdA,WAAc,CAAUU,KAAV,EAAiB;AAC1C,SACE,uCACAA,KADA,GAEA,oDAHF;AAKD,CANM;AAQA,IAAMpH,QAAQ,GAAG,SAAXA,QAAW,CAAUz6C,IAAV,EAAgB8hD,QAAhB,EAA0B;AAChD,MAAIC,cAAc,GAAG,CAArB;AAAA,MACE9nC,UAAU,GAAG,CADf;AAEA,MAAM4gC,KAAK,GAAGiH,QAAQ,CAACvkD,IAAT,CAAcoE,KAAd,CAAoBgd,sDAAM,CAACyE,cAA3B,CAAd;AAEA,MAAI4+B,SAAS,GAAG,EAAhB;AACA,MAAIt9C,EAAE,GAAG,CAAT;;AACA,MAAIu9C,KAAK,GAAG;AAAA,WAAMH,QAAQ,CAAC5iD,CAAf;AAAA,GAAZ;;AACA,MACE,OAAO4iD,QAAQ,CAACvH,MAAhB,KAA2B,WAA3B,IACA,OAAOuH,QAAQ,CAACxH,UAAhB,KAA+B,WAD/B,IAEAwH,QAAQ,CAACxH,UAAT,GAAsB,CAHxB,EAIE;AACA,YAAQwH,QAAQ,CAACvH,MAAjB;AACE,WAAK,KAAL;AACA,WAAK,OAAL;AACE0H,aAAK,GAAG;AAAA,iBAAMz9C,IAAI,CAACsiC,KAAL,CAAWgb,QAAQ,CAAC5iD,CAAT,GAAa4iD,QAAQ,CAACxH,UAAjC,CAAN;AAAA,SAAR;;AACA;;AACF,WAAK,QAAL;AACA,WAAK,QAAL;AACE2H,aAAK,GAAG;AAAA,iBACNz9C,IAAI,CAACsiC,KAAL,CAAWgb,QAAQ,CAAC5iD,CAAT,GAAa,CAAC6iD,cAAc,GAAG9nC,UAAjB,GAA8B6nC,QAAQ,CAACxH,UAAxC,IAAsD,CAA9E,CADM;AAAA,SAAR;;AAEA;;AACF,WAAK,QAAL;AACA,WAAK,KAAL;AACE2H,aAAK,GAAG;AAAA,iBACNz9C,IAAI,CAACsiC,KAAL,CACEgb,QAAQ,CAAC5iD,CAAT,IACG6iD,cAAc,GAAG9nC,UAAjB,GAA8B,IAAI6nC,QAAQ,CAACxH,UAD9C,IAEEwH,QAAQ,CAACxH,UAHb,CADM;AAAA,SAAR;;AAMA;AAlBJ;AAoBD;;AACD,MACE,OAAOwH,QAAQ,CAACzH,MAAhB,KAA2B,WAA3B,IACA,OAAOyH,QAAQ,CAACxH,UAAhB,KAA+B,WAD/B,IAEA,OAAOwH,QAAQ,CAACvjD,KAAhB,KAA0B,WAH5B,EAIE;AACA,YAAQujD,QAAQ,CAACzH,MAAjB;AACE,WAAK,MAAL;AACA,WAAK,OAAL;AACEyH,gBAAQ,CAAC7iD,CAAT,GAAauF,IAAI,CAACsiC,KAAL,CAAWgb,QAAQ,CAAC7iD,CAAT,GAAa6iD,QAAQ,CAACxH,UAAjC,CAAb;AACAwH,gBAAQ,CAACzH,MAAT,GAAkB,OAAlB;AACAyH,gBAAQ,CAACI,gBAAT,GAA4B,iBAA5B;AACAJ,gBAAQ,CAACK,iBAAT,GAA6B,QAA7B;AACA;;AACF,WAAK,QAAL;AACA,WAAK,QAAL;AACEL,gBAAQ,CAAC7iD,CAAT,GAAauF,IAAI,CAACsiC,KAAL,CAAWgb,QAAQ,CAAC7iD,CAAT,GAAa6iD,QAAQ,CAACvjD,KAAT,GAAiB,CAAzC,CAAb;AACAujD,gBAAQ,CAACzH,MAAT,GAAkB,QAAlB;AACAyH,gBAAQ,CAACI,gBAAT,GAA4B,QAA5B;AACAJ,gBAAQ,CAACK,iBAAT,GAA6B,QAA7B;AACA;;AACF,WAAK,OAAL;AACA,WAAK,KAAL;AACEL,gBAAQ,CAAC7iD,CAAT,GAAauF,IAAI,CAACsiC,KAAL,CAAWgb,QAAQ,CAAC7iD,CAAT,GAAa6iD,QAAQ,CAACvjD,KAAtB,GAA8BujD,QAAQ,CAACxH,UAAlD,CAAb;AACAwH,gBAAQ,CAACzH,MAAT,GAAkB,KAAlB;AACAyH,gBAAQ,CAACI,gBAAT,GAA4B,kBAA5B;AACAJ,gBAAQ,CAACK,iBAAT,GAA6B,QAA7B;AACA;AArBJ;AAuBD;;AACD,OAAK,IAAIlnD,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG4/C,KAAK,CAAC3/C,MAA1B,EAAkCD,CAAC,EAAnC,EAAuC;AACrC,QAAIsM,IAAI,GAAGszC,KAAK,CAAC5/C,CAAD,CAAhB;;AACA,QACE,OAAO6mD,QAAQ,CAACxH,UAAhB,KAA+B,WAA/B,IACAwH,QAAQ,CAACxH,UAAT,KAAwB,CADxB,IAEA,OAAOwH,QAAQ,CAAC1pC,QAAhB,KAA6B,WAH/B,EAIE;AACA1T,QAAE,GAAGzJ,CAAC,GAAG6mD,QAAQ,CAAC1pC,QAAlB;AACD;;AAED,QAAMoiC,QAAQ,GAAGx6C,IAAI,CAACL,MAAL,CAAY,MAAZ,CAAjB;AACA66C,YAAQ,CAACp9C,IAAT,CAAc,GAAd,EAAmB0kD,QAAQ,CAAC7iD,CAA5B;AACAu7C,YAAQ,CAACp9C,IAAT,CAAc,GAAd,EAAmB6kD,KAAK,EAAxB;;AACA,QAAI,OAAOH,QAAQ,CAACzH,MAAhB,KAA2B,WAA/B,EAA4C;AAC1CG,cAAQ,CACLp9C,IADH,CACQ,aADR,EACuB0kD,QAAQ,CAACzH,MADhC,EAEGj9C,IAFH,CAEQ,mBAFR,EAE6B0kD,QAAQ,CAACI,gBAFtC,EAGG9kD,IAHH,CAGQ,oBAHR,EAG8B0kD,QAAQ,CAACK,iBAHvC;AAID;;AACD,QAAI,OAAOL,QAAQ,CAACplD,UAAhB,KAA+B,WAAnC,EAAgD;AAC9C89C,cAAQ,CAAC17C,KAAT,CAAe,aAAf,EAA8BgjD,QAAQ,CAACplD,UAAvC;AACD;;AACD,QAAI,OAAOolD,QAAQ,CAAC1pC,QAAhB,KAA6B,WAAjC,EAA8C;AAC5CoiC,cAAQ,CAAC17C,KAAT,CAAe,WAAf,EAA4BgjD,QAAQ,CAAC1pC,QAArC;AACD;;AACD,QAAI,OAAO0pC,QAAQ,CAACzpC,UAAhB,KAA+B,WAAnC,EAAgD;AAC9CmiC,cAAQ,CAAC17C,KAAT,CAAe,aAAf,EAA8BgjD,QAAQ,CAACzpC,UAAvC;AACD;;AACD,QAAI,OAAOypC,QAAQ,CAAC7mC,IAAhB,KAAyB,WAA7B,EAA0C;AACxCu/B,cAAQ,CAACp9C,IAAT,CAAc,MAAd,EAAsB0kD,QAAQ,CAAC7mC,IAA/B;AACD;;AACD,QAAI,OAAO6mC,QAAQ,CAACzkD,KAAhB,KAA0B,WAA9B,EAA2C;AACzCm9C,cAAQ,CAACp9C,IAAT,CAAc,OAAd,EAAuB0kD,QAAQ,CAACzkD,KAAhC;AACD;;AACD,QAAI,OAAOykD,QAAQ,CAACp9C,EAAhB,KAAuB,WAA3B,EAAwC;AACtC81C,cAAQ,CAACp9C,IAAT,CAAc,IAAd,EAAoB0kD,QAAQ,CAACp9C,EAA7B;AACD,KAFD,MAEO,IAAIA,EAAE,KAAK,CAAX,EAAc;AACnB81C,cAAQ,CAACp9C,IAAT,CAAc,IAAd,EAAoBsH,EAApB;AACD;;AAED,QAAIo9C,QAAQ,CAAC//C,KAAb,EAAoB;AAClB,UAAMqgD,IAAI,GAAG5H,QAAQ,CAAC76C,MAAT,CAAgB,OAAhB,CAAb;AACAyiD,UAAI,CAAChlD,IAAL,CAAU,GAAV,EAAe0kD,QAAQ,CAAC7iD,CAAxB;;AACA,UAAI,OAAO6iD,QAAQ,CAAC7mC,IAAhB,KAAyB,WAA7B,EAA0C;AACxCmnC,YAAI,CAAChlD,IAAL,CAAU,MAAV,EAAkB0kD,QAAQ,CAAC7mC,IAA3B;AACD;;AACDmnC,UAAI,CAAC7kD,IAAL,CAAUgK,IAAV;AACD,KAPD,MAOO;AACLizC,cAAQ,CAACj9C,IAAT,CAAcgK,IAAd;AACD;;AACD,QACE,OAAOu6C,QAAQ,CAACvH,MAAhB,KAA2B,WAA3B,IACA,OAAOuH,QAAQ,CAACxH,UAAhB,KAA+B,WAD/B,IAEAwH,QAAQ,CAACxH,UAAT,GAAsB,CAHxB,EAIE;AACArgC,gBAAU,IAAI,CAACugC,QAAQ,CAACj6B,OAAT,IAAoBi6B,QAArB,EAA+B,CAA/B,EAAkC,CAAlC,EAAqC18C,OAArC,GAA+CU,MAA7D;AACAujD,oBAAc,GAAG9nC,UAAjB;AACD;;AAED+nC,aAAS,CAACrlD,IAAV,CAAe69C,QAAf;AACD;;AAED,SAAOwH,SAAP;AACD,CA9HM;AAgIA,IAAMK,SAAS,GAAG,SAAZA,SAAY,CAAUriD,IAAV,EAAgBsiD,SAAhB,EAA2B;AAClD,WAASC,SAAT,CAAmBtjD,CAAnB,EAAsBC,CAAtB,EAAyBX,KAAzB,EAAgCC,MAAhC,EAAwCgkD,GAAxC,EAA6C;AAC3C,WACEvjD,CAAC,GACD,GADA,GAEAC,CAFA,GAGA,GAHA,IAICD,CAAC,GAAGV,KAJL,IAKA,GALA,GAMAW,CANA,GAOA,GAPA,IAQCD,CAAC,GAAGV,KARL,IASA,GATA,IAUCW,CAAC,GAAGV,MAAJ,GAAagkD,GAVd,IAWA,GAXA,IAYCvjD,CAAC,GAAGV,KAAJ,GAAYikD,GAAG,GAAG,GAZnB,IAaA,GAbA,IAcCtjD,CAAC,GAAGV,MAdL,IAeA,GAfA,GAgBAS,CAhBA,GAiBA,GAjBA,IAkBCC,CAAC,GAAGV,MAlBL,CADF;AAqBD;;AACD,MAAMuM,OAAO,GAAG/K,IAAI,CAACL,MAAL,CAAY,SAAZ,CAAhB;AACAoL,SAAO,CAAC3N,IAAR,CAAa,QAAb,EAAuBmlD,SAAS,CAACD,SAAS,CAACrjD,CAAX,EAAcqjD,SAAS,CAACpjD,CAAxB,EAA2BojD,SAAS,CAAC/jD,KAArC,EAA4C+jD,SAAS,CAAC9jD,MAAtD,EAA8D,CAA9D,CAAhC;AACAuM,SAAO,CAAC3N,IAAR,CAAa,OAAb,EAAsB,UAAtB;AAEAklD,WAAS,CAACpjD,CAAV,GAAcojD,SAAS,CAACpjD,CAAV,GAAcojD,SAAS,CAAC9jD,MAAV,GAAmB,CAA/C;AAEAi8C,UAAQ,CAACz6C,IAAD,EAAOsiD,SAAP,CAAR;AACA,SAAOv3C,OAAP;AACD,CAhCM;AAkCP,IAAI0mC,QAAQ,GAAG,CAAC,CAAhB;AAEO,IAAMiM,kBAAkB,GAAG,SAArBA,kBAAqB,CAACj6B,OAAD,EAAUkC,MAAV,EAAqB;AACrD,MAAI,CAAClC,OAAO,CAAChD,SAAb,EAAwB;AACxBgD,SAAO,CACJhD,SADH,CACa,aADb,EAEGrjB,IAFH,CAEQ,OAFR,EAEiB,KAFjB,EAGGA,IAHH,CAGQ,IAHR,EAGcuoB,MAAM,GAAG,EAHvB;AAID,CANM;AAQP;AACA;AACA;AACA;AACA;AACA;;AACA,IAAM88B,wBAAwB,GAAG,SAA3BA,wBAA2B,CAAUziD,IAAV,EAAgBiyC,KAAhB,EAAuBv2C,IAAvB,EAA6B;AAC5D,MAAMgnD,MAAM,GAAGzQ,KAAK,CAAChzC,CAAN,GAAUgzC,KAAK,CAAC1zC,KAAN,GAAc,CAAvC;AAEA,MAAMokD,gBAAgB,GAAG3iD,IAAI,CAACL,MAAL,CAAY,GAAZ,CAAzB;AACA,MAAIgiB,CAAC,GAAGghC,gBAAR;;AAEA,MAAI1Q,KAAK,CAAC/yC,CAAN,KAAY,CAAhB,EAAmB;AACjBuyC,YAAQ;AACR9vB,KAAC,CAAChiB,MAAF,CAAS,MAAT,EACGvC,IADH,CACQ,IADR,EACc,UAAUq0C,QADxB,EAEGr0C,IAFH,CAEQ,IAFR,EAEcslD,MAFd,EAGGtlD,IAHH,CAGQ,IAHR,EAGc,CAHd,EAIGA,IAJH,CAIQ,IAJR,EAIcslD,MAJd,EAKGtlD,IALH,CAKQ,IALR,EAKc,IALd,EAMGA,IANH,CAMQ,OANR,EAMiB,YANjB,EAOGA,IAPH,CAOQ,cAPR,EAOwB,OAPxB,EAQGA,IARH,CAQQ,QARR,EAQkB,MARlB;AAUAukB,KAAC,GAAGghC,gBAAgB,CAAChjD,MAAjB,CAAwB,GAAxB,CAAJ;AACAsyC,SAAK,CAACR,QAAN,GAAiBA,QAAjB;;AACA,QAAIQ,KAAK,CAACV,KAAN,IAAe,IAAnB,EAAyB;AACvB5vB,OAAC,CAACvkB,IAAF,CAAO,aAAP,EAAsB8jD,SAAS,CAAC,UAAUzP,QAAV,GAAqB,QAAtB,CAA/B;AACA9vB,OAAC,CAACvkB,IAAF,CAAO,YAAP,EAAqB+jD,WAAW,CAAC,UAAU1P,QAAV,GAAqB,QAAtB,CAAhC;AACD;AACF;;AAED,MAAM50C,IAAI,GAAGm9C,WAAW,EAAxB;AACA,MAAI4I,QAAQ,GAAG,OAAf;;AACA,MAAI3Q,KAAK,CAACT,UAAN,IAAoB,IAApB,IAA4BS,KAAK,CAACT,UAAN,CAAiB,OAAjB,CAAhC,EAA2D;AACzDoR,YAAQ,GAAG3Q,KAAK,CAACT,UAAN,CAAiB,OAAjB,CAAX;AACD,GAFD,MAEO;AACL30C,QAAI,CAACoe,IAAL,GAAY,SAAZ;AACD;;AACDpe,MAAI,CAACoC,CAAL,GAASgzC,KAAK,CAAChzC,CAAf;AACApC,MAAI,CAACqC,CAAL,GAAS+yC,KAAK,CAAC/yC,CAAf;AACArC,MAAI,CAAC0B,KAAL,GAAa0zC,KAAK,CAAC1zC,KAAnB;AACA1B,MAAI,CAAC2B,MAAL,GAAcyzC,KAAK,CAACzzC,MAApB;AACA3B,MAAI,CAACQ,KAAL,GAAaulD,QAAb;AACA/lD,MAAI,CAACkC,EAAL,GAAU,CAAV;AACAlC,MAAI,CAACmC,EAAL,GAAU,CAAV;AACA,MAAMi7C,QAAQ,GAAGC,QAAQ,CAACv4B,CAAD,EAAI9kB,IAAJ,CAAzB;AACAo1C,OAAK,CAACP,QAAN,GAAiB70C,IAAjB;;AAEA,MAAIo1C,KAAK,CAACT,UAAN,IAAoB,IAApB,IAA4BS,KAAK,CAACT,UAAN,CAAiB,MAAjB,CAAhC,EAA0D;AACxD,QAAMqR,OAAO,GAAG5Q,KAAK,CAACT,UAAN,CAAiB,MAAjB,EAAyBtvC,IAAzB,EAAhB;;AACA,QAAI2gD,OAAO,CAACrjC,MAAR,CAAe,CAAf,MAAsB,GAA1B,EAA+B;AAC7BoiC,uBAAiB,CAACjgC,CAAD,EAAI9kB,IAAI,CAACoC,CAAL,GAASpC,IAAI,CAAC0B,KAAd,GAAsB,EAA1B,EAA8B1B,IAAI,CAACqC,CAAL,GAAS,EAAvC,EAA2C2jD,OAAO,CAACxkC,MAAR,CAAe,CAAf,CAA3C,CAAjB;AACD,KAFD,MAEO;AACLqjC,eAAS,CAAC//B,CAAD,EAAI9kB,IAAI,CAACoC,CAAL,GAASpC,IAAI,CAAC0B,KAAd,GAAsB,EAA1B,EAA8B1B,IAAI,CAACqC,CAAL,GAAS,EAAvC,EAA2C2jD,OAA3C,CAAT;AACD;AACF;;AAEDC,wBAAsB,CAACpnD,IAAD,CAAtB,CACEu2C,KAAK,CAAChV,WADR,EAEEtb,CAFF,EAGE9kB,IAAI,CAACoC,CAHP,EAIEpC,IAAI,CAACqC,CAJP,EAKErC,IAAI,CAAC0B,KALP,EAME1B,IAAI,CAAC2B,MANP,EAOE;AAAEnB,SAAK,EAAE;AAAT,GAPF,EAQE3B,IARF;;AAWA,MAAI8C,MAAM,GAAGyzC,KAAK,CAACzzC,MAAnB;;AACA,MAAIy7C,QAAQ,CAACl9C,IAAb,EAAmB;AACjB,QAAM4oB,MAAM,GAAGs0B,QAAQ,CAACl9C,IAAT,GAAgBe,OAAhB,EAAf;AACAm0C,SAAK,CAACzzC,MAAN,GAAemnB,MAAM,CAACnnB,MAAtB;AACAA,UAAM,GAAGmnB,MAAM,CAACnnB,MAAhB;AACD;;AACD,SAAOA,MAAP;AACD,CAtED;;AAwEA,IAAMukD,kBAAkB,GAAG,SAArBA,kBAAqB,CAAU/iD,IAAV,EAAgBiyC,KAAhB,EAAuBv2C,IAAvB,EAA6B;AACtD,MAAMgnD,MAAM,GAAGzQ,KAAK,CAAChzC,CAAN,GAAUgzC,KAAK,CAAC1zC,KAAN,GAAc,CAAvC;;AAEA,MAAI0zC,KAAK,CAAC/yC,CAAN,KAAY,CAAhB,EAAmB;AACjBuyC,YAAQ;AACRzxC,QAAI,CACDL,MADH,CACU,MADV,EAEGvC,IAFH,CAEQ,IAFR,EAEc,UAAUq0C,QAFxB,EAGGr0C,IAHH,CAGQ,IAHR,EAGcslD,MAHd,EAIGtlD,IAJH,CAIQ,IAJR,EAIc,EAJd,EAKGA,IALH,CAKQ,IALR,EAKcslD,MALd,EAMGtlD,IANH,CAMQ,IANR,EAMc,IANd,EAOGA,IAPH,CAOQ,OAPR,EAOiB,YAPjB,EAQGA,IARH,CAQQ,cARR,EAQwB,OARxB,EASGA,IATH,CASQ,QATR,EASkB,MATlB;AAUD;;AACD,MAAM4lD,OAAO,GAAGhjD,IAAI,CAACL,MAAL,CAAY,GAAZ,CAAhB;AACAqjD,SAAO,CAAC5lD,IAAR,CAAa,OAAb,EAAsB,WAAtB;AAEA,MAAMP,IAAI,GAAGm9C,WAAW,EAAxB;AACAn9C,MAAI,CAACoC,CAAL,GAASgzC,KAAK,CAAChzC,CAAf;AACApC,MAAI,CAACqC,CAAL,GAAS+yC,KAAK,CAAC/yC,CAAf;AACArC,MAAI,CAACoe,IAAL,GAAY,SAAZ;AACApe,MAAI,CAAC0B,KAAL,GAAa0zC,KAAK,CAAC1zC,KAAnB;AACA1B,MAAI,CAAC2B,MAAL,GAAcyzC,KAAK,CAACzzC,MAApB;AACA3B,MAAI,CAACQ,KAAL,GAAa,OAAb;AACAR,MAAI,CAACkC,EAAL,GAAU,CAAV;AACAlC,MAAI,CAACmC,EAAL,GAAU,CAAV,CA3BsD,CA4BtD;;AAEAgkD,SAAO,CACJrjD,MADH,CACU,MADV,EAEGvC,IAFH,CAEQ,IAFR,EAEc,oBAAoBq0C,QAFlC,EAGGr0C,IAHH,CAGQ,IAHR,EAGcslD,MAHd,EAIGtlD,IAJH,CAIQ,IAJR,EAIc60C,KAAK,CAAC/yC,CAAN,GAAU,EAJxB,EAKG9B,IALH,CAKQ,IALR,EAKcslD,MALd,EAMGtlD,IANH,CAMQ,IANR,EAMc60C,KAAK,CAAC/yC,CAAN,GAAU,EANxB;AAQA8jD,SAAO,CACJrjD,MADH,CACU,MADV,EAEGvC,IAFH,CAEQ,IAFR,EAEc,mBAAmBq0C,QAFjC,EAGGr0C,IAHH,CAGQ,IAHR,EAGcslD,MAAM,GAAG,EAHvB,EAIGtlD,IAJH,CAIQ,IAJR,EAIc60C,KAAK,CAAC/yC,CAAN,GAAU,EAJxB,EAKG9B,IALH,CAKQ,IALR,EAKcslD,MAAM,GAAG,EALvB,EAMGtlD,IANH,CAMQ,IANR,EAMc60C,KAAK,CAAC/yC,CAAN,GAAU,EANxB;AAOA8jD,SAAO,CACJrjD,MADH,CACU,MADV,EAEGvC,IAFH,CAEQ,IAFR,EAEcslD,MAAM,GAAG,EAFvB,EAGGtlD,IAHH,CAGQ,IAHR,EAGc60C,KAAK,CAAC/yC,CAAN,GAAU,EAHxB,EAIG9B,IAJH,CAIQ,IAJR,EAIcslD,MAJd,EAKGtlD,IALH,CAKQ,IALR,EAKc60C,KAAK,CAAC/yC,CAAN,GAAU,EALxB;AAMA8jD,SAAO,CACJrjD,MADH,CACU,MADV,EAEGvC,IAFH,CAEQ,IAFR,EAEcslD,MAFd,EAGGtlD,IAHH,CAGQ,IAHR,EAGc60C,KAAK,CAAC/yC,CAAN,GAAU,EAHxB,EAIG9B,IAJH,CAIQ,IAJR,EAIcslD,MAAM,GAAG,EAJvB,EAKGtlD,IALH,CAKQ,IALR,EAKc60C,KAAK,CAAC/yC,CAAN,GAAU,EALxB;AAOA,MAAM2L,MAAM,GAAGm4C,OAAO,CAACrjD,MAAR,CAAe,QAAf,CAAf;AACAkL,QAAM,CAACzN,IAAP,CAAY,IAAZ,EAAkB60C,KAAK,CAAChzC,CAAN,GAAUgzC,KAAK,CAAC1zC,KAAN,GAAc,CAA1C;AACAsM,QAAM,CAACzN,IAAP,CAAY,IAAZ,EAAkB60C,KAAK,CAAC/yC,CAAN,GAAU,EAA5B;AACA2L,QAAM,CAACzN,IAAP,CAAY,GAAZ,EAAiB,EAAjB;AACAyN,QAAM,CAACzN,IAAP,CAAY,OAAZ,EAAqB60C,KAAK,CAAC1zC,KAA3B;AACAsM,QAAM,CAACzN,IAAP,CAAY,QAAZ,EAAsB60C,KAAK,CAACzzC,MAA5B;AAEA,MAAMmnB,MAAM,GAAGq9B,OAAO,CAACjmD,IAAR,GAAee,OAAf,EAAf;AACAm0C,OAAK,CAACzzC,MAAN,GAAemnB,MAAM,CAACnnB,MAAtB;;AAEAskD,wBAAsB,CAACpnD,IAAD,CAAtB,CACEu2C,KAAK,CAAChV,WADR,EAEE+lB,OAFF,EAGEnmD,IAAI,CAACoC,CAHP,EAIEpC,IAAI,CAACqC,CAAL,GAAS,EAJX,EAKErC,IAAI,CAAC0B,KALP,EAME1B,IAAI,CAAC2B,MANP,EAOE;AAAEnB,SAAK,EAAE;AAAT,GAPF,EAQE3B,IARF;;AAWA,SAAOu2C,KAAK,CAACzzC,MAAb;AACD,CAhFD;;AAkFO,IAAMg9C,SAAS,GAAG,SAAZA,SAAY,CAAUx7C,IAAV,EAAgBiyC,KAAhB,EAAuBv2C,IAAvB,EAA6B;AACpD,UAAQu2C,KAAK,CAAC7nC,IAAd;AACE,SAAK,OAAL;AACE,aAAO24C,kBAAkB,CAAC/iD,IAAD,EAAOiyC,KAAP,EAAcv2C,IAAd,CAAzB;;AACF,SAAK,aAAL;AACE,aAAO+mD,wBAAwB,CAACziD,IAAD,EAAOiyC,KAAP,EAAcv2C,IAAd,CAA/B;AAJJ;AAMD,CAPM;AASA,IAAMq9C,aAAa,GAAG,SAAhBA,aAAgB,CAAU/4C,IAAV,EAAgB;AAC3C,SAAOA,IAAI,CAACL,MAAL,CAAY,GAAZ,CAAP;AACD,CAFM;AAGP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,IAAM29C,cAAc,GAAG,SAAjBA,cAAiB,CAAUt9C,IAAV,EAAgB2lB,MAAhB,EAAwBhS,WAAxB,EAAqCjY,IAArC,EAA2Cm9C,gBAA3C,EAA6D;AACzF,MAAMh8C,IAAI,GAAGm9C,WAAW,EAAxB;AACA,MAAMr4B,CAAC,GAAGgE,MAAM,CAACmzB,QAAjB;AACAj8C,MAAI,CAACoC,CAAL,GAAS0mB,MAAM,CAACixB,MAAhB;AACA/5C,MAAI,CAACqC,CAAL,GAASymB,MAAM,CAACmxB,MAAhB;AACAj6C,MAAI,CAACQ,KAAL,GAAa,eAAgBw7C,gBAAgB,GAAG,CAAhD,CALyF,CAKrC;;AACpDh8C,MAAI,CAAC0B,KAAL,GAAaonB,MAAM,CAACkxB,KAAP,GAAelxB,MAAM,CAACixB,MAAnC;AACA/5C,MAAI,CAAC2B,MAAL,GAAcmV,WAAW,GAAGgS,MAAM,CAACmxB,MAAnC;AACAoD,UAAQ,CAACv4B,CAAD,EAAI9kB,IAAJ,CAAR;AACD,CATM;AAWP;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,IAAM0gD,QAAQ,GAAG,SAAXA,QAAW,CAAUv9C,IAAV,EAAgBy3C,SAAhB,EAA2B/5C,SAA3B,EAAsChC,IAAtC,EAA4C;AAClE,MACEib,SADF,GAQIjb,IARJ,CACEib,SADF;AAAA,MAEEC,aAFF,GAQIlb,IARJ,CAEEkb,aAFF;AAAA,MAGEsB,cAHF,GAQIxc,IARJ,CAGEwc,cAHF;AAAA,MAIED,aAJF,GAQIvc,IARJ,CAIEuc,aAJF;AAAA,MAKqBvb,UALrB,GAQIhB,IARJ,CAKEmc,iBALF;AAAA,MAMmBO,QANnB,GAQI1c,IARJ,CAMEkc,eANF;AAAA,MAOqBS,UAPrB,GAQI3c,IARJ,CAOEoc,iBAPF;AASA,MAAM6J,CAAC,GAAG3hB,IAAI,CAACL,MAAL,CAAY,GAAZ,CAAV;;AACA,MAAMsjD,YAAY,GAAG,SAAfA,YAAe,CAAUrM,MAAV,EAAkBE,MAAlB,EAA0BD,KAA1B,EAAiCE,KAAjC,EAAwC;AAC3D,WAAOp1B,CAAC,CACLhiB,MADI,CACG,MADH,EAEJvC,IAFI,CAEC,IAFD,EAEOw5C,MAFP,EAGJx5C,IAHI,CAGC,IAHD,EAGO05C,MAHP,EAIJ15C,IAJI,CAIC,IAJD,EAIOy5C,KAJP,EAKJz5C,IALI,CAKC,IALD,EAKO25C,KALP,EAMJ35C,IANI,CAMC,OAND,EAMU,UANV,CAAP;AAOD,GARD;;AASA6lD,cAAY,CAACxL,SAAS,CAACb,MAAX,EAAmBa,SAAS,CAACX,MAA7B,EAAqCW,SAAS,CAACZ,KAA/C,EAAsDY,SAAS,CAACX,MAAhE,CAAZ;AACAmM,cAAY,CAACxL,SAAS,CAACZ,KAAX,EAAkBY,SAAS,CAACX,MAA5B,EAAoCW,SAAS,CAACZ,KAA9C,EAAqDY,SAAS,CAACV,KAA/D,CAAZ;AACAkM,cAAY,CAACxL,SAAS,CAACb,MAAX,EAAmBa,SAAS,CAACV,KAA7B,EAAoCU,SAAS,CAACZ,KAA9C,EAAqDY,SAAS,CAACV,KAA/D,CAAZ;AACAkM,cAAY,CAACxL,SAAS,CAACb,MAAX,EAAmBa,SAAS,CAACX,MAA7B,EAAqCW,SAAS,CAACb,MAA/C,EAAuDa,SAAS,CAACV,KAAjE,CAAZ;;AACA,MAAI,OAAOU,SAAS,CAAC9f,QAAjB,KAA8B,WAAlC,EAA+C;AAC7C8f,aAAS,CAAC9f,QAAV,CAAmBx7B,OAAnB,CAA2B,UAAUojB,IAAV,EAAgB;AACzC0jC,kBAAY,CAACxL,SAAS,CAACb,MAAX,EAAmBr3B,IAAI,CAACrgB,CAAxB,EAA2Bu4C,SAAS,CAACZ,KAArC,EAA4Ct3B,IAAI,CAACrgB,CAAjD,CAAZ,CAAgEJ,KAAhE,CACE,kBADF,EAEE,MAFF;AAID,KALD;AAMD;;AAED,MAAIipB,GAAG,GAAGqyB,UAAU,EAApB;AACAryB,KAAG,CAACxqB,IAAJ,GAAWG,SAAX;AACAqqB,KAAG,CAAC9oB,CAAJ,GAAQw4C,SAAS,CAACb,MAAlB;AACA7uB,KAAG,CAAC7oB,CAAJ,GAAQu4C,SAAS,CAACX,MAAlB;AACA/uB,KAAG,CAACrrB,UAAJ,GAAiBA,UAAjB;AACAqrB,KAAG,CAAC3P,QAAJ,GAAeA,QAAf;AACA2P,KAAG,CAAC1P,UAAJ,GAAiBA,UAAjB;AACA0P,KAAG,CAACsyB,MAAJ,GAAa,QAAb;AACAtyB,KAAG,CAACwyB,MAAJ,GAAa,QAAb;AACAxyB,KAAG,CAAChmB,KAAJ,GAAY,KAAZ;AACAgmB,KAAG,CAACxpB,KAAJ,GAAY0Z,aAAa,IAAI,EAA7B;AACA8P,KAAG,CAACvpB,MAAJ,GAAa0Z,cAAc,IAAI,EAA/B;AACA6P,KAAG,CAACuyB,UAAJ,GAAiB1jC,aAAjB;AACAmR,KAAG,CAAC1qB,KAAJ,GAAY,WAAZ;AAEAglD,WAAS,CAAC1gC,CAAD,EAAIoG,GAAJ,CAAT;AACAA,KAAG,GAAGqyB,UAAU,EAAhB;AACAryB,KAAG,CAACxqB,IAAJ,GAAWk6C,SAAS,CAAChlC,KAArB;AACAsV,KAAG,CAAC9oB,CAAJ,GAAQw4C,SAAS,CAACb,MAAV,GAAmB3+B,aAAa,GAAG,CAAnC,GAAuC,CAACw/B,SAAS,CAACZ,KAAV,GAAkBY,SAAS,CAACb,MAA7B,IAAuC,CAAtF;AACA7uB,KAAG,CAAC7oB,CAAJ,GAAQu4C,SAAS,CAACX,MAAV,GAAmBngC,SAAnB,GAA+BC,aAAvC;AACAmR,KAAG,CAACsyB,MAAJ,GAAa,QAAb;AACAtyB,KAAG,CAACwyB,MAAJ,GAAa,QAAb;AACAxyB,KAAG,CAACuyB,UAAJ,GAAiB1jC,aAAjB;AACAmR,KAAG,CAAC1qB,KAAJ,GAAY,UAAZ;AACA0qB,KAAG,CAACrrB,UAAJ,GAAiBA,UAAjB;AACAqrB,KAAG,CAAC3P,QAAJ,GAAeA,QAAf;AACA2P,KAAG,CAAC1P,UAAJ,GAAiBA,UAAjB;AACA0P,KAAG,CAAChQ,IAAJ,GAAW,IAAX;AAEA,MAAIyiC,QAAQ,GAAGC,QAAQ,CAAC94B,CAAD,EAAIoG,GAAJ,CAAvB;;AAEA,MAAI,OAAO0vB,SAAS,CAACiC,aAAjB,KAAmC,WAAvC,EAAoD;AAClDjC,aAAS,CAACiC,aAAV,CAAwBv9C,OAAxB,CAAgC,UAAUojB,IAAV,EAAgB+I,GAAhB,EAAqB;AACnD,UAAI/I,IAAI,CAAC0kB,OAAT,EAAkB;AAChBlc,WAAG,CAACxqB,IAAJ,GAAWgiB,IAAI,CAAC0kB,OAAhB;AACAlc,WAAG,CAAC9oB,CAAJ,GAAQw4C,SAAS,CAACb,MAAV,GAAmB,CAACa,SAAS,CAACZ,KAAV,GAAkBY,SAAS,CAACb,MAA7B,IAAuC,CAAlE;AACA7uB,WAAG,CAAC7oB,CAAJ,GAAQu4C,SAAS,CAAC9f,QAAV,CAAmBrP,GAAnB,EAAwBppB,CAAxB,GAA4ByX,SAA5B,GAAwCC,aAAhD;AACAmR,WAAG,CAAC1qB,KAAJ,GAAY,UAAZ;AACA0qB,WAAG,CAACsyB,MAAJ,GAAa,QAAb;AACAtyB,WAAG,CAACwyB,MAAJ,GAAa,QAAb;AACAxyB,WAAG,CAAChmB,KAAJ,GAAY,KAAZ;AACAgmB,WAAG,CAACrrB,UAAJ,GAAiBA,UAAjB;AACAqrB,WAAG,CAAC3P,QAAJ,GAAeA,QAAf;AACA2P,WAAG,CAAC1P,UAAJ,GAAiBA,UAAjB;AACA0P,WAAG,CAAChQ,IAAJ,GAAW0/B,SAAS,CAAC1/B,IAArB;AACAyiC,gBAAQ,GAAGC,QAAQ,CAAC94B,CAAD,EAAIoG,GAAJ,CAAnB;AACA,YAAIm7B,aAAa,GAAG1+C,IAAI,CAACsiC,KAAL,CAClB0T,QAAQ,CACLhpC,GADH,CACO,UAACqlB,EAAD;AAAA,iBAAQ,CAACA,EAAE,CAACtW,OAAH,IAAcsW,EAAf,EAAmB,CAAnB,EAAsB,CAAtB,EAAyB/4B,OAAzB,GAAmCU,MAA3C;AAAA,SADP,EAEGud,MAFH,CAEU,UAACu7B,GAAD,EAAMoD,IAAN;AAAA,iBAAepD,GAAG,GAAGoD,IAArB;AAAA,SAFV,CADkB,CAApB;AAKAjD,iBAAS,CAAC9f,QAAV,CAAmBrP,GAAnB,EAAwB9pB,MAAxB,IAAkC0kD,aAAa,IAAIvsC,SAAS,GAAGC,aAAhB,CAA/C;AACD;AACF,KArBD;AAsBD;;AAED6gC,WAAS,CAACj5C,MAAV,GAAmBgG,IAAI,CAACsiC,KAAL,CAAW2Q,SAAS,CAACV,KAAV,GAAkBU,SAAS,CAACX,MAAvC,CAAnB;AACA,SAAOn1B,CAAP;AACD,CA3FM;AA6FP;AACA;AACA;AACA;AACA;;AACO,IAAM67B,kBAAkB,GAAG,SAArBA,kBAAqB,CAAUx9C,IAAV,EAAgB2lB,MAAhB,EAAwB;AACxD,MAAMs0B,QAAQ,GAAGC,QAAQ,CAACl6C,IAAD,EAAO;AAC9Bf,KAAC,EAAE0mB,MAAM,CAACixB,MADoB;AAE9B13C,KAAC,EAAEymB,MAAM,CAACmxB,MAFoB;AAG9Bv4C,SAAK,EAAEonB,MAAM,CAACkxB,KAAP,GAAelxB,MAAM,CAACixB,MAHC;AAI9Bp4C,UAAM,EAAEmnB,MAAM,CAACoxB,KAAP,GAAepxB,MAAM,CAACmxB,MAJA;AAK9B77B,QAAI,EAAE0K,MAAM,CAAC1K,IALiB;AAM9B5d,SAAK,EAAE;AANuB,GAAP,CAAzB;AAQA48C,UAAQ,CAACkJ,KAAT;AACD,CAVM;AAYA,IAAMtG,kBAAkB,GAAG,SAArBA,kBAAqB,CAAU78C,IAAV,EAAgB;AAChDA,MAAI,CACDL,MADH,CACU,MADV,EAEGA,MAFH,CAEU,QAFV,EAGGvC,IAHH,CAGQ,IAHR,EAGc,UAHd,EAIGA,IAJH,CAIQ,WAJR,EAIqB,SAJrB,EAKGA,IALH,CAKQ,WALR,EAKqB,SALrB,EAMGuC,MANH,CAMU,MANV,EAOGvC,IAPH,CAOQ,WAPR,EAOqB,WAPrB,EAQGA,IARH,CASI,GATJ,EAUI,i1ZAVJ;AAYD,CAbM;AAeA,IAAMw/C,kBAAkB,GAAG,SAArBA,kBAAqB,CAAU58C,IAAV,EAAgB;AAChDA,MAAI,CACDL,MADH,CACU,MADV,EAEGA,MAFH,CAEU,QAFV,EAGGvC,IAHH,CAGQ,IAHR,EAGc,UAHd,EAIGA,IAJH,CAIQ,OAJR,EAIiB,IAJjB,EAKGA,IALH,CAKQ,QALR,EAKkB,IALlB,EAMGuC,MANH,CAMU,MANV,EAOGvC,IAPH,CAOQ,WAPR,EAOqB,WAPrB,EAQGA,IARH,CASI,GATJ,EAUI,0JAVJ;AAYD,CAbM;AAeA,IAAM0/C,eAAe,GAAG,SAAlBA,eAAkB,CAAU98C,IAAV,EAAgB;AAC7CA,MAAI,CACDL,MADH,CACU,MADV,EAEGA,MAFH,CAEU,QAFV,EAGGvC,IAHH,CAGQ,IAHR,EAGc,OAHd,EAIGA,IAJH,CAIQ,OAJR,EAIiB,IAJjB,EAKGA,IALH,CAKQ,QALR,EAKkB,IALlB,EAMGuC,MANH,CAMU,MANV,EAOGvC,IAPH,CAOQ,WAPR,EAOqB,WAPrB,EAQGA,IARH,CASI,GATJ,EAUI,2UAVJ;AAYD,CAbM;AAeP;AACA;AACA;;AACO,IAAM4/C,eAAe,GAAG,SAAlBA,eAAkB,CAAUh9C,IAAV,EAAgB;AAC7CA,MAAI,CACDL,MADH,CACU,MADV,EAEGA,MAFH,CAEU,QAFV,EAGGvC,IAHH,CAGQ,IAHR,EAGc,WAHd,EAIGA,IAJH,CAIQ,MAJR,EAIgB,CAJhB,EAKGA,IALH,CAKQ,MALR,EAKgB,CALhB,EAMGA,IANH,CAMQ,aANR,EAMuB,gBANvB,EAOGA,IAPH,CAOQ,aAPR,EAOuB,EAPvB,EAQGA,IARH,CAQQ,cARR,EAQwB,EARxB,EASGA,IATH,CASQ,QATR,EASkB,MATlB,EAUGuC,MAVH,CAUU,MAVV,EAWGvC,IAXH,CAWQ,GAXR,EAWa,uBAXb,EAD6C,CAYN;AACxC,CAbM;AAcP;AACA;AACA;;AACO,IAAM8/C,qBAAqB,GAAG,SAAxBA,qBAAwB,CAAUl9C,IAAV,EAAgB;AACnDA,MAAI,CACDL,MADH,CACU,MADV,EAEGA,MAFH,CAEU,QAFV,EAGGvC,IAHH,CAGQ,IAHR,EAGc,aAHd,EAIGA,IAJH,CAIQ,MAJR,EAIgB,EAJhB,EAKGA,IALH,CAKQ,MALR,EAKgB,CALhB,EAMGA,IANH,CAMQ,aANR,EAMuB,EANvB,EAOGA,IAPH,CAOQ,cAPR,EAOwB,EAPxB,EAQGA,IARH,CAQQ,QARR,EAQkB,MARlB,EASGuC,MATH,CASU,MATV,EAUGvC,IAVH,CAUQ,GAVR,EAUa,2BAVb;AAWD,CAZM;AAaP;AACA;AACA;;AACO,IAAM+/C,oBAAoB,GAAG,SAAvBA,oBAAuB,CAAUn9C,IAAV,EAAgB;AAClDA,MAAI,CACDL,MADH,CACU,MADV,EAEGA,MAFH,CAEU,QAFV,EAGGvC,IAHH,CAGQ,IAHR,EAGc,gBAHd,EAIGA,IAJH,CAIQ,MAJR,EAIgB,EAJhB,EAKGA,IALH,CAKQ,MALR,EAKgB,EALhB,EAMGA,IANH,CAMQ,aANR,EAMuB,EANvB,EAOGA,IAPH,CAOQ,cAPR,EAOwB,EAPxB,EAQGA,IARH,CAQQ,QARR,EAQkB,MARlB,EASGuC,MATH,CASU,QATV,EAUGvC,IAVH,CAUQ,IAVR,EAUc,EAVd,EAWGA,IAXH,CAWQ,IAXR,EAWc,EAXd,EAYGA,IAZH,CAYQ,GAZR,EAYa,CAZb,EADkD,CAclD;AACD,CAfM;AAgBP;AACA;AACA;;AACO,IAAM6/C,oBAAoB,GAAG,SAAvBA,oBAAuB,CAAUj9C,IAAV,EAAgB;AAClD,MAAMojD,IAAI,GAAGpjD,IAAI,CAACL,MAAL,CAAY,MAAZ,CAAb;AACA,MAAM+kB,MAAM,GAAG0+B,IAAI,CAChBzjD,MADY,CACL,QADK,EAEZvC,IAFY,CAEP,IAFO,EAED,WAFC,EAGZA,IAHY,CAGP,aAHO,EAGQ,EAHR,EAIZA,IAJY,CAIP,cAJO,EAIS,CAJT,EAKZA,IALY,CAKP,QALO,EAKG,MALH,EAMZA,IANY,CAMP,MANO,EAMC,EAND,EAOZA,IAPY,CAOP,MAPO,EAOC,CAPD,CAAf,CAFkD,CAWlD;;AACAsnB,QAAM,CACH/kB,MADH,CACU,MADV,EAEGvC,IAFH,CAEQ,MAFR,EAEgB,OAFhB,EAGGA,IAHH,CAGQ,QAHR,EAGkB,SAHlB,EAIG0B,KAJH,CAIS,kBAJT,EAI6B,MAJ7B,EAKG1B,IALH,CAKQ,cALR,EAKwB,KALxB,EAMGA,IANH,CAMQ,GANR,EAMa,mBANb,EAZkD,CAoBlD;;AACAsnB,QAAM,CACH/kB,MADH,CACU,MADV,EAEGvC,IAFH,CAEQ,MAFR,EAEgB,MAFhB,EAGGA,IAHH,CAGQ,QAHR,EAGkB,SAHlB,EAIG0B,KAJH,CAIS,kBAJT,EAI6B,MAJ7B,EAKG1B,IALH,CAKQ,cALR,EAKwB,KALxB,EAMGA,IANH,CAMQ,GANR,EAMa,yBANb,EArBkD,CA4BlD;AACD,CA7BM;AA+BA,IAAMg9C,UAAU,GAAG,SAAbA,UAAa,GAAY;AACpC,SAAO;AACLn7C,KAAC,EAAE,CADE;AAELC,KAAC,EAAE,CAFE;AAGL+b,QAAI,EAAErd,SAHD;AAILy8C,UAAM,EAAEz8C,SAJH;AAKLkB,SAAK,EAAE,MALF;AAMLP,SAAK,EAAEX,SANF;AAOLY,UAAM,EAAEZ,SAPH;AAQL08C,cAAU,EAAE,CARP;AASLv7C,MAAE,EAAE,CATC;AAULC,MAAE,EAAE,CAVC;AAWL+C,SAAK,EAAE,IAXF;AAYLw4C,UAAM,EAAE38C;AAZH,GAAP;AAcD,CAfM;AAiBA,IAAMo8C,WAAW,GAAG,SAAdA,WAAc,GAAY;AACrC,SAAO;AACL/6C,KAAC,EAAE,CADE;AAELC,KAAC,EAAE,CAFE;AAGL+b,QAAI,EAAE,SAHD;AAILD,UAAM,EAAE,MAJH;AAKLzc,SAAK,EAAE,GALF;AAML87C,UAAM,EAAE,OANH;AAOL77C,UAAM,EAAE,GAPH;AAQLO,MAAE,EAAE,CARC;AASLC,MAAE,EAAE;AATC,GAAP;AAWD,CAZM;;AAcP,IAAM8jD,sBAAsB,GAAI,YAAY;AAC1C,WAASO,MAAT,CAAgBC,OAAhB,EAAyB3hC,CAAzB,EAA4B1iB,CAA5B,EAA+BC,CAA/B,EAAkCX,KAAlC,EAAyCC,MAAzC,EAAiDwiD,SAAjD,EAA4D;AAC1D,QAAMzjD,IAAI,GAAGokB,CAAC,CACXhiB,MADU,CACH,MADG,EAEVvC,IAFU,CAEL,GAFK,EAEA6B,CAAC,GAAGV,KAAK,GAAG,CAFZ,EAGVnB,IAHU,CAGL,GAHK,EAGA8B,CAAC,GAAGV,MAAM,GAAG,CAAb,GAAiB,CAHjB,EAIVM,KAJU,CAIJ,aAJI,EAIW,QAJX,EAKVvB,IALU,CAKL+lD,OALK,CAAb;;AAMAC,iBAAa,CAAChmD,IAAD,EAAOyjD,SAAP,CAAb;AACD;;AAED,WAASwC,OAAT,CAAiBF,OAAjB,EAA0B3hC,CAA1B,EAA6B1iB,CAA7B,EAAgCC,CAAhC,EAAmCX,KAAnC,EAA0CC,MAA1C,EAAkDwiD,SAAlD,EAA6DtlD,IAA7D,EAAmE;AACjE,QAAQ2b,aAAR,GAA4D3b,IAA5D,CAAQ2b,aAAR;AAAA,QAAuBC,eAAvB,GAA4D5b,IAA5D,CAAuB4b,eAAvB;AAAA,QAAwCC,eAAxC,GAA4D7b,IAA5D,CAAwC6b,eAAxC;AAEA,QAAMsjC,KAAK,GAAGyI,OAAO,CAAC3hD,KAAR,CAAcgd,sDAAM,CAACyE,cAArB,CAAd;;AACA,SAAK,IAAInoB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG4/C,KAAK,CAAC3/C,MAA1B,EAAkCD,CAAC,EAAnC,EAAuC;AACrC,UAAMyJ,EAAE,GAAGzJ,CAAC,GAAGoc,aAAJ,GAAqBA,aAAa,IAAIwjC,KAAK,CAAC3/C,MAAN,GAAe,CAAnB,CAAd,GAAuC,CAAtE;AACA,UAAMqC,IAAI,GAAGokB,CAAC,CACXhiB,MADU,CACH,MADG,EAEVvC,IAFU,CAEL,GAFK,EAEA6B,CAAC,GAAGV,KAAK,GAAG,CAFZ,EAGVnB,IAHU,CAGL,GAHK,EAGA8B,CAHA,EAIVJ,KAJU,CAIJ,aAJI,EAIW,QAJX,EAKVA,KALU,CAKJ,WALI,EAKSuY,aALT,EAMVvY,KANU,CAMJ,aANI,EAMWyY,eANX,EAOVzY,KAPU,CAOJ,aAPI,EAOWwY,eAPX,CAAb;AAQA/Z,UAAI,CACDoC,MADH,CACU,OADV,EAEGvC,IAFH,CAEQ,GAFR,EAEa6B,CAAC,GAAGV,KAAK,GAAG,CAFzB,EAGGnB,IAHH,CAGQ,IAHR,EAGcsH,EAHd,EAIGnH,IAJH,CAIQs9C,KAAK,CAAC5/C,CAAD,CAJb;AAMAsC,UAAI,CACDH,IADH,CACQ,GADR,EACa8B,CAAC,GAAGV,MAAM,GAAG,GAD1B,EAEGpB,IAFH,CAEQ,mBAFR,EAE6B,SAF7B,EAGGA,IAHH,CAGQ,oBAHR,EAG8B,SAH9B;;AAKAmmD,mBAAa,CAAChmD,IAAD,EAAOyjD,SAAP,CAAb;AACD;AACF;;AAED,WAASyC,IAAT,CAAcH,OAAd,EAAuB3hC,CAAvB,EAA0B1iB,CAA1B,EAA6BC,CAA7B,EAAgCX,KAAhC,EAAuCC,MAAvC,EAA+CwiD,SAA/C,EAA0DtlD,IAA1D,EAAgE;AAC9D,QAAM4F,CAAC,GAAGqgB,CAAC,CAAChiB,MAAF,CAAS,QAAT,CAAV;AACA,QAAMgS,CAAC,GAAGrQ,CAAC,CACR3B,MADO,CACA,eADA,EAEPvC,IAFO,CAEF,GAFE,EAEG6B,CAFH,EAGP7B,IAHO,CAGF,GAHE,EAGG8B,CAHH,EAIP9B,IAJO,CAIF,OAJE,EAIOmB,KAJP,EAKPnB,IALO,CAKF,QALE,EAKQoB,MALR,CAAV;AAOA,QAAMjB,IAAI,GAAGoU,CAAC,CACXhS,MADU,CACH,WADG,EAEVb,KAFU,CAEJ,SAFI,EAEO,OAFP,EAGVA,KAHU,CAGJ,QAHI,EAGM,MAHN,EAIVA,KAJU,CAIJ,OAJI,EAIK,MAJL,CAAb;AAMAvB,QAAI,CACDoC,MADH,CACU,KADV,EAEGb,KAFH,CAES,SAFT,EAEoB,YAFpB,EAGGA,KAHH,CAGS,YAHT,EAGuB,QAHvB,EAIGA,KAJH,CAIS,gBAJT,EAI2B,QAJ3B,EAKGvB,IALH,CAKQ+lD,OALR;AAOAE,WAAO,CAACF,OAAD,EAAUhiD,CAAV,EAAarC,CAAb,EAAgBC,CAAhB,EAAmBX,KAAnB,EAA0BC,MAA1B,EAAkCwiD,SAAlC,EAA6CtlD,IAA7C,CAAP;;AACA6nD,iBAAa,CAAChmD,IAAD,EAAOyjD,SAAP,CAAb;AACD;;AAED,WAASuC,aAAT,CAAuBG,MAAvB,EAA+BC,iBAA/B,EAAkD;AAChD,SAAK,IAAMvnD,GAAX,IAAkBunD,iBAAlB,EAAqC;AACnC,UAAIA,iBAAiB,CAACzwB,cAAlB,CAAiC92B,GAAjC,CAAJ,EAA2C;AAAE;AAC3CsnD,cAAM,CAACtmD,IAAP,CAAYhB,GAAZ,EAAiBunD,iBAAiB,CAACvnD,GAAD,CAAlC;AACD;AACF;AACF;;AAED,SAAO,UAAUV,IAAV,EAAgB;AACrB,WAAOA,IAAI,CAACge,aAAL,KAAuB,IAAvB,GAA8B+pC,IAA9B,GAAqC/nD,IAAI,CAACge,aAAL,KAAuB,KAAvB,GAA+B2pC,MAA/B,GAAwCG,OAApF;AACD,GAFD;AAGD,CA7E8B,EAA/B;;AA+EA,IAAM/B,8BAA8B,GAAI,YAAY;AAClD,WAAS4B,MAAT,CAAgBC,OAAhB,EAAyB3hC,CAAzB,EAA4B1iB,CAA5B,EAA+BC,CAA/B,EAAkCX,KAAlC,EAAyCC,MAAzC,EAAiDwiD,SAAjD,EAA4D;AAC1D,QAAMzjD,IAAI,GAAGokB,CAAC,CACXhiB,MADU,CACH,MADG,EAEVvC,IAFU,CAEL,GAFK,EAEA6B,CAFA,EAGV7B,IAHU,CAGL,GAHK,EAGA8B,CAHA,EAIVJ,KAJU,CAIJ,aAJI,EAIW,OAJX,EAKVvB,IALU,CAKL+lD,OALK,CAAb;;AAMAC,iBAAa,CAAChmD,IAAD,EAAOyjD,SAAP,CAAb;AACD;;AAED,WAASwC,OAAT,CAAiBF,OAAjB,EAA0B3hC,CAA1B,EAA6B1iB,CAA7B,EAAgCC,CAAhC,EAAmCX,KAAnC,EAA0CC,MAA1C,EAAkDwiD,SAAlD,EAA6DtlD,IAA7D,EAAmE;AACjE,QAAQ2b,aAAR,GAA4D3b,IAA5D,CAAQ2b,aAAR;AAAA,QAAuBC,eAAvB,GAA4D5b,IAA5D,CAAuB4b,eAAvB;AAAA,QAAwCC,eAAxC,GAA4D7b,IAA5D,CAAwC6b,eAAxC;AAEA,QAAMsjC,KAAK,GAAGyI,OAAO,CAAC3hD,KAAR,CAAcgd,sDAAM,CAACyE,cAArB,CAAd;;AACA,SAAK,IAAInoB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG4/C,KAAK,CAAC3/C,MAA1B,EAAkCD,CAAC,EAAnC,EAAuC;AACrC,UAAMyJ,EAAE,GAAGzJ,CAAC,GAAGoc,aAAJ,GAAqBA,aAAa,IAAIwjC,KAAK,CAAC3/C,MAAN,GAAe,CAAnB,CAAd,GAAuC,CAAtE;AACA,UAAMqC,IAAI,GAAGokB,CAAC,CACXhiB,MADU,CACH,MADG,EAEVvC,IAFU,CAEL,GAFK,EAEA6B,CAFA,EAGV7B,IAHU,CAGL,GAHK,EAGA8B,CAHA,EAIVJ,KAJU,CAIJ,aAJI,EAIW,OAJX,EAKVA,KALU,CAKJ,WALI,EAKSuY,aALT,EAMVvY,KANU,CAMJ,aANI,EAMWyY,eANX,EAOVzY,KAPU,CAOJ,aAPI,EAOWwY,eAPX,CAAb;AAQA/Z,UAAI,CAACoC,MAAL,CAAY,OAAZ,EAAqBvC,IAArB,CAA0B,GAA1B,EAA+B6B,CAA/B,EAAkC7B,IAAlC,CAAuC,IAAvC,EAA6CsH,EAA7C,EAAiDnH,IAAjD,CAAsDs9C,KAAK,CAAC5/C,CAAD,CAA3D;AAEAsC,UAAI,CACDH,IADH,CACQ,GADR,EACa8B,CAAC,GAAGV,MAAM,GAAG,GAD1B,EAEGpB,IAFH,CAEQ,mBAFR,EAE6B,SAF7B,EAGGA,IAHH,CAGQ,oBAHR,EAG8B,SAH9B;;AAKAmmD,mBAAa,CAAChmD,IAAD,EAAOyjD,SAAP,CAAb;AACD;AACF;;AAED,WAASyC,IAAT,CAAcH,OAAd,EAAuB3hC,CAAvB,EAA0B1iB,CAA1B,EAA6BC,CAA7B,EAAgCX,KAAhC,EAAuCC,MAAvC,EAA+CwiD,SAA/C,EAA0DtlD,IAA1D,EAAgE;AAC9D,QAAM4F,CAAC,GAAGqgB,CAAC,CAAChiB,MAAF,CAAS,QAAT,CAAV;AACA,QAAMgS,CAAC,GAAGrQ,CAAC,CACR3B,MADO,CACA,eADA,EAEPvC,IAFO,CAEF,GAFE,EAEG6B,CAFH,EAGP7B,IAHO,CAGF,GAHE,EAGG8B,CAHH,EAIP9B,IAJO,CAIF,OAJE,EAIOmB,KAJP,EAKPnB,IALO,CAKF,QALE,EAKQoB,MALR,CAAV;AAOA,QAAMjB,IAAI,GAAGoU,CAAC,CACXhS,MADU,CACH,WADG,EAEVb,KAFU,CAEJ,SAFI,EAEO,OAFP,EAGVA,KAHU,CAGJ,QAHI,EAGM,MAHN,EAIVA,KAJU,CAIJ,OAJI,EAIK,MAJL,CAAb;AAMAvB,QAAI,CACDoC,MADH,CACU,KADV,EAEGb,KAFH,CAES,SAFT,EAEoB,YAFpB,EAGGA,KAHH,CAGS,YAHT,EAGuB,QAHvB,EAIGA,KAJH,CAIS,gBAJT,EAI2B,QAJ3B,EAKGvB,IALH,CAKQ+lD,OALR;AAOAE,WAAO,CAACF,OAAD,EAAUhiD,CAAV,EAAarC,CAAb,EAAgBC,CAAhB,EAAmBX,KAAnB,EAA0BC,MAA1B,EAAkCwiD,SAAlC,EAA6CtlD,IAA7C,CAAP;;AACA6nD,iBAAa,CAAChmD,IAAD,EAAOyjD,SAAP,CAAb;AACD;;AAED,WAASuC,aAAT,CAAuBG,MAAvB,EAA+BC,iBAA/B,EAAkD;AAChD,SAAK,IAAMvnD,GAAX,IAAkBunD,iBAAlB,EAAqC;AACnC,UAAIA,iBAAiB,CAACzwB,cAAlB,CAAiC92B,GAAjC,CAAJ,EAA2C;AAAE;AAC3CsnD,cAAM,CAACtmD,IAAP,CAAYhB,GAAZ,EAAiBunD,iBAAiB,CAACvnD,GAAD,CAAlC;AACD;AACF;AACF;;AAED,SAAO,UAAUV,IAAV,EAAgB;AACrB,WAAOA,IAAI,CAACge,aAAL,KAAuB,IAAvB,GAA8B+pC,IAA9B,GAAqC/nD,IAAI,CAACge,aAAL,KAAuB,KAAvB,GAA+B2pC,MAA/B,GAAwCG,OAApF;AACD,GAFD;AAGD,CAzEsC,EAAvC;;AA2Ee;AACbtJ,UAAQ,EAARA,QADa;AAEbO,UAAQ,EAARA,QAFa;AAGb4H,WAAS,EAATA,SAHa;AAIb7G,WAAS,EAATA,SAJa;AAKbK,WAAS,EAATA,SALa;AAMb6F,WAAS,EAATA,SANa;AAObE,mBAAiB,EAAjBA,iBAPa;AAQb7I,eAAa,EAAbA,aARa;AASbuE,gBAAc,EAAdA,cATa;AAUbC,UAAQ,EAARA,QAVa;AAWbC,oBAAkB,EAAlBA,kBAXa;AAYbR,iBAAe,EAAfA,eAZa;AAabE,uBAAqB,EAArBA,qBAba;AAcbC,sBAAoB,EAApBA,oBAda;AAebF,sBAAoB,EAApBA,oBAfa;AAgBbJ,oBAAkB,EAAlBA,kBAhBa;AAiBbD,oBAAkB,EAAlBA,kBAjBa;AAkBbE,iBAAe,EAAfA,eAlBa;AAmBb1C,YAAU,EAAVA,UAnBa;AAoBbJ,aAAW,EAAXA,WApBa;AAqBbkH,WAAS,EAATA,SArBa;AAsBbC,aAAW,EAAXA,WAtBa;AAuBbzD,oBAAkB,EAAlBA;AAvBa,CAAf,E;;;;;;;;;;;;ACz5BA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAMj8B,OAAO,GAAG,EAAhB;AAEO,IAAMmiC,GAAG,GAAG,SAANA,GAAM,CAACxnD,GAAD,EAAM6sB,GAAN,EAAc;AAC/BxH,SAAO,CAACrlB,GAAD,CAAP,GAAe6sB,GAAf;AACD,CAFM;AAIA,IAAM46B,GAAG,GAAG,SAANA,GAAM,CAACv/B,CAAD;AAAA,SAAO7C,OAAO,CAAC6C,CAAD,CAAd;AAAA,CAAZ;AACA,IAAMroB,IAAI,GAAG,SAAPA,IAAO;AAAA,SAAM7B,MAAM,CAAC6B,IAAP,CAAYwlB,OAAZ,CAAN;AAAA,CAAb;AACA,IAAMwmB,IAAI,GAAG,SAAPA,IAAO;AAAA,SAAMhsC,IAAI,GAAGf,MAAb;AAAA,CAAb;AAEQ;AACb2oD,KAAG,EAAHA,GADa;AAEbD,KAAG,EAAHA,GAFa;AAGb3nD,MAAI,EAAJA,IAHa;AAIbgsC,MAAI,EAAJA;AAJa,CAAf,E;;;;;;;;;;;ACVA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA,eAAe,kCAAkC;AACjD,iBAAiB,kCAAkC;AACnD;AACA;AACA;AACA,qBAAqB,IAAI;AACzB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mJAAmJ;AACnJ,SAAS;;AAET;AACA;AACA,qBAAqB,+BAA+B;AACpD;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,WAAW,YAAY,IAAI,WAAW,SAAS;AACvE,cAAc,0BAA0B,EAAE;AAC1C,MAAM;AACN,WAAW,khBAAkhB,qJAAqJ;AAClrB,aAAa,iVAAiV,6HAA6H;AAC3d;AACA;AACA;;AAEA;AACA;AACA;AACA,yCAAyC,yBAAyB,c;AAClE;AACA;AACA;AACA;AACA;;AAEA;AACA,kCAAkC;AAClC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,UAAU;AACtD;AACA;AACA,6DAA6D,UAAU;AACvE;AACA;;AAEA,2CAA2C,iCAAiC;AAC5E,gBAAgB,4BAA4B,gEAAgE,UAAU;;AAEtH;AACA;;AAEA,sEAAsE;AACtE,gBAAgB,4BAA4B,gEAAgE,UAAU,+DAA+D;;AAErL;AACA;;AAEA,2EAA2E;AAC3E,gBAAgB;;AAEhB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;;;AAGhB;AACA;;AAEA,0GAA0G;AAC1G,iBAAiB;;AAEjB;AACA;;AAEA,gBAAgB;;AAEhB;AACA;;AAEA,gBAAgB;;AAEhB;AACA;;AAEA,gBAAgB;;AAEhB;AACA;;AAEA,gBAAgB;;AAEhB;AACA;;AAEA,6GAA6G;AAC7G,gBAAgB,2CAA2C;;AAE3D;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;AACA,uBAAuB,SAAS;AAChC;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;AACA;AACA;AACA;AACA,uBAAuB,qB;AACvB;AACA;AACA,6C;AACA;AACA;AACA,2CAA2C,4C;AAC3C;AACA;AACA,qBAAqB,iC;AACrB;AACA;AACA,CAAC;AACD,SAAS,sCAAsC,EAAE,MAAM,EAAE,sCAAsC,EAAE,sCAAsC,EAAE,uCAAuC,gEAAgE,KAAK,GAAG,gBAAgB,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,qKAAqK,EAAE,uBAAuB,iCAAiC,4IAA4I,yCAAyC,oBAAoB,iBAAiB,UAAU,eAAe,UAAU,GAAG,UAAU,0DAA0D,oCAAoC,gIAAgI,gBAAgB,2CAA2C,oBAAoB,0BAA0B,KAAK,GAAG,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,eAAe,UAAU,GAAG,uKAAuK,eAAe,UAAU,GAAG,UAAU,EAAE,UAAU,sDAAsD,KAAK,+BAA+B,uKAAuK;AACvrD,iBAAiB,gEAAgE;AACjF;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+D;AAC/D;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,kBAAkB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,iCAAiC;AACjC,qBAAqB;AACrB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL,qDAAqD;AACrD;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;AACL,UAAU,wBAAwB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,W;AACrC;AACA,qCAAqC,W;AACrC;AACA,wBAAwB,6BAA6B,W;AACrD;AACA,wBAAwB,iBAAiB,W;AACzC;AACA;AACA;AACA;AACA;AACA,4BAA4B,mCAAmC;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,yCAAyC,a;AAC1E;AACA;AACA;AACA;AACA;AACA,gEAAgE,0B;AAChE;AACA,wBAAwB,yCAAyC,0CAA0C;AAC3G;AACA,wBAAwB,yCAAyC,yCAAyC;AAC1G;AACA,wBAAwB,0CAA0C,yCAAyC;AAC3G;AACA,wBAAwB,yCAAyC,yCAAyC;AAC1G;AACA,wBAAwB,yCAAyC,yCAAyC;AAC1G;AACA,wBAAwB,0CAA0C,yCAAyC;AAC3G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD;AACrD;AACA,wBAAwB,2BAA2B;AACnD;AACA,wBAAwB,uCAAuC;AAC/D;AACA;AACA;AACA,wDAAwD;AACxD;AACA,oDAAoD;AACpD;AACA;AACA;AACA,wBAAwB,yBAAyB,2CAA2C;AAC5F;AACA,wCAAwC,mBAAmB;AAC3D;AACA;AACA;AACA,4BAA4B,W;AAC5B;AACA,yBAAyB,0BAA0B;AACnD;AACA,yBAAyB,0BAA0B;AACnD;AACA,yBAAyB;AACzB;AACA,wBAAwB,mCAAmC;AAC3D;AACA;AACA;AACA,2DAA2D;AAC3D;AACA,wBAAwB,8CAA8C;AACtE;AACA,yBAAyB,4BAA4B,6CAA6C;AAClG;AACA,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CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,WAAW,YAAY,IAAI,WAAW,SAAS;AACvE,cAAc,0BAA0B,EAAE;AAC1C,MAAM;AACN,WAAW,8VAA8V;AACzW,aAAa,gMAAgM;AAC7M;AACA;AACA;;AAEA;AACA;AACA;AACA,iB;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,uBAAuB,qB;AACvB;AACA;AACA,6C;AACA;AACA;AACA,2CAA2C,4C;AAC3C;AACA;AACA,qBAAqB,mC;AACrB;AACA;AACA,CAAC;AACD,SAAS,0BAA0B,EAAE,MAAM,cAAc,IAAI,GAAG,0BAA0B,EAAE,cAAc,EAAE,UAAU,EAAE,6EAA6E,EAAE,QAAQ,EAAE,uBAAuB,gCAAgC,QAAQ,gBAAgB,4CAA4C,wDAAwD,UAAU,gBAAgB,UAAU,EAAE,gBAAgB,EAAE,UAAU,0CAA0C,aAAa,EAAE,UAAU,EAAE,UAAU;AACrhB,iBAAiB,qCAAqC;AACtD;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+D;AAC/D;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,kBAAkB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,iCAAiC;AACjC,qBAAqB;AACrB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL,qDAAqD;AACrD;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;AACL,UAAU,wBAAwB;AAClC;AACA;AACA;AACA,qCAAqC,W;AACrC;AACA,qCAAqC,W;AACrC;AACA,wBAAwB,6BAA6B,W;AACrD;AACA,wBAAwB,iBAAiB,W;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,iBAAiB,kBAAkB,gCAAgC,oBAAoB,yBAAyB,oBAAoB,2FAA2F,2BAA2B,kBAAkB,kBAAkB;AAC9R,aAAa,kBAAkB,8BAA8B,mBAAmB,gCAAgC,kBAAkB,gCAA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","file":"mermaid.core.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"mermaid\"] = factory();\n\telse\n\t\troot[\"mermaid\"] = factory();\n})(typeof self !== \"undefined\" ? self : this, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\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\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./src/mermaid.js\");\n","// .dirname, .basename, and .extname methods are extracted from Node.js v8.11.1,\n// backported and transplited with Babel, with backwards-compat fixes\n\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// resolves . and .. elements in a path array with directory names there\n// must be no slashes, empty elements, or device names (c:\\) in the array\n// (so also no leading and trailing slashes - it does not distinguish\n// relative and absolute paths)\nfunction normalizeArray(parts, allowAboveRoot) {\n // if the path tries to go above the root, `up` ends up > 0\n var up = 0;\n for (var i = parts.length - 1; i >= 0; i--) {\n var last = parts[i];\n if (last === '.') {\n parts.splice(i, 1);\n } else if (last === '..') {\n parts.splice(i, 1);\n up++;\n } else if (up) {\n parts.splice(i, 1);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (allowAboveRoot) {\n for (; up--; up) {\n parts.unshift('..');\n }\n }\n\n return parts;\n}\n\n// path.resolve([from ...], to)\n// posix version\nexports.resolve = function() {\n var resolvedPath = '',\n resolvedAbsolute = false;\n\n for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n var path = (i >= 0) ? arguments[i] : process.cwd();\n\n // Skip empty and invalid entries\n if (typeof path !== 'string') {\n throw new TypeError('Arguments to path.resolve must be strings');\n } else if (!path) {\n continue;\n }\n\n resolvedPath = path + '/' + resolvedPath;\n resolvedAbsolute = path.charAt(0) === '/';\n }\n\n // At this point the path should be resolved to a full absolute path, but\n // handle relative paths to be safe (might happen when process.cwd() fails)\n\n // Normalize the path\n resolvedPath = normalizeArray(filter(resolvedPath.split('/'), function(p) {\n return !!p;\n }), !resolvedAbsolute).join('/');\n\n return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.';\n};\n\n// path.normalize(path)\n// posix version\nexports.normalize = function(path) {\n var isAbsolute = exports.isAbsolute(path),\n trailingSlash = substr(path, -1) === '/';\n\n // Normalize the path\n path = normalizeArray(filter(path.split('/'), function(p) {\n return !!p;\n }), !isAbsolute).join('/');\n\n if (!path && !isAbsolute) {\n path = '.';\n }\n if (path && trailingSlash) {\n path += '/';\n }\n\n return (isAbsolute ? '/' : '') + path;\n};\n\n// posix version\nexports.isAbsolute = function(path) {\n return path.charAt(0) === '/';\n};\n\n// posix version\nexports.join = function() {\n var paths = Array.prototype.slice.call(arguments, 0);\n return exports.normalize(filter(paths, function(p, index) {\n if (typeof p !== 'string') {\n throw new TypeError('Arguments to path.join must be strings');\n }\n return p;\n }).join('/'));\n};\n\n\n// path.relative(from, to)\n// posix version\nexports.relative = function(from, to) {\n from = exports.resolve(from).substr(1);\n to = exports.resolve(to).substr(1);\n\n function trim(arr) {\n var start = 0;\n for (; start < arr.length; start++) {\n if (arr[start] !== '') break;\n }\n\n var end = arr.length - 1;\n for (; end >= 0; end--) {\n if (arr[end] !== '') break;\n }\n\n if (start > end) return [];\n return arr.slice(start, end - start + 1);\n }\n\n var fromParts = trim(from.split('/'));\n var toParts = trim(to.split('/'));\n\n var length = Math.min(fromParts.length, toParts.length);\n var samePartsLength = length;\n for (var i = 0; i < length; i++) {\n if (fromParts[i] !== toParts[i]) {\n samePartsLength = i;\n break;\n }\n }\n\n var outputParts = [];\n for (var i = samePartsLength; i < fromParts.length; i++) {\n outputParts.push('..');\n }\n\n outputParts = outputParts.concat(toParts.slice(samePartsLength));\n\n return outputParts.join('/');\n};\n\nexports.sep = '/';\nexports.delimiter = ':';\n\nexports.dirname = function (path) {\n if (typeof path !== 'string') path = path + '';\n if (path.length === 0) return '.';\n var code = path.charCodeAt(0);\n var hasRoot = code === 47 /*/*/;\n var end = -1;\n var matchedSlash = true;\n for (var i = path.length - 1; i >= 1; --i) {\n code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n if (!matchedSlash) {\n end = i;\n break;\n }\n } else {\n // We saw the first non-path separator\n matchedSlash = false;\n }\n }\n\n if (end === -1) return hasRoot ? '/' : '.';\n if (hasRoot && end === 1) {\n // return '//';\n // Backwards-compat fix:\n return '/';\n }\n return path.slice(0, end);\n};\n\nfunction basename(path) {\n if (typeof path !== 'string') path = path + '';\n\n var start = 0;\n var end = -1;\n var matchedSlash = true;\n var i;\n\n for (i = path.length - 1; i >= 0; --i) {\n if (path.charCodeAt(i) === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n } else if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // path component\n matchedSlash = false;\n end = i + 1;\n }\n }\n\n if (end === -1) return '';\n return path.slice(start, end);\n}\n\n// Uses a mixed approach for backwards-compatibility, as ext behavior changed\n// in new Node.js versions, so only basename() above is backported here\nexports.basename = function (path, ext) {\n var f = basename(path);\n if (ext && f.substr(-1 * ext.length) === ext) {\n f = f.substr(0, f.length - ext.length);\n }\n return f;\n};\n\nexports.extname = function (path) {\n if (typeof path !== 'string') path = path + '';\n var startDot = -1;\n var startPart = 0;\n var end = -1;\n var matchedSlash = true;\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find\n var preDotState = 0;\n for (var i = path.length - 1; i >= 0; --i) {\n var code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // extension\n matchedSlash = false;\n end = i + 1;\n }\n if (code === 46 /*.*/) {\n // If this is our first dot, mark it as the start of our extension\n if (startDot === -1)\n startDot = i;\n else if (preDotState !== 1)\n preDotState = 1;\n } else if (startDot !== -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension\n preDotState = -1;\n }\n }\n\n if (startDot === -1 || end === -1 ||\n // We saw a non-dot character immediately before the dot\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly '..'\n preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {\n return '';\n }\n return path.slice(startDot, end);\n};\n\nfunction filter (xs, f) {\n if (xs.filter) return xs.filter(f);\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n if (f(xs[i], i, xs)) res.push(xs[i]);\n }\n return res;\n}\n\n// String.prototype.substr - negative index don't work in IE8\nvar substr = 'ab'.substr(-1) === 'b'\n ? function (str, start, len) { return str.substr(start, len) }\n : function (str, start, len) {\n if (start < 0) start = str.length + start;\n return str.substr(start, len);\n }\n;\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","import { assignWithDepth } from './utils';\nimport { log } from './logger';\nimport theme from './themes';\nimport config from './defaultConfig';\n\n// debugger;\n\nexport const defaultConfig = Object.freeze(config);\n\nlet siteConfig = assignWithDepth({}, defaultConfig);\nlet configFromInitialize;\nlet directives = [];\nlet currentConfig = assignWithDepth({}, defaultConfig);\n\nexport const updateCurrentConfig = (siteCfg, _directives) => {\n // start with config beeing the siteConfig\n let cfg = assignWithDepth({}, siteCfg);\n // let sCfg = assignWithDepth(defaultConfig, siteConfigDelta);\n\n // Join directives\n let sumOfDirectives = {};\n for (let i = 0; i < _directives.length; i++) {\n const d = _directives[i];\n sanitize(d);\n\n // Apply the data from the directive where the the overrides the themeVaraibles\n sumOfDirectives = assignWithDepth(sumOfDirectives, d);\n }\n\n cfg = assignWithDepth(cfg, sumOfDirectives);\n\n if (sumOfDirectives.theme) {\n const tmpConfigFromInitialize = assignWithDepth({}, configFromInitialize);\n const themeVariables = assignWithDepth(\n tmpConfigFromInitialize.themeVariables || {},\n sumOfDirectives.themeVariables\n );\n cfg.themeVariables = theme[cfg.theme].getThemeVariables(themeVariables);\n }\n\n currentConfig = cfg;\n return cfg;\n};\n/**\n *## setSiteConfig\n *| Function | Description | Type | Values |\n *| --------- | ------------------- | ------- | ------------------ |\n *| setSiteConfig|Sets the siteConfig to desired values | Put Request | Any Values, except ones in secure array|\n ***Notes:**\n *Sets the siteConfig. The siteConfig is a protected configuration for repeat use. Calls to reset() will reset\n *the currentConfig to siteConfig. Calls to reset(configApi.defaultConfig) will reset siteConfig and currentConfig\n *to the defaultConfig\n *Note: currentConfig is set in this function\n **Default value: At default, will mirror Global Config**\n * @param conf - the base currentConfig to use as siteConfig\n * @returns {*} - the siteConfig\n */\nexport const setSiteConfig = (conf) => {\n siteConfig = assignWithDepth({}, defaultConfig);\n siteConfig = assignWithDepth(siteConfig, conf);\n\n if (conf.theme) {\n siteConfig.themeVariables = theme[conf.theme].getThemeVariables(conf.themeVariables);\n }\n\n currentConfig = updateCurrentConfig(siteConfig, directives);\n return siteConfig;\n};\n\nexport const saveConfigFromInitilize = (conf) => {\n configFromInitialize = assignWithDepth({}, conf);\n};\n\nexport const updateSiteConfig = (conf) => {\n siteConfig = assignWithDepth(siteConfig, conf);\n updateCurrentConfig(siteConfig, directives);\n\n return siteConfig;\n};\n/**\n *## getSiteConfig\n *| Function | Description | Type | Values |\n *| --------- | ------------------- | ------- | ------------------ |\n *| setSiteConfig|Returns the current siteConfig base configuration | Get Request | Returns Any Values in siteConfig|\n ***Notes**:\n *Returns **any** values in siteConfig.\n * @returns {*}\n */\nexport const getSiteConfig = () => {\n return assignWithDepth({}, siteConfig);\n};\n/**\n *## setConfig\n *| Function | Description | Type | Values |\n *| --------- | ------------------- | ------- | ------------------ |\n *| setSiteConfig|Sets the siteConfig to desired values | Put Request| Any Values, except ones in secure array|\n ***Notes**:\n *Sets the currentConfig. The parameter conf is sanitized based on the siteConfig.secure keys. Any\n *values found in conf with key found in siteConfig.secure will be replaced with the corresponding\n *siteConfig value.\n * @param conf - the potential currentConfig\n * @returns {*} - the currentConfig merged with the sanitized conf\n */\nexport const setConfig = (conf) => {\n // sanitize(conf);\n // Object.keys(conf).forEach(key => {\n // const manipulator = manipulators[key];\n // conf[key] = manipulator ? manipulator(conf[key]) : conf[key];\n // });\n\n assignWithDepth(currentConfig, conf);\n\n return getConfig();\n};\n\n/**\n * ## getConfig\n *| Function | Description | Type | Return Values |\n *| --------- | ------------------- | ------- | ------------------ |\n *| getConfig |Obtains the currentConfig | Get Request | Any Values from currentConfig|\n ***Notes**:\n *Returns **any** the currentConfig\n * @returns {*} - the currentConfig\n */\nexport const getConfig = () => {\n return assignWithDepth({}, currentConfig);\n};\n/**\n *## sanitize\n *| Function | Description | Type | Values |\n *| --------- | ------------------- | ------- | ------------------ |\n *| sanitize |Sets the siteConfig to desired values. | Put Request |None|\n *Ensures options parameter does not attempt to override siteConfig secure keys\n *Note: modifies options in-place\n * @param options - the potential setConfig parameter\n */\nexport const sanitize = (options) => {\n // Checking that options are not in the list of excluded options\n Object.keys(siteConfig.secure).forEach((key) => {\n if (typeof options[siteConfig.secure[key]] !== 'undefined') {\n // DO NOT attempt to print options[siteConfig.secure[key]] within `${}` as a malicious script\n // can exploit the logger's attempt to stringify the value and execute arbitrary code\n log.debug(\n `Denied attempt to modify a secure key ${siteConfig.secure[key]}`,\n options[siteConfig.secure[key]]\n );\n delete options[siteConfig.secure[key]];\n }\n });\n\n // Check that there no attempts of prototype pollution\n Object.keys(options).forEach((key) => {\n if (key.indexOf('__') === 0) {\n delete options[key];\n }\n });\n // Check that there no attempts of xss, there should be no tags at all in the directive\n // blocking data urls as base64 urls can contain svgs with inline script tags\n Object.keys(options).forEach((key) => {\n if (typeof options[key] === 'string') {\n if (\n options[key].indexOf('<') > -1 ||\n options[key].indexOf('>') > -1 ||\n options[key].indexOf('url(data:') > -1\n ) {\n delete options[key];\n }\n }\n if (typeof options[key] === 'object') {\n sanitize(options[key]);\n }\n });\n};\n\nexport const addDirective = (directive) => {\n if (directive.fontFamily) {\n if (!directive.themeVariables) {\n directive.themeVariables = { fontFamily: directive.fontFamily };\n } else {\n if (!directive.themeVariables.fontFamily) {\n directive.themeVariables = { fontFamily: directive.fontFamily };\n }\n }\n }\n directives.push(directive);\n updateCurrentConfig(siteConfig, directives);\n};\n\n/**\n *## reset\n *| Function | Description | Type | Required | Values |\n *| --------- | ------------------- | ------- | -------- | ------------------ |\n *| reset|Resets currentConfig to conf| Put Request | Required | None|\n *\n *| Parameter | Description |Type | Required | Values|\n *| --- | --- | --- | --- | --- |\n *| conf| base set of values, which currentConfig coul be **reset** to.| Dictionary | Required | Any Values, with respect to the secure Array|\n *\n **Notes :\n (default: current siteConfig ) (optional, default `getSiteConfig()`)\n * @param conf the base currentConfig to reset to (default: current siteConfig ) (optional, default `getSiteConfig()`)\n */\nexport const reset = () => {\n // Replace current config with siteConfig\n directives = [];\n updateCurrentConfig(siteConfig, directives);\n};\n","import intersectRect from './intersect/intersect-rect';\nimport { log } from '../logger';\nimport createLabel from './createLabel';\nimport { select } from 'd3';\nimport { getConfig } from '../config';\nimport { evaluate } from '../diagrams/common/common';\n\nconst rect = (parent, node) => {\n log.trace('Creating subgraph rect for ', node.id, node);\n\n // Add outer g element\n const shapeSvg = parent\n .insert('g')\n .attr('class', 'cluster' + (node.class ? ' ' + node.class : ''))\n .attr('id', node.id);\n\n // add the rect\n const rect = shapeSvg.insert('rect', ':first-child');\n\n // Create the label and insert it after the rect\n const label = shapeSvg.insert('g').attr('class', 'cluster-label');\n\n const text = label\n .node()\n .appendChild(createLabel(node.labelText, node.labelStyle, undefined, true));\n\n // Get the size of the label\n let bbox = text.getBBox();\n\n if (evaluate(getConfig().flowchart.htmlLabels)) {\n const div = text.children[0];\n const dv = select(text);\n bbox = div.getBoundingClientRect();\n dv.attr('width', bbox.width);\n dv.attr('height', bbox.height);\n }\n\n const padding = 0 * node.padding;\n const halfPadding = padding / 2;\n\n const width = node.width <= bbox.width + padding ? bbox.width + padding : node.width;\n if (node.width <= bbox.width + padding) {\n node.diff = (bbox.width - node.width) / 2;\n } else {\n node.diff = -node.padding / 2;\n }\n\n log.trace('Data ', node, JSON.stringify(node));\n // center the rect around its coordinate\n rect\n .attr('style', node.style)\n .attr('rx', node.rx)\n .attr('ry', node.ry)\n .attr('x', node.x - width / 2)\n .attr('y', node.y - node.height / 2 - halfPadding)\n .attr('width', width)\n .attr('height', node.height + padding);\n\n // Center the label\n label.attr(\n 'transform',\n 'translate(' +\n (node.x - bbox.width / 2) +\n ', ' +\n (node.y - node.height / 2 + node.padding / 3) +\n ')'\n );\n\n const rectBox = rect.node().getBBox();\n node.width = rectBox.width;\n node.height = rectBox.height;\n\n node.intersect = function (point) {\n return intersectRect(node, point);\n };\n\n return shapeSvg;\n};\n\n/**\n * Non visiable cluster where the note is group with its\n */\nconst noteGroup = (parent, node) => {\n // Add outer g element\n const shapeSvg = parent.insert('g').attr('class', 'note-cluster').attr('id', node.id);\n\n // add the rect\n const rect = shapeSvg.insert('rect', ':first-child');\n\n const padding = 0 * node.padding;\n const halfPadding = padding / 2;\n\n // center the rect around its coordinate\n rect\n .attr('rx', node.rx)\n .attr('ry', node.ry)\n .attr('x', node.x - node.width / 2 - halfPadding)\n .attr('y', node.y - node.height / 2 - halfPadding)\n .attr('width', node.width + padding)\n .attr('height', node.height + padding)\n .attr('fill', 'none');\n\n const rectBox = rect.node().getBBox();\n node.width = rectBox.width;\n node.height = rectBox.height;\n\n node.intersect = function (point) {\n return intersectRect(node, point);\n };\n\n return shapeSvg;\n};\nconst roundedWithTitle = (parent, node) => {\n // Add outer g element\n const shapeSvg = parent.insert('g').attr('class', node.classes).attr('id', node.id);\n\n // add the rect\n const rect = shapeSvg.insert('rect', ':first-child');\n\n // Create the label and insert it after the rect\n const label = shapeSvg.insert('g').attr('class', 'cluster-label');\n const innerRect = shapeSvg.append('rect');\n\n const text = label\n .node()\n .appendChild(createLabel(node.labelText, node.labelStyle, undefined, true));\n\n // Get the size of the label\n let bbox = text.getBBox();\n if (evaluate(getConfig().flowchart.htmlLabels)) {\n const div = text.children[0];\n const dv = select(text);\n bbox = div.getBoundingClientRect();\n dv.attr('width', bbox.width);\n dv.attr('height', bbox.height);\n }\n bbox = text.getBBox();\n const padding = 0 * node.padding;\n const halfPadding = padding / 2;\n\n const width = node.width <= bbox.width + node.padding ? bbox.width + node.padding : node.width;\n if (node.width <= bbox.width + node.padding) {\n node.diff = (bbox.width + node.padding * 0 - node.width) / 2;\n } else {\n node.diff = -node.padding / 2;\n }\n\n // center the rect around its coordinate\n rect\n .attr('class', 'outer')\n .attr('x', node.x - width / 2 - halfPadding)\n .attr('y', node.y - node.height / 2 - halfPadding)\n .attr('width', width + padding)\n .attr('height', node.height + padding);\n innerRect\n .attr('class', 'inner')\n .attr('x', node.x - width / 2 - halfPadding)\n .attr('y', node.y - node.height / 2 - halfPadding + bbox.height - 1)\n .attr('width', width + padding)\n .attr('height', node.height + padding - bbox.height - 3);\n\n // Center the label\n label.attr(\n 'transform',\n 'translate(' +\n (node.x - bbox.width / 2) +\n ', ' +\n (node.y -\n node.height / 2 -\n node.padding / 3 +\n (evaluate(getConfig().flowchart.htmlLabels) ? 5 : 3)) +\n ')'\n );\n\n const rectBox = rect.node().getBBox();\n node.height = rectBox.height;\n\n node.intersect = function (point) {\n return intersectRect(node, point);\n };\n\n return shapeSvg;\n};\n\nconst divider = (parent, node) => {\n // Add outer g element\n const shapeSvg = parent.insert('g').attr('class', node.classes).attr('id', node.id);\n\n // add the rect\n const rect = shapeSvg.insert('rect', ':first-child');\n\n const padding = 0 * node.padding;\n const halfPadding = padding / 2;\n\n // center the rect around its coordinate\n rect\n .attr('class', 'divider')\n .attr('x', node.x - node.width / 2 - halfPadding)\n .attr('y', node.y - node.height / 2)\n .attr('width', node.width + padding)\n .attr('height', node.height + padding);\n\n const rectBox = rect.node().getBBox();\n node.width = rectBox.width;\n node.height = rectBox.height;\n node.diff = -node.padding / 2;\n node.intersect = function (point) {\n return intersectRect(node, point);\n };\n\n return shapeSvg;\n};\n\nconst shapes = { rect, roundedWithTitle, noteGroup, divider };\n\nlet clusterElems = {};\n\nexport const insertCluster = (elem, node) => {\n log.trace('Inserting cluster');\n const shape = node.shape || 'rect';\n clusterElems[node.id] = shapes[shape](elem, node);\n};\nexport const getClusterTitleWidth = (elem, node) => {\n const label = createLabel(node.labelText, node.labelStyle, undefined, true);\n elem.node().appendChild(label);\n const width = label.getBBox().width;\n elem.node().removeChild(label);\n return width;\n};\n\nexport const clear = () => {\n clusterElems = {};\n};\n\nexport const positionCluster = (node) => {\n log.info('Position cluster (' + node.id + ', ' + node.x + ', ' + node.y + ')');\n const el = clusterElems[node.id];\n\n el.attr('transform', 'translate(' + node.x + ', ' + node.y + ')');\n};\n","import { select } from 'd3';\nimport { log } from '../logger'; // eslint-disable-line\nimport { evaluate } from '../diagrams/common/common';\n// let vertexNode;\n// if (evaluate(getConfig().flowchart.htmlLabels)) {\n// // TODO: addHtmlLabel accepts a labelStyle. Do we possibly have that?\n// const node = {\n// label: vertexText.replace(/fa[lrsb]?:fa-[\\w-]+/g, s => ``)\n// };\n// vertexNode = addHtmlLabel(svg, node).node();\n// vertexNode.parentNode.removeChild(vertexNode);\n// } else {\n// const svgLabel = document.createElementNS('http://www.w3.org/2000/svg', 'text');\n// svgLabel.setAttribute('style', styles.labelStyle.replace('color:', 'fill:'));\n\n// const rows = vertexText.split(common.lineBreakRegex);\n\n// for (let j = 0; j < rows.length; j++) {\n// const tspan = document.createElementNS('http://www.w3.org/2000/svg', 'tspan');\n// tspan.setAttributeNS('http://www.w3.org/XML/1998/namespace', 'xml:space', 'preserve');\n// tspan.setAttribute('dy', '1em');\n// tspan.setAttribute('x', '1');\n// tspan.textContent = rows[j];\n// svgLabel.appendChild(tspan);\n// }\n// vertexNode = svgLabel;\n// }\nimport { getConfig } from '../config';\n\nfunction applyStyle(dom, styleFn) {\n if (styleFn) {\n dom.attr('style', styleFn);\n }\n}\n\nfunction addHtmlLabel(node) {\n // var fo = root.append('foreignObject').attr('width', '100000');\n\n // var div = fo.append('xhtml:div');\n // div.attr('xmlns', 'http://www.w3.org/1999/xhtml');\n\n // var label = node.label;\n // switch (typeof label) {\n // case 'function':\n // div.insert(label);\n // break;\n // case 'object':\n // // Currently we assume this is a DOM object.\n // div.insert(function() {\n // return label;\n // });\n // break;\n // default:\n // div.html(label);\n // }\n\n // applyStyle(div, node.labelStyle);\n // div.style('display', 'inline-block');\n // // Fix for firefox\n // div.style('white-space', 'nowrap');\n\n // var client = div.node().getBoundingClientRect();\n // fo.attr('width', client.width).attr('height', client.height);\n const fo = select(document.createElementNS('http://www.w3.org/2000/svg', 'foreignObject'));\n const div = fo.append('xhtml:div');\n\n const label = node.label;\n const labelClass = node.isNode ? 'nodeLabel' : 'edgeLabel';\n div.html(\n '' +\n label +\n ''\n );\n\n applyStyle(div, node.labelStyle);\n div.style('display', 'inline-block');\n // Fix for firefox\n div.style('white-space', 'nowrap');\n div.attr('xmlns', 'http://www.w3.org/1999/xhtml');\n return fo.node();\n}\n\nconst createLabel = (_vertexText, style, isTitle, isNode) => {\n let vertexText = _vertexText || '';\n if (typeof vertexText === 'object') vertexText = vertexText[0];\n if (evaluate(getConfig().flowchart.htmlLabels)) {\n // TODO: addHtmlLabel accepts a labelStyle. Do we possibly have that?\n vertexText = vertexText.replace(/\\\\n|\\n/g, '
');\n log.info('vertexText' + vertexText);\n const node = {\n isNode,\n label: vertexText.replace(\n /fa[lrsb]?:fa-[\\w-]+/g,\n (s) => ``\n ),\n labelStyle: style.replace('fill:', 'color:'),\n };\n let vertexNode = addHtmlLabel(node);\n // vertexNode.parentNode.removeChild(vertexNode);\n return vertexNode;\n } else {\n const svgLabel = document.createElementNS('http://www.w3.org/2000/svg', 'text');\n svgLabel.setAttribute('style', style.replace('color:', 'fill:'));\n let rows = [];\n if (typeof vertexText === 'string') {\n rows = vertexText.split(/\\\\n|\\n|/gi);\n } else if (Array.isArray(vertexText)) {\n rows = vertexText;\n } else {\n rows = [];\n }\n\n for (let j = 0; j < rows.length; j++) {\n const tspan = document.createElementNS('http://www.w3.org/2000/svg', 'tspan');\n tspan.setAttributeNS('http://www.w3.org/XML/1998/namespace', 'xml:space', 'preserve');\n tspan.setAttribute('dy', '1em');\n tspan.setAttribute('x', '0');\n if (isTitle) {\n tspan.setAttribute('class', 'title-row');\n } else {\n tspan.setAttribute('class', 'row');\n }\n tspan.textContent = rows[j].trim();\n svgLabel.appendChild(tspan);\n }\n return svgLabel;\n }\n};\n\nexport default createLabel;\n","import { log } from '../logger'; // eslint-disable-line\nimport createLabel from './createLabel';\n// import { line, curveBasis, curveLinear, select } from 'd3';\nimport { line, curveBasis, select } from 'd3';\nimport { getConfig } from '../config';\nimport utils from '../utils';\nimport { evaluate } from '../diagrams/common/common';\n\nlet edgeLabels = {};\nlet terminalLabels = {};\n\nexport const clear = () => {\n edgeLabels = {};\n terminalLabels = {};\n};\n\nexport const insertEdgeLabel = (elem, edge) => {\n // Create the actual text element\n const labelElement = createLabel(edge.label, edge.labelStyle);\n\n // Create outer g, edgeLabel, this will be positioned after graph layout\n const edgeLabel = elem.insert('g').attr('class', 'edgeLabel');\n\n // Create inner g, label, this will be positioned now for centering the text\n const label = edgeLabel.insert('g').attr('class', 'label');\n label.node().appendChild(labelElement);\n\n // Center the label\n let bbox = labelElement.getBBox();\n if (evaluate(getConfig().flowchart.htmlLabels)) {\n const div = labelElement.children[0];\n const dv = select(labelElement);\n bbox = div.getBoundingClientRect();\n dv.attr('width', bbox.width);\n dv.attr('height', bbox.height);\n }\n label.attr('transform', 'translate(' + -bbox.width / 2 + ', ' + -bbox.height / 2 + ')');\n\n // Make element accessible by id for positioning\n edgeLabels[edge.id] = edgeLabel;\n\n // Update the abstract data of the edge with the new information about its width and height\n edge.width = bbox.width;\n edge.height = bbox.height;\n\n let fo;\n if (edge.startLabelLeft) {\n // Create the actual text element\n const startLabelElement = createLabel(edge.startLabelLeft, edge.labelStyle);\n const startEdgeLabelLeft = elem.insert('g').attr('class', 'edgeTerminals');\n const inner = startEdgeLabelLeft.insert('g').attr('class', 'inner');\n fo = inner.node().appendChild(startLabelElement);\n const slBox = startLabelElement.getBBox();\n inner.attr('transform', 'translate(' + -slBox.width / 2 + ', ' + -slBox.height / 2 + ')');\n if (!terminalLabels[edge.id]) {\n terminalLabels[edge.id] = {};\n }\n terminalLabels[edge.id].startLeft = startEdgeLabelLeft;\n setTerminalWidth(fo, edge.startLabelLeft);\n }\n if (edge.startLabelRight) {\n // Create the actual text element\n const startLabelElement = createLabel(edge.startLabelRight, edge.labelStyle);\n const startEdgeLabelRight = elem.insert('g').attr('class', 'edgeTerminals');\n const inner = startEdgeLabelRight.insert('g').attr('class', 'inner');\n fo = startEdgeLabelRight.node().appendChild(startLabelElement);\n inner.node().appendChild(startLabelElement);\n const slBox = startLabelElement.getBBox();\n inner.attr('transform', 'translate(' + -slBox.width / 2 + ', ' + -slBox.height / 2 + ')');\n\n if (!terminalLabels[edge.id]) {\n terminalLabels[edge.id] = {};\n }\n terminalLabels[edge.id].startRight = startEdgeLabelRight;\n setTerminalWidth(fo, edge.startLabelRight);\n }\n if (edge.endLabelLeft) {\n // Create the actual text element\n const endLabelElement = createLabel(edge.endLabelLeft, edge.labelStyle);\n const endEdgeLabelLeft = elem.insert('g').attr('class', 'edgeTerminals');\n const inner = endEdgeLabelLeft.insert('g').attr('class', 'inner');\n fo = inner.node().appendChild(endLabelElement);\n const slBox = endLabelElement.getBBox();\n inner.attr('transform', 'translate(' + -slBox.width / 2 + ', ' + -slBox.height / 2 + ')');\n\n endEdgeLabelLeft.node().appendChild(endLabelElement);\n\n if (!terminalLabels[edge.id]) {\n terminalLabels[edge.id] = {};\n }\n terminalLabels[edge.id].endLeft = endEdgeLabelLeft;\n setTerminalWidth(fo, edge.endLabelLeft);\n }\n if (edge.endLabelRight) {\n // Create the actual text element\n const endLabelElement = createLabel(edge.endLabelRight, edge.labelStyle);\n const endEdgeLabelRight = elem.insert('g').attr('class', 'edgeTerminals');\n const inner = endEdgeLabelRight.insert('g').attr('class', 'inner');\n\n fo = inner.node().appendChild(endLabelElement);\n const slBox = endLabelElement.getBBox();\n inner.attr('transform', 'translate(' + -slBox.width / 2 + ', ' + -slBox.height / 2 + ')');\n\n endEdgeLabelRight.node().appendChild(endLabelElement);\n if (!terminalLabels[edge.id]) {\n terminalLabels[edge.id] = {};\n }\n terminalLabels[edge.id].endRight = endEdgeLabelRight;\n setTerminalWidth(fo, edge.endLabelRight);\n }\n};\n\nfunction setTerminalWidth(fo, value) {\n if (getConfig().flowchart.htmlLabels && fo) {\n fo.style.width = value.length * 9 + 'px';\n fo.style.height = '12px';\n }\n}\n\nexport const positionEdgeLabel = (edge, paths) => {\n log.info('Moving label abc78 ', edge.id, edge.label, edgeLabels[edge.id]);\n let path = paths.updatedPath ? paths.updatedPath : paths.originalPath;\n if (edge.label) {\n const el = edgeLabels[edge.id];\n let x = edge.x;\n let y = edge.y;\n if (path) {\n // // debugger;\n const pos = utils.calcLabelPosition(path);\n log.info('Moving label from (', x, ',', y, ') to (', pos.x, ',', pos.y, ') abc78');\n // x = pos.x;\n // y = pos.y;\n }\n el.attr('transform', 'translate(' + x + ', ' + y + ')');\n }\n\n //let path = paths.updatedPath ? paths.updatedPath : paths.originalPath;\n if (edge.startLabelLeft) {\n const el = terminalLabels[edge.id].startLeft;\n let x = edge.x;\n let y = edge.y;\n if (path) {\n // debugger;\n const pos = utils.calcTerminalLabelPosition(edge.arrowTypeStart ? 10 : 0, 'start_left', path);\n x = pos.x;\n y = pos.y;\n }\n el.attr('transform', 'translate(' + x + ', ' + y + ')');\n }\n if (edge.startLabelRight) {\n const el = terminalLabels[edge.id].startRight;\n let x = edge.x;\n let y = edge.y;\n if (path) {\n // debugger;\n const pos = utils.calcTerminalLabelPosition(\n edge.arrowTypeStart ? 10 : 0,\n 'start_right',\n path\n );\n x = pos.x;\n y = pos.y;\n }\n el.attr('transform', 'translate(' + x + ', ' + y + ')');\n }\n if (edge.endLabelLeft) {\n const el = terminalLabels[edge.id].endLeft;\n let x = edge.x;\n let y = edge.y;\n if (path) {\n // debugger;\n const pos = utils.calcTerminalLabelPosition(edge.arrowTypeEnd ? 10 : 0, 'end_left', path);\n x = pos.x;\n y = pos.y;\n }\n el.attr('transform', 'translate(' + x + ', ' + y + ')');\n }\n if (edge.endLabelRight) {\n const el = terminalLabels[edge.id].endRight;\n let x = edge.x;\n let y = edge.y;\n if (path) {\n // debugger;\n const pos = utils.calcTerminalLabelPosition(edge.arrowTypeEnd ? 10 : 0, 'end_right', path);\n x = pos.x;\n y = pos.y;\n }\n el.attr('transform', 'translate(' + x + ', ' + y + ')');\n }\n};\n\n// const getRelationType = function(type) {\n// switch (type) {\n// case stateDb.relationType.AGGREGATION:\n// return 'aggregation';\n// case stateDb.relationType.EXTENSION:\n// return 'extension';\n// case stateDb.relationType.COMPOSITION:\n// return 'composition';\n// case stateDb.relationType.DEPENDENCY:\n// return 'dependency';\n// }\n// };\n\nconst outsideNode = (node, point) => {\n // log.warn('Checking bounds ', node, point);\n const x = node.x;\n const y = node.y;\n const dx = Math.abs(point.x - x);\n const dy = Math.abs(point.y - y);\n const w = node.width / 2;\n const h = node.height / 2;\n if (dx >= w || dy >= h) {\n return true;\n }\n return false;\n};\n\nexport const intersection = (node, outsidePoint, insidePoint) => {\n log.warn(`intersection calc abc89:\n outsidePoint: ${JSON.stringify(outsidePoint)}\n insidePoint : ${JSON.stringify(insidePoint)}\n node : x:${node.x} y:${node.y} w:${node.width} h:${node.height}`);\n const x = node.x;\n const y = node.y;\n\n const dx = Math.abs(x - insidePoint.x);\n // const dy = Math.abs(y - insidePoint.y);\n const w = node.width / 2;\n let r = insidePoint.x < outsidePoint.x ? w - dx : w + dx;\n const h = node.height / 2;\n\n // const edges = {\n // x1: x - w,\n // x2: x + w,\n // y1: y - h,\n // y2: y + h\n // };\n\n // if (\n // outsidePoint.x === edges.x1 ||\n // outsidePoint.x === edges.x2 ||\n // outsidePoint.y === edges.y1 ||\n // outsidePoint.y === edges.y2\n // ) {\n // log.warn('abc89 calc equals on edge', outsidePoint, edges);\n // return outsidePoint;\n // }\n\n const Q = Math.abs(outsidePoint.y - insidePoint.y);\n const R = Math.abs(outsidePoint.x - insidePoint.x);\n // log.warn();\n if (Math.abs(y - outsidePoint.y) * w > Math.abs(x - outsidePoint.x) * h) { // eslint-disable-line\n // Intersection is top or bottom of rect.\n // let q = insidePoint.y < outsidePoint.y ? outsidePoint.y - h - y : y - h - outsidePoint.y;\n let q = insidePoint.y < outsidePoint.y ? outsidePoint.y - h - y : y - h - outsidePoint.y;\n r = (R * q) / Q;\n const res = {\n x: insidePoint.x < outsidePoint.x ? insidePoint.x + r : insidePoint.x - R + r,\n y: insidePoint.y < outsidePoint.y ? insidePoint.y + Q - q : insidePoint.y - Q + q,\n };\n\n if (r === 0) {\n res.x = outsidePoint.x;\n res.y = outsidePoint.y;\n }\n if (R === 0) {\n res.x = outsidePoint.x;\n }\n if (Q === 0) {\n res.y = outsidePoint.y;\n }\n\n log.warn(`abc89 topp/bott calc, Q ${Q}, q ${q}, R ${R}, r ${r}`, res);\n\n return res;\n } else {\n // Intersection onn sides of rect\n if (insidePoint.x < outsidePoint.x) {\n r = outsidePoint.x - w - x;\n } else {\n // r = outsidePoint.x - w - x;\n r = x - w - outsidePoint.x;\n }\n let q = (Q * r) / R;\n // OK let _x = insidePoint.x < outsidePoint.x ? insidePoint.x + R - r : insidePoint.x + dx - w;\n // OK let _x = insidePoint.x < outsidePoint.x ? insidePoint.x + R - r : outsidePoint.x + r;\n let _x = insidePoint.x < outsidePoint.x ? insidePoint.x + R - r : insidePoint.x - R + r;\n // let _x = insidePoint.x < outsidePoint.x ? insidePoint.x + R - r : outsidePoint.x + r;\n let _y = insidePoint.y < outsidePoint.y ? insidePoint.y + q : insidePoint.y - q;\n log.warn(`sides calc abc89, Q ${Q}, q ${q}, R ${R}, r ${r}`, { _x, _y });\n if (r === 0) {\n _x = outsidePoint.x;\n _y = outsidePoint.y;\n }\n if (R === 0) {\n _x = outsidePoint.x;\n }\n if (Q === 0) {\n _y = outsidePoint.y;\n }\n\n return { x: _x, y: _y };\n }\n};\n/**\n * This function will page a path and node where the last point(s) in the path is inside the node\n * and return an update path ending by the border of the node.\n * @param {*} points\n * @param {*} boundryNode\n * @returns\n */\nconst cutPathAtIntersect = (_points, boundryNode) => {\n log.warn('abc88 cutPathAtIntersect', _points, boundryNode);\n let points = [];\n let lastPointOutside = _points[0];\n let isInside = false;\n _points.forEach((point) => {\n // const node = clusterDb[edge.toCluster].node;\n log.info('abc88 checking point', point, boundryNode);\n\n // check if point is inside the boundry rect\n if (!outsideNode(boundryNode, point) && !isInside) {\n // First point inside the rect found\n // Calc the intersection coord between the point anf the last opint ouside the rect\n const inter = intersection(boundryNode, lastPointOutside, point);\n log.warn('abc88 inside', point, lastPointOutside, inter);\n log.warn('abc88 intersection', inter);\n\n // // Check case where the intersection is the same as the last point\n let pointPresent = false;\n points.forEach((p) => {\n pointPresent = pointPresent || (p.x === inter.x && p.y === inter.y);\n });\n // // if (!pointPresent) {\n if (!points.find((e) => e.x === inter.x && e.y === inter.y)) {\n points.push(inter);\n } else {\n log.warn('abc88 no intersect', inter, points);\n }\n // points.push(inter);\n isInside = true;\n } else {\n // Outside\n log.warn('abc88 outside', point, lastPointOutside);\n lastPointOutside = point;\n // points.push(point);\n if (!isInside) points.push(point);\n }\n });\n log.warn('abc88 returning points', points);\n return points;\n};\n\n//(edgePaths, e, edge, clusterDb, diagramtype, graph)\nexport const insertEdge = function (elem, e, edge, clusterDb, diagramType, graph) {\n let points = edge.points;\n let pointsHasChanged = false;\n const tail = graph.node(e.v);\n var head = graph.node(e.w);\n\n log.info('abc88 InsertEdge: ', edge);\n if (head.intersect && tail.intersect) {\n points = points.slice(1, edge.points.length - 1);\n points.unshift(tail.intersect(points[0]));\n log.info(\n 'Last point',\n points[points.length - 1],\n head,\n head.intersect(points[points.length - 1])\n );\n points.push(head.intersect(points[points.length - 1]));\n }\n if (edge.toCluster) {\n log.info('to cluster abc88', clusterDb[edge.toCluster]);\n points = cutPathAtIntersect(edge.points, clusterDb[edge.toCluster].node);\n // log.trace('edge', edge);\n // points = [];\n // let lastPointOutside; // = edge.points[0];\n // let isInside = false;\n // edge.points.forEach(point => {\n // const node = clusterDb[edge.toCluster].node;\n // log.warn('checking from', edge.fromCluster, point, node);\n\n // if (!outsideNode(node, point) && !isInside) {\n // log.trace('inside', edge.toCluster, point, lastPointOutside);\n\n // // First point inside the rect\n // const inter = intersection(node, lastPointOutside, point);\n\n // let pointPresent = false;\n // points.forEach(p => {\n // pointPresent = pointPresent || (p.x === inter.x && p.y === inter.y);\n // });\n // // if (!pointPresent) {\n // if (!points.find(e => e.x === inter.x && e.y === inter.y)) {\n // points.push(inter);\n // } else {\n // log.warn('no intersect', inter, points);\n // }\n // isInside = true;\n // } else {\n // // outtside\n // lastPointOutside = point;\n // if (!isInside) points.push(point);\n // }\n // });\n pointsHasChanged = true;\n }\n\n if (edge.fromCluster) {\n log.info('from cluster abc88', clusterDb[edge.fromCluster]);\n points = cutPathAtIntersect(points.reverse(), clusterDb[edge.fromCluster].node).reverse();\n // log.warn('edge', edge);\n // log.warn('from cluster', clusterDb[edge.fromCluster], points);\n // const updatedPoints = [];\n // let lastPointOutside = edge.points[edge.points.length - 1];\n // let isInside = false;\n // for (let i = points.length - 1; i >= 0; i--) {\n // const point = points[i];\n // const node = clusterDb[edge.fromCluster].node;\n // log.warn('checking to', edge.fromCluster, point, node);\n\n // if (!outsideNode(node, point) && !isInside) {\n // log.warn('inside', edge.fromCluster, point, node);\n\n // // First point inside the rect\n // const inter = intersection(node, lastPointOutside, point);\n // log.warn('intersect', intersection(node, lastPointOutside, point));\n // let pointPresent = false;\n // points.forEach(p => {\n // pointPresent = pointPresent || (p.x === inter.x && p.y === inter.y);\n // });\n // // if (!pointPresent) {\n // if (!points.find(e => e.x === inter.x && e.y === inter.y)) {\n // updatedPoints.unshift(inter);\n // log.warn('Adding point -updated = ', updatedPoints);\n // } else {\n // log.warn('no intersect', inter, points);\n // }\n // // points.push(insterection);\n // isInside = true;\n // } else {\n // // at the outside\n // // if (!isInside) updatedPoints.unshift(point);\n // updatedPoints.unshift(point);\n // log.warn('Outside point', point, updatedPoints);\n // }\n // lastPointOutside = point;\n // }\n // points = updatedPoints;\n // points = edge.points;\n pointsHasChanged = true;\n }\n\n // The data for our line\n const lineData = points.filter((p) => !Number.isNaN(p.y));\n\n // This is the accessor function we talked about above\n let curve;\n // Currently only flowcharts get the curve from the settings, perhaps this should\n // be expanded to a common setting? Restricting it for now in order not to cause side-effects that\n // have not been thought through\n if (diagramType === 'graph' || diagramType === 'flowchart') {\n curve = edge.curve || curveBasis;\n } else {\n curve = curveBasis;\n }\n // curve = curveLinear;\n const lineFunction = line()\n .x(function (d) {\n return d.x;\n })\n .y(function (d) {\n return d.y;\n })\n .curve(curve);\n\n // Contruct stroke classes based on properties\n let strokeClasses;\n switch (edge.thickness) {\n case 'normal':\n strokeClasses = 'edge-thickness-normal';\n break;\n case 'thick':\n strokeClasses = 'edge-thickness-thick';\n break;\n default:\n strokeClasses = '';\n }\n switch (edge.pattern) {\n case 'solid':\n strokeClasses += ' edge-pattern-solid';\n break;\n case 'dotted':\n strokeClasses += ' edge-pattern-dotted';\n break;\n case 'dashed':\n strokeClasses += ' edge-pattern-dashed';\n break;\n }\n\n const svgPath = elem\n .append('path')\n .attr('d', lineFunction(lineData))\n .attr('id', edge.id)\n .attr('class', ' ' + strokeClasses + (edge.classes ? ' ' + edge.classes : ''))\n .attr('style', edge.style);\n\n // DEBUG code, adds a red circle at each edge coordinate\n // edge.points.forEach(point => {\n // elem\n // .append('circle')\n // .style('stroke', 'red')\n // .style('fill', 'red')\n // .attr('r', 1)\n // .attr('cx', point.x)\n // .attr('cy', point.y);\n // });\n\n let url = '';\n if (getConfig().state.arrowMarkerAbsolute) {\n url =\n window.location.protocol +\n '//' +\n window.location.host +\n window.location.pathname +\n window.location.search;\n url = url.replace(/\\(/g, '\\\\(');\n url = url.replace(/\\)/g, '\\\\)');\n }\n log.info('arrowTypeStart', edge.arrowTypeStart);\n log.info('arrowTypeEnd', edge.arrowTypeEnd);\n\n switch (edge.arrowTypeStart) {\n case 'arrow_cross':\n svgPath.attr('marker-start', 'url(' + url + '#' + diagramType + '-crossStart' + ')');\n break;\n case 'arrow_point':\n svgPath.attr('marker-start', 'url(' + url + '#' + diagramType + '-pointStart' + ')');\n break;\n case 'arrow_barb':\n svgPath.attr('marker-start', 'url(' + url + '#' + diagramType + '-barbStart' + ')');\n break;\n case 'arrow_circle':\n svgPath.attr('marker-start', 'url(' + url + '#' + diagramType + '-circleStart' + ')');\n break;\n case 'aggregation':\n svgPath.attr('marker-start', 'url(' + url + '#' + diagramType + '-aggregationStart' + ')');\n break;\n case 'extension':\n svgPath.attr('marker-start', 'url(' + url + '#' + diagramType + '-extensionStart' + ')');\n break;\n case 'composition':\n svgPath.attr('marker-start', 'url(' + url + '#' + diagramType + '-compositionStart' + ')');\n break;\n case 'dependency':\n svgPath.attr('marker-start', 'url(' + url + '#' + diagramType + '-dependencyStart' + ')');\n break;\n default:\n }\n switch (edge.arrowTypeEnd) {\n case 'arrow_cross':\n svgPath.attr('marker-end', 'url(' + url + '#' + diagramType + '-crossEnd' + ')');\n break;\n case 'arrow_point':\n svgPath.attr('marker-end', 'url(' + url + '#' + diagramType + '-pointEnd' + ')');\n break;\n case 'arrow_barb':\n svgPath.attr('marker-end', 'url(' + url + '#' + diagramType + '-barbEnd' + ')');\n break;\n case 'arrow_circle':\n svgPath.attr('marker-end', 'url(' + url + '#' + diagramType + '-circleEnd' + ')');\n break;\n case 'aggregation':\n svgPath.attr('marker-end', 'url(' + url + '#' + diagramType + '-aggregationEnd' + ')');\n break;\n case 'extension':\n svgPath.attr('marker-end', 'url(' + url + '#' + diagramType + '-extensionEnd' + ')');\n break;\n case 'composition':\n svgPath.attr('marker-end', 'url(' + url + '#' + diagramType + '-compositionEnd' + ')');\n break;\n case 'dependency':\n svgPath.attr('marker-end', 'url(' + url + '#' + diagramType + '-dependencyEnd' + ')');\n break;\n default:\n }\n let paths = {};\n if (pointsHasChanged) {\n paths.updatedPath = points;\n }\n paths.originalPath = edge.points;\n return paths;\n};\n","import dagre from 'dagre';\nimport graphlib from 'graphlib';\nimport insertMarkers from './markers';\nimport { updateNodeBounds } from './shapes/util';\nimport {\n clear as clearGraphlib,\n clusterDb,\n adjustClustersAndEdges,\n findNonClusterChild,\n sortNodesByHierarchy,\n} from './mermaid-graphlib';\nimport { insertNode, positionNode, clear as clearNodes, setNodeElem } from './nodes';\nimport { insertCluster, clear as clearClusters } from './clusters';\nimport { insertEdgeLabel, positionEdgeLabel, insertEdge, clear as clearEdges } from './edges';\nimport { log } from '../logger';\n\nconst recursiveRender = (_elem, graph, diagramtype, parentCluster) => {\n log.info('Graph in recursive render: XXX', graphlib.json.write(graph), parentCluster);\n const dir = graph.graph().rankdir;\n log.trace('Dir in recursive render - dir:', dir);\n\n const elem = _elem.insert('g').attr('class', 'root'); // eslint-disable-line\n if (!graph.nodes()) {\n log.info('No nodes found for', graph);\n } else {\n log.info('Recursive render XXX', graph.nodes());\n }\n if (graph.edges().length > 0) {\n log.trace('Recursive edges', graph.edge(graph.edges()[0]));\n }\n const clusters = elem.insert('g').attr('class', 'clusters'); // eslint-disable-line\n const edgePaths = elem.insert('g').attr('class', 'edgePaths');\n const edgeLabels = elem.insert('g').attr('class', 'edgeLabels');\n const nodes = elem.insert('g').attr('class', 'nodes');\n\n // Insert nodes, this will insert them into the dom and each node will get a size. The size is updated\n // to the abstract node and is later used by dagre for the layout\n graph.nodes().forEach(function (v) {\n const node = graph.node(v);\n if (typeof parentCluster !== 'undefined') {\n const data = JSON.parse(JSON.stringify(parentCluster.clusterData));\n // data.clusterPositioning = true;\n log.info('Setting data for cluster XXX (', v, ') ', data, parentCluster);\n graph.setNode(parentCluster.id, data);\n if (!graph.parent(v)) {\n log.trace('Setting parent', v, parentCluster.id);\n graph.setParent(v, parentCluster.id, data);\n }\n }\n log.info('(Insert) Node XXX' + v + ': ' + JSON.stringify(graph.node(v)));\n if (node && node.clusterNode) {\n // const children = graph.children(v);\n log.info('Cluster identified', v, node.width, graph.node(v));\n const o = recursiveRender(nodes, node.graph, diagramtype, graph.node(v));\n const newEl = o.elem;\n updateNodeBounds(node, newEl);\n node.diff = o.diff || 0;\n log.info('Node bounds (abc123)', v, node, node.width, node.x, node.y);\n setNodeElem(newEl, node);\n\n log.warn('Recursive render complete ', newEl, node);\n } else {\n if (graph.children(v).length > 0) {\n // This is a cluster but not to be rendered recusively\n // Render as before\n log.info('Cluster - the non recursive path XXX', v, node.id, node, graph);\n log.info(findNonClusterChild(node.id, graph));\n clusterDb[node.id] = { id: findNonClusterChild(node.id, graph), node };\n // insertCluster(clusters, graph.node(v));\n } else {\n log.info('Node - the non recursive path', v, node.id, node);\n insertNode(nodes, graph.node(v), dir);\n }\n }\n });\n\n // Insert labels, this will insert them into the dom so that the width can be calculated\n // Also figure out which edges point to/from clusters and adjust them accordingly\n // Edges from/to clusters really points to the first child in the cluster.\n // TODO: pick optimal child in the cluster to us as link anchor\n graph.edges().forEach(function (e) {\n const edge = graph.edge(e.v, e.w, e.name);\n log.info('Edge ' + e.v + ' -> ' + e.w + ': ' + JSON.stringify(e));\n log.info('Edge ' + e.v + ' -> ' + e.w + ': ', e, ' ', JSON.stringify(graph.edge(e)));\n\n // Check if link is either from or to a cluster\n log.info('Fix', clusterDb, 'ids:', e.v, e.w, 'Translateing: ', clusterDb[e.v], clusterDb[e.w]);\n insertEdgeLabel(edgeLabels, edge);\n });\n\n graph.edges().forEach(function (e) {\n log.info('Edge ' + e.v + ' -> ' + e.w + ': ' + JSON.stringify(e));\n });\n log.info('#############################################');\n log.info('### Layout ###');\n log.info('#############################################');\n log.info(graph);\n dagre.layout(graph);\n log.info('Graph after layout:', graphlib.json.write(graph));\n // Move the nodes to the correct place\n let diff = 0;\n sortNodesByHierarchy(graph).forEach(function (v) {\n const node = graph.node(v);\n log.info('Position ' + v + ': ' + JSON.stringify(graph.node(v)));\n log.info(\n 'Position ' + v + ': (' + node.x,\n ',' + node.y,\n ') width: ',\n node.width,\n ' height: ',\n node.height\n );\n if (node && node.clusterNode) {\n // clusterDb[node.id].node = node;\n\n positionNode(node);\n } else {\n // Non cluster node\n if (graph.children(v).length > 0) {\n // A cluster in the non-recurive way\n // positionCluster(node);\n insertCluster(clusters, node);\n clusterDb[node.id].node = node;\n } else {\n positionNode(node);\n }\n }\n });\n\n // Move the edge labels to the correct place after layout\n graph.edges().forEach(function (e) {\n const edge = graph.edge(e);\n log.info('Edge ' + e.v + ' -> ' + e.w + ': ' + JSON.stringify(edge), edge);\n\n const paths = insertEdge(edgePaths, e, edge, clusterDb, diagramtype, graph);\n positionEdgeLabel(edge, paths);\n });\n\n graph.nodes().forEach(function (v) {\n const n = graph.node(v);\n log.info(v, n.type, n.diff);\n if (n.type === 'group') {\n diff = n.diff;\n }\n });\n return { elem, diff };\n};\n\nexport const render = (elem, graph, markers, diagramtype, id) => {\n insertMarkers(elem, markers, diagramtype, id);\n clearNodes();\n clearEdges();\n clearClusters();\n clearGraphlib();\n\n log.warn('Graph at first:', graphlib.json.write(graph));\n adjustClustersAndEdges(graph);\n log.warn('Graph after:', graphlib.json.write(graph));\n // log.warn('Graph ever after:', graphlib.json.write(graph.node('A').graph));\n recursiveRender(elem, graph, diagramtype);\n};\n\n// const shapeDefinitions = {};\n// export const addShape = ({ shapeType: fun }) => {\n// shapeDefinitions[shapeType] = fun;\n// };\n\n// const arrowDefinitions = {};\n// export const addArrow = ({ arrowType: fun }) => {\n// arrowDefinitions[arrowType] = fun;\n// };\n","/*\n * Borrowed with love from from dagrge-d3. Many thanks to cpettitt!\n */\n\nimport node from './intersect-node.js';\nimport circle from './intersect-circle.js';\nimport ellipse from './intersect-ellipse.js';\nimport polygon from './intersect-polygon.js';\nimport rect from './intersect-rect.js';\n\nexport default {\n node,\n circle,\n ellipse,\n polygon,\n rect,\n};\n","import intersectEllipse from './intersect-ellipse';\r\n\r\nfunction intersectCircle(node, rx, point) {\r\n return intersectEllipse(node, rx, rx, point);\r\n}\r\n\r\nexport default intersectCircle;\r\n","function intersectEllipse(node, rx, ry, point) {\r\n // Formulae from: http://mathworld.wolfram.com/Ellipse-LineIntersection.html\r\n\r\n var cx = node.x;\r\n var cy = node.y;\r\n\r\n var px = cx - point.x;\r\n var py = cy - point.y;\r\n\r\n var det = Math.sqrt(rx * rx * py * py + ry * ry * px * px);\r\n\r\n var dx = Math.abs((rx * ry * px) / det);\r\n if (point.x < cx) {\r\n dx = -dx;\r\n }\r\n var dy = Math.abs((rx * ry * py) / det);\r\n if (point.y < cy) {\r\n dy = -dy;\r\n }\r\n\r\n return { x: cx + dx, y: cy + dy };\r\n}\r\n\r\nexport default intersectEllipse;\r\n","/*\r\n * Returns the point at which two lines, p and q, intersect or returns\r\n * undefined if they do not intersect.\r\n */\r\nfunction intersectLine(p1, p2, q1, q2) {\r\n // Algorithm from J. Avro, (ed.) Graphics Gems, No 2, Morgan Kaufmann, 1994,\r\n // p7 and p473.\r\n\r\n var a1, a2, b1, b2, c1, c2;\r\n var r1, r2, r3, r4;\r\n var denom, offset, num;\r\n var x, y;\r\n\r\n // Compute a1, b1, c1, where line joining points 1 and 2 is F(x,y) = a1 x +\r\n // b1 y + c1 = 0.\r\n a1 = p2.y - p1.y;\r\n b1 = p1.x - p2.x;\r\n c1 = p2.x * p1.y - p1.x * p2.y;\r\n\r\n // Compute r3 and r4.\r\n r3 = a1 * q1.x + b1 * q1.y + c1;\r\n r4 = a1 * q2.x + b1 * q2.y + c1;\r\n\r\n // Check signs of r3 and r4. If both point 3 and point 4 lie on\r\n // same side of line 1, the line segments do not intersect.\r\n if (r3 !== 0 && r4 !== 0 && sameSign(r3, r4)) {\r\n return /*DONT_INTERSECT*/;\r\n }\r\n\r\n // Compute a2, b2, c2 where line joining points 3 and 4 is G(x,y) = a2 x + b2 y + c2 = 0\r\n a2 = q2.y - q1.y;\r\n b2 = q1.x - q2.x;\r\n c2 = q2.x * q1.y - q1.x * q2.y;\r\n\r\n // Compute r1 and r2\r\n r1 = a2 * p1.x + b2 * p1.y + c2;\r\n r2 = a2 * p2.x + b2 * p2.y + c2;\r\n\r\n // Check signs of r1 and r2. If both point 1 and point 2 lie\r\n // on same side of second line segment, the line segments do\r\n // not intersect.\r\n if (r1 !== 0 && r2 !== 0 && sameSign(r1, r2)) {\r\n return /*DONT_INTERSECT*/;\r\n }\r\n\r\n // Line segments intersect: compute intersection point.\r\n denom = a1 * b2 - a2 * b1;\r\n if (denom === 0) {\r\n return /*COLLINEAR*/;\r\n }\r\n\r\n offset = Math.abs(denom / 2);\r\n\r\n // The denom/2 is to get rounding instead of truncating. It\r\n // is added or subtracted to the numerator, depending upon the\r\n // sign of the numerator.\r\n num = b1 * c2 - b2 * c1;\r\n x = num < 0 ? (num - offset) / denom : (num + offset) / denom;\r\n\r\n num = a2 * c1 - a1 * c2;\r\n y = num < 0 ? (num - offset) / denom : (num + offset) / denom;\r\n\r\n return { x: x, y: y };\r\n}\r\n\r\nfunction sameSign(r1, r2) {\r\n return r1 * r2 > 0;\r\n}\r\n\r\nexport default intersectLine;\r\n","module.exports = intersectNode;\r\n\r\nfunction intersectNode(node, point) {\r\n // console.info('Intersect Node');\r\n return node.intersect(point);\r\n}\r\n","/* eslint \"no-console\": off */\n\nimport intersectLine from './intersect-line';\n\nexport default intersectPolygon;\n\n/*\n * Returns the point ({x, y}) at which the point argument intersects with the\n * node argument assuming that it has the shape specified by polygon.\n */\nfunction intersectPolygon(node, polyPoints, point) {\n var x1 = node.x;\n var y1 = node.y;\n\n var intersections = [];\n\n var minX = Number.POSITIVE_INFINITY;\n var minY = Number.POSITIVE_INFINITY;\n if (typeof polyPoints.forEach === 'function') {\n polyPoints.forEach(function (entry) {\n minX = Math.min(minX, entry.x);\n minY = Math.min(minY, entry.y);\n });\n } else {\n minX = Math.min(minX, polyPoints.x);\n minY = Math.min(minY, polyPoints.y);\n }\n\n var left = x1 - node.width / 2 - minX;\n var top = y1 - node.height / 2 - minY;\n\n for (var i = 0; i < polyPoints.length; i++) {\n var p1 = polyPoints[i];\n var p2 = polyPoints[i < polyPoints.length - 1 ? i + 1 : 0];\n var intersect = intersectLine(\n node,\n point,\n { x: left + p1.x, y: top + p1.y },\n { x: left + p2.x, y: top + p2.y }\n );\n if (intersect) {\n intersections.push(intersect);\n }\n }\n\n if (!intersections.length) {\n // console.log('NO INTERSECTION FOUND, RETURN NODE CENTER', node);\n return node;\n }\n\n if (intersections.length > 1) {\n // More intersections, find the one nearest to edge end point\n intersections.sort(function (p, q) {\n var pdx = p.x - point.x;\n var pdy = p.y - point.y;\n var distp = Math.sqrt(pdx * pdx + pdy * pdy);\n\n var qdx = q.x - point.x;\n var qdy = q.y - point.y;\n var distq = Math.sqrt(qdx * qdx + qdy * qdy);\n\n return distp < distq ? -1 : distp === distq ? 0 : 1;\n });\n }\n return intersections[0];\n}\n","const intersectRect = (node, point) => {\r\n var x = node.x;\r\n var y = node.y;\r\n\r\n // Rectangle intersection algorithm from:\r\n // http://math.stackexchange.com/questions/108113/find-edge-between-two-boxes\r\n var dx = point.x - x;\r\n var dy = point.y - y;\r\n var w = node.width / 2;\r\n var h = node.height / 2;\r\n\r\n var sx, sy;\r\n if (Math.abs(dy) * w > Math.abs(dx) * h) {\r\n // Intersection is top or bottom of rect.\r\n if (dy < 0) {\r\n h = -h;\r\n }\r\n sx = dy === 0 ? 0 : (h * dx) / dy;\r\n sy = h;\r\n } else {\r\n // Intersection is left or right of rect.\r\n if (dx < 0) {\r\n w = -w;\r\n }\r\n sx = w;\r\n sy = dx === 0 ? 0 : (w * dy) / dx;\r\n }\r\n\r\n return { x: x + sx, y: y + sy };\r\n};\r\n\r\nexport default intersectRect;\r\n","/**\n * Setup arrow head and define the marker. The result is appended to the svg.\n */\n\nimport { log } from '../logger';\n\n// Only add the number of markers that the diagram needs\nconst insertMarkers = (elem, markerArray, type, id) => {\n markerArray.forEach((markerName) => {\n markers[markerName](elem, type, id);\n });\n};\n\nconst extension = (elem, type, id) => {\n log.trace('Making markers for ', id);\n elem\n .append('defs')\n .append('marker')\n .attr('id', type + '-extensionStart')\n .attr('class', 'marker extension ' + type)\n .attr('refX', 0)\n .attr('refY', 7)\n .attr('markerWidth', 190)\n .attr('markerHeight', 240)\n .attr('orient', 'auto')\n .append('path')\n .attr('d', 'M 1,7 L18,13 V 1 Z');\n\n elem\n .append('defs')\n .append('marker')\n .attr('id', type + '-extensionEnd')\n .attr('class', 'marker extension ' + type)\n .attr('refX', 19)\n .attr('refY', 7)\n .attr('markerWidth', 20)\n .attr('markerHeight', 28)\n .attr('orient', 'auto')\n .append('path')\n .attr('d', 'M 1,1 V 13 L18,7 Z'); // this is actual shape for arrowhead\n};\n\nconst composition = (elem, type) => {\n elem\n .append('defs')\n .append('marker')\n .attr('id', type + '-compositionStart')\n .attr('class', 'marker composition ' + type)\n .attr('refX', 0)\n .attr('refY', 7)\n .attr('markerWidth', 190)\n .attr('markerHeight', 240)\n .attr('orient', 'auto')\n .append('path')\n .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z');\n\n elem\n .append('defs')\n .append('marker')\n .attr('id', type + '-compositionEnd')\n .attr('class', 'marker composition ' + type)\n .attr('refX', 19)\n .attr('refY', 7)\n .attr('markerWidth', 20)\n .attr('markerHeight', 28)\n .attr('orient', 'auto')\n .append('path')\n .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z');\n};\nconst aggregation = (elem, type) => {\n elem\n .append('defs')\n .append('marker')\n .attr('id', type + '-aggregationStart')\n .attr('class', 'marker aggregation ' + type)\n .attr('refX', 0)\n .attr('refY', 7)\n .attr('markerWidth', 190)\n .attr('markerHeight', 240)\n .attr('orient', 'auto')\n .append('path')\n .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z');\n\n elem\n .append('defs')\n .append('marker')\n .attr('id', type + '-aggregationEnd')\n .attr('class', 'marker aggregation ' + type)\n .attr('refX', 19)\n .attr('refY', 7)\n .attr('markerWidth', 20)\n .attr('markerHeight', 28)\n .attr('orient', 'auto')\n .append('path')\n .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z');\n};\nconst dependency = (elem, type) => {\n elem\n .append('defs')\n .append('marker')\n .attr('id', type + '-dependencyStart')\n .attr('class', 'marker dependency ' + type)\n .attr('refX', 0)\n .attr('refY', 7)\n .attr('markerWidth', 190)\n .attr('markerHeight', 240)\n .attr('orient', 'auto')\n .append('path')\n .attr('d', 'M 5,7 L9,13 L1,7 L9,1 Z');\n\n elem\n .append('defs')\n .append('marker')\n .attr('id', type + '-dependencyEnd')\n .attr('class', 'marker dependency ' + type)\n .attr('refX', 19)\n .attr('refY', 7)\n .attr('markerWidth', 20)\n .attr('markerHeight', 28)\n .attr('orient', 'auto')\n .append('path')\n .attr('d', 'M 18,7 L9,13 L14,7 L9,1 Z');\n};\nconst point = (elem, type) => {\n elem\n .append('marker')\n .attr('id', type + '-pointEnd')\n .attr('class', 'marker ' + type)\n .attr('viewBox', '0 0 10 10')\n .attr('refX', 9)\n .attr('refY', 5)\n .attr('markerUnits', 'userSpaceOnUse')\n .attr('markerWidth', 12)\n .attr('markerHeight', 12)\n .attr('orient', 'auto')\n .append('path')\n .attr('d', 'M 0 0 L 10 5 L 0 10 z')\n .attr('class', 'arrowMarkerPath')\n .style('stroke-width', 1)\n .style('stroke-dasharray', '1,0');\n elem\n .append('marker')\n .attr('id', type + '-pointStart')\n .attr('class', 'marker ' + type)\n .attr('viewBox', '0 0 10 10')\n .attr('refX', 0)\n .attr('refY', 5)\n .attr('markerUnits', 'userSpaceOnUse')\n .attr('markerWidth', 12)\n .attr('markerHeight', 12)\n .attr('orient', 'auto')\n .append('path')\n .attr('d', 'M 0 5 L 10 10 L 10 0 z')\n .attr('class', 'arrowMarkerPath')\n .style('stroke-width', 1)\n .style('stroke-dasharray', '1,0');\n};\nconst circle = (elem, type) => {\n elem\n .append('marker')\n .attr('id', type + '-circleEnd')\n .attr('class', 'marker ' + type)\n .attr('viewBox', '0 0 10 10')\n .attr('refX', 11)\n .attr('refY', 5)\n .attr('markerUnits', 'userSpaceOnUse')\n .attr('markerWidth', 11)\n .attr('markerHeight', 11)\n .attr('orient', 'auto')\n .append('circle')\n .attr('cx', '5')\n .attr('cy', '5')\n .attr('r', '5')\n .attr('class', 'arrowMarkerPath')\n .style('stroke-width', 1)\n .style('stroke-dasharray', '1,0');\n\n elem\n .append('marker')\n .attr('id', type + '-circleStart')\n .attr('class', 'marker ' + type)\n .attr('viewBox', '0 0 10 10')\n .attr('refX', -1)\n .attr('refY', 5)\n .attr('markerUnits', 'userSpaceOnUse')\n .attr('markerWidth', 11)\n .attr('markerHeight', 11)\n .attr('orient', 'auto')\n .append('circle')\n .attr('cx', '5')\n .attr('cy', '5')\n .attr('r', '5')\n .attr('class', 'arrowMarkerPath')\n .style('stroke-width', 1)\n .style('stroke-dasharray', '1,0');\n};\nconst cross = (elem, type) => {\n elem\n .append('marker')\n .attr('id', type + '-crossEnd')\n .attr('class', 'marker cross ' + type)\n .attr('viewBox', '0 0 11 11')\n .attr('refX', 12)\n .attr('refY', 5.2)\n .attr('markerUnits', 'userSpaceOnUse')\n .attr('markerWidth', 11)\n .attr('markerHeight', 11)\n .attr('orient', 'auto')\n .append('path')\n // .attr('stroke', 'black')\n .attr('d', 'M 1,1 l 9,9 M 10,1 l -9,9')\n .attr('class', 'arrowMarkerPath')\n .style('stroke-width', 2)\n .style('stroke-dasharray', '1,0');\n\n elem\n .append('marker')\n .attr('id', type + '-crossStart')\n .attr('class', 'marker cross ' + type)\n .attr('viewBox', '0 0 11 11')\n .attr('refX', -1)\n .attr('refY', 5.2)\n .attr('markerUnits', 'userSpaceOnUse')\n .attr('markerWidth', 11)\n .attr('markerHeight', 11)\n .attr('orient', 'auto')\n .append('path')\n // .attr('stroke', 'black')\n .attr('d', 'M 1,1 l 9,9 M 10,1 l -9,9')\n .attr('class', 'arrowMarkerPath')\n .style('stroke-width', 2)\n .style('stroke-dasharray', '1,0');\n};\nconst barb = (elem, type) => {\n elem\n .append('defs')\n .append('marker')\n .attr('id', type + '-barbEnd')\n .attr('refX', 19)\n .attr('refY', 7)\n .attr('markerWidth', 20)\n .attr('markerHeight', 14)\n .attr('markerUnits', 'strokeWidth')\n .attr('orient', 'auto')\n .append('path')\n .attr('d', 'M 19,7 L9,13 L14,7 L9,1 Z');\n};\n\n// TODO rename the class diagram markers to something shape descriptive and semanitc free\nconst markers = {\n extension,\n composition,\n aggregation,\n dependency,\n point,\n circle,\n cross,\n barb,\n};\nexport default insertMarkers;\n","/**\n * Decorates with functions required by mermaids dagre-wrapper.\n */\nimport { log } from '../logger';\nimport graphlib from 'graphlib';\n\nexport let clusterDb = {};\nlet decendants = {};\nlet parents = {};\n\nexport const clear = () => {\n decendants = {};\n parents = {};\n clusterDb = {};\n};\n\nconst isDecendant = (id, ancenstorId) => {\n // if (id === ancenstorId) return true;\n\n log.trace(\n 'In isDecendant',\n ancenstorId,\n ' ',\n id,\n ' = ',\n decendants[ancenstorId].indexOf(id) >= 0\n );\n if (decendants[ancenstorId].indexOf(id) >= 0) return true;\n\n return false;\n};\n\nconst edgeInCluster = (edge, clusterId) => {\n log.info('Decendants of ', clusterId, ' is ', decendants[clusterId]);\n log.info('Edge is ', edge);\n // Edges to/from the cluster is not in the cluster, they are in the parent\n if (edge.v === clusterId) return false;\n if (edge.w === clusterId) return false;\n\n if (!decendants[clusterId]) {\n log.debug('Tilt, ', clusterId, ',not in decendants');\n return false;\n }\n log.info('Here ');\n\n if (decendants[clusterId].indexOf(edge.v) >= 0) return true;\n if (isDecendant(edge.v, clusterId)) return true;\n if (isDecendant(edge.w, clusterId)) return true;\n if (decendants[clusterId].indexOf(edge.w) >= 0) return true;\n\n return false;\n};\n\nconst copy = (clusterId, graph, newGraph, rootId) => {\n log.warn(\n 'Copying children of ',\n clusterId,\n 'root',\n rootId,\n 'data',\n graph.node(clusterId),\n rootId\n );\n const nodes = graph.children(clusterId) || [];\n\n // Include cluster node if it is not the root\n if (clusterId !== rootId) {\n nodes.push(clusterId);\n }\n\n log.warn('Copying (nodes) clusterId', clusterId, 'nodes', nodes);\n\n nodes.forEach((node) => {\n if (graph.children(node).length > 0) {\n copy(node, graph, newGraph, rootId);\n } else {\n const data = graph.node(node);\n log.info('cp ', node, ' to ', rootId, ' with parent ', clusterId); //,node, data, ' parent is ', clusterId);\n newGraph.setNode(node, data);\n if (rootId !== graph.parent(node)) {\n log.warn('Setting parent', node, graph.parent(node));\n newGraph.setParent(node, graph.parent(node));\n }\n\n if (clusterId !== rootId && node !== clusterId) {\n log.debug('Setting parent', node, clusterId);\n newGraph.setParent(node, clusterId);\n } else {\n log.info('In copy ', clusterId, 'root', rootId, 'data', graph.node(clusterId), rootId);\n log.debug(\n 'Not Setting parent for node=',\n node,\n 'cluster!==rootId',\n clusterId !== rootId,\n 'node!==clusterId',\n node !== clusterId\n );\n }\n const edges = graph.edges(node);\n log.debug('Copying Edges', edges);\n edges.forEach((edge) => {\n log.info('Edge', edge);\n const data = graph.edge(edge.v, edge.w, edge.name);\n log.info('Edge data', data, rootId);\n try {\n // Do not copy edges in and out of the root cluster, they belong to the parent graph\n if (edgeInCluster(edge, rootId)) {\n log.info('Copying as ', edge.v, edge.w, data, edge.name);\n newGraph.setEdge(edge.v, edge.w, data, edge.name);\n log.info('newGraph edges ', newGraph.edges(), newGraph.edge(newGraph.edges()[0]));\n } else {\n log.info(\n 'Skipping copy of edge ',\n edge.v,\n '-->',\n edge.w,\n ' rootId: ',\n rootId,\n ' clusterId:',\n clusterId\n );\n }\n } catch (e) {\n log.error(e);\n }\n });\n }\n log.debug('Removing node', node);\n graph.removeNode(node);\n });\n};\nexport const extractDecendants = (id, graph) => {\n // log.debug('Extracting ', id);\n const children = graph.children(id);\n let res = [].concat(children);\n\n for (let i = 0; i < children.length; i++) {\n parents[children[i]] = id;\n res = res.concat(extractDecendants(children[i], graph));\n }\n\n return res;\n};\n\n/**\n * Validates the graph, checking that all parent child relation points to existing nodes and that\n * edges between nodes also ia correct. When not correct the function logs the discrepancies.\n * @param {graphlib graph} g\n */\nexport const validate = (graph) => {\n const edges = graph.edges();\n log.trace('Edges: ', edges);\n for (let i = 0; i < edges.length; i++) {\n if (graph.children(edges[i].v).length > 0) {\n log.trace('The node ', edges[i].v, ' is part of and edge even though it has children');\n return false;\n }\n if (graph.children(edges[i].w).length > 0) {\n log.trace('The node ', edges[i].w, ' is part of and edge even though it has children');\n return false;\n }\n }\n return true;\n};\n\n/**\n * Finds a child that is not a cluster. When faking a edge between a node and a cluster.\n * @param {Finds a } id\n * @param {*} graph\n */\nexport const findNonClusterChild = (id, graph) => {\n // const node = graph.node(id);\n log.trace('Searching', id);\n // const children = graph.children(id).reverse();\n const children = graph.children(id); //.reverse();\n log.trace('Searching children of id ', id, children);\n if (children.length < 1) {\n log.trace('This is a valid node', id);\n return id;\n }\n for (let i = 0; i < children.length; i++) {\n const _id = findNonClusterChild(children[i], graph);\n if (_id) {\n log.trace('Found replacement for', id, ' => ', _id);\n return _id;\n }\n }\n};\n\nconst getAnchorId = (id) => {\n if (!clusterDb[id]) {\n return id;\n }\n // If the cluster has no external connections\n if (!clusterDb[id].externalConnections) {\n return id;\n }\n\n // Return the replacement node\n if (clusterDb[id]) {\n return clusterDb[id].id;\n }\n return id;\n};\n\nexport const adjustClustersAndEdges = (graph, depth) => {\n if (!graph || depth > 10) {\n log.debug('Opting out, no graph ');\n return;\n } else {\n log.debug('Opting in, graph ');\n }\n // Go through the nodes and for each cluster found, save a replacment node, this can be used when\n // faking a link to a cluster\n graph.nodes().forEach(function (id) {\n const children = graph.children(id);\n if (children.length > 0) {\n log.warn(\n 'Cluster identified',\n id,\n ' Replacement id in edges: ',\n findNonClusterChild(id, graph)\n );\n decendants[id] = extractDecendants(id, graph);\n clusterDb[id] = { id: findNonClusterChild(id, graph), clusterData: graph.node(id) };\n }\n });\n\n // Check incoming and outgoing edges for each cluster\n graph.nodes().forEach(function (id) {\n const children = graph.children(id);\n const edges = graph.edges();\n if (children.length > 0) {\n log.debug('Cluster identified', id, decendants);\n edges.forEach((edge) => {\n // log.debug('Edge, decendants: ', edge, decendants[id]);\n\n // Check if any edge leaves the cluster (not the actual cluster, thats a link from the box)\n if (edge.v !== id && edge.w !== id) {\n // Any edge where either the one of the nodes is decending to the cluster but not the other\n // if (decendants[id].indexOf(edge.v) < 0 && decendants[id].indexOf(edge.w) < 0) {\n\n const d1 = isDecendant(edge.v, id);\n const d2 = isDecendant(edge.w, id);\n\n // d1 xor d2 - if either d1 is true and d2 is false or the other way around\n if (d1 ^ d2) {\n log.warn('Edge: ', edge, ' leaves cluster ', id);\n log.warn('Decendants of XXX ', id, ': ', decendants[id]);\n clusterDb[id].externalConnections = true;\n }\n }\n });\n } else {\n log.debug('Not a cluster ', id, decendants);\n }\n });\n\n // For clusters with incoming and/or outgoing edges translate those edges to a real node\n // in the cluster inorder to fake the edge\n graph.edges().forEach(function (e) {\n const edge = graph.edge(e);\n log.warn('Edge ' + e.v + ' -> ' + e.w + ': ' + JSON.stringify(e));\n log.warn('Edge ' + e.v + ' -> ' + e.w + ': ' + JSON.stringify(graph.edge(e)));\n\n let v = e.v;\n let w = e.w;\n // Check if link is either from or to a cluster\n log.warn(\n 'Fix XXX',\n clusterDb,\n 'ids:',\n e.v,\n e.w,\n 'Translateing: ',\n clusterDb[e.v],\n ' --- ',\n clusterDb[e.w]\n );\n if (clusterDb[e.v] || clusterDb[e.w]) {\n log.warn('Fixing and trixing - removing XXX', e.v, e.w, e.name);\n v = getAnchorId(e.v);\n w = getAnchorId(e.w);\n graph.removeEdge(e.v, e.w, e.name);\n if (v !== e.v) edge.fromCluster = e.v;\n if (w !== e.w) edge.toCluster = e.w;\n log.warn('Fix Replacing with XXX', v, w, e.name);\n graph.setEdge(v, w, edge, e.name);\n }\n });\n log.warn('Adjusted Graph', graphlib.json.write(graph));\n extractor(graph, 0);\n\n log.trace(clusterDb);\n\n // Remove references to extracted cluster\n // graph.edges().forEach(edge => {\n // if (isDecendant(edge.v, clusterId) || isDecendant(edge.w, clusterId)) {\n // graph.removeEdge(edge);\n // }\n // });\n};\n\nexport const extractor = (graph, depth) => {\n log.warn('extractor - ', depth, graphlib.json.write(graph), graph.children('D'));\n if (depth > 10) {\n log.error('Bailing out');\n return;\n }\n // For clusters without incoming and/or outgoing edges, create a new cluster-node\n // containing the nodes and edges in the custer in a new graph\n // for (let i = 0;)\n let nodes = graph.nodes();\n let hasChildren = false;\n for (let i = 0; i < nodes.length; i++) {\n const node = nodes[i];\n const children = graph.children(node);\n hasChildren = hasChildren || children.length > 0;\n }\n\n if (!hasChildren) {\n log.debug('Done, no node has children', graph.nodes());\n return;\n }\n // const clusters = Object.keys(clusterDb);\n // clusters.forEach(clusterId => {\n log.debug('Nodes = ', nodes, depth);\n for (let i = 0; i < nodes.length; i++) {\n const node = nodes[i];\n\n log.debug(\n 'Extracting node',\n node,\n clusterDb,\n clusterDb[node] && !clusterDb[node].externalConnections,\n !graph.parent(node),\n graph.node(node),\n graph.children('D'),\n ' Depth ',\n depth\n );\n // Note that the node might have been removed after the Object.keys call so better check\n // that it still is in the game\n if (!clusterDb[node]) {\n // Skip if the node is not a cluster\n log.debug('Not a cluster', node, depth);\n // break;\n } else if (\n !clusterDb[node].externalConnections &&\n // !graph.parent(node) &&\n graph.children(node) &&\n graph.children(node).length > 0\n ) {\n log.warn(\n 'Cluster without external connections, without a parent and with children',\n node,\n depth\n );\n\n const graphSettings = graph.graph();\n let dir = graphSettings.rankdir === 'TB' ? 'LR' : 'TB';\n if (clusterDb[node]) {\n if (clusterDb[node].clusterData && clusterDb[node].clusterData.dir) {\n dir = clusterDb[node].clusterData.dir;\n log.warn('Fixing dir', clusterDb[node].clusterData.dir, dir);\n }\n }\n\n const clusterGraph = new graphlib.Graph({\n multigraph: true,\n compound: true,\n })\n .setGraph({\n rankdir: dir, // Todo: set proper spacing\n nodesep: 50,\n ranksep: 50,\n marginx: 8,\n marginy: 8,\n })\n .setDefaultEdgeLabel(function () {\n return {};\n });\n\n log.warn('Old graph before copy', graphlib.json.write(graph));\n copy(node, graph, clusterGraph, node);\n graph.setNode(node, {\n clusterNode: true,\n id: node,\n clusterData: clusterDb[node].clusterData,\n labelText: clusterDb[node].labelText,\n graph: clusterGraph,\n });\n log.warn('New graph after copy node: (', node, ')', graphlib.json.write(clusterGraph));\n log.debug('Old graph after copy', graphlib.json.write(graph));\n } else {\n log.warn(\n 'Cluster ** ',\n node,\n ' **not meeting the criteria !externalConnections:',\n !clusterDb[node].externalConnections,\n ' no parent: ',\n !graph.parent(node),\n ' children ',\n graph.children(node) && graph.children(node).length > 0,\n graph.children('D'),\n depth\n );\n log.debug(clusterDb);\n }\n }\n\n nodes = graph.nodes();\n log.warn('New list of nodes', nodes);\n for (let i = 0; i < nodes.length; i++) {\n const node = nodes[i];\n const data = graph.node(node);\n log.warn(' Now next level', node, data);\n if (data.clusterNode) {\n extractor(data.graph, depth + 1);\n }\n }\n};\n\nconst sorter = (graph, nodes) => {\n if (nodes.length === 0) return [];\n let result = Object.assign(nodes);\n nodes.forEach((node) => {\n const children = graph.children(node);\n const sorted = sorter(graph, children);\n result = result.concat(sorted);\n });\n\n return result;\n};\n\nexport const sortNodesByHierarchy = (graph) => sorter(graph, graph.children());\n","import { select } from 'd3';\nimport { log } from '../logger'; // eslint-disable-line\nimport { labelHelper, updateNodeBounds, insertPolygonShape } from './shapes/util';\nimport { getConfig } from '../config';\nimport intersect from './intersect/index.js';\nimport createLabel from './createLabel';\nimport note from './shapes/note';\nimport { parseMember } from '../diagrams/class/svgDraw';\nimport { evaluate } from '../diagrams/common/common';\n\nconst question = (parent, node) => {\n const { shapeSvg, bbox } = labelHelper(parent, node, undefined, true);\n\n const w = bbox.width + node.padding;\n const h = bbox.height + node.padding;\n const s = w + h;\n const points = [\n { x: s / 2, y: 0 },\n { x: s, y: -s / 2 },\n { x: s / 2, y: -s },\n { x: 0, y: -s / 2 },\n ];\n\n log.info('Question main (Circle)');\n\n const questionElem = insertPolygonShape(shapeSvg, s, s, points);\n questionElem.attr('style', node.style);\n updateNodeBounds(node, questionElem);\n\n node.intersect = function (point) {\n log.warn('Intersect called');\n return intersect.polygon(node, points, point);\n };\n\n return shapeSvg;\n};\n\nconst choice = (parent, node) => {\n const shapeSvg = parent\n .insert('g')\n .attr('class', 'node default')\n .attr('id', node.domId || node.id);\n\n const s = 28;\n const points = [\n { x: 0, y: s / 2 },\n { x: s / 2, y: 0 },\n { x: 0, y: -s / 2 },\n { x: -s / 2, y: 0 },\n ];\n\n const choice = shapeSvg.insert('polygon', ':first-child').attr(\n 'points',\n points\n .map(function (d) {\n return d.x + ',' + d.y;\n })\n .join(' ')\n );\n // center the circle around its coordinate\n choice.attr('class', 'state-start').attr('r', 7).attr('width', 28).attr('height', 28);\n node.width = 28;\n node.height = 28;\n\n node.intersect = function (point) {\n return intersect.circle(node, 14, point);\n };\n\n return shapeSvg;\n};\n\nconst hexagon = (parent, node) => {\n const { shapeSvg, bbox } = labelHelper(parent, node, undefined, true);\n\n const f = 4;\n const h = bbox.height + node.padding;\n const m = h / f;\n const w = bbox.width + 2 * m + node.padding;\n const points = [\n { x: m, y: 0 },\n { x: w - m, y: 0 },\n { x: w, y: -h / 2 },\n { x: w - m, y: -h },\n { x: m, y: -h },\n { x: 0, y: -h / 2 },\n ];\n\n const hex = insertPolygonShape(shapeSvg, w, h, points);\n hex.attr('style', node.style);\n updateNodeBounds(node, hex);\n\n node.intersect = function (point) {\n return intersect.polygon(node, points, point);\n };\n\n return shapeSvg;\n};\n\nconst rect_left_inv_arrow = (parent, node) => {\n const { shapeSvg, bbox } = labelHelper(parent, node, undefined, true);\n\n const w = bbox.width + node.padding;\n const h = bbox.height + node.padding;\n const points = [\n { x: -h / 2, y: 0 },\n { x: w, y: 0 },\n { x: w, y: -h },\n { x: -h / 2, y: -h },\n { x: 0, y: -h / 2 },\n ];\n\n const el = insertPolygonShape(shapeSvg, w, h, points);\n el.attr('style', node.style);\n\n node.width = w + h;\n node.height = h;\n\n node.intersect = function (point) {\n return intersect.polygon(node, points, point);\n };\n\n return shapeSvg;\n};\n\nconst lean_right = (parent, node) => {\n const { shapeSvg, bbox } = labelHelper(parent, node, undefined, true);\n\n const w = bbox.width + node.padding;\n const h = bbox.height + node.padding;\n const points = [\n { x: (-2 * h) / 6, y: 0 },\n { x: w - h / 6, y: 0 },\n { x: w + (2 * h) / 6, y: -h },\n { x: h / 6, y: -h },\n ];\n\n const el = insertPolygonShape(shapeSvg, w, h, points);\n el.attr('style', node.style);\n updateNodeBounds(node, el);\n\n node.intersect = function (point) {\n return intersect.polygon(node, points, point);\n };\n\n return shapeSvg;\n};\n\nconst lean_left = (parent, node) => {\n const { shapeSvg, bbox } = labelHelper(parent, node, undefined, true);\n\n const w = bbox.width + node.padding;\n const h = bbox.height + node.padding;\n const points = [\n { x: (2 * h) / 6, y: 0 },\n { x: w + h / 6, y: 0 },\n { x: w - (2 * h) / 6, y: -h },\n { x: -h / 6, y: -h },\n ];\n\n const el = insertPolygonShape(shapeSvg, w, h, points);\n el.attr('style', node.style);\n updateNodeBounds(node, el);\n\n node.intersect = function (point) {\n return intersect.polygon(node, points, point);\n };\n\n return shapeSvg;\n};\n\nconst trapezoid = (parent, node) => {\n const { shapeSvg, bbox } = labelHelper(parent, node, undefined, true);\n\n const w = bbox.width + node.padding;\n const h = bbox.height + node.padding;\n const points = [\n { x: (-2 * h) / 6, y: 0 },\n { x: w + (2 * h) / 6, y: 0 },\n { x: w - h / 6, y: -h },\n { x: h / 6, y: -h },\n ];\n\n const el = insertPolygonShape(shapeSvg, w, h, points);\n el.attr('style', node.style);\n updateNodeBounds(node, el);\n\n node.intersect = function (point) {\n return intersect.polygon(node, points, point);\n };\n\n return shapeSvg;\n};\n\nconst inv_trapezoid = (parent, node) => {\n const { shapeSvg, bbox } = labelHelper(parent, node, undefined, true);\n\n const w = bbox.width + node.padding;\n const h = bbox.height + node.padding;\n const points = [\n { x: h / 6, y: 0 },\n { x: w - h / 6, y: 0 },\n { x: w + (2 * h) / 6, y: -h },\n { x: (-2 * h) / 6, y: -h },\n ];\n\n const el = insertPolygonShape(shapeSvg, w, h, points);\n el.attr('style', node.style);\n updateNodeBounds(node, el);\n\n node.intersect = function (point) {\n return intersect.polygon(node, points, point);\n };\n\n return shapeSvg;\n};\n\nconst rect_right_inv_arrow = (parent, node) => {\n const { shapeSvg, bbox } = labelHelper(parent, node, undefined, true);\n\n const w = bbox.width + node.padding;\n const h = bbox.height + node.padding;\n const points = [\n { x: 0, y: 0 },\n { x: w + h / 2, y: 0 },\n { x: w, y: -h / 2 },\n { x: w + h / 2, y: -h },\n { x: 0, y: -h },\n ];\n\n const el = insertPolygonShape(shapeSvg, w, h, points);\n el.attr('style', node.style);\n updateNodeBounds(node, el);\n\n node.intersect = function (point) {\n return intersect.polygon(node, points, point);\n };\n\n return shapeSvg;\n};\n\nconst cylinder = (parent, node) => {\n const { shapeSvg, bbox } = labelHelper(parent, node, undefined, true);\n\n const w = bbox.width + node.padding;\n const rx = w / 2;\n const ry = rx / (2.5 + w / 50);\n const h = bbox.height + ry + node.padding;\n\n const shape =\n 'M 0,' +\n ry +\n ' a ' +\n rx +\n ',' +\n ry +\n ' 0,0,0 ' +\n w +\n ' 0 a ' +\n rx +\n ',' +\n ry +\n ' 0,0,0 ' +\n -w +\n ' 0 l 0,' +\n h +\n ' a ' +\n rx +\n ',' +\n ry +\n ' 0,0,0 ' +\n w +\n ' 0 l 0,' +\n -h;\n\n const el = shapeSvg\n .attr('label-offset-y', ry)\n .insert('path', ':first-child')\n .attr('style', node.style)\n .attr('d', shape)\n .attr('transform', 'translate(' + -w / 2 + ',' + -(h / 2 + ry) + ')');\n\n updateNodeBounds(node, el);\n\n node.intersect = function (point) {\n const pos = intersect.rect(node, point);\n const x = pos.x - node.x;\n\n if (\n rx != 0 &&\n (Math.abs(x) < node.width / 2 ||\n (Math.abs(x) == node.width / 2 && Math.abs(pos.y - node.y) > node.height / 2 - ry))\n ) {\n // ellipsis equation: x*x / a*a + y*y / b*b = 1\n // solve for y to get adjustion value for pos.y\n let y = ry * ry * (1 - (x * x) / (rx * rx));\n if (y != 0) y = Math.sqrt(y);\n y = ry - y;\n if (point.y - node.y > 0) y = -y;\n\n pos.y += y;\n }\n\n return pos;\n };\n\n return shapeSvg;\n};\n\nconst rect = (parent, node) => {\n const { shapeSvg, bbox, halfPadding } = labelHelper(parent, node, 'node ' + node.classes, true);\n\n log.trace('Classes = ', node.classes);\n // add the rect\n const rect = shapeSvg.insert('rect', ':first-child');\n\n rect\n .attr('class', 'basic label-container')\n .attr('style', node.style)\n .attr('rx', node.rx)\n .attr('ry', node.ry)\n .attr('x', -bbox.width / 2 - halfPadding)\n .attr('y', -bbox.height / 2 - halfPadding)\n .attr('width', bbox.width + node.padding)\n .attr('height', bbox.height + node.padding);\n\n updateNodeBounds(node, rect);\n\n node.intersect = function (point) {\n return intersect.rect(node, point);\n };\n\n return shapeSvg;\n};\n\nconst rectWithTitle = (parent, node) => {\n // const { shapeSvg, bbox, halfPadding } = labelHelper(parent, node, 'node ' + node.classes);\n\n let classes;\n if (!node.classes) {\n classes = 'node default';\n } else {\n classes = 'node ' + node.classes;\n }\n // Add outer g element\n const shapeSvg = parent\n .insert('g')\n .attr('class', classes)\n .attr('id', node.domId || node.id);\n\n // Create the title label and insert it after the rect\n const rect = shapeSvg.insert('rect', ':first-child');\n // const innerRect = shapeSvg.insert('rect');\n const innerLine = shapeSvg.insert('line');\n\n const label = shapeSvg.insert('g').attr('class', 'label');\n\n const text2 = node.labelText.flat ? node.labelText.flat() : node.labelText;\n // const text2 = typeof text2prim === 'object' ? text2prim[0] : text2prim;\n\n let title = '';\n if (typeof text2 === 'object') {\n title = text2[0];\n } else {\n title = text2;\n }\n log.info('Label text abc79', title, text2, typeof text2 === 'object');\n\n const text = label.node().appendChild(createLabel(title, node.labelStyle, true, true));\n let bbox = { width: 0, height: 0 };\n if (evaluate(getConfig().flowchart.htmlLabels)) {\n const div = text.children[0];\n const dv = select(text);\n bbox = div.getBoundingClientRect();\n dv.attr('width', bbox.width);\n dv.attr('height', bbox.height);\n }\n log.info('Text 2', text2);\n const textRows = text2.slice(1, text2.length);\n let titleBox = text.getBBox();\n const descr = label\n .node()\n .appendChild(\n createLabel(textRows.join ? textRows.join('
') : textRows, node.labelStyle, true, true)\n );\n\n if (evaluate(getConfig().flowchart.htmlLabels)) {\n const div = descr.children[0];\n const dv = select(descr);\n bbox = div.getBoundingClientRect();\n dv.attr('width', bbox.width);\n dv.attr('height', bbox.height);\n }\n // bbox = label.getBBox();\n // log.info(descr);\n const halfPadding = node.padding / 2;\n select(descr).attr(\n 'transform',\n 'translate( ' +\n // (titleBox.width - bbox.width) / 2 +\n (bbox.width > titleBox.width ? 0 : (titleBox.width - bbox.width) / 2) +\n ', ' +\n (titleBox.height + halfPadding + 5) +\n ')'\n );\n select(text).attr(\n 'transform',\n 'translate( ' +\n // (titleBox.width - bbox.width) / 2 +\n (bbox.width < titleBox.width ? 0 : -(titleBox.width - bbox.width) / 2) +\n ', ' +\n 0 +\n ')'\n );\n // Get the size of the label\n\n // Bounding box for title and text\n bbox = label.node().getBBox();\n\n // Center the label\n label.attr(\n 'transform',\n 'translate(' + -bbox.width / 2 + ', ' + (-bbox.height / 2 - halfPadding + 3) + ')'\n );\n\n rect\n .attr('class', 'outer title-state')\n .attr('x', -bbox.width / 2 - halfPadding)\n .attr('y', -bbox.height / 2 - halfPadding)\n .attr('width', bbox.width + node.padding)\n .attr('height', bbox.height + node.padding);\n\n innerLine\n .attr('class', 'divider')\n .attr('x1', -bbox.width / 2 - halfPadding)\n .attr('x2', bbox.width / 2 + halfPadding)\n .attr('y1', -bbox.height / 2 - halfPadding + titleBox.height + halfPadding)\n .attr('y2', -bbox.height / 2 - halfPadding + titleBox.height + halfPadding);\n\n updateNodeBounds(node, rect);\n\n node.intersect = function (point) {\n return intersect.rect(node, point);\n };\n\n return shapeSvg;\n};\n\nconst stadium = (parent, node) => {\n const { shapeSvg, bbox } = labelHelper(parent, node, undefined, true);\n\n const h = bbox.height + node.padding;\n const w = bbox.width + h / 4 + node.padding;\n\n // add the rect\n const rect = shapeSvg\n .insert('rect', ':first-child')\n .attr('style', node.style)\n .attr('rx', h / 2)\n .attr('ry', h / 2)\n .attr('x', -w / 2)\n .attr('y', -h / 2)\n .attr('width', w)\n .attr('height', h);\n\n updateNodeBounds(node, rect);\n\n node.intersect = function (point) {\n return intersect.rect(node, point);\n };\n\n return shapeSvg;\n};\n\nconst circle = (parent, node) => {\n const { shapeSvg, bbox, halfPadding } = labelHelper(parent, node, undefined, true);\n const circle = shapeSvg.insert('circle', ':first-child');\n\n // center the circle around its coordinate\n circle\n .attr('style', node.style)\n .attr('rx', node.rx)\n .attr('ry', node.ry)\n .attr('r', bbox.width / 2 + halfPadding)\n .attr('width', bbox.width + node.padding)\n .attr('height', bbox.height + node.padding);\n\n log.info('Circle main');\n\n updateNodeBounds(node, circle);\n\n node.intersect = function (point) {\n log.info('Circle intersect', node, bbox.width / 2 + halfPadding, point);\n return intersect.circle(node, bbox.width / 2 + halfPadding, point);\n };\n\n return shapeSvg;\n};\n\nconst subroutine = (parent, node) => {\n const { shapeSvg, bbox } = labelHelper(parent, node, undefined, true);\n\n const w = bbox.width + node.padding;\n const h = bbox.height + node.padding;\n const points = [\n { x: 0, y: 0 },\n { x: w, y: 0 },\n { x: w, y: -h },\n { x: 0, y: -h },\n { x: 0, y: 0 },\n { x: -8, y: 0 },\n { x: w + 8, y: 0 },\n { x: w + 8, y: -h },\n { x: -8, y: -h },\n { x: -8, y: 0 },\n ];\n\n const el = insertPolygonShape(shapeSvg, w, h, points);\n el.attr('style', node.style);\n updateNodeBounds(node, el);\n\n node.intersect = function (point) {\n return intersect.polygon(node, points, point);\n };\n\n return shapeSvg;\n};\n\nconst start = (parent, node) => {\n const shapeSvg = parent\n .insert('g')\n .attr('class', 'node default')\n .attr('id', node.domId || node.id);\n const circle = shapeSvg.insert('circle', ':first-child');\n\n // center the circle around its coordinate\n circle.attr('class', 'state-start').attr('r', 7).attr('width', 14).attr('height', 14);\n\n updateNodeBounds(node, circle);\n\n node.intersect = function (point) {\n return intersect.circle(node, 7, point);\n };\n\n return shapeSvg;\n};\n\nconst forkJoin = (parent, node, dir) => {\n const shapeSvg = parent\n .insert('g')\n .attr('class', 'node default')\n .attr('id', node.domId || node.id);\n\n let width = 70;\n let height = 10;\n\n if (dir === 'LR') {\n width = 10;\n height = 70;\n }\n\n const shape = shapeSvg\n .append('rect')\n .attr('x', (-1 * width) / 2)\n .attr('y', (-1 * height) / 2)\n .attr('width', width)\n .attr('height', height)\n .attr('class', 'fork-join');\n\n updateNodeBounds(node, shape);\n node.height = node.height + node.padding / 2;\n node.width = node.width + node.padding / 2;\n node.intersect = function (point) {\n return intersect.rect(node, point);\n };\n\n return shapeSvg;\n};\n\nconst end = (parent, node) => {\n const shapeSvg = parent\n .insert('g')\n .attr('class', 'node default')\n .attr('id', node.domId || node.id);\n const innerCircle = shapeSvg.insert('circle', ':first-child');\n const circle = shapeSvg.insert('circle', ':first-child');\n\n circle.attr('class', 'state-start').attr('r', 7).attr('width', 14).attr('height', 14);\n\n innerCircle.attr('class', 'state-end').attr('r', 5).attr('width', 10).attr('height', 10);\n\n updateNodeBounds(node, circle);\n\n node.intersect = function (point) {\n return intersect.circle(node, 7, point);\n };\n\n return shapeSvg;\n};\n\nconst class_box = (parent, node) => {\n const halfPadding = node.padding / 2;\n const rowPadding = 4;\n const lineHeight = 8;\n\n let classes;\n if (!node.classes) {\n classes = 'node default';\n } else {\n classes = 'node ' + node.classes;\n }\n // Add outer g element\n const shapeSvg = parent\n .insert('g')\n .attr('class', classes)\n .attr('id', node.domId || node.id);\n\n // Create the title label and insert it after the rect\n const rect = shapeSvg.insert('rect', ':first-child');\n const topLine = shapeSvg.insert('line');\n const bottomLine = shapeSvg.insert('line');\n let maxWidth = 0;\n let maxHeight = rowPadding;\n\n const labelContainer = shapeSvg.insert('g').attr('class', 'label');\n let verticalPos = 0;\n const hasInterface = node.classData.annotations && node.classData.annotations[0];\n\n // 1. Create the labels\n const interfaceLabelText = node.classData.annotations[0]\n ? '«' + node.classData.annotations[0] + '»'\n : '';\n const interfaceLabel = labelContainer\n .node()\n .appendChild(createLabel(interfaceLabelText, node.labelStyle, true, true));\n let interfaceBBox = interfaceLabel.getBBox();\n if (evaluate(getConfig().flowchart.htmlLabels)) {\n const div = interfaceLabel.children[0];\n const dv = select(interfaceLabel);\n interfaceBBox = div.getBoundingClientRect();\n dv.attr('width', interfaceBBox.width);\n dv.attr('height', interfaceBBox.height);\n }\n if (node.classData.annotations[0]) {\n maxHeight += interfaceBBox.height + rowPadding;\n maxWidth += interfaceBBox.width;\n }\n\n let classTitleString = node.classData.id;\n\n if (node.classData.type !== undefined && node.classData.type !== '') {\n if (getConfig().flowchart.htmlLabels) {\n classTitleString += '<' + node.classData.type + '>';\n } else {\n classTitleString += '<' + node.classData.type + '>';\n }\n }\n const classTitleLabel = labelContainer\n .node()\n .appendChild(createLabel(classTitleString, node.labelStyle, true, true));\n select(classTitleLabel).attr('class', 'classTitle');\n let classTitleBBox = classTitleLabel.getBBox();\n if (evaluate(getConfig().flowchart.htmlLabels)) {\n const div = classTitleLabel.children[0];\n const dv = select(classTitleLabel);\n classTitleBBox = div.getBoundingClientRect();\n dv.attr('width', classTitleBBox.width);\n dv.attr('height', classTitleBBox.height);\n }\n maxHeight += classTitleBBox.height + rowPadding;\n if (classTitleBBox.width > maxWidth) {\n maxWidth = classTitleBBox.width;\n }\n const classAttributes = [];\n node.classData.members.forEach((str) => {\n const parsedInfo = parseMember(str);\n let parsedText = parsedInfo.displayText;\n if (getConfig().flowchart.htmlLabels) {\n parsedText = parsedText.replace(//g, '>');\n }\n const lbl = labelContainer\n .node()\n .appendChild(\n createLabel(\n parsedText,\n parsedInfo.cssStyle ? parsedInfo.cssStyle : node.labelStyle,\n true,\n true\n )\n );\n let bbox = lbl.getBBox();\n if (evaluate(getConfig().flowchart.htmlLabels)) {\n const div = lbl.children[0];\n const dv = select(lbl);\n bbox = div.getBoundingClientRect();\n dv.attr('width', bbox.width);\n dv.attr('height', bbox.height);\n }\n if (bbox.width > maxWidth) {\n maxWidth = bbox.width;\n }\n maxHeight += bbox.height + rowPadding;\n classAttributes.push(lbl);\n });\n\n maxHeight += lineHeight;\n\n const classMethods = [];\n node.classData.methods.forEach((str) => {\n const parsedInfo = parseMember(str);\n let displayText = parsedInfo.displayText;\n if (getConfig().flowchart.htmlLabels) {\n displayText = displayText.replace(//g, '>');\n }\n const lbl = labelContainer\n .node()\n .appendChild(\n createLabel(\n displayText,\n parsedInfo.cssStyle ? parsedInfo.cssStyle : node.labelStyle,\n true,\n true\n )\n );\n let bbox = lbl.getBBox();\n if (evaluate(getConfig().flowchart.htmlLabels)) {\n const div = lbl.children[0];\n const dv = select(lbl);\n bbox = div.getBoundingClientRect();\n dv.attr('width', bbox.width);\n dv.attr('height', bbox.height);\n }\n if (bbox.width > maxWidth) {\n maxWidth = bbox.width;\n }\n maxHeight += bbox.height + rowPadding;\n\n classMethods.push(lbl);\n });\n\n maxHeight += lineHeight;\n\n // 2. Position the labels\n\n // position the interface label\n if (hasInterface) {\n let diffX = (maxWidth - interfaceBBox.width) / 2;\n select(interfaceLabel).attr(\n 'transform',\n 'translate( ' + ((-1 * maxWidth) / 2 + diffX) + ', ' + (-1 * maxHeight) / 2 + ')'\n );\n verticalPos = interfaceBBox.height + rowPadding;\n }\n // Positin the class title label\n let diffX = (maxWidth - classTitleBBox.width) / 2;\n select(classTitleLabel).attr(\n 'transform',\n 'translate( ' +\n ((-1 * maxWidth) / 2 + diffX) +\n ', ' +\n ((-1 * maxHeight) / 2 + verticalPos) +\n ')'\n );\n verticalPos += classTitleBBox.height + rowPadding;\n\n topLine\n .attr('class', 'divider')\n .attr('x1', -maxWidth / 2 - halfPadding)\n .attr('x2', maxWidth / 2 + halfPadding)\n .attr('y1', -maxHeight / 2 - halfPadding + lineHeight + verticalPos)\n .attr('y2', -maxHeight / 2 - halfPadding + lineHeight + verticalPos);\n\n verticalPos += lineHeight;\n\n classAttributes.forEach((lbl) => {\n select(lbl).attr(\n 'transform',\n 'translate( ' +\n -maxWidth / 2 +\n ', ' +\n ((-1 * maxHeight) / 2 + verticalPos + lineHeight / 2) +\n ')'\n );\n verticalPos += classTitleBBox.height + rowPadding;\n });\n\n verticalPos += lineHeight;\n bottomLine\n .attr('class', 'divider')\n .attr('x1', -maxWidth / 2 - halfPadding)\n .attr('x2', maxWidth / 2 + halfPadding)\n .attr('y1', -maxHeight / 2 - halfPadding + lineHeight + verticalPos)\n .attr('y2', -maxHeight / 2 - halfPadding + lineHeight + verticalPos);\n\n verticalPos += lineHeight;\n\n classMethods.forEach((lbl) => {\n select(lbl).attr(\n 'transform',\n 'translate( ' + -maxWidth / 2 + ', ' + ((-1 * maxHeight) / 2 + verticalPos) + ')'\n );\n verticalPos += classTitleBBox.height + rowPadding;\n });\n //\n // let bbox;\n // if (evaluate(getConfig().flowchart.htmlLabels)) {\n // const div = interfaceLabel.children[0];\n // const dv = select(interfaceLabel);\n // bbox = div.getBoundingClientRect();\n // dv.attr('width', bbox.width);\n // dv.attr('height', bbox.height);\n // }\n // bbox = labelContainer.getBBox();\n\n // log.info('Text 2', text2);\n // const textRows = text2.slice(1, text2.length);\n // let titleBox = text.getBBox();\n // const descr = label\n // .node()\n // .appendChild(createLabel(textRows.join('
'), node.labelStyle, true, true));\n\n // if (evaluate(getConfig().flowchart.htmlLabels)) {\n // const div = descr.children[0];\n // const dv = select(descr);\n // bbox = div.getBoundingClientRect();\n // dv.attr('width', bbox.width);\n // dv.attr('height', bbox.height);\n // }\n // // bbox = label.getBBox();\n // // log.info(descr);\n // select(descr).attr(\n // 'transform',\n // 'translate( ' +\n // // (titleBox.width - bbox.width) / 2 +\n // (bbox.width > titleBox.width ? 0 : (titleBox.width - bbox.width) / 2) +\n // ', ' +\n // (titleBox.height + halfPadding + 5) +\n // ')'\n // );\n // select(text).attr(\n // 'transform',\n // 'translate( ' +\n // // (titleBox.width - bbox.width) / 2 +\n // (bbox.width < titleBox.width ? 0 : -(titleBox.width - bbox.width) / 2) +\n // ', ' +\n // 0 +\n // ')'\n // );\n // // Get the size of the label\n\n // // Bounding box for title and text\n // bbox = label.node().getBBox();\n\n // // Center the label\n // label.attr(\n // 'transform',\n // 'translate(' + -bbox.width / 2 + ', ' + (-bbox.height / 2 - halfPadding + 3) + ')'\n // );\n\n rect\n .attr('class', 'outer title-state')\n .attr('x', -maxWidth / 2 - halfPadding)\n .attr('y', -(maxHeight / 2) - halfPadding)\n .attr('width', maxWidth + node.padding)\n .attr('height', maxHeight + node.padding);\n\n // innerLine\n // .attr('class', 'divider')\n // .attr('x1', -bbox.width / 2 - halfPadding)\n // .attr('x2', bbox.width / 2 + halfPadding)\n // .attr('y1', -bbox.height / 2 - halfPadding + titleBox.height + halfPadding)\n // .attr('y2', -bbox.height / 2 - halfPadding + titleBox.height + halfPadding);\n\n updateNodeBounds(node, rect);\n\n node.intersect = function (point) {\n return intersect.rect(node, point);\n };\n\n return shapeSvg;\n};\n\nconst shapes = {\n question,\n rect,\n rectWithTitle,\n choice,\n circle,\n stadium,\n hexagon,\n rect_left_inv_arrow,\n lean_right,\n lean_left,\n trapezoid,\n inv_trapezoid,\n rect_right_inv_arrow,\n cylinder,\n start,\n end,\n note,\n subroutine,\n fork: forkJoin,\n join: forkJoin,\n class_box,\n};\n\nlet nodeElems = {};\n\nexport const insertNode = (elem, node, dir) => {\n let newEl;\n let el;\n\n // Add link when appropriate\n if (node.link) {\n newEl = elem\n .insert('svg:a')\n .attr('xlink:href', node.link)\n .attr('target', node.linkTarget || '_blank');\n el = shapes[node.shape](newEl, node, dir);\n } else {\n el = shapes[node.shape](elem, node, dir);\n newEl = el;\n }\n if (node.tooltip) {\n el.attr('title', node.tooltip);\n }\n if (node.class) {\n el.attr('class', 'node default ' + node.class);\n }\n\n nodeElems[node.id] = newEl;\n\n if (node.haveCallback) {\n nodeElems[node.id].attr('class', nodeElems[node.id].attr('class') + ' clickable');\n }\n};\nexport const setNodeElem = (elem, node) => {\n nodeElems[node.id] = elem;\n};\nexport const clear = () => {\n nodeElems = {};\n};\n\nexport const positionNode = (node) => {\n const el = nodeElems[node.id];\n log.trace(\n 'Transforming node',\n node.diff,\n node,\n 'translate(' + (node.x - node.width / 2 - 5) + ', ' + node.width / 2 + ')'\n );\n const padding = 8;\n const diff = node.diff || 0;\n if (node.clusterNode) {\n el.attr(\n 'transform',\n 'translate(' +\n (node.x + diff - node.width / 2) +\n ', ' +\n (node.y - node.height / 2 - padding) +\n ')'\n );\n } else {\n el.attr('transform', 'translate(' + node.x + ', ' + node.y + ')');\n }\n return diff;\n};\n","import { updateNodeBounds, labelHelper } from './util';\nimport { log } from '../../logger'; // eslint-disable-line\nimport intersect from '../intersect/index.js';\n\nconst note = (parent, node) => {\n const { shapeSvg, bbox, halfPadding } = labelHelper(parent, node, 'node ' + node.classes, true);\n\n log.info('Classes = ', node.classes);\n // add the rect\n const rect = shapeSvg.insert('rect', ':first-child');\n\n rect\n .attr('rx', node.rx)\n .attr('ry', node.ry)\n .attr('x', -bbox.width / 2 - halfPadding)\n .attr('y', -bbox.height / 2 - halfPadding)\n .attr('width', bbox.width + node.padding)\n .attr('height', bbox.height + node.padding);\n\n updateNodeBounds(node, rect);\n\n node.intersect = function (point) {\n return intersect.rect(node, point);\n };\n\n return shapeSvg;\n};\n\nexport default note;\n","import createLabel from '../createLabel';\nimport { getConfig } from '../../config';\nimport { select } from 'd3';\nimport { evaluate } from '../../diagrams/common/common';\nexport const labelHelper = (parent, node, _classes, isNode) => {\n let classes;\n if (!_classes) {\n classes = 'node default';\n } else {\n classes = _classes;\n }\n // Add outer g element\n const shapeSvg = parent\n .insert('g')\n .attr('class', classes)\n .attr('id', node.domId || node.id);\n\n // Create the label and insert it after the rect\n const label = shapeSvg.insert('g').attr('class', 'label').attr('style', node.labelStyle);\n\n const text = label\n .node()\n .appendChild(createLabel(node.labelText, node.labelStyle, false, isNode));\n\n // Get the size of the label\n let bbox = text.getBBox();\n\n if (evaluate(getConfig().flowchart.htmlLabels)) {\n const div = text.children[0];\n const dv = select(text);\n bbox = div.getBoundingClientRect();\n dv.attr('width', bbox.width);\n dv.attr('height', bbox.height);\n }\n\n const halfPadding = node.padding / 2;\n\n // Center the label\n label.attr('transform', 'translate(' + -bbox.width / 2 + ', ' + -bbox.height / 2 + ')');\n\n return { shapeSvg, bbox, halfPadding, label };\n};\n\nexport const updateNodeBounds = (node, element) => {\n const bbox = element.node().getBBox();\n node.width = bbox.width;\n node.height = bbox.height;\n};\n\nexport function insertPolygonShape(parent, w, h, points) {\n return parent\n .insert('polygon', ':first-child')\n .attr(\n 'points',\n points\n .map(function (d) {\n return d.x + ',' + d.y;\n })\n .join(' ')\n )\n .attr('class', 'label-container')\n .attr('transform', 'translate(' + -w / 2 + ',' + h / 2 + ')');\n}\n","import theme from './themes';\n/**\n * **Configuration methods in Mermaid version 8.6.0 have been updated, to learn more[[click here](8.6.0_docs.md)].**\n *\n * ## **What follows are config instructions for older versions**\n *\n * These are the default options which can be overridden with the initialization call like so:\n *\n * **Example 1:**\n *
\n * mermaid.initialize({\n *   flowchart:{\n *     htmlLabels: false\n *   }\n * });\n * 
\n *\n * **Example 2:**\n *
\n * <script>\n *   var config = {\n *     startOnLoad:true,\n *     flowchart:{\n *       useMaxWidth:true,\n *       htmlLabels:true,\n *       curve:'cardinal',\n *     },\n *\n *     securityLevel:'loose',\n *   };\n *   mermaid.initialize(config);\n * </script>\n * 
\n * A summary of all options and their defaults is found [here](#mermaidapi-configuration-defaults). A description of each option follows below.\n *\n * @name Configuration\n */\nconst config = {\n /**\n * theme , the CSS style sheet\n *\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | theme | Built in Themes | string | Optional | 'default', 'forest', 'dark', 'neutral', 'null'|\n *\n * **Notes:** To disable any pre-defined mermaid theme, use \"null\".\n *\n *
\n   *  \"theme\": \"forest\",\n   *  \"themeCSS\": \".node rect { fill: red; }\"\n   * 
\n */\n theme: 'default',\n themeVariables: theme['default'].getThemeVariables(),\n themeCSS: undefined,\n /* **maxTextSize** - The maximum allowed size of the users text diamgram */\n maxTextSize: 50000,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | fontFamily | specifies the font to be used in the rendered diagrams| string | Required | Any Posiable CSS FontFamily |\n *\n * **Notes:**\n * Default value: '\"trebuchet ms\", verdana, arial, sans-serif;'.\n */\n fontFamily: '\"trebuchet ms\", verdana, arial, sans-serif;',\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | logLevel |This option decides the amount of logging to be used.| string \\| number | Required | 1, 2, 3, 4, 5 |\n *\n *\n * **Notes:**\n *\n * - debug: 1\n * - info: 2\n * - warn: 3\n * - error: 4\n * - fatal: 5 (default)\n */\n logLevel: 5,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | securitylevel | Level of trust for parsed diagram|string | Required | 'strict', 'loose', 'antiscript' |\n *\n * **Notes**:\n *\n * - **strict**: (**default**) tags in text are encoded, click functionality is disabled\n * - **loose**: tags in text are allowed, click functionality is enabled\n * - **antiscript**: html tags in text are allowed, (only script element is removed), click functionality is enabled\n */\n securityLevel: 'strict',\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | startOnLoad | Dictates whether mermaind starts on Page load | boolean | Required | true, false |\n *\n * **Notes:** Default value: true\n */\n startOnLoad: true,\n\n /**\n * | Parameter | Description |Type | Required |Values|\n * | --- | --- | --- | --- | --- |\n * | arrowMarkerAbsolute | Controls whether or arrow markers in html code are absolute paths or anchors | boolean | Required | true, false |\n *\n *\n * **Notes**:\n *\n * This matters if you are using base tag settings.\n *\n * Default value: false\n */\n arrowMarkerAbsolute: false,\n\n /**\n * This option controls which currentConfig keys are considered _secure_ and can only be changed via\n * call to mermaidAPI.initialize. Calls to mermaidAPI.reinitialize cannot make changes to\n * the `secure` keys in the current currentConfig. This prevents malicious graph directives from\n * overriding a site's default security.\n\n * **Notes**:\n *\n * Default value: ['secure', 'securityLevel', 'startOnLoad', 'maxTextSize']\n */\n secure: ['secure', 'securityLevel', 'startOnLoad', 'maxTextSize'],\n\n /**\n * This option controls if the generated ids of nodes in the SVG are generated randomly or based on a seed.\n * If set to false, the IDs are generated based on the current date and thus are not deterministic. This is the default behaviour.\n *\n * **Notes**:\n *\n * This matters if your files are checked into sourcecontrol e.g. git and should not change unless content is changed.\n *\n * Default value: false\n */\n deterministicIds: false,\n\n /**\n * This option is the optional seed for deterministic ids. if set to undefined but deterministicIds is true, a simple number iterator is used.\n * You can set this attribute to base the seed on a static string.\n */\n deterministicIDSeed: undefined,\n\n /**\n * The object containing configurations specific for flowcharts\n */\n flowchart: {\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | diagramPadding | Amount of padding around the diagram as a whole | Integer | Required | Any Positive Value |\n *\n * **Notes:**\n *\n * The amount of padding around the diagram as a whole so that embedded diagrams have margins, expressed in pixels\n *\n * Default value: 8\n */\n diagramPadding: 8,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | htmlLabels | Flag for setting whether or not a html tag should be used for rendering labels on the edges. | boolean| Required | true, false |\n *\n * **Notes:** Default value: true.\n */\n htmlLabels: true,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | nodeSpacing | Defines the spacing between nodes on the same level | Integer | Required | Any positive Number |\n *\n * **Notes:**\n *\n * Pertains to horizontal spacing for TB (top to bottom) or BT (bottom to top) graphs, and the vertical spacing for LR as well as RL graphs.**\n *\n * Default value: 50\n */\n nodeSpacing: 50,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | rankSpacing | Defines the spacing between nodes on different levels | Integer | Required | Any Positive Number |\n *\n * **Notes**:\n *\n * pertains to vertical spacing for TB (top to bottom) or BT (bottom to top), and the horizontal spacing for LR as well as RL graphs.\n *\n * Default value 50\n */\n rankSpacing: 50,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | curve | Defines how mermaid renders curves for flowcharts. | string | Required | 'basis', 'linear', 'cardinal'|\n *\n * **Notes:**\n *\n * Default Vaue: 'basis'\n */\n curve: 'basis',\n // Only used in new experimental rendering\n // represents the padding between the labels and the shape\n padding: 15,\n\n /**\n * | Parameter | Description | Type | Required | Values|\n * | --- | --- | --- | --- | --- |\n * | useMaxWidth | See notes | boolean | 4 | true, false |\n *\n * **Notes:**\n *\n * When this flag is set the height and width is set to 100% and is then scaling with the\n * available space if not the absolute space required is used.\n *\n * Default value: true\n */\n useMaxWidth: true,\n\n /**\n * | Parameter | Description | Type | Required | Values|\n * | --- | --- | --- | --- | --- |\n * | defaultRenderer | See notes | boolean | 4 | dagre-d3, dagre-wrapper |\n *\n * **Notes:**\n *\n * Decides which rendering engine that is to be used for the rendering. Legal values are:\n * * dagre-d3\n * * dagre-wrapper - wrapper for dagre implemented in mermaid\n *\n * Default value: 'dagre-d3'\n */\n defaultRenderer: 'dagre-d3',\n },\n\n /**\n * The object containing configurations specific for sequence diagrams\n */\n sequence: {\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | activationWidth | Width of the activation rect | Integer | Required | Any Positive Value |\n *\n *\n * **Notes:** Default value :10\n */\n activationWidth: 10,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | diagramMarginX | Margin to the right and left of the sequence diagram | Integer | Required | Any Positive Value |\n *\n * **Notes:** Default value: 50\n */\n diagramMarginX: 50,\n\n /**\n *| Parameter | Description | Type | Required | Values |\n *| --- | --- | --- | --- | --- |\n *| diagramMarginY | Margin to the over and under the sequence diagram | Integer | Required | Any Positive Value |\n *\n * **Notes:** Default value: 10\n */\n diagramMarginY: 10,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | actorMargin | Margin between actors | Integer | Required | Any Positive Value |\n *\n * **Notes:**\n * Default value: 50\n */\n actorMargin: 50,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | width | Width of actor boxes | Integer | Required | Any Positive Value |\n *\n * **Notes:**\n * Default value: 150\n */\n width: 150,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | height | Height of actor boxes | Integer | Required | Any Positive Value|\n *\n * **Notes:**\n * Default value: 65\n */\n height: 65,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | boxMargin | Margin around loop boxes | Integer | Required | Any Positive Value |\n *\n * **Notes:**\n * Default value: 10\n */\n boxMargin: 10,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | boxTextMargin | Margin around the text in loop/alt/opt boxes | Integer | Required | Any Positive Value |\n *\n * **Notes:**\n * Default value: 5\n */\n boxTextMargin: 5,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | noteMargin | margin around notes | Integer | Required | Any Positive Value |\n *\n * **Notes:**\n * Default value: 10\n */\n noteMargin: 10,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | messageMargin | Space between messages | Integer | Required | Any Positive Value |\n *\n * **Notes:**\n * Default value: 35\n */\n messageMargin: 35,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | messageAlign | Multiline message alignment | string | Required | 'left', 'center', 'right' |\n *\n * **Notes:**\n * Default value: 'center'\n */\n messageAlign: 'center',\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | mirrorActors | Mirror actors under diagram | boolean | Required | true, false |\n *\n * **Notes:**\n * Default value: true\n */\n mirrorActors: true,\n\n /**\n *| Parameter | Description |Type | Required | Values|\n *| --- | --- | --- | --- | --- |\n *| forceMenus | forces actor popup menus to always be visible (to support E2E testing). | Boolean| Required | True, False |\n *\n * **Notes:**\n *\n * Default value: false.\n */\n forceMenus: false,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | bottomMarginAdj | Prolongs the edge of the diagram downwards | Integer | Required | Any Positive Value |\n *\n * **Notes:**\n *\n * Depending on css styling this might need adjustment.\n *\n * Default value: 1\n */\n bottomMarginAdj: 1,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | useMaxWidth | See Notes | boolean | Required | true, false |\n *\n * **Notes:**\n * When this flag is set to true, the height and width is set to 100% and is then scaling with the\n * available space. If set to false, the absolute space required is used.\n *\n * Default value: true\n */\n useMaxWidth: true,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | rightAngles | display curve arrows as right angles | boolean | Required | true, false |\n *\n * **Notes:**\n *\n * This will display arrows that start and begin at the same node as right angles, rather than a curve\n *\n * Default value: false\n */\n rightAngles: false,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | showSequenceNumbers | This will show the node numbers | boolean | Required | true, false |\n *\n * **Notes:**\n * Default value: false\n */\n showSequenceNumbers: false,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | actorFontSize| This sets the font size of the actor's description | Integer | Require | Any Positive Value |\n *\n ***Notes:**\n ***Default value 14**..\n */\n actorFontSize: 14,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | actorFontFamily |This sets the font family of the actor's description | string | Required | Any Posiable CSS FontFamily |\n *\n * **Notes:**\n * Default value: \"'Open-Sans\", \"sans-serif\"'\n */\n actorFontFamily: '\"Open-Sans\", \"sans-serif\"',\n\n /**\n * This sets the font weight of the actor's description\n *\n * **Notes:**\n * Default value: 400.\n */\n actorFontWeight: 400,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | noteFontSize | This sets the font size of actor-attached notes | Integer | Required | Any Positive Value |\n *\n * **Notes:**\n * Default value: 14\n */\n noteFontSize: 14,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | noteFontFamily| This sets the font family of actor-attached notes. | string | Required | Any Posiable CSS FontFamily |\n *\n * **Notes:**\n * Default value: ''\"trebuchet ms\", verdana, arial, sans-serif'\n */\n noteFontFamily: '\"trebuchet ms\", verdana, arial, sans-serif',\n\n /**\n * This sets the font weight of the note's description\n *\n * **Notes:**\n * Default value: 400\n */\n noteFontWeight: 400,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | noteAlign | This sets the text alignment of actor-attached notes | string | required | 'left', 'center', 'right'|\n *\n * **Notes:**\n * Default value: 'center'\n */\n noteAlign: 'center',\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | messageFontSize | This sets the font size of actor messages | Integer | Required | Any Positive Number |\n *\n * **Notes:**\n * Default value: 16\n */\n messageFontSize: 16,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | messageFontFamily | This sets the font family of actor messages | string | Required | Any Posiable CSS FontFamily |\n *\n * **Notes:**\n * Default value: '\"trebuchet ms\", verdana, arial, sans-serif'\n */\n messageFontFamily: '\"trebuchet ms\", verdana, arial, sans-serif',\n\n /**\n * This sets the font weight of the message's description\n *\n * **Notes:**\n * Default value: 400.\n */\n messageFontWeight: 400,\n\n /**\n * This sets the auto-wrap state for the diagram\n *\n * **Notes:**\n * Default value: false.\n */\n wrap: false,\n\n /**\n * This sets the auto-wrap padding for the diagram (sides only)\n *\n * **Notes:**\n * Default value: 0.\n */\n wrapPadding: 10,\n\n /**\n * This sets the width of the loop-box (loop, alt, opt, par)\n *\n * **Notes:**\n * Default value: 50.\n */\n labelBoxWidth: 50,\n\n /**\n * This sets the height of the loop-box (loop, alt, opt, par)\n *\n * **Notes:**\n * Default value: 20.\n */\n labelBoxHeight: 20,\n\n messageFont: function () {\n return {\n fontFamily: this.messageFontFamily,\n fontSize: this.messageFontSize,\n fontWeight: this.messageFontWeight,\n };\n },\n noteFont: function () {\n return {\n fontFamily: this.noteFontFamily,\n fontSize: this.noteFontSize,\n fontWeight: this.noteFontWeight,\n };\n },\n actorFont: function () {\n return {\n fontFamily: this.actorFontFamily,\n fontSize: this.actorFontSize,\n fontWeight: this.actorFontWeight,\n };\n },\n },\n\n /**\n * The object containing configurations specific for gantt diagrams\n */\n gantt: {\n /**\n * ### titleTopMargin\n *\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | titleTopMargin | Margin top for the text over the gantt diagram | Integer | Required | Any Positive Value |\n *\n * **Notes:**\n * Default value: 25\n */\n titleTopMargin: 25,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | barHeight | The height of the bars in the graph | Integer | Required | Any Positive Value |\n *\n * **Notes:**\n * Default value: 20\n */\n barHeight: 20,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | barGap | The margin between the different activities in the gantt diagram | Integer | Optional | Any Positive Value |\n *\n * **Notes:**\n * Default value: 4\n */\n barGap: 4,\n\n /**\n * | Parameter | Description | Type | Required | Values|\n * | --- | --- | --- | --- | --- |\n * | topPadding | Margin between title and gantt diagram and between axis and gantt diagram. | Integer | Required | Any Positive Value |\n *\n * **Notes:**\n * Default value: 50\n */\n topPadding: 50,\n\n /**\n * | Parameter | Description | Type | Required | Values|\n * | --- | --- | --- | --- | --- |\n * | rightPadding | The space allocated for the section name to the right of the activities | Integer | Required | Any Positive Value |\n *\n * **Notes:**\n * Default value: 75\n */\n rightPadding: 75,\n\n /**\n * | Parameter | Description | Type | Required | Values|\n * | --- | --- | --- | --- | --- |\n * | leftPadding | The space allocated for the section name to the left of the activities | Integer | Required | Any Positive Value |\n *\n * **Notes:**\n * Default value: 75\n */\n leftPadding: 75,\n\n /**\n * | Parameter | Description | Type | Required | Values|\n * | --- | --- | --- | --- | --- |\n * | gridLineStartPadding | Vertical starting position of the grid lines | Integer | Required | Any Positive Value |\n *\n * **Notes:**\n * Default value: 35\n */\n gridLineStartPadding: 35,\n\n /**\n * | Parameter | Description | Type | Required | Values|\n * | --- | --- | --- | --- | --- |\n * | fontSize | Font size | Integer | Required | Any Positive Value |\n *\n * **Notes:**\n * Default value: 11\n */\n fontSize: 11,\n\n /**\n * | Parameter | Description | Type | Required | Values|\n * | --- | --- | --- | --- | --- |\n * | sectionFontSize | Font size for secions| Integer | Required | Any Positive Value |\n *\n * **Notes:**\n * Default value: 11\n */\n sectionFontSize: 11,\n\n /**\n * | Parameter | Description | Type | Required | Values|\n * | --- | --- | --- | --- | --- |\n * | numberSectionStyles | The number of alternating section styles | Integer | 4 | Any Positive Value |\n *\n * **Notes:**\n * Default value: 4\n */\n numberSectionStyles: 4,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | axisFormat | Datetime format of the axis | 3 | Required | Date in yy-mm-dd |\n *\n * **Notes:**\n *\n * This might need adjustment to match your locale and preferences\n *\n * Default value: '%Y-%m-%d'.\n */\n axisFormat: '%Y-%m-%d',\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | useMaxWidth | See notes | boolean | 4 | true, false |\n *\n * **Notes:**\n *\n * When this flag is set the height and width is set to 100% and is then scaling with the\n * available space if not the absolute space required is used.\n *\n * Default value: true\n */\n useMaxWidth: true,\n\n /**\n *| Parameter | Description |Type | Required | Values|\n *| --- | --- | --- | --- | --- |\n *| topAxis | See notes | Boolean | 4 | True, False |\n *\n ***Notes:** when this flag is set date labels will be added to the\ntop of the chart\n *\n ***Default value false**.\n */\n topAxis: false,\n\n useWidth: undefined,\n },\n\n /**\n * The object containing configurations specific for journey diagrams\n */\n journey: {\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | diagramMarginX | Margin to the right and left of the sequence diagram | Integer | Required | Any Positive Value |\n *\n * **Notes:**\n * Default value: 50\n */\n diagramMarginX: 50,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | diagramMarginY | Margin to the over and under the sequence diagram. | Integer | Required | Any Positive Value |\n *\n * **Notes:**\n * Default value: 10\n */\n diagramMarginY: 10,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | actorMargin | Margin between actors | Integer | Required | Any Positive Value |\n *\n * **Notes:**\n * Default value: 50\n */\n leftMargin: 150,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | width | Width of actor boxes | Integer | Required | Any Positive Value |\n *\n * **Notes:**\n * Default value: 150\n */\n width: 150,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | height | Height of actor boxes | Integer | Required | Any Positive Value |\n *\n * **Notes:**\n * Default value: 65\n */\n height: 50,\n\n /**\n *| Parameter | Description |Type | Required | Values|\n *| --- | --- | --- | --- | --- |\n *| boxMargin | Margin around loop boxes | Integer | Required | Any Positive Value |\n *\n * **Notes:**\n * Default value: 10\n */\n boxMargin: 10,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | boxTextMargin | Margin around the text in loop/alt/opt boxes | Integer | Required | Any Positive Value |\n *\n * **Notes:**\n * Default value: 5\n */\n boxTextMargin: 5,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | noteMargin | Margin around notes | Integer | Required | Any Positive Value |\n *\n * **Notes:**\n * Default value: 10\n */\n noteMargin: 10,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | messageMargin |Space between messages. | Integer | Required | Any Positive Value |\n *\n * **Notes:**\n *\n * Space between messages.\n *\n * Default value: 35\n */\n messageMargin: 35,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | messageAlign | Multiline message alignment | 3 | 4 | 'left', 'center', 'right' |\n *\n * **Notes:**\n * Default value: 'center'\n */\n messageAlign: 'center',\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | bottomMarginAdj | Prolongs the edge of the diagram downwards | Integer | 4 | Any Positive Value |\n *\n * **Notes:**\n *\n * Depending on css styling this might need adjustment.\n *\n * Default value: 1\n */\n bottomMarginAdj: 1,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | useMaxWidth | See notes | boolean | 4 | true, false |\n *\n * **Notes:**\n *\n * When this flag is set the height and width is set to 100% and is then scaling with the\n * available space if not the absolute space required is used.\n *\n * Default value: true\n */\n useMaxWidth: true,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | rightAngles | Curved Arrows become Right Angles | 3 | 4 | true, false |\n *\n * **Notes:**\n *\n * This will display arrows that start and begin at the same node as right angles, rather than a curves\n *\n * Default value: false\n */\n rightAngles: false,\n taskFontSize: 14,\n taskFontFamily: '\"Open-Sans\", \"sans-serif\"',\n taskMargin: 50,\n // width of activation box\n activationWidth: 10,\n\n // text placement as: tspan | fo | old only text as before\n textPlacement: 'fo',\n actorColours: ['#8FBC8F', '#7CFC00', '#00FFFF', '#20B2AA', '#B0E0E6', '#FFFFE0'],\n\n sectionFills: ['#191970', '#8B008B', '#4B0082', '#2F4F4F', '#800000', '#8B4513', '#00008B'],\n sectionColours: ['#fff'],\n },\n class: {\n arrowMarkerAbsolute: false,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | useMaxWidth | See notes | boolean | 4 | true, false |\n *\n * **Notes:**\n *\n * When this flag is set the height and width is set to 100% and is then scaling with the\n * available space if not the absolute space required is used.\n *\n * Default value: true\n */\n useMaxWidth: true,\n /**\n * | Parameter | Description | Type | Required | Values|\n * | --- | --- | --- | --- | --- |\n * | defaultRenderer | See notes | boolean | 4 | dagre-d3, dagre-wrapper |\n *\n * **Notes:**\n *\n * Decides which rendering engine that is to be used for the rendering. Legal values are:\n * * dagre-d3\n * * dagre-wrapper - wrapper for dagre implemented in mermaid\n *\n * Default value: 'dagre-d3'\n */\n defaultRenderer: 'dagre-wrapper',\n },\n git: {\n arrowMarkerAbsolute: false,\n\n useWidth: undefined,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | useMaxWidth | See notes | boolean | 4 | true, false |\n *\n * **Notes:**\n *\n * When this flag is set the height and width is set to 100% and is then scaling with the\n * available space if not the absolute space required is used.\n *\n * Default value: true\n */\n useMaxWidth: true,\n },\n state: {\n dividerMargin: 10,\n sizeUnit: 5,\n padding: 8,\n textHeight: 10,\n titleShift: -15,\n noteMargin: 10,\n forkWidth: 70,\n forkHeight: 7,\n // Used\n miniPadding: 2,\n // Font size factor, this is used to guess the width of the edges labels before rendering by dagre\n // layout. This might need updating if/when switching font\n fontSizeFactor: 5.02,\n fontSize: 24,\n labelHeight: 16,\n edgeLengthFactor: '20',\n compositTitleSize: 35,\n radius: 5,\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | useMaxWidth | See notes | boolean | 4 | true, false |\n *\n * **Notes:**\n *\n * When this flag is set the height and width is set to 100% and is then scaling with the\n * available space if not the absolute space required is used.\n *\n * Default value: true\n */\n useMaxWidth: true,\n /**\n * | Parameter | Description | Type | Required | Values|\n * | --- | --- | --- | --- | --- |\n * | defaultRenderer | See notes | boolean | 4 | dagre-d3, dagre-wrapper |\n *\n * **Notes:**\n *\n * Decides which rendering engine that is to be used for the rendering. Legal values are:\n * * dagre-d3\n * * dagre-wrapper - wrapper for dagre implemented in mermaid\n *\n * Default value: 'dagre-d3'\n */\n defaultRenderer: 'dagre-wrapper',\n },\n\n /**\n * The object containing configurations specific for entity relationship diagrams\n */\n er: {\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | diagramPadding | Amount of padding around the diagram as a whole | Integer | Required | Any Positive Value |\n *\n * **Notes:**\n *\n * The amount of padding around the diagram as a whole so that embedded diagrams have margins, expressed in pixels\n *\n * Default value: 20\n */\n diagramPadding: 20,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | layoutDirection | Directional bias for layout of entities. | string | Required | \"TB\", \"BT\", \"LR\", \"RL\" |\n *\n * **Notes:**\n *\n * 'TB' for Top-Bottom, 'BT'for Bottom-Top, 'LR' for Left-Right, or 'RL' for Right to Left.\n *\n * T = top, B = bottom, L = left, and R = right.\n *\n * Default value: 'TB'\n */\n layoutDirection: 'TB',\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | minEntityWidth | The mimimum width of an entity box | Integer | Required | Any Positive Value |\n *\n * **Notes:**\n * Expressed in pixels.\n * Default value: 100\n */\n minEntityWidth: 100,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | minEntityHeight| The minimum height of an entity box | Integer | 4 | Any Positive Value |\n *\n * **Notes:**\n * Expressed in pixels\n * Default value: 75\n */\n minEntityHeight: 75,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | entityPadding | Minimum internal padding betweentext in box and box borders | Integer | 4 | Any Positive Value |\n *\n * **Notes:**\n *\n * The minimum internal padding betweentext in an entity box and the enclosing box borders, expressed in pixels.\n *\n * Default value: 15\n */\n entityPadding: 15,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | stroke | Stroke color of box edges and lines | string | 4 | Any recognized color |\n *\n * **Notes:**\n * Default value: 'gray'\n */\n stroke: 'gray',\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | fill | Fill color of entity boxes | string | 4 | Any recognized color |\n *\n * **Notes:**\n * Default value: 'honeydew'\n */\n fill: 'honeydew',\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | fontSize | Font Size in pixels | Integer | | Any Positive Value |\n *\n * **Notes:**\n *\n * Font size (expressed as an integer representing a number of pixels)\n * Default value: 12\n */\n fontSize: 12,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | useMaxWidth | See Notes | boolean | Required | true, false |\n *\n * **Notes:**\n *\n * When this flag is set to true, the diagram width is locked to 100% and\n * scaled based on available space. If set to false, the diagram reserves its\n * absolute width.\n *\n * Default value: true\n */\n useMaxWidth: true,\n },\n\n /**\n * The object containing configurations specific for pie diagrams\n */\n pie: {\n useWidth: undefined,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | useMaxWidth | See Notes | boolean | Required | true, false |\n *\n * **Notes:**\n *\n * When this flag is set to true, the diagram width is locked to 100% and\n * scaled based on available space. If set to false, the diagram reserves its\n * absolute width.\n *\n * Default value: true\n */\n useMaxWidth: true,\n },\n\n /**\n * The object containing configurations specific for req diagrams\n */\n requirement: {\n useWidth: undefined,\n\n /**\n * | Parameter | Description | Type | Required | Values |\n * | --- | --- | --- | --- | --- |\n * | useMaxWidth | See Notes | boolean | Required | true, false |\n *\n * **Notes:**\n *\n * When this flag is set to true, the diagram width is locked to 100% and\n * scaled based on available space. If set to false, the diagram reserves its\n * absolute width.\n *\n * Default value: true\n */\n useMaxWidth: true,\n\n rect_fill: '#f9f9f9',\n text_color: '#333',\n rect_border_size: '0.5px',\n rect_border_color: '#bbb',\n rect_min_width: 200,\n rect_min_height: 200,\n fontSize: 14,\n rect_padding: 10,\n line_height: 20,\n },\n};\n\nconfig.class.arrowMarkerAbsolute = config.arrowMarkerAbsolute;\nconfig.git.arrowMarkerAbsolute = config.arrowMarkerAbsolute;\n\nconst keyify = (obj, prefix = '') =>\n Object.keys(obj).reduce((res, el) => {\n if (Array.isArray(obj[el])) {\n return res;\n } else if (typeof obj[el] === 'object' && obj[el] !== null) {\n return [...res, prefix + el, ...keyify(obj[el], '')];\n }\n return [...res, prefix + el];\n }, []);\n\nexport const configKeys = keyify(config, '');\nexport default config;\n","import { select } from 'd3';\nimport { log } from '../../logger';\nimport * as configApi from '../../config';\nimport common from '../common/common';\nimport utils from '../../utils';\nimport mermaidAPI from '../../mermaidAPI';\n\nconst MERMAID_DOM_ID_PREFIX = 'classid-';\n\nlet relations = [];\nlet classes = {};\nlet classCounter = 0;\n\nlet funs = [];\n\nexport const parseDirective = function (statement, context, type) {\n mermaidAPI.parseDirective(this, statement, context, type);\n};\n\nconst splitClassNameAndType = function (id) {\n let genericType = '';\n let className = id;\n\n if (id.indexOf('~') > 0) {\n let split = id.split('~');\n className = split[0];\n\n genericType = split[1];\n }\n\n return { className: className, type: genericType };\n};\n\n/**\n * Function called by parser when a node definition has been found.\n * @param id\n * @public\n */\nexport const addClass = function (id) {\n let classId = splitClassNameAndType(id);\n // Only add class if not exists\n if (typeof classes[classId.className] !== 'undefined') return;\n\n classes[classId.className] = {\n id: classId.className,\n type: classId.type,\n cssClasses: [],\n methods: [],\n members: [],\n annotations: [],\n domId: MERMAID_DOM_ID_PREFIX + classId.className + '-' + classCounter,\n };\n\n classCounter++;\n};\n\n/**\n * Function to lookup domId from id in the graph definition.\n * @param id\n * @public\n */\nexport const lookUpDomId = function (id) {\n const classKeys = Object.keys(classes);\n for (let i = 0; i < classKeys.length; i++) {\n if (classes[classKeys[i]].id === id) {\n return classes[classKeys[i]].domId;\n }\n }\n};\n\nexport const clear = function () {\n relations = [];\n classes = {};\n funs = [];\n funs.push(setupToolTips);\n};\n\nexport const getClass = function (id) {\n return classes[id];\n};\nexport const getClasses = function () {\n return classes;\n};\n\nexport const getRelations = function () {\n return relations;\n};\n\nexport const addRelation = function (relation) {\n log.debug('Adding relation: ' + JSON.stringify(relation));\n addClass(relation.id1);\n addClass(relation.id2);\n\n relation.id1 = splitClassNameAndType(relation.id1).className;\n relation.id2 = splitClassNameAndType(relation.id2).className;\n\n relations.push(relation);\n};\n\n/**\n * Adds an annotation to the specified class\n * Annotations mark special properties of the given type (like 'interface' or 'service')\n * @param className The class name\n * @param annotation The name of the annotation without any brackets\n * @public\n */\nexport const addAnnotation = function (className, annotation) {\n const validatedClassName = splitClassNameAndType(className).className;\n classes[validatedClassName].annotations.push(annotation);\n};\n\n/**\n * Adds a member to the specified class\n * @param className The class name\n * @param member The full name of the member.\n * If the member is enclosed in <> it is treated as an annotation\n * If the member is ending with a closing bracket ) it is treated as a method\n * Otherwise the member will be treated as a normal property\n * @public\n */\nexport const addMember = function (className, member) {\n const validatedClassName = splitClassNameAndType(className).className;\n const theClass = classes[validatedClassName];\n\n if (typeof member === 'string') {\n // Member can contain white spaces, we trim them out\n const memberString = member.trim();\n\n if (memberString.startsWith('<<') && memberString.endsWith('>>')) {\n // Remove leading and trailing brackets\n theClass.annotations.push(memberString.substring(2, memberString.length - 2));\n } else if (memberString.indexOf(')') > 0) {\n theClass.methods.push(memberString);\n } else if (memberString) {\n theClass.members.push(memberString);\n }\n }\n};\n\nexport const addMembers = function (className, members) {\n if (Array.isArray(members)) {\n members.reverse();\n members.forEach((member) => addMember(className, member));\n }\n};\n\nexport const cleanupLabel = function (label) {\n if (label.substring(0, 1) === ':') {\n return label.substr(1).trim();\n } else {\n return label.trim();\n }\n};\n\n/**\n * Called by parser when a special node is found, e.g. a clickable element.\n * @param ids Comma separated list of ids\n * @param className Class to add\n */\nexport const setCssClass = function (ids, className) {\n ids.split(',').forEach(function (_id) {\n let id = _id;\n if (_id[0].match(/\\d/)) id = MERMAID_DOM_ID_PREFIX + id;\n if (typeof classes[id] !== 'undefined') {\n classes[id].cssClasses.push(className);\n }\n });\n};\n\n/**\n * Called by parser when a tooltip is found, e.g. a clickable element.\n * @param ids Comma separated list of ids\n * @param tooltip Tooltip to add\n */\nconst setTooltip = function (ids, tooltip) {\n const config = configApi.getConfig();\n ids.split(',').forEach(function (id) {\n if (typeof tooltip !== 'undefined') {\n classes[id].tooltip = common.sanitizeText(tooltip, config);\n }\n });\n};\n\n/**\n * Called by parser when a link is found. Adds the URL to the vertex data.\n * @param ids Comma separated list of ids\n * @param linkStr URL to create a link for\n * @param target Target of the link, _blank by default as originally defined in the svgDraw.js file\n */\nexport const setLink = function (ids, linkStr, target) {\n const config = configApi.getConfig();\n ids.split(',').forEach(function (_id) {\n let id = _id;\n if (_id[0].match(/\\d/)) id = MERMAID_DOM_ID_PREFIX + id;\n if (typeof classes[id] !== 'undefined') {\n classes[id].link = utils.formatUrl(linkStr, config);\n if (typeof target === 'string') {\n classes[id].linkTarget = target;\n } else {\n classes[id].linkTarget = '_blank';\n }\n }\n });\n setCssClass(ids, 'clickable');\n};\n\n/**\n * Called by parser when a click definition is found. Registers an event handler.\n * @param ids Comma separated list of ids\n * @param functionName Function to be called on click\n * @param functionArgs Function args the function should be called with\n */\nexport const setClickEvent = function (ids, functionName, functionArgs) {\n ids.split(',').forEach(function (id) {\n setClickFunc(id, functionName, functionArgs);\n classes[id].haveCallback = true;\n });\n setCssClass(ids, 'clickable');\n};\n\nconst setClickFunc = function (domId, functionName, functionArgs) {\n const config = configApi.getConfig();\n let id = domId;\n let elemId = lookUpDomId(id);\n\n if (config.securityLevel !== 'loose') {\n return;\n }\n if (typeof functionName === 'undefined') {\n return;\n }\n if (typeof classes[id] !== 'undefined') {\n let argList = [];\n if (typeof functionArgs === 'string') {\n /* Splits functionArgs by ',', ignoring all ',' in double quoted strings */\n argList = functionArgs.split(/,(?=(?:(?:[^\"]*\"){2})*[^\"]*$)/);\n for (let i = 0; i < argList.length; i++) {\n let item = argList[i].trim();\n /* Removes all double quotes at the start and end of an argument */\n /* This preserves all starting and ending whitespace inside */\n if (item.charAt(0) === '\"' && item.charAt(item.length - 1) === '\"') {\n item = item.substr(1, item.length - 2);\n }\n argList[i] = item;\n }\n }\n\n /* if no arguments passed into callback, default to passing in id */\n if (argList.length === 0) {\n argList.push(elemId);\n }\n\n funs.push(function () {\n const elem = document.querySelector(`[id=\"${elemId}\"]`);\n if (elem !== null) {\n elem.addEventListener(\n 'click',\n function () {\n utils.runFunc(functionName, ...argList);\n },\n false\n );\n }\n });\n }\n};\n\nexport const bindFunctions = function (element) {\n funs.forEach(function (fun) {\n fun(element);\n });\n};\n\nexport const lineType = {\n LINE: 0,\n DOTTED_LINE: 1,\n};\n\nexport const relationType = {\n AGGREGATION: 0,\n EXTENSION: 1,\n COMPOSITION: 2,\n DEPENDENCY: 3,\n};\n\nconst setupToolTips = function (element) {\n let tooltipElem = select('.mermaidTooltip');\n if ((tooltipElem._groups || tooltipElem)[0][0] === null) {\n tooltipElem = select('body').append('div').attr('class', 'mermaidTooltip').style('opacity', 0);\n }\n\n const svg = select(element).select('svg');\n\n const nodes = svg.selectAll('g.node');\n nodes\n .on('mouseover', function () {\n const el = select(this);\n const title = el.attr('title');\n // Dont try to draw a tooltip if no data is provided\n if (title === null) {\n return;\n }\n const rect = this.getBoundingClientRect();\n\n tooltipElem.transition().duration(200).style('opacity', '.9');\n tooltipElem\n .html(el.attr('title'))\n .style('left', window.scrollX + rect.left + (rect.right - rect.left) / 2 + 'px')\n .style('top', window.scrollY + rect.top - 14 + document.body.scrollTop + 'px');\n el.classed('hover', true);\n })\n .on('mouseout', function () {\n tooltipElem.transition().duration(500).style('opacity', 0);\n const el = select(this);\n el.classed('hover', false);\n });\n};\nfuns.push(setupToolTips);\n\nlet direction = 'TB';\nconst getDirection = () => direction;\nconst setDirection = (dir) => {\n direction = dir;\n};\n\nexport default {\n parseDirective,\n getConfig: () => configApi.getConfig().class,\n addClass,\n bindFunctions,\n clear,\n getClass,\n getClasses,\n addAnnotation,\n getRelations,\n addRelation,\n getDirection,\n setDirection,\n addMember,\n addMembers,\n cleanupLabel,\n lineType,\n relationType,\n setClickEvent,\n setCssClass,\n setLink,\n setTooltip,\n lookUpDomId,\n};\n","import { select } from 'd3';\nimport dagre from 'dagre';\nimport graphlib from 'graphlib';\nimport { log } from '../../logger';\nimport classDb, { lookUpDomId } from './classDb';\nimport { parser } from './parser/classDiagram';\nimport svgDraw from './svgDraw';\nimport { getConfig } from '../../config';\nimport { render } from '../../dagre-wrapper/index.js';\n// import addHtmlLabel from 'dagre-d3/lib/label/add-html-label.js';\nimport { curveLinear } from 'd3';\nimport { interpolateToCurve, getStylesFromArray, configureSvgSize } from '../../utils';\nimport common from '../common/common';\n\nparser.yy = classDb;\n\nlet idCache = {};\nconst padding = 20;\n\nconst conf = {\n dividerMargin: 10,\n padding: 5,\n textHeight: 10,\n};\n\n/**\n * Function that adds the vertices found during parsing to the graph to be rendered.\n * @param vert Object containing the vertices.\n * @param g The graph that is to be drawn.\n */\nexport const addClasses = function (classes, g) {\n // const svg = select(`[id=\"${svgId}\"]`);\n const keys = Object.keys(classes);\n log.info('keys:', keys);\n log.info(classes);\n\n // Iterate through each item in the vertex object (containing all the vertices found) in the graph definition\n keys.forEach(function (id) {\n const vertex = classes[id];\n\n /**\n * Variable for storing the classes for the vertex\n * @type {string}\n */\n let cssClassStr = '';\n if (vertex.cssClasses.length > 0) {\n cssClassStr = cssClassStr + ' ' + vertex.cssClasses.join(' ');\n }\n // if (vertex.classes.length > 0) {\n // classStr = vertex.classes.join(' ');\n // }\n\n const styles = { labelStyle: '' }; //getStylesFromArray(vertex.styles);\n\n // Use vertex id as text in the box if no text is provided by the graph definition\n let vertexText = vertex.text !== undefined ? vertex.text : vertex.id;\n\n // We create a SVG label, either by delegating to addHtmlLabel or manually\n // let vertexNode;\n // if (evaluate(getConfig().flowchart.htmlLabels)) {\n // const node = {\n // label: vertexText.replace(\n // /fa[lrsb]?:fa-[\\w-]+/g,\n // s => ``\n // )\n // };\n // vertexNode = addHtmlLabel(svg, node).node();\n // vertexNode.parentNode.removeChild(vertexNode);\n // } else {\n // const svgLabel = document.createElementNS('http://www.w3.org/2000/svg', 'text');\n // svgLabel.setAttribute('style', styles.labelStyle.replace('color:', 'fill:'));\n\n // const rows = vertexText.split(common.lineBreakRegex);\n\n // for (let j = 0; j < rows.length; j++) {\n // const tspan = document.createElementNS('http://www.w3.org/2000/svg', 'tspan');\n // tspan.setAttributeNS('http://www.w3.org/XML/1998/namespace', 'xml:space', 'preserve');\n // tspan.setAttribute('dy', '1em');\n // tspan.setAttribute('x', '1');\n // tspan.textContent = rows[j];\n // svgLabel.appendChild(tspan);\n // }\n // vertexNode = svgLabel;\n // }\n\n let radious = 0;\n let _shape = '';\n // Set the shape based parameters\n switch (vertex.type) {\n case 'class':\n _shape = 'class_box';\n break;\n default:\n _shape = 'class_box';\n }\n // Add the node\n g.setNode(vertex.id, {\n labelStyle: styles.labelStyle,\n shape: _shape,\n labelText: vertexText,\n classData: vertex,\n rx: radious,\n ry: radious,\n class: cssClassStr,\n style: styles.style,\n id: vertex.id,\n domId: vertex.domId,\n haveCallback: vertex.haveCallback,\n link: vertex.link,\n width: vertex.type === 'group' ? 500 : undefined,\n type: vertex.type,\n padding: getConfig().flowchart.padding,\n });\n\n log.info('setNode', {\n labelStyle: styles.labelStyle,\n shape: _shape,\n labelText: vertexText,\n rx: radious,\n ry: radious,\n class: cssClassStr,\n style: styles.style,\n id: vertex.id,\n width: vertex.type === 'group' ? 500 : undefined,\n type: vertex.type,\n padding: getConfig().flowchart.padding,\n });\n });\n};\n\n/**\n * Add edges to graph based on parsed graph defninition\n * @param {Object} edges The edges to add to the graph\n * @param {Object} g The graph object\n */\nexport const addRelations = function (relations, g) {\n let cnt = 0;\n\n let defaultStyle;\n let defaultLabelStyle;\n\n // if (typeof relations.defaultStyle !== 'undefined') {\n // const defaultStyles = getStylesFromArray(relations.defaultStyle);\n // defaultStyle = defaultStyles.style;\n // defaultLabelStyle = defaultStyles.labelStyle;\n // }\n\n relations.forEach(function (edge) {\n cnt++;\n const edgeData = {};\n //Set relationship style and line type\n edgeData.classes = 'relation';\n edgeData.pattern = edge.relation.lineType == 1 ? 'dashed' : 'solid';\n\n edgeData.id = 'id' + cnt;\n // Set link type for rendering\n if (edge.type === 'arrow_open') {\n edgeData.arrowhead = 'none';\n } else {\n edgeData.arrowhead = 'normal';\n }\n\n log.info(edgeData, edge);\n //Set edge extra labels\n //edgeData.startLabelLeft = edge.relationTitle1;\n edgeData.startLabelRight = edge.relationTitle1 === 'none' ? '' : edge.relationTitle1;\n edgeData.endLabelLeft = edge.relationTitle2 === 'none' ? '' : edge.relationTitle2;\n //edgeData.endLabelRight = edge.relationTitle2;\n\n //Set relation arrow types\n edgeData.arrowTypeStart = getArrowMarker(edge.relation.type1);\n edgeData.arrowTypeEnd = getArrowMarker(edge.relation.type2);\n let style = '';\n let labelStyle = '';\n\n if (typeof edge.style !== 'undefined') {\n const styles = getStylesFromArray(edge.style);\n style = styles.style;\n labelStyle = styles.labelStyle;\n } else {\n style = 'fill:none';\n if (typeof defaultStyle !== 'undefined') {\n style = defaultStyle;\n }\n if (typeof defaultLabelStyle !== 'undefined') {\n labelStyle = defaultLabelStyle;\n }\n }\n\n edgeData.style = style;\n edgeData.labelStyle = labelStyle;\n\n if (typeof edge.interpolate !== 'undefined') {\n edgeData.curve = interpolateToCurve(edge.interpolate, curveLinear);\n } else if (typeof relations.defaultInterpolate !== 'undefined') {\n edgeData.curve = interpolateToCurve(relations.defaultInterpolate, curveLinear);\n } else {\n edgeData.curve = interpolateToCurve(conf.curve, curveLinear);\n }\n\n edge.text = edge.title;\n if (typeof edge.text === 'undefined') {\n if (typeof edge.style !== 'undefined') {\n edgeData.arrowheadStyle = 'fill: #333';\n }\n } else {\n edgeData.arrowheadStyle = 'fill: #333';\n edgeData.labelpos = 'c';\n\n if (getConfig().flowchart.htmlLabels) { // eslint-disable-line\n edgeData.labelType = 'html';\n edgeData.label = '' + edge.text + '';\n } else {\n edgeData.labelType = 'text';\n edgeData.label = edge.text.replace(common.lineBreakRegex, '\\n');\n\n if (typeof edge.style === 'undefined') {\n edgeData.style = edgeData.style || 'stroke: #333; stroke-width: 1.5px;fill:none';\n }\n\n edgeData.labelStyle = edgeData.labelStyle.replace('color:', 'fill:');\n }\n }\n // Add the edge to the graph\n g.setEdge(edge.id1, edge.id2, edgeData, cnt);\n });\n};\n\n// Todo optimize\nconst getGraphId = function (label) {\n const keys = Object.keys(idCache);\n\n for (let i = 0; i < keys.length; i++) {\n if (idCache[keys[i]].label === label) {\n return keys[i];\n }\n }\n\n return undefined;\n};\n\nexport const setConf = function (cnf) {\n const keys = Object.keys(cnf);\n\n keys.forEach(function (key) {\n conf[key] = cnf[key];\n });\n};\n\n/**\n * Draws a flowchart in the tag with id: id based on the graph definition in text.\n * @param text\n * @param id\n */\nexport const drawOld = function (text, id) {\n idCache = {};\n parser.yy.clear();\n parser.parse(text);\n\n log.info('Rendering diagram ' + text);\n\n // Fetch the default direction, use TD if none was found\n const diagram = select(`[id='${id}']`);\n // insertMarkers(diagram);\n\n // Layout graph, Create a new directed graph\n const g = new graphlib.Graph({\n multigraph: true,\n });\n\n // Set an object for the graph label\n g.setGraph({\n isMultiGraph: true,\n });\n\n // Default to assigning a new object as a label for each new edge.\n g.setDefaultEdgeLabel(function () {\n return {};\n });\n\n const classes = classDb.getClasses();\n log.info('classes:');\n log.info(classes);\n const keys = Object.keys(classes);\n for (let i = 0; i < keys.length; i++) {\n const classDef = classes[keys[i]];\n const node = svgDraw.drawClass(diagram, classDef, conf);\n idCache[node.id] = node;\n\n // Add nodes to the graph. The first argument is the node id. The second is\n // metadata about the node. In this case we're going to add labels to each of\n // our nodes.\n g.setNode(node.id, node);\n\n log.info('Org height: ' + node.height);\n }\n\n const relations = classDb.getRelations();\n log.info('relations:', relations);\n relations.forEach(function (relation) {\n log.info(\n 'tjoho' + getGraphId(relation.id1) + getGraphId(relation.id2) + JSON.stringify(relation)\n );\n g.setEdge(\n getGraphId(relation.id1),\n getGraphId(relation.id2),\n {\n relation: relation,\n },\n relation.title || 'DEFAULT'\n );\n });\n\n dagre.layout(g);\n g.nodes().forEach(function (v) {\n if (typeof v !== 'undefined' && typeof g.node(v) !== 'undefined') {\n log.debug('Node ' + v + ': ' + JSON.stringify(g.node(v)));\n select('#' + lookUpDomId(v)).attr(\n 'transform',\n 'translate(' +\n (g.node(v).x - g.node(v).width / 2) +\n ',' +\n (g.node(v).y - g.node(v).height / 2) +\n ' )'\n );\n }\n });\n\n g.edges().forEach(function (e) {\n if (typeof e !== 'undefined' && typeof g.edge(e) !== 'undefined') {\n log.debug('Edge ' + e.v + ' -> ' + e.w + ': ' + JSON.stringify(g.edge(e)));\n svgDraw.drawEdge(diagram, g.edge(e), g.edge(e).relation, conf);\n }\n });\n\n const svgBounds = diagram.node().getBBox();\n const width = svgBounds.width + padding * 2;\n const height = svgBounds.height + padding * 2;\n\n configureSvgSize(diagram, height, width, conf.useMaxWidth);\n\n // Ensure the viewBox includes the whole svgBounds area with extra space for padding\n const vBox = `${svgBounds.x - padding} ${svgBounds.y - padding} ${width} ${height}`;\n log.debug(`viewBox ${vBox}`);\n diagram.attr('viewBox', vBox);\n};\n\nexport const draw = function (text, id) {\n log.info('Drawing class');\n classDb.clear();\n // const parser = classDb.parser;\n // parser.yy = classDb;\n\n // Parse the graph definition\n // try {\n parser.parse(text);\n // } catch (err) {\n // log.debug('Parsing failed');\n // }\n\n // Fetch the default direction, use TD if none was found\n //let dir = 'TD';\n\n const conf = getConfig().flowchart;\n log.info('config:', conf);\n const nodeSpacing = conf.nodeSpacing || 50;\n const rankSpacing = conf.rankSpacing || 50;\n\n // Create the input mermaid.graph\n const g = new graphlib.Graph({\n multigraph: true,\n compound: true,\n })\n .setGraph({\n rankdir: classDb.getDirection(),\n nodesep: nodeSpacing,\n ranksep: rankSpacing,\n marginx: 8,\n marginy: 8,\n })\n .setDefaultEdgeLabel(function () {\n return {};\n });\n\n // let subG;\n // const subGraphs = flowDb.getSubGraphs();\n // log.info('Subgraphs - ', subGraphs);\n // for (let i = subGraphs.length - 1; i >= 0; i--) {\n // subG = subGraphs[i];\n // log.info('Subgraph - ', subG);\n // flowDb.addVertex(subG.id, subG.title, 'group', undefined, subG.classes);\n // }\n\n // Fetch the verices/nodes and edges/links from the parsed graph definition\n const classes = classDb.getClasses();\n const relations = classDb.getRelations();\n\n log.info(relations);\n // let i = 0;\n // for (i = subGraphs.length - 1; i >= 0; i--) {\n // subG = subGraphs[i];\n\n // selectAll('cluster').append('text');\n\n // for (let j = 0; j < subG.nodes.length; j++) {\n // g.setParent(subG.nodes[j], subG.id);\n // }\n // }\n addClasses(classes, g, id);\n addRelations(relations, g);\n\n // Add custom shapes\n // flowChartShapes.addToRenderV2(addShape);\n\n // Set up an SVG group so that we can translate the final graph.\n const svg = select(`[id=\"${id}\"]`);\n svg.attr('xmlns:xlink', 'http://www.w3.org/1999/xlink');\n\n // Run the renderer. This is what draws the final graph.\n const element = select('#' + id + ' g');\n render(element, g, ['aggregation', 'extension', 'composition', 'dependency'], 'classDiagram', id);\n\n // element.selectAll('g.node').attr('title', function() {\n // return flowDb.getTooltip(this.id);\n // });\n\n const padding = 8;\n const svgBounds = svg.node().getBBox();\n const width = svgBounds.width + padding * 2;\n const height = svgBounds.height + padding * 2;\n log.debug(\n `new ViewBox 0 0 ${width} ${height}`,\n `translate(${padding - g._label.marginx}, ${padding - g._label.marginy})`\n );\n\n configureSvgSize(svg, height, width, conf.useMaxWidth);\n\n svg.attr('viewBox', `0 0 ${width} ${height}`);\n svg\n .select('g')\n .attr('transform', `translate(${padding - g._label.marginx}, ${padding - svgBounds.y})`);\n\n // Index nodes\n // flowDb.indexNodes('subGraph' + i);\n\n // Add label rects for non html labels\n if (!conf.htmlLabels) {\n const labels = document.querySelectorAll('[id=\"' + id + '\"] .edgeLabel .label');\n for (let k = 0; k < labels.length; k++) {\n const label = labels[k];\n\n // Get dimensions of label\n const dim = label.getBBox();\n\n const rect = document.createElementNS('http://www.w3.org/2000/svg', 'rect');\n rect.setAttribute('rx', 0);\n rect.setAttribute('ry', 0);\n rect.setAttribute('width', dim.width);\n rect.setAttribute('height', dim.height);\n // rect.setAttribute('style', 'fill:#e8e8e8;');\n\n label.insertBefore(rect, label.firstChild);\n }\n }\n\n // If node has a link, wrap it in an anchor SVG object.\n // const keys = Object.keys(classes);\n // keys.forEach(function(key) {\n // const vertex = classes[key];\n\n // if (vertex.link) {\n // const node = select('#' + id + ' [id=\"' + key + '\"]');\n // if (node) {\n // const link = document.createElementNS('http://www.w3.org/2000/svg', 'a');\n // link.setAttributeNS('http://www.w3.org/2000/svg', 'class', vertex.classes.join(' '));\n // link.setAttributeNS('http://www.w3.org/2000/svg', 'href', vertex.link);\n // link.setAttributeNS('http://www.w3.org/2000/svg', 'rel', 'noopener');\n\n // const linkNode = node.insert(function() {\n // return link;\n // }, ':first-child');\n\n // const shape = node.select('.label-container');\n // if (shape) {\n // linkNode.append(function() {\n // return shape.node();\n // });\n // }\n\n // const label = node.select('.label');\n // if (label) {\n // linkNode.append(function() {\n // return label.node();\n // });\n // }\n // }\n // }\n // });\n};\n\nexport default {\n setConf,\n draw,\n};\nfunction getArrowMarker(type) {\n let marker;\n switch (type) {\n case 0:\n marker = 'aggregation';\n break;\n case 1:\n marker = 'extension';\n break;\n case 2:\n marker = 'composition';\n break;\n case 3:\n marker = 'dependency';\n break;\n default:\n marker = 'none';\n }\n return marker;\n}\n","import { select } from 'd3';\nimport dagre from 'dagre';\nimport graphlib from 'graphlib';\nimport { log } from '../../logger';\nimport classDb, { lookUpDomId } from './classDb';\nimport { parser } from './parser/classDiagram';\nimport svgDraw from './svgDraw';\nimport { configureSvgSize } from '../../utils';\n\nparser.yy = classDb;\n\nlet idCache = {};\nconst padding = 20;\n\nconst conf = {\n dividerMargin: 10,\n padding: 5,\n textHeight: 10,\n};\n\n// Todo optimize\nconst getGraphId = function (label) {\n const keys = Object.keys(idCache);\n\n for (let i = 0; i < keys.length; i++) {\n if (idCache[keys[i]].label === label) {\n return keys[i];\n }\n }\n\n return undefined;\n};\n\n/**\n * Setup arrow head and define the marker. The result is appended to the svg.\n */\nconst insertMarkers = function (elem) {\n elem\n .append('defs')\n .append('marker')\n .attr('id', 'extensionStart')\n .attr('class', 'extension')\n .attr('refX', 0)\n .attr('refY', 7)\n .attr('markerWidth', 190)\n .attr('markerHeight', 240)\n .attr('orient', 'auto')\n .append('path')\n .attr('d', 'M 1,7 L18,13 V 1 Z');\n\n elem\n .append('defs')\n .append('marker')\n .attr('id', 'extensionEnd')\n .attr('refX', 19)\n .attr('refY', 7)\n .attr('markerWidth', 20)\n .attr('markerHeight', 28)\n .attr('orient', 'auto')\n .append('path')\n .attr('d', 'M 1,1 V 13 L18,7 Z'); // this is actual shape for arrowhead\n\n elem\n .append('defs')\n .append('marker')\n .attr('id', 'compositionStart')\n .attr('class', 'extension')\n .attr('refX', 0)\n .attr('refY', 7)\n .attr('markerWidth', 190)\n .attr('markerHeight', 240)\n .attr('orient', 'auto')\n .append('path')\n .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z');\n\n elem\n .append('defs')\n .append('marker')\n .attr('id', 'compositionEnd')\n .attr('refX', 19)\n .attr('refY', 7)\n .attr('markerWidth', 20)\n .attr('markerHeight', 28)\n .attr('orient', 'auto')\n .append('path')\n .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z');\n\n elem\n .append('defs')\n .append('marker')\n .attr('id', 'aggregationStart')\n .attr('class', 'extension')\n .attr('refX', 0)\n .attr('refY', 7)\n .attr('markerWidth', 190)\n .attr('markerHeight', 240)\n .attr('orient', 'auto')\n .append('path')\n .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z');\n\n elem\n .append('defs')\n .append('marker')\n .attr('id', 'aggregationEnd')\n .attr('refX', 19)\n .attr('refY', 7)\n .attr('markerWidth', 20)\n .attr('markerHeight', 28)\n .attr('orient', 'auto')\n .append('path')\n .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z');\n\n elem\n .append('defs')\n .append('marker')\n .attr('id', 'dependencyStart')\n .attr('class', 'extension')\n .attr('refX', 0)\n .attr('refY', 7)\n .attr('markerWidth', 190)\n .attr('markerHeight', 240)\n .attr('orient', 'auto')\n .append('path')\n .attr('d', 'M 5,7 L9,13 L1,7 L9,1 Z');\n\n elem\n .append('defs')\n .append('marker')\n .attr('id', 'dependencyEnd')\n .attr('refX', 19)\n .attr('refY', 7)\n .attr('markerWidth', 20)\n .attr('markerHeight', 28)\n .attr('orient', 'auto')\n .append('path')\n .attr('d', 'M 18,7 L9,13 L14,7 L9,1 Z');\n};\n\nexport const setConf = function (cnf) {\n const keys = Object.keys(cnf);\n\n keys.forEach(function (key) {\n conf[key] = cnf[key];\n });\n};\n\n/**\n * Draws a flowchart in the tag with id: id based on the graph definition in text.\n * @param text\n * @param id\n */\nexport const draw = function (text, id) {\n idCache = {};\n parser.yy.clear();\n parser.parse(text);\n\n log.info('Rendering diagram ' + text);\n\n // Fetch the default direction, use TD if none was found\n const diagram = select(`[id='${id}']`);\n diagram.attr('xmlns:xlink', 'http://www.w3.org/1999/xlink');\n insertMarkers(diagram);\n\n // Layout graph, Create a new directed graph\n const g = new graphlib.Graph({\n multigraph: true,\n });\n\n // Set an object for the graph label\n g.setGraph({\n isMultiGraph: true,\n });\n\n // Default to assigning a new object as a label for each new edge.\n g.setDefaultEdgeLabel(function () {\n return {};\n });\n\n const classes = classDb.getClasses();\n const keys = Object.keys(classes);\n\n for (let i = 0; i < keys.length; i++) {\n const classDef = classes[keys[i]];\n const node = svgDraw.drawClass(diagram, classDef, conf);\n idCache[node.id] = node;\n\n // Add nodes to the graph. The first argument is the node id. The second is\n // metadata about the node. In this case we're going to add labels to each of\n // our nodes.\n g.setNode(node.id, node);\n\n log.info('Org height: ' + node.height);\n }\n\n const relations = classDb.getRelations();\n relations.forEach(function (relation) {\n log.info(\n 'tjoho' + getGraphId(relation.id1) + getGraphId(relation.id2) + JSON.stringify(relation)\n );\n g.setEdge(\n getGraphId(relation.id1),\n getGraphId(relation.id2),\n {\n relation: relation,\n },\n relation.title || 'DEFAULT'\n );\n });\n\n dagre.layout(g);\n g.nodes().forEach(function (v) {\n if (typeof v !== 'undefined' && typeof g.node(v) !== 'undefined') {\n log.debug('Node ' + v + ': ' + JSON.stringify(g.node(v)));\n select('#' + lookUpDomId(v)).attr(\n 'transform',\n 'translate(' +\n (g.node(v).x - g.node(v).width / 2) +\n ',' +\n (g.node(v).y - g.node(v).height / 2) +\n ' )'\n );\n }\n });\n\n g.edges().forEach(function (e) {\n if (typeof e !== 'undefined' && typeof g.edge(e) !== 'undefined') {\n log.debug('Edge ' + e.v + ' -> ' + e.w + ': ' + JSON.stringify(g.edge(e)));\n svgDraw.drawEdge(diagram, g.edge(e), g.edge(e).relation, conf);\n }\n });\n\n const svgBounds = diagram.node().getBBox();\n const width = svgBounds.width + padding * 2;\n const height = svgBounds.height + padding * 2;\n\n configureSvgSize(diagram, height, width, conf.useMaxWidth);\n\n // Ensure the viewBox includes the whole svgBounds area with extra space for padding\n const vBox = `${svgBounds.x - padding} ${svgBounds.y - padding} ${width} ${height}`;\n log.debug(`viewBox ${vBox}`);\n diagram.attr('viewBox', vBox);\n};\n\nexport default {\n setConf,\n draw,\n};\n","/* parser generated by jison 0.4.18 */\n/*\n Returns a Parser object of the following structure:\n\n Parser: {\n yy: {}\n }\n\n Parser.prototype: {\n yy: {},\n trace: function(),\n symbols_: {associative list: name ==> number},\n terminals_: {associative list: number ==> name},\n productions_: [...],\n performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$),\n table: [...],\n defaultActions: {...},\n parseError: function(str, hash),\n parse: function(input),\n\n lexer: {\n EOF: 1,\n parseError: function(str, hash),\n setInput: function(input),\n input: function(),\n unput: function(str),\n more: function(),\n less: function(n),\n pastInput: function(),\n upcomingInput: function(),\n showPosition: function(),\n test_match: function(regex_match_array, rule_index),\n next: function(),\n lex: function(),\n begin: function(condition),\n popState: function(),\n _currentRules: function(),\n topState: function(),\n pushState: function(condition),\n\n options: {\n ranges: boolean (optional: true ==> token location info will include a .range[] member)\n flex: boolean (optional: true ==> flex-like lexing behaviour where the rules are tested exhaustively to find the longest match)\n backtrack_lexer: boolean (optional: true ==> lexer regexes are tested in order and for each matching regex the action code is invoked; the lexer terminates the scan when a token is returned by the action code)\n },\n\n performAction: function(yy, yy_, $avoiding_name_collisions, YY_START),\n rules: [...],\n conditions: {associative list: name ==> set},\n }\n }\n\n\n token location info (@$, _$, etc.): {\n first_line: n,\n last_line: n,\n first_column: n,\n last_column: n,\n range: [start_number, end_number] (where the numbers are indexes into the input string, regular zero-based)\n }\n\n\n the parseError function receives a 'hash' object with these members for lexer and parser errors: {\n text: (matched text)\n token: (the produced terminal token, if any)\n line: (yylineno)\n }\n while parser (grammar) errors will also provide these members, i.e. parser errors deliver a superset of attributes: {\n loc: (yylloc)\n expected: (string describing the set of expected tokens)\n recoverable: (boolean: TRUE when the parser has a error recovery rule available for this particular error)\n }\n*/\nvar parser = (function(){\nvar o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,6],$V1=[1,7],$V2=[1,8],$V3=[1,9],$V4=[1,12],$V5=[1,11],$V6=[1,15,24],$V7=[1,19],$V8=[1,31],$V9=[1,34],$Va=[1,32],$Vb=[1,33],$Vc=[1,35],$Vd=[1,36],$Ve=[1,37],$Vf=[1,38],$Vg=[1,41],$Vh=[1,42],$Vi=[1,43],$Vj=[1,44],$Vk=[15,24],$Vl=[1,56],$Vm=[1,57],$Vn=[1,58],$Vo=[1,59],$Vp=[1,60],$Vq=[1,61],$Vr=[15,24,31,38,39,47,50,51,52,53,54,55,60,62],$Vs=[15,24,29,31,38,39,43,47,50,51,52,53,54,55,60,62,77,78,79,80],$Vt=[7,8,9,10,15,18,22,24],$Vu=[47,77,78,79,80],$Vv=[47,54,55,77,78,79,80],$Vw=[47,50,51,52,53,77,78,79,80],$Vx=[15,24,31],$Vy=[1,93];\nvar parser = {trace: function trace () { },\nyy: {},\nsymbols_: {\"error\":2,\"start\":3,\"mermaidDoc\":4,\"direction\":5,\"directive\":6,\"direction_tb\":7,\"direction_bt\":8,\"direction_rl\":9,\"direction_lr\":10,\"graphConfig\":11,\"openDirective\":12,\"typeDirective\":13,\"closeDirective\":14,\"NEWLINE\":15,\":\":16,\"argDirective\":17,\"open_directive\":18,\"type_directive\":19,\"arg_directive\":20,\"close_directive\":21,\"CLASS_DIAGRAM\":22,\"statements\":23,\"EOF\":24,\"statement\":25,\"className\":26,\"alphaNumToken\":27,\"classLiteralName\":28,\"GENERICTYPE\":29,\"relationStatement\":30,\"LABEL\":31,\"classStatement\":32,\"methodStatement\":33,\"annotationStatement\":34,\"clickStatement\":35,\"cssClassStatement\":36,\"CLASS\":37,\"STYLE_SEPARATOR\":38,\"STRUCT_START\":39,\"members\":40,\"STRUCT_STOP\":41,\"ANNOTATION_START\":42,\"ANNOTATION_END\":43,\"MEMBER\":44,\"SEPARATOR\":45,\"relation\":46,\"STR\":47,\"relationType\":48,\"lineType\":49,\"AGGREGATION\":50,\"EXTENSION\":51,\"COMPOSITION\":52,\"DEPENDENCY\":53,\"LINE\":54,\"DOTTED_LINE\":55,\"CALLBACK\":56,\"LINK\":57,\"LINK_TARGET\":58,\"CLICK\":59,\"CALLBACK_NAME\":60,\"CALLBACK_ARGS\":61,\"HREF\":62,\"CSSCLASS\":63,\"commentToken\":64,\"textToken\":65,\"graphCodeTokens\":66,\"textNoTagsToken\":67,\"TAGSTART\":68,\"TAGEND\":69,\"==\":70,\"--\":71,\"PCT\":72,\"DEFAULT\":73,\"SPACE\":74,\"MINUS\":75,\"keywords\":76,\"UNICODE_TEXT\":77,\"NUM\":78,\"ALPHA\":79,\"BQUOTE_STR\":80,\"$accept\":0,\"$end\":1},\nterminals_: {2:\"error\",7:\"direction_tb\",8:\"direction_bt\",9:\"direction_rl\",10:\"direction_lr\",15:\"NEWLINE\",16:\":\",18:\"open_directive\",19:\"type_directive\",20:\"arg_directive\",21:\"close_directive\",22:\"CLASS_DIAGRAM\",24:\"EOF\",29:\"GENERICTYPE\",31:\"LABEL\",37:\"CLASS\",38:\"STYLE_SEPARATOR\",39:\"STRUCT_START\",41:\"STRUCT_STOP\",42:\"ANNOTATION_START\",43:\"ANNOTATION_END\",44:\"MEMBER\",45:\"SEPARATOR\",47:\"STR\",50:\"AGGREGATION\",51:\"EXTENSION\",52:\"COMPOSITION\",53:\"DEPENDENCY\",54:\"LINE\",55:\"DOTTED_LINE\",56:\"CALLBACK\",57:\"LINK\",58:\"LINK_TARGET\",59:\"CLICK\",60:\"CALLBACK_NAME\",61:\"CALLBACK_ARGS\",62:\"HREF\",63:\"CSSCLASS\",66:\"graphCodeTokens\",68:\"TAGSTART\",69:\"TAGEND\",70:\"==\",71:\"--\",72:\"PCT\",73:\"DEFAULT\",74:\"SPACE\",75:\"MINUS\",76:\"keywords\",77:\"UNICODE_TEXT\",78:\"NUM\",79:\"ALPHA\",80:\"BQUOTE_STR\"},\nproductions_: [0,[3,1],[3,1],[3,2],[5,1],[5,1],[5,1],[5,1],[4,1],[6,4],[6,6],[12,1],[13,1],[17,1],[14,1],[11,4],[23,1],[23,2],[23,3],[26,1],[26,1],[26,2],[26,2],[26,2],[25,1],[25,2],[25,1],[25,1],[25,1],[25,1],[25,1],[25,1],[25,1],[32,2],[32,4],[32,5],[32,7],[34,4],[40,1],[40,2],[33,1],[33,2],[33,1],[33,1],[30,3],[30,4],[30,4],[30,5],[46,3],[46,2],[46,2],[46,1],[48,1],[48,1],[48,1],[48,1],[49,1],[49,1],[35,3],[35,4],[35,3],[35,4],[35,4],[35,5],[35,3],[35,4],[35,4],[35,5],[35,3],[35,4],[35,4],[35,5],[36,3],[64,1],[64,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[67,1],[67,1],[67,1],[67,1],[27,1],[27,1],[27,1],[28,1]],\nperformAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) {\n/* this == yyval */\n\nvar $0 = $$.length - 1;\nswitch (yystate) {\ncase 4:\n yy.setDirection('TB');\nbreak;\ncase 5:\n yy.setDirection('BT');\nbreak;\ncase 6:\n yy.setDirection('RL');\nbreak;\ncase 7:\n yy.setDirection('LR');\nbreak;\ncase 11:\n yy.parseDirective('%%{', 'open_directive'); \nbreak;\ncase 12:\n yy.parseDirective($$[$0], 'type_directive'); \nbreak;\ncase 13:\n $$[$0] = $$[$0].trim().replace(/'/g, '\"'); yy.parseDirective($$[$0], 'arg_directive'); \nbreak;\ncase 14:\n yy.parseDirective('}%%', 'close_directive', 'class'); \nbreak;\ncase 19: case 20:\n this.$=$$[$0]; \nbreak;\ncase 21:\n this.$=$$[$0-1]+$$[$0]; \nbreak;\ncase 22: case 23:\n this.$=$$[$0-1]+'~'+$$[$0]; \nbreak;\ncase 24:\n yy.addRelation($$[$0]); \nbreak;\ncase 25:\n $$[$0-1].title = yy.cleanupLabel($$[$0]); yy.addRelation($$[$0-1]); \nbreak;\ncase 33:\nyy.addClass($$[$0]);\nbreak;\ncase 34:\nyy.addClass($$[$0-2]);yy.setCssClass($$[$0-2], $$[$0]);\nbreak;\ncase 35:\n/*console.log($$[$0-3],JSON.stringify($$[$0-1]));*/yy.addClass($$[$0-3]);yy.addMembers($$[$0-3],$$[$0-1]);\nbreak;\ncase 36:\nyy.addClass($$[$0-5]);yy.setCssClass($$[$0-5], $$[$0-3]);yy.addMembers($$[$0-5],$$[$0-1]);\nbreak;\ncase 37:\n yy.addAnnotation($$[$0],$$[$0-2]); \nbreak;\ncase 38:\n this.$ = [$$[$0]]; \nbreak;\ncase 39:\n $$[$0].push($$[$0-1]);this.$=$$[$0];\nbreak;\ncase 40:\n/*console.log('Rel found',$$[$0]);*/\nbreak;\ncase 41:\nyy.addMember($$[$0-1],yy.cleanupLabel($$[$0]));\nbreak;\ncase 42:\n/*console.warn('Member',$$[$0]);*/\nbreak;\ncase 43:\n/*console.log('sep found',$$[$0]);*/\nbreak;\ncase 44:\n this.$ = {'id1':$$[$0-2],'id2':$$[$0], relation:$$[$0-1], relationTitle1:'none', relationTitle2:'none'}; \nbreak;\ncase 45:\n this.$ = {id1:$$[$0-3], id2:$$[$0], relation:$$[$0-1], relationTitle1:$$[$0-2], relationTitle2:'none'}\nbreak;\ncase 46:\n this.$ = {id1:$$[$0-3], id2:$$[$0], relation:$$[$0-2], relationTitle1:'none', relationTitle2:$$[$0-1]}; \nbreak;\ncase 47:\n this.$ = {id1:$$[$0-4], id2:$$[$0], relation:$$[$0-2], relationTitle1:$$[$0-3], relationTitle2:$$[$0-1]} \nbreak;\ncase 48:\n this.$={type1:$$[$0-2],type2:$$[$0],lineType:$$[$0-1]}; \nbreak;\ncase 49:\n this.$={type1:'none',type2:$$[$0],lineType:$$[$0-1]}; \nbreak;\ncase 50:\n this.$={type1:$$[$0-1],type2:'none',lineType:$$[$0]}; \nbreak;\ncase 51:\n this.$={type1:'none',type2:'none',lineType:$$[$0]}; \nbreak;\ncase 52:\n this.$=yy.relationType.AGGREGATION;\nbreak;\ncase 53:\n this.$=yy.relationType.EXTENSION;\nbreak;\ncase 54:\n this.$=yy.relationType.COMPOSITION;\nbreak;\ncase 55:\n this.$=yy.relationType.DEPENDENCY;\nbreak;\ncase 56:\nthis.$=yy.lineType.LINE;\nbreak;\ncase 57:\nthis.$=yy.lineType.DOTTED_LINE;\nbreak;\ncase 58: case 64:\nthis.$ = $$[$0-2];yy.setClickEvent($$[$0-1], $$[$0]);\nbreak;\ncase 59: case 65:\nthis.$ = $$[$0-3];yy.setClickEvent($$[$0-2], $$[$0-1]);yy.setTooltip($$[$0-2], $$[$0]);\nbreak;\ncase 60: case 68:\nthis.$ = $$[$0-2];yy.setLink($$[$0-1], $$[$0]);\nbreak;\ncase 61:\nthis.$ = $$[$0-3];yy.setLink($$[$0-2], $$[$0-1],$$[$0]);\nbreak;\ncase 62: case 70:\nthis.$ = $$[$0-3];yy.setLink($$[$0-2], $$[$0-1]);yy.setTooltip($$[$0-2], $$[$0]);\nbreak;\ncase 63: case 71:\nthis.$ = $$[$0-4];yy.setLink($$[$0-3], $$[$0-2], $$[$0]);yy.setTooltip($$[$0-3], $$[$0-1]);\nbreak;\ncase 66:\nthis.$ = $$[$0-3];yy.setClickEvent($$[$0-2], $$[$0-1], $$[$0]);\nbreak;\ncase 67:\nthis.$ = $$[$0-4];yy.setClickEvent($$[$0-3], $$[$0-2], $$[$0-1]);yy.setTooltip($$[$0-3], $$[$0]);\nbreak;\ncase 69:\nthis.$ = $$[$0-3];yy.setLink($$[$0-2], $$[$0-1], $$[$0]);\nbreak;\ncase 72:\nyy.setCssClass($$[$0-1], $$[$0]);\nbreak;\n}\n},\ntable: [{3:1,4:2,5:3,6:4,7:$V0,8:$V1,9:$V2,10:$V3,11:5,12:10,18:$V4,22:$V5},{1:[3]},{1:[2,1]},{1:[2,2]},{3:13,4:2,5:3,6:4,7:$V0,8:$V1,9:$V2,10:$V3,11:5,12:10,18:$V4,22:$V5},{1:[2,8]},o($V6,[2,4]),o($V6,[2,5]),o($V6,[2,6]),o($V6,[2,7]),{13:14,19:[1,15]},{15:[1,16]},{19:[2,11]},{1:[2,3]},{14:17,16:[1,18],21:$V7},o([16,21],[2,12]),{5:29,6:28,7:$V0,8:$V1,9:$V2,10:$V3,12:10,18:$V4,23:20,25:21,26:30,27:39,28:40,30:22,32:23,33:24,34:25,35:26,36:27,37:$V8,42:$V9,44:$Va,45:$Vb,56:$Vc,57:$Vd,59:$Ve,63:$Vf,77:$Vg,78:$Vh,79:$Vi,80:$Vj},{15:[1,45]},{17:46,20:[1,47]},{15:[2,14]},{24:[1,48]},{15:[1,49],24:[2,16]},o($Vk,[2,24],{31:[1,50]}),o($Vk,[2,26]),o($Vk,[2,27]),o($Vk,[2,28]),o($Vk,[2,29]),o($Vk,[2,30]),o($Vk,[2,31]),o($Vk,[2,32]),o($Vk,[2,40],{46:51,48:54,49:55,31:[1,53],47:[1,52],50:$Vl,51:$Vm,52:$Vn,53:$Vo,54:$Vp,55:$Vq}),{26:62,27:39,28:40,77:$Vg,78:$Vh,79:$Vi,80:$Vj},o($Vk,[2,42]),o($Vk,[2,43]),{27:63,77:$Vg,78:$Vh,79:$Vi},{26:64,27:39,28:40,77:$Vg,78:$Vh,79:$Vi,80:$Vj},{26:65,27:39,28:40,77:$Vg,78:$Vh,79:$Vi,80:$Vj},{26:66,27:39,28:40,77:$Vg,78:$Vh,79:$Vi,80:$Vj},{47:[1,67]},o($Vr,[2,19],{27:39,28:40,26:68,29:[1,69],77:$Vg,78:$Vh,79:$Vi,80:$Vj}),o($Vr,[2,20],{29:[1,70]}),o($Vs,[2,86]),o($Vs,[2,87]),o($Vs,[2,88]),o([15,24,29,31,38,39,47,50,51,52,53,54,55,60,62],[2,89]),o($Vt,[2,9]),{14:71,21:$V7},{21:[2,13]},{1:[2,15]},{5:29,6:28,7:$V0,8:$V1,9:$V2,10:$V3,12:10,18:$V4,23:72,24:[2,17],25:21,26:30,27:39,28:40,30:22,32:23,33:24,34:25,35:26,36:27,37:$V8,42:$V9,44:$Va,45:$Vb,56:$Vc,57:$Vd,59:$Ve,63:$Vf,77:$Vg,78:$Vh,79:$Vi,80:$Vj},o($Vk,[2,25]),{26:73,27:39,28:40,47:[1,74],77:$Vg,78:$Vh,79:$Vi,80:$Vj},{46:75,48:54,49:55,50:$Vl,51:$Vm,52:$Vn,53:$Vo,54:$Vp,55:$Vq},o($Vk,[2,41]),{49:76,54:$Vp,55:$Vq},o($Vu,[2,51],{48:77,50:$Vl,51:$Vm,52:$Vn,53:$Vo}),o($Vv,[2,52]),o($Vv,[2,53]),o($Vv,[2,54]),o($Vv,[2,55]),o($Vw,[2,56]),o($Vw,[2,57]),o($Vk,[2,33],{38:[1,78],39:[1,79]}),{43:[1,80]},{47:[1,81]},{47:[1,82]},{60:[1,83],62:[1,84]},{27:85,77:$Vg,78:$Vh,79:$Vi},o($Vr,[2,21]),o($Vr,[2,22]),o($Vr,[2,23]),{15:[1,86]},{24:[2,18]},o($Vx,[2,44]),{26:87,27:39,28:40,77:$Vg,78:$Vh,79:$Vi,80:$Vj},{26:88,27:39,28:40,47:[1,89],77:$Vg,78:$Vh,79:$Vi,80:$Vj},o($Vu,[2,50],{48:90,50:$Vl,51:$Vm,52:$Vn,53:$Vo}),o($Vu,[2,49]),{27:91,77:$Vg,78:$Vh,79:$Vi},{40:92,44:$Vy},{26:94,27:39,28:40,77:$Vg,78:$Vh,79:$Vi,80:$Vj},o($Vk,[2,58],{47:[1,95]}),o($Vk,[2,60],{47:[1,97],58:[1,96]}),o($Vk,[2,64],{47:[1,98],61:[1,99]}),o($Vk,[2,68],{47:[1,101],58:[1,100]}),o($Vk,[2,72]),o($Vt,[2,10]),o($Vx,[2,46]),o($Vx,[2,45]),{26:102,27:39,28:40,77:$Vg,78:$Vh,79:$Vi,80:$Vj},o($Vu,[2,48]),o($Vk,[2,34],{39:[1,103]}),{41:[1,104]},{40:105,41:[2,38],44:$Vy},o($Vk,[2,37]),o($Vk,[2,59]),o($Vk,[2,61]),o($Vk,[2,62],{58:[1,106]}),o($Vk,[2,65]),o($Vk,[2,66],{47:[1,107]}),o($Vk,[2,69]),o($Vk,[2,70],{58:[1,108]}),o($Vx,[2,47]),{40:109,44:$Vy},o($Vk,[2,35]),{41:[2,39]},o($Vk,[2,63]),o($Vk,[2,67]),o($Vk,[2,71]),{41:[1,110]},o($Vk,[2,36])],\ndefaultActions: {2:[2,1],3:[2,2],5:[2,8],12:[2,11],13:[2,3],19:[2,14],47:[2,13],48:[2,15],72:[2,18],105:[2,39]},\nparseError: function parseError (str, hash) {\n if (hash.recoverable) {\n this.trace(str);\n } else {\n var error = new Error(str);\n error.hash = hash;\n throw error;\n }\n},\nparse: function parse(input) {\n var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = '', yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1;\n var args = lstack.slice.call(arguments, 1);\n var lexer = Object.create(this.lexer);\n var sharedState = { yy: {} };\n for (var k in this.yy) {\n if (Object.prototype.hasOwnProperty.call(this.yy, k)) {\n sharedState.yy[k] = this.yy[k];\n }\n }\n lexer.setInput(input, sharedState.yy);\n sharedState.yy.lexer = lexer;\n sharedState.yy.parser = this;\n if (typeof lexer.yylloc == 'undefined') {\n lexer.yylloc = {};\n }\n var yyloc = lexer.yylloc;\n lstack.push(yyloc);\n var ranges = lexer.options && lexer.options.ranges;\n if (typeof sharedState.yy.parseError === 'function') {\n this.parseError = sharedState.yy.parseError;\n } else {\n this.parseError = Object.getPrototypeOf(this).parseError;\n }\n function popStack(n) {\n stack.length = stack.length - 2 * n;\n vstack.length = vstack.length - n;\n lstack.length = lstack.length - n;\n }\n function lex() {\n var token;\n token = tstack.pop() || lexer.lex() || EOF;\n if (typeof token !== 'number') {\n if (token instanceof Array) {\n tstack = token;\n token = tstack.pop();\n }\n token = self.symbols_[token] || token;\n }\n return token;\n }\n var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected;\n while (true) {\n state = stack[stack.length - 1];\n if (this.defaultActions[state]) {\n action = this.defaultActions[state];\n } else {\n if (symbol === null || typeof symbol == 'undefined') {\n symbol = lex();\n }\n action = table[state] && table[state][symbol];\n }\n if (typeof action === 'undefined' || !action.length || !action[0]) {\n var errStr = '';\n expected = [];\n for (p in table[state]) {\n if (this.terminals_[p] && p > TERROR) {\n expected.push('\\'' + this.terminals_[p] + '\\'');\n }\n }\n if (lexer.showPosition) {\n errStr = 'Parse error on line ' + (yylineno + 1) + ':\\n' + lexer.showPosition() + '\\nExpecting ' + expected.join(', ') + ', got \\'' + (this.terminals_[symbol] || symbol) + '\\'';\n } else {\n errStr = 'Parse error on line ' + (yylineno + 1) + ': Unexpected ' + (symbol == EOF ? 'end of input' : '\\'' + (this.terminals_[symbol] || symbol) + '\\'');\n }\n this.parseError(errStr, {\n text: lexer.match,\n token: this.terminals_[symbol] || symbol,\n line: lexer.yylineno,\n loc: yyloc,\n expected: expected\n });\n }\n if (action[0] instanceof Array && action.length > 1) {\n throw new Error('Parse Error: multiple actions possible at state: ' + state + ', token: ' + symbol);\n }\n switch (action[0]) {\n case 1:\n stack.push(symbol);\n vstack.push(lexer.yytext);\n lstack.push(lexer.yylloc);\n stack.push(action[1]);\n symbol = null;\n if (!preErrorSymbol) {\n yyleng = lexer.yyleng;\n yytext = lexer.yytext;\n yylineno = lexer.yylineno;\n yyloc = lexer.yylloc;\n if (recovering > 0) {\n recovering--;\n }\n } else {\n symbol = preErrorSymbol;\n preErrorSymbol = null;\n }\n break;\n case 2:\n len = this.productions_[action[1]][1];\n yyval.$ = vstack[vstack.length - len];\n yyval._$ = {\n first_line: lstack[lstack.length - (len || 1)].first_line,\n last_line: lstack[lstack.length - 1].last_line,\n first_column: lstack[lstack.length - (len || 1)].first_column,\n last_column: lstack[lstack.length - 1].last_column\n };\n if (ranges) {\n yyval._$.range = [\n lstack[lstack.length - (len || 1)].range[0],\n lstack[lstack.length - 1].range[1]\n ];\n }\n r = this.performAction.apply(yyval, [\n yytext,\n yyleng,\n yylineno,\n sharedState.yy,\n action[1],\n vstack,\n lstack\n ].concat(args));\n if (typeof r !== 'undefined') {\n return r;\n }\n if (len) {\n stack = stack.slice(0, -1 * len * 2);\n vstack = vstack.slice(0, -1 * len);\n lstack = lstack.slice(0, -1 * len);\n }\n stack.push(this.productions_[action[1]][0]);\n vstack.push(yyval.$);\n lstack.push(yyval._$);\n newState = table[stack[stack.length - 2]][stack[stack.length - 1]];\n stack.push(newState);\n break;\n case 3:\n return true;\n }\n }\n return true;\n}};\n\n/* generated by jison-lex 0.3.4 */\nvar lexer = (function(){\nvar lexer = ({\n\nEOF:1,\n\nparseError:function parseError(str, hash) {\n if (this.yy.parser) {\n this.yy.parser.parseError(str, hash);\n } else {\n throw new Error(str);\n }\n },\n\n// resets the lexer, sets new input\nsetInput:function (input, yy) {\n this.yy = yy || this.yy || {};\n this._input = input;\n this._more = this._backtrack = this.done = false;\n this.yylineno = this.yyleng = 0;\n this.yytext = this.matched = this.match = '';\n this.conditionStack = ['INITIAL'];\n this.yylloc = {\n first_line: 1,\n first_column: 0,\n last_line: 1,\n last_column: 0\n };\n if (this.options.ranges) {\n this.yylloc.range = [0,0];\n }\n this.offset = 0;\n return this;\n },\n\n// consumes and returns one char from the input\ninput:function () {\n var ch = this._input[0];\n this.yytext += ch;\n this.yyleng++;\n this.offset++;\n this.match += ch;\n this.matched += ch;\n var lines = ch.match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno++;\n this.yylloc.last_line++;\n } else {\n this.yylloc.last_column++;\n }\n if (this.options.ranges) {\n this.yylloc.range[1]++;\n }\n\n this._input = this._input.slice(1);\n return ch;\n },\n\n// unshifts one char (or a string) into the input\nunput:function (ch) {\n var len = ch.length;\n var lines = ch.split(/(?:\\r\\n?|\\n)/g);\n\n this._input = ch + this._input;\n this.yytext = this.yytext.substr(0, this.yytext.length - len);\n //this.yyleng -= len;\n this.offset -= len;\n var oldLines = this.match.split(/(?:\\r\\n?|\\n)/g);\n this.match = this.match.substr(0, this.match.length - 1);\n this.matched = this.matched.substr(0, this.matched.length - 1);\n\n if (lines.length - 1) {\n this.yylineno -= lines.length - 1;\n }\n var r = this.yylloc.range;\n\n this.yylloc = {\n first_line: this.yylloc.first_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.first_column,\n last_column: lines ?\n (lines.length === oldLines.length ? this.yylloc.first_column : 0)\n + oldLines[oldLines.length - lines.length].length - lines[0].length :\n this.yylloc.first_column - len\n };\n\n if (this.options.ranges) {\n this.yylloc.range = [r[0], r[0] + this.yyleng - len];\n }\n this.yyleng = this.yytext.length;\n return this;\n },\n\n// When called from action, caches matched text and appends it on next action\nmore:function () {\n this._more = true;\n return this;\n },\n\n// When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.\nreject:function () {\n if (this.options.backtrack_lexer) {\n this._backtrack = true;\n } else {\n return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n' + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n\n }\n return this;\n },\n\n// retain first n characters of the match\nless:function (n) {\n this.unput(this.match.slice(n));\n },\n\n// displays already matched input, i.e. for error messages\npastInput:function () {\n var past = this.matched.substr(0, this.matched.length - this.match.length);\n return (past.length > 20 ? '...':'') + past.substr(-20).replace(/\\n/g, \"\");\n },\n\n// displays upcoming input, i.e. for error messages\nupcomingInput:function () {\n var next = this.match;\n if (next.length < 20) {\n next += this._input.substr(0, 20-next.length);\n }\n return (next.substr(0,20) + (next.length > 20 ? '...' : '')).replace(/\\n/g, \"\");\n },\n\n// displays the character position where the lexing error occurred, i.e. for error messages\nshowPosition:function () {\n var pre = this.pastInput();\n var c = new Array(pre.length + 1).join(\"-\");\n return pre + this.upcomingInput() + \"\\n\" + c + \"^\";\n },\n\n// test the lexed token: return FALSE when not a match, otherwise return token\ntest_match:function(match, indexed_rule) {\n var token,\n lines,\n backup;\n\n if (this.options.backtrack_lexer) {\n // save context\n backup = {\n yylineno: this.yylineno,\n yylloc: {\n first_line: this.yylloc.first_line,\n last_line: this.last_line,\n first_column: this.yylloc.first_column,\n last_column: this.yylloc.last_column\n },\n yytext: this.yytext,\n match: this.match,\n matches: this.matches,\n matched: this.matched,\n yyleng: this.yyleng,\n offset: this.offset,\n _more: this._more,\n _input: this._input,\n yy: this.yy,\n conditionStack: this.conditionStack.slice(0),\n done: this.done\n };\n if (this.options.ranges) {\n backup.yylloc.range = this.yylloc.range.slice(0);\n }\n }\n\n lines = match[0].match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno += lines.length;\n }\n this.yylloc = {\n first_line: this.yylloc.last_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.last_column,\n last_column: lines ?\n lines[lines.length - 1].length - lines[lines.length - 1].match(/\\r?\\n?/)[0].length :\n this.yylloc.last_column + match[0].length\n };\n this.yytext += match[0];\n this.match += match[0];\n this.matches = match;\n this.yyleng = this.yytext.length;\n if (this.options.ranges) {\n this.yylloc.range = [this.offset, this.offset += this.yyleng];\n }\n this._more = false;\n this._backtrack = false;\n this._input = this._input.slice(match[0].length);\n this.matched += match[0];\n token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);\n if (this.done && this._input) {\n this.done = false;\n }\n if (token) {\n return token;\n } else if (this._backtrack) {\n // recover context\n for (var k in backup) {\n this[k] = backup[k];\n }\n return false; // rule action called reject() implying the next rule should be tested instead.\n }\n return false;\n },\n\n// return next match in input\nnext:function () {\n if (this.done) {\n return this.EOF;\n }\n if (!this._input) {\n this.done = true;\n }\n\n var token,\n match,\n tempMatch,\n index;\n if (!this._more) {\n this.yytext = '';\n this.match = '';\n }\n var rules = this._currentRules();\n for (var i = 0; i < rules.length; i++) {\n tempMatch = this._input.match(this.rules[rules[i]]);\n if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {\n match = tempMatch;\n index = i;\n if (this.options.backtrack_lexer) {\n token = this.test_match(tempMatch, rules[i]);\n if (token !== false) {\n return token;\n } else if (this._backtrack) {\n match = false;\n continue; // rule action called reject() implying a rule MISmatch.\n } else {\n // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace)\n return false;\n }\n } else if (!this.options.flex) {\n break;\n }\n }\n }\n if (match) {\n token = this.test_match(match, rules[index]);\n if (token !== false) {\n return token;\n }\n // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace)\n return false;\n }\n if (this._input === \"\") {\n return this.EOF;\n } else {\n return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\\n' + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n },\n\n// return next match that has a token\nlex:function lex () {\n var r = this.next();\n if (r) {\n return r;\n } else {\n return this.lex();\n }\n },\n\n// activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)\nbegin:function begin (condition) {\n this.conditionStack.push(condition);\n },\n\n// pop the previously active lexer condition state off the condition stack\npopState:function popState () {\n var n = this.conditionStack.length - 1;\n if (n > 0) {\n return this.conditionStack.pop();\n } else {\n return this.conditionStack[0];\n }\n },\n\n// produce the lexer rule set which is active for the currently active lexer condition state\n_currentRules:function _currentRules () {\n if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {\n return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;\n } else {\n return this.conditions[\"INITIAL\"].rules;\n }\n },\n\n// return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available\ntopState:function topState (n) {\n n = this.conditionStack.length - 1 - Math.abs(n || 0);\n if (n >= 0) {\n return this.conditionStack[n];\n } else {\n return \"INITIAL\";\n }\n },\n\n// alias for begin(condition)\npushState:function pushState (condition) {\n this.begin(condition);\n },\n\n// return the number of states currently on the stack\nstateStackSize:function stateStackSize() {\n return this.conditionStack.length;\n },\noptions: {},\nperformAction: function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) {\nvar YYSTATE=YY_START;\nswitch($avoiding_name_collisions) {\ncase 0: this.begin('open_directive'); return 18; \nbreak;\ncase 1:return 7;\nbreak;\ncase 2:return 8;\nbreak;\ncase 3:return 9;\nbreak;\ncase 4:return 10;\nbreak;\ncase 5: this.begin('type_directive'); return 19; \nbreak;\ncase 6: this.popState(); this.begin('arg_directive'); return 16; \nbreak;\ncase 7: this.popState(); this.popState(); return 21; \nbreak;\ncase 8:return 20;\nbreak;\ncase 9:/* skip comments */\nbreak;\ncase 10:/* skip comments */\nbreak;\ncase 11:return 15;\nbreak;\ncase 12:/* skip whitespace */\nbreak;\ncase 13:return 22;\nbreak;\ncase 14:return 22;\nbreak;\ncase 15: this.begin(\"struct\"); /*console.log('Starting struct');*/ return 39;\nbreak;\ncase 16:return \"EOF_IN_STRUCT\";\nbreak;\ncase 17:return \"OPEN_IN_STRUCT\";\nbreak;\ncase 18: /*console.log('Ending struct');*/this.popState(); return 41;\nbreak;\ncase 19:/* nothing */\nbreak;\ncase 20: /*console.log('lex-member: ' + yy_.yytext);*/ return \"MEMBER\";\nbreak;\ncase 21:return 37;\nbreak;\ncase 22:return 63;\nbreak;\ncase 23:return 56;\nbreak;\ncase 24:return 57;\nbreak;\ncase 25:return 59;\nbreak;\ncase 26:return 42;\nbreak;\ncase 27:return 43;\nbreak;\ncase 28:this.begin(\"generic\");\nbreak;\ncase 29:this.popState();\nbreak;\ncase 30:return \"GENERICTYPE\";\nbreak;\ncase 31:this.begin(\"string\");\nbreak;\ncase 32:this.popState();\nbreak;\ncase 33:return \"STR\";\nbreak;\ncase 34:this.begin(\"bqstring\");\nbreak;\ncase 35:this.popState();\nbreak;\ncase 36:return \"BQUOTE_STR\";\nbreak;\ncase 37:this.begin(\"href\");\nbreak;\ncase 38:this.popState();\nbreak;\ncase 39:return 62;\nbreak;\ncase 40:this.begin(\"callback_name\");\nbreak;\ncase 41:this.popState();\nbreak;\ncase 42:this.popState(); this.begin(\"callback_args\");\nbreak;\ncase 43:return 60;\nbreak;\ncase 44:this.popState();\nbreak;\ncase 45:return 61;\nbreak;\ncase 46:return 58;\nbreak;\ncase 47:return 58;\nbreak;\ncase 48:return 58;\nbreak;\ncase 49:return 58;\nbreak;\ncase 50:return 51;\nbreak;\ncase 51:return 51;\nbreak;\ncase 52:return 53;\nbreak;\ncase 53:return 53;\nbreak;\ncase 54:return 52;\nbreak;\ncase 55:return 50;\nbreak;\ncase 56:return 54;\nbreak;\ncase 57:return 55;\nbreak;\ncase 58:return 31;\nbreak;\ncase 59:return 38;\nbreak;\ncase 60:return 75;\nbreak;\ncase 61:return 'DOT';\nbreak;\ncase 62:return 'PLUS';\nbreak;\ncase 63:return 72;\nbreak;\ncase 64:return 'EQUALS';\nbreak;\ncase 65:return 'EQUALS';\nbreak;\ncase 66:return 79;\nbreak;\ncase 67:return 'PUNCTUATION';\nbreak;\ncase 68:return 78;\nbreak;\ncase 69:return 77;\nbreak;\ncase 70:return 74;\nbreak;\ncase 71:return 24;\nbreak;\n}\n},\nrules: [/^(?:%%\\{)/,/^(?:.*direction\\s+TB[^\\n]*)/,/^(?:.*direction\\s+BT[^\\n]*)/,/^(?:.*direction\\s+RL[^\\n]*)/,/^(?:.*direction\\s+LR[^\\n]*)/,/^(?:((?:(?!\\}%%)[^:.])*))/,/^(?::)/,/^(?:\\}%%)/,/^(?:((?:(?!\\}%%).|\\n)*))/,/^(?:%%(?!\\{)*[^\\n]*(\\r?\\n?)+)/,/^(?:%%[^\\n]*(\\r?\\n)*)/,/^(?:\\s*(\\r?\\n)+)/,/^(?:\\s+)/,/^(?:classDiagram-v2\\b)/,/^(?:classDiagram\\b)/,/^(?:[{])/,/^(?:$)/,/^(?:[{])/,/^(?:[}])/,/^(?:[\\n])/,/^(?:[^{}\\n]*)/,/^(?:class\\b)/,/^(?:cssClass\\b)/,/^(?:callback\\b)/,/^(?:link\\b)/,/^(?:click\\b)/,/^(?:<<)/,/^(?:>>)/,/^(?:[~])/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:[\"])/,/^(?:[\"])/,/^(?:[^\"]*)/,/^(?:[`])/,/^(?:[`])/,/^(?:[^`]+)/,/^(?:href[\\s]+[\"])/,/^(?:[\"])/,/^(?:[^\"]*)/,/^(?:call[\\s]+)/,/^(?:\\([\\s]*\\))/,/^(?:\\()/,/^(?:[^(]*)/,/^(?:\\))/,/^(?:[^)]*)/,/^(?:_self\\b)/,/^(?:_blank\\b)/,/^(?:_parent\\b)/,/^(?:_top\\b)/,/^(?:\\s*<\\|)/,/^(?:\\s*\\|>)/,/^(?:\\s*>)/,/^(?:\\s*<)/,/^(?:\\s*\\*)/,/^(?:\\s*o\\b)/,/^(?:--)/,/^(?:\\.\\.)/,/^(?::{1}[^:\\n;]+)/,/^(?::{3})/,/^(?:-)/,/^(?:\\.)/,/^(?:\\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:\\w+)/,/^(?:[!\"#$%&'*+,-.`?\\\\/])/,/^(?:[0-9]+)/,/^(?:[\\u00AA\\u00B5\\u00BA\\u00C0-\\u00D6\\u00D8-\\u00F6]|[\\u00F8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377]|[\\u037A-\\u037D\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5]|[\\u03F7-\\u0481\\u048A-\\u0527\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA]|[\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE]|[\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA]|[\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0]|[\\u08A2-\\u08AC\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0977]|[\\u0979-\\u097F\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2]|[\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A]|[\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39]|[\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8]|[\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0B05-\\u0B0C]|[\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C]|[\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99]|[\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0]|[\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C33\\u0C35-\\u0C39\\u0C3D]|[\\u0C58\\u0C59\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3]|[\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10]|[\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D60\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1]|[\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81]|[\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3]|[\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6]|[\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A]|[\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081]|[\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D]|[\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0]|[\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310]|[\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C]|[\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u1700-\\u170C\\u170E-\\u1711]|[\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7]|[\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191C]|[\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19C1-\\u19C7\\u1A00-\\u1A16]|[\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF]|[\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1CE9-\\u1CEC]|[\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D]|[\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D]|[\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3]|[\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F]|[\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128]|[\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2183\\u2184]|[\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3]|[\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6]|[\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE]|[\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005\\u3006\\u3031-\\u3035\\u303B\\u303C]|[\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D]|[\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC]|[\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B]|[\\uA640-\\uA66E\\uA67F-\\uA697\\uA6A0-\\uA6E5\\uA717-\\uA71F\\uA722-\\uA788]|[\\uA78B-\\uA78E\\uA790-\\uA793\\uA7A0-\\uA7AA\\uA7F8-\\uA801\\uA803-\\uA805]|[\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB]|[\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uAA00-\\uAA28]|[\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA80-\\uAAAF\\uAAB1\\uAAB5]|[\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4]|[\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E]|[\\uABC0-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D]|[\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36]|[\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D]|[\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC]|[\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF]|[\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC])/,/^(?:\\s)/,/^(?:$)/],\nconditions: {\"arg_directive\":{\"rules\":[7,8],\"inclusive\":false},\"type_directive\":{\"rules\":[6,7],\"inclusive\":false},\"open_directive\":{\"rules\":[5],\"inclusive\":false},\"callback_args\":{\"rules\":[44,45],\"inclusive\":false},\"callback_name\":{\"rules\":[41,42,43],\"inclusive\":false},\"href\":{\"rules\":[38,39],\"inclusive\":false},\"struct\":{\"rules\":[16,17,18,19,20],\"inclusive\":false},\"generic\":{\"rules\":[29,30],\"inclusive\":false},\"bqstring\":{\"rules\":[35,36],\"inclusive\":false},\"string\":{\"rules\":[32,33],\"inclusive\":false},\"INITIAL\":{\"rules\":[0,1,2,3,4,9,10,11,12,13,14,15,21,22,23,24,25,26,27,28,31,34,37,40,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71],\"inclusive\":true}}\n});\nreturn lexer;\n})();\nparser.lexer = lexer;\nfunction Parser () {\n this.yy = {};\n}\nParser.prototype = parser;parser.Parser = Parser;\nreturn new Parser;\n})();\n\n\nif (typeof require !== 'undefined' && typeof exports !== 'undefined') {\nexports.parser = parser;\nexports.Parser = parser.Parser;\nexports.parse = function () { return parser.parse.apply(parser, arguments); };\nexports.main = function commonjsMain (args) {\n if (!args[1]) {\n console.log('Usage: '+args[0]+' FILE');\n process.exit(1);\n }\n var source = require('fs').readFileSync(require('path').normalize(args[1]), \"utf8\");\n return exports.parser.parse(source);\n};\nif (typeof module !== 'undefined' && require.main === module) {\n exports.main(process.argv.slice(1));\n}\n}","const getStyles = (options) =>\n `g.classGroup text {\n fill: ${options.nodeBorder};\n fill: ${options.classText};\n stroke: none;\n font-family: ${options.fontFamily};\n font-size: 10px;\n\n .title {\n font-weight: bolder;\n }\n\n}\n\n.nodeLabel, .edgeLabel {\n color: ${options.classText};\n}\n.edgeLabel .label rect {\n fill: ${options.mainBkg};\n}\n.label text {\n fill: ${options.classText};\n}\n.edgeLabel .label span {\n background: ${options.mainBkg};\n}\n\n.classTitle {\n font-weight: bolder;\n}\n.node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ${options.mainBkg};\n stroke: ${options.nodeBorder};\n stroke-width: 1px;\n }\n\n\n.divider {\n stroke: ${options.nodeBorder};\n stroke: 1;\n}\n\ng.clickable {\n cursor: pointer;\n}\n\ng.classGroup rect {\n fill: ${options.mainBkg};\n stroke: ${options.nodeBorder};\n}\n\ng.classGroup line {\n stroke: ${options.nodeBorder};\n stroke-width: 1;\n}\n\n.classLabel .box {\n stroke: none;\n stroke-width: 0;\n fill: ${options.mainBkg};\n opacity: 0.5;\n}\n\n.classLabel .label {\n fill: ${options.nodeBorder};\n font-size: 10px;\n}\n\n.relation {\n stroke: ${options.lineColor};\n stroke-width: 1;\n fill: none;\n}\n\n.dashed-line{\n stroke-dasharray: 3;\n}\n\n#compositionStart, .composition {\n fill: ${options.lineColor} !important;\n stroke: ${options.lineColor} !important;\n stroke-width: 1;\n}\n\n#compositionEnd, .composition {\n fill: ${options.lineColor} !important;\n stroke: ${options.lineColor} !important;\n stroke-width: 1;\n}\n\n#dependencyStart, .dependency {\n fill: ${options.lineColor} !important;\n stroke: ${options.lineColor} !important;\n stroke-width: 1;\n}\n\n#dependencyStart, .dependency {\n fill: ${options.lineColor} !important;\n stroke: ${options.lineColor} !important;\n stroke-width: 1;\n}\n\n#extensionStart, .extension {\n fill: ${options.lineColor} !important;\n stroke: ${options.lineColor} !important;\n stroke-width: 1;\n}\n\n#extensionEnd, .extension {\n fill: ${options.lineColor} !important;\n stroke: ${options.lineColor} !important;\n stroke-width: 1;\n}\n\n#aggregationStart, .aggregation {\n fill: ${options.mainBkg} !important;\n stroke: ${options.lineColor} !important;\n stroke-width: 1;\n}\n\n#aggregationEnd, .aggregation {\n fill: ${options.mainBkg} !important;\n stroke: ${options.lineColor} !important;\n stroke-width: 1;\n}\n\n.edgeTerminals {\n font-size: 11px;\n}\n\n`;\n\nexport default getStyles;\n","import { line, curveBasis } from 'd3';\nimport { lookUpDomId, relationType } from './classDb';\nimport utils from '../../utils';\nimport { log } from '../../logger';\n\nlet edgeCount = 0;\nexport const drawEdge = function (elem, path, relation, conf) {\n const getRelationType = function (type) {\n switch (type) {\n case relationType.AGGREGATION:\n return 'aggregation';\n case relationType.EXTENSION:\n return 'extension';\n case relationType.COMPOSITION:\n return 'composition';\n case relationType.DEPENDENCY:\n return 'dependency';\n }\n };\n\n path.points = path.points.filter((p) => !Number.isNaN(p.y));\n\n // The data for our line\n const lineData = path.points;\n\n // This is the accessor function we talked about above\n const lineFunction = line()\n .x(function (d) {\n return d.x;\n })\n .y(function (d) {\n return d.y;\n })\n .curve(curveBasis);\n\n const svgPath = elem\n .append('path')\n .attr('d', lineFunction(lineData))\n .attr('id', 'edge' + edgeCount)\n .attr('class', 'relation');\n let url = '';\n if (conf.arrowMarkerAbsolute) {\n url =\n window.location.protocol +\n '//' +\n window.location.host +\n window.location.pathname +\n window.location.search;\n url = url.replace(/\\(/g, '\\\\(');\n url = url.replace(/\\)/g, '\\\\)');\n }\n\n if (relation.relation.lineType == 1) {\n svgPath.attr('class', 'relation dashed-line');\n }\n if (relation.relation.type1 !== 'none') {\n svgPath.attr(\n 'marker-start',\n 'url(' + url + '#' + getRelationType(relation.relation.type1) + 'Start' + ')'\n );\n }\n if (relation.relation.type2 !== 'none') {\n svgPath.attr(\n 'marker-end',\n 'url(' + url + '#' + getRelationType(relation.relation.type2) + 'End' + ')'\n );\n }\n\n let x, y;\n const l = path.points.length;\n // Calculate Label position\n let labelPosition = utils.calcLabelPosition(path.points);\n x = labelPosition.x;\n y = labelPosition.y;\n\n let p1_card_x, p1_card_y;\n let p2_card_x, p2_card_y;\n\n if (l % 2 !== 0 && l > 1) {\n let cardinality_1_point = utils.calcCardinalityPosition(\n relation.relation.type1 !== 'none',\n path.points,\n path.points[0]\n );\n let cardinality_2_point = utils.calcCardinalityPosition(\n relation.relation.type2 !== 'none',\n path.points,\n path.points[l - 1]\n );\n\n log.debug('cardinality_1_point ' + JSON.stringify(cardinality_1_point));\n log.debug('cardinality_2_point ' + JSON.stringify(cardinality_2_point));\n\n p1_card_x = cardinality_1_point.x;\n p1_card_y = cardinality_1_point.y;\n p2_card_x = cardinality_2_point.x;\n p2_card_y = cardinality_2_point.y;\n }\n\n if (typeof relation.title !== 'undefined') {\n const g = elem.append('g').attr('class', 'classLabel');\n const label = g\n .append('text')\n .attr('class', 'label')\n .attr('x', x)\n .attr('y', y)\n .attr('fill', 'red')\n .attr('text-anchor', 'middle')\n .text(relation.title);\n\n window.label = label;\n const bounds = label.node().getBBox();\n\n g.insert('rect', ':first-child')\n .attr('class', 'box')\n .attr('x', bounds.x - conf.padding / 2)\n .attr('y', bounds.y - conf.padding / 2)\n .attr('width', bounds.width + conf.padding)\n .attr('height', bounds.height + conf.padding);\n }\n\n log.info('Rendering relation ' + JSON.stringify(relation));\n if (typeof relation.relationTitle1 !== 'undefined' && relation.relationTitle1 !== 'none') {\n const g = elem.append('g').attr('class', 'cardinality');\n g.append('text')\n .attr('class', 'type1')\n .attr('x', p1_card_x)\n .attr('y', p1_card_y)\n .attr('fill', 'black')\n .attr('font-size', '6')\n .text(relation.relationTitle1);\n }\n if (typeof relation.relationTitle2 !== 'undefined' && relation.relationTitle2 !== 'none') {\n const g = elem.append('g').attr('class', 'cardinality');\n g.append('text')\n .attr('class', 'type2')\n .attr('x', p2_card_x)\n .attr('y', p2_card_y)\n .attr('fill', 'black')\n .attr('font-size', '6')\n .text(relation.relationTitle2);\n }\n\n edgeCount++;\n};\n\nexport const drawClass = function (elem, classDef, conf) {\n log.info('Rendering class ' + classDef);\n\n const id = classDef.id;\n const classInfo = {\n id: id,\n label: classDef.id,\n width: 0,\n height: 0,\n };\n\n // add class group\n const g = elem.append('g').attr('id', lookUpDomId(id)).attr('class', 'classGroup');\n\n // add title\n let title;\n if (classDef.link) {\n title = g\n .append('svg:a')\n .attr('xlink:href', classDef.link)\n .attr('target', classDef.linkTarget)\n .append('text')\n .attr('y', conf.textHeight + conf.padding)\n .attr('x', 0);\n } else {\n title = g\n .append('text')\n .attr('y', conf.textHeight + conf.padding)\n .attr('x', 0);\n }\n\n // add annotations\n let isFirst = true;\n classDef.annotations.forEach(function (member) {\n const titleText2 = title.append('tspan').text('«' + member + '»');\n if (!isFirst) titleText2.attr('dy', conf.textHeight);\n isFirst = false;\n });\n\n let classTitleString = classDef.id;\n\n if (classDef.type !== undefined && classDef.type !== '') {\n classTitleString += '<' + classDef.type + '>';\n }\n\n const classTitle = title.append('tspan').text(classTitleString).attr('class', 'title');\n\n // If class has annotations the title needs to have an offset of the text height\n if (!isFirst) classTitle.attr('dy', conf.textHeight);\n\n const titleHeight = title.node().getBBox().height;\n\n const membersLine = g\n .append('line') // text label for the x axis\n .attr('x1', 0)\n .attr('y1', conf.padding + titleHeight + conf.dividerMargin / 2)\n .attr('y2', conf.padding + titleHeight + conf.dividerMargin / 2);\n\n const members = g\n .append('text') // text label for the x axis\n .attr('x', conf.padding)\n .attr('y', titleHeight + conf.dividerMargin + conf.textHeight)\n .attr('fill', 'white')\n .attr('class', 'classText');\n\n isFirst = true;\n classDef.members.forEach(function (member) {\n addTspan(members, member, isFirst, conf);\n isFirst = false;\n });\n\n const membersBox = members.node().getBBox();\n\n const methodsLine = g\n .append('line') // text label for the x axis\n .attr('x1', 0)\n .attr('y1', conf.padding + titleHeight + conf.dividerMargin + membersBox.height)\n .attr('y2', conf.padding + titleHeight + conf.dividerMargin + membersBox.height);\n\n const methods = g\n .append('text') // text label for the x axis\n .attr('x', conf.padding)\n .attr('y', titleHeight + 2 * conf.dividerMargin + membersBox.height + conf.textHeight)\n .attr('fill', 'white')\n .attr('class', 'classText');\n\n isFirst = true;\n\n classDef.methods.forEach(function (method) {\n addTspan(methods, method, isFirst, conf);\n isFirst = false;\n });\n\n const classBox = g.node().getBBox();\n var cssClassStr = ' ';\n\n if (classDef.cssClasses.length > 0) {\n cssClassStr = cssClassStr + classDef.cssClasses.join(' ');\n }\n\n const rect = g\n .insert('rect', ':first-child')\n .attr('x', 0)\n .attr('y', 0)\n .attr('width', classBox.width + 2 * conf.padding)\n .attr('height', classBox.height + conf.padding + 0.5 * conf.dividerMargin)\n .attr('class', cssClassStr);\n\n const rectWidth = rect.node().getBBox().width;\n\n // Center title\n // We subtract the width of each text element from the class box width and divide it by 2\n title.node().childNodes.forEach(function (x) {\n x.setAttribute('x', (rectWidth - x.getBBox().width) / 2);\n });\n\n if (classDef.tooltip) {\n title.insert('title').text(classDef.tooltip);\n }\n\n membersLine.attr('x2', rectWidth);\n methodsLine.attr('x2', rectWidth);\n\n classInfo.width = rectWidth;\n classInfo.height = classBox.height + conf.padding + 0.5 * conf.dividerMargin;\n\n return classInfo;\n};\n\nexport const parseMember = function (text) {\n const fieldRegEx = /^(\\+|-|~|#)?(\\w+)(~\\w+~|\\[\\])?\\s+(\\w+) *(\\*|\\$)?$/;\n const methodRegEx = /^([+|\\-|~|#])?(\\w+) *\\( *(.*)\\) *(\\*|\\$)? *(\\w*[~|[\\]]*\\s*\\w*~?)$/;\n\n let fieldMatch = text.match(fieldRegEx);\n let methodMatch = text.match(methodRegEx);\n\n if (fieldMatch && !methodMatch) {\n return buildFieldDisplay(fieldMatch);\n } else if (methodMatch) {\n return buildMethodDisplay(methodMatch);\n } else {\n return buildLegacyDisplay(text);\n }\n};\n\nconst buildFieldDisplay = function (parsedText) {\n let cssStyle = '';\n let displayText = '';\n\n try {\n let visibility = parsedText[1] ? parsedText[1].trim() : '';\n let fieldType = parsedText[2] ? parsedText[2].trim() : '';\n let genericType = parsedText[3] ? parseGenericTypes(parsedText[3].trim()) : '';\n let fieldName = parsedText[4] ? parsedText[4].trim() : '';\n let classifier = parsedText[5] ? parsedText[5].trim() : '';\n\n displayText = visibility + fieldType + genericType + ' ' + fieldName;\n cssStyle = parseClassifier(classifier);\n } catch (err) {\n displayText = parsedText;\n }\n\n return {\n displayText: displayText,\n cssStyle: cssStyle,\n };\n};\n\nconst buildMethodDisplay = function (parsedText) {\n let cssStyle = '';\n let displayText = '';\n\n try {\n let visibility = parsedText[1] ? parsedText[1].trim() : '';\n let methodName = parsedText[2] ? parsedText[2].trim() : '';\n let parameters = parsedText[3] ? parseGenericTypes(parsedText[3].trim()) : '';\n let classifier = parsedText[4] ? parsedText[4].trim() : '';\n let returnType = parsedText[5] ? ' : ' + parseGenericTypes(parsedText[5]).trim() : '';\n\n displayText = visibility + methodName + '(' + parameters + ')' + returnType;\n cssStyle = parseClassifier(classifier);\n } catch (err) {\n displayText = parsedText;\n }\n\n return {\n displayText: displayText,\n cssStyle: cssStyle,\n };\n};\n\nconst buildLegacyDisplay = function (text) {\n // if for some reason we dont have any match, use old format to parse text\n let displayText = '';\n let cssStyle = '';\n let memberText = '';\n let returnType = '';\n let methodStart = text.indexOf('(');\n let methodEnd = text.indexOf(')');\n\n if (methodStart > 1 && methodEnd > methodStart && methodEnd <= text.length) {\n let visibility = '';\n let methodName = '';\n\n let firstChar = text.substring(0, 1);\n if (firstChar.match(/\\w/)) {\n methodName = text.substring(0, methodStart).trim();\n } else {\n if (firstChar.match(/\\+|-|~|#/)) {\n visibility = firstChar;\n }\n\n methodName = text.substring(1, methodStart).trim();\n }\n\n let parameters = text.substring(methodStart + 1, methodEnd);\n let classifier = text.substring(methodEnd + 1, 1);\n cssStyle = parseClassifier(classifier);\n\n displayText = visibility + methodName + '(' + parseGenericTypes(parameters.trim()) + ')';\n\n if (methodEnd < memberText.length) {\n returnType = text.substring(methodEnd + 2).trim();\n if (returnType !== '') {\n returnType = ' : ' + parseGenericTypes(returnType);\n }\n }\n } else {\n // finally - if all else fails, just send the text back as written (other than parsing for generic types)\n displayText = parseGenericTypes(text);\n }\n\n return {\n displayText: displayText,\n cssStyle: cssStyle,\n };\n};\n\nconst addTspan = function (textEl, txt, isFirst, conf) {\n let member = parseMember(txt);\n\n const tSpan = textEl.append('tspan').attr('x', conf.padding).text(member.displayText);\n\n if (member.cssStyle !== '') {\n tSpan.attr('style', member.cssStyle);\n }\n\n if (!isFirst) {\n tSpan.attr('dy', conf.textHeight);\n }\n};\n\nconst parseGenericTypes = function (text) {\n let cleanedText = text;\n\n if (text.indexOf('~') != -1) {\n cleanedText = cleanedText.replace('~', '<');\n cleanedText = cleanedText.replace('~', '>');\n\n return parseGenericTypes(cleanedText);\n } else {\n return cleanedText;\n }\n};\n\nconst parseClassifier = function (classifier) {\n switch (classifier) {\n case '*':\n return 'font-style:italic;';\n case '$':\n return 'text-decoration:underline;';\n default:\n return '';\n }\n};\n\nexport default {\n drawClass,\n drawEdge,\n parseMember,\n};\n","import DOMPurify from 'dompurify';\n\nexport const getRows = (s) => {\n if (!s) return 1;\n let str = breakToPlaceholder(s);\n str = str.replace(/\\\\n/g, '#br#');\n return str.split('#br#');\n};\n\nexport const removeScript = (txt) => {\n var rs = '';\n var idx = 0;\n\n while (idx >= 0) {\n idx = txt.indexOf('= 0) {\n rs += txt.substr(0, idx);\n txt = txt.substr(idx + 1);\n\n idx = txt.indexOf('');\n if (idx >= 0) {\n idx += 9;\n txt = txt.substr(idx);\n }\n } else {\n rs += txt;\n idx = -1;\n break;\n }\n }\n\n rs = rs.replace(/script>/gi, '#');\n rs = rs.replace(/script>/gi, '#');\n rs = rs.replace(/javascript:/gi, '#');\n rs = rs.replace(/onerror=/gi, 'onerror:');\n rs = rs.replace(/