projen 0.58.1 → 0.58.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +3 -3
- package/lib/_resolve.d.ts +0 -1
- package/lib/_resolve.js +5 -6
- package/lib/awscdk/auto-discover.d.ts +0 -1
- package/lib/awscdk/auto-discover.js +10 -11
- package/lib/awscdk/awscdk-app-java.d.ts +0 -1
- package/lib/awscdk/awscdk-app-java.js +3 -4
- package/lib/awscdk/awscdk-app-py.d.ts +0 -1
- package/lib/awscdk/awscdk-app-py.js +6 -7
- package/lib/awscdk/awscdk-app-ts.d.ts +0 -1
- package/lib/awscdk/awscdk-app-ts.js +11 -12
- package/lib/awscdk/awscdk-construct.d.ts +0 -1
- package/lib/awscdk/awscdk-construct.js +8 -9
- package/lib/awscdk/awscdk-deps-java.d.ts +0 -1
- package/lib/awscdk/awscdk-deps-java.js +1 -1
- package/lib/awscdk/awscdk-deps-js.d.ts +0 -1
- package/lib/awscdk/awscdk-deps-js.js +1 -1
- package/lib/awscdk/awscdk-deps-py.d.ts +0 -1
- package/lib/awscdk/awscdk-deps.d.ts +0 -1
- package/lib/awscdk/awscdk-deps.js +9 -12
- package/lib/awscdk/awscdk-pytest-sample.d.ts +0 -1
- package/lib/awscdk/cdk-config.d.ts +0 -1
- package/lib/awscdk/cdk-config.js +6 -7
- package/lib/awscdk/cdk-tasks.d.ts +0 -1
- package/lib/awscdk/cdk-tasks.js +3 -4
- package/lib/awscdk/index.d.ts +0 -1
- package/lib/awscdk/integration-test.d.ts +0 -1
- package/lib/awscdk/integration-test.js +5 -6
- package/lib/awscdk/internal.d.ts +0 -1
- package/lib/awscdk/lambda-extension.d.ts +0 -1
- package/lib/awscdk/lambda-extension.js +7 -9
- package/lib/awscdk/lambda-function.d.ts +0 -1
- package/lib/awscdk/lambda-function.js +8 -9
- package/lib/build/build-workflow.d.ts +0 -1
- package/lib/build/build-workflow.js +14 -17
- package/lib/build/index.d.ts +0 -1
- package/lib/builtin-example.task.d.ts +0 -1
- package/lib/cdk/auto-discover-base.d.ts +0 -1
- package/lib/cdk/auto-discover-base.js +2 -2
- package/lib/cdk/construct-lib.d.ts +0 -1
- package/lib/cdk/construct-lib.js +1 -1
- package/lib/cdk/consts.d.ts +0 -1
- package/lib/cdk/index.d.ts +0 -1
- package/lib/cdk/integration-test-base.d.ts +0 -1
- package/lib/cdk/integration-test-base.js +3 -4
- package/lib/cdk/internal.d.ts +0 -1
- package/lib/cdk/jsii-docgen.d.ts +0 -1
- package/lib/cdk/jsii-docgen.js +3 -4
- package/lib/cdk/jsii-project.d.ts +0 -1
- package/lib/cdk/jsii-project.js +16 -18
- package/lib/cdk8s/auto-discover.d.ts +0 -1
- package/lib/cdk8s/auto-discover.js +4 -5
- package/lib/cdk8s/cdk8s-app-ts.d.ts +0 -1
- package/lib/cdk8s/cdk8s-app-ts.js +6 -7
- package/lib/cdk8s/cdk8s-construct.d.ts +0 -1
- package/lib/cdk8s/cdk8s-construct.js +5 -6
- package/lib/cdk8s/index.d.ts +0 -1
- package/lib/cdk8s/integration-test.d.ts +0 -1
- package/lib/cdk8s/integration-test.js +1 -1
- package/lib/cdktf/cdktf-construct.d.ts +0 -1
- package/lib/cdktf/cdktf-construct.js +3 -4
- package/lib/cdktf/index.d.ts +0 -1
- package/lib/cleanup.d.ts +0 -1
- package/lib/cleanup.js +2 -2
- package/lib/cli/cmds/new.d.ts +0 -1
- package/lib/cli/cmds/new.js +9 -15
- package/lib/cli/index.d.ts +0 -1
- package/lib/cli/macros.d.ts +0 -1
- package/lib/cli/macros.js +6 -8
- package/lib/cli/synth.d.ts +0 -1
- package/lib/cli/synth.js +2 -3
- package/lib/cli/tasks.d.ts +0 -1
- package/lib/cli/tasks.js +5 -7
- package/lib/cli/util.d.ts +0 -1
- package/lib/clobber.d.ts +0 -1
- package/lib/common.d.ts +0 -1
- package/lib/component.d.ts +0 -1
- package/lib/component.js +1 -1
- package/lib/dependencies.d.ts +0 -1
- package/lib/dependencies.js +3 -3
- package/lib/dev-env.d.ts +0 -1
- package/lib/dev-env.js +1 -1
- package/lib/docker-compose.d.ts +0 -1
- package/lib/docker-compose.js +16 -21
- package/lib/file.d.ts +0 -1
- package/lib/file.js +7 -8
- package/lib/gitattributes.d.ts +0 -1
- package/lib/gitattributes.js +1 -1
- package/lib/github/auto-approve.d.ts +0 -1
- package/lib/github/auto-approve.js +6 -7
- package/lib/github/auto-merge.d.ts +0 -1
- package/lib/github/auto-merge.js +6 -6
- package/lib/github/constants.d.ts +0 -1
- package/lib/github/dependabot.d.ts +0 -1
- package/lib/github/dependabot.js +6 -7
- package/lib/github/github-credentials.d.ts +0 -1
- package/lib/github/github-credentials.js +5 -7
- package/lib/github/github-project.d.ts +0 -1
- package/lib/github/github-project.js +7 -8
- package/lib/github/github.d.ts +0 -1
- package/lib/github/github.js +5 -6
- package/lib/github/index.d.ts +0 -1
- package/lib/github/mergify.d.ts +0 -1
- package/lib/github/mergify.js +4 -5
- package/lib/github/pr-template.d.ts +0 -1
- package/lib/github/pr-template.js +3 -4
- package/lib/github/pull-request-lint.d.ts +0 -1
- package/lib/github/pull-request-lint.js +7 -8
- package/lib/github/stale-util.d.ts +0 -1
- package/lib/github/stale-util.js +10 -9
- package/lib/github/stale.d.ts +0 -1
- package/lib/github/stale.js +3 -4
- package/lib/github/task-workflow.d.ts +0 -1
- package/lib/github/task-workflow.js +8 -9
- package/lib/github/util.d.ts +0 -1
- package/lib/github/workflow-actions.d.ts +0 -1
- package/lib/github/workflows-model.d.ts +0 -1
- package/lib/github/workflows.d.ts +0 -1
- package/lib/github/workflows.js +3 -4
- package/lib/gitlab/configuration-model.d.ts +0 -1
- package/lib/gitlab/configuration.d.ts +0 -1
- package/lib/gitlab/configuration.js +9 -10
- package/lib/gitlab/gitlab-configuration.d.ts +0 -1
- package/lib/gitlab/gitlab-configuration.js +1 -1
- package/lib/gitlab/index.d.ts +0 -1
- package/lib/gitlab/nested-configuration.d.ts +0 -1
- package/lib/gitlab/nested-configuration.js +1 -1
- package/lib/gitpod.d.ts +0 -1
- package/lib/gitpod.js +9 -10
- package/lib/ignore-file.d.ts +0 -1
- package/lib/ignore-file.js +1 -1
- package/lib/index.d.ts +0 -1
- package/lib/ini.d.ts +0 -1
- package/lib/ini.js +1 -1
- package/lib/inventory.d.ts +0 -1
- package/lib/inventory.js +18 -22
- package/lib/java/index.d.ts +0 -1
- package/lib/java/java-project.d.ts +0 -1
- package/lib/java/java-project.js +9 -10
- package/lib/java/junit.d.ts +0 -1
- package/lib/java/junit.js +4 -5
- package/lib/java/maven-compile.d.ts +0 -1
- package/lib/java/maven-compile.js +4 -5
- package/lib/java/maven-packaging.d.ts +0 -1
- package/lib/java/maven-packaging.js +5 -6
- package/lib/java/maven-sample.d.ts +0 -1
- package/lib/java/maven-sample.js +1 -1
- package/lib/java/pom.d.ts +0 -1
- package/lib/java/pom.js +6 -9
- package/lib/java/projenrc.d.ts +0 -1
- package/lib/java/projenrc.js +10 -12
- package/lib/javascript/bundler.d.ts +0 -1
- package/lib/javascript/bundler.js +9 -11
- package/lib/javascript/eslint.d.ts +0 -1
- package/lib/javascript/eslint.js +10 -11
- package/lib/javascript/index.d.ts +0 -1
- package/lib/javascript/jest.d.ts +0 -1
- package/lib/javascript/jest.js +19 -19
- package/lib/javascript/node-package.d.ts +0 -1
- package/lib/javascript/node-package.js +36 -37
- package/lib/javascript/node-project.d.ts +0 -1
- package/lib/javascript/node-project.js +53 -54
- package/lib/javascript/npm-config.d.ts +0 -1
- package/lib/javascript/npm-config.js +1 -1
- package/lib/javascript/prettier.d.ts +0 -1
- package/lib/javascript/prettier.js +5 -7
- package/lib/javascript/projenrc.d.ts +0 -1
- package/lib/javascript/projenrc.js +4 -5
- package/lib/javascript/render-options.d.ts +0 -1
- package/lib/javascript/render-options.js +7 -8
- package/lib/javascript/typescript-config.d.ts +0 -1
- package/lib/javascript/typescript-config.js +6 -7
- package/lib/javascript/upgrade-dependencies.d.ts +0 -1
- package/lib/javascript/upgrade-dependencies.js +30 -30
- package/lib/javascript/util.d.ts +0 -1
- package/lib/javascript/util.js +3 -4
- package/lib/json.d.ts +0 -1
- package/lib/json.js +3 -4
- package/lib/license.d.ts +0 -1
- package/lib/license.js +3 -4
- package/lib/logger.d.ts +0 -1
- package/lib/logger.js +6 -7
- package/lib/logging.d.ts +0 -1
- package/lib/makefile.d.ts +0 -1
- package/lib/makefile.js +1 -1
- package/lib/object-file.d.ts +0 -1
- package/lib/object-file.js +6 -8
- package/lib/option-hints.d.ts +0 -1
- package/lib/project-build.d.ts +0 -1
- package/lib/project-build.js +1 -1
- package/lib/project.d.ts +0 -1
- package/lib/project.js +7 -8
- package/lib/projects.d.ts +0 -1
- package/lib/projects.js +5 -6
- package/lib/projenrc-json.d.ts +0 -1
- package/lib/projenrc-json.js +5 -6
- package/lib/python/index.d.ts +0 -1
- package/lib/python/pip.d.ts +0 -1
- package/lib/python/pip.js +1 -1
- package/lib/python/poetry.d.ts +0 -1
- package/lib/python/poetry.js +4 -5
- package/lib/python/projenrc.d.ts +0 -1
- package/lib/python/projenrc.js +7 -10
- package/lib/python/pytest-sample.d.ts +0 -1
- package/lib/python/pytest-sample.js +1 -1
- package/lib/python/pytest.d.ts +0 -1
- package/lib/python/pytest.js +4 -5
- package/lib/python/python-deps.d.ts +0 -1
- package/lib/python/python-env.d.ts +0 -1
- package/lib/python/python-packaging.d.ts +0 -1
- package/lib/python/python-project.d.ts +0 -1
- package/lib/python/python-project.js +16 -17
- package/lib/python/python-sample.d.ts +0 -1
- package/lib/python/python-sample.js +1 -1
- package/lib/python/requirements-file.d.ts +0 -1
- package/lib/python/requirements-file.js +1 -1
- package/lib/python/setuppy.d.ts +0 -1
- package/lib/python/setuppy.js +1 -1
- package/lib/python/setuptools.d.ts +0 -1
- package/lib/python/setuptools.js +1 -1
- package/lib/python/venv.d.ts +0 -1
- package/lib/python/venv.js +3 -4
- package/lib/readme.d.ts +0 -1
- package/lib/readme.js +4 -5
- package/lib/release/bump-version.d.ts +0 -1
- package/lib/release/bump-version.js +4 -5
- package/lib/release/bump-version.task.d.ts +0 -1
- package/lib/release/bump-version.task.js +2 -2
- package/lib/release/index.d.ts +0 -1
- package/lib/release/publisher.d.ts +0 -1
- package/lib/release/publisher.js +108 -123
- package/lib/release/release-trigger.d.ts +0 -1
- package/lib/release/release-trigger.js +5 -7
- package/lib/release/release.d.ts +0 -1
- package/lib/release/release.js +11 -13
- package/lib/release/reset-version.task.d.ts +0 -1
- package/lib/release/tag-version.d.ts +0 -1
- package/lib/release/tag-version.task.d.ts +0 -1
- package/lib/release/update-changelog.d.ts +0 -1
- package/lib/release/update-changelog.task.d.ts +0 -1
- package/lib/renovatebot.d.ts +0 -1
- package/lib/renovatebot.js +5 -6
- package/lib/run-projenrc-json.task.d.ts +0 -1
- package/lib/run-task.js +13 -17
- package/lib/sample-file.d.ts +0 -1
- package/lib/sample-file.js +4 -4
- package/lib/semver.d.ts +0 -1
- package/lib/semver.js +3 -4
- package/lib/source-code.d.ts +0 -1
- package/lib/source-code.js +5 -6
- package/lib/task-model.d.ts +0 -1
- package/lib/task-runtime.d.ts +0 -1
- package/lib/task-runtime.js +15 -19
- package/lib/task.d.ts +0 -1
- package/lib/task.js +4 -5
- package/lib/tasks.d.ts +0 -1
- package/lib/tasks.js +1 -1
- package/lib/testing.d.ts +0 -1
- package/lib/testing.js +1 -1
- package/lib/textfile.d.ts +0 -1
- package/lib/textfile.js +3 -4
- package/lib/toml.d.ts +0 -1
- package/lib/toml.js +1 -1
- package/lib/typescript/index.d.ts +0 -1
- package/lib/typescript/projenrc.d.ts +0 -1
- package/lib/typescript/projenrc.js +9 -10
- package/lib/typescript/typescript-typedoc.d.ts +0 -1
- package/lib/typescript/typescript-typedoc.js +1 -1
- package/lib/typescript/typescript.d.ts +0 -1
- package/lib/typescript/typescript.js +43 -46
- package/lib/util/semver.d.ts +0 -1
- package/lib/util/semver.js +2 -3
- package/lib/util/synth.d.ts +0 -1
- package/lib/util/synth.js +2 -3
- package/lib/util.d.ts +0 -1
- package/lib/util.js +7 -9
- package/lib/version.d.ts +0 -1
- package/lib/version.js +3 -4
- package/lib/vscode/devcontainer.d.ts +0 -1
- package/lib/vscode/devcontainer.js +8 -8
- package/lib/vscode/index.d.ts +0 -1
- package/lib/vscode/launch-config.d.ts +0 -1
- package/lib/vscode/launch-config.js +1 -1
- package/lib/vscode/vscode.d.ts +0 -1
- package/lib/vscode/vscode.js +1 -1
- package/lib/web/index.d.ts +0 -1
- package/lib/web/next.d.ts +0 -1
- package/lib/web/next.js +16 -20
- package/lib/web/postcss.d.ts +0 -1
- package/lib/web/postcss.js +6 -7
- package/lib/web/react.d.ts +0 -1
- package/lib/web/react.js +15 -19
- package/lib/web/tailwind.d.ts +0 -1
- package/lib/web/tailwind.js +4 -5
- package/lib/xmlfile.d.ts +0 -1
- package/lib/xmlfile.js +1 -1
- package/lib/yaml.d.ts +0 -1
- package/lib/yaml.js +3 -4
- package/package.json +5 -5
- package/lib/_resolve.d.ts.map +0 -1
- package/lib/awscdk/auto-discover.d.ts.map +0 -1
- package/lib/awscdk/awscdk-app-java.d.ts.map +0 -1
- package/lib/awscdk/awscdk-app-py.d.ts.map +0 -1
- package/lib/awscdk/awscdk-app-ts.d.ts.map +0 -1
- package/lib/awscdk/awscdk-construct.d.ts.map +0 -1
- package/lib/awscdk/awscdk-deps-java.d.ts.map +0 -1
- package/lib/awscdk/awscdk-deps-js.d.ts.map +0 -1
- package/lib/awscdk/awscdk-deps-py.d.ts.map +0 -1
- package/lib/awscdk/awscdk-deps.d.ts.map +0 -1
- package/lib/awscdk/awscdk-pytest-sample.d.ts.map +0 -1
- package/lib/awscdk/cdk-config.d.ts.map +0 -1
- package/lib/awscdk/cdk-tasks.d.ts.map +0 -1
- package/lib/awscdk/index.d.ts.map +0 -1
- package/lib/awscdk/integration-test.d.ts.map +0 -1
- package/lib/awscdk/internal.d.ts.map +0 -1
- package/lib/awscdk/lambda-extension.d.ts.map +0 -1
- package/lib/awscdk/lambda-function.d.ts.map +0 -1
- package/lib/build/build-workflow.d.ts.map +0 -1
- package/lib/build/index.d.ts.map +0 -1
- package/lib/builtin-example.task.d.ts.map +0 -1
- package/lib/cdk/auto-discover-base.d.ts.map +0 -1
- package/lib/cdk/construct-lib.d.ts.map +0 -1
- package/lib/cdk/consts.d.ts.map +0 -1
- package/lib/cdk/index.d.ts.map +0 -1
- package/lib/cdk/integration-test-base.d.ts.map +0 -1
- package/lib/cdk/internal.d.ts.map +0 -1
- package/lib/cdk/jsii-docgen.d.ts.map +0 -1
- package/lib/cdk/jsii-project.d.ts.map +0 -1
- package/lib/cdk8s/auto-discover.d.ts.map +0 -1
- package/lib/cdk8s/cdk8s-app-ts.d.ts.map +0 -1
- package/lib/cdk8s/cdk8s-construct.d.ts.map +0 -1
- package/lib/cdk8s/index.d.ts.map +0 -1
- package/lib/cdk8s/integration-test.d.ts.map +0 -1
- package/lib/cdktf/cdktf-construct.d.ts.map +0 -1
- package/lib/cdktf/index.d.ts.map +0 -1
- package/lib/cleanup.d.ts.map +0 -1
- package/lib/cli/cmds/new.d.ts.map +0 -1
- package/lib/cli/index.d.ts.map +0 -1
- package/lib/cli/macros.d.ts.map +0 -1
- package/lib/cli/synth.d.ts.map +0 -1
- package/lib/cli/tasks.d.ts.map +0 -1
- package/lib/cli/util.d.ts.map +0 -1
- package/lib/clobber.d.ts.map +0 -1
- package/lib/common.d.ts.map +0 -1
- package/lib/component.d.ts.map +0 -1
- package/lib/dependencies.d.ts.map +0 -1
- package/lib/dev-env.d.ts.map +0 -1
- package/lib/docker-compose.d.ts.map +0 -1
- package/lib/file.d.ts.map +0 -1
- package/lib/gitattributes.d.ts.map +0 -1
- package/lib/github/auto-approve.d.ts.map +0 -1
- package/lib/github/auto-merge.d.ts.map +0 -1
- package/lib/github/constants.d.ts.map +0 -1
- package/lib/github/dependabot.d.ts.map +0 -1
- package/lib/github/github-credentials.d.ts.map +0 -1
- package/lib/github/github-project.d.ts.map +0 -1
- package/lib/github/github.d.ts.map +0 -1
- package/lib/github/index.d.ts.map +0 -1
- package/lib/github/mergify.d.ts.map +0 -1
- package/lib/github/pr-template.d.ts.map +0 -1
- package/lib/github/pull-request-lint.d.ts.map +0 -1
- package/lib/github/stale-util.d.ts.map +0 -1
- package/lib/github/stale.d.ts.map +0 -1
- package/lib/github/task-workflow.d.ts.map +0 -1
- package/lib/github/util.d.ts.map +0 -1
- package/lib/github/workflow-actions.d.ts.map +0 -1
- package/lib/github/workflows-model.d.ts.map +0 -1
- package/lib/github/workflows.d.ts.map +0 -1
- package/lib/gitlab/configuration-model.d.ts.map +0 -1
- package/lib/gitlab/configuration.d.ts.map +0 -1
- package/lib/gitlab/gitlab-configuration.d.ts.map +0 -1
- package/lib/gitlab/index.d.ts.map +0 -1
- package/lib/gitlab/nested-configuration.d.ts.map +0 -1
- package/lib/gitpod.d.ts.map +0 -1
- package/lib/ignore-file.d.ts.map +0 -1
- package/lib/index.d.ts.map +0 -1
- package/lib/ini.d.ts.map +0 -1
- package/lib/inventory.d.ts.map +0 -1
- package/lib/java/index.d.ts.map +0 -1
- package/lib/java/java-project.d.ts.map +0 -1
- package/lib/java/junit.d.ts.map +0 -1
- package/lib/java/maven-compile.d.ts.map +0 -1
- package/lib/java/maven-packaging.d.ts.map +0 -1
- package/lib/java/maven-sample.d.ts.map +0 -1
- package/lib/java/pom.d.ts.map +0 -1
- package/lib/java/projenrc.d.ts.map +0 -1
- package/lib/javascript/bundler.d.ts.map +0 -1
- package/lib/javascript/eslint.d.ts.map +0 -1
- package/lib/javascript/index.d.ts.map +0 -1
- package/lib/javascript/jest.d.ts.map +0 -1
- package/lib/javascript/node-package.d.ts.map +0 -1
- package/lib/javascript/node-project.d.ts.map +0 -1
- package/lib/javascript/npm-config.d.ts.map +0 -1
- package/lib/javascript/prettier.d.ts.map +0 -1
- package/lib/javascript/projenrc.d.ts.map +0 -1
- package/lib/javascript/render-options.d.ts.map +0 -1
- package/lib/javascript/typescript-config.d.ts.map +0 -1
- package/lib/javascript/upgrade-dependencies.d.ts.map +0 -1
- package/lib/javascript/util.d.ts.map +0 -1
- package/lib/json.d.ts.map +0 -1
- package/lib/license.d.ts.map +0 -1
- package/lib/logger.d.ts.map +0 -1
- package/lib/logging.d.ts.map +0 -1
- package/lib/makefile.d.ts.map +0 -1
- package/lib/object-file.d.ts.map +0 -1
- package/lib/option-hints.d.ts.map +0 -1
- package/lib/project-build.d.ts.map +0 -1
- package/lib/project.d.ts.map +0 -1
- package/lib/projects.d.ts.map +0 -1
- package/lib/projenrc-json.d.ts.map +0 -1
- package/lib/python/index.d.ts.map +0 -1
- package/lib/python/pip.d.ts.map +0 -1
- package/lib/python/poetry.d.ts.map +0 -1
- package/lib/python/projenrc.d.ts.map +0 -1
- package/lib/python/pytest-sample.d.ts.map +0 -1
- package/lib/python/pytest.d.ts.map +0 -1
- package/lib/python/python-deps.d.ts.map +0 -1
- package/lib/python/python-env.d.ts.map +0 -1
- package/lib/python/python-packaging.d.ts.map +0 -1
- package/lib/python/python-project.d.ts.map +0 -1
- package/lib/python/python-sample.d.ts.map +0 -1
- package/lib/python/requirements-file.d.ts.map +0 -1
- package/lib/python/setuppy.d.ts.map +0 -1
- package/lib/python/setuptools.d.ts.map +0 -1
- package/lib/python/venv.d.ts.map +0 -1
- package/lib/readme.d.ts.map +0 -1
- package/lib/release/bump-version.d.ts.map +0 -1
- package/lib/release/bump-version.task.d.ts.map +0 -1
- package/lib/release/index.d.ts.map +0 -1
- package/lib/release/publisher.d.ts.map +0 -1
- package/lib/release/release-trigger.d.ts.map +0 -1
- package/lib/release/release.d.ts.map +0 -1
- package/lib/release/reset-version.task.d.ts.map +0 -1
- package/lib/release/tag-version.d.ts.map +0 -1
- package/lib/release/tag-version.task.d.ts.map +0 -1
- package/lib/release/update-changelog.d.ts.map +0 -1
- package/lib/release/update-changelog.task.d.ts.map +0 -1
- package/lib/renovatebot.d.ts.map +0 -1
- package/lib/run-projenrc-json.task.d.ts.map +0 -1
- package/lib/sample-file.d.ts.map +0 -1
- package/lib/semver.d.ts.map +0 -1
- package/lib/source-code.d.ts.map +0 -1
- package/lib/task-model.d.ts.map +0 -1
- package/lib/task-runtime.d.ts.map +0 -1
- package/lib/task.d.ts.map +0 -1
- package/lib/tasks.d.ts.map +0 -1
- package/lib/testing.d.ts.map +0 -1
- package/lib/textfile.d.ts.map +0 -1
- package/lib/toml.d.ts.map +0 -1
- package/lib/typescript/index.d.ts.map +0 -1
- package/lib/typescript/projenrc.d.ts.map +0 -1
- package/lib/typescript/typescript-typedoc.d.ts.map +0 -1
- package/lib/typescript/typescript.d.ts.map +0 -1
- package/lib/util/semver.d.ts.map +0 -1
- package/lib/util/synth.d.ts.map +0 -1
- package/lib/util.d.ts.map +0 -1
- package/lib/version.d.ts.map +0 -1
- package/lib/vscode/devcontainer.d.ts.map +0 -1
- package/lib/vscode/index.d.ts.map +0 -1
- package/lib/vscode/launch-config.d.ts.map +0 -1
- package/lib/vscode/vscode.d.ts.map +0 -1
- package/lib/web/index.d.ts.map +0 -1
- package/lib/web/next.d.ts.map +0 -1
- package/lib/web/postcss.d.ts.map +0 -1
- package/lib/web/react.d.ts.map +0 -1
- package/lib/web/tailwind.d.ts.map +0 -1
- package/lib/xmlfile.d.ts.map +0 -1
- package/lib/yaml.d.ts.map +0 -1
package/lib/gitpod.js
CHANGED
|
@@ -112,19 +112,19 @@ class Gitpod extends component_1.Component {
|
|
|
112
112
|
this.tasks = new Array();
|
|
113
113
|
this.ports = new Array();
|
|
114
114
|
this.vscodeExtensions = new Array();
|
|
115
|
-
this.dockerImage = options
|
|
116
|
-
if (options
|
|
115
|
+
this.dockerImage = options?.dockerImage;
|
|
116
|
+
if (options?.tasks) {
|
|
117
117
|
for (const task of options.tasks) {
|
|
118
118
|
this.addTasks(task);
|
|
119
119
|
}
|
|
120
120
|
}
|
|
121
|
-
if (options
|
|
121
|
+
if (options?.prebuilds) {
|
|
122
122
|
this.addPrebuilds(options.prebuilds);
|
|
123
123
|
}
|
|
124
|
-
if (options
|
|
124
|
+
if (options?.ports) {
|
|
125
125
|
this.addPorts(...options.ports);
|
|
126
126
|
}
|
|
127
|
-
if (options
|
|
127
|
+
if (options?.vscodeExtensions) {
|
|
128
128
|
this.addVscodeExtensions(...options.vscodeExtensions);
|
|
129
129
|
}
|
|
130
130
|
this.config = {
|
|
@@ -214,11 +214,10 @@ class Gitpod extends component_1.Component {
|
|
|
214
214
|
this.vscodeExtensions.push(...extensions);
|
|
215
215
|
}
|
|
216
216
|
renderDockerImage() {
|
|
217
|
-
|
|
218
|
-
if ((_b = this.dockerImage) === null || _b === void 0 ? void 0 : _b.image) {
|
|
217
|
+
if (this.dockerImage?.image) {
|
|
219
218
|
return this.dockerImage.image;
|
|
220
219
|
}
|
|
221
|
-
else if (
|
|
220
|
+
else if (this.dockerImage?.dockerFile) {
|
|
222
221
|
return {
|
|
223
222
|
file: this.dockerImage.dockerFile,
|
|
224
223
|
};
|
|
@@ -240,5 +239,5 @@ class Gitpod extends component_1.Component {
|
|
|
240
239
|
}
|
|
241
240
|
exports.Gitpod = Gitpod;
|
|
242
241
|
_a = JSII_RTTI_SYMBOL_1;
|
|
243
|
-
Gitpod[_a] = { fqn: "projen.Gitpod", version: "0.58.
|
|
244
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l0cG9kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2dpdHBvZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDJDQUF3QztBQVF4QyxpQ0FBa0M7QUFFbEM7O0dBRUc7QUFDSCxNQUFNLFdBQVcsR0FBRyxhQUFhLENBQUM7QUFFbEM7Ozs7O0dBS0c7QUFFSDs7R0FFRztBQUNILElBQVksY0F5Qlg7QUF6QkQsV0FBWSxjQUFjO0lBQ3hCOztPQUVHO0lBQ0gseUNBQXVCLENBQUE7SUFDdkI7O09BRUc7SUFDSCwyQ0FBeUIsQ0FBQTtJQUN6Qjs7T0FFRztJQUNILDZDQUEyQixDQUFBO0lBQzNCOztPQUVHO0lBQ0gsMkNBQXlCLENBQUE7SUFDekI7O09BRUc7SUFDSCx5Q0FBdUIsQ0FBQTtJQUN2Qjs7T0FFRztJQUNILCtDQUE2QixDQUFBO0FBQy9CLENBQUMsRUF6QlcsY0FBYyxHQUFkLHNCQUFjLEtBQWQsc0JBQWMsUUF5QnpCO0FBRUQ7O0dBRUc7QUFDSCxJQUFZLFlBaUJYO0FBakJELFdBQVksWUFBWTtJQUN0Qjs7T0FFRztJQUNILGlDQUFpQixDQUFBO0lBQ2pCOztPQUVHO0lBQ0gsNkJBQWEsQ0FBQTtJQUNiOztPQUVHO0lBQ0gsK0JBQWUsQ0FBQTtJQUNmOztPQUVHO0lBQ0gsNkJBQWEsQ0FBQTtBQUNmLENBQUMsRUFqQlcsWUFBWSxHQUFaLG9CQUFZLEtBQVosb0JBQVksUUFpQnZCO0FBMkREOztHQUVHO0FBQ0gsSUFBWSxZQW9CWDtBQXBCRCxXQUFZLFlBQVk7SUFDdEI7O09BRUc7SUFDSCw2Q0FBNkIsQ0FBQTtJQUU3Qjs7T0FFRztJQUNILDZDQUE2QixDQUFBO0lBRTdCOztPQUVHO0lBQ0gsaUNBQWlCLENBQUE7SUFFakI7O09BRUc7SUFDSCxpQ0FBaUIsQ0FBQTtBQUNuQixDQUFDLEVBcEJXLFlBQVksR0FBWixvQkFBWSxLQUFaLG9CQUFZLFFBb0J2QjtBQUVEOztHQUVHO0FBQ0gsSUFBWSxvQkFVWDtB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Q0FBQyxTQUFTO2FBQzFCLENBQUM7U0FDSDthQUFNO1lBQ0wsT0FBTyxTQUFTLENBQUM7U0FDbEI7SUFDSCxDQUFDOztBQXZKSCx3QkF3SkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRcIjtcbmltcG9ydCB7XG4gIElEZXZFbnZpcm9ubWVudCxcbiAgRGV2RW52aXJvbm1lbnRPcHRpb25zLFxuICBEZXZFbnZpcm9ubWVudERvY2tlckltYWdlLFxufSBmcm9tIFwiLi9kZXYtZW52XCI7XG5pbXBvcnQgeyBQcm9qZWN0IH0gZnJvbSBcIi4vcHJvamVjdFwiO1xuaW1wb3J0IHsgVGFzayB9IGZyb20gXCIuL3Rhc2tcIjtcbmltcG9ydCB7IFlhbWxGaWxlIH0gZnJvbSBcIi4veWFtbFwiO1xuXG4vKipcbiAqIFJlbGF0aXZlIHBhdGggb2YgR2l0cG9kIGZpbGUgdG8gZ2VuZXJhdGVcbiAqL1xuY29uc3QgR0lUUE9EX0ZJTEUgPSBcIi5naXRwb2QueW1sXCI7XG5cbi8qKlxuICogaHR0cHM6Ly93d3cuZ2l0cG9kLmlvL2RvY3MvY29uZmlndXJhdGlvbi9cbiAqIGh0dHBzOi8vd3d3LmdpdHBvZC5pby9kb2NzL2NvbmZpZy1zdGFydC10YXNrcy9cbiAqIGh0dHBzOi8vd3d3LmdpdHBvZC5pby9kb2NzL3ByZWJ1aWxkcy8jY29uZmlndXJlLXRoZS1naXRodWItYXBwXG4gKiBodHRwczovL3d3dy5naXRwb2QuaW8vZG9jcy92c2NvZGUtZXh0ZW5zaW9ucy9cbiAqL1xuXG4vKipcbiAqIENvbmZpZ3VyZSBob3cgdGhlIHRlcm1pbmFsIHNob3VsZCBiZSBvcGVuZWQgcmVsYXRpdmUgdG8gdGhlIHByZXZpb3VzIHRhc2suXG4gKi9cbmV4cG9ydCBlbnVtIEdpdHBvZE9wZW5Nb2RlIHtcbiAgLyoqXG4gICAqIE9wZW5zIGluIHRoZSBzYW1lIHRhYiBncm91cCByaWdodCBhZnRlciB0aGUgcHJldmlvdXMgdGFiXG4gICAqL1xuICBUQUJfQUZURVIgPSBcInRhYi1hZnRlclwiLFxuICAvKipcbiAgICogT3BlbnMgaW4gdGhlIHNhbWUgdGFiIGdyb3VwIGxlZnQgYmVmb3JlIHRoZSBwcmV2aW91cyB0YWJcbiAgICovXG4gIFRBQl9CRUZPUkUgPSBcInRhYi1iZWZvcmVcIixcbiAgLyoqXG4gICAqIFNwbGl0cyBhbmQgYWRkcyB0aGUgdGVybWluYWwgdG8gdGhlIHJpZ2h0XG4gICAqL1xuICBTUExJVF9SSUdIVCA9IFwic3BsaXQtcmlnaHRcIixcbiAgLyoqXG4gICAqIFNwbGl0cyBhbmQgYWRkcyB0aGUgdGVybWluYWwgdG8gdGhlIGxlZnRcbiAgICovXG4gIFNQTElUX0xFRlQgPSBcInNwbGl0LWxlZnRcIixcbiAgLyoqXG4gICAqIFNwbGl0cyBhbmQgYWRkcyB0aGUgdGVybWluYWwgdG8gdGhlIHRvcFxuICAgKi9cbiAgU1BMSVRfVE9QID0gXCJzcGxpdC10b3BcIixcbiAgLyoqXG4gICAqIFNwbGl0cyBhbmQgYWRkcyB0aGUgdGVybWluYWwgdG8gdGhlIGJvdHRvbVxuICAgKi9cbiAgU1BMSVRfQk9UVE9NID0gXCJzcGxpdC1ib3R0b21cIixcbn1cblxuLyoqXG4gKiBDb25maWd1cmUgd2hlcmUgaW4gdGhlIElERSB0aGUgdGVybWluYWwgc2hvdWxkIGJlIG9wZW5lZC5cbiAqL1xuZXhwb3J0IGVudW0gR2l0cG9kT3BlbkluIHtcbiAgLyoqXG4gICAqIHRoZSBib3R0b20gcGFuZWwgKGRlZmF1bHQpXG4gICAqL1xuICBCT1RUT00gPSBcImJvdHRvbVwiLFxuICAvKipcbiAgICogdGhlIGxlZnQgcGFuZWxcbiAgICovXG4gIExFRlQgPSBcImxlZnRcIixcbiAgLyoqXG4gICAqIHRoZSByaWdodCBwYW5lbFxuICAgKi9cbiAgUklHSFQgPSBcInJpZ2h0XCIsXG4gIC8qKlxuICAgKiB0aGUgbWFpbiBlZGl0b3IgYXJlYVxuICAgKi9cbiAgTUFJTiA9IFwibWFpblwiLFxufVxuXG4vKipcbiAqIENvbmZpZ3VyZSBvcHRpb25zIGZvciBhIHRhc2sgdG8gYmUgcnVuIHdoZW4gb3BlbmluZyBhIEdpdHBvZFxuICogd29ya3NwYWNlIChlLmcuIHJ1bm5pbmcgdGVzdHMsIG9yIHN0YXJ0aW5nIGEgZGV2IHNlcnZlcikuXG4gKlxuICogU3RhcnQgTW9kZSAgICAgICAgIHwgRXhlY3V0aW9uXG4gKiBGcmVzaCBXb3Jrc3BhY2UgICAgfCBiZWZvcmUgJiYgaW5pdCAmJiBjb21tYW5kXG4gKiBSZXN0YXJ0IFdvcmtzcGFjZSAgfCBiZWZvcmUgJiYgY29tbWFuZFxuICogU25hcHNob3QgICAgICAgICAgIHwgYmVmb3JlICYmIGNvbW1hbmRcbiAqIFByZWJ1aWxkICAgICAgICAgICB8IGJlZm9yZSAmJiBpbml0ICYmIHByZWJ1aWxkXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2l0cG9kVGFzayB7XG4gIC8qKlxuICAgKiBSZXF1aXJlZC4gVGhlIHNoZWxsIGNvbW1hbmQgdG8gcnVuXG4gICAqL1xuICByZWFkb25seSBjb21tYW5kOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgbmFtZSBmb3IgdGhpcyB0YXNrLlxuICAgKiBAZGVmYXVsdCAtIHRhc2sgbmFtZXMgYXJlIG9taXR0ZWQgd2hlbiBibGFua1xuICAgKi9cbiAgcmVhZG9ubHkgbmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogWW91IGNhbiBjb25maWd1cmUgaG93IHRoZSB0ZXJtaW5hbCBzaG91bGQgYmUgb3BlbmVkIHJlbGF0aXZlIHRvIHRoZSBwcmV2aW91cyB0YXNrLlxuICAgKiBAZGVmYXVsdCBHaXRwb2RPcGVuTW9kZS5UQUJfQUZURVJcbiAgICovXG4gIHJlYWRvbmx5IG9wZW5Nb2RlPzogR2l0cG9kT3Blbk1vZGU7XG5cbiAgLyoqXG4gICAqIFlvdSBjYW4gY29uZmlndXJlIHdoZXJlIGluIHRoZSBJREUgdGhlIHRlcm1pbmFsIHNob3VsZCBiZSBvcGVuZWRcbiAgICogQGRlZmF1bHQgR2l0cG9kT3BlbkluLkJPVFRPTVxuICAgKi9cbiAgcmVhZG9ubHkgb3BlbkluPzogR2l0cG9kT3BlbkluO1xuXG4gIC8qKlxuICAgKiBJbiBjYXNlIHlvdSBuZWVkIHRvIHJ1biBzb21ldGhpbmcgZXZlbiBiZWZvcmUgaW5pdCwgdGhhdCBpcyBhIHJlcXVpcmVtZW50IGZvciBib3RoIGluaXQgYW5kIGNvbW1hbmQsXG4gICAqIHlvdSBjYW4gdXNlIHRoZSBiZWZvcmUgcHJvcGVydHkuXG4gICAqIEBkZWZhdWx0XG4gICAqL1xuICByZWFkb25seSBiZWZvcmU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBpbml0IHByb3BlcnR5IGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkgc2hlbGwgY29tbWFuZHMgdGhhdCBzaG91bGQgb25seSBiZSBleGVjdXRlZCBhZnRlciBhIHdvcmtzcGFjZVxuICAgKiB3YXMgZnJlc2hseSBjbG9uZWQgYW5kIG5lZWRzIHRvIGJlIGluaXRpYWxpemVkIHNvbWVob3cuIFN1Y2ggdGFza3MgYXJlIHVzdWFsbHkgYnVpbGRzIG9yIGRvd25sb2FkaW5nXG4gICAqIGRlcGVuZGVuY2llcy4gQW55dGhpbmcgeW91IG9ubHkgd2FudCB0byBkbyBvbmNlIGJ1dCBub3Qgd2hlbiB5b3UgcmVzdGFydCBhIHdvcmtzcGFjZSBvciBzdGFydCBhIHNuYXBzaG90LlxuICAgKiBAZGVmYXVsdFxuICAgKi9cbiAgcmVhZG9ubHkgaW5pdD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG9wdGlvbmFsIHByZWJ1aWxkIGNvbW1hbmQgd2lsbCBiZSBleGVjdXRlZCBkdXJpbmcgcHJlYnVpbGRzLiBJdCBpcyBtZWFudCB0byBydW4gYWRkaXRpb25hbCBsb25nIHJ1bm5pbmdcbiAgICogcHJvY2Vzc2VzIHRoYXQgY291bGQgYmUgdXNlZnVsLCBlLmcuIHJ1bm5pbmcgdGVzdCBzdWl0ZXMuXG4gICAqIEBkZWZhdWx0XG4gICAqL1xuICByZWFkb25seSBwcmVidWlsZD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBXaGF0IHRvIGRvIHdoZW4gYSBzZXJ2aWNlIG9uIGEgcG9ydCBpcyBkZXRlY3RlZC5cbiAqL1xuZXhwb3J0IGVudW0gR2l0cG9kT25PcGVuIHtcbiAgLyoqXG4gICAqIE9wZW4gYSBuZXcgYnJvd3NlciB0YWJcbiAgICovXG4gIE9QRU5fQlJPV1NFUiA9IFwib3Blbi1icm93c2VyXCIsXG5cbiAgLyoqXG4gICAqIE9wZW4gYSBwcmV2aWV3IG9uIHRoZSByaWdodCBzaWRlIG9mIHRoZSBJREVcbiAgICovXG4gIE9QRU5fUFJFVklFVyA9IFwib3Blbi1wcmV2aWV3XCIsXG5cbiAgLyoqXG4gICAqIFNob3cgYSBub3RpZmljYXRpb24gYXNraW5nIHRoZSB1c2VyIHdoYXQgdG8gZG8gKGRlZmF1bHQpXG4gICAqL1xuICBOT1RJRlkgPSBcIm5vdGlmeVwiLFxuXG4gIC8qKlxuICAgKiBEbyBub3RoaW5nLlxuICAgKi9cbiAgSUdOT1JFID0gXCJpZ25vcmVcIixcbn1cblxuLyoqXG4gKiBXaGV0aGVyIHRoZSBwb3J0IHZpc2liaWxpdHkgc2hvdWxkIGJlIHByaXZhdGUgb3IgcHVibGljXG4gKi9cbmV4cG9ydCBlbnVtIEdpdHBvZFBvcnRWaXNpYmlsaXR5IHtcbiAgLyoqXG4gICAqIEFsbG93cyBldmVyeW9uZSB3aXRoIHRoZSBwb3J0IFVSTCB0byBhY2Nlc3MgdGhlIHBvcnQgKGRlZmF1bHQpXG4gICAqL1xuICBQVUJMSUMgPSBcInB1YmxpY1wiLFxuXG4gIC8qKlxuICAgKiBPbmx5IGFsbG93cyB1c2VycyB3aXRoIHdvcmtzcGFjZSBhY2Nlc3MgdG8gYWNjZXNzIHRoZSBwb3J0XG4gICAqL1xuICBQUklWQVRFID0gXCJwcml2YXRlXCIsXG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgYW4gZXhwb3NlZCBwb3J0IG9uIEdpdHBvZFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdpdHBvZFBvcnQge1xuICAvKipcbiAgICogQSBwb3J0IHRoYXQgc2hvdWxkIGJlIGV4cG9zZWQgKGZvcndhcmRlZCkgZnJvbSB0aGUgY29udGFpbmVyLlxuICAgKlxuICAgKiBAZXhhbXBsZSBcIjgwODBcIlxuICAgKi9cbiAgcmVhZG9ubHkgcG9ydD86IHN0cmluZztcblxuICAvKipcbiAgICogV2hhdCB0byBkbyB3aGVuIGEgc2VydmljZSBvbiBhIHBvcnQgaXMgZGV0ZWN0ZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IEdpdHBvZE9uT3Blbi5OT1RJRllcbiAgICovXG4gIHJlYWRvbmx5IG9uT3Blbj86IEdpdHBvZE9uT3BlbjtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgcG9ydCB2aXNpYmlsaXR5IHNob3VsZCBiZSBwcml2YXRlIG9yIHB1YmxpYy5cbiAgICpcbiAgICogQGRlZmF1bHQgR2l0cG9kUG9ydFZpc2liaWxpdHkuUFVCTElDXG4gICAqL1xuICByZWFkb25seSB2aXNpYmlsaXR5PzogR2l0cG9kUG9ydFZpc2liaWxpdHk7XG59XG5cbi8qKlxuICogQ29uZmlndXJlIHRoZSBHaXRwb2QgQXBwIGZvciBwcmVidWlsZHMuXG4gKiBDdXJyZW50bHkgb25seSBHaXRIdWIgaXMgc3VwcG9ydGVkLlxuICogQHNlZSBodHRwczovL3d3dy5naXRwb2QuaW8vZG9jcy9wcmVidWlsZHMvXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2l0cG9kUHJlYnVpbGRzIHtcbiAgLyoqXG4gICAqIEVuYWJsZSBmb3IgdGhlIG1hc3Rlci9kZWZhdWx0IGJyYW5jaFxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBtYXN0ZXI/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFbmFibGUgZm9yIGFsbCBicmFuY2hlcyBpbiB0aGlzIHJlcG9cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGJyYW5jaGVzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRW5hYmxlIGZvciBwdWxsIHJlcXVlc3RzIGNvbWluZyBmcm9tIHRoaXMgcmVwb1xuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBwdWxsUmVxdWVzdHM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFbmFibGUgZm9yIHB1bGwgcmVxdWVzdHMgY29taW5nIGZyb20gZm9ya3NcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHB1bGxSZXF1ZXN0c0Zyb21Gb3Jrcz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEFkZCBhIGNoZWNrIHRvIHB1bGwgcmVxdWVzdHNcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgYWRkQ2hlY2s/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBZGQgYSBcIlJldmlldyBpbiBHaXRwb2RcIiBidXR0b24gYXMgYSBjb21tZW50IHRvIHB1bGwgcmVxdWVzdHNcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGFkZENvbW1lbnQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBZGQgYSBcIlJldmlldyBpbiBHaXRwb2RcIiBidXR0b24gdG8gdGhlIHB1bGwgcmVxdWVzdCdzIGRlc2NyaXB0aW9uXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBhZGRCYWRnZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEFkZCBhIGxhYmVsIG9uY2UgdGhlIHByZWJ1aWxkIGlzIHJlYWR5IHRvIHB1bGwgcmVxdWVzdHNcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGFkZExhYmVsPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBDb25zdHJ1Y3RvciBvcHRpb25zIGZvciB0aGUgR2l0cG9kIGNvbXBvbmVudC5cbiAqXG4gKiBCeSBkZWZhdWx0LCBHaXRwb2QgdXNlcyB0aGUgJ2dpdHBvZC93b3Jrc3BhY2UtZnVsbCcgZG9ja2VyIGltYWdlLlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vZ2l0cG9kLWlvL3dvcmtzcGFjZS1pbWFnZXMvYmxvYi9tYXN0ZXIvZnVsbC9Eb2NrZXJmaWxlXG4gKlxuICogQnkgZGVmYXVsdCwgYWxsIHRhc2tzIHdpbGwgYmUgcnVuIGluIHBhcmFsbGVsLiBUbyBydW4gdGhlIHRhc2tzIGluIHNlcXVlbmNlLFxuICogY3JlYXRlIGEgbmV3IHRhc2sgYW5kIHNwZWNpZnkgdGhlIG90aGVyIHRhc2tzIGFzIHN1YnRhc2tzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdpdHBvZE9wdGlvbnMgZXh0ZW5kcyBEZXZFbnZpcm9ubWVudE9wdGlvbnMge1xuICAvKipcbiAgICogT3B0aW9uYWwgR2l0cG9kJ3MgR2l0aHViIEFwcCBpbnRlZ3JhdGlvbiBmb3IgcHJlYnVpbGRzXG4gICAqIElmIHRoaXMgaXMgbm90IHNldCBhbmQgR2l0cG9kJ3MgR2l0aHViIEFwcCBpcyBpbnN0YWxsZWQsIHRoZW4gR2l0cG9kIHdpbGwgYXBwbHlcbiAgICogdGhlc2UgZGVmYXVsdHM6IGh0dHBzOi8vd3d3LmdpdHBvZC5pby9kb2NzL3ByZWJ1aWxkcy8jY29uZmlndXJlLXRoZS1naXRodWItYXBwXG4gICAqIEBkZWZhdWx0IHVuZGVmaW5lZFxuICAgKi9cbiAgcmVhZG9ubHkgcHJlYnVpbGRzPzogR2l0cG9kUHJlYnVpbGRzO1xufVxuXG4vKipcbiAqIFRoZSBHaXRwb2QgY29tcG9uZW50IHdoaWNoIGVtaXRzIC5naXRwb2QueW1sXG4gKi9cbmV4cG9ydCBjbGFzcyBHaXRwb2QgZXh0ZW5kcyBDb21wb25lbnQgaW1wbGVtZW50cyBJRGV2RW52aXJvbm1lbnQge1xuICBwcml2YXRlIGRvY2tlckltYWdlOiBEZXZFbnZpcm9ubWVudERvY2tlckltYWdlIHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIHByZWJ1aWxkczogR2l0cG9kUHJlYnVpbGRzIHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIHJlYWRvbmx5IHRhc2tzID0gbmV3IEFycmF5PEdpdHBvZFRhc2s+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgcG9ydHMgPSBuZXcgQXJyYXk8R2l0cG9kUG9ydD4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSB2c2NvZGVFeHRlbnNpb25zID0gbmV3IEFycmF5PHN0cmluZz4oKTtcblxuICAvKipcbiAgICogRGlyZWN0IGFjY2VzcyB0byB0aGUgZ2l0cG9kIGNvbmZpZ3VyYXRpb24gKGVzY2FwZSBoYXRjaClcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBjb25maWc6IGFueTtcblxuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBQcm9qZWN0LCBvcHRpb25zOiBHaXRwb2RPcHRpb25zID0ge30pIHtcbiAgICBzdXBlcihwcm9qZWN0KTtcblxuICAgIHRoaXMuZG9ja2VySW1hZ2UgPSBvcHRpb25zPy5kb2NrZXJJbWFnZTtcblxuICAgIGlmIChvcHRpb25zPy50YXNrcykge1xuICAgICAgZm9yIChjb25zdCB0YXNrIG9mIG9wdGlvbnMudGFza3MpIHtcbiAgICAgICAgdGhpcy5hZGRUYXNrcyh0YXNrKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucz8ucHJlYnVpbGRzKSB7XG4gICAgICB0aGlzLmFkZFByZWJ1aWxkcyhvcHRpb25zLnByZWJ1aWxkcyk7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnM/LnBvcnRzKSB7XG4gICAgICB0aGlzLmFkZFBvcnRzKC4uLm9wdGlvbnMucG9ydHMpO1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zPy52c2NvZGVFeHRlbnNpb25zKSB7XG4gICAgICB0aGlzLmFkZFZzY29kZUV4dGVuc2lvbnMoLi4ub3B0aW9ucy52c2NvZGVFeHRlbnNpb25zKTtcbiAgICB9XG5cbiAgICB0aGlzLmNvbmZpZyA9IHtcbiAgICAgIGltYWdlOiAoKSA9PiB0aGlzLnJlbmRlckRvY2tlckltYWdlKCksXG4gICAgICB0YXNrczogdGhpcy50YXNrcyxcbiAgICAgIGdpdGh1YjogKCkgPT4gdGhpcy5yZW5kZXJQcmVidWlsZHMoKSxcbiAgICAgIHBvcnRzOiB0aGlzLnBvcnRzLFxuICAgICAgdnNjb2RlOiB7XG4gICAgICAgIGV4dGVuc2lvbnM6IHRoaXMudnNjb2RlRXh0ZW5zaW9ucyxcbiAgICAgIH0sXG4gICAgfTtcblxuICAgIG5ldyBZYW1sRmlsZSh0aGlzLnByb2plY3QsIEdJVFBPRF9GSUxFLCB7XG4gICAgICBvYmo6IHRoaXMuY29uZmlnLFxuICAgICAgb21pdEVtcHR5OiB0cnVlLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIGN1c3RvbSBEb2NrZXIgaW1hZ2Ugb3IgRG9ja2VyZmlsZSBmb3IgdGhlIGNvbnRhaW5lci5cbiAgICpcbiAgICogQHBhcmFtIGltYWdlIFRoZSBEb2NrZXIgaW1hZ2VcbiAgICovXG4gIHB1YmxpYyBhZGREb2NrZXJJbWFnZShpbWFnZTogRGV2RW52aXJvbm1lbnREb2NrZXJJbWFnZSkge1xuICAgIGlmICh0aGlzLmRvY2tlckltYWdlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJkb2NrZXJJbWFnZSBjYW5ub3QgYmUgcmVkZWZpbmVkLlwiKTtcbiAgICB9XG4gICAgdGhpcy5kb2NrZXJJbWFnZSA9IGltYWdlO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCB0YXNrcyB0byBydW4gd2hlbiBnaXRwb2Qgc3RhcnRzLlxuICAgKlxuICAgKiBCeSBkZWZhdWx0LCBhbGwgdGFza3Mgd2lsbCBiZSBydW4gaW4gcGFyYWxsZWwuIFRvIHJ1biB0YXNrcyBpbiBzZXF1ZW5jZSxcbiAgICogY3JlYXRlIGEgbmV3IGBUYXNrYCBhbmQgc3BlY2lmeSB0aGUgb3RoZXIgdGFza3MgYXMgc3VidGFza3MuXG4gICAqXG4gICAqIEBwYXJhbSB0YXNrcyBUaGUgbmV3IHRhc2tzXG4gICAqL1xuICBwdWJsaWMgYWRkVGFza3MoLi4udGFza3M6IFRhc2tbXSkge1xuICAgIHRoaXMudGFza3MucHVzaChcbiAgICAgIC4uLnRhc2tzLm1hcCgodGFzaykgPT4gKHtcbiAgICAgICAgbmFtZTogdGFzay5uYW1lLFxuICAgICAgICBjb21tYW5kOiBgbnB4IHByb2plbiAke3Rhc2submFtZX1gLFxuICAgICAgfSkpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSBwcmVidWlsZHMgY29uZmlndXJhdGlvbiBmb3IgdGhlIEdpdHBvZCBBcHBcbiAgICogQHBhcmFtIGNvbmZpZyBUaGUgY29uZmlndXJhdGlvblxuICAgKi9cbiAgcHVibGljIGFkZFByZWJ1aWxkcyhjb25maWc6IEdpdHBvZFByZWJ1aWxkcykge1xuICAgIHRoaXMucHJlYnVpbGRzID0gY29uZmlnO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIHRhc2sgd2l0aCBtb3JlIGdyYW51bGFyIG9wdGlvbnMuXG4gICAqXG4gICAqIEJ5IGRlZmF1bHQsIGFsbCB0YXNrcyB3aWxsIGJlIHJ1biBpbiBwYXJhbGxlbC4gVG8gcnVuIHRhc2tzIGluIHNlcXVlbmNlLFxuICAgKiBjcmVhdGUgYSBuZXcgYFRhc2tgIGFuZCBzZXQgdGhlIG90aGVyIHRhc2tzIGFzIHN1YnRhc2tzLlxuICAgKlxuICAgKiBAcGFyYW0gb3B0aW9ucyBUaGUgdGFzayBwYXJhbWV0ZXJzXG4gICAqL1xuICBwdWJsaWMgYWRkQ3VzdG9tVGFzayhvcHRpb25zOiBHaXRwb2RUYXNrKSB7XG4gICAgdGhpcy50YXNrcy5wdXNoKHtcbiAgICAgIG5hbWU6IG9wdGlvbnMubmFtZSxcbiAgICAgIGNvbW1hbmQ6IG9wdGlvbnMuY29tbWFuZCxcbiAgICAgIG9wZW5Nb2RlOiBvcHRpb25zLm9wZW5Nb2RlLFxuICAgICAgb3BlbkluOiBvcHRpb25zLm9wZW5JbixcbiAgICAgIGJlZm9yZTogb3B0aW9ucy5iZWZvcmUsXG4gICAgICBpbml0OiBvcHRpb25zLmluaXQsXG4gICAgICBwcmVidWlsZDogb3B0aW9ucy5wcmVidWlsZCxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgcG9ydHMgdGhhdCBzaG91bGQgYmUgZXhwb3NlZCAoZm9yd2FyZGVkKSBmcm9tIHRoZSBjb250YWluZXIuXG4gICAqXG4gICAqIEBwYXJhbSBwb3J0cyBUaGUgbmV3IHBvcnRzXG4gICAqL1xuICBwdWJsaWMgYWRkUG9ydHMoLi4ucG9ydHM6IHN0cmluZ1tdKSB7XG4gICAgdGhpcy5wb3J0cy5wdXNoKC4uLnBvcnRzLm1hcCgocG9ydCkgPT4gKHsgcG9ydDogcG9ydCB9KSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIGxpc3Qgb2YgVlNDb2RlIGV4dGVuc2lvbnMgdGhhdCBzaG91bGQgYmUgYXV0b21hdGljYWxseSBpbnN0YWxsZWRcbiAgICogaW4gdGhlIGNvbnRhaW5lci5cbiAgICpcbiAgICogVGhlc2UgbXVzdCBiZSBpbiB0aGUgZm9ybWF0IGRlZmluZWQgaW4gdGhlIE9wZW4gVlNYIHJlZ2lzdHJ5LlxuICAgKiBAZXhhbXBsZSAnc2NhbGEtbGFuZy5zY2FsYUAwLjMuOTpPNVhtandZNUd6KzBvRFpBbXFuZUp3PT0nXG4gICAqIEBzZWUgaHR0cHM6Ly93d3cuZ2l0cG9kLmlvL2RvY3MvdnNjb2RlLWV4dGVuc2lvbnMvXG4gICAqXG4gICAqIEBwYXJhbSBleHRlbnNpb25zIFRoZSBleHRlbnNpb24gSURzXG4gICAqL1xuICBwdWJsaWMgYWRkVnNjb2RlRXh0ZW5zaW9ucyguLi5leHRlbnNpb25zOiBHaXRwb2RDb2RlRXh0ZW5zaW9uSWRbXSkge1xuICAgIHRoaXMudnNjb2RlRXh0ZW5zaW9ucy5wdXNoKC4uLmV4dGVuc2lvbnMpO1xuICB9XG5cbiAgcHJpdmF0ZSByZW5kZXJEb2NrZXJJbWFnZSgpIHtcbiAgICBpZiAodGhpcy5kb2NrZXJJbWFnZT8uaW1hZ2UpIHtcbiAgICAgIHJldHVybiB0aGlzLmRvY2tlckltYWdlLmltYWdlO1xuICAgIH0gZWxzZSBpZiAodGhpcy5kb2NrZXJJbWFnZT8uZG9ja2VyRmlsZSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZmlsZTogdGhpcy5kb2NrZXJJbWFnZS5kb2NrZXJGaWxlLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlbmRlclByZWJ1aWxkcygpIHtcbiAgICBpZiAodGhpcy5wcmVidWlsZHMpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHByZWJ1aWxkczogdGhpcy5wcmVidWlsZHMsXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIFZTIENvZGUgZXh0ZW5zaW9ucyBhcyBkZWZpbmVkIGluIHRoZSBPcGVuIFZTWCByZWdpc3RyeVxuICogRXhhbXBsZTogYHNjYWxhLWxhbmcuc2NhbGFAMC4zLjk6TzVYbWp3WTVHeiswb0RaQW1xbmVKdz09YFxuICovXG50eXBlIEdpdHBvZENvZGVFeHRlbnNpb25JZCA9IHN0cmluZztcbiJdfQ==
|
|
242
|
+
Gitpod[_a] = { fqn: "projen.Gitpod", version: "0.58.2" };
|
|
243
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l0cG9kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2dpdHBvZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDJDQUF3QztBQVF4QyxpQ0FBa0M7QUFFbEM7O0dBRUc7QUFDSCxNQUFNLFdBQVcsR0FBRyxhQUFhLENBQUM7QUFFbEM7Ozs7O0dBS0c7QUFFSDs7R0FFRztBQUNILElBQVksY0F5Qlg7QUF6QkQsV0FBWSxjQUFjO0lBQ3hCOztPQUVHO0lBQ0gseUNBQXVCLENBQUE7SUFDdkI7O09BRUc7SUFDSCwyQ0FBeUIsQ0FBQTtJQUN6Qjs7T0FFRztJQUNILDZDQUEyQixDQUFBO0lBQzNCOztPQUVHO0lBQ0gsMkNBQXlCLENBQUE7SUFDekI7O09BRUc7SUFDSCx5Q0FBdUIsQ0FBQTtJQUN2Qjs7T0FFRztJQUNILCtDQUE2QixDQUFBO0FBQy9CLENBQUMsRUF6QlcsY0FBYyxHQUFkLHNCQUFjLEtBQWQsc0JBQWMsUUF5QnpCO0FBRUQ7O0dBRUc7QUFDSCxJQUFZLFlBaUJYO0FBakJELFdBQVksWUFBWTtJQUN0Qjs7T0FFRztJQUNILGlDQUFpQixDQUFBO0lBQ2pCOztPQUVHO0lBQ0gsNkJBQWEsQ0FBQTtJQUNiOztPQUVHO0lBQ0gsK0JBQWUsQ0FBQTtJQUNmOztPQUVHO0lBQ0gsNkJBQWEsQ0FBQTtBQUNmLENBQUMsRUFqQlcsWUFBWSxHQUFaLG9CQUFZLEtBQVosb0JBQVksUUFpQnZCO0FBMkREOztHQUVHO0FBQ0gsSUFBWSxZQW9CWDtBQXBCRCxXQUFZLFlBQVk7SUFDdEI7O09BRUc7SUFDSCw2Q0FBNkIsQ0FBQTtJQUU3Qjs7T0FFRztJQUNILDZDQUE2QixDQUFBO0lBRTdCOztPQUVHO0lBQ0gsaUNBQWlCLENBQUE7SUFFakI7O09BRUc7SUFDSCxpQ0FBaUIsQ0FBQTtBQUNuQixDQUFDLEVBcEJXLFlBQVksR0FBWixvQkFBWSxLQUFaLG9CQUFZLFFBb0J2QjtBQUVEOztHQUVHO0FBQ0gsSUFBWSxvQkFVWDtBQVZELFdBQVksb0JBQW9CO0lBQzlCOztPQUVHO0lBQ0gseUNBQWlCLENBQUE7SUFFakI7O09BRUc7SUFDSCwyQ0FBbUIsQ0FBQTtBQUNyQixDQUFDLEVBVlcsb0JBQW9CLEdBQXBCLDRCQUFvQixLQUFwQiw0QkFBb0IsUUFVL0I7QUFzR0Q7O0dBRUc7QUFDSCxNQUFhLE1BQU8sU0FBUSxxQkFBUztJQVluQyxZQUFZLE9BQWdCLEVBQUUsVUFBeUIsRUFBRTtRQUN2RCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFWQSxVQUFLLEdBQUcsSUFBSSxLQUFLLEVBQWMsQ0FBQztRQUNoQyxVQUFLLEdBQUcsSUFBSSxLQUFLLEVBQWMsQ0FBQztRQUNoQyxxQkFBZ0IsR0FBRyxJQUFJLEtBQUssRUFBVSxDQUFDO1FBVXRELElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxFQUFFLFdBQVcsQ0FBQztRQUV4QyxJQUFJLE9BQU8sRUFBRSxLQUFLLEVBQUU7WUFDbEIsS0FBSyxNQUFNLElBQUksSUFBSSxPQUFPLENBQUMsS0FBSyxFQUFFO2dCQUNoQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ3JCO1NBQ0Y7UUFFRCxJQUFJLE9BQU8sRUFBRSxTQUFTLEVBQUU7WUFDdEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDdEM7UUFFRCxJQUFJLE9BQU8sRUFBRSxLQUFLLEVBQUU7WUFDbEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNqQztRQUVELElBQUksT0FBTyxFQUFFLGdCQUFnQixFQUFFO1lBQzdCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1NBQ3ZEO1FBRUQsSUFBSSxDQUFDLE1BQU0sR0FBRztZQUNaLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDckMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2pCLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3BDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztZQUNqQixNQUFNLEVBQUU7Z0JBQ04sVUFBVSxFQUFFLElBQUksQ0FBQyxnQkFBZ0I7YUFDbEM7U0FDRixDQUFDO1FBRUYsSUFBSSxlQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxXQUFXLEVBQUU7WUFDdEMsR0FBRyxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ2hCLFNBQVMsRUFBRSxJQUFJO1NBQ2hCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksY0FBYyxDQUFDLEtBQWdDO1FBQ3BELElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7U0FDckQ7UUFDRCxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztJQUMzQixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNJLFFBQVEsQ0FBQyxHQUFHLEtBQWE7UUFDOUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQ2IsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3RCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLE9BQU8sRUFBRSxjQUFjLElBQUksQ0FBQyxJQUFJLEVBQUU7U0FDbkMsQ0FBQyxDQUFDLENBQ0osQ0FBQztJQUNKLENBQUM7SUFFRDs7O09BR0c7SUFDSSxZQUFZLENBQUMsTUFBdUI7UUFDekMsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUM7SUFDMUIsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSSxhQUFhLENBQUMsT0FBbUI7UUFDdEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7WUFDZCxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUk7WUFDbEIsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPO1lBQ3hCLFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUTtZQUMxQixNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU07WUFDdEIsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNO1lBQ3RCLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSTtZQUNsQixRQUFRLEVBQUUsT0FBTyxDQUFDLFFBQVE7U0FDM0IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxRQUFRLENBQUMsR0FBRyxLQUFlO1FBQ2hDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0ksbUJBQW1CLENBQUMsR0FBRyxVQUFtQztRQUMvRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEdBQUcsVUFBVSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVPLGlCQUFpQjtRQUN2QixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsS0FBSyxFQUFFO1lBQzNCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7U0FDL0I7YUFBTSxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsVUFBVSxFQUFFO1lBQ3ZDLE9BQU87Z0JBQ0wsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVTthQUNsQyxDQUFDO1NBQ0g7YUFBTTtZQUNMLE9BQU8sU0FBUyxDQUFDO1NBQ2xCO0lBQ0gsQ0FBQztJQUVPLGVBQWU7UUFDckIsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2xCLE9BQU87Z0JBQ0wsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO2FBQzFCLENBQUM7U0FDSDthQUFNO1lBQ0wsT0FBTyxTQUFTLENBQUM7U0FDbEI7SUFDSCxDQUFDOztBQXZKSCx3QkF3SkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRcIjtcbmltcG9ydCB7XG4gIElEZXZFbnZpcm9ubWVudCxcbiAgRGV2RW52aXJvbm1lbnRPcHRpb25zLFxuICBEZXZFbnZpcm9ubWVudERvY2tlckltYWdlLFxufSBmcm9tIFwiLi9kZXYtZW52XCI7XG5pbXBvcnQgeyBQcm9qZWN0IH0gZnJvbSBcIi4vcHJvamVjdFwiO1xuaW1wb3J0IHsgVGFzayB9IGZyb20gXCIuL3Rhc2tcIjtcbmltcG9ydCB7IFlhbWxGaWxlIH0gZnJvbSBcIi4veWFtbFwiO1xuXG4vKipcbiAqIFJlbGF0aXZlIHBhdGggb2YgR2l0cG9kIGZpbGUgdG8gZ2VuZXJhdGVcbiAqL1xuY29uc3QgR0lUUE9EX0ZJTEUgPSBcIi5naXRwb2QueW1sXCI7XG5cbi8qKlxuICogaHR0cHM6Ly93d3cuZ2l0cG9kLmlvL2RvY3MvY29uZmlndXJhdGlvbi9cbiAqIGh0dHBzOi8vd3d3LmdpdHBvZC5pby9kb2NzL2NvbmZpZy1zdGFydC10YXNrcy9cbiAqIGh0dHBzOi8vd3d3LmdpdHBvZC5pby9kb2NzL3ByZWJ1aWxkcy8jY29uZmlndXJlLXRoZS1naXRodWItYXBwXG4gKiBodHRwczovL3d3dy5naXRwb2QuaW8vZG9jcy92c2NvZGUtZXh0ZW5zaW9ucy9cbiAqL1xuXG4vKipcbiAqIENvbmZpZ3VyZSBob3cgdGhlIHRlcm1pbmFsIHNob3VsZCBiZSBvcGVuZWQgcmVsYXRpdmUgdG8gdGhlIHByZXZpb3VzIHRhc2suXG4gKi9cbmV4cG9ydCBlbnVtIEdpdHBvZE9wZW5Nb2RlIHtcbiAgLyoqXG4gICAqIE9wZW5zIGluIHRoZSBzYW1lIHRhYiBncm91cCByaWdodCBhZnRlciB0aGUgcHJldmlvdXMgdGFiXG4gICAqL1xuICBUQUJfQUZURVIgPSBcInRhYi1hZnRlclwiLFxuICAvKipcbiAgICogT3BlbnMgaW4gdGhlIHNhbWUgdGFiIGdyb3VwIGxlZnQgYmVmb3JlIHRoZSBwcmV2aW91cyB0YWJcbiAgICovXG4gIFRBQl9CRUZPUkUgPSBcInRhYi1iZWZvcmVcIixcbiAgLyoqXG4gICAqIFNwbGl0cyBhbmQgYWRkcyB0aGUgdGVybWluYWwgdG8gdGhlIHJpZ2h0XG4gICAqL1xuICBTUExJVF9SSUdIVCA9IFwic3BsaXQtcmlnaHRcIixcbiAgLyoqXG4gICAqIFNwbGl0cyBhbmQgYWRkcyB0aGUgdGVybWluYWwgdG8gdGhlIGxlZnRcbiAgICovXG4gIFNQTElUX0xFRlQgPSBcInNwbGl0LWxlZnRcIixcbiAgLyoqXG4gICAqIFNwbGl0cyBhbmQgYWRkcyB0aGUgdGVybWluYWwgdG8gdGhlIHRvcFxuICAgKi9cbiAgU1BMSVRfVE9QID0gXCJzcGxpdC10b3BcIixcbiAgLyoqXG4gICAqIFNwbGl0cyBhbmQgYWRkcyB0aGUgdGVybWluYWwgdG8gdGhlIGJvdHRvbVxuICAgKi9cbiAgU1BMSVRfQk9UVE9NID0gXCJzcGxpdC1ib3R0b21cIixcbn1cblxuLyoqXG4gKiBDb25maWd1cmUgd2hlcmUgaW4gdGhlIElERSB0aGUgdGVybWluYWwgc2hvdWxkIGJlIG9wZW5lZC5cbiAqL1xuZXhwb3J0IGVudW0gR2l0cG9kT3BlbkluIHtcbiAgLyoqXG4gICAqIHRoZSBib3R0b20gcGFuZWwgKGRlZmF1bHQpXG4gICAqL1xuICBCT1RUT00gPSBcImJvdHRvbVwiLFxuICAvKipcbiAgICogdGhlIGxlZnQgcGFuZWxcbiAgICovXG4gIExFRlQgPSBcImxlZnRcIixcbiAgLyoqXG4gICAqIHRoZSByaWdodCBwYW5lbFxuICAgKi9cbiAgUklHSFQgPSBcInJpZ2h0XCIsXG4gIC8qKlxuICAgKiB0aGUgbWFpbiBlZGl0b3IgYXJlYVxuICAgKi9cbiAgTUFJTiA9IFwibWFpblwiLFxufVxuXG4vKipcbiAqIENvbmZpZ3VyZSBvcHRpb25zIGZvciBhIHRhc2sgdG8gYmUgcnVuIHdoZW4gb3BlbmluZyBhIEdpdHBvZFxuICogd29ya3NwYWNlIChlLmcuIHJ1bm5pbmcgdGVzdHMsIG9yIHN0YXJ0aW5nIGEgZGV2IHNlcnZlcikuXG4gKlxuICogU3RhcnQgTW9kZSAgICAgICAgIHwgRXhlY3V0aW9uXG4gKiBGcmVzaCBXb3Jrc3BhY2UgICAgfCBiZWZvcmUgJiYgaW5pdCAmJiBjb21tYW5kXG4gKiBSZXN0YXJ0IFdvcmtzcGFjZSAgfCBiZWZvcmUgJiYgY29tbWFuZFxuICogU25hcHNob3QgICAgICAgICAgIHwgYmVmb3JlICYmIGNvbW1hbmRcbiAqIFByZWJ1aWxkICAgICAgICAgICB8IGJlZm9yZSAmJiBpbml0ICYmIHByZWJ1aWxkXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2l0cG9kVGFzayB7XG4gIC8qKlxuICAgKiBSZXF1aXJlZC4gVGhlIHNoZWxsIGNvbW1hbmQgdG8gcnVuXG4gICAqL1xuICByZWFkb25seSBjb21tYW5kOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgbmFtZSBmb3IgdGhpcyB0YXNrLlxuICAgKiBAZGVmYXVsdCAtIHRhc2sgbmFtZXMgYXJlIG9taXR0ZWQgd2hlbiBibGFua1xuICAgKi9cbiAgcmVhZG9ubHkgbmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogWW91IGNhbiBjb25maWd1cmUgaG93IHRoZSB0ZXJtaW5hbCBzaG91bGQgYmUgb3BlbmVkIHJlbGF0aXZlIHRvIHRoZSBwcmV2aW91cyB0YXNrLlxuICAgKiBAZGVmYXVsdCBHaXRwb2RPcGVuTW9kZS5UQUJfQUZURVJcbiAgICovXG4gIHJlYWRvbmx5IG9wZW5Nb2RlPzogR2l0cG9kT3Blbk1vZGU7XG5cbiAgLyoqXG4gICAqIFlvdSBjYW4gY29uZmlndXJlIHdoZXJlIGluIHRoZSBJREUgdGhlIHRlcm1pbmFsIHNob3VsZCBiZSBvcGVuZWRcbiAgICogQGRlZmF1bHQgR2l0cG9kT3BlbkluLkJPVFRPTVxuICAgKi9cbiAgcmVhZG9ubHkgb3BlbkluPzogR2l0cG9kT3BlbkluO1xuXG4gIC8qKlxuICAgKiBJbiBjYXNlIHlvdSBuZWVkIHRvIHJ1biBzb21ldGhpbmcgZXZlbiBiZWZvcmUgaW5pdCwgdGhhdCBpcyBhIHJlcXVpcmVtZW50IGZvciBib3RoIGluaXQgYW5kIGNvbW1hbmQsXG4gICAqIHlvdSBjYW4gdXNlIHRoZSBiZWZvcmUgcHJvcGVydHkuXG4gICAqIEBkZWZhdWx0XG4gICAqL1xuICByZWFkb25seSBiZWZvcmU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBpbml0IHByb3BlcnR5IGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkgc2hlbGwgY29tbWFuZHMgdGhhdCBzaG91bGQgb25seSBiZSBleGVjdXRlZCBhZnRlciBhIHdvcmtzcGFjZVxuICAgKiB3YXMgZnJlc2hseSBjbG9uZWQgYW5kIG5lZWRzIHRvIGJlIGluaXRpYWxpemVkIHNvbWVob3cuIFN1Y2ggdGFza3MgYXJlIHVzdWFsbHkgYnVpbGRzIG9yIGRvd25sb2FkaW5nXG4gICAqIGRlcGVuZGVuY2llcy4gQW55dGhpbmcgeW91IG9ubHkgd2FudCB0byBkbyBvbmNlIGJ1dCBub3Qgd2hlbiB5b3UgcmVzdGFydCBhIHdvcmtzcGFjZSBvciBzdGFydCBhIHNuYXBzaG90LlxuICAgKiBAZGVmYXVsdFxuICAgKi9cbiAgcmVhZG9ubHkgaW5pdD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG9wdGlvbmFsIHByZWJ1aWxkIGNvbW1hbmQgd2lsbCBiZSBleGVjdXRlZCBkdXJpbmcgcHJlYnVpbGRzLiBJdCBpcyBtZWFudCB0byBydW4gYWRkaXRpb25hbCBsb25nIHJ1bm5pbmdcbiAgICogcHJvY2Vzc2VzIHRoYXQgY291bGQgYmUgdXNlZnVsLCBlLmcuIHJ1bm5pbmcgdGVzdCBzdWl0ZXMuXG4gICAqIEBkZWZhdWx0XG4gICAqL1xuICByZWFkb25seSBwcmVidWlsZD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBXaGF0IHRvIGRvIHdoZW4gYSBzZXJ2aWNlIG9uIGEgcG9ydCBpcyBkZXRlY3RlZC5cbiAqL1xuZXhwb3J0IGVudW0gR2l0cG9kT25PcGVuIHtcbiAgLyoqXG4gICAqIE9wZW4gYSBuZXcgYnJvd3NlciB0YWJcbiAgICovXG4gIE9QRU5fQlJPV1NFUiA9IFwib3Blbi1icm93c2VyXCIsXG5cbiAgLyoqXG4gICAqIE9wZW4gYSBwcmV2aWV3IG9uIHRoZSByaWdodCBzaWRlIG9mIHRoZSBJREVcbiAgICovXG4gIE9QRU5fUFJFVklFVyA9IFwib3Blbi1wcmV2aWV3XCIsXG5cbiAgLyoqXG4gICAqIFNob3cgYSBub3RpZmljYXRpb24gYXNraW5nIHRoZSB1c2VyIHdoYXQgdG8gZG8gKGRlZmF1bHQpXG4gICAqL1xuICBOT1RJRlkgPSBcIm5vdGlmeVwiLFxuXG4gIC8qKlxuICAgKiBEbyBub3RoaW5nLlxuICAgKi9cbiAgSUdOT1JFID0gXCJpZ25vcmVcIixcbn1cblxuLyoqXG4gKiBXaGV0aGVyIHRoZSBwb3J0IHZpc2liaWxpdHkgc2hvdWxkIGJlIHByaXZhdGUgb3IgcHVibGljXG4gKi9cbmV4cG9ydCBlbnVtIEdpdHBvZFBvcnRWaXNpYmlsaXR5IHtcbiAgLyoqXG4gICAqIEFsbG93cyBldmVyeW9uZSB3aXRoIHRoZSBwb3J0IFVSTCB0byBhY2Nlc3MgdGhlIHBvcnQgKGRlZmF1bHQpXG4gICAqL1xuICBQVUJMSUMgPSBcInB1YmxpY1wiLFxuXG4gIC8qKlxuICAgKiBPbmx5IGFsbG93cyB1c2VycyB3aXRoIHdvcmtzcGFjZSBhY2Nlc3MgdG8gYWNjZXNzIHRoZSBwb3J0XG4gICAqL1xuICBQUklWQVRFID0gXCJwcml2YXRlXCIsXG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgYW4gZXhwb3NlZCBwb3J0IG9uIEdpdHBvZFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdpdHBvZFBvcnQge1xuICAvKipcbiAgICogQSBwb3J0IHRoYXQgc2hvdWxkIGJlIGV4cG9zZWQgKGZvcndhcmRlZCkgZnJvbSB0aGUgY29udGFpbmVyLlxuICAgKlxuICAgKiBAZXhhbXBsZSBcIjgwODBcIlxuICAgKi9cbiAgcmVhZG9ubHkgcG9ydD86IHN0cmluZztcblxuICAvKipcbiAgICogV2hhdCB0byBkbyB3aGVuIGEgc2VydmljZSBvbiBhIHBvcnQgaXMgZGV0ZWN0ZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IEdpdHBvZE9uT3Blbi5OT1RJRllcbiAgICovXG4gIHJlYWRvbmx5IG9uT3Blbj86IEdpdHBvZE9uT3BlbjtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgcG9ydCB2aXNpYmlsaXR5IHNob3VsZCBiZSBwcml2YXRlIG9yIHB1YmxpYy5cbiAgICpcbiAgICogQGRlZmF1bHQgR2l0cG9kUG9ydFZpc2liaWxpdHkuUFVCTElDXG4gICAqL1xuICByZWFkb25seSB2aXNpYmlsaXR5PzogR2l0cG9kUG9ydFZpc2liaWxpdHk7XG59XG5cbi8qKlxuICogQ29uZmlndXJlIHRoZSBHaXRwb2QgQXBwIGZvciBwcmVidWlsZHMuXG4gKiBDdXJyZW50bHkgb25seSBHaXRIdWIgaXMgc3VwcG9ydGVkLlxuICogQHNlZSBodHRwczovL3d3dy5naXRwb2QuaW8vZG9jcy9wcmVidWlsZHMvXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2l0cG9kUHJlYnVpbGRzIHtcbiAgLyoqXG4gICAqIEVuYWJsZSBmb3IgdGhlIG1hc3Rlci9kZWZhdWx0IGJyYW5jaFxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBtYXN0ZXI/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFbmFibGUgZm9yIGFsbCBicmFuY2hlcyBpbiB0aGlzIHJlcG9cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGJyYW5jaGVzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRW5hYmxlIGZvciBwdWxsIHJlcXVlc3RzIGNvbWluZyBmcm9tIHRoaXMgcmVwb1xuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBwdWxsUmVxdWVzdHM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFbmFibGUgZm9yIHB1bGwgcmVxdWVzdHMgY29taW5nIGZyb20gZm9ya3NcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHB1bGxSZXF1ZXN0c0Zyb21Gb3Jrcz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEFkZCBhIGNoZWNrIHRvIHB1bGwgcmVxdWVzdHNcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgYWRkQ2hlY2s/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBZGQgYSBcIlJldmlldyBpbiBHaXRwb2RcIiBidXR0b24gYXMgYSBjb21tZW50IHRvIHB1bGwgcmVxdWVzdHNcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGFkZENvbW1lbnQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBZGQgYSBcIlJldmlldyBpbiBHaXRwb2RcIiBidXR0b24gdG8gdGhlIHB1bGwgcmVxdWVzdCdzIGRlc2NyaXB0aW9uXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBhZGRCYWRnZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEFkZCBhIGxhYmVsIG9uY2UgdGhlIHByZWJ1aWxkIGlzIHJlYWR5IHRvIHB1bGwgcmVxdWVzdHNcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGFkZExhYmVsPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBDb25zdHJ1Y3RvciBvcHRpb25zIGZvciB0aGUgR2l0cG9kIGNvbXBvbmVudC5cbiAqXG4gKiBCeSBkZWZhdWx0LCBHaXRwb2QgdXNlcyB0aGUgJ2dpdHBvZC93b3Jrc3BhY2UtZnVsbCcgZG9ja2VyIGltYWdlLlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vZ2l0cG9kLWlvL3dvcmtzcGFjZS1pbWFnZXMvYmxvYi9tYXN0ZXIvZnVsbC9Eb2NrZXJmaWxlXG4gKlxuICogQnkgZGVmYXVsdCwgYWxsIHRhc2tzIHdpbGwgYmUgcnVuIGluIHBhcmFsbGVsLiBUbyBydW4gdGhlIHRhc2tzIGluIHNlcXVlbmNlLFxuICogY3JlYXRlIGEgbmV3IHRhc2sgYW5kIHNwZWNpZnkgdGhlIG90aGVyIHRhc2tzIGFzIHN1YnRhc2tzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdpdHBvZE9wdGlvbnMgZXh0ZW5kcyBEZXZFbnZpcm9ubWVudE9wdGlvbnMge1xuICAvKipcbiAgICogT3B0aW9uYWwgR2l0cG9kJ3MgR2l0aHViIEFwcCBpbnRlZ3JhdGlvbiBmb3IgcHJlYnVpbGRzXG4gICAqIElmIHRoaXMgaXMgbm90IHNldCBhbmQgR2l0cG9kJ3MgR2l0aHViIEFwcCBpcyBpbnN0YWxsZWQsIHRoZW4gR2l0cG9kIHdpbGwgYXBwbHlcbiAgICogdGhlc2UgZGVmYXVsdHM6IGh0dHBzOi8vd3d3LmdpdHBvZC5pby9kb2NzL3ByZWJ1aWxkcy8jY29uZmlndXJlLXRoZS1naXRodWItYXBwXG4gICAqIEBkZWZhdWx0IHVuZGVmaW5lZFxuICAgKi9cbiAgcmVhZG9ubHkgcHJlYnVpbGRzPzogR2l0cG9kUHJlYnVpbGRzO1xufVxuXG4vKipcbiAqIFRoZSBHaXRwb2QgY29tcG9uZW50IHdoaWNoIGVtaXRzIC5naXRwb2QueW1sXG4gKi9cbmV4cG9ydCBjbGFzcyBHaXRwb2QgZXh0ZW5kcyBDb21wb25lbnQgaW1wbGVtZW50cyBJRGV2RW52aXJvbm1lbnQge1xuICBwcml2YXRlIGRvY2tlckltYWdlOiBEZXZFbnZpcm9ubWVudERvY2tlckltYWdlIHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIHByZWJ1aWxkczogR2l0cG9kUHJlYnVpbGRzIHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIHJlYWRvbmx5IHRhc2tzID0gbmV3IEFycmF5PEdpdHBvZFRhc2s+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgcG9ydHMgPSBuZXcgQXJyYXk8R2l0cG9kUG9ydD4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSB2c2NvZGVFeHRlbnNpb25zID0gbmV3IEFycmF5PHN0cmluZz4oKTtcblxuICAvKipcbiAgICogRGlyZWN0IGFjY2VzcyB0byB0aGUgZ2l0cG9kIGNvbmZpZ3VyYXRpb24gKGVzY2FwZSBoYXRjaClcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBjb25maWc6IGFueTtcblxuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBQcm9qZWN0LCBvcHRpb25zOiBHaXRwb2RPcHRpb25zID0ge30pIHtcbiAgICBzdXBlcihwcm9qZWN0KTtcblxuICAgIHRoaXMuZG9ja2VySW1hZ2UgPSBvcHRpb25zPy5kb2NrZXJJbWFnZTtcblxuICAgIGlmIChvcHRpb25zPy50YXNrcykge1xuICAgICAgZm9yIChjb25zdCB0YXNrIG9mIG9wdGlvbnMudGFza3MpIHtcbiAgICAgICAgdGhpcy5hZGRUYXNrcyh0YXNrKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucz8ucHJlYnVpbGRzKSB7XG4gICAgICB0aGlzLmFkZFByZWJ1aWxkcyhvcHRpb25zLnByZWJ1aWxkcyk7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnM/LnBvcnRzKSB7XG4gICAgICB0aGlzLmFkZFBvcnRzKC4uLm9wdGlvbnMucG9ydHMpO1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zPy52c2NvZGVFeHRlbnNpb25zKSB7XG4gICAgICB0aGlzLmFkZFZzY29kZUV4dGVuc2lvbnMoLi4ub3B0aW9ucy52c2NvZGVFeHRlbnNpb25zKTtcbiAgICB9XG5cbiAgICB0aGlzLmNvbmZpZyA9IHtcbiAgICAgIGltYWdlOiAoKSA9PiB0aGlzLnJlbmRlckRvY2tlckltYWdlKCksXG4gICAgICB0YXNrczogdGhpcy50YXNrcyxcbiAgICAgIGdpdGh1YjogKCkgPT4gdGhpcy5yZW5kZXJQcmVidWlsZHMoKSxcbiAgICAgIHBvcnRzOiB0aGlzLnBvcnRzLFxuICAgICAgdnNjb2RlOiB7XG4gICAgICAgIGV4dGVuc2lvbnM6IHRoaXMudnNjb2RlRXh0ZW5zaW9ucyxcbiAgICAgIH0sXG4gICAgfTtcblxuICAgIG5ldyBZYW1sRmlsZSh0aGlzLnByb2plY3QsIEdJVFBPRF9GSUxFLCB7XG4gICAgICBvYmo6IHRoaXMuY29uZmlnLFxuICAgICAgb21pdEVtcHR5OiB0cnVlLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIGN1c3RvbSBEb2NrZXIgaW1hZ2Ugb3IgRG9ja2VyZmlsZSBmb3IgdGhlIGNvbnRhaW5lci5cbiAgICpcbiAgICogQHBhcmFtIGltYWdlIFRoZSBEb2NrZXIgaW1hZ2VcbiAgICovXG4gIHB1YmxpYyBhZGREb2NrZXJJbWFnZShpbWFnZTogRGV2RW52aXJvbm1lbnREb2NrZXJJbWFnZSkge1xuICAgIGlmICh0aGlzLmRvY2tlckltYWdlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJkb2NrZXJJbWFnZSBjYW5ub3QgYmUgcmVkZWZpbmVkLlwiKTtcbiAgICB9XG4gICAgdGhpcy5kb2NrZXJJbWFnZSA9IGltYWdlO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCB0YXNrcyB0byBydW4gd2hlbiBnaXRwb2Qgc3RhcnRzLlxuICAgKlxuICAgKiBCeSBkZWZhdWx0LCBhbGwgdGFza3Mgd2lsbCBiZSBydW4gaW4gcGFyYWxsZWwuIFRvIHJ1biB0YXNrcyBpbiBzZXF1ZW5jZSxcbiAgICogY3JlYXRlIGEgbmV3IGBUYXNrYCBhbmQgc3BlY2lmeSB0aGUgb3RoZXIgdGFza3MgYXMgc3VidGFza3MuXG4gICAqXG4gICAqIEBwYXJhbSB0YXNrcyBUaGUgbmV3IHRhc2tzXG4gICAqL1xuICBwdWJsaWMgYWRkVGFza3MoLi4udGFza3M6IFRhc2tbXSkge1xuICAgIHRoaXMudGFza3MucHVzaChcbiAgICAgIC4uLnRhc2tzLm1hcCgodGFzaykgPT4gKHtcbiAgICAgICAgbmFtZTogdGFzay5uYW1lLFxuICAgICAgICBjb21tYW5kOiBgbnB4IHByb2plbiAke3Rhc2submFtZX1gLFxuICAgICAgfSkpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSBwcmVidWlsZHMgY29uZmlndXJhdGlvbiBmb3IgdGhlIEdpdHBvZCBBcHBcbiAgICogQHBhcmFtIGNvbmZpZyBUaGUgY29uZmlndXJhdGlvblxuICAgKi9cbiAgcHVibGljIGFkZFByZWJ1aWxkcyhjb25maWc6IEdpdHBvZFByZWJ1aWxkcykge1xuICAgIHRoaXMucHJlYnVpbGRzID0gY29uZmlnO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIHRhc2sgd2l0aCBtb3JlIGdyYW51bGFyIG9wdGlvbnMuXG4gICAqXG4gICAqIEJ5IGRlZmF1bHQsIGFsbCB0YXNrcyB3aWxsIGJlIHJ1biBpbiBwYXJhbGxlbC4gVG8gcnVuIHRhc2tzIGluIHNlcXVlbmNlLFxuICAgKiBjcmVhdGUgYSBuZXcgYFRhc2tgIGFuZCBzZXQgdGhlIG90aGVyIHRhc2tzIGFzIHN1YnRhc2tzLlxuICAgKlxuICAgKiBAcGFyYW0gb3B0aW9ucyBUaGUgdGFzayBwYXJhbWV0ZXJzXG4gICAqL1xuICBwdWJsaWMgYWRkQ3VzdG9tVGFzayhvcHRpb25zOiBHaXRwb2RUYXNrKSB7XG4gICAgdGhpcy50YXNrcy5wdXNoKHtcbiAgICAgIG5hbWU6IG9wdGlvbnMubmFtZSxcbiAgICAgIGNvbW1hbmQ6IG9wdGlvbnMuY29tbWFuZCxcbiAgICAgIG9wZW5Nb2RlOiBvcHRpb25zLm9wZW5Nb2RlLFxuICAgICAgb3BlbkluOiBvcHRpb25zLm9wZW5JbixcbiAgICAgIGJlZm9yZTogb3B0aW9ucy5iZWZvcmUsXG4gICAgICBpbml0OiBvcHRpb25zLmluaXQsXG4gICAgICBwcmVidWlsZDogb3B0aW9ucy5wcmVidWlsZCxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgcG9ydHMgdGhhdCBzaG91bGQgYmUgZXhwb3NlZCAoZm9yd2FyZGVkKSBmcm9tIHRoZSBjb250YWluZXIuXG4gICAqXG4gICAqIEBwYXJhbSBwb3J0cyBUaGUgbmV3IHBvcnRzXG4gICAqL1xuICBwdWJsaWMgYWRkUG9ydHMoLi4ucG9ydHM6IHN0cmluZ1tdKSB7XG4gICAgdGhpcy5wb3J0cy5wdXNoKC4uLnBvcnRzLm1hcCgocG9ydCkgPT4gKHsgcG9ydDogcG9ydCB9KSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIGxpc3Qgb2YgVlNDb2RlIGV4dGVuc2lvbnMgdGhhdCBzaG91bGQgYmUgYXV0b21hdGljYWxseSBpbnN0YWxsZWRcbiAgICogaW4gdGhlIGNvbnRhaW5lci5cbiAgICpcbiAgICogVGhlc2UgbXVzdCBiZSBpbiB0aGUgZm9ybWF0IGRlZmluZWQgaW4gdGhlIE9wZW4gVlNYIHJlZ2lzdHJ5LlxuICAgKiBAZXhhbXBsZSAnc2NhbGEtbGFuZy5zY2FsYUAwLjMuOTpPNVhtandZNUd6KzBvRFpBbXFuZUp3PT0nXG4gICAqIEBzZWUgaHR0cHM6Ly93d3cuZ2l0cG9kLmlvL2RvY3MvdnNjb2RlLWV4dGVuc2lvbnMvXG4gICAqXG4gICAqIEBwYXJhbSBleHRlbnNpb25zIFRoZSBleHRlbnNpb24gSURzXG4gICAqL1xuICBwdWJsaWMgYWRkVnNjb2RlRXh0ZW5zaW9ucyguLi5leHRlbnNpb25zOiBHaXRwb2RDb2RlRXh0ZW5zaW9uSWRbXSkge1xuICAgIHRoaXMudnNjb2RlRXh0ZW5zaW9ucy5wdXNoKC4uLmV4dGVuc2lvbnMpO1xuICB9XG5cbiAgcHJpdmF0ZSByZW5kZXJEb2NrZXJJbWFnZSgpIHtcbiAgICBpZiAodGhpcy5kb2NrZXJJbWFnZT8uaW1hZ2UpIHtcbiAgICAgIHJldHVybiB0aGlzLmRvY2tlckltYWdlLmltYWdlO1xuICAgIH0gZWxzZSBpZiAodGhpcy5kb2NrZXJJbWFnZT8uZG9ja2VyRmlsZSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZmlsZTogdGhpcy5kb2NrZXJJbWFnZS5kb2NrZXJGaWxlLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlbmRlclByZWJ1aWxkcygpIHtcbiAgICBpZiAodGhpcy5wcmVidWlsZHMpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHByZWJ1aWxkczogdGhpcy5wcmVidWlsZHMsXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIFZTIENvZGUgZXh0ZW5zaW9ucyBhcyBkZWZpbmVkIGluIHRoZSBPcGVuIFZTWCByZWdpc3RyeVxuICogRXhhbXBsZTogYHNjYWxhLWxhbmcuc2NhbGFAMC4zLjk6TzVYbWp3WTVHeiswb0RaQW1xbmVKdz09YFxuICovXG50eXBlIEdpdHBvZENvZGVFeHRlbnNpb25JZCA9IHN0cmluZztcbiJdfQ==
|
package/lib/ignore-file.d.ts
CHANGED
package/lib/ignore-file.js
CHANGED
|
@@ -82,7 +82,7 @@ class IgnoreFile extends file_1.FileBase {
|
|
|
82
82
|
}
|
|
83
83
|
exports.IgnoreFile = IgnoreFile;
|
|
84
84
|
_a = JSII_RTTI_SYMBOL_1;
|
|
85
|
-
IgnoreFile[_a] = { fqn: "projen.IgnoreFile", version: "0.58.
|
|
85
|
+
IgnoreFile[_a] = { fqn: "projen.IgnoreFile", version: "0.58.2" };
|
|
86
86
|
// O(n) hooray!
|
|
87
87
|
function remove(arr, value) {
|
|
88
88
|
const idx = arr.indexOf(value);
|
package/lib/index.d.ts
CHANGED
package/lib/ini.d.ts
CHANGED
package/lib/ini.js
CHANGED
|
@@ -26,5 +26,5 @@ class IniFile extends object_file_1.ObjectFile {
|
|
|
26
26
|
}
|
|
27
27
|
exports.IniFile = IniFile;
|
|
28
28
|
_a = JSII_RTTI_SYMBOL_1;
|
|
29
|
-
IniFile[_a] = { fqn: "projen.IniFile", version: "0.58.
|
|
29
|
+
IniFile[_a] = { fqn: "projen.IniFile", version: "0.58.2" };
|
|
30
30
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2luaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDJCQUEyQjtBQUUzQiwrQ0FBOEQ7QUFROUQ7O0dBRUc7QUFDSCxNQUFhLE9BQVEsU0FBUSx3QkFBVTtJQUNyQyxZQUFZLE9BQWdCLEVBQUUsUUFBZ0IsRUFBRSxPQUF1QjtRQUNyRSxLQUFLLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRVMsaUJBQWlCLENBQUMsUUFBbUI7UUFDN0MsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDVCxPQUFPLFNBQVMsQ0FBQztTQUNsQjtRQUVELE9BQU87WUFDTCxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDNUMsRUFBRTtZQUNGLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNoQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNmLENBQUM7O0FBaEJILDBCQWlCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIElOSSBmcm9tIFwiaW5pXCI7XG5pbXBvcnQgeyBJUmVzb2x2ZXIgfSBmcm9tIFwiLi9maWxlXCI7XG5pbXBvcnQgeyBPYmplY3RGaWxlLCBPYmplY3RGaWxlT3B0aW9ucyB9IGZyb20gXCIuL29iamVjdC1maWxlXCI7XG5pbXBvcnQgeyBQcm9qZWN0IH0gZnJvbSBcIi4vcHJvamVjdFwiO1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGBJbmlGaWxlYC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbmlGaWxlT3B0aW9ucyBleHRlbmRzIE9iamVjdEZpbGVPcHRpb25zIHt9XG5cbi8qKlxuICogUmVwcmVzZW50cyBhbiBJTkkgZmlsZS5cbiAqL1xuZXhwb3J0IGNsYXNzIEluaUZpbGUgZXh0ZW5kcyBPYmplY3RGaWxlIHtcbiAgY29uc3RydWN0b3IocHJvamVjdDogUHJvamVjdCwgZmlsZVBhdGg6IHN0cmluZywgb3B0aW9uczogSW5pRmlsZU9wdGlvbnMpIHtcbiAgICBzdXBlcihwcm9qZWN0LCBmaWxlUGF0aCwgb3B0aW9ucyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc3ludGhlc2l6ZUNvbnRlbnQocmVzb2x2ZXI6IElSZXNvbHZlcik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QganNvbiA9IHN1cGVyLnN5bnRoZXNpemVDb250ZW50KHJlc29sdmVyKTtcbiAgICBpZiAoIWpzb24pIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIFtcbiAgICAgIC4uLih0aGlzLm1hcmtlciA/IFtgIyAke3RoaXMubWFya2VyfWBdIDogW10pLFxuICAgICAgXCJcIixcbiAgICAgIElOSS5zdHJpbmdpZnkoSlNPTi5wYXJzZShqc29uKSksXG4gICAgXS5qb2luKFwiXFxuXCIpO1xuICB9XG59XG4iXX0=
|
package/lib/inventory.d.ts
CHANGED
|
@@ -43,4 +43,3 @@ export interface JsiiPropertyType {
|
|
|
43
43
|
export declare function discover(...moduleDirs: string[]): ProjectType[];
|
|
44
44
|
export declare function resolveProjectType(projectFqn: string): ProjectType;
|
|
45
45
|
export declare function readJsiiManifest(jsiiFqn: string): any;
|
|
46
|
-
//# sourceMappingURL=inventory.d.ts.map
|
package/lib/inventory.js
CHANGED
|
@@ -93,7 +93,6 @@ function resolveProjectType(projectFqn) {
|
|
|
93
93
|
}
|
|
94
94
|
exports.resolveProjectType = resolveProjectType;
|
|
95
95
|
function toProjectType(jsii, fqn) {
|
|
96
|
-
var _a, _b, _c, _d;
|
|
97
96
|
if (!isProjectType(jsii, fqn)) {
|
|
98
97
|
throw new Error(`Fully qualified name "${fqn}" is not a valid project type.`);
|
|
99
98
|
}
|
|
@@ -103,14 +102,14 @@ function toProjectType(jsii, fqn) {
|
|
|
103
102
|
const docsurl = `https://projen.io/api/API.html#projen-${typename
|
|
104
103
|
.toLocaleLowerCase()
|
|
105
104
|
.replace(/\./g, "-")}`;
|
|
106
|
-
let pjid =
|
|
105
|
+
let pjid = typeinfo.docs?.custom?.pjid ?? case_1.snake(typename).replace(/_project$/, "");
|
|
107
106
|
return {
|
|
108
107
|
moduleName: typeinfo.assembly,
|
|
109
108
|
typename,
|
|
110
109
|
pjid,
|
|
111
110
|
fqn,
|
|
112
111
|
options: discoverOptions(jsii, fqn).sort((o1, o2) => o1.name.localeCompare(o2.name)),
|
|
113
|
-
docs:
|
|
112
|
+
docs: typeinfo.docs?.summary,
|
|
114
113
|
docsurl,
|
|
115
114
|
};
|
|
116
115
|
}
|
|
@@ -124,20 +123,18 @@ function readJsiiManifest(jsiiFqn) {
|
|
|
124
123
|
}
|
|
125
124
|
exports.readJsiiManifest = readJsiiManifest;
|
|
126
125
|
function discoverOptions(jsii, fqn) {
|
|
127
|
-
var _a, _b, _c, _d;
|
|
128
126
|
const options = {};
|
|
129
|
-
const params =
|
|
127
|
+
const params = jsii[fqn]?.initializer?.parameters ?? [];
|
|
130
128
|
const optionsParam = params[0];
|
|
131
|
-
const optionsTypeFqn =
|
|
129
|
+
const optionsTypeFqn = optionsParam?.type?.fqn;
|
|
132
130
|
if (params.length > 1 ||
|
|
133
|
-
(params.length === 1 &&
|
|
131
|
+
(params.length === 1 && optionsParam?.name !== "options")) {
|
|
134
132
|
throw new Error(`constructor for project ${fqn} must have a single "options" argument of a struct type. got ${JSON.stringify(params)}`);
|
|
135
133
|
}
|
|
136
134
|
addOptions(optionsTypeFqn);
|
|
137
135
|
const opts = Object.values(options);
|
|
138
136
|
return opts.sort((a, b) => a.switch.localeCompare(b.switch));
|
|
139
137
|
function addOptions(ofqn, basePath = [], optional = false) {
|
|
140
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
141
138
|
if (!ofqn) {
|
|
142
139
|
return;
|
|
143
140
|
}
|
|
@@ -145,33 +142,33 @@ function discoverOptions(jsii, fqn) {
|
|
|
145
142
|
if (!struct) {
|
|
146
143
|
throw new Error(`unable to find options type ${ofqn} for project ${fqn}`);
|
|
147
144
|
}
|
|
148
|
-
for (const prop of
|
|
145
|
+
for (const prop of struct.properties ?? []) {
|
|
149
146
|
const propPath = [...basePath, prop.name];
|
|
150
147
|
// protect against double-booking
|
|
151
148
|
if (prop.name in options) {
|
|
152
149
|
throw new Error(`duplicate option "${prop.name}" in ${fqn} (already declared in ${options[prop.name].parent})`);
|
|
153
150
|
}
|
|
154
151
|
let jsiiKind;
|
|
155
|
-
if (
|
|
156
|
-
jsiiKind = jsii[
|
|
152
|
+
if (prop.type?.fqn) {
|
|
153
|
+
jsiiKind = jsii[prop.type?.fqn].kind; // e.g. 'class', 'interface', 'enum'
|
|
157
154
|
}
|
|
158
155
|
const isOptional = optional || prop.optional;
|
|
159
|
-
let defaultValue =
|
|
156
|
+
let defaultValue = prop.docs?.default;
|
|
160
157
|
if (defaultValue === "undefined") {
|
|
161
158
|
defaultValue = undefined;
|
|
162
159
|
}
|
|
163
160
|
// if this is a mandatory option and we have a default value, it has to be JSON-parsable to the correct type
|
|
164
161
|
if (!isOptional && defaultValue) {
|
|
165
|
-
if (!
|
|
162
|
+
if (!prop.type?.primitive) {
|
|
166
163
|
throw new Error(`required option "${prop.name}" with a @default must use primitive types (string, number or boolean). type found is: ${JSON.stringify(prop.type)}`);
|
|
167
164
|
}
|
|
168
|
-
checkDefaultIsParsable(prop.name, defaultValue,
|
|
165
|
+
checkDefaultIsParsable(prop.name, defaultValue, prop.type?.primitive);
|
|
169
166
|
}
|
|
170
167
|
options[prop.name] = filterUndefined({
|
|
171
168
|
path: propPath,
|
|
172
169
|
parent: struct.name,
|
|
173
170
|
name: prop.name,
|
|
174
|
-
fqn:
|
|
171
|
+
fqn: prop.type?.fqn,
|
|
175
172
|
docs: prop.docs.summary,
|
|
176
173
|
simpleType: prop.type ? getSimpleTypeName(prop.type) : "unknown",
|
|
177
174
|
fullType: prop.type,
|
|
@@ -180,20 +177,20 @@ function discoverOptions(jsii, fqn) {
|
|
|
180
177
|
switch: propPath.map((p) => case_1.snake(p).replace(/_/g, "-")).join("-"),
|
|
181
178
|
default: defaultValue,
|
|
182
179
|
optional: isOptional,
|
|
183
|
-
featured:
|
|
180
|
+
featured: prop.docs?.custom?.featured === "true",
|
|
184
181
|
deprecated: prop.docs.stability === "deprecated" ? true : undefined,
|
|
185
182
|
});
|
|
186
183
|
}
|
|
187
|
-
for (const ifc of
|
|
184
|
+
for (const ifc of struct.interfaces ?? []) {
|
|
188
185
|
addOptions(ifc);
|
|
189
186
|
}
|
|
190
187
|
}
|
|
191
188
|
}
|
|
192
189
|
function getSimpleTypeName(type) {
|
|
193
|
-
if (type
|
|
190
|
+
if (type?.primitive) {
|
|
194
191
|
return type.primitive; // e.g. 'string', 'boolean', 'number'
|
|
195
192
|
}
|
|
196
|
-
else if (type
|
|
193
|
+
else if (type?.fqn) {
|
|
197
194
|
return type.fqn.split(".").pop(); // projen.NodeProjectOptions -> NodeProjectOptions
|
|
198
195
|
}
|
|
199
196
|
else {
|
|
@@ -231,7 +228,6 @@ function filterUndefined(obj) {
|
|
|
231
228
|
return ret;
|
|
232
229
|
}
|
|
233
230
|
function isProjectType(jsii, fqn) {
|
|
234
|
-
var _a;
|
|
235
231
|
const type = jsii[fqn];
|
|
236
232
|
if (!type) {
|
|
237
233
|
throw new Error(`Could not find project type with fqn "${fqn}" in .jsii file.`);
|
|
@@ -242,7 +238,7 @@ function isProjectType(jsii, fqn) {
|
|
|
242
238
|
if (type.abstract) {
|
|
243
239
|
return false;
|
|
244
240
|
}
|
|
245
|
-
if (
|
|
241
|
+
if (type.docs?.deprecated) {
|
|
246
242
|
return false;
|
|
247
243
|
}
|
|
248
244
|
let curr = type;
|
|
@@ -274,4 +270,4 @@ function checkDefaultIsParsable(prop, value, type) {
|
|
|
274
270
|
throw new Error(`unable to JSON.parse() value "${value}" specified as @default for mandatory option "${prop}": ${e.message}`);
|
|
275
271
|
}
|
|
276
272
|
}
|
|
277
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52ZW50b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2ludmVudG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2QkFBNkI7QUFDN0IsK0JBQTZCO0FBQzdCLCtCQUErQjtBQUUvQixNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3RELE1BQU0sZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUM7QUE2RTFDOzs7Ozs7R0FNRztBQUNILFNBQWdCLFFBQVEsQ0FBQyxHQUFHLFVBQW9CO0lBQzlDLE1BQU0sSUFBSSxHQUFHLGlCQUFpQixDQUFDLEdBQUcsVUFBVSxDQUFDLENBQUM7SUFFOUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxLQUFLLEVBQWUsQ0FBQztJQUV4QyxLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDbkMsSUFBSSxhQUFhLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxFQUFFO1lBQzVCLE1BQU0sQ0FBQyxHQUFHLGFBQWEsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDbkMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNoQjtLQUNGO0lBRUQsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDakUsQ0FBQztBQWJELDRCQWFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsU0FBUyxpQkFBaUIsQ0FBQyxHQUFHLFVBQW9CO0lBQ2hELE1BQU0sSUFBSSxHQUFjLEVBQUUsQ0FBQztJQUMzQixNQUFNLG1CQUFtQixHQUFrQixFQUFFLENBQUM7SUFFOUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxHQUFX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QUcsSUFBSSxDQUFDO0lBQ2hCLE9BQU8sSUFBSSxFQUFFO1FBQ1gsSUFBSSxJQUFJLENBQUMsR0FBRyxLQUFLLGdCQUFnQixFQUFFO1lBQ2pDLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNkLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFFRCxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1QsT0FBTyxLQUFLLENBQUM7U0FDZDtLQUNGO0FBQ0gsQ0FBQztBQUVELFNBQVMsc0JBQXNCLENBQUMsSUFBWSxFQUFFLEtBQWEsRUFBRSxJQUFZO0lBQ3ZFLDBCQUEwQjtJQUMxQixJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDekIsT0FBTztLQUNSO0lBQ0QsSUFBSTtRQUNGLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsSUFBSSxPQUFPLE1BQU0sS0FBSyxJQUFJLEVBQUU7WUFDMUIsTUFBTSxJQUFJLEtBQUssQ0FDYixvREFBb0QsSUFBSSxTQUFTLElBQUksS0FBSyxNQUFNLEVBQUUsQ0FDbkYsQ0FBQztTQUNIO0tBQ0Y7SUFBQyxPQUFPLENBQUMsRUFBRTtRQUNWLE1BQU0sSUFBSSxLQUFLLENBQ2IsaUNBQWlDLEtBQUssaURBQWlELElBQUksTUFDeEYsQ0FBUyxDQUFDLE9BQ2IsRUFBRSxDQUNILENBQUM7S0FDSDtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgeyBzbmFrZSB9IGZyb20gXCJjYXNlXCI7XG5pbXBvcnQgKiBhcyBmcyBmcm9tIFwiZnMtZXh0cmFcIjtcblxuY29uc3QgUFJPSkVOX01PRFVMRV9ST09UID0gcGF0aC5qb2luKF9fZGlybmFtZSwgXCIuLlwiKTtcbmNvbnN0IFBST0pFQ1RfQkFTRV9GUU4gPSBcInByb2plbi5Qcm9qZWN0XCI7XG5cbnR5cGUgSnNpaVR5cGVzID0geyBbbmFtZTogc3RyaW5nXTogSnNpaVR5cGUgfTtcblxuZXhwb3J0IGludGVyZmFjZSBQcm9qZWN0T3B0aW9uIHtcbiAgcGF0aDogc3RyaW5nW107XG4gIG5hbWU6IHN0cmluZztcbiAgZnFuPzogc3RyaW5nO1xuICBzd2l0Y2g6IHN0cmluZztcbiAgLyoqIFNpbXBsZSB0eXBlIG5hbWUsIGUuZy4gXCJzdHJpbmdcIiwgXCJib29sZWFuXCIsIFwibnVtYmVyXCIsIFwiRXNsaW50T3B0aW9uc1wiLCBcIk15RW51bVwiLiBDb2xsZWN0aW9ucyBhcmUgXCJ1bmtub3duXCIgKi9cbiAgc2ltcGxlVHlwZTogc3RyaW5nO1xuICAvKiogRnVsbCBKU0lJIHR5cGUsIGUuZy4geyBwcmltaXRpdmU6IFwic3RyaW5nXCIgfSBvciB7IGNvbGxlY3Rpb246IHsgZWxlbWVudHR5cGU6IHsgcHJpbWl0aXZlOiAnc3RyaW5nJyB9LCBraW5kOiAnbWFwJyB9IH0gKi9cbiAgZnVsbFR5cGU6IEpzaWlQcm9wZXJ0eVR5cGU7XG4gIGtpbmQ/OiBcImNsYXNzXCIgfCBcImVudW1cIiB8IFwiaW50ZXJmYWNlXCI7XG4gIGpzb25MaWtlPzogYm9vbGVhbjtcbiAgcGFyZW50OiBzdHJpbmc7XG4gIGRvY3M/OiBzdHJpbmc7XG4gIGRlZmF1bHQ/OiBzdHJpbmc7XG4gIG9wdGlvbmFsPzogYm9vbGVhbjtcbiAgZGVwcmVjYXRlZD86IGJvb2xlYW47XG4gIGZlYXR1cmVkPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQcm9qZWN0VHlwZSB7XG4gIG1vZHVsZU5hbWU6IHN0cmluZztcbiAgcGppZDogc3RyaW5nO1xuICBmcW46IHN0cmluZztcbiAgdHlwZW5hbWU6IHN0cmluZztcbiAgb3B0aW9uczogUHJvamVjdE9wdGlvbltdO1xuICBkb2NzPzogc3RyaW5nO1xuICBkb2NzdXJsOiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBKc2lpVHlwZSB7XG4gIG5hbWU6IHN0cmluZztcbiAgYXNzZW1ibHk6IHN0cmluZztcbiAga2luZDogc3RyaW5nO1xuICBhYnN0cmFjdD86IGJvb2xlYW47XG4gIGJhc2U/OiBzdHJpbmc7XG4gIGZxbjogc3RyaW5nO1xuICBpbnRlcmZhY2VzPzogc3RyaW5nW107XG4gIGluaXRpYWxpemVyPzoge1xuICAgIHBhcmFtZXRlcnM/OiBBcnJheTx7XG4gICAgICBuYW1lOiBzdHJpbmc7XG4gICAgICB0eXBlPzogeyBmcW4/OiBzdHJpbmcgfTtcbiAgICB9PjtcbiAgfTtcbiAgcHJvcGVydGllcz86IEFycmF5PHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgZG9jczoge1xuICAgICAgc3VtbWFyeT86IHN0cmluZztcbiAgICAgIGRlZmF1bHQ/OiBzdHJpbmc7XG4gICAgICBkZXByZWNhdGVkPzogc3RyaW5nO1xuICAgICAgc3RhYmlsaXR5Pzogc3RyaW5nO1xuICAgICAgY3VzdG9tPzogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nIH07XG4gICAgfTtcbiAgICBvcHRpb25hbD86IGJvb2xlYW47XG4gICAgdHlwZT86IEpzaWlQcm9wZXJ0eVR5cGU7XG4gIH0+O1xuICBkb2NzPzoge1xuICAgIHN1bW1hcnk/OiBzdHJpbmc7XG4gICAgZGVwcmVjYXRlZD86IHN0cmluZztcbiAgICBjdXN0b20/OiB7XG4gICAgICBwamlkPzogc3RyaW5nO1xuICAgIH07XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSnNpaVByb3BlcnR5VHlwZSB7XG4gIHByaW1pdGl2ZT86IHN0cmluZztcbiAgZnFuPzogc3RyaW5nO1xuICBjb2xsZWN0aW9uPzoge1xuICAgIGVsZW1lbnR0eXBlOiBKc2lpUHJvcGVydHlUeXBlO1xuICAgIGtpbmQ6IHN0cmluZztcbiAgfTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIGEgbGlzdCBvZiBwcm9qZWN0IHR5cGVzIGV4cG9ydGVkIHRoZSBtb2R1bGVzIGRlZmluZWQgaW4gYG1vZHVsZURpcnNgLlxuICogVGhpcyBsaXN0IHdpbGwgYWx3YXlzIGFsc28gaW5jbHVkZSB0aGUgYnVpbHQtaW4gcHJvamVuIHByb2plY3QgdHlwZXMuXG4gKiBNb2R1bGVzIHdpdGhvdXQgYSAuanNpaSBtYW5pZmVzdCBhcmUgc2tpcHBlZC5cbiAqXG4gKiBAcGFyYW0gbW9kdWxlRGlycyBBIGxpc3Qgb2YgbnBtIG1vZHVsZSBkaXJlY3Rvcmllc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZGlzY292ZXIoLi4ubW9kdWxlRGlyczogc3RyaW5nW10pIHtcbiAgY29uc3QganNpaSA9IGRpc2NvdmVySnNpaVR5cGVzKC4uLm1vZHVsZURpcnMpO1xuXG4gIGNvbnN0IHJlc3VsdCA9IG5ldyBBcnJheTxQcm9qZWN0VHlwZT4oKTtcblxuICBmb3IgKGNvbnN0IGZxbiBvZiBPYmplY3Qua2V5cyhqc2lpKSkge1xuICAgIGlmIChpc1Byb2plY3RUeXBlKGpzaWksIGZxbikpIHtcbiAgICAgIGNvbnN0IHAgPSB0b1Byb2plY3RUeXBlKGpzaWksIGZxbik7XG4gICAgICByZXN1bHQucHVzaChwKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcmVzdWx0LnNvcnQoKHIxLCByMikgPT4gcjEucGppZC5sb2NhbGVDb21wYXJlKHIyLnBqaWQpKTtcbn1cblxuLyoqXG4gKiBSZXNvbHZlIGFsbCBqc2lpIHR5cGVzIGZyb20gQG1vZHVsZXNEaXJzLlxuICogV2hlbiBhIGpzaWkgbW9kdWxlIGlzIGZvdW5kIGl0IHdpbGwgcmVjdXNpdmVseSBsaXN0IHRoZSB0eXBlcyBmcm9tIHRoZSBkZXBlbmRhbnQgbW9kdWxlIGFzIHdlbGxcbiAqXG4gKiBAcGFyYW0gbW9kdWxlRGlyc1xuICogQHJldHVybnNcbiAqL1xuZnVuY3Rpb24gZGlzY292ZXJKc2lpVHlwZXMoLi4ubW9kdWxlRGlyczogc3RyaW5nW10pIHtcbiAgY29uc3QganNpaTogSnNpaVR5cGVzID0ge307XG4gIGNvbnN0IGRpc2NvdmVyZWRNYW5pZmVzdHM6IEFycmF5PHN0cmluZz4gPSBbXTtcblxuICBjb25zdCBkaXNjb3ZlckpzaWkgPSAoZGlyOiBzdHJpbmcpID0+IHtcbiAgICBjb25zdCBqc2lpRmlsZSA9IHBhdGguam9pbihkaXIsIFwiLmpzaWlcIik7XG4gICAgaWYgKCFmcy5leGlzdHNTeW5jKGpzaWlGaWxlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH0gLy8gbm8ganNpaSBtYW5pZmVzdFxuXG4gICAgY29uc3QgbWFuaWZlc3QgPSBmcy5yZWFkSnNvblN5bmMoanNpaUZpbGUpO1xuXG4gICAgaWYgKGRpc2NvdmVyZWRNYW5pZmVzdHMuaW5jbHVkZXMobWFuaWZlc3QuZmluZ2VycHJpbnQpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGRpc2NvdmVyZWRNYW5pZmVzdHMucHVzaChtYW5pZmVzdC5maW5nZXJwcmludCk7XG5cbiAgICBmb3IgKGNvbnN0IFtmcW4sIHR5cGVdIG9mIE9iamVjdC5lbnRyaWVzKG1hbmlmZXN0LnR5cGVzIGFzIEpzaWlUeXBlcykpIHtcbiAgICAgIGpzaWlbZnFuXSA9IHtcbiAgICAgICAgLi4udHlwZSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgLy8gQWxzbyBzZWFyY2ggcmVjdXJzaXZlbHkgaW4gbmVzdGVkIHByb2plY3QgZGVwZW5kZW5jaWVzLiBJZiB0aGUgcmVxdWVzdGVkIG1vZHVsZSBpcyBhbiBleHRlcm5hbCBtb2R1bGVcbiAgICAvLyB0aGlzIHdpbGwgYWxzbyBlbmQtdXAgaW4gdGhlIHByb2plbiBtb2R1bGUgYW5kIGFkZCB0aGUgcHJvamVuIHR5cGVzXG4gICAgaWYgKG1hbmlmZXN0LmRlcGVuZGVuY2llcykge1xuICAgICAgZm9yIChjb25zdCBkZXBlbmRlbmN5IG9mIE9iamVjdC5rZXlzKG1hbmlmZXN0LmRlcGVuZGVuY2llcykpIHtcbiAgICAgICAgY29uc3QgbmVzdGVkRGVwZW5kZW5jeUZvbGRlciA9IHBhdGguZGlybmFtZShcbiAgICAgICAgICByZXF1aXJlLnJlc29sdmUoYCR7ZGVwZW5kZW5jeX0vcGFja2FnZS5qc29uYCwge1xuICAgICAgICAgICAgcGF0aHM6IFtkaXJdLFxuICAgICAgICAgIH0pXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKGZzLmV4aXN0c1N5bmMobmVzdGVkRGVwZW5kZW5jeUZvbGRlcikpIHtcbiAgICAgICAgICBkaXNjb3ZlckpzaWkobmVzdGVkRGVwZW5kZW5jeUZvbGRlcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgLy8gcmVhZCBhbGwgLmpzaWkgbWFuaWZlc3RzIGZyb20gYWxsIHJlcXVlc3RlZCBtb2R1bGVzIGFuZCBtZXJnZVxuICAvLyB0aGVtIGFsbCBpbnRvIGEgc2luZ2xlIG1hcCBvZiBmcW4tPnR5cGUuXG4gIGZvciAoY29uc3QgZGlyIG9mIFsuLi5tb2R1bGVEaXJzLCBQUk9KRU5fTU9EVUxFX1JPT1RdKSB7XG4gICAgZGlzY292ZXJKc2lpKGRpcik7XG5cbiAgICAvLyBSZWFkIGZyb20gc2NvcGVkIHBhY2thZ2VzXG4gICAgaWYgKGRpci5pbmNsdWRlcyhcIkBcIikgJiYgZnMubHN0YXRTeW5jKGRpcikuaXNEaXJlY3RvcnkoKSkge1xuICAgICAgY29uc3QgY2hpbGREaXJzID0gZnMucmVhZGRpclN5bmMoZGlyKS5tYXAoKGZpbGUpID0+IHBhdGguam9pbihkaXIsIGZpbGUpKTtcbiAgICAgIGZvciAoY29uc3QgY2hpbGQgb2YgY2hpbGREaXJzKSB7XG4gICAgICAgIGRpc2NvdmVySnNpaShjaGlsZCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGpzaWk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlUHJvamVjdFR5cGUocHJvamVjdEZxbjogc3RyaW5nKTogUHJvamVjdFR5cGUge1xuICBsZXQgW21vZHVsZU5hbWVdID0gcHJvamVjdEZxbi5zcGxpdChcIi5cIik7XG4gIGlmIChtb2R1bGVOYW1lID09PSBcInByb2plblwiKSB7XG4gICAgbW9kdWxlTmFtZSA9IFBST0pFTl9NT0RVTEVfUk9PVDtcbiAgfVxuXG4gIC8vIHRyeSBwaWNraW5nIHRoZSBtYW5pZmVzdC4gV2Ugb25seSBuZWVkIHRoZSBiYXNlIGZvbGRlciBidXQgdGhpcyBpcyBkaXJlY3RseSBhIG5pY2UgY2hlY2sgaWYgd2UgcmVxdWVzdCBmcm9tIGEgdmFsaWQganNpaSBwYWNrYWdlXG4gIGNvbnN0IGpzaWlNYW5pZmVzdEZpbGUgPSByZXF1aXJlLnJlc29sdmUoYCR7bW9kdWxlTmFtZX0vLmpzaWlgLCB7XG4gICAgcGF0aHM6IFtwcm9jZXNzLmN3ZCgpXSxcbiAgfSk7XG4gIGNvbnN0IG1vZHVsZUZvbGRlciA9IHBhdGguZGlybmFtZShqc2lpTWFuaWZlc3RGaWxlKTtcblxuICAvLyBSZWFkIGFsbCBqc2lpIHR5cGVzIHRoYXQgY2FuIGJlIGxvYWRlZCBmcm9tIHRoaXMgcHJvamVjdCB0eXBlXG4gIGNvbnN0IGpzaWkgPSBkaXNjb3ZlckpzaWlUeXBlcyhtb2R1bGVGb2xkZXIpO1xuICByZXR1cm4gdG9Qcm9qZWN0VHlwZShqc2lpLCBwcm9qZWN0RnFuKTtcbn1cblxuZnVuY3Rpb24gdG9Qcm9qZWN0VHlwZShqc2lpOiBKc2lpVHlwZXMsIGZxbjogc3RyaW5nKTogUHJvamVjdFR5cGUge1xuICBpZiAoIWlzUHJvamVjdFR5cGUoanNpaSwgZnFuKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGBGdWxseSBxdWFsaWZpZWQgbmFtZSBcIiR7ZnFufVwiIGlzIG5vdCBhIHZhbGlkIHByb2plY3QgdHlwZS5gXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IHR5cGVpbmZvID0ganNpaVtmcW5dO1xuXG4gIC8vIHByb2plbi53ZWIuUmVhY3RQcm9qZWN0IC0+IHdlYi5SZWFjdFByb2plY3RcbiAgY29uc3QgdHlwZW5hbWUgPSBmcW4uc3Vic3RyaW5nKGZxbi5pbmRleE9mKFwiLlwiKSArIDEpO1xuXG4gIGNvbnN0IGRvY3N1cmwgPSBgaHR0cHM6Ly9wcm9qZW4uaW8vYXBpL0FQSS5odG1sI3Byb2plbi0ke3R5cGVuYW1lXG4gICAgLnRvTG9jYWxlTG93ZXJDYXNlKClcbiAgICAucmVwbGFjZSgvXFwuL2csIFwiLVwiKX1gO1xuICBsZXQgcGppZCA9XG4gICAgdHlwZWluZm8uZG9jcz8uY3VzdG9tPy5wamlkID8/IHNuYWtlKHR5cGVuYW1lKS5yZXBsYWNlKC9fcHJvamVjdCQvLCBcIlwiKTtcbiAgcmV0dXJuIHtcbiAgICBtb2R1bGVOYW1lOiB0eXBlaW5mby5hc3NlbWJseSxcbiAgICB0eXBlbmFtZSxcbiAgICBwamlkLFxuICAgIGZxbixcbiAgICBvcHRpb25zOiBkaXNjb3Zlck9wdGlvbnMoanNpaSwgZnFuKS5zb3J0KChvMSwgbzIpID0+XG4gICAgICBvMS5uYW1lLmxvY2FsZUNvbXBhcmUobzIubmFtZSlcbiAgICApLFxuICAgIGRvY3M6IHR5cGVpbmZvLmRvY3M/LnN1bW1hcnksXG4gICAgZG9jc3VybCxcbiAgfSBhcyBQcm9qZWN0VHlwZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlYWRKc2lpTWFuaWZlc3QoanNpaUZxbjogc3RyaW5nKTogYW55IHtcbiAgbGV0IFttb2R1bGVOYW1lXSA9IGpzaWlGcW4uc3BsaXQoXCIuXCIpO1xuICBpZiAobW9kdWxlTmFtZSA9PT0gXCJwcm9qZW5cIikge1xuICAgIG1vZHVsZU5hbWUgPSBQUk9KRU5fTU9EVUxFX1JPT1Q7XG4gIH1cblxuICBjb25zdCBqc2lpTWFuaWZlc3RGaWxlID0gcmVxdWlyZS5yZXNvbHZlKGAke21vZHVsZU5hbWV9Ly5qc2lpYCk7XG4gIHJldHVybiBmcy5yZWFkSnNvblN5bmMoanNpaU1hbmlmZXN0RmlsZSk7XG59XG5cbmZ1bmN0aW9uIGRpc2NvdmVyT3B0aW9ucyhqc2lpOiBKc2lpVHlwZXMsIGZxbjogc3RyaW5nKTogUHJvamVjdE9wdGlvbltdIHtcbiAgY29uc3Qgb3B0aW9uczogeyBbbmFtZTogc3RyaW5nXTogUHJvamVjdE9wdGlvbiB9ID0ge307XG4gIGNvbnN0IHBhcmFtcyA9IGpzaWlbZnFuXT8uaW5pdGlhbGl6ZXI/LnBhcmFtZXRlcnMgPz8gW107XG4gIGNvbnN0IG9wdGlvbnNQYXJhbSA9IHBhcmFtc1swXTtcbiAgY29uc3Qgb3B0aW9uc1R5cGVGcW4gPSBvcHRpb25zUGFyYW0/LnR5cGU/LmZxbjtcblxuICBpZiAoXG4gICAgcGFyYW1zLmxlbmd0aCA+IDEgfHxcbiAgICAocGFyYW1zLmxlbmd0aCA9PT0gMSAmJiBvcHRpb25zUGFyYW0/Lm5hbWUgIT09IFwib3B0aW9uc1wiKVxuICApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgY29uc3RydWN0b3IgZm9yIHByb2plY3QgJHtmcW59IG11c3QgaGF2ZSBhIHNpbmdsZSBcIm9wdGlvbnNcIiBhcmd1bWVudCBvZiBhIHN0cnVjdCB0eXBlLiBnb3QgJHtKU09OLnN0cmluZ2lmeShcbiAgICAgICAgcGFyYW1zXG4gICAgICApfWBcbiAgICApO1xuICB9XG5cbiAgYWRkT3B0aW9ucyhvcHRpb25zVHlwZUZxbik7XG5cbiAgY29uc3Qgb3B0cyA9IE9iamVjdC52YWx1ZXMob3B0aW9ucyk7XG5cbiAgcmV0dXJuIG9wdHMuc29ydCgoYSwgYikgPT4gYS5zd2l0Y2gubG9jYWxlQ29tcGFyZShiLnN3aXRjaCkpO1xuXG4gIGZ1bmN0aW9uIGFkZE9wdGlvbnMoXG4gICAgb2Zxbj86IHN0cmluZyxcbiAgICBiYXNlUGF0aDogc3RyaW5nW10gPSBbXSxcbiAgICBvcHRpb25hbCA9IGZhbHNlXG4gICkge1xuICAgIGlmICghb2Zxbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHN0cnVjdCA9IGpzaWlbb2Zxbl07XG4gICAgaWYgKCFzdHJ1Y3QpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgdW5hYmxlIHRvIGZpbmQgb3B0aW9ucyB0eXBlICR7b2Zxbn0gZm9yIHByb2plY3QgJHtmcW59YCk7XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBwcm9wIG9mIHN0cnVjdC5wcm9wZXJ0aWVzID8/IFtdKSB7XG4gICAgICBjb25zdCBwcm9wUGF0aCA9IFsuLi5iYXNlUGF0aCwgcHJvcC5uYW1lXTtcblxuICAgICAgLy8gcHJvdGVjdCBhZ2FpbnN0IGRvdWJsZS1ib29raW5nXG4gICAgICBpZiAocHJvcC5uYW1lIGluIG9wdGlvbnMpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBkdXBsaWNhdGUgb3B0aW9uIFwiJHtwcm9wLm5hbWV9XCIgaW4gJHtmcW59IChhbHJlYWR5IGRlY2xhcmVkIGluICR7XG4gICAgICAgICAgICBvcHRpb25zW3Byb3AubmFtZV0ucGFyZW50XG4gICAgICAgICAgfSlgXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGxldCBqc2lpS2luZDtcbiAgICAgIGlmIChwcm9wLnR5cGU/LmZxbikge1xuICAgICAgICBqc2lpS2luZCA9IGpzaWlbcHJvcC50eXBlPy5mcW5dLmtpbmQ7IC8vIGUuZy4gJ2NsYXNzJywgJ2ludGVyZmFjZScsICdlbnVtJ1xuICAgICAgfVxuXG4gICAgICBjb25zdCBpc09wdGlvbmFsID0gb3B0aW9uYWwgfHwgcHJvcC5vcHRpb25hbDtcbiAgICAgIGxldCBkZWZhdWx0VmFsdWUgPSBwcm9wLmRvY3M/LmRlZmF1bHQ7XG5cbiAgICAgIGlmIChkZWZhdWx0VmFsdWUgPT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgICAgZGVmYXVsdFZhbHVlID0gdW5kZWZpbmVkO1xuICAgICAgfVxuXG4gICAgICAvLyBpZiB0aGlzIGlzIGEgbWFuZGF0b3J5IG9wdGlvbiBhbmQgd2UgaGF2ZSBhIGRlZmF1bHQgdmFsdWUsIGl0IGhhcyB0byBiZSBKU09OLXBhcnNhYmxlIHRvIHRoZSBjb3JyZWN0IHR5cGVcbiAgICAgIGlmICghaXNPcHRpb25hbCAmJiBkZWZhdWx0VmFsdWUpIHtcbiAgICAgICAgaWYgKCFwcm9wLnR5cGU/LnByaW1pdGl2ZSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgIGByZXF1aXJlZCBvcHRpb24gXCIke1xuICAgICAgICAgICAgICBwcm9wLm5hbWVcbiAgICAgICAgICAgIH1cIiB3aXRoIGEgQGRlZmF1bHQgbXVzdCB1c2UgcHJpbWl0aXZlIHR5cGVzIChzdHJpbmcsIG51bWJlciBvciBib29sZWFuKS4gdHlwZSBmb3VuZCBpczogJHtKU09OLnN0cmluZ2lmeShcbiAgICAgICAgICAgICAgcHJvcC50eXBlXG4gICAgICAgICAgICApfWBcbiAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgY2hlY2tEZWZhdWx0SXNQYXJzYWJsZShwcm9wLm5hbWUsIGRlZmF1bHRWYWx1ZSwgcHJvcC50eXBlPy5wcmltaXRpdmUpO1xuICAgICAgfVxuXG4gICAgICBvcHRpb25zW3Byb3AubmFtZV0gPSBmaWx0ZXJVbmRlZmluZWQoe1xuICAgICAgICBwYXRoOiBwcm9wUGF0aCxcbiAgICAgICAgcGFyZW50OiBzdHJ1Y3QubmFtZSxcbiAgICAgICAgbmFtZTogcHJvcC5uYW1lLFxuICAgICAgICBmcW46IHByb3AudHlwZT8uZnFuLFxuICAgICAgICBkb2NzOiBwcm9wLmRvY3Muc3VtbWFyeSxcbiAgICAgICAgc2ltcGxlVHlwZTogcHJvcC50eXBlID8gZ2V0U2ltcGxlVHlwZU5hbWUocHJvcC50eXBlKSA6IFwidW5rbm93blwiLFxuICAgICAgICBmdWxsVHlwZTogcHJvcC50eXBlLFxuICAgICAgICBraW5kOiBqc2lpS2luZCxcbiAgICAgICAganNvbkxpa2U6IHByb3AudHlwZSA/IGlzSnNvbkxpa2UoanNpaSwgcHJvcC50eXBlKSA6IHVuZGVmaW5lZCxcbiAgICAgICAgc3dpdGNoOiBwcm9wUGF0aC5tYXAoKHApID0+IHNuYWtlKHApLnJlcGxhY2UoL18vZywgXCItXCIpKS5qb2luKFwiLVwiKSxcbiAgICAgICAgZGVmYXVsdDogZGVmYXVsdFZhbHVlLFxuICAgICAgICBvcHRpb25hbDogaXNPcHRpb25hbCxcbiAgICAgICAgZmVhdHVyZWQ6IHByb3AuZG9jcz8uY3VzdG9tPy5mZWF0dXJlZCA9PT0gXCJ0cnVlXCIsXG4gICAgICAgIGRlcHJlY2F0ZWQ6IHByb3AuZG9jcy5zdGFiaWxpdHkgPT09IFwiZGVwcmVjYXRlZFwiID8gdHJ1ZSA6IHVuZGVmaW5lZCxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgaWZjIG9mIHN0cnVjdC5pbnRlcmZhY2VzID8/IFtdKSB7XG4gICAgICBhZGRPcHRpb25zKGlmYyk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGdldFNpbXBsZVR5cGVOYW1lKHR5cGU6IEpzaWlQcm9wZXJ0eVR5cGUpOiBzdHJpbmcge1xuICBpZiAodHlwZT8ucHJpbWl0aXZlKSB7XG4gICAgcmV0dXJuIHR5cGUucHJpbWl0aXZlOyAvLyBlLmcuICdzdHJpbmcnLCAnYm9vbGVhbicsICdudW1iZXInXG4gIH0gZWxzZSBpZiAodHlwZT8uZnFuKSB7XG4gICAgcmV0dXJuIHR5cGUuZnFuLnNwbGl0KFwiLlwiKS5wb3AoKSE7IC8vIHByb2plbi5Ob2RlUHJvamVjdE9wdGlvbnMgLT4gTm9kZVByb2plY3RPcHRpb25zXG4gIH0gZWxzZSB7XG4gICAgLy8gYW55IG90aGVyIHR5cGVzIHN1Y2ggYXMgY29sbGVjdGlvbiB0eXBlc1xuICAgIHJldHVybiBcInVua25vd25cIjtcbiAgfVxufVxuXG4vKipcbiAqIFdoZXRoZXIgYSB2YWx1ZSBvZiB0aGlzIHR5cGUgaXMgc2VyaWFsaXphYmxlIGludG8gSlNPTi5cbiAqL1xuZnVuY3Rpb24gaXNKc29uTGlrZShqc2lpOiBKc2lpVHlwZXMsIHR5cGU6IEpzaWlQcm9wZXJ0eVR5cGUpOiBib29sZWFuIHtcbiAgaWYgKHR5cGUucHJpbWl0aXZlKSB7XG4gICAgLy8gc3RyaW5nLCBib29sZWFuLCBudW1iZXIsIGFueVxuICAgIHJldHVybiB0cnVlO1xuICB9IGVsc2UgaWYgKHR5cGUuZnFuKSB7XG4gICAgY29uc3Qga2luZCA9IGpzaWlbdHlwZS5mcW5dLmtpbmQ7XG4gICAgaWYgKFtcImludGVyZmFjZVwiLCBcImVudW1cIl0uaW5jbHVkZXMoa2luZCkpIHtcbiAgICAgIC8vIG5vdCAnY2xhc3MnXG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0gZWxzZSBpZiAodHlwZS5jb2xsZWN0aW9uKSB7XG4gICAgcmV0dXJuIGlzSnNvbkxpa2UoanNpaSwgdHlwZS5jb2xsZWN0aW9uLmVsZW1lbnR0eXBlKTtcbiAgfVxuICByZXR1cm4gZmFsc2U7XG59XG5cbmZ1bmN0aW9uIGZpbHRlclVuZGVmaW5lZChvYmo6IGFueSkge1xuICBjb25zdCByZXQ6IGFueSA9IHt9O1xuICBmb3IgKGNvbnN0IFtrLCB2XSBvZiBPYmplY3QuZW50cmllcyhvYmopKSB7XG4gICAgaWYgKHYgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0W2tdID0gdjtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJldDtcbn1cblxuZnVuY3Rpb24gaXNQcm9qZWN0VHlwZShqc2lpOiBKc2lpVHlwZXMsIGZxbjogc3RyaW5nKSB7XG4gIGNvbnN0IHR5cGUgPSBqc2lpW2Zxbl07XG5cbiAgaWYgKCF0eXBlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYENvdWxkIG5vdCBmaW5kIHByb2plY3QgdHlwZSB3aXRoIGZxbiBcIiR7ZnFufVwiIGluICAuanNpaSBmaWxlLmBcbiAgICApO1xuICB9XG5cbiAgaWYgKHR5cGUua2luZCAhPT0gXCJjbGFzc1wiKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGlmICh0eXBlLmFic3RyYWN0KSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKHR5cGUuZG9jcz8uZGVwcmVjYXRlZCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGxldCBjdXJyID0gdHlwZTtcbiAgd2hpbGUgKHRydWUpIHtcbiAgICBpZiAoY3Vyci5mcW4gPT09IFBST0pFQ1RfQkFTRV9GUU4pIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGlmICghY3Vyci5iYXNlKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgY3VyciA9IGpzaWlbY3Vyci5iYXNlXTtcbiAgICBpZiAoIWN1cnIpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY2hlY2tEZWZhdWx0SXNQYXJzYWJsZShwcm9wOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcsIHR5cGU6IHN0cmluZykge1xuICAvLyBtYWNyb3MgYXJlIHBhc3MtdGhyb3VnaFxuICBpZiAodmFsdWUuc3RhcnRzV2l0aChcIiRcIikpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgdHJ5IHtcbiAgICBjb25zdCBwYXJzZWQgPSBKU09OLnBhcnNlKHZhbHVlKTtcbiAgICBpZiAodHlwZW9mIHBhcnNlZCAhPT0gdHlwZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgY2Fubm90IHBhcnNlIEBkZWZhdWx0IHZhbHVlIGZvciBtYW5kYXRvcnkgb3B0aW9uICR7cHJvcH0gYXMgYSAke3R5cGV9OiAke3BhcnNlZH1gXG4gICAgICApO1xuICAgIH1cbiAgfSBjYXRjaCAoZSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGB1bmFibGUgdG8gSlNPTi5wYXJzZSgpIHZhbHVlIFwiJHt2YWx1ZX1cIiBzcGVjaWZpZWQgYXMgQGRlZmF1bHQgZm9yIG1hbmRhdG9yeSBvcHRpb24gXCIke3Byb3B9XCI6ICR7XG4gICAgICAgIChlIGFzIGFueSkubWVzc2FnZVxuICAgICAgfWBcbiAgICApO1xuICB9XG59XG4iXX0=
|
|
273
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52ZW50b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2ludmVudG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2QkFBNkI7QUFDN0IsK0JBQTZCO0FBQzdCLCtCQUErQjtBQUUvQixNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3RELE1BQU0sZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUM7QUE2RTFDOzs7Ozs7R0FNRztBQUNILFNBQWdCLFFBQVEsQ0FBQyxHQUFHLFVBQW9CO0lBQzlDLE1BQU0sSUFBSSxHQUFHLGlCQUFpQixDQUFDLEdBQUcsVUFBVSxDQUFDLENBQUM7SUFFOUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxLQUFLLEVBQWUsQ0FBQztJQUV4QyxLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDbkMsSUFBSSxhQUFhLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxFQUFFO1lBQzVCLE1BQU0sQ0FBQyxHQUFHLGFBQWEsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDbkMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNoQjtLQUNGO0lBRUQsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDakUsQ0FBQztBQWJELDRCQWFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsU0FBUyxpQkFBaUIsQ0FBQyxHQUFHLFVBQW9CO0lBQ2hELE1BQU0sSUFBSSxHQUFjLEVBQUUsQ0FBQztJQUMzQixNQUFNLG1CQUFtQixHQUFrQixFQUFFLENBQUM7SUFFOUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxHQUFX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QUMsSUFBSSxFQUFFO1lBQ2QsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUVELElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDVCxPQUFPLEtBQUssQ0FBQztTQUNkO0tBQ0Y7QUFDSCxDQUFDO0FBRUQsU0FBUyxzQkFBc0IsQ0FBQyxJQUFZLEVBQUUsS0FBYSxFQUFFLElBQVk7SUFDdkUsMEJBQTBCO0lBQzFCLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRTtRQUN6QixPQUFPO0tBQ1I7SUFDRCxJQUFJO1FBQ0YsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqQyxJQUFJLE9BQU8sTUFBTSxLQUFLLElBQUksRUFBRTtZQUMxQixNQUFNLElBQUksS0FBSyxDQUNiLG9EQUFvRCxJQUFJLFNBQVMsSUFBSSxLQUFLLE1BQU0sRUFBRSxDQUNuRixDQUFDO1NBQ0g7S0FDRjtJQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ1YsTUFBTSxJQUFJLEtBQUssQ0FDYixpQ0FBaUMsS0FBSyxpREFBaUQsSUFBSSxNQUN4RixDQUFTLENBQUMsT0FDYixFQUFFLENBQ0gsQ0FBQztLQUNIO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHBhdGggZnJvbSBcInBhdGhcIjtcbmltcG9ydCB7IHNuYWtlIH0gZnJvbSBcImNhc2VcIjtcbmltcG9ydCAqIGFzIGZzIGZyb20gXCJmcy1leHRyYVwiO1xuXG5jb25zdCBQUk9KRU5fTU9EVUxFX1JPT1QgPSBwYXRoLmpvaW4oX19kaXJuYW1lLCBcIi4uXCIpO1xuY29uc3QgUFJPSkVDVF9CQVNFX0ZRTiA9IFwicHJvamVuLlByb2plY3RcIjtcblxudHlwZSBKc2lpVHlwZXMgPSB7IFtuYW1lOiBzdHJpbmddOiBKc2lpVHlwZSB9O1xuXG5leHBvcnQgaW50ZXJmYWNlIFByb2plY3RPcHRpb24ge1xuICBwYXRoOiBzdHJpbmdbXTtcbiAgbmFtZTogc3RyaW5nO1xuICBmcW4/OiBzdHJpbmc7XG4gIHN3aXRjaDogc3RyaW5nO1xuICAvKiogU2ltcGxlIHR5cGUgbmFtZSwgZS5nLiBcInN0cmluZ1wiLCBcImJvb2xlYW5cIiwgXCJudW1iZXJcIiwgXCJFc2xpbnRPcHRpb25zXCIsIFwiTXlFbnVtXCIuIENvbGxlY3Rpb25zIGFyZSBcInVua25vd25cIiAqL1xuICBzaW1wbGVUeXBlOiBzdHJpbmc7XG4gIC8qKiBGdWxsIEpTSUkgdHlwZSwgZS5nLiB7IHByaW1pdGl2ZTogXCJzdHJpbmdcIiB9IG9yIHsgY29sbGVjdGlvbjogeyBlbGVtZW50dHlwZTogeyBwcmltaXRpdmU6ICdzdHJpbmcnIH0sIGtpbmQ6ICdtYXAnIH0gfSAqL1xuICBmdWxsVHlwZTogSnNpaVByb3BlcnR5VHlwZTtcbiAga2luZD86IFwiY2xhc3NcIiB8IFwiZW51bVwiIHwgXCJpbnRlcmZhY2VcIjtcbiAganNvbkxpa2U/OiBib29sZWFuO1xuICBwYXJlbnQ6IHN0cmluZztcbiAgZG9jcz86IHN0cmluZztcbiAgZGVmYXVsdD86IHN0cmluZztcbiAgb3B0aW9uYWw/OiBib29sZWFuO1xuICBkZXByZWNhdGVkPzogYm9vbGVhbjtcbiAgZmVhdHVyZWQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByb2plY3RUeXBlIHtcbiAgbW9kdWxlTmFtZTogc3RyaW5nO1xuICBwamlkOiBzdHJpbmc7XG4gIGZxbjogc3RyaW5nO1xuICB0eXBlbmFtZTogc3RyaW5nO1xuICBvcHRpb25zOiBQcm9qZWN0T3B0aW9uW107XG4gIGRvY3M/OiBzdHJpbmc7XG4gIGRvY3N1cmw6IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIEpzaWlUeXBlIHtcbiAgbmFtZTogc3RyaW5nO1xuICBhc3NlbWJseTogc3RyaW5nO1xuICBraW5kOiBzdHJpbmc7XG4gIGFic3RyYWN0PzogYm9vbGVhbjtcbiAgYmFzZT86IHN0cmluZztcbiAgZnFuOiBzdHJpbmc7XG4gIGludGVyZmFjZXM/OiBzdHJpbmdbXTtcbiAgaW5pdGlhbGl6ZXI/OiB7XG4gICAgcGFyYW1ldGVycz86IEFycmF5PHtcbiAgICAgIG5hbWU6IHN0cmluZztcbiAgICAgIHR5cGU/OiB7IGZxbj86IHN0cmluZyB9O1xuICAgIH0+O1xuICB9O1xuICBwcm9wZXJ0aWVzPzogQXJyYXk8e1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBkb2NzOiB7XG4gICAgICBzdW1tYXJ5Pzogc3RyaW5nO1xuICAgICAgZGVmYXVsdD86IHN0cmluZztcbiAgICAgIGRlcHJlY2F0ZWQ/OiBzdHJpbmc7XG4gICAgICBzdGFiaWxpdHk/OiBzdHJpbmc7XG4gICAgICBjdXN0b20/OiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmcgfTtcbiAgICB9O1xuICAgIG9wdGlvbmFsPzogYm9vbGVhbjtcbiAgICB0eXBlPzogSnNpaVByb3BlcnR5VHlwZTtcbiAgfT47XG4gIGRvY3M/OiB7XG4gICAgc3VtbWFyeT86IHN0cmluZztcbiAgICBkZXByZWNhdGVkPzogc3RyaW5nO1xuICAgIGN1c3RvbT86IHtcbiAgICAgIHBqaWQ/OiBzdHJpbmc7XG4gICAgfTtcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBKc2lpUHJvcGVydHlUeXBlIHtcbiAgcHJpbWl0aXZlPzogc3RyaW5nO1xuICBmcW4/OiBzdHJpbmc7XG4gIGNvbGxlY3Rpb24/OiB7XG4gICAgZWxlbWVudHR5cGU6IEpzaWlQcm9wZXJ0eVR5cGU7XG4gICAga2luZDogc3RyaW5nO1xuICB9O1xufVxuXG4vKipcbiAqIFJldHVybnMgYSBsaXN0IG9mIHByb2plY3QgdHlwZXMgZXhwb3J0ZWQgdGhlIG1vZHVsZXMgZGVmaW5lZCBpbiBgbW9kdWxlRGlyc2AuXG4gKiBUaGlzIGxpc3Qgd2lsbCBhbHdheXMgYWxzbyBpbmNsdWRlIHRoZSBidWlsdC1pbiBwcm9qZW4gcHJvamVjdCB0eXBlcy5cbiAqIE1vZHVsZXMgd2l0aG91dCBhIC5qc2lpIG1hbmlmZXN0IGFyZSBza2lwcGVkLlxuICpcbiAqIEBwYXJhbSBtb2R1bGVEaXJzIEEgbGlzdCBvZiBucG0gbW9kdWxlIGRpcmVjdG9yaWVzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkaXNjb3ZlciguLi5tb2R1bGVEaXJzOiBzdHJpbmdbXSkge1xuICBjb25zdCBqc2lpID0gZGlzY292ZXJKc2lpVHlwZXMoLi4ubW9kdWxlRGlycyk7XG5cbiAgY29uc3QgcmVzdWx0ID0gbmV3IEFycmF5PFByb2plY3RUeXBlPigpO1xuXG4gIGZvciAoY29uc3QgZnFuIG9mIE9iamVjdC5rZXlzKGpzaWkpKSB7XG4gICAgaWYgKGlzUHJvamVjdFR5cGUoanNpaSwgZnFuKSkge1xuICAgICAgY29uc3QgcCA9IHRvUHJvamVjdFR5cGUoanNpaSwgZnFuKTtcbiAgICAgIHJlc3VsdC5wdXNoKHApO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiByZXN1bHQuc29ydCgocjEsIHIyKSA9PiByMS5wamlkLmxvY2FsZUNvbXBhcmUocjIucGppZCkpO1xufVxuXG4vKipcbiAqIFJlc29sdmUgYWxsIGpzaWkgdHlwZXMgZnJvbSBAbW9kdWxlc0RpcnMuXG4gKiBXaGVuIGEganNpaSBtb2R1bGUgaXMgZm91bmQgaXQgd2lsbCByZWN1c2l2ZWx5IGxpc3QgdGhlIHR5cGVzIGZyb20gdGhlIGRlcGVuZGFudCBtb2R1bGUgYXMgd2VsbFxuICpcbiAqIEBwYXJhbSBtb2R1bGVEaXJzXG4gKiBAcmV0dXJuc1xuICovXG5mdW5jdGlvbiBkaXNjb3ZlckpzaWlUeXBlcyguLi5tb2R1bGVEaXJzOiBzdHJpbmdbXSkge1xuICBjb25zdCBqc2lpOiBKc2lpVHlwZXMgPSB7fTtcbiAgY29uc3QgZGlzY292ZXJlZE1hbmlmZXN0czogQXJyYXk8c3RyaW5nPiA9IFtdO1xuXG4gIGNvbnN0IGRpc2NvdmVySnNpaSA9IChkaXI6IHN0cmluZykgPT4ge1xuICAgIGNvbnN0IGpzaWlGaWxlID0gcGF0aC5qb2luKGRpciwgXCIuanNpaVwiKTtcbiAgICBpZiAoIWZzLmV4aXN0c1N5bmMoanNpaUZpbGUpKSB7XG4gICAgICByZXR1cm47XG4gICAgfSAvLyBubyBqc2lpIG1hbmlmZXN0XG5cbiAgICBjb25zdCBtYW5pZmVzdCA9IGZzLnJlYWRKc29uU3luYyhqc2lpRmlsZSk7XG5cbiAgICBpZiAoZGlzY292ZXJlZE1hbmlmZXN0cy5pbmNsdWRlcyhtYW5pZmVzdC5maW5nZXJwcmludCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZGlzY292ZXJlZE1hbmlmZXN0cy5wdXNoKG1hbmlmZXN0LmZpbmdlcnByaW50KTtcblxuICAgIGZvciAoY29uc3QgW2ZxbiwgdHlwZV0gb2YgT2JqZWN0LmVudHJpZXMobWFuaWZlc3QudHlwZXMgYXMgSnNpaVR5cGVzKSkge1xuICAgICAganNpaVtmcW5dID0ge1xuICAgICAgICAuLi50eXBlLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICAvLyBBbHNvIHNlYXJjaCByZWN1cnNpdmVseSBpbiBuZXN0ZWQgcHJvamVjdCBkZXBlbmRlbmNpZXMuIElmIHRoZSByZXF1ZXN0ZWQgbW9kdWxlIGlzIGFuIGV4dGVybmFsIG1vZHVsZVxuICAgIC8vIHRoaXMgd2lsbCBhbHNvIGVuZC11cCBpbiB0aGUgcHJvamVuIG1vZHVsZSBhbmQgYWRkIHRoZSBwcm9qZW4gdHlwZXNcbiAgICBpZiAobWFuaWZlc3QuZGVwZW5kZW5jaWVzKSB7XG4gICAgICBmb3IgKGNvbnN0IGRlcGVuZGVuY3kgb2YgT2JqZWN0LmtleXMobWFuaWZlc3QuZGVwZW5kZW5jaWVzKSkge1xuICAgICAgICBjb25zdCBuZXN0ZWREZXBlbmRlbmN5Rm9sZGVyID0gcGF0aC5kaXJuYW1lKFxuICAgICAgICAgIHJlcXVpcmUucmVzb2x2ZShgJHtkZXBlbmRlbmN5fS9wYWNrYWdlLmpzb25gLCB7XG4gICAgICAgICAgICBwYXRoczogW2Rpcl0sXG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcblxuICAgICAgICBpZiAoZnMuZXhpc3RzU3luYyhuZXN0ZWREZXBlbmRlbmN5Rm9sZGVyKSkge1xuICAgICAgICAgIGRpc2NvdmVySnNpaShuZXN0ZWREZXBlbmRlbmN5Rm9sZGVyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICAvLyByZWFkIGFsbCAuanNpaSBtYW5pZmVzdHMgZnJvbSBhbGwgcmVxdWVzdGVkIG1vZHVsZXMgYW5kIG1lcmdlXG4gIC8vIHRoZW0gYWxsIGludG8gYSBzaW5nbGUgbWFwIG9mIGZxbi0+dHlwZS5cbiAgZm9yIChjb25zdCBkaXIgb2YgWy4uLm1vZHVsZURpcnMsIFBST0pFTl9NT0RVTEVfUk9PVF0pIHtcbiAgICBkaXNjb3ZlckpzaWkoZGlyKTtcblxuICAgIC8vIFJlYWQgZnJvbSBzY29wZWQgcGFja2FnZXNcbiAgICBpZiAoZGlyLmluY2x1ZGVzKFwiQFwiKSAmJiBmcy5sc3RhdFN5bmMoZGlyKS5pc0RpcmVjdG9yeSgpKSB7XG4gICAgICBjb25zdCBjaGlsZERpcnMgPSBmcy5yZWFkZGlyU3luYyhkaXIpLm1hcCgoZmlsZSkgPT4gcGF0aC5qb2luKGRpciwgZmlsZSkpO1xuICAgICAgZm9yIChjb25zdCBjaGlsZCBvZiBjaGlsZERpcnMpIHtcbiAgICAgICAgZGlzY292ZXJKc2lpKGNoaWxkKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4ganNpaTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVQcm9qZWN0VHlwZShwcm9qZWN0RnFuOiBzdHJpbmcpOiBQcm9qZWN0VHlwZSB7XG4gIGxldCBbbW9kdWxlTmFtZV0gPSBwcm9qZWN0RnFuLnNwbGl0KFwiLlwiKTtcbiAgaWYgKG1vZHVsZU5hbWUgPT09IFwicHJvamVuXCIpIHtcbiAgICBtb2R1bGVOYW1lID0gUFJPSkVOX01PRFVMRV9ST09UO1xuICB9XG5cbiAgLy8gdHJ5IHBpY2tpbmcgdGhlIG1hbmlmZXN0LiBXZSBvbmx5IG5lZWQgdGhlIGJhc2UgZm9sZGVyIGJ1dCB0aGlzIGlzIGRpcmVjdGx5IGEgbmljZSBjaGVjayBpZiB3ZSByZXF1ZXN0IGZyb20gYSB2YWxpZCBqc2lpIHBhY2thZ2VcbiAgY29uc3QganNpaU1hbmlmZXN0RmlsZSA9IHJlcXVpcmUucmVzb2x2ZShgJHttb2R1bGVOYW1lfS8uanNpaWAsIHtcbiAgICBwYXRoczogW3Byb2Nlc3MuY3dkKCldLFxuICB9KTtcbiAgY29uc3QgbW9kdWxlRm9sZGVyID0gcGF0aC5kaXJuYW1lKGpzaWlNYW5pZmVzdEZpbGUpO1xuXG4gIC8vIFJlYWQgYWxsIGpzaWkgdHlwZXMgdGhhdCBjYW4gYmUgbG9hZGVkIGZyb20gdGhpcyBwcm9qZWN0IHR5cGVcbiAgY29uc3QganNpaSA9IGRpc2NvdmVySnNpaVR5cGVzKG1vZHVsZUZvbGRlcik7XG4gIHJldHVybiB0b1Byb2plY3RUeXBlKGpzaWksIHByb2plY3RGcW4pO1xufVxuXG5mdW5jdGlvbiB0b1Byb2plY3RUeXBlKGpzaWk6IEpzaWlUeXBlcywgZnFuOiBzdHJpbmcpOiBQcm9qZWN0VHlwZSB7XG4gIGlmICghaXNQcm9qZWN0VHlwZShqc2lpLCBmcW4pKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYEZ1bGx5IHF1YWxpZmllZCBuYW1lIFwiJHtmcW59XCIgaXMgbm90IGEgdmFsaWQgcHJvamVjdCB0eXBlLmBcbiAgICApO1xuICB9XG5cbiAgY29uc3QgdHlwZWluZm8gPSBqc2lpW2Zxbl07XG5cbiAgLy8gcHJvamVuLndlYi5SZWFjdFByb2plY3QgLT4gd2ViLlJlYWN0UHJvamVjdFxuICBjb25zdCB0eXBlbmFtZSA9IGZxbi5zdWJzdHJpbmcoZnFuLmluZGV4T2YoXCIuXCIpICsgMSk7XG5cbiAgY29uc3QgZG9jc3VybCA9IGBodHRwczovL3Byb2plbi5pby9hcGkvQVBJLmh0bWwjcHJvamVuLSR7dHlwZW5hbWVcbiAgICAudG9Mb2NhbGVMb3dlckNhc2UoKVxuICAgIC5yZXBsYWNlKC9cXC4vZywgXCItXCIpfWA7XG4gIGxldCBwamlkID1cbiAgICB0eXBlaW5mby5kb2NzPy5jdXN0b20/LnBqaWQgPz8gc25ha2UodHlwZW5hbWUpLnJlcGxhY2UoL19wcm9qZWN0JC8sIFwiXCIpO1xuICByZXR1cm4ge1xuICAgIG1vZHVsZU5hbWU6IHR5cGVpbmZvLmFzc2VtYmx5LFxuICAgIHR5cGVuYW1lLFxuICAgIHBqaWQsXG4gICAgZnFuLFxuICAgIG9wdGlvbnM6IGRpc2NvdmVyT3B0aW9ucyhqc2lpLCBmcW4pLnNvcnQoKG8xLCBvMikgPT5cbiAgICAgIG8xLm5hbWUubG9jYWxlQ29tcGFyZShvMi5uYW1lKVxuICAgICksXG4gICAgZG9jczogdHlwZWluZm8uZG9jcz8uc3VtbWFyeSxcbiAgICBkb2NzdXJsLFxuICB9IGFzIFByb2plY3RUeXBlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVhZEpzaWlNYW5pZmVzdChqc2lpRnFuOiBzdHJpbmcpOiBhbnkge1xuICBsZXQgW21vZHVsZU5hbWVdID0ganNpaUZxbi5zcGxpdChcIi5cIik7XG4gIGlmIChtb2R1bGVOYW1lID09PSBcInByb2plblwiKSB7XG4gICAgbW9kdWxlTmFtZSA9IFBST0pFTl9NT0RVTEVfUk9PVDtcbiAgfVxuXG4gIGNvbnN0IGpzaWlNYW5pZmVzdEZpbGUgPSByZXF1aXJlLnJlc29sdmUoYCR7bW9kdWxlTmFtZX0vLmpzaWlgKTtcbiAgcmV0dXJuIGZzLnJlYWRKc29uU3luYyhqc2lpTWFuaWZlc3RGaWxlKTtcbn1cblxuZnVuY3Rpb24gZGlzY292ZXJPcHRpb25zKGpzaWk6IEpzaWlUeXBlcywgZnFuOiBzdHJpbmcpOiBQcm9qZWN0T3B0aW9uW10ge1xuICBjb25zdCBvcHRpb25zOiB7IFtuYW1lOiBzdHJpbmddOiBQcm9qZWN0T3B0aW9uIH0gPSB7fTtcbiAgY29uc3QgcGFyYW1zID0ganNpaVtmcW5dPy5pbml0aWFsaXplcj8ucGFyYW1ldGVycyA/PyBbXTtcbiAgY29uc3Qgb3B0aW9uc1BhcmFtID0gcGFyYW1zWzBdO1xuICBjb25zdCBvcHRpb25zVHlwZUZxbiA9IG9wdGlvbnNQYXJhbT8udHlwZT8uZnFuO1xuXG4gIGlmIChcbiAgICBwYXJhbXMubGVuZ3RoID4gMSB8fFxuICAgIChwYXJhbXMubGVuZ3RoID09PSAxICYmIG9wdGlvbnNQYXJhbT8ubmFtZSAhPT0gXCJvcHRpb25zXCIpXG4gICkge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGBjb25zdHJ1Y3RvciBmb3IgcHJvamVjdCAke2Zxbn0gbXVzdCBoYXZlIGEgc2luZ2xlIFwib3B0aW9uc1wiIGFyZ3VtZW50IG9mIGEgc3RydWN0IHR5cGUuIGdvdCAke0pTT04uc3RyaW5naWZ5KFxuICAgICAgICBwYXJhbXNcbiAgICAgICl9YFxuICAgICk7XG4gIH1cblxuICBhZGRPcHRpb25zKG9wdGlvbnNUeXBlRnFuKTtcblxuICBjb25zdCBvcHRzID0gT2JqZWN0LnZhbHVlcyhvcHRpb25zKTtcblxuICByZXR1cm4gb3B0cy5zb3J0KChhLCBiKSA9PiBhLnN3aXRjaC5sb2NhbGVDb21wYXJlKGIuc3dpdGNoKSk7XG5cbiAgZnVuY3Rpb24gYWRkT3B0aW9ucyhcbiAgICBvZnFuPzogc3RyaW5nLFxuICAgIGJhc2VQYXRoOiBzdHJpbmdbXSA9IFtdLFxuICAgIG9wdGlvbmFsID0gZmFsc2VcbiAgKSB7XG4gICAgaWYgKCFvZnFuKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgc3RydWN0ID0ganNpaVtvZnFuXTtcbiAgICBpZiAoIXN0cnVjdCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGB1bmFibGUgdG8gZmluZCBvcHRpb25zIHR5cGUgJHtvZnFufSBmb3IgcHJvamVjdCAke2Zxbn1gKTtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IHByb3Agb2Ygc3RydWN0LnByb3BlcnRpZXMgPz8gW10pIHtcbiAgICAgIGNvbnN0IHByb3BQYXRoID0gWy4uLmJhc2VQYXRoLCBwcm9wLm5hbWVdO1xuXG4gICAgICAvLyBwcm90ZWN0IGFnYWluc3QgZG91YmxlLWJvb2tpbmdcbiAgICAgIGlmIChwcm9wLm5hbWUgaW4gb3B0aW9ucykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYGR1cGxpY2F0ZSBvcHRpb24gXCIke3Byb3AubmFtZX1cIiBpbiAke2Zxbn0gKGFscmVhZHkgZGVjbGFyZWQgaW4gJHtcbiAgICAgICAgICAgIG9wdGlvbnNbcHJvcC5uYW1lXS5wYXJlbnRcbiAgICAgICAgICB9KWBcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgbGV0IGpzaWlLaW5kO1xuICAgICAgaWYgKHByb3AudHlwZT8uZnFuKSB7XG4gICAgICAgIGpzaWlLaW5kID0ganNpaVtwcm9wLnR5cGU/LmZxbl0ua2luZDsgLy8gZS5nLiAnY2xhc3MnLCAnaW50ZXJmYWNlJywgJ2VudW0nXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGlzT3B0aW9uYWwgPSBvcHRpb25hbCB8fCBwcm9wLm9wdGlvbmFsO1xuICAgICAgbGV0IGRlZmF1bHRWYWx1ZSA9IHByb3AuZG9jcz8uZGVmYXVsdDtcblxuICAgICAgaWYgKGRlZmF1bHRWYWx1ZSA9PT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICBkZWZhdWx0VmFsdWUgPSB1bmRlZmluZWQ7XG4gICAgICB9XG5cbiAgICAgIC8vIGlmIHRoaXMgaXMgYSBtYW5kYXRvcnkgb3B0aW9uIGFuZCB3ZSBoYXZlIGEgZGVmYXVsdCB2YWx1ZSwgaXQgaGFzIHRvIGJlIEpTT04tcGFyc2FibGUgdG8gdGhlIGNvcnJlY3QgdHlwZVxuICAgICAgaWYgKCFpc09wdGlvbmFsICYmIGRlZmF1bHRWYWx1ZSkge1xuICAgICAgICBpZiAoIXByb3AudHlwZT8ucHJpbWl0aXZlKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgYHJlcXVpcmVkIG9wdGlvbiBcIiR7XG4gICAgICAgICAgICAgIHByb3AubmFtZVxuICAgICAgICAgICAgfVwiIHdpdGggYSBAZGVmYXVsdCBtdXN0IHVzZSBwcmltaXRpdmUgdHlwZXMgKHN0cmluZywgbnVtYmVyIG9yIGJvb2xlYW4pLiB0eXBlIGZvdW5kIGlzOiAke0pTT04uc3RyaW5naWZ5KFxuICAgICAgICAgICAgICBwcm9wLnR5cGVcbiAgICAgICAgICAgICl9YFxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICBjaGVja0RlZmF1bHRJc1BhcnNhYmxlKHByb3AubmFtZSwgZGVmYXVsdFZhbHVlLCBwcm9wLnR5cGU/LnByaW1pdGl2ZSk7XG4gICAgICB9XG5cbiAgICAgIG9wdGlvbnNbcHJvcC5uYW1lXSA9IGZpbHRlclVuZGVmaW5lZCh7XG4gICAgICAgIHBhdGg6IHByb3BQYXRoLFxuICAgICAgICBwYXJlbnQ6IHN0cnVjdC5uYW1lLFxuICAgICAgICBuYW1lOiBwcm9wLm5hbWUsXG4gICAgICAgIGZxbjogcHJvcC50eXBlPy5mcW4sXG4gICAgICAgIGRvY3M6IHByb3AuZG9jcy5zdW1tYXJ5LFxuICAgICAgICBzaW1wbGVUeXBlOiBwcm9wLnR5cGUgPyBnZXRTaW1wbGVUeXBlTmFtZShwcm9wLnR5cGUpIDogXCJ1bmtub3duXCIsXG4gICAgICAgIGZ1bGxUeXBlOiBwcm9wLnR5cGUsXG4gICAgICAgIGtpbmQ6IGpzaWlLaW5kLFxuICAgICAgICBqc29uTGlrZTogcHJvcC50eXBlID8gaXNKc29uTGlrZShqc2lpLCBwcm9wLnR5cGUpIDogdW5kZWZpbmVkLFxuICAgICAgICBzd2l0Y2g6IHByb3BQYXRoLm1hcCgocCkgPT4gc25ha2UocCkucmVwbGFjZSgvXy9nLCBcIi1cIikpLmpvaW4oXCItXCIpLFxuICAgICAgICBkZWZhdWx0OiBkZWZhdWx0VmFsdWUsXG4gICAgICAgIG9wdGlvbmFsOiBpc09wdGlvbmFsLFxuICAgICAgICBmZWF0dXJlZDogcHJvcC5kb2NzPy5jdXN0b20/LmZlYXR1cmVkID09PSBcInRydWVcIixcbiAgICAgICAgZGVwcmVjYXRlZDogcHJvcC5kb2NzLnN0YWJpbGl0eSA9PT0gXCJkZXByZWNhdGVkXCIgPyB0cnVlIDogdW5kZWZpbmVkLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBpZmMgb2Ygc3RydWN0LmludGVyZmFjZXMgPz8gW10pIHtcbiAgICAgIGFkZE9wdGlvbnMoaWZjKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0U2ltcGxlVHlwZU5hbWUodHlwZTogSnNpaVByb3BlcnR5VHlwZSk6IHN0cmluZyB7XG4gIGlmICh0eXBlPy5wcmltaXRpdmUpIHtcbiAgICByZXR1cm4gdHlwZS5wcmltaXRpdmU7IC8vIGUuZy4gJ3N0cmluZycsICdib29sZWFuJywgJ251bWJlcidcbiAgfSBlbHNlIGlmICh0eXBlPy5mcW4pIHtcbiAgICByZXR1cm4gdHlwZS5mcW4uc3BsaXQoXCIuXCIpLnBvcCgpITsgLy8gcHJvamVuLk5vZGVQcm9qZWN0T3B0aW9ucyAtPiBOb2RlUHJvamVjdE9wdGlvbnNcbiAgfSBlbHNlIHtcbiAgICAvLyBhbnkgb3RoZXIgdHlwZXMgc3VjaCBhcyBjb2xsZWN0aW9uIHR5cGVzXG4gICAgcmV0dXJuIFwidW5rbm93blwiO1xuICB9XG59XG5cbi8qKlxuICogV2hldGhlciBhIHZhbHVlIG9mIHRoaXMgdHlwZSBpcyBzZXJpYWxpemFibGUgaW50byBKU09OLlxuICovXG5mdW5jdGlvbiBpc0pzb25MaWtlKGpzaWk6IEpzaWlUeXBlcywgdHlwZTogSnNpaVByb3BlcnR5VHlwZSk6IGJvb2xlYW4ge1xuICBpZiAodHlwZS5wcmltaXRpdmUpIHtcbiAgICAvLyBzdHJpbmcsIGJvb2xlYW4sIG51bWJlciwgYW55XG4gICAgcmV0dXJuIHRydWU7XG4gIH0gZWxzZSBpZiAodHlwZS5mcW4pIHtcbiAgICBjb25zdCBraW5kID0ganNpaVt0eXBlLmZxbl0ua2luZDtcbiAgICBpZiAoW1wiaW50ZXJmYWNlXCIsIFwiZW51bVwiXS5pbmNsdWRlcyhraW5kKSkge1xuICAgICAgLy8gbm90ICdjbGFzcydcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSBlbHNlIGlmICh0eXBlLmNvbGxlY3Rpb24pIHtcbiAgICByZXR1cm4gaXNKc29uTGlrZShqc2lpLCB0eXBlLmNvbGxlY3Rpb24uZWxlbWVudHR5cGUpO1xuICB9XG4gIHJldHVybiBmYWxzZTtcbn1cblxuZnVuY3Rpb24gZmlsdGVyVW5kZWZpbmVkKG9iajogYW55KSB7XG4gIGNvbnN0IHJldDogYW55ID0ge307XG4gIGZvciAoY29uc3QgW2ssIHZdIG9mIE9iamVjdC5lbnRyaWVzKG9iaikpIHtcbiAgICBpZiAodiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXRba10gPSB2O1xuICAgIH1cbiAgfVxuICByZXR1cm4gcmV0O1xufVxuXG5mdW5jdGlvbiBpc1Byb2plY3RUeXBlKGpzaWk6IEpzaWlUeXBlcywgZnFuOiBzdHJpbmcpIHtcbiAgY29uc3QgdHlwZSA9IGpzaWlbZnFuXTtcblxuICBpZiAoIXR5cGUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgQ291bGQgbm90IGZpbmQgcHJvamVjdCB0eXBlIHdpdGggZnFuIFwiJHtmcW59XCIgaW4gIC5qc2lpIGZpbGUuYFxuICAgICk7XG4gIH1cblxuICBpZiAodHlwZS5raW5kICE9PSBcImNsYXNzXCIpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgaWYgKHR5cGUuYWJzdHJhY3QpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAodHlwZS5kb2NzPy5kZXByZWNhdGVkKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgbGV0IGN1cnIgPSB0eXBlO1xuICB3aGlsZSAodHJ1ZSkge1xuICAgIGlmIChjdXJyLmZxbiA9PT0gUFJPSkVDVF9CQVNFX0ZRTikge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgaWYgKCFjdXJyLmJhc2UpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjdXJyID0ganNpaVtjdXJyLmJhc2VdO1xuICAgIGlmICghY3Vycikge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBjaGVja0RlZmF1bHRJc1BhcnNhYmxlKHByb3A6IHN0cmluZywgdmFsdWU6IHN0cmluZywgdHlwZTogc3RyaW5nKSB7XG4gIC8vIG1hY3JvcyBhcmUgcGFzcy10aHJvdWdoXG4gIGlmICh2YWx1ZS5zdGFydHNXaXRoKFwiJFwiKSkge1xuICAgIHJldHVybjtcbiAgfVxuICB0cnkge1xuICAgIGNvbnN0IHBhcnNlZCA9IEpTT04ucGFyc2UodmFsdWUpO1xuICAgIGlmICh0eXBlb2YgcGFyc2VkICE9PSB0eXBlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBjYW5ub3QgcGFyc2UgQGRlZmF1bHQgdmFsdWUgZm9yIG1hbmRhdG9yeSBvcHRpb24gJHtwcm9wfSBhcyBhICR7dHlwZX06ICR7cGFyc2VkfWBcbiAgICAgICk7XG4gICAgfVxuICB9IGNhdGNoIChlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYHVuYWJsZSB0byBKU09OLnBhcnNlKCkgdmFsdWUgXCIke3ZhbHVlfVwiIHNwZWNpZmllZCBhcyBAZGVmYXVsdCBmb3IgbWFuZGF0b3J5IG9wdGlvbiBcIiR7cHJvcH1cIjogJHtcbiAgICAgICAgKGUgYXMgYW55KS5tZXNzYWdlXG4gICAgICB9YFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
package/lib/java/index.d.ts
CHANGED
package/lib/java/java-project.js
CHANGED
|
@@ -18,27 +18,26 @@ const projenrc_1 = require("./projenrc");
|
|
|
18
18
|
*/
|
|
19
19
|
class JavaProject extends github_1.GitHubProject {
|
|
20
20
|
constructor(options) {
|
|
21
|
-
var _b, _c, _d, _e, _f, _g, _h;
|
|
22
21
|
super(options);
|
|
23
|
-
this.distdir =
|
|
22
|
+
this.distdir = options.distdir ?? "dist/java";
|
|
24
23
|
this.pom = new pom_1.Pom(this, options);
|
|
25
24
|
const rcFileTypeOptions = [options.projenrcJava, options.projenrcJson];
|
|
26
25
|
if (util_1.multipleSelected(rcFileTypeOptions)) {
|
|
27
26
|
throw new Error("Only one of projenrcJava and projenrcJson can be selected.");
|
|
28
27
|
}
|
|
29
28
|
// default to projenrc.java if no other projenrc type was elected
|
|
30
|
-
if (
|
|
29
|
+
if (options.projenrcJava ?? !util_1.anySelected(rcFileTypeOptions)) {
|
|
31
30
|
this.projenrc = new projenrc_1.Projenrc(this, this.pom, options.projenrcJavaOptions);
|
|
32
31
|
}
|
|
33
|
-
const sampleJavaPackage =
|
|
34
|
-
if (
|
|
32
|
+
const sampleJavaPackage = options.sampleJavaPackage ?? "org.acme";
|
|
33
|
+
if (options.junit ?? true) {
|
|
35
34
|
this.junit = new junit_1.Junit(this, {
|
|
36
35
|
pom: this.pom,
|
|
37
36
|
sampleJavaPackage,
|
|
38
37
|
...options.junitOptions,
|
|
39
38
|
});
|
|
40
39
|
}
|
|
41
|
-
if (
|
|
40
|
+
if (options.sample ?? true) {
|
|
42
41
|
new maven_sample_1.MavenSample(this, { package: sampleJavaPackage });
|
|
43
42
|
}
|
|
44
43
|
// platform independent build
|
|
@@ -54,10 +53,10 @@ class JavaProject extends github_1.GitHubProject {
|
|
|
54
53
|
rules: [{ requireMavenVersion: [{ version: "3.6" }] }],
|
|
55
54
|
},
|
|
56
55
|
});
|
|
57
|
-
for (const dep of
|
|
56
|
+
for (const dep of options.deps ?? []) {
|
|
58
57
|
this.addDependency(dep);
|
|
59
58
|
}
|
|
60
|
-
for (const dep of
|
|
59
|
+
for (const dep of options.testDeps ?? []) {
|
|
61
60
|
this.addTestDependency(dep);
|
|
62
61
|
}
|
|
63
62
|
}
|
|
@@ -91,5 +90,5 @@ class JavaProject extends github_1.GitHubProject {
|
|
|
91
90
|
}
|
|
92
91
|
exports.JavaProject = JavaProject;
|
|
93
92
|
_a = JSII_RTTI_SYMBOL_1;
|
|
94
|
-
JavaProject[_a] = { fqn: "projen.java.JavaProject", version: "0.58.
|
|
95
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YS1wcm9qZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2phdmEvamF2YS1wcm9qZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsc0NBQWdFO0FBQ2hFLGtDQUF3RDtBQUN4RCxtQ0FBOEM7QUFDOUMsbURBQW9FO0FBQ3BFLHVEQUEwRTtBQUMxRSxpREFBNkM7QUFDN0MsK0JBQXVEO0FBQ3ZELHlDQUF1RTtBQXFHdkU7Ozs7R0FJRztBQUNILE1BQWEsV0FBWSxTQUFRLHNCQUFhO0lBK0I1QyxZQUFZLE9BQTJCOztRQUNyQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFZixJQUFJLENBQUMsT0FBTyxTQUFHLE9BQU8sQ0FBQyxPQUFPLG1DQUFJLFdBQVcsQ0FBQztRQUM5QyxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksU0FBRyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztRQUVsQyxNQUFNLGlCQUFpQixHQUFHLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFdkUsSUFBSSx1QkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFO1lBQ3ZDLE1BQU0sSUFBSSxLQUFLLENBQ2IsNERBQTRELENBQzdELENBQUM7U0FDSDtRQUVELGlFQUFpRTtRQUNqRSxVQUFJLE9BQU8sQ0FBQyxZQUFZLG1DQUFJLENBQUMsa0JBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFO1lBQzNELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxtQkFBWSxDQUM5QixJQUFJLEVBQ0osSUFBSSxDQUFDLEdBQUcsRUFDUixPQUFPLENBQUMsbUJBQW1CLENBQzVCLENBQUM7U0FDSDtRQUVELE1BQU0saUJBQWlCLFNBQUcsT0FBTyxDQUFDLGlCQUFpQixtQ0FBSSxVQUFVLENBQUM7UUFFbEUsVUFBSSxPQUFPLENBQUMsS0FBSyxtQ0FBSSxJQUFJLEVBQUU7WUFDekIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLGFBQUssQ0FBQyxJQUFJLEVBQUU7Z0JBQzNCLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRztnQkFDYixpQkFBaUI7Z0JBQ2pCLEdBQUcsT0FBTyxDQUFDLFlBQVk7YUFDeEIsQ0FBQyxDQUFDO1NBQ0o7UUFFRCxVQUFJLE9BQU8sQ0FBQyxNQUFNLG1DQUFJLElBQUksRUFBRTtZQUMxQixJQUFJLDBCQUFXLENBQUMsSUFBSSxFQUFFLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLENBQUMsQ0FBQztTQUN2RDtRQUVELDZCQUE2QjtRQUM3QixJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyw4QkFBOEIsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUU5RCxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUVwQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksNEJBQVksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLGdDQUFjLENBQ2pDLElBQUksRUFDSixJQUFJLENBQUMsR0FBRyxFQUNSLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FDekIsQ0FBQztRQUVGLElBQUksQ0FBQyxTQUFTLENBQUMseURBQXlELEVBQUU7WUFDeEUsVUFBVSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDekQsYUFBYSxFQUFFO2dCQUNiLEtBQUssRUFBRSxDQUFDLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUM7YUFDdkQ7U0FDRixDQUFDLENBQUM7UUFFSCxLQUFLLE1BQU0sR0FBRyxVQUFJLE9BQU8sQ0FBQyxJQUFJLG1DQUFJLEVBQUUsRUFBRTtZQUNwQyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ3pCO1FBRUQsS0FBSyxNQUFNLEdBQUcsVUFBSSxPQUFPLENBQUMsUUFBUSxtQ0FBSSxFQUFFLEVBQUU7WUFDeEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQzdCO0lBQ0gsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxhQUFhLENBQUMsSUFBWTtRQUMvQixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksaUJBQWlCLENBQUMsSUFBWTtRQUNuQyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSSxTQUFTLENBQUMsSUFBWSxFQUFFLFVBQXlCLEVBQUU7UUFDeEQsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDM0MsQ0FBQzs7QUE5SEgsa0NBK0hDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR2l0SHViUHJvamVjdCwgR2l0SHViUHJvamVjdE9wdGlvbnMgfSBmcm9tIFwiLi4vZ2l0aHViXCI7XG5pbXBvcnQgeyBhbnlTZWxlY3RlZCwgbXVsdGlwbGVTZWxlY3RlZCB9IGZyb20gXCIuLi91dGlsXCI7XG5pbXBvcnQgeyBKdW5pdCwgSnVuaXRPcHRpb25zIH0gZnJvbSBcIi4vanVuaXRcIjtcbmltcG9ydCB7IE1hdmVuQ29tcGlsZSwgTWF2ZW5Db21waWxlT3B0aW9ucyB9IGZyb20gXCIuL21hdmVuLWNvbXBpbGVcIjtcbmltcG9ydCB7IE1hdmVuUGFja2FnaW5nLCBNYXZlblBhY2thZ2luZ09wdGlvbnMgfSBmcm9tIFwiLi9tYXZlbi1wYWNrYWdpbmdcIjtcbmltcG9ydCB7IE1hdmVuU2FtcGxlIH0gZnJvbSBcIi4vbWF2ZW4tc2FtcGxlXCI7XG5pbXBvcnQgeyBQbHVnaW5PcHRpb25zLCBQb20sIFBvbU9wdGlvbnMgfSBmcm9tIFwiLi9wb21cIjtcbmltcG9ydCB7IFByb2plbnJjIGFzIFByb2plbnJjSmF2YSwgUHJvamVucmNPcHRpb25zIH0gZnJvbSBcIi4vcHJvamVucmNcIjtcblxuLyoqXG4gKiBPcHRpb25zIGZvciBgSmF2YVByb2plY3RgLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEphdmFQcm9qZWN0Q29tbW9uT3B0aW9uc1xuICBleHRlbmRzIEdpdEh1YlByb2plY3RPcHRpb25zLFxuICAgIFBvbU9wdGlvbnMge1xuICAvKipcbiAgICogRmluYWwgYXJ0aWZhY3Qgb3V0cHV0IGRpcmVjdG9yeS5cbiAgICpcbiAgICogQGRlZmF1bHQgXCJkaXN0L2phdmFcIlxuICAgKi9cbiAgcmVhZG9ubHkgZGlzdGRpcj86IHN0cmluZztcblxuICAvLyAtLSBkZXBlbmRlbmNpZXMgLS1cblxuICAvKipcbiAgICogTGlzdCBvZiBydW50aW1lIGRlcGVuZGVuY2llcyBmb3IgdGhpcyBwcm9qZWN0LlxuICAgKlxuICAgKiBEZXBlbmRlbmNpZXMgdXNlIHRoZSBmb3JtYXQ6IGA8Z3JvdXBJZD4vPGFydGlmYWN0SWQ+QDxzZW12ZXI+YFxuICAgKlxuICAgKiBBZGRpdGlvbmFsIGRlcGVuZGVuY2llcyBjYW4gYmUgYWRkZWQgdmlhIGBwcm9qZWN0LmFkZERlcGVuZGVuY3koKWAuXG4gICAqXG4gICAqIEBkZWZhdWx0IFtdXG4gICAqIEBmZWF0dXJlZFxuICAgKi9cbiAgcmVhZG9ubHkgZGVwcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBMaXN0IG9mIHRlc3QgZGVwZW5kZW5jaWVzIGZvciB0aGlzIHByb2plY3QuXG4gICAqXG4gICAqIERlcGVuZGVuY2llcyB1c2UgdGhlIGZvcm1hdDogYDxncm91cElkPi88YXJ0aWZhY3RJZD5APHNlbXZlcj5gXG4gICAqXG4gICAqIEFkZGl0aW9uYWwgZGVwZW5kZW5jaWVzIGNhbiBiZSBhZGRlZCB2aWEgYHByb2plY3QuYWRkVGVzdERlcGVuZGVuY3koKWAuXG4gICAqXG4gICAqIEBkZWZhdWx0IFtdXG4gICAqIEBmZWF0dXJlZFxuICAgKi9cbiAgcmVhZG9ubHkgdGVzdERlcHM/OiBzdHJpbmdbXTtcblxuICAvLyAtLSBjb21wb25lbnRzIC0tXG5cbiAgLyoqXG4gICAqIEluY2x1ZGUganVuaXQgdGVzdHMuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGp1bml0PzogYm9vbGVhbjtcblxuICAvKipcbiAgICoganVuaXQgb3B0aW9uc1xuICAgKiBAZGVmYXVsdCAtIGRlZmF1bHRzXG4gICAqL1xuICByZWFkb25seSBqdW5pdE9wdGlvbnM/OiBKdW5pdE9wdGlvbnM7XG5cbiAgLyoqXG4gICAqIFBhY2thZ2luZyBvcHRpb25zLlxuICAgKiBAZGVmYXVsdCAtIGRlZmF1bHRzXG4gICAqL1xuICByZWFkb25seSBwYWNrYWdpbmdPcHRpb25zPzogTWF2ZW5QYWNrYWdpbmdPcHRpb25zO1xuXG4gIC8qKlxuICAgKiBDb21waWxlIG9wdGlvbnMuXG4gICAqIEBkZWZhdWx0IC0gZGVmYXVsdHNcbiAgICovXG4gIHJlYWRvbmx5IGNvbXBpbGVPcHRpb25zPzogTWF2ZW5Db21waWxlT3B0aW9ucztcblxuICAvKipcbiAgICogVXNlIHByb2plbnJjIGluIGphdmEuXG4gICAqXG4gICAqIFRoaXMgd2lsbCBpbnN0YWxsIGBwcm9qZW5gIGFzIGEgamF2YSBkZXBlbmRlbmN5IGFuZCB3aWxsIGFkZCBhIGBzeW50aGAgdGFzayB3aGljaFxuICAgKiB3aWxsIGNvbXBpbGUgJiBleGVjdXRlIGBtYWluKClgIGZyb20gYHNyYy9tYWluL2phdmEvcHJvamVucmMuamF2YWAuXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHByb2plbnJjSmF2YT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIE9wdGlvbnMgcmVsYXRlZCB0byBwcm9qZW5yYyBpbiBqYXZhLlxuICAgKiBAZGVmYXVsdCAtIGRlZmF1bHQgb3B0aW9uc1xuICAgKi9cbiAgcmVhZG9ubHkgcHJvamVucmNKYXZhT3B0aW9ucz86IFByb2plbnJjT3B0aW9ucztcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBgSmF2YVByb2plY3RgLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEphdmFQcm9qZWN0T3B0aW9ucyBleHRlbmRzIEphdmFQcm9qZWN0Q29tbW9uT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBJbmNsdWRlIHNhbXBsZSBjb2RlIGFuZCB0ZXN0IGlmIHRoZSByZWxldmFudCBkaXJlY3RvcmllcyBkb24ndCBleGlzdC5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgc2FtcGxlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIGphdmEgcGFja2FnZSB0byB1c2UgZm9yIHRoZSBjb2RlIHNhbXBsZS5cbiAgICogQGRlZmF1bHQgXCJvcmcuYWNtZVwiXG4gICAqL1xuICByZWFkb25seSBzYW1wbGVKYXZhUGFja2FnZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBKYXZhIHByb2plY3QuXG4gKlxuICogQHBqaWQgamF2YVxuICovXG5leHBvcnQgY2xhc3MgSmF2YVByb2plY3QgZXh0ZW5kcyBHaXRIdWJQcm9qZWN0IHtcbiAgLyoqXG4gICAqIEFQSSBmb3IgbWFuYWdpbmcgYHBvbS54bWxgLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHBvbTogUG9tO1xuXG4gIC8qKlxuICAgKiBKVW5pdCBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkganVuaXQ/OiBKdW5pdDtcblxuICAvKipcbiAgICogUGFja2FnaW5nIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBwYWNrYWdpbmc6IE1hdmVuUGFja2FnaW5nO1xuXG4gIC8qKlxuICAgKiBDb21waWxlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBjb21waWxlOiBNYXZlbkNvbXBpbGU7XG5cbiAgLyoqXG4gICAqIFByb2plbnJjIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBwcm9qZW5yYz86IFByb2plbnJjSmF2YTtcblxuICAvKipcbiAgICogTWF2ZW4gYXJ0aWZhY3Qgb3V0cHV0IGRpcmVjdG9yeS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBkaXN0ZGlyOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczogSmF2YVByb2plY3RPcHRpb25zKSB7XG4gICAgc3VwZXIob3B0aW9ucyk7XG5cbiAgICB0aGlzLmRpc3RkaXIgPSBvcHRpb25zLmRpc3RkaXIgPz8gXCJkaXN0L2phdmFcIjtcbiAgICB0aGlzLnBvbSA9IG5ldyBQb20odGhpcywgb3B0aW9ucyk7XG5cbiAgICBjb25zdCByY0ZpbGVUeXBlT3B0aW9ucyA9IFtvcHRpb25zLnByb2plbnJjSmF2YSwgb3B0aW9ucy5wcm9qZW5yY0pzb25dO1xuXG4gICAgaWYgKG11bHRpcGxlU2VsZWN0ZWQocmNGaWxlVHlwZU9wdGlvbnMpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIFwiT25seSBvbmUgb2YgcHJvamVucmNKYXZhIGFuZCBwcm9qZW5yY0pzb24gY2FuIGJlIHNlbGVjdGVkLlwiXG4gICAgICApO1xuICAgIH1cblxuICAgIC8vIGRlZmF1bHQgdG8gcHJvamVucmMuamF2YSBpZiBubyBvdGhlciBwcm9qZW5yYyB0eXBlIHdhcyBlbGVjdGVkXG4gICAgaWYgKG9wdGlvbnMucHJvamVucmNKYXZhID8/ICFhbnlTZWxlY3RlZChyY0ZpbGVUeXBlT3B0aW9ucykpIHtcbiAgICAgIHRoaXMucHJvamVucmMgPSBuZXcgUHJvamVucmNKYXZhKFxuICAgICAgICB0aGlzLFxuICAgICAgICB0aGlzLnBvbSxcbiAgICAgICAgb3B0aW9ucy5wcm9qZW5yY0phdmFPcHRpb25zXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IHNhbXBsZUphdmFQYWNrYWdlID0gb3B0aW9ucy5zYW1wbGVKYXZhUGFja2FnZSA/PyBcIm9yZy5hY21lXCI7XG5cbiAgICBpZiAob3B0aW9ucy5qdW5pdCA/PyB0cnVlKSB7XG4gICAgICB0aGlzLmp1bml0ID0gbmV3IEp1bml0KHRoaXMsIHtcbiAgICAgICAgcG9tOiB0aGlzLnBvbSxcbiAgICAgICAgc2FtcGxlSmF2YVBhY2thZ2UsXG4gICAgICAgIC4uLm9wdGlvbnMuanVuaXRPcHRpb25zLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMuc2FtcGxlID8/IHRydWUpIHtcbiAgICAgIG5ldyBNYXZlblNhbXBsZSh0aGlzLCB7IHBhY2thZ2U6IHNhbXBsZUphdmFQYWNrYWdlIH0pO1xuICAgIH1cblxuICAgIC8vIHBsYXRmb3JtIGluZGVwZW5kZW50IGJ1aWxkXG4gICAgdGhpcy5wb20uYWRkUHJvcGVydHkoXCJwcm9qZWN0LmJ1aWxkLnNvdXJjZUVuY29kaW5nXCIsIFwiVVRGLThcIik7XG5cbiAgICB0aGlzLmdpdGlnbm9yZS5leGNsdWRlKFwiLmNsYXNzcGF0aFwiKTtcbiAgICB0aGlzLmdpdGlnbm9yZS5leGNsdWRlKFwiLnByb2plY3RcIik7XG4gICAgdGhpcy5naXRpZ25vcmUuZXhjbHVkZShcIi5zZXR0aW5nc1wiKTtcblxuICAgIHRoaXMuY29tcGlsZSA9IG5ldyBNYXZlbkNvbXBpbGUodGhpcywgdGhpcy5wb20sIG9wdGlvbnMuY29tcGlsZU9wdGlvbnMpO1xuICAgIHRoaXMucGFja2FnaW5nID0gbmV3IE1hdmVuUGFja2FnaW5nKFxuICAgICAgdGhpcyxcbiAgICAgIHRoaXMucG9tLFxuICAgICAgb3B0aW9ucy5wYWNrYWdpbmdPcHRpb25zXG4gICAgKTtcblxuICAgIHRoaXMuYWRkUGx1Z2luKFwib3JnLmFwYWNoZS5tYXZlbi5wbHVnaW5zL21hdmVuLWVuZm9yY2VyLXBsdWdpbkAzLjAuMC1NM1wiLCB7XG4gICAgICBleGVjdXRpb25zOiBbeyBpZDogXCJlbmZvcmNlLW1hdmVuXCIsIGdvYWxzOiBbXCJlbmZvcmNlXCJdIH1dLFxuICAgICAgY29uZmlndXJhdGlvbjoge1xuICAgICAgICBydWxlczogW3sgcmVxdWlyZU1hdmVuVmVyc2lvbjogW3sgdmVyc2lvbjogXCIzLjZcIiB9XSB9XSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBmb3IgKGNvbnN0IGRlcCBvZiBvcHRpb25zLmRlcHMgPz8gW10pIHtcbiAgICAgIHRoaXMuYWRkRGVwZW5kZW5jeShkZXApO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgZGVwIG9mIG9wdGlvbnMudGVzdERlcHMgPz8gW10pIHtcbiAgICAgIHRoaXMuYWRkVGVzdERlcGVuZGVuY3koZGVwKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIHJ1bnRpbWUgZGVwZW5kZW5jeS5cbiAgICpcbiAgICogQHBhcmFtIHNwZWMgRm9ybWF0IGA8Z3JvdXBJZD4vPGFydGlmYWN0SWQ+QDxzZW12ZXI+YFxuICAgKi9cbiAgcHVibGljIGFkZERlcGVuZGVuY3koc3BlYzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMucG9tLmFkZERlcGVuZGVuY3koc3BlYyk7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIHRlc3QgZGVwZW5kZW5jeS5cbiAgICpcbiAgICogQHBhcmFtIHNwZWMgRm9ybWF0IGA8Z3JvdXBJZD4vPGFydGlmYWN0SWQ+QDxzZW12ZXI+YFxuICAgKi9cbiAgcHVibGljIGFkZFRlc3REZXBlbmRlbmN5KHNwZWM6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLnBvbS5hZGRUZXN0RGVwZW5kZW5jeShzcGVjKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgYnVpbGQgcGx1Z2luIHRvIHRoZSBwb20uXG4gICAqXG4gICAqIFRoZSBwbHVnIGluIGlzIGFsc28gYWRkZWQgYXMgYSBCVUlMRCBkZXAgdG8gdGhlIHByb2plY3QuXG4gICAqXG4gICAqIEBwYXJhbSBzcGVjIGRlcGVuZGVuY3kgc3BlYyAoYGdyb3VwL2FydGlmYWN0QHZlcnNpb25gKVxuICAgKiBAcGFyYW0gb3B0aW9ucyBwbHVnaW4gb3B0aW9uc1xuICAgKi9cbiAgcHVibGljIGFkZFBsdWdpbihzcGVjOiBzdHJpbmcsIG9wdGlvbnM6IFBsdWdpbk9wdGlvbnMgPSB7fSkge1xuICAgIHJldHVybiB0aGlzLnBvbS5hZGRQbHVnaW4oc3BlYywgb3B0aW9ucyk7XG4gIH1cbn1cbiJdfQ==
|
|
93
|
+
JavaProject[_a] = { fqn: "projen.java.JavaProject", version: "0.58.2" };
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YS1wcm9qZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2phdmEvamF2YS1wcm9qZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsc0NBQWdFO0FBQ2hFLGtDQUF3RDtBQUN4RCxtQ0FBOEM7QUFDOUMsbURBQW9FO0FBQ3BFLHVEQUEwRTtBQUMxRSxpREFBNkM7QUFDN0MsK0JBQXVEO0FBQ3ZELHlDQUF1RTtBQXFHdkU7Ozs7R0FJRztBQUNILE1BQWEsV0FBWSxTQUFRLHNCQUFhO0lBK0I1QyxZQUFZLE9BQTJCO1FBQ3JDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVmLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sSUFBSSxXQUFXLENBQUM7UUFDOUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLFNBQUcsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFbEMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRXZFLElBQUksdUJBQWdCLENBQUMsaUJBQWlCLENBQUMsRUFBRTtZQUN2QyxNQUFNLElBQUksS0FBSyxDQUNiLDREQUE0RCxDQUM3RCxDQUFDO1NBQ0g7UUFFRCxpRUFBaUU7UUFDakUsSUFBSSxPQUFPLENBQUMsWUFBWSxJQUFJLENBQUMsa0JBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFO1lBQzNELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxtQkFBWSxDQUM5QixJQUFJLEVBQ0osSUFBSSxDQUFDLEdBQUcsRUFDUixPQUFPLENBQUMsbUJBQW1CLENBQzVCLENBQUM7U0FDSDtRQUVELE1BQU0saUJBQWlCLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixJQUFJLFVBQVUsQ0FBQztRQUVsRSxJQUFJLE9BQU8sQ0FBQyxLQUFLLElBQUksSUFBSSxFQUFFO1lBQ3pCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxhQUFLLENBQUMsSUFBSSxFQUFFO2dCQUMzQixHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7Z0JBQ2IsaUJBQWlCO2dCQUNqQixHQUFHLE9BQU8sQ0FBQyxZQUFZO2FBQ3hCLENBQUMsQ0FBQztTQUNKO1FBRUQsSUFBSSxPQUFPLENBQUMsTUFBTSxJQUFJLElBQUksRUFBRTtZQUMxQixJQUFJLDBCQUFXLENBQUMsSUFBSSxFQUFFLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLENBQUMsQ0FBQztTQUN2RDtRQUVELDZCQUE2QjtRQUM3QixJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyw4QkFBOEIsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUU5RCxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUVwQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksNEJBQVksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLGdDQUFjLENBQ2pDLElBQUksRUFDSixJQUFJLENBQUMsR0FBRyxFQUNSLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FDekIsQ0FBQztRQUVGLElBQUksQ0FBQyxTQUFTLENBQUMseURBQXlELEVBQUU7WUFDeEUsVUFBVSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDekQsYUFBYSxFQUFFO2dCQUNiLEtBQUssRUFBRSxDQUFDLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUM7YUFDdkQ7U0FDRixDQUFDLENBQUM7UUFFSCxLQUFLLE1BQU0sR0FBRyxJQUFJLE9BQU8sQ0FBQyxJQUFJLElBQUksRUFBRSxFQUFFO1lBQ3BDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDekI7UUFFRCxLQUFLLE1BQU0sR0FBRyxJQUFJLE9BQU8sQ0FBQyxRQUFRLElBQUksRUFBRSxFQUFFO1lBQ3hDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUM3QjtJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksYUFBYSxDQUFDLElBQVk7UUFDL0IsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLGlCQUFpQixDQUFDLElBQVk7UUFDbkMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0ksU0FBUyxDQUFDLElBQVksRUFBRSxVQUF5QixFQUFFO1FBQ3hELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzNDLENBQUM7O0FBOUhILGtDQStIQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdpdEh1YlByb2plY3QsIEdpdEh1YlByb2plY3RPcHRpb25zIH0gZnJvbSBcIi4uL2dpdGh1YlwiO1xuaW1wb3J0IHsgYW55U2VsZWN0ZWQsIG11bHRpcGxlU2VsZWN0ZWQgfSBmcm9tIFwiLi4vdXRpbFwiO1xuaW1wb3J0IHsgSnVuaXQsIEp1bml0T3B0aW9ucyB9IGZyb20gXCIuL2p1bml0XCI7XG5pbXBvcnQgeyBNYXZlbkNvbXBpbGUsIE1hdmVuQ29tcGlsZU9wdGlvbnMgfSBmcm9tIFwiLi9tYXZlbi1jb21waWxlXCI7XG5pbXBvcnQgeyBNYXZlblBhY2thZ2luZywgTWF2ZW5QYWNrYWdpbmdPcHRpb25zIH0gZnJvbSBcIi4vbWF2ZW4tcGFja2FnaW5nXCI7XG5pbXBvcnQgeyBNYXZlblNhbXBsZSB9IGZyb20gXCIuL21hdmVuLXNhbXBsZVwiO1xuaW1wb3J0IHsgUGx1Z2luT3B0aW9ucywgUG9tLCBQb21PcHRpb25zIH0gZnJvbSBcIi4vcG9tXCI7XG5pbXBvcnQgeyBQcm9qZW5yYyBhcyBQcm9qZW5yY0phdmEsIFByb2plbnJjT3B0aW9ucyB9IGZyb20gXCIuL3Byb2plbnJjXCI7XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgYEphdmFQcm9qZWN0YC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBKYXZhUHJvamVjdENvbW1vbk9wdGlvbnNcbiAgZXh0ZW5kcyBHaXRIdWJQcm9qZWN0T3B0aW9ucyxcbiAgICBQb21PcHRpb25zIHtcbiAgLyoqXG4gICAqIEZpbmFsIGFydGlmYWN0IG91dHB1dCBkaXJlY3RvcnkuXG4gICAqXG4gICAqIEBkZWZhdWx0IFwiZGlzdC9qYXZhXCJcbiAgICovXG4gIHJlYWRvbmx5IGRpc3RkaXI/OiBzdHJpbmc7XG5cbiAgLy8gLS0gZGVwZW5kZW5jaWVzIC0tXG5cbiAgLyoqXG4gICAqIExpc3Qgb2YgcnVudGltZSBkZXBlbmRlbmNpZXMgZm9yIHRoaXMgcHJvamVjdC5cbiAgICpcbiAgICogRGVwZW5kZW5jaWVzIHVzZSB0aGUgZm9ybWF0OiBgPGdyb3VwSWQ+LzxhcnRpZmFjdElkPkA8c2VtdmVyPmBcbiAgICpcbiAgICogQWRkaXRpb25hbCBkZXBlbmRlbmNpZXMgY2FuIGJlIGFkZGVkIHZpYSBgcHJvamVjdC5hZGREZXBlbmRlbmN5KClgLlxuICAgKlxuICAgKiBAZGVmYXVsdCBbXVxuICAgKiBAZmVhdHVyZWRcbiAgICovXG4gIHJlYWRvbmx5IGRlcHM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogTGlzdCBvZiB0ZXN0IGRlcGVuZGVuY2llcyBmb3IgdGhpcyBwcm9qZWN0LlxuICAgKlxuICAgKiBEZXBlbmRlbmNpZXMgdXNlIHRoZSBmb3JtYXQ6IGA8Z3JvdXBJZD4vPGFydGlmYWN0SWQ+QDxzZW12ZXI+YFxuICAgKlxuICAgKiBBZGRpdGlvbmFsIGRlcGVuZGVuY2llcyBjYW4gYmUgYWRkZWQgdmlhIGBwcm9qZWN0LmFkZFRlc3REZXBlbmRlbmN5KClgLlxuICAgKlxuICAgKiBAZGVmYXVsdCBbXVxuICAgKiBAZmVhdHVyZWRcbiAgICovXG4gIHJlYWRvbmx5IHRlc3REZXBzPzogc3RyaW5nW107XG5cbiAgLy8gLS0gY29tcG9uZW50cyAtLVxuXG4gIC8qKlxuICAgKiBJbmNsdWRlIGp1bml0IHRlc3RzLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBqdW5pdD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIGp1bml0IG9wdGlvbnNcbiAgICogQGRlZmF1bHQgLSBkZWZhdWx0c1xuICAgKi9cbiAgcmVhZG9ubHkganVuaXRPcHRpb25zPzogSnVuaXRPcHRpb25zO1xuXG4gIC8qKlxuICAgKiBQYWNrYWdpbmcgb3B0aW9ucy5cbiAgICogQGRlZmF1bHQgLSBkZWZhdWx0c1xuICAgKi9cbiAgcmVhZG9ubHkgcGFja2FnaW5nT3B0aW9ucz86IE1hdmVuUGFja2FnaW5nT3B0aW9ucztcblxuICAvKipcbiAgICogQ29tcGlsZSBvcHRpb25zLlxuICAgKiBAZGVmYXVsdCAtIGRlZmF1bHRzXG4gICAqL1xuICByZWFkb25seSBjb21waWxlT3B0aW9ucz86IE1hdmVuQ29tcGlsZU9wdGlvbnM7XG5cbiAgLyoqXG4gICAqIFVzZSBwcm9qZW5yYyBpbiBqYXZhLlxuICAgKlxuICAgKiBUaGlzIHdpbGwgaW5zdGFsbCBgcHJvamVuYCBhcyBhIGphdmEgZGVwZW5kZW5jeSBhbmQgd2lsbCBhZGQgYSBgc3ludGhgIHRhc2sgd2hpY2hcbiAgICogd2lsbCBjb21waWxlICYgZXhlY3V0ZSBgbWFpbigpYCBmcm9tIGBzcmMvbWFpbi9qYXZhL3Byb2plbnJjLmphdmFgLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBwcm9qZW5yY0phdmE/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBPcHRpb25zIHJlbGF0ZWQgdG8gcHJvamVucmMgaW4gamF2YS5cbiAgICogQGRlZmF1bHQgLSBkZWZhdWx0IG9wdGlvbnNcbiAgICovXG4gIHJlYWRvbmx5IHByb2plbnJjSmF2YU9wdGlvbnM/OiBQcm9qZW5yY09wdGlvbnM7XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgYEphdmFQcm9qZWN0YC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBKYXZhUHJvamVjdE9wdGlvbnMgZXh0ZW5kcyBKYXZhUHJvamVjdENvbW1vbk9wdGlvbnMge1xuICAvKipcbiAgICogSW5jbHVkZSBzYW1wbGUgY29kZSBhbmQgdGVzdCBpZiB0aGUgcmVsZXZhbnQgZGlyZWN0b3JpZXMgZG9uJ3QgZXhpc3QuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHNhbXBsZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBqYXZhIHBhY2thZ2UgdG8gdXNlIGZvciB0aGUgY29kZSBzYW1wbGUuXG4gICAqIEBkZWZhdWx0IFwib3JnLmFjbWVcIlxuICAgKi9cbiAgcmVhZG9ubHkgc2FtcGxlSmF2YVBhY2thZ2U/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogSmF2YSBwcm9qZWN0LlxuICpcbiAqIEBwamlkIGphdmFcbiAqL1xuZXhwb3J0IGNsYXNzIEphdmFQcm9qZWN0IGV4dGVuZHMgR2l0SHViUHJvamVjdCB7XG4gIC8qKlxuICAgKiBBUEkgZm9yIG1hbmFnaW5nIGBwb20ueG1sYC5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBwb206IFBvbTtcblxuICAvKipcbiAgICogSlVuaXQgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGp1bml0PzogSnVuaXQ7XG5cbiAgLyoqXG4gICAqIFBhY2thZ2luZyBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgcGFja2FnaW5nOiBNYXZlblBhY2thZ2luZztcblxuICAvKipcbiAgICogQ29tcGlsZSBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgY29tcGlsZTogTWF2ZW5Db21waWxlO1xuXG4gIC8qKlxuICAgKiBQcm9qZW5yYyBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgcHJvamVucmM/OiBQcm9qZW5yY0phdmE7XG5cbiAgLyoqXG4gICAqIE1hdmVuIGFydGlmYWN0IG91dHB1dCBkaXJlY3RvcnkuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZGlzdGRpcjogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IEphdmFQcm9qZWN0T3B0aW9ucykge1xuICAgIHN1cGVyKG9wdGlvbnMpO1xuXG4gICAgdGhpcy5kaXN0ZGlyID0gb3B0aW9ucy5kaXN0ZGlyID8/IFwiZGlzdC9qYXZhXCI7XG4gICAgdGhpcy5wb20gPSBuZXcgUG9tKHRoaXMsIG9wdGlvbnMpO1xuXG4gICAgY29uc3QgcmNGaWxlVHlwZU9wdGlvbnMgPSBbb3B0aW9ucy5wcm9qZW5yY0phdmEsIG9wdGlvbnMucHJvamVucmNKc29uXTtcblxuICAgIGlmIChtdWx0aXBsZVNlbGVjdGVkKHJjRmlsZVR5cGVPcHRpb25zKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcIk9ubHkgb25lIG9mIHByb2plbnJjSmF2YSBhbmQgcHJvamVucmNKc29uIGNhbiBiZSBzZWxlY3RlZC5cIlxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBkZWZhdWx0IHRvIHByb2plbnJjLmphdmEgaWYgbm8gb3RoZXIgcHJvamVucmMgdHlwZSB3YXMgZWxlY3RlZFxuICAgIGlmIChvcHRpb25zLnByb2plbnJjSmF2YSA/PyAhYW55U2VsZWN0ZWQocmNGaWxlVHlwZU9wdGlvbnMpKSB7XG4gICAgICB0aGlzLnByb2plbnJjID0gbmV3IFByb2plbnJjSmF2YShcbiAgICAgICAgdGhpcyxcbiAgICAgICAgdGhpcy5wb20sXG4gICAgICAgIG9wdGlvbnMucHJvamVucmNKYXZhT3B0aW9uc1xuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBzYW1wbGVKYXZhUGFja2FnZSA9IG9wdGlvbnMuc2FtcGxlSmF2YVBhY2thZ2UgPz8gXCJvcmcuYWNtZVwiO1xuXG4gICAgaWYgKG9wdGlvbnMuanVuaXQgPz8gdHJ1ZSkge1xuICAgICAgdGhpcy5qdW5pdCA9IG5ldyBKdW5pdCh0aGlzLCB7XG4gICAgICAgIHBvbTogdGhpcy5wb20sXG4gICAgICAgIHNhbXBsZUphdmFQYWNrYWdlLFxuICAgICAgICAuLi5vcHRpb25zLmp1bml0T3B0aW9ucyxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zLnNhbXBsZSA/PyB0cnVlKSB7XG4gICAgICBuZXcgTWF2ZW5TYW1wbGUodGhpcywgeyBwYWNrYWdlOiBzYW1wbGVKYXZhUGFja2FnZSB9KTtcbiAgICB9XG5cbiAgICAvLyBwbGF0Zm9ybSBpbmRlcGVuZGVudCBidWlsZFxuICAgIHRoaXMucG9tLmFkZFByb3BlcnR5KFwicHJvamVjdC5idWlsZC5zb3VyY2VFbmNvZGluZ1wiLCBcIlVURi04XCIpO1xuXG4gICAgdGhpcy5naXRpZ25vcmUuZXhjbHVkZShcIi5jbGFzc3BhdGhcIik7XG4gICAgdGhpcy5naXRpZ25vcmUuZXhjbHVkZShcIi5wcm9qZWN0XCIpO1xuICAgIHRoaXMuZ2l0aWdub3JlLmV4Y2x1ZGUoXCIuc2V0dGluZ3NcIik7XG5cbiAgICB0aGlzLmNvbXBpbGUgPSBuZXcgTWF2ZW5Db21waWxlKHRoaXMsIHRoaXMucG9tLCBvcHRpb25zLmNvbXBpbGVPcHRpb25zKTtcbiAgICB0aGlzLnBhY2thZ2luZyA9IG5ldyBNYXZlblBhY2thZ2luZyhcbiAgICAgIHRoaXMsXG4gICAgICB0aGlzLnBvbSxcbiAgICAgIG9wdGlvbnMucGFja2FnaW5nT3B0aW9uc1xuICAgICk7XG5cbiAgICB0aGlzLmFkZFBsdWdpbihcIm9yZy5hcGFjaGUubWF2ZW4ucGx1Z2lucy9tYXZlbi1lbmZvcmNlci1wbHVnaW5AMy4wLjAtTTNcIiwge1xuICAgICAgZXhlY3V0aW9uczogW3sgaWQ6IFwiZW5mb3JjZS1tYXZlblwiLCBnb2FsczogW1wiZW5mb3JjZVwiXSB9XSxcbiAgICAgIGNvbmZpZ3VyYXRpb246IHtcbiAgICAgICAgcnVsZXM6IFt7IHJlcXVpcmVNYXZlblZlcnNpb246IFt7IHZlcnNpb246IFwiMy42XCIgfV0gfV0sXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgZm9yIChjb25zdCBkZXAgb2Ygb3B0aW9ucy5kZXBzID8/IFtdKSB7XG4gICAgICB0aGlzLmFkZERlcGVuZGVuY3koZGVwKTtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IGRlcCBvZiBvcHRpb25zLnRlc3REZXBzID8/IFtdKSB7XG4gICAgICB0aGlzLmFkZFRlc3REZXBlbmRlbmN5KGRlcCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBydW50aW1lIGRlcGVuZGVuY3kuXG4gICAqXG4gICAqIEBwYXJhbSBzcGVjIEZvcm1hdCBgPGdyb3VwSWQ+LzxhcnRpZmFjdElkPkA8c2VtdmVyPmBcbiAgICovXG4gIHB1YmxpYyBhZGREZXBlbmRlbmN5KHNwZWM6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLnBvbS5hZGREZXBlbmRlbmN5KHNwZWMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSB0ZXN0IGRlcGVuZGVuY3kuXG4gICAqXG4gICAqIEBwYXJhbSBzcGVjIEZvcm1hdCBgPGdyb3VwSWQ+LzxhcnRpZmFjdElkPkA8c2VtdmVyPmBcbiAgICovXG4gIHB1YmxpYyBhZGRUZXN0RGVwZW5kZW5jeShzcGVjOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5wb20uYWRkVGVzdERlcGVuZGVuY3koc3BlYyk7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIGJ1aWxkIHBsdWdpbiB0byB0aGUgcG9tLlxuICAgKlxuICAgKiBUaGUgcGx1ZyBpbiBpcyBhbHNvIGFkZGVkIGFzIGEgQlVJTEQgZGVwIHRvIHRoZSBwcm9qZWN0LlxuICAgKlxuICAgKiBAcGFyYW0gc3BlYyBkZXBlbmRlbmN5IHNwZWMgKGBncm91cC9hcnRpZmFjdEB2ZXJzaW9uYClcbiAgICogQHBhcmFtIG9wdGlvbnMgcGx1Z2luIG9wdGlvbnNcbiAgICovXG4gIHB1YmxpYyBhZGRQbHVnaW4oc3BlYzogc3RyaW5nLCBvcHRpb25zOiBQbHVnaW5PcHRpb25zID0ge30pIHtcbiAgICByZXR1cm4gdGhpcy5wb20uYWRkUGx1Z2luKHNwZWMsIG9wdGlvbnMpO1xuICB9XG59XG4iXX0=
|
package/lib/java/junit.d.ts
CHANGED
package/lib/java/junit.js
CHANGED
|
@@ -12,14 +12,13 @@ const TESTDIR = path_1.join("src", "test", "java");
|
|
|
12
12
|
*/
|
|
13
13
|
class Junit extends component_1.Component {
|
|
14
14
|
constructor(project, options) {
|
|
15
|
-
var _b, _c;
|
|
16
15
|
super(project);
|
|
17
16
|
const pom = options.pom;
|
|
18
|
-
const version =
|
|
17
|
+
const version = options.version ?? "5.7.0";
|
|
19
18
|
pom.addTestDependency(`org.junit.jupiter/junit-jupiter-api@${version}`);
|
|
20
19
|
pom.addTestDependency(`org.junit.jupiter/junit-jupiter-engine@${version}`);
|
|
21
20
|
project.testTask.exec("mvn test");
|
|
22
|
-
const javaPackage =
|
|
21
|
+
const javaPackage = options.sampleJavaPackage ?? "org.acme";
|
|
23
22
|
const javaPackagePath = javaPackage.split(".");
|
|
24
23
|
new sample_file_1.SampleDir(project, path_1.join(TESTDIR, ...javaPackagePath), {
|
|
25
24
|
files: {
|
|
@@ -41,5 +40,5 @@ class Junit extends component_1.Component {
|
|
|
41
40
|
}
|
|
42
41
|
exports.Junit = Junit;
|
|
43
42
|
_a = JSII_RTTI_SYMBOL_1;
|
|
44
|
-
Junit[_a] = { fqn: "projen.java.Junit", version: "0.58.
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
Junit[_a] = { fqn: "projen.java.Junit", version: "0.58.2" };
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianVuaXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvamF2YS9qdW5pdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLCtCQUE0QjtBQUM1Qiw0Q0FBeUM7QUFFekMsZ0RBQTJDO0FBRzNDLE1BQU0sT0FBTyxHQUFHLFdBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBeUI1Qzs7R0FFRztBQUNILE1BQWEsS0FBTSxTQUFRLHFCQUFTO0lBQ2xDLFlBQVksT0FBZ0IsRUFBRSxPQUFxQjtRQUNqRCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFZixNQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDO1FBQ3hCLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFDO1FBRTNDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyx1Q0FBdUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUN4RSxHQUFHLENBQUMsaUJBQWlCLENBQUMsMENBQTBDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFFM0UsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFbEMsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixJQUFJLFVBQVUsQ0FBQztRQUM1RCxNQUFNLGVBQWUsR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQy9DLElBQUksdUJBQVMsQ0FBQyxPQUFPLEVBQUUsV0FBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLGVBQWUsQ0FBQyxFQUFFO1lBQ3hELEtBQUssRUFBRTtnQkFDTCxhQUFhLEVBQUU7b0JBQ2IsV0FBVyxXQUFXLEdBQUc7b0JBQ3pCLEVBQUU7b0JBQ0Ysb0NBQW9DO29CQUNwQyxFQUFFO29CQUNGLHVCQUF1QjtvQkFDdkIsU0FBUztvQkFDVCw2QkFBNkI7b0JBQzdCLDBDQUEwQztvQkFDMUMsS0FBSztvQkFDTCxHQUFHO2lCQUNKLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQzthQUNiO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUE5Qkgsc0JBK0JDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgam9pbiB9IGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tIFwiLi4vY29tcG9uZW50XCI7XG5pbXBvcnQgeyBQcm9qZWN0IH0gZnJvbSBcIi4uL3Byb2plY3RcIjtcbmltcG9ydCB7IFNhbXBsZURpciB9IGZyb20gXCIuLi9zYW1wbGUtZmlsZVwiO1xuaW1wb3J0IHsgUG9tIH0gZnJvbSBcIi4vcG9tXCI7XG5cbmNvbnN0IFRFU1RESVIgPSBqb2luKFwic3JjXCIsIFwidGVzdFwiLCBcImphdmFcIik7XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgYEp1bml0YC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBKdW5pdE9wdGlvbnMge1xuICAvKipcbiAgICogSmF2YSBwb20uXG4gICAqL1xuICByZWFkb25seSBwb206IFBvbTtcblxuICAvKipcbiAgICogSnVuaXQgdmVyc2lvblxuICAgKlxuICAgKiBAZGVmYXVsdCBcIjUuNy4wXCJcbiAgICovXG4gIHJlYWRvbmx5IHZlcnNpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEphdmEgcGFja2FnZSBmb3IgdGVzdCBzYW1wbGUuXG4gICAqIEBkZWZhdWx0IFwib3JnLmFjbWVcIlxuICAgKi9cbiAgcmVhZG9ubHkgc2FtcGxlSmF2YVBhY2thZ2U/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogSW1wbGVtZW50cyBKVW5pdC1iYXNlZCB0ZXN0aW5nLlxuICovXG5leHBvcnQgY2xhc3MgSnVuaXQgZXh0ZW5kcyBDb21wb25lbnQge1xuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBQcm9qZWN0LCBvcHRpb25zOiBKdW5pdE9wdGlvbnMpIHtcbiAgICBzdXBlcihwcm9qZWN0KTtcblxuICAgIGNvbnN0IHBvbSA9IG9wdGlvbnMucG9tO1xuICAgIGNvbnN0IHZlcnNpb24gPSBvcHRpb25zLnZlcnNpb24gPz8gXCI1LjcuMFwiO1xuXG4gICAgcG9tLmFkZFRlc3REZXBlbmRlbmN5KGBvcmcuanVuaXQuanVwaXRlci9qdW5pdC1qdXBpdGVyLWFwaUAke3ZlcnNpb259YCk7XG4gICAgcG9tLmFkZFRlc3REZXBlbmRlbmN5KGBvcmcuanVuaXQuanVwaXRlci9qdW5pdC1qdXBpdGVyLWVuZ2luZUAke3ZlcnNpb259YCk7XG5cbiAgICBwcm9qZWN0LnRlc3RUYXNrLmV4ZWMoXCJtdm4gdGVzdFwiKTtcblxuICAgIGNvbnN0IGphdmFQYWNrYWdlID0gb3B0aW9ucy5zYW1wbGVKYXZhUGFja2FnZSA/PyBcIm9yZy5hY21lXCI7XG4gICAgY29uc3QgamF2YVBhY2thZ2VQYXRoID0gamF2YVBhY2thZ2Uuc3BsaXQoXCIuXCIpO1xuICAgIG5ldyBTYW1wbGVEaXIocHJvamVjdCwgam9pbihURVNURElSLCAuLi5qYXZhUGFja2FnZVBhdGgpLCB7XG4gICAgICBmaWxlczoge1xuICAgICAgICBcIk15VGVzdC5qYXZhXCI6IFtcbiAgICAgICAgICBgcGFja2FnZSAke2phdmFQYWNrYWdlfTtgLFxuICAgICAgICAgIFwiXCIsXG4gICAgICAgICAgXCJpbXBvcnQgb3JnLmp1bml0Lmp1cGl0ZXIuYXBpLlRlc3Q7XCIsXG4gICAgICAgICAgXCJcIixcbiAgICAgICAgICBcInB1YmxpYyBjbGFzcyBNeVRlc3Qge1wiLFxuICAgICAgICAgIFwiICBAVGVzdFwiLFxuICAgICAgICAgIFwiICBwdWJsaWMgdm9pZCB0ZXN0SGVsbG8oKSB7XCIsXG4gICAgICAgICAgJyAgICBTeXN0ZW0ub3V0LnByaW50bG4oXCJIZWxsbywgd29ybGQhXCIpOycsXG4gICAgICAgICAgXCIgIH1cIixcbiAgICAgICAgICBcIn1cIixcbiAgICAgICAgXS5qb2luKFwiXFxuXCIpLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxufVxuIl19
|