@aws-cdk-testing/cli-integ 3.3.0 → 3.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (442) hide show
  1. package/lib/cli/run-suite.js +6 -1
  2. package/lib/cli/run-suite.ts +6 -0
  3. package/lib/integ-test.js +3 -13
  4. package/lib/integ-test.ts +2 -13
  5. package/lib/with-aws.js +1 -3
  6. package/lib/with-aws.ts +0 -3
  7. package/lib/with-cli-lib.js +2 -1
  8. package/lib/with-cli-lib.ts +1 -0
  9. package/package.json +4 -4
  10. package/resources/integ.jest.config.js +2 -3
  11. package/tests/cli-integ-tests/cdk---exclusively-selects-only-selected-stack.integtest.js +24 -0
  12. package/tests/cli-integ-tests/cdk---exclusively-selects-only-selected-stack.integtest.ts +29 -0
  13. package/tests/cli-integ-tests/cdk-assets/cdk-assets-uses-profile.integtest.js +80 -0
  14. package/tests/cli-integ-tests/cdk-assets/cdk-assets-uses-profile.integtest.ts +92 -0
  15. package/tests/cli-integ-tests/cdk-automatic-ordering-with-concurrency.integtest.js +11 -0
  16. package/tests/cli-integ-tests/cdk-automatic-ordering-with-concurrency.integtest.ts +15 -0
  17. package/tests/cli-integ-tests/cdk-automatic-ordering.integtest.js +11 -0
  18. package/tests/cli-integ-tests/cdk-automatic-ordering.integtest.ts +15 -0
  19. package/tests/cli-integ-tests/cdk-automatic-rollback-if-paused-and---no-rollback-is-removed-from-flags.integtest.d.ts +1 -0
  20. package/tests/cli-integ-tests/cdk-automatic-rollback-if-paused-and---no-rollback-is-removed-from-flags.integtest.js +35 -0
  21. package/tests/cli-integ-tests/cdk-automatic-rollback-if-paused-and---no-rollback-is-removed-from-flags.integtest.ts +40 -0
  22. package/tests/cli-integ-tests/cdk-automatic-rollback-if-paused-and-change-contains-a-replacement.integtest.d.ts +1 -0
  23. package/tests/cli-integ-tests/cdk-automatic-rollback-if-paused-and-change-contains-a-replacement.integtest.js +35 -0
  24. package/tests/cli-integ-tests/cdk-automatic-rollback-if-paused-and-change-contains-a-replacement.integtest.ts +40 -0
  25. package/tests/cli-integ-tests/cdk-automatic-rollback-if-replacement-and---no-rollback-is-removed-from-flags.integtest.d.ts +1 -0
  26. package/tests/cli-integ-tests/cdk-automatic-rollback-if-replacement-and---no-rollback-is-removed-from-flags.integtest.js +26 -0
  27. package/tests/cli-integ-tests/cdk-automatic-rollback-if-replacement-and---no-rollback-is-removed-from-flags.integtest.ts +29 -0
  28. package/tests/cli-integ-tests/cdk-bootstrap-a-customized-template-vendor-will-not-overwrite-the-default-template.integtest.d.ts +1 -0
  29. package/tests/cli-integ-tests/cdk-bootstrap-a-customized-template-vendor-will-not-overwrite-the-default-template.integtest.js +39 -0
  30. package/tests/cli-integ-tests/cdk-bootstrap-a-customized-template-vendor-will-not-overwrite-the-default-template.integtest.ts +42 -0
  31. package/tests/cli-integ-tests/cdk-bootstrap-add-tags.integtest.d.ts +1 -0
  32. package/tests/cli-integ-tests/cdk-bootstrap-add-tags.integtest.js +25 -0
  33. package/tests/cli-integ-tests/cdk-bootstrap-add-tags.integtest.ts +26 -0
  34. package/tests/cli-integ-tests/cdk-bootstrap-can-add-tags-then-update-tags-during-re-bootstrap.integtest.d.ts +1 -0
  35. package/tests/cli-integ-tests/cdk-bootstrap-can-add-tags-then-update-tags-during-re-bootstrap.integtest.js +27 -0
  36. package/tests/cli-integ-tests/cdk-bootstrap-can-add-tags-then-update-tags-during-re-bootstrap.integtest.ts +28 -0
  37. package/tests/cli-integ-tests/cdk-bootstrap-can-and-deploy-if-omitting-execution-policies.integtest.d.ts +1 -0
  38. package/tests/cli-integ-tests/cdk-bootstrap-can-and-deploy-if-omitting-execution-policies.integtest.js +19 -0
  39. package/tests/cli-integ-tests/cdk-bootstrap-can-and-deploy-if-omitting-execution-policies.integtest.ts +21 -0
  40. package/tests/cli-integ-tests/cdk-bootstrap-can-bootstrap-without-execution.integtest.d.ts +1 -0
  41. package/tests/cli-integ-tests/cdk-bootstrap-can-bootstrap-without-execution.integtest.js +18 -0
  42. package/tests/cli-integ-tests/cdk-bootstrap-can-bootstrap-without-execution.integtest.ts +22 -0
  43. package/tests/cli-integ-tests/cdk-bootstrap-can-create-a-legacy-bootstrap-stack-with---public-access-block-configuration-false.integtest.d.ts +1 -0
  44. package/tests/cli-integ-tests/cdk-bootstrap-can-create-a-legacy-bootstrap-stack-with---public-access-block-configuration-false.integtest.js +20 -0
  45. package/tests/cli-integ-tests/cdk-bootstrap-can-create-a-legacy-bootstrap-stack-with---public-access-block-configuration-false.integtest.ts +21 -0
  46. package/tests/cli-integ-tests/cdk-bootstrap-can-create-multiple-legacy-bootstrap-stacks.integtest.d.ts +1 -0
  47. package/tests/cli-integ-tests/cdk-bootstrap-can-create-multiple-legacy-bootstrap-stacks.integtest.js +26 -0
  48. package/tests/cli-integ-tests/cdk-bootstrap-can-create-multiple-legacy-bootstrap-stacks.integtest.ts +27 -0
  49. package/tests/cli-integ-tests/cdk-bootstrap-can-deploy-modern-synthesized-stack-even-if-bootstrap-stack-name-is-unknown.integtest.d.ts +1 -0
  50. package/tests/cli-integ-tests/cdk-bootstrap-can-deploy-modern-synthesized-stack-even-if-bootstrap-stack-name-is-unknown.integtest.js +22 -0
  51. package/tests/cli-integ-tests/cdk-bootstrap-can-deploy-modern-synthesized-stack-even-if-bootstrap-stack-name-is-unknown.integtest.ts +24 -0
  52. package/tests/cli-integ-tests/cdk-bootstrap-can-deploy-with-session-tags-on-the-deploy.integtest.d.ts +1 -0
  53. package/tests/cli-integ-tests/cdk-bootstrap-can-deploy-with-session-tags-on-the-deploy.integtest.js +23 -0
  54. package/tests/cli-integ-tests/cdk-bootstrap-can-deploy-with-session-tags-on-the-deploy.integtest.ts +25 -0
  55. package/tests/cli-integ-tests/cdk-bootstrap-can-deploy-without-execution-role-and-with-session-tags-on-deploy-role.integtest.d.ts +1 -0
  56. package/tests/cli-integ-tests/cdk-bootstrap-can-deploy-without-execution-role-and-with-session-tags-on-deploy-role.integtest.js +20 -0
  57. package/tests/cli-integ-tests/cdk-bootstrap-can-deploy-without-execution-role-and-with-session-tags-on-deploy-role.integtest.ts +22 -0
  58. package/tests/cli-integ-tests/cdk-bootstrap-can-dump-the-template.integtest.d.ts +1 -0
  59. package/tests/cli-integ-tests/cdk-bootstrap-can-dump-the-template.integtest.js +29 -0
  60. package/tests/cli-integ-tests/cdk-bootstrap-can-dump-the-template.integtest.ts +32 -0
  61. package/tests/cli-integ-tests/cdk-bootstrap-can-remove-custompermissionsboundary.integtest.d.ts +1 -0
  62. package/tests/cli-integ-tests/cdk-bootstrap-can-remove-custompermissionsboundary.integtest.js +61 -0
  63. package/tests/cli-integ-tests/cdk-bootstrap-can-remove-custompermissionsboundary.integtest.ts +77 -0
  64. package/tests/cli-integ-tests/cdk-bootstrap-can-remove-trusted-account.integtest.d.ts +1 -0
  65. package/tests/cli-integ-tests/cdk-bootstrap-can-remove-trusted-account.integtest.js +25 -0
  66. package/tests/cli-integ-tests/cdk-bootstrap-can-remove-trusted-account.integtest.ts +30 -0
  67. package/tests/cli-integ-tests/cdk-bootstrap-can-use-the-custom-permissions-boundary-(with-slashes)-to-bootstrap.integtest.d.ts +1 -0
  68. package/tests/cli-integ-tests/cdk-bootstrap-can-use-the-custom-permissions-boundary-(with-slashes)-to-bootstrap.integtest.js +14 -0
  69. package/tests/cli-integ-tests/cdk-bootstrap-can-use-the-custom-permissions-boundary-(with-slashes)-to-bootstrap.integtest.ts +15 -0
  70. package/tests/cli-integ-tests/cdk-bootstrap-can-use-the-custom-permissions-boundary-to-bootstrap.integtest.d.ts +1 -0
  71. package/tests/cli-integ-tests/cdk-bootstrap-can-use-the-custom-permissions-boundary-to-bootstrap.integtest.js +14 -0
  72. package/tests/cli-integ-tests/cdk-bootstrap-can-use-the-custom-permissions-boundary-to-bootstrap.integtest.ts +15 -0
  73. package/tests/cli-integ-tests/cdk-bootstrap-can-use-the-default-permissions-boundary-to-bootstrap.integtest.d.ts +1 -0
  74. package/tests/cli-integ-tests/cdk-bootstrap-can-use-the-default-permissions-boundary-to-bootstrap.integtest.js +14 -0
  75. package/tests/cli-integ-tests/cdk-bootstrap-can-use-the-default-permissions-boundary-to-bootstrap.integtest.ts +15 -0
  76. package/tests/cli-integ-tests/cdk-bootstrap-create-ecr-with-tag-immutability-to-set-on.integtest.d.ts +1 -0
  77. package/tests/cli-integ-tests/cdk-bootstrap-create-ecr-with-tag-immutability-to-set-on.integtest.js +27 -0
  78. package/tests/cli-integ-tests/cdk-bootstrap-create-ecr-with-tag-immutability-to-set-on.integtest.ts +34 -0
  79. package/tests/cli-integ-tests/cdk-bootstrap-deploy-new-style-synthesis-to-new-style-bootstrap-(with-docker-image).integtest.d.ts +1 -0
  80. package/tests/cli-integ-tests/cdk-bootstrap-deploy-new-style-synthesis-to-new-style-bootstrap-(with-docker-image).integtest.js +20 -0
  81. package/tests/cli-integ-tests/cdk-bootstrap-deploy-new-style-synthesis-to-new-style-bootstrap-(with-docker-image).integtest.ts +22 -0
  82. package/tests/cli-integ-tests/cdk-bootstrap-deploy-new-style-synthesis-to-new-style-bootstrap.integtest.d.ts +1 -0
  83. package/tests/cli-integ-tests/cdk-bootstrap-deploy-new-style-synthesis-to-new-style-bootstrap.integtest.js +20 -0
  84. package/tests/cli-integ-tests/cdk-bootstrap-deploy-new-style-synthesis-to-new-style-bootstrap.integtest.ts +22 -0
  85. package/tests/cli-integ-tests/cdk-bootstrap-deploy-old-style-synthesis-to-new-style-bootstrap.integtest.d.ts +1 -0
  86. package/tests/cli-integ-tests/cdk-bootstrap-deploy-old-style-synthesis-to-new-style-bootstrap.integtest.js +19 -0
  87. package/tests/cli-integ-tests/cdk-bootstrap-deploy-old-style-synthesis-to-new-style-bootstrap.integtest.ts +21 -0
  88. package/tests/cli-integ-tests/cdk-bootstrap-switch-on-termination-protection.integtest.d.ts +1 -0
  89. package/tests/cli-integ-tests/cdk-bootstrap-switch-on-termination-protection.integtest.js +23 -0
  90. package/tests/cli-integ-tests/cdk-bootstrap-switch-on-termination-protection.integtest.ts +24 -0
  91. package/tests/cli-integ-tests/cdk-bootstrap-upgrade-legacy-bootstrap-stack-to-new-bootstrap-stack-while-in-use.integtest.d.ts +1 -0
  92. package/tests/cli-integ-tests/cdk-bootstrap-upgrade-legacy-bootstrap-stack-to-new-bootstrap-stack-while-in-use.integtest.js +42 -0
  93. package/tests/cli-integ-tests/cdk-bootstrap-upgrade-legacy-bootstrap-stack-to-new-bootstrap-stack-while-in-use.integtest.ts +47 -0
  94. package/tests/cli-integ-tests/cdk-can-still-load-old-assemblies.integtest.d.ts +1 -0
  95. package/tests/cli-integ-tests/cdk-can-still-load-old-assemblies.integtest.js +49 -0
  96. package/tests/cli-integ-tests/cdk-can-still-load-old-assemblies.integtest.ts +57 -0
  97. package/tests/cli-integ-tests/cdk-cdk-diff---fail-on-multiple-stacks-exits-with-error-if-any-of-the-stacks-contains-a-diff.integtest.d.ts +1 -0
  98. package/tests/cli-integ-tests/cdk-cdk-diff---fail-on-multiple-stacks-exits-with-error-if-any-of-the-stacks-contains-a-diff.integtest.js +15 -0
  99. package/tests/cli-integ-tests/cdk-cdk-diff---fail-on-multiple-stacks-exits-with-error-if-any-of-the-stacks-contains-a-diff.integtest.ts +22 -0
  100. package/tests/cli-integ-tests/cdk-cdk-diff---fail-with-multiple-stack-exits-with-if-any-of-the-stacks-contains-a-diff.integtest.d.ts +1 -0
  101. package/tests/cli-integ-tests/cdk-cdk-diff---fail-with-multiple-stack-exits-with-if-any-of-the-stacks-contains-a-diff.integtest.js +15 -0
  102. package/tests/cli-integ-tests/cdk-cdk-diff---fail-with-multiple-stack-exits-with-if-any-of-the-stacks-contains-a-diff.integtest.ts +22 -0
  103. package/tests/cli-integ-tests/cdk-cdk-diff---quiet-does-not-print-there-were-no-differences-message-for-stacks-which-have-no-differences.integtest.d.ts +1 -0
  104. package/tests/cli-integ-tests/cdk-cdk-diff---quiet-does-not-print-there-were-no-differences-message-for-stacks-which-have-no-differences.integtest.js +14 -0
  105. package/tests/cli-integ-tests/cdk-cdk-diff---quiet-does-not-print-there-were-no-differences-message-for-stacks-which-have-no-differences.integtest.ts +19 -0
  106. package/tests/cli-integ-tests/cdk-cdk-diff---security-only---fail-exits-when-security-changes-are-present.integtest.d.ts +1 -0
  107. package/tests/cli-integ-tests/cdk-cdk-diff---security-only---fail-exits-when-security-changes-are-present.integtest.js +9 -0
  108. package/tests/cli-integ-tests/cdk-cdk-diff---security-only---fail-exits-when-security-changes-are-present.integtest.ts +14 -0
  109. package/tests/cli-integ-tests/cdk-cdk-diff---security-only---fail-exits-when-security-diff-for-sso-access-control-config.integtest.d.ts +1 -0
  110. package/tests/cli-integ-tests/cdk-cdk-diff---security-only---fail-exits-when-security-diff-for-sso-access-control-config.integtest.js +8 -0
  111. package/tests/cli-integ-tests/cdk-cdk-diff---security-only---fail-exits-when-security-diff-for-sso-access-control-config.integtest.ts +13 -0
  112. package/tests/cli-integ-tests/cdk-cdk-diff---security-only---fail-exits-when-security-diff-for-sso-assignment.integtest.d.ts +1 -0
  113. package/tests/cli-integ-tests/cdk-cdk-diff---security-only---fail-exits-when-security-diff-for-sso-assignment.integtest.js +8 -0
  114. package/tests/cli-integ-tests/cdk-cdk-diff---security-only---fail-exits-when-security-diff-for-sso-assignment.integtest.ts +13 -0
  115. package/tests/cli-integ-tests/cdk-cdk-diff---security-only---fail-exits-when-security-diff-for-sso-perm-set-with-managed-policy.integtest.d.ts +1 -0
  116. package/tests/cli-integ-tests/cdk-cdk-diff---security-only---fail-exits-when-security-diff-for-sso-perm-set-with-managed-policy.integtest.js +8 -0
  117. package/tests/cli-integ-tests/cdk-cdk-diff---security-only---fail-exits-when-security-diff-for-sso-perm-set-with-managed-policy.integtest.ts +13 -0
  118. package/tests/cli-integ-tests/cdk-cdk-diff---security-only---fail-exits-when-security-diff-for-sso-perm-set-without-managed-policy.integtest.d.ts +1 -0
  119. package/tests/cli-integ-tests/cdk-cdk-diff---security-only---fail-exits-when-security-diff-for-sso-perm-set-without-managed-policy.integtest.js +8 -0
  120. package/tests/cli-integ-tests/cdk-cdk-diff---security-only---fail-exits-when-security-diff-for-sso-perm-set-without-managed-policy.integtest.ts +13 -0
  121. package/tests/cli-integ-tests/cdk-cdk-diff---security-only-successfully-outputs-sso-access-control-information.integtest.d.ts +1 -0
  122. package/tests/cli-integ-tests/cdk-cdk-diff---security-only-successfully-outputs-sso-access-control-information.integtest.js +30 -0
  123. package/tests/cli-integ-tests/cdk-cdk-diff---security-only-successfully-outputs-sso-access-control-information.integtest.ts +35 -0
  124. package/tests/cli-integ-tests/cdk-cdk-diff---security-only-successfully-outputs-sso-assignment-information.integtest.d.ts +1 -0
  125. package/tests/cli-integ-tests/cdk-cdk-diff---security-only-successfully-outputs-sso-assignment-information.integtest.js +28 -0
  126. package/tests/cli-integ-tests/cdk-cdk-diff---security-only-successfully-outputs-sso-assignment-information.integtest.ts +37 -0
  127. package/tests/cli-integ-tests/cdk-cdk-diff---security-only-successfully-outputs-sso-permission-set-with-managed-policy-information.integtest.d.ts +1 -0
  128. package/tests/cli-integ-tests/cdk-cdk-diff---security-only-successfully-outputs-sso-permission-set-with-managed-policy-information.integtest.js +27 -0
  129. package/tests/cli-integ-tests/cdk-cdk-diff---security-only-successfully-outputs-sso-permission-set-with-managed-policy-information.integtest.ts +35 -0
  130. package/tests/cli-integ-tests/cdk-cdk-diff---security-only-successfully-outputs-sso-permission-set-without-managed-policy-information.integtest.d.ts +1 -0
  131. package/tests/cli-integ-tests/cdk-cdk-diff---security-only-successfully-outputs-sso-permission-set-without-managed-policy-information.integtest.js +30 -0
  132. package/tests/cli-integ-tests/cdk-cdk-diff---security-only-successfully-outputs-sso-permission-set-without-managed-policy-information.integtest.ts +37 -0
  133. package/tests/cli-integ-tests/cdk-cdk-diff-doesnt-show-resource-metadata-changes.integtest.d.ts +1 -0
  134. package/tests/cli-integ-tests/cdk-cdk-diff-doesnt-show-resource-metadata-changes.integtest.js +18 -0
  135. package/tests/cli-integ-tests/cdk-cdk-diff-doesnt-show-resource-metadata-changes.integtest.ts +23 -0
  136. package/tests/cli-integ-tests/cdk-cdk-diff-shows-resource-metadata-changes-with---no-change-set.integtest.d.ts +1 -0
  137. package/tests/cli-integ-tests/cdk-cdk-diff-shows-resource-metadata-changes-with---no-change-set.integtest.js +18 -0
  138. package/tests/cli-integ-tests/cdk-cdk-diff-shows-resource-metadata-changes-with---no-change-set.integtest.ts +23 -0
  139. package/tests/cli-integ-tests/cdk-cdk-diff-with-large-changeset-and-custom-toolkit-stack-name-and-qualifier-does-not-fail.integtest.d.ts +1 -0
  140. package/tests/cli-integ-tests/cdk-cdk-diff-with-large-changeset-and-custom-toolkit-stack-name-and-qualifier-does-not-fail.integtest.js +35 -0
  141. package/tests/cli-integ-tests/cdk-cdk-diff-with-large-changeset-and-custom-toolkit-stack-name-and-qualifier-does-not-fail.integtest.ts +38 -0
  142. package/tests/cli-integ-tests/cdk-cdk-diff-with-large-changeset-does-not-fail.integtest.d.ts +1 -0
  143. package/tests/cli-integ-tests/cdk-cdk-diff-with-large-changeset-does-not-fail.integtest.js +23 -0
  144. package/tests/cli-integ-tests/cdk-cdk-diff-with-large-changeset-does-not-fail.integtest.ts +28 -0
  145. package/tests/cli-integ-tests/cdk-cdk-diff.integtest.d.ts +1 -0
  146. package/tests/cli-integ-tests/cdk-cdk-diff.integtest.js +13 -0
  147. package/tests/cli-integ-tests/cdk-cdk-diff.integtest.ts +18 -0
  148. package/tests/cli-integ-tests/cdk-cdk-ls---show-dependencies---json---long.integtest.d.ts +1 -0
  149. package/tests/cli-integ-tests/cdk-cdk-ls---show-dependencies---json---long.integtest.js +45 -0
  150. package/tests/cli-integ-tests/cdk-cdk-ls---show-dependencies---json---long.integtest.ts +50 -0
  151. package/tests/cli-integ-tests/cdk-cdk-ls---show-dependencies---json.integtest.d.ts +1 -0
  152. package/tests/cli-integ-tests/cdk-cdk-ls---show-dependencies---json.integtest.js +75 -0
  153. package/tests/cli-integ-tests/cdk-cdk-ls---show-dependencies---json.integtest.ts +95 -0
  154. package/tests/cli-integ-tests/cdk-cdk-ls.integtest.d.ts +1 -0
  155. package/tests/cli-integ-tests/cdk-cdk-ls.integtest.js +32 -0
  156. package/tests/cli-integ-tests/cdk-cdk-ls.integtest.ts +36 -0
  157. package/tests/cli-integ-tests/cdk-cdk-notices-are-displayed-correctly.integtest.d.ts +1 -0
  158. package/tests/cli-integ-tests/cdk-cdk-notices-are-displayed-correctly.integtest.js +38 -0
  159. package/tests/cli-integ-tests/cdk-cdk-notices-are-displayed-correctly.integtest.ts +42 -0
  160. package/tests/cli-integ-tests/cdk-cdk-notices-with---unacknowledged.integtest.d.ts +1 -0
  161. package/tests/cli-integ-tests/cdk-cdk-notices-with---unacknowledged.integtest.js +11 -0
  162. package/tests/cli-integ-tests/cdk-cdk-notices-with---unacknowledged.integtest.ts +14 -0
  163. package/tests/cli-integ-tests/cdk-cdk-synth-add-the-metadata-properties-expected-by-sam.integtest.d.ts +1 -0
  164. package/tests/cli-integ-tests/cdk-cdk-synth-add-the-metadata-properties-expected-by-sam.integtest.js +111 -0
  165. package/tests/cli-integ-tests/cdk-cdk-synth-add-the-metadata-properties-expected-by-sam.integtest.ts +126 -0
  166. package/tests/cli-integ-tests/cdk-cdk-synth-bundled-functions-as-expected.integtest.d.ts +1 -0
  167. package/tests/cli-integ-tests/cdk-cdk-synth-bundled-functions-as-expected.integtest.js +74 -0
  168. package/tests/cli-integ-tests/cdk-cdk-synth-bundled-functions-as-expected.integtest.ts +80 -0
  169. package/tests/cli-integ-tests/cdk-cdk-synth.integtest.d.ts +1 -0
  170. package/tests/cli-integ-tests/cdk-cdk-synth.integtest.js +40 -0
  171. package/tests/cli-integ-tests/cdk-cdk-synth.integtest.ts +53 -0
  172. package/tests/cli-integ-tests/cdk-ci-output-to-stderr.integtest.d.ts +1 -0
  173. package/tests/cli-integ-tests/cdk-ci-output-to-stderr.integtest.js +16 -0
  174. package/tests/cli-integ-tests/cdk-ci-output-to-stderr.integtest.ts +19 -0
  175. package/tests/cli-integ-tests/cdk-ci-true-output-to-stdout.integtest.d.ts +1 -0
  176. package/tests/cli-integ-tests/cdk-ci-true-output-to-stdout.integtest.js +24 -0
  177. package/tests/cli-integ-tests/cdk-ci-true-output-to-stdout.integtest.ts +28 -0
  178. package/tests/cli-integ-tests/cdk-construct-with-builtin-lambda-function.integtest.d.ts +1 -0
  179. package/tests/cli-integ-tests/cdk-construct-with-builtin-lambda-function.integtest.js +11 -0
  180. package/tests/cli-integ-tests/cdk-construct-with-builtin-lambda-function.integtest.ts +14 -0
  181. package/tests/cli-integ-tests/cdk-context-in-stage-propagates-to-top.integtest.d.ts +1 -0
  182. package/tests/cli-integ-tests/cdk-context-in-stage-propagates-to-top.integtest.js +15 -0
  183. package/tests/cli-integ-tests/cdk-context-in-stage-propagates-to-top.integtest.ts +20 -0
  184. package/tests/cli-integ-tests/cdk-context-setting.integtest.d.ts +1 -0
  185. package/tests/cli-integ-tests/cdk-context-setting.integtest.js +26 -0
  186. package/tests/cli-integ-tests/cdk-context-setting.integtest.ts +33 -0
  187. package/tests/cli-integ-tests/cdk-deploy---method-direct.integtest.d.ts +1 -0
  188. package/tests/cli-integ-tests/cdk-deploy---method-direct.integtest.js +18 -0
  189. package/tests/cli-integ-tests/cdk-deploy---method-direct.integtest.ts +23 -0
  190. package/tests/cli-integ-tests/cdk-deploy-all-concurrently.integtest.d.ts +1 -0
  191. package/tests/cli-integ-tests/cdk-deploy-all-concurrently.integtest.js +13 -0
  192. package/tests/cli-integ-tests/cdk-deploy-all-concurrently.integtest.ts +17 -0
  193. package/tests/cli-integ-tests/cdk-deploy-all.integtest.d.ts +1 -0
  194. package/tests/cli-integ-tests/cdk-deploy-all.integtest.js +10 -0
  195. package/tests/cli-integ-tests/cdk-deploy-all.integtest.ts +14 -0
  196. package/tests/cli-integ-tests/cdk-deploy-and-test-stack-with-lambda-asset.integtest.d.ts +1 -0
  197. package/tests/cli-integ-tests/cdk-deploy-and-test-stack-with-lambda-asset.integtest.js +22 -0
  198. package/tests/cli-integ-tests/cdk-deploy-and-test-stack-with-lambda-asset.integtest.ts +31 -0
  199. package/tests/cli-integ-tests/cdk-deploy-deletes-all-notification-arns-when-empty-array-is-passed.integtest.d.ts +1 -0
  200. package/tests/cli-integ-tests/cdk-deploy-deletes-all-notification-arns-when-empty-array-is-passed.integtest.js +41 -0
  201. package/tests/cli-integ-tests/cdk-deploy-deletes-all-notification-arns-when-empty-array-is-passed.integtest.ts +50 -0
  202. package/tests/cli-integ-tests/cdk-deploy-no-stacks-error.integtest.d.ts +1 -0
  203. package/tests/cli-integ-tests/cdk-deploy-no-stacks-error.integtest.js +13 -0
  204. package/tests/cli-integ-tests/cdk-deploy-no-stacks-error.integtest.ts +18 -0
  205. package/tests/cli-integ-tests/cdk-deploy-no-stacks-with---ignore-no-stacks.integtest.d.ts +1 -0
  206. package/tests/cli-integ-tests/cdk-deploy-no-stacks-with---ignore-no-stacks.integtest.js +14 -0
  207. package/tests/cli-integ-tests/cdk-deploy-no-stacks-with---ignore-no-stacks.integtest.ts +17 -0
  208. package/tests/cli-integ-tests/cdk-deploy-preserves-existing-notification-arns-when-not-specified.integtest.d.ts +1 -0
  209. package/tests/cli-integ-tests/cdk-deploy-preserves-existing-notification-arns-when-not-specified.integtest.js +38 -0
  210. package/tests/cli-integ-tests/cdk-deploy-preserves-existing-notification-arns-when-not-specified.integtest.ts +51 -0
  211. package/tests/cli-integ-tests/cdk-deploy-stack-with-docker-asset.integtest.d.ts +1 -0
  212. package/tests/cli-integ-tests/cdk-deploy-stack-with-docker-asset.integtest.js +8 -0
  213. package/tests/cli-integ-tests/cdk-deploy-stack-with-docker-asset.integtest.ts +11 -0
  214. package/tests/cli-integ-tests/cdk-deploy-stack-with-lambda-asset-to-object-lock-enabled-asset-bucket.integtest.d.ts +1 -0
  215. package/tests/cli-integ-tests/cdk-deploy-stack-with-lambda-asset-to-object-lock-enabled-asset-bucket.integtest.js +39 -0
  216. package/tests/cli-integ-tests/cdk-deploy-stack-with-lambda-asset-to-object-lock-enabled-asset-bucket.integtest.ts +42 -0
  217. package/tests/cli-integ-tests/cdk-deploy-stack-without-resource.integtest.d.ts +1 -0
  218. package/tests/cli-integ-tests/cdk-deploy-stack-without-resource.integtest.js +17 -0
  219. package/tests/cli-integ-tests/cdk-deploy-stack-without-resource.integtest.ts +32 -0
  220. package/tests/cli-integ-tests/cdk-deploy-wildcard-with-outputs.integtest.d.ts +1 -0
  221. package/tests/cli-integ-tests/cdk-deploy-wildcard-with-outputs.integtest.js +23 -0
  222. package/tests/cli-integ-tests/cdk-deploy-wildcard-with-outputs.integtest.ts +28 -0
  223. package/tests/cli-integ-tests/cdk-deploy-with-import-existing-resources-true.integtest.d.ts +1 -0
  224. package/tests/cli-integ-tests/cdk-deploy-with-import-existing-resources-true.integtest.js +28 -0
  225. package/tests/cli-integ-tests/cdk-deploy-with-import-existing-resources-true.integtest.ts +29 -0
  226. package/tests/cli-integ-tests/cdk-deploy-with-method-direct-and-import-existing-resources-fails.integtest.d.ts +1 -0
  227. package/tests/cli-integ-tests/cdk-deploy-with-method-direct-and-import-existing-resources-fails.integtest.js +16 -0
  228. package/tests/cli-integ-tests/cdk-deploy-with-method-direct-and-import-existing-resources-fails.integtest.ts +17 -0
  229. package/tests/cli-integ-tests/cdk-deploy-with-notification-arn-as-flag.integtest.d.ts +1 -0
  230. package/tests/cli-integ-tests/cdk-deploy-with-notification-arn-as-flag.integtest.js +28 -0
  231. package/tests/cli-integ-tests/cdk-deploy-with-notification-arn-as-flag.integtest.ts +36 -0
  232. package/tests/cli-integ-tests/cdk-deploy-with-notification-arn-as-prop-and-flag.integtest.d.ts +1 -0
  233. package/tests/cli-integ-tests/cdk-deploy-with-notification-arn-as-prop-and-flag.integtest.js +37 -0
  234. package/tests/cli-integ-tests/cdk-deploy-with-notification-arn-as-prop-and-flag.integtest.ts +45 -0
  235. package/tests/cli-integ-tests/cdk-deploy-with-notification-arn-as-prop.integtest.d.ts +1 -0
  236. package/tests/cli-integ-tests/cdk-deploy-with-notification-arn-as-prop.integtest.js +31 -0
  237. package/tests/cli-integ-tests/cdk-deploy-with-notification-arn-as-prop.integtest.ts +37 -0
  238. package/tests/cli-integ-tests/cdk-deploy-with-parameters-multi.integtest.d.ts +1 -0
  239. package/tests/cli-integ-tests/cdk-deploy-with-parameters-multi.integtest.js +26 -0
  240. package/tests/cli-integ-tests/cdk-deploy-with-parameters-multi.integtest.ts +33 -0
  241. package/tests/cli-integ-tests/cdk-deploy-with-parameters.integtest.d.ts +1 -0
  242. package/tests/cli-integ-tests/cdk-deploy-with-parameters.integtest.js +20 -0
  243. package/tests/cli-integ-tests/cdk-deploy-with-parameters.integtest.ts +26 -0
  244. package/tests/cli-integ-tests/cdk-deploy-with-role.integtest.d.ts +1 -0
  245. package/tests/cli-integ-tests/cdk-deploy-with-role.integtest.js +97 -0
  246. package/tests/cli-integ-tests/cdk-deploy-with-role.integtest.ts +119 -0
  247. package/tests/cli-integ-tests/cdk-deploy-with-wildcard-and-parameters.integtest.d.ts +1 -0
  248. package/tests/cli-integ-tests/cdk-deploy-with-wildcard-and-parameters.integtest.js +19 -0
  249. package/tests/cli-integ-tests/cdk-deploy-with-wildcard-and-parameters.integtest.ts +22 -0
  250. package/tests/cli-integ-tests/cdk-deploy-without-execute-a-named-change-set.integtest.d.ts +1 -0
  251. package/tests/cli-integ-tests/cdk-deploy-without-execute-a-named-change-set.integtest.js +28 -0
  252. package/tests/cli-integ-tests/cdk-deploy-without-execute-a-named-change-set.integtest.ts +36 -0
  253. package/tests/cli-integ-tests/cdk-deploy-without-import-existing-resources.integtest.d.ts +1 -0
  254. package/tests/cli-integ-tests/cdk-deploy-without-import-existing-resources.integtest.js +27 -0
  255. package/tests/cli-integ-tests/cdk-deploy-without-import-existing-resources.integtest.ts +28 -0
  256. package/tests/cli-integ-tests/cdk-deploy.integtest.d.ts +1 -0
  257. package/tests/cli-integ-tests/cdk-deploy.integtest.js +15 -0
  258. package/tests/cli-integ-tests/cdk-deploy.integtest.ts +20 -0
  259. package/tests/cli-integ-tests/cdk-destroy-interactive.integtest.js +1 -1
  260. package/tests/cli-integ-tests/cdk-destroy-interactive.integtest.ts +1 -1
  261. package/tests/cli-integ-tests/cdk-doubly-nested-stack.integtest.d.ts +1 -0
  262. package/tests/cli-integ-tests/cdk-doubly-nested-stack.integtest.js +10 -0
  263. package/tests/cli-integ-tests/cdk-doubly-nested-stack.integtest.ts +12 -0
  264. package/tests/cli-integ-tests/cdk-enablediffnofail.integtest.d.ts +1 -0
  265. package/tests/cli-integ-tests/cdk-enablediffnofail.integtest.js +34 -0
  266. package/tests/cli-integ-tests/cdk-enablediffnofail.integtest.ts +44 -0
  267. package/tests/cli-integ-tests/cdk-failed-deploy-does-not-hang.integtest.d.ts +1 -0
  268. package/tests/cli-integ-tests/cdk-failed-deploy-does-not-hang.integtest.js +9 -0
  269. package/tests/cli-integ-tests/cdk-failed-deploy-does-not-hang.integtest.ts +12 -0
  270. package/tests/cli-integ-tests/cdk-fast-deploy.integtest.d.ts +1 -0
  271. package/tests/cli-integ-tests/cdk-fast-deploy.integtest.js +35 -0
  272. package/tests/cli-integ-tests/cdk-fast-deploy.integtest.ts +41 -0
  273. package/tests/cli-integ-tests/cdk-gc-garbage-collection-deletes-unused-ecr-images.integtest.d.ts +1 -0
  274. package/tests/cli-integ-tests/cdk-gc-garbage-collection-deletes-unused-ecr-images.integtest.js +39 -0
  275. package/tests/cli-integ-tests/cdk-gc-garbage-collection-deletes-unused-ecr-images.integtest.ts +48 -0
  276. package/tests/cli-integ-tests/cdk-gc-garbage-collection-deletes-unused-s3-objects.integtest.d.ts +1 -0
  277. package/tests/cli-integ-tests/cdk-gc-garbage-collection-deletes-unused-s3-objects.integtest.js +43 -0
  278. package/tests/cli-integ-tests/cdk-gc-garbage-collection-deletes-unused-s3-objects.integtest.ts +51 -0
  279. package/tests/cli-integ-tests/cdk-gc-garbage-collection-keeps-in-use-ecr-images.integtest.d.ts +1 -0
  280. package/tests/cli-integ-tests/cdk-gc-garbage-collection-keeps-in-use-ecr-images.integtest.js +39 -0
  281. package/tests/cli-integ-tests/cdk-gc-garbage-collection-keeps-in-use-ecr-images.integtest.ts +48 -0
  282. package/tests/cli-integ-tests/cdk-gc-garbage-collection-keeps-in-use-s3-objects.integtest.d.ts +1 -0
  283. package/tests/cli-integ-tests/cdk-gc-garbage-collection-keeps-in-use-s3-objects.integtest.js +44 -0
  284. package/tests/cli-integ-tests/cdk-gc-garbage-collection-keeps-in-use-s3-objects.integtest.ts +52 -0
  285. package/tests/cli-integ-tests/cdk-gc-garbage-collection-tags-unused-ecr-images.integtest.d.ts +1 -0
  286. package/tests/cli-integ-tests/cdk-gc-garbage-collection-tags-unused-ecr-images.integtest.js +38 -0
  287. package/tests/cli-integ-tests/cdk-gc-garbage-collection-tags-unused-ecr-images.integtest.ts +47 -0
  288. package/tests/cli-integ-tests/cdk-gc-garbage-collection-tags-unused-s3-objects.integtest.d.ts +1 -0
  289. package/tests/cli-integ-tests/cdk-gc-garbage-collection-tags-unused-s3-objects.integtest.js +54 -0
  290. package/tests/cli-integ-tests/cdk-gc-garbage-collection-tags-unused-s3-objects.integtest.ts +63 -0
  291. package/tests/cli-integ-tests/cdk-gc-garbage-collection-untags-in-use-ecr-images.integtest.d.ts +1 -0
  292. package/tests/cli-integ-tests/cdk-gc-garbage-collection-untags-in-use-ecr-images.integtest.js +45 -0
  293. package/tests/cli-integ-tests/cdk-gc-garbage-collection-untags-in-use-ecr-images.integtest.ts +55 -0
  294. package/tests/cli-integ-tests/cdk-gc-garbage-collection-untags-in-use-s3-objects.integtest.d.ts +1 -0
  295. package/tests/cli-integ-tests/cdk-gc-garbage-collection-untags-in-use-s3-objects.integtest.js +53 -0
  296. package/tests/cli-integ-tests/cdk-gc-garbage-collection-untags-in-use-s3-objects.integtest.ts +63 -0
  297. package/tests/cli-integ-tests/cdk-generating-and-loading-assembly.integtest.d.ts +1 -0
  298. package/tests/cli-integ-tests/cdk-generating-and-loading-assembly.integtest.js +44 -0
  299. package/tests/cli-integ-tests/cdk-generating-and-loading-assembly.integtest.ts +52 -0
  300. package/tests/cli-integ-tests/cdk-hotswap-deployment-for-ecs-service-detects-failed-deployment-and-errors.integtest.d.ts +1 -0
  301. package/tests/cli-integ-tests/cdk-hotswap-deployment-for-ecs-service-detects-failed-deployment-and-errors.integtest.js +24 -0
  302. package/tests/cli-integ-tests/cdk-hotswap-deployment-for-ecs-service-detects-failed-deployment-and-errors.integtest.ts +29 -0
  303. package/tests/cli-integ-tests/cdk-hotswap-deployment-for-ecs-service-waits-for-deployment-to-complete.integtest.d.ts +1 -0
  304. package/tests/cli-integ-tests/cdk-hotswap-deployment-for-ecs-service-waits-for-deployment-to-complete.integtest.js +33 -0
  305. package/tests/cli-integ-tests/cdk-hotswap-deployment-for-ecs-service-waits-for-deployment-to-complete.integtest.ts +45 -0
  306. package/tests/cli-integ-tests/cdk-hotswap-deployment-supports-appsync-apis-with-many-functions.integtest.d.ts +1 -0
  307. package/tests/cli-integ-tests/cdk-hotswap-deployment-supports-appsync-apis-with-many-functions.integtest.js +30 -0
  308. package/tests/cli-integ-tests/cdk-hotswap-deployment-supports-appsync-apis-with-many-functions.integtest.ts +36 -0
  309. package/tests/cli-integ-tests/cdk-hotswap-deployment-supports-ecs-service.integtest.d.ts +1 -0
  310. package/tests/cli-integ-tests/cdk-hotswap-deployment-supports-ecs-service.integtest.js +33 -0
  311. package/tests/cli-integ-tests/cdk-hotswap-deployment-supports-ecs-service.integtest.ts +41 -0
  312. package/tests/cli-integ-tests/cdk-hotswap-deployment-supports-fn::importvalue-intrinsic.integtest.d.ts +1 -0
  313. package/tests/cli-integ-tests/cdk-hotswap-deployment-supports-fn::importvalue-intrinsic.integtest.js +46 -0
  314. package/tests/cli-integ-tests/cdk-hotswap-deployment-supports-fn::importvalue-intrinsic.integtest.ts +53 -0
  315. package/tests/cli-integ-tests/cdk-hotswap-deployment-supports-lambda-functions-description-and-environment-variables.integtest.d.ts +1 -0
  316. package/tests/cli-integ-tests/cdk-hotswap-deployment-supports-lambda-functions-description-and-environment-variables.integtest.js +36 -0
  317. package/tests/cli-integ-tests/cdk-hotswap-deployment-supports-lambda-functions-description-and-environment-variables.integtest.ts +43 -0
  318. package/tests/cli-integ-tests/cdk-hotswap-ecs-deployment-respects-properties-override.integtest.d.ts +1 -0
  319. package/tests/cli-integ-tests/cdk-hotswap-ecs-deployment-respects-properties-override.integtest.js +51 -0
  320. package/tests/cli-integ-tests/cdk-hotswap-ecs-deployment-respects-properties-override.integtest.ts +59 -0
  321. package/tests/cli-integ-tests/cdk-iam-diff.integtest.d.ts +1 -0
  322. package/tests/cli-integ-tests/cdk-iam-diff.integtest.js +18 -0
  323. package/tests/cli-integ-tests/cdk-iam-diff.integtest.ts +23 -0
  324. package/tests/cli-integ-tests/cdk-import-interactive.integtest.js +1 -1
  325. package/tests/cli-integ-tests/cdk-import-interactive.integtest.ts +1 -1
  326. package/tests/cli-integ-tests/cdk-lib-cli-lib-deploy.integtest.d.ts +1 -0
  327. package/tests/cli-integ-tests/cdk-lib-cli-lib-deploy.integtest.js +27 -0
  328. package/tests/cli-integ-tests/cdk-lib-cli-lib-deploy.integtest.ts +32 -0
  329. package/tests/cli-integ-tests/cdk-lib-cli-lib-list.integtest.d.ts +1 -0
  330. package/tests/cli-integ-tests/cdk-lib-cli-lib-list.integtest.js +9 -0
  331. package/tests/cli-integ-tests/cdk-lib-cli-lib-list.integtest.ts +12 -0
  332. package/tests/cli-integ-tests/cdk-lib-cli-lib-synth.integtest.d.ts +1 -0
  333. package/tests/cli-integ-tests/cdk-lib-cli-lib-synth.integtest.js +22 -0
  334. package/tests/cli-integ-tests/cdk-lib-cli-lib-synth.integtest.ts +27 -0
  335. package/tests/cli-integ-tests/cdk-lib-security-related-changes-without-a-cli-are-expected-to-fail-when-approval-is-required.integtest.d.ts +1 -0
  336. package/tests/cli-integ-tests/cdk-lib-security-related-changes-without-a-cli-are-expected-to-fail-when-approval-is-required.integtest.js +20 -0
  337. package/tests/cli-integ-tests/cdk-lib-security-related-changes-without-a-cli-are-expected-to-fail-when-approval-is-required.integtest.ts +32 -0
  338. package/tests/cli-integ-tests/cdk-migrate/cdk-migrate--from-stack-creates-deployable-app-csharp.integtest.d.ts +1 -0
  339. package/tests/cli-integ-tests/cdk-migrate/cdk-migrate--from-stack-creates-deployable-app-csharp.integtest.js +9 -0
  340. package/tests/cli-integ-tests/cdk-migrate/cdk-migrate--from-stack-creates-deployable-app-csharp.integtest.ts +11 -0
  341. package/tests/cli-integ-tests/cdk-migrate/cdk-migrate--from-stack-creates-deployable-app-java.integtest.d.ts +1 -0
  342. package/tests/cli-integ-tests/cdk-migrate/cdk-migrate--from-stack-creates-deployable-app-java.integtest.js +9 -0
  343. package/tests/cli-integ-tests/cdk-migrate/cdk-migrate--from-stack-creates-deployable-app-java.integtest.ts +11 -0
  344. package/tests/cli-integ-tests/cdk-migrate/cdk-migrate--from-stack-creates-deployable-app-python.integtest.d.ts +1 -0
  345. package/tests/cli-integ-tests/cdk-migrate/cdk-migrate--from-stack-creates-deployable-app-python.integtest.js +9 -0
  346. package/tests/cli-integ-tests/cdk-migrate/cdk-migrate--from-stack-creates-deployable-app-python.integtest.ts +11 -0
  347. package/tests/cli-integ-tests/cdk-migrate/cdk-migrate--from-stack-creates-deployable-app-typescript.integtest.d.ts +1 -0
  348. package/tests/cli-integ-tests/cdk-migrate/cdk-migrate--from-stack-creates-deployable-app-typescript.integtest.js +9 -0
  349. package/tests/cli-integ-tests/cdk-migrate/cdk-migrate--from-stack-creates-deployable-app-typescript.integtest.ts +11 -0
  350. package/tests/cli-integ-tests/cdk-migrate/cdk-migrate-deploys-successfully-csharp.integtest.d.ts +1 -0
  351. package/tests/cli-integ-tests/cdk-migrate/cdk-migrate-deploys-successfully-csharp.integtest.js +9 -0
  352. package/tests/cli-integ-tests/cdk-migrate/cdk-migrate-deploys-successfully-csharp.integtest.ts +13 -0
  353. package/tests/cli-integ-tests/cdk-migrate/cdk-migrate-deploys-successfully-java.integtest.d.ts +1 -0
  354. package/tests/cli-integ-tests/cdk-migrate/cdk-migrate-deploys-successfully-java.integtest.js +9 -0
  355. package/tests/cli-integ-tests/cdk-migrate/cdk-migrate-deploys-successfully-java.integtest.ts +13 -0
  356. package/tests/cli-integ-tests/cdk-migrate/cdk-migrate-deploys-successfully-python.integtest.d.ts +1 -0
  357. package/tests/cli-integ-tests/cdk-migrate/cdk-migrate-deploys-successfully-python.integtest.js +9 -0
  358. package/tests/cli-integ-tests/cdk-migrate/cdk-migrate-deploys-successfully-python.integtest.ts +13 -0
  359. package/tests/cli-integ-tests/cdk-migrate/cdk-migrate-deploys-successfully-typescript.integtest.d.ts +1 -0
  360. package/tests/cli-integ-tests/cdk-migrate/cdk-migrate-deploys-successfully-typescript.integtest.js +9 -0
  361. package/tests/cli-integ-tests/cdk-migrate/cdk-migrate-deploys-successfully-typescript.integtest.ts +13 -0
  362. package/tests/cli-integ-tests/cdk-migrate/cdk-migrate-generates-migrate.json.integtest.d.ts +1 -0
  363. package/tests/cli-integ-tests/cdk-migrate/cdk-migrate-generates-migrate.json.integtest.js +16 -0
  364. package/tests/cli-integ-tests/cdk-migrate/cdk-migrate-generates-migrate.json.integtest.ts +20 -0
  365. package/tests/cli-integ-tests/cdk-migrate/testcase.d.ts +3 -0
  366. package/tests/cli-integ-tests/cdk-migrate/testcase.js +55 -0
  367. package/tests/cli-integ-tests/cdk-migrate/testcase.ts +69 -0
  368. package/tests/cli-integ-tests/cdk-nested-stack-with-parameters.integtest.d.ts +1 -0
  369. package/tests/cli-integ-tests/cdk-nested-stack-with-parameters.integtest.js +22 -0
  370. package/tests/cli-integ-tests/cdk-nested-stack-with-parameters.integtest.ts +28 -0
  371. package/tests/cli-integ-tests/cdk-requests-go-through-a-proxy-when-configured.integtest.d.ts +1 -0
  372. package/tests/cli-integ-tests/cdk-requests-go-through-a-proxy-when-configured.integtest.js +36 -0
  373. package/tests/cli-integ-tests/cdk-requests-go-through-a-proxy-when-configured.integtest.ts +39 -0
  374. package/tests/cli-integ-tests/cdk-sam-can-locally-test-the-synthesized-cdk-application.integtest.d.ts +1 -0
  375. package/tests/cli-integ-tests/cdk-sam-can-locally-test-the-synthesized-cdk-application.integtest.js +14 -0
  376. package/tests/cli-integ-tests/cdk-sam-can-locally-test-the-synthesized-cdk-application.integtest.ts +25 -0
  377. package/tests/cli-integ-tests/cdk-security-related-changes-without-a-cli-are-expected-to-fail.integtest.d.ts +1 -0
  378. package/tests/cli-integ-tests/cdk-security-related-changes-without-a-cli-are-expected-to-fail.integtest.js +20 -0
  379. package/tests/cli-integ-tests/cdk-security-related-changes-without-a-cli-are-expected-to-fail.integtest.ts +30 -0
  380. package/tests/cli-integ-tests/cdk-skips-notice-refresh.integtest.d.ts +6 -0
  381. package/tests/cli-integ-tests/cdk-skips-notice-refresh.integtest.js +22 -0
  382. package/tests/cli-integ-tests/cdk-skips-notice-refresh.integtest.ts +26 -0
  383. package/tests/cli-integ-tests/cdk-ssm-parameter-provider-error.integtest.d.ts +1 -0
  384. package/tests/cli-integ-tests/cdk-ssm-parameter-provider-error.integtest.js +10 -0
  385. package/tests/cli-integ-tests/cdk-ssm-parameter-provider-error.integtest.ts +18 -0
  386. package/tests/cli-integ-tests/cdk-stack-in-update_rollback_complete-state-can-be-updated.integtest.d.ts +1 -0
  387. package/tests/cli-integ-tests/cdk-stack-in-update_rollback_complete-state-can-be-updated.integtest.js +41 -0
  388. package/tests/cli-integ-tests/cdk-stack-in-update_rollback_complete-state-can-be-updated.integtest.ts +59 -0
  389. package/tests/cli-integ-tests/cdk-stage-with-bundled-lambda-function.integtest.d.ts +1 -0
  390. package/tests/cli-integ-tests/cdk-stage-with-bundled-lambda-function.integtest.js +10 -0
  391. package/tests/cli-integ-tests/cdk-stage-with-bundled-lambda-function.integtest.ts +13 -0
  392. package/tests/cli-integ-tests/cdk-synth---quiet-can-be-specified-in-cdk.json.integtest.d.ts +1 -0
  393. package/tests/cli-integ-tests/cdk-synth---quiet-can-be-specified-in-cdk.json.integtest.js +17 -0
  394. package/tests/cli-integ-tests/cdk-synth---quiet-can-be-specified-in-cdk.json.integtest.ts +20 -0
  395. package/tests/cli-integ-tests/cdk-synthing-a-stage-with-errors-can-be-suppressed.integtest.d.ts +1 -0
  396. package/tests/cli-integ-tests/cdk-synthing-a-stage-with-errors-can-be-suppressed.integtest.js +12 -0
  397. package/tests/cli-integ-tests/cdk-synthing-a-stage-with-errors-can-be-suppressed.integtest.ts +15 -0
  398. package/tests/cli-integ-tests/cdk-synthing-a-stage-with-errors-leads-to-failure.integtest.d.ts +1 -0
  399. package/tests/cli-integ-tests/cdk-synthing-a-stage-with-errors-leads-to-failure.integtest.js +14 -0
  400. package/tests/cli-integ-tests/cdk-synthing-a-stage-with-errors-leads-to-failure.integtest.ts +18 -0
  401. package/tests/cli-integ-tests/cdk-templates-on-disk-contain-metadata-resource.integtest.d.ts +1 -0
  402. package/tests/cli-integ-tests/cdk-templates-on-disk-contain-metadata-resource.integtest.js +18 -0
  403. package/tests/cli-integ-tests/cdk-templates-on-disk-contain-metadata-resource.integtest.ts +25 -0
  404. package/tests/cli-integ-tests/cdk-termination-protection.integtest.d.ts +1 -0
  405. package/tests/cli-integ-tests/cdk-termination-protection.integtest.js +14 -0
  406. package/tests/cli-integ-tests/cdk-termination-protection.integtest.ts +19 -0
  407. package/tests/cli-integ-tests/cdk-test-cdk-rollback---force.integtest.d.ts +1 -0
  408. package/tests/cli-integ-tests/cdk-test-cdk-rollback---force.integtest.js +40 -0
  409. package/tests/cli-integ-tests/cdk-test-cdk-rollback---force.integtest.ts +48 -0
  410. package/tests/cli-integ-tests/cdk-test-cdk-rollback.integtest.d.ts +1 -0
  411. package/tests/cli-integ-tests/cdk-test-cdk-rollback.integtest.js +33 -0
  412. package/tests/cli-integ-tests/cdk-test-cdk-rollback.integtest.ts +38 -0
  413. package/tests/cli-integ-tests/cdk-test-migrate-deployment-for-app-with-localfile-source-in-migrate.json.integtest.d.ts +1 -0
  414. package/tests/cli-integ-tests/cdk-test-migrate-deployment-for-app-with-localfile-source-in-migrate.json.integtest.js +45 -0
  415. package/tests/cli-integ-tests/cdk-test-migrate-deployment-for-app-with-localfile-source-in-migrate.json.integtest.ts +56 -0
  416. package/tests/cli-integ-tests/cdk-test-resource-import-with-construct-that-requires-bundling.integtest.d.ts +6 -0
  417. package/tests/cli-integ-tests/cdk-test-resource-import-with-construct-that-requires-bundling.integtest.js +59 -0
  418. package/tests/cli-integ-tests/cdk-test-resource-import-with-construct-that-requires-bundling.integtest.ts +74 -0
  419. package/tests/cli-integ-tests/cdk-test-resource-import.integtest.d.ts +1 -0
  420. package/tests/cli-integ-tests/cdk-test-resource-import.integtest.js +51 -0
  421. package/tests/cli-integ-tests/cdk-test-resource-import.integtest.ts +64 -0
  422. package/tests/cli-integ-tests/cdk-two-ways-of-showing-the-version.integtest.d.ts +1 -0
  423. package/tests/cli-integ-tests/cdk-two-ways-of-showing-the-version.integtest.js +10 -0
  424. package/tests/cli-integ-tests/cdk-two-ways-of-showing-the-version.integtest.ts +14 -0
  425. package/tests/cli-integ-tests/cdk-update-to-stack-in-rollback_complete-state-will-delete-stack-and-create-a-new-one.integtest.d.ts +1 -0
  426. package/tests/cli-integ-tests/cdk-update-to-stack-in-rollback_complete-state-will-delete-stack-and-create-a-new-one.integtest.js +34 -0
  427. package/tests/cli-integ-tests/cdk-update-to-stack-in-rollback_complete-state-will-delete-stack-and-create-a-new-one.integtest.ts +47 -0
  428. package/tests/cli-integ-tests/cdk-vpc-lookup.integtest.d.ts +1 -0
  429. package/tests/cli-integ-tests/cdk-vpc-lookup.integtest.js +21 -0
  430. package/tests/cli-integ-tests/cdk-vpc-lookup.integtest.ts +26 -0
  431. package/tests/cli-integ-tests/bootstrapping.integtest.js +0 -431
  432. package/tests/cli-integ-tests/bootstrapping.integtest.ts +0 -517
  433. package/tests/cli-integ-tests/cli-lib.integtest.js +0 -62
  434. package/tests/cli-integ-tests/cli-lib.integtest.ts +0 -90
  435. package/tests/cli-integ-tests/cli.integtest.js +0 -2188
  436. package/tests/cli-integ-tests/cli.integtest.ts +0 -2971
  437. package/tests/cli-integ-tests/garbage-collection.integtest.js +0 -314
  438. package/tests/cli-integ-tests/garbage-collection.integtest.ts +0 -392
  439. /package/tests/cli-integ-tests/{bootstrapping.integtest.d.ts → cdk---exclusively-selects-only-selected-stack.integtest.d.ts} +0 -0
  440. /package/tests/cli-integ-tests/{cli-lib.integtest.d.ts → cdk-assets/cdk-assets-uses-profile.integtest.d.ts} +0 -0
  441. /package/tests/cli-integ-tests/{cli.integtest.d.ts → cdk-automatic-ordering-with-concurrency.integtest.d.ts} +0 -0
  442. /package/tests/cli-integ-tests/{garbage-collection.integtest.d.ts → cdk-automatic-ordering.integtest.d.ts} +0 -0
@@ -97,6 +97,7 @@ async function main() {
97
97
  }
98
98
  console.log(`Package source: ${packageSource.description}`);
99
99
  console.log(`Test suite: ${suiteName}`);
100
+ console.log(`Test version: ${thisPackageVersion()}`);
100
101
  await packageSource.prepare();
101
102
  (0, subprocess_1.serializeForSubprocess)(packageSource);
102
103
  if (args.verbose) {
@@ -124,9 +125,13 @@ async function main() {
124
125
  await packageSource.cleanup();
125
126
  }
126
127
  }
128
+ function thisPackageVersion() {
129
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
130
+ return require('../../package.json').version;
131
+ }
127
132
  main().catch(e => {
128
133
  // eslint-disable-next-line no-console
129
134
  console.error(e);
130
135
  process.exitCode = 1;
131
136
  });
132
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuLXN1aXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsicnVuLXN1aXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsK0JBQStCO0FBQy9CLDZCQUE2QjtBQUM3Qiw2QkFBNkI7QUFDN0IsK0JBQStCO0FBQy9CLHNFQUE4RTtBQUM5RSxnRUFBc0Y7QUFFdEYsOERBQXVFO0FBRXZFLEtBQUssVUFBVSxJQUFJOztJQUNqQixNQUFNLElBQUksR0FBRyxNQUFNLEtBQUs7U0FDckIsS0FBSyxDQUFDLGdCQUFnQixDQUFDO1NBQ3ZCLFVBQVUsQ0FBQyxXQUFXLEVBQUU7UUFDdkIsVUFBVSxFQUFFLCtCQUErQjtRQUMzQyxJQUFJLEVBQUUsUUFBUTtRQUNkLFlBQVksRUFBRSxJQUFJO0tBQ25CLENBQUM7U0FDRCxNQUFNLENBQUMsTUFBTSxFQUFFO1FBQ2QsVUFBVSxFQUFFLHVDQUF1QztRQUNuRCxLQUFLLEVBQUUsR0FBRztRQUNWLElBQUksRUFBRSxRQUFRO1FBQ2QsV0FBVyxFQUFFLElBQUk7S0FDbEIsQ0FBQztTQUNELE1BQU0sQ0FBQyxXQUFXLEVBQUU7UUFDbkIsV0FBVyxFQUFFLCtCQUErQjtRQUM1QyxJQUFJLEVBQUUsUUFBUTtRQUNkLFdBQVcsRUFBRSxJQUFJO0tBQ2xCLENBQUM7U0FDRCxNQUFNLENBQUMsWUFBWSxFQUFFO1FBQ3BCLFVBQVUsRUFBRSxzRUFBc0U7UUFDbEYsS0FBSyxFQUFFLEdBQUc7UUFDVixJQUFJLEVBQUUsUUFBUTtRQUNkLFdBQVcsRUFBRSxJQUFJO0tBQ2xCLENBQUM7U0FDRCxNQUFNLENBQUMsaUJBQWlCLEVBQUU7UUFDekIsVUFBVSxFQUFFLDREQUE0RDtRQUN4RSxLQUFLLEVBQUUsR0FBRztRQUNWLElBQUksRUFBRSxRQUFRO1FBQ2QsV0FBVyxFQUFFLElBQUk7S0FDbEIsQ0FBQztTQUNELE1BQU0sQ0FBQyxhQUFhLEVBQUU7UUFDckIsS0FBSyxFQUFFLEdBQUc7UUFDVixXQUFXLEVBQUUsdUVB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UUFBUSxHQUFHLENBQUMsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgKiBhcyBqZXN0IGZyb20gJ2plc3QnO1xuaW1wb3J0ICogYXMgeWFyZ3MgZnJvbSAneWFyZ3MnO1xuaW1wb3J0IHsgUmVsZWFzZVBhY2thZ2VTb3VyY2VTZXR1cCB9IGZyb20gJy4uL3BhY2thZ2Utc291cmNlcy9yZWxlYXNlLXNvdXJjZSc7XG5pbXBvcnQgeyBSZXBvUGFja2FnZVNvdXJjZVNldHVwLCBhdXRvRmluZFJvb3QgfSBmcm9tICcuLi9wYWNrYWdlLXNvdXJjZXMvcmVwby1zb3VyY2UnO1xuaW1wb3J0IHsgSVBhY2thZ2VTb3VyY2VTZXR1cCB9IGZyb20gJy4uL3BhY2thZ2Utc291cmNlcy9zb3VyY2UnO1xuaW1wb3J0IHsgc2VyaWFsaXplRm9yU3VicHJvY2VzcyB9IGZyb20gJy4uL3BhY2thZ2Utc291cmNlcy9zdWJwcm9jZXNzJztcblxuYXN5bmMgZnVuY3Rpb24gbWFpbigpIHtcbiAgY29uc3QgYXJncyA9IGF3YWl0IHlhcmdzXG4gICAgLnVzYWdlKCckMCA8U1VJVEVOQU1FPicpXG4gICAgLnBvc2l0aW9uYWwoJ1NVSVRFTkFNRScsIHtcbiAgICAgIGRlc2NyaXB0b246ICdOYW1lIG9mIHRoZSB0ZXN0IHN1aXRlIHRvIHJ1bicsXG4gICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgIGRlbWFuZE9wdGlvbjogdHJ1ZSxcbiAgICB9KVxuICAgIC5vcHRpb24oJ3Rlc3QnLCB7XG4gICAgICBkZXNjcmlwdG9uOiAnVGVzdCBwYXR0ZXJuIHRvIHNlbGVjdGl2ZWx5IHJ1biB0ZXN0cycsXG4gICAgICBhbGlhczogJ3QnLFxuICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICByZXF1aXJlc0FyZzogdHJ1ZSxcbiAgICB9KVxuICAgIC5vcHRpb24oJ3Rlc3QtZmlsZScsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnVGhlIHNwZWNpZmljIHRlc3QgZmlsZSB0byBydW4nLFxuICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICByZXF1aXJlc0FyZzogdHJ1ZSxcbiAgICB9KVxuICAgIC5vcHRpb24oJ3VzZS1zb3VyY2UnLCB7XG4gICAgICBkZXNjcmlwdG9uOiAnVXNlIFR5cGVTY3JpcHQgcGFja2FnZXMgZnJvbSB0aGUgZ2l2ZW4gc291cmNlIHJlcG9zaXRvcnkgKG9yIFwiYXV0b1wiKScsXG4gICAgICBhbGlhczogJ3MnLFxuICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICByZXF1aXJlc0FyZzogdHJ1ZSxcbiAgICB9KVxuICAgIC5vcHRpb24oJ3VzZS1jbGktcmVsZWFzZScsIHtcbiAgICAgIGRlc2NyaXB0b246ICdSdW4gdGhlIGN1cnJlbnQgdGVzdHMgYWdhaW5zdCB0aGUgQ0xJIGF0IHRoZSBnaXZlbiB2ZXJzaW9uJyxcbiAgICAgIGFsaWFzOiAndScsXG4gICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgIHJlcXVpcmVzQXJnOiB0cnVlLFxuICAgIH0pXG4gICAgLm9wdGlvbignYXV0by1zb3VyY2UnLCB7XG4gICAgICBhbGlhczogJ2EnLFxuICAgICAgZGVzY3JpcHRpb246ICdBdXRvbWF0aWNhbGx5IGZpbmQgdGhlIHNvdXJjZSB0cmVlIGZyb20gdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnknLFxuICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgcmVxdWlyZXNBcmc6IGZhbHNlLFxuICAgIH0pXG4gICAgLm9wdGlvbigncnVuSW5CYW5kJywge1xuICAgICAgZGVzY3JpcHRvbjogJ1J1biBhbGwgdGVzdHMgaW4gb25lIE5vZGUgcHJvY2VzcycsXG4gICAgICBhbGlhczogJ2knLFxuICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIH0pXG4gICAgLm9wdGlvbnMoJ2ZyYW1ld29yay12ZXJzaW9uJywge1xuICAgICAgZGVzY3JpcHRpb246ICdGcmFtZXdvcmsgdmVyc2lvbiB0byB1c2UsIGlmIGRpZmZlcmVudCB0aGFuIHRoZSBDTEkgdmVyc2lvbiAobm90IGFsbCBzdWl0ZXMgcmVzcGVjdCB0aGlzKScsXG4gICAgICBhbGlhczogJ2YnLFxuICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgfSlcbiAgICAub3B0aW9ucygndmVyYm9zZScsIHtcbiAgICAgIGFsaWFzOiAndicsXG4gICAgICBkZXNjcmlwdGlvbjogJ1J1biBpbiB2ZXJib3NlIG1vZGUnLFxuICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgcmVxdWlyZXNBcmc6IGZhbHNlLFxuICAgIH0pXG4gICAgLm9wdGlvbnMoJ3Bhc3NXaXRoTm9UZXN0cycsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnQWxsb3cgcGFzc2luZyBpZiB0aGUgdGVzdCBzdWl0ZSBpcyBub3QgZm91bmQgKGRlZmF1bHQgdHJ1ZSB3aGVuIElTX0NBTkFSWSBtb2RlLCBmYWxzZSBvdGhlcndpc2UpJyxcbiAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgIHJlcXVpcmVzQXJnOiBmYWxzZSxcbiAgICB9KVxuICAgIC5oZWxwKClcbiAgICAuc2hvd0hlbHBPbkZhaWwoZmFsc2UpXG4gICAgLmFyZ3Y7XG5cbiAgY29uc3Qgc3VpdGVOYW1lID0gYXJncy5fWzBdIGFzIHN0cmluZztcbiAgaWYgKCFzdWl0ZU5hbWUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1VzYWdlOiBydW4tc3VpdGUgPFNVSVRFTkFNRT4nKTtcbiAgfVxuXG4gIGxldCBwYWNrYWdlU291cmNlOiB1bmRlZmluZWQgfCBJUGFja2FnZVNvdXJjZVNldHVwO1xuICBmdW5jdGlvbiB1c2VQYWNrYWdlU291cmNlKHM6IElQYWNrYWdlU291cmNlU2V0dXApIHtcbiAgICBpZiAocGFja2FnZVNvdXJjZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3Qgc3BlY2lmeSB0d28gcGFja2FnZSBzb3VyY2VzJyk7XG4gICAgfVxuICAgIHBhY2thZ2VTb3VyY2UgPSBzO1xuICB9XG5cbiAgaWYgKGFyZ3NbJ3VzZS1zb3VyY2UnXSB8fCBhcmdzWydhdXRvLXNvdXJjZSddKSB7XG4gICAgaWYgKGFyZ3NbJ2ZyYW1ld29yay12ZXJzaW9uJ10pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IHVzZSAtLWZyYW1ld29yay12ZXJzaW9uIHdpdGggLS11c2Utc291cmNlJyk7XG4gICAgfVxuXG4gICAgY29uc3Qgcm9vdCA9IGFyZ3NbJ3VzZS1zb3VyY2UnXSAmJiBhcmdzWyd1c2Utc291cmNlJ10gIT09ICdhdXRvJ1xuICAgICAgPyBhcmdzWyd1c2Utc291cmNlJ11cbiAgICAgIDogYXdhaXQgYXV0b0ZpbmRSb290KCk7XG5cbiAgICB1c2VQYWNrYWdlU291cmNlKG5ldyBSZXBvUGFja2FnZVNvdXJjZVNldHVwKHJvb3QpKTtcbiAgfSBlbHNlIGlmIChhcmdzWyd1c2UtY2xpLXJlbGVhc2UnXSkge1xuICAgIHVzZVBhY2thZ2VTb3VyY2UobmV3IFJlbGVhc2VQYWNrYWdlU291cmNlU2V0dXAoYXJnc1sndXNlLWNsaS1yZWxlYXNlJ10sIGFyZ3NbJ2ZyYW1ld29yay12ZXJzaW9uJ10pKTtcbiAgfVxuICBpZiAoIXBhY2thZ2VTb3VyY2UpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1NwZWNpZnkgZWl0aGVyIC0tdXNlLXNvdXJjZSBvciAtLXVzZS1jbGktcmVsZWFzZScpO1xuICB9XG5cbiAgY29uc29sZS5sb2coYFBhY2thZ2Ugc291cmNlOiAke3BhY2thZ2VTb3VyY2UuZGVzY3JpcHRpb259YCk7XG4gIGNvbnNvbGUubG9nKGBUZXN0IHN1aXRlOiAgICAgJHtzdWl0ZU5hbWV9YCk7XG5cbiAgYXdhaXQgcGFja2FnZVNvdXJjZS5wcmVwYXJlKCk7XG4gIHNlcmlhbGl6ZUZvclN1YnByb2Nlc3MocGFja2FnZVNvdXJjZSk7XG5cbiAgaWYgKGFyZ3MudmVyYm9zZSkge1xuICAgIHByb2Nlc3MuZW52LlZFUkJPU0UgPSAnMSc7XG4gIH1cblxuICAvLyBNb3RpdmF0aW9uIGJlaGluZCB0aGlzIGJlaGF2aW9yOiB3aGVuIGFkZGluZyBhIG5ldyB0ZXN0IHN1aXRlIHRvIHRoZSBwaXBlbGluZSwgYmVjYXVzZSBvZiB0aGUgd2F5IG91clxuICAvLyBQaXBlbGluZSBwYWNrYWdlIHdvcmtzLCB0aGUgc3VpdGUgd291bGQgYmUgYWRkZWQgdG8gdGhlIHBpcGVsaW5lIEFORCBhcyBhIGNhbmFyeSBpbW1lZGlhdGVseS4gVGhlIGNhbmFyeVxuICAvLyB3b3VsZCBmYWlsIHVudGlsIHRoZSBwYWNrYWdlIHdhcyBhY3R1YWxseSByZWxlYXNlZCwgc28gZm9yIGNhbmFyaWVzIHdlIG1ha2UgYW4gZXhjZXB0aW9uIHNvIHRoYXQgdGhlIGluaXRpYWxcbiAgLy8gY2FuYXJ5IHdvdWxkIHN1Y2NlZWQgZXZlbiBpZiB0aGUgc3VpdGUgd2Fzbid0IHlldCBhdmFpbGFibGUuIFRoZSBmYWN0IHRoYXQgdGhlIHN1aXRlIGlzIG5vdCBvcHRpb25hbCBpblxuICAvLyB0aGUgcGlwZWxpbmUgcHJvdGVjdHMgdXMgZnJvbSB0eXBvcy5cbiAgY29uc3QgcGFzc1dpdGhOb1Rlc3RzID0gYXJncy5wYXNzV2l0aE5vVGVzdHMgPz8gISFwcm9jZXNzLmVudi5JU19DQU5BUlk7XG5cbiAgLy8gQ29tbXVuaWNhdGUgd2l0aCB0aGUgY29uZmlnIGZpbGUgKGludGVnLmplc3QuY29uZmlnLmpzKVxuICBwcm9jZXNzLmVudi5URVNUX1NVSVRFX05BTUUgPSBzdWl0ZU5hbWU7XG5cbiAgdHJ5IHtcbiAgICBhd2FpdCBqZXN0LnJ1bihbXG4gICAgICAnLS1yYW5kb21pemUnLFxuICAgICAgLi4uYXJncy5ydW5JbkJhbmQgPyBbJy1pJ10gOiBbXSxcbiAgICAgIC4uLmFyZ3MudGVzdCA/IFsnLXQnLCBhcmdzLnRlc3RdIDogW10sXG4gICAgICAuLi5hcmdzLnZlcmJvc2UgPyBbJy0tdmVyYm9zZSddIDogW10sXG4gICAgICAuLi5wYXNzV2l0aE5vVGVzdHMgPyBbJy0tcGFzc1dpdGhOb1Rlc3RzJ10gOiBbXSxcbiAgICAgIC4uLmFyZ3NbJ3Rlc3QtZmlsZSddID8gW2FyZ3NbJ3Rlc3QtZmlsZSddXSA6IFtdLFxuICAgIF0sIHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICcuLicsICcuLicsICdyZXNvdXJjZXMnLCAnaW50ZWcuamVzdC5jb25maWcuanMnKSk7XG4gIH0gZmluYWxseSB7XG4gICAgYXdhaXQgcGFja2FnZVNvdXJjZS5jbGVhbnVwKCk7XG4gIH1cbn1cblxubWFpbigpLmNhdGNoKGUgPT4ge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICBjb25zb2xlLmVycm9yKGUpO1xuICBwcm9jZXNzLmV4aXRDb2RlID0gMTtcbn0pO1xuIl19
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuLXN1aXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsicnVuLXN1aXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsK0JBQStCO0FBQy9CLDZCQUE2QjtBQUM3Qiw2QkFBNkI7QUFDN0IsK0JBQStCO0FBQy9CLHNFQUE4RTtBQUM5RSxnRUFBc0Y7QUFFdEYsOERBQXVFO0FBRXZFLEtBQUssVUFBVSxJQUFJOztJQUNqQixNQUFNLElBQUksR0FBRyxNQUFNLEtBQUs7U0FDckIsS0FBSyxDQUFDLGdCQUFnQixDQUFDO1NBQ3ZCLFVBQVUsQ0FBQyxXQUFXLEVBQUU7UUFDdkIsVUFBVSxFQUFFLCtCQUErQjtRQUMzQyxJQUFJLEVBQUUsUUFBUTtRQUNkLFlBQVksRUFBRSxJQUFJO0tBQ25CLENBQUM7U0FDRCxNQUFNLENBQUMsTUFBTSxFQUFFO1FBQ2QsVUFBVSxFQUFFLHVDQUF1QztRQUNuRCxLQUFLLEVBQUUsR0FBRztRQUNWLElBQUksRUFBRSxRQUFRO1FBQ2QsV0FBVyxFQUFFLElBQUk7S0FDbEIsQ0FBQztTQUNELE1BQU0sQ0FBQyxXQUFXLEVBQUU7UUFDbkIsV0FBVyxFQUFFLCtCQUErQjtRQUM1QyxJQUFJLEVBQUUsUUFBUTtRQUNkLFdBQVcsRUFBRSxJQUFJO0tBQ2xCLENBQUM7U0FDRCxNQUFNLENBQUMsWUFBWSxFQUFFO1FBQ3BCLFVBQVUsRUFBRSxzRUFBc0U7UUFDbEYsS0FBSyxFQUFFLEdBQUc7UUFDVixJQUFJLEVBQUUsUUFBUTtRQUNkLFdBQVcsRUFBRSxJQUFJO0tBQ2xCLENBQUM7U0FDRCxNQUFNLENBQUMsaUJBQWlCLEVBQUU7UUFDekIsVUFBVSxFQUFFLDREQUE0RDtRQUN4RSxLQUFLLEVBQUUsR0FBRztRQUNWLElBQUksRUFBRSxRQUFRO1FBQ2QsV0FBVyxFQUFFLElBQUk7S0FDbEIsQ0FBQztTQUNELE1BQU0sQ0FBQyxhQUFhLEVBQUU7UUFDckIsS0FBSyxFQUFFLEdBQUc7UUFDVixXQUFXLEVBQUUsdUVB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QW9CLENBQUMsQ0FBQyxPQUFPLENBQUM7QUFDL0MsQ0FBQztBQUVELElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRTtJQUNmLHNDQUFzQztJQUN0QyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pCLE9BQU8sQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tY29uc29sZSAqL1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCAqIGFzIGplc3QgZnJvbSAnamVzdCc7XG5pbXBvcnQgKiBhcyB5YXJncyBmcm9tICd5YXJncyc7XG5pbXBvcnQgeyBSZWxlYXNlUGFja2FnZVNvdXJjZVNldHVwIH0gZnJvbSAnLi4vcGFja2FnZS1zb3VyY2VzL3JlbGVhc2Utc291cmNlJztcbmltcG9ydCB7IFJlcG9QYWNrYWdlU291cmNlU2V0dXAsIGF1dG9GaW5kUm9vdCB9IGZyb20gJy4uL3BhY2thZ2Utc291cmNlcy9yZXBvLXNvdXJjZSc7XG5pbXBvcnQgeyBJUGFja2FnZVNvdXJjZVNldHVwIH0gZnJvbSAnLi4vcGFja2FnZS1zb3VyY2VzL3NvdXJjZSc7XG5pbXBvcnQgeyBzZXJpYWxpemVGb3JTdWJwcm9jZXNzIH0gZnJvbSAnLi4vcGFja2FnZS1zb3VyY2VzL3N1YnByb2Nlc3MnO1xuXG5hc3luYyBmdW5jdGlvbiBtYWluKCkge1xuICBjb25zdCBhcmdzID0gYXdhaXQgeWFyZ3NcbiAgICAudXNhZ2UoJyQwIDxTVUlURU5BTUU+JylcbiAgICAucG9zaXRpb25hbCgnU1VJVEVOQU1FJywge1xuICAgICAgZGVzY3JpcHRvbjogJ05hbWUgb2YgdGhlIHRlc3Qgc3VpdGUgdG8gcnVuJyxcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgZGVtYW5kT3B0aW9uOiB0cnVlLFxuICAgIH0pXG4gICAgLm9wdGlvbigndGVzdCcsIHtcbiAgICAgIGRlc2NyaXB0b246ICdUZXN0IHBhdHRlcm4gdG8gc2VsZWN0aXZlbHkgcnVuIHRlc3RzJyxcbiAgICAgIGFsaWFzOiAndCcsXG4gICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgIHJlcXVpcmVzQXJnOiB0cnVlLFxuICAgIH0pXG4gICAgLm9wdGlvbigndGVzdC1maWxlJywge1xuICAgICAgZGVzY3JpcHRpb246ICdUaGUgc3BlY2lmaWMgdGVzdCBmaWxlIHRvIHJ1bicsXG4gICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgIHJlcXVpcmVzQXJnOiB0cnVlLFxuICAgIH0pXG4gICAgLm9wdGlvbigndXNlLXNvdXJjZScsIHtcbiAgICAgIGRlc2NyaXB0b246ICdVc2UgVHlwZVNjcmlwdCBwYWNrYWdlcyBmcm9tIHRoZSBnaXZlbiBzb3VyY2UgcmVwb3NpdG9yeSAob3IgXCJhdXRvXCIpJyxcbiAgICAgIGFsaWFzOiAncycsXG4gICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgIHJlcXVpcmVzQXJnOiB0cnVlLFxuICAgIH0pXG4gICAgLm9wdGlvbigndXNlLWNsaS1yZWxlYXNlJywge1xuICAgICAgZGVzY3JpcHRvbjogJ1J1biB0aGUgY3VycmVudCB0ZXN0cyBhZ2FpbnN0IHRoZSBDTEkgYXQgdGhlIGdpdmVuIHZlcnNpb24nLFxuICAgICAgYWxpYXM6ICd1JyxcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgcmVxdWlyZXNBcmc6IHRydWUsXG4gICAgfSlcbiAgICAub3B0aW9uKCdhdXRvLXNvdXJjZScsIHtcbiAgICAgIGFsaWFzOiAnYScsXG4gICAgICBkZXNjcmlwdGlvbjogJ0F1dG9tYXRpY2FsbHkgZmluZCB0aGUgc291cmNlIHRyZWUgZnJvbSB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeScsXG4gICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICByZXF1aXJlc0FyZzogZmFsc2UsXG4gICAgfSlcbiAgICAub3B0aW9uKCdydW5JbkJhbmQnLCB7XG4gICAgICBkZXNjcmlwdG9uOiAnUnVuIGFsbCB0ZXN0cyBpbiBvbmUgTm9kZSBwcm9jZXNzJyxcbiAgICAgIGFsaWFzOiAnaScsXG4gICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgfSlcbiAgICAub3B0aW9ucygnZnJhbWV3b3JrLXZlcnNpb24nLCB7XG4gICAgICBkZXNjcmlwdGlvbjogJ0ZyYW1ld29yayB2ZXJzaW9uIHRvIHVzZSwgaWYgZGlmZmVyZW50IHRoYW4gdGhlIENMSSB2ZXJzaW9uIChub3QgYWxsIHN1aXRlcyByZXNwZWN0IHRoaXMpJyxcbiAgICAgIGFsaWFzOiAnZicsXG4gICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICB9KVxuICAgIC5vcHRpb25zKCd2ZXJib3NlJywge1xuICAgICAgYWxpYXM6ICd2JyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnUnVuIGluIHZlcmJvc2UgbW9kZScsXG4gICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICByZXF1aXJlc0FyZzogZmFsc2UsXG4gICAgfSlcbiAgICAub3B0aW9ucygncGFzc1dpdGhOb1Rlc3RzJywge1xuICAgICAgZGVzY3JpcHRpb246ICdBbGxvdyBwYXNzaW5nIGlmIHRoZSB0ZXN0IHN1aXRlIGlzIG5vdCBmb3VuZCAoZGVmYXVsdCB0cnVlIHdoZW4gSVNfQ0FOQVJZIG1vZGUsIGZhbHNlIG90aGVyd2lzZSknLFxuICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgcmVxdWlyZXNBcmc6IGZhbHNlLFxuICAgIH0pXG4gICAgLmhlbHAoKVxuICAgIC5zaG93SGVscE9uRmFpbChmYWxzZSlcbiAgICAuYXJndjtcblxuICBjb25zdCBzdWl0ZU5hbWUgPSBhcmdzLl9bMF0gYXMgc3RyaW5nO1xuICBpZiAoIXN1aXRlTmFtZSkge1xuICAgIHRocm93IG5ldyBFcnJvcignVXNhZ2U6IHJ1bi1zdWl0ZSA8U1VJVEVOQU1FPicpO1xuICB9XG5cbiAgbGV0IHBhY2thZ2VTb3VyY2U6IHVuZGVmaW5lZCB8IElQYWNrYWdlU291cmNlU2V0dXA7XG4gIGZ1bmN0aW9uIHVzZVBhY2thZ2VTb3VyY2UoczogSVBhY2thZ2VTb3VyY2VTZXR1cCkge1xuICAgIGlmIChwYWNrYWdlU291cmNlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBzcGVjaWZ5IHR3byBwYWNrYWdlIHNvdXJjZXMnKTtcbiAgICB9XG4gICAgcGFja2FnZVNvdXJjZSA9IHM7XG4gIH1cblxuICBpZiAoYXJnc1sndXNlLXNvdXJjZSddIHx8IGFyZ3NbJ2F1dG8tc291cmNlJ10pIHtcbiAgICBpZiAoYXJnc1snZnJhbWV3b3JrLXZlcnNpb24nXSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgdXNlIC0tZnJhbWV3b3JrLXZlcnNpb24gd2l0aCAtLXVzZS1zb3VyY2UnKTtcbiAgICB9XG5cbiAgICBjb25zdCByb290ID0gYXJnc1sndXNlLXNvdXJjZSddICYmIGFyZ3NbJ3VzZS1zb3VyY2UnXSAhPT0gJ2F1dG8nXG4gICAgICA/IGFyZ3NbJ3VzZS1zb3VyY2UnXVxuICAgICAgOiBhd2FpdCBhdXRvRmluZFJvb3QoKTtcblxuICAgIHVzZVBhY2thZ2VTb3VyY2UobmV3IFJlcG9QYWNrYWdlU291cmNlU2V0dXAocm9vdCkpO1xuICB9IGVsc2UgaWYgKGFyZ3NbJ3VzZS1jbGktcmVsZWFzZSddKSB7XG4gICAgdXNlUGFja2FnZVNvdXJjZShuZXcgUmVsZWFzZVBhY2thZ2VTb3VyY2VTZXR1cChhcmdzWyd1c2UtY2xpLXJlbGVhc2UnXSwgYXJnc1snZnJhbWV3b3JrLXZlcnNpb24nXSkpO1xuICB9XG4gIGlmICghcGFja2FnZVNvdXJjZSkge1xuICAgIHRocm93IG5ldyBFcnJvcignU3BlY2lmeSBlaXRoZXIgLS11c2Utc291cmNlIG9yIC0tdXNlLWNsaS1yZWxlYXNlJyk7XG4gIH1cblxuICBjb25zb2xlLmxvZyhgUGFja2FnZSBzb3VyY2U6ICR7cGFja2FnZVNvdXJjZS5kZXNjcmlwdGlvbn1gKTtcbiAgY29uc29sZS5sb2coYFRlc3Qgc3VpdGU6ICAgICAke3N1aXRlTmFtZX1gKTtcbiAgY29uc29sZS5sb2coYFRlc3QgdmVyc2lvbjogICAke3RoaXNQYWNrYWdlVmVyc2lvbigpfWApO1xuXG4gIGF3YWl0IHBhY2thZ2VTb3VyY2UucHJlcGFyZSgpO1xuICBzZXJpYWxpemVGb3JTdWJwcm9jZXNzKHBhY2thZ2VTb3VyY2UpO1xuXG4gIGlmIChhcmdzLnZlcmJvc2UpIHtcbiAgICBwcm9jZXNzLmVudi5WRVJCT1NFID0gJzEnO1xuICB9XG5cbiAgLy8gTW90aXZhdGlvbiBiZWhpbmQgdGhpcyBiZWhhdmlvcjogd2hlbiBhZGRpbmcgYSBuZXcgdGVzdCBzdWl0ZSB0byB0aGUgcGlwZWxpbmUsIGJlY2F1c2Ugb2YgdGhlIHdheSBvdXJcbiAgLy8gUGlwZWxpbmUgcGFja2FnZSB3b3JrcywgdGhlIHN1aXRlIHdvdWxkIGJlIGFkZGVkIHRvIHRoZSBwaXBlbGluZSBBTkQgYXMgYSBjYW5hcnkgaW1tZWRpYXRlbHkuIFRoZSBjYW5hcnlcbiAgLy8gd291bGQgZmFpbCB1bnRpbCB0aGUgcGFja2FnZSB3YXMgYWN0dWFsbHkgcmVsZWFzZWQsIHNvIGZvciBjYW5hcmllcyB3ZSBtYWtlIGFuIGV4Y2VwdGlvbiBzbyB0aGF0IHRoZSBpbml0aWFsXG4gIC8vIGNhbmFyeSB3b3VsZCBzdWNjZWVkIGV2ZW4gaWYgdGhlIHN1aXRlIHdhc24ndCB5ZXQgYXZhaWxhYmxlLiBUaGUgZmFjdCB0aGF0IHRoZSBzdWl0ZSBpcyBub3Qgb3B0aW9uYWwgaW5cbiAgLy8gdGhlIHBpcGVsaW5lIHByb3RlY3RzIHVzIGZyb20gdHlwb3MuXG4gIGNvbnN0IHBhc3NXaXRoTm9UZXN0cyA9IGFyZ3MucGFzc1dpdGhOb1Rlc3RzID8/ICEhcHJvY2Vzcy5lbnYuSVNfQ0FOQVJZO1xuXG4gIC8vIENvbW11bmljYXRlIHdpdGggdGhlIGNvbmZpZyBmaWxlIChpbnRlZy5qZXN0LmNvbmZpZy5qcylcbiAgcHJvY2Vzcy5lbnYuVEVTVF9TVUlURV9OQU1FID0gc3VpdGVOYW1lO1xuXG4gIHRyeSB7XG4gICAgYXdhaXQgamVzdC5ydW4oW1xuICAgICAgJy0tcmFuZG9taXplJyxcbiAgICAgIC4uLmFyZ3MucnVuSW5CYW5kID8gWyctaSddIDogW10sXG4gICAgICAuLi5hcmdzLnRlc3QgPyBbJy10JywgYXJncy50ZXN0XSA6IFtdLFxuICAgICAgLi4uYXJncy52ZXJib3NlID8gWyctLXZlcmJvc2UnXSA6IFtdLFxuICAgICAgLi4ucGFzc1dpdGhOb1Rlc3RzID8gWyctLXBhc3NXaXRoTm9UZXN0cyddIDogW10sXG4gICAgICAuLi5hcmdzWyd0ZXN0LWZpbGUnXSA/IFthcmdzWyd0ZXN0LWZpbGUnXV0gOiBbXSxcbiAgICBdLCBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnLi4nLCAnLi4nLCAncmVzb3VyY2VzJywgJ2ludGVnLmplc3QuY29uZmlnLmpzJykpO1xuICB9IGZpbmFsbHkge1xuICAgIGF3YWl0IHBhY2thZ2VTb3VyY2UuY2xlYW51cCgpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHRoaXNQYWNrYWdlVmVyc2lvbigpOiBzdHJpbmcge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlcXVpcmUtaW1wb3J0c1xuICByZXR1cm4gcmVxdWlyZSgnLi4vLi4vcGFja2FnZS5qc29uJykudmVyc2lvbjtcbn1cblxubWFpbigpLmNhdGNoKGUgPT4ge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICBjb25zb2xlLmVycm9yKGUpO1xuICBwcm9jZXNzLmV4aXRDb2RlID0gMTtcbn0pO1xuIl19
@@ -101,6 +101,7 @@ async function main() {
101
101
 
102
102
  console.log(`Package source: ${packageSource.description}`);
103
103
  console.log(`Test suite: ${suiteName}`);
104
+ console.log(`Test version: ${thisPackageVersion()}`);
104
105
 
105
106
  await packageSource.prepare();
106
107
  serializeForSubprocess(packageSource);
@@ -133,6 +134,11 @@ async function main() {
133
134
  }
134
135
  }
135
136
 
137
+ function thisPackageVersion(): string {
138
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
139
+ return require('../../package.json').version;
140
+ }
141
+
136
142
  main().catch(e => {
137
143
  // eslint-disable-next-line no-console
138
144
  console.error(e);
package/lib/integ-test.js CHANGED
@@ -9,28 +9,18 @@ const SKIP_TESTS = fs.readFileSync(path.join(__dirname, '..', 'skip-tests.txt'),
9
9
  .split('\n')
10
10
  .map(x => x.trim())
11
11
  .filter(x => x && !x.startsWith('#'));
12
- if (SKIP_TESTS) {
12
+ if (SKIP_TESTS.length > 0) {
13
13
  process.stderr.write(`ℹ️ Skipping tests: ${JSON.stringify(SKIP_TESTS)}\n`);
14
14
  }
15
15
  // Whether we want to stop after the first failure, for quicker debugging (hopefully).
16
16
  const FAIL_FAST = process.env.FAIL_FAST === 'true';
17
17
  // Keep track of whether the suite has failed. If so, we stop running.
18
18
  let failed = false;
19
- if (process.env.JEST_TEST_CONCURRENT === 'true') {
20
- process.stderr.write('ℹ️ JEST_TEST_CONCURRENT is true: tests will run concurrently and filters have no effect!\n0');
21
- }
22
19
  /**
23
20
  * A wrapper for jest's 'test' which takes regression-disabled tests into account and prints a banner
24
21
  */
25
22
  function integTest(name, callback, timeoutMillis) {
26
- // Integ tests can run concurrently, and are responsible for blocking
27
- // themselves if they cannot. Because `test.concurrent` executes the test
28
- // code immediately, regardles of any `--testNamePattern`, this cannot be the
29
- // default: test filtering simply does not work with `test.concurrent`.
30
- // Instead, we make it opt-in only for the pipeline where we don't do any
31
- // selection, but execute all tests unconditionally.
32
- const testKind = process.env.JEST_TEST_CONCURRENT === 'true' ? test.concurrent : test;
33
- const runner = shouldSkip(name) ? testKind.skip : testKind;
23
+ const runner = shouldSkip(name) ? test.skip : test;
34
24
  runner(name, async () => {
35
25
  const output = new corking_1.MemoryStream();
36
26
  output.write('================================================================\n');
@@ -99,4 +89,4 @@ function randomString() {
99
89
  // Crazy
100
90
  return Math.random().toString(36).replace(/[^a-z0-9]+/g, '');
101
91
  }
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWctdGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImludGVnLXRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFpQ0EsOEJBOEVDO0FBTUQsb0NBR0M7QUF4SEQseUJBQXlCO0FBQ3pCLDZCQUE2QjtBQUM3Qix1Q0FBeUM7QUFFekMsTUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLENBQUMsRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsQ0FBQztLQUNwRyxLQUFLLENBQUMsSUFBSSxDQUFDO0tBQ1gsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0tBQ2xCLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUV4QyxJQUFJLFVBQVUsRUFBRSxDQUFDO0lBQ2YsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsc0JBQXNCLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQzdFLENBQUM7QUFFRCxzRkFBc0Y7QUFDdEYsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEtBQUssTUFBTSxDQUFDO0FBRW5ELHNFQUFzRTtBQUN0RSxJQUFJLE1BQU0sR0FBRyxLQUFLLENBQUM7QUFTbkIsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLG9CQUFvQixLQUFLLE1BQU0sRUFBRSxDQUFDO0lBQ2hELE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLDZGQUE2RixDQUFDLENBQUM7QUFDdEgsQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0IsU0FBUyxDQUN2QixJQUFZLEVBQ1osUUFBaUQsRUFDakQsYUFBc0I7SUFF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Q2pCLE1BQU0sSUFBSSxPQUFPLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUM5RCxDQUFDO1lBQ0gsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLGlEQUFpRDtnQkFDakQsNkRBQTZEO2dCQUM3RCxzQ0FBc0M7Z0JBQ3RDLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFDMUMsQ0FBQztZQUNELE1BQU0sQ0FBQyxDQUFDO1FBQ1YsQ0FBQztnQkFBUyxDQUFDO1lBQ1QsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEdBQUcsQ0FBQztZQUNsQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsSUFBSSxXQUFXLFFBQVEsU0FBUyxDQUFDLENBQUM7UUFDekUsQ0FBQztJQUNILENBQUMsRUFBRSxhQUFhLENBQUMsQ0FBQztBQUNwQixDQUFDO0FBRUQsU0FBUyxVQUFVLENBQUMsUUFBZ0I7SUFDbEMsT0FBTyxVQUFVLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ3ZDLENBQUM7QUFFRCxTQUFnQixZQUFZO0lBQzFCLFFBQVE7SUFDUixPQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUMvRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IE1lbW9yeVN0cmVhbSB9IGZyb20gJy4vY29ya2luZyc7XG5cbmNvbnN0IFNLSVBfVEVTVFMgPSBmcy5yZWFkRmlsZVN5bmMocGF0aC5qb2luKF9fZGlybmFtZSwgJy4uJywgJ3NraXAtdGVzdHMudHh0JyksIHsgZW5jb2Rpbmc6ICd1dGYtOCcgfSlcbiAgLnNwbGl0KCdcXG4nKVxuICAubWFwKHggPT4geC50cmltKCkpXG4gIC5maWx0ZXIoeCA9PiB4ICYmICF4LnN0YXJ0c1dpdGgoJyMnKSk7XG5cbmlmIChTS0lQX1RFU1RTKSB7XG4gIHByb2Nlc3Muc3RkZXJyLndyaXRlKGDihLnvuI8gU2tpcHBpbmcgdGVzdHM6ICR7SlNPTi5zdHJpbmdpZnkoU0tJUF9URVNUUyl9XFxuYCk7XG59XG5cbi8vIFdoZXRoZXIgd2Ugd2FudCB0byBzdG9wIGFmdGVyIHRoZSBmaXJzdCBmYWlsdXJlLCBmb3IgcXVpY2tlciBkZWJ1Z2dpbmcgKGhvcGVmdWxseSkuXG5jb25zdCBGQUlMX0ZBU1QgPSBwcm9jZXNzLmVudi5GQUlMX0ZBU1QgPT09ICd0cnVlJztcblxuLy8gS2VlcCB0cmFjayBvZiB3aGV0aGVyIHRoZSBzdWl0ZSBoYXMgZmFpbGVkLiBJZiBzbywgd2Ugc3RvcCBydW5uaW5nLlxubGV0IGZhaWxlZCA9IGZhbHNlO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRlc3RDb250ZXh0IHtcbiAgcmVhZG9ubHkgcmFuZG9tU3RyaW5nOiBzdHJpbmc7XG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgb3V0cHV0OiBOb2RlSlMuV3JpdGFibGVTdHJlYW07XG4gIGxvZyhzOiBzdHJpbmcpOiB2b2lkO1xufVxuXG5pZiAocHJvY2Vzcy5lbnYuSkVTVF9URVNUX0NPTkNVUlJFTlQgPT09ICd0cnVlJykge1xuICBwcm9jZXNzLnN0ZGVyci53cml0ZSgn4oS577iPIEpFU1RfVEVTVF9DT05DVVJSRU5UIGlzIHRydWU6IHRlc3RzIHdpbGwgcnVuIGNvbmN1cnJlbnRseSBhbmQgZmlsdGVycyBoYXZlIG5vIGVmZmVjdCFcXG4wJyk7XG59XG5cbi8qKlxuICogQSB3cmFwcGVyIGZvciBqZXN0J3MgJ3Rlc3QnIHdoaWNoIHRha2VzIHJlZ3Jlc3Npb24tZGlzYWJsZWQgdGVzdHMgaW50byBhY2NvdW50IGFuZCBwcmludHMgYSBiYW5uZXJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGludGVnVGVzdChcbiAgbmFtZTogc3RyaW5nLFxuICBjYWxsYmFjazogKGNvbnRleHQ6IFRlc3RDb250ZXh0KSA9PiBQcm9taXNlPHZvaWQ+LFxuICB0aW1lb3V0TWlsbGlzPzogbnVtYmVyLFxuKTogdm9pZCB7XG4gIC8vIEludGVnIHRlc3RzIGNhbiBydW4gY29uY3VycmVudGx5LCBhbmQgYXJlIHJlc3BvbnNpYmxlIGZvciBibG9ja2luZ1xuICAvLyB0aGVtc2VsdmVzIGlmIHRoZXkgY2Fubm90LiAgQmVjYXVzZSBgdGVzdC5jb25jdXJyZW50YCBleGVjdXRlcyB0aGUgdGVzdFxuICAvLyBjb2RlIGltbWVkaWF0ZWx5LCByZWdhcmRsZXMgb2YgYW55IGAtLXRlc3ROYW1lUGF0dGVybmAsIHRoaXMgY2Fubm90IGJlIHRoZVxuICAvLyBkZWZhdWx0OiB0ZXN0IGZpbHRlcmluZyBzaW1wbHkgZG9lcyBub3Qgd29yayB3aXRoIGB0ZXN0LmNvbmN1cnJlbnRgLlxuICAvLyBJbnN0ZWFkLCB3ZSBtYWtlIGl0IG9wdC1pbiBvbmx5IGZvciB0aGUgcGlwZWxpbmUgd2hlcmUgd2UgZG9uJ3QgZG8gYW55XG4gIC8vIHNlbGVjdGlvbiwgYnV0IGV4ZWN1dGUgYWxsIHRlc3RzIHVuY29uZGl0aW9uYWxseS5cbiAgY29uc3QgdGVzdEtpbmQgPSBwcm9jZXNzLmVudi5KRVNUX1RFU1RfQ09OQ1VSUkVOVCA9PT0gJ3RydWUnID8gdGVzdC5jb25jdXJyZW50IDogdGVzdDtcbiAgY29uc3QgcnVubmVyID0gc2hvdWxkU2tpcChuYW1lKSA/IHRlc3RLaW5kLnNraXAgOiB0ZXN0S2luZDtcblxuICBydW5uZXIobmFtZSwgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IG91dHB1dCA9IG5ldyBNZW1vcnlTdHJlYW0oKTtcblxuICAgIG91dHB1dC53cml0ZSgnPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxcbicpO1xuICAgIG91dHB1dC53cml0ZShgJHtuYW1lfVxcbmApO1xuICAgIG91dHB1dC53cml0ZSgnPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxcbicpO1xuXG4gICAgY29uc3Qgbm93ID0gRGF0ZS5ub3coKTtcbiAgICBwcm9jZXNzLnN0ZGVyci53cml0ZShgW0lOVEVHIFRFU1Q6OiR7bmFtZX1dIFN0YXJ0aW5nIChwaWQgJHtwcm9jZXNzLnBpZH0pLi4uXFxuYCk7XG4gICAgdHJ5IHtcbiAgICAgIGlmIChGQUlMX0ZBU1QgJiYgZmFpbGVkKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignRkFJTF9GQVNUIHJlcXVlc3RlZCBhbmQgY3VycmVudGx5IGZhaWxpbmcuIFN0b3BwaW5nIHRlc3QgZWFybHkuJyk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBhd2FpdCBjYWxsYmFjayh7XG4gICAgICAgIG91dHB1dCxcbiAgICAgICAgcmFuZG9tU3RyaW5nOiByYW5kb21TdHJpbmcoKSxcbiAgICAgICAgbmFtZSxcbiAgICAgICAgbG9nKHM6IHN0cmluZykge1xuICAgICAgICAgIG91dHB1dC53cml0ZShgJHtzfVxcbmApO1xuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICBmYWlsZWQgPSB0cnVlO1xuXG4gICAgICAvLyBQcmludCB0aGUgYnVmZmVyZWQgb3V0cHV0LCBvbmx5IGlmIHRoZSB0ZXN0IGZhaWxzLlxuICAgICAgb3V0cHV0LndyaXRlKGUubWVzc2FnZSk7XG4gICAgICBvdXRwdXQud3JpdGUoZS5zdGFjayk7XG4gICAgICBwcm9jZXNzLnN0ZGVyci53cml0ZShgW0lOVEVHIFRFU1Q6OiR7bmFtZX1dIEZhaWxlZDogJHtlfVxcbmApO1xuXG4gICAgICBjb25zdCBpc0dpdEh1YiA9ICEhcHJvY2Vzcy5lbnYuR0lUSFVCX1JVTl9JRDtcblxuICAgICAgaWYgKGlzR2l0SHViKSB7XG4gICAgICAgIC8vIEdpdEh1YiBBY3Rpb25zIGNvbXBhdGlibGUgb3V0cHV0IGZvcm1hdHRpbmdcbiAgICAgICAgLy8gaHR0cHM6Ly9kb2NzLmdpdGh1Yi5jb20vZW4vYWN0aW9ucy93cml0aW5nLXdvcmtmbG93cy9jaG9vc2luZy13aGF0LXlvdXItd29ya2Zsb3ctZG9lcy93b3JrZmxvdy1jb21tYW5kcy1mb3ItZ2l0aHViLWFjdGlvbnMjc2V0dGluZy1hbi1lcnJvci1tZXNzYWdlXG4gICAgICAgIGxldCB3cml0dGVuID0gcHJvY2Vzcy5zdGRlcnIud3JpdGUoYDo6ZXJyb3IgdGl0bGU9RmFpbGVkICR7bmFtZX06OiR7ZS5tZXNzYWdlfVxcbmApO1xuICAgICAgICBpZiAoIXdyaXR0ZW4pIHtcbiAgICAgICAgICAvLyBXYWl0IGZvciBkcmFpblxuICAgICAgICAgIGF3YWl0IG5ldyBQcm9taXNlKChvaykgPT4gcHJvY2Vzcy5zdGRlcnIub25jZSgnZHJhaW4nLCBvaykpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gUHJpbnQgb3V0cHV0IG9ubHkgaWYgdGhlIHRlc3QgZmFpbHMuIFVzZSAnY29uc29sZS5sb2cnIHNvIHRoZSBvdXRwdXQgaXMgYnVmZmVyZWQgYnlcbiAgICAgICAgLy8gamVzdCBhbmQgcHJpbnRzIHdpdGhvdXQgYSBzdGFjayB0cmFjZSAoaWYgdmVyYm9zZTogZmFsc2UpLlxuICAgICAgICB3cml0dGVuID0gcHJvY2Vzcy5zdGRvdXQud3JpdGUoW1xuICAgICAgICAgIGA6Omdyb3VwOjpGYWlsdXJlIGRldGFpbHM6ICR7bmFtZX0gKGNsaWNrIHRvIGV4cGFuZClcXG5gLFxuICAgICAgICAgIGAke291dHB1dC5idWZmZXIoKS50b1N0cmluZygpfVxcbmAsXG4gICAgICAgICAgJzo6ZW5kZ3JvdXA6OlxcbicsXG4gICAgICAgIF0uam9pbignJykpO1xuICAgICAgICBpZiAoIXdyaXR0ZW4pIHtcbiAgICAgICAgICAvLyBXYWl0IGZvciBkcmFpblxuICAgICAgICAgIGF3YWl0IG5ldyBQcm9taXNlKChvaykgPT4gcHJvY2Vzcy5zdGRvdXQub25jZSgnZHJhaW4nLCBvaykpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBVc2UgJ2NvbnNvbGUubG9nJyBzbyB0aGUgb3V0cHV0IGlzIGJ1ZmZlcmVkIGJ5XG4gICAgICAgIC8vIGplc3QgYW5kIHByaW50cyB3aXRob3V0IGEgc3RhY2sgdHJhY2UgKGlmIHZlcmJvc2U6IGZhbHNlKS5cbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICAgICAgY29uc29sZS5sb2cob3V0cHV0LmJ1ZmZlcigpLnRvU3RyaW5nKCkpO1xuICAgICAgfVxuICAgICAgdGhyb3cgZTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgY29uc3QgZHVyYXRpb24gPSBEYXRlLm5vdygpIC0gbm93O1xuICAgICAgcHJvY2Vzcy5zdGRlcnIud3JpdGUoYFtJTlRFRyBURVNUOjoke25hbWV9XSBEb25lICgke2R1cmF0aW9ufSBtcykuXFxuYCk7XG4gICAgfVxuICB9LCB0aW1lb3V0TWlsbGlzKTtcbn1cblxuZnVuY3Rpb24gc2hvdWxkU2tpcCh0ZXN0TmFtZTogc3RyaW5nKSB7XG4gIHJldHVybiBTS0lQX1RFU1RTLmluY2x1ZGVzKHRlc3ROYW1lKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJhbmRvbVN0cmluZygpIHtcbiAgLy8gQ3JhenlcbiAgcmV0dXJuIE1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnJlcGxhY2UoL1teYS16MC05XSsvZywgJycpO1xufVxuIl19
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWctdGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImludGVnLXRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUE2QkEsOEJBdUVDO0FBTUQsb0NBR0M7QUE3R0QseUJBQXlCO0FBQ3pCLDZCQUE2QjtBQUM3Qix1Q0FBeUM7QUFFekMsTUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLENBQUMsRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsQ0FBQztLQUNwRyxLQUFLLENBQUMsSUFBSSxDQUFDO0tBQ1gsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0tBQ2xCLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUV4QyxJQUFJLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7SUFDMUIsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsc0JBQXNCLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQzdFLENBQUM7QUFFRCxzRkFBc0Y7QUFDdEYsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEtBQUssTUFBTSxDQUFDO0FBRW5ELHNFQUFzRTtBQUN0RSxJQUFJLE1BQU0sR0FBRyxLQUFLLENBQUM7QUFTbkI7O0dBRUc7QUFDSCxTQUFnQixTQUFTLENBQ3ZCLElBQVksRUFDWixRQUFpRCxFQUNqRCxhQUFzQjtJQUV0QixNQUFNLE1BQU0sR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUVuRCxNQUFNLENBQUMsSUFBSSxFQUFFLEtBQUssSUFBSSxFQUFFO1FBQ3RCLE1BQU0sTUFBTSxHQUFHLElBQUksc0JBQVksRUFBRSxDQUFDO1FBRWxDLE1BQU0sQ0FBQyxLQUFLLENBQUMsb0VBQW9FLENBQUMsQ0FBQztRQUNuRixNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQztRQUMxQixNQUFNLENBQUMsS0FBSyxDQUFDLG9FQUFvRSxDQUFDLENBQUM7UUFFbkYsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ3ZCLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLGdCQUFnQixJQUFJLG1CQUFtQixPQUFPLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQztRQUNqRixJQUFJLENBQUM7WUFDSCxJQUFJLFNBQVMsSUFBSSxNQUFNLEVBQUUsQ0FBQztnQkFDeEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxpRUFBaUUsQ0FBQyxDQUFDO1lBQ3JGLENBQUM7WUFFRCxPQUFPLE1BQU0sUUFBUSxDQUFDO2dCQUNwQixNQUFNO2dCQUNOLFlBQVksRUFBRSxZQUFZLEVBQUU7Z0JBQzVCLElBQUk7Z0JBQ0osR0FBRyxDQUFDLENBQVM7b0JBQ1gsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3pCLENBQUM7YUFDRixDQUFDLENBQUM7UUFDTCxDQUFDO1FBQUMsT0FBTyxDQUFNLEVBQUUsQ0FBQztZQUNoQixNQUFNLEdBQUcsSUFBSSxDQUFDO1lBRWQscURBQXFEO1lBQ3JELE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3hCLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3RCLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLGdCQUFnQixJQUFJLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUU3RCxNQUFNLFFBQVEsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUM7WUFFN0MsSUFBSSxRQUFRLEVBQUUsQ0FBQztnQkFDYiw4Q0FBOEM7Z0JBQzlDLHNKQUFzSjtnQkFDdEosSUFBSSxPQUFPLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsd0JBQXdCLElBQUksS0FBSyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQztnQkFDbkYsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO29CQUNiLGlCQUFpQjtvQkFDakIsTUFBTSxJQUFJLE9BQU8sQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQzlELENBQUM7Z0JBRUQsc0ZBQXNGO2dCQUN0Riw2REFBNkQ7Z0JBQzdELE9BQU8sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztvQkFDN0IsNkJBQTZCLElBQUksc0JBQXNCO29CQUN2RCxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUUsSUFBSTtvQkFDakMsZ0JBQWdCO2lCQUNqQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUNaLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztvQkFDYixpQkFBaUI7b0JBQ2pCLE1BQU0sSUFBSSxPQUFPLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUM5RCxDQUFDO1lBQ0gsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLGlEQUFpRDtnQkFDakQsNkRBQTZEO2dCQUM3RCxzQ0FBc0M7Z0JBQ3RDLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFDMUMsQ0FBQztZQUNELE1BQU0sQ0FBQyxDQUFDO1FBQ1YsQ0FBQztnQkFBUyxDQUFDO1lBQ1QsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEdBQUcsQ0FBQztZQUNsQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsSUFBSSxXQUFXLFFBQVEsU0FBUyxDQUFDLENBQUM7UUFDekUsQ0FBQztJQUNILENBQUMsRUFBRSxhQUFhLENBQUMsQ0FBQztBQUNwQixDQUFDO0FBRUQsU0FBUyxVQUFVLENBQUMsUUFBZ0I7SUFDbEMsT0FBTyxVQUFVLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ3ZDLENBQUM7QUFFRCxTQUFnQixZQUFZO0lBQzFCLFFBQVE7SUFDUixPQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUMvRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IE1lbW9yeVN0cmVhbSB9IGZyb20gJy4vY29ya2luZyc7XG5cbmNvbnN0IFNLSVBfVEVTVFMgPSBmcy5yZWFkRmlsZVN5bmMocGF0aC5qb2luKF9fZGlybmFtZSwgJy4uJywgJ3NraXAtdGVzdHMudHh0JyksIHsgZW5jb2Rpbmc6ICd1dGYtOCcgfSlcbiAgLnNwbGl0KCdcXG4nKVxuICAubWFwKHggPT4geC50cmltKCkpXG4gIC5maWx0ZXIoeCA9PiB4ICYmICF4LnN0YXJ0c1dpdGgoJyMnKSk7XG5cbmlmIChTS0lQX1RFU1RTLmxlbmd0aCA+IDApIHtcbiAgcHJvY2Vzcy5zdGRlcnIud3JpdGUoYOKEue+4jyBTa2lwcGluZyB0ZXN0czogJHtKU09OLnN0cmluZ2lmeShTS0lQX1RFU1RTKX1cXG5gKTtcbn1cblxuLy8gV2hldGhlciB3ZSB3YW50IHRvIHN0b3AgYWZ0ZXIgdGhlIGZpcnN0IGZhaWx1cmUsIGZvciBxdWlja2VyIGRlYnVnZ2luZyAoaG9wZWZ1bGx5KS5cbmNvbnN0IEZBSUxfRkFTVCA9IHByb2Nlc3MuZW52LkZBSUxfRkFTVCA9PT0gJ3RydWUnO1xuXG4vLyBLZWVwIHRyYWNrIG9mIHdoZXRoZXIgdGhlIHN1aXRlIGhhcyBmYWlsZWQuIElmIHNvLCB3ZSBzdG9wIHJ1bm5pbmcuXG5sZXQgZmFpbGVkID0gZmFsc2U7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGVzdENvbnRleHQge1xuICByZWFkb25seSByYW5kb21TdHJpbmc6IHN0cmluZztcbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuICByZWFkb25seSBvdXRwdXQ6IE5vZGVKUy5Xcml0YWJsZVN0cmVhbTtcbiAgbG9nKHM6IHN0cmluZyk6IHZvaWQ7XG59XG5cbi8qKlxuICogQSB3cmFwcGVyIGZvciBqZXN0J3MgJ3Rlc3QnIHdoaWNoIHRha2VzIHJlZ3Jlc3Npb24tZGlzYWJsZWQgdGVzdHMgaW50byBhY2NvdW50IGFuZCBwcmludHMgYSBiYW5uZXJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGludGVnVGVzdChcbiAgbmFtZTogc3RyaW5nLFxuICBjYWxsYmFjazogKGNvbnRleHQ6IFRlc3RDb250ZXh0KSA9PiBQcm9taXNlPHZvaWQ+LFxuICB0aW1lb3V0TWlsbGlzPzogbnVtYmVyLFxuKTogdm9pZCB7XG4gIGNvbnN0IHJ1bm5lciA9IHNob3VsZFNraXAobmFtZSkgPyB0ZXN0LnNraXAgOiB0ZXN0O1xuXG4gIHJ1bm5lcihuYW1lLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3Qgb3V0cHV0ID0gbmV3IE1lbW9yeVN0cmVhbSgpO1xuXG4gICAgb3V0cHV0LndyaXRlKCc9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XFxuJyk7XG4gICAgb3V0cHV0LndyaXRlKGAke25hbWV9XFxuYCk7XG4gICAgb3V0cHV0LndyaXRlKCc9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XFxuJyk7XG5cbiAgICBjb25zdCBub3cgPSBEYXRlLm5vdygpO1xuICAgIHByb2Nlc3Muc3RkZXJyLndyaXRlKGBbSU5URUcgVEVTVDo6JHtuYW1lfV0gU3RhcnRpbmcgKHBpZCAke3Byb2Nlc3MucGlkfSkuLi5cXG5gKTtcbiAgICB0cnkge1xuICAgICAgaWYgKEZBSUxfRkFTVCAmJiBmYWlsZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdGQUlMX0ZBU1QgcmVxdWVzdGVkIGFuZCBjdXJyZW50bHkgZmFpbGluZy4gU3RvcHBpbmcgdGVzdCBlYXJseS4nKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGF3YWl0IGNhbGxiYWNrKHtcbiAgICAgICAgb3V0cHV0LFxuICAgICAgICByYW5kb21TdHJpbmc6IHJhbmRvbVN0cmluZygpLFxuICAgICAgICBuYW1lLFxuICAgICAgICBsb2coczogc3RyaW5nKSB7XG4gICAgICAgICAgb3V0cHV0LndyaXRlKGAke3N9XFxuYCk7XG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgIGZhaWxlZCA9IHRydWU7XG5cbiAgICAgIC8vIFByaW50IHRoZSBidWZmZXJlZCBvdXRwdXQsIG9ubHkgaWYgdGhlIHRlc3QgZmFpbHMuXG4gICAgICBvdXRwdXQud3JpdGUoZS5tZXNzYWdlKTtcbiAgICAgIG91dHB1dC53cml0ZShlLnN0YWNrKTtcbiAgICAgIHByb2Nlc3Muc3RkZXJyLndyaXRlKGBbSU5URUcgVEVTVDo6JHtuYW1lfV0gRmFpbGVkOiAke2V9XFxuYCk7XG5cbiAgICAgIGNvbnN0IGlzR2l0SHViID0gISFwcm9jZXNzLmVudi5HSVRIVUJfUlVOX0lEO1xuXG4gICAgICBpZiAoaXNHaXRIdWIpIHtcbiAgICAgICAgLy8gR2l0SHViIEFjdGlvbnMgY29tcGF0aWJsZSBvdXRwdXQgZm9ybWF0dGluZ1xuICAgICAgICAvLyBodHRwczovL2RvY3MuZ2l0aHViLmNvbS9lbi9hY3Rpb25zL3dyaXRpbmctd29ya2Zsb3dzL2Nob29zaW5nLXdoYXQteW91ci13b3JrZmxvdy1kb2VzL3dvcmtmbG93LWNvbW1hbmRzLWZvci1naXRodWItYWN0aW9ucyNzZXR0aW5nLWFuLWVycm9yLW1lc3NhZ2VcbiAgICAgICAgbGV0IHdyaXR0ZW4gPSBwcm9jZXNzLnN0ZGVyci53cml0ZShgOjplcnJvciB0aXRsZT1GYWlsZWQgJHtuYW1lfTo6JHtlLm1lc3NhZ2V9XFxuYCk7XG4gICAgICAgIGlmICghd3JpdHRlbikge1xuICAgICAgICAgIC8vIFdhaXQgZm9yIGRyYWluXG4gICAgICAgICAgYXdhaXQgbmV3IFByb21pc2UoKG9rKSA9PiBwcm9jZXNzLnN0ZGVyci5vbmNlKCdkcmFpbicsIG9rKSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBQcmludCBvdXRwdXQgb25seSBpZiB0aGUgdGVzdCBmYWlscy4gVXNlICdjb25zb2xlLmxvZycgc28gdGhlIG91dHB1dCBpcyBidWZmZXJlZCBieVxuICAgICAgICAvLyBqZXN0IGFuZCBwcmludHMgd2l0aG91dCBhIHN0YWNrIHRyYWNlIChpZiB2ZXJib3NlOiBmYWxzZSkuXG4gICAgICAgIHdyaXR0ZW4gPSBwcm9jZXNzLnN0ZG91dC53cml0ZShbXG4gICAgICAgICAgYDo6Z3JvdXA6OkZhaWx1cmUgZGV0YWlsczogJHtuYW1lfSAoY2xpY2sgdG8gZXhwYW5kKVxcbmAsXG4gICAgICAgICAgYCR7b3V0cHV0LmJ1ZmZlcigpLnRvU3RyaW5nKCl9XFxuYCxcbiAgICAgICAgICAnOjplbmRncm91cDo6XFxuJyxcbiAgICAgICAgXS5qb2luKCcnKSk7XG4gICAgICAgIGlmICghd3JpdHRlbikge1xuICAgICAgICAgIC8vIFdhaXQgZm9yIGRyYWluXG4gICAgICAgICAgYXdhaXQgbmV3IFByb21pc2UoKG9rKSA9PiBwcm9jZXNzLnN0ZG91dC5vbmNlKCdkcmFpbicsIG9rKSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFVzZSAnY29uc29sZS5sb2cnIHNvIHRoZSBvdXRwdXQgaXMgYnVmZmVyZWQgYnlcbiAgICAgICAgLy8gamVzdCBhbmQgcHJpbnRzIHdpdGhvdXQgYSBzdGFjayB0cmFjZSAoaWYgdmVyYm9zZTogZmFsc2UpLlxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgICAgICBjb25zb2xlLmxvZyhvdXRwdXQuYnVmZmVyKCkudG9TdHJpbmcoKSk7XG4gICAgICB9XG4gICAgICB0aHJvdyBlO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBjb25zdCBkdXJhdGlvbiA9IERhdGUubm93KCkgLSBub3c7XG4gICAgICBwcm9jZXNzLnN0ZGVyci53cml0ZShgW0lOVEVHIFRFU1Q6OiR7bmFtZX1dIERvbmUgKCR7ZHVyYXRpb259IG1zKS5cXG5gKTtcbiAgICB9XG4gIH0sIHRpbWVvdXRNaWxsaXMpO1xufVxuXG5mdW5jdGlvbiBzaG91bGRTa2lwKHRlc3ROYW1lOiBzdHJpbmcpIHtcbiAgcmV0dXJuIFNLSVBfVEVTVFMuaW5jbHVkZXModGVzdE5hbWUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmFuZG9tU3RyaW5nKCkge1xuICAvLyBDcmF6eVxuICByZXR1cm4gTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikucmVwbGFjZSgvW15hLXowLTldKy9nLCAnJyk7XG59XG4iXX0=
package/lib/integ-test.ts CHANGED
@@ -7,7 +7,7 @@ const SKIP_TESTS = fs.readFileSync(path.join(__dirname, '..', 'skip-tests.txt'),
7
7
  .map(x => x.trim())
8
8
  .filter(x => x && !x.startsWith('#'));
9
9
 
10
- if (SKIP_TESTS) {
10
+ if (SKIP_TESTS.length > 0) {
11
11
  process.stderr.write(`ℹ️ Skipping tests: ${JSON.stringify(SKIP_TESTS)}\n`);
12
12
  }
13
13
 
@@ -24,10 +24,6 @@ export interface TestContext {
24
24
  log(s: string): void;
25
25
  }
26
26
 
27
- if (process.env.JEST_TEST_CONCURRENT === 'true') {
28
- process.stderr.write('ℹ️ JEST_TEST_CONCURRENT is true: tests will run concurrently and filters have no effect!\n0');
29
- }
30
-
31
27
  /**
32
28
  * A wrapper for jest's 'test' which takes regression-disabled tests into account and prints a banner
33
29
  */
@@ -36,14 +32,7 @@ export function integTest(
36
32
  callback: (context: TestContext) => Promise<void>,
37
33
  timeoutMillis?: number,
38
34
  ): void {
39
- // Integ tests can run concurrently, and are responsible for blocking
40
- // themselves if they cannot. Because `test.concurrent` executes the test
41
- // code immediately, regardles of any `--testNamePattern`, this cannot be the
42
- // default: test filtering simply does not work with `test.concurrent`.
43
- // Instead, we make it opt-in only for the pipeline where we don't do any
44
- // selection, but execute all tests unconditionally.
45
- const testKind = process.env.JEST_TEST_CONCURRENT === 'true' ? test.concurrent : test;
46
- const runner = shouldSkip(name) ? testKind.skip : testKind;
35
+ const runner = shouldSkip(name) ? test.skip : test;
47
36
 
48
37
  runner(name, async () => {
49
38
  const output = new MemoryStream();
package/lib/with-aws.js CHANGED
@@ -73,8 +73,6 @@ function regionPool() {
73
73
  const REGIONS = process.env.AWS_REGIONS
74
74
  ? process.env.AWS_REGIONS.split(',')
75
75
  : [(_b = (_a = process.env.AWS_REGION) !== null && _a !== void 0 ? _a : process.env.AWS_DEFAULT_REGION) !== null && _b !== void 0 ? _b : 'us-east-1'];
76
- // eslint-disable-next-line no-console
77
- console.log(`Using regions: ${REGIONS}\n`);
78
76
  _regionPool = resource_pool_1.ResourcePool.withResources('aws_regions', REGIONS);
79
77
  return _regionPool;
80
78
  }
@@ -105,4 +103,4 @@ async function sanityCheck(aws) {
105
103
  }
106
104
  }
107
105
  let sanityChecked;
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1hd3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ3aXRoLWF3cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQU1BLDhDQUdDO0FBRUQsZ0RBTUM7QUFFRCx3Q0FNQztBQVNELDBCQW1DQztBQUdELGdDQWNDO0FBdEZELDBFQUFrRTtBQUNsRSwrQkFBbUM7QUFFbkMsbURBQStDO0FBRy9DLFNBQWdCLGlCQUFpQjtJQUMvQixNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLDRCQUE0QixDQUFDO0lBQ3pELE9BQU8sT0FBTyxLQUFLLE1BQU0sSUFBSSxPQUFPLEtBQUssR0FBRyxDQUFDO0FBQy9DLENBQUM7QUFFRCxTQUFnQixrQkFBa0I7SUFDaEMsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQztJQUN4RCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDWCxNQUFNLElBQUksS0FBSyxDQUFDLDhDQUE4QyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQUVELFNBQWdCLGNBQWM7SUFDNUIsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsQ0FBQztJQUNwRCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDWCxNQUFNLElBQUksS0FBSyxDQUFDLDBDQUEwQyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQUlEOzs7O0dBSUc7QUFDSCxTQUFnQixPQUFPLENBQ3JCLEtBQTJFLEVBQzNFLG1CQUE0QixLQUFLO0lBRWpDLE9BQU8sS0FBSyxFQUFFLE9BQVUsRUFBRSxFQUFFO1FBQzFCLElBQUksaUJBQWlCLEVBQUUsRUFBRSxDQUFDO1lBQ3hCLE1BQU0sVUFBVSxHQUFHLElBQUksd0NBQWdCLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDO1lBQzlELE1BQU0sVUFB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RCxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUN0RixDQUFDO0lBQ0gsQ0FBQztJQUNELElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNuQixNQUFNLElBQUksS0FBSyxDQUFDLDZEQUE2RCxDQUFDLENBQUM7SUFDakYsQ0FBQztBQUNILENBQUM7QUFDRCxJQUFJLGFBQWtDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBdG1vc3BoZXJlQ2xpZW50IH0gZnJvbSAnQGNka2xhYnMvY2RrLWF0bW9zcGhlcmUtY2xpZW50JztcbmltcG9ydCB7IEF3c0NsaWVudHMgfSBmcm9tICcuL2F3cyc7XG5pbXBvcnQgeyBUZXN0Q29udGV4dCB9IGZyb20gJy4vaW50ZWctdGVzdCc7XG5pbXBvcnQgeyBSZXNvdXJjZVBvb2wgfSBmcm9tICcuL3Jlc291cmNlLXBvb2wnO1xuaW1wb3J0IHsgRGlzYWJsZUJvb3RzdHJhcENvbnRleHQgfSBmcm9tICcuL3dpdGgtY2RrLWFwcCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBhdG1vc3BoZXJlRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgY29uc3QgZW5hYmxlZCA9IHByb2Nlc3MuZW52LkNES19JTlRFR19BVE1PU1BIRVJFX0VOQUJMRUQ7XG4gIHJldHVybiBlbmFibGVkID09PSAndHJ1ZScgfHwgZW5hYmxlZCA9PT0gJzEnO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXRtb3NwaGVyZUVuZHBvaW50KCk6IHN0cmluZyB7XG4gIGNvbnN0IHZhbHVlID0gcHJvY2Vzcy5lbnYuQ0RLX0lOVEVHX0FUTU9TUEhFUkVfRU5EUE9JTlQ7XG4gIGlmICghdmFsdWUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0NES19JTlRFR19BVE1PU1BIRVJFX0VORFBPSU5UIGlzIG5vdCBkZWZpbmVkJyk7XG4gIH1cbiAgcmV0dXJuIHZhbHVlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXRtb3NwaGVyZVBvb2woKSB7XG4gIGNvbnN0IHZhbHVlID0gcHJvY2Vzcy5lbnYuQ0RLX0lOVEVHX0FUTU9TUEhFUkVfUE9PTDtcbiAgaWYgKCF2YWx1ZSkge1xuICAgIHRocm93IG5ldyBFcnJvcignQ0RLX0lOVEVHX0FUTU9TUEhFUkVfUE9PTCBpcyBub3QgZGVmaW5lZCcpO1xuICB9XG4gIHJldHVybiB2YWx1ZTtcbn1cblxuZXhwb3J0IHR5cGUgQXdzQ29udGV4dCA9IHsgcmVhZG9ubHkgYXdzOiBBd3NDbGllbnRzIH07XG5cbi8qKlxuICogSGlnaGVyIG9yZGVyIGZ1bmN0aW9uIHRvIGV4ZWN1dGUgYSBibG9jayB3aXRoIGFuIEFXUyBjbGllbnQgc2V0dXBcbiAqXG4gKiBBbGxvY2F0ZSB0aGUgbmV4dCByZWdpb24gZnJvbSB0aGUgUkVHSU9OIHBvb2wgYW5kIGRpc3Bvc2UgaXQgYWZ0ZXJ3YXJkcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHdpdGhBd3M8QSBleHRlbmRzIFRlc3RDb250ZXh0PihcbiAgYmxvY2s6IChjb250ZXh0OiBBICYgQXdzQ29udGV4dCAmIERpc2FibGVCb290c3RyYXBDb250ZXh0KSA9PiBQcm9taXNlPHZvaWQ+LFxuICBkaXNhYmxlQm9vdHN0cmFwOiBib29sZWFuID0gZmFsc2UsXG4pOiAoY29udGV4dDogQSkgPT4gUHJvbWlzZTx2b2lkPiB7XG4gIHJldHVybiBhc3luYyAoY29udGV4dDogQSkgPT4ge1xuICAgIGlmIChhdG1vc3BoZXJlRW5hYmxlZCgpKSB7XG4gICAgICBjb25zdCBhdG1vc3BoZXJlID0gbmV3IEF0bW9zcGhlcmVDbGllbnQoYXRtb3NwaGVyZUVuZHBvaW50KCkpO1xuICAgICAgY29uc3QgYWxsb2NhdGlvbiA9IGF3YWl0IGF0bW9zcGhlcmUuYWNxdWlyZSh7IHBvb2w6IGF0bW9zcGhlcmVQb29sKCksIHJlcXVlc3RlcjogY29udGV4dC5uYW1lIH0pO1xuICAgICAgY29uc3QgYXdzID0gYXdhaXQgQXdzQ2xpZW50cy5mb3JJZGVudGl0eShhbGxvY2F0aW9uLmVudmlyb25tZW50LnJlZ2lvbiwge1xuICAgICAgICBhY2Nlc3NLZXlJZDogYWxsb2NhdGlvbi5jcmVkZW50aWFscy5hY2Nlc3NLZXlJZCxcbiAgICAgICAgc2VjcmV0QWNjZXNzS2V5OiBhbGxvY2F0aW9uLmNyZWRlbnRpYWxzLnNlY3JldEFjY2Vzc0tleSxcbiAgICAgICAgc2Vzc2lvblRva2VuOiBhbGxvY2F0aW9uLmNyZWRlbnRpYWxzLnNlc3Npb25Ub2tlbixcbiAgICAgICAgYWNjb3VudElkOiBhbGxvY2F0aW9uLmVudmlyb25tZW50LmFjY291bnQsXG4gICAgICB9LCBjb250ZXh0Lm91dHB1dCk7XG5cbiAgICAgIGF3YWl0IHNhbml0eUNoZWNrKGF3cyk7XG5cbiAgICAgIGxldCBvdXRjb21lID0gJ3N1Y2Nlc3MnO1xuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IGJsb2NrKHsgLi4uY29udGV4dCwgZGlzYWJsZUJvb3RzdHJhcCwgYXdzIH0pO1xuICAgICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICAgIG91dGNvbWUgPSAnZmFpbHVyZSc7XG4gICAgICAgIHRocm93IGU7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBhd2FpdCBhdG1vc3BoZXJlLnJlbGVhc2UoYWxsb2NhdGlvbi5pZCwgb3V0Y29tZSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiByZWdpb25Qb29sKCkudXNpbmcoYXN5bmMgKHJlZ2lvbikgPT4ge1xuICAgICAgICBjb25zdCBhd3MgPSBhd2FpdCBBd3NDbGllbnRzLmZvclJlZ2lvbihyZWdpb24sIGNvbnRleHQub3V0cHV0KTtcbiAgICAgICAgYXdhaXQgc2FuaXR5Q2hlY2soYXdzKTtcblxuICAgICAgICByZXR1cm4gYmxvY2soeyAuLi5jb250ZXh0LCBkaXNhYmxlQm9vdHN0cmFwLCBhd3MgfSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH07XG59XG5cbmxldCBfcmVnaW9uUG9vbDogdW5kZWZpbmVkIHwgUmVzb3VyY2VQb29sO1xuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lvblBvb2woKTogUmVzb3VyY2VQb29sIHtcbiAgaWYgKF9yZWdpb25Qb29sICE9PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gX3JlZ2lvblBvb2w7XG4gIH1cblxuICBjb25zdCBSRUdJT05TID0gcHJvY2Vzcy5lbnYuQVdTX1JFR0lPTlNcbiAgICA/IHByb2Nlc3MuZW52LkFXU19SRUdJT05TLnNwbGl0KCcsJylcbiAgICA6IFtwcm9jZXNzLmVudi5BV1NfUkVHSU9OID8/IHByb2Nlc3MuZW52LkFXU19ERUZBVUxUX1JFR0lPTiA/PyAndXMtZWFzdC0xJ107XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgY29uc29sZS5sb2coYFVzaW5nIHJlZ2lvbnM6ICR7UkVHSU9OU31cXG5gKTtcblxuICBfcmVnaW9uUG9vbCA9IFJlc291cmNlUG9vbC53aXRoUmVzb3VyY2VzKCdhd3NfcmVnaW9ucycsIFJFR0lPTlMpO1xuICByZXR1cm4gX3JlZ2lvblBvb2w7XG59XG5cbi8qKlxuICogUGVyZm9ybSBhIG9uZS10aW1lIHF1aWNrIHNhbml0eSBjaGVjayB0aGF0IHRoZSBBV1MgY2xpZW50cyBoYXZlIHByb3Blcmx5IGNvbmZpZ3VyZWQgY3JlZGVudGlhbHNcbiAqXG4gKiBJZiB3ZSBkb24ndCBkbyB0aGlzLCBjYWxscyBhcmUgZ29pbmcgdG8gZmFpbCBhbmQgdGhleSdsbCBiZSByZXRyaWVkIGFuZCBldmVyeXRoaW5nIHdpbGwgdGFrZVxuICogZm9yZXZlciBiZWZvcmUgdGhlIHVzZXIgbm90aWNlcyBhIHNpbXBsZSBtaXNjb25maWd1cmF0aW9uLlxuICpcbiAqIFdlIGNhbid0IGNoZWNrIGZvciB0aGUgcHJlc2VuY2Ugb2YgZW52aXJvbm1lbnQgdmFyaWFibGVzIHNpbmNlIGNyZWRlbnRpYWxzIGNvdWxkIGNvbWUgZnJvbVxuICogYW55d2hlcmUsIHNvIGRvIHNpbXBsZSBhY2NvdW50IHJldHJpZXZhbC5cbiAqXG4gKiBPbmx5IGRvIGl0IG9uY2UgcGVyIHByb2Nlc3MuXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIHNhbml0eUNoZWNrKGF3czogQXdzQ2xpZW50cykge1xuICBpZiAoc2FuaXR5Q2hlY2tlZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IGF3cy5hY2NvdW50KCk7XG4gICAgICBzYW5pdHlDaGVja2VkID0gdHJ1ZTtcbiAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgIHNhbml0eUNoZWNrZWQgPSBmYWxzZTtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQVdTIGNyZWRlbnRpYWxzIHByb2JhYmx5IG5vdCBjb25maWd1cmVkLCBnb3QgZXJyb3I6ICR7ZS5tZXNzYWdlfWApO1xuICAgIH1cbiAgfVxuICBpZiAoIXNhbml0eUNoZWNrZWQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0FXUyBjcmVkZW50aWFscyBwcm9iYWJseSBub3QgY29uZmlndXJlZCwgc2VlIHByZXZpb3VzIGVycm9yJyk7XG4gIH1cbn1cbmxldCBzYW5pdHlDaGVja2VkOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuIl19
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1hd3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ3aXRoLWF3cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQU1BLDhDQUdDO0FBRUQsZ0RBTUM7QUFFRCx3Q0FNQztBQVNELDBCQW1DQztBQUdELGdDQVdDO0FBbkZELDBFQUFrRTtBQUNsRSwrQkFBbUM7QUFFbkMsbURBQStDO0FBRy9DLFNBQWdCLGlCQUFpQjtJQUMvQixNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLDRCQUE0QixDQUFDO0lBQ3pELE9BQU8sT0FBTyxLQUFLLE1BQU0sSUFBSSxPQUFPLEtBQUssR0FBRyxDQUFDO0FBQy9DLENBQUM7QUFFRCxTQUFnQixrQkFBa0I7SUFDaEMsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQztJQUN4RCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDWCxNQUFNLElBQUksS0FBSyxDQUFDLDhDQUE4QyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQUVELFNBQWdCLGNBQWM7SUFDNUIsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsQ0FBQztJQUNwRCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDWCxNQUFNLElBQUksS0FBSyxDQUFDLDBDQUEwQyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQUlEOzs7O0dBSUc7QUFDSCxTQUFnQixPQUFPLENBQ3JCLEtBQTJFLEVBQzNFLG1CQUE0QixLQUFLO0lBRWpDLE9BQU8sS0FBSyxFQUFFLE9BQVUsRUFBRSxFQUFFO1FBQzFCLElBQUksaUJBQWlCLEVBQUUsRUFBRSxDQUFDO1lBQ3hCLE1BQU0sVUFBVSxHQUFHLElBQUksd0NBQWdCLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDO1lBQzlELE1BQU0sVUFB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QyxhQUFhLEVBQUUsQ0FBQztRQUNuQixNQUFNLElBQUksS0FBSyxDQUFDLDZEQUE2RCxDQUFDLENBQUM7SUFDakYsQ0FBQztBQUNILENBQUM7QUFDRCxJQUFJLGFBQWtDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBdG1vc3BoZXJlQ2xpZW50IH0gZnJvbSAnQGNka2xhYnMvY2RrLWF0bW9zcGhlcmUtY2xpZW50JztcbmltcG9ydCB7IEF3c0NsaWVudHMgfSBmcm9tICcuL2F3cyc7XG5pbXBvcnQgeyBUZXN0Q29udGV4dCB9IGZyb20gJy4vaW50ZWctdGVzdCc7XG5pbXBvcnQgeyBSZXNvdXJjZVBvb2wgfSBmcm9tICcuL3Jlc291cmNlLXBvb2wnO1xuaW1wb3J0IHsgRGlzYWJsZUJvb3RzdHJhcENvbnRleHQgfSBmcm9tICcuL3dpdGgtY2RrLWFwcCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBhdG1vc3BoZXJlRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgY29uc3QgZW5hYmxlZCA9IHByb2Nlc3MuZW52LkNES19JTlRFR19BVE1PU1BIRVJFX0VOQUJMRUQ7XG4gIHJldHVybiBlbmFibGVkID09PSAndHJ1ZScgfHwgZW5hYmxlZCA9PT0gJzEnO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXRtb3NwaGVyZUVuZHBvaW50KCk6IHN0cmluZyB7XG4gIGNvbnN0IHZhbHVlID0gcHJvY2Vzcy5lbnYuQ0RLX0lOVEVHX0FUTU9TUEhFUkVfRU5EUE9JTlQ7XG4gIGlmICghdmFsdWUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0NES19JTlRFR19BVE1PU1BIRVJFX0VORFBPSU5UIGlzIG5vdCBkZWZpbmVkJyk7XG4gIH1cbiAgcmV0dXJuIHZhbHVlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXRtb3NwaGVyZVBvb2woKSB7XG4gIGNvbnN0IHZhbHVlID0gcHJvY2Vzcy5lbnYuQ0RLX0lOVEVHX0FUTU9TUEhFUkVfUE9PTDtcbiAgaWYgKCF2YWx1ZSkge1xuICAgIHRocm93IG5ldyBFcnJvcignQ0RLX0lOVEVHX0FUTU9TUEhFUkVfUE9PTCBpcyBub3QgZGVmaW5lZCcpO1xuICB9XG4gIHJldHVybiB2YWx1ZTtcbn1cblxuZXhwb3J0IHR5cGUgQXdzQ29udGV4dCA9IHsgcmVhZG9ubHkgYXdzOiBBd3NDbGllbnRzIH07XG5cbi8qKlxuICogSGlnaGVyIG9yZGVyIGZ1bmN0aW9uIHRvIGV4ZWN1dGUgYSBibG9jayB3aXRoIGFuIEFXUyBjbGllbnQgc2V0dXBcbiAqXG4gKiBBbGxvY2F0ZSB0aGUgbmV4dCByZWdpb24gZnJvbSB0aGUgUkVHSU9OIHBvb2wgYW5kIGRpc3Bvc2UgaXQgYWZ0ZXJ3YXJkcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHdpdGhBd3M8QSBleHRlbmRzIFRlc3RDb250ZXh0PihcbiAgYmxvY2s6IChjb250ZXh0OiBBICYgQXdzQ29udGV4dCAmIERpc2FibGVCb290c3RyYXBDb250ZXh0KSA9PiBQcm9taXNlPHZvaWQ+LFxuICBkaXNhYmxlQm9vdHN0cmFwOiBib29sZWFuID0gZmFsc2UsXG4pOiAoY29udGV4dDogQSkgPT4gUHJvbWlzZTx2b2lkPiB7XG4gIHJldHVybiBhc3luYyAoY29udGV4dDogQSkgPT4ge1xuICAgIGlmIChhdG1vc3BoZXJlRW5hYmxlZCgpKSB7XG4gICAgICBjb25zdCBhdG1vc3BoZXJlID0gbmV3IEF0bW9zcGhlcmVDbGllbnQoYXRtb3NwaGVyZUVuZHBvaW50KCkpO1xuICAgICAgY29uc3QgYWxsb2NhdGlvbiA9IGF3YWl0IGF0bW9zcGhlcmUuYWNxdWlyZSh7IHBvb2w6IGF0bW9zcGhlcmVQb29sKCksIHJlcXVlc3RlcjogY29udGV4dC5uYW1lIH0pO1xuICAgICAgY29uc3QgYXdzID0gYXdhaXQgQXdzQ2xpZW50cy5mb3JJZGVudGl0eShhbGxvY2F0aW9uLmVudmlyb25tZW50LnJlZ2lvbiwge1xuICAgICAgICBhY2Nlc3NLZXlJZDogYWxsb2NhdGlvbi5jcmVkZW50aWFscy5hY2Nlc3NLZXlJZCxcbiAgICAgICAgc2VjcmV0QWNjZXNzS2V5OiBhbGxvY2F0aW9uLmNyZWRlbnRpYWxzLnNlY3JldEFjY2Vzc0tleSxcbiAgICAgICAgc2Vzc2lvblRva2VuOiBhbGxvY2F0aW9uLmNyZWRlbnRpYWxzLnNlc3Npb25Ub2tlbixcbiAgICAgICAgYWNjb3VudElkOiBhbGxvY2F0aW9uLmVudmlyb25tZW50LmFjY291bnQsXG4gICAgICB9LCBjb250ZXh0Lm91dHB1dCk7XG5cbiAgICAgIGF3YWl0IHNhbml0eUNoZWNrKGF3cyk7XG5cbiAgICAgIGxldCBvdXRjb21lID0gJ3N1Y2Nlc3MnO1xuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IGJsb2NrKHsgLi4uY29udGV4dCwgZGlzYWJsZUJvb3RzdHJhcCwgYXdzIH0pO1xuICAgICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICAgIG91dGNvbWUgPSAnZmFpbHVyZSc7XG4gICAgICAgIHRocm93IGU7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBhd2FpdCBhdG1vc3BoZXJlLnJlbGVhc2UoYWxsb2NhdGlvbi5pZCwgb3V0Y29tZSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiByZWdpb25Qb29sKCkudXNpbmcoYXN5bmMgKHJlZ2lvbikgPT4ge1xuICAgICAgICBjb25zdCBhd3MgPSBhd2FpdCBBd3NDbGllbnRzLmZvclJlZ2lvbihyZWdpb24sIGNvbnRleHQub3V0cHV0KTtcbiAgICAgICAgYXdhaXQgc2FuaXR5Q2hlY2soYXdzKTtcblxuICAgICAgICByZXR1cm4gYmxvY2soeyAuLi5jb250ZXh0LCBkaXNhYmxlQm9vdHN0cmFwLCBhd3MgfSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH07XG59XG5cbmxldCBfcmVnaW9uUG9vbDogdW5kZWZpbmVkIHwgUmVzb3VyY2VQb29sO1xuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lvblBvb2woKTogUmVzb3VyY2VQb29sIHtcbiAgaWYgKF9yZWdpb25Qb29sICE9PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gX3JlZ2lvblBvb2w7XG4gIH1cblxuICBjb25zdCBSRUdJT05TID0gcHJvY2Vzcy5lbnYuQVdTX1JFR0lPTlNcbiAgICA/IHByb2Nlc3MuZW52LkFXU19SRUdJT05TLnNwbGl0KCcsJylcbiAgICA6IFtwcm9jZXNzLmVudi5BV1NfUkVHSU9OID8/IHByb2Nlc3MuZW52LkFXU19ERUZBVUxUX1JFR0lPTiA/PyAndXMtZWFzdC0xJ107XG5cbiAgX3JlZ2lvblBvb2wgPSBSZXNvdXJjZVBvb2wud2l0aFJlc291cmNlcygnYXdzX3JlZ2lvbnMnLCBSRUdJT05TKTtcbiAgcmV0dXJuIF9yZWdpb25Qb29sO1xufVxuXG4vKipcbiAqIFBlcmZvcm0gYSBvbmUtdGltZSBxdWljayBzYW5pdHkgY2hlY2sgdGhhdCB0aGUgQVdTIGNsaWVudHMgaGF2ZSBwcm9wZXJseSBjb25maWd1cmVkIGNyZWRlbnRpYWxzXG4gKlxuICogSWYgd2UgZG9uJ3QgZG8gdGhpcywgY2FsbHMgYXJlIGdvaW5nIHRvIGZhaWwgYW5kIHRoZXknbGwgYmUgcmV0cmllZCBhbmQgZXZlcnl0aGluZyB3aWxsIHRha2VcbiAqIGZvcmV2ZXIgYmVmb3JlIHRoZSB1c2VyIG5vdGljZXMgYSBzaW1wbGUgbWlzY29uZmlndXJhdGlvbi5cbiAqXG4gKiBXZSBjYW4ndCBjaGVjayBmb3IgdGhlIHByZXNlbmNlIG9mIGVudmlyb25tZW50IHZhcmlhYmxlcyBzaW5jZSBjcmVkZW50aWFscyBjb3VsZCBjb21lIGZyb21cbiAqIGFueXdoZXJlLCBzbyBkbyBzaW1wbGUgYWNjb3VudCByZXRyaWV2YWwuXG4gKlxuICogT25seSBkbyBpdCBvbmNlIHBlciBwcm9jZXNzLlxuICovXG5hc3luYyBmdW5jdGlvbiBzYW5pdHlDaGVjayhhd3M6IEF3c0NsaWVudHMpIHtcbiAgaWYgKHNhbml0eUNoZWNrZWQgPT09IHVuZGVmaW5lZCkge1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCBhd3MuYWNjb3VudCgpO1xuICAgICAgc2FuaXR5Q2hlY2tlZCA9IHRydWU7XG4gICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICBzYW5pdHlDaGVja2VkID0gZmFsc2U7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEFXUyBjcmVkZW50aWFscyBwcm9iYWJseSBub3QgY29uZmlndXJlZCwgZ290IGVycm9yOiAke2UubWVzc2FnZX1gKTtcbiAgICB9XG4gIH1cbiAgaWYgKCFzYW5pdHlDaGVja2VkKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdBV1MgY3JlZGVudGlhbHMgcHJvYmFibHkgbm90IGNvbmZpZ3VyZWQsIHNlZSBwcmV2aW91cyBlcnJvcicpO1xuICB9XG59XG5sZXQgc2FuaXR5Q2hlY2tlZDogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiJdfQ==
package/lib/with-aws.ts CHANGED
@@ -79,9 +79,6 @@ export function regionPool(): ResourcePool {
79
79
  ? process.env.AWS_REGIONS.split(',')
80
80
  : [process.env.AWS_REGION ?? process.env.AWS_DEFAULT_REGION ?? 'us-east-1'];
81
81
 
82
- // eslint-disable-next-line no-console
83
- console.log(`Using regions: ${REGIONS}\n`);
84
-
85
82
  _regionPool = ResourcePool.withResources('aws_regions', REGIONS);
86
83
  return _regionPool;
87
84
  }
@@ -118,6 +118,7 @@ class CliLibIntegrationTestFixture extends with_cdk_app_1.TestFixture {
118
118
  __EOS__`], {
119
119
  ...options,
120
120
  modEnv: {
121
+ ...this.cdkShellEnv(),
121
122
  AWS_REGION: this.aws.region,
122
123
  AWS_DEFAULT_REGION: this.aws.region,
123
124
  STACK_NAME_PREFIX: this.stackNamePrefix,
@@ -130,4 +131,4 @@ __EOS__`], {
130
131
  }
131
132
  }
132
133
  exports.CliLibIntegrationTestFixture = CliLibIntegrationTestFixture;
133
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1jbGktbGliLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsid2l0aC1jbGktbGliLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQVdBLGtFQStEQztBQWtDRCw4Q0FFQztBQTlHRCx5QkFBeUI7QUFDekIsNkJBQTZCO0FBRTdCLDJDQUE0QztBQUM1Qyx5Q0FBaUQ7QUFDakQsaURBQXFLO0FBQ3JLLGlEQUE2QztBQUU3Qzs7R0FFRztBQUNILFNBQWdCLDJCQUEyQixDQUN6QyxLQUErRDtJQUMvRCxPQUFPLEtBQUssRUFBRSxPQUFVLEVBQUUsRUFBRTtRQUMxQixNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDO1FBQ25DLE1BQU0sZUFBZSxHQUFHLFdBQVcsS0FBSyxFQUFFLENBQUM7UUFDM0MsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUUsYUFBYSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBRWxFLE9BQU8sQ0FBQyxHQUFHLENBQUMsb0JBQW9CLGVBQWUsSUFBSSxDQUFDLENBQUM7UUFDckQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsWUFBWSxJQUFJLENBQUMsQ0FBQztRQUNsRCxPQUFPLENBQUMsR0FBRyxDQUFDLG9CQUFvQixPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUM7UUFFeEQsTUFBTSxJQUFBLDZCQUFjLEVBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyx5QkFBYSxFQUFFLFVBQVUsRUFBRSxZQUFZLENBQUMsRUFBRSxZQUFZLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZHLE1BQU0sT0FBTyxHQUFHLElBQUksNEJBQTRCLENBQzlDLFlBQVksRUFDWixlQUFlLEVBQ2YsT0FBTyxDQUFDLE1BQU0sRUFDZCxPQUFPLENBQUMsR0FBRyxFQUNYLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUV4QixJQUFJLE9BQU8s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LEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRTFCLE1BQU0sT0FBTyxHQUF3QjtZQUNuQyxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTO1NBQzVDLENBQUM7UUFFRixJQUFJLE1BQU0sS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUN4QixPQUFPLENBQUMsZUFBZSxHQUFHLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUM7UUFDbEYsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sRUFBRSxxQkFBcUIsRUFBRTs7OztrQkFJcEMsTUFBTSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDO1FBQzNDLENBQUMsRUFBRTtZQUNMLEdBQUcsT0FBTztZQUNWLE1BQU0sRUFBRTtnQkFDTixVQUFVLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNO2dCQUMzQixrQkFBa0IsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU07Z0JBQ25DLGlCQUFpQixFQUFFLElBQUksQ0FBQyxlQUFlO2dCQUN2QyxzQkFBc0IsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRTtnQkFDcEQsd0VBQXdFO2dCQUN4RSxFQUFFLEVBQUUsT0FBTztnQkFDWCxHQUFHLE9BQU8sQ0FBQyxNQUFNO2FBQ2xCO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBbENELG9FQWtDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIG9zIGZyb20gJ29zJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBUZXN0Q29udGV4dCB9IGZyb20gJy4vaW50ZWctdGVzdCc7XG5pbXBvcnQgeyBSRVNPVVJDRVNfRElSIH0gZnJvbSAnLi9yZXNvdXJjZXMnO1xuaW1wb3J0IHsgQXdzQ29udGV4dCwgd2l0aEF3cyB9IGZyb20gJy4vd2l0aC1hd3MnO1xuaW1wb3J0IHsgY2xvbmVEaXJlY3RvcnksIGluc3RhbGxOcG1QYWNrYWdlcywgVGVzdEZpeHR1cmUsIERFRkFVTFRfVEVTVF9USU1FT1VUX1MsIENka0NsaU9wdGlvbnMsIERpc2FibGVCb290c3RyYXBDb250ZXh0LCBlbnN1cmVCb290c3RyYXBwZWQgfSBmcm9tICcuL3dpdGgtY2RrLWFwcCc7XG5pbXBvcnQgeyB3aXRoVGltZW91dCB9IGZyb20gJy4vd2l0aC10aW1lb3V0JztcblxuLyoqXG4gKiBIaWdoZXIgb3JkZXIgZnVuY3Rpb24gdG8gZXhlY3V0ZSBhIGJsb2NrIHdpdGggYSBDbGlMaWIgSW50ZWdyYXRpb24gQ0RLIGFwcCBmaXh0dXJlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB3aXRoQ2xpTGliSW50ZWdyYXRpb25DZGtBcHA8QSBleHRlbmRzIFRlc3RDb250ZXh0ICYgQXdzQ29udGV4dCAmIERpc2FibGVCb290c3RyYXBDb250ZXh0PihcbiAgYmxvY2s6IChjb250ZXh0OiBDbGlMaWJJbnRlZ3JhdGlvblRlc3RGaXh0dXJlKSA9PiBQcm9taXNlPHZvaWQ+KSB7XG4gIHJldHVybiBhc3luYyAoY29udGV4dDogQSkgPT4ge1xuICAgIGNvbnN0IHJhbmR5ID0gY29udGV4dC5yYW5kb21TdHJpbmc7XG4gICAgY29uc3Qgc3RhY2tOYW1lUHJlZml4ID0gYGNka3Rlc3QtJHtyYW5keX1gO1xuICAgIGNvbnN0IGludGVnVGVzdERpciA9IHBhdGguam9pbihvcy50bXBkaXIoKSwgYGNkay1pbnRlZy0ke3JhbmR5fWApO1xuXG4gICAgY29udGV4dC5sb2coYCBTdGFjayBwcmVmaXg6ICAgJHtzdGFja05hbWVQcmVmaXh9XFxuYCk7XG4gICAgY29udGV4dC5sb2coYCBUZXN0IGRpcmVjdG9yeTogJHtpbnRlZ1Rlc3REaXJ9XFxuYCk7XG4gICAgY29udGV4dC5sb2coYCBSZWdpb246ICAgICAgICAgJHtjb250ZXh0LmF3cy5yZWdpb259XFxuYCk7XG5cbiAgICBhd2FpdCBjbG9uZURpcmVjdG9yeShwYXRoLmpvaW4oUkVTT1VSQ0VTX0RJUiwgJ2Nkay1hcHBzJywgJ3NpbXBsZS1hcHAnKSwgaW50ZWdUZXN0RGlyLCBjb250ZXh0Lm91dHB1dCk7XG4gICAgY29uc3QgZml4dHVyZSA9IG5ldyBDbGlMaWJJbnRlZ3JhdGlvblRlc3RGaXh0dXJlKFxuICAgICAgaW50ZWdUZXN0RGlyLFxuICAgICAgc3RhY2tOYW1lUHJlZml4LFxuICAgICAgY29udGV4dC5vdXRwdXQsXG4gICAgICBjb250ZXh0LmF3cyxcbiAgICAgIGNvbnRleHQucmFuZG9tU3RyaW5nKTtcblxuICAgIGxldCBzdWNjZXNzID0gdHJ1ZTtcbiAgICB0cnkge1xuICAgICAgY29uc3QgaW5zdGFsbGF0aW9uVmVyc2lvbiA9IGZpeHR1cmUucGFja2FnZXMucmVxdWVzdGVkRnJhbWV3b3JrVmVyc2lvbigpO1xuXG4gICAgICBpZiAoZml4dHVyZS5wYWNrYWdlcy5tYWpvclZlcnNpb24oKSA9PT0gJzEnKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVGhpcyB0ZXN0IHN1aXRlIGlzIG9ubHkgY29tcGF0aWJsZSB3aXRoIEFXUyBDREsgdjInKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgYWxwaGFJbnN0YWxsYXRpb25WZXJzaW9uID0gZml4dHVyZS5wYWNrYWdlcy5yZXF1ZXN0ZWRBbHBoYVZlcnNpb24oKTtcblxuICAgICAgLy8gY2xpLWxpYi1hbHBoYSBoYXMgYSBtYWdpYyBhbHBoYSB2ZXJzaW9uIGluIHRoZSBvbGQgcmVsZWFzZSBwaXBlbGluZSxcbiAgICAgIC8vIGJ1dCB3aWxsIGp1c3QgbWlycm9yIHRoZSBDTEkgdmVyc2lvbiBpbiB0aGUgbmV3IHBpcGVsaW5lLlxuICAgICAgY29uc3QgY2xpTGliVmVyc2lvbiA9IHByb2Nlc3MuZW52LkNMSV9MSUJfVkVSU0lPTl9NSVJST1JTX0NMSVxuICAgICAgICA/IGAke2ZpeHR1cmUucGFja2FnZXMucmVxdWVzdGVkQ2xpVmVyc2lvbigpfS1hbHBoYS4wYFxuICAgICAgICA6IGFscGhhSW5zdGFsbGF0aW9uVmVyc2lvbjtcblxuICAgICAgYXdhaXQgaW5zdGFsbE5wbVBhY2thZ2VzKGZpeHR1cmUsIHtcbiAgICAgICAgJ2F3cy1jZGstbGliJzogaW5zdGFsbGF0aW9uVmVyc2lvbixcbiAgICAgICAgJ0Bhd3MtY2RrL2NsaS1saWItYWxwaGEnOiBjbGlMaWJWZXJzaW9uLFxuICAgICAgICAnQGF3cy1jZGsvYXdzLWxhbWJkYS1nby1hbHBoYSc6IGFscGhhSW5zdGFsbGF0aW9uVmVyc2lvbixcbiAgICAgICAgJ0Bhd3MtY2RrL2F3cy1sYW1iZGEtcHl0aG9uLWFscGhhJzogYWxwaGFJbnN0YWxsYXRpb25WZXJzaW9uLFxuICAgICAgICAnY29uc3RydWN0cyc6ICdeMTAnLFxuICAgICAgfSk7XG5cbiAgICAgIGlmICghY29udGV4dC5kaXNhYmxlQm9vdHN0cmFwKSB7XG4gICAgICAgIGF3YWl0IGVuc3VyZUJvb3RzdHJhcHBlZChmaXh0dXJlKTtcbiAgICAgIH1cblxuICAgICAgYXdhaXQgYmxvY2soZml4dHVyZSk7XG4gICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICAvLyBXZSBzdXJ2aXZlIGNlcnRhaW4gY2FzZXMgaW52b2x2aW5nIGdvcGtnLmluXG4gICAgICBpZiAoZXJyb3JDYXVzZWRCeUdvUGtnKGUubWVzc2FnZSkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgc3VjY2VzcyA9IGZhbHNlO1xuICAgICAgdGhyb3cgZTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgaWYgKHByb2Nlc3MuZW52LklOVEVHX05PX0NMRUFOKSB7XG4gICAgICAgIGNvbnRleHQubG9nKGBMZWZ0IHRlc3QgZGlyZWN0b3J5IGluICcke2ludGVnVGVzdERpcn0nICgkSU5URUdfTk9fQ0xFQU4pXFxuYCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhd2FpdCBmaXh0dXJlLmRpc3Bvc2Uoc3VjY2Vzcyk7XG4gICAgICB9XG4gICAgfVxuICB9O1xufVxuXG4vKipcbiAqIFJldHVybiB3aGV0aGVyIG9yIG5vdCB0aGUgZXJyb3IgaXMgYmVpbmcgY2F1c2VkIGJ5IGdvcGtnLmluIGJlaW5nIGRvd25cbiAqXG4gKiBPdXIgR28gYnVpbGQgZGVwZW5kcyBvbiBodHRwczovL2dvcGtnLmluLywgd2hpY2ggaGFzIGVycm9ycyBwcmV0dHkgb2Z0ZW5cbiAqIChldmVyeSBjb3VwbGUgb2YgZGF5cykuIEl0IGlzIHJ1biBieSBhIHNpbmdsZSB2b2x1bnRlZXIuXG4gKi9cbmZ1bmN0aW9uIGVycm9yQ2F1c2VkQnlHb1BrZyhlcnJvcjogc3RyaW5nKSB7XG4gIC8vIFRoZSBlcnJvciBpcyBkaWZmZXJlbnQgZGVwZW5kaW5nIG9uIHdoYXQgcmVxdWVzdCBmYWlscy4gTWVzc2FnZXMgcmVjb2duaXplZDpcbiAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgLy8gICAgZ286IGdpdGh1Yi5jb20vYXdzL2F3cy1sYW1iZGEtZ29AdjEuMjguMCByZXF1aXJlc1xuICAvLyAgICAgICAgZ29wa2cuaW4veWFtbC52M0B2My4wLjAtMjAyMDA2MTUxMTM0MTMtZWVlY2E0OGZlNzc2OiBpbnZhbGlkIHZlcnNpb246IGdpdCBscy1yZW1vdGUgLXEgb3JpZ2luIGluIC9nby9wa2cvbW9kL2NhY2hlL3Zjcy8wOTAxZGMxZWY2N2ZjY2UxYzliM2FlNTEwNzg3NDBkZTRhMGUyZGM2NzNlNzIwNTg0YWMzMDI5NzNhZjgyZjM2OiBleGl0IHN0YXR1cyAxMjg6XG4gIC8vICAgICAgICByZW1vdGU6IENhbm5vdCBvYnRhaW4gcmVmcyBmcm9tIEdpdEh1YjogY2Fubm90IHRhbGsgdG8gR2l0SHViOiBHZXQgaHR0cHM6Ly9naXRodWIuY29tL2dvLXlhbWwveWFtbC5naXQvaW5mby9yZWZzP3NlcnZpY2U9Z2l0LXVwbG9hZC1wYWNrOiBuZXQvaHR0cDogcmVxdWVzdCBjYW5jZWxlZCAoQ2xpZW50LlRpbWVvdXQgZXhjZWVkZWQgd2hpbGUgYXdhaXRpbmcgaGVhZGVycylcbiAgLy8gICAgICAgIGZhdGFsOiB1bmFibGUgdG8gYWNjZXNzICdodHRwczovL2dvcGtnLmluL3lhbWwudjMvJzogVGhlIHJlcXVlc3RlZCBVUkwgcmV0dXJuZWQgZXJyb3I6IDUwMlxuICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAvLyAgICBnbzogZG93bmxvYWRpbmcgZ2l0aHViLmNvbS9hd3MvYXdzLWxhbWJkYS1nbyB2MS4yOC4wXG4gIC8vICAgIGdvOiBnaXRodWIuY29tL2F3cy9hd3MtbGFtYmRhLWdvQHYxLjI4LjAgcmVxdWlyZXNcbiAgLy8gICAgICAgIGdvcGtnLmluL3lhbWwudjNAdjMuMC4wLTIwMjAwNjE1MTEzNDEzLWVlZWNhNDhmZTc3NjogdW5yZWNvZ25pemVkIGltcG9ydCBwYXRoIFwiZ29wa2cuaW4veWFtbC52M1wiOiByZWFkaW5nIGh0dHBzOi8vZ29wa2cuaW4veWFtbC52Mz9nby1nZXQ9MTogNTAyIEJhZCBHYXRld2F5XG4gIC8vICAgICAgICBzZXJ2ZXIgcmVzcG9uc2U6IENhbm5vdCBvYnRhaW4gcmVmcyBmcm9tIEdpdEh1YjogY2Fubm90IHRhbGsgdG8gR2l0SHViOiBHZXQgaHR0cHM6Ly9naXRodWIuY29tL2dvLXlhbWwveWFtbC5naXQvaW5mby9yZWZzP3NlcnZpY2U9Z2l0LXVwbG9hZC1wYWNrOiBuZXQvaHR0cDogcmVxdWVzdCBjYW5jZWxlZCAoQ2xpZW50LlRpbWVvdXQgZXhjZWVkZWQgd2hpbGUgYXdhaXRpbmcgaGVhZGVycylcbiAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgLy8gICAgZ286IGdpdGh1Yi5jb20vYXdzL2F3cy1sYW1iZGEtZ29AdjEuMjguMCByZXF1aXJlc1xuICAvLyAgICAgICAgZ29wa2cuaW4veWFtbC52M0B2My4wLjAtMjAyMDA2MTUxMTM0MTMtZWVlY2E0OGZlNzc2OiBpbnZhbGlkIHZlcnNpb246IGdpdCBmZXRjaCAtZiBvcmlnaW4gcmVmcy9oZWFkcy8qOnJlZnMvaGVhZHMvKiByZWZzL3RhZ3MvKjpyZWZzL3RhZ3MvKiBpbiAvZ28vcGtnL21vZC9jYWNoZS92Y3MvMDkwMWRjMWVmNjdmY2NlMWM5YjNhZTUxMDc4NzQwZGU0YTBlMmRjNjczZTcyMDU4NGFjMzAyOTczYWY4MmYzNjogZXhpdCBzdGF0dXMgMTI4OlxuICAvLyAgICAgICAgZXJyb3I6IFJQQyBmYWlsZWQ7IEhUVFAgNTAyIGN1cmwgMjIgVGhlIHJlcXVlc3RlZCBVUkwgcmV0dXJuZWQgZXJyb3I6IDUwMlxuICAvLyAgICAgICAgZmF0YWw6IHRoZSByZW1vdGUgZW5kIGh1bmcgdXAgdW5leHBlY3RlZGx5XG4gIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgcmV0dXJuIChlcnJvci5pbmNsdWRlcygnZ29wa2dcXC5pbi4qaW52YWxpZCB2ZXJzaW9uLipleGl0IHN0YXR1cyAxMjgnKVxuICAgIHx8IGVycm9yLm1hdGNoKC91bnJlY29nbml6ZWQgaW1wb3J0IHBhdGhbXlxcbl1nb3BrZ1xcLmluLykpO1xufVxuXG4vKipcbiAqIFNBTSBJbnRlZ3JhdGlvbiB0ZXN0IGZpeHR1cmUgZm9yIENESyAtIFNBTSBpbnRlZ3JhdGlvbiB0ZXN0IGNhc2VzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB3aXRoQ2xpTGliRml4dHVyZShibG9jazogKGNvbnRleHQ6IENsaUxpYkludGVncmF0aW9uVGVzdEZpeHR1cmUpID0+IFByb21pc2U8dm9pZD4pIHtcbiAgcmV0dXJuIHdpdGhBd3Mod2l0aFRpbWVvdXQoREVGQVVMVF9URVNUX1RJTUVPVVRfUywgd2l0aENsaUxpYkludGVncmF0aW9uQ2RrQXBwKGJsb2NrKSkpO1xufVxuXG5leHBvcnQgY2xhc3MgQ2xpTGliSW50ZWdyYXRpb25UZXN0Rml4dHVyZSBleHRlbmRzIFRlc3RGaXh0dXJlIHtcbiAgLyoqXG4gICAqXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgY2RrKGFyZ3M6IHN0cmluZ1tdLCBvcHRpb25zOiBDZGtDbGlPcHRpb25zID0ge30pIHtcbiAgICBjb25zdCBhY3Rpb24gPSBhcmdzWzBdO1xuICAgIGNvbnN0IHN0YWNrTmFtZSA9IGFyZ3NbMV07XG5cbiAgICBjb25zdCBjbGlPcHRzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge1xuICAgICAgc3RhY2tzOiBzdGFja05hbWUgPyBbc3RhY2tOYW1lXSA6IHVuZGVmaW5lZCxcbiAgICB9O1xuXG4gICAgaWYgKGFjdGlvbiA9PT0gJ2RlcGxveScpIHtcbiAgICAgIGNsaU9wdHMucmVxdWlyZUFwcHJvdmFsID0gb3B0aW9ucy5uZXZlclJlcXVpcmVBcHByb3ZhbCA/ICduZXZlcicgOiAnYnJvYWRlbmluZyc7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuc2hlbGwoWydub2RlJywgJy0taW5wdXQtdHlwZT1tb2R1bGUnLCBgPDxfX0VPU19fXG4gICAgICBpbXBvcnQgeyBBd3NDZGtDbGkgfSBmcm9tICdAYXdzLWNkay9jbGktbGliLWFscGhhJztcbiAgICAgIGNvbnN0IGNsaSA9IEF3c0Nka0NsaS5mcm9tQ2RrQXBwRGlyZWN0b3J5KCk7XG5cbiAgICAgIGF3YWl0IGNsaS4ke2FjdGlvbn0oJHtKU09OLnN0cmluZ2lmeShjbGlPcHRzKX0pO1xuX19FT1NfX2BdLCB7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgbW9kRW52OiB7XG4gICAgICAgIEFXU19SRUdJT046IHRoaXMuYXdzLnJlZ2lvbixcbiAgICAgICAgQVdTX0RFRkFVTFRfUkVHSU9OOiB0aGlzLmF3cy5yZWdpb24sXG4gICAgICAgIFNUQUNLX05BTUVfUFJFRklYOiB0aGlzLnN0YWNrTmFtZVByZWZpeCxcbiAgICAgICAgUEFDS0FHRV9MQVlPVVRfVkVSU0lPTjogdGhpcy5wYWNrYWdlcy5tYWpvclZlcnNpb24oKSxcbiAgICAgICAgLy8gSW4gdGhlc2UgdGVzdHMgd2Ugd2FudCB0byBtYWtlIGEgZGlzdGluY3Rpb24gYmV0d2VlbiBzdGRvdXQgYW5kIHN0ZXJyXG4gICAgICAgIENJOiAnZmFsc2UnLFxuICAgICAgICAuLi5vcHRpb25zLm1vZEVudixcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cblxuIl19
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1jbGktbGliLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsid2l0aC1jbGktbGliLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQVdBLGtFQStEQztBQWtDRCw4Q0FFQztBQTlHRCx5QkFBeUI7QUFDekIsNkJBQTZCO0FBRTdCLDJDQUE0QztBQUM1Qyx5Q0FBaUQ7QUFDakQsaURBQXFLO0FBQ3JLLGlEQUE2QztBQUU3Qzs7R0FFRztBQUNILFNBQWdCLDJCQUEyQixDQUN6QyxLQUErRDtJQUMvRCxPQUFPLEtBQUssRUFBRSxPQUFVLEVBQUUsRUFBRTtRQUMxQixNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDO1FBQ25DLE1BQU0sZUFBZSxHQUFHLFdBQVcsS0FBSyxFQUFFLENBQUM7UUFDM0MsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUUsYUFBYSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBRWxFLE9BQU8sQ0FBQyxHQUFHLENBQUMsb0JBQW9CLGVBQWUsSUFBSSxDQUFDLENBQUM7UUFDckQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsWUFBWSxJQUFJLENBQUMsQ0FBQztRQUNsRCxPQUFPLENBQUMsR0FBRyxDQUFDLG9CQUFvQixPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUM7UUFFeEQsTUFBTSxJQUFBLDZCQUFjLEVBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyx5QkFBYSxFQUFFLFVBQVUsRUFBRSxZQUFZLENBQUMsRUFBRSxZQUFZLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZHLE1BQU0sT0FBTyxHQUFHLElBQUksNEJBQTRCLENBQzlDLFlBQVksRUFDWixlQUFlLEVBQ2YsT0FBTyxDQUFDLE1BQU0sRUFDZCxPQUFPLENBQUMsR0FBRyxFQUNYLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUV4QixJQUFJLE9BQU8s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LEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRTFCLE1BQU0sT0FBTyxHQUF3QjtZQUNuQyxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTO1NBQzVDLENBQUM7UUFFRixJQUFJLE1BQU0sS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUN4QixPQUFPLENBQUMsZUFBZSxHQUFHLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUM7UUFDbEYsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sRUFBRSxxQkFBcUIsRUFBRTs7OztrQkFJcEMsTUFBTSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDO1FBQzNDLENBQUMsRUFBRTtZQUNMLEdBQUcsT0FBTztZQUNWLE1BQU0sRUFBRTtnQkFDTixHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUU7Z0JBQ3JCLFVBQVUsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU07Z0JBQzNCLGtCQUFrQixFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTTtnQkFDbkMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGVBQWU7Z0JBQ3ZDLHNCQUFzQixFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFO2dCQUNwRCx3RUFBd0U7Z0JBQ3hFLEVBQUUsRUFBRSxPQUFPO2dCQUNYLEdBQUcsT0FBTyxDQUFDLE1BQU07YUFDbEI7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFuQ0Qsb0VBbUNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgb3MgZnJvbSAnb3MnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IFRlc3RDb250ZXh0IH0gZnJvbSAnLi9pbnRlZy10ZXN0JztcbmltcG9ydCB7IFJFU09VUkNFU19ESVIgfSBmcm9tICcuL3Jlc291cmNlcyc7XG5pbXBvcnQgeyBBd3NDb250ZXh0LCB3aXRoQXdzIH0gZnJvbSAnLi93aXRoLWF3cyc7XG5pbXBvcnQgeyBjbG9uZURpcmVjdG9yeSwgaW5zdGFsbE5wbVBhY2thZ2VzLCBUZXN0Rml4dHVyZSwgREVGQVVMVF9URVNUX1RJTUVPVVRfUywgQ2RrQ2xpT3B0aW9ucywgRGlzYWJsZUJvb3RzdHJhcENvbnRleHQsIGVuc3VyZUJvb3RzdHJhcHBlZCB9IGZyb20gJy4vd2l0aC1jZGstYXBwJztcbmltcG9ydCB7IHdpdGhUaW1lb3V0IH0gZnJvbSAnLi93aXRoLXRpbWVvdXQnO1xuXG4vKipcbiAqIEhpZ2hlciBvcmRlciBmdW5jdGlvbiB0byBleGVjdXRlIGEgYmxvY2sgd2l0aCBhIENsaUxpYiBJbnRlZ3JhdGlvbiBDREsgYXBwIGZpeHR1cmVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHdpdGhDbGlMaWJJbnRlZ3JhdGlvbkNka0FwcDxBIGV4dGVuZHMgVGVzdENvbnRleHQgJiBBd3NDb250ZXh0ICYgRGlzYWJsZUJvb3RzdHJhcENvbnRleHQ+KFxuICBibG9jazogKGNvbnRleHQ6IENsaUxpYkludGVncmF0aW9uVGVzdEZpeHR1cmUpID0+IFByb21pc2U8dm9pZD4pIHtcbiAgcmV0dXJuIGFzeW5jIChjb250ZXh0OiBBKSA9PiB7XG4gICAgY29uc3QgcmFuZHkgPSBjb250ZXh0LnJhbmRvbVN0cmluZztcbiAgICBjb25zdCBzdGFja05hbWVQcmVmaXggPSBgY2RrdGVzdC0ke3JhbmR5fWA7XG4gICAgY29uc3QgaW50ZWdUZXN0RGlyID0gcGF0aC5qb2luKG9zLnRtcGRpcigpLCBgY2RrLWludGVnLSR7cmFuZHl9YCk7XG5cbiAgICBjb250ZXh0LmxvZyhgIFN0YWNrIHByZWZpeDogICAke3N0YWNrTmFtZVByZWZpeH1cXG5gKTtcbiAgICBjb250ZXh0LmxvZyhgIFRlc3QgZGlyZWN0b3J5OiAke2ludGVnVGVzdERpcn1cXG5gKTtcbiAgICBjb250ZXh0LmxvZyhgIFJlZ2lvbjogICAgICAgICAke2NvbnRleHQuYXdzLnJlZ2lvbn1cXG5gKTtcblxuICAgIGF3YWl0IGNsb25lRGlyZWN0b3J5KHBhdGguam9pbihSRVNPVVJDRVNfRElSLCAnY2RrLWFwcHMnLCAnc2ltcGxlLWFwcCcpLCBpbnRlZ1Rlc3REaXIsIGNvbnRleHQub3V0cHV0KTtcbiAgICBjb25zdCBmaXh0dXJlID0gbmV3IENsaUxpYkludGVncmF0aW9uVGVzdEZpeHR1cmUoXG4gICAgICBpbnRlZ1Rlc3REaXIsXG4gICAgICBzdGFja05hbWVQcmVmaXgsXG4gICAgICBjb250ZXh0Lm91dHB1dCxcbiAgICAgIGNvbnRleHQuYXdzLFxuICAgICAgY29udGV4dC5yYW5kb21TdHJpbmcpO1xuXG4gICAgbGV0IHN1Y2Nlc3MgPSB0cnVlO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBpbnN0YWxsYXRpb25WZXJzaW9uID0gZml4dHVyZS5wYWNrYWdlcy5yZXF1ZXN0ZWRGcmFtZXdvcmtWZXJzaW9uKCk7XG5cbiAgICAgIGlmIChmaXh0dXJlLnBhY2thZ2VzLm1ham9yVmVyc2lvbigpID09PSAnMScpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGlzIHRlc3Qgc3VpdGUgaXMgb25seSBjb21wYXRpYmxlIHdpdGggQVdTIENESyB2MicpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBhbHBoYUluc3RhbGxhdGlvblZlcnNpb24gPSBmaXh0dXJlLnBhY2thZ2VzLnJlcXVlc3RlZEFscGhhVmVyc2lvbigpO1xuXG4gICAgICAvLyBjbGktbGliLWFscGhhIGhhcyBhIG1hZ2ljIGFscGhhIHZlcnNpb24gaW4gdGhlIG9sZCByZWxlYXNlIHBpcGVsaW5lLFxuICAgICAgLy8gYnV0IHdpbGwganVzdCBtaXJyb3IgdGhlIENMSSB2ZXJzaW9uIGluIHRoZSBuZXcgcGlwZWxpbmUuXG4gICAgICBjb25zdCBjbGlMaWJWZXJzaW9uID0gcHJvY2Vzcy5lbnYuQ0xJX0xJQl9WRVJTSU9OX01JUlJPUlNfQ0xJXG4gICAgICAgID8gYCR7Zml4dHVyZS5wYWNrYWdlcy5yZXF1ZXN0ZWRDbGlWZXJzaW9uKCl9LWFscGhhLjBgXG4gICAgICAgIDogYWxwaGFJbnN0YWxsYXRpb25WZXJzaW9uO1xuXG4gICAgICBhd2FpdCBpbnN0YWxsTnBtUGFja2FnZXMoZml4dHVyZSwge1xuICAgICAgICAnYXdzLWNkay1saWInOiBpbnN0YWxsYXRpb25WZXJzaW9uLFxuICAgICAgICAnQGF3cy1jZGsvY2xpLWxpYi1hbHBoYSc6IGNsaUxpYlZlcnNpb24sXG4gICAgICAgICdAYXdzLWNkay9hd3MtbGFtYmRhLWdvLWFscGhhJzogYWxwaGFJbnN0YWxsYXRpb25WZXJzaW9uLFxuICAgICAgICAnQGF3cy1jZGsvYXdzLWxhbWJkYS1weXRob24tYWxwaGEnOiBhbHBoYUluc3RhbGxhdGlvblZlcnNpb24sXG4gICAgICAgICdjb25zdHJ1Y3RzJzogJ14xMCcsXG4gICAgICB9KTtcblxuICAgICAgaWYgKCFjb250ZXh0LmRpc2FibGVCb290c3RyYXApIHtcbiAgICAgICAgYXdhaXQgZW5zdXJlQm9vdHN0cmFwcGVkKGZpeHR1cmUpO1xuICAgICAgfVxuXG4gICAgICBhd2FpdCBibG9jayhmaXh0dXJlKTtcbiAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgIC8vIFdlIHN1cnZpdmUgY2VydGFpbiBjYXNlcyBpbnZvbHZpbmcgZ29wa2cuaW5cbiAgICAgIGlmIChlcnJvckNhdXNlZEJ5R29Qa2coZS5tZXNzYWdlKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBzdWNjZXNzID0gZmFsc2U7XG4gICAgICB0aHJvdyBlO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBpZiAocHJvY2Vzcy5lbnYuSU5URUdfTk9fQ0xFQU4pIHtcbiAgICAgICAgY29udGV4dC5sb2coYExlZnQgdGVzdCBkaXJlY3RvcnkgaW4gJyR7aW50ZWdUZXN0RGlyfScgKCRJTlRFR19OT19DTEVBTilcXG5gKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGF3YWl0IGZpeHR1cmUuZGlzcG9zZShzdWNjZXNzKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG59XG5cbi8qKlxuICogUmV0dXJuIHdoZXRoZXIgb3Igbm90IHRoZSBlcnJvciBpcyBiZWluZyBjYXVzZWQgYnkgZ29wa2cuaW4gYmVpbmcgZG93blxuICpcbiAqIE91ciBHbyBidWlsZCBkZXBlbmRzIG9uIGh0dHBzOi8vZ29wa2cuaW4vLCB3aGljaCBoYXMgZXJyb3JzIHByZXR0eSBvZnRlblxuICogKGV2ZXJ5IGNvdXBsZSBvZiBkYXlzKS4gSXQgaXMgcnVuIGJ5IGEgc2luZ2xlIHZvbHVudGVlci5cbiAqL1xuZnVuY3Rpb24gZXJyb3JDYXVzZWRCeUdvUGtnKGVycm9yOiBzdHJpbmcpIHtcbiAgLy8gVGhlIGVycm9yIGlzIGRpZmZlcmVudCBkZXBlbmRpbmcgb24gd2hhdCByZXF1ZXN0IGZhaWxzLiBNZXNzYWdlcyByZWNvZ25pemVkOlxuICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAvLyAgICBnbzogZ2l0aHViLmNvbS9hd3MvYXdzLWxhbWJkYS1nb0B2MS4yOC4wIHJlcXVpcmVzXG4gIC8vICAgICAgICBnb3BrZy5pbi95YW1sLnYzQHYzLjAuMC0yMDIwMDYxNTExMzQxMy1lZWVjYTQ4ZmU3NzY6IGludmFsaWQgdmVyc2lvbjogZ2l0IGxzLXJlbW90ZSAtcSBvcmlnaW4gaW4gL2dvL3BrZy9tb2QvY2FjaGUvdmNzLzA5MDFkYzFlZjY3ZmNjZTFjOWIzYWU1MTA3ODc0MGRlNGEwZTJkYzY3M2U3MjA1ODRhYzMwMjk3M2FmODJmMzY6IGV4aXQgc3RhdHVzIDEyODpcbiAgLy8gICAgICAgIHJlbW90ZTogQ2Fubm90IG9idGFpbiByZWZzIGZyb20gR2l0SHViOiBjYW5ub3QgdGFsayB0byBHaXRIdWI6IEdldCBodHRwczovL2dpdGh1Yi5jb20vZ28teWFtbC95YW1sLmdpdC9pbmZvL3JlZnM/c2VydmljZT1naXQtdXBsb2FkLXBhY2s6IG5ldC9odHRwOiByZXF1ZXN0IGNhbmNlbGVkIChDbGllbnQuVGltZW91dCBleGNlZWRlZCB3aGlsZSBhd2FpdGluZyBoZWFkZXJzKVxuICAvLyAgICAgICAgZmF0YWw6IHVuYWJsZSB0byBhY2Nlc3MgJ2h0dHBzOi8vZ29wa2cuaW4veWFtbC52My8nOiBUaGUgcmVxdWVzdGVkIFVSTCByZXR1cm5lZCBlcnJvcjogNTAyXG4gIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gIC8vICAgIGdvOiBkb3dubG9hZGluZyBnaXRodWIuY29tL2F3cy9hd3MtbGFtYmRhLWdvIHYxLjI4LjBcbiAgLy8gICAgZ286IGdpdGh1Yi5jb20vYXdzL2F3cy1sYW1iZGEtZ29AdjEuMjguMCByZXF1aXJlc1xuICAvLyAgICAgICAgZ29wa2cuaW4veWFtbC52M0B2My4wLjAtMjAyMDA2MTUxMTM0MTMtZWVlY2E0OGZlNzc2OiB1bnJlY29nbml6ZWQgaW1wb3J0IHBhdGggXCJnb3BrZy5pbi95YW1sLnYzXCI6IHJlYWRpbmcgaHR0cHM6Ly9nb3BrZy5pbi95YW1sLnYzP2dvLWdldD0xOiA1MDIgQmFkIEdhdGV3YXlcbiAgLy8gICAgICAgIHNlcnZlciByZXNwb25zZTogQ2Fubm90IG9idGFpbiByZWZzIGZyb20gR2l0SHViOiBjYW5ub3QgdGFsayB0byBHaXRIdWI6IEdldCBodHRwczovL2dpdGh1Yi5jb20vZ28teWFtbC95YW1sLmdpdC9pbmZvL3JlZnM/c2VydmljZT1naXQtdXBsb2FkLXBhY2s6IG5ldC9odHRwOiByZXF1ZXN0IGNhbmNlbGVkIChDbGllbnQuVGltZW91dCBleGNlZWRlZCB3aGlsZSBhd2FpdGluZyBoZWFkZXJzKVxuICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAvLyAgICBnbzogZ2l0aHViLmNvbS9hd3MvYXdzLWxhbWJkYS1nb0B2MS4yOC4wIHJlcXVpcmVzXG4gIC8vICAgICAgICBnb3BrZy5pbi95YW1sLnYzQHYzLjAuMC0yMDIwMDYxNTExMzQxMy1lZWVjYTQ4ZmU3NzY6IGludmFsaWQgdmVyc2lvbjogZ2l0IGZldGNoIC1mIG9yaWdpbiByZWZzL2hlYWRzLyo6cmVmcy9oZWFkcy8qIHJlZnMvdGFncy8qOnJlZnMvdGFncy8qIGluIC9nby9wa2cvbW9kL2NhY2hlL3Zjcy8wOTAxZGMxZWY2N2ZjY2UxYzliM2FlNTEwNzg3NDBkZTRhMGUyZGM2NzNlNzIwNTg0YWMzMDI5NzNhZjgyZjM2OiBleGl0IHN0YXR1cyAxMjg6XG4gIC8vICAgICAgICBlcnJvcjogUlBDIGZhaWxlZDsgSFRUUCA1MDIgY3VybCAyMiBUaGUgcmVxdWVzdGVkIFVSTCByZXR1cm5lZCBlcnJvcjogNTAyXG4gIC8vICAgICAgICBmYXRhbDogdGhlIHJlbW90ZSBlbmQgaHVuZyB1cCB1bmV4cGVjdGVkbHlcbiAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICByZXR1cm4gKGVycm9yLmluY2x1ZGVzKCdnb3BrZ1xcLmluLippbnZhbGlkIHZlcnNpb24uKmV4aXQgc3RhdHVzIDEyOCcpXG4gICAgfHwgZXJyb3IubWF0Y2goL3VucmVjb2duaXplZCBpbXBvcnQgcGF0aFteXFxuXWdvcGtnXFwuaW4vKSk7XG59XG5cbi8qKlxuICogU0FNIEludGVncmF0aW9uIHRlc3QgZml4dHVyZSBmb3IgQ0RLIC0gU0FNIGludGVncmF0aW9uIHRlc3QgY2FzZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHdpdGhDbGlMaWJGaXh0dXJlKGJsb2NrOiAoY29udGV4dDogQ2xpTGliSW50ZWdyYXRpb25UZXN0Rml4dHVyZSkgPT4gUHJvbWlzZTx2b2lkPikge1xuICByZXR1cm4gd2l0aEF3cyh3aXRoVGltZW91dChERUZBVUxUX1RFU1RfVElNRU9VVF9TLCB3aXRoQ2xpTGliSW50ZWdyYXRpb25DZGtBcHAoYmxvY2spKSk7XG59XG5cbmV4cG9ydCBjbGFzcyBDbGlMaWJJbnRlZ3JhdGlvblRlc3RGaXh0dXJlIGV4dGVuZHMgVGVzdEZpeHR1cmUge1xuICAvKipcbiAgICpcbiAgICovXG4gIHB1YmxpYyBhc3luYyBjZGsoYXJnczogc3RyaW5nW10sIG9wdGlvbnM6IENka0NsaU9wdGlvbnMgPSB7fSkge1xuICAgIGNvbnN0IGFjdGlvbiA9IGFyZ3NbMF07XG4gICAgY29uc3Qgc3RhY2tOYW1lID0gYXJnc1sxXTtcblxuICAgIGNvbnN0IGNsaU9wdHM6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7XG4gICAgICBzdGFja3M6IHN0YWNrTmFtZSA/IFtzdGFja05hbWVdIDogdW5kZWZpbmVkLFxuICAgIH07XG5cbiAgICBpZiAoYWN0aW9uID09PSAnZGVwbG95Jykge1xuICAgICAgY2xpT3B0cy5yZXF1aXJlQXBwcm92YWwgPSBvcHRpb25zLm5ldmVyUmVxdWlyZUFwcHJvdmFsID8gJ25ldmVyJyA6ICdicm9hZGVuaW5nJztcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5zaGVsbChbJ25vZGUnLCAnLS1pbnB1dC10eXBlPW1vZHVsZScsIGA8PF9fRU9TX19cbiAgICAgIGltcG9ydCB7IEF3c0Nka0NsaSB9IGZyb20gJ0Bhd3MtY2RrL2NsaS1saWItYWxwaGEnO1xuICAgICAgY29uc3QgY2xpID0gQXdzQ2RrQ2xpLmZyb21DZGtBcHBEaXJlY3RvcnkoKTtcblxuICAgICAgYXdhaXQgY2xpLiR7YWN0aW9ufSgke0pTT04uc3RyaW5naWZ5KGNsaU9wdHMpfSk7XG5fX0VPU19fYF0sIHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBtb2RFbnY6IHtcbiAgICAgICAgLi4udGhpcy5jZGtTaGVsbEVudigpLFxuICAgICAgICBBV1NfUkVHSU9OOiB0aGlzLmF3cy5yZWdpb24sXG4gICAgICAgIEFXU19ERUZBVUxUX1JFR0lPTjogdGhpcy5hd3MucmVnaW9uLFxuICAgICAgICBTVEFDS19OQU1FX1BSRUZJWDogdGhpcy5zdGFja05hbWVQcmVmaXgsXG4gICAgICAgIFBBQ0tBR0VfTEFZT1VUX1ZFUlNJT046IHRoaXMucGFja2FnZXMubWFqb3JWZXJzaW9uKCksXG4gICAgICAgIC8vIEluIHRoZXNlIHRlc3RzIHdlIHdhbnQgdG8gbWFrZSBhIGRpc3RpbmN0aW9uIGJldHdlZW4gc3Rkb3V0IGFuZCBzdGVyclxuICAgICAgICBDSTogJ2ZhbHNlJyxcbiAgICAgICAgLi4ub3B0aW9ucy5tb2RFbnYsXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG5cbiJdfQ==
@@ -134,6 +134,7 @@ export class CliLibIntegrationTestFixture extends TestFixture {
134
134
  __EOS__`], {
135
135
  ...options,
136
136
  modEnv: {
137
+ ...this.cdkShellEnv(),
137
138
  AWS_REGION: this.aws.region,
138
139
  AWS_DEFAULT_REGION: this.aws.region,
139
140
  STACK_NAME_PREFIX: this.stackNamePrefix,
package/package.json CHANGED
@@ -51,14 +51,14 @@
51
51
  "constructs": "^10.0.0",
52
52
  "eslint": "^9",
53
53
  "eslint-config-prettier": "^9.1.0",
54
- "eslint-import-resolver-typescript": "^3.8.3",
54
+ "eslint-import-resolver-typescript": "^3.9.1",
55
55
  "eslint-plugin-import": "^2.31.0",
56
56
  "eslint-plugin-jest": "^28.11.0",
57
57
  "eslint-plugin-prettier": "^5.2.3",
58
58
  "jest": "^29.7.0",
59
59
  "jest-junit": "^16",
60
60
  "prettier": "^2.8",
61
- "projen": "^0.91.14",
61
+ "projen": "^0.91.16",
62
62
  "ts-jest": "^29.2.5",
63
63
  "typescript": "5.6"
64
64
  },
@@ -74,7 +74,7 @@
74
74
  "@aws-sdk/client-sso": "^3",
75
75
  "@aws-sdk/client-sts": "^3",
76
76
  "@aws-sdk/credential-providers": "^3",
77
- "@cdklabs/cdk-atmosphere-client": "^0.0.20",
77
+ "@cdklabs/cdk-atmosphere-client": "^0.0.21",
78
78
  "@octokit/rest": "^18.12.0",
79
79
  "@smithy/types": "^3",
80
80
  "@smithy/util-retry": "^3",
@@ -109,7 +109,7 @@
109
109
  "publishConfig": {
110
110
  "access": "public"
111
111
  },
112
- "version": "3.3.0",
112
+ "version": "3.3.2",
113
113
  "types": "lib/index.d.ts",
114
114
  "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"."
115
115
  }
@@ -19,10 +19,9 @@ module.exports = {
19
19
  // for the lock. Which is almost never what we actually care about. Set it high.
20
20
  testTimeout: 600000,
21
21
 
22
- // Affects test.concurrent(), these are self-limiting anyway
23
- maxConcurrency: 10,
22
+ maxWorkers: 10,
24
23
  reporters: [
25
24
  "default",
26
- [ "jest-junit", { suiteName: "jest tests", outputDirectory: "coverage" } ]
25
+ ["jest-junit", { suiteName: "jest tests", outputDirectory: "coverage" }]
27
26
  ]
28
27
  };
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const fs_1 = require("fs");
4
+ const path = require("path");
5
+ const lib_1 = require("../../lib");
6
+ jest.setTimeout(2 * 60 * 60000); // Includes the time to acquire locks, worst-case single-threaded runtime
7
+ (0, lib_1.integTest)('--exclusively selects only selected stack', (0, lib_1.withDefaultFixture)(async (fixture) => {
8
+ // Deploy the "depends-on-failed" stack, with --exclusively. It will NOT fail (because
9
+ // of --exclusively) and it WILL create an output we can check for to confirm that it did
10
+ // get deployed.
11
+ const outputsFile = path.join(fixture.integTestDir, 'outputs', 'outputs.json');
12
+ await fs_1.promises.mkdir(path.dirname(outputsFile), { recursive: true });
13
+ await fixture.cdkDeploy('depends-on-failed', {
14
+ options: ['--exclusively', '--outputs-file', outputsFile],
15
+ });
16
+ // Verify the output to see that the stack deployed
17
+ const outputs = JSON.parse((await fs_1.promises.readFile(outputsFile, { encoding: 'utf-8' })).toString());
18
+ expect(outputs).toEqual({
19
+ [`${fixture.stackNamePrefix}-depends-on-failed`]: {
20
+ TopicName: `${fixture.stackNamePrefix}-depends-on-failedMyTopic`,
21
+ },
22
+ });
23
+ }));
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLS0tZXhjbHVzaXZlbHktc2VsZWN0cy1vbmx5LXNlbGVjdGVkLXN0YWNrLmludGVndGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNkay0tLWV4Y2x1c2l2ZWx5LXNlbGVjdHMtb25seS1zZWxlY3RlZC1zdGFjay5pbnRlZ3Rlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwyQkFBb0M7QUFDcEMsNkJBQTZCO0FBQzdCLG1DQUEwRDtBQUUxRCxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsS0FBTSxDQUFDLENBQUMsQ0FBQyx5RUFBeUU7QUFFM0csSUFBQSxlQUFTLEVBQ1AsMkNBQTJDLEVBQzNDLElBQUEsd0JBQWtCLEVBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFO0lBQ25DLHNGQUFzRjtJQUN0Rix5RkFBeUY7SUFDekYsZ0JBQWdCO0lBQ2hCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxTQUFTLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDL0UsTUFBTSxhQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUUvRCxNQUFNLE9BQU8sQ0FBQyxTQUFTLENBQUMsbUJBQW1CLEVBQUU7UUFDM0MsT0FBTyxFQUFFLENBQUMsZUFBZSxFQUFFLGdCQUFnQixFQUFFLFdBQVcsQ0FBQztLQUMxRCxDQUFDLENBQUM7SUFFSCxtREFBbUQ7SUFDbkQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sYUFBRSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDL0YsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQztRQUN0QixDQUFDLEdBQUcsT0FBTyxDQUFDLGVBQWUsb0JBQW9CLENBQUMsRUFBRTtZQUNoRCxTQUFTLEVBQUUsR0FBRyxPQUFPLENBQUMsZUFBZSwyQkFBMkI7U0FDakU7S0FDRixDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcHJvbWlzZXMgYXMgZnMgfSBmcm9tICdmcyc7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgaW50ZWdUZXN0LCB3aXRoRGVmYXVsdEZpeHR1cmUgfSBmcm9tICcuLi8uLi9saWInO1xuXG5qZXN0LnNldFRpbWVvdXQoMiAqIDYwICogNjBfMDAwKTsgLy8gSW5jbHVkZXMgdGhlIHRpbWUgdG8gYWNxdWlyZSBsb2Nrcywgd29yc3QtY2FzZSBzaW5nbGUtdGhyZWFkZWQgcnVudGltZVxuXG5pbnRlZ1Rlc3QoXG4gICctLWV4Y2x1c2l2ZWx5IHNlbGVjdHMgb25seSBzZWxlY3RlZCBzdGFjaycsXG4gIHdpdGhEZWZhdWx0Rml4dHVyZShhc3luYyAoZml4dHVyZSkgPT4ge1xuICAgIC8vIERlcGxveSB0aGUgXCJkZXBlbmRzLW9uLWZhaWxlZFwiIHN0YWNrLCB3aXRoIC0tZXhjbHVzaXZlbHkuIEl0IHdpbGwgTk9UIGZhaWwgKGJlY2F1c2VcbiAgICAvLyBvZiAtLWV4Y2x1c2l2ZWx5KSBhbmQgaXQgV0lMTCBjcmVhdGUgYW4gb3V0cHV0IHdlIGNhbiBjaGVjayBmb3IgdG8gY29uZmlybSB0aGF0IGl0IGRpZFxuICAgIC8vIGdldCBkZXBsb3llZC5cbiAgICBjb25zdCBvdXRwdXRzRmlsZSA9IHBhdGguam9pbihmaXh0dXJlLmludGVnVGVzdERpciwgJ291dHB1dHMnLCAnb3V0cHV0cy5qc29uJyk7XG4gICAgYXdhaXQgZnMubWtkaXIocGF0aC5kaXJuYW1lKG91dHB1dHNGaWxlKSwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG5cbiAgICBhd2FpdCBmaXh0dXJlLmNka0RlcGxveSgnZGVwZW5kcy1vbi1mYWlsZWQnLCB7XG4gICAgICBvcHRpb25zOiBbJy0tZXhjbHVzaXZlbHknLCAnLS1vdXRwdXRzLWZpbGUnLCBvdXRwdXRzRmlsZV0sXG4gICAgfSk7XG5cbiAgICAvLyBWZXJpZnkgdGhlIG91dHB1dCB0byBzZWUgdGhhdCB0aGUgc3RhY2sgZGVwbG95ZWRcbiAgICBjb25zdCBvdXRwdXRzID0gSlNPTi5wYXJzZSgoYXdhaXQgZnMucmVhZEZpbGUob3V0cHV0c0ZpbGUsIHsgZW5jb2Rpbmc6ICd1dGYtOCcgfSkpLnRvU3RyaW5nKCkpO1xuICAgIGV4cGVjdChvdXRwdXRzKS50b0VxdWFsKHtcbiAgICAgIFtgJHtmaXh0dXJlLnN0YWNrTmFtZVByZWZpeH0tZGVwZW5kcy1vbi1mYWlsZWRgXToge1xuICAgICAgICBUb3BpY05hbWU6IGAke2ZpeHR1cmUuc3RhY2tOYW1lUHJlZml4fS1kZXBlbmRzLW9uLWZhaWxlZE15VG9waWNgLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfSksXG4pO1xuXG4iXX0=
@@ -0,0 +1,29 @@
1
+ import { promises as fs } from 'fs';
2
+ import * as path from 'path';
3
+ import { integTest, withDefaultFixture } from '../../lib';
4
+
5
+ jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime
6
+
7
+ integTest(
8
+ '--exclusively selects only selected stack',
9
+ withDefaultFixture(async (fixture) => {
10
+ // Deploy the "depends-on-failed" stack, with --exclusively. It will NOT fail (because
11
+ // of --exclusively) and it WILL create an output we can check for to confirm that it did
12
+ // get deployed.
13
+ const outputsFile = path.join(fixture.integTestDir, 'outputs', 'outputs.json');
14
+ await fs.mkdir(path.dirname(outputsFile), { recursive: true });
15
+
16
+ await fixture.cdkDeploy('depends-on-failed', {
17
+ options: ['--exclusively', '--outputs-file', outputsFile],
18
+ });
19
+
20
+ // Verify the output to see that the stack deployed
21
+ const outputs = JSON.parse((await fs.readFile(outputsFile, { encoding: 'utf-8' })).toString());
22
+ expect(outputs).toEqual({
23
+ [`${fixture.stackNamePrefix}-depends-on-failed`]: {
24
+ TopicName: `${fixture.stackNamePrefix}-depends-on-failedMyTopic`,
25
+ },
26
+ });
27
+ }),
28
+ );
29
+
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const fs_1 = require("fs");
4
+ const path = require("path");
5
+ const lib_1 = require("../../../lib");
6
+ jest.setTimeout(2 * 60 * 60000); // Includes the time to acquire locks, worst-case single-threaded runtime
7
+ (0, lib_1.integTest)(`cdk-assets uses profile when specified`, (0, lib_1.withDefaultFixture)(async (fixture) => {
8
+ const currentCreds = await fixture.aws.credentials();
9
+ await fixture.shell(['npm', 'init', '-y']);
10
+ await fixture.shell(['npm', 'install', `cdk-assets@latest`]);
11
+ const account = await fixture.aws.account();
12
+ const region = fixture.aws.region;
13
+ const bucketName = `cdk-hnb659fds-assets-${account}-${region}`;
14
+ // Write some asset files. Its important to have more than 1 because cdk-assets
15
+ // code has some funky state mutations that happens on each asset publishing.
16
+ const assetFile1 = 'testfile.txt';
17
+ const assetFile2 = 'testfile.txt';
18
+ await fs_1.promises.writeFile(path.join(fixture.integTestDir, assetFile1), 'some asset file');
19
+ await fs_1.promises.writeFile(path.join(fixture.integTestDir, assetFile2), 'some asset file');
20
+ // Write an asset JSON file to publish to the bootstrapped environment
21
+ const assetsJson = {
22
+ version: "38.0.1",
23
+ files: {
24
+ testfile1: {
25
+ source: {
26
+ path: assetFile1,
27
+ packaging: 'file',
28
+ },
29
+ destinations: {
30
+ current: {
31
+ region,
32
+ assumeRoleArn: `arn:\${AWS::Partition}:iam::${account}:role/cdk-hnb659fds-file-publishing-role-${account}-${region}`,
33
+ bucketName,
34
+ objectKey: `test-file1-${Date.now()}.json`,
35
+ }
36
+ }
37
+ },
38
+ testfile2: {
39
+ source: {
40
+ path: assetFile2,
41
+ packaging: 'file',
42
+ },
43
+ destinations: {
44
+ current: {
45
+ region,
46
+ assumeRoleArn: `arn:\${AWS::Partition}:iam::${account}:role/cdk-hnb659fds-file-publishing-role-${account}-${region}`,
47
+ bucketName,
48
+ objectKey: `test-file2-${Date.now()}.json`,
49
+ }
50
+ }
51
+ }
52
+ }
53
+ };
54
+ // create a profile with our current credentials.
55
+ //
56
+ // if you're wondering why can't we do the reverse (i.e write a bogus profile and assert a failure),
57
+ // its because when cdk-assets discovers the current account, it DOES consider the profile.
58
+ // writing a bogus profile would fail this operation and we won't be able to reach the code
59
+ // we're trying to test.
60
+ const credentialsFile = path.join(fixture.integTestDir, 'aws.credentials');
61
+ const profile = 'cdk-assets';
62
+ // this kind sucks but its what it is given we need to write a working profile
63
+ await fs_1.promises.writeFile(credentialsFile, `[${profile}]
64
+ aws_access_key_id=${currentCreds.accessKeyId}
65
+ aws_secret_access_key=${currentCreds.secretAccessKey}
66
+ aws_session_token=${currentCreds.sessionToken}`);
67
+ await fs_1.promises.writeFile(path.join(fixture.integTestDir, 'assets.json'), JSON.stringify(assetsJson, undefined, 2));
68
+ await fixture.shell(['npx', 'cdk-assets', '--path', 'assets.json', 'publish', '--profile', profile], {
69
+ modEnv: {
70
+ ...fixture.cdkShellEnv(),
71
+ AWS_SHARED_CREDENTIALS_FILE: credentialsFile,
72
+ // remove the default creds so that if the command doesn't use
73
+ // the profile, it will fail with "Could not load credentials from any providers"
74
+ AWS_ACCESS_KEY_ID: '',
75
+ AWS_SECRET_ACCESS_KEY: '',
76
+ AWS_SESSION_TOKEN: ''
77
+ },
78
+ });
79
+ }));
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWFzc2V0cy11c2VzLXByb2ZpbGUuaW50ZWd0ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2RrLWFzc2V0cy11c2VzLXByb2ZpbGUuaW50ZWd0ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQ0EsMkJBQW9DO0FBQ3BDLDZCQUE2QjtBQUM3QixzQ0FBNkQ7QUFFN0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEtBQU0sQ0FBQyxDQUFDLENBQUMseUVBQXlFO0FBRTNHLElBQUEsZUFBUyxFQUFDLHdDQUF3QyxFQUFFLElBQUEsd0JBQWtCLEVBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFO0lBRXJGLE1BQU0sWUFBWSxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUVyRCxNQUFNLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDM0MsTUFBTSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7SUFFN0QsTUFBTSxPQUFPLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzVDLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDO0lBQ2xDLE1BQU0sVUFBVSxHQUFHLHdCQUF3QixPQUFPLElBQUksTUFBTSxFQUFFLENBQUM7SUFFL0QsK0VBQStFO0lBQy9FLDZFQUE2RTtJQUM3RSxNQUFNLFVBQVUsR0FBRyxjQUFjLENBQUM7SUFDbEMsTUFBTSxVQUFVLEdBQUcsY0FBYyxDQUFDO0lBQ2xDLE1BQU0sYUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUNuRixNQUFNLGFBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQyxFQUFFLGlCQUFpQixDQUFDLENBQUM7SUFFbkYsc0VBQXNFO0lBQ3RFLE1BQU0sVUFBVSxHQUFHO1FBQ2pCLE9BQU8sRUFBRSxRQUFRO1FBQ2pCLEtBQUssRUFBRTtZQUNMLFNBQVMsRUFBRTtnQkFDVCxNQUFNLEVBQUU7b0JBQ04sSUFBSSxFQUFFLFVBQVU7b0JBQ2hCLFNBQVMsRUFBRSxNQUFNO2lCQUNsQjtnQkFDRCxZQUFZLEVBQUU7b0JBQ1osT0FBTyxFQUFFO3dCQUNQLE1BQU07d0JBQ04sYUFBYSxFQUFFLCtCQUErQixPQUFPLDRDQUE0QyxPQUFPLElBQUksTUFBTSxFQUFFO3dCQUNwSCxVQUFVO3dCQUNWLFNBQVMsRUFBRSxjQUFjLElBQUksQ0FBQyxHQUFHLEVBQUUsT0FBTztxQkFDM0M7aUJBQ0Y7YUFDRjtZQUNELFNBQVMsRUFBRTtnQkFDVCxNQUFNLEVBQUU7b0JBQ04sSUFBSSxFQUFFLFVBQVU7b0JBQ2hCLFNBQVMsRUFBRSxNQUFNO2lCQUNsQjtnQkFDRCxZQUFZLEVBQUU7b0JBQ1osT0FBTyxFQUFFO3dCQUNQLE1BQU07d0JBQ04sYUFBYSxFQUFFLCtCQUErQixPQUFPLDRDQUE0QyxPQUFPLElBQUksTUFBTSxFQUFFO3dCQUNwSCxVQUFVO3dCQUNWLFNBQVMsRUFBRSxjQUFjLElBQUksQ0FBQyxHQUFHLEVBQUUsT0FBTztxQkFDM0M7aUJBQ0Y7YUFDRjtTQUNGO0tBQ0YsQ0FBQztJQUVGLGlEQUFpRDtJQUNqRCxFQUFFO0lBQ0Ysb0dBQW9HO0lBQ3BHLDJGQUEyRjtJQUMzRiwyRkFBMkY7SUFDM0Ysd0JBQXdCO0lBQ3hCLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0lBQzNFLE1BQU0sT0FBTyxHQUFHLFlBQVksQ0FBQztJQUU3Qiw4RUFBOEU7SUFDOUUsTUFBTSxhQUFFLENBQUMsU0FBUyxDQUFDLGVBQWUsRUFBRSxJQUFJLE9BQU87b0JBQy9CLFlBQVksQ0FBQyxXQUFXO3dCQUNwQixZQUFZLENBQUMsZUFBZTtvQkFDaEMsWUFBWSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7SUFFN0MsTUFBTSxhQUFFLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxhQUFhLENBQUMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3RyxNQUFNLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxPQUFPLENBQUMsRUFBRTtRQUNuRyxNQUFNLEVBQUU7WUFDTixHQUFHLE9BQU8sQ0FBQyxXQUFXLEVBQUU7WUFDeEIsMkJBQTJCLEVBQUUsZUFBZTtZQUU1Qyw4REFBOEQ7WUFDOUQsaUZBQWlGO1lBQ2pGLGlCQUFpQixFQUFFLEVBQUU7WUFDckIscUJBQXFCLEVBQUUsRUFBRTtZQUN6QixpQkFBaUIsRUFBRSxFQUFFO1NBRXRCO0tBQ0YsQ0FBQyxDQUFDO0FBRUwsQ0FBQyxDQUFDLENBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHsgcHJvbWlzZXMgYXMgZnMgfSBmcm9tICdmcyc7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgaW50ZWdUZXN0LCB3aXRoRGVmYXVsdEZpeHR1cmUgfSBmcm9tICcuLi8uLi8uLi9saWInO1xuXG5qZXN0LnNldFRpbWVvdXQoMiAqIDYwICogNjBfMDAwKTsgLy8gSW5jbHVkZXMgdGhlIHRpbWUgdG8gYWNxdWlyZSBsb2Nrcywgd29yc3QtY2FzZSBzaW5nbGUtdGhyZWFkZWQgcnVudGltZVxuXG5pbnRlZ1Rlc3QoYGNkay1hc3NldHMgdXNlcyBwcm9maWxlIHdoZW4gc3BlY2lmaWVkYCwgd2l0aERlZmF1bHRGaXh0dXJlKGFzeW5jIChmaXh0dXJlKSA9PiB7XG5cbiAgICBjb25zdCBjdXJyZW50Q3JlZHMgPSBhd2FpdCBmaXh0dXJlLmF3cy5jcmVkZW50aWFscygpO1xuXG4gICAgYXdhaXQgZml4dHVyZS5zaGVsbChbJ25wbScsICdpbml0JywgJy15J10pO1xuICAgIGF3YWl0IGZpeHR1cmUuc2hlbGwoWyducG0nLCAnaW5zdGFsbCcsIGBjZGstYXNzZXRzQGxhdGVzdGBdKTtcblxuICAgIGNvbnN0IGFjY291bnQgPSBhd2FpdCBmaXh0dXJlLmF3cy5hY2NvdW50KCk7XG4gICAgY29uc3QgcmVnaW9uID0gZml4dHVyZS5hd3MucmVnaW9uO1xuICAgIGNvbnN0IGJ1Y2tldE5hbWUgPSBgY2RrLWhuYjY1OWZkcy1hc3NldHMtJHthY2NvdW50fS0ke3JlZ2lvbn1gO1xuXG4gICAgLy8gV3JpdGUgc29tZSBhc3NldCBmaWxlcy4gSXRzIGltcG9ydGFudCB0byBoYXZlIG1vcmUgdGhhbiAxIGJlY2F1c2UgY2RrLWFzc2V0c1xuICAgIC8vIGNvZGUgaGFzIHNvbWUgZnVua3kgc3RhdGUgbXV0YXRpb25zIHRoYXQgaGFwcGVucyBvbiBlYWNoIGFzc2V0IHB1Ymxpc2hpbmcuXG4gICAgY29uc3QgYXNzZXRGaWxlMSA9ICd0ZXN0ZmlsZS50eHQnO1xuICAgIGNvbnN0IGFzc2V0RmlsZTIgPSAndGVzdGZpbGUudHh0JztcbiAgICBhd2FpdCBmcy53cml0ZUZpbGUocGF0aC5qb2luKGZpeHR1cmUuaW50ZWdUZXN0RGlyLCBhc3NldEZpbGUxKSwgJ3NvbWUgYXNzZXQgZmlsZScpO1xuICAgIGF3YWl0IGZzLndyaXRlRmlsZShwYXRoLmpvaW4oZml4dHVyZS5pbnRlZ1Rlc3REaXIsIGFzc2V0RmlsZTIpLCAnc29tZSBhc3NldCBmaWxlJyk7XG5cbiAgICAvLyBXcml0ZSBhbiBhc3NldCBKU09OIGZpbGUgdG8gcHVibGlzaCB0byB0aGUgYm9vdHN0cmFwcGVkIGVudmlyb25tZW50XG4gICAgY29uc3QgYXNzZXRzSnNvbiA9IHtcbiAgICAgIHZlcnNpb246IFwiMzguMC4xXCIsXG4gICAgICBmaWxlczoge1xuICAgICAgICB0ZXN0ZmlsZTE6IHtcbiAgICAgICAgICBzb3VyY2U6IHtcbiAgICAgICAgICAgIHBhdGg6IGFzc2V0RmlsZTEsXG4gICAgICAgICAgICBwYWNrYWdpbmc6ICdmaWxlJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGRlc3RpbmF0aW9uczoge1xuICAgICAgICAgICAgY3VycmVudDoge1xuICAgICAgICAgICAgICByZWdpb24sXG4gICAgICAgICAgICAgIGFzc3VtZVJvbGVBcm46IGBhcm46XFwke0FXUzo6UGFydGl0aW9ufTppYW06OiR7YWNjb3VudH06cm9sZS9jZGstaG5iNjU5ZmRzLWZpbGUtcHVibGlzaGluZy1yb2xlLSR7YWNjb3VudH0tJHtyZWdpb259YCxcbiAgICAgICAgICAgICAgYnVja2V0TmFtZSxcbiAgICAgICAgICAgICAgb2JqZWN0S2V5OiBgdGVzdC1maWxlMS0ke0RhdGUubm93KCl9Lmpzb25gLFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgdGVzdGZpbGUyOiB7XG4gICAgICAgICAgc291cmNlOiB7XG4gICAgICAgICAgICBwYXRoOiBhc3NldEZpbGUyLFxuICAgICAgICAgICAgcGFja2FnaW5nOiAnZmlsZScsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBkZXN0aW5hdGlvbnM6IHtcbiAgICAgICAgICAgIGN1cnJlbnQ6IHtcbiAgICAgICAgICAgICAgcmVnaW9uLFxuICAgICAgICAgICAgICBhc3N1bWVSb2xlQXJuOiBgYXJuOlxcJHtBV1M6OlBhcnRpdGlvbn06aWFtOjoke2FjY291bnR9OnJvbGUvY2RrLWhuYjY1OWZkcy1maWxlLXB1Ymxpc2hpbmctcm9sZS0ke2FjY291bnR9LSR7cmVnaW9ufWAsXG4gICAgICAgICAgICAgIGJ1Y2tldE5hbWUsXG4gICAgICAgICAgICAgIG9iamVjdEtleTogYHRlc3QtZmlsZTItJHtEYXRlLm5vdygpfS5qc29uYCxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuXG4gICAgLy8gY3JlYXRlIGEgcHJvZmlsZSB3aXRoIG91ciBjdXJyZW50IGNyZWRlbnRpYWxzLlxuICAgIC8vXG4gICAgLy8gaWYgeW91J3JlIHdvbmRlcmluZyB3aHkgY2FuJ3Qgd2UgZG8gdGhlIHJldmVyc2UgKGkuZSB3cml0ZSBhIGJvZ3VzIHByb2ZpbGUgYW5kIGFzc2VydCBhIGZhaWx1cmUpLFxuICAgIC8vIGl0cyBiZWNhdXNlIHdoZW4gY2RrLWFzc2V0cyBkaXNjb3ZlcnMgdGhlIGN1cnJlbnQgYWNjb3VudCwgaXQgRE9FUyBjb25zaWRlciB0aGUgcHJvZmlsZS5cbiAgICAvLyB3cml0aW5nIGEgYm9ndXMgcHJvZmlsZSB3b3VsZCBmYWlsIHRoaXMgb3BlcmF0aW9uIGFuZCB3ZSB3b24ndCBiZSBhYmxlIHRvIHJlYWNoIHRoZSBjb2RlXG4gICAgLy8gd2UncmUgdHJ5aW5nIHRvIHRlc3QuXG4gICAgY29uc3QgY3JlZGVudGlhbHNGaWxlID0gcGF0aC5qb2luKGZpeHR1cmUuaW50ZWdUZXN0RGlyLCAnYXdzLmNyZWRlbnRpYWxzJyk7XG4gICAgY29uc3QgcHJvZmlsZSA9ICdjZGstYXNzZXRzJztcblxuICAgIC8vIHRoaXMga2luZCBzdWNrcyBidXQgaXRzIHdoYXQgaXQgaXMgZ2l2ZW4gd2UgbmVlZCB0byB3cml0ZSBhIHdvcmtpbmcgcHJvZmlsZVxuICAgIGF3YWl0IGZzLndyaXRlRmlsZShjcmVkZW50aWFsc0ZpbGUsIGBbJHtwcm9maWxlfV1cbmF3c19hY2Nlc3Nfa2V5X2lkPSR7Y3VycmVudENyZWRzLmFjY2Vzc0tleUlkfVxuYXdzX3NlY3JldF9hY2Nlc3Nfa2V5PSR7Y3VycmVudENyZWRzLnNlY3JldEFjY2Vzc0tleX1cbmF3c19zZXNzaW9uX3Rva2VuPSR7Y3VycmVudENyZWRzLnNlc3Npb25Ub2tlbn1gKTtcblxuICAgIGF3YWl0IGZzLndyaXRlRmlsZShwYXRoLmpvaW4oZml4dHVyZS5pbnRlZ1Rlc3REaXIsICdhc3NldHMuanNvbicpLCBKU09OLnN0cmluZ2lmeShhc3NldHNKc29uLCB1bmRlZmluZWQsIDIpKTtcbiAgICBhd2FpdCBmaXh0dXJlLnNoZWxsKFsnbnB4JywgJ2Nkay1hc3NldHMnLCAnLS1wYXRoJywgJ2Fzc2V0cy5qc29uJywgJ3B1Ymxpc2gnLCAnLS1wcm9maWxlJywgcHJvZmlsZV0sIHtcbiAgICAgIG1vZEVudjoge1xuICAgICAgICAuLi5maXh0dXJlLmNka1NoZWxsRW52KCksXG4gICAgICAgIEFXU19TSEFSRURfQ1JFREVOVElBTFNfRklMRTogY3JlZGVudGlhbHNGaWxlLFxuXG4gICAgICAgIC8vIHJlbW92ZSB0aGUgZGVmYXVsdCBjcmVkcyBzbyB0aGF0IGlmIHRoZSBjb21tYW5kIGRvZXNuJ3QgdXNlXG4gICAgICAgIC8vIHRoZSBwcm9maWxlLCBpdCB3aWxsIGZhaWwgd2l0aCBcIkNvdWxkIG5vdCBsb2FkIGNyZWRlbnRpYWxzIGZyb20gYW55IHByb3ZpZGVyc1wiXG4gICAgICAgIEFXU19BQ0NFU1NfS0VZX0lEOiAnJyxcbiAgICAgICAgQVdTX1NFQ1JFVF9BQ0NFU1NfS0VZOiAnJyxcbiAgICAgICAgQVdTX1NFU1NJT05fVE9LRU46ICcnXG5cbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgfSksXG4pOyJdfQ==