projen 0.99.79 → 0.100.0

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 (220) hide show
  1. package/.jsii +1677 -3664
  2. package/BREAKING_CHANGES.md +855 -0
  3. package/lib/ai-instructions.d.ts +0 -1
  4. package/lib/ai-instructions.js +6 -12
  5. package/lib/awscdk/auto-discover.js +7 -14
  6. package/lib/awscdk/awscdk-app-java.d.ts +0 -7
  7. package/lib/awscdk/awscdk-app-java.js +28 -21
  8. package/lib/awscdk/awscdk-app-py.d.ts +0 -12
  9. package/lib/awscdk/awscdk-app-py.js +27 -24
  10. package/lib/awscdk/awscdk-app-ts.d.ts +0 -5
  11. package/lib/awscdk/awscdk-app-ts.js +57 -31
  12. package/lib/awscdk/awscdk-construct.d.ts +0 -26
  13. package/lib/awscdk/awscdk-construct.js +4 -44
  14. package/lib/awscdk/awscdk-deps-java.js +2 -6
  15. package/lib/awscdk/awscdk-deps-js.js +2 -7
  16. package/lib/awscdk/awscdk-deps-py.js +2 -7
  17. package/lib/awscdk/awscdk-deps.d.ts +1 -90
  18. package/lib/awscdk/awscdk-deps.js +68 -114
  19. package/lib/awscdk/cdk-config.d.ts +0 -21
  20. package/lib/awscdk/cdk-config.js +44 -51
  21. package/lib/awscdk/cdk-tasks.js +26 -4
  22. package/lib/awscdk/integration-test.js +10 -15
  23. package/lib/awscdk/internal.js +5 -2
  24. package/lib/awscdk/lambda-extension.js +4 -16
  25. package/lib/awscdk/lambda-function.d.ts +0 -10
  26. package/lib/awscdk/lambda-function.js +88 -78
  27. package/lib/awscdk/private/feature-flags-v2.const.d.ts +1 -1
  28. package/lib/awscdk/private/feature-flags-v2.const.js +2 -2
  29. package/lib/build/build-workflow.js +51 -6
  30. package/lib/builtin-example.task.d.ts +1 -0
  31. package/lib/builtin-example.task.js +2 -1
  32. package/lib/cdk/auto-discover-base.js +43 -8
  33. package/lib/cdk/construct-lib.js +2 -4
  34. package/lib/cdk/integration-test-base.js +26 -4
  35. package/lib/cdk/jsii-build.d.ts +0 -1
  36. package/lib/cdk/jsii-build.js +15 -7
  37. package/lib/cdk/jsii-docgen.js +2 -4
  38. package/lib/cdk/jsii-project.d.ts +12 -9
  39. package/lib/cdk/jsii-project.js +22 -7
  40. package/lib/cdk8s/auto-discover.js +3 -6
  41. package/lib/cdk8s/cdk8s-app-py.js +7 -4
  42. package/lib/cdk8s/cdk8s-app-ts.js +43 -6
  43. package/lib/cdk8s/cdk8s-construct.js +44 -5
  44. package/lib/cdk8s/cdk8s-deps-py.js +2 -4
  45. package/lib/cdk8s/cdk8s-deps.js +50 -5
  46. package/lib/cdk8s/integration-test.js +2 -4
  47. package/lib/cdktf/cdktf-construct.js +36 -5
  48. package/lib/circleci/circleci.js +66 -44
  49. package/lib/cleanup.js +38 -5
  50. package/lib/cli/cmds/new.js +51 -20
  51. package/lib/cli/cmds/run-task.js +107 -0
  52. package/lib/cli/{synth.d.ts → cmds/synth.d.ts} +0 -5
  53. package/lib/cli/cmds/synth.js +90 -0
  54. package/lib/cli/index.js +47 -22
  55. package/lib/cli/macros.js +35 -2
  56. package/lib/{task-runtime.d.ts → cli/task-runtime.d.ts} +13 -2
  57. package/lib/cli/task-runtime.js +411 -0
  58. package/lib/cli/util.js +37 -4
  59. package/lib/component.js +3 -4
  60. package/lib/dependencies.js +43 -12
  61. package/lib/dev-env.js +10 -4
  62. package/lib/docker-compose/docker-compose-service.js +54 -4
  63. package/lib/docker-compose/docker-compose.js +8 -4
  64. package/lib/file.js +60 -5
  65. package/lib/gitattributes.js +7 -5
  66. package/lib/github/actions-provider.js +3 -7
  67. package/lib/github/auto-approve.js +3 -4
  68. package/lib/github/auto-merge.js +3 -5
  69. package/lib/github/auto-queue.js +36 -5
  70. package/lib/github/dependabot.js +13 -4
  71. package/lib/github/dependency-review.js +2 -4
  72. package/lib/github/github-credentials.js +37 -5
  73. package/lib/github/github-project.d.ts +1 -32
  74. package/lib/github/github-project.js +30 -8
  75. package/lib/github/github.d.ts +0 -9
  76. package/lib/github/github.js +27 -14
  77. package/lib/github/index.js +24 -2
  78. package/lib/github/merge-queue.js +3 -4
  79. package/lib/github/mergify.d.ts +0 -7
  80. package/lib/github/mergify.js +6 -13
  81. package/lib/github/pr-template.js +2 -4
  82. package/lib/github/pull-request-backport.js +4 -4
  83. package/lib/github/pull-request-lint.js +4 -4
  84. package/lib/github/stale.js +2 -4
  85. package/lib/github/task-workflow-job.js +20 -4
  86. package/lib/github/task-workflow.js +4 -4
  87. package/lib/github/workflow-actions.d.ts +0 -8
  88. package/lib/github/workflow-actions.js +2 -14
  89. package/lib/github/workflow-jobs.js +2 -4
  90. package/lib/github/workflow-steps.js +2 -4
  91. package/lib/github/workflows-model.d.ts +0 -8
  92. package/lib/github/workflows-model.js +1 -1
  93. package/lib/github/workflows.js +39 -6
  94. package/lib/gitlab/configuration-model.d.ts +0 -4
  95. package/lib/gitlab/configuration-model.js +1 -1
  96. package/lib/gitlab/configuration.js +125 -41
  97. package/lib/gitlab/gitlab-configuration.js +3 -5
  98. package/lib/gitlab/nested-configuration.js +3 -4
  99. package/lib/gitpod.js +11 -7
  100. package/lib/ignore-file.js +5 -4
  101. package/lib/index.d.ts +1 -2
  102. package/lib/index.js +38 -18
  103. package/lib/ini.js +36 -5
  104. package/lib/inventory.d.ts +32 -23
  105. package/lib/inventory.js +37 -4
  106. package/lib/java/java-project.js +26 -4
  107. package/lib/java/junit.js +2 -4
  108. package/lib/java/maven-compile.js +2 -4
  109. package/lib/java/maven-packaging.js +6 -4
  110. package/lib/java/maven-sample.js +2 -4
  111. package/lib/java/pom.js +45 -12
  112. package/lib/java/projenrc.js +10 -4
  113. package/lib/javascript/biome/biome.js +48 -6
  114. package/lib/javascript/bundler.d.ts +0 -8
  115. package/lib/javascript/bundler.js +48 -11
  116. package/lib/javascript/eslint.d.ts +0 -13
  117. package/lib/javascript/eslint.js +38 -37
  118. package/lib/javascript/index.js +24 -2
  119. package/lib/javascript/jest.d.ts +0 -20
  120. package/lib/javascript/jest.js +71 -15
  121. package/lib/javascript/license-checker.js +3 -4
  122. package/lib/javascript/node-package.d.ts +0 -28
  123. package/lib/javascript/node-package.js +137 -38
  124. package/lib/javascript/node-project.d.ts +6 -76
  125. package/lib/javascript/node-project.js +90 -82
  126. package/lib/javascript/npm-config.js +7 -9
  127. package/lib/javascript/prettier.js +16 -4
  128. package/lib/javascript/projenrc.js +3 -4
  129. package/lib/javascript/render-options.d.ts +2 -2
  130. package/lib/javascript/render-options.js +36 -5
  131. package/lib/javascript/typescript-config.js +45 -8
  132. package/lib/javascript/upgrade-dependencies.js +56 -36
  133. package/lib/javascript/util.js +35 -2
  134. package/lib/javascript/yarnrc.d.ts +1 -28
  135. package/lib/javascript/yarnrc.js +3 -45
  136. package/lib/json-patch.js +3 -4
  137. package/lib/json.js +4 -5
  138. package/lib/license.js +37 -5
  139. package/lib/logger.js +14 -11
  140. package/lib/logging.js +10 -7
  141. package/lib/makefile.js +7 -4
  142. package/lib/object-file.js +19 -4
  143. package/lib/project-build.js +26 -4
  144. package/lib/project-tree.js +3 -4
  145. package/lib/project.d.ts +0 -35
  146. package/lib/project.js +105 -58
  147. package/lib/projects.js +37 -6
  148. package/lib/projenrc-json.d.ts +0 -10
  149. package/lib/projenrc-json.js +4 -13
  150. package/lib/projenrc.js +2 -4
  151. package/lib/python/index.js +24 -2
  152. package/lib/python/pip.js +5 -4
  153. package/lib/python/poetry.js +63 -7
  154. package/lib/python/projenrc.js +10 -4
  155. package/lib/python/pyproject-toml-file.js +2 -4
  156. package/lib/python/pytest-sample.js +2 -4
  157. package/lib/python/pytest.d.ts +0 -12
  158. package/lib/python/pytest.js +3 -5
  159. package/lib/python/python-project.js +33 -10
  160. package/lib/python/python-sample.js +2 -4
  161. package/lib/python/requirements-file.js +4 -5
  162. package/lib/python/setuppy.d.ts +0 -8
  163. package/lib/python/setuppy.js +3 -4
  164. package/lib/python/setuptools.js +8 -4
  165. package/lib/python/uv.js +11 -4
  166. package/lib/python/venv.js +45 -6
  167. package/lib/readme.js +2 -4
  168. package/lib/release/bump-version.js +36 -3
  169. package/lib/release/bump-version.task.js +35 -2
  170. package/lib/release/commit-tag-version.js +39 -3
  171. package/lib/release/publisher.d.ts +0 -49
  172. package/lib/release/publisher.js +24 -22
  173. package/lib/release/release-trigger.js +33 -4
  174. package/lib/release/release.d.ts +0 -24
  175. package/lib/release/release.js +66 -31
  176. package/lib/release/tag-version.js +35 -2
  177. package/lib/release/update-changelog.js +36 -3
  178. package/lib/renovatebot.js +14 -4
  179. package/lib/run-projenrc-json.task.js +35 -2
  180. package/lib/run-task.cjs +12567 -271
  181. package/lib/sample-file.js +43 -9
  182. package/lib/smithy/smithy-build.js +46 -1
  183. package/lib/source-code.js +6 -5
  184. package/lib/task-runner.d.ts +25 -0
  185. package/lib/task-runner.js +92 -0
  186. package/lib/task.d.ts +0 -7
  187. package/lib/task.js +13 -13
  188. package/lib/tasks.d.ts +5 -9
  189. package/lib/tasks.js +64 -23
  190. package/lib/testing.js +2 -4
  191. package/lib/textfile.js +3 -4
  192. package/lib/toml.js +36 -5
  193. package/lib/typescript/projenrc-ts.js +8 -4
  194. package/lib/typescript/projenrc.js +6 -4
  195. package/lib/typescript/typescript-typedoc.js +2 -4
  196. package/lib/typescript/typescript.d.ts +0 -10
  197. package/lib/typescript/typescript.js +75 -29
  198. package/lib/util/synth.js +39 -6
  199. package/lib/util.js +38 -5
  200. package/lib/version.d.ts +0 -4
  201. package/lib/version.js +24 -10
  202. package/lib/vscode/devcontainer.js +11 -4
  203. package/lib/vscode/extensions.js +17 -18
  204. package/lib/vscode/launch-config.js +5 -6
  205. package/lib/vscode/settings.js +4 -4
  206. package/lib/vscode/vscode.js +5 -4
  207. package/lib/web/next.js +38 -8
  208. package/lib/web/postcss.js +5 -4
  209. package/lib/web/react.d.ts +0 -14
  210. package/lib/web/react.js +51 -25
  211. package/lib/web/tailwind.js +4 -4
  212. package/lib/xmlfile.js +2 -4
  213. package/lib/yaml.js +40 -5
  214. package/package.json +9 -10
  215. package/lib/cli/synth.js +0 -105
  216. package/lib/cli/tasks.js +0 -71
  217. package/lib/semver.d.ts +0 -34
  218. package/lib/semver.js +0 -56
  219. package/lib/task-runtime.js +0 -317
  220. /package/lib/cli/{tasks.d.ts → cmds/run-task.d.ts} +0 -0
package/lib/readme.js CHANGED
@@ -1,5 +1,4 @@
1
1
  "use strict";
2
- var _a;
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
4
3
  exports.SampleReadme = void 0;
5
4
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
@@ -11,6 +10,7 @@ const sample_file_1 = require("./sample-file");
11
10
  * @param text - The initial contents of the README.md file. Defaults to '# replace this'
12
11
  */
13
12
  class SampleReadme extends sample_file_1.SampleFile {
13
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.SampleReadme", version: "0.100.0" };
14
14
  constructor(project, props) {
15
15
  super(project, props?.filename ?? "README.md", {
16
16
  contents: props?.contents ?? "# replace this",
@@ -18,6 +18,4 @@ class SampleReadme extends sample_file_1.SampleFile {
18
18
  }
19
19
  }
20
20
  exports.SampleReadme = SampleReadme;
21
- _a = JSII_RTTI_SYMBOL_1;
22
- SampleReadme[_a] = { fqn: "projen.SampleReadme", version: "0.99.79" };
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZG1lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3JlYWRtZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLCtDQUEyQztBQXFCM0M7Ozs7O0dBS0c7QUFDSCxNQUFhLFlBQWEsU0FBUSx3QkFBVTtJQUMxQyxZQUFZLE9BQWdCLEVBQUUsS0FBeUI7UUFDckQsS0FBSyxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxJQUFJLFdBQVcsRUFBRTtZQUM3QyxRQUFRLEVBQUUsS0FBSyxFQUFFLFFBQVEsSUFBSSxnQkFBZ0I7U0FDOUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUFMSCxvQ0FNQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUHJvamVjdCB9IGZyb20gXCIuL3Byb2plY3RcIjtcbmltcG9ydCB7IFNhbXBsZUZpbGUgfSBmcm9tIFwiLi9zYW1wbGUtZmlsZVwiO1xuXG4vKipcbiAqIFNhbXBsZVJlYWRtZSBQcm9wZXJ0aWVzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FtcGxlUmVhZG1lUHJvcHMge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIFJFQURNRS5tZCBmaWxlXG4gICAqXG4gICAqIEBkZWZhdWx0IFwiUkVBRE1FLm1kXCJcbiAgICogQGV4YW1wbGUgXCJyZWFkbWUubWRcIlxuICAgKi9cbiAgcmVhZG9ubHkgZmlsZW5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBjb250ZW50c1xuICAgKiBAZGVmYXVsdCBcIiMgcmVwbGFjZSB0aGlzXCJcbiAgICovXG4gIHJlYWRvbmx5IGNvbnRlbnRzPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBSRUFETUUubWQgc2FtcGxlIGZpbGUuXG4gKiBZb3UgYXJlIGV4cGVjdGVkIHRvIG1hbmFnZSB0aGlzIGZpbGUgYWZ0ZXIgY3JlYXRpb24uXG4gKlxuICogQHBhcmFtIHRleHQgLSBUaGUgaW5pdGlhbCBjb250ZW50cyBvZiB0aGUgUkVBRE1FLm1kIGZpbGUuIERlZmF1bHRzIHRvICcjIHJlcGxhY2UgdGhpcydcbiAqL1xuZXhwb3J0IGNsYXNzIFNhbXBsZVJlYWRtZSBleHRlbmRzIFNhbXBsZUZpbGUge1xuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBQcm9qZWN0LCBwcm9wcz86IFNhbXBsZVJlYWRtZVByb3BzKSB7XG4gICAgc3VwZXIocHJvamVjdCwgcHJvcHM/LmZpbGVuYW1lID8/IFwiUkVBRE1FLm1kXCIsIHtcbiAgICAgIGNvbnRlbnRzOiBwcm9wcz8uY29udGVudHMgPz8gXCIjIHJlcGxhY2UgdGhpc1wiLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZG1lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3JlYWRtZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQ0EsK0NBQTJDO0FBcUIzQzs7Ozs7R0FLRztBQUNILE1BQWEsWUFBYSxTQUFRLHdCQUFVOztJQUMxQyxZQUFZLE9BQWdCLEVBQUUsS0FBeUI7UUFDckQsS0FBSyxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxJQUFJLFdBQVcsRUFBRTtZQUM3QyxRQUFRLEVBQUUsS0FBSyxFQUFFLFFBQVEsSUFBSSxnQkFBZ0I7U0FDOUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUFMSCxvQ0FNQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUHJvamVjdCB9IGZyb20gXCIuL3Byb2plY3RcIjtcbmltcG9ydCB7IFNhbXBsZUZpbGUgfSBmcm9tIFwiLi9zYW1wbGUtZmlsZVwiO1xuXG4vKipcbiAqIFNhbXBsZVJlYWRtZSBQcm9wZXJ0aWVzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FtcGxlUmVhZG1lUHJvcHMge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIFJFQURNRS5tZCBmaWxlXG4gICAqXG4gICAqIEBkZWZhdWx0IFwiUkVBRE1FLm1kXCJcbiAgICogQGV4YW1wbGUgXCJyZWFkbWUubWRcIlxuICAgKi9cbiAgcmVhZG9ubHkgZmlsZW5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBjb250ZW50c1xuICAgKiBAZGVmYXVsdCBcIiMgcmVwbGFjZSB0aGlzXCJcbiAgICovXG4gIHJlYWRvbmx5IGNvbnRlbnRzPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBSRUFETUUubWQgc2FtcGxlIGZpbGUuXG4gKiBZb3UgYXJlIGV4cGVjdGVkIHRvIG1hbmFnZSB0aGlzIGZpbGUgYWZ0ZXIgY3JlYXRpb24uXG4gKlxuICogQHBhcmFtIHRleHQgLSBUaGUgaW5pdGlhbCBjb250ZW50cyBvZiB0aGUgUkVBRE1FLm1kIGZpbGUuIERlZmF1bHRzIHRvICcjIHJlcGxhY2UgdGhpcydcbiAqL1xuZXhwb3J0IGNsYXNzIFNhbXBsZVJlYWRtZSBleHRlbmRzIFNhbXBsZUZpbGUge1xuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBQcm9qZWN0LCBwcm9wcz86IFNhbXBsZVJlYWRtZVByb3BzKSB7XG4gICAgc3VwZXIocHJvamVjdCwgcHJvcHM/LmZpbGVuYW1lID8/IFwiUkVBRE1FLm1kXCIsIHtcbiAgICAgIGNvbnRlbnRzOiBwcm9wcz8uY29udGVudHMgPz8gXCIjIHJlcGxhY2UgdGhpc1wiLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -1,10 +1,43 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
36
  exports.bump = bump;
4
37
  const fs_1 = require("fs");
5
38
  const path_1 = require("path");
6
39
  const semver_1 = require("semver");
7
- const logging = require("../logging");
40
+ const logging = __importStar(require("../logging"));
8
41
  const util_1 = require("../util");
9
42
  const version_1 = require("../version");
10
43
  const bump_type_1 = require("./bump-type");
@@ -247,7 +280,7 @@ function determineLatestTag(options) {
247
280
  // remove tag prefix (if exists)
248
281
  let latestVersion = latestTag;
249
282
  if (prefix && latestVersion.startsWith(prefix)) {
250
- latestVersion = latestVersion.substr(prefix.length);
283
+ latestVersion = latestVersion.substring(prefix.length);
251
284
  }
252
285
  // remove "v" prefix (if exists)
253
286
  if (latestVersion.startsWith("v")) {
@@ -255,4 +288,4 @@ function determineLatestTag(options) {
255
288
  }
256
289
  return { latestVersion, latestTag, isFirstRelease };
257
290
  }
258
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVtcC12ZXJzaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3JlbGVhc2UvYnVtcC12ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBb0pBLG9CQTRKQztBQWhURCwyQkFBZ0Q7QUFDaEQsK0JBQXFDO0FBRXJDLG1DQUFpQztBQUNqQyxzQ0FBc0M7QUFDdEMsa0NBQXVEO0FBQ3ZELHdDQUErQztBQUUvQywyQ0FLcUI7QUFDckIsNkRBQTJEO0FBNkgzRDs7Ozs7Ozs7R0FRRztBQUNJLEtBQUssVUFBVSxJQUFJLENBQUMsR0FBVyxFQUFFLE9BQW9CO0lBQzFELE1BQU0sV0FBVyxHQUFHLElBQUEsV0FBSSxFQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbkQsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQztJQUN0QyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDO0lBQ25DLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUM7SUFDbkMsTUFBTSxlQUFlLEdBQUcsT0FBTyxDQUFDLGVBQWUsQ0FBQztJQUNoRCxNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQztJQUMxQyxNQUFNLFFBQVEsR0FBRyxJQUFBLFdBQUksRUFBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdDLE1BQU0sYUFBYSxHQUFHLElBQUEsV0FBSSxFQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDbkQsTUFBTSxjQUFjLEdBQUcsSUFBQSxXQUFJLEVBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUV6RCxJQUFJLEtBQUssSUFBSSxlQUFlLEVBQUUsQ0FBQztRQUM3QixNQUFNLElBQUksS0FBSyxDQUNiLDJEQUEyRCxDQUM1RCxDQUFDO0lBQ0osQ0FBQztJQUNELElB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fSBmcm9tIFwiZnNcIjtcbmltcG9ydCB7IGRpcm5hbWUsIGpvaW4gfSBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHR5cGUgeyBDb25maWcgfSBmcm9tIFwiY29udmVudGlvbmFsLWNoYW5nZWxvZy1jb25maWctc3BlY1wiO1xuaW1wb3J0IHsgY29tcGFyZSB9IGZyb20gXCJzZW12ZXJcIjtcbmltcG9ydCAqIGFzIGxvZ2dpbmcgZnJvbSBcIi4uL2xvZ2dpbmdcIjtcbmltcG9ydCB7IGV4ZWNDYXB0dXJlLCBleGVjT3JVbmRlZmluZWQgfSBmcm9tIFwiLi4vdXRpbFwiO1xuaW1wb3J0IHsgUmVsZWFzYWJsZUNvbW1pdHMgfSBmcm9tIFwiLi4vdmVyc2lvblwiO1xuaW1wb3J0IHR5cGUgeyBCdW1wVHlwZSB9IGZyb20gXCIuL2J1bXAtdHlwZVwiO1xuaW1wb3J0IHtcbiAgcGFyc2VCdW1wVHlwZSxcbiAgcGVyZm9ybUJ1bXAsXG4gIHJlbGF0aXZlQnVtcFR5cGUsXG4gIHJlbmRlckJ1bXBUeXBlLFxufSBmcm9tIFwiLi9idW1wLXR5cGVcIjtcbmltcG9ydCB7IENvbW1pdEFuZFRhZ1ZlcnNpb24gfSBmcm9tIFwiLi9jb21taXQtdGFnLXZlcnNpb25cIjtcblxuZXhwb3J0IGludGVyZmFjZSBCdW1wT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiBhIC5qc29uIGZpbGUgdG8gc2V0IGB2ZXJzaW9uYC5cbiAgICovXG4gIHJlYWRvbmx5IHZlcnNpb25GaWxlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBjaGFuZ2Vsb2cgZmlsZSB0byBnZW5lcmF0ZS5cbiAgICovXG4gIHJlYWRvbmx5IGNoYW5nZWxvZzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBVc2UgYSBwcmUtcmVsZWFzZSBzdWZmaXguXG4gICAqIEBkZWZhdWx0IC0gbm9ybWFsIHZlcnNpb25pbmdcbiAgICovXG4gIHJlYWRvbmx5IHByZXJlbGVhc2U/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIERlZmluZXMgdGhlIG1ham9yIHZlcnNpb24gbGluZS4gVGhpcyBpcyB1c2VkIHRvIHNlbGVjdCB0aGUgbGF0ZXN0IHZlcnNpb25cbiAgICogYW5kIGFsc28gZW5mb3JjZSB0aGF0IG5ldyBtYWpvciB2ZXJzaW9ucyBhcmUgbm90IHJlbGVhc2VkIGFjY2lkZW50YWxseS5cbiAgICpcbiAgICogQ2FuIG5vdCBiZSBzZXQgdG9nZXRoZXIgd2l0aCBgbWluTWFqb3JWZXJzaW9uYC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBhbnkgdmVyc2lvbiBpcyBzdXBwb3J0ZWRcbiAgICovXG4gIHJlYWRvbmx5IG1ham9yVmVyc2lvbj86IG51bWJlcjtcblxuICAvKipcbiAgICogRGVmaW5lcyB0aGUgbWluaW1hbCBtYWpvciB2ZXJzaW9uLiBUaGlzIGlzIHVzZWQgaWYgeW91IHdhbnQgdG8gc3RhcnQgd2l0aFxuICAgKiBhIHNwZWNpZmljIG1ham9yIHZlcnNpb24sIGFuZCBpbmNyZW1lbnQgZnJvbSB0aGVyZSBvbi5cbiAgICogVGhpcyBjYW4gYmUgdXNlZnVsIHRvIHNldCB0byAxLCBhcyBicmVha2luZyBjaGFuZ2VzIGJlZm9yZSB0aGUgMS54IG1ham9yXG4gICAqIHJlbGVhc2UgYXJlIG5vdCBpbmNyZW1lbnRpbmcgdGhlIG1ham9yIHZlcnNpb24gbnVtYmVyLlxuICAgKlxuICAgKiBDYW4gbm90IGJlIHNldCB0b2dldGhlciB3aXRoIGBtYWpvclZlcnNpb25gLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vIG1pbmltdW0gdmVyc2lvbiBpcyBiZWluZyBlbmZvcmNlZFxuICAgKi9cbiAgcmVhZG9ubHkgbWluTWFqb3JWZXJzaW9uPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBEZWZpbmVzIHRoZSBtaW5vciB2ZXJzaW9uIGxpbmUuIFRoaXMgaXMgdXNlZCB0byBzZWxlY3QgdGhlIGxhdGVzdCB2ZXJzaW9uXG4gICAqIGFuZCBhbHNvIGVuZm9yY2UgdGhhdCBuZXcgbWlub3IgdmVyc2lvbnMgYXJlIG5vdCByZWxlYXNlZCBhY2NpZGVudGFsbHkuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gYW55IHZlcnNpb24gaXMgc3VwcG9ydGVkXG4gICAqL1xuICByZWFkb25seSBtaW5vclZlcnNpb24/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIGEgZmlsZSB3aGljaCB3aWxsIGluY2x1ZGUgdGhlIG91dHB1dCB2ZXJzaW9uIG51bWJlciAoYSB0ZXh0IGZpbGUpLlxuICAgKlxuICAgKiBSZWxhdGl2ZSB0byBjd2QuXG4gICAqXG4gICAqIEBleGFtcGxlIFwiLnZlcnNpb24udHh0XCJcbiAgICovXG4gIHJlYWRvbmx5IGJ1bXBGaWxlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBmaWxlIHdoaWNoIHdpbGwgaW5jbHVkZSB0aGUgcmVsZWFzZSB0YWcgKGEgdGV4dCBmaWxlKS5cbiAgICpcbiAgICogUmVsYXRpdmUgdG8gY3dkLlxuICAgKlxuICAgKiBAZXhhbXBsZSBcIi5yZWxlYXNldGFnLnR4dFwiXG4gICAqL1xuICByZWFkb25seSByZWxlYXNlVGFnRmlsZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcHJlZml4IGFwcGxpZWQgdG8gcmVsZWFzZSB0YWdzLiBCdW1wcyB3aWxsIGJlIG1hZGUgYmFzZWQgb24gdGhlIGxhdGVzdFxuICAgKiB2ZXJzaW9uIGZvdW5kIHdpdGggdGhpcyBwcmVmaXguXG4gICAqL1xuICByZWFkb25seSB0YWdQcmVmaXg/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENvbmZpZ3VyYXRpb24gdmFsdWVzIHRoYXQgd291bGQgYXBwZW5kIHRvIHZlcnNpb25yYyBmaWxlIG9yIG92ZXJ3cml0ZSB2YWx1ZXNcbiAgICogY29taW5nIHRvIHRoYXQgZnJvbSBkZWZhdWx0IG9uZS5cbiAgICovXG4gIHJlYWRvbmx5IHZlcnNpb25yY09wdGlvbnM/OiBDb25maWc7XG5cbiAgLyoqXG4gICAqIEEgc2hlbGwgY29tbWFuZCB0byBsaXN0IGFsbCByZWxlYXNlIGNvbW1pdHMgc2luY2UgdGhlIGxhdGVzdCB0YWcuXG4gICAqXG4gICAqIEEgbmV3IHJlbGVhc2Ugd2lsbCBiZSBpbml0aWF0ZWQsIGlmIHRoZSBudW1iZXIgb2YgcmV0dXJuZWQgY29tbWl0cyBpcyBncmVhdGVyIHRoYW4gemVyby5cbiAgICpcbiAgICogYCRMQVRFU1RfVEFHYCB3aWxsIGJlIHJlcGxhY2VkIHdpdGggdGhlIGFjdHVhbCBsYXRlc3QgdGFnIGZvciB0aGUgZ2l2ZW4gcHJlZml4LlxuICAgKlxuICAgKiBAZGVmYXVsdCBcImdpdCBsb2cgLS1vbmVsaW5lICRMQVRFU1RfVEFHLi5IRUFEXCJcbiAgICovXG4gIHJlYWRvbmx5IHJlbGVhc2FibGVDb21taXRzPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgYGNvbW1pdC1hbmQtdGFnLXZlcnNpb25gIGNvbXBhdGlibGUgcGFja2FnZSB1c2VkIHRvIGJ1bXAgdGhlIHBhY2thZ2UgdmVyc2lvbiwgYXMgYSBkZXBlbmRlbmN5IHN0cmluZy5cbiAgICpcbiAgICogVGhpcyBjYW4gYmUgYW55IGNvbXBhdGlibGUgcGFja2FnZSB2ZXJzaW9uLCBpbmNsdWRpbmcgdGhlIGRlcHJlY2F0ZWQgYHN0YW5kYXJkLXZlcnNpb25AOWAuXG4gICAqXG4gICAqIEBkZWZhdWx0IFwiY29tbWl0LWFuZC10YWctdmVyc2lvbkAxMlwiXG4gICAqL1xuICByZWFkb25seSBidW1wUGFja2FnZT86IHN0cmluZztcblxuICAvKipcbiAgICogQSBzaGVsbCBjb21tYW5kIHRvIGNvbnRyb2wgdGhlIG5leHQgdmVyc2lvbiB0byByZWxlYXNlLlxuICAgKlxuICAgKiBJZiBwcmVzZW50LCB0aGlzIHNoZWxsIGNvbW1hbmQgd2lsbCBiZSBydW4gYmVmb3JlIHRoZSBidW1wIGlzIGV4ZWN1dGVkLCBhbmRcbiAgICogaXQgZGV0ZXJtaW5lcyB3aGF0IHZlcnNpb24gdG8gcmVsZWFzZS4gSXQgd2lsbCBiZSBleGVjdXRlZCBpbiB0aGUgZm9sbG93aW5nXG4gICAqIGVudmlyb25tZW50OlxuICAgKlxuICAgKiAtIFdvcmtpbmcgZGlyZWN0b3J5OiB0aGUgcHJvamVjdCBkaXJlY3RvcnkuXG4gICAqIC0gYCRWRVJTSU9OYDogdGhlIGN1cnJlbnQgdmVyc2lvbi4gTG9va3MgbGlrZSBgMS4yLjNgLlxuICAgKiAtIGAkTEFURVNUX1RBR2A6IHRoZSBtb3N0IHJlY2VudCB0YWcuIExvb2tzIGxpa2UgYHByZWZpeC12MS4yLjNgLCBvciBtYXkgYmUgdW5zZXQuXG4gICAqXG4gICAqIFRoZSBjb21tYW5kIHNob3VsZCBwcmludCBvbmUgb2YgdGhlIGZvbGxvd2luZyB0byBgc3Rkb3V0YDpcbiAgICpcbiAgICogLSBOb3RoaW5nOiB0aGUgbmV4dCB2ZXJzaW9uIG51bWJlciB3aWxsIGJlIGRldGVybWluZWQgYmFzZWQgb24gY29tbWl0IGhpc3RvcnkuXG4gICAqIC0gYHgueS56YDogdGhlIG5leHQgdmVyc2lvbiBudW1iZXIgd2lsbCBiZSBgeC55LnpgLlxuICAgKiAtIGBtYWpvcnxtaW5vcnxwYXRjaGA6IHRoZSBuZXh0IHZlcnNpb24gbnVtYmVyIHdpbGwgYmUgdGhlIGN1cnJlbnQgdmVyc2lvbiBudW1iZXJcbiAgICogICB3aXRoIHRoZSBpbmRpY2F0ZWQgY29tcG9uZW50IGJ1bXBlZC5cbiAgICpcbiAgICogVGhpcyBzZXR0aW5nIGNhbm5vdCBiZSBzcGVjaWZpZWQgdG9nZXRoZXIgd2l0aCBgbWluTWFqb3JWZXJzaW9uYDsgdGhlIGludm9rZWRcbiAgICogc2NyaXB0IGNhbiBiZSB1c2VkIHRvIGFjaGlldmUgdGhlIGVmZmVjdHMgb2YgYG1pbk1ham9yVmVyc2lvbmAuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gVGhlIG5leHQgdmVyc2lvbiB3aWxsIGJlIGRldGVybWluZWQgYmFzZWQgb24gdGhlIGNvbW1pdCBoaXN0b3J5IGFuZCBwcm9qZWN0IHNldHRpbmdzLlxuICAgKi9cbiAgcmVhZG9ubHkgbmV4dFZlcnNpb25Db21tYW5kPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlc29sdmVzIHRoZSBsYXRlc3QgdmVyc2lvbiBmcm9tIGdpdCB0YWdzIGFuZCB1c2VzIGBjb21taXQtYW5kLXRhZy12ZXJzaW9uYCB0byBidW1wXG4gKiB0byB0aGUgbmV4dCB2ZXJzaW9uIGJhc2VkIG9uIGNvbW1pdHMuXG4gKlxuICogVGhpcyBleHBlY3RzIGBjb21taXQtYW5kLXRhZy12ZXJzaW9uYCB0byBiZSBpbnN0YWxsZWQgaW4gdGhlIHBhdGguXG4gKlxuICogQHBhcmFtIGN3ZCB3b3JraW5nIGRpcmVjdG9yeSAoZ2l0IHJlcG9zaXRvcnkpXG4gKiBAcGFyYW0gb3B0aW9ucyBvcHRpb25zXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBidW1wKGN3ZDogc3RyaW5nLCBvcHRpb25zOiBCdW1wT3B0aW9ucykge1xuICBjb25zdCB2ZXJzaW9uRmlsZSA9IGpvaW4oY3dkLCBvcHRpb25zLnZlcnNpb25GaWxlKTtcbiAgY29uc3QgcHJlcmVsZWFzZSA9IG9wdGlvbnMucHJlcmVsZWFzZTtcbiAgY29uc3QgbWFqb3IgPSBvcHRpb25zLm1ham9yVmVyc2lvbjtcbiAgY29uc3QgbWlub3IgPSBvcHRpb25zLm1pbm9yVmVyc2lvbjtcbiAgY29uc3QgbWluTWFqb3JWZXJzaW9uID0gb3B0aW9ucy5taW5NYWpvclZlcnNpb247XG4gIGNvbnN0IHRhZ1ByZWZpeCA9IG9wdGlvbnMudGFnUHJlZml4ID8/IFwiXCI7XG4gIGNvbnN0IGJ1bXBGaWxlID0gam9pbihjd2QsIG9wdGlvbnMuYnVtcEZpbGUpO1xuICBjb25zdCBjaGFuZ2Vsb2dGaWxlID0gam9pbihjd2QsIG9wdGlvbnMuY2hhbmdlbG9nKTtcbiAgY29uc3QgcmVsZWFzZVRhZ0ZpbGUgPSBqb2luKGN3ZCwgb3B0aW9ucy5yZWxlYXNlVGFnRmlsZSk7XG5cbiAgaWYgKG1ham9yICYmIG1pbk1ham9yVmVyc2lvbikge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGBtaW5NYWpvclZlcnNpb24gYW5kIG1ham9yVmVyc2lvbiBjYW5ub3QgYmUgdXNlZCB0b2dldGhlci5gLFxuICAgICk7XG4gIH1cbiAgaWYgKG9wdGlvbnMubmV4dFZlcnNpb25Db21tYW5kICYmIG1pbk1ham9yVmVyc2lvbikge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGBtaW5NYWpvclZlcnNpb24gYW5kIG5leHRWZXJzaW9uQ29tbWFuZCBjYW5ub3QgYmUgdXNlZCB0b2dldGhlci5gLFxuICAgICk7XG4gIH1cbiAgaWYgKG1pbm9yICYmICFtYWpvcikge1xuICAgIHRocm93IG5ldyBFcnJvcihgbWlub3JWZXJzaW9uIGFuZCBtYWpvclZlcnNpb24gbXVzdCBiZSB1c2VkIHRvZ2V0aGVyLmApO1xuICB9XG5cbiAgYXdhaXQgZnMubWtkaXIoZGlybmFtZShidW1wRmlsZSksIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuICBhd2FpdCBmcy5ta2RpcihkaXJuYW1lKGNoYW5nZWxvZ0ZpbGUpLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgYXdhaXQgZnMubWtkaXIoZGlybmFtZShyZWxlYXNlVGFnRmlsZSksIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuXG4gIGNvbnN0IHsgbGF0ZXN0VmVyc2lvbiwgbGF0ZXN0VGFnLCBpc0ZpcnN0UmVsZWFzZSB9ID0gZGV0ZXJtaW5lTGF0ZXN0VGFnKHtcbiAgICBjd2QsXG4gICAgbWFqb3IsXG4gICAgbWlub3IsXG4gICAgcHJlcmVsZWFzZSxcbiAgICBwcmVmaXg6IHRhZ1ByZWZpeCxcbiAgfSk7XG5cbiAgLy8gV3JpdGUgdGhlIGN1cnJlbnQgdmVyc2lvbiBpbnRvIHRoZSB2ZXJzaW9uIGZpbGUgc28gdGhhdCBDQVRWIHdpbGwga25vdyB0aGUgY3VycmVudCB2ZXJzaW9uXG4gIGNvbnN0IHsgY29udGVudHMsIG5ld2xpbmUgfSA9IGF3YWl0IHRyeVJlYWRWZXJzaW9uRmlsZSh2ZXJzaW9uRmlsZSk7XG4gIGNvbnRlbnRzLnZlcnNpb24gPSBsYXRlc3RWZXJzaW9uO1xuICBsb2dnaW5nLmluZm8oXG4gICAgYFVwZGF0ZSAke3ZlcnNpb25GaWxlfSB0byBsYXRlc3QgcmVzb2x2ZWQgdmVyc2lvbjogJHtsYXRlc3RWZXJzaW9ufWAsXG4gICk7XG4gIGF3YWl0IGZzLndyaXRlRmlsZShcbiAgICB2ZXJzaW9uRmlsZSxcbiAgICBKU09OLnN0cmluZ2lmeShjb250ZW50cywgdW5kZWZpbmVkLCAyKSArIChuZXdsaW5lID8gXCJcXG5cIiA6IFwiXCIpLFxuICApO1xuXG4gIC8vIERldGVybWluZSB0aGUgaW5pdGlhbCBidW1wIHN0YXR1cy4gQ0FUViB3aWxsIGFsd2F5cyBkbyBhIHBhdGNoIGV2ZW4gaWZcbiAgLy8gdGhlcmUgYXJlIG5vIGNvbW1pdHMsIHNvIGxvb2sgYXQgY29tbWl0cyBvdXJzZWx2ZXMgZmlyc3QgdG8gZGVjaWRlXG4gIC8vIGlmIHdlIGV2ZW4gc2hvdWxkIGRvIG5vdGhpbmcgYXQgYWxsLlxuICBjb25zdCBzaG91bGRSZWxlYXNlID0gaXNGaXJzdFJlbGVhc2VcbiAgICA/IHRydWVcbiAgICA6IGhhc05ld0ludGVyZXN0aW5nQ29tbWl0cyh7XG4gICAgICAgIGN3ZCxcbiAgICAgICAgbGF0ZXN0VGFnLFxuICAgICAgICByZWxlYXNhYmxlQ29tbWl0czogb3B0aW9ucy5yZWxlYXNhYmxlQ29tbWl0cyxcbiAgICAgIH0pO1xuXG4gIGNvbnN0IGNhdHYgPSBuZXcgQ29tbWl0QW5kVGFnVmVyc2lvbihvcHRpb25zLmJ1bXBQYWNrYWdlLCBjd2QsIHtcbiAgICB2ZXJzaW9uRmlsZSxcbiAgICBjaGFuZ2Vsb2dGaWxlLFxuICAgIHByZXJlbGVhc2UsXG4gICAgY29uZmlnT3B0aW9uczogb3B0aW9ucy52ZXJzaW9ucmNPcHRpb25zLFxuICAgIHRhZ1ByZWZpeCxcbiAgfSk7XG5cbiAgLy8gV2UgdXNlZCB0byB0cmFuc2xhdGUgYGlzRmlyc3RSZWxlYXNlYCB0byB0aGUgYC0tZmlyc3QtcmVsZWFzZWAgZmxhZyBvZiBDQVRWLlxuICAvLyBXaGF0IHRoYXQgZG9lcyBpcyBza2lwIGEgYnVtcCwgb25seSBnZW5lcmF0ZSB0aGUgY2hhbmdlbG9nLlxuICAvL1xuICAvLyBPdXIgYHsgYnVtcDogbm9uZSB9YCBkb2VzIHRoZSBzYW1lLCBzbyB3ZSBkb24ndCBuZWVkIHRvIGNhcnJ5IG92ZXIgdGhpc1xuICAvLyBmbGFnIGFueW1vcmUuXG4gIGxldCBidW1wVHlwZTogQnVtcFR5cGUgPVxuICAgIHNob3VsZFJlbGVhc2UgJiYgIWlzRmlyc3RSZWxlYXNlXG4gICAgICA/IHJlbGF0aXZlQnVtcFR5cGUobGF0ZXN0VmVyc2lvbiwgYXdhaXQgY2F0di5kcnlSdW4oKSlcbiAgICAgIDogeyBidW1wOiBcIm5vbmVcIiB9O1xuXG4gIGxvZ2dpbmcuaW5mbyhgQnVtcCBmcm9tIGNvbW1pdHM6ICR7cmVuZGVyQnVtcFR5cGUoYnVtcFR5cGUpfWApO1xuICBpZiAob3B0aW9ucy5uZXh0VmVyc2lvbkNvbW1hbmQpIHtcbiAgICBjb25zdCBuZXh0VmVyc2lvbiA9IGV4ZWNDYXB0dXJlKG9wdGlvbnMubmV4dFZlcnNpb25Db21tYW5kLCB7XG4gICAgICBjd2QsXG4gICAgICBtb2RFbnY6IHtcbiAgICAgICAgVkVSU0lPTjogbGF0ZXN0VmVyc2lvbixcbiAgICAgICAgU1VHR0VTVEVEX0JVTVA6IHJlbmRlckJ1bXBUeXBlKGJ1bXBUeXBlKSxcbiAgICAgICAgLi4uKGxhdGVzdFRhZyA/IHsgTEFURVNUX1RBRzogbGF0ZXN0VGFnIH0gOiB7fSksXG4gICAgICB9LFxuICAgIH0pXG4gICAgICAudG9TdHJpbmcoKVxuICAgICAgLnRyaW0oKTtcblxuICAgIGlmIChuZXh0VmVyc2lvbikge1xuICAgICAgdHJ5IHtcbiAgICAgICAgYnVtcFR5cGUgPSBwYXJzZUJ1bXBUeXBlKG5leHRWZXJzaW9uKTtcbiAgICAgICAgbG9nZ2luZy5pbmZvKFxuICAgICAgICAgIGBCdW1wIGZyb20gbmV4dFZlcnNpb25Db21tYW5kOiAke3JlbmRlckJ1bXBUeXBlKGJ1bXBUeXBlKX1gLFxuICAgICAgICApO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYG5leHRWZXJzaW9uQ29tbWFuZCBcIiR7b3B0aW9ucy5uZXh0VmVyc2lvbkNvbW1hbmR9XCIgcmV0dXJuZWQgaW52YWxpZCBvdXRwdXQ6ICR7ZX1gLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJlc3BlY3QgbWluTWFqb3JWZXJzaW9uIHRvIGNvcnJlY3QgdGhlIHJlc3VsdCBvZiB0aGUgbmV4dFZlcnNpb25Db21tYW5kXG4gIGlmIChtaW5NYWpvclZlcnNpb24pIHtcbiAgICBjb25zdCBidW1wZWRWZXJzaW9uID0gcGVyZm9ybUJ1bXAobGF0ZXN0VmVyc2lvbiwgYnVtcFR5cGUpO1xuICAgIGNvbnN0IFttYWpvclZlcnNpb25dID0gYnVtcGVkVmVyc2lvbi5zcGxpdChcIi5cIik7XG4gICAgY29uc3QgbWFqb3JWZXJzaW9uTnVtYmVyID0gcGFyc2VJbnQobWFqb3JWZXJzaW9uLCAxMCk7XG4gICAgaWYgKG1ham9yVmVyc2lvbk51bWJlciA8IG1pbk1ham9yVmVyc2lvbikge1xuICAgICAgYnVtcFR5cGUgPSB7IGJ1bXA6IFwiYWJzb2x1dGVcIiwgYWJzb2x1dGU6IGAke21pbk1ham9yVmVyc2lvbn0uMC4wYCB9O1xuICAgIH1cbiAgfVxuXG4gIC8vIEludm9rZSBDQVRWIHdpdGggdGhlIG9wdGlvbnMgd2UgbGFuZGVkIG9uLiBJZiB3ZSBkZWNpZGVkIG5vdCB0byBkbyBhIGJ1bXAsXG4gIC8vIHdlIHdpbGwgdXNlIHRoaXMgdG8gcmVnZW5lcmF0ZSB0aGUgY2hhbmdlbG9nIG9mIHRoZSBtb3N0IHJlY2VudCB2ZXJzaW9uLlxuICBjb25zdCBuZXdSZWxlYXNlID0gYnVtcFR5cGUuYnVtcCAhPT0gXCJub25lXCI7XG5cbiAgLy8gSWYgd2UncmUgbm90IGRvaW5nIGEgbmV3IHJlbGVhc2UgYW5kIHRoaXMgaXMgbm90IHRoZVxuICAvLyBmaXJzdCByZWxlYXNlLCB3ZSdyZSBqdXN0IHJlZ2VuZXJhdGluZyB0aGUgcHJldmlvdXMgY2hhbmdlbG9nIGFnYWluLlxuICBpZiAoIW5ld1JlbGVhc2UgJiYgIWlzRmlyc3RSZWxlYXNlKSB7XG4gICAgYXdhaXQgY2F0di5yZWdlbmVyYXRlUHJldmlvdXNDaGFuZ2VMb2cobGF0ZXN0VmVyc2lvbiwgbGF0ZXN0VGFnKTtcbiAgfSBlbHNlIHtcbiAgICAvLyBPdGhlcndpc2Ugd2UncmUgZWl0aGVyIGRvaW5nIGEgYnVtcCArIHJlbGVhc2UsIG9yIHdlJ3JlIHJlbGVhc2luZyB0aGVcbiAgICAvLyBmaXJzdCB2ZXJzaW9uIGFzIDAuMC4wICh3aGljaCBpcyBhbHJlYWR5IHRoZSBudW1iZXIgaW4gdGhlIGZpbGUgc28gd2VcbiAgICAvLyBza2lwIGJ1bXBpbmcpLlxuICAgIGF3YWl0IGNhdHYuaW52b2tlKHtcbiAgICAgIHJlbGVhc2VBczogbmV3UmVsZWFzZSA/IHJlbmRlckJ1bXBUeXBlKGJ1bXBUeXBlKSA6IHVuZGVmaW5lZCxcbiAgICAgIHNraXBCdW1wOiAhbmV3UmVsZWFzZSxcbiAgICB9KTtcbiAgfVxuXG4gIC8vIFZhbGlkYXRlIHRoZSB2ZXJzaW9uIHRoYXQgd2UgZW5kZWQgdXAgd2l0aFxuICBjb25zdCBuZXdWZXJzaW9uID0gKGF3YWl0IHRyeVJlYWRWZXJzaW9uRmlsZSh2ZXJzaW9uRmlsZSkpLnZlcnNpb247XG4gIGlmICghbmV3VmVyc2lvbikge1xuICAgIHRocm93IG5ldyBFcnJvcihgYnVtcCBmYWlsZWQ6ICR7dmVyc2lvbkZpbGV9IGRvZXMgbm90IGhhdmUgYSB2ZXJzaW9uIHNldGApO1xuICB9XG4gIGlmIChtYWpvcikge1xuICAgIGlmICghbmV3VmVyc2lvbi5zdGFydHNXaXRoKGAke21ham9yfS5gKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgYnVtcCBmYWlsZWQ6IHRoaXMgYnJhbmNoIGlzIGNvbmZpZ3VyZWQgdG8gb25seSBwdWJsaXNoIHYke21ham9yfSByZWxlYXNlcyAtIGJ1bXAgcmVzdWx0ZWQgaW4gJHtuZXdWZXJzaW9ufWAsXG4gICAgICApO1xuICAgIH1cbiAgfVxuICBpZiAobWlub3IpIHtcbiAgICBpZiAoIW5ld1ZlcnNpb24uc3RhcnRzV2l0aChgJHttYWpvcn0uJHttaW5vcn1gKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgYnVtcCBmYWlsZWQ6IHRoaXMgYnJhbmNoIGlzIGNvbmZpZ3VyZWQgdG8gb25seSBwdWJsaXNoIHYke21ham9yfS4ke21pbm9yfSByZWxlYXNlcyAtIGJ1bXAgcmVzdWx0ZWQgaW4gJHtuZXdWZXJzaW9ufWAsXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlcG9ydCBjdXJlbnQgc3RhdHVzIGludG8gdGhlIGRpc3QvIGRpcmVjdG9yeVxuICBjb25zdCBuZXdUYWcgPSBgJHt0YWdQcmVmaXh9diR7bmV3VmVyc2lvbn1gO1xuICBhd2FpdCBmcy53cml0ZUZpbGUoYnVtcEZpbGUsIG5ld1ZlcnNpb24pO1xuICBhd2FpdCBmcy53cml0ZUZpbGUocmVsZWFzZVRhZ0ZpbGUsIG5ld1RhZyk7XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lIGJhc2VkIG9uIHJlbGVhc2VhYmxlIGNvbW1pdHMgd2hldGhlciB3ZSBzaG91bGQgcmVsZWFzZSBvciBub3RcbiAqL1xuZnVuY3Rpb24gaGFzTmV3SW50ZXJlc3RpbmdDb21taXRzKG9wdGlvbnM6IHtcbiAgcmVsZWFzYWJsZUNvbW1pdHM/OiBzdHJpbmc7XG4gIGxhdGVzdFRhZzogc3RyaW5nO1xuICBjd2Q6IHN0cmluZztcbn0pIHtcbiAgY29uc3QgZmluZENvbW1pdHMgPSAoXG4gICAgb3B0aW9ucy5yZWxlYXNhYmxlQ29tbWl0cyA/PyBSZWxlYXNhYmxlQ29tbWl0cy5ldmVyeUNvbW1pdCgpLmNtZFxuICApLnJlcGxhY2UoXCIkTEFURVNUX1RBR1wiLCBvcHRpb25zLmxhdGVzdFRhZyk7XG5cbiAgY29uc3QgY29tbWl0c1NpbmNlTGFzdFRhZyA9IGV4ZWNPclVuZGVmaW5lZChmaW5kQ29tbWl0cywge1xuICAgIGN3ZDogb3B0aW9ucy5jd2QsXG4gIH0pPy5zcGxpdChcIlxcblwiKTtcbiAgY29uc3QgbnVtQ29tbWl0c1NpbmNlTGFzdFRhZyA9IGNvbW1pdHNTaW5jZUxhc3RUYWc/Lmxlbmd0aCA/PyAwO1xuICBsb2dnaW5nLmluZm8oXG4gICAgYE51bWJlciBvZiBjb21taXRzIHNpbmNlICR7b3B0aW9ucy5sYXRlc3RUYWd9OiAke251bUNvbW1pdHNTaW5jZUxhc3RUYWd9YCxcbiAgKTtcblxuICAvLyBOb3RoaW5nIHRvIHJlbGVhc2UgcmlnaHQgbm93XG4gIGlmIChudW1Db21taXRzU2luY2VMYXN0VGFnID09PSAwKSB7XG4gICAgbG9nZ2luZy5pbmZvKFwiTm8gbmV3IGludGVyZXN0aW5nIGNvbW1pdHMuXCIpO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufVxuXG5hc3luYyBmdW5jdGlvbiB0cnlSZWFkVmVyc2lvbkZpbGUoXG4gIHZlcnNpb25GaWxlOiBzdHJpbmcsXG4pOiBQcm9taXNlPHsgY29udGVudHM6IGFueTsgdmVyc2lvbj86IHN0cmluZzsgbmV3bGluZTogYm9vbGVhbiB9PiB7XG4gIGlmICghZXhpc3RzU3luYyh2ZXJzaW9uRmlsZSkpIHtcbiAgICByZXR1cm4geyBjb250ZW50czoge30sIG5ld2xpbmU6IHRydWUgfTtcbiAgfVxuICBjb25zdCByYXcgPSBhd2FpdCBmcy5yZWFkRmlsZSh2ZXJzaW9uRmlsZSwgXCJ1dGYtOFwiKTtcbiAgY29uc3QgY29udGVudHMgPSBKU09OLnBhcnNlKHJhdyk7XG5cbiAgcmV0dXJuIHtcbiAgICBjb250ZW50cyxcbiAgICB2ZXJzaW9uOiBjb250ZW50cy52ZXJzaW9uLFxuICAgIG5ld2xpbmU6IHJhdy5lbmRzV2l0aChcIlxcblwiKSxcbiAgfTtcbn1cblxuaW50ZXJmYWNlIExhdGVzdFRhZ09wdGlvbnMge1xuICAvKipcbiAgICogV29ya2luZyBkaXJlY3Rvcnkgb2YgdGhlIGdpdCByZXBvc2l0b3J5LlxuICAgKi9cbiAgcmVhZG9ubHkgY3dkOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBNYWpvciB2ZXJzaW9uIHRvIHNlbGVjdCBmcm9tLlxuICAgKi9cbiAgcmVhZG9ubHkgbWFqb3I/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBNaW5vciB2ZXJzaW9uIHRvIHNlbGVjdCBmcm9tLlxuICAgKi9cbiAgcmVhZG9ubHkgbWlub3I/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBBIHByZS1yZWxlYXNlIHN1ZmZpeC5cbiAgICovXG4gIHJlYWRvbmx5IHByZXJlbGVhc2U/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBIHByZWZpeCBhcHBsaWVkIHRvIGFsbCB0YWdzLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJlZml4OiBzdHJpbmc7XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB0aGUgbGF0ZXN0IHJlbGVhc2UgdGFnLlxuICogQHBhcmFtIG1ham9yIChvcHRpb25hbCkgQSBtYWpvciB2ZXJzaW9uIGxpbmUgdG8gc2VsZWN0IGZyb21cbiAqIEBwYXJhbSBwcmVyZWxlYXNlIChvcHRpb25hbCkgQSBwcmUtcmVsZWFzZSBzdWZmaXguXG4gKiBAcmV0dXJucyB0aGUgbGF0ZXN0IHRhZywgYW5kIHdoZXRoZXIgaXQgaXMgdGhlIGZpcnN0IHJlbGVhc2Ugb3Igbm90XG4gKi9cbmZ1bmN0aW9uIGRldGVybWluZUxhdGVzdFRhZyhvcHRpb25zOiBMYXRlc3RUYWdPcHRpb25zKToge1xuICBsYXRlc3RWZXJzaW9uOiBzdHJpbmc7XG4gIGxhdGVzdFRhZzogc3RyaW5nO1xuICBpc0ZpcnN0UmVsZWFzZTogYm9vbGVhbjtcbn0ge1xuICBjb25zdCB7IGN3ZCwgbWFqb3IsIG1pbm9yLCBwcmVyZWxlYXNlLCBwcmVmaXggfSA9IG9wdGlvbnM7XG5cbiAgLy8gZmlsdGVyIG9ubHkgdGFncyBmb3IgdGhpcyBwcmVmaXggYW5kIG1ham9yIHZlcnNpb24gaWYgc3BlY2lmaWVkIChzdGFydCB3aXRoIFwidk5OLlwiKS5cbiAgbGV0IHByZWZpeEZpbHRlcjogc3RyaW5nO1xuICBpZiAobWFqb3IgIT09IHVuZGVmaW5lZCAmJiBtaW5vciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgcHJlZml4RmlsdGVyID0gYCR7cHJlZml4fXYke21ham9yfS4ke21pbm9yfS4qYDtcbiAgfSBlbHNlIGlmIChtYWpvciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgcHJlZml4RmlsdGVyID0gYCR7cHJlZml4fXYke21ham9yfS4qYDtcbiAgfSBlbHNlIHtcbiAgICBwcmVmaXhGaWx0ZXIgPSBgJHtwcmVmaXh9dipgO1xuICB9XG5cbiAgY29uc3QgbGlzdEdpdFRhZ3MgPSBbXG4gICAgXCJnaXRcIixcbiAgICAnLWMgXCJ2ZXJzaW9uc29ydC5zdWZmaXg9LVwiJywgLy8gbWFrZXMgc3VyZSBwcmUtcmVsZWFzZSB2ZXJzaW9ucyBhcmUgbGlzdGVkIGFmdGVyIHRoZSBwcmltYXJ5IHZlcnNpb25cbiAgICBcInRhZ1wiLFxuICAgICctLXNvcnQ9XCItdmVyc2lvbjpyZWZuYW1lXCInLCAvLyBzb3J0IGFzIHZlcnNpb25zIGFuZCBub3QgbGV4aWNvZ3JhcGhpY2FsbHlcbiAgICBcIi0tbGlzdFwiLFxuICAgIGBcIiR7cHJlZml4RmlsdGVyfVwiYCxcbiAgXS5qb2luKFwiIFwiKTtcblxuICBjb25zdCBzdGRvdXQgPSBleGVjQ2FwdHVyZShsaXN0R2l0VGFncywgeyBjd2QgfSkudG9TdHJpbmcoXCJ1dGY4XCIpO1xuXG4gIGxldCB0YWdzID0gc3Rkb3V0Py5zcGxpdChcIlxcblwiKTtcblxuICAvLyBpZiBwcmVyZWxlYXNlIGlzIHNldCBhbmQgdGhlcmUgYXJlIGV4aXN0aW5nIHByZXJlbGVhc2UgdGFncywgZmlsdGVyIHZlcnNpb25zIHRoYXQgZW5kIHdpdGggXCItUFJFLmRkZFwiLlxuICBjb25zdCBwcmVyZWxlYXNlVGFncyA9IHRhZ3MuZmlsdGVyKCh4KSA9PlxuICAgIG5ldyBSZWdFeHAoYC0ke3ByZXJlbGVhc2V9XFxcXC5bMC05XSskYCkudGVzdCh4KSxcbiAgKTtcbiAgaWYgKHByZXJlbGVhc2UgJiYgcHJlcmVsZWFzZVRhZ3MubGVuZ3RoID4gMCkge1xuICAgIGxldCBwcmVyZWxlYXNlVGFnID0gcHJlcmVsZWFzZVRhZ3NbMF07XG5cbiAgICAvKipcbiAgICAgKiBDb3ZlciB0aGUgZm9sbG93aW5nIGNhc2Ugc3BlY2lmaWNhbGx5XG4gICAgICogMSAtIHYxLjAuMFxuICAgICAqIDIgLSB2MS4wLjEtYmV0YS4wXG4gICAgICogMyAtIHYxLjAuMS1iZXRhLjFcbiAgICAgKiA0IC0gdjEuMC4xXG4gICAgICogNSAtIG5vdyBwdWJsaXNoIGEgbmV3IHJlbGVhc2Ugb24gdGhlIHByZXJlbGVhc2UgYnJhbmNoXG4gICAgICogICAgYnkgc2V0dGluZyB0aGUgbGF0ZXN0VGFnIGFzIHYxLjAuMSBpbnN0ZWFkIG9mIHYxLjAuMS1iZXRhLjFcbiAgICAgKi9cbiAgICBjb25zdCByZWxlYXNlVGFncyA9IHRhZ3MuZmlsdGVyKCh4KSA9PlxuICAgICAgbmV3IFJlZ0V4cChgXiR7cHJlZml4fXYoWzAtOV0rKVxcXFwuKFswLTldKylcXFxcLihbMC05XSspJGApLnRlc3QoeCksXG4gICAgKTtcblxuICAgIGxldCByZWxlYXNlVGFnOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgaWYgKHJlbGVhc2VUYWdzLmxlbmd0aCA+IDApIHtcbiAgICAgIHJlbGVhc2VUYWcgPSByZWxlYXNlVGFnc1swXTtcbiAgICB9XG5cbiAgICBpZiAocHJlZml4KSB7XG4gICAgICByZWxlYXNlVGFnID0gcmVsZWFzZVRhZz8uc3Vic3RyaW5nKHByZWZpeC5sZW5ndGgpO1xuICAgICAgcHJlcmVsZWFzZVRhZyA9IHByZXJlbGVhc2VUYWcuc3Vic3RyaW5nKHByZWZpeC5sZW5ndGgpO1xuICAgIH1cblxuICAgIGlmIChyZWxlYXNlVGFnICYmIGNvbXBhcmUocmVsZWFzZVRhZywgcHJlcmVsZWFzZVRhZykgPT09IDEpIHtcbiAgICAgIHRhZ3MgPSByZWxlYXNlVGFncztcbiAgICB9IGVsc2Uge1xuICAgICAgdGFncyA9IHByZXJlbGVhc2VUYWdzO1xuICAgIH1cbiAgfVxuXG4gIHRhZ3MgPSB0YWdzLmZpbHRlcigoeCkgPT4geCk7XG5cbiAgLy8gaWYgYSBwcmUtcmVsZWFzZSB0YWcgaXMgdXNlZCwgdGhlbiBhZGQgaXQgdG8gdGhlIGluaXRpYWwgdmVyc2lvblxuICBsZXQgaXNGaXJzdFJlbGVhc2UgPSBmYWxzZTtcbiAgbGV0IGxhdGVzdFRhZztcblxuICBpZiAodGFncy5sZW5ndGggPiAwKSB7XG4gICAgbGF0ZXN0VGFnID0gdGFnc1swXTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBpbml0aWFsID0gYCR7cHJlZml4fXYke21ham9yID8/IDB9LiR7bWlub3IgPz8gMH0uMGA7XG4gICAgbGF0ZXN0VGFnID0gcHJlcmVsZWFzZSA/IGAke2luaXRpYWx9LSR7cHJlcmVsZWFzZX0uMGAgOiBpbml0aWFsO1xuICAgIGlzRmlyc3RSZWxlYXNlID0gdHJ1ZTtcbiAgfVxuXG4gIC8vIHJlbW92ZSB0YWcgcHJlZml4IChpZiBleGlzdHMpXG4gIGxldCBsYXRlc3RWZXJzaW9uID0gbGF0ZXN0VGFnO1xuICBpZiAocHJlZml4ICYmIGxhdGVzdFZlcnNpb24uc3RhcnRzV2l0aChwcmVmaXgpKSB7XG4gICAgbGF0ZXN0VmVyc2lvbiA9IGxhdGVzdFZlcnNpb24uc3Vic3RyKHByZWZpeC5sZW5ndGgpO1xuICB9XG5cbiAgLy8gcmVtb3ZlIFwidlwiIHByZWZpeCAoaWYgZXhpc3RzKVxuICBpZiAobGF0ZXN0VmVyc2lvbi5zdGFydHNXaXRoKFwidlwiKSkge1xuICAgIGxhdGVzdFZlcnNpb24gPSBsYXRlc3RWZXJzaW9uLnN1YnN0cmluZygxKTtcbiAgfVxuXG4gIHJldHVybiB7IGxhdGVzdFZlcnNpb24sIGxhdGVzdFRhZywgaXNGaXJzdFJlbGVhc2UgfTtcbn1cbiJdfQ==
291
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVtcC12ZXJzaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3JlbGVhc2UvYnVtcC12ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBb0pBLG9CQTRKQztBQWhURCwyQkFBZ0Q7QUFDaEQsK0JBQXFDO0FBRXJDLG1DQUFpQztBQUNqQyxvREFBc0M7QUFDdEMsa0NBQXVEO0FBQ3ZELHdDQUErQztBQUUvQywyQ0FLcUI7QUFDckIsNkRBQTJEO0FBNkgzRDs7Ozs7Ozs7R0FRRztBQUNJLEtBQUssVUFBVSxJQUFJLENBQUMsR0FBVyxFQUFFLE9BQW9CO0lBQzFELE1BQU0sV0FBVyxHQUFHLElBQUEsV0FBSSxFQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbkQsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQztJQUN0QyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDO0lBQ25DLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUM7SUFDbkMsTUFBTSxlQUFlLEdBQUcsT0FBTyxDQUFDLGVBQWUsQ0FBQztJQUNoRCxNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQztJQUMxQyxNQUFNLFFBQVEsR0FBRyxJQUFBLFdBQUksRUFBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdDLE1BQU0sYUFBYSxHQUFHLElBQUEsV0FBSSxFQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDbkQsTUFBTSxjQUFjLEdBQUcsSUFBQSxXQUFJLEVBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUV6RCxJQUFJLEtBQUssSUFBSSxlQUFlLEVBQUUsQ0FBQztRQUM3QixNQUFNLElBQUksS0FBSyxDQUNiLDJE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b3J0IHsgcHJvbWlzZXMgYXMgZnMsIGV4aXN0c1N5bmMgfSBmcm9tIFwiZnNcIjtcbmltcG9ydCB7IGRpcm5hbWUsIGpvaW4gfSBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHR5cGUgeyBDb25maWcgfSBmcm9tIFwiY29udmVudGlvbmFsLWNoYW5nZWxvZy1jb25maWctc3BlY1wiO1xuaW1wb3J0IHsgY29tcGFyZSB9IGZyb20gXCJzZW12ZXJcIjtcbmltcG9ydCAqIGFzIGxvZ2dpbmcgZnJvbSBcIi4uL2xvZ2dpbmdcIjtcbmltcG9ydCB7IGV4ZWNDYXB0dXJlLCBleGVjT3JVbmRlZmluZWQgfSBmcm9tIFwiLi4vdXRpbFwiO1xuaW1wb3J0IHsgUmVsZWFzYWJsZUNvbW1pdHMgfSBmcm9tIFwiLi4vdmVyc2lvblwiO1xuaW1wb3J0IHR5cGUgeyBCdW1wVHlwZSB9IGZyb20gXCIuL2J1bXAtdHlwZVwiO1xuaW1wb3J0IHtcbiAgcGFyc2VCdW1wVHlwZSxcbiAgcGVyZm9ybUJ1bXAsXG4gIHJlbGF0aXZlQnVtcFR5cGUsXG4gIHJlbmRlckJ1bXBUeXBlLFxufSBmcm9tIFwiLi9idW1wLXR5cGVcIjtcbmltcG9ydCB7IENvbW1pdEFuZFRhZ1ZlcnNpb24gfSBmcm9tIFwiLi9jb21taXQtdGFnLXZlcnNpb25cIjtcblxuZXhwb3J0IGludGVyZmFjZSBCdW1wT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiBhIC5qc29uIGZpbGUgdG8gc2V0IGB2ZXJzaW9uYC5cbiAgICovXG4gIHJlYWRvbmx5IHZlcnNpb25GaWxlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBjaGFuZ2Vsb2cgZmlsZSB0byBnZW5lcmF0ZS5cbiAgICovXG4gIHJlYWRvbmx5IGNoYW5nZWxvZzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBVc2UgYSBwcmUtcmVsZWFzZSBzdWZmaXguXG4gICAqIEBkZWZhdWx0IC0gbm9ybWFsIHZlcnNpb25pbmdcbiAgICovXG4gIHJlYWRvbmx5IHByZXJlbGVhc2U/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIERlZmluZXMgdGhlIG1ham9yIHZlcnNpb24gbGluZS4gVGhpcyBpcyB1c2VkIHRvIHNlbGVjdCB0aGUgbGF0ZXN0IHZlcnNpb25cbiAgICogYW5kIGFsc28gZW5mb3JjZSB0aGF0IG5ldyBtYWpvciB2ZXJzaW9ucyBhcmUgbm90IHJlbGVhc2VkIGFjY2lkZW50YWxseS5cbiAgICpcbiAgICogQ2FuIG5vdCBiZSBzZXQgdG9nZXRoZXIgd2l0aCBgbWluTWFqb3JWZXJzaW9uYC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBhbnkgdmVyc2lvbiBpcyBzdXBwb3J0ZWRcbiAgICovXG4gIHJlYWRvbmx5IG1ham9yVmVyc2lvbj86IG51bWJlcjtcblxuICAvKipcbiAgICogRGVmaW5lcyB0aGUgbWluaW1hbCBtYWpvciB2ZXJzaW9uLiBUaGlzIGlzIHVzZWQgaWYgeW91IHdhbnQgdG8gc3RhcnQgd2l0aFxuICAgKiBhIHNwZWNpZmljIG1ham9yIHZlcnNpb24sIGFuZCBpbmNyZW1lbnQgZnJvbSB0aGVyZSBvbi5cbiAgICogVGhpcyBjYW4gYmUgdXNlZnVsIHRvIHNldCB0byAxLCBhcyBicmVha2luZyBjaGFuZ2VzIGJlZm9yZSB0aGUgMS54IG1ham9yXG4gICAqIHJlbGVhc2UgYXJlIG5vdCBpbmNyZW1lbnRpbmcgdGhlIG1ham9yIHZlcnNpb24gbnVtYmVyLlxuICAgKlxuICAgKiBDYW4gbm90IGJlIHNldCB0b2dldGhlciB3aXRoIGBtYWpvclZlcnNpb25gLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vIG1pbmltdW0gdmVyc2lvbiBpcyBiZWluZyBlbmZvcmNlZFxuICAgKi9cbiAgcmVhZG9ubHkgbWluTWFqb3JWZXJzaW9uPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBEZWZpbmVzIHRoZSBtaW5vciB2ZXJzaW9uIGxpbmUuIFRoaXMgaXMgdXNlZCB0byBzZWxlY3QgdGhlIGxhdGVzdCB2ZXJzaW9uXG4gICAqIGFuZCBhbHNvIGVuZm9yY2UgdGhhdCBuZXcgbWlub3IgdmVyc2lvbnMgYXJlIG5vdCByZWxlYXNlZCBhY2NpZGVudGFsbHkuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gYW55IHZlcnNpb24gaXMgc3VwcG9ydGVkXG4gICAqL1xuICByZWFkb25seSBtaW5vclZlcnNpb24/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIGEgZmlsZSB3aGljaCB3aWxsIGluY2x1ZGUgdGhlIG91dHB1dCB2ZXJzaW9uIG51bWJlciAoYSB0ZXh0IGZpbGUpLlxuICAgKlxuICAgKiBSZWxhdGl2ZSB0byBjd2QuXG4gICAqXG4gICAqIEBleGFtcGxlIFwiLnZlcnNpb24udHh0XCJcbiAgICovXG4gIHJlYWRvbmx5IGJ1bXBGaWxlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBmaWxlIHdoaWNoIHdpbGwgaW5jbHVkZSB0aGUgcmVsZWFzZSB0YWcgKGEgdGV4dCBmaWxlKS5cbiAgICpcbiAgICogUmVsYXRpdmUgdG8gY3dkLlxuICAgKlxuICAgKiBAZXhhbXBsZSBcIi5yZWxlYXNldGFnLnR4dFwiXG4gICAqL1xuICByZWFkb25seSByZWxlYXNlVGFnRmlsZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcHJlZml4IGFwcGxpZWQgdG8gcmVsZWFzZSB0YWdzLiBCdW1wcyB3aWxsIGJlIG1hZGUgYmFzZWQgb24gdGhlIGxhdGVzdFxuICAgKiB2ZXJzaW9uIGZvdW5kIHdpdGggdGhpcyBwcmVmaXguXG4gICAqL1xuICByZWFkb25seSB0YWdQcmVmaXg/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENvbmZpZ3VyYXRpb24gdmFsdWVzIHRoYXQgd291bGQgYXBwZW5kIHRvIHZlcnNpb25yYyBmaWxlIG9yIG92ZXJ3cml0ZSB2YWx1ZXNcbiAgICogY29taW5nIHRvIHRoYXQgZnJvbSBkZWZhdWx0IG9uZS5cbiAgICovXG4gIHJlYWRvbmx5IHZlcnNpb25yY09wdGlvbnM/OiBDb25maWc7XG5cbiAgLyoqXG4gICAqIEEgc2hlbGwgY29tbWFuZCB0byBsaXN0IGFsbCByZWxlYXNlIGNvbW1pdHMgc2luY2UgdGhlIGxhdGVzdCB0YWcuXG4gICAqXG4gICAqIEEgbmV3IHJlbGVhc2Ugd2lsbCBiZSBpbml0aWF0ZWQsIGlmIHRoZSBudW1iZXIgb2YgcmV0dXJuZWQgY29tbWl0cyBpcyBncmVhdGVyIHRoYW4gemVyby5cbiAgICpcbiAgICogYCRMQVRFU1RfVEFHYCB3aWxsIGJlIHJlcGxhY2VkIHdpdGggdGhlIGFjdHVhbCBsYXRlc3QgdGFnIGZvciB0aGUgZ2l2ZW4gcHJlZml4LlxuICAgKlxuICAgKiBAZGVmYXVsdCBcImdpdCBsb2cgLS1vbmVsaW5lICRMQVRFU1RfVEFHLi5IRUFEXCJcbiAgICovXG4gIHJlYWRvbmx5IHJlbGVhc2FibGVDb21taXRzPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgYGNvbW1pdC1hbmQtdGFnLXZlcnNpb25gIGNvbXBhdGlibGUgcGFja2FnZSB1c2VkIHRvIGJ1bXAgdGhlIHBhY2thZ2UgdmVyc2lvbiwgYXMgYSBkZXBlbmRlbmN5IHN0cmluZy5cbiAgICpcbiAgICogVGhpcyBjYW4gYmUgYW55IGNvbXBhdGlibGUgcGFja2FnZSB2ZXJzaW9uLCBpbmNsdWRpbmcgdGhlIGRlcHJlY2F0ZWQgYHN0YW5kYXJkLXZlcnNpb25AOWAuXG4gICAqXG4gICAqIEBkZWZhdWx0IFwiY29tbWl0LWFuZC10YWctdmVyc2lvbkAxMlwiXG4gICAqL1xuICByZWFkb25seSBidW1wUGFja2FnZT86IHN0cmluZztcblxuICAvKipcbiAgICogQSBzaGVsbCBjb21tYW5kIHRvIGNvbnRyb2wgdGhlIG5leHQgdmVyc2lvbiB0byByZWxlYXNlLlxuICAgKlxuICAgKiBJZiBwcmVzZW50LCB0aGlzIHNoZWxsIGNvbW1hbmQgd2lsbCBiZSBydW4gYmVmb3JlIHRoZSBidW1wIGlzIGV4ZWN1dGVkLCBhbmRcbiAgICogaXQgZGV0ZXJtaW5lcyB3aGF0IHZlcnNpb24gdG8gcmVsZWFzZS4gSXQgd2lsbCBiZSBleGVjdXRlZCBpbiB0aGUgZm9sbG93aW5nXG4gICAqIGVudmlyb25tZW50OlxuICAgKlxuICAgKiAtIFdvcmtpbmcgZGlyZWN0b3J5OiB0aGUgcHJvamVjdCBkaXJlY3RvcnkuXG4gICAqIC0gYCRWRVJTSU9OYDogdGhlIGN1cnJlbnQgdmVyc2lvbi4gTG9va3MgbGlrZSBgMS4yLjNgLlxuICAgKiAtIGAkTEFURVNUX1RBR2A6IHRoZSBtb3N0IHJlY2VudCB0YWcuIExvb2tzIGxpa2UgYHByZWZpeC12MS4yLjNgLCBvciBtYXkgYmUgdW5zZXQuXG4gICAqXG4gICAqIFRoZSBjb21tYW5kIHNob3VsZCBwcmludCBvbmUgb2YgdGhlIGZvbGxvd2luZyB0byBgc3Rkb3V0YDpcbiAgICpcbiAgICogLSBOb3RoaW5nOiB0aGUgbmV4dCB2ZXJzaW9uIG51bWJlciB3aWxsIGJlIGRldGVybWluZWQgYmFzZWQgb24gY29tbWl0IGhpc3RvcnkuXG4gICAqIC0gYHgueS56YDogdGhlIG5leHQgdmVyc2lvbiBudW1iZXIgd2lsbCBiZSBgeC55LnpgLlxuICAgKiAtIGBtYWpvcnxtaW5vcnxwYXRjaGA6IHRoZSBuZXh0IHZlcnNpb24gbnVtYmVyIHdpbGwgYmUgdGhlIGN1cnJlbnQgdmVyc2lvbiBudW1iZXJcbiAgICogICB3aXRoIHRoZSBpbmRpY2F0ZWQgY29tcG9uZW50IGJ1bXBlZC5cbiAgICpcbiAgICogVGhpcyBzZXR0aW5nIGNhbm5vdCBiZSBzcGVjaWZpZWQgdG9nZXRoZXIgd2l0aCBgbWluTWFqb3JWZXJzaW9uYDsgdGhlIGludm9rZWRcbiAgICogc2NyaXB0IGNhbiBiZSB1c2VkIHRvIGFjaGlldmUgdGhlIGVmZmVjdHMgb2YgYG1pbk1ham9yVmVyc2lvbmAuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gVGhlIG5leHQgdmVyc2lvbiB3aWxsIGJlIGRldGVybWluZWQgYmFzZWQgb24gdGhlIGNvbW1pdCBoaXN0b3J5IGFuZCBwcm9qZWN0IHNldHRpbmdzLlxuICAgKi9cbiAgcmVhZG9ubHkgbmV4dFZlcnNpb25Db21tYW5kPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlc29sdmVzIHRoZSBsYXRlc3QgdmVyc2lvbiBmcm9tIGdpdCB0YWdzIGFuZCB1c2VzIGBjb21taXQtYW5kLXRhZy12ZXJzaW9uYCB0byBidW1wXG4gKiB0byB0aGUgbmV4dCB2ZXJzaW9uIGJhc2VkIG9uIGNvbW1pdHMuXG4gKlxuICogVGhpcyBleHBlY3RzIGBjb21taXQtYW5kLXRhZy12ZXJzaW9uYCB0byBiZSBpbnN0YWxsZWQgaW4gdGhlIHBhdGguXG4gKlxuICogQHBhcmFtIGN3ZCB3b3JraW5nIGRpcmVjdG9yeSAoZ2l0IHJlcG9zaXRvcnkpXG4gKiBAcGFyYW0gb3B0aW9ucyBvcHRpb25zXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBidW1wKGN3ZDogc3RyaW5nLCBvcHRpb25zOiBCdW1wT3B0aW9ucykge1xuICBjb25zdCB2ZXJzaW9uRmlsZSA9IGpvaW4oY3dkLCBvcHRpb25zLnZlcnNpb25GaWxlKTtcbiAgY29uc3QgcHJlcmVsZWFzZSA9IG9wdGlvbnMucHJlcmVsZWFzZTtcbiAgY29uc3QgbWFqb3IgPSBvcHRpb25zLm1ham9yVmVyc2lvbjtcbiAgY29uc3QgbWlub3IgPSBvcHRpb25zLm1pbm9yVmVyc2lvbjtcbiAgY29uc3QgbWluTWFqb3JWZXJzaW9uID0gb3B0aW9ucy5taW5NYWpvclZlcnNpb247XG4gIGNvbnN0IHRhZ1ByZWZpeCA9IG9wdGlvbnMudGFnUHJlZml4ID8/IFwiXCI7XG4gIGNvbnN0IGJ1bXBGaWxlID0gam9pbihjd2QsIG9wdGlvbnMuYnVtcEZpbGUpO1xuICBjb25zdCBjaGFuZ2Vsb2dGaWxlID0gam9pbihjd2QsIG9wdGlvbnMuY2hhbmdlbG9nKTtcbiAgY29uc3QgcmVsZWFzZVRhZ0ZpbGUgPSBqb2luKGN3ZCwgb3B0aW9ucy5yZWxlYXNlVGFnRmlsZSk7XG5cbiAgaWYgKG1ham9yICYmIG1pbk1ham9yVmVyc2lvbikge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGBtaW5NYWpvclZlcnNpb24gYW5kIG1ham9yVmVyc2lvbiBjYW5ub3QgYmUgdXNlZCB0b2dldGhlci5gLFxuICAgICk7XG4gIH1cbiAgaWYgKG9wdGlvbnMubmV4dFZlcnNpb25Db21tYW5kICYmIG1pbk1ham9yVmVyc2lvbikge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGBtaW5NYWpvclZlcnNpb24gYW5kIG5leHRWZXJzaW9uQ29tbWFuZCBjYW5ub3QgYmUgdXNlZCB0b2dldGhlci5gLFxuICAgICk7XG4gIH1cbiAgaWYgKG1pbm9yICYmICFtYWpvcikge1xuICAgIHRocm93IG5ldyBFcnJvcihgbWlub3JWZXJzaW9uIGFuZCBtYWpvclZlcnNpb24gbXVzdCBiZSB1c2VkIHRvZ2V0aGVyLmApO1xuICB9XG5cbiAgYXdhaXQgZnMubWtkaXIoZGlybmFtZShidW1wRmlsZSksIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuICBhd2FpdCBmcy5ta2RpcihkaXJuYW1lKGNoYW5nZWxvZ0ZpbGUpLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgYXdhaXQgZnMubWtkaXIoZGlybmFtZShyZWxlYXNlVGFnRmlsZSksIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuXG4gIGNvbnN0IHsgbGF0ZXN0VmVyc2lvbiwgbGF0ZXN0VGFnLCBpc0ZpcnN0UmVsZWFzZSB9ID0gZGV0ZXJtaW5lTGF0ZXN0VGFnKHtcbiAgICBjd2QsXG4gICAgbWFqb3IsXG4gICAgbWlub3IsXG4gICAgcHJlcmVsZWFzZSxcbiAgICBwcmVmaXg6IHRhZ1ByZWZpeCxcbiAgfSk7XG5cbiAgLy8gV3JpdGUgdGhlIGN1cnJlbnQgdmVyc2lvbiBpbnRvIHRoZSB2ZXJzaW9uIGZpbGUgc28gdGhhdCBDQVRWIHdpbGwga25vdyB0aGUgY3VycmVudCB2ZXJzaW9uXG4gIGNvbnN0IHsgY29udGVudHMsIG5ld2xpbmUgfSA9IGF3YWl0IHRyeVJlYWRWZXJzaW9uRmlsZSh2ZXJzaW9uRmlsZSk7XG4gIGNvbnRlbnRzLnZlcnNpb24gPSBsYXRlc3RWZXJzaW9uO1xuICBsb2dnaW5nLmluZm8oXG4gICAgYFVwZGF0ZSAke3ZlcnNpb25GaWxlfSB0byBsYXRlc3QgcmVzb2x2ZWQgdmVyc2lvbjogJHtsYXRlc3RWZXJzaW9ufWAsXG4gICk7XG4gIGF3YWl0IGZzLndyaXRlRmlsZShcbiAgICB2ZXJzaW9uRmlsZSxcbiAgICBKU09OLnN0cmluZ2lmeShjb250ZW50cywgdW5kZWZpbmVkLCAyKSArIChuZXdsaW5lID8gXCJcXG5cIiA6IFwiXCIpLFxuICApO1xuXG4gIC8vIERldGVybWluZSB0aGUgaW5pdGlhbCBidW1wIHN0YXR1cy4gQ0FUViB3aWxsIGFsd2F5cyBkbyBhIHBhdGNoIGV2ZW4gaWZcbiAgLy8gdGhlcmUgYXJlIG5vIGNvbW1pdHMsIHNvIGxvb2sgYXQgY29tbWl0cyBvdXJzZWx2ZXMgZmlyc3QgdG8gZGVjaWRlXG4gIC8vIGlmIHdlIGV2ZW4gc2hvdWxkIGRvIG5vdGhpbmcgYXQgYWxsLlxuICBjb25zdCBzaG91bGRSZWxlYXNlID0gaXNGaXJzdFJlbGVhc2VcbiAgICA/IHRydWVcbiAgICA6IGhhc05ld0ludGVyZXN0aW5nQ29tbWl0cyh7XG4gICAgICAgIGN3ZCxcbiAgICAgICAgbGF0ZXN0VGFnLFxuICAgICAgICByZWxlYXNhYmxlQ29tbWl0czogb3B0aW9ucy5yZWxlYXNhYmxlQ29tbWl0cyxcbiAgICAgIH0pO1xuXG4gIGNvbnN0IGNhdHYgPSBuZXcgQ29tbWl0QW5kVGFnVmVyc2lvbihvcHRpb25zLmJ1bXBQYWNrYWdlLCBjd2QsIHtcbiAgICB2ZXJzaW9uRmlsZSxcbiAgICBjaGFuZ2Vsb2dGaWxlLFxuICAgIHByZXJlbGVhc2UsXG4gICAgY29uZmlnT3B0aW9uczogb3B0aW9ucy52ZXJzaW9ucmNPcHRpb25zLFxuICAgIHRhZ1ByZWZpeCxcbiAgfSk7XG5cbiAgLy8gV2UgdXNlZCB0byB0cmFuc2xhdGUgYGlzRmlyc3RSZWxlYXNlYCB0byB0aGUgYC0tZmlyc3QtcmVsZWFzZWAgZmxhZyBvZiBDQVRWLlxuICAvLyBXaGF0IHRoYXQgZG9lcyBpcyBza2lwIGEgYnVtcCwgb25seSBnZW5lcmF0ZSB0aGUgY2hhbmdlbG9nLlxuICAvL1xuICAvLyBPdXIgYHsgYnVtcDogbm9uZSB9YCBkb2VzIHRoZSBzYW1lLCBzbyB3ZSBkb24ndCBuZWVkIHRvIGNhcnJ5IG92ZXIgdGhpc1xuICAvLyBmbGFnIGFueW1vcmUuXG4gIGxldCBidW1wVHlwZTogQnVtcFR5cGUgPVxuICAgIHNob3VsZFJlbGVhc2UgJiYgIWlzRmlyc3RSZWxlYXNlXG4gICAgICA/IHJlbGF0aXZlQnVtcFR5cGUobGF0ZXN0VmVyc2lvbiwgYXdhaXQgY2F0di5kcnlSdW4oKSlcbiAgICAgIDogeyBidW1wOiBcIm5vbmVcIiB9O1xuXG4gIGxvZ2dpbmcuaW5mbyhgQnVtcCBmcm9tIGNvbW1pdHM6ICR7cmVuZGVyQnVtcFR5cGUoYnVtcFR5cGUpfWApO1xuICBpZiAob3B0aW9ucy5uZXh0VmVyc2lvbkNvbW1hbmQpIHtcbiAgICBjb25zdCBuZXh0VmVyc2lvbiA9IGV4ZWNDYXB0dXJlKG9wdGlvbnMubmV4dFZlcnNpb25Db21tYW5kLCB7XG4gICAgICBjd2QsXG4gICAgICBtb2RFbnY6IHtcbiAgICAgICAgVkVSU0lPTjogbGF0ZXN0VmVyc2lvbixcbiAgICAgICAgU1VHR0VTVEVEX0JVTVA6IHJlbmRlckJ1bXBUeXBlKGJ1bXBUeXBlKSxcbiAgICAgICAgLi4uKGxhdGVzdFRhZyA/IHsgTEFURVNUX1RBRzogbGF0ZXN0VGFnIH0gOiB7fSksXG4gICAgICB9LFxuICAgIH0pXG4gICAgICAudG9TdHJpbmcoKVxuICAgICAgLnRyaW0oKTtcblxuICAgIGlmIChuZXh0VmVyc2lvbikge1xuICAgICAgdHJ5IHtcbiAgICAgICAgYnVtcFR5cGUgPSBwYXJzZUJ1bXBUeXBlKG5leHRWZXJzaW9uKTtcbiAgICAgICAgbG9nZ2luZy5pbmZvKFxuICAgICAgICAgIGBCdW1wIGZyb20gbmV4dFZlcnNpb25Db21tYW5kOiAke3JlbmRlckJ1bXBUeXBlKGJ1bXBUeXBlKX1gLFxuICAgICAgICApO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYG5leHRWZXJzaW9uQ29tbWFuZCBcIiR7b3B0aW9ucy5uZXh0VmVyc2lvbkNvbW1hbmR9XCIgcmV0dXJuZWQgaW52YWxpZCBvdXRwdXQ6ICR7ZX1gLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJlc3BlY3QgbWluTWFqb3JWZXJzaW9uIHRvIGNvcnJlY3QgdGhlIHJlc3VsdCBvZiB0aGUgbmV4dFZlcnNpb25Db21tYW5kXG4gIGlmIChtaW5NYWpvclZlcnNpb24pIHtcbiAgICBjb25zdCBidW1wZWRWZXJzaW9uID0gcGVyZm9ybUJ1bXAobGF0ZXN0VmVyc2lvbiwgYnVtcFR5cGUpO1xuICAgIGNvbnN0IFttYWpvclZlcnNpb25dID0gYnVtcGVkVmVyc2lvbi5zcGxpdChcIi5cIik7XG4gICAgY29uc3QgbWFqb3JWZXJzaW9uTnVtYmVyID0gcGFyc2VJbnQobWFqb3JWZXJzaW9uLCAxMCk7XG4gICAgaWYgKG1ham9yVmVyc2lvbk51bWJlciA8IG1pbk1ham9yVmVyc2lvbikge1xuICAgICAgYnVtcFR5cGUgPSB7IGJ1bXA6IFwiYWJzb2x1dGVcIiwgYWJzb2x1dGU6IGAke21pbk1ham9yVmVyc2lvbn0uMC4wYCB9O1xuICAgIH1cbiAgfVxuXG4gIC8vIEludm9rZSBDQVRWIHdpdGggdGhlIG9wdGlvbnMgd2UgbGFuZGVkIG9uLiBJZiB3ZSBkZWNpZGVkIG5vdCB0byBkbyBhIGJ1bXAsXG4gIC8vIHdlIHdpbGwgdXNlIHRoaXMgdG8gcmVnZW5lcmF0ZSB0aGUgY2hhbmdlbG9nIG9mIHRoZSBtb3N0IHJlY2VudCB2ZXJzaW9uLlxuICBjb25zdCBuZXdSZWxlYXNlID0gYnVtcFR5cGUuYnVtcCAhPT0gXCJub25lXCI7XG5cbiAgLy8gSWYgd2UncmUgbm90IGRvaW5nIGEgbmV3IHJlbGVhc2UgYW5kIHRoaXMgaXMgbm90IHRoZVxuICAvLyBmaXJzdCByZWxlYXNlLCB3ZSdyZSBqdXN0IHJlZ2VuZXJhdGluZyB0aGUgcHJldmlvdXMgY2hhbmdlbG9nIGFnYWluLlxuICBpZiAoIW5ld1JlbGVhc2UgJiYgIWlzRmlyc3RSZWxlYXNlKSB7XG4gICAgYXdhaXQgY2F0di5yZWdlbmVyYXRlUHJldmlvdXNDaGFuZ2VMb2cobGF0ZXN0VmVyc2lvbiwgbGF0ZXN0VGFnKTtcbiAgfSBlbHNlIHtcbiAgICAvLyBPdGhlcndpc2Ugd2UncmUgZWl0aGVyIGRvaW5nIGEgYnVtcCArIHJlbGVhc2UsIG9yIHdlJ3JlIHJlbGVhc2luZyB0aGVcbiAgICAvLyBmaXJzdCB2ZXJzaW9uIGFzIDAuMC4wICh3aGljaCBpcyBhbHJlYWR5IHRoZSBudW1iZXIgaW4gdGhlIGZpbGUgc28gd2VcbiAgICAvLyBza2lwIGJ1bXBpbmcpLlxuICAgIGF3YWl0IGNhdHYuaW52b2tlKHtcbiAgICAgIHJlbGVhc2VBczogbmV3UmVsZWFzZSA/IHJlbmRlckJ1bXBUeXBlKGJ1bXBUeXBlKSA6IHVuZGVmaW5lZCxcbiAgICAgIHNraXBCdW1wOiAhbmV3UmVsZWFzZSxcbiAgICB9KTtcbiAgfVxuXG4gIC8vIFZhbGlkYXRlIHRoZSB2ZXJzaW9uIHRoYXQgd2UgZW5kZWQgdXAgd2l0aFxuICBjb25zdCBuZXdWZXJzaW9uID0gKGF3YWl0IHRyeVJlYWRWZXJzaW9uRmlsZSh2ZXJzaW9uRmlsZSkpLnZlcnNpb247XG4gIGlmICghbmV3VmVyc2lvbikge1xuICAgIHRocm93IG5ldyBFcnJvcihgYnVtcCBmYWlsZWQ6ICR7dmVyc2lvbkZpbGV9IGRvZXMgbm90IGhhdmUgYSB2ZXJzaW9uIHNldGApO1xuICB9XG4gIGlmIChtYWpvcikge1xuICAgIGlmICghbmV3VmVyc2lvbi5zdGFydHNXaXRoKGAke21ham9yfS5gKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgYnVtcCBmYWlsZWQ6IHRoaXMgYnJhbmNoIGlzIGNvbmZpZ3VyZWQgdG8gb25seSBwdWJsaXNoIHYke21ham9yfSByZWxlYXNlcyAtIGJ1bXAgcmVzdWx0ZWQgaW4gJHtuZXdWZXJzaW9ufWAsXG4gICAgICApO1xuICAgIH1cbiAgfVxuICBpZiAobWlub3IpIHtcbiAgICBpZiAoIW5ld1ZlcnNpb24uc3RhcnRzV2l0aChgJHttYWpvcn0uJHttaW5vcn1gKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgYnVtcCBmYWlsZWQ6IHRoaXMgYnJhbmNoIGlzIGNvbmZpZ3VyZWQgdG8gb25seSBwdWJsaXNoIHYke21ham9yfS4ke21pbm9yfSByZWxlYXNlcyAtIGJ1bXAgcmVzdWx0ZWQgaW4gJHtuZXdWZXJzaW9ufWAsXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlcG9ydCBjdXJlbnQgc3RhdHVzIGludG8gdGhlIGRpc3QvIGRpcmVjdG9yeVxuICBjb25zdCBuZXdUYWcgPSBgJHt0YWdQcmVmaXh9diR7bmV3VmVyc2lvbn1gO1xuICBhd2FpdCBmcy53cml0ZUZpbGUoYnVtcEZpbGUsIG5ld1ZlcnNpb24pO1xuICBhd2FpdCBmcy53cml0ZUZpbGUocmVsZWFzZVRhZ0ZpbGUsIG5ld1RhZyk7XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lIGJhc2VkIG9uIHJlbGVhc2VhYmxlIGNvbW1pdHMgd2hldGhlciB3ZSBzaG91bGQgcmVsZWFzZSBvciBub3RcbiAqL1xuZnVuY3Rpb24gaGFzTmV3SW50ZXJlc3RpbmdDb21taXRzKG9wdGlvbnM6IHtcbiAgcmVsZWFzYWJsZUNvbW1pdHM/OiBzdHJpbmc7XG4gIGxhdGVzdFRhZzogc3RyaW5nO1xuICBjd2Q6IHN0cmluZztcbn0pIHtcbiAgY29uc3QgZmluZENvbW1pdHMgPSAoXG4gICAgb3B0aW9ucy5yZWxlYXNhYmxlQ29tbWl0cyA/PyBSZWxlYXNhYmxlQ29tbWl0cy5ldmVyeUNvbW1pdCgpLmNtZFxuICApLnJlcGxhY2UoXCIkTEFURVNUX1RBR1wiLCBvcHRpb25zLmxhdGVzdFRhZyk7XG5cbiAgY29uc3QgY29tbWl0c1NpbmNlTGFzdFRhZyA9IGV4ZWNPclVuZGVmaW5lZChmaW5kQ29tbWl0cywge1xuICAgIGN3ZDogb3B0aW9ucy5jd2QsXG4gIH0pPy5zcGxpdChcIlxcblwiKTtcbiAgY29uc3QgbnVtQ29tbWl0c1NpbmNlTGFzdFRhZyA9IGNvbW1pdHNTaW5jZUxhc3RUYWc/Lmxlbmd0aCA/PyAwO1xuICBsb2dnaW5nLmluZm8oXG4gICAgYE51bWJlciBvZiBjb21taXRzIHNpbmNlICR7b3B0aW9ucy5sYXRlc3RUYWd9OiAke251bUNvbW1pdHNTaW5jZUxhc3RUYWd9YCxcbiAgKTtcblxuICAvLyBOb3RoaW5nIHRvIHJlbGVhc2UgcmlnaHQgbm93XG4gIGlmIChudW1Db21taXRzU2luY2VMYXN0VGFnID09PSAwKSB7XG4gICAgbG9nZ2luZy5pbmZvKFwiTm8gbmV3IGludGVyZXN0aW5nIGNvbW1pdHMuXCIpO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufVxuXG5hc3luYyBmdW5jdGlvbiB0cnlSZWFkVmVyc2lvbkZpbGUoXG4gIHZlcnNpb25GaWxlOiBzdHJpbmcsXG4pOiBQcm9taXNlPHsgY29udGVudHM6IGFueTsgdmVyc2lvbj86IHN0cmluZzsgbmV3bGluZTogYm9vbGVhbiB9PiB7XG4gIGlmICghZXhpc3RzU3luYyh2ZXJzaW9uRmlsZSkpIHtcbiAgICByZXR1cm4geyBjb250ZW50czoge30sIG5ld2xpbmU6IHRydWUgfTtcbiAgfVxuICBjb25zdCByYXcgPSBhd2FpdCBmcy5yZWFkRmlsZSh2ZXJzaW9uRmlsZSwgXCJ1dGYtOFwiKTtcbiAgY29uc3QgY29udGVudHMgPSBKU09OLnBhcnNlKHJhdyk7XG5cbiAgcmV0dXJuIHtcbiAgICBjb250ZW50cyxcbiAgICB2ZXJzaW9uOiBjb250ZW50cy52ZXJzaW9uLFxuICAgIG5ld2xpbmU6IHJhdy5lbmRzV2l0aChcIlxcblwiKSxcbiAgfTtcbn1cblxuaW50ZXJmYWNlIExhdGVzdFRhZ09wdGlvbnMge1xuICAvKipcbiAgICogV29ya2luZyBkaXJlY3Rvcnkgb2YgdGhlIGdpdCByZXBvc2l0b3J5LlxuICAgKi9cbiAgcmVhZG9ubHkgY3dkOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBNYWpvciB2ZXJzaW9uIHRvIHNlbGVjdCBmcm9tLlxuICAgKi9cbiAgcmVhZG9ubHkgbWFqb3I/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBNaW5vciB2ZXJzaW9uIHRvIHNlbGVjdCBmcm9tLlxuICAgKi9cbiAgcmVhZG9ubHkgbWlub3I/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBBIHByZS1yZWxlYXNlIHN1ZmZpeC5cbiAgICovXG4gIHJlYWRvbmx5IHByZXJlbGVhc2U/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBIHByZWZpeCBhcHBsaWVkIHRvIGFsbCB0YWdzLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJlZml4OiBzdHJpbmc7XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB0aGUgbGF0ZXN0IHJlbGVhc2UgdGFnLlxuICogQHBhcmFtIG1ham9yIChvcHRpb25hbCkgQSBtYWpvciB2ZXJzaW9uIGxpbmUgdG8gc2VsZWN0IGZyb21cbiAqIEBwYXJhbSBwcmVyZWxlYXNlIChvcHRpb25hbCkgQSBwcmUtcmVsZWFzZSBzdWZmaXguXG4gKiBAcmV0dXJucyB0aGUgbGF0ZXN0IHRhZywgYW5kIHdoZXRoZXIgaXQgaXMgdGhlIGZpcnN0IHJlbGVhc2Ugb3Igbm90XG4gKi9cbmZ1bmN0aW9uIGRldGVybWluZUxhdGVzdFRhZyhvcHRpb25zOiBMYXRlc3RUYWdPcHRpb25zKToge1xuICBsYXRlc3RWZXJzaW9uOiBzdHJpbmc7XG4gIGxhdGVzdFRhZzogc3RyaW5nO1xuICBpc0ZpcnN0UmVsZWFzZTogYm9vbGVhbjtcbn0ge1xuICBjb25zdCB7IGN3ZCwgbWFqb3IsIG1pbm9yLCBwcmVyZWxlYXNlLCBwcmVmaXggfSA9IG9wdGlvbnM7XG5cbiAgLy8gZmlsdGVyIG9ubHkgdGFncyBmb3IgdGhpcyBwcmVmaXggYW5kIG1ham9yIHZlcnNpb24gaWYgc3BlY2lmaWVkIChzdGFydCB3aXRoIFwidk5OLlwiKS5cbiAgbGV0IHByZWZpeEZpbHRlcjogc3RyaW5nO1xuICBpZiAobWFqb3IgIT09IHVuZGVmaW5lZCAmJiBtaW5vciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgcHJlZml4RmlsdGVyID0gYCR7cHJlZml4fXYke21ham9yfS4ke21pbm9yfS4qYDtcbiAgfSBlbHNlIGlmIChtYWpvciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgcHJlZml4RmlsdGVyID0gYCR7cHJlZml4fXYke21ham9yfS4qYDtcbiAgfSBlbHNlIHtcbiAgICBwcmVmaXhGaWx0ZXIgPSBgJHtwcmVmaXh9dipgO1xuICB9XG5cbiAgY29uc3QgbGlzdEdpdFRhZ3MgPSBbXG4gICAgXCJnaXRcIixcbiAgICAnLWMgXCJ2ZXJzaW9uc29ydC5zdWZmaXg9LVwiJywgLy8gbWFrZXMgc3VyZSBwcmUtcmVsZWFzZSB2ZXJzaW9ucyBhcmUgbGlzdGVkIGFmdGVyIHRoZSBwcmltYXJ5IHZlcnNpb25cbiAgICBcInRhZ1wiLFxuICAgICctLXNvcnQ9XCItdmVyc2lvbjpyZWZuYW1lXCInLCAvLyBzb3J0IGFzIHZlcnNpb25zIGFuZCBub3QgbGV4aWNvZ3JhcGhpY2FsbHlcbiAgICBcIi0tbGlzdFwiLFxuICAgIGBcIiR7cHJlZml4RmlsdGVyfVwiYCxcbiAgXS5qb2luKFwiIFwiKTtcblxuICBjb25zdCBzdGRvdXQgPSBleGVjQ2FwdHVyZShsaXN0R2l0VGFncywgeyBjd2QgfSkudG9TdHJpbmcoXCJ1dGY4XCIpO1xuXG4gIGxldCB0YWdzID0gc3Rkb3V0Py5zcGxpdChcIlxcblwiKTtcblxuICAvLyBpZiBwcmVyZWxlYXNlIGlzIHNldCBhbmQgdGhlcmUgYXJlIGV4aXN0aW5nIHByZXJlbGVhc2UgdGFncywgZmlsdGVyIHZlcnNpb25zIHRoYXQgZW5kIHdpdGggXCItUFJFLmRkZFwiLlxuICBjb25zdCBwcmVyZWxlYXNlVGFncyA9IHRhZ3MuZmlsdGVyKCh4KSA9PlxuICAgIG5ldyBSZWdFeHAoYC0ke3ByZXJlbGVhc2V9XFxcXC5bMC05XSskYCkudGVzdCh4KSxcbiAgKTtcbiAgaWYgKHByZXJlbGVhc2UgJiYgcHJlcmVsZWFzZVRhZ3MubGVuZ3RoID4gMCkge1xuICAgIGxldCBwcmVyZWxlYXNlVGFnID0gcHJlcmVsZWFzZVRhZ3NbMF07XG5cbiAgICAvKipcbiAgICAgKiBDb3ZlciB0aGUgZm9sbG93aW5nIGNhc2Ugc3BlY2lmaWNhbGx5XG4gICAgICogMSAtIHYxLjAuMFxuICAgICAqIDIgLSB2MS4wLjEtYmV0YS4wXG4gICAgICogMyAtIHYxLjAuMS1iZXRhLjFcbiAgICAgKiA0IC0gdjEuMC4xXG4gICAgICogNSAtIG5vdyBwdWJsaXNoIGEgbmV3IHJlbGVhc2Ugb24gdGhlIHByZXJlbGVhc2UgYnJhbmNoXG4gICAgICogICAgYnkgc2V0dGluZyB0aGUgbGF0ZXN0VGFnIGFzIHYxLjAuMSBpbnN0ZWFkIG9mIHYxLjAuMS1iZXRhLjFcbiAgICAgKi9cbiAgICBjb25zdCByZWxlYXNlVGFncyA9IHRhZ3MuZmlsdGVyKCh4KSA9PlxuICAgICAgbmV3IFJlZ0V4cChgXiR7cHJlZml4fXYoWzAtOV0rKVxcXFwuKFswLTldKylcXFxcLihbMC05XSspJGApLnRlc3QoeCksXG4gICAgKTtcblxuICAgIGxldCByZWxlYXNlVGFnOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgaWYgKHJlbGVhc2VUYWdzLmxlbmd0aCA+IDApIHtcbiAgICAgIHJlbGVhc2VUYWcgPSByZWxlYXNlVGFnc1swXTtcbiAgICB9XG5cbiAgICBpZiAocHJlZml4KSB7XG4gICAgICByZWxlYXNlVGFnID0gcmVsZWFzZVRhZz8uc3Vic3RyaW5nKHByZWZpeC5sZW5ndGgpO1xuICAgICAgcHJlcmVsZWFzZVRhZyA9IHByZXJlbGVhc2VUYWcuc3Vic3RyaW5nKHByZWZpeC5sZW5ndGgpO1xuICAgIH1cblxuICAgIGlmIChyZWxlYXNlVGFnICYmIGNvbXBhcmUocmVsZWFzZVRhZywgcHJlcmVsZWFzZVRhZykgPT09IDEpIHtcbiAgICAgIHRhZ3MgPSByZWxlYXNlVGFncztcbiAgICB9IGVsc2Uge1xuICAgICAgdGFncyA9IHByZXJlbGVhc2VUYWdzO1xuICAgIH1cbiAgfVxuXG4gIHRhZ3MgPSB0YWdzLmZpbHRlcigoeCkgPT4geCk7XG5cbiAgLy8gaWYgYSBwcmUtcmVsZWFzZSB0YWcgaXMgdXNlZCwgdGhlbiBhZGQgaXQgdG8gdGhlIGluaXRpYWwgdmVyc2lvblxuICBsZXQgaXNGaXJzdFJlbGVhc2UgPSBmYWxzZTtcbiAgbGV0IGxhdGVzdFRhZztcblxuICBpZiAodGFncy5sZW5ndGggPiAwKSB7XG4gICAgbGF0ZXN0VGFnID0gdGFnc1swXTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBpbml0aWFsID0gYCR7cHJlZml4fXYke21ham9yID8/IDB9LiR7bWlub3IgPz8gMH0uMGA7XG4gICAgbGF0ZXN0VGFnID0gcHJlcmVsZWFzZSA/IGAke2luaXRpYWx9LSR7cHJlcmVsZWFzZX0uMGAgOiBpbml0aWFsO1xuICAgIGlzRmlyc3RSZWxlYXNlID0gdHJ1ZTtcbiAgfVxuXG4gIC8vIHJlbW92ZSB0YWcgcHJlZml4IChpZiBleGlzdHMpXG4gIGxldCBsYXRlc3RWZXJzaW9uID0gbGF0ZXN0VGFnO1xuICBpZiAocHJlZml4ICYmIGxhdGVzdFZlcnNpb24uc3RhcnRzV2l0aChwcmVmaXgpKSB7XG4gICAgbGF0ZXN0VmVyc2lvbiA9IGxhdGVzdFZlcnNpb24uc3Vic3RyaW5nKHByZWZpeC5sZW5ndGgpO1xuICB9XG5cbiAgLy8gcmVtb3ZlIFwidlwiIHByZWZpeCAoaWYgZXhpc3RzKVxuICBpZiAobGF0ZXN0VmVyc2lvbi5zdGFydHNXaXRoKFwidlwiKSkge1xuICAgIGxhdGVzdFZlcnNpb24gPSBsYXRlc3RWZXJzaW9uLnN1YnN0cmluZygxKTtcbiAgfVxuXG4gIHJldHVybiB7IGxhdGVzdFZlcnNpb24sIGxhdGVzdFRhZywgaXNGaXJzdFJlbGVhc2UgfTtcbn1cbiJdfQ==
@@ -1,7 +1,40 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
36
  const bump_version_1 = require("./bump-version");
4
- const logging = require("../logging");
37
+ const logging = __importStar(require("../logging"));
5
38
  const versionFile = process.env.OUTFILE;
6
39
  const prerelease = process.env.PRERELEASE;
7
40
  const major = process.env.MAJOR;
@@ -54,4 +87,4 @@ logging.debug(opts);
54
87
  console.log(e.stack);
55
88
  process.exit(1);
56
89
  });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVtcC12ZXJzaW9uLnRhc2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmVsZWFzZS9idW1wLXZlcnNpb24udGFzay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQW9CQSxpREFBc0M7QUFDdEMsc0NBQXNDO0FBRXRDLE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDO0FBQ3hDLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDO0FBQzFDLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO0FBQ2hDLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDO0FBQ3ZDLE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDO0FBQ3hDLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO0FBQ3RDLE1BQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDO0FBQzlDLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUM7QUFDOUMsTUFBTSxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDO0FBQ3RELE1BQU0saUJBQWlCLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQztBQUN6RCxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQztBQUM3QyxNQUFNLGtCQUFrQixHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUM7QUFFNUQsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztBQUN6QyxDQUFDO0FBRUQsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2YsTUFBTSxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0FBQzNDLENBQUM7QUFFRCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDZCxNQUFNLElBQUksS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUM7QUFDMUMsQ0FBQztBQUVELElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUM7QUFDNUMsQ0FBQztBQUVELE1BQU0sWUFBWSxHQUNoQixLQUFLLElBQUksSUFBSSxJQUFJLEtBQUssS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQzlELElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDO0lBQy9CLE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCLFlBQVksRUFBRSxDQUFDLENBQUM7QUFDN0QsQ0FBQztBQUVELE1BQU0sZUFBZSxHQUNuQixRQUFRLElBQUksSUFBSSxJQUFJLFFBQVEsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ3ZFLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDO0lBQ2xDLE1BQU0sSUFBSSxLQUFLLENBQUMsOEJBQThCLGVBQWUsRUFBRSxDQUFDLENBQUM7QUFDbkUsQ0FBQztBQUVELE1BQU0sSUFBSSxHQUFnQjtJQUN4QixXQUFXLEVBQUUsV0FBVztJQUN4QixTQUFTLEVBQUUsU0FBUztJQUNwQixZQUFZLEVBQUUsWUFBWTtJQUMxQixlQUFlLEVBQUUsZUFBZTtJQUNoQyxVQUFVLEVBQUUsVUFBVTtJQUN0QixRQUFRLEVBQUUsUUFBUTtJQUNsQixjQUFjLEVBQUUsY0FBYztJQUM5QixTQUFTLEVBQUUsTUFBTTtJQUNqQix1Q0FBdUM7SUFDdkMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLENBQUM7SUFDdEQsaUJBQWlCO0lBQ2pCLFdBQVc7SUFDWCxrQkFBa0IsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLFNBQVM7Q0FDeEUsQ0FBQztBQUNGLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7QUFFcEIsSUFBQSxtQkFBSSxFQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFRLEVBQUUsRUFBRTtJQUMzQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xCLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBSZXNvbHZlcyB0aGUgbGF0ZXN0IHZlcnNpb24gZnJvbSBnaXQgdGFncyBhbmQgdXNlcyBgY29tbWl0LWFuZC10YWctdmVyc2lvbmAgdG8gYnVtcFxuICogdG8gdGhlIG5leHQgdmVyc2lvbiBiYXNlZCBvbiBjb21taXRzLlxuICpcbiAqIFRoaXMgZXhwZWN0cyBgY29tbWl0LWFuZC10YWctdmVyc2lvbmAgdG8gYmUgaW5zdGFsbGVkIGluIHRoZSBwYXRoLlxuICpcbiAqIEVudmlyb25tZW50IHZhcmlhYmxlczpcbiAqXG4gKiAtIE9VVEZJTEU6IChyZXF1aXJlZCkgdGhlIG5hbWUgb2YgdGhlIEpTT04gb3V0cHV0IGZpbGUgKHRoZSBcInZlcnNpb25cIiBmaWVsZFxuICogICB3aWxsIGJlIHVwZGF0ZWQgd2l0aCB0aGUgbGF0ZXN0IHZlcnNpb24pXG4gKiAtIFBSRVJFTEVBU0U6IChvcHRpb25hbCkgYSBwcmVyZWxlYXNlIHRhZyB0byB1c2UgKGUuZy4gXCJiZXRhXCIpXG4gKiAtIE1BSk9SOiBtYWpvciB2ZXJzaW9uIG51bWJlciBOTiB0byBmaWx0ZXIgKHRhZ3MgYXJlIGZpbHRlcmVkIGJ5IFwidk5OLlwiXG4gKiAgIHByZWZpeCkuIGlmIG5vdCBzcGVjaWZpZWQsIHRoZSBsYXN0IG1ham9yIHZlcnNpb24gaXMgc2VsZWN0ZWRcbiAqIC0gTUlOX01BSk9SOiBtaW5pbXVtIG1ham9yIHZlcnNpb24gbnVtYmVyIHRvIHVzZVxuICogLSBDSEFOR0VMT0c6IG5hbWUgb2YgY2hhbmdlbG9nIGZpbGUgdG8gY3JlYXRlXG4gKiAtIFJFTEVBU0VfVEFHX1BSRUZJWDogKG9wdGlvbmFsKSBhIHByZWZpeCB0byBhcHBseSB0byB0aGUgcmVsZWFzZSB0YWdcbiAqIC0gQlVNUF9QQUNLQUdFOiAob3B0aW9uYWwpIHRoZSBidW1wIHBhY2thZ2UgdG8gdXNlXG4gKiAtIE5FWFRfVkVSU0lPTl9DT01NQU5EOiAob3B0aW9uYWwpIGEgY29tbWFuZCB0byBkZWNpZGUgdGhlIHZlcnNpb24gdG8gcmVsZWFzZVxuICovXG5pbXBvcnQgdHlwZSB7IEJ1bXBPcHRpb25zIH0gZnJvbSBcIi4vYnVtcC12ZXJzaW9uXCI7XG5pbXBvcnQgeyBidW1wIH0gZnJvbSBcIi4vYnVtcC12ZXJzaW9uXCI7XG5pbXBvcnQgKiBhcyBsb2dnaW5nIGZyb20gXCIuLi9sb2dnaW5nXCI7XG5cbmNvbnN0IHZlcnNpb25GaWxlID0gcHJvY2Vzcy5lbnYuT1VURklMRTtcbmNvbnN0IHByZXJlbGVhc2UgPSBwcm9jZXNzLmVudi5QUkVSRUxFQVNFO1xuY29uc3QgbWFqb3IgPSBwcm9jZXNzLmVudi5NQUpPUjtcbmNvbnN0IG1pbk1ham9yID0gcHJvY2Vzcy5lbnYuTUlOX01BSk9SO1xuY29uc3QgY2hhbmdlbG9nID0gcHJvY2Vzcy5lbnYuQ0hBTkdFTE9HO1xuY29uc3QgYnVtcEZpbGUgPSBwcm9jZXNzLmVudi5CVU1QRklMRTtcbmNvbnN0IHJlbGVhc2VUYWdGaWxlID0gcHJvY2Vzcy5lbnYuUkVMRUFTRVRBRztcbmNvbnN0IHByZWZpeCA9IHByb2Nlc3MuZW52LlJFTEVBU0VfVEFHX1BSRUZJWDtcbmNvbnN0IHZlcnNpb25yY09wdGlvbnMgPSBwcm9jZXNzLmVudi5WRVJTSU9OUkNPUFRJT05TO1xuY29uc3QgcmVsZWFzYWJsZUNvbW1pdHMgPSBwcm9jZXNzLmVudi5SRUxFQVNBQkxFX0NPTU1JVFM7XG5jb25zdCBidW1wUGFja2FnZSA9IHByb2Nlc3MuZW52LkJVTVBfUEFDS0FHRTtcbmNvbnN0IG5leHRWZXJzaW9uQ29tbWFuZCA9IHByb2Nlc3MuZW52Lk5FWFRfVkVSU0lPTl9DT01NQU5EO1xuXG5pZiAoIXZlcnNpb25GaWxlKSB7XG4gIHRocm93IG5ldyBFcnJvcihcIk9VVEZJTEUgaXMgcmVxdWlyZWRcIik7XG59XG5cbmlmICghY2hhbmdlbG9nKSB7XG4gIHRocm93IG5ldyBFcnJvcihcIkNIQU5HRUxPRyBpcyByZXF1aXJlZFwiKTtcbn1cblxuaWYgKCFidW1wRmlsZSkge1xuICB0aHJvdyBuZXcgRXJyb3IoXCJCVU1QRklMRSBpcyByZXF1aXJlZFwiKTtcbn1cblxuaWYgKCFyZWxlYXNlVGFnRmlsZSkge1xuICB0aHJvdyBuZXcgRXJyb3IoXCJSRUxFQVNFVEFHIGlzIHJlcXVpcmVkXCIpO1xufVxuXG5jb25zdCBtYWpvclZlcnNpb24gPVxuICBtYWpvciA9PSBudWxsIHx8IG1ham9yID09PSBcIlwiID8gdW5kZWZpbmVkIDogcGFyc2VJbnQobWFqb3IpO1xuaWYgKE51bWJlci5pc05hTihtYWpvclZlcnNpb24pKSB7XG4gIHRocm93IG5ldyBFcnJvcihgTUFKT1IgbXVzdCBiZSBhIG51bWJlcjogJHttYWpvclZlcnNpb259YCk7XG59XG5cbmNvbnN0IG1pbk1ham9yVmVyc2lvbiA9XG4gIG1pbk1ham9yID09IG51bGwgfHwgbWluTWFqb3IgPT09IFwiXCIgPyB1bmRlZmluZWQgOiBwYXJzZUludChtaW5NYWpvcik7XG5pZiAoTnVtYmVyLmlzTmFOKG1pbk1ham9yVmVyc2lvbikpIHtcbiAgdGhyb3cgbmV3IEVycm9yKGBtaW5NYWpvciBtdXN0IGJlIGEgbnVtYmVyOiAke21pbk1ham9yVmVyc2lvbn1gKTtcbn1cblxuY29uc3Qgb3B0czogQnVtcE9wdGlvbnMgPSB7XG4gIHZlcnNpb25GaWxlOiB2ZXJzaW9uRmlsZSxcbiAgY2hhbmdlbG9nOiBjaGFuZ2Vsb2csXG4gIG1ham9yVmVyc2lvbjogbWFqb3JWZXJzaW9uLFxuICBtaW5NYWpvclZlcnNpb246IG1pbk1ham9yVmVyc2lvbixcbiAgcHJlcmVsZWFzZTogcHJlcmVsZWFzZSxcbiAgYnVtcEZpbGU6IGJ1bXBGaWxlLFxuICByZWxlYXNlVGFnRmlsZTogcmVsZWFzZVRhZ0ZpbGUsXG4gIHRhZ1ByZWZpeDogcHJlZml4LFxuICAvLyBkb2Vzbid0IHdvcmsgd2l0aCBsb25nIGN1c3RvbWl6YXRpb25cbiAgdmVyc2lvbnJjT3B0aW9uczogSlNPTi5wYXJzZSh2ZXJzaW9ucmNPcHRpb25zID8/IFwie31cIiksXG4gIHJlbGVhc2FibGVDb21taXRzLFxuICBidW1wUGFja2FnZSxcbiAgbmV4dFZlcnNpb25Db21tYW5kOiBuZXh0VmVyc2lvbkNvbW1hbmQgPyBuZXh0VmVyc2lvbkNvbW1hbmQgOiB1bmRlZmluZWQsXG59O1xubG9nZ2luZy5kZWJ1ZyhvcHRzKTtcblxuYnVtcChwcm9jZXNzLmN3ZCgpLCBvcHRzKS5jYXRjaCgoZTogRXJyb3IpID0+IHtcbiAgY29uc29sZS5sb2coZS5zdGFjayk7XG4gIHByb2Nlc3MuZXhpdCgxKTtcbn0pO1xuIl19
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVtcC12ZXJzaW9uLnRhc2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmVsZWFzZS9idW1wLXZlcnNpb24udGFzay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQW9CQSxpREFBc0M7QUFDdEMsb0RBQXNDO0FBRXRDLE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDO0FBQ3hDLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDO0FBQzFDLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO0FBQ2hDLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDO0FBQ3ZDLE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDO0FBQ3hDLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO0FBQ3RDLE1BQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDO0FBQzlDLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUM7QUFDOUMsTUFBTSxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDO0FBQ3RELE1BQU0saUJBQWlCLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQztBQUN6RCxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQztBQUM3QyxNQUFNLGtCQUFrQixHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUM7QUFFNUQsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztBQUN6QyxDQUFDO0FBRUQsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2YsTUFBTSxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0FBQzNDLENBQUM7QUFFRCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDZCxNQUFNLElBQUksS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUM7QUFDMUMsQ0FBQztBQUVELElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUM7QUFDNUMsQ0FBQztBQUVELE1BQU0sWUFBWSxHQUNoQixLQUFLLElBQUksSUFBSSxJQUFJLEtBQUssS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQzlELElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDO0lBQy9CLE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCLFlBQVksRUFBRSxDQUFDLENBQUM7QUFDN0QsQ0FBQztBQUVELE1BQU0sZUFBZSxHQUNuQixRQUFRLElBQUksSUFBSSxJQUFJLFFBQVEsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ3ZFLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDO0lBQ2xDLE1BQU0sSUFBSSxLQUFLLENBQUMsOEJBQThCLGVBQWUsRUFBRSxDQUFDLENBQUM7QUFDbkUsQ0FBQztBQUVELE1BQU0sSUFBSSxHQUFnQjtJQUN4QixXQUFXLEVBQUUsV0FBVztJQUN4QixTQUFTLEVBQUUsU0FBUztJQUNwQixZQUFZLEVBQUUsWUFBWTtJQUMxQixlQUFlLEVBQUUsZUFBZTtJQUNoQyxVQUFVLEVBQUUsVUFBVTtJQUN0QixRQUFRLEVBQUUsUUFBUTtJQUNsQixjQUFjLEVBQUUsY0FBYztJQUM5QixTQUFTLEVBQUUsTUFBTTtJQUNqQix1Q0FBdUM7SUFDdkMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLENBQUM7SUFDdEQsaUJBQWlCO0lBQ2pCLFdBQVc7SUFDWCxrQkFBa0IsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLFNBQVM7Q0FDeEUsQ0FBQztBQUNGLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7QUFFcEIsSUFBQSxtQkFBSSxFQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFRLEVBQUUsRUFBRTtJQUMzQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xCLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBSZXNvbHZlcyB0aGUgbGF0ZXN0IHZlcnNpb24gZnJvbSBnaXQgdGFncyBhbmQgdXNlcyBgY29tbWl0LWFuZC10YWctdmVyc2lvbmAgdG8gYnVtcFxuICogdG8gdGhlIG5leHQgdmVyc2lvbiBiYXNlZCBvbiBjb21taXRzLlxuICpcbiAqIFRoaXMgZXhwZWN0cyBgY29tbWl0LWFuZC10YWctdmVyc2lvbmAgdG8gYmUgaW5zdGFsbGVkIGluIHRoZSBwYXRoLlxuICpcbiAqIEVudmlyb25tZW50IHZhcmlhYmxlczpcbiAqXG4gKiAtIE9VVEZJTEU6IChyZXF1aXJlZCkgdGhlIG5hbWUgb2YgdGhlIEpTT04gb3V0cHV0IGZpbGUgKHRoZSBcInZlcnNpb25cIiBmaWVsZFxuICogICB3aWxsIGJlIHVwZGF0ZWQgd2l0aCB0aGUgbGF0ZXN0IHZlcnNpb24pXG4gKiAtIFBSRVJFTEVBU0U6IChvcHRpb25hbCkgYSBwcmVyZWxlYXNlIHRhZyB0byB1c2UgKGUuZy4gXCJiZXRhXCIpXG4gKiAtIE1BSk9SOiBtYWpvciB2ZXJzaW9uIG51bWJlciBOTiB0byBmaWx0ZXIgKHRhZ3MgYXJlIGZpbHRlcmVkIGJ5IFwidk5OLlwiXG4gKiAgIHByZWZpeCkuIGlmIG5vdCBzcGVjaWZpZWQsIHRoZSBsYXN0IG1ham9yIHZlcnNpb24gaXMgc2VsZWN0ZWRcbiAqIC0gTUlOX01BSk9SOiBtaW5pbXVtIG1ham9yIHZlcnNpb24gbnVtYmVyIHRvIHVzZVxuICogLSBDSEFOR0VMT0c6IG5hbWUgb2YgY2hhbmdlbG9nIGZpbGUgdG8gY3JlYXRlXG4gKiAtIFJFTEVBU0VfVEFHX1BSRUZJWDogKG9wdGlvbmFsKSBhIHByZWZpeCB0byBhcHBseSB0byB0aGUgcmVsZWFzZSB0YWdcbiAqIC0gQlVNUF9QQUNLQUdFOiAob3B0aW9uYWwpIHRoZSBidW1wIHBhY2thZ2UgdG8gdXNlXG4gKiAtIE5FWFRfVkVSU0lPTl9DT01NQU5EOiAob3B0aW9uYWwpIGEgY29tbWFuZCB0byBkZWNpZGUgdGhlIHZlcnNpb24gdG8gcmVsZWFzZVxuICovXG5pbXBvcnQgdHlwZSB7IEJ1bXBPcHRpb25zIH0gZnJvbSBcIi4vYnVtcC12ZXJzaW9uXCI7XG5pbXBvcnQgeyBidW1wIH0gZnJvbSBcIi4vYnVtcC12ZXJzaW9uXCI7XG5pbXBvcnQgKiBhcyBsb2dnaW5nIGZyb20gXCIuLi9sb2dnaW5nXCI7XG5cbmNvbnN0IHZlcnNpb25GaWxlID0gcHJvY2Vzcy5lbnYuT1VURklMRTtcbmNvbnN0IHByZXJlbGVhc2UgPSBwcm9jZXNzLmVudi5QUkVSRUxFQVNFO1xuY29uc3QgbWFqb3IgPSBwcm9jZXNzLmVudi5NQUpPUjtcbmNvbnN0IG1pbk1ham9yID0gcHJvY2Vzcy5lbnYuTUlOX01BSk9SO1xuY29uc3QgY2hhbmdlbG9nID0gcHJvY2Vzcy5lbnYuQ0hBTkdFTE9HO1xuY29uc3QgYnVtcEZpbGUgPSBwcm9jZXNzLmVudi5CVU1QRklMRTtcbmNvbnN0IHJlbGVhc2VUYWdGaWxlID0gcHJvY2Vzcy5lbnYuUkVMRUFTRVRBRztcbmNvbnN0IHByZWZpeCA9IHByb2Nlc3MuZW52LlJFTEVBU0VfVEFHX1BSRUZJWDtcbmNvbnN0IHZlcnNpb25yY09wdGlvbnMgPSBwcm9jZXNzLmVudi5WRVJTSU9OUkNPUFRJT05TO1xuY29uc3QgcmVsZWFzYWJsZUNvbW1pdHMgPSBwcm9jZXNzLmVudi5SRUxFQVNBQkxFX0NPTU1JVFM7XG5jb25zdCBidW1wUGFja2FnZSA9IHByb2Nlc3MuZW52LkJVTVBfUEFDS0FHRTtcbmNvbnN0IG5leHRWZXJzaW9uQ29tbWFuZCA9IHByb2Nlc3MuZW52Lk5FWFRfVkVSU0lPTl9DT01NQU5EO1xuXG5pZiAoIXZlcnNpb25GaWxlKSB7XG4gIHRocm93IG5ldyBFcnJvcihcIk9VVEZJTEUgaXMgcmVxdWlyZWRcIik7XG59XG5cbmlmICghY2hhbmdlbG9nKSB7XG4gIHRocm93IG5ldyBFcnJvcihcIkNIQU5HRUxPRyBpcyByZXF1aXJlZFwiKTtcbn1cblxuaWYgKCFidW1wRmlsZSkge1xuICB0aHJvdyBuZXcgRXJyb3IoXCJCVU1QRklMRSBpcyByZXF1aXJlZFwiKTtcbn1cblxuaWYgKCFyZWxlYXNlVGFnRmlsZSkge1xuICB0aHJvdyBuZXcgRXJyb3IoXCJSRUxFQVNFVEFHIGlzIHJlcXVpcmVkXCIpO1xufVxuXG5jb25zdCBtYWpvclZlcnNpb24gPVxuICBtYWpvciA9PSBudWxsIHx8IG1ham9yID09PSBcIlwiID8gdW5kZWZpbmVkIDogcGFyc2VJbnQobWFqb3IpO1xuaWYgKE51bWJlci5pc05hTihtYWpvclZlcnNpb24pKSB7XG4gIHRocm93IG5ldyBFcnJvcihgTUFKT1IgbXVzdCBiZSBhIG51bWJlcjogJHttYWpvclZlcnNpb259YCk7XG59XG5cbmNvbnN0IG1pbk1ham9yVmVyc2lvbiA9XG4gIG1pbk1ham9yID09IG51bGwgfHwgbWluTWFqb3IgPT09IFwiXCIgPyB1bmRlZmluZWQgOiBwYXJzZUludChtaW5NYWpvcik7XG5pZiAoTnVtYmVyLmlzTmFOKG1pbk1ham9yVmVyc2lvbikpIHtcbiAgdGhyb3cgbmV3IEVycm9yKGBtaW5NYWpvciBtdXN0IGJlIGEgbnVtYmVyOiAke21pbk1ham9yVmVyc2lvbn1gKTtcbn1cblxuY29uc3Qgb3B0czogQnVtcE9wdGlvbnMgPSB7XG4gIHZlcnNpb25GaWxlOiB2ZXJzaW9uRmlsZSxcbiAgY2hhbmdlbG9nOiBjaGFuZ2Vsb2csXG4gIG1ham9yVmVyc2lvbjogbWFqb3JWZXJzaW9uLFxuICBtaW5NYWpvclZlcnNpb246IG1pbk1ham9yVmVyc2lvbixcbiAgcHJlcmVsZWFzZTogcHJlcmVsZWFzZSxcbiAgYnVtcEZpbGU6IGJ1bXBGaWxlLFxuICByZWxlYXNlVGFnRmlsZTogcmVsZWFzZVRhZ0ZpbGUsXG4gIHRhZ1ByZWZpeDogcHJlZml4LFxuICAvLyBkb2Vzbid0IHdvcmsgd2l0aCBsb25nIGN1c3RvbWl6YXRpb25cbiAgdmVyc2lvbnJjT3B0aW9uczogSlNPTi5wYXJzZSh2ZXJzaW9ucmNPcHRpb25zID8/IFwie31cIiksXG4gIHJlbGVhc2FibGVDb21taXRzLFxuICBidW1wUGFja2FnZSxcbiAgbmV4dFZlcnNpb25Db21tYW5kOiBuZXh0VmVyc2lvbkNvbW1hbmQgPyBuZXh0VmVyc2lvbkNvbW1hbmQgOiB1bmRlZmluZWQsXG59O1xubG9nZ2luZy5kZWJ1ZyhvcHRzKTtcblxuYnVtcChwcm9jZXNzLmN3ZCgpLCBvcHRzKS5jYXRjaCgoZTogRXJyb3IpID0+IHtcbiAgY29uc29sZS5sb2coZS5zdGFjayk7XG4gIHByb2Nlc3MuZXhpdCgxKTtcbn0pO1xuIl19
@@ -1,15 +1,51 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
36
  exports.CommitAndTagVersion = void 0;
4
37
  /**
5
38
  * Library to invoke commit-and-tag-version
6
39
  */
7
40
  const fs_1 = require("fs");
8
- const path = require("node:path");
9
- const logging = require("../logging");
41
+ const path = __importStar(require("node:path"));
42
+ const logging = __importStar(require("../logging"));
10
43
  const util_1 = require("../util");
11
44
  const DEFAULT_CATV_SPEC = "commit-and-tag-version@^12";
12
45
  class CommitAndTagVersion {
46
+ cwd;
47
+ options;
48
+ cmd;
13
49
  constructor(packageSpec, cwd, options) {
14
50
  this.cwd = cwd;
15
51
  this.options = options;
@@ -146,4 +182,4 @@ function stripAnsi(str) {
146
182
  ].join("|");
147
183
  return str.replace(new RegExp(pattern, "g"), "");
148
184
  }
149
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWl0LXRhZy12ZXJzaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3JlbGVhc2UvY29tbWl0LXRhZy12ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBOztHQUVHO0FBQ0gsMkJBQW9DO0FBQ3BDLGtDQUFrQztBQUVsQyxzQ0FBc0M7QUFDdEMsa0NBQTRDO0FBRTVDLE1BQU0saUJBQWlCLEdBQUcsNEJBQTRCLENBQUM7QUFtQnZELE1BQWEsbUJBQW1CO0lBRzlCLFlBQ0UsV0FBK0IsRUFDZCxHQUFXLEVBQ1gsT0FBNEI7UUFENUIsUUFBRyxHQUFILEdBQUcsQ0FBUTtRQUNYLFlBQU8sR0FBUCxPQUFPLENBQXFCO1FBRTdDLElBQUksR0FBRyxDQUFDO1FBQ1IsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2pCLDhEQUE4RDtZQUM5RCw0REFBNEQ7WUFDNUQsSUFBSSxDQUFDO2dCQUNILEdBQUcsR0FBRyxHQUFHLE9BQU8sQ0FBQyxRQUFRLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxtQ0FBbUMsQ0FBQyxFQUFFLENBQUM7WUFDdEYsQ0FBQztZQUFDLE1BQU0sQ0FBQztnQkFDUCxVQUFVO1lBQ1osQ0FBQztRQUNILENBQUM7UUFFRCxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsSUFBSSxPQUFPLFdBQVcsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO0lBQzlELENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxNQUFNLENBQ2pCLE9BQVU7UUFFVixNQUFNLFVBQVUsR0FBdUI7WUFDckMsWUFBWSxFQUFFO2dCQUNaO29CQUNFLFFBQVEsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVc7b0JBQ2xDLElBQUksRUFBRSxNQUFNO2lCQUNiO2FBQ0Y7WUFDRCxTQUFTLEVBQUU7Z0JBQ1Q7b0JBQ0UsUUFBUSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVztvQkFDbEMsSUFBSSxFQUFFLE1BQU07aUJBQ2I7YUFDRjtZQUNELFNBQVMsRUFBRSxLQUFLO1lBQ2hCLE1BQU0sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWE7WUFDbEMsVUFBVSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVTtZQUNuQyxNQUFNLEVBQUUsRUFBRTtZQUNWLElBQUksRUFBRTtnQkFDSixNQUFNLEVBQUUsSUFBSTtnQkFDWixHQUFHLEVBQUUsSUFBSTtnQkFDVCxJQUFJLEVBQUUsT0FBTyxDQUFDLFFBQVE7Z0JBQ3RCLFNBQVMsRUFBRSxPQUFPLENBQUMsYUFBYTthQUNqQztZQUNELFNBQVMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVM7Z0JBQy9CLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxHQUFHO2dCQUM5QixDQUFDLENBQUMsU0FBUztZQUNiLFNBQVMsRUFBRSxPQUFPLENBQUMsU0FBUztZQUM1QixNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU07WUFDdEIsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWE7U0FDOUIsQ0FBQztRQUNGLE9BQU8sQ0FBQyxLQUFLLENBQUMsb0JBQW9CLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRWhFLDRFQUE0RTtRQUM1RSxxQkFBcUI7UUFDckIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLGlCQUFpQixDQUFDLENBQUM7UUFDdEQsTUFBTSxhQUFFLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNyRSxJQUFJLENBQUM7WUFDSCxJQUFJLEdBQVEsQ0FBQztZQUNiLElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNwQixHQUFHLEdBQUcsSUFBQSxrQkFBVyxFQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7b0JBQzFCLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRztpQkFDZCxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDaEIsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLEdBQUcsR0FBRyxJQUFBLFdBQUksRUFBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQzFDLENBQUM7WUFDRCxPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUM7Z0JBQVMsQ0FBQztZQUNULE1BQU0sYUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMxQixDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNJLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxPQUFlLEVBQUUsU0FBaUI7UUFDekUsTUFBTSxTQUFTLEdBQUcsSUFBQSxrQkFBVyxFQUFDLGlCQUFpQixTQUFTLEVBQUUsRUFBRTtZQUMxRCxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7U0FDZCxDQUFDO2FBQ0MsUUFBUSxDQUFDLE1BQU0sQ0FBQzthQUNoQixJQUFJLEVBQUUsQ0FBQztRQUVWLElBQUEsV0FBSSxFQUFDLG9CQUFvQixTQUFTLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUM7WUFDSCxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUM7Z0JBQ2hCLFNBQVMsRUFBRSxPQUFPO2dCQUNsQixRQUFRLEVBQUUsSUFBSTthQUNmLENBQUMsQ0FBQztRQUNMLENBQUM7Z0JBQVMsQ0FBQztZQUNULElBQUEsV0FBSSxFQUFDLFdBQVcsU0FBUyxJQUFJLFNBQVMsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQy9ELENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSSxLQUFLLENBQUMsTUFBTTtRQUNqQixNQUFNLE1BQU0sR0FBRyxTQUFTLENBQ3RCLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUNoQixPQUFPLEVBQUUsSUFBSTtZQUNiLE1BQU0sRUFBRSxJQUFJO1lBQ1osYUFBYSxFQUFFLElBQUk7U0FDcEIsQ0FBQyxDQUNILENBQUM7UUFDRixNQUFNLEVBQUUsR0FBRywwREFBMEQsQ0FBQztRQUN0RSxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNQLE1BQU0sSUFBSSxLQUFLLENBQUMsbUJBQW1CLEVBQUUsT0FBTyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ3hELENBQUM7UUFFRCxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNkLENBQUM7Q0FDRjtBQXBJRCxrREFvSUM7QUF3QkQ7Ozs7O0dBS0c7QUFDSCxTQUFTLFNBQVMsQ0FBQyxHQUFXO0lBQzVCLG1GQUFtRjtJQUNuRixNQUFNLE9BQU8sR0FBRztRQUNkLDhIQUE4SDtRQUM5SCwwREFBMEQ7S0FDM0QsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDWixPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ25ELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIExpYnJhcnkgdG8gaW52b2tlIGNvbW1pdC1hbmQtdGFnLXZlcnNpb25cbiAqL1xuaW1wb3J0IHsgcHJvbWlzZXMgYXMgZnMgfSBmcm9tIFwiZnNcIjtcbmltcG9ydCAqIGFzIHBhdGggZnJvbSBcIm5vZGU6cGF0aFwiO1xuaW1wb3J0IHR5cGUgeyBDb25maWcgfSBmcm9tIFwiY29udmVudGlvbmFsLWNoYW5nZWxvZy1jb25maWctc3BlY1wiO1xuaW1wb3J0ICogYXMgbG9nZ2luZyBmcm9tIFwiLi4vbG9nZ2luZ1wiO1xuaW1wb3J0IHsgZXhlYywgZXhlY0NhcHR1cmUgfSBmcm9tIFwiLi4vdXRpbFwiO1xuXG5jb25zdCBERUZBVUxUX0NBVFZfU1BFQyA9IFwiY29tbWl0LWFuZC10YWctdmVyc2lvbkBeMTJcIjtcblxuZXhwb3J0IGludGVyZmFjZSBDb21taXRBbmRUYWdPcHRpb25zIHtcbiAgcmVhZG9ubHkgdGFnUHJlZml4Pzogc3RyaW5nO1xuICByZWFkb25seSB2ZXJzaW9uRmlsZTogc3RyaW5nO1xuICByZWFkb25seSBjaGFuZ2Vsb2dGaWxlPzogc3RyaW5nO1xuICByZWFkb25seSBwcmVyZWxlYXNlPzogc3RyaW5nO1xuICByZWFkb25seSBjb25maWdPcHRpb25zPzogQ29uZmlnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEludm9rZU9wdGlvbnMge1xuICByZWFkb25seSByZWxlYXNlQXM/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGRyeVJ1bj86IGJvb2xlYW47XG4gIC8qKiBBdm9pZCB1cGRhdGluZyB0aGUgdmVyc2lvbiBmaWxlcyAqL1xuICByZWFkb25seSBza2lwQnVtcD86IGJvb2xlYW47XG4gIHJlYWRvbmx5IHNraXBDaGFuZ2Vsb2c/OiBib29sZWFuO1xuICByZWFkb25seSBjYXB0dXJlPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNsYXNzIENvbW1pdEFuZFRhZ1ZlcnNpb24ge1xuICBwcml2YXRlIHJlYWRvbmx5IGNtZDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHBhY2thZ2VTcGVjOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjd2Q6IHN0cmluZyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IENvbW1pdEFuZFRhZ09wdGlvbnMsXG4gICkge1xuICAgIGxldCBjbWQ7XG4gICAgaWYgKCFwYWNrYWdlU3BlYykge1xuICAgICAgLy8gSWYgbm8gcGFja2FnZVNwZWMgaXMgZ2l2ZW4sIHRyeSBhbmQgcmVzb2x2ZSB0aGUgQ0FUViBiaW5hcnlcbiAgICAgIC8vIGZyb20gZGV2RGVwZW5kZW5jaWVzLiBUaGlzIHdpbGwgc3BlZWQgdXAgZXhlY3V0aW9uIGEgbG90LlxuICAgICAgdHJ5IHtcbiAgICAgICAgY21kID0gYCR7cHJvY2Vzcy5leGVjUGF0aH0gJHtyZXF1aXJlLnJlc29sdmUoXCJjb21taXQtYW5kLXRhZy12ZXJzaW9uL2Jpbi9jbGkuanNcIil9YDtcbiAgICAgIH0gY2F0Y2gge1xuICAgICAgICAvLyBPaCB3ZWxsXG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5jbWQgPSBjbWQgPz8gYG5weCAke3BhY2thZ2VTcGVjID8/IERFRkFVTFRfQ0FUVl9TUEVDfWA7XG4gIH1cblxuICAvKipcbiAgICogSW52b2tlIHRoZSBgY29tbWl0LWFuZC10YWdgIHBhY2thZ2VcbiAgICovXG4gIHB1YmxpYyBhc3luYyBpbnZva2U8QSBleHRlbmRzIEludm9rZU9wdGlvbnM+KFxuICAgIG9wdGlvbnM6IEEsXG4gICk6IFByb21pc2U8QSBleHRlbmRzIHsgY2FwdHVyZTogdHJ1ZSB9ID8gc3RyaW5nIDogdm9pZD4ge1xuICAgIGNvbnN0IGNhdHZDb25maWc6IENvbW1pdEFuZFRhZ0NvbmZpZyA9IHtcbiAgICAgIHBhY2thZ2VGaWxlczogW1xuICAgICAgICB7XG4gICAgICAgICAgZmlsZW5hbWU6IHRoaXMub3B0aW9ucy52ZXJzaW9uRmlsZSxcbiAgICAgICAgICB0eXBlOiBcImpzb25cIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBidW1wRmlsZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGZpbGVuYW1lOiB0aGlzLm9wdGlvbnMudmVyc2lvbkZpbGUsXG4gICAgICAgICAgdHlwZTogXCJqc29uXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgY29tbWl0QWxsOiBmYWxzZSxcbiAgICAgIGluZmlsZTogdGhpcy5vcHRpb25zLmNoYW5nZWxvZ0ZpbGUsXG4gICAgICBwcmVyZWxlYXNlOiB0aGlzLm9wdGlvbnMucHJlcmVsZWFzZSxcbiAgICAgIGhlYWRlcjogXCJcIixcbiAgICAgIHNraXA6IHtcbiAgICAgICAgY29tbWl0OiB0cnVlLFxuICAgICAgICB0YWc6IHRydWUsXG4gICAgICAgIGJ1bXA6IG9wdGlvbnMuc2tpcEJ1bXAsXG4gICAgICAgIGNoYW5nZWxvZzogb3B0aW9ucy5za2lwQ2hhbmdlbG9nLFxuICAgICAgfSxcbiAgICAgIHRhZ1ByZWZpeDogdGhpcy5vcHRpb25zLnRhZ1ByZWZpeFxuICAgICAgICA/IGAke3RoaXMub3B0aW9ucy50YWdQcmVmaXh9dmBcbiAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICByZWxlYXNlQXM6IG9wdGlvbnMucmVsZWFzZUFzLFxuICAgICAgZHJ5UnVuOiBvcHRpb25zLmRyeVJ1bixcbiAgICAgIC4uLnRoaXMub3B0aW9ucy5jb25maWdPcHRpb25zLFxuICAgIH07XG4gICAgbG9nZ2luZy5kZWJ1ZyhgLnZlcnNpb25yYy5qc29uOiAke0pTT04uc3RyaW5naWZ5KGNhdHZDb25maWcpfWApO1xuXG4gICAgLy8gR2VuZXJhdGUgYSB0ZW1wb3JhcnkgY29uZmlnIGZpbGUsIHRoZW4gZXhlY3V0ZSB0aGUgcGFja2FnZSBhbmQgcmVtb3ZlIHRoZVxuICAgIC8vIGNvbmZpZyBmaWxlIGFnYWluLlxuICAgIGNvbnN0IHJjZmlsZSA9IHBhdGguam9pbih0aGlzLmN3ZCwgXCIudmVyc2lvbnJjLmpzb25cIik7XG4gICAgYXdhaXQgZnMud3JpdGVGaWxlKHJjZmlsZSwgSlNPTi5zdHJpbmdpZnkoY2F0dkNvbmZpZywgdW5kZWZpbmVkLCAyKSk7XG4gICAgdHJ5IHtcbiAgICAgIGxldCByZXQ6IGFueTtcbiAgICAgIGlmIChvcHRpb25zLmNhcHR1cmUpIHtcbiAgICAgICAgcmV0ID0gZXhlY0NhcHR1cmUodGhpcy5jbWQsIHtcbiAgICAgICAgICBjd2Q6IHRoaXMuY3dkLFxuICAgICAgICB9KS50b1N0cmluZygpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0ID0gZXhlYyh0aGlzLmNtZCwgeyBjd2Q6IHRoaXMuY3dkIH0pO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJldDtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgYXdhaXQgZnMudW5saW5rKHJjZmlsZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJlZ2VuZXJhdGUgdGhlIG1vc3QgcmVjZW50IGNoYW5nZSBsb2dcbiAgICpcbiAgICogRG8gdGhpcyBieSBkZWxldGluZyB0aGUgbW9zdCByZWNlbnQgdGFnLCBydW5uaW5nIENBVFYsIHRoZW5cbiAgICogcmVzdG9yaW5nIHRoZSB0YWcuXG4gICAqXG4gICAqIFdlIGRvIHRoaXMgY29tYmluZWQgd2l0aCBza2lwcGluZyB0aGUgYnVtcCB0byBtYWtlIENBVFYgcmVnZW5lcmF0ZSB0aGVcbiAgICogY2hhbmdlbG9nIG9mIHRoZSBtb3N0IHJlY2VudCByZWxlYXNlIChpZiB3ZSBsZWZ0IHRoZSB0YWcsIHRoZSBjaGFuZ2Vsb2dcbiAgICogd291bGQgYmUgZW1wdHkpLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIHJlZ2VuZXJhdGVQcmV2aW91c0NoYW5nZUxvZyh2ZXJzaW9uOiBzdHJpbmcsIGxhdGVzdFRhZzogc3RyaW5nKSB7XG4gICAgY29uc3Qgb2xkQ29tbWl0ID0gZXhlY0NhcHR1cmUoYGdpdCByZXYtcGFyc2UgJHtsYXRlc3RUYWd9YCwge1xuICAgICAgY3dkOiB0aGlzLmN3ZCxcbiAgICB9KVxuICAgICAgLnRvU3RyaW5nKFwidXRmOFwiKVxuICAgICAgLnRyaW0oKTtcblxuICAgIGV4ZWMoYGdpdCB0YWcgLS1kZWxldGUgJHtsYXRlc3RUYWd9YCwgeyBjd2Q6IHRoaXMuY3dkIH0pO1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLmludm9rZSh7XG4gICAgICAgIHJlbGVhc2VBczogdmVyc2lvbixcbiAgICAgICAgc2tpcEJ1bXA6IHRydWUsXG4gICAgICB9KTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgZXhlYyhgZ2l0IHRhZyAke2xhdGVzdFRhZ30gJHtvbGRDb21taXR9YCwgeyBjd2Q6IHRoaXMuY3dkIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBJbnZva2UgQ0FUViBhbmQgcmV0dXJuIHRoZSB2ZXJzaW9uIGl0IHdvdWxkIGhhdmUgYnVtcGVkIHRvXG4gICAqXG4gICAqIENBVFYgd2lsbCBhbHdheXMgYXQgbGVhc3QgcGVyZm9ybSBhIHBhdGNoIGJ1bXAsIGV2ZW4gaWYgdGhlcmUgYXJlbid0IGFueVxuICAgKiBjb21taXRzIHRvIGxvb2sgYXQuXG4gICAqXG4gICAqIFdlIGhhdmUgdG8gZG8gdGhpcyBieSBwYXJzaW5nIHRoZSBvdXRwdXQgc3RyaW5nLCB3aGljaCBpcyBwcmV0dHkgYmFkXG4gICAqIGJ1dCBJIGRvbid0IHNlZSB0aGF0IHdlIGhhdmUgYW5vdGhlciB3YXkuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZHJ5UnVuKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgY29uc3Qgb3V0cHV0ID0gc3RyaXBBbnNpKFxuICAgICAgYXdhaXQgdGhpcy5pbnZva2Uoe1xuICAgICAgICBjYXB0dXJlOiB0cnVlLFxuICAgICAgICBkcnlSdW46IHRydWUsXG4gICAgICAgIHNraXBDaGFuZ2Vsb2c6IHRydWUsXG4gICAgICB9KSxcbiAgICApO1xuICAgIGNvbnN0IHJlID0gL2J1bXBpbmcgdmVyc2lvbi4qZnJvbSAoWzAtOWEtei4rLV0rKSB0byAoWzAtOWEtei4rLV0rKS9pbTtcbiAgICBjb25zdCBtID0gcmUuZXhlYyhvdXRwdXQpO1xuICAgIGlmICghbSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBDb3VsZCBub3QgbWF0Y2ggJHtyZX0gaW4gJHtvdXRwdXR9YCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG1bMl07XG4gIH1cbn1cblxuLyoqXG4gKiBNb2RlbGluZyB0aGUgQ0FUViBjb25maWcgZmlsZVxuICovXG5pbnRlcmZhY2UgQ29tbWl0QW5kVGFnQ29uZmlnIGV4dGVuZHMgQ29uZmlnIHtcbiAgcGFja2FnZUZpbGVzPzogQXJyYXk8eyBmaWxlbmFtZTogc3RyaW5nOyB0eXBlOiBzdHJpbmcgfT47XG4gIGJ1bXBGaWxlcz86IEFycmF5PHsgZmlsZW5hbWU6IHN0cmluZzsgdHlwZTogc3RyaW5nIH0+O1xuICBjb21taXRBbGw/OiBib29sZWFuO1xuICBpbmZpbGU/OiBzdHJpbmc7XG4gIHByZXJlbGVhc2U/OiBzdHJpbmc7XG4gIHNraXA/OiB7XG4gICAgY29tbWl0PzogYm9vbGVhbjtcbiAgICB0YWc/OiBib29sZWFuO1xuICAgIGJ1bXA/OiBib29sZWFuO1xuICAgIGNoYW5nZWxvZz86IGJvb2xlYW47XG4gIH07XG4gIGZpcnN0UmVsZWFzZT86IGJvb2xlYW47XG4gIHRhZ1ByZWZpeD86IHN0cmluZztcbiAgcmVsZWFzZUFzPzogc3RyaW5nO1xuICBkcnlSdW4/OiBib29sZWFuO1xuICBwYXRoPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFN0cmlwcyBBTlNJIGVzY2FwZSBjb2RlcyBmcm9tIGEgc3RyaW5nXG4gKlxuICogTmVlZCB0byB1c2UgdGhpcyBiZWNhdXNlIHRoZSBgLS1uby1jb2xvcnNgIGFyZ3VtZW50IHRvIENBVFYgaXMgc29tZXRpbWVzXG4gKiByZXNwZWN0ZWQgYW5kIHNvbWV0aW1lcyBub3QgYW5kIGl0J3MgZHJpdmluZyBtZSBjcmF6eS5cbiAqL1xuZnVuY3Rpb24gc3RyaXBBbnNpKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgLy8gUGF0dGVybiBtYXRjaGVzIGFsbCBBTlNJIGVzY2FwZSBzZXF1ZW5jZXMgaW5jbHVkaW5nIGNvbG9ycywgY3Vyc29yIG1vdmVtZW50LCBldGNcbiAgY29uc3QgcGF0dGVybiA9IFtcbiAgICBcIltcXFxcdTAwMUJcXFxcdTAwOUJdW1tcXFxcXSgpIzs/XSooPzooPzooPzooPzo7Wy1hLXpBLVpcXFxcZFxcXFwvIyYuOj0/JUB+X10rKSp8W2EtekEtWlxcXFxkXSsoPzo7Wy1hLXpBLVpcXFxcZFxcXFwvIyYuOj0/JUB+X10qKSopP1xcXFx1MDAwNylcIixcbiAgICBcIig/Oig/OlxcXFxkezEsNH0oPzo7XFxcXGR7MCw0fSkqKT9bXFxcXGRBLVBSLVRaY2YtbnRxcnk9Pjx+XSkpXCIsXG4gIF0uam9pbihcInxcIik7XG4gIHJldHVybiBzdHIucmVwbGFjZShuZXcgUmVnRXhwKHBhdHRlcm4sIFwiZ1wiKSwgXCJcIik7XG59XG4iXX0=
185
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWl0LXRhZy12ZXJzaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3JlbGVhc2UvY29tbWl0LXRhZy12ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztHQUVHO0FBQ0gsMkJBQW9DO0FBQ3BDLGdEQUFrQztBQUVsQyxvREFBc0M7QUFDdEMsa0NBQTRDO0FBRTVDLE1BQU0saUJBQWlCLEdBQUcsNEJBQTRCLENBQUM7QUFtQnZELE1BQWEsbUJBQW1CO0lBS1g7SUFDQTtJQUxGLEdBQUcsQ0FBUztJQUU3QixZQUNFLFdBQStCLEVBQ2QsR0FBVyxFQUNYLE9BQTRCO1FBRDVCLFFBQUcsR0FBSCxHQUFHLENBQVE7UUFDWCxZQUFPLEdBQVAsT0FBTyxDQUFxQjtRQUU3QyxJQUFJLEdBQUcsQ0FBQztRQUNSLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNqQiw4REFBOEQ7WUFDOUQsNERBQTREO1lBQzVELElBQUksQ0FBQztnQkFDSCxHQUFHLEdBQUcsR0FBRyxPQUFPLENBQUMsUUFBUSxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsbUNBQW1DLENBQUMsRUFBRSxDQUFDO1lBQ3RGLENBQUM7WUFBQyxNQUFNLENBQUM7Z0JBQ1AsVUFBVTtZQUNaLENBQUM7UUFDSCxDQUFDO1FBRUQsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLElBQUksT0FBTyxXQUFXLElBQUksaUJBQWlCLEVBQUUsQ0FBQztJQUM5RCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsTUFBTSxDQUNqQixPQUFVO1FBRVYsTUFBTSxVQUFVLEdBQXVCO1lBQ3JDLFlBQVksRUFBRTtnQkFDWjtvQkFDRSxRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXO29CQUNsQyxJQUFJLEVBQUUsTUFBTTtpQkFDYjthQUNGO1lBQ0QsU0FBUyxFQUFFO2dCQUNUO29CQUNF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Q0ksS0FBSyxDQUFDLE1BQU07UUFDakIsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUN0QixNQUFNLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDaEIsT0FBTyxFQUFFLElBQUk7WUFDYixNQUFNLEVBQUUsSUFBSTtZQUNaLGFBQWEsRUFBRSxJQUFJO1NBQ3BCLENBQUMsQ0FDSCxDQUFDO1FBQ0YsTUFBTSxFQUFFLEdBQUcsMERBQTBELENBQUM7UUFDdEUsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDUCxNQUFNLElBQUksS0FBSyxDQUFDLG1CQUFtQixFQUFFLE9BQU8sTUFBTSxFQUFFLENBQUMsQ0FBQztRQUN4RCxDQUFDO1FBRUQsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDZCxDQUFDO0NBQ0Y7QUFwSUQsa0RBb0lDO0FBd0JEOzs7OztHQUtHO0FBQ0gsU0FBUyxTQUFTLENBQUMsR0FBVztJQUM1QixtRkFBbUY7SUFDbkYsTUFBTSxPQUFPLEdBQUc7UUFDZCw4SEFBOEg7UUFDOUgsMERBQTBEO0tBQzNELENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ1osT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUNuRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBMaWJyYXJ5IHRvIGludm9rZSBjb21taXQtYW5kLXRhZy12ZXJzaW9uXG4gKi9cbmltcG9ydCB7IHByb21pc2VzIGFzIGZzIH0gZnJvbSBcImZzXCI7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJub2RlOnBhdGhcIjtcbmltcG9ydCB0eXBlIHsgQ29uZmlnIH0gZnJvbSBcImNvbnZlbnRpb25hbC1jaGFuZ2Vsb2ctY29uZmlnLXNwZWNcIjtcbmltcG9ydCAqIGFzIGxvZ2dpbmcgZnJvbSBcIi4uL2xvZ2dpbmdcIjtcbmltcG9ydCB7IGV4ZWMsIGV4ZWNDYXB0dXJlIH0gZnJvbSBcIi4uL3V0aWxcIjtcblxuY29uc3QgREVGQVVMVF9DQVRWX1NQRUMgPSBcImNvbW1pdC1hbmQtdGFnLXZlcnNpb25AXjEyXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29tbWl0QW5kVGFnT3B0aW9ucyB7XG4gIHJlYWRvbmx5IHRhZ1ByZWZpeD86IHN0cmluZztcbiAgcmVhZG9ubHkgdmVyc2lvbkZpbGU6IHN0cmluZztcbiAgcmVhZG9ubHkgY2hhbmdlbG9nRmlsZT86IHN0cmluZztcbiAgcmVhZG9ubHkgcHJlcmVsZWFzZT86IHN0cmluZztcbiAgcmVhZG9ubHkgY29uZmlnT3B0aW9ucz86IENvbmZpZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbnZva2VPcHRpb25zIHtcbiAgcmVhZG9ubHkgcmVsZWFzZUFzPzogc3RyaW5nO1xuICByZWFkb25seSBkcnlSdW4/OiBib29sZWFuO1xuICAvKiogQXZvaWQgdXBkYXRpbmcgdGhlIHZlcnNpb24gZmlsZXMgKi9cbiAgcmVhZG9ubHkgc2tpcEJ1bXA/OiBib29sZWFuO1xuICByZWFkb25seSBza2lwQ2hhbmdlbG9nPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgY2FwdHVyZT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjbGFzcyBDb21taXRBbmRUYWdWZXJzaW9uIHtcbiAgcHJpdmF0ZSByZWFkb25seSBjbWQ6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwYWNrYWdlU3BlYzogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY3dkOiBzdHJpbmcsXG4gICAgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBDb21taXRBbmRUYWdPcHRpb25zLFxuICApIHtcbiAgICBsZXQgY21kO1xuICAgIGlmICghcGFja2FnZVNwZWMpIHtcbiAgICAgIC8vIElmIG5vIHBhY2thZ2VTcGVjIGlzIGdpdmVuLCB0cnkgYW5kIHJlc29sdmUgdGhlIENBVFYgYmluYXJ5XG4gICAgICAvLyBmcm9tIGRldkRlcGVuZGVuY2llcy4gVGhpcyB3aWxsIHNwZWVkIHVwIGV4ZWN1dGlvbiBhIGxvdC5cbiAgICAgIHRyeSB7XG4gICAgICAgIGNtZCA9IGAke3Byb2Nlc3MuZXhlY1BhdGh9ICR7cmVxdWlyZS5yZXNvbHZlKFwiY29tbWl0LWFuZC10YWctdmVyc2lvbi9iaW4vY2xpLmpzXCIpfWA7XG4gICAgICB9IGNhdGNoIHtcbiAgICAgICAgLy8gT2ggd2VsbFxuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuY21kID0gY21kID8/IGBucHggJHtwYWNrYWdlU3BlYyA/PyBERUZBVUxUX0NBVFZfU1BFQ31gO1xuICB9XG5cbiAgLyoqXG4gICAqIEludm9rZSB0aGUgYGNvbW1pdC1hbmQtdGFnYCBwYWNrYWdlXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgaW52b2tlPEEgZXh0ZW5kcyBJbnZva2VPcHRpb25zPihcbiAgICBvcHRpb25zOiBBLFxuICApOiBQcm9taXNlPEEgZXh0ZW5kcyB7IGNhcHR1cmU6IHRydWUgfSA/IHN0cmluZyA6IHZvaWQ+IHtcbiAgICBjb25zdCBjYXR2Q29uZmlnOiBDb21taXRBbmRUYWdDb25maWcgPSB7XG4gICAgICBwYWNrYWdlRmlsZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGZpbGVuYW1lOiB0aGlzLm9wdGlvbnMudmVyc2lvbkZpbGUsXG4gICAgICAgICAgdHlwZTogXCJqc29uXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgYnVtcEZpbGVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBmaWxlbmFtZTogdGhpcy5vcHRpb25zLnZlcnNpb25GaWxlLFxuICAgICAgICAgIHR5cGU6IFwianNvblwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIGNvbW1pdEFsbDogZmFsc2UsXG4gICAgICBpbmZpbGU6IHRoaXMub3B0aW9ucy5jaGFuZ2Vsb2dGaWxlLFxuICAgICAgcHJlcmVsZWFzZTogdGhpcy5vcHRpb25zLnByZXJlbGVhc2UsXG4gICAgICBoZWFkZXI6IFwiXCIsXG4gICAgICBza2lwOiB7XG4gICAgICAgIGNvbW1pdDogdHJ1ZSxcbiAgICAgICAgdGFnOiB0cnVlLFxuICAgICAgICBidW1wOiBvcHRpb25zLnNraXBCdW1wLFxuICAgICAgICBjaGFuZ2Vsb2c6IG9wdGlvbnMuc2tpcENoYW5nZWxvZyxcbiAgICAgIH0sXG4gICAgICB0YWdQcmVmaXg6IHRoaXMub3B0aW9ucy50YWdQcmVmaXhcbiAgICAgICAgPyBgJHt0aGlzLm9wdGlvbnMudGFnUHJlZml4fXZgXG4gICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgcmVsZWFzZUFzOiBvcHRpb25zLnJlbGVhc2VBcyxcbiAgICAgIGRyeVJ1bjogb3B0aW9ucy5kcnlSdW4sXG4gICAgICAuLi50aGlzLm9wdGlvbnMuY29uZmlnT3B0aW9ucyxcbiAgICB9O1xuICAgIGxvZ2dpbmcuZGVidWcoYC52ZXJzaW9ucmMuanNvbjogJHtKU09OLnN0cmluZ2lmeShjYXR2Q29uZmlnKX1gKTtcblxuICAgIC8vIEdlbmVyYXRlIGEgdGVtcG9yYXJ5IGNvbmZpZyBmaWxlLCB0aGVuIGV4ZWN1dGUgdGhlIHBhY2thZ2UgYW5kIHJlbW92ZSB0aGVcbiAgICAvLyBjb25maWcgZmlsZSBhZ2Fpbi5cbiAgICBjb25zdCByY2ZpbGUgPSBwYXRoLmpvaW4odGhpcy5jd2QsIFwiLnZlcnNpb25yYy5qc29uXCIpO1xuICAgIGF3YWl0IGZzLndyaXRlRmlsZShyY2ZpbGUsIEpTT04uc3RyaW5naWZ5KGNhdHZDb25maWcsIHVuZGVmaW5lZCwgMikpO1xuICAgIHRyeSB7XG4gICAgICBsZXQgcmV0OiBhbnk7XG4gICAgICBpZiAob3B0aW9ucy5jYXB0dXJlKSB7XG4gICAgICAgIHJldCA9IGV4ZWNDYXB0dXJlKHRoaXMuY21kLCB7XG4gICAgICAgICAgY3dkOiB0aGlzLmN3ZCxcbiAgICAgICAgfSkudG9TdHJpbmcoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldCA9IGV4ZWModGhpcy5jbWQsIHsgY3dkOiB0aGlzLmN3ZCB9KTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXQ7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGF3YWl0IGZzLnVubGluayhyY2ZpbGUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdlbmVyYXRlIHRoZSBtb3N0IHJlY2VudCBjaGFuZ2UgbG9nXG4gICAqXG4gICAqIERvIHRoaXMgYnkgZGVsZXRpbmcgdGhlIG1vc3QgcmVjZW50IHRhZywgcnVubmluZyBDQVRWLCB0aGVuXG4gICAqIHJlc3RvcmluZyB0aGUgdGFnLlxuICAgKlxuICAgKiBXZSBkbyB0aGlzIGNvbWJpbmVkIHdpdGggc2tpcHBpbmcgdGhlIGJ1bXAgdG8gbWFrZSBDQVRWIHJlZ2VuZXJhdGUgdGhlXG4gICAqIGNoYW5nZWxvZyBvZiB0aGUgbW9zdCByZWNlbnQgcmVsZWFzZSAoaWYgd2UgbGVmdCB0aGUgdGFnLCB0aGUgY2hhbmdlbG9nXG4gICAqIHdvdWxkIGJlIGVtcHR5KS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyByZWdlbmVyYXRlUHJldmlvdXNDaGFuZ2VMb2codmVyc2lvbjogc3RyaW5nLCBsYXRlc3RUYWc6IHN0cmluZykge1xuICAgIGNvbnN0IG9sZENvbW1pdCA9IGV4ZWNDYXB0dXJlKGBnaXQgcmV2LXBhcnNlICR7bGF0ZXN0VGFnfWAsIHtcbiAgICAgIGN3ZDogdGhpcy5jd2QsXG4gICAgfSlcbiAgICAgIC50b1N0cmluZyhcInV0ZjhcIilcbiAgICAgIC50cmltKCk7XG5cbiAgICBleGVjKGBnaXQgdGFnIC0tZGVsZXRlICR7bGF0ZXN0VGFnfWAsIHsgY3dkOiB0aGlzLmN3ZCB9KTtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy5pbnZva2Uoe1xuICAgICAgICByZWxlYXNlQXM6IHZlcnNpb24sXG4gICAgICAgIHNraXBCdW1wOiB0cnVlLFxuICAgICAgfSk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGV4ZWMoYGdpdCB0YWcgJHtsYXRlc3RUYWd9ICR7b2xkQ29tbWl0fWAsIHsgY3dkOiB0aGlzLmN3ZCB9KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogSW52b2tlIENBVFYgYW5kIHJldHVybiB0aGUgdmVyc2lvbiBpdCB3b3VsZCBoYXZlIGJ1bXBlZCB0b1xuICAgKlxuICAgKiBDQVRWIHdpbGwgYWx3YXlzIGF0IGxlYXN0IHBlcmZvcm0gYSBwYXRjaCBidW1wLCBldmVuIGlmIHRoZXJlIGFyZW4ndCBhbnlcbiAgICogY29tbWl0cyB0byBsb29rIGF0LlxuICAgKlxuICAgKiBXZSBoYXZlIHRvIGRvIHRoaXMgYnkgcGFyc2luZyB0aGUgb3V0cHV0IHN0cmluZywgd2hpY2ggaXMgcHJldHR5IGJhZFxuICAgKiBidXQgSSBkb24ndCBzZWUgdGhhdCB3ZSBoYXZlIGFub3RoZXIgd2F5LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGRyeVJ1bigpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IG91dHB1dCA9IHN0cmlwQW5zaShcbiAgICAgIGF3YWl0IHRoaXMuaW52b2tlKHtcbiAgICAgICAgY2FwdHVyZTogdHJ1ZSxcbiAgICAgICAgZHJ5UnVuOiB0cnVlLFxuICAgICAgICBza2lwQ2hhbmdlbG9nOiB0cnVlLFxuICAgICAgfSksXG4gICAgKTtcbiAgICBjb25zdCByZSA9IC9idW1waW5nIHZlcnNpb24uKmZyb20gKFswLTlhLXouKy1dKykgdG8gKFswLTlhLXouKy1dKykvaW07XG4gICAgY29uc3QgbSA9IHJlLmV4ZWMob3V0cHV0KTtcbiAgICBpZiAoIW0pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQ291bGQgbm90IG1hdGNoICR7cmV9IGluICR7b3V0cHV0fWApO1xuICAgIH1cblxuICAgIHJldHVybiBtWzJdO1xuICB9XG59XG5cbi8qKlxuICogTW9kZWxpbmcgdGhlIENBVFYgY29uZmlnIGZpbGVcbiAqL1xuaW50ZXJmYWNlIENvbW1pdEFuZFRhZ0NvbmZpZyBleHRlbmRzIENvbmZpZyB7XG4gIHBhY2thZ2VGaWxlcz86IEFycmF5PHsgZmlsZW5hbWU6IHN0cmluZzsgdHlwZTogc3RyaW5nIH0+O1xuICBidW1wRmlsZXM/OiBBcnJheTx7IGZpbGVuYW1lOiBzdHJpbmc7IHR5cGU6IHN0cmluZyB9PjtcbiAgY29tbWl0QWxsPzogYm9vbGVhbjtcbiAgaW5maWxlPzogc3RyaW5nO1xuICBwcmVyZWxlYXNlPzogc3RyaW5nO1xuICBza2lwPzoge1xuICAgIGNvbW1pdD86IGJvb2xlYW47XG4gICAgdGFnPzogYm9vbGVhbjtcbiAgICBidW1wPzogYm9vbGVhbjtcbiAgICBjaGFuZ2Vsb2c/OiBib29sZWFuO1xuICB9O1xuICBmaXJzdFJlbGVhc2U/OiBib29sZWFuO1xuICB0YWdQcmVmaXg/OiBzdHJpbmc7XG4gIHJlbGVhc2VBcz86IHN0cmluZztcbiAgZHJ5UnVuPzogYm9vbGVhbjtcbiAgcGF0aD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBTdHJpcHMgQU5TSSBlc2NhcGUgY29kZXMgZnJvbSBhIHN0cmluZ1xuICpcbiAqIE5lZWQgdG8gdXNlIHRoaXMgYmVjYXVzZSB0aGUgYC0tbm8tY29sb3JzYCBhcmd1bWVudCB0byBDQVRWIGlzIHNvbWV0aW1lc1xuICogcmVzcGVjdGVkIGFuZCBzb21ldGltZXMgbm90IGFuZCBpdCdzIGRyaXZpbmcgbWUgY3JhenkuXG4gKi9cbmZ1bmN0aW9uIHN0cmlwQW5zaShzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIC8vIFBhdHRlcm4gbWF0Y2hlcyBhbGwgQU5TSSBlc2NhcGUgc2VxdWVuY2VzIGluY2x1ZGluZyBjb2xvcnMsIGN1cnNvciBtb3ZlbWVudCwgZXRjXG4gIGNvbnN0IHBhdHRlcm4gPSBbXG4gICAgXCJbXFxcXHUwMDFCXFxcXHUwMDlCXVtbXFxcXF0oKSM7P10qKD86KD86KD86KD86O1stYS16QS1aXFxcXGRcXFxcLyMmLjo9PyVAfl9dKykqfFthLXpBLVpcXFxcZF0rKD86O1stYS16QS1aXFxcXGRcXFxcLyMmLjo9PyVAfl9dKikqKT9cXFxcdTAwMDcpXCIsXG4gICAgXCIoPzooPzpcXFxcZHsxLDR9KD86O1xcXFxkezAsNH0pKik/W1xcXFxkQS1QUi1UWmNmLW50cXJ5PT48fl0pKVwiLFxuICBdLmpvaW4oXCJ8XCIpO1xuICByZXR1cm4gc3RyLnJlcGxhY2UobmV3IFJlZ0V4cChwYXR0ZXJuLCBcImdcIiksIFwiXCIpO1xufVxuIl19
@@ -27,10 +27,6 @@ export interface PublisherOptions {
27
27
  * @see https://github.com/cdklabs/publib
28
28
  */
29
29
  readonly artifactName: string;
30
- /**
31
- * @deprecated use `publibVersion` instead
32
- */
33
- readonly jsiiReleaseVersion?: string;
34
30
  /**
35
31
  * Node version to setup in GitHub workflows if any node-based CLI utilities
36
32
  * are needed. For example `publib`, the CLI projen uses to publish releases,
@@ -104,8 +100,6 @@ export declare class Publisher extends Component {
104
100
  readonly artifactName: string;
105
101
  readonly publibVersion: string;
106
102
  readonly condition?: string;
107
- /** @deprecated use `publibVersion` */
108
- readonly jsiiReleaseVersion: string;
109
103
  private readonly failureIssue;
110
104
  private readonly failureIssueLabel;
111
105
  private readonly runsOn?;
@@ -221,33 +215,10 @@ export interface CommonPublishOptions {
221
215
  */
222
216
  readonly githubEnvironment?: string;
223
217
  }
224
- /**
225
- * @deprecated Use `NpmPublishOptions` instead.
226
- */
227
- export interface JsiiReleaseNpm extends NpmPublishOptions {
228
- }
229
218
  /**
230
219
  * Options for npm release
231
220
  */
232
221
  export interface NpmPublishOptions extends CommonPublishOptions {
233
- /**
234
- * Tags can be used to provide an alias instead of version numbers.
235
- *
236
- * For example, a project might choose to have multiple streams of development
237
- * and use a different tag for each stream, e.g., stable, beta, dev, canary.
238
- *
239
- * By default, the `latest` tag is used by npm to identify the current version
240
- * of a package, and `npm install <pkg>` (without any `@<version>` or `@<tag>`
241
- * specifier) installs the latest tag. Typically, projects only use the
242
- * `latest` tag for stable release versions, and use other tags for unstable
243
- * versions such as prereleases.
244
- *
245
- * The `next` tag is used by some projects to identify the upcoming version.
246
- *
247
- * @default "latest"
248
- * @deprecated Use `npmDistTag` for each release branch instead.
249
- */
250
- readonly distTag?: string;
251
222
  /**
252
223
  * The domain name of the npm package registry.
253
224
  *
@@ -353,11 +324,6 @@ export interface CodeArtifactOptions {
353
324
  */
354
325
  readonly roleToAssume?: string;
355
326
  }
356
- /**
357
- * @deprecated Use `PyPiPublishOptions` instead.
358
- */
359
- export interface JsiiReleasePyPi extends PyPiPublishOptions {
360
- }
361
327
  /**
362
328
  * Options for PyPI release
363
329
  */
@@ -403,11 +369,6 @@ export interface PyPiPublishOptions extends CommonPublishOptions {
403
369
  */
404
370
  readonly codeArtifactOptions?: CodeArtifactOptions;
405
371
  }
406
- /**
407
- * @deprecated Use `NugetPublishOptions` instead.
408
- */
409
- export interface JsiiReleaseNuget extends NugetPublishOptions {
410
- }
411
372
  /**
412
373
  * Options for NuGet releases
413
374
  */
@@ -439,11 +400,6 @@ export interface NugetPublishOptions extends CommonPublishOptions {
439
400
  */
440
401
  readonly nugetUsernameSecret?: string;
441
402
  }
442
- /**
443
- * @deprecated Use `MavenPublishOptions` instead.
444
- */
445
- export interface JsiiReleaseMaven extends MavenPublishOptions {
446
- }
447
403
  /**
448
404
  * Options for Maven releases
449
405
  */
@@ -520,11 +476,6 @@ export interface MavenPublishOptions extends CommonPublishOptions {
520
476
  */
521
477
  readonly mavenStagingProfileId?: string;
522
478
  }
523
- /**
524
- * @deprecated Use `GoPublishOptions` instead.
525
- */
526
- export interface JsiiReleaseGo extends GoPublishOptions {
527
- }
528
479
  /**
529
480
  * Options for Go releases.
530
481
  */