projen 0.99.0 → 0.99.1

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.
Files changed (140) hide show
  1. package/.jsii +2 -2
  2. package/lib/ai-instructions.js +2 -2
  3. package/lib/awscdk/auto-discover.js +5 -5
  4. package/lib/awscdk/awscdk-app-java.js +1 -1
  5. package/lib/awscdk/awscdk-app-py.js +1 -1
  6. package/lib/awscdk/awscdk-app-ts.js +1 -1
  7. package/lib/awscdk/awscdk-construct.js +2 -2
  8. package/lib/awscdk/awscdk-deps-java.js +1 -1
  9. package/lib/awscdk/awscdk-deps-js.js +1 -1
  10. package/lib/awscdk/awscdk-deps-py.js +1 -1
  11. package/lib/awscdk/awscdk-deps.js +1 -1
  12. package/lib/awscdk/cdk-config.js +4 -4
  13. package/lib/awscdk/cdk-tasks.js +1 -1
  14. package/lib/awscdk/integration-test.js +1 -1
  15. package/lib/awscdk/lambda-extension.js +1 -1
  16. package/lib/awscdk/lambda-function.js +8 -8
  17. package/lib/build/build-workflow.js +1 -1
  18. package/lib/cdk/auto-discover-base.js +2 -2
  19. package/lib/cdk/construct-lib.js +1 -1
  20. package/lib/cdk/integration-test-base.js +1 -1
  21. package/lib/cdk/jsii-docgen.js +1 -1
  22. package/lib/cdk/jsii-project.js +1 -1
  23. package/lib/cdk8s/auto-discover.js +2 -2
  24. package/lib/cdk8s/cdk8s-app-py.js +1 -1
  25. package/lib/cdk8s/cdk8s-app-ts.js +1 -1
  26. package/lib/cdk8s/cdk8s-construct.js +1 -1
  27. package/lib/cdk8s/cdk8s-deps-py.js +1 -1
  28. package/lib/cdk8s/cdk8s-deps.js +1 -1
  29. package/lib/cdk8s/integration-test.js +1 -1
  30. package/lib/cdktf/cdktf-construct.js +1 -1
  31. package/lib/circleci/circleci.js +1 -1
  32. package/lib/component.js +1 -1
  33. package/lib/dependencies.js +1 -1
  34. package/lib/dev-env.js +1 -1
  35. package/lib/docker-compose/docker-compose-service.js +1 -1
  36. package/lib/docker-compose/docker-compose.js +1 -1
  37. package/lib/file.js +1 -1
  38. package/lib/gitattributes.js +1 -1
  39. package/lib/github/actions-provider.js +1 -1
  40. package/lib/github/auto-approve.js +1 -1
  41. package/lib/github/auto-merge.js +1 -1
  42. package/lib/github/auto-queue.js +1 -1
  43. package/lib/github/dependabot.js +1 -1
  44. package/lib/github/github-credentials.js +1 -1
  45. package/lib/github/github-project.js +1 -1
  46. package/lib/github/github.js +1 -1
  47. package/lib/github/merge-queue.js +1 -1
  48. package/lib/github/mergify.js +1 -1
  49. package/lib/github/pr-template.js +1 -1
  50. package/lib/github/pull-request-backport.js +1 -1
  51. package/lib/github/pull-request-lint.js +1 -1
  52. package/lib/github/stale.js +1 -1
  53. package/lib/github/task-workflow-job.js +1 -1
  54. package/lib/github/task-workflow.js +1 -1
  55. package/lib/github/workflow-actions.js +1 -1
  56. package/lib/github/workflow-jobs.js +1 -1
  57. package/lib/github/workflow-steps.js +1 -1
  58. package/lib/github/workflows.js +1 -1
  59. package/lib/gitlab/configuration.js +1 -1
  60. package/lib/gitlab/gitlab-configuration.js +1 -1
  61. package/lib/gitlab/nested-configuration.js +1 -1
  62. package/lib/gitpod.js +1 -1
  63. package/lib/ignore-file.js +1 -1
  64. package/lib/ini.js +1 -1
  65. package/lib/java/java-project.js +1 -1
  66. package/lib/java/junit.js +1 -1
  67. package/lib/java/maven-compile.js +1 -1
  68. package/lib/java/maven-packaging.js +1 -1
  69. package/lib/java/maven-sample.js +1 -1
  70. package/lib/java/pom.js +2 -2
  71. package/lib/java/projenrc.js +1 -1
  72. package/lib/javascript/biome/biome.js +1 -1
  73. package/lib/javascript/bundler.js +1 -1
  74. package/lib/javascript/eslint.js +1 -1
  75. package/lib/javascript/jest.js +4 -4
  76. package/lib/javascript/license-checker.js +1 -1
  77. package/lib/javascript/node-package.js +1 -1
  78. package/lib/javascript/node-project.js +1 -1
  79. package/lib/javascript/npm-config.js +1 -1
  80. package/lib/javascript/prettier.js +1 -1
  81. package/lib/javascript/projenrc.js +1 -1
  82. package/lib/javascript/typescript-config.js +2 -2
  83. package/lib/javascript/upgrade-dependencies.js +2 -2
  84. package/lib/javascript/yarnrc.js +1 -1
  85. package/lib/json-patch.js +1 -1
  86. package/lib/json.js +1 -1
  87. package/lib/license.js +1 -1
  88. package/lib/logger.js +1 -1
  89. package/lib/makefile.js +1 -1
  90. package/lib/object-file.js +1 -1
  91. package/lib/project-build.js +1 -1
  92. package/lib/project-tree.js +1 -1
  93. package/lib/project.js +1 -1
  94. package/lib/projects.js +1 -1
  95. package/lib/projenrc-json.js +2 -2
  96. package/lib/projenrc.js +1 -1
  97. package/lib/python/pip.js +1 -1
  98. package/lib/python/poetry.js +2 -2
  99. package/lib/python/projenrc.js +1 -1
  100. package/lib/python/pyproject-toml-file.js +1 -1
  101. package/lib/python/pytest-sample.js +1 -1
  102. package/lib/python/pytest.js +1 -1
  103. package/lib/python/python-project.js +1 -1
  104. package/lib/python/python-sample.js +1 -1
  105. package/lib/python/requirements-file.js +1 -1
  106. package/lib/python/setuppy.js +1 -1
  107. package/lib/python/setuptools.js +1 -1
  108. package/lib/python/uv.js +1 -1
  109. package/lib/python/venv.js +1 -1
  110. package/lib/readme.js +1 -1
  111. package/lib/release/publisher.js +1 -1
  112. package/lib/release/release-trigger.js +1 -1
  113. package/lib/release/release.js +1 -1
  114. package/lib/renovatebot.js +1 -1
  115. package/lib/sample-file.js +2 -2
  116. package/lib/semver.js +1 -1
  117. package/lib/source-code.js +1 -1
  118. package/lib/task-runtime.js +1 -1
  119. package/lib/task.js +1 -1
  120. package/lib/tasks.js +1 -1
  121. package/lib/testing.js +1 -1
  122. package/lib/textfile.js +1 -1
  123. package/lib/toml.js +1 -1
  124. package/lib/typescript/projenrc-ts.js +1 -1
  125. package/lib/typescript/projenrc.js +1 -1
  126. package/lib/typescript/typescript-typedoc.js +1 -1
  127. package/lib/typescript/typescript.js +6 -6
  128. package/lib/version.js +2 -2
  129. package/lib/vscode/devcontainer.js +1 -1
  130. package/lib/vscode/extensions.js +1 -1
  131. package/lib/vscode/launch-config.js +1 -1
  132. package/lib/vscode/settings.js +1 -1
  133. package/lib/vscode/vscode.js +1 -1
  134. package/lib/web/next.js +3 -3
  135. package/lib/web/postcss.js +1 -1
  136. package/lib/web/react.js +4 -4
  137. package/lib/web/tailwind.js +1 -1
  138. package/lib/xmlfile.js +1 -1
  139. package/lib/yaml.js +1 -1
  140. package/package.json +1 -1
package/.jsii CHANGED
@@ -80375,6 +80375,6 @@
80375
80375
  "usedFeatures": [
80376
80376
  "class-covariant-overrides"
80377
80377
  ],
80378
- "version": "0.99.0",
80379
- "fingerprint": "YC+hXrUkVZK8o3qBcOGqfLxyFY/GFEMeVGWdgRiHKg8="
80378
+ "version": "0.99.1",
80379
+ "fingerprint": "9hDpjT3kvU9HROR4521iS+v3CdAB2WXRxs9W82s4MBc="
80380
80380
  }
@@ -167,7 +167,7 @@ class AiInstructions extends component_1.Component {
167
167
  }
168
168
  exports.AiInstructions = AiInstructions;
169
169
  _a = JSII_RTTI_SYMBOL_1;
170
- AiInstructions[_a] = { fqn: "projen.AiInstructions", version: "0.99.0" };
170
+ AiInstructions[_a] = { fqn: "projen.AiInstructions", version: "0.99.1" };
171
171
  class AiInstructionsFile extends file_1.FileBase {
172
172
  constructor() {
173
173
  super(...arguments);
@@ -185,7 +185,7 @@ class AiInstructionsFile extends file_1.FileBase {
185
185
  }
186
186
  exports.AiInstructionsFile = AiInstructionsFile;
187
187
  _b = JSII_RTTI_SYMBOL_1;
188
- AiInstructionsFile[_b] = { fqn: "projen.AiInstructionsFile", version: "0.99.0" };
188
+ AiInstructionsFile[_b] = { fqn: "projen.AiInstructionsFile", version: "0.99.1" };
189
189
  function bestPracticesInstructions(project) {
190
190
  const projenCommand = project.projenCommand;
191
191
  return `# Development Best Practices
@@ -27,7 +27,7 @@ class IntegrationTestAutoDiscover extends cdk_1.IntegrationTestAutoDiscoverBase
27
27
  }
28
28
  exports.IntegrationTestAutoDiscover = IntegrationTestAutoDiscover;
29
29
  _a = JSII_RTTI_SYMBOL_1;
30
- IntegrationTestAutoDiscover[_a] = { fqn: "projen.awscdk.IntegrationTestAutoDiscover", version: "0.99.0" };
30
+ IntegrationTestAutoDiscover[_a] = { fqn: "projen.awscdk.IntegrationTestAutoDiscover", version: "0.99.1" };
31
31
  /**
32
32
  * Creates lambdas from entry points discovered in the project's source tree.
33
33
  */
@@ -48,7 +48,7 @@ class LambdaAutoDiscover extends cdk_1.AutoDiscoverBase {
48
48
  }
49
49
  exports.LambdaAutoDiscover = LambdaAutoDiscover;
50
50
  _b = JSII_RTTI_SYMBOL_1;
51
- LambdaAutoDiscover[_b] = { fqn: "projen.awscdk.LambdaAutoDiscover", version: "0.99.0" };
51
+ LambdaAutoDiscover[_b] = { fqn: "projen.awscdk.LambdaAutoDiscover", version: "0.99.1" };
52
52
  /**
53
53
  * Creates edge lambdas from entry points discovered in the project's source tree.
54
54
  */
@@ -70,7 +70,7 @@ class EdgeLambdaAutoDiscover extends cdk_1.AutoDiscoverBase {
70
70
  }
71
71
  exports.EdgeLambdaAutoDiscover = EdgeLambdaAutoDiscover;
72
72
  _c = JSII_RTTI_SYMBOL_1;
73
- EdgeLambdaAutoDiscover[_c] = { fqn: "projen.awscdk.EdgeLambdaAutoDiscover", version: "0.99.0" };
73
+ EdgeLambdaAutoDiscover[_c] = { fqn: "projen.awscdk.EdgeLambdaAutoDiscover", version: "0.99.1" };
74
74
  /**
75
75
  * Creates Lambda Extensions from entrypoints discovered in the project's
76
76
  * source tree.
@@ -92,7 +92,7 @@ class LambdaExtensionAutoDiscover extends cdk_1.AutoDiscoverBase {
92
92
  }
93
93
  exports.LambdaExtensionAutoDiscover = LambdaExtensionAutoDiscover;
94
94
  _d = JSII_RTTI_SYMBOL_1;
95
- LambdaExtensionAutoDiscover[_d] = { fqn: "projen.awscdk.LambdaExtensionAutoDiscover", version: "0.99.0" };
95
+ LambdaExtensionAutoDiscover[_d] = { fqn: "projen.awscdk.LambdaExtensionAutoDiscover", version: "0.99.1" };
96
96
  /**
97
97
  * Discovers and creates integration tests and lambdas from code in the
98
98
  * project's source and test trees.
@@ -136,5 +136,5 @@ class AutoDiscover extends component_1.Component {
136
136
  }
137
137
  exports.AutoDiscover = AutoDiscover;
138
138
  _e = JSII_RTTI_SYMBOL_1;
139
- AutoDiscover[_e] = { fqn: "projen.awscdk.AutoDiscover", version: "0.99.0" };
139
+ AutoDiscover[_e] = { fqn: "projen.awscdk.AutoDiscover", version: "0.99.1" };
140
140
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1kaXNjb3Zlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hd3NjZGsvYXV0by1kaXNjb3Zlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLHlEQUc0QjtBQUM1Qix5Q0FJb0I7QUFDcEIseURBRzRCO0FBQzVCLHVEQUFnRjtBQUNoRixnQ0FJZ0I7QUFDaEIsNENBQXlDO0FBOEJ6Qzs7R0FFRztBQUNILE1BQWEsMkJBQTRCLFNBQVEscUNBQStCO0lBQzlFLFlBQVksT0FBZ0IsRUFBRSxPQUEyQztRQUN2RSxLQUFLLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRXhCLEtBQUssTUFBTSxVQUFVLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzFDLElBQUksa0NBQWUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUNoQyxVQUFVO2dCQUNWLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTztnQkFDeEIsWUFBWSxFQUFFLE9BQU8sQ0FBQyxZQUFZO2dCQUNsQyxHQUFHLE9BQU8sQ0FBQyxzQkFBc0I7YUFDbEMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7O0FBWkgsa0VBYUM7OztBQWlCRDs7R0FFRztBQUNILE1BQWEsa0JBQW1CLFNBQVEsc0JBQWdCO0lBQ3RELFlBQVksT0FBZ0IsRUFBRSxPQUFrQztRQUM5RCxLQUFLLENBQUMsT0FBTyxFQUFFO1lBQ2IsVUFBVSxFQUFFLE9BQU8sQ0FBQyxNQUFNO1lBQzFCLFNBQVMsRUFBRSxnQ0FBcUI7U0FDakMsQ0FBQyxDQUFDO1FBRUgsS0FBSyxNQUFNLFVBQVUsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDMUMsSUFBSSxnQ0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQy9CLFVBQVU7Z0JBQ1YsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPO2dCQUN4QixHQUFHLE9BQU8sQ0FBQyxhQUFhO2FBQ3pCLENB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QUMsT0FBTztnQkFDeEIsWUFBWSxFQUFFLE9BQU8sQ0FBQyxZQUFZO2dCQUNsQyxzQkFBc0IsRUFBRSxPQUFPLENBQUMsc0JBQXNCO2FBQ3ZELENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDOztBQXZDSCxvQ0F3Q0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBd3NDZGtEZXBzIH0gZnJvbSBcIi4vYXdzY2RrLWRlcHNcIjtcbmltcG9ydCB7XG4gIEludGVncmF0aW9uVGVzdCxcbiAgSW50ZWdyYXRpb25UZXN0Q29tbW9uT3B0aW9ucyxcbn0gZnJvbSBcIi4vaW50ZWdyYXRpb24tdGVzdFwiO1xuaW1wb3J0IHtcbiAgVFlQRVNDUklQVF9FREdFX0xBTUJEQV9FWFQsXG4gIFRZUEVTQ1JJUFRfTEFNQkRBX0VYVCxcbiAgVFlQRVNDUklQVF9MQU1CREFfRVhURU5TSU9OX0VYVCxcbn0gZnJvbSBcIi4vaW50ZXJuYWxcIjtcbmltcG9ydCB7XG4gIExhbWJkYUV4dGVuc2lvbixcbiAgTGFtYmRhRXh0ZW5zaW9uQ29tbW9uT3B0aW9ucyxcbn0gZnJvbSBcIi4vbGFtYmRhLWV4dGVuc2lvblwiO1xuaW1wb3J0IHsgTGFtYmRhRnVuY3Rpb24sIExhbWJkYUZ1bmN0aW9uQ29tbW9uT3B0aW9ucyB9IGZyb20gXCIuL2xhbWJkYS1mdW5jdGlvblwiO1xuaW1wb3J0IHtcbiAgQXV0b0Rpc2NvdmVyQmFzZSxcbiAgSW50ZWdyYXRpb25UZXN0QXV0b0Rpc2NvdmVyQmFzZSxcbiAgSW50ZWdyYXRpb25UZXN0QXV0b0Rpc2NvdmVyQmFzZU9wdGlvbnMsXG59IGZyb20gXCIuLi9jZGtcIjtcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gXCIuLi9jb21wb25lbnRcIjtcbmltcG9ydCB7IFByb2plY3QgfSBmcm9tIFwiLi4vcHJvamVjdFwiO1xuXG4vKipcbiAqIENvbW1vbiBvcHRpb25zIGZvciBhdXRvIGRpc2NvdmVyaW5nIHByb2plY3Qgc3ViY29tcG9uZW50cy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBdXRvRGlzY292ZXJDb21tb25PcHRpb25zIHtcbiAgLyoqXG4gICAqIFBhdGggdG8gdGhlIHRzY29uZmlnIGZpbGUgdG8gdXNlIGZvciBpbnRlZ3JhdGlvbiB0ZXN0cy5cbiAgICovXG4gIHJlYWRvbmx5IHRzY29uZmlnUGF0aDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBV1MgQ0RLIGRlcGVuZGVuY3kgbWFuYWdlci5cbiAgICovXG4gIHJlYWRvbmx5IGNka0RlcHM6IEF3c0Nka0RlcHM7XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgYEludGVncmF0aW9uVGVzdEF1dG9EaXNjb3ZlcmBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbnRlZ3JhdGlvblRlc3RBdXRvRGlzY292ZXJPcHRpb25zXG4gIGV4dGVuZHMgQXV0b0Rpc2NvdmVyQ29tbW9uT3B0aW9ucyxcbiAgICBJbnRlZ3JhdGlvblRlc3RBdXRvRGlzY292ZXJCYXNlT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBPcHRpb25zIGZvciBpbnRlZ3JhdGlvbiB0ZXN0cy5cbiAgICovXG4gIHJlYWRvbmx5IGludGVncmF0aW9uVGVzdE9wdGlvbnM/OiBJbnRlZ3JhdGlvblRlc3RDb21tb25PcHRpb25zO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgaW50ZWdyYXRpb24gdGVzdHMgZnJvbSBlbnRyeSBwb2ludHMgZGlzY292ZXJlZCBpbiB0aGUgdGVzdCB0cmVlLlxuICovXG5leHBvcnQgY2xhc3MgSW50ZWdyYXRpb25UZXN0QXV0b0Rpc2NvdmVyIGV4dGVuZHMgSW50ZWdyYXRpb25UZXN0QXV0b0Rpc2NvdmVyQmFzZSB7XG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IFByb2plY3QsIG9wdGlvbnM6IEludGVncmF0aW9uVGVzdEF1dG9EaXNjb3Zlck9wdGlvbnMpIHtcbiAgICBzdXBlcihwcm9qZWN0LCBvcHRpb25zKTtcblxuICAgIGZvciAoY29uc3QgZW50cnlwb2ludCBvZiB0aGlzLmVudHJ5cG9pbnRzKSB7XG4gICAgICBuZXcgSW50ZWdyYXRpb25UZXN0KHRoaXMucHJvamVjdCwge1xuICAgICAgICBlbnRyeXBvaW50LFxuICAgICAgICBjZGtEZXBzOiBvcHRpb25zLmNka0RlcHMsXG4gICAgICAgIHRzY29uZmlnUGF0aDogb3B0aW9ucy50c2NvbmZpZ1BhdGgsXG4gICAgICAgIC4uLm9wdGlvbnMuaW50ZWdyYXRpb25UZXN0T3B0aW9ucyxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGBMYW1iZGFBdXRvRGlzY292ZXJgXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGFtYmRhQXV0b0Rpc2NvdmVyT3B0aW9ucyBleHRlbmRzIEF1dG9EaXNjb3ZlckNvbW1vbk9wdGlvbnMge1xuICAvKipcbiAgICogUHJvamVjdCBzb3VyY2UgdHJlZSAocmVsYXRpdmUgdG8gcHJvamVjdCBvdXRwdXQgZGlyZWN0b3J5KS5cbiAgICovXG4gIHJlYWRvbmx5IHNyY2Rpcjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBPcHRpb25zIGZvciBBV1MgTGFtYmRhIGZ1bmN0aW9ucy5cbiAgICovXG4gIHJlYWRvbmx5IGxhbWJkYU9wdGlvbnM/OiBMYW1iZGFGdW5jdGlvbkNvbW1vbk9wdGlvbnM7XG59XG5cbi8qKlxuICogQ3JlYXRlcyBsYW1iZGFzIGZyb20gZW50cnkgcG9pbnRzIGRpc2NvdmVyZWQgaW4gdGhlIHByb2plY3QncyBzb3VyY2UgdHJlZS5cbiAqL1xuZXhwb3J0IGNsYXNzIExhbWJkYUF1dG9EaXNjb3ZlciBleHRlbmRzIEF1dG9EaXNjb3ZlckJhc2Uge1xuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBQcm9qZWN0LCBvcHRpb25zOiBMYW1iZGFBdXRvRGlzY292ZXJPcHRpb25zKSB7XG4gICAgc3VwZXIocHJvamVjdCwge1xuICAgICAgcHJvamVjdGRpcjogb3B0aW9ucy5zcmNkaXIsXG4gICAgICBleHRlbnNpb246IFRZUEVTQ1JJUFRfTEFNQkRBX0VYVCxcbiAgICB9KTtcblxuICAgIGZvciAoY29uc3QgZW50cnlwb2ludCBvZiB0aGlzLmVudHJ5cG9pbnRzKSB7XG4gICAgICBuZXcgTGFtYmRhRnVuY3Rpb24odGhpcy5wcm9qZWN0LCB7XG4gICAgICAgIGVudHJ5cG9pbnQsXG4gICAgICAgIGNka0RlcHM6IG9wdGlvbnMuY2RrRGVwcyxcbiAgICAgICAgLi4ub3B0aW9ucy5sYW1iZGFPcHRpb25zLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgYEVkZ2VMYW1iZGFBdXRvRGlzY292ZXJgXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRWRnZUxhbWJkYUF1dG9EaXNjb3Zlck9wdGlvbnNcbiAgZXh0ZW5kcyBBdXRvRGlzY292ZXJDb21tb25PcHRpb25zIHtcbiAgLyoqXG4gICAqIFByb2plY3Qgc291cmNlIHRyZWUgKHJlbGF0aXZlIHRvIHByb2plY3Qgb3V0cHV0IGRpcmVjdG9yeSkuXG4gICAqL1xuICByZWFkb25seSBzcmNkaXI6IHN0cmluZztcblxuICAvKipcbiAgICogT3B0aW9ucyBmb3IgQVdTIExhbWJkYSBmdW5jdGlvbnMuXG4gICAqL1xuICByZWFkb25seSBsYW1iZGFPcHRpb25zPzogTGFtYmRhRnVuY3Rpb25Db21tb25PcHRpb25zO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgZWRnZSBsYW1iZGFzIGZyb20gZW50cnkgcG9pbnRzIGRpc2NvdmVyZWQgaW4gdGhlIHByb2plY3QncyBzb3VyY2UgdHJlZS5cbiAqL1xuZXhwb3J0IGNsYXNzIEVkZ2VMYW1iZGFBdXRvRGlzY292ZXIgZXh0ZW5kcyBBdXRvRGlzY292ZXJCYXNlIHtcbiAgY29uc3RydWN0b3IocHJvamVjdDogUHJvamVjdCwgb3B0aW9uczogRWRnZUxhbWJkYUF1dG9EaXNjb3Zlck9wdGlvbnMpIHtcbiAgICBzdXBlcihwcm9qZWN0LCB7XG4gICAgICBwcm9qZWN0ZGlyOiBvcHRpb25zLnNyY2RpcixcbiAgICAgIGV4dGVuc2lvbjogVFlQRVNDUklQVF9FREdFX0xBTUJEQV9FWFQsXG4gICAgfSk7XG5cbiAgICBmb3IgKGNvbnN0IGVudHJ5cG9pbnQgb2YgdGhpcy5lbnRyeXBvaW50cykge1xuICAgICAgbmV3IExhbWJkYUZ1bmN0aW9uKHRoaXMucHJvamVjdCwge1xuICAgICAgICBlbnRyeXBvaW50LFxuICAgICAgICBjZGtEZXBzOiBvcHRpb25zLmNka0RlcHMsXG4gICAgICAgIC4uLm9wdGlvbnMubGFtYmRhT3B0aW9ucyxcbiAgICAgICAgZWRnZUxhbWJkYTogdHJ1ZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGBMYW1iZGFFeHRlbnNpb25BdXRvRGlzY292ZXJgXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGFtYmRhRXh0ZW5zaW9uQXV0b0Rpc2NvdmVyT3B0aW9uc1xuICBleHRlbmRzIEF1dG9EaXNjb3ZlckNvbW1vbk9wdGlvbnMge1xuICAvKipcbiAgICogUHJvamVjdCBzb3VyY2UgdHJlZSAocmVsYXRpdmUgdG8gcHJvamVjdCBvdXRwdXQgZGlyZWN0b3J5KS5cbiAgICovXG4gIHJlYWRvbmx5IHNyY2Rpcjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBPcHRpb25zIGZvciBsYW1iZGEgZXh0ZW5zaW9ucy5cbiAgICovXG4gIHJlYWRvbmx5IGxhbWJkYUV4dGVuc2lvbk9wdGlvbnM/OiBMYW1iZGFFeHRlbnNpb25Db21tb25PcHRpb25zO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgTGFtYmRhIEV4dGVuc2lvbnMgZnJvbSBlbnRyeXBvaW50cyBkaXNjb3ZlcmVkIGluIHRoZSBwcm9qZWN0J3NcbiAqIHNvdXJjZSB0cmVlLlxuICovXG5leHBvcnQgY2xhc3MgTGFtYmRhRXh0ZW5zaW9uQXV0b0Rpc2NvdmVyIGV4dGVuZHMgQXV0b0Rpc2NvdmVyQmFzZSB7XG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IFByb2plY3QsIG9wdGlvbnM6IExhbWJkYUV4dGVuc2lvbkF1dG9EaXNjb3Zlck9wdGlvbnMpIHtcbiAgICBzdXBlcihwcm9qZWN0LCB7XG4gICAgICBwcm9qZWN0ZGlyOiBvcHRpb25zLnNyY2RpcixcbiAgICAgIGV4dGVuc2lvbjogVFlQRVNDUklQVF9MQU1CREFfRVhURU5TSU9OX0VYVCxcbiAgICB9KTtcblxuICAgIGZvciAoY29uc3QgZW50cnlwb2ludCBvZiB0aGlzLmVudHJ5cG9pbnRzKSB7XG4gICAgICBuZXcgTGFtYmRhRXh0ZW5zaW9uKHRoaXMucHJvamVjdCwge1xuICAgICAgICBlbnRyeXBvaW50LFxuICAgICAgICBjZGtEZXBzOiBvcHRpb25zLmNka0RlcHMsXG4gICAgICAgIC4uLm9wdGlvbnMubGFtYmRhRXh0ZW5zaW9uT3B0aW9ucyxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGBBdXRvRGlzY292ZXJgXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXV0b0Rpc2NvdmVyT3B0aW9uc1xuICBleHRlbmRzIExhbWJkYUF1dG9EaXNjb3Zlck9wdGlvbnMsXG4gICAgTGFtYmRhRXh0ZW5zaW9uQXV0b0Rpc2NvdmVyT3B0aW9ucyxcbiAgICBJbnRlZ3JhdGlvblRlc3RBdXRvRGlzY292ZXJPcHRpb25zIHtcbiAgLyoqXG4gICAqIEF1dG8tZGlzY292ZXIgbGFtYmRhIGZ1bmN0aW9ucy5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgbGFtYmRhQXV0b0Rpc2NvdmVyPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQXV0by1kaXNjb3ZlciBlZGdlIGxhbWJkYSBmdW5jdGlvbnMuXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGVkZ2VMYW1iZGFBdXRvRGlzY292ZXI/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBdXRvLWRpc2NvdmVyIGxhbWJkYSBleHRlbnNpb25zLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBsYW1iZGFFeHRlbnNpb25BdXRvRGlzY292ZXI/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBdXRvLWRpc2NvdmVyIGludGVncmF0aW9uIHRlc3RzLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBpbnRlZ3JhdGlvblRlc3RBdXRvRGlzY292ZXI/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIERpc2NvdmVycyBhbmQgY3JlYXRlcyBpbnRlZ3JhdGlvbiB0ZXN0cyBhbmQgbGFtYmRhcyBmcm9tIGNvZGUgaW4gdGhlXG4gKiBwcm9qZWN0J3Mgc291cmNlIGFuZCB0ZXN0IHRyZWVzLlxuICovXG5leHBvcnQgY2xhc3MgQXV0b0Rpc2NvdmVyIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IocHJvamVjdDogUHJvamVjdCwgb3B0aW9uczogQXV0b0Rpc2NvdmVyT3B0aW9ucykge1xuICAgIHN1cGVyKHByb2plY3QpO1xuXG4gICAgaWYgKG9wdGlvbnMubGFtYmRhQXV0b0Rpc2NvdmVyID8/IHRydWUpIHtcbiAgICAgIG5ldyBMYW1iZGFBdXRvRGlzY292ZXIodGhpcy5wcm9qZWN0LCB7XG4gICAgICAgIGNka0RlcHM6IG9wdGlvbnMuY2RrRGVwcyxcbiAgICAgICAgdHNjb25maWdQYXRoOiBvcHRpb25zLnRzY29uZmlnUGF0aCxcbiAgICAgICAgc3JjZGlyOiBvcHRpb25zLnNyY2RpcixcbiAgICAgICAgbGFtYmRhT3B0aW9uczogb3B0aW9ucy5sYW1iZGFPcHRpb25zLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMuZWRnZUxhbWJkYUF1dG9EaXNjb3ZlciA/PyB0cnVlKSB7XG4gICAgICBuZXcgRWRnZUxhbWJkYUF1dG9EaXNjb3Zlcih0aGlzLnByb2plY3QsIHtcbiAgICAgICAgY2RrRGVwczogb3B0aW9ucy5jZGtEZXBzLFxuICAgICAgICB0c2NvbmZpZ1BhdGg6IG9wdGlvbnMudHNjb25maWdQYXRoLFxuICAgICAgICBzcmNkaXI6IG9wdGlvbnMuc3JjZGlyLFxuICAgICAgICBsYW1iZGFPcHRpb25zOiBvcHRpb25zLmxhbWJkYU9wdGlvbnMsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy5sYW1iZGFFeHRlbnNpb25BdXRvRGlzY292ZXIgPz8gdHJ1ZSkge1xuICAgICAgbmV3IExhbWJkYUV4dGVuc2lvbkF1dG9EaXNjb3Zlcih0aGlzLnByb2plY3QsIHtcbiAgICAgICAgY2RrRGVwczogb3B0aW9ucy5jZGtEZXBzLFxuICAgICAgICB0c2NvbmZpZ1BhdGg6IG9wdGlvbnMudHNjb25maWdQYXRoLFxuICAgICAgICBzcmNkaXI6IG9wdGlvbnMuc3JjZGlyLFxuICAgICAgICBsYW1iZGFFeHRlbnNpb25PcHRpb25zOiBvcHRpb25zLmxhbWJkYUV4dGVuc2lvbk9wdGlvbnMsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy5pbnRlZ3JhdGlvblRlc3RBdXRvRGlzY292ZXIgPz8gdHJ1ZSkge1xuICAgICAgbmV3IEludGVncmF0aW9uVGVzdEF1dG9EaXNjb3Zlcih0aGlzLnByb2plY3QsIHtcbiAgICAgICAgY2RrRGVwczogb3B0aW9ucy5jZGtEZXBzLFxuICAgICAgICB0ZXN0ZGlyOiBvcHRpb25zLnRlc3RkaXIsXG4gICAgICAgIHRzY29uZmlnUGF0aDogb3B0aW9ucy50c2NvbmZpZ1BhdGgsXG4gICAgICAgIGludGVncmF0aW9uVGVzdE9wdGlvbnM6IG9wdGlvbnMuaW50ZWdyYXRpb25UZXN0T3B0aW9ucyxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -81,5 +81,5 @@ class AwsCdkJavaApp extends java_1.JavaProject {
81
81
  }
82
82
  exports.AwsCdkJavaApp = AwsCdkJavaApp;
83
83
  _a = JSII_RTTI_SYMBOL_1;
84
- AwsCdkJavaApp[_a] = { fqn: "projen.awscdk.AwsCdkJavaApp", version: "0.99.0" };
84
+ AwsCdkJavaApp[_a] = { fqn: "projen.awscdk.AwsCdkJavaApp", version: "0.99.1" };
85
85
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzY2RrLWFwcC1qYXZhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2F3c2Nkay9hd3NjZGstYXBwLWphdmEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwrQkFBNEI7QUFDNUIsMEJBQStDO0FBRS9DLHlEQUFvRDtBQUNwRCw2Q0FBaUU7QUFDakUsMkNBQXVDO0FBQ3ZDLGtDQUEwRDtBQWUxRDs7OztHQUlHO0FBQ0gsTUFBYSxhQUFjLFNBQVEsa0JBQVc7SUErQjVDLFlBQVksT0FBNkI7UUFDdkMsTUFBTSxtQkFBbUIsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6RCxNQUFNLFdBQVcsR0FBRyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckQsTUFBTSxhQUFhLEdBQUcsbUJBQW1CLENBQUMsbUJBQW1CLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBRTFFLEtBQUssQ0FBQztZQUNKLEdBQUcsT0FBTztZQUNWLE1BQU0sRUFBRSxLQUFLO1lBQ2IsaUJBQWlCLEVBQUUsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7U0FDekMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDO1FBQ25DLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUVuQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksaUNBQWMsQ0FBQyxJQUFJLEVBQUU7WUFDdEMsY0FBYyxFQUFFLGtCQUFjLENBQUMsT0FBTztZQUN0QyxHQUFHLE9BQU87U0FDWCxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksb0JBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWhELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxzQkFBUyxDQUFDLElBQUksRUFBRTtZQUNuQyxHQUFHLEVBQUUsMENBQTBDLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDL0QsR0FBRyxPQUFPO1NBQ1gsQ0FBQyxDQUFDO1FBRUgsSUFBSSxPQUFPLENBQUMsTUFBTSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNuQixDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksZ0JBQWdCLENBQUMsR0FBRyxPQUFpQjtRQUMxQyxLQUFLLE1BQU0sQ0FBQyxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDcEMsQ0FBQztJQUNILENBQUM7SUFFTyxTQUFTO1FBQ2YsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDeEMsTUFBTSxRQUFRLEdBQUcsR0FBRyxJQUFJLENBQUMsYUFBYSxPQUFPLENBQUM7UUFDOUMsSUFBSSxhQUFTLENBQUMsSUFBSSxFQUFFLElBQUEsV0FBSSxFQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsR0FBRyxDQUFDLEVBQUU7WUFDdkQsS0FBSyxFQUFFO2dCQUNMLENBQUMsUUFBUSxDQUFDLEVBQUU7b0JBQ1YsV0FBVyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHO29CQUMzQixFQUFFO29CQUNGLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxJQUFJLENBQUM7d0JBQy9CLENBQUMsQ0FBQyx5Q0FBeUM7d0JBQzNDLENBQUMsQ0FBQyxvQ0FBb0M7b0JBQ3hDLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxJQUFJLENBQUM7d0JBQy9CLENBQUMsQ0FBQywyQ0FBMkM7d0JBQzdDLENBQUMsQ0FBQyxzQ0FBc0M7b0JBQzFDLEVBQUU7b0JBQ0YsZ0JBQWdCLElBQUksQ0FBQyxhQUFhLElBQUk7b0JBQ3RDLGtEQUFrRDtvQkFDbEQsMEJBQTBCO29CQUMxQix1QkFBdUIsSUFBSSxDQUFDLElBQUksS0FBSztvQkFDckMsa0JBQWtCO29CQUNsQixLQUFLO29CQUNMLEdBQUc7aUJBQ0osQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO2FBQ2I7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDOztBQXJHSCxzQ0FzR0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBqb2luIH0gZnJvbSBcInBhdGhcIjtcbmltcG9ydCB7IERlcGVuZGVuY3lUeXBlLCBTYW1wbGVEaXIgfSBmcm9tIFwiLi5cIjtcbmltcG9ydCB7IEF3c0Nka0RlcHMsIEF3c0Nka0RlcHNDb21tb25PcHRpb25zIH0gZnJvbSBcIi4vYXdzY2RrLWRlcHNcIjtcbmltcG9ydCB7IEF3c0Nka0RlcHNKYXZhIH0gZnJvbSBcIi4vYXdzY2RrLWRlcHMtamF2YVwiO1xuaW1wb3J0IHsgQ2RrQ29uZmlnLCBDZGtDb25maWdDb21tb25PcHRpb25zIH0gZnJvbSBcIi4vY2RrLWNvbmZpZ1wiO1xuaW1wb3J0IHsgQ2RrVGFza3MgfSBmcm9tIFwiLi9jZGstdGFza3NcIjtcbmltcG9ydCB7IEphdmFQcm9qZWN0LCBKYXZhUHJvamVjdE9wdGlvbnMgfSBmcm9tIFwiLi4vamF2YVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEF3c0Nka0phdmFBcHBPcHRpb25zXG4gIGV4dGVuZHMgSmF2YVByb2plY3RPcHRpb25zLFxuICAgIENka0NvbmZpZ0NvbW1vbk9wdGlvbnMsXG4gICAgQXdzQ2RrRGVwc0NvbW1vbk9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIEphdmEgY2xhc3Mgd2l0aCB0aGUgc3RhdGljIGBtYWluKClgIG1ldGhvZC4gVGhpcyBtZXRob2RcbiAgICogc2hvdWxkIGNhbGwgYGFwcC5zeW50aCgpYCBvbiB0aGUgQ0RLIGFwcC5cbiAgICpcbiAgICogQGRlZmF1bHQgXCJvcmcuYWNtZS5NeUFwcFwiXG4gICAqL1xuICByZWFkb25seSBtYWluQ2xhc3M6IHN0cmluZztcbn1cblxuLyoqXG4gKiBBV1MgQ0RLIGFwcCBpbiBKYXZhLlxuICpcbiAqIEBwamlkIGF3c2Nkay1hcHAtamF2YVxuICovXG5leHBvcnQgY2xhc3MgQXdzQ2RrSmF2YUFwcCBleHRlbmRzIEphdmFQcm9qZWN0IHtcbiAgLyoqXG4gICAqIFRoZSBgY2RrLmpzb25gIGZpbGUuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgY2RrQ29uZmlnOiBDZGtDb25maWc7XG5cbiAgLyoqXG4gICAqIENESyBkZXBlbmRlbmN5IG1hbmFnZW1lbnQgaGVscGVyIGNsYXNzXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgY2RrRGVwczogQXdzQ2RrRGVwcztcblxuICAvKipcbiAgICogVGhlIGZ1bGwgbmFtZSBvZiB0aGUgbWFpbiBjbGFzcyBvZiB0aGUgamF2YSBhcHAgKHBhY2thZ2UuQ2xhc3MpLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IG1haW5DbGFzczogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDREsgdGFza3MuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgY2RrVGFza3M6IENka1Rhc2tzO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgSmF2YSBwYWNrYWdlIHRoYXQgaW5jbHVkZXMgdGhlIG1haW4gY2xhc3MuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgbWFpblBhY2thZ2U6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIEphdmEgY2xhc3Mgd2l0aCB0aGUgc3RhdGljIGBtYWluKClgIG1ldGhvZC5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBtYWluQ2xhc3NOYW1lOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczogQXdzQ2RrSmF2YUFwcE9wdGlvbnMpIHtcbiAgICBjb25zdCBtYWluQ2xhc3NDb21wb25lbnRzID0gb3B0aW9ucy5tYWluQ2xhc3Muc3BsaXQoXCIuXCIpO1xuICAgIGNvbnN0IG1haW5QYWNrYWdlID0gbWFpbkNsYXNzQ29tcG9uZW50cy5zbGljZSgwLCAtMSk7XG4gICAgY29uc3QgbWFpbkNsYXNzTmFtZSA9IG1haW5DbGFzc0NvbXBvbmVudHNbbWFpbkNsYXNzQ29tcG9uZW50cy5sZW5ndGggLSAxXTtcblxuICAgIHN1cGVyKHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBzYW1wbGU6IGZhbHNlLFxuICAgICAgc2FtcGxlSmF2YVBhY2thZ2U6IG1haW5QYWNrYWdlLmpvaW4oXCIuXCIpLFxuICAgIH0pO1xuXG4gICAgdGhpcy5tYWluQ2xhc3MgPSBvcHRpb25zLm1haW5DbGFzcztcbiAgICB0aGlzLm1haW5QYWNrYWdlID0gbWFpblBhY2thZ2Uuam9pbihcIi5cIik7XG4gICAgdGhpcy5tYWluQ2xhc3NOYW1lID0gbWFpbkNsYXNzTmFtZTtcblxuICAgIHRoaXMuY2RrRGVwcyA9IG5ldyBBd3NDZGtEZXBzSmF2YSh0aGlzLCB7XG4gICAgICBkZXBlbmRlbmN5VHlwZTogRGVwZW5kZW5jeVR5cGUuUlVOVElNRSxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfSk7XG5cbiAgICB0aGlzLmNka1Rhc2tzID0gbmV3IENka1Rhc2tzKHRoaXMpO1xuICAgIHRoaXMucG9zdENvbXBpbGVUYXNrLnNwYXduKHRoaXMuY2RrVGFza3Muc3ludGgpO1xuXG4gICAgdGhpcy5jZGtDb25maWcgPSBuZXcgQ2RrQ29uZmlnKHRoaXMsIHtcbiAgICAgIGFwcDogYG12biBleGVjOmphdmEgLS1xdWlldCAtRGV4ZWMubWFpbkNsYXNzPSR7dGhpcy5tYWluQ2xhc3N9YCxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfSk7XG5cbiAgICBpZiAob3B0aW9ucy5zYW1wbGUgPz8gdHJ1ZSkge1xuICAgICAgdGhpcy5hZGRTYW1wbGUoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhbiBBV1MgQ0RLIG1vZHVsZSBkZXBlbmRlbmNpZXNcbiAgICpcbiAgICogQHBhcmFtIG1vZHVsZXMgVGhlIGxpc3Qgb2YgbW9kdWxlcyB0byBkZXBlbmQgb24gKGUuZy4gXCJzb2Z0d2FyZS5hbWF6b24uYXdzY2RrL2F3cy1sYW1iZGFcIiwgXCJzb2Z0d2FyZS5hbWF6b24uYXdzY2RrL2F3cy1pYW1cIiwgZXRjKVxuICAgKiBAZGVwcmVjYXRlZCBJbiBDREsgMi54IGFsbCBtb2R1bGVzIGFyZSBhdmFpbGFibGUgYnkgZGVmYXVsdC4gQWxwaGEgbW9kdWxlcyBzaG91bGQgYmUgYWRkZWQgdXNpbmcgdGhlIHN0YW5kYXJkICdkZXBzJ1xuICAgKi9cbiAgcHVibGljIGFkZENka0RlcGVuZGVuY3koLi4ubW9kdWxlczogc3RyaW5nW10pIHtcbiAgICBmb3IgKGNvbnN0IG0gb2YgbW9kdWxlcykge1xuICAgICAgdGhpcy5jZGtEZXBzLmFkZFYxRGVwZW5kZW5jaWVzKG0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYWRkU2FtcGxlKCkge1xuICAgIGNvbnN0IHBrZyA9IHRoaXMubWFpblBhY2thZ2Uuc3BsaXQoXCIuXCIpO1xuICAgIGNvbnN0IGphdmFGaWxlID0gYCR7dGhpcy5tYWluQ2xhc3NOYW1lfS5qYXZhYDtcbiAgICBuZXcgU2FtcGxlRGlyKHRoaXMsIGpvaW4oXCJzcmNcIiwgXCJtYWluXCIsIFwiamF2YVwiLCAuLi5wa2cpLCB7XG4gICAgICBmaWxlczoge1xuICAgICAgICBbamF2YUZpbGVdOiBbXG4gICAgICAgICAgYHBhY2thZ2UgJHtwa2cuam9pbihcIi5cIil9O2AsXG4gICAgICAgICAgXCJcIixcbiAgICAgICAgICB0aGlzLmNka0RlcHMuY2RrTWFqb3JWZXJzaW9uID09IDFcbiAgICAgICAgICAgID8gXCJpbXBvcnQgc29mdHdhcmUuYW1hem9uLmF3c2Nkay5jb3JlLkFwcDtcIlxuICAgICAgICAgICAgOiBcImltcG9ydCBzb2Z0d2FyZS5hbWF6b24uYXdzY2RrLkFwcDtcIixcbiAgICAgICAgICB0aGlzLmNka0RlcHMuY2RrTWFqb3JWZXJzaW9uID09IDFcbiAgICAgICAgICAgID8gXCJpbXBvcnQgc29mdHdhcmUuYW1hem9uLmF3c2Nkay5jb3JlLlN0YWNrO1wiXG4gICAgICAgICAgICA6IFwiaW1wb3J0IHNvZnR3YXJlLmFtYXpvbi5hd3NjZGsuU3RhY2s7XCIsXG4gICAgICAgICAgXCJcIixcbiAgICAgICAgICBgcHVibGljIGNsYXNzICR7dGhpcy5tYWluQ2xhc3NOYW1lfSB7YCxcbiAgICAgICAgICBcIiAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oZmluYWwgU3RyaW5nW10gYXJncykge1wiLFxuICAgICAgICAgIFwiICAgIEFwcCBhcHAgPSBuZXcgQXBwKCk7XCIsXG4gICAgICAgICAgYCAgICBuZXcgU3RhY2soYXBwLCBcIiR7dGhpcy5uYW1lfVwiKTtgLFxuICAgICAgICAgIFwiICAgIGFwcC5zeW50aCgpO1wiLFxuICAgICAgICAgIFwiICB9XCIsXG4gICAgICAgICAgXCJ9XCIsXG4gICAgICAgIF0uam9pbihcIlxcblwiKSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -58,7 +58,7 @@ class AwsCdkPythonApp extends python_project_1.PythonProject {
58
58
  }
59
59
  exports.AwsCdkPythonApp = AwsCdkPythonApp;
60
60
  _a = JSII_RTTI_SYMBOL_1;
61
- AwsCdkPythonApp[_a] = { fqn: "projen.awscdk.AwsCdkPythonApp", version: "0.99.0" };
61
+ AwsCdkPythonApp[_a] = { fqn: "projen.awscdk.AwsCdkPythonApp", version: "0.99.1" };
62
62
  class AppCode extends __1.Component {
63
63
  constructor(project, fileName, cdkVersion) {
64
64
  super(project);
@@ -187,7 +187,7 @@ class AwsCdkTypeScriptApp extends typescript_1.TypeScriptAppProject {
187
187
  }
188
188
  exports.AwsCdkTypeScriptApp = AwsCdkTypeScriptApp;
189
189
  _a = JSII_RTTI_SYMBOL_1;
190
- AwsCdkTypeScriptApp[_a] = { fqn: "projen.awscdk.AwsCdkTypeScriptApp", version: "0.99.0" };
190
+ AwsCdkTypeScriptApp[_a] = { fqn: "projen.awscdk.AwsCdkTypeScriptApp", version: "0.99.1" };
191
191
  /**
192
192
  * Ensures a path is properly prefixed with './' if it's a relative path
193
193
  * @param {string} filePath - The path to normalize
@@ -85,11 +85,11 @@ class AwsCdkConstructLibrary extends cdk_1.ConstructLibrary {
85
85
  }
86
86
  exports.AwsCdkConstructLibrary = AwsCdkConstructLibrary;
87
87
  _a = JSII_RTTI_SYMBOL_1;
88
- AwsCdkConstructLibrary[_a] = { fqn: "projen.awscdk.AwsCdkConstructLibrary", version: "0.99.0" };
88
+ AwsCdkConstructLibrary[_a] = { fqn: "projen.awscdk.AwsCdkConstructLibrary", version: "0.99.1" };
89
89
  /** @deprecated use `AwsCdkConstructLibrary` */
90
90
  class ConstructLibraryAws extends AwsCdkConstructLibrary {
91
91
  }
92
92
  exports.ConstructLibraryAws = ConstructLibraryAws;
93
93
  _b = JSII_RTTI_SYMBOL_1;
94
- ConstructLibraryAws[_b] = { fqn: "projen.awscdk.ConstructLibraryAws", version: "0.99.0" };
94
+ ConstructLibraryAws[_b] = { fqn: "projen.awscdk.ConstructLibraryAws", version: "0.99.1" };
95
95
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzY2RrLWNvbnN0cnVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hd3NjZGsvYXdzY2RrLWNvbnN0cnVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGlDQUFpQztBQUNqQyxtREFBK0M7QUFFL0MscURBQWdEO0FBQ2hELGlEQUE2QztBQUU3QyxnQ0FBbUU7QUFDbkUsa0RBQWlEO0FBNERqRDs7Ozs7Ozs7R0FRRztBQUNILE1BQWEsc0JBQXVCLFNBQVEsc0JBQWdCO0lBRzFELFlBQVksT0FBc0M7UUFDaEQsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUUsS0FBSyxDQUFDO1FBRWhFLEtBQUssQ0FBQztZQUNKLHFCQUFxQixFQUNuQixlQUFlLEtBQUssQ0FBQztnQkFDbkIsQ0FBQyxDQUFDO29CQUNFLG1CQUFtQixFQUFFLEtBQUs7aUJBQzNCO2dCQUNILENBQUMsQ0FBQyxTQUFTO1lBQ2YsbUJBQW1CLEVBQUUsT0FBTyxDQUFDLGNBQWMsSUFBSSxPQUFPO1lBQ3RELEdBQUcsT0FBTztTQUNYLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSw2QkFBWSxDQUFDLElBQUksRUFBRTtZQUNwQyxvRUFBb0U7WUFDcEUsY0FBYyxFQUFFLDZCQUFjLENBQUMsSUFBSTtZQUNuQyxHQUFHLE9BQU87U0FDWCxDQUFDLENBQUM7UUFFSCxJQUFJLDRCQUFZLENBQUMsSUFBSSxFQUFFO1lBQ3JCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNuQixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsYUFBYSxFQUFFLE9BQU8sQ0FBQyxhQUFhO1lBQ3BDLFlBQVksRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVE7WUFDdkMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLGtCQUFrQixFQUFFLE9BQU8sQ0FBQyxrQkFBa0IsSUFBSSxJQUFJO1lBQ3RELHNCQUFzQixFQUFFLE9BQU8sQ0FBQyxzQkFBc0IsSUFBSSxJQUFJO1lBQzlELDJCQUEyQixFQUFFLE9BQU8sQ0FBQywyQkFBMkIsSUFBSSxJQUFJO1lBQ3hFLDJCQUEyQixFQUFFLE9BQU8sQ0FBQywyQkFBMkIsSUFBSSxJQUFJO1NBQ3pFLENBQUMsQ0FBQztRQUVILElBQUksT0FBTyxDQUFDLHVCQUF1QixFQUFFLENBQUM7WUFDcEMsSUFBSSwwQkFBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hCLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLFVBQVU7UUFDbkIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0ksa0JBQWtCLENBQUMsR0FBRyxJQUFjO1FBQ3pDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLHNCQUFzQixDQUFDLEdBQUcsSUFBYztRQUM3QyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUNwRCxDQUFDOztBQTFFSCx3REEyRUM7OztBQU1ELCtDQUErQztBQUMvQyxNQUFhLG1CQUFvQixTQUFRLHNCQUFzQjs7QUFBL0Qsa0RBQWtFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgc2VtdmVyIGZyb20gXCJzZW12ZXJcIjtcbmltcG9ydCB7IEF1dG9EaXNjb3ZlciB9IGZyb20gXCIuL2F1dG8tZGlzY292ZXJcIjtcbmltcG9ydCB7IEF3c0Nka0RlcHMsIEF3c0Nka0RlcHNDb21tb25PcHRpb25zIH0gZnJvbSBcIi4vYXdzY2RrLWRlcHNcIjtcbmltcG9ydCB7IEF3c0Nka0RlcHNKcyB9IGZyb20gXCIuL2F3c2Nkay1kZXBzLWpzXCI7XG5pbXBvcnQgeyBJbnRlZ1J1bm5lciB9IGZyb20gXCIuL2ludGVnLXJ1bm5lclwiO1xuaW1wb3J0IHsgTGFtYmRhRnVuY3Rpb25Db21tb25PcHRpb25zIH0gZnJvbSBcIi4vbGFtYmRhLWZ1bmN0aW9uXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3RMaWJyYXJ5LCBDb25zdHJ1Y3RMaWJyYXJ5T3B0aW9ucyB9IGZyb20gXCIuLi9jZGtcIjtcbmltcG9ydCB7IERlcGVuZGVuY3lUeXBlIH0gZnJvbSBcIi4uL2RlcGVuZGVuY2llc1wiO1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGBBd3NDZGtDb25zdHJ1Y3RMaWJyYXJ5YC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBd3NDZGtDb25zdHJ1Y3RMaWJyYXJ5T3B0aW9uc1xuICBleHRlbmRzIENvbnN0cnVjdExpYnJhcnlPcHRpb25zLFxuICAgIEF3c0Nka0RlcHNDb21tb25PcHRpb25zIHtcbiAgLyoqXG4gICAqIEF1dG9tYXRpY2FsbHkgYWRkcyBhbiBgYXdzX2xhbWJkYS5GdW5jdGlvbmAgZm9yIGVhY2ggYC5sYW1iZGEudHNgIGhhbmRsZXJcbiAgICogaW4geW91ciBzb3VyY2UgdHJlZS4gSWYgdGhpcyBpcyBkaXNhYmxlZCwgeW91IGVpdGhlciBuZWVkIHRvIGV4cGxpY2l0bHlcbiAgICogY2FsbCBgYXdzX2xhbWJkYS5GdW5jdGlvbi5hdXRvRGlzY292ZXIoKWAgb3IgZGVmaW5lIGEgYG5ld1xuICAgKiBhd3NfbGFtYmRhLkZ1bmN0aW9uKClgIGZvciBlYWNoIGhhbmRsZXIuXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGxhbWJkYUF1dG9EaXNjb3Zlcj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEF1dG9tYXRpY2FsbHkgYWRkcyBhbiBgY2xvdWRmcm9udC5leHBlcmltZW50YWwuRWRnZUZ1bmN0aW9uYCBmb3IgZWFjaFxuICAgKiBgLmVkZ2UtbGFtYmRhLnRzYCBoYW5kbGVyIGluIHlvdXIgc291cmNlIHRyZWUuIElmIHRoaXMgaXMgZGlzYWJsZWQsIHlvdSBjYW5cbiAgICogbWFudWFsbHkgYWRkIGFuIGBhd3NjZGsuQXV0b0Rpc2NvdmVyYCBjb21wb25lbnQgdG8geW91ciBwcm9qZWN0LlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBlZGdlTGFtYmRhQXV0b0Rpc2NvdmVyPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQXV0b21hdGljYWxseSBhZGRzIGFuIGBhd3NjZGsuTGFtYmRhRXh0ZW5zaW9uYCBmb3IgZWFjaCBgLmxhbWJkYS1leHRlbnNpb24udHNgXG4gICAqIGVudHJ5cG9pbnQgaW4geW91ciBzb3VyY2UgdHJlZS4gSWYgdGhpcyBpcyBkaXNhYmxlZCwgeW91IGNhbiBtYW51YWxseSBhZGQgYW5cbiAgICogYGF3c2Nkay5BdXRvRGlzY292ZXJgIGNvbXBvbmVudCB0byB5b3VyIHByb2plY3RcbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgbGFtYmRhRXh0ZW5zaW9uQXV0b0Rpc2NvdmVyPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQXV0b21hdGljYWxseSBkaXNjb3ZlcnMgYW5kIGNyZWF0ZXMgaW50ZWdyYXRpb24gdGVzdHMgZm9yIGVhY2ggYC5pbnRlZy50c2BcbiAgICogZmlsZSB1bmRlciB5b3VyIHRlc3QgZGlyZWN0b3J5LlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBpbnRlZ3JhdGlvblRlc3RBdXRvRGlzY292ZXI/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFbmFibGUgZXhwZXJpbWVudGFsIHN1cHBvcnQgZm9yIHRoZSBBV1MgQ0RLIGludGVnLXJ1bm5lci5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICogQGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcmVhZG9ubHkgZXhwZXJpbWVudGFsSW50ZWdSdW5uZXI/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBDb21tb24gb3B0aW9ucyBmb3IgYWxsIEFXUyBMYW1iZGEgZnVuY3Rpb25zLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGRlZmF1bHQgb3B0aW9uc1xuICAgKi9cbiAgcmVhZG9ubHkgbGFtYmRhT3B0aW9ucz86IExhbWJkYUZ1bmN0aW9uQ29tbW9uT3B0aW9ucztcbn1cblxuLyoqXG4gKiBBV1MgQ0RLIGNvbnN0cnVjdCBsaWJyYXJ5IHByb2plY3RcbiAqXG4gKiBBIG11bHRpLWxhbmd1YWdlIChqc2lpKSBjb25zdHJ1Y3QgbGlicmFyeSB3aGljaCB2ZW5kcyBjb25zdHJ1Y3RzIGRlc2lnbmVkIHRvXG4gKiB1c2Ugd2l0aGluIHRoZSBBV1MgQ0RLIHdpdGggYSBmcmllbmRseSB3b3JrZmxvdyBhbmQgYXV0b21hdGljIHB1Ymxpc2hpbmcgdG9cbiAqIHRoZSBjb25zdHJ1Y3QgY2F0YWxvZy5cbiAqXG4gKiBAcGppZCBhd3NjZGstY29uc3RydWN0XG4gKi9cbmV4cG9ydCBjbGFzcyBBd3NDZGtDb25zdHJ1Y3RMaWJyYXJ5IGV4dGVuZHMgQ29uc3RydWN0TGlicmFyeSB7XG4gIHB1YmxpYyByZWFkb25seSBjZGtEZXBzOiBBd3NDZGtEZXBzO1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IEF3c0Nka0NvbnN0cnVjdExpYnJhcnlPcHRpb25zKSB7XG4gICAgY29uc3QgY2RrTWFqb3JWZXJzaW9uID0gc2VtdmVyLnBhcnNlKG9wdGlvbnMuY2RrVmVyc2lvbik/Lm1ham9yO1xuXG4gICAgc3VwZXIoe1xuICAgICAgcGVlckRlcGVuZGVuY3lPcHRpb25zOlxuICAgICAgICBjZGtNYWpvclZlcnNpb24gPT09IDFcbiAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgcGlubmVkRGV2RGVwZW5kZW5jeTogZmFsc2UsXG4gICAgICAgICAgICB9XG4gICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICB3b3JrZmxvd05vZGVWZXJzaW9uOiBvcHRpb25zLm1pbk5vZGVWZXJzaW9uID8/IFwibHRzLypcIixcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfSk7XG5cbiAgICB0aGlzLmNka0RlcHMgPSBuZXcgQXdzQ2RrRGVwc0pzKHRoaXMsIHtcbiAgICAgIC8vIHNpbmNlIHRoaXMgd2UgYXJlIGEgbGlicmFyeSwgZGVwZW5kZW5jaWVzIHNob3VsZCBiZSBhZGRlZCBhIHBlZXJzXG4gICAgICBkZXBlbmRlbmN5VHlwZTogRGVwZW5kZW5jeVR5cGUuUEVFUixcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfSk7XG5cbiAgICBuZXcgQXV0b0Rpc2NvdmVyKHRoaXMsIHtcbiAgICAgIHNyY2RpcjogdGhpcy5zcmNkaXIsXG4gICAgICB0ZXN0ZGlyOiB0aGlzLnRlc3RkaXIsXG4gICAgICBsYW1iZGFPcHRpb25zOiBvcHRpb25zLmxhbWJkYU9wdGlvbnMsXG4gICAgICB0c2NvbmZpZ1BhdGg6IHRoaXMudHNjb25maWdEZXYuZmlsZU5hbWUsXG4gICAgICBjZGtEZXBzOiB0aGlzLmNka0RlcHMsXG4gICAgICBsYW1iZGFBdXRvRGlzY292ZXI6IG9wdGlvbnMubGFtYmRhQXV0b0Rpc2NvdmVyID8/IHRydWUsXG4gICAgICBlZGdlTGFtYmRhQXV0b0Rpc2NvdmVyOiBvcHRpb25zLmVkZ2VMYW1iZGFBdXRvRGlzY292ZXIgPz8gdHJ1ZSxcbiAgICAgIGxhbWJkYUV4dGVuc2lvbkF1dG9EaXNjb3Zlcjogb3B0aW9ucy5sYW1iZGFFeHRlbnNpb25BdXRvRGlzY292ZXIgPz8gdHJ1ZSxcbiAgICAgIGludGVncmF0aW9uVGVzdEF1dG9EaXNjb3Zlcjogb3B0aW9ucy5pbnRlZ3JhdGlvblRlc3RBdXRvRGlzY292ZXIgPz8gdHJ1ZSxcbiAgICB9KTtcblxuICAgIGlmIChvcHRpb25zLmV4cGVyaW1lbnRhbEludGVnUnVubmVyKSB7XG4gICAgICBuZXcgSW50ZWdSdW5uZXIodGhpcyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFRoZSB0YXJnZXQgQ0RLIHZlcnNpb24gZm9yIHRoaXMgbGlicmFyeS5cbiAgICovXG4gIHB1YmxpYyBnZXQgY2RrVmVyc2lvbigpIHtcbiAgICByZXR1cm4gdGhpcy5jZGtEZXBzLmNka1ZlcnNpb247XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgdXNlIGBjZGtWZXJzaW9uYFxuICAgKi9cbiAgcHVibGljIGdldCB2ZXJzaW9uKCkge1xuICAgIHJldHVybiB0aGlzLmNka1ZlcnNpb247XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBkZXBlbmRlbmNpZXMgdG8gQVdTIENESyBtb2R1bGVzLlxuICAgKlxuICAgKiBTaW5jZSB0aGlzIGlzIGEgbGlicmFyeSBwcm9qZWN0LCBkZXBlbmRlbmNpZXMgd2lsbCBiZSBhZGRlZCBhcyBwZWVyIGRlcGVuZGVuY2llcy5cbiAgICpcbiAgICogQHBhcmFtIGRlcHMgbmFtZXMgb2YgY2RrIG1vZHVsZXMgKGUuZy4gYEBhd3MtY2RrL2F3cy1sYW1iZGFgKS5cbiAgICogQGRlcHJlY2F0ZWQgTm90IHN1cHBvcnRlZCBpbiB2Mi4gRm9yIHYxLCB1c2UgYHByb2plY3QuY2RrRGVwcy5hZGRWMURlcGVuZGVuY2llcygpYFxuICAgKi9cbiAgcHVibGljIGFkZENka0RlcGVuZGVuY2llcyguLi5kZXBzOiBzdHJpbmdbXSkge1xuICAgIHJldHVybiB0aGlzLmNka0RlcHMuYWRkVjFEZXBlbmRlbmNpZXMoLi4uZGVwcyk7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBBV1MgQ0RLIG1vZHVsZXMgYXMgZGV2IGRlcGVuZGVuY2llcy5cbiAgICpcbiAgICogQHBhcmFtIGRlcHMgbmFtZXMgb2YgY2RrIG1vZHVsZXMgKGUuZy4gYEBhd3MtY2RrL2F3cy1sYW1iZGFgKS5cbiAgICogQGRlcHJlY2F0ZWQgTm90IHN1cHBvcnRlZCBpbiB2Mi4gRm9yIHYxLCB1c2UgYHByb2plY3QuY2RrRGVwcy5hZGRWMURldkRlcGVuZGVuY2llcygpYFxuICAgKi9cbiAgcHVibGljIGFkZENka1Rlc3REZXBlbmRlbmNpZXMoLi4uZGVwczogc3RyaW5nW10pIHtcbiAgICByZXR1cm4gdGhpcy5jZGtEZXBzLmFkZFYxRGV2RGVwZW5kZW5jaWVzKC4uLmRlcHMpO1xuICB9XG59XG5cbi8qKiBAZGVwcmVjYXRlZCB1c2UgYEF3c0Nka0NvbnN0cnVjdExpYnJhcnlPcHRpb25zYCAqL1xuZXhwb3J0IGludGVyZmFjZSBDb25zdHJ1Y3RMaWJyYXJ5QXdzT3B0aW9uc1xuICBleHRlbmRzIEF3c0Nka0NvbnN0cnVjdExpYnJhcnlPcHRpb25zIHt9XG5cbi8qKiBAZGVwcmVjYXRlZCB1c2UgYEF3c0Nka0NvbnN0cnVjdExpYnJhcnlgICovXG5leHBvcnQgY2xhc3MgQ29uc3RydWN0TGlicmFyeUF3cyBleHRlbmRzIEF3c0Nka0NvbnN0cnVjdExpYnJhcnkge31cbiJdfQ==
@@ -19,5 +19,5 @@ class AwsCdkDepsJava extends awscdk_deps_1.AwsCdkDeps {
19
19
  }
20
20
  exports.AwsCdkDepsJava = AwsCdkDepsJava;
21
21
  _a = JSII_RTTI_SYMBOL_1;
22
- AwsCdkDepsJava[_a] = { fqn: "projen.awscdk.AwsCdkDepsJava", version: "0.99.0" };
22
+ AwsCdkDepsJava[_a] = { fqn: "projen.awscdk.AwsCdkDepsJava", version: "0.99.1" };
23
23
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzY2RrLWRlcHMtamF2YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hd3NjZGsvYXdzY2RrLWRlcHMtamF2YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLCtDQUErRDtBQUUvRDs7R0FFRztBQUNILE1BQWEsY0FBZSxTQUFRLHdCQUFVO0lBQ2xDLFlBQVk7UUFDcEIsT0FBTztZQUNMLE1BQU0sRUFBRSw2QkFBNkI7WUFDckMsTUFBTSxFQUFFLG9DQUFvQztZQUM1QyxVQUFVLEVBQUUsZ0NBQWdDO1lBQzVDLFVBQVUsRUFBRSxtQ0FBbUM7U0FDaEQsQ0FBQztJQUNKLENBQUM7O0FBUkgsd0NBU0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBd3NDZGtEZXBzLCBBd3NDZGtQYWNrYWdlTmFtZXMgfSBmcm9tIFwiLi9hd3NjZGstZGVwc1wiO1xuXG4vKipcbiAqIE1hbmFnZXMgZGVwZW5kZW5jaWVzIG9uIHRoZSBBV1MgQ0RLIGZvciBKYXZhIHByb2plY3RzLlxuICovXG5leHBvcnQgY2xhc3MgQXdzQ2RrRGVwc0phdmEgZXh0ZW5kcyBBd3NDZGtEZXBzIHtcbiAgcHJvdGVjdGVkIHBhY2thZ2VOYW1lcygpOiBBd3NDZGtQYWNrYWdlTmFtZXMge1xuICAgIHJldHVybiB7XG4gICAgICBjb3JlVjE6IFwic29mdHdhcmUuYW1hem9uLmF3c2Nkay9jb3JlXCIsXG4gICAgICBjb3JlVjI6IFwic29mdHdhcmUuYW1hem9uLmF3c2Nkay9hd3MtY2RrLWxpYlwiLFxuICAgICAgY29uc3RydWN0czogXCJzb2Z0d2FyZS5jb25zdHJ1Y3RzL2NvbnN0cnVjdHNcIixcbiAgICAgIGFzc2VydGlvbnM6IFwic29mdHdhcmUuYW1hem9uLmF3c2Nkay9hc3NlcnRpb25zXCIsXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -20,5 +20,5 @@ class AwsCdkDepsJs extends awscdk_deps_1.AwsCdkDeps {
20
20
  }
21
21
  exports.AwsCdkDepsJs = AwsCdkDepsJs;
22
22
  _a = JSII_RTTI_SYMBOL_1;
23
- AwsCdkDepsJs[_a] = { fqn: "projen.awscdk.AwsCdkDepsJs", version: "0.99.0" };
23
+ AwsCdkDepsJs[_a] = { fqn: "projen.awscdk.AwsCdkDepsJs", version: "0.99.1" };
24
24
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzY2RrLWRlcHMtanMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXdzY2RrL2F3c2Nkay1kZXBzLWpzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsK0NBQStEO0FBRS9EOztHQUVHO0FBQ0gsTUFBYSxZQUFhLFNBQVEsd0JBQVU7SUFDaEMsWUFBWTtRQUNwQixPQUFPO1lBQ0wsTUFBTSxFQUFFLGVBQWU7WUFDdkIsTUFBTSxFQUFFLGFBQWE7WUFDckIsVUFBVSxFQUFFLFlBQVk7WUFDeEIsTUFBTSxFQUFFLGlCQUFpQjtZQUN6QixVQUFVLEVBQUUscUJBQXFCO1NBQ2xDLENBQUM7SUFDSixDQUFDOztBQVRILG9DQVVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXdzQ2RrRGVwcywgQXdzQ2RrUGFja2FnZU5hbWVzIH0gZnJvbSBcIi4vYXdzY2RrLWRlcHNcIjtcblxuLyoqXG4gKiBNYW5hZ2VzIGRlcGVuZGVuY2llcyBvbiB0aGUgQVdTIENESyBmb3IgTm9kZS5qcyBwcm9qZWN0cy5cbiAqL1xuZXhwb3J0IGNsYXNzIEF3c0Nka0RlcHNKcyBleHRlbmRzIEF3c0Nka0RlcHMge1xuICBwcm90ZWN0ZWQgcGFja2FnZU5hbWVzKCk6IEF3c0Nka1BhY2thZ2VOYW1lcyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvcmVWMTogXCJAYXdzLWNkay9jb3JlXCIsXG4gICAgICBjb3JlVjI6IFwiYXdzLWNkay1saWJcIixcbiAgICAgIGNvbnN0cnVjdHM6IFwiY29uc3RydWN0c1wiLFxuICAgICAgYXNzZXJ0OiBcIkBhd3MtY2RrL2Fzc2VydFwiLFxuICAgICAgYXNzZXJ0aW9uczogXCJAYXdzLWNkay9hc3NlcnRpb25zXCIsXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -20,5 +20,5 @@ class AwsCdkDepsPy extends awscdk_deps_1.AwsCdkDeps {
20
20
  }
21
21
  exports.AwsCdkDepsPy = AwsCdkDepsPy;
22
22
  _a = JSII_RTTI_SYMBOL_1;
23
- AwsCdkDepsPy[_a] = { fqn: "projen.awscdk.AwsCdkDepsPy", version: "0.99.0" };
23
+ AwsCdkDepsPy[_a] = { fqn: "projen.awscdk.AwsCdkDepsPy", version: "0.99.1" };
24
24
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzY2RrLWRlcHMtcHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXdzY2RrL2F3c2Nkay1kZXBzLXB5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsK0NBQStEO0FBRS9EOztHQUVHO0FBQ0gsTUFBYSxZQUFhLFNBQVEsd0JBQVU7SUFDaEMsWUFBWTtRQUNwQixPQUFPO1lBQ0wsTUFBTSxFQUFFLGNBQWM7WUFDdEIsTUFBTSxFQUFFLGFBQWE7WUFDckIsVUFBVSxFQUFFLFlBQVk7WUFDeEIsTUFBTSxFQUFFLGdCQUFnQjtZQUN4QixVQUFVLEVBQUUsb0JBQW9CO1NBQ2pDLENBQUM7SUFDSixDQUFDOztBQVRILG9DQVVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXdzQ2RrRGVwcywgQXdzQ2RrUGFja2FnZU5hbWVzIH0gZnJvbSBcIi4vYXdzY2RrLWRlcHNcIjtcblxuLyoqXG4gKiBNYW5hZ2VzIGRlcGVuZGVuY2llcyBvbiB0aGUgQVdTIENESyBmb3IgUHl0aG9uIHByb2plY3RzLlxuICovXG5leHBvcnQgY2xhc3MgQXdzQ2RrRGVwc1B5IGV4dGVuZHMgQXdzQ2RrRGVwcyB7XG4gIHByb3RlY3RlZCBwYWNrYWdlTmFtZXMoKTogQXdzQ2RrUGFja2FnZU5hbWVzIHtcbiAgICByZXR1cm4ge1xuICAgICAgY29yZVYxOiBcImF3c19jZGsuY29yZVwiLFxuICAgICAgY29yZVYyOiBcImF3cy1jZGstbGliXCIsXG4gICAgICBjb25zdHJ1Y3RzOiBcImNvbnN0cnVjdHNcIixcbiAgICAgIGFzc2VydDogXCJhd3NfY2RrLmFzc2VydFwiLFxuICAgICAgYXNzZXJ0aW9uczogXCJhd3NfY2RrLmFzc2VydGlvbnNcIixcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -160,7 +160,7 @@ class AwsCdkDeps extends component_1.Component {
160
160
  }
161
161
  exports.AwsCdkDeps = AwsCdkDeps;
162
162
  _a = JSII_RTTI_SYMBOL_1;
163
- AwsCdkDeps[_a] = { fqn: "projen.awscdk.AwsCdkDeps", version: "0.99.0" };
163
+ AwsCdkDeps[_a] = { fqn: "projen.awscdk.AwsCdkDeps", version: "0.99.1" };
164
164
  /**
165
165
  * Which AWS CDK version a construct library package belongs to.
166
166
  */
@@ -19,7 +19,7 @@ class CdkFeatureFlagsV1 {
19
19
  }
20
20
  exports.CdkFeatureFlagsV1 = CdkFeatureFlagsV1;
21
21
  _a = JSII_RTTI_SYMBOL_1;
22
- CdkFeatureFlagsV1[_a] = { fqn: "projen.awscdk.CdkFeatureFlagsV1", version: "0.99.0" };
22
+ CdkFeatureFlagsV1[_a] = { fqn: "projen.awscdk.CdkFeatureFlagsV1", version: "0.99.1" };
23
23
  /**
24
24
  * Disable all feature flags.
25
25
  */
@@ -55,7 +55,7 @@ class CdkFeatureFlagsV2 {
55
55
  }
56
56
  exports.CdkFeatureFlagsV2 = CdkFeatureFlagsV2;
57
57
  _b = JSII_RTTI_SYMBOL_1;
58
- CdkFeatureFlagsV2[_b] = { fqn: "projen.awscdk.CdkFeatureFlagsV2", version: "0.99.0" };
58
+ CdkFeatureFlagsV2[_b] = { fqn: "projen.awscdk.CdkFeatureFlagsV2", version: "0.99.1" };
59
59
  /**
60
60
  * Disable all feature flags.
61
61
  */
@@ -79,7 +79,7 @@ class CdkFeatureFlags {
79
79
  }
80
80
  exports.CdkFeatureFlags = CdkFeatureFlags;
81
81
  _c = JSII_RTTI_SYMBOL_1;
82
- CdkFeatureFlags[_c] = { fqn: "projen.awscdk.CdkFeatureFlags", version: "0.99.0" };
82
+ CdkFeatureFlags[_c] = { fqn: "projen.awscdk.CdkFeatureFlags", version: "0.99.1" };
83
83
  /**
84
84
  * CDK V1 feature flags configuration.
85
85
  * @deprecated CDK V1 is EOS. Upgrade to CDK V2.
@@ -156,7 +156,7 @@ class CdkConfig extends component_1.Component {
156
156
  }
157
157
  exports.CdkConfig = CdkConfig;
158
158
  _d = JSII_RTTI_SYMBOL_1;
159
- CdkConfig[_d] = { fqn: "projen.awscdk.CdkConfig", version: "0.99.0" };
159
+ CdkConfig[_d] = { fqn: "projen.awscdk.CdkConfig", version: "0.99.1" };
160
160
  /**
161
161
  * Which approval is required when deploying CDK apps.
162
162
  */
@@ -47,5 +47,5 @@ class CdkTasks extends component_1.Component {
47
47
  }
48
48
  exports.CdkTasks = CdkTasks;
49
49
  _a = JSII_RTTI_SYMBOL_1;
50
- CdkTasks[_a] = { fqn: "projen.awscdk.CdkTasks", version: "0.99.0" };
50
+ CdkTasks[_a] = { fqn: "projen.awscdk.CdkTasks", version: "0.99.1" };
51
51
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLXRhc2tzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2F3c2Nkay9jZGstdGFza3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw0Q0FBeUM7QUFJekM7O0dBRUc7QUFDSCxNQUFhLFFBQVMsU0FBUSxxQkFBUztJQStCckMsWUFBWSxPQUFnQjtRQUMxQixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFZixJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFO1lBQ3BDLFdBQVcsRUFBRSx1Q0FBdUM7WUFDcEQsSUFBSSxFQUFFLFdBQVc7U0FDbEIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRTtZQUNqRCxXQUFXLEVBQ1Qsb0dBQW9HO1lBQ3RHLElBQUksRUFBRSxjQUFjO1NBQ3JCLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUU7WUFDdEMsV0FBVyxFQUFFLHVDQUF1QztZQUNwRCxJQUFJLEVBQUUsWUFBWTtZQUNsQixXQUFXLEVBQUUsSUFBSTtTQUNsQixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFO1lBQ3hDLFdBQVcsRUFBRSx3Q0FBd0M7WUFDckQsSUFBSSxFQUFFLGFBQWE7WUFDbkIsV0FBVyxFQUFFLElBQUk7U0FDbEIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRTtZQUNsQyxXQUFXLEVBQUUsb0RBQW9EO1lBQ2pFLElBQUksRUFBRSxVQUFVO1NBQ2pCLENBQUMsQ0FBQztRQUVILHdFQUF3RTtRQUN4RSxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXpFLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNkLEtBQUssQ0FBQyxXQUFXO1lBQ2YscUZBQXFGLENBQUM7UUFFeEYsaUVBQWlFO1FBQ2pFLGtEQUFrRDtRQUNsRCxLQUFLLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFFbkMsNEJBQTRCO1FBQzVCLEtBQUssQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFeEIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQzs7QUE3RUgsNEJBOEVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcIi4uL2NvbXBvbmVudFwiO1xuaW1wb3J0IHsgUHJvamVjdCB9IGZyb20gXCIuLi9wcm9qZWN0XCI7XG5pbXBvcnQgeyBUYXNrIH0gZnJvbSBcIi4uL3Rhc2tcIjtcblxuLyoqXG4gKiBBZGRzIHN0YW5kYXJkIEFXUyBDREsgdGFza3MgdG8geW91ciBwcm9qZWN0LlxuICovXG5leHBvcnQgY2xhc3MgQ2RrVGFza3MgZXh0ZW5kcyBDb21wb25lbnQge1xuICAvKipcbiAgICogU3ludGhlc2l6ZXMgeW91ciBhcHAuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgc3ludGg6IFRhc2s7XG5cbiAgLyoqXG4gICAqIFN5bnRoZXNpemVzIHlvdXIgYXBwIGFuZCBzdXBwcmVzc2VzIHN0ZG91dC5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBzeW50aFNpbGVudDogVGFzaztcblxuICAvKipcbiAgICogRGVwbG95cyB5b3VyIGFwcC5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBkZXBsb3k6IFRhc2s7XG5cbiAgLyoqXG4gICAqIERlc3Ryb3lzIGFsbCB0aGUgc3RhY2tzLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGRlc3Ryb3k6IFRhc2s7XG5cbiAgLyoqXG4gICAqIERpZmYgYWdhaW5zdCBwcm9kdWN0aW9uLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGRpZmY6IFRhc2s7XG5cbiAgLyoqXG4gICAqIFdhdGNoIHRhc2suXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgd2F0Y2g6IFRhc2s7XG5cbiAgY29uc3RydWN0b3IocHJvamVjdDogUHJvamVjdCkge1xuICAgIHN1cGVyKHByb2plY3QpO1xuXG4gICAgdGhpcy5zeW50aCA9IHByb2plY3QuYWRkVGFzayhcInN5bnRoXCIsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiBcIlN5bnRoZXNpemVzIHlvdXIgY2RrIGFwcCBpbnRvIGNkay5vdXRcIixcbiAgICAgIGV4ZWM6IFwiY2RrIHN5bnRoXCIsXG4gICAgfSk7XG5cbiAgICB0aGlzLnN5bnRoU2lsZW50ID0gcHJvamVjdC5hZGRUYXNrKFwic3ludGg6c2lsZW50XCIsIHtcbiAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAnU3ludGhlc2l6ZXMgeW91ciBjZGsgYXBwIGludG8gY2RrLm91dCBhbmQgc3VwcHJlc3NlcyB0aGUgdGVtcGxhdGUgaW4gc3Rkb3V0IChwYXJ0IG9mIFwieWFybiBidWlsZFwiKScsXG4gICAgICBleGVjOiBcImNkayBzeW50aCAtcVwiLFxuICAgIH0pO1xuXG4gICAgdGhpcy5kZXBsb3kgPSBwcm9qZWN0LmFkZFRhc2soXCJkZXBsb3lcIiwge1xuICAgICAgZGVzY3JpcHRpb246IFwiRGVwbG95cyB5b3VyIENESyBhcHAgdG8gdGhlIEFXUyBjbG91ZFwiLFxuICAgICAgZXhlYzogXCJjZGsgZGVwbG95XCIsXG4gICAgICByZWNlaXZlQXJnczogdHJ1ZSxcbiAgICB9KTtcblxuICAgIHRoaXMuZGVzdHJveSA9IHByb2plY3QuYWRkVGFzayhcImRlc3Ryb3lcIiwge1xuICAgICAgZGVzY3JpcHRpb246IFwiRGVzdHJveXMgeW91ciBjZGsgYXBwIGluIHRoZSBBV1MgY2xvdWRcIixcbiAgICAgIGV4ZWM6IFwiY2RrIGRlc3Ryb3lcIixcbiAgICAgIHJlY2VpdmVBcmdzOiB0cnVlLFxuICAgIH0pO1xuXG4gICAgdGhpcy5kaWZmID0gcHJvamVjdC5hZGRUYXNrKFwiZGlmZlwiLCB7XG4gICAgICBkZXNjcmlwdGlvbjogXCJEaWZmcyB0aGUgY3VycmVudGx5IGRlcGxveWVkIGFwcCBhZ2FpbnN0IHlvdXIgY29kZVwiLFxuICAgICAgZXhlYzogXCJjZGsgZGlmZlwiLFxuICAgIH0pO1xuXG4gICAgLy8gdHlwZXNjcmlwdCBwcm9qZWN0cyBhbHJlYWR5IGhhdmUgYSBcIndhdGNoXCIgdGFzaywgd2Ugd2lsbCByZXB1cnBvc2UgaXRcbiAgICBjb25zdCB3YXRjaCA9IHByb2plY3QudGFza3MudHJ5RmluZChcIndhdGNoXCIpID8/IHByb2plY3QuYWRkVGFzayhcIndhdGNoXCIpO1xuXG4gICAgd2F0Y2gucmVzZXQoKTtcbiAgICB3YXRjaC5kZXNjcmlwdGlvbiA9XG4gICAgICBcIldhdGNoZXMgY2hhbmdlcyBpbiB5b3VyIHNvdXJjZSBjb2RlIGFuZCByZWJ1aWxkcyBhbmQgZGVwbG95cyB0byB0aGUgY3VycmVudCBhY2NvdW50XCI7XG5cbiAgICAvLyBkZXBsb3kgZmlyc3QgYmVjYXVzZSBzdXJwcmlzaW5nbHkgd2F0Y2ggaXMgbm90IGRlcGxveWluZyBmaXJzdFxuICAgIC8vIHNlZSBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvaXNzdWVzLzE3Nzc2XG4gICAgd2F0Y2guZXhlYyhcImNkayBkZXBsb3kgLS1ob3Rzd2FwXCIpO1xuXG4gICAgLy8gbm93IHdlIGFyZSByZWFkeSB0byB3YXRjaFxuICAgIHdhdGNoLmV4ZWMoXCJjZGsgd2F0Y2hcIik7XG5cbiAgICB0aGlzLndhdGNoID0gd2F0Y2g7XG4gIH1cbn1cbiJdfQ==
@@ -77,5 +77,5 @@ class IntegrationTest extends cdk_1.IntegrationTestBase {
77
77
  }
78
78
  exports.IntegrationTest = IntegrationTest;
79
79
  _a = JSII_RTTI_SYMBOL_1;
80
- IntegrationTest[_a] = { fqn: "projen.awscdk.IntegrationTest", version: "0.99.0" };
80
+ IntegrationTest[_a] = { fqn: "projen.awscdk.IntegrationTest", version: "0.99.1" };
81
81
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWdyYXRpb24tdGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hd3NjZGsvaW50ZWdyYXRpb24tdGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHNDQUFrQztBQUVsQyx5Q0FBOEM7QUFDOUMsZ0NBQXlFO0FBQ3pFLGtEQUFpRDtBQXNDakQ7O0dBRUc7QUFDSCxNQUFhLGVBQWdCLFNBQVEseUJBQW1CO0lBV3RELFlBQVksT0FBZ0IsRUFBRSxPQUErQjtRQUMzRCxLQUFLLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRXhCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDOUMsT0FBTyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQ3hCLFlBQVksT0FBTyxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsRUFDN0MsNkJBQWMsQ0FBQyxLQUFLLENBQ3JCLENBQUM7UUFDSixDQUFDO1FBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUM5QyxPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEVBQUUsNkJBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5RCxDQUFDO1FBRUQsTUFBTSxTQUFTLEdBQUcsSUFBQSxZQUFJLEVBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3RELE1BQU0sU0FBUyxHQUFHLElBQUEsWUFBSSxFQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUN0RCxNQUFNLEdBQUcsR0FBRyxjQUFjLE9BQU8sQ0FBQyxZQUFZLElBQUksT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBRXZFLE1BQU0sSUFBSSxHQUFHO1lBQ1gsVUFBVSxHQUFHLEdBQUc7WUFDaEIsY0FBYztZQUNkLHdCQUF3QjtZQUN4QixxREFBcUQ7WUFDckQscUJBQXFCO1NBQ3RCLENBQUM7UUFFRixNQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsWUFBWSxJQUFJLEtBQUssQ0FBQztRQUNuRCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ2xDLENBQUM7UUFFRCxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsZUFBZSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzFDLHdCQUF3QjtZQUN4QixNQUFNLFFBQVEsR0FBRztnQkFDZixHQUFHLDJCQUFnQjtnQkFDbkIsc0NBQXNDLEVBQUUsSUFBSSxFQUFFLCtDQUErQzthQUM5RixDQUFDO1lBRUYsS0FBSyxNQUFNLE9BQU8sSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7Z0JBQzVDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxPQUFPLE9BQU8sQ0FBQyxDQUFDO1lBQ3pDLENBQUM7UUFDSCxDQUFDO1FBRUQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUUvQixtQ0FBbUM7UUFDbkMsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hDLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFaEUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUNsQixjQUFjLE9BQU8sSUFBSSxTQUFTLGdDQUFnQyxTQUFTLEVBQUUsQ0FDOUUsQ0FBQztRQUVGLHdFQUF3RTtRQUN4RSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sU0FBUyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBRTVELElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxTQUFTLElBQUksQ0FBQyxJQUFJLFFBQVEsRUFBRTtZQUMzRCxXQUFXLEVBQUUsMkJBQTJCLElBQUksQ0FBQyxJQUFJLGdDQUFnQztZQUNqRixJQUFJLEVBQUUsYUFBYSxPQUFPLElBQUksU0FBUyxPQUFPLFNBQVMsRUFBRTtTQUMxRCxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxJQUFJLENBQUMsSUFBSSxVQUFVLEVBQUU7WUFDL0QsV0FBVyxFQUFFLDZCQUE2QixJQUFJLENBQUMsSUFBSSxHQUFHO1lBQ3RELElBQUksRUFBRSxxQkFBcUIsSUFBSSxDQUFDLFdBQVcsSUFBSSxTQUFTLHlCQUF5QjtTQUNsRixDQUFDLENBQUM7UUFFSCxNQUFNLGtCQUFrQixHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsSUFBSSxJQUFJLENBQUM7UUFDOUQsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMxQyxDQUFDO1FBRUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQ3BCLGFBQWEsT0FBTyxPQUFPLElBQUksQ0FBQyxXQUFXLGNBQWMsQ0FDMUQsQ0FBQztRQUVGLE1BQU0sT0FBTyxHQUFHLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFFckUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsYUFBYSxPQUFPLE9BQU8sU0FBUyxjQUFjLENBQUMsQ0FBQztRQUN6RSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FDbEIsV0FBVyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUNoRCxJQUFJLENBQUMsV0FDUCxLQUFLLFNBQVMsR0FBRyxDQUNsQixDQUFDO1FBRUYsMkNBQTJDO1FBQzNDLEtBQUssTUFBTSxDQUFDLElBQUksT0FBTyxFQUFFLENBQUM7WUFDeEIsT0FBTyxDQUFDLFlBQVksQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNqRCxPQUFPLENBQUMsWUFBWSxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsb0JBQW9CO1FBQzNFLENBQUM7SUFDSCxDQUFDOztBQXRHSCwwQ0F1R0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBqb2luIH0gZnJvbSBcInBhdGgvcG9zaXhcIjtcbmltcG9ydCB7IEF3c0Nka0RlcHMgfSBmcm9tIFwiLi9hd3NjZGstZGVwc1wiO1xuaW1wb3J0IHsgRkVBVFVSRV9GTEFHU19WMSB9IGZyb20gXCIuL2ludGVybmFsXCI7XG5pbXBvcnQgeyBJbnRlZ3JhdGlvblRlc3RCYXNlLCBJbnRlZ3JhdGlvblRlc3RCYXNlT3B0aW9ucyB9IGZyb20gXCIuLi9jZGtcIjtcbmltcG9ydCB7IERlcGVuZGVuY3lUeXBlIH0gZnJvbSBcIi4uL2RlcGVuZGVuY2llc1wiO1xuaW1wb3J0IHsgUHJvamVjdCB9IGZyb20gXCIuLi9wcm9qZWN0XCI7XG5pbXBvcnQgeyBUYXNrIH0gZnJvbSBcIi4uL3Rhc2tcIjtcblxuZXhwb3J0IGludGVyZmFjZSBJbnRlZ3JhdGlvblRlc3RDb21tb25PcHRpb25zIHtcbiAgLyoqXG4gICAqIERlc3Ryb3kgdGhlIHRlc3QgYXBwIGFmdGVyIGEgc3VjY2Vzc2Z1bCBkZXBsb3ltZW50LiBJZiBkaXNhYmxlZCwgbGVhdmVzIHRoZVxuICAgKiBhcHAgZGVwbG95ZWQgaW4gdGhlIGRldiBhY2NvdW50LlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBkZXN0cm95QWZ0ZXJEZXBsb3k/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFbmFibGVzIHBhdGggbWV0YWRhdGEsIGFkZGluZyBgYXdzOmNkazpwYXRoYCwgd2l0aCB0aGUgZGVmaW5pbmcgY29uc3RydWN0J3NcbiAgICogcGF0aCwgdG8gdGhlIENsb3VkRm9ybWF0aW9uIG1ldGFkYXRhIGZvciBlYWNoIHN5bnRoZXNpemVkIHJlc291cmNlLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgcGF0aE1ldGFkYXRhPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBgSW50ZWdyYXRpb25UZXN0YC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbnRlZ3JhdGlvblRlc3RPcHRpb25zXG4gIGV4dGVuZHMgSW50ZWdyYXRpb25UZXN0Q29tbW9uT3B0aW9ucyxcbiAgICBJbnRlZ3JhdGlvblRlc3RCYXNlT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBBIGxpc3Qgb2Ygc3RhY2tzIHdpdGhpbiB0aGUgaW50ZWdyYXRpb24gdGVzdCB0byBkZXBsb3kvZGVzdHJveS5cbiAgICogQGRlZmF1bHQgW1wiKipcIl1cbiAgICovXG4gIHJlYWRvbmx5IHN0YWNrcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBBV1MgQ0RLIGRlcGVuZGVuY3kgbWFuYWdlci5cbiAgICovXG4gIHJlYWRvbmx5IGNka0RlcHM6IEF3c0Nka0RlcHM7XG59XG5cbi8qKlxuICogQ2xvdWQgaW50ZWdyYXRpb24gdGVzdHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBJbnRlZ3JhdGlvblRlc3QgZXh0ZW5kcyBJbnRlZ3JhdGlvblRlc3RCYXNlIHtcbiAgLyoqXG4gICAqIERlc3Ryb3kgdGhlIGludGVncmF0aW9uIHRlc3QgcmVzb3VyY2VzXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZGVzdHJveVRhc2s6IFRhc2s7XG5cbiAgLyoqXG4gICAqIFRoZSB3YXRjaCB0YXNrLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHdhdGNoVGFzazogVGFzaztcblxuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBQcm9qZWN0LCBvcHRpb25zOiBJbnRlZ3JhdGlvblRlc3RPcHRpb25zKSB7XG4gICAgc3VwZXIocHJvamVjdCwgb3B0aW9ucyk7XG5cbiAgICBpZiAoIXByb2plY3QuZGVwcy50cnlHZXREZXBlbmRlbmN5KFwiYXdzLWNka1wiKSkge1xuICAgICAgcHJvamVjdC5kZXBzLmFkZERlcGVuZGVuY3koXG4gICAgICAgIGBhd3MtY2RrQF4ke29wdGlvbnMuY2RrRGVwcy5jZGtNYWpvclZlcnNpb259YCxcbiAgICAgICAgRGVwZW5kZW5jeVR5cGUuQlVJTERcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKCFwcm9qZWN0LmRlcHMudHJ5R2V0RGVwZW5kZW5jeShcInRzLW5vZGVcIikpIHtcbiAgICAgIHByb2plY3QuZGVwcy5hZGREZXBlbmRlbmN5KFwidHMtbm9kZVwiLCBEZXBlbmRlbmN5VHlwZS5CVUlMRCk7XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95RGlyID0gam9pbih0aGlzLnRtcERpciwgXCJkZXBsb3kuY2RrLm91dFwiKTtcbiAgICBjb25zdCBhc3NlcnREaXIgPSBqb2luKHRoaXMudG1wRGlyLCBcImFzc2VydC5jZGsub3V0XCIpO1xuICAgIGNvbnN0IGFwcCA9IGB0cy1ub2RlIC1QICR7b3B0aW9ucy50c2NvbmZpZ1BhdGh9ICR7b3B0aW9ucy5lbnRyeXBvaW50fWA7XG5cbiAgICBjb25zdCBvcHRzID0gW1xuICAgICAgYC0tYXBwIFwiJHthcHB9XCJgLFxuICAgICAgXCItLW5vLW5vdGljZXNcIixcbiAgICAgIFwiLS1uby12ZXJzaW9uLXJlcG9ydGluZ1wiLFxuICAgICAgLy8gZG9uJ3QgaW5qZWN0IGNsb3VkZm9ybWF0aW9uIG1ldGFkYXRhIGludG8gdGVtcGxhdGVcbiAgICAgIFwiLS1uby1hc3NldC1tZXRhZGF0YVwiLFxuICAgIF07XG5cbiAgICBjb25zdCBwYXRoTWV0YWRhdGEgPSBvcHRpb25zLnBhdGhNZXRhZGF0YSA/PyBmYWxzZTtcbiAgICBpZiAoIXBhdGhNZXRhZGF0YSkge1xuICAgICAgb3B0cy5wdXNoKFwiLS1uby1wYXRoLW1ldGFkYXRhXCIpO1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zLmNka0RlcHMuY2RrTWFqb3JWZXJzaW9uID09PSAxKSB7XG4gICAgICAvLyBhZGQgYWxsIGZlYXR1cmUgZmxhZ3NcbiAgICAgIGNvbnN0IGZlYXR1cmVzID0ge1xuICAgICAgICAuLi5GRUFUVVJFX0ZMQUdTX1YxLFxuICAgICAgICBcIkBhd3MtY2RrL2NvcmU6bmV3U3R5bGVTdGFja1N5bnRoZXNpc1wiOiB0cnVlLCAvLyBzaW1wbGlmaWVzIGFzc2V0IGNvb3JkaW5hdGVzIGluIHN5bnRoIG91dHB1dFxuICAgICAgfTtcblxuICAgICAgZm9yIChjb25zdCBmZWF0dXJlIG9mIE9iamVjdC5rZXlzKGZlYXR1cmVzKSkge1xuICAgICAgICBvcHRzLnB1c2goYC0tY29udGV4dCAke2ZlYXR1cmV9PXRydWVgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBjZGtvcHRzID0gb3B0cy5qb2luKFwiIFwiKTtcblxuICAgIC8vIERldGVybWluZSB3aGljaCBzdGFja3MgdG8gZGVwbG95XG4gICAgY29uc3Qgc3RhY2tzID0gb3B0aW9ucy5zdGFja3MgPz8gW1wiKipcIl07XG4gICAgY29uc3Qgc3RhY2tPcHRzID0gc3RhY2tzLm1hcCgoc3RhY2spID0+IGAnJHtzdGFja30nYCkuam9pbihcIiBcIik7XG5cbiAgICB0aGlzLmRlcGxveVRhc2suZXhlYyhgcm0gLWZyICR7ZGVwbG95RGlyfWApO1xuICAgIHRoaXMuZGVwbG95VGFzay5leGVjKFxuICAgICAgYGNkayBkZXBsb3kgJHtjZGtvcHRzfSAke3N0YWNrT3B0c30gLS1yZXF1aXJlLWFwcHJvdmFsPW5ldmVyIC1vICR7ZGVwbG95RGlyfWBcbiAgICApO1xuXG4gICAgLy8gaWYgZGVwbG95bWVudCB3YXMgc3VjY2Vzc2Z1bCwgY29weSB0aGUgZGVwbG95IGRpciB0byB0aGUgZXhwZWN0ZWQgZGlyXG4gICAgdGhpcy5kZXBsb3lUYXNrLmV4ZWMoYHJtIC1mciAke3RoaXMuc25hcHNob3REaXJ9YCk7XG4gICAgdGhpcy5kZXBsb3lUYXNrLmV4ZWMoYG12ICR7ZGVwbG95RGlyfSAke3RoaXMuc25hcHNob3REaXJ9YCk7XG5cbiAgICB0aGlzLndhdGNoVGFzayA9IHByb2plY3QuYWRkVGFzayhgaW50ZWc6JHt0aGlzLm5hbWV9OndhdGNoYCwge1xuICAgICAgZGVzY3JpcHRpb246IGB3YXRjaCBpbnRlZ3JhdGlvbiB0ZXN0ICcke3RoaXMubmFtZX0nICh3aXRob3V0IHVwZGF0aW5nIHNuYXBzaG90cylgLFxuICAgICAgZXhlYzogYGNkayB3YXRjaCAke2Nka29wdHN9ICR7c3RhY2tPcHRzfSAtbyAke2RlcGxveURpcn1gLFxuICAgIH0pO1xuXG4gICAgdGhpcy5kZXN0cm95VGFzayA9IHByb2plY3QuYWRkVGFzayhgaW50ZWc6JHt0aGlzLm5hbWV9OmRlc3Ryb3lgLCB7XG4gICAgICBkZXNjcmlwdGlvbjogYGRlc3Ryb3kgaW50ZWdyYXRpb24gdGVzdCAnJHt0aGlzLm5hbWV9J2AsXG4gICAgICBleGVjOiBgY2RrIGRlc3Ryb3kgLS1hcHAgJHt0aGlzLnNuYXBzaG90RGlyfSAke3N0YWNrT3B0c30gLS1uby12ZXJzaW9uLXJlcG9ydGluZ2AsXG4gICAgfSk7XG5cbiAgICBjb25zdCBkZXN0cm95QWZ0ZXJEZXBsb3kgPSBvcHRpb25zLmRlc3Ryb3lBZnRlckRlcGxveSA/PyB0cnVlO1xuICAgIGlmIChkZXN0cm95QWZ0ZXJEZXBsb3kpIHtcbiAgICAgIHRoaXMuZGVwbG95VGFzay5zcGF3bih0aGlzLmRlc3Ryb3lUYXNrKTtcbiAgICB9XG5cbiAgICB0aGlzLnNuYXBzaG90VGFzay5leGVjKFxuICAgICAgYGNkayBzeW50aCAke2Nka29wdHN9IC1vICR7dGhpcy5zbmFwc2hvdERpcn0gPiAvZGV2L251bGxgXG4gICAgKTtcblxuICAgIGNvbnN0IGV4Y2x1ZGUgPSBbXCJhc3NldC4qXCIsIFwiY2RrLm91dFwiLCBcIm1hbmlmZXN0Lmpzb25cIiwgXCJ0cmVlLmpzb25cIl07XG5cbiAgICB0aGlzLmFzc2VydFRhc2suZXhlYyhgY2RrIHN5bnRoICR7Y2Rrb3B0c30gLW8gJHthc3NlcnREaXJ9ID4gL2Rldi9udWxsYCk7XG4gICAgdGhpcy5hc3NlcnRUYXNrLmV4ZWMoXG4gICAgICBgZGlmZiAtciAke2V4Y2x1ZGUubWFwKCh4KSA9PiBgLXggJHt4fWApLmpvaW4oXCIgXCIpfSAke1xuICAgICAgICB0aGlzLnNuYXBzaG90RGlyXG4gICAgICB9LyAke2Fzc2VydERpcn0vYFxuICAgICk7XG5cbiAgICAvLyBkbyBub3QgY29tbWl0IGFsbCBmaWxlcyB3ZSBhcmUgZXhjbHVkaW5nXG4gICAgZm9yIChjb25zdCB4IG9mIGV4Y2x1ZGUpIHtcbiAgICAgIHByb2plY3QuYWRkR2l0SWdub3JlKGAke3RoaXMuc25hcHNob3REaXJ9LyR7eH1gKTtcbiAgICAgIHByb2plY3QuYWRkR2l0SWdub3JlKGAke3RoaXMuc25hcHNob3REaXJ9LyoqLyR7eH1gKTsgLy8gbmVzdGVkIGFzc2VtYmxpZXNcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -63,7 +63,7 @@ class LambdaExtension extends component_1.Component {
63
63
  }
64
64
  exports.LambdaExtension = LambdaExtension;
65
65
  _a = JSII_RTTI_SYMBOL_1;
66
- LambdaExtension[_a] = { fqn: "projen.awscdk.LambdaExtension", version: "0.99.0" };
66
+ LambdaExtension[_a] = { fqn: "projen.awscdk.LambdaExtension", version: "0.99.1" };
67
67
  class LambdaLayerConstruct extends source_code_1.SourceCode {
68
68
  constructor(project, options) {
69
69
  super(project, options.constructFile);
@@ -118,11 +118,11 @@ class LambdaFunction extends component_1.Component {
118
118
  // Add runtime prop to interface only when runtime is not explicitly set
119
119
  // This allows consumers to override the default NODEJS_REGIONAL_LATEST
120
120
  if (!options.runtime) {
121
- src.line(" /**");
122
- src.line(" * The Lambda runtime to use.");
123
- src.line(" * @default - Latest Node.js runtime available in the deployment region");
124
- src.line(" */");
125
- src.line(" readonly runtime?: lambda.Runtime;");
121
+ src.line("/**");
122
+ src.line(" * The Lambda runtime to use.");
123
+ src.line(" * @default - Latest Node.js runtime available in the deployment region");
124
+ src.line(" */");
125
+ src.line("readonly runtime?: lambda.Runtime;");
126
126
  }
127
127
  src.close("}");
128
128
  src.line();
@@ -172,7 +172,7 @@ class LambdaFunction extends component_1.Component {
172
172
  }
173
173
  exports.LambdaFunction = LambdaFunction;
174
174
  _a = JSII_RTTI_SYMBOL_1;
175
- LambdaFunction[_a] = { fqn: "projen.awscdk.LambdaFunction", version: "0.99.0" };
175
+ LambdaFunction[_a] = { fqn: "projen.awscdk.LambdaFunction", version: "0.99.1" };
176
176
  /**
177
177
  * The runtime for the AWS Lambda function.
178
178
  */
@@ -198,7 +198,7 @@ class LambdaRuntime {
198
198
  }
199
199
  exports.LambdaRuntime = LambdaRuntime;
200
200
  _b = JSII_RTTI_SYMBOL_1;
201
- LambdaRuntime[_b] = { fqn: "projen.awscdk.LambdaRuntime", version: "0.99.0" };
201
+ LambdaRuntime[_b] = { fqn: "projen.awscdk.LambdaRuntime", version: "0.99.1" };
202
202
  /**
203
203
  * Node.js 10.x
204
204
  * @deprecated Node.js 10 runtime has been deprecated on Jul 30, 2021
@@ -250,4 +250,4 @@ LambdaRuntime.NODEJS_24_X = new LambdaRuntime("nodejs24.x", "node24");
250
250
  LambdaRuntime.NODEJS_REGIONAL_LATEST = new LambdaRuntime("NODEJS_REGIONAL_LATEST", // Marker value
251
251
  "node22" // esbuild target (current LTS)
252
252
  );
253
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFtYmRhLWZ1bmN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2F3c2Nkay9sYW1iZGEtZnVuY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2QkFBNkI7QUFDN0IsK0JBQThCO0FBRTlCLHlDQUlvQjtBQUNwQiw0Q0FBeUM7QUFDekMsOENBQWlFO0FBRWpFLGdEQUE0QztBQUU1QyxrQ0FBaUQ7QUF1RmpEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUJHO0FBQ0gsTUFBYSxjQUFlLFNBQVEscUJBQVM7SUFDM0M7Ozs7O09BS0c7SUFDSCxZQUFZLE9BQWdCLEVBQUUsT0FBOEI7UUFDMUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWYsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQztRQUNoQyxNQUFNLE9BQU8sR0FBRyxvQkFBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDYixNQUFNLElBQUksS0FBSyxDQUNiLG1FQUFtRSxDQUNwRSxDQUFDO1FBQ0osQ0FBQztRQUVELHNGQUFzRjtRQUN0RixNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxJQUFJLGFBQWEsQ0FBQyxzQkFBc0IsQ0FBQztRQUV4RSxNQUFNLFVBQVUsR0FBRyxJQUFBLDZCQUFzQixFQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUU5RCwwRUFBMEU7UUFDMUUsa0JBQWtCO1FBQ2xCLE1BQU0sTUFBTSxHQUFHLG1CQUFNLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2xDLE1BQU0sRUFBRSxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFakMsSUFDRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsZ0NBQXFCLENBQUM7WUFDM0MsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLHFDQUEwQixDQUFDLEVBQ2hELENBQUM7WUFDRCxNQUFNLElBQUksS0FBSyxDQUNiLEdBQUcsVUFBVSxnQkFBZ0IsZ0NBQXFCLE9BQU8scUNBQTBCLFlBQVksQ0FDaEcsQ0FBQztRQUNKLENBQUM7UUFFRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FDOUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFDeEIsSUFBSSxDQUFDLFFBQVEsQ0FDWCxVQUFVLEVBQ1YsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMscUNBQTBCLENBQUMsQ0FBQyxDQUFDLGdDQUFxQixDQUN4RSxDQUNGLENBQUM7UUFDRixNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUMsYUFBYSxJQUFJLEdBQUcsUUFBUSxjQUFjLENBQUM7UUFFekUsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEtBQUssRUFBRSxDQUFDO1lBQzFDLE1BQU0sSUFBSSxLQUFLLENBQ2Isd0JBQXdCLGFBQWEsNkJBQTZCLENBQ25FLENBQUM7UUFDSixDQUFDO1FBRUQsYUFBYTtRQUNiLE1BQU0sYUFBYSxHQUNqQixPQUFPLENBQUMsYUFBYSxJQUFJLElBQUEsYUFBTSxFQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxVQUFVLENBQUM7UUFDeEUsTUFBTSxTQUFTLEdBQUcsR0FBRyxhQUFhLE9BQU8sQ0FBQztRQUUxQyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRTtZQUMzQyxNQUFNLEVBQUUsT0FBTyxDQUFDLGFBQWE7WUFDN0IsUUFBUSxFQUFFLE9BQU8sQ0FBQyxlQUFlO1lBQ2pDLFNBQVMsRUFBRSxPQUFPLENBQUMsZ0JBQWdCO1lBQ25DLEdBQUcsT0FBTyxDQUFDLGVBQWU7WUFDMUIsWUFBWSxFQUFHLE9BQTZCLEVBQUUsV0FBVyxFQUFFLFFBQVE7U0FDcEUsQ0FBQyxDQUFDO1FBRUgsbUVBQW1FO1FBQ25FLHlFQUF5RTtRQUN6RSxzREFBc0Q7UUFDdEQsT0FBTztRQUNQLDhFQUE4RTtRQUM5RSx1RUFBdUU7UUFDdkUsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3RCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFDOUQsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FDbkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsRUFDMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FDekIsQ0FBQztRQUVGLE1BQU0sR0FBRyxHQUFHLElBQUksd0JBQVUsQ0FBQyxPQUFPLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFDbkQsSUFBSSxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDZixHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDL0IsQ0FBQztRQUNELEdBQUcsQ0FBQyxJQUFJLENBQUMsK0JBQStCLENBQUMsQ0FBQztRQUUxQyxJQUFJLE9BQU8sQ0FBQyxlQUFlLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDbEMsSUFBSSxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQ3ZCLEdBQUcsQ0FBQyxJQUFJLENBQUMsd0RBQXdELENBQUMsQ0FBQztnQkFDbkUsT0FBTyxDQUFDLGlCQUFpQixDQUFDLHlCQUF5QixDQUFDLENBQUM7WUFDdkQsQ0FBQztZQUNELEdBQUcsQ0FBQyxJQUFJLENBQUMsZ0RBQWdELENBQUMsQ0FBQztZQUMzRCxHQUFHLENBQUMsSUFBSSxDQUFDLDRDQUE0QyxDQUFDLENBQUM7WUFDdkQsT0FBTyxDQUFDLGlCQUFpQixDQUFDLHFCQUFxQixDQUFDLENBQUM7WUFDakQsT0FBTyxDQUFDLGlCQUFpQixDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzdDLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQ3ZCLEdBQUcsQ0FBQyxJQUFJLENBQUMsMkRBQTJELENBQUMsQ0FBQztZQUN4RSxDQUFDO1lBQ0QsR0FBRyxDQUFDLElBQUksQ0FBQyxtREFBbUQsQ0FBQyxDQUFDO1lBQzlELG9FQUFvRTtZQUNwRSxJQUFJLE9BQU8sS0FBSyxhQUFhLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztnQkFDckQsR0FBRyxDQUFDLElBQUksQ0FDTixzRUFBc0UsQ0FDdkUsQ0FBQztZQUNKLENBQUM7WUFDRCxHQUFHLENBQUMsSUFBSSxDQUFDLHlDQUF5QyxDQUFDLENBQUM7UUFDdEQsQ0FBQztRQUVELEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNYLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEIsR0FBRyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsYUFBYSxFQUFFLENBQUMsQ0FBQztRQUMxQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hCLElBQUksT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3ZCLEdBQUcsQ0FBQyxJQUFJLENBQ04sb0JBQW9CLFNBQVMsc0RBQXNELENBQ3BGLENBQUM7UUFDSixDQUFDO2FBQU0sQ0FBQztZQUNOLEdBQUcsQ0FBQyxJQUFJLENBQ04sb0JBQW9CLFNBQVMsbUNBQW1DLENBQ2pFLENBQUM7UUFDSixDQUFDO1FBQ0Qsd0VBQXdFO1FBQ3hFLHVFQUF1RTtRQUN2RSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3JCLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDbEIsR0FBRyxDQUFDLElBQUksQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO1lBQzVDLEdBQUcsQ0FBQyxJQUFJLENBQ04sMkVBQTJFLENBQzVFLENBQUM7WUFDRixHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2xCLEdBQUcsQ0FBQyxJQUFJLENBQUMsc0NBQXNDLENBQUMsQ0FBQztRQUNuRCxDQUFDO1FBQ0QsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNmLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNYLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEIsR0FBRyxDQUFDLElBQUksQ0FDTiw0Q0FBNEMsSUFBQSw2QkFBa0IsRUFDNUQsUUFBUSxDQUNULEdBQUcsQ0FDTCxDQUFDO1FBQ0YsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoQixJQUFJLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUN2QixHQUFHLENBQUMsSUFBSSxDQUNOLGdCQUFnQixhQUFhLGlEQUFpRCxDQUMvRSxDQUFDO1FBQ0osQ0FBQzthQUFNLENBQUM7WUFDTixHQUFHLENBQUMsSUFBSSxDQUFDLGdCQUFnQixhQUFhLDRCQUE0QixDQUFDLENBQUM7UUFDdEUsQ0FBQztRQUNELEdBQUcsQ0FBQyxJQUFJLENBQ04scURBQXFELFNBQVMsS0FBSyxDQUNwRSxDQUFDO1FBQ0YsR0FBRyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQy9CLEdBQUcsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLElBQUEsNkJBQWtCLEVBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlELEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFdEIsd0JBQXdCO1FBQ3hCLElBQUksT0FBTyxLQUFLLGFBQWEsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1lBQ3JELDBCQUEwQjtZQUMxQixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNyQix5REFBeUQ7Z0JBQ3pELEdBQUcsQ0FBQyxJQUFJLENBQ04sK0RBQStELENBQ2hFLENBQUM7WUFDSixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sK0JBQStCO2dCQUMvQixHQUFHLENBQUMsSUFBSSxDQUFDLDZDQUE2QyxDQUFDLENBQUM7WUFDMUQsQ0FBQztRQUNILENBQUM7YUFBTSxDQUFDO1lBQ04sNENBQTRDO1lBQzVDLEdBQUcsQ0FBQyxJQUFJLENBQ04sZ0NBQWdDLE9BQU8sQ0FBQyxlQUFlLGtDQUFrQyxDQUMxRixDQUFDO1FBQ0osQ0FBQztRQUVELEdBQUcsQ0FBQyxJQUFJLENBQUMsMkJBQTJCLENBQUMsQ0FBQztRQUN0QyxHQUFHLENBQUMsSUFBSSxDQUNOLHFEQUFxRCxJQUFBLDZCQUFrQixFQUNyRSxlQUFlLENBQ2hCLE1BQU0sQ0FDUixDQUFDO1FBQ0YsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqQixJQUFJLENBQUMsT0FBTyxDQUFDLHFCQUFxQixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ25FLEdBQUcsQ0FBQyxJQUFJLENBQ04sMEZBQTBGLENBQzNGLENBQUM7UUFDSixDQUFDO1FBQ0QsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNmLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFZixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQ3pCLEdBQUcsUUFBUSxnQkFBZ0IsYUFBYSxzQkFBc0IsYUFBYSxHQUFHLENBQy9FLENBQUM7UUFDRixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQ3pCLEdBQUcsUUFBUSxrQkFBa0IsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEdBQUcsQ0FDdkQsQ0FBQztRQUNGLElBQUksTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FDekIsR0FBRyxRQUFRLHdCQUF3QixNQUFNLENBQUMsU0FBUyxDQUFDLElBQUksR0FBRyxDQUM1RCxDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7O0FBdk1ILHdDQXdNQzs7O0FBY0Q7O0dBRUc7QUFDSCxNQUFhLGFBQWE7SUE4RnhCO0lBQ0U7O09BRUc7SUFDYSxlQUF1QjtJQUV2Qzs7T0FFRztJQUNhLGFBQXFCO0lBRXJDOztPQUVHO0lBQ0gsT0FBOEI7UUFWZCxvQkFBZSxHQUFmLGVBQWUsQ0FBUTtRQUt2QixrQkFBYSxHQUFiLGFBQWEsQ0FBUTtRQWJ2QixvQkFBZSxHQUFHLE1BQU0sQ0FBQztRQW9CdkMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE9BQU8sRUFBRSxnQkFBZ0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3RFLENBQUM7O0FBL0dILHNDQWdIQzs7O0FBL0dDOzs7R0FHRztBQUNvQix5QkFBVyxHQUFHLElBQUksYUFBYSxDQUNwRCxZQUFZLEVBQ1osUUFBUSxFQUNSLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUNsQyxBQUppQyxDQUloQztBQUVGOzs7R0FHRztBQUNvQix5QkFBVyxHQUFHLElBQUksYUFBYSxDQUNwRCxZQUFZLEVBQ1osUUFBUSxFQUNSLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUNsQyxBQUppQyxDQUloQztBQUVGOzs7R0FHRztBQUNvQix5QkFBVyxHQUFHLElBQUksYUFBYSxDQUNwRCxZQUFZLEVBQ1osUUFBUSxFQUNSLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUNsQyxBQUppQyxDQUloQztBQUVGOzs7R0FHRztBQUNvQix5QkFBVyxHQUFHLElBQUksYUFBYSxDQUNwRCxZQUFZLEVBQ1osUUFBUSxFQUNSLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUNsQyxBQUppQyxDQUloQztBQUVGOzs7O0dBSUc7QUFDb0IseUJBQVcsR0FBRyxJQUFJLGFBQWEsQ0FDcEQsWUFBWSxFQUNaLFFBQVEsQ0FDVCxBQUhpQyxDQUdoQztBQUVGOztHQUVHO0FBQ29CLHlCQUFXLEdBQUcsSUFBSSxhQUFhLENBQ3BELFlBQVksRUFDWixRQUFRLENBQ1QsQUFIaUMsQ0FHaEM7QUFFRjs7R0FFRztBQUNvQix5QkFBVyxHQUFHLElBQUksYUFBYSxDQUNwRCxZQUFZLEVBQ1osUUFBUSxDQUNULEFBSGlDLENBR2hDO0FBRUY7O0dBRUc7QUFDb0IseUJBQVcsR0FBRyxJQUFJLGFBQWEsQ0FDcEQsWUFBWSxFQUNaLFFBQVEsQ0FDVCxBQUhpQyxDQUdoQztBQUVGOzs7Ozs7Ozs7R0FTRztBQUNvQixvQ0FBc0IsR0FBRyxJQUFJLGFBQWEsQ0FDL0Qsd0JBQXdCLEVBQUUsZUFBZTtBQUN6QyxRQUFRLENBQUMsK0JBQStCO0NBQ3pDLEFBSDRDLENBRzNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHsgcGFzY2FsIH0gZnJvbSBcImNhc2VcIjtcbmltcG9ydCB7IEF3c0Nka0RlcHMgfSBmcm9tIFwiLi9hd3NjZGstZGVwc1wiO1xuaW1wb3J0IHtcbiAgY29udmVydFRvUG9zaXhQYXRoLFxuICBUWVBFU0NSSVBUX0VER0VfTEFNQkRBX0VYVCxcbiAgVFlQRVNDUklQVF9MQU1CREFfRVhULFxufSBmcm9tIFwiLi9pbnRlcm5hbFwiO1xuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcIi4uL2NvbXBvbmVudFwiO1xuaW1wb3J0IHsgQnVuZGxlciwgQnVuZGxpbmdPcHRpb25zLCBFc2xpbnQgfSBmcm9tIFwiLi4vamF2YXNjcmlwdFwiO1xuaW1wb3J0IHsgUHJvamVjdCB9IGZyb20gXCIuLi9wcm9qZWN0XCI7XG5pbXBvcnQgeyBTb3VyY2VDb2RlIH0gZnJvbSBcIi4uL3NvdXJjZS1jb2RlXCI7XG5pbXBvcnQgeyBUeXBlU2NyaXB0UHJvamVjdCB9IGZyb20gXCIuLi90eXBlc2NyaXB0XCI7XG5pbXBvcnQgeyBub3JtYWxpemVQZXJzaXN0ZWRQYXRoIH0gZnJvbSBcIi4uL3V0aWxcIjtcblxuLyoqXG4gKiBDb21tb24gb3B0aW9ucyBmb3IgYExhbWJkYUZ1bmN0aW9uYC4gQXBwbGllcyB0byBhbGwgZnVuY3Rpb25zIGluXG4gKiBhdXRvLWRpc2NvdmVyeS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMYW1iZGFGdW5jdGlvbkNvbW1vbk9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIG5vZGUuanMgdmVyc2lvbiB0byB0YXJnZXQuXG4gICAqXG4gICAqIEBkZWZhdWx0IExhbWJkYVJ1bnRpbWUuTk9ERUpTX1JFR0lPTkFMX0xBVEVTVCAtIFVzZXMgdGhlIGxhdGVzdCBOb2RlLmpzIHJ1bnRpbWVcbiAgICogYXZhaWxhYmxlIGluIHRoZSBkZXBsb3ltZW50IHJlZ2lvbiwgZGV0ZXJtaW5lZCBhdCBDREsgc3ludGhlc2lzIHRpbWUuXG4gICAqL1xuICByZWFkb25seSBydW50aW1lPzogTGFtYmRhUnVudGltZTtcblxuICAvKipcbiAgICogQnVuZGxpbmcgb3B0aW9ucyBmb3IgdGhpcyBBV1MgTGFtYmRhIGZ1bmN0aW9uLlxuICAgKlxuICAgKiBJZiBub3Qgc3BlY2lmaWVkIHRoZSBkZWZhdWx0IGJ1bmRsaW5nIG9wdGlvbnMgc3BlY2lmaWVkIGZvciB0aGUgcHJvamVjdFxuICAgKiBgQnVuZGxlcmAgaW5zdGFuY2Ugd2lsbCBiZSB1c2VkLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGRlZmF1bHRzXG4gICAqL1xuICByZWFkb25seSBidW5kbGluZ09wdGlvbnM/OiBCdW5kbGluZ09wdGlvbnM7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gYXV0b21hdGljYWxseSByZXVzZSBUQ1AgY29ubmVjdGlvbnMgd2hlbiB3b3JraW5nIHdpdGggdGhlIEFXU1xuICAgKiBTREsgZm9yIEphdmFTY3JpcHQuXG4gICAqXG4gICAqIFRoaXMgc2V0cyB0aGUgYEFXU19OT0RFSlNfQ09OTkVDVElPTl9SRVVTRV9FTkFCTEVEYCBlbnZpcm9ubWVudCB2YXJpYWJsZVxuICAgKiB0byBgMWAuXG4gICAqXG4gICAqIE5vdCBhcHBsaWNhYmxlIHdoZW4gYGVkZ2VMYW1iZGFgIGlzIHNldCB0byBgdHJ1ZWAgYmVjYXVzZSBlbnZpcm9ubWVudFxuICAgKiB2YXJpYWJsZXMgYXJlIG5vdCBzdXBwb3J0ZWQgaW4gTGFtYmRhQEVkZ2UuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3Nkay1mb3ItamF2YXNjcmlwdC92Mi9kZXZlbG9wZXItZ3VpZGUvbm9kZS1yZXVzaW5nLWNvbm5lY3Rpb25zLmh0bWxcbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgYXdzU2RrQ29ubmVjdGlvblJldXNlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciB0byBjcmVhdGUgYSBgY2xvdWRmcm9udC5leHBlcmltZW50YWwuRWRnZUZ1bmN0aW9uYCBpbnN0ZWFkXG4gICAqIG9mIGEgYGxhbWJkYS5GdW5jdGlvbmAuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBlZGdlTGFtYmRhPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBgRnVuY3Rpb25gLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExhbWJkYUZ1bmN0aW9uT3B0aW9ucyBleHRlbmRzIExhbWJkYUZ1bmN0aW9uQ29tbW9uT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBBIHBhdGggZnJvbSB0aGUgcHJvamVjdCByb290IGRpcmVjdG9yeSB0byBhIFR5cGVTY3JpcHQgZmlsZSB3aGljaCBjb250YWluc1xuICAgKiB0aGUgQVdTIExhbWJkYSBoYW5kbGVyIGVudHJ5cG9pbnQgKGV4cG9ydHMgYSBgaGFuZGxlcmAgZnVuY3Rpb24pLlxuICAgKlxuICAgKiBUaGlzIGlzIHJlbGF0aXZlIHRvIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGUgcHJvamVjdC5cbiAgICpcbiAgICogQGV4YW1wbGUgXCJzcmMvc3ViZGlyL2Zvby5sYW1iZGEudHNcIlxuICAgKi9cbiAgcmVhZG9ubHkgZW50cnlwb2ludDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgZ2VuZXJhdGVkIFR5cGVTY3JpcHQgc291cmNlIGZpbGUuIFRoaXMgZmlsZSBzaG91bGQgYWxzbyBiZVxuICAgKiB1bmRlciB0aGUgc291cmNlIHRyZWUuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gVGhlIG5hbWUgb2YgdGhlIGVudHJ5cG9pbnQgZmlsZSwgd2l0aCB0aGUgYC1mdW5jdGlvbi50c2Agc3VmZml4XG4gICAqIGluc3RlYWQgb2YgYC5sYW1iZGEudHNgLlxuICAgKi9cbiAgcmVhZG9ubHkgY29uc3RydWN0RmlsZT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGdlbmVyYXRlZCBgbGFtYmRhLkZ1bmN0aW9uYCBzdWJjbGFzcy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBBIHBhc2NhbCBjYXNlZCB2ZXJzaW9uIG9mIHRoZSBuYW1lIG9mIHRoZSBlbnRyeXBvaW50IGZpbGUsIHdpdGhcbiAgICogdGhlIGV4dGVuc2lvbiBgRnVuY3Rpb25gIChlLmcuIGBSZXNpemVJbWFnZUZ1bmN0aW9uYCkuXG4gICAqL1xuICByZWFkb25seSBjb25zdHJ1Y3ROYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBV1MgQ0RLIGRlcGVuZGVuY3kgbWFuYWdlci5cbiAgICovXG4gIHJlYWRvbmx5IGNka0RlcHM6IEF3c0Nka0RlcHM7XG59XG5cbi8qKlxuICogR2VuZXJhdGVzIGEgcHJlLWJ1bmRsZWQgQVdTIExhbWJkYSBmdW5jdGlvbiBjb25zdHJ1Y3QgZnJvbSBoYW5kbGVyIGNvZGUuXG4gKlxuICogVG8gdXNlIHRoaXMsIGNyZWF0ZSBhbiBBV1MgTGFtYmRhIGhhbmRsZXIgZmlsZSB1bmRlciB5b3VyIHNvdXJjZSB0cmVlIHdpdGhcbiAqIHRoZSBgLmxhbWJkYS50c2AgZXh0ZW5zaW9uIGFuZCBhZGQgYSBgTGFtYmRhRnVuY3Rpb25gIGNvbXBvbmVudCB0byB5b3VyXG4gKiB0eXBlc2NyaXB0IHByb2plY3QgcG9pbnRpbmcgdG8gdGhpcyBlbnRyeXBvaW50LlxuICpcbiAqIFRoaXMgd2lsbCBhZGQgYSB0YXNrIHRvIHlvdXIgXCJjb21waWxlXCIgc3RlcCB3aGljaCB3aWxsIHVzZSBgZXNidWlsZGAgdG9cbiAqIGJ1bmRsZSB0aGUgaGFuZGxlciBjb2RlIGludG8gdGhlIGJ1aWxkIGRpcmVjdG9yeS4gSXQgd2lsbCBhbHNvIGdlbmVyYXRlIGFcbiAqIGZpbGUgYHNyYy9mb28tZnVuY3Rpb24udHNgIHdpdGggYSBjdXN0b20gQVdTIGNvbnN0cnVjdCBjYWxsZWQgYEZvb0Z1bmN0aW9uYFxuICogd2hpY2ggZXh0ZW5kcyBgQGF3cy1jZGsvYXdzLWxhbWJkYS5GdW5jdGlvbmAgd2hpY2ggaXMgYm91bmQgdG8gdGhlIGJ1bmRsZWRcbiAqIGhhbmRsZSB0aHJvdWdoIGFuIGFzc2V0LlxuICpcbiAqIEBleGFtcGxlXG4gKlxuICogbmV3IExhbWJkYUZ1bmN0aW9uKG15UHJvamVjdCwge1xuICogICBzcmNkaXI6IG15UHJvamVjdC5zcmNkaXIsXG4gKiAgIGVudHJ5cG9pbnQ6ICdzcmMvZm9vLmxhbWJkYS50cycsXG4gKiB9KTtcbiAqL1xuZXhwb3J0IGNsYXNzIExhbWJkYUZ1bmN0aW9uIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIERlZmluZXMgYSBwcmUtYnVuZGxlZCBBV1MgTGFtYmRhIGZ1bmN0aW9uIGNvbnN0cnVjdCBmcm9tIGhhbmRsZXIgY29kZS5cbiAgICpcbiAgICogQHBhcmFtIHByb2plY3QgVGhlIHByb2plY3QgdG8gdXNlXG4gICAqIEBwYXJhbSBvcHRpb25zIE9wdGlvbnNcbiAgICovXG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IFByb2plY3QsIG9wdGlvbnM6IExhbWJkYUZ1bmN0aW9uT3B0aW9ucykge1xuICAgIHN1cGVyKHByb2plY3QpO1xuXG4gICAgY29uc3QgY2RrRGVwcyA9IG9wdGlvbnMuY2RrRGVwcztcbiAgICBjb25zdCBidW5kbGVyID0gQnVuZGxlci5vZihwcm9qZWN0KTtcbiAgICBpZiAoIWJ1bmRsZXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgXCJObyBidW5kbGVyIGZvdW5kLiBQbGVhc2UgYWRkIGEgQnVuZGxlciBjb21wb25lbnQgdG8geW91ciBwcm9qZWN0LlwiXG4gICAgICApO1xuICAgIH1cblxuICAgIC8vIFVzZSBOT0RFSlNfUkVHSU9OQUxfTEFURVNUIGFzIGRlZmF1bHQsIHdoaWNoIGdlbmVyYXRlcyBkZXRlcm1pbmVMYXRlc3ROb2RlUnVudGltZSgpXG4gICAgY29uc3QgcnVudGltZSA9IG9wdGlvbnMucnVudGltZSA/PyBMYW1iZGFSdW50aW1lLk5PREVKU19SRUdJT05BTF9MQVRFU1Q7XG5cbiAgICBjb25zdCBlbnRyeXBvaW50ID0gbm9ybWFsaXplUGVyc2lzdGVkUGF0aChvcHRpb25zLmVudHJ5cG9pbnQpO1xuXG4gICAgLy8gYWxsb3cgTGFtYmRhIGhhbmRsZXIgY29kZSB0byBpbXBvcnQgZGV2LWRlcHMgc2luY2UgdGhleSBhcmUgb25seSBuZWVkZWRcbiAgICAvLyBkdXJpbmcgYnVuZGxpbmdcbiAgICBjb25zdCBlc2xpbnQgPSBFc2xpbnQub2YocHJvamVjdCk7XG4gICAgZXNsaW50Py5hbGxvd0RldkRlcHMoZW50cnlwb2ludCk7XG5cbiAgICBpZiAoXG4gICAgICAhZW50cnlwb2ludC5lbmRzV2l0aChUWVBFU0NSSVBUX0xBTUJEQV9FWFQpICYmXG4gICAgICAhZW50cnlwb2ludC5lbmRzV2l0aChUWVBFU0NSSVBUX0VER0VfTEFNQkRBX0VYVClcbiAgICApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYCR7ZW50cnlwb2ludH0gbXVzdCBoYXZlIGEgJHtUWVBFU0NSSVBUX0xBTUJEQV9FWFR9IG9yICR7VFlQRVNDUklQVF9FREdFX0xBTUJEQV9FWFR9IGV4dGVuc2lvbmBcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgYmFzZVBhdGggPSBwYXRoLnBvc2l4LmpvaW4oXG4gICAgICBwYXRoLmRpcm5hbWUoZW50cnlwb2ludCksXG4gICAgICBwYXRoLmJhc2VuYW1lKFxuICAgICAgICBlbnRyeXBvaW50LFxuICAgICAgICBvcHRpb25zLmVkZ2VMYW1iZGEgPyBUWVBFU0NSSVBUX0VER0VfTEFNQkRBX0VYVCA6IFRZUEVTQ1JJUFRfTEFNQkRBX0VYVFxuICAgICAgKVxuICAgICk7XG4gICAgY29uc3QgY29uc3RydWN0RmlsZSA9IG9wdGlvbnMuY29uc3RydWN0RmlsZSA/PyBgJHtiYXNlUGF0aH0tZnVuY3Rpb24udHNgO1xuXG4gICAgaWYgKHBhdGguZXh0bmFtZShjb25zdHJ1Y3RGaWxlKSAhPT0gXCIudHNcIikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgQ29uc3RydWN0IGZpbGUgbmFtZSBcIiR7Y29uc3RydWN0RmlsZX1cIiBtdXN0IGhhdmUgYSAudHMgZXh0ZW5zaW9uYFxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyB0eXBlIG5hbWVzXG4gICAgY29uc3QgY29uc3RydWN0TmFtZSA9XG4gICAgICBvcHRpb25zLmNvbnN0cnVjdE5hbWUgPz8gcGFzY2FsKHBhdGguYmFzZW5hbWUoYmFzZVBhdGgpKSArIFwiRnVuY3Rpb25cIjtcbiAgICBjb25zdCBwcm9wc1R5cGUgPSBgJHtjb25zdHJ1Y3ROYW1lfVByb3BzYDtcblxuICAgIGNvbnN0IGJ1bmRsZSA9IGJ1bmRsZXIuYWRkQnVuZGxlKGVudHJ5cG9pbnQsIHtcbiAgICAgIHRhcmdldDogcnVudGltZS5lc2J1aWxkVGFyZ2V0LFxuICAgICAgcGxhdGZvcm06IHJ1bnRpbWUuZXNidWlsZFBsYXRmb3JtLFxuICAgICAgZXh0ZXJuYWxzOiBydW50aW1lLmRlZmF1bHRFeHRlcm5hbHMsXG4gICAgICAuLi5vcHRpb25zLmJ1bmRsaW5nT3B0aW9ucyxcbiAgICAgIHRzY29uZmlnUGF0aDogKHByb2plY3QgYXMgVHlwZVNjcmlwdFByb2plY3QpPy50c2NvbmZpZ0Rldj8uZmlsZU5hbWUsXG4gICAgfSk7XG5cbiAgICAvLyBjYWxjdWxhdGUgdGhlIHJlbGF0aXZlIHBhdGggYmV0d2VlbiB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgdGhlXG4gICAgLy8gZ2VuZXJhdGVkIGNvbnN0cnVjdCBzb3VyY2UgZmlsZSB0byB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgdGhlIGJ1bmRsZVxuICAgIC8vIGluZGV4LmpzIGJ5IHJlc29sdmluZyB0aGVtIGFzIGFic29sdXRlIHBhdGhzIGZpcnN0LlxuICAgIC8vIGUuZzpcbiAgICAvLyAgLSBvdXRmaWxlQWJzID0+IGAvcHJvamVjdC1vdXRkaXIvYXNzZXRzL2Zvby9iYXIvYmF6L2Zvby1mdW5jdGlvbi9pbmRleC5qc2BcbiAgICAvLyAgLSBjb25zdHJ1Y3RBYnMgPT4gYC9wcm9qZWN0LW91dGRpci9zcmMvZm9vL2Jhci9iYXovZm9vLWZ1bmN0aW9uLnRzYFxuICAgIGNvbnN0IG91dGZpbGVBYnMgPSBwYXRoLmpvaW4ocHJvamVjdC5vdXRkaXIsIGJ1bmRsZS5vdXRmaWxlKTtcbiAgICBjb25zdCBjb25zdHJ1Y3RBYnMgPSBwYXRoLmpvaW4ocHJvamVjdC5vdXRkaXIsIGNvbnN0cnVjdEZpbGUpO1xuICAgIGNvbnN0IHJlbGF0aXZlT3V0ZmlsZSA9IHBhdGgucmVsYXRpdmUoXG4gICAgICBwYXRoLmRpcm5hbWUoY29uc3RydWN0QWJzKSxcbiAgICAgIHBhdGguZGlybmFtZShvdXRmaWxlQWJzKVxuICAgICk7XG5cbiAgICBjb25zdCBzcmMgPSBuZXcgU291cmNlQ29kZShwcm9qZWN0LCBjb25zdHJ1Y3RGaWxlKTtcbiAgICBpZiAoc3JjLm1hcmtlcikge1xuICAgICAgc3JjLmxpbmUoYC8vICR7c3JjLm1hcmtlcn1gKTtcbiAgICB9XG4gICAgc3JjLmxpbmUoXCJpbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1wiKTtcblxuICAgIGlmIChjZGtEZXBzLmNka01ham9yVmVyc2lvbiA9PT0gMSkge1xuICAgICAgaWYgKG9wdGlvbnMuZWRnZUxhbWJkYSkge1xuICAgICAgICBzcmMubGluZShcImltcG9ydCAqIGFzIGNsb3VkZnJvbnQgZnJvbSAnQGF3cy1jZGsvYXdzLWNsb3VkZnJvbnQnO1wiKTtcbiAgICAgICAgY2RrRGVwcy5hZGRWMURlcGVuZGVuY2llcyhcIkBhd3MtY2RrL2F3cy1jbG91ZGZyb250XCIpO1xuICAgICAgfVxuICAgICAgc3JjLmxpbmUoXCJpbXBvcnQgKiBhcyBsYW1iZGEgZnJvbSAnQGF3cy1jZGsvYXdzLWxhbWJkYSc7XCIpO1xuICAgICAgc3JjLmxpbmUoXCJpbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdAYXdzLWNkay9jb3JlJztcIik7XG4gICAgICBjZGtEZXBzLmFkZFYxRGVwZW5kZW5jaWVzKFwiQGF3cy1jZGsvYXdzLWxhbWJkYVwiKTtcbiAgICAgIGNka0RlcHMuYWRkVjFEZXBlbmRlbmNpZXMoXCJAYXdzLWNkay9jb3JlXCIpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAob3B0aW9ucy5lZGdlTGFtYmRhKSB7XG4gICAgICAgIHNyYy5saW5lKFwiaW1wb3J0ICogYXMgY2xvdWRmcm9udCBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY2xvdWRmcm9udCc7XCIpO1xuICAgICAgfVxuICAgICAgc3JjLmxpbmUoXCJpbXBvcnQgKiBhcyBsYW1iZGEgZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYSc7XCIpO1xuICAgICAgLy8gSW1wb3J0IGRldGVybWluZUxhdGVzdE5vZGVSdW50aW1lIGlmIHVzaW5nIE5PREVKU19SRUdJT05BTF9MQVRFU1RcbiAgICAgIGlmIChydW50aW1lID09PSBMYW1iZGFSdW50aW1lLk5PREVKU19SRUdJT05BTF9MQVRFU1QpIHtcbiAgICAgICAgc3JjLmxpbmUoXG4gICAgICAgICAgXCJpbXBvcnQgeyBkZXRlcm1pbmVMYXRlc3ROb2RlUnVudGltZSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1wiXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBzcmMubGluZShcImltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1wiKTtcbiAgICB9XG5cbiAgICBzcmMubGluZSgpO1xuICAgIHNyYy5saW5lKFwiLyoqXCIpO1xuICAgIHNyYy5saW5lKGAgKiBQcm9wcyBmb3IgJHtjb25zdHJ1Y3ROYW1lfWApO1xuICAgIHNyYy5saW5lKFwiICovXCIpO1xuICAgIGlmIChvcHRpb25zLmVkZ2VMYW1iZGEpIHtcbiAgICAgIHNyYy5vcGVuKFxuICAgICAgICBgZXhwb3J0IGludGVyZmFjZSAke3Byb3BzVHlwZX0gZXh0ZW5kcyBjbG91ZGZyb250LmV4cGVyaW1lbnRhbC5FZGdlRnVuY3Rpb25Qcm9wcyB7YFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3JjLm9wZW4oXG4gICAgICAgIGBleHBvcnQgaW50ZXJmYWNlICR7cHJvcHNUeXBlfSBleHRlbmRzIGxhbWJkYS5GdW5jdGlvbk9wdGlvbnMge2BcbiAgICAgICk7XG4gICAgfVxuICAgIC8vIEFkZCBydW50aW1lIHByb3AgdG8gaW50ZXJmYWNlIG9ubHkgd2hlbiBydW50aW1lIGlzIG5vdCBleHBsaWNpdGx5IHNldFxuICAgIC8vIFRoaXMgYWxsb3dzIGNvbnN1bWVycyB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBOT0RFSlNfUkVHSU9OQUxfTEFURVNUXG4gICAgaWYgKCFvcHRpb25zLnJ1bnRpbWUpIHtcbiAgICAgIHNyYy5saW5lKFwiICAvKipcIik7XG4gICAgICBzcmMubGluZShcIiAgICogVGhlIExhbWJkYSBydW50aW1lIHRvIHVzZS5cIik7XG4gICAgICBzcmMubGluZShcbiAgICAgICAgXCIgICAqIEBkZWZhdWx0IC0gTGF0ZXN0IE5vZGUuanMgcnVudGltZSBhdmFpbGFibGUgaW4gdGhlIGRlcGxveW1lbnQgcmVnaW9uXCJcbiAgICAgICk7XG4gICAgICBzcmMubGluZShcIiAgICovXCIpO1xuICAgICAgc3JjLmxpbmUoXCIgIHJlYWRvbmx5IHJ1bnRpbWU/OiBsYW1iZGEuUnVudGltZTtcIik7XG4gICAgfVxuICAgIHNyYy5jbG9zZShcIn1cIik7XG4gICAgc3JjLmxpbmUoKTtcbiAgICBzcmMubGluZShcIi8qKlwiKTtcbiAgICBzcmMubGluZShcbiAgICAgIGAgKiBBbiBBV1MgTGFtYmRhIGZ1bmN0aW9uIHdoaWNoIGV4ZWN1dGVzICR7Y29udmVydFRvUG9zaXhQYXRoKFxuICAgICAgICBiYXNlUGF0aFxuICAgICAgKX0uYFxuICAgICk7XG4gICAgc3JjLmxpbmUoXCIgKi9cIik7XG4gICAgaWYgKG9wdGlvbnMuZWRnZUxhbWJkYSkge1xuICAgICAgc3JjLm9wZW4oXG4gICAgICAgIGBleHBvcnQgY2xhc3MgJHtjb25zdHJ1Y3ROYW1lfSBleHRlbmRzIGNsb3VkZnJvbnQuZXhwZXJpbWVudGFsLkVkZ2VGdW5jdGlvbiB7YFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3JjLm9wZW4oYGV4cG9ydCBjbGFzcyAke2NvbnN0cnVjdE5hbWV9IGV4dGVuZHMgbGFtYmRhLkZ1bmN0aW9uIHtgKTtcbiAgICB9XG4gICAgc3JjLm9wZW4oXG4gICAgICBgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM/OiAke3Byb3BzVHlwZX0pIHtgXG4gICAgKTtcbiAgICBzcmMub3BlbihcInN1cGVyKHNjb3BlLCBpZCwge1wiKTtcbiAgICBzcmMubGluZShgZGVzY3JpcHRpb246ICcke2NvbnZlcnRUb1Bvc2l4UGF0aChlbnRyeXBvaW50KX0nLGApO1xuICAgIHNyYy5saW5lKFwiLi4ucHJvcHMsXCIpO1xuXG4gICAgLy8gR2VuZXJhdGUgcnVudGltZSBjb2RlXG4gICAgaWYgKHJ1bnRpbWUgPT09IExhbWJkYVJ1bnRpbWUuTk9ERUpTX1JFR0lPTkFMX0xBVEVTVCkge1xuICAgICAgLy8gUmVnaW9uYWwgbGF0ZXN0IHJ1bnRpbWVcbiAgICAgIGlmICghb3B0aW9ucy5ydW50aW1lKSB7XG4gICAgICAgIC8vIERlZmF1bHQgKG5vdCBleHBsaWNpdGx5IHNldCkgLSBhbGxvdyBjb25zdW1lciBvdmVycmlkZVxuICAgICAgICBzcmMubGluZShcbiAgICAgICAgICBcInJ1bnRpbWU6IHByb3BzPy5ydW50aW1lID8/IGRldGVybWluZUxhdGVzdE5vZGVSdW50aW1lKHNjb3BlKSxcIlxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gRXhwbGljaXRseSBzZXQgLSBubyBvdmVycmlkZVxuICAgICAgICBzcmMubGluZShcInJ1bnRpbWU6IGRldGVybWluZUxhdGVzdE5vZGVSdW50aW1lKHNjb3BlKSxcIik7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEV4cGxpY2l0IHJ1bnRpbWUgLSBoYXJkY29kZWQsIG5vIG92ZXJyaWRlXG4gICAgICBzcmMubGluZShcbiAgICAgICAgYHJ1bnRpbWU6IG5ldyBsYW1iZGEuUnVudGltZSgnJHtydW50aW1lLmZ1bmN0aW9uUnVudGltZX0nLCBsYW1iZGEuUnVudGltZUZhbWlseS5OT0RFSlMpLGBcbiAgICAgICk7XG4gICAgfVxuXG4gICAgc3JjLmxpbmUoXCJoYW5kbGVyOiAnaW5kZXguaGFuZGxlcicsXCIpO1xuICAgIHNyYy5saW5lKFxuICAgICAgYGNvZGU6IGxhbWJkYS5Db2RlLmZyb21Bc3NldChwYXRoLmpvaW4oX19kaXJuYW1lLCAnJHtjb252ZXJ0VG9Qb3NpeFBhdGgoXG4gICAgICAgIHJlbGF0aXZlT3V0ZmlsZVxuICAgICAgKX0nKSksYFxuICAgICk7XG4gICAgc3JjLmNsb3NlKFwifSk7XCIpO1xuICAgIGlmICgob3B0aW9ucy5hd3NTZGtDb25uZWN0aW9uUmV1c2UgPz8gdHJ1ZSkgJiYgIW9wdGlvbnMuZWRnZUxhbWJkYSkge1xuICAgICAgc3JjLmxpbmUoXG4gICAgICAgIFwidGhpcy5hZGRFbnZpcm9ubWVudCgnQVdTX05PREVKU19DT05ORUNUSU9OX1JFVVNFX0VOQUJMRUQnLCAnMScsIHsgcmVtb3ZlSW5FZGdlOiB0cnVlIH0pO1wiXG4gICAgICApO1xuICAgIH1cbiAgICBzcmMuY2xvc2UoXCJ9XCIpO1xuICAgIHNyYy5jbG9zZShcIn1cIik7XG5cbiAgICB0aGlzLnByb2plY3QubG9nZ2VyLnZlcmJvc2UoXG4gICAgICBgJHtiYXNlUGF0aH06IGNvbnN0cnVjdCBcIiR7Y29uc3RydWN0TmFtZX1cIiBnZW5lcmF0ZWQgdW5kZXIgXCIke2NvbnN0cnVjdEZpbGV9XCJgXG4gICAgKTtcbiAgICB0aGlzLnByb2plY3QubG9nZ2VyLnZlcmJvc2UoXG4gICAgICBgJHtiYXNlUGF0aH06IGJ1bmRsZSB0YXNrIFwiJHtidW5kbGUuYnVuZGxlVGFzay5uYW1lfVwiYFxuICAgICk7XG4gICAgaWYgKGJ1bmRsZS53YXRjaFRhc2spIHtcbiAgICAgIHRoaXMucHJvamVjdC5sb2dnZXIudmVyYm9zZShcbiAgICAgICAgYCR7YmFzZVBhdGh9OiBidW5kbGUgd2F0Y2ggdGFzayBcIiR7YnVuZGxlLndhdGNoVGFzay5uYW1lfVwiYFxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciB0aGUgQVdTIExhbWJkYSBmdW5jdGlvbiBydW50aW1lXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGFtYmRhUnVudGltZU9wdGlvbnMge1xuICAvKipcbiAgICogUGFja2FnZXMgdGhhdCBhcmUgY29uc2lkZXJlZCBleHRlcm5hbHMgYnkgZGVmYXVsdCB3aGVuIGJ1bmRsaW5nXG4gICAqXG4gICAqIEBkZWZhdWx0IFsnQGF3cy1zZGsvKiddXG4gICAqL1xuICByZWFkb25seSBkZWZhdWx0RXh0ZXJuYWxzPzogc3RyaW5nW107XG59XG5cbi8qKlxuICogVGhlIHJ1bnRpbWUgZm9yIHRoZSBBV1MgTGFtYmRhIGZ1bmN0aW9uLlxuICovXG5leHBvcnQgY2xhc3MgTGFtYmRhUnVudGltZSB7XG4gIC8qKlxuICAgKiBOb2RlLmpzIDEwLnhcbiAgICogQGRlcHJlY2F0ZWQgTm9kZS5qcyAxMCBydW50aW1lIGhhcyBiZWVuIGRlcHJlY2F0ZWQgb24gSnVsIDMwLCAyMDIxXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IE5PREVKU18xMF9YID0gbmV3IExhbWJkYVJ1bnRpbWUoXG4gICAgXCJub2RlanMxMC54XCIsXG4gICAgXCJub2RlMTBcIixcbiAgICB7IGRlZmF1bHRFeHRlcm5hbHM6IFtcImF3cy1zZGtcIl0gfVxuICApO1xuXG4gIC8qKlxuICAgKiBOb2RlLmpzIDEyLnhcbiAgICogQGRlcHJlY2F0ZWQgTm9kZS5qcyAxMiBydW50aW1lIGhhcyBiZWVuIGRlcHJlY2F0ZWQgb24gTWFyIDMxLCAyMDIzXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IE5PREVKU18xMl9YID0gbmV3IExhbWJkYVJ1bnRpbWUoXG4gICAgXCJub2RlanMxMi54XCIsXG4gICAgXCJub2RlMTJcIixcbiAgICB7IGRlZmF1bHRFeHRlcm5hbHM6IFtcImF3cy1zZGtcIl0gfVxuICApO1xuXG4gIC8qKlxuICAgKiBOb2RlLmpzIDE0LnhcbiAgICogQGRlcHJlY2F0ZWQgTm9kZS5qcyAxNCBydW50aW1lIGhhcyBiZWVuIGRlcHJlY2F0ZWQgb24gRGVjIDQsIDIwMjNcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTk9ERUpTXzE0X1ggPSBuZXcgTGFtYmRhUnVudGltZShcbiAgICBcIm5vZGVqczE0LnhcIixcbiAgICBcIm5vZGUxNFwiLFxuICAgIHsgZGVmYXVsdEV4dGVybmFsczogW1wiYXdzLXNka1wiXSB9XG4gICk7XG5cbiAgLyoqXG4gICAqIE5vZGUuanMgMTYueFxuICAgKiBAZGVwcmVjYXRlZCBOb2RlLmpzIDE2IHJ1bnRpbWUgaGFzIGJlZW4gZGVwcmVjYXRlZCBvbiBKdW4gMTIsIDIwMjRcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTk9ERUpTXzE2X1ggPSBuZXcgTGFtYmRhUnVudGltZShcbiAgICBcIm5vZGVqczE2LnhcIixcbiAgICBcIm5vZGUxNlwiLFxuICAgIHsgZGVmYXVsdEV4dGVybmFsczogW1wiYXdzLXNka1wiXSB9XG4gICk7XG5cbiAgLyoqXG4gICAqIE5vZGUuanMgMTgueFxuICAgKlxuICAgKiBAZGVwcmVjYXRlZDogTm9kZS5qcyAxOCBydW50aW1lIGhhcyBiZWVuIGRlcHJlY2F0ZWQgb24gU2VwIDEsIDIwMjVcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTk9ERUpTXzE4X1ggPSBuZXcgTGFtYmRhUnVudGltZShcbiAgICBcIm5vZGVqczE4LnhcIixcbiAgICBcIm5vZGUxOFwiXG4gICk7XG5cbiAgLyoqXG4gICAqIE5vZGUuanMgMjAueFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBOT0RFSlNfMjBfWCA9IG5ldyBMYW1iZGFSdW50aW1lKFxuICAgIFwibm9kZWpzMjAueFwiLFxuICAgIFwibm9kZTIwXCJcbiAgKTtcblxuICAvKipcbiAgICogTm9kZS5qcyAyMi54XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IE5PREVKU18yMl9YID0gbmV3IExhbWJkYVJ1bnRpbWUoXG4gICAgXCJub2RlanMyMi54XCIsXG4gICAgXCJub2RlMjJcIlxuICApO1xuXG4gIC8qKlxuICAgKiBOb2RlLmpzIDI0LnhcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTk9ERUpTXzI0X1ggPSBuZXcgTGFtYmRhUnVudGltZShcbiAgICBcIm5vZGVqczI0LnhcIixcbiAgICBcIm5vZGUyNFwiXG4gICk7XG5cbiAgLyoqXG4gICAqIFVzZSB0aGUgbGF0ZXN0IE5vZGUuanMgcnVudGltZSBhdmFpbGFibGUgaW4gdGhlIGRlcGxveW1lbnQgcmVnaW9uLlxuICAgKlxuICAgKiBUaGlzIGdlbmVyYXRlcyBjb2RlIHRoYXQgdXNlcyBgZGV0ZXJtaW5lTGF0ZXN0Tm9kZVJ1bnRpbWUoKWAgYXQgQ0RLIHN5bnRoZXNpcyB0aW1lLFxuICAgKiB3aGljaCBkeW5hbWljYWxseSBzZWxlY3RzIHRoZSBsYXRlc3QgTm9kZS5qcyBydW50aW1lIGF2YWlsYWJsZSBiYXNlZCBvbiByZWdpb25hbFxuICAgKiBhdmFpbGFiaWxpdHkuIFRoaXMgZWxpbWluYXRlcyB0aGUgbmVlZCB0byBtYW51YWxseSB1cGRhdGUgcnVudGltZSB2ZXJzaW9ucyBhbmRcbiAgICogYXZvaWRzIEVPTCB3YXJuaW5ncy5cbiAgICpcbiAgICogQGRlZmF1bHQgVXNlcyBkZXRlcm1pbmVMYXRlc3ROb2RlUnVudGltZSgpIGZyb20gYXdzLWNkay1saWJcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTk9ERUpTX1JFR0lPTkFMX0xBVEVTVCA9IG5ldyBMYW1iZGFSdW50aW1lKFxuICAgIFwiTk9ERUpTX1JFR0lPTkFMX0xBVEVTVFwiLCAvLyBNYXJrZXIgdmFsdWVcbiAgICBcIm5vZGUyMlwiIC8vIGVzYnVpbGQgdGFyZ2V0IChjdXJyZW50IExUUylcbiAgKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZXNidWlsZFBsYXRmb3JtID0gXCJub2RlXCI7XG5cbiAgcHVibGljIHJlYWRvbmx5IGRlZmF1bHRFeHRlcm5hbHM6IHN0cmluZ1tdO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAvKipcbiAgICAgKiBUaGUgTm9kZS5qcyBydW50aW1lIHRvIHVzZVxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBmdW5jdGlvblJ1bnRpbWU6IHN0cmluZyxcblxuICAgIC8qKlxuICAgICAqIFRoZSBlc2J1aWxkIHNldHRpbmcgdG8gdXNlLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBlc2J1aWxkVGFyZ2V0OiBzdHJpbmcsXG5cbiAgICAvKipcbiAgICAgKiBPcHRpb25zIGZvciB0aGlzIHJ1bnRpbWUuXG4gICAgICovXG4gICAgb3B0aW9ucz86IExhbWJkYVJ1bnRpbWVPcHRpb25zXG4gICkge1xuICAgIHRoaXMuZGVmYXVsdEV4dGVybmFscyA9IG9wdGlvbnM/LmRlZmF1bHRFeHRlcm5hbHMgPz8gW1wiQGF3cy1zZGsvKlwiXTtcbiAgfVxufVxuIl19
253
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFtYmRhLWZ1bmN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2F3c2Nkay9sYW1iZGEtZnVuY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2QkFBNkI7QUFDN0IsK0JBQThCO0FBRTlCLHlDQUlvQjtBQUNwQiw0Q0FBeUM7QUFDekMsOENBQWlFO0FBRWpFLGdEQUE0QztBQUU1QyxrQ0FBaUQ7QUF1RmpEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUJHO0FBQ0gsTUFBYSxjQUFlLFNBQVEscUJBQVM7SUFDM0M7Ozs7O09BS0c7SUFDSCxZQUFZLE9BQWdCLEVBQUUsT0FBOEI7UUFDMUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWYsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQztRQUNoQyxNQUFNLE9BQU8sR0FBRyxvQkFBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDYixNQUFNLElBQUksS0FBSyxDQUNiLG1FQUFtRSxDQUNwRSxDQUFDO1FBQ0osQ0FBQztRQUVELHNGQUFzRjtRQUN0RixNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxJQUFJLGFBQWEsQ0FBQyxzQkFBc0IsQ0FBQztRQUV4RSxNQUFNLFVBQVUsR0FBRyxJQUFBLDZCQUFzQixFQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUU5RCwwRUFBMEU7UUFDMUUsa0JBQWtCO1FBQ2xCLE1BQU0sTUFBTSxHQUFHLG1CQUFNLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2xDLE1BQU0sRUFBRSxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFakMsSUFDRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsZ0NBQXFCLENBQUM7WUFDM0MsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLHFDQUEwQixDQUFDLEVBQ2hELENBQUM7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QUFHLElBQUksYUFBYSxDQUNwRCxZQUFZLEVBQ1osUUFBUSxDQUNULEFBSGlDLENBR2hDO0FBRUY7O0dBRUc7QUFDb0IseUJBQVcsR0FBRyxJQUFJLGFBQWEsQ0FDcEQsWUFBWSxFQUNaLFFBQVEsQ0FDVCxBQUhpQyxDQUdoQztBQUVGOzs7Ozs7Ozs7R0FTRztBQUNvQixvQ0FBc0IsR0FBRyxJQUFJLGFBQWEsQ0FDL0Qsd0JBQXdCLEVBQUUsZUFBZTtBQUN6QyxRQUFRLENBQUMsK0JBQStCO0NBQ3pDLEFBSDRDLENBRzNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHsgcGFzY2FsIH0gZnJvbSBcImNhc2VcIjtcbmltcG9ydCB7IEF3c0Nka0RlcHMgfSBmcm9tIFwiLi9hd3NjZGstZGVwc1wiO1xuaW1wb3J0IHtcbiAgY29udmVydFRvUG9zaXhQYXRoLFxuICBUWVBFU0NSSVBUX0VER0VfTEFNQkRBX0VYVCxcbiAgVFlQRVNDUklQVF9MQU1CREFfRVhULFxufSBmcm9tIFwiLi9pbnRlcm5hbFwiO1xuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcIi4uL2NvbXBvbmVudFwiO1xuaW1wb3J0IHsgQnVuZGxlciwgQnVuZGxpbmdPcHRpb25zLCBFc2xpbnQgfSBmcm9tIFwiLi4vamF2YXNjcmlwdFwiO1xuaW1wb3J0IHsgUHJvamVjdCB9IGZyb20gXCIuLi9wcm9qZWN0XCI7XG5pbXBvcnQgeyBTb3VyY2VDb2RlIH0gZnJvbSBcIi4uL3NvdXJjZS1jb2RlXCI7XG5pbXBvcnQgeyBUeXBlU2NyaXB0UHJvamVjdCB9IGZyb20gXCIuLi90eXBlc2NyaXB0XCI7XG5pbXBvcnQgeyBub3JtYWxpemVQZXJzaXN0ZWRQYXRoIH0gZnJvbSBcIi4uL3V0aWxcIjtcblxuLyoqXG4gKiBDb21tb24gb3B0aW9ucyBmb3IgYExhbWJkYUZ1bmN0aW9uYC4gQXBwbGllcyB0byBhbGwgZnVuY3Rpb25zIGluXG4gKiBhdXRvLWRpc2NvdmVyeS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMYW1iZGFGdW5jdGlvbkNvbW1vbk9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIG5vZGUuanMgdmVyc2lvbiB0byB0YXJnZXQuXG4gICAqXG4gICAqIEBkZWZhdWx0IExhbWJkYVJ1bnRpbWUuTk9ERUpTX1JFR0lPTkFMX0xBVEVTVCAtIFVzZXMgdGhlIGxhdGVzdCBOb2RlLmpzIHJ1bnRpbWVcbiAgICogYXZhaWxhYmxlIGluIHRoZSBkZXBsb3ltZW50IHJlZ2lvbiwgZGV0ZXJtaW5lZCBhdCBDREsgc3ludGhlc2lzIHRpbWUuXG4gICAqL1xuICByZWFkb25seSBydW50aW1lPzogTGFtYmRhUnVudGltZTtcblxuICAvKipcbiAgICogQnVuZGxpbmcgb3B0aW9ucyBmb3IgdGhpcyBBV1MgTGFtYmRhIGZ1bmN0aW9uLlxuICAgKlxuICAgKiBJZiBub3Qgc3BlY2lmaWVkIHRoZSBkZWZhdWx0IGJ1bmRsaW5nIG9wdGlvbnMgc3BlY2lmaWVkIGZvciB0aGUgcHJvamVjdFxuICAgKiBgQnVuZGxlcmAgaW5zdGFuY2Ugd2lsbCBiZSB1c2VkLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGRlZmF1bHRzXG4gICAqL1xuICByZWFkb25seSBidW5kbGluZ09wdGlvbnM/OiBCdW5kbGluZ09wdGlvbnM7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gYXV0b21hdGljYWxseSByZXVzZSBUQ1AgY29ubmVjdGlvbnMgd2hlbiB3b3JraW5nIHdpdGggdGhlIEFXU1xuICAgKiBTREsgZm9yIEphdmFTY3JpcHQuXG4gICAqXG4gICAqIFRoaXMgc2V0cyB0aGUgYEFXU19OT0RFSlNfQ09OTkVDVElPTl9SRVVTRV9FTkFCTEVEYCBlbnZpcm9ubWVudCB2YXJpYWJsZVxuICAgKiB0byBgMWAuXG4gICAqXG4gICAqIE5vdCBhcHBsaWNhYmxlIHdoZW4gYGVkZ2VMYW1iZGFgIGlzIHNldCB0byBgdHJ1ZWAgYmVjYXVzZSBlbnZpcm9ubWVudFxuICAgKiB2YXJpYWJsZXMgYXJlIG5vdCBzdXBwb3J0ZWQgaW4gTGFtYmRhQEVkZ2UuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3Nkay1mb3ItamF2YXNjcmlwdC92Mi9kZXZlbG9wZXItZ3VpZGUvbm9kZS1yZXVzaW5nLWNvbm5lY3Rpb25zLmh0bWxcbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgYXdzU2RrQ29ubmVjdGlvblJldXNlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciB0byBjcmVhdGUgYSBgY2xvdWRmcm9udC5leHBlcmltZW50YWwuRWRnZUZ1bmN0aW9uYCBpbnN0ZWFkXG4gICAqIG9mIGEgYGxhbWJkYS5GdW5jdGlvbmAuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBlZGdlTGFtYmRhPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBgRnVuY3Rpb25gLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExhbWJkYUZ1bmN0aW9uT3B0aW9ucyBleHRlbmRzIExhbWJkYUZ1bmN0aW9uQ29tbW9uT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBBIHBhdGggZnJvbSB0aGUgcHJvamVjdCByb290IGRpcmVjdG9yeSB0byBhIFR5cGVTY3JpcHQgZmlsZSB3aGljaCBjb250YWluc1xuICAgKiB0aGUgQVdTIExhbWJkYSBoYW5kbGVyIGVudHJ5cG9pbnQgKGV4cG9ydHMgYSBgaGFuZGxlcmAgZnVuY3Rpb24pLlxuICAgKlxuICAgKiBUaGlzIGlzIHJlbGF0aXZlIHRvIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGUgcHJvamVjdC5cbiAgICpcbiAgICogQGV4YW1wbGUgXCJzcmMvc3ViZGlyL2Zvby5sYW1iZGEudHNcIlxuICAgKi9cbiAgcmVhZG9ubHkgZW50cnlwb2ludDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgZ2VuZXJhdGVkIFR5cGVTY3JpcHQgc291cmNlIGZpbGUuIFRoaXMgZmlsZSBzaG91bGQgYWxzbyBiZVxuICAgKiB1bmRlciB0aGUgc291cmNlIHRyZWUuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gVGhlIG5hbWUgb2YgdGhlIGVudHJ5cG9pbnQgZmlsZSwgd2l0aCB0aGUgYC1mdW5jdGlvbi50c2Agc3VmZml4XG4gICAqIGluc3RlYWQgb2YgYC5sYW1iZGEudHNgLlxuICAgKi9cbiAgcmVhZG9ubHkgY29uc3RydWN0RmlsZT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGdlbmVyYXRlZCBgbGFtYmRhLkZ1bmN0aW9uYCBzdWJjbGFzcy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBBIHBhc2NhbCBjYXNlZCB2ZXJzaW9uIG9mIHRoZSBuYW1lIG9mIHRoZSBlbnRyeXBvaW50IGZpbGUsIHdpdGhcbiAgICogdGhlIGV4dGVuc2lvbiBgRnVuY3Rpb25gIChlLmcuIGBSZXNpemVJbWFnZUZ1bmN0aW9uYCkuXG4gICAqL1xuICByZWFkb25seSBjb25zdHJ1Y3ROYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBV1MgQ0RLIGRlcGVuZGVuY3kgbWFuYWdlci5cbiAgICovXG4gIHJlYWRvbmx5IGNka0RlcHM6IEF3c0Nka0RlcHM7XG59XG5cbi8qKlxuICogR2VuZXJhdGVzIGEgcHJlLWJ1bmRsZWQgQVdTIExhbWJkYSBmdW5jdGlvbiBjb25zdHJ1Y3QgZnJvbSBoYW5kbGVyIGNvZGUuXG4gKlxuICogVG8gdXNlIHRoaXMsIGNyZWF0ZSBhbiBBV1MgTGFtYmRhIGhhbmRsZXIgZmlsZSB1bmRlciB5b3VyIHNvdXJjZSB0cmVlIHdpdGhcbiAqIHRoZSBgLmxhbWJkYS50c2AgZXh0ZW5zaW9uIGFuZCBhZGQgYSBgTGFtYmRhRnVuY3Rpb25gIGNvbXBvbmVudCB0byB5b3VyXG4gKiB0eXBlc2NyaXB0IHByb2plY3QgcG9pbnRpbmcgdG8gdGhpcyBlbnRyeXBvaW50LlxuICpcbiAqIFRoaXMgd2lsbCBhZGQgYSB0YXNrIHRvIHlvdXIgXCJjb21waWxlXCIgc3RlcCB3aGljaCB3aWxsIHVzZSBgZXNidWlsZGAgdG9cbiAqIGJ1bmRsZSB0aGUgaGFuZGxlciBjb2RlIGludG8gdGhlIGJ1aWxkIGRpcmVjdG9yeS4gSXQgd2lsbCBhbHNvIGdlbmVyYXRlIGFcbiAqIGZpbGUgYHNyYy9mb28tZnVuY3Rpb24udHNgIHdpdGggYSBjdXN0b20gQVdTIGNvbnN0cnVjdCBjYWxsZWQgYEZvb0Z1bmN0aW9uYFxuICogd2hpY2ggZXh0ZW5kcyBgQGF3cy1jZGsvYXdzLWxhbWJkYS5GdW5jdGlvbmAgd2hpY2ggaXMgYm91bmQgdG8gdGhlIGJ1bmRsZWRcbiAqIGhhbmRsZSB0aHJvdWdoIGFuIGFzc2V0LlxuICpcbiAqIEBleGFtcGxlXG4gKlxuICogbmV3IExhbWJkYUZ1bmN0aW9uKG15UHJvamVjdCwge1xuICogICBzcmNkaXI6IG15UHJvamVjdC5zcmNkaXIsXG4gKiAgIGVudHJ5cG9pbnQ6ICdzcmMvZm9vLmxhbWJkYS50cycsXG4gKiB9KTtcbiAqL1xuZXhwb3J0IGNsYXNzIExhbWJkYUZ1bmN0aW9uIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIERlZmluZXMgYSBwcmUtYnVuZGxlZCBBV1MgTGFtYmRhIGZ1bmN0aW9uIGNvbnN0cnVjdCBmcm9tIGhhbmRsZXIgY29kZS5cbiAgICpcbiAgICogQHBhcmFtIHByb2plY3QgVGhlIHByb2plY3QgdG8gdXNlXG4gICAqIEBwYXJhbSBvcHRpb25zIE9wdGlvbnNcbiAgICovXG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IFByb2plY3QsIG9wdGlvbnM6IExhbWJkYUZ1bmN0aW9uT3B0aW9ucykge1xuICAgIHN1cGVyKHByb2plY3QpO1xuXG4gICAgY29uc3QgY2RrRGVwcyA9IG9wdGlvbnMuY2RrRGVwcztcbiAgICBjb25zdCBidW5kbGVyID0gQnVuZGxlci5vZihwcm9qZWN0KTtcbiAgICBpZiAoIWJ1bmRsZXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgXCJObyBidW5kbGVyIGZvdW5kLiBQbGVhc2UgYWRkIGEgQnVuZGxlciBjb21wb25lbnQgdG8geW91ciBwcm9qZWN0LlwiXG4gICAgICApO1xuICAgIH1cblxuICAgIC8vIFVzZSBOT0RFSlNfUkVHSU9OQUxfTEFURVNUIGFzIGRlZmF1bHQsIHdoaWNoIGdlbmVyYXRlcyBkZXRlcm1pbmVMYXRlc3ROb2RlUnVudGltZSgpXG4gICAgY29uc3QgcnVudGltZSA9IG9wdGlvbnMucnVudGltZSA/PyBMYW1iZGFSdW50aW1lLk5PREVKU19SRUdJT05BTF9MQVRFU1Q7XG5cbiAgICBjb25zdCBlbnRyeXBvaW50ID0gbm9ybWFsaXplUGVyc2lzdGVkUGF0aChvcHRpb25zLmVudHJ5cG9pbnQpO1xuXG4gICAgLy8gYWxsb3cgTGFtYmRhIGhhbmRsZXIgY29kZSB0byBpbXBvcnQgZGV2LWRlcHMgc2luY2UgdGhleSBhcmUgb25seSBuZWVkZWRcbiAgICAvLyBkdXJpbmcgYnVuZGxpbmdcbiAgICBjb25zdCBlc2xpbnQgPSBFc2xpbnQub2YocHJvamVjdCk7XG4gICAgZXNsaW50Py5hbGxvd0RldkRlcHMoZW50cnlwb2ludCk7XG5cbiAgICBpZiAoXG4gICAgICAhZW50cnlwb2ludC5lbmRzV2l0aChUWVBFU0NSSVBUX0xBTUJEQV9FWFQpICYmXG4gICAgICAhZW50cnlwb2ludC5lbmRzV2l0aChUWVBFU0NSSVBUX0VER0VfTEFNQkRBX0VYVClcbiAgICApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYCR7ZW50cnlwb2ludH0gbXVzdCBoYXZlIGEgJHtUWVBFU0NSSVBUX0xBTUJEQV9FWFR9IG9yICR7VFlQRVNDUklQVF9FREdFX0xBTUJEQV9FWFR9IGV4dGVuc2lvbmBcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgYmFzZVBhdGggPSBwYXRoLnBvc2l4LmpvaW4oXG4gICAgICBwYXRoLmRpcm5hbWUoZW50cnlwb2ludCksXG4gICAgICBwYXRoLmJhc2VuYW1lKFxuICAgICAgICBlbnRyeXBvaW50LFxuICAgICAgICBvcHRpb25zLmVkZ2VMYW1iZGEgPyBUWVBFU0NSSVBUX0VER0VfTEFNQkRBX0VYVCA6IFRZUEVTQ1JJUFRfTEFNQkRBX0VYVFxuICAgICAgKVxuICAgICk7XG4gICAgY29uc3QgY29uc3RydWN0RmlsZSA9IG9wdGlvbnMuY29uc3RydWN0RmlsZSA/PyBgJHtiYXNlUGF0aH0tZnVuY3Rpb24udHNgO1xuXG4gICAgaWYgKHBhdGguZXh0bmFtZShjb25zdHJ1Y3RGaWxlKSAhPT0gXCIudHNcIikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgQ29uc3RydWN0IGZpbGUgbmFtZSBcIiR7Y29uc3RydWN0RmlsZX1cIiBtdXN0IGhhdmUgYSAudHMgZXh0ZW5zaW9uYFxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyB0eXBlIG5hbWVzXG4gICAgY29uc3QgY29uc3RydWN0TmFtZSA9XG4gICAgICBvcHRpb25zLmNvbnN0cnVjdE5hbWUgPz8gcGFzY2FsKHBhdGguYmFzZW5hbWUoYmFzZVBhdGgpKSArIFwiRnVuY3Rpb25cIjtcbiAgICBjb25zdCBwcm9wc1R5cGUgPSBgJHtjb25zdHJ1Y3ROYW1lfVByb3BzYDtcblxuICAgIGNvbnN0IGJ1bmRsZSA9IGJ1bmRsZXIuYWRkQnVuZGxlKGVudHJ5cG9pbnQsIHtcbiAgICAgIHRhcmdldDogcnVudGltZS5lc2J1aWxkVGFyZ2V0LFxuICAgICAgcGxhdGZvcm06IHJ1bnRpbWUuZXNidWlsZFBsYXRmb3JtLFxuICAgICAgZXh0ZXJuYWxzOiBydW50aW1lLmRlZmF1bHRFeHRlcm5hbHMsXG4gICAgICAuLi5vcHRpb25zLmJ1bmRsaW5nT3B0aW9ucyxcbiAgICAgIHRzY29uZmlnUGF0aDogKHByb2plY3QgYXMgVHlwZVNjcmlwdFByb2plY3QpPy50c2NvbmZpZ0Rldj8uZmlsZU5hbWUsXG4gICAgfSk7XG5cbiAgICAvLyBjYWxjdWxhdGUgdGhlIHJlbGF0aXZlIHBhdGggYmV0d2VlbiB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgdGhlXG4gICAgLy8gZ2VuZXJhdGVkIGNvbnN0cnVjdCBzb3VyY2UgZmlsZSB0byB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgdGhlIGJ1bmRsZVxuICAgIC8vIGluZGV4LmpzIGJ5IHJlc29sdmluZyB0aGVtIGFzIGFic29sdXRlIHBhdGhzIGZpcnN0LlxuICAgIC8vIGUuZzpcbiAgICAvLyAgLSBvdXRmaWxlQWJzID0+IGAvcHJvamVjdC1vdXRkaXIvYXNzZXRzL2Zvby9iYXIvYmF6L2Zvby1mdW5jdGlvbi9pbmRleC5qc2BcbiAgICAvLyAgLSBjb25zdHJ1Y3RBYnMgPT4gYC9wcm9qZWN0LW91dGRpci9zcmMvZm9vL2Jhci9iYXovZm9vLWZ1bmN0aW9uLnRzYFxuICAgIGNvbnN0IG91dGZpbGVBYnMgPSBwYXRoLmpvaW4ocHJvamVjdC5vdXRkaXIsIGJ1bmRsZS5vdXRmaWxlKTtcbiAgICBjb25zdCBjb25zdHJ1Y3RBYnMgPSBwYXRoLmpvaW4ocHJvamVjdC5vdXRkaXIsIGNvbnN0cnVjdEZpbGUpO1xuICAgIGNvbnN0IHJlbGF0aXZlT3V0ZmlsZSA9IHBhdGgucmVsYXRpdmUoXG4gICAgICBwYXRoLmRpcm5hbWUoY29uc3RydWN0QWJzKSxcbiAgICAgIHBhdGguZGlybmFtZShvdXRmaWxlQWJzKVxuICAgICk7XG5cbiAgICBjb25zdCBzcmMgPSBuZXcgU291cmNlQ29kZShwcm9qZWN0LCBjb25zdHJ1Y3RGaWxlKTtcbiAgICBpZiAoc3JjLm1hcmtlcikge1xuICAgICAgc3JjLmxpbmUoYC8vICR7c3JjLm1hcmtlcn1gKTtcbiAgICB9XG4gICAgc3JjLmxpbmUoXCJpbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1wiKTtcblxuICAgIGlmIChjZGtEZXBzLmNka01ham9yVmVyc2lvbiA9PT0gMSkge1xuICAgICAgaWYgKG9wdGlvbnMuZWRnZUxhbWJkYSkge1xuICAgICAgICBzcmMubGluZShcImltcG9ydCAqIGFzIGNsb3VkZnJvbnQgZnJvbSAnQGF3cy1jZGsvYXdzLWNsb3VkZnJvbnQnO1wiKTtcbiAgICAgICAgY2RrRGVwcy5hZGRWMURlcGVuZGVuY2llcyhcIkBhd3MtY2RrL2F3cy1jbG91ZGZyb250XCIpO1xuICAgICAgfVxuICAgICAgc3JjLmxpbmUoXCJpbXBvcnQgKiBhcyBsYW1iZGEgZnJvbSAnQGF3cy1jZGsvYXdzLWxhbWJkYSc7XCIpO1xuICAgICAgc3JjLmxpbmUoXCJpbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdAYXdzLWNkay9jb3JlJztcIik7XG4gICAgICBjZGtEZXBzLmFkZFYxRGVwZW5kZW5jaWVzKFwiQGF3cy1jZGsvYXdzLWxhbWJkYVwiKTtcbiAgICAgIGNka0RlcHMuYWRkVjFEZXBlbmRlbmNpZXMoXCJAYXdzLWNkay9jb3JlXCIpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAob3B0aW9ucy5lZGdlTGFtYmRhKSB7XG4gICAgICAgIHNyYy5saW5lKFwiaW1wb3J0ICogYXMgY2xvdWRmcm9udCBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY2xvdWRmcm9udCc7XCIpO1xuICAgICAgfVxuICAgICAgc3JjLmxpbmUoXCJpbXBvcnQgKiBhcyBsYW1iZGEgZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYSc7XCIpO1xuICAgICAgLy8gSW1wb3J0IGRldGVybWluZUxhdGVzdE5vZGVSdW50aW1lIGlmIHVzaW5nIE5PREVKU19SRUdJT05BTF9MQVRFU1RcbiAgICAgIGlmIChydW50aW1lID09PSBMYW1iZGFSdW50aW1lLk5PREVKU19SRUdJT05BTF9MQVRFU1QpIHtcbiAgICAgICAgc3JjLmxpbmUoXG4gICAgICAgICAgXCJpbXBvcnQgeyBkZXRlcm1pbmVMYXRlc3ROb2RlUnVudGltZSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1wiXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBzcmMubGluZShcImltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1wiKTtcbiAgICB9XG5cbiAgICBzcmMubGluZSgpO1xuICAgIHNyYy5saW5lKFwiLyoqXCIpO1xuICAgIHNyYy5saW5lKGAgKiBQcm9wcyBmb3IgJHtjb25zdHJ1Y3ROYW1lfWApO1xuICAgIHNyYy5saW5lKFwiICovXCIpO1xuICAgIGlmIChvcHRpb25zLmVkZ2VMYW1iZGEpIHtcbiAgICAgIHNyYy5vcGVuKFxuICAgICAgICBgZXhwb3J0IGludGVyZmFjZSAke3Byb3BzVHlwZX0gZXh0ZW5kcyBjbG91ZGZyb250LmV4cGVyaW1lbnRhbC5FZGdlRnVuY3Rpb25Qcm9wcyB7YFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3JjLm9wZW4oXG4gICAgICAgIGBleHBvcnQgaW50ZXJmYWNlICR7cHJvcHNUeXBlfSBleHRlbmRzIGxhbWJkYS5GdW5jdGlvbk9wdGlvbnMge2BcbiAgICAgICk7XG4gICAgfVxuICAgIC8vIEFkZCBydW50aW1lIHByb3AgdG8gaW50ZXJmYWNlIG9ubHkgd2hlbiBydW50aW1lIGlzIG5vdCBleHBsaWNpdGx5IHNldFxuICAgIC8vIFRoaXMgYWxsb3dzIGNvbnN1bWVycyB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBOT0RFSlNfUkVHSU9OQUxfTEFURVNUXG4gICAgaWYgKCFvcHRpb25zLnJ1bnRpbWUpIHtcbiAgICAgIHNyYy5saW5lKFwiLyoqXCIpO1xuICAgICAgc3JjLmxpbmUoXCIgKiBUaGUgTGFtYmRhIHJ1bnRpbWUgdG8gdXNlLlwiKTtcbiAgICAgIHNyYy5saW5lKFxuICAgICAgICBcIiAqIEBkZWZhdWx0IC0gTGF0ZXN0IE5vZGUuanMgcnVudGltZSBhdmFpbGFibGUgaW4gdGhlIGRlcGxveW1lbnQgcmVnaW9uXCJcbiAgICAgICk7XG4gICAgICBzcmMubGluZShcIiAqL1wiKTtcbiAgICAgIHNyYy5saW5lKFwicmVhZG9ubHkgcnVudGltZT86IGxhbWJkYS5SdW50aW1lO1wiKTtcbiAgICB9XG4gICAgc3JjLmNsb3NlKFwifVwiKTtcbiAgICBzcmMubGluZSgpO1xuICAgIHNyYy5saW5lKFwiLyoqXCIpO1xuICAgIHNyYy5saW5lKFxuICAgICAgYCAqIEFuIEFXUyBMYW1iZGEgZnVuY3Rpb24gd2hpY2ggZXhlY3V0ZXMgJHtjb252ZXJ0VG9Qb3NpeFBhdGgoXG4gICAgICAgIGJhc2VQYXRoXG4gICAgICApfS5gXG4gICAgKTtcbiAgICBzcmMubGluZShcIiAqL1wiKTtcbiAgICBpZiAob3B0aW9ucy5lZGdlTGFtYmRhKSB7XG4gICAgICBzcmMub3BlbihcbiAgICAgICAgYGV4cG9ydCBjbGFzcyAke2NvbnN0cnVjdE5hbWV9IGV4dGVuZHMgY2xvdWRmcm9udC5leHBlcmltZW50YWwuRWRnZUZ1bmN0aW9uIHtgXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICBzcmMub3BlbihgZXhwb3J0IGNsYXNzICR7Y29uc3RydWN0TmFtZX0gZXh0ZW5kcyBsYW1iZGEuRnVuY3Rpb24ge2ApO1xuICAgIH1cbiAgICBzcmMub3BlbihcbiAgICAgIGBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wcz86ICR7cHJvcHNUeXBlfSkge2BcbiAgICApO1xuICAgIHNyYy5vcGVuKFwic3VwZXIoc2NvcGUsIGlkLCB7XCIpO1xuICAgIHNyYy5saW5lKGBkZXNjcmlwdGlvbjogJyR7Y29udmVydFRvUG9zaXhQYXRoKGVudHJ5cG9pbnQpfScsYCk7XG4gICAgc3JjLmxpbmUoXCIuLi5wcm9wcyxcIik7XG5cbiAgICAvLyBHZW5lcmF0ZSBydW50aW1lIGNvZGVcbiAgICBpZiAocnVudGltZSA9PT0gTGFtYmRhUnVudGltZS5OT0RFSlNfUkVHSU9OQUxfTEFURVNUKSB7XG4gICAgICAvLyBSZWdpb25hbCBsYXRlc3QgcnVudGltZVxuICAgICAgaWYgKCFvcHRpb25zLnJ1bnRpbWUpIHtcbiAgICAgICAgLy8gRGVmYXVsdCAobm90IGV4cGxpY2l0bHkgc2V0KSAtIGFsbG93IGNvbnN1bWVyIG92ZXJyaWRlXG4gICAgICAgIHNyYy5saW5lKFxuICAgICAgICAgIFwicnVudGltZTogcHJvcHM/LnJ1bnRpbWUgPz8gZGV0ZXJtaW5lTGF0ZXN0Tm9kZVJ1bnRpbWUoc2NvcGUpLFwiXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBFeHBsaWNpdGx5IHNldCAtIG5vIG92ZXJyaWRlXG4gICAgICAgIHNyYy5saW5lKFwicnVudGltZTogZGV0ZXJtaW5lTGF0ZXN0Tm9kZVJ1bnRpbWUoc2NvcGUpLFwiKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gRXhwbGljaXQgcnVudGltZSAtIGhhcmRjb2RlZCwgbm8gb3ZlcnJpZGVcbiAgICAgIHNyYy5saW5lKFxuICAgICAgICBgcnVudGltZTogbmV3IGxhbWJkYS5SdW50aW1lKCcke3J1bnRpbWUuZnVuY3Rpb25SdW50aW1lfScsIGxhbWJkYS5SdW50aW1lRmFtaWx5Lk5PREVKUyksYFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBzcmMubGluZShcImhhbmRsZXI6ICdpbmRleC5oYW5kbGVyJyxcIik7XG4gICAgc3JjLmxpbmUoXG4gICAgICBgY29kZTogbGFtYmRhLkNvZGUuZnJvbUFzc2V0KHBhdGguam9pbihfX2Rpcm5hbWUsICcke2NvbnZlcnRUb1Bvc2l4UGF0aChcbiAgICAgICAgcmVsYXRpdmVPdXRmaWxlXG4gICAgICApfScpKSxgXG4gICAgKTtcbiAgICBzcmMuY2xvc2UoXCJ9KTtcIik7XG4gICAgaWYgKChvcHRpb25zLmF3c1Nka0Nvbm5lY3Rpb25SZXVzZSA/PyB0cnVlKSAmJiAhb3B0aW9ucy5lZGdlTGFtYmRhKSB7XG4gICAgICBzcmMubGluZShcbiAgICAgICAgXCJ0aGlzLmFkZEVudmlyb25tZW50KCdBV1NfTk9ERUpTX0NPTk5FQ1RJT05fUkVVU0VfRU5BQkxFRCcsICcxJywgeyByZW1vdmVJbkVkZ2U6IHRydWUgfSk7XCJcbiAgICAgICk7XG4gICAgfVxuICAgIHNyYy5jbG9zZShcIn1cIik7XG4gICAgc3JjLmNsb3NlKFwifVwiKTtcblxuICAgIHRoaXMucHJvamVjdC5sb2dnZXIudmVyYm9zZShcbiAgICAgIGAke2Jhc2VQYXRofTogY29uc3RydWN0IFwiJHtjb25zdHJ1Y3ROYW1lfVwiIGdlbmVyYXRlZCB1bmRlciBcIiR7Y29uc3RydWN0RmlsZX1cImBcbiAgICApO1xuICAgIHRoaXMucHJvamVjdC5sb2dnZXIudmVyYm9zZShcbiAgICAgIGAke2Jhc2VQYXRofTogYnVuZGxlIHRhc2sgXCIke2J1bmRsZS5idW5kbGVUYXNrLm5hbWV9XCJgXG4gICAgKTtcbiAgICBpZiAoYnVuZGxlLndhdGNoVGFzaykge1xuICAgICAgdGhpcy5wcm9qZWN0LmxvZ2dlci52ZXJib3NlKFxuICAgICAgICBgJHtiYXNlUGF0aH06IGJ1bmRsZSB3YXRjaCB0YXNrIFwiJHtidW5kbGUud2F0Y2hUYXNrLm5hbWV9XCJgXG4gICAgICApO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHRoZSBBV1MgTGFtYmRhIGZ1bmN0aW9uIHJ1bnRpbWVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMYW1iZGFSdW50aW1lT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBQYWNrYWdlcyB0aGF0IGFyZSBjb25zaWRlcmVkIGV4dGVybmFscyBieSBkZWZhdWx0IHdoZW4gYnVuZGxpbmdcbiAgICpcbiAgICogQGRlZmF1bHQgWydAYXdzLXNkay8qJ11cbiAgICovXG4gIHJlYWRvbmx5IGRlZmF1bHRFeHRlcm5hbHM/OiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBUaGUgcnVudGltZSBmb3IgdGhlIEFXUyBMYW1iZGEgZnVuY3Rpb24uXG4gKi9cbmV4cG9ydCBjbGFzcyBMYW1iZGFSdW50aW1lIHtcbiAgLyoqXG4gICAqIE5vZGUuanMgMTAueFxuICAgKiBAZGVwcmVjYXRlZCBOb2RlLmpzIDEwIHJ1bnRpbWUgaGFzIGJlZW4gZGVwcmVjYXRlZCBvbiBKdWwgMzAsIDIwMjFcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTk9ERUpTXzEwX1ggPSBuZXcgTGFtYmRhUnVudGltZShcbiAgICBcIm5vZGVqczEwLnhcIixcbiAgICBcIm5vZGUxMFwiLFxuICAgIHsgZGVmYXVsdEV4dGVybmFsczogW1wiYXdzLXNka1wiXSB9XG4gICk7XG5cbiAgLyoqXG4gICAqIE5vZGUuanMgMTIueFxuICAgKiBAZGVwcmVjYXRlZCBOb2RlLmpzIDEyIHJ1bnRpbWUgaGFzIGJlZW4gZGVwcmVjYXRlZCBvbiBNYXIgMzEsIDIwMjNcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTk9ERUpTXzEyX1ggPSBuZXcgTGFtYmRhUnVudGltZShcbiAgICBcIm5vZGVqczEyLnhcIixcbiAgICBcIm5vZGUxMlwiLFxuICAgIHsgZGVmYXVsdEV4dGVybmFsczogW1wiYXdzLXNka1wiXSB9XG4gICk7XG5cbiAgLyoqXG4gICAqIE5vZGUuanMgMTQueFxuICAgKiBAZGVwcmVjYXRlZCBOb2RlLmpzIDE0IHJ1bnRpbWUgaGFzIGJlZW4gZGVwcmVjYXRlZCBvbiBEZWMgNCwgMjAyM1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBOT0RFSlNfMTRfWCA9IG5ldyBMYW1iZGFSdW50aW1lKFxuICAgIFwibm9kZWpzMTQueFwiLFxuICAgIFwibm9kZTE0XCIsXG4gICAgeyBkZWZhdWx0RXh0ZXJuYWxzOiBbXCJhd3Mtc2RrXCJdIH1cbiAgKTtcblxuICAvKipcbiAgICogTm9kZS5qcyAxNi54XG4gICAqIEBkZXByZWNhdGVkIE5vZGUuanMgMTYgcnVudGltZSBoYXMgYmVlbiBkZXByZWNhdGVkIG9uIEp1biAxMiwgMjAyNFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBOT0RFSlNfMTZfWCA9IG5ldyBMYW1iZGFSdW50aW1lKFxuICAgIFwibm9kZWpzMTYueFwiLFxuICAgIFwibm9kZTE2XCIsXG4gICAgeyBkZWZhdWx0RXh0ZXJuYWxzOiBbXCJhd3Mtc2RrXCJdIH1cbiAgKTtcblxuICAvKipcbiAgICogTm9kZS5qcyAxOC54XG4gICAqXG4gICAqIEBkZXByZWNhdGVkOiBOb2RlLmpzIDE4IHJ1bnRpbWUgaGFzIGJlZW4gZGVwcmVjYXRlZCBvbiBTZXAgMSwgMjAyNVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBOT0RFSlNfMThfWCA9IG5ldyBMYW1iZGFSdW50aW1lKFxuICAgIFwibm9kZWpzMTgueFwiLFxuICAgIFwibm9kZTE4XCJcbiAgKTtcblxuICAvKipcbiAgICogTm9kZS5qcyAyMC54XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IE5PREVKU18yMF9YID0gbmV3IExhbWJkYVJ1bnRpbWUoXG4gICAgXCJub2RlanMyMC54XCIsXG4gICAgXCJub2RlMjBcIlxuICApO1xuXG4gIC8qKlxuICAgKiBOb2RlLmpzIDIyLnhcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTk9ERUpTXzIyX1ggPSBuZXcgTGFtYmRhUnVudGltZShcbiAgICBcIm5vZGVqczIyLnhcIixcbiAgICBcIm5vZGUyMlwiXG4gICk7XG5cbiAgLyoqXG4gICAqIE5vZGUuanMgMjQueFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBOT0RFSlNfMjRfWCA9IG5ldyBMYW1iZGFSdW50aW1lKFxuICAgIFwibm9kZWpzMjQueFwiLFxuICAgIFwibm9kZTI0XCJcbiAgKTtcblxuICAvKipcbiAgICogVXNlIHRoZSBsYXRlc3QgTm9kZS5qcyBydW50aW1lIGF2YWlsYWJsZSBpbiB0aGUgZGVwbG95bWVudCByZWdpb24uXG4gICAqXG4gICAqIFRoaXMgZ2VuZXJhdGVzIGNvZGUgdGhhdCB1c2VzIGBkZXRlcm1pbmVMYXRlc3ROb2RlUnVudGltZSgpYCBhdCBDREsgc3ludGhlc2lzIHRpbWUsXG4gICAqIHdoaWNoIGR5bmFtaWNhbGx5IHNlbGVjdHMgdGhlIGxhdGVzdCBOb2RlLmpzIHJ1bnRpbWUgYXZhaWxhYmxlIGJhc2VkIG9uIHJlZ2lvbmFsXG4gICAqIGF2YWlsYWJpbGl0eS4gVGhpcyBlbGltaW5hdGVzIHRoZSBuZWVkIHRvIG1hbnVhbGx5IHVwZGF0ZSBydW50aW1lIHZlcnNpb25zIGFuZFxuICAgKiBhdm9pZHMgRU9MIHdhcm5pbmdzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBVc2VzIGRldGVybWluZUxhdGVzdE5vZGVSdW50aW1lKCkgZnJvbSBhd3MtY2RrLWxpYlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBOT0RFSlNfUkVHSU9OQUxfTEFURVNUID0gbmV3IExhbWJkYVJ1bnRpbWUoXG4gICAgXCJOT0RFSlNfUkVHSU9OQUxfTEFURVNUXCIsIC8vIE1hcmtlciB2YWx1ZVxuICAgIFwibm9kZTIyXCIgLy8gZXNidWlsZCB0YXJnZXQgKGN1cnJlbnQgTFRTKVxuICApO1xuXG4gIHB1YmxpYyByZWFkb25seSBlc2J1aWxkUGxhdGZvcm0gPSBcIm5vZGVcIjtcblxuICBwdWJsaWMgcmVhZG9ubHkgZGVmYXVsdEV4dGVybmFsczogc3RyaW5nW107XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIC8qKlxuICAgICAqIFRoZSBOb2RlLmpzIHJ1bnRpbWUgdG8gdXNlXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGZ1bmN0aW9uUnVudGltZTogc3RyaW5nLFxuXG4gICAgLyoqXG4gICAgICogVGhlIGVzYnVpbGQgc2V0dGluZyB0byB1c2UuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGVzYnVpbGRUYXJnZXQ6IHN0cmluZyxcblxuICAgIC8qKlxuICAgICAqIE9wdGlvbnMgZm9yIHRoaXMgcnVudGltZS5cbiAgICAgKi9cbiAgICBvcHRpb25zPzogTGFtYmRhUnVudGltZU9wdGlvbnNcbiAgKSB7XG4gICAgdGhpcy5kZWZhdWx0RXh0ZXJuYWxzID0gb3B0aW9ucz8uZGVmYXVsdEV4dGVybmFscyA/PyBbXCJAYXdzLXNkay8qXCJdO1xuICB9XG59XG4iXX0=
@@ -267,5 +267,5 @@ class BuildWorkflow extends component_1.Component {
267
267
  }
268
268
  exports.BuildWorkflow = BuildWorkflow;
269
269
  _a = JSII_RTTI_SYMBOL_1;
270
- BuildWorkflow[_a] = { fqn: "projen.build.BuildWorkflow", version: "0.99.0" };
270
+ BuildWorkflow[_a] = { fqn: "projen.build.BuildWorkflow", version: "0.99.1" };
271
271
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQtd29ya2Zsb3cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYnVpbGQvYnVpbGQtd29ya2Zsb3cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2Q0FBNkM7QUFFN0MsNENBQXlDO0FBQ3pDLHNDQU1tQjtBQUNuQixtREFJNkI7QUFDN0IsaURBR2dDO0FBQ2hDLGlFQUE2RDtBQUM3RCwrREFPbUM7QUFDbkMsOENBQTRDO0FBRTVDLHNEQUE4RTtBQUM5RSw2Q0FTMEI7QUFDMUIsdUNBQXNEO0FBaUd0RCxNQUFhLGFBQWMsU0FBUSxxQkFBUztJQWdCMUMsWUFBWSxPQUFnQixFQUFFLE9BQTZCO1FBQ3pELEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUhBLG1CQUFjLEdBQWEsRUFBRSxDQUFDO1FBSzdDLE1BQU0sTUFBTSxHQUFHLGVBQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDWixNQUFNLElBQUksS0FBSyxDQUNiLCtEQUErRCxDQUNoRSxDQUFDO1FBQ0osQ0FBQztRQUVELElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxhQUFhLEdBQUcsT0FBTyxDQUFDLGFBQWEsSUFBSSxFQUFFLENBQUM7UUFDakQsSUFBSSxDQUFDLGNBQWMsR0FBRyxPQUFPLENBQUMsY0FBYyxJQUFJLEVBQUUsQ0FBQztRQUNuRCxJQUFJLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXLElBQUksdUNBQTJCLENBQUM7UUFDdEUsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDO1FBQ25DLElBQUksQ0FBQyxrQkFBa0I7WUFDckIsT0FBTyxDQUFDLGtCQUFrQixJQUFJLG9DQUEyQixDQUFDO1FBQzVELElBQUEsMEJBQW1CLEVBQUMsSUFBSSxDQUFDLGtCQUFr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QUNILENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCO3lCQUM1QjtxQkFDRixDQUFDO2lCQUNILENBQUM7U0FDUCxDQUFDO0lBQ0osQ0FBQzs7QUEvVEgsc0NBZ1VDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcG9zaXhQYXRoIGZyb20gXCJub2RlOnBhdGgvcG9zaXhcIjtcbmltcG9ydCB7IFRhc2sgfSBmcm9tIFwiLi5cIjtcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gXCIuLi9jb21wb25lbnRcIjtcbmltcG9ydCB7XG4gIEdpdEh1YixcbiAgR2l0aHViV29ya2Zsb3csXG4gIEdpdElkZW50aXR5LFxuICB3b3JrZmxvd3MsXG4gIFdvcmtmbG93U3RlcHMsXG59IGZyb20gXCIuLi9naXRodWJcIjtcbmltcG9ydCB7XG4gIEJVSUxEX0FSVElGQUNUX05BTUUsXG4gIERFRkFVTFRfR0lUSFVCX0FDVElPTlNfVVNFUixcbiAgUEVSTUlTU0lPTl9CQUNLVVBfRklMRSxcbn0gZnJvbSBcIi4uL2dpdGh1Yi9jb25zdGFudHNcIjtcbmltcG9ydCB7XG4gIGVuc3VyZU5vdEhpZGRlblBhdGgsXG4gIHByb2plY3RQYXRoUmVsYXRpdmVUb1JlcG9Sb290LFxufSBmcm9tIFwiLi4vZ2l0aHViL3ByaXZhdGUvdXRpbFwiO1xuaW1wb3J0IHsgV29ya2Zsb3dBY3Rpb25zIH0gZnJvbSBcIi4uL2dpdGh1Yi93b3JrZmxvdy1hY3Rpb25zXCI7XG5pbXBvcnQge1xuICBKb2IsXG4gIEpvYlBlcm1pc3Npb24sXG4gIEpvYlBlcm1pc3Npb25zLFxuICBKb2JTdGVwLFxuICBUb29scyxcbiAgVHJpZ2dlcnMsXG59IGZyb20gXCIuLi9naXRodWIvd29ya2Zsb3dzLW1vZGVsXCI7XG5pbXBvcnQgeyBOb2RlUHJvamVjdCB9IGZyb20gXCIuLi9qYXZhc2NyaXB0XCI7XG5pbXBvcnQgeyBQcm9qZWN0IH0gZnJvbSBcIi4uL3Byb2plY3RcIjtcbmltcG9ydCB7IEdyb3VwUnVubmVyT3B0aW9ucywgZmlsdGVyZWRSdW5zT25PcHRpb25zIH0gZnJvbSBcIi4uL3J1bm5lci1vcHRpb25zXCI7XG5pbXBvcnQge1xuICBCVUlMRF9KT0JJRCxcbiAgREVGQVVMVF9BUlRJRkFDVFNfRElSRUNUT1JZLFxuICBOT1RfRk9SSyxcbiAgUFVMTF9SRVFVRVNUX1JFRixcbiAgUFVMTF9SRVFVRVNUX1JFUE9TSVRPUlksXG4gIFNFTEZfTVVUQVRJT05fQ09ORElUSU9OLFxuICBTRUxGX01VVEFUSU9OX0hBUFBFTkVEX09VVFBVVCxcbiAgU0VMRl9NVVRBVElPTl9TVEVQLFxufSBmcm9tIFwiLi9wcml2YXRlL2NvbnN0c1wiO1xuaW1wb3J0IHsgd29ya2Zsb3dOYW1lRm9yUHJvamVjdCB9IGZyb20gXCIuLi91dGlsL25hbWVcIjtcblxuZXhwb3J0IGludGVyZmFjZSBCdWlsZFdvcmtmbG93Q29tbW9uT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBidWlsZGZpbGUgKGUuZy4gXCJidWlsZFwiIGJlY29tZXMgXCJidWlsZC55bWxcIikuXG4gICAqXG4gICAqIEBkZWZhdWx0IFwiYnVpbGRcIlxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogU3RlcHMgdG8gZXhlY3V0ZSBiZWZvcmUgdGhlIGJ1aWxkLlxuICAgKiBAZGVmYXVsdCBbXVxuICAgKi9cbiAgcmVhZG9ubHkgcHJlQnVpbGRTdGVwcz86IEpvYlN0ZXBbXTtcblxuICAvKipcbiAgICogQnVpbGQgd29ya2Zsb3cgdHJpZ2dlcnNcbiAgICogQGRlZmF1bHQgXCJ7IHB1bGxSZXF1ZXN0OiB7fSwgd29ya2Zsb3dEaXNwYXRjaDoge30gfVwiXG4gICAqL1xuICByZWFkb25seSB3b3JrZmxvd1RyaWdnZXJzPzogVHJpZ2dlcnM7XG5cbiAgLyoqXG4gICAqIFBlcm1pc3Npb25zIGdyYW50ZWQgdG8gdGhlIGJ1aWxkIGpvYlxuICAgKiBUbyBsaW1pdCBqb2IgcGVybWlzc2lvbnMgZm9yIGBjb250ZW50c2AsIHRoZSBkZXNpcmVkIHBlcm1pc3Npb25zIGhhdmUgdG8gYmUgZXhwbGljaXRseSBzZXQsIGUuZy46IGB7IGNvbnRlbnRzOiBKb2JQZXJtaXNzaW9uLk5PTkUgfWBcbiAgICogQGRlZmF1bHQgYHsgY29udGVudHM6IEpvYlBlcm1pc3Npb24uV1JJVEUgfWBcbiAgICovXG4gIHJlYWRvbmx5IHBlcm1pc3Npb25zPzogSm9iUGVybWlzc2lvbnM7XG5cbiAgLyoqXG4gICAqIEJ1aWxkIGVudmlyb25tZW50IHZhcmlhYmxlcy5cbiAgICogQGRlZmF1bHQge31cbiAgICovXG4gIHJlYWRvbmx5IGVudj86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVpbGRXb3JrZmxvd09wdGlvbnMgZXh0ZW5kcyBCdWlsZFdvcmtmbG93Q29tbW9uT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgdGFzayB0byBleGVjdXRlIGluIG9yZGVyIHRvIGJ1aWxkIHRoZSBwcm9qZWN0LlxuICAgKi9cbiAgcmVhZG9ubHkgYnVpbGRUYXNrOiBUYXNrO1xuXG4gIC8qKlxuICAgKiBBIG5hbWUgb2YgYSBkaXJlY3RvcnkgdGhhdCBpbmNsdWRlcyBidWlsZCBhcnRpZmFjdHMuXG4gICAqIEBkZWZhdWx0IFwiZGlzdFwiXG4gICAqL1xuICByZWFkb25seSBhcnRpZmFjdHNEaXJlY3Rvcnk/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBjb250YWluZXIgaW1hZ2UgdG8gdXNlIGZvciBidWlsZHMuXG4gICAqIEBkZWZhdWx0IC0gdGhlIGRlZmF1bHQgd29ya2Zsb3cgY29udGFpbmVyXG4gICAqL1xuICByZWFkb25seSBjb250YWluZXJJbWFnZT86IHN0cmluZztcblxuICAvKipcbiAgICogQXV0b21hdGljYWxseSB1cGRhdGUgZmlsZXMgbW9kaWZpZWQgZHVyaW5nIGJ1aWxkcyB0byBwdWxsLXJlcXVlc3QgYnJhbmNoZXMuXG4gICAqIFRoaXMgbWVhbnMgdGhhdCBhbnkgZmlsZXMgc3ludGhlc2l6ZWQgYnkgcHJvamVuIG9yIGUuZy4gdGVzdCBzbmFwc2hvdHMgd2lsbFxuICAgKiBhbHdheXMgYmUgdXAtdG8tZGF0ZSBiZWZvcmUgYSBQUiBpcyBtZXJnZWQuXG4gICAqXG4gICAqIEltcGxpZXMgdGhhdCBQUiBidWlsZHMgZG8gbm90IGhhdmUgYW50aS10YW1wZXIgY2hlY2tzLlxuICAgKlxuICAgKiBUaGlzIGlzIGVuYWJsZWQgYnkgZGVmYXVsdCBvbmx5IGlmIGBnaXRodWJUb2tlblNlY3JldGAgaXMgc2V0LiBPdGhlcndpc2UgaXRcbiAgICogaXMgZGlzYWJsZWQsIHdoaWNoIGltcGxpZXMgdGhhdCBmaWxlIGNoYW5nZXMgdGhhdCBoYXBwZW4gZHVyaW5nIGJ1aWxkIHdpbGxcbiAgICogbm90IGJlIHB1c2hlZCBiYWNrIHRvIHRoZSBicmFuY2guXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IG11dGFibGVCdWlsZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFN0ZXBzIHRvIGV4ZWN1dGUgYWZ0ZXIgYnVpbGQuXG4gICAqIEBkZWZhdWx0IFtdXG4gICAqL1xuICByZWFkb25seSBwb3N0QnVpbGRTdGVwcz86IEpvYlN0ZXBbXTtcblxuICAvKipcbiAgICogR2l0IGlkZW50aXR5IHRvIHVzZSBmb3IgdGhlIHdvcmtmbG93LlxuICAgKiBAZGVmYXVsdCAtIGRlZmF1bHQgR2l0SHViIEFjdGlvbnMgdXNlclxuICAgKi9cbiAgcmVhZG9ubHkgZ2l0SWRlbnRpdHk/OiBHaXRJZGVudGl0eTtcblxuICAvKipcbiAgICogR2l0aHViIFJ1bm5lciBzZWxlY3Rpb24gbGFiZWxzXG4gICAqIEBkZWZhdWx0IFtcInVidW50dS1sYXRlc3RcIl1cbiAgICogQGRlc2NyaXB0aW9uIERlZmluZXMgYSB0YXJnZXQgUnVubmVyIGJ5IGxhYmVsc1xuICAgKiBAdGhyb3dzIHtFcnJvcn0gaWYgYm90aCBgcnVuc09uYCBhbmQgYHJ1bnNPbkdyb3VwYCBhcmUgc3BlY2lmaWVkXG4gICAqL1xuICByZWFkb25seSBydW5zT24/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogR2l0aHViIFJ1bm5lciBHcm91cCBzZWxlY3Rpb24gb3B0aW9uc1xuICAgKiBAZGVzY3JpcHRpb24gRGVmaW5lcyBhIHRhcmdldCBSdW5uZXIgR3JvdXAgYnkgbmFtZSBhbmQvb3IgbGFiZWxzXG4gICAqIEB0aHJvd3Mge0Vycm9yfSBpZiBib3RoIGBydW5zT25gIGFuZCBgcnVuc09uR3JvdXBgIGFyZSBzcGVjaWZpZWRcbiAgICovXG4gIHJlYWRvbmx5IHJ1bnNPbkdyb3VwPzogR3JvdXBSdW5uZXJPcHRpb25zO1xufVxuXG5leHBvcnQgY2xhc3MgQnVpbGRXb3JrZmxvdyBleHRlbmRzIENvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBOYW1lIG9mIGdlbmVyYXRlZCBnaXRodWIgd29ya2Zsb3dcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBwb3N0QnVpbGRTdGVwczogSm9iU3RlcFtdO1xuICBwcml2YXRlIHJlYWRvbmx5IHByZUJ1aWxkU3RlcHM6IEpvYlN0ZXBbXTtcbiAgcHJpdmF0ZSByZWFkb25seSBnaXRJZGVudGl0eTogR2l0SWRlbnRpdHk7XG4gIHByaXZhdGUgcmVhZG9ubHkgYnVpbGRUYXNrOiBUYXNrO1xuICBwcml2YXRlIHJlYWRvbmx5IGdpdGh1YjogR2l0SHViO1xuICBwcml2YXRlIHJlYWRvbmx5IHdvcmtmbG93OiBHaXRodWJXb3JrZmxvdztcbiAgcHJpdmF0ZSByZWFkb25seSBhcnRpZmFjdHNEaXJlY3Rvcnk6IHN0cmluZztcblxuICBwcml2YXRlIHJlYWRvbmx5IF9wb3N0QnVpbGRKb2JzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IFByb2plY3QsIG9wdGlvbnM6IEJ1aWxkV29ya2Zsb3dPcHRpb25zKSB7XG4gICAgc3VwZXIocHJvamVjdCk7XG5cbiAgICBjb25zdCBnaXRodWIgPSBHaXRIdWIub2YodGhpcy5wcm9qZWN0LnJvb3QpO1xuICAgIGlmICghZ2l0aHViKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIFwiQnVpbGRXb3JrZmxvdyBpcyBjdXJyZW50bHkgb25seSBzdXBwb3J0ZWQgZm9yIEdpdEh1YiBwcm9qZWN0c1wiXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMuZ2l0aHViID0gZ2l0aHViO1xuICAgIHRoaXMucHJlQnVpbGRTdGVwcyA9IG9wdGlvbnMucHJlQnVpbGRTdGVwcyA/PyBbXTtcbiAgICB0aGlzLnBvc3RCdWlsZFN0ZXBzID0gb3B0aW9ucy5wb3N0QnVpbGRTdGVwcyA/PyBbXTtcbiAgICB0aGlzLmdpdElkZW50aXR5ID0gb3B0aW9ucy5naXRJZGVudGl0eSA/PyBERUZBVUxUX0dJVEhVQl9BQ1RJT05TX1VTRVI7XG4gICAgdGhpcy5idWlsZFRhc2sgPSBvcHRpb25zLmJ1aWxkVGFzaztcbiAgICB0aGlzLmFydGlmYWN0c0RpcmVjdG9yeSA9XG4gICAgICBvcHRpb25zLmFydGlmYWN0c0RpcmVjdG9yeSA/PyBERUZBVUxUX0FSVElGQUNUU19ESVJFQ1RPUlk7XG4gICAgZW5zdXJlTm90SGlkZGVuUGF0aCh0aGlzLmFydGlmYWN0c0RpcmVjdG9yeSwgXCJhcnRpZmFjdHNEaXJlY3RvcnlcIik7XG4gICAgdGhpcy5uYW1lID0gb3B0aW9ucy5uYW1lID8/IHdvcmtmbG93TmFtZUZvclByb2plY3QoXCJidWlsZFwiLCB0aGlzLnByb2plY3QpO1xuICAgIGNvbnN0IG11dGFibGVCdWlsZHMgPSBvcHRpb25zLm11dGFibGVCdWlsZCA/PyB0cnVlO1xuXG4gICAgdGhpcy53b3JrZmxvdyA9IG5ldyBHaXRodWJXb3JrZmxvdyhnaXRodWIsIHRoaXMubmFtZSk7XG4gICAgdGhpcy53b3JrZmxvdy5vbihcbiAgICAgIG9wdGlvbnMud29ya2Zsb3dUcmlnZ2VycyA/PyB7XG4gICAgICAgIHB1bGxSZXF1ZXN0OiB7fSxcbiAgICAgICAgd29ya2Zsb3dEaXNwYXRjaDoge30sIC8vIGFsbG93IG1hbnVhbCB0cmlnZ2VyaW5nXG4gICAgICB9XG4gICAgKTtcblxuICAgIHRoaXMuYWRkQnVpbGRKb2Iob3B0aW9ucyk7XG5cbiAgICBpZiAobXV0YWJsZUJ1aWxkcykge1xuICAgICAgdGhpcy5hZGRTZWxmTXV0YXRpb25Kb2Iob3B0aW9ucyk7XG4gICAgfVxuXG4gICAgaWYgKHByb2plY3QgaW5zdGFuY2VvZiBOb2RlUHJvamVjdCkge1xuICAgICAgcHJvamVjdC5hZGRQYWNrYWdlSWdub3JlKFBFUk1JU1NJT05fQkFDS1VQX0ZJTEUpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYWRkQnVpbGRKb2Iob3B0aW9uczogQnVpbGRXb3JrZmxvd09wdGlvbnMpIHtcbiAgICBjb25zdCBwcm9qZWN0UGF0aFJlbGF0aXZlVG9Sb290ID0gcHJvamVjdFBhdGhSZWxhdGl2ZVRvUmVwb1Jvb3QoXG4gICAgICB0aGlzLnByb2plY3RcbiAgICApO1xuICAgIGNvbnN0IGpvYkNvbmZpZzogd29ya2Zsb3dzLkpvYiA9IHtcbiAgICAgIC4uLmZpbHRlcmVkUnVuc09uT3B0aW9ucyhvcHRpb25zLnJ1bnNPbiwgb3B0aW9ucy5ydW5zT25Hcm91cCksXG4gICAgICBjb250YWluZXI6IG9wdGlvbnMuY29udGFpbmVySW1hZ2VcbiAgICAgICAgPyB7IGltYWdlOiBvcHRpb25zLmNvbnRhaW5lckltYWdlIH1cbiAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICBlbnY6IHtcbiAgICAgICAgQ0k6IFwidHJ1ZVwiLFxuICAgICAgICAuLi5vcHRpb25zLmVudixcbiAgICAgIH0sXG4gICAgICBwZXJtaXNzaW9uczoge1xuICAgICAgICBjb250ZW50czogSm9iUGVybWlzc2lvbi5XUklURSxcbiAgICAgICAgLi4ub3B0aW9ucy5wZXJtaXNzaW9ucyxcbiAgICAgIH0sXG4gICAgICBkZWZhdWx0czogdGhpcy5wcm9qZWN0LnBhcmVudCAvLyBpcyBzdWJwcm9qZWN0LFxuICAgICAgICA/IHtcbiAgICAgICAgICAgIHJ1bjoge1xuICAgICAgICAgICAgICB3b3JraW5nRGlyZWN0b3J5OiBwcm9qZWN0UGF0aFJlbGF0aXZlVG9Sb290LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9XG4gICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgc3RlcHM6ICgoKSA9PiB0aGlzLnJlbmRlckJ1aWxkU3RlcHMocHJvamVjdFBhdGhSZWxhdGl2ZVRvUm9vdCkpIGFzIGFueSxcbiAgICAgIG91dHB1dHM6IHtcbiAgICAgICAgW1NFTEZfTVVUQVRJT05fSEFQUEVORURfT1VUUFVUXToge1xuICAgICAgICAgIHN0ZXBJZDogU0VMRl9NVVRBVElPTl9TVEVQLFxuICAgICAgICAgIG91dHB1dE5hbWU6IFNFTEZfTVVUQVRJT05fSEFQUEVORURfT1VUUFVULFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9O1xuXG4gICAgdGhpcy53b3JrZmxvdy5hZGRKb2IoQlVJTERfSk9CSUQsIGpvYkNvbmZpZyk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIGxpc3Qgb2Ygam9iIElEcyB0aGF0IGFyZSBwYXJ0IG9mIHRoZSBidWlsZC5cbiAgICovXG4gIHB1YmxpYyBnZXQgYnVpbGRKb2JJZHMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBbQlVJTERfSk9CSUQsIC4uLnRoaXMuX3Bvc3RCdWlsZEpvYnNdO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgc3RlcHMgdGhhdCBhcmUgZXhlY3V0ZWQgYWZ0ZXIgdGhlIGJ1aWxkLlxuICAgKiBAcGFyYW0gc3RlcHMgVGhlIGpvYiBzdGVwc1xuICAgKi9cbiAgcHVibGljIGFkZFBvc3RCdWlsZFN0ZXBzKC4uLnN0ZXBzOiBKb2JTdGVwW10pOiB2b2lkIHtcbiAgICB0aGlzLnBvc3RCdWlsZFN0ZXBzLnB1c2goLi4uc3RlcHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYW5vdGhlciBqb2IgdG8gdGhlIGJ1aWxkIHdvcmtmbG93IHdoaWNoIGlzIGV4ZWN1dGVkIGFmdGVyIHRoZSBidWlsZFxuICAgKiBqb2Igc3VjY2VlZGVkLlxuICAgKlxuICAgKiBKb2JzIGFyZSBleGVjdXRlZCBfb25seV8gaWYgdGhlIGJ1aWxkIGRpZCBOT1Qgc2VsZiBtdXRhdGUuIElmIHRoZSBidWlsZFxuICAgKiBzZWxmLW11dGF0ZSwgdGhlIGJyYW5jaCB3aWxsIGVpdGhlciBiZSB1cGRhdGVkIG9yIHRoZSBidWlsZCB3aWxsIGZhaWwgKGluXG4gICAqIGZvcmtzKSwgc28gdGhlcmUgaXMgbm8gcG9pbnQgaW4gZXhlY3V0aW5nIHRoZSBwb3N0LWJ1aWxkIGpvYi5cbiAgICpcbiAgICogQHBhcmFtIGlkIFRoZSBpZCBvZiB0aGUgbmV3IGpvYlxuICAgKiBAcGFyYW0gam9iIFRoZSBqb2Igc3BlY2lmaWNhdGlvblxuICAgKi9cbiAgcHVibGljIGFkZFBvc3RCdWlsZEpvYihpZDogc3RyaW5nLCBqb2I6IEpvYikge1xuICAgIGNvbnN0IHN0ZXBzID0gW107XG5cbiAgICBzdGVwcy5wdXNoKFxuICAgICAge1xuICAgICAgICBuYW1lOiBcIkRvd25sb2FkIGJ1aWxkIGFydGlmYWN0c1wiLFxuICAgICAgICB1c2VzOiBcImFjdGlvbnMvZG93bmxvYWQtYXJ0aWZhY3RAdjVcIixcbiAgICAgICAgd2l0aDoge1xuICAgICAgICAgIG5hbWU6IEJVSUxEX0FSVElGQUNUX05BTUUsXG4gICAgICAgICAgcGF0aDogdGhpcy5hcnRpZmFjdHNEaXJlY3RvcnksXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiBcIlJlc3RvcmUgYnVpbGQgYXJ0aWZhY3QgcGVybWlzc2lvbnNcIixcbiAgICAgICAgY29udGludWVPbkVycm9yOiB0cnVlLFxuICAgICAgICBydW46IFtcbiAgICAgICAgICBgY2QgJHt0aGlzLmFydGlmYWN0c0RpcmVjdG9yeX0gJiYgc2V0ZmFjbCAtLXJlc3RvcmU9JHtQRVJNSVNTSU9OX0JBQ0tVUF9GSUxFfWAsXG4gICAgICAgIF0uam9pbihcIlxcblwiKSxcbiAgICAgIH1cbiAgICApO1xuXG4gICAgc3RlcHMucHVzaCguLi4oam9iLnN0ZXBzID8/IFtdKSk7XG5cbiAgICB0aGlzLndvcmtmbG93LmFkZEpvYihpZCwge1xuICAgICAgbmVlZHM6IFtCVUlMRF9KT0JJRF0sXG4gICAgICAvLyBvbmx5IHJ1biBpZiBidWlsZCBkaWQgbm90IHNlbGYtbXV0YXRlXG4gICAgICBpZjogYFxcJHt7ICEke1NFTEZfTVVUQVRJT05fQ09ORElUSU9OfSB9fWAsXG4gICAgICAuLi5qb2IsXG4gICAgICBzdGVwczogc3RlcHMsXG4gICAgfSk7XG5cbiAgICAvLyBhZGQgdG8gdGhlIGxpc3Qgb2YgYnVpbGQgam9iIElEc1xuICAgIHRoaXMuX3Bvc3RCdWlsZEpvYnMucHVzaChpZCk7XG4gIH1cblxuICAvKipcbiAgICogUnVuIGEgdGFzayBhcyBhIGpvYiB3aXRoaW4gdGhlIGJ1aWxkIHdvcmtmbG93IHdoaWNoIGlzIGV4ZWN1dGVkIGFmdGVyIHRoZVxuICAgKiBidWlsZCBqb2Igc3VjY2VlZGVkLlxuICAgKlxuICAgKiBUaGUgam9iIHdpbGwgaGF2ZSBhY2Nlc3MgdG8gYnVpbGQgYXJ0aWZhY3RzIGFuZCB3aWxsIGluc3RhbGwgcHJvamVjdFxuICAgKiBkZXBlbmRlbmNpZXMgaW4gb3JkZXIgdG8gYmUgYWJsZSB0byBydW4gYW55IGNvbW1hbmRzIHVzZWQgaW4gdGhlIHRhc2tzLlxuICAgKlxuICAgKiBKb2JzIGFyZSBleGVjdXRlZCBfb25seV8gaWYgdGhlIGJ1aWxkIGRpZCBOT1Qgc2VsZiBtdXRhdGUuIElmIHRoZSBidWlsZFxuICAgKiBzZWxmLW11dGF0ZSwgdGhlIGJyYW5jaCB3aWxsIGVpdGhlciBiZSB1cGRhdGVkIG9yIHRoZSBidWlsZCB3aWxsIGZhaWwgKGluXG4gICAqIGZvcmtzKSwgc28gdGhlcmUgaXMgbm8gcG9pbnQgaW4gZXhlY3V0aW5nIHRoZSBwb3N0LWJ1aWxkIGpvYi5cbiAgICpcbiAgICogQHBhcmFtIG9wdGlvbnMgU3BlY2lmeSB0b29scyBhbmQgb3RoZXIgb3B0aW9uc1xuICAgKi9cbiAgcHVibGljIGFkZFBvc3RCdWlsZEpvYlRhc2soXG4gICAgdGFzazogVGFzayxcbiAgICBvcHRpb25zOiBBZGRQb3N0QnVpbGRKb2JUYXNrT3B0aW9ucyA9IHt9XG4gICkge1xuICAgIHRoaXMuYWRkUG9zdEJ1aWxkSm9iQ29tbWFuZHMoXG4gICAgICBgcG9zdC1idWlsZC0ke3Rhc2submFtZX1gLFxuICAgICAgW2Ake3RoaXMucHJvamVjdC5wcm9qZW5Db21tYW5kfSAke3Rhc2submFtZX1gXSxcbiAgICAgIHtcbiAgICAgICAgY2hlY2tvdXRSZXBvOiB0cnVlLFxuICAgICAgICBpbnN0YWxsRGVwczogdHJ1ZSxcbiAgICAgICAgdG9vbHM6IG9wdGlvbnMudG9vbHMsXG4gICAgICAgIC4uLmZpbHRlcmVkUnVuc09uT3B0aW9ucyhvcHRpb25zLnJ1bnNPbiwgb3B0aW9ucy5ydW5zT25Hcm91cCksXG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSdW4gYSBzZXF1ZW5jZSBvZiBjb21tYW5kcyBhcyBhIGpvYiB3aXRoaW4gdGhlIGJ1aWxkIHdvcmtmbG93IHdoaWNoIGlzXG4gICAqIGV4ZWN1dGVkIGFmdGVyIHRoZSBidWlsZCBqb2Igc3VjY2VlZGVkLlxuICAgKlxuICAgKiBKb2JzIGFyZSBleGVjdXRlZCBfb25seV8gaWYgdGhlIGJ1aWxkIGRpZCBOT1Qgc2VsZiBtdXRhdGUuIElmIHRoZSBidWlsZFxuICAgKiBzZWxmLW11dGF0ZSwgdGhlIGJyYW5jaCB3aWxsIGVpdGhlciBiZSB1cGRhdGVkIG9yIHRoZSBidWlsZCB3aWxsIGZhaWwgKGluXG4gICAqIGZvcmtzKSwgc28gdGhlcmUgaXMgbm8gcG9pbnQgaW4gZXhlY3V0aW5nIHRoZSBwb3N0LWJ1aWxkIGpvYi5cbiAgICpcbiAgICogQHBhcmFtIG9wdGlvbnMgU3BlY2lmeSB0b29scyBhbmQgb3RoZXIgb3B0aW9uc1xuICAgKi9cbiAgcHVibGljIGFkZFBvc3RCdWlsZEpvYkNvbW1hbmRzKFxuICAgIGlkOiBzdHJpbmcsXG4gICAgY29tbWFuZHM6IHN0cmluZ1tdLFxuICAgIG9wdGlvbnM/OiBBZGRQb3N0QnVpbGRKb2JDb21tYW5kc09wdGlvbnNcbiAgKSB7XG4gICAgY29uc3Qgc3RlcHMgPSBbXTtcblxuICAgIGlmIChvcHRpb25zPy5jaGVja291dFJlcG8pIHtcbiAgICAgIHN0ZXBzLnB1c2goXG4gICAgICAgIFdvcmtmbG93U3RlcHMuY2hlY2tvdXQoe1xuICAgICAgICAgIHdpdGg6IHtcbiAgICAgICAgICAgIHJlZjogUFVMTF9SRVFVRVNUX1JFRixcbiAgICAgICAgICAgIHJlcG9zaXRvcnk6IFBVTExfUkVRVUVTVF9SRVBPU0lUT1JZLFxuICAgICAgICAgICAgLi4uKHRoaXMuZ2l0aHViLmRvd25sb2FkTGZzID8geyBsZnM6IHRydWUgfSA6IHt9KSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBvcHRpb25zPy5jaGVja291dFJlcG8gJiZcbiAgICAgIG9wdGlvbnM/Lmluc3RhbGxEZXBzICYmXG4gICAgICB0aGlzLnByb2plY3QgaW5zdGFuY2VvZiBOb2RlUHJvamVjdFxuICAgICkge1xuICAgICAgc3RlcHMucHVzaCh7XG4gICAgICAgIG5hbWU6IFwiSW5zdGFsbCBkZXBlbmRlbmNpZXNcIixcbiAgICAgICAgcnVuOiBgJHt0aGlzLnByb2plY3QucGFja2FnZS5pbnN0YWxsQ29tbWFuZH1gLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgc3RlcHMucHVzaCh7IHJ1bjogY29tbWFuZHMuam9pbihcIlxcblwiKSB9KTtcblxuICAgIHRoaXMuYWRkUG9zdEJ1aWxkSm9iKGlkLCB7XG4gICAgICBwZXJtaXNzaW9uczoge1xuICAgICAgICBjb250ZW50czogSm9iUGVybWlzc2lvbi5SRUFELFxuICAgICAgfSxcbiAgICAgIHRvb2xzOiBvcHRpb25zPy50b29scyxcbiAgICAgIC4uLmZpbHRlcmVkUnVuc09uT3B0aW9ucyhvcHRpb25zPy5ydW5zT24sIG9wdGlvbnM/LnJ1bnNPbkdyb3VwKSxcbiAgICAgIHN0ZXBzLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRTZWxmTXV0YXRpb25Kb2Iob3B0aW9uczogQnVpbGRXb3JrZmxvd09wdGlvbnMpIHtcbiAgICB0aGlzLndvcmtmbG93LmFkZEpvYihcInNlbGYtbXV0YXRpb25cIiwge1xuICAgICAgLi4uZmlsdGVyZWRSdW5zT25PcHRpb25zKG9wdGlvbnMucnVuc09uLCBvcHRpb25zLnJ1bnNPbkdyb3VwKSxcbiAgICAgIHBlcm1pc3Npb25zOiB7XG4gICAgICAgIGNvbnRlbnRzOiBKb2JQZXJtaXNzaW9uLldSSVRFLFxuICAgICAgfSxcbiAgICAgIG5lZWRzOiBbQlVJTERfSk9CSURdLFxuICAgICAgaWY6IGBhbHdheXMoKSAmJiAke1NFTEZfTVVUQVRJT05fQ09ORElUSU9OfSAmJiAke05PVF9GT1JLfWAsXG4gICAgICBzdGVwczogW1xuICAgICAgICAuLi50aGlzLndvcmtmbG93LnByb2plbkNyZWRlbnRpYWxzLnNldHVwU3RlcHMsXG4gICAgICAgIC4uLldvcmtmbG93QWN0aW9ucy5jaGVja291dFdpdGhQYXRjaCh7XG4gICAgICAgICAgLy8gd2UgbmVlZCB0byB1c2UgYSBQQVQgc28gdGhhdCBvdXIgcHVzaCB3aWxsIHRyaWdnZXIgdGhlIGJ1aWxkIHdvcmtmbG93XG4gICAgICAgICAgdG9rZW46IHRoaXMud29ya2Zsb3cucHJvamVuQ3JlZGVudGlhbHMudG9rZW5SZWYsXG4gICAgICAgICAgcmVmOiBQVUxMX1JFUVVFU1RfUkVGLFxuICAgICAgICAgIHJlcG9zaXRvcnk6IFBVTExfUkVRVUVTVF9SRVBPU0lUT1JZLFxuICAgICAgICAgIGxmczogdGhpcy5naXRodWIuZG93bmxvYWRMZnMsXG4gICAgICAgIH0pLFxuICAgICAgICBXb3JrZmxvd1N0ZXBzLnNldHVwR2l0SWRlbnRpdHkoeyBnaXRJZGVudGl0eTogdGhpcy5naXRJZGVudGl0eSB9KSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6IFwiUHVzaCBjaGFuZ2VzXCIsXG4gICAgICAgICAgZW52OiB7XG4gICAgICAgICAgICBQVUxMX1JFUVVFU1RfUkVGLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgcnVuOiBbXG4gICAgICAgICAgICBcImdpdCBhZGQgLlwiLFxuICAgICAgICAgICAgJ2dpdCBjb21taXQgLXMgLW0gXCJjaG9yZTogc2VsZiBtdXRhdGlvblwiJyxcbiAgICAgICAgICAgIGBnaXQgcHVzaCBvcmlnaW4gXCJIRUFEOiRQVUxMX1JFUVVFU1RfUkVGXCJgLFxuICAgICAgICAgIF0uam9pbihcIlxcblwiKSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ2FsbGVkIChsYXppbHkpIGR1cmluZyBzeW50aCB0byByZW5kZXIgdGhlIGJ1aWxkIGpvYiBzdGVwcy5cbiAgICovXG4gIHByaXZhdGUgcmVuZGVyQnVpbGRTdGVwcyhwcm9qZWN0UGF0aFJlbGF0aXZlVG9Sb290OiBzdHJpbmcpOiBKb2JTdGVwW10ge1xuICAgIHJldHVybiBbXG4gICAgICBXb3JrZmxvd1N0ZXBzLmNoZWNrb3V0KHtcbiAgICAgICAgd2l0aDoge1xuICAgICAgICAgIHJlZjogUFVMTF9SRVFVRVNUX1JFRixcbiAgICAgICAgICByZXBvc2l0b3J5OiBQVUxMX1JFUVVFU1RfUkVQT1NJVE9SWSxcbiAgICAgICAgICAuLi4odGhpcy5naXRodWIuZG93bmxvYWRMZnMgPyB7IGxmczogdHJ1ZSB9IDoge30pLFxuICAgICAgICB9LFxuICAgICAgfSksXG5cbiAgICAgIC4uLnRoaXMucHJlQnVpbGRTdGVwcyxcblxuICAgICAge1xuICAgICAgICBuYW1lOiB0aGlzLmJ1aWxkVGFzay5uYW1lLFxuICAgICAgICBydW46IHRoaXMuZ2l0aHViLnByb2plY3QucnVuVGFza0NvbW1hbmQodGhpcy5idWlsZFRhc2spLFxuICAgICAgfSxcblxuICAgICAgLi4udGhpcy5wb3N0QnVpbGRTdGVwcyxcblxuICAgICAgLy8gY2hlY2sgZm9yIG11dGF0aW9ucyBhbmQgdXBsb2FkIGEgZ2l0IHBhdGNoIGZpbGUgYXMgYW4gYXJ0aWZhY3RcbiAgICAgIC4uLldvcmtmbG93QWN0aW9ucy51cGxvYWRHaXRQYXRjaCh7XG4gICAgICAgIHN0ZXBJZDogU0VMRl9NVVRBVElPTl9TVEVQLFxuICAgICAgICBvdXRwdXROYW1lOiBTRUxGX01VVEFUSU9OX0hBUFBFTkVEX09VVFBVVCxcbiAgICAgICAgbXV0YXRpb25FcnJvcjpcbiAgICAgICAgICBcIkZpbGVzIHdlcmUgY2hhbmdlZCBkdXJpbmcgYnVpbGQgKHNlZSBidWlsZCBsb2cpLiBJZiB0aGlzIHdhcyB0cmlnZ2VyZWQgZnJvbSBhIGZvcmssIHlvdSB3aWxsIG5lZWQgdG8gdXBkYXRlIHlvdXIgYnJhbmNoLlwiLFxuICAgICAgfSksXG5cbiAgICAgIC8vIHVwbG9hZCB0aGUgYnVpbGQgYXJ0aWZhY3Qgb25seSBpZiB3ZSBoYXZlIHBvc3QtYnVpbGQgam9icyAob3RoZXJ3aXNlLCB0aGVyZSdzIG5vIHBvaW50KVxuICAgICAgLi4uKHRoaXMuX3Bvc3RCdWlsZEpvYnMubGVuZ3RoID09IDBcbiAgICAgICAgPyBbXVxuICAgICAgICA6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogXCJCYWNrdXAgYXJ0aWZhY3QgcGVybWlzc2lvbnNcIixcbiAgICAgICAgICAgICAgY29udGludWVPbkVycm9yOiB0cnVlLFxuICAgICAgICAgICAgICBydW46IGBjZCAke3RoaXMuYXJ0aWZhY3RzRGlyZWN0b3J5fSAmJiBnZXRmYWNsIC1SIC4gPiAke1BFUk1JU1NJT05fQkFDS1VQX0ZJTEV9YCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBXb3JrZmxvd1N0ZXBzLnVwbG9hZEFydGlmYWN0KHtcbiAgICAgICAgICAgICAgd2l0aDoge1xuICAgICAgICAgICAgICAgIG5hbWU6IEJVSUxEX0FSVElGQUNUX05BTUUsXG4gICAgICAgICAgICAgICAgcGF0aDogdGhpcy5wcm9qZWN0LnBhcmVudFxuICAgICAgICAgICAgICAgICAgPyBwb3NpeFBhdGguam9pbihcbiAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0UGF0aFJlbGF0aXZlVG9Sb290LFxuICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYXJ0aWZhY3RzRGlyZWN0b3J5XG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgIDogdGhpcy5hcnRpZmFjdHNEaXJlY3RvcnksXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICBdKSxcbiAgICBdO1xuICB9XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgYEJ1aWxkV29ya2Zsb3cuYWRkUG9zdEJ1aWxkSm9iVGFza2BcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBZGRQb3N0QnVpbGRKb2JUYXNrT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUb29scyB0aGF0IHNob3VsZCBiZSBpbnN0YWxsZWQgYmVmb3JlIHRoZSB0YXNrIGlzIHJ1bi5cbiAgICovXG4gIHJlYWRvbmx5IHRvb2xzPzogVG9vbHM7XG5cbiAgLyoqXG4gICAqIEdpdGh1YiBSdW5uZXIgc2VsZWN0aW9uIGxhYmVsc1xuICAgKiBAZGVmYXVsdCBbXCJ1YnVudHUtbGF0ZXN0XCJdXG4gICAqIEBkZXNjcmlwdGlvbiBEZWZpbmVzIGEgdGFyZ2V0IFJ1bm5lciBieSBsYWJlbHNcbiAgICogQHRocm93cyB7RXJyb3J9IGlmIGJvdGggYHJ1bnNPbmAgYW5kIGBydW5zT25Hcm91cGAgYXJlIHNwZWNpZmllZFxuICAgKi9cbiAgcmVhZG9ubHkgcnVuc09uPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEdpdGh1YiBSdW5uZXIgR3JvdXAgc2VsZWN0aW9uIG9wdGlvbnNcbiAgICogQGRlc2NyaXB0aW9uIERlZmluZXMgYSB0YXJnZXQgUnVubmVyIEdyb3VwIGJ5IG5hbWUgYW5kL29yIGxhYmVsc1xuICAgKiBAdGhyb3dzIHtFcnJvcn0gaWYgYm90aCBgcnVuc09uYCBhbmQgYHJ1bnNPbkdyb3VwYCBhcmUgc3BlY2lmaWVkXG4gICAqL1xuICByZWFkb25seSBydW5zT25Hcm91cD86IEdyb3VwUnVubmVyT3B0aW9ucztcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBgQnVpbGRXb3JrZmxvdy5hZGRQb3N0QnVpbGRKb2JDb21tYW5kc2BcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBZGRQb3N0QnVpbGRKb2JDb21tYW5kc09wdGlvbnMge1xuICAvKipcbiAgICogVG9vbHMgdGhhdCBzaG91bGQgYmUgaW5zdGFsbGVkIGJlZm9yZSB0aGUgY29tbWFuZHMgYXJlIHJ1bi5cbiAgICovXG4gIHJlYWRvbmx5IHRvb2xzPzogVG9vbHM7XG5cbiAgLyoqXG4gICAqIENoZWNrIG91dCB0aGUgcmVwb3NpdG9yeSBhdCB0aGUgcHVsbCByZXF1ZXN0IGJyYW5jaCBiZWZvcmUgY29tbWFuZHMgYXJlXG4gICAqIHJ1bi5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGNoZWNrb3V0UmVwbz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEluc3RhbGwgcHJvamVjdCBkZXBlbmRlbmNpZXMgYmVmb3JlIHJ1bm5pbmcgY29tbWFuZHMuIGBjaGVja291dFJlcG9gIG11c3RcbiAgICogYWxzbyBiZSBzZXQgdG8gdHJ1ZS5cbiAgICpcbiAgICogQ3VycmVudGx5IG9ubHkgc3VwcG9ydGVkIGZvciBgTm9kZVByb2plY3RgLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgaW5zdGFsbERlcHM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBHaXRodWIgUnVubmVyIHNlbGVjdGlvbiBsYWJlbHNcbiAgICogQGRlZmF1bHQgW1widWJ1bnR1LWxhdGVzdFwiXVxuICAgKiBAZGVzY3JpcHRpb24gRGVmaW5lcyBhIHRhcmdldCBSdW5uZXIgYnkgbGFiZWxzXG4gICAqIEB0aHJvd3Mge0Vycm9yfSBpZiBib3RoIGBydW5zT25gIGFuZCBgcnVuc09uR3JvdXBgIGFyZSBzcGVjaWZpZWRcbiAgICovXG4gIHJlYWRvbmx5IHJ1bnNPbj86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBHaXRodWIgUnVubmVyIEdyb3VwIHNlbGVjdGlvbiBvcHRpb25zXG4gICAqIEBkZXNjcmlwdGlvbiBEZWZpbmVzIGEgdGFyZ2V0IFJ1bm5lciBHcm91cCBieSBuYW1lIGFuZC9vciBsYWJlbHNcbiAgICogQHRocm93cyB7RXJyb3J9IGlmIGJvdGggYHJ1bnNPbmAgYW5kIGBydW5zT25Hcm91cGAgYXJlIHNwZWNpZmllZFxuICAgKi9cbiAgcmVhZG9ubHkgcnVuc09uR3JvdXA/OiBHcm91cFJ1bm5lck9wdGlvbnM7XG59XG4iXX0=
@@ -21,7 +21,7 @@ class AutoDiscoverBase extends component_1.Component {
21
21
  }
22
22
  exports.AutoDiscoverBase = AutoDiscoverBase;
23
23
  _a = JSII_RTTI_SYMBOL_1;
24
- AutoDiscoverBase[_a] = { fqn: "projen.cdk.AutoDiscoverBase", version: "0.99.0" };
24
+ AutoDiscoverBase[_a] = { fqn: "projen.cdk.AutoDiscoverBase", version: "0.99.1" };
25
25
  /**
26
26
  * Base class for locating integration tests in the project's test tree.
27
27
  */
@@ -35,5 +35,5 @@ class IntegrationTestAutoDiscoverBase extends AutoDiscoverBase {
35
35
  }
36
36
  exports.IntegrationTestAutoDiscoverBase = IntegrationTestAutoDiscoverBase;
37
37
  _b = JSII_RTTI_SYMBOL_1;
38
- IntegrationTestAutoDiscoverBase[_b] = { fqn: "projen.cdk.IntegrationTestAutoDiscoverBase", version: "0.99.0" };
38
+ IntegrationTestAutoDiscoverBase[_b] = { fqn: "projen.cdk.IntegrationTestAutoDiscoverBase", version: "0.99.1" };
39
39
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1kaXNjb3Zlci1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Nkay9hdXRvLWRpc2NvdmVyLWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2QkFBNkI7QUFDN0Isa0NBQWtDO0FBQ2xDLHlDQUFrRDtBQUNsRCw0Q0FBeUM7QUFzQnpDOztHQUVHO0FBQ0gsTUFBc0IsZ0JBQWlCLFNBQVEscUJBQVM7SUFPdEQsWUFBWSxPQUFnQixFQUFFLE9BQWdDO1FBQzVELEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVmLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUVyRSxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUk7YUFDcEIsSUFBSSxDQUFDLE9BQU8sT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUM7YUFDekMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDeEQsQ0FBQzs7QUFmSCw0Q0FnQkM7OztBQVlEOztHQUVHO0FBQ0gsTUFBYSwrQkFBZ0MsU0FBUSxnQkFBZ0I7SUFDbkUsWUFDRSxPQUFnQixFQUNoQixPQUErQztRQUUvQyxLQUFLLENBQUMsT0FBTyxFQUFFO1lBQ2IsU0FBUyxFQUFFLCtCQUFvQjtZQUMvQixVQUFVLEVBQUUsT0FBTyxDQUFDLE9BQU87U0FDNUIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUFUSCwwRUFVQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHBhdGggZnJvbSBcInBhdGhcIjtcbmltcG9ydCAqIGFzIGdsb2IgZnJvbSBcImZhc3QtZ2xvYlwiO1xuaW1wb3J0IHsgVFlQRVNDUklQVF9JTlRFR19FWFQgfSBmcm9tIFwiLi9pbnRlcm5hbFwiO1xuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcIi4uL2NvbXBvbmVudFwiO1xuaW1wb3J0IHsgUHJvamVjdCB9IGZyb20gXCIuLi9wcm9qZWN0XCI7XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgYEF1dG9EaXNjb3ZlckJhc2VgXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXV0b0Rpc2NvdmVyQmFzZU9wdGlvbnMge1xuICAvKipcbiAgICogTG9jYXRlIGZpbGVzIHdpdGggdGhlIGdpdmVuIGV4dGVuc2lvbi5cbiAgICpcbiAgICogQGV4YW1wbGUgXCIuaW50ZWcudHNcIlxuICAgKi9cbiAgcmVhZG9ubHkgZXh0ZW5zaW9uOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIExvY2F0ZSBlbnRyeXBvaW50cyBpbiB0aGUgZ2l2ZW4gcHJvamVjdCBkaXJlY3RvcnkuXG4gICAqXG4gICAqIEBleGFtcGxlIFwidGVzdFwiXG4gICAqL1xuICByZWFkb25seSBwcm9qZWN0ZGlyOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQmFzZSBjbGFzcyBmb3IgYXV0by1kaXNjb3ZlcmluZyBhbmQgY3JlYXRpbmcgcHJvamVjdCBzdWJjb21wb25lbnRzLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQXV0b0Rpc2NvdmVyQmFzZSBleHRlbmRzIENvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBBdXRvLWRpc2NvdmVyZWQgZW50cnkgcG9pbnRzIHdpdGggcGF0aHMgcmVsYXRpdmUgdG8gdGhlIHByb2plY3RcbiAgICogZGlyZWN0b3J5LlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGVudHJ5cG9pbnRzOiBzdHJpbmdbXTtcblxuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBQcm9qZWN0LCBvcHRpb25zOiBBdXRvRGlzY292ZXJCYXNlT3B0aW9ucykge1xuICAgIHN1cGVyKHByb2plY3QpO1xuXG4gICAgY29uc3QgY3dkID0gcGF0aC5wb3NpeC5qb2luKHRoaXMucHJvamVjdC5vdXRkaXIsIG9wdGlvbnMucHJvamVjdGRpcik7XG5cbiAgICB0aGlzLmVudHJ5cG9pbnRzID0gZ2xvYlxuICAgICAgLnN5bmMoYCoqLyoke29wdGlvbnMuZXh0ZW5zaW9ufWAsIHsgY3dkIH0pXG4gICAgICAubWFwKChwKSA9PiBwYXRoLnBvc2l4LmpvaW4ob3B0aW9ucy5wcm9qZWN0ZGlyLCBwKSk7XG4gIH1cbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBgSW50ZWdyYXRpb25UZXN0QXV0b0Rpc2NvdmVyQmFzZWBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbnRlZ3JhdGlvblRlc3RBdXRvRGlzY292ZXJCYXNlT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUZXN0IHNvdXJjZSB0cmVlLlxuICAgKi9cbiAgcmVhZG9ubHkgdGVzdGRpcjogc3RyaW5nO1xufVxuXG4vKipcbiAqIEJhc2UgY2xhc3MgZm9yIGxvY2F0aW5nIGludGVncmF0aW9uIHRlc3RzIGluIHRoZSBwcm9qZWN0J3MgdGVzdCB0cmVlLlxuICovXG5leHBvcnQgY2xhc3MgSW50ZWdyYXRpb25UZXN0QXV0b0Rpc2NvdmVyQmFzZSBleHRlbmRzIEF1dG9EaXNjb3ZlckJhc2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcm9qZWN0OiBQcm9qZWN0LFxuICAgIG9wdGlvbnM6IEludGVncmF0aW9uVGVzdEF1dG9EaXNjb3ZlckJhc2VPcHRpb25zXG4gICkge1xuICAgIHN1cGVyKHByb2plY3QsIHtcbiAgICAgIGV4dGVuc2lvbjogVFlQRVNDUklQVF9JTlRFR19FWFQsXG4gICAgICBwcm9qZWN0ZGlyOiBvcHRpb25zLnRlc3RkaXIsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -21,5 +21,5 @@ class ConstructLibrary extends jsii_project_1.JsiiProject {
21
21
  }
22
22
  exports.ConstructLibrary = ConstructLibrary;
23
23
  _a = JSII_RTTI_SYMBOL_1;
24
- ConstructLibrary[_a] = { fqn: "projen.cdk.ConstructLibrary", version: "0.99.0" };
24
+ ConstructLibrary[_a] = { fqn: "projen.cdk.ConstructLibrary", version: "0.99.1" };
25
25
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RydWN0LWxpYi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jZGsvY29uc3RydWN0LWxpYi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGlEQUFpRTtBQW9DakU7O0dBRUc7QUFDSCxNQUFzQixnQkFBaUIsU0FBUSwwQkFBVztJQUN4RCxZQUFZLE9BQWdDO1FBQzFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVmLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyx5QkFBeUI7UUFDbEQsSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFO2dCQUNoQyxPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPO2dCQUNoQyxRQUFRLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxRQUFRO2FBQ25DLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDOztBQVhILDRDQVlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSnNpaVByb2plY3QsIEpzaWlQcm9qZWN0T3B0aW9ucyB9IGZyb20gXCIuL2pzaWktcHJvamVjdFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbnN0cnVjdExpYnJhcnlPcHRpb25zIGV4dGVuZHMgSnNpaVByb2plY3RPcHRpb25zIHtcbiAgLyoqXG4gICAqIExpYnJhcmllcyB3aWxsIGJlIHBpY2tlZCB1cCBieSB0aGUgY29uc3RydWN0IGNhdGFsb2cgd2hlbiB0aGV5IGFyZVxuICAgKiBwdWJsaXNoZWQgdG8gbnBtIGFzIGpzaWkgbW9kdWxlcyBhbmQgd2lsbCBiZSBwdWJsaXNoZWQgdW5kZXI6XG4gICAqXG4gICAqICAgICBodHRwczovL2F3c2Nkay5pby9wYWNrYWdlcy9bQFNDT1BFL11QQUNLQUdFQFZFUlNJT05cbiAgICpcbiAgICogVGhlIGNhdGFsb2cgd2lsbCBhbHNvIHBvc3QgYSB0d2VldCB0byBodHRwczovL3R3aXR0ZXIuY29tL2F3c2Nka2lvIHdpdGggdGhlXG4gICAqIHBhY2thZ2UgbmFtZSwgZGVzY3JpcHRpb24gYW5kIHRoZSBhYm92ZSBsaW5rLiBZb3UgY2FuIGRpc2FibGUgdGhlc2UgdHdlZXRzXG4gICAqIHRocm91Z2ggYHsgYW5ub3VuY2U6IGZhbHNlIH1gLlxuICAgKlxuICAgKiBZb3UgY2FuIGFsc28gYWRkIGEgVHdpdHRlciBoYW5kbGUgdGhyb3VnaCBgeyB0d2l0dGVyOiAneHgnIH1gIHdoaWNoIHdpbGwgYmVcbiAgICogbWVudGlvbmVkIGluIHRoZSB0d2VldC5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vY29uc3RydWN0LWNhdGFsb2cvY2F0YWxvZ1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5ldyB2ZXJzaW9uIHdpbGwgYmUgYW5ub3VuY2VkXG4gICAqL1xuICByZWFkb25seSBjYXRhbG9nPzogQ2F0YWxvZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDYXRhbG9nIHtcbiAgLyoqXG4gICAqIFR3aXR0ZXIgYWNjb3VudCB0byBAbWVudGlvbiBpbiBhbm5vdW5jZW1lbnQgdHdlZXQuXG4gICAqL1xuICByZWFkb25seSB0d2l0dGVyPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTaG91bGQgd2UgYW5ub3VuY2UgbmV3IHZlcnNpb25zP1xuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBhbm5vdW5jZT86IGJvb2xlYW47XG59XG5cbi8qKlxuICogQSBtdWx0aS1sYW5ndWFnZSBsaWJyYXJ5IGZvciBDREsgY29uc3RydWN0cy5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIENvbnN0cnVjdExpYnJhcnkgZXh0ZW5kcyBKc2lpUHJvamVjdCB7XG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IENvbnN0cnVjdExpYnJhcnlPcHRpb25zKSB7XG4gICAgc3VwZXIob3B0aW9ucyk7XG5cbiAgICB0aGlzLmFkZEtleXdvcmRzKFwiY2RrXCIpOyAvLyBwdWJsaXNoIHRvIHRoZSBjYXRhbG9nXG4gICAgaWYgKG9wdGlvbnMuY2F0YWxvZykge1xuICAgICAgdGhpcy5wYWNrYWdlLmFkZEZpZWxkKFwiYXdzY2RraW9cIiwge1xuICAgICAgICB0d2l0dGVyOiBvcHRpb25zLmNhdGFsb2cudHdpdHRlcixcbiAgICAgICAgYW5ub3VuY2U6IG9wdGlvbnMuY2F0YWxvZy5hbm5vdW5jZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIl19