projen 0.103.22 → 0.103.24
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 +347 -5
- package/lib/ai-instructions.js +2 -2
- package/lib/awscdk/auto-discover.js +6 -6
- package/lib/awscdk/awscdk-app-java.js +1 -1
- package/lib/awscdk/awscdk-app-py.js +1 -1
- package/lib/awscdk/awscdk-app-ts.js +1 -1
- package/lib/awscdk/awscdk-construct.js +1 -1
- package/lib/awscdk/awscdk-deps-java.js +1 -1
- package/lib/awscdk/awscdk-deps-js.js +1 -1
- package/lib/awscdk/awscdk-deps-py.js +1 -1
- package/lib/awscdk/awscdk-deps.js +1 -1
- package/lib/awscdk/cdk-config.js +3 -3
- package/lib/awscdk/cdk-tasks.js +1 -1
- package/lib/awscdk/integration-test.js +1 -1
- package/lib/awscdk/internal.d.ts +1 -0
- package/lib/awscdk/lambda-extension.js +1 -1
- package/lib/awscdk/lambda-function.js +2 -2
- package/lib/awscdk/private/feature-flags-v2.const.d.ts +2 -1
- package/lib/awscdk/private/feature-flags-v2.const.js +4 -3
- package/lib/build/build-workflow.js +1 -1
- package/lib/cdk/auto-discover-base.js +2 -2
- package/lib/cdk/construct-lib.js +1 -1
- package/lib/cdk/integration-test-base.js +1 -1
- package/lib/cdk/jsii-build.js +4 -4
- package/lib/cdk/jsii-docgen.js +1 -1
- package/lib/cdk/jsii-project.js +1 -1
- package/lib/cdk8s/auto-discover.js +2 -2
- package/lib/cdk8s/cdk8s-app-py.js +1 -1
- package/lib/cdk8s/cdk8s-app-ts.js +1 -1
- package/lib/cdk8s/cdk8s-construct.js +1 -1
- package/lib/cdk8s/cdk8s-deps-py.js +1 -1
- package/lib/cdk8s/cdk8s-deps.js +1 -1
- package/lib/cdk8s/integration-test.js +1 -1
- package/lib/cdktf/cdktf-construct.js +1 -1
- package/lib/cdktn/cdktn-app-ts.js +1 -1
- package/lib/cdktn/cdktn-config.js +1 -1
- package/lib/cdktn/cdktn-construct.js +1 -1
- package/lib/cdktn/cdktn-deps.js +1 -1
- package/lib/cdktn/cdktn-tasks.js +1 -1
- package/lib/circleci/circleci.js +1 -1
- package/lib/component.js +2 -2
- package/lib/dependencies.js +1 -1
- package/lib/dev-env.js +1 -1
- package/lib/docker-compose/docker-compose-service.js +1 -1
- package/lib/docker-compose/docker-compose.js +1 -1
- package/lib/file.js +1 -1
- package/lib/gitattributes.js +1 -1
- package/lib/github/actions-provider.js +1 -1
- package/lib/github/actions.const.d.ts +5 -2
- package/lib/github/actions.const.js +11 -6
- package/lib/github/auto-approve.js +1 -1
- package/lib/github/auto-merge.js +1 -1
- package/lib/github/auto-queue.js +1 -1
- package/lib/github/dependabot.js +1 -1
- package/lib/github/dependency-review.js +3 -3
- package/lib/github/github-credentials.js +3 -3
- package/lib/github/github-project.js +1 -1
- package/lib/github/github.js +1 -1
- package/lib/github/index.d.ts +1 -0
- package/lib/github/index.js +2 -1
- package/lib/github/merge-queue.js +1 -1
- package/lib/github/mergify.js +1 -1
- package/lib/github/pr-template.js +1 -1
- package/lib/github/pull-request-backport.js +3 -3
- package/lib/github/pull-request-lint.js +4 -4
- package/lib/github/stale.js +3 -3
- package/lib/github/task-workflow-job.js +1 -1
- package/lib/github/task-workflow.js +1 -1
- package/lib/github/workflow-actions.js +4 -4
- package/lib/github/workflow-jobs.js +1 -1
- package/lib/github/workflow-steps.js +5 -5
- package/lib/github/workflows.js +7 -7
- package/lib/gitlab/configuration.js +1 -1
- package/lib/gitlab/gitlab-configuration.js +1 -1
- package/lib/gitlab/nested-configuration.js +1 -1
- package/lib/gitpod.js +1 -1
- package/lib/ignore-file.js +1 -1
- package/lib/ini.js +1 -1
- package/lib/java/java-project.js +1 -1
- package/lib/java/junit.js +1 -1
- package/lib/java/maven-compile.js +1 -1
- package/lib/java/maven-packaging.js +1 -1
- package/lib/java/maven-sample.js +1 -1
- package/lib/java/pom.js +2 -2
- package/lib/java/projenrc.js +1 -1
- package/lib/javascript/biome/biome.js +1 -1
- package/lib/javascript/bundler.js +1 -1
- package/lib/javascript/eslint.js +1 -1
- package/lib/javascript/jest.js +4 -4
- package/lib/javascript/license-checker.js +1 -1
- package/lib/javascript/node-config-file.js +1 -1
- package/lib/javascript/node-package.js +1 -1
- package/lib/javascript/node-project.js +8 -8
- package/lib/javascript/npm-config.js +1 -1
- package/lib/javascript/pnpm-workspace-config.js +2 -2
- package/lib/javascript/pnpm-workspace.js +1 -1
- package/lib/javascript/prettier.js +1 -1
- package/lib/javascript/projenrc.js +1 -1
- package/lib/javascript/typescript-config.js +2 -2
- package/lib/javascript/upgrade-dependencies.js +2 -2
- package/lib/javascript/yarnrc.js +1 -1
- package/lib/json-patch.js +1 -1
- package/lib/json.js +1 -1
- package/lib/license.js +1 -1
- package/lib/logger.js +1 -1
- package/lib/makefile.js +1 -1
- package/lib/object-file.js +1 -1
- package/lib/polaris/coverity-go.js +1 -1
- package/lib/polaris/coverity-java.js +1 -1
- package/lib/polaris/coverity-javascript.js +1 -1
- package/lib/polaris/coverity.js +1 -1
- package/lib/project-build.js +1 -1
- package/lib/project-tree.js +1 -1
- package/lib/project.js +1 -1
- package/lib/projects.js +1 -1
- package/lib/projenrc-json.js +1 -1
- package/lib/projenrc.js +1 -1
- package/lib/properties-file.js +1 -1
- package/lib/python/pip.js +1 -1
- package/lib/python/poetry.js +2 -2
- package/lib/python/projenrc.js +1 -1
- package/lib/python/pyproject-toml-file.js +1 -1
- package/lib/python/pytest-sample.js +1 -1
- package/lib/python/pytest.js +1 -1
- package/lib/python/python-project.js +1 -1
- package/lib/python/python-sample.js +1 -1
- package/lib/python/requirements-file.js +1 -1
- package/lib/python/setuppy.js +1 -1
- package/lib/python/setuptools.js +1 -1
- package/lib/python/uv-config.js +1 -1
- package/lib/python/uv.js +1 -1
- package/lib/python/venv.js +1 -1
- package/lib/readme.js +1 -1
- package/lib/release/bump-version.d.ts +1 -1
- package/lib/release/bump-version.js +1 -1
- package/lib/release/commit-tag-version.js +2 -2
- package/lib/release/publisher.js +4 -4
- package/lib/release/release-trigger.js +1 -1
- package/lib/release/release.js +1 -1
- package/lib/renovatebot.js +1 -1
- package/lib/run-task.cjs +3 -3
- package/lib/sample-file.js +2 -2
- package/lib/script-runner.js +1 -1
- package/lib/sonarqube/javascript.js +1 -1
- package/lib/sonarqube/rust.js +1 -1
- package/lib/sonarqube/sonarqube.js +1 -1
- package/lib/sonarqube/typescript.js +1 -1
- package/lib/source-code.js +1 -1
- package/lib/task-shell.js +1 -1
- package/lib/task.js +1 -1
- package/lib/tasks.js +1 -1
- package/lib/testing.js +1 -1
- package/lib/textfile.js +1 -1
- package/lib/toml.js +1 -1
- package/lib/typescript/projenrc-ts.js +1 -1
- package/lib/typescript/projenrc.js +1 -1
- package/lib/typescript/typescript-runner.js +1 -1
- package/lib/typescript/typescript-typedoc.js +1 -1
- package/lib/typescript/typescript.js +5 -5
- package/lib/util/exec.js +2 -2
- package/lib/version.d.ts +1 -1
- package/lib/version.js +4 -4
- package/lib/vscode/devcontainer.js +1 -1
- package/lib/vscode/extensions.js +1 -1
- package/lib/vscode/launch-config.js +1 -1
- package/lib/vscode/settings.js +1 -1
- package/lib/vscode/vscode.js +1 -1
- package/lib/web/next.js +3 -3
- package/lib/web/postcss.js +1 -1
- package/lib/web/react.js +3 -3
- package/lib/web/tailwind.js +1 -1
- package/lib/xmlfile.js +1 -1
- package/lib/yaml.js +1 -1
- package/node_modules/yaml/browser/dist/compose/resolve-flow-scalar.js +19 -18
- package/node_modules/yaml/browser/dist/nodes/Alias.js +25 -23
- package/node_modules/yaml/dist/compose/resolve-flow-scalar.js +19 -18
- package/node_modules/yaml/dist/nodes/Alias.js +25 -23
- package/node_modules/yaml/package.json +1 -1
- package/package.json +3 -3
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// ~~ Generated by projen. To modify, edit .projenrc.ts and run "node ./projen.js".
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
/**
|
|
5
|
-
* Feature flags as of v2.
|
|
5
|
+
* Feature flags as of v2.269.0
|
|
6
6
|
*/
|
|
7
7
|
exports.default = {
|
|
8
8
|
"@aws-cdk/aws-signer:signingProfileNamePassedToCfn": true,
|
|
@@ -93,6 +93,7 @@ exports.default = {
|
|
|
93
93
|
"@aws-cdk/aws-eks:defaultToAL2023": true,
|
|
94
94
|
"@aws-cdk/core:annotationsInValidationReport": true,
|
|
95
95
|
"@aws-cdk/core:defaultCrossStackReferences": "weak",
|
|
96
|
-
"@aws-cdk/core:validateAgainstDefaultRules": true
|
|
96
|
+
"@aws-cdk/core:validateAgainstDefaultRules": true,
|
|
97
|
+
"@aws-cdk/aws-ecs:removeEmptyLoadBalancers": true
|
|
97
98
|
};
|
|
98
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1mbGFncy12Mi5jb25zdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hd3NjZGsvcHJpdmF0ZS9mZWF0dXJlLWZsYWdzLXYyLmNvbnN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxtRkFBbUY7O0FBRW5GOztHQUVHO0FBQ0gsa0JBQWU7SUFDYixtREFBbUQsRUFBRSxJQUFJO0lBQ3pELGlFQUFpRSxFQUFFLElBQUk7SUFDdkUsMkNBQTJDLEVBQUUsSUFBSTtJQUNqRCxnQ0FBZ0MsRUFBRSxJQUFJO0lBQ3RDLGlDQUFpQyxFQUFFO1FBQ2pDLEtBQUs7UUFDTCxRQUFRO0tBQ1Q7SUFDRCxtRUFBbUUsRUFBRSxJQUFJO0lBQ3pFLDJDQUEyQyxFQUFFLElBQUk7SUFDakQsK0NBQStDLEVBQUUsSUFBSTtJQUNyRCxtQ0FBbUMsRUFBRSxJQUFJO0lBQ3pDLDZDQUE2QyxFQUFFLElBQUk7SUFDbkQscUVBQXFFLEVBQUUsSUFBSTtJQUMzRSw0Q0FBNEMsRUFBRSxJQUFJO0lBQ2xELHVEQUF1RCxFQUFFLElBQUk7SUFDN0QsK0NBQStDLEVBQUUsSUFBSTtJQUNyRCx1Q0FBdUMsRUFBRSxJQUFJO0lBQzdDLGtEQUFrRCxFQUFFLElBQUk7SUFDeEQsdUVBQXVFLEVBQUUsSUFBSTtJQUM3RSx5REFBeUQsRUFBRSxJQUFJO0lBQy9ELGlEQUFpRCxFQUFFLElBQUk7SUFDdkQsNkNBQTZDLEVBQUUsSUFBSTtJQUNuRCxxREFBcUQsRUFBRSxLQUFLO0lBQzVELGtEQUFrRCxFQUFFLElBQUk7SUFDeEQseURBQXlELEVBQUUsSUFBSTtJQUMvRCw2REFBNkQsRUFBRSxJQUFJO0lBQ25FLGdEQUFnRCxFQUFFLElBQUk7SUFDdEQsdUZBQXVGLEVBQUUsSUFBSTtJQUM3RixnQ0FBZ0MsRUFBRSxJQUFJO0lBQ3RDLDJEQUEyRCxFQUFFLElBQUk7SUFDakUsK0NBQStDLEVBQUUsSUFBSTtJQUNyRCxrREFBa0QsRUFBRSxJQUFJO0lBQ3hELCtCQUErQixFQUFFLElBQUk7SUFDckMsMkRBQTJELEVBQUUsSUFBSTtJQUNqRSxzRUFBc0UsRUFBRSxJQUFJO0lBQzVFLG1EQUFtRCxFQUFFLElBQUk7SUFDekQsc0NBQXNDLEVBQUUsSUFBSTtJQUM1QyxtRUFBbUUsRUFBRSxJQUFJO0lBQ3pFLG9EQUFvRCxFQUFFLElBQUk7SUFDMUQsdURBQXVELEVBQUUsSUFBSTtJQUM3RCxxRkFBcUYsRUFBRSxJQUFJO0lBQzNGLDhEQUE4RCxFQUFFLElBQUk7SUFDcEUsd0RBQXdELEVBQUUsSUFBSTtJQUM5RCwwRUFBMEUsRUFBRSxJQUFJO0lBQ2hGLGdGQUFnRixFQUFFLElBQUk7SUFDdEYsK0RBQStELEVBQUUsSUFBSTtJQUNyRSxtREFBbUQsRUFBRSxJQUFJO0lBQ3pELHNEQUFzRCxFQUFFLElBQUk7SUFDNUQseUNBQXlDLEVBQUUsSUFBSTtJQUMvQyx3Q0FBd0MsRUFBRSxJQUFJO0lBQzlDLHNDQUFzQyxFQUFFLElBQUk7SUFDNUMsK0NBQStDLEVBQUUsSUFBSTtJQUNyRCxpRUFBaUUsRUFBRSxLQUFLO0lBQ3hFLGtEQUFrRCxFQUFFLEtBQUs7SUFDekQsaUNBQWlDLEVBQUUsSUFBSTtJQUN2Qyx3REFBd0QsRUFBRSxJQUFJO0lBQzlELGdEQUFnRCxFQUFFLElBQUk7SUFDdEQsdUNBQXVDLEVBQUUsSUFBSTtJQUM3Qyw2REFBNkQsRUFBRSxJQUFJO0lBQ25FLGtGQUFrRixFQUFFLElBQUk7SUFDeEYsMkVBQTJFLEVBQUUsSUFBSTtJQUNqRix1REFBdUQsRUFBRSxJQUFJO0lBQzdELHNEQUFzRCxFQUFFLElBQUk7SUFDNUQseURBQXlELEVBQUUsSUFBSTtJQUMvRCw0RUFBNEUsRUFBRSxJQUFJO0lBQ2xGLDRGQUE0RixFQUFFLElBQUk7SUFDbEcsb0RBQW9ELEVBQUUsSUFBSTtJQUMxRCxrREFBa0QsRUFBRSxJQUFJO0lBQ3hELDBEQUEwRCxFQUFFLEtBQUs7SUFDakUsOENBQThDLEVBQUUsSUFBSTtJQUNwRCw4Q0FBOEMsRUFBRSxJQUFJO0lBQ3BELHdDQUF3QyxFQUFFLElBQUk7SUFDOUMsMENBQTBDLEVBQUUsSUFBSTtJQUNoRCw0REFBNEQsRUFBRSxJQUFJO0lBQ2xFLGtFQUFrRSxFQUFFLElBQUk7SUFDeEUsb0VBQW9FLEVBQUUsSUFBSTtJQUMxRSw4Q0FBOEMsRUFBRSxJQUFJO0lBQ3BELDJDQUEyQyxFQUFFLElBQUk7SUFDakQsbUZBQW1GLEVBQUUsSUFBSTtJQUN6RiwrQ0FBK0MsRUFBRSxJQUFJO0lBQ3JELCtDQUErQyxFQUFFLElBQUk7SUFDckQsb0RBQW9ELEVBQUUsSUFBSTtJQUMxRCw2REFBNkQsRUFBRSxJQUFJO0lBQ25FLG9DQUFvQyxFQUFFLElBQUk7SUFDMUMsa0NBQWtDLEVBQUUsSUFBSTtJQUN4Qyw2Q0FBNkMsRUFBRSxJQUFJO0lBQ25ELDJDQUEyQyxFQUFFLE1BQU07SUFDbkQsMkNBQTJDLEVBQUUsSUFBSTtDQUNsRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gfn4gR2VuZXJhdGVkIGJ5IHByb2plbi4gVG8gbW9kaWZ5LCBlZGl0IC5wcm9qZW5yYy50cyBhbmQgcnVuIFwibm9kZSAuL3Byb2plbi5qc1wiLlxuXG4vKipcbiAqIEZlYXR1cmUgZmxhZ3MgYXMgb2YgdjIuMjY4LjBcbiAqL1xuZXhwb3J0IGRlZmF1bHQge1xuICBcIkBhd3MtY2RrL2F3cy1zaWduZXI6c2lnbmluZ1Byb2ZpbGVOYW1lUGFzc2VkVG9DZm5cIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtZWNzLXBhdHRlcm5zOnNlY0dyb3Vwc0Rpc2FibGVzSW1wbGljaXRPcGVuTGlzdGVuZXJcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtbGFtYmRhOnJlY29nbml6ZUxheWVyVmVyc2lvblwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2NvcmU6Y2hlY2tTZWNyZXRVc2FnZVwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2NvcmU6dGFyZ2V0LXBhcnRpdGlvbnNcIjogW1xuICAgIFwiYXdzXCIsXG4gICAgXCJhd3MtY25cIlxuICBdLFxuICBcIkBhd3MtY2RrLWNvbnRhaW5lcnMvZWNzLXNlcnZpY2UtZXh0ZW5zaW9uczplbmFibGVEZWZhdWx0TG9nRHJpdmVyXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWVjMjp1bmlxdWVJbWRzdjJUZW1wbGF0ZU5hbWVcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtZWNzOmFybkZvcm1hdEluY2x1ZGVzQ2x1c3Rlck5hbWVcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtaWFtOm1pbmltaXplUG9saWNpZXNcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9jb3JlOnZhbGlkYXRlU25hcHNob3RSZW1vdmFsUG9saWN5XCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWNvZGVwaXBlbGluZTpjcm9zc0FjY291bnRLZXlBbGlhc1N0YWNrU2FmZVJlc291cmNlTmFtZVwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1zMzpjcmVhdGVEZWZhdWx0TG9nZ2luZ1BvbGljeVwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1zbnMtc3Vic2NyaXB0aW9uczpyZXN0cmljdFNxc0Rlc2NyeXB0aW9uXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWFwaWdhdGV3YXk6ZGlzYWJsZUNsb3VkV2F0Y2hSb2xlXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvY29yZTplbmFibGVQYXJ0aXRpb25MaXRlcmFsc1wiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1ldmVudHM6ZXZlbnRzVGFyZ2V0UXVldWVTYW1lQWNjb3VudFwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1lY3M6ZGlzYWJsZUV4cGxpY2l0RGVwbG95bWVudENvbnRyb2xsZXJGb3JDaXJjdWl0QnJlYWtlclwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1pYW06aW1wb3J0ZWRSb2xlU3RhY2tTYWZlRGVmYXVsdFBvbGljeU5hbWVcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtczM6c2VydmVyQWNjZXNzTG9nc1VzZUJ1Y2tldFBvbGljeVwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1yb3V0ZTUzLXBhdHRlcnM6dXNlQ2VydGlmaWNhdGVcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9jdXN0b21yZXNvdXJjZXM6aW5zdGFsbExhdGVzdEF3c1Nka0RlZmF1bHRcIjogZmFsc2UsXG4gIFwiQGF3cy1jZGsvYXdzLXJkczpkYXRhYmFzZVByb3h5VW5pcXVlUmVzb3VyY2VOYW1lXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWNvZGVkZXBsb3k6cmVtb3ZlQWxhcm1zRnJvbURlcGxveW1lbnRHcm91cFwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1hcGlnYXRld2F5OmF1dGhvcml6ZXJDaGFuZ2VEZXBsb3ltZW50TG9naWNhbElkXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWVjMjpsYXVuY2hUZW1wbGF0ZURlZmF1bHRVc2VyRGF0YVwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1zZWNyZXRzbWFuYWdlcjp1c2VBdHRhY2hlZFNlY3JldFJlc291cmNlUG9saWN5Rm9yU2VjcmV0VGFyZ2V0QXR0YWNobWVudHNcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtcmVkc2hpZnQ6Y29sdW1uSWRcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3Mtc3RlcGZ1bmN0aW9ucy10YXNrczplbmFibGVFbXJTZXJ2aWNlUG9saWN5VjJcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtZWMyOnJlc3RyaWN0RGVmYXVsdFNlY3VyaXR5R3JvdXBcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtYXBpZ2F0ZXdheTpyZXF1ZXN0VmFsaWRhdG9yVW5pcXVlSWRcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3Mta21zOmFsaWFzTmFtZVJlZlwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1rbXM6YXBwbHlJbXBvcnRlZEFsaWFzUGVybWlzc2lvbnNUb1ByaW5jaXBhbFwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1hdXRvc2NhbGluZzpnZW5lcmF0ZUxhdW5jaFRlbXBsYXRlSW5zdGVhZE9mTGF1bmNoQ29uZmlnXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvY29yZTppbmNsdWRlUHJlZml4SW5VbmlxdWVOYW1lR2VuZXJhdGlvblwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1lZnM6ZGVueUFub255bW91c0FjY2Vzc1wiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1vcGVuc2VhcmNoc2VydmljZTplbmFibGVPcGVuc2VhcmNoTXVsdGlBeldpdGhTdGFuZGJ5XCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWxhbWJkYS1ub2RlanM6dXNlTGF0ZXN0UnVudGltZVZlcnNpb25cIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtZWZzOm1vdW50VGFyZ2V0T3JkZXJJbnNlbnNpdGl2ZUxvZ2ljYWxJZFwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1yZHM6YXVyb3JhQ2x1c3RlckNoYW5nZVNjb3BlT2ZJbnN0YW5jZVBhcmFtZXRlckdyb3VwV2l0aEVhY2hQYXJhbWV0ZXJzXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWFwcHN5bmM6dXNlQXJuRm9yU291cmNlQXBpQXNzb2NpYXRpb25JZGVudGlmaWVyXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLXJkczpwcmV2ZW50UmVuZGVyaW5nRGVwcmVjYXRlZENyZWRlbnRpYWxzXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWNvZGVwaXBlbGluZS1hY3Rpb25zOnVzZU5ld0RlZmF1bHRCcmFuY2hGb3JDb2RlQ29tbWl0U291cmNlXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWNsb3Vkd2F0Y2gtYWN0aW9uczpjaGFuZ2VMYW1iZGFQZXJtaXNzaW9uTG9naWNhbElkRm9yTGFtYmRhQWN0aW9uXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWNvZGVwaXBlbGluZTpjcm9zc0FjY291bnRLZXlzRGVmYXVsdFZhbHVlVG9GYWxzZVwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1jb2RlcGlwZWxpbmU6ZGVmYXVsdFBpcGVsaW5lVHlwZVRvVjJcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3Mta21zOnJlZHVjZUNyb3NzQWNjb3VudFJlZ2lvblBvbGljeVNjb3BlXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWVrczpub2RlZ3JvdXBOYW1lQXR0cmlidXRlXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWVrczp1c2VOYXRpdmVPaWRjUHJvdmlkZXJcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtZWMyOmVic0RlZmF1bHRHcDNWb2x1bWVcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtZWNzOnJlbW92ZURlZmF1bHREZXBsb3ltZW50QWxhcm1cIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9jdXN0b20tcmVzb3VyY2VzOmxvZ0FwaVJlc3BvbnNlRGF0YVByb3BlcnR5VHJ1ZURlZmF1bHRcIjogZmFsc2UsXG4gIFwiQGF3cy1jZGsvYXdzLXMzOmtlZXBOb3RpZmljYXRpb25JbkltcG9ydGVkQnVja2V0XCI6IGZhbHNlLFxuICBcIkBhd3MtY2RrL2NvcmU6ZXhwbGljaXRTdGFja1RhZ3NcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtZWNzOnJlZHVjZUVjMkZhcmdhdGVDbG91ZFdhdGNoUGVybWlzc2lvbnNcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtZHluYW1vZGI6cmVzb3VyY2VQb2xpY3lQZXJSZXBsaWNhXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWVjMjplYzJTdW1USW1lb3V0RW5hYmxlZFwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1hcHBzeW5jOmFwcFN5bmNHcmFwaFFMQVBJU2NvcGVMYW1iZGFQZXJtaXNzaW9uXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLXJkczpzZXRDb3JyZWN0VmFsdWVGb3JEYXRhYmFzZUluc3RhbmNlUmVhZFJlcGxpY2FJbnN0YW5jZVJlc291cmNlSWRcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9jb3JlOmNmbkluY2x1ZGVSZWplY3RDb21wbGV4UmVzb3VyY2VVcGRhdGVDcmVhdGVQb2xpY3lJbnRyaW5zaWNzXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWxhbWJkYS1ub2RlanM6c2RrVjNFeGNsdWRlU21pdGh5UGFja2FnZXNcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3Mtc3RlcGZ1bmN0aW9ucy10YXNrczpmaXhSdW5FY3NUYXNrUG9saWN5XCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWVjMjpiYXN0aW9uSG9zdFVzZUFtYXpvbkxpbnV4MjAyM0J5RGVmYXVsdFwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1yb3V0ZTUzLXRhcmdldHM6dXNlclBvb2xEb21haW5OYW1lTWV0aG9kV2l0aG91dEN1c3RvbVJlc291cmNlXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWVsYXN0aWNsb2FkYmFsYW5jaW5nVjI6YWxiRHVhbHN0YWNrV2l0aG91dFB1YmxpY0lwdjRTZWN1cml0eUdyb3VwUnVsZXNEZWZhdWx0XCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWlhbTpvaWRjUmVqZWN0VW5hdXRob3JpemVkQ29ubmVjdGlvbnNcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9jb3JlOmVuYWJsZUFkZGl0aW9uYWxNZXRhZGF0YUNvbGxlY3Rpb25cIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtbGFtYmRhOmNyZWF0ZU5ld1BvbGljaWVzV2l0aEFkZFRvUm9sZVBvbGljeVwiOiBmYWxzZSxcbiAgXCJAYXdzLWNkay9hd3MtczM6c2V0VW5pcXVlUmVwbGljYXRpb25Sb2xlTmFtZVwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1ldmVudHM6cmVxdWlyZUV2ZW50QnVzUG9saWN5U2lkXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvY29yZTphc3BlY3RQcmlvcml0aWVzTXV0YXRpbmdcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtZHluYW1vZGI6cmV0YWluVGFibGVSZXBsaWNhXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLXN0ZXBmdW5jdGlvbnM6dXNlRGlzdHJpYnV0ZWRNYXBSZXN1bHRXcml0ZXJWMlwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL3MzLW5vdGlmaWNhdGlvbnM6YWRkUzNUcnVzdEtleVBvbGljeUZvclNuc1N1YnNjcmlwdGlvbnNcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtZWMyOnJlcXVpcmVQcml2YXRlU3VibmV0c0ZvckVncmVzc09ubHlJbnRlcm5ldEdhdGV3YXlcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtczM6cHVibGljQWNjZXNzQmxvY2tlZEJ5RGVmYXVsdFwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1sYW1iZGE6dXNlQ2RrTWFuYWdlZExvZ0dyb3VwXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWVsYXN0aWNsb2FkYmFsYW5jaW5ndjI6bmV0d29ya0xvYWRCYWxhbmNlcldpdGhTZWN1cml0eUdyb3VwQnlEZWZhdWx0XCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWVjcy1wYXR0ZXJuczp1bmlxdWVUYXJnZXRHcm91cElkXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLXJvdXRlNTMtcGF0dGVybnM6dXNlRGlzdHJpYnV0aW9uXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWNsb3VkZnJvbnQ6ZGVmYXVsdEZ1bmN0aW9uUnVudGltZVYyXzBcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtZWxhc3RpY2xvYWRiYWxhbmNpbmd2Mjp1c2VQb3N0UXVhbnR1bVRsc1BvbGljeVwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1iYXRjaDpkZWZhdWx0VG9BTDIwMjNcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtZWtzOmRlZmF1bHRUb0FMMjAyM1wiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2NvcmU6YW5ub3RhdGlvbnNJblZhbGlkYXRpb25SZXBvcnRcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9jb3JlOmRlZmF1bHRDcm9zc1N0YWNrUmVmZXJlbmNlc1wiOiBcIndlYWtcIixcbiAgXCJAYXdzLWNkay9jb3JlOnZhbGlkYXRlQWdhaW5zdERlZmF1bHRSdWxlc1wiOiB0cnVlXG59OyJdfQ==
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1mbGFncy12Mi5jb25zdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hd3NjZGsvcHJpdmF0ZS9mZWF0dXJlLWZsYWdzLXYyLmNvbnN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxtRkFBbUY7O0FBRW5GOztHQUVHO0FBQ0gsa0JBQWU7SUFDYixtREFBbUQsRUFBRSxJQUFJO0lBQ3pELGlFQUFpRSxFQUFFLElBQUk7SUFDdkUsMkNBQTJDLEVBQUUsSUFBSTtJQUNqRCxnQ0FBZ0MsRUFBRSxJQUFJO0lBQ3RDLGlDQUFpQyxFQUFFO1FBQ2pDLEtBQUs7UUFDTCxRQUFRO0tBQ1Q7SUFDRCxtRUFBbUUsRUFBRSxJQUFJO0lBQ3pFLDJDQUEyQyxFQUFFLElBQUk7SUFDakQsK0NBQStDLEVBQUUsSUFBSTtJQUNyRCxtQ0FBbUMsRUFBRSxJQUFJO0lBQ3pDLDZDQUE2QyxFQUFFLElBQUk7SUFDbkQscUVBQXFFLEVBQUUsSUFBSTtJQUMzRSw0Q0FBNEMsRUFBRSxJQUFJO0lBQ2xELHVEQUF1RCxFQUFFLElBQUk7SUFDN0QsK0NBQStDLEVBQUUsSUFBSTtJQUNyRCx1Q0FBdUMsRUFBRSxJQUFJO0lBQzdDLGtEQUFrRCxFQUFFLElBQUk7SUFDeEQsdUVBQXVFLEVBQUUsSUFBSTtJQUM3RSx5REFBeUQsRUFBRSxJQUFJO0lBQy9ELGlEQUFpRCxFQUFFLElBQUk7SUFDdkQsNkNBQTZDLEVBQUUsSUFBSTtJQUNuRCxxREFBcUQsRUFBRSxLQUFLO0lBQzVELGtEQUFrRCxFQUFFLElBQUk7SUFDeEQseURBQXlELEVBQUUsSUFBSTtJQUMvRCw2REFBNkQsRUFBRSxJQUFJO0lBQ25FLGdEQUFnRCxFQUFFLElBQUk7SUFDdEQsdUZBQXVGLEVBQUUsSUFBSTtJQUM3RixnQ0FBZ0MsRUFBRSxJQUFJO0lBQ3RDLDJEQUEyRCxFQUFFLElBQUk7SUFDakUsK0NBQStDLEVBQUUsSUFBSTtJQUNyRCxrREFBa0QsRUFBRSxJQUFJO0lBQ3hELCtCQUErQixFQUFFLElBQUk7SUFDckMsMkRBQTJELEVBQUUsSUFBSTtJQUNqRSxzRUFBc0UsRUFBRSxJQUFJO0lBQzVFLG1EQUFtRCxFQUFFLElBQUk7SUFDekQsc0NBQXNDLEVBQUUsSUFBSTtJQUM1QyxtRUFBbUUsRUFBRSxJQUFJO0lBQ3pFLG9EQUFvRCxFQUFFLElBQUk7SUFDMUQsdURBQXVELEVBQUUsSUFBSTtJQUM3RCxxRkFBcUYsRUFBRSxJQUFJO0lBQzNGLDhEQUE4RCxFQUFFLElBQUk7SUFDcEUsd0RBQXdELEVBQUUsSUFBSTtJQUM5RCwwRUFBMEUsRUFBRSxJQUFJO0lBQ2hGLGdGQUFnRixFQUFFLElBQUk7SUFDdEYsK0RBQStELEVBQUUsSUFBSTtJQUNyRSxtREFBbUQsRUFBRSxJQUFJO0lBQ3pELHNEQUFzRCxFQUFFLElBQUk7SUFDNUQseUNBQXlDLEVBQUUsSUFBSTtJQUMvQyx3Q0FBd0MsRUFBRSxJQUFJO0lBQzlDLHNDQUFzQyxFQUFFLElBQUk7SUFDNUMsK0NBQStDLEVBQUUsSUFBSTtJQUNyRCxpRUFBaUUsRUFBRSxLQUFLO0lBQ3hFLGtEQUFrRCxFQUFFLEtBQUs7SUFDekQsaUNBQWlDLEVBQUUsSUFBSTtJQUN2Qyx3REFBd0QsRUFBRSxJQUFJO0lBQzlELGdEQUFnRCxFQUFFLElBQUk7SUFDdEQsdUNBQXVDLEVBQUUsSUFBSTtJQUM3Qyw2REFBNkQsRUFBRSxJQUFJO0lBQ25FLGtGQUFrRixFQUFFLElBQUk7SUFDeEYsMkVBQTJFLEVBQUUsSUFBSTtJQUNqRix1REFBdUQsRUFBRSxJQUFJO0lBQzdELHNEQUFzRCxFQUFFLElBQUk7SUFDNUQseURBQXlELEVBQUUsSUFBSTtJQUMvRCw0RUFBNEUsRUFBRSxJQUFJO0lBQ2xGLDRGQUE0RixFQUFFLElBQUk7SUFDbEcsb0RBQW9ELEVBQUUsSUFBSTtJQUMxRCxrREFBa0QsRUFBRSxJQUFJO0lBQ3hELDBEQUEwRCxFQUFFLEtBQUs7SUFDakUsOENBQThDLEVBQUUsSUFBSTtJQUNwRCw4Q0FBOEMsRUFBRSxJQUFJO0lBQ3BELHdDQUF3QyxFQUFFLElBQUk7SUFDOUMsMENBQTBDLEVBQUUsSUFBSTtJQUNoRCw0REFBNEQsRUFBRSxJQUFJO0lBQ2xFLGtFQUFrRSxFQUFFLElBQUk7SUFDeEUsb0VBQW9FLEVBQUUsSUFBSTtJQUMxRSw4Q0FBOEMsRUFBRSxJQUFJO0lBQ3BELDJDQUEyQyxFQUFFLElBQUk7SUFDakQsbUZBQW1GLEVBQUUsSUFBSTtJQUN6RiwrQ0FBK0MsRUFBRSxJQUFJO0lBQ3JELCtDQUErQyxFQUFFLElBQUk7SUFDckQsb0RBQW9ELEVBQUUsSUFBSTtJQUMxRCw2REFBNkQsRUFBRSxJQUFJO0lBQ25FLG9DQUFvQyxFQUFFLElBQUk7SUFDMUMsa0NBQWtDLEVBQUUsSUFBSTtJQUN4Qyw2Q0FBNkMsRUFBRSxJQUFJO0lBQ25ELDJDQUEyQyxFQUFFLE1BQU07SUFDbkQsMkNBQTJDLEVBQUUsSUFBSTtJQUNqRCwyQ0FBMkMsRUFBRSxJQUFJO0NBQ2xELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB+fiBHZW5lcmF0ZWQgYnkgcHJvamVuLiBUbyBtb2RpZnksIGVkaXQgLnByb2plbnJjLnRzIGFuZCBydW4gXCJub2RlIC4vcHJvamVuLmpzXCIuXG5cbi8qKlxuICogRmVhdHVyZSBmbGFncyBhcyBvZiB2Mi4yNjkuMFxuICovXG5leHBvcnQgZGVmYXVsdCB7XG4gIFwiQGF3cy1jZGsvYXdzLXNpZ25lcjpzaWduaW5nUHJvZmlsZU5hbWVQYXNzZWRUb0NmblwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1lY3MtcGF0dGVybnM6c2VjR3JvdXBzRGlzYWJsZXNJbXBsaWNpdE9wZW5MaXN0ZW5lclwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1sYW1iZGE6cmVjb2duaXplTGF5ZXJWZXJzaW9uXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvY29yZTpjaGVja1NlY3JldFVzYWdlXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvY29yZTp0YXJnZXQtcGFydGl0aW9uc1wiOiBbXG4gICAgXCJhd3NcIixcbiAgICBcImF3cy1jblwiXG4gIF0sXG4gIFwiQGF3cy1jZGstY29udGFpbmVycy9lY3Mtc2VydmljZS1leHRlbnNpb25zOmVuYWJsZURlZmF1bHRMb2dEcml2ZXJcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtZWMyOnVuaXF1ZUltZHN2MlRlbXBsYXRlTmFtZVwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1lY3M6YXJuRm9ybWF0SW5jbHVkZXNDbHVzdGVyTmFtZVwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1pYW06bWluaW1pemVQb2xpY2llc1wiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2NvcmU6dmFsaWRhdGVTbmFwc2hvdFJlbW92YWxQb2xpY3lcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtY29kZXBpcGVsaW5lOmNyb3NzQWNjb3VudEtleUFsaWFzU3RhY2tTYWZlUmVzb3VyY2VOYW1lXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLXMzOmNyZWF0ZURlZmF1bHRMb2dnaW5nUG9saWN5XCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLXNucy1zdWJzY3JpcHRpb25zOnJlc3RyaWN0U3FzRGVzY3J5cHRpb25cIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtYXBpZ2F0ZXdheTpkaXNhYmxlQ2xvdWRXYXRjaFJvbGVcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9jb3JlOmVuYWJsZVBhcnRpdGlvbkxpdGVyYWxzXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWV2ZW50czpldmVudHNUYXJnZXRRdWV1ZVNhbWVBY2NvdW50XCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWVjczpkaXNhYmxlRXhwbGljaXREZXBsb3ltZW50Q29udHJvbGxlckZvckNpcmN1aXRCcmVha2VyXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWlhbTppbXBvcnRlZFJvbGVTdGFja1NhZmVEZWZhdWx0UG9saWN5TmFtZVwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1zMzpzZXJ2ZXJBY2Nlc3NMb2dzVXNlQnVja2V0UG9saWN5XCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLXJvdXRlNTMtcGF0dGVyczp1c2VDZXJ0aWZpY2F0ZVwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2N1c3RvbXJlc291cmNlczppbnN0YWxsTGF0ZXN0QXdzU2RrRGVmYXVsdFwiOiBmYWxzZSxcbiAgXCJAYXdzLWNkay9hd3MtcmRzOmRhdGFiYXNlUHJveHlVbmlxdWVSZXNvdXJjZU5hbWVcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtY29kZWRlcGxveTpyZW1vdmVBbGFybXNGcm9tRGVwbG95bWVudEdyb3VwXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWFwaWdhdGV3YXk6YXV0aG9yaXplckNoYW5nZURlcGxveW1lbnRMb2dpY2FsSWRcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtZWMyOmxhdW5jaFRlbXBsYXRlRGVmYXVsdFVzZXJEYXRhXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLXNlY3JldHNtYW5hZ2VyOnVzZUF0dGFjaGVkU2VjcmV0UmVzb3VyY2VQb2xpY3lGb3JTZWNyZXRUYXJnZXRBdHRhY2htZW50c1wiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1yZWRzaGlmdDpjb2x1bW5JZFwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1zdGVwZnVuY3Rpb25zLXRhc2tzOmVuYWJsZUVtclNlcnZpY2VQb2xpY3lWMlwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1lYzI6cmVzdHJpY3REZWZhdWx0U2VjdXJpdHlHcm91cFwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1hcGlnYXRld2F5OnJlcXVlc3RWYWxpZGF0b3JVbmlxdWVJZFwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1rbXM6YWxpYXNOYW1lUmVmXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWttczphcHBseUltcG9ydGVkQWxpYXNQZXJtaXNzaW9uc1RvUHJpbmNpcGFsXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWF1dG9zY2FsaW5nOmdlbmVyYXRlTGF1bmNoVGVtcGxhdGVJbnN0ZWFkT2ZMYXVuY2hDb25maWdcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9jb3JlOmluY2x1ZGVQcmVmaXhJblVuaXF1ZU5hbWVHZW5lcmF0aW9uXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWVmczpkZW55QW5vbnltb3VzQWNjZXNzXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLW9wZW5zZWFyY2hzZXJ2aWNlOmVuYWJsZU9wZW5zZWFyY2hNdWx0aUF6V2l0aFN0YW5kYnlcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtbGFtYmRhLW5vZGVqczp1c2VMYXRlc3RSdW50aW1lVmVyc2lvblwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1lZnM6bW91bnRUYXJnZXRPcmRlckluc2Vuc2l0aXZlTG9naWNhbElkXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLXJkczphdXJvcmFDbHVzdGVyQ2hhbmdlU2NvcGVPZkluc3RhbmNlUGFyYW1ldGVyR3JvdXBXaXRoRWFjaFBhcmFtZXRlcnNcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtYXBwc3luYzp1c2VBcm5Gb3JTb3VyY2VBcGlBc3NvY2lhdGlvbklkZW50aWZpZXJcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtcmRzOnByZXZlbnRSZW5kZXJpbmdEZXByZWNhdGVkQ3JlZGVudGlhbHNcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtY29kZXBpcGVsaW5lLWFjdGlvbnM6dXNlTmV3RGVmYXVsdEJyYW5jaEZvckNvZGVDb21taXRTb3VyY2VcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtY2xvdWR3YXRjaC1hY3Rpb25zOmNoYW5nZUxhbWJkYVBlcm1pc3Npb25Mb2dpY2FsSWRGb3JMYW1iZGFBY3Rpb25cIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtY29kZXBpcGVsaW5lOmNyb3NzQWNjb3VudEtleXNEZWZhdWx0VmFsdWVUb0ZhbHNlXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWNvZGVwaXBlbGluZTpkZWZhdWx0UGlwZWxpbmVUeXBlVG9WMlwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1rbXM6cmVkdWNlQ3Jvc3NBY2NvdW50UmVnaW9uUG9saWN5U2NvcGVcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtZWtzOm5vZGVncm91cE5hbWVBdHRyaWJ1dGVcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtZWtzOnVzZU5hdGl2ZU9pZGNQcm92aWRlclwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1lYzI6ZWJzRGVmYXVsdEdwM1ZvbHVtZVwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1lY3M6cmVtb3ZlRGVmYXVsdERlcGxveW1lbnRBbGFybVwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2N1c3RvbS1yZXNvdXJjZXM6bG9nQXBpUmVzcG9uc2VEYXRhUHJvcGVydHlUcnVlRGVmYXVsdFwiOiBmYWxzZSxcbiAgXCJAYXdzLWNkay9hd3MtczM6a2VlcE5vdGlmaWNhdGlvbkluSW1wb3J0ZWRCdWNrZXRcIjogZmFsc2UsXG4gIFwiQGF3cy1jZGsvY29yZTpleHBsaWNpdFN0YWNrVGFnc1wiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1lY3M6cmVkdWNlRWMyRmFyZ2F0ZUNsb3VkV2F0Y2hQZXJtaXNzaW9uc1wiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1keW5hbW9kYjpyZXNvdXJjZVBvbGljeVBlclJlcGxpY2FcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtZWMyOmVjMlN1bVRJbWVvdXRFbmFibGVkXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWFwcHN5bmM6YXBwU3luY0dyYXBoUUxBUElTY29wZUxhbWJkYVBlcm1pc3Npb25cIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtcmRzOnNldENvcnJlY3RWYWx1ZUZvckRhdGFiYXNlSW5zdGFuY2VSZWFkUmVwbGljYUluc3RhbmNlUmVzb3VyY2VJZFwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2NvcmU6Y2ZuSW5jbHVkZVJlamVjdENvbXBsZXhSZXNvdXJjZVVwZGF0ZUNyZWF0ZVBvbGljeUludHJpbnNpY3NcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtbGFtYmRhLW5vZGVqczpzZGtWM0V4Y2x1ZGVTbWl0aHlQYWNrYWdlc1wiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1zdGVwZnVuY3Rpb25zLXRhc2tzOmZpeFJ1bkVjc1Rhc2tQb2xpY3lcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtZWMyOmJhc3Rpb25Ib3N0VXNlQW1hem9uTGludXgyMDIzQnlEZWZhdWx0XCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLXJvdXRlNTMtdGFyZ2V0czp1c2VyUG9vbERvbWFpbk5hbWVNZXRob2RXaXRob3V0Q3VzdG9tUmVzb3VyY2VcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtZWxhc3RpY2xvYWRiYWxhbmNpbmdWMjphbGJEdWFsc3RhY2tXaXRob3V0UHVibGljSXB2NFNlY3VyaXR5R3JvdXBSdWxlc0RlZmF1bHRcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtaWFtOm9pZGNSZWplY3RVbmF1dGhvcml6ZWRDb25uZWN0aW9uc1wiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2NvcmU6ZW5hYmxlQWRkaXRpb25hbE1ldGFkYXRhQ29sbGVjdGlvblwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1sYW1iZGE6Y3JlYXRlTmV3UG9saWNpZXNXaXRoQWRkVG9Sb2xlUG9saWN5XCI6IGZhbHNlLFxuICBcIkBhd3MtY2RrL2F3cy1zMzpzZXRVbmlxdWVSZXBsaWNhdGlvblJvbGVOYW1lXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWV2ZW50czpyZXF1aXJlRXZlbnRCdXNQb2xpY3lTaWRcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9jb3JlOmFzcGVjdFByaW9yaXRpZXNNdXRhdGluZ1wiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1keW5hbW9kYjpyZXRhaW5UYWJsZVJlcGxpY2FcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3Mtc3RlcGZ1bmN0aW9uczp1c2VEaXN0cmlidXRlZE1hcFJlc3VsdFdyaXRlclYyXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvczMtbm90aWZpY2F0aW9uczphZGRTM1RydXN0S2V5UG9saWN5Rm9yU25zU3Vic2NyaXB0aW9uc1wiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1lYzI6cmVxdWlyZVByaXZhdGVTdWJuZXRzRm9yRWdyZXNzT25seUludGVybmV0R2F0ZXdheVwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1zMzpwdWJsaWNBY2Nlc3NCbG9ja2VkQnlEZWZhdWx0XCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWxhbWJkYTp1c2VDZGtNYW5hZ2VkTG9nR3JvdXBcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtZWxhc3RpY2xvYWRiYWxhbmNpbmd2MjpuZXR3b3JrTG9hZEJhbGFuY2VyV2l0aFNlY3VyaXR5R3JvdXBCeURlZmF1bHRcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtZWNzLXBhdHRlcm5zOnVuaXF1ZVRhcmdldEdyb3VwSWRcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3Mtcm91dGU1My1wYXR0ZXJuczp1c2VEaXN0cmlidXRpb25cIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtY2xvdWRmcm9udDpkZWZhdWx0RnVuY3Rpb25SdW50aW1lVjJfMFwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1lbGFzdGljbG9hZGJhbGFuY2luZ3YyOnVzZVBvc3RRdWFudHVtVGxzUG9saWN5XCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWJhdGNoOmRlZmF1bHRUb0FMMjAyM1wiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1la3M6ZGVmYXVsdFRvQUwyMDIzXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvY29yZTphbm5vdGF0aW9uc0luVmFsaWRhdGlvblJlcG9ydFwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2NvcmU6ZGVmYXVsdENyb3NzU3RhY2tSZWZlcmVuY2VzXCI6IFwid2Vha1wiLFxuICBcIkBhd3MtY2RrL2NvcmU6dmFsaWRhdGVBZ2FpbnN0RGVmYXVsdFJ1bGVzXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWVjczpyZW1vdmVFbXB0eUxvYWRCYWxhbmNlcnNcIjogdHJ1ZVxufTsiXX0=
|
|
@@ -48,7 +48,7 @@ const consts_1 = require("./private/consts");
|
|
|
48
48
|
const name_1 = require("../util/name");
|
|
49
49
|
const path_1 = require("../util/path");
|
|
50
50
|
class BuildWorkflow extends component_1.Component {
|
|
51
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.build.BuildWorkflow", version: "0.103.
|
|
51
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.build.BuildWorkflow", version: "0.103.24" };
|
|
52
52
|
/**
|
|
53
53
|
* Name of generated github workflow
|
|
54
54
|
*/
|
|
@@ -43,7 +43,7 @@ const component_1 = require("../component");
|
|
|
43
43
|
* Base class for auto-discovering and creating project subcomponents.
|
|
44
44
|
*/
|
|
45
45
|
class AutoDiscoverBase extends component_1.Component {
|
|
46
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.cdk.AutoDiscoverBase", version: "0.103.
|
|
46
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.cdk.AutoDiscoverBase", version: "0.103.24" };
|
|
47
47
|
/**
|
|
48
48
|
* Auto-discovered entry points with paths relative to the project
|
|
49
49
|
* directory.
|
|
@@ -62,7 +62,7 @@ exports.AutoDiscoverBase = AutoDiscoverBase;
|
|
|
62
62
|
* Base class for locating integration tests in the project's test tree.
|
|
63
63
|
*/
|
|
64
64
|
class IntegrationTestAutoDiscoverBase extends AutoDiscoverBase {
|
|
65
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.cdk.IntegrationTestAutoDiscoverBase", version: "0.103.
|
|
65
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.cdk.IntegrationTestAutoDiscoverBase", version: "0.103.24" };
|
|
66
66
|
constructor(project, options) {
|
|
67
67
|
super(project, {
|
|
68
68
|
extension: internal_1.TYPESCRIPT_INTEG_EXT,
|
package/lib/cdk/construct-lib.js
CHANGED
|
@@ -7,7 +7,7 @@ const jsii_project_1 = require("./jsii-project");
|
|
|
7
7
|
* A multi-language library for CDK constructs.
|
|
8
8
|
*/
|
|
9
9
|
class ConstructLibrary extends jsii_project_1.JsiiProject {
|
|
10
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.cdk.ConstructLibrary", version: "0.103.
|
|
10
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.cdk.ConstructLibrary", version: "0.103.24" };
|
|
11
11
|
constructor(options) {
|
|
12
12
|
super(options);
|
|
13
13
|
this.addKeywords("cdk"); // publish to the catalog
|
|
@@ -7,7 +7,7 @@ const posix_1 = require("path/posix");
|
|
|
7
7
|
const internal_1 = require("./internal");
|
|
8
8
|
const component_1 = require("../component");
|
|
9
9
|
class IntegrationTestBase extends component_1.Component {
|
|
10
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.cdk.IntegrationTestBase", version: "0.103.
|
|
10
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.cdk.IntegrationTestBase", version: "0.103.24" };
|
|
11
11
|
/**
|
|
12
12
|
* Deploy the integration test and update the snapshot upon success.
|
|
13
13
|
*/
|
package/lib/cdk/jsii-build.js
CHANGED
|
@@ -51,7 +51,7 @@ var ValidateTsconfig;
|
|
|
51
51
|
* }));
|
|
52
52
|
*/
|
|
53
53
|
class JsiiBuild {
|
|
54
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.cdk.JsiiBuild", version: "0.103.
|
|
54
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.cdk.JsiiBuild", version: "0.103.24" };
|
|
55
55
|
options;
|
|
56
56
|
extraJobOptions;
|
|
57
57
|
constructor(options = {}, extraJobOptions) {
|
|
@@ -322,14 +322,14 @@ class JsiiBuild {
|
|
|
322
322
|
if (project.package.packageManager === javascript_1.NodePackageManager.PNPM) {
|
|
323
323
|
bootstrapSteps.push({
|
|
324
324
|
name: "Setup pnpm",
|
|
325
|
-
uses: actions_const_1.
|
|
325
|
+
uses: actions_const_1.ActionRefs.PNPM_ACTION_SETUP,
|
|
326
326
|
with: { version: project.package.pnpmVersion },
|
|
327
327
|
});
|
|
328
328
|
}
|
|
329
329
|
else if (project.package.packageManager === javascript_1.NodePackageManager.BUN) {
|
|
330
330
|
bootstrapSteps.push({
|
|
331
331
|
name: "Setup bun",
|
|
332
|
-
uses: actions_const_1.
|
|
332
|
+
uses: actions_const_1.ActionRefs.OVEN_SH_SETUP_BUN,
|
|
333
333
|
with: { "bun-version": project.package.bunVersion },
|
|
334
334
|
});
|
|
335
335
|
}
|
|
@@ -374,4 +374,4 @@ const publishTo = {
|
|
|
374
374
|
dotnet: "publishToNuget",
|
|
375
375
|
go: "publishToGo",
|
|
376
376
|
};
|
|
377
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNpaS1idWlsZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jZGsvanNpaS1idWlsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBR0EscUNBQTBDO0FBQzFDLCtDQUEyQztBQU8zQyxvREFHaUM7QUFDakMsMkRBQXdEO0FBQ3hELDZEQUF5RDtBQUV6RCwrREFBMEQ7QUFDMUQsOENBQW1EO0FBRW5ELDZDQUFpRDtBQU1qRCxzREFBMEQ7QUFDMUQsOENBQWtEO0FBRWxELE1BQU0sbUJBQW1CLEdBQUcsT0FBTyxDQUFDO0FBQ3BDLE1BQU0sc0JBQXNCLEdBQUcsVUFBVSxDQUFDO0FBRTFDOztHQUVHO0FBQ0gsSUFBWSxnQkFvQlg7QUFwQkQsV0FBWSxnQkFBZ0I7SUFDMUI7O09BRUc7SUFDSCxxQ0FBaUIsQ0FBQTtJQUVqQjs7T0FFRztJQUNILDJDQUF1QixDQUFBO0lBRXZCOztPQUVHO0lBQ0gsdUNBQW1CLENBQUE7SUFFbkI7O09BRUc7SUFDSCwrQkFBVyxDQUFBO0FBQ2IsQ0FBQyxFQXBCVyxnQkFBZ0IsZ0NBQWhCLGdCQUFnQixRQW9CM0I7QUFxS0Q7Ozs7Ozs7Ozs7Ozs7R0FhRztBQUNILE1BQWEsU0FBUzs7SUFDSCxPQUFPLENBQW1CO0lBQzFCLGVBQWUsQ0FBZTtJQUUvQyxZQUNFLFVBQTRCLEVBQUUsRUFDOUIsZUFBeUM7UUFFekMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLGVBQWUsSUFBSSxFQUFFLENBQWlCLENBQUM7SUFDakUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksUUFBUSxDQUFDLFNBQXFCO1FBQ25DLE9BQU8sU0FBUyxZQUFZLDhCQUFpQixDQUFDO0lBQ2hELENBQUM7SUFFRDs7T0FFRztJQUNJLE9BQU8sQ0FBQyxPQUFtQjtRQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQzVC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QU0sT0FBTyxDQUFDLGtCQUFrQixJQUFJLHNCQUFzQixFQUFFO1NBQ2xFLEVBQ0Q7WUFDRSxJQUFJLEVBQUUsVUFBVSxNQUFNLFdBQVc7WUFDakMsR0FBRyxFQUFFLE1BQU0sT0FBTyxPQUFPLE9BQU8sQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLEVBQUU7U0FDNUQsRUFDRDtZQUNFLElBQUksRUFBRSxXQUFXLE1BQU0sV0FBVztZQUNsQyxHQUFHLEVBQUUsTUFBTSxPQUFPLElBQUksT0FBTyxDQUFDLGtCQUFrQixJQUFJLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRTtTQUNqRixDQUNGLENBQUM7UUFFRixPQUFPO1lBQ0wsWUFBWSxFQUFFLHVCQUFjLENBQUMsTUFBTSxDQUFDO1lBQ3BDLGNBQWM7WUFDZCxjQUFjO1NBQ2YsQ0FBQztJQUNKLENBQUM7O0FBdlpILDhCQXdaQztBQVlELE1BQU0sU0FBUyxHQUFvQjtJQUNqQyxFQUFFLEVBQUUsY0FBYztJQUNsQixJQUFJLEVBQUUsZ0JBQWdCO0lBQ3RCLE1BQU0sRUFBRSxlQUFlO0lBQ3ZCLE1BQU0sRUFBRSxnQkFBZ0I7SUFDeEIsRUFBRSxFQUFFLGFBQWE7Q0FDbEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgSUNvbnN0cnVjdCwgSU1peGluIH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB0eXBlIHsgVGFzayB9IGZyb20gXCIuLlwiO1xuaW1wb3J0IHR5cGUgeyBKc2lpUGFjbWFrVGFyZ2V0IH0gZnJvbSBcIi4vY29uc3RzXCI7XG5pbXBvcnQgeyBKU0lJX1RPT0xDSEFJTiB9IGZyb20gXCIuL2NvbnN0c1wiO1xuaW1wb3J0IHsgSnNpaURvY2dlbiB9IGZyb20gXCIuL2pzaWktZG9jZ2VuXCI7XG5pbXBvcnQgdHlwZSB7XG4gIEpzaWlEb3ROZXRUYXJnZXQsXG4gIEpzaWlHb1RhcmdldCxcbiAgSnNpaUphdmFUYXJnZXQsXG4gIEpzaWlQeXRob25UYXJnZXQsXG59IGZyb20gXCIuL2pzaWktcHJvamVjdFwiO1xuaW1wb3J0IHtcbiAgUFVMTF9SRVFVRVNUX1JFUE9TSVRPUlksXG4gIFBVTExfUkVRVUVTVF9TSEEsXG59IGZyb20gXCIuLi9idWlsZC9wcml2YXRlL2NvbnN0c1wiO1xuaW1wb3J0IHsgR2l0SHViQWN0aW9ucyB9IGZyb20gXCIuLi9naXRodWIvYWN0aW9ucy5jb25zdFwiO1xuaW1wb3J0IHsgV29ya2Zsb3dTdGVwcyB9IGZyb20gXCIuLi9naXRodWIvd29ya2Zsb3ctc3RlcHNcIjtcbmltcG9ydCB0eXBlIHsgSm9iLCBTdGVwLCBUb29scyB9IGZyb20gXCIuLi9naXRodWIvd29ya2Zsb3dzLW1vZGVsXCI7XG5pbXBvcnQgeyBKb2JQZXJtaXNzaW9uIH0gZnJvbSBcIi4uL2dpdGh1Yi93b3JrZmxvd3MtbW9kZWxcIjtcbmltcG9ydCB7IE5vZGVQYWNrYWdlTWFuYWdlciB9IGZyb20gXCIuLi9qYXZhc2NyaXB0XCI7XG5pbXBvcnQgdHlwZSB7IFR5cGVzY3JpcHRDb25maWcgfSBmcm9tIFwiLi4vamF2YXNjcmlwdFwiO1xuaW1wb3J0IHsgaXNZYXJuQmVycnkgfSBmcm9tIFwiLi4vamF2YXNjcmlwdC91dGlsXCI7XG5pbXBvcnQgdHlwZSB7XG4gIENvbW1vblB1Ymxpc2hPcHRpb25zLFxuICBOcG1QdWJsaXNoT3B0aW9ucyxcbiAgUHVibGlzaGVyLFxufSBmcm9tIFwiLi4vcmVsZWFzZVwiO1xuaW1wb3J0IHsgZmlsdGVyZWRSdW5zT25PcHRpb25zIH0gZnJvbSBcIi4uL3J1bm5lci1vcHRpb25zXCI7XG5pbXBvcnQgeyBUeXBlU2NyaXB0UHJvamVjdCB9IGZyb20gXCIuLi90eXBlc2NyaXB0XCI7XG5cbmNvbnN0IFJFUE9fVEVNUF9ESVJFQ1RPUlkgPSBcIi5yZXBvXCI7XG5jb25zdCBCVUlMRF9BUlRJRkFDVF9PTERfRElSID0gXCJkaXN0Lm9sZFwiO1xuXG4vKipcbiAqIExldmVsIG9mIHRzY29uZmlnIHZhbGlkYXRpb24ganNpaSBzaG91bGQgcGVyZm9ybS5cbiAqL1xuZXhwb3J0IGVudW0gVmFsaWRhdGVUc2NvbmZpZyB7XG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgYWdhaW5zdCBhIHN0cmljdCBydWxlIHNldCBkZXNpZ25lZCBmb3Igd2lkZXNwcmVhZCBzdXBwb3J0IGFuZCBiYWNrd2FyZHMtY29tcGF0aWJpbGl0eS5cbiAgICovXG4gIFNUUklDVCA9IFwic3RyaWN0XCIsXG5cbiAgLyoqXG4gICAqIEVuZm9yY2VzIGEgdHNjb25maWcgYXMgaWYgaXQgd2VyZSBnZW5lcmF0ZWQgYnkganNpaS5cbiAgICovXG4gIEdFTkVSQVRFRCA9IFwiZ2VuZXJhdGVkXCIsXG5cbiAgLyoqXG4gICAqIE9ubHkgcmVqZWN0IG9wdGlvbnMga25vd24gdG8gYmUgaW5jb21wYXRpYmxlIHdpdGgganNpaS5cbiAgICovXG4gIE1JTklNQUwgPSBcIm1pbmltYWxcIixcblxuICAvKipcbiAgICogRGlzYWJsZXMgYWxsIGNvbmZpZyB2YWxpZGF0aW9uLiBVc2UgYXQgeW91ciBvd24gcmlzay5cbiAgICovXG4gIE9GRiA9IFwib2ZmXCIsXG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgYEpzaWlCdWlsZGAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSnNpaUJ1aWxkT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBQdWJsaXNoIHRvIG1hdmVuXG4gICAqIEBkZWZhdWx0IC0gbm8gcHVibGlzaGluZ1xuICAgKi9cbiAgcmVhZG9ubHkgcHVibGlzaFRvTWF2ZW4/OiBKc2lpSmF2YVRhcmdldDtcblxuICAvKipcbiAgICogUHVibGlzaCB0byBweXBpXG4gICAqIEBkZWZhdWx0IC0gbm8gcHVibGlzaGluZ1xuICAgKi9cbiAgcmVhZG9ubHkgcHVibGlzaFRvUHlwaT86IEpzaWlQeXRob25UYXJnZXQ7XG5cbiAgLyoqXG4gICAqIFB1Ymxpc2ggR28gYmluZGluZ3MgdG8gYSBnaXQgcmVwb3NpdG9yeS5cbiAgICogQGRlZmF1bHQgLSBubyBwdWJsaXNoaW5nXG4gICAqL1xuICByZWFkb25seSBwdWJsaXNoVG9Hbz86IEpzaWlHb1RhcmdldDtcblxuICAvKipcbiAgICogUHVibGlzaCB0byBOdUdldFxuICAgKiBAZGVmYXVsdCAtIG5vIHB1Ymxpc2hpbmdcbiAgICovXG4gIHJlYWRvbmx5IHB1Ymxpc2hUb051Z2V0PzogSnNpaURvdE5ldFRhcmdldDtcblxuICAvKipcbiAgICogQXV0b21hdGljYWxseSBydW4gQVBJIGNvbXBhdGliaWxpdHkgdGVzdCBhZ2FpbnN0IHRoZSBsYXRlc3QgdmVyc2lvbiBwdWJsaXNoZWQgdG8gbnBtIGFmdGVyIGNvbXBpbGF0aW9uLlxuICAgKlxuICAgKiAtIFlvdSBjYW4gbWFudWFsbHkgcnVuIGNvbXBhdGliaWxpdHkgdGVzdHMgdXNpbmcgYHlhcm4gY29tcGF0YCBpZiB0aGlzIGZlYXR1cmUgaXMgZGlzYWJsZWQuXG4gICAqIC0gWW91IGNhbiBpZ25vcmUgY29tcGF0aWJpbGl0eSBmYWlsdXJlcyBieSBhZGRpbmcgbGluZXMgdG8gYSBcIi5jb21wYXRpZ25vcmVcIiBmaWxlLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgY29tcGF0PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogTmFtZSBvZiB0aGUgaWdub3JlIGZpbGUgZm9yIEFQSSBjb21wYXRpYmlsaXR5IHRlc3RzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBcIi5jb21wYXRpZ25vcmVcIlxuICAgKi9cbiAgcmVhZG9ubHkgY29tcGF0SWdub3JlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBY2NlcHRzIGEgbGlzdCBvZiBnbG9iIHBhdHRlcm5zLiBGaWxlcyBtYXRjaGluZyBhbnkgb2YgdGhvc2UgcGF0dGVybnMgd2lsbCBiZSBleGNsdWRlZCBmcm9tIHRoZSBUeXBlU2NyaXB0IGNvbXBpbGVyIGlucHV0LlxuICAgKlxuICAgKiBCeSBkZWZhdWx0LCBqc2lpIHdpbGwgaW5jbHVkZSBhbGwgKi50cyBmaWxlcyAoZXhjZXB0IC5kLnRzIGZpbGVzKSBpbiB0aGUgVHlwZVNjcmlwdCBjb21waWxlciBpbnB1dC5cbiAgICogVGhpcyBjYW4gYmUgcHJvYmxlbWF0aWMgZm9yIGV4YW1wbGUgd2hlbiB0aGUgcGFja2FnZSdzIGJ1aWxkIG9yIHRlc3QgcHJvY2VkdXJlIGdlbmVyYXRlcyAudHMgZmlsZXNcbiAgICogdGhhdCBjYW5ub3QgYmUgY29tcGlsZWQgd2l0aCBqc2lpJ3MgY29tcGlsZXIgc2V0dGluZ3MuXG4gICAqL1xuICByZWFkb25seSBleGNsdWRlVHlwZXNjcmlwdD86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBGaWxlIHBhdGggZm9yIGdlbmVyYXRlZCBkb2NzLlxuICAgKiBAZGVmYXVsdCBcIkFQSS5tZFwiXG4gICAqL1xuICByZWFkb25seSBkb2NnZW5GaWxlUGF0aD86IHN0cmluZztcblxuICAvKipcbiAgICogRW1pdCBhIGNvbXByZXNzZWQgdmVyc2lvbiBvZiB0aGUgYXNzZW1ibHlcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGNvbXByZXNzQXNzZW1ibHk/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBWZXJzaW9uIG9mIHRoZSBqc2lpIGNvbXBpbGVyIHRvIHVzZS5cbiAgICpcbiAgICogU2V0IHRvIFwiKlwiIGlmIHlvdSB3YW50IHRvIG1hbnVhbGx5IG1hbmFnZSB0aGUgdmVyc2lvbiBvZiBqc2lpIGluIHlvdXJcbiAgICogcHJvamVjdCBieSBtYW5hZ2luZyB1cGRhdGVzIHRvIGBwYWNrYWdlLmpzb25gIG9uIHlvdXIgb3duLlxuICAgKlxuICAgKiBOT1RFOiBUaGUganNpaSBjb21waWxlciByZWxlYXNlcyBzaW5jZSA1LjAuMCBhcmUgbm90IHNlbWFudGljYWxseSB2ZXJzaW9uZWRcbiAgICogYW5kIHNob3VsZCByZW1haW4gb24gdGhlIHNhbWUgbWlub3IsIHNvIHdlIHJlY29tbWVuZCB1c2luZyBhIGB+YCBkZXBlbmRlbmN5XG4gICAqIChlLmcuIGB+NS4wLjBgKS5cbiAgICpcbiAgICogQGRlZmF1bHQgXCJ+NS45LjBcIlxuICAgKi9cbiAgcmVhZG9ubHkganNpaVZlcnNpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBzdGFiaWxpdHkgb2YgdGhlIHBhY2thZ2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IFwic3RhYmxlXCJcbiAgICovXG4gIHJlYWRvbmx5IHN0YWJpbGl0eT86IHN0cmluZztcblxuICAvKipcbiAgICogR2VuZXJhdGUgYSBNYXJrRG93biBmaWxlIGRlc2NyaWJpbmcgdGhlIGpzaWkgQVBJLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBkb2NnZW4/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHB1Ymxpc2ggdG8gbnBtLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSByZWxlYXNlVG9OcG0/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHVzZSB0cnVzdGVkIHB1Ymxpc2hpbmcgZm9yIG5wbS5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IG5wbVRydXN0ZWRQdWJsaXNoaW5nPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogT3B0aW9ucyBmb3IgcHVibGlzaGluZyBucG0gcGFja2FnZSB0byBBV1MgQ29kZUFydGlmYWN0LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHVuZGVmaW5lZFxuICAgKi9cbiAgcmVhZG9ubHkgY29kZUFydGlmYWN0T3B0aW9ucz86IE5wbVB1Ymxpc2hPcHRpb25zW1wiY29kZUFydGlmYWN0T3B0aW9uc1wiXTtcblxuICAvKipcbiAgICogUmVsYXRpdmUgcGF0aCBvZiB0aGUgcGFja2FnZSB3aXRoaW4gdGhlIHJlcG9zaXRvcnkuXG4gICAqXG4gICAqIFRoaXMgaXMgdXNlZCBpbiBtb25vcmVwbyBzZXR1cHMgd2hlcmUgdGhlIHBhY2thZ2UgaXMgbm90IGF0IHRoZSByb290LlxuICAgKiBQYWNrYWdpbmcgc3RlcHMgd2lsbCBleHRyYWN0IGJ1aWxkIGFydGlmYWN0cyBpbnRvIHRoaXMgc3ViZGlyZWN0b3J5LlxuICAgKlxuICAgKiBAZGVmYXVsdCBcIi5cIiAtIHJvb3Qgb2YgdGhlIHJlcG9zaXRvcnlcbiAgICovXG4gIHJlYWRvbmx5IHdvcmtzcGFjZURpcmVjdG9yeT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5vZGUgdmVyc2lvbiB0byB1c2UgaW4gcGFja2FnaW5nIHdvcmtmbG93cy5cbiAgICpcbiAgICogQGRlZmF1bHQgXCJsdHMvKlwiXG4gICAqL1xuICByZWFkb25seSB3b3JrZmxvd05vZGVWZXJzaW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIHN0ZXBzIHRvIHJ1biBiZWZvcmUgcGFja2FnaW5nIGluIHdvcmtmbG93cy5cbiAgICpcbiAgICogQGRlZmF1bHQgW11cbiAgICovXG4gIHJlYWRvbmx5IHdvcmtmbG93Qm9vdHN0cmFwU3RlcHM/OiBBcnJheTxTdGVwPjtcblxuICAvKipcbiAgICogTGV2ZWwgb2YgdHNjb25maWcgdmFsaWRhdGlvbiBqc2lpIHNob3VsZCBwZXJmb3JtIG9uIHRoZSB1c2VyLXByb3ZpZGVkIHRzY29uZmlnLlxuICAgKlxuICAgKiBPbmx5IHJlbGV2YW50IHdoZW4gdGhlIHByb2plY3Qgc3ludGhlc2l6ZXMgaXRzIG93biB0c2NvbmZpZ1xuICAgKiAoaS5lLiBgZGlzYWJsZVRzY29uZmlnYCBpcyBub3Qgc2V0IG9uIHRoZSBUeXBlU2NyaXB0UHJvamVjdCkuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9hd3MuZ2l0aHViLmlvL2pzaWkvdXNlci1ndWlkZXMvbGliLWF1dGhvci9jb25maWd1cmF0aW9uLyN2YWxpZGF0ZXRzY29uZmlnXG4gICAqIEBkZWZhdWx0IFZhbGlkYXRlVHNjb25maWcuU1RSSUNUXG4gICAqL1xuICByZWFkb25seSB2YWxpZGF0ZVRzY29uZmlnPzogVmFsaWRhdGVUc2NvbmZpZztcblxuICAvKipcbiAgICogVGhlIFR5cGVzY3JpcHRDb25maWcgdGhhdCBqc2lpIGNvbXBpbGVzIGFnYWluc3QuXG4gICAqXG4gICAqIFByb3ZpZGUgYSBkZWRpY2F0ZWQgY29uZmlnIChlLmcuIG9uZSBuYW1lZCBgdHNjb25maWcuanNpaS5qc29uYCkgdG8ga2VlcFxuICAgKiBqc2lpIGNvbXBpbGF0aW9uIHNlcGFyYXRlIGZyb20gdGhlIHByb2plY3QncyBlZGl0b3ItZmFjaW5nIGB0c2NvbmZpZy5qc29uYC5cbiAgICoganNpaSByZXF1aXJlcyBhIGNvbW1lbnQtZnJlZSwgc3RyaWN0LXZhbGlkIGNvbmZpZywgc28gYEpzaWlCdWlsZGAgZGlzYWJsZXNcbiAgICogY29tbWVudHMgb24gd2hpY2hldmVyIGNvbmZpZyBpdCBpcyBnaXZlbi5cbiAgICpcbiAgICogQGRlZmF1bHQgLSB0aGUgcHJvamVjdCdzIHRzY29uZmlnIChpLmUuIGBwcm9qZWN0LnRzY29uZmlnYClcbiAgICovXG4gIHJlYWRvbmx5IHRzY29uZmlnPzogVHlwZXNjcmlwdENvbmZpZztcbn1cblxuLyoqXG4gKiBBIG1peGluIHRoYXQgYWRkcyBqc2lpIGNvbXBpbGF0aW9uLCBtdWx0aS1sYW5ndWFnZSBwYWNrYWdpbmcsIGFuZCBwdWJsaXNoaW5nXG4gKiBjYXBhYmlsaXRpZXMgdG8gYW55IFR5cGVTY3JpcHQgcHJvamVjdC5cbiAqXG4gKiBUaGlzIGltcGxlbWVudHMgdGhlIGNvbnN0cnVjdHMgYElNaXhpbmAgaW50ZXJmYWNlIGFuZCBpcyBhcHBsaWVkIHVzaW5nIHRoZVxuICogYC53aXRoKClgIG1ldGhvZCBvbiBhbnkgY29uc3RydWN0LlxuICpcbiAqIEBleGFtcGxlXG4gKiBjb25zdCBwcm9qZWN0ID0gbmV3IFR5cGVTY3JpcHRQcm9qZWN0KHsgZGlzYWJsZVRzY29uZmlnOiB0cnVlLCAuLi4gfSk7XG4gKiBwcm9qZWN0LndpdGgobmV3IEpzaWlCdWlsZCh7XG4gKiAgIGpzaWlWZXJzaW9uOiAnfjUuOS4wJyxcbiAqICAgcHVibGlzaFRvTWF2ZW46IHsgLi4uIH0sXG4gKiB9KSk7XG4gKi9cbmV4cG9ydCBjbGFzcyBKc2lpQnVpbGQgaW1wbGVtZW50cyBJTWl4aW4ge1xuICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IEpzaWlCdWlsZE9wdGlvbnM7XG4gIHByaXZhdGUgcmVhZG9ubHkgZXh0cmFKb2JPcHRpb25zOiBQYXJ0aWFsPEpvYj47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgb3B0aW9uczogSnNpaUJ1aWxkT3B0aW9ucyA9IHt9LFxuICAgIGV4dHJhSm9iT3B0aW9ucz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICApIHtcbiAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zO1xuICAgIHRoaXMuZXh0cmFKb2JPcHRpb25zID0gKGV4dHJhSm9iT3B0aW9ucyA/PyB7fSkgYXMgUGFydGlhbDxKb2I+O1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdHJ1ZSBpZiB0aGUgY29uc3RydWN0IGlzIGEgVHlwZVNjcmlwdFByb2plY3QuXG4gICAqL1xuICBwdWJsaWMgc3VwcG9ydHMoY29uc3RydWN0OiBJQ29uc3RydWN0KTogY29uc3RydWN0IGlzIFR5cGVTY3JpcHRQcm9qZWN0IHtcbiAgICByZXR1cm4gY29uc3RydWN0IGluc3RhbmNlb2YgVHlwZVNjcmlwdFByb2plY3Q7XG4gIH1cblxuICAvKipcbiAgICogQXBwbGllcyBqc2lpIGNvbmZpZ3VyYXRpb24gdG8gdGhlIHRhcmdldCBUeXBlU2NyaXB0UHJvamVjdC5cbiAgICovXG4gIHB1YmxpYyBhcHBseVRvKHByb2plY3Q6IElDb25zdHJ1Y3QpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuc3VwcG9ydHMocHJvamVjdCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBvcHRpb25zID0geyAuLi50aGlzLm9wdGlvbnMgfTtcbiAgICBjb25zdCBzcmNkaXIgPSBwcm9qZWN0LnNyY2RpcjtcbiAgICBjb25zdCBsaWJkaXIgPSBwcm9qZWN0LmxpYmRpcjtcblxuICAgIHByb2plY3QuYWRkRmllbGRzKHsgdHlwZXM6IGAke2xpYmRpcn0vaW5kZXguZC50c2AgfSk7XG5cbiAgICBjb25zdCBjb21wcmVzc0Fzc2VtYmx5ID0gb3B0aW9ucy5jb21wcmVzc0Fzc2VtYmx5ID8/IGZhbHNlO1xuXG4gICAgLy8gdGhpcyBpcyBhbiB1bmhlbHBmdWwgd2FybmluZ1xuICAgIGNvbnN0IGpzaWlGbGFncyA9IFtcIi0tc2lsZW5jZS13YXJuaW5ncz1yZXNlcnZlZC13b3JkXCJdO1xuICAgIGlmIChjb21wcmVzc0Fzc2VtYmx5KSB7XG4gICAgICBqc2lpRmxhZ3MucHVzaChcIi0tY29tcHJlc3MtYXNzZW1ibHlcIik7XG4gICAgfVxuXG4gICAgY29uc3QgY29tcGF0SWdub3JlID0gb3B0aW9ucy5jb21wYXRJZ25vcmUgPz8gXCIuY29tcGF0aWdub3JlXCI7XG5cbiAgICBwcm9qZWN0LmFkZEZpZWxkcyh7XG4gICAgICBzdGFiaWxpdHk6XG4gICAgICAgIG9wdGlvbnMuc3RhYmlsaXR5ID8/IHByb2plY3QucGFja2FnZS5tYW5pZmVzdC5zdGFiaWxpdHkgPz8gXCJzdGFibGVcIixcbiAgICB9KTtcblxuICAgIGlmIChvcHRpb25zLnN0YWJpbGl0eSA9PT0gXCJkZXByZWNhdGVkXCIpIHtcbiAgICAgIHByb2plY3QuYWRkRmllbGRzKHsgZGVwcmVjYXRlZDogdHJ1ZSB9KTtcbiAgICB9XG5cbiAgICBwcm9qZWN0LmNvbXBpbGVUYXNrLnJlc2V0KFtcImpzaWlcIiwgLi4uanNpaUZsYWdzXS5qb2luKFwiIFwiKSk7XG4gICAgcHJvamVjdC53YXRjaFRhc2sucmVzZXQoW1wianNpaVwiLCBcIi13XCIsIC4uLmpzaWlGbGFnc10uam9pbihcIiBcIikpO1xuXG4gICAgY29uc3QgY29tcGF0VGFzayA9IHByb2plY3QuYWRkVGFzayhcImNvbXBhdFwiLCB7XG4gICAgICBkZXNjcmlwdGlvbjogYFBlcmZvcm0gQVBJIGNvbXBhdGliaWxpdHkgY2hlY2sgYWdhaW5zdCBsYXRlc3QgdmVyc2lvbmAsXG4gICAgICBleGVjQXJnczogW1xuICAgICAgICBcImpzaWktZGlmZlwiLFxuICAgICAgICBgbnBtOiR7cHJvamVjdC5wYWNrYWdlLnBhY2thZ2VOYW1lfWAsXG4gICAgICAgIFwiLWtcIixcbiAgICAgICAgXCItLWlnbm9yZS1maWxlXCIsXG4gICAgICAgIGNvbXBhdElnbm9yZSxcbiAgICAgIF0sXG4gICAgfSk7XG5cbiAgICBpZiAob3B0aW9ucy5jb21wYXQgPz8gZmFsc2UpIHtcbiAgICAgIHByb2plY3QuY29tcGlsZVRhc2suc3Bhd24oY29tcGF0VGFzayk7XG4gICAgfVxuXG4gICAgLy8gQ3JlYXRlIGEgbmV3IHBhY2thZ2U6YWxsIHRhc2ssIGl0IHdpbGwgYmUgZmlsbGVkIHdpdGggbGFuZ3VhZ2UgdGFyZ2V0cyBsYXRlclxuICAgIGNvbnN0IHBhY2thZ2VBbGxUYXNrID0gcHJvamVjdC5hZGRUYXNrKFwicGFja2FnZS1hbGxcIiwge1xuICAgICAgZGVzY3JpcHRpb246IFwiUGFja2FnZXMgYXJ0aWZhY3RzIGZvciBhbGwgdGFyZ2V0IGxhbmd1YWdlc1wiLFxuICAgIH0pO1xuXG4gICAgLy8gaW4ganNpaSB3ZSBjb25zaWRlciB0aGUgZW50aXJlIHJlcG8gKHBvc3QgYnVpbGQpIGFzIHRoZSBidWlsZCBhcnRpZmFjdFxuICAgIC8vIHdoaWNoIGlzIHRoZW4gdXNlZCB0byBjcmVhdGUgdGhlIGxhbmd1YWdlIGJpbmRpbmdzIGluIHNlcGFyYXRlIGpvYnMuXG4gICAgY29uc3QgcGFja2FnZUpzVGFzayA9IHRoaXMuYWRkUGFja2FnaW5nVGFzayhwcm9qZWN0LCBwYWNrYWdlQWxsVGFzaywgXCJqc1wiKTtcblxuICAgIC8vIFdoZW4gcnVubmluZyBpbnNpZGUgQ0kgd2UgaW5pdGlhbGx5IG9ubHkgcGFja2FnZSBqcy4gT3RoZXIgdGFyZ2V0cyBhcmUgcGFja2FnZWQgaW4gc2VwYXJhdGUgam9icy5cbiAgICAvLyBPdXRzaWRlIG9mIENJIChpLmUgbG9jYWxseSkgd2Ugc2ltcGx5IHBhY2thZ2UgYWxsIHRhcmdldHMuXG4gICAgcHJvamVjdC5wYWNrYWdlVGFzay5yZXNldCgpO1xuICAgIHByb2plY3QucGFja2FnZVRhc2suc3Bhd24ocGFja2FnZUpzVGFzaywge1xuICAgICAgLy8gT25seSBydW4gaW4gQ0lcbiAgICAgIGNvbmRpdGlvbjogYG5vZGUgLWUgXCJpZiAoIXByb2Nlc3MuZW52LkNJKSBwcm9jZXNzLmV4aXQoMSlcImAsXG4gICAgfSk7XG4gICAgcHJvamVjdC5wYWNrYWdlVGFzay5zcGF3bihwYWNrYWdlQWxsVGFzaywge1xuICAgICAgLy8gRG9uJ3QgcnVuIGluIENJXG4gICAgICBjb25kaXRpb246IGBub2RlIC1lIFwiaWYgKHByb2Nlc3MuZW52LkNJKSBwcm9jZXNzLmV4aXQoMSlcImAsXG4gICAgfSk7XG5cbiAgICBjb25zdCB0YXJnZXRzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge307XG5cbiAgICBjb25zdCBqc2lpOiBhbnkgPSB7XG4gICAgICBvdXRkaXI6IHByb2plY3QuYXJ0aWZhY3RzRGlyZWN0b3J5LFxuICAgICAgdGFyZ2V0cyxcbiAgICB9O1xuXG4gICAgLy8ganNpaSBjb21waWxlcyBhZ2FpbnN0IGFuIGV4cGxpY2l0bHkgcHJvdmlkZWQgdHNjb25maWcsIGZhbGxpbmcgYmFjayB0b1xuICAgIC8vIHRoZSBwcm9qZWN0J3Mgb3duIHRzY29uZmlnIHdoZW4gb25lIGlzIG5vdCBpbmplY3RlZC4gV2hlbiBuZWl0aGVyIGlzXG4gICAgLy8gYXZhaWxhYmxlIChlLmcuIGBkaXNhYmxlVHNjb25maWdgKSwgbGV0IGpzaWkgZ2VuZXJhdGUgb25lIGZyb20gdHNjIHNldHRpbmdzLlxuICAgIGNvbnN0IHRzY29uZmlnID0gb3B0aW9ucy50c2NvbmZpZyA/PyBwcm9qZWN0LnRzY29uZmlnO1xuICAgIGlmICh0c2NvbmZpZykge1xuICAgICAgLy8gQHRzLWlnbm9yZSBqc2lpIHVzZXMgSlNPTi5wYXJzZSgpIGFuZCBjYW5ub3QgaGFuZGxlIGNvbW1lbnRzXG4gICAgICB0c2NvbmZpZy5maWxlLmNvbmZpZ3VyZUNvbW1lbnRzKGZhbHNlKTtcbiAgICAgIGpzaWkudHNjb25maWcgPSB0c2NvbmZpZy5maWxlTmFtZTtcbiAgICAgIGpzaWkudmFsaWRhdGVUc2NvbmZpZyA9XG4gICAgICAgIG9wdGlvbnMudmFsaWRhdGVUc2NvbmZpZyA/PyBWYWxpZGF0ZVRzY29uZmlnLlNUUklDVDtcblxuICAgICAgaWYgKG9wdGlvbnMuZXhjbHVkZVR5cGVzY3JpcHQpIHtcbiAgICAgICAgZm9yIChjb25zdCBwYXR0ZXJuIG9mIG9wdGlvbnMuZXhjbHVkZVR5cGVzY3JpcHQpIHtcbiAgICAgICAgICB0c2NvbmZpZy5hZGRFeGNsdWRlKHBhdHRlcm4pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGpzaWkudHNjID0ge1xuICAgICAgICBvdXREaXI6IGxpYmRpcixcbiAgICAgICAgcm9vdERpcjogc3JjZGlyLFxuICAgICAgfTtcbiAgICAgIGlmIChvcHRpb25zLmV4Y2x1ZGVUeXBlc2NyaXB0KSB7XG4gICAgICAgIGpzaWkuZXhjbHVkZVR5cGVzY3JpcHQgPSBvcHRpb25zLmV4Y2x1ZGVUeXBlc2NyaXB0O1xuICAgICAgfVxuICAgIH1cblxuICAgIHByb2plY3QuYWRkRmllbGRzKHsganNpaSB9KTtcblxuICAgIGNvbnN0IGV4dHJhSm9iT3B0aW9uczogUGFydGlhbDxKb2I+ID0gdGhpcy5leHRyYUpvYk9wdGlvbnM7XG5cbiAgICBpZiAob3B0aW9ucy5yZWxlYXNlVG9OcG0gIT09IGZhbHNlKSB7XG4gICAgICBjb25zdCBucG1qczogTnBtUHVibGlzaE9wdGlvbnMgPSB7XG4gICAgICAgIHJlZ2lzdHJ5OiBwcm9qZWN0LnBhY2thZ2UubnBtUmVnaXN0cnksXG4gICAgICAgIG5wbVRva2VuU2VjcmV0OiBwcm9qZWN0LnBhY2thZ2UubnBtVG9rZW5TZWNyZXQsXG4gICAgICAgIG5wbVByb3ZlbmFuY2U6IHByb2plY3QucGFja2FnZS5ucG1Qcm92ZW5hbmNlLFxuICAgICAgICBjb2RlQXJ0aWZhY3RPcHRpb25zOiBvcHRpb25zLmNvZGVBcnRpZmFjdE9wdGlvbnMsXG4gICAgICAgIHRydXN0ZWRQdWJsaXNoaW5nOlxuICAgICAgICAgIG9wdGlvbnMubnBtVHJ1c3RlZFB1Ymxpc2hpbmcgPz9cbiAgICAgICAgICAvL0B0cy1pZ25vcmVcbiAgICAgICAgICBwcm9qZWN0Lm9wdGlvbnMubnBtVHJ1c3RlZFB1Ymxpc2hpbmcgPz9cbiAgICAgICAgICBmYWxzZSxcbiAgICAgIH07XG4gICAgICB0aGlzLmFkZFRhcmdldFRvQnVpbGQocHJvamVjdCwgcGFja2FnZUpzVGFzaywgXCJqc1wiLCBleHRyYUpvYk9wdGlvbnMpO1xuICAgICAgdGhpcy5hZGRUYXJnZXRUb1JlbGVhc2UocHJvamVjdCwgcGFja2FnZUpzVGFzaywgXCJqc1wiLCBucG1qcyk7XG4gICAgfVxuXG4gICAgY29uc3QgbWF2ZW4gPSBvcHRpb25zLnB1Ymxpc2hUb01hdmVuO1xuICAgIGlmIChtYXZlbikge1xuICAgICAgdGFyZ2V0cy5qYXZhID0ge1xuICAgICAgICBwYWNrYWdlOiBtYXZlbi5qYXZhUGFja2FnZSxcbiAgICAgICAgbWF2ZW46IHtcbiAgICAgICAgICBncm91cElkOiBtYXZlbi5tYXZlbkdyb3VwSWQsXG4gICAgICAgICAgYXJ0aWZhY3RJZDogbWF2ZW4ubWF2ZW5BcnRpZmFjdElkLFxuICAgICAgICB9LFxuICAgICAgfTtcblxuICAgICAgY29uc3QgdGFzayA9IHRoaXMuYWRkUGFja2FnaW5nVGFzayhwcm9qZWN0LCBwYWNrYWdlQWxsVGFzaywgXCJqYXZhXCIpO1xuICAgICAgdGhpcy5hZGRUYXJnZXRUb0J1aWxkKHByb2plY3QsIHRhc2ssIFwiamF2YVwiLCBleHRyYUpvYk9wdGlvbnMpO1xuICAgICAgdGhpcy5hZGRUYXJnZXRUb1JlbGVhc2UocHJvamVjdCwgdGFzaywgXCJqYXZhXCIsIG1hdmVuKTtcbiAgICB9XG5cbiAgICBjb25zdCBweXBpID0gb3B0aW9ucy5wdWJsaXNoVG9QeXBpO1xuICAgIGlmIChweXBpKSB7XG4gICAgICB0YXJnZXRzLnB5dGhvbiA9IHtcbiAgICAgICAgZGlzdE5hbWU6IHB5cGkuZGlzdE5hbWUsXG4gICAgICAgIG1vZHVsZTogcHlwaS5tb2R1bGUsXG4gICAgICB9O1xuXG4gICAgICBjb25zdCB0YXNrID0gdGhpcy5hZGRQYWNrYWdpbmdUYXNrKHByb2plY3QsIHBhY2thZ2VBbGxUYXNrLCBcInB5dGhvblwiKTtcbiAgICAgIHRoaXMuYWRkVGFyZ2V0VG9CdWlsZChwcm9qZWN0LCB0YXNrLCBcInB5dGhvblwiLCBleHRyYUpvYk9wdGlvbnMpO1xuICAgICAgdGhpcy5hZGRUYXJnZXRUb1JlbGVhc2UocHJvamVjdCwgdGFzaywgXCJweXRob25cIiwgcHlwaSk7XG4gICAgfVxuXG4gICAgY29uc3QgbnVnZXQgPSBvcHRpb25zLnB1Ymxpc2hUb051Z2V0O1xuICAgIGlmIChudWdldCkge1xuICAgICAgdGFyZ2V0cy5kb3RuZXQgPSB7XG4gICAgICAgIG5hbWVzcGFjZTogbnVnZXQuZG90TmV0TmFtZXNwYWNlLFxuICAgICAgICBwYWNrYWdlSWQ6IG51Z2V0LnBhY2thZ2VJZCxcbiAgICAgICAgaWNvblVybDogbnVnZXQuaWNvblVybCxcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IHRhc2sgPSB0aGlzLmFkZFBhY2thZ2luZ1Rhc2socHJvamVjdCwgcGFja2FnZUFsbFRhc2ssIFwiZG90bmV0XCIpO1xuICAgICAgdGhpcy5hZGRUYXJnZXRUb0J1aWxkKHByb2plY3QsIHRhc2ssIFwiZG90bmV0XCIsIGV4dHJhSm9iT3B0aW9ucyk7XG4gICAgICB0aGlzLmFkZFRhcmdldFRvUmVsZWFzZShwcm9qZWN0LCB0YXNrLCBcImRvdG5ldFwiLCBudWdldCk7XG4gICAgfVxuXG4gICAgY29uc3QgZ29sYW5nID0gb3B0aW9ucy5wdWJsaXNoVG9HbztcbiAgICBpZiAoZ29sYW5nKSB7XG4gICAgICB0YXJnZXRzLmdvID0ge1xuICAgICAgICBtb2R1bGVOYW1lOiBnb2xhbmcubW9kdWxlTmFtZSxcbiAgICAgICAgcGFja2FnZU5hbWU6IGdvbGFuZy5wYWNrYWdlTmFtZSxcbiAgICAgICAgdmVyc2lvblN1ZmZpeDogZ29sYW5nLnZlcnNpb25TdWZmaXgsXG4gICAgICB9O1xuXG4gICAgICBjb25zdCB0YXNrID0gdGhpcy5hZGRQYWNrYWdpbmdUYXNrKHByb2plY3QsIHBhY2thZ2VBbGxUYXNrLCBcImdvXCIpO1xuICAgICAgdGhpcy5hZGRUYXJnZXRUb0J1aWxkKHByb2plY3QsIHRhc2ssIFwiZ29cIiwgZXh0cmFKb2JPcHRpb25zKTtcbiAgICAgIHRoaXMuYWRkVGFyZ2V0VG9SZWxlYXNlKHByb2plY3QsIHRhc2ssIFwiZ29cIiwgZ29sYW5nKTtcbiAgICB9XG5cbiAgICAvLyBJZiBqc2lpVmVyc2lvbiBpcyBcIipcIiwgZG9uJ3Qgc3BlY2lmeSBhbnl0aGluZyBzbyB0aGUgdXNlciBjYW4gbWFuYWdlLlxuICAgIC8vIE90aGVyd2lzZSwgdXNlIGBqc2lpVmVyc2lvbmBcbiAgICBjb25zdCBqc2lpVmVyc2lvbiA9IG9wdGlvbnMuanNpaVZlcnNpb24gPz8gXCJ+NS45LjBcIjtcbiAgICBjb25zdCBqc2lpU3VmZml4ID0ganNpaVZlcnNpb24gPT09IFwiKlwiID8gXCJcIiA6IGBAJHtqc2lpVmVyc2lvbn1gO1xuICAgIHByb2plY3QuYWRkRGV2RGVwcyhcbiAgICAgIGBqc2lpJHtqc2lpU3VmZml4fWAsXG4gICAgICBganNpaS1yb3NldHRhJHtqc2lpU3VmZml4fWAsXG4gICAgICBcImpzaWktZGlmZlwiLFxuICAgICAgXCJqc2lpLXBhY21ha1wiLFxuICAgICk7XG5cbiAgICBwcm9qZWN0LmdpdGlnbm9yZS5leGNsdWRlKFwiLmpzaWlcIik7XG4gICAgaWYgKCF0c2NvbmZpZykge1xuICAgICAgcHJvamVjdC5naXRpZ25vcmUuZXhjbHVkZShcInRzY29uZmlnLmpzb25cIik7XG4gICAgfVxuICAgIHByb2plY3QubnBtaWdub3JlPy5pbmNsdWRlKFwiLmpzaWlcIik7XG5cbiAgICBpZiAob3B0aW9ucy5kb2NnZW4gPz8gdHJ1ZSkge1xuICAgICAgLy8gSWYganNpaVZlcnNpb24gaXMgXCIqXCIsIGRvbid0IHNwZWNpZnkgYW55dGhpbmcgc28gdGhlIHVzZXIgY2FuIG1hbmFnZS5cbiAgICAgIC8vIE90aGVyd2lzZSB1c2UgYSB2ZXJzaW9uIHRoYXQgaXMgY29tcGF0aWJsZSB3aXRoIGFsbCBzdXBwb3J0ZWQganNpaSByZWxlYXNlcy5cbiAgICAgIGNvbnN0IGRvY2dlblZlcnNpb24gPSBvcHRpb25zLmpzaWlWZXJzaW9uID09PSBcIipcIiA/IFwiKlwiIDogXCJeMTAuNS4wXCI7XG4gICAgICBuZXcgSnNpaURvY2dlbihwcm9qZWN0LCB7XG4gICAgICAgIHZlcnNpb246IGRvY2dlblZlcnNpb24sXG4gICAgICAgIGZpbGVQYXRoOiBvcHRpb25zLmRvY2dlbkZpbGVQYXRoLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8ganNpaSB1cGRhdGVzIC5ucG1pZ25vcmUsIHNvIHdlIG1ha2UgaXQgd3JpdGFibGVcbiAgICBpZiAocHJvamVjdC5ucG1pZ25vcmUpIHtcbiAgICAgIHByb2plY3QubnBtaWdub3JlLnJlYWRvbmx5ID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSB0YXJnZXQgbGFuZ3VhZ2UgdG8gdGhlIHJlbGVhc2Ugd29ya2Zsb3cuXG4gICAqL1xuICBwcml2YXRlIGFkZFRhcmdldFRvUmVsZWFzZShcbiAgICBwcm9qZWN0OiBUeXBlU2NyaXB0UHJvamVjdCxcbiAgICBwYWNrVGFzazogVGFzayxcbiAgICBsYW5ndWFnZTogSnNpaVBhY21ha1RhcmdldCxcbiAgICB0YXJnZXQ6XG4gICAgICB8IEpzaWlQeXRob25UYXJnZXRcbiAgICAgIHwgSnNpaURvdE5ldFRhcmdldFxuICAgICAgfCBKc2lpR29UYXJnZXRcbiAgICAgIHwgSnNpaUphdmFUYXJnZXRcbiAgICAgIHwgTnBtUHVibGlzaE9wdGlvbnMsXG4gICkge1xuICAgIGlmICghcHJvamVjdC5yZWxlYXNlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcGFjbWFrID0gdGhpcy5wYWNtYWtGb3JMYW5ndWFnZShwcm9qZWN0LCBsYW5ndWFnZSwgcGFja1Rhc2spO1xuICAgIGNvbnN0IHByZVB1Ymxpc2hTdGVwcyA9IFtcbiAgICAgIC4uLnBhY21hay5ib290c3RyYXBTdGVwcyxcbiAgICAgIFdvcmtmbG93U3RlcHMuY2hlY2tvdXQoe1xuICAgICAgICB3aXRoOiB7XG4gICAgICAgICAgcGF0aDogUkVQT19URU1QX0RJUkVDVE9SWSxcbiAgICAgICAgICAuLi4ocHJvamVjdC5naXRodWI/LmRvd25sb2FkTGZzID8geyBsZnM6IHRydWUgfSA6IHt9KSxcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgICAgLi4ucGFjbWFrLnBhY2thZ2luZ1N0ZXBzLFxuICAgIF07XG4gICAgY29uc3QgY29tbW9uUHVibGlzaE9wdGlvbnM6IENvbW1vblB1Ymxpc2hPcHRpb25zID0ge1xuICAgICAgcHVibGlzaFRvb2xzOiBwYWNtYWsucHVibGlzaFRvb2xzLFxuICAgICAgcHJlUHVibGlzaFN0ZXBzLFxuICAgIH07XG5cbiAgICBjb25zdCBoYW5kbGVyOiBQdWJsaXNoVG8gPSBwdWJsaXNoVG9bbGFuZ3VhZ2VdO1xuICAgIHByb2plY3QucmVsZWFzZT8ucHVibGlzaGVyW2hhbmRsZXJdKHtcbiAgICAgIC4uLmNvbW1vblB1Ymxpc2hPcHRpb25zLFxuICAgICAgLi4udGFyZ2V0LFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSB0YXJnZXQgbGFuZ3VhZ2UgdG8gdGhlIGJ1aWxkIHdvcmtmbG93LlxuICAgKi9cbiAgcHJpdmF0ZSBhZGRUYXJnZXRUb0J1aWxkKFxuICAgIHByb2plY3Q6IFR5cGVTY3JpcHRQcm9qZWN0LFxuICAgIHBhY2tUYXNrOiBUYXNrLFxuICAgIGxhbmd1YWdlOiBKc2lpUGFjbWFrVGFyZ2V0LFxuICAgIGV4dHJhSm9iT3B0aW9uczogUGFydGlhbDxKb2I+LFxuICApIHtcbiAgICBpZiAoIXByb2plY3QuYnVpbGRXb3JrZmxvdykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBwYWNtYWsgPSB0aGlzLnBhY21ha0Zvckxhbmd1YWdlKHByb2plY3QsIGxhbmd1YWdlLCBwYWNrVGFzayk7XG5cbiAgICBwcm9qZWN0LmJ1aWxkV29ya2Zsb3cuYWRkUG9zdEJ1aWxkSm9iKGBwYWNrYWdlLSR7bGFuZ3VhZ2V9YCwge1xuICAgICAgLi4uZmlsdGVyZWRSdW5zT25PcHRpb25zKFxuICAgICAgICBleHRyYUpvYk9wdGlvbnMucnVuc09uLFxuICAgICAgICBleHRyYUpvYk9wdGlvbnMucnVuc09uR3JvdXAsXG4gICAgICApLFxuICAgICAgcGVybWlzc2lvbnM6IHtcbiAgICAgICAgY29udGVudHM6IEpvYlBlcm1pc3Npb24uUkVBRCxcbiAgICAgIH0sXG4gICAgICB0b29sczoge1xuICAgICAgICBub2RlOiB7XG4gICAgICAgICAgdmVyc2lvbjpcbiAgICAgICAgICAgIHRoaXMub3B0aW9ucy53b3JrZmxvd05vZGVWZXJzaW9uID8/XG4gICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICBwcm9qZWN0Lm5vZGVWZXJzaW9uID8/XG4gICAgICAgICAgICBcImx0cy8qXCIsXG4gICAgICAgIH0sXG4gICAgICAgIC4uLnBhY21hay5wdWJsaXNoVG9vbHMsXG4gICAgICB9LFxuICAgICAgc3RlcHM6IFtcbiAgICAgICAgLi4ucGFjbWFrLmJvb3RzdHJhcFN0ZXBzLFxuICAgICAgICBXb3JrZmxvd1N0ZXBzLmNoZWNrb3V0KHtcbiAgICAgICAgICB3aXRoOiB7XG4gICAgICAgICAgICBwYXRoOiBSRVBPX1RFTVBfRElSRUNUT1JZLFxuICAgICAgICAgICAgcmVmOiBQVUxMX1JFUVVFU1RfU0hBLFxuICAgICAgICAgICAgcmVwb3NpdG9yeTogUFVMTF9SRVFVRVNUX1JFUE9TSVRPUlksXG4gICAgICAgICAgICAuLi4ocHJvamVjdC5naXRodWI/LmRvd25sb2FkTGZzID8geyBsZnM6IHRydWUgfSA6IHt9KSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KSxcbiAgICAgICAgLi4ucGFjbWFrLnBhY2thZ2luZ1N0ZXBzLFxuICAgICAgXSxcbiAgICAgIC4uLmV4dHJhSm9iT3B0aW9ucyxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkUGFja2FnaW5nVGFzayhcbiAgICBwcm9qZWN0OiBUeXBlU2NyaXB0UHJvamVjdCxcbiAgICBwYWNrYWdlQWxsVGFzazogVGFzayxcbiAgICBsYW5ndWFnZTogSnNpaVBhY21ha1RhcmdldCxcbiAgKTogVGFzayB7XG4gICAgY29uc3QgcGFja2FnZVRhcmdldFRhc2sgPSBwcm9qZWN0LnRhc2tzLmFkZFRhc2soYHBhY2thZ2U6JHtsYW5ndWFnZX1gLCB7XG4gICAgICBkZXNjcmlwdGlvbjogYENyZWF0ZSAke2xhbmd1YWdlfSBsYW5ndWFnZSBiaW5kaW5nc2AsXG4gICAgfSk7XG4gICAgY29uc3QgY29tbWFuZFBhcnRzID0gW1wianNpaS1wYWNtYWtcIiwgXCItdlwiXTtcblxuICAgIGlmIChwcm9qZWN0LnBhY2thZ2UucGFja2FnZU1hbmFnZXIgPT09IE5vZGVQYWNrYWdlTWFuYWdlci5QTlBNKSB7XG4gICAgICBjb21tYW5kUGFydHMucHVzaChcIi0tcGFjay1jb21tYW5kXCIsIFwicG5wbSBwYWNrXCIpO1xuICAgIH1cblxuICAgIGNvbW1hbmRQYXJ0cy5wdXNoKFwiLS10YXJnZXRcIiwgbGFuZ3VhZ2UpO1xuXG4gICAgcGFja2FnZVRhcmdldFRhc2suZXhlY0FyZ3MoY29tbWFuZFBhcnRzKTtcblxuICAgIHBhY2thZ2VBbGxUYXNrLnNwYXduKHBhY2thZ2VUYXJnZXRUYXNrKTtcbiAgICByZXR1cm4gcGFja2FnZVRhcmdldFRhc2s7XG4gIH1cblxuICBwcml2YXRlIHBhY21ha0Zvckxhbmd1YWdlKFxuICAgIHByb2plY3Q6IFR5cGVTY3JpcHRQcm9qZWN0LFxuICAgIHRhcmdldDogSnNpaVBhY21ha1RhcmdldCxcbiAgICBwYWNrVGFzazogVGFzayxcbiAgKToge1xuICAgIHB1Ymxpc2hUb29sczogVG9vbHM7XG4gICAgYm9vdHN0cmFwU3RlcHM6IEFycmF5PFN0ZXA+O1xuICAgIHBhY2thZ2luZ1N0ZXBzOiBBcnJheTxTdGVwPjtcbiAgfSB7XG4gICAgY29uc3QgYm9vdHN0cmFwU3RlcHM6IEFycmF5PFN0ZXA+ID0gW107XG4gICAgY29uc3QgcGFja2FnaW5nU3RlcHM6IEFycmF5PFN0ZXA+ID0gW107XG5cbiAgICAvLyBHZW5lcmljIGJvb3RzdHJhcHBpbmcgZm9yIGFsbCB0YXJnZXQgbGFuZ3VhZ2VzXG4gICAgYm9vdHN0cmFwU3RlcHMucHVzaCguLi4odGhpcy5vcHRpb25zLndvcmtmbG93Qm9vdHN0cmFwU3RlcHMgPz8gW10pKTtcbiAgICBpZiAocHJvamVjdC5wYWNrYWdlLnBhY2thZ2VNYW5hZ2VyID09PSBOb2RlUGFja2FnZU1hbmFnZXIuUE5QTSkge1xuICAgICAgYm9vdHN0cmFwU3RlcHMucHVzaCh7XG4gICAgICAgIG5hbWU6IFwiU2V0dXAgcG5wbVwiLFxuICAgICAgICB1c2VzOiBHaXRIdWJBY3Rpb25zLlBOUE1fQUNUSU9OX1NFVFVQLFxuICAgICAgICB3aXRoOiB7IHZlcnNpb246IHByb2plY3QucGFja2FnZS5wbnBtVmVyc2lvbiB9LFxuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmIChwcm9qZWN0LnBhY2thZ2UucGFja2FnZU1hbmFnZXIgPT09IE5vZGVQYWNrYWdlTWFuYWdlci5CVU4pIHtcbiAgICAgIGJvb3RzdHJhcFN0ZXBzLnB1c2goe1xuICAgICAgICBuYW1lOiBcIlNldHVwIGJ1blwiLFxuICAgICAgICB1c2VzOiBHaXRIdWJBY3Rpb25zLk9WRU5fU0hfU0VUVVBfQlVOLFxuICAgICAgICB3aXRoOiB7IFwiYnVuLXZlcnNpb25cIjogcHJvamVjdC5wYWNrYWdlLmJ1blZlcnNpb24gfSxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAoaXNZYXJuQmVycnkocHJvamVjdC5wYWNrYWdlLnBhY2thZ2VNYW5hZ2VyKSkge1xuICAgICAgYm9vdHN0cmFwU3RlcHMucHVzaCh7XG4gICAgICAgIG5hbWU6IFwiRW5hYmxlIGNvcmVwYWNrXCIsXG4gICAgICAgIHJ1bjogXCJjb3JlcGFjayBlbmFibGVcIixcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGNvbnN0IHdvcmtEaXIgPSB0aGlzLm9wdGlvbnMud29ya3NwYWNlRGlyZWN0b3J5XG4gICAgICA/IGAke1JFUE9fVEVNUF9ESVJFQ1RPUll9LyR7dGhpcy5vcHRpb25zLndvcmtzcGFjZURpcmVjdG9yeX1gXG4gICAgICA6IFJFUE9fVEVNUF9ESVJFQ1RPUlk7XG5cbiAgICAvLyBJbnN0YWxsYXRpb24gc3RlcHMgYmVmb3JlIHBhY2thZ2luZywgYnV0IGFmdGVyIGNoZWNrb3V0XG4gICAgcGFja2FnaW5nU3RlcHMucHVzaChcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJJbnN0YWxsIERlcGVuZGVuY2llc1wiLFxuICAgICAgICBydW46IGBjZCAke1JFUE9fVEVNUF9ESVJFQ1RPUll9ICYmICR7cHJvamVjdC5wYWNrYWdlLmluc3RhbGxDb21tYW5kfWAsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiBcIkV4dHJhY3QgYnVpbGQgYXJ0aWZhY3RcIixcbiAgICAgICAgcnVuOiBgdGFyIC0tc3RyaXAtY29tcG9uZW50cz0xIC14enZmICR7cHJvamVjdC5hcnRpZmFjdHNEaXJlY3Rvcnl9L2pzLyoudGd6IC1DICR7d29ya0Rpcn1gLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogYE1vdmUgYnVpbGQgYXJ0aWZhY3Qgb3V0IG9mIHRoZSB3YXlgLFxuICAgICAgICBydW46IGBtdiAke3Byb2plY3QuYXJ0aWZhY3RzRGlyZWN0b3J5fSAke0JVSUxEX0FSVElGQUNUX09MRF9ESVJ9YCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IGBDcmVhdGUgJHt0YXJnZXR9IGFydGlmYWN0YCxcbiAgICAgICAgcnVuOiBgY2QgJHt3b3JrRGlyfSAmJiAke3Byb2plY3QucnVuVGFza0NvbW1hbmQocGFja1Rhc2spfWAsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiBgQ29sbGVjdCAke3RhcmdldH0gYXJ0aWZhY3RgLFxuICAgICAgICBydW46IGBtdiAke3dvcmtEaXJ9LyR7cHJvamVjdC5hcnRpZmFjdHNEaXJlY3Rvcnl9ICR7cHJvamVjdC5hcnRpZmFjdHNEaXJlY3Rvcnl9YCxcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIHJldHVybiB7XG4gICAgICBwdWJsaXNoVG9vbHM6IEpTSUlfVE9PTENIQUlOW3RhcmdldF0sXG4gICAgICBib290c3RyYXBTdGVwcyxcbiAgICAgIHBhY2thZ2luZ1N0ZXBzLFxuICAgIH07XG4gIH1cbn1cblxudHlwZSBQdWJsaXNoVG8gPSBrZXlvZiBQdWJsaXNoZXIgJlxuICAoXG4gICAgfCBcInB1Ymxpc2hUb05wbVwiXG4gICAgfCBcInB1Ymxpc2hUb01hdmVuXCJcbiAgICB8IFwicHVibGlzaFRvUHlQaVwiXG4gICAgfCBcInB1Ymxpc2hUb051Z2V0XCJcbiAgICB8IFwicHVibGlzaFRvR29cIlxuICApO1xuXG50eXBlIFB1Ymxpc2hUb1RhcmdldCA9IHsgW0sgaW4gSnNpaVBhY21ha1RhcmdldF06IFB1Ymxpc2hUbyB9O1xuY29uc3QgcHVibGlzaFRvOiBQdWJsaXNoVG9UYXJnZXQgPSB7XG4gIGpzOiBcInB1Ymxpc2hUb05wbVwiLFxuICBqYXZhOiBcInB1Ymxpc2hUb01hdmVuXCIsXG4gIHB5dGhvbjogXCJwdWJsaXNoVG9QeVBpXCIsXG4gIGRvdG5ldDogXCJwdWJsaXNoVG9OdWdldFwiLFxuICBnbzogXCJwdWJsaXNoVG9Hb1wiLFxufTtcbiJdfQ==
|
|
377
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNpaS1idWlsZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jZGsvanNpaS1idWlsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBR0EscUNBQTBDO0FBQzFDLCtDQUEyQztBQU8zQyxvREFHaUM7QUFDakMsMkRBQXFEO0FBQ3JELDZEQUF5RDtBQUV6RCwrREFBMEQ7QUFDMUQsOENBQW1EO0FBRW5ELDZDQUFpRDtBQU1qRCxzREFBMEQ7QUFDMUQsOENBQWtEO0FBRWxELE1BQU0sbUJBQW1CLEdBQUcsT0FBTyxDQUFDO0FBQ3BDLE1BQU0sc0JBQXNCLEdBQUcsVUFBVSxDQUFDO0FBRTFDOztHQUVHO0FBQ0gsSUFBWSxnQkFvQlg7QUFwQkQsV0FBWSxnQkFBZ0I7SUFDMUI7O09BRUc7SUFDSCxxQ0FBaUIsQ0FBQTtJQUVqQjs7T0FFRztJQUNILDJDQUF1QixDQUFBO0lBRXZCOztPQUVHO0lBQ0gsdUNBQW1CLENBQUE7SUFFbkI7O09BRUc7SUFDSCwrQkFBVyxDQUFBO0FBQ2IsQ0FBQyxFQXBCVyxnQkFBZ0IsZ0NBQWhCLGdCQUFnQixRQW9CM0I7QUFxS0Q7Ozs7Ozs7Ozs7Ozs7R0FhRztBQUNILE1BQWEsU0FBUzs7SUFDSCxPQUFPLENBQW1CO0lBQzFCLGVBQWUsQ0FBZTtJQUUvQyxZQUNFLFVBQTRCLEVBQUUsRUFDOUIsZUFBeUM7UUFFekMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLGVBQWUsSUFBSSxFQUFFLENBQWlCLENBQUM7SUFDakUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksUUFBUSxDQUFDLFNBQXFCO1FBQ25DLE9BQU8sU0FBUyxZQUFZLDhCQUFpQixDQUFDO0lBQ2hELENBQUM7SUFFRDs7T0FFRztJQUNJLE9BQU8sQ0FBQyxPQUFtQjtRQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQzVC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QU0sT0FBTyxDQUFDLGtCQUFrQixJQUFJLHNCQUFzQixFQUFFO1NBQ2xFLEVBQ0Q7WUFDRSxJQUFJLEVBQUUsVUFBVSxNQUFNLFdBQVc7WUFDakMsR0FBRyxFQUFFLE1BQU0sT0FBTyxPQUFPLE9BQU8sQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLEVBQUU7U0FDNUQsRUFDRDtZQUNFLElBQUksRUFBRSxXQUFXLE1BQU0sV0FBVztZQUNsQyxHQUFHLEVBQUUsTUFBTSxPQUFPLElBQUksT0FBTyxDQUFDLGtCQUFrQixJQUFJLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRTtTQUNqRixDQUNGLENBQUM7UUFFRixPQUFPO1lBQ0wsWUFBWSxFQUFFLHVCQUFjLENBQUMsTUFBTSxDQUFDO1lBQ3BDLGNBQWM7WUFDZCxjQUFjO1NBQ2YsQ0FBQztJQUNKLENBQUM7O0FBdlpILDhCQXdaQztBQVlELE1BQU0sU0FBUyxHQUFvQjtJQUNqQyxFQUFFLEVBQUUsY0FBYztJQUNsQixJQUFJLEVBQUUsZ0JBQWdCO0lBQ3RCLE1BQU0sRUFBRSxlQUFlO0lBQ3ZCLE1BQU0sRUFBRSxnQkFBZ0I7SUFDeEIsRUFBRSxFQUFFLGFBQWE7Q0FDbEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgSUNvbnN0cnVjdCwgSU1peGluIH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB0eXBlIHsgVGFzayB9IGZyb20gXCIuLlwiO1xuaW1wb3J0IHR5cGUgeyBKc2lpUGFjbWFrVGFyZ2V0IH0gZnJvbSBcIi4vY29uc3RzXCI7XG5pbXBvcnQgeyBKU0lJX1RPT0xDSEFJTiB9IGZyb20gXCIuL2NvbnN0c1wiO1xuaW1wb3J0IHsgSnNpaURvY2dlbiB9IGZyb20gXCIuL2pzaWktZG9jZ2VuXCI7XG5pbXBvcnQgdHlwZSB7XG4gIEpzaWlEb3ROZXRUYXJnZXQsXG4gIEpzaWlHb1RhcmdldCxcbiAgSnNpaUphdmFUYXJnZXQsXG4gIEpzaWlQeXRob25UYXJnZXQsXG59IGZyb20gXCIuL2pzaWktcHJvamVjdFwiO1xuaW1wb3J0IHtcbiAgUFVMTF9SRVFVRVNUX1JFUE9TSVRPUlksXG4gIFBVTExfUkVRVUVTVF9TSEEsXG59IGZyb20gXCIuLi9idWlsZC9wcml2YXRlL2NvbnN0c1wiO1xuaW1wb3J0IHsgQWN0aW9uUmVmcyB9IGZyb20gXCIuLi9naXRodWIvYWN0aW9ucy5jb25zdFwiO1xuaW1wb3J0IHsgV29ya2Zsb3dTdGVwcyB9IGZyb20gXCIuLi9naXRodWIvd29ya2Zsb3ctc3RlcHNcIjtcbmltcG9ydCB0eXBlIHsgSm9iLCBTdGVwLCBUb29scyB9IGZyb20gXCIuLi9naXRodWIvd29ya2Zsb3dzLW1vZGVsXCI7XG5pbXBvcnQgeyBKb2JQZXJtaXNzaW9uIH0gZnJvbSBcIi4uL2dpdGh1Yi93b3JrZmxvd3MtbW9kZWxcIjtcbmltcG9ydCB7IE5vZGVQYWNrYWdlTWFuYWdlciB9IGZyb20gXCIuLi9qYXZhc2NyaXB0XCI7XG5pbXBvcnQgdHlwZSB7IFR5cGVzY3JpcHRDb25maWcgfSBmcm9tIFwiLi4vamF2YXNjcmlwdFwiO1xuaW1wb3J0IHsgaXNZYXJuQmVycnkgfSBmcm9tIFwiLi4vamF2YXNjcmlwdC91dGlsXCI7XG5pbXBvcnQgdHlwZSB7XG4gIENvbW1vblB1Ymxpc2hPcHRpb25zLFxuICBOcG1QdWJsaXNoT3B0aW9ucyxcbiAgUHVibGlzaGVyLFxufSBmcm9tIFwiLi4vcmVsZWFzZVwiO1xuaW1wb3J0IHsgZmlsdGVyZWRSdW5zT25PcHRpb25zIH0gZnJvbSBcIi4uL3J1bm5lci1vcHRpb25zXCI7XG5pbXBvcnQgeyBUeXBlU2NyaXB0UHJvamVjdCB9IGZyb20gXCIuLi90eXBlc2NyaXB0XCI7XG5cbmNvbnN0IFJFUE9fVEVNUF9ESVJFQ1RPUlkgPSBcIi5yZXBvXCI7XG5jb25zdCBCVUlMRF9BUlRJRkFDVF9PTERfRElSID0gXCJkaXN0Lm9sZFwiO1xuXG4vKipcbiAqIExldmVsIG9mIHRzY29uZmlnIHZhbGlkYXRpb24ganNpaSBzaG91bGQgcGVyZm9ybS5cbiAqL1xuZXhwb3J0IGVudW0gVmFsaWRhdGVUc2NvbmZpZyB7XG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgYWdhaW5zdCBhIHN0cmljdCBydWxlIHNldCBkZXNpZ25lZCBmb3Igd2lkZXNwcmVhZCBzdXBwb3J0IGFuZCBiYWNrd2FyZHMtY29tcGF0aWJpbGl0eS5cbiAgICovXG4gIFNUUklDVCA9IFwic3RyaWN0XCIsXG5cbiAgLyoqXG4gICAqIEVuZm9yY2VzIGEgdHNjb25maWcgYXMgaWYgaXQgd2VyZSBnZW5lcmF0ZWQgYnkganNpaS5cbiAgICovXG4gIEdFTkVSQVRFRCA9IFwiZ2VuZXJhdGVkXCIsXG5cbiAgLyoqXG4gICAqIE9ubHkgcmVqZWN0IG9wdGlvbnMga25vd24gdG8gYmUgaW5jb21wYXRpYmxlIHdpdGgganNpaS5cbiAgICovXG4gIE1JTklNQUwgPSBcIm1pbmltYWxcIixcblxuICAvKipcbiAgICogRGlzYWJsZXMgYWxsIGNvbmZpZyB2YWxpZGF0aW9uLiBVc2UgYXQgeW91ciBvd24gcmlzay5cbiAgICovXG4gIE9GRiA9IFwib2ZmXCIsXG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgYEpzaWlCdWlsZGAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSnNpaUJ1aWxkT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBQdWJsaXNoIHRvIG1hdmVuXG4gICAqIEBkZWZhdWx0IC0gbm8gcHVibGlzaGluZ1xuICAgKi9cbiAgcmVhZG9ubHkgcHVibGlzaFRvTWF2ZW4/OiBKc2lpSmF2YVRhcmdldDtcblxuICAvKipcbiAgICogUHVibGlzaCB0byBweXBpXG4gICAqIEBkZWZhdWx0IC0gbm8gcHVibGlzaGluZ1xuICAgKi9cbiAgcmVhZG9ubHkgcHVibGlzaFRvUHlwaT86IEpzaWlQeXRob25UYXJnZXQ7XG5cbiAgLyoqXG4gICAqIFB1Ymxpc2ggR28gYmluZGluZ3MgdG8gYSBnaXQgcmVwb3NpdG9yeS5cbiAgICogQGRlZmF1bHQgLSBubyBwdWJsaXNoaW5nXG4gICAqL1xuICByZWFkb25seSBwdWJsaXNoVG9Hbz86IEpzaWlHb1RhcmdldDtcblxuICAvKipcbiAgICogUHVibGlzaCB0byBOdUdldFxuICAgKiBAZGVmYXVsdCAtIG5vIHB1Ymxpc2hpbmdcbiAgICovXG4gIHJlYWRvbmx5IHB1Ymxpc2hUb051Z2V0PzogSnNpaURvdE5ldFRhcmdldDtcblxuICAvKipcbiAgICogQXV0b21hdGljYWxseSBydW4gQVBJIGNvbXBhdGliaWxpdHkgdGVzdCBhZ2FpbnN0IHRoZSBsYXRlc3QgdmVyc2lvbiBwdWJsaXNoZWQgdG8gbnBtIGFmdGVyIGNvbXBpbGF0aW9uLlxuICAgKlxuICAgKiAtIFlvdSBjYW4gbWFudWFsbHkgcnVuIGNvbXBhdGliaWxpdHkgdGVzdHMgdXNpbmcgYHlhcm4gY29tcGF0YCBpZiB0aGlzIGZlYXR1cmUgaXMgZGlzYWJsZWQuXG4gICAqIC0gWW91IGNhbiBpZ25vcmUgY29tcGF0aWJpbGl0eSBmYWlsdXJlcyBieSBhZGRpbmcgbGluZXMgdG8gYSBcIi5jb21wYXRpZ25vcmVcIiBmaWxlLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgY29tcGF0PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogTmFtZSBvZiB0aGUgaWdub3JlIGZpbGUgZm9yIEFQSSBjb21wYXRpYmlsaXR5IHRlc3RzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBcIi5jb21wYXRpZ25vcmVcIlxuICAgKi9cbiAgcmVhZG9ubHkgY29tcGF0SWdub3JlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBY2NlcHRzIGEgbGlzdCBvZiBnbG9iIHBhdHRlcm5zLiBGaWxlcyBtYXRjaGluZyBhbnkgb2YgdGhvc2UgcGF0dGVybnMgd2lsbCBiZSBleGNsdWRlZCBmcm9tIHRoZSBUeXBlU2NyaXB0IGNvbXBpbGVyIGlucHV0LlxuICAgKlxuICAgKiBCeSBkZWZhdWx0LCBqc2lpIHdpbGwgaW5jbHVkZSBhbGwgKi50cyBmaWxlcyAoZXhjZXB0IC5kLnRzIGZpbGVzKSBpbiB0aGUgVHlwZVNjcmlwdCBjb21waWxlciBpbnB1dC5cbiAgICogVGhpcyBjYW4gYmUgcHJvYmxlbWF0aWMgZm9yIGV4YW1wbGUgd2hlbiB0aGUgcGFja2FnZSdzIGJ1aWxkIG9yIHRlc3QgcHJvY2VkdXJlIGdlbmVyYXRlcyAudHMgZmlsZXNcbiAgICogdGhhdCBjYW5ub3QgYmUgY29tcGlsZWQgd2l0aCBqc2lpJ3MgY29tcGlsZXIgc2V0dGluZ3MuXG4gICAqL1xuICByZWFkb25seSBleGNsdWRlVHlwZXNjcmlwdD86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBGaWxlIHBhdGggZm9yIGdlbmVyYXRlZCBkb2NzLlxuICAgKiBAZGVmYXVsdCBcIkFQSS5tZFwiXG4gICAqL1xuICByZWFkb25seSBkb2NnZW5GaWxlUGF0aD86IHN0cmluZztcblxuICAvKipcbiAgICogRW1pdCBhIGNvbXByZXNzZWQgdmVyc2lvbiBvZiB0aGUgYXNzZW1ibHlcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGNvbXByZXNzQXNzZW1ibHk/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBWZXJzaW9uIG9mIHRoZSBqc2lpIGNvbXBpbGVyIHRvIHVzZS5cbiAgICpcbiAgICogU2V0IHRvIFwiKlwiIGlmIHlvdSB3YW50IHRvIG1hbnVhbGx5IG1hbmFnZSB0aGUgdmVyc2lvbiBvZiBqc2lpIGluIHlvdXJcbiAgICogcHJvamVjdCBieSBtYW5hZ2luZyB1cGRhdGVzIHRvIGBwYWNrYWdlLmpzb25gIG9uIHlvdXIgb3duLlxuICAgKlxuICAgKiBOT1RFOiBUaGUganNpaSBjb21waWxlciByZWxlYXNlcyBzaW5jZSA1LjAuMCBhcmUgbm90IHNlbWFudGljYWxseSB2ZXJzaW9uZWRcbiAgICogYW5kIHNob3VsZCByZW1haW4gb24gdGhlIHNhbWUgbWlub3IsIHNvIHdlIHJlY29tbWVuZCB1c2luZyBhIGB+YCBkZXBlbmRlbmN5XG4gICAqIChlLmcuIGB+NS4wLjBgKS5cbiAgICpcbiAgICogQGRlZmF1bHQgXCJ+NS45LjBcIlxuICAgKi9cbiAgcmVhZG9ubHkganNpaVZlcnNpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBzdGFiaWxpdHkgb2YgdGhlIHBhY2thZ2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IFwic3RhYmxlXCJcbiAgICovXG4gIHJlYWRvbmx5IHN0YWJpbGl0eT86IHN0cmluZztcblxuICAvKipcbiAgICogR2VuZXJhdGUgYSBNYXJrRG93biBmaWxlIGRlc2NyaWJpbmcgdGhlIGpzaWkgQVBJLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBkb2NnZW4/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHB1Ymxpc2ggdG8gbnBtLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSByZWxlYXNlVG9OcG0/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHVzZSB0cnVzdGVkIHB1Ymxpc2hpbmcgZm9yIG5wbS5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IG5wbVRydXN0ZWRQdWJsaXNoaW5nPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogT3B0aW9ucyBmb3IgcHVibGlzaGluZyBucG0gcGFja2FnZSB0byBBV1MgQ29kZUFydGlmYWN0LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHVuZGVmaW5lZFxuICAgKi9cbiAgcmVhZG9ubHkgY29kZUFydGlmYWN0T3B0aW9ucz86IE5wbVB1Ymxpc2hPcHRpb25zW1wiY29kZUFydGlmYWN0T3B0aW9uc1wiXTtcblxuICAvKipcbiAgICogUmVsYXRpdmUgcGF0aCBvZiB0aGUgcGFja2FnZSB3aXRoaW4gdGhlIHJlcG9zaXRvcnkuXG4gICAqXG4gICAqIFRoaXMgaXMgdXNlZCBpbiBtb25vcmVwbyBzZXR1cHMgd2hlcmUgdGhlIHBhY2thZ2UgaXMgbm90IGF0IHRoZSByb290LlxuICAgKiBQYWNrYWdpbmcgc3RlcHMgd2lsbCBleHRyYWN0IGJ1aWxkIGFydGlmYWN0cyBpbnRvIHRoaXMgc3ViZGlyZWN0b3J5LlxuICAgKlxuICAgKiBAZGVmYXVsdCBcIi5cIiAtIHJvb3Qgb2YgdGhlIHJlcG9zaXRvcnlcbiAgICovXG4gIHJlYWRvbmx5IHdvcmtzcGFjZURpcmVjdG9yeT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5vZGUgdmVyc2lvbiB0byB1c2UgaW4gcGFja2FnaW5nIHdvcmtmbG93cy5cbiAgICpcbiAgICogQGRlZmF1bHQgXCJsdHMvKlwiXG4gICAqL1xuICByZWFkb25seSB3b3JrZmxvd05vZGVWZXJzaW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIHN0ZXBzIHRvIHJ1biBiZWZvcmUgcGFja2FnaW5nIGluIHdvcmtmbG93cy5cbiAgICpcbiAgICogQGRlZmF1bHQgW11cbiAgICovXG4gIHJlYWRvbmx5IHdvcmtmbG93Qm9vdHN0cmFwU3RlcHM/OiBBcnJheTxTdGVwPjtcblxuICAvKipcbiAgICogTGV2ZWwgb2YgdHNjb25maWcgdmFsaWRhdGlvbiBqc2lpIHNob3VsZCBwZXJmb3JtIG9uIHRoZSB1c2VyLXByb3ZpZGVkIHRzY29uZmlnLlxuICAgKlxuICAgKiBPbmx5IHJlbGV2YW50IHdoZW4gdGhlIHByb2plY3Qgc3ludGhlc2l6ZXMgaXRzIG93biB0c2NvbmZpZ1xuICAgKiAoaS5lLiBgZGlzYWJsZVRzY29uZmlnYCBpcyBub3Qgc2V0IG9uIHRoZSBUeXBlU2NyaXB0UHJvamVjdCkuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9hd3MuZ2l0aHViLmlvL2pzaWkvdXNlci1ndWlkZXMvbGliLWF1dGhvci9jb25maWd1cmF0aW9uLyN2YWxpZGF0ZXRzY29uZmlnXG4gICAqIEBkZWZhdWx0IFZhbGlkYXRlVHNjb25maWcuU1RSSUNUXG4gICAqL1xuICByZWFkb25seSB2YWxpZGF0ZVRzY29uZmlnPzogVmFsaWRhdGVUc2NvbmZpZztcblxuICAvKipcbiAgICogVGhlIFR5cGVzY3JpcHRDb25maWcgdGhhdCBqc2lpIGNvbXBpbGVzIGFnYWluc3QuXG4gICAqXG4gICAqIFByb3ZpZGUgYSBkZWRpY2F0ZWQgY29uZmlnIChlLmcuIG9uZSBuYW1lZCBgdHNjb25maWcuanNpaS5qc29uYCkgdG8ga2VlcFxuICAgKiBqc2lpIGNvbXBpbGF0aW9uIHNlcGFyYXRlIGZyb20gdGhlIHByb2plY3QncyBlZGl0b3ItZmFjaW5nIGB0c2NvbmZpZy5qc29uYC5cbiAgICoganNpaSByZXF1aXJlcyBhIGNvbW1lbnQtZnJlZSwgc3RyaWN0LXZhbGlkIGNvbmZpZywgc28gYEpzaWlCdWlsZGAgZGlzYWJsZXNcbiAgICogY29tbWVudHMgb24gd2hpY2hldmVyIGNvbmZpZyBpdCBpcyBnaXZlbi5cbiAgICpcbiAgICogQGRlZmF1bHQgLSB0aGUgcHJvamVjdCdzIHRzY29uZmlnIChpLmUuIGBwcm9qZWN0LnRzY29uZmlnYClcbiAgICovXG4gIHJlYWRvbmx5IHRzY29uZmlnPzogVHlwZXNjcmlwdENvbmZpZztcbn1cblxuLyoqXG4gKiBBIG1peGluIHRoYXQgYWRkcyBqc2lpIGNvbXBpbGF0aW9uLCBtdWx0aS1sYW5ndWFnZSBwYWNrYWdpbmcsIGFuZCBwdWJsaXNoaW5nXG4gKiBjYXBhYmlsaXRpZXMgdG8gYW55IFR5cGVTY3JpcHQgcHJvamVjdC5cbiAqXG4gKiBUaGlzIGltcGxlbWVudHMgdGhlIGNvbnN0cnVjdHMgYElNaXhpbmAgaW50ZXJmYWNlIGFuZCBpcyBhcHBsaWVkIHVzaW5nIHRoZVxuICogYC53aXRoKClgIG1ldGhvZCBvbiBhbnkgY29uc3RydWN0LlxuICpcbiAqIEBleGFtcGxlXG4gKiBjb25zdCBwcm9qZWN0ID0gbmV3IFR5cGVTY3JpcHRQcm9qZWN0KHsgZGlzYWJsZVRzY29uZmlnOiB0cnVlLCAuLi4gfSk7XG4gKiBwcm9qZWN0LndpdGgobmV3IEpzaWlCdWlsZCh7XG4gKiAgIGpzaWlWZXJzaW9uOiAnfjUuOS4wJyxcbiAqICAgcHVibGlzaFRvTWF2ZW46IHsgLi4uIH0sXG4gKiB9KSk7XG4gKi9cbmV4cG9ydCBjbGFzcyBKc2lpQnVpbGQgaW1wbGVtZW50cyBJTWl4aW4ge1xuICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IEpzaWlCdWlsZE9wdGlvbnM7XG4gIHByaXZhdGUgcmVhZG9ubHkgZXh0cmFKb2JPcHRpb25zOiBQYXJ0aWFsPEpvYj47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgb3B0aW9uczogSnNpaUJ1aWxkT3B0aW9ucyA9IHt9LFxuICAgIGV4dHJhSm9iT3B0aW9ucz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICApIHtcbiAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zO1xuICAgIHRoaXMuZXh0cmFKb2JPcHRpb25zID0gKGV4dHJhSm9iT3B0aW9ucyA/PyB7fSkgYXMgUGFydGlhbDxKb2I+O1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdHJ1ZSBpZiB0aGUgY29uc3RydWN0IGlzIGEgVHlwZVNjcmlwdFByb2plY3QuXG4gICAqL1xuICBwdWJsaWMgc3VwcG9ydHMoY29uc3RydWN0OiBJQ29uc3RydWN0KTogY29uc3RydWN0IGlzIFR5cGVTY3JpcHRQcm9qZWN0IHtcbiAgICByZXR1cm4gY29uc3RydWN0IGluc3RhbmNlb2YgVHlwZVNjcmlwdFByb2plY3Q7XG4gIH1cblxuICAvKipcbiAgICogQXBwbGllcyBqc2lpIGNvbmZpZ3VyYXRpb24gdG8gdGhlIHRhcmdldCBUeXBlU2NyaXB0UHJvamVjdC5cbiAgICovXG4gIHB1YmxpYyBhcHBseVRvKHByb2plY3Q6IElDb25zdHJ1Y3QpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuc3VwcG9ydHMocHJvamVjdCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBvcHRpb25zID0geyAuLi50aGlzLm9wdGlvbnMgfTtcbiAgICBjb25zdCBzcmNkaXIgPSBwcm9qZWN0LnNyY2RpcjtcbiAgICBjb25zdCBsaWJkaXIgPSBwcm9qZWN0LmxpYmRpcjtcblxuICAgIHByb2plY3QuYWRkRmllbGRzKHsgdHlwZXM6IGAke2xpYmRpcn0vaW5kZXguZC50c2AgfSk7XG5cbiAgICBjb25zdCBjb21wcmVzc0Fzc2VtYmx5ID0gb3B0aW9ucy5jb21wcmVzc0Fzc2VtYmx5ID8/IGZhbHNlO1xuXG4gICAgLy8gdGhpcyBpcyBhbiB1bmhlbHBmdWwgd2FybmluZ1xuICAgIGNvbnN0IGpzaWlGbGFncyA9IFtcIi0tc2lsZW5jZS13YXJuaW5ncz1yZXNlcnZlZC13b3JkXCJdO1xuICAgIGlmIChjb21wcmVzc0Fzc2VtYmx5KSB7XG4gICAgICBqc2lpRmxhZ3MucHVzaChcIi0tY29tcHJlc3MtYXNzZW1ibHlcIik7XG4gICAgfVxuXG4gICAgY29uc3QgY29tcGF0SWdub3JlID0gb3B0aW9ucy5jb21wYXRJZ25vcmUgPz8gXCIuY29tcGF0aWdub3JlXCI7XG5cbiAgICBwcm9qZWN0LmFkZEZpZWxkcyh7XG4gICAgICBzdGFiaWxpdHk6XG4gICAgICAgIG9wdGlvbnMuc3RhYmlsaXR5ID8/IHByb2plY3QucGFja2FnZS5tYW5pZmVzdC5zdGFiaWxpdHkgPz8gXCJzdGFibGVcIixcbiAgICB9KTtcblxuICAgIGlmIChvcHRpb25zLnN0YWJpbGl0eSA9PT0gXCJkZXByZWNhdGVkXCIpIHtcbiAgICAgIHByb2plY3QuYWRkRmllbGRzKHsgZGVwcmVjYXRlZDogdHJ1ZSB9KTtcbiAgICB9XG5cbiAgICBwcm9qZWN0LmNvbXBpbGVUYXNrLnJlc2V0KFtcImpzaWlcIiwgLi4uanNpaUZsYWdzXS5qb2luKFwiIFwiKSk7XG4gICAgcHJvamVjdC53YXRjaFRhc2sucmVzZXQoW1wianNpaVwiLCBcIi13XCIsIC4uLmpzaWlGbGFnc10uam9pbihcIiBcIikpO1xuXG4gICAgY29uc3QgY29tcGF0VGFzayA9IHByb2plY3QuYWRkVGFzayhcImNvbXBhdFwiLCB7XG4gICAgICBkZXNjcmlwdGlvbjogYFBlcmZvcm0gQVBJIGNvbXBhdGliaWxpdHkgY2hlY2sgYWdhaW5zdCBsYXRlc3QgdmVyc2lvbmAsXG4gICAgICBleGVjQXJnczogW1xuICAgICAgICBcImpzaWktZGlmZlwiLFxuICAgICAgICBgbnBtOiR7cHJvamVjdC5wYWNrYWdlLnBhY2thZ2VOYW1lfWAsXG4gICAgICAgIFwiLWtcIixcbiAgICAgICAgXCItLWlnbm9yZS1maWxlXCIsXG4gICAgICAgIGNvbXBhdElnbm9yZSxcbiAgICAgIF0sXG4gICAgfSk7XG5cbiAgICBpZiAob3B0aW9ucy5jb21wYXQgPz8gZmFsc2UpIHtcbiAgICAgIHByb2plY3QuY29tcGlsZVRhc2suc3Bhd24oY29tcGF0VGFzayk7XG4gICAgfVxuXG4gICAgLy8gQ3JlYXRlIGEgbmV3IHBhY2thZ2U6YWxsIHRhc2ssIGl0IHdpbGwgYmUgZmlsbGVkIHdpdGggbGFuZ3VhZ2UgdGFyZ2V0cyBsYXRlclxuICAgIGNvbnN0IHBhY2thZ2VBbGxUYXNrID0gcHJvamVjdC5hZGRUYXNrKFwicGFja2FnZS1hbGxcIiwge1xuICAgICAgZGVzY3JpcHRpb246IFwiUGFja2FnZXMgYXJ0aWZhY3RzIGZvciBhbGwgdGFyZ2V0IGxhbmd1YWdlc1wiLFxuICAgIH0pO1xuXG4gICAgLy8gaW4ganNpaSB3ZSBjb25zaWRlciB0aGUgZW50aXJlIHJlcG8gKHBvc3QgYnVpbGQpIGFzIHRoZSBidWlsZCBhcnRpZmFjdFxuICAgIC8vIHdoaWNoIGlzIHRoZW4gdXNlZCB0byBjcmVhdGUgdGhlIGxhbmd1YWdlIGJpbmRpbmdzIGluIHNlcGFyYXRlIGpvYnMuXG4gICAgY29uc3QgcGFja2FnZUpzVGFzayA9IHRoaXMuYWRkUGFja2FnaW5nVGFzayhwcm9qZWN0LCBwYWNrYWdlQWxsVGFzaywgXCJqc1wiKTtcblxuICAgIC8vIFdoZW4gcnVubmluZyBpbnNpZGUgQ0kgd2UgaW5pdGlhbGx5IG9ubHkgcGFja2FnZSBqcy4gT3RoZXIgdGFyZ2V0cyBhcmUgcGFja2FnZWQgaW4gc2VwYXJhdGUgam9icy5cbiAgICAvLyBPdXRzaWRlIG9mIENJIChpLmUgbG9jYWxseSkgd2Ugc2ltcGx5IHBhY2thZ2UgYWxsIHRhcmdldHMuXG4gICAgcHJvamVjdC5wYWNrYWdlVGFzay5yZXNldCgpO1xuICAgIHByb2plY3QucGFja2FnZVRhc2suc3Bhd24ocGFja2FnZUpzVGFzaywge1xuICAgICAgLy8gT25seSBydW4gaW4gQ0lcbiAgICAgIGNvbmRpdGlvbjogYG5vZGUgLWUgXCJpZiAoIXByb2Nlc3MuZW52LkNJKSBwcm9jZXNzLmV4aXQoMSlcImAsXG4gICAgfSk7XG4gICAgcHJvamVjdC5wYWNrYWdlVGFzay5zcGF3bihwYWNrYWdlQWxsVGFzaywge1xuICAgICAgLy8gRG9uJ3QgcnVuIGluIENJXG4gICAgICBjb25kaXRpb246IGBub2RlIC1lIFwiaWYgKHByb2Nlc3MuZW52LkNJKSBwcm9jZXNzLmV4aXQoMSlcImAsXG4gICAgfSk7XG5cbiAgICBjb25zdCB0YXJnZXRzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge307XG5cbiAgICBjb25zdCBqc2lpOiBhbnkgPSB7XG4gICAgICBvdXRkaXI6IHByb2plY3QuYXJ0aWZhY3RzRGlyZWN0b3J5LFxuICAgICAgdGFyZ2V0cyxcbiAgICB9O1xuXG4gICAgLy8ganNpaSBjb21waWxlcyBhZ2FpbnN0IGFuIGV4cGxpY2l0bHkgcHJvdmlkZWQgdHNjb25maWcsIGZhbGxpbmcgYmFjayB0b1xuICAgIC8vIHRoZSBwcm9qZWN0J3Mgb3duIHRzY29uZmlnIHdoZW4gb25lIGlzIG5vdCBpbmplY3RlZC4gV2hlbiBuZWl0aGVyIGlzXG4gICAgLy8gYXZhaWxhYmxlIChlLmcuIGBkaXNhYmxlVHNjb25maWdgKSwgbGV0IGpzaWkgZ2VuZXJhdGUgb25lIGZyb20gdHNjIHNldHRpbmdzLlxuICAgIGNvbnN0IHRzY29uZmlnID0gb3B0aW9ucy50c2NvbmZpZyA/PyBwcm9qZWN0LnRzY29uZmlnO1xuICAgIGlmICh0c2NvbmZpZykge1xuICAgICAgLy8gQHRzLWlnbm9yZSBqc2lpIHVzZXMgSlNPTi5wYXJzZSgpIGFuZCBjYW5ub3QgaGFuZGxlIGNvbW1lbnRzXG4gICAgICB0c2NvbmZpZy5maWxlLmNvbmZpZ3VyZUNvbW1lbnRzKGZhbHNlKTtcbiAgICAgIGpzaWkudHNjb25maWcgPSB0c2NvbmZpZy5maWxlTmFtZTtcbiAgICAgIGpzaWkudmFsaWRhdGVUc2NvbmZpZyA9XG4gICAgICAgIG9wdGlvbnMudmFsaWRhdGVUc2NvbmZpZyA/PyBWYWxpZGF0ZVRzY29uZmlnLlNUUklDVDtcblxuICAgICAgaWYgKG9wdGlvbnMuZXhjbHVkZVR5cGVzY3JpcHQpIHtcbiAgICAgICAgZm9yIChjb25zdCBwYXR0ZXJuIG9mIG9wdGlvbnMuZXhjbHVkZVR5cGVzY3JpcHQpIHtcbiAgICAgICAgICB0c2NvbmZpZy5hZGRFeGNsdWRlKHBhdHRlcm4pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGpzaWkudHNjID0ge1xuICAgICAgICBvdXREaXI6IGxpYmRpcixcbiAgICAgICAgcm9vdERpcjogc3JjZGlyLFxuICAgICAgfTtcbiAgICAgIGlmIChvcHRpb25zLmV4Y2x1ZGVUeXBlc2NyaXB0KSB7XG4gICAgICAgIGpzaWkuZXhjbHVkZVR5cGVzY3JpcHQgPSBvcHRpb25zLmV4Y2x1ZGVUeXBlc2NyaXB0O1xuICAgICAgfVxuICAgIH1cblxuICAgIHByb2plY3QuYWRkRmllbGRzKHsganNpaSB9KTtcblxuICAgIGNvbnN0IGV4dHJhSm9iT3B0aW9uczogUGFydGlhbDxKb2I+ID0gdGhpcy5leHRyYUpvYk9wdGlvbnM7XG5cbiAgICBpZiAob3B0aW9ucy5yZWxlYXNlVG9OcG0gIT09IGZhbHNlKSB7XG4gICAgICBjb25zdCBucG1qczogTnBtUHVibGlzaE9wdGlvbnMgPSB7XG4gICAgICAgIHJlZ2lzdHJ5OiBwcm9qZWN0LnBhY2thZ2UubnBtUmVnaXN0cnksXG4gICAgICAgIG5wbVRva2VuU2VjcmV0OiBwcm9qZWN0LnBhY2thZ2UubnBtVG9rZW5TZWNyZXQsXG4gICAgICAgIG5wbVByb3ZlbmFuY2U6IHByb2plY3QucGFja2FnZS5ucG1Qcm92ZW5hbmNlLFxuICAgICAgICBjb2RlQXJ0aWZhY3RPcHRpb25zOiBvcHRpb25zLmNvZGVBcnRpZmFjdE9wdGlvbnMsXG4gICAgICAgIHRydXN0ZWRQdWJsaXNoaW5nOlxuICAgICAgICAgIG9wdGlvbnMubnBtVHJ1c3RlZFB1Ymxpc2hpbmcgPz9cbiAgICAgICAgICAvL0B0cy1pZ25vcmVcbiAgICAgICAgICBwcm9qZWN0Lm9wdGlvbnMubnBtVHJ1c3RlZFB1Ymxpc2hpbmcgPz9cbiAgICAgICAgICBmYWxzZSxcbiAgICAgIH07XG4gICAgICB0aGlzLmFkZFRhcmdldFRvQnVpbGQocHJvamVjdCwgcGFja2FnZUpzVGFzaywgXCJqc1wiLCBleHRyYUpvYk9wdGlvbnMpO1xuICAgICAgdGhpcy5hZGRUYXJnZXRUb1JlbGVhc2UocHJvamVjdCwgcGFja2FnZUpzVGFzaywgXCJqc1wiLCBucG1qcyk7XG4gICAgfVxuXG4gICAgY29uc3QgbWF2ZW4gPSBvcHRpb25zLnB1Ymxpc2hUb01hdmVuO1xuICAgIGlmIChtYXZlbikge1xuICAgICAgdGFyZ2V0cy5qYXZhID0ge1xuICAgICAgICBwYWNrYWdlOiBtYXZlbi5qYXZhUGFja2FnZSxcbiAgICAgICAgbWF2ZW46IHtcbiAgICAgICAgICBncm91cElkOiBtYXZlbi5tYXZlbkdyb3VwSWQsXG4gICAgICAgICAgYXJ0aWZhY3RJZDogbWF2ZW4ubWF2ZW5BcnRpZmFjdElkLFxuICAgICAgICB9LFxuICAgICAgfTtcblxuICAgICAgY29uc3QgdGFzayA9IHRoaXMuYWRkUGFja2FnaW5nVGFzayhwcm9qZWN0LCBwYWNrYWdlQWxsVGFzaywgXCJqYXZhXCIpO1xuICAgICAgdGhpcy5hZGRUYXJnZXRUb0J1aWxkKHByb2plY3QsIHRhc2ssIFwiamF2YVwiLCBleHRyYUpvYk9wdGlvbnMpO1xuICAgICAgdGhpcy5hZGRUYXJnZXRUb1JlbGVhc2UocHJvamVjdCwgdGFzaywgXCJqYXZhXCIsIG1hdmVuKTtcbiAgICB9XG5cbiAgICBjb25zdCBweXBpID0gb3B0aW9ucy5wdWJsaXNoVG9QeXBpO1xuICAgIGlmIChweXBpKSB7XG4gICAgICB0YXJnZXRzLnB5dGhvbiA9IHtcbiAgICAgICAgZGlzdE5hbWU6IHB5cGkuZGlzdE5hbWUsXG4gICAgICAgIG1vZHVsZTogcHlwaS5tb2R1bGUsXG4gICAgICB9O1xuXG4gICAgICBjb25zdCB0YXNrID0gdGhpcy5hZGRQYWNrYWdpbmdUYXNrKHByb2plY3QsIHBhY2thZ2VBbGxUYXNrLCBcInB5dGhvblwiKTtcbiAgICAgIHRoaXMuYWRkVGFyZ2V0VG9CdWlsZChwcm9qZWN0LCB0YXNrLCBcInB5dGhvblwiLCBleHRyYUpvYk9wdGlvbnMpO1xuICAgICAgdGhpcy5hZGRUYXJnZXRUb1JlbGVhc2UocHJvamVjdCwgdGFzaywgXCJweXRob25cIiwgcHlwaSk7XG4gICAgfVxuXG4gICAgY29uc3QgbnVnZXQgPSBvcHRpb25zLnB1Ymxpc2hUb051Z2V0O1xuICAgIGlmIChudWdldCkge1xuICAgICAgdGFyZ2V0cy5kb3RuZXQgPSB7XG4gICAgICAgIG5hbWVzcGFjZTogbnVnZXQuZG90TmV0TmFtZXNwYWNlLFxuICAgICAgICBwYWNrYWdlSWQ6IG51Z2V0LnBhY2thZ2VJZCxcbiAgICAgICAgaWNvblVybDogbnVnZXQuaWNvblVybCxcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IHRhc2sgPSB0aGlzLmFkZFBhY2thZ2luZ1Rhc2socHJvamVjdCwgcGFja2FnZUFsbFRhc2ssIFwiZG90bmV0XCIpO1xuICAgICAgdGhpcy5hZGRUYXJnZXRUb0J1aWxkKHByb2plY3QsIHRhc2ssIFwiZG90bmV0XCIsIGV4dHJhSm9iT3B0aW9ucyk7XG4gICAgICB0aGlzLmFkZFRhcmdldFRvUmVsZWFzZShwcm9qZWN0LCB0YXNrLCBcImRvdG5ldFwiLCBudWdldCk7XG4gICAgfVxuXG4gICAgY29uc3QgZ29sYW5nID0gb3B0aW9ucy5wdWJsaXNoVG9HbztcbiAgICBpZiAoZ29sYW5nKSB7XG4gICAgICB0YXJnZXRzLmdvID0ge1xuICAgICAgICBtb2R1bGVOYW1lOiBnb2xhbmcubW9kdWxlTmFtZSxcbiAgICAgICAgcGFja2FnZU5hbWU6IGdvbGFuZy5wYWNrYWdlTmFtZSxcbiAgICAgICAgdmVyc2lvblN1ZmZpeDogZ29sYW5nLnZlcnNpb25TdWZmaXgsXG4gICAgICB9O1xuXG4gICAgICBjb25zdCB0YXNrID0gdGhpcy5hZGRQYWNrYWdpbmdUYXNrKHByb2plY3QsIHBhY2thZ2VBbGxUYXNrLCBcImdvXCIpO1xuICAgICAgdGhpcy5hZGRUYXJnZXRUb0J1aWxkKHByb2plY3QsIHRhc2ssIFwiZ29cIiwgZXh0cmFKb2JPcHRpb25zKTtcbiAgICAgIHRoaXMuYWRkVGFyZ2V0VG9SZWxlYXNlKHByb2plY3QsIHRhc2ssIFwiZ29cIiwgZ29sYW5nKTtcbiAgICB9XG5cbiAgICAvLyBJZiBqc2lpVmVyc2lvbiBpcyBcIipcIiwgZG9uJ3Qgc3BlY2lmeSBhbnl0aGluZyBzbyB0aGUgdXNlciBjYW4gbWFuYWdlLlxuICAgIC8vIE90aGVyd2lzZSwgdXNlIGBqc2lpVmVyc2lvbmBcbiAgICBjb25zdCBqc2lpVmVyc2lvbiA9IG9wdGlvbnMuanNpaVZlcnNpb24gPz8gXCJ+NS45LjBcIjtcbiAgICBjb25zdCBqc2lpU3VmZml4ID0ganNpaVZlcnNpb24gPT09IFwiKlwiID8gXCJcIiA6IGBAJHtqc2lpVmVyc2lvbn1gO1xuICAgIHByb2plY3QuYWRkRGV2RGVwcyhcbiAgICAgIGBqc2lpJHtqc2lpU3VmZml4fWAsXG4gICAgICBganNpaS1yb3NldHRhJHtqc2lpU3VmZml4fWAsXG4gICAgICBcImpzaWktZGlmZlwiLFxuICAgICAgXCJqc2lpLXBhY21ha1wiLFxuICAgICk7XG5cbiAgICBwcm9qZWN0LmdpdGlnbm9yZS5leGNsdWRlKFwiLmpzaWlcIik7XG4gICAgaWYgKCF0c2NvbmZpZykge1xuICAgICAgcHJvamVjdC5naXRpZ25vcmUuZXhjbHVkZShcInRzY29uZmlnLmpzb25cIik7XG4gICAgfVxuICAgIHByb2plY3QubnBtaWdub3JlPy5pbmNsdWRlKFwiLmpzaWlcIik7XG5cbiAgICBpZiAob3B0aW9ucy5kb2NnZW4gPz8gdHJ1ZSkge1xuICAgICAgLy8gSWYganNpaVZlcnNpb24gaXMgXCIqXCIsIGRvbid0IHNwZWNpZnkgYW55dGhpbmcgc28gdGhlIHVzZXIgY2FuIG1hbmFnZS5cbiAgICAgIC8vIE90aGVyd2lzZSB1c2UgYSB2ZXJzaW9uIHRoYXQgaXMgY29tcGF0aWJsZSB3aXRoIGFsbCBzdXBwb3J0ZWQganNpaSByZWxlYXNlcy5cbiAgICAgIGNvbnN0IGRvY2dlblZlcnNpb24gPSBvcHRpb25zLmpzaWlWZXJzaW9uID09PSBcIipcIiA/IFwiKlwiIDogXCJeMTAuNS4wXCI7XG4gICAgICBuZXcgSnNpaURvY2dlbihwcm9qZWN0LCB7XG4gICAgICAgIHZlcnNpb246IGRvY2dlblZlcnNpb24sXG4gICAgICAgIGZpbGVQYXRoOiBvcHRpb25zLmRvY2dlbkZpbGVQYXRoLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8ganNpaSB1cGRhdGVzIC5ucG1pZ25vcmUsIHNvIHdlIG1ha2UgaXQgd3JpdGFibGVcbiAgICBpZiAocHJvamVjdC5ucG1pZ25vcmUpIHtcbiAgICAgIHByb2plY3QubnBtaWdub3JlLnJlYWRvbmx5ID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSB0YXJnZXQgbGFuZ3VhZ2UgdG8gdGhlIHJlbGVhc2Ugd29ya2Zsb3cuXG4gICAqL1xuICBwcml2YXRlIGFkZFRhcmdldFRvUmVsZWFzZShcbiAgICBwcm9qZWN0OiBUeXBlU2NyaXB0UHJvamVjdCxcbiAgICBwYWNrVGFzazogVGFzayxcbiAgICBsYW5ndWFnZTogSnNpaVBhY21ha1RhcmdldCxcbiAgICB0YXJnZXQ6XG4gICAgICB8IEpzaWlQeXRob25UYXJnZXRcbiAgICAgIHwgSnNpaURvdE5ldFRhcmdldFxuICAgICAgfCBKc2lpR29UYXJnZXRcbiAgICAgIHwgSnNpaUphdmFUYXJnZXRcbiAgICAgIHwgTnBtUHVibGlzaE9wdGlvbnMsXG4gICkge1xuICAgIGlmICghcHJvamVjdC5yZWxlYXNlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcGFjbWFrID0gdGhpcy5wYWNtYWtGb3JMYW5ndWFnZShwcm9qZWN0LCBsYW5ndWFnZSwgcGFja1Rhc2spO1xuICAgIGNvbnN0IHByZVB1Ymxpc2hTdGVwcyA9IFtcbiAgICAgIC4uLnBhY21hay5ib290c3RyYXBTdGVwcyxcbiAgICAgIFdvcmtmbG93U3RlcHMuY2hlY2tvdXQoe1xuICAgICAgICB3aXRoOiB7XG4gICAgICAgICAgcGF0aDogUkVQT19URU1QX0RJUkVDVE9SWSxcbiAgICAgICAgICAuLi4ocHJvamVjdC5naXRodWI/LmRvd25sb2FkTGZzID8geyBsZnM6IHRydWUgfSA6IHt9KSxcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgICAgLi4ucGFjbWFrLnBhY2thZ2luZ1N0ZXBzLFxuICAgIF07XG4gICAgY29uc3QgY29tbW9uUHVibGlzaE9wdGlvbnM6IENvbW1vblB1Ymxpc2hPcHRpb25zID0ge1xuICAgICAgcHVibGlzaFRvb2xzOiBwYWNtYWsucHVibGlzaFRvb2xzLFxuICAgICAgcHJlUHVibGlzaFN0ZXBzLFxuICAgIH07XG5cbiAgICBjb25zdCBoYW5kbGVyOiBQdWJsaXNoVG8gPSBwdWJsaXNoVG9bbGFuZ3VhZ2VdO1xuICAgIHByb2plY3QucmVsZWFzZT8ucHVibGlzaGVyW2hhbmRsZXJdKHtcbiAgICAgIC4uLmNvbW1vblB1Ymxpc2hPcHRpb25zLFxuICAgICAgLi4udGFyZ2V0LFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSB0YXJnZXQgbGFuZ3VhZ2UgdG8gdGhlIGJ1aWxkIHdvcmtmbG93LlxuICAgKi9cbiAgcHJpdmF0ZSBhZGRUYXJnZXRUb0J1aWxkKFxuICAgIHByb2plY3Q6IFR5cGVTY3JpcHRQcm9qZWN0LFxuICAgIHBhY2tUYXNrOiBUYXNrLFxuICAgIGxhbmd1YWdlOiBKc2lpUGFjbWFrVGFyZ2V0LFxuICAgIGV4dHJhSm9iT3B0aW9uczogUGFydGlhbDxKb2I+LFxuICApIHtcbiAgICBpZiAoIXByb2plY3QuYnVpbGRXb3JrZmxvdykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBwYWNtYWsgPSB0aGlzLnBhY21ha0Zvckxhbmd1YWdlKHByb2plY3QsIGxhbmd1YWdlLCBwYWNrVGFzayk7XG5cbiAgICBwcm9qZWN0LmJ1aWxkV29ya2Zsb3cuYWRkUG9zdEJ1aWxkSm9iKGBwYWNrYWdlLSR7bGFuZ3VhZ2V9YCwge1xuICAgICAgLi4uZmlsdGVyZWRSdW5zT25PcHRpb25zKFxuICAgICAgICBleHRyYUpvYk9wdGlvbnMucnVuc09uLFxuICAgICAgICBleHRyYUpvYk9wdGlvbnMucnVuc09uR3JvdXAsXG4gICAgICApLFxuICAgICAgcGVybWlzc2lvbnM6IHtcbiAgICAgICAgY29udGVudHM6IEpvYlBlcm1pc3Npb24uUkVBRCxcbiAgICAgIH0sXG4gICAgICB0b29sczoge1xuICAgICAgICBub2RlOiB7XG4gICAgICAgICAgdmVyc2lvbjpcbiAgICAgICAgICAgIHRoaXMub3B0aW9ucy53b3JrZmxvd05vZGVWZXJzaW9uID8/XG4gICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICBwcm9qZWN0Lm5vZGVWZXJzaW9uID8/XG4gICAgICAgICAgICBcImx0cy8qXCIsXG4gICAgICAgIH0sXG4gICAgICAgIC4uLnBhY21hay5wdWJsaXNoVG9vbHMsXG4gICAgICB9LFxuICAgICAgc3RlcHM6IFtcbiAgICAgICAgLi4ucGFjbWFrLmJvb3RzdHJhcFN0ZXBzLFxuICAgICAgICBXb3JrZmxvd1N0ZXBzLmNoZWNrb3V0KHtcbiAgICAgICAgICB3aXRoOiB7XG4gICAgICAgICAgICBwYXRoOiBSRVBPX1RFTVBfRElSRUNUT1JZLFxuICAgICAgICAgICAgcmVmOiBQVUxMX1JFUVVFU1RfU0hBLFxuICAgICAgICAgICAgcmVwb3NpdG9yeTogUFVMTF9SRVFVRVNUX1JFUE9TSVRPUlksXG4gICAgICAgICAgICAuLi4ocHJvamVjdC5naXRodWI/LmRvd25sb2FkTGZzID8geyBsZnM6IHRydWUgfSA6IHt9KSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KSxcbiAgICAgICAgLi4ucGFjbWFrLnBhY2thZ2luZ1N0ZXBzLFxuICAgICAgXSxcbiAgICAgIC4uLmV4dHJhSm9iT3B0aW9ucyxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkUGFja2FnaW5nVGFzayhcbiAgICBwcm9qZWN0OiBUeXBlU2NyaXB0UHJvamVjdCxcbiAgICBwYWNrYWdlQWxsVGFzazogVGFzayxcbiAgICBsYW5ndWFnZTogSnNpaVBhY21ha1RhcmdldCxcbiAgKTogVGFzayB7XG4gICAgY29uc3QgcGFja2FnZVRhcmdldFRhc2sgPSBwcm9qZWN0LnRhc2tzLmFkZFRhc2soYHBhY2thZ2U6JHtsYW5ndWFnZX1gLCB7XG4gICAgICBkZXNjcmlwdGlvbjogYENyZWF0ZSAke2xhbmd1YWdlfSBsYW5ndWFnZSBiaW5kaW5nc2AsXG4gICAgfSk7XG4gICAgY29uc3QgY29tbWFuZFBhcnRzID0gW1wianNpaS1wYWNtYWtcIiwgXCItdlwiXTtcblxuICAgIGlmIChwcm9qZWN0LnBhY2thZ2UucGFja2FnZU1hbmFnZXIgPT09IE5vZGVQYWNrYWdlTWFuYWdlci5QTlBNKSB7XG4gICAgICBjb21tYW5kUGFydHMucHVzaChcIi0tcGFjay1jb21tYW5kXCIsIFwicG5wbSBwYWNrXCIpO1xuICAgIH1cblxuICAgIGNvbW1hbmRQYXJ0cy5wdXNoKFwiLS10YXJnZXRcIiwgbGFuZ3VhZ2UpO1xuXG4gICAgcGFja2FnZVRhcmdldFRhc2suZXhlY0FyZ3MoY29tbWFuZFBhcnRzKTtcblxuICAgIHBhY2thZ2VBbGxUYXNrLnNwYXduKHBhY2thZ2VUYXJnZXRUYXNrKTtcbiAgICByZXR1cm4gcGFja2FnZVRhcmdldFRhc2s7XG4gIH1cblxuICBwcml2YXRlIHBhY21ha0Zvckxhbmd1YWdlKFxuICAgIHByb2plY3Q6IFR5cGVTY3JpcHRQcm9qZWN0LFxuICAgIHRhcmdldDogSnNpaVBhY21ha1RhcmdldCxcbiAgICBwYWNrVGFzazogVGFzayxcbiAgKToge1xuICAgIHB1Ymxpc2hUb29sczogVG9vbHM7XG4gICAgYm9vdHN0cmFwU3RlcHM6IEFycmF5PFN0ZXA+O1xuICAgIHBhY2thZ2luZ1N0ZXBzOiBBcnJheTxTdGVwPjtcbiAgfSB7XG4gICAgY29uc3QgYm9vdHN0cmFwU3RlcHM6IEFycmF5PFN0ZXA+ID0gW107XG4gICAgY29uc3QgcGFja2FnaW5nU3RlcHM6IEFycmF5PFN0ZXA+ID0gW107XG5cbiAgICAvLyBHZW5lcmljIGJvb3RzdHJhcHBpbmcgZm9yIGFsbCB0YXJnZXQgbGFuZ3VhZ2VzXG4gICAgYm9vdHN0cmFwU3RlcHMucHVzaCguLi4odGhpcy5vcHRpb25zLndvcmtmbG93Qm9vdHN0cmFwU3RlcHMgPz8gW10pKTtcbiAgICBpZiAocHJvamVjdC5wYWNrYWdlLnBhY2thZ2VNYW5hZ2VyID09PSBOb2RlUGFja2FnZU1hbmFnZXIuUE5QTSkge1xuICAgICAgYm9vdHN0cmFwU3RlcHMucHVzaCh7XG4gICAgICAgIG5hbWU6IFwiU2V0dXAgcG5wbVwiLFxuICAgICAgICB1c2VzOiBBY3Rpb25SZWZzLlBOUE1fQUNUSU9OX1NFVFVQLFxuICAgICAgICB3aXRoOiB7IHZlcnNpb246IHByb2plY3QucGFja2FnZS5wbnBtVmVyc2lvbiB9LFxuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmIChwcm9qZWN0LnBhY2thZ2UucGFja2FnZU1hbmFnZXIgPT09IE5vZGVQYWNrYWdlTWFuYWdlci5CVU4pIHtcbiAgICAgIGJvb3RzdHJhcFN0ZXBzLnB1c2goe1xuICAgICAgICBuYW1lOiBcIlNldHVwIGJ1blwiLFxuICAgICAgICB1c2VzOiBBY3Rpb25SZWZzLk9WRU5fU0hfU0VUVVBfQlVOLFxuICAgICAgICB3aXRoOiB7IFwiYnVuLXZlcnNpb25cIjogcHJvamVjdC5wYWNrYWdlLmJ1blZlcnNpb24gfSxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAoaXNZYXJuQmVycnkocHJvamVjdC5wYWNrYWdlLnBhY2thZ2VNYW5hZ2VyKSkge1xuICAgICAgYm9vdHN0cmFwU3RlcHMucHVzaCh7XG4gICAgICAgIG5hbWU6IFwiRW5hYmxlIGNvcmVwYWNrXCIsXG4gICAgICAgIHJ1bjogXCJjb3JlcGFjayBlbmFibGVcIixcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGNvbnN0IHdvcmtEaXIgPSB0aGlzLm9wdGlvbnMud29ya3NwYWNlRGlyZWN0b3J5XG4gICAgICA/IGAke1JFUE9fVEVNUF9ESVJFQ1RPUll9LyR7dGhpcy5vcHRpb25zLndvcmtzcGFjZURpcmVjdG9yeX1gXG4gICAgICA6IFJFUE9fVEVNUF9ESVJFQ1RPUlk7XG5cbiAgICAvLyBJbnN0YWxsYXRpb24gc3RlcHMgYmVmb3JlIHBhY2thZ2luZywgYnV0IGFmdGVyIGNoZWNrb3V0XG4gICAgcGFja2FnaW5nU3RlcHMucHVzaChcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJJbnN0YWxsIERlcGVuZGVuY2llc1wiLFxuICAgICAgICBydW46IGBjZCAke1JFUE9fVEVNUF9ESVJFQ1RPUll9ICYmICR7cHJvamVjdC5wYWNrYWdlLmluc3RhbGxDb21tYW5kfWAsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiBcIkV4dHJhY3QgYnVpbGQgYXJ0aWZhY3RcIixcbiAgICAgICAgcnVuOiBgdGFyIC0tc3RyaXAtY29tcG9uZW50cz0xIC14enZmICR7cHJvamVjdC5hcnRpZmFjdHNEaXJlY3Rvcnl9L2pzLyoudGd6IC1DICR7d29ya0Rpcn1gLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogYE1vdmUgYnVpbGQgYXJ0aWZhY3Qgb3V0IG9mIHRoZSB3YXlgLFxuICAgICAgICBydW46IGBtdiAke3Byb2plY3QuYXJ0aWZhY3RzRGlyZWN0b3J5fSAke0JVSUxEX0FSVElGQUNUX09MRF9ESVJ9YCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IGBDcmVhdGUgJHt0YXJnZXR9IGFydGlmYWN0YCxcbiAgICAgICAgcnVuOiBgY2QgJHt3b3JrRGlyfSAmJiAke3Byb2plY3QucnVuVGFza0NvbW1hbmQocGFja1Rhc2spfWAsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiBgQ29sbGVjdCAke3RhcmdldH0gYXJ0aWZhY3RgLFxuICAgICAgICBydW46IGBtdiAke3dvcmtEaXJ9LyR7cHJvamVjdC5hcnRpZmFjdHNEaXJlY3Rvcnl9ICR7cHJvamVjdC5hcnRpZmFjdHNEaXJlY3Rvcnl9YCxcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIHJldHVybiB7XG4gICAgICBwdWJsaXNoVG9vbHM6IEpTSUlfVE9PTENIQUlOW3RhcmdldF0sXG4gICAgICBib290c3RyYXBTdGVwcyxcbiAgICAgIHBhY2thZ2luZ1N0ZXBzLFxuICAgIH07XG4gIH1cbn1cblxudHlwZSBQdWJsaXNoVG8gPSBrZXlvZiBQdWJsaXNoZXIgJlxuICAoXG4gICAgfCBcInB1Ymxpc2hUb05wbVwiXG4gICAgfCBcInB1Ymxpc2hUb01hdmVuXCJcbiAgICB8IFwicHVibGlzaFRvUHlQaVwiXG4gICAgfCBcInB1Ymxpc2hUb051Z2V0XCJcbiAgICB8IFwicHVibGlzaFRvR29cIlxuICApO1xuXG50eXBlIFB1Ymxpc2hUb1RhcmdldCA9IHsgW0sgaW4gSnNpaVBhY21ha1RhcmdldF06IFB1Ymxpc2hUbyB9O1xuY29uc3QgcHVibGlzaFRvOiBQdWJsaXNoVG9UYXJnZXQgPSB7XG4gIGpzOiBcInB1Ymxpc2hUb05wbVwiLFxuICBqYXZhOiBcInB1Ymxpc2hUb01hdmVuXCIsXG4gIHB5dGhvbjogXCJwdWJsaXNoVG9QeVBpXCIsXG4gIGRvdG5ldDogXCJwdWJsaXNoVG9OdWdldFwiLFxuICBnbzogXCJwdWJsaXNoVG9Hb1wiLFxufTtcbiJdfQ==
|
package/lib/cdk/jsii-docgen.js
CHANGED
|
@@ -11,7 +11,7 @@ const dependencies_1 = require("../dependencies");
|
|
|
11
11
|
* - Enforces that markdown file is checked in
|
|
12
12
|
*/
|
|
13
13
|
class JsiiDocgen extends component_1.Component {
|
|
14
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.cdk.JsiiDocgen", version: "0.103.
|
|
14
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.cdk.JsiiDocgen", version: "0.103.24" };
|
|
15
15
|
constructor(scope, options = {}) {
|
|
16
16
|
super(scope);
|
|
17
17
|
const version = options.version ?? "*";
|
package/lib/cdk/jsii-project.js
CHANGED
|
@@ -20,7 +20,7 @@ var Stability;
|
|
|
20
20
|
* @pjid jsii
|
|
21
21
|
*/
|
|
22
22
|
class JsiiProject extends typescript_1.TypeScriptProject {
|
|
23
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.cdk.JsiiProject", version: "0.103.
|
|
23
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.cdk.JsiiProject", version: "0.103.24" };
|
|
24
24
|
constructor(options) {
|
|
25
25
|
const { authorEmail, authorUrl } = parseAuthorAddress(options);
|
|
26
26
|
const defaultOptions = {
|
|
@@ -10,7 +10,7 @@ const component_1 = require("../component");
|
|
|
10
10
|
* found in the test tree.
|
|
11
11
|
*/
|
|
12
12
|
class AutoDiscover extends component_1.Component {
|
|
13
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.cdk8s.AutoDiscover", version: "0.103.
|
|
13
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.cdk8s.AutoDiscover", version: "0.103.24" };
|
|
14
14
|
constructor(project, options) {
|
|
15
15
|
super(project);
|
|
16
16
|
if (options.integrationTestAutoDiscover ?? true) {
|
|
@@ -23,7 +23,7 @@ exports.AutoDiscover = AutoDiscover;
|
|
|
23
23
|
* Discovers and creates integration tests from files in the test root.
|
|
24
24
|
*/
|
|
25
25
|
class IntegrationTestAutoDiscover extends cdk_1.IntegrationTestAutoDiscoverBase {
|
|
26
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.cdk8s.IntegrationTestAutoDiscover", version: "0.103.
|
|
26
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.cdk8s.IntegrationTestAutoDiscover", version: "0.103.24" };
|
|
27
27
|
constructor(project, options) {
|
|
28
28
|
super(project, options);
|
|
29
29
|
for (const entrypoint of this.entrypoints) {
|
|
@@ -12,7 +12,7 @@ const python_project_1 = require("../python/python-project");
|
|
|
12
12
|
* @pjid cdk8s-app-py
|
|
13
13
|
*/
|
|
14
14
|
class Cdk8sPythonApp extends python_project_1.PythonProject {
|
|
15
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.cdk8s.Cdk8sPythonApp", version: "0.103.
|
|
15
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.cdk8s.Cdk8sPythonApp", version: "0.103.24" };
|
|
16
16
|
/**
|
|
17
17
|
* The CDK8s app entrypoint
|
|
18
18
|
*/
|
|
@@ -50,7 +50,7 @@ const yaml_1 = require("../yaml");
|
|
|
50
50
|
* @pjid cdk8s-app-ts
|
|
51
51
|
*/
|
|
52
52
|
class Cdk8sTypeScriptApp extends typescript_1.TypeScriptAppProject {
|
|
53
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.cdk8s.Cdk8sTypeScriptApp", version: "0.103.
|
|
53
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.cdk8s.Cdk8sTypeScriptApp", version: "0.103.24" };
|
|
54
54
|
/**
|
|
55
55
|
* The CDK8s app entrypoint
|
|
56
56
|
*/
|
|
@@ -48,7 +48,7 @@ const cdk_1 = require("../cdk");
|
|
|
48
48
|
* @pjid cdk8s-construct
|
|
49
49
|
*/
|
|
50
50
|
class ConstructLibraryCdk8s extends cdk_1.ConstructLibrary {
|
|
51
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.cdk8s.ConstructLibraryCdk8s", version: "0.103.
|
|
51
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.cdk8s.ConstructLibraryCdk8s", version: "0.103.24" };
|
|
52
52
|
/**
|
|
53
53
|
* The CDK8s version this app is using.
|
|
54
54
|
*/
|
|
@@ -4,7 +4,7 @@ exports.Cdk8sDepsPy = void 0;
|
|
|
4
4
|
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
5
5
|
const cdk8s_deps_1 = require("./cdk8s-deps");
|
|
6
6
|
class Cdk8sDepsPy extends cdk8s_deps_1.Cdk8sDeps {
|
|
7
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.cdk8s.Cdk8sDepsPy", version: "0.103.
|
|
7
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.cdk8s.Cdk8sDepsPy", version: "0.103.24" };
|
|
8
8
|
packageNames() {
|
|
9
9
|
return {
|
|
10
10
|
cdk8s: "cdk8s",
|
package/lib/cdk8s/cdk8s-deps.js
CHANGED
|
@@ -42,7 +42,7 @@ const dependencies_1 = require("../dependencies");
|
|
|
42
42
|
* Manages dependencies on the CDK8s.
|
|
43
43
|
*/
|
|
44
44
|
class Cdk8sDeps extends component_1.Component {
|
|
45
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.cdk8s.Cdk8sDeps", version: "0.103.
|
|
45
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.cdk8s.Cdk8sDeps", version: "0.103.24" };
|
|
46
46
|
/**
|
|
47
47
|
* The dependency requirement for CDK8s.
|
|
48
48
|
*/
|
|
@@ -9,7 +9,7 @@ const dependencies_1 = require("../dependencies");
|
|
|
9
9
|
* CDK8S integration test.
|
|
10
10
|
*/
|
|
11
11
|
class IntegrationTest extends cdk_1.IntegrationTestBase {
|
|
12
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.cdk8s.IntegrationTest", version: "0.103.
|
|
12
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.cdk8s.IntegrationTest", version: "0.103.24" };
|
|
13
13
|
constructor(project, options) {
|
|
14
14
|
super(project, options);
|
|
15
15
|
project.deps.requestDependency({
|
|
@@ -49,7 +49,7 @@ const cdk_1 = require("../cdk");
|
|
|
49
49
|
* @pjid cdktf-construct
|
|
50
50
|
*/
|
|
51
51
|
class ConstructLibraryCdktf extends cdk_1.ConstructLibrary {
|
|
52
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.cdktf.ConstructLibraryCdktf", version: "0.103.
|
|
52
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.cdktf.ConstructLibraryCdktf", version: "0.103.24" };
|
|
53
53
|
constructor(options) {
|
|
54
54
|
super(options);
|
|
55
55
|
if (!options.cdktfVersion) {
|
|
@@ -54,7 +54,7 @@ const fs_1 = require("../util/fs");
|
|
|
54
54
|
* @pjid cdktn-app-ts
|
|
55
55
|
*/
|
|
56
56
|
class CdktnTypeScriptApp extends typescript_1.TypeScriptAppProject {
|
|
57
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.cdktn.CdktnTypeScriptApp", version: "0.103.
|
|
57
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.cdktn.CdktnTypeScriptApp", version: "0.103.24" };
|
|
58
58
|
/**
|
|
59
59
|
* The CDKTN app entrypoint.
|
|
60
60
|
*/
|
|
@@ -46,7 +46,7 @@ const json_1 = require("../json");
|
|
|
46
46
|
* backwards compatibility with its CDKTF origins.
|
|
47
47
|
*/
|
|
48
48
|
class CdktnConfig extends component_1.Component {
|
|
49
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.cdktn.CdktnConfig", version: "0.103.
|
|
49
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.cdktn.CdktnConfig", version: "0.103.24" };
|
|
50
50
|
/**
|
|
51
51
|
* Represents the JSON file.
|
|
52
52
|
*/
|
|
@@ -17,7 +17,7 @@ const dependencies_1 = require("../dependencies");
|
|
|
17
17
|
* @pjid cdktn-construct
|
|
18
18
|
*/
|
|
19
19
|
class ConstructLibraryCdktn extends cdk_1.ConstructLibrary {
|
|
20
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.cdktn.ConstructLibraryCdktn", version: "0.103.
|
|
20
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.cdktn.ConstructLibraryCdktn", version: "0.103.24" };
|
|
21
21
|
cdktnDeps;
|
|
22
22
|
constructor(options) {
|
|
23
23
|
super(options);
|
package/lib/cdktn/cdktn-deps.js
CHANGED
|
@@ -42,7 +42,7 @@ const dependencies_1 = require("../dependencies");
|
|
|
42
42
|
* Manages dependencies on CDK Terrain (CDKTN).
|
|
43
43
|
*/
|
|
44
44
|
class CdktnDeps extends component_1.Component {
|
|
45
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.cdktn.CdktnDeps", version: "0.103.
|
|
45
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.cdktn.CdktnDeps", version: "0.103.24" };
|
|
46
46
|
/**
|
|
47
47
|
* The dependency requirement for CDKTN (e.g. `^0.24.0`).
|
|
48
48
|
*/
|
package/lib/cdktn/cdktn-tasks.js
CHANGED
|
@@ -7,7 +7,7 @@ const component_1 = require("../component");
|
|
|
7
7
|
* Adds standard CDKTN tasks to your project.
|
|
8
8
|
*/
|
|
9
9
|
class CdktnTasks extends component_1.Component {
|
|
10
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.cdktn.CdktnTasks", version: "0.103.
|
|
10
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.cdktn.CdktnTasks", version: "0.103.24" };
|
|
11
11
|
/**
|
|
12
12
|
* Gets/updates Terraform providers and modules.
|
|
13
13
|
*/
|
package/lib/circleci/circleci.js
CHANGED
|
@@ -12,7 +12,7 @@ const yaml_1 = require("../yaml");
|
|
|
12
12
|
* @see https://circleci.com/docs/2.0/configuration-reference/
|
|
13
13
|
*/
|
|
14
14
|
class Circleci extends component_1.Component {
|
|
15
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.circleci.Circleci", version: "0.103.
|
|
15
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.circleci.Circleci", version: "0.103.24" };
|
|
16
16
|
/**
|
|
17
17
|
* The yaml file for the Circleci pipeline
|
|
18
18
|
* */
|
package/lib/component.js
CHANGED
|
@@ -16,7 +16,7 @@ const componentId = (scope) => {
|
|
|
16
16
|
* @param id Unique id of the component. If not provided, an unstable AutoId is generated.
|
|
17
17
|
*/
|
|
18
18
|
class Component extends constructs_1.Construct {
|
|
19
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.Component", version: "0.103.
|
|
19
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.Component", version: "0.103.24" };
|
|
20
20
|
/**
|
|
21
21
|
* Test whether the given construct is a component.
|
|
22
22
|
*/
|
|
@@ -175,7 +175,7 @@ function guardDetached(target) {
|
|
|
175
175
|
* ```
|
|
176
176
|
*/
|
|
177
177
|
class FutureComponent extends Component {
|
|
178
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.FutureComponent", version: "0.103.
|
|
178
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.FutureComponent", version: "0.103.24" };
|
|
179
179
|
newTargetName;
|
|
180
180
|
attachedState = false;
|
|
181
181
|
constructor() {
|
package/lib/dependencies.js
CHANGED
|
@@ -51,7 +51,7 @@ const json_1 = require("./json");
|
|
|
51
51
|
* `nodeProject.addDeps()` or use the generic API of `project.deps`:
|
|
52
52
|
*/
|
|
53
53
|
class Dependencies extends component_1.Component {
|
|
54
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.Dependencies", version: "0.103.
|
|
54
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.Dependencies", version: "0.103.24" };
|
|
55
55
|
/**
|
|
56
56
|
* The project-relative path of the deps manifest file.
|
|
57
57
|
*/
|
package/lib/dev-env.js
CHANGED
|
@@ -6,7 +6,7 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
|
6
6
|
* Options for specifying the Docker image of the container.
|
|
7
7
|
*/
|
|
8
8
|
class DevEnvironmentDockerImage {
|
|
9
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.DevEnvironmentDockerImage", version: "0.103.
|
|
9
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.DevEnvironmentDockerImage", version: "0.103.24" };
|
|
10
10
|
/**
|
|
11
11
|
* A publicly available Docker image.
|
|
12
12
|
* @example 'ubuntu:latest'
|
|
@@ -7,7 +7,7 @@ const docker_compose_1 = require("./docker-compose");
|
|
|
7
7
|
* A docker-compose service.
|
|
8
8
|
*/
|
|
9
9
|
class DockerComposeService {
|
|
10
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.DockerComposeService", version: "0.103.
|
|
10
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.DockerComposeService", version: "0.103.24" };
|
|
11
11
|
/**
|
|
12
12
|
* Name of the service.
|
|
13
13
|
*/
|
|
@@ -11,7 +11,7 @@ const yaml_1 = require("../yaml");
|
|
|
11
11
|
* Create a docker-compose YAML file.
|
|
12
12
|
*/
|
|
13
13
|
class DockerCompose extends component_1.Component {
|
|
14
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.DockerCompose", version: "0.103.
|
|
14
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.DockerCompose", version: "0.103.24" };
|
|
15
15
|
/**
|
|
16
16
|
* Depends on a service name.
|
|
17
17
|
*/
|
package/lib/file.js
CHANGED
|
@@ -45,7 +45,7 @@ const util_1 = require("./util");
|
|
|
45
45
|
const constructs_1 = require("./util/constructs");
|
|
46
46
|
const diff_1 = require("./util/diff");
|
|
47
47
|
class FileBase extends component_1.Component {
|
|
48
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.FileBase", version: "0.103.
|
|
48
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.FileBase", version: "0.103.24" };
|
|
49
49
|
/**
|
|
50
50
|
* The file path, relative to the project's outdir.
|
|
51
51
|
*/
|
package/lib/gitattributes.js
CHANGED
|
@@ -32,7 +32,7 @@ var EndOfLine;
|
|
|
32
32
|
* @see https://git-scm.com/docs/gitattributes
|
|
33
33
|
*/
|
|
34
34
|
class GitAttributesFile extends file_1.FileBase {
|
|
35
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.GitAttributesFile", version: "0.103.
|
|
35
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.GitAttributesFile", version: "0.103.24" };
|
|
36
36
|
attributes = new Map();
|
|
37
37
|
/**
|
|
38
38
|
* The default end of line character for text files.
|
|
@@ -6,7 +6,7 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
|
6
6
|
* Manage the versions used for GitHub Actions used in steps
|
|
7
7
|
*/
|
|
8
8
|
class GitHubActionsProvider {
|
|
9
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.GitHubActionsProvider", version: "0.103.
|
|
9
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.GitHubActionsProvider", version: "0.103.24" };
|
|
10
10
|
actions = new Map();
|
|
11
11
|
/**
|
|
12
12
|
* Define an override for a given action.
|