@aws-cdk-testing/cli-integ 3.29.0 → 3.29.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 (26) hide show
  1. package/.yarnrc.yml +3 -0
  2. package/lib/regions.d.ts +4 -0
  3. package/lib/regions.js +11 -2
  4. package/lib/shell.d.ts +5 -0
  5. package/lib/shell.js +20 -7
  6. package/npm-shrinkwrap.json +2519 -2464
  7. package/package.json +55 -45
  8. package/resources/cdk-apps/import-existing-resources-app/app.js +26 -0
  9. package/resources/cdk-apps/import-existing-resources-app/cdk.json +3 -0
  10. package/resources/cdk-apps/nested-stack-with-fn-join-export/app.js +44 -0
  11. package/resources/cdk-apps/nested-stack-with-fn-join-export/cdk.json +7 -0
  12. package/tests/cli-integ-tests/deploy/cdk-deploy-nested-stacks-with-fn-join-export.integtest.d.ts +1 -0
  13. package/tests/cli-integ-tests/deploy/cdk-deploy-nested-stacks-with-fn-join-export.integtest.js +10 -0
  14. package/tests/cli-integ-tests/deploy/cdk-deploy-skips-unnecessary-updates-for-nested-stacks.integtest.js +12 -13
  15. package/tests/cli-integ-tests/deploy/cdk-deploy-with-any-change-approval-shows-diff.integtest.js +1 -2
  16. package/tests/cli-integ-tests/deploy/cdk-deploy-with-change-set-approval-diff.integtest.d.ts +1 -0
  17. package/tests/cli-integ-tests/deploy/cdk-deploy-with-change-set-approval-diff.integtest.js +44 -0
  18. package/tests/cli-integ-tests/deploy/cdk-import-existing-resources-error-message-includes-construct-paths.integtest.d.ts +1 -0
  19. package/tests/cli-integ-tests/deploy/cdk-import-existing-resources-error-message-includes-construct-paths.integtest.js +43 -0
  20. package/tests/cli-integ-tests/refactor/cdk-refactor-dry-run-detect-changes.integtest.js +3 -2
  21. package/tests/cli-integ-tests/refactor/cdk-refactor-dry-run-filter-by-patterns.integtest.js +3 -2
  22. package/tests/cli-integ-tests/refactor/cdk-refactor-dry-run-no-changes.integtest.js +3 -2
  23. package/tests/cli-integ-tests/refactor/cdk-refactor-large-template.integtest.js +3 -2
  24. package/tests/cli-integ-tests/refactor/cdk-refactor-move-same-to-different-stacks.integtest.js +3 -2
  25. package/tests/cli-integ-tests/refactor/cdk-refactor-no-ambiguities-execution.integtest.js +3 -2
  26. package/tests/cli-integ-tests/refactor/cdk-refactor-with-ambiguities-execution.integtest.js +3 -2
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getStackNameFromArn = getStackNameFromArn;
4
4
  const client_cloudformation_1 = require("@aws-sdk/client-cloudformation");
5
5
  const lib_1 = require("../../../lib");
6
+ const regions_1 = require("../../../lib/regions");
6
7
  (0, lib_1.integTest)('cdk refactor - detects refactoring changes and executes the refactor', (0, lib_1.withSpecificFixture)('refactoring', async (fixture) => {
7
8
  // First, deploy the stacks
8
9
  await fixture.cdkDeploy('bucket-stack');
@@ -30,7 +31,7 @@ const lib_1 = require("../../../lib");
30
31
  // CloudFormation may complete the refactoring, while the stack is still in the "UPDATE_IN_PROGRESS" state.
31
32
  // Give it a couple of seconds to finish the update.
32
33
  await new Promise((resolve) => setTimeout(resolve, 2000));
33
- }));
34
+ }, { aws: { regions: regions_1.STACK_REFACTORING_REGIONS } }));
34
35
  function getStackNameFromArn(stackArn) {
35
36
  // Example ARN: arn:aws:cloudformation:region:account-id:stack/stack-name/guid
36
37
  const arnParts = stackArn.split(':');
@@ -39,4 +40,4 @@ function getStackNameFromArn(stackArn) {
39
40
  // The stack name is the second part: ["stack", "stack-name", "guid"]
40
41
  return resourceParts[1];
41
42
  }
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLXJlZmFjdG9yLW5vLWFtYmlndWl0aWVzLWV4ZWN1dGlvbi5pbnRlZ3Rlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJjZGstcmVmYWN0b3Itbm8tYW1iaWd1aXRpZXMtZXhlY3V0aW9uLmludGVndGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQStDQSxrREFPQztBQXRERCwwRUFBbUc7QUFDbkcsc0NBQThEO0FBRTlELElBQUEsZUFBUyxFQUNQLHNFQUFzRSxFQUN0RSxJQUFBLHlCQUFtQixFQUFDLGFBQWEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUU7SUFDbkQsMkJBQTJCO0lBQzNCLE1BQU0sT0FBTyxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN4QyxNQUFNLFFBQVEsR0FBRyxNQUFNLE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFO1FBQ2hELE1BQU0sRUFBRTtZQUNOLHNCQUFzQixFQUFFLFNBQVM7U0FDbEM7S0FDRixDQUFDLENBQUM7SUFFSCxzREFBc0Q7SUFDdEQsTUFBTSxNQUFNLEdBQUcsTUFBTSxPQUFPLENBQUMsV0FBVyxDQUFDO1FBQ3ZDLE9BQU8sRUFBRSxDQUFDLHFCQUFxQixFQUFFLFNBQVMsQ0FBQztRQUMzQyxZQUFZLEVBQUUsSUFBSTtRQUNsQixxREFBcUQ7UUFDckQsOENBQThDO1FBQzlDLE1BQU0sRUFBRTtZQUNOLHNCQUFzQixFQUFFLFNBQVM7U0FDbEM7S0FDRixDQUFDLENBQUM7SUFFSCxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFFbEQsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLElBQUksQ0FDNUQsSUFBSSxxREFBNkIsQ0FBQztRQUNoQyxTQUFTLEVBQUUsbUJBQW1CLENBQUMsUUFBUSxDQUFDO0tBQ3pDLENBQUMsQ0FDSCxDQUFDO0lBRUYsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FDbEMsQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUN6QyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsaUJBQWtCLEVBQUUsUUFBUSxDQUE0QixDQUNqRixDQUNGLENBQUM7SUFFRixNQUFNLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBRWhELDJHQUEyRztJQUMzRyxvREFBb0Q7SUFDcEQsTUFBTSxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBQzVELENBQUMsQ0FBQyxDQUNILENBQUM7QUFFRixTQUFnQixtQkFBbUIsQ0FBQyxRQUFnQjtJQUNsRCw4RUFBOEU7SUFDOUUsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNyQyxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQywwQkFBMEI7SUFDeEQsTUFBTSxhQUFhLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMxQyxxRUFBcUU7SUFDckUsT0FBTyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDMUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlc2NyaWJlU3RhY2tSZXNvdXJjZXNDb21tYW5kLCB0eXBlIFN0YWNrUmVzb3VyY2UgfSBmcm9tICdAYXdzLXNkay9jbGllbnQtY2xvdWRmb3JtYXRpb24nO1xuaW1wb3J0IHsgaW50ZWdUZXN0LCB3aXRoU3BlY2lmaWNGaXh0dXJlIH0gZnJvbSAnLi4vLi4vLi4vbGliJztcblxuaW50ZWdUZXN0KFxuICAnY2RrIHJlZmFjdG9yIC0gZGV0ZWN0cyByZWZhY3RvcmluZyBjaGFuZ2VzIGFuZCBleGVjdXRlcyB0aGUgcmVmYWN0b3InLFxuICB3aXRoU3BlY2lmaWNGaXh0dXJlKCdyZWZhY3RvcmluZycsIGFzeW5jIChmaXh0dXJlKSA9PiB7XG4gICAgLy8gRmlyc3QsIGRlcGxveSB0aGUgc3RhY2tzXG4gICAgYXdhaXQgZml4dHVyZS5jZGtEZXBsb3koJ2J1Y2tldC1zdGFjaycpO1xuICAgIGNvbnN0IHN0YWNrQXJuID0gYXdhaXQgZml4dHVyZS5jZGtEZXBsb3koJ2Jhc2ljJywge1xuICAgICAgbW9kRW52OiB7XG4gICAgICAgIEJBU0lDX1FVRVVFX0xPR0lDQUxfSUQ6ICdPbGROYW1lJyxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICAvLyBUaGVuIHNlZSBpZiB0aGUgcmVmYWN0b3JpbmcgdG9vbCBkZXRlY3RzIHRoZSBjaGFuZ2VcbiAgICBjb25zdCBzdGRFcnIgPSBhd2FpdCBmaXh0dXJlLmNka1JlZmFjdG9yKHtcbiAgICAgIG9wdGlvbnM6IFsnLS11bnN0YWJsZT1yZWZhY3RvcicsICctLWZvcmNlJ10sXG4gICAgICBhbGxvd0VyckV4aXQ6IHRydWUsXG4gICAgICAvLyBNYWtpbmcgc3VyZSB0aGUgc3ludGhlc2l6ZWQgc3RhY2sgaGFzIGEgcXVldWUgd2l0aFxuICAgICAgLy8gdGhlIG5ldyBuYW1lIHNvIHRoYXQgYSByZWZhY3RvciBpcyBkZXRlY3RlZFxuICAgICAgbW9kRW52OiB7XG4gICAgICAgIEJBU0lDX1FVRVVFX0xPR0lDQUxfSUQ6ICdOZXdOYW1lJyxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBleHBlY3Qoc3RkRXJyKS50b01hdGNoKCdTdGFjayByZWZhY3RvciBjb21wbGV0ZScpO1xuXG4gICAgY29uc3Qgc3RhY2tEZXNjcmlwdGlvbiA9IGF3YWl0IGZpeHR1cmUuYXdzLmNsb3VkRm9ybWF0aW9uLnNlbmQoXG4gICAgICBuZXcgRGVzY3JpYmVTdGFja1Jlc291cmNlc0NvbW1hbmQoe1xuICAgICAgICBTdGFja05hbWU6IGdldFN0YWNrTmFtZUZyb21Bcm4oc3RhY2tBcm4pLFxuICAgICAgfSksXG4gICAgKTtcblxuICAgIGNvbnN0IHJlc291cmNlcyA9IE9iamVjdC5mcm9tRW50cmllcyhcbiAgICAgIChzdGFja0Rlc2NyaXB0aW9uLlN0YWNrUmVzb3VyY2VzID8/IFtdKS5tYXAoXG4gICAgICAgIChyZXNvdXJjZSkgPT4gW3Jlc291cmNlLkxvZ2ljYWxSZXNvdXJjZUlkISwgcmVzb3VyY2VdIGFzIFtzdHJpbmcsIFN0YWNrUmVzb3VyY2VdLFxuICAgICAgKSxcbiAgICApO1xuXG4gICAgZXhwZWN0KHJlc291cmNlcy5OZXdOYW1lNTdCMTcxRkUpLnRvQmVEZWZpbmVkKCk7XG5cbiAgICAvLyBDbG91ZEZvcm1hdGlvbiBtYXkgY29tcGxldGUgdGhlIHJlZmFjdG9yaW5nLCB3aGlsZSB0aGUgc3RhY2sgaXMgc3RpbGwgaW4gdGhlIFwiVVBEQVRFX0lOX1BST0dSRVNTXCIgc3RhdGUuXG4gICAgLy8gR2l2ZSBpdCBhIGNvdXBsZSBvZiBzZWNvbmRzIHRvIGZpbmlzaCB0aGUgdXBkYXRlLlxuICAgIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIDIwMDApKTtcbiAgfSksXG4pO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3RhY2tOYW1lRnJvbUFybihzdGFja0Fybjogc3RyaW5nKTogc3RyaW5nIHtcbiAgLy8gRXhhbXBsZSBBUk46IGFybjphd3M6Y2xvdWRmb3JtYXRpb246cmVnaW9uOmFjY291bnQtaWQ6c3RhY2svc3RhY2stbmFtZS9ndWlkXG4gIGNvbnN0IGFyblBhcnRzID0gc3RhY2tBcm4uc3BsaXQoJzonKTtcbiAgY29uc3QgcmVzb3VyY2UgPSBhcm5QYXJ0c1s1XTsgLy8gXCJzdGFjay9zdGFjay1uYW1lL2d1aWRcIlxuICBjb25zdCByZXNvdXJjZVBhcnRzID0gcmVzb3VyY2Uuc3BsaXQoJy8nKTtcbiAgLy8gVGhlIHN0YWNrIG5hbWUgaXMgdGhlIHNlY29uZCBwYXJ0OiBbXCJzdGFja1wiLCBcInN0YWNrLW5hbWVcIiwgXCJndWlkXCJdXG4gIHJldHVybiByZXNvdXJjZVBhcnRzWzFdO1xufVxuIl19
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLXJlZmFjdG9yLW5vLWFtYmlndWl0aWVzLWV4ZWN1dGlvbi5pbnRlZ3Rlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJjZGstcmVmYWN0b3Itbm8tYW1iaWd1aXRpZXMtZXhlY3V0aW9uLmludGVndGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWdEQSxrREFPQztBQXZERCwwRUFBbUc7QUFDbkcsc0NBQThEO0FBQzlELGtEQUFpRTtBQUVqRSxJQUFBLGVBQVMsRUFDUCxzRUFBc0UsRUFDdEUsSUFBQSx5QkFBbUIsRUFBQyxhQUFhLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFO0lBQ25ELDJCQUEyQjtJQUMzQixNQUFNLE9BQU8sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDeEMsTUFBTSxRQUFRLEdBQUcsTUFBTSxPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRTtRQUNoRCxNQUFNLEVBQUU7WUFDTixzQkFBc0IsRUFBRSxTQUFTO1NBQ2xDO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsc0RBQXNEO0lBQ3RELE1BQU0sTUFBTSxHQUFHLE1BQU0sT0FBTyxDQUFDLFdBQVcsQ0FBQztRQUN2QyxPQUFPLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRSxTQUFTLENBQUM7UUFDM0MsWUFBWSxFQUFFLElBQUk7UUFDbEIscURBQXFEO1FBQ3JELDhDQUE4QztRQUM5QyxNQUFNLEVBQUU7WUFDTixzQkFBc0IsRUFBRSxTQUFTO1NBQ2xDO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBRWxELE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQzVELElBQUkscURBQTZCLENBQUM7UUFDaEMsU0FBUyxFQUFFLG1CQUFtQixDQUFDLFFBQVEsQ0FBQztLQUN6QyxDQUFDLENBQ0gsQ0FBQztJQUVGLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQ2xDLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FDekMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLGlCQUFrQixFQUFFLFFBQVEsQ0FBNEIsQ0FDakYsQ0FDRixDQUFDO0lBRUYsTUFBTSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUVoRCwyR0FBMkc7SUFDM0csb0RBQW9EO0lBQ3BELE1BQU0sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUM1RCxDQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxPQUFPLEVBQUUsbUNBQXlCLEVBQUUsRUFBRSxDQUFDLENBQ3BELENBQUM7QUFFRixTQUFnQixtQkFBbUIsQ0FBQyxRQUFnQjtJQUNsRCw4RUFBOEU7SUFDOUUsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNyQyxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQywwQkFBMEI7SUFDeEQsTUFBTSxhQUFhLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMxQyxxRUFBcUU7SUFDckUsT0FBTyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDMUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlc2NyaWJlU3RhY2tSZXNvdXJjZXNDb21tYW5kLCB0eXBlIFN0YWNrUmVzb3VyY2UgfSBmcm9tICdAYXdzLXNkay9jbGllbnQtY2xvdWRmb3JtYXRpb24nO1xuaW1wb3J0IHsgaW50ZWdUZXN0LCB3aXRoU3BlY2lmaWNGaXh0dXJlIH0gZnJvbSAnLi4vLi4vLi4vbGliJztcbmltcG9ydCB7IFNUQUNLX1JFRkFDVE9SSU5HX1JFR0lPTlMgfSBmcm9tICcuLi8uLi8uLi9saWIvcmVnaW9ucyc7XG5cbmludGVnVGVzdChcbiAgJ2NkayByZWZhY3RvciAtIGRldGVjdHMgcmVmYWN0b3JpbmcgY2hhbmdlcyBhbmQgZXhlY3V0ZXMgdGhlIHJlZmFjdG9yJyxcbiAgd2l0aFNwZWNpZmljRml4dHVyZSgncmVmYWN0b3JpbmcnLCBhc3luYyAoZml4dHVyZSkgPT4ge1xuICAgIC8vIEZpcnN0LCBkZXBsb3kgdGhlIHN0YWNrc1xuICAgIGF3YWl0IGZpeHR1cmUuY2RrRGVwbG95KCdidWNrZXQtc3RhY2snKTtcbiAgICBjb25zdCBzdGFja0FybiA9IGF3YWl0IGZpeHR1cmUuY2RrRGVwbG95KCdiYXNpYycsIHtcbiAgICAgIG1vZEVudjoge1xuICAgICAgICBCQVNJQ19RVUVVRV9MT0dJQ0FMX0lEOiAnT2xkTmFtZScsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgLy8gVGhlbiBzZWUgaWYgdGhlIHJlZmFjdG9yaW5nIHRvb2wgZGV0ZWN0cyB0aGUgY2hhbmdlXG4gICAgY29uc3Qgc3RkRXJyID0gYXdhaXQgZml4dHVyZS5jZGtSZWZhY3Rvcih7XG4gICAgICBvcHRpb25zOiBbJy0tdW5zdGFibGU9cmVmYWN0b3InLCAnLS1mb3JjZSddLFxuICAgICAgYWxsb3dFcnJFeGl0OiB0cnVlLFxuICAgICAgLy8gTWFraW5nIHN1cmUgdGhlIHN5bnRoZXNpemVkIHN0YWNrIGhhcyBhIHF1ZXVlIHdpdGhcbiAgICAgIC8vIHRoZSBuZXcgbmFtZSBzbyB0aGF0IGEgcmVmYWN0b3IgaXMgZGV0ZWN0ZWRcbiAgICAgIG1vZEVudjoge1xuICAgICAgICBCQVNJQ19RVUVVRV9MT0dJQ0FMX0lEOiAnTmV3TmFtZScsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgZXhwZWN0KHN0ZEVycikudG9NYXRjaCgnU3RhY2sgcmVmYWN0b3IgY29tcGxldGUnKTtcblxuICAgIGNvbnN0IHN0YWNrRGVzY3JpcHRpb24gPSBhd2FpdCBmaXh0dXJlLmF3cy5jbG91ZEZvcm1hdGlvbi5zZW5kKFxuICAgICAgbmV3IERlc2NyaWJlU3RhY2tSZXNvdXJjZXNDb21tYW5kKHtcbiAgICAgICAgU3RhY2tOYW1lOiBnZXRTdGFja05hbWVGcm9tQXJuKHN0YWNrQXJuKSxcbiAgICAgIH0pLFxuICAgICk7XG5cbiAgICBjb25zdCByZXNvdXJjZXMgPSBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgICAoc3RhY2tEZXNjcmlwdGlvbi5TdGFja1Jlc291cmNlcyA/PyBbXSkubWFwKFxuICAgICAgICAocmVzb3VyY2UpID0+IFtyZXNvdXJjZS5Mb2dpY2FsUmVzb3VyY2VJZCEsIHJlc291cmNlXSBhcyBbc3RyaW5nLCBTdGFja1Jlc291cmNlXSxcbiAgICAgICksXG4gICAgKTtcblxuICAgIGV4cGVjdChyZXNvdXJjZXMuTmV3TmFtZTU3QjE3MUZFKS50b0JlRGVmaW5lZCgpO1xuXG4gICAgLy8gQ2xvdWRGb3JtYXRpb24gbWF5IGNvbXBsZXRlIHRoZSByZWZhY3RvcmluZywgd2hpbGUgdGhlIHN0YWNrIGlzIHN0aWxsIGluIHRoZSBcIlVQREFURV9JTl9QUk9HUkVTU1wiIHN0YXRlLlxuICAgIC8vIEdpdmUgaXQgYSBjb3VwbGUgb2Ygc2Vjb25kcyB0byBmaW5pc2ggdGhlIHVwZGF0ZS5cbiAgICBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gc2V0VGltZW91dChyZXNvbHZlLCAyMDAwKSk7XG4gIH0sIHsgYXdzOiB7IHJlZ2lvbnM6IFNUQUNLX1JFRkFDVE9SSU5HX1JFR0lPTlMgfSB9KSxcbik7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTdGFja05hbWVGcm9tQXJuKHN0YWNrQXJuOiBzdHJpbmcpOiBzdHJpbmcge1xuICAvLyBFeGFtcGxlIEFSTjogYXJuOmF3czpjbG91ZGZvcm1hdGlvbjpyZWdpb246YWNjb3VudC1pZDpzdGFjay9zdGFjay1uYW1lL2d1aWRcbiAgY29uc3QgYXJuUGFydHMgPSBzdGFja0Fybi5zcGxpdCgnOicpO1xuICBjb25zdCByZXNvdXJjZSA9IGFyblBhcnRzWzVdOyAvLyBcInN0YWNrL3N0YWNrLW5hbWUvZ3VpZFwiXG4gIGNvbnN0IHJlc291cmNlUGFydHMgPSByZXNvdXJjZS5zcGxpdCgnLycpO1xuICAvLyBUaGUgc3RhY2sgbmFtZSBpcyB0aGUgc2Vjb25kIHBhcnQ6IFtcInN0YWNrXCIsIFwic3RhY2stbmFtZVwiLCBcImd1aWRcIl1cbiAgcmV0dXJuIHJlc291cmNlUGFydHNbMV07XG59XG4iXX0=
@@ -6,6 +6,7 @@ const os = require("node:os");
6
6
  const path = require("node:path");
7
7
  const client_cloudformation_1 = require("@aws-sdk/client-cloudformation");
8
8
  const lib_1 = require("../../../lib");
9
+ const regions_1 = require("../../../lib/regions");
9
10
  (0, lib_1.integTest)('cdk refactor - detects refactoring changes and executes the refactor, overriding ambiguities', (0, lib_1.withSpecificFixture)('refactoring', async (fixture) => {
10
11
  // First, deploy the stacks
11
12
  await fixture.cdkDeploy('bucket-stack');
@@ -52,7 +53,7 @@ const lib_1 = require("../../../lib");
52
53
  // CloudFormation may complete the refactoring, while the stack is still in the "UPDATE_IN_PROGRESS" state.
53
54
  // Give it a couple of seconds to finish the update.
54
55
  await new Promise((resolve) => setTimeout(resolve, 2000));
55
- }));
56
+ }, { aws: { regions: regions_1.STACK_REFACTORING_REGIONS } }));
56
57
  function getStackInfoFromArn(stackArn) {
57
58
  // Example ARN: arn:aws:cloudformation:region:account-id:stack/stack-name/guid
58
59
  const arnParts = stackArn.split(':');
@@ -65,4 +66,4 @@ function getStackInfoFromArn(stackArn) {
65
66
  name: resourceParts[1],
66
67
  };
67
68
  }
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLXJlZmFjdG9yLXdpdGgtYW1iaWd1aXRpZXMtZXhlY3V0aW9uLmludGVndGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNkay1yZWZhY3Rvci13aXRoLWFtYmlndWl0aWVzLWV4ZWN1dGlvbi5pbnRlZ3Rlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUErRUEsa0RBV0M7QUExRkQsOEJBQThCO0FBQzlCLDhCQUE4QjtBQUM5QixrQ0FBa0M7QUFFbEMsMEVBQStFO0FBQy9FLHNDQUE4RDtBQUU5RCxJQUFBLGVBQVMsRUFDUCw4RkFBOEYsRUFDOUYsSUFBQSx5QkFBbUIsRUFBQyxhQUFhLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFO0lBQ25ELDJCQUEyQjtJQUMzQixNQUFNLE9BQU8sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDeEMsTUFBTSxRQUFRLEdBQUcsTUFBTSxPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRTtRQUNoRCxNQUFNLEVBQUU7WUFDTixzQkFBc0IsRUFBRSxTQUFTO1lBQ2pDLDJCQUEyQixFQUFFLG1CQUFtQjtTQUNqRDtLQUNGLENBQUMsQ0FBQztJQUVILE1BQU0sU0FBUyxHQUFHLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2hELE1BQU0sU0FBUyxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUM7SUFFakMsTUFBTSxTQUFTLEdBQUc7UUFDaEIsWUFBWSxFQUFFO1lBQ1o7Z0JBQ0UsT0FBTyxFQUFFLFNBQVMsQ0FBQyxPQUFPO2dCQUMxQixNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU07Z0JBQ3hCLFNBQVMsRUFBRTtvQkFDVCxDQUFDLEdBQUcsU0FBUyxtQkFBbUIsQ0FBQyxFQUFFLEdBQUcsU0FBUyxtQkFBbUI7b0JBQ2xFLENBQUMsR0FBRyxTQUFTLDZCQUE2QixDQUFDLEVBQUUsR0FBRyxTQUFTLDZCQUE2QjtpQkFDdkY7YUFDRjtTQUNGO0tBQ0YsQ0FBQztJQUVGLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFLGFBQWEsSUFBSSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM3RSxFQUFFLENBQUMsYUFBYSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFFM0Qsc0RBQXNEO0lBQ3RELE1BQU0sTUFBTSxHQUFHLE1BQU0sT0FBTyxDQUFDLFdBQVcsQ0FBQztRQUN2QyxPQUFPLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRSxTQUFTLEVBQUUsbUJBQW1CLGFBQWEsRUFBRSxDQUFDO1FBQy9FLFlBQVksRUFBRSxJQUFJO1FBQ2xCLHFEQUFxRDtRQUNyRCw4Q0FBOEM7UUFDOUMsTUFBTSxFQUFFO1lBQ04sc0JBQXNCLEVBQUUsU0FBUztZQUNqQywyQkFBMkIsRUFBRSxtQkFBbUI7U0FDakQ7S0FDRixDQUFDLENBQUM7SUFFSCxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFFbEQsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLElBQUksQ0FDNUQsSUFBSSxxREFBNkIsQ0FBQztRQUNoQyxTQUFTLEVBQUUsU0FBUztLQUNyQixDQUFDLENBQ0gsQ0FBQztJQUVGLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQ2xDLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FDekMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLGlCQUFrQixFQUFFLFFBQVEsQ0FBNEIsQ0FDakYsQ0FDRixDQUFDO0lBRUYsTUFBTSxDQUFDLFNBQVMsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzFELE1BQU0sQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7SUFFaEQsMkdBQTJHO0lBQzNHLG9EQUFvRDtJQUNwRCxNQUFNLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDNUQsQ0FBQyxDQUFDLENBQ0gsQ0FBQztBQVFGLFNBQWdCLG1CQUFtQixDQUFDLFFBQWdCO0lBQ2xELDhFQUE4RTtJQUM5RSxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3JDLE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLDBCQUEwQjtJQUN4RCxNQUFNLGFBQWEsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzFDLHFFQUFxRTtJQUNyRSxPQUFPO1FBQ0wsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDbkIsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDcEIsSUFBSSxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUM7S0FDdkIsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBmcyBmcm9tICdub2RlOmZzJztcbmltcG9ydCAqIGFzIG9zIGZyb20gJ25vZGU6b3MnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdub2RlOnBhdGgnO1xuaW1wb3J0IHR5cGUgeyBTdGFja1Jlc291cmNlIH0gZnJvbSAnQGF3cy1zZGsvY2xpZW50LWNsb3VkZm9ybWF0aW9uJztcbmltcG9ydCB7IERlc2NyaWJlU3RhY2tSZXNvdXJjZXNDb21tYW5kIH0gZnJvbSAnQGF3cy1zZGsvY2xpZW50LWNsb3VkZm9ybWF0aW9uJztcbmltcG9ydCB7IGludGVnVGVzdCwgd2l0aFNwZWNpZmljRml4dHVyZSB9IGZyb20gJy4uLy4uLy4uL2xpYic7XG5cbmludGVnVGVzdChcbiAgJ2NkayByZWZhY3RvciAtIGRldGVjdHMgcmVmYWN0b3JpbmcgY2hhbmdlcyBhbmQgZXhlY3V0ZXMgdGhlIHJlZmFjdG9yLCBvdmVycmlkaW5nIGFtYmlndWl0aWVzJyxcbiAgd2l0aFNwZWNpZmljRml4dHVyZSgncmVmYWN0b3JpbmcnLCBhc3luYyAoZml4dHVyZSkgPT4ge1xuICAgIC8vIEZpcnN0LCBkZXBsb3kgdGhlIHN0YWNrc1xuICAgIGF3YWl0IGZpeHR1cmUuY2RrRGVwbG95KCdidWNrZXQtc3RhY2snKTtcbiAgICBjb25zdCBzdGFja0FybiA9IGF3YWl0IGZpeHR1cmUuY2RrRGVwbG95KCdiYXNpYycsIHtcbiAgICAgIG1vZEVudjoge1xuICAgICAgICBCQVNJQ19RVUVVRV9MT0dJQ0FMX0lEOiAnT2xkTmFtZScsXG4gICAgICAgIEFERElUSU9OQUxfUVVFVUVfTE9HSUNBTF9JRDogJ0FkZGl0aW9uYWxPbGROYW1lJyxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBjb25zdCBzdGFja0luZm8gPSBnZXRTdGFja0luZm9Gcm9tQXJuKHN0YWNrQXJuKTtcbiAgICBjb25zdCBzdGFja05hbWUgPSBzdGFja0luZm8ubmFtZTtcblxuICAgIGNvbnN0IG92ZXJyaWRlcyA9IHtcbiAgICAgIGVudmlyb25tZW50czogW1xuICAgICAgICB7XG4gICAgICAgICAgYWNjb3VudDogc3RhY2tJbmZvLmFjY291bnQsXG4gICAgICAgICAgcmVnaW9uOiBzdGFja0luZm8ucmVnaW9uLFxuICAgICAgICAgIHJlc291cmNlczoge1xuICAgICAgICAgICAgW2Ake3N0YWNrTmFtZX0vT2xkTmFtZS9SZXNvdXJjZWBdOiBgJHtzdGFja05hbWV9L05ld05hbWUvUmVzb3VyY2VgLFxuICAgICAgICAgICAgW2Ake3N0YWNrTmFtZX0vQWRkaXRpb25hbE9sZE5hbWUvUmVzb3VyY2VgXTogYCR7c3RhY2tOYW1lfS9BZGRpdGlvbmFsTmV3TmFtZS9SZXNvdXJjZWAsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfTtcblxuICAgIGNvbnN0IG92ZXJyaWRlc1BhdGggPSBwYXRoLmpvaW4ob3MudG1wZGlyKCksIGBvdmVycmlkZXMtJHtEYXRlLm5vdygpfS5qc29uYCk7XG4gICAgZnMud3JpdGVGaWxlU3luYyhvdmVycmlkZXNQYXRoLCBKU09OLnN0cmluZ2lmeShvdmVycmlkZXMpKTtcblxuICAgIC8vIFRoZW4gc2VlIGlmIHRoZSByZWZhY3RvcmluZyB0b29sIGRldGVjdHMgdGhlIGNoYW5nZVxuICAgIGNvbnN0IHN0ZEVyciA9IGF3YWl0IGZpeHR1cmUuY2RrUmVmYWN0b3Ioe1xuICAgICAgb3B0aW9uczogWyctLXVuc3RhYmxlPXJlZmFjdG9yJywgJy0tZm9yY2UnLCBgLS1vdmVycmlkZS1maWxlPSR7b3ZlcnJpZGVzUGF0aH1gXSxcbiAgICAgIGFsbG93RXJyRXhpdDogdHJ1ZSxcbiAgICAgIC8vIE1ha2luZyBzdXJlIHRoZSBzeW50aGVzaXplZCBzdGFjayBoYXMgYSBxdWV1ZSB3aXRoXG4gICAgICAvLyB0aGUgbmV3IG5hbWUgc28gdGhhdCBhIHJlZmFjdG9yIGlzIGRldGVjdGVkXG4gICAgICBtb2RFbnY6IHtcbiAgICAgICAgQkFTSUNfUVVFVUVfTE9HSUNBTF9JRDogJ05ld05hbWUnLFxuICAgICAgICBBRERJVElPTkFMX1FVRVVFX0xPR0lDQUxfSUQ6ICdBZGRpdGlvbmFsTmV3TmFtZScsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgZXhwZWN0KHN0ZEVycikudG9NYXRjaCgnU3RhY2sgcmVmYWN0b3IgY29tcGxldGUnKTtcblxuICAgIGNvbnN0IHN0YWNrRGVzY3JpcHRpb24gPSBhd2FpdCBmaXh0dXJlLmF3cy5jbG91ZEZvcm1hdGlvbi5zZW5kKFxuICAgICAgbmV3IERlc2NyaWJlU3RhY2tSZXNvdXJjZXNDb21tYW5kKHtcbiAgICAgICAgU3RhY2tOYW1lOiBzdGFja05hbWUsXG4gICAgICB9KSxcbiAgICApO1xuXG4gICAgY29uc3QgcmVzb3VyY2VzID0gT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgICAgKHN0YWNrRGVzY3JpcHRpb24uU3RhY2tSZXNvdXJjZXMgPz8gW10pLm1hcChcbiAgICAgICAgKHJlc291cmNlKSA9PiBbcmVzb3VyY2UuTG9naWNhbFJlc291cmNlSWQhLCByZXNvdXJjZV0gYXMgW3N0cmluZywgU3RhY2tSZXNvdXJjZV0sXG4gICAgICApLFxuICAgICk7XG5cbiAgICBleHBlY3QocmVzb3VyY2VzLkFkZGl0aW9uYWxOZXdOYW1lRTJGQzVBNEMpLnRvQmVEZWZpbmVkKCk7XG4gICAgZXhwZWN0KHJlc291cmNlcy5OZXdOYW1lNTdCMTcxRkUpLnRvQmVEZWZpbmVkKCk7XG5cbiAgICAvLyBDbG91ZEZvcm1hdGlvbiBtYXkgY29tcGxldGUgdGhlIHJlZmFjdG9yaW5nLCB3aGlsZSB0aGUgc3RhY2sgaXMgc3RpbGwgaW4gdGhlIFwiVVBEQVRFX0lOX1BST0dSRVNTXCIgc3RhdGUuXG4gICAgLy8gR2l2ZSBpdCBhIGNvdXBsZSBvZiBzZWNvbmRzIHRvIGZpbmlzaCB0aGUgdXBkYXRlLlxuICAgIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIDIwMDApKTtcbiAgfSksXG4pO1xuXG5pbnRlcmZhY2UgU3RhY2tJbmZvIHtcbiAgcmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuICByZWFkb25seSByZWdpb246IHN0cmluZztcbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3RhY2tJbmZvRnJvbUFybihzdGFja0Fybjogc3RyaW5nKTogU3RhY2tJbmZvIHtcbiAgLy8gRXhhbXBsZSBBUk46IGFybjphd3M6Y2xvdWRmb3JtYXRpb246cmVnaW9uOmFjY291bnQtaWQ6c3RhY2svc3RhY2stbmFtZS9ndWlkXG4gIGNvbnN0IGFyblBhcnRzID0gc3RhY2tBcm4uc3BsaXQoJzonKTtcbiAgY29uc3QgcmVzb3VyY2UgPSBhcm5QYXJ0c1s1XTsgLy8gXCJzdGFjay9zdGFjay1uYW1lL2d1aWRcIlxuICBjb25zdCByZXNvdXJjZVBhcnRzID0gcmVzb3VyY2Uuc3BsaXQoJy8nKTtcbiAgLy8gVGhlIHN0YWNrIG5hbWUgaXMgdGhlIHNlY29uZCBwYXJ0OiBbXCJzdGFja1wiLCBcInN0YWNrLW5hbWVcIiwgXCJndWlkXCJdXG4gIHJldHVybiB7XG4gICAgcmVnaW9uOiBhcm5QYXJ0c1szXSxcbiAgICBhY2NvdW50OiBhcm5QYXJ0c1s0XSxcbiAgICBuYW1lOiByZXNvdXJjZVBhcnRzWzFdLFxuICB9O1xufVxuIl19
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLXJlZmFjdG9yLXdpdGgtYW1iaWd1aXRpZXMtZXhlY3V0aW9uLmludGVndGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNkay1yZWZhY3Rvci13aXRoLWFtYmlndWl0aWVzLWV4ZWN1dGlvbi5pbnRlZ3Rlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFnRkEsa0RBV0M7QUEzRkQsOEJBQThCO0FBQzlCLDhCQUE4QjtBQUM5QixrQ0FBa0M7QUFFbEMsMEVBQStFO0FBQy9FLHNDQUE4RDtBQUM5RCxrREFBaUU7QUFFakUsSUFBQSxlQUFTLEVBQ1AsOEZBQThGLEVBQzlGLElBQUEseUJBQW1CLEVBQUMsYUFBYSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtJQUNuRCwyQkFBMkI7SUFDM0IsTUFBTSxPQUFPLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hDLE1BQU0sUUFBUSxHQUFHLE1BQU0sT0FBTyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUU7UUFDaEQsTUFBTSxFQUFFO1lBQ04sc0JBQXNCLEVBQUUsU0FBUztZQUNqQywyQkFBMkIsRUFBRSxtQkFBbUI7U0FDakQ7S0FDRixDQUFDLENBQUM7SUFFSCxNQUFNLFNBQVMsR0FBRyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNoRCxNQUFNLFNBQVMsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDO0lBRWpDLE1BQU0sU0FBUyxHQUFHO1FBQ2hCLFlBQVksRUFBRTtZQUNaO2dCQUNFLE9BQU8sRUFBRSxTQUFTLENBQUMsT0FBTztnQkFDMUIsTUFBTSxFQUFFLFNBQVMsQ0FBQyxNQUFNO2dCQUN4QixTQUFTLEVBQUU7b0JBQ1QsQ0FBQyxHQUFHLFNBQVMsbUJBQW1CLENBQUMsRUFBRSxHQUFHLFNBQVMsbUJBQW1CO29CQUNsRSxDQUFDLEdBQUcsU0FBUyw2QkFBNkIsQ0FBQyxFQUFFLEdBQUcsU0FBUyw2QkFBNkI7aUJBQ3ZGO2FBQ0Y7U0FDRjtLQUNGLENBQUM7SUFFRixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxhQUFhLElBQUksQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDN0UsRUFBRSxDQUFDLGFBQWEsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBRTNELHNEQUFzRDtJQUN0RCxNQUFNLE1BQU0sR0FBRyxNQUFNLE9BQU8sQ0FBQyxXQUFXLENBQUM7UUFDdkMsT0FBTyxFQUFFLENBQUMscUJBQXFCLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixhQUFhLEVBQUUsQ0FBQztRQUMvRSxZQUFZLEVBQUUsSUFBSTtRQUNsQixxREFBcUQ7UUFDckQsOENBQThDO1FBQzlDLE1BQU0sRUFBRTtZQUNOLHNCQUFzQixFQUFFLFNBQVM7WUFDakMsMkJBQTJCLEVBQUUsbUJBQW1CO1NBQ2pEO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBRWxELE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQzVELElBQUkscURBQTZCLENBQUM7UUFDaEMsU0FBUyxFQUFFLFNBQVM7S0FDckIsQ0FBQyxDQUNILENBQUM7SUFFRixNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUNsQyxDQUFDLGdCQUFnQixDQUFDLGNBQWMsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQ3pDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxpQkFBa0IsRUFBRSxRQUFRLENBQTRCLENBQ2pGLENBQ0YsQ0FBQztJQUVGLE1BQU0sQ0FBQyxTQUFTLENBQUMseUJBQXlCLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUMxRCxNQUFNLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBRWhELDJHQUEyRztJQUMzRyxvREFBb0Q7SUFDcEQsTUFBTSxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBQzVELENBQUMsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLE9BQU8sRUFBRSxtQ0FBeUIsRUFBRSxFQUFFLENBQUMsQ0FDcEQsQ0FBQztBQVFGLFNBQWdCLG1CQUFtQixDQUFDLFFBQWdCO0lBQ2xELDhFQUE4RTtJQUM5RSxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3JDLE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLDBCQUEwQjtJQUN4RCxNQUFNLGFBQWEsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzFDLHFFQUFxRTtJQUNyRSxPQUFPO1FBQ0wsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDbkIsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDcEIsSUFBSSxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUM7S0FDdkIsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBmcyBmcm9tICdub2RlOmZzJztcbmltcG9ydCAqIGFzIG9zIGZyb20gJ25vZGU6b3MnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdub2RlOnBhdGgnO1xuaW1wb3J0IHR5cGUgeyBTdGFja1Jlc291cmNlIH0gZnJvbSAnQGF3cy1zZGsvY2xpZW50LWNsb3VkZm9ybWF0aW9uJztcbmltcG9ydCB7IERlc2NyaWJlU3RhY2tSZXNvdXJjZXNDb21tYW5kIH0gZnJvbSAnQGF3cy1zZGsvY2xpZW50LWNsb3VkZm9ybWF0aW9uJztcbmltcG9ydCB7IGludGVnVGVzdCwgd2l0aFNwZWNpZmljRml4dHVyZSB9IGZyb20gJy4uLy4uLy4uL2xpYic7XG5pbXBvcnQgeyBTVEFDS19SRUZBQ1RPUklOR19SRUdJT05TIH0gZnJvbSAnLi4vLi4vLi4vbGliL3JlZ2lvbnMnO1xuXG5pbnRlZ1Rlc3QoXG4gICdjZGsgcmVmYWN0b3IgLSBkZXRlY3RzIHJlZmFjdG9yaW5nIGNoYW5nZXMgYW5kIGV4ZWN1dGVzIHRoZSByZWZhY3Rvciwgb3ZlcnJpZGluZyBhbWJpZ3VpdGllcycsXG4gIHdpdGhTcGVjaWZpY0ZpeHR1cmUoJ3JlZmFjdG9yaW5nJywgYXN5bmMgKGZpeHR1cmUpID0+IHtcbiAgICAvLyBGaXJzdCwgZGVwbG95IHRoZSBzdGFja3NcbiAgICBhd2FpdCBmaXh0dXJlLmNka0RlcGxveSgnYnVja2V0LXN0YWNrJyk7XG4gICAgY29uc3Qgc3RhY2tBcm4gPSBhd2FpdCBmaXh0dXJlLmNka0RlcGxveSgnYmFzaWMnLCB7XG4gICAgICBtb2RFbnY6IHtcbiAgICAgICAgQkFTSUNfUVVFVUVfTE9HSUNBTF9JRDogJ09sZE5hbWUnLFxuICAgICAgICBBRERJVElPTkFMX1FVRVVFX0xPR0lDQUxfSUQ6ICdBZGRpdGlvbmFsT2xkTmFtZScsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgY29uc3Qgc3RhY2tJbmZvID0gZ2V0U3RhY2tJbmZvRnJvbUFybihzdGFja0Fybik7XG4gICAgY29uc3Qgc3RhY2tOYW1lID0gc3RhY2tJbmZvLm5hbWU7XG5cbiAgICBjb25zdCBvdmVycmlkZXMgPSB7XG4gICAgICBlbnZpcm9ubWVudHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGFjY291bnQ6IHN0YWNrSW5mby5hY2NvdW50LFxuICAgICAgICAgIHJlZ2lvbjogc3RhY2tJbmZvLnJlZ2lvbixcbiAgICAgICAgICByZXNvdXJjZXM6IHtcbiAgICAgICAgICAgIFtgJHtzdGFja05hbWV9L09sZE5hbWUvUmVzb3VyY2VgXTogYCR7c3RhY2tOYW1lfS9OZXdOYW1lL1Jlc291cmNlYCxcbiAgICAgICAgICAgIFtgJHtzdGFja05hbWV9L0FkZGl0aW9uYWxPbGROYW1lL1Jlc291cmNlYF06IGAke3N0YWNrTmFtZX0vQWRkaXRpb25hbE5ld05hbWUvUmVzb3VyY2VgLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH07XG5cbiAgICBjb25zdCBvdmVycmlkZXNQYXRoID0gcGF0aC5qb2luKG9zLnRtcGRpcigpLCBgb3ZlcnJpZGVzLSR7RGF0ZS5ub3coKX0uanNvbmApO1xuICAgIGZzLndyaXRlRmlsZVN5bmMob3ZlcnJpZGVzUGF0aCwgSlNPTi5zdHJpbmdpZnkob3ZlcnJpZGVzKSk7XG5cbiAgICAvLyBUaGVuIHNlZSBpZiB0aGUgcmVmYWN0b3JpbmcgdG9vbCBkZXRlY3RzIHRoZSBjaGFuZ2VcbiAgICBjb25zdCBzdGRFcnIgPSBhd2FpdCBmaXh0dXJlLmNka1JlZmFjdG9yKHtcbiAgICAgIG9wdGlvbnM6IFsnLS11bnN0YWJsZT1yZWZhY3RvcicsICctLWZvcmNlJywgYC0tb3ZlcnJpZGUtZmlsZT0ke292ZXJyaWRlc1BhdGh9YF0sXG4gICAgICBhbGxvd0VyckV4aXQ6IHRydWUsXG4gICAgICAvLyBNYWtpbmcgc3VyZSB0aGUgc3ludGhlc2l6ZWQgc3RhY2sgaGFzIGEgcXVldWUgd2l0aFxuICAgICAgLy8gdGhlIG5ldyBuYW1lIHNvIHRoYXQgYSByZWZhY3RvciBpcyBkZXRlY3RlZFxuICAgICAgbW9kRW52OiB7XG4gICAgICAgIEJBU0lDX1FVRVVFX0xPR0lDQUxfSUQ6ICdOZXdOYW1lJyxcbiAgICAgICAgQURESVRJT05BTF9RVUVVRV9MT0dJQ0FMX0lEOiAnQWRkaXRpb25hbE5ld05hbWUnLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGV4cGVjdChzdGRFcnIpLnRvTWF0Y2goJ1N0YWNrIHJlZmFjdG9yIGNvbXBsZXRlJyk7XG5cbiAgICBjb25zdCBzdGFja0Rlc2NyaXB0aW9uID0gYXdhaXQgZml4dHVyZS5hd3MuY2xvdWRGb3JtYXRpb24uc2VuZChcbiAgICAgIG5ldyBEZXNjcmliZVN0YWNrUmVzb3VyY2VzQ29tbWFuZCh7XG4gICAgICAgIFN0YWNrTmFtZTogc3RhY2tOYW1lLFxuICAgICAgfSksXG4gICAgKTtcblxuICAgIGNvbnN0IHJlc291cmNlcyA9IE9iamVjdC5mcm9tRW50cmllcyhcbiAgICAgIChzdGFja0Rlc2NyaXB0aW9uLlN0YWNrUmVzb3VyY2VzID8/IFtdKS5tYXAoXG4gICAgICAgIChyZXNvdXJjZSkgPT4gW3Jlc291cmNlLkxvZ2ljYWxSZXNvdXJjZUlkISwgcmVzb3VyY2VdIGFzIFtzdHJpbmcsIFN0YWNrUmVzb3VyY2VdLFxuICAgICAgKSxcbiAgICApO1xuXG4gICAgZXhwZWN0KHJlc291cmNlcy5BZGRpdGlvbmFsTmV3TmFtZUUyRkM1QTRDKS50b0JlRGVmaW5lZCgpO1xuICAgIGV4cGVjdChyZXNvdXJjZXMuTmV3TmFtZTU3QjE3MUZFKS50b0JlRGVmaW5lZCgpO1xuXG4gICAgLy8gQ2xvdWRGb3JtYXRpb24gbWF5IGNvbXBsZXRlIHRoZSByZWZhY3RvcmluZywgd2hpbGUgdGhlIHN0YWNrIGlzIHN0aWxsIGluIHRoZSBcIlVQREFURV9JTl9QUk9HUkVTU1wiIHN0YXRlLlxuICAgIC8vIEdpdmUgaXQgYSBjb3VwbGUgb2Ygc2Vjb25kcyB0byBmaW5pc2ggdGhlIHVwZGF0ZS5cbiAgICBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gc2V0VGltZW91dChyZXNvbHZlLCAyMDAwKSk7XG4gIH0sIHsgYXdzOiB7IHJlZ2lvbnM6IFNUQUNLX1JFRkFDVE9SSU5HX1JFR0lPTlMgfSB9KSxcbik7XG5cbmludGVyZmFjZSBTdGFja0luZm8ge1xuICByZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTdGFja0luZm9Gcm9tQXJuKHN0YWNrQXJuOiBzdHJpbmcpOiBTdGFja0luZm8ge1xuICAvLyBFeGFtcGxlIEFSTjogYXJuOmF3czpjbG91ZGZvcm1hdGlvbjpyZWdpb246YWNjb3VudC1pZDpzdGFjay9zdGFjay1uYW1lL2d1aWRcbiAgY29uc3QgYXJuUGFydHMgPSBzdGFja0Fybi5zcGxpdCgnOicpO1xuICBjb25zdCByZXNvdXJjZSA9IGFyblBhcnRzWzVdOyAvLyBcInN0YWNrL3N0YWNrLW5hbWUvZ3VpZFwiXG4gIGNvbnN0IHJlc291cmNlUGFydHMgPSByZXNvdXJjZS5zcGxpdCgnLycpO1xuICAvLyBUaGUgc3RhY2sgbmFtZSBpcyB0aGUgc2Vjb25kIHBhcnQ6IFtcInN0YWNrXCIsIFwic3RhY2stbmFtZVwiLCBcImd1aWRcIl1cbiAgcmV0dXJuIHtcbiAgICByZWdpb246IGFyblBhcnRzWzNdLFxuICAgIGFjY291bnQ6IGFyblBhcnRzWzRdLFxuICAgIG5hbWU6IHJlc291cmNlUGFydHNbMV0sXG4gIH07XG59XG4iXX0=