projen 0.104.11 → 0.104.13
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 +374 -242
- 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.d.ts +14 -0
- package/lib/cdk/jsii-build.js +4 -2
- package/lib/cdk/jsii-docgen.js +1 -1
- package/lib/cdk/jsii-project.js +4 -2
- 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.js +1 -1
- 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 +1 -1
- package/lib/github/github-credentials.js +1 -1
- package/lib/github/github-project.js +1 -1
- package/lib/github/github.js +1 -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 +1 -1
- package/lib/github/pull-request-lint.js +1 -1
- package/lib/github/pull-request-source.js +1 -1
- package/lib/github/stale.js +1 -1
- package/lib/github/task-workflow-job.js +1 -1
- package/lib/github/task-workflow.js +1 -1
- package/lib/github/workflow-actions.js +1 -1
- package/lib/github/workflow-jobs.js +1 -1
- package/lib/github/workflow-steps.js +1 -1
- package/lib/github/workflows.js +1 -1
- 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-native-test-runner.js +2 -2
- package/lib/javascript/node-package.d.ts +16 -0
- package/lib/javascript/node-package.js +2 -2
- package/lib/javascript/node-project.d.ts +16 -1
- package/lib/javascript/node-project.js +8 -5
- 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/publisher.d.ts +18 -0
- package/lib/release/publisher.js +15 -2
- 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 +5 -5
- 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/version.js +2 -2
- 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/package.json +5 -5
package/lib/ai-instructions.js
CHANGED
|
@@ -63,7 +63,7 @@ var AiAgent;
|
|
|
63
63
|
* ai.addInstructions("Always write comprehensive tests.");
|
|
64
64
|
*/
|
|
65
65
|
class AiInstructions extends component_1.Component {
|
|
66
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.AiInstructions", version: "0.104.
|
|
66
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.AiInstructions", version: "0.104.13" };
|
|
67
67
|
/**
|
|
68
68
|
* Returns projen-specific instructions for AI agents.
|
|
69
69
|
*/
|
|
@@ -167,7 +167,7 @@ class AiInstructions extends component_1.Component {
|
|
|
167
167
|
}
|
|
168
168
|
exports.AiInstructions = AiInstructions;
|
|
169
169
|
class AiInstructionsFile extends file_1.FileBase {
|
|
170
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.AiInstructionsFile", version: "0.104.
|
|
170
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.AiInstructionsFile", version: "0.104.13" };
|
|
171
171
|
instructions = [];
|
|
172
172
|
/**
|
|
173
173
|
* Adds instructions to the instruction file.
|
|
@@ -12,7 +12,7 @@ const component_1 = require("../component");
|
|
|
12
12
|
* Creates integration tests from entry points discovered in the test tree.
|
|
13
13
|
*/
|
|
14
14
|
class IntegrationTestAutoDiscover extends cdk_1.IntegrationTestAutoDiscoverBase {
|
|
15
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.IntegrationTestAutoDiscover", version: "0.104.
|
|
15
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.IntegrationTestAutoDiscover", version: "0.104.13" };
|
|
16
16
|
constructor(project, options) {
|
|
17
17
|
super(project, options);
|
|
18
18
|
for (const entrypoint of this.entrypoints) {
|
|
@@ -30,7 +30,7 @@ exports.IntegrationTestAutoDiscover = IntegrationTestAutoDiscover;
|
|
|
30
30
|
* Creates lambdas from entry points discovered in the project's source tree.
|
|
31
31
|
*/
|
|
32
32
|
class LambdaAutoDiscover extends cdk_1.AutoDiscoverBase {
|
|
33
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.LambdaAutoDiscover", version: "0.104.
|
|
33
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.LambdaAutoDiscover", version: "0.104.13" };
|
|
34
34
|
constructor(project, options) {
|
|
35
35
|
super(project, {
|
|
36
36
|
projectdir: options.srcdir,
|
|
@@ -50,7 +50,7 @@ exports.LambdaAutoDiscover = LambdaAutoDiscover;
|
|
|
50
50
|
* Creates singleton lambdas from entry points discovered in the project's source tree.
|
|
51
51
|
*/
|
|
52
52
|
class SingletonLambdaAutoDiscover extends cdk_1.AutoDiscoverBase {
|
|
53
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.SingletonLambdaAutoDiscover", version: "0.104.
|
|
53
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.SingletonLambdaAutoDiscover", version: "0.104.13" };
|
|
54
54
|
constructor(project, options) {
|
|
55
55
|
super(project, {
|
|
56
56
|
projectdir: options.srcdir,
|
|
@@ -72,7 +72,7 @@ exports.SingletonLambdaAutoDiscover = SingletonLambdaAutoDiscover;
|
|
|
72
72
|
* Creates edge lambdas from entry points discovered in the project's source tree.
|
|
73
73
|
*/
|
|
74
74
|
class EdgeLambdaAutoDiscover extends cdk_1.AutoDiscoverBase {
|
|
75
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.EdgeLambdaAutoDiscover", version: "0.104.
|
|
75
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.EdgeLambdaAutoDiscover", version: "0.104.13" };
|
|
76
76
|
constructor(project, options) {
|
|
77
77
|
super(project, {
|
|
78
78
|
projectdir: options.srcdir,
|
|
@@ -94,7 +94,7 @@ exports.EdgeLambdaAutoDiscover = EdgeLambdaAutoDiscover;
|
|
|
94
94
|
* source tree.
|
|
95
95
|
*/
|
|
96
96
|
class LambdaExtensionAutoDiscover extends cdk_1.AutoDiscoverBase {
|
|
97
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.LambdaExtensionAutoDiscover", version: "0.104.
|
|
97
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.LambdaExtensionAutoDiscover", version: "0.104.13" };
|
|
98
98
|
constructor(project, options) {
|
|
99
99
|
super(project, {
|
|
100
100
|
projectdir: options.srcdir,
|
|
@@ -115,7 +115,7 @@ exports.LambdaExtensionAutoDiscover = LambdaExtensionAutoDiscover;
|
|
|
115
115
|
* project's source and test trees.
|
|
116
116
|
*/
|
|
117
117
|
class AutoDiscover extends component_1.Component {
|
|
118
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.AutoDiscover", version: "0.104.
|
|
118
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.AutoDiscover", version: "0.104.13" };
|
|
119
119
|
constructor(project, options) {
|
|
120
120
|
super(project);
|
|
121
121
|
if (options.lambdaAutoDiscover ?? true) {
|
|
@@ -14,7 +14,7 @@ const java_1 = require("../java");
|
|
|
14
14
|
* @pjid awscdk-app-java
|
|
15
15
|
*/
|
|
16
16
|
class AwsCdkJavaApp extends java_1.JavaProject {
|
|
17
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.AwsCdkJavaApp", version: "0.104.
|
|
17
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.AwsCdkJavaApp", version: "0.104.13" };
|
|
18
18
|
/**
|
|
19
19
|
* The `cdk.json` file.
|
|
20
20
|
*/
|
|
@@ -14,7 +14,7 @@ const python_project_1 = require("../python/python-project");
|
|
|
14
14
|
* @pjid awscdk-app-py
|
|
15
15
|
*/
|
|
16
16
|
class AwsCdkPythonApp extends python_project_1.PythonProject {
|
|
17
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.AwsCdkPythonApp", version: "0.104.
|
|
17
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.AwsCdkPythonApp", version: "0.104.13" };
|
|
18
18
|
/**
|
|
19
19
|
* Common CDK tasks.
|
|
20
20
|
*/
|
|
@@ -54,7 +54,7 @@ const fs_1 = require("../util/fs");
|
|
|
54
54
|
* @pjid awscdk-app-ts
|
|
55
55
|
*/
|
|
56
56
|
class AwsCdkTypeScriptApp extends typescript_1.TypeScriptAppProject {
|
|
57
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.AwsCdkTypeScriptApp", version: "0.104.
|
|
57
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.AwsCdkTypeScriptApp", version: "0.104.13" };
|
|
58
58
|
/**
|
|
59
59
|
* The CDK version this app is using.
|
|
60
60
|
*/
|
|
@@ -54,7 +54,7 @@ const fs_1 = require("../util/fs");
|
|
|
54
54
|
* @pjid awscdk-construct
|
|
55
55
|
*/
|
|
56
56
|
class AwsCdkConstructLibrary extends cdk_1.ConstructLibrary {
|
|
57
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.AwsCdkConstructLibrary", version: "0.104.
|
|
57
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.AwsCdkConstructLibrary", version: "0.104.13" };
|
|
58
58
|
cdkDeps;
|
|
59
59
|
constructor(options) {
|
|
60
60
|
super({
|
|
@@ -7,7 +7,7 @@ const awscdk_deps_1 = require("./awscdk-deps");
|
|
|
7
7
|
* Manages dependencies on the AWS CDK for Java projects.
|
|
8
8
|
*/
|
|
9
9
|
class AwsCdkDepsJava extends awscdk_deps_1.AwsCdkDeps {
|
|
10
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.AwsCdkDepsJava", version: "0.104.
|
|
10
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.AwsCdkDepsJava", version: "0.104.13" };
|
|
11
11
|
packageNames() {
|
|
12
12
|
return {
|
|
13
13
|
coreV2: "software.amazon.awscdk/aws-cdk-lib",
|
|
@@ -7,7 +7,7 @@ const awscdk_deps_1 = require("./awscdk-deps");
|
|
|
7
7
|
* Manages dependencies on the AWS CDK for Node.js projects.
|
|
8
8
|
*/
|
|
9
9
|
class AwsCdkDepsJs extends awscdk_deps_1.AwsCdkDeps {
|
|
10
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.AwsCdkDepsJs", version: "0.104.
|
|
10
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.AwsCdkDepsJs", version: "0.104.13" };
|
|
11
11
|
packageNames() {
|
|
12
12
|
return {
|
|
13
13
|
coreV2: "aws-cdk-lib",
|
|
@@ -7,7 +7,7 @@ const awscdk_deps_1 = require("./awscdk-deps");
|
|
|
7
7
|
* Manages dependencies on the AWS CDK for Python projects.
|
|
8
8
|
*/
|
|
9
9
|
class AwsCdkDepsPy extends awscdk_deps_1.AwsCdkDeps {
|
|
10
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.AwsCdkDepsPy", version: "0.104.
|
|
10
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.AwsCdkDepsPy", version: "0.104.13" };
|
|
11
11
|
packageNames() {
|
|
12
12
|
return {
|
|
13
13
|
coreV2: "aws-cdk-lib",
|
|
@@ -42,7 +42,7 @@ const dependencies_1 = require("../dependencies");
|
|
|
42
42
|
* Manages dependencies on the AWS CDK.
|
|
43
43
|
*/
|
|
44
44
|
class AwsCdkDeps extends component_1.Component {
|
|
45
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.AwsCdkDeps", version: "0.104.
|
|
45
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.AwsCdkDeps", version: "0.104.13" };
|
|
46
46
|
/**
|
|
47
47
|
* The dependency requirement for AWS CDK (e.g. `^2.0.0`).
|
|
48
48
|
*/
|
package/lib/awscdk/cdk-config.js
CHANGED
|
@@ -11,7 +11,7 @@ const internal_1 = require("./internal");
|
|
|
11
11
|
* CDK V2 feature flags configuration.
|
|
12
12
|
*/
|
|
13
13
|
class CdkFeatureFlagsV2 {
|
|
14
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.CdkFeatureFlagsV2", version: "0.104.
|
|
14
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.CdkFeatureFlagsV2", version: "0.104.13" };
|
|
15
15
|
/**
|
|
16
16
|
* Disable all feature flags.
|
|
17
17
|
*/
|
|
@@ -52,7 +52,7 @@ exports.CdkFeatureFlagsV2 = CdkFeatureFlagsV2;
|
|
|
52
52
|
* CDK feature flags configuration.
|
|
53
53
|
*/
|
|
54
54
|
class CdkFeatureFlags {
|
|
55
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.CdkFeatureFlags", version: "0.104.
|
|
55
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.CdkFeatureFlags", version: "0.104.13" };
|
|
56
56
|
/**
|
|
57
57
|
* CDK V2 feature flags configuration.
|
|
58
58
|
*/
|
|
@@ -67,7 +67,7 @@ exports.CdkFeatureFlags = CdkFeatureFlags;
|
|
|
67
67
|
* Represents cdk.json file.
|
|
68
68
|
*/
|
|
69
69
|
class CdkConfig extends component_1.Component {
|
|
70
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.CdkConfig", version: "0.104.
|
|
70
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.CdkConfig", version: "0.104.13" };
|
|
71
71
|
/**
|
|
72
72
|
* Represents the JSON file.
|
|
73
73
|
*/
|
package/lib/awscdk/cdk-tasks.js
CHANGED
|
@@ -7,7 +7,7 @@ const component_1 = require("../component");
|
|
|
7
7
|
* Adds standard AWS CDK tasks to your project.
|
|
8
8
|
*/
|
|
9
9
|
class CdkTasks extends component_1.Component {
|
|
10
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.CdkTasks", version: "0.104.
|
|
10
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.CdkTasks", version: "0.104.13" };
|
|
11
11
|
/**
|
|
12
12
|
* Synthesizes your app.
|
|
13
13
|
*/
|
|
@@ -9,7 +9,7 @@ const dependencies_1 = require("../dependencies");
|
|
|
9
9
|
* Cloud integration tests.
|
|
10
10
|
*/
|
|
11
11
|
class IntegrationTest extends cdk_1.IntegrationTestBase {
|
|
12
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.IntegrationTest", version: "0.104.
|
|
12
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.IntegrationTest", version: "0.104.13" };
|
|
13
13
|
/**
|
|
14
14
|
* Destroy the integration test resources
|
|
15
15
|
*/
|
package/lib/awscdk/internal.d.ts
CHANGED
|
@@ -108,6 +108,7 @@ export declare const FEATURE_FLAGS_V2: {
|
|
|
108
108
|
"@aws-cdk/core:validateAgainstDefaultRules": boolean;
|
|
109
109
|
"@aws-cdk/aws-ecs:removeEmptyLoadBalancers": boolean;
|
|
110
110
|
"@aws-cdk/aws-cloudfront:defaultViewerProtocolPolicyRedirectToHttps": boolean;
|
|
111
|
+
"@aws-cdk/aws-apigateway:logGroupDestinationArnWithoutWildcard": boolean;
|
|
111
112
|
};
|
|
112
113
|
/**
|
|
113
114
|
* Suffix for AWS Lambda handlers.
|
|
@@ -13,7 +13,7 @@ const source_code_1 = require("../source-code");
|
|
|
13
13
|
* Create a Lambda Extension
|
|
14
14
|
*/
|
|
15
15
|
class LambdaExtension extends component_1.Component {
|
|
16
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.LambdaExtension", version: "0.104.
|
|
16
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.LambdaExtension", version: "0.104.13" };
|
|
17
17
|
constructor(project, options) {
|
|
18
18
|
super(project);
|
|
19
19
|
const basePath = (0, path_1.join)((0, path_1.dirname)(options.entrypoint), (0, path_1.basename)(options.entrypoint, internal_1.TYPESCRIPT_LAMBDA_EXTENSION_EXT));
|
|
@@ -63,7 +63,7 @@ const util_1 = require("../util");
|
|
|
63
63
|
* });
|
|
64
64
|
*/
|
|
65
65
|
class LambdaFunction extends component_1.Component {
|
|
66
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.LambdaFunction", version: "0.104.
|
|
66
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.LambdaFunction", version: "0.104.13" };
|
|
67
67
|
/**
|
|
68
68
|
* Defines a pre-bundled AWS Lambda function construct from handler code.
|
|
69
69
|
*
|
|
@@ -218,7 +218,7 @@ exports.LambdaFunction = LambdaFunction;
|
|
|
218
218
|
class LambdaRuntime {
|
|
219
219
|
functionRuntime;
|
|
220
220
|
esbuildTarget;
|
|
221
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.LambdaRuntime", version: "0.104.
|
|
221
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.LambdaRuntime", version: "0.104.13" };
|
|
222
222
|
/**
|
|
223
223
|
* Node.js 14.x
|
|
224
224
|
* @deprecated Node.js 14 runtime has been deprecated on Dec 4, 2023
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Feature flags as of v2.
|
|
2
|
+
* Feature flags as of v2.274.0
|
|
3
3
|
*/
|
|
4
4
|
declare const _default: {
|
|
5
5
|
"@aws-cdk/aws-signer:signingProfileNamePassedToCfn": boolean;
|
|
@@ -90,5 +90,6 @@ declare const _default: {
|
|
|
90
90
|
"@aws-cdk/core:validateAgainstDefaultRules": boolean;
|
|
91
91
|
"@aws-cdk/aws-ecs:removeEmptyLoadBalancers": boolean;
|
|
92
92
|
"@aws-cdk/aws-cloudfront:defaultViewerProtocolPolicyRedirectToHttps": boolean;
|
|
93
|
+
"@aws-cdk/aws-apigateway:logGroupDestinationArnWithoutWildcard": boolean;
|
|
93
94
|
};
|
|
94
95
|
export default _default;
|
|
@@ -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.274.0
|
|
6
6
|
*/
|
|
7
7
|
exports.default = {
|
|
8
8
|
"@aws-cdk/aws-signer:signingProfileNamePassedToCfn": true,
|
|
@@ -95,6 +95,7 @@ exports.default = {
|
|
|
95
95
|
"@aws-cdk/core:defaultCrossStackReferences": "weak",
|
|
96
96
|
"@aws-cdk/core:validateAgainstDefaultRules": true,
|
|
97
97
|
"@aws-cdk/aws-ecs:removeEmptyLoadBalancers": true,
|
|
98
|
-
"@aws-cdk/aws-cloudfront:defaultViewerProtocolPolicyRedirectToHttps": true
|
|
98
|
+
"@aws-cdk/aws-cloudfront:defaultViewerProtocolPolicyRedirectToHttps": true,
|
|
99
|
+
"@aws-cdk/aws-apigateway:logGroupDestinationArnWithoutWildcard": true
|
|
99
100
|
};
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1mbGFncy12Mi5jb25zdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hd3NjZGsvcHJpdmF0ZS9mZWF0dXJlLWZsYWdzLXYyLmNvbnN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxtRkFBbUY7O0FBRW5GOztHQUVHO0FBQ0gsa0JBQWU7SUFDYixtREFBbUQsRUFBRSxJQUFJO0lBQ3pELGlFQUFpRSxFQUFFLElBQUk7SUFDdkUsMkNBQTJDLEVBQUUsSUFBSTtJQUNqRCxnQ0FBZ0MsRUFBRSxJQUFJO0lBQ3RDLGlDQUFpQyxFQUFFO1FBQ2pDLEtBQUs7UUFDTCxRQUFRO0tBQ1Q7SUFDRCxtRUFBbUUsRUFBRSxJQUFJO0lBQ3pFLDJDQUEyQyxFQUFFLElBQUk7SUFDakQsK0NBQStDLEVBQUUsSUFBSTtJQUNyRCxtQ0FBbUMsRUFBRSxJQUFJO0lBQ3pDLDZDQUE2QyxFQUFFLElBQUk7SUFDbkQscUVBQXFFLEVBQUUsSUFBSTtJQUMzRSw0Q0FBNEMsRUFBRSxJQUFJO0lBQ2xELHVEQUF1RCxFQUFFLElBQUk7SUFDN0QsK0NBQStDLEVBQUUsSUFBSTtJQUNyRCx1Q0FBdUMsRUFBRSxJQUFJO0lBQzdDLGtEQUFrRCxFQUFFLElBQUk7SUFDeEQsdUVBQXVFLEVBQUUsSUFBSTtJQUM3RSx5REFBeUQsRUFBRSxJQUFJO0lBQy9ELGlEQUFpRCxFQUFFLElBQUk7SUFDdkQsNkNBQTZDLEVBQUUsSUFBSTtJQUNuRCxxREFBcUQsRUFBRSxLQUFLO0lBQzVELGtEQUFrRCxFQUFFLElBQUk7SUFDeEQseURBQXlELEVBQUUsSUFBSTtJQUMvRCw2REFBNkQsRUFBRSxJQUFJO0lBQ25FLGdEQUFnRCxFQUFFLElBQUk7SUFDdEQsdUZBQXVGLEVBQUUsSUFBSTtJQUM3RixnQ0FBZ0MsRUFBRSxJQUFJO0lBQ3RDLDJEQUEyRCxFQUFFLElBQUk7SUFDakUsK0NBQStDLEVBQUUsSUFBSTtJQUNyRCxrREFBa0QsRUFBRSxJQUFJO0lBQ3hELCtCQUErQixFQUFFLElBQUk7SUFDckMsMkRBQTJELEVBQUUsSUFBSTtJQUNqRSxzRUFBc0UsRUFBRSxJQUFJO0lBQzVFLG1EQUFtRCxFQUFFLElBQUk7SUFDekQsc0NBQXNDLEVBQUUsSUFBSTtJQUM1QyxtRUFBbUUsRUFBRSxJQUFJO0lBQ3pFLG9EQUFvRCxFQUFFLElBQUk7SUFDMUQsdURBQXVELEVBQUUsSUFBSTtJQUM3RCxxRkFBcUYsRUFBRSxJQUFJO0lBQzNGLDhEQUE4RCxFQUFFLElBQUk7SUFDcEUsd0RBQXdELEVBQUUsSUFBSTtJQUM5RCwwRUFBMEUsRUFBRSxJQUFJO0lBQ2hGLGdGQUFnRixFQUFFLElBQUk7SUFDdEYsK0RBQStELEVBQUUsSUFBSTtJQUNyRSxtREFBbUQsRUFBRSxJQUFJO0lBQ3pELHNEQUFzRCxFQUFFLElBQUk7SUFDNUQseUNBQXlDLEVBQUUsSUFBSTtJQUMvQyx3Q0FBd0MsRUFBRSxJQUFJO0lBQzlDLHNDQUFzQyxFQUFFLElBQUk7SUFDNUMsK0NBQStDLEVBQUUsSUFBSTtJQUNyRCxpRUFBaUUsRUFBRSxLQUFLO0lBQ3hFLGtEQUFrRCxFQUFFLEtBQUs7SUFDekQsaUNBQWlDLEVBQUUsSUFBSTtJQUN2Qyx3REFBd0QsRUFBRSxJQUFJO0lBQzlELGdEQUFnRCxFQUFFLElBQUk7SUFDdEQsdUNBQXVDLEVBQUUsSUFBSTtJQUM3Qyw2REFBNkQsRUFBRSxJQUFJO0lBQ25FLGtGQUFrRixFQUFFLElBQUk7SUFDeEYsMkVBQTJFLEVBQUUsSUFBSTtJQUNqRix1REFBdUQsRUFBRSxJQUFJO0lBQzdELHNEQUFzRCxFQUFFLElBQUk7SUFDNUQseURBQXlELEVBQUUsSUFBSTtJQUMvRCw0RUFBNEUsRUFBRSxJQUFJO0lBQ2xGLDRGQUE0RixFQUFFLElBQUk7SUFDbEcsb0RBQW9ELEVBQUUsSUFBSTtJQUMxRCxrREFBa0QsRUFBRSxJQUFJO0lBQ3hELDBEQUEwRCxFQUFFLEtBQUs7SUFDakUsOENBQThDLEVBQUUsSUFBSTtJQUNwRCw4Q0FBOEMsRUFBRSxJQUFJO0lBQ3BELHdDQUF3QyxFQUFFLElBQUk7SUFDOUMsMENBQTBDLEVBQUUsSUFBSTtJQUNoRCw0REFBNEQsRUFBRSxJQUFJO0lBQ2xFLGtFQUFrRSxFQUFFLElBQUk7SUFDeEUsb0VBQW9FLEVBQUUsSUFBSTtJQUMxRSw4Q0FBOEMsRUFBRSxJQUFJO0lBQ3BELDJDQUEyQyxFQUFFLElBQUk7SUFDakQsbUZBQW1GLEVBQUUsSUFBSTtJQUN6RiwrQ0FBK0MsRUFBRSxJQUFJO0lBQ3JELCtDQUErQyxFQUFFLElBQUk7SUFDckQsb0RBQW9ELEVBQUUsSUFBSTtJQUMxRCw2REFBNkQsRUFBRSxJQUFJO0lBQ25FLG9DQUFvQyxFQUFFLElBQUk7SUFDMUMsa0NBQWtDLEVBQUUsSUFBSTtJQUN4Qyw2Q0FBNkMsRUFBRSxJQUFJO0lBQ25ELDJDQUEyQyxFQUFFLE1BQU07SUFDbkQsMkNBQTJDLEVBQUUsSUFBSTtJQUNqRCwyQ0FBMkMsRUFBRSxJQUFJO0lBQ2pELG9FQUFvRSxFQUFFLElBQUk7Q0FDM0UsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIH5+IEdlbmVyYXRlZCBieSBwcm9qZW4uIFRvIG1vZGlmeSwgZWRpdCAucHJvamVucmMudHMgYW5kIHJ1biBcIm5vZGUgLi9wcm9qZW4uanNcIi5cblxuLyoqXG4gKiBGZWF0dXJlIGZsYWdzIGFzIG9mIHYyLjI3My4wXG4gKi9cbmV4cG9ydCBkZWZhdWx0IHtcbiAgXCJAYXdzLWNkay9hd3Mtc2lnbmVyOnNpZ25pbmdQcm9maWxlTmFtZVBhc3NlZFRvQ2ZuXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWVjcy1wYXR0ZXJuczpzZWNHcm91cHNEaXNhYmxlc0ltcGxpY2l0T3Blbkxpc3RlbmVyXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWxhbWJkYTpyZWNvZ25pemVMYXllclZlcnNpb25cIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9jb3JlOmNoZWNrU2VjcmV0VXNhZ2VcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9jb3JlOnRhcmdldC1wYXJ0aXRpb25zXCI6IFtcbiAgICBcImF3c1wiLFxuICAgIFwiYXdzLWNuXCJcbiAgXSxcbiAgXCJAYXdzLWNkay1jb250YWluZXJzL2Vjcy1zZXJ2aWNlLWV4dGVuc2lvbnM6ZW5hYmxlRGVmYXVsdExvZ0RyaXZlclwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1lYzI6dW5pcXVlSW1kc3YyVGVtcGxhdGVOYW1lXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWVjczphcm5Gb3JtYXRJbmNsdWRlc0NsdXN0ZXJOYW1lXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWlhbTptaW5pbWl6ZVBvbGljaWVzXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvY29yZTp2YWxpZGF0ZVNuYXBzaG90UmVtb3ZhbFBvbGljeVwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1jb2RlcGlwZWxpbmU6Y3Jvc3NBY2NvdW50S2V5QWxpYXNTdGFja1NhZmVSZXNvdXJjZU5hbWVcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtczM6Y3JlYXRlRGVmYXVsdExvZ2dpbmdQb2xpY3lcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3Mtc25zLXN1YnNjcmlwdGlvbnM6cmVzdHJpY3RTcXNEZXNjcnlwdGlvblwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1hcGlnYXRld2F5OmRpc2FibGVDbG91ZFdhdGNoUm9sZVwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2NvcmU6ZW5hYmxlUGFydGl0aW9uTGl0ZXJhbHNcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtZXZlbnRzOmV2ZW50c1RhcmdldFF1ZXVlU2FtZUFjY291bnRcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtZWNzOmRpc2FibGVFeHBsaWNpdERlcGxveW1lbnRDb250cm9sbGVyRm9yQ2lyY3VpdEJyZWFrZXJcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtaWFtOmltcG9ydGVkUm9sZVN0YWNrU2FmZURlZmF1bHRQb2xpY3lOYW1lXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLXMzOnNlcnZlckFjY2Vzc0xvZ3NVc2VCdWNrZXRQb2xpY3lcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3Mtcm91dGU1My1wYXR0ZXJzOnVzZUNlcnRpZmljYXRlXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvY3VzdG9tcmVzb3VyY2VzOmluc3RhbGxMYXRlc3RBd3NTZGtEZWZhdWx0XCI6IGZhbHNlLFxuICBcIkBhd3MtY2RrL2F3cy1yZHM6ZGF0YWJhc2VQcm94eVVuaXF1ZVJlc291cmNlTmFtZVwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1jb2RlZGVwbG95OnJlbW92ZUFsYXJtc0Zyb21EZXBsb3ltZW50R3JvdXBcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtYXBpZ2F0ZXdheTphdXRob3JpemVyQ2hhbmdlRGVwbG95bWVudExvZ2ljYWxJZFwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1lYzI6bGF1bmNoVGVtcGxhdGVEZWZhdWx0VXNlckRhdGFcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3Mtc2VjcmV0c21hbmFnZXI6dXNlQXR0YWNoZWRTZWNyZXRSZXNvdXJjZVBvbGljeUZvclNlY3JldFRhcmdldEF0dGFjaG1lbnRzXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLXJlZHNoaWZ0OmNvbHVtbklkXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLXN0ZXBmdW5jdGlvbnMtdGFza3M6ZW5hYmxlRW1yU2VydmljZVBvbGljeVYyXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWVjMjpyZXN0cmljdERlZmF1bHRTZWN1cml0eUdyb3VwXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWFwaWdhdGV3YXk6cmVxdWVzdFZhbGlkYXRvclVuaXF1ZUlkXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWttczphbGlhc05hbWVSZWZcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3Mta21zOmFwcGx5SW1wb3J0ZWRBbGlhc1Blcm1pc3Npb25zVG9QcmluY2lwYWxcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtYXV0b3NjYWxpbmc6Z2VuZXJhdGVMYXVuY2hUZW1wbGF0ZUluc3RlYWRPZkxhdW5jaENvbmZpZ1wiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2NvcmU6aW5jbHVkZVByZWZpeEluVW5pcXVlTmFtZUdlbmVyYXRpb25cIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtZWZzOmRlbnlBbm9ueW1vdXNBY2Nlc3NcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3Mtb3BlbnNlYXJjaHNlcnZpY2U6ZW5hYmxlT3BlbnNlYXJjaE11bHRpQXpXaXRoU3RhbmRieVwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1sYW1iZGEtbm9kZWpzOnVzZUxhdGVzdFJ1bnRpbWVWZXJzaW9uXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWVmczptb3VudFRhcmdldE9yZGVySW5zZW5zaXRpdmVMb2dpY2FsSWRcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtcmRzOmF1cm9yYUNsdXN0ZXJDaGFuZ2VTY29wZU9mSW5zdGFuY2VQYXJhbWV0ZXJHcm91cFdpdGhFYWNoUGFyYW1ldGVyc1wiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1hcHBzeW5jOnVzZUFybkZvclNvdXJjZUFwaUFzc29jaWF0aW9uSWRlbnRpZmllclwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1yZHM6cHJldmVudFJlbmRlcmluZ0RlcHJlY2F0ZWRDcmVkZW50aWFsc1wiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1jb2RlcGlwZWxpbmUtYWN0aW9uczp1c2VOZXdEZWZhdWx0QnJhbmNoRm9yQ29kZUNvbW1pdFNvdXJjZVwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1jbG91ZHdhdGNoLWFjdGlvbnM6Y2hhbmdlTGFtYmRhUGVybWlzc2lvbkxvZ2ljYWxJZEZvckxhbWJkYUFjdGlvblwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1jb2RlcGlwZWxpbmU6Y3Jvc3NBY2NvdW50S2V5c0RlZmF1bHRWYWx1ZVRvRmFsc2VcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtY29kZXBpcGVsaW5lOmRlZmF1bHRQaXBlbGluZVR5cGVUb1YyXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWttczpyZWR1Y2VDcm9zc0FjY291bnRSZWdpb25Qb2xpY3lTY29wZVwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1la3M6bm9kZWdyb3VwTmFtZUF0dHJpYnV0ZVwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1la3M6dXNlTmF0aXZlT2lkY1Byb3ZpZGVyXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWVjMjplYnNEZWZhdWx0R3AzVm9sdW1lXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWVjczpyZW1vdmVEZWZhdWx0RGVwbG95bWVudEFsYXJtXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvY3VzdG9tLXJlc291cmNlczpsb2dBcGlSZXNwb25zZURhdGFQcm9wZXJ0eVRydWVEZWZhdWx0XCI6IGZhbHNlLFxuICBcIkBhd3MtY2RrL2F3cy1zMzprZWVwTm90aWZpY2F0aW9uSW5JbXBvcnRlZEJ1Y2tldFwiOiBmYWxzZSxcbiAgXCJAYXdzLWNkay9jb3JlOmV4cGxpY2l0U3RhY2tUYWdzXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWVjczpyZWR1Y2VFYzJGYXJnYXRlQ2xvdWRXYXRjaFBlcm1pc3Npb25zXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWR5bmFtb2RiOnJlc291cmNlUG9saWN5UGVyUmVwbGljYVwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1lYzI6ZWMyU3VtVEltZW91dEVuYWJsZWRcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtYXBwc3luYzphcHBTeW5jR3JhcGhRTEFQSVNjb3BlTGFtYmRhUGVybWlzc2lvblwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1yZHM6c2V0Q29ycmVjdFZhbHVlRm9yRGF0YWJhc2VJbnN0YW5jZVJlYWRSZXBsaWNhSW5zdGFuY2VSZXNvdXJjZUlkXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvY29yZTpjZm5JbmNsdWRlUmVqZWN0Q29tcGxleFJlc291cmNlVXBkYXRlQ3JlYXRlUG9saWN5SW50cmluc2ljc1wiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1sYW1iZGEtbm9kZWpzOnNka1YzRXhjbHVkZVNtaXRoeVBhY2thZ2VzXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLXN0ZXBmdW5jdGlvbnMtdGFza3M6Zml4UnVuRWNzVGFza1BvbGljeVwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1lYzI6YmFzdGlvbkhvc3RVc2VBbWF6b25MaW51eDIwMjNCeURlZmF1bHRcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3Mtcm91dGU1My10YXJnZXRzOnVzZXJQb29sRG9tYWluTmFtZU1ldGhvZFdpdGhvdXRDdXN0b21SZXNvdXJjZVwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1lbGFzdGljbG9hZGJhbGFuY2luZ1YyOmFsYkR1YWxzdGFja1dpdGhvdXRQdWJsaWNJcHY0U2VjdXJpdHlHcm91cFJ1bGVzRGVmYXVsdFwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1pYW06b2lkY1JlamVjdFVuYXV0aG9yaXplZENvbm5lY3Rpb25zXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvY29yZTplbmFibGVBZGRpdGlvbmFsTWV0YWRhdGFDb2xsZWN0aW9uXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWxhbWJkYTpjcmVhdGVOZXdQb2xpY2llc1dpdGhBZGRUb1JvbGVQb2xpY3lcIjogZmFsc2UsXG4gIFwiQGF3cy1jZGsvYXdzLXMzOnNldFVuaXF1ZVJlcGxpY2F0aW9uUm9sZU5hbWVcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtZXZlbnRzOnJlcXVpcmVFdmVudEJ1c1BvbGljeVNpZFwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2NvcmU6YXNwZWN0UHJpb3JpdGllc011dGF0aW5nXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWR5bmFtb2RiOnJldGFpblRhYmxlUmVwbGljYVwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1zdGVwZnVuY3Rpb25zOnVzZURpc3RyaWJ1dGVkTWFwUmVzdWx0V3JpdGVyVjJcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9zMy1ub3RpZmljYXRpb25zOmFkZFMzVHJ1c3RLZXlQb2xpY3lGb3JTbnNTdWJzY3JpcHRpb25zXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWVjMjpyZXF1aXJlUHJpdmF0ZVN1Ym5ldHNGb3JFZ3Jlc3NPbmx5SW50ZXJuZXRHYXRld2F5XCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLXMzOnB1YmxpY0FjY2Vzc0Jsb2NrZWRCeURlZmF1bHRcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtbGFtYmRhOnVzZUNka01hbmFnZWRMb2dHcm91cFwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1lbGFzdGljbG9hZGJhbGFuY2luZ3YyOm5ldHdvcmtMb2FkQmFsYW5jZXJXaXRoU2VjdXJpdHlHcm91cEJ5RGVmYXVsdFwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1lY3MtcGF0dGVybnM6dW5pcXVlVGFyZ2V0R3JvdXBJZFwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1yb3V0ZTUzLXBhdHRlcm5zOnVzZURpc3RyaWJ1dGlvblwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1jbG91ZGZyb250OmRlZmF1bHRGdW5jdGlvblJ1bnRpbWVWMl8wXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWVsYXN0aWNsb2FkYmFsYW5jaW5ndjI6dXNlUG9zdFF1YW50dW1UbHNQb2xpY3lcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtYmF0Y2g6ZGVmYXVsdFRvQUwyMDIzXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWVrczpkZWZhdWx0VG9BTDIwMjNcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9jb3JlOmFubm90YXRpb25zSW5WYWxpZGF0aW9uUmVwb3J0XCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvY29yZTpkZWZhdWx0Q3Jvc3NTdGFja1JlZmVyZW5jZXNcIjogXCJ3ZWFrXCIsXG4gIFwiQGF3cy1jZGsvY29yZTp2YWxpZGF0ZUFnYWluc3REZWZhdWx0UnVsZXNcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtZWNzOnJlbW92ZUVtcHR5TG9hZEJhbGFuY2Vyc1wiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1jbG91ZGZyb250OmRlZmF1bHRWaWV3ZXJQcm90b2NvbFBvbGljeVJlZGlyZWN0VG9IdHRwc1wiOiB0cnVlXG59OyJdfQ==
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1mbGFncy12Mi5jb25zdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hd3NjZGsvcHJpdmF0ZS9mZWF0dXJlLWZsYWdzLXYyLmNvbnN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxtRkFBbUY7O0FBRW5GOztHQUVHO0FBQ0gsa0JBQWU7SUFDYixtREFBbUQsRUFBRSxJQUFJO0lBQ3pELGlFQUFpRSxFQUFFLElBQUk7SUFDdkUsMkNBQTJDLEVBQUUsSUFBSTtJQUNqRCxnQ0FBZ0MsRUFBRSxJQUFJO0lBQ3RDLGlDQUFpQyxFQUFFO1FBQ2pDLEtBQUs7UUFDTCxRQUFRO0tBQ1Q7SUFDRCxtRUFBbUUsRUFBRSxJQUFJO0lBQ3pFLDJDQUEyQyxFQUFFLElBQUk7SUFDakQsK0NBQStDLEVBQUUsSUFBSTtJQUNyRCxtQ0FBbUMsRUFBRSxJQUFJO0lBQ3pDLDZDQUE2QyxFQUFFLElBQUk7SUFDbkQscUVBQXFFLEVBQUUsSUFBSTtJQUMzRSw0Q0FBNEMsRUFBRSxJQUFJO0lBQ2xELHVEQUF1RCxFQUFFLElBQUk7SUFDN0QsK0NBQStDLEVBQUUsSUFBSTtJQUNyRCx1Q0FBdUMsRUFBRSxJQUFJO0lBQzdDLGtEQUFrRCxFQUFFLElBQUk7SUFDeEQsdUVBQXVFLEVBQUUsSUFBSTtJQUM3RSx5REFBeUQsRUFBRSxJQUFJO0lBQy9ELGlEQUFpRCxFQUFFLElBQUk7SUFDdkQsNkNBQTZDLEVBQUUsSUFBSTtJQUNuRCxxREFBcUQsRUFBRSxLQUFLO0lBQzVELGtEQUFrRCxFQUFFLElBQUk7SUFDeEQseURBQXlELEVBQUUsSUFBSTtJQUMvRCw2REFBNkQsRUFBRSxJQUFJO0lBQ25FLGdEQUFnRCxFQUFFLElBQUk7SUFDdEQsdUZBQXVGLEVBQUUsSUFBSTtJQUM3RixnQ0FBZ0MsRUFBRSxJQUFJO0lBQ3RDLDJEQUEyRCxFQUFFLElBQUk7SUFDakUsK0NBQStDLEVBQUUsSUFBSTtJQUNyRCxrREFBa0QsRUFBRSxJQUFJO0lBQ3hELCtCQUErQixFQUFFLElBQUk7SUFDckMsMkRBQTJELEVBQUUsSUFBSTtJQUNqRSxzRUFBc0UsRUFBRSxJQUFJO0lBQzVFLG1EQUFtRCxFQUFFLElBQUk7SUFDekQsc0NBQXNDLEVBQUUsSUFBSTtJQUM1QyxtRUFBbUUsRUFBRSxJQUFJO0lBQ3pFLG9EQUFvRCxFQUFFLElBQUk7SUFDMUQsdURBQXVELEVBQUUsSUFBSTtJQUM3RCxxRkFBcUYsRUFBRSxJQUFJO0lBQzNGLDhEQUE4RCxFQUFFLElBQUk7SUFDcEUsd0RBQXdELEVBQUUsSUFBSTtJQUM5RCwwRUFBMEUsRUFBRSxJQUFJO0lBQ2hGLGdGQUFnRixFQUFFLElBQUk7SUFDdEYsK0RBQStELEVBQUUsSUFBSTtJQUNyRSxtREFBbUQsRUFBRSxJQUFJO0lBQ3pELHNEQUFzRCxFQUFFLElBQUk7SUFDNUQseUNBQXlDLEVBQUUsSUFBSTtJQUMvQyx3Q0FBd0MsRUFBRSxJQUFJO0lBQzlDLHNDQUFzQyxFQUFFLElBQUk7SUFDNUMsK0NBQStDLEVBQUUsSUFBSTtJQUNyRCxpRUFBaUUsRUFBRSxLQUFLO0lBQ3hFLGtEQUFrRCxFQUFFLEtBQUs7SUFDekQsaUNBQWlDLEVBQUUsSUFBSTtJQUN2Qyx3REFBd0QsRUFBRSxJQUFJO0lBQzlELGdEQUFnRCxFQUFFLElBQUk7SUFDdEQsdUNBQXVDLEVBQUUsSUFBSTtJQUM3Qyw2REFBNkQsRUFBRSxJQUFJO0lBQ25FLGtGQUFrRixFQUFFLElBQUk7SUFDeEYsMkVBQTJFLEVBQUUsSUFBSTtJQUNqRix1REFBdUQsRUFBRSxJQUFJO0lBQzdELHNEQUFzRCxFQUFFLElBQUk7SUFDNUQseURBQXlELEVBQUUsSUFBSTtJQUMvRCw0RUFBNEUsRUFBRSxJQUFJO0lBQ2xGLDRGQUE0RixFQUFFLElBQUk7SUFDbEcsb0RBQW9ELEVBQUUsSUFBSTtJQUMxRCxrREFBa0QsRUFBRSxJQUFJO0lBQ3hELDBEQUEwRCxFQUFFLEtBQUs7SUFDakUsOENBQThDLEVBQUUsSUFBSTtJQUNwRCw4Q0FBOEMsRUFBRSxJQUFJO0lBQ3BELHdDQUF3QyxFQUFFLElBQUk7SUFDOUMsMENBQTBDLEVBQUUsSUFBSTtJQUNoRCw0REFBNEQsRUFBRSxJQUFJO0lBQ2xFLGtFQUFrRSxFQUFFLElBQUk7SUFDeEUsb0VBQW9FLEVBQUUsSUFBSTtJQUMxRSw4Q0FBOEMsRUFBRSxJQUFJO0lBQ3BELDJDQUEyQyxFQUFFLElBQUk7SUFDakQsbUZBQW1GLEVBQUUsSUFBSTtJQUN6RiwrQ0FBK0MsRUFBRSxJQUFJO0lBQ3JELCtDQUErQyxFQUFFLElBQUk7SUFDckQsb0RBQW9ELEVBQUUsSUFBSTtJQUMxRCw2REFBNkQsRUFBRSxJQUFJO0lBQ25FLG9DQUFvQyxFQUFFLElBQUk7SUFDMUMsa0NBQWtDLEVBQUUsSUFBSTtJQUN4Qyw2Q0FBNkMsRUFBRSxJQUFJO0lBQ25ELDJDQUEyQyxFQUFFLE1BQU07SUFDbkQsMkNBQTJDLEVBQUUsSUFBSTtJQUNqRCwyQ0FBMkMsRUFBRSxJQUFJO0lBQ2pELG9FQUFvRSxFQUFFLElBQUk7SUFDMUUsK0RBQStELEVBQUUsSUFBSTtDQUN0RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gfn4gR2VuZXJhdGVkIGJ5IHByb2plbi4gVG8gbW9kaWZ5LCBlZGl0IC5wcm9qZW5yYy50cyBhbmQgcnVuIFwibm9kZSAuL3Byb2plbi5qc1wiLlxuXG4vKipcbiAqIEZlYXR1cmUgZmxhZ3MgYXMgb2YgdjIuMjc0LjBcbiAqL1xuZXhwb3J0IGRlZmF1bHQge1xuICBcIkBhd3MtY2RrL2F3cy1zaWduZXI6c2lnbmluZ1Byb2ZpbGVOYW1lUGFzc2VkVG9DZm5cIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtZWNzLXBhdHRlcm5zOnNlY0dyb3Vwc0Rpc2FibGVzSW1wbGljaXRPcGVuTGlzdGVuZXJcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtbGFtYmRhOnJlY29nbml6ZUxheWVyVmVyc2lvblwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2NvcmU6Y2hlY2tTZWNyZXRVc2FnZVwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2NvcmU6dGFyZ2V0LXBhcnRpdGlvbnNcIjogW1xuICAgIFwiYXdzXCIsXG4gICAgXCJhd3MtY25cIlxuICBdLFxuICBcIkBhd3MtY2RrLWNvbnRhaW5lcnMvZWNzLXNlcnZpY2UtZXh0ZW5zaW9uczplbmFibGVEZWZhdWx0TG9nRHJpdmVyXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWVjMjp1bmlxdWVJbWRzdjJUZW1wbGF0ZU5hbWVcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtZWNzOmFybkZvcm1hdEluY2x1ZGVzQ2x1c3Rlck5hbWVcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtaWFtOm1pbmltaXplUG9saWNpZXNcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9jb3JlOnZhbGlkYXRlU25hcHNob3RSZW1vdmFsUG9saWN5XCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWNvZGVwaXBlbGluZTpjcm9zc0FjY291bnRLZXlBbGlhc1N0YWNrU2FmZVJlc291cmNlTmFtZVwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1zMzpjcmVhdGVEZWZhdWx0TG9nZ2luZ1BvbGljeVwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1zbnMtc3Vic2NyaXB0aW9uczpyZXN0cmljdFNxc0Rlc2NyeXB0aW9uXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWFwaWdhdGV3YXk6ZGlzYWJsZUNsb3VkV2F0Y2hSb2xlXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvY29yZTplbmFibGVQYXJ0aXRpb25MaXRlcmFsc1wiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1ldmVudHM6ZXZlbnRzVGFyZ2V0UXVldWVTYW1lQWNjb3VudFwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1lY3M6ZGlzYWJsZUV4cGxpY2l0RGVwbG95bWVudENvbnRyb2xsZXJGb3JDaXJjdWl0QnJlYWtlclwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1pYW06aW1wb3J0ZWRSb2xlU3RhY2tTYWZlRGVmYXVsdFBvbGljeU5hbWVcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtczM6c2VydmVyQWNjZXNzTG9nc1VzZUJ1Y2tldFBvbGljeVwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1yb3V0ZTUzLXBhdHRlcnM6dXNlQ2VydGlmaWNhdGVcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9jdXN0b21yZXNvdXJjZXM6aW5zdGFsbExhdGVzdEF3c1Nka0RlZmF1bHRcIjogZmFsc2UsXG4gIFwiQGF3cy1jZGsvYXdzLXJkczpkYXRhYmFzZVByb3h5VW5pcXVlUmVzb3VyY2VOYW1lXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWNvZGVkZXBsb3k6cmVtb3ZlQWxhcm1zRnJvbURlcGxveW1lbnRHcm91cFwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1hcGlnYXRld2F5OmF1dGhvcml6ZXJDaGFuZ2VEZXBsb3ltZW50TG9naWNhbElkXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWVjMjpsYXVuY2hUZW1wbGF0ZURlZmF1bHRVc2VyRGF0YVwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1zZWNyZXRzbWFuYWdlcjp1c2VBdHRhY2hlZFNlY3JldFJlc291cmNlUG9saWN5Rm9yU2VjcmV0VGFyZ2V0QXR0YWNobWVudHNcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtcmVkc2hpZnQ6Y29sdW1uSWRcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3Mtc3RlcGZ1bmN0aW9ucy10YXNrczplbmFibGVFbXJTZXJ2aWNlUG9saWN5VjJcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtZWMyOnJlc3RyaWN0RGVmYXVsdFNlY3VyaXR5R3JvdXBcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtYXBpZ2F0ZXdheTpyZXF1ZXN0VmFsaWRhdG9yVW5pcXVlSWRcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3Mta21zOmFsaWFzTmFtZVJlZlwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1rbXM6YXBwbHlJbXBvcnRlZEFsaWFzUGVybWlzc2lvbnNUb1ByaW5jaXBhbFwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1hdXRvc2NhbGluZzpnZW5lcmF0ZUxhdW5jaFRlbXBsYXRlSW5zdGVhZE9mTGF1bmNoQ29uZmlnXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvY29yZTppbmNsdWRlUHJlZml4SW5VbmlxdWVOYW1lR2VuZXJhdGlvblwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1lZnM6ZGVueUFub255bW91c0FjY2Vzc1wiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1vcGVuc2VhcmNoc2VydmljZTplbmFibGVPcGVuc2VhcmNoTXVsdGlBeldpdGhTdGFuZGJ5XCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWxhbWJkYS1ub2RlanM6dXNlTGF0ZXN0UnVudGltZVZlcnNpb25cIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtZWZzOm1vdW50VGFyZ2V0T3JkZXJJbnNlbnNpdGl2ZUxvZ2ljYWxJZFwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1yZHM6YXVyb3JhQ2x1c3RlckNoYW5nZVNjb3BlT2ZJbnN0YW5jZVBhcmFtZXRlckdyb3VwV2l0aEVhY2hQYXJhbWV0ZXJzXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWFwcHN5bmM6dXNlQXJuRm9yU291cmNlQXBpQXNzb2NpYXRpb25JZGVudGlmaWVyXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLXJkczpwcmV2ZW50UmVuZGVyaW5nRGVwcmVjYXRlZENyZWRlbnRpYWxzXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWNvZGVwaXBlbGluZS1hY3Rpb25zOnVzZU5ld0RlZmF1bHRCcmFuY2hGb3JDb2RlQ29tbWl0U291cmNlXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWNsb3Vkd2F0Y2gtYWN0aW9uczpjaGFuZ2VMYW1iZGFQZXJtaXNzaW9uTG9naWNhbElkRm9yTGFtYmRhQWN0aW9uXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWNvZGVwaXBlbGluZTpjcm9zc0FjY291bnRLZXlzRGVmYXVsdFZhbHVlVG9GYWxzZVwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1jb2RlcGlwZWxpbmU6ZGVmYXVsdFBpcGVsaW5lVHlwZVRvVjJcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3Mta21zOnJlZHVjZUNyb3NzQWNjb3VudFJlZ2lvblBvbGljeVNjb3BlXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWVrczpub2RlZ3JvdXBOYW1lQXR0cmlidXRlXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWVrczp1c2VOYXRpdmVPaWRjUHJvdmlkZXJcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtZWMyOmVic0RlZmF1bHRHcDNWb2x1bWVcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtZWNzOnJlbW92ZURlZmF1bHREZXBsb3ltZW50QWxhcm1cIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9jdXN0b20tcmVzb3VyY2VzOmxvZ0FwaVJlc3BvbnNlRGF0YVByb3BlcnR5VHJ1ZURlZmF1bHRcIjogZmFsc2UsXG4gIFwiQGF3cy1jZGsvYXdzLXMzOmtlZXBOb3RpZmljYXRpb25JbkltcG9ydGVkQnVja2V0XCI6IGZhbHNlLFxuICBcIkBhd3MtY2RrL2NvcmU6ZXhwbGljaXRTdGFja1RhZ3NcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtZWNzOnJlZHVjZUVjMkZhcmdhdGVDbG91ZFdhdGNoUGVybWlzc2lvbnNcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtZHluYW1vZGI6cmVzb3VyY2VQb2xpY3lQZXJSZXBsaWNhXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWVjMjplYzJTdW1USW1lb3V0RW5hYmxlZFwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1hcHBzeW5jOmFwcFN5bmNHcmFwaFFMQVBJU2NvcGVMYW1iZGFQZXJtaXNzaW9uXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLXJkczpzZXRDb3JyZWN0VmFsdWVGb3JEYXRhYmFzZUluc3RhbmNlUmVhZFJlcGxpY2FJbnN0YW5jZVJlc291cmNlSWRcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9jb3JlOmNmbkluY2x1ZGVSZWplY3RDb21wbGV4UmVzb3VyY2VVcGRhdGVDcmVhdGVQb2xpY3lJbnRyaW5zaWNzXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWxhbWJkYS1ub2RlanM6c2RrVjNFeGNsdWRlU21pdGh5UGFja2FnZXNcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3Mtc3RlcGZ1bmN0aW9ucy10YXNrczpmaXhSdW5FY3NUYXNrUG9saWN5XCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWVjMjpiYXN0aW9uSG9zdFVzZUFtYXpvbkxpbnV4MjAyM0J5RGVmYXVsdFwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1yb3V0ZTUzLXRhcmdldHM6dXNlclBvb2xEb21haW5OYW1lTWV0aG9kV2l0aG91dEN1c3RvbVJlc291cmNlXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWVsYXN0aWNsb2FkYmFsYW5jaW5nVjI6YWxiRHVhbHN0YWNrV2l0aG91dFB1YmxpY0lwdjRTZWN1cml0eUdyb3VwUnVsZXNEZWZhdWx0XCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWlhbTpvaWRjUmVqZWN0VW5hdXRob3JpemVkQ29ubmVjdGlvbnNcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9jb3JlOmVuYWJsZUFkZGl0aW9uYWxNZXRhZGF0YUNvbGxlY3Rpb25cIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtbGFtYmRhOmNyZWF0ZU5ld1BvbGljaWVzV2l0aEFkZFRvUm9sZVBvbGljeVwiOiBmYWxzZSxcbiAgXCJAYXdzLWNkay9hd3MtczM6c2V0VW5pcXVlUmVwbGljYXRpb25Sb2xlTmFtZVwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1ldmVudHM6cmVxdWlyZUV2ZW50QnVzUG9saWN5U2lkXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvY29yZTphc3BlY3RQcmlvcml0aWVzTXV0YXRpbmdcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtZHluYW1vZGI6cmV0YWluVGFibGVSZXBsaWNhXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLXN0ZXBmdW5jdGlvbnM6dXNlRGlzdHJpYnV0ZWRNYXBSZXN1bHRXcml0ZXJWMlwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL3MzLW5vdGlmaWNhdGlvbnM6YWRkUzNUcnVzdEtleVBvbGljeUZvclNuc1N1YnNjcmlwdGlvbnNcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtZWMyOnJlcXVpcmVQcml2YXRlU3VibmV0c0ZvckVncmVzc09ubHlJbnRlcm5ldEdhdGV3YXlcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtczM6cHVibGljQWNjZXNzQmxvY2tlZEJ5RGVmYXVsdFwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1sYW1iZGE6dXNlQ2RrTWFuYWdlZExvZ0dyb3VwXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWVsYXN0aWNsb2FkYmFsYW5jaW5ndjI6bmV0d29ya0xvYWRCYWxhbmNlcldpdGhTZWN1cml0eUdyb3VwQnlEZWZhdWx0XCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWVjcy1wYXR0ZXJuczp1bmlxdWVUYXJnZXRHcm91cElkXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLXJvdXRlNTMtcGF0dGVybnM6dXNlRGlzdHJpYnV0aW9uXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWNsb3VkZnJvbnQ6ZGVmYXVsdEZ1bmN0aW9uUnVudGltZVYyXzBcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtZWxhc3RpY2xvYWRiYWxhbmNpbmd2Mjp1c2VQb3N0UXVhbnR1bVRsc1BvbGljeVwiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1iYXRjaDpkZWZhdWx0VG9BTDIwMjNcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9hd3MtZWtzOmRlZmF1bHRUb0FMMjAyM1wiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2NvcmU6YW5ub3RhdGlvbnNJblZhbGlkYXRpb25SZXBvcnRcIjogdHJ1ZSxcbiAgXCJAYXdzLWNkay9jb3JlOmRlZmF1bHRDcm9zc1N0YWNrUmVmZXJlbmNlc1wiOiBcIndlYWtcIixcbiAgXCJAYXdzLWNkay9jb3JlOnZhbGlkYXRlQWdhaW5zdERlZmF1bHRSdWxlc1wiOiB0cnVlLFxuICBcIkBhd3MtY2RrL2F3cy1lY3M6cmVtb3ZlRW1wdHlMb2FkQmFsYW5jZXJzXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWNsb3VkZnJvbnQ6ZGVmYXVsdFZpZXdlclByb3RvY29sUG9saWN5UmVkaXJlY3RUb0h0dHBzXCI6IHRydWUsXG4gIFwiQGF3cy1jZGsvYXdzLWFwaWdhdGV3YXk6bG9nR3JvdXBEZXN0aW5hdGlvbkFybldpdGhvdXRXaWxkY2FyZFwiOiB0cnVlXG59OyJdfQ==
|
|
@@ -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.104.
|
|
51
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.build.BuildWorkflow", version: "0.104.13" };
|
|
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.104.
|
|
46
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.cdk.AutoDiscoverBase", version: "0.104.13" };
|
|
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.104.
|
|
65
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.cdk.IntegrationTestAutoDiscoverBase", version: "0.104.13" };
|
|
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.104.
|
|
10
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.cdk.ConstructLibrary", version: "0.104.13" };
|
|
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.104.
|
|
10
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.cdk.IntegrationTestBase", version: "0.104.13" };
|
|
11
11
|
/**
|
|
12
12
|
* Deploy the integration test and update the snapshot upon success.
|
|
13
13
|
*/
|
package/lib/cdk/jsii-build.d.ts
CHANGED
|
@@ -119,6 +119,20 @@ export interface JsiiBuildOptions {
|
|
|
119
119
|
* @default false
|
|
120
120
|
*/
|
|
121
121
|
readonly npmTrustedPublishing?: boolean;
|
|
122
|
+
/**
|
|
123
|
+
* Wait until the published package version is available from the npm registry before the publish job completes.
|
|
124
|
+
*
|
|
125
|
+
* @default false
|
|
126
|
+
*/
|
|
127
|
+
readonly npmVerifyPublished?: boolean;
|
|
128
|
+
/**
|
|
129
|
+
* How long to wait, in seconds, for the published package version to be available.
|
|
130
|
+
*
|
|
131
|
+
* Requires `npmVerifyPublished` to be enabled.
|
|
132
|
+
*
|
|
133
|
+
* @default 3600
|
|
134
|
+
*/
|
|
135
|
+
readonly npmVerifyPublishedTimeoutSeconds?: number;
|
|
122
136
|
/**
|
|
123
137
|
* Options for publishing npm package to AWS CodeArtifact.
|
|
124
138
|
*
|
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.104.
|
|
54
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.cdk.JsiiBuild", version: "0.104.13" };
|
|
55
55
|
options;
|
|
56
56
|
extraJobOptions;
|
|
57
57
|
constructor(options = {}, extraJobOptions) {
|
|
@@ -163,6 +163,8 @@ class JsiiBuild {
|
|
|
163
163
|
//@ts-ignore
|
|
164
164
|
project.options.npmTrustedPublishing ??
|
|
165
165
|
false,
|
|
166
|
+
verifyPublished: options.npmVerifyPublished,
|
|
167
|
+
verifyPublishedTimeoutSeconds: options.npmVerifyPublishedTimeoutSeconds,
|
|
166
168
|
};
|
|
167
169
|
this.addTargetToBuild(project, packageJsTask, "js", extraJobOptions);
|
|
168
170
|
this.addTargetToRelease(project, packageJsTask, "js", npmjs);
|
|
@@ -374,4 +376,4 @@ const publishTo = {
|
|
|
374
376
|
dotnet: "publishToNuget",
|
|
375
377
|
go: "publishToGo",
|
|
376
378
|
};
|
|
377
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNpaS1idWlsZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jZGsvanNpaS1idWlsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBR0EscUNBQTBDO0FBQzFDLCtDQUEyQztBQU8zQyxvREFHaUM7QUFDakMsMkRBQXFEO0FBQ3JELDZEQUF5RDtBQUV6RCwrREFBMEQ7QUFDMUQsOENBQW1EO0FBRW5ELDZDQUFpRDtBQU1qRCxzREFBMEQ7QUFDMUQsOENBQWtEO0FBRWxELE1BQU0sbUJBQW1CLEdBQUcsT0FBTyxDQUFDO0FBQ3BDLE1BQU0sc0JBQXNCLEdBQUcsVUFBVSxDQUFDO0FBRTFDOztHQUVHO0FBQ0gsSUFBWSxnQkFvQlg7QUFwQkQsV0FBWSxnQkFBZ0I7SUFDMUI7O09BRUc7SUFDSCxxQ0FBaUIsQ0FBQTtJQUVqQjs7T0FFRztJQUNILDJDQUF1QixDQUFBO0lBRXZCOztPQUVHO0lBQ0gsdUNBQW1CLENBQUE7SUFFbkI7O09BRUc7SUFDSCwrQkFBVyxDQUFBO0FBQ2IsQ0FBQyxFQXBCVyxnQkFBZ0IsZ0NBQWhCLGdCQUFnQixRQW9CM0I7QUFxS0Q7Ozs7Ozs7Ozs7Ozs7R0FhRztBQUNILE1BQWEsU0FBUzs7SUFDSCxPQUFPLENBQW1CO0lBQzFCLGVBQWUsQ0FBZTtJQUUvQyxZQUNFLFVBQTRCLEVBQUUsRUFDOUIsZUFBeUM7UUFFekMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLGVBQWUsSUFBSSxFQUFFLENBQWlCLENBQUM7SUFDakUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksUUFBUSxDQUFDLFNBQXFCO1FBQ25DLE9BQU8sU0FBUyxZQUFZLDhCQUFpQixDQUFDO0lBQ2hELENBQUM7SUFFRDs7T0FFRztJQUNJLE9BQU8sQ0FBQyxPQUFtQjtRQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQzVC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RUFBRSxVQUFVLE1BQU0sV0FBVztZQUNqQyxHQUFHLEVBQUUsTUFBTSxPQUFPLE9BQU8sT0FBTyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsRUFBRTtTQUM1RCxFQUNEO1lBQ0UsSUFBSSxFQUFFLFdBQVcsTUFBTSxXQUFXO1lBQ2xDLEdBQUcsRUFBRSxNQUFNLE9BQU8sSUFBSSxPQUFPLENBQUMsa0JBQWtCLElBQUksT0FBTyxDQUFDLGtCQUFrQixFQUFFO1NBQ2pGLENBQ0YsQ0FBQztRQUVGLE9BQU87WUFDTCxZQUFZLEVBQUUsdUJBQWMsQ0FBQyxNQUFNLENBQUM7WUFDcEMsY0FBYztZQUNkLGNBQWM7U0FDZixDQUFDO0lBQ0osQ0FBQzs7QUF0WkgsOEJBdVpDO0FBWUQsTUFBTSxTQUFTLEdBQW9CO0lBQ2pDLEVBQUUsRUFBRSxjQUFjO0lBQ2xCLElBQUksRUFBRSxnQkFBZ0I7SUFDdEIsTUFBTSxFQUFFLGVBQWU7SUFDdkIsTUFBTSxFQUFFLGdCQUFnQjtJQUN4QixFQUFFLEVBQUUsYUFBYTtDQUNsQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBJQ29uc3RydWN0LCBJTWl4aW4gfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHR5cGUgeyBUYXNrIH0gZnJvbSBcIi4uXCI7XG5pbXBvcnQgdHlwZSB7IEpzaWlQYWNtYWtUYXJnZXQgfSBmcm9tIFwiLi9jb25zdHNcIjtcbmltcG9ydCB7IEpTSUlfVE9PTENIQUlOIH0gZnJvbSBcIi4vY29uc3RzXCI7XG5pbXBvcnQgeyBKc2lpRG9jZ2VuIH0gZnJvbSBcIi4vanNpaS1kb2NnZW5cIjtcbmltcG9ydCB0eXBlIHtcbiAgSnNpaURvdE5ldFRhcmdldCxcbiAgSnNpaUdvVGFyZ2V0LFxuICBKc2lpSmF2YVRhcmdldCxcbiAgSnNpaVB5dGhvblRhcmdldCxcbn0gZnJvbSBcIi4vanNpaS1wcm9qZWN0XCI7XG5pbXBvcnQge1xuICBQVUxMX1JFUVVFU1RfUkVQT1NJVE9SWSxcbiAgUFVMTF9SRVFVRVNUX1NIQSxcbn0gZnJvbSBcIi4uL2J1aWxkL3ByaXZhdGUvY29uc3RzXCI7XG5pbXBvcnQgeyBBY3Rpb25SZWZzIH0gZnJvbSBcIi4uL2dpdGh1Yi9hY3Rpb25zLmNvbnN0XCI7XG5pbXBvcnQgeyBXb3JrZmxvd1N0ZXBzIH0gZnJvbSBcIi4uL2dpdGh1Yi93b3JrZmxvdy1zdGVwc1wiO1xuaW1wb3J0IHR5cGUgeyBKb2IsIFN0ZXAsIFRvb2xzIH0gZnJvbSBcIi4uL2dpdGh1Yi93b3JrZmxvd3MtbW9kZWxcIjtcbmltcG9ydCB7IEpvYlBlcm1pc3Npb24gfSBmcm9tIFwiLi4vZ2l0aHViL3dvcmtmbG93cy1tb2RlbFwiO1xuaW1wb3J0IHsgTm9kZVBhY2thZ2VNYW5hZ2VyIH0gZnJvbSBcIi4uL2phdmFzY3JpcHRcIjtcbmltcG9ydCB0eXBlIHsgVHlwZXNjcmlwdENvbmZpZyB9IGZyb20gXCIuLi9qYXZhc2NyaXB0XCI7XG5pbXBvcnQgeyBpc1lhcm5CZXJyeSB9IGZyb20gXCIuLi9qYXZhc2NyaXB0L3V0aWxcIjtcbmltcG9ydCB0eXBlIHtcbiAgQ29tbW9uUHVibGlzaE9wdGlvbnMsXG4gIE5wbVB1Ymxpc2hPcHRpb25zLFxuICBQdWJsaXNoZXIsXG59IGZyb20gXCIuLi9yZWxlYXNlXCI7XG5pbXBvcnQgeyBmaWx0ZXJlZFJ1bnNPbk9wdGlvbnMgfSBmcm9tIFwiLi4vcnVubmVyLW9wdGlvbnNcIjtcbmltcG9ydCB7IFR5cGVTY3JpcHRQcm9qZWN0IH0gZnJvbSBcIi4uL3R5cGVzY3JpcHRcIjtcblxuY29uc3QgUkVQT19URU1QX0RJUkVDVE9SWSA9IFwiLnJlcG9cIjtcbmNvbnN0IEJVSUxEX0FSVElGQUNUX09MRF9ESVIgPSBcImRpc3Qub2xkXCI7XG5cbi8qKlxuICogTGV2ZWwgb2YgdHNjb25maWcgdmFsaWRhdGlvbiBqc2lpIHNob3VsZCBwZXJmb3JtLlxuICovXG5leHBvcnQgZW51bSBWYWxpZGF0ZVRzY29uZmlnIHtcbiAgLyoqXG4gICAqIFZhbGlkYXRlcyBhZ2FpbnN0IGEgc3RyaWN0IHJ1bGUgc2V0IGRlc2lnbmVkIGZvciB3aWRlc3ByZWFkIHN1cHBvcnQgYW5kIGJhY2t3YXJkcy1jb21wYXRpYmlsaXR5LlxuICAgKi9cbiAgU1RSSUNUID0gXCJzdHJpY3RcIixcblxuICAvKipcbiAgICogRW5mb3JjZXMgYSB0c2NvbmZpZyBhcyBpZiBpdCB3ZXJlIGdlbmVyYXRlZCBieSBqc2lpLlxuICAgKi9cbiAgR0VORVJBVEVEID0gXCJnZW5lcmF0ZWRcIixcblxuICAvKipcbiAgICogT25seSByZWplY3Qgb3B0aW9ucyBrbm93biB0byBiZSBpbmNvbXBhdGlibGUgd2l0aCBqc2lpLlxuICAgKi9cbiAgTUlOSU1BTCA9IFwibWluaW1hbFwiLFxuXG4gIC8qKlxuICAgKiBEaXNhYmxlcyBhbGwgY29uZmlnIHZhbGlkYXRpb24uIFVzZSBhdCB5b3VyIG93biByaXNrLlxuICAgKi9cbiAgT0ZGID0gXCJvZmZcIixcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBgSnNpaUJ1aWxkYC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBKc2lpQnVpbGRPcHRpb25zIHtcbiAgLyoqXG4gICAqIFB1Ymxpc2ggdG8gbWF2ZW5cbiAgICogQGRlZmF1bHQgLSBubyBwdWJsaXNoaW5nXG4gICAqL1xuICByZWFkb25seSBwdWJsaXNoVG9NYXZlbj86IEpzaWlKYXZhVGFyZ2V0O1xuXG4gIC8qKlxuICAgKiBQdWJsaXNoIHRvIHB5cGlcbiAgICogQGRlZmF1bHQgLSBubyBwdWJsaXNoaW5nXG4gICAqL1xuICByZWFkb25seSBwdWJsaXNoVG9QeXBpPzogSnNpaVB5dGhvblRhcmdldDtcblxuICAvKipcbiAgICogUHVibGlzaCBHbyBiaW5kaW5ncyB0byBhIGdpdCByZXBvc2l0b3J5LlxuICAgKiBAZGVmYXVsdCAtIG5vIHB1Ymxpc2hpbmdcbiAgICovXG4gIHJlYWRvbmx5IHB1Ymxpc2hUb0dvPzogSnNpaUdvVGFyZ2V0O1xuXG4gIC8qKlxuICAgKiBQdWJsaXNoIHRvIE51R2V0XG4gICAqIEBkZWZhdWx0IC0gbm8gcHVibGlzaGluZ1xuICAgKi9cbiAgcmVhZG9ubHkgcHVibGlzaFRvTnVnZXQ/OiBKc2lpRG90TmV0VGFyZ2V0O1xuXG4gIC8qKlxuICAgKiBBdXRvbWF0aWNhbGx5IHJ1biBBUEkgY29tcGF0aWJpbGl0eSB0ZXN0IGFnYWluc3QgdGhlIGxhdGVzdCB2ZXJzaW9uIHB1Ymxpc2hlZCB0byBucG0gYWZ0ZXIgY29tcGlsYXRpb24uXG4gICAqXG4gICAqIC0gWW91IGNhbiBtYW51YWxseSBydW4gY29tcGF0aWJpbGl0eSB0ZXN0cyB1c2luZyBgeWFybiBjb21wYXRgIGlmIHRoaXMgZmVhdHVyZSBpcyBkaXNhYmxlZC5cbiAgICogLSBZb3UgY2FuIGlnbm9yZSBjb21wYXRpYmlsaXR5IGZhaWx1cmVzIGJ5IGFkZGluZyBsaW5lcyB0byBhIFwiLmNvbXBhdGlnbm9yZVwiIGZpbGUuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBjb21wYXQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBpZ25vcmUgZmlsZSBmb3IgQVBJIGNvbXBhdGliaWxpdHkgdGVzdHMuXG4gICAqXG4gICAqIEBkZWZhdWx0IFwiLmNvbXBhdGlnbm9yZVwiXG4gICAqL1xuICByZWFkb25seSBjb21wYXRJZ25vcmU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFjY2VwdHMgYSBsaXN0IG9mIGdsb2IgcGF0dGVybnMuIEZpbGVzIG1hdGNoaW5nIGFueSBvZiB0aG9zZSBwYXR0ZXJucyB3aWxsIGJlIGV4Y2x1ZGVkIGZyb20gdGhlIFR5cGVTY3JpcHQgY29tcGlsZXIgaW5wdXQuXG4gICAqXG4gICAqIEJ5IGRlZmF1bHQsIGpzaWkgd2lsbCBpbmNsdWRlIGFsbCAqLnRzIGZpbGVzIChleGNlcHQgLmQudHMgZmlsZXMpIGluIHRoZSBUeXBlU2NyaXB0IGNvbXBpbGVyIGlucHV0LlxuICAgKiBUaGlzIGNhbiBiZSBwcm9ibGVtYXRpYyBmb3IgZXhhbXBsZSB3aGVuIHRoZSBwYWNrYWdlJ3MgYnVpbGQgb3IgdGVzdCBwcm9jZWR1cmUgZ2VuZXJhdGVzIC50cyBmaWxlc1xuICAgKiB0aGF0IGNhbm5vdCBiZSBjb21waWxlZCB3aXRoIGpzaWkncyBjb21waWxlciBzZXR0aW5ncy5cbiAgICovXG4gIHJlYWRvbmx5IGV4Y2x1ZGVUeXBlc2NyaXB0Pzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEZpbGUgcGF0aCBmb3IgZ2VuZXJhdGVkIGRvY3MuXG4gICAqIEBkZWZhdWx0IFwiQVBJLm1kXCJcbiAgICovXG4gIHJlYWRvbmx5IGRvY2dlbkZpbGVQYXRoPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBFbWl0IGEgY29tcHJlc3NlZCB2ZXJzaW9uIG9mIHRoZSBhc3NlbWJseVxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgY29tcHJlc3NBc3NlbWJseT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFZlcnNpb24gb2YgdGhlIGpzaWkgY29tcGlsZXIgdG8gdXNlLlxuICAgKlxuICAgKiBTZXQgdG8gXCIqXCIgaWYgeW91IHdhbnQgdG8gbWFudWFsbHkgbWFuYWdlIHRoZSB2ZXJzaW9uIG9mIGpzaWkgaW4geW91clxuICAgKiBwcm9qZWN0IGJ5IG1hbmFnaW5nIHVwZGF0ZXMgdG8gYHBhY2thZ2UuanNvbmAgb24geW91ciBvd24uXG4gICAqXG4gICAqIE5PVEU6IFRoZSBqc2lpIGNvbXBpbGVyIHJlbGVhc2VzIHNpbmNlIDUuMC4wIGFyZSBub3Qgc2VtYW50aWNhbGx5IHZlcnNpb25lZFxuICAgKiBhbmQgc2hvdWxkIHJlbWFpbiBvbiB0aGUgc2FtZSBtaW5vciwgc28gd2UgcmVjb21tZW5kIHVzaW5nIGEgYH5gIGRlcGVuZGVuY3lcbiAgICogKGUuZy4gYH41LjAuMGApLlxuICAgKlxuICAgKiBAZGVmYXVsdCBcIn41LjkuMFwiXG4gICAqL1xuICByZWFkb25seSBqc2lpVmVyc2lvbj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHN0YWJpbGl0eSBvZiB0aGUgcGFja2FnZS5cbiAgICpcbiAgICogQGRlZmF1bHQgXCJzdGFibGVcIlxuICAgKi9cbiAgcmVhZG9ubHkgc3RhYmlsaXR5Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZSBhIE1hcmtEb3duIGZpbGUgZGVzY3JpYmluZyB0aGUganNpaSBBUEkuXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGRvY2dlbj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gcHVibGlzaCB0byBucG0uXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHJlbGVhc2VUb05wbT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gdXNlIHRydXN0ZWQgcHVibGlzaGluZyBmb3IgbnBtLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgbnBtVHJ1c3RlZFB1Ymxpc2hpbmc/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBPcHRpb25zIGZvciBwdWJsaXNoaW5nIG5wbSBwYWNrYWdlIHRvIEFXUyBDb2RlQXJ0aWZhY3QuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdW5kZWZpbmVkXG4gICAqL1xuICByZWFkb25seSBjb2RlQXJ0aWZhY3RPcHRpb25zPzogTnBtUHVibGlzaE9wdGlvbnNbXCJjb2RlQXJ0aWZhY3RPcHRpb25zXCJdO1xuXG4gIC8qKlxuICAgKiBSZWxhdGl2ZSBwYXRoIG9mIHRoZSBwYWNrYWdlIHdpdGhpbiB0aGUgcmVwb3NpdG9yeS5cbiAgICpcbiAgICogVGhpcyBpcyB1c2VkIGluIG1vbm9yZXBvIHNldHVwcyB3aGVyZSB0aGUgcGFja2FnZSBpcyBub3QgYXQgdGhlIHJvb3QuXG4gICAqIFBhY2thZ2luZyBzdGVwcyB3aWxsIGV4dHJhY3QgYnVpbGQgYXJ0aWZhY3RzIGludG8gdGhpcyBzdWJkaXJlY3RvcnkuXG4gICAqXG4gICAqIEBkZWZhdWx0IFwiLlwiIC0gcm9vdCBvZiB0aGUgcmVwb3NpdG9yeVxuICAgKi9cbiAgcmVhZG9ubHkgd29ya3NwYWNlRGlyZWN0b3J5Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbm9kZSB2ZXJzaW9uIHRvIHVzZSBpbiBwYWNrYWdpbmcgd29ya2Zsb3dzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBcImx0cy8qXCJcbiAgICovXG4gIHJlYWRvbmx5IHdvcmtmbG93Tm9kZVZlcnNpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFkZGl0aW9uYWwgc3RlcHMgdG8gcnVuIGJlZm9yZSBwYWNrYWdpbmcgaW4gd29ya2Zsb3dzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBbXVxuICAgKi9cbiAgcmVhZG9ubHkgd29ya2Zsb3dCb290c3RyYXBTdGVwcz86IEFycmF5PFN0ZXA+O1xuXG4gIC8qKlxuICAgKiBMZXZlbCBvZiB0c2NvbmZpZyB2YWxpZGF0aW9uIGpzaWkgc2hvdWxkIHBlcmZvcm0gb24gdGhlIHVzZXItcHJvdmlkZWQgdHNjb25maWcuXG4gICAqXG4gICAqIE9ubHkgcmVsZXZhbnQgd2hlbiB0aGUgcHJvamVjdCBzeW50aGVzaXplcyBpdHMgb3duIHRzY29uZmlnXG4gICAqIChpLmUuIGBkaXNhYmxlVHNjb25maWdgIGlzIG5vdCBzZXQgb24gdGhlIFR5cGVTY3JpcHRQcm9qZWN0KS5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2F3cy5naXRodWIuaW8vanNpaS91c2VyLWd1aWRlcy9saWItYXV0aG9yL2NvbmZpZ3VyYXRpb24vI3ZhbGlkYXRldHNjb25maWdcbiAgICogQGRlZmF1bHQgVmFsaWRhdGVUc2NvbmZpZy5TVFJJQ1RcbiAgICovXG4gIHJlYWRvbmx5IHZhbGlkYXRlVHNjb25maWc/OiBWYWxpZGF0ZVRzY29uZmlnO1xuXG4gIC8qKlxuICAgKiBUaGUgVHlwZXNjcmlwdENvbmZpZyB0aGF0IGpzaWkgY29tcGlsZXMgYWdhaW5zdC5cbiAgICpcbiAgICogUHJvdmlkZSBhIGRlZGljYXRlZCBjb25maWcgKGUuZy4gb25lIG5hbWVkIGB0c2NvbmZpZy5qc2lpLmpzb25gKSB0byBrZWVwXG4gICAqIGpzaWkgY29tcGlsYXRpb24gc2VwYXJhdGUgZnJvbSB0aGUgcHJvamVjdCdzIGVkaXRvci1mYWNpbmcgYHRzY29uZmlnLmpzb25gLlxuICAgKiBqc2lpIHJlcXVpcmVzIGEgY29tbWVudC1mcmVlLCBzdHJpY3QtdmFsaWQgY29uZmlnLCBzbyBgSnNpaUJ1aWxkYCBkaXNhYmxlc1xuICAgKiBjb21tZW50cyBvbiB3aGljaGV2ZXIgY29uZmlnIGl0IGlzIGdpdmVuLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHRoZSBwcm9qZWN0J3MgdHNjb25maWcgKGkuZS4gYHByb2plY3QudHNjb25maWdgKVxuICAgKi9cbiAgcmVhZG9ubHkgdHNjb25maWc/OiBUeXBlc2NyaXB0Q29uZmlnO1xufVxuXG4vKipcbiAqIEEgbWl4aW4gdGhhdCBhZGRzIGpzaWkgY29tcGlsYXRpb24sIG11bHRpLWxhbmd1YWdlIHBhY2thZ2luZywgYW5kIHB1Ymxpc2hpbmdcbiAqIGNhcGFiaWxpdGllcyB0byBhbnkgVHlwZVNjcmlwdCBwcm9qZWN0LlxuICpcbiAqIFRoaXMgaW1wbGVtZW50cyB0aGUgY29uc3RydWN0cyBgSU1peGluYCBpbnRlcmZhY2UgYW5kIGlzIGFwcGxpZWQgdXNpbmcgdGhlXG4gKiBgLndpdGgoKWAgbWV0aG9kIG9uIGFueSBjb25zdHJ1Y3QuXG4gKlxuICogQGV4YW1wbGVcbiAqIGNvbnN0IHByb2plY3QgPSBuZXcgVHlwZVNjcmlwdFByb2plY3QoeyBkaXNhYmxlVHNjb25maWc6IHRydWUsIC4uLiB9KTtcbiAqIHByb2plY3Qud2l0aChuZXcgSnNpaUJ1aWxkKHtcbiAqICAganNpaVZlcnNpb246ICd+NS45LjAnLFxuICogICBwdWJsaXNoVG9NYXZlbjogeyAuLi4gfSxcbiAqIH0pKTtcbiAqL1xuZXhwb3J0IGNsYXNzIEpzaWlCdWlsZCBpbXBsZW1lbnRzIElNaXhpbiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogSnNpaUJ1aWxkT3B0aW9ucztcbiAgcHJpdmF0ZSByZWFkb25seSBleHRyYUpvYk9wdGlvbnM6IFBhcnRpYWw8Sm9iPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBvcHRpb25zOiBKc2lpQnVpbGRPcHRpb25zID0ge30sXG4gICAgZXh0cmFKb2JPcHRpb25zPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gICkge1xuICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XG4gICAgdGhpcy5leHRyYUpvYk9wdGlvbnMgPSAoZXh0cmFKb2JPcHRpb25zID8/IHt9KSBhcyBQYXJ0aWFsPEpvYj47XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0cnVlIGlmIHRoZSBjb25zdHJ1Y3QgaXMgYSBUeXBlU2NyaXB0UHJvamVjdC5cbiAgICovXG4gIHB1YmxpYyBzdXBwb3J0cyhjb25zdHJ1Y3Q6IElDb25zdHJ1Y3QpOiBjb25zdHJ1Y3QgaXMgVHlwZVNjcmlwdFByb2plY3Qge1xuICAgIHJldHVybiBjb25zdHJ1Y3QgaW5zdGFuY2VvZiBUeXBlU2NyaXB0UHJvamVjdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBcHBsaWVzIGpzaWkgY29uZmlndXJhdGlvbiB0byB0aGUgdGFyZ2V0IFR5cGVTY3JpcHRQcm9qZWN0LlxuICAgKi9cbiAgcHVibGljIGFwcGx5VG8ocHJvamVjdDogSUNvbnN0cnVjdCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5zdXBwb3J0cyhwcm9qZWN0KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG9wdGlvbnMgPSB7IC4uLnRoaXMub3B0aW9ucyB9O1xuICAgIGNvbnN0IHNyY2RpciA9IHByb2plY3Quc3JjZGlyO1xuICAgIGNvbnN0IGxpYmRpciA9IHByb2plY3QubGliZGlyO1xuXG4gICAgLy8gVHlwZVNjcmlwdFByb2plY3Qgc2VsZWN0cyBgdHlwZXNgIGZyb20gYGVudHJ5cG9pbnRUeXBlc2Agb3IgYGVudHJ5cG9pbnRgLlxuICAgIGNvbnN0IGNvbXByZXNzQXNzZW1ibHkgPSBvcHRpb25zLmNvbXByZXNzQXNzZW1ibHkgPz8gZmFsc2U7XG5cbiAgICAvLyB0aGlzIGlzIGFuIHVuaGVscGZ1bCB3YXJuaW5nXG4gICAgY29uc3QganNpaUZsYWdzID0gW1wiLS1zaWxlbmNlLXdhcm5pbmdzPXJlc2VydmVkLXdvcmRcIl07XG4gICAgaWYgKGNvbXByZXNzQXNzZW1ibHkpIHtcbiAgICAgIGpzaWlGbGFncy5wdXNoKFwiLS1jb21wcmVzcy1hc3NlbWJseVwiKTtcbiAgICB9XG5cbiAgICBjb25zdCBjb21wYXRJZ25vcmUgPSBvcHRpb25zLmNvbXBhdElnbm9yZSA/PyBcIi5jb21wYXRpZ25vcmVcIjtcblxuICAgIHByb2plY3QuYWRkRmllbGRzKHtcbiAgICAgIHN0YWJpbGl0eTpcbiAgICAgICAgb3B0aW9ucy5zdGFiaWxpdHkgPz8gcHJvamVjdC5wYWNrYWdlLm1hbmlmZXN0LnN0YWJpbGl0eSA/PyBcInN0YWJsZVwiLFxuICAgIH0pO1xuXG4gICAgaWYgKG9wdGlvbnMuc3RhYmlsaXR5ID09PSBcImRlcHJlY2F0ZWRcIikge1xuICAgICAgcHJvamVjdC5hZGRGaWVsZHMoeyBkZXByZWNhdGVkOiB0cnVlIH0pO1xuICAgIH1cblxuICAgIHByb2plY3QuY29tcGlsZVRhc2sucmVzZXQoW1wianNpaVwiLCAuLi5qc2lpRmxhZ3NdLmpvaW4oXCIgXCIpKTtcbiAgICBwcm9qZWN0LndhdGNoVGFzay5yZXNldChbXCJqc2lpXCIsIFwiLXdcIiwgLi4uanNpaUZsYWdzXS5qb2luKFwiIFwiKSk7XG5cbiAgICBjb25zdCBjb21wYXRUYXNrID0gcHJvamVjdC5hZGRUYXNrKFwiY29tcGF0XCIsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiBgUGVyZm9ybSBBUEkgY29tcGF0aWJpbGl0eSBjaGVjayBhZ2FpbnN0IGxhdGVzdCB2ZXJzaW9uYCxcbiAgICAgIGV4ZWNBcmdzOiBbXG4gICAgICAgIFwianNpaS1kaWZmXCIsXG4gICAgICAgIGBucG06JHtwcm9qZWN0LnBhY2thZ2UucGFja2FnZU5hbWV9YCxcbiAgICAgICAgXCIta1wiLFxuICAgICAgICBcIi0taWdub3JlLWZpbGVcIixcbiAgICAgICAgY29tcGF0SWdub3JlLFxuICAgICAgXSxcbiAgICB9KTtcblxuICAgIGlmIChvcHRpb25zLmNvbXBhdCA/PyBmYWxzZSkge1xuICAgICAgcHJvamVjdC5jb21waWxlVGFzay5zcGF3bihjb21wYXRUYXNrKTtcbiAgICB9XG5cbiAgICAvLyBDcmVhdGUgYSBuZXcgcGFja2FnZTphbGwgdGFzaywgaXQgd2lsbCBiZSBmaWxsZWQgd2l0aCBsYW5ndWFnZSB0YXJnZXRzIGxhdGVyXG4gICAgY29uc3QgcGFja2FnZUFsbFRhc2sgPSBwcm9qZWN0LmFkZFRhc2soXCJwYWNrYWdlLWFsbFwiLCB7XG4gICAgICBkZXNjcmlwdGlvbjogXCJQYWNrYWdlcyBhcnRpZmFjdHMgZm9yIGFsbCB0YXJnZXQgbGFuZ3VhZ2VzXCIsXG4gICAgfSk7XG5cbiAgICAvLyBpbiBqc2lpIHdlIGNvbnNpZGVyIHRoZSBlbnRpcmUgcmVwbyAocG9zdCBidWlsZCkgYXMgdGhlIGJ1aWxkIGFydGlmYWN0XG4gICAgLy8gd2hpY2ggaXMgdGhlbiB1c2VkIHRvIGNyZWF0ZSB0aGUgbGFuZ3VhZ2UgYmluZGluZ3MgaW4gc2VwYXJhdGUgam9icy5cbiAgICBjb25zdCBwYWNrYWdlSnNUYXNrID0gdGhpcy5hZGRQYWNrYWdpbmdUYXNrKHByb2plY3QsIHBhY2thZ2VBbGxUYXNrLCBcImpzXCIpO1xuXG4gICAgLy8gV2hlbiBydW5uaW5nIGluc2lkZSBDSSB3ZSBpbml0aWFsbHkgb25seSBwYWNrYWdlIGpzLiBPdGhlciB0YXJnZXRzIGFyZSBwYWNrYWdlZCBpbiBzZXBhcmF0ZSBqb2JzLlxuICAgIC8vIE91dHNpZGUgb2YgQ0kgKGkuZSBsb2NhbGx5KSB3ZSBzaW1wbHkgcGFja2FnZSBhbGwgdGFyZ2V0cy5cbiAgICBwcm9qZWN0LnBhY2thZ2VUYXNrLnJlc2V0KCk7XG4gICAgcHJvamVjdC5wYWNrYWdlVGFzay5zcGF3bihwYWNrYWdlSnNUYXNrLCB7XG4gICAgICAvLyBPbmx5IHJ1biBpbiBDSVxuICAgICAgY29uZGl0aW9uOiBgbm9kZSAtZSBcImlmICghcHJvY2Vzcy5lbnYuQ0kpIHByb2Nlc3MuZXhpdCgxKVwiYCxcbiAgICB9KTtcbiAgICBwcm9qZWN0LnBhY2thZ2VUYXNrLnNwYXduKHBhY2thZ2VBbGxUYXNrLCB7XG4gICAgICAvLyBEb24ndCBydW4gaW4gQ0lcbiAgICAgIGNvbmRpdGlvbjogYG5vZGUgLWUgXCJpZiAocHJvY2Vzcy5lbnYuQ0kpIHByb2Nlc3MuZXhpdCgxKVwiYCxcbiAgICB9KTtcblxuICAgIGNvbnN0IHRhcmdldHM6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fTtcblxuICAgIGNvbnN0IGpzaWk6IGFueSA9IHtcbiAgICAgIG91dGRpcjogcHJvamVjdC5hcnRpZmFjdHNEaXJlY3RvcnksXG4gICAgICB0YXJnZXRzLFxuICAgIH07XG5cbiAgICAvLyBqc2lpIGNvbXBpbGVzIGFnYWluc3QgYW4gZXhwbGljaXRseSBwcm92aWRlZCB0c2NvbmZpZywgZmFsbGluZyBiYWNrIHRvXG4gICAgLy8gdGhlIHByb2plY3QncyBvd24gdHNjb25maWcgd2hlbiBvbmUgaXMgbm90IGluamVjdGVkLiBXaGVuIG5laXRoZXIgaXNcbiAgICAvLyBhdmFpbGFibGUgKGUuZy4gYGRpc2FibGVUc2NvbmZpZ2ApLCBsZXQganNpaSBnZW5lcmF0ZSBvbmUgZnJvbSB0c2Mgc2V0dGluZ3MuXG4gICAgY29uc3QgdHNjb25maWcgPSBvcHRpb25zLnRzY29uZmlnID8/IHByb2plY3QudHNjb25maWc7XG4gICAgaWYgKHRzY29uZmlnKSB7XG4gICAgICAvLyBAdHMtaWdub3JlIGpzaWkgdXNlcyBKU09OLnBhcnNlKCkgYW5kIGNhbm5vdCBoYW5kbGUgY29tbWVudHNcbiAgICAgIHRzY29uZmlnLmZpbGUuY29uZmlndXJlQ29tbWVudHMoZmFsc2UpO1xuICAgICAganNpaS50c2NvbmZpZyA9IHRzY29uZmlnLmZpbGVOYW1lO1xuICAgICAganNpaS52YWxpZGF0ZVRzY29uZmlnID1cbiAgICAgICAgb3B0aW9ucy52YWxpZGF0ZVRzY29uZmlnID8/IFZhbGlkYXRlVHNjb25maWcuU1RSSUNUO1xuXG4gICAgICBpZiAob3B0aW9ucy5leGNsdWRlVHlwZXNjcmlwdCkge1xuICAgICAgICBmb3IgKGNvbnN0IHBhdHRlcm4gb2Ygb3B0aW9ucy5leGNsdWRlVHlwZXNjcmlwdCkge1xuICAgICAgICAgIHRzY29uZmlnLmFkZEV4Y2x1ZGUocGF0dGVybik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAganNpaS50c2MgPSB7XG4gICAgICAgIG91dERpcjogbGliZGlyLFxuICAgICAgICByb290RGlyOiBzcmNkaXIsXG4gICAgICB9O1xuICAgICAgaWYgKG9wdGlvbnMuZXhjbHVkZVR5cGVzY3JpcHQpIHtcbiAgICAgICAganNpaS5leGNsdWRlVHlwZXNjcmlwdCA9IG9wdGlvbnMuZXhjbHVkZVR5cGVzY3JpcHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcHJvamVjdC5hZGRGaWVsZHMoeyBqc2lpIH0pO1xuXG4gICAgY29uc3QgZXh0cmFKb2JPcHRpb25zOiBQYXJ0aWFsPEpvYj4gPSB0aGlzLmV4dHJhSm9iT3B0aW9ucztcblxuICAgIGlmIChvcHRpb25zLnJlbGVhc2VUb05wbSAhPT0gZmFsc2UpIHtcbiAgICAgIGNvbnN0IG5wbWpzOiBOcG1QdWJsaXNoT3B0aW9ucyA9IHtcbiAgICAgICAgcmVnaXN0cnk6IHByb2plY3QucGFja2FnZS5ucG1SZWdpc3RyeSxcbiAgICAgICAgbnBtVG9rZW5TZWNyZXQ6IHByb2plY3QucGFja2FnZS5ucG1Ub2tlblNlY3JldCxcbiAgICAgICAgbnBtUHJvdmVuYW5jZTogcHJvamVjdC5wYWNrYWdlLm5wbVByb3ZlbmFuY2UsXG4gICAgICAgIGNvZGVBcnRpZmFjdE9wdGlvbnM6IG9wdGlvbnMuY29kZUFydGlmYWN0T3B0aW9ucyxcbiAgICAgICAgdHJ1c3RlZFB1Ymxpc2hpbmc6XG4gICAgICAgICAgb3B0aW9ucy5ucG1UcnVzdGVkUHVibGlzaGluZyA/P1xuICAgICAgICAgIC8vQHRzLWlnbm9yZVxuICAgICAgICAgIHByb2plY3Qub3B0aW9ucy5ucG1UcnVzdGVkUHVibGlzaGluZyA/P1xuICAgICAgICAgIGZhbHNlLFxuICAgICAgfTtcbiAgICAgIHRoaXMuYWRkVGFyZ2V0VG9CdWlsZChwcm9qZWN0LCBwYWNrYWdlSnNUYXNrLCBcImpzXCIsIGV4dHJhSm9iT3B0aW9ucyk7XG4gICAgICB0aGlzLmFkZFRhcmdldFRvUmVsZWFzZShwcm9qZWN0LCBwYWNrYWdlSnNUYXNrLCBcImpzXCIsIG5wbWpzKTtcbiAgICB9XG5cbiAgICBjb25zdCBtYXZlbiA9IG9wdGlvbnMucHVibGlzaFRvTWF2ZW47XG4gICAgaWYgKG1hdmVuKSB7XG4gICAgICB0YXJnZXRzLmphdmEgPSB7XG4gICAgICAgIHBhY2thZ2U6IG1hdmVuLmphdmFQYWNrYWdlLFxuICAgICAgICBtYXZlbjoge1xuICAgICAgICAgIGdyb3VwSWQ6IG1hdmVuLm1hdmVuR3JvdXBJZCxcbiAgICAgICAgICBhcnRpZmFjdElkOiBtYXZlbi5tYXZlbkFydGlmYWN0SWQsXG4gICAgICAgIH0sXG4gICAgICB9O1xuXG4gICAgICBjb25zdCB0YXNrID0gdGhpcy5hZGRQYWNrYWdpbmdUYXNrKHByb2plY3QsIHBhY2thZ2VBbGxUYXNrLCBcImphdmFcIik7XG4gICAgICB0aGlzLmFkZFRhcmdldFRvQnVpbGQocHJvamVjdCwgdGFzaywgXCJqYXZhXCIsIGV4dHJhSm9iT3B0aW9ucyk7XG4gICAgICB0aGlzLmFkZFRhcmdldFRvUmVsZWFzZShwcm9qZWN0LCB0YXNrLCBcImphdmFcIiwgbWF2ZW4pO1xuICAgIH1cblxuICAgIGNvbnN0IHB5cGkgPSBvcHRpb25zLnB1Ymxpc2hUb1B5cGk7XG4gICAgaWYgKHB5cGkpIHtcbiAgICAgIHRhcmdldHMucHl0aG9uID0ge1xuICAgICAgICBkaXN0TmFtZTogcHlwaS5kaXN0TmFtZSxcbiAgICAgICAgbW9kdWxlOiBweXBpLm1vZHVsZSxcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IHRhc2sgPSB0aGlzLmFkZFBhY2thZ2luZ1Rhc2socHJvamVjdCwgcGFja2FnZUFsbFRhc2ssIFwicHl0aG9uXCIpO1xuICAgICAgdGhpcy5hZGRUYXJnZXRUb0J1aWxkKHByb2plY3QsIHRhc2ssIFwicHl0aG9uXCIsIGV4dHJhSm9iT3B0aW9ucyk7XG4gICAgICB0aGlzLmFkZFRhcmdldFRvUmVsZWFzZShwcm9qZWN0LCB0YXNrLCBcInB5dGhvblwiLCBweXBpKTtcbiAgICB9XG5cbiAgICBjb25zdCBudWdldCA9IG9wdGlvbnMucHVibGlzaFRvTnVnZXQ7XG4gICAgaWYgKG51Z2V0KSB7XG4gICAgICB0YXJnZXRzLmRvdG5ldCA9IHtcbiAgICAgICAgbmFtZXNwYWNlOiBudWdldC5kb3ROZXROYW1lc3BhY2UsXG4gICAgICAgIHBhY2thZ2VJZDogbnVnZXQucGFja2FnZUlkLFxuICAgICAgICBpY29uVXJsOiBudWdldC5pY29uVXJsLFxuICAgICAgfTtcblxuICAgICAgY29uc3QgdGFzayA9IHRoaXMuYWRkUGFja2FnaW5nVGFzayhwcm9qZWN0LCBwYWNrYWdlQWxsVGFzaywgXCJkb3RuZXRcIik7XG4gICAgICB0aGlzLmFkZFRhcmdldFRvQnVpbGQocHJvamVjdCwgdGFzaywgXCJkb3RuZXRcIiwgZXh0cmFKb2JPcHRpb25zKTtcbiAgICAgIHRoaXMuYWRkVGFyZ2V0VG9SZWxlYXNlKHByb2plY3QsIHRhc2ssIFwiZG90bmV0XCIsIG51Z2V0KTtcbiAgICB9XG5cbiAgICBjb25zdCBnb2xhbmcgPSBvcHRpb25zLnB1Ymxpc2hUb0dvO1xuICAgIGlmIChnb2xhbmcpIHtcbiAgICAgIHRhcmdldHMuZ28gPSB7XG4gICAgICAgIG1vZHVsZU5hbWU6IGdvbGFuZy5tb2R1bGVOYW1lLFxuICAgICAgICBwYWNrYWdlTmFtZTogZ29sYW5nLnBhY2thZ2VOYW1lLFxuICAgICAgICB2ZXJzaW9uU3VmZml4OiBnb2xhbmcudmVyc2lvblN1ZmZpeCxcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IHRhc2sgPSB0aGlzLmFkZFBhY2thZ2luZ1Rhc2socHJvamVjdCwgcGFja2FnZUFsbFRhc2ssIFwiZ29cIik7XG4gICAgICB0aGlzLmFkZFRhcmdldFRvQnVpbGQocHJvamVjdCwgdGFzaywgXCJnb1wiLCBleHRyYUpvYk9wdGlvbnMpO1xuICAgICAgdGhpcy5hZGRUYXJnZXRUb1JlbGVhc2UocHJvamVjdCwgdGFzaywgXCJnb1wiLCBnb2xhbmcpO1xuICAgIH1cblxuICAgIC8vIElmIGpzaWlWZXJzaW9uIGlzIFwiKlwiLCBkb24ndCBzcGVjaWZ5IGFueXRoaW5nIHNvIHRoZSB1c2VyIGNhbiBtYW5hZ2UuXG4gICAgLy8gT3RoZXJ3aXNlLCB1c2UgYGpzaWlWZXJzaW9uYFxuICAgIGNvbnN0IGpzaWlWZXJzaW9uID0gb3B0aW9ucy5qc2lpVmVyc2lvbiA/PyBcIn41LjkuMFwiO1xuICAgIGNvbnN0IGpzaWlTdWZmaXggPSBqc2lpVmVyc2lvbiA9PT0gXCIqXCIgPyBcIlwiIDogYEAke2pzaWlWZXJzaW9ufWA7XG4gICAgcHJvamVjdC5hZGREZXZEZXBzKFxuICAgICAgYGpzaWkke2pzaWlTdWZmaXh9YCxcbiAgICAgIGBqc2lpLXJvc2V0dGEke2pzaWlTdWZmaXh9YCxcbiAgICAgIFwianNpaS1kaWZmXCIsXG4gICAgICBcImpzaWktcGFjbWFrXCIsXG4gICAgKTtcblxuICAgIHByb2plY3QuZ2l0aWdub3JlLmV4Y2x1ZGUoXCIuanNpaVwiKTtcbiAgICBpZiAoIXRzY29uZmlnKSB7XG4gICAgICBwcm9qZWN0LmdpdGlnbm9yZS5leGNsdWRlKFwidHNjb25maWcuanNvblwiKTtcbiAgICB9XG4gICAgcHJvamVjdC5ucG1pZ25vcmU/LmluY2x1ZGUoXCIuanNpaVwiKTtcblxuICAgIGlmIChvcHRpb25zLmRvY2dlbiA/PyB0cnVlKSB7XG4gICAgICAvLyBJZiBqc2lpVmVyc2lvbiBpcyBcIipcIiwgZG9uJ3Qgc3BlY2lmeSBhbnl0aGluZyBzbyB0aGUgdXNlciBjYW4gbWFuYWdlLlxuICAgICAgLy8gT3RoZXJ3aXNlIHVzZSBhIHZlcnNpb24gdGhhdCBpcyBjb21wYXRpYmxlIHdpdGggYWxsIHN1cHBvcnRlZCBqc2lpIHJlbGVhc2VzLlxuICAgICAgY29uc3QgZG9jZ2VuVmVyc2lvbiA9IG9wdGlvbnMuanNpaVZlcnNpb24gPT09IFwiKlwiID8gXCIqXCIgOiBcIl4xMC41LjBcIjtcbiAgICAgIG5ldyBKc2lpRG9jZ2VuKHByb2plY3QsIHtcbiAgICAgICAgdmVyc2lvbjogZG9jZ2VuVmVyc2lvbixcbiAgICAgICAgZmlsZVBhdGg6IG9wdGlvbnMuZG9jZ2VuRmlsZVBhdGgsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBqc2lpIHVwZGF0ZXMgLm5wbWlnbm9yZSwgc28gd2UgbWFrZSBpdCB3cml0YWJsZVxuICAgIGlmIChwcm9qZWN0Lm5wbWlnbm9yZSkge1xuICAgICAgcHJvamVjdC5ucG1pZ25vcmUucmVhZG9ubHkgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIHRhcmdldCBsYW5ndWFnZSB0byB0aGUgcmVsZWFzZSB3b3JrZmxvdy5cbiAgICovXG4gIHByaXZhdGUgYWRkVGFyZ2V0VG9SZWxlYXNlKFxuICAgIHByb2plY3Q6IFR5cGVTY3JpcHRQcm9qZWN0LFxuICAgIHBhY2tUYXNrOiBUYXNrLFxuICAgIGxhbmd1YWdlOiBKc2lpUGFjbWFrVGFyZ2V0LFxuICAgIHRhcmdldDpcbiAgICAgIHwgSnNpaVB5dGhvblRhcmdldFxuICAgICAgfCBKc2lpRG90TmV0VGFyZ2V0XG4gICAgICB8IEpzaWlHb1RhcmdldFxuICAgICAgfCBKc2lpSmF2YVRhcmdldFxuICAgICAgfCBOcG1QdWJsaXNoT3B0aW9ucyxcbiAgKSB7XG4gICAgaWYgKCFwcm9qZWN0LnJlbGVhc2UpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBwYWNtYWsgPSB0aGlzLnBhY21ha0Zvckxhbmd1YWdlKHByb2plY3QsIGxhbmd1YWdlLCBwYWNrVGFzayk7XG4gICAgY29uc3QgcHJlUHVibGlzaFN0ZXBzID0gW1xuICAgICAgLi4ucGFjbWFrLmJvb3RzdHJhcFN0ZXBzLFxuICAgICAgV29ya2Zsb3dTdGVwcy5jaGVja291dCh7XG4gICAgICAgIHdpdGg6IHtcbiAgICAgICAgICBwYXRoOiBSRVBPX1RFTVBfRElSRUNUT1JZLFxuICAgICAgICAgIC4uLihwcm9qZWN0LmdpdGh1Yj8uZG93bmxvYWRMZnMgPyB7IGxmczogdHJ1ZSB9IDoge30pLFxuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgICAuLi5wYWNtYWsucGFja2FnaW5nU3RlcHMsXG4gICAgXTtcbiAgICBjb25zdCBjb21tb25QdWJsaXNoT3B0aW9uczogQ29tbW9uUHVibGlzaE9wdGlvbnMgPSB7XG4gICAgICBwdWJsaXNoVG9vbHM6IHBhY21hay5wdWJsaXNoVG9vbHMsXG4gICAgICBwcmVQdWJsaXNoU3RlcHMsXG4gICAgfTtcblxuICAgIGNvbnN0IGhhbmRsZXI6IFB1Ymxpc2hUbyA9IHB1Ymxpc2hUb1tsYW5ndWFnZV07XG4gICAgcHJvamVjdC5yZWxlYXNlPy5wdWJsaXNoZXJbaGFuZGxlcl0oe1xuICAgICAgLi4uY29tbW9uUHVibGlzaE9wdGlvbnMsXG4gICAgICAuLi50YXJnZXQsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIHRhcmdldCBsYW5ndWFnZSB0byB0aGUgYnVpbGQgd29ya2Zsb3cuXG4gICAqL1xuICBwcml2YXRlIGFkZFRhcmdldFRvQnVpbGQoXG4gICAgcHJvamVjdDogVHlwZVNjcmlwdFByb2plY3QsXG4gICAgcGFja1Rhc2s6IFRhc2ssXG4gICAgbGFuZ3VhZ2U6IEpzaWlQYWNtYWtUYXJnZXQsXG4gICAgZXh0cmFKb2JPcHRpb25zOiBQYXJ0aWFsPEpvYj4sXG4gICkge1xuICAgIGlmICghcHJvamVjdC5idWlsZFdvcmtmbG93KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHBhY21hayA9IHRoaXMucGFjbWFrRm9yTGFuZ3VhZ2UocHJvamVjdCwgbGFuZ3VhZ2UsIHBhY2tUYXNrKTtcblxuICAgIHByb2plY3QuYnVpbGRXb3JrZmxvdy5hZGRQb3N0QnVpbGRKb2IoYHBhY2thZ2UtJHtsYW5ndWFnZX1gLCB7XG4gICAgICAuLi5maWx0ZXJlZFJ1bnNPbk9wdGlvbnMoXG4gICAgICAgIGV4dHJhSm9iT3B0aW9ucy5ydW5zT24sXG4gICAgICAgIGV4dHJhSm9iT3B0aW9ucy5ydW5zT25Hcm91cCxcbiAgICAgICksXG4gICAgICBwZXJtaXNzaW9uczoge1xuICAgICAgICBjb250ZW50czogSm9iUGVybWlzc2lvbi5SRUFELFxuICAgICAgfSxcbiAgICAgIHRvb2xzOiB7XG4gICAgICAgIG5vZGU6IHtcbiAgICAgICAgICB2ZXJzaW9uOlxuICAgICAgICAgICAgdGhpcy5vcHRpb25zLndvcmtmbG93Tm9kZVZlcnNpb24gPz9cbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgIHByb2plY3Qubm9kZVZlcnNpb24gPz9cbiAgICAgICAgICAgIFwibHRzLypcIixcbiAgICAgICAgfSxcbiAgICAgICAgLi4ucGFjbWFrLnB1Ymxpc2hUb29scyxcbiAgICAgIH0sXG4gICAgICBzdGVwczogW1xuICAgICAgICAuLi5wYWNtYWsuYm9vdHN0cmFwU3RlcHMsXG4gICAgICAgIFdvcmtmbG93U3RlcHMuY2hlY2tvdXQoe1xuICAgICAgICAgIHdpdGg6IHtcbiAgICAgICAgICAgIHBhdGg6IFJFUE9fVEVNUF9ESVJFQ1RPUlksXG4gICAgICAgICAgICByZWY6IFBVTExfUkVRVUVTVF9TSEEsXG4gICAgICAgICAgICByZXBvc2l0b3J5OiBQVUxMX1JFUVVFU1RfUkVQT1NJVE9SWSxcbiAgICAgICAgICAgIC4uLihwcm9qZWN0LmdpdGh1Yj8uZG93bmxvYWRMZnMgPyB7IGxmczogdHJ1ZSB9IDoge30pLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pLFxuICAgICAgICAuLi5wYWNtYWsucGFja2FnaW5nU3RlcHMsXG4gICAgICBdLFxuICAgICAgLi4uZXh0cmFKb2JPcHRpb25zLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRQYWNrYWdpbmdUYXNrKFxuICAgIHByb2plY3Q6IFR5cGVTY3JpcHRQcm9qZWN0LFxuICAgIHBhY2thZ2VBbGxUYXNrOiBUYXNrLFxuICAgIGxhbmd1YWdlOiBKc2lpUGFjbWFrVGFyZ2V0LFxuICApOiBUYXNrIHtcbiAgICBjb25zdCBwYWNrYWdlVGFyZ2V0VGFzayA9IHByb2plY3QudGFza3MuYWRkVGFzayhgcGFja2FnZToke2xhbmd1YWdlfWAsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiBgQ3JlYXRlICR7bGFuZ3VhZ2V9IGxhbmd1YWdlIGJpbmRpbmdzYCxcbiAgICB9KTtcbiAgICBjb25zdCBjb21tYW5kUGFydHMgPSBbXCJqc2lpLXBhY21ha1wiLCBcIi12XCJdO1xuXG4gICAgaWYgKHByb2plY3QucGFja2FnZS5wYWNrYWdlTWFuYWdlciA9PT0gTm9kZVBhY2thZ2VNYW5hZ2VyLlBOUE0pIHtcbiAgICAgIGNvbW1hbmRQYXJ0cy5wdXNoKFwiLS1wYWNrLWNvbW1hbmRcIiwgXCJwbnBtIHBhY2tcIik7XG4gICAgfVxuXG4gICAgY29tbWFuZFBhcnRzLnB1c2goXCItLXRhcmdldFwiLCBsYW5ndWFnZSk7XG5cbiAgICBwYWNrYWdlVGFyZ2V0VGFzay5leGVjQXJncyhjb21tYW5kUGFydHMpO1xuXG4gICAgcGFja2FnZUFsbFRhc2suc3Bhd24ocGFja2FnZVRhcmdldFRhc2spO1xuICAgIHJldHVybiBwYWNrYWdlVGFyZ2V0VGFzaztcbiAgfVxuXG4gIHByaXZhdGUgcGFjbWFrRm9yTGFuZ3VhZ2UoXG4gICAgcHJvamVjdDogVHlwZVNjcmlwdFByb2plY3QsXG4gICAgdGFyZ2V0OiBKc2lpUGFjbWFrVGFyZ2V0LFxuICAgIHBhY2tUYXNrOiBUYXNrLFxuICApOiB7XG4gICAgcHVibGlzaFRvb2xzOiBUb29scztcbiAgICBib290c3RyYXBTdGVwczogQXJyYXk8U3RlcD47XG4gICAgcGFja2FnaW5nU3RlcHM6IEFycmF5PFN0ZXA+O1xuICB9IHtcbiAgICBjb25zdCBib290c3RyYXBTdGVwczogQXJyYXk8U3RlcD4gPSBbXTtcbiAgICBjb25zdCBwYWNrYWdpbmdTdGVwczogQXJyYXk8U3RlcD4gPSBbXTtcblxuICAgIC8vIEdlbmVyaWMgYm9vdHN0cmFwcGluZyBmb3IgYWxsIHRhcmdldCBsYW5ndWFnZXNcbiAgICBib290c3RyYXBTdGVwcy5wdXNoKC4uLih0aGlzLm9wdGlvbnMud29ya2Zsb3dCb290c3RyYXBTdGVwcyA/PyBbXSkpO1xuICAgIGlmIChwcm9qZWN0LnBhY2thZ2UucGFja2FnZU1hbmFnZXIgPT09IE5vZGVQYWNrYWdlTWFuYWdlci5QTlBNKSB7XG4gICAgICBib290c3RyYXBTdGVwcy5wdXNoKHtcbiAgICAgICAgbmFtZTogXCJTZXR1cCBwbnBtXCIsXG4gICAgICAgIHVzZXM6IEFjdGlvblJlZnMuUE5QTV9BQ1RJT05fU0VUVVAsXG4gICAgICAgIHdpdGg6IHsgdmVyc2lvbjogcHJvamVjdC5wYWNrYWdlLnBucG1WZXJzaW9uIH0sXG4gICAgICB9KTtcbiAgICB9IGVsc2UgaWYgKHByb2plY3QucGFja2FnZS5wYWNrYWdlTWFuYWdlciA9PT0gTm9kZVBhY2thZ2VNYW5hZ2VyLkJVTikge1xuICAgICAgYm9vdHN0cmFwU3RlcHMucHVzaCh7XG4gICAgICAgIG5hbWU6IFwiU2V0dXAgYnVuXCIsXG4gICAgICAgIHVzZXM6IEFjdGlvblJlZnMuT1ZFTl9TSF9TRVRVUF9CVU4sXG4gICAgICAgIHdpdGg6IHsgXCJidW4tdmVyc2lvblwiOiBwcm9qZWN0LnBhY2thZ2UuYnVuVmVyc2lvbiB9LFxuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmIChpc1lhcm5CZXJyeShwcm9qZWN0LnBhY2thZ2UucGFja2FnZU1hbmFnZXIpKSB7XG4gICAgICBib290c3RyYXBTdGVwcy5wdXNoKHtcbiAgICAgICAgbmFtZTogXCJFbmFibGUgY29yZXBhY2tcIixcbiAgICAgICAgcnVuOiBcImNvcmVwYWNrIGVuYWJsZVwiLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29uc3Qgd29ya0RpciA9IHRoaXMub3B0aW9ucy53b3Jrc3BhY2VEaXJlY3RvcnlcbiAgICAgID8gYCR7UkVQT19URU1QX0RJUkVDVE9SWX0vJHt0aGlzLm9wdGlvbnMud29ya3NwYWNlRGlyZWN0b3J5fWBcbiAgICAgIDogUkVQT19URU1QX0RJUkVDVE9SWTtcblxuICAgIC8vIEluc3RhbGxhdGlvbiBzdGVwcyBiZWZvcmUgcGFja2FnaW5nLCBidXQgYWZ0ZXIgY2hlY2tvdXRcbiAgICBwYWNrYWdpbmdTdGVwcy5wdXNoKFxuICAgICAge1xuICAgICAgICBuYW1lOiBcIkluc3RhbGwgRGVwZW5kZW5jaWVzXCIsXG4gICAgICAgIHJ1bjogYGNkICR7UkVQT19URU1QX0RJUkVDVE9SWX0gJiYgJHtwcm9qZWN0LnBhY2thZ2UuaW5zdGFsbENvbW1hbmR9YCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwiRXh0cmFjdCBidWlsZCBhcnRpZmFjdFwiLFxuICAgICAgICBydW46IGB0YXIgLS1zdHJpcC1jb21wb25lbnRzPTEgLXh6dmYgJHtwcm9qZWN0LmFydGlmYWN0c0RpcmVjdG9yeX0vanMvKi50Z3ogLUMgJHt3b3JrRGlyfWAsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiBgTW92ZSBidWlsZCBhcnRpZmFjdCBvdXQgb2YgdGhlIHdheWAsXG4gICAgICAgIHJ1bjogYG12ICR7cHJvamVjdC5hcnRpZmFjdHNEaXJlY3Rvcnl9ICR7QlVJTERfQVJUSUZBQ1RfT0xEX0RJUn1gLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogYENyZWF0ZSAke3RhcmdldH0gYXJ0aWZhY3RgLFxuICAgICAgICBydW46IGBjZCAke3dvcmtEaXJ9ICYmICR7cHJvamVjdC5ydW5UYXNrQ29tbWFuZChwYWNrVGFzayl9YCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IGBDb2xsZWN0ICR7dGFyZ2V0fSBhcnRpZmFjdGAsXG4gICAgICAgIHJ1bjogYG12ICR7d29ya0Rpcn0vJHtwcm9qZWN0LmFydGlmYWN0c0RpcmVjdG9yeX0gJHtwcm9qZWN0LmFydGlmYWN0c0RpcmVjdG9yeX1gLFxuICAgICAgfSxcbiAgICApO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHB1Ymxpc2hUb29sczogSlNJSV9UT09MQ0hBSU5bdGFyZ2V0XSxcbiAgICAgIGJvb3RzdHJhcFN0ZXBzLFxuICAgICAgcGFja2FnaW5nU3RlcHMsXG4gICAgfTtcbiAgfVxufVxuXG50eXBlIFB1Ymxpc2hUbyA9IGtleW9mIFB1Ymxpc2hlciAmXG4gIChcbiAgICB8IFwicHVibGlzaFRvTnBtXCJcbiAgICB8IFwicHVibGlzaFRvTWF2ZW5cIlxuICAgIHwgXCJwdWJsaXNoVG9QeVBpXCJcbiAgICB8IFwicHVibGlzaFRvTnVnZXRcIlxuICAgIHwgXCJwdWJsaXNoVG9Hb1wiXG4gICk7XG5cbnR5cGUgUHVibGlzaFRvVGFyZ2V0ID0geyBbSyBpbiBKc2lpUGFjbWFrVGFyZ2V0XTogUHVibGlzaFRvIH07XG5jb25zdCBwdWJsaXNoVG86IFB1Ymxpc2hUb1RhcmdldCA9IHtcbiAganM6IFwicHVibGlzaFRvTnBtXCIsXG4gIGphdmE6IFwicHVibGlzaFRvTWF2ZW5cIixcbiAgcHl0aG9uOiBcInB1Ymxpc2hUb1B5UGlcIixcbiAgZG90bmV0OiBcInB1Ymxpc2hUb051Z2V0XCIsXG4gIGdvOiBcInB1Ymxpc2hUb0dvXCIsXG59O1xuIl19
|
|
379
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNpaS1idWlsZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jZGsvanNpaS1idWlsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBR0EscUNBQTBDO0FBQzFDLCtDQUEyQztBQU8zQyxvREFHaUM7QUFDakMsMkRBQXFEO0FBQ3JELDZEQUF5RDtBQUV6RCwrREFBMEQ7QUFDMUQsOENBQW1EO0FBRW5ELDZDQUFpRDtBQU1qRCxzREFBMEQ7QUFDMUQsOENBQWtEO0FBRWxELE1BQU0sbUJBQW1CLEdBQUcsT0FBTyxDQUFDO0FBQ3BDLE1BQU0sc0JBQXNCLEdBQUcsVUFBVSxDQUFDO0FBRTFDOztHQUVHO0FBQ0gsSUFBWSxnQkFvQlg7QUFwQkQsV0FBWSxnQkFBZ0I7SUFDMUI7O09BRUc7SUFDSCxxQ0FBaUIsQ0FBQTtJQUVqQjs7T0FFRztJQUNILDJDQUF1QixDQUFBO0lBRXZCOztPQUVHO0lBQ0gsdUNBQW1CLENBQUE7SUFFbkI7O09BRUc7SUFDSCwrQkFBVyxDQUFBO0FBQ2IsQ0FBQyxFQXBCVyxnQkFBZ0IsZ0NBQWhCLGdCQUFnQixRQW9CM0I7QUFxTEQ7Ozs7Ozs7Ozs7Ozs7R0FhRztBQUNILE1BQWEsU0FBUzs7SUFDSCxPQUFPLENBQW1CO0lBQzFCLGVBQWUsQ0FBZTtJQUUvQyxZQUNFLFVBQTRCLEVBQUUsRUFDOUIsZUFBeUM7UUFFekMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLGVBQWUsSUFBSSxFQUFFLENBQWlCLENBQUM7SUFDakUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksUUFBUSxDQUFDLFNBQXFCO1FBQ25DLE9BQU8sU0FBUyxZQUFZLDhCQUFpQixDQUFDO0lBQ2hELENBQUM7SUFFRDs7T0FFRztJQUNJLE9BQU8sQ0FBQyxPQUFtQjtRQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQzVC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R0FBRyxFQUFFLE1BQU0sT0FBTyxDQUFDLGtCQUFrQixJQUFJLHNCQUFzQixFQUFFO1NBQ2xFLEVBQ0Q7WUFDRSxJQUFJLEVBQUUsVUFBVSxNQUFNLFdBQVc7WUFDakMsR0FBRyxFQUFFLE1BQU0sT0FBTyxPQUFPLE9BQU8sQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLEVBQUU7U0FDNUQsRUFDRDtZQUNFLElBQUksRUFBRSxXQUFXLE1BQU0sV0FBVztZQUNsQyxHQUFHLEVBQUUsTUFBTSxPQUFPLElBQUksT0FBTyxDQUFDLGtCQUFrQixJQUFJLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRTtTQUNqRixDQUNGLENBQUM7UUFFRixPQUFPO1lBQ0wsWUFBWSxFQUFFLHVCQUFjLENBQUMsTUFBTSxDQUFDO1lBQ3BDLGNBQWM7WUFDZCxjQUFjO1NBQ2YsQ0FBQztJQUNKLENBQUM7O0FBeFpILDhCQXlaQztBQVlELE1BQU0sU0FBUyxHQUFvQjtJQUNqQyxFQUFFLEVBQUUsY0FBYztJQUNsQixJQUFJLEVBQUUsZ0JBQWdCO0lBQ3RCLE1BQU0sRUFBRSxlQUFlO0lBQ3ZCLE1BQU0sRUFBRSxnQkFBZ0I7SUFDeEIsRUFBRSxFQUFFLGFBQWE7Q0FDbEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgSUNvbnN0cnVjdCwgSU1peGluIH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB0eXBlIHsgVGFzayB9IGZyb20gXCIuLlwiO1xuaW1wb3J0IHR5cGUgeyBKc2lpUGFjbWFrVGFyZ2V0IH0gZnJvbSBcIi4vY29uc3RzXCI7XG5pbXBvcnQgeyBKU0lJX1RPT0xDSEFJTiB9IGZyb20gXCIuL2NvbnN0c1wiO1xuaW1wb3J0IHsgSnNpaURvY2dlbiB9IGZyb20gXCIuL2pzaWktZG9jZ2VuXCI7XG5pbXBvcnQgdHlwZSB7XG4gIEpzaWlEb3ROZXRUYXJnZXQsXG4gIEpzaWlHb1RhcmdldCxcbiAgSnNpaUphdmFUYXJnZXQsXG4gIEpzaWlQeXRob25UYXJnZXQsXG59IGZyb20gXCIuL2pzaWktcHJvamVjdFwiO1xuaW1wb3J0IHtcbiAgUFVMTF9SRVFVRVNUX1JFUE9TSVRPUlksXG4gIFBVTExfUkVRVUVTVF9TSEEsXG59IGZyb20gXCIuLi9idWlsZC9wcml2YXRlL2NvbnN0c1wiO1xuaW1wb3J0IHsgQWN0aW9uUmVmcyB9IGZyb20gXCIuLi9naXRodWIvYWN0aW9ucy5jb25zdFwiO1xuaW1wb3J0IHsgV29ya2Zsb3dTdGVwcyB9IGZyb20gXCIuLi9naXRodWIvd29ya2Zsb3ctc3RlcHNcIjtcbmltcG9ydCB0eXBlIHsgSm9iLCBTdGVwLCBUb29scyB9IGZyb20gXCIuLi9naXRodWIvd29ya2Zsb3dzLW1vZGVsXCI7XG5pbXBvcnQgeyBKb2JQZXJtaXNzaW9uIH0gZnJvbSBcIi4uL2dpdGh1Yi93b3JrZmxvd3MtbW9kZWxcIjtcbmltcG9ydCB7IE5vZGVQYWNrYWdlTWFuYWdlciB9IGZyb20gXCIuLi9qYXZhc2NyaXB0XCI7XG5pbXBvcnQgdHlwZSB7IFR5cGVzY3JpcHRDb25maWcgfSBmcm9tIFwiLi4vamF2YXNjcmlwdFwiO1xuaW1wb3J0IHsgaXNZYXJuQmVycnkgfSBmcm9tIFwiLi4vamF2YXNjcmlwdC91dGlsXCI7XG5pbXBvcnQgdHlwZSB7XG4gIENvbW1vblB1Ymxpc2hPcHRpb25zLFxuICBOcG1QdWJsaXNoT3B0aW9ucyxcbiAgUHVibGlzaGVyLFxufSBmcm9tIFwiLi4vcmVsZWFzZVwiO1xuaW1wb3J0IHsgZmlsdGVyZWRSdW5zT25PcHRpb25zIH0gZnJvbSBcIi4uL3J1bm5lci1vcHRpb25zXCI7XG5pbXBvcnQgeyBUeXBlU2NyaXB0UHJvamVjdCB9IGZyb20gXCIuLi90eXBlc2NyaXB0XCI7XG5cbmNvbnN0IFJFUE9fVEVNUF9ESVJFQ1RPUlkgPSBcIi5yZXBvXCI7XG5jb25zdCBCVUlMRF9BUlRJRkFDVF9PTERfRElSID0gXCJkaXN0Lm9sZFwiO1xuXG4vKipcbiAqIExldmVsIG9mIHRzY29uZmlnIHZhbGlkYXRpb24ganNpaSBzaG91bGQgcGVyZm9ybS5cbiAqL1xuZXhwb3J0IGVudW0gVmFsaWRhdGVUc2NvbmZpZyB7XG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgYWdhaW5zdCBhIHN0cmljdCBydWxlIHNldCBkZXNpZ25lZCBmb3Igd2lkZXNwcmVhZCBzdXBwb3J0IGFuZCBiYWNrd2FyZHMtY29tcGF0aWJpbGl0eS5cbiAgICovXG4gIFNUUklDVCA9IFwic3RyaWN0XCIsXG5cbiAgLyoqXG4gICAqIEVuZm9yY2VzIGEgdHNjb25maWcgYXMgaWYgaXQgd2VyZSBnZW5lcmF0ZWQgYnkganNpaS5cbiAgICovXG4gIEdFTkVSQVRFRCA9IFwiZ2VuZXJhdGVkXCIsXG5cbiAgLyoqXG4gICAqIE9ubHkgcmVqZWN0IG9wdGlvbnMga25vd24gdG8gYmUgaW5jb21wYXRpYmxlIHdpdGgganNpaS5cbiAgICovXG4gIE1JTklNQUwgPSBcIm1pbmltYWxcIixcblxuICAvKipcbiAgICogRGlzYWJsZXMgYWxsIGNvbmZpZyB2YWxpZGF0aW9uLiBVc2UgYXQgeW91ciBvd24gcmlzay5cbiAgICovXG4gIE9GRiA9IFwib2ZmXCIsXG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgYEpzaWlCdWlsZGAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSnNpaUJ1aWxkT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBQdWJsaXNoIHRvIG1hdmVuXG4gICAqIEBkZWZhdWx0IC0gbm8gcHVibGlzaGluZ1xuICAgKi9cbiAgcmVhZG9ubHkgcHVibGlzaFRvTWF2ZW4/OiBKc2lpSmF2YVRhcmdldDtcblxuICAvKipcbiAgICogUHVibGlzaCB0byBweXBpXG4gICAqIEBkZWZhdWx0IC0gbm8gcHVibGlzaGluZ1xuICAgKi9cbiAgcmVhZG9ubHkgcHVibGlzaFRvUHlwaT86IEpzaWlQeXRob25UYXJnZXQ7XG5cbiAgLyoqXG4gICAqIFB1Ymxpc2ggR28gYmluZGluZ3MgdG8gYSBnaXQgcmVwb3NpdG9yeS5cbiAgICogQGRlZmF1bHQgLSBubyBwdWJsaXNoaW5nXG4gICAqL1xuICByZWFkb25seSBwdWJsaXNoVG9Hbz86IEpzaWlHb1RhcmdldDtcblxuICAvKipcbiAgICogUHVibGlzaCB0byBOdUdldFxuICAgKiBAZGVmYXVsdCAtIG5vIHB1Ymxpc2hpbmdcbiAgICovXG4gIHJlYWRvbmx5IHB1Ymxpc2hUb051Z2V0PzogSnNpaURvdE5ldFRhcmdldDtcblxuICAvKipcbiAgICogQXV0b21hdGljYWxseSBydW4gQVBJIGNvbXBhdGliaWxpdHkgdGVzdCBhZ2FpbnN0IHRoZSBsYXRlc3QgdmVyc2lvbiBwdWJsaXNoZWQgdG8gbnBtIGFmdGVyIGNvbXBpbGF0aW9uLlxuICAgKlxuICAgKiAtIFlvdSBjYW4gbWFudWFsbHkgcnVuIGNvbXBhdGliaWxpdHkgdGVzdHMgdXNpbmcgYHlhcm4gY29tcGF0YCBpZiB0aGlzIGZlYXR1cmUgaXMgZGlzYWJsZWQuXG4gICAqIC0gWW91IGNhbiBpZ25vcmUgY29tcGF0aWJpbGl0eSBmYWlsdXJlcyBieSBhZGRpbmcgbGluZXMgdG8gYSBcIi5jb21wYXRpZ25vcmVcIiBmaWxlLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgY29tcGF0PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogTmFtZSBvZiB0aGUgaWdub3JlIGZpbGUgZm9yIEFQSSBjb21wYXRpYmlsaXR5IHRlc3RzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBcIi5jb21wYXRpZ25vcmVcIlxuICAgKi9cbiAgcmVhZG9ubHkgY29tcGF0SWdub3JlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBY2NlcHRzIGEgbGlzdCBvZiBnbG9iIHBhdHRlcm5zLiBGaWxlcyBtYXRjaGluZyBhbnkgb2YgdGhvc2UgcGF0dGVybnMgd2lsbCBiZSBleGNsdWRlZCBmcm9tIHRoZSBUeXBlU2NyaXB0IGNvbXBpbGVyIGlucHV0LlxuICAgKlxuICAgKiBCeSBkZWZhdWx0LCBqc2lpIHdpbGwgaW5jbHVkZSBhbGwgKi50cyBmaWxlcyAoZXhjZXB0IC5kLnRzIGZpbGVzKSBpbiB0aGUgVHlwZVNjcmlwdCBjb21waWxlciBpbnB1dC5cbiAgICogVGhpcyBjYW4gYmUgcHJvYmxlbWF0aWMgZm9yIGV4YW1wbGUgd2hlbiB0aGUgcGFja2FnZSdzIGJ1aWxkIG9yIHRlc3QgcHJvY2VkdXJlIGdlbmVyYXRlcyAudHMgZmlsZXNcbiAgICogdGhhdCBjYW5ub3QgYmUgY29tcGlsZWQgd2l0aCBqc2lpJ3MgY29tcGlsZXIgc2V0dGluZ3MuXG4gICAqL1xuICByZWFkb25seSBleGNsdWRlVHlwZXNjcmlwdD86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBGaWxlIHBhdGggZm9yIGdlbmVyYXRlZCBkb2NzLlxuICAgKiBAZGVmYXVsdCBcIkFQSS5tZFwiXG4gICAqL1xuICByZWFkb25seSBkb2NnZW5GaWxlUGF0aD86IHN0cmluZztcblxuICAvKipcbiAgICogRW1pdCBhIGNvbXByZXNzZWQgdmVyc2lvbiBvZiB0aGUgYXNzZW1ibHlcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGNvbXByZXNzQXNzZW1ibHk/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBWZXJzaW9uIG9mIHRoZSBqc2lpIGNvbXBpbGVyIHRvIHVzZS5cbiAgICpcbiAgICogU2V0IHRvIFwiKlwiIGlmIHlvdSB3YW50IHRvIG1hbnVhbGx5IG1hbmFnZSB0aGUgdmVyc2lvbiBvZiBqc2lpIGluIHlvdXJcbiAgICogcHJvamVjdCBieSBtYW5hZ2luZyB1cGRhdGVzIHRvIGBwYWNrYWdlLmpzb25gIG9uIHlvdXIgb3duLlxuICAgKlxuICAgKiBOT1RFOiBUaGUganNpaSBjb21waWxlciByZWxlYXNlcyBzaW5jZSA1LjAuMCBhcmUgbm90IHNlbWFudGljYWxseSB2ZXJzaW9uZWRcbiAgICogYW5kIHNob3VsZCByZW1haW4gb24gdGhlIHNhbWUgbWlub3IsIHNvIHdlIHJlY29tbWVuZCB1c2luZyBhIGB+YCBkZXBlbmRlbmN5XG4gICAqIChlLmcuIGB+NS4wLjBgKS5cbiAgICpcbiAgICogQGRlZmF1bHQgXCJ+NS45LjBcIlxuICAgKi9cbiAgcmVhZG9ubHkganNpaVZlcnNpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBzdGFiaWxpdHkgb2YgdGhlIHBhY2thZ2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IFwic3RhYmxlXCJcbiAgICovXG4gIHJlYWRvbmx5IHN0YWJpbGl0eT86IHN0cmluZztcblxuICAvKipcbiAgICogR2VuZXJhdGUgYSBNYXJrRG93biBmaWxlIGRlc2NyaWJpbmcgdGhlIGpzaWkgQVBJLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBkb2NnZW4/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHB1Ymxpc2ggdG8gbnBtLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSByZWxlYXNlVG9OcG0/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHVzZSB0cnVzdGVkIHB1Ymxpc2hpbmcgZm9yIG5wbS5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IG5wbVRydXN0ZWRQdWJsaXNoaW5nPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2FpdCB1bnRpbCB0aGUgcHVibGlzaGVkIHBhY2thZ2UgdmVyc2lvbiBpcyBhdmFpbGFibGUgZnJvbSB0aGUgbnBtIHJlZ2lzdHJ5IGJlZm9yZSB0aGUgcHVibGlzaCBqb2IgY29tcGxldGVzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgbnBtVmVyaWZ5UHVibGlzaGVkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogSG93IGxvbmcgdG8gd2FpdCwgaW4gc2Vjb25kcywgZm9yIHRoZSBwdWJsaXNoZWQgcGFja2FnZSB2ZXJzaW9uIHRvIGJlIGF2YWlsYWJsZS5cbiAgICpcbiAgICogUmVxdWlyZXMgYG5wbVZlcmlmeVB1Ymxpc2hlZGAgdG8gYmUgZW5hYmxlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgMzYwMFxuICAgKi9cbiAgcmVhZG9ubHkgbnBtVmVyaWZ5UHVibGlzaGVkVGltZW91dFNlY29uZHM/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIE9wdGlvbnMgZm9yIHB1Ymxpc2hpbmcgbnBtIHBhY2thZ2UgdG8gQVdTIENvZGVBcnRpZmFjdC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSB1bmRlZmluZWRcbiAgICovXG4gIHJlYWRvbmx5IGNvZGVBcnRpZmFjdE9wdGlvbnM/OiBOcG1QdWJsaXNoT3B0aW9uc1tcImNvZGVBcnRpZmFjdE9wdGlvbnNcIl07XG5cbiAgLyoqXG4gICAqIFJlbGF0aXZlIHBhdGggb2YgdGhlIHBhY2thZ2Ugd2l0aGluIHRoZSByZXBvc2l0b3J5LlxuICAgKlxuICAgKiBUaGlzIGlzIHVzZWQgaW4gbW9ub3JlcG8gc2V0dXBzIHdoZXJlIHRoZSBwYWNrYWdlIGlzIG5vdCBhdCB0aGUgcm9vdC5cbiAgICogUGFja2FnaW5nIHN0ZXBzIHdpbGwgZXh0cmFjdCBidWlsZCBhcnRpZmFjdHMgaW50byB0aGlzIHN1YmRpcmVjdG9yeS5cbiAgICpcbiAgICogQGRlZmF1bHQgXCIuXCIgLSByb290IG9mIHRoZSByZXBvc2l0b3J5XG4gICAqL1xuICByZWFkb25seSB3b3Jrc3BhY2VEaXJlY3Rvcnk/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBub2RlIHZlcnNpb24gdG8gdXNlIGluIHBhY2thZ2luZyB3b3JrZmxvd3MuXG4gICAqXG4gICAqIEBkZWZhdWx0IFwibHRzLypcIlxuICAgKi9cbiAgcmVhZG9ubHkgd29ya2Zsb3dOb2RlVmVyc2lvbj86IHN0cmluZztcblxuICAvKipcbiAgICogQWRkaXRpb25hbCBzdGVwcyB0byBydW4gYmVmb3JlIHBhY2thZ2luZyBpbiB3b3JrZmxvd3MuXG4gICAqXG4gICAqIEBkZWZhdWx0IFtdXG4gICAqL1xuICByZWFkb25seSB3b3JrZmxvd0Jvb3RzdHJhcFN0ZXBzPzogQXJyYXk8U3RlcD47XG5cbiAgLyoqXG4gICAqIExldmVsIG9mIHRzY29uZmlnIHZhbGlkYXRpb24ganNpaSBzaG91bGQgcGVyZm9ybSBvbiB0aGUgdXNlci1wcm92aWRlZCB0c2NvbmZpZy5cbiAgICpcbiAgICogT25seSByZWxldmFudCB3aGVuIHRoZSBwcm9qZWN0IHN5bnRoZXNpemVzIGl0cyBvd24gdHNjb25maWdcbiAgICogKGkuZS4gYGRpc2FibGVUc2NvbmZpZ2AgaXMgbm90IHNldCBvbiB0aGUgVHlwZVNjcmlwdFByb2plY3QpLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vYXdzLmdpdGh1Yi5pby9qc2lpL3VzZXItZ3VpZGVzL2xpYi1hdXRob3IvY29uZmlndXJhdGlvbi8jdmFsaWRhdGV0c2NvbmZpZ1xuICAgKiBAZGVmYXVsdCBWYWxpZGF0ZVRzY29uZmlnLlNUUklDVFxuICAgKi9cbiAgcmVhZG9ubHkgdmFsaWRhdGVUc2NvbmZpZz86IFZhbGlkYXRlVHNjb25maWc7XG5cbiAgLyoqXG4gICAqIFRoZSBUeXBlc2NyaXB0Q29uZmlnIHRoYXQganNpaSBjb21waWxlcyBhZ2FpbnN0LlxuICAgKlxuICAgKiBQcm92aWRlIGEgZGVkaWNhdGVkIGNvbmZpZyAoZS5nLiBvbmUgbmFtZWQgYHRzY29uZmlnLmpzaWkuanNvbmApIHRvIGtlZXBcbiAgICoganNpaSBjb21waWxhdGlvbiBzZXBhcmF0ZSBmcm9tIHRoZSBwcm9qZWN0J3MgZWRpdG9yLWZhY2luZyBgdHNjb25maWcuanNvbmAuXG4gICAqIGpzaWkgcmVxdWlyZXMgYSBjb21tZW50LWZyZWUsIHN0cmljdC12YWxpZCBjb25maWcsIHNvIGBKc2lpQnVpbGRgIGRpc2FibGVzXG4gICAqIGNvbW1lbnRzIG9uIHdoaWNoZXZlciBjb25maWcgaXQgaXMgZ2l2ZW4uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdGhlIHByb2plY3QncyB0c2NvbmZpZyAoaS5lLiBgcHJvamVjdC50c2NvbmZpZ2ApXG4gICAqL1xuICByZWFkb25seSB0c2NvbmZpZz86IFR5cGVzY3JpcHRDb25maWc7XG59XG5cbi8qKlxuICogQSBtaXhpbiB0aGF0IGFkZHMganNpaSBjb21waWxhdGlvbiwgbXVsdGktbGFuZ3VhZ2UgcGFja2FnaW5nLCBhbmQgcHVibGlzaGluZ1xuICogY2FwYWJpbGl0aWVzIHRvIGFueSBUeXBlU2NyaXB0IHByb2plY3QuXG4gKlxuICogVGhpcyBpbXBsZW1lbnRzIHRoZSBjb25zdHJ1Y3RzIGBJTWl4aW5gIGludGVyZmFjZSBhbmQgaXMgYXBwbGllZCB1c2luZyB0aGVcbiAqIGAud2l0aCgpYCBtZXRob2Qgb24gYW55IGNvbnN0cnVjdC5cbiAqXG4gKiBAZXhhbXBsZVxuICogY29uc3QgcHJvamVjdCA9IG5ldyBUeXBlU2NyaXB0UHJvamVjdCh7IGRpc2FibGVUc2NvbmZpZzogdHJ1ZSwgLi4uIH0pO1xuICogcHJvamVjdC53aXRoKG5ldyBKc2lpQnVpbGQoe1xuICogICBqc2lpVmVyc2lvbjogJ341LjkuMCcsXG4gKiAgIHB1Ymxpc2hUb01hdmVuOiB7IC4uLiB9LFxuICogfSkpO1xuICovXG5leHBvcnQgY2xhc3MgSnNpaUJ1aWxkIGltcGxlbWVudHMgSU1peGluIHtcbiAgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBKc2lpQnVpbGRPcHRpb25zO1xuICBwcml2YXRlIHJlYWRvbmx5IGV4dHJhSm9iT3B0aW9uczogUGFydGlhbDxKb2I+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIG9wdGlvbnM6IEpzaWlCdWlsZE9wdGlvbnMgPSB7fSxcbiAgICBleHRyYUpvYk9wdGlvbnM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgKSB7XG4gICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcbiAgICB0aGlzLmV4dHJhSm9iT3B0aW9ucyA9IChleHRyYUpvYk9wdGlvbnMgPz8ge30pIGFzIFBhcnRpYWw8Sm9iPjtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRydWUgaWYgdGhlIGNvbnN0cnVjdCBpcyBhIFR5cGVTY3JpcHRQcm9qZWN0LlxuICAgKi9cbiAgcHVibGljIHN1cHBvcnRzKGNvbnN0cnVjdDogSUNvbnN0cnVjdCk6IGNvbnN0cnVjdCBpcyBUeXBlU2NyaXB0UHJvamVjdCB7XG4gICAgcmV0dXJuIGNvbnN0cnVjdCBpbnN0YW5jZW9mIFR5cGVTY3JpcHRQcm9qZWN0O1xuICB9XG5cbiAgLyoqXG4gICAqIEFwcGxpZXMganNpaSBjb25maWd1cmF0aW9uIHRvIHRoZSB0YXJnZXQgVHlwZVNjcmlwdFByb2plY3QuXG4gICAqL1xuICBwdWJsaWMgYXBwbHlUbyhwcm9qZWN0OiBJQ29uc3RydWN0KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnN1cHBvcnRzKHByb2plY3QpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgb3B0aW9ucyA9IHsgLi4udGhpcy5vcHRpb25zIH07XG4gICAgY29uc3Qgc3JjZGlyID0gcHJvamVjdC5zcmNkaXI7XG4gICAgY29uc3QgbGliZGlyID0gcHJvamVjdC5saWJkaXI7XG5cbiAgICAvLyBUeXBlU2NyaXB0UHJvamVjdCBzZWxlY3RzIGB0eXBlc2AgZnJvbSBgZW50cnlwb2ludFR5cGVzYCBvciBgZW50cnlwb2ludGAuXG4gICAgY29uc3QgY29tcHJlc3NBc3NlbWJseSA9IG9wdGlvbnMuY29tcHJlc3NBc3NlbWJseSA/PyBmYWxzZTtcblxuICAgIC8vIHRoaXMgaXMgYW4gdW5oZWxwZnVsIHdhcm5pbmdcbiAgICBjb25zdCBqc2lpRmxhZ3MgPSBbXCItLXNpbGVuY2Utd2FybmluZ3M9cmVzZXJ2ZWQtd29yZFwiXTtcbiAgICBpZiAoY29tcHJlc3NBc3NlbWJseSkge1xuICAgICAganNpaUZsYWdzLnB1c2goXCItLWNvbXByZXNzLWFzc2VtYmx5XCIpO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbXBhdElnbm9yZSA9IG9wdGlvbnMuY29tcGF0SWdub3JlID8/IFwiLmNvbXBhdGlnbm9yZVwiO1xuXG4gICAgcHJvamVjdC5hZGRGaWVsZHMoe1xuICAgICAgc3RhYmlsaXR5OlxuICAgICAgICBvcHRpb25zLnN0YWJpbGl0eSA/PyBwcm9qZWN0LnBhY2thZ2UubWFuaWZlc3Quc3RhYmlsaXR5ID8/IFwic3RhYmxlXCIsXG4gICAgfSk7XG5cbiAgICBpZiAob3B0aW9ucy5zdGFiaWxpdHkgPT09IFwiZGVwcmVjYXRlZFwiKSB7XG4gICAgICBwcm9qZWN0LmFkZEZpZWxkcyh7IGRlcHJlY2F0ZWQ6IHRydWUgfSk7XG4gICAgfVxuXG4gICAgcHJvamVjdC5jb21waWxlVGFzay5yZXNldChbXCJqc2lpXCIsIC4uLmpzaWlGbGFnc10uam9pbihcIiBcIikpO1xuICAgIHByb2plY3Qud2F0Y2hUYXNrLnJlc2V0KFtcImpzaWlcIiwgXCItd1wiLCAuLi5qc2lpRmxhZ3NdLmpvaW4oXCIgXCIpKTtcblxuICAgIGNvbnN0IGNvbXBhdFRhc2sgPSBwcm9qZWN0LmFkZFRhc2soXCJjb21wYXRcIiwge1xuICAgICAgZGVzY3JpcHRpb246IGBQZXJmb3JtIEFQSSBjb21wYXRpYmlsaXR5IGNoZWNrIGFnYWluc3QgbGF0ZXN0IHZlcnNpb25gLFxuICAgICAgZXhlY0FyZ3M6IFtcbiAgICAgICAgXCJqc2lpLWRpZmZcIixcbiAgICAgICAgYG5wbToke3Byb2plY3QucGFja2FnZS5wYWNrYWdlTmFtZX1gLFxuICAgICAgICBcIi1rXCIsXG4gICAgICAgIFwiLS1pZ25vcmUtZmlsZVwiLFxuICAgICAgICBjb21wYXRJZ25vcmUsXG4gICAgICBdLFxuICAgIH0pO1xuXG4gICAgaWYgKG9wdGlvbnMuY29tcGF0ID8/IGZhbHNlKSB7XG4gICAgICBwcm9qZWN0LmNvbXBpbGVUYXNrLnNwYXduKGNvbXBhdFRhc2spO1xuICAgIH1cblxuICAgIC8vIENyZWF0ZSBhIG5ldyBwYWNrYWdlOmFsbCB0YXNrLCBpdCB3aWxsIGJlIGZpbGxlZCB3aXRoIGxhbmd1YWdlIHRhcmdldHMgbGF0ZXJcbiAgICBjb25zdCBwYWNrYWdlQWxsVGFzayA9IHByb2plY3QuYWRkVGFzayhcInBhY2thZ2UtYWxsXCIsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiBcIlBhY2thZ2VzIGFydGlmYWN0cyBmb3IgYWxsIHRhcmdldCBsYW5ndWFnZXNcIixcbiAgICB9KTtcblxuICAgIC8vIGluIGpzaWkgd2UgY29uc2lkZXIgdGhlIGVudGlyZSByZXBvIChwb3N0IGJ1aWxkKSBhcyB0aGUgYnVpbGQgYXJ0aWZhY3RcbiAgICAvLyB3aGljaCBpcyB0aGVuIHVzZWQgdG8gY3JlYXRlIHRoZSBsYW5ndWFnZSBiaW5kaW5ncyBpbiBzZXBhcmF0ZSBqb2JzLlxuICAgIGNvbnN0IHBhY2thZ2VKc1Rhc2sgPSB0aGlzLmFkZFBhY2thZ2luZ1Rhc2socHJvamVjdCwgcGFja2FnZUFsbFRhc2ssIFwianNcIik7XG5cbiAgICAvLyBXaGVuIHJ1bm5pbmcgaW5zaWRlIENJIHdlIGluaXRpYWxseSBvbmx5IHBhY2thZ2UganMuIE90aGVyIHRhcmdldHMgYXJlIHBhY2thZ2VkIGluIHNlcGFyYXRlIGpvYnMuXG4gICAgLy8gT3V0c2lkZSBvZiBDSSAoaS5lIGxvY2FsbHkpIHdlIHNpbXBseSBwYWNrYWdlIGFsbCB0YXJnZXRzLlxuICAgIHByb2plY3QucGFja2FnZVRhc2sucmVzZXQoKTtcbiAgICBwcm9qZWN0LnBhY2thZ2VUYXNrLnNwYXduKHBhY2thZ2VKc1Rhc2ssIHtcbiAgICAgIC8vIE9ubHkgcnVuIGluIENJXG4gICAgICBjb25kaXRpb246IGBub2RlIC1lIFwiaWYgKCFwcm9jZXNzLmVudi5DSSkgcHJvY2Vzcy5leGl0KDEpXCJgLFxuICAgIH0pO1xuICAgIHByb2plY3QucGFja2FnZVRhc2suc3Bhd24ocGFja2FnZUFsbFRhc2ssIHtcbiAgICAgIC8vIERvbid0IHJ1biBpbiBDSVxuICAgICAgY29uZGl0aW9uOiBgbm9kZSAtZSBcImlmIChwcm9jZXNzLmVudi5DSSkgcHJvY2Vzcy5leGl0KDEpXCJgLFxuICAgIH0pO1xuXG4gICAgY29uc3QgdGFyZ2V0czogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9O1xuXG4gICAgY29uc3QganNpaTogYW55ID0ge1xuICAgICAgb3V0ZGlyOiBwcm9qZWN0LmFydGlmYWN0c0RpcmVjdG9yeSxcbiAgICAgIHRhcmdldHMsXG4gICAgfTtcblxuICAgIC8vIGpzaWkgY29tcGlsZXMgYWdhaW5zdCBhbiBleHBsaWNpdGx5IHByb3ZpZGVkIHRzY29uZmlnLCBmYWxsaW5nIGJhY2sgdG9cbiAgICAvLyB0aGUgcHJvamVjdCdzIG93biB0c2NvbmZpZyB3aGVuIG9uZSBpcyBub3QgaW5qZWN0ZWQuIFdoZW4gbmVpdGhlciBpc1xuICAgIC8vIGF2YWlsYWJsZSAoZS5nLiBgZGlzYWJsZVRzY29uZmlnYCksIGxldCBqc2lpIGdlbmVyYXRlIG9uZSBmcm9tIHRzYyBzZXR0aW5ncy5cbiAgICBjb25zdCB0c2NvbmZpZyA9IG9wdGlvbnMudHNjb25maWcgPz8gcHJvamVjdC50c2NvbmZpZztcbiAgICBpZiAodHNjb25maWcpIHtcbiAgICAgIC8vIEB0cy1pZ25vcmUganNpaSB1c2VzIEpTT04ucGFyc2UoKSBhbmQgY2Fubm90IGhhbmRsZSBjb21tZW50c1xuICAgICAgdHNjb25maWcuZmlsZS5jb25maWd1cmVDb21tZW50cyhmYWxzZSk7XG4gICAgICBqc2lpLnRzY29uZmlnID0gdHNjb25maWcuZmlsZU5hbWU7XG4gICAgICBqc2lpLnZhbGlkYXRlVHNjb25maWcgPVxuICAgICAgICBvcHRpb25zLnZhbGlkYXRlVHNjb25maWcgPz8gVmFsaWRhdGVUc2NvbmZpZy5TVFJJQ1Q7XG5cbiAgICAgIGlmIChvcHRpb25zLmV4Y2x1ZGVUeXBlc2NyaXB0KSB7XG4gICAgICAgIGZvciAoY29uc3QgcGF0dGVybiBvZiBvcHRpb25zLmV4Y2x1ZGVUeXBlc2NyaXB0KSB7XG4gICAgICAgICAgdHNjb25maWcuYWRkRXhjbHVkZShwYXR0ZXJuKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBqc2lpLnRzYyA9IHtcbiAgICAgICAgb3V0RGlyOiBsaWJkaXIsXG4gICAgICAgIHJvb3REaXI6IHNyY2RpcixcbiAgICAgIH07XG4gICAgICBpZiAob3B0aW9ucy5leGNsdWRlVHlwZXNjcmlwdCkge1xuICAgICAgICBqc2lpLmV4Y2x1ZGVUeXBlc2NyaXB0ID0gb3B0aW9ucy5leGNsdWRlVHlwZXNjcmlwdDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwcm9qZWN0LmFkZEZpZWxkcyh7IGpzaWkgfSk7XG5cbiAgICBjb25zdCBleHRyYUpvYk9wdGlvbnM6IFBhcnRpYWw8Sm9iPiA9IHRoaXMuZXh0cmFKb2JPcHRpb25zO1xuXG4gICAgaWYgKG9wdGlvbnMucmVsZWFzZVRvTnBtICE9PSBmYWxzZSkge1xuICAgICAgY29uc3QgbnBtanM6IE5wbVB1Ymxpc2hPcHRpb25zID0ge1xuICAgICAgICByZWdpc3RyeTogcHJvamVjdC5wYWNrYWdlLm5wbVJlZ2lzdHJ5LFxuICAgICAgICBucG1Ub2tlblNlY3JldDogcHJvamVjdC5wYWNrYWdlLm5wbVRva2VuU2VjcmV0LFxuICAgICAgICBucG1Qcm92ZW5hbmNlOiBwcm9qZWN0LnBhY2thZ2UubnBtUHJvdmVuYW5jZSxcbiAgICAgICAgY29kZUFydGlmYWN0T3B0aW9uczogb3B0aW9ucy5jb2RlQXJ0aWZhY3RPcHRpb25zLFxuICAgICAgICB0cnVzdGVkUHVibGlzaGluZzpcbiAgICAgICAgICBvcHRpb25zLm5wbVRydXN0ZWRQdWJsaXNoaW5nID8/XG4gICAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgICAgcHJvamVjdC5vcHRpb25zLm5wbVRydXN0ZWRQdWJsaXNoaW5nID8/XG4gICAgICAgICAgZmFsc2UsXG4gICAgICAgIHZlcmlmeVB1Ymxpc2hlZDogb3B0aW9ucy5ucG1WZXJpZnlQdWJsaXNoZWQsXG4gICAgICAgIHZlcmlmeVB1Ymxpc2hlZFRpbWVvdXRTZWNvbmRzOiBvcHRpb25zLm5wbVZlcmlmeVB1Ymxpc2hlZFRpbWVvdXRTZWNvbmRzLFxuICAgICAgfTtcbiAgICAgIHRoaXMuYWRkVGFyZ2V0VG9CdWlsZChwcm9qZWN0LCBwYWNrYWdlSnNUYXNrLCBcImpzXCIsIGV4dHJhSm9iT3B0aW9ucyk7XG4gICAgICB0aGlzLmFkZFRhcmdldFRvUmVsZWFzZShwcm9qZWN0LCBwYWNrYWdlSnNUYXNrLCBcImpzXCIsIG5wbWpzKTtcbiAgICB9XG5cbiAgICBjb25zdCBtYXZlbiA9IG9wdGlvbnMucHVibGlzaFRvTWF2ZW47XG4gICAgaWYgKG1hdmVuKSB7XG4gICAgICB0YXJnZXRzLmphdmEgPSB7XG4gICAgICAgIHBhY2thZ2U6IG1hdmVuLmphdmFQYWNrYWdlLFxuICAgICAgICBtYXZlbjoge1xuICAgICAgICAgIGdyb3VwSWQ6IG1hdmVuLm1hdmVuR3JvdXBJZCxcbiAgICAgICAgICBhcnRpZmFjdElkOiBtYXZlbi5tYXZlbkFydGlmYWN0SWQsXG4gICAgICAgIH0sXG4gICAgICB9O1xuXG4gICAgICBjb25zdCB0YXNrID0gdGhpcy5hZGRQYWNrYWdpbmdUYXNrKHByb2plY3QsIHBhY2thZ2VBbGxUYXNrLCBcImphdmFcIik7XG4gICAgICB0aGlzLmFkZFRhcmdldFRvQnVpbGQocHJvamVjdCwgdGFzaywgXCJqYXZhXCIsIGV4dHJhSm9iT3B0aW9ucyk7XG4gICAgICB0aGlzLmFkZFRhcmdldFRvUmVsZWFzZShwcm9qZWN0LCB0YXNrLCBcImphdmFcIiwgbWF2ZW4pO1xuICAgIH1cblxuICAgIGNvbnN0IHB5cGkgPSBvcHRpb25zLnB1Ymxpc2hUb1B5cGk7XG4gICAgaWYgKHB5cGkpIHtcbiAgICAgIHRhcmdldHMucHl0aG9uID0ge1xuICAgICAgICBkaXN0TmFtZTogcHlwaS5kaXN0TmFtZSxcbiAgICAgICAgbW9kdWxlOiBweXBpLm1vZHVsZSxcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IHRhc2sgPSB0aGlzLmFkZFBhY2thZ2luZ1Rhc2socHJvamVjdCwgcGFja2FnZUFsbFRhc2ssIFwicHl0aG9uXCIpO1xuICAgICAgdGhpcy5hZGRUYXJnZXRUb0J1aWxkKHByb2plY3QsIHRhc2ssIFwicHl0aG9uXCIsIGV4dHJhSm9iT3B0aW9ucyk7XG4gICAgICB0aGlzLmFkZFRhcmdldFRvUmVsZWFzZShwcm9qZWN0LCB0YXNrLCBcInB5dGhvblwiLCBweXBpKTtcbiAgICB9XG5cbiAgICBjb25zdCBudWdldCA9IG9wdGlvbnMucHVibGlzaFRvTnVnZXQ7XG4gICAgaWYgKG51Z2V0KSB7XG4gICAgICB0YXJnZXRzLmRvdG5ldCA9IHtcbiAgICAgICAgbmFtZXNwYWNlOiBudWdldC5kb3ROZXROYW1lc3BhY2UsXG4gICAgICAgIHBhY2thZ2VJZDogbnVnZXQucGFja2FnZUlkLFxuICAgICAgICBpY29uVXJsOiBudWdldC5pY29uVXJsLFxuICAgICAgfTtcblxuICAgICAgY29uc3QgdGFzayA9IHRoaXMuYWRkUGFja2FnaW5nVGFzayhwcm9qZWN0LCBwYWNrYWdlQWxsVGFzaywgXCJkb3RuZXRcIik7XG4gICAgICB0aGlzLmFkZFRhcmdldFRvQnVpbGQocHJvamVjdCwgdGFzaywgXCJkb3RuZXRcIiwgZXh0cmFKb2JPcHRpb25zKTtcbiAgICAgIHRoaXMuYWRkVGFyZ2V0VG9SZWxlYXNlKHByb2plY3QsIHRhc2ssIFwiZG90bmV0XCIsIG51Z2V0KTtcbiAgICB9XG5cbiAgICBjb25zdCBnb2xhbmcgPSBvcHRpb25zLnB1Ymxpc2hUb0dvO1xuICAgIGlmIChnb2xhbmcpIHtcbiAgICAgIHRhcmdldHMuZ28gPSB7XG4gICAgICAgIG1vZHVsZU5hbWU6IGdvbGFuZy5tb2R1bGVOYW1lLFxuICAgICAgICBwYWNrYWdlTmFtZTogZ29sYW5nLnBhY2thZ2VOYW1lLFxuICAgICAgICB2ZXJzaW9uU3VmZml4OiBnb2xhbmcudmVyc2lvblN1ZmZpeCxcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IHRhc2sgPSB0aGlzLmFkZFBhY2thZ2luZ1Rhc2socHJvamVjdCwgcGFja2FnZUFsbFRhc2ssIFwiZ29cIik7XG4gICAgICB0aGlzLmFkZFRhcmdldFRvQnVpbGQocHJvamVjdCwgdGFzaywgXCJnb1wiLCBleHRyYUpvYk9wdGlvbnMpO1xuICAgICAgdGhpcy5hZGRUYXJnZXRUb1JlbGVhc2UocHJvamVjdCwgdGFzaywgXCJnb1wiLCBnb2xhbmcpO1xuICAgIH1cblxuICAgIC8vIElmIGpzaWlWZXJzaW9uIGlzIFwiKlwiLCBkb24ndCBzcGVjaWZ5IGFueXRoaW5nIHNvIHRoZSB1c2VyIGNhbiBtYW5hZ2UuXG4gICAgLy8gT3RoZXJ3aXNlLCB1c2UgYGpzaWlWZXJzaW9uYFxuICAgIGNvbnN0IGpzaWlWZXJzaW9uID0gb3B0aW9ucy5qc2lpVmVyc2lvbiA/PyBcIn41LjkuMFwiO1xuICAgIGNvbnN0IGpzaWlTdWZmaXggPSBqc2lpVmVyc2lvbiA9PT0gXCIqXCIgPyBcIlwiIDogYEAke2pzaWlWZXJzaW9ufWA7XG4gICAgcHJvamVjdC5hZGREZXZEZXBzKFxuICAgICAgYGpzaWkke2pzaWlTdWZmaXh9YCxcbiAgICAgIGBqc2lpLXJvc2V0dGEke2pzaWlTdWZmaXh9YCxcbiAgICAgIFwianNpaS1kaWZmXCIsXG4gICAgICBcImpzaWktcGFjbWFrXCIsXG4gICAgKTtcblxuICAgIHByb2plY3QuZ2l0aWdub3JlLmV4Y2x1ZGUoXCIuanNpaVwiKTtcbiAgICBpZiAoIXRzY29uZmlnKSB7XG4gICAgICBwcm9qZWN0LmdpdGlnbm9yZS5leGNsdWRlKFwidHNjb25maWcuanNvblwiKTtcbiAgICB9XG4gICAgcHJvamVjdC5ucG1pZ25vcmU/LmluY2x1ZGUoXCIuanNpaVwiKTtcblxuICAgIGlmIChvcHRpb25zLmRvY2dlbiA/PyB0cnVlKSB7XG4gICAgICAvLyBJZiBqc2lpVmVyc2lvbiBpcyBcIipcIiwgZG9uJ3Qgc3BlY2lmeSBhbnl0aGluZyBzbyB0aGUgdXNlciBjYW4gbWFuYWdlLlxuICAgICAgLy8gT3RoZXJ3aXNlIHVzZSBhIHZlcnNpb24gdGhhdCBpcyBjb21wYXRpYmxlIHdpdGggYWxsIHN1cHBvcnRlZCBqc2lpIHJlbGVhc2VzLlxuICAgICAgY29uc3QgZG9jZ2VuVmVyc2lvbiA9IG9wdGlvbnMuanNpaVZlcnNpb24gPT09IFwiKlwiID8gXCIqXCIgOiBcIl4xMC41LjBcIjtcbiAgICAgIG5ldyBKc2lpRG9jZ2VuKHByb2plY3QsIHtcbiAgICAgICAgdmVyc2lvbjogZG9jZ2VuVmVyc2lvbixcbiAgICAgICAgZmlsZVBhdGg6IG9wdGlvbnMuZG9jZ2VuRmlsZVBhdGgsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBqc2lpIHVwZGF0ZXMgLm5wbWlnbm9yZSwgc28gd2UgbWFrZSBpdCB3cml0YWJsZVxuICAgIGlmIChwcm9qZWN0Lm5wbWlnbm9yZSkge1xuICAgICAgcHJvamVjdC5ucG1pZ25vcmUucmVhZG9ubHkgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIHRhcmdldCBsYW5ndWFnZSB0byB0aGUgcmVsZWFzZSB3b3JrZmxvdy5cbiAgICovXG4gIHByaXZhdGUgYWRkVGFyZ2V0VG9SZWxlYXNlKFxuICAgIHByb2plY3Q6IFR5cGVTY3JpcHRQcm9qZWN0LFxuICAgIHBhY2tUYXNrOiBUYXNrLFxuICAgIGxhbmd1YWdlOiBKc2lpUGFjbWFrVGFyZ2V0LFxuICAgIHRhcmdldDpcbiAgICAgIHwgSnNpaVB5dGhvblRhcmdldFxuICAgICAgfCBKc2lpRG90TmV0VGFyZ2V0XG4gICAgICB8IEpzaWlHb1RhcmdldFxuICAgICAgfCBKc2lpSmF2YVRhcmdldFxuICAgICAgfCBOcG1QdWJsaXNoT3B0aW9ucyxcbiAgKSB7XG4gICAgaWYgKCFwcm9qZWN0LnJlbGVhc2UpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBwYWNtYWsgPSB0aGlzLnBhY21ha0Zvckxhbmd1YWdlKHByb2plY3QsIGxhbmd1YWdlLCBwYWNrVGFzayk7XG4gICAgY29uc3QgcHJlUHVibGlzaFN0ZXBzID0gW1xuICAgICAgLi4ucGFjbWFrLmJvb3RzdHJhcFN0ZXBzLFxuICAgICAgV29ya2Zsb3dTdGVwcy5jaGVja291dCh7XG4gICAgICAgIHdpdGg6IHtcbiAgICAgICAgICBwYXRoOiBSRVBPX1RFTVBfRElSRUNUT1JZLFxuICAgICAgICAgIC4uLihwcm9qZWN0LmdpdGh1Yj8uZG93bmxvYWRMZnMgPyB7IGxmczogdHJ1ZSB9IDoge30pLFxuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgICAuLi5wYWNtYWsucGFja2FnaW5nU3RlcHMsXG4gICAgXTtcbiAgICBjb25zdCBjb21tb25QdWJsaXNoT3B0aW9uczogQ29tbW9uUHVibGlzaE9wdGlvbnMgPSB7XG4gICAgICBwdWJsaXNoVG9vbHM6IHBhY21hay5wdWJsaXNoVG9vbHMsXG4gICAgICBwcmVQdWJsaXNoU3RlcHMsXG4gICAgfTtcblxuICAgIGNvbnN0IGhhbmRsZXI6IFB1Ymxpc2hUbyA9IHB1Ymxpc2hUb1tsYW5ndWFnZV07XG4gICAgcHJvamVjdC5yZWxlYXNlPy5wdWJsaXNoZXJbaGFuZGxlcl0oe1xuICAgICAgLi4uY29tbW9uUHVibGlzaE9wdGlvbnMsXG4gICAgICAuLi50YXJnZXQsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIHRhcmdldCBsYW5ndWFnZSB0byB0aGUgYnVpbGQgd29ya2Zsb3cuXG4gICAqL1xuICBwcml2YXRlIGFkZFRhcmdldFRvQnVpbGQoXG4gICAgcHJvamVjdDogVHlwZVNjcmlwdFByb2plY3QsXG4gICAgcGFja1Rhc2s6IFRhc2ssXG4gICAgbGFuZ3VhZ2U6IEpzaWlQYWNtYWtUYXJnZXQsXG4gICAgZXh0cmFKb2JPcHRpb25zOiBQYXJ0aWFsPEpvYj4sXG4gICkge1xuICAgIGlmICghcHJvamVjdC5idWlsZFdvcmtmbG93KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHBhY21hayA9IHRoaXMucGFjbWFrRm9yTGFuZ3VhZ2UocHJvamVjdCwgbGFuZ3VhZ2UsIHBhY2tUYXNrKTtcblxuICAgIHByb2plY3QuYnVpbGRXb3JrZmxvdy5hZGRQb3N0QnVpbGRKb2IoYHBhY2thZ2UtJHtsYW5ndWFnZX1gLCB7XG4gICAgICAuLi5maWx0ZXJlZFJ1bnNPbk9wdGlvbnMoXG4gICAgICAgIGV4dHJhSm9iT3B0aW9ucy5ydW5zT24sXG4gICAgICAgIGV4dHJhSm9iT3B0aW9ucy5ydW5zT25Hcm91cCxcbiAgICAgICksXG4gICAgICBwZXJtaXNzaW9uczoge1xuICAgICAgICBjb250ZW50czogSm9iUGVybWlzc2lvbi5SRUFELFxuICAgICAgfSxcbiAgICAgIHRvb2xzOiB7XG4gICAgICAgIG5vZGU6IHtcbiAgICAgICAgICB2ZXJzaW9uOlxuICAgICAgICAgICAgdGhpcy5vcHRpb25zLndvcmtmbG93Tm9kZVZlcnNpb24gPz9cbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgIHByb2plY3Qubm9kZVZlcnNpb24gPz9cbiAgICAgICAgICAgIFwibHRzLypcIixcbiAgICAgICAgfSxcbiAgICAgICAgLi4ucGFjbWFrLnB1Ymxpc2hUb29scyxcbiAgICAgIH0sXG4gICAgICBzdGVwczogW1xuICAgICAgICAuLi5wYWNtYWsuYm9vdHN0cmFwU3RlcHMsXG4gICAgICAgIFdvcmtmbG93U3RlcHMuY2hlY2tvdXQoe1xuICAgICAgICAgIHdpdGg6IHtcbiAgICAgICAgICAgIHBhdGg6IFJFUE9fVEVNUF9ESVJFQ1RPUlksXG4gICAgICAgICAgICByZWY6IFBVTExfUkVRVUVTVF9TSEEsXG4gICAgICAgICAgICByZXBvc2l0b3J5OiBQVUxMX1JFUVVFU1RfUkVQT1NJVE9SWSxcbiAgICAgICAgICAgIC4uLihwcm9qZWN0LmdpdGh1Yj8uZG93bmxvYWRMZnMgPyB7IGxmczogdHJ1ZSB9IDoge30pLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pLFxuICAgICAgICAuLi5wYWNtYWsucGFja2FnaW5nU3RlcHMsXG4gICAgICBdLFxuICAgICAgLi4uZXh0cmFKb2JPcHRpb25zLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRQYWNrYWdpbmdUYXNrKFxuICAgIHByb2plY3Q6IFR5cGVTY3JpcHRQcm9qZWN0LFxuICAgIHBhY2thZ2VBbGxUYXNrOiBUYXNrLFxuICAgIGxhbmd1YWdlOiBKc2lpUGFjbWFrVGFyZ2V0LFxuICApOiBUYXNrIHtcbiAgICBjb25zdCBwYWNrYWdlVGFyZ2V0VGFzayA9IHByb2plY3QudGFza3MuYWRkVGFzayhgcGFja2FnZToke2xhbmd1YWdlfWAsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiBgQ3JlYXRlICR7bGFuZ3VhZ2V9IGxhbmd1YWdlIGJpbmRpbmdzYCxcbiAgICB9KTtcbiAgICBjb25zdCBjb21tYW5kUGFydHMgPSBbXCJqc2lpLXBhY21ha1wiLCBcIi12XCJdO1xuXG4gICAgaWYgKHByb2plY3QucGFja2FnZS5wYWNrYWdlTWFuYWdlciA9PT0gTm9kZVBhY2thZ2VNYW5hZ2VyLlBOUE0pIHtcbiAgICAgIGNvbW1hbmRQYXJ0cy5wdXNoKFwiLS1wYWNrLWNvbW1hbmRcIiwgXCJwbnBtIHBhY2tcIik7XG4gICAgfVxuXG4gICAgY29tbWFuZFBhcnRzLnB1c2goXCItLXRhcmdldFwiLCBsYW5ndWFnZSk7XG5cbiAgICBwYWNrYWdlVGFyZ2V0VGFzay5leGVjQXJncyhjb21tYW5kUGFydHMpO1xuXG4gICAgcGFja2FnZUFsbFRhc2suc3Bhd24ocGFja2FnZVRhcmdldFRhc2spO1xuICAgIHJldHVybiBwYWNrYWdlVGFyZ2V0VGFzaztcbiAgfVxuXG4gIHByaXZhdGUgcGFjbWFrRm9yTGFuZ3VhZ2UoXG4gICAgcHJvamVjdDogVHlwZVNjcmlwdFByb2plY3QsXG4gICAgdGFyZ2V0OiBKc2lpUGFjbWFrVGFyZ2V0LFxuICAgIHBhY2tUYXNrOiBUYXNrLFxuICApOiB7XG4gICAgcHVibGlzaFRvb2xzOiBUb29scztcbiAgICBib290c3RyYXBTdGVwczogQXJyYXk8U3RlcD47XG4gICAgcGFja2FnaW5nU3RlcHM6IEFycmF5PFN0ZXA+O1xuICB9IHtcbiAgICBjb25zdCBib290c3RyYXBTdGVwczogQXJyYXk8U3RlcD4gPSBbXTtcbiAgICBjb25zdCBwYWNrYWdpbmdTdGVwczogQXJyYXk8U3RlcD4gPSBbXTtcblxuICAgIC8vIEdlbmVyaWMgYm9vdHN0cmFwcGluZyBmb3IgYWxsIHRhcmdldCBsYW5ndWFnZXNcbiAgICBib290c3RyYXBTdGVwcy5wdXNoKC4uLih0aGlzLm9wdGlvbnMud29ya2Zsb3dCb290c3RyYXBTdGVwcyA/PyBbXSkpO1xuICAgIGlmIChwcm9qZWN0LnBhY2thZ2UucGFja2FnZU1hbmFnZXIgPT09IE5vZGVQYWNrYWdlTWFuYWdlci5QTlBNKSB7XG4gICAgICBib290c3RyYXBTdGVwcy5wdXNoKHtcbiAgICAgICAgbmFtZTogXCJTZXR1cCBwbnBtXCIsXG4gICAgICAgIHVzZXM6IEFjdGlvblJlZnMuUE5QTV9BQ1RJT05fU0VUVVAsXG4gICAgICAgIHdpdGg6IHsgdmVyc2lvbjogcHJvamVjdC5wYWNrYWdlLnBucG1WZXJzaW9uIH0sXG4gICAgICB9KTtcbiAgICB9IGVsc2UgaWYgKHByb2plY3QucGFja2FnZS5wYWNrYWdlTWFuYWdlciA9PT0gTm9kZVBhY2thZ2VNYW5hZ2VyLkJVTikge1xuICAgICAgYm9vdHN0cmFwU3RlcHMucHVzaCh7XG4gICAgICAgIG5hbWU6IFwiU2V0dXAgYnVuXCIsXG4gICAgICAgIHVzZXM6IEFjdGlvblJlZnMuT1ZFTl9TSF9TRVRVUF9CVU4sXG4gICAgICAgIHdpdGg6IHsgXCJidW4tdmVyc2lvblwiOiBwcm9qZWN0LnBhY2thZ2UuYnVuVmVyc2lvbiB9LFxuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmIChpc1lhcm5CZXJyeShwcm9qZWN0LnBhY2thZ2UucGFja2FnZU1hbmFnZXIpKSB7XG4gICAgICBib290c3RyYXBTdGVwcy5wdXNoKHtcbiAgICAgICAgbmFtZTogXCJFbmFibGUgY29yZXBhY2tcIixcbiAgICAgICAgcnVuOiBcImNvcmVwYWNrIGVuYWJsZVwiLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29uc3Qgd29ya0RpciA9IHRoaXMub3B0aW9ucy53b3Jrc3BhY2VEaXJlY3RvcnlcbiAgICAgID8gYCR7UkVQT19URU1QX0RJUkVDVE9SWX0vJHt0aGlzLm9wdGlvbnMud29ya3NwYWNlRGlyZWN0b3J5fWBcbiAgICAgIDogUkVQT19URU1QX0RJUkVDVE9SWTtcblxuICAgIC8vIEluc3RhbGxhdGlvbiBzdGVwcyBiZWZvcmUgcGFja2FnaW5nLCBidXQgYWZ0ZXIgY2hlY2tvdXRcbiAgICBwYWNrYWdpbmdTdGVwcy5wdXNoKFxuICAgICAge1xuICAgICAgICBuYW1lOiBcIkluc3RhbGwgRGVwZW5kZW5jaWVzXCIsXG4gICAgICAgIHJ1bjogYGNkICR7UkVQT19URU1QX0RJUkVDVE9SWX0gJiYgJHtwcm9qZWN0LnBhY2thZ2UuaW5zdGFsbENvbW1hbmR9YCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwiRXh0cmFjdCBidWlsZCBhcnRpZmFjdFwiLFxuICAgICAgICBydW46IGB0YXIgLS1zdHJpcC1jb21wb25lbnRzPTEgLXh6dmYgJHtwcm9qZWN0LmFydGlmYWN0c0RpcmVjdG9yeX0vanMvKi50Z3ogLUMgJHt3b3JrRGlyfWAsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiBgTW92ZSBidWlsZCBhcnRpZmFjdCBvdXQgb2YgdGhlIHdheWAsXG4gICAgICAgIHJ1bjogYG12ICR7cHJvamVjdC5hcnRpZmFjdHNEaXJlY3Rvcnl9ICR7QlVJTERfQVJUSUZBQ1RfT0xEX0RJUn1gLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogYENyZWF0ZSAke3RhcmdldH0gYXJ0aWZhY3RgLFxuICAgICAgICBydW46IGBjZCAke3dvcmtEaXJ9ICYmICR7cHJvamVjdC5ydW5UYXNrQ29tbWFuZChwYWNrVGFzayl9YCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IGBDb2xsZWN0ICR7dGFyZ2V0fSBhcnRpZmFjdGAsXG4gICAgICAgIHJ1bjogYG12ICR7d29ya0Rpcn0vJHtwcm9qZWN0LmFydGlmYWN0c0RpcmVjdG9yeX0gJHtwcm9qZWN0LmFydGlmYWN0c0RpcmVjdG9yeX1gLFxuICAgICAgfSxcbiAgICApO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHB1Ymxpc2hUb29sczogSlNJSV9UT09MQ0hBSU5bdGFyZ2V0XSxcbiAgICAgIGJvb3RzdHJhcFN0ZXBzLFxuICAgICAgcGFja2FnaW5nU3RlcHMsXG4gICAgfTtcbiAgfVxufVxuXG50eXBlIFB1Ymxpc2hUbyA9IGtleW9mIFB1Ymxpc2hlciAmXG4gIChcbiAgICB8IFwicHVibGlzaFRvTnBtXCJcbiAgICB8IFwicHVibGlzaFRvTWF2ZW5cIlxuICAgIHwgXCJwdWJsaXNoVG9QeVBpXCJcbiAgICB8IFwicHVibGlzaFRvTnVnZXRcIlxuICAgIHwgXCJwdWJsaXNoVG9Hb1wiXG4gICk7XG5cbnR5cGUgUHVibGlzaFRvVGFyZ2V0ID0geyBbSyBpbiBKc2lpUGFjbWFrVGFyZ2V0XTogUHVibGlzaFRvIH07XG5jb25zdCBwdWJsaXNoVG86IFB1Ymxpc2hUb1RhcmdldCA9IHtcbiAganM6IFwicHVibGlzaFRvTnBtXCIsXG4gIGphdmE6IFwicHVibGlzaFRvTWF2ZW5cIixcbiAgcHl0aG9uOiBcInB1Ymxpc2hUb1B5UGlcIixcbiAgZG90bmV0OiBcInB1Ymxpc2hUb051Z2V0XCIsXG4gIGdvOiBcInB1Ymxpc2hUb0dvXCIsXG59O1xuIl19
|
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.104.
|
|
14
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.cdk.JsiiDocgen", version: "0.104.13" };
|
|
15
15
|
constructor(scope, options = {}) {
|
|
16
16
|
super(scope);
|
|
17
17
|
const version = options.version ?? "*";
|