aws-cdk 2.175.0 → 2.176.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/CONTRIBUTING.md +4 -4
  2. package/build-info.json +2 -2
  3. package/db.json.gz +0 -0
  4. package/lib/api/aws-auth/credential-plugins.js +5 -5
  5. package/lib/api/aws-auth/sdk-provider.js +3 -2
  6. package/lib/api/aws-auth/sdk.js +3 -2
  7. package/lib/api/cxapp/cloud-assembly.js +4 -4
  8. package/lib/api/deploy-stack.js +11 -10
  9. package/lib/api/deployments.js +4 -4
  10. package/lib/api/environment-access.js +3 -2
  11. package/lib/api/environment-resources.js +3 -2
  12. package/lib/api/garbage-collection/garbage-collector.js +9 -9
  13. package/lib/api/garbage-collection/progress-printer.js +3 -3
  14. package/lib/api/hotswap-deployments.js +11 -10
  15. package/lib/api/logs/find-cloudwatch-logs.js +3 -2
  16. package/lib/api/logs/logs-monitor.js +3 -3
  17. package/lib/api/nested-stack-helpers.js +3 -2
  18. package/lib/api/plugin/plugin.js +1 -1
  19. package/lib/api/util/cloudformation/stack-activity-monitor.d.ts +4 -4
  20. package/lib/api/util/cloudformation/stack-activity-monitor.js +9 -9
  21. package/lib/api/util/cloudformation/stack-event-poller.js +3 -2
  22. package/lib/api/util/cloudformation.js +3 -3
  23. package/lib/cdk-toolkit.d.ts +0 -1
  24. package/lib/cdk-toolkit.js +32 -76
  25. package/lib/cli.js +12 -7
  26. package/lib/commands/context.js +20 -20
  27. package/lib/commands/docs.js +2 -2
  28. package/lib/commands/doctor.js +9 -9
  29. package/lib/commands/migrate.js +16 -16
  30. package/lib/config.d.ts +6 -3
  31. package/lib/config.js +10 -7
  32. package/lib/context-providers/ami.js +2 -2
  33. package/lib/context-providers/index.js +3 -2
  34. package/lib/convert-to-user-input.d.ts +3 -0
  35. package/lib/convert-to-user-input.js +431 -0
  36. package/lib/diff.js +3 -3
  37. package/lib/import.js +6 -6
  38. package/lib/index.js +50 -35
  39. package/lib/init-hooks.js +3 -2
  40. package/lib/init-templates/.init-version.json +1 -1
  41. package/lib/init-templates/.recommended-feature-flags.json +2 -1
  42. package/lib/init-templates/app/csharp/src/%name.PascalCased%/%name.PascalCased%.template.csproj +1 -1
  43. package/lib/init-templates/app/fsharp/src/%name.PascalCased%/%name.PascalCased%.template.fsproj +1 -1
  44. package/lib/init-templates/sample-app/csharp/src/%name.PascalCased%/%name.PascalCased%.template.csproj +1 -1
  45. package/lib/init-templates/sample-app/fsharp/src/%name.PascalCased%/%name.PascalCased%.template.fsproj +1 -1
  46. package/lib/init.d.ts +1 -1
  47. package/lib/init.js +20 -19
  48. package/lib/logging.d.ts +112 -48
  49. package/lib/logging.js +176 -133
  50. package/lib/notices.js +13 -12
  51. package/lib/parse-command-line-arguments.js +2 -2
  52. package/lib/settings.d.ts +2 -0
  53. package/lib/settings.js +3 -1
  54. package/lib/toolkit/cli-io-host.d.ts +56 -25
  55. package/lib/toolkit/cli-io-host.js +49 -22
  56. package/lib/toolkit/error.js +2 -2
  57. package/lib/{cli-arguments.d.ts → user-input.d.ts} +8 -8
  58. package/lib/user-input.js +3 -0
  59. package/lib/util/archive.js +3 -2
  60. package/lib/util/asset-publishing.js +3 -3
  61. package/lib/util/error.d.ts +9 -0
  62. package/lib/util/error.js +22 -0
  63. package/lib/version.js +2 -2
  64. package/package.json +12 -11
  65. package/scripts/user-input-gen +2 -0
  66. package/scripts/user-input-gen.js +17 -0
  67. package/test/api/exec.test.js +3 -3
  68. package/test/api/fake-sts.js +3 -2
  69. package/test/api/logs/logging.test.js +269 -0
  70. package/test/api/sdk-provider.test.js +3 -3
  71. package/test/api/stack-activity-monitor.test.js +16 -16
  72. package/test/api/util/error.test.d.ts +1 -0
  73. package/test/api/util/error.test.js +26 -0
  74. package/test/cdk-toolkit.test.js +1 -46
  75. package/test/cli-arguments.test.js +126 -81
  76. package/test/cli.test.js +8 -8
  77. package/test/init.test.js +5 -5
  78. package/test/jest-bufferedconsole.d.ts +14 -0
  79. package/test/jest-bufferedconsole.js +72 -0
  80. package/test/notices.test.js +14 -14
  81. package/test/toolkit/cli-io-host.test.js +93 -188
  82. package/test/util/silent.js +2 -2
  83. package/test/version.test.js +5 -5
  84. package/lib/cli-arguments.js +0 -3
  85. package/lib/convert-to-cli-args.d.ts +0 -2
  86. package/lib/convert-to-cli-args.js +0 -234
  87. package/scripts/cli-args-gen +0 -2
  88. package/scripts/cli-args-gen.js +0 -16
  89. package/test/api/logs/cli-logging.test.js +0 -135
  90. /package/scripts/{cli-args-gen.d.ts → user-input-gen.d.ts} +0 -0
  91. /package/test/api/logs/{cli-logging.test.d.ts → logging.test.d.ts} +0 -0
package/lib/config.js CHANGED
@@ -3,15 +3,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.YARGS_HELPERS = void 0;
4
4
  exports.makeConfig = makeConfig;
5
5
  // eslint-disable-next-line import/no-extraneous-dependencies
6
- const cli_args_gen_1 = require("@aws-cdk/cli-args-gen");
6
+ const user_input_gen_1 = require("@aws-cdk/user-input-gen");
7
7
  const stack_activity_monitor_1 = require("./api/util/cloudformation/stack-activity-monitor");
8
8
  const migrate_1 = require("./commands/migrate");
9
9
  const diff_1 = require("./diff");
10
10
  const init_1 = require("./init");
11
- exports.YARGS_HELPERS = new cli_args_gen_1.CliHelpers('./util/yargs-helpers');
11
+ exports.YARGS_HELPERS = new user_input_gen_1.CliHelpers('./util/yargs-helpers');
12
12
  /**
13
- * Source of truth for all CDK CLI commands. `cli-args-gen` translates this into the `yargs` definition
14
- * in `lib/parse-command-line-arguments.ts`.
13
+ * Source of truth for all CDK CLI commands. `user-input-gen` translates this into:
14
+ *
15
+ * - the `yargs` definition in `lib/parse-command-line-arguments.ts`.
16
+ * - the `UserInput` type in `lib/user-input.ts`.
17
+ * - the `convertXxxToUserInput` functions in `lib/convert-to-user-input.ts`.
15
18
  */
16
19
  async function makeConfig() {
17
20
  return {
@@ -55,12 +58,12 @@ async function makeConfig() {
55
58
  'show-dependencies': { type: 'boolean', default: false, alias: 'd', desc: 'Display stack dependency information for each stack' },
56
59
  },
57
60
  },
58
- synthesize: {
61
+ synth: {
59
62
  arg: {
60
63
  name: 'STACKS',
61
64
  variadic: true,
62
65
  },
63
- aliases: ['synth'],
66
+ aliases: ['synthesize'],
64
67
  description: 'Synthesizes and prints the CloudFormation template for this stack',
65
68
  options: {
66
69
  exclusively: { type: 'boolean', alias: 'e', desc: 'Only synthesize requested stacks, don\'t include dependencies' },
@@ -399,4 +402,4 @@ async function makeConfig() {
399
402
  },
400
403
  };
401
404
  }
402
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQWFBLGdDQWlZQztBQTlZRCw2REFBNkQ7QUFDN0Qsd0RBQW1FO0FBQ25FLDZGQUF5RjtBQUN6RixnREFBaUU7QUFDakUsaUNBQXlDO0FBQ3pDLGlDQUFnRDtBQUVuQyxRQUFBLGFBQWEsR0FBRyxJQUFJLHlCQUFVLENBQUMsc0JBQXNCLENBQUMsQ0FBQztBQUVwRTs7O0dBR0c7QUFDSSxLQUFLLFVBQVUsVUFBVTtJQUM5QixPQUFPO1FBQ0wsYUFBYSxFQUFFO1lBQ2IsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSw0S0FBNEssRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO1lBQzVPLE9BQU8sRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLG9DQUFvQyxFQUFFO1lBQ3ZFLFNBQVMsRUFBRSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsNkNBQTZDLEVBQUU7WUFDN0YsUUFBUSxFQUFFLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSw4RkFBOEYsRUFBRTtZQUM3SSxPQUFPLEVBQUUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxnQ0FBZ0MsRUFBRTtZQUNwRSxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSx1Q0FBdUMsRUFBRTtZQUM1RSxTQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSx3R0FBd0csRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFO1lBQzdKLGVBQWUsRUFBRSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFB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RUFBRTtnQkFDSixPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUM7Z0JBQ2hCLFdBQVcsRUFBRSxnREFBZ0Q7Z0JBQzdELE9BQU8sRUFBRTtvQkFDUCxPQUFPLEVBQUU7d0JBQ1AsS0FBSyxFQUFFLEdBQUc7d0JBQ1YsSUFBSSxFQUFFLG9HQUFvRzt3QkFDMUcsSUFBSSxFQUFFLFFBQVE7d0JBQ2QsT0FBTyxFQUFFLHFCQUFhLENBQUMsa0JBQWtCLEVBQUU7cUJBQzVDO2lCQUNGO2FBQ0Y7WUFDRCxNQUFNLEVBQUU7Z0JBQ04sV0FBVyxFQUFFLDBDQUEwQzthQUN4RDtTQUNGO0tBQ0YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLWV4dHJhbmVvdXMtZGVwZW5kZW5jaWVzXG5pbXBvcnQgeyBDbGlIZWxwZXJzLCB0eXBlIENsaUNvbmZpZyB9IGZyb20gJ0Bhd3MtY2RrL2NsaS1hcmdzLWdlbic7XG5pbXBvcnQgeyBTdGFja0FjdGl2aXR5UHJvZ3Jlc3MgfSBmcm9tICcuL2FwaS91dGlsL2Nsb3VkZm9ybWF0aW9uL3N0YWNrLWFjdGl2aXR5LW1vbml0b3InO1xuaW1wb3J0IHsgTUlHUkFURV9TVVBQT1JURURfTEFOR1VBR0VTIH0gZnJvbSAnLi9jb21tYW5kcy9taWdyYXRlJztcbmltcG9ydCB7IFJlcXVpcmVBcHByb3ZhbCB9IGZyb20gJy4vZGlmZic7XG5pbXBvcnQgeyBhdmFpbGFibGVJbml0TGFuZ3VhZ2VzIH0gZnJvbSAnLi9pbml0JztcblxuZXhwb3J0IGNvbnN0IFlBUkdTX0hFTFBFUlMgPSBuZXcgQ2xpSGVscGVycygnLi91dGlsL3lhcmdzLWhlbHBlcnMnKTtcblxuLyoqXG4gKiBTb3VyY2Ugb2YgdHJ1dGggZm9yIGFsbCBDREsgQ0xJIGNvbW1hbmRzLiBgY2xpLWFyZ3MtZ2VuYCB0cmFuc2xhdGVzIHRoaXMgaW50byB0aGUgYHlhcmdzYCBkZWZpbml0aW9uXG4gKiBpbiBgbGliL3BhcnNlLWNvbW1hbmQtbGluZS1hcmd1bWVudHMudHNgLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbWFrZUNvbmZpZygpOiBQcm9taXNlPENsaUNvbmZpZz4ge1xuICByZXR1cm4ge1xuICAgIGdsb2JhbE9wdGlvbnM6IHtcbiAgICAgICdhcHAnOiB7IHR5cGU6ICdzdHJpbmcnLCBhbGlhczogJ2EnLCBkZXNjOiAnUkVRVUlSRUQgV0hFTiBSVU5OSU5HIEFQUDogY29tbWFuZC1saW5lIGZvciBleGVjdXRpbmcgeW91ciBhcHAgb3IgYSBjbG91ZCBhc3NlbWJseSBkaXJlY3RvcnkgKGUuZy4gXCJub2RlIGJpbi9teS1hcHAuanNcIikuIENhbiBhbHNvIGJlIHNwZWNpZmllZCBpbiBjZGsuanNvbiBvciB+Ly5jZGsuanNvbicsIHJlcXVpcmVzQXJnOiB0cnVlIH0sXG4gICAgICAnYnVpbGQnOiB7IHR5cGU6ICdzdHJpbmcnLCBkZXNjOiAnQ29tbWFuZC1saW5lIGZvciBhIHByZS1zeW50aCBidWlsZCcgfSxcbiAgICAgICdjb250ZXh0JzogeyB0eXBlOiAnYXJyYXknLCBhbGlhczogJ2MnLCBkZXNjOiAnQWRkIGNvbnRleHR1YWwgc3RyaW5nIHBhcmFtZXRlciAoS0VZPVZBTFVFKScgfSxcbiAgICAgICdwbHVnaW4nOiB7IHR5cGU6ICdhcnJheScsIGFsaWFzOiAncCcsIGRlc2M6ICdOYW1lIG9yIHBhdGggb2YgYSBub2RlIHBhY2thZ2UgdGhhdCBleHRlbmQgdGhlIENESyBmZWF0dXJlcy4gQ2FuIGJlIHNwZWNpZmllZCBtdWx0aXBsZSB0aW1lcycgfSxcbiAgICAgICd0cmFjZSc6IHsgdHlwZTogJ2Jvb2xlYW4nLCBkZXNjOiAnUHJpbnQgdHJhY2UgZm9yIHN0YWNrIHdhcm5pbmdzJyB9LFxuICAgICAgJ3N0cmljdCc6IHsgdHlwZTogJ2Jvb2xlYW4nLCBkZXNjOiAnRG8gbm90IGNvbnN0cnVjdCBzdGFja3Mgd2l0aCB3YXJuaW5ncycgfSxcbiAgICAgICdsb29rdXBzJzogeyB0eXBlOiAnYm9vbGVhbicsIGRlc2M6ICdQZXJmb3JtIGNvbnRleHQgbG9va3VwcyAoc3ludGhlc2lzIGZhaWxzIGlmIHRoaXMgaXMgZGlzYWJsZWQgYW5kIGNvbnRleHQgbG9va3VwcyBuZWVkIHRvIGJlIHBlcmZvcm1lZCknLCBkZWZhdWx0OiB0cnVlIH0sXG4gICAgICAnaWdub3JlLWVycm9ycyc6IHsgdHlwZTogJ2Jvb2xlYW4nLCBkZWZhdWx0OiBmYWxzZSwgZGVzYzogJ0lnbm9yZXMgc3ludGhlc2lzIGVycm9ycywgd2hpY2ggd2lsbCBsaWtlbHkgcHJvZHVjZSBhbiBpbnZhbGlkIG91dHB1dCcgfSxcbiAgICAgICdqc29uJzogeyB0eXBlOiAnYm9vbGVhbicsIGFsaWFzOiAnaicsIGRlc2M6ICdVc2UgSlNPTiBvdXRwdXQgaW5zdGVhZCBvZiBZQU1MIHdoZW4gdGVtcGxhdGVzIGFyZSBwcmludGVkIHRvIFNURE9VVCcsIGRlZmF1bHQ6IGZhbHNlIH0sXG4gICAgICAndmVyYm9zZSc6IHsgdHlwZTogJ2Jvb2xlYW4nLCBhbGlhczogJ3YnLCBkZXNjOiAnU2hvdyBkZWJ1ZyBsb2dzIChzcGVjaWZ5IG11bHRpcGxlIHRpbWVzIHRvIGluY3JlYXNlIHZlcmJvc2l0eSknLCBkZWZhdWx0OiBmYWxzZSwgY291bnQ6IHRydWUgfSxcbiAgICAgICdkZWJ1Zyc6IHsgdHlwZTogJ2Jvb2xlYW4nLCBkZXNjOiAnRGVidWcgdGhlIENESyBhcHAuIExvZyBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIGR1cmluZyBzeW50aGVzaXMsIHN1Y2ggYXMgY3JlYXRpb24gc3RhY2sgdHJhY2VzIG9mIHRva2VucyAoc2V0cyBDREtfREVCVUcsIHdpbGwgc2xvdyBkb3duIHN5bnRoZXNpcyknLCBkZWZhdWx0OiBmYWxzZSB9LFxuICAgICAgJ3Byb2ZpbGUnOiB7IHR5cGU6ICdzdHJpbmcnLCBkZXNjOiAnVXNlIHRoZSBpbmRpY2F0ZWQgQVdTIHByb2ZpbGUgYXMgdGhlIGRlZmF1bHQgZW52aXJvbm1lbnQnLCByZXF1aXJlc0FyZzogdHJ1ZSB9LFxuICAgICAgJ3Byb3h5JzogeyB0eXBlOiAnc3RyaW5nJywgZGVzYzogJ1VzZSB0aGUgaW5kaWNhdGVkIHByb3h5LiBXaWxsIHJlYWQgZnJvbSBIVFRQU19QUk9YWSBlbnZpcm9ubWVudCB2YXJpYWJsZSBpZiBub3Qgc3BlY2lmaWVkJywgcmVxdWlyZXNBcmc6IHRydWUgfSxcbiAgICAgICdjYS1idW5kbGUtcGF0aCc6IHsgdHlwZTogJ3N0cmluZycsIGRlc2M6ICdQYXRoIHRvIENBIGNlcnRpZmljYXRlIHRvIHVzZSB3aGVuIHZhbGlkYXRpbmcgSFRUUFMgcmVxdWVzdHMuIFdpbGwgcmVhZCBmcm9tIEFXU19DQV9CVU5ETEUgZW52aXJvbm1lbnQgdmFyaWFibGUgaWYgbm90IHNwZWNpZmllZCcsIHJlcXVpcmVzQXJnOiB0cnVlIH0sXG4gICAgICAnZWMyY3JlZHMnOiB7IHR5cGU6ICdib29sZWFuJywgYWxpYXM6ICdpJywgZGVmYXVsdDogdW5kZWZpbmVkLCBkZXNjOiAnRm9yY2UgdHJ5aW5nIHRvIGZldGNoIEVDMiBpbnN0YW5jZSBjcmVkZW50aWFscy4gRGVmYXVsdDogZ3Vlc3MgRUMyIGluc3RhbmNlIHN0YXR1cycgfSxcbiAgICAgICd2ZXJzaW9uLXJlcG9ydGluZyc6IHsgdHlwZTogJ2Jvb2xlYW4nLCBkZXNjOiAnSW5jbHVkZSB0aGUgXCJBV1M6OkNESzo6TWV0YWRhdGFcIiByZXNvdXJjZSBpbiBzeW50aGVzaXplZCB0ZW1wbGF0ZXMgKGVuYWJsZWQgYnkgZGVmYXVsdCknLCBkZWZhdWx0OiB1bmRlZmluZWQgfSxcbiAgICAgICdwYXRoLW1ldGFkYXRhJzogeyB0eXBlOiAnYm9vbGVhbicsIGRlc2M6ICdJbmNsdWRlIFwiYXdzOmNkazpwYXRoXCIgQ2xvdWRGb3JtYXRpb24gbWV0YWRhdGEgZm9yIGVhY2ggcmVzb3VyY2UgKGVuYWJsZWQgYnkgZGVmYXVsdCknLCBkZWZhdWx0OiB1bmRlZmluZWQgfSxcbiAgICAgICdhc3NldC1tZXRhZGF0YSc6IHsgdHlwZTogJ2Jvb2xlYW4nLCBkZXNjOiAnSW5jbHVkZSBcImF3czphc3NldDoqXCIgQ2xvdWRGb3JtYXRpb24gbWV0YWRhdGEgZm9yIHJlc291cmNlcyB0aGF0IHVzZXMgYXNzZXRzIChlbmFibGVkIGJ5IGRlZmF1bHQpJywgZGVmYXVsdDogdW5kZWZpbmVkIH0sXG4gICAgICAncm9sZS1hcm4nOiB7IHR5cGU6ICdzdHJpbmcnLCBhbGlhczogJ3InLCBkZXNjOiAnQVJOIG9mIFJvbGUgdG8gdXNlIHdoZW4gaW52b2tpbmcgQ2xvdWRGb3JtYXRpb24nLCBkZWZhdWx0OiB1bmRlZmluZWQsIHJlcXVpcmVzQXJnOiB0cnVlIH0sXG4gICAgICAnc3RhZ2luZyc6IHsgdHlwZTogJ2Jvb2xlYW4nLCBkZXNjOiAnQ29weSBhc3NldHMgdG8gdGhlIG91dHB1dCBkaXJlY3RvcnkgKHVzZSAtLW5vLXN0YWdpbmcgdG8gZGlzYWJsZSB0aGUgY29weSBvZiBhc3NldHMgd2hpY2ggYWxsb3dzIGxvY2FsIGRlYnVnZ2luZyB2aWEgdGhlIFNBTSBDTEkgdG8gcmVmZXJlbmNlIHRoZSBvcmlnaW5hbCBzb3VyY2UgZmlsZXMpJywgZGVmYXVsdDogdHJ1ZSB9LFxuICAgICAgJ291dHB1dCc6IHsgdHlwZTogJ3N0cmluZycsIGFsaWFzOiAnbycsIGRlc2M6ICdFbWl0cyB0aGUgc3ludGhlc2l6ZWQgY2xvdWQgYXNzZW1ibHkgaW50byBhIGRpcmVjdG9yeSAoZGVmYXVsdDogY2RrLm91dCknLCByZXF1aXJlc0FyZzogdHJ1ZSB9LFxuICAgICAgJ25vdGljZXMnOiB7IHR5cGU6ICdib29sZWFuJywgZGVzYzogJ1Nob3cgcmVsZXZhbnQgbm90aWNlcycgfSxcbiAgICAgICduby1jb2xvcic6IHsgdHlwZTogJ2Jvb2xlYW4nLCBkZXNjOiAnUmVtb3ZlcyBjb2xvcnMgYW5kIG90aGVyIHN0eWxlIGZyb20gY29uc29sZSBvdXRwdXQnLCBkZWZhdWx0OiBmYWxzZSB9LFxuICAgICAgJ2NpJzogeyB0eXBlOiAnYm9vbGVhbicsIGRlc2M6ICdGb3JjZSBDSSBkZXRlY3Rpb24uIElmIENJPXRydWUgdGhlbiBsb2dzIHdpbGwgYmUgc2VudCB0byBzdGRvdXQgaW5zdGVhZCBvZiBzdGRlcnInLCBkZWZhdWx0OiBZQVJHU19IRUxQRVJTLmlzQ0koKSB9LFxuICAgICAgJ3Vuc3RhYmxlJzogeyB0eXBlOiAnYXJyYXknLCBkZXNjOiAnT3B0IGluIHRvIHVuc3RhYmxlIGZlYXR1cmVzLiBUaGUgZmxhZyBpbmRpY2F0ZXMgdGhhdCB0aGUgc2NvcGUgYW5kIEFQSSBvZiBhIGZlYXR1cmUgbWlnaHQgc3RpbGwgY2hhbmdlLiBPdGhlcndpc2UgdGhlIGZlYXR1cmUgaXMgZ2VuZXJhbGx5IHByb2R1Y3Rpb24gcmVhZHkgYW5kIGZ1bGx5IHN1cHBvcnRlZC4gQ2FuIGJlIHNwZWNpZmllZCBtdWx0aXBsZSB0aW1lcy4nLCBkZWZhdWx0OiBbXSB9LFxuICAgIH0sXG4gICAgY29tbWFuZHM6IHtcbiAgICAgIGxpc3Q6IHtcbiAgICAgICAgYXJnOiB7XG4gICAgICAgICAgbmFtZTogJ1NUQUNLUycsXG4gICAgICAgICAgdmFyaWFkaWM6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIGFsaWFzZXM6IFsnbHMnXSxcbiAgICAgICAgZGVzY3JpcHRpb246ICdMaXN0cyBhbGwgc3RhY2tzIGluIHRoZSBhcHAnLFxuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgJ2xvbmcnOiB7IHR5cGU6ICdib29sZWFuJywgZGVmYXVsdDogZmFsc2UsIGFsaWFzOiAnbCcsIGRlc2M6ICdEaXNwbGF5IGVudmlyb25tZW50IGluZm9ybWF0aW9uIGZvciBlYWNoIHN0YWNrJyB9LFxuICAgICAgICAgICdzaG93LWRlcGVuZGVuY2llcyc6IHsgdHlwZTogJ2Jvb2xlYW4nLCBkZWZhdWx0OiBmYWxzZSwgYWxpYXM6ICdkJywgZGVzYzogJ0Rpc3BsYXkgc3RhY2sgZGVwZW5kZW5jeSBpbmZvcm1hdGlvbiBmb3IgZWFjaCBzdGFjaycgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBzeW50aGVzaXplOiB7XG4gICAgICAgIGFyZzoge1xuICAgICAgICAgIG5hbWU6ICdTVEFDS1MnLFxuICAgICAgICAgIHZhcmlhZGljOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBhbGlhc2VzOiBbJ3N5bnRoJ10sXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnU3ludGhlc2l6ZXMgYW5kIHByaW50cyB0aGUgQ2xvdWRGb3JtYXRpb24gdGVtcGxhdGUgZm9yIHRoaXMgc3RhY2snLFxuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgZXhjbHVzaXZlbHk6IHsgdHlwZTogJ2Jvb2xlYW4nLCBhbGlhczogJ2UnLCBkZXNjOiAnT25seSBzeW50aGVzaXplIHJlcXVlc3RlZCBzdGFja3MsIGRvblxcJ3QgaW5jbHVkZSBkZXBlbmRlbmNpZXMnIH0sXG4gICAgICAgICAgdmFsaWRhdGlvbjogeyB0eXBlOiAnYm9vbGVhbicsIGRlc2M6ICdBZnRlciBzeW50aGVzaXMsIHZhbGlkYXRlIHN0YWNrcyB3aXRoIHRoZSBcInZhbGlkYXRlT25TeW50aFwiIGF0dHJpYnV0ZSBzZXQgKGNhbiBhbHNvIGJlIGNvbnRyb2xsZWQgd2l0aCBDREtfVkFMSURBVElPTiknLCBkZWZhdWx0OiB0cnVlIH0sXG4gICAgICAgICAgcXVpZXQ6IHsgdHlwZTogJ2Jvb2xlYW4nLCBhbGlhczogJ3EnLCBkZXNjOiAnRG8gbm90IG91dHB1dCBDbG91ZEZvcm1hdGlvbiBUZW1wbGF0ZSB0byBzdGRvdXQnLCBkZWZhdWx0OiBmYWxzZSB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIGJvb3RzdHJhcDoge1xuICAgICAgICBhcmc6IHtcbiAgICAgICAgICBuYW1lOiAnRU5WSVJPTk1FTlRTJyxcbiAgICAgICAgICB2YXJpYWRpYzogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgZGVzY3JpcHRpb246ICdEZXBsb3lzIHRoZSBDREsgdG9vbGtpdCBzdGFjayBpbnRvIGFuIEFXUyBlbnZpcm9ubWVudCcsXG4gICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAnYm9vdHN0cmFwLWJ1Y2tldC1uYW1lJzogeyB0eXBlOiAnc3RyaW5nJywgYWxpYXM6IFsnYicsICd0b29sa2l0LWJ1Y2tldC1uYW1lJ10sIGRlc2M6ICdUaGUgbmFtZSBvZiB0aGUgQ0RLIHRvb2xraXQgYnVja2V0OyBidWNrZXQgd2lsbCBiZSBjcmVhdGVkIGFuZCBtdXN0IG5vdCBleGlzdCcsIGRlZmF1bHQ6IHVuZGVmaW5lZCB9LFxuICAgICAgICAgICdib290c3RyYXAta21zLWtleS1pZCc6IHsgdHlwZTogJ3N0cmluZycsIGRlc2M6ICdBV1MgS01TIG1hc3RlciBrZXkgSUQgdXNlZCBmb3IgdGhlIFNTRS1LTVMgZW5jcnlwdGlvbicsIGRlZmF1bHQ6IHVuZGVmaW5lZCwgY29uZmxpY3RzOiAnYm9vdHN0cmFwLWN1c3RvbWVyLWtleScgfSxcbiAgICAgICAgICAnZXhhbXBsZS1wZXJtaXNzaW9ucy1ib3VuZGFyeSc6IHsgdHlwZTogJ2Jvb2xlYW4nLCBhbGlhczogJ2VwYicsIGRlc2M6ICdVc2UgdGhlIGV4YW1wbGUgcGVybWlzc2lvbnMgYm91bmRhcnkuJywgZGVmYXVsdDogdW5kZWZpbmVkLCBjb25mbGljdHM6ICdjdXN0b20tcGVybWlzc2lvbnMtYm91bmRhcnknIH0sXG4gICAgICAgICAgJ2N1c3RvbS1wZXJtaXNzaW9ucy1ib3VuZGFyeSc6IHsgdHlwZTogJ3N0cmluZycsIGFsaWFzOiAnY3BiJywgZGVzYzogJ1VzZSB0aGUgcGVybWlzc2lvbnMgYm91bmRhcnkgc3BlY2lmaWVkIGJ5IG5hbWUuJywgZGVmYXVsdDogdW5kZWZpbmVkLCBjb25mbGljdHM6ICdleGFtcGxlLXBlcm1pc3Npb25zLWJvdW5kYXJ5JyB9LFxuICAgICAgICAgICdib290c3RyYXAtY3VzdG9tZXIta2V5JzogeyB0eXBlOiAnYm9vbGVhbicsIGRlc2M6ICdDcmVhdGUgYSBDdXN0b21lciBNYXN0ZXIgS2V5IChDTUspIGZvciB0aGUgYm9vdHN0cmFwIGJ1Y2tldCAoeW91IHdpbGwgYmUgY2hhcmdlZCBidXQgY2FuIGN1c3RvbWl6ZSBwZXJtaXNzaW9ucywgbW9kZXJuIGJvb3RzdHJhcHBpbmcgb25seSknLCBkZWZhdWx0OiB1bmRlZmluZWQsIGNvbmZsaWN0czogJ2Jvb3RzdHJhcC1rbXMta2V5LWlkJyB9LFxuICAgICAgICAgICdxdWFsaWZpZXInOiB7IHR5cGU6ICdzdHJpbmcnLCBkZXNjOiAnU3RyaW5nIHdoaWNoIG11c3QgYmUgdW5pcXVlIGZvciBlYWNoIGJvb3RzdHJhcCBzdGFjay4gWW91IG11c3QgY29uZmlndXJlIGl0IG9uIHlvdXIgQ0RLIGFwcCBpZiB5b3UgY2hhbmdlIHRoaXMgZnJvbSB0aGUgZGVmYXVsdC4nLCBkZWZhdWx0OiB1bmRlZmluZWQgfSxcbiAgICAgICAgICAncHVibGljLWFjY2Vzcy1ibG9jay1jb25maWd1cmF0aW9uJzogeyB0eXBlOiAnYm9vbGVhbicsIGRlc2M6ICdCbG9jayBwdWJsaWMgYWNjZXNzIGNvbmZpZ3VyYXRpb24gb24gQ0RLIHRvb2xraXQgYnVja2V0IChlbmFibGVkIGJ5IGRlZmF1bHQpICcsIGRlZmF1bHQ6IHVuZGVmaW5lZCB9LFxuICAgICAgICAgICd0YWdzJzogeyB0eXBlOiAnYXJyYXknLCBhbGlhczogJ3QnLCBkZXNjOiAnVGFncyB0byBhZGQgZm9yIHRoZSBzdGFjayAoS0VZPVZBTFVFKScsIGRlZmF1bHQ6IFtdIH0sXG4gICAgICAgICAgJ2V4ZWN1dGUnOiB7IHR5cGU6ICdib29sZWFuJywgZGVzYzogJ1doZXRoZXIgdG8gZXhlY3V0ZSBDaGFuZ2VTZXQgKC0tbm8tZXhlY3V0ZSB3aWxsIE5PVCBleGVjdXRlIHRoZSBDaGFuZ2VTZXQpJywgZGVmYXVsdDogdHJ1ZSB9LFxuICAgICAgICAgICd0cnVzdCc6IHsgdHlwZTogJ2FycmF5JywgZGVzYzogJ1RoZSBBV1MgYWNjb3VudCBJRHMgdGhhdCBzaG91bGQgYmUgdHJ1c3RlZCB0byBwZXJmb3JtIGRlcGxveW1lbnRzIGludG8gdGhpcyBlbnZpcm9ubWVudCAobWF5IGJlIHJlcGVhdGVkLCBtb2Rlcm4gYm9vdHN0cmFwcGluZyBvbmx5KScsIGRlZmF1bHQ6IFtdIH0sXG4gICAgICAgICAgJ3RydXN0LWZvci1sb29rdXAnOiB7IHR5cGU6ICdhcnJheScsIGRlc2M6ICdUaGUgQVdTIGFjY291bnQgSURzIHRoYXQgc2hvdWxkIGJlIHRydXN0ZWQgdG8gbG9vayB1cCB2YWx1ZXMgaW4gdGhpcyBlbnZpcm9ubWVudCAobWF5IGJlIHJlcGVhdGVkLCBtb2Rlcm4gYm9vdHN0cmFwcGluZyBvbmx5KScsIGRlZmF1bHQ6IFtdIH0sXG4gICAgICAgICAgJ2Nsb3VkZm9ybWF0aW9uLWV4ZWN1dGlvbi1wb2xpY2llcyc6IHsgdHlwZTogJ2FycmF5JywgZGVzYzogJ1RoZSBNYW5hZ2VkIFBvbGljeSBBUk5zIHRoYXQgc2hvdWxkIGJlIGF0dGFjaGVkIHRvIHRoZSByb2xlIHBlcmZvcm1pbmcgZGVwbG95bWVudHMgaW50byB0aGlzIGVudmlyb25tZW50IChtYXkgYmUgcmVwZWF0ZWQsIG1vZGVybiBib290c3RyYXBwaW5nIG9ubHkpJywgZGVmYXVsdDogW10gfSxcbiAgICAgICAgICAnZm9yY2UnOiB7IGFsaWFzOiAnZicsIHR5cGU6ICdib29sZWFuJywgZGVzYzogJ0Fsd2F5cyBib290c3RyYXAgZXZlbiBpZiBpdCB3b3VsZCBkb3duZ3JhZGUgdGVtcGxhdGUgdmVyc2lvbicsIGRlZmF1bHQ6IGZhbHNlIH0sXG4gICAgICAgICAgJ3Rlcm1pbmF0aW9uLXByb3RlY3Rpb24nOiB7IHR5cGU6ICdib29sZWFuJywgZGVmYXVsdDogdW5kZWZpbmVkLCBkZXNjOiAnVG9nZ2xlIENsb3VkRm9ybWF0aW9uIHRlcm1pbmF0aW9uIHByb3RlY3Rpb24gb24gdGhlIGJvb3RzdHJhcCBzdGFja3MnIH0sXG4gICAgICAgICAgJ3Nob3ctdGVtcGxhdGUnOiB7IHR5cGU6ICdib29sZWFuJywgZGVzYzogJ0luc3RlYWQgb2YgYWN0dWFsIGJvb3RzdHJhcHBpbmcsIHByaW50IHRoZSBjdXJyZW50IENMSVxcJ3MgYm9vdHN0cmFwcGluZyB0ZW1wbGF0ZSB0byBzdGRvdXQgZm9yIGN1c3RvbWl6YXRpb24nLCBkZWZhdWx0OiBmYWxzZSB9LFxuICAgICAgICAgICd0b29sa2l0LXN0YWNrLW5hbWUnOiB7IHR5cGU6ICdzdHJpbmcnLCBkZXNjOiAnVGhlIG5hbWUgb2YgdGhlIENESyB0b29sa2l0IHN0YWNrIHRvIGNyZWF0ZScsIHJlcXVpcmVzQXJnOiB0cnVlIH0sXG4gICAgICAgICAgJ3RlbXBsYXRlJzogeyB0eXBlOiAnc3RyaW5nJywgcmVxdWlyZXNBcmc6IHRydWUsIGRlc2M6ICdVc2UgdGhlIHRlbXBsYXRlIGZyb20gdGhlIGdpdmVuIGZpbGUgaW5zdGVhZCBvZiB0aGUgYnVpbHQtaW4gb25lICh1c2UgLS1zaG93LXRlbXBsYXRlIHRvIG9idGFpbiBhbiBleGFtcGxlKScgfSxcbiAgICAgICAgICAncHJldmlvdXMtcGFyYW1ldGVycyc6IHsgdHlwZTogJ2Jvb2xlYW4nLCBkZWZhdWx0OiB0cnVlLCBkZXNjOiAnVXNlIHByZXZpb3VzIHZhbHVlcyBmb3IgZXhpc3RpbmcgcGFyYW1ldGVycyAoeW91IG11c3Qgc3BlY2lmeSBhbGwgcGFyYW1ldGVycyBvbiBldmVyeSBkZXBsb3ltZW50IGlmIHRoaXMgaXMgZGlzYWJsZWQpJyB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIGdjOiB7XG4gICAgICAgIGRlc2NyaXB0aW9uOiAnR2FyYmFnZSBjb2xsZWN0IGFzc2V0cy4gT3B0aW9ucyBkZXRhaWxlZCBoZXJlOiBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvYmxvYi9tYWluL3BhY2thZ2VzL2F3cy1jZGsvUkVBRE1FLm1kI2Nkay1nYycsXG4gICAgICAgIGFyZzoge1xuICAgICAgICAgIG5hbWU6ICdFTlZJUk9OTUVOVFMnLFxuICAgICAgICAgIHZhcmlhZGljOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgJ2FjdGlvbic6IHsgdHlwZTogJ3N0cmluZycsIGRlc2M6ICdUaGUgYWN0aW9uIChvciBzdWItYWN0aW9uKSB5b3Ugd2FudCB0byBwZXJmb3JtLiBWYWxpZCBlbnRpcmVzIGFyZSBcInByaW50XCIsIFwidGFnXCIsIFwiZGVsZXRlLXRhZ2dlZFwiLCBcImZ1bGxcIi4nLCBkZWZhdWx0OiAnZnVsbCcgfSxcbiAgICAgICAgICAndHlwZSc6IHsgdHlwZTogJ3N0cmluZycsIGRlc2M6ICdTcGVjaWZ5IGVpdGhlciBlY3IsIHMzLCBvciBhbGwnLCBkZWZhdWx0OiAnYWxsJyB9LFxuICAgICAgICAgICdyb2xsYmFjay1idWZmZXItZGF5cyc6IHsgdHlwZTogJ251bWJlcicsIGRlc2M6ICdEZWxldGUgYXNzZXRzIHRoYXQgaGF2ZSBiZWVuIG1hcmtlZCBhcyBpc29sYXRlZCBmb3IgdGhpcyBtYW55IGRheXMnLCBkZWZhdWx0OiAwIH0sXG4gICAgICAgICAgJ2NyZWF0ZWQtYnVmZmVyLWRheXMnOiB7IHR5cGU6ICdudW1iZXInLCBkZXNjOiAnTmV2ZXIgZGVsZXRlIGFzc2V0cyB5b3VuZ2VyIHRoYW4gdGhpcyAoaW4gZGF5cyknLCBkZWZhdWx0OiAxIH0sXG4gICAgICAgICAgJ2NvbmZpcm0nOiB7IHR5cGU6ICdib29sZWFuJywgZGVzYzogJ0NvbmZpcm0gdmlhIG1hbnVhbCBwcm9tcHQgYmVmb3JlIGRlbGV0aW9uJywgZGVmYXVsdDogdHJ1ZSB9LFxuICAgICAgICAgICdib290c3RyYXAtc3RhY2stbmFtZSc6IHsgdHlwZTogJ3N0cmluZycsIGRlc2M6ICdUaGUgbmFtZSBvZiB0aGUgQ0RLIHRvb2xraXQgc3RhY2ssIGlmIGRpZmZlcmVudCBmcm9tIHRoZSBkZWZhdWx0IFwiQ0RLVG9vbGtpdFwiJywgcmVxdWlyZXNBcmc6IHRydWUgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBkZXBsb3k6IHtcbiAgICAgICAgZGVzY3JpcHRpb246ICdEZXBsb3lzIHRoZSBzdGFjayhzKSBuYW1lZCBTVEFDS1MgaW50byB5b3VyIEFXUyBhY2NvdW50JyxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICdhbGwnOiB7IHR5cGU6ICdib29sZWFuJywgZGVzYzogJ0RlcGxveSBhbGwgYXZhaWxhYmxlIHN0YWNrcycsIGRlZmF1bHQ6IGZhbHNlIH0sXG4gICAgICAgICAgJ2J1aWxkLWV4Y2x1ZGUnOiB7IHR5cGU6ICdhcnJheScsIGFsaWFzOiAnRScsIGRlc2M6ICdEbyBub3QgcmVidWlsZCBhc3NldCB3aXRoIHRoZSBnaXZlbiBJRC4gQ2FuIGJlIHNwZWNpZmllZCBtdWx0aXBsZSB0aW1lcycsIGRlZmF1bHQ6IFtdIH0sXG4gICAgICAgICAgJ2V4Y2x1c2l2ZWx5JzogeyB0eXBlOiAnYm9vbGVhbicsIGFsaWFzOiAnZScsIGRlc2M6ICdPbmx5IGRlcGxveSByZXF1ZXN0ZWQgc3RhY2tzLCBkb25cXCd0IGluY2x1ZGUgZGVwZW5kZW5jaWVzJyB9LFxuICAgICAgICAgICdyZXF1aXJlLWFwcHJvdmFsJzogeyB0eXBlOiAnc3RyaW5nJywgY2hvaWNlczogW1JlcXVpcmVBcHByb3ZhbC5OZXZlciwgUmVxdWlyZUFwcHJvdmFsLkFueUNoYW5nZSwgUmVxdWlyZUFwcHJvdmFsLkJyb2FkZW5pbmddLCBkZXNjOiAnV2hhdCBzZWN1cml0eS1zZW5zaXRpdmUgY2hhbmdlcyBuZWVkIG1hbnVhbCBhcHByb3ZhbCcgfSxcbiAgICAgICAgICAnbm90aWZpY2F0aW9uLWFybnMnOiB7IHR5cGU6ICdhcnJheScsIGRlc2M6ICdBUk5zIG9mIFNOUyB0b3BpY3MgdGhhdCBDbG91ZEZvcm1hdGlvbiB3aWxsIG5vdGlmeSB3aXRoIHN0YWNrIHJlbGF0ZWQgZXZlbnRzLiBUaGVzZSB3aWxsIGJlIGFkZGVkIHRvIEFSTnMgc3BlY2lmaWVkIHdpdGggdGhlIFxcJ25vdGlmaWNhdGlvbkFybnNcXCcgc3RhY2sgcHJvcGVydHkuJyB9LFxuICAgICAgICAgIC8vIEBkZXByZWNhdGVkKHYyKSAtLSB0YWdzIGFyZSBwYXJ0IG9mIHRoZSBDbG91ZCBBc3NlbWJseSBhbmQgdGFncyBzcGVjaWZpZWQgaGVyZSB3aWxsIGJlIG92ZXJ3cml0dGVuIG9uIHRoZSBuZXh0IGRlcGxveW1lbnRcbiAgICAgICAgICAndGFncyc6IHsgdHlwZTogJ2FycmF5JywgYWxpYXM6ICd0JywgZGVzYzogJ1RhZ3MgdG8gYWRkIHRvIHRoZSBzdGFjayAoS0VZPVZBTFVFKSwgb3ZlcnJpZGVzIHRhZ3MgZnJvbSBDbG91ZCBBc3NlbWJseSAoZGVwcmVjYXRlZCknIH0sXG4gICAgICAgICAgJ2V4ZWN1dGUnOiB7IHR5cGU6ICdib29sZWFuJywgZGVzYzogJ1doZXRoZXIgdG8gZXhlY3V0ZSBDaGFuZ2VTZXQgKC0tbm8tZXhlY3V0ZSB3aWxsIE5PVCBleGVjdXRlIHRoZSBDaGFuZ2VTZXQpIChkZXByZWNhdGVkKScsIGRlcHJlY2F0ZWQ6IHRydWUgfSxcbiAgICAgICAgICAnY2hhbmdlLXNldC1uYW1lJzogeyB0eXBlOiAnc3RyaW5nJywgZGVzYzogJ05hbWUgb2YgdGhlIENsb3VkRm9ybWF0aW9uIGNoYW5nZSBzZXQgdG8gY3JlYXRlIChvbmx5IGlmIG1ldGhvZCBpcyBub3QgZGlyZWN0KScgfSxcbiAgICAgICAgICAnbWV0aG9kJzoge1xuICAgICAgICAgICAgYWxpYXM6ICdtJyxcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgY2hvaWNlczogWydkaXJlY3QnLCAnY2hhbmdlLXNldCcsICdwcmVwYXJlLWNoYW5nZS1zZXQnXSxcbiAgICAgICAgICAgIHJlcXVpcmVzQXJnOiB0cnVlLFxuICAgICAgICAgICAgZGVzYzogJ0hvdyB0byBwZXJmb3JtIHRoZSBkZXBsb3ltZW50LiBEaXJlY3QgaXMgYSBiaXQgZmFzdGVyIGJ1dCBsYWNrcyBwcm9ncmVzcyBpbmZvcm1hdGlvbicsXG4gICAgICAgICAgfSxcbiAgICAgICAgICAnaW1wb3J0LWV4aXN0aW5nLXJlc291cmNlcyc6IHsgdHlwZTogJ2Jvb2xlYW4nLCBkZXNjOiAnSW5kaWNhdGVzIGlmIHRoZSBzdGFjayBzZXQgaW1wb3J0cyByZXNvdXJjZXMgdGhhdCBhbHJlYWR5IGV4aXN0LicsIGRlZmF1bHQ6IGZhbHNlIH0sXG4gICAgICAgICAgJ2ZvcmNlJzogeyBhbGlhczogJ2YnLCB0eXBlOiAnYm9vbGVhbicsIGRlc2M6ICdBbHdheXMgZGVwbG95IHN0YWNrIGV2ZW4gaWYgdGVtcGxhdGVzIGFyZSBpZGVudGljYWwnLCBkZWZhdWx0OiBmYWxzZSB9LFxuICAgICAgICAgICdwYXJhbWV0ZXJzJzogeyB0eXBlOiAnYXJyYXknLCBkZXNjOiAnQWRkaXRpb25hbCBwYXJhbWV0ZXJzIHBhc3NlZCB0byBDbG91ZEZvcm1hdGlvbiBhdCBkZXBsb3kgdGltZSAoU1RBQ0s6S0VZPVZBTFVFKScsIGRlZmF1bHQ6IHt9IH0sXG4gICAgICAgICAgJ291dHB1dHMtZmlsZSc6IHsgdHlwZTogJ3N0cmluZycsIGFsaWFzOiAnTycsIGRlc2M6ICdQYXRoIHRvIGZpbGUgd2hlcmUgc3RhY2sgb3V0cHV0cyB3aWxsIGJlIHdyaXR0ZW4gYXMgSlNPTicsIHJlcXVpcmVzQXJnOiB0cnVlIH0sXG4gICAgICAgICAgJ3ByZXZpb3VzLXBhcmFtZXRlcnMnOiB7IHR5cGU6ICdib29sZWFuJywgZGVmYXVsdDogdHJ1ZSwgZGVzYzogJ1VzZSBwcmV2aW91cyB2YWx1ZXMgZm9yIGV4aXN0aW5nIHBhcmFtZXRlcnMgKHlvdSBtdXN0IHNwZWNpZnkgYWxsIHBhcmFtZXRlcnMgb24gZXZlcnkgZGVwbG95bWVudCBpZiB0aGlzIGlzIGRpc2FibGVkKScgfSxcbiAgICAgICAgICAndG9vbGtpdC1zdGFjay1uYW1lJzogeyB0eXBlOiAnc3RyaW5nJywgZGVzYzogJ1RoZSBuYW1lIG9mIHRoZSBleGlzdGluZyBDREsgdG9vbGtpdCBzdGFjayAob25seSB1c2VkIGZvciBhcHAgdXNpbmcgbGVnYWN5IHN5bnRoZXNpcyknLCByZXF1aXJlc0FyZzogdHJ1ZSB9LFxuICAgICAgICAgICdwcm9ncmVzcyc6IHsgdHlwZTogJ3N0cmluZycsIGNob2ljZXM6IFtTdGFja0FjdGl2aXR5UHJvZ3Jlc3MuQkFSLCBTdGFja0FjdGl2aXR5UHJvZ3Jlc3MuRVZFTlRTXSwgZGVzYzogJ0Rpc3BsYXkgbW9kZSBmb3Igc3RhY2sgYWN0aXZpdHkgZXZlbnRzJyB9LFxuICAgICAgICAgICdyb2xsYmFjayc6IHtcbiAgICAgICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgICAgIGRlc2M6IFwiUm9sbGJhY2sgc3RhY2sgdG8gc3RhYmxlIHN0YXRlIG9uIGZhaWx1cmUuIERlZmF1bHRzIHRvICd0cnVlJywgaXRlcmF0ZSBtb3JlIHJhcGlkbHkgd2l0aCAtLW5vLXJvbGxiYWNrIG9yIC1SLiBcIiArXG4gICAgICAgICAgICAgICdOb3RlOiBkbyAqKm5vdCoqIGRpc2FibGUgdGhpcyBmbGFnIGZvciBkZXBsb3ltZW50cyB3aXRoIHJlc291cmNlIHJlcGxhY2VtZW50cywgYXMgdGhhdCB3aWxsIGFsd2F5cyBmYWlsJyxcbiAgICAgICAgICAgIG5lZ2F0aXZlQWxpYXM6ICdSJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgICdob3Rzd2FwJzoge1xuICAgICAgICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgICAgICAgZGVzYzogXCJBdHRlbXB0cyB0byBwZXJmb3JtIGEgJ2hvdHN3YXAnIGRlcGxveW1lbnQsIFwiICtcbiAgICAgICAgICAgICAgJ2J1dCBkb2VzIG5vdCBmYWxsIGJhY2sgdG8gYSBmdWxsIGRlcGxveW1lbnQgaWYgdGhhdCBpcyBub3QgcG9zc2libGUuICcgK1xuICAgICAgICAgICAgICAnSW5zdGVhZCwgY2hhbmdlcyB0byBhbnkgbm9uLWhvdHN3YXBwYWJsZSBwcm9wZXJ0aWVzIGFyZSBpZ25vcmVkLicgK1xuICAgICAgICAgICAgICAnRG8gbm90IHVzZSB0aGlzIGluIHByb2R1Y3Rpb24gZW52aXJvbm1lbnRzJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgICdob3Rzd2FwLWZhbGxiYWNrJzoge1xuICAgICAgICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgICAgICAgZGVzYzogXCJBdHRlbXB0cyB0byBwZXJmb3JtIGEgJ2hvdHN3YXAnIGRlcGxveW1lbnQsIFwiICtcbiAgICAgICAgICAgICAgJ3doaWNoIHNraXBzIENsb3VkRm9ybWF0aW9uIGFuZCB1cGRhdGVzIHRoZSByZXNvdXJjZXMgZGlyZWN0bHksICcgK1xuICAgICAgICAgICAgICAnYW5kIGZhbGxzIGJhY2sgdG8gYSBmdWxsIGRlcGxveW1lbnQgaWYgdGhhdCBpcyBub3QgcG9zc2libGUuICcgK1xuICAgICAgICAgICAgICAnRG8gbm90IHVzZSB0aGlzIGluIHByb2R1Y3Rpb24gZW52aXJvbm1lbnRzJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgICd3YXRjaCc6IHtcbiAgICAgICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgICAgIGRlc2M6ICdDb250aW51b3VzbHkgb2JzZXJ2ZSB0aGUgcHJvamVjdCBmaWxlcywgJyArXG4gICAgICAgICAgICAgICdhbmQgZGVwbG95IHRoZSBnaXZlbiBzdGFjayhzKSBhdXRvbWF0aWNhbGx5IHdoZW4gY2hhbmdlcyBhcmUgZGV0ZWN0ZWQuICcgK1xuICAgICAgICAgICAgICAnSW1wbGllcyAtLWhvdHN3YXAgYnkgZGVmYXVsdCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgICAnbG9ncyc6IHtcbiAgICAgICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgICAgIGRlZmF1bHQ6IHRydWUsXG4gICAgICAgICAgICBkZXNjOiAnU2hvdyBDbG91ZFdhdGNoIGxvZyBldmVudHMgZnJvbSBhbGwgcmVzb3VyY2VzIGluIHRoZSBzZWxlY3RlZCBTdGFja3MgaW4gdGhlIHRlcm1pbmFsLiAnICtcbiAgICAgICAgICAgICAgXCIndHJ1ZScgYnkgZGVmYXVsdCwgdXNlIC0tbm8tbG9ncyB0byB0dXJuIG9mZi4gXCIgK1xuICAgICAgICAgICAgICBcIk9ubHkgaW4gZWZmZWN0IGlmIHNwZWNpZmllZCBhbG9uZ3NpZGUgdGhlICctLXdhdGNoJyBvcHRpb25cIixcbiAgICAgICAgICB9LFxuICAgICAgICAgICdjb25jdXJyZW5jeSc6IHsgdHlwZTogJ251bWJlcicsIGRlc2M6ICdNYXhpbXVtIG51bWJlciBvZiBzaW11bHRhbmVvdXMgZGVwbG95bWVudHMgKGRlcGVuZGVuY3kgcGVybWl0dGluZykgdG8gZXhlY3V0ZS4nLCBkZWZhdWx0OiAxLCByZXF1aXJlc0FyZzogdHJ1ZSB9LFxuICAgICAgICAgICdhc3NldC1wYXJhbGxlbGlzbSc6IHsgdHlwZTogJ2Jvb2xlYW4nLCBkZXNjOiAnV2hldGhlciB0byBidWlsZC9wdWJsaXNoIGFzc2V0cyBpbiBwYXJhbGxlbCcgfSxcbiAgICAgICAgICAnYXNzZXQtcHJlYnVpbGQnOiB7IHR5cGU6ICdib29sZWFuJywgZGVzYzogJ1doZXRoZXIgdG8gYnVpbGQgYWxsIGFzc2V0cyBiZWZvcmUgZGVwbG95aW5nIHRoZSBmaXJzdCBzdGFjayAodXNlZnVsIGZvciBmYWlsaW5nIERvY2tlciBidWlsZHMpJywgZGVmYXVsdDogdHJ1ZSB9LFxuICAgICAgICAgICdpZ25vcmUtbm8tc3RhY2tzJzogeyB0eXBlOiAnYm9vbGVhbicsIGRlc2M6ICdXaGV0aGVyIHRvIGRlcGxveSBpZiB0aGUgYXBwIGNvbnRhaW5zIG5vIHN0YWNrcycsIGRlZmF1bHQ6IGZhbHNlIH0sXG4gICAgICAgIH0sXG4gICAgICAgIGFyZzoge1xuICAgICAgICAgIG5hbWU6ICdTVEFDS1MnLFxuICAgICAgICAgIHZhcmlhZGljOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHJvbGxiYWNrOiB7XG4gICAgICAgIGRlc2NyaXB0aW9uOiAnUm9sbHMgYmFjayB0aGUgc3RhY2socykgbmFtZWQgU1RBQ0tTIHRvIHRoZWlyIGxhc3Qgc3RhYmxlIHN0YXRlJyxcbiAgICAgICAgYXJnOiB7XG4gICAgICAgICAgbmFtZTogJ1NUQUNLUycsXG4gICAgICAgICAgdmFyaWFkaWM6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAnYWxsJzogeyB0eXBlOiAnYm9vbGVhbicsIGRlZmF1bHQ6IGZhbHNlLCBkZXNjOiAnUm9sbCBiYWNrIGFsbCBhdmFpbGFibGUgc3RhY2tzJyB9LFxuICAgICAgICAgICd0b29sa2l0LXN0YWNrLW5hbWUnOiB7IHR5cGU6ICdzdHJpbmcnLCBkZXNjOiAnVGhlIG5hbWUgb2YgdGhlIENESyB0b29sa2l0IHN0YWNrIHRoZSBlbnZpcm9ubWVudCBpcyBib290c3RyYXBwZWQgd2l0aCcsIHJlcXVpcmVzQXJnOiB0cnVlIH0sXG4gICAgICAgICAgJ2ZvcmNlJzoge1xuICAgICAgICAgICAgYWxpYXM6ICdmJyxcbiAgICAgICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgICAgIGRlc2M6ICdPcnBoYW4gYWxsIHJlc291cmNlcyBmb3Igd2hpY2ggdGhlIHJvbGxiYWNrIG9wZXJhdGlvbiBmYWlscy4nLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgJ3ZhbGlkYXRlLWJvb3RzdHJhcC12ZXJzaW9uJzoge1xuICAgICAgICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgICAgICAgZGVzYzogJ1doZXRoZXIgdG8gdmFsaWRhdGUgdGhlIGJvb3RzdHJhcCBzdGFjayB2ZXJzaW9uLiBEZWZhdWx0cyB0byBcXCd0cnVlXFwnLCBkaXNhYmxlIHdpdGggLS1uby12YWxpZGF0ZS1ib290c3RyYXAtdmVyc2lvbi4nLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgJ29ycGhhbic6IHtcbiAgICAgICAgICAgIC8vIGFsaWFzOiAnbycgY29uZmxpY3RzIHdpdGggLS1vdXRwdXRcbiAgICAgICAgICAgIHR5cGU6ICdhcnJheScsXG4gICAgICAgICAgICBkZXNjOiAnT3JwaGFuIHRoZSBnaXZlbiByZXNvdXJjZXMsIGlkZW50aWZpZWQgYnkgdGhlaXIgbG9naWNhbCBJRCAoY2FuIGJlIHNwZWNpZmllZCBtdWx0aXBsZSB0aW1lcyknLFxuICAgICAgICAgICAgZGVmYXVsdDogW10sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBpbXBvcnQ6IHtcbiAgICAgICAgZGVzY3JpcHRpb246ICdJbXBvcnQgZXhpc3RpbmcgcmVzb3VyY2UocykgaW50byB0aGUgZ2l2ZW4gU1RBQ0snLFxuICAgICAgICBhcmc6IHtcbiAgICAgICAgICBuYW1lOiAnU1RBQ0snLFxuICAgICAgICAgIHZhcmlhZGljOiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICdleGVjdXRlJzogeyB0eXBlOiAnYm9vbGVhbicsIGRlc2M6ICdXaGV0aGVyIHRvIGV4ZWN1dGUgQ2hhbmdlU2V0ICgtLW5vLWV4ZWN1dGUgd2lsbCBOT1QgZXhlY3V0ZSB0aGUgQ2hhbmdlU2V0KScsIGRlZmF1bHQ6IHRydWUgfSxcbiAgICAgICAgICAnY2hhbmdlLXNldC1uYW1lJzogeyB0eXBlOiAnc3RyaW5nJywgZGVzYzogJ05hbWUgb2YgdGhlIENsb3VkRm9ybWF0aW9uIGNoYW5nZSBzZXQgdG8gY3JlYXRlJyB9LFxuICAgICAgICAgICd0b29sa2l0LXN0YWNrLW5hbWUnOiB7IHR5cGU6ICdzdHJpbmcnLCBkZXNjOiAnVGhlIG5hbWUgb2YgdGhlIENESyB0b29sa2l0IHN0YWNrIHRvIGNyZWF0ZScsIHJlcXVpcmVzQXJnOiB0cnVlIH0sXG4gICAgICAgICAgJ3JvbGxiYWNrJzoge1xuICAgICAgICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgICAgICAgZGVzYzogXCJSb2xsYmFjayBzdGFjayB0byBzdGFibGUgc3RhdGUgb24gZmFpbHVyZS4gRGVmYXVsdHMgdG8gJ3RydWUnLCBpdGVyYXRlIG1vcmUgcmFwaWRseSB3aXRoIC0tbm8tcm9sbGJhY2sgb3IgLVIuIFwiICtcbiAgICAgICAgICAgICAgJ05vdGU6IGRvICoqbm90KiogZGlzYWJsZSB0aGlzIGZsYWcgZm9yIGRlcGxveW1lbnRzIHdpdGggcmVzb3VyY2UgcmVwbGFjZW1lbnRzLCBhcyB0aGF0IHdpbGwgYWx3YXlzIGZhaWwnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgJ2ZvcmNlJzoge1xuICAgICAgICAgICAgYWxpYXM6ICdmJyxcbiAgICAgICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgICAgIGRlc2M6ICdEbyBub3QgYWJvcnQgaWYgdGhlIHRlbXBsYXRlIGRpZmYgaW5jbHVkZXMgdXBkYXRlcyBvciBkZWxldGVzLiBUaGlzIGlzIHByb2JhYmx5IHNhZmUgYnV0IHdlXFwncmUgbm90IHN1cmUsIGxldCB1cyBrbm93IGhvdyBpdCBnb2VzLicsXG4gICAgICAgICAgfSxcbiAgICAgICAgICAncmVjb3JkLXJlc291cmNlLW1hcHBpbmcnOiB7XG4gICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgIGFsaWFzOiAncicsXG4gICAgICAgICAgICByZXF1aXJlc0FyZzogdHJ1ZSxcbiAgICAgICAgICAgIGRlc2M6ICdJZiBzcGVjaWZpZWQsIENESyB3aWxsIGdlbmVyYXRlIGEgbWFwcGluZyBvZiBleGlzdGluZyBwaHlzaWNhbCByZXNvdXJjZXMgdG8gQ0RLIHJlc291cmNlcyB0byBiZSBpbXBvcnRlZCBhcy4gVGhlIG1hcHBpbmcgJyArXG4gICAgICAgICAgICAgICd3aWxsIGJlIHdyaXR0ZW4gaW4gdGhlIGdpdmVuIGZpbGUgcGF0aC4gTm8gYWN0dWFsIGltcG9ydCBvcGVyYXRpb24gd2lsbCBiZSBwZXJmb3JtZWQnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgJ3Jlc291cmNlLW1hcHBpbmcnOiB7XG4gICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgIGFsaWFzOiAnbScsXG4gICAgICAgICAgICByZXF1aXJlc0FyZzogdHJ1ZSxcbiAgICAgICAgICAgIGRlc2M6ICdJZiBzcGVjaWZpZWQsIENESyB3aWxsIHVzZSB0aGUgZ2l2ZW4gZmlsZSB0byBtYXAgcGh5c2ljYWwgcmVzb3VyY2VzIHRvIENESyByZXNvdXJjZXMgZm9yIGltcG9ydCwgaW5zdGVhZCBvZiBpbnRlcmFjdGl2ZWx5ICcgK1xuICAgICAgICAgICAgICAnYXNraW5nIHRoZSB1c2VyLiBDYW4gYmUgcnVuIGZyb20gc2NyaXB0cycsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB3YXRjaDoge1xuICAgICAgICBkZXNjcmlwdGlvbjogXCJTaG9ydGN1dCBmb3IgJ2RlcGxveSAtLXdhdGNoJ1wiLFxuICAgICAgICBhcmc6IHtcbiAgICAgICAgICBuYW1lOiAnU1RBQ0tTJyxcbiAgICAgICAgICB2YXJpYWRpYzogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICdidWlsZC1leGNsdWRlJzogeyB0eXBlOiAnYXJyYXknLCBhbGlhczogJ0UnLCBkZXNjOiAnRG8gbm90IHJlYnVpbGQgYXNzZXQgd2l0aCB0aGUgZ2l2ZW4gSUQuIENhbiBiZSBzcGVjaWZpZWQgbXVsdGlwbGUgdGltZXMnLCBkZWZhdWx0OiBbXSB9LFxuICAgICAgICAgICdleGNsdXNpdmVseSc6IHsgdHlwZTogJ2Jvb2xlYW4nLCBhbGlhczogJ2UnLCBkZXNjOiAnT25seSBkZXBsb3kgcmVxdWVzdGVkIHN0YWNrcywgZG9uXFwndCBpbmNsdWRlIGRlcGVuZGVuY2llcycgfSxcbiAgICAgICAgICAnY2hhbmdlLXNldC1uYW1lJzogeyB0eXBlOiAnc3RyaW5nJywgZGVzYzogJ05hbWUgb2YgdGhlIENsb3VkRm9ybWF0aW9uIGNoYW5nZSBzZXQgdG8gY3JlYXRlJyB9LFxuICAgICAgICAgICdmb3JjZSc6IHsgYWxpYXM6ICdmJywgdHlwZTogJ2Jvb2xlYW4nLCBkZXNjOiAnQWx3YXlzIGRlcGxveSBzdGFjayBldmVuIGlmIHRlbXBsYXRlcyBhcmUgaWRlbnRpY2FsJywgZGVmYXVsdDogZmFsc2UgfSxcbiAgICAgICAgICAndG9vbGtpdC1zdGFjay1uYW1lJzogeyB0eXBlOiAnc3RyaW5nJywgZGVzYzogJ1RoZSBuYW1lIG9mIHRoZSBleGlzdGluZyBDREsgdG9vbGtpdCBzdGFjayAob25seSB1c2VkIGZvciBhcHAgdXNpbmcgbGVnYWN5IHN5bnRoZXNpcyknLCByZXF1aXJlc0FyZzogdHJ1ZSB9LFxuICAgICAgICAgICdwcm9ncmVzcyc6IHsgdHlwZTogJ3N0cmluZycsIGNob2ljZXM6IFtTdGFja0FjdGl2aXR5UHJvZ3Jlc3MuQkFSLCBTdGFja0FjdGl2aXR5UHJvZ3Jlc3MuRVZFTlRTXSwgZGVzYzogJ0Rpc3BsYXkgbW9kZSBmb3Igc3RhY2sgYWN0aXZpdHkgZXZlbnRzJyB9LFxuICAgICAgICAgICdyb2xsYmFjayc6IHtcbiAgICAgICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgICAgIGRlc2M6IFwiUm9sbGJhY2sgc3RhY2sgdG8gc3RhYmxlIHN0YXRlIG9uIGZhaWx1cmUuIERlZmF1bHRzIHRvICd0cnVlJywgaXRlcmF0ZSBtb3JlIHJhcGlkbHkgd2l0aCAtLW5vLXJvbGxiYWNrIG9yIC1SLiBcIiArXG4gICAgICAgICAgICAgICdOb3RlOiBkbyAqKm5vdCoqIGRpc2FibGUgdGhpcyBmbGFnIGZvciBkZXBsb3ltZW50cyB3aXRoIHJlc291cmNlIHJlcGxhY2VtZW50cywgYXMgdGhhdCB3aWxsIGFsd2F5cyBmYWlsJyxcbiAgICAgICAgICAgIG5lZ2F0aXZlQWxpYXM6ICdSJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgICdob3Rzd2FwJzoge1xuICAgICAgICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgICAgICAgZGVzYzogXCJBdHRlbXB0cyB0byBwZXJmb3JtIGEgJ2hvdHN3YXAnIGRlcGxveW1lbnQsIFwiICtcbiAgICAgICAgICAgICAgJ2J1dCBkb2VzIG5vdCBmYWxsIGJhY2sgdG8gYSBmdWxsIGRlcGxveW1lbnQgaWYgdGhhdCBpcyBub3QgcG9zc2libGUuICcgK1xuICAgICAgICAgICAgICAnSW5zdGVhZCwgY2hhbmdlcyB0byBhbnkgbm9uLWhvdHN3YXBwYWJsZSBwcm9wZXJ0aWVzIGFyZSBpZ25vcmVkLicgK1xuICAgICAgICAgICAgICBcIid0cnVlJyBieSBkZWZhdWx0LCB1c2UgLS1uby1ob3Rzd2FwIHRvIHR1cm4gb2ZmXCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgICAnaG90c3dhcC1mYWxsYmFjayc6IHtcbiAgICAgICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgICAgIGRlc2M6IFwiQXR0ZW1wdHMgdG8gcGVyZm9ybSBhICdob3Rzd2FwJyBkZXBsb3ltZW50LCBcIiArXG4gICAgICAgICAgICAgICd3aGljaCBza2lwcyBDbG91ZEZvcm1hdGlvbiBhbmQgdXBkYXRlcyB0aGUgcmVzb3VyY2VzIGRpcmVjdGx5LCAnICtcbiAgICAgICAgICAgICAgJ2FuZCBmYWxscyBiYWNrIHRvIGEgZnVsbCBkZXBsb3ltZW50IGlmIHRoYXQgaXMgbm90IHBvc3NpYmxlLicsXG4gICAgICAgICAgfSxcbiAgICAgICAgICAnbG9ncyc6IHtcbiAgICAgICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgICAgIGRlZmF1bHQ6IHRydWUsXG4gICAgICAgICAgICBkZXNjOiAnU2hvdyBDbG91ZFdhdGNoIGxvZyBldmVudHMgZnJvbSBhbGwgcmVzb3VyY2VzIGluIHRoZSBzZWxlY3RlZCBTdGFja3MgaW4gdGhlIHRlcm1pbmFsLiAnICtcbiAgICAgICAgICAgICAgXCIndHJ1ZScgYnkgZGVmYXVsdCwgdXNlIC0tbm8tbG9ncyB0byB0dXJuIG9mZlwiLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgJ2NvbmN1cnJlbmN5JzogeyB0eXBlOiAnbnVtYmVyJywgZGVzYzogJ01heGltdW0gbnVtYmVyIG9mIHNpbXVsdGFuZW91cyBkZXBsb3ltZW50cyAoZGVwZW5kZW5jeSBwZXJtaXR0aW5nKSB0byBleGVjdXRlLicsIGRlZmF1bHQ6IDEsIHJlcXVpcmVzQXJnOiB0cnVlIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgZGVzdHJveToge1xuICAgICAgICBkZXNjcmlwdGlvbjogJ0Rlc3Ryb3kgdGhlIHN0YWNrKHMpIG5hbWVkIFNUQUNLUycsXG4gICAgICAgIGFyZzoge1xuICAgICAgICAgIG5hbWU6ICdTVEFDS1MnLFxuICAgICAgICAgIHZhcmlhZGljOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgYWxsOiB7IHR5cGU6ICdib29sZWFuJywgZGVmYXVsdDogZmFsc2UsIGRlc2M6ICdEZXN0cm95IGFsbCBhdmFpbGFibGUgc3RhY2tzJyB9LFxuICAgICAgICAgIGV4Y2x1c2l2ZWx5OiB7IHR5cGU6ICdib29sZWFuJywgYWxpYXM6ICdlJywgZGVzYzogJ09ubHkgZGVzdHJveSByZXF1ZXN0ZWQgc3RhY2tzLCBkb25cXCd0IGluY2x1ZGUgZGVwZW5kZWVzJyB9LFxuICAgICAgICAgIGZvcmNlOiB7IHR5cGU6ICdib29sZWFuJywgYWxpYXM6ICdmJywgZGVzYzogJ0RvIG5vdCBhc2sgZm9yIGNvbmZpcm1hdGlvbiBiZWZvcmUgZGVzdHJveWluZyB0aGUgc3RhY2tzJyB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIGRpZmY6IHtcbiAgICAgICAgZGVzY3JpcHRpb246ICdDb21wYXJlcyB0aGUgc3BlY2lmaWVkIHN0YWNrIHdpdGggdGhlIGRlcGxveWVkIHN0YWNrIG9yIGEgbG9jYWwgdGVtcGxhdGUgZmlsZSwgYW5kIHJldHVybnMgd2l0aCBzdGF0dXMgMSBpZiBhbnkgZGlmZmVyZW5jZSBpcyBmb3VuZCcsXG4gICAgICAgIGFyZzoge1xuICAgICAgICAgIG5hbWU6ICdTVEFDS1MnLFxuICAgICAgICAgIHZhcmlhZGljOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgJ2V4Y2x1c2l2ZWx5JzogeyB0eXBlOiAnYm9vbGVhbicsIGFsaWFzOiAnZScsIGRlc2M6ICdPbmx5IGRpZmYgcmVxdWVzdGVkIHN0YWNrcywgZG9uXFwndCBpbmNsdWRlIGRlcGVuZGVuY2llcycgfSxcbiAgICAgICAgICAnY29udGV4dC1saW5lcyc6IHsgdHlwZTogJ251bWJlcicsIGRlc2M6ICdOdW1iZXIgb2YgY29udGV4dCBsaW5lcyB0byBpbmNsdWRlIGluIGFyYml0cmFyeSBKU09OIGRpZmYgcmVuZGVyaW5nJywgZGVmYXVsdDogMywgcmVxdWlyZXNBcmc6IHRydWUgfSxcbiAgICAgICAgICAndGVtcGxhdGUnOiB7IHR5cGU6ICdzdHJpbmcnLCBkZXNjOiAnVGhlIHBhdGggdG8gdGhlIENsb3VkRm9ybWF0aW9uIHRlbXBsYXRlIHRvIGNvbXBhcmUgd2l0aCcsIHJlcXVpcmVzQXJnOiB0cnVlIH0sXG4gICAgICAgICAgJ3N0cmljdCc6IHsgdHlwZTogJ2Jvb2xlYW4nLCBkZXNjOiAnRG8gbm90IGZpbHRlciBvdXQgQVdTOjpDREs6Ok1ldGFkYXRhIHJlc291cmNlcywgbWFuZ2xlZCBub24tQVNDSUkgY2hhcmFjdGVycywgb3IgdGhlIENoZWNrQm9vdHN0cmFwVmVyc2lvblJ1bGUnLCBkZWZhdWx0OiBmYWxzZSB9LFxuICAgICAgICAgICdzZWN1cml0eS1vbmx5JzogeyB0eXBlOiAnYm9vbGVhbicsIGRlc2M6ICdPbmx5IGRpZmYgZm9yIGJyb2FkZW5lZCBzZWN1cml0eSBjaGFuZ2VzJywgZGVmYXVsdDogZmFsc2UgfSxcbiAgICAgICAgICAnZmFpbCc6IHsgdHlwZTogJ2Jvb2xlYW4nLCBkZXNjOiAnRmFpbCB3aXRoIGV4aXQgY29kZSAxIGluIGNhc2Ugb2YgZGlmZicgfSxcbiAgICAgICAgICAncHJvY2Vzc2VkJzogeyB0eXBlOiAnYm9vbGVhbicsIGRlc2M6ICdXaGV0aGVyIHRvIGNvbXBhcmUgYWdhaW5zdCB0aGUgdGVtcGxhdGUgd2l0aCBUcmFuc2Zvcm1zIGFscmVhZHkgcHJvY2Vzc2VkJywgZGVmYXVsdDogZmFsc2UgfSxcbiAgICAgICAgICAncXVpZXQnOiB7IHR5cGU6ICdib29sZWFuJywgYWxpYXM6ICdxJywgZGVzYzogJ0RvIG5vdCBwcmludCBzdGFjayBuYW1lIGFuZCBkZWZhdWx0IG1lc3NhZ2Ugd2hlbiB0aGVyZSBpcyBubyBkaWZmIHRvIHN0ZG91dCcsIGRlZmF1bHQ6IGZhbHNlIH0sXG4gICAgICAgICAgJ2NoYW5nZS1zZXQnOiB7IHR5cGU6ICdib29sZWFuJywgYWxpYXM6ICdjaGFuZ2VzZXQnLCBkZXNjOiAnV2hldGhlciB0byBjcmVhdGUgYSBjaGFuZ2VzZXQgdG8gYW5hbHl6ZSByZXNvdXJjZSByZXBsYWNlbWVudHMuIEluIHRoaXMgbW9kZSwgZGlmZiB3aWxsIHVzZSB0aGUgZGVwbG95IHJvbGUgaW5zdGVhZCBvZiB0aGUgbG9va3VwIHJvbGUuJywgZGVmYXVsdDogdHJ1ZSB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgIGRlc2NyaXB0aW9uOiAnUmV0dXJucyBhbGwgbWV0YWRhdGEgYXNzb2NpYXRlZCB3aXRoIHRoaXMgc3RhY2snLFxuICAgICAgICBhcmc6IHtcbiAgICAgICAgICBuYW1lOiAnU1RBQ0snLFxuICAgICAgICAgIHZhcmlhZGljOiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBhY2tub3dsZWRnZToge1xuICAgICAgICBhbGlhc2VzOiBbJ2FjayddLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0Fja25vd2xlZGdlIGEgbm90aWNlIHNvIHRoYXQgaXQgZG9lcyBub3Qgc2hvdyB1cCBhbnltb3JlJyxcbiAgICAgICAgYXJnOiB7XG4gICAgICAgICAgbmFtZTogJ0lEJyxcbiAgICAgICAgICB2YXJpYWRpYzogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgbm90aWNlczoge1xuICAgICAgICBkZXNjcmlwdGlvbjogJ1JldHVybnMgYSBsaXN0IG9mIHJlbGV2YW50IG5vdGljZXMnLFxuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgdW5hY2tub3dsZWRnZWQ6IHsgdHlwZTogJ2Jvb2xlYW4nLCBhbGlhczogJ3UnLCBkZWZhdWx0OiBmYWxzZSwgZGVzYzogJ1JldHVybnMgYSBsaXN0IG9mIHVuYWNrbm93bGVkZ2VkIG5vdGljZXMnIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgaW5pdDoge1xuICAgICAgICBkZXNjcmlwdGlvbjogJ0NyZWF0ZSBhIG5ldywgZW1wdHkgQ0RLIHByb2plY3QgZnJvbSBhIHRlbXBsYXRlLicsXG4gICAgICAgIGFyZzoge1xuICAgICAgICAgIG5hbWU6ICdURU1QTEFURScsXG4gICAgICAgICAgdmFyaWFkaWM6IGZhbHNlLFxuICAgICAgICB9LFxuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgJ2xhbmd1YWdlJzogeyB0eXBlOiAnc3RyaW5nJywgYWxpYXM6ICdsJywgZGVzYzogJ1RoZSBsYW5ndWFnZSB0byBiZSB1c2VkIGZvciB0aGUgbmV3IHByb2plY3QgKGRlZmF1bHQgY2FuIGJlIGNvbmZpZ3VyZWQgaW4gfi8uY2RrLmpzb24pJywgY2hvaWNlczogYXdhaXQgYXZhaWxhYmxlSW5pdExhbmd1YWdlcygpIH0sXG4gICAgICAgICAgJ2xpc3QnOiB7IHR5cGU6ICdib29sZWFuJywgZGVzYzogJ0xpc3QgdGhlIGF2YWlsYWJsZSB0ZW1wbGF0ZXMnIH0sXG4gICAgICAgICAgJ2dlbmVyYXRlLW9ubHknOiB7IHR5cGU6ICdib29sZWFuJywgZGVmYXVsdDogZmFsc2UsIGRlc2M6ICdJZiB0cnVlLCBvbmx5IGdlbmVyYXRlcyBwcm9qZWN0IGZpbGVzLCB3aXRob3V0IGV4ZWN1dGluZyBhZGRpdGlvbmFsIG9wZXJhdGlvbnMgc3VjaCBhcyBzZXR0aW5nIHVwIGEgZ2l0IHJlcG8sIGluc3RhbGxpbmcgZGVwZW5kZW5jaWVzIG9yIGNvbXBpbGluZyB0aGUgcHJvamVjdCcgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBtaWdyYXRlOiB7XG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTWlncmF0ZSBleGlzdGluZyBBV1MgcmVzb3VyY2VzIGludG8gYSBDREsgYXBwJyxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICdzdGFjay1uYW1lJzogeyB0eXBlOiAnc3RyaW5nJywgYWxpYXM6ICduJywgZGVzYzogJ1RoZSBuYW1lIGFzc2lnbmVkIHRvIHRoZSBzdGFjayBjcmVhdGVkIGluIHRoZSBuZXcgcHJvamVjdC4gVGhlIG5hbWUgb2YgdGhlIGFwcCB3aWxsIGJlIGJhc2VkIG9mZiB0aGlzIG5hbWUgYXMgd2VsbC4nLCByZXF1aXJlc0FyZzogdHJ1ZSB9LFxuICAgICAgICAgICdsYW5ndWFnZSc6IHsgdHlwZTogJ3N0cmluZycsIGRlZmF1bHQ6ICd0eXBlc2NyaXB0JywgYWxpYXM6ICdsJywgZGVzYzogJ1RoZSBsYW5ndWFnZSB0byBiZSB1c2VkIGZvciB0aGUgbmV3IHByb2plY3QnLCBjaG9pY2VzOiBNSUdSQVRFX1NVUFBPUlRFRF9MQU5HVUFHRVMgfSxcbiAgICAgICAgICAnYWNjb3VudCc6IHsgdHlwZTogJ3N0cmluZycsIGRlc2M6ICdUaGUgYWNjb3VudCB0byByZXRyaWV2ZSB0aGUgQ2xvdWRGb3JtYXRpb24gc3RhY2sgdGVtcGxhdGUgZnJvbScgfSxcbiAgICAgICAgICAncmVnaW9uJzogeyB0eXBlOiAnc3RyaW5nJywgZGVzYzogJ1RoZSByZWdpb24gdG8gcmV0cmlldmUgdGhlIENsb3VkRm9ybWF0aW9uIHN0YWNrIHRlbXBsYXRlIGZyb20nIH0sXG4gICAgICAgICAgJ2Zyb20tcGF0aCc6IHsgdHlwZTogJ3N0cmluZycsIGRlc2M6ICdUaGUgcGF0aCB0byB0aGUgQ2xvdWRGb3JtYXRpb24gdGVtcGxhdGUgdG8gbWlncmF0ZS4gVXNlIHRoaXMgZm9yIGxvY2FsbHkgc3RvcmVkIHRlbXBsYXRlcycgfSxcbiAgICAgICAgICAnZnJvbS1zdGFjayc6IHsgdHlwZTogJ2Jvb2xlYW4nLCBkZXNjOiAnVXNlIHRoaXMgZmxhZyB0byByZXRyaWV2ZSB0aGUgdGVtcGxhdGUgZm9yIGFuIGV4aXN0aW5nIENsb3VkRm9ybWF0aW9uIHN0YWNrJyB9LFxuICAgICAgICAgICdvdXRwdXQtcGF0aCc6IHsgdHlwZTogJ3N0cmluZycsIGRlc2M6ICdUaGUgb3V0cHV0IHBhdGggZm9yIHRoZSBtaWdyYXRlZCBDREsgYXBwJyB9LFxuICAgICAgICAgICdmcm9tLXNjYW4nOiB7XG4gICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgIGRlc2M6ICdEZXRlcm1pbmVzIGlmIGEgbmV3IHNjYW4gc2hvdWxkIGJlIGNyZWF0ZWQsIG9yIHRoZSBsYXN0IHN1Y2Nlc3NmdWwgZXhpc3Rpbmcgc2NhbiBzaG91bGQgYmUgdXNlZCAnICtcbiAgICAgICAgICAgICAgJ1xcbiBvcHRpb25zIGFyZSBcIm5ld1wiIG9yIFwibW9zdC1yZWNlbnRcIicsXG4gICAgICAgICAgfSxcbiAgICAgICAgICAnZmlsdGVyJzoge1xuICAgICAgICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgICAgICAgIGRlc2M6ICdGaWx0ZXJzIHRoZSByZXNvdXJjZSBzY2FuIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBjcml0ZXJpYSBpbiB0aGUgZm9sbG93aW5nIGZvcm1hdDogXCJrZXkxPXZhbHVlMSxrZXkyPXZhbHVlMlwiJyArXG4gICAgICAgICAgICAgICdcXG4gVGhpcyBmaWVsZCBjYW4gYmUgcGFzc2VkIG11bHRpcGxlIHRpbWVzIGZvciBPUiBzdHlsZSBmaWx0ZXJpbmc6ICcgK1xuICAgICAgICAgICAgICAnXFxuIGZpbHRlcmluZyBvcHRpb25zOiAnICtcbiAgICAgICAgICAgICAgJ1xcbiByZXNvdXJjZS1pZGVudGlmaWVyOiBBIGtleS12YWx1ZSBwYWlyIHRoYXQgaWRlbnRpZmllcyB0aGUgdGFyZ2V0IHJlc291cmNlLiBpLmUuIHtcIkNsdXN0ZXJOYW1lXCIsIFwibXlDbHVzdGVyXCJ9JyArXG4gICAgICAgICAgICAgICdcXG4gcmVzb3VyY2UtdHlwZS1wcmVmaXg6IEEgc3RyaW5nIHRoYXQgcmVwcmVzZW50cyBhIHR5cGUtbmFtZSBwcmVmaXguIGkuZS4gXCJBV1M6OkR5bmFtb0RCOjpcIicgK1xuICAgICAgICAgICAgICAnXFxuIHRhZy1rZXk6IGEgc3RyaW5nIHRoYXQgbWF0Y2hlcyByZXNvdXJjZXMgd2l0aCBhdCBsZWFzdCBvbmUgdGFnIHdpdGggdGhlIHByb3ZpZGVkIGtleS4gaS5lLiBcIm15VGFnS2V5XCInICtcbiAgICAgICAgICAgICAgJ1xcbiB0YWctdmFsdWU6IGEgc3RyaW5nIHRoYXQgbWF0Y2hlcyByZXNvdXJjZXMgd2l0aCBhdCBsZWFzdCBvbmUgdGFnIHdpdGggdGhlIHByb3ZpZGVkIHZhbHVlLiBpLmUuIFwibXlUYWdWYWx1ZVwiJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgICdjb21wcmVzcyc6IHsgdHlwZTogJ2Jvb2xlYW4nLCBkZXNjOiAnVXNlIHRoaXMgZmxhZyB0byB6aXAgdGhlIGdlbmVyYXRlZCBDREsgYXBwJyB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgZGVzY3JpcHRpb246ICdNYW5hZ2UgY2FjaGVkIGNvbnRleHQgdmFsdWVzJyxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIHJlc2V0OiB7IGFsaWFzOiAnZScsIGRlc2M6ICdUaGUgY29udGV4dCBrZXkgKG9yIGl0cyBpbmRleCkgdG8gcmVzZXQnLCB0eXBlOiAnc3RyaW5nJywgcmVxdWlyZXNBcmc6IHRydWUsIGRlZmF1bHQ6IHVuZGVmaW5lZCB9LFxuICAgICAgICAgIGZvcmNlOiB7IGFsaWFzOiAnZicsIGRlc2M6ICdJZ25vcmUgbWlzc2luZyBrZXkgZXJyb3InLCB0eXBlOiAnYm9vbGVhbicsIGRlZmF1bHQ6IGZhbHNlIH0sXG4gICAgICAgICAgY2xlYXI6IHsgZGVzYzogJ0NsZWFyIGFsbCBjb250ZXh0JywgdHlwZTogJ2Jvb2xlYW4nLCBkZWZhdWx0OiBmYWxzZSB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIGRvY3M6IHtcbiAgICAgICAgYWxpYXNlczogWydkb2MnXSxcbiAgICAgICAgZGVzY3JpcHRpb246ICdPcGVucyB0aGUgcmVmZXJlbmNlIGRvY3VtZW50YXRpb24gaW4gYSBicm93c2VyJyxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIGJyb3dzZXI6IHtcbiAgICAgICAgICAgIGFsaWFzOiAnYicsXG4gICAgICAgICAgICBkZXNjOiAndGhlIGNvbW1hbmQgdG8gdXNlIHRvIG9wZW4gdGhlIGJyb3dzZXIsIHVzaW5nICV1IGFzIGEgcGxhY2Vob2xkZXIgZm9yIHRoZSBwYXRoIG9mIHRoZSBmaWxlIHRvIG9wZW4nLFxuICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICBkZWZhdWx0OiBZQVJHU19IRUxQRVJTLmJyb3dzZXJGb3JQbGF0Zm9ybSgpLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgZG9jdG9yOiB7XG4gICAgICAgIGRlc2NyaXB0aW9uOiAnQ2hlY2sgeW91ciBzZXQtdXAgZm9yIHBvdGVudGlhbCBwcm9ibGVtcycsXG4gICAgICB9LFxuICAgIH0sXG4gIH07XG59XG4iXX0=
405
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQWdCQSxnQ0FpWUM7QUFqWkQsNkRBQTZEO0FBQzdELDREQUFxRTtBQUNyRSw2RkFBeUY7QUFDekYsZ0RBQWlFO0FBQ2pFLGlDQUF5QztBQUN6QyxpQ0FBZ0Q7QUFFbkMsUUFBQSxhQUFhLEdBQUcsSUFBSSwyQkFBVSxDQUFDLHNCQUFzQixDQUFDLENBQUM7QUFFcEU7Ozs7OztHQU1HO0FBQ0ksS0FBSyxVQUFVLFVBQVU7SUFDOUIsT0FBTztRQUNMLGFBQWEsRUFBRTtZQUNiLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsNEtBQTRLLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRTtZQUM1TyxPQUFPLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxvQ0FBb0MsRUFBRTtZQUN2RSxTQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLDZDQUE2QyxFQUFFO1lBQzdGLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsOEZBQThGLEVBQUU7WUFDN0ksT0FBTyxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsZ0NBQWdDLEVBQUU7WUFDcEUsUUFBUSxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsdUNBQXVDLEVBQUU7WUFDNUUsU0FBUyxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsd0dBQXdHLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRTtZQUM3SixlQUFlLEVBQUUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxLQUFL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QUFJLEVBQUU7Z0JBQ0osT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDO2dCQUNoQixXQUFXLEVBQUUsZ0RBQWdEO2dCQUM3RCxPQUFPLEVBQUU7b0JBQ1AsT0FBTyxFQUFFO3dCQUNQLEtBQUssRUFBRSxHQUFHO3dCQUNWLElBQUksRUFBRSxvR0FBb0c7d0JBQzFHLElBQUksRUFBRSxRQUFRO3dCQUNkLE9BQU8sRUFBRSxxQkFBYSxDQUFDLGtCQUFrQixFQUFFO3FCQUM1QztpQkFDRjthQUNGO1lBQ0QsTUFBTSxFQUFFO2dCQUNOLFdBQVcsRUFBRSwwQ0FBMEM7YUFDeEQ7U0FDRjtLQUNGLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1leHRyYW5lb3VzLWRlcGVuZGVuY2llc1xuaW1wb3J0IHsgQ2xpSGVscGVycywgdHlwZSBDbGlDb25maWcgfSBmcm9tICdAYXdzLWNkay91c2VyLWlucHV0LWdlbic7XG5pbXBvcnQgeyBTdGFja0FjdGl2aXR5UHJvZ3Jlc3MgfSBmcm9tICcuL2FwaS91dGlsL2Nsb3VkZm9ybWF0aW9uL3N0YWNrLWFjdGl2aXR5LW1vbml0b3InO1xuaW1wb3J0IHsgTUlHUkFURV9TVVBQT1JURURfTEFOR1VBR0VTIH0gZnJvbSAnLi9jb21tYW5kcy9taWdyYXRlJztcbmltcG9ydCB7IFJlcXVpcmVBcHByb3ZhbCB9IGZyb20gJy4vZGlmZic7XG5pbXBvcnQgeyBhdmFpbGFibGVJbml0TGFuZ3VhZ2VzIH0gZnJvbSAnLi9pbml0JztcblxuZXhwb3J0IGNvbnN0IFlBUkdTX0hFTFBFUlMgPSBuZXcgQ2xpSGVscGVycygnLi91dGlsL3lhcmdzLWhlbHBlcnMnKTtcblxuLyoqXG4gKiBTb3VyY2Ugb2YgdHJ1dGggZm9yIGFsbCBDREsgQ0xJIGNvbW1hbmRzLiBgdXNlci1pbnB1dC1nZW5gIHRyYW5zbGF0ZXMgdGhpcyBpbnRvOlxuICpcbiAqIC0gdGhlIGB5YXJnc2AgZGVmaW5pdGlvbiBpbiBgbGliL3BhcnNlLWNvbW1hbmQtbGluZS1hcmd1bWVudHMudHNgLlxuICogLSB0aGUgYFVzZXJJbnB1dGAgdHlwZSBpbiBgbGliL3VzZXItaW5wdXQudHNgLlxuICogLSB0aGUgYGNvbnZlcnRYeHhUb1VzZXJJbnB1dGAgZnVuY3Rpb25zIGluIGBsaWIvY29udmVydC10by11c2VyLWlucHV0LnRzYC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIG1ha2VDb25maWcoKTogUHJvbWlzZTxDbGlDb25maWc+IHtcbiAgcmV0dXJuIHtcbiAgICBnbG9iYWxPcHRpb25zOiB7XG4gICAgICAnYXBwJzogeyB0eXBlOiAnc3RyaW5nJywgYWxpYXM6ICdhJywgZGVzYzogJ1JFUVVJUkVEIFdIRU4gUlVOTklORyBBUFA6IGNvbW1hbmQtbGluZSBmb3IgZXhlY3V0aW5nIHlvdXIgYXBwIG9yIGEgY2xvdWQgYXNzZW1ibHkgZGlyZWN0b3J5IChlLmcuIFwibm9kZSBiaW4vbXktYXBwLmpzXCIpLiBDYW4gYWxzbyBiZSBzcGVjaWZpZWQgaW4gY2RrLmpzb24gb3Igfi8uY2RrLmpzb24nLCByZXF1aXJlc0FyZzogdHJ1ZSB9LFxuICAgICAgJ2J1aWxkJzogeyB0eXBlOiAnc3RyaW5nJywgZGVzYzogJ0NvbW1hbmQtbGluZSBmb3IgYSBwcmUtc3ludGggYnVpbGQnIH0sXG4gICAgICAnY29udGV4dCc6IHsgdHlwZTogJ2FycmF5JywgYWxpYXM6ICdjJywgZGVzYzogJ0FkZCBjb250ZXh0dWFsIHN0cmluZyBwYXJhbWV0ZXIgKEtFWT1WQUxVRSknIH0sXG4gICAgICAncGx1Z2luJzogeyB0eXBlOiAnYXJyYXknLCBhbGlhczogJ3AnLCBkZXNjOiAnTmFtZSBvciBwYXRoIG9mIGEgbm9kZSBwYWNrYWdlIHRoYXQgZXh0ZW5kIHRoZSBDREsgZmVhdHVyZXMuIENhbiBiZSBzcGVjaWZpZWQgbXVsdGlwbGUgdGltZXMnIH0sXG4gICAgICAndHJhY2UnOiB7IHR5cGU6ICdib29sZWFuJywgZGVzYzogJ1ByaW50IHRyYWNlIGZvciBzdGFjayB3YXJuaW5ncycgfSxcbiAgICAgICdzdHJpY3QnOiB7IHR5cGU6ICdib29sZWFuJywgZGVzYzogJ0RvIG5vdCBjb25zdHJ1Y3Qgc3RhY2tzIHdpdGggd2FybmluZ3MnIH0sXG4gICAgICAnbG9va3Vwcyc6IHsgdHlwZTogJ2Jvb2xlYW4nLCBkZXNjOiAnUGVyZm9ybSBjb250ZXh0IGxvb2t1cHMgKHN5bnRoZXNpcyBmYWlscyBpZiB0aGlzIGlzIGRpc2FibGVkIGFuZCBjb250ZXh0IGxvb2t1cHMgbmVlZCB0byBiZSBwZXJmb3JtZWQpJywgZGVmYXVsdDogdHJ1ZSB9LFxuICAgICAgJ2lnbm9yZS1lcnJvcnMnOiB7IHR5cGU6ICdib29sZWFuJywgZGVmYXVsdDogZmFsc2UsIGRlc2M6ICdJZ25vcmVzIHN5bnRoZXNpcyBlcnJvcnMsIHdoaWNoIHdpbGwgbGlrZWx5IHByb2R1Y2UgYW4gaW52YWxpZCBvdXRwdXQnIH0sXG4gICAgICAnanNvbic6IHsgdHlwZTogJ2Jvb2xlYW4nLCBhbGlhczogJ2onLCBkZXNjOiAnVXNlIEpTT04gb3V0cHV0IGluc3RlYWQgb2YgWUFNTCB3aGVuIHRlbXBsYXRlcyBhcmUgcHJpbnRlZCB0byBTVERPVVQnLCBkZWZhdWx0OiBmYWxzZSB9LFxuICAgICAgJ3ZlcmJvc2UnOiB7IHR5cGU6ICdib29sZWFuJywgYWxpYXM6ICd2JywgZGVzYzogJ1Nob3cgZGVidWcgbG9ncyAoc3BlY2lmeSBtdWx0aXBsZSB0aW1lcyB0byBpbmNyZWFzZSB2ZXJib3NpdHkpJywgZGVmYXVsdDogZmFsc2UsIGNvdW50OiB0cnVlIH0sXG4gICAgICAnZGVidWcnOiB7IHR5cGU6ICdib29sZWFuJywgZGVzYzogJ0RlYnVnIHRoZSBDREsgYXBwLiBMb2cgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBkdXJpbmcgc3ludGhlc2lzLCBzdWNoIGFzIGNyZWF0aW9uIHN0YWNrIHRyYWNlcyBvZiB0b2tlbnMgKHNldHMgQ0RLX0RFQlVHLCB3aWxsIHNsb3cgZG93biBzeW50aGVzaXMpJywgZGVmYXVsdDogZmFsc2UgfSxcbiAgICAgICdwcm9maWxlJzogeyB0eXBlOiAnc3RyaW5nJywgZGVzYzogJ1VzZSB0aGUgaW5kaWNhdGVkIEFXUyBwcm9maWxlIGFzIHRoZSBkZWZhdWx0IGVudmlyb25tZW50JywgcmVxdWlyZXNBcmc6IHRydWUgfSxcbiAgICAgICdwcm94eSc6IHsgdHlwZTogJ3N0cmluZycsIGRlc2M6ICdVc2UgdGhlIGluZGljYXRlZCBwcm94eS4gV2lsbCByZWFkIGZyb20gSFRUUFNfUFJPWFkgZW52aXJvbm1lbnQgdmFyaWFibGUgaWYgbm90IHNwZWNpZmllZCcsIHJlcXVpcmVzQXJnOiB0cnVlIH0sXG4gICAgICAnY2EtYnVuZGxlLXBhdGgnOiB7IHR5cGU6ICdzdHJpbmcnLCBkZXNjOiAnUGF0aCB0byBDQSBjZXJ0aWZpY2F0ZSB0byB1c2Ugd2hlbiB2YWxpZGF0aW5nIEhUVFBTIHJlcXVlc3RzLiBXaWxsIHJlYWQgZnJvbSBBV1NfQ0FfQlVORExFIGVudmlyb25tZW50IHZhcmlhYmxlIGlmIG5vdCBzcGVjaWZpZWQnLCByZXF1aXJlc0FyZzogdHJ1ZSB9LFxuICAgICAgJ2VjMmNyZWRzJzogeyB0eXBlOiAnYm9vbGVhbicsIGFsaWFzOiAnaScsIGRlZmF1bHQ6IHVuZGVmaW5lZCwgZGVzYzogJ0ZvcmNlIHRyeWluZyB0byBmZXRjaCBFQzIgaW5zdGFuY2UgY3JlZGVudGlhbHMuIERlZmF1bHQ6IGd1ZXNzIEVDMiBpbnN0YW5jZSBzdGF0dXMnIH0sXG4gICAgICAndmVyc2lvbi1yZXBvcnRpbmcnOiB7IHR5cGU6ICdib29sZWFuJywgZGVzYzogJ0luY2x1ZGUgdGhlIFwiQVdTOjpDREs6Ok1ldGFkYXRhXCIgcmVzb3VyY2UgaW4gc3ludGhlc2l6ZWQgdGVtcGxhdGVzIChlbmFibGVkIGJ5IGRlZmF1bHQpJywgZGVmYXVsdDogdW5kZWZpbmVkIH0sXG4gICAgICAncGF0aC1tZXRhZGF0YSc6IHsgdHlwZTogJ2Jvb2xlYW4nLCBkZXNjOiAnSW5jbHVkZSBcImF3czpjZGs6cGF0aFwiIENsb3VkRm9ybWF0aW9uIG1ldGFkYXRhIGZvciBlYWNoIHJlc291cmNlIChlbmFibGVkIGJ5IGRlZmF1bHQpJywgZGVmYXVsdDogdW5kZWZpbmVkIH0sXG4gICAgICAnYXNzZXQtbWV0YWRhdGEnOiB7IHR5cGU6ICdib29sZWFuJywgZGVzYzogJ0luY2x1ZGUgXCJhd3M6YXNzZXQ6KlwiIENsb3VkRm9ybWF0aW9uIG1ldGFkYXRhIGZvciByZXNvdXJjZXMgdGhhdCB1c2VzIGFzc2V0cyAoZW5hYmxlZCBieSBkZWZhdWx0KScsIGRlZmF1bHQ6IHVuZGVmaW5lZCB9LFxuICAgICAgJ3JvbGUtYXJuJzogeyB0eXBlOiAnc3RyaW5nJywgYWxpYXM6ICdyJywgZGVzYzogJ0FSTiBvZiBSb2xlIHRvIHVzZSB3aGVuIGludm9raW5nIENsb3VkRm9ybWF0aW9uJywgZGVmYXVsdDogdW5kZWZpbmVkLCByZXF1aXJlc0FyZzogdHJ1ZSB9LFxuICAgICAgJ3N0YWdpbmcnOiB7IHR5cGU6ICdib29sZWFuJywgZGVzYzogJ0NvcHkgYXNzZXRzIHRvIHRoZSBvdXRwdXQgZGlyZWN0b3J5ICh1c2UgLS1uby1zdGFnaW5nIHRvIGRpc2FibGUgdGhlIGNvcHkgb2YgYXNzZXRzIHdoaWNoIGFsbG93cyBsb2NhbCBkZWJ1Z2dpbmcgdmlhIHRoZSBTQU0gQ0xJIHRvIHJlZmVyZW5jZSB0aGUgb3JpZ2luYWwgc291cmNlIGZpbGVzKScsIGRlZmF1bHQ6IHRydWUgfSxcbiAgICAgICdvdXRwdXQnOiB7IHR5cGU6ICdzdHJpbmcnLCBhbGlhczogJ28nLCBkZXNjOiAnRW1pdHMgdGhlIHN5bnRoZXNpemVkIGNsb3VkIGFzc2VtYmx5IGludG8gYSBkaXJlY3RvcnkgKGRlZmF1bHQ6IGNkay5vdXQpJywgcmVxdWlyZXNBcmc6IHRydWUgfSxcbiAgICAgICdub3RpY2VzJzogeyB0eXBlOiAnYm9vbGVhbicsIGRlc2M6ICdTaG93IHJlbGV2YW50IG5vdGljZXMnIH0sXG4gICAgICAnbm8tY29sb3InOiB7IHR5cGU6ICdib29sZWFuJywgZGVzYzogJ1JlbW92ZXMgY29sb3JzIGFuZCBvdGhlciBzdHlsZSBmcm9tIGNvbnNvbGUgb3V0cHV0JywgZGVmYXVsdDogZmFsc2UgfSxcbiAgICAgICdjaSc6IHsgdHlwZTogJ2Jvb2xlYW4nLCBkZXNjOiAnRm9yY2UgQ0kgZGV0ZWN0aW9uLiBJZiBDST10cnVlIHRoZW4gbG9ncyB3aWxsIGJlIHNlbnQgdG8gc3Rkb3V0IGluc3RlYWQgb2Ygc3RkZXJyJywgZGVmYXVsdDogWUFSR1NfSEVMUEVSUy5pc0NJKCkgfSxcbiAgICAgICd1bnN0YWJsZSc6IHsgdHlwZTogJ2FycmF5JywgZGVzYzogJ09wdCBpbiB0byB1bnN0YWJsZSBmZWF0dXJlcy4gVGhlIGZsYWcgaW5kaWNhdGVzIHRoYXQgdGhlIHNjb3BlIGFuZCBBUEkgb2YgYSBmZWF0dXJlIG1pZ2h0IHN0aWxsIGNoYW5nZS4gT3RoZXJ3aXNlIHRoZSBmZWF0dXJlIGlzIGdlbmVyYWxseSBwcm9kdWN0aW9uIHJlYWR5IGFuZCBmdWxseSBzdXBwb3J0ZWQuIENhbiBiZSBzcGVjaWZpZWQgbXVsdGlwbGUgdGltZXMuJywgZGVmYXVsdDogW10gfSxcbiAgICB9LFxuICAgIGNvbW1hbmRzOiB7XG4gICAgICBsaXN0OiB7XG4gICAgICAgIGFyZzoge1xuICAgICAgICAgIG5hbWU6ICdTVEFDS1MnLFxuICAgICAgICAgIHZhcmlhZGljOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBhbGlhc2VzOiBbJ2xzJ10sXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTGlzdHMgYWxsIHN0YWNrcyBpbiB0aGUgYXBwJyxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICdsb25nJzogeyB0eXBlOiAnYm9vbGVhbicsIGRlZmF1bHQ6IGZhbHNlLCBhbGlhczogJ2wnLCBkZXNjOiAnRGlzcGxheSBlbnZpcm9ubWVudCBpbmZvcm1hdGlvbiBmb3IgZWFjaCBzdGFjaycgfSxcbiAgICAgICAgICAnc2hvdy1kZXBlbmRlbmNpZXMnOiB7IHR5cGU6ICdib29sZWFuJywgZGVmYXVsdDogZmFsc2UsIGFsaWFzOiAnZCcsIGRlc2M6ICdEaXNwbGF5IHN0YWNrIGRlcGVuZGVuY3kgaW5mb3JtYXRpb24gZm9yIGVhY2ggc3RhY2snIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgc3ludGg6IHtcbiAgICAgICAgYXJnOiB7XG4gICAgICAgICAgbmFtZTogJ1NUQUNLUycsXG4gICAgICAgICAgdmFyaWFkaWM6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIGFsaWFzZXM6IFsnc3ludGhlc2l6ZSddLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ1N5bnRoZXNpemVzIGFuZCBwcmludHMgdGhlIENsb3VkRm9ybWF0aW9uIHRlbXBsYXRlIGZvciB0aGlzIHN0YWNrJyxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIGV4Y2x1c2l2ZWx5OiB7IHR5cGU6ICdib29sZWFuJywgYWxpYXM6ICdlJywgZGVzYzogJ09ubHkgc3ludGhlc2l6ZSByZXF1ZXN0ZWQgc3RhY2tzLCBkb25cXCd0IGluY2x1ZGUgZGVwZW5kZW5jaWVzJyB9LFxuICAgICAgICAgIHZhbGlkYXRpb246IHsgdHlwZTogJ2Jvb2xlYW4nLCBkZXNjOiAnQWZ0ZXIgc3ludGhlc2lzLCB2YWxpZGF0ZSBzdGFja3Mgd2l0aCB0aGUgXCJ2YWxpZGF0ZU9uU3ludGhcIiBhdHRyaWJ1dGUgc2V0IChjYW4gYWxzbyBiZSBjb250cm9sbGVkIHdpdGggQ0RLX1ZBTElEQVRJT04pJywgZGVmYXVsdDogdHJ1ZSB9LFxuICAgICAgICAgIHF1aWV0OiB7IHR5cGU6ICdib29sZWFuJywgYWxpYXM6ICdxJywgZGVzYzogJ0RvIG5vdCBvdXRwdXQgQ2xvdWRGb3JtYXRpb24gVGVtcGxhdGUgdG8gc3Rkb3V0JywgZGVmYXVsdDogZmFsc2UgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBib290c3RyYXA6IHtcbiAgICAgICAgYXJnOiB7XG4gICAgICAgICAgbmFtZTogJ0VOVklST05NRU5UUycsXG4gICAgICAgICAgdmFyaWFkaWM6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnRGVwbG95cyB0aGUgQ0RLIHRvb2xraXQgc3RhY2sgaW50byBhbiBBV1MgZW52aXJvbm1lbnQnLFxuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgJ2Jvb3RzdHJhcC1idWNrZXQtbmFtZSc6IHsgdHlwZTogJ3N0cmluZycsIGFsaWFzOiBbJ2InLCAndG9vbGtpdC1idWNrZXQtbmFtZSddLCBkZXNjOiAnVGhlIG5hbWUgb2YgdGhlIENESyB0b29sa2l0IGJ1Y2tldDsgYnVja2V0IHdpbGwgYmUgY3JlYXRlZCBhbmQgbXVzdCBub3QgZXhpc3QnLCBkZWZhdWx0OiB1bmRlZmluZWQgfSxcbiAgICAgICAgICAnYm9vdHN0cmFwLWttcy1rZXktaWQnOiB7IHR5cGU6ICdzdHJpbmcnLCBkZXNjOiAnQVdTIEtNUyBtYXN0ZXIga2V5IElEIHVzZWQgZm9yIHRoZSBTU0UtS01TIGVuY3J5cHRpb24nLCBkZWZhdWx0OiB1bmRlZmluZWQsIGNvbmZsaWN0czogJ2Jvb3RzdHJhcC1jdXN0b21lci1rZXknIH0sXG4gICAgICAgICAgJ2V4YW1wbGUtcGVybWlzc2lvbnMtYm91bmRhcnknOiB7IHR5cGU6ICdib29sZWFuJywgYWxpYXM6ICdlcGInLCBkZXNjOiAnVXNlIHRoZSBleGFtcGxlIHBlcm1pc3Npb25zIGJvdW5kYXJ5LicsIGRlZmF1bHQ6IHVuZGVmaW5lZCwgY29uZmxpY3RzOiAnY3VzdG9tLXBlcm1pc3Npb25zLWJvdW5kYXJ5JyB9LFxuICAgICAgICAgICdjdXN0b20tcGVybWlzc2lvbnMtYm91bmRhcnknOiB7IHR5cGU6ICdzdHJpbmcnLCBhbGlhczogJ2NwYicsIGRlc2M6ICdVc2UgdGhlIHBlcm1pc3Npb25zIGJvdW5kYXJ5IHNwZWNpZmllZCBieSBuYW1lLicsIGRlZmF1bHQ6IHVuZGVmaW5lZCwgY29uZmxpY3RzOiAnZXhhbXBsZS1wZXJtaXNzaW9ucy1ib3VuZGFyeScgfSxcbiAgICAgICAgICAnYm9vdHN0cmFwLWN1c3RvbWVyLWtleSc6IHsgdHlwZTogJ2Jvb2xlYW4nLCBkZXNjOiAnQ3JlYXRlIGEgQ3VzdG9tZXIgTWFzdGVyIEtleSAoQ01LKSBmb3IgdGhlIGJvb3RzdHJhcCBidWNrZXQgKHlvdSB3aWxsIGJlIGNoYXJnZWQgYnV0IGNhbiBjdXN0b21pemUgcGVybWlzc2lvbnMsIG1vZGVybiBib290c3RyYXBwaW5nIG9ubHkpJywgZGVmYXVsdDogdW5kZWZpbmVkLCBjb25mbGljdHM6ICdib290c3RyYXAta21zLWtleS1pZCcgfSxcbiAgICAgICAgICAncXVhbGlmaWVyJzogeyB0eXBlOiAnc3RyaW5nJywgZGVzYzogJ1N0cmluZyB3aGljaCBtdXN0IGJlIHVuaXF1ZSBmb3IgZWFjaCBib290c3RyYXAgc3RhY2suIFlvdSBtdXN0IGNvbmZpZ3VyZSBpdCBvbiB5b3VyIENESyBhcHAgaWYgeW91IGNoYW5nZSB0aGlzIGZyb20gdGhlIGRlZmF1bHQuJywgZGVmYXVsdDogdW5kZWZpbmVkIH0sXG4gICAgICAgICAgJ3B1YmxpYy1hY2Nlc3MtYmxvY2stY29uZmlndXJhdGlvbic6IHsgdHlwZTogJ2Jvb2xlYW4nLCBkZXNjOiAnQmxvY2sgcHVibGljIGFjY2VzcyBjb25maWd1cmF0aW9uIG9uIENESyB0b29sa2l0IGJ1Y2tldCAoZW5hYmxlZCBieSBkZWZhdWx0KSAnLCBkZWZhdWx0OiB1bmRlZmluZWQgfSxcbiAgICAgICAgICAndGFncyc6IHsgdHlwZTogJ2FycmF5JywgYWxpYXM6ICd0JywgZGVzYzogJ1RhZ3MgdG8gYWRkIGZvciB0aGUgc3RhY2sgKEtFWT1WQUxVRSknLCBkZWZhdWx0OiBbXSB9LFxuICAgICAgICAgICdleGVjdXRlJzogeyB0eXBlOiAnYm9vbGVhbicsIGRlc2M6ICdXaGV0aGVyIHRvIGV4ZWN1dGUgQ2hhbmdlU2V0ICgtLW5vLWV4ZWN1dGUgd2lsbCBOT1QgZXhlY3V0ZSB0aGUgQ2hhbmdlU2V0KScsIGRlZmF1bHQ6IHRydWUgfSxcbiAgICAgICAgICAndHJ1c3QnOiB7IHR5cGU6ICdhcnJheScsIGRlc2M6ICdUaGUgQVdTIGFjY291bnQgSURzIHRoYXQgc2hvdWxkIGJlIHRydXN0ZWQgdG8gcGVyZm9ybSBkZXBsb3ltZW50cyBpbnRvIHRoaXMgZW52aXJvbm1lbnQgKG1heSBiZSByZXBlYXRlZCwgbW9kZXJuIGJvb3RzdHJhcHBpbmcgb25seSknLCBkZWZhdWx0OiBbXSB9LFxuICAgICAgICAgICd0cnVzdC1mb3ItbG9va3VwJzogeyB0eXBlOiAnYXJyYXknLCBkZXNjOiAnVGhlIEFXUyBhY2NvdW50IElEcyB0aGF0IHNob3VsZCBiZSB0cnVzdGVkIHRvIGxvb2sgdXAgdmFsdWVzIGluIHRoaXMgZW52aXJvbm1lbnQgKG1heSBiZSByZXBlYXRlZCwgbW9kZXJuIGJvb3RzdHJhcHBpbmcgb25seSknLCBkZWZhdWx0OiBbXSB9LFxuICAgICAgICAgICdjbG91ZGZvcm1hdGlvbi1leGVjdXRpb24tcG9saWNpZXMnOiB7IHR5cGU6ICdhcnJheScsIGRlc2M6ICdUaGUgTWFuYWdlZCBQb2xpY3kgQVJOcyB0aGF0IHNob3VsZCBiZSBhdHRhY2hlZCB0byB0aGUgcm9sZSBwZXJmb3JtaW5nIGRlcGxveW1lbnRzIGludG8gdGhpcyBlbnZpcm9ubWVudCAobWF5IGJlIHJlcGVhdGVkLCBtb2Rlcm4gYm9vdHN0cmFwcGluZyBvbmx5KScsIGRlZmF1bHQ6IFtdIH0sXG4gICAgICAgICAgJ2ZvcmNlJzogeyBhbGlhczogJ2YnLCB0eXBlOiAnYm9vbGVhbicsIGRlc2M6ICdBbHdheXMgYm9vdHN0cmFwIGV2ZW4gaWYgaXQgd291bGQgZG93bmdyYWRlIHRlbXBsYXRlIHZlcnNpb24nLCBkZWZhdWx0OiBmYWxzZSB9LFxuICAgICAgICAgICd0ZXJtaW5hdGlvbi1wcm90ZWN0aW9uJzogeyB0eXBlOiAnYm9vbGVhbicsIGRlZmF1bHQ6IHVuZGVmaW5lZCwgZGVzYzogJ1RvZ2dsZSBDbG91ZEZvcm1hdGlvbiB0ZXJtaW5hdGlvbiBwcm90ZWN0aW9uIG9uIHRoZSBib290c3RyYXAgc3RhY2tzJyB9LFxuICAgICAgICAgICdzaG93LXRlbXBsYXRlJzogeyB0eXBlOiAnYm9vbGVhbicsIGRlc2M6ICdJbnN0ZWFkIG9mIGFjdHVhbCBib290c3RyYXBwaW5nLCBwcmludCB0aGUgY3VycmVudCBDTElcXCdzIGJvb3RzdHJhcHBpbmcgdGVtcGxhdGUgdG8gc3Rkb3V0IGZvciBjdXN0b21pemF0aW9uJywgZGVmYXVsdDogZmFsc2UgfSxcbiAgICAgICAgICAndG9vbGtpdC1zdGFjay1uYW1lJzogeyB0eXBlOiAnc3RyaW5nJywgZGVzYzogJ1RoZSBuYW1lIG9mIHRoZSBDREsgdG9vbGtpdCBzdGFjayB0byBjcmVhdGUnLCByZXF1aXJlc0FyZzogdHJ1ZSB9LFxuICAgICAgICAgICd0ZW1wbGF0ZSc6IHsgdHlwZTogJ3N0cmluZycsIHJlcXVpcmVzQXJnOiB0cnVlLCBkZXNjOiAnVXNlIHRoZSB0ZW1wbGF0ZSBmcm9tIHRoZSBnaXZlbiBmaWxlIGluc3RlYWQgb2YgdGhlIGJ1aWx0LWluIG9uZSAodXNlIC0tc2hvdy10ZW1wbGF0ZSB0byBvYnRhaW4gYW4gZXhhbXBsZSknIH0sXG4gICAgICAgICAgJ3ByZXZpb3VzLXBhcmFtZXRlcnMnOiB7IHR5cGU6ICdib29sZWFuJywgZGVmYXVsdDogdHJ1ZSwgZGVzYzogJ1VzZSBwcmV2aW91cyB2YWx1ZXMgZm9yIGV4aXN0aW5nIHBhcmFtZXRlcnMgKHlvdSBtdXN0IHNwZWNpZnkgYWxsIHBhcmFtZXRlcnMgb24gZXZlcnkgZGVwbG95bWVudCBpZiB0aGlzIGlzIGRpc2FibGVkKScgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBnYzoge1xuICAgICAgICBkZXNjcmlwdGlvbjogJ0dhcmJhZ2UgY29sbGVjdCBhc3NldHMuIE9wdGlvbnMgZGV0YWlsZWQgaGVyZTogaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL2Jsb2IvbWFpbi9wYWNrYWdlcy9hd3MtY2RrL1JFQURNRS5tZCNjZGstZ2MnLFxuICAgICAgICBhcmc6IHtcbiAgICAgICAgICBuYW1lOiAnRU5WSVJPTk1FTlRTJyxcbiAgICAgICAgICB2YXJpYWRpYzogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICdhY3Rpb24nOiB7IHR5cGU6ICdzdHJpbmcnLCBkZXNjOiAnVGhlIGFjdGlvbiAob3Igc3ViLWFjdGlvbikgeW91IHdhbnQgdG8gcGVyZm9ybS4gVmFsaWQgZW50aXJlcyBhcmUgXCJwcmludFwiLCBcInRhZ1wiLCBcImRlbGV0ZS10YWdnZWRcIiwgXCJmdWxsXCIuJywgZGVmYXVsdDogJ2Z1bGwnIH0sXG4gICAgICAgICAgJ3R5cGUnOiB7IHR5cGU6ICdzdHJpbmcnLCBkZXNjOiAnU3BlY2lmeSBlaXRoZXIgZWNyLCBzMywgb3IgYWxsJywgZGVmYXVsdDogJ2FsbCcgfSxcbiAgICAgICAgICAncm9sbGJhY2stYnVmZmVyLWRheXMnOiB7IHR5cGU6ICdudW1iZXInLCBkZXNjOiAnRGVsZXRlIGFzc2V0cyB0aGF0IGhhdmUgYmVlbiBtYXJrZWQgYXMgaXNvbGF0ZWQgZm9yIHRoaXMgbWFueSBkYXlzJywgZGVmYXVsdDogMCB9LFxuICAgICAgICAgICdjcmVhdGVkLWJ1ZmZlci1kYXlzJzogeyB0eXBlOiAnbnVtYmVyJywgZGVzYzogJ05ldmVyIGRlbGV0ZSBhc3NldHMgeW91bmdlciB0aGFuIHRoaXMgKGluIGRheXMpJywgZGVmYXVsdDogMSB9LFxuICAgICAgICAgICdjb25maXJtJzogeyB0eXBlOiAnYm9vbGVhbicsIGRlc2M6ICdDb25maXJtIHZpYSBtYW51YWwgcHJvbXB0IGJlZm9yZSBkZWxldGlvbicsIGRlZmF1bHQ6IHRydWUgfSxcbiAgICAgICAgICAnYm9vdHN0cmFwLXN0YWNrLW5hbWUnOiB7IHR5cGU6ICdzdHJpbmcnLCBkZXNjOiAnVGhlIG5hbWUgb2YgdGhlIENESyB0b29sa2l0IHN0YWNrLCBpZiBkaWZmZXJlbnQgZnJvbSB0aGUgZGVmYXVsdCBcIkNES1Rvb2xraXRcIicsIHJlcXVpcmVzQXJnOiB0cnVlIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgZGVwbG95OiB7XG4gICAgICAgIGRlc2NyaXB0aW9uOiAnRGVwbG95cyB0aGUgc3RhY2socykgbmFtZWQgU1RBQ0tTIGludG8geW91ciBBV1MgYWNjb3VudCcsXG4gICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAnYWxsJzogeyB0eXBlOiAnYm9vbGVhbicsIGRlc2M6ICdEZXBsb3kgYWxsIGF2YWlsYWJsZSBzdGFja3MnLCBkZWZhdWx0OiBmYWxzZSB9LFxuICAgICAgICAgICdidWlsZC1leGNsdWRlJzogeyB0eXBlOiAnYXJyYXknLCBhbGlhczogJ0UnLCBkZXNjOiAnRG8gbm90IHJlYnVpbGQgYXNzZXQgd2l0aCB0aGUgZ2l2ZW4gSUQuIENhbiBiZSBzcGVjaWZpZWQgbXVsdGlwbGUgdGltZXMnLCBkZWZhdWx0OiBbXSB9LFxuICAgICAgICAgICdleGNsdXNpdmVseSc6IHsgdHlwZTogJ2Jvb2xlYW4nLCBhbGlhczogJ2UnLCBkZXNjOiAnT25seSBkZXBsb3kgcmVxdWVzdGVkIHN0YWNrcywgZG9uXFwndCBpbmNsdWRlIGRlcGVuZGVuY2llcycgfSxcbiAgICAgICAgICAncmVxdWlyZS1hcHByb3ZhbCc6IHsgdHlwZTogJ3N0cmluZycsIGNob2ljZXM6IFtSZXF1aXJlQXBwcm92YWwuTmV2ZXIsIFJlcXVpcmVBcHByb3ZhbC5BbnlDaGFuZ2UsIFJlcXVpcmVBcHByb3ZhbC5Ccm9hZGVuaW5nXSwgZGVzYzogJ1doYXQgc2VjdXJpdHktc2Vuc2l0aXZlIGNoYW5nZXMgbmVlZCBtYW51YWwgYXBwcm92YWwnIH0sXG4gICAgICAgICAgJ25vdGlmaWNhdGlvbi1hcm5zJzogeyB0eXBlOiAnYXJyYXknLCBkZXNjOiAnQVJOcyBvZiBTTlMgdG9waWNzIHRoYXQgQ2xvdWRGb3JtYXRpb24gd2lsbCBub3RpZnkgd2l0aCBzdGFjayByZWxhdGVkIGV2ZW50cy4gVGhlc2Ugd2lsbCBiZSBhZGRlZCB0byBBUk5zIHNwZWNpZmllZCB3aXRoIHRoZSBcXCdub3RpZmljYXRpb25Bcm5zXFwnIHN0YWNrIHByb3BlcnR5LicgfSxcbiAgICAgICAgICAvLyBAZGVwcmVjYXRlZCh2MikgLS0gdGFncyBhcmUgcGFydCBvZiB0aGUgQ2xvdWQgQXNzZW1ibHkgYW5kIHRhZ3Mgc3BlY2lmaWVkIGhlcmUgd2lsbCBiZSBvdmVyd3JpdHRlbiBvbiB0aGUgbmV4dCBkZXBsb3ltZW50XG4gICAgICAgICAgJ3RhZ3MnOiB7IHR5cGU6ICdhcnJheScsIGFsaWFzOiAndCcsIGRlc2M6ICdUYWdzIHRvIGFkZCB0byB0aGUgc3RhY2sgKEtFWT1WQUxVRSksIG92ZXJyaWRlcyB0YWdzIGZyb20gQ2xvdWQgQXNzZW1ibHkgKGRlcHJlY2F0ZWQpJyB9LFxuICAgICAgICAgICdleGVjdXRlJzogeyB0eXBlOiAnYm9vbGVhbicsIGRlc2M6ICdXaGV0aGVyIHRvIGV4ZWN1dGUgQ2hhbmdlU2V0ICgtLW5vLWV4ZWN1dGUgd2lsbCBOT1QgZXhlY3V0ZSB0aGUgQ2hhbmdlU2V0KSAoZGVwcmVjYXRlZCknLCBkZXByZWNhdGVkOiB0cnVlIH0sXG4gICAgICAgICAgJ2NoYW5nZS1zZXQtbmFtZSc6IHsgdHlwZTogJ3N0cmluZycsIGRlc2M6ICdOYW1lIG9mIHRoZSBDbG91ZEZvcm1hdGlvbiBjaGFuZ2Ugc2V0IHRvIGNyZWF0ZSAob25seSBpZiBtZXRob2QgaXMgbm90IGRpcmVjdCknIH0sXG4gICAgICAgICAgJ21ldGhvZCc6IHtcbiAgICAgICAgICAgIGFsaWFzOiAnbScsXG4gICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgIGNob2ljZXM6IFsnZGlyZWN0JywgJ2NoYW5nZS1zZXQnLCAncHJlcGFyZS1jaGFuZ2Utc2V0J10sXG4gICAgICAgICAgICByZXF1aXJlc0FyZzogdHJ1ZSxcbiAgICAgICAgICAgIGRlc2M6ICdIb3cgdG8gcGVyZm9ybSB0aGUgZGVwbG95bWVudC4gRGlyZWN0IGlzIGEgYml0IGZhc3RlciBidXQgbGFja3MgcHJvZ3Jlc3MgaW5mb3JtYXRpb24nLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgJ2ltcG9ydC1leGlzdGluZy1yZXNvdXJjZXMnOiB7IHR5cGU6ICdib29sZWFuJywgZGVzYzogJ0luZGljYXRlcyBpZiB0aGUgc3RhY2sgc2V0IGltcG9ydHMgcmVzb3VyY2VzIHRoYXQgYWxyZWFkeSBleGlzdC4nLCBkZWZhdWx0OiBmYWxzZSB9LFxuICAgICAgICAgICdmb3JjZSc6IHsgYWxpYXM6ICdmJywgdHlwZTogJ2Jvb2xlYW4nLCBkZXNjOiAnQWx3YXlzIGRlcGxveSBzdGFjayBldmVuIGlmIHRlbXBsYXRlcyBhcmUgaWRlbnRpY2FsJywgZGVmYXVsdDogZmFsc2UgfSxcbiAgICAgICAgICAncGFyYW1ldGVycyc6IHsgdHlwZTogJ2FycmF5JywgZGVzYzogJ0FkZGl0aW9uYWwgcGFyYW1ldGVycyBwYXNzZWQgdG8gQ2xvdWRGb3JtYXRpb24gYXQgZGVwbG95IHRpbWUgKFNUQUNLOktFWT1WQUxVRSknLCBkZWZhdWx0OiB7fSB9LFxuICAgICAgICAgICdvdXRwdXRzLWZpbGUnOiB7IHR5cGU6ICdzdHJpbmcnLCBhbGlhczogJ08nLCBkZXNjOiAnUGF0aCB0byBmaWxlIHdoZXJlIHN0YWNrIG91dHB1dHMgd2lsbCBiZSB3cml0dGVuIGFzIEpTT04nLCByZXF1aXJlc0FyZzogdHJ1ZSB9LFxuICAgICAgICAgICdwcmV2aW91cy1wYXJhbWV0ZXJzJzogeyB0eXBlOiAnYm9vbGVhbicsIGRlZmF1bHQ6IHRydWUsIGRlc2M6ICdVc2UgcHJldmlvdXMgdmFsdWVzIGZvciBleGlzdGluZyBwYXJhbWV0ZXJzICh5b3UgbXVzdCBzcGVjaWZ5IGFsbCBwYXJhbWV0ZXJzIG9uIGV2ZXJ5IGRlcGxveW1lbnQgaWYgdGhpcyBpcyBkaXNhYmxlZCknIH0sXG4gICAgICAgICAgJ3Rvb2xraXQtc3RhY2stbmFtZSc6IHsgdHlwZTogJ3N0cmluZycsIGRlc2M6ICdUaGUgbmFtZSBvZiB0aGUgZXhpc3RpbmcgQ0RLIHRvb2xraXQgc3RhY2sgKG9ubHkgdXNlZCBmb3IgYXBwIHVzaW5nIGxlZ2FjeSBzeW50aGVzaXMpJywgcmVxdWlyZXNBcmc6IHRydWUgfSxcbiAgICAgICAgICAncHJvZ3Jlc3MnOiB7IHR5cGU6ICdzdHJpbmcnLCBjaG9pY2VzOiBbU3RhY2tBY3Rpdml0eVByb2dyZXNzLkJBUiwgU3RhY2tBY3Rpdml0eVByb2dyZXNzLkVWRU5UU10sIGRlc2M6ICdEaXNwbGF5IG1vZGUgZm9yIHN0YWNrIGFjdGl2aXR5IGV2ZW50cycgfSxcbiAgICAgICAgICAncm9sbGJhY2snOiB7XG4gICAgICAgICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICAgICAgICBkZXNjOiBcIlJvbGxiYWNrIHN0YWNrIHRvIHN0YWJsZSBzdGF0ZSBvbiBmYWlsdXJlLiBEZWZhdWx0cyB0byAndHJ1ZScsIGl0ZXJhdGUgbW9yZSByYXBpZGx5IHdpdGggLS1uby1yb2xsYmFjayBvciAtUi4gXCIgK1xuICAgICAgICAgICAgICAnTm90ZTogZG8gKipub3QqKiBkaXNhYmxlIHRoaXMgZmxhZyBmb3IgZGVwbG95bWVudHMgd2l0aCByZXNvdXJjZSByZXBsYWNlbWVudHMsIGFzIHRoYXQgd2lsbCBhbHdheXMgZmFpbCcsXG4gICAgICAgICAgICBuZWdhdGl2ZUFsaWFzOiAnUicsXG4gICAgICAgICAgfSxcbiAgICAgICAgICAnaG90c3dhcCc6IHtcbiAgICAgICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgICAgIGRlc2M6IFwiQXR0ZW1wdHMgdG8gcGVyZm9ybSBhICdob3Rzd2FwJyBkZXBsb3ltZW50LCBcIiArXG4gICAgICAgICAgICAgICdidXQgZG9lcyBub3QgZmFsbCBiYWNrIHRvIGEgZnVsbCBkZXBsb3ltZW50IGlmIHRoYXQgaXMgbm90IHBvc3NpYmxlLiAnICtcbiAgICAgICAgICAgICAgJ0luc3RlYWQsIGNoYW5nZXMgdG8gYW55IG5vbi1ob3Rzd2FwcGFibGUgcHJvcGVydGllcyBhcmUgaWdub3JlZC4nICtcbiAgICAgICAgICAgICAgJ0RvIG5vdCB1c2UgdGhpcyBpbiBwcm9kdWN0aW9uIGVudmlyb25tZW50cycsXG4gICAgICAgICAgfSxcbiAgICAgICAgICAnaG90c3dhcC1mYWxsYmFjayc6IHtcbiAgICAgICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgICAgIGRlc2M6IFwiQXR0ZW1wdHMgdG8gcGVyZm9ybSBhICdob3Rzd2FwJyBkZXBsb3ltZW50LCBcIiArXG4gICAgICAgICAgICAgICd3aGljaCBza2lwcyBDbG91ZEZvcm1hdGlvbiBhbmQgdXBkYXRlcyB0aGUgcmVzb3VyY2VzIGRpcmVjdGx5LCAnICtcbiAgICAgICAgICAgICAgJ2FuZCBmYWxscyBiYWNrIHRvIGEgZnVsbCBkZXBsb3ltZW50IGlmIHRoYXQgaXMgbm90IHBvc3NpYmxlLiAnICtcbiAgICAgICAgICAgICAgJ0RvIG5vdCB1c2UgdGhpcyBpbiBwcm9kdWN0aW9uIGVudmlyb25tZW50cycsXG4gICAgICAgICAgfSxcbiAgICAgICAgICAnd2F0Y2gnOiB7XG4gICAgICAgICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICAgICAgICBkZXNjOiAnQ29udGludW91c2x5IG9ic2VydmUgdGhlIHByb2plY3QgZmlsZXMsICcgK1xuICAgICAgICAgICAgICAnYW5kIGRlcGxveSB0aGUgZ2l2ZW4gc3RhY2socykgYXV0b21hdGljYWxseSB3aGVuIGNoYW5nZXMgYXJlIGRldGVjdGVkLiAnICtcbiAgICAgICAgICAgICAgJ0ltcGxpZXMgLS1ob3Rzd2FwIGJ5IGRlZmF1bHQnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgJ2xvZ3MnOiB7XG4gICAgICAgICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICAgICAgICBkZWZhdWx0OiB0cnVlLFxuICAgICAgICAgICAgZGVzYzogJ1Nob3cgQ2xvdWRXYXRjaCBsb2cgZXZlbnRzIGZyb20gYWxsIHJlc291cmNlcyBpbiB0aGUgc2VsZWN0ZWQgU3RhY2tzIGluIHRoZSB0ZXJtaW5hbC4gJyArXG4gICAgICAgICAgICAgIFwiJ3RydWUnIGJ5IGRlZmF1bHQsIHVzZSAtLW5vLWxvZ3MgdG8gdHVybiBvZmYuIFwiICtcbiAgICAgICAgICAgICAgXCJPbmx5IGluIGVmZmVjdCBpZiBzcGVjaWZpZWQgYWxvbmdzaWRlIHRoZSAnLS13YXRjaCcgb3B0aW9uXCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgICAnY29uY3VycmVuY3knOiB7IHR5cGU6ICdudW1iZXInLCBkZXNjOiAnTWF4aW11bSBudW1iZXIgb2Ygc2ltdWx0YW5lb3VzIGRlcGxveW1lbnRzIChkZXBlbmRlbmN5IHBlcm1pdHRpbmcpIHRvIGV4ZWN1dGUuJywgZGVmYXVsdDogMSwgcmVxdWlyZXNBcmc6IHRydWUgfSxcbiAgICAgICAgICAnYXNzZXQtcGFyYWxsZWxpc20nOiB7IHR5cGU6ICdib29sZWFuJywgZGVzYzogJ1doZXRoZXIgdG8gYnVpbGQvcHVibGlzaCBhc3NldHMgaW4gcGFyYWxsZWwnIH0sXG4gICAgICAgICAgJ2Fzc2V0LXByZWJ1aWxkJzogeyB0eXBlOiAnYm9vbGVhbicsIGRlc2M6ICdXaGV0aGVyIHRvIGJ1aWxkIGFsbCBhc3NldHMgYmVmb3JlIGRlcGxveWluZyB0aGUgZmlyc3Qgc3RhY2sgKHVzZWZ1bCBmb3IgZmFpbGluZyBEb2NrZXIgYnVpbGRzKScsIGRlZmF1bHQ6IHRydWUgfSxcbiAgICAgICAgICAnaWdub3JlLW5vLXN0YWNrcyc6IHsgdHlwZTogJ2Jvb2xlYW4nLCBkZXNjOiAnV2hldGhlciB0byBkZXBsb3kgaWYgdGhlIGFwcCBjb250YWlucyBubyBzdGFja3MnLCBkZWZhdWx0OiBmYWxzZSB9LFxuICAgICAgICB9LFxuICAgICAgICBhcmc6IHtcbiAgICAgICAgICBuYW1lOiAnU1RBQ0tTJyxcbiAgICAgICAgICB2YXJpYWRpYzogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICByb2xsYmFjazoge1xuICAgICAgICBkZXNjcmlwdGlvbjogJ1JvbGxzIGJhY2sgdGhlIHN0YWNrKHMpIG5hbWVkIFNUQUNLUyB0byB0aGVpciBsYXN0IHN0YWJsZSBzdGF0ZScsXG4gICAgICAgIGFyZzoge1xuICAgICAgICAgIG5hbWU6ICdTVEFDS1MnLFxuICAgICAgICAgIHZhcmlhZGljOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgJ2FsbCc6IHsgdHlwZTogJ2Jvb2xlYW4nLCBkZWZhdWx0OiBmYWxzZSwgZGVzYzogJ1JvbGwgYmFjayBhbGwgYXZhaWxhYmxlIHN0YWNrcycgfSxcbiAgICAgICAgICAndG9vbGtpdC1zdGFjay1uYW1lJzogeyB0eXBlOiAnc3RyaW5nJywgZGVzYzogJ1RoZSBuYW1lIG9mIHRoZSBDREsgdG9vbGtpdCBzdGFjayB0aGUgZW52aXJvbm1lbnQgaXMgYm9vdHN0cmFwcGVkIHdpdGgnLCByZXF1aXJlc0FyZzogdHJ1ZSB9LFxuICAgICAgICAgICdmb3JjZSc6IHtcbiAgICAgICAgICAgIGFsaWFzOiAnZicsXG4gICAgICAgICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICAgICAgICBkZXNjOiAnT3JwaGFuIGFsbCByZXNvdXJjZXMgZm9yIHdoaWNoIHRoZSByb2xsYmFjayBvcGVyYXRpb24gZmFpbHMuJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgICd2YWxpZGF0ZS1ib290c3RyYXAtdmVyc2lvbic6IHtcbiAgICAgICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgICAgIGRlc2M6ICdXaGV0aGVyIHRvIHZhbGlkYXRlIHRoZSBib290c3RyYXAgc3RhY2sgdmVyc2lvbi4gRGVmYXVsdHMgdG8gXFwndHJ1ZVxcJywgZGlzYWJsZSB3aXRoIC0tbm8tdmFsaWRhdGUtYm9vdHN0cmFwLXZlcnNpb24uJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgICdvcnBoYW4nOiB7XG4gICAgICAgICAgICAvLyBhbGlhczogJ28nIGNvbmZsaWN0cyB3aXRoIC0tb3V0cHV0XG4gICAgICAgICAgICB0eXBlOiAnYXJyYXknLFxuICAgICAgICAgICAgZGVzYzogJ09ycGhhbiB0aGUgZ2l2ZW4gcmVzb3VyY2VzLCBpZGVudGlmaWVkIGJ5IHRoZWlyIGxvZ2ljYWwgSUQgKGNhbiBiZSBzcGVjaWZpZWQgbXVsdGlwbGUgdGltZXMpJyxcbiAgICAgICAgICAgIGRlZmF1bHQ6IFtdLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgaW1wb3J0OiB7XG4gICAgICAgIGRlc2NyaXB0aW9uOiAnSW1wb3J0IGV4aXN0aW5nIHJlc291cmNlKHMpIGludG8gdGhlIGdpdmVuIFNUQUNLJyxcbiAgICAgICAgYXJnOiB7XG4gICAgICAgICAgbmFtZTogJ1NUQUNLJyxcbiAgICAgICAgICB2YXJpYWRpYzogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAnZXhlY3V0ZSc6IHsgdHlwZTogJ2Jvb2xlYW4nLCBkZXNjOiAnV2hldGhlciB0byBleGVjdXRlIENoYW5nZVNldCAoLS1uby1leGVjdXRlIHdpbGwgTk9UIGV4ZWN1dGUgdGhlIENoYW5nZVNldCknLCBkZWZhdWx0OiB0cnVlIH0sXG4gICAgICAgICAgJ2NoYW5nZS1zZXQtbmFtZSc6IHsgdHlwZTogJ3N0cmluZycsIGRlc2M6ICdOYW1lIG9mIHRoZSBDbG91ZEZvcm1hdGlvbiBjaGFuZ2Ugc2V0IHRvIGNyZWF0ZScgfSxcbiAgICAgICAgICAndG9vbGtpdC1zdGFjay1uYW1lJzogeyB0eXBlOiAnc3RyaW5nJywgZGVzYzogJ1RoZSBuYW1lIG9mIHRoZSBDREsgdG9vbGtpdCBzdGFjayB0byBjcmVhdGUnLCByZXF1aXJlc0FyZzogdHJ1ZSB9LFxuICAgICAgICAgICdyb2xsYmFjayc6IHtcbiAgICAgICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgICAgIGRlc2M6IFwiUm9sbGJhY2sgc3RhY2sgdG8gc3RhYmxlIHN0YXRlIG9uIGZhaWx1cmUuIERlZmF1bHRzIHRvICd0cnVlJywgaXRlcmF0ZSBtb3JlIHJhcGlkbHkgd2l0aCAtLW5vLXJvbGxiYWNrIG9yIC1SLiBcIiArXG4gICAgICAgICAgICAgICdOb3RlOiBkbyAqKm5vdCoqIGRpc2FibGUgdGhpcyBmbGFnIGZvciBkZXBsb3ltZW50cyB3aXRoIHJlc291cmNlIHJlcGxhY2VtZW50cywgYXMgdGhhdCB3aWxsIGFsd2F5cyBmYWlsJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgICdmb3JjZSc6IHtcbiAgICAgICAgICAgIGFsaWFzOiAnZicsXG4gICAgICAgICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICAgICAgICBkZXNjOiAnRG8gbm90IGFib3J0IGlmIHRoZSB0ZW1wbGF0ZSBkaWZmIGluY2x1ZGVzIHVwZGF0ZXMgb3IgZGVsZXRlcy4gVGhpcyBpcyBwcm9iYWJseSBzYWZlIGJ1dCB3ZVxcJ3JlIG5vdCBzdXJlLCBsZXQgdXMga25vdyBob3cgaXQgZ29lcy4nLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgJ3JlY29yZC1yZXNvdXJjZS1tYXBwaW5nJzoge1xuICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICBhbGlhczogJ3InLFxuICAgICAgICAgICAgcmVxdWlyZXNBcmc6IHRydWUsXG4gICAgICAgICAgICBkZXNjOiAnSWYgc3BlY2lmaWVkLCBDREsgd2lsbCBnZW5lcmF0ZSBhIG1hcHBpbmcgb2YgZXhpc3RpbmcgcGh5c2ljYWwgcmVzb3VyY2VzIHRvIENESyByZXNvdXJjZXMgdG8gYmUgaW1wb3J0ZWQgYXMuIFRoZSBtYXBwaW5nICcgK1xuICAgICAgICAgICAgICAnd2lsbCBiZSB3cml0dGVuIGluIHRoZSBnaXZlbiBmaWxlIHBhdGguIE5vIGFjdHVhbCBpbXBvcnQgb3BlcmF0aW9uIHdpbGwgYmUgcGVyZm9ybWVkJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgICdyZXNvdXJjZS1tYXBwaW5nJzoge1xuICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICBhbGlhczogJ20nLFxuICAgICAgICAgICAgcmVxdWlyZXNBcmc6IHRydWUsXG4gICAgICAgICAgICBkZXNjOiAnSWYgc3BlY2lmaWVkLCBDREsgd2lsbCB1c2UgdGhlIGdpdmVuIGZpbGUgdG8gbWFwIHBoeXNpY2FsIHJlc291cmNlcyB0byBDREsgcmVzb3VyY2VzIGZvciBpbXBvcnQsIGluc3RlYWQgb2YgaW50ZXJhY3RpdmVseSAnICtcbiAgICAgICAgICAgICAgJ2Fza2luZyB0aGUgdXNlci4gQ2FuIGJlIHJ1biBmcm9tIHNjcmlwdHMnLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgd2F0Y2g6IHtcbiAgICAgICAgZGVzY3JpcHRpb246IFwiU2hvcnRjdXQgZm9yICdkZXBsb3kgLS13YXRjaCdcIixcbiAgICAgICAgYXJnOiB7XG4gICAgICAgICAgbmFtZTogJ1NUQUNLUycsXG4gICAgICAgICAgdmFyaWFkaWM6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAnYnVpbGQtZXhjbHVkZSc6IHsgdHlwZTogJ2FycmF5JywgYWxpYXM6ICdFJywgZGVzYzogJ0RvIG5vdCByZWJ1aWxkIGFzc2V0IHdpdGggdGhlIGdpdmVuIElELiBDYW4gYmUgc3BlY2lmaWVkIG11bHRpcGxlIHRpbWVzJywgZGVmYXVsdDogW10gfSxcbiAgICAgICAgICAnZXhjbHVzaXZlbHknOiB7IHR5cGU6ICdib29sZWFuJywgYWxpYXM6ICdlJywgZGVzYzogJ09ubHkgZGVwbG95IHJlcXVlc3RlZCBzdGFja3MsIGRvblxcJ3QgaW5jbHVkZSBkZXBlbmRlbmNpZXMnIH0sXG4gICAgICAgICAgJ2NoYW5nZS1zZXQtbmFtZSc6IHsgdHlwZTogJ3N0cmluZycsIGRlc2M6ICdOYW1lIG9mIHRoZSBDbG91ZEZvcm1hdGlvbiBjaGFuZ2Ugc2V0IHRvIGNyZWF0ZScgfSxcbiAgICAgICAgICAnZm9yY2UnOiB7IGFsaWFzOiAnZicsIHR5cGU6ICdib29sZWFuJywgZGVzYzogJ0Fsd2F5cyBkZXBsb3kgc3RhY2sgZXZlbiBpZiB0ZW1wbGF0ZXMgYXJlIGlkZW50aWNhbCcsIGRlZmF1bHQ6IGZhbHNlIH0sXG4gICAgICAgICAgJ3Rvb2xraXQtc3RhY2stbmFtZSc6IHsgdHlwZTogJ3N0cmluZycsIGRlc2M6ICdUaGUgbmFtZSBvZiB0aGUgZXhpc3RpbmcgQ0RLIHRvb2xraXQgc3RhY2sgKG9ubHkgdXNlZCBmb3IgYXBwIHVzaW5nIGxlZ2FjeSBzeW50aGVzaXMpJywgcmVxdWlyZXNBcmc6IHRydWUgfSxcbiAgICAgICAgICAncHJvZ3Jlc3MnOiB7IHR5cGU6ICdzdHJpbmcnLCBjaG9pY2VzOiBbU3RhY2tBY3Rpdml0eVByb2dyZXNzLkJBUiwgU3RhY2tBY3Rpdml0eVByb2dyZXNzLkVWRU5UU10sIGRlc2M6ICdEaXNwbGF5IG1vZGUgZm9yIHN0YWNrIGFjdGl2aXR5IGV2ZW50cycgfSxcbiAgICAgICAgICAncm9sbGJhY2snOiB7XG4gICAgICAgICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICAgICAgICBkZXNjOiBcIlJvbGxiYWNrIHN0YWNrIHRvIHN0YWJsZSBzdGF0ZSBvbiBmYWlsdXJlLiBEZWZhdWx0cyB0byAndHJ1ZScsIGl0ZXJhdGUgbW9yZSByYXBpZGx5IHdpdGggLS1uby1yb2xsYmFjayBvciAtUi4gXCIgK1xuICAgICAgICAgICAgICAnTm90ZTogZG8gKipub3QqKiBkaXNhYmxlIHRoaXMgZmxhZyBmb3IgZGVwbG95bWVudHMgd2l0aCByZXNvdXJjZSByZXBsYWNlbWVudHMsIGFzIHRoYXQgd2lsbCBhbHdheXMgZmFpbCcsXG4gICAgICAgICAgICBuZWdhdGl2ZUFsaWFzOiAnUicsXG4gICAgICAgICAgfSxcbiAgICAgICAgICAnaG90c3dhcCc6IHtcbiAgICAgICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgICAgIGRlc2M6IFwiQXR0ZW1wdHMgdG8gcGVyZm9ybSBhICdob3Rzd2FwJyBkZXBsb3ltZW50LCBcIiArXG4gICAgICAgICAgICAgICdidXQgZG9lcyBub3QgZmFsbCBiYWNrIHRvIGEgZnVsbCBkZXBsb3ltZW50IGlmIHRoYXQgaXMgbm90IHBvc3NpYmxlLiAnICtcbiAgICAgICAgICAgICAgJ0luc3RlYWQsIGNoYW5nZXMgdG8gYW55IG5vbi1ob3Rzd2FwcGFibGUgcHJvcGVydGllcyBhcmUgaWdub3JlZC4nICtcbiAgICAgICAgICAgICAgXCIndHJ1ZScgYnkgZGVmYXVsdCwgdXNlIC0tbm8taG90c3dhcCB0byB0dXJuIG9mZlwiLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgJ2hvdHN3YXAtZmFsbGJhY2snOiB7XG4gICAgICAgICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICAgICAgICBkZXNjOiBcIkF0dGVtcHRzIHRvIHBlcmZvcm0gYSAnaG90c3dhcCcgZGVwbG95bWVudCwgXCIgK1xuICAgICAgICAgICAgICAnd2hpY2ggc2tpcHMgQ2xvdWRGb3JtYXRpb24gYW5kIHVwZGF0ZXMgdGhlIHJlc291cmNlcyBkaXJlY3RseSwgJyArXG4gICAgICAgICAgICAgICdhbmQgZmFsbHMgYmFjayB0byBhIGZ1bGwgZGVwbG95bWVudCBpZiB0aGF0IGlzIG5vdCBwb3NzaWJsZS4nLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgJ2xvZ3MnOiB7XG4gICAgICAgICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICAgICAgICBkZWZhdWx0OiB0cnVlLFxuICAgICAgICAgICAgZGVzYzogJ1Nob3cgQ2xvdWRXYXRjaCBsb2cgZXZlbnRzIGZyb20gYWxsIHJlc291cmNlcyBpbiB0aGUgc2VsZWN0ZWQgU3RhY2tzIGluIHRoZSB0ZXJtaW5hbC4gJyArXG4gICAgICAgICAgICAgIFwiJ3RydWUnIGJ5IGRlZmF1bHQsIHVzZSAtLW5vLWxvZ3MgdG8gdHVybiBvZmZcIixcbiAgICAgICAgICB9LFxuICAgICAgICAgICdjb25jdXJyZW5jeSc6IHsgdHlwZTogJ251bWJlcicsIGRlc2M6ICdNYXhpbXVtIG51bWJlciBvZiBzaW11bHRhbmVvdXMgZGVwbG95bWVudHMgKGRlcGVuZGVuY3kgcGVybWl0dGluZykgdG8gZXhlY3V0ZS4nLCBkZWZhdWx0OiAxLCByZXF1aXJlc0FyZzogdHJ1ZSB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIGRlc3Ryb3k6IHtcbiAgICAgICAgZGVzY3JpcHRpb246ICdEZXN0cm95IHRoZSBzdGFjayhzKSBuYW1lZCBTVEFDS1MnLFxuICAgICAgICBhcmc6IHtcbiAgICAgICAgICBuYW1lOiAnU1RBQ0tTJyxcbiAgICAgICAgICB2YXJpYWRpYzogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIGFsbDogeyB0eXBlOiAnYm9vbGVhbicsIGRlZmF1bHQ6IGZhbHNlLCBkZXNjOiAnRGVzdHJveSBhbGwgYXZhaWxhYmxlIHN0YWNrcycgfSxcbiAgICAgICAgICBleGNsdXNpdmVseTogeyB0eXBlOiAnYm9vbGVhbicsIGFsaWFzOiAnZScsIGRlc2M6ICdPbmx5IGRlc3Ryb3kgcmVxdWVzdGVkIHN0YWNrcywgZG9uXFwndCBpbmNsdWRlIGRlcGVuZGVlcycgfSxcbiAgICAgICAgICBmb3JjZTogeyB0eXBlOiAnYm9vbGVhbicsIGFsaWFzOiAnZicsIGRlc2M6ICdEbyBub3QgYXNrIGZvciBjb25maXJtYXRpb24gYmVmb3JlIGRlc3Ryb3lpbmcgdGhlIHN0YWNrcycgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBkaWZmOiB7XG4gICAgICAgIGRlc2NyaXB0aW9uOiAnQ29tcGFyZXMgdGhlIHNwZWNpZmllZCBzdGFjayB3aXRoIHRoZSBkZXBsb3llZCBzdGFjayBvciBhIGxvY2FsIHRlbXBsYXRlIGZpbGUsIGFuZCByZXR1cm5zIHdpdGggc3RhdHVzIDEgaWYgYW55IGRpZmZlcmVuY2UgaXMgZm91bmQnLFxuICAgICAgICBhcmc6IHtcbiAgICAgICAgICBuYW1lOiAnU1RBQ0tTJyxcbiAgICAgICAgICB2YXJpYWRpYzogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICdleGNsdXNpdmVseSc6IHsgdHlwZTogJ2Jvb2xlYW4nLCBhbGlhczogJ2UnLCBkZXNjOiAnT25seSBkaWZmIHJlcXVlc3RlZCBzdGFja3MsIGRvblxcJ3QgaW5jbHVkZSBkZXBlbmRlbmNpZXMnIH0sXG4gICAgICAgICAgJ2NvbnRleHQtbGluZXMnOiB7IHR5cGU6ICdudW1iZXInLCBkZXNjOiAnTnVtYmVyIG9mIGNvbnRleHQgbGluZXMgdG8gaW5jbHVkZSBpbiBhcmJpdHJhcnkgSlNPTiBkaWZmIHJlbmRlcmluZycsIGRlZmF1bHQ6IDMsIHJlcXVpcmVzQXJnOiB0cnVlIH0sXG4gICAgICAgICAgJ3RlbXBsYXRlJzogeyB0eXBlOiAnc3RyaW5nJywgZGVzYzogJ1RoZSBwYXRoIHRvIHRoZSBDbG91ZEZvcm1hdGlvbiB0ZW1wbGF0ZSB0byBjb21wYXJlIHdpdGgnLCByZXF1aXJlc0FyZzogdHJ1ZSB9LFxuICAgICAgICAgICdzdHJpY3QnOiB7IHR5cGU6ICdib29sZWFuJywgZGVzYzogJ0RvIG5vdCBmaWx0ZXIgb3V0IEFXUzo6Q0RLOjpNZXRhZGF0YSByZXNvdXJjZXMsIG1hbmdsZWQgbm9uLUFTQ0lJIGNoYXJhY3RlcnMsIG9yIHRoZSBDaGVja0Jvb3RzdHJhcFZlcnNpb25SdWxlJywgZGVmYXVsdDogZmFsc2UgfSxcbiAgICAgICAgICAnc2VjdXJpdHktb25seSc6IHsgdHlwZTogJ2Jvb2xlYW4nLCBkZXNjOiAnT25seSBkaWZmIGZvciBicm9hZGVuZWQgc2VjdXJpdHkgY2hhbmdlcycsIGRlZmF1bHQ6IGZhbHNlIH0sXG4gICAgICAgICAgJ2ZhaWwnOiB7IHR5cGU6ICdib29sZWFuJywgZGVzYzogJ0ZhaWwgd2l0aCBleGl0IGNvZGUgMSBpbiBjYXNlIG9mIGRpZmYnIH0sXG4gICAgICAgICAgJ3Byb2Nlc3NlZCc6IHsgdHlwZTogJ2Jvb2xlYW4nLCBkZXNjOiAnV2hldGhlciB0byBjb21wYXJlIGFnYWluc3QgdGhlIHRlbXBsYXRlIHdpdGggVHJhbnNmb3JtcyBhbHJlYWR5IHByb2Nlc3NlZCcsIGRlZmF1bHQ6IGZhbHNlIH0sXG4gICAgICAgICAgJ3F1aWV0JzogeyB0eXBlOiAnYm9vbGVhbicsIGFsaWFzOiAncScsIGRlc2M6ICdEbyBub3QgcHJpbnQgc3RhY2sgbmFtZSBhbmQgZGVmYXVsdCBtZXNzYWdlIHdoZW4gdGhlcmUgaXMgbm8gZGlmZiB0byBzdGRvdXQnLCBkZWZhdWx0OiBmYWxzZSB9LFxuICAgICAgICAgICdjaGFuZ2Utc2V0JzogeyB0eXBlOiAnYm9vbGVhbicsIGFsaWFzOiAnY2hhbmdlc2V0JywgZGVzYzogJ1doZXRoZXIgdG8gY3JlYXRlIGEgY2hhbmdlc2V0IHRvIGFuYWx5emUgcmVzb3VyY2UgcmVwbGFjZW1lbnRzLiBJbiB0aGlzIG1vZGUsIGRpZmYgd2lsbCB1c2UgdGhlIGRlcGxveSByb2xlIGluc3RlYWQgb2YgdGhlIGxvb2t1cCByb2xlLicsIGRlZmF1bHQ6IHRydWUgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBtZXRhZGF0YToge1xuICAgICAgICBkZXNjcmlwdGlvbjogJ1JldHVybnMgYWxsIG1ldGFkYXRhIGFzc29jaWF0ZWQgd2l0aCB0aGlzIHN0YWNrJyxcbiAgICAgICAgYXJnOiB7XG4gICAgICAgICAgbmFtZTogJ1NUQUNLJyxcbiAgICAgICAgICB2YXJpYWRpYzogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgYWNrbm93bGVkZ2U6IHtcbiAgICAgICAgYWxpYXNlczogWydhY2snXSxcbiAgICAgICAgZGVzY3JpcHRpb246ICdBY2tub3dsZWRnZSBhIG5vdGljZSBzbyB0aGF0IGl0IGRvZXMgbm90IHNob3cgdXAgYW55bW9yZScsXG4gICAgICAgIGFyZzoge1xuICAgICAgICAgIG5hbWU6ICdJRCcsXG4gICAgICAgICAgdmFyaWFkaWM6IGZhbHNlLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIG5vdGljZXM6IHtcbiAgICAgICAgZGVzY3JpcHRpb246ICdSZXR1cm5zIGEgbGlzdCBvZiByZWxldmFudCBub3RpY2VzJyxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIHVuYWNrbm93bGVkZ2VkOiB7IHR5cGU6ICdib29sZWFuJywgYWxpYXM6ICd1JywgZGVmYXVsdDogZmFsc2UsIGRlc2M6ICdSZXR1cm5zIGEgbGlzdCBvZiB1bmFja25vd2xlZGdlZCBub3RpY2VzJyB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIGluaXQ6IHtcbiAgICAgICAgZGVzY3JpcHRpb246ICdDcmVhdGUgYSBuZXcsIGVtcHR5IENESyBwcm9qZWN0IGZyb20gYSB0ZW1wbGF0ZS4nLFxuICAgICAgICBhcmc6IHtcbiAgICAgICAgICBuYW1lOiAnVEVNUExBVEUnLFxuICAgICAgICAgIHZhcmlhZGljOiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICdsYW5ndWFnZSc6IHsgdHlwZTogJ3N0cmluZycsIGFsaWFzOiAnbCcsIGRlc2M6ICdUaGUgbGFuZ3VhZ2UgdG8gYmUgdXNlZCBmb3IgdGhlIG5ldyBwcm9qZWN0IChkZWZhdWx0IGNhbiBiZSBjb25maWd1cmVkIGluIH4vLmNkay5qc29uKScsIGNob2ljZXM6IGF3YWl0IGF2YWlsYWJsZUluaXRMYW5ndWFnZXMoKSB9LFxuICAgICAgICAgICdsaXN0JzogeyB0eXBlOiAnYm9vbGVhbicsIGRlc2M6ICdMaXN0IHRoZSBhdmFpbGFibGUgdGVtcGxhdGVzJyB9LFxuICAgICAgICAgICdnZW5lcmF0ZS1vbmx5JzogeyB0eXBlOiAnYm9vbGVhbicsIGRlZmF1bHQ6IGZhbHNlLCBkZXNjOiAnSWYgdHJ1ZSwgb25seSBnZW5lcmF0ZXMgcHJvamVjdCBmaWxlcywgd2l0aG91dCBleGVjdXRpbmcgYWRkaXRpb25hbCBvcGVyYXRpb25zIHN1Y2ggYXMgc2V0dGluZyB1cCBhIGdpdCByZXBvLCBpbnN0YWxsaW5nIGRlcGVuZGVuY2llcyBvciBjb21waWxpbmcgdGhlIHByb2plY3QnIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgbWlncmF0ZToge1xuICAgICAgICBkZXNjcmlwdGlvbjogJ01pZ3JhdGUgZXhpc3RpbmcgQVdTIHJlc291cmNlcyBpbnRvIGEgQ0RLIGFwcCcsXG4gICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAnc3RhY2stbmFtZSc6IHsgdHlwZTogJ3N0cmluZycsIGFsaWFzOiAnbicsIGRlc2M6ICdUaGUgbmFtZSBhc3NpZ25lZCB0byB0aGUgc3RhY2sgY3JlYXRlZCBpbiB0aGUgbmV3IHByb2plY3QuIFRoZSBuYW1lIG9mIHRoZSBhcHAgd2lsbCBiZSBiYXNlZCBvZmYgdGhpcyBuYW1lIGFzIHdlbGwuJywgcmVxdWlyZXNBcmc6IHRydWUgfSxcbiAgICAgICAgICAnbGFuZ3VhZ2UnOiB7IHR5cGU6ICdzdHJpbmcnLCBkZWZhdWx0OiAndHlwZXNjcmlwdCcsIGFsaWFzOiAnbCcsIGRlc2M6ICdUaGUgbGFuZ3VhZ2UgdG8gYmUgdXNlZCBmb3IgdGhlIG5ldyBwcm9qZWN0JywgY2hvaWNlczogTUlHUkFURV9TVVBQT1JURURfTEFOR1VBR0VTIH0sXG4gICAgICAgICAgJ2FjY291bnQnOiB7IHR5cGU6ICdzdHJpbmcnLCBkZXNjOiAnVGhlIGFjY291bnQgdG8gcmV0cmlldmUgdGhlIENsb3VkRm9ybWF0aW9uIHN0YWNrIHRlbXBsYXRlIGZyb20nIH0sXG4gICAgICAgICAgJ3JlZ2lvbic6IHsgdHlwZTogJ3N0cmluZycsIGRlc2M6ICdUaGUgcmVnaW9uIHRvIHJldHJpZXZlIHRoZSBDbG91ZEZvcm1hdGlvbiBzdGFjayB0ZW1wbGF0ZSBmcm9tJyB9LFxuICAgICAgICAgICdmcm9tLXBhdGgnOiB7IHR5cGU6ICdzdHJpbmcnLCBkZXNjOiAnVGhlIHBhdGggdG8gdGhlIENsb3VkRm9ybWF0aW9uIHRlbXBsYXRlIHRvIG1pZ3JhdGUuIFVzZSB0aGlzIGZvciBsb2NhbGx5IHN0b3JlZCB0ZW1wbGF0ZXMnIH0sXG4gICAgICAgICAgJ2Zyb20tc3RhY2snOiB7IHR5cGU6ICdib29sZWFuJywgZGVzYzogJ1VzZSB0aGlzIGZsYWcgdG8gcmV0cmlldmUgdGhlIHRlbXBsYXRlIGZvciBhbiBleGlzdGluZyBDbG91ZEZvcm1hdGlvbiBzdGFjaycgfSxcbiAgICAgICAgICAnb3V0cHV0LXBhdGgnOiB7IHR5cGU6ICdzdHJpbmcnLCBkZXNjOiAnVGhlIG91dHB1dCBwYXRoIGZvciB0aGUgbWlncmF0ZWQgQ0RLIGFwcCcgfSxcbiAgICAgICAgICAnZnJvbS1zY2FuJzoge1xuICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICBkZXNjOiAnRGV0ZXJtaW5lcyBpZiBhIG5ldyBzY2FuIHNob3VsZCBiZSBjcmVhdGVkLCBvciB0aGUgbGFzdCBzdWNjZXNzZnVsIGV4aXN0aW5nIHNjYW4gc2hvdWxkIGJlIHVzZWQgJyArXG4gICAgICAgICAgICAgICdcXG4gb3B0aW9ucyBhcmUgXCJuZXdcIiBvciBcIm1vc3QtcmVjZW50XCInLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgJ2ZpbHRlcic6IHtcbiAgICAgICAgICAgIHR5cGU6ICdhcnJheScsXG4gICAgICAgICAgICBkZXNjOiAnRmlsdGVycyB0aGUgcmVzb3VyY2Ugc2NhbiBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgY3JpdGVyaWEgaW4gdGhlIGZvbGxvd2luZyBmb3JtYXQ6IFwia2V5MT12YWx1ZTEsa2V5Mj12YWx1ZTJcIicgK1xuICAgICAgICAgICAgICAnXFxuIFRoaXMgZmllbGQgY2FuIGJlIHBhc3NlZCBtdWx0aXBsZSB0aW1lcyBmb3IgT1Igc3R5bGUgZmlsdGVyaW5nOiAnICtcbiAgICAgICAgICAgICAgJ1xcbiBmaWx0ZXJpbmcgb3B0aW9uczogJyArXG4gICAgICAgICAgICAgICdcXG4gcmVzb3VyY2UtaWRlbnRpZmllcjogQSBrZXktdmFsdWUgcGFpciB0aGF0IGlkZW50aWZpZXMgdGhlIHRhcmdldCByZXNvdXJjZS4gaS5lLiB7XCJDbHVzdGVyTmFtZVwiLCBcIm15Q2x1c3RlclwifScgK1xuICAgICAgICAgICAgICAnXFxuIHJlc291cmNlLXR5cGUtcHJlZml4OiBBIHN0cmluZyB0aGF0IHJlcHJlc2VudHMgYSB0eXBlLW5hbWUgcHJlZml4LiBpLmUuIFwiQVdTOjpEeW5hbW9EQjo6XCInICtcbiAgICAgICAgICAgICAgJ1xcbiB0YWcta2V5OiBhIHN0cmluZyB0aGF0IG1hdGNoZXMgcmVzb3VyY2VzIHdpdGggYXQgbGVhc3Qgb25lIHRhZyB3aXRoIHRoZSBwcm92aWRlZCBrZXkuIGkuZS4gXCJteVRhZ0tleVwiJyArXG4gICAgICAgICAgICAgICdcXG4gdGFnLXZhbHVlOiBhIHN0cmluZyB0aGF0IG1hdGNoZXMgcmVzb3VyY2VzIHdpdGggYXQgbGVhc3Qgb25lIHRhZyB3aXRoIHRoZSBwcm92aWRlZCB2YWx1ZS4gaS5lLiBcIm15VGFnVmFsdWVcIicsXG4gICAgICAgICAgfSxcbiAgICAgICAgICAnY29tcHJlc3MnOiB7IHR5cGU6ICdib29sZWFuJywgZGVzYzogJ1VzZSB0aGlzIGZsYWcgdG8gemlwIHRoZSBnZW5lcmF0ZWQgQ0RLIGFwcCcgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBjb250ZXh0OiB7XG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTWFuYWdlIGNhY2hlZCBjb250ZXh0IHZhbHVlcycsXG4gICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICByZXNldDogeyBhbGlhczogJ2UnLCBkZXNjOiAnVGhlIGNvbnRleHQga2V5IChvciBpdHMgaW5kZXgpIHRvIHJlc2V0JywgdHlwZTogJ3N0cmluZycsIHJlcXVpcmVzQXJnOiB0cnVlLCBkZWZhdWx0OiB1bmRlZmluZWQgfSxcbiAgICAgICAgICBmb3JjZTogeyBhbGlhczogJ2YnLCBkZXNjOiAnSWdub3JlIG1pc3Npbmcga2V5IGVycm9yJywgdHlwZTogJ2Jvb2xlYW4nLCBkZWZhdWx0OiBmYWxzZSB9LFxuICAgICAgICAgIGNsZWFyOiB7IGRlc2M6ICdDbGVhciBhbGwgY29udGV4dCcsIHR5cGU6ICdib29sZWFuJywgZGVmYXVsdDogZmFsc2UgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBkb2NzOiB7XG4gICAgICAgIGFsaWFzZXM6IFsnZG9jJ10sXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnT3BlbnMgdGhlIHJlZmVyZW5jZSBkb2N1bWVudGF0aW9uIGluIGEgYnJvd3NlcicsXG4gICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICBicm93c2VyOiB7XG4gICAgICAgICAgICBhbGlhczogJ2InLFxuICAgICAgICAgICAgZGVzYzogJ3RoZSBjb21tYW5kIHRvIHVzZSB0byBvcGVuIHRoZSBicm93c2VyLCB1c2luZyAldSBhcyBhIHBsYWNlaG9sZGVyIGZvciB0aGUgcGF0aCBvZiB0aGUgZmlsZSB0byBvcGVuJyxcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgZGVmYXVsdDogWUFSR1NfSEVMUEVSUy5icm93c2VyRm9yUGxhdGZvcm0oKSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIGRvY3Rvcjoge1xuICAgICAgICBkZXNjcmlwdGlvbjogJ0NoZWNrIHlvdXIgc2V0LXVwIGZvciBwb3RlbnRpYWwgcHJvYmxlbXMnLFxuICAgICAgfSxcbiAgICB9LFxuICB9O1xufVxuIl19
@@ -15,7 +15,7 @@ class AmiContextProviderPlugin {
15
15
  const account = args.account;
16
16
  // Normally we'd do this only as 'debug', but searching AMIs typically takes dozens
17
17
  // of seconds, so be little more verbose about it so users know what is going on.
18
- (0, logging_1.print)(`Searching for AMI in ${account}:${region}`);
18
+ (0, logging_1.info)(`Searching for AMI in ${account}:${region}`);
19
19
  (0, logging_1.debug)(`AMI search parameters: ${JSON.stringify(args)}`);
20
20
  const ec2 = (await (0, sdk_provider_1.initContextProviderSdk)(this.aws, args)).ec2();
21
21
  const response = await ec2.describeImages({
@@ -46,4 +46,4 @@ function descending(valueOf) {
46
46
  return valueOf(b) - valueOf(a);
47
47
  };
48
48
  }
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1pLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYW1pLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLCtEQUF3RjtBQUV4Rix3Q0FBMEM7QUFFMUM7O0dBRUc7QUFDSCxNQUFhLHdCQUF3QjtJQUNuQyxZQUE2QixHQUFnQjtRQUFoQixRQUFHLEdBQUgsR0FBRyxDQUFhO0lBQUcsQ0FBQztJQUUxQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQXFCO1FBQ3pDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDM0IsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUU3QixtRkFBbUY7UUFDbkYsaUZBQWlGO1FBQ2pGLElBQUEsZUFBSyxFQUFDLHdCQUF3QixPQUFPLElBQUksTUFBTSxFQUFFLENBQUMsQ0FBQztRQUNuRCxJQUFBLGVBQUssRUFBQywwQkFBMEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFeEQsTUFBTSxHQUFHLEdBQUcsQ0FBQyxNQUFNLElBQUEscUNBQXNCLEVBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ2pFLE1BQU0sUUFBUSxHQUFHLE1BQU0sR0FBRyxDQUFDLGNBQWMsQ0FBQztZQUN4QyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDbkIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUM1RCxJQUFJLEVBQUUsR0FBRztnQkFDVCxNQUFNLEVBQUUsTUFBTTthQUNmLENBQUMsQ0FBQztTQUNKLENBQUMsQ0FBQztRQUVILE1BQU0sTUFBTSxHQUFHLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEtBQUssU0FBUyxDQUFDLENBQUM7UUFFbkYsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3hCLE1BQU0sSUFBSSxLQUFLLENBQUMsK0NBQStDLENBQUMsQ0FBQztRQUNuRSxDQUFDO1FBRUQsNkJBQTZCO1FBQzdCLHlFQUF5RTtRQUN6RSxpRUFBaUU7UUFDakUsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFlBQVksSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFckUsSUFBQSxlQUFLLEVBQUMsbUJBQW1CLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLGlCQUFpQixNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQztRQUN0RixPQUFPLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFRLENBQUM7SUFDNUIsQ0FBQztDQUNGO0FBbkNELDREQW1DQztBQUVEOztHQUVHO0FBQ0gsU0FBUyxVQUFVLENBQUksT0FBeUI7SUFDOUMsT0FBTyxDQUFDLENBQUksRUFBRSxDQUFJLEVBQUUsRUFBRTtRQUNwQixPQUFPLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakMsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQW1pQ29udGV4dFF1ZXJ5IH0gZnJvbSAnQGF3cy1jZGsvY2xvdWQtYXNzZW1ibHktc2NoZW1hJztcbmltcG9ydCB7IHR5cGUgU2RrUHJvdmlkZXIsIGluaXRDb250ZXh0UHJvdmlkZXJTZGsgfSBmcm9tICcuLi9hcGkvYXdzLWF1dGgvc2RrLXByb3ZpZGVyJztcbmltcG9ydCB7IENvbnRleHRQcm92aWRlclBsdWdpbiB9IGZyb20gJy4uL2FwaS9wbHVnaW4nO1xuaW1wb3J0IHsgZGVidWcsIHByaW50IH0gZnJvbSAnLi4vbG9nZ2luZyc7XG5cbi8qKlxuICogUGx1Z2luIHRvIHNlYXJjaCBBTUlzIGZvciB0aGUgY3VycmVudCBhY2NvdW50XG4gKi9cbmV4cG9ydCBjbGFzcyBBbWlDb250ZXh0UHJvdmlkZXJQbHVnaW4gaW1wbGVtZW50cyBDb250ZXh0UHJvdmlkZXJQbHVnaW4ge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGF3czogU2RrUHJvdmlkZXIpIHt9XG5cbiAgcHVibGljIGFzeW5jIGdldFZhbHVlKGFyZ3M6IEFtaUNvbnRleHRRdWVyeSkge1xuICAgIGNvbnN0IHJlZ2lvbiA9IGFyZ3MucmVnaW9uO1xuICAgIGNvbnN0IGFjY291bnQgPSBhcmdzLmFjY291bnQ7XG5cbiAgICAvLyBOb3JtYWxseSB3ZSdkIGRvIHRoaXMgb25seSBhcyAnZGVidWcnLCBidXQgc2VhcmNoaW5nIEFNSXMgdHlwaWNhbGx5IHRha2VzIGRvemVuc1xuICAgIC8vIG9mIHNlY29uZHMsIHNvIGJlIGxpdHRsZSBtb3JlIHZlcmJvc2UgYWJvdXQgaXQgc28gdXNlcnMga25vdyB3aGF0IGlzIGdvaW5nIG9uLlxuICAgIHByaW50KGBTZWFyY2hpbmcgZm9yIEFNSSBpbiAke2FjY291bnR9OiR7cmVnaW9ufWApO1xuICAgIGRlYnVnKGBBTUkgc2VhcmNoIHBhcmFtZXRlcnM6ICR7SlNPTi5zdHJpbmdpZnkoYXJncyl9YCk7XG5cbiAgICBjb25zdCBlYzIgPSAoYXdhaXQgaW5pdENvbnRleHRQcm92aWRlclNkayh0aGlzLmF3cywgYXJncykpLmVjMigpO1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZWMyLmRlc2NyaWJlSW1hZ2VzKHtcbiAgICAgIE93bmVyczogYXJncy5vd25lcnMsXG4gICAgICBGaWx0ZXJzOiBPYmplY3QuZW50cmllcyhhcmdzLmZpbHRlcnMpLm1hcCgoW2tleSwgdmFsdWVzXSkgPT4gKHtcbiAgICAgICAgTmFtZToga2V5LFxuICAgICAgICBWYWx1ZXM6IHZhbHVlcyxcbiAgICAgIH0pKSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGltYWdlcyA9IFsuLi4ocmVzcG9uc2UuSW1hZ2VzIHx8IFtdKV0uZmlsdGVyKChpKSA9PiBpLkltYWdlSWQgIT09IHVuZGVmaW5lZCk7XG5cbiAgICBpZiAoaW1hZ2VzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdObyBBTUkgZm91bmQgdGhhdCBtYXRjaGVkIHRoZSBzZWFyY2ggY3JpdGVyaWEnKTtcbiAgICB9XG5cbiAgICAvLyBSZXR1cm4gdGhlIG1vc3QgcmVjZW50IG9uZVxuICAgIC8vIE5vdGU6IERhdGUucGFyc2UoKSBpcyBub3QgZ29pbmcgdG8gcmVzcGVjdCB0aGUgdGltZXpvbmUgb2YgdGhlIHN0cmluZyxcbiAgICAvLyBidXQgc2luY2Ugd2Ugb25seSBjYXJlIGFib3V0IHRoZSByZWxhdGl2ZSB2YWx1ZXMgdGhhdCBpcyBva2F5LlxuICAgIGltYWdlcy5zb3J0KGRlc2NlbmRpbmcoKGkpID0+IERhdGUucGFyc2UoaS5DcmVhdGlvbkRhdGUgfHwgJzE5NzAnKSkpO1xuXG4gICAgZGVidWcoYFNlbGVjdGVkIGltYWdlICcke2ltYWdlc1swXS5JbWFnZUlkfScgY3JlYXRlZCBhdCAnJHtpbWFnZXNbMF0uQ3JlYXRpb25EYXRlfSdgKTtcbiAgICByZXR1cm4gaW1hZ2VzWzBdLkltYWdlSWQhO1xuICB9XG59XG5cbi8qKlxuICogTWFrZSBhIGNvbXBhcmF0b3IgdGhhdCBzb3J0cyBpbiBkZXNjZW5kaW5nIG9yZGVyIGdpdmVuIGEgc29ydCBrZXkgZXh0cmFjdG9yXG4gKi9cbmZ1bmN0aW9uIGRlc2NlbmRpbmc8QT4odmFsdWVPZjogKHg6IEEpID0+IG51bWJlcikge1xuICByZXR1cm4gKGE6IEEsIGI6IEEpID0+IHtcbiAgICByZXR1cm4gdmFsdWVPZihiKSAtIHZhbHVlT2YoYSk7XG4gIH07XG59XG4iXX0=
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1pLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYW1pLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLCtEQUF3RjtBQUV4Rix3Q0FBeUM7QUFFekM7O0dBRUc7QUFDSCxNQUFhLHdCQUF3QjtJQUNuQyxZQUE2QixHQUFnQjtRQUFoQixRQUFHLEdBQUgsR0FBRyxDQUFhO0lBQUcsQ0FBQztJQUUxQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQXFCO1FBQ3pDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDM0IsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUU3QixtRkFBbUY7UUFDbkYsaUZBQWlGO1FBQ2pGLElBQUEsY0FBSSxFQUFDLHdCQUF3QixPQUFPLElBQUksTUFBTSxFQUFFLENBQUMsQ0FBQztRQUNsRCxJQUFBLGVBQUssRUFBQywwQkFBMEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFeEQsTUFBTSxHQUFHLEdBQUcsQ0FBQyxNQUFNLElBQUEscUNBQXNCLEVBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ2pFLE1BQU0sUUFBUSxHQUFHLE1BQU0sR0FBRyxDQUFDLGNBQWMsQ0FBQztZQUN4QyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDbkIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUM1RCxJQUFJLEVBQUUsR0FBRztnQkFDVCxNQUFNLEVBQUUsTUFBTTthQUNmLENBQUMsQ0FBQztTQUNKLENBQUMsQ0FBQztRQUVILE1BQU0sTUFBTSxHQUFHLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEtBQUssU0FBUyxDQUFDLENBQUM7UUFFbkYsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3hCLE1BQU0sSUFBSSxLQUFLLENBQUMsK0NBQStDLENBQUMsQ0FBQztRQUNuRSxDQUFDO1FBRUQsNkJBQTZCO1FBQzdCLHlFQUF5RTtRQUN6RSxpRUFBaUU7UUFDakUsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFlBQVksSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFckUsSUFBQSxlQUFLLEVBQUMsbUJBQW1CLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLGlCQUFpQixNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQztRQUN0RixPQUFPLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFRLENBQUM7SUFDNUIsQ0FBQztDQUNGO0FBbkNELDREQW1DQztBQUVEOztHQUVHO0FBQ0gsU0FBUyxVQUFVLENBQUksT0FBeUI7SUFDOUMsT0FBTyxDQUFDLENBQUksRUFBRSxDQUFJLEVBQUUsRUFBRTtRQUNwQixPQUFPLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakMsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQW1pQ29udGV4dFF1ZXJ5IH0gZnJvbSAnQGF3cy1jZGsvY2xvdWQtYXNzZW1ibHktc2NoZW1hJztcbmltcG9ydCB7IHR5cGUgU2RrUHJvdmlkZXIsIGluaXRDb250ZXh0UHJvdmlkZXJTZGsgfSBmcm9tICcuLi9hcGkvYXdzLWF1dGgvc2RrLXByb3ZpZGVyJztcbmltcG9ydCB7IENvbnRleHRQcm92aWRlclBsdWdpbiB9IGZyb20gJy4uL2FwaS9wbHVnaW4nO1xuaW1wb3J0IHsgZGVidWcsIGluZm8gfSBmcm9tICcuLi9sb2dnaW5nJztcblxuLyoqXG4gKiBQbHVnaW4gdG8gc2VhcmNoIEFNSXMgZm9yIHRoZSBjdXJyZW50IGFjY291bnRcbiAqL1xuZXhwb3J0IGNsYXNzIEFtaUNvbnRleHRQcm92aWRlclBsdWdpbiBpbXBsZW1lbnRzIENvbnRleHRQcm92aWRlclBsdWdpbiB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgYXdzOiBTZGtQcm92aWRlcikge31cblxuICBwdWJsaWMgYXN5bmMgZ2V0VmFsdWUoYXJnczogQW1pQ29udGV4dFF1ZXJ5KSB7XG4gICAgY29uc3QgcmVnaW9uID0gYXJncy5yZWdpb247XG4gICAgY29uc3QgYWNjb3VudCA9IGFyZ3MuYWNjb3VudDtcblxuICAgIC8vIE5vcm1hbGx5IHdlJ2QgZG8gdGhpcyBvbmx5IGFzICdkZWJ1ZycsIGJ1dCBzZWFyY2hpbmcgQU1JcyB0eXBpY2FsbHkgdGFrZXMgZG96ZW5zXG4gICAgLy8gb2Ygc2Vjb25kcywgc28gYmUgbGl0dGxlIG1vcmUgdmVyYm9zZSBhYm91dCBpdCBzbyB1c2VycyBrbm93IHdoYXQgaXMgZ29pbmcgb24uXG4gICAgaW5mbyhgU2VhcmNoaW5nIGZvciBBTUkgaW4gJHthY2NvdW50fToke3JlZ2lvbn1gKTtcbiAgICBkZWJ1ZyhgQU1JIHNlYXJjaCBwYXJhbWV0ZXJzOiAke0pTT04uc3RyaW5naWZ5KGFyZ3MpfWApO1xuXG4gICAgY29uc3QgZWMyID0gKGF3YWl0IGluaXRDb250ZXh0UHJvdmlkZXJTZGsodGhpcy5hd3MsIGFyZ3MpKS5lYzIoKTtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGVjMi5kZXNjcmliZUltYWdlcyh7XG4gICAgICBPd25lcnM6IGFyZ3Mub3duZXJzLFxuICAgICAgRmlsdGVyczogT2JqZWN0LmVudHJpZXMoYXJncy5maWx0ZXJzKS5tYXAoKFtrZXksIHZhbHVlc10pID0+ICh7XG4gICAgICAgIE5hbWU6IGtleSxcbiAgICAgICAgVmFsdWVzOiB2YWx1ZXMsXG4gICAgICB9KSksXG4gICAgfSk7XG5cbiAgICBjb25zdCBpbWFnZXMgPSBbLi4uKHJlc3BvbnNlLkltYWdlcyB8fCBbXSldLmZpbHRlcigoaSkgPT4gaS5JbWFnZUlkICE9PSB1bmRlZmluZWQpO1xuXG4gICAgaWYgKGltYWdlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTm8gQU1JIGZvdW5kIHRoYXQgbWF0Y2hlZCB0aGUgc2VhcmNoIGNyaXRlcmlhJyk7XG4gICAgfVxuXG4gICAgLy8gUmV0dXJuIHRoZSBtb3N0IHJlY2VudCBvbmVcbiAgICAvLyBOb3RlOiBEYXRlLnBhcnNlKCkgaXMgbm90IGdvaW5nIHRvIHJlc3BlY3QgdGhlIHRpbWV6b25lIG9mIHRoZSBzdHJpbmcsXG4gICAgLy8gYnV0IHNpbmNlIHdlIG9ubHkgY2FyZSBhYm91dCB0aGUgcmVsYXRpdmUgdmFsdWVzIHRoYXQgaXMgb2theS5cbiAgICBpbWFnZXMuc29ydChkZXNjZW5kaW5nKChpKSA9PiBEYXRlLnBhcnNlKGkuQ3JlYXRpb25EYXRlIHx8ICcxOTcwJykpKTtcblxuICAgIGRlYnVnKGBTZWxlY3RlZCBpbWFnZSAnJHtpbWFnZXNbMF0uSW1hZ2VJZH0nIGNyZWF0ZWQgYXQgJyR7aW1hZ2VzWzBdLkNyZWF0aW9uRGF0ZX0nYCk7XG4gICAgcmV0dXJuIGltYWdlc1swXS5JbWFnZUlkITtcbiAgfVxufVxuXG4vKipcbiAqIE1ha2UgYSBjb21wYXJhdG9yIHRoYXQgc29ydHMgaW4gZGVzY2VuZGluZyBvcmRlciBnaXZlbiBhIHNvcnQga2V5IGV4dHJhY3RvclxuICovXG5mdW5jdGlvbiBkZXNjZW5kaW5nPEE+KHZhbHVlT2Y6ICh4OiBBKSA9PiBudW1iZXIpIHtcbiAgcmV0dXJuIChhOiBBLCBiOiBBKSA9PiB7XG4gICAgcmV0dXJuIHZhbHVlT2YoYikgLSB2YWx1ZU9mKGEpO1xuICB9O1xufVxuIl19
@@ -19,6 +19,7 @@ const plugin_1 = require("../api/plugin");
19
19
  const placeholders_1 = require("../api/util/placeholders");
20
20
  const logging_1 = require("../logging");
21
21
  const settings_1 = require("../settings");
22
+ const error_1 = require("../util/error");
22
23
  const PLUGIN_PROVIDER_PREFIX = 'plugin';
23
24
  /**
24
25
  * Iterate over the list of missing context values and invoke the appropriate providers from the map to retrieve them
@@ -62,7 +63,7 @@ async function provideContextValues(missingValues, context, sdk) {
62
63
  catch (e) {
63
64
  // Set a specially formatted provider value which will be interpreted
64
65
  // as a lookup failure in the toolkit.
65
- value = { [cxapi.PROVIDER_ERROR_KEY]: e.message, [settings_1.TRANSIENT_CONTEXT_KEY]: true };
66
+ value = { [cxapi.PROVIDER_ERROR_KEY]: (0, error_1.formatErrorMessage)(e), [settings_1.TRANSIENT_CONTEXT_KEY]: true };
66
67
  }
67
68
  context.set(key, value);
68
69
  (0, logging_1.debug)(`Setting "${key}" context to ${JSON.stringify(value)}`);
@@ -104,4 +105,4 @@ const availableContextProviders = {
104
105
  [cxschema.ContextProvider.LOAD_BALANCER_LISTENER_PROVIDER]: (s) => new load_balancers_1.LoadBalancerListenerContextProviderPlugin(s),
105
106
  [cxschema.ContextProvider.KEY_PROVIDER]: (s) => new keys_1.KeyContextProviderPlugin(s),
106
107
  };
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQTBCQSxvREFxREM7QUFPRCwwREFFQztBQU9ELHNFQUVDO0FBT0Qsd0VBRUM7QUExR0QsMkRBQTJEO0FBQzNELHlDQUF5QztBQUN6QywrQkFBaUQ7QUFDakQsNkRBQStEO0FBQy9ELCtGQUErRjtBQUMvRixpREFBaUU7QUFDakUsaUNBQWtEO0FBQ2xELHFEQUFnSDtBQUNoSCx1REFBdUU7QUFDdkUscURBQTREO0FBQzVELGlDQUF5RDtBQUV6RCwwQ0FBMkM7QUFFM0MsMkRBQWtFO0FBQ2xFLHdDQUFtQztBQUNuQywwQ0FBNkQ7QUFLN0QsTUFBTSxzQkFBc0IsR0FBRyxRQUFRLENBQUM7QUFFeEM7O0dBRUc7QUFDSSxLQUFLLFVBQVUsb0JBQW9CLENBQ3hDLGFBQXdDLEVBQ3hDLE9BQWdCLEVBQ2hCLEdBQWdCO0lBRWhCLEtBQUssTUFBTSxjQUFjLElBQUksYUFBYSxFQUFFLENBQUM7UUFDM0MsTUFBTSxHQUFHLEdBQUcsY0FBYyxDQUFDLEdBQUcsQ0FBQztRQUUvQixNQUFNLFlBQVksR0FBRyxjQUFjLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQyxlQUFlLENBQUMsTUFBTTtZQUM5RSxDQUFDLENBQUMsR0FBRyxzQkFBc0IsSUFBSyxjQUFjLENBQUMsS0FBcUMsQ0FBQyxVQUFVLEVBQUU7WUFDakcsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUM7UUFFNUIsSUFBSSxPQUFPLENBQUM7UUFDWixJQUFJLFlBQVksQ0FBQyxVQUFVLENBQUMsR0FBRyxzQkFBc0IsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUMxRCxNQUFNLE1BQU0sR0FBRyxtQkFBVSxDQUFDLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLHNCQUFzQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3JILElBQUksQ0FB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LEVBQUUsRUFBRSxDQUFDLElBQUksK0JBQXdCLENBQUMsQ0FBQyxDQUFDO0NBQ2hGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjeHNjaGVtYSBmcm9tICdAYXdzLWNkay9jbG91ZC1hc3NlbWJseS1zY2hlbWEnO1xuaW1wb3J0ICogYXMgY3hhcGkgZnJvbSAnQGF3cy1jZGsvY3gtYXBpJztcbmltcG9ydCB7IEFtaUNvbnRleHRQcm92aWRlclBsdWdpbiB9IGZyb20gJy4vYW1pJztcbmltcG9ydCB7IEFaQ29udGV4dFByb3ZpZGVyUGx1Z2luIH0gZnJvbSAnLi9hdmFpbGFiaWxpdHktem9uZXMnO1xuaW1wb3J0IHsgRW5kcG9pbnRTZXJ2aWNlQVpDb250ZXh0UHJvdmlkZXJQbHVnaW4gfSBmcm9tICcuL2VuZHBvaW50LXNlcnZpY2UtYXZhaWxhYmlsaXR5LXpvbmVzJztcbmltcG9ydCB7IEhvc3RlZFpvbmVDb250ZXh0UHJvdmlkZXJQbHVnaW4gfSBmcm9tICcuL2hvc3RlZC16b25lcyc7XG5pbXBvcnQgeyBLZXlDb250ZXh0UHJvdmlkZXJQbHVnaW4gfSBmcm9tICcuL2tleXMnO1xuaW1wb3J0IHsgTG9hZEJhbGFuY2VyQ29udGV4dFByb3ZpZGVyUGx1Z2luLCBMb2FkQmFsYW5jZXJMaXN0ZW5lckNvbnRleHRQcm92aWRlclBsdWdpbiB9IGZyb20gJy4vbG9hZC1iYWxhbmNlcnMnO1xuaW1wb3J0IHsgU2VjdXJpdHlHcm91cENvbnRleHRQcm92aWRlclBsdWdpbiB9IGZyb20gJy4vc2VjdXJpdHktZ3JvdXBzJztcbmltcG9ydCB7IFNTTUNvbnRleHRQcm92aWRlclBsdWdpbiB9IGZyb20gJy4vc3NtLXBhcmFtZXRlcnMnO1xuaW1wb3J0IHsgVnBjTmV0d29ya0NvbnRleHRQcm92aWRlclBsdWdpbiB9IGZyb20gJy4vdnBjcyc7XG5pbXBvcnQgeyBTZGtQcm92aWRlciB9IGZyb20gJy4uL2FwaSc7XG5pbXBvcnQgeyBQbHVnaW5Ib3N0IH0gZnJvbSAnLi4vYXBpL3BsdWdpbic7XG5pbXBvcnQgeyBDb250ZXh0UHJvdmlkZXJQbHVnaW4gfSBmcm9tICcuLi9hcGkvcGx1Z2luL2NvbnRleHQtcHJvdmlkZXItcGx1Z2luJztcbmltcG9ydCB7IHJlcGxhY2VFbnZQbGFjZWhvbGRlcnMgfSBmcm9tICcuLi9hcGkvdXRpbC9wbGFjZWhvbGRlcnMnO1xuaW1wb3J0IHsgZGVidWcgfSBmcm9tICcuLi9sb2dnaW5nJztcbmltcG9ydCB7IENvbnRleHQsIFRSQU5TSUVOVF9DT05URVhUX0tFWSB9IGZyb20gJy4uL3NldHRpbmdzJztcblxuZXhwb3J0IHR5cGUgQ29udGV4dFByb3ZpZGVyRmFjdG9yeSA9ICgoc2RrOiBTZGtQcm92aWRlcikgPT4gQ29udGV4dFByb3ZpZGVyUGx1Z2luKTtcbmV4cG9ydCB0eXBlIFByb3ZpZGVyTWFwID0ge1tuYW1lOiBzdHJpbmddOiBDb250ZXh0UHJvdmlkZXJGYWN0b3J5fTtcblxuY29uc3QgUExVR0lOX1BST1ZJREVSX1BSRUZJWCA9ICdwbHVnaW4nO1xuXG4vKipcbiAqIEl0ZXJhdGUgb3ZlciB0aGUgbGlzdCBvZiBtaXNzaW5nIGNvbnRleHQgdmFsdWVzIGFuZCBpbnZva2UgdGhlIGFwcHJvcHJpYXRlIHByb3ZpZGVycyBmcm9tIHRoZSBtYXAgdG8gcmV0cmlldmUgdGhlbVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcHJvdmlkZUNvbnRleHRWYWx1ZXMoXG4gIG1pc3NpbmdWYWx1ZXM6IGN4c2NoZW1hLk1pc3NpbmdDb250ZXh0W10sXG4gIGNvbnRleHQ6IENvbnRleHQsXG4gIHNkazogU2RrUHJvdmlkZXIpIHtcblxuICBmb3IgKGNvbnN0IG1pc3NpbmdDb250ZXh0IG9mIG1pc3NpbmdWYWx1ZXMpIHtcbiAgICBjb25zdCBrZXkgPSBtaXNzaW5nQ29udGV4dC5rZXk7XG5cbiAgICBjb25zdCBwcm92aWRlck5hbWUgPSBtaXNzaW5nQ29udGV4dC5wcm92aWRlciA9PT0gY3hzY2hlbWEuQ29udGV4dFByb3ZpZGVyLlBMVUdJTlxuICAgICAgPyBgJHtQTFVHSU5fUFJPVklERVJfUFJFRklYfTokeyhtaXNzaW5nQ29udGV4dC5wcm9wcyBhcyBjeHNjaGVtYS5QbHVnaW5Db250ZXh0UXVlcnkpLnBsdWdpbk5hbWV9YFxuICAgICAgOiBtaXNzaW5nQ29udGV4dC5wcm92aWRlcjtcblxuICAgIGxldCBmYWN0b3J5O1xuICAgIGlmIChwcm92aWRlck5hbWUuc3RhcnRzV2l0aChgJHtQTFVHSU5fUFJPVklERVJfUFJFRklYfTpgKSkge1xuICAgICAgY29uc3QgcGx1Z2luID0gUGx1Z2luSG9zdC5pbnN0YW5jZS5jb250ZXh0UHJvdmlkZXJQbHVnaW5zW3Byb3ZpZGVyTmFtZS5zdWJzdHJpbmcoUExVR0lOX1BST1ZJREVSX1BSRUZJWC5sZW5ndGggKyAxKV07XG4gICAgICBpZiAoIXBsdWdpbikge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LWxlblxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVucmVjb2duaXplZCBwbHVnaW4gY29udGV4dCBwcm92aWRlciBuYW1lOiAke21pc3NpbmdDb250ZXh0LnByb3ZpZGVyfS5gKTtcbiAgICAgIH1cbiAgICAgIGZhY3RvcnkgPSAoKSA9PiBwbHVnaW47XG4gICAgfSBlbHNlIHtcbiAgICAgIGZhY3RvcnkgPSBhdmFpbGFibGVDb250ZXh0UHJvdmlkZXJzW3Byb3ZpZGVyTmFtZV07XG4gICAgICBpZiAoIWZhY3RvcnkpIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1sZW5cbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbnJlY29nbml6ZWQgY29udGV4dCBwcm92aWRlciBuYW1lOiAke21pc3NpbmdDb250ZXh0LnByb3ZpZGVyfS4gWW91IG1pZ2h0IG5lZWQgdG8gdXBkYXRlIHRoZSB0b29sa2l0IHRvIG1hdGNoIHRoZSB2ZXJzaW9uIG9mIHRoZSBjb25zdHJ1Y3QgbGlicmFyeS5gKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBwcm92aWRlciA9IGZhY3Rvcnkoc2RrKTtcblxuICAgIGxldCB2YWx1ZTtcbiAgICB0cnkge1xuICAgICAgY29uc3QgZW52aXJvbm1lbnQgPSBtaXNzaW5nQ29udGV4dC5wcm9wcy5hY2NvdW50ICYmIG1pc3NpbmdDb250ZXh0LnByb3BzLnJlZ2lvblxuICAgICAgICA/IGN4YXBpLkVudmlyb25tZW50VXRpbHMubWFrZShtaXNzaW5nQ29udGV4dC5wcm9wcy5hY2NvdW50LCBtaXNzaW5nQ29udGV4dC5wcm9wcy5yZWdpb24pXG4gICAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgICBjb25zdCByZXNvbHZlZEVudmlyb25tZW50OiBjeGFwaS5FbnZpcm9ubWVudCA9IGVudmlyb25tZW50XG4gICAgICAgID8gYXdhaXQgc2RrLnJlc29sdmVFbnZpcm9ubWVudChlbnZpcm9ubWVudClcbiAgICAgICAgOiB7IGFjY291bnQ6ICc/JywgcmVnaW9uOiAnPycsIG5hbWU6ICc/JyB9O1xuXG4gICAgICBjb25zdCBhcm5zID0gYXdhaXQgcmVwbGFjZUVudlBsYWNlaG9sZGVycyh7XG4gICAgICAgIGxvb2t1cFJvbGVBcm46IG1pc3NpbmdDb250ZXh0LnByb3BzLmxvb2t1cFJvbGVBcm4sXG4gICAgICB9LCByZXNvbHZlZEVudmlyb25tZW50LCBzZGspO1xuXG4gICAgICB2YWx1ZSA9IGF3YWl0IHByb3ZpZGVyLmdldFZhbHVlKHsgLi4ubWlzc2luZ0NvbnRleHQucHJvcHMsIGxvb2t1cFJvbGVBcm46IGFybnMubG9va3VwUm9sZUFybiB9KTtcbiAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgIC8vIFNldCBhIHNwZWNpYWxseSBmb3JtYXR0ZWQgcHJvdmlkZXIgdmFsdWUgd2hpY2ggd2lsbCBiZSBpbnRlcnByZXRlZFxuICAgICAgLy8gYXMgYSBsb29rdXAgZmFpbHVyZSBpbiB0aGUgdG9vbGtpdC5cbiAgICAgIHZhbHVlID0geyBbY3hhcGkuUFJPVklERVJfRVJST1JfS0VZXTogZS5tZXNzYWdlLCBbVFJBTlNJRU5UX0NPTlRFWFRfS0VZXTogdHJ1ZSB9O1xuICAgIH1cbiAgICBjb250ZXh0LnNldChrZXksIHZhbHVlKTtcbiAgICBkZWJ1ZyhgU2V0dGluZyBcIiR7a2V5fVwiIGNvbnRleHQgdG8gJHtKU09OLnN0cmluZ2lmeSh2YWx1ZSl9YCk7XG4gIH1cbn1cblxuLyoqXG4gKiBSZWdpc3RlciBhIGNvbnRleHQgcHJvdmlkZXJcbiAqXG4gKiBBIGNvbnRleHQgcHJvdmlkZXIgY2Fubm90IHJldXNlIHRoZSBTREtzIGF1dGhlbnRpY2F0aW9uIG1lY2hhbmlzbXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZWdpc3RlckNvbnRleHRQcm92aWRlcihuYW1lOiBzdHJpbmcsIHByb3ZpZGVyOiBDb250ZXh0UHJvdmlkZXJQbHVnaW4pIHtcbiAgYXZhaWxhYmxlQ29udGV4dFByb3ZpZGVyc1tuYW1lXSA9ICgpID0+IHByb3ZpZGVyO1xufVxuXG4vKipcbiAqIFJlZ2lzdGVyIGEgcGx1Z2luIGNvbnRleHQgcHJvdmlkZXJcbiAqXG4gKiBBIHBsdWdpbiBwcm92aWRlciBjYW5ub3QgcmV1c2UgdGhlIFNES3MgYXV0aGVudGljYXRpb24gbWVjaGFuaXNtcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyUGx1Z2luQ29udGV4dFByb3ZpZGVyKG5hbWU6IHN0cmluZywgcHJvdmlkZXI6IENvbnRleHRQcm92aWRlclBsdWdpbikge1xuICByZWdpc3RlckNvbnRleHRQcm92aWRlcihgJHtQTFVHSU5fUFJPVklERVJfUFJFRklYfToke25hbWV9YCwgcHJvdmlkZXIpO1xufVxuXG4vKipcbiAqIFJlZ2lzdGVyIGEgY29udGV4dCBwcm92aWRlciBmYWN0b3J5XG4gKlxuICogQSBjb250ZXh0IHByb3ZpZGVyIGZhY3RvcnkgdGFrZXMgYW4gU2RrUHJvdmlkZXIgYW5kIHJldHVybnMgdGhlIGNvbnRleHQgcHJvdmlkZXIgcGx1Z2luLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVnaXN0ZXJDb250ZXh0UHJvdmlkZXJGYWN0b3J5KG5hbWU6IHN0cmluZywgcHJvdmlkZXI6IENvbnRleHRQcm92aWRlckZhY3RvcnkpIHtcbiAgYXZhaWxhYmxlQ29udGV4dFByb3ZpZGVyc1tuYW1lXSA9IHByb3ZpZGVyO1xufVxuXG5jb25zdCBhdmFpbGFibGVDb250ZXh0UHJvdmlkZXJzOiBQcm92aWRlck1hcCA9IHtcbiAgW2N4c2NoZW1hLkNvbnRleHRQcm92aWRlci5BVkFJTEFCSUxJVFlfWk9ORV9QUk9WSURFUl06IChzKSA9PiBuZXcgQVpDb250ZXh0UHJvdmlkZXJQbHVnaW4ocyksXG4gIFtjeHNjaGVtYS5Db250ZXh0UHJvdmlkZXIuU1NNX1BBUkFNRVRFUl9QUk9WSURFUl06IChzKSA9PiBuZXcgU1NNQ29udGV4dFByb3ZpZGVyUGx1Z2luKHMpLFxuICBbY3hzY2hlbWEuQ29udGV4dFByb3ZpZGVyLkhPU1RFRF9aT05FX1BST1ZJREVSXTogKHMpID0+IG5ldyBIb3N0ZWRab25lQ29udGV4dFByb3ZpZGVyUGx1Z2luKHMpLFxuICBbY3hzY2hlbWEuQ29udGV4dFByb3ZpZGVyLlZQQ19QUk9WSURFUl06IChzKSA9PiBuZXcgVnBjTmV0d29ya0NvbnRleHRQcm92aWRlclBsdWdpbihzKSxcbiAgW2N4c2NoZW1hLkNvbnRleHRQcm92aWRlci5BTUlfUFJPVklERVJdOiAocykgPT4gbmV3IEFtaUNvbnRleHRQcm92aWRlclBsdWdpbihzKSxcbiAgW2N4c2NoZW1hLkNvbnRleHRQcm92aWRlci5FTkRQT0lOVF9TRVJWSUNFX0FWQUlMQUJJTElUWV9aT05FX1BST1ZJREVSXTogKHMpID0+IG5ldyBFbmRwb2ludFNlcnZpY2VBWkNvbnRleHRQcm92aWRlclBsdWdpbihzKSxcbiAgW2N4c2NoZW1hLkNvbnRleHRQcm92aWRlci5TRUNVUklUWV9HUk9VUF9QUk9WSURFUl06IChzKSA9PiBuZXcgU2VjdXJpdHlHcm91cENvbnRleHRQcm92aWRlclBsdWdpbihzKSxcbiAgW2N4c2NoZW1hLkNvbnRleHRQcm92aWRlci5MT0FEX0JBTEFOQ0VSX1BST1ZJREVSXTogKHMpID0+IG5ldyBMb2FkQmFsYW5jZXJDb250ZXh0UHJvdmlkZXJQbHVnaW4ocyksXG4gIFtjeHNjaGVtYS5Db250ZXh0UHJvdmlkZXIuTE9BRF9CQUxBTkNFUl9MSVNURU5FUl9QUk9WSURFUl06IChzKSA9PiBuZXcgTG9hZEJhbGFuY2VyTGlzdGVuZXJDb250ZXh0UHJvdmlkZXJQbHVnaW4ocyksXG4gIFtjeHNjaGVtYS5Db250ZXh0UHJvdmlkZXIuS0VZX1BST1ZJREVSXTogKHMpID0+IG5ldyBLZXlDb250ZXh0UHJvdmlkZXJQbHVnaW4ocyksXG59O1xuIl19
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQTJCQSxvREFxREM7QUFPRCwwREFFQztBQU9ELHNFQUVDO0FBT0Qsd0VBRUM7QUEzR0QsMkRBQTJEO0FBQzNELHlDQUF5QztBQUN6QywrQkFBaUQ7QUFDakQsNkRBQStEO0FBQy9ELCtGQUErRjtBQUMvRixpREFBaUU7QUFDakUsaUNBQWtEO0FBQ2xELHFEQUFnSDtBQUNoSCx1REFBdUU7QUFDdkUscURBQTREO0FBQzVELGlDQUF5RDtBQUV6RCwwQ0FBMkM7QUFFM0MsMkRBQWtFO0FBQ2xFLHdDQUFtQztBQUNuQywwQ0FBNkQ7QUFDN0QseUNBQW1EO0FBS25ELE1BQU0sc0JBQXNCLEdBQUcsUUFBUSxDQUFDO0FBRXhDOztHQUVHO0FBQ0ksS0FBSyxVQUFVLG9CQUFvQixDQUN4QyxhQUF3QyxFQUN4QyxPQUFnQixFQUNoQixHQUFnQjtJQUVoQixLQUFLLE1BQU0sY0FBYyxJQUFJLGFBQWEsRUFBRSxDQUFDO1FBQzNDLE1BQU0sR0FBRyxHQUFHLGNBQWMsQ0FBQyxHQUFHLENBQUM7UUFFL0IsTUFBTSxZQUFZLEdBQUcsY0FBYyxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUMsZUFBZSxDQUFDLE1BQU07WUFDOUUsQ0FBQyxDQUFDLEdBQUcsc0JBQXNCLElBQUssY0FBYyxDQUFDLEtBQXFDLENBQUMsVUFBVSxFQUFFO1lBQ2pHLENBQUMsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDO1FBRTVCLElBQUksT0FBTyxDQUFDO1FBQ1osSUFBSSxZQUFZLENBQUMsVUFBVSxDQUFDLEdBQUcsc0JBQXNCLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDMUQsTUFBTSxNQUFNLEdBQUcsbUJBQVUsQ0FBQyxRQUFRLENBQUMsc0JBQXNCLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZ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LFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLCtCQUF3QixDQUFDLENBQUMsQ0FBQztDQUNoRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY3hzY2hlbWEgZnJvbSAnQGF3cy1jZGsvY2xvdWQtYXNzZW1ibHktc2NoZW1hJztcbmltcG9ydCAqIGFzIGN4YXBpIGZyb20gJ0Bhd3MtY2RrL2N4LWFwaSc7XG5pbXBvcnQgeyBBbWlDb250ZXh0UHJvdmlkZXJQbHVnaW4gfSBmcm9tICcuL2FtaSc7XG5pbXBvcnQgeyBBWkNvbnRleHRQcm92aWRlclBsdWdpbiB9IGZyb20gJy4vYXZhaWxhYmlsaXR5LXpvbmVzJztcbmltcG9ydCB7IEVuZHBvaW50U2VydmljZUFaQ29udGV4dFByb3ZpZGVyUGx1Z2luIH0gZnJvbSAnLi9lbmRwb2ludC1zZXJ2aWNlLWF2YWlsYWJpbGl0eS16b25lcyc7XG5pbXBvcnQgeyBIb3N0ZWRab25lQ29udGV4dFByb3ZpZGVyUGx1Z2luIH0gZnJvbSAnLi9ob3N0ZWQtem9uZXMnO1xuaW1wb3J0IHsgS2V5Q29udGV4dFByb3ZpZGVyUGx1Z2luIH0gZnJvbSAnLi9rZXlzJztcbmltcG9ydCB7IExvYWRCYWxhbmNlckNvbnRleHRQcm92aWRlclBsdWdpbiwgTG9hZEJhbGFuY2VyTGlzdGVuZXJDb250ZXh0UHJvdmlkZXJQbHVnaW4gfSBmcm9tICcuL2xvYWQtYmFsYW5jZXJzJztcbmltcG9ydCB7IFNlY3VyaXR5R3JvdXBDb250ZXh0UHJvdmlkZXJQbHVnaW4gfSBmcm9tICcuL3NlY3VyaXR5LWdyb3Vwcyc7XG5pbXBvcnQgeyBTU01Db250ZXh0UHJvdmlkZXJQbHVnaW4gfSBmcm9tICcuL3NzbS1wYXJhbWV0ZXJzJztcbmltcG9ydCB7IFZwY05ldHdvcmtDb250ZXh0UHJvdmlkZXJQbHVnaW4gfSBmcm9tICcuL3ZwY3MnO1xuaW1wb3J0IHsgU2RrUHJvdmlkZXIgfSBmcm9tICcuLi9hcGknO1xuaW1wb3J0IHsgUGx1Z2luSG9zdCB9IGZyb20gJy4uL2FwaS9wbHVnaW4nO1xuaW1wb3J0IHsgQ29udGV4dFByb3ZpZGVyUGx1Z2luIH0gZnJvbSAnLi4vYXBpL3BsdWdpbi9jb250ZXh0LXByb3ZpZGVyLXBsdWdpbic7XG5pbXBvcnQgeyByZXBsYWNlRW52UGxhY2Vob2xkZXJzIH0gZnJvbSAnLi4vYXBpL3V0aWwvcGxhY2Vob2xkZXJzJztcbmltcG9ydCB7IGRlYnVnIH0gZnJvbSAnLi4vbG9nZ2luZyc7XG5pbXBvcnQgeyBDb250ZXh0LCBUUkFOU0lFTlRfQ09OVEVYVF9LRVkgfSBmcm9tICcuLi9zZXR0aW5ncyc7XG5pbXBvcnQgeyBmb3JtYXRFcnJvck1lc3NhZ2UgfSBmcm9tICcuLi91dGlsL2Vycm9yJztcblxuZXhwb3J0IHR5cGUgQ29udGV4dFByb3ZpZGVyRmFjdG9yeSA9ICgoc2RrOiBTZGtQcm92aWRlcikgPT4gQ29udGV4dFByb3ZpZGVyUGx1Z2luKTtcbmV4cG9ydCB0eXBlIFByb3ZpZGVyTWFwID0ge1tuYW1lOiBzdHJpbmddOiBDb250ZXh0UHJvdmlkZXJGYWN0b3J5fTtcblxuY29uc3QgUExVR0lOX1BST1ZJREVSX1BSRUZJWCA9ICdwbHVnaW4nO1xuXG4vKipcbiAqIEl0ZXJhdGUgb3ZlciB0aGUgbGlzdCBvZiBtaXNzaW5nIGNvbnRleHQgdmFsdWVzIGFuZCBpbnZva2UgdGhlIGFwcHJvcHJpYXRlIHByb3ZpZGVycyBmcm9tIHRoZSBtYXAgdG8gcmV0cmlldmUgdGhlbVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcHJvdmlkZUNvbnRleHRWYWx1ZXMoXG4gIG1pc3NpbmdWYWx1ZXM6IGN4c2NoZW1hLk1pc3NpbmdDb250ZXh0W10sXG4gIGNvbnRleHQ6IENvbnRleHQsXG4gIHNkazogU2RrUHJvdmlkZXIpIHtcblxuICBmb3IgKGNvbnN0IG1pc3NpbmdDb250ZXh0IG9mIG1pc3NpbmdWYWx1ZXMpIHtcbiAgICBjb25zdCBrZXkgPSBtaXNzaW5nQ29udGV4dC5rZXk7XG5cbiAgICBjb25zdCBwcm92aWRlck5hbWUgPSBtaXNzaW5nQ29udGV4dC5wcm92aWRlciA9PT0gY3hzY2hlbWEuQ29udGV4dFByb3ZpZGVyLlBMVUdJTlxuICAgICAgPyBgJHtQTFVHSU5fUFJPVklERVJfUFJFRklYfTokeyhtaXNzaW5nQ29udGV4dC5wcm9wcyBhcyBjeHNjaGVtYS5QbHVnaW5Db250ZXh0UXVlcnkpLnBsdWdpbk5hbWV9YFxuICAgICAgOiBtaXNzaW5nQ29udGV4dC5wcm92aWRlcjtcblxuICAgIGxldCBmYWN0b3J5O1xuICAgIGlmIChwcm92aWRlck5hbWUuc3RhcnRzV2l0aChgJHtQTFVHSU5fUFJPVklERVJfUFJFRklYfTpgKSkge1xuICAgICAgY29uc3QgcGx1Z2luID0gUGx1Z2luSG9zdC5pbnN0YW5jZS5jb250ZXh0UHJvdmlkZXJQbHVnaW5zW3Byb3ZpZGVyTmFtZS5zdWJzdHJpbmcoUExVR0lOX1BST1ZJREVSX1BSRUZJWC5sZW5ndGggKyAxKV07XG4gICAgICBpZiAoIXBsdWdpbikge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LWxlblxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVucmVjb2duaXplZCBwbHVnaW4gY29udGV4dCBwcm92aWRlciBuYW1lOiAke21pc3NpbmdDb250ZXh0LnByb3ZpZGVyfS5gKTtcbiAgICAgIH1cbiAgICAgIGZhY3RvcnkgPSAoKSA9PiBwbHVnaW47XG4gICAgfSBlbHNlIHtcbiAgICAgIGZhY3RvcnkgPSBhdmFpbGFibGVDb250ZXh0UHJvdmlkZXJzW3Byb3ZpZGVyTmFtZV07XG4gICAgICBpZiAoIWZhY3RvcnkpIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1sZW5cbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbnJlY29nbml6ZWQgY29udGV4dCBwcm92aWRlciBuYW1lOiAke21pc3NpbmdDb250ZXh0LnByb3ZpZGVyfS4gWW91IG1pZ2h0IG5lZWQgdG8gdXBkYXRlIHRoZSB0b29sa2l0IHRvIG1hdGNoIHRoZSB2ZXJzaW9uIG9mIHRoZSBjb25zdHJ1Y3QgbGlicmFyeS5gKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBwcm92aWRlciA9IGZhY3Rvcnkoc2RrKTtcblxuICAgIGxldCB2YWx1ZTtcbiAgICB0cnkge1xuICAgICAgY29uc3QgZW52aXJvbm1lbnQgPSBtaXNzaW5nQ29udGV4dC5wcm9wcy5hY2NvdW50ICYmIG1pc3NpbmdDb250ZXh0LnByb3BzLnJlZ2lvblxuICAgICAgICA/IGN4YXBpLkVudmlyb25tZW50VXRpbHMubWFrZShtaXNzaW5nQ29udGV4dC5wcm9wcy5hY2NvdW50LCBtaXNzaW5nQ29udGV4dC5wcm9wcy5yZWdpb24pXG4gICAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgICBjb25zdCByZXNvbHZlZEVudmlyb25tZW50OiBjeGFwaS5FbnZpcm9ubWVudCA9IGVudmlyb25tZW50XG4gICAgICAgID8gYXdhaXQgc2RrLnJlc29sdmVFbnZpcm9ubWVudChlbnZpcm9ubWVudClcbiAgICAgICAgOiB7IGFjY291bnQ6ICc/JywgcmVnaW9uOiAnPycsIG5hbWU6ICc/JyB9O1xuXG4gICAgICBjb25zdCBhcm5zID0gYXdhaXQgcmVwbGFjZUVudlBsYWNlaG9sZGVycyh7XG4gICAgICAgIGxvb2t1cFJvbGVBcm46IG1pc3NpbmdDb250ZXh0LnByb3BzLmxvb2t1cFJvbGVBcm4sXG4gICAgICB9LCByZXNvbHZlZEVudmlyb25tZW50LCBzZGspO1xuXG4gICAgICB2YWx1ZSA9IGF3YWl0IHByb3ZpZGVyLmdldFZhbHVlKHsgLi4ubWlzc2luZ0NvbnRleHQucHJvcHMsIGxvb2t1cFJvbGVBcm46IGFybnMubG9va3VwUm9sZUFybiB9KTtcbiAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgIC8vIFNldCBhIHNwZWNpYWxseSBmb3JtYXR0ZWQgcHJvdmlkZXIgdmFsdWUgd2hpY2ggd2lsbCBiZSBpbnRlcnByZXRlZFxuICAgICAgLy8gYXMgYSBsb29rdXAgZmFpbHVyZSBpbiB0aGUgdG9vbGtpdC5cbiAgICAgIHZhbHVlID0geyBbY3hhcGkuUFJPVklERVJfRVJST1JfS0VZXTogZm9ybWF0RXJyb3JNZXNzYWdlKGUpLCBbVFJBTlNJRU5UX0NPTlRFWFRfS0VZXTogdHJ1ZSB9O1xuICAgIH1cbiAgICBjb250ZXh0LnNldChrZXksIHZhbHVlKTtcbiAgICBkZWJ1ZyhgU2V0dGluZyBcIiR7a2V5fVwiIGNvbnRleHQgdG8gJHtKU09OLnN0cmluZ2lmeSh2YWx1ZSl9YCk7XG4gIH1cbn1cblxuLyoqXG4gKiBSZWdpc3RlciBhIGNvbnRleHQgcHJvdmlkZXJcbiAqXG4gKiBBIGNvbnRleHQgcHJvdmlkZXIgY2Fubm90IHJldXNlIHRoZSBTREtzIGF1dGhlbnRpY2F0aW9uIG1lY2hhbmlzbXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZWdpc3RlckNvbnRleHRQcm92aWRlcihuYW1lOiBzdHJpbmcsIHByb3ZpZGVyOiBDb250ZXh0UHJvdmlkZXJQbHVnaW4pIHtcbiAgYXZhaWxhYmxlQ29udGV4dFByb3ZpZGVyc1tuYW1lXSA9ICgpID0+IHByb3ZpZGVyO1xufVxuXG4vKipcbiAqIFJlZ2lzdGVyIGEgcGx1Z2luIGNvbnRleHQgcHJvdmlkZXJcbiAqXG4gKiBBIHBsdWdpbiBwcm92aWRlciBjYW5ub3QgcmV1c2UgdGhlIFNES3MgYXV0aGVudGljYXRpb24gbWVjaGFuaXNtcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyUGx1Z2luQ29udGV4dFByb3ZpZGVyKG5hbWU6IHN0cmluZywgcHJvdmlkZXI6IENvbnRleHRQcm92aWRlclBsdWdpbikge1xuICByZWdpc3RlckNvbnRleHRQcm92aWRlcihgJHtQTFVHSU5fUFJPVklERVJfUFJFRklYfToke25hbWV9YCwgcHJvdmlkZXIpO1xufVxuXG4vKipcbiAqIFJlZ2lzdGVyIGEgY29udGV4dCBwcm92aWRlciBmYWN0b3J5XG4gKlxuICogQSBjb250ZXh0IHByb3ZpZGVyIGZhY3RvcnkgdGFrZXMgYW4gU2RrUHJvdmlkZXIgYW5kIHJldHVybnMgdGhlIGNvbnRleHQgcHJvdmlkZXIgcGx1Z2luLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVnaXN0ZXJDb250ZXh0UHJvdmlkZXJGYWN0b3J5KG5hbWU6IHN0cmluZywgcHJvdmlkZXI6IENvbnRleHRQcm92aWRlckZhY3RvcnkpIHtcbiAgYXZhaWxhYmxlQ29udGV4dFByb3ZpZGVyc1tuYW1lXSA9IHByb3ZpZGVyO1xufVxuXG5jb25zdCBhdmFpbGFibGVDb250ZXh0UHJvdmlkZXJzOiBQcm92aWRlck1hcCA9IHtcbiAgW2N4c2NoZW1hLkNvbnRleHRQcm92aWRlci5BVkFJTEFCSUxJVFlfWk9ORV9QUk9WSURFUl06IChzKSA9PiBuZXcgQVpDb250ZXh0UHJvdmlkZXJQbHVnaW4ocyksXG4gIFtjeHNjaGVtYS5Db250ZXh0UHJvdmlkZXIuU1NNX1BBUkFNRVRFUl9QUk9WSURFUl06IChzKSA9PiBuZXcgU1NNQ29udGV4dFByb3ZpZGVyUGx1Z2luKHMpLFxuICBbY3hzY2hlbWEuQ29udGV4dFByb3ZpZGVyLkhPU1RFRF9aT05FX1BST1ZJREVSXTogKHMpID0+IG5ldyBIb3N0ZWRab25lQ29udGV4dFByb3ZpZGVyUGx1Z2luKHMpLFxuICBbY3hzY2hlbWEuQ29udGV4dFByb3ZpZGVyLlZQQ19QUk9WSURFUl06IChzKSA9PiBuZXcgVnBjTmV0d29ya0NvbnRleHRQcm92aWRlclBsdWdpbihzKSxcbiAgW2N4c2NoZW1hLkNvbnRleHRQcm92aWRlci5BTUlfUFJPVklERVJdOiAocykgPT4gbmV3IEFtaUNvbnRleHRQcm92aWRlclBsdWdpbihzKSxcbiAgW2N4c2NoZW1hLkNvbnRleHRQcm92aWRlci5FTkRQT0lOVF9TRVJWSUNFX0FWQUlMQUJJTElUWV9aT05FX1BST1ZJREVSXTogKHMpID0+IG5ldyBFbmRwb2ludFNlcnZpY2VBWkNvbnRleHRQcm92aWRlclBsdWdpbihzKSxcbiAgW2N4c2NoZW1hLkNvbnRleHRQcm92aWRlci5TRUNVUklUWV9HUk9VUF9QUk9WSURFUl06IChzKSA9PiBuZXcgU2VjdXJpdHlHcm91cENvbnRleHRQcm92aWRlclBsdWdpbihzKSxcbiAgW2N4c2NoZW1hLkNvbnRleHRQcm92aWRlci5MT0FEX0JBTEFOQ0VSX1BST1ZJREVSXTogKHMpID0+IG5ldyBMb2FkQmFsYW5jZXJDb250ZXh0UHJvdmlkZXJQbHVnaW4ocyksXG4gIFtjeHNjaGVtYS5Db250ZXh0UHJvdmlkZXIuTE9BRF9CQUxBTkNFUl9MSVNURU5FUl9QUk9WSURFUl06IChzKSA9PiBuZXcgTG9hZEJhbGFuY2VyTGlzdGVuZXJDb250ZXh0UHJvdmlkZXJQbHVnaW4ocyksXG4gIFtjeHNjaGVtYS5Db250ZXh0UHJvdmlkZXIuS0VZX1BST1ZJREVSXTogKHMpID0+IG5ldyBLZXlDb250ZXh0UHJvdmlkZXJQbHVnaW4ocyksXG59O1xuIl19
@@ -0,0 +1,3 @@
1
+ import { UserInput } from './user-input';
2
+ export declare function convertYargsToUserInput(args: any): UserInput;
3
+ export declare function convertConfigToUserInput(config: any): UserInput;