@pipeline-builder/pipeline-manager 4.1.7 → 4.1.9

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 (38) hide show
  1. package/dist/boilerplate.js +3 -2
  2. package/dist/cli.d.ts.map +1 -1
  3. package/dist/cli.js +5 -4
  4. package/dist/commands/audit-tokens.js +3 -3
  5. package/dist/commands/create-pipeline.d.ts.map +1 -1
  6. package/dist/commands/create-pipeline.js +4 -3
  7. package/dist/commands/instantiate-template.d.ts.map +1 -1
  8. package/dist/commands/instantiate-template.js +3 -2
  9. package/dist/commands/provision.d.ts +2 -4
  10. package/dist/commands/provision.d.ts.map +1 -1
  11. package/dist/commands/provision.js +3 -14
  12. package/dist/commands/register.d.ts.map +1 -1
  13. package/dist/commands/register.js +3 -2
  14. package/dist/commands/store-token.d.ts.map +1 -1
  15. package/dist/commands/store-token.js +3 -4
  16. package/dist/commands/upload-plugin.d.ts.map +1 -1
  17. package/dist/commands/upload-plugin.js +3 -2
  18. package/dist/commands/version.d.ts.map +1 -1
  19. package/dist/commands/version.js +3 -2
  20. package/dist/lambda/token-renew-handler.d.ts.map +1 -1
  21. package/dist/lambda/token-renew-handler.js +9 -7
  22. package/dist/templates/token-renew-stack.json +0 -5
  23. package/dist/utils/audit-log.d.ts.map +1 -1
  24. package/dist/utils/audit-log.js +3 -2
  25. package/dist/utils/config-loader.d.ts.map +1 -1
  26. package/dist/utils/config-loader.js +3 -2
  27. package/dist/utils/credential-store.d.ts.map +1 -1
  28. package/dist/utils/credential-store.js +3 -2
  29. package/dist/utils/deploy-runner.d.ts.map +1 -1
  30. package/dist/utils/deploy-runner.js +6 -5
  31. package/dist/utils/output-utils.d.ts.map +1 -1
  32. package/dist/utils/output-utils.js +4 -3
  33. package/dist/utils/plugin-resolver.d.ts.map +1 -1
  34. package/dist/utils/plugin-resolver.js +3 -2
  35. package/dist/utils/service-account.d.ts +0 -24
  36. package/dist/utils/service-account.d.ts.map +1 -1
  37. package/dist/utils/service-account.js +27 -2
  38. package/package.json +16 -4
@@ -1,6 +1,7 @@
1
1
  // Copyright 2026 Pipeline Builder Contributors
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
  import { execSync } from 'child_process';
4
+ import { errorMessage } from '@pipeline-builder/api-core';
4
5
  import { Command } from 'commander';
5
6
  import pico from 'picocolors';
6
7
  import { APP_NAME, APP_VERSION, generateExecutionId } from '../config/cli.constants.js';
@@ -46,7 +47,7 @@ function checkConfiguration() {
46
47
  catch (error) {
47
48
  return {
48
49
  valid: false,
49
- error: error instanceof Error ? error.message : String(error),
50
+ error: errorMessage(error),
50
51
  };
51
52
  }
52
53
  }
@@ -213,4 +214,4 @@ export function version(program) {
213
214
  // cli.ts (registered first, so it exits before any custom option:version
214
215
  // listener would run) — a duplicate listener here was dead code.
215
216
  }
216
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tYW5kcy92ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtDQUErQztBQUMvQyxzQ0FBc0M7QUFFdEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3BDLE9BQU8sSUFBSSxNQUFNLFlBQVksQ0FBQztBQUM5QixPQUFPLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3hGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFeEksTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQztBQWlCOUQ7OztHQUdHO0FBQ0gsU0FBUyxhQUFhO0lBQ3BCLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNsQyxNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxRCxNQUFNLGFBQWEsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUMsUUFBUSxD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TixPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyw2REFBNkQsQ0FBQyxDQUFDLENBQUM7WUFDbEYsQ0FBQztZQUVELFNBQVM7WUFDVCxZQUFZLEVBQUUsQ0FBQztZQUNmLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLG1CQUFtQixXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDbkQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDN0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUVsQixDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLFdBQVcsQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLE9BQU8sRUFBRTtnQkFDdEMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLO2dCQUMzQixJQUFJLEVBQUUsSUFBSTtnQkFDVixPQUFPLEVBQUU7b0JBQ1AsT0FBTyxFQUFFLFNBQVM7b0JBQ2xCLE9BQU8sRUFBRTt3QkFDUCxPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU87d0JBQ3hCLFdBQVcsRUFBRSxPQUFPLENBQUMsV0FBVzt3QkFDaEMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO3FCQUNuQjtpQkFDRjthQUNGLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLDBFQUEwRTtJQUMxRSx5RUFBeUU7SUFDekUsaUVBQWlFO0FBQ25FLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAyNiBQaXBlbGluZSBCdWlsZGVyIENvbnRyaWJ1dG9yc1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuaW1wb3J0IHsgZXhlY1N5bmMgfSBmcm9tICdjaGlsZF9wcm9jZXNzJztcbmltcG9ydCB7IENvbW1hbmQgfSBmcm9tICdjb21tYW5kZXInO1xuaW1wb3J0IHBpY28gZnJvbSAncGljb2NvbG9ycyc7XG5pbXBvcnQgeyBBUFBfTkFNRSwgQVBQX1ZFUlNJT04sIGdlbmVyYXRlRXhlY3V0aW9uSWQgfSBmcm9tICcuLi9jb25maWcvY2xpLmNvbnN0YW50cy5qcyc7XG5pbXBvcnQgeyBnZXRDZGtJbmZvIH0gZnJvbSAnLi4vdXRpbHMvY2RrLXV0aWxzLmpzJztcbmltcG9ydCB7IGdldENvbmZpZyB9IGZyb20gJy4uL3V0aWxzL2NvbmZpZy1sb2FkZXIuanMnO1xuaW1wb3J0IHsgRVJST1JfQ09ERVMsIGhhbmRsZUVycm9yIH0gZnJvbSAnLi4vdXRpbHMvZXJyb3ItaGFuZGxlci5qcyc7XG5pbXBvcnQgeyBwcmludERpdmlkZXIsIHByaW50RXJyb3IsIHByaW50SW5mbywgcHJpbnRLZXlWYWx1ZSwgcHJpbnRTZWN0aW9uLCBwcmludFN1Y2Nlc3MsIHByaW50V2FybmluZyB9IGZyb20gJy4uL3V0aWxzL291dHB1dC11dGlscy5qcyc7XG5cbmNvbnN0IHsgYm9sZCwgY3lhbiwgZGltLCBncmVlbiwgbWFnZW50YSwgcmVkLCB5ZWxsb3cgfSA9IHBpY287XG5cbi8qKlxuICogUnVudGltZSBzeXN0ZW0gaW5mb3JtYXRpb24gY29sbGVjdGVkIGZvciB0aGUgYHZlcnNpb24gLS12ZXJib3NlYCBvdXRwdXQuXG4gKi9cbmludGVyZmFjZSBTeXN0ZW1JbmZvIHtcbiAgbm9kZWpzOiBzdHJpbmc7XG4gIG5wbTogc3RyaW5nIHwgbnVsbDtcbiAgcGxhdGZvcm06IHN0cmluZztcbiAgYXJjaGl0ZWN0dXJlOiBzdHJpbmc7XG4gIG1lbW9yeToge1xuICAgIHRvdGFsOiBzdHJpbmc7XG4gICAgYXZhaWxhYmxlSGVhcDogc3RyaW5nO1xuICB9O1xuICB1cHRpbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBDb2xsZWN0cyBydW50aW1lIHN5c3RlbSBpbmZvcm1hdGlvbiBpbmNsdWRpbmcgTm9kZS5qcy9ucG0gdmVyc2lvbnMsXG4gKiBwbGF0Zm9ybSwgYXJjaGl0ZWN0dXJlLCBoZWFwIG1lbW9yeSB1c2FnZSwgYW5kIHByb2Nlc3MgdXB0aW1lLlxuICovXG5mdW5jdGlvbiBnZXRTeXN0ZW1JbmZvKCk6IFN5c3RlbUluZm8ge1xuICBjb25zdCBtZW0gPSBwcm9jZXNzLm1lbW9yeVVzYWdlKCk7XG4gIGNvbnN0IHRvdGFsTWVtID0gKG1lbS5oZWFwVG90YWwgLyAxMDI0IC8gMTAyNCkudG9GaXhlZCgyKTtcbiAgY29uc3QgYXZhaWxhYmxlSGVhcCA9ICgobWVtLmhlYXBUb3RhbCAtIG1lbS5oZWFwVXNlZCkgLyAxMDI0IC8gMTAyNCkudG9GaXhlZCgyKTtcbiAgY29uc3QgdXB0aW1lID0gcHJvY2Vzcy51cHRpbWUoKTtcblxuICBsZXQgbnBtOiBzdHJpbmcgfCBudWxsO1xuICB0cnkge1xuICAgIG5wbSA9IGV4ZWNTeW5jKCducG0gLS12ZXJzaW9uJywgeyBlbmNvZGluZzogJ3V0Zi04Jywgc3RkaW86ICdwaXBlJyB9KS50cmltKCk7XG4gIH0gY2F0Y2gge1xuICAgIG5wbSA9IG51bGw7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIG5vZGVqczogcHJvY2Vzcy52ZXJzaW9uLFxuICAgIG5wbSxcbiAgICBwbGF0Zm9ybTogcHJvY2Vzcy5wbGF0Zm9ybSxcbiAgICBhcmNoaXRlY3R1cmU6IHByb2Nlc3MuYXJjaCxcbiAgICBtZW1vcnk6IHsgdG90YWw6IGAke3RvdGFsTWVtfSBNQmAsIGF2YWlsYWJsZUhlYXA6IGAke2F2YWlsYWJsZUhlYXB9IE1CYCB9LFxuICAgIHVwdGltZTogYCR7TWF0aC5mbG9vcih1cHRpbWUgLyAzNjAwKX1oICR7TWF0aC5mbG9vcigodXB0aW1lICUgMzYwMCkgLyA2MCl9bSAke01hdGguZmxvb3IodXB0aW1lICUgNjApfXNgLFxuICB9O1xufVxuXG4vKipcbiAqIEF0dGVtcHRzIHRvIGxvYWQgdGhlIENMSSBjb25maWd1cmF0aW9uIGFuZCByZXBvcnRzIHdoZXRoZXIgaXQgaXMgdmFsaWQuXG4gKiBAcmV0dXJucyBBbiBvYmplY3Qgd2l0aCBgdmFsaWQ6IHRydWVgIG9uIHN1Y2Nlc3MsIG9yIGB2YWxpZDogZmFsc2VgIHdpdGggYW4gZXJyb3IgbWVzc2FnZS5cbiAqL1xuZnVuY3Rpb24gY2hlY2tDb25maWd1cmF0aW9uKCk6IHsgdmFsaWQ6IGJvb2xlYW47IGVycm9yPzogc3RyaW5nIH0ge1xuICB0cnkge1xuICAgIGdldENvbmZpZygpO1xuICAgIHJldHVybiB7IHZhbGlkOiB0cnVlIH07XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHZhbGlkOiBmYWxzZSxcbiAgICAgIGVycm9yOiBlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6IFN0cmluZyhlcnJvciksXG4gICAgfTtcbiAgfVxufVxuXG4vKipcbiAqIENoZWNrcyB3aGljaCBrZXkgZW52aXJvbm1lbnQgdmFyaWFibGVzIGFyZSBjdXJyZW50bHkgc2V0LlxuICogQHJldHVybnMgUHJlc2VuY2UgZmxhZ3MgZm9yIGBQTEFURk9STV9UT0tFTmAsIGBQTEFURk9STV9CQVNFX1VSTGAsIGFuZCBgQ0xJX0NPTkZJR19QQVRIYC5cbiAqL1xuZnVuY3Rpb24gZ2V0RW52aXJvbm1lbnRTdGF0dXMoKToge1xuICB0b2tlbjogYm9vbGVhbjtcbiAgdXJsOiBib29sZWFuO1xuICBjb25maWdQYXRoOiBib29sZWFuO1xufSB7XG4gIHJldHVybiB7XG4gICAgdG9rZW46ICEhcHJvY2Vzcy5lbnYuUExBVEZPUk1fVE9LRU4sXG4gICAgdXJsOiAhIXByb2Nlc3MuZW52LlBMQVRGT1JNX0JBU0VfVVJMLFxuICAgIGNvbmZpZ1BhdGg6ICEhcHJvY2Vzcy5lbnYuQ0xJX0NPTkZJR19QQVRILFxuICB9O1xufVxuXG4vKipcbiAqIFJlZ2lzdGVycyB0aGUgYHZlcnNpb25gIGNvbW1hbmQgd2l0aCB0aGUgQ0xJIHByb2dyYW0uXG4gKlxuICogRGlzcGxheXMgdGhlIENMSSBuYW1lL3ZlcnNpb24sIEFXUyBDREsgc3RhdHVzLCBhbmQgb3B0aW9uYWxseVxuICogZnVsbCBzeXN0ZW0gZGlhZ25vc3RpY3MgKGAtLXZlcmJvc2VgKSBvciBjb25maWd1cmF0aW9uIHZhbGlkYXRpb25cbiAqIChgLS1jaGVjay1jb25maWdgKS4gIFN1cHBvcnRzIGAtLWpzb25gIGZvciBtYWNoaW5lLXJlYWRhYmxlIG91dHB1dC5cbiAqXG4gKiBAcGFyYW0gcHJvZ3JhbSAtIFRoZSByb290IENvbW1hbmRlciBwcm9ncmFtIGluc3RhbmNlIHRvIGF0dGFjaCB0aGUgY29tbWFuZCB0by5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZlcnNpb24ocHJvZ3JhbTogQ29tbWFuZCk6IHZvaWQge1xuICBwcm9ncmFtXG4gICAgLmNvbW1hbmQoJ3ZlcnNpb24nKVxuICAgIC5kZXNjcmlwdGlvbignRGlzcGxheSBDTEkgdmVyc2lvbiBhbmQgZW52aXJvbm1lbnQgaW5mb3JtYXRpb24nKVxuICAgIC5vcHRpb24oJy0tdmVyYm9zZScsICdTaG93IGRldGFpbGVkIGVudmlyb25tZW50IGluZm9ybWF0aW9uJywgZmFsc2UpXG4gICAgLm9wdGlvbignLS1jaGVjay1jb25maWcnLCAnVmVyaWZ5IGNvbmZpZ3VyYXRpb24gc3RhdHVzJywgZmFsc2UpXG4gICAgLm9wdGlvbignLS1qc29uJywgJ091dHB1dCBpbiBKU09OIGZvcm1hdCcsIGZhbHNlKVxuICAgIC5hY3Rpb24oKG9wdGlvbnMpID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGV4ZWN1dGlvbklkID0gZ2VuZXJhdGVFeGVjdXRpb25JZCgpO1xuICAgICAgICBjb25zdCBjZGtJbmZvID0gZ2V0Q2RrSW5mbygpO1xuXG4gICAgICAgIC8vIEpTT04gb3V0cHV0XG4gICAgICAgIGlmIChvcHRpb25zLmpzb24pIHtcbiAgICAgICAgICBjb25zdCBzeXN0ZW1JbmZvID0gZ2V0U3lzdGVtSW5mbygpO1xuICAgICAgICAgIGNvbnN0IGNvbmZpZ1N0YXR1cyA9IG9wdGlvbnMuY2hlY2tDb25maWcgPyBjaGVja0NvbmZpZ3VyYXRpb24oKSA6IHsgdmFsaWQ6IHRydWUgfTtcbiAgICAgICAgICBjb25zdCBlbnZTdGF0dXMgPSBnZXRFbnZpcm9ubWVudFN0YXR1cygpO1xuXG4gICAgICAgICAgY29uc29sZS5sb2coSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgICAgY2xpOiB7IG5hbWU6IEFQUF9OQU1FLCB2ZXJzaW9uOiBBUFBfVkVSU0lPTiB9LFxuICAgICAgICAgICAgc3lzdGVtOiBzeXN0ZW1JbmZvLFxuICAgICAgICAgICAgY2RrOiB7IGF2YWlsYWJsZTogY2RrSW5mby5hdmFpbGFibGUsIHZlcnNpb246IGNka0luZm8udmVyc2lvbiB9LFxuICAgICAgICAgICAgY29uZmlndXJhdGlvbjogeyB2YWxpZDogY29uZmlnU3RhdHVzLnZhbGlkLCBlcnJvcjogY29uZmlnU3RhdHVzLmVycm9yIH0sXG4gICAgICAgICAgICBlbnZpcm9ubWVudDogZW52U3RhdHVzLFxuICAgICAgICAgICAgZXhlY3V0aW9uSWQsXG4gICAgICAgICAgICB0aW1lc3RhbXA6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxcbiAgICAgICAgICB9LCBudWxsLCAyKSk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU3RhbmRhcmQgb3V0cHV0XG4gICAgICAgIHByaW50U2VjdGlvbignVmVyc2lvbiBJbmZvcm1hdGlvbicpO1xuICAgICAgICBjb25zb2xlLmxvZyhgJHttYWdlbnRhKGBbRVhFLSR7ZXhlY3V0aW9uSWR9XWApfSAke2N5YW4oYm9sZCgnQ0xJIFZlcnNpb24gQ2hlY2snKSl9YCk7XG4gICAgICAgIGNvbnNvbGUubG9nKCcnKTtcblxuICAgICAgICBwcmludEtleVZhbHVlKHtcbiAgICAgICAgICAnQ0xJIE5hbWUnOiBib2xkKEFQUF9OQU1FKSxcbiAgICAgICAgICAnQ0xJIFZlcnNpb24nOiBncmVlbihib2xkKEFQUF9WRVJTSU9OKSksXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHByaW50RGl2aWRlcigpO1xuXG4gICAgICAgIC8vIFZlcmJvc2U6IHN5c3RlbSBlbnZpcm9ubWVudFxuICAgICAgICBpZiAob3B0aW9ucy52ZXJib3NlKSB7XG4gICAgICAgICAgcHJpbnRTZWN0aW9uKCdTeXN0ZW0gRW52aXJvbm1lbnQnKTtcbiAgICAgICAgICBjb25zdCBzeXN0ZW1JbmZvID0gZ2V0U3lzdGVtSW5mbygpO1xuICAgICAgICAgIHByaW50S2V5VmFsdWUoe1xuICAgICAgICAgICAgJ05vZGUuanMnOiBzeXN0ZW1JbmZvLm5vZGVqcyxcbiAgICAgICAgICAgICducG0nOiBzeXN0ZW1JbmZvLm5wbSB8fCB5ZWxsb3coJyhub3QgYXZhaWxhYmxlKScpLFxuICAgICAgICAgICAgJ1BsYXRmb3JtJzogc3lzdGVtSW5mby5wbGF0Zm9ybSxcbiAgICAgICAgICAgICdBcmNoaXRlY3R1cmUnOiBzeXN0ZW1JbmZvLmFyY2hpdGVjdHVyZSxcbiAgICAgICAgICAgICdNZW1vcnkgKEhlYXApJzogYCR7c3lzdGVtSW5mby5tZW1vcnkudG90YWx9IHRvdGFsLCAke3N5c3RlbUluZm8ubWVtb3J5LmF2YWlsYWJsZUhlYXB9IGF2YWlsYWJsZWAsXG4gICAgICAgICAgICAnUHJvY2VzcyBVcHRpbWUnOiBzeXN0ZW1JbmZvLnVwdGltZSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBwcmludERpdmlkZXIoKTtcbiAgICAgICAgICBwcmludFNlY3Rpb24oJ0FXUyBDREsnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIENESyBpbmZvcm1hdGlvblxuICAgICAgICBpZiAoY2RrSW5mby5hdmFpbGFibGUgJiYgY2RrSW5mby52ZXJzaW9uKSB7XG4gICAgICAgICAgaWYgKG9wdGlvbnMudmVyYm9zZSkgcHJpbnRTdWNjZXNzKCdBV1MgQ0RLIGlzIGluc3RhbGxlZCcpO1xuICAgICAgICAgIHByaW50S2V5VmFsdWUoe1xuICAgICAgICAgICAgJ0NESyBWZXJzaW9uJzogZ3JlZW4oY2RrSW5mby52ZXJzaW9uKSxcbiAgICAgICAgICAgICdTdGF0dXMnOiBncmVlbign4pyTIEF2YWlsYWJsZScpLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmIChvcHRpb25zLnZlcmJvc2UpIHtcbiAgICAgICAgICAgIHByaW50V2FybmluZygnQVdTIENESyBpcyBub3QgaW5zdGFsbGVkJyk7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhkaW0oJyAgSW5zdGFsbCBDREsgd2l0aDogbnBtIGluc3RhbGwgLWcgYXdzLWNkaycpKTtcbiAgICAgICAgICAgIGlmIChjZGtJbmZvLmVycm9yKSBjb25zb2xlLmxvZyhkaW0oYCAgRXJyb3I6ICR7Y2RrSW5mby5lcnJvcn1gKSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHByaW50S2V5VmFsdWUoe1xuICAgICAgICAgICAgJ0FXUyBDREsnOiByZWQoJ+KclyBOb3QgaW5zdGFsbGVkJyksXG4gICAgICAgICAgICAnU3RhdHVzJzogcmVkKCfinJcgTm90IEF2YWlsYWJsZScpLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFvcHRpb25zLnZlcmJvc2UpIHtcbiAgICAgICAgICBjb25zb2xlLmxvZyhkaW0oJ1xcbiAgUnVuIHdpdGggLS12ZXJib3NlIGZvciBkZXRhaWxlZCBlbnZpcm9ubWVudCBpbmZvcm1hdGlvbicpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIENvbmZpZ3VyYXRpb24gY2hlY2tcbiAgICAgICAgaWYgKG9wdGlvbnMuY2hlY2tDb25maWcpIHtcbiAgICAgICAgICBwcmludERpdmlkZXIoKTtcbiAgICAgICAgICBwcmludFNlY3Rpb24oJ0NvbmZpZ3VyYXRpb24gU3RhdHVzJyk7XG5cbiAgICAgICAgICBjb25zdCBjb25maWdTdGF0dXMgPSBjaGVja0NvbmZpZ3VyYXRpb24oKTtcbiAgICAgICAgICBjb25zdCBlbnZTdGF0dXMgPSBnZXRFbnZpcm9ubWVudFN0YXR1cygpO1xuXG4gICAgICAgICAgaWYgKGNvbmZpZ1N0YXR1cy52YWxpZCkge1xuICAgICAgICAgICAgcHJpbnRTdWNjZXNzKCdDb25maWd1cmF0aW9uIGlzIHZhbGlkJyk7XG5cbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIGNvbnN0IGNvbmZpZyA9IGdldENvbmZpZygpO1xuICAgICAgICAgICAgICBwcmludEtleVZhbHVlKHtcbiAgICAgICAgICAgICAgICAnQVBJIEJhc2UgVVJMJzogY29uZmlnLmFwaS5iYXNlVXJsLFxuICAgICAgICAgICAgICAgICdTU0wgVmVyaWZpY2F0aW9uJzogY29uZmlnLmFwaS5yZWplY3RVbmF1dGhvcml6ZWQgPyBncmVlbignRW5hYmxlZCcpIDogeWVsbG93KCdEaXNhYmxlZCcpLFxuICAgICAgICAgICAgICAgICdUaW1lb3V0JzogYCR7Y29uZmlnLmFwaS50aW1lb3V0fW1zYCxcbiAgICAgICAgICAgICAgICAnQXV0aGVudGljYXRlZCc6IGNvbmZpZy5hdXRoLnRva2VuID8gZ3JlZW4oJ1llcycpIDogcmVkKCdObycpLFxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICAgIHByaW50V2FybmluZygnQ291bGQgbm90IGxvYWQgZnVsbCBjb25maWd1cmF0aW9uJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHByaW50RXJyb3IoJ0NvbmZpZ3VyYXRpb24gaXMgaW52YWxpZCcpO1xuICAgICAgICAgICAgaWYgKGNvbmZpZ1N0YXR1cy5lcnJvcikge1xuICAgICAgICAgICAgICBjb25zb2xlLmxvZyhyZWQoYCAgRXJyb3I6ICR7Y29uZmlnU3RhdHVzLmVycm9yfWApKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zb2xlLmxvZygnJyk7XG4gICAgICAgICAgcHJpbnRJbmZvKCdFbnZpcm9ubWVudCBWYXJpYWJsZXMnKTtcbiAgICAgICAgICBwcmludEtleVZhbHVlKHtcbiAgICAgICAgICAgIFBMQVRGT1JNX1RPS0VOOiBlbnZTdGF0dXMudG9rZW4gPyBncmVlbign4pyTIFNldCcpIDogcmVkKCfinJcgTm90IHNldCcpLFxuICAgICAgICAgICAgUExBVEZPUk1fQkFTRV9VUkw6IGVudlN0YXR1cy51cmwgPyBncmVlbign4pyTIFNldCcpIDogZGltKCcobm90IHNldCAtIHVzaW5nIGRlZmF1bHQpJyksXG4gICAgICAgICAgICBDTElfQ09ORklHX1BBVEg6IGVudlN0YXR1cy5jb25maWdQYXRoID8gZ3JlZW4oJ+KckyBTZXQnKSA6IGRpbSgnKG5vdCBzZXQgLSB1c2luZyBkZWZhdWx0KScpLFxuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgaWYgKCFlbnZTdGF0dXMudG9rZW4pIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCcnKTtcbiAgICAgICAgICAgIHByaW50V2FybmluZygnUExBVEZPUk1fVE9LRU4gaXMgcmVxdWlyZWQgZm9yIEFQSSBvcGVyYXRpb25zJyk7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhkaW0oJyAgU2V0IGl0IHdpdGg6IGV4cG9ydCBQTEFURk9STV9UT0tFTj1cInlvdXItdG9rZW4taGVyZVwiJykpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zb2xlLmxvZyhkaW0oJ1xcbiAg8J+SoSBUaXA6IFJ1biB3aXRoIC0tY2hlY2stY29uZmlnIHRvIHZlcmlmeSBjb25maWd1cmF0aW9uJykpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRm9vdGVyXG4gICAgICAgIHByaW50RGl2aWRlcigpO1xuICAgICAgICBjb25zb2xlLmxvZyhkaW0oYCAgRXhlY3V0aW9uIElEOiAke2V4ZWN1dGlvbklkfWApKTtcbiAgICAgICAgY29uc29sZS5sb2coZGltKGAgIFRpbWVzdGFtcDogJHtuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCl9YCkpO1xuICAgICAgICBjb25zb2xlLmxvZygnJyk7XG5cbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGhhbmRsZUVycm9yKGVycm9yLCBFUlJPUl9DT0RFUy5HRU5FUkFMLCB7XG4gICAgICAgICAgZGVidWc6IHByb2dyYW0ub3B0cygpLmRlYnVnLFxuICAgICAgICAgIGV4aXQ6IHRydWUsXG4gICAgICAgICAgY29udGV4dDoge1xuICAgICAgICAgICAgY29tbWFuZDogJ3ZlcnNpb24nLFxuICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICB2ZXJib3NlOiBvcHRpb25zLnZlcmJvc2UsXG4gICAgICAgICAgICAgIGNoZWNrQ29uZmlnOiBvcHRpb25zLmNoZWNrQ29uZmlnLFxuICAgICAgICAgICAgICBqc29uOiBvcHRpb25zLmpzb24sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICAvLyBOT1RFOiBgLXZgL2AtLXZlcnNpb25gIGlzIGhhbmRsZWQgYnkgY29tbWFuZGVyJ3Mgb3duIGAudmVyc2lvbiguLi4pYCBpblxuICAvLyBjbGkudHMgKHJlZ2lzdGVyZWQgZmlyc3QsIHNvIGl0IGV4aXRzIGJlZm9yZSBhbnkgY3VzdG9tIG9wdGlvbjp2ZXJzaW9uXG4gIC8vIGxpc3RlbmVyIHdvdWxkIHJ1bikg4oCUIGEgZHVwbGljYXRlIGxpc3RlbmVyIGhlcmUgd2FzIGRlYWQgY29kZS5cbn1cbiJdfQ==
217
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tYW5kcy92ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtDQUErQztBQUMvQyxzQ0FBc0M7QUFFdEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNwQyxPQUFPLElBQUksTUFBTSxZQUFZLENBQUM7QUFDOUIsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN4RixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDckUsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXhJLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUM7QUFpQjlEOzs7R0FHRztBQUNILFNBQVMsYUFBYTtJQUNwQixNQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbEMsTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFHLENBQUMsU0FBUyxHQUFHLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUQsTUFBTSxhQUFhLEdBQUcsQ0FB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Q0FBQyxHQUFHLENBQUMsNkRBQTZELENBQUMsQ0FBQyxDQUFDO1lBQ2xGLENBQUM7WUFFRCxTQUFTO1lBQ1QsWUFBWSxFQUFFLENBQUM7WUFDZixPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ25ELE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGdCQUFnQixJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzdELE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFbEIsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixXQUFXLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxPQUFPLEVBQUU7Z0JBQ3RDLEtBQUssRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSztnQkFDM0IsSUFBSSxFQUFFLElBQUk7Z0JBQ1YsT0FBTyxFQUFFO29CQUNQLE9BQU8sRUFBRSxTQUFTO29CQUNsQixPQUFPLEVBQUU7d0JBQ1AsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPO3dCQUN4QixXQUFXLEVBQUUsT0FBTyxDQUFDLFdBQVc7d0JBQ2hDLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSTtxQkFDbkI7aUJBQ0Y7YUFDRixDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCwwRUFBMEU7SUFDMUUseUVBQXlFO0lBQ3pFLGlFQUFpRTtBQUNuRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmltcG9ydCB7IGV4ZWNTeW5jIH0gZnJvbSAnY2hpbGRfcHJvY2Vzcyc7XG5pbXBvcnQgeyBlcnJvck1lc3NhZ2UgfSBmcm9tICdAcGlwZWxpbmUtYnVpbGRlci9hcGktY29yZSc7XG5pbXBvcnQgeyBDb21tYW5kIH0gZnJvbSAnY29tbWFuZGVyJztcbmltcG9ydCBwaWNvIGZyb20gJ3BpY29jb2xvcnMnO1xuaW1wb3J0IHsgQVBQX05BTUUsIEFQUF9WRVJTSU9OLCBnZW5lcmF0ZUV4ZWN1dGlvbklkIH0gZnJvbSAnLi4vY29uZmlnL2NsaS5jb25zdGFudHMuanMnO1xuaW1wb3J0IHsgZ2V0Q2RrSW5mbyB9IGZyb20gJy4uL3V0aWxzL2Nkay11dGlscy5qcyc7XG5pbXBvcnQgeyBnZXRDb25maWcgfSBmcm9tICcuLi91dGlscy9jb25maWctbG9hZGVyLmpzJztcbmltcG9ydCB7IEVSUk9SX0NPREVTLCBoYW5kbGVFcnJvciB9IGZyb20gJy4uL3V0aWxzL2Vycm9yLWhhbmRsZXIuanMnO1xuaW1wb3J0IHsgcHJpbnREaXZpZGVyLCBwcmludEVycm9yLCBwcmludEluZm8sIHByaW50S2V5VmFsdWUsIHByaW50U2VjdGlvbiwgcHJpbnRTdWNjZXNzLCBwcmludFdhcm5pbmcgfSBmcm9tICcuLi91dGlscy9vdXRwdXQtdXRpbHMuanMnO1xuXG5jb25zdCB7IGJvbGQsIGN5YW4sIGRpbSwgZ3JlZW4sIG1hZ2VudGEsIHJlZCwgeWVsbG93IH0gPSBwaWNvO1xuXG4vKipcbiAqIFJ1bnRpbWUgc3lzdGVtIGluZm9ybWF0aW9uIGNvbGxlY3RlZCBmb3IgdGhlIGB2ZXJzaW9uIC0tdmVyYm9zZWAgb3V0cHV0LlxuICovXG5pbnRlcmZhY2UgU3lzdGVtSW5mbyB7XG4gIG5vZGVqczogc3RyaW5nO1xuICBucG06IHN0cmluZyB8IG51bGw7XG4gIHBsYXRmb3JtOiBzdHJpbmc7XG4gIGFyY2hpdGVjdHVyZTogc3RyaW5nO1xuICBtZW1vcnk6IHtcbiAgICB0b3RhbDogc3RyaW5nO1xuICAgIGF2YWlsYWJsZUhlYXA6IHN0cmluZztcbiAgfTtcbiAgdXB0aW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ29sbGVjdHMgcnVudGltZSBzeXN0ZW0gaW5mb3JtYXRpb24gaW5jbHVkaW5nIE5vZGUuanMvbnBtIHZlcnNpb25zLFxuICogcGxhdGZvcm0sIGFyY2hpdGVjdHVyZSwgaGVhcCBtZW1vcnkgdXNhZ2UsIGFuZCBwcm9jZXNzIHVwdGltZS5cbiAqL1xuZnVuY3Rpb24gZ2V0U3lzdGVtSW5mbygpOiBTeXN0ZW1JbmZvIHtcbiAgY29uc3QgbWVtID0gcHJvY2Vzcy5tZW1vcnlVc2FnZSgpO1xuICBjb25zdCB0b3RhbE1lbSA9IChtZW0uaGVhcFRvdGFsIC8gMTAyNCAvIDEwMjQpLnRvRml4ZWQoMik7XG4gIGNvbnN0IGF2YWlsYWJsZUhlYXAgPSAoKG1lbS5oZWFwVG90YWwgLSBtZW0uaGVhcFVzZWQpIC8gMTAyNCAvIDEwMjQpLnRvRml4ZWQoMik7XG4gIGNvbnN0IHVwdGltZSA9IHByb2Nlc3MudXB0aW1lKCk7XG5cbiAgbGV0IG5wbTogc3RyaW5nIHwgbnVsbDtcbiAgdHJ5IHtcbiAgICBucG0gPSBleGVjU3luYygnbnBtIC0tdmVyc2lvbicsIHsgZW5jb2Rpbmc6ICd1dGYtOCcsIHN0ZGlvOiAncGlwZScgfSkudHJpbSgpO1xuICB9IGNhdGNoIHtcbiAgICBucG0gPSBudWxsO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBub2RlanM6IHByb2Nlc3MudmVyc2lvbixcbiAgICBucG0sXG4gICAgcGxhdGZvcm06IHByb2Nlc3MucGxhdGZvcm0sXG4gICAgYXJjaGl0ZWN0dXJlOiBwcm9jZXNzLmFyY2gsXG4gICAgbWVtb3J5OiB7IHRvdGFsOiBgJHt0b3RhbE1lbX0gTUJgLCBhdmFpbGFibGVIZWFwOiBgJHthdmFpbGFibGVIZWFwfSBNQmAgfSxcbiAgICB1cHRpbWU6IGAke01hdGguZmxvb3IodXB0aW1lIC8gMzYwMCl9aCAke01hdGguZmxvb3IoKHVwdGltZSAlIDM2MDApIC8gNjApfW0gJHtNYXRoLmZsb29yKHVwdGltZSAlIDYwKX1zYCxcbiAgfTtcbn1cblxuLyoqXG4gKiBBdHRlbXB0cyB0byBsb2FkIHRoZSBDTEkgY29uZmlndXJhdGlvbiBhbmQgcmVwb3J0cyB3aGV0aGVyIGl0IGlzIHZhbGlkLlxuICogQHJldHVybnMgQW4gb2JqZWN0IHdpdGggYHZhbGlkOiB0cnVlYCBvbiBzdWNjZXNzLCBvciBgdmFsaWQ6IGZhbHNlYCB3aXRoIGFuIGVycm9yIG1lc3NhZ2UuXG4gKi9cbmZ1bmN0aW9uIGNoZWNrQ29uZmlndXJhdGlvbigpOiB7IHZhbGlkOiBib29sZWFuOyBlcnJvcj86IHN0cmluZyB9IHtcbiAgdHJ5IHtcbiAgICBnZXRDb25maWcoKTtcbiAgICByZXR1cm4geyB2YWxpZDogdHJ1ZSB9O1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIHJldHVybiB7XG4gICAgICB2YWxpZDogZmFsc2UsXG4gICAgICBlcnJvcjogZXJyb3JNZXNzYWdlKGVycm9yKSxcbiAgICB9O1xuICB9XG59XG5cbi8qKlxuICogQ2hlY2tzIHdoaWNoIGtleSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgYXJlIGN1cnJlbnRseSBzZXQuXG4gKiBAcmV0dXJucyBQcmVzZW5jZSBmbGFncyBmb3IgYFBMQVRGT1JNX1RPS0VOYCwgYFBMQVRGT1JNX0JBU0VfVVJMYCwgYW5kIGBDTElfQ09ORklHX1BBVEhgLlxuICovXG5mdW5jdGlvbiBnZXRFbnZpcm9ubWVudFN0YXR1cygpOiB7XG4gIHRva2VuOiBib29sZWFuO1xuICB1cmw6IGJvb2xlYW47XG4gIGNvbmZpZ1BhdGg6IGJvb2xlYW47XG59IHtcbiAgcmV0dXJuIHtcbiAgICB0b2tlbjogISFwcm9jZXNzLmVudi5QTEFURk9STV9UT0tFTixcbiAgICB1cmw6ICEhcHJvY2Vzcy5lbnYuUExBVEZPUk1fQkFTRV9VUkwsXG4gICAgY29uZmlnUGF0aDogISFwcm9jZXNzLmVudi5DTElfQ09ORklHX1BBVEgsXG4gIH07XG59XG5cbi8qKlxuICogUmVnaXN0ZXJzIHRoZSBgdmVyc2lvbmAgY29tbWFuZCB3aXRoIHRoZSBDTEkgcHJvZ3JhbS5cbiAqXG4gKiBEaXNwbGF5cyB0aGUgQ0xJIG5hbWUvdmVyc2lvbiwgQVdTIENESyBzdGF0dXMsIGFuZCBvcHRpb25hbGx5XG4gKiBmdWxsIHN5c3RlbSBkaWFnbm9zdGljcyAoYC0tdmVyYm9zZWApIG9yIGNvbmZpZ3VyYXRpb24gdmFsaWRhdGlvblxuICogKGAtLWNoZWNrLWNvbmZpZ2ApLiAgU3VwcG9ydHMgYC0tanNvbmAgZm9yIG1hY2hpbmUtcmVhZGFibGUgb3V0cHV0LlxuICpcbiAqIEBwYXJhbSBwcm9ncmFtIC0gVGhlIHJvb3QgQ29tbWFuZGVyIHByb2dyYW0gaW5zdGFuY2UgdG8gYXR0YWNoIHRoZSBjb21tYW5kIHRvLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdmVyc2lvbihwcm9ncmFtOiBDb21tYW5kKTogdm9pZCB7XG4gIHByb2dyYW1cbiAgICAuY29tbWFuZCgndmVyc2lvbicpXG4gICAgLmRlc2NyaXB0aW9uKCdEaXNwbGF5IENMSSB2ZXJzaW9uIGFuZCBlbnZpcm9ubWVudCBpbmZvcm1hdGlvbicpXG4gICAgLm9wdGlvbignLS12ZXJib3NlJywgJ1Nob3cgZGV0YWlsZWQgZW52aXJvbm1lbnQgaW5mb3JtYXRpb24nLCBmYWxzZSlcbiAgICAub3B0aW9uKCctLWNoZWNrLWNvbmZpZycsICdWZXJpZnkgY29uZmlndXJhdGlvbiBzdGF0dXMnLCBmYWxzZSlcbiAgICAub3B0aW9uKCctLWpzb24nLCAnT3V0cHV0IGluIEpTT04gZm9ybWF0JywgZmFsc2UpXG4gICAgLmFjdGlvbigob3B0aW9ucykgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgZXhlY3V0aW9uSWQgPSBnZW5lcmF0ZUV4ZWN1dGlvbklkKCk7XG4gICAgICAgIGNvbnN0IGNka0luZm8gPSBnZXRDZGtJbmZvKCk7XG5cbiAgICAgICAgLy8gSlNPTiBvdXRwdXRcbiAgICAgICAgaWYgKG9wdGlvbnMuanNvbikge1xuICAgICAgICAgIGNvbnN0IHN5c3RlbUluZm8gPSBnZXRTeXN0ZW1JbmZvKCk7XG4gICAgICAgICAgY29uc3QgY29uZmlnU3RhdHVzID0gb3B0aW9ucy5jaGVja0NvbmZpZyA/IGNoZWNrQ29uZmlndXJhdGlvbigpIDogeyB2YWxpZDogdHJ1ZSB9O1xuICAgICAgICAgIGNvbnN0IGVudlN0YXR1cyA9IGdldEVudmlyb25tZW50U3RhdHVzKCk7XG5cbiAgICAgICAgICBjb25zb2xlLmxvZyhKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICBjbGk6IHsgbmFtZTogQVBQX05BTUUsIHZlcnNpb246IEFQUF9WRVJTSU9OIH0sXG4gICAgICAgICAgICBzeXN0ZW06IHN5c3RlbUluZm8sXG4gICAgICAgICAgICBjZGs6IHsgYXZhaWxhYmxlOiBjZGtJbmZvLmF2YWlsYWJsZSwgdmVyc2lvbjogY2RrSW5mby52ZXJzaW9uIH0sXG4gICAgICAgICAgICBjb25maWd1cmF0aW9uOiB7IHZhbGlkOiBjb25maWdTdGF0dXMudmFsaWQsIGVycm9yOiBjb25maWdTdGF0dXMuZXJyb3IgfSxcbiAgICAgICAgICAgIGVudmlyb25tZW50OiBlbnZTdGF0dXMsXG4gICAgICAgICAgICBleGVjdXRpb25JZCxcbiAgICAgICAgICAgIHRpbWVzdGFtcDogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLFxuICAgICAgICAgIH0sIG51bGwsIDIpKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTdGFuZGFyZCBvdXRwdXRcbiAgICAgICAgcHJpbnRTZWN0aW9uKCdWZXJzaW9uIEluZm9ybWF0aW9uJyk7XG4gICAgICAgIGNvbnNvbGUubG9nKGAke21hZ2VudGEoYFtFWEUtJHtleGVjdXRpb25JZH1dYCl9ICR7Y3lhbihib2xkKCdDTEkgVmVyc2lvbiBDaGVjaycpKX1gKTtcbiAgICAgICAgY29uc29sZS5sb2coJycpO1xuXG4gICAgICAgIHByaW50S2V5VmFsdWUoe1xuICAgICAgICAgICdDTEkgTmFtZSc6IGJvbGQoQVBQX05BTUUpLFxuICAgICAgICAgICdDTEkgVmVyc2lvbic6IGdyZWVuKGJvbGQoQVBQX1ZFUlNJT04pKSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcHJpbnREaXZpZGVyKCk7XG5cbiAgICAgICAgLy8gVmVyYm9zZTogc3lzdGVtIGVudmlyb25tZW50XG4gICAgICAgIGlmIChvcHRpb25zLnZlcmJvc2UpIHtcbiAgICAgICAgICBwcmludFNlY3Rpb24oJ1N5c3RlbSBFbnZpcm9ubWVudCcpO1xuICAgICAgICAgIGNvbnN0IHN5c3RlbUluZm8gPSBnZXRTeXN0ZW1JbmZvKCk7XG4gICAgICAgICAgcHJpbnRLZXlWYWx1ZSh7XG4gICAgICAgICAgICAnTm9kZS5qcyc6IHN5c3RlbUluZm8ubm9kZWpzLFxuICAgICAgICAgICAgJ25wbSc6IHN5c3RlbUluZm8ubnBtIHx8IHllbGxvdygnKG5vdCBhdmFpbGFibGUpJyksXG4gICAgICAgICAgICAnUGxhdGZvcm0nOiBzeXN0ZW1JbmZvLnBsYXRmb3JtLFxuICAgICAgICAgICAgJ0FyY2hpdGVjdHVyZSc6IHN5c3RlbUluZm8uYXJjaGl0ZWN0dXJlLFxuICAgICAgICAgICAgJ01lbW9yeSAoSGVhcCknOiBgJHtzeXN0ZW1JbmZvLm1lbW9yeS50b3RhbH0gdG90YWwsICR7c3lzdGVtSW5mby5tZW1vcnkuYXZhaWxhYmxlSGVhcH0gYXZhaWxhYmxlYCxcbiAgICAgICAgICAgICdQcm9jZXNzIFVwdGltZSc6IHN5c3RlbUluZm8udXB0aW1lLFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHByaW50RGl2aWRlcigpO1xuICAgICAgICAgIHByaW50U2VjdGlvbignQVdTIENESycpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ0RLIGluZm9ybWF0aW9uXG4gICAgICAgIGlmIChjZGtJbmZvLmF2YWlsYWJsZSAmJiBjZGtJbmZvLnZlcnNpb24pIHtcbiAgICAgICAgICBpZiAob3B0aW9ucy52ZXJib3NlKSBwcmludFN1Y2Nlc3MoJ0FXUyBDREsgaXMgaW5zdGFsbGVkJyk7XG4gICAgICAgICAgcHJpbnRLZXlWYWx1ZSh7XG4gICAgICAgICAgICAnQ0RLIFZlcnNpb24nOiBncmVlbihjZGtJbmZvLnZlcnNpb24pLFxuICAgICAgICAgICAgJ1N0YXR1cyc6IGdyZWVuKCfinJMgQXZhaWxhYmxlJyksXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaWYgKG9wdGlvbnMudmVyYm9zZSkge1xuICAgICAgICAgICAgcHJpbnRXYXJuaW5nKCdBV1MgQ0RLIGlzIG5vdCBpbnN0YWxsZWQnKTtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGRpbSgnICBJbnN0YWxsIENESyB3aXRoOiBucG0gaW5zdGFsbCAtZyBhd3MtY2RrJykpO1xuICAgICAgICAgICAgaWYgKGNka0luZm8uZXJyb3IpIGNvbnNvbGUubG9nKGRpbShgICBFcnJvcjogJHtjZGtJbmZvLmVycm9yfWApKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcHJpbnRLZXlWYWx1ZSh7XG4gICAgICAgICAgICAnQVdTIENESyc6IHJlZCgn4pyXIE5vdCBpbnN0YWxsZWQnKSxcbiAgICAgICAgICAgICdTdGF0dXMnOiByZWQoJ+KclyBOb3QgQXZhaWxhYmxlJyksXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIW9wdGlvbnMudmVyYm9zZSkge1xuICAgICAgICAgIGNvbnNvbGUubG9nKGRpbSgnXFxuICBSdW4gd2l0aCAtLXZlcmJvc2UgZm9yIGRldGFpbGVkIGVudmlyb25tZW50IGluZm9ybWF0aW9uJykpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ29uZmlndXJhdGlvbiBjaGVja1xuICAgICAgICBpZiAob3B0aW9ucy5jaGVja0NvbmZpZykge1xuICAgICAgICAgIHByaW50RGl2aWRlcigpO1xuICAgICAgICAgIHByaW50U2VjdGlvbignQ29uZmlndXJhdGlvbiBTdGF0dXMnKTtcblxuICAgICAgICAgIGNvbnN0IGNvbmZpZ1N0YXR1cyA9IGNoZWNrQ29uZmlndXJhdGlvbigpO1xuICAgICAgICAgIGNvbnN0IGVudlN0YXR1cyA9IGdldEVudmlyb25tZW50U3RhdHVzKCk7XG5cbiAgICAgICAgICBpZiAoY29uZmlnU3RhdHVzLnZhbGlkKSB7XG4gICAgICAgICAgICBwcmludFN1Y2Nlc3MoJ0NvbmZpZ3VyYXRpb24gaXMgdmFsaWQnKTtcblxuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgY29uc3QgY29uZmlnID0gZ2V0Q29uZmlnKCk7XG4gICAgICAgICAgICAgIHByaW50S2V5VmFsdWUoe1xuICAgICAgICAgICAgICAgICdBUEkgQmFzZSBVUkwnOiBjb25maWcuYXBpLmJhc2VVcmwsXG4gICAgICAgICAgICAgICAgJ1NTTCBWZXJpZmljYXRpb24nOiBjb25maWcuYXBpLnJlamVjdFVuYXV0aG9yaXplZCA/IGdyZWVuKCdFbmFibGVkJykgOiB5ZWxsb3coJ0Rpc2FibGVkJyksXG4gICAgICAgICAgICAgICAgJ1RpbWVvdXQnOiBgJHtjb25maWcuYXBpLnRpbWVvdXR9bXNgLFxuICAgICAgICAgICAgICAgICdBdXRoZW50aWNhdGVkJzogY29uZmlnLmF1dGgudG9rZW4gPyBncmVlbignWWVzJykgOiByZWQoJ05vJyksXG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgcHJpbnRXYXJuaW5nKCdDb3VsZCBub3QgbG9hZCBmdWxsIGNvbmZpZ3VyYXRpb24nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcHJpbnRFcnJvcignQ29uZmlndXJhdGlvbiBpcyBpbnZhbGlkJyk7XG4gICAgICAgICAgICBpZiAoY29uZmlnU3RhdHVzLmVycm9yKSB7XG4gICAgICAgICAgICAgIGNvbnNvbGUubG9nKHJlZChgICBFcnJvcjogJHtjb25maWdTdGF0dXMuZXJyb3J9YCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnNvbGUubG9nKCcnKTtcbiAgICAgICAgICBwcmludEluZm8oJ0Vudmlyb25tZW50IFZhcmlhYmxlcycpO1xuICAgICAgICAgIHByaW50S2V5VmFsdWUoe1xuICAgICAgICAgICAgUExBVEZPUk1fVE9LRU46IGVudlN0YXR1cy50b2tlbiA/IGdyZWVuKCfinJMgU2V0JykgOiByZWQoJ+KclyBOb3Qgc2V0JyksXG4gICAgICAgICAgICBQTEFURk9STV9CQVNFX1VSTDogZW52U3RhdHVzLnVybCA/IGdyZWVuKCfinJMgU2V0JykgOiBkaW0oJyhub3Qgc2V0IC0gdXNpbmcgZGVmYXVsdCknKSxcbiAgICAgICAgICAgIENMSV9DT05GSUdfUEFUSDogZW52U3RhdHVzLmNvbmZpZ1BhdGggPyBncmVlbign4pyTIFNldCcpIDogZGltKCcobm90IHNldCAtIHVzaW5nIGRlZmF1bHQpJyksXG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICBpZiAoIWVudlN0YXR1cy50b2tlbikge1xuICAgICAgICAgICAgY29uc29sZS5sb2coJycpO1xuICAgICAgICAgICAgcHJpbnRXYXJuaW5nKCdQTEFURk9STV9UT0tFTiBpcyByZXF1aXJlZCBmb3IgQVBJIG9wZXJhdGlvbnMnKTtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGRpbSgnICBTZXQgaXQgd2l0aDogZXhwb3J0IFBMQVRGT1JNX1RPS0VOPVwieW91ci10b2tlbi1oZXJlXCInKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnNvbGUubG9nKGRpbSgnXFxuICDwn5KhIFRpcDogUnVuIHdpdGggLS1jaGVjay1jb25maWcgdG8gdmVyaWZ5IGNvbmZpZ3VyYXRpb24nKSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGb290ZXJcbiAgICAgICAgcHJpbnREaXZpZGVyKCk7XG4gICAgICAgIGNvbnNvbGUubG9nKGRpbShgICBFeGVjdXRpb24gSUQ6ICR7ZXhlY3V0aW9uSWR9YCkpO1xuICAgICAgICBjb25zb2xlLmxvZyhkaW0oYCAgVGltZXN0YW1wOiAke25ldyBEYXRlKCkudG9JU09TdHJpbmcoKX1gKSk7XG4gICAgICAgIGNvbnNvbGUubG9nKCcnKTtcblxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaGFuZGxlRXJyb3IoZXJyb3IsIEVSUk9SX0NPREVTLkdFTkVSQUwsIHtcbiAgICAgICAgICBkZWJ1ZzogcHJvZ3JhbS5vcHRzKCkuZGVidWcsXG4gICAgICAgICAgZXhpdDogdHJ1ZSxcbiAgICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgICBjb21tYW5kOiAndmVyc2lvbicsXG4gICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgIHZlcmJvc2U6IG9wdGlvbnMudmVyYm9zZSxcbiAgICAgICAgICAgICAgY2hlY2tDb25maWc6IG9wdGlvbnMuY2hlY2tDb25maWcsXG4gICAgICAgICAgICAgIGpzb246IG9wdGlvbnMuanNvbixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gIC8vIE5PVEU6IGAtdmAvYC0tdmVyc2lvbmAgaXMgaGFuZGxlZCBieSBjb21tYW5kZXIncyBvd24gYC52ZXJzaW9uKC4uLilgIGluXG4gIC8vIGNsaS50cyAocmVnaXN0ZXJlZCBmaXJzdCwgc28gaXQgZXhpdHMgYmVmb3JlIGFueSBjdXN0b20gb3B0aW9uOnZlcnNpb25cbiAgLy8gbGlzdGVuZXIgd291bGQgcnVuKSDigJQgYSBkdXBsaWNhdGUgbGlzdGVuZXIgaGVyZSB3YXMgZGVhZCBjb2RlLlxufVxuIl19
@@ -1 +1 @@
1
- {"version":3,"file":"token-renew-handler.d.ts","sourceRoot":"","sources":["../../src/lambda/token-renew-handler.ts"],"names":[],"mappings":"AAgHA,eAAO,MAAM,OAAO,QAAa,OAAO,CAAC,IAAI,CA+E5C,CAAC"}
1
+ {"version":3,"file":"token-renew-handler.d.ts","sourceRoot":"","sources":["../../src/lambda/token-renew-handler.ts"],"names":[],"mappings":"AAkHA,eAAO,MAAM,OAAO,QAAa,OAAO,CAAC,IAAI,CA+E5C,CAAC"}
@@ -28,11 +28,12 @@
28
28
  * Revoke-then-create would invert every one of those: a failure after the revoke
29
29
  * leaves the deployment with no working credential at all.
30
30
  *
31
- * Env: PLATFORM_SECRET_NAME, PLATFORM_BASE_URL, RENEW_DAYS (default 30),
31
+ * Env: PLATFORM_SECRET_NAME, RENEW_DAYS (default 30),
32
32
  * PLATFORM_VERIFY_SSL ("false" to disable TLS verification — refused in
33
33
  * production).
34
34
  */
35
35
  import { SecretsManagerClient, GetSecretValueCommand, PutSecretValueCommand } from '@aws-sdk/client-secrets-manager';
36
+ import { errorMessage } from '@pipeline-builder/api-core';
36
37
  /** Per-request timeout for the platform calls. */
37
38
  const HTTP_TIMEOUT_MS = 10_000;
38
39
  /** Access-key prefixes platform issues. A stored JWT is not one of them. */
@@ -88,7 +89,6 @@ function applyTlsPolicy() {
88
89
  }
89
90
  export const handler = async () => {
90
91
  const secretName = required('PLATFORM_SECRET_NAME');
91
- const envUrl = required('PLATFORM_BASE_URL').replace(/\/+$/, '');
92
92
  const days = Number(process.env.RENEW_DAYS || '30');
93
93
  if (!Number.isFinite(days) || days < 1 || days > 365) {
94
94
  throw new Error(`RENEW_DAYS must be between 1 and 365 (got "${process.env.RENEW_DAYS}")`);
@@ -107,9 +107,11 @@ export const handler = async () => {
107
107
  throw new Error(`Secret "${secretName}" does not hold an opaque service-account key. `
108
108
  + 'Re-run "pipeline-manager infra store-token" to reissue it as a key (see docs/runbooks/access-key-cutover.md).');
109
109
  }
110
- // The platform this credential belongs to is recorded IN the secret; the env
111
- // var is the fallback for a secret written before that field existed.
112
- const platformUrl = (stored.platformUrl || envUrl).replace(/\/+$/, '');
110
+ // The platform this credential belongs to is recorded IN the secret by
111
+ // `store-token` — the single source of truth.
112
+ if (!stored.platformUrl)
113
+ throw new Error(`Secret "${secretName}" missing platformUrl`);
114
+ const platformUrl = stored.platformUrl.replace(/\/+$/, '');
113
115
  // ── 1. ROTATE — mint the replacement. The old key stays live. ──────────────
114
116
  const rotate = await post(platformUrl, '/api/auth/key/rotate', {
115
117
  key: oldKey,
@@ -150,7 +152,7 @@ export const handler = async () => {
150
152
  return;
151
153
  }
152
154
  const revoke = await post(platformUrl, '/api/auth/key/revoke', { key: newKey, keyId: oldKeyId })
153
- .catch((err) => ({ status: 0, body: { message: err instanceof Error ? err.message : String(err) } }));
155
+ .catch((err) => ({ status: 0, body: { message: errorMessage(err) } }));
154
156
  if (revoke.status < 200 || revoke.status >= 300) {
155
157
  log('ERROR', 'Rotated and stored the new key, but could NOT revoke its predecessor — it stays valid until it expires', {
156
158
  secretName, staleKeyId: oldKeyId, status: revoke.status, reason: revoke.body.message,
@@ -159,4 +161,4 @@ export const handler = async () => {
159
161
  }
160
162
  log('INFO', 'Rotation complete', { secretName, keyId: newKeyId, revokedKeyId: oldKeyId });
161
163
  };
162
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4tcmVuZXctaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sYW1iZGEvdG9rZW4tcmVuZXctaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDO0FBRXRDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBK0JHO0FBQ0gsT0FBTyxFQUFFLG9CQUFvQixFQUFFLHFCQUFxQixFQUFFLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFckgsa0RBQWtEO0FBQ2xELE1BQU0sZUFBZSxHQUFHLE1BQU0sQ0FBQztBQUUvQiw0RUFBNEU7QUFDNUUsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQztBQUVsRCxTQUFTLFFBQVEsQ0FBQyxJQUFZO0lBQzVCLE1BQU0sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUIsSUFBSSxDQUFDLENBQUM7UUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLEdBQUcsSUFBSSxtQ0FBbUMsQ0FBQyxDQUFDO0lBQ3BFLE9BQU8sQ0FBQyxDQUFDO0FBQ1gsQ0FBQztBQUVELFNBQVMsR0FBRyxDQUFDLEtBQWdDLEVBQUUsR0FBVyxFQUFFLElBQThCO0lBQ3hGLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNyRCxzQ0FBc0M7SUFDdEMsSUFBSSxLQUFLLEtBQUssT0FBTztRQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7O1FBQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNyRSxDQUFDO0FBb0JELDRFQUE0RTtBQUM1RSxLQUFLLFVBQVUsSUFBSSxDQUNqQixPQUFlLEVBQ2YsS0FBYSxFQUNiLElB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RUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0FBQzVGLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAyMDI2IFBpcGVsaW5lIEJ1aWxkZXIgQ29udHJpYnV0b3JzXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG4vKipcbiAqIFNjaGVkdWxlZCBLRVkgUk9UQVRPUiBmb3IgdGhlIHNlcnZpY2UtYWNjb3VudCBjcmVkZW50aWFsIGluIFNlY3JldHMgTWFuYWdlclxuICogKCNOMikuIERlcGxveWVkICsgc2NoZWR1bGVkIChvbmNlIGEgZGF5KSBieSBgcGlwZWxpbmUtbWFuYWdlciBpbmZyYSBzdG9yZS10b2tlblxuICogLS1zY2hlZHVsZWAuXG4gKlxuICogSXQgdXNlZCB0byByZS1taW50IGEgcGVyc29uJ3MgbWFjaGluZS1zZXNzaW9uIEpXVCBieSBucG0taW5zdGFsbGluZyB0aGUgQ0xJIGF0XG4gKiBydW50aW1lIGFuZCBzaGVsbGluZyBvdXQgdG8gYHN0b3JlLXRva2VuYC4gVGhlcmUgaXMgbm90aGluZyBsZWZ0IHRvIHJlLW1pbnQ6XG4gKiB0aGUgc3RvcmVkIGNyZWRlbnRpYWwgaXMgYW4gb3BhcXVlIGBwYl9zYV/igKZgIGtleSwgYW5kIHBsYXRmb3JtIHJvdGF0ZXMgaXRcbiAqIHRocm91Z2ggdHdvIHNtYWxsIHByZS1hdXRoIGVuZHBvaW50cyB3aGVyZSB0aGUgS0VZIElUU0VMRiBpcyB0aGUgYXV0aG9yaXphdGlvblxuICogKGFuIHVuYXR0ZW5kZWQgbWFjaGluZSBoYXMgbm8gcGFzc3dvcmQgYW5kIGNhbm5vdCBzdGVwIHVwKS4gU28gdGhpcyBoYW5kbGVyIGlzXG4gKiB0aHJlZSBIVFRQIGNhbGxzIGFuZCBhIHNlY3JldCB3cml0ZSwgd2l0aCBubyBucG0gaW5zdGFsbCwgbm8gQ0xJLCBubyBgL3RtcGAuXG4gKlxuICogVEhFIE9SREVSIElTIFRIRSBXSE9MRSBERVNJR04uIEF0IG5vIHBvaW50IG1heSB0aGUgc2VjcmV0IG5hbWUgYSBjcmVkZW50aWFsXG4gKiB0aGF0IGRvZXMgbm90IHdvcms6XG4gKlxuICogICAxLiBST1RBVEUg4oCUIG1pbnQgYSBzaWJsaW5nIGtleSBvbiB0aGUgc2FtZSBhY2NvdW50LiBUaGUgY3VycmVudCBrZXkgc3RheXNcbiAqICAgICAgTElWRS4gRmFpbCBoZXJlIGFuZCB0aGUgc2VjcmV0IGlzIHVudG91Y2hlZDogdGhlIG9sZCBrZXkgc3RpbGwgd29ya3MuXG4gKiAgIDIuIFNUT1JFICDigJQgd3JpdGUgdGhlIG5ldyBrZXkgdG8gdGhlIHNlY3JldC4gRmFpbCBoZXJlIGFuZCB0aGUgc2VjcmV0IHN0aWxsXG4gKiAgICAgIGhvbGRzIHRoZSBvbGQga2V5LCB3aGljaCBpcyBzdGlsbCBsaXZlOyB0aGUgbmV3IGtleSBpcyBhbiBvcnBoYW4gdGhhdFxuICogICAgICBleHBpcmVzIG9uIGl0cyBvd24gKGFuZCB0aGUgbmV4dCBydW4ncyByb3RhdGUgcHJ1bmVzIGl0IGF0IHRoZSBjYXApLlxuICogICAzLiBSRVZPS0Ug4oCUIHJldGlyZSB0aGUgb2xkIGtleSwgYXV0aGVudGljYXRlZCB3aXRoIHRoZSBORVcgb25lLiBGYWlsIGhlcmVcbiAqICAgICAgYW5kIEJPVEgga2V5cyB3b3JrOyB0aGUgY3JlZGVudGlhbCBpcyBoZWFsdGh5IGFuZCB0aGUgc3RhbGUga2V5IGV4cGlyZXNcbiAqICAgICAgb24gaXRzIG93bi4gTG9nZ2VkIGF0IEVSUk9SIHNvIGl0IGlzIHZpc2libGUsIGJ1dCBpdCBkb2VzIG5vdCBmYWlsIHRoZVxuICogICAgICBpbnZvY2F0aW9uOiBhIHJldHJ5IHdvdWxkIHJvdGF0ZSBhZ2FpbiBhbmQgY2h1cm4ga2V5cyBmb3Igbm8gZ2Fpbi5cbiAqXG4gKiBSZXZva2UtdGhlbi1jcmVhdGUgd291bGQgaW52ZXJ0IGV2ZXJ5IG9uZSBvZiB0aG9zZTogYSBmYWlsdXJlIGFmdGVyIHRoZSByZXZva2VcbiAqIGxlYXZlcyB0aGUgZGVwbG95bWVudCB3aXRoIG5vIHdvcmtpbmcgY3JlZGVudGlhbCBhdCBhbGwuXG4gKlxuICogRW52OiBQTEFURk9STV9TRUNSRVRfTkFNRSwgUExBVEZPUk1fQkFTRV9VUkwsIFJFTkVXX0RBWVMgKGRlZmF1bHQgMzApLFxuICogICAgICBQTEFURk9STV9WRVJJRllfU1NMIChcImZhbHNlXCIgdG8gZGlzYWJsZSBUTFMgdmVyaWZpY2F0aW9uIOKAlCByZWZ1c2VkIGluXG4gKiAgICAgIHByb2R1Y3Rpb24pLlxuICovXG5pbXBvcnQgeyBTZWNyZXRzTWFuYWdlckNsaWVudCwgR2V0U2VjcmV0VmFsdWVDb21tYW5kLCBQdXRTZWNyZXRWYWx1ZUNvbW1hbmQgfSBmcm9tICdAYXdzLXNkay9jbGllbnQtc2VjcmV0cy1tYW5hZ2VyJztcblxuLyoqIFBlci1yZXF1ZXN0IHRpbWVvdXQgZm9yIHRoZSBwbGF0Zm9ybSBjYWxscy4gKi9cbmNvbnN0IEhUVFBfVElNRU9VVF9NUyA9IDEwXzAwMDtcblxuLyoqIEFjY2Vzcy1rZXkgcHJlZml4ZXMgcGxhdGZvcm0gaXNzdWVzLiBBIHN0b3JlZCBKV1QgaXMgbm90IG9uZSBvZiB0aGVtLiAqL1xuY29uc3QgQUNDRVNTX0tFWV9QUkVGSVhFUyA9IFsncGJfc2FfJywgJ3BiX3BhdF8nXTtcblxuZnVuY3Rpb24gcmVxdWlyZWQobmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgdiA9IHByb2Nlc3MuZW52W25hbWVdO1xuICBpZiAoIXYpIHRocm93IG5ldyBFcnJvcihgJHtuYW1lfSBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyByZXF1aXJlZGApO1xuICByZXR1cm4gdjtcbn1cblxuZnVuY3Rpb24gbG9nKGxldmVsOiAnSU5GTycgfCAnV0FSTicgfCAnRVJST1InLCBtc2c6IHN0cmluZywgZGF0YT86IFJlY29yZDxzdHJpbmcsIHVua25vd24+KTogdm9pZCB7XG4gIGNvbnN0IGxpbmUgPSBKU09OLnN0cmluZ2lmeSh7IGxldmVsLCBtc2csIC4uLmRhdGEgfSk7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gIGlmIChsZXZlbCA9PT0gJ0VSUk9SJykgY29uc29sZS5lcnJvcihsaW5lKTsgZWxzZSBjb25zb2xlLmxvZyhsaW5lKTtcbn1cblxuLyoqIFRoZSBzdG9yZWQgc2VjcmV0LCBhcyBgc3RvcmUtdG9rZW5gIHdyaXRlcyBpdC4gKi9cbmludGVyZmFjZSBTdG9yZWRDcmVkZW50aWFsIHtcbiAgdXNlcm5hbWU/OiBzdHJpbmc7XG4gIC8qKiBUaGUgY2Fub25pY2FsIGNyZWRlbnRpYWwgZmllbGQg4oCUIGFuIG9wYXF1ZSBgcGJfc2Ff4oCmYCBrZXkgYWZ0ZXIgdGhlIGN1dG92ZXIuICovXG4gIHBhc3N3b3JkPzogc3RyaW5nO1xuICBwbGF0Zm9ybVVybD86IHN0cmluZztcbiAgb3JnYW5pemF0aW9uSWQ/OiBzdHJpbmc7XG4gIHNlcnZpY2VBY2NvdW50SWQ/OiBzdHJpbmc7XG4gIHNlcnZpY2VBY2NvdW50TmFtZT86IHN0cmluZztcbiAgLyoqIFJlY29yZCBpZCBvZiB0aGUga2V5IGluIGBwYXNzd29yZGA7IHdoYXQgc3RlcCAzIHJldGlyZXMuICovXG4gIGtleUlkPzogc3RyaW5nO1xuICBzY29wZT86IHN0cmluZyB8IG51bGw7XG4gIGV4cGlyZXNJbj86IG51bWJlcjtcbiAgZXhwaXJlc0F0Pzogc3RyaW5nO1xuICBjcmVhdGVkQXQ/OiBzdHJpbmc7XG4gIFtrZXk6IHN0cmluZ106IHVua25vd247XG59XG5cbi8qKiBQT1NUIEpTT04gdG8gdGhlIHBsYXRmb3JtLCByZXR1cm5pbmcgdGhlIHBhcnNlZCBib2R5IHBsdXMgdGhlIHN0YXR1cy4gKi9cbmFzeW5jIGZ1bmN0aW9uIHBvc3QoXG4gIGJhc2VVcmw6IHN0cmluZyxcbiAgcm91dGU6IHN0cmluZyxcbiAgYm9keTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4pOiBQcm9taXNlPHsgc3RhdHVzOiBudW1iZXI7IGJvZHk6IHsgZGF0YT86IFJlY29yZDxzdHJpbmcsIHVua25vd24+OyBtZXNzYWdlPzogc3RyaW5nIH0gfT4ge1xuICBjb25zdCBjb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICBjb25zdCB0aW1lciA9IHNldFRpbWVvdXQoKCkgPT4gY29udHJvbGxlci5hYm9ydCgpLCBIVFRQX1RJTUVPVVRfTVMpO1xuICB0cnkge1xuICAgIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKGAke2Jhc2VVcmx9JHtyb3V0ZX1gLCB7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIGhlYWRlcnM6IHsgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJywgJ0FjY2VwdCc6ICdhcHBsaWNhdGlvbi9qc29uJyB9LFxuICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoYm9keSksXG4gICAgICBzaWduYWw6IGNvbnRyb2xsZXIuc2lnbmFsLFxuICAgIH0pO1xuICAgIGNvbnN0IHBhcnNlZCA9IGF3YWl0IHJlcy5qc29uKCkuY2F0Y2goKCkgPT4gKHt9KSkgYXMgeyBkYXRhPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47IG1lc3NhZ2U/OiBzdHJpbmcgfTtcbiAgICByZXR1cm4geyBzdGF0dXM6IHJlcy5zdGF0dXMsIGJvZHk6IHBhcnNlZCB9O1xuICB9IGZpbmFsbHkge1xuICAgIGNsZWFyVGltZW91dCh0aW1lcik7XG4gIH1cbn1cblxuLyoqXG4gKiBTRUNVUklUWTogdGhlc2UgY2FsbHMgY2FycnkgYSBsaXZlIGNyZWRlbnRpYWwuIFJlZnVzZSB0byBkaXNhYmxlIFRMU1xuICogdmVyaWZpY2F0aW9uIGluIHByb2R1Y3Rpb24gc28gYSBNSVRNIGNhbid0IGhhcnZlc3QgaXQuIFByb2R1Y3Rpb24gaXMgdGhpc1xuICogTGFtYmRhJ3Mgbm9ybWFsIG1vZGUgKHRoZSByb3RhdGlvbiBzdGFjayBzZXRzIE5PREVfRU5WPXByb2R1Y3Rpb24pLCBzb1xuICogUExBVEZPUk1fVkVSSUZZX1NTTD1mYWxzZSBpcyBob25vcmVkIE9OTFkgb3V0c2lkZSBwcm9kdWN0aW9uLiBUaGlzIGlubGluZXMgdGhlXG4gKiBzYW1lIGBOT0RFX0VOVj09PSdwcm9kdWN0aW9uJ2AgcG9saWN5IGFzIHV0aWxzL3Rscy50cyNhc3NlcnRTc2xEaXNhYmxlQWxsb3dlZFxuICogKHRoZSBoYW5kbGVyIHNoaXBzIGFzIGEgc2luZ2xlIHNlbGYtY29udGFpbmVkIGluZGV4Lm1qcyBhbmQgY2FuJ3QgaW1wb3J0IGl0KS5cbiAqL1xuZnVuY3Rpb24gYXBwbHlUbHNQb2xpY3koKTogdm9pZCB7XG4gIGlmIChwcm9jZXNzLmVudi5QTEFURk9STV9WRVJJRllfU1NMICE9PSAnZmFsc2UnKSByZXR1cm47XG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgbG9nKCdXQVJOJywgJ1JlZnVzaW5nIFBMQVRGT1JNX1ZFUklGWV9TU0w9ZmFsc2UgaW4gcHJvZHVjdGlvbiAoTk9ERV9FTlY9cHJvZHVjdGlvbikg4oCUIFRMUyB2ZXJpZmljYXRpb24gc3RheXMgZW5hYmxlZCcpO1xuICAgIHJldHVybjtcbiAgfVxuICBwcm9jZXNzLmVudi5OT0RFX1RMU19SRUpFQ1RfVU5BVVRIT1JJWkVEID0gJzAnO1xufVxuXG5leHBvcnQgY29uc3QgaGFuZGxlciA9IGFzeW5jICgpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgY29uc3Qgc2VjcmV0TmFtZSA9IHJlcXVpcmVkKCdQTEFURk9STV9TRUNSRVRfTkFNRScpO1xuICBjb25zdCBlbnZVcmwgPSByZXF1aXJlZCgnUExBVEZPUk1fQkFTRV9VUkwnKS5yZXBsYWNlKC9cXC8rJC8sICcnKTtcbiAgY29uc3QgZGF5cyA9IE51bWJlcihwcm9jZXNzLmVudi5SRU5FV19EQVlTIHx8ICczMCcpO1xuICBpZiAoIU51bWJlci5pc0Zpbml0ZShkYXlzKSB8fCBkYXlzIDwgMSB8fCBkYXlzID4gMzY1KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBSRU5FV19EQVlTIG11c3QgYmUgYmV0d2VlbiAxIGFuZCAzNjUgKGdvdCBcIiR7cHJvY2Vzcy5lbnYuUkVORVdfREFZU31cIilgKTtcbiAgfVxuICBjb25zdCByZWdpb24gPSBwcm9jZXNzLmVudi5BV1NfUkVHSU9OIHx8ICd1cy1lYXN0LTEnO1xuXG4gIGFwcGx5VGxzUG9saWN5KCk7XG5cbiAgY29uc3Qgc20gPSBuZXcgU2VjcmV0c01hbmFnZXJDbGllbnQoeyByZWdpb24gfSk7XG4gIGNvbnN0IGN1cnJlbnQgPSBhd2FpdCBzbS5zZW5kKG5ldyBHZXRTZWNyZXRWYWx1ZUNvbW1hbmQoeyBTZWNyZXRJZDogc2VjcmV0TmFtZSB9KSk7XG4gIGlmICghY3VycmVudC5TZWNyZXRTdHJpbmcpIHRocm93IG5ldyBFcnJvcihgU2VjcmV0IFwiJHtzZWNyZXROYW1lfVwiIGlzIGVtcHR5YCk7XG4gIGNvbnN0IHN0b3JlZCA9IEpTT04ucGFyc2UoY3VycmVudC5TZWNyZXRTdHJpbmcpIGFzIFN0b3JlZENyZWRlbnRpYWw7XG5cbiAgY29uc3Qgb2xkS2V5ID0gc3RvcmVkLnBhc3N3b3JkO1xuICBpZiAoIW9sZEtleSkgdGhyb3cgbmV3IEVycm9yKGBTZWNyZXQgXCIke3NlY3JldE5hbWV9XCIgbWlzc2luZyBwYXNzd29yZCAoc2VydmljZS1hY2NvdW50IGtleSlgKTtcbiAgaWYgKCFBQ0NFU1NfS0VZX1BSRUZJWEVTLnNvbWUoKHApID0+IG9sZEtleS5zdGFydHNXaXRoKHApKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGBTZWNyZXQgXCIke3NlY3JldE5hbWV9XCIgZG9lcyBub3QgaG9sZCBhbiBvcGFxdWUgc2VydmljZS1hY2NvdW50IGtleS4gYFxuICAgICAgKyAnUmUtcnVuIFwicGlwZWxpbmUtbWFuYWdlciBpbmZyYSBzdG9yZS10b2tlblwiIHRvIHJlaXNzdWUgaXQgYXMgYSBrZXkgKHNlZSBkb2NzL3J1bmJvb2tzL2FjY2Vzcy1rZXktY3V0b3Zlci5tZCkuJyxcbiAgICApO1xuICB9XG4gIC8vIFRoZSBwbGF0Zm9ybSB0aGlzIGNyZWRlbnRpYWwgYmVsb25ncyB0byBpcyByZWNvcmRlZCBJTiB0aGUgc2VjcmV0OyB0aGUgZW52XG4gIC8vIHZhciBpcyB0aGUgZmFsbGJhY2sgZm9yIGEgc2VjcmV0IHdyaXR0ZW4gYmVmb3JlIHRoYXQgZmllbGQgZXhpc3RlZC5cbiAgY29uc3QgcGxhdGZvcm1VcmwgPSAoc3RvcmVkLnBsYXRmb3JtVXJsIHx8IGVudlVybCkucmVwbGFjZSgvXFwvKyQvLCAnJyk7XG5cbiAgLy8g4pSA4pSAIDEuIFJPVEFURSDigJQgbWludCB0aGUgcmVwbGFjZW1lbnQuIFRoZSBvbGQga2V5IHN0YXlzIGxpdmUuIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICBjb25zdCByb3RhdGUgPSBhd2FpdCBwb3N0KHBsYXRmb3JtVXJsLCAnL2FwaS9hdXRoL2tleS9yb3RhdGUnLCB7XG4gICAga2V5OiBvbGRLZXksXG4gICAgbmFtZTogYCR7c3RvcmVkLnNlcnZpY2VBY2NvdW50TmFtZSB8fCAncm90YXRlZCd9LSR7bmV3IERhdGUoKS50b0lTT1N0cmluZygpLnNsaWNlKDAsIDEwKX1gLFxuICAgIGV4cGlyZXNJbjogZGF5cyAqIDI0ICogNjAgKiA2MCxcbiAgfSk7XG4gIGlmIChyb3RhdGUuc3RhdHVzIDwgMjAwIHx8IHJvdGF0ZS5zdGF0dXMgPj0gMzAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYEtleSByb3RhdGlvbiByZWZ1c2VkICgke3JvdGF0ZS5zdGF0dXN9KTogJHtyb3RhdGUuYm9keS5tZXNzYWdlIHx8ICd1bmtub3duIHJlYXNvbid9LiBgXG4gICAgICArICdUaGUgc3RvcmVkIGtleSBpcyB1bmNoYW5nZWQgYW5kIHN0aWxsIGxpdmUuJyxcbiAgICApO1xuICB9XG4gIGNvbnN0IG5ld0tleSA9IHJvdGF0ZS5ib2R5LmRhdGE/LmtleSBhcyBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIGNvbnN0IG5ld0tleUlkID0gcm90YXRlLmJvZHkuZGF0YT8ua2V5SWQgYXMgc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBpZiAoIW5ld0tleSB8fCAhbmV3S2V5SWQpIHRocm93IG5ldyBFcnJvcignS2V5IHJvdGF0aW9uIHJldHVybmVkIG5vIHJlcGxhY2VtZW50IGtleSDigJQgdGhlIHN0b3JlZCBrZXkgaXMgdW5jaGFuZ2VkJyk7XG4gIGNvbnN0IHBydW5lZCA9IChyb3RhdGUuYm9keS5kYXRhPy5wcnVuZWRLZXlJZHMgYXMgc3RyaW5nW10gfCB1bmRlZmluZWQpID8/IFtdO1xuICBpZiAocHJ1bmVkLmxlbmd0aCA+IDApIHtcbiAgICBsb2coJ1dBUk4nLCAnUGxhdGZvcm0gcmV0aXJlZCBzdGFsZSBzaWJsaW5nIGtleXMgdG8gc3RheSB1bmRlciB0aGUgYWN0aXZlLWtleSBjYXAnLCB7IHNlY3JldE5hbWUsIHBydW5lZEtleUlkczogcHJ1bmVkIH0pO1xuICB9XG4gIGxvZygnSU5GTycsICdNaW50ZWQgdGhlIHJlcGxhY2VtZW50IGtleScsIHsgc2VjcmV0TmFtZSwga2V5SWQ6IG5ld0tleUlkIH0pO1xuXG4gIC8vIOKUgOKUgCAyLiBTVE9SRSDigJQgdGhlIHNlY3JldCBub3cgbmFtZXMgYSBsaXZlIGNyZWRlbnRpYWwuIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICBjb25zdCBuZXh0OiBTdG9yZWRDcmVkZW50aWFsID0ge1xuICAgIC4uLnN0b3JlZCxcbiAgICBwYXNzd29yZDogbmV3S2V5LFxuICAgIGtleUlkOiBuZXdLZXlJZCxcbiAgICBwbGF0Zm9ybVVybCxcbiAgICBleHBpcmVzSW46IGRheXMgKiAyNCAqIDYwICogNjAsXG4gICAgLi4uKHJvdGF0ZS5ib2R5LmRhdGE/LmV4cGlyZXNBdCA/IHsgZXhwaXJlc0F0OiByb3RhdGUuYm9keS5kYXRhLmV4cGlyZXNBdCBhcyBzdHJpbmcgfSA6IHt9KSxcbiAgICBjcmVhdGVkQXQ6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxcbiAgfTtcbiAgYXdhaXQgc20uc2VuZChuZXcgUHV0U2VjcmV0VmFsdWVDb21tYW5kKHsgU2VjcmV0SWQ6IHNlY3JldE5hbWUsIFNlY3JldFN0cmluZzogSlNPTi5zdHJpbmdpZnkobmV4dCkgfSkpO1xuICBsb2coJ0lORk8nLCAnU3RvcmVkIHRoZSByb3RhdGVkIGtleScsIHsgc2VjcmV0TmFtZSwga2V5SWQ6IG5ld0tleUlkIH0pO1xuXG4gIC8vIOKUgOKUgCAzLiBSRVZPS0Ug4oCUIHJldGlyZSB0aGUgcHJlZGVjZXNzb3IsIHVzaW5nIHRoZSBrZXkgdGhhdCByZXBsYWNlZCBpdC4g4pSA4pSA4pSA4pSAXG4gIC8vIEJlc3QtZWZmb3J0IGJ5IGRlc2lnbjogdGhlIGNyZWRlbnRpYWwgaXMgYWxyZWFkeSBoZWFsdGh5LCBhbmQgZmFpbGluZyB0aGVcbiAgLy8gaW52b2NhdGlvbiBoZXJlIHdvdWxkIG9ubHkgbWFrZSB0aGUgbmV4dCByZXRyeSByb3RhdGUgYWdhaW4uXG4gIGNvbnN0IG9sZEtleUlkID0gc3RvcmVkLmtleUlkO1xuICBpZiAoIW9sZEtleUlkKSB7XG4gICAgbG9nKCdXQVJOJywgJ1NlY3JldCByZWNvcmRlZCBubyBwcmV2aW91cyBrZXlJZCDigJQgbm90aGluZyB0byByZXZva2UgKGl0IGV4cGlyZXMgb24gaXRzIG93biknLCB7IHNlY3JldE5hbWUgfSk7XG4gICAgcmV0dXJuO1xuICB9XG4gIGNvbnN0IHJldm9rZSA9IGF3YWl0IHBvc3QocGxhdGZvcm1VcmwsICcvYXBpL2F1dGgva2V5L3Jldm9rZScsIHsga2V5OiBuZXdLZXksIGtleUlkOiBvbGRLZXlJZCB9KVxuICAgIC5jYXRjaCgoZXJyKSA9PiAoeyBzdGF0dXM6IDAsIGJvZHk6IHsgbWVzc2FnZTogZXJyIGluc3RhbmNlb2YgRXJyb3IgPyBlcnIubWVzc2FnZSA6IFN0cmluZyhlcnIpIH0gfSkpO1xuICBpZiAocmV2b2tlLnN0YXR1cyA8IDIwMCB8fCByZXZva2Uuc3RhdHVzID49IDMwMCkge1xuICAgIGxvZygnRVJST1InLCAnUm90YXRlZCBhbmQgc3RvcmVkIHRoZSBuZXcga2V5LCBidXQgY291bGQgTk9UIHJldm9rZSBpdHMgcHJlZGVjZXNzb3Ig4oCUIGl0IHN0YXlzIHZhbGlkIHVudGlsIGl0IGV4cGlyZXMnLCB7XG4gICAgICBzZWNyZXROYW1lLCBzdGFsZUtleUlkOiBvbGRLZXlJZCwgc3RhdHVzOiByZXZva2Uuc3RhdHVzLCByZWFzb246IHJldm9rZS5ib2R5Lm1lc3NhZ2UsXG4gICAgfSk7XG4gICAgcmV0dXJuO1xuICB9XG4gIGxvZygnSU5GTycsICdSb3RhdGlvbiBjb21wbGV0ZScsIHsgc2VjcmV0TmFtZSwga2V5SWQ6IG5ld0tleUlkLCByZXZva2VkS2V5SWQ6IG9sZEtleUlkIH0pO1xufTtcbiJdfQ==
164
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4tcmVuZXctaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sYW1iZGEvdG9rZW4tcmVuZXctaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDO0FBRXRDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBK0JHO0FBQ0gsT0FBTyxFQUFFLG9CQUFvQixFQUFFLHFCQUFxQixFQUFFLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDckgsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRTFELGtEQUFrRDtBQUNsRCxNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUM7QUFFL0IsNEVBQTRFO0FBQzVFLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUM7QUFFbEQsU0FBUyxRQUFRLENBQUMsSUFBWTtJQUM1QixNQUFNLENBQUMsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVCLElBQUksQ0FBQyxDQUFDO1FBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLElBQUksbUNBQW1DLENBQUMsQ0FBQztJQUNwRSxPQUFPLENBQUMsQ0FBQztBQUNYLENBQUM7QUFFRCxTQUFTLEdBQUcsQ0FBQyxLQUFnQyxFQUFFLEdBQVcsRUFBRSxJQUE4QjtJQUN4RixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDLENBQUM7SUFDckQsc0NBQXNDO0lBQ3RDLElBQUksS0FBSyxLQUFLLE9BQU87UUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDOztRQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDckUsQ0FBQztBQXFCRCw0RUFBNEU7QUFDNUUsS0FBSyxVQUFVLElBQUksQ0FDakIsT0FBZSxFQUNmLEtBQWEsRUFDYixJQUE2QjtJQUU3QixNQUFNLFVBQVUsR0FBRyxJQUFJLGVBQWUsRUFBRSxDQUFDO0lBQ3pDLE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDcEUsSUFBSSxDQUFDO1FBQ0gsTUFBTSxHQUFHLEdBQUcsTUFBTSxLQUFLLENBQUMsR0FBRyxPQUFPLEdBQUcsS0FBSyxFQUFFLEVBQUU7WUFDNUMsTUFBTSxFQUFFLE1BQU07WUFDZCxPQUFPLEVBQUUsRUFBRSxjQUFjLEVBQUUsa0JBQWtCLEVBQUUsUUFBUSxFQUFFLGtCQUFrQixFQUFFO1lBQzdFLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztZQUMxQixNQUFNLEVBQUUsVUFBVSxDQUFDLE1BQU07U0FDMUIsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxNQUFNLEdBQUcsTUFBTSxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQXlELENBQUM7UUFDMUcsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUM5QyxDQUFDO1lBQVMsQ0FBQztRQUNULFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0QixDQUFDO0FBQ0gsQ0FBQztBQUVEOzs7Ozs7O0dBT0c7QUFDSCxTQUFTLGNBQWM7SUFDckIsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLG1CQUFtQixLQUFLLE9BQU87UUFBRSxPQUFPO0lBQ3hELElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEtBQUssWUFBWSxFQUFFLENBQUM7UUFDMUMsR0FBRyxDQUFDLE1BQU0sRUFBRSx5R0FBeUcsQ0FBQyxDQUFDO1FBQ3ZILE9BQU87SUFDVCxDQUFDO0lBQ0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyw0QkFBNEIsR0FBRyxHQUFHLENBQUM7QUFDakQsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxLQUFLLElBQW1CLEVBQUU7SUFDL0MsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDcEQsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxDQUFDO0lBQ3BELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksR0FBRyxDQUFDLElBQUksSUFBSSxHQUFHLEdBQUcsRUFBRSxDQUFDO1FBQ3JELE1BQU0sSUFBSSxLQUFLLENBQUMsOENBQThDLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxJQUFJLENBQUMsQ0FBQztJQUM1RixDQUFDO0lBQ0QsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLElBQUksV0FBVyxDQUFDO0lBRXJELGNBQWMsRUFBRSxDQUFDO0lBRWpCLE1BQU0sRUFBRSxHQUFHLElBQUksb0JBQW9CLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ2hELE1BQU0sT0FBTyxHQUFHLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLHFCQUFxQixDQUFDLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNuRixJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVk7UUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLFdBQVcsVUFBVSxZQUFZLENBQUMsQ0FBQztJQUM5RSxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQXFCLENBQUM7SUFFcEUsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQztJQUMvQixJQUFJLENBQUMsTUFBTTtRQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsV0FBVyxVQUFVLDBDQUEwQyxDQUFDLENBQUM7SUFDOUYsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDM0QsTUFBTSxJQUFJLEtBQUssQ0FDYixXQUFXLFVBQVUsaURBQWlEO2NBQ3BFLCtHQUErRyxDQUNsSCxDQUFDO0lBQ0osQ0FBQztJQUNELHVFQUF1RTtJQUN2RSw4Q0FBOEM7SUFDOUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXO1FBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxXQUFXLFVBQVUsdUJBQXVCLENBQUMsQ0FBQztJQUN2RixNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFM0QsOEVBQThFO0lBQzlFLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLFdBQVcsRUFBRSxzQkFBc0IsRUFBRTtRQUM3RCxHQUFHLEVBQUUsTUFBTTtRQUNYLElBQUksRUFBRSxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsSUFBSSxTQUFTLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFO1FBQzFGLFNBQVMsRUFBRSxJQUFJLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFO0tBQy9CLENBQUMsQ0FBQztJQUNILElBQUksTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLElBQUksTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNoRCxNQUFNLElBQUksS0FBSyxDQUNiLHlCQUF5QixNQUFNLENBQUMsTUFBTSxNQUFNLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLGdCQUFnQixJQUFJO2NBQ3JGLDZDQUE2QyxDQUNoRCxDQUFDO0lBQ0osQ0FBQztJQUNELE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEdBQXlCLENBQUM7SUFDM0QsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBMkIsQ0FBQztJQUMvRCxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsUUFBUTtRQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsd0VBQXdFLENBQUMsQ0FBQztJQUNwSCxNQUFNLE1BQU0sR0FBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxZQUFxQyxJQUFJLEVBQUUsQ0FBQztJQUM5RSxJQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDdEIsR0FBRyxDQUFDLE1BQU0sRUFBRSxzRUFBc0UsRUFBRSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUM1SCxDQUFDO0lBQ0QsR0FBRyxDQUFDLE1BQU0sRUFBRSw0QkFBNEIsRUFBRSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUUzRSw4RUFBOEU7SUFDOUUsTUFBTSxJQUFJLEdBQXFCO1FBQzdCLEdBQUcsTUFBTTtRQUNULFFBQVEsRUFBRSxNQUFNO1FBQ2hCLEtBQUssRUFBRSxRQUFRO1FBQ2YsV0FBVztRQUNYLFNBQVMsRUFBRSxJQUFJLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFO1FBQzlCLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQW1CLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzNGLFNBQVMsRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRTtLQUNwQyxDQUFDO0lBQ0YsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUkscUJBQXFCLENBQUMsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3ZHLEdBQUcsQ0FBQyxNQUFNLEVBQUUsd0JBQXdCLEVBQUUsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFFdkUsOEVBQThFO0lBQzlFLDRFQUE0RTtJQUM1RSwrREFBK0Q7SUFDL0QsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztJQUM5QixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDZCxHQUFHLENBQUMsTUFBTSxFQUFFLCtFQUErRSxFQUFFLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUM3RyxPQUFPO0lBQ1QsQ0FBQztJQUNELE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLFdBQVcsRUFBRSxzQkFBc0IsRUFBRSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxDQUFDO1NBQzdGLEtBQUssQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsT0FBTyxFQUFFLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3pFLElBQUksTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLElBQUksTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNoRCxHQUFHLENBQUMsT0FBTyxFQUFFLHdHQUF3RyxFQUFFO1lBQ3JILFVBQVUsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU87U0FDckYsQ0FBQyxDQUFDO1FBQ0gsT0FBTztJQUNULENBQUM7SUFDRCxHQUFHLENBQUMsTUFBTSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7QUFDNUYsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbi8qKlxuICogU2NoZWR1bGVkIEtFWSBST1RBVE9SIGZvciB0aGUgc2VydmljZS1hY2NvdW50IGNyZWRlbnRpYWwgaW4gU2VjcmV0cyBNYW5hZ2VyXG4gKiAoI04yKS4gRGVwbG95ZWQgKyBzY2hlZHVsZWQgKG9uY2UgYSBkYXkpIGJ5IGBwaXBlbGluZS1tYW5hZ2VyIGluZnJhIHN0b3JlLXRva2VuXG4gKiAtLXNjaGVkdWxlYC5cbiAqXG4gKiBJdCB1c2VkIHRvIHJlLW1pbnQgYSBwZXJzb24ncyBtYWNoaW5lLXNlc3Npb24gSldUIGJ5IG5wbS1pbnN0YWxsaW5nIHRoZSBDTEkgYXRcbiAqIHJ1bnRpbWUgYW5kIHNoZWxsaW5nIG91dCB0byBgc3RvcmUtdG9rZW5gLiBUaGVyZSBpcyBub3RoaW5nIGxlZnQgdG8gcmUtbWludDpcbiAqIHRoZSBzdG9yZWQgY3JlZGVudGlhbCBpcyBhbiBvcGFxdWUgYHBiX3NhX+KApmAga2V5LCBhbmQgcGxhdGZvcm0gcm90YXRlcyBpdFxuICogdGhyb3VnaCB0d28gc21hbGwgcHJlLWF1dGggZW5kcG9pbnRzIHdoZXJlIHRoZSBLRVkgSVRTRUxGIGlzIHRoZSBhdXRob3JpemF0aW9uXG4gKiAoYW4gdW5hdHRlbmRlZCBtYWNoaW5lIGhhcyBubyBwYXNzd29yZCBhbmQgY2Fubm90IHN0ZXAgdXApLiBTbyB0aGlzIGhhbmRsZXIgaXNcbiAqIHRocmVlIEhUVFAgY2FsbHMgYW5kIGEgc2VjcmV0IHdyaXRlLCB3aXRoIG5vIG5wbSBpbnN0YWxsLCBubyBDTEksIG5vIGAvdG1wYC5cbiAqXG4gKiBUSEUgT1JERVIgSVMgVEhFIFdIT0xFIERFU0lHTi4gQXQgbm8gcG9pbnQgbWF5IHRoZSBzZWNyZXQgbmFtZSBhIGNyZWRlbnRpYWxcbiAqIHRoYXQgZG9lcyBub3Qgd29yazpcbiAqXG4gKiAgIDEuIFJPVEFURSDigJQgbWludCBhIHNpYmxpbmcga2V5IG9uIHRoZSBzYW1lIGFjY291bnQuIFRoZSBjdXJyZW50IGtleSBzdGF5c1xuICogICAgICBMSVZFLiBGYWlsIGhlcmUgYW5kIHRoZSBzZWNyZXQgaXMgdW50b3VjaGVkOiB0aGUgb2xkIGtleSBzdGlsbCB3b3Jrcy5cbiAqICAgMi4gU1RPUkUgIOKAlCB3cml0ZSB0aGUgbmV3IGtleSB0byB0aGUgc2VjcmV0LiBGYWlsIGhlcmUgYW5kIHRoZSBzZWNyZXQgc3RpbGxcbiAqICAgICAgaG9sZHMgdGhlIG9sZCBrZXksIHdoaWNoIGlzIHN0aWxsIGxpdmU7IHRoZSBuZXcga2V5IGlzIGFuIG9ycGhhbiB0aGF0XG4gKiAgICAgIGV4cGlyZXMgb24gaXRzIG93biAoYW5kIHRoZSBuZXh0IHJ1bidzIHJvdGF0ZSBwcnVuZXMgaXQgYXQgdGhlIGNhcCkuXG4gKiAgIDMuIFJFVk9LRSDigJQgcmV0aXJlIHRoZSBvbGQga2V5LCBhdXRoZW50aWNhdGVkIHdpdGggdGhlIE5FVyBvbmUuIEZhaWwgaGVyZVxuICogICAgICBhbmQgQk9USCBrZXlzIHdvcms7IHRoZSBjcmVkZW50aWFsIGlzIGhlYWx0aHkgYW5kIHRoZSBzdGFsZSBrZXkgZXhwaXJlc1xuICogICAgICBvbiBpdHMgb3duLiBMb2dnZWQgYXQgRVJST1Igc28gaXQgaXMgdmlzaWJsZSwgYnV0IGl0IGRvZXMgbm90IGZhaWwgdGhlXG4gKiAgICAgIGludm9jYXRpb246IGEgcmV0cnkgd291bGQgcm90YXRlIGFnYWluIGFuZCBjaHVybiBrZXlzIGZvciBubyBnYWluLlxuICpcbiAqIFJldm9rZS10aGVuLWNyZWF0ZSB3b3VsZCBpbnZlcnQgZXZlcnkgb25lIG9mIHRob3NlOiBhIGZhaWx1cmUgYWZ0ZXIgdGhlIHJldm9rZVxuICogbGVhdmVzIHRoZSBkZXBsb3ltZW50IHdpdGggbm8gd29ya2luZyBjcmVkZW50aWFsIGF0IGFsbC5cbiAqXG4gKiBFbnY6IFBMQVRGT1JNX1NFQ1JFVF9OQU1FLCBSRU5FV19EQVlTIChkZWZhdWx0IDMwKSxcbiAqICAgICAgUExBVEZPUk1fVkVSSUZZX1NTTCAoXCJmYWxzZVwiIHRvIGRpc2FibGUgVExTIHZlcmlmaWNhdGlvbiDigJQgcmVmdXNlZCBpblxuICogICAgICBwcm9kdWN0aW9uKS5cbiAqL1xuaW1wb3J0IHsgU2VjcmV0c01hbmFnZXJDbGllbnQsIEdldFNlY3JldFZhbHVlQ29tbWFuZCwgUHV0U2VjcmV0VmFsdWVDb21tYW5kIH0gZnJvbSAnQGF3cy1zZGsvY2xpZW50LXNlY3JldHMtbWFuYWdlcic7XG5pbXBvcnQgeyBlcnJvck1lc3NhZ2UgfSBmcm9tICdAcGlwZWxpbmUtYnVpbGRlci9hcGktY29yZSc7XG5cbi8qKiBQZXItcmVxdWVzdCB0aW1lb3V0IGZvciB0aGUgcGxhdGZvcm0gY2FsbHMuICovXG5jb25zdCBIVFRQX1RJTUVPVVRfTVMgPSAxMF8wMDA7XG5cbi8qKiBBY2Nlc3Mta2V5IHByZWZpeGVzIHBsYXRmb3JtIGlzc3Vlcy4gQSBzdG9yZWQgSldUIGlzIG5vdCBvbmUgb2YgdGhlbS4gKi9cbmNvbnN0IEFDQ0VTU19LRVlfUFJFRklYRVMgPSBbJ3BiX3NhXycsICdwYl9wYXRfJ107XG5cbmZ1bmN0aW9uIHJlcXVpcmVkKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IHYgPSBwcm9jZXNzLmVudltuYW1lXTtcbiAgaWYgKCF2KSB0aHJvdyBuZXcgRXJyb3IoYCR7bmFtZX0gZW52aXJvbm1lbnQgdmFyaWFibGUgaXMgcmVxdWlyZWRgKTtcbiAgcmV0dXJuIHY7XG59XG5cbmZ1bmN0aW9uIGxvZyhsZXZlbDogJ0lORk8nIHwgJ1dBUk4nIHwgJ0VSUk9SJywgbXNnOiBzdHJpbmcsIGRhdGE/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik6IHZvaWQge1xuICBjb25zdCBsaW5lID0gSlNPTi5zdHJpbmdpZnkoeyBsZXZlbCwgbXNnLCAuLi5kYXRhIH0pO1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICBpZiAobGV2ZWwgPT09ICdFUlJPUicpIGNvbnNvbGUuZXJyb3IobGluZSk7IGVsc2UgY29uc29sZS5sb2cobGluZSk7XG59XG5cbi8qKiBUaGUgc3RvcmVkIHNlY3JldCwgYXMgYHN0b3JlLXRva2VuYCB3cml0ZXMgaXQuICovXG5pbnRlcmZhY2UgU3RvcmVkQ3JlZGVudGlhbCB7XG4gIHVzZXJuYW1lPzogc3RyaW5nO1xuICAvKiogVGhlIGNhbm9uaWNhbCBjcmVkZW50aWFsIGZpZWxkIOKAlCBhbiBvcGFxdWUgYHBiX3NhX+KApmAga2V5IGFmdGVyIHRoZSBjdXRvdmVyLiAqL1xuICBwYXNzd29yZD86IHN0cmluZztcbiAgLyoqIFRoZSBwbGF0Zm9ybSB0aGlzIGNyZWRlbnRpYWwgYmVsb25ncyB0byDigJQgYHN0b3JlLXRva2VuYCBhbHdheXMgd3JpdGVzIGl0LiAqL1xuICBwbGF0Zm9ybVVybDogc3RyaW5nO1xuICBvcmdhbml6YXRpb25JZD86IHN0cmluZztcbiAgc2VydmljZUFjY291bnRJZD86IHN0cmluZztcbiAgc2VydmljZUFjY291bnROYW1lPzogc3RyaW5nO1xuICAvKiogUmVjb3JkIGlkIG9mIHRoZSBrZXkgaW4gYHBhc3N3b3JkYDsgd2hhdCBzdGVwIDMgcmV0aXJlcy4gKi9cbiAga2V5SWQ/OiBzdHJpbmc7XG4gIHNjb3BlPzogc3RyaW5nIHwgbnVsbDtcbiAgZXhwaXJlc0luPzogbnVtYmVyO1xuICBleHBpcmVzQXQ/OiBzdHJpbmc7XG4gIGNyZWF0ZWRBdD86IHN0cmluZztcbiAgW2tleTogc3RyaW5nXTogdW5rbm93bjtcbn1cblxuLyoqIFBPU1QgSlNPTiB0byB0aGUgcGxhdGZvcm0sIHJldHVybmluZyB0aGUgcGFyc2VkIGJvZHkgcGx1cyB0aGUgc3RhdHVzLiAqL1xuYXN5bmMgZnVuY3Rpb24gcG9zdChcbiAgYmFzZVVybDogc3RyaW5nLFxuICByb3V0ZTogc3RyaW5nLFxuICBib2R5OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbik6IFByb21pc2U8eyBzdGF0dXM6IG51bWJlcjsgYm9keTogeyBkYXRhPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47IG1lc3NhZ2U/OiBzdHJpbmcgfSB9PiB7XG4gIGNvbnN0IGNvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gIGNvbnN0IHRpbWVyID0gc2V0VGltZW91dCgoKSA9PiBjb250cm9sbGVyLmFib3J0KCksIEhUVFBfVElNRU9VVF9NUyk7XG4gIHRyeSB7XG4gICAgY29uc3QgcmVzID0gYXdhaXQgZmV0Y2goYCR7YmFzZVVybH0ke3JvdXRlfWAsIHtcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgaGVhZGVyczogeyAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLCAnQWNjZXB0JzogJ2FwcGxpY2F0aW9uL2pzb24nIH0sXG4gICAgICBib2R5OiBKU09OLnN0cmluZ2lmeShib2R5KSxcbiAgICAgIHNpZ25hbDogY29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG4gICAgY29uc3QgcGFyc2VkID0gYXdhaXQgcmVzLmpzb24oKS5jYXRjaCgoKSA9PiAoe30pKSBhcyB7IGRhdGE/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjsgbWVzc2FnZT86IHN0cmluZyB9O1xuICAgIHJldHVybiB7IHN0YXR1czogcmVzLnN0YXR1cywgYm9keTogcGFyc2VkIH07XG4gIH0gZmluYWxseSB7XG4gICAgY2xlYXJUaW1lb3V0KHRpbWVyKTtcbiAgfVxufVxuXG4vKipcbiAqIFNFQ1VSSVRZOiB0aGVzZSBjYWxscyBjYXJyeSBhIGxpdmUgY3JlZGVudGlhbC4gUmVmdXNlIHRvIGRpc2FibGUgVExTXG4gKiB2ZXJpZmljYXRpb24gaW4gcHJvZHVjdGlvbiBzbyBhIE1JVE0gY2FuJ3QgaGFydmVzdCBpdC4gUHJvZHVjdGlvbiBpcyB0aGlzXG4gKiBMYW1iZGEncyBub3JtYWwgbW9kZSAodGhlIHJvdGF0aW9uIHN0YWNrIHNldHMgTk9ERV9FTlY9cHJvZHVjdGlvbiksIHNvXG4gKiBQTEFURk9STV9WRVJJRllfU1NMPWZhbHNlIGlzIGhvbm9yZWQgT05MWSBvdXRzaWRlIHByb2R1Y3Rpb24uIFRoaXMgaW5saW5lcyB0aGVcbiAqIHNhbWUgYE5PREVfRU5WPT09J3Byb2R1Y3Rpb24nYCBwb2xpY3kgYXMgdXRpbHMvdGxzLnRzI2Fzc2VydFNzbERpc2FibGVBbGxvd2VkXG4gKiAodGhlIGhhbmRsZXIgc2hpcHMgYXMgYSBzaW5nbGUgc2VsZi1jb250YWluZWQgaW5kZXgubWpzIGFuZCBjYW4ndCBpbXBvcnQgaXQpLlxuICovXG5mdW5jdGlvbiBhcHBseVRsc1BvbGljeSgpOiB2b2lkIHtcbiAgaWYgKHByb2Nlc3MuZW52LlBMQVRGT1JNX1ZFUklGWV9TU0wgIT09ICdmYWxzZScpIHJldHVybjtcbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAncHJvZHVjdGlvbicpIHtcbiAgICBsb2coJ1dBUk4nLCAnUmVmdXNpbmcgUExBVEZPUk1fVkVSSUZZX1NTTD1mYWxzZSBpbiBwcm9kdWN0aW9uIChOT0RFX0VOVj1wcm9kdWN0aW9uKSDigJQgVExTIHZlcmlmaWNhdGlvbiBzdGF5cyBlbmFibGVkJyk7XG4gICAgcmV0dXJuO1xuICB9XG4gIHByb2Nlc3MuZW52Lk5PREVfVExTX1JFSkVDVF9VTkFVVEhPUklaRUQgPSAnMCc7XG59XG5cbmV4cG9ydCBjb25zdCBoYW5kbGVyID0gYXN5bmMgKCk6IFByb21pc2U8dm9pZD4gPT4ge1xuICBjb25zdCBzZWNyZXROYW1lID0gcmVxdWlyZWQoJ1BMQVRGT1JNX1NFQ1JFVF9OQU1FJyk7XG4gIGNvbnN0IGRheXMgPSBOdW1iZXIocHJvY2Vzcy5lbnYuUkVORVdfREFZUyB8fCAnMzAnKTtcbiAgaWYgKCFOdW1iZXIuaXNGaW5pdGUoZGF5cykgfHwgZGF5cyA8IDEgfHwgZGF5cyA+IDM2NSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgUkVORVdfREFZUyBtdXN0IGJlIGJldHdlZW4gMSBhbmQgMzY1IChnb3QgXCIke3Byb2Nlc3MuZW52LlJFTkVXX0RBWVN9XCIpYCk7XG4gIH1cbiAgY29uc3QgcmVnaW9uID0gcHJvY2Vzcy5lbnYuQVdTX1JFR0lPTiB8fCAndXMtZWFzdC0xJztcblxuICBhcHBseVRsc1BvbGljeSgpO1xuXG4gIGNvbnN0IHNtID0gbmV3IFNlY3JldHNNYW5hZ2VyQ2xpZW50KHsgcmVnaW9uIH0pO1xuICBjb25zdCBjdXJyZW50ID0gYXdhaXQgc20uc2VuZChuZXcgR2V0U2VjcmV0VmFsdWVDb21tYW5kKHsgU2VjcmV0SWQ6IHNlY3JldE5hbWUgfSkpO1xuICBpZiAoIWN1cnJlbnQuU2VjcmV0U3RyaW5nKSB0aHJvdyBuZXcgRXJyb3IoYFNlY3JldCBcIiR7c2VjcmV0TmFtZX1cIiBpcyBlbXB0eWApO1xuICBjb25zdCBzdG9yZWQgPSBKU09OLnBhcnNlKGN1cnJlbnQuU2VjcmV0U3RyaW5nKSBhcyBTdG9yZWRDcmVkZW50aWFsO1xuXG4gIGNvbnN0IG9sZEtleSA9IHN0b3JlZC5wYXNzd29yZDtcbiAgaWYgKCFvbGRLZXkpIHRocm93IG5ldyBFcnJvcihgU2VjcmV0IFwiJHtzZWNyZXROYW1lfVwiIG1pc3NpbmcgcGFzc3dvcmQgKHNlcnZpY2UtYWNjb3VudCBrZXkpYCk7XG4gIGlmICghQUNDRVNTX0tFWV9QUkVGSVhFUy5zb21lKChwKSA9PiBvbGRLZXkuc3RhcnRzV2l0aChwKSkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgU2VjcmV0IFwiJHtzZWNyZXROYW1lfVwiIGRvZXMgbm90IGhvbGQgYW4gb3BhcXVlIHNlcnZpY2UtYWNjb3VudCBrZXkuIGBcbiAgICAgICsgJ1JlLXJ1biBcInBpcGVsaW5lLW1hbmFnZXIgaW5mcmEgc3RvcmUtdG9rZW5cIiB0byByZWlzc3VlIGl0IGFzIGEga2V5IChzZWUgZG9jcy9ydW5ib29rcy9hY2Nlc3Mta2V5LWN1dG92ZXIubWQpLicsXG4gICAgKTtcbiAgfVxuICAvLyBUaGUgcGxhdGZvcm0gdGhpcyBjcmVkZW50aWFsIGJlbG9uZ3MgdG8gaXMgcmVjb3JkZWQgSU4gdGhlIHNlY3JldCBieVxuICAvLyBgc3RvcmUtdG9rZW5gIOKAlCB0aGUgc2luZ2xlIHNvdXJjZSBvZiB0cnV0aC5cbiAgaWYgKCFzdG9yZWQucGxhdGZvcm1VcmwpIHRocm93IG5ldyBFcnJvcihgU2VjcmV0IFwiJHtzZWNyZXROYW1lfVwiIG1pc3NpbmcgcGxhdGZvcm1VcmxgKTtcbiAgY29uc3QgcGxhdGZvcm1VcmwgPSBzdG9yZWQucGxhdGZvcm1VcmwucmVwbGFjZSgvXFwvKyQvLCAnJyk7XG5cbiAgLy8g4pSA4pSAIDEuIFJPVEFURSDigJQgbWludCB0aGUgcmVwbGFjZW1lbnQuIFRoZSBvbGQga2V5IHN0YXlzIGxpdmUuIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICBjb25zdCByb3RhdGUgPSBhd2FpdCBwb3N0KHBsYXRmb3JtVXJsLCAnL2FwaS9hdXRoL2tleS9yb3RhdGUnLCB7XG4gICAga2V5OiBvbGRLZXksXG4gICAgbmFtZTogYCR7c3RvcmVkLnNlcnZpY2VBY2NvdW50TmFtZSB8fCAncm90YXRlZCd9LSR7bmV3IERhdGUoKS50b0lTT1N0cmluZygpLnNsaWNlKDAsIDEwKX1gLFxuICAgIGV4cGlyZXNJbjogZGF5cyAqIDI0ICogNjAgKiA2MCxcbiAgfSk7XG4gIGlmIChyb3RhdGUuc3RhdHVzIDwgMjAwIHx8IHJvdGF0ZS5zdGF0dXMgPj0gMzAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYEtleSByb3RhdGlvbiByZWZ1c2VkICgke3JvdGF0ZS5zdGF0dXN9KTogJHtyb3RhdGUuYm9keS5tZXNzYWdlIHx8ICd1bmtub3duIHJlYXNvbid9LiBgXG4gICAgICArICdUaGUgc3RvcmVkIGtleSBpcyB1bmNoYW5nZWQgYW5kIHN0aWxsIGxpdmUuJyxcbiAgICApO1xuICB9XG4gIGNvbnN0IG5ld0tleSA9IHJvdGF0ZS5ib2R5LmRhdGE/LmtleSBhcyBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIGNvbnN0IG5ld0tleUlkID0gcm90YXRlLmJvZHkuZGF0YT8ua2V5SWQgYXMgc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBpZiAoIW5ld0tleSB8fCAhbmV3S2V5SWQpIHRocm93IG5ldyBFcnJvcignS2V5IHJvdGF0aW9uIHJldHVybmVkIG5vIHJlcGxhY2VtZW50IGtleSDigJQgdGhlIHN0b3JlZCBrZXkgaXMgdW5jaGFuZ2VkJyk7XG4gIGNvbnN0IHBydW5lZCA9IChyb3RhdGUuYm9keS5kYXRhPy5wcnVuZWRLZXlJZHMgYXMgc3RyaW5nW10gfCB1bmRlZmluZWQpID8/IFtdO1xuICBpZiAocHJ1bmVkLmxlbmd0aCA+IDApIHtcbiAgICBsb2coJ1dBUk4nLCAnUGxhdGZvcm0gcmV0aXJlZCBzdGFsZSBzaWJsaW5nIGtleXMgdG8gc3RheSB1bmRlciB0aGUgYWN0aXZlLWtleSBjYXAnLCB7IHNlY3JldE5hbWUsIHBydW5lZEtleUlkczogcHJ1bmVkIH0pO1xuICB9XG4gIGxvZygnSU5GTycsICdNaW50ZWQgdGhlIHJlcGxhY2VtZW50IGtleScsIHsgc2VjcmV0TmFtZSwga2V5SWQ6IG5ld0tleUlkIH0pO1xuXG4gIC8vIOKUgOKUgCAyLiBTVE9SRSDigJQgdGhlIHNlY3JldCBub3cgbmFtZXMgYSBsaXZlIGNyZWRlbnRpYWwuIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICBjb25zdCBuZXh0OiBTdG9yZWRDcmVkZW50aWFsID0ge1xuICAgIC4uLnN0b3JlZCxcbiAgICBwYXNzd29yZDogbmV3S2V5LFxuICAgIGtleUlkOiBuZXdLZXlJZCxcbiAgICBwbGF0Zm9ybVVybCxcbiAgICBleHBpcmVzSW46IGRheXMgKiAyNCAqIDYwICogNjAsXG4gICAgLi4uKHJvdGF0ZS5ib2R5LmRhdGE/LmV4cGlyZXNBdCA/IHsgZXhwaXJlc0F0OiByb3RhdGUuYm9keS5kYXRhLmV4cGlyZXNBdCBhcyBzdHJpbmcgfSA6IHt9KSxcbiAgICBjcmVhdGVkQXQ6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxcbiAgfTtcbiAgYXdhaXQgc20uc2VuZChuZXcgUHV0U2VjcmV0VmFsdWVDb21tYW5kKHsgU2VjcmV0SWQ6IHNlY3JldE5hbWUsIFNlY3JldFN0cmluZzogSlNPTi5zdHJpbmdpZnkobmV4dCkgfSkpO1xuICBsb2coJ0lORk8nLCAnU3RvcmVkIHRoZSByb3RhdGVkIGtleScsIHsgc2VjcmV0TmFtZSwga2V5SWQ6IG5ld0tleUlkIH0pO1xuXG4gIC8vIOKUgOKUgCAzLiBSRVZPS0Ug4oCUIHJldGlyZSB0aGUgcHJlZGVjZXNzb3IsIHVzaW5nIHRoZSBrZXkgdGhhdCByZXBsYWNlZCBpdC4g4pSA4pSA4pSA4pSAXG4gIC8vIEJlc3QtZWZmb3J0IGJ5IGRlc2lnbjogdGhlIGNyZWRlbnRpYWwgaXMgYWxyZWFkeSBoZWFsdGh5LCBhbmQgZmFpbGluZyB0aGVcbiAgLy8gaW52b2NhdGlvbiBoZXJlIHdvdWxkIG9ubHkgbWFrZSB0aGUgbmV4dCByZXRyeSByb3RhdGUgYWdhaW4uXG4gIGNvbnN0IG9sZEtleUlkID0gc3RvcmVkLmtleUlkO1xuICBpZiAoIW9sZEtleUlkKSB7XG4gICAgbG9nKCdXQVJOJywgJ1NlY3JldCByZWNvcmRlZCBubyBwcmV2aW91cyBrZXlJZCDigJQgbm90aGluZyB0byByZXZva2UgKGl0IGV4cGlyZXMgb24gaXRzIG93biknLCB7IHNlY3JldE5hbWUgfSk7XG4gICAgcmV0dXJuO1xuICB9XG4gIGNvbnN0IHJldm9rZSA9IGF3YWl0IHBvc3QocGxhdGZvcm1VcmwsICcvYXBpL2F1dGgva2V5L3Jldm9rZScsIHsga2V5OiBuZXdLZXksIGtleUlkOiBvbGRLZXlJZCB9KVxuICAgIC5jYXRjaCgoZXJyKSA9PiAoeyBzdGF0dXM6IDAsIGJvZHk6IHsgbWVzc2FnZTogZXJyb3JNZXNzYWdlKGVycikgfSB9KSk7XG4gIGlmIChyZXZva2Uuc3RhdHVzIDwgMjAwIHx8IHJldm9rZS5zdGF0dXMgPj0gMzAwKSB7XG4gICAgbG9nKCdFUlJPUicsICdSb3RhdGVkIGFuZCBzdG9yZWQgdGhlIG5ldyBrZXksIGJ1dCBjb3VsZCBOT1QgcmV2b2tlIGl0cyBwcmVkZWNlc3NvciDigJQgaXQgc3RheXMgdmFsaWQgdW50aWwgaXQgZXhwaXJlcycsIHtcbiAgICAgIHNlY3JldE5hbWUsIHN0YWxlS2V5SWQ6IG9sZEtleUlkLCBzdGF0dXM6IHJldm9rZS5zdGF0dXMsIHJlYXNvbjogcmV2b2tlLmJvZHkubWVzc2FnZSxcbiAgICB9KTtcbiAgICByZXR1cm47XG4gIH1cbiAgbG9nKCdJTkZPJywgJ1JvdGF0aW9uIGNvbXBsZXRlJywgeyBzZWNyZXROYW1lLCBrZXlJZDogbmV3S2V5SWQsIHJldm9rZWRLZXlJZDogb2xkS2V5SWQgfSk7XG59O1xuIl19
@@ -2,10 +2,6 @@
2
2
  "AWSTemplateFormatVersion": "2010-09-09",
3
3
  "Description": "Pipeline Builder service-account KEY ROTATION — a scheduled Lambda that replaces the pb_sa_ key in Secrets Manager before it expires (rotate, store, then revoke the predecessor), so CodeBuild/Lambda credentials never lapse. Lambda code is deployed separately via pipeline-manager infra store-token.",
4
4
  "Parameters": {
5
- "PlatformBaseUrl": {
6
- "Type": "String",
7
- "Description": "Base URL of the platform (e.g. https://app.example.com)"
8
- },
9
5
  "PlatformSecretName": {
10
6
  "Type": "String",
11
7
  "Description": "Secrets Manager secret name holding the service-account key (e.g. pipeline-builder/{orgId}/platform)"
@@ -81,7 +77,6 @@
81
77
  "MemorySize": 256,
82
78
  "Environment": {
83
79
  "Variables": {
84
- "PLATFORM_BASE_URL": { "Ref": "PlatformBaseUrl" },
85
80
  "PLATFORM_SECRET_NAME": { "Ref": "PlatformSecretName" },
86
81
  "RENEW_DAYS": { "Ref": "RenewDays" },
87
82
  "PIPELINE_MANAGER_VERSION": { "Ref": "PipelineManagerVersion" },
@@ -1 +1 @@
1
- {"version":3,"file":"audit-log.d.ts","sourceRoot":"","sources":["../../src/utils/audit-log.ts"],"names":[],"mappings":"AAqCA;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAwBjF"}
1
+ {"version":3,"file":"audit-log.d.ts","sourceRoot":"","sources":["../../src/utils/audit-log.ts"],"names":[],"mappings":"AAsCA;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAwBjF"}
@@ -3,6 +3,7 @@
3
3
  import fs from 'fs';
4
4
  import os from 'os';
5
5
  import path from 'path';
6
+ import { errorMessage } from '@pipeline-builder/api-core';
6
7
  import { printDebug } from './output-utils.js';
7
8
  /**
8
9
  * Local audit logger for sensitive CLI operations.
@@ -51,7 +52,7 @@ export function auditLog(command, details) {
51
52
  catch (err) {
52
53
  // Audit logging is best-effort — never block the CLI — but surface the failure
53
54
  // in debug so a silently-unrecorded sensitive op is at least diagnosable.
54
- printDebug('Audit log write failed', { command, error: err instanceof Error ? err.message : String(err) });
55
+ printDebug('Audit log write failed', { command, error: errorMessage(err) });
55
56
  }
56
57
  }
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaXQtbG9nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL2F1ZGl0LWxvZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDO0FBRXRDLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQztBQUNwQixPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDcEIsT0FBTyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQ3hCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUUvQzs7OztHQUlHO0FBRUgsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztBQUMvRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxXQUFXLENBQUMsQ0FBQztBQUNyRCxNQUFNLGNBQWMsR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsNkJBQTZCO0FBQ2pFLE1BQU0sV0FBVyxHQUFHLENBQUMsQ0FBQyxDQUFDLG9FQUFvRTtBQUUzRiwrRUFBK0U7QUFDL0UsU0FBUyxNQUFNO0lBQ2IsTUFBTSxNQUFNLEdBQUcsR0FBRyxVQUFVLElBQUksV0FBVyxFQUFFLENBQUM7SUFDOUMsSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQztRQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDakQsS0FBSyxJQUFJLENBQUMsR0FBRyxXQUFXLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUMxQyxNQUFNLEdBQUcsR0FBRyxHQUFHLFVBQVUsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNqQyxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDO1lBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxVQUFVLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUNELEVBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFFLEdBQUcsVUFBVSxJQUFJLENBQUMsQ0FBQztBQUMvQyxDQUFDO0FBU0Q7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsUUFBUSxDQUFDLE9BQWUsRUFBRSxPQUFpQztJQUN6RSxJQUFJLENBQUM7UUFDSCxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQzlCLEVBQUUsQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUM1RCxDQUFDO1FBRUQsMkRBQTJEO1FBQzNELElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksR0FBRyxjQUFjLEVBQUUsQ0FBQztZQUMvRSxNQUFNLEVBQUUsQ0FBQztRQUNYLENBQUM7UUFFRCxNQUFNLEtBQUssR0FBZTtZQUN4QixTQUFTLEVBQUUsSUFBSSxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUU7WUFDbkMsT0FBTztZQUNQLElBQUksRUFBRSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUTtZQUM1QixPQUFPO1NBQ1IsQ0FBQztRQUVGLEVBQUUsQ0FBQyxjQUFjLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDYiwrRUFBK0U7UUFDL0UsMEVBQTBFO1FBQzFFLFVBQVUsQ0FBQyx3QkFBd0IsRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxZQUFZLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM3RyxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAyMDI2IFBpcGVsaW5lIEJ1aWxkZXIgQ29udHJpYnV0b3JzXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG5pbXBvcnQgZnMgZnJvbSAnZnMnO1xuaW1wb3J0IG9zIGZyb20gJ29zJztcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgcHJpbnREZWJ1ZyB9IGZyb20gJy4vb3V0cHV0LXV0aWxzLmpzJztcblxuLyoqXG4gKiBMb2NhbCBhdWRpdCBsb2dnZXIgZm9yIHNlbnNpdGl2ZSBDTEkgb3BlcmF0aW9ucy5cbiAqIFdyaXRlcyB0aW1lc3RhbXBlZCBlbnRyaWVzIHRvIH4vLnBpcGVsaW5lLW1hbmFnZXIvYXVkaXQubG9nLlxuICogTmV2ZXIgbG9ncyBjcmVkZW50aWFscyBvciB0b2tlbnMg4oCUIG9ubHkgb3BlcmF0aW9uIG1ldGFkYXRhLlxuICovXG5cbmNvbnN0IEFVRElUX0RJUiA9IHBhdGguam9pbihvcy5ob21lZGlyKCksICcucGlwZWxpbmUtbWFuYWdlcicpO1xuY29uc3QgQVVESVRfRklMRSA9IHBhdGguam9pbihBVURJVF9ESVIsICdhdWRpdC5sb2cnKTtcbmNvbnN0IE1BWF9BVURJVF9TSVpFID0gMTAyNCAqIDEwMjQ7IC8vIDFNQiDigJQgcm90YXRlIHdoZW4gZXhjZWVkZWRcbmNvbnN0IE1BWF9ST1RBVEVEID0gNTsgLy8ga2VlcCBhdWRpdC5sb2cuMSAuLiAuNSAoaGlzdG9yeSBpc24ndCBsb3N0IG9uIHJlcGVhdGVkIHJvdGF0aW9ucylcblxuLyoqIFNoaWZ0IGF1ZGl0LmxvZy57bn0g4oaSIC57bisxfSAoZHJvcHBpbmcgdGhlIG9sZGVzdCksIHRoZW4gYXVkaXQubG9nIOKGkiAuMS4gKi9cbmZ1bmN0aW9uIHJvdGF0ZSgpOiB2b2lkIHtcbiAgY29uc3Qgb2xkZXN0ID0gYCR7QVVESVRfRklMRX0uJHtNQVhfUk9UQVRFRH1gO1xuICBpZiAoZnMuZXhpc3RzU3luYyhvbGRlc3QpKSBmcy51bmxpbmtTeW5jKG9sZGVzdCk7XG4gIGZvciAobGV0IGkgPSBNQVhfUk9UQVRFRCAtIDE7IGkgPj0gMTsgaS0tKSB7XG4gICAgY29uc3Qgc3JjID0gYCR7QVVESVRfRklMRX0uJHtpfWA7XG4gICAgaWYgKGZzLmV4aXN0c1N5bmMoc3JjKSkgZnMucmVuYW1lU3luYyhzcmMsIGAke0FVRElUX0ZJTEV9LiR7aSArIDF9YCk7XG4gIH1cbiAgZnMucmVuYW1lU3luYyhBVURJVF9GSUxFLCBgJHtBVURJVF9GSUxFfS4xYCk7XG59XG5cbmludGVyZmFjZSBBdWRpdEVudHJ5IHtcbiAgdGltZXN0YW1wOiBzdHJpbmc7XG4gIGNvbW1hbmQ6IHN0cmluZztcbiAgdXNlcj86IHN0cmluZztcbiAgZGV0YWlscz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xufVxuXG4vKipcbiAqIExvZyBhIHNlbnNpdGl2ZSBvcGVyYXRpb24gdG8gdGhlIGxvY2FsIGF1ZGl0IGZpbGUuXG4gKlxuICogQHBhcmFtIGNvbW1hbmQgLSBUaGUgY29tbWFuZCBuYW1lIChlLmcuLCAnc3RvcmUtdG9rZW4nLCAnZGVwbG95JywgJ2Jvb3RzdHJhcCcpXG4gKiBAcGFyYW0gZGV0YWlscyAtIE5vbi1zZW5zaXRpdmUgbWV0YWRhdGEgYWJvdXQgdGhlIG9wZXJhdGlvblxuICovXG5leHBvcnQgZnVuY3Rpb24gYXVkaXRMb2coY29tbWFuZDogc3RyaW5nLCBkZXRhaWxzPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pOiB2b2lkIHtcbiAgdHJ5IHtcbiAgICBpZiAoIWZzLmV4aXN0c1N5bmMoQVVESVRfRElSKSkge1xuICAgICAgZnMubWtkaXJTeW5jKEFVRElUX0RJUiwgeyByZWN1cnNpdmU6IHRydWUsIG1vZGU6IDBvNzAwIH0pO1xuICAgIH1cblxuICAgIC8vIFJvdGF0ZSBpZiBmaWxlIGlzIHRvbyBsYXJnZSAoa2VlcHMgTUFYX1JPVEFURUQgYXJjaGl2ZXMpXG4gICAgaWYgKGZzLmV4aXN0c1N5bmMoQVVESVRfRklMRSkgJiYgZnMuc3RhdFN5bmMoQVVESVRfRklMRSkuc2l6ZSA+IE1BWF9BVURJVF9TSVpFKSB7XG4gICAgICByb3RhdGUoKTtcbiAgICB9XG5cbiAgICBjb25zdCBlbnRyeTogQXVkaXRFbnRyeSA9IHtcbiAgICAgIHRpbWVzdGFtcDogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLFxuICAgICAgY29tbWFuZCxcbiAgICAgIHVzZXI6IG9zLnVzZXJJbmZvKCkudXNlcm5hbWUsXG4gICAgICBkZXRhaWxzLFxuICAgIH07XG5cbiAgICBmcy5hcHBlbmRGaWxlU3luYyhBVURJVF9GSUxFLCBKU09OLnN0cmluZ2lmeShlbnRyeSkgKyAnXFxuJywgeyBtb2RlOiAwbzYwMCB9KTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgLy8gQXVkaXQgbG9nZ2luZyBpcyBiZXN0LWVmZm9ydCDigJQgbmV2ZXIgYmxvY2sgdGhlIENMSSDigJQgYnV0IHN1cmZhY2UgdGhlIGZhaWx1cmVcbiAgICAvLyBpbiBkZWJ1ZyBzbyBhIHNpbGVudGx5LXVucmVjb3JkZWQgc2Vuc2l0aXZlIG9wIGlzIGF0IGxlYXN0IGRpYWdub3NhYmxlLlxuICAgIHByaW50RGVidWcoJ0F1ZGl0IGxvZyB3cml0ZSBmYWlsZWQnLCB7IGNvbW1hbmQsIGVycm9yOiBlcnIgaW5zdGFuY2VvZiBFcnJvciA/IGVyci5tZXNzYWdlIDogU3RyaW5nKGVycikgfSk7XG4gIH1cbn1cbiJdfQ==
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaXQtbG9nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL2F1ZGl0LWxvZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDO0FBRXRDLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQztBQUNwQixPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDcEIsT0FBTyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQ3hCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFL0M7Ozs7R0FJRztBQUVILE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFLG1CQUFtQixDQUFDLENBQUM7QUFDL0QsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsV0FBVyxDQUFDLENBQUM7QUFDckQsTUFBTSxjQUFjLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQyxDQUFDLDZCQUE2QjtBQUNqRSxNQUFNLFdBQVcsR0FBRyxDQUFDLENBQUMsQ0FBQyxvRUFBb0U7QUFFM0YsK0VBQStFO0FBQy9FLFNBQVMsTUFBTTtJQUNiLE1BQU0sTUFBTSxHQUFHLEdBQUcsVUFBVSxJQUFJLFdBQVcsRUFBRSxDQUFDO0lBQzlDLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUM7UUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2pELEtBQUssSUFBSSxDQUFDLEdBQUcsV0FBVyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDMUMsTUFBTSxHQUFHLEdBQUcsR0FBRyxVQUFVLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDakMsSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQztZQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLEdBQUcsVUFBVSxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFDRCxFQUFFLENBQUMsVUFBVSxDQUFDLFVBQVUsRUFBRSxHQUFHLFVBQVUsSUFBSSxDQUFDLENBQUM7QUFDL0MsQ0FBQztBQVNEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLFFBQVEsQ0FBQyxPQUFlLEVBQUUsT0FBaUM7SUFDekUsSUFBSSxDQUFDO1FBQ0gsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUM5QixFQUFFLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDNUQsQ0FBQztRQUVELDJEQUEyRDtRQUMzRCxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLEdBQUcsY0FBYyxFQUFFLENBQUM7WUFDL0UsTUFBTSxFQUFFLENBQUM7UUFDWCxDQUFDO1FBRUQsTUFBTSxLQUFLLEdBQWU7WUFDeEIsU0FBUyxFQUFFLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFO1lBQ25DLE9BQU87WUFDUCxJQUFJLEVBQUUsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVE7WUFDNUIsT0FBTztTQUNSLENBQUM7UUFFRixFQUFFLENBQUMsY0FBYyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQy9FLENBQUM7SUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2IsK0VBQStFO1FBQy9FLDBFQUEwRTtRQUMxRSxVQUFVLENBQUMsd0JBQXdCLEVBQUUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDOUUsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAyNiBQaXBlbGluZSBCdWlsZGVyIENvbnRyaWJ1dG9yc1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuaW1wb3J0IGZzIGZyb20gJ2ZzJztcbmltcG9ydCBvcyBmcm9tICdvcyc7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IGVycm9yTWVzc2FnZSB9IGZyb20gJ0BwaXBlbGluZS1idWlsZGVyL2FwaS1jb3JlJztcbmltcG9ydCB7IHByaW50RGVidWcgfSBmcm9tICcuL291dHB1dC11dGlscy5qcyc7XG5cbi8qKlxuICogTG9jYWwgYXVkaXQgbG9nZ2VyIGZvciBzZW5zaXRpdmUgQ0xJIG9wZXJhdGlvbnMuXG4gKiBXcml0ZXMgdGltZXN0YW1wZWQgZW50cmllcyB0byB+Ly5waXBlbGluZS1tYW5hZ2VyL2F1ZGl0LmxvZy5cbiAqIE5ldmVyIGxvZ3MgY3JlZGVudGlhbHMgb3IgdG9rZW5zIOKAlCBvbmx5IG9wZXJhdGlvbiBtZXRhZGF0YS5cbiAqL1xuXG5jb25zdCBBVURJVF9ESVIgPSBwYXRoLmpvaW4ob3MuaG9tZWRpcigpLCAnLnBpcGVsaW5lLW1hbmFnZXInKTtcbmNvbnN0IEFVRElUX0ZJTEUgPSBwYXRoLmpvaW4oQVVESVRfRElSLCAnYXVkaXQubG9nJyk7XG5jb25zdCBNQVhfQVVESVRfU0laRSA9IDEwMjQgKiAxMDI0OyAvLyAxTUIg4oCUIHJvdGF0ZSB3aGVuIGV4Y2VlZGVkXG5jb25zdCBNQVhfUk9UQVRFRCA9IDU7IC8vIGtlZXAgYXVkaXQubG9nLjEgLi4gLjUgKGhpc3RvcnkgaXNuJ3QgbG9zdCBvbiByZXBlYXRlZCByb3RhdGlvbnMpXG5cbi8qKiBTaGlmdCBhdWRpdC5sb2cue259IOKGkiAue24rMX0gKGRyb3BwaW5nIHRoZSBvbGRlc3QpLCB0aGVuIGF1ZGl0LmxvZyDihpIgLjEuICovXG5mdW5jdGlvbiByb3RhdGUoKTogdm9pZCB7XG4gIGNvbnN0IG9sZGVzdCA9IGAke0FVRElUX0ZJTEV9LiR7TUFYX1JPVEFURUR9YDtcbiAgaWYgKGZzLmV4aXN0c1N5bmMob2xkZXN0KSkgZnMudW5saW5rU3luYyhvbGRlc3QpO1xuICBmb3IgKGxldCBpID0gTUFYX1JPVEFURUQgLSAxOyBpID49IDE7IGktLSkge1xuICAgIGNvbnN0IHNyYyA9IGAke0FVRElUX0ZJTEV9LiR7aX1gO1xuICAgIGlmIChmcy5leGlzdHNTeW5jKHNyYykpIGZzLnJlbmFtZVN5bmMoc3JjLCBgJHtBVURJVF9GSUxFfS4ke2kgKyAxfWApO1xuICB9XG4gIGZzLnJlbmFtZVN5bmMoQVVESVRfRklMRSwgYCR7QVVESVRfRklMRX0uMWApO1xufVxuXG5pbnRlcmZhY2UgQXVkaXRFbnRyeSB7XG4gIHRpbWVzdGFtcDogc3RyaW5nO1xuICBjb21tYW5kOiBzdHJpbmc7XG4gIHVzZXI/OiBzdHJpbmc7XG4gIGRldGFpbHM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbn1cblxuLyoqXG4gKiBMb2cgYSBzZW5zaXRpdmUgb3BlcmF0aW9uIHRvIHRoZSBsb2NhbCBhdWRpdCBmaWxlLlxuICpcbiAqIEBwYXJhbSBjb21tYW5kIC0gVGhlIGNvbW1hbmQgbmFtZSAoZS5nLiwgJ3N0b3JlLXRva2VuJywgJ2RlcGxveScsICdib290c3RyYXAnKVxuICogQHBhcmFtIGRldGFpbHMgLSBOb24tc2Vuc2l0aXZlIG1ldGFkYXRhIGFib3V0IHRoZSBvcGVyYXRpb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGF1ZGl0TG9nKGNvbW1hbmQ6IHN0cmluZywgZGV0YWlscz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+KTogdm9pZCB7XG4gIHRyeSB7XG4gICAgaWYgKCFmcy5leGlzdHNTeW5jKEFVRElUX0RJUikpIHtcbiAgICAgIGZzLm1rZGlyU3luYyhBVURJVF9ESVIsIHsgcmVjdXJzaXZlOiB0cnVlLCBtb2RlOiAwbzcwMCB9KTtcbiAgICB9XG5cbiAgICAvLyBSb3RhdGUgaWYgZmlsZSBpcyB0b28gbGFyZ2UgKGtlZXBzIE1BWF9ST1RBVEVEIGFyY2hpdmVzKVxuICAgIGlmIChmcy5leGlzdHNTeW5jKEFVRElUX0ZJTEUpICYmIGZzLnN0YXRTeW5jKEFVRElUX0ZJTEUpLnNpemUgPiBNQVhfQVVESVRfU0laRSkge1xuICAgICAgcm90YXRlKCk7XG4gICAgfVxuXG4gICAgY29uc3QgZW50cnk6IEF1ZGl0RW50cnkgPSB7XG4gICAgICB0aW1lc3RhbXA6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxcbiAgICAgIGNvbW1hbmQsXG4gICAgICB1c2VyOiBvcy51c2VySW5mbygpLnVzZXJuYW1lLFxuICAgICAgZGV0YWlscyxcbiAgICB9O1xuXG4gICAgZnMuYXBwZW5kRmlsZVN5bmMoQVVESVRfRklMRSwgSlNPTi5zdHJpbmdpZnkoZW50cnkpICsgJ1xcbicsIHsgbW9kZTogMG82MDAgfSk7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIC8vIEF1ZGl0IGxvZ2dpbmcgaXMgYmVzdC1lZmZvcnQg4oCUIG5ldmVyIGJsb2NrIHRoZSBDTEkg4oCUIGJ1dCBzdXJmYWNlIHRoZSBmYWlsdXJlXG4gICAgLy8gaW4gZGVidWcgc28gYSBzaWxlbnRseS11bnJlY29yZGVkIHNlbnNpdGl2ZSBvcCBpcyBhdCBsZWFzdCBkaWFnbm9zYWJsZS5cbiAgICBwcmludERlYnVnKCdBdWRpdCBsb2cgd3JpdGUgZmFpbGVkJywgeyBjb21tYW5kLCBlcnJvcjogZXJyb3JNZXNzYWdlKGVycikgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../src/utils/config-loader.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAKhD,YAAY,EAAE,MAAM,EAAE,CAAC;AA6CvB;;;;;;;;;;;GAWG;AACH;;;;;;;;GAQG;AACH,wBAAgB,YAAY,IAAI,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAuCnD;AAED,wBAAgB,SAAS,IAAI,MAAM,CA8BlC;AAaD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,CAU7E"}
1
+ {"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../src/utils/config-loader.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAKhD,YAAY,EAAE,MAAM,EAAE,CAAC;AA6CvB;;;;;;;;;;;GAWG;AACH;;;;;;;;GAQG;AACH,wBAAgB,YAAY,IAAI,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAuCnD;AAED,wBAAgB,SAAS,IAAI,MAAM,CA8BlC;AAaD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,CAU7E"}
@@ -4,6 +4,7 @@ import * as fs from 'fs';
4
4
  import { fileURLToPath } from 'node:url';
5
5
  import * as os from 'os';
6
6
  import * as path from 'path';
7
+ import { errorMessage } from '@pipeline-builder/api-core';
7
8
  import * as yaml from 'yaml';
8
9
  import { isSessionUsable, loadSession } from './credential-store.js';
9
10
  import { printDebug, printError, printWarning } from './output-utils.js';
@@ -47,7 +48,7 @@ function loadConfigFile(filePath, config) {
47
48
  catch (error) {
48
49
  printWarning('Failed to load config file, using defaults', {
49
50
  path: filePath,
50
- error: error instanceof Error ? error.message : String(error),
51
+ error: errorMessage(error),
51
52
  });
52
53
  return config;
53
54
  }
@@ -161,4 +162,4 @@ export function getConfigWithOptions(options) {
161
162
  }
162
163
  return config;
163
164
  }
164
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLWxvYWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9jb25maWctbG9hZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtDQUErQztBQUMvQyxzQ0FBc0M7QUFFdEMsT0FBTyxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDekIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN6QyxPQUFPLEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQztBQUN6QixPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDcEUsT0FBTyxFQUFlLE1BQU0sbUJBQW1CLENBQUM7QUFFaEQsMERBQTBEO0FBQzFELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFJL0Q7O0dBRUc7QUFDSCxNQUFNLGFBQWEsR0FBeUI7SUFDMUMsR0FBRyxFQUFFO1FBQ0gsT0FBTyxFQUFFLHdCQUF3QjtRQUNqQyxPQUFPLEVBQUUsTUFBTTtRQUNmLFdBQVcsRUFBRSxlQUFlO1FBQzVCLGVBQWUsRUFBRSxnQkFBZ0I7UUFDakMsbUJBQW1CLEVBQUUseUJBQXlCO1FBQzlDLFNBQVMsRUFBRSxhQUFhO1FBQ3hCLGFBQWEsRUFBRSxjQUFjO1FBQzdCLGVBQWUsRUFBRSxvQkFBb0I7UUFDckMsa0JBQWtCLEVBQUUsSUFBSTtLQUN6QjtDQUNGLENBQUM7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QztRQUM5QixNQUFNLElBQUksS0FBSyxDQUFDLDJDQUEyQyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ3hCLFlBQVksQ0FBQyw0REFBNEQsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFRCxVQUFVLENBQUMsbUNBQW1DLENBQUMsQ0FBQztJQUVoRCxPQUFPO1FBQ0wsR0FBRyxNQUFNO1FBQ1QsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFO0tBQ2hCLENBQUM7QUFDSixDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsU0FBUyxlQUFlLENBQUMsTUFBYztJQUNyQyxPQUFPO1FBQ0wsR0FBRyxNQUFNO1FBQ1QsR0FBRyxFQUFFLEVBQUUsR0FBRyxNQUFNLENBQUMsR0FBRyxFQUFFLGtCQUFrQixFQUFFLEtBQUssRUFBRTtLQUNsRCxDQUFDO0FBQ0osQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsb0JBQW9CLENBQUMsT0FBZ0M7SUFDbkUsTUFBTSxNQUFNLEdBQUcsU0FBUyxFQUFFLENBQUM7SUFDM0IsSUFBSSxPQUFPLENBQUMsU0FBUyxLQUFLLEtBQUssRUFBRSxDQUFDO1FBQ2hDLHVFQUF1RTtRQUN2RSw2RUFBNkU7UUFDN0UsbUVBQW1FO1FBQ25FLHVCQUF1QixDQUFDLDRDQUE0QyxDQUFDLENBQUM7UUFDdEUsT0FBTyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUNELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAyNiBQaXBlbGluZSBCdWlsZGVyIENvbnRyaWJ1dG9yc1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuaW1wb3J0IHsgZmlsZVVSTFRvUGF0aCB9IGZyb20gJ25vZGU6dXJsJztcbmltcG9ydCAqIGFzIG9zIGZyb20gJ29zJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgKiBhcyB5YW1sIGZyb20gJ3lhbWwnO1xuaW1wb3J0IHsgaXNTZXNzaW9uVXNhYmxlLCBsb2FkU2Vzc2lvbiB9IGZyb20gJy4vY3JlZGVudGlhbC1zdG9yZS5qcyc7XG5pbXBvcnQgeyBwcmludERlYnVnLCBwcmludEVycm9yLCBwcmludFdhcm5pbmcgfSBmcm9tICcuL291dHB1dC11dGlscy5qcyc7XG5pbXBvcnQgeyBhc3NlcnRTc2xEaXNhYmxlQWxsb3dlZCwgaXNQcm9kdWN0aW9uRW52IH0gZnJvbSAnLi90bHMuanMnO1xuaW1wb3J0IHsgdHlwZSBDb25maWcgfSBmcm9tICcuLi90eXBlcy9pbmRleC5qcyc7XG5cbi8vIEVTTSBoYXMgbm8gX19kaXJuYW1lOyBkZXJpdmUgaXQgZnJvbSB0aGlzIG1vZHVsZSdzIFVSTC5cbmNvbnN0IF9fZGlybmFtZSA9IHBhdGguZGlybmFtZShmaWxlVVJMVG9QYXRoKGltcG9ydC5tZXRhLnVybCkpO1xuXG5leHBvcnQgdHlwZSB7IENvbmZpZyB9O1xuXG4vKipcbiAqIERlZmF1bHQgY29uZmlndXJhdGlvbiDigJQgQVBJIGVuZHBvaW50IHBhdGhzIGFuZCBjb25uZWN0aW9uIHNldHRpbmdzLlxuICovXG5jb25zdCBkZWZhdWx0Q29uZmlnOiBPbWl0PENvbmZpZywgJ2F1dGgnPiA9IHtcbiAgYXBpOiB7XG4gICAgYmFzZVVybDogJ2h0dHBzOi8vbG9jYWxob3N0Ojg0NDMnLFxuICAgIHRpbWVvdXQ6IDMwXzAwMCxcbiAgICBwaXBlbGluZVVybDogJy9hcGkvcGlwZWxpbmUnLFxuICAgIHBpcGVsaW5lTGlzdFVybDogJy9hcGkvcGlwZWxpbmVzJyxcbiAgICBwaXBlbGluZVRlbXBsYXRlVXJsOiAnL2FwaS9waXBlbGluZS10ZW1wbGF0ZXMnLFxuICAgIHBsdWdpblVybDogJy9hcGkvcGx1Z2luJyxcbiAgICBwbHVnaW5MaXN0VXJsOiAnL2FwaS9wbHVnaW5zJyxcbiAgICBwbHVnaW5VcGxvYWRVcmw6ICcvYXBpL3BsdWdpbi91cGxvYWQnLFxuICAgIHJlamVjdFVuYXV0aG9yaXplZDogdHJ1ZSxcbiAgfSxcbn07XG5cbi8qKiBVc2VyIGNvbmZpZyBmaWxlIHBhdGg6IH4vLnBpcGVsaW5lLW1hbmFnZXIvY29uZmlnLnltbCAqL1xuY29uc3QgVVNFUl9DT05GSUdfUEFUSCA9IHBhdGguam9pbihvcy5ob21lZGlyKCksICcucGlwZWxpbmUtbWFuYWdlcicsICdjb25maWcueW1sJyk7XG5cbi8qKlxuICogTG9hZCBhIFlBTUwgY29uZmlnIGZpbGUgYW5kIG1lcmdlIGl0cyBgYXBpYCBzZWN0aW9uIGludG8gdGhlIGNvbmZpZy5cbiAqIFJldHVybnMgdGhlIG1lcmdlZCBjb25maWcgb3IgdGhlIG9yaWdpbmFsIGlmIGZpbGUgZG9lc24ndCBleGlzdCBvciBmYWlscy5cbiAqL1xuZnVuY3Rpb24gbG9hZENvbmZpZ0ZpbGUoZmlsZVBhdGg6IHN0cmluZywgY29uZmlnOiBPbWl0PENvbmZpZywgJ2F1dGgnPik6IE9taXQ8Q29uZmlnLCAnYXV0aCc+IHtcbiAgaWYgKCFmcy5leGlzdHNTeW5jKGZpbGVQYXRoKSkgcmV0dXJuIGNvbmZpZztcblxuICB0cnkge1xuICAgIHByaW50RGVidWcoJ0xvYWRpbmcgY29uZmlndXJhdGlvbicsIHsgcGF0aDogZmlsZVBhdGggfSk7XG4gICAgY29uc3QgcGFyc2VkID0geWFtbC5wYXJzZShmcy5yZWFkRmlsZVN5bmMoZmlsZVBhdGgsICd1dGYtOCcpKTtcbiAgICBpZiAocGFyc2VkPy5hdXRoKSB7XG4gICAgICBwcmludFdhcm5pbmcoJ0F1dGggc2VjdGlvbiBpbiBjb25maWcgZmlsZSBpcyBpZ25vcmVkIOKAlCB1c2UgUExBVEZPUk1fVE9LRU4gZW52IHZhcicpO1xuICAgIH1cbiAgICByZXR1cm4geyBhcGk6IHsgLi4uY29uZmlnLmFwaSwgLi4ucGFyc2VkPy5hcGkgfSB9O1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIHByaW50V2FybmluZygnRmFpbGVkIHRvIGxvYWQgY29uZmlnIGZpbGUsIHVzaW5nIGRlZmF1bHRzJywge1xuICAgICAgcGF0aDogZmlsZVBhdGgsXG4gICAgICBlcnJvcjogZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiBTdHJpbmcoZXJyb3IpLFxuICAgIH0pO1xuICAgIHJldHVybiBjb25maWc7XG4gIH1cbn1cblxuLyoqXG4gKiBMb2FkIGNvbmZpZ3VyYXRpb24gZnJvbSBmaWxlcyBhbmQgZW52aXJvbm1lbnQuXG4gKlxuICogUHJpb3JpdHkgKGxhc3Qgd2lucyk6XG4gKiAxLiBCdWlsdC1pbiBkZWZhdWx0c1xuICogMi4gVXNlciBjb25maWcgZmlsZTogfi8ucGlwZWxpbmUtbWFuYWdlci9jb25maWcueW1sXG4gKiAzLiBQcm9qZWN0IGNvbmZpZyBmaWxlOiBDTElfQ09ORklHX1BBVEggb3IgLi9jb25maWcueW1sXG4gKiA0LiBFbnZpcm9ubWVudCB2YXJpYWJsZXNcbiAqXG4gKiBBdXRoIHRva2VuIGNvbWVzIGZyb20gUExBVEZPUk1fVE9LRU4sIGVsc2UgdGhlIHN0b3JlZCBgYXV0aCBsb2dpbmAgc2Vzc2lvbiDigJRcbiAqIG5ldmVyIGZyb20gYSBjb25maWcgZmlsZS5cbiAqL1xuLyoqXG4gKiBSZXNvbHZlIHRoZSBBUEkvY29ubmVjdGlvbiBjb25maWcgKGJhc2UgVVJMLCBTU0wsIHRpbWVvdXRzKSBmcm9tIGZpbGVzIGFuZFxuICogZW52aXJvbm1lbnQgV0lUSE9VVCByZXF1aXJpbmcgYFBMQVRGT1JNX1RPS0VOYC5cbiAqXG4gKiBUaGlzIGlzIHRoZSB0b2tlbi1vcHRpb25hbCBzbGljZSBvZiB7QGxpbmsgZ2V0Q29uZmlnfS4gVGhlIHByZS1hdXRoIGxvZ2luIHN0ZXBcbiAqIChgZW5zdXJlUGxhdGZvcm1Ub2tlbmApIG5lZWRzIHRoZSByZXNvbHZlZCBiYXNlIFVSTCB0byBQT1NUIGAvYXBpL2F1dGgvbG9naW5gXG4gKiAqYmVmb3JlKiBhbnkgdG9rZW4gZXhpc3RzIOKAlCBjYWxsaW5nIGBnZXRDb25maWcoKWAgdGhlcmUgd291bGQgdGhyb3cgb24gdGhlXG4gKiBtaXNzaW5nIHRva2VuIGFuZCBtYWtlIGlubGluZS1sb2dpbiBkZWFkLW9uLWFycml2YWwuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRBcGlDb25maWcoKTogT21pdDxDb25maWcsICdhdXRoJz4ge1xuICBjb25zdCBwcm9qZWN0Q29uZmlnUGF0aCA9IHByb2Nlc3MuZW52LkNMSV9DT05GSUdfUEFUSCB8fCBwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi4vY29uZmlnLnltbCcpO1xuXG4gIC8vIExheWVyIDE6IGRlZmF1bHRzIOKGkiBMYXllciAyOiB1c2VyIGNvbmZpZyDihpIgTGF5ZXIgMzogcHJvamVjdCBjb25maWcuXG4gIC8vIGBhcGlgIGlzIGNvcGllZCB0b286IGEgc2hhbGxvdyBgeyAuLi5kZWZhdWx0Q29uZmlnIH1gIHNoYXJlcyB0aGUgU0FNRSBgYXBpYFxuICAvLyBvYmplY3QsIHNvIHRoZSBgUExBVEZPUk1fQkFTRV9VUkxgIGFzc2lnbm1lbnQgYmVsb3cgbXV0YXRlZCB0aGUgbW9kdWxlLWxldmVsXG4gIC8vIGRlZmF1bHRzIGFuZCBsZWFrZWQgb25lIGNhbGxlcidzIGJhc2UgVVJMIGludG8gZXZlcnkgbGF0ZXIgcmVzb2x1dGlvbi5cbiAgbGV0IGNvbmZpZyA9IGxvYWRDb25maWdGaWxlKFVTRVJfQ09ORklHX1BBVEgsIHsgYXBpOiB7IC4uLmRlZmF1bHRDb25maWcuYXBpIH0gfSk7XG4gIGNvbmZpZyA9IGxvYWRDb25maWdGaWxlKHByb2plY3RDb25maWdQYXRoLCBjb25maWcpO1xuXG4gIC8vIExheWVyIDQ6IGVudmlyb25tZW50IHZhcmlhYmxlIG92ZXJyaWRlc1xuICBpZiAocHJvY2Vzcy5lbnYuUExBVEZPUk1fQkFTRV9VUkwpIHtcbiAgICBjb25maWcuYXBpLmJhc2VVcmwgPSBwcm9jZXNzLmVudi5QTEFURk9STV9CQVNFX1VSTDtcbiAgICBwcmludERlYnVnKCdVc2luZyBQTEFURk9STV9CQVNFX1VSTCBmcm9tIGVudmlyb25tZW50JywgeyBiYXNlVXJsOiBjb25maWcuYXBpLmJhc2VVcmwgfSk7XG4gIH1cblxuICBpZiAocHJvY2Vzcy5lbnYuVExTX1JFSkVDVF9VTkFVVEhPUklaRUQgIT09IHVuZGVmaW5lZCkge1xuICAgIGNvbnN0IGRpc2FibGUgPSBwcm9jZXNzLmVudi5UTFNfUkVKRUNUX1VOQVVUSE9SSVpFRCA9PT0gJzAnO1xuICAgIGlmIChkaXNhYmxlICYmIGlzUHJvZHVjdGlvbkVudigpKSB7XG4gICAgICBwcmludFdhcm5pbmcoJ0lnbm9yaW5nIFRMU19SRUpFQ1RfVU5BVVRIT1JJWkVEPTAgaW4gcHJvZHVjdGlvbiDigJQgU1NMIHZlcmlmaWNhdGlvbiByZW1haW5zIGVuYWJsZWQnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uZmlnLmFwaS5yZWplY3RVbmF1dGhvcml6ZWQgPSAhZGlzYWJsZTtcbiAgICAgIGlmIChkaXNhYmxlKSB7XG4gICAgICAgIHByaW50V2FybmluZygnU1NMIGNlcnRpZmljYXRlIHZhbGlkYXRpb24gZGlzYWJsZWQgdmlhIFRMU19SRUpFQ1RfVU5BVVRIT1JJWkVEPTAnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpZiAocHJvY2Vzcy5lbnYuVVBMT0FEX1RJTUVPVVQpIHtcbiAgICBjb25zdCBwYXJzZWQgPSBwYXJzZUludChwcm9jZXNzLmVudi5VUExPQURfVElNRU9VVCwgMTApO1xuICAgIGlmICghaXNOYU4ocGFyc2VkKSAmJiBwYXJzZWQgPiAwKSB7XG4gICAgICBjb25maWcuYXBpLnVwbG9hZFRpbWVvdXQgPSBwYXJzZWQ7XG4gICAgICBwcmludERlYnVnKCdVc2luZyBVUExPQURfVElNRU9VVCBmcm9tIGVudmlyb25tZW50JywgeyB1cGxvYWRUaW1lb3V0OiBgJHtwYXJzZWR9bXNgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBwcmludFdhcm5pbmcoJ0ludmFsaWQgVVBMT0FEX1RJTUVPVVQgdmFsdWUsIHVzaW5nIGRlZmF1bHQnLCB7IHByb3ZpZGVkOiBwcm9jZXNzLmVudi5VUExPQURfVElNRU9VVCB9KTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gY29uZmlnO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q29uZmlnKCk6IENvbmZpZyB7XG4gIGNvbnN0IGNvbmZpZyA9IGdldEFwaUNvbmZpZygpO1xuXG4gIC8vIFBMQVRGT1JNX1RPS0VOIHdpbnMgKGFuIGFjY2VzcyBrZXkgaW4gQ0ksIG9yIGFuIGV4cGxpY2l0IGV4cG9ydCk7IG90aGVyd2lzZVxuICAvLyBmYWxsIGJhY2sgdG8gdGhlIHNlc3Npb24gYGF1dGggbG9naW5gIHN0b3JlZCBmb3IgVEhJUyBwbGF0Zm9ybS4gQSBzdG9yZWRcbiAgLy8gc2Vzc2lvbiB0aGF0IGhhcyBhbHJlYWR5IGV4cGlyZWQgaXMgaWdub3JlZCByYXRoZXIgdGhhbiBzZW50IGFuZCByZWplY3RlZCDigJRcbiAgLy8gdGhlIGFzeW5jIHBhdGggKGByZXNvbHZlVG9rZW5gKSByZWZyZXNoZXMgaXQsIGFuZCBldmVyeXRoaW5nIGVsc2UgdGVsbHMgdGhlXG4gIC8vIHVzZXIgdG8gc2lnbiBpbiBhZ2Fpbi5cbiAgY29uc3Qgc3RvcmVkID0gbG9hZFNlc3Npb24oY29uZmlnLmFwaS5iYXNlVXJsKTtcbiAgY29uc3QgdG9rZW4gPSBwcm9jZXNzLmVudi5QTEFURk9STV9UT0tFTiB8fCAoaXNTZXNzaW9uVXNhYmxlKHN0b3JlZCkgPyBzdG9yZWQuYWNjZXNzVG9rZW4gOiB1bmRlZmluZWQpO1xuXG4gIGlmICghdG9rZW4pIHtcbiAgICBwcmludEVycm9yKCdOb3Qgc2lnbmVkIGluOiBubyBQTEFURk9STV9UT0tFTiwgYW5kIG5vIHZhbGlkIHN0b3JlZCBzZXNzaW9uIGZvciB0aGlzIHBsYXRmb3JtJyk7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdSdW4gXCJwaXBlbGluZS1tYW5hZ2VyIGF1dGggbG9naW5cIiwgb3Igc2V0IFBMQVRGT1JNX1RPS0VOIHRvIGFuIGFjY2VzcyBrZXknKTtcbiAgfVxuXG4gIGlmICh0b2tlbi50cmltKCkubGVuZ3RoID09PSAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdQTEFURk9STV9UT0tFTiBtdXN0IGJlIGEgbm9uLWVtcHR5IHN0cmluZycpO1xuICB9XG5cbiAgaWYgKHRva2VuLmluY2x1ZGVzKCcgJykpIHtcbiAgICBwcmludFdhcm5pbmcoJ1BMQVRGT1JNX1RPS0VOIGNvbnRhaW5zIHdoaXRlc3BhY2Ug4oCUIHRoaXMgbWF5IGNhdXNlIGlzc3VlcycpO1xuICB9XG5cbiAgcHJpbnREZWJ1ZygnQ29uZmlndXJhdGlvbiBsb2FkZWQgc3VjY2Vzc2Z1bGx5Jyk7XG5cbiAgcmV0dXJuIHtcbiAgICAuLi5jb25maWcsXG4gICAgYXV0aDogeyB0b2tlbiB9LFxuICB9O1xufVxuXG4vKipcbiAqIFJldHVybiBhIGNvcHkgb2YgYGNvbmZpZ2Agd2l0aCBTU0wgdmVyaWZpY2F0aW9uIGRpc2FibGVkLiBNb2R1bGUtcHJpdmF0ZSDigJQgdGhlXG4gKiBvbmx5IGNhbGxlciBpcyBgZ2V0Q29uZmlnV2l0aE9wdGlvbnNgIGJlbG93LlxuICovXG5mdW5jdGlvbiB3aXRoU1NMRGlzYWJsZWQoY29uZmlnOiBDb25maWcpOiBDb25maWcge1xuICByZXR1cm4ge1xuICAgIC4uLmNvbmZpZyxcbiAgICBhcGk6IHsgLi4uY29uZmlnLmFwaSwgcmVqZWN0VW5hdXRob3JpemVkOiBmYWxzZSB9LFxuICB9O1xufVxuXG4vKipcbiAqIExvYWQgY29uZmlndXJhdGlvbiwgb3B0aW9uYWxseSBkaXNhYmxpbmcgU1NMIGJhc2VkIG9uIGNvbW1hbmQgb3B0aW9ucy5cbiAqIFJlcGxhY2VzIHRoZSByZXBlYXRlZCBwYXR0ZXJuOlxuICogICBgb3B0aW9ucy52ZXJpZnlTc2wgPT09IGZhbHNlID8gd2l0aFNTTERpc2FibGVkKGdldENvbmZpZygpKSA6IGdldENvbmZpZygpYFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q29uZmlnV2l0aE9wdGlvbnMob3B0aW9uczogeyB2ZXJpZnlTc2w/OiBib29sZWFuIH0pOiBDb25maWcge1xuICBjb25zdCBjb25maWcgPSBnZXRDb25maWcoKTtcbiAgaWYgKG9wdGlvbnMudmVyaWZ5U3NsID09PSBmYWxzZSkge1xuICAgIC8vIEV2ZXJ5IGF1dGhlbnRpY2F0ZWQgY29tbWFuZCBmbG93cyBpdHMgdG9rZW4gdGhyb3VnaCBoZXJlIOKAlCByZWZ1c2UgdG9cbiAgICAvLyBkaXNhYmxlIGNlcnQgdmVyaWZpY2F0aW9uIGluIHByb2R1Y3Rpb24gKG1pcnJvcnMgdGhlIGxvZ2luL3JlbmV3YWwgZ3VhcmRzKVxuICAgIC8vIHNvIGEgTUlUTSBjYW4ndCBoYXJ2ZXN0IHRoZSBCZWFyZXIgSldULiBOby1vcCBpbiBub24tcHJvZHVjdGlvbi5cbiAgICBhc3NlcnRTc2xEaXNhYmxlQWxsb3dlZCgnYXV0aGVudGljYXRlZCBBUEkgY2xpZW50ICgtLW5vLXZlcmlmeS1zc2wpJyk7XG4gICAgcmV0dXJuIHdpdGhTU0xEaXNhYmxlZChjb25maWcpO1xuICB9XG4gIHJldHVybiBjb25maWc7XG59XG4iXX0=
165
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLWxvYWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9jb25maWctbG9hZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtDQUErQztBQUMvQyxzQ0FBc0M7QUFFdEMsT0FBTyxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDekIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN6QyxPQUFPLEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQztBQUN6QixPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUQsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7QUFDN0IsT0FBTyxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsZUFBZSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BFLE9BQU8sRUFBZSxNQUFNLG1CQUFtQixDQUFDO0FBRWhELDBEQUEwRDtBQUMxRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBSS9EOztHQUVHO0FBQ0gsTUFBTSxhQUFhLEdBQXlCO0lBQzFDLEdBQUcsRUFBRTtRQUNILE9BQU8sRUFBRSx3QkFBd0I7UUFDakMsT0FBTyxFQUFFLE1BQU07UUFDZixXQUFXLEVBQUUsZUFBZTtRQUM1QixlQUFlLEVBQUUsZ0JBQWdCO1FBQ2pDLG1CQUFtQixFQUFFLHlCQUF5QjtRQUM5QyxTQUFTLEVBQUUsYUFBYTtRQUN4QixhQUFhLEVBQUUsY0FBYztRQUM3QixlQUFlLEVBQUUsb0JB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LEtBQUssQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUN4QixZQUFZLENBQUMsNERBQTRELENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBRUQsVUFBVSxDQUFDLG1DQUFtQyxDQUFDLENBQUM7SUFFaEQsT0FBTztRQUNMLEdBQUcsTUFBTTtRQUNULElBQUksRUFBRSxFQUFFLEtBQUssRUFBRTtLQUNoQixDQUFDO0FBQ0osQ0FBQztBQUVEOzs7R0FHRztBQUNILFNBQVMsZUFBZSxDQUFDLE1BQWM7SUFDckMsT0FBTztRQUNMLEdBQUcsTUFBTTtRQUNULEdBQUcsRUFBRSxFQUFFLEdBQUcsTUFBTSxDQUFDLEdBQUcsRUFBRSxrQkFBa0IsRUFBRSxLQUFLLEVBQUU7S0FDbEQsQ0FBQztBQUNKLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLG9CQUFvQixDQUFDLE9BQWdDO0lBQ25FLE1BQU0sTUFBTSxHQUFHLFNBQVMsRUFBRSxDQUFDO0lBQzNCLElBQUksT0FBTyxDQUFDLFNBQVMsS0FBSyxLQUFLLEVBQUUsQ0FBQztRQUNoQyx1RUFBdUU7UUFDdkUsNkVBQTZFO1FBQzdFLG1FQUFtRTtRQUNuRSx1QkFBdUIsQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFDO1FBQ3RFLE9BQU8sZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFDRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzJztcbmltcG9ydCB7IGZpbGVVUkxUb1BhdGggfSBmcm9tICdub2RlOnVybCc7XG5pbXBvcnQgKiBhcyBvcyBmcm9tICdvcyc7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgZXJyb3JNZXNzYWdlIH0gZnJvbSAnQHBpcGVsaW5lLWJ1aWxkZXIvYXBpLWNvcmUnO1xuaW1wb3J0ICogYXMgeWFtbCBmcm9tICd5YW1sJztcbmltcG9ydCB7IGlzU2Vzc2lvblVzYWJsZSwgbG9hZFNlc3Npb24gfSBmcm9tICcuL2NyZWRlbnRpYWwtc3RvcmUuanMnO1xuaW1wb3J0IHsgcHJpbnREZWJ1ZywgcHJpbnRFcnJvciwgcHJpbnRXYXJuaW5nIH0gZnJvbSAnLi9vdXRwdXQtdXRpbHMuanMnO1xuaW1wb3J0IHsgYXNzZXJ0U3NsRGlzYWJsZUFsbG93ZWQsIGlzUHJvZHVjdGlvbkVudiB9IGZyb20gJy4vdGxzLmpzJztcbmltcG9ydCB7IHR5cGUgQ29uZmlnIH0gZnJvbSAnLi4vdHlwZXMvaW5kZXguanMnO1xuXG4vLyBFU00gaGFzIG5vIF9fZGlybmFtZTsgZGVyaXZlIGl0IGZyb20gdGhpcyBtb2R1bGUncyBVUkwuXG5jb25zdCBfX2Rpcm5hbWUgPSBwYXRoLmRpcm5hbWUoZmlsZVVSTFRvUGF0aChpbXBvcnQubWV0YS51cmwpKTtcblxuZXhwb3J0IHR5cGUgeyBDb25maWcgfTtcblxuLyoqXG4gKiBEZWZhdWx0IGNvbmZpZ3VyYXRpb24g4oCUIEFQSSBlbmRwb2ludCBwYXRocyBhbmQgY29ubmVjdGlvbiBzZXR0aW5ncy5cbiAqL1xuY29uc3QgZGVmYXVsdENvbmZpZzogT21pdDxDb25maWcsICdhdXRoJz4gPSB7XG4gIGFwaToge1xuICAgIGJhc2VVcmw6ICdodHRwczovL2xvY2FsaG9zdDo4NDQzJyxcbiAgICB0aW1lb3V0OiAzMF8wMDAsXG4gICAgcGlwZWxpbmVVcmw6ICcvYXBpL3BpcGVsaW5lJyxcbiAgICBwaXBlbGluZUxpc3RVcmw6ICcvYXBpL3BpcGVsaW5lcycsXG4gICAgcGlwZWxpbmVUZW1wbGF0ZVVybDogJy9hcGkvcGlwZWxpbmUtdGVtcGxhdGVzJyxcbiAgICBwbHVnaW5Vcmw6ICcvYXBpL3BsdWdpbicsXG4gICAgcGx1Z2luTGlzdFVybDogJy9hcGkvcGx1Z2lucycsXG4gICAgcGx1Z2luVXBsb2FkVXJsOiAnL2FwaS9wbHVnaW4vdXBsb2FkJyxcbiAgICByZWplY3RVbmF1dGhvcml6ZWQ6IHRydWUsXG4gIH0sXG59O1xuXG4vKiogVXNlciBjb25maWcgZmlsZSBwYXRoOiB+Ly5waXBlbGluZS1tYW5hZ2VyL2NvbmZpZy55bWwgKi9cbmNvbnN0IFVTRVJfQ09ORklHX1BBVEggPSBwYXRoLmpvaW4ob3MuaG9tZWRpcigpLCAnLnBpcGVsaW5lLW1hbmFnZXInLCAnY29uZmlnLnltbCcpO1xuXG4vKipcbiAqIExvYWQgYSBZQU1MIGNvbmZpZyBmaWxlIGFuZCBtZXJnZSBpdHMgYGFwaWAgc2VjdGlvbiBpbnRvIHRoZSBjb25maWcuXG4gKiBSZXR1cm5zIHRoZSBtZXJnZWQgY29uZmlnIG9yIHRoZSBvcmlnaW5hbCBpZiBmaWxlIGRvZXNuJ3QgZXhpc3Qgb3IgZmFpbHMuXG4gKi9cbmZ1bmN0aW9uIGxvYWRDb25maWdGaWxlKGZpbGVQYXRoOiBzdHJpbmcsIGNvbmZpZzogT21pdDxDb25maWcsICdhdXRoJz4pOiBPbWl0PENvbmZpZywgJ2F1dGgnPiB7XG4gIGlmICghZnMuZXhpc3RzU3luYyhmaWxlUGF0aCkpIHJldHVybiBjb25maWc7XG5cbiAgdHJ5IHtcbiAgICBwcmludERlYnVnKCdMb2FkaW5nIGNvbmZpZ3VyYXRpb24nLCB7IHBhdGg6IGZpbGVQYXRoIH0pO1xuICAgIGNvbnN0IHBhcnNlZCA9IHlhbWwucGFyc2UoZnMucmVhZEZpbGVTeW5jKGZpbGVQYXRoLCAndXRmLTgnKSk7XG4gICAgaWYgKHBhcnNlZD8uYXV0aCkge1xuICAgICAgcHJpbnRXYXJuaW5nKCdBdXRoIHNlY3Rpb24gaW4gY29uZmlnIGZpbGUgaXMgaWdub3JlZCDigJQgdXNlIFBMQVRGT1JNX1RPS0VOIGVudiB2YXInKTtcbiAgICB9XG4gICAgcmV0dXJuIHsgYXBpOiB7IC4uLmNvbmZpZy5hcGksIC4uLnBhcnNlZD8uYXBpIH0gfTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBwcmludFdhcm5pbmcoJ0ZhaWxlZCB0byBsb2FkIGNvbmZpZyBmaWxlLCB1c2luZyBkZWZhdWx0cycsIHtcbiAgICAgIHBhdGg6IGZpbGVQYXRoLFxuICAgICAgZXJyb3I6IGVycm9yTWVzc2FnZShlcnJvciksXG4gICAgfSk7XG4gICAgcmV0dXJuIGNvbmZpZztcbiAgfVxufVxuXG4vKipcbiAqIExvYWQgY29uZmlndXJhdGlvbiBmcm9tIGZpbGVzIGFuZCBlbnZpcm9ubWVudC5cbiAqXG4gKiBQcmlvcml0eSAobGFzdCB3aW5zKTpcbiAqIDEuIEJ1aWx0LWluIGRlZmF1bHRzXG4gKiAyLiBVc2VyIGNvbmZpZyBmaWxlOiB+Ly5waXBlbGluZS1tYW5hZ2VyL2NvbmZpZy55bWxcbiAqIDMuIFByb2plY3QgY29uZmlnIGZpbGU6IENMSV9DT05GSUdfUEFUSCBvciAuL2NvbmZpZy55bWxcbiAqIDQuIEVudmlyb25tZW50IHZhcmlhYmxlc1xuICpcbiAqIEF1dGggdG9rZW4gY29tZXMgZnJvbSBQTEFURk9STV9UT0tFTiwgZWxzZSB0aGUgc3RvcmVkIGBhdXRoIGxvZ2luYCBzZXNzaW9uIOKAlFxuICogbmV2ZXIgZnJvbSBhIGNvbmZpZyBmaWxlLlxuICovXG4vKipcbiAqIFJlc29sdmUgdGhlIEFQSS9jb25uZWN0aW9uIGNvbmZpZyAoYmFzZSBVUkwsIFNTTCwgdGltZW91dHMpIGZyb20gZmlsZXMgYW5kXG4gKiBlbnZpcm9ubWVudCBXSVRIT1VUIHJlcXVpcmluZyBgUExBVEZPUk1fVE9LRU5gLlxuICpcbiAqIFRoaXMgaXMgdGhlIHRva2VuLW9wdGlvbmFsIHNsaWNlIG9mIHtAbGluayBnZXRDb25maWd9LiBUaGUgcHJlLWF1dGggbG9naW4gc3RlcFxuICogKGBlbnN1cmVQbGF0Zm9ybVRva2VuYCkgbmVlZHMgdGhlIHJlc29sdmVkIGJhc2UgVVJMIHRvIFBPU1QgYC9hcGkvYXV0aC9sb2dpbmBcbiAqICpiZWZvcmUqIGFueSB0b2tlbiBleGlzdHMg4oCUIGNhbGxpbmcgYGdldENvbmZpZygpYCB0aGVyZSB3b3VsZCB0aHJvdyBvbiB0aGVcbiAqIG1pc3NpbmcgdG9rZW4gYW5kIG1ha2UgaW5saW5lLWxvZ2luIGRlYWQtb24tYXJyaXZhbC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEFwaUNvbmZpZygpOiBPbWl0PENvbmZpZywgJ2F1dGgnPiB7XG4gIGNvbnN0IHByb2plY3RDb25maWdQYXRoID0gcHJvY2Vzcy5lbnYuQ0xJX0NPTkZJR19QQVRIIHx8IHBhdGguam9pbihfX2Rpcm5hbWUsICcuLi9jb25maWcueW1sJyk7XG5cbiAgLy8gTGF5ZXIgMTogZGVmYXVsdHMg4oaSIExheWVyIDI6IHVzZXIgY29uZmlnIOKGkiBMYXllciAzOiBwcm9qZWN0IGNvbmZpZy5cbiAgLy8gYGFwaWAgaXMgY29waWVkIHRvbzogYSBzaGFsbG93IGB7IC4uLmRlZmF1bHRDb25maWcgfWAgc2hhcmVzIHRoZSBTQU1FIGBhcGlgXG4gIC8vIG9iamVjdCwgc28gdGhlIGBQTEFURk9STV9CQVNFX1VSTGAgYXNzaWdubWVudCBiZWxvdyBtdXRhdGVkIHRoZSBtb2R1bGUtbGV2ZWxcbiAgLy8gZGVmYXVsdHMgYW5kIGxlYWtlZCBvbmUgY2FsbGVyJ3MgYmFzZSBVUkwgaW50byBldmVyeSBsYXRlciByZXNvbHV0aW9uLlxuICBsZXQgY29uZmlnID0gbG9hZENvbmZpZ0ZpbGUoVVNFUl9DT05GSUdfUEFUSCwgeyBhcGk6IHsgLi4uZGVmYXVsdENvbmZpZy5hcGkgfSB9KTtcbiAgY29uZmlnID0gbG9hZENvbmZpZ0ZpbGUocHJvamVjdENvbmZpZ1BhdGgsIGNvbmZpZyk7XG5cbiAgLy8gTGF5ZXIgNDogZW52aXJvbm1lbnQgdmFyaWFibGUgb3ZlcnJpZGVzXG4gIGlmIChwcm9jZXNzLmVudi5QTEFURk9STV9CQVNFX1VSTCkge1xuICAgIGNvbmZpZy5hcGkuYmFzZVVybCA9IHByb2Nlc3MuZW52LlBMQVRGT1JNX0JBU0VfVVJMO1xuICAgIHByaW50RGVidWcoJ1VzaW5nIFBMQVRGT1JNX0JBU0VfVVJMIGZyb20gZW52aXJvbm1lbnQnLCB7IGJhc2VVcmw6IGNvbmZpZy5hcGkuYmFzZVVybCB9KTtcbiAgfVxuXG4gIGlmIChwcm9jZXNzLmVudi5UTFNfUkVKRUNUX1VOQVVUSE9SSVpFRCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgY29uc3QgZGlzYWJsZSA9IHByb2Nlc3MuZW52LlRMU19SRUpFQ1RfVU5BVVRIT1JJWkVEID09PSAnMCc7XG4gICAgaWYgKGRpc2FibGUgJiYgaXNQcm9kdWN0aW9uRW52KCkpIHtcbiAgICAgIHByaW50V2FybmluZygnSWdub3JpbmcgVExTX1JFSkVDVF9VTkFVVEhPUklaRUQ9MCBpbiBwcm9kdWN0aW9uIOKAlCBTU0wgdmVyaWZpY2F0aW9uIHJlbWFpbnMgZW5hYmxlZCcpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25maWcuYXBpLnJlamVjdFVuYXV0aG9yaXplZCA9ICFkaXNhYmxlO1xuICAgICAgaWYgKGRpc2FibGUpIHtcbiAgICAgICAgcHJpbnRXYXJuaW5nKCdTU0wgY2VydGlmaWNhdGUgdmFsaWRhdGlvbiBkaXNhYmxlZCB2aWEgVExTX1JFSkVDVF9VTkFVVEhPUklaRUQ9MCcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlmIChwcm9jZXNzLmVudi5VUExPQURfVElNRU9VVCkge1xuICAgIGNvbnN0IHBhcnNlZCA9IHBhcnNlSW50KHByb2Nlc3MuZW52LlVQTE9BRF9USU1FT1VULCAxMCk7XG4gICAgaWYgKCFpc05hTihwYXJzZWQpICYmIHBhcnNlZCA+IDApIHtcbiAgICAgIGNvbmZpZy5hcGkudXBsb2FkVGltZW91dCA9IHBhcnNlZDtcbiAgICAgIHByaW50RGVidWcoJ1VzaW5nIFVQTE9BRF9USU1FT1VUIGZyb20gZW52aXJvbm1lbnQnLCB7IHVwbG9hZFRpbWVvdXQ6IGAke3BhcnNlZH1tc2AgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHByaW50V2FybmluZygnSW52YWxpZCBVUExPQURfVElNRU9VVCB2YWx1ZSwgdXNpbmcgZGVmYXVsdCcsIHsgcHJvdmlkZWQ6IHByb2Nlc3MuZW52LlVQTE9BRF9USU1FT1VUIH0pO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBjb25maWc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDb25maWcoKTogQ29uZmlnIHtcbiAgY29uc3QgY29uZmlnID0gZ2V0QXBpQ29uZmlnKCk7XG5cbiAgLy8gUExBVEZPUk1fVE9LRU4gd2lucyAoYW4gYWNjZXNzIGtleSBpbiBDSSwgb3IgYW4gZXhwbGljaXQgZXhwb3J0KTsgb3RoZXJ3aXNlXG4gIC8vIGZhbGwgYmFjayB0byB0aGUgc2Vzc2lvbiBgYXV0aCBsb2dpbmAgc3RvcmVkIGZvciBUSElTIHBsYXRmb3JtLiBBIHN0b3JlZFxuICAvLyBzZXNzaW9uIHRoYXQgaGFzIGFscmVhZHkgZXhwaXJlZCBpcyBpZ25vcmVkIHJhdGhlciB0aGFuIHNlbnQgYW5kIHJlamVjdGVkIOKAlFxuICAvLyB0aGUgYXN5bmMgcGF0aCAoYHJlc29sdmVUb2tlbmApIHJlZnJlc2hlcyBpdCwgYW5kIGV2ZXJ5dGhpbmcgZWxzZSB0ZWxscyB0aGVcbiAgLy8gdXNlciB0byBzaWduIGluIGFnYWluLlxuICBjb25zdCBzdG9yZWQgPSBsb2FkU2Vzc2lvbihjb25maWcuYXBpLmJhc2VVcmwpO1xuICBjb25zdCB0b2tlbiA9IHByb2Nlc3MuZW52LlBMQVRGT1JNX1RPS0VOIHx8IChpc1Nlc3Npb25Vc2FibGUoc3RvcmVkKSA/IHN0b3JlZC5hY2Nlc3NUb2tlbiA6IHVuZGVmaW5lZCk7XG5cbiAgaWYgKCF0b2tlbikge1xuICAgIHByaW50RXJyb3IoJ05vdCBzaWduZWQgaW46IG5vIFBMQVRGT1JNX1RPS0VOLCBhbmQgbm8gdmFsaWQgc3RvcmVkIHNlc3Npb24gZm9yIHRoaXMgcGxhdGZvcm0nKTtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1J1biBcInBpcGVsaW5lLW1hbmFnZXIgYXV0aCBsb2dpblwiLCBvciBzZXQgUExBVEZPUk1fVE9LRU4gdG8gYW4gYWNjZXNzIGtleScpO1xuICB9XG5cbiAgaWYgKHRva2VuLnRyaW0oKS5sZW5ndGggPT09IDApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1BMQVRGT1JNX1RPS0VOIG11c3QgYmUgYSBub24tZW1wdHkgc3RyaW5nJyk7XG4gIH1cblxuICBpZiAodG9rZW4uaW5jbHVkZXMoJyAnKSkge1xuICAgIHByaW50V2FybmluZygnUExBVEZPUk1fVE9LRU4gY29udGFpbnMgd2hpdGVzcGFjZSDigJQgdGhpcyBtYXkgY2F1c2UgaXNzdWVzJyk7XG4gIH1cblxuICBwcmludERlYnVnKCdDb25maWd1cmF0aW9uIGxvYWRlZCBzdWNjZXNzZnVsbHknKTtcblxuICByZXR1cm4ge1xuICAgIC4uLmNvbmZpZyxcbiAgICBhdXRoOiB7IHRva2VuIH0sXG4gIH07XG59XG5cbi8qKlxuICogUmV0dXJuIGEgY29weSBvZiBgY29uZmlnYCB3aXRoIFNTTCB2ZXJpZmljYXRpb24gZGlzYWJsZWQuIE1vZHVsZS1wcml2YXRlIOKAlCB0aGVcbiAqIG9ubHkgY2FsbGVyIGlzIGBnZXRDb25maWdXaXRoT3B0aW9uc2AgYmVsb3cuXG4gKi9cbmZ1bmN0aW9uIHdpdGhTU0xEaXNhYmxlZChjb25maWc6IENvbmZpZyk6IENvbmZpZyB7XG4gIHJldHVybiB7XG4gICAgLi4uY29uZmlnLFxuICAgIGFwaTogeyAuLi5jb25maWcuYXBpLCByZWplY3RVbmF1dGhvcml6ZWQ6IGZhbHNlIH0sXG4gIH07XG59XG5cbi8qKlxuICogTG9hZCBjb25maWd1cmF0aW9uLCBvcHRpb25hbGx5IGRpc2FibGluZyBTU0wgYmFzZWQgb24gY29tbWFuZCBvcHRpb25zLlxuICogUmVwbGFjZXMgdGhlIHJlcGVhdGVkIHBhdHRlcm46XG4gKiAgIGBvcHRpb25zLnZlcmlmeVNzbCA9PT0gZmFsc2UgPyB3aXRoU1NMRGlzYWJsZWQoZ2V0Q29uZmlnKCkpIDogZ2V0Q29uZmlnKClgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRDb25maWdXaXRoT3B0aW9ucyhvcHRpb25zOiB7IHZlcmlmeVNzbD86IGJvb2xlYW4gfSk6IENvbmZpZyB7XG4gIGNvbnN0IGNvbmZpZyA9IGdldENvbmZpZygpO1xuICBpZiAob3B0aW9ucy52ZXJpZnlTc2wgPT09IGZhbHNlKSB7XG4gICAgLy8gRXZlcnkgYXV0aGVudGljYXRlZCBjb21tYW5kIGZsb3dzIGl0cyB0b2tlbiB0aHJvdWdoIGhlcmUg4oCUIHJlZnVzZSB0b1xuICAgIC8vIGRpc2FibGUgY2VydCB2ZXJpZmljYXRpb24gaW4gcHJvZHVjdGlvbiAobWlycm9ycyB0aGUgbG9naW4vcmVuZXdhbCBndWFyZHMpXG4gICAgLy8gc28gYSBNSVRNIGNhbid0IGhhcnZlc3QgdGhlIEJlYXJlciBKV1QuIE5vLW9wIGluIG5vbi1wcm9kdWN0aW9uLlxuICAgIGFzc2VydFNzbERpc2FibGVBbGxvd2VkKCdhdXRoZW50aWNhdGVkIEFQSSBjbGllbnQgKC0tbm8tdmVyaWZ5LXNzbCknKTtcbiAgICByZXR1cm4gd2l0aFNTTERpc2FibGVkKGNvbmZpZyk7XG4gIH1cbiAgcmV0dXJuIGNvbmZpZztcbn1cbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"credential-store.d.ts","sourceRoot":"","sources":["../../src/utils/credential-store.ts"],"names":[],"mappings":"AA+BA,qCAAqC;AACrC,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,iFAAiF;IACjF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yCAAyC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,4EAA4E;IAC5E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;CACjB;AAOD,kEAAkE;AAClE,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAgCD,qEAAqE;AACrE,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,GAAG,IAAI,CAK1F;AAED;2DAC2D;AAC3D,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAEtE;AAED,uFAAuF;AACvF,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAalD;AAED,+EAA+E;AAC/E,wBAAgB,eAAe,CAAC,OAAO,EAAE,aAAa,GAAG,SAAS,GAAG,OAAO,IAAI,aAAa,CAE5F"}
1
+ {"version":3,"file":"credential-store.d.ts","sourceRoot":"","sources":["../../src/utils/credential-store.ts"],"names":[],"mappings":"AAgCA,qCAAqC;AACrC,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,iFAAiF;IACjF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yCAAyC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,4EAA4E;IAC5E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;CACjB;AAOD,kEAAkE;AAClE,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAgCD,qEAAqE;AACrE,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,GAAG,IAAI,CAK1F;AAED;2DAC2D;AAC3D,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAEtE;AAED,uFAAuF;AACvF,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAalD;AAED,+EAA+E;AAC/E,wBAAgB,eAAe,CAAC,OAAO,EAAE,aAAa,GAAG,SAAS,GAAG,OAAO,IAAI,aAAa,CAE5F"}
@@ -19,6 +19,7 @@
19
19
  import fs from 'fs';
20
20
  import os from 'os';
21
21
  import path from 'path';
22
+ import { errorMessage } from '@pipeline-builder/api-core';
22
23
  import { printDebug, printWarning } from './output-utils.js';
23
24
  const STORE_DIR = path.join(os.homedir(), '.pipeline-manager');
24
25
  const STORE_FILE = path.join(STORE_DIR, 'credentials.json');
@@ -81,7 +82,7 @@ export function clearSession(baseUrl) {
81
82
  // Losing the ability to clear a dead session is a nuisance, not a failure.
82
83
  printWarning('Could not update the stored credentials', {
83
84
  path: STORE_FILE,
84
- error: error instanceof Error ? error.message : String(error),
85
+ error: errorMessage(error),
85
86
  });
86
87
  }
87
88
  }
@@ -89,4 +90,4 @@ export function clearSession(baseUrl) {
89
90
  export function isSessionUsable(session) {
90
91
  return !!session?.accessToken && session.expiresAt - EXPIRY_SKEW_MS > Date.now();
91
92
  }
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlZGVudGlhbC1zdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9jcmVkZW50aWFsLXN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtDQUErQztBQUMvQyxzQ0FBc0M7QUFFdEM7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBQ3BCLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQztBQUNwQixPQUFPLElBQUksTUFBTSxNQUFNLENBQUM7QUFDeEIsT0FBTyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUU3RCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO0FBQy9ELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLGtCQUFrQixDQUFDLENBQUM7QUFFNUQseUVBQXlFO0FBQ3pFLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQztBQW1COUIsa0VBQWtFO0FBQ2xFLE1BQU0sVUFBVSxtQkFBbUI7SUFDakMsT0FBTyxVQUFVLENBQUM7QUFDcEIsQ0FBQztBQUVEOzs7R0FHRztBQUNILFNBQVMsUUFBUSxDQUFDLE9BQWU7SUFDL0IsT0FBTyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztBQUMxRCxDQUFDO0FBRUQsU0FBUyxTQUFTO0lBQ2hCLElBQUksQ0FBQztRQUNILE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUNoRSxJQUFJLE1BQU0sRUFBRSxPQUFPLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxRQUFRLElBQUksT0FBTyxNQUFNLENBQUMsUUFBUSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ3BGLE9BQU8sTUFBbUIsQ0FBQztRQUM3QixDQUFDO0lBQ0gsQ0FBQztJQUFDLE1BQU0sQ0FBQztRQUNQLDZFQUE2RTtRQUM3RSxtREFBbUQ7SUFDckQsQ0FBQztJQUNELE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsQ0FBQztBQUN0QyxDQUFDO0FBRUQsU0FBUyxVQUFVLENBQUMsS0FBZ0I7SUFDbEMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQzFELDRFQUE0RTtJQUM1RSxrRkFBa0Y7SUFDbEYsTUFBTSxHQUFHLEdBQUcsR0FBRyxVQUFVLE1BQU0sQ0FBQztJQUNoQyxFQUFFLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDOUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFDakMsQ0FBQztBQUVELHFFQUFxRTtBQUNyRSxNQUFNLFVBQVUsV0FBVyxDQUFDLE9BQWUsRUFBRSxPQUF1QztJQUNsRixNQUFNLEtBQUssR0FBRyxTQUFTLEVBQUUsQ0FBQztJQUMxQixLQUFLLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQztJQUN0RixVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEIsVUFBVSxDQUFDLGdCQUFnQixFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUNsRixDQUFDO0FBRUQ7MkRBQzJEO0FBQzNELE1BQU0sVUFBVSxXQUFXLENBQUMsT0FBZTtJQUN6QyxPQUFPLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztBQUNqRCxDQUFDO0FBRUQsdUZBQXVGO0FBQ3ZGLE1BQU0sVUFBVSxZQUFZLENBQUMsT0FBZTtJQUMxQyxNQUFNLEtBQUssR0FBRyxTQUFTLEVBQUUsQ0FBQztJQUMxQixJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQztRQUFFLE9BQU87SUFDbkQsT0FBTyxLQUFLLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3pDLElBQUksQ0FBQztRQUNILFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLDJFQUEyRTtRQUMzRSxZQUFZLENBQUMseUNBQXlDLEVBQUU7WUFDdEQsSUFBSSxFQUFFLFVBQVU7WUFDaEIsS0FBSyxFQUFFLEtBQUssWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7U0FDOUQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztBQUNILENBQUM7QUFFRCwrRUFBK0U7QUFDL0UsTUFBTSxVQUFVLGVBQWUsQ0FBQyxPQUFrQztJQUNoRSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsV0FBVyxJQUFJLE9BQU8sQ0FBQyxTQUFTLEdBQUcsY0FBYyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUNuRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbi8qKlxuICogT24tZGlzayBzZXNzaW9uIHN0b3JlIGZvciBgYXV0aCBsb2dpbmAuXG4gKlxuICogYH4vLnBpcGVsaW5lLW1hbmFnZXIvY3JlZGVudGlhbHMuanNvbmAsIG93bmVyLW9ubHkgKDA2MDAgZmlsZSBpbnNpZGUgdGhlIDA3MDBcbiAqIGRpcmVjdG9yeSB0aGUgYXVkaXQgbG9nIGFscmVhZHkgY3JlYXRlcyksIGtleWVkIGJ5IHBsYXRmb3JtIGJhc2UgVVJMIHNvIG9uZVxuICogbWFjaGluZSBjYW4gaG9sZCBzZXNzaW9ucyBmb3Igc2V2ZXJhbCBwbGF0Zm9ybXMgYXQgb25jZS5cbiAqXG4gKiBJdCBob2xkcyBhIHJlYWwgc2Vzc2lvbiDigJQgdGhlIGFjY2VzcyB0b2tlbiBBTkQgaXRzIHJlZnJlc2ggdG9rZW4g4oCUIGJlY2F1c2VcbiAqIHRoYXQgaXMgd2hhdCB0aGUgZGV2aWNlIGZsb3cgaGFuZHMgYmFjayBhbmQgd2hhdCBsZXRzIHRoZSBDTEkga2VlcCB3b3JraW5nIGZvclxuICogZGF5cyB3aXRob3V0IGFub3RoZXIgYnJvd3NlciByb3VuZCB0cmlwLiBOb3RoaW5nIGVsc2UgYWJvdXQgdGhlIGFjY291bnQgaXNcbiAqIHN0b3JlZDogbm8gcGFzc3dvcmQgKHRoZSBDTEkgbm8gbG9uZ2VyIGhhcyBvbmUgdG8gc3RvcmUpIGFuZCBubyBpZGVudGlmaWVyLlxuICpcbiAqIFJlc29sdXRpb24gb3JkZXIgZXZlcnl3aGVyZSBlbHNlIGluIHRoZSBDTEkgaXMgdW5jaGFuZ2VkIGluIHNwaXJpdDogYW5cbiAqIGV4cGxpY2l0IGBQTEFURk9STV9UT0tFTmAgaW4gdGhlIGVudmlyb25tZW50IGFsd2F5cyB3aW5zLCBzbyBDSSBrZWVwcyB1c2luZyBhblxuICogYWNjZXNzIGtleSBhbmQgaXMgbmV2ZXIgYWZmZWN0ZWQgYnkgd2hhdGV2ZXIgYSBkZXZlbG9wZXIncyBsYXB0b3AgaGFzIGNhY2hlZC5cbiAqL1xuXG5pbXBvcnQgZnMgZnJvbSAnZnMnO1xuaW1wb3J0IG9zIGZyb20gJ29zJztcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgcHJpbnREZWJ1ZywgcHJpbnRXYXJuaW5nIH0gZnJvbSAnLi9vdXRwdXQtdXRpbHMuanMnO1xuXG5jb25zdCBTVE9SRV9ESVIgPSBwYXRoLmpvaW4ob3MuaG9tZWRpcigpLCAnLnBpcGVsaW5lLW1hbmFnZXInKTtcbmNvbnN0IFNUT1JFX0ZJTEUgPSBwYXRoLmpvaW4oU1RPUkVfRElSLCAnY3JlZGVudGlhbHMuanNvbicpO1xuXG4vKiogUmUtYXV0aGVudGljYXRlIHJhdGhlciB0aGFuIGhhbmQgb3V0IGEgdG9rZW4gdGhpcyBjbG9zZSB0byBleHBpcnkuICovXG5jb25zdCBFWFBJUllfU0tFV19NUyA9IDYwXzAwMDtcblxuLyoqIE9uZSBwbGF0Zm9ybSdzIHN0b3JlZCBzZXNzaW9uLiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdG9yZWRTZXNzaW9uIHtcbiAgYWNjZXNzVG9rZW46IHN0cmluZztcbiAgLyoqIFJvdGF0ZWQgb24gZXZlcnkgcmVmcmVzaDsgYWJzZW50IG9ubHkgaWYgdGhlIHBsYXRmb3JtIHN0b3BwZWQgaXNzdWluZyBvbmUuICovXG4gIHJlZnJlc2hUb2tlbj86IHN0cmluZztcbiAgLyoqIEVwb2NoIG1zIHRoZSBhY2Nlc3MgdG9rZW4gZXhwaXJlcy4gKi9cbiAgZXhwaXJlc0F0OiBudW1iZXI7XG4gIC8qKiBUaGUgb3JnIHRoZSBzZXNzaW9uIHdhcyBzY29wZWQgdG8gd2hlbiBpdCB3YXMgc3RvcmVkIChpbmZvcm1hdGlvbmFsKS4gKi9cbiAgb3JnYW5pemF0aW9uSWQ/OiBzdHJpbmc7XG4gIHNhdmVkQXQ6IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIFN0b3JlRmlsZSB7XG4gIHZlcnNpb246IDE7XG4gIHNlc3Npb25zOiBSZWNvcmQ8c3RyaW5nLCBTdG9yZWRTZXNzaW9uPjtcbn1cblxuLyoqIFdoZXJlIHRoZSBzZXNzaW9ucyBsaXZlIOKAlCBzdXJmYWNlZCBpbiBoZWxwIHRleHQgYW5kIGVycm9ycy4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVkZW50aWFsU3RvcmVQYXRoKCk6IHN0cmluZyB7XG4gIHJldHVybiBTVE9SRV9GSUxFO1xufVxuXG4vKipcbiAqIFRyYWlsaW5nIHNsYXNoZXMgYW5kIGNhc2UgZGlmZmVyZW5jZXMgaW4gdGhlIGhvc3Qgd291bGQgb3RoZXJ3aXNlIHNwbGl0IG9uZVxuICogcGxhdGZvcm0gaW50byBzZXZlcmFsIGVudHJpZXMuXG4gKi9cbmZ1bmN0aW9uIHN0b3JlS2V5KGJhc2VVcmw6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBiYXNlVXJsLnRyaW0oKS5yZXBsYWNlKC9cXC8rJC8sICcnKS50b0xvd2VyQ2FzZSgpO1xufVxuXG5mdW5jdGlvbiByZWFkU3RvcmUoKTogU3RvcmVGaWxlIHtcbiAgdHJ5IHtcbiAgICBjb25zdCBwYXJzZWQgPSBKU09OLnBhcnNlKGZzLnJlYWRGaWxlU3luYyhTVE9SRV9GSUxFLCAndXRmLTgnKSk7XG4gICAgaWYgKHBhcnNlZD8udmVyc2lvbiA9PT0gMSAmJiBwYXJzZWQuc2Vzc2lvbnMgJiYgdHlwZW9mIHBhcnNlZC5zZXNzaW9ucyA9PT0gJ29iamVjdCcpIHtcbiAgICAgIHJldHVybiBwYXJzZWQgYXMgU3RvcmVGaWxlO1xuICAgIH1cbiAgfSBjYXRjaCB7XG4gICAgLy8gTWlzc2luZyBvciB1bnJlYWRhYmxlOiB0cmVhdCBhcyBlbXB0eS4gQSBjb3JydXB0IGZpbGUgbXVzdCBub3QgYnJlYWsgZXZlcnlcbiAgICAvLyBjb21tYW5kIOKAlCB0aGUgbmV4dCBzdWNjZXNzZnVsIGxvZ2luIHJld3JpdGVzIGl0LlxuICB9XG4gIHJldHVybiB7IHZlcnNpb246IDEsIHNlc3Npb25zOiB7fSB9O1xufVxuXG5mdW5jdGlvbiB3cml0ZVN0b3JlKHN0b3JlOiBTdG9yZUZpbGUpOiB2b2lkIHtcbiAgZnMubWtkaXJTeW5jKFNUT1JFX0RJUiwgeyByZWN1cnNpdmU6IHRydWUsIG1vZGU6IDBvNzAwIH0pO1xuICAvLyBXcml0ZSB0aHJvdWdoIGEgdGVtcCBmaWxlIHNvIGFuIGludGVycnVwdGVkIHdyaXRlIGNhbid0IGxlYXZlIGEgdHJ1bmNhdGVkXG4gIC8vIHN0b3JlIGJlaGluZCwgYW5kIGNyZWF0ZSBpdCAwNjAwIGZyb20gdGhlIHN0YXJ0IChuZXZlciBicmllZmx5IHdvcmxkLXJlYWRhYmxlKS5cbiAgY29uc3QgdG1wID0gYCR7U1RPUkVfRklMRX0udG1wYDtcbiAgZnMud3JpdGVGaWxlU3luYyh0bXAsIGAke0pTT04uc3RyaW5naWZ5KHN0b3JlLCBudWxsLCAyKX1cXG5gLCB7IG1vZGU6IDBvNjAwIH0pO1xuICBmcy5yZW5hbWVTeW5jKHRtcCwgU1RPUkVfRklMRSk7XG59XG5cbi8qKiBQZXJzaXN0IHRoZSBzZXNzaW9uIGZvciBgYmFzZVVybGAsIHJlcGxhY2luZyBhbnkgcHJldmlvdXMgb25lLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNhdmVTZXNzaW9uKGJhc2VVcmw6IHN0cmluZywgc2Vzc2lvbjogT21pdDxTdG9yZWRTZXNzaW9uLCAnc2F2ZWRBdCc+KTogdm9pZCB7XG4gIGNvbnN0IHN0b3JlID0gcmVhZFN0b3JlKCk7XG4gIHN0b3JlLnNlc3Npb25zW3N0b3JlS2V5KGJhc2VVcmwpXSA9IHsgLi4uc2Vzc2lvbiwgc2F2ZWRBdDogbmV3IERhdGUoKS50b0lTT1N0cmluZygpIH07XG4gIHdyaXRlU3RvcmUoc3RvcmUpO1xuICBwcmludERlYnVnKCdTZXNzaW9uIHN0b3JlZCcsIHsgcGF0aDogU1RPUkVfRklMRSwgcGxhdGZvcm06IHN0b3JlS2V5KGJhc2VVcmwpIH0pO1xufVxuXG4vKiogVGhlIHN0b3JlZCBzZXNzaW9uIGZvciBgYmFzZVVybGAsIG9yIHVuZGVmaW5lZC4gRXhwaXJ5IGlzIE5PVCBjaGVja2VkIGhlcmUg4oCUXG4gKiAgY2FsbGVycyBkZWNpZGUgd2hldGhlciB0byB1c2UsIHJlZnJlc2ggb3IgaWdub3JlIGl0LiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxvYWRTZXNzaW9uKGJhc2VVcmw6IHN0cmluZyk6IFN0b3JlZFNlc3Npb24gfCB1bmRlZmluZWQge1xuICByZXR1cm4gcmVhZFN0b3JlKCkuc2Vzc2lvbnNbc3RvcmVLZXkoYmFzZVVybCldO1xufVxuXG4vKiogRm9yZ2V0IHRoZSBzZXNzaW9uIGZvciBgYmFzZVVybGAgKHNpZ24tb3V0LCBvciBhIHJlZnJlc2ggdGhlIHBsYXRmb3JtIHJlamVjdGVkKS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjbGVhclNlc3Npb24oYmFzZVVybDogc3RyaW5nKTogdm9pZCB7XG4gIGNvbnN0IHN0b3JlID0gcmVhZFN0b3JlKCk7XG4gIGlmICghKHN0b3JlS2V5KGJhc2VVcmwpIGluIHN0b3JlLnNlc3Npb25zKSkgcmV0dXJuO1xuICBkZWxldGUgc3RvcmUuc2Vzc2lvbnNbc3RvcmVLZXkoYmFzZVVybCldO1xuICB0cnkge1xuICAgIHdyaXRlU3RvcmUoc3RvcmUpO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIC8vIExvc2luZyB0aGUgYWJpbGl0eSB0byBjbGVhciBhIGRlYWQgc2Vzc2lvbiBpcyBhIG51aXNhbmNlLCBub3QgYSBmYWlsdXJlLlxuICAgIHByaW50V2FybmluZygnQ291bGQgbm90IHVwZGF0ZSB0aGUgc3RvcmVkIGNyZWRlbnRpYWxzJywge1xuICAgICAgcGF0aDogU1RPUkVfRklMRSxcbiAgICAgIGVycm9yOiBlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6IFN0cmluZyhlcnJvciksXG4gICAgfSk7XG4gIH1cbn1cblxuLyoqIFRydWUgd2hlbiB0aGUgc3RvcmVkIGFjY2VzcyB0b2tlbiBpcyBzdGlsbCB1c2FibGUgKHdpdGggYSBsaXR0bGUgc2xhY2spLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzU2Vzc2lvblVzYWJsZShzZXNzaW9uOiBTdG9yZWRTZXNzaW9uIHwgdW5kZWZpbmVkKTogc2Vzc2lvbiBpcyBTdG9yZWRTZXNzaW9uIHtcbiAgcmV0dXJuICEhc2Vzc2lvbj8uYWNjZXNzVG9rZW4gJiYgc2Vzc2lvbi5leHBpcmVzQXQgLSBFWFBJUllfU0tFV19NUyA+IERhdGUubm93KCk7XG59XG4iXX0=
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlZGVudGlhbC1zdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9jcmVkZW50aWFsLXN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtDQUErQztBQUMvQyxzQ0FBc0M7QUFFdEM7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBQ3BCLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQztBQUNwQixPQUFPLElBQUksTUFBTSxNQUFNLENBQUM7QUFDeEIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFN0QsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztBQUMvRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO0FBRTVELHlFQUF5RTtBQUN6RSxNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUM7QUFtQjlCLGtFQUFrRTtBQUNsRSxNQUFNLFVBQVUsbUJBQW1CO0lBQ2pDLE9BQU8sVUFBVSxDQUFDO0FBQ3BCLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxTQUFTLFFBQVEsQ0FBQyxPQUFlO0lBQy9CLE9BQU8sT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7QUFDMUQsQ0FBQztBQUVELFNBQVMsU0FBUztJQUNoQixJQUFJLENBQUM7UUFDSCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDaEUsSUFBSSxNQUFNLEVBQUUsT0FBTyxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsUUFBUSxJQUFJLE9BQU8sTUFBTSxDQUFDLFFBQVEsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNwRixPQUFPLE1BQW1CLENBQUM7UUFDN0IsQ0FBQztJQUNILENBQUM7SUFBQyxNQUFNLENBQUM7UUFDUCw2RUFBNkU7UUFDN0UsbURBQW1EO0lBQ3JELENBQUM7SUFDRCxPQUFPLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUM7QUFDdEMsQ0FBQztBQUVELFNBQVMsVUFBVSxDQUFDLEtBQWdCO0lBQ2xDLEVBQUUsQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUMxRCw0RUFBNEU7SUFDNUUsa0ZBQWtGO0lBQ2xGLE1BQU0sR0FBRyxHQUFHLEdBQUcsVUFBVSxNQUFNLENBQUM7SUFDaEMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQzlFLEVBQUUsQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBQ2pDLENBQUM7QUFFRCxxRUFBcUU7QUFDckUsTUFBTSxVQUFVLFdBQVcsQ0FBQyxPQUFlLEVBQUUsT0FBdUM7SUFDbEYsTUFBTSxLQUFLLEdBQUcsU0FBUyxFQUFFLENBQUM7SUFDMUIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7SUFDdEYsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xCLFVBQVUsQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDbEYsQ0FBQztBQUVEOzJEQUMyRDtBQUMzRCxNQUFNLFVBQVUsV0FBVyxDQUFDLE9BQWU7SUFDekMsT0FBTyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7QUFDakQsQ0FBQztBQUVELHVGQUF1RjtBQUN2RixNQUFNLFVBQVUsWUFBWSxDQUFDLE9BQWU7SUFDMUMsTUFBTSxLQUFLLEdBQUcsU0FBUyxFQUFFLENBQUM7SUFDMUIsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUM7UUFBRSxPQUFPO0lBQ25ELE9BQU8sS0FBSyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUN6QyxJQUFJLENBQUM7UUFDSCxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEIsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZiwyRUFBMkU7UUFDM0UsWUFBWSxDQUFDLHlDQUF5QyxFQUFFO1lBQ3RELElBQUksRUFBRSxVQUFVO1lBQ2hCLEtBQUssRUFBRSxZQUFZLENBQUMsS0FBSyxDQUFDO1NBQzNCLENBQUMsQ0FBQztJQUNMLENBQUM7QUFDSCxDQUFDO0FBRUQsK0VBQStFO0FBQy9FLE1BQU0sVUFBVSxlQUFlLENBQUMsT0FBa0M7SUFDaEUsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLFdBQVcsSUFBSSxPQUFPLENBQUMsU0FBUyxHQUFHLGNBQWMsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7QUFDbkYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAyMDI2IFBpcGVsaW5lIEJ1aWxkZXIgQ29udHJpYnV0b3JzXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG4vKipcbiAqIE9uLWRpc2sgc2Vzc2lvbiBzdG9yZSBmb3IgYGF1dGggbG9naW5gLlxuICpcbiAqIGB+Ly5waXBlbGluZS1tYW5hZ2VyL2NyZWRlbnRpYWxzLmpzb25gLCBvd25lci1vbmx5ICgwNjAwIGZpbGUgaW5zaWRlIHRoZSAwNzAwXG4gKiBkaXJlY3RvcnkgdGhlIGF1ZGl0IGxvZyBhbHJlYWR5IGNyZWF0ZXMpLCBrZXllZCBieSBwbGF0Zm9ybSBiYXNlIFVSTCBzbyBvbmVcbiAqIG1hY2hpbmUgY2FuIGhvbGQgc2Vzc2lvbnMgZm9yIHNldmVyYWwgcGxhdGZvcm1zIGF0IG9uY2UuXG4gKlxuICogSXQgaG9sZHMgYSByZWFsIHNlc3Npb24g4oCUIHRoZSBhY2Nlc3MgdG9rZW4gQU5EIGl0cyByZWZyZXNoIHRva2VuIOKAlCBiZWNhdXNlXG4gKiB0aGF0IGlzIHdoYXQgdGhlIGRldmljZSBmbG93IGhhbmRzIGJhY2sgYW5kIHdoYXQgbGV0cyB0aGUgQ0xJIGtlZXAgd29ya2luZyBmb3JcbiAqIGRheXMgd2l0aG91dCBhbm90aGVyIGJyb3dzZXIgcm91bmQgdHJpcC4gTm90aGluZyBlbHNlIGFib3V0IHRoZSBhY2NvdW50IGlzXG4gKiBzdG9yZWQ6IG5vIHBhc3N3b3JkICh0aGUgQ0xJIG5vIGxvbmdlciBoYXMgb25lIHRvIHN0b3JlKSBhbmQgbm8gaWRlbnRpZmllci5cbiAqXG4gKiBSZXNvbHV0aW9uIG9yZGVyIGV2ZXJ5d2hlcmUgZWxzZSBpbiB0aGUgQ0xJIGlzIHVuY2hhbmdlZCBpbiBzcGlyaXQ6IGFuXG4gKiBleHBsaWNpdCBgUExBVEZPUk1fVE9LRU5gIGluIHRoZSBlbnZpcm9ubWVudCBhbHdheXMgd2lucywgc28gQ0kga2VlcHMgdXNpbmcgYW5cbiAqIGFjY2VzcyBrZXkgYW5kIGlzIG5ldmVyIGFmZmVjdGVkIGJ5IHdoYXRldmVyIGEgZGV2ZWxvcGVyJ3MgbGFwdG9wIGhhcyBjYWNoZWQuXG4gKi9cblxuaW1wb3J0IGZzIGZyb20gJ2ZzJztcbmltcG9ydCBvcyBmcm9tICdvcyc7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IGVycm9yTWVzc2FnZSB9IGZyb20gJ0BwaXBlbGluZS1idWlsZGVyL2FwaS1jb3JlJztcbmltcG9ydCB7IHByaW50RGVidWcsIHByaW50V2FybmluZyB9IGZyb20gJy4vb3V0cHV0LXV0aWxzLmpzJztcblxuY29uc3QgU1RPUkVfRElSID0gcGF0aC5qb2luKG9zLmhvbWVkaXIoKSwgJy5waXBlbGluZS1tYW5hZ2VyJyk7XG5jb25zdCBTVE9SRV9GSUxFID0gcGF0aC5qb2luKFNUT1JFX0RJUiwgJ2NyZWRlbnRpYWxzLmpzb24nKTtcblxuLyoqIFJlLWF1dGhlbnRpY2F0ZSByYXRoZXIgdGhhbiBoYW5kIG91dCBhIHRva2VuIHRoaXMgY2xvc2UgdG8gZXhwaXJ5LiAqL1xuY29uc3QgRVhQSVJZX1NLRVdfTVMgPSA2MF8wMDA7XG5cbi8qKiBPbmUgcGxhdGZvcm0ncyBzdG9yZWQgc2Vzc2lvbi4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3RvcmVkU2Vzc2lvbiB7XG4gIGFjY2Vzc1Rva2VuOiBzdHJpbmc7XG4gIC8qKiBSb3RhdGVkIG9uIGV2ZXJ5IHJlZnJlc2g7IGFic2VudCBvbmx5IGlmIHRoZSBwbGF0Zm9ybSBzdG9wcGVkIGlzc3Vpbmcgb25lLiAqL1xuICByZWZyZXNoVG9rZW4/OiBzdHJpbmc7XG4gIC8qKiBFcG9jaCBtcyB0aGUgYWNjZXNzIHRva2VuIGV4cGlyZXMuICovXG4gIGV4cGlyZXNBdDogbnVtYmVyO1xuICAvKiogVGhlIG9yZyB0aGUgc2Vzc2lvbiB3YXMgc2NvcGVkIHRvIHdoZW4gaXQgd2FzIHN0b3JlZCAoaW5mb3JtYXRpb25hbCkuICovXG4gIG9yZ2FuaXphdGlvbklkPzogc3RyaW5nO1xuICBzYXZlZEF0OiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBTdG9yZUZpbGUge1xuICB2ZXJzaW9uOiAxO1xuICBzZXNzaW9uczogUmVjb3JkPHN0cmluZywgU3RvcmVkU2Vzc2lvbj47XG59XG5cbi8qKiBXaGVyZSB0aGUgc2Vzc2lvbnMgbGl2ZSDigJQgc3VyZmFjZWQgaW4gaGVscCB0ZXh0IGFuZCBlcnJvcnMuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlZGVudGlhbFN0b3JlUGF0aCgpOiBzdHJpbmcge1xuICByZXR1cm4gU1RPUkVfRklMRTtcbn1cblxuLyoqXG4gKiBUcmFpbGluZyBzbGFzaGVzIGFuZCBjYXNlIGRpZmZlcmVuY2VzIGluIHRoZSBob3N0IHdvdWxkIG90aGVyd2lzZSBzcGxpdCBvbmVcbiAqIHBsYXRmb3JtIGludG8gc2V2ZXJhbCBlbnRyaWVzLlxuICovXG5mdW5jdGlvbiBzdG9yZUtleShiYXNlVXJsOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gYmFzZVVybC50cmltKCkucmVwbGFjZSgvXFwvKyQvLCAnJykudG9Mb3dlckNhc2UoKTtcbn1cblxuZnVuY3Rpb24gcmVhZFN0b3JlKCk6IFN0b3JlRmlsZSB7XG4gIHRyeSB7XG4gICAgY29uc3QgcGFyc2VkID0gSlNPTi5wYXJzZShmcy5yZWFkRmlsZVN5bmMoU1RPUkVfRklMRSwgJ3V0Zi04JykpO1xuICAgIGlmIChwYXJzZWQ/LnZlcnNpb24gPT09IDEgJiYgcGFyc2VkLnNlc3Npb25zICYmIHR5cGVvZiBwYXJzZWQuc2Vzc2lvbnMgPT09ICdvYmplY3QnKSB7XG4gICAgICByZXR1cm4gcGFyc2VkIGFzIFN0b3JlRmlsZTtcbiAgICB9XG4gIH0gY2F0Y2gge1xuICAgIC8vIE1pc3Npbmcgb3IgdW5yZWFkYWJsZTogdHJlYXQgYXMgZW1wdHkuIEEgY29ycnVwdCBmaWxlIG11c3Qgbm90IGJyZWFrIGV2ZXJ5XG4gICAgLy8gY29tbWFuZCDigJQgdGhlIG5leHQgc3VjY2Vzc2Z1bCBsb2dpbiByZXdyaXRlcyBpdC5cbiAgfVxuICByZXR1cm4geyB2ZXJzaW9uOiAxLCBzZXNzaW9uczoge30gfTtcbn1cblxuZnVuY3Rpb24gd3JpdGVTdG9yZShzdG9yZTogU3RvcmVGaWxlKTogdm9pZCB7XG4gIGZzLm1rZGlyU3luYyhTVE9SRV9ESVIsIHsgcmVjdXJzaXZlOiB0cnVlLCBtb2RlOiAwbzcwMCB9KTtcbiAgLy8gV3JpdGUgdGhyb3VnaCBhIHRlbXAgZmlsZSBzbyBhbiBpbnRlcnJ1cHRlZCB3cml0ZSBjYW4ndCBsZWF2ZSBhIHRydW5jYXRlZFxuICAvLyBzdG9yZSBiZWhpbmQsIGFuZCBjcmVhdGUgaXQgMDYwMCBmcm9tIHRoZSBzdGFydCAobmV2ZXIgYnJpZWZseSB3b3JsZC1yZWFkYWJsZSkuXG4gIGNvbnN0IHRtcCA9IGAke1NUT1JFX0ZJTEV9LnRtcGA7XG4gIGZzLndyaXRlRmlsZVN5bmModG1wLCBgJHtKU09OLnN0cmluZ2lmeShzdG9yZSwgbnVsbCwgMil9XFxuYCwgeyBtb2RlOiAwbzYwMCB9KTtcbiAgZnMucmVuYW1lU3luYyh0bXAsIFNUT1JFX0ZJTEUpO1xufVxuXG4vKiogUGVyc2lzdCB0aGUgc2Vzc2lvbiBmb3IgYGJhc2VVcmxgLCByZXBsYWNpbmcgYW55IHByZXZpb3VzIG9uZS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzYXZlU2Vzc2lvbihiYXNlVXJsOiBzdHJpbmcsIHNlc3Npb246IE9taXQ8U3RvcmVkU2Vzc2lvbiwgJ3NhdmVkQXQnPik6IHZvaWQge1xuICBjb25zdCBzdG9yZSA9IHJlYWRTdG9yZSgpO1xuICBzdG9yZS5zZXNzaW9uc1tzdG9yZUtleShiYXNlVXJsKV0gPSB7IC4uLnNlc3Npb24sIHNhdmVkQXQ6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSB9O1xuICB3cml0ZVN0b3JlKHN0b3JlKTtcbiAgcHJpbnREZWJ1ZygnU2Vzc2lvbiBzdG9yZWQnLCB7IHBhdGg6IFNUT1JFX0ZJTEUsIHBsYXRmb3JtOiBzdG9yZUtleShiYXNlVXJsKSB9KTtcbn1cblxuLyoqIFRoZSBzdG9yZWQgc2Vzc2lvbiBmb3IgYGJhc2VVcmxgLCBvciB1bmRlZmluZWQuIEV4cGlyeSBpcyBOT1QgY2hlY2tlZCBoZXJlIOKAlFxuICogIGNhbGxlcnMgZGVjaWRlIHdoZXRoZXIgdG8gdXNlLCByZWZyZXNoIG9yIGlnbm9yZSBpdC4gKi9cbmV4cG9ydCBmdW5jdGlvbiBsb2FkU2Vzc2lvbihiYXNlVXJsOiBzdHJpbmcpOiBTdG9yZWRTZXNzaW9uIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIHJlYWRTdG9yZSgpLnNlc3Npb25zW3N0b3JlS2V5KGJhc2VVcmwpXTtcbn1cblxuLyoqIEZvcmdldCB0aGUgc2Vzc2lvbiBmb3IgYGJhc2VVcmxgIChzaWduLW91dCwgb3IgYSByZWZyZXNoIHRoZSBwbGF0Zm9ybSByZWplY3RlZCkuICovXG5leHBvcnQgZnVuY3Rpb24gY2xlYXJTZXNzaW9uKGJhc2VVcmw6IHN0cmluZyk6IHZvaWQge1xuICBjb25zdCBzdG9yZSA9IHJlYWRTdG9yZSgpO1xuICBpZiAoIShzdG9yZUtleShiYXNlVXJsKSBpbiBzdG9yZS5zZXNzaW9ucykpIHJldHVybjtcbiAgZGVsZXRlIHN0b3JlLnNlc3Npb25zW3N0b3JlS2V5KGJhc2VVcmwpXTtcbiAgdHJ5IHtcbiAgICB3cml0ZVN0b3JlKHN0b3JlKTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAvLyBMb3NpbmcgdGhlIGFiaWxpdHkgdG8gY2xlYXIgYSBkZWFkIHNlc3Npb24gaXMgYSBudWlzYW5jZSwgbm90IGEgZmFpbHVyZS5cbiAgICBwcmludFdhcm5pbmcoJ0NvdWxkIG5vdCB1cGRhdGUgdGhlIHN0b3JlZCBjcmVkZW50aWFscycsIHtcbiAgICAgIHBhdGg6IFNUT1JFX0ZJTEUsXG4gICAgICBlcnJvcjogZXJyb3JNZXNzYWdlKGVycm9yKSxcbiAgICB9KTtcbiAgfVxufVxuXG4vKiogVHJ1ZSB3aGVuIHRoZSBzdG9yZWQgYWNjZXNzIHRva2VuIGlzIHN0aWxsIHVzYWJsZSAod2l0aCBhIGxpdHRsZSBzbGFjaykuICovXG5leHBvcnQgZnVuY3Rpb24gaXNTZXNzaW9uVXNhYmxlKHNlc3Npb246IFN0b3JlZFNlc3Npb24gfCB1bmRlZmluZWQpOiBzZXNzaW9uIGlzIFN0b3JlZFNlc3Npb24ge1xuICByZXR1cm4gISFzZXNzaW9uPy5hY2Nlc3NUb2tlbiAmJiBzZXNzaW9uLmV4cGlyZXNBdCAtIEVYUElSWV9TS0VXX01TID4gRGF0ZS5ub3coKTtcbn1cbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"deploy-runner.d.ts","sourceRoot":"","sources":["../../src/utils/deploy-runner.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AASlD,uEAAuE;AACvE,UAAU,cAAc;IACtB,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACxD;AAED,2EAA2E;AAC3E,MAAM,WAAW,cAAc;IAC7B,kFAAkF;IAClF,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,GAAG,OAAO,GAAG,cAAc,GAAG,SAAS,GAAG,cAAc,CAAC,CAAC;IACvF,sFAAsF;IACtF,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gEAAgE;IAChE,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,6CAA6C;IAC7C,WAAW,EAAE,MAAM,CAAC;IACpB,6EAA6E;IAC7E,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;;;GASG;AACH,wBAAsB,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CA8FpE"}
1
+ {"version":3,"file":"deploy-runner.d.ts","sourceRoot":"","sources":["../../src/utils/deploy-runner.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AASlD,uEAAuE;AACvE,UAAU,cAAc;IACtB,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACxD;AAED,2EAA2E;AAC3E,MAAM,WAAW,cAAc;IAC7B,kFAAkF;IAClF,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,GAAG,OAAO,GAAG,cAAc,GAAG,SAAS,GAAG,cAAc,CAAC,CAAC;IACvF,sFAAsF;IACtF,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gEAAgE;IAChE,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,6CAA6C;IAC7C,WAAW,EAAE,MAAM,CAAC;IACpB,6EAA6E;IAC7E,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;;;GASG;AACH,wBAAsB,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CA8FpE"}