@aws-cdk-testing/cli-integ 2.71.0 → 2.72.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/bin/query-github.js +2 -2
  2. package/bin/run-suite.js +3 -3
  3. package/bin/stage-distribution.js +10 -10
  4. package/lib/aws.d.ts +7 -7
  5. package/lib/aws.js +9 -9
  6. package/lib/corking.d.ts +2 -0
  7. package/lib/index.js +7 -3
  8. package/lib/integ-test.js +1 -1
  9. package/lib/npm.js +2 -2
  10. package/lib/package-sources/release-source.js +5 -5
  11. package/lib/package-sources/repo-source.js +5 -5
  12. package/lib/resource-pool.js +5 -5
  13. package/lib/shell.d.ts +1 -0
  14. package/lib/shell.js +4 -4
  15. package/lib/staging/codeartifact.js +12 -12
  16. package/lib/staging/maven.js +4 -4
  17. package/lib/staging/npm.js +6 -6
  18. package/lib/staging/nuget.js +4 -4
  19. package/lib/staging/parallel-shell.d.ts +1 -1
  20. package/lib/staging/parallel-shell.js +2 -2
  21. package/lib/staging/pypi.js +5 -5
  22. package/lib/staging/usage-dir.js +11 -11
  23. package/lib/with-aws.d.ts +1 -1
  24. package/lib/with-aws.js +1 -1
  25. package/lib/with-cdk-app.js +10 -10
  26. package/lib/with-packages.js +2 -2
  27. package/lib/with-sam.js +6 -6
  28. package/lib/with-temporary-directory.js +2 -2
  29. package/lib/xpmutex.js +9 -9
  30. package/package.json +3 -3
  31. package/tests/cli-integ-tests/bootstrapping.integtest.js +20 -20
  32. package/tests/cli-integ-tests/cli.integtest.js +59 -59
  33. package/tests/init-csharp/init-csharp.integtest.js +2 -2
  34. package/tests/init-fsharp/init-fsharp.integtest.js +2 -2
  35. package/tests/init-go/init-go.integtest.js +2 -2
  36. package/tests/init-java/init-java.integtest.js +2 -2
  37. package/tests/init-javascript/init-javascript.integtest.js +2 -2
  38. package/tests/init-python/init-python.integtest.js +2 -2
  39. package/tests/init-typescript-app/init-typescript-app.integtest.js +4 -4
  40. package/tests/init-typescript-lib/init-typescript-lib.integtest.js +2 -2
  41. package/tests/uberpackage/uberpackage.integtest.js +2 -2
@@ -39,7 +39,7 @@ async function main() {
39
39
  throw new Error('Cannot pass both `--prior-to and --major at the same time');
40
40
  }
41
41
  // eslint-disable-next-line no-console
42
- console.log(await github_1.fetchPreviousVersion(token, {
42
+ console.log(await (0, github_1.fetchPreviousVersion)(token, {
43
43
  priorTo: args['prior-to'],
44
44
  majorVersion: args.major,
45
45
  }));
@@ -51,4 +51,4 @@ main().catch(e => {
51
51
  console.error(e);
52
52
  process.exitCode = 1;
53
53
  });
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktZ2l0aHViLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsicXVlcnktZ2l0aHViLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsK0NBQStDO0FBQy9DLCtCQUErQjtBQUMvQiwwQ0FBcUQ7QUFFckQsS0FBSyxVQUFVLElBQUk7SUFDakIsTUFBTSxJQUFJLEdBQUcsTUFBTSxLQUFLO1NBQ3JCLE1BQU0sQ0FBQyxPQUFPLEVBQUU7UUFDZixVQUFVLEVBQUUsdURBQXVEO1FBQ25FLEtBQUssRUFBRSxHQUFHO1FBQ1YsSUFBSSxFQUFFLFFBQVE7UUFDZCxXQUFXLEVBQUUsSUFBSTtLQUNsQixDQUFDO1NBQ0QsT0FBTyxDQUFDLGNBQWMsRUFBRSx3QkFBd0IsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUc7U0FDMUQsTUFBTSxDQUFDLFVBQVUsRUFBRTtRQUNsQixXQUFXLEVBQUUseURBQXlEO1FBQ3RFLEtBQUssRUFBRSxHQUFHO1FBQ1YsSUFBSSxFQUFFLFFBQVE7UUFDZCxXQUFXLEVBQUUsSUFBSTtLQUNsQixDQUFDO1NBQ0QsTUFBTSxDQUFDLE9BQU8sRUFBRTtRQUNmLFdBQVcsRUFBRSw2Q0FBNkM7UUFDMUQsS0FBSyxFQUFFLEdBQUc7UUFDVixJQUFJLEVBQUUsUUFBUTtRQUNkLFdBQVcsRUFBRSxJQUFJO0tBQ2xCLENBQUMsQ0FBQztTQUNKLGFBQWEsRUFBRTtTQUNmLElBQUksRUFBRTtTQUNOLGNBQWMsQ0FBQyxLQUFLLENBQUM7U0FDckIsSUFBSSxDQUFDO0lBRVIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUUxQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDO0lBQ3JELElBQUksQ0FBQyxLQUFLLEVBQUU7UUFDVixNQUFNLElBQUksS0FBSyxDQUFDLDBDQUEwQyxDQUFDLENBQUM7S0FDN0Q7SUFFRCxRQUFRLE9BQU8sRUFBRTtRQUNmLEtBQUssY0FBYztZQUNqQixJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNsQyxNQUFNLElBQUksS0FBSyxDQUFDLDJEQUEyRCxDQUFDLENBQUM7YUFDOUU7WUFFRCxzQ0FBc0M7WUFDdEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLDZCQUFvQixDQUFDLEtBQUssRUFBRTtnQkFDNUMsT0FBTyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUM7Z0JBQ3pCLFlBQVksRUFBRSxJQUFJLENBQUMsS0FBSzthQUN6QixDQUFDLENBQUMsQ0FBQztZQUNKLE1BQU07S0FDVDtBQUNILENBQUM7QUFFRCxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUU7SUFDZixzQ0FBc0M7SUFDdEMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqQixPQUFPLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqZXN0L25vLWplc3QtaW1wb3J0XG5pbXBvcnQgKiBhcyB5YXJncyBmcm9tICd5YXJncyc7XG5pbXBvcnQgeyBmZXRjaFByZXZpb3VzVmVyc2lvbiB9IGZyb20gJy4uL2xpYi9naXRodWInO1xuXG5hc3luYyBmdW5jdGlvbiBtYWluKCkge1xuICBjb25zdCBhcmdzID0gYXdhaXQgeWFyZ3NcbiAgICAub3B0aW9uKCd0b2tlbicsIHtcbiAgICAgIGRlc2NyaXB0b246ICdHaXRIdWIgdG9rZW4gKGRlZmF1bHQ6IGZyb20gZW52aXJvbm1lbnQgR0lUSFVCX1RPS0VOKScsXG4gICAgICBhbGlhczogJ3QnLFxuICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICByZXF1aXJlc0FyZzogdHJ1ZSxcbiAgICB9KVxuICAgIC5jb21tYW5kKCdsYXN0LXJlbGVhc2UnLCAnUXVlcnkgdGhlIGxhc3QgcmVsZWFzZScsIGNtZCA9PiBjbWRcbiAgICAgIC5vcHRpb24oJ3ByaW9yLXRvJywge1xuICAgICAgICBkZXNjcmlwdGlvbjogJ1JldHVybiB0aGUgbW9zdCByZWNlbnQgcmVsZWFzZSBiZWZvcmUgdGhlIGdpdmVuIHZlcnNpb24nLFxuICAgICAgICBhbGlhczogJ3AnLFxuICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgcmVxdWlyZXNBcmc6IHRydWUsXG4gICAgICB9KVxuICAgICAgLm9wdGlvbignbWFqb3InLCB7XG4gICAgICAgIGRlc2NyaXB0aW9uOiAnUmV0dXJuIHRoZSBtb3N0IHJlY2VudCByZWxlYXNlIHRoYXQgbWF0Y2hlcycsXG4gICAgICAgIGFsaWFzOiAnbScsXG4gICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICByZXF1aXJlc0FyZzogdHJ1ZSxcbiAgICAgIH0pKVxuICAgIC5kZW1hbmRDb21tYW5kKClcbiAgICAuaGVscCgpXG4gICAgLnNob3dIZWxwT25GYWlsKGZhbHNlKVxuICAgIC5hcmd2O1xuXG4gIGNvbnN0IGNvbW1hbmQgPSBhcmdzLl9bMF07XG5cbiAgY29uc3QgdG9rZW4gPSBhcmdzLnRva2VuID8/IHByb2Nlc3MuZW52LkdJVEhVQl9UT0tFTjtcbiAgaWYgKCF0b2tlbikge1xuICAgIHRocm93IG5ldyBFcnJvcignRWl0aGVyIHBhc3MgLS10b2tlbiBvciBzZXQgR0lUSFVCX1RPS0VOLicpO1xuICB9XG5cbiAgc3dpdGNoIChjb21tYW5kKSB7XG4gICAgY2FzZSAnbGFzdC1yZWxlYXNlJzpcbiAgICAgIGlmIChhcmdzWydwcmlvci10byddICYmIGFyZ3MubWFqb3IpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgcGFzcyBib3RoIGAtLXByaW9yLXRvIGFuZCAtLW1ham9yIGF0IHRoZSBzYW1lIHRpbWUnKTtcbiAgICAgIH1cblxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICAgIGNvbnNvbGUubG9nKGF3YWl0IGZldGNoUHJldmlvdXNWZXJzaW9uKHRva2VuLCB7XG4gICAgICAgIHByaW9yVG86IGFyZ3NbJ3ByaW9yLXRvJ10sXG4gICAgICAgIG1ham9yVmVyc2lvbjogYXJncy5tYWpvcixcbiAgICAgIH0pKTtcbiAgICAgIGJyZWFrO1xuICB9XG59XG5cbm1haW4oKS5jYXRjaChlID0+IHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgY29uc29sZS5lcnJvcihlKTtcbiAgcHJvY2Vzcy5leGl0Q29kZSA9IDE7XG59KTtcbiJdfQ==
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktZ2l0aHViLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsicXVlcnktZ2l0aHViLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsK0NBQStDO0FBQy9DLCtCQUErQjtBQUMvQiwwQ0FBcUQ7QUFFckQsS0FBSyxVQUFVLElBQUk7SUFDakIsTUFBTSxJQUFJLEdBQUcsTUFBTSxLQUFLO1NBQ3JCLE1BQU0sQ0FBQyxPQUFPLEVBQUU7UUFDZixVQUFVLEVBQUUsdURBQXVEO1FBQ25FLEtBQUssRUFBRSxHQUFHO1FBQ1YsSUFBSSxFQUFFLFFBQVE7UUFDZCxXQUFXLEVBQUUsSUFBSTtLQUNsQixDQUFDO1NBQ0QsT0FBTyxDQUFDLGNBQWMsRUFBRSx3QkFBd0IsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUc7U0FDMUQsTUFBTSxDQUFDLFVBQVUsRUFBRTtRQUNsQixXQUFXLEVBQUUseURBQXlEO1FBQ3RFLEtBQUssRUFBRSxHQUFHO1FBQ1YsSUFBSSxFQUFFLFFBQVE7UUFDZCxXQUFXLEVBQUUsSUFBSTtLQUNsQixDQUFDO1NBQ0QsTUFBTSxDQUFDLE9BQU8sRUFBRTtRQUNmLFdBQVcsRUFBRSw2Q0FBNkM7UUFDMUQsS0FBSyxFQUFFLEdBQUc7UUFDVixJQUFJLEVBQUUsUUFBUTtRQUNkLFdBQVcsRUFBRSxJQUFJO0tBQ2xCLENBQUMsQ0FBQztTQUNKLGFBQWEsRUFBRTtTQUNmLElBQUksRUFBRTtTQUNOLGNBQWMsQ0FBQyxLQUFLLENBQUM7U0FDckIsSUFBSSxDQUFDO0lBRVIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUUxQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDO0lBQ3JELElBQUksQ0FBQyxLQUFLLEVBQUU7UUFDVixNQUFNLElBQUksS0FBSyxDQUFDLDBDQUEwQyxDQUFDLENBQUM7S0FDN0Q7SUFFRCxRQUFRLE9BQU8sRUFBRTtRQUNmLEtBQUssY0FBYztZQUNqQixJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNsQyxNQUFNLElBQUksS0FBSyxDQUFDLDJEQUEyRCxDQUFDLENBQUM7YUFDOUU7WUFFRCxzQ0FBc0M7WUFDdEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLElBQUEsNkJBQW9CLEVBQUMsS0FBSyxFQUFFO2dCQUM1QyxPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQztnQkFDekIsWUFBWSxFQUFFLElBQUksQ0FBQyxLQUFLO2FBQ3pCLENBQUMsQ0FBQyxDQUFDO1lBQ0osTUFBTTtLQUNUO0FBQ0gsQ0FBQztBQUVELElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRTtJQUNmLHNDQUFzQztJQUN0QyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pCLE9BQU8sQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGplc3Qvbm8tamVzdC1pbXBvcnRcbmltcG9ydCAqIGFzIHlhcmdzIGZyb20gJ3lhcmdzJztcbmltcG9ydCB7IGZldGNoUHJldmlvdXNWZXJzaW9uIH0gZnJvbSAnLi4vbGliL2dpdGh1Yic7XG5cbmFzeW5jIGZ1bmN0aW9uIG1haW4oKSB7XG4gIGNvbnN0IGFyZ3MgPSBhd2FpdCB5YXJnc1xuICAgIC5vcHRpb24oJ3Rva2VuJywge1xuICAgICAgZGVzY3JpcHRvbjogJ0dpdEh1YiB0b2tlbiAoZGVmYXVsdDogZnJvbSBlbnZpcm9ubWVudCBHSVRIVUJfVE9LRU4pJyxcbiAgICAgIGFsaWFzOiAndCcsXG4gICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgIHJlcXVpcmVzQXJnOiB0cnVlLFxuICAgIH0pXG4gICAgLmNvbW1hbmQoJ2xhc3QtcmVsZWFzZScsICdRdWVyeSB0aGUgbGFzdCByZWxlYXNlJywgY21kID0+IGNtZFxuICAgICAgLm9wdGlvbigncHJpb3ItdG8nLCB7XG4gICAgICAgIGRlc2NyaXB0aW9uOiAnUmV0dXJuIHRoZSBtb3N0IHJlY2VudCByZWxlYXNlIGJlZm9yZSB0aGUgZ2l2ZW4gdmVyc2lvbicsXG4gICAgICAgIGFsaWFzOiAncCcsXG4gICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICByZXF1aXJlc0FyZzogdHJ1ZSxcbiAgICAgIH0pXG4gICAgICAub3B0aW9uKCdtYWpvcicsIHtcbiAgICAgICAgZGVzY3JpcHRpb246ICdSZXR1cm4gdGhlIG1vc3QgcmVjZW50IHJlbGVhc2UgdGhhdCBtYXRjaGVzJyxcbiAgICAgICAgYWxpYXM6ICdtJyxcbiAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgIHJlcXVpcmVzQXJnOiB0cnVlLFxuICAgICAgfSkpXG4gICAgLmRlbWFuZENvbW1hbmQoKVxuICAgIC5oZWxwKClcbiAgICAuc2hvd0hlbHBPbkZhaWwoZmFsc2UpXG4gICAgLmFyZ3Y7XG5cbiAgY29uc3QgY29tbWFuZCA9IGFyZ3MuX1swXTtcblxuICBjb25zdCB0b2tlbiA9IGFyZ3MudG9rZW4gPz8gcHJvY2Vzcy5lbnYuR0lUSFVCX1RPS0VOO1xuICBpZiAoIXRva2VuKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdFaXRoZXIgcGFzcyAtLXRva2VuIG9yIHNldCBHSVRIVUJfVE9LRU4uJyk7XG4gIH1cblxuICBzd2l0Y2ggKGNvbW1hbmQpIHtcbiAgICBjYXNlICdsYXN0LXJlbGVhc2UnOlxuICAgICAgaWYgKGFyZ3NbJ3ByaW9yLXRvJ10gJiYgYXJncy5tYWpvcikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBwYXNzIGJvdGggYC0tcHJpb3ItdG8gYW5kIC0tbWFqb3IgYXQgdGhlIHNhbWUgdGltZScpO1xuICAgICAgfVxuXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgICAgY29uc29sZS5sb2coYXdhaXQgZmV0Y2hQcmV2aW91c1ZlcnNpb24odG9rZW4sIHtcbiAgICAgICAgcHJpb3JUbzogYXJnc1sncHJpb3ItdG8nXSxcbiAgICAgICAgbWFqb3JWZXJzaW9uOiBhcmdzLm1ham9yLFxuICAgICAgfSkpO1xuICAgICAgYnJlYWs7XG4gIH1cbn1cblxubWFpbigpLmNhdGNoKGUgPT4ge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICBjb25zb2xlLmVycm9yKGUpO1xuICBwcm9jZXNzLmV4aXRDb2RlID0gMTtcbn0pO1xuIl19
package/bin/run-suite.js CHANGED
@@ -86,7 +86,7 @@ async function main() {
86
86
  }
87
87
  const root = args['use-source'] && args['use-source'] !== 'auto'
88
88
  ? args['use-source']
89
- : await repo_source_1.autoFindRoot();
89
+ : await (0, repo_source_1.autoFindRoot)();
90
90
  usePackageSource(new repo_source_1.RepoPackageSourceSetup(root));
91
91
  }
92
92
  else if (args['use-cli-release']) {
@@ -98,7 +98,7 @@ async function main() {
98
98
  console.log(`Package source: ${packageSource.description}`);
99
99
  console.log(`Test suite: ${suiteName}`);
100
100
  await packageSource.prepare();
101
- subprocess_1.serializeForSubprocess(packageSource);
101
+ (0, subprocess_1.serializeForSubprocess)(packageSource);
102
102
  if (args.verbose) {
103
103
  process.env.VERBOSE = '1';
104
104
  }
@@ -128,4 +128,4 @@ main().catch(e => {
128
128
  console.error(e);
129
129
  process.exitCode = 1;
130
130
  });
131
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuLXN1aXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsicnVuLXN1aXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsK0JBQStCO0FBQy9CLDZCQUE2QjtBQUM3QiwrQ0FBK0M7QUFDL0MsNkJBQTZCO0FBQzdCLCtCQUErQjtBQUMvQiwwRUFBa0Y7QUFDbEYsb0VBQTBGO0FBRTFGLGtFQUEyRTtBQUUzRSxLQUFLLFVBQVUsSUFBSTtJQUNqQixNQUFNLElBQUksR0FBRyxNQUFNLEtBQUs7U0FDckIsS0FBSyxDQUFDLGdCQUFnQixDQUFDO1NBQ3ZCLFVBQVUsQ0FBQyxXQUFXLEVBQUU7UUFDdkIsVUFBVSxFQUFFLCtCQUErQjtRQUMzQyxJQUFJLEVBQUUsUUFBUTtRQUNkLFlBQVksRUFBRSxJQUFJO0tBQ25CLENBQUM7U0FDRCxNQUFNLENBQUMsTUFBTSxFQUFFO1FBQ2QsVUFBVSxFQUFFLHVDQUF1QztRQUNuRCxLQUFLLEVBQUUsR0FBRztRQUNWLElBQUksRUFBRSxRQUFRO1FBQ2QsV0FBVyxFQUFFLElBQUk7S0FDbEIsQ0FBQztTQUNELE1BQU0sQ0FBQyxXQUFXLEVBQUU7UUFDbkIsV0FBVyxFQUFFLCtCQUErQjtRQUM1QyxJQUFJLEVBQUUsUUFBUTtRQUNkLFdBQVcsRUFBRSxJQUFJO0tBQ2xCLENBQUM7U0FDRCxNQUFNLENBQUMsWUFBWSxFQUFFO1FBQ3BCLFVBQVUsRUFBRSxzRUFBc0U7UUFDbEYsS0FBSyxFQUFFLEdBQUc7UUFDVixJQUFJLEVBQUUsUUFBUTtRQUNkLFdBQVcsRUFBRSxJQUFJO0tBQ2xCLENBQUM7U0FDRCxNQUFNLENBQUMsaUJBQWlCLEVBQUU7UUFDekIsVUFBVSxFQUFFLDREQUE0RDtRQUN4RSxLQUFLLEVBQUUsR0FBRztRQUNWLElBQUksRUFBRSxRQUFRO1FBQ2QsV0FBVyxFQUFFLElBQUk7S0FDbEIsQ0FBQztTQUNELE1BQU0sQ0FBQyxhQUFhLEVBQUU7UUFDckIsS0FBSyxFQUFFLEdBQUc7UUFDVixX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LENBQUMsU0FBUyxDQUFDO0lBRXhFLDBEQUEwRDtJQUMxRCxPQUFPLENBQUMsR0FBRyxDQUFDLGVBQWUsR0FBRyxTQUFTLENBQUM7SUFFeEMsSUFBSTtRQUNGLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQztZQUNiLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUMvQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNyQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDcEMsR0FBRyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUMvQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtTQUNoRCxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsc0JBQXNCLENBQUMsQ0FBQyxDQUFDO0tBRXhFO1lBQVM7UUFDUixNQUFNLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztLQUMvQjtBQUNILENBQUM7QUFFRCxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUU7SUFDZixzQ0FBc0M7SUFDdEMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqQixPQUFPLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgamVzdC9uby1qZXN0LWltcG9ydFxuaW1wb3J0ICogYXMgamVzdCBmcm9tICdqZXN0JztcbmltcG9ydCAqIGFzIHlhcmdzIGZyb20gJ3lhcmdzJztcbmltcG9ydCB7IFJlbGVhc2VQYWNrYWdlU291cmNlU2V0dXAgfSBmcm9tICcuLi9saWIvcGFja2FnZS1zb3VyY2VzL3JlbGVhc2Utc291cmNlJztcbmltcG9ydCB7IFJlcG9QYWNrYWdlU291cmNlU2V0dXAsIGF1dG9GaW5kUm9vdCB9IGZyb20gJy4uL2xpYi9wYWNrYWdlLXNvdXJjZXMvcmVwby1zb3VyY2UnO1xuaW1wb3J0IHsgSVBhY2thZ2VTb3VyY2VTZXR1cCB9IGZyb20gJy4uL2xpYi9wYWNrYWdlLXNvdXJjZXMvc291cmNlJztcbmltcG9ydCB7IHNlcmlhbGl6ZUZvclN1YnByb2Nlc3MgfSBmcm9tICcuLi9saWIvcGFja2FnZS1zb3VyY2VzL3N1YnByb2Nlc3MnO1xuXG5hc3luYyBmdW5jdGlvbiBtYWluKCkge1xuICBjb25zdCBhcmdzID0gYXdhaXQgeWFyZ3NcbiAgICAudXNhZ2UoJyQwIDxTVUlURU5BTUU+JylcbiAgICAucG9zaXRpb25hbCgnU1VJVEVOQU1FJywge1xuICAgICAgZGVzY3JpcHRvbjogJ05hbWUgb2YgdGhlIHRlc3Qgc3VpdGUgdG8gcnVuJyxcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgZGVtYW5kT3B0aW9uOiB0cnVlLFxuICAgIH0pXG4gICAgLm9wdGlvbigndGVzdCcsIHtcbiAgICAgIGRlc2NyaXB0b246ICdUZXN0IHBhdHRlcm4gdG8gc2VsZWN0aXZlbHkgcnVuIHRlc3RzJyxcbiAgICAgIGFsaWFzOiAndCcsXG4gICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgIHJlcXVpcmVzQXJnOiB0cnVlLFxuICAgIH0pXG4gICAgLm9wdGlvbigndGVzdC1maWxlJywge1xuICAgICAgZGVzY3JpcHRpb246ICdUaGUgc3BlY2lmaWMgdGVzdCBmaWxlIHRvIHJ1bicsXG4gICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgIHJlcXVpcmVzQXJnOiB0cnVlLFxuICAgIH0pXG4gICAgLm9wdGlvbigndXNlLXNvdXJjZScsIHtcbiAgICAgIGRlc2NyaXB0b246ICdVc2UgVHlwZVNjcmlwdCBwYWNrYWdlcyBmcm9tIHRoZSBnaXZlbiBzb3VyY2UgcmVwb3NpdG9yeSAob3IgXCJhdXRvXCIpJyxcbiAgICAgIGFsaWFzOiAncycsXG4gICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgIHJlcXVpcmVzQXJnOiB0cnVlLFxuICAgIH0pXG4gICAgLm9wdGlvbigndXNlLWNsaS1yZWxlYXNlJywge1xuICAgICAgZGVzY3JpcHRvbjogJ1J1biB0aGUgY3VycmVudCB0ZXN0cyBhZ2FpbnN0IHRoZSBDTEkgYXQgdGhlIGdpdmVuIHZlcnNpb24nLFxuICAgICAgYWxpYXM6ICd1JyxcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgcmVxdWlyZXNBcmc6IHRydWUsXG4gICAgfSlcbiAgICAub3B0aW9uKCdhdXRvLXNvdXJjZScsIHtcbiAgICAgIGFsaWFzOiAnYScsXG4gICAgICBkZXNjcmlwdGlvbjogJ0F1dG9tYXRpY2FsbHkgZmluZCB0aGUgc291cmNlIHRyZWUgZnJvbSB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeScsXG4gICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICByZXF1aXJlc0FyZzogZmFsc2UsXG4gICAgfSlcbiAgICAub3B0aW9uKCdydW5JbkJhbmQnLCB7XG4gICAgICBkZXNjcmlwdG9uOiAnUnVuIGFsbCB0ZXN0cyBpbiBvbmUgTm9kZSBwcm9jZXNzJyxcbiAgICAgIGFsaWFzOiAnaScsXG4gICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgfSlcbiAgICAub3B0aW9ucygnZnJhbWV3b3JrLXZlcnNpb24nLCB7XG4gICAgICBkZXNjcmlwdGlvbjogJ0ZyYW1ld29yayB2ZXJzaW9uIHRvIHVzZSwgaWYgZGlmZmVyZW50IHRoYW4gdGhlIENMSSB2ZXJzaW9uIChub3QgYWxsIHN1aXRlcyByZXNwZWN0IHRoaXMpJyxcbiAgICAgIGFsaWFzOiAnZicsXG4gICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICB9KVxuICAgIC5vcHRpb25zKCd2ZXJib3NlJywge1xuICAgICAgYWxpYXM6ICd2JyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnUnVuIGluIHZlcmJvc2UgbW9kZScsXG4gICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICByZXF1aXJlc0FyZzogZmFsc2UsXG4gICAgfSlcbiAgICAub3B0aW9ucygncGFzc1dpdGhOb1Rlc3RzJywge1xuICAgICAgZGVzY3JpcHRpb246ICdBbGxvdyBwYXNzaW5nIGlmIHRoZSB0ZXN0IHN1aXRlIGlzIG5vdCBmb3VuZCAoZGVmYXVsdCB0cnVlIHdoZW4gSVNfQ0FOQVJZIG1vZGUsIGZhbHNlIG90aGVyd2lzZSknLFxuICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgcmVxdWlyZXNBcmc6IGZhbHNlLFxuICAgIH0pXG4gICAgLmhlbHAoKVxuICAgIC5zaG93SGVscE9uRmFpbChmYWxzZSlcbiAgICAuYXJndjtcblxuICBjb25zdCBzdWl0ZU5hbWUgPSBhcmdzLl9bMF0gYXMgc3RyaW5nO1xuICBpZiAoIXN1aXRlTmFtZSkge1xuICAgIHRocm93IG5ldyBFcnJvcignVXNhZ2U6IHJ1bi1zdWl0ZSA8U1VJVEVOQU1FPicpO1xuICB9XG5cbiAgbGV0IHBhY2thZ2VTb3VyY2U6IHVuZGVmaW5lZCB8IElQYWNrYWdlU291cmNlU2V0dXA7XG4gIGZ1bmN0aW9uIHVzZVBhY2thZ2VTb3VyY2UoczogSVBhY2thZ2VTb3VyY2VTZXR1cCkge1xuICAgIGlmIChwYWNrYWdlU291cmNlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBzcGVjaWZ5IHR3byBwYWNrYWdlIHNvdXJjZXMnKTtcbiAgICB9XG4gICAgcGFja2FnZVNvdXJjZSA9IHM7XG4gIH1cblxuICBpZiAoYXJnc1sndXNlLXNvdXJjZSddIHx8IGFyZ3NbJ2F1dG8tc291cmNlJ10pIHtcbiAgICBpZiAoYXJnc1snZnJhbWV3b3JrLXZlcnNpb24nXSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgdXNlIC0tZnJhbWV3b3JrLXZlcnNpb24gd2l0aCAtLXVzZS1zb3VyY2UnKTtcbiAgICB9XG5cbiAgICBjb25zdCByb290ID0gYXJnc1sndXNlLXNvdXJjZSddICYmIGFyZ3NbJ3VzZS1zb3VyY2UnXSAhPT0gJ2F1dG8nXG4gICAgICA/IGFyZ3NbJ3VzZS1zb3VyY2UnXVxuICAgICAgOiBhd2FpdCBhdXRvRmluZFJvb3QoKTtcblxuICAgIHVzZVBhY2thZ2VTb3VyY2UobmV3IFJlcG9QYWNrYWdlU291cmNlU2V0dXAocm9vdCkpO1xuICB9IGVsc2UgaWYgKGFyZ3NbJ3VzZS1jbGktcmVsZWFzZSddKSB7XG4gICAgdXNlUGFja2FnZVNvdXJjZShuZXcgUmVsZWFzZVBhY2thZ2VTb3VyY2VTZXR1cChhcmdzWyd1c2UtY2xpLXJlbGVhc2UnXSwgYXJnc1snZnJhbWV3b3JrLXZlcnNpb24nXSkpO1xuICB9XG4gIGlmICghcGFja2FnZVNvdXJjZSkge1xuICAgIHRocm93IG5ldyBFcnJvcignU3BlY2lmeSBlaXRoZXIgLS11c2Utc291cmNlIG9yIC0tdXNlLWNsaS1yZWxlYXNlJyk7XG4gIH1cblxuICBjb25zb2xlLmxvZyhgUGFja2FnZSBzb3VyY2U6ICR7cGFja2FnZVNvdXJjZS5kZXNjcmlwdGlvbn1gKTtcbiAgY29uc29sZS5sb2coYFRlc3Qgc3VpdGU6ICAgICAke3N1aXRlTmFtZX1gKTtcblxuICBhd2FpdCBwYWNrYWdlU291cmNlLnByZXBhcmUoKTtcbiAgc2VyaWFsaXplRm9yU3VicHJvY2VzcyhwYWNrYWdlU291cmNlKTtcblxuICBpZiAoYXJncy52ZXJib3NlKSB7XG4gICAgcHJvY2Vzcy5lbnYuVkVSQk9TRSA9ICcxJztcbiAgfVxuXG4gIC8vIE1vdGl2YXRpb24gYmVoaW5kIHRoaXMgYmVoYXZpb3I6IHdoZW4gYWRkaW5nIGEgbmV3IHRlc3Qgc3VpdGUgdG8gdGhlIHBpcGVsaW5lLCBiZWNhdXNlIG9mIHRoZSB3YXkgb3VyXG4gIC8vIFBpcGVsaW5lIHBhY2thZ2Ugd29ya3MsIHRoZSBzdWl0ZSB3b3VsZCBiZSBhZGRlZCB0byB0aGUgcGlwZWxpbmUgQU5EIGFzIGEgY2FuYXJ5IGltbWVkaWF0ZWx5LiBUaGUgY2FuYXJ5XG4gIC8vIHdvdWxkIGZhaWwgdW50aWwgdGhlIHBhY2thZ2Ugd2FzIGFjdHVhbGx5IHJlbGVhc2VkLCBzbyBmb3IgY2FuYXJpZXMgd2UgbWFrZSBhbiBleGNlcHRpb24gc28gdGhhdCB0aGUgaW5pdGlhbFxuICAvLyBjYW5hcnkgd291bGQgc3VjY2VlZCBldmVuIGlmIHRoZSBzdWl0ZSB3YXNuJ3QgeWV0IGF2YWlsYWJsZS4gVGhlIGZhY3QgdGhhdCB0aGUgc3VpdGUgaXMgbm90IG9wdGlvbmFsIGluXG4gIC8vIHRoZSBwaXBlbGluZSBwcm90ZWN0cyB1cyBmcm9tIHR5cG9zLlxuICBjb25zdCBwYXNzV2l0aE5vVGVzdHMgPSBhcmdzLnBhc3NXaXRoTm9UZXN0cyA/PyAhIXByb2Nlc3MuZW52LklTX0NBTkFSWTtcblxuICAvLyBDb21tdW5pY2F0ZSB3aXRoIHRoZSBjb25maWcgZmlsZSAoaW50ZWcuamVzdC5jb25maWcuanMpXG4gIHByb2Nlc3MuZW52LlRFU1RfU1VJVEVfTkFNRSA9IHN1aXRlTmFtZTtcblxuICB0cnkge1xuICAgIGF3YWl0IGplc3QucnVuKFtcbiAgICAgIC4uLmFyZ3MucnVuSW5CYW5kID8gWyctaSddIDogW10sXG4gICAgICAuLi5hcmdzLnRlc3QgPyBbJy10JywgYXJncy50ZXN0XSA6IFtdLFxuICAgICAgLi4uYXJncy52ZXJib3NlID8gWyctLXZlcmJvc2UnXSA6IFtdLFxuICAgICAgLi4ucGFzc1dpdGhOb1Rlc3RzID8gWyctLXBhc3NXaXRoTm9UZXN0cyddIDogW10sXG4gICAgICAuLi5hcmdzWyd0ZXN0LWZpbGUnXSA/IFthcmdzWyd0ZXN0LWZpbGUnXV0gOiBbXSxcbiAgICBdLCBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnLi4nLCAncmVzb3VyY2VzJywgJ2ludGVnLmplc3QuY29uZmlnLmpzJykpO1xuXG4gIH0gZmluYWxseSB7XG4gICAgYXdhaXQgcGFja2FnZVNvdXJjZS5jbGVhbnVwKCk7XG4gIH1cbn1cblxubWFpbigpLmNhdGNoKGUgPT4ge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICBjb25zb2xlLmVycm9yKGUpO1xuICBwcm9jZXNzLmV4aXRDb2RlID0gMTtcbn0pO1xuIl19
131
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuLXN1aXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsicnVuLXN1aXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsK0JBQStCO0FBQy9CLDZCQUE2QjtBQUM3QiwrQ0FBK0M7QUFDL0MsNkJBQTZCO0FBQzdCLCtCQUErQjtBQUMvQiwwRUFBa0Y7QUFDbEYsb0VBQTBGO0FBRTFGLGtFQUEyRTtBQUUzRSxLQUFLLFVBQVUsSUFBSTtJQUNqQixNQUFNLElBQUksR0FBRyxNQUFNLEtBQUs7U0FDckIsS0FBSyxDQUFDLGdCQUFnQixDQUFDO1NBQ3ZCLFVBQVUsQ0FBQyxXQUFXLEVBQUU7UUFDdkIsVUFBVSxFQUFFLCtCQUErQjtRQUMzQyxJQUFJLEVBQUUsUUFBUTtRQUNkLFlBQVksRUFBRSxJQUFJO0tBQ25CLENBQUM7U0FDRCxNQUFNLENBQUMsTUFBTSxFQUFFO1FBQ2QsVUFBVSxFQUFFLHVDQUF1QztRQUNuRCxLQUFLLEVBQUUsR0FBRztRQUNWLElBQUksRUFBRSxRQUFRO1FBQ2QsV0FBVyxFQUFFLElBQUk7S0FDbEIsQ0FBQztTQUNELE1BQU0sQ0FBQyxXQUFXLEVBQUU7UUFDbkIsV0FBVyxFQUFFLCtCQUErQjtRQUM1QyxJQUFJLEVBQUUsUUFBUTtRQUNkLFdBQVcsRUFBRSxJQUFJO0tBQ2xCLENBQUM7U0FDRCxNQUFNLENBQUMsWUFBWSxFQUFFO1FBQ3BCLFVBQVUsRUFBRSxzRUFBc0U7UUFDbEYsS0FBSyxFQUFFLEdBQUc7UUFDVixJQUFJLEVBQUUsUUFBUTtRQUNkLFdBQVcsRUFBRSxJQUFJO0tBQ2xCLENBQUM7U0FDRCxNQUFNLENBQUMsaUJBQWlCLEVBQUU7UUFDekIsVUFBVSxFQUFFLDREQUE0RDtRQUN4RSxLQUFLLEVBQUUsR0FBRztRQUNWLElBQUksRUFBRSxRQUFRO1FBQ2QsV0FBVyxFQUFFLElBQUk7S0FDbEIsQ0FBQztTQUNELE1BQU0sQ0FBQyxhQUFhLEVBQUU7UUFDckIsS0FBSyxFQUFFLEdBQUc7UUFDVixXQUFXLEVBQUUsdUVBQXVFO1FBQ3BGLElBQUksRUFBRSxTQUFTO1FBQ2YsV0FBVyxFQUFFLEtBQUs7S0FDbkIsQ0FBQztTQUNELE1BQU0sQ0FBQyxXQUFXLEVBQUU7UUFDbkIsVUFBVSxFQUFFLG1DQUFtQztRQUMvQyxLQUFLLEVBQUUsR0FBRztRQUNWLElBQUksRUFBRSxTQUFTO0tBQ2hCLENBQUM7U0FDRCxPQUFPLENBQUMsbUJBQW1CLEVBQUU7UUFDNUIsV0FBVyxFQUFFLDJGQUEyRjtRQUN4RyxLQUFLLEVBQUUsR0FBRztRQUNWLElBQUksRUFBRSxRQUFRO0tBQ2YsQ0FBQztTQUNELE9BQU8sQ0FBQyxTQUFTLEVBQUU7UUFDbEIsS0FBSyxFQUFFLEdBQUc7UUFDVixXQUFXLEVBQUUscUJBQXFCO1FBQ2xDLElBQUksRUFBRSxTQUFTO1FBQ2YsV0FBVyxFQUFFLEtBQUs7S0FDbkIsQ0FBQztTQUNELE9BQU8sQ0FBQyxpQkFBaUIsRUFBRTtRQUMxQixXQUFXLEVBQUUsa0dBQWtHO1FBQy9HLElBQUksRUFBRSxTQUFTO1FBQ2YsV0FBVyxFQUFFLEtBQUs7S0FDbkIsQ0FBQztTQUNELElBQUksRUFBRTtTQUNOLGNBQWMsQ0FBQyxLQUFLLENBQUM7U0FDckIsSUFBSSxDQUFDO0lBRVIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQVcsQ0FBQztJQUN0QyxJQUFJLENBQUMsU0FBUyxFQUFFO1FBQ2QsTUFBTSxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO0tBQ2pEO0lBRUQsSUFBSSxhQUE4QyxDQUFDO0lBQ25ELFNBQVMsZ0JBQWdCLENBQUMsQ0FBc0I7UUFDOUMsSUFBSSxhQUFhLEVBQUU7WUFDakIsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO1NBQ3ZEO1FBQ0QsYUFBYSxHQUFHLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBRUQsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFO1FBQzdDLElBQUksSUFBSSxDQUFDLG1CQUFtQixDQUFDLEVBQUU7WUFDN0IsTUFBTSxJQUFJLEtBQUssQ0FBQyxrREFBa0QsQ0FBQyxDQUFDO1NBQ3JFO1FBRUQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxNQUFNO1lBQzlELENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO1lBQ3BCLENBQUMsQ0FBQyxNQUFNLElBQUEsMEJBQVksR0FBRSxDQUFDO1FBRXpCLGdCQUFnQixDQUFDLElBQUksb0NBQXNCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztLQUNwRDtTQUFNLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLEVBQUU7UUFDbEMsZ0JBQWdCLENBQUMsSUFBSSwwQ0FBeUIsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDckc7SUFDRCxJQUFJLENBQUMsYUFBYSxFQUFFO1FBQ2xCLE1BQU0sSUFBSSxLQUFLLENBQUMsa0RBQWtELENBQUMsQ0FBQztLQUNyRTtJQUVELE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQW1CLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQzVELE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQW1CLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFFNUMsTUFBTSxhQUFhLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDOUIsSUFBQSxtQ0FBc0IsRUFBQyxhQUFhLENBQUMsQ0FBQztJQUV0QyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7UUFDaEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDO0tBQzNCO0lBRUQsd0dBQXdHO0lBQ3hHLDJHQUEyRztJQUMzRywrR0FBK0c7SUFDL0csMEdBQTBHO0lBQzFHLHVDQUF1QztJQUN2QyxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsZUFBZSxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQztJQUV4RSwwREFBMEQ7SUFDMUQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFlLEdBQUcsU0FBUyxDQUFDO0lBRXhDLElBQUk7UUFDRixNQUFNLElBQUksQ0FBQyxHQUFHLENBQUM7WUFDYixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDL0IsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDckMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3BDLEdBQUcsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDL0MsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7U0FDaEQsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLHNCQUFzQixDQUFDLENBQUMsQ0FBQztLQUV4RTtZQUFTO1FBQ1IsTUFBTSxhQUFhLENBQUMsT0FBTyxFQUFFLENBQUM7S0FDL0I7QUFDSCxDQUFDO0FBRUQsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFO0lBQ2Ysc0NBQXNDO0lBQ3RDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakIsT0FBTyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7QUFDdkIsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1jb25zb2xlICovXG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGplc3Qvbm8tamVzdC1pbXBvcnRcbmltcG9ydCAqIGFzIGplc3QgZnJvbSAnamVzdCc7XG5pbXBvcnQgKiBhcyB5YXJncyBmcm9tICd5YXJncyc7XG5pbXBvcnQgeyBSZWxlYXNlUGFja2FnZVNvdXJjZVNldHVwIH0gZnJvbSAnLi4vbGliL3BhY2thZ2Utc291cmNlcy9yZWxlYXNlLXNvdXJjZSc7XG5pbXBvcnQgeyBSZXBvUGFja2FnZVNvdXJjZVNldHVwLCBhdXRvRmluZFJvb3QgfSBmcm9tICcuLi9saWIvcGFja2FnZS1zb3VyY2VzL3JlcG8tc291cmNlJztcbmltcG9ydCB7IElQYWNrYWdlU291cmNlU2V0dXAgfSBmcm9tICcuLi9saWIvcGFja2FnZS1zb3VyY2VzL3NvdXJjZSc7XG5pbXBvcnQgeyBzZXJpYWxpemVGb3JTdWJwcm9jZXNzIH0gZnJvbSAnLi4vbGliL3BhY2thZ2Utc291cmNlcy9zdWJwcm9jZXNzJztcblxuYXN5bmMgZnVuY3Rpb24gbWFpbigpIHtcbiAgY29uc3QgYXJncyA9IGF3YWl0IHlhcmdzXG4gICAgLnVzYWdlKCckMCA8U1VJVEVOQU1FPicpXG4gICAgLnBvc2l0aW9uYWwoJ1NVSVRFTkFNRScsIHtcbiAgICAgIGRlc2NyaXB0b246ICdOYW1lIG9mIHRoZSB0ZXN0IHN1aXRlIHRvIHJ1bicsXG4gICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgIGRlbWFuZE9wdGlvbjogdHJ1ZSxcbiAgICB9KVxuICAgIC5vcHRpb24oJ3Rlc3QnLCB7XG4gICAgICBkZXNjcmlwdG9uOiAnVGVzdCBwYXR0ZXJuIHRvIHNlbGVjdGl2ZWx5IHJ1biB0ZXN0cycsXG4gICAgICBhbGlhczogJ3QnLFxuICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICByZXF1aXJlc0FyZzogdHJ1ZSxcbiAgICB9KVxuICAgIC5vcHRpb24oJ3Rlc3QtZmlsZScsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnVGhlIHNwZWNpZmljIHRlc3QgZmlsZSB0byBydW4nLFxuICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICByZXF1aXJlc0FyZzogdHJ1ZSxcbiAgICB9KVxuICAgIC5vcHRpb24oJ3VzZS1zb3VyY2UnLCB7XG4gICAgICBkZXNjcmlwdG9uOiAnVXNlIFR5cGVTY3JpcHQgcGFja2FnZXMgZnJvbSB0aGUgZ2l2ZW4gc291cmNlIHJlcG9zaXRvcnkgKG9yIFwiYXV0b1wiKScsXG4gICAgICBhbGlhczogJ3MnLFxuICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICByZXF1aXJlc0FyZzogdHJ1ZSxcbiAgICB9KVxuICAgIC5vcHRpb24oJ3VzZS1jbGktcmVsZWFzZScsIHtcbiAgICAgIGRlc2NyaXB0b246ICdSdW4gdGhlIGN1cnJlbnQgdGVzdHMgYWdhaW5zdCB0aGUgQ0xJIGF0IHRoZSBnaXZlbiB2ZXJzaW9uJyxcbiAgICAgIGFsaWFzOiAndScsXG4gICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgIHJlcXVpcmVzQXJnOiB0cnVlLFxuICAgIH0pXG4gICAgLm9wdGlvbignYXV0by1zb3VyY2UnLCB7XG4gICAgICBhbGlhczogJ2EnLFxuICAgICAgZGVzY3JpcHRpb246ICdBdXRvbWF0aWNhbGx5IGZpbmQgdGhlIHNvdXJjZSB0cmVlIGZyb20gdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnknLFxuICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgcmVxdWlyZXNBcmc6IGZhbHNlLFxuICAgIH0pXG4gICAgLm9wdGlvbigncnVuSW5CYW5kJywge1xuICAgICAgZGVzY3JpcHRvbjogJ1J1biBhbGwgdGVzdHMgaW4gb25lIE5vZGUgcHJvY2VzcycsXG4gICAgICBhbGlhczogJ2knLFxuICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIH0pXG4gICAgLm9wdGlvbnMoJ2ZyYW1ld29yay12ZXJzaW9uJywge1xuICAgICAgZGVzY3JpcHRpb246ICdGcmFtZXdvcmsgdmVyc2lvbiB0byB1c2UsIGlmIGRpZmZlcmVudCB0aGFuIHRoZSBDTEkgdmVyc2lvbiAobm90IGFsbCBzdWl0ZXMgcmVzcGVjdCB0aGlzKScsXG4gICAgICBhbGlhczogJ2YnLFxuICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgfSlcbiAgICAub3B0aW9ucygndmVyYm9zZScsIHtcbiAgICAgIGFsaWFzOiAndicsXG4gICAgICBkZXNjcmlwdGlvbjogJ1J1biBpbiB2ZXJib3NlIG1vZGUnLFxuICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgcmVxdWlyZXNBcmc6IGZhbHNlLFxuICAgIH0pXG4gICAgLm9wdGlvbnMoJ3Bhc3NXaXRoTm9UZXN0cycsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnQWxsb3cgcGFzc2luZyBpZiB0aGUgdGVzdCBzdWl0ZSBpcyBub3QgZm91bmQgKGRlZmF1bHQgdHJ1ZSB3aGVuIElTX0NBTkFSWSBtb2RlLCBmYWxzZSBvdGhlcndpc2UpJyxcbiAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgIHJlcXVpcmVzQXJnOiBmYWxzZSxcbiAgICB9KVxuICAgIC5oZWxwKClcbiAgICAuc2hvd0hlbHBPbkZhaWwoZmFsc2UpXG4gICAgLmFyZ3Y7XG5cbiAgY29uc3Qgc3VpdGVOYW1lID0gYXJncy5fWzBdIGFzIHN0cmluZztcbiAgaWYgKCFzdWl0ZU5hbWUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1VzYWdlOiBydW4tc3VpdGUgPFNVSVRFTkFNRT4nKTtcbiAgfVxuXG4gIGxldCBwYWNrYWdlU291cmNlOiB1bmRlZmluZWQgfCBJUGFja2FnZVNvdXJjZVNldHVwO1xuICBmdW5jdGlvbiB1c2VQYWNrYWdlU291cmNlKHM6IElQYWNrYWdlU291cmNlU2V0dXApIHtcbiAgICBpZiAocGFja2FnZVNvdXJjZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3Qgc3BlY2lmeSB0d28gcGFja2FnZSBzb3VyY2VzJyk7XG4gICAgfVxuICAgIHBhY2thZ2VTb3VyY2UgPSBzO1xuICB9XG5cbiAgaWYgKGFyZ3NbJ3VzZS1zb3VyY2UnXSB8fCBhcmdzWydhdXRvLXNvdXJjZSddKSB7XG4gICAgaWYgKGFyZ3NbJ2ZyYW1ld29yay12ZXJzaW9uJ10pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IHVzZSAtLWZyYW1ld29yay12ZXJzaW9uIHdpdGggLS11c2Utc291cmNlJyk7XG4gICAgfVxuXG4gICAgY29uc3Qgcm9vdCA9IGFyZ3NbJ3VzZS1zb3VyY2UnXSAmJiBhcmdzWyd1c2Utc291cmNlJ10gIT09ICdhdXRvJ1xuICAgICAgPyBhcmdzWyd1c2Utc291cmNlJ11cbiAgICAgIDogYXdhaXQgYXV0b0ZpbmRSb290KCk7XG5cbiAgICB1c2VQYWNrYWdlU291cmNlKG5ldyBSZXBvUGFja2FnZVNvdXJjZVNldHVwKHJvb3QpKTtcbiAgfSBlbHNlIGlmIChhcmdzWyd1c2UtY2xpLXJlbGVhc2UnXSkge1xuICAgIHVzZVBhY2thZ2VTb3VyY2UobmV3IFJlbGVhc2VQYWNrYWdlU291cmNlU2V0dXAoYXJnc1sndXNlLWNsaS1yZWxlYXNlJ10sIGFyZ3NbJ2ZyYW1ld29yay12ZXJzaW9uJ10pKTtcbiAgfVxuICBpZiAoIXBhY2thZ2VTb3VyY2UpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1NwZWNpZnkgZWl0aGVyIC0tdXNlLXNvdXJjZSBvciAtLXVzZS1jbGktcmVsZWFzZScpO1xuICB9XG5cbiAgY29uc29sZS5sb2coYFBhY2thZ2Ugc291cmNlOiAke3BhY2thZ2VTb3VyY2UuZGVzY3JpcHRpb259YCk7XG4gIGNvbnNvbGUubG9nKGBUZXN0IHN1aXRlOiAgICAgJHtzdWl0ZU5hbWV9YCk7XG5cbiAgYXdhaXQgcGFja2FnZVNvdXJjZS5wcmVwYXJlKCk7XG4gIHNlcmlhbGl6ZUZvclN1YnByb2Nlc3MocGFja2FnZVNvdXJjZSk7XG5cbiAgaWYgKGFyZ3MudmVyYm9zZSkge1xuICAgIHByb2Nlc3MuZW52LlZFUkJPU0UgPSAnMSc7XG4gIH1cblxuICAvLyBNb3RpdmF0aW9uIGJlaGluZCB0aGlzIGJlaGF2aW9yOiB3aGVuIGFkZGluZyBhIG5ldyB0ZXN0IHN1aXRlIHRvIHRoZSBwaXBlbGluZSwgYmVjYXVzZSBvZiB0aGUgd2F5IG91clxuICAvLyBQaXBlbGluZSBwYWNrYWdlIHdvcmtzLCB0aGUgc3VpdGUgd291bGQgYmUgYWRkZWQgdG8gdGhlIHBpcGVsaW5lIEFORCBhcyBhIGNhbmFyeSBpbW1lZGlhdGVseS4gVGhlIGNhbmFyeVxuICAvLyB3b3VsZCBmYWlsIHVudGlsIHRoZSBwYWNrYWdlIHdhcyBhY3R1YWxseSByZWxlYXNlZCwgc28gZm9yIGNhbmFyaWVzIHdlIG1ha2UgYW4gZXhjZXB0aW9uIHNvIHRoYXQgdGhlIGluaXRpYWxcbiAgLy8gY2FuYXJ5IHdvdWxkIHN1Y2NlZWQgZXZlbiBpZiB0aGUgc3VpdGUgd2Fzbid0IHlldCBhdmFpbGFibGUuIFRoZSBmYWN0IHRoYXQgdGhlIHN1aXRlIGlzIG5vdCBvcHRpb25hbCBpblxuICAvLyB0aGUgcGlwZWxpbmUgcHJvdGVjdHMgdXMgZnJvbSB0eXBvcy5cbiAgY29uc3QgcGFzc1dpdGhOb1Rlc3RzID0gYXJncy5wYXNzV2l0aE5vVGVzdHMgPz8gISFwcm9jZXNzLmVudi5JU19DQU5BUlk7XG5cbiAgLy8gQ29tbXVuaWNhdGUgd2l0aCB0aGUgY29uZmlnIGZpbGUgKGludGVnLmplc3QuY29uZmlnLmpzKVxuICBwcm9jZXNzLmVudi5URVNUX1NVSVRFX05BTUUgPSBzdWl0ZU5hbWU7XG5cbiAgdHJ5IHtcbiAgICBhd2FpdCBqZXN0LnJ1bihbXG4gICAgICAuLi5hcmdzLnJ1bkluQmFuZCA/IFsnLWknXSA6IFtdLFxuICAgICAgLi4uYXJncy50ZXN0ID8gWyctdCcsIGFyZ3MudGVzdF0gOiBbXSxcbiAgICAgIC4uLmFyZ3MudmVyYm9zZSA/IFsnLS12ZXJib3NlJ10gOiBbXSxcbiAgICAgIC4uLnBhc3NXaXRoTm9UZXN0cyA/IFsnLS1wYXNzV2l0aE5vVGVzdHMnXSA6IFtdLFxuICAgICAgLi4uYXJnc1sndGVzdC1maWxlJ10gPyBbYXJnc1sndGVzdC1maWxlJ11dIDogW10sXG4gICAgXSwgcGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgJy4uJywgJ3Jlc291cmNlcycsICdpbnRlZy5qZXN0LmNvbmZpZy5qcycpKTtcblxuICB9IGZpbmFsbHkge1xuICAgIGF3YWl0IHBhY2thZ2VTb3VyY2UuY2xlYW51cCgpO1xuICB9XG59XG5cbm1haW4oKS5jYXRjaChlID0+IHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgY29uc29sZS5lcnJvcihlKTtcbiAgcHJvY2Vzcy5leGl0Q29kZSA9IDE7XG59KTtcbiJdfQ==
@@ -101,7 +101,7 @@ async function main() {
101
101
  await publish(repo, usageDir, args);
102
102
  try {
103
103
  await usageDir.activateInCurrentProcess();
104
- await lib_1.shell(args.COMMAND ?? [], {
104
+ await (0, lib_1.shell)(args.COMMAND ?? [], {
105
105
  shell: true,
106
106
  show: 'always',
107
107
  });
@@ -157,10 +157,10 @@ async function doLogin(repo, usageDir, args) {
157
157
  });
158
158
  }
159
159
  const doRepo = whichRepos(args);
160
- await doRepo.npm(() => npm_1.npmLogin(login, usageDir));
161
- await doRepo.python(() => pypi_1.pypiLogin(login, usageDir));
162
- await doRepo.java(() => maven_1.mavenLogin(login, usageDir));
163
- await doRepo.dotnet(() => nuget_1.nugetLogin(login, usageDir));
160
+ await doRepo.npm(() => (0, npm_1.npmLogin)(login, usageDir));
161
+ await doRepo.python(() => (0, pypi_1.pypiLogin)(login, usageDir));
162
+ await doRepo.java(() => (0, maven_1.mavenLogin)(login, usageDir));
163
+ await doRepo.dotnet(() => (0, nuget_1.nugetLogin)(login, usageDir));
164
164
  }
165
165
  async function publish(repo, usageDir, args) {
166
166
  const directory = `${args.DIRECTORY}`;
@@ -172,19 +172,19 @@ async function publish(repo, usageDir, args) {
172
172
  });
173
173
  await doRepo.npm(async () => {
174
174
  header('NPM');
175
- await npm_1.uploadNpmPackages(glob.sync(path.join(directory, 'js', '*.tgz')), login, usageDir);
175
+ await (0, npm_1.uploadNpmPackages)(glob.sync(path.join(directory, 'js', '*.tgz')), login, usageDir);
176
176
  });
177
177
  await doRepo.python(async () => {
178
178
  header('Python');
179
- await pypi_1.uploadPythonPackages(glob.sync(path.join(directory, 'python', '*')), login);
179
+ await (0, pypi_1.uploadPythonPackages)(glob.sync(path.join(directory, 'python', '*')), login);
180
180
  });
181
181
  await doRepo.java(async () => {
182
182
  header('Java');
183
- await maven_1.uploadJavaPackages(glob.sync(path.join(directory, 'java', '**', '*.pom')), login, usageDir);
183
+ await (0, maven_1.uploadJavaPackages)(glob.sync(path.join(directory, 'java', '**', '*.pom')), login, usageDir);
184
184
  });
185
185
  await doRepo.dotnet(async () => {
186
186
  header('.NET');
187
- await nuget_1.uploadDotnetPackages(glob.sync(path.join(directory, 'dotnet', '**', '*.nupkg')), usageDir);
187
+ await (0, nuget_1.uploadDotnetPackages)(glob.sync(path.join(directory, 'dotnet', '**', '*.nupkg')), usageDir);
188
188
  });
189
189
  if (args.regression) {
190
190
  console.log('🛍 Configuring packages for upstream versions');
@@ -213,4 +213,4 @@ main().catch(e => {
213
213
  console.error(e);
214
214
  process.exitCode = 1;
215
215
  });
216
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhZ2UtZGlzdHJpYnV0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3RhZ2UtZGlzdHJpYnV0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsK0JBQStCO0FBQy9CLDZCQUE2QjtBQUM3QiwrQkFBK0I7QUFDL0IsNkJBQTZCO0FBQzdCLCtCQUErQjtBQUMvQixnQ0FBK0I7QUFDL0IsOERBQTZEO0FBQzdELGdEQUFzRTtBQUN0RSw0Q0FBaUU7QUFDakUsZ0RBQXdFO0FBQ3hFLDhDQUFzRTtBQUN0RSx3REFBb0Q7QUFFcEQsS0FBSyxVQUFVLElBQUk7SUFDakIsTUFBTSxLQUFLO1NBQ1IsS0FBSyxDQUFDLGNBQWMsQ0FBQztTQUNyQixNQUFNLENBQUMsS0FBSyxFQUFFO1FBQ2IsV0FBVyxFQUFFLDBCQUEwQjtRQUN2QyxJQUFJLEVBQUUsU0FBUztRQUNmLFdBQVcsRUFBRSxLQUFLO0tBQ25CLENBQUM7U0FDRCxNQUFNLENBQUMsUUFBUSxFQUFFO1FBQ2hCLFdBQVcsRUFBRSw2QkFBNkI7UUFDMUMsSUFBSSxFQUFFLFNBQVM7UUFDZixXQUFXLEVBQUUsS0FBSztLQUNuQixDQUFDO1NBQ0QsTUFBTSxDQUFDLE1BQU0sRUFBRTtRQUNkLFdBQVcsRUFBRSwyQkFBMkI7UUFDeEMsSUFBSSxFQUFFLFNBQVM7UUFDZixXQUFXLEVBQUUsS0FBSztLQUNuQixDQUFDO1NBQ0QsTUFBTSxDQUFDLFFBQVEsRUFBRTtRQUNoQixXQUFXLEVBQUUsNkJBQTZCO1FBQzFDLElBQUksRUFBRSxTQUFTO1FBQ2YsV0FBVyxFQUFFLEtBQUs7S0FDbkIsQ0FBQztTQUNELE1BQU0sQ0FBQyxZQUFZLEVBQUU7UUFDcEIsV0FBVyxFQUFFLGdJQUFnSTtRQUM3SSxJQUFJLEVBQUUsU0FBUztRQUNmLFdBQVcsRUFBRSxLQUFLO1FBQ2xCLE9BQU8sRUFBRSxLQUFLO0tBQ2YsQ0FBQztTQUNELE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSwyQkFBMkIsRUFBRSxHQUFH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c0NBQXNDO0lBQ3RDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakIsT0FBTyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7QUFDdkIsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1jb25zb2xlICovXG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMtZXh0cmEnO1xuaW1wb3J0ICogYXMgZ2xvYiBmcm9tICdnbG9iJztcbmltcG9ydCAqIGFzIHlhcmdzIGZyb20gJ3lhcmdzJztcbmltcG9ydCB7IHNoZWxsIH0gZnJvbSAnLi4vbGliJztcbmltcG9ydCB7IFRlc3RSZXBvc2l0b3J5IH0gZnJvbSAnLi4vbGliL3N0YWdpbmcvY29kZWFydGlmYWN0JztcbmltcG9ydCB7IHVwbG9hZEphdmFQYWNrYWdlcywgbWF2ZW5Mb2dpbiB9IGZyb20gJy4uL2xpYi9zdGFnaW5nL21hdmVuJztcbmltcG9ydCB7IHVwbG9hZE5wbVBhY2thZ2VzLCBucG1Mb2dpbiB9IGZyb20gJy4uL2xpYi9zdGFnaW5nL25wbSc7XG5pbXBvcnQgeyB1cGxvYWREb3RuZXRQYWNrYWdlcywgbnVnZXRMb2dpbiB9IGZyb20gJy4uL2xpYi9zdGFnaW5nL251Z2V0JztcbmltcG9ydCB7IHVwbG9hZFB5dGhvblBhY2thZ2VzLCBweXBpTG9naW4gfSBmcm9tICcuLi9saWIvc3RhZ2luZy9weXBpJztcbmltcG9ydCB7IFVzYWdlRGlyIH0gZnJvbSAnLi4vbGliL3N0YWdpbmcvdXNhZ2UtZGlyJztcblxuYXN5bmMgZnVuY3Rpb24gbWFpbigpIHtcbiAgYXdhaXQgeWFyZ3NcbiAgICAudXNhZ2UoJyQwIDxjb21tYW5kPicpXG4gICAgLm9wdGlvbignbnBtJywge1xuICAgICAgZGVzY3JpcHRpb246ICdVcGxvYWQgTlBNIHBhY2thZ2VzIG9ubHknLFxuICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgcmVxdWlyZXNBcmc6IGZhbHNlLFxuICAgIH0pXG4gICAgLm9wdGlvbigncHl0aG9uJywge1xuICAgICAgZGVzY3JpcHRpb246ICdVcGxvYWQgUHl0aG9uIHBhY2thZ2VzIG9ubHknLFxuICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgcmVxdWlyZXNBcmc6IGZhbHNlLFxuICAgIH0pXG4gICAgLm9wdGlvbignamF2YScsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnVXBsb2FkIEphdmEgcGFja2FnZXMgb25seScsXG4gICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICByZXF1aXJlc0FyZzogZmFsc2UsXG4gICAgfSlcbiAgICAub3B0aW9uKCdkb3RuZXQnLCB7XG4gICAgICBkZXNjcmlwdGlvbjogJ1VwbG9hZCBEb3RuZXQgcGFja2FnZXMgb25seScsXG4gICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICByZXF1aXJlc0FyZzogZmFsc2UsXG4gICAgfSlcbiAgICAub3B0aW9uKCdyZWdyZXNzaW9uJywge1xuICAgICAgZGVzY3JpcHRpb246ICdFbmFibGUgYWNjZXNzIHRvIHByZXZpb3VzIHZlcnNpb25zIG9mIHRoZSBzdGFnZWQgcGFja2FnZXMgKHRoaXMgaXMgZXhwZW5zaXZlIGZvciBDb2RlQXJ0aWZhY3Qgc28gd2Ugb25seSBkbyBpdCB3aGVuIG5lY2Vzc2FyeSknLFxuICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgcmVxdWlyZXNBcmc6IGZhbHNlLFxuICAgICAgZGVmYXVsdDogZmFsc2UsXG4gICAgfSlcbiAgICAuY29tbWFuZCgncHVibGlzaCA8RElSRUNUT1JZPicsICdQdWJsaXNoIGEgZ2l2ZW4gZGlyZWN0b3J5JywgY21kID0+IGNtZFxuICAgICAgLnBvc2l0aW9uYWwoJ0RJUkVDVE9SWScsIHtcbiAgICAgICAgZGVzY3JpcHRvbjogJ0RpcmVjdG9yeSBkaXN0cmlidXRpb24nLFxuICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgZGVtYW5kT3B0aW9uOiB0cnVlLFxuICAgICAgfSlcbiAgICAgIC5vcHRpb24oJ25hbWUnLCB7XG4gICAgICAgIGFsaWFzOiAnbicsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTmFtZSBvZiB0aGUgcmVwb3NpdG9yeSB0byBjcmVhdGUgKGRlZmF1bHQ6IGdlbmVyYXRlIHVuaXF1ZSBuYW1lKScsXG4gICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICByZXF1aXJlc0FyZzogdHJ1ZSxcbiAgICAgIH0pLCBhc3luYyAoYXJncykgPT4ge1xuXG4gICAgICBhd2FpdCB2YWxpZGF0ZURpcmVjdG9yeShhcmdzKTtcbiAgICAgIGNvbnN0IHJlcG8gPSBhd2FpdCAoYXJncy5uYW1lID8gVGVzdFJlcG9zaXRvcnkubmV3V2l0aE5hbWUoYXJncy5uYW1lKSA6IFRlc3RSZXBvc2l0b3J5Lm5ld1JhbmRvbSgpKTtcbiAgICAgIGNvbnN0IHVzYWdlRGlyID0gVXNhZ2VEaXIuZGVmYXVsdCgpO1xuXG4gICAgICBhd2FpdCBkb0xvZ2luKHJlcG8sIHVzYWdlRGlyLCBhcmdzKTtcbiAgICAgIGF3YWl0IHB1Ymxpc2gocmVwbywgdXNhZ2VEaXIsIGFyZ3MpO1xuXG4gICAgICBoZWFkZXIoJ0RvbmUnKTtcbiAgICAgIHVzYWdlRGlyLmFkdmVydGlzZSgpO1xuICAgIH0pXG4gICAgLmNvbW1hbmQoJ2xvZ2luJywgJ0xvZ2luIHRvIGEgZ2l2ZW4gcmVwb3NpdG9yeScsIGNtZCA9PiBjbWRcbiAgICAgIC5vcHRpb24oJ25hbWUnLCB7XG4gICAgICAgIGFsaWFzOiAnbicsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTmFtZSBvZiB0aGUgcmVwb3NpdG9yeSB0byBsb2cgaW4gdG8nLFxuICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgcmVxdWlyZXNBcmc6IHRydWUsXG4gICAgICAgIGRlbWFuZE9wdGlvbjogdHJ1ZSxcbiAgICAgIH0pLCBhc3luYyAoYXJncykgPT4ge1xuXG4gICAgICBjb25zdCByZXBvID0gVGVzdFJlcG9zaXRvcnkuZXhpc3RpbmcoYXJncy5uYW1lKTtcbiAgICAgIGNvbnN0IHVzYWdlRGlyID0gVXNhZ2VEaXIuZGVmYXVsdCgpO1xuXG4gICAgICBhd2FpdCBkb0xvZ2luKHJlcG8sIHVzYWdlRGlyLCBhcmdzKTtcblxuICAgICAgdXNhZ2VEaXIuYWR2ZXJ0aXNlKCk7XG4gICAgfSlcbiAgICAuY29tbWFuZCgncnVuIDxESVJFQ1RPUlk+IDxDT01NQU5ELi4+JywgJ1B1Ymxpc2ggYW5kIHJ1biBhIGNvbW1hbmQnLCBjbWQgPT4gY21kXG4gICAgICAucG9zaXRpb25hbCgnRElSRUNUT1JZJywge1xuICAgICAgICBkZXNjcmlwdG9uOiAnRGlyZWN0b3J5IGRpc3RyaWJ1dGlvbicsXG4gICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICBkZW1hbmRPcHRpb246IHRydWUsXG4gICAgICB9KVxuICAgICAgLnBvc2l0aW9uYWwoJ0NPTU1BTkQnLCB7XG4gICAgICAgIGFsaWFzOiAnYycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnUnVuIHRoZSBnaXZlbiBjb21tYW5kIHdpdGggdGhlIHBhY2thZ2VzIHN0YWdlZCcsXG4gICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICBhcnJheTogdHJ1ZSxcbiAgICAgICAgZGVtYW5kT3B0aW9uOiB0cnVlLFxuICAgICAgfSlcbiAgICAgIC5vcHRpb24oJ2NsZWFudXAnLCB7XG4gICAgICAgIGFsaWFzOiAnQycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnQ2xlYW51cCB0aGUgcmVwb3NpdG9yeSBhZnRlcndhcmRzJyxcbiAgICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgICBkZWZhdWx0OiB0cnVlLFxuICAgICAgICByZXF1aXJlc0FyZzogZmFsc2UsXG4gICAgICB9KSwgYXN5bmMgKGFyZ3MpID0+IHtcblxuICAgICAgYXdhaXQgdmFsaWRhdGVEaXJlY3RvcnkoYXJncyk7XG4gICAgICBjb25zdCByZXBvID0gYXdhaXQgVGVzdFJlcG9zaXRvcnkubmV3UmFuZG9tKCk7XG4gICAgICBjb25zdCB1c2FnZURpciA9IFVzYWdlRGlyLmRlZmF1bHQoKTtcblxuICAgICAgYXdhaXQgZG9Mb2dpbihyZXBvLCB1c2FnZURpciwgYXJncyk7XG4gICAgICBhd2FpdCBwdWJsaXNoKHJlcG8sIHVzYWdlRGlyLCBhcmdzKTtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgdXNhZ2VEaXIuYWN0aXZhdGVJbkN1cnJlbnRQcm9jZXNzKCk7XG5cbiAgICAgICAgYXdhaXQgc2hlbGwoYXJncy5DT01NQU5EID8/IFtdLCB7XG4gICAgICAgICAgc2hlbGw6IHRydWUsXG4gICAgICAgICAgc2hvdzogJ2Fsd2F5cycsXG4gICAgICAgIH0pO1xuXG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBpZiAoYXJncy5jbGVhbnVwKSB7XG4gICAgICAgICAgYXdhaXQgcmVwby5kZWxldGUoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pXG4gICAgLmNvbW1hbmQoJ2NsZWFudXAnLCAnQ2xlYW4gdXAgdGVzdGluZyByZXBvc2l0b3J5JywgY21kID0+IGNtZFxuICAgICAgLm9wdGlvbignbmFtZScsIHtcbiAgICAgICAgYWxpYXM6ICduJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdOYW1lIG9mIHRoZSByZXBvc2l0b3J5IHRvIGNsZWFudXAgKGRlZmF1bHQ6IG1vc3QgcmVjZW50KScsXG4gICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICByZXF1aXJlc0FyZzogdHJ1ZSxcbiAgICAgIH0pLCBhc3luYyAoYXJncykgPT4ge1xuXG4gICAgICBjb25zdCB1c2FnZURpciA9IFVzYWdlRGlyLmRlZmF1bHQoKTtcblxuICAgICAgbGV0IHJlcG9zaXRvcnlOYW1lID0gYXJncy5uYW1lO1xuICAgICAgaWYgKCFyZXBvc2l0b3J5TmFtZSkge1xuICAgICAgICByZXBvc2l0b3J5TmFtZSA9IChhd2FpdCB1c2FnZURpci5jdXJyZW50RW52KCkpLkNPREVBUlRJRkFDVF9SRVBPO1xuICAgICAgfVxuXG4gICAgICBpZiAoIXJlcG9zaXRvcnlOYW1lKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGBObyAtLW5hbWUgZ2l2ZW4gYW5kIG5vICRDT0RFQVJUSUZBQ1RfUkVQTyBmb3VuZCBpbiAke3VzYWdlRGlyLmRpcmVjdG9yeX0sIG5vdGhpbmcgY2xlYW5lZCB1cGApO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJlcG8gPSBUZXN0UmVwb3NpdG9yeS5leGlzdGluZyhyZXBvc2l0b3J5TmFtZSk7XG4gICAgICBhd2FpdCByZXBvLmRlbGV0ZSgpO1xuICAgIH0pXG4gICAgLmNvbW1hbmQoJ2djJywgJ0NsZWFuIHVwIGRheS1vbGQgdGVzdGluZyByZXBvc2l0b3JpZXMnLCBjbWQgPT4gY21kLCBhc3luYyAoKSA9PiB7XG4gICAgICBhd2FpdCBUZXN0UmVwb3NpdG9yeS5nYygpO1xuICAgIH0pXG4gICAgLmRlbWFuZENvbW1hbmQoMSwgJ1lvdSBtdXN0IHN1cHBseSBhIGNvbW1hbmQnKVxuICAgIC5oZWxwKClcbiAgICAuc2hvd0hlbHBPbkZhaWwoZmFsc2UpXG4gICAgLnBhcnNlKCk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHZhbGlkYXRlRGlyZWN0b3J5KGFyZ3M6IHtcbiAgRElSRUNUT1JZOiBzdHJpbmcsXG59KSB7XG4gIGlmICghYXdhaXQgZnMucGF0aEV4aXN0cyhwYXRoLmpvaW4oYXJncy5ESVJFQ1RPUlksICdidWlsZC5qc29uJykpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGAke2FyZ3MuRElSRUNUT1JZfSBkb2VzIG5vdCBsb29rIGxpa2UgYSBDREsgZGlzdCBkaXJlY3RvcnkgKGJ1aWxkLmpzb24gbWlzc2luZylgKTtcbiAgfVxufVxuXG5hc3luYyBmdW5jdGlvbiBkb0xvZ2luKHJlcG86IFRlc3RSZXBvc2l0b3J5LCB1c2FnZURpcjogVXNhZ2VEaXIsIGFyZ3M6IHtcbiAgbnBtPzogYm9vbGVhbjtcbiAgcHl0aG9uPzogYm9vbGVhbjtcbiAgamF2YT86IGJvb2xlYW47XG4gIGRvdG5ldD86IGJvb2xlYW47XG59KSB7XG4gIGNvbnN0IGxvZ2luID0gYXdhaXQgcmVwby5sb2dpbkluZm9ybWF0aW9uKCk7XG5cbiAgY29uc3Qgb2xkRW52ID0gYXdhaXQgdXNhZ2VEaXIuY3VycmVudEVudigpO1xuXG4gIGF3YWl0IHVzYWdlRGlyLmNsZWFuKCk7XG4gIGF3YWl0IHVzYWdlRGlyLmFkZFRvRW52KHtcbiAgICBDT0RFQVJUSUZBQ1RfUkVQTzogbG9naW4ucmVwb3NpdG9yeU5hbWUsXG4gIH0pO1xuXG4gIGlmIChvbGRFbnYuQlVJTERfVkVSU0lPTikge1xuICAgIGF3YWl0IHVzYWdlRGlyLmFkZFRvRW52KHtcbiAgICAgIEJVSUxEX1ZFUlNJT046IG9sZEVudi5CVUlMRF9WRVJTSU9OLFxuICAgIH0pO1xuICB9XG5cbiAgY29uc3QgZG9SZXBvID0gd2hpY2hSZXBvcyhhcmdzKTtcblxuICBhd2FpdCBkb1JlcG8ubnBtKCgpID0+IG5wbUxvZ2luKGxvZ2luLCB1c2FnZURpcikpO1xuICBhd2FpdCBkb1JlcG8ucHl0aG9uKCgpID0+IHB5cGlMb2dpbihsb2dpbiwgdXNhZ2VEaXIpKTtcbiAgYXdhaXQgZG9SZXBvLmphdmEoKCkgPT4gbWF2ZW5Mb2dpbihsb2dpbiwgdXNhZ2VEaXIpKTtcbiAgYXdhaXQgZG9SZXBvLmRvdG5ldCgoKSA9PiBudWdldExvZ2luKGxvZ2luLCB1c2FnZURpcikpO1xufVxuXG5hc3luYyBmdW5jdGlvbiBwdWJsaXNoKHJlcG86IFRlc3RSZXBvc2l0b3J5LCB1c2FnZURpcjogVXNhZ2VEaXIsIGFyZ3M6IHtcbiAgRElSRUNUT1JZOiBzdHJpbmcsXG4gIG5wbT86IGJvb2xlYW47XG4gIHB5dGhvbj86IGJvb2xlYW47XG4gIGphdmE/OiBib29sZWFuO1xuICBkb3RuZXQ/OiBib29sZWFuO1xuICByZWdyZXNzaW9uPzogYm9vbGVhbjtcbn0pIHtcbiAgY29uc3QgZGlyZWN0b3J5ID0gYCR7YXJncy5ESVJFQ1RPUll9YDtcbiAgY29uc3QgbG9naW4gPSBhd2FpdCByZXBvLmxvZ2luSW5mb3JtYXRpb24oKTtcblxuICBjb25zdCBkb1JlcG8gPSB3aGljaFJlcG9zKGFyZ3MpO1xuXG4gIGNvbnN0IGJ1aWxkSnNvbiA9IGF3YWl0IGZzLnJlYWRKc29uKHBhdGguam9pbihkaXJlY3RvcnksICdidWlsZC5qc29uJykpO1xuICBhd2FpdCB1c2FnZURpci5hZGRUb0Vudih7XG4gICAgQlVJTERfVkVSU0lPTjogYnVpbGRKc29uLnZlcnNpb24sXG4gIH0pO1xuXG4gIGF3YWl0IGRvUmVwby5ucG0oYXN5bmMgKCkgPT4ge1xuICAgIGhlYWRlcignTlBNJyk7XG4gICAgYXdhaXQgdXBsb2FkTnBtUGFja2FnZXMoZ2xvYi5zeW5jKHBhdGguam9pbihkaXJlY3RvcnksICdqcycsICcqLnRneicpKSwgbG9naW4sIHVzYWdlRGlyKTtcbiAgfSk7XG5cbiAgYXdhaXQgZG9SZXBvLnB5dGhvbihhc3luYyAoKSA9PiB7XG4gICAgaGVhZGVyKCdQeXRob24nKTtcbiAgICBhd2FpdCB1cGxvYWRQeXRob25QYWNrYWdlcyhnbG9iLnN5bmMocGF0aC5qb2luKGRpcmVjdG9yeSwgJ3B5dGhvbicsICcqJykpLCBsb2dpbik7XG4gIH0pO1xuXG4gIGF3YWl0IGRvUmVwby5qYXZhKGFzeW5jICgpID0+IHtcbiAgICBoZWFkZXIoJ0phdmEnKTtcbiAgICBhd2FpdCB1cGxvYWRKYXZhUGFja2FnZXMoZ2xvYi5zeW5jKHBhdGguam9pbihkaXJlY3RvcnksICdqYXZhJywgJyoqJywgJyoucG9tJykpLCBsb2dpbiwgdXNhZ2VEaXIpO1xuICB9KTtcblxuICBhd2FpdCBkb1JlcG8uZG90bmV0KGFzeW5jICgpID0+IHtcbiAgICBoZWFkZXIoJy5ORVQnKTtcbiAgICBhd2FpdCB1cGxvYWREb3RuZXRQYWNrYWdlcyhnbG9iLnN5bmMocGF0aC5qb2luKGRpcmVjdG9yeSwgJ2RvdG5ldCcsICcqKicsICcqLm51cGtnJykpLCB1c2FnZURpcik7XG4gIH0pO1xuXG4gIGlmIChhcmdzLnJlZ3Jlc3Npb24pIHtcbiAgICBjb25zb2xlLmxvZygn8J+bjSBDb25maWd1cmluZyBwYWNrYWdlcyBmb3IgdXBzdHJlYW0gdmVyc2lvbnMnKTtcbiAgICBhd2FpdCByZXBvLm1hcmtBbGxVcHN0cmVhbUFsbG93KCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gd2hpY2hSZXBvcyhhcmdzOiB7XG4gIG5wbT86IGJvb2xlYW47XG4gIHB5dGhvbj86IGJvb2xlYW47XG4gIGphdmE/OiBib29sZWFuO1xuICBkb3RuZXQ/OiBib29sZWFuO1xufSkge1xuICBjb25zdCBhbGwgPSBhcmdzLm5wbSA9PT0gdW5kZWZpbmVkICYmIGFyZ3MucHl0aG9uID09PSB1bmRlZmluZWQgJiYgYXJncy5qYXZhID09PSB1bmRlZmluZWQgJiYgYXJncy5kb3RuZXQgPT09IHVuZGVmaW5lZDtcblxuICBjb25zdCBpbnZva2UgPSAoYmxvY2s6ICgpID0+IFByb21pc2U8dm9pZD4pID0+IGJsb2NrKCk7XG4gIGNvbnN0IHNraXAgPSAoKSA9PiB7IH07XG5cbiAgcmV0dXJuIHtcbiAgICBucG06IGFyZ3MubnBtIHx8IGFsbCA/IGludm9rZSA6IHNraXAsXG4gICAgcHl0aG9uOiBhcmdzLnB5dGhvbiB8fCBhbGwgPyBpbnZva2UgOiBza2lwLFxuICAgIGphdmE6IGFyZ3MuamF2YSB8fCBhbGwgPyBpbnZva2UgOiBza2lwLFxuICAgIGRvdG5ldDogYXJncy5kb3RuZXQgfHwgYWxsID8gaW52b2tlIDogc2tpcCxcbiAgfTtcbn1cblxuZnVuY3Rpb24gaGVhZGVyKGNhcHRpb246IHN0cmluZykge1xuICBjb25zb2xlLmxvZygnJyk7XG4gIGNvbnNvbGUubG9nKCcvJy5yZXBlYXQoNzApKTtcbiAgY29uc29sZS5sb2coYC8vICAke2NhcHRpb259YCk7XG4gIGNvbnNvbGUubG9nKCcnKTtcbn1cblxubWFpbigpLmNhdGNoKGUgPT4ge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICBjb25zb2xlLmVycm9yKGUpO1xuICBwcm9jZXNzLmV4aXRDb2RlID0gMTtcbn0pO1xuIl19
216
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhZ2UtZGlzdHJpYnV0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3RhZ2UtZGlzdHJpYnV0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsK0JBQStCO0FBQy9CLDZCQUE2QjtBQUM3QiwrQkFBK0I7QUFDL0IsNkJBQTZCO0FBQzdCLCtCQUErQjtBQUMvQixnQ0FBK0I7QUFDL0IsOERBQTZEO0FBQzdELGdEQUFzRTtBQUN0RSw0Q0FBaUU7QUFDakUsZ0RBQXdFO0FBQ3hFLDhDQUFzRTtBQUN0RSx3REFBb0Q7QUFFcEQsS0FBSyxVQUFVLElBQUk7SUFDakIsTUFBTSxLQUFLO1NBQ1IsS0FBSyxDQUFDLGNBQWMsQ0FBQztTQUNyQixNQUFNLENBQUMsS0FBSyxFQUFFO1FBQ2IsV0FBVyxFQUFFLDBCQUEwQjtRQUN2QyxJQUFJLEVBQUUsU0FBUztRQUNmLFdBQVcsRUFBRSxLQUFLO0tBQ25CLENBQUM7U0FDRCxNQUFNLENBQUMsUUFBUSxFQUFFO1FBQ2hCLFdBQVcsRUFBRSw2QkFBNkI7UUFDMUMsSUFBSSxFQUFFLFNBQVM7UUFDZixXQUFXLEVBQUUsS0FBSztLQUNuQixDQUFDO1NBQ0QsTUFBTSxDQUFDLE1BQU0sRUFBRTtRQUNkLFdBQVcsRUFBRSwyQkFBMkI7UUFDeEMsSUFBSSxFQUFFLFNBQVM7UUFDZixXQUFXLEVBQUUsS0FBSztLQUNuQixDQUFDO1NBQ0QsTUFBTSxDQUFDLFFBQVEsRUFBRTtRQUNoQixXQUFXLEVBQUUsNkJBQTZCO1FBQzFDLElBQUksRUFBRSxTQUFTO1FBQ2YsV0FBVyxFQUFFLEtBQUs7S0FDbkIsQ0FBQztTQUNELE1BQU0sQ0FBQyxZQUFZLEVBQUU7UUFDcEIsV0FBVyxFQUFFLGdJQUFnSTtRQUM3SSxJQUFJLEVBQUUsU0FBUztRQUNmLFdBQVcsRUFBRSxLQUFLO1FBQ2xCLE9BQU8sRUFBRSxLQUFLO0tBQ2YsQ0FBQztTQUNELE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSwyQkFBMkIsRUFBRSxHQUFH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SUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFO0lBQ2Ysc0NBQXNDO0lBQ3RDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakIsT0FBTyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7QUFDdkIsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1jb25zb2xlICovXG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMtZXh0cmEnO1xuaW1wb3J0ICogYXMgZ2xvYiBmcm9tICdnbG9iJztcbmltcG9ydCAqIGFzIHlhcmdzIGZyb20gJ3lhcmdzJztcbmltcG9ydCB7IHNoZWxsIH0gZnJvbSAnLi4vbGliJztcbmltcG9ydCB7IFRlc3RSZXBvc2l0b3J5IH0gZnJvbSAnLi4vbGliL3N0YWdpbmcvY29kZWFydGlmYWN0JztcbmltcG9ydCB7IHVwbG9hZEphdmFQYWNrYWdlcywgbWF2ZW5Mb2dpbiB9IGZyb20gJy4uL2xpYi9zdGFnaW5nL21hdmVuJztcbmltcG9ydCB7IHVwbG9hZE5wbVBhY2thZ2VzLCBucG1Mb2dpbiB9IGZyb20gJy4uL2xpYi9zdGFnaW5nL25wbSc7XG5pbXBvcnQgeyB1cGxvYWREb3RuZXRQYWNrYWdlcywgbnVnZXRMb2dpbiB9IGZyb20gJy4uL2xpYi9zdGFnaW5nL251Z2V0JztcbmltcG9ydCB7IHVwbG9hZFB5dGhvblBhY2thZ2VzLCBweXBpTG9naW4gfSBmcm9tICcuLi9saWIvc3RhZ2luZy9weXBpJztcbmltcG9ydCB7IFVzYWdlRGlyIH0gZnJvbSAnLi4vbGliL3N0YWdpbmcvdXNhZ2UtZGlyJztcblxuYXN5bmMgZnVuY3Rpb24gbWFpbigpIHtcbiAgYXdhaXQgeWFyZ3NcbiAgICAudXNhZ2UoJyQwIDxjb21tYW5kPicpXG4gICAgLm9wdGlvbignbnBtJywge1xuICAgICAgZGVzY3JpcHRpb246ICdVcGxvYWQgTlBNIHBhY2thZ2VzIG9ubHknLFxuICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgcmVxdWlyZXNBcmc6IGZhbHNlLFxuICAgIH0pXG4gICAgLm9wdGlvbigncHl0aG9uJywge1xuICAgICAgZGVzY3JpcHRpb246ICdVcGxvYWQgUHl0aG9uIHBhY2thZ2VzIG9ubHknLFxuICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgcmVxdWlyZXNBcmc6IGZhbHNlLFxuICAgIH0pXG4gICAgLm9wdGlvbignamF2YScsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnVXBsb2FkIEphdmEgcGFja2FnZXMgb25seScsXG4gICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICByZXF1aXJlc0FyZzogZmFsc2UsXG4gICAgfSlcbiAgICAub3B0aW9uKCdkb3RuZXQnLCB7XG4gICAgICBkZXNjcmlwdGlvbjogJ1VwbG9hZCBEb3RuZXQgcGFja2FnZXMgb25seScsXG4gICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICByZXF1aXJlc0FyZzogZmFsc2UsXG4gICAgfSlcbiAgICAub3B0aW9uKCdyZWdyZXNzaW9uJywge1xuICAgICAgZGVzY3JpcHRpb246ICdFbmFibGUgYWNjZXNzIHRvIHByZXZpb3VzIHZlcnNpb25zIG9mIHRoZSBzdGFnZWQgcGFja2FnZXMgKHRoaXMgaXMgZXhwZW5zaXZlIGZvciBDb2RlQXJ0aWZhY3Qgc28gd2Ugb25seSBkbyBpdCB3aGVuIG5lY2Vzc2FyeSknLFxuICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgcmVxdWlyZXNBcmc6IGZhbHNlLFxuICAgICAgZGVmYXVsdDogZmFsc2UsXG4gICAgfSlcbiAgICAuY29tbWFuZCgncHVibGlzaCA8RElSRUNUT1JZPicsICdQdWJsaXNoIGEgZ2l2ZW4gZGlyZWN0b3J5JywgY21kID0+IGNtZFxuICAgICAgLnBvc2l0aW9uYWwoJ0RJUkVDVE9SWScsIHtcbiAgICAgICAgZGVzY3JpcHRvbjogJ0RpcmVjdG9yeSBkaXN0cmlidXRpb24nLFxuICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgZGVtYW5kT3B0aW9uOiB0cnVlLFxuICAgICAgfSlcbiAgICAgIC5vcHRpb24oJ25hbWUnLCB7XG4gICAgICAgIGFsaWFzOiAnbicsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTmFtZSBvZiB0aGUgcmVwb3NpdG9yeSB0byBjcmVhdGUgKGRlZmF1bHQ6IGdlbmVyYXRlIHVuaXF1ZSBuYW1lKScsXG4gICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICByZXF1aXJlc0FyZzogdHJ1ZSxcbiAgICAgIH0pLCBhc3luYyAoYXJncykgPT4ge1xuXG4gICAgICBhd2FpdCB2YWxpZGF0ZURpcmVjdG9yeShhcmdzKTtcbiAgICAgIGNvbnN0IHJlcG8gPSBhd2FpdCAoYXJncy5uYW1lID8gVGVzdFJlcG9zaXRvcnkubmV3V2l0aE5hbWUoYXJncy5uYW1lKSA6IFRlc3RSZXBvc2l0b3J5Lm5ld1JhbmRvbSgpKTtcbiAgICAgIGNvbnN0IHVzYWdlRGlyID0gVXNhZ2VEaXIuZGVmYXVsdCgpO1xuXG4gICAgICBhd2FpdCBkb0xvZ2luKHJlcG8sIHVzYWdlRGlyLCBhcmdzKTtcbiAgICAgIGF3YWl0IHB1Ymxpc2gocmVwbywgdXNhZ2VEaXIsIGFyZ3MpO1xuXG4gICAgICBoZWFkZXIoJ0RvbmUnKTtcbiAgICAgIHVzYWdlRGlyLmFkdmVydGlzZSgpO1xuICAgIH0pXG4gICAgLmNvbW1hbmQoJ2xvZ2luJywgJ0xvZ2luIHRvIGEgZ2l2ZW4gcmVwb3NpdG9yeScsIGNtZCA9PiBjbWRcbiAgICAgIC5vcHRpb24oJ25hbWUnLCB7XG4gICAgICAgIGFsaWFzOiAnbicsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTmFtZSBvZiB0aGUgcmVwb3NpdG9yeSB0byBsb2cgaW4gdG8nLFxuICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgcmVxdWlyZXNBcmc6IHRydWUsXG4gICAgICAgIGRlbWFuZE9wdGlvbjogdHJ1ZSxcbiAgICAgIH0pLCBhc3luYyAoYXJncykgPT4ge1xuXG4gICAgICBjb25zdCByZXBvID0gVGVzdFJlcG9zaXRvcnkuZXhpc3RpbmcoYXJncy5uYW1lKTtcbiAgICAgIGNvbnN0IHVzYWdlRGlyID0gVXNhZ2VEaXIuZGVmYXVsdCgpO1xuXG4gICAgICBhd2FpdCBkb0xvZ2luKHJlcG8sIHVzYWdlRGlyLCBhcmdzKTtcblxuICAgICAgdXNhZ2VEaXIuYWR2ZXJ0aXNlKCk7XG4gICAgfSlcbiAgICAuY29tbWFuZCgncnVuIDxESVJFQ1RPUlk+IDxDT01NQU5ELi4+JywgJ1B1Ymxpc2ggYW5kIHJ1biBhIGNvbW1hbmQnLCBjbWQgPT4gY21kXG4gICAgICAucG9zaXRpb25hbCgnRElSRUNUT1JZJywge1xuICAgICAgICBkZXNjcmlwdG9uOiAnRGlyZWN0b3J5IGRpc3RyaWJ1dGlvbicsXG4gICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICBkZW1hbmRPcHRpb246IHRydWUsXG4gICAgICB9KVxuICAgICAgLnBvc2l0aW9uYWwoJ0NPTU1BTkQnLCB7XG4gICAgICAgIGFsaWFzOiAnYycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnUnVuIHRoZSBnaXZlbiBjb21tYW5kIHdpdGggdGhlIHBhY2thZ2VzIHN0YWdlZCcsXG4gICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICBhcnJheTogdHJ1ZSxcbiAgICAgICAgZGVtYW5kT3B0aW9uOiB0cnVlLFxuICAgICAgfSlcbiAgICAgIC5vcHRpb24oJ2NsZWFudXAnLCB7XG4gICAgICAgIGFsaWFzOiAnQycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnQ2xlYW51cCB0aGUgcmVwb3NpdG9yeSBhZnRlcndhcmRzJyxcbiAgICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgICBkZWZhdWx0OiB0cnVlLFxuICAgICAgICByZXF1aXJlc0FyZzogZmFsc2UsXG4gICAgICB9KSwgYXN5bmMgKGFyZ3MpID0+IHtcblxuICAgICAgYXdhaXQgdmFsaWRhdGVEaXJlY3RvcnkoYXJncyk7XG4gICAgICBjb25zdCByZXBvID0gYXdhaXQgVGVzdFJlcG9zaXRvcnkubmV3UmFuZG9tKCk7XG4gICAgICBjb25zdCB1c2FnZURpciA9IFVzYWdlRGlyLmRlZmF1bHQoKTtcblxuICAgICAgYXdhaXQgZG9Mb2dpbihyZXBvLCB1c2FnZURpciwgYXJncyk7XG4gICAgICBhd2FpdCBwdWJsaXNoKHJlcG8sIHVzYWdlRGlyLCBhcmdzKTtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgdXNhZ2VEaXIuYWN0aXZhdGVJbkN1cnJlbnRQcm9jZXNzKCk7XG5cbiAgICAgICAgYXdhaXQgc2hlbGwoYXJncy5DT01NQU5EID8/IFtdLCB7XG4gICAgICAgICAgc2hlbGw6IHRydWUsXG4gICAgICAgICAgc2hvdzogJ2Fsd2F5cycsXG4gICAgICAgIH0pO1xuXG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBpZiAoYXJncy5jbGVhbnVwKSB7XG4gICAgICAgICAgYXdhaXQgcmVwby5kZWxldGUoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pXG4gICAgLmNvbW1hbmQoJ2NsZWFudXAnLCAnQ2xlYW4gdXAgdGVzdGluZyByZXBvc2l0b3J5JywgY21kID0+IGNtZFxuICAgICAgLm9wdGlvbignbmFtZScsIHtcbiAgICAgICAgYWxpYXM6ICduJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdOYW1lIG9mIHRoZSByZXBvc2l0b3J5IHRvIGNsZWFudXAgKGRlZmF1bHQ6IG1vc3QgcmVjZW50KScsXG4gICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICByZXF1aXJlc0FyZzogdHJ1ZSxcbiAgICAgIH0pLCBhc3luYyAoYXJncykgPT4ge1xuXG4gICAgICBjb25zdCB1c2FnZURpciA9IFVzYWdlRGlyLmRlZmF1bHQoKTtcblxuICAgICAgbGV0IHJlcG9zaXRvcnlOYW1lID0gYXJncy5uYW1lO1xuICAgICAgaWYgKCFyZXBvc2l0b3J5TmFtZSkge1xuICAgICAgICByZXBvc2l0b3J5TmFtZSA9IChhd2FpdCB1c2FnZURpci5jdXJyZW50RW52KCkpLkNPREVBUlRJRkFDVF9SRVBPO1xuICAgICAgfVxuXG4gICAgICBpZiAoIXJlcG9zaXRvcnlOYW1lKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGBObyAtLW5hbWUgZ2l2ZW4gYW5kIG5vICRDT0RFQVJUSUZBQ1RfUkVQTyBmb3VuZCBpbiAke3VzYWdlRGlyLmRpcmVjdG9yeX0sIG5vdGhpbmcgY2xlYW5lZCB1cGApO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJlcG8gPSBUZXN0UmVwb3NpdG9yeS5leGlzdGluZyhyZXBvc2l0b3J5TmFtZSk7XG4gICAgICBhd2FpdCByZXBvLmRlbGV0ZSgpO1xuICAgIH0pXG4gICAgLmNvbW1hbmQoJ2djJywgJ0NsZWFuIHVwIGRheS1vbGQgdGVzdGluZyByZXBvc2l0b3JpZXMnLCBjbWQgPT4gY21kLCBhc3luYyAoKSA9PiB7XG4gICAgICBhd2FpdCBUZXN0UmVwb3NpdG9yeS5nYygpO1xuICAgIH0pXG4gICAgLmRlbWFuZENvbW1hbmQoMSwgJ1lvdSBtdXN0IHN1cHBseSBhIGNvbW1hbmQnKVxuICAgIC5oZWxwKClcbiAgICAuc2hvd0hlbHBPbkZhaWwoZmFsc2UpXG4gICAgLnBhcnNlKCk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHZhbGlkYXRlRGlyZWN0b3J5KGFyZ3M6IHtcbiAgRElSRUNUT1JZOiBzdHJpbmcsXG59KSB7XG4gIGlmICghYXdhaXQgZnMucGF0aEV4aXN0cyhwYXRoLmpvaW4oYXJncy5ESVJFQ1RPUlksICdidWlsZC5qc29uJykpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGAke2FyZ3MuRElSRUNUT1JZfSBkb2VzIG5vdCBsb29rIGxpa2UgYSBDREsgZGlzdCBkaXJlY3RvcnkgKGJ1aWxkLmpzb24gbWlzc2luZylgKTtcbiAgfVxufVxuXG5hc3luYyBmdW5jdGlvbiBkb0xvZ2luKHJlcG86IFRlc3RSZXBvc2l0b3J5LCB1c2FnZURpcjogVXNhZ2VEaXIsIGFyZ3M6IHtcbiAgbnBtPzogYm9vbGVhbjtcbiAgcHl0aG9uPzogYm9vbGVhbjtcbiAgamF2YT86IGJvb2xlYW47XG4gIGRvdG5ldD86IGJvb2xlYW47XG59KSB7XG4gIGNvbnN0IGxvZ2luID0gYXdhaXQgcmVwby5sb2dpbkluZm9ybWF0aW9uKCk7XG5cbiAgY29uc3Qgb2xkRW52ID0gYXdhaXQgdXNhZ2VEaXIuY3VycmVudEVudigpO1xuXG4gIGF3YWl0IHVzYWdlRGlyLmNsZWFuKCk7XG4gIGF3YWl0IHVzYWdlRGlyLmFkZFRvRW52KHtcbiAgICBDT0RFQVJUSUZBQ1RfUkVQTzogbG9naW4ucmVwb3NpdG9yeU5hbWUsXG4gIH0pO1xuXG4gIGlmIChvbGRFbnYuQlVJTERfVkVSU0lPTikge1xuICAgIGF3YWl0IHVzYWdlRGlyLmFkZFRvRW52KHtcbiAgICAgIEJVSUxEX1ZFUlNJT046IG9sZEVudi5CVUlMRF9WRVJTSU9OLFxuICAgIH0pO1xuICB9XG5cbiAgY29uc3QgZG9SZXBvID0gd2hpY2hSZXBvcyhhcmdzKTtcblxuICBhd2FpdCBkb1JlcG8ubnBtKCgpID0+IG5wbUxvZ2luKGxvZ2luLCB1c2FnZURpcikpO1xuICBhd2FpdCBkb1JlcG8ucHl0aG9uKCgpID0+IHB5cGlMb2dpbihsb2dpbiwgdXNhZ2VEaXIpKTtcbiAgYXdhaXQgZG9SZXBvLmphdmEoKCkgPT4gbWF2ZW5Mb2dpbihsb2dpbiwgdXNhZ2VEaXIpKTtcbiAgYXdhaXQgZG9SZXBvLmRvdG5ldCgoKSA9PiBudWdldExvZ2luKGxvZ2luLCB1c2FnZURpcikpO1xufVxuXG5hc3luYyBmdW5jdGlvbiBwdWJsaXNoKHJlcG86IFRlc3RSZXBvc2l0b3J5LCB1c2FnZURpcjogVXNhZ2VEaXIsIGFyZ3M6IHtcbiAgRElSRUNUT1JZOiBzdHJpbmcsXG4gIG5wbT86IGJvb2xlYW47XG4gIHB5dGhvbj86IGJvb2xlYW47XG4gIGphdmE/OiBib29sZWFuO1xuICBkb3RuZXQ/OiBib29sZWFuO1xuICByZWdyZXNzaW9uPzogYm9vbGVhbjtcbn0pIHtcbiAgY29uc3QgZGlyZWN0b3J5ID0gYCR7YXJncy5ESVJFQ1RPUll9YDtcbiAgY29uc3QgbG9naW4gPSBhd2FpdCByZXBvLmxvZ2luSW5mb3JtYXRpb24oKTtcblxuICBjb25zdCBkb1JlcG8gPSB3aGljaFJlcG9zKGFyZ3MpO1xuXG4gIGNvbnN0IGJ1aWxkSnNvbiA9IGF3YWl0IGZzLnJlYWRKc29uKHBhdGguam9pbihkaXJlY3RvcnksICdidWlsZC5qc29uJykpO1xuICBhd2FpdCB1c2FnZURpci5hZGRUb0Vudih7XG4gICAgQlVJTERfVkVSU0lPTjogYnVpbGRKc29uLnZlcnNpb24sXG4gIH0pO1xuXG4gIGF3YWl0IGRvUmVwby5ucG0oYXN5bmMgKCkgPT4ge1xuICAgIGhlYWRlcignTlBNJyk7XG4gICAgYXdhaXQgdXBsb2FkTnBtUGFja2FnZXMoZ2xvYi5zeW5jKHBhdGguam9pbihkaXJlY3RvcnksICdqcycsICcqLnRneicpKSwgbG9naW4sIHVzYWdlRGlyKTtcbiAgfSk7XG5cbiAgYXdhaXQgZG9SZXBvLnB5dGhvbihhc3luYyAoKSA9PiB7XG4gICAgaGVhZGVyKCdQeXRob24nKTtcbiAgICBhd2FpdCB1cGxvYWRQeXRob25QYWNrYWdlcyhnbG9iLnN5bmMocGF0aC5qb2luKGRpcmVjdG9yeSwgJ3B5dGhvbicsICcqJykpLCBsb2dpbik7XG4gIH0pO1xuXG4gIGF3YWl0IGRvUmVwby5qYXZhKGFzeW5jICgpID0+IHtcbiAgICBoZWFkZXIoJ0phdmEnKTtcbiAgICBhd2FpdCB1cGxvYWRKYXZhUGFja2FnZXMoZ2xvYi5zeW5jKHBhdGguam9pbihkaXJlY3RvcnksICdqYXZhJywgJyoqJywgJyoucG9tJykpLCBsb2dpbiwgdXNhZ2VEaXIpO1xuICB9KTtcblxuICBhd2FpdCBkb1JlcG8uZG90bmV0KGFzeW5jICgpID0+IHtcbiAgICBoZWFkZXIoJy5ORVQnKTtcbiAgICBhd2FpdCB1cGxvYWREb3RuZXRQYWNrYWdlcyhnbG9iLnN5bmMocGF0aC5qb2luKGRpcmVjdG9yeSwgJ2RvdG5ldCcsICcqKicsICcqLm51cGtnJykpLCB1c2FnZURpcik7XG4gIH0pO1xuXG4gIGlmIChhcmdzLnJlZ3Jlc3Npb24pIHtcbiAgICBjb25zb2xlLmxvZygn8J+bjSBDb25maWd1cmluZyBwYWNrYWdlcyBmb3IgdXBzdHJlYW0gdmVyc2lvbnMnKTtcbiAgICBhd2FpdCByZXBvLm1hcmtBbGxVcHN0cmVhbUFsbG93KCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gd2hpY2hSZXBvcyhhcmdzOiB7XG4gIG5wbT86IGJvb2xlYW47XG4gIHB5dGhvbj86IGJvb2xlYW47XG4gIGphdmE/OiBib29sZWFuO1xuICBkb3RuZXQ/OiBib29sZWFuO1xufSkge1xuICBjb25zdCBhbGwgPSBhcmdzLm5wbSA9PT0gdW5kZWZpbmVkICYmIGFyZ3MucHl0aG9uID09PSB1bmRlZmluZWQgJiYgYXJncy5qYXZhID09PSB1bmRlZmluZWQgJiYgYXJncy5kb3RuZXQgPT09IHVuZGVmaW5lZDtcblxuICBjb25zdCBpbnZva2UgPSAoYmxvY2s6ICgpID0+IFByb21pc2U8dm9pZD4pID0+IGJsb2NrKCk7XG4gIGNvbnN0IHNraXAgPSAoKSA9PiB7IH07XG5cbiAgcmV0dXJuIHtcbiAgICBucG06IGFyZ3MubnBtIHx8IGFsbCA/IGludm9rZSA6IHNraXAsXG4gICAgcHl0aG9uOiBhcmdzLnB5dGhvbiB8fCBhbGwgPyBpbnZva2UgOiBza2lwLFxuICAgIGphdmE6IGFyZ3MuamF2YSB8fCBhbGwgPyBpbnZva2UgOiBza2lwLFxuICAgIGRvdG5ldDogYXJncy5kb3RuZXQgfHwgYWxsID8gaW52b2tlIDogc2tpcCxcbiAgfTtcbn1cblxuZnVuY3Rpb24gaGVhZGVyKGNhcHRpb246IHN0cmluZykge1xuICBjb25zb2xlLmxvZygnJyk7XG4gIGNvbnNvbGUubG9nKCcvJy5yZXBlYXQoNzApKTtcbiAgY29uc29sZS5sb2coYC8vICAke2NhcHRpb259YCk7XG4gIGNvbnNvbGUubG9nKCcnKTtcbn1cblxubWFpbigpLmNhdGNoKGUgPT4ge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICBjb25zb2xlLmVycm9yKGUpO1xuICBwcm9jZXNzLmV4aXRDb2RlID0gMTtcbn0pO1xuIl19
package/lib/aws.d.ts CHANGED
@@ -21,20 +21,20 @@ export declare class AwsClients {
21
21
  deleteImageRepository(repositoryName: string): Promise<void>;
22
22
  deleteBucket(bucketName: string): Promise<void>;
23
23
  }
24
- declare type AwsCaller<A> = <B extends keyof ServiceCalls<A>>(call: B, request: First<ServiceCalls<A>[B]>) => Promise<Second<ServiceCalls<A>[B]>>;
25
- declare type ServiceCalls<T> = NoNayNever<SimplifiedService<T>>;
26
- declare type SimplifiedService<T> = {
24
+ type AwsCaller<A> = <B extends keyof ServiceCalls<A>>(call: B, request: First<ServiceCalls<A>[B]>) => Promise<Second<ServiceCalls<A>[B]>>;
25
+ type ServiceCalls<T> = NoNayNever<SimplifiedService<T>>;
26
+ type SimplifiedService<T> = {
27
27
  [k in keyof T]: AwsCallIO<T[k]>;
28
28
  };
29
- declare type NoNayNever<T> = Pick<T, {
29
+ type NoNayNever<T> = Pick<T, {
30
30
  [k in keyof T]: T[k] extends never ? never : k;
31
31
  }[keyof T]>;
32
- declare type AwsCallIO<T> = T extends {
32
+ type AwsCallIO<T> = T extends {
33
33
  (args: infer INPUT, callback?: ((err: AWS.AWSError, data: any) => void) | undefined): AWS.Request<infer OUTPUT, AWS.AWSError>;
34
34
  (callback?: ((err: AWS.AWSError, data: {}) => void) | undefined): AWS.Request<any, any>;
35
35
  } ? [INPUT, OUTPUT] : never;
36
- declare type First<T> = T extends [any, any] ? T[0] : never;
37
- declare type Second<T> = T extends [any, any] ? T[1] : never;
36
+ type First<T> = T extends [any, any] ? T[0] : never;
37
+ type Second<T> = T extends [any, any] ? T[1] : never;
38
38
  export declare function isStackMissingError(e: Error): boolean;
39
39
  export declare function isBucketMissingError(e: Error): boolean;
40
40
  /**
package/lib/aws.js CHANGED
@@ -5,6 +5,13 @@ const AWS = require("aws-sdk");
5
5
  // eslint-disable-next-line @typescript-eslint/no-require-imports
6
6
  require('aws-sdk/lib/maintenance_mode_message').suppress = true;
7
7
  class AwsClients {
8
+ static async default(output) {
9
+ const region = process.env.AWS_REGION ?? process.env.AWS_DEFAULT_REGION ?? 'us-east-1';
10
+ return AwsClients.forRegion(region, output);
11
+ }
12
+ static async forRegion(region, output) {
13
+ return new AwsClients(region, output);
14
+ }
8
15
  constructor(region, output) {
9
16
  this.region = region;
10
17
  this.output = output;
@@ -23,13 +30,6 @@ class AwsClients {
23
30
  this.lambda = makeAwsCaller(AWS.Lambda, this.config);
24
31
  this.sts = makeAwsCaller(AWS.STS, this.config);
25
32
  }
26
- static async default(output) {
27
- const region = process.env.AWS_REGION ?? process.env.AWS_DEFAULT_REGION ?? 'us-east-1';
28
- return AwsClients.forRegion(region, output);
29
- }
30
- static async forRegion(region, output) {
31
- return new AwsClients(region, output);
32
- }
33
33
  async account() {
34
34
  // Reduce # of retries, we use this as a circuit breaker for detecting no-config
35
35
  return (await new AWS.STS({ ...this.config, maxRetries: 1 }).getCallerIdentity().promise()).Account;
@@ -124,7 +124,7 @@ async function awsCall(ctor, config, call, request) {
124
124
  return response.promise();
125
125
  }
126
126
  catch (e) {
127
- const newErr = new Error(`${call}(${JSON.stringify(request)}): ${e.message}`);
127
+ const newErr = new Error(`${String(call)}(${JSON.stringify(request)}): ${e.message}`);
128
128
  newErr.code = e.code;
129
129
  throw newErr;
130
130
  }
@@ -242,4 +242,4 @@ function chainableCredentials(region) {
242
242
  }
243
243
  return undefined;
244
244
  }
245
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtCQUErQjtBQUUvQixpRUFBaUU7QUFDakUsT0FBTyxDQUFDLHNDQUFzQyxDQUFDLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztBQUVoRSxNQUFhLFVBQVU7SUFvQnJCLFlBQTRCLE1BQWMsRUFBbUIsTUFBNkI7UUFBOUQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFtQixXQUFNLEdBQU4sTUFBTSxDQUF1QjtRQUN4RixJQUFJLENBQUMsTUFBTSxHQUFHO1lBQ1osV0FBVyxFQUFFLG9CQUFvQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDOUMsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ25CLFVBQVUsRUFBRSxDQUFDO1lBQ2IsaUJBQWlCLEVBQUUsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFO1lBQ2hDLG9CQUFvQixFQUFFLFVBQVU7U0FDakMsQ0FBQztRQUNGLElBQUksQ0FBQyxjQUFjLEdBQUcsYUFBYSxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3JFLElBQUksQ0FBQyxFQUFFLEdBQUcsYUFBYSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxHQUFHLEdBQUcsYUFBYSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxHQUFHLEdBQUcsYUFBYSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxHQUFHLEdBQUcsYUFBYSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxNQUFNLEdBQUcs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TSxVQUFVLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksY0FBYyxDQUFDO1FBQ3JELE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQztZQUN2QyxRQUFRLEVBQUUsVUFBVTtZQUNwQixRQUFRLEVBQUUsSUFBSTtTQUNmLENBQUMsQ0FBQztRQUVILE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUVqQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ1osTUFBTSxJQUFJLEtBQUssQ0FBQyxZQUFZLFdBQVcsb0NBQW9DLFVBQVUsR0FBRyxDQUFDLENBQUM7U0FDM0Y7UUFFRCxNQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDO1FBQzdCLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUM7UUFFdkMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNSLE1BQU0sSUFBSSxLQUFLLENBQUMsc0NBQXNDLFdBQVcsRUFBRSxDQUFDLENBQUM7U0FDdEU7UUFFRCxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ2YsTUFBTSxJQUFJLEtBQUssQ0FBQyx5Q0FBeUMsVUFBVSxFQUFFLENBQUMsQ0FBQztTQUN4RTtRQUVELE9BQU8sSUFBSSxHQUFHLENBQUMsNkJBQTZCLENBQUM7WUFDM0MsTUFBTSxFQUFFO2dCQUNOLE9BQU8sRUFBRSxHQUFHO2dCQUNaLFVBQVUsRUFBRSxVQUFVO2dCQUN0QixlQUFlLEVBQUUsYUFBYTthQUMvQjtZQUNELFNBQVMsRUFBRTtnQkFDVCxNQUFNO2FBQ1A7WUFDRCxpQkFBaUIsRUFBRSxJQUFJLEdBQUcsQ0FBQyxjQUFjLEVBQUU7U0FDNUMsQ0FBQyxDQUFDO0tBQ0o7SUFFRCxPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgQVdTIGZyb20gJ2F3cy1zZGsnO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlcXVpcmUtaW1wb3J0c1xucmVxdWlyZSgnYXdzLXNkay9saWIvbWFpbnRlbmFuY2VfbW9kZV9tZXNzYWdlJykuc3VwcHJlc3MgPSB0cnVlO1xuXG5leHBvcnQgY2xhc3MgQXdzQ2xpZW50cyB7XG4gIHB1YmxpYyBzdGF0aWMgYXN5bmMgZGVmYXVsdChvdXRwdXQ6IE5vZGVKUy5Xcml0YWJsZVN0cmVhbSkge1xuICAgIGNvbnN0IHJlZ2lvbiA9IHByb2Nlc3MuZW52LkFXU19SRUdJT04gPz8gcHJvY2Vzcy5lbnYuQVdTX0RFRkFVTFRfUkVHSU9OID8/ICd1cy1lYXN0LTEnO1xuICAgIHJldHVybiBBd3NDbGllbnRzLmZvclJlZ2lvbihyZWdpb24sIG91dHB1dCk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGFzeW5jIGZvclJlZ2lvbihyZWdpb246IHN0cmluZywgb3V0cHV0OiBOb2RlSlMuV3JpdGFibGVTdHJlYW0pIHtcbiAgICByZXR1cm4gbmV3IEF3c0NsaWVudHMocmVnaW9uLCBvdXRwdXQpO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBjb25maWc6IGFueTtcblxuICBwdWJsaWMgcmVhZG9ubHkgY2xvdWRGb3JtYXRpb246IEF3c0NhbGxlcjxBV1MuQ2xvdWRGb3JtYXRpb24+O1xuICBwdWJsaWMgcmVhZG9ubHkgczM6IEF3c0NhbGxlcjxBV1MuUzM+O1xuICBwdWJsaWMgcmVhZG9ubHkgZWNyOiBBd3NDYWxsZXI8QVdTLkVDUj47XG4gIHB1YmxpYyByZWFkb25seSBzbnM6IEF3c0NhbGxlcjxBV1MuU05TPjtcbiAgcHVibGljIHJlYWRvbmx5IGlhbTogQXdzQ2FsbGVyPEFXUy5JQU0+O1xuICBwdWJsaWMgcmVhZG9ubHkgbGFtYmRhOiBBd3NDYWxsZXI8QVdTLkxhbWJkYT47XG4gIHB1YmxpYyByZWFkb25seSBzdHM6IEF3c0NhbGxlcjxBV1MuU1RTPjtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgcmVnaW9uOiBzdHJpbmcsIHByaXZhdGUgcmVhZG9ubHkgb3V0cHV0OiBOb2RlSlMuV3JpdGFibGVTdHJlYW0pIHtcbiAgICB0aGlzLmNvbmZpZyA9IHtcbiAgICAgIGNyZWRlbnRpYWxzOiBjaGFpbmFibGVDcmVkZW50aWFscyh0aGlzLnJlZ2lvbiksXG4gICAgICByZWdpb246IHRoaXMucmVnaW9uLFxuICAgICAgbWF4UmV0cmllczogOCxcbiAgICAgIHJldHJ5RGVsYXlPcHRpb25zOiB7IGJhc2U6IDUwMCB9LFxuICAgICAgc3RzUmVnaW9uYWxFbmRwb2ludHM6ICdyZWdpb25hbCcsXG4gICAgfTtcbiAgICB0aGlzLmNsb3VkRm9ybWF0aW9uID0gbWFrZUF3c0NhbGxlcihBV1MuQ2xvdWRGb3JtYXRpb24sIHRoaXMuY29uZmlnKTtcbiAgICB0aGlzLnMzID0gbWFrZUF3c0NhbGxlcihBV1MuUzMsIHRoaXMuY29uZmlnKTtcbiAgICB0aGlzLmVjciA9IG1ha2VBd3NDYWxsZXIoQVdTLkVDUiwgdGhpcy5jb25maWcpO1xuICAgIHRoaXMuc25zID0gbWFrZUF3c0NhbGxlcihBV1MuU05TLCB0aGlzLmNvbmZpZyk7XG4gICAgdGhpcy5pYW0gPSBtYWtlQXdzQ2FsbGVyKEFXUy5JQU0sIHRoaXMuY29uZmlnKTtcbiAgICB0aGlzLmxhbWJkYSA9IG1ha2VBd3NDYWxsZXIoQVdTLkxhbWJkYSwgdGhpcy5jb25maWcpO1xuICAgIHRoaXMuc3RzID0gbWFrZUF3c0NhbGxlcihBV1MuU1RTLCB0aGlzLmNvbmZpZyk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgYWNjb3VudCgpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIC8vIFJlZHVjZSAjIG9mIHJldHJpZXMsIHdlIHVzZSB0aGlzIGFzIGEgY2lyY3VpdCBicmVha2VyIGZvciBkZXRlY3Rpbmcgbm8tY29uZmlnXG4gICAgcmV0dXJuIChhd2FpdCBuZXcgQVdTLlNUUyh7IC4uLnRoaXMuY29uZmlnLCBtYXhSZXRyaWVzOiAxIH0pLmdldENhbGxlcklkZW50aXR5KCkucHJvbWlzZSgpKS5BY2NvdW50ITtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBkZWxldGVTdGFja3MoLi4uc3RhY2tOYW1lczogc3RyaW5nW10pIHtcbiAgICBpZiAoc3RhY2tOYW1lcy5sZW5ndGggPT09IDApIHsgcmV0dXJuOyB9XG5cbiAgICAvLyBXZSBwdXJwb3NlbHkgZG8gYWxsIHN0YWNrcyBzZXJpYWxseSwgYmVjYXVzZSB0aGV5J3ZlIGJlZW4gb3JkZXJlZFxuICAgIC8vIHRvIGRvIHRoZSBib290c3RyYXAgc3RhY2sgbGFzdC5cbiAgICBmb3IgKGNvbnN0IHN0YWNrTmFtZSBvZiBzdGFja05hbWVzKSB7XG4gICAgICBhd2FpdCB0aGlzLmNsb3VkRm9ybWF0aW9uKCd1cGRhdGVUZXJtaW5hdGlvblByb3RlY3Rpb24nLCB7XG4gICAgICAgIEVuYWJsZVRlcm1pbmF0aW9uUHJvdGVjdGlvbjogZmFsc2UsXG4gICAgICAgIFN0YWNrTmFtZTogc3RhY2tOYW1lLFxuICAgICAgfSk7XG4gICAgICBhd2FpdCB0aGlzLmNsb3VkRm9ybWF0aW9uKCdkZWxldGVTdGFjaycsIHtcbiAgICAgICAgU3RhY2tOYW1lOiBzdGFja05hbWUsXG4gICAgICB9KTtcblxuICAgICAgYXdhaXQgcmV0cnkodGhpcy5vdXRwdXQsIGBEZWxldGluZyAke3N0YWNrTmFtZX1gLCByZXRyeS5mb3JTZWNvbmRzKDYwMCksIGFzeW5jICgpID0+IHtcbiAgICAgICAgY29uc3Qgc3RhdHVzID0gYXdhaXQgdGhpcy5zdGFja1N0YXR1cyhzdGFja05hbWUpO1xuICAgICAgICBpZiAoc3RhdHVzICE9PSB1bmRlZmluZWQgJiYgc3RhdHVzLmVuZHNXaXRoKCdfRkFJTEVEJykpIHtcbiAgICAgICAgICB0aHJvdyByZXRyeS5hYm9ydChuZXcgRXJyb3IoYCcke3N0YWNrTmFtZX0nIGlzIGluIHN0YXRlICcke3N0YXR1c30nYCkpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzdGF0dXMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgRGVsZXRlIG9mICcke3N0YWNrTmFtZX0nIG5vdCBjb21wbGV0ZSB5ZXRgKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFzeW5jIHN0YWNrU3RhdHVzKHN0YWNrTmFtZTogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIChhd2FpdCB0aGlzLmNsb3VkRm9ybWF0aW9uKCdkZXNjcmliZVN0YWNrcycsIHsgU3RhY2tOYW1lOiBzdGFja05hbWUgfSkpLlN0YWNrcz8uWzBdLlN0YWNrU3RhdHVzO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGlmIChpc1N0YWNrTWlzc2luZ0Vycm9yKGUpKSB7IHJldHVybiB1bmRlZmluZWQ7IH1cbiAgICAgIHRocm93IGU7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFzeW5jIGVtcHR5QnVja2V0KGJ1Y2tldE5hbWU6IHN0cmluZykge1xuICAgIGNvbnN0IG9iamVjdHMgPSBhd2FpdCB0aGlzLnMzKCdsaXN0T2JqZWN0VmVyc2lvbnMnLCB7IEJ1Y2tldDogYnVja2V0TmFtZSB9KTtcbiAgICBjb25zdCBkZWxldGVzID0gWy4uLm9iamVjdHMuVmVyc2lvbnMgfHwgW10sIC4uLm9iamVjdHMuRGVsZXRlTWFya2VycyB8fCBbXV1cbiAgICAgIC5yZWR1Y2UoKGFjYywgb2JqKSA9PiB7XG4gICAgICAgIGlmICh0eXBlb2Ygb2JqLlZlcnNpb25JZCAhPT0gJ3VuZGVmaW5lZCcgJiYgdHlwZW9mIG9iai5LZXkgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgYWNjLnB1c2goeyBLZXk6IG9iai5LZXksIFZlcnNpb25JZDogb2JqLlZlcnNpb25JZCB9KTtcbiAgICAgICAgfSBlbHNlIGlmICh0eXBlb2Ygb2JqLktleSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICBhY2MucHVzaCh7IEtleTogb2JqLktleSB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfSwgW10gYXMgQVdTLlMzLk9iamVjdElkZW50aWZpZXJMaXN0KTtcbiAgICBpZiAoZGVsZXRlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuczMoJ2RlbGV0ZU9iamVjdHMnLCB7XG4gICAgICBCdWNrZXQ6IGJ1Y2tldE5hbWUsXG4gICAgICBEZWxldGU6IHtcbiAgICAgICAgT2JqZWN0czogZGVsZXRlcyxcbiAgICAgICAgUXVpZXQ6IGZhbHNlLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBkZWxldGVJbWFnZVJlcG9zaXRvcnkocmVwb3NpdG9yeU5hbWU6IHN0cmluZykge1xuICAgIGF3YWl0IHRoaXMuZWNyKCdkZWxldGVSZXBvc2l0b3J5JywgeyByZXBvc2l0b3J5TmFtZSwgZm9yY2U6IHRydWUgfSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZGVsZXRlQnVja2V0KGJ1Y2tldE5hbWU6IHN0cmluZykge1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLmVtcHR5QnVja2V0KGJ1Y2tldE5hbWUpO1xuICAgICAgYXdhaXQgdGhpcy5zMygnZGVsZXRlQnVja2V0Jywge1xuICAgICAgICBCdWNrZXQ6IGJ1Y2tldE5hbWUsXG4gICAgICB9KTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBpZiAoaXNCdWNrZXRNaXNzaW5nRXJyb3IoZSkpIHsgcmV0dXJuOyB9XG4gICAgICB0aHJvdyBlO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIFBlcmZvcm0gYW4gQVdTIGNhbGwgZnJvbSBub3RoaW5nXG4gKlxuICogQ3JlYXRlIHRoZSBjb3JyZWN0IGNsaWVudCwgZG8gdGhlIGNhbGwgYW5kIHJlc29sZSB0aGUgcHJvbWlzZSgpLlxuICovXG5hc3luYyBmdW5jdGlvbiBhd3NDYWxsPFxuICBBIGV4dGVuZHMgQVdTLlNlcnZpY2UsXG4gIEIgZXh0ZW5kcyBrZXlvZiBTZXJ2aWNlQ2FsbHM8QT4sXG4+KGN0b3I6IG5ldyAoY29uZmlnOiBhbnkpID0+IEEsIGNvbmZpZzogYW55LCBjYWxsOiBCLCByZXF1ZXN0OiBGaXJzdDxTZXJ2aWNlQ2FsbHM8QT5bQl0+KTogUHJvbWlzZTxTZWNvbmQ8U2VydmljZUNhbGxzPEE+W0JdPj4ge1xuICBjb25zdCBjZm4gPSBuZXcgY3Rvcihjb25maWcpO1xuICBjb25zdCByZXNwb25zZSA9IGNmbltjYWxsXShyZXF1ZXN0KTtcbiAgdHJ5IHtcbiAgICByZXR1cm4gcmVzcG9uc2UucHJvbWlzZSgpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgY29uc3QgbmV3RXJyID0gbmV3IEVycm9yKGAke2NhbGx9KCR7SlNPTi5zdHJpbmdpZnkocmVxdWVzdCl9KTogJHtlLm1lc3NhZ2V9YCk7XG4gICAgKG5ld0VyciBhcyBhbnkpLmNvZGUgPSBlLmNvZGU7XG4gICAgdGhyb3cgbmV3RXJyO1xuICB9XG59XG5cbnR5cGUgQXdzQ2FsbGVyPEE+ID0gPEIgZXh0ZW5kcyBrZXlvZiBTZXJ2aWNlQ2FsbHM8QT4+KGNhbGw6IEIsIHJlcXVlc3Q6IEZpcnN0PFNlcnZpY2VDYWxsczxBPltCXT4pID0+IFByb21pc2U8U2Vjb25kPFNlcnZpY2VDYWxsczxBPltCXT4+O1xuXG4vKipcbiAqIEZhY3RvcnkgZnVuY3Rpb24gdG8gaW52b2tlICdhd3NDYWxsJyBmb3Igc3BlY2lmaWMgc2VydmljZXMuXG4gKlxuICogTm90IHN0cmljdGx5IG5lY2Vzc2FyeSBidXQgY2FsbGluZyB0aGlzIHJlcGxhY2VzIGEgd2hvbGUgYnVuY2ggb2YgYW5ub3lpbmcgZ2VuZXJpY3MgeW91IG90aGVyd2lzZSBoYXZlIHRvIHR5cGU6XG4gKlxuICogYGBgdHNcbiAqIGV4cG9ydCBmdW5jdGlvbiBjbG91ZEZvcm1hdGlvbjxcbiAqICAgQyBleHRlbmRzIGtleW9mIFNlcnZpY2VDYWxsczxBV1MuQ2xvdWRGb3JtYXRpb24+LFxuICogPihjYWxsOiBDLCByZXF1ZXN0OiBGaXJzdDxTZXJ2aWNlQ2FsbHM8QVdTLkNsb3VkRm9ybWF0aW9uPltDXT4pOiBQcm9taXNlPFNlY29uZDxTZXJ2aWNlQ2FsbHM8QVdTLkNsb3VkRm9ybWF0aW9uPltDXT4+IHtcbiAqICAgcmV0dXJuIGF3c0NhbGwoQVdTLkNsb3VkRm9ybWF0aW9uLCBjYWxsLCByZXF1ZXN0KTtcbiAqIH1cbiAqIGBgYFxuICovXG5mdW5jdGlvbiBtYWtlQXdzQ2FsbGVyPEEgZXh0ZW5kcyBBV1MuU2VydmljZT4oY3RvcjogbmV3IChjb25maWc6IGFueSkgPT4gQSwgY29uZmlnOiBhbnkpOiBBd3NDYWxsZXI8QT4ge1xuICByZXR1cm4gPEIgZXh0ZW5kcyBrZXlvZiBTZXJ2aWNlQ2FsbHM8QT4+KGNhbGw6IEIsIHJlcXVlc3Q6IEZpcnN0PFNlcnZpY2VDYWxsczxBPltCXT4pOiBQcm9taXNlPFNlY29uZDxTZXJ2aWNlQ2FsbHM8QT5bQl0+PiA9PiB7XG4gICAgcmV0dXJuIGF3c0NhbGwoY3RvciwgY29uZmlnLCBjYWxsLCByZXF1ZXN0KTtcbiAgfTtcbn1cblxudHlwZSBTZXJ2aWNlQ2FsbHM8VD4gPSBOb05heU5ldmVyPFNpbXBsaWZpZWRTZXJ2aWNlPFQ+Pjtcbi8vIE1hcCBldmVyIG1lbWJlciBpbiB0aGUgdHlwZSB0byB0aGUgaW1wb3J0YW50IEFXUyBjYWxsIG92ZXJsb2FkLCBvciB0byAnbmV2ZXInXG50eXBlIFNpbXBsaWZpZWRTZXJ2aWNlPFQ+ID0ge1trIGluIGtleW9mIFRdOiBBd3NDYWxsSU88VFtrXT59O1xuLy8gUmVtb3ZlIGFsbCAnbmV2ZXInIHR5cGVzIGZyb20gYW4gb2JqZWN0IHR5cGVcbnR5cGUgTm9OYXlOZXZlcjxUPiA9IFBpY2s8VCwge1trIGluIGtleW9mIFRdOiBUW2tdIGV4dGVuZHMgbmV2ZXIgPyBuZXZlciA6IGsgfVtrZXlvZiBUXT47XG5cbi8vIEJlY2F1c2Ugb2YgdGhlIG92ZXJsb2FkcyBhbiBBV1MgaGFuZGxlciB0eXBlIGxvb2tzIGxpa2UgdGhpczpcbi8vXG4vLyAgIHtcbi8vICAgICAgKHBhcmFtczogSU5QVVRTVFJVQ1QsIGNhbGxiYWNrPzogKChlcnI6IEFXU0Vycm9yLCBkYXRhOiB7fSkgPT4gdm9pZCkgfCB1bmRlZmluZWQpOiBSZXF1ZXN0PE9VVFBVVCwgLi4uPjtcbi8vICAgICAgKGNhbGxiYWNrPzogKChlcnI6IEFXUy5BV1NFcnJvciwgZGF0YToge30pID0+IHZvaWQpIHwgdW5kZWZpbmVkKTogQVdTLlJlcXVlc3Q8Li4uPjtcbi8vICAgfVxuLy9cbi8vIEdldCB0aGUgZmlyc3Qgb3ZlcmxvYWQgYW5kIGV4dHJhY3QgdGhlIGlucHV0IGFuZCBvdXRwdXQgc3RydWN0IHR5cGVzXG50eXBlIEF3c0NhbGxJTzxUPiA9XG4gIFQgZXh0ZW5kcyB7XG4gICAgKGFyZ3M6IGluZmVyIElOUFVULCBjYWxsYmFjaz86ICgoZXJyOiBBV1MuQVdTRXJyb3IsIGRhdGE6IGFueSkgPT4gdm9pZCkgfCB1bmRlZmluZWQpOiBBV1MuUmVxdWVzdDxpbmZlciBPVVRQVVQsIEFXUy5BV1NFcnJvcj47XG4gICAgKGNhbGxiYWNrPzogKChlcnI6IEFXUy5BV1NFcnJvciwgZGF0YToge30pID0+IHZvaWQpIHwgdW5kZWZpbmVkKTogQVdTLlJlcXVlc3Q8YW55LCBhbnk+O1xuICB9ID8gW0lOUFVULCBPVVRQVVRdIDogbmV2ZXI7XG5cbnR5cGUgRmlyc3Q8VD4gPSBUIGV4dGVuZHMgW2FueSwgYW55XSA/IFRbMF0gOiBuZXZlcjtcbnR5cGUgU2Vjb25kPFQ+ID0gVCBleHRlbmRzIFthbnksIGFueV0gPyBUWzFdIDogbmV2ZXI7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIGlzU3RhY2tNaXNzaW5nRXJyb3IoZTogRXJyb3IpIHtcbiAgcmV0dXJuIGUubWVzc2FnZS5pbmRleE9mKCdkb2VzIG5vdCBleGlzdCcpID4gLTE7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0J1Y2tldE1pc3NpbmdFcnJvcihlOiBFcnJvcikge1xuICByZXR1cm4gZS5tZXNzYWdlLmluZGV4T2YoJ2RvZXMgbm90IGV4aXN0JykgPiAtMTtcbn1cblxuLyoqXG4gKiBSZXRyeSBhbiBhc3luYyBvcGVyYXRpb24gdW50aWwgYSBkZWFkbGluZSBpcyBoaXQuXG4gKlxuICogVXNlIGByZXRyeS5mb3JTZWNvbmRzKClgIHRvIGNvbnN0cnVjdCBhIGRlYWRsaW5lIHJlbGF0aXZlIHRvIHJpZ2h0IG5vdy5cbiAqXG4gKiBFeGNlcHRpb25zIHdpbGwgY2F1c2UgdGhlIG9wZXJhdGlvbiB0byByZXRyeS4gVXNlIGByZXRyeS5hYm9ydGAgdG8gYW5ub3RhdGUgYW4gZXhjZXB0aW9uXG4gKiB0byBzdG9wIHRoZSByZXRyeSBhbmQgZW5kIGluIGEgZmFpbHVyZS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJldHJ5PEE+KG91dHB1dDogTm9kZUpTLldyaXRhYmxlU3RyZWFtLCBvcGVyYXRpb246IHN0cmluZywgZGVhZGxpbmU6IERhdGUsIGJsb2NrOiAoKSA9PiBQcm9taXNlPEE+KTogUHJvbWlzZTxBPiB7XG4gIGxldCBpID0gMDtcbiAgb3V0cHV0LndyaXRlKGDwn5KIICR7b3BlcmF0aW9ufVxcbmApO1xuICB3aGlsZSAodHJ1ZSkge1xuICAgIHRyeSB7XG4gICAgICBpKys7XG4gICAgICBjb25zdCByZXQgPSBhd2FpdCBibG9jaygpO1xuICAgICAgb3V0cHV0LndyaXRlKGDwn5KIICR7b3BlcmF0aW9ufTogc3VjY2VlZGVkIGFmdGVyICR7aX0gYXR0ZW1wdHNcXG5gKTtcbiAgICAgIHJldHVybiByZXQ7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgaWYgKGUuYWJvcnQgfHwgRGF0ZS5ub3coKSA+IGRlYWRsaW5lLmdldFRpbWUoICkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGAke29wZXJhdGlvbn06IGRpZCBub3Qgc3VjY2VlZCBhZnRlciAke2l9IGF0dGVtcHRzOiAke2V9YCk7XG4gICAgICB9XG4gICAgICBvdXRwdXQud3JpdGUoYOKPsyAke29wZXJhdGlvbn0gKCR7ZS5tZXNzYWdlfSlcXG5gKTtcbiAgICAgIGF3YWl0IHNsZWVwKDUwMDApO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIE1ha2UgYSBkZWFkbGluZSBmb3IgdGhlIGByZXRyeWAgZnVuY3Rpb24gcmVsYXRpdmUgdG8gdGhlIGN1cnJlbnQgdGltZS5cbiAqL1xucmV0cnkuZm9yU2Vjb25kcyA9IChzZWNvbmRzOiBudW1iZXIpOiBEYXRlID0+IHtcbiAgcmV0dXJuIG5ldyBEYXRlKERhdGUubm93KCkgKyBzZWNvbmRzICogMTAwMCk7XG59O1xuXG4vKipcbiAqIEFubm90YXRlIGFuIGVycm9yIHRvIHN0b3AgdGhlIHJldHJ5aW5nXG4gKi9cbnJldHJ5LmFib3J0ID0gKGU6IEVycm9yKTogRXJyb3IgPT4ge1xuICAoZSBhcyBhbnkpLmFib3J0ID0gdHJ1ZTtcbiAgcmV0dXJuIGU7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gb3V0cHV0RnJvbVN0YWNrKGtleTogc3RyaW5nLCBzdGFjazogQVdTLkNsb3VkRm9ybWF0aW9uLlN0YWNrKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIChzdGFjay5PdXRwdXRzID8/IFtdKS5maW5kKG8gPT4gby5PdXRwdXRLZXkgPT09IGtleSk/Lk91dHB1dFZhbHVlO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc2xlZXAobXM6IG51bWJlcikge1xuICByZXR1cm4gbmV3IFByb21pc2Uob2sgPT4gc2V0VGltZW91dChvaywgbXMpKTtcbn1cblxuZnVuY3Rpb24gY2hhaW5hYmxlQ3JlZGVudGlhbHMocmVnaW9uOiBzdHJpbmcpOiBBV1MuQ3JlZGVudGlhbHMgfCB1bmRlZmluZWQge1xuXG4gIGNvbnN0IHByb2ZpbGVOYW1lID0gcHJvY2Vzcy5lbnYuQVdTX1BST0ZJTEU7XG4gIGlmIChwcm9jZXNzLmVudi5DT0RFQlVJTERfQlVJTERfQVJOICYmIHByb2ZpbGVOYW1lKSB7XG5cbiAgICAvLyBpbiBjb2RlYnVpbGQgd2UgbXVzdCBhc3N1bWUgdGhlIHJvbGUgdGhhdCB0aGUgY2RrIHVzZXNcbiAgICAvLyBvdGhlcndpc2UgY3JlZGVudGlhbHMgd2lsbCBqdXN0IGJlIHBpY2tlZCB1cCBieSB0aGUgbm9ybWFsIHNka1xuICAgIC8vIGhldXJpc3RpY3MgYW5kIGV4cGlyZSBhZnRlciBhbiBob3VyLlxuXG4gICAgLy8gY2FuJ3QgdXNlICd+JyBzaW5jZSB0aGUgU0RLIGRvZXNuJ3Qgc2VlbSB0byBleHBhbmQgaXQuLi4/XG4gICAgY29uc3QgY29uZmlnUGF0aCA9IGAke3Byb2Nlc3MuZW52LkhPTUV9Ly5hd3MvY29uZmlnYDtcbiAgICBjb25zdCBpbmkgPSBuZXcgQVdTLkluaUxvYWRlcigpLmxvYWRGcm9tKHtcbiAgICAgIGZpbGVuYW1lOiBjb25maWdQYXRoLFxuICAgICAgaXNDb25maWc6IHRydWUsXG4gICAgfSk7XG5cbiAgICBjb25zdCBwcm9maWxlID0gaW5pW3Byb2ZpbGVOYW1lXTtcblxuICAgIGlmICghcHJvZmlsZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBQcm9maWxlICcke3Byb2ZpbGVOYW1lfScgZG9lcyBub3QgZXhpc3QgaW4gY29uZmlnIGZpbGUgKCR7Y29uZmlnUGF0aH0pYCk7XG4gICAgfVxuXG4gICAgY29uc3QgYXJuID0gcHJvZmlsZS5yb2xlX2FybjtcbiAgICBjb25zdCBleHRlcm5hbElkID0gcHJvZmlsZS5leHRlcm5hbF9pZDtcblxuICAgIGlmICghYXJuKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYHJvbGVfYXJuIGRvZXMgbm90IGV4aXN0IGluIHByb2ZpbGUgJHtwcm9maWxlTmFtZX1gKTtcbiAgICB9XG5cbiAgICBpZiAoIWV4dGVybmFsSWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgZXh0ZXJuYWxfaWQgZG9lcyBub3QgZXhpc3QgaW4gcHJvZmlsZSAke2V4dGVybmFsSWR9YCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBBV1MuQ2hhaW5hYmxlVGVtcG9yYXJ5Q3JlZGVudGlhbHMoe1xuICAgICAgcGFyYW1zOiB7XG4gICAgICAgIFJvbGVBcm46IGFybixcbiAgICAgICAgRXh0ZXJuYWxJZDogZXh0ZXJuYWxJZCxcbiAgICAgICAgUm9sZVNlc3Npb25OYW1lOiAnaW50ZWctdGVzdHMnLFxuICAgICAgfSxcbiAgICAgIHN0c0NvbmZpZzoge1xuICAgICAgICByZWdpb24sXG4gICAgICB9LFxuICAgICAgbWFzdGVyQ3JlZGVudGlhbHM6IG5ldyBBV1MuRUNTQ3JlZGVudGlhbHMoKSxcbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiB1bmRlZmluZWQ7XG59Il19
245
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtCQUErQjtBQUUvQixpRUFBaUU7QUFDakUsT0FBTyxDQUFDLHNDQUFzQyxDQUFDLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztBQUVoRSxNQUFhLFVBQVU7SUFDZCxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUE2QjtRQUN2RCxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLGtCQUFrQixJQUFJLFdBQVcsQ0FBQztRQUN2RixPQUFPLFVBQVUsQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFTSxNQUFNLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFjLEVBQUUsTUFBNkI7UUFDekUsT0FBTyxJQUFJLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQVlELFlBQTRCLE1BQWMsRUFBbUIsTUFBNkI7UUFBOUQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFtQixXQUFNLEdBQU4sTUFBTSxDQUF1QjtRQUN4RixJQUFJLENBQUMsTUFBTSxHQUFHO1lBQ1osV0FBVyxFQUFFLG9CQUFvQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDOUMsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ25CLFVBQVUsRUFBRSxDQUFDO1lBQ2IsaUJBQWlCLEVBQUUsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFO1lBQ2hDLG9CQUFvQixFQUFFLFVBQVU7U0FDakMsQ0FBQztRQUNGLElBQUksQ0FBQyxjQUFjLEdBQUcsYUFBYSxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3JFLElBQUksQ0FBQyxFQUFFLEdBQUcsYUFBYSxDQUFDLEdB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RDtRQUM1RCxNQUFNLFVBQVUsR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxjQUFjLENBQUM7UUFDckQsTUFBTSxHQUFHLEdBQUcsSUFBSSxHQUFHLENBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDO1lBQ3ZDLFFBQVEsRUFBRSxVQUFVO1lBQ3BCLFFBQVEsRUFBRSxJQUFJO1NBQ2YsQ0FBQyxDQUFDO1FBRUgsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRWpDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDWixNQUFNLElBQUksS0FBSyxDQUFDLFlBQVksV0FBVyxvQ0FBb0MsVUFBVSxHQUFHLENBQUMsQ0FBQztTQUMzRjtRQUVELE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUM7UUFDN0IsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQztRQUV2QyxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ1IsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQ0FBc0MsV0FBVyxFQUFFLENBQUMsQ0FBQztTQUN0RTtRQUVELElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDZixNQUFNLElBQUksS0FBSyxDQUFDLHlDQUF5QyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1NBQ3hFO1FBRUQsT0FBTyxJQUFJLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQztZQUMzQyxNQUFNLEVBQUU7Z0JBQ04sT0FBTyxFQUFFLEdBQUc7Z0JBQ1osVUFBVSxFQUFFLFVBQVU7Z0JBQ3RCLGVBQWUsRUFBRSxhQUFhO2FBQy9CO1lBQ0QsU0FBUyxFQUFFO2dCQUNULE1BQU07YUFDUDtZQUNELGlCQUFpQixFQUFFLElBQUksR0FBRyxDQUFDLGNBQWMsRUFBRTtTQUM1QyxDQUFDLENBQUM7S0FDSjtJQUVELE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBBV1MgZnJvbSAnYXdzLXNkayc7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcmVxdWlyZS1pbXBvcnRzXG5yZXF1aXJlKCdhd3Mtc2RrL2xpYi9tYWludGVuYW5jZV9tb2RlX21lc3NhZ2UnKS5zdXBwcmVzcyA9IHRydWU7XG5cbmV4cG9ydCBjbGFzcyBBd3NDbGllbnRzIHtcbiAgcHVibGljIHN0YXRpYyBhc3luYyBkZWZhdWx0KG91dHB1dDogTm9kZUpTLldyaXRhYmxlU3RyZWFtKSB7XG4gICAgY29uc3QgcmVnaW9uID0gcHJvY2Vzcy5lbnYuQVdTX1JFR0lPTiA/PyBwcm9jZXNzLmVudi5BV1NfREVGQVVMVF9SRUdJT04gPz8gJ3VzLWVhc3QtMSc7XG4gICAgcmV0dXJuIEF3c0NsaWVudHMuZm9yUmVnaW9uKHJlZ2lvbiwgb3V0cHV0KTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgYXN5bmMgZm9yUmVnaW9uKHJlZ2lvbjogc3RyaW5nLCBvdXRwdXQ6IE5vZGVKUy5Xcml0YWJsZVN0cmVhbSkge1xuICAgIHJldHVybiBuZXcgQXdzQ2xpZW50cyhyZWdpb24sIG91dHB1dCk7XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZzogYW55O1xuXG4gIHB1YmxpYyByZWFkb25seSBjbG91ZEZvcm1hdGlvbjogQXdzQ2FsbGVyPEFXUy5DbG91ZEZvcm1hdGlvbj47XG4gIHB1YmxpYyByZWFkb25seSBzMzogQXdzQ2FsbGVyPEFXUy5TMz47XG4gIHB1YmxpYyByZWFkb25seSBlY3I6IEF3c0NhbGxlcjxBV1MuRUNSPjtcbiAgcHVibGljIHJlYWRvbmx5IHNuczogQXdzQ2FsbGVyPEFXUy5TTlM+O1xuICBwdWJsaWMgcmVhZG9ubHkgaWFtOiBBd3NDYWxsZXI8QVdTLklBTT47XG4gIHB1YmxpYyByZWFkb25seSBsYW1iZGE6IEF3c0NhbGxlcjxBV1MuTGFtYmRhPjtcbiAgcHVibGljIHJlYWRvbmx5IHN0czogQXdzQ2FsbGVyPEFXUy5TVFM+O1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSByZWdpb246IHN0cmluZywgcHJpdmF0ZSByZWFkb25seSBvdXRwdXQ6IE5vZGVKUy5Xcml0YWJsZVN0cmVhbSkge1xuICAgIHRoaXMuY29uZmlnID0ge1xuICAgICAgY3JlZGVudGlhbHM6IGNoYWluYWJsZUNyZWRlbnRpYWxzKHRoaXMucmVnaW9uKSxcbiAgICAgIHJlZ2lvbjogdGhpcy5yZWdpb24sXG4gICAgICBtYXhSZXRyaWVzOiA4LFxuICAgICAgcmV0cnlEZWxheU9wdGlvbnM6IHsgYmFzZTogNTAwIH0sXG4gICAgICBzdHNSZWdpb25hbEVuZHBvaW50czogJ3JlZ2lvbmFsJyxcbiAgICB9O1xuICAgIHRoaXMuY2xvdWRGb3JtYXRpb24gPSBtYWtlQXdzQ2FsbGVyKEFXUy5DbG91ZEZvcm1hdGlvbiwgdGhpcy5jb25maWcpO1xuICAgIHRoaXMuczMgPSBtYWtlQXdzQ2FsbGVyKEFXUy5TMywgdGhpcy5jb25maWcpO1xuICAgIHRoaXMuZWNyID0gbWFrZUF3c0NhbGxlcihBV1MuRUNSLCB0aGlzLmNvbmZpZyk7XG4gICAgdGhpcy5zbnMgPSBtYWtlQXdzQ2FsbGVyKEFXUy5TTlMsIHRoaXMuY29uZmlnKTtcbiAgICB0aGlzLmlhbSA9IG1ha2VBd3NDYWxsZXIoQVdTLklBTSwgdGhpcy5jb25maWcpO1xuICAgIHRoaXMubGFtYmRhID0gbWFrZUF3c0NhbGxlcihBV1MuTGFtYmRhLCB0aGlzLmNvbmZpZyk7XG4gICAgdGhpcy5zdHMgPSBtYWtlQXdzQ2FsbGVyKEFXUy5TVFMsIHRoaXMuY29uZmlnKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBhY2NvdW50KCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgLy8gUmVkdWNlICMgb2YgcmV0cmllcywgd2UgdXNlIHRoaXMgYXMgYSBjaXJjdWl0IGJyZWFrZXIgZm9yIGRldGVjdGluZyBuby1jb25maWdcbiAgICByZXR1cm4gKGF3YWl0IG5ldyBBV1MuU1RTKHsgLi4udGhpcy5jb25maWcsIG1heFJldHJpZXM6IDEgfSkuZ2V0Q2FsbGVySWRlbnRpdHkoKS5wcm9taXNlKCkpLkFjY291bnQhO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGRlbGV0ZVN0YWNrcyguLi5zdGFja05hbWVzOiBzdHJpbmdbXSkge1xuICAgIGlmIChzdGFja05hbWVzLmxlbmd0aCA9PT0gMCkgeyByZXR1cm47IH1cblxuICAgIC8vIFdlIHB1cnBvc2VseSBkbyBhbGwgc3RhY2tzIHNlcmlhbGx5LCBiZWNhdXNlIHRoZXkndmUgYmVlbiBvcmRlcmVkXG4gICAgLy8gdG8gZG8gdGhlIGJvb3RzdHJhcCBzdGFjayBsYXN0LlxuICAgIGZvciAoY29uc3Qgc3RhY2tOYW1lIG9mIHN0YWNrTmFtZXMpIHtcbiAgICAgIGF3YWl0IHRoaXMuY2xvdWRGb3JtYXRpb24oJ3VwZGF0ZVRlcm1pbmF0aW9uUHJvdGVjdGlvbicsIHtcbiAgICAgICAgRW5hYmxlVGVybWluYXRpb25Qcm90ZWN0aW9uOiBmYWxzZSxcbiAgICAgICAgU3RhY2tOYW1lOiBzdGFja05hbWUsXG4gICAgICB9KTtcbiAgICAgIGF3YWl0IHRoaXMuY2xvdWRGb3JtYXRpb24oJ2RlbGV0ZVN0YWNrJywge1xuICAgICAgICBTdGFja05hbWU6IHN0YWNrTmFtZSxcbiAgICAgIH0pO1xuXG4gICAgICBhd2FpdCByZXRyeSh0aGlzLm91dHB1dCwgYERlbGV0aW5nICR7c3RhY2tOYW1lfWAsIHJldHJ5LmZvclNlY29uZHMoNjAwKSwgYXN5bmMgKCkgPT4ge1xuICAgICAgICBjb25zdCBzdGF0dXMgPSBhd2FpdCB0aGlzLnN0YWNrU3RhdHVzKHN0YWNrTmFtZSk7XG4gICAgICAgIGlmIChzdGF0dXMgIT09IHVuZGVmaW5lZCAmJiBzdGF0dXMuZW5kc1dpdGgoJ19GQUlMRUQnKSkge1xuICAgICAgICAgIHRocm93IHJldHJ5LmFib3J0KG5ldyBFcnJvcihgJyR7c3RhY2tOYW1lfScgaXMgaW4gc3RhdGUgJyR7c3RhdHVzfSdgKSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHN0YXR1cyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBEZWxldGUgb2YgJyR7c3RhY2tOYW1lfScgbm90IGNvbXBsZXRlIHlldGApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgc3RhY2tTdGF0dXMoc3RhY2tOYW1lOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gKGF3YWl0IHRoaXMuY2xvdWRGb3JtYXRpb24oJ2Rlc2NyaWJlU3RhY2tzJywgeyBTdGFja05hbWU6IHN0YWNrTmFtZSB9KSkuU3RhY2tzPy5bMF0uU3RhY2tTdGF0dXM7XG4gICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICBpZiAoaXNTdGFja01pc3NpbmdFcnJvcihlKSkgeyByZXR1cm4gdW5kZWZpbmVkOyB9XG4gICAgICB0aHJvdyBlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBlbXB0eUJ1Y2tldChidWNrZXROYW1lOiBzdHJpbmcpIHtcbiAgICBjb25zdCBvYmplY3RzID0gYXdhaXQgdGhpcy5zMygnbGlzdE9iamVjdFZlcnNpb25zJywgeyBCdWNrZXQ6IGJ1Y2tldE5hbWUgfSk7XG4gICAgY29uc3QgZGVsZXRlcyA9IFsuLi5vYmplY3RzLlZlcnNpb25zIHx8IFtdLCAuLi5vYmplY3RzLkRlbGV0ZU1hcmtlcnMgfHwgW11dXG4gICAgICAucmVkdWNlKChhY2MsIG9iaikgPT4ge1xuICAgICAgICBpZiAodHlwZW9mIG9iai5WZXJzaW9uSWQgIT09ICd1bmRlZmluZWQnICYmIHR5cGVvZiBvYmouS2V5ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgIGFjYy5wdXNoKHsgS2V5OiBvYmouS2V5LCBWZXJzaW9uSWQ6IG9iai5WZXJzaW9uSWQgfSk7XG4gICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIG9iai5LZXkgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgYWNjLnB1c2goeyBLZXk6IG9iai5LZXkgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH0sIFtdIGFzIEFXUy5TMy5PYmplY3RJZGVudGlmaWVyTGlzdCk7XG4gICAgaWYgKGRlbGV0ZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnMzKCdkZWxldGVPYmplY3RzJywge1xuICAgICAgQnVja2V0OiBidWNrZXROYW1lLFxuICAgICAgRGVsZXRlOiB7XG4gICAgICAgIE9iamVjdHM6IGRlbGV0ZXMsXG4gICAgICAgIFF1aWV0OiBmYWxzZSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZGVsZXRlSW1hZ2VSZXBvc2l0b3J5KHJlcG9zaXRvcnlOYW1lOiBzdHJpbmcpIHtcbiAgICBhd2FpdCB0aGlzLmVjcignZGVsZXRlUmVwb3NpdG9yeScsIHsgcmVwb3NpdG9yeU5hbWUsIGZvcmNlOiB0cnVlIH0pO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGRlbGV0ZUJ1Y2tldChidWNrZXROYW1lOiBzdHJpbmcpIHtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy5lbXB0eUJ1Y2tldChidWNrZXROYW1lKTtcbiAgICAgIGF3YWl0IHRoaXMuczMoJ2RlbGV0ZUJ1Y2tldCcsIHtcbiAgICAgICAgQnVja2V0OiBidWNrZXROYW1lLFxuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICBpZiAoaXNCdWNrZXRNaXNzaW5nRXJyb3IoZSkpIHsgcmV0dXJuOyB9XG4gICAgICB0aHJvdyBlO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIFBlcmZvcm0gYW4gQVdTIGNhbGwgZnJvbSBub3RoaW5nXG4gKlxuICogQ3JlYXRlIHRoZSBjb3JyZWN0IGNsaWVudCwgZG8gdGhlIGNhbGwgYW5kIHJlc29sZSB0aGUgcHJvbWlzZSgpLlxuICovXG5hc3luYyBmdW5jdGlvbiBhd3NDYWxsPFxuICBTdmMgZXh0ZW5kcyBBV1MuU2VydmljZSxcbiAgQ2FsbHMgZXh0ZW5kcyBTZXJ2aWNlQ2FsbHM8U3ZjPixcbiAgQ2FsbCBleHRlbmRzIGtleW9mIENhbGxzLFxuPihjdG9yOiBuZXcgKGNvbmZpZzogYW55KSA9PiBTdmMsIGNvbmZpZzogYW55LCBjYWxsOiBDYWxsLCByZXF1ZXN0OiBGaXJzdDxDYWxsc1tDYWxsXT4pOiBQcm9taXNlPFNlY29uZDxDYWxsc1tDYWxsXT4+IHtcbiAgY29uc3QgY2ZuID0gbmV3IGN0b3IoY29uZmlnKTtcbiAgY29uc3QgcmVzcG9uc2UgPSAoKGNmbiBhcyBhbnkpW2NhbGxdIGFzIGFueSkocmVxdWVzdCk7XG4gIHRyeSB7XG4gICAgcmV0dXJuIHJlc3BvbnNlLnByb21pc2UoKTtcbiAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgY29uc3QgbmV3RXJyID0gbmV3IEVycm9yKGAke1N0cmluZyhjYWxsKX0oJHtKU09OLnN0cmluZ2lmeShyZXF1ZXN0KX0pOiAke2UubWVzc2FnZX1gKTtcbiAgICAobmV3RXJyIGFzIGFueSkuY29kZSA9IGUuY29kZTtcbiAgICB0aHJvdyBuZXdFcnI7XG4gIH1cbn1cblxudHlwZSBBd3NDYWxsZXI8QT4gPSA8QiBleHRlbmRzIGtleW9mIFNlcnZpY2VDYWxsczxBPj4oY2FsbDogQiwgcmVxdWVzdDogRmlyc3Q8U2VydmljZUNhbGxzPEE+W0JdPikgPT4gUHJvbWlzZTxTZWNvbmQ8U2VydmljZUNhbGxzPEE+W0JdPj47XG5cbi8qKlxuICogRmFjdG9yeSBmdW5jdGlvbiB0byBpbnZva2UgJ2F3c0NhbGwnIGZvciBzcGVjaWZpYyBzZXJ2aWNlcy5cbiAqXG4gKiBOb3Qgc3RyaWN0bHkgbmVjZXNzYXJ5IGJ1dCBjYWxsaW5nIHRoaXMgcmVwbGFjZXMgYSB3aG9sZSBidW5jaCBvZiBhbm5veWluZyBnZW5lcmljcyB5b3Ugb3RoZXJ3aXNlIGhhdmUgdG8gdHlwZTpcbiAqXG4gKiBgYGB0c1xuICogZXhwb3J0IGZ1bmN0aW9uIGNsb3VkRm9ybWF0aW9uPFxuICogICBDIGV4dGVuZHMga2V5b2YgU2VydmljZUNhbGxzPEFXUy5DbG91ZEZvcm1hdGlvbj4sXG4gKiA+KGNhbGw6IEMsIHJlcXVlc3Q6IEZpcnN0PFNlcnZpY2VDYWxsczxBV1MuQ2xvdWRGb3JtYXRpb24+W0NdPik6IFByb21pc2U8U2Vjb25kPFNlcnZpY2VDYWxsczxBV1MuQ2xvdWRGb3JtYXRpb24+W0NdPj4ge1xuICogICByZXR1cm4gYXdzQ2FsbChBV1MuQ2xvdWRGb3JtYXRpb24sIGNhbGwsIHJlcXVlc3QpO1xuICogfVxuICogYGBgXG4gKi9cbmZ1bmN0aW9uIG1ha2VBd3NDYWxsZXI8QSBleHRlbmRzIEFXUy5TZXJ2aWNlPihjdG9yOiBuZXcgKGNvbmZpZzogYW55KSA9PiBBLCBjb25maWc6IGFueSk6IEF3c0NhbGxlcjxBPiB7XG4gIHJldHVybiA8QiBleHRlbmRzIGtleW9mIFNlcnZpY2VDYWxsczxBPj4oY2FsbDogQiwgcmVxdWVzdDogRmlyc3Q8U2VydmljZUNhbGxzPEE+W0JdPik6IFByb21pc2U8U2Vjb25kPFNlcnZpY2VDYWxsczxBPltCXT4+ID0+IHtcbiAgICByZXR1cm4gYXdzQ2FsbChjdG9yLCBjb25maWcsIGNhbGwsIHJlcXVlc3QpO1xuICB9O1xufVxuXG50eXBlIFNlcnZpY2VDYWxsczxUPiA9IE5vTmF5TmV2ZXI8U2ltcGxpZmllZFNlcnZpY2U8VD4+O1xuLy8gTWFwIGV2ZXIgbWVtYmVyIGluIHRoZSB0eXBlIHRvIHRoZSBpbXBvcnRhbnQgQVdTIGNhbGwgb3ZlcmxvYWQsIG9yIHRvICduZXZlcidcbnR5cGUgU2ltcGxpZmllZFNlcnZpY2U8VD4gPSB7W2sgaW4ga2V5b2YgVF06IEF3c0NhbGxJTzxUW2tdPn07XG4vLyBSZW1vdmUgYWxsICduZXZlcicgdHlwZXMgZnJvbSBhbiBvYmplY3QgdHlwZVxudHlwZSBOb05heU5ldmVyPFQ+ID0gUGljazxULCB7W2sgaW4ga2V5b2YgVF06IFRba10gZXh0ZW5kcyBuZXZlciA/IG5ldmVyIDogayB9W2tleW9mIFRdPjtcblxuLy8gQmVjYXVzZSBvZiB0aGUgb3ZlcmxvYWRzIGFuIEFXUyBoYW5kbGVyIHR5cGUgbG9va3MgbGlrZSB0aGlzOlxuLy9cbi8vICAge1xuLy8gICAgICAocGFyYW1zOiBJTlBVVFNUUlVDVCwgY2FsbGJhY2s/OiAoKGVycjogQVdTRXJyb3IsIGRhdGE6IHt9KSA9PiB2b2lkKSB8IHVuZGVmaW5lZCk6IFJlcXVlc3Q8T1VUUFVULCAuLi4+O1xuLy8gICAgICAoY2FsbGJhY2s/OiAoKGVycjogQVdTLkFXU0Vycm9yLCBkYXRhOiB7fSkgPT4gdm9pZCkgfCB1bmRlZmluZWQpOiBBV1MuUmVxdWVzdDwuLi4+O1xuLy8gICB9XG4vL1xuLy8gR2V0IHRoZSBmaXJzdCBvdmVybG9hZCBhbmQgZXh0cmFjdCB0aGUgaW5wdXQgYW5kIG91dHB1dCBzdHJ1Y3QgdHlwZXNcbnR5cGUgQXdzQ2FsbElPPFQ+ID1cbiAgVCBleHRlbmRzIHtcbiAgICAoYXJnczogaW5mZXIgSU5QVVQsIGNhbGxiYWNrPzogKChlcnI6IEFXUy5BV1NFcnJvciwgZGF0YTogYW55KSA9PiB2b2lkKSB8IHVuZGVmaW5lZCk6IEFXUy5SZXF1ZXN0PGluZmVyIE9VVFBVVCwgQVdTLkFXU0Vycm9yPjtcbiAgICAoY2FsbGJhY2s/OiAoKGVycjogQVdTLkFXU0Vycm9yLCBkYXRhOiB7fSkgPT4gdm9pZCkgfCB1bmRlZmluZWQpOiBBV1MuUmVxdWVzdDxhbnksIGFueT47XG4gIH0gPyBbSU5QVVQsIE9VVFBVVF0gOiBuZXZlcjtcblxudHlwZSBGaXJzdDxUPiA9IFQgZXh0ZW5kcyBbYW55LCBhbnldID8gVFswXSA6IG5ldmVyO1xudHlwZSBTZWNvbmQ8VD4gPSBUIGV4dGVuZHMgW2FueSwgYW55XSA/IFRbMV0gOiBuZXZlcjtcblxuXG5leHBvcnQgZnVuY3Rpb24gaXNTdGFja01pc3NpbmdFcnJvcihlOiBFcnJvcikge1xuICByZXR1cm4gZS5tZXNzYWdlLmluZGV4T2YoJ2RvZXMgbm90IGV4aXN0JykgPiAtMTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQnVja2V0TWlzc2luZ0Vycm9yKGU6IEVycm9yKSB7XG4gIHJldHVybiBlLm1lc3NhZ2UuaW5kZXhPZignZG9lcyBub3QgZXhpc3QnKSA+IC0xO1xufVxuXG4vKipcbiAqIFJldHJ5IGFuIGFzeW5jIG9wZXJhdGlvbiB1bnRpbCBhIGRlYWRsaW5lIGlzIGhpdC5cbiAqXG4gKiBVc2UgYHJldHJ5LmZvclNlY29uZHMoKWAgdG8gY29uc3RydWN0IGEgZGVhZGxpbmUgcmVsYXRpdmUgdG8gcmlnaHQgbm93LlxuICpcbiAqIEV4Y2VwdGlvbnMgd2lsbCBjYXVzZSB0aGUgb3BlcmF0aW9uIHRvIHJldHJ5LiBVc2UgYHJldHJ5LmFib3J0YCB0byBhbm5vdGF0ZSBhbiBleGNlcHRpb25cbiAqIHRvIHN0b3AgdGhlIHJldHJ5IGFuZCBlbmQgaW4gYSBmYWlsdXJlLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmV0cnk8QT4ob3V0cHV0OiBOb2RlSlMuV3JpdGFibGVTdHJlYW0sIG9wZXJhdGlvbjogc3RyaW5nLCBkZWFkbGluZTogRGF0ZSwgYmxvY2s6ICgpID0+IFByb21pc2U8QT4pOiBQcm9taXNlPEE+IHtcbiAgbGV0IGkgPSAwO1xuICBvdXRwdXQud3JpdGUoYPCfkoggJHtvcGVyYXRpb259XFxuYCk7XG4gIHdoaWxlICh0cnVlKSB7XG4gICAgdHJ5IHtcbiAgICAgIGkrKztcbiAgICAgIGNvbnN0IHJldCA9IGF3YWl0IGJsb2NrKCk7XG4gICAgICBvdXRwdXQud3JpdGUoYPCfkoggJHtvcGVyYXRpb259OiBzdWNjZWVkZWQgYWZ0ZXIgJHtpfSBhdHRlbXB0c1xcbmApO1xuICAgICAgcmV0dXJuIHJldDtcbiAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgIGlmIChlLmFib3J0IHx8IERhdGUubm93KCkgPiBkZWFkbGluZS5nZXRUaW1lKCApKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgJHtvcGVyYXRpb259OiBkaWQgbm90IHN1Y2NlZWQgYWZ0ZXIgJHtpfSBhdHRlbXB0czogJHtlfWApO1xuICAgICAgfVxuICAgICAgb3V0cHV0LndyaXRlKGDij7MgJHtvcGVyYXRpb259ICgke2UubWVzc2FnZX0pXFxuYCk7XG4gICAgICBhd2FpdCBzbGVlcCg1MDAwKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBNYWtlIGEgZGVhZGxpbmUgZm9yIHRoZSBgcmV0cnlgIGZ1bmN0aW9uIHJlbGF0aXZlIHRvIHRoZSBjdXJyZW50IHRpbWUuXG4gKi9cbnJldHJ5LmZvclNlY29uZHMgPSAoc2Vjb25kczogbnVtYmVyKTogRGF0ZSA9PiB7XG4gIHJldHVybiBuZXcgRGF0ZShEYXRlLm5vdygpICsgc2Vjb25kcyAqIDEwMDApO1xufTtcblxuLyoqXG4gKiBBbm5vdGF0ZSBhbiBlcnJvciB0byBzdG9wIHRoZSByZXRyeWluZ1xuICovXG5yZXRyeS5hYm9ydCA9IChlOiBFcnJvcik6IEVycm9yID0+IHtcbiAgKGUgYXMgYW55KS5hYm9ydCA9IHRydWU7XG4gIHJldHVybiBlO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIG91dHB1dEZyb21TdGFjayhrZXk6IHN0cmluZywgc3RhY2s6IEFXUy5DbG91ZEZvcm1hdGlvbi5TdGFjayk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiAoc3RhY2suT3V0cHV0cyA/PyBbXSkuZmluZChvID0+IG8uT3V0cHV0S2V5ID09PSBrZXkpPy5PdXRwdXRWYWx1ZTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNsZWVwKG1zOiBudW1iZXIpIHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKG9rID0+IHNldFRpbWVvdXQob2ssIG1zKSk7XG59XG5cbmZ1bmN0aW9uIGNoYWluYWJsZUNyZWRlbnRpYWxzKHJlZ2lvbjogc3RyaW5nKTogQVdTLkNyZWRlbnRpYWxzIHwgdW5kZWZpbmVkIHtcblxuICBjb25zdCBwcm9maWxlTmFtZSA9IHByb2Nlc3MuZW52LkFXU19QUk9GSUxFO1xuICBpZiAocHJvY2Vzcy5lbnYuQ09ERUJVSUxEX0JVSUxEX0FSTiAmJiBwcm9maWxlTmFtZSkge1xuXG4gICAgLy8gaW4gY29kZWJ1aWxkIHdlIG11c3QgYXNzdW1lIHRoZSByb2xlIHRoYXQgdGhlIGNkayB1c2VzXG4gICAgLy8gb3RoZXJ3aXNlIGNyZWRlbnRpYWxzIHdpbGwganVzdCBiZSBwaWNrZWQgdXAgYnkgdGhlIG5vcm1hbCBzZGtcbiAgICAvLyBoZXVyaXN0aWNzIGFuZCBleHBpcmUgYWZ0ZXIgYW4gaG91ci5cblxuICAgIC8vIGNhbid0IHVzZSAnficgc2luY2UgdGhlIFNESyBkb2Vzbid0IHNlZW0gdG8gZXhwYW5kIGl0Li4uP1xuICAgIGNvbnN0IGNvbmZpZ1BhdGggPSBgJHtwcm9jZXNzLmVudi5IT01FfS8uYXdzL2NvbmZpZ2A7XG4gICAgY29uc3QgaW5pID0gbmV3IEFXUy5JbmlMb2FkZXIoKS5sb2FkRnJvbSh7XG4gICAgICBmaWxlbmFtZTogY29uZmlnUGF0aCxcbiAgICAgIGlzQ29uZmlnOiB0cnVlLFxuICAgIH0pO1xuXG4gICAgY29uc3QgcHJvZmlsZSA9IGluaVtwcm9maWxlTmFtZV07XG5cbiAgICBpZiAoIXByb2ZpbGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgUHJvZmlsZSAnJHtwcm9maWxlTmFtZX0nIGRvZXMgbm90IGV4aXN0IGluIGNvbmZpZyBmaWxlICgke2NvbmZpZ1BhdGh9KWApO1xuICAgIH1cblxuICAgIGNvbnN0IGFybiA9IHByb2ZpbGUucm9sZV9hcm47XG4gICAgY29uc3QgZXh0ZXJuYWxJZCA9IHByb2ZpbGUuZXh0ZXJuYWxfaWQ7XG5cbiAgICBpZiAoIWFybikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGByb2xlX2FybiBkb2VzIG5vdCBleGlzdCBpbiBwcm9maWxlICR7cHJvZmlsZU5hbWV9YCk7XG4gICAgfVxuXG4gICAgaWYgKCFleHRlcm5hbElkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYGV4dGVybmFsX2lkIGRvZXMgbm90IGV4aXN0IGluIHByb2ZpbGUgJHtleHRlcm5hbElkfWApO1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgQVdTLkNoYWluYWJsZVRlbXBvcmFyeUNyZWRlbnRpYWxzKHtcbiAgICAgIHBhcmFtczoge1xuICAgICAgICBSb2xlQXJuOiBhcm4sXG4gICAgICAgIEV4dGVybmFsSWQ6IGV4dGVybmFsSWQsXG4gICAgICAgIFJvbGVTZXNzaW9uTmFtZTogJ2ludGVnLXRlc3RzJyxcbiAgICAgIH0sXG4gICAgICBzdHNDb25maWc6IHtcbiAgICAgICAgcmVnaW9uLFxuICAgICAgfSxcbiAgICAgIG1hc3RlckNyZWRlbnRpYWxzOiBuZXcgQVdTLkVDU0NyZWRlbnRpYWxzKCksXG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gdW5kZWZpbmVkO1xufVxuIl19
package/lib/corking.d.ts CHANGED
@@ -1,4 +1,6 @@
1
1
  /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ /// <reference types="node" />
2
4
  /**
3
5
  * Routines for corking stdout and stderr
4
6
  */
package/lib/index.js CHANGED
@@ -1,13 +1,17 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
8
12
  }));
9
13
  var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
- for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
15
  };
12
16
  Object.defineProperty(exports, "__esModule", { value: true });
13
17
  __exportStar(require("./aws"), exports);
@@ -22,4 +26,4 @@ __exportStar(require("./with-cdk-app"), exports);
22
26
  __exportStar(require("./with-packages"), exports);
23
27
  __exportStar(require("./with-temporary-directory"), exports);
24
28
  __exportStar(require("./resources"), exports);
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSx3Q0FBc0I7QUFDdEIsNENBQTBCO0FBQzFCLCtDQUE2QjtBQUM3Qiw0Q0FBMEI7QUFDMUIsa0RBQWdDO0FBQ2hDLDZDQUEyQjtBQUMzQiwwQ0FBd0I7QUFDeEIsNkNBQTJCO0FBQzNCLGlEQUErQjtBQUMvQixrREFBZ0M7QUFDaEMsNkRBQTJDO0FBQzNDLDhDQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYXdzJztcbmV4cG9ydCAqIGZyb20gJy4vY29ya2luZyc7XG5leHBvcnQgKiBmcm9tICcuL2ludGVnLXRlc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9tZW1vaXplJztcbmV4cG9ydCAqIGZyb20gJy4vcmVzb3VyY2UtcG9vbCc7XG5leHBvcnQgKiBmcm9tICcuL3dpdGgtc2FtJztcbmV4cG9ydCAqIGZyb20gJy4vc2hlbGwnO1xuZXhwb3J0ICogZnJvbSAnLi93aXRoLWF3cyc7XG5leHBvcnQgKiBmcm9tICcuL3dpdGgtY2RrLWFwcCc7XG5leHBvcnQgKiBmcm9tICcuL3dpdGgtcGFja2FnZXMnO1xuZXhwb3J0ICogZnJvbSAnLi93aXRoLXRlbXBvcmFyeS1kaXJlY3RvcnknO1xuZXhwb3J0ICogZnJvbSAnLi9yZXNvdXJjZXMnOyJdfQ==
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsd0NBQXNCO0FBQ3RCLDRDQUEwQjtBQUMxQiwrQ0FBNkI7QUFDN0IsNENBQTBCO0FBQzFCLGtEQUFnQztBQUNoQyw2Q0FBMkI7QUFDM0IsMENBQXdCO0FBQ3hCLDZDQUEyQjtBQUMzQixpREFBK0I7QUFDL0Isa0RBQWdDO0FBQ2hDLDZEQUEyQztBQUMzQyw4Q0FBNEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2F3cyc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmtpbmcnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnRlZy10ZXN0JztcbmV4cG9ydCAqIGZyb20gJy4vbWVtb2l6ZSc7XG5leHBvcnQgKiBmcm9tICcuL3Jlc291cmNlLXBvb2wnO1xuZXhwb3J0ICogZnJvbSAnLi93aXRoLXNhbSc7XG5leHBvcnQgKiBmcm9tICcuL3NoZWxsJztcbmV4cG9ydCAqIGZyb20gJy4vd2l0aC1hd3MnO1xuZXhwb3J0ICogZnJvbSAnLi93aXRoLWNkay1hcHAnO1xuZXhwb3J0ICogZnJvbSAnLi93aXRoLXBhY2thZ2VzJztcbmV4cG9ydCAqIGZyb20gJy4vd2l0aC10ZW1wb3JhcnktZGlyZWN0b3J5JztcbmV4cG9ydCAqIGZyb20gJy4vcmVzb3VyY2VzJzsiXX0=
package/lib/integ-test.js CHANGED
@@ -62,4 +62,4 @@ function randomString() {
62
62
  return Math.random().toString(36).replace(/[^a-z0-9]+/g, '');
63
63
  }
64
64
  exports.randomString = randomString;
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWctdGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImludGVnLXRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseUJBQXlCO0FBQ3pCLDZCQUE2QjtBQUM3Qix1Q0FBeUM7QUFFekMsTUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLENBQUMsRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztBQU1uSCxDQUFDO0FBRUYsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLG9CQUFvQixLQUFLLE1BQU0sRUFBRTtJQUMvQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQywwRkFBMEYsQ0FBQyxDQUFDO0NBQ2xIO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQixTQUFTLENBQ3ZCLElBQVksRUFDWixRQUFpRCxFQUNqRCxhQUFzQjtJQUV0QixxRUFBcUU7SUFDckUsMEVBQTBFO0lBQzFFLDZFQUE2RTtJQUM3RSx1RUFBdUU7SUFDdkUseUVBQXlFO0lBQ3pFLG9EQUFvRDtJQUNwRCxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLG9CQUFvQixLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3RGLE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO0lBRTNELE1BQU0sQ0FBQyxJQUFJLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDdEIsTUFBTSxNQUFNLEdBQUcsSUFBSSxzQkFBWSxFQUFFLENBQUM7UUFFbEMsTUFBTSxDQUFDLEtBQUssQ0FBQyxvRUFBb0UsQ0FBQyxDQUFDO1FBQ25GLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDO1FBQzFCLE1BQU0sQ0FBQyxLQUFLLENBQUMsb0VBQW9FLENBQUMsQ0FBQztRQUVuRixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDdkIsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLElBQUksbUJBQW1CLE9BQU8sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDO1FBQ2pGLElBQUk7WUFDRixPQUFPLE1BQU0sUUFBUSxDQUFDO2dCQUNwQixNQUFNO2dCQUNOLFlBQVksRUFBRSxZQUFZLEVBQUU7Z0JBQzVCLEdBQUcsQ0FBQyxDQUFTO29CQUNYLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUN6QixDQUFDO2FBQ0YsQ0FBQyxDQUFDO1NBQ0o7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLGdCQUFnQixJQUFJLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM3RCxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN4QixNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN0QixzRkFBc0Y7WUFDdEYsNkRBQTZEO1lBQzdELHNDQUFzQztZQUN0QyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQ3hDLE1BQU0sQ0FBQyxDQUFDO1NBQ1Q7Z0JBQVM7WUFDUixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsR0FBRyxDQUFDO1lBQ2xDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLGdCQUFnQixJQUFJLFdBQVcsUUFBUSxTQUFTLENBQUMsQ0FBQztTQUN4RTtJQUNILENBQUMsRUFBRSxhQUFhLENBQUMsQ0FBQztBQUNwQixDQUFDO0FBN0NELDhCQTZDQztBQUVELFNBQVMsVUFBVSxDQUFDLFFBQWdCO0lBQ2xDLE9BQU8sVUFBVSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUN2QyxDQUFDO0FBRUQsU0FBZ0IsWUFBWTtJQUMxQixRQUFRO0lBQ1IsT0FBTyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDL0QsQ0FBQztBQUhELG9DQUdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IE1lbW9yeVN0cmVhbSB9IGZyb20gJy4vY29ya2luZyc7XG5cbmNvbnN0IFNLSVBfVEVTVFMgPSBmcy5yZWFkRmlsZVN5bmMocGF0aC5qb2luKF9fZGlybmFtZSwgJy4uJywgJ3NraXAtdGVzdHMudHh0JyksIHsgZW5jb2Rpbmc6ICd1dGYtOCcgfSkuc3BsaXQoJ1xcbicpO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRlc3RDb250ZXh0IHtcbiAgcmVhZG9ubHkgcmFuZG9tU3RyaW5nOiBzdHJpbmc7XG4gIHJlYWRvbmx5IG91dHB1dDogTm9kZUpTLldyaXRhYmxlU3RyZWFtO1xuICBsb2coczogc3RyaW5nKTogdm9pZDtcbn07XG5cbmlmIChwcm9jZXNzLmVudi5KRVNUX1RFU1RfQ09OQ1VSUkVOVCA9PT0gJ3RydWUnKSB7XG4gIHByb2Nlc3Muc3RkZXJyLndyaXRlKCfihLnvuI8gSkVTVF9URVNUX0NPTkNVUlJFTlQgaXMgdHJ1ZTogdGVzdHMgd2lsbCBydW4gY29uY3VycmVudGx5IGFuZCBmaWx0ZXJzIGhhdmUgbm8gZWZmZWN0IScpO1xufVxuXG4vKipcbiAqIEEgd3JhcHBlciBmb3IgamVzdCdzICd0ZXN0JyB3aGljaCB0YWtlcyByZWdyZXNzaW9uLWRpc2FibGVkIHRlc3RzIGludG8gYWNjb3VudCBhbmQgcHJpbnRzIGEgYmFubmVyXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbnRlZ1Rlc3QoXG4gIG5hbWU6IHN0cmluZyxcbiAgY2FsbGJhY2s6IChjb250ZXh0OiBUZXN0Q29udGV4dCkgPT4gUHJvbWlzZTx2b2lkPixcbiAgdGltZW91dE1pbGxpcz86IG51bWJlcixcbik6IHZvaWQge1xuICAvLyBJbnRlZyB0ZXN0cyBjYW4gcnVuIGNvbmN1cnJlbnRseSwgYW5kIGFyZSByZXNwb25zaWJsZSBmb3IgYmxvY2tpbmdcbiAgLy8gdGhlbXNlbHZlcyBpZiB0aGV5IGNhbm5vdC4gIEJlY2F1c2UgYHRlc3QuY29uY3VycmVudGAgZXhlY3V0ZXMgdGhlIHRlc3RcbiAgLy8gY29kZSBpbW1lZGlhdGVseSwgcmVnYXJkbGVzIG9mIGFueSBgLS10ZXN0TmFtZVBhdHRlcm5gLCB0aGlzIGNhbm5vdCBiZSB0aGVcbiAgLy8gZGVmYXVsdDogdGVzdCBmaWx0ZXJpbmcgc2ltcGx5IGRvZXMgbm90IHdvcmsgd2l0aCBgdGVzdC5jb25jdXJyZW50YC5cbiAgLy8gSW5zdGVhZCwgd2UgbWFrZSBpdCBvcHQtaW4gb25seSBmb3IgdGhlIHBpcGVsaW5lIHdoZXJlIHdlIGRvbid0IGRvIGFueVxuICAvLyBzZWxlY3Rpb24sIGJ1dCBleGVjdXRlIGFsbCB0ZXN0cyB1bmNvbmRpdGlvbmFsbHkuXG4gIGNvbnN0IHRlc3RLaW5kID0gcHJvY2Vzcy5lbnYuSkVTVF9URVNUX0NPTkNVUlJFTlQgPT09ICd0cnVlJyA/IHRlc3QuY29uY3VycmVudCA6IHRlc3Q7XG4gIGNvbnN0IHJ1bm5lciA9IHNob3VsZFNraXAobmFtZSkgPyB0ZXN0S2luZC5za2lwIDogdGVzdEtpbmQ7XG5cbiAgcnVubmVyKG5hbWUsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBvdXRwdXQgPSBuZXcgTWVtb3J5U3RyZWFtKCk7XG5cbiAgICBvdXRwdXQud3JpdGUoJz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cXG4nKTtcbiAgICBvdXRwdXQud3JpdGUoYCR7bmFtZX1cXG5gKTtcbiAgICBvdXRwdXQud3JpdGUoJz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cXG4nKTtcblxuICAgIGNvbnN0IG5vdyA9IERhdGUubm93KCk7XG4gICAgcHJvY2Vzcy5zdGRlcnIud3JpdGUoYFtJTlRFRyBURVNUOjoke25hbWV9XSBTdGFydGluZyAocGlkICR7cHJvY2Vzcy5waWR9KS4uLlxcbmApO1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gYXdhaXQgY2FsbGJhY2soe1xuICAgICAgICBvdXRwdXQsXG4gICAgICAgIHJhbmRvbVN0cmluZzogcmFuZG9tU3RyaW5nKCksXG4gICAgICAgIGxvZyhzOiBzdHJpbmcpIHtcbiAgICAgICAgICBvdXRwdXQud3JpdGUoYCR7c31cXG5gKTtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHByb2Nlc3Muc3RkZXJyLndyaXRlKGBbSU5URUcgVEVTVDo6JHtuYW1lfV0gRmFpbGVkOiAke2V9XFxuYCk7XG4gICAgICBvdXRwdXQud3JpdGUoZS5tZXNzYWdlKTtcbiAgICAgIG91dHB1dC53cml0ZShlLnN0YWNrKTtcbiAgICAgIC8vIFByaW50IG91dHB1dCBvbmx5IGlmIHRoZSB0ZXN0IGZhaWxzLiBVc2UgJ2NvbnNvbGUubG9nJyBzbyB0aGUgb3V0cHV0IGlzIGJ1ZmZlcmVkIGJ5XG4gICAgICAvLyBqZXN0IGFuZCBwcmludHMgd2l0aG91dCBhIHN0YWNrIHRyYWNlIChpZiB2ZXJib3NlOiBmYWxzZSkuXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgICAgY29uc29sZS5sb2cob3V0cHV0LmJ1ZmZlcigpLnRvU3RyaW5nKCkpO1xuICAgICAgdGhyb3cgZTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgY29uc3QgZHVyYXRpb24gPSBEYXRlLm5vdygpIC0gbm93O1xuICAgICAgcHJvY2Vzcy5zdGRlcnIud3JpdGUoYFtJTlRFRyBURVNUOjoke25hbWV9XSBEb25lICgke2R1cmF0aW9ufSBtcykuXFxuYCk7XG4gICAgfVxuICB9LCB0aW1lb3V0TWlsbGlzKTtcbn1cblxuZnVuY3Rpb24gc2hvdWxkU2tpcCh0ZXN0TmFtZTogc3RyaW5nKSB7XG4gIHJldHVybiBTS0lQX1RFU1RTLmluY2x1ZGVzKHRlc3ROYW1lKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJhbmRvbVN0cmluZygpIHtcbiAgLy8gQ3JhenlcbiAgcmV0dXJuIE1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnJlcGxhY2UoL1teYS16MC05XSsvZywgJycpO1xufVxuIl19
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWctdGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImludGVnLXRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseUJBQXlCO0FBQ3pCLDZCQUE2QjtBQUM3Qix1Q0FBeUM7QUFFekMsTUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLENBQUMsRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztBQU1uSCxDQUFDO0FBRUYsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLG9CQUFvQixLQUFLLE1BQU0sRUFBRTtJQUMvQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQywwRkFBMEYsQ0FBQyxDQUFDO0NBQ2xIO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQixTQUFTLENBQ3ZCLElBQVksRUFDWixRQUFpRCxFQUNqRCxhQUFzQjtJQUV0QixxRUFBcUU7SUFDckUsMEVBQTBFO0lBQzFFLDZFQUE2RTtJQUM3RSx1RUFBdUU7SUFDdkUseUVBQXlFO0lBQ3pFLG9EQUFvRDtJQUNwRCxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLG9CQUFvQixLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3RGLE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO0lBRTNELE1BQU0sQ0FBQyxJQUFJLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDdEIsTUFBTSxNQUFNLEdBQUcsSUFBSSxzQkFBWSxFQUFFLENBQUM7UUFFbEMsTUFBTSxDQUFDLEtBQUssQ0FBQyxvRUFBb0UsQ0FBQyxDQUFDO1FBQ25GLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDO1FBQzFCLE1BQU0sQ0FBQyxLQUFLLENBQUMsb0VBQW9FLENBQUMsQ0FBQztRQUVuRixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDdkIsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLElBQUksbUJBQW1CLE9BQU8sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDO1FBQ2pGLElBQUk7WUFDRixPQUFPLE1BQU0sUUFBUSxDQUFDO2dCQUNwQixNQUFNO2dCQUNOLFlBQVksRUFBRSxZQUFZLEVBQUU7Z0JBQzVCLEdBQUcsQ0FBQyxDQUFTO29CQUNYLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUN6QixDQUFDO2FBQ0YsQ0FBQyxDQUFDO1NBQ0o7UUFBQyxPQUFPLENBQU0sRUFBRTtZQUNmLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLGdCQUFnQixJQUFJLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM3RCxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN4QixNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN0QixzRkFBc0Y7WUFDdEYsNkRBQTZEO1lBQzdELHNDQUFzQztZQUN0QyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQ3hDLE1BQU0sQ0FBQyxDQUFDO1NBQ1Q7Z0JBQVM7WUFDUixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsR0FBRyxDQUFDO1lBQ2xDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLGdCQUFnQixJQUFJLFdBQVcsUUFBUSxTQUFTLENBQUMsQ0FBQztTQUN4RTtJQUNILENBQUMsRUFBRSxhQUFhLENBQUMsQ0FBQztBQUNwQixDQUFDO0FBN0NELDhCQTZDQztBQUVELFNBQVMsVUFBVSxDQUFDLFFBQWdCO0lBQ2xDLE9BQU8sVUFBVSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUN2QyxDQUFDO0FBRUQsU0FBZ0IsWUFBWTtJQUMxQixRQUFRO0lBQ1IsT0FBTyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDL0QsQ0FBQztBQUhELG9DQUdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IE1lbW9yeVN0cmVhbSB9IGZyb20gJy4vY29ya2luZyc7XG5cbmNvbnN0IFNLSVBfVEVTVFMgPSBmcy5yZWFkRmlsZVN5bmMocGF0aC5qb2luKF9fZGlybmFtZSwgJy4uJywgJ3NraXAtdGVzdHMudHh0JyksIHsgZW5jb2Rpbmc6ICd1dGYtOCcgfSkuc3BsaXQoJ1xcbicpO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRlc3RDb250ZXh0IHtcbiAgcmVhZG9ubHkgcmFuZG9tU3RyaW5nOiBzdHJpbmc7XG4gIHJlYWRvbmx5IG91dHB1dDogTm9kZUpTLldyaXRhYmxlU3RyZWFtO1xuICBsb2coczogc3RyaW5nKTogdm9pZDtcbn07XG5cbmlmIChwcm9jZXNzLmVudi5KRVNUX1RFU1RfQ09OQ1VSUkVOVCA9PT0gJ3RydWUnKSB7XG4gIHByb2Nlc3Muc3RkZXJyLndyaXRlKCfihLnvuI8gSkVTVF9URVNUX0NPTkNVUlJFTlQgaXMgdHJ1ZTogdGVzdHMgd2lsbCBydW4gY29uY3VycmVudGx5IGFuZCBmaWx0ZXJzIGhhdmUgbm8gZWZmZWN0IScpO1xufVxuXG4vKipcbiAqIEEgd3JhcHBlciBmb3IgamVzdCdzICd0ZXN0JyB3aGljaCB0YWtlcyByZWdyZXNzaW9uLWRpc2FibGVkIHRlc3RzIGludG8gYWNjb3VudCBhbmQgcHJpbnRzIGEgYmFubmVyXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbnRlZ1Rlc3QoXG4gIG5hbWU6IHN0cmluZyxcbiAgY2FsbGJhY2s6IChjb250ZXh0OiBUZXN0Q29udGV4dCkgPT4gUHJvbWlzZTx2b2lkPixcbiAgdGltZW91dE1pbGxpcz86IG51bWJlcixcbik6IHZvaWQge1xuICAvLyBJbnRlZyB0ZXN0cyBjYW4gcnVuIGNvbmN1cnJlbnRseSwgYW5kIGFyZSByZXNwb25zaWJsZSBmb3IgYmxvY2tpbmdcbiAgLy8gdGhlbXNlbHZlcyBpZiB0aGV5IGNhbm5vdC4gIEJlY2F1c2UgYHRlc3QuY29uY3VycmVudGAgZXhlY3V0ZXMgdGhlIHRlc3RcbiAgLy8gY29kZSBpbW1lZGlhdGVseSwgcmVnYXJkbGVzIG9mIGFueSBgLS10ZXN0TmFtZVBhdHRlcm5gLCB0aGlzIGNhbm5vdCBiZSB0aGVcbiAgLy8gZGVmYXVsdDogdGVzdCBmaWx0ZXJpbmcgc2ltcGx5IGRvZXMgbm90IHdvcmsgd2l0aCBgdGVzdC5jb25jdXJyZW50YC5cbiAgLy8gSW5zdGVhZCwgd2UgbWFrZSBpdCBvcHQtaW4gb25seSBmb3IgdGhlIHBpcGVsaW5lIHdoZXJlIHdlIGRvbid0IGRvIGFueVxuICAvLyBzZWxlY3Rpb24sIGJ1dCBleGVjdXRlIGFsbCB0ZXN0cyB1bmNvbmRpdGlvbmFsbHkuXG4gIGNvbnN0IHRlc3RLaW5kID0gcHJvY2Vzcy5lbnYuSkVTVF9URVNUX0NPTkNVUlJFTlQgPT09ICd0cnVlJyA/IHRlc3QuY29uY3VycmVudCA6IHRlc3Q7XG4gIGNvbnN0IHJ1bm5lciA9IHNob3VsZFNraXAobmFtZSkgPyB0ZXN0S2luZC5za2lwIDogdGVzdEtpbmQ7XG5cbiAgcnVubmVyKG5hbWUsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBvdXRwdXQgPSBuZXcgTWVtb3J5U3RyZWFtKCk7XG5cbiAgICBvdXRwdXQud3JpdGUoJz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cXG4nKTtcbiAgICBvdXRwdXQud3JpdGUoYCR7bmFtZX1cXG5gKTtcbiAgICBvdXRwdXQud3JpdGUoJz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cXG4nKTtcblxuICAgIGNvbnN0IG5vdyA9IERhdGUubm93KCk7XG4gICAgcHJvY2Vzcy5zdGRlcnIud3JpdGUoYFtJTlRFRyBURVNUOjoke25hbWV9XSBTdGFydGluZyAocGlkICR7cHJvY2Vzcy5waWR9KS4uLlxcbmApO1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gYXdhaXQgY2FsbGJhY2soe1xuICAgICAgICBvdXRwdXQsXG4gICAgICAgIHJhbmRvbVN0cmluZzogcmFuZG9tU3RyaW5nKCksXG4gICAgICAgIGxvZyhzOiBzdHJpbmcpIHtcbiAgICAgICAgICBvdXRwdXQud3JpdGUoYCR7c31cXG5gKTtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgcHJvY2Vzcy5zdGRlcnIud3JpdGUoYFtJTlRFRyBURVNUOjoke25hbWV9XSBGYWlsZWQ6ICR7ZX1cXG5gKTtcbiAgICAgIG91dHB1dC53cml0ZShlLm1lc3NhZ2UpO1xuICAgICAgb3V0cHV0LndyaXRlKGUuc3RhY2spO1xuICAgICAgLy8gUHJpbnQgb3V0cHV0IG9ubHkgaWYgdGhlIHRlc3QgZmFpbHMuIFVzZSAnY29uc29sZS5sb2cnIHNvIHRoZSBvdXRwdXQgaXMgYnVmZmVyZWQgYnlcbiAgICAgIC8vIGplc3QgYW5kIHByaW50cyB3aXRob3V0IGEgc3RhY2sgdHJhY2UgKGlmIHZlcmJvc2U6IGZhbHNlKS5cbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICBjb25zb2xlLmxvZyhvdXRwdXQuYnVmZmVyKCkudG9TdHJpbmcoKSk7XG4gICAgICB0aHJvdyBlO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBjb25zdCBkdXJhdGlvbiA9IERhdGUubm93KCkgLSBub3c7XG4gICAgICBwcm9jZXNzLnN0ZGVyci53cml0ZShgW0lOVEVHIFRFU1Q6OiR7bmFtZX1dIERvbmUgKCR7ZHVyYXRpb259IG1zKS5cXG5gKTtcbiAgICB9XG4gIH0sIHRpbWVvdXRNaWxsaXMpO1xufVxuXG5mdW5jdGlvbiBzaG91bGRTa2lwKHRlc3ROYW1lOiBzdHJpbmcpIHtcbiAgcmV0dXJuIFNLSVBfVEVTVFMuaW5jbHVkZXModGVzdE5hbWUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmFuZG9tU3RyaW5nKCkge1xuICAvLyBDcmF6eVxuICByZXR1cm4gTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikucmVwbGFjZSgvW15hLXowLTldKy9nLCAnJyk7XG59XG4iXX0=
package/lib/npm.js CHANGED
@@ -7,9 +7,9 @@ const MINIMUM_VERSION = '3.9';
7
7
  * Use NPM preinstalled on the machine to look up a list of TypeScript versions
8
8
  */
9
9
  function typescriptVersionsSync() {
10
- const { stdout } = child_process_1.spawnSync('npm', ['--silent', 'view', `typescript@>=${MINIMUM_VERSION}`, 'version', '--json'], { encoding: 'utf-8' });
10
+ const { stdout } = (0, child_process_1.spawnSync)('npm', ['--silent', 'view', `typescript@>=${MINIMUM_VERSION}`, 'version', '--json'], { encoding: 'utf-8' });
11
11
  const versions = JSON.parse(stdout);
12
12
  return Array.from(new Set(versions.map(v => v.split('.').slice(0, 2).join('.'))));
13
13
  }
14
14
  exports.typescriptVersionsSync = typescriptVersionsSync;
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnBtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsibnBtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLGlEQUEwQztBQUUxQyxNQUFNLGVBQWUsR0FBRyxLQUFLLENBQUM7QUFFOUI7O0dBRUc7QUFDSCxTQUFnQixzQkFBc0I7SUFDcEMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLHlCQUFTLENBQUMsS0FBSyxFQUFFLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxnQkFBZ0IsZUFBZSxFQUFFLEVBQUUsU0FBUyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFFekksTUFBTSxRQUFRLEdBQWEsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM5QyxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDcEYsQ0FBQztBQUxELHdEQUtDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc3Bhd25TeW5jIH0gZnJvbSAnY2hpbGRfcHJvY2Vzcyc7XG5cbmNvbnN0IE1JTklNVU1fVkVSU0lPTiA9ICczLjknO1xuXG4vKipcbiAqIFVzZSBOUE0gcHJlaW5zdGFsbGVkIG9uIHRoZSBtYWNoaW5lIHRvIGxvb2sgdXAgYSBsaXN0IG9mIFR5cGVTY3JpcHQgdmVyc2lvbnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHR5cGVzY3JpcHRWZXJzaW9uc1N5bmMoKTogc3RyaW5nW10ge1xuICBjb25zdCB7IHN0ZG91dCB9ID0gc3Bhd25TeW5jKCducG0nLCBbJy0tc2lsZW50JywgJ3ZpZXcnLCBgdHlwZXNjcmlwdEA+PSR7TUlOSU1VTV9WRVJTSU9OfWAsICd2ZXJzaW9uJywgJy0tanNvbiddLCB7IGVuY29kaW5nOiAndXRmLTgnIH0pO1xuXG4gIGNvbnN0IHZlcnNpb25zOiBzdHJpbmdbXSA9IEpTT04ucGFyc2Uoc3Rkb3V0KTtcbiAgcmV0dXJuIEFycmF5LmZyb20obmV3IFNldCh2ZXJzaW9ucy5tYXAodiA9PiB2LnNwbGl0KCcuJykuc2xpY2UoMCwgMikuam9pbignLicpKSkpO1xufSJdfQ==
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnBtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsibnBtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLGlEQUEwQztBQUUxQyxNQUFNLGVBQWUsR0FBRyxLQUFLLENBQUM7QUFFOUI7O0dBRUc7QUFDSCxTQUFnQixzQkFBc0I7SUFDcEMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLElBQUEseUJBQVMsRUFBQyxLQUFLLEVBQUUsQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLGdCQUFnQixlQUFlLEVBQUUsRUFBRSxTQUFTLEVBQUUsUUFBUSxDQUFDLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUV6SSxNQUFNLFFBQVEsR0FBYSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzlDLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNwRixDQUFDO0FBTEQsd0RBS0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzcGF3blN5bmMgfSBmcm9tICdjaGlsZF9wcm9jZXNzJztcblxuY29uc3QgTUlOSU1VTV9WRVJTSU9OID0gJzMuOSc7XG5cbi8qKlxuICogVXNlIE5QTSBwcmVpbnN0YWxsZWQgb24gdGhlIG1hY2hpbmUgdG8gbG9vayB1cCBhIGxpc3Qgb2YgVHlwZVNjcmlwdCB2ZXJzaW9uc1xuICovXG5leHBvcnQgZnVuY3Rpb24gdHlwZXNjcmlwdFZlcnNpb25zU3luYygpOiBzdHJpbmdbXSB7XG4gIGNvbnN0IHsgc3Rkb3V0IH0gPSBzcGF3blN5bmMoJ25wbScsIFsnLS1zaWxlbnQnLCAndmlldycsIGB0eXBlc2NyaXB0QD49JHtNSU5JTVVNX1ZFUlNJT059YCwgJ3ZlcnNpb24nLCAnLS1qc29uJ10sIHsgZW5jb2Rpbmc6ICd1dGYtOCcgfSk7XG5cbiAgY29uc3QgdmVyc2lvbnM6IHN0cmluZ1tdID0gSlNPTi5wYXJzZShzdGRvdXQpO1xuICByZXR1cm4gQXJyYXkuZnJvbShuZXcgU2V0KHZlcnNpb25zLm1hcCh2ID0+IHYuc3BsaXQoJy4nKS5zbGljZSgwLCAyKS5qb2luKCcuJykpKSk7XG59Il19
@@ -16,7 +16,7 @@ class ReleasePackageSourceSetup {
16
16
  async prepare() {
17
17
  this.tempDir = fs.mkdtempSync(path.join(os.tmpdir(), 'tmpcdk'));
18
18
  fs.mkdirSync(this.tempDir, { recursive: true });
19
- await shell_1.shell(['node', require.resolve('npm'), 'install', `aws-cdk@${this.version}`], {
19
+ await (0, shell_1.shell)(['node', require.resolve('npm'), 'install', `aws-cdk@${this.version}`], {
20
20
  cwd: this.tempDir,
21
21
  });
22
22
  process.env.CDK_CLI_PATH = this.tempDir;
@@ -25,7 +25,7 @@ class ReleasePackageSourceSetup {
25
25
  }
26
26
  async cleanup() {
27
27
  if (this.tempDir) {
28
- shell_1.rimraf(this.tempDir);
28
+ (0, shell_1.rimraf)(this.tempDir);
29
29
  }
30
30
  }
31
31
  }
@@ -36,13 +36,13 @@ class ReleasePackageSource {
36
36
  this.version = process.env.VERSION;
37
37
  }
38
38
  async makeCliAvailable() {
39
- shell_1.addToShellPath(path.join(this.cliPath, 'node_modules', '.bin'));
39
+ (0, shell_1.addToShellPath)(path.join(this.cliPath, 'node_modules', '.bin'));
40
40
  }
41
41
  assertJsiiPackagesAvailable() {
42
42
  }
43
43
  async initializeDotnetPackages(currentDir) {
44
44
  if (process.env.CWD_FILES_DIR) {
45
- await files_1.copyDirectoryContents(process.env.CWD_FILES_DIR, currentDir);
45
+ await (0, files_1.copyDirectoryContents)(process.env.CWD_FILES_DIR, currentDir);
46
46
  }
47
47
  }
48
48
  majorVersion() {
@@ -64,4 +64,4 @@ class ReleasePackageSource {
64
64
  }
65
65
  }
66
66
  exports.ReleasePackageSource = ReleasePackageSource;
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsZWFzZS1zb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJyZWxlYXNlLXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5QkFBeUI7QUFDekIsNkJBQTZCO0FBQzdCLCtCQUErQjtBQUUvQixvQ0FBaUQ7QUFDakQsb0NBQXlEO0FBRXpELE1BQWEseUJBQXlCO0lBTXBDLFlBQTZCLE9BQWUsRUFBbUIsZ0JBQXlCO1FBQTNELFlBQU8sR0FBUCxPQUFPLENBQVE7UUFBbUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFTO1FBTC9FLFNBQUksR0FBRyxTQUFTLENBQUM7UUFDakIsZ0JBQVcsR0FBRyxhQUFhLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUtuRCxDQUFDO0lBRU0sS0FBSyxDQUFDLE9BQU87UUFDbEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDaEUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFFaEQsTUFBTSxhQUFLLENBQUMsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsV0FBVyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRTtZQUNsRixHQUFHLEVBQUUsSUFBSSxDQUFDLE9BQU87U0FDbEIsQ0FBQyxDQUFDO1FBRUgsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUN4QyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQ25DLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDeEUsQ0FBQztJQUVNLEtBQUssQ0FBQyxPQUFPO1FBQ2xCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoQixjQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQztDQUNGO0FBM0JELDhEQTJCQztBQUVELE1BQWEsb0JBQW9CO0lBSS9CO1FBQ0UsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQWEsQ0FBQztRQUN6QyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBUSxDQUFDO0lBQ3RDLENBQUM7SUFFTSxLQUFLLENBQUMsZ0JBQWdCO1FBQzNCLHNCQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFTSwyQkFBMkI7SUFDbEMsQ0FBQztJQUVNLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxVQUFrQjtRQUN0RCxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFO1lBQzdCLE1BQU0sNkJBQXFCLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsVUFBVSxDQUFDLENBQUM7U0FDcEU7SUFDSCxDQUFDO0lBRU0sWUFBWTtRQUNqQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBVyxDQUFDO0lBQzlDLENBQUM7SUFFTSx5QkFBeUI7UUFDOUIsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFrQixDQUFDO0lBQ3hDLENBQUM7SUFFTSxxQkFBcUI7UUFDMUIsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztRQUMxRCxJQUFJLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNyQyx5QkFBeUI7WUFDekIsT0FBTyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLFlBQVksQ0FBQyxDQUFDO1NBQzVEO2FBQU07WUFDTCx1QkFBdUI7WUFDdkIsT0FBTyxHQUFHLGdCQUFnQixVQUFVLENBQUM7U0FDdEM7SUFDSCxDQUFDO0NBQ0Y7QUF4Q0Qsb0RBd0NDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgb3MgZnJvbSAnb3MnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzLWV4dHJhJztcbmltcG9ydCB7IElQYWNrYWdlU291cmNlU2V0dXAsIElQYWNrYWdlU291cmNlIH0gZnJvbSAnLi9zb3VyY2UnO1xuaW1wb3J0IHsgY29weURpcmVjdG9yeUNvbnRlbnRzIH0gZnJvbSAnLi4vZmlsZXMnO1xuaW1wb3J0IHsgc2hlbGwsIHJpbXJhZiwgYWRkVG9TaGVsbFBhdGggfSBmcm9tICcuLi9zaGVsbCc7XG5cbmV4cG9ydCBjbGFzcyBSZWxlYXNlUGFja2FnZVNvdXJjZVNldHVwIGltcGxlbWVudHMgSVBhY2thZ2VTb3VyY2VTZXR1cCB7XG4gIHJlYWRvbmx5IG5hbWUgPSAncmVsZWFzZSc7XG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uID0gYHJlbGVhc2UgQCAke3RoaXMudmVyc2lvbn1gO1xuXG4gIHByaXZhdGUgdGVtcERpcj86IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHZlcnNpb246IHN0cmluZywgcHJpdmF0ZSByZWFkb25seSBmcmFtZXdvcmtWZXJzaW9uPzogc3RyaW5nKSB7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgcHJlcGFyZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLnRlbXBEaXIgPSBmcy5ta2R0ZW1wU3luYyhwYXRoLmpvaW4ob3MudG1wZGlyKCksICd0bXBjZGsnKSk7XG4gICAgZnMubWtkaXJTeW5jKHRoaXMudGVtcERpciwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG5cbiAgICBhd2FpdCBzaGVsbChbJ25vZGUnLCByZXF1aXJlLnJlc29sdmUoJ25wbScpLCAnaW5zdGFsbCcsIGBhd3MtY2RrQCR7dGhpcy52ZXJzaW9ufWBdLCB7XG4gICAgICBjd2Q6IHRoaXMudGVtcERpcixcbiAgICB9KTtcblxuICAgIHByb2Nlc3MuZW52LkNES19DTElfUEFUSCA9IHRoaXMudGVtcERpcjtcbiAgICBwcm9jZXNzLmVudi5WRVJTSU9OID0gdGhpcy52ZXJzaW9uO1xuICAgIHByb2Nlc3MuZW52LkZSQU1FV09SS19WRVJTSU9OID0gdGhpcy5mcmFtZXdvcmtWZXJzaW9uID8/IHRoaXMudmVyc2lvbjtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBjbGVhbnVwKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0aGlzLnRlbXBEaXIpIHtcbiAgICAgIHJpbXJhZih0aGlzLnRlbXBEaXIpO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgUmVsZWFzZVBhY2thZ2VTb3VyY2UgaW1wbGVtZW50cyBJUGFja2FnZVNvdXJjZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgY2xpUGF0aDogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IHZlcnNpb246IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmNsaVBhdGggPSBwcm9jZXNzLmVudi5DREtfQ0xJX1BBVEghO1xuICAgIHRoaXMudmVyc2lvbiA9IHByb2Nlc3MuZW52LlZFUlNJT04hO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIG1ha2VDbGlBdmFpbGFibGUoKSB7XG4gICAgYWRkVG9TaGVsbFBhdGgocGF0aC5qb2luKHRoaXMuY2xpUGF0aCwgJ25vZGVfbW9kdWxlcycsICcuYmluJykpO1xuICB9XG5cbiAgcHVibGljIGFzc2VydEpzaWlQYWNrYWdlc0F2YWlsYWJsZSgpIHtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBpbml0aWFsaXplRG90bmV0UGFja2FnZXMoY3VycmVudERpcjogc3RyaW5nKSB7XG4gICAgaWYgKHByb2Nlc3MuZW52LkNXRF9GSUxFU19ESVIpIHtcbiAgICAgIGF3YWl0IGNvcHlEaXJlY3RvcnlDb250ZW50cyhwcm9jZXNzLmVudi5DV0RfRklMRVNfRElSLCBjdXJyZW50RGlyKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbWFqb3JWZXJzaW9uKCkge1xuICAgIHJldHVybiB0aGlzLnZlcnNpb24uc3BsaXQoJy4nKVswXSBhcyBzdHJpbmc7XG4gIH1cblxuICBwdWJsaWMgcmVxdWVzdGVkRnJhbWV3b3JrVmVyc2lvbigpIHtcbiAgICByZXR1cm4gcHJvY2Vzcy5lbnYuRlJBTUVXT1JLX1ZFUlNJT04hO1xuICB9XG5cbiAgcHVibGljIHJlcXVlc3RlZEFscGhhVmVyc2lvbigpOiBzdHJpbmcge1xuICAgIGNvbnN0IGZyYW1ld29ya1ZlcnNpb24gPSB0aGlzLnJlcXVlc3RlZEZyYW1ld29ya1ZlcnNpb24oKTtcbiAgICBpZiAoZnJhbWV3b3JrVmVyc2lvbi5pbmNsdWRlcygnLXJjLicpKSB7XG4gICAgICAvLyBGb3IgYSBwaXBlbGluZSByZWxlYXNlXG4gICAgICByZXR1cm4gZnJhbWV3b3JrVmVyc2lvbi5yZXBsYWNlKC8tcmNcXC5cXGQrJC8sICctYWxwaGEuOTk5Jyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEZvciBhIHN0YWJsZSByZWxlYXNlXG4gICAgICByZXR1cm4gYCR7ZnJhbWV3b3JrVmVyc2lvbn0tYWxwaGEuMGA7XG4gICAgfVxuICB9XG59Il19
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsZWFzZS1zb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJyZWxlYXNlLXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5QkFBeUI7QUFDekIsNkJBQTZCO0FBQzdCLCtCQUErQjtBQUUvQixvQ0FBaUQ7QUFDakQsb0NBQXlEO0FBRXpELE1BQWEseUJBQXlCO0lBTXBDLFlBQTZCLE9BQWUsRUFBbUIsZ0JBQXlCO1FBQTNELFlBQU8sR0FBUCxPQUFPLENBQVE7UUFBbUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFTO1FBTC9FLFNBQUksR0FBRyxTQUFTLENBQUM7UUFDakIsZ0JBQVcsR0FBRyxhQUFhLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUtuRCxDQUFDO0lBRU0sS0FBSyxDQUFDLE9BQU87UUFDbEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDaEUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFFaEQsTUFBTSxJQUFBLGFBQUssRUFBQyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxXQUFXLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFO1lBQ2xGLEdBQUcsRUFBRSxJQUFJLENBQUMsT0FBTztTQUNsQixDQUFDLENBQUM7UUFFSCxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQ3hDLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDbkMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN4RSxDQUFDO0lBRU0sS0FBSyxDQUFDLE9BQU87UUFDbEIsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2hCLElBQUEsY0FBTSxFQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUN0QjtJQUNILENBQUM7Q0FDRjtBQTNCRCw4REEyQkM7QUFFRCxNQUFhLG9CQUFvQjtJQUkvQjtRQUNFLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFhLENBQUM7UUFDekMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQVEsQ0FBQztJQUN0QyxDQUFDO0lBRU0sS0FBSyxDQUFDLGdCQUFnQjtRQUMzQixJQUFBLHNCQUFjLEVBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFTSwyQkFBMkI7SUFDbEMsQ0FBQztJQUVNLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxVQUFrQjtRQUN0RCxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFO1lBQzdCLE1BQU0sSUFBQSw2QkFBcUIsRUFBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxVQUFVLENBQUMsQ0FBQztTQUNwRTtJQUNILENBQUM7SUFFTSxZQUFZO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFXLENBQUM7SUFDOUMsQ0FBQztJQUVNLHlCQUF5QjtRQUM5QixPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWtCLENBQUM7SUFDeEMsQ0FBQztJQUVNLHFCQUFxQjtRQUMxQixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO1FBQzFELElBQUksZ0JBQWdCLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3JDLHlCQUF5QjtZQUN6QixPQUFPLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsWUFBWSxDQUFDLENBQUM7U0FDNUQ7YUFBTTtZQUNMLHVCQUF1QjtZQUN2QixPQUFPLEdBQUcsZ0JBQWdCLFVBQVUsQ0FBQztTQUN0QztJQUNILENBQUM7Q0FDRjtBQXhDRCxvREF3Q0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBvcyBmcm9tICdvcyc7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMtZXh0cmEnO1xuaW1wb3J0IHsgSVBhY2thZ2VTb3VyY2VTZXR1cCwgSVBhY2thZ2VTb3VyY2UgfSBmcm9tICcuL3NvdXJjZSc7XG5pbXBvcnQgeyBjb3B5RGlyZWN0b3J5Q29udGVudHMgfSBmcm9tICcuLi9maWxlcyc7XG5pbXBvcnQgeyBzaGVsbCwgcmltcmFmLCBhZGRUb1NoZWxsUGF0aCB9IGZyb20gJy4uL3NoZWxsJztcblxuZXhwb3J0IGNsYXNzIFJlbGVhc2VQYWNrYWdlU291cmNlU2V0dXAgaW1wbGVtZW50cyBJUGFja2FnZVNvdXJjZVNldHVwIHtcbiAgcmVhZG9ubHkgbmFtZSA9ICdyZWxlYXNlJztcbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24gPSBgcmVsZWFzZSBAICR7dGhpcy52ZXJzaW9ufWA7XG5cbiAgcHJpdmF0ZSB0ZW1wRGlyPzogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgdmVyc2lvbjogc3RyaW5nLCBwcml2YXRlIHJlYWRvbmx5IGZyYW1ld29ya1ZlcnNpb24/OiBzdHJpbmcpIHtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBwcmVwYXJlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMudGVtcERpciA9IGZzLm1rZHRlbXBTeW5jKHBhdGguam9pbihvcy50bXBkaXIoKSwgJ3RtcGNkaycpKTtcbiAgICBmcy5ta2RpclN5bmModGhpcy50ZW1wRGlyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcblxuICAgIGF3YWl0IHNoZWxsKFsnbm9kZScsIHJlcXVpcmUucmVzb2x2ZSgnbnBtJyksICdpbnN0YWxsJywgYGF3cy1jZGtAJHt0aGlzLnZlcnNpb259YF0sIHtcbiAgICAgIGN3ZDogdGhpcy50ZW1wRGlyLFxuICAgIH0pO1xuXG4gICAgcHJvY2Vzcy5lbnYuQ0RLX0NMSV9QQVRIID0gdGhpcy50ZW1wRGlyO1xuICAgIHByb2Nlc3MuZW52LlZFUlNJT04gPSB0aGlzLnZlcnNpb247XG4gICAgcHJvY2Vzcy5lbnYuRlJBTUVXT1JLX1ZFUlNJT04gPSB0aGlzLmZyYW1ld29ya1ZlcnNpb24gPz8gdGhpcy52ZXJzaW9uO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGNsZWFudXAoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHRoaXMudGVtcERpcikge1xuICAgICAgcmltcmFmKHRoaXMudGVtcERpcik7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBSZWxlYXNlUGFja2FnZVNvdXJjZSBpbXBsZW1lbnRzIElQYWNrYWdlU291cmNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBjbGlQYXRoOiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgdmVyc2lvbjogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuY2xpUGF0aCA9IHByb2Nlc3MuZW52LkNES19DTElfUEFUSCE7XG4gICAgdGhpcy52ZXJzaW9uID0gcHJvY2Vzcy5lbnYuVkVSU0lPTiE7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgbWFrZUNsaUF2YWlsYWJsZSgpIHtcbiAgICBhZGRUb1NoZWxsUGF0aChwYXRoLmpvaW4odGhpcy5jbGlQYXRoLCAnbm9kZV9tb2R1bGVzJywgJy5iaW4nKSk7XG4gIH1cblxuICBwdWJsaWMgYXNzZXJ0SnNpaVBhY2thZ2VzQXZhaWxhYmxlKCkge1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGluaXRpYWxpemVEb3RuZXRQYWNrYWdlcyhjdXJyZW50RGlyOiBzdHJpbmcpIHtcbiAgICBpZiAocHJvY2Vzcy5lbnYuQ1dEX0ZJTEVTX0RJUikge1xuICAgICAgYXdhaXQgY29weURpcmVjdG9yeUNvbnRlbnRzKHByb2Nlc3MuZW52LkNXRF9GSUxFU19ESVIsIGN1cnJlbnREaXIpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBtYWpvclZlcnNpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMudmVyc2lvbi5zcGxpdCgnLicpWzBdIGFzIHN0cmluZztcbiAgfVxuXG4gIHB1YmxpYyByZXF1ZXN0ZWRGcmFtZXdvcmtWZXJzaW9uKCkge1xuICAgIHJldHVybiBwcm9jZXNzLmVudi5GUkFNRVdPUktfVkVSU0lPTiE7XG4gIH1cblxuICBwdWJsaWMgcmVxdWVzdGVkQWxwaGFWZXJzaW9uKCk6IHN0cmluZyB7XG4gICAgY29uc3QgZnJhbWV3b3JrVmVyc2lvbiA9IHRoaXMucmVxdWVzdGVkRnJhbWV3b3JrVmVyc2lvbigpO1xuICAgIGlmIChmcmFtZXdvcmtWZXJzaW9uLmluY2x1ZGVzKCctcmMuJykpIHtcbiAgICAgIC8vIEZvciBhIHBpcGVsaW5lIHJlbGVhc2VcbiAgICAgIHJldHVybiBmcmFtZXdvcmtWZXJzaW9uLnJlcGxhY2UoLy1yY1xcLlxcZCskLywgJy1hbHBoYS45OTknKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gRm9yIGEgc3RhYmxlIHJlbGVhc2VcbiAgICAgIHJldHVybiBgJHtmcmFtZXdvcmtWZXJzaW9ufS1hbHBoYS4wYDtcbiAgICB9XG4gIH1cbn0iXX0=