aws-cdk 2.1003.0 → 2.1005.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 (150) hide show
  1. package/build-info.json +2 -2
  2. package/lib/api/aws-auth/account-cache.d.ts +1 -1
  3. package/lib/api/aws-auth/account-cache.js +1 -1
  4. package/lib/api/aws-auth/awscli-compatible.d.ts +1 -1
  5. package/lib/api/aws-auth/awscli-compatible.js +1 -1
  6. package/lib/api/aws-auth/credential-plugins.d.ts +1 -1
  7. package/lib/api/aws-auth/credential-plugins.js +1 -1
  8. package/lib/api/aws-auth/provider-caching.d.ts +1 -1
  9. package/lib/api/aws-auth/provider-caching.js +1 -1
  10. package/lib/api/aws-auth/sdk-logger.d.ts +4 -4
  11. package/lib/api/aws-auth/sdk-logger.js +5 -10
  12. package/lib/api/aws-auth/sdk-provider.d.ts +4 -4
  13. package/lib/api/aws-auth/sdk-provider.js +1 -1
  14. package/lib/api/aws-auth/sdk.d.ts +12 -12
  15. package/lib/api/aws-auth/sdk.js +1 -1
  16. package/lib/api/bootstrap/bootstrap-environment.d.ts +4 -4
  17. package/lib/api/bootstrap/bootstrap-environment.js +9 -9
  18. package/lib/api/bootstrap/bootstrap-props.d.ts +3 -3
  19. package/lib/api/bootstrap/bootstrap-props.js +1 -1
  20. package/lib/api/bootstrap/deploy-bootstrap.d.ts +7 -7
  21. package/lib/api/bootstrap/deploy-bootstrap.js +11 -11
  22. package/lib/api/bootstrap/legacy-template.d.ts +1 -1
  23. package/lib/api/bootstrap/legacy-template.js +1 -1
  24. package/lib/api/cxapp/cloud-assembly.d.ts +1 -16
  25. package/lib/api/cxapp/cloud-assembly.js +3 -3
  26. package/lib/api/cxapp/cloud-executable.d.ts +3 -3
  27. package/lib/api/cxapp/cloud-executable.js +1 -1
  28. package/lib/api/cxapp/environments.d.ts +3 -3
  29. package/lib/api/cxapp/environments.js +1 -1
  30. package/lib/api/cxapp/exec.d.ts +4 -4
  31. package/lib/api/cxapp/exec.js +1 -1
  32. package/lib/api/deployments/asset-publishing.d.ts +6 -6
  33. package/lib/api/deployments/asset-publishing.js +7 -8
  34. package/lib/api/deployments/assets.d.ts +4 -4
  35. package/lib/api/deployments/assets.js +9 -9
  36. package/lib/api/deployments/checks.d.ts +3 -3
  37. package/lib/api/deployments/checks.js +4 -4
  38. package/lib/api/deployments/cloudformation.d.ts +8 -8
  39. package/lib/api/deployments/cloudformation.js +27 -27
  40. package/lib/api/deployments/deploy-stack.d.ts +8 -8
  41. package/lib/api/deployments/deploy-stack.js +53 -56
  42. package/lib/api/deployments/deployments.d.ts +14 -10
  43. package/lib/api/deployments/deployments.js +22 -24
  44. package/lib/api/deployments/hotswap-deployments.d.ts +7 -5
  45. package/lib/api/deployments/hotswap-deployments.js +52 -27
  46. package/lib/api/environment/environment-access.d.ts +8 -9
  47. package/lib/api/environment/environment-access.js +6 -7
  48. package/lib/api/environment/environment-resources.d.ts +5 -5
  49. package/lib/api/environment/environment-resources.js +12 -12
  50. package/lib/api/evaluate-cloudformation-template.d.ts +7 -2
  51. package/lib/api/evaluate-cloudformation-template.js +11 -5
  52. package/lib/api/garbage-collection/garbage-collector.d.ts +6 -7
  53. package/lib/api/garbage-collection/garbage-collector.js +38 -39
  54. package/lib/api/garbage-collection/progress-printer.d.ts +4 -5
  55. package/lib/api/garbage-collection/progress-printer.js +5 -6
  56. package/lib/api/garbage-collection/stack-refresh.d.ts +4 -4
  57. package/lib/api/garbage-collection/stack-refresh.js +7 -7
  58. package/lib/api/hotswap/appsync-mapping-templates.d.ts +3 -2
  59. package/lib/api/hotswap/appsync-mapping-templates.js +8 -6
  60. package/lib/api/hotswap/code-build-projects.d.ts +3 -2
  61. package/lib/api/hotswap/code-build-projects.js +8 -6
  62. package/lib/api/hotswap/common.d.ts +45 -34
  63. package/lib/api/hotswap/common.js +2 -14
  64. package/lib/api/hotswap/ecs-services.d.ts +3 -2
  65. package/lib/api/hotswap/ecs-services.js +7 -5
  66. package/lib/api/hotswap/lambda-functions.d.ts +3 -2
  67. package/lib/api/hotswap/lambda-functions.js +47 -65
  68. package/lib/api/hotswap/s3-bucket-deployments.d.ts +4 -8
  69. package/lib/api/hotswap/s3-bucket-deployments.js +18 -17
  70. package/lib/api/hotswap/stepfunctions-state-machines.d.ts +3 -2
  71. package/lib/api/hotswap/stepfunctions-state-machines.js +8 -6
  72. package/lib/api/logs/find-cloudwatch-logs.d.ts +2 -2
  73. package/lib/api/logs/find-cloudwatch-logs.js +6 -7
  74. package/lib/api/logs/logs-monitor.d.ts +28 -5
  75. package/lib/api/logs/logs-monitor.js +51 -30
  76. package/lib/api/resource-import/importer.d.ts +6 -8
  77. package/lib/api/resource-import/importer.js +12 -13
  78. package/lib/api/resource-import/migrator.d.ts +5 -7
  79. package/lib/api/resource-import/migrator.js +7 -9
  80. package/lib/api/stack-events/stack-activity-monitor.d.ts +5 -64
  81. package/lib/api/stack-events/stack-activity-monitor.js +9 -30
  82. package/lib/api/stack-events/stack-progress-monitor.d.ts +2 -15
  83. package/lib/api/stack-events/stack-progress-monitor.js +1 -1
  84. package/lib/api/toolkit-info.d.ts +3 -3
  85. package/lib/api/toolkit-info.js +5 -5
  86. package/lib/api/util/template-body-parameter.d.ts +1 -1
  87. package/lib/api/util/template-body-parameter.js +1 -1
  88. package/lib/api/work-graph/work-graph-builder.d.ts +4 -5
  89. package/lib/api/work-graph/work-graph-builder.js +5 -6
  90. package/lib/api/work-graph/work-graph-types.d.ts +2 -2
  91. package/lib/api/work-graph/work-graph-types.js +1 -1
  92. package/lib/api/work-graph/work-graph.d.ts +4 -9
  93. package/lib/api/work-graph/work-graph.js +6 -7
  94. package/lib/cli/activity-printer/base.d.ts +5 -6
  95. package/lib/cli/activity-printer/base.js +6 -5
  96. package/lib/cli/activity-printer/current.d.ts +2 -1
  97. package/lib/cli/activity-printer/current.js +1 -1
  98. package/lib/cli/activity-printer/history.d.ts +3 -2
  99. package/lib/cli/activity-printer/history.js +1 -1
  100. package/lib/cli/cdk-toolkit.d.ts +7 -7
  101. package/lib/cli/cdk-toolkit.js +26 -22
  102. package/lib/cli/ci-systems.d.ts +29 -0
  103. package/lib/cli/ci-systems.js +62 -0
  104. package/lib/cli/cli.d.ts +1 -1
  105. package/lib/cli/cli.js +27 -8
  106. package/lib/cli/convert-to-user-input.js +1 -1
  107. package/lib/cli/messages.d.ts +11 -9
  108. package/lib/cli/messages.js +7 -14
  109. package/lib/cli/parse-command-line-arguments.js +1 -1
  110. package/lib/cli/user-configuration.js +1 -1
  111. package/lib/cli/user-input.js +1 -1
  112. package/lib/commands/context.d.ts +1 -1
  113. package/lib/commands/context.js +1 -1
  114. package/lib/commands/migrate.d.ts +1 -1
  115. package/lib/commands/migrate.js +1 -1
  116. package/lib/context-providers/ami.d.ts +1 -1
  117. package/lib/context-providers/ami.js +1 -1
  118. package/lib/context-providers/availability-zones.d.ts +1 -1
  119. package/lib/context-providers/availability-zones.js +1 -1
  120. package/lib/context-providers/cc-api-provider.d.ts +1 -1
  121. package/lib/context-providers/cc-api-provider.js +1 -1
  122. package/lib/context-providers/endpoint-service-availability-zones.d.ts +1 -1
  123. package/lib/context-providers/endpoint-service-availability-zones.js +1 -1
  124. package/lib/context-providers/hosted-zones.d.ts +2 -2
  125. package/lib/context-providers/hosted-zones.js +1 -1
  126. package/lib/context-providers/index.d.ts +3 -3
  127. package/lib/context-providers/index.js +1 -1
  128. package/lib/context-providers/keys.d.ts +1 -1
  129. package/lib/context-providers/keys.js +1 -1
  130. package/lib/context-providers/load-balancers.d.ts +3 -3
  131. package/lib/context-providers/load-balancers.js +1 -1
  132. package/lib/context-providers/ssm-parameters.d.ts +1 -1
  133. package/lib/context-providers/ssm-parameters.js +1 -1
  134. package/lib/context-providers/vpcs.d.ts +1 -1
  135. package/lib/context-providers/vpcs.js +1 -1
  136. package/lib/diff.d.ts +1 -1
  137. package/lib/diff.js +1 -1
  138. package/lib/index.js +8764 -7741
  139. package/lib/legacy-logging-source.js +1 -1
  140. package/lib/list-stacks.d.ts +2 -2
  141. package/lib/list-stacks.js +1 -1
  142. package/lib/logging.d.ts +6 -4
  143. package/lib/logging.js +37 -34
  144. package/lib/notices.d.ts +22 -18
  145. package/lib/notices.js +46 -46
  146. package/lib/toolkit/cli-io-host.d.ts +53 -126
  147. package/lib/toolkit/cli-io-host.js +77 -78
  148. package/lib/tree.d.ts +1 -1
  149. package/lib/tree.js +1 -1
  150. package/package.json +4 -12
@@ -433,4 +433,4 @@ function convertConfigToUserInput(config) {
433
433
  };
434
434
  return userInput;
435
435
  }
436
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVydC10by11c2VyLWlucHV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY29udmVydC10by11c2VyLWlucHV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBU0EsMERBNFBDO0FBR0QsNERBaU1DO0FBamNELG9CQUFvQjtBQUNwQixTQUFnQix1QkFBdUIsQ0FBQyxJQUFTO0lBQy9DLE1BQU0sYUFBYSxHQUFrQjtRQUNuQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7UUFDYixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7UUFDakIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1FBQ3JCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtRQUNuQixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7UUFDakIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1FBQ25CLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztRQUNyQixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7UUFDL0IsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1FBQ2YsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1FBQ3JCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztRQUNqQixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87UUFDckIsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1FBQ2pCLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtRQUMvQixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7UUFDdkIsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjtRQUN2QyxZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7UUFDL0IsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhO1FBQ2pDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztRQUNyQixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87UUFDckIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1FBQ25CLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztR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UUFDckIsS0FBSyxFQUFFLE9BQUEsTUFBTSxDQUFDLE9BQU8sNENBQUUsS0FBSztRQUM1QixLQUFLLEVBQUUsT0FBQSxNQUFNLENBQUMsT0FBTyw0Q0FBRSxLQUFLO1FBQzVCLEtBQUssRUFBRSxPQUFBLE1BQU0sQ0FBQyxPQUFPLDRDQUFFLEtBQUs7S0FDN0IsQ0FBQztJQUNGLE1BQU0sV0FBVyxHQUFHO1FBQ2xCLE9BQU8sRUFBRSxPQUFBLE1BQU0sQ0FBQyxJQUFJLDRDQUFFLE9BQU87S0FDOUIsQ0FBQztJQUNGLE1BQU0sYUFBYSxHQUFHLEVBQUUsQ0FBQztJQUN6QixNQUFNLFNBQVMsR0FBYztRQUMzQixhQUFhO1FBQ2IsSUFBSSxFQUFFLFdBQVc7UUFDakIsS0FBSyxFQUFFLFlBQVk7UUFDbkIsU0FBUyxFQUFFLGdCQUFnQjtRQUMzQixFQUFFLEVBQUUsU0FBUztRQUNiLE1BQU0sRUFBRSxhQUFhO1FBQ3JCLFFBQVEsRUFBRSxlQUFlO1FBQ3pCLE1BQU0sRUFBRSxhQUFhO1FBQ3JCLEtBQUssRUFBRSxZQUFZO1FBQ25CLE9BQU8sRUFBRSxjQUFjO1FBQ3ZCLElBQUksRUFBRSxXQUFXO1FBQ2pCLFFBQVEsRUFBRSxlQUFlO1FBQ3pCLFdBQVcsRUFBRSxrQkFBa0I7UUFDL0IsT0FBTyxFQUFFLGNBQWM7UUFDdkIsSUFBSSxFQUFFLFdBQVc7UUFDakIsT0FBTyxFQUFFLGNBQWM7UUFDdkIsT0FBTyxFQUFFLGNBQWM7UUFDdkIsSUFBSSxFQUFFLFdBQVc7UUFDakIsTUFBTSxFQUFFLGFBQWE7S0FDdEIsQ0FBQztJQUVGLE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBHRU5FUkFURUQgRlJPTSBwYWNrYWdlcy9hd3MtY2RrL2xpYi9jbGkvY2xpLWNvbmZpZy50cy5cbi8vIERvIG5vdCBlZGl0IGJ5IGhhbmQ7IGFsbCBjaGFuZ2VzIHdpbGwgYmUgb3ZlcndyaXR0ZW4gYXQgYnVpbGQgdGltZSBmcm9tIHRoZSBjb25maWcgZmlsZS5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8qIGVzbGludC1kaXNhYmxlIEBzdHlsaXN0aWMvbWF4LWxlbiAqL1xuaW1wb3J0IHsgQ29tbWFuZCB9IGZyb20gJy4vdXNlci1jb25maWd1cmF0aW9uJztcbmltcG9ydCB7IFVzZXJJbnB1dCwgR2xvYmFsT3B0aW9ucyB9IGZyb20gJy4vdXNlci1pbnB1dCc7XG5cbi8vIEB0cy1pZ25vcmUgVFM2MTMzXG5leHBvcnQgZnVuY3Rpb24gY29udmVydFlhcmdzVG9Vc2VySW5wdXQoYXJnczogYW55KTogVXNlcklucHV0IHtcbiAgY29uc3QgZ2xvYmFsT3B0aW9uczogR2xvYmFsT3B0aW9ucyA9IHtcbiAgICBhcHA6IGFyZ3MuYXBwLFxuICAgIGJ1aWxkOiBhcmdzLmJ1aWxkLFxuICAgIGNvbnRleHQ6IGFyZ3MuY29udGV4dCxcbiAgICBwbHVnaW46IGFyZ3MucGx1Z2luLFxuICAgIHRyYWNlOiBhcmdzLnRyYWNlLFxuICAgIHN0cmljdDogYXJncy5zdHJpY3QsXG4gICAgbG9va3VwczogYXJncy5sb29rdXBzLFxuICAgIGlnbm9yZUVycm9yczogYXJncy5pZ25vcmVFcnJvcnMsXG4gICAganNvbjogYXJncy5qc29uLFxuICAgIHZlcmJvc2U6IGFyZ3MudmVyYm9zZSxcbiAgICBkZWJ1ZzogYXJncy5kZWJ1ZyxcbiAgICBwcm9maWxlOiBhcmdzLnByb2ZpbGUsXG4gICAgcHJveHk6IGFyZ3MucHJveHksXG4gICAgY2FCdW5kbGVQYXRoOiBhcmdzLmNhQnVuZGxlUGF0aCxcbiAgICBlYzJjcmVkczogYXJncy5lYzJjcmVkcyxcbiAgICB2ZXJzaW9uUmVwb3J0aW5nOiBhcmdzLnZlcnNpb25SZXBvcnRpbmcsXG4gICAgcGF0aE1ldGFkYXRhOiBhcmdzLnBhdGhNZXRhZGF0YSxcbiAgICBhc3NldE1ldGFkYXRhOiBhcmdzLmFzc2V0TWV0YWRhdGEsXG4gICAgcm9sZUFybjogYXJncy5yb2xlQXJuLFxuICAgIHN0YWdpbmc6IGFyZ3Muc3RhZ2luZyxcbiAgICBvdXRwdXQ6IGFyZ3Mub3V0cHV0LFxuICAgIG5vdGljZXM6IGFyZ3Mubm90aWNlcyxcbiAgICBub0NvbG9yOiBhcmdzLm5vQ29sb3IsXG4gICAgY2k6IGFyZ3MuY2ksXG4gICAgdW5zdGFibGU6IGFyZ3MudW5zdGFibGUsXG4gIH07XG4gIGxldCBjb21tYW5kT3B0aW9ucztcbiAgc3dpdGNoIChhcmdzLl9bMF0gYXMgQ29tbWFuZCkge1xuICAgIGNhc2UgJ2xpc3QnOlxuICAgIGNhc2UgJ2xzJzpcbiAgICAgIGNvbW1hbmRPcHRpb25zID0ge1xuICAgICAgICBsb25nOiBhcmdzLmxvbmcsXG4gICAgICAgIHNob3dEZXBlbmRlbmNpZXM6IGFyZ3Muc2hvd0RlcGVuZGVuY2llcyxcbiAgICAgICAgU1RBQ0tTOiBhcmdzLlNUQUNLUyxcbiAgICAgIH07XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ3N5bnRoJzpcbiAgICBjYXNlICdzeW50aGVzaXplJzpcbiAgICAgIGNvbW1hbmRPcHRpb25zID0ge1xuICAgICAgICBleGNsdXNpdmVseTogYXJncy5leGNsdXNpdmVseSxcbiAgICAgICAgdmFsaWRhdGlvbjogYXJncy52YWxpZGF0aW9uLFxuICAgICAgICBxdWlldDogYXJncy5xdWlldCxcbiAgICAgICAgU1RBQ0tTOiBhcmdzLlNUQUNLUyxcbiAgICAgIH07XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ2Jvb3RzdHJhcCc6XG4gICAgICBjb21tYW5kT3B0aW9ucyA9IHtcbiAgICAgICAgYm9vdHN0cmFwQnVja2V0TmFtZTogYXJncy5ib290c3RyYXBCdWNrZXROYW1lLFxuICAgICAgICBib290c3RyYXBLbXNLZXlJZDogYXJncy5ib290c3RyYXBLbXNLZXlJZCxcbiAgICAgICAgZXhhbXBsZVBlcm1pc3Npb25zQm91bmRhcnk6IGFyZ3MuZXhhbXBsZVBlcm1pc3Npb25zQm91bmRhcnksXG4gICAgICAgIGN1c3RvbVBlcm1pc3Npb25zQm91bmRhcnk6IGFyZ3MuY3VzdG9tUGVybWlzc2lvbnNCb3VuZGFyeSxcbiAgICAgICAgYm9vdHN0cmFwQ3VzdG9tZXJLZXk6IGFyZ3MuYm9vdHN0cmFwQ3VzdG9tZXJLZXksXG4gICAgICAgIHF1YWxpZmllcjogYXJncy5xdWFsaWZpZXIsXG4gICAgICAgIHB1YmxpY0FjY2Vzc0Jsb2NrQ29uZmlndXJhdGlvbjogYXJncy5wdWJsaWNBY2Nlc3NCbG9ja0NvbmZpZ3VyYXRpb24sXG4gICAgICAgIHRhZ3M6IGFyZ3MudGFncyxcbiAgICAgICAgZXhlY3V0ZTogYXJncy5leGVjdXRlLFxuICAgICAgICB0cnVzdDogYXJncy50cnVzdCxcbiAgICAgICAgdHJ1c3RGb3JMb29rdXA6IGFyZ3MudHJ1c3RGb3JMb29rdXAsXG4gICAgICAgIHVudHJ1c3Q6IGFyZ3MudW50cnVzdCxcbiAgICAgICAgY2xvdWRmb3JtYXRpb25FeGVjdXRpb25Qb2xpY2llczogYXJncy5jbG91ZGZvcm1hdGlvbkV4ZWN1dGlvblBvbGljaWVzLFxuICAgICAgICBmb3JjZTogYXJncy5mb3JjZSxcbiAgICAgICAgdGVybWluYXRpb25Qcm90ZWN0aW9uOiBhcmdzLnRlcm1pbmF0aW9uUHJvdGVjdGlvbixcbiAgICAgICAgc2hvd1RlbXBsYXRlOiBhcmdzLnNob3dUZW1wbGF0ZSxcbiAgICAgICAgdG9vbGtpdFN0YWNrTmFtZTogYXJncy50b29sa2l0U3RhY2tOYW1lLFxuICAgICAgICB0ZW1wbGF0ZTogYXJncy50ZW1wbGF0ZSxcbiAgICAgICAgcHJldmlvdXNQYXJhbWV0ZXJzOiBhcmdzLnByZXZpb3VzUGFyYW1ldGVycyxcbiAgICAgICAgRU5WSVJPTk1FTlRTOiBhcmdzLkVOVklST05NRU5UUyxcbiAgICAgIH07XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ2djJzpcbiAgICAgIGNvbW1hbmRPcHRpb25zID0ge1xuICAgICAgICBhY3Rpb246IGFyZ3MuYWN0aW9uLFxuICAgICAgICB0eXBlOiBhcmdzLnR5cGUsXG4gICAgICAgIHJvbGxiYWNrQnVmZmVyRGF5czogYXJncy5yb2xsYmFja0J1ZmZlckRheXMsXG4gICAgICAgIGNyZWF0ZWRCdWZmZXJEYXlzOiBhcmdzLmNyZWF0ZWRCdWZmZXJEYXlzLFxuICAgICAgICBjb25maXJtOiBhcmdzLmNvbmZpcm0sXG4gICAgICAgIGJvb3RzdHJhcFN0YWNrTmFtZTogYXJncy5ib290c3RyYXBTdGFja05hbWUsXG4gICAgICAgIEVOVklST05NRU5UUzogYXJncy5FTlZJUk9OTUVOVFMsXG4gICAgICB9O1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdkZXBsb3knOlxuICAgICAgY29tbWFuZE9wdGlvbnMgPSB7XG4gICAgICAgIGFsbDogYXJncy5hbGwsXG4gICAgICAgIGJ1aWxkRXhjbHVkZTogYXJncy5idWlsZEV4Y2x1ZGUsXG4gICAgICAgIGV4Y2x1c2l2ZWx5OiBhcmdzLmV4Y2x1c2l2ZWx5LFxuICAgICAgICByZXF1aXJlQXBwcm92YWw6IGFyZ3MucmVxdWlyZUFwcHJvdmFsLFxuICAgICAgICBub3RpZmljYXRpb25Bcm5zOiBhcmdzLm5vdGlmaWNhdGlvbkFybnMsXG4gICAgICAgIHRhZ3M6IGFyZ3MudGFncyxcbiAgICAgICAgZXhlY3V0ZTogYXJncy5leGVjdXRlLFxuICAgICAgICBjaGFuZ2VTZXROYW1lOiBhcmdzLmNoYW5nZVNldE5hbWUsXG4gICAgICAgIG1ldGhvZDogYXJncy5tZXRob2QsXG4gICAgICAgIGltcG9ydEV4aXN0aW5nUmVzb3VyY2VzOiBhcmdzLmltcG9ydEV4aXN0aW5nUmVzb3VyY2VzLFxuICAgICAgICBmb3JjZTogYXJncy5mb3JjZSxcbiAgICAgICAgcGFyYW1ldGVyczogYXJncy5wYXJhbWV0ZXJzLFxuICAgICAgICBvdXRwdXRzRmlsZTogYXJncy5vdXRwdXRzRmlsZSxcbiAgICAgICAgcHJldmlvdXNQYXJhbWV0ZXJzOiBhcmdzLnByZXZpb3VzUGFyYW1ldGVycyxcbiAgICAgICAgdG9vbGtpdFN0YWNrTmFtZTogYXJncy50b29sa2l0U3RhY2tOYW1lLFxuICAgICAgICBwcm9ncmVzczogYXJncy5wcm9ncmVzcyxcbiAgICAgICAgcm9sbGJhY2s6IGFyZ3Mucm9sbGJhY2ssXG4gICAgICAgIGhvdHN3YXA6IGFyZ3MuaG90c3dhcCxcbiAgICAgICAgaG90c3dhcEZhbGxiYWNrOiBhcmdzLmhvdHN3YXBGYWxsYmFjayxcbiAgICAgICAgd2F0Y2g6IGFyZ3Mud2F0Y2gsXG4gICAgICAgIGxvZ3M6IGFyZ3MubG9ncyxcbiAgICAgICAgY29uY3VycmVuY3k6IGFyZ3MuY29uY3VycmVuY3ksXG4gICAgICAgIGFzc2V0UGFyYWxsZWxpc206IGFyZ3MuYXNzZXRQYXJhbGxlbGlzbSxcbiAgICAgICAgYXNzZXRQcmVidWlsZDogYXJncy5hc3NldFByZWJ1aWxkLFxuICAgICAgICBpZ25vcmVOb1N0YWNrczogYXJncy5pZ25vcmVOb1N0YWNrcyxcbiAgICAgICAgU1RBQ0tTOiBhcmdzLlNUQUNLUyxcbiAgICAgIH07XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ3JvbGxiYWNrJzpcbiAgICAgIGNvbW1hbmRPcHRpb25zID0ge1xuICAgICAgICBhbGw6IGFyZ3MuYWxsLFxuICAgICAgICB0b29sa2l0U3RhY2tOYW1lOiBhcmdzLnRvb2xraXRTdGFja05hbWUsXG4gICAgICAgIGZvcmNlOiBhcmdzLmZvcmNlLFxuICAgICAgICB2YWxpZGF0ZUJvb3RzdHJhcFZlcnNpb246IGFyZ3MudmFsaWRhdGVCb290c3RyYXBWZXJzaW9uLFxuICAgICAgICBvcnBoYW46IGFyZ3Mub3JwaGFuLFxuICAgICAgICBTVEFDS1M6IGFyZ3MuU1RBQ0tTLFxuICAgICAgfTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnaW1wb3J0JzpcbiAgICAgIGNvbW1hbmRPcHRpb25zID0ge1xuICAgICAgICBleGVjdXRlOiBhcmdzLmV4ZWN1dGUsXG4gICAgICAgIGNoYW5nZVNldE5hbWU6IGFyZ3MuY2hhbmdlU2V0TmFtZSxcbiAgICAgICAgdG9vbGtpdFN0YWNrTmFtZTogYXJncy50b29sa2l0U3RhY2tOYW1lLFxuICAgICAgICByb2xsYmFjazogYXJncy5yb2xsYmFjayxcbiAgICAgICAgZm9yY2U6IGFyZ3MuZm9yY2UsXG4gICAgICAgIHJlY29yZFJlc291cmNlTWFwcGluZzogYXJncy5yZWNvcmRSZXNvdXJjZU1hcHBpbmcsXG4gICAgICAgIHJlc291cmNlTWFwcGluZzogYXJncy5yZXNvdXJjZU1hcHBpbmcsXG4gICAgICAgIFNUQUNLOiBhcmdzLlNUQUNLLFxuICAgICAgfTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnd2F0Y2gnOlxuICAgICAgY29tbWFuZE9wdGlvbnMgPSB7XG4gICAgICAgIGJ1aWxkRXhjbHVkZTogYXJncy5idWlsZEV4Y2x1ZGUsXG4gICAgICAgIGV4Y2x1c2l2ZWx5OiBhcmdzLmV4Y2x1c2l2ZWx5LFxuICAgICAgICBjaGFuZ2VTZXROYW1lOiBhcmdzLmNoYW5nZVNldE5hbWUsXG4gICAgICAgIGZvcmNlOiBhcmdzLmZvcmNlLFxuICAgICAgICB0b29sa2l0U3RhY2tOYW1lOiBhcmdzLnRvb2xraXRTdGFja05hbWUsXG4gICAgICAgIHByb2dyZXNzOiBhcmdzLnByb2dyZXNzLFxuICAgICAgICByb2xsYmFjazogYXJncy5yb2xsYmFjayxcbiAgICAgICAgaG90c3dhcDogYXJncy5ob3Rzd2FwLFxuICAgICAgICBob3Rzd2FwRmFsbGJhY2s6IGFyZ3MuaG90c3dhcEZhbGxiYWNrLFxuICAgICAgICBsb2dzOiBhcmdzLmxvZ3MsXG4gICAgICAgIGNvbmN1cnJlbmN5OiBhcmdzLmNvbmN1cnJlbmN5LFxuICAgICAgICBTVEFDS1M6IGFyZ3MuU1RBQ0tTLFxuICAgICAgfTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnZGVzdHJveSc6XG4gICAgICBjb21tYW5kT3B0aW9ucyA9IHtcbiAgICAgICAgYWxsOiBhcmdzLmFsbCxcbiAgICAgICAgZXhjbHVzaXZlbHk6IGFyZ3MuZXhjbHVzaXZlbHksXG4gICAgICAgIGZvcmNlOiBhcmdzLmZvcmNlLFxuICAgICAgICBTVEFDS1M6IGFyZ3MuU1RBQ0tTLFxuICAgICAgfTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnZGlmZic6XG4gICAgICBjb21tYW5kT3B0aW9ucyA9IHtcbiAgICAgICAgZXhjbHVzaXZlbHk6IGFyZ3MuZXhjbHVzaXZlbHksXG4gICAgICAgIGNvbnRleHRMaW5lczogYXJncy5jb250ZXh0TGluZXMsXG4gICAgICAgIHRlbXBsYXRlOiBhcmdzLnRlbXBsYXRlLFxuICAgICAgICBzdHJpY3Q6IGFyZ3Muc3RyaWN0LFxuICAgICAgICBzZWN1cml0eU9ubHk6IGFyZ3Muc2VjdXJpdHlPbmx5LFxuICAgICAgICBmYWlsOiBhcmdzLmZhaWwsXG4gICAgICAgIHByb2Nlc3NlZDogYXJncy5wcm9jZXNzZWQsXG4gICAgICAgIHF1aWV0OiBhcmdzLnF1aWV0LFxuICAgICAgICBjaGFuZ2VTZXQ6IGFyZ3MuY2hhbmdlU2V0LFxuICAgICAgICBTVEFDS1M6IGFyZ3MuU1RBQ0tTLFxuICAgICAgfTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnbWV0YWRhdGEnOlxuICAgICAgY29tbWFuZE9wdGlvbnMgPSB7XG4gICAgICAgIFNUQUNLOiBhcmdzLlNUQUNLLFxuICAgICAgfTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnYWNrbm93bGVkZ2UnOlxuICAgIGNhc2UgJ2Fjayc6XG4gICAgICBjb21tYW5kT3B0aW9ucyA9IHtcbiAgICAgICAgSUQ6IGFyZ3MuSUQsXG4gICAgICB9O1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdub3RpY2VzJzpcbiAgICAgIGNvbW1hbmRPcHRpb25zID0ge1xuICAgICAgICB1bmFja25vd2xlZGdlZDogYXJncy51bmFja25vd2xlZGdlZCxcbiAgICAgIH07XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ2luaXQnOlxuICAgICAgY29tbWFuZE9wdGlvbnMgPSB7XG4gICAgICAgIGxhbmd1YWdlOiBhcmdzLmxhbmd1YWdlLFxuICAgICAgICBsaXN0OiBhcmdzLmxpc3QsXG4gICAgICAgIGdlbmVyYXRlT25seTogYXJncy5nZW5lcmF0ZU9ubHksXG4gICAgICAgIGxpYlZlcnNpb246IGFyZ3MubGliVmVyc2lvbixcbiAgICAgICAgVEVNUExBVEU6IGFyZ3MuVEVNUExBVEUsXG4gICAgICB9O1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdtaWdyYXRlJzpcbiAgICAgIGNvbW1hbmRPcHRpb25zID0ge1xuICAgICAgICBzdGFja05hbWU6IGFyZ3Muc3RhY2tOYW1lLFxuICAgICAgICBsYW5ndWFnZTogYXJncy5sYW5ndWFnZSxcbiAgICAgICAgYWNjb3VudDogYXJncy5hY2NvdW50LFxuICAgICAgICByZWdpb246IGFyZ3MucmVnaW9uLFxuICAgICAgICBmcm9tUGF0aDogYXJncy5mcm9tUGF0aCxcbiAgICAgICAgZnJvbVN0YWNrOiBhcmdzLmZyb21TdGFjayxcbiAgICAgICAgb3V0cHV0UGF0aDogYXJncy5vdXRwdXRQYXRoLFxuICAgICAgICBmcm9tU2NhbjogYXJncy5mcm9tU2NhbixcbiAgICAgICAgZmlsdGVyOiBhcmdzLmZpbHRlcixcbiAgICAgICAgY29tcHJlc3M6IGFyZ3MuY29tcHJlc3MsXG4gICAgICB9O1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdjb250ZXh0JzpcbiAgICAgIGNvbW1hbmRPcHRpb25zID0ge1xuICAgICAgICByZXNldDogYXJncy5yZXNldCxcbiAgICAgICAgZm9yY2U6IGFyZ3MuZm9yY2UsXG4gICAgICAgIGNsZWFyOiBhcmdzLmNsZWFyLFxuICAgICAgfTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnZG9jcyc6XG4gICAgY2FzZSAnZG9jJzpcbiAgICAgIGNvbW1hbmRPcHRpb25zID0ge1xuICAgICAgICBicm93c2VyOiBhcmdzLmJyb3dzZXIsXG4gICAgICB9O1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdkb2N0b3InOlxuICAgICAgY29tbWFuZE9wdGlvbnMgPSB7fTtcbiAgICAgIGJyZWFrO1xuICB9XG4gIGNvbnN0IHVzZXJJbnB1dDogVXNlcklucHV0ID0ge1xuICAgIGNvbW1hbmQ6IGFyZ3MuX1swXSxcbiAgICBnbG9iYWxPcHRpb25zLFxuICAgIFthcmdzLl9bMF1dOiBjb21tYW5kT3B0aW9ucyxcbiAgfTtcblxuICByZXR1cm4gdXNlcklucHV0O1xufVxuXG4vLyBAdHMtaWdub3JlIFRTNjEzM1xuZXhwb3J0IGZ1bmN0aW9uIGNvbnZlcnRDb25maWdUb1VzZXJJbnB1dChjb25maWc6IGFueSk6IFVzZXJJbnB1dCB7XG4gIGNvbnN0IGdsb2JhbE9wdGlvbnM6IEdsb2JhbE9wdGlvbnMgPSB7XG4gICAgYXBwOiBjb25maWcuYXBwLFxuICAgIGJ1aWxkOiBjb25maWcuYnVpbGQsXG4gICAgY29udGV4dDogY29uZmlnLmNvbnRleHQsXG4gICAgcGx1Z2luOiBjb25maWcucGx1Z2luLFxuICAgIHRyYWNlOiBjb25maWcudHJhY2UsXG4gICAgc3RyaWN0OiBjb25maWcuc3RyaWN0LFxuICAgIGxvb2t1cHM6IGNvbmZpZy5sb29rdXBzLFxuICAgIGlnbm9yZUVycm9yczogY29uZmlnLmlnbm9yZUVycm9ycyxcbiAgICBqc29uOiBjb25maWcuanNvbixcbiAgICB2ZXJib3NlOiBjb25maWcudmVyYm9zZSxcbiAgICBkZWJ1ZzogY29uZmlnLmRlYnVnLFxuICAgIHByb2ZpbGU6IGNvbmZpZy5wcm9maWxlLFxuICAgIHByb3h5OiBjb25maWcucHJveHksXG4gICAgY2FCdW5kbGVQYXRoOiBjb25maWcuY2FCdW5kbGVQYXRoLFxuICAgIGVjMmNyZWRzOiBjb25maWcuZWMyY3JlZHMsXG4gICAgdmVyc2lvblJlcG9ydGluZzogY29uZmlnLnZlcnNpb25SZXBvcnRpbmcsXG4gICAgcGF0aE1ldGFkYXRhOiBjb25maWcucGF0aE1ldGFkYXRhLFxuICAgIGFzc2V0TWV0YWRhdGE6IGNvbmZpZy5hc3NldE1ldGFkYXRhLFxuICAgIHJvbGVBcm46IGNvbmZpZy5yb2xlQXJuLFxuICAgIHN0YWdpbmc6IGNvbmZpZy5zdGFnaW5nLFxuICAgIG91dHB1dDogY29uZmlnLm91dHB1dCxcbiAgICBub3RpY2VzOiBjb25maWcubm90aWNlcyxcbiAgICBub0NvbG9yOiBjb25maWcubm9Db2xvcixcbiAgICBjaTogY29uZmlnLmNpLFxuICAgIHVuc3RhYmxlOiBjb25maWcudW5zdGFibGUsXG4gIH07XG4gIGNvbnN0IGxpc3RPcHRpb25zID0ge1xuICAgIGxvbmc6IGNvbmZpZy5saXN0Py5sb25nLFxuICAgIHNob3dEZXBlbmRlbmNpZXM6IGNvbmZpZy5saXN0Py5zaG93RGVwZW5kZW5jaWVzLFxuICB9O1xuICBjb25zdCBzeW50aE9wdGlvbnMgPSB7XG4gICAgZXhjbHVzaXZlbHk6IGNvbmZpZy5zeW50aD8uZXhjbHVzaXZlbHksXG4gICAgdmFsaWRhdGlvbjogY29uZmlnLnN5bnRoPy52YWxpZGF0aW9uLFxuICAgIHF1aWV0OiBjb25maWcuc3ludGg/LnF1aWV0LFxuICB9O1xuICBjb25zdCBib290c3RyYXBPcHRpb25zID0ge1xuICAgIGJvb3RzdHJhcEJ1Y2tldE5hbWU6IGNvbmZpZy5ib290c3RyYXA/LmJvb3RzdHJhcEJ1Y2tldE5hbWUsXG4gICAgYm9vdHN0cmFwS21zS2V5SWQ6IGNvbmZpZy5ib290c3RyYXA/LmJvb3RzdHJhcEttc0tleUlkLFxuICAgIGV4YW1wbGVQZXJtaXNzaW9uc0JvdW5kYXJ5OiBjb25maWcuYm9vdHN0cmFwPy5leGFtcGxlUGVybWlzc2lvbnNCb3VuZGFyeSxcbiAgICBjdXN0b21QZXJtaXNzaW9uc0JvdW5kYXJ5OiBjb25maWcuYm9vdHN0cmFwPy5jdXN0b21QZXJtaXNzaW9uc0JvdW5kYXJ5LFxuICAgIGJvb3RzdHJhcEN1c3RvbWVyS2V5OiBjb25maWcuYm9vdHN0cmFwPy5ib290c3RyYXBDdXN0b21lcktleSxcbiAgICBxdWFsaWZpZXI6IGNvbmZpZy5ib290c3RyYXA/LnF1YWxpZmllcixcbiAgICBwdWJsaWNBY2Nlc3NCbG9ja0NvbmZpZ3VyYXRpb246IGNvbmZpZy5ib290c3RyYXA/LnB1YmxpY0FjY2Vzc0Jsb2NrQ29uZmlndXJhdGlvbixcbiAgICB0YWdzOiBjb25maWcuYm9vdHN0cmFwPy50YWdzLFxuICAgIGV4ZWN1dGU6IGNvbmZpZy5ib290c3RyYXA/LmV4ZWN1dGUsXG4gICAgdHJ1c3Q6IGNvbmZpZy5ib290c3RyYXA/LnRydXN0LFxuICAgIHRydXN0Rm9yTG9va3VwOiBjb25maWcuYm9vdHN0cmFwPy50cnVzdEZvckxvb2t1cCxcbiAgICB1bnRydXN0OiBjb25maWcuYm9vdHN0cmFwPy51bnRydXN0LFxuICAgIGNsb3VkZm9ybWF0aW9uRXhlY3V0aW9uUG9saWNpZXM6IGNvbmZpZy5ib290c3RyYXA/LmNsb3VkZm9ybWF0aW9uRXhlY3V0aW9uUG9saWNpZXMsXG4gICAgZm9yY2U6IGNvbmZpZy5ib290c3RyYXA/LmZvcmNlLFxuICAgIHRlcm1pbmF0aW9uUHJvdGVjdGlvbjogY29uZmlnLmJvb3RzdHJhcD8udGVybWluYXRpb25Qcm90ZWN0aW9uLFxuICAgIHNob3dUZW1wbGF0ZTogY29uZmlnLmJvb3RzdHJhcD8uc2hvd1RlbXBsYXRlLFxuICAgIHRvb2xraXRTdGFja05hbWU6IGNvbmZpZy5ib290c3RyYXA/LnRvb2xraXRTdGFja05hbWUsXG4gICAgdGVtcGxhdGU6IGNvbmZpZy5ib290c3RyYXA/LnRlbXBsYXRlLFxuICAgIHByZXZpb3VzUGFyYW1ldGVyczogY29uZmlnLmJvb3RzdHJhcD8ucHJldmlvdXNQYXJhbWV0ZXJzLFxuICB9O1xuICBjb25zdCBnY09wdGlvbnMgPSB7XG4gICAgYWN0aW9uOiBjb25maWcuZ2M/LmFjdGlvbixcbiAgICB0eXBlOiBjb25maWcuZ2M/LnR5cGUsXG4gICAgcm9sbGJhY2tCdWZmZXJEYXlzOiBjb25maWcuZ2M/LnJvbGxiYWNrQnVmZmVyRGF5cyxcbiAgICBjcmVhdGVkQnVmZmVyRGF5czogY29uZmlnLmdjPy5jcmVhdGVkQnVmZmVyRGF5cyxcbiAgICBjb25maXJtOiBjb25maWcuZ2M/LmNvbmZpcm0sXG4gICAgYm9vdHN0cmFwU3RhY2tOYW1lOiBjb25maWcuZ2M/LmJvb3RzdHJhcFN0YWNrTmFtZSxcbiAgfTtcbiAgY29uc3QgZGVwbG95T3B0aW9ucyA9IHtcbiAgICBhbGw6IGNvbmZpZy5kZXBsb3k/LmFsbCxcbiAgICBidWlsZEV4Y2x1ZGU6IGNvbmZpZy5kZXBsb3k/LmJ1aWxkRXhjbHVkZSxcbiAgICBleGNsdXNpdmVseTogY29uZmlnLmRlcGxveT8uZXhjbHVzaXZlbHksXG4gICAgcmVxdWlyZUFwcHJvdmFsOiBjb25maWcuZGVwbG95Py5yZXF1aXJlQXBwcm92YWwsXG4gICAgbm90aWZpY2F0aW9uQXJuczogY29uZmlnLmRlcGxveT8ubm90aWZpY2F0aW9uQXJucyxcbiAgICB0YWdzOiBjb25maWcuZGVwbG95Py50YWdzLFxuICAgIGV4ZWN1dGU6IGNvbmZpZy5kZXBsb3k/LmV4ZWN1dGUsXG4gICAgY2hhbmdlU2V0TmFtZTogY29uZmlnLmRlcGxveT8uY2hhbmdlU2V0TmFtZSxcbiAgICBtZXRob2Q6IGNvbmZpZy5kZXBsb3k/Lm1ldGhvZCxcbiAgICBpbXBvcnRFeGlzdGluZ1Jlc291cmNlczogY29uZmlnLmRlcGxveT8uaW1wb3J0RXhpc3RpbmdSZXNvdXJjZXMsXG4gICAgZm9yY2U6IGNvbmZpZy5kZXBsb3k/LmZvcmNlLFxuICAgIHBhcmFtZXRlcnM6IGNvbmZpZy5kZXBsb3k/LnBhcmFtZXRlcnMsXG4gICAgb3V0cHV0c0ZpbGU6IGNvbmZpZy5kZXBsb3k/Lm91dHB1dHNGaWxlLFxuICAgIHByZXZpb3VzUGFyYW1ldGVyczogY29uZmlnLmRlcGxveT8ucHJldmlvdXNQYXJhbWV0ZXJzLFxuICAgIHRvb2xraXRTdGFja05hbWU6IGNvbmZpZy5kZXBsb3k/LnRvb2xraXRTdGFja05hbWUsXG4gICAgcHJvZ3Jlc3M6IGNvbmZpZy5kZXBsb3k/LnByb2dyZXNzLFxuICAgIHJvbGxiYWNrOiBjb25maWcuZGVwbG95Py5yb2xsYmFjayxcbiAgICBob3Rzd2FwOiBjb25maWcuZGVwbG95Py5ob3Rzd2FwLFxuICAgIGhvdHN3YXBGYWxsYmFjazogY29uZmlnLmRlcGxveT8uaG90c3dhcEZhbGxiYWNrLFxuICAgIHdhdGNoOiBjb25maWcuZGVwbG95Py53YXRjaCxcbiAgICBsb2dzOiBjb25maWcuZGVwbG95Py5sb2dzLFxuICAgIGNvbmN1cnJlbmN5OiBjb25maWcuZGVwbG95Py5jb25jdXJyZW5jeSxcbiAgICBhc3NldFBhcmFsbGVsaXNtOiBjb25maWcuZGVwbG95Py5hc3NldFBhcmFsbGVsaXNtLFxuICAgIGFzc2V0UHJlYnVpbGQ6IGNvbmZpZy5kZXBsb3k/LmFzc2V0UHJlYnVpbGQsXG4gICAgaWdub3JlTm9TdGFja3M6IGNvbmZpZy5kZXBsb3k/Lmlnbm9yZU5vU3RhY2tzLFxuICB9O1xuICBjb25zdCByb2xsYmFja09wdGlvbnMgPSB7XG4gICAgYWxsOiBjb25maWcucm9sbGJhY2s/LmFsbCxcbiAgICB0b29sa2l0U3RhY2tOYW1lOiBjb25maWcucm9sbGJhY2s/LnRvb2xraXRTdGFja05hbWUsXG4gICAgZm9yY2U6IGNvbmZpZy5yb2xsYmFjaz8uZm9yY2UsXG4gICAgdmFsaWRhdGVCb290c3RyYXBWZXJzaW9uOiBjb25maWcucm9sbGJhY2s/LnZhbGlkYXRlQm9vdHN0cmFwVmVyc2lvbixcbiAgICBvcnBoYW46IGNvbmZpZy5yb2xsYmFjaz8ub3JwaGFuLFxuICB9O1xuICBjb25zdCBpbXBvcnRPcHRpb25zID0ge1xuICAgIGV4ZWN1dGU6IGNvbmZpZy5pbXBvcnQ/LmV4ZWN1dGUsXG4gICAgY2hhbmdlU2V0TmFtZTogY29uZmlnLmltcG9ydD8uY2hhbmdlU2V0TmFtZSxcbiAgICB0b29sa2l0U3RhY2tOYW1lOiBjb25maWcuaW1wb3J0Py50b29sa2l0U3RhY2tOYW1lLFxuICAgIHJvbGxiYWNrOiBjb25maWcuaW1wb3J0Py5yb2xsYmFjayxcbiAgICBmb3JjZTogY29uZmlnLmltcG9ydD8uZm9yY2UsXG4gICAgcmVjb3JkUmVzb3VyY2VNYXBwaW5nOiBjb25maWcuaW1wb3J0Py5yZWNvcmRSZXNvdXJjZU1hcHBpbmcsXG4gICAgcmVzb3VyY2VNYXBwaW5nOiBjb25maWcuaW1wb3J0Py5yZXNvdXJjZU1hcHBpbmcsXG4gIH07XG4gIGNvbnN0IHdhdGNoT3B0aW9ucyA9IHtcbiAgICBidWlsZEV4Y2x1ZGU6IGNvbmZpZy53YXRjaD8uYnVpbGRFeGNsdWRlLFxuICAgIGV4Y2x1c2l2ZWx5OiBjb25maWcud2F0Y2g/LmV4Y2x1c2l2ZWx5LFxuICAgIGNoYW5nZVNldE5hbWU6IGNvbmZpZy53YXRjaD8uY2hhbmdlU2V0TmFtZSxcbiAgICBmb3JjZTogY29uZmlnLndhdGNoPy5mb3JjZSxcbiAgICB0b29sa2l0U3RhY2tOYW1lOiBjb25maWcud2F0Y2g/LnRvb2xraXRTdGFja05hbWUsXG4gICAgcHJvZ3Jlc3M6IGNvbmZpZy53YXRjaD8ucHJvZ3Jlc3MsXG4gICAgcm9sbGJhY2s6IGNvbmZpZy53YXRjaD8ucm9sbGJhY2ssXG4gICAgaG90c3dhcDogY29uZmlnLndhdGNoPy5ob3Rzd2FwLFxuICAgIGhvdHN3YXBGYWxsYmFjazogY29uZmlnLndhdGNoPy5ob3Rzd2FwRmFsbGJhY2ssXG4gICAgbG9nczogY29uZmlnLndhdGNoPy5sb2dzLFxuICAgIGNvbmN1cnJlbmN5OiBjb25maWcud2F0Y2g/LmNvbmN1cnJlbmN5LFxuICB9O1xuICBjb25zdCBkZXN0cm95T3B0aW9ucyA9IHtcbiAgICBhbGw6IGNvbmZpZy5kZXN0cm95Py5hbGwsXG4gICAgZXhjbHVzaXZlbHk6IGNvbmZpZy5kZXN0cm95Py5leGNsdXNpdmVseSxcbiAgICBmb3JjZTogY29uZmlnLmRlc3Ryb3k/LmZvcmNlLFxuICB9O1xuICBjb25zdCBkaWZmT3B0aW9ucyA9IHtcbiAgICBleGNsdXNpdmVseTogY29uZmlnLmRpZmY/LmV4Y2x1c2l2ZWx5LFxuICAgIGNvbnRleHRMaW5lczogY29uZmlnLmRpZmY/LmNvbnRleHRMaW5lcyxcbiAgICB0ZW1wbGF0ZTogY29uZmlnLmRpZmY/LnRlbXBsYXRlLFxuICAgIHN0cmljdDogY29uZmlnLmRpZmY/LnN0cmljdCxcbiAgICBzZWN1cml0eU9ubHk6IGNvbmZpZy5kaWZmPy5zZWN1cml0eU9ubHksXG4gICAgZmFpbDogY29uZmlnLmRpZmY/LmZhaWwsXG4gICAgcHJvY2Vzc2VkOiBjb25maWcuZGlmZj8ucHJvY2Vzc2VkLFxuICAgIHF1aWV0OiBjb25maWcuZGlmZj8ucXVpZXQsXG4gICAgY2hhbmdlU2V0OiBjb25maWcuZGlmZj8uY2hhbmdlU2V0LFxuICB9O1xuICBjb25zdCBtZXRhZGF0YU9wdGlvbnMgPSB7fTtcbiAgY29uc3QgYWNrbm93bGVkZ2VPcHRpb25zID0ge307XG4gIGNvbnN0IG5vdGljZXNPcHRpb25zID0ge1xuICAgIHVuYWNrbm93bGVkZ2VkOiBjb25maWcubm90aWNlcz8udW5hY2tub3dsZWRnZWQsXG4gIH07XG4gIGNvbnN0IGluaXRPcHRpb25zID0ge1xuICAgIGxhbmd1YWdlOiBjb25maWcuaW5pdD8ubGFuZ3VhZ2UsXG4gICAgbGlzdDogY29uZmlnLmluaXQ/Lmxpc3QsXG4gICAgZ2VuZXJhdGVPbmx5OiBjb25maWcuaW5pdD8uZ2VuZXJhdGVPbmx5LFxuICAgIGxpYlZlcnNpb246IGNvbmZpZy5pbml0Py5saWJWZXJzaW9uLFxuICB9O1xuICBjb25zdCBtaWdyYXRlT3B0aW9ucyA9IHtcbiAgICBzdGFja05hbWU6IGNvbmZpZy5taWdyYXRlPy5zdGFja05hbWUsXG4gICAgbGFuZ3VhZ2U6IGNvbmZpZy5taWdyYXRlPy5sYW5ndWFnZSxcbiAgICBhY2NvdW50OiBjb25maWcubWlncmF0ZT8uYWNjb3VudCxcbiAgICByZWdpb246IGNvbmZpZy5taWdyYXRlPy5yZWdpb24sXG4gICAgZnJvbVBhdGg6IGNvbmZpZy5taWdyYXRlPy5mcm9tUGF0aCxcbiAgICBmcm9tU3RhY2s6IGNvbmZpZy5taWdyYXRlPy5mcm9tU3RhY2ssXG4gICAgb3V0cHV0UGF0aDogY29uZmlnLm1pZ3JhdGU/Lm91dHB1dFBhdGgsXG4gICAgZnJvbVNjYW46IGNvbmZpZy5taWdyYXRlPy5mcm9tU2NhbixcbiAgICBmaWx0ZXI6IGNvbmZpZy5taWdyYXRlPy5maWx0ZXIsXG4gICAgY29tcHJlc3M6IGNvbmZpZy5taWdyYXRlPy5jb21wcmVzcyxcbiAgfTtcbiAgY29uc3QgY29udGV4dE9wdGlvbnMgPSB7XG4gICAgcmVzZXQ6IGNvbmZpZy5jb250ZXh0Py5yZXNldCxcbiAgICBmb3JjZTogY29uZmlnLmNvbnRleHQ/LmZvcmNlLFxuICAgIGNsZWFyOiBjb25maWcuY29udGV4dD8uY2xlYXIsXG4gIH07XG4gIGNvbnN0IGRvY3NPcHRpb25zID0ge1xuICAgIGJyb3dzZXI6IGNvbmZpZy5kb2NzPy5icm93c2VyLFxuICB9O1xuICBjb25zdCBkb2N0b3JPcHRpb25zID0ge307XG4gIGNvbnN0IHVzZXJJbnB1dDogVXNlcklucHV0ID0ge1xuICAgIGdsb2JhbE9wdGlvbnMsXG4gICAgbGlzdDogbGlzdE9wdGlvbnMsXG4gICAgc3ludGg6IHN5bnRoT3B0aW9ucyxcbiAgICBib290c3RyYXA6IGJvb3RzdHJhcE9wdGlvbnMsXG4gICAgZ2M6IGdjT3B0aW9ucyxcbiAgICBkZXBsb3k6IGRlcGxveU9wdGlvbnMsXG4gICAgcm9sbGJhY2s6IHJvbGxiYWNrT3B0aW9ucyxcbiAgICBpbXBvcnQ6IGltcG9ydE9wdGlvbnMsXG4gICAgd2F0Y2g6IHdhdGNoT3B0aW9ucyxcbiAgICBkZXN0cm95OiBkZXN0cm95T3B0aW9ucyxcbiAgICBkaWZmOiBkaWZmT3B0aW9ucyxcbiAgICBtZXRhZGF0YTogbWV0YWRhdGFPcHRpb25zLFxuICAgIGFja25vd2xlZGdlOiBhY2tub3dsZWRnZU9wdGlvbnMsXG4gICAgbm90aWNlczogbm90aWNlc09wdGlvbnMsXG4gICAgaW5pdDogaW5pdE9wdGlvbnMsXG4gICAgbWlncmF0ZTogbWlncmF0ZU9wdGlvbnMsXG4gICAgY29udGV4dDogY29udGV4dE9wdGlvbnMsXG4gICAgZG9jczogZG9jc09wdGlvbnMsXG4gICAgZG9jdG9yOiBkb2N0b3JPcHRpb25zLFxuICB9O1xuXG4gIHJldHVybiB1c2VySW5wdXQ7XG59XG4iXX0=
436
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVydC10by11c2VyLWlucHV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY29udmVydC10by11c2VyLWlucHV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBU0EsMERBNFBDO0FBR0QsNERBaU1DO0FBamNELG9CQUFvQjtBQUNwQixTQUFnQix1QkFBdUIsQ0FBQyxJQUFTO0lBQy9DLE1BQU0sYUFBYSxHQUFrQjtRQUNuQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7UUFDYixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7UUFDakIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1FBQ3JCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtRQUNuQixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7UUFDakIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1FBQ25CLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztRQUNyQixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7UUFDL0IsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1FBQ2YsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1FBQ3JCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztRQUNqQixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87UUFDckIsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1FBQ2pCLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtRQUMvQixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7UUFDdkIsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjtRQUN2QyxZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7UUFDL0IsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhO1FBQ2pDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztRQUNyQixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87UUFDckIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1FBQ25CLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztR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UUFDckIsS0FBSyxFQUFFLE9BQUEsTUFBTSxDQUFDLE9BQU8sNENBQUUsS0FBSztRQUM1QixLQUFLLEVBQUUsT0FBQSxNQUFNLENBQUMsT0FBTyw0Q0FBRSxLQUFLO1FBQzVCLEtBQUssRUFBRSxPQUFBLE1BQU0sQ0FBQyxPQUFPLDRDQUFFLEtBQUs7S0FDN0IsQ0FBQztJQUNGLE1BQU0sV0FBVyxHQUFHO1FBQ2xCLE9BQU8sRUFBRSxPQUFBLE1BQU0sQ0FBQyxJQUFJLDRDQUFFLE9BQU87S0FDOUIsQ0FBQztJQUNGLE1BQU0sYUFBYSxHQUFHLEVBQUUsQ0FBQztJQUN6QixNQUFNLFNBQVMsR0FBYztRQUMzQixhQUFhO1FBQ2IsSUFBSSxFQUFFLFdBQVc7UUFDakIsS0FBSyxFQUFFLFlBQVk7UUFDbkIsU0FBUyxFQUFFLGdCQUFnQjtRQUMzQixFQUFFLEVBQUUsU0FBUztRQUNiLE1BQU0sRUFBRSxhQUFhO1FBQ3JCLFFBQVEsRUFBRSxlQUFlO1FBQ3pCLE1BQU0sRUFBRSxhQUFhO1FBQ3JCLEtBQUssRUFBRSxZQUFZO1FBQ25CLE9BQU8sRUFBRSxjQUFjO1FBQ3ZCLElBQUksRUFBRSxXQUFXO1FBQ2pCLFFBQVEsRUFBRSxlQUFlO1FBQ3pCLFdBQVcsRUFBRSxrQkFBa0I7UUFDL0IsT0FBTyxFQUFFLGNBQWM7UUFDdkIsSUFBSSxFQUFFLFdBQVc7UUFDakIsT0FBTyxFQUFFLGNBQWM7UUFDdkIsT0FBTyxFQUFFLGNBQWM7UUFDdkIsSUFBSSxFQUFFLFdBQVc7UUFDakIsTUFBTSxFQUFFLGFBQWE7S0FDdEIsQ0FBQztJQUVGLE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBHRU5FUkFURUQgRlJPTSBwYWNrYWdlcy9hd3MtY2RrL2xpYi9jbGkvY2xpLWNvbmZpZy50cy5cbi8vIERvIG5vdCBlZGl0IGJ5IGhhbmQ7IGFsbCBjaGFuZ2VzIHdpbGwgYmUgb3ZlcndyaXR0ZW4gYXQgYnVpbGQgdGltZSBmcm9tIHRoZSBjb25maWcgZmlsZS5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8qIGVzbGludC1kaXNhYmxlIEBzdHlsaXN0aWMvbWF4LWxlbiwgQHR5cGVzY3JpcHQtZXNsaW50L2NvbnNpc3RlbnQtdHlwZS1pbXBvcnRzICovXG5pbXBvcnQgeyBDb21tYW5kIH0gZnJvbSAnLi91c2VyLWNvbmZpZ3VyYXRpb24nO1xuaW1wb3J0IHsgVXNlcklucHV0LCBHbG9iYWxPcHRpb25zIH0gZnJvbSAnLi91c2VyLWlucHV0JztcblxuLy8gQHRzLWlnbm9yZSBUUzYxMzNcbmV4cG9ydCBmdW5jdGlvbiBjb252ZXJ0WWFyZ3NUb1VzZXJJbnB1dChhcmdzOiBhbnkpOiBVc2VySW5wdXQge1xuICBjb25zdCBnbG9iYWxPcHRpb25zOiBHbG9iYWxPcHRpb25zID0ge1xuICAgIGFwcDogYXJncy5hcHAsXG4gICAgYnVpbGQ6IGFyZ3MuYnVpbGQsXG4gICAgY29udGV4dDogYXJncy5jb250ZXh0LFxuICAgIHBsdWdpbjogYXJncy5wbHVnaW4sXG4gICAgdHJhY2U6IGFyZ3MudHJhY2UsXG4gICAgc3RyaWN0OiBhcmdzLnN0cmljdCxcbiAgICBsb29rdXBzOiBhcmdzLmxvb2t1cHMsXG4gICAgaWdub3JlRXJyb3JzOiBhcmdzLmlnbm9yZUVycm9ycyxcbiAgICBqc29uOiBhcmdzLmpzb24sXG4gICAgdmVyYm9zZTogYXJncy52ZXJib3NlLFxuICAgIGRlYnVnOiBhcmdzLmRlYnVnLFxuICAgIHByb2ZpbGU6IGFyZ3MucHJvZmlsZSxcbiAgICBwcm94eTogYXJncy5wcm94eSxcbiAgICBjYUJ1bmRsZVBhdGg6IGFyZ3MuY2FCdW5kbGVQYXRoLFxuICAgIGVjMmNyZWRzOiBhcmdzLmVjMmNyZWRzLFxuICAgIHZlcnNpb25SZXBvcnRpbmc6IGFyZ3MudmVyc2lvblJlcG9ydGluZyxcbiAgICBwYXRoTWV0YWRhdGE6IGFyZ3MucGF0aE1ldGFkYXRhLFxuICAgIGFzc2V0TWV0YWRhdGE6IGFyZ3MuYXNzZXRNZXRhZGF0YSxcbiAgICByb2xlQXJuOiBhcmdzLnJvbGVBcm4sXG4gICAgc3RhZ2luZzogYXJncy5zdGFnaW5nLFxuICAgIG91dHB1dDogYXJncy5vdXRwdXQsXG4gICAgbm90aWNlczogYXJncy5ub3RpY2VzLFxuICAgIG5vQ29sb3I6IGFyZ3Mubm9Db2xvcixcbiAgICBjaTogYXJncy5jaSxcbiAgICB1bnN0YWJsZTogYXJncy51bnN0YWJsZSxcbiAgfTtcbiAgbGV0IGNvbW1hbmRPcHRpb25zO1xuICBzd2l0Y2ggKGFyZ3MuX1swXSBhcyBDb21tYW5kKSB7XG4gICAgY2FzZSAnbGlzdCc6XG4gICAgY2FzZSAnbHMnOlxuICAgICAgY29tbWFuZE9wdGlvbnMgPSB7XG4gICAgICAgIGxvbmc6IGFyZ3MubG9uZyxcbiAgICAgICAgc2hvd0RlcGVuZGVuY2llczogYXJncy5zaG93RGVwZW5kZW5jaWVzLFxuICAgICAgICBTVEFDS1M6IGFyZ3MuU1RBQ0tTLFxuICAgICAgfTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnc3ludGgnOlxuICAgIGNhc2UgJ3N5bnRoZXNpemUnOlxuICAgICAgY29tbWFuZE9wdGlvbnMgPSB7XG4gICAgICAgIGV4Y2x1c2l2ZWx5OiBhcmdzLmV4Y2x1c2l2ZWx5LFxuICAgICAgICB2YWxpZGF0aW9uOiBhcmdzLnZhbGlkYXRpb24sXG4gICAgICAgIHF1aWV0OiBhcmdzLnF1aWV0LFxuICAgICAgICBTVEFDS1M6IGFyZ3MuU1RBQ0tTLFxuICAgICAgfTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnYm9vdHN0cmFwJzpcbiAgICAgIGNvbW1hbmRPcHRpb25zID0ge1xuICAgICAgICBib290c3RyYXBCdWNrZXROYW1lOiBhcmdzLmJvb3RzdHJhcEJ1Y2tldE5hbWUsXG4gICAgICAgIGJvb3RzdHJhcEttc0tleUlkOiBhcmdzLmJvb3RzdHJhcEttc0tleUlkLFxuICAgICAgICBleGFtcGxlUGVybWlzc2lvbnNCb3VuZGFyeTogYXJncy5leGFtcGxlUGVybWlzc2lvbnNCb3VuZGFyeSxcbiAgICAgICAgY3VzdG9tUGVybWlzc2lvbnNCb3VuZGFyeTogYXJncy5jdXN0b21QZXJtaXNzaW9uc0JvdW5kYXJ5LFxuICAgICAgICBib290c3RyYXBDdXN0b21lcktleTogYXJncy5ib290c3RyYXBDdXN0b21lcktleSxcbiAgICAgICAgcXVhbGlmaWVyOiBhcmdzLnF1YWxpZmllcixcbiAgICAgICAgcHVibGljQWNjZXNzQmxvY2tDb25maWd1cmF0aW9uOiBhcmdzLnB1YmxpY0FjY2Vzc0Jsb2NrQ29uZmlndXJhdGlvbixcbiAgICAgICAgdGFnczogYXJncy50YWdzLFxuICAgICAgICBleGVjdXRlOiBhcmdzLmV4ZWN1dGUsXG4gICAgICAgIHRydXN0OiBhcmdzLnRydXN0LFxuICAgICAgICB0cnVzdEZvckxvb2t1cDogYXJncy50cnVzdEZvckxvb2t1cCxcbiAgICAgICAgdW50cnVzdDogYXJncy51bnRydXN0LFxuICAgICAgICBjbG91ZGZvcm1hdGlvbkV4ZWN1dGlvblBvbGljaWVzOiBhcmdzLmNsb3VkZm9ybWF0aW9uRXhlY3V0aW9uUG9saWNpZXMsXG4gICAgICAgIGZvcmNlOiBhcmdzLmZvcmNlLFxuICAgICAgICB0ZXJtaW5hdGlvblByb3RlY3Rpb246IGFyZ3MudGVybWluYXRpb25Qcm90ZWN0aW9uLFxuICAgICAgICBzaG93VGVtcGxhdGU6IGFyZ3Muc2hvd1RlbXBsYXRlLFxuICAgICAgICB0b29sa2l0U3RhY2tOYW1lOiBhcmdzLnRvb2xraXRTdGFja05hbWUsXG4gICAgICAgIHRlbXBsYXRlOiBhcmdzLnRlbXBsYXRlLFxuICAgICAgICBwcmV2aW91c1BhcmFtZXRlcnM6IGFyZ3MucHJldmlvdXNQYXJhbWV0ZXJzLFxuICAgICAgICBFTlZJUk9OTUVOVFM6IGFyZ3MuRU5WSVJPTk1FTlRTLFxuICAgICAgfTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnZ2MnOlxuICAgICAgY29tbWFuZE9wdGlvbnMgPSB7XG4gICAgICAgIGFjdGlvbjogYXJncy5hY3Rpb24sXG4gICAgICAgIHR5cGU6IGFyZ3MudHlwZSxcbiAgICAgICAgcm9sbGJhY2tCdWZmZXJEYXlzOiBhcmdzLnJvbGxiYWNrQnVmZmVyRGF5cyxcbiAgICAgICAgY3JlYXRlZEJ1ZmZlckRheXM6IGFyZ3MuY3JlYXRlZEJ1ZmZlckRheXMsXG4gICAgICAgIGNvbmZpcm06IGFyZ3MuY29uZmlybSxcbiAgICAgICAgYm9vdHN0cmFwU3RhY2tOYW1lOiBhcmdzLmJvb3RzdHJhcFN0YWNrTmFtZSxcbiAgICAgICAgRU5WSVJPTk1FTlRTOiBhcmdzLkVOVklST05NRU5UUyxcbiAgICAgIH07XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ2RlcGxveSc6XG4gICAgICBjb21tYW5kT3B0aW9ucyA9IHtcbiAgICAgICAgYWxsOiBhcmdzLmFsbCxcbiAgICAgICAgYnVpbGRFeGNsdWRlOiBhcmdzLmJ1aWxkRXhjbHVkZSxcbiAgICAgICAgZXhjbHVzaXZlbHk6IGFyZ3MuZXhjbHVzaXZlbHksXG4gICAgICAgIHJlcXVpcmVBcHByb3ZhbDogYXJncy5yZXF1aXJlQXBwcm92YWwsXG4gICAgICAgIG5vdGlmaWNhdGlvbkFybnM6IGFyZ3Mubm90aWZpY2F0aW9uQXJucyxcbiAgICAgICAgdGFnczogYXJncy50YWdzLFxuICAgICAgICBleGVjdXRlOiBhcmdzLmV4ZWN1dGUsXG4gICAgICAgIGNoYW5nZVNldE5hbWU6IGFyZ3MuY2hhbmdlU2V0TmFtZSxcbiAgICAgICAgbWV0aG9kOiBhcmdzLm1ldGhvZCxcbiAgICAgICAgaW1wb3J0RXhpc3RpbmdSZXNvdXJjZXM6IGFyZ3MuaW1wb3J0RXhpc3RpbmdSZXNvdXJjZXMsXG4gICAgICAgIGZvcmNlOiBhcmdzLmZvcmNlLFxuICAgICAgICBwYXJhbWV0ZXJzOiBhcmdzLnBhcmFtZXRlcnMsXG4gICAgICAgIG91dHB1dHNGaWxlOiBhcmdzLm91dHB1dHNGaWxlLFxuICAgICAgICBwcmV2aW91c1BhcmFtZXRlcnM6IGFyZ3MucHJldmlvdXNQYXJhbWV0ZXJzLFxuICAgICAgICB0b29sa2l0U3RhY2tOYW1lOiBhcmdzLnRvb2xraXRTdGFja05hbWUsXG4gICAgICAgIHByb2dyZXNzOiBhcmdzLnByb2dyZXNzLFxuICAgICAgICByb2xsYmFjazogYXJncy5yb2xsYmFjayxcbiAgICAgICAgaG90c3dhcDogYXJncy5ob3Rzd2FwLFxuICAgICAgICBob3Rzd2FwRmFsbGJhY2s6IGFyZ3MuaG90c3dhcEZhbGxiYWNrLFxuICAgICAgICB3YXRjaDogYXJncy53YXRjaCxcbiAgICAgICAgbG9nczogYXJncy5sb2dzLFxuICAgICAgICBjb25jdXJyZW5jeTogYXJncy5jb25jdXJyZW5jeSxcbiAgICAgICAgYXNzZXRQYXJhbGxlbGlzbTogYXJncy5hc3NldFBhcmFsbGVsaXNtLFxuICAgICAgICBhc3NldFByZWJ1aWxkOiBhcmdzLmFzc2V0UHJlYnVpbGQsXG4gICAgICAgIGlnbm9yZU5vU3RhY2tzOiBhcmdzLmlnbm9yZU5vU3RhY2tzLFxuICAgICAgICBTVEFDS1M6IGFyZ3MuU1RBQ0tTLFxuICAgICAgfTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAncm9sbGJhY2snOlxuICAgICAgY29tbWFuZE9wdGlvbnMgPSB7XG4gICAgICAgIGFsbDogYXJncy5hbGwsXG4gICAgICAgIHRvb2xraXRTdGFja05hbWU6IGFyZ3MudG9vbGtpdFN0YWNrTmFtZSxcbiAgICAgICAgZm9yY2U6IGFyZ3MuZm9yY2UsXG4gICAgICAgIHZhbGlkYXRlQm9vdHN0cmFwVmVyc2lvbjogYXJncy52YWxpZGF0ZUJvb3RzdHJhcFZlcnNpb24sXG4gICAgICAgIG9ycGhhbjogYXJncy5vcnBoYW4sXG4gICAgICAgIFNUQUNLUzogYXJncy5TVEFDS1MsXG4gICAgICB9O1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdpbXBvcnQnOlxuICAgICAgY29tbWFuZE9wdGlvbnMgPSB7XG4gICAgICAgIGV4ZWN1dGU6IGFyZ3MuZXhlY3V0ZSxcbiAgICAgICAgY2hhbmdlU2V0TmFtZTogYXJncy5jaGFuZ2VTZXROYW1lLFxuICAgICAgICB0b29sa2l0U3RhY2tOYW1lOiBhcmdzLnRvb2xraXRTdGFja05hbWUsXG4gICAgICAgIHJvbGxiYWNrOiBhcmdzLnJvbGxiYWNrLFxuICAgICAgICBmb3JjZTogYXJncy5mb3JjZSxcbiAgICAgICAgcmVjb3JkUmVzb3VyY2VNYXBwaW5nOiBhcmdzLnJlY29yZFJlc291cmNlTWFwcGluZyxcbiAgICAgICAgcmVzb3VyY2VNYXBwaW5nOiBhcmdzLnJlc291cmNlTWFwcGluZyxcbiAgICAgICAgU1RBQ0s6IGFyZ3MuU1RBQ0ssXG4gICAgICB9O1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICd3YXRjaCc6XG4gICAgICBjb21tYW5kT3B0aW9ucyA9IHtcbiAgICAgICAgYnVpbGRFeGNsdWRlOiBhcmdzLmJ1aWxkRXhjbHVkZSxcbiAgICAgICAgZXhjbHVzaXZlbHk6IGFyZ3MuZXhjbHVzaXZlbHksXG4gICAgICAgIGNoYW5nZVNldE5hbWU6IGFyZ3MuY2hhbmdlU2V0TmFtZSxcbiAgICAgICAgZm9yY2U6IGFyZ3MuZm9yY2UsXG4gICAgICAgIHRvb2xraXRTdGFja05hbWU6IGFyZ3MudG9vbGtpdFN0YWNrTmFtZSxcbiAgICAgICAgcHJvZ3Jlc3M6IGFyZ3MucHJvZ3Jlc3MsXG4gICAgICAgIHJvbGxiYWNrOiBhcmdzLnJvbGxiYWNrLFxuICAgICAgICBob3Rzd2FwOiBhcmdzLmhvdHN3YXAsXG4gICAgICAgIGhvdHN3YXBGYWxsYmFjazogYXJncy5ob3Rzd2FwRmFsbGJhY2ssXG4gICAgICAgIGxvZ3M6IGFyZ3MubG9ncyxcbiAgICAgICAgY29uY3VycmVuY3k6IGFyZ3MuY29uY3VycmVuY3ksXG4gICAgICAgIFNUQUNLUzogYXJncy5TVEFDS1MsXG4gICAgICB9O1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdkZXN0cm95JzpcbiAgICAgIGNvbW1hbmRPcHRpb25zID0ge1xuICAgICAgICBhbGw6IGFyZ3MuYWxsLFxuICAgICAgICBleGNsdXNpdmVseTogYXJncy5leGNsdXNpdmVseSxcbiAgICAgICAgZm9yY2U6IGFyZ3MuZm9yY2UsXG4gICAgICAgIFNUQUNLUzogYXJncy5TVEFDS1MsXG4gICAgICB9O1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdkaWZmJzpcbiAgICAgIGNvbW1hbmRPcHRpb25zID0ge1xuICAgICAgICBleGNsdXNpdmVseTogYXJncy5leGNsdXNpdmVseSxcbiAgICAgICAgY29udGV4dExpbmVzOiBhcmdzLmNvbnRleHRMaW5lcyxcbiAgICAgICAgdGVtcGxhdGU6IGFyZ3MudGVtcGxhdGUsXG4gICAgICAgIHN0cmljdDogYXJncy5zdHJpY3QsXG4gICAgICAgIHNlY3VyaXR5T25seTogYXJncy5zZWN1cml0eU9ubHksXG4gICAgICAgIGZhaWw6IGFyZ3MuZmFpbCxcbiAgICAgICAgcHJvY2Vzc2VkOiBhcmdzLnByb2Nlc3NlZCxcbiAgICAgICAgcXVpZXQ6IGFyZ3MucXVpZXQsXG4gICAgICAgIGNoYW5nZVNldDogYXJncy5jaGFuZ2VTZXQsXG4gICAgICAgIFNUQUNLUzogYXJncy5TVEFDS1MsXG4gICAgICB9O1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdtZXRhZGF0YSc6XG4gICAgICBjb21tYW5kT3B0aW9ucyA9IHtcbiAgICAgICAgU1RBQ0s6IGFyZ3MuU1RBQ0ssXG4gICAgICB9O1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdhY2tub3dsZWRnZSc6XG4gICAgY2FzZSAnYWNrJzpcbiAgICAgIGNvbW1hbmRPcHRpb25zID0ge1xuICAgICAgICBJRDogYXJncy5JRCxcbiAgICAgIH07XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ25vdGljZXMnOlxuICAgICAgY29tbWFuZE9wdGlvbnMgPSB7XG4gICAgICAgIHVuYWNrbm93bGVkZ2VkOiBhcmdzLnVuYWNrbm93bGVkZ2VkLFxuICAgICAgfTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnaW5pdCc6XG4gICAgICBjb21tYW5kT3B0aW9ucyA9IHtcbiAgICAgICAgbGFuZ3VhZ2U6IGFyZ3MubGFuZ3VhZ2UsXG4gICAgICAgIGxpc3Q6IGFyZ3MubGlzdCxcbiAgICAgICAgZ2VuZXJhdGVPbmx5OiBhcmdzLmdlbmVyYXRlT25seSxcbiAgICAgICAgbGliVmVyc2lvbjogYXJncy5saWJWZXJzaW9uLFxuICAgICAgICBURU1QTEFURTogYXJncy5URU1QTEFURSxcbiAgICAgIH07XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ21pZ3JhdGUnOlxuICAgICAgY29tbWFuZE9wdGlvbnMgPSB7XG4gICAgICAgIHN0YWNrTmFtZTogYXJncy5zdGFja05hbWUsXG4gICAgICAgIGxhbmd1YWdlOiBhcmdzLmxhbmd1YWdlLFxuICAgICAgICBhY2NvdW50OiBhcmdzLmFjY291bnQsXG4gICAgICAgIHJlZ2lvbjogYXJncy5yZWdpb24sXG4gICAgICAgIGZyb21QYXRoOiBhcmdzLmZyb21QYXRoLFxuICAgICAgICBmcm9tU3RhY2s6IGFyZ3MuZnJvbVN0YWNrLFxuICAgICAgICBvdXRwdXRQYXRoOiBhcmdzLm91dHB1dFBhdGgsXG4gICAgICAgIGZyb21TY2FuOiBhcmdzLmZyb21TY2FuLFxuICAgICAgICBmaWx0ZXI6IGFyZ3MuZmlsdGVyLFxuICAgICAgICBjb21wcmVzczogYXJncy5jb21wcmVzcyxcbiAgICAgIH07XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ2NvbnRleHQnOlxuICAgICAgY29tbWFuZE9wdGlvbnMgPSB7XG4gICAgICAgIHJlc2V0OiBhcmdzLnJlc2V0LFxuICAgICAgICBmb3JjZTogYXJncy5mb3JjZSxcbiAgICAgICAgY2xlYXI6IGFyZ3MuY2xlYXIsXG4gICAgICB9O1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdkb2NzJzpcbiAgICBjYXNlICdkb2MnOlxuICAgICAgY29tbWFuZE9wdGlvbnMgPSB7XG4gICAgICAgIGJyb3dzZXI6IGFyZ3MuYnJvd3NlcixcbiAgICAgIH07XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ2RvY3Rvcic6XG4gICAgICBjb21tYW5kT3B0aW9ucyA9IHt9O1xuICAgICAgYnJlYWs7XG4gIH1cbiAgY29uc3QgdXNlcklucHV0OiBVc2VySW5wdXQgPSB7XG4gICAgY29tbWFuZDogYXJncy5fWzBdLFxuICAgIGdsb2JhbE9wdGlvbnMsXG4gICAgW2FyZ3MuX1swXV06IGNvbW1hbmRPcHRpb25zLFxuICB9O1xuXG4gIHJldHVybiB1c2VySW5wdXQ7XG59XG5cbi8vIEB0cy1pZ25vcmUgVFM2MTMzXG5leHBvcnQgZnVuY3Rpb24gY29udmVydENvbmZpZ1RvVXNlcklucHV0KGNvbmZpZzogYW55KTogVXNlcklucHV0IHtcbiAgY29uc3QgZ2xvYmFsT3B0aW9uczogR2xvYmFsT3B0aW9ucyA9IHtcbiAgICBhcHA6IGNvbmZpZy5hcHAsXG4gICAgYnVpbGQ6IGNvbmZpZy5idWlsZCxcbiAgICBjb250ZXh0OiBjb25maWcuY29udGV4dCxcbiAgICBwbHVnaW46IGNvbmZpZy5wbHVnaW4sXG4gICAgdHJhY2U6IGNvbmZpZy50cmFjZSxcbiAgICBzdHJpY3Q6IGNvbmZpZy5zdHJpY3QsXG4gICAgbG9va3VwczogY29uZmlnLmxvb2t1cHMsXG4gICAgaWdub3JlRXJyb3JzOiBjb25maWcuaWdub3JlRXJyb3JzLFxuICAgIGpzb246IGNvbmZpZy5qc29uLFxuICAgIHZlcmJvc2U6IGNvbmZpZy52ZXJib3NlLFxuICAgIGRlYnVnOiBjb25maWcuZGVidWcsXG4gICAgcHJvZmlsZTogY29uZmlnLnByb2ZpbGUsXG4gICAgcHJveHk6IGNvbmZpZy5wcm94eSxcbiAgICBjYUJ1bmRsZVBhdGg6IGNvbmZpZy5jYUJ1bmRsZVBhdGgsXG4gICAgZWMyY3JlZHM6IGNvbmZpZy5lYzJjcmVkcyxcbiAgICB2ZXJzaW9uUmVwb3J0aW5nOiBjb25maWcudmVyc2lvblJlcG9ydGluZyxcbiAgICBwYXRoTWV0YWRhdGE6IGNvbmZpZy5wYXRoTWV0YWRhdGEsXG4gICAgYXNzZXRNZXRhZGF0YTogY29uZmlnLmFzc2V0TWV0YWRhdGEsXG4gICAgcm9sZUFybjogY29uZmlnLnJvbGVBcm4sXG4gICAgc3RhZ2luZzogY29uZmlnLnN0YWdpbmcsXG4gICAgb3V0cHV0OiBjb25maWcub3V0cHV0LFxuICAgIG5vdGljZXM6IGNvbmZpZy5ub3RpY2VzLFxuICAgIG5vQ29sb3I6IGNvbmZpZy5ub0NvbG9yLFxuICAgIGNpOiBjb25maWcuY2ksXG4gICAgdW5zdGFibGU6IGNvbmZpZy51bnN0YWJsZSxcbiAgfTtcbiAgY29uc3QgbGlzdE9wdGlvbnMgPSB7XG4gICAgbG9uZzogY29uZmlnLmxpc3Q/LmxvbmcsXG4gICAgc2hvd0RlcGVuZGVuY2llczogY29uZmlnLmxpc3Q/LnNob3dEZXBlbmRlbmNpZXMsXG4gIH07XG4gIGNvbnN0IHN5bnRoT3B0aW9ucyA9IHtcbiAgICBleGNsdXNpdmVseTogY29uZmlnLnN5bnRoPy5leGNsdXNpdmVseSxcbiAgICB2YWxpZGF0aW9uOiBjb25maWcuc3ludGg/LnZhbGlkYXRpb24sXG4gICAgcXVpZXQ6IGNvbmZpZy5zeW50aD8ucXVpZXQsXG4gIH07XG4gIGNvbnN0IGJvb3RzdHJhcE9wdGlvbnMgPSB7XG4gICAgYm9vdHN0cmFwQnVja2V0TmFtZTogY29uZmlnLmJvb3RzdHJhcD8uYm9vdHN0cmFwQnVja2V0TmFtZSxcbiAgICBib290c3RyYXBLbXNLZXlJZDogY29uZmlnLmJvb3RzdHJhcD8uYm9vdHN0cmFwS21zS2V5SWQsXG4gICAgZXhhbXBsZVBlcm1pc3Npb25zQm91bmRhcnk6IGNvbmZpZy5ib290c3RyYXA/LmV4YW1wbGVQZXJtaXNzaW9uc0JvdW5kYXJ5LFxuICAgIGN1c3RvbVBlcm1pc3Npb25zQm91bmRhcnk6IGNvbmZpZy5ib290c3RyYXA/LmN1c3RvbVBlcm1pc3Npb25zQm91bmRhcnksXG4gICAgYm9vdHN0cmFwQ3VzdG9tZXJLZXk6IGNvbmZpZy5ib290c3RyYXA/LmJvb3RzdHJhcEN1c3RvbWVyS2V5LFxuICAgIHF1YWxpZmllcjogY29uZmlnLmJvb3RzdHJhcD8ucXVhbGlmaWVyLFxuICAgIHB1YmxpY0FjY2Vzc0Jsb2NrQ29uZmlndXJhdGlvbjogY29uZmlnLmJvb3RzdHJhcD8ucHVibGljQWNjZXNzQmxvY2tDb25maWd1cmF0aW9uLFxuICAgIHRhZ3M6IGNvbmZpZy5ib290c3RyYXA/LnRhZ3MsXG4gICAgZXhlY3V0ZTogY29uZmlnLmJvb3RzdHJhcD8uZXhlY3V0ZSxcbiAgICB0cnVzdDogY29uZmlnLmJvb3RzdHJhcD8udHJ1c3QsXG4gICAgdHJ1c3RGb3JMb29rdXA6IGNvbmZpZy5ib290c3RyYXA/LnRydXN0Rm9yTG9va3VwLFxuICAgIHVudHJ1c3Q6IGNvbmZpZy5ib290c3RyYXA/LnVudHJ1c3QsXG4gICAgY2xvdWRmb3JtYXRpb25FeGVjdXRpb25Qb2xpY2llczogY29uZmlnLmJvb3RzdHJhcD8uY2xvdWRmb3JtYXRpb25FeGVjdXRpb25Qb2xpY2llcyxcbiAgICBmb3JjZTogY29uZmlnLmJvb3RzdHJhcD8uZm9yY2UsXG4gICAgdGVybWluYXRpb25Qcm90ZWN0aW9uOiBjb25maWcuYm9vdHN0cmFwPy50ZXJtaW5hdGlvblByb3RlY3Rpb24sXG4gICAgc2hvd1RlbXBsYXRlOiBjb25maWcuYm9vdHN0cmFwPy5zaG93VGVtcGxhdGUsXG4gICAgdG9vbGtpdFN0YWNrTmFtZTogY29uZmlnLmJvb3RzdHJhcD8udG9vbGtpdFN0YWNrTmFtZSxcbiAgICB0ZW1wbGF0ZTogY29uZmlnLmJvb3RzdHJhcD8udGVtcGxhdGUsXG4gICAgcHJldmlvdXNQYXJhbWV0ZXJzOiBjb25maWcuYm9vdHN0cmFwPy5wcmV2aW91c1BhcmFtZXRlcnMsXG4gIH07XG4gIGNvbnN0IGdjT3B0aW9ucyA9IHtcbiAgICBhY3Rpb246IGNvbmZpZy5nYz8uYWN0aW9uLFxuICAgIHR5cGU6IGNvbmZpZy5nYz8udHlwZSxcbiAgICByb2xsYmFja0J1ZmZlckRheXM6IGNvbmZpZy5nYz8ucm9sbGJhY2tCdWZmZXJEYXlzLFxuICAgIGNyZWF0ZWRCdWZmZXJEYXlzOiBjb25maWcuZ2M/LmNyZWF0ZWRCdWZmZXJEYXlzLFxuICAgIGNvbmZpcm06IGNvbmZpZy5nYz8uY29uZmlybSxcbiAgICBib290c3RyYXBTdGFja05hbWU6IGNvbmZpZy5nYz8uYm9vdHN0cmFwU3RhY2tOYW1lLFxuICB9O1xuICBjb25zdCBkZXBsb3lPcHRpb25zID0ge1xuICAgIGFsbDogY29uZmlnLmRlcGxveT8uYWxsLFxuICAgIGJ1aWxkRXhjbHVkZTogY29uZmlnLmRlcGxveT8uYnVpbGRFeGNsdWRlLFxuICAgIGV4Y2x1c2l2ZWx5OiBjb25maWcuZGVwbG95Py5leGNsdXNpdmVseSxcbiAgICByZXF1aXJlQXBwcm92YWw6IGNvbmZpZy5kZXBsb3k/LnJlcXVpcmVBcHByb3ZhbCxcbiAgICBub3RpZmljYXRpb25Bcm5zOiBjb25maWcuZGVwbG95Py5ub3RpZmljYXRpb25Bcm5zLFxuICAgIHRhZ3M6IGNvbmZpZy5kZXBsb3k/LnRhZ3MsXG4gICAgZXhlY3V0ZTogY29uZmlnLmRlcGxveT8uZXhlY3V0ZSxcbiAgICBjaGFuZ2VTZXROYW1lOiBjb25maWcuZGVwbG95Py5jaGFuZ2VTZXROYW1lLFxuICAgIG1ldGhvZDogY29uZmlnLmRlcGxveT8ubWV0aG9kLFxuICAgIGltcG9ydEV4aXN0aW5nUmVzb3VyY2VzOiBjb25maWcuZGVwbG95Py5pbXBvcnRFeGlzdGluZ1Jlc291cmNlcyxcbiAgICBmb3JjZTogY29uZmlnLmRlcGxveT8uZm9yY2UsXG4gICAgcGFyYW1ldGVyczogY29uZmlnLmRlcGxveT8ucGFyYW1ldGVycyxcbiAgICBvdXRwdXRzRmlsZTogY29uZmlnLmRlcGxveT8ub3V0cHV0c0ZpbGUsXG4gICAgcHJldmlvdXNQYXJhbWV0ZXJzOiBjb25maWcuZGVwbG95Py5wcmV2aW91c1BhcmFtZXRlcnMsXG4gICAgdG9vbGtpdFN0YWNrTmFtZTogY29uZmlnLmRlcGxveT8udG9vbGtpdFN0YWNrTmFtZSxcbiAgICBwcm9ncmVzczogY29uZmlnLmRlcGxveT8ucHJvZ3Jlc3MsXG4gICAgcm9sbGJhY2s6IGNvbmZpZy5kZXBsb3k/LnJvbGxiYWNrLFxuICAgIGhvdHN3YXA6IGNvbmZpZy5kZXBsb3k/LmhvdHN3YXAsXG4gICAgaG90c3dhcEZhbGxiYWNrOiBjb25maWcuZGVwbG95Py5ob3Rzd2FwRmFsbGJhY2ssXG4gICAgd2F0Y2g6IGNvbmZpZy5kZXBsb3k/LndhdGNoLFxuICAgIGxvZ3M6IGNvbmZpZy5kZXBsb3k/LmxvZ3MsXG4gICAgY29uY3VycmVuY3k6IGNvbmZpZy5kZXBsb3k/LmNvbmN1cnJlbmN5LFxuICAgIGFzc2V0UGFyYWxsZWxpc206IGNvbmZpZy5kZXBsb3k/LmFzc2V0UGFyYWxsZWxpc20sXG4gICAgYXNzZXRQcmVidWlsZDogY29uZmlnLmRlcGxveT8uYXNzZXRQcmVidWlsZCxcbiAgICBpZ25vcmVOb1N0YWNrczogY29uZmlnLmRlcGxveT8uaWdub3JlTm9TdGFja3MsXG4gIH07XG4gIGNvbnN0IHJvbGxiYWNrT3B0aW9ucyA9IHtcbiAgICBhbGw6IGNvbmZpZy5yb2xsYmFjaz8uYWxsLFxuICAgIHRvb2xraXRTdGFja05hbWU6IGNvbmZpZy5yb2xsYmFjaz8udG9vbGtpdFN0YWNrTmFtZSxcbiAgICBmb3JjZTogY29uZmlnLnJvbGxiYWNrPy5mb3JjZSxcbiAgICB2YWxpZGF0ZUJvb3RzdHJhcFZlcnNpb246IGNvbmZpZy5yb2xsYmFjaz8udmFsaWRhdGVCb290c3RyYXBWZXJzaW9uLFxuICAgIG9ycGhhbjogY29uZmlnLnJvbGxiYWNrPy5vcnBoYW4sXG4gIH07XG4gIGNvbnN0IGltcG9ydE9wdGlvbnMgPSB7XG4gICAgZXhlY3V0ZTogY29uZmlnLmltcG9ydD8uZXhlY3V0ZSxcbiAgICBjaGFuZ2VTZXROYW1lOiBjb25maWcuaW1wb3J0Py5jaGFuZ2VTZXROYW1lLFxuICAgIHRvb2xraXRTdGFja05hbWU6IGNvbmZpZy5pbXBvcnQ/LnRvb2xraXRTdGFja05hbWUsXG4gICAgcm9sbGJhY2s6IGNvbmZpZy5pbXBvcnQ/LnJvbGxiYWNrLFxuICAgIGZvcmNlOiBjb25maWcuaW1wb3J0Py5mb3JjZSxcbiAgICByZWNvcmRSZXNvdXJjZU1hcHBpbmc6IGNvbmZpZy5pbXBvcnQ/LnJlY29yZFJlc291cmNlTWFwcGluZyxcbiAgICByZXNvdXJjZU1hcHBpbmc6IGNvbmZpZy5pbXBvcnQ/LnJlc291cmNlTWFwcGluZyxcbiAgfTtcbiAgY29uc3Qgd2F0Y2hPcHRpb25zID0ge1xuICAgIGJ1aWxkRXhjbHVkZTogY29uZmlnLndhdGNoPy5idWlsZEV4Y2x1ZGUsXG4gICAgZXhjbHVzaXZlbHk6IGNvbmZpZy53YXRjaD8uZXhjbHVzaXZlbHksXG4gICAgY2hhbmdlU2V0TmFtZTogY29uZmlnLndhdGNoPy5jaGFuZ2VTZXROYW1lLFxuICAgIGZvcmNlOiBjb25maWcud2F0Y2g/LmZvcmNlLFxuICAgIHRvb2xraXRTdGFja05hbWU6IGNvbmZpZy53YXRjaD8udG9vbGtpdFN0YWNrTmFtZSxcbiAgICBwcm9ncmVzczogY29uZmlnLndhdGNoPy5wcm9ncmVzcyxcbiAgICByb2xsYmFjazogY29uZmlnLndhdGNoPy5yb2xsYmFjayxcbiAgICBob3Rzd2FwOiBjb25maWcud2F0Y2g/LmhvdHN3YXAsXG4gICAgaG90c3dhcEZhbGxiYWNrOiBjb25maWcud2F0Y2g/LmhvdHN3YXBGYWxsYmFjayxcbiAgICBsb2dzOiBjb25maWcud2F0Y2g/LmxvZ3MsXG4gICAgY29uY3VycmVuY3k6IGNvbmZpZy53YXRjaD8uY29uY3VycmVuY3ksXG4gIH07XG4gIGNvbnN0IGRlc3Ryb3lPcHRpb25zID0ge1xuICAgIGFsbDogY29uZmlnLmRlc3Ryb3k/LmFsbCxcbiAgICBleGNsdXNpdmVseTogY29uZmlnLmRlc3Ryb3k/LmV4Y2x1c2l2ZWx5LFxuICAgIGZvcmNlOiBjb25maWcuZGVzdHJveT8uZm9yY2UsXG4gIH07XG4gIGNvbnN0IGRpZmZPcHRpb25zID0ge1xuICAgIGV4Y2x1c2l2ZWx5OiBjb25maWcuZGlmZj8uZXhjbHVzaXZlbHksXG4gICAgY29udGV4dExpbmVzOiBjb25maWcuZGlmZj8uY29udGV4dExpbmVzLFxuICAgIHRlbXBsYXRlOiBjb25maWcuZGlmZj8udGVtcGxhdGUsXG4gICAgc3RyaWN0OiBjb25maWcuZGlmZj8uc3RyaWN0LFxuICAgIHNlY3VyaXR5T25seTogY29uZmlnLmRpZmY/LnNlY3VyaXR5T25seSxcbiAgICBmYWlsOiBjb25maWcuZGlmZj8uZmFpbCxcbiAgICBwcm9jZXNzZWQ6IGNvbmZpZy5kaWZmPy5wcm9jZXNzZWQsXG4gICAgcXVpZXQ6IGNvbmZpZy5kaWZmPy5xdWlldCxcbiAgICBjaGFuZ2VTZXQ6IGNvbmZpZy5kaWZmPy5jaGFuZ2VTZXQsXG4gIH07XG4gIGNvbnN0IG1ldGFkYXRhT3B0aW9ucyA9IHt9O1xuICBjb25zdCBhY2tub3dsZWRnZU9wdGlvbnMgPSB7fTtcbiAgY29uc3Qgbm90aWNlc09wdGlvbnMgPSB7XG4gICAgdW5hY2tub3dsZWRnZWQ6IGNvbmZpZy5ub3RpY2VzPy51bmFja25vd2xlZGdlZCxcbiAgfTtcbiAgY29uc3QgaW5pdE9wdGlvbnMgPSB7XG4gICAgbGFuZ3VhZ2U6IGNvbmZpZy5pbml0Py5sYW5ndWFnZSxcbiAgICBsaXN0OiBjb25maWcuaW5pdD8ubGlzdCxcbiAgICBnZW5lcmF0ZU9ubHk6IGNvbmZpZy5pbml0Py5nZW5lcmF0ZU9ubHksXG4gICAgbGliVmVyc2lvbjogY29uZmlnLmluaXQ/LmxpYlZlcnNpb24sXG4gIH07XG4gIGNvbnN0IG1pZ3JhdGVPcHRpb25zID0ge1xuICAgIHN0YWNrTmFtZTogY29uZmlnLm1pZ3JhdGU/LnN0YWNrTmFtZSxcbiAgICBsYW5ndWFnZTogY29uZmlnLm1pZ3JhdGU/Lmxhbmd1YWdlLFxuICAgIGFjY291bnQ6IGNvbmZpZy5taWdyYXRlPy5hY2NvdW50LFxuICAgIHJlZ2lvbjogY29uZmlnLm1pZ3JhdGU/LnJlZ2lvbixcbiAgICBmcm9tUGF0aDogY29uZmlnLm1pZ3JhdGU/LmZyb21QYXRoLFxuICAgIGZyb21TdGFjazogY29uZmlnLm1pZ3JhdGU/LmZyb21TdGFjayxcbiAgICBvdXRwdXRQYXRoOiBjb25maWcubWlncmF0ZT8ub3V0cHV0UGF0aCxcbiAgICBmcm9tU2NhbjogY29uZmlnLm1pZ3JhdGU/LmZyb21TY2FuLFxuICAgIGZpbHRlcjogY29uZmlnLm1pZ3JhdGU/LmZpbHRlcixcbiAgICBjb21wcmVzczogY29uZmlnLm1pZ3JhdGU/LmNvbXByZXNzLFxuICB9O1xuICBjb25zdCBjb250ZXh0T3B0aW9ucyA9IHtcbiAgICByZXNldDogY29uZmlnLmNvbnRleHQ/LnJlc2V0LFxuICAgIGZvcmNlOiBjb25maWcuY29udGV4dD8uZm9yY2UsXG4gICAgY2xlYXI6IGNvbmZpZy5jb250ZXh0Py5jbGVhcixcbiAgfTtcbiAgY29uc3QgZG9jc09wdGlvbnMgPSB7XG4gICAgYnJvd3NlcjogY29uZmlnLmRvY3M/LmJyb3dzZXIsXG4gIH07XG4gIGNvbnN0IGRvY3Rvck9wdGlvbnMgPSB7fTtcbiAgY29uc3QgdXNlcklucHV0OiBVc2VySW5wdXQgPSB7XG4gICAgZ2xvYmFsT3B0aW9ucyxcbiAgICBsaXN0OiBsaXN0T3B0aW9ucyxcbiAgICBzeW50aDogc3ludGhPcHRpb25zLFxuICAgIGJvb3RzdHJhcDogYm9vdHN0cmFwT3B0aW9ucyxcbiAgICBnYzogZ2NPcHRpb25zLFxuICAgIGRlcGxveTogZGVwbG95T3B0aW9ucyxcbiAgICByb2xsYmFjazogcm9sbGJhY2tPcHRpb25zLFxuICAgIGltcG9ydDogaW1wb3J0T3B0aW9ucyxcbiAgICB3YXRjaDogd2F0Y2hPcHRpb25zLFxuICAgIGRlc3Ryb3k6IGRlc3Ryb3lPcHRpb25zLFxuICAgIGRpZmY6IGRpZmZPcHRpb25zLFxuICAgIG1ldGFkYXRhOiBtZXRhZGF0YU9wdGlvbnMsXG4gICAgYWNrbm93bGVkZ2U6IGFja25vd2xlZGdlT3B0aW9ucyxcbiAgICBub3RpY2VzOiBub3RpY2VzT3B0aW9ucyxcbiAgICBpbml0OiBpbml0T3B0aW9ucyxcbiAgICBtaWdyYXRlOiBtaWdyYXRlT3B0aW9ucyxcbiAgICBjb250ZXh0OiBjb250ZXh0T3B0aW9ucyxcbiAgICBkb2NzOiBkb2NzT3B0aW9ucyxcbiAgICBkb2N0b3I6IGRvY3Rvck9wdGlvbnMsXG4gIH07XG5cbiAgcmV0dXJuIHVzZXJJbnB1dDtcbn1cbiJdfQ==
@@ -1,17 +1,19 @@
1
- import { IoMessage, IoMessageCode, IoMessageCodeCategory, ToolkitAction } from '../toolkit/cli-io-host';
1
+ import type { ActionLessMessage } from '../../../@aws-cdk/tmp-toolkit-helpers/src/api/io/private';
2
+ import type { IoMessageCodeCategory } from '../logging';
3
+ import type { IoMessageCode } from '../toolkit/cli-io-host';
2
4
  type Optional<T, K extends keyof T> = Pick<Partial<T>, K> & Omit<T, K>;
3
- type SimplifiedMessage<T> = Omit<IoMessage<T>, 'time'>;
5
+ type SimplifiedMessage<T> = Omit<ActionLessMessage<T>, 'time'>;
4
6
  /**
5
7
  * Internal helper that processes log inputs into a consistent format.
6
8
  * Handles string interpolation, format strings, and object parameter styles.
7
9
  * Applies optional styling and prepares the final message for logging.
8
10
  */
9
- export declare function formatMessage<T>(msg: Optional<SimplifiedMessage<T>, 'code'>, category?: IoMessageCodeCategory): IoMessage<T>;
11
+ export declare function formatMessage<T>(msg: Optional<SimplifiedMessage<T>, 'code'>, category?: IoMessageCodeCategory): ActionLessMessage<T>;
10
12
  /**
11
13
  * Creates an error level message.
12
14
  * Errors must always have a unique code.
13
15
  */
14
- export declare const error: <T>(action: ToolkitAction, message: string, code: IoMessageCode, payload?: T) => IoMessage<T>;
16
+ export declare const error: <T>(message: string, code: IoMessageCode, payload?: T) => ActionLessMessage<T | undefined>;
15
17
  /**
16
18
  * Creates a result level message and represents the most important message for a given action.
17
19
  *
@@ -19,21 +21,21 @@ export declare const error: <T>(action: ToolkitAction, message: string, code: Io
19
21
  * However actions that operate on Cloud Assemblies might include a result per Stack.
20
22
  * Unlike other messages, results must always have a code and a payload.
21
23
  */
22
- export declare const result: <T>(action: ToolkitAction, message: string, code: IoMessageCode, payload: T) => IoMessage<T>;
24
+ export declare const result: <T>(message: string, code: IoMessageCode, payload: T) => ActionLessMessage<T>;
23
25
  /**
24
26
  * Creates a warning level message.
25
27
  */
26
- export declare const warn: <T>(action: ToolkitAction, message: string, code?: IoMessageCode, payload?: T) => IoMessage<T>;
28
+ export declare const warn: <T>(message: string, code?: IoMessageCode, payload?: T) => ActionLessMessage<T | undefined>;
27
29
  /**
28
30
  * Creates an info level message.
29
31
  */
30
- export declare const info: <T>(action: ToolkitAction, message: string, code?: IoMessageCode, payload?: T) => IoMessage<T>;
32
+ export declare const info: <T>(message: string, code?: IoMessageCode, payload?: T) => ActionLessMessage<T | undefined>;
31
33
  /**
32
34
  * Creates a debug level message.
33
35
  */
34
- export declare const debug: <T>(action: ToolkitAction, message: string, code?: IoMessageCode, payload?: T) => IoMessage<T>;
36
+ export declare const debug: <T>(message: string, code?: IoMessageCode, payload?: T) => ActionLessMessage<T | undefined>;
35
37
  /**
36
38
  * Creates a trace level message.
37
39
  */
38
- export declare const trace: <T>(action: ToolkitAction, message: string, code?: IoMessageCode, payload?: T) => IoMessage<T>;
40
+ export declare const trace: <T>(message: string, code?: IoMessageCode, payload?: T) => ActionLessMessage<T | undefined>;
39
41
  export {};
@@ -12,7 +12,6 @@ function formatMessage(msg, category = 'TOOLKIT') {
12
12
  return {
13
13
  time: new Date(),
14
14
  level: msg.level,
15
- action: msg.action,
16
15
  code: (_a = msg.code) !== null && _a !== void 0 ? _a : defaultMessageCode(msg.level, category),
17
16
  message: msg.message,
18
17
  data: msg.data,
@@ -32,10 +31,9 @@ function defaultMessageCode(level, category = 'TOOLKIT') {
32
31
  * Creates an error level message.
33
32
  * Errors must always have a unique code.
34
33
  */
35
- const error = (action, message, code, payload) => {
34
+ const error = (message, code, payload) => {
36
35
  return formatMessage({
37
36
  level: 'error',
38
- action,
39
37
  code,
40
38
  message,
41
39
  data: payload,
@@ -49,10 +47,9 @@ exports.error = error;
49
47
  * However actions that operate on Cloud Assemblies might include a result per Stack.
50
48
  * Unlike other messages, results must always have a code and a payload.
51
49
  */
52
- const result = (action, message, code, payload) => {
50
+ const result = (message, code, payload) => {
53
51
  return formatMessage({
54
52
  level: 'result',
55
- action,
56
53
  code,
57
54
  message,
58
55
  data: payload,
@@ -62,10 +59,9 @@ exports.result = result;
62
59
  /**
63
60
  * Creates a warning level message.
64
61
  */
65
- const warn = (action, message, code, payload) => {
62
+ const warn = (message, code, payload) => {
66
63
  return formatMessage({
67
64
  level: 'warn',
68
- action,
69
65
  code,
70
66
  message,
71
67
  data: payload,
@@ -75,10 +71,9 @@ exports.warn = warn;
75
71
  /**
76
72
  * Creates an info level message.
77
73
  */
78
- const info = (action, message, code, payload) => {
74
+ const info = (message, code, payload) => {
79
75
  return formatMessage({
80
76
  level: 'info',
81
- action,
82
77
  code,
83
78
  message,
84
79
  data: payload,
@@ -88,10 +83,9 @@ exports.info = info;
88
83
  /**
89
84
  * Creates a debug level message.
90
85
  */
91
- const debug = (action, message, code, payload) => {
86
+ const debug = (message, code, payload) => {
92
87
  return formatMessage({
93
88
  level: 'debug',
94
- action,
95
89
  code,
96
90
  message,
97
91
  data: payload,
@@ -101,14 +95,13 @@ exports.debug = debug;
101
95
  /**
102
96
  * Creates a trace level message.
103
97
  */
104
- const trace = (action, message, code, payload) => {
98
+ const trace = (message, code, payload) => {
105
99
  return formatMessage({
106
100
  level: 'trace',
107
- action,
108
101
  code,
109
102
  message,
110
103
  data: payload,
111
104
  });
112
105
  };
113
106
  exports.trace = trace;
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJtZXNzYWdlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFjQSxzQ0FTQztBQWREOzs7O0dBSUc7QUFDSCxTQUFnQixhQUFhLENBQUksR0FBMkMsRUFBRSxXQUFrQyxTQUFTOztJQUN2SCxPQUFPO1FBQ0wsSUFBSSxFQUFFLElBQUksSUFBSSxFQUFFO1FBQ2hCLEtBQUssRUFBRSxHQUFHLENBQUMsS0FBSztRQUNoQixNQUFNLEVBQUUsR0FBRyxDQUFDLE1BQU07UUFDbEIsSUFBSSxFQUFFLE1BQUEsR0FBRyxDQUFDLElBQUksbUNBQUksa0JBQWtCLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUM7UUFDekQsT0FBTyxFQUFFLEdBQUcsQ0FBQyxPQUFPO1FBQ3BCLElBQUksRUFBRSxHQUFHLENBQUMsSUFBSTtLQUNmLENBQUM7QUFDSixDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsU0FBUyxrQkFBa0IsQ0FBQyxLQUFxQixFQUFFLFdBQWtDLFNBQVM7SUFDNUYsTUFBTSxjQUFjLEdBQUcsS0FBSyxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDOUMsS0FBSyxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDdEIsR0FBRyxDQUFDO0lBQ1IsT0FBTyxPQUFPLFFBQVEsSUFBSSxjQUFjLE1BQU0sQ0FBQztBQUNqRCxDQUFDO0FBRUQ7OztHQUdHO0FBQ0ksTUFBTSxLQUFLLEdBQUcsQ0FBSSxNQUFxQixFQUFFLE9BQWUsRUFBRSxJQUFtQixFQUFFLE9BQVcsRUFBRSxFQUFFO0lBQ25HLE9BQU8sYUFBYSxDQUFDO1FBQ25CLEtBQUssRUFBRSxPQUFPO1FBQ2QsTUFBTTtRQUNOLElBQUk7UUFDSixPQUFPO1FBQ1AsSUFBSSxFQUFFLE9BQU87S0FDZCxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUM7QUFSVyxRQUFBLEtBQUssU0FRaEI7QUFFRjs7Ozs7O0dBTUc7QUFDSSxNQUFNLE1BQU0sR0FBRyxDQUFJLE1BQXFCLEVBQUUsT0FBZSxFQUFFLElBQW1CLEVBQUUsT0FBVSxFQUFFLEVBQUU7SUFDbkcsT0FBTyxhQUFhLENBQUM7UUFDbkIsS0FBSyxFQUFFLFFBQVE7UUFDZixNQUFNO1FBQ04sSUFBSTtRQUNKLE9BQU87UUFDUCxJQUFJLEVBQUUsT0FBTztLQUNkLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQVJXLFFBQUEsTUFBTSxVQVFqQjtBQUVGOztHQUVHO0FBQ0ksTUFBTSxJQUFJLEdBQUcsQ0FBSSxNQUFxQixFQUFFLE9BQWUsRUFBRSxJQUFvQixFQUFFLE9BQVcsRUFBRSxFQUFFO0lBQ25HLE9BQU8sYUFBYSxDQUFDO1FBQ25CLEtBQUssRUFBRSxNQUFNO1FBQ2IsTUFBTTtRQUNOLElBQUk7UUFDSixPQUFPO1FBQ1AsSUFBSSxFQUFFLE9BQU87S0FDZCxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUM7QUFSVyxRQUFBLElBQUksUUFRZjtBQUVGOztHQUVHO0FBQ0ksTUFBTSxJQUFJLEdBQUcsQ0FBSSxNQUFxQixFQUFFLE9BQWUsRUFBRSxJQUFvQixFQUFFLE9BQVcsRUFBRSxFQUFFO0lBQ25HLE9BQU8sYUFBYSxDQUFDO1FBQ25CLEtBQUssRUFBRSxNQUFNO1FBQ2IsTUFBTTtRQUNOLElBQUk7UUFDSixPQUFPO1FBQ1AsSUFBSSxFQUFFLE9BQU87S0FDZCxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUM7QUFSVyxRQUFBLElBQUksUUFRZjtBQUVGOztHQUVHO0FBQ0ksTUFBTSxLQUFLLEdBQUcsQ0FBSSxNQUFxQixFQUFFLE9BQWUsRUFBRSxJQUFvQixFQUFFLE9BQVcsRUFBRSxFQUFFO0lBQ3BHLE9BQU8sYUFBYSxDQUFDO1FBQ25CLEtBQUssRUFBRSxPQUFPO1FBQ2QsTUFBTTtRQUNOLElBQUk7UUFDSixPQUFPO1FBQ1AsSUFBSSxFQUFFLE9BQU87S0FDZCxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUM7QUFSVyxRQUFBLEtBQUssU0FRaEI7QUFFRjs7R0FFRztBQUNJLE1BQU0sS0FBSyxHQUFHLENBQUksTUFBcUIsRUFBRSxPQUFlLEVBQUUsSUFBb0IsRUFBRSxPQUFXLEVBQUUsRUFBRTtJQUNwRyxPQUFPLGFBQWEsQ0FBQztRQUNuQixLQUFLLEVBQUUsT0FBTztRQUNkLE1BQU07UUFDTixJQUFJO1FBQ0osT0FBTztRQUNQLElBQUksRUFBRSxPQUFPO0tBQ2QsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBUlcsUUFBQSxLQUFLLFNBUWhCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gVGhpcyBmaWxlIGlzIGEgYmFja3BvcnQgZnJvbSBAYXdzLWNkay90b29sa2l0LlxuLy8gVGhlIENMSSBjYW5ub3QgZGVwZW5kIG9uIHRoZSB0b29sa2l0IHlldCwgYmVjYXVzZSB0aGUgdG9vbGtpdCBjdXJyZW50bHkgZGVwZW5kcyBvbiB0aGUgQ0xJLlxuLy8gT25jZSB3ZSBoYXZlIGNvbXBsZXRlIHRoZSByZXBvIHNwbGl0LCB3ZSB3aWxsIGNyZWF0ZSBhIHRlbXBvcmFyeSwgcHJpdmF0ZSBsaWJyYXJ5IHBhY2thZ2Vcbi8vIGZvciBhbGwgY29kZSB0aGF0IGlzIHNoYXJlZCBiZXR3ZWVuIENMSSBhbmQgdG9vbGtpdC4gVGhpcyBpcyB3aGVyZSB0aGlzIGZpbGUgd2lsbCB0aGVuIGxpdmUuXG5pbXBvcnQgeyBJb01lc3NhZ2UsIElvTWVzc2FnZUNvZGUsIElvTWVzc2FnZUNvZGVDYXRlZ29yeSwgSW9NZXNzYWdlTGV2ZWwsIFRvb2xraXRBY3Rpb24gfSBmcm9tICcuLi90b29sa2l0L2NsaS1pby1ob3N0JztcblxudHlwZSBPcHRpb25hbDxULCBLIGV4dGVuZHMga2V5b2YgVD4gPSBQaWNrPFBhcnRpYWw8VD4sIEs+ICYgT21pdDxULCBLPjtcbnR5cGUgU2ltcGxpZmllZE1lc3NhZ2U8VD4gPSBPbWl0PElvTWVzc2FnZTxUPiwgJ3RpbWUnPjtcblxuLyoqXG4gKiBJbnRlcm5hbCBoZWxwZXIgdGhhdCBwcm9jZXNzZXMgbG9nIGlucHV0cyBpbnRvIGEgY29uc2lzdGVudCBmb3JtYXQuXG4gKiBIYW5kbGVzIHN0cmluZyBpbnRlcnBvbGF0aW9uLCBmb3JtYXQgc3RyaW5ncywgYW5kIG9iamVjdCBwYXJhbWV0ZXIgc3R5bGVzLlxuICogQXBwbGllcyBvcHRpb25hbCBzdHlsaW5nIGFuZCBwcmVwYXJlcyB0aGUgZmluYWwgbWVzc2FnZSBmb3IgbG9nZ2luZy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdE1lc3NhZ2U8VD4obXNnOiBPcHRpb25hbDxTaW1wbGlmaWVkTWVzc2FnZTxUPiwgJ2NvZGUnPiwgY2F0ZWdvcnk6IElvTWVzc2FnZUNvZGVDYXRlZ29yeSA9ICdUT09MS0lUJyk6IElvTWVzc2FnZTxUPiB7XG4gIHJldHVybiB7XG4gICAgdGltZTogbmV3IERhdGUoKSxcbiAgICBsZXZlbDogbXNnLmxldmVsLFxuICAgIGFjdGlvbjogbXNnLmFjdGlvbixcbiAgICBjb2RlOiBtc2cuY29kZSA/PyBkZWZhdWx0TWVzc2FnZUNvZGUobXNnLmxldmVsLCBjYXRlZ29yeSksXG4gICAgbWVzc2FnZTogbXNnLm1lc3NhZ2UsXG4gICAgZGF0YTogbXNnLmRhdGEsXG4gIH07XG59XG5cbi8qKlxuICogQnVpbGQgYSBtZXNzYWdlIGNvZGUgZnJvbSBsZXZlbCBhbmQgY2F0ZWdvcnkuIFRoZSBjb2RlIG11c3QgYmUgdmFsaWQgZm9yIHRoaXMgZnVuY3Rpb24gdG8gcGFzcy5cbiAqIE90aGVyd2lzZSBpdCByZXR1cm5zIGEgVG9vbGtpdEVycm9yLlxuICovXG5mdW5jdGlvbiBkZWZhdWx0TWVzc2FnZUNvZGUobGV2ZWw6IElvTWVzc2FnZUxldmVsLCBjYXRlZ29yeTogSW9NZXNzYWdlQ29kZUNhdGVnb3J5ID0gJ1RPT0xLSVQnKTogSW9NZXNzYWdlQ29kZSB7XG4gIGNvbnN0IGxldmVsSW5kaWNhdG9yID0gbGV2ZWwgPT09ICdlcnJvcicgPyAnRScgOlxuICAgIGxldmVsID09PSAnd2FybicgPyAnVycgOlxuICAgICAgJ0knO1xuICByZXR1cm4gYENES18ke2NhdGVnb3J5fV8ke2xldmVsSW5kaWNhdG9yfTAwMDBgO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYW4gZXJyb3IgbGV2ZWwgbWVzc2FnZS5cbiAqIEVycm9ycyBtdXN0IGFsd2F5cyBoYXZlIGEgdW5pcXVlIGNvZGUuXG4gKi9cbmV4cG9ydCBjb25zdCBlcnJvciA9IDxUPihhY3Rpb246IFRvb2xraXRBY3Rpb24sIG1lc3NhZ2U6IHN0cmluZywgY29kZTogSW9NZXNzYWdlQ29kZSwgcGF5bG9hZD86IFQpID0+IHtcbiAgcmV0dXJuIGZvcm1hdE1lc3NhZ2Uoe1xuICAgIGxldmVsOiAnZXJyb3InLFxuICAgIGFjdGlvbixcbiAgICBjb2RlLFxuICAgIG1lc3NhZ2UsXG4gICAgZGF0YTogcGF5bG9hZCxcbiAgfSk7XG59O1xuXG4vKipcbiAqIENyZWF0ZXMgYSByZXN1bHQgbGV2ZWwgbWVzc2FnZSBhbmQgcmVwcmVzZW50cyB0aGUgbW9zdCBpbXBvcnRhbnQgbWVzc2FnZSBmb3IgYSBnaXZlbiBhY3Rpb24uXG4gKlxuICogVGhleSBzaG91bGQgYmUgdXNlZCBzcGFyc2VseSwgd2l0aCBhbiBhY3Rpb24gdXN1YWxseSBoYXZpbmcgbm8gb3IgZXhhY3RseSBvbmUgcmVzdWx0LlxuICogSG93ZXZlciBhY3Rpb25zIHRoYXQgb3BlcmF0ZSBvbiBDbG91ZCBBc3NlbWJsaWVzIG1pZ2h0IGluY2x1ZGUgYSByZXN1bHQgcGVyIFN0YWNrLlxuICogVW5saWtlIG90aGVyIG1lc3NhZ2VzLCByZXN1bHRzIG11c3QgYWx3YXlzIGhhdmUgYSBjb2RlIGFuZCBhIHBheWxvYWQuXG4gKi9cbmV4cG9ydCBjb25zdCByZXN1bHQgPSA8VD4oYWN0aW9uOiBUb29sa2l0QWN0aW9uLCBtZXNzYWdlOiBzdHJpbmcsIGNvZGU6IElvTWVzc2FnZUNvZGUsIHBheWxvYWQ6IFQpID0+IHtcbiAgcmV0dXJuIGZvcm1hdE1lc3NhZ2Uoe1xuICAgIGxldmVsOiAncmVzdWx0JyxcbiAgICBhY3Rpb24sXG4gICAgY29kZSxcbiAgICBtZXNzYWdlLFxuICAgIGRhdGE6IHBheWxvYWQsXG4gIH0pO1xufTtcblxuLyoqXG4gKiBDcmVhdGVzIGEgd2FybmluZyBsZXZlbCBtZXNzYWdlLlxuICovXG5leHBvcnQgY29uc3Qgd2FybiA9IDxUPihhY3Rpb246IFRvb2xraXRBY3Rpb24sIG1lc3NhZ2U6IHN0cmluZywgY29kZT86IElvTWVzc2FnZUNvZGUsIHBheWxvYWQ/OiBUKSA9PiB7XG4gIHJldHVybiBmb3JtYXRNZXNzYWdlKHtcbiAgICBsZXZlbDogJ3dhcm4nLFxuICAgIGFjdGlvbixcbiAgICBjb2RlLFxuICAgIG1lc3NhZ2UsXG4gICAgZGF0YTogcGF5bG9hZCxcbiAgfSk7XG59O1xuXG4vKipcbiAqIENyZWF0ZXMgYW4gaW5mbyBsZXZlbCBtZXNzYWdlLlxuICovXG5leHBvcnQgY29uc3QgaW5mbyA9IDxUPihhY3Rpb246IFRvb2xraXRBY3Rpb24sIG1lc3NhZ2U6IHN0cmluZywgY29kZT86IElvTWVzc2FnZUNvZGUsIHBheWxvYWQ/OiBUKSA9PiB7XG4gIHJldHVybiBmb3JtYXRNZXNzYWdlKHtcbiAgICBsZXZlbDogJ2luZm8nLFxuICAgIGFjdGlvbixcbiAgICBjb2RlLFxuICAgIG1lc3NhZ2UsXG4gICAgZGF0YTogcGF5bG9hZCxcbiAgfSk7XG59O1xuXG4vKipcbiAqIENyZWF0ZXMgYSBkZWJ1ZyBsZXZlbCBtZXNzYWdlLlxuICovXG5leHBvcnQgY29uc3QgZGVidWcgPSA8VD4oYWN0aW9uOiBUb29sa2l0QWN0aW9uLCBtZXNzYWdlOiBzdHJpbmcsIGNvZGU/OiBJb01lc3NhZ2VDb2RlLCBwYXlsb2FkPzogVCkgPT4ge1xuICByZXR1cm4gZm9ybWF0TWVzc2FnZSh7XG4gICAgbGV2ZWw6ICdkZWJ1ZycsXG4gICAgYWN0aW9uLFxuICAgIGNvZGUsXG4gICAgbWVzc2FnZSxcbiAgICBkYXRhOiBwYXlsb2FkLFxuICB9KTtcbn07XG5cbi8qKlxuICogQ3JlYXRlcyBhIHRyYWNlIGxldmVsIG1lc3NhZ2UuXG4gKi9cbmV4cG9ydCBjb25zdCB0cmFjZSA9IDxUPihhY3Rpb246IFRvb2xraXRBY3Rpb24sIG1lc3NhZ2U6IHN0cmluZywgY29kZT86IElvTWVzc2FnZUNvZGUsIHBheWxvYWQ/OiBUKSA9PiB7XG4gIHJldHVybiBmb3JtYXRNZXNzYWdlKHtcbiAgICBsZXZlbDogJ3RyYWNlJyxcbiAgICBhY3Rpb24sXG4gICAgY29kZSxcbiAgICBtZXNzYWdlLFxuICAgIGRhdGE6IHBheWxvYWQsXG4gIH0pO1xufTtcblxuIl19
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJtZXNzYWdlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFnQkEsc0NBUUM7QUFiRDs7OztHQUlHO0FBQ0gsU0FBZ0IsYUFBYSxDQUFJLEdBQTJDLEVBQUUsV0FBa0MsU0FBUzs7SUFDdkgsT0FBTztRQUNMLElBQUksRUFBRSxJQUFJLElBQUksRUFBRTtRQUNoQixLQUFLLEVBQUUsR0FBRyxDQUFDLEtBQUs7UUFDaEIsSUFBSSxFQUFFLE1BQUEsR0FBRyxDQUFDLElBQUksbUNBQUksa0JBQWtCLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUM7UUFDekQsT0FBTyxFQUFFLEdBQUcsQ0FBQyxPQUFPO1FBQ3BCLElBQUksRUFBRSxHQUFHLENBQUMsSUFBSTtLQUNmLENBQUM7QUFDSixDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsU0FBUyxrQkFBa0IsQ0FBQyxLQUFxQixFQUFFLFdBQWtDLFNBQVM7SUFDNUYsTUFBTSxjQUFjLEdBQUcsS0FBSyxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDOUMsS0FBSyxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDdEIsR0FBRyxDQUFDO0lBQ1IsT0FBTyxPQUFPLFFBQVEsSUFBSSxjQUFjLE1BQU0sQ0FBQztBQUNqRCxDQUFDO0FBRUQ7OztHQUdHO0FBQ0ksTUFBTSxLQUFLLEdBQUcsQ0FBSSxPQUFlLEVBQUUsSUFBbUIsRUFBRSxPQUFXLEVBQUUsRUFBRTtJQUM1RSxPQUFPLGFBQWEsQ0FBQztRQUNuQixLQUFLLEVBQUUsT0FBTztRQUNkLElBQUk7UUFDSixPQUFPO1FBQ1AsSUFBSSxFQUFFLE9BQU87S0FDZCxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUM7QUFQVyxRQUFBLEtBQUssU0FPaEI7QUFFRjs7Ozs7O0dBTUc7QUFDSSxNQUFNLE1BQU0sR0FBRyxDQUFJLE9BQWUsRUFBRSxJQUFtQixFQUFFLE9BQVUsRUFBRSxFQUFFO0lBQzVFLE9BQU8sYUFBYSxDQUFDO1FBQ25CLEtBQUssRUFBRSxRQUFRO1FBQ2YsSUFBSTtRQUNKLE9BQU87UUFDUCxJQUFJLEVBQUUsT0FBTztLQUNkLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQVBXLFFBQUEsTUFBTSxVQU9qQjtBQUVGOztHQUVHO0FBQ0ksTUFBTSxJQUFJLEdBQUcsQ0FBSSxPQUFlLEVBQUUsSUFBb0IsRUFBRSxPQUFXLEVBQUUsRUFBRTtJQUM1RSxPQUFPLGFBQWEsQ0FBQztRQUNuQixLQUFLLEVBQUUsTUFBTTtRQUNiLElBQUk7UUFDSixPQUFPO1FBQ1AsSUFBSSxFQUFFLE9BQU87S0FDZCxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUM7QUFQVyxRQUFBLElBQUksUUFPZjtBQUVGOztHQUVHO0FBQ0ksTUFBTSxJQUFJLEdBQUcsQ0FBSSxPQUFlLEVBQUUsSUFBb0IsRUFBRSxPQUFXLEVBQUUsRUFBRTtJQUM1RSxPQUFPLGFBQWEsQ0FBQztRQUNuQixLQUFLLEVBQUUsTUFBTTtRQUNiLElBQUk7UUFDSixPQUFPO1FBQ1AsSUFBSSxFQUFFLE9BQU87S0FDZCxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUM7QUFQVyxRQUFBLElBQUksUUFPZjtBQUVGOztHQUVHO0FBQ0ksTUFBTSxLQUFLLEdBQUcsQ0FBSSxPQUFlLEVBQUUsSUFBb0IsRUFBRSxPQUFXLEVBQUUsRUFBRTtJQUM3RSxPQUFPLGFBQWEsQ0FBQztRQUNuQixLQUFLLEVBQUUsT0FBTztRQUNkLElBQUk7UUFDSixPQUFPO1FBQ1AsSUFBSSxFQUFFLE9BQU87S0FDZCxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUM7QUFQVyxRQUFBLEtBQUssU0FPaEI7QUFFRjs7R0FFRztBQUNJLE1BQU0sS0FBSyxHQUFHLENBQUksT0FBZSxFQUFFLElBQW9CLEVBQUUsT0FBVyxFQUFFLEVBQUU7SUFDN0UsT0FBTyxhQUFhLENBQUM7UUFDbkIsS0FBSyxFQUFFLE9BQU87UUFDZCxJQUFJO1FBQ0osT0FBTztRQUNQLElBQUksRUFBRSxPQUFPO0tBQ2QsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBUFcsUUFBQSxLQUFLLFNBT2hCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gVGhpcyBmaWxlIGlzIGEgYmFja3BvcnQgZnJvbSBAYXdzLWNkay90b29sa2l0LlxuLy8gVGhlIENMSSBjYW5ub3QgZGVwZW5kIG9uIHRoZSB0b29sa2l0IHlldCwgYmVjYXVzZSB0aGUgdG9vbGtpdCBjdXJyZW50bHkgZGVwZW5kcyBvbiB0aGUgQ0xJLlxuLy8gT25jZSB3ZSBoYXZlIGNvbXBsZXRlIHRoZSByZXBvIHNwbGl0LCB3ZSB3aWxsIGNyZWF0ZSBhIHRlbXBvcmFyeSwgcHJpdmF0ZSBsaWJyYXJ5IHBhY2thZ2Vcbi8vIGZvciBhbGwgY29kZSB0aGF0IGlzIHNoYXJlZCBiZXR3ZWVuIENMSSBhbmQgdG9vbGtpdC4gVGhpcyBpcyB3aGVyZSB0aGlzIGZpbGUgd2lsbCB0aGVuIGxpdmUuXG5pbXBvcnQgdHlwZSB7IEFjdGlvbkxlc3NNZXNzYWdlIH0gZnJvbSAnLi4vLi4vLi4vQGF3cy1jZGsvdG1wLXRvb2xraXQtaGVscGVycy9zcmMvYXBpL2lvL3ByaXZhdGUnO1xuaW1wb3J0IHR5cGUgeyBJb01lc3NhZ2VDb2RlQ2F0ZWdvcnkgfSBmcm9tICcuLi9sb2dnaW5nJztcbmltcG9ydCB0eXBlIHsgSW9NZXNzYWdlQ29kZSwgSW9NZXNzYWdlTGV2ZWwgfSBmcm9tICcuLi90b29sa2l0L2NsaS1pby1ob3N0JztcblxudHlwZSBPcHRpb25hbDxULCBLIGV4dGVuZHMga2V5b2YgVD4gPSBQaWNrPFBhcnRpYWw8VD4sIEs+ICYgT21pdDxULCBLPjtcbnR5cGUgU2ltcGxpZmllZE1lc3NhZ2U8VD4gPSBPbWl0PEFjdGlvbkxlc3NNZXNzYWdlPFQ+LCAndGltZSc+O1xuXG4vKipcbiAqIEludGVybmFsIGhlbHBlciB0aGF0IHByb2Nlc3NlcyBsb2cgaW5wdXRzIGludG8gYSBjb25zaXN0ZW50IGZvcm1hdC5cbiAqIEhhbmRsZXMgc3RyaW5nIGludGVycG9sYXRpb24sIGZvcm1hdCBzdHJpbmdzLCBhbmQgb2JqZWN0IHBhcmFtZXRlciBzdHlsZXMuXG4gKiBBcHBsaWVzIG9wdGlvbmFsIHN0eWxpbmcgYW5kIHByZXBhcmVzIHRoZSBmaW5hbCBtZXNzYWdlIGZvciBsb2dnaW5nLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0TWVzc2FnZTxUPihtc2c6IE9wdGlvbmFsPFNpbXBsaWZpZWRNZXNzYWdlPFQ+LCAnY29kZSc+LCBjYXRlZ29yeTogSW9NZXNzYWdlQ29kZUNhdGVnb3J5ID0gJ1RPT0xLSVQnKTogQWN0aW9uTGVzc01lc3NhZ2U8VD4ge1xuICByZXR1cm4ge1xuICAgIHRpbWU6IG5ldyBEYXRlKCksXG4gICAgbGV2ZWw6IG1zZy5sZXZlbCxcbiAgICBjb2RlOiBtc2cuY29kZSA/PyBkZWZhdWx0TWVzc2FnZUNvZGUobXNnLmxldmVsLCBjYXRlZ29yeSksXG4gICAgbWVzc2FnZTogbXNnLm1lc3NhZ2UsXG4gICAgZGF0YTogbXNnLmRhdGEsXG4gIH07XG59XG5cbi8qKlxuICogQnVpbGQgYSBtZXNzYWdlIGNvZGUgZnJvbSBsZXZlbCBhbmQgY2F0ZWdvcnkuIFRoZSBjb2RlIG11c3QgYmUgdmFsaWQgZm9yIHRoaXMgZnVuY3Rpb24gdG8gcGFzcy5cbiAqIE90aGVyd2lzZSBpdCByZXR1cm5zIGEgVG9vbGtpdEVycm9yLlxuICovXG5mdW5jdGlvbiBkZWZhdWx0TWVzc2FnZUNvZGUobGV2ZWw6IElvTWVzc2FnZUxldmVsLCBjYXRlZ29yeTogSW9NZXNzYWdlQ29kZUNhdGVnb3J5ID0gJ1RPT0xLSVQnKTogSW9NZXNzYWdlQ29kZSB7XG4gIGNvbnN0IGxldmVsSW5kaWNhdG9yID0gbGV2ZWwgPT09ICdlcnJvcicgPyAnRScgOlxuICAgIGxldmVsID09PSAnd2FybicgPyAnVycgOlxuICAgICAgJ0knO1xuICByZXR1cm4gYENES18ke2NhdGVnb3J5fV8ke2xldmVsSW5kaWNhdG9yfTAwMDBgO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYW4gZXJyb3IgbGV2ZWwgbWVzc2FnZS5cbiAqIEVycm9ycyBtdXN0IGFsd2F5cyBoYXZlIGEgdW5pcXVlIGNvZGUuXG4gKi9cbmV4cG9ydCBjb25zdCBlcnJvciA9IDxUPihtZXNzYWdlOiBzdHJpbmcsIGNvZGU6IElvTWVzc2FnZUNvZGUsIHBheWxvYWQ/OiBUKSA9PiB7XG4gIHJldHVybiBmb3JtYXRNZXNzYWdlKHtcbiAgICBsZXZlbDogJ2Vycm9yJyxcbiAgICBjb2RlLFxuICAgIG1lc3NhZ2UsXG4gICAgZGF0YTogcGF5bG9hZCxcbiAgfSk7XG59O1xuXG4vKipcbiAqIENyZWF0ZXMgYSByZXN1bHQgbGV2ZWwgbWVzc2FnZSBhbmQgcmVwcmVzZW50cyB0aGUgbW9zdCBpbXBvcnRhbnQgbWVzc2FnZSBmb3IgYSBnaXZlbiBhY3Rpb24uXG4gKlxuICogVGhleSBzaG91bGQgYmUgdXNlZCBzcGFyc2VseSwgd2l0aCBhbiBhY3Rpb24gdXN1YWxseSBoYXZpbmcgbm8gb3IgZXhhY3RseSBvbmUgcmVzdWx0LlxuICogSG93ZXZlciBhY3Rpb25zIHRoYXQgb3BlcmF0ZSBvbiBDbG91ZCBBc3NlbWJsaWVzIG1pZ2h0IGluY2x1ZGUgYSByZXN1bHQgcGVyIFN0YWNrLlxuICogVW5saWtlIG90aGVyIG1lc3NhZ2VzLCByZXN1bHRzIG11c3QgYWx3YXlzIGhhdmUgYSBjb2RlIGFuZCBhIHBheWxvYWQuXG4gKi9cbmV4cG9ydCBjb25zdCByZXN1bHQgPSA8VD4obWVzc2FnZTogc3RyaW5nLCBjb2RlOiBJb01lc3NhZ2VDb2RlLCBwYXlsb2FkOiBUKSA9PiB7XG4gIHJldHVybiBmb3JtYXRNZXNzYWdlKHtcbiAgICBsZXZlbDogJ3Jlc3VsdCcsXG4gICAgY29kZSxcbiAgICBtZXNzYWdlLFxuICAgIGRhdGE6IHBheWxvYWQsXG4gIH0pO1xufTtcblxuLyoqXG4gKiBDcmVhdGVzIGEgd2FybmluZyBsZXZlbCBtZXNzYWdlLlxuICovXG5leHBvcnQgY29uc3Qgd2FybiA9IDxUPihtZXNzYWdlOiBzdHJpbmcsIGNvZGU/OiBJb01lc3NhZ2VDb2RlLCBwYXlsb2FkPzogVCkgPT4ge1xuICByZXR1cm4gZm9ybWF0TWVzc2FnZSh7XG4gICAgbGV2ZWw6ICd3YXJuJyxcbiAgICBjb2RlLFxuICAgIG1lc3NhZ2UsXG4gICAgZGF0YTogcGF5bG9hZCxcbiAgfSk7XG59O1xuXG4vKipcbiAqIENyZWF0ZXMgYW4gaW5mbyBsZXZlbCBtZXNzYWdlLlxuICovXG5leHBvcnQgY29uc3QgaW5mbyA9IDxUPihtZXNzYWdlOiBzdHJpbmcsIGNvZGU/OiBJb01lc3NhZ2VDb2RlLCBwYXlsb2FkPzogVCkgPT4ge1xuICByZXR1cm4gZm9ybWF0TWVzc2FnZSh7XG4gICAgbGV2ZWw6ICdpbmZvJyxcbiAgICBjb2RlLFxuICAgIG1lc3NhZ2UsXG4gICAgZGF0YTogcGF5bG9hZCxcbiAgfSk7XG59O1xuXG4vKipcbiAqIENyZWF0ZXMgYSBkZWJ1ZyBsZXZlbCBtZXNzYWdlLlxuICovXG5leHBvcnQgY29uc3QgZGVidWcgPSA8VD4obWVzc2FnZTogc3RyaW5nLCBjb2RlPzogSW9NZXNzYWdlQ29kZSwgcGF5bG9hZD86IFQpID0+IHtcbiAgcmV0dXJuIGZvcm1hdE1lc3NhZ2Uoe1xuICAgIGxldmVsOiAnZGVidWcnLFxuICAgIGNvZGUsXG4gICAgbWVzc2FnZSxcbiAgICBkYXRhOiBwYXlsb2FkLFxuICB9KTtcbn07XG5cbi8qKlxuICogQ3JlYXRlcyBhIHRyYWNlIGxldmVsIG1lc3NhZ2UuXG4gKi9cbmV4cG9ydCBjb25zdCB0cmFjZSA9IDxUPihtZXNzYWdlOiBzdHJpbmcsIGNvZGU/OiBJb01lc3NhZ2VDb2RlLCBwYXlsb2FkPzogVCkgPT4ge1xuICByZXR1cm4gZm9ybWF0TWVzc2FnZSh7XG4gICAgbGV2ZWw6ICd0cmFjZScsXG4gICAgY29kZSxcbiAgICBtZXNzYWdlLFxuICAgIGRhdGE6IHBheWxvYWQsXG4gIH0pO1xufTtcblxuIl19