@cdktn/provider-generator 0.25.0-pre.2 → 0.25.0-pre.20

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 (51) hide show
  1. package/build/__tests__/edge-provider-schema/builder.js +3 -3
  2. package/build/__tests__/edge-provider-schema/cli.js +18 -8
  3. package/build/__tests__/edge-provider-schema.test.js +18 -8
  4. package/build/__tests__/provider.test.js +21 -9
  5. package/build/get/__tests__/constructs-maker.test.js +91 -8
  6. package/build/get/__tests__/generator/complex-computed-types.test.js +18 -8
  7. package/build/get/__tests__/generator/deep-nested-attributes.test.js +18 -8
  8. package/build/get/__tests__/generator/description-escaping.test.js +18 -8
  9. package/build/get/__tests__/generator/empty-provider-resources.test.js +18 -8
  10. package/build/get/__tests__/generator/ephemeral-resources.test.js +18 -8
  11. package/build/get/__tests__/generator/export-sharding.test.js +18 -8
  12. package/build/get/__tests__/generator/import-style.test.js +18 -8
  13. package/build/get/__tests__/generator/module-generator.test.js +18 -8
  14. package/build/get/__tests__/generator/nested-types.test.js +18 -8
  15. package/build/get/__tests__/generator/provider-functions-name-collision.test.d.ts +2 -0
  16. package/build/get/__tests__/generator/provider-functions-name-collision.test.js +89 -0
  17. package/build/get/__tests__/generator/provider-functions.test.js +18 -8
  18. package/build/get/__tests__/generator/provider.test.js +18 -8
  19. package/build/get/__tests__/generator/resource-types.test.js +18 -8
  20. package/build/get/__tests__/generator/skipped-attributes.test.js +18 -8
  21. package/build/get/__tests__/generator/types.test.js +18 -8
  22. package/build/get/__tests__/generator/versions-file.test.js +18 -8
  23. package/build/get/__tests__/generator/write-only.test.js +18 -8
  24. package/build/get/__tests__/target-versions.test.js +18 -8
  25. package/build/get/__tests__/util.js +26 -12
  26. package/build/get/constructs-maker.d.ts +17 -0
  27. package/build/get/constructs-maker.js +72 -12
  28. package/build/get/generator/emitter/struct-emitter.js +18 -8
  29. package/build/get/generator/loop-detection.js +2 -3
  30. package/build/get/generator/models/attribute-model.js +3 -3
  31. package/build/get/generator/models/attribute-type-model.js +3 -3
  32. package/build/get/generator/models/provider-function-model.js +3 -4
  33. package/build/get/generator/models/supported-stored-classes.js +2 -3
  34. package/build/get/generator/provider-generator.d.ts +12 -0
  35. package/build/get/generator/provider-generator.js +18 -3
  36. package/build/get/generator/resource-parser.js +10 -4
  37. package/build/get/generator/sanitized-comments.js +2 -3
  38. package/build/get/generator/skipped-attributes.js +2 -3
  39. package/build/index.js +3 -3
  40. package/build/util.js +3 -4
  41. package/package.json +11 -11
  42. package/src/__tests__/provider.test.ts +3 -1
  43. package/src/get/__tests__/constructs-maker.test.ts +125 -1
  44. package/src/get/__tests__/generator/fixtures/provider-functions-name-collision.test.fixture.json +42 -0
  45. package/src/get/__tests__/generator/provider-functions-name-collision.test.ts +84 -0
  46. package/src/get/__tests__/util.ts +6 -1
  47. package/src/get/constructs-maker.ts +71 -2
  48. package/src/get/generator/models/attribute-type-model.ts +1 -2
  49. package/src/get/generator/provider-generator.ts +21 -2
  50. package/src/get/generator/resource-parser.ts +11 -2
  51. package/tsconfig.json +4 -0
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SchemaBuilder = exports.schema = void 0;
3
+ exports.SchemaBuilder = void 0;
4
+ exports.schema = schema;
4
5
  function schema({ name, provider, resources = {}, dataSources = {}, ephemeralResources = {}, functions = {}, }) {
5
6
  return {
6
7
  format_version: "0.2",
@@ -15,7 +16,6 @@ function schema({ name, provider, resources = {}, dataSources = {}, ephemeralRes
15
16
  },
16
17
  };
17
18
  }
18
- exports.schema = schema;
19
19
  class SchemaBuilder {
20
20
  constructor() {
21
21
  this.schema = {
@@ -106,4 +106,4 @@ class SchemaBuilder {
106
106
  }
107
107
  }
108
108
  exports.SchemaBuilder = SchemaBuilder;
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9fX3Rlc3RzX18vZWRnZS1wcm92aWRlci1zY2hlbWEvYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFZQSxTQUFnQixNQUFNLENBQUMsRUFDckIsSUFBSSxFQUNKLFFBQVEsRUFDUixTQUFTLEdBQUcsRUFBRSxFQUNkLFdBQVcsR0FBRyxFQUFFLEVBQ2hCLGtCQUFrQixHQUFHLEVBQUUsRUFDdkIsU0FBUyxHQUFHLEVBQUUsR0FRZjtJQUNDLE9BQU87UUFDTCxjQUFjLEVBQUUsS0FBSztRQUNyQixnQkFBZ0IsRUFBRTtZQUNoQixDQUFDLCtCQUErQixJQUFJLEVBQUUsQ0FBQyxFQUFFO2dCQUN2QyxRQUFRLEVBQUUsUUFBUTtnQkFDbEIsZ0JBQWdCLEVBQUUsU0FBUztnQkFDM0IsbUJBQW1CLEVBQUUsV0FBVztnQkFDaEMsMEJBQTBCLEVBQUUsa0JBQWtCO2dCQUM5QyxTQUFTLEVBQUUsU0FBUzthQUNyQjtTQUNGO0tBQ0YsQ0FBQztBQUNKLENBQUM7QUEzQkQsd0JBMkJDO0FBRUQsTUFBYSxhQUFhO0lBR3hCO1FBQ0UsSUFBSSxDQUFDLE1BQU0sR0FBRztZQUNaLE9BQU8sRUFBRSxDQUFDO1lBQ1YsS0FBSyxFQUFFO2dCQUNMLFVBQVUsRUFBRSxFQUFFO2dCQUNkLFdBQVcsRUFBRSxFQUFFO2FBQ2hCO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTSxTQUFTLENBQUMsRUFDZixJQUFJLEVBQ0osSUFBSSxFQUNKLFFBQVEsR0FBRyxLQUFLLEVBQ2hCLFFBQVEsR0FBRyxLQUFLLEVBQ2hCLFFBQVEsR0FBRyxDQUFDLFFBQVEsRUFDcEIsU0FBUyxHQUFHLEtBQUssR0FRbEI7UUFDQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUc7WUFDbkMsSUFBSTtZQUNKLFFBQVE7WUFDUixRQUFRO1lBQ1IsUUFB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O1lBQ3hCLFFBQVE7WUFDUixRQUFRO1NBQ1QsQ0FBQzthQUNDLFNBQVMsQ0FBQztZQUNULElBQUksRUFBRSxNQUFNLEdBQUcsU0FBUztZQUN4QixJQUFJLEVBQUUsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDO1lBQ3hCLFFBQVE7WUFDUixRQUFRO1NBQ1QsQ0FBQzthQUNELFNBQVMsQ0FBQztZQUNULElBQUksRUFBRSxNQUFNLEdBQUcsVUFBVTtZQUN6QixJQUFJLEVBQUUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDO1lBQ3RCLFFBQVE7WUFDUixRQUFRO1NBQ1QsQ0FBQyxDQUFDO1FBRUwsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0NBQ0Y7QUEvSkQsc0NBK0pDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbmltcG9ydCB7XG4gIFByb3ZpZGVyU2NoZW1hLFxuICBTY2hlbWEsXG4gIEF0dHJpYnV0ZVR5cGUsXG4gIEJsb2NrLFxuICBGdW5jdGlvblNpZ25hdHVyZSxcbn0gZnJvbSBcIkBjZGt0bi9jb21tb25zXCI7XG5cbnR5cGUgUmVzb3VyY2VTY2hlbWEgPSB7IFt0eXBlOiBzdHJpbmddOiBTY2hlbWEgfTtcbnR5cGUgRnVuY3Rpb25TY2hlbWEgPSB7IFtuYW1lOiBzdHJpbmddOiBGdW5jdGlvblNpZ25hdHVyZSB9O1xuZXhwb3J0IGZ1bmN0aW9uIHNjaGVtYSh7XG4gIG5hbWUsXG4gIHByb3ZpZGVyLFxuICByZXNvdXJjZXMgPSB7fSxcbiAgZGF0YVNvdXJjZXMgPSB7fSxcbiAgZXBoZW1lcmFsUmVzb3VyY2VzID0ge30sXG4gIGZ1bmN0aW9ucyA9IHt9LFxufToge1xuICBuYW1lOiBzdHJpbmc7XG4gIHByb3ZpZGVyOiBTY2hlbWE7XG4gIHJlc291cmNlczogUmVzb3VyY2VTY2hlbWE7XG4gIGRhdGFTb3VyY2VzOiBSZXNvdXJjZVNjaGVtYTtcbiAgZXBoZW1lcmFsUmVzb3VyY2VzPzogUmVzb3VyY2VTY2hlbWE7XG4gIGZ1bmN0aW9ucz86IEZ1bmN0aW9uU2NoZW1hO1xufSk6IFByb3ZpZGVyU2NoZW1hIHtcbiAgcmV0dXJuIHtcbiAgICBmb3JtYXRfdmVyc2lvbjogXCIwLjJcIixcbiAgICBwcm92aWRlcl9zY2hlbWFzOiB7XG4gICAgICBbYHJlZ2lzdHJ5LnRlcnJhZm9ybS5pby9jZGt0Zi8ke25hbWV9YF06IHtcbiAgICAgICAgcHJvdmlkZXI6IHByb3ZpZGVyLFxuICAgICAgICByZXNvdXJjZV9zY2hlbWFzOiByZXNvdXJjZXMsXG4gICAgICAgIGRhdGFfc291cmNlX3NjaGVtYXM6IGRhdGFTb3VyY2VzLFxuICAgICAgICBlcGhlbWVyYWxfcmVzb3VyY2Vfc2NoZW1hczogZXBoZW1lcmFsUmVzb3VyY2VzLFxuICAgICAgICBmdW5jdGlvbnM6IGZ1bmN0aW9ucyxcbiAgICAgIH0sXG4gICAgfSxcbiAgfTtcbn1cblxuZXhwb3J0IGNsYXNzIFNjaGVtYUJ1aWxkZXIge1xuICBwcml2YXRlIHNjaGVtYTogU2NoZW1hO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuc2NoZW1hID0ge1xuICAgICAgdmVyc2lvbjogMCxcbiAgICAgIGJsb2NrOiB7XG4gICAgICAgIGF0dHJpYnV0ZXM6IHt9LFxuICAgICAgICBibG9ja190eXBlczoge30sXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgYXR0cmlidXRlKHtcbiAgICBuYW1lLFxuICAgIHR5cGUsXG4gICAgcmVxdWlyZWQgPSBmYWxzZSxcbiAgICBjb21wdXRlZCA9IGZhbHNlLFxuICAgIG9wdGlvbmFsID0gIXJlcXVpcmVkLFxuICAgIHdyaXRlT25seSA9IGZhbHNlLFxuICB9OiB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHR5cGU6IEF0dHJpYnV0ZVR5cGU7XG4gICAgcmVxdWlyZWQ/OiBib29sZWFuO1xuICAgIGNvbXB1dGVkPzogYm9vbGVhbjtcbiAgICBvcHRpb25hbD86IGJvb2xlYW47XG4gICAgd3JpdGVPbmx5PzogYm9vbGVhbjtcbiAgfSk6IFNjaGVtYUJ1aWxkZXIge1xuICAgIHRoaXMuc2NoZW1hLmJsb2NrLmF0dHJpYnV0ZXNbbmFtZV0gPSB7XG4gICAgICB0eXBlLFxuICAgICAgb3B0aW9uYWwsXG4gICAgICBjb21wdXRlZCxcbiAgICAgIHJlcXVpcmVkLFxuICAgICAgd3JpdGVfb25seTogd3JpdGVPbmx5LFxuICAgIH07XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgbGlzdEJsb2NrKHtcbiAgICBuYW1lLFxuICAgIGJsb2NrLFxuICAgIG1pbkl0ZW1zLFxuICAgIG1heEl0ZW1zLFxuICB9OiB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGJsb2NrOiBCbG9jaztcbiAgICBtaW5JdGVtczogbnVtYmVyO1xuICAgIG1heEl0ZW1zOiBudW1iZXI7XG4gIH0pOiBTY2hlbWFCdWlsZGVyIHtcbiAgICB0aGlzLnNjaGVtYS5ibG9jay5ibG9ja190eXBlc1tuYW1lXSA9IHtcbiAgICAgIG5lc3RpbmdfbW9kZTogXCJsaXN0XCIsXG4gICAgICBibG9jayxcbiAgICAgIG1pbl9pdGVtczogbWluSXRlbXMsXG4gICAgICBtYXhfaXRlbXM6IG1heEl0ZW1zLFxuICAgIH07XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgbWFwQmxvY2soe1xuICAgIG5hbWUsXG4gICAgYmxvY2ssXG4gIH06IHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgYmxvY2s6IEJsb2NrO1xuICB9KTogU2NoZW1hQnVpbGRlciB7XG4gICAgdGhpcy5zY2hlbWEuYmxvY2suYmxvY2tfdHlwZXNbbmFtZV0gPSB7IG5lc3RpbmdfbW9kZTogXCJtYXBcIiwgYmxvY2sgfTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBzZXRCbG9jayh7XG4gICAgbmFtZSxcbiAgICBibG9jayxcbiAgfToge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBibG9jazogQmxvY2s7XG4gIH0pOiBTY2hlbWFCdWlsZGVyIHtcbiAgICB0aGlzLnNjaGVtYS5ibG9jay5ibG9ja190eXBlc1tuYW1lXSA9IHsgbmVzdGluZ19tb2RlOiBcInNldFwiLCBibG9jayB9O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG4gIHB1YmxpYyBzaW5nbGVCbG9jayh7XG4gICAgbmFtZSxcbiAgICBibG9jayxcbiAgfToge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBibG9jazogQmxvY2s7XG4gIH0pOiBTY2hlbWFCdWlsZGVyIHtcbiAgICB0aGlzLnNjaGVtYS5ibG9jay5ibG9ja190eXBlc1tuYW1lXSA9IHsgbmVzdGluZ19tb2RlOiBcInNpbmdsZVwiLCBibG9jayB9O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIGJ1aWxkKCk6IFNjaGVtYSB7XG4gICAgcmV0dXJuIHRoaXMuc2NoZW1hO1xuICB9XG5cbiAgcHVibGljIGFzQmxvY2soKTogQmxvY2sge1xuICAgIHJldHVybiB0aGlzLnNjaGVtYS5ibG9jaztcbiAgfVxuXG4gIHB1YmxpYyBhZGRBbGxQcmltaXRpdmVUeXBlcyh7XG4gICAgcmVxdWlyZWQsXG4gICAgY29tcHV0ZWQsXG4gICAgcHJlZml4ID0gXCJcIixcbiAgfToge1xuICAgIHJlcXVpcmVkOiBib29sZWFuO1xuICAgIGNvbXB1dGVkOiBib29sZWFuO1xuICAgIHByZWZpeD86IHN0cmluZztcbiAgfSk6IFNjaGVtYUJ1aWxkZXIge1xuICAgIHRoaXMuYXR0cmlidXRlKHsgbmFtZTogcHJlZml4ICsgXCJzdHJcIiwgdHlwZTogXCJzdHJpbmdcIiwgcmVxdWlyZWQsIGNvbXB1dGVkIH0pXG4gICAgICAuYXR0cmlidXRlKHsgbmFtZTogcHJlZml4ICsgXCJudW1cIiwgdHlwZTogXCJudW1iZXJcIiwgcmVxdWlyZWQsIGNvbXB1dGVkIH0pXG4gICAgICAuYXR0cmlidXRlKHsgbmFtZTogcHJlZml4ICsgXCJib29sXCIsIHR5cGU6IFwiYm9vbFwiLCByZXF1aXJlZCwgY29tcHV0ZWQgfSk7XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBhZGRBbGxQcmltaXRpdmVQZXJtdXRhdGlvbnMoKTogU2NoZW1hQnVpbGRlciB7XG4gICAgdGhpcy5hZGRBbGxQcmltaXRpdmVUeXBlcyh7XG4gICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICBjb21wdXRlZDogZmFsc2UsXG4gICAgICBwcmVmaXg6IFwib3B0XCIsXG4gICAgfSlcbiAgICAgIC5hZGRBbGxQcmltaXRpdmVUeXBlcyh7IHJlcXVpcmVkOiB0cnVlLCBjb21wdXRlZDogZmFsc2UsIHByZWZpeDogXCJyZXFcIiB9KVxuICAgICAgLmFkZEFsbFByaW1pdGl2ZVR5cGVzKHtcbiAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgICBjb21wdXRlZDogdHJ1ZSxcbiAgICAgICAgcHJlZml4OiBcImNvbXB1dGVkXCIsXG4gICAgICB9KTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBhZGRBbGxQcmltaXRpdmVMaXN0VHlwZXMoe1xuICAgIHJlcXVpcmVkLFxuICAgIGNvbXB1dGVkLFxuICAgIHByZWZpeCA9IFwiXCIsXG4gIH06IHtcbiAgICByZXF1aXJlZDogYm9vbGVhbjtcbiAgICBjb21wdXRlZDogYm9vbGVhbjtcbiAgICBwcmVmaXg/OiBzdHJpbmc7XG4gIH0pOiBTY2hlbWFCdWlsZGVyIHtcbiAgICB0aGlzLmF0dHJpYnV0ZSh7XG4gICAgICBuYW1lOiBwcmVmaXggKyBcInN0ckxpc3RcIixcbiAgICAgIHR5cGU6IFtcImxpc3RcIiwgXCJzdHJpbmdcIl0sXG4gICAgICByZXF1aXJlZCxcbiAgICAgIGNvbXB1dGVkLFxuICAgIH0pXG4gICAgICAuYXR0cmlidXRlKHtcbiAgICAgICAgbmFtZTogcHJlZml4ICsgXCJudW1MaXN0XCIsXG4gICAgICAgIHR5cGU6IFtcImxpc3RcIiwgXCJudW1iZXJcIl0sXG4gICAgICAgIHJlcXVpcmVkLFxuICAgICAgICBjb21wdXRlZCxcbiAgICAgIH0pXG4gICAgICAuYXR0cmlidXRlKHtcbiAgICAgICAgbmFtZTogcHJlZml4ICsgXCJib29sTGlzdFwiLFxuICAgICAgICB0eXBlOiBbXCJsaXN0XCIsIFwiYm9vbFwiXSxcbiAgICAgICAgcmVxdWlyZWQsXG4gICAgICAgIGNvbXB1dGVkLFxuICAgICAgfSk7XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxufVxuIl19
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9fX3Rlc3RzX18vZWRnZS1wcm92aWRlci1zY2hlbWEvYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFZQSx3QkEyQkM7QUEzQkQsU0FBZ0IsTUFBTSxDQUFDLEVBQ3JCLElBQUksRUFDSixRQUFRLEVBQ1IsU0FBUyxHQUFHLEVBQUUsRUFDZCxXQUFXLEdBQUcsRUFBRSxFQUNoQixrQkFBa0IsR0FBRyxFQUFFLEVBQ3ZCLFNBQVMsR0FBRyxFQUFFLEdBUWY7SUFDQyxPQUFPO1FBQ0wsY0FBYyxFQUFFLEtBQUs7UUFDckIsZ0JBQWdCLEVBQUU7WUFDaEIsQ0FBQywrQkFBK0IsSUFBSSxFQUFFLENBQUMsRUFBRTtnQkFDdkMsUUFBUSxFQUFFLFFBQVE7Z0JBQ2xCLGdCQUFnQixFQUFFLFNBQVM7Z0JBQzNCLG1CQUFtQixFQUFFLFdBQVc7Z0JBQ2hDLDBCQUEwQixFQUFFLGtCQUFrQjtnQkFDOUMsU0FBUyxFQUFFLFNBQVM7YUFDckI7U0FDRjtLQUNGLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBYSxhQUFhO0lBR3hCO1FBQ0UsSUFBSSxDQUFDLE1BQU0sR0FBRztZQUNaLE9BQU8sRUFBRSxDQUFDO1lBQ1YsS0FBSyxFQUFFO2dCQUNMLFVBQVUsRUFBRSxFQUFFO2dCQUNkLFdBQVcsRUFBRSxFQUFFO2FBQ2hCO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTSxTQUFTLENBQUMsRUFDZixJQUFJLEVBQ0osSUFBSSxFQUNKLFFBQVEsR0FBRyxLQUFLLEVBQ2hCLFFBQVEsR0FBRyxLQUFLLEVBQ2hCLFFBQVEsR0FBRyxDQUFDLFFBQVEsRUFDcEIsU0FBUyxHQUFHLEtBQUssR0FRbEI7UUFDQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUc7WUFDbkMsSUFBSTtZQUNKLFFBQVE7WUFDUixRQUFRO1lBQ1IsUUFBUTtZQUNSLFVBQVUsRUFBRSxTQUFTO1NBQ3RCLENBQUM7UUFDRixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSxTQUFTLENBQUMsRUFDZixJQUFJLEVBQ0osS0FBSyxFQUNMLFFBQVEsRUFDUixRQUFRLEdBTVQ7UUFDQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUc7WUFDcEMsWUFBWSxFQUFFLE1BQU07WUFDcEIsS0FBSztZQUNMLFNBQVMsRUFBRSxRQUFRO1lBQ25CLFNBQVMsRUFBRSxRQUFRO1NBQ3BCLENBQUM7UUFDRixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSxRQUFRLENBQUMsRUFDZCxJQUFJLEVBQ0osS0FBSyxHQUlOO1FBQ0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQztRQUNyRSxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSxRQUFRLENBQUMsRUFDZCxJQUFJLEVBQ0osS0FBSyxHQUlOO1FBQ0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQztRQUNyRSxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFDTSxXQUFXLENBQUMsRUFDakIsSUFBSSxFQUNKLEtBQUssR0FJTjtRQUNDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUM7UUFDeEUsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sS0FBSztRQUNWLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRU0sT0FBTztRQUNaLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7SUFDM0IsQ0FBQztJQUVNLG9CQUFvQixDQUFDLEVBQzFCLFFBQVEsRUFDUixRQUFRLEVBQ1IsTUFBTSxHQUFHLEVBQUUsR0FLWjtRQUNDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxHQUFHLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsQ0FBQzthQUN6RSxTQUFTLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxHQUFHLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsQ0FBQzthQUN2RSxTQUFTLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxHQUFHLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBRTFFLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLDJCQUEyQjtRQUNoQyxJQUFJLENBQUMsb0JBQW9CLENBQUM7WUFDeEIsUUFBUSxFQUFFLEtBQUs7WUFDZixRQUFRLEVBQUUsS0FBSztZQUNmLE1BQU0sRUFBRSxLQUFLO1NBQ2QsQ0FBQzthQUNDLG9CQUFvQixDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQzthQUN4RSxvQkFBb0IsQ0FBQztZQUNwQixRQUFRLEVBQUUsS0FBSztZQUNmLFFBQVEsRUFBRSxJQUFJO1lBQ2QsTUFBTSxFQUFFLFVBQVU7U0FDbkIsQ0FBQyxDQUFDO1FBQ0wsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sd0JBQXdCLENBQUMsRUFDOUIsUUFBUSxFQUNSLFFBQVEsRUFDUixNQUFNLEdBQUcsRUFBRSxHQUtaO1FBQ0MsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNiLElBQUksRUFBRSxNQUFNLEdBQUcsU0FBUztZQUN4QixJQUFJLEVBQUUsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDO1lBQ3hCLFFBQVE7WUFDUixRQUFRO1NBQ1QsQ0FBQzthQUNDLFNBQVMsQ0FBQztZQUNULElBQUksRUFBRSxNQUFNLEdBQUcsU0FBUztZQUN4QixJQUFJLEVBQUUsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDO1lBQ3hCLFFBQVE7WUFDUixRQUFRO1NBQ1QsQ0FBQzthQUNELFNBQVMsQ0FBQztZQUNULElBQUksRUFBRSxNQUFNLEdBQUcsVUFBVTtZQUN6QixJQUFJLEVBQUUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDO1lBQ3RCLFFBQVE7WUFDUixRQUFRO1NBQ1QsQ0FBQyxDQUFDO1FBRUwsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0NBQ0Y7QUEvSkQsc0NBK0pDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbmltcG9ydCB7XG4gIFByb3ZpZGVyU2NoZW1hLFxuICBTY2hlbWEsXG4gIEF0dHJpYnV0ZVR5cGUsXG4gIEJsb2NrLFxuICBGdW5jdGlvblNpZ25hdHVyZSxcbn0gZnJvbSBcIkBjZGt0bi9jb21tb25zXCI7XG5cbnR5cGUgUmVzb3VyY2VTY2hlbWEgPSB7IFt0eXBlOiBzdHJpbmddOiBTY2hlbWEgfTtcbnR5cGUgRnVuY3Rpb25TY2hlbWEgPSB7IFtuYW1lOiBzdHJpbmddOiBGdW5jdGlvblNpZ25hdHVyZSB9O1xuZXhwb3J0IGZ1bmN0aW9uIHNjaGVtYSh7XG4gIG5hbWUsXG4gIHByb3ZpZGVyLFxuICByZXNvdXJjZXMgPSB7fSxcbiAgZGF0YVNvdXJjZXMgPSB7fSxcbiAgZXBoZW1lcmFsUmVzb3VyY2VzID0ge30sXG4gIGZ1bmN0aW9ucyA9IHt9LFxufToge1xuICBuYW1lOiBzdHJpbmc7XG4gIHByb3ZpZGVyOiBTY2hlbWE7XG4gIHJlc291cmNlczogUmVzb3VyY2VTY2hlbWE7XG4gIGRhdGFTb3VyY2VzOiBSZXNvdXJjZVNjaGVtYTtcbiAgZXBoZW1lcmFsUmVzb3VyY2VzPzogUmVzb3VyY2VTY2hlbWE7XG4gIGZ1bmN0aW9ucz86IEZ1bmN0aW9uU2NoZW1hO1xufSk6IFByb3ZpZGVyU2NoZW1hIHtcbiAgcmV0dXJuIHtcbiAgICBmb3JtYXRfdmVyc2lvbjogXCIwLjJcIixcbiAgICBwcm92aWRlcl9zY2hlbWFzOiB7XG4gICAgICBbYHJlZ2lzdHJ5LnRlcnJhZm9ybS5pby9jZGt0Zi8ke25hbWV9YF06IHtcbiAgICAgICAgcHJvdmlkZXI6IHByb3ZpZGVyLFxuICAgICAgICByZXNvdXJjZV9zY2hlbWFzOiByZXNvdXJjZXMsXG4gICAgICAgIGRhdGFfc291cmNlX3NjaGVtYXM6IGRhdGFTb3VyY2VzLFxuICAgICAgICBlcGhlbWVyYWxfcmVzb3VyY2Vfc2NoZW1hczogZXBoZW1lcmFsUmVzb3VyY2VzLFxuICAgICAgICBmdW5jdGlvbnM6IGZ1bmN0aW9ucyxcbiAgICAgIH0sXG4gICAgfSxcbiAgfTtcbn1cblxuZXhwb3J0IGNsYXNzIFNjaGVtYUJ1aWxkZXIge1xuICBwcml2YXRlIHNjaGVtYTogU2NoZW1hO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuc2NoZW1hID0ge1xuICAgICAgdmVyc2lvbjogMCxcbiAgICAgIGJsb2NrOiB7XG4gICAgICAgIGF0dHJpYnV0ZXM6IHt9LFxuICAgICAgICBibG9ja190eXBlczoge30sXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgYXR0cmlidXRlKHtcbiAgICBuYW1lLFxuICAgIHR5cGUsXG4gICAgcmVxdWlyZWQgPSBmYWxzZSxcbiAgICBjb21wdXRlZCA9IGZhbHNlLFxuICAgIG9wdGlvbmFsID0gIXJlcXVpcmVkLFxuICAgIHdyaXRlT25seSA9IGZhbHNlLFxuICB9OiB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHR5cGU6IEF0dHJpYnV0ZVR5cGU7XG4gICAgcmVxdWlyZWQ/OiBib29sZWFuO1xuICAgIGNvbXB1dGVkPzogYm9vbGVhbjtcbiAgICBvcHRpb25hbD86IGJvb2xlYW47XG4gICAgd3JpdGVPbmx5PzogYm9vbGVhbjtcbiAgfSk6IFNjaGVtYUJ1aWxkZXIge1xuICAgIHRoaXMuc2NoZW1hLmJsb2NrLmF0dHJpYnV0ZXNbbmFtZV0gPSB7XG4gICAgICB0eXBlLFxuICAgICAgb3B0aW9uYWwsXG4gICAgICBjb21wdXRlZCxcbiAgICAgIHJlcXVpcmVkLFxuICAgICAgd3JpdGVfb25seTogd3JpdGVPbmx5LFxuICAgIH07XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgbGlzdEJsb2NrKHtcbiAgICBuYW1lLFxuICAgIGJsb2NrLFxuICAgIG1pbkl0ZW1zLFxuICAgIG1heEl0ZW1zLFxuICB9OiB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGJsb2NrOiBCbG9jaztcbiAgICBtaW5JdGVtczogbnVtYmVyO1xuICAgIG1heEl0ZW1zOiBudW1iZXI7XG4gIH0pOiBTY2hlbWFCdWlsZGVyIHtcbiAgICB0aGlzLnNjaGVtYS5ibG9jay5ibG9ja190eXBlc1tuYW1lXSA9IHtcbiAgICAgIG5lc3RpbmdfbW9kZTogXCJsaXN0XCIsXG4gICAgICBibG9jayxcbiAgICAgIG1pbl9pdGVtczogbWluSXRlbXMsXG4gICAgICBtYXhfaXRlbXM6IG1heEl0ZW1zLFxuICAgIH07XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgbWFwQmxvY2soe1xuICAgIG5hbWUsXG4gICAgYmxvY2ssXG4gIH06IHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgYmxvY2s6IEJsb2NrO1xuICB9KTogU2NoZW1hQnVpbGRlciB7XG4gICAgdGhpcy5zY2hlbWEuYmxvY2suYmxvY2tfdHlwZXNbbmFtZV0gPSB7IG5lc3RpbmdfbW9kZTogXCJtYXBcIiwgYmxvY2sgfTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBzZXRCbG9jayh7XG4gICAgbmFtZSxcbiAgICBibG9jayxcbiAgfToge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBibG9jazogQmxvY2s7XG4gIH0pOiBTY2hlbWFCdWlsZGVyIHtcbiAgICB0aGlzLnNjaGVtYS5ibG9jay5ibG9ja190eXBlc1tuYW1lXSA9IHsgbmVzdGluZ19tb2RlOiBcInNldFwiLCBibG9jayB9O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG4gIHB1YmxpYyBzaW5nbGVCbG9jayh7XG4gICAgbmFtZSxcbiAgICBibG9jayxcbiAgfToge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBibG9jazogQmxvY2s7XG4gIH0pOiBTY2hlbWFCdWlsZGVyIHtcbiAgICB0aGlzLnNjaGVtYS5ibG9jay5ibG9ja190eXBlc1tuYW1lXSA9IHsgbmVzdGluZ19tb2RlOiBcInNpbmdsZVwiLCBibG9jayB9O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIGJ1aWxkKCk6IFNjaGVtYSB7XG4gICAgcmV0dXJuIHRoaXMuc2NoZW1hO1xuICB9XG5cbiAgcHVibGljIGFzQmxvY2soKTogQmxvY2sge1xuICAgIHJldHVybiB0aGlzLnNjaGVtYS5ibG9jaztcbiAgfVxuXG4gIHB1YmxpYyBhZGRBbGxQcmltaXRpdmVUeXBlcyh7XG4gICAgcmVxdWlyZWQsXG4gICAgY29tcHV0ZWQsXG4gICAgcHJlZml4ID0gXCJcIixcbiAgfToge1xuICAgIHJlcXVpcmVkOiBib29sZWFuO1xuICAgIGNvbXB1dGVkOiBib29sZWFuO1xuICAgIHByZWZpeD86IHN0cmluZztcbiAgfSk6IFNjaGVtYUJ1aWxkZXIge1xuICAgIHRoaXMuYXR0cmlidXRlKHsgbmFtZTogcHJlZml4ICsgXCJzdHJcIiwgdHlwZTogXCJzdHJpbmdcIiwgcmVxdWlyZWQsIGNvbXB1dGVkIH0pXG4gICAgICAuYXR0cmlidXRlKHsgbmFtZTogcHJlZml4ICsgXCJudW1cIiwgdHlwZTogXCJudW1iZXJcIiwgcmVxdWlyZWQsIGNvbXB1dGVkIH0pXG4gICAgICAuYXR0cmlidXRlKHsgbmFtZTogcHJlZml4ICsgXCJib29sXCIsIHR5cGU6IFwiYm9vbFwiLCByZXF1aXJlZCwgY29tcHV0ZWQgfSk7XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBhZGRBbGxQcmltaXRpdmVQZXJtdXRhdGlvbnMoKTogU2NoZW1hQnVpbGRlciB7XG4gICAgdGhpcy5hZGRBbGxQcmltaXRpdmVUeXBlcyh7XG4gICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICBjb21wdXRlZDogZmFsc2UsXG4gICAgICBwcmVmaXg6IFwib3B0XCIsXG4gICAgfSlcbiAgICAgIC5hZGRBbGxQcmltaXRpdmVUeXBlcyh7IHJlcXVpcmVkOiB0cnVlLCBjb21wdXRlZDogZmFsc2UsIHByZWZpeDogXCJyZXFcIiB9KVxuICAgICAgLmFkZEFsbFByaW1pdGl2ZVR5cGVzKHtcbiAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgICBjb21wdXRlZDogdHJ1ZSxcbiAgICAgICAgcHJlZml4OiBcImNvbXB1dGVkXCIsXG4gICAgICB9KTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBhZGRBbGxQcmltaXRpdmVMaXN0VHlwZXMoe1xuICAgIHJlcXVpcmVkLFxuICAgIGNvbXB1dGVkLFxuICAgIHByZWZpeCA9IFwiXCIsXG4gIH06IHtcbiAgICByZXF1aXJlZDogYm9vbGVhbjtcbiAgICBjb21wdXRlZDogYm9vbGVhbjtcbiAgICBwcmVmaXg/OiBzdHJpbmc7XG4gIH0pOiBTY2hlbWFCdWlsZGVyIHtcbiAgICB0aGlzLmF0dHJpYnV0ZSh7XG4gICAgICBuYW1lOiBwcmVmaXggKyBcInN0ckxpc3RcIixcbiAgICAgIHR5cGU6IFtcImxpc3RcIiwgXCJzdHJpbmdcIl0sXG4gICAgICByZXF1aXJlZCxcbiAgICAgIGNvbXB1dGVkLFxuICAgIH0pXG4gICAgICAuYXR0cmlidXRlKHtcbiAgICAgICAgbmFtZTogcHJlZml4ICsgXCJudW1MaXN0XCIsXG4gICAgICAgIHR5cGU6IFtcImxpc3RcIiwgXCJudW1iZXJcIl0sXG4gICAgICAgIHJlcXVpcmVkLFxuICAgICAgICBjb21wdXRlZCxcbiAgICAgIH0pXG4gICAgICAuYXR0cmlidXRlKHtcbiAgICAgICAgbmFtZTogcHJlZml4ICsgXCJib29sTGlzdFwiLFxuICAgICAgICB0eXBlOiBbXCJsaXN0XCIsIFwiYm9vbFwiXSxcbiAgICAgICAgcmVxdWlyZWQsXG4gICAgICAgIGNvbXB1dGVkLFxuICAgICAgfSk7XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxufVxuIl19
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  Object.defineProperty(exports, "__esModule", { value: true });
26
36
  // Copyright (c) HashiCorp, Inc
27
37
  // SPDX-License-Identifier: MPL-2.0
@@ -69,4 +79,4 @@ const deps = [
69
79
  },
70
80
  });
71
81
  })();
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL19fdGVzdHNfXy9lZGdlLXByb3ZpZGVyLXNjaGVtYS9jbGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtCQUErQjtBQUMvQixtQ0FBbUM7QUFDbkMsMkNBQTZCO0FBQzdCLDZDQUErQjtBQUMvQix3QkFBK0I7QUFDL0IsNkJBQTJEO0FBRTNELGtHQUFrRztBQUNsRyxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNuQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFFM0IsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ2hCLE9BQU8sQ0FBQyxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQztJQUMxQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xCLENBQUM7QUFFRCxzQkFBc0I7QUFDdEIsRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUMxQixFQUFFLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBRTVCLGlGQUFpRjtBQUNqRixNQUFNLElBQUksR0FBRztJQUNYLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0lBQ3pELElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQ3hELElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0NBQ3BELENBQUM7QUFFRixDQUFDLEtBQUssSUFBSSxFQUFFO0lBQ1YsTUFBTSxJQUFBLHNDQUFrQyxFQUFDLFVBQVUsRUFBRSxhQUFVLEVBQUU7UUFDL0QsVUFBVSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLE1BQU0sRUFBRSxVQUFVLENBQUM7UUFDdEQsSUFBSTtRQUNKLFNBQVMsRUFBRSxNQUFNO1FBQ2pCLE1BQU0sRUFBRTtZQUNOLE1BQU0sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUM7WUFDMUMsVUFBVSxFQUFFLE1BQU07U0FDbkI7UUFDRCxJQUFJLEVBQUU7WUFDSixNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDO1lBQ3hDLE9BQU8sRUFBRSxzQkFBc0I7U0FDaEM7UUFDRCxNQUFNLEVBQUU7WUFDTixNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDO1lBQzFDLFNBQVMsRUFBRSxnQkFBZ0I7U0FDNUI7UUFDRCxNQUFNLEVBQUU7WUFDTixNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDO1lBQ3RDLFVBQVUsRUFBRSxxQ0FBcUM7WUFDakQsV0FBVyxFQUFFLE1BQU07U0FDcEI7S0FDRixDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbmltcG9ydCAqIGFzIHBhdGggZnJvbSBcInBhdGhcIjtcbmltcG9ydCAqIGFzIGZzIGZyb20gXCJmcy1leHRyYVwiO1xuaW1wb3J0IHsgZWRnZVNjaGVtYSB9IGZyb20gXCIuXCI7XG5pbXBvcnQgeyBnZW5lcmF0ZVByb3ZpZGVyQmluZGluZ3NGcm9tU2NoZW1hIH0gZnJvbSBcIi4uLy4uXCI7XG5cbi8vIFRoaXMgc2NyaXB0IGJ1aWxkcyB0aGUgc2NoZW1hIGZvciB0aGUgZWRnZSBwcm92aWRlciBpbnRvIHRoZSBnaXZlbiBkaXJlY3RvcnkgZm9yIGFsbCBsYW5ndWFnZXMuXG5jb25zdCBhcmdzID0gcHJvY2Vzcy5hcmd2LnNsaWNlKDIpO1xuY29uc3QgdGFyZ2V0UGF0aCA9IGFyZ3NbMF07XG5cbmlmICghdGFyZ2V0UGF0aCkge1xuICBjb25zb2xlLmVycm9yKFwiTm8gdGFyZ2V0IHBhdGggc3BlY2lmaWVkXCIpO1xuICBwcm9jZXNzLmV4aXQoMSk7XG59XG5cbi8vIENsZWFyIC8gQ3JlYXRlIHBhdGhcbmZzLm1rZGlycFN5bmModGFyZ2V0UGF0aCk7XG5mcy5lbXB0eURpclN5bmModGFyZ2V0UGF0aCk7XG5cbi8vIFN0YXRpYyByZXF1aXJlLnJlc29sdmUgY2FsbHMgc28ga25pcCAvIHBucG0gc3RyaWN0IGlzb2xhdGlvbiBjYW4gc2VlIHRoZSBkZXBzLlxuY29uc3QgZGVwcyA9IFtcbiAgcGF0aC5kaXJuYW1lKHJlcXVpcmUucmVzb2x2ZShcIkB0eXBlcy9ub2RlL3BhY2thZ2UuanNvblwiKSksXG4gIHBhdGguZGlybmFtZShyZXF1aXJlLnJlc29sdmUoXCJjb25zdHJ1Y3RzL3BhY2thZ2UuanNvblwiKSksXG4gIHBhdGguZGlybmFtZShyZXF1aXJlLnJlc29sdmUoXCJjZGt0bi9wYWNrYWdlLmpzb25cIikpLFxuXTtcblxuKGFzeW5jICgpID0+IHtcbiAgYXdhaXQgZ2VuZXJhdGVQcm92aWRlckJpbmRpbmdzRnJvbVNjaGVtYSh0YXJnZXRQYXRoLCBlZGdlU2NoZW1hLCB7XG4gICAgZW50cnlwb2ludDogcGF0aC5qb2luKFwicHJvdmlkZXJzXCIsIFwiZWRnZVwiLCBcImluZGV4LnRzXCIpLFxuICAgIGRlcHMsXG4gICAgbW9kdWxlS2V5OiBcImVkZ2VcIixcbiAgICBweXRob246IHtcbiAgICAgIG91dGRpcjogcGF0aC5yZXNvbHZlKHRhcmdldFBhdGgsIFwicHl0aG9uXCIpLFxuICAgICAgbW9kdWxlTmFtZTogXCJlZGdlXCIsXG4gICAgfSxcbiAgICBqYXZhOiB7XG4gICAgICBvdXRkaXI6IHBhdGgucmVzb2x2ZSh0YXJnZXRQYXRoLCBcImphdmFcIiksXG4gICAgICBwYWNrYWdlOiBgaW1wb3J0cy5lZGdlcHJvdmlkZXJgLFxuICAgIH0sXG4gICAgY3NoYXJwOiB7XG4gICAgICBvdXRkaXI6IHBhdGgucmVzb2x2ZSh0YXJnZXRQYXRoLCBcImNzaGFycFwiKSxcbiAgICAgIG5hbWVzcGFjZTogXCJQcm92aWRlcnMuRWRnZVwiLFxuICAgIH0sXG4gICAgZ29sYW5nOiB7XG4gICAgICBvdXRkaXI6IHBhdGgucmVzb2x2ZSh0YXJnZXRQYXRoLCBcImdvXCIpLFxuICAgICAgbW9kdWxlTmFtZTogXCJjZGsudGYvZ28vc3RhY2svZ2VuZXJhdGVkL2hhc2hpY29ycFwiLFxuICAgICAgcGFja2FnZU5hbWU6IFwiZWRnZVwiLFxuICAgIH0sXG4gIH0pO1xufSkoKTtcbiJdfQ==
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL19fdGVzdHNfXy9lZGdlLXByb3ZpZGVyLXNjaGVtYS9jbGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQkFBK0I7QUFDL0IsbUNBQW1DO0FBQ25DLDJDQUE2QjtBQUM3Qiw2Q0FBK0I7QUFDL0Isd0JBQStCO0FBQy9CLDZCQUEyRDtBQUUzRCxrR0FBa0c7QUFDbEcsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBRTNCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNoQixPQUFPLENBQUMsS0FBSyxDQUFDLDBCQUEwQixDQUFDLENBQUM7SUFDMUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsQixDQUFDO0FBRUQsc0JBQXNCO0FBQ3RCLEVBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDMUIsRUFBRSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUU1QixpRkFBaUY7QUFDakYsTUFBTSxJQUFJLEdBQUc7SUFDWCxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsMEJBQTBCLENBQUMsQ0FBQztJQUN6RCxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUN4RCxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUMsQ0FBQztDQUNwRCxDQUFDO0FBRUYsQ0FBQyxLQUFLLElBQUksRUFBRTtJQUNWLE1BQU0sSUFBQSxzQ0FBa0MsRUFBQyxVQUFVLEVBQUUsYUFBVSxFQUFFO1FBQy9ELFVBQVUsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUUsVUFBVSxDQUFDO1FBQ3RELElBQUk7UUFDSixTQUFTLEVBQUUsTUFBTTtRQUNqQixNQUFNLEVBQUU7WUFDTixNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDO1lBQzFDLFVBQVUsRUFBRSxNQUFNO1NBQ25CO1FBQ0QsSUFBSSxFQUFFO1lBQ0osTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQztZQUN4QyxPQUFPLEVBQUUsc0JBQXNCO1NBQ2hDO1FBQ0QsTUFBTSxFQUFFO1lBQ04sTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQztZQUMxQyxTQUFTLEVBQUUsZ0JBQWdCO1NBQzVCO1FBQ0QsTUFBTSxFQUFFO1lBQ04sTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQztZQUN0QyxVQUFVLEVBQUUscUNBQXFDO1lBQ2pELFdBQVcsRUFBRSxNQUFNO1NBQ3BCO0tBQ0YsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgKiBhcyBmcyBmcm9tIFwiZnMtZXh0cmFcIjtcbmltcG9ydCB7IGVkZ2VTY2hlbWEgfSBmcm9tIFwiLlwiO1xuaW1wb3J0IHsgZ2VuZXJhdGVQcm92aWRlckJpbmRpbmdzRnJvbVNjaGVtYSB9IGZyb20gXCIuLi8uLlwiO1xuXG4vLyBUaGlzIHNjcmlwdCBidWlsZHMgdGhlIHNjaGVtYSBmb3IgdGhlIGVkZ2UgcHJvdmlkZXIgaW50byB0aGUgZ2l2ZW4gZGlyZWN0b3J5IGZvciBhbGwgbGFuZ3VhZ2VzLlxuY29uc3QgYXJncyA9IHByb2Nlc3MuYXJndi5zbGljZSgyKTtcbmNvbnN0IHRhcmdldFBhdGggPSBhcmdzWzBdO1xuXG5pZiAoIXRhcmdldFBhdGgpIHtcbiAgY29uc29sZS5lcnJvcihcIk5vIHRhcmdldCBwYXRoIHNwZWNpZmllZFwiKTtcbiAgcHJvY2Vzcy5leGl0KDEpO1xufVxuXG4vLyBDbGVhciAvIENyZWF0ZSBwYXRoXG5mcy5ta2RpcnBTeW5jKHRhcmdldFBhdGgpO1xuZnMuZW1wdHlEaXJTeW5jKHRhcmdldFBhdGgpO1xuXG4vLyBTdGF0aWMgcmVxdWlyZS5yZXNvbHZlIGNhbGxzIHNvIGtuaXAgLyBwbnBtIHN0cmljdCBpc29sYXRpb24gY2FuIHNlZSB0aGUgZGVwcy5cbmNvbnN0IGRlcHMgPSBbXG4gIHBhdGguZGlybmFtZShyZXF1aXJlLnJlc29sdmUoXCJAdHlwZXMvbm9kZS9wYWNrYWdlLmpzb25cIikpLFxuICBwYXRoLmRpcm5hbWUocmVxdWlyZS5yZXNvbHZlKFwiY29uc3RydWN0cy9wYWNrYWdlLmpzb25cIikpLFxuICBwYXRoLmRpcm5hbWUocmVxdWlyZS5yZXNvbHZlKFwiY2RrdG4vcGFja2FnZS5qc29uXCIpKSxcbl07XG5cbihhc3luYyAoKSA9PiB7XG4gIGF3YWl0IGdlbmVyYXRlUHJvdmlkZXJCaW5kaW5nc0Zyb21TY2hlbWEodGFyZ2V0UGF0aCwgZWRnZVNjaGVtYSwge1xuICAgIGVudHJ5cG9pbnQ6IHBhdGguam9pbihcInByb3ZpZGVyc1wiLCBcImVkZ2VcIiwgXCJpbmRleC50c1wiKSxcbiAgICBkZXBzLFxuICAgIG1vZHVsZUtleTogXCJlZGdlXCIsXG4gICAgcHl0aG9uOiB7XG4gICAgICBvdXRkaXI6IHBhdGgucmVzb2x2ZSh0YXJnZXRQYXRoLCBcInB5dGhvblwiKSxcbiAgICAgIG1vZHVsZU5hbWU6IFwiZWRnZVwiLFxuICAgIH0sXG4gICAgamF2YToge1xuICAgICAgb3V0ZGlyOiBwYXRoLnJlc29sdmUodGFyZ2V0UGF0aCwgXCJqYXZhXCIpLFxuICAgICAgcGFja2FnZTogYGltcG9ydHMuZWRnZXByb3ZpZGVyYCxcbiAgICB9LFxuICAgIGNzaGFycDoge1xuICAgICAgb3V0ZGlyOiBwYXRoLnJlc29sdmUodGFyZ2V0UGF0aCwgXCJjc2hhcnBcIiksXG4gICAgICBuYW1lc3BhY2U6IFwiUHJvdmlkZXJzLkVkZ2VcIixcbiAgICB9LFxuICAgIGdvbGFuZzoge1xuICAgICAgb3V0ZGlyOiBwYXRoLnJlc29sdmUodGFyZ2V0UGF0aCwgXCJnb1wiKSxcbiAgICAgIG1vZHVsZU5hbWU6IFwiY2RrLnRmL2dvL3N0YWNrL2dlbmVyYXRlZC9oYXNoaWNvcnBcIixcbiAgICAgIHBhY2thZ2VOYW1lOiBcImVkZ2VcIixcbiAgICB9LFxuICB9KTtcbn0pKCk7XG4iXX0=
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  Object.defineProperty(exports, "__esModule", { value: true });
26
36
  // Copyright (c) HashiCorp, Inc
27
37
  // SPDX-License-Identifier: MPL-2.0
@@ -43,4 +53,4 @@ describe("Edge Provider Schema", () => {
43
53
  });
44
54
  });
45
55
  });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRnZS1wcm92aWRlci1zY2hlbWEudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vZWRnZS1wcm92aWRlci1zY2hlbWEudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0JBQStCO0FBQy9CLG1DQUFtQztBQUNuQyw2Q0FBK0I7QUFDL0IsMkNBQTZCO0FBQzdCLDBCQUF3RDtBQUN4RCw0Q0FBeUM7QUFDekMsaUVBQW9EO0FBRXBELFFBQVEsQ0FBQyxzQkFBc0IsRUFBRSxHQUFHLEVBQUU7SUFDcEMsRUFBRSxDQUFDLHdCQUF3QixFQUFFLEtBQUssSUFBSSxFQUFFO1FBQ3RDLE9BQU8sSUFBQSxpQkFBTyxFQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUMzQixNQUFNLElBQUEsc0NBQWtDLEVBQUMsR0FBRyxFQUFFLGlDQUFVLENBQUMsQ0FBQztZQUUxRCxFQUFFLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLFdBQVcsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUNuRSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO29CQUMxQixPQUFPO2dCQUNULENBQUM7Z0JBQ0QsTUFBTSxDQUNKLEVBQUUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FDbkUsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDMUIsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0ICogYXMgZnMgZnJvbSBcImZzLWV4dHJhXCI7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgeyBnZW5lcmF0ZVByb3ZpZGVyQmluZGluZ3NGcm9tU2NoZW1hIH0gZnJvbSBcIi4uXCI7XG5pbXBvcnQgeyBta2R0ZW1wIH0gZnJvbSBcIkBjZGt0bi9jb21tb25zXCI7XG5pbXBvcnQgeyBlZGdlU2NoZW1hIH0gZnJvbSBcIi4vZWRnZS1wcm92aWRlci1zY2hlbWFcIjtcblxuZGVzY3JpYmUoXCJFZGdlIFByb3ZpZGVyIFNjaGVtYVwiLCAoKSA9PiB7XG4gIGl0KFwiY29tcGlsZXMgdG8gVHlwZXNjcmlwdFwiLCBhc3luYyAoKSA9PiB7XG4gICAgcmV0dXJuIG1rZHRlbXAoYXN5bmMgKGRpcikgPT4ge1xuICAgICAgYXdhaXQgZ2VuZXJhdGVQcm92aWRlckJpbmRpbmdzRnJvbVNjaGVtYShkaXIsIGVkZ2VTY2hlbWEpO1xuXG4gICAgICBmcy5yZWFkZGlyU3luYyhwYXRoLmpvaW4oZGlyLCBcInByb3ZpZGVyc1wiLCBcImVkZ2VcIikpLmZvckVhY2goKGZpbGUpID0+IHtcbiAgICAgICAgaWYgKCFmaWxlLmVuZHNXaXRoKFwiLnRzXCIpKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGV4cGVjdChcbiAgICAgICAgICBmcy5yZWFkRmlsZVN5bmMocGF0aC5qb2luKGRpciwgXCJwcm92aWRlcnNcIiwgXCJlZGdlXCIsIGZpbGUpLCBcInV0ZjhcIiksXG4gICAgICAgICkudG9NYXRjaFNuYXBzaG90KGZpbGUpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRnZS1wcm92aWRlci1zY2hlbWEudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vZWRnZS1wcm92aWRlci1zY2hlbWEudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtCQUErQjtBQUMvQixtQ0FBbUM7QUFDbkMsNkNBQStCO0FBQy9CLDJDQUE2QjtBQUM3QiwwQkFBd0Q7QUFDeEQsNENBQXlDO0FBQ3pDLGlFQUFvRDtBQUVwRCxRQUFRLENBQUMsc0JBQXNCLEVBQUUsR0FBRyxFQUFFO0lBQ3BDLEVBQUUsQ0FBQyx3QkFBd0IsRUFBRSxLQUFLLElBQUksRUFBRTtRQUN0QyxPQUFPLElBQUEsaUJBQU8sRUFBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEVBQUU7WUFDM0IsTUFBTSxJQUFBLHNDQUFrQyxFQUFDLEdBQUcsRUFBRSxpQ0FBVSxDQUFDLENBQUM7WUFFMUQsRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxXQUFXLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtnQkFDbkUsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztvQkFDMUIsT0FBTztnQkFDVCxDQUFDO2dCQUNELE1BQU0sQ0FDSixFQUFFLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQ25FLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzFCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbmltcG9ydCAqIGFzIGZzIGZyb20gXCJmcy1leHRyYVwiO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHsgZ2VuZXJhdGVQcm92aWRlckJpbmRpbmdzRnJvbVNjaGVtYSB9IGZyb20gXCIuLlwiO1xuaW1wb3J0IHsgbWtkdGVtcCB9IGZyb20gXCJAY2RrdG4vY29tbW9uc1wiO1xuaW1wb3J0IHsgZWRnZVNjaGVtYSB9IGZyb20gXCIuL2VkZ2UtcHJvdmlkZXItc2NoZW1hXCI7XG5cbmRlc2NyaWJlKFwiRWRnZSBQcm92aWRlciBTY2hlbWFcIiwgKCkgPT4ge1xuICBpdChcImNvbXBpbGVzIHRvIFR5cGVzY3JpcHRcIiwgYXN5bmMgKCkgPT4ge1xuICAgIHJldHVybiBta2R0ZW1wKGFzeW5jIChkaXIpID0+IHtcbiAgICAgIGF3YWl0IGdlbmVyYXRlUHJvdmlkZXJCaW5kaW5nc0Zyb21TY2hlbWEoZGlyLCBlZGdlU2NoZW1hKTtcblxuICAgICAgZnMucmVhZGRpclN5bmMocGF0aC5qb2luKGRpciwgXCJwcm92aWRlcnNcIiwgXCJlZGdlXCIpKS5mb3JFYWNoKChmaWxlKSA9PiB7XG4gICAgICAgIGlmICghZmlsZS5lbmRzV2l0aChcIi50c1wiKSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBleHBlY3QoXG4gICAgICAgICAgZnMucmVhZEZpbGVTeW5jKHBhdGguam9pbihkaXIsIFwicHJvdmlkZXJzXCIsIFwiZWRnZVwiLCBmaWxlKSwgXCJ1dGY4XCIpLFxuICAgICAgICApLnRvTWF0Y2hTbmFwc2hvdChmaWxlKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  Object.defineProperty(exports, "__esModule", { value: true });
26
36
  // Copyright (c) HashiCorp, Inc
27
37
  // SPDX-License-Identifier: MPL-2.0
@@ -54,7 +64,9 @@ function directorySnapshot(root) {
54
64
  else {
55
65
  content = fs.readFileSync(filePath, "utf-8");
56
66
  }
57
- output[file] = content;
67
+ // glob yields native separators on Windows; key the snapshot by a
68
+ // "/"-separated path so it is identical on every platform.
69
+ output[file.split(path.sep).join(path.posix.sep)] = content;
58
70
  }
59
71
  return output;
60
72
  }
@@ -158,4 +170,4 @@ describe("Provider", () => {
158
170
  });
159
171
  }, 600000);
160
172
  });
161
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXIudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vcHJvdmlkZXIudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0JBQStCO0FBQy9CLG1DQUFtQztBQUNuQywyQ0FBNkI7QUFDN0IsNkNBQStCO0FBQy9CLCtCQUE0QjtBQUM1Qiw0Q0FBeUM7QUFDekMsOERBQTBEO0FBQzFELDRDQUF1RTtBQU12RSxTQUFTLGlCQUFpQixDQUFDLElBQVk7SUFDckMsTUFBTSxNQUFNLEdBQWdCLEVBQUUsQ0FBQztJQUUvQixNQUFNLEtBQUssR0FBRyxXQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtRQUM1QixNQUFNLEVBQUUsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDO1FBQzVCLEdBQUcsRUFBRSxJQUFJO1FBQ1QsS0FBSyxFQUFFLElBQUk7UUFDWCxHQUFHLEVBQUUsSUFBSTtLQUNWLENBQUMsQ0FBQztJQUVILEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFLENBQUM7UUFDekIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFdkMsSUFBSSxPQUFPLENBQUM7UUFFWixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssT0FBTyxFQUFFLENBQUM7WUFDdkMsT0FBTyxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7WUFFcEMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLGtCQUFrQixFQUFFLENBQUM7Z0JBQ25ELE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQztnQkFDckIsa0VBQWtFO2dCQUNsRSxrRUFBa0U7Z0JBQ2xFLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQztZQUNyQixDQUFDO1FBQ0gsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDL0MsQ0FBQztRQUVELE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxPQUFPLENBQUM7SUFDekIsQ0FBQztJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUFFRCxTQUFTLDhCQUE4QixDQUNyQyxRQUFxQixFQUNyQixrQkFBMEI7SUFFMUIsTUFBTSxTQUFTLEdBQWEsRUFBRSxDQUFDO0lBQy9CLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDcEMsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUN6QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUN0QixjQUFjLGtCQUFrQixrQkFBa0IsQ0FDbkQsQ0FBQztRQUNGLDZDQUE2QztRQUM3QyxJQUNFLEtBQUs7WUFDTCxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDO1lBQ3ZCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUM7WUFDM0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUM5QixDQUFDO1lBQ0QsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzQixDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUM7QUFFRCxRQUFRLENBQUMsVUFBVSxFQUFFLEdBQUcsRUFBRTtJQUN4QixFQUFFLENBQUMsc0JBQXNCLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDcEMsTUFBTSxVQUFVLEdBQUcsSUFBSSxxQ0FBMkIsQ0FDaEQsMEJBQTBCLENBQzNCLENBQUM7UUFDRixPQUFPLE1BQU0sSUFBQSxpQkFBTyxFQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtZQUNyQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztZQUM3QyxNQUFNLEtBQUssR0FBRyxJQUFJLGtDQUFlLENBQy9CO2dCQUNFLGVBQWUsRUFBRSxPQUFPO2dCQUN4QixVQUFVLEVBQUUsUUFBUTtnQkFDcEIsY0FBYyxFQUFFLGtCQUFRLENBQUMsVUFBVTthQUNwQyxFQUNELE9BQU8sQ0FBQyxHQUFHLENBQUMsNkNBQTZDLENBQzFELENBQUM7WUFDRixNQUFNLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1lBQ25DLE1BQU0sUUFBUSxHQUFHLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzVDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsRUFBRSxNQUFPLENBQUMsQ0FBQztJQUVaLEVBQUUsQ0FBQyw4REFBOEQsRUFBRSxLQUFLLElBQUksRUFBRTtRQUM1RSxNQUFNLFVBQVUsR0FBRyxJQUFJLHFDQUEyQixDQUNoRCwwQkFBMEIsQ0FDM0IsQ0FBQztRQUNGLE9BQU8sTUFBTSxJQUFBLGlCQUFPLEVBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFO1lBQ3JDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQzdDLE1BQU0sS0FBSyxHQUFHLElBQUksa0NBQWUsQ0FBQztnQkFDaEMsZUFBZSxFQUFFLE9BQU87Z0JBQ3hCLFVBQVUsRUFBRSxRQUFRO2dCQUNwQixjQUFjLEVBQUUsa0JBQVEsQ0FBQyxVQUFVO2FBQ3BDLENBQUMsQ0FBQztZQUNILE1BQU0sS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7WUFDbkMsTUFBTSxRQUFRLEdBQUcsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUM7WUFFNUMsTUFBTSw2QkFBNkIsR0FDakMsOEJBQThCLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBRXRELDZCQUE2QixDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO2dCQUNqRCxJQUFJLHFCQUFxQixHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO2dCQUN4RCxJQUFJLENBQUMscUJBQXFCLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7b0JBQy9DLHFCQUFxQixHQUFHLFdBQVcscUJBQXFCLEVBQUUsQ0FBQztnQkFDN0QsQ0FBQztnQkFDRCxNQUFNLENBQUMsUUFBUSxDQUFDLHFCQUFxQixRQUFRLFdBQVcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUNsRSx5SUFBeUksQ0FDMUksQ0FBQztnQkFDRixNQUFNLENBQUMsUUFBUSxDQUFDLHFCQUFxQixRQUFRLFdBQVcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUNsRSxvRkFBb0YscUJBQXFCLHlDQUF5QyxDQUNuSixDQUFDO1lBQ0osQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsRUFBRSxNQUFPLENBQUMsQ0FBQztJQUVaLEVBQUUsQ0FBQyxrRUFBa0UsRUFBRSxLQUFLLElBQUksRUFBRTtRQUNoRixNQUFNLFVBQVUsR0FBRyxJQUFJLHFDQUEyQixDQUFDO1lBQ2pELElBQUksRUFBRSxTQUFTO1lBQ2YsTUFBTSxFQUFFLDBDQUEwQztZQUNsRCxPQUFPLEVBQUUsT0FBTztTQUNqQixDQUFDLENBQUM7UUFDSCxPQUFPLE1BQU0sSUFBQSxpQkFBTyxFQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtZQUNyQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztZQUM3QyxNQUFNLEtBQUssR0FBRyxJQUFJLGtDQUFlLENBQy9CO2dCQUNFLGVBQWUsRUFBRSxPQUFPO2dCQUN4QixVQUFVLEVBQUUsUUFBUTtnQkFDcEIsY0FBYyxFQUFFLGtCQUFRLENBQUMsVUFBVTthQUNwQyxFQUNELE9BQU8sQ0FBQyxHQUFHLENBQUMsNkNBQTZDLENBQzFELENBQUM7WUFDRixNQUFNLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1lBQ25DLE1BQU0sUUFBUSxHQUFHLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBRTVDLE1BQU0sNkJBQTZCLEdBQ2pDLDhCQUE4QixDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQztZQUV0RCw2QkFBNkIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtnQkFDakQsTUFBTSxDQUNKLFFBQVEsQ0FBQyxxQkFBcUIsUUFBUSxXQUFXLENBQUMsQ0FDbkQsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNsQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxFQUFFLE1BQU8sQ0FBQyxDQUFDO0lBRVosRUFBRSxDQUFDLHVEQUF1RCxFQUFFLEtBQUssSUFBSSxFQUFFO1FBQ3JFLE1BQU0sVUFBVSxHQUFHLElBQUkscUNBQTJCLENBQUM7WUFDakQsSUFBSSxFQUFFLFdBQVc7WUFDakIsU0FBUyxFQUFFLFdBQVc7WUFDdEIsT0FBTyxFQUFFLFFBQVE7WUFDakIsTUFBTSxFQUFFLHFCQUFxQjtTQUM5QixDQUFDLENBQUM7UUFDSCxNQUFNLFdBQVcsR0FBRyxJQUFJLHFDQUEyQixDQUFDO1lBQ2xELElBQUksRUFBRSxZQUFZO1lBQ2xCLFNBQVMsRUFBRSxZQUFZO1lBQ3ZCLE9BQU8sRUFBRSxPQUFPO1lBQ2hCLE1BQU0sRUFBRSxzQkFBc0I7U0FDL0IsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxNQUFNLElBQUEsaUJBQU8sRUFBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUU7WUFDckMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDN0MsTUFBTSxLQUFLLEdBQUcsSUFBSSxrQ0FBZSxDQUMvQjtnQkFDRSxlQUFlLEVBQUUsT0FBTztnQkFDeEIsVUFBVSxFQUFFLFFBQVE7Z0JBQ3BCLGNBQWMsRUFBRSxrQkFBUSxDQUFDLFVBQVU7YUFDcEMsRUFDRCxPQUFPLENBQUMsR0FBRyxDQUFDLDZDQUE2QyxDQUMxRCxDQUFDO1lBQ0YsTUFBTSxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDaEQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDaEMsTUFBTSxRQUFRLEdBQUcsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDNUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3JDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxFQUFFLE1BQU8sQ0FBQyxDQUFDO0FBQ2QsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0ICogYXMgZnMgZnJvbSBcImZzLWV4dHJhXCI7XG5pbXBvcnQgeyBnbG9iIH0gZnJvbSBcImdsb2JcIjtcbmltcG9ydCB7IG1rZHRlbXAgfSBmcm9tIFwiQGNka3RuL2NvbW1vbnNcIjtcbmltcG9ydCB7IENvbnN0cnVjdHNNYWtlciB9IGZyb20gXCIuLi9nZXQvY29uc3RydWN0cy1tYWtlclwiO1xuaW1wb3J0IHsgTGFuZ3VhZ2UsIFRlcnJhZm9ybVByb3ZpZGVyQ29uc3RyYWludCB9IGZyb20gXCJAY2RrdG4vY29tbW9uc1wiO1xuXG5pbnRlcmZhY2UgU3ludGhPdXRwdXQge1xuICBbZmlsZVBhdGg6IHN0cmluZ106IGFueTtcbn1cblxuZnVuY3Rpb24gZGlyZWN0b3J5U25hcHNob3Qocm9vdDogc3RyaW5nKSB7XG4gIGNvbnN0IG91dHB1dDogU3ludGhPdXRwdXQgPSB7fTtcblxuICBjb25zdCBmaWxlcyA9IGdsb2Iuc3luYyhcIioqXCIsIHtcbiAgICBpZ25vcmU6IFtcIi5naXQvKipcIiwgXCIuanNpaVwiXSxcbiAgICBjd2Q6IHJvb3QsXG4gICAgbm9kaXI6IHRydWUsXG4gICAgZG90OiB0cnVlLFxuICB9KTtcblxuICBmb3IgKGNvbnN0IGZpbGUgb2YgZmlsZXMpIHtcbiAgICBjb25zdCBmaWxlUGF0aCA9IHBhdGguam9pbihyb290LCBmaWxlKTtcblxuICAgIGxldCBjb250ZW50O1xuXG4gICAgaWYgKHBhdGguZXh0bmFtZShmaWxlUGF0aCkgPT09IFwiLmpzb25cIikge1xuICAgICAgY29udGVudCA9IGZzLnJlYWRKc29uU3luYyhmaWxlUGF0aCk7XG5cbiAgICAgIGlmIChwYXRoLmJhc2VuYW1lKGZpbGVQYXRoKSA9PT0gXCJjb25zdHJhaW50cy5qc29uXCIpIHtcbiAgICAgICAgZGVsZXRlIGNvbnRlbnQuY2RrdGY7XG4gICAgICAgIC8vIGNsaSBpZGVudGl0eSBkZXBlbmRzIG9uIHRoZSB0ZXJyYWZvcm0vb3BlbnRvZnUgYmluYXJ5IGluc3RhbGxlZFxuICAgICAgICAvLyBvbiB0aGUgdGVzdCBydW5uZXIgLSBub3QgZGV0ZXJtaW5pc3RpYywgc28gZXhjbHVkZWQgbGlrZSBjZGt0Zi5cbiAgICAgICAgZGVsZXRlIGNvbnRlbnQuY2xpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb250ZW50ID0gZnMucmVhZEZpbGVTeW5jKGZpbGVQYXRoLCBcInV0Zi04XCIpO1xuICAgIH1cblxuICAgIG91dHB1dFtmaWxlXSA9IGNvbnRlbnQ7XG4gIH1cblxuICByZXR1cm4gb3V0cHV0O1xufVxuXG5mdW5jdGlvbiByZXNvdXJjZVR5cGVzUHJlc2VudEluU25hcHNob3QoXG4gIHNuYXBzaG90OiBTeW50aE91dHB1dCxcbiAgcHJvdmlkZXJOYW1lSW5QYXRoOiBzdHJpbmcsXG4pIHtcbiAgY29uc3QgcmVzb3VyY2VzOiBzdHJpbmdbXSA9IFtdO1xuICBjb25zdCBmaWxlcyA9IE9iamVjdC5rZXlzKHNuYXBzaG90KTtcbiAgZm9yIChjb25zdCBmaWxlIG9mIGZpbGVzKSB7XG4gICAgY29uc3QgbWF0Y2ggPSBmaWxlLm1hdGNoKFxuICAgICAgYC9wcm92aWRlcnMvJHtwcm92aWRlck5hbWVJblBhdGh9LyguKj8pL2luZGV4LnRzL2AsXG4gICAgKTtcbiAgICAvLyBhdm9pZHMgYW55IG5vdCByZXNvdXJjZXMgZnJvbSBiZWluZyBwdXNoZWRcbiAgICBpZiAoXG4gICAgICBtYXRjaCAmJlxuICAgICAgIW1hdGNoWzFdLmluY2x1ZGVzKFwiL1wiKSAmJlxuICAgICAgIW1hdGNoWzFdLmluY2x1ZGVzKFwiZGF0YS1cIikgJiZcbiAgICAgICFtYXRjaFsxXS5pbmNsdWRlcyhcInByb3ZpZGVyXCIpXG4gICAgKSB7XG4gICAgICByZXNvdXJjZXMucHVzaChtYXRjaFsxXSk7XG4gICAgfVxuICB9XG4gIHJldHVybiByZXNvdXJjZXM7XG59XG5cbmRlc2NyaWJlKFwiUHJvdmlkZXJcIiwgKCkgPT4ge1xuICBpdChcImdlbmVyYXRlcyBhIHByb3ZpZGVyXCIsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBjb25zdHJhaW50ID0gbmV3IFRlcnJhZm9ybVByb3ZpZGVyQ29uc3RyYWludChcbiAgICAgIFwiRGF0YURvZy9kYXRhZG9nQD0gMy4xMi4wXCIsXG4gICAgKTtcbiAgICByZXR1cm4gYXdhaXQgbWtkdGVtcChhc3luYyAod29ya2RpcikgPT4ge1xuICAgICAgY29uc3QganNpaVBhdGggPSBwYXRoLmpvaW4od29ya2RpciwgXCIuanNpaVwiKTtcbiAgICAgIGNvbnN0IG1ha2VyID0gbmV3IENvbnN0cnVjdHNNYWtlcihcbiAgICAgICAge1xuICAgICAgICAgIGNvZGVNYWtlck91dHB1dDogd29ya2RpcixcbiAgICAgICAgICBvdXRwdXRKc2lpOiBqc2lpUGF0aCxcbiAgICAgICAgICB0YXJnZXRMYW5ndWFnZTogTGFuZ3VhZ2UuVFlQRVNDUklQVCxcbiAgICAgICAgfSxcbiAgICAgICAgcHJvY2Vzcy5lbnYuQ0RLVEZfRVhQRVJJTUVOVEFMX1BST1ZJREVSX1NDSEVNQV9DQUNIRV9QQVRILFxuICAgICAgKTtcbiAgICAgIGF3YWl0IG1ha2VyLmdlbmVyYXRlKFtjb25zdHJhaW50XSk7XG4gICAgICBjb25zdCBzbmFwc2hvdCA9IGRpcmVjdG9yeVNuYXBzaG90KHdvcmtkaXIpO1xuICAgICAgZXhwZWN0KHNuYXBzaG90KS50b01hdGNoU25hcHNob3QoKTtcbiAgICB9KTtcbiAgfSwgNjAwXzAwMCk7XG5cbiAgaXQoXCJoYXMgZ2VuZXJhdGVkIHByb3ZpZGVyIHRoYXQgaW5jbHVkZXMgc3RhdGljIGltcG9ydCBmdW5jdGlvbnNcIiwgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGNvbnN0cmFpbnQgPSBuZXcgVGVycmFmb3JtUHJvdmlkZXJDb25zdHJhaW50KFxuICAgICAgXCJEYXRhRG9nL2RhdGFkb2dAPSAzLjEyLjBcIixcbiAgICApO1xuICAgIHJldHVybiBhd2FpdCBta2R0ZW1wKGFzeW5jICh3b3JrZGlyKSA9PiB7XG4gICAgICBjb25zdCBqc2lpUGF0aCA9IHBhdGguam9pbih3b3JrZGlyLCBcIi5qc2lpXCIpO1xuICAgICAgY29uc3QgbWFrZXIgPSBuZXcgQ29uc3RydWN0c01ha2VyKHtcbiAgICAgICAgY29kZU1ha2VyT3V0cHV0OiB3b3JrZGlyLFxuICAgICAgICBvdXRwdXRKc2lpOiBqc2lpUGF0aCxcbiAgICAgICAgdGFyZ2V0TGFuZ3VhZ2U6IExhbmd1YWdlLlRZUEVTQ1JJUFQsXG4gICAgICB9KTtcbiAgICAgIGF3YWl0IG1ha2VyLmdlbmVyYXRlKFtjb25zdHJhaW50XSk7XG4gICAgICBjb25zdCBzbmFwc2hvdCA9IGRpcmVjdG9yeVNuYXBzaG90KHdvcmtkaXIpO1xuXG4gICAgICBjb25zdCB0ZXJyYWZvcm1SZXNvdXJjZVR5cGVzUHJlc2VudDogc3RyaW5nW10gPVxuICAgICAgICByZXNvdXJjZVR5cGVzUHJlc2VudEluU25hcHNob3Qoc25hcHNob3QsIFwiZGF0YWRvZ1wiKTtcblxuICAgICAgdGVycmFmb3JtUmVzb3VyY2VUeXBlc1ByZXNlbnQuZm9yRWFjaCgocmVzb3VyY2UpID0+IHtcbiAgICAgICAgbGV0IHRlcnJhZm9ybVJlc291cmNlVHlwZSA9IHJlc291cmNlLnJlcGxhY2UoLy0vZywgXCJfXCIpO1xuICAgICAgICBpZiAoIXRlcnJhZm9ybVJlc291cmNlVHlwZS5pbmNsdWRlcyhcImRhdGFkb2dcIikpIHtcbiAgICAgICAgICB0ZXJyYWZvcm1SZXNvdXJjZVR5cGUgPSBgZGF0YWRvZ18ke3RlcnJhZm9ybVJlc291cmNlVHlwZX1gO1xuICAgICAgICB9XG4gICAgICAgIGV4cGVjdChzbmFwc2hvdFtgcHJvdmlkZXJzL2RhdGFkb2cvJHtyZXNvdXJjZX0vaW5kZXgudHNgXSkudG9Db250YWluKFxuICAgICAgICAgIGBwdWJsaWMgc3RhdGljIGdlbmVyYXRlQ29uZmlnRm9ySW1wb3J0KHNjb3BlOiBDb25zdHJ1Y3QsIGltcG9ydFRvSWQ6IHN0cmluZywgaW1wb3J0RnJvbUlkOiBzdHJpbmcsIHByb3ZpZGVyPzogY2RrdG4uVGVycmFmb3JtUHJvdmlkZXIpIHtgLFxuICAgICAgICApO1xuICAgICAgICBleHBlY3Qoc25hcHNob3RbYHByb3ZpZGVycy9kYXRhZG9nLyR7cmVzb3VyY2V9L2luZGV4LnRzYF0pLnRvQ29udGFpbihcbiAgICAgICAgICBgcmV0dXJuIG5ldyBjZGt0bi5JbXBvcnRhYmxlUmVzb3VyY2Uoc2NvcGUsIGltcG9ydFRvSWQsIHsgdGVycmFmb3JtUmVzb3VyY2VUeXBlOiBcIiR7dGVycmFmb3JtUmVzb3VyY2VUeXBlfVwiLCBpbXBvcnRJZDogaW1wb3J0RnJvbUlkLCBwcm92aWRlciB9KTtgLFxuICAgICAgICApO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH0sIDYwMF8wMDApO1xuXG4gIGl0KFwiaGFzIG5hbWUgaW4gY29uc3RyYWludCB0aGF0IGRvZXMgbm90IG1hdGNoIHJlc29sdmVkIG5hbWUgaW4gZnFwblwiLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgY29uc3RyYWludCA9IG5ldyBUZXJyYWZvcm1Qcm92aWRlckNvbnN0cmFpbnQoe1xuICAgICAgbmFtZTogXCJkb2NrZXJyXCIsXG4gICAgICBzb3VyY2U6IFwicmVnaXN0cnkudGVycmFmb3JtLmlvL2tyZXV6d2Vya2VyL2RvY2tlclwiLFxuICAgICAgdmVyc2lvbjogXCIzLjAuMlwiLFxuICAgIH0pO1xuICAgIHJldHVybiBhd2FpdCBta2R0ZW1wKGFzeW5jICh3b3JrZGlyKSA9PiB7XG4gICAgICBjb25zdCBqc2lpUGF0aCA9IHBhdGguam9pbih3b3JrZGlyLCBcIi5qc2lpXCIpO1xuICAgICAgY29uc3QgbWFrZXIgPSBuZXcgQ29uc3RydWN0c01ha2VyKFxuICAgICAgICB7XG4gICAgICAgICAgY29kZU1ha2VyT3V0cHV0OiB3b3JrZGlyLFxuICAgICAgICAgIG91dHB1dEpzaWk6IGpzaWlQYXRoLFxuICAgICAgICAgIHRhcmdldExhbmd1YWdlOiBMYW5ndWFnZS5UWVBFU0NSSVBULFxuICAgICAgICB9LFxuICAgICAgICBwcm9jZXNzLmVudi5DREtURl9FWFBFUklNRU5UQUxfUFJPVklERVJfU0NIRU1BX0NBQ0hFX1BBVEgsXG4gICAgICApO1xuICAgICAgYXdhaXQgbWFrZXIuZ2VuZXJhdGUoW2NvbnN0cmFpbnRdKTtcbiAgICAgIGNvbnN0IHNuYXBzaG90ID0gZGlyZWN0b3J5U25hcHNob3Qod29ya2Rpcik7XG5cbiAgICAgIGNvbnN0IHRlcnJhZm9ybVJlc291cmNlVHlwZXNQcmVzZW50OiBzdHJpbmdbXSA9XG4gICAgICAgIHJlc291cmNlVHlwZXNQcmVzZW50SW5TbmFwc2hvdChzbmFwc2hvdCwgXCJkb2NrZXJyXCIpO1xuXG4gICAgICB0ZXJyYWZvcm1SZXNvdXJjZVR5cGVzUHJlc2VudC5mb3JFYWNoKChyZXNvdXJjZSkgPT4ge1xuICAgICAgICBleHBlY3QoXG4gICAgICAgICAgc25hcHNob3RbYHByb3ZpZGVycy9kb2NrZXJyLyR7cmVzb3VyY2V9L2luZGV4LnRzYF0sXG4gICAgICAgICkudG9CZURlZmluZWQoKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9LCA2MDBfMDAwKTtcblxuICBpdChcImdlbmVyYXRlcyBjb25zdHJ1Y3RzIGZvciB0d28gcHJvdmlkZXJzIHdpdGggc2FtZSBuYW1lXCIsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBjb25zdHJhaW50ID0gbmV3IFRlcnJhZm9ybVByb3ZpZGVyQ29uc3RyYWludCh7XG4gICAgICBuYW1lOiBcImJpdGJ1Y2tldFwiLFxuICAgICAgbmFtZXNwYWNlOiBcIkRyRmF1c3Q5MlwiLFxuICAgICAgdmVyc2lvbjogXCIyLjUxLjBcIixcbiAgICAgIHNvdXJjZTogXCJEckZhdXN0OTIvYml0YnVja2V0XCIsXG4gICAgfSk7XG4gICAgY29uc3QgY29uc3RyYWludDIgPSBuZXcgVGVycmFmb3JtUHJvdmlkZXJDb25zdHJhaW50KHtcbiAgICAgIG5hbWU6IFwiYWJpdGJ1Y2tldFwiLFxuICAgICAgbmFtZXNwYWNlOiBcImFuZHNhZmUtQUdcIixcbiAgICAgIHZlcnNpb246IFwiMi41LjBcIixcbiAgICAgIHNvdXJjZTogXCJhbmRzYWZlLUFHL2JpdGJ1Y2tldFwiLFxuICAgIH0pO1xuICAgIHJldHVybiBhd2FpdCBta2R0ZW1wKGFzeW5jICh3b3JrZGlyKSA9PiB7XG4gICAgICBjb25zdCBqc2lpUGF0aCA9IHBhdGguam9pbih3b3JrZGlyLCBcIi5qc2lpXCIpO1xuICAgICAgY29uc3QgbWFrZXIgPSBuZXcgQ29uc3RydWN0c01ha2VyKFxuICAgICAgICB7XG4gICAgICAgICAgY29kZU1ha2VyT3V0cHV0OiB3b3JrZGlyLFxuICAgICAgICAgIG91dHB1dEpzaWk6IGpzaWlQYXRoLFxuICAgICAgICAgIHRhcmdldExhbmd1YWdlOiBMYW5ndWFnZS5UWVBFU0NSSVBULFxuICAgICAgICB9LFxuICAgICAgICBwcm9jZXNzLmVudi5DREtURl9FWFBFUklNRU5UQUxfUFJPVklERVJfU0NIRU1BX0NBQ0hFX1BBVEgsXG4gICAgICApO1xuICAgICAgYXdhaXQgbWFrZXIuZ2VuZXJhdGUoW2NvbnN0cmFpbnQsIGNvbnN0cmFpbnQyXSk7XG4gICAgICBjb25zb2xlLmxvZyhcIndvcmtkaXJcIiwgd29ya2Rpcik7XG4gICAgICBjb25zdCBzbmFwc2hvdCA9IGRpcmVjdG9yeVNuYXBzaG90KHdvcmtkaXIpO1xuICAgICAgZXhwZWN0KHNuYXBzaG90KS50b01hdGNoU25hcHNob3QoKTtcbiAgICB9KTtcbiAgfSwgNjAwXzAwMCk7XG59KTtcbiJdfQ==
173
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXIudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vcHJvdmlkZXIudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtCQUErQjtBQUMvQixtQ0FBbUM7QUFDbkMsMkNBQTZCO0FBQzdCLDZDQUErQjtBQUMvQiwrQkFBNEI7QUFDNUIsNENBQXlDO0FBQ3pDLDhEQUEwRDtBQUMxRCw0Q0FBdUU7QUFNdkUsU0FBUyxpQkFBaUIsQ0FBQyxJQUFZO0lBQ3JDLE1BQU0sTUFBTSxHQUFnQixFQUFFLENBQUM7SUFFL0IsTUFBTSxLQUFLLEdBQUcsV0FBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7UUFDNUIsTUFBTSxFQUFFLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQztRQUM1QixHQUFHLEVBQUUsSUFBSTtRQUNULEtBQUssRUFBRSxJQUFJO1FBQ1gsR0FBRyxFQUFFLElBQUk7S0FDVixDQUFDLENBQUM7SUFFSCxLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssRUFBRSxDQUFDO1FBQ3pCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRXZDLElBQUksT0FBTyxDQUFDO1FBRVosSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLLE9BQU8sRUFBRSxDQUFDO1lBQ3ZDLE9BQU8sR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBRXBDLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxrQkFBa0IsRUFBRSxDQUFDO2dCQUNuRCxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUM7Z0JBQ3JCLGtFQUFrRTtnQkFDbEUsa0VBQWtFO2dCQUNsRSxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUM7WUFDckIsQ0FBQztR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QkFBTyxFQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtZQUNyQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztZQUM3QyxNQUFNLEtBQUssR0FBRyxJQUFJLGtDQUFlLENBQy9CO2dCQUNFLGVBQWUsRUFBRSxPQUFPO2dCQUN4QixVQUFVLEVBQUUsUUFBUTtnQkFDcEIsY0FBYyxFQUFFLGtCQUFRLENBQUMsVUFBVTthQUNwQyxFQUNELE9BQU8sQ0FBQyxHQUFHLENBQUMsNkNBQTZDLENBQzFELENBQUM7WUFDRixNQUFNLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxVQUFVLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQztZQUNoRCxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUNoQyxNQUFNLFFBQVEsR0FBRyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM1QyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDckMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLEVBQUUsTUFBTyxDQUFDLENBQUM7QUFDZCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgKiBhcyBmcyBmcm9tIFwiZnMtZXh0cmFcIjtcbmltcG9ydCB7IGdsb2IgfSBmcm9tIFwiZ2xvYlwiO1xuaW1wb3J0IHsgbWtkdGVtcCB9IGZyb20gXCJAY2RrdG4vY29tbW9uc1wiO1xuaW1wb3J0IHsgQ29uc3RydWN0c01ha2VyIH0gZnJvbSBcIi4uL2dldC9jb25zdHJ1Y3RzLW1ha2VyXCI7XG5pbXBvcnQgeyBMYW5ndWFnZSwgVGVycmFmb3JtUHJvdmlkZXJDb25zdHJhaW50IH0gZnJvbSBcIkBjZGt0bi9jb21tb25zXCI7XG5cbmludGVyZmFjZSBTeW50aE91dHB1dCB7XG4gIFtmaWxlUGF0aDogc3RyaW5nXTogYW55O1xufVxuXG5mdW5jdGlvbiBkaXJlY3RvcnlTbmFwc2hvdChyb290OiBzdHJpbmcpIHtcbiAgY29uc3Qgb3V0cHV0OiBTeW50aE91dHB1dCA9IHt9O1xuXG4gIGNvbnN0IGZpbGVzID0gZ2xvYi5zeW5jKFwiKipcIiwge1xuICAgIGlnbm9yZTogW1wiLmdpdC8qKlwiLCBcIi5qc2lpXCJdLFxuICAgIGN3ZDogcm9vdCxcbiAgICBub2RpcjogdHJ1ZSxcbiAgICBkb3Q6IHRydWUsXG4gIH0pO1xuXG4gIGZvciAoY29uc3QgZmlsZSBvZiBmaWxlcykge1xuICAgIGNvbnN0IGZpbGVQYXRoID0gcGF0aC5qb2luKHJvb3QsIGZpbGUpO1xuXG4gICAgbGV0IGNvbnRlbnQ7XG5cbiAgICBpZiAocGF0aC5leHRuYW1lKGZpbGVQYXRoKSA9PT0gXCIuanNvblwiKSB7XG4gICAgICBjb250ZW50ID0gZnMucmVhZEpzb25TeW5jKGZpbGVQYXRoKTtcblxuICAgICAgaWYgKHBhdGguYmFzZW5hbWUoZmlsZVBhdGgpID09PSBcImNvbnN0cmFpbnRzLmpzb25cIikge1xuICAgICAgICBkZWxldGUgY29udGVudC5jZGt0ZjtcbiAgICAgICAgLy8gY2xpIGlkZW50aXR5IGRlcGVuZHMgb24gdGhlIHRlcnJhZm9ybS9vcGVudG9mdSBiaW5hcnkgaW5zdGFsbGVkXG4gICAgICAgIC8vIG9uIHRoZSB0ZXN0IHJ1bm5lciAtIG5vdCBkZXRlcm1pbmlzdGljLCBzbyBleGNsdWRlZCBsaWtlIGNka3RmLlxuICAgICAgICBkZWxldGUgY29udGVudC5jbGk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnRlbnQgPSBmcy5yZWFkRmlsZVN5bmMoZmlsZVBhdGgsIFwidXRmLThcIik7XG4gICAgfVxuXG4gICAgLy8gZ2xvYiB5aWVsZHMgbmF0aXZlIHNlcGFyYXRvcnMgb24gV2luZG93czsga2V5IHRoZSBzbmFwc2hvdCBieSBhXG4gICAgLy8gXCIvXCItc2VwYXJhdGVkIHBhdGggc28gaXQgaXMgaWRlbnRpY2FsIG9uIGV2ZXJ5IHBsYXRmb3JtLlxuICAgIG91dHB1dFtmaWxlLnNwbGl0KHBhdGguc2VwKS5qb2luKHBhdGgucG9zaXguc2VwKV0gPSBjb250ZW50O1xuICB9XG5cbiAgcmV0dXJuIG91dHB1dDtcbn1cblxuZnVuY3Rpb24gcmVzb3VyY2VUeXBlc1ByZXNlbnRJblNuYXBzaG90KFxuICBzbmFwc2hvdDogU3ludGhPdXRwdXQsXG4gIHByb3ZpZGVyTmFtZUluUGF0aDogc3RyaW5nLFxuKSB7XG4gIGNvbnN0IHJlc291cmNlczogc3RyaW5nW10gPSBbXTtcbiAgY29uc3QgZmlsZXMgPSBPYmplY3Qua2V5cyhzbmFwc2hvdCk7XG4gIGZvciAoY29uc3QgZmlsZSBvZiBmaWxlcykge1xuICAgIGNvbnN0IG1hdGNoID0gZmlsZS5tYXRjaChcbiAgICAgIGAvcHJvdmlkZXJzLyR7cHJvdmlkZXJOYW1lSW5QYXRofS8oLio/KS9pbmRleC50cy9gLFxuICAgICk7XG4gICAgLy8gYXZvaWRzIGFueSBub3QgcmVzb3VyY2VzIGZyb20gYmVpbmcgcHVzaGVkXG4gICAgaWYgKFxuICAgICAgbWF0Y2ggJiZcbiAgICAgICFtYXRjaFsxXS5pbmNsdWRlcyhcIi9cIikgJiZcbiAgICAgICFtYXRjaFsxXS5pbmNsdWRlcyhcImRhdGEtXCIpICYmXG4gICAgICAhbWF0Y2hbMV0uaW5jbHVkZXMoXCJwcm92aWRlclwiKVxuICAgICkge1xuICAgICAgcmVzb3VyY2VzLnB1c2gobWF0Y2hbMV0pO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcmVzb3VyY2VzO1xufVxuXG5kZXNjcmliZShcIlByb3ZpZGVyXCIsICgpID0+IHtcbiAgaXQoXCJnZW5lcmF0ZXMgYSBwcm92aWRlclwiLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgY29uc3RyYWludCA9IG5ldyBUZXJyYWZvcm1Qcm92aWRlckNvbnN0cmFpbnQoXG4gICAgICBcIkRhdGFEb2cvZGF0YWRvZ0A9IDMuMTIuMFwiLFxuICAgICk7XG4gICAgcmV0dXJuIGF3YWl0IG1rZHRlbXAoYXN5bmMgKHdvcmtkaXIpID0+IHtcbiAgICAgIGNvbnN0IGpzaWlQYXRoID0gcGF0aC5qb2luKHdvcmtkaXIsIFwiLmpzaWlcIik7XG4gICAgICBjb25zdCBtYWtlciA9IG5ldyBDb25zdHJ1Y3RzTWFrZXIoXG4gICAgICAgIHtcbiAgICAgICAgICBjb2RlTWFrZXJPdXRwdXQ6IHdvcmtkaXIsXG4gICAgICAgICAgb3V0cHV0SnNpaToganNpaVBhdGgsXG4gICAgICAgICAgdGFyZ2V0TGFuZ3VhZ2U6IExhbmd1YWdlLlRZUEVTQ1JJUFQsXG4gICAgICAgIH0sXG4gICAgICAgIHByb2Nlc3MuZW52LkNES1RGX0VYUEVSSU1FTlRBTF9QUk9WSURFUl9TQ0hFTUFfQ0FDSEVfUEFUSCxcbiAgICAgICk7XG4gICAgICBhd2FpdCBtYWtlci5nZW5lcmF0ZShbY29uc3RyYWludF0pO1xuICAgICAgY29uc3Qgc25hcHNob3QgPSBkaXJlY3RvcnlTbmFwc2hvdCh3b3JrZGlyKTtcbiAgICAgIGV4cGVjdChzbmFwc2hvdCkudG9NYXRjaFNuYXBzaG90KCk7XG4gICAgfSk7XG4gIH0sIDYwMF8wMDApO1xuXG4gIGl0KFwiaGFzIGdlbmVyYXRlZCBwcm92aWRlciB0aGF0IGluY2x1ZGVzIHN0YXRpYyBpbXBvcnQgZnVuY3Rpb25zXCIsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBjb25zdHJhaW50ID0gbmV3IFRlcnJhZm9ybVByb3ZpZGVyQ29uc3RyYWludChcbiAgICAgIFwiRGF0YURvZy9kYXRhZG9nQD0gMy4xMi4wXCIsXG4gICAgKTtcbiAgICByZXR1cm4gYXdhaXQgbWtkdGVtcChhc3luYyAod29ya2RpcikgPT4ge1xuICAgICAgY29uc3QganNpaVBhdGggPSBwYXRoLmpvaW4od29ya2RpciwgXCIuanNpaVwiKTtcbiAgICAgIGNvbnN0IG1ha2VyID0gbmV3IENvbnN0cnVjdHNNYWtlcih7XG4gICAgICAgIGNvZGVNYWtlck91dHB1dDogd29ya2RpcixcbiAgICAgICAgb3V0cHV0SnNpaToganNpaVBhdGgsXG4gICAgICAgIHRhcmdldExhbmd1YWdlOiBMYW5ndWFnZS5UWVBFU0NSSVBULFxuICAgICAgfSk7XG4gICAgICBhd2FpdCBtYWtlci5nZW5lcmF0ZShbY29uc3RyYWludF0pO1xuICAgICAgY29uc3Qgc25hcHNob3QgPSBkaXJlY3RvcnlTbmFwc2hvdCh3b3JrZGlyKTtcblxuICAgICAgY29uc3QgdGVycmFmb3JtUmVzb3VyY2VUeXBlc1ByZXNlbnQ6IHN0cmluZ1tdID1cbiAgICAgICAgcmVzb3VyY2VUeXBlc1ByZXNlbnRJblNuYXBzaG90KHNuYXBzaG90LCBcImRhdGFkb2dcIik7XG5cbiAgICAgIHRlcnJhZm9ybVJlc291cmNlVHlwZXNQcmVzZW50LmZvckVhY2goKHJlc291cmNlKSA9PiB7XG4gICAgICAgIGxldCB0ZXJyYWZvcm1SZXNvdXJjZVR5cGUgPSByZXNvdXJjZS5yZXBsYWNlKC8tL2csIFwiX1wiKTtcbiAgICAgICAgaWYgKCF0ZXJyYWZvcm1SZXNvdXJjZVR5cGUuaW5jbHVkZXMoXCJkYXRhZG9nXCIpKSB7XG4gICAgICAgICAgdGVycmFmb3JtUmVzb3VyY2VUeXBlID0gYGRhdGFkb2dfJHt0ZXJyYWZvcm1SZXNvdXJjZVR5cGV9YDtcbiAgICAgICAgfVxuICAgICAgICBleHBlY3Qoc25hcHNob3RbYHByb3ZpZGVycy9kYXRhZG9nLyR7cmVzb3VyY2V9L2luZGV4LnRzYF0pLnRvQ29udGFpbihcbiAgICAgICAgICBgcHVibGljIHN0YXRpYyBnZW5lcmF0ZUNvbmZpZ0ZvckltcG9ydChzY29wZTogQ29uc3RydWN0LCBpbXBvcnRUb0lkOiBzdHJpbmcsIGltcG9ydEZyb21JZDogc3RyaW5nLCBwcm92aWRlcj86IGNka3RuLlRlcnJhZm9ybVByb3ZpZGVyKSB7YCxcbiAgICAgICAgKTtcbiAgICAgICAgZXhwZWN0KHNuYXBzaG90W2Bwcm92aWRlcnMvZGF0YWRvZy8ke3Jlc291cmNlfS9pbmRleC50c2BdKS50b0NvbnRhaW4oXG4gICAgICAgICAgYHJldHVybiBuZXcgY2RrdG4uSW1wb3J0YWJsZVJlc291cmNlKHNjb3BlLCBpbXBvcnRUb0lkLCB7IHRlcnJhZm9ybVJlc291cmNlVHlwZTogXCIke3RlcnJhZm9ybVJlc291cmNlVHlwZX1cIiwgaW1wb3J0SWQ6IGltcG9ydEZyb21JZCwgcHJvdmlkZXIgfSk7YCxcbiAgICAgICAgKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9LCA2MDBfMDAwKTtcblxuICBpdChcImhhcyBuYW1lIGluIGNvbnN0cmFpbnQgdGhhdCBkb2VzIG5vdCBtYXRjaCByZXNvbHZlZCBuYW1lIGluIGZxcG5cIiwgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGNvbnN0cmFpbnQgPSBuZXcgVGVycmFmb3JtUHJvdmlkZXJDb25zdHJhaW50KHtcbiAgICAgIG5hbWU6IFwiZG9ja2VyclwiLFxuICAgICAgc291cmNlOiBcInJlZ2lzdHJ5LnRlcnJhZm9ybS5pby9rcmV1endlcmtlci9kb2NrZXJcIixcbiAgICAgIHZlcnNpb246IFwiMy4wLjJcIixcbiAgICB9KTtcbiAgICByZXR1cm4gYXdhaXQgbWtkdGVtcChhc3luYyAod29ya2RpcikgPT4ge1xuICAgICAgY29uc3QganNpaVBhdGggPSBwYXRoLmpvaW4od29ya2RpciwgXCIuanNpaVwiKTtcbiAgICAgIGNvbnN0IG1ha2VyID0gbmV3IENvbnN0cnVjdHNNYWtlcihcbiAgICAgICAge1xuICAgICAgICAgIGNvZGVNYWtlck91dHB1dDogd29ya2RpcixcbiAgICAgICAgICBvdXRwdXRKc2lpOiBqc2lpUGF0aCxcbiAgICAgICAgICB0YXJnZXRMYW5ndWFnZTogTGFuZ3VhZ2UuVFlQRVNDUklQVCxcbiAgICAgICAgfSxcbiAgICAgICAgcHJvY2Vzcy5lbnYuQ0RLVEZfRVhQRVJJTUVOVEFMX1BST1ZJREVSX1NDSEVNQV9DQUNIRV9QQVRILFxuICAgICAgKTtcbiAgICAgIGF3YWl0IG1ha2VyLmdlbmVyYXRlKFtjb25zdHJhaW50XSk7XG4gICAgICBjb25zdCBzbmFwc2hvdCA9IGRpcmVjdG9yeVNuYXBzaG90KHdvcmtkaXIpO1xuXG4gICAgICBjb25zdCB0ZXJyYWZvcm1SZXNvdXJjZVR5cGVzUHJlc2VudDogc3RyaW5nW10gPVxuICAgICAgICByZXNvdXJjZVR5cGVzUHJlc2VudEluU25hcHNob3Qoc25hcHNob3QsIFwiZG9ja2VyclwiKTtcblxuICAgICAgdGVycmFmb3JtUmVzb3VyY2VUeXBlc1ByZXNlbnQuZm9yRWFjaCgocmVzb3VyY2UpID0+IHtcbiAgICAgICAgZXhwZWN0KFxuICAgICAgICAgIHNuYXBzaG90W2Bwcm92aWRlcnMvZG9ja2Vyci8ke3Jlc291cmNlfS9pbmRleC50c2BdLFxuICAgICAgICApLnRvQmVEZWZpbmVkKCk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfSwgNjAwXzAwMCk7XG5cbiAgaXQoXCJnZW5lcmF0ZXMgY29uc3RydWN0cyBmb3IgdHdvIHByb3ZpZGVycyB3aXRoIHNhbWUgbmFtZVwiLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgY29uc3RyYWludCA9IG5ldyBUZXJyYWZvcm1Qcm92aWRlckNvbnN0cmFpbnQoe1xuICAgICAgbmFtZTogXCJiaXRidWNrZXRcIixcbiAgICAgIG5hbWVzcGFjZTogXCJEckZhdXN0OTJcIixcbiAgICAgIHZlcnNpb246IFwiMi41MS4wXCIsXG4gICAgICBzb3VyY2U6IFwiRHJGYXVzdDkyL2JpdGJ1Y2tldFwiLFxuICAgIH0pO1xuICAgIGNvbnN0IGNvbnN0cmFpbnQyID0gbmV3IFRlcnJhZm9ybVByb3ZpZGVyQ29uc3RyYWludCh7XG4gICAgICBuYW1lOiBcImFiaXRidWNrZXRcIixcbiAgICAgIG5hbWVzcGFjZTogXCJhbmRzYWZlLUFHXCIsXG4gICAgICB2ZXJzaW9uOiBcIjIuNS4wXCIsXG4gICAgICBzb3VyY2U6IFwiYW5kc2FmZS1BRy9iaXRidWNrZXRcIixcbiAgICB9KTtcbiAgICByZXR1cm4gYXdhaXQgbWtkdGVtcChhc3luYyAod29ya2RpcikgPT4ge1xuICAgICAgY29uc3QganNpaVBhdGggPSBwYXRoLmpvaW4od29ya2RpciwgXCIuanNpaVwiKTtcbiAgICAgIGNvbnN0IG1ha2VyID0gbmV3IENvbnN0cnVjdHNNYWtlcihcbiAgICAgICAge1xuICAgICAgICAgIGNvZGVNYWtlck91dHB1dDogd29ya2RpcixcbiAgICAgICAgICBvdXRwdXRKc2lpOiBqc2lpUGF0aCxcbiAgICAgICAgICB0YXJnZXRMYW5ndWFnZTogTGFuZ3VhZ2UuVFlQRVNDUklQVCxcbiAgICAgICAgfSxcbiAgICAgICAgcHJvY2Vzcy5lbnYuQ0RLVEZfRVhQRVJJTUVOVEFMX1BST1ZJREVSX1NDSEVNQV9DQUNIRV9QQVRILFxuICAgICAgKTtcbiAgICAgIGF3YWl0IG1ha2VyLmdlbmVyYXRlKFtjb25zdHJhaW50LCBjb25zdHJhaW50Ml0pO1xuICAgICAgY29uc29sZS5sb2coXCJ3b3JrZGlyXCIsIHdvcmtkaXIpO1xuICAgICAgY29uc3Qgc25hcHNob3QgPSBkaXJlY3RvcnlTbmFwc2hvdCh3b3JrZGlyKTtcbiAgICAgIGV4cGVjdChzbmFwc2hvdCkudG9NYXRjaFNuYXBzaG90KCk7XG4gICAgfSk7XG4gIH0sIDYwMF8wMDApO1xufSk7XG4iXX0=
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  Object.defineProperty(exports, "__esModule", { value: true });
26
36
  // Copyright (c) HashiCorp, Inc
27
37
  // SPDX-License-Identifier: MPL-2.0
@@ -109,5 +119,78 @@ describe("constructsMaker", () => {
109
119
  expect(target.srcMakName).toEqual("security_group");
110
120
  });
111
121
  });
122
+ describe("removeOrphanedResourceFolders", () => {
123
+ let tmpDir;
124
+ const providerDir = (provider) => path.join(tmpDir, "providers", provider);
125
+ /**
126
+ * Lay out a provider folder containing the given resource directories plus
127
+ * the provider-level index files a real generation run writes.
128
+ */
129
+ const seedProvider = async (provider, resources) => {
130
+ for (const resource of resources) {
131
+ await fs.mkdirs(path.join(providerDir(provider), resource));
132
+ await fs.writeFile(path.join(providerDir(provider), resource, "index.ts"), "// generated\n");
133
+ }
134
+ await fs.writeFile(path.join(providerDir(provider), "index.ts"), "// generated by cdktn get\n");
135
+ await fs.writeFile(path.join(providerDir(provider), "lazy-index.ts"), "// generated by cdktn get\n");
136
+ };
137
+ const makeMaker = (targetLanguage) => new constructs_maker_1.ConstructsMaker({
138
+ codeMakerOutput: tmpDir,
139
+ targetLanguage,
140
+ });
141
+ beforeEach(async () => {
142
+ tmpDir = await fs.mkdtemp(path.join(os.tmpdir(), "cdktf.orphans"));
143
+ });
144
+ afterEach(async () => {
145
+ await fs.remove(tmpDir);
146
+ });
147
+ it("removes resource folders the current run did not emit", async () => {
148
+ // 'teams' and 'data-lake-pipeline' exist only in the previously generated
149
+ // provider version; the new schema no longer produces them.
150
+ await seedProvider("mongodbatlas", [
151
+ "cluster",
152
+ "teams",
153
+ "data-lake-pipeline",
154
+ ]);
155
+ const maker = makeMaker(commons_1.Language.TYPESCRIPT);
156
+ maker.emittedResourceFolders = { mongodbatlas: ["cluster"] };
157
+ await maker.removeOrphanedResourceFolders();
158
+ expect(await fs.pathExists(path.join(providerDir("mongodbatlas"), "cluster"))).toBe(true);
159
+ expect(await fs.pathExists(path.join(providerDir("mongodbatlas"), "teams"))).toBe(false);
160
+ expect(await fs.pathExists(path.join(providerDir("mongodbatlas"), "data-lake-pipeline"))).toBe(false);
161
+ });
162
+ it("keeps provider-level files", async () => {
163
+ await seedProvider("mongodbatlas", ["cluster", "teams"]);
164
+ const maker = makeMaker(commons_1.Language.TYPESCRIPT);
165
+ maker.emittedResourceFolders = { mongodbatlas: ["cluster"] };
166
+ await maker.removeOrphanedResourceFolders();
167
+ expect(await fs.pathExists(path.join(providerDir("mongodbatlas"), "index.ts"))).toBe(true);
168
+ expect(await fs.pathExists(path.join(providerDir("mongodbatlas"), "lazy-index.ts"))).toBe(true);
169
+ });
170
+ it("leaves providers that were not regenerated untouched", async () => {
171
+ // filterAlreadyGenerated can skip a provider entirely, in which case it
172
+ // has no entry in emittedResourceFolders and must not be pruned.
173
+ await seedProvider("mongodbatlas", ["cluster"]);
174
+ await seedProvider("onepassword", ["item"]);
175
+ const maker = makeMaker(commons_1.Language.TYPESCRIPT);
176
+ maker.emittedResourceFolders = { mongodbatlas: ["cluster"] };
177
+ await maker.removeOrphanedResourceFolders();
178
+ expect(await fs.pathExists(path.join(providerDir("onepassword"), "item"))).toBe(true);
179
+ });
180
+ it("is a no-op for non-TypeScript targets", async () => {
181
+ // Other languages co-locate providers and modules, so a dropped resource
182
+ // is indistinguishable from a hand-written construct.
183
+ await seedProvider("mongodbatlas", ["cluster", "teams"]);
184
+ const maker = makeMaker(commons_1.Language.PYTHON);
185
+ maker.emittedResourceFolders = { mongodbatlas: ["cluster"] };
186
+ await maker.removeOrphanedResourceFolders();
187
+ expect(await fs.pathExists(path.join(providerDir("mongodbatlas"), "teams"))).toBe(true);
188
+ });
189
+ it("does not throw when the provider folder is missing", async () => {
190
+ const maker = makeMaker(commons_1.Language.TYPESCRIPT);
191
+ maker.emittedResourceFolders = { mongodbatlas: ["cluster"] };
192
+ await expect(maker.removeOrphanedResourceFolders()).resolves.not.toThrow();
193
+ });
194
+ });
112
195
  });
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RydWN0cy1tYWtlci50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2dldC9fX3Rlc3RzX18vY29uc3RydWN0cy1tYWtlci50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQkFBK0I7QUFDL0IsbUNBQW1DO0FBQ25DLDZDQUErQjtBQUMvQix1Q0FBeUI7QUFDekIsMkNBQTZCO0FBQzdCLDRDQUl3QjtBQUN4QiwwREFBNEQ7QUFFNUQsUUFBUSxDQUFDLGlCQUFpQixFQUFFLEdBQUcsRUFBRTtJQUMvQixRQUFRLENBQUMsdUJBQXVCLEVBQUUsR0FBRyxFQUFFO1FBQ3JDLElBQUksTUFBYyxDQUFDO1FBQ25CLElBQUksV0FBbUIsRUFBRSxXQUFtQixFQUFFLGFBQXFCLENBQUM7UUFFcEUsU0FBUyxDQUFDLEtBQUssSUFBSSxFQUFFO1lBQ25CLE1BQU0sR0FBRyxNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQztZQUNoRTs7Ozs7Ozs7O2VBU0c7WUFDSCxXQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ25ELFdBQVcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDbkQsYUFBYSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQztZQUV2RCxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDN0IsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQzdCLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQyxh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QyxtQ0FBbUMsRUFBRSxHQUFHLEVBQUU7WUFDM0MsTUFBTSxNQUFNLEdBQUcsSUFBSSx1Q0FBNkIsQ0FDOUM7Z0JBQ0UsSUFBSSxFQUFFLGFBQWE7Z0JBQ25CLEdBQUcsRUFBRSxhQUFhO2dCQUNsQixNQUFNLEVBQUUsYUFBYTtnQkFDckIsT0FBTyxFQUFFLFFBQVE7YUFDbEIsRUFDRCxrQkFBUSxDQUFDLEVBQUUsQ0FDWixDQUFDO1lBQ0YsTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDbkQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUNILFFBQVEsQ0FBQyw2QkFBNkIsRUFBRSxHQUFHLEVBQUU7UUFDM0MsRUFBRSxDQUFDLG1DQUFtQyxFQUFFLEdBQUcsRUFBRTtZQUMzQyxNQUFNLE1BQU0sR0FBRyxJQUFJLHFDQUEyQixDQUM1QztnQkFDRSxJQUFJLEVBQUUsZ0JBQWdCO2dCQUN0QixNQUFNLEVBQUUsMENBQTBDO2dCQUNsRCxHQUFHLEVBQUUsMENBQTBDO2dCQUMvQyxPQUFPLEVBQUUsT0FBTztnQkFDaEIsU0FBUyxFQUFFLDJCQUEyQjthQUN2QyxFQUNELGtCQUFRLENBQUMsRUFBRSxDQUNaLENBQUM7WUFDRixNQUFNLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3RELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5pbXBvcnQgKiBhcyBmcyBmcm9tIFwiZnMtZXh0cmFcIjtcbmltcG9ydCAqIGFzIG9zIGZyb20gXCJvc1wiO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHtcbiAgTGFuZ3VhZ2UsXG4gIENvbnN0cnVjdHNNYWtlck1vZHVsZVRhcmdldCxcbiAgQ29uc3RydWN0c01ha2VyUHJvdmlkZXJUYXJnZXQsXG59IGZyb20gXCJAY2RrdG4vY29tbW9uc1wiO1xuaW1wb3J0IHsgZGV0ZXJtaW5lR29Nb2R1bGVOYW1lIH0gZnJvbSBcIi4uL2NvbnN0cnVjdHMtbWFrZXJcIjtcblxuZGVzY3JpYmUoXCJjb25zdHJ1Y3RzTWFrZXJcIiwgKCkgPT4ge1xuICBkZXNjcmliZShcImRldGVybWluZUdvTW9kdWxlTmFtZVwiLCAoKSA9PiB7XG4gICAgbGV0IHRtcERpcjogc3RyaW5nO1xuICAgIGxldCBlbXB0eVN1YkRpcjogc3RyaW5nLCB2YWxpZFN1YmRpcjogc3RyaW5nLCBpbnZhbGlkU3ViZGlyOiBzdHJpbmc7XG5cbiAgICBiZWZvcmVBbGwoYXN5bmMgKCkgPT4ge1xuICAgICAgdG1wRGlyID0gYXdhaXQgZnMubWtkdGVtcChwYXRoLmpvaW4ob3MudG1wZGlyKCksIFwiY2RrdGYudGVzdFwiKSk7XG4gICAgICAvKiB0ZXN0IGRpcmVjdG9yeSBsYXlvdXRcbiAgICAgICAqIDx0bXBEaXI+XG4gICAgICAgKiDilJzilIDilIAgZ28ubW9kXG4gICAgICAgKiDilJTilIDilIAgc3ViZGlyXG4gICAgICAgKiAgICAg4pSc4pSA4pSAIGVtcHR5XG4gICAgICAgKiAgICAg4pSc4pSA4pSAIHZhbGlkXG4gICAgICAgKiAgICAg4pSCICAg4pSU4pSA4pSAIGdvLm1vZFxuICAgICAgICogICAgIOKUlOKUgOKUgCBpbnZhbGlkXG4gICAgICAgKiAgICAgICAgIOKUlOKUgOKUgCBnby5tb2RcbiAgICAgICAqL1xuICAgICAgZW1wdHlTdWJEaXIgPSBwYXRoLmpvaW4odG1wRGlyLCBcInN1YmRpclwiLCBcImVtcHR5XCIpO1xuICAgICAgdmFsaWRTdWJkaXIgPSBwYXRoLmpvaW4odG1wRGlyLCBcInN1YmRpclwiLCBcInZhbGlkXCIpO1xuICAgICAgaW52YWxpZFN1YmRpciA9IHBhdGguam9pbih0bXBEaXIsIFwic3ViZGlyXCIsIFwiaW52YWxpZFwiKTtcblxuICAgICAgYXdhaXQgZnMubWtkaXJzKGVtcHR5U3ViRGlyKTtcbiAgICAgIGF3YWl0IGZzLm1rZGlycyh2YWxpZFN1YmRpcik7XG4gICAgICBhd2FpdCBmcy5ta2RpcnMoaW52YWxpZFN1YmRpcik7XG5cbiAgICAgIGNvbnN0IHJvb3QgPSBgbW9kdWxlIGNkay50Zi90ZXN0L2dvYDtcbiAgICAgIGNvbnN0IHZhbGlkID0gYG1vZHVsZSBjZGsudGYvdGVzdC9nby12YWxpZC1zdWJkaXJgO1xuICAgICAgY29uc3QgaW52YWxpZCA9IGBtYWxmb3JtZWQgZ28gbW9kYDtcblxuICAgICAgYXdhaXQgZnMud3JpdGVGaWxlKHBhdGguam9pbih0bXBEaXIsIFwiZ28ubW9kXCIpLCByb290KTtcbiAgICAgIGF3YWl0IGZzLndyaXRlRmlsZShwYXRoLmpvaW4odmFsaWRTdWJkaXIsIFwiZ28ubW9kXCIpLCB2YWxpZCk7XG4gICAgICBhd2FpdCBmcy53cml0ZUZpbGUocGF0aC5qb2luKGludmFsaWRTdWJkaXIsIFwiZ28ubW9kXCIpLCBpbnZhbGlkKTtcbiAgICB9KTtcblxuICAgIGFmdGVyQWxsKGFzeW5jICgpID0+IHtcbiAgICAgIGF3YWl0IGZzLnJlbW92ZSh0bXBEaXIpO1xuICAgIH0pO1xuXG4gICAgaXQoXCJ3b3JrcyBpbiByb290IGRpcmVjdG9yeVwiLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBtb2R1bGVOYW1lID0gYXdhaXQgZGV0ZXJtaW5lR29Nb2R1bGVOYW1lKHRtcERpcik7XG4gICAgICBleHBlY3QobW9kdWxlTmFtZSkudG9CZShcImNkay50Zi90ZXN0L2dvXCIpO1xuICAgIH0pO1xuXG4gICAgaXQoXCJjYW4gd2FsayB1cHdhcmRzIGZyb20gZW1wdHkgZGlyZWN0b3J5XCIsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IG1vZHVsZU5hbWUgPSBhd2FpdCBkZXRlcm1pbmVHb01vZHVsZU5hbWUoZW1wdHlTdWJEaXIpO1xuICAgICAgZXhwZWN0KG1vZHVsZU5hbWUpLnRvQmUoXCJjZGsudGYvdGVzdC9nby9zdWJkaXIvZW1wdHlcIik7XG4gICAgfSk7XG5cbiAgICBpdChcIndvcmtzIGluIHN1YmRpcmVjdG9yeSB3aXRoIGdvLm1vZFwiLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBtb2R1bGVOYW1lID0gYXdhaXQgZGV0ZXJtaW5lR29Nb2R1bGVOYW1lKHZhbGlkU3ViZGlyKTtcbiAgICAgIGV4cGVjdChtb2R1bGVOYW1lKS50b0JlKFwiY2RrLnRmL3Rlc3QvZ28tdmFsaWQtc3ViZGlyXCIpO1xuICAgIH0pO1xuXG4gICAgaXQoXCJ0aHJvd3MgaWYgZ28ubW9kIGlzIGludmFsaWRcIiwgYXN5bmMgKCkgPT4ge1xuICAgICAgYXdhaXQgZXhwZWN0KGRldGVybWluZUdvTW9kdWxlTmFtZShpbnZhbGlkU3ViZGlyKSkucmVqZWN0cy50b1Rocm93KFxuICAgICAgICBgQ291bGQgbm90IGRldGVybWluZSB0aGUgcm9vdCBHbyBtb2R1bGUgbmFtZS4gRm91bmQgJHtwYXRoLmpvaW4oXG4gICAgICAgICAgaW52YWxpZFN1YmRpcixcbiAgICAgICAgICBcImdvLm1vZFwiLFxuICAgICAgICApfSBidXQgZmFpbGVkIHRvIHJlZ2V4IG1hdGNoIHRoZSBtb2R1bGUgbmFtZSBkaXJlY3RpdmVgLFxuICAgICAgKTtcbiAgICB9KTtcblxuICAgIGl0KFwid29ya3MgZnJvbSBzdWJkaXJlY3RvcnkgdGhhdCBkb2VzIG5vdCBleGlzdCB5ZXRcIiwgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgbW9kdWxlTmFtZSA9IGF3YWl0IGRldGVybWluZUdvTW9kdWxlTmFtZShcbiAgICAgICAgcGF0aC5qb2luKHRtcERpciwgXCJzdWJkaXJcIiwgXCJ0aGF0XCIsIFwiZG9lc1wiLCBcIm5vdFwiLCBcImV4aXN0XCIsIFwieWV0XCIpLFxuICAgICAgKTtcbiAgICAgIGV4cGVjdChtb2R1bGVOYW1lKS50b0JlKFwiY2RrLnRmL3Rlc3QvZ28vc3ViZGlyL3RoYXQvZG9lcy9ub3QvZXhpc3QveWV0XCIpO1xuICAgIH0pO1xuXG4gICAgaXQoXCJ0aHJvd3MgaWYgbm90aGluZyBjb3VsZCBiZSBmb3VuZFwiLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBkaXIgPSBcIi9jZGt0Zi10ZXN0L3RoaXMvZGlyL2RvZXMvbm90L2V4aXN0XCI7IC8vLi4uIGFuZCBoYXMgbm8gZ28ubW9kIGluIGFueSBwYXJlbnQgZGlyXG4gICAgICBhd2FpdCBleHBlY3QoZGV0ZXJtaW5lR29Nb2R1bGVOYW1lKGRpcikpLnJlamVjdHMudG9UaHJvdyhcbiAgICAgICAgYENvdWxkIG5vdCBkZXRlcm1pbmUgdGhlIHJvb3QgR28gbW9kdWxlIG5hbWUuIE5vIGdvLm1vZCBmb3VuZCBpbiAke2Rpcn0gYW5kIGFueSBwYXJlbnQgZGlyZWN0b3JpZXNgLFxuICAgICAgKTtcbiAgICB9KTtcbiAgfSk7XG4gIGRlc2NyaWJlKFwiQ29uc3RydWN0c01ha2VyUHJvdmlkZXJUYXJnZXRcIiwgKCkgPT4ge1xuICAgIGl0KFwicmV0dXJucyB2YWxpZCBwYWNrYWdlIG5hbWUgZm9yIEdvXCIsICgpID0+IHtcbiAgICAgIGNvbnN0IHRhcmdldCA9IG5ldyBDb25zdHJ1Y3RzTWFrZXJQcm92aWRlclRhcmdldChcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6IFwiZ29vZ2xlLWJldGFcIixcbiAgICAgICAgICBmcW46IFwiZ29vZ2xlLWJldGFcIixcbiAgICAgICAgICBzb3VyY2U6IFwiZ29vZ2xlLWJldGFcIixcbiAgICAgICAgICB2ZXJzaW9uOiBcIn4+IDQuMFwiLFxuICAgICAgICB9LFxuICAgICAgICBMYW5ndWFnZS5HTyxcbiAgICAgICk7XG4gICAgICBleHBlY3QodGFyZ2V0LnNyY01ha05hbWUpLnRvRXF1YWwoXCJnb29nbGVfYmV0YVwiKTtcbiAgICB9KTtcbiAgfSk7XG4gIGRlc2NyaWJlKFwiQ29uc3RydWN0c01ha2VyTW9kdWxlVGFyZ2V0XCIsICgpID0+IHtcbiAgICBpdChcInJldHVybnMgdmFsaWQgcGFja2FnZSBuYW1lIGZvciBHb1wiLCAoKSA9PiB7XG4gICAgICBjb25zdCB0YXJnZXQgPSBuZXcgQ29uc3RydWN0c01ha2VyTW9kdWxlVGFyZ2V0KFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogXCJzZWN1cml0eS1ncm91cFwiLFxuICAgICAgICAgIHNvdXJjZTogXCJ0ZXJyYWZvcm0tYXdzLW1vZHVsZXMvc2VjdXJpdHktZ3JvdXAvYXdzXCIsXG4gICAgICAgICAgZnFuOiBcInRlcnJhZm9ybS1hd3MtbW9kdWxlcy9zZWN1cml0eS1ncm91cC9hd3NcIixcbiAgICAgICAgICB2ZXJzaW9uOiBcIjQuOS4wXCIsXG4gICAgICAgICAgbmFtZXNwYWNlOiBcInRlcnJhZm9ybS1hd3MtbW9kdWxlcy9hd3NcIixcbiAgICAgICAgfSxcbiAgICAgICAgTGFuZ3VhZ2UuR08sXG4gICAgICApO1xuICAgICAgZXhwZWN0KHRhcmdldC5zcmNNYWtOYW1lKS50b0VxdWFsKFwic2VjdXJpdHlfZ3JvdXBcIik7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
196
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RydWN0cy1tYWtlci50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2dldC9fX3Rlc3RzX18vY29uc3RydWN0cy1tYWtlci50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0JBQStCO0FBQy9CLG1DQUFtQztBQUNuQyw2Q0FBK0I7QUFDL0IsdUNBQXlCO0FBQ3pCLDJDQUE2QjtBQUM3Qiw0Q0FJd0I7QUFDeEIsMERBQTZFO0FBRTdFLFFBQVEsQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLEVBQUU7SUFDL0IsUUFBUSxDQUFDLHVCQUF1QixFQUFFLEdBQUcsRUFBRTtRQUNyQyxJQUFJLE1BQWMsQ0FBQztRQUNuQixJQUFJLFdBQW1CLEVBQUUsV0FBbUIsRUFBRSxhQUFxQixDQUFDO1FBRXBFLFNBQVMsQ0FBQyxLQUFLLElBQUksRUFBRTtZQUNuQixNQUFNLEdBQUcsTUFBTSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUM7WUFDaEU7Ozs7Ozs7OztlQVNHO1lBQ0gsV0FBVyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUNuRCxXQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ25ELGFBQWEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFFdkQsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQzdCLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUM3QixNQUFNLEVBQUUsQ0FBQyxN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Q0FBQyx1Q0FBdUMsRUFBRSxLQUFLLElBQUksRUFBRTtZQUNyRCx5RUFBeUU7WUFDekUsc0RBQXNEO1lBQ3RELE1BQU0sWUFBWSxDQUFDLGNBQWMsRUFBRSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBRXpELE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxrQkFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3pDLEtBQUssQ0FBQyxzQkFBc0IsR0FBRyxFQUFFLFlBQVksRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDN0QsTUFBTSxLQUFLLENBQUMsNkJBQTZCLEVBQUUsQ0FBQztZQUU1QyxNQUFNLENBQ0osTUFBTSxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQ3JFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2YsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsb0RBQW9ELEVBQUUsS0FBSyxJQUFJLEVBQUU7WUFDbEUsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLGtCQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDN0MsS0FBSyxDQUFDLHNCQUFzQixHQUFHLEVBQUUsWUFBWSxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUU3RCxNQUFNLE1BQU0sQ0FDVixLQUFLLENBQUMsNkJBQTZCLEVBQUUsQ0FDdEMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5pbXBvcnQgKiBhcyBmcyBmcm9tIFwiZnMtZXh0cmFcIjtcbmltcG9ydCAqIGFzIG9zIGZyb20gXCJvc1wiO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHtcbiAgTGFuZ3VhZ2UsXG4gIENvbnN0cnVjdHNNYWtlck1vZHVsZVRhcmdldCxcbiAgQ29uc3RydWN0c01ha2VyUHJvdmlkZXJUYXJnZXQsXG59IGZyb20gXCJAY2RrdG4vY29tbW9uc1wiO1xuaW1wb3J0IHsgQ29uc3RydWN0c01ha2VyLCBkZXRlcm1pbmVHb01vZHVsZU5hbWUgfSBmcm9tIFwiLi4vY29uc3RydWN0cy1tYWtlclwiO1xuXG5kZXNjcmliZShcImNvbnN0cnVjdHNNYWtlclwiLCAoKSA9PiB7XG4gIGRlc2NyaWJlKFwiZGV0ZXJtaW5lR29Nb2R1bGVOYW1lXCIsICgpID0+IHtcbiAgICBsZXQgdG1wRGlyOiBzdHJpbmc7XG4gICAgbGV0IGVtcHR5U3ViRGlyOiBzdHJpbmcsIHZhbGlkU3ViZGlyOiBzdHJpbmcsIGludmFsaWRTdWJkaXI6IHN0cmluZztcblxuICAgIGJlZm9yZUFsbChhc3luYyAoKSA9PiB7XG4gICAgICB0bXBEaXIgPSBhd2FpdCBmcy5ta2R0ZW1wKHBhdGguam9pbihvcy50bXBkaXIoKSwgXCJjZGt0Zi50ZXN0XCIpKTtcbiAgICAgIC8qIHRlc3QgZGlyZWN0b3J5IGxheW91dFxuICAgICAgICogPHRtcERpcj5cbiAgICAgICAqIOKUnOKUgOKUgCBnby5tb2RcbiAgICAgICAqIOKUlOKUgOKUgCBzdWJkaXJcbiAgICAgICAqICAgICDilJzilIDilIAgZW1wdHlcbiAgICAgICAqICAgICDilJzilIDilIAgdmFsaWRcbiAgICAgICAqICAgICDilIIgICDilJTilIDilIAgZ28ubW9kXG4gICAgICAgKiAgICAg4pSU4pSA4pSAIGludmFsaWRcbiAgICAgICAqICAgICAgICAg4pSU4pSA4pSAIGdvLm1vZFxuICAgICAgICovXG4gICAgICBlbXB0eVN1YkRpciA9IHBhdGguam9pbih0bXBEaXIsIFwic3ViZGlyXCIsIFwiZW1wdHlcIik7XG4gICAgICB2YWxpZFN1YmRpciA9IHBhdGguam9pbih0bXBEaXIsIFwic3ViZGlyXCIsIFwidmFsaWRcIik7XG4gICAgICBpbnZhbGlkU3ViZGlyID0gcGF0aC5qb2luKHRtcERpciwgXCJzdWJkaXJcIiwgXCJpbnZhbGlkXCIpO1xuXG4gICAgICBhd2FpdCBmcy5ta2RpcnMoZW1wdHlTdWJEaXIpO1xuICAgICAgYXdhaXQgZnMubWtkaXJzKHZhbGlkU3ViZGlyKTtcbiAgICAgIGF3YWl0IGZzLm1rZGlycyhpbnZhbGlkU3ViZGlyKTtcblxuICAgICAgY29uc3Qgcm9vdCA9IGBtb2R1bGUgY2RrLnRmL3Rlc3QvZ29gO1xuICAgICAgY29uc3QgdmFsaWQgPSBgbW9kdWxlIGNkay50Zi90ZXN0L2dvLXZhbGlkLXN1YmRpcmA7XG4gICAgICBjb25zdCBpbnZhbGlkID0gYG1hbGZvcm1lZCBnbyBtb2RgO1xuXG4gICAgICBhd2FpdCBmcy53cml0ZUZpbGUocGF0aC5qb2luKHRtcERpciwgXCJnby5tb2RcIiksIHJvb3QpO1xuICAgICAgYXdhaXQgZnMud3JpdGVGaWxlKHBhdGguam9pbih2YWxpZFN1YmRpciwgXCJnby5tb2RcIiksIHZhbGlkKTtcbiAgICAgIGF3YWl0IGZzLndyaXRlRmlsZShwYXRoLmpvaW4oaW52YWxpZFN1YmRpciwgXCJnby5tb2RcIiksIGludmFsaWQpO1xuICAgIH0pO1xuXG4gICAgYWZ0ZXJBbGwoYXN5bmMgKCkgPT4ge1xuICAgICAgYXdhaXQgZnMucmVtb3ZlKHRtcERpcik7XG4gICAgfSk7XG5cbiAgICBpdChcIndvcmtzIGluIHJvb3QgZGlyZWN0b3J5XCIsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IG1vZHVsZU5hbWUgPSBhd2FpdCBkZXRlcm1pbmVHb01vZHVsZU5hbWUodG1wRGlyKTtcbiAgICAgIGV4cGVjdChtb2R1bGVOYW1lKS50b0JlKFwiY2RrLnRmL3Rlc3QvZ29cIik7XG4gICAgfSk7XG5cbiAgICBpdChcImNhbiB3YWxrIHVwd2FyZHMgZnJvbSBlbXB0eSBkaXJlY3RvcnlcIiwgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgbW9kdWxlTmFtZSA9IGF3YWl0IGRldGVybWluZUdvTW9kdWxlTmFtZShlbXB0eVN1YkRpcik7XG4gICAgICBleHBlY3QobW9kdWxlTmFtZSkudG9CZShcImNkay50Zi90ZXN0L2dvL3N1YmRpci9lbXB0eVwiKTtcbiAgICB9KTtcblxuICAgIGl0KFwid29ya3MgaW4gc3ViZGlyZWN0b3J5IHdpdGggZ28ubW9kXCIsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IG1vZHVsZU5hbWUgPSBhd2FpdCBkZXRlcm1pbmVHb01vZHVsZU5hbWUodmFsaWRTdWJkaXIpO1xuICAgICAgZXhwZWN0KG1vZHVsZU5hbWUpLnRvQmUoXCJjZGsudGYvdGVzdC9nby12YWxpZC1zdWJkaXJcIik7XG4gICAgfSk7XG5cbiAgICBpdChcInRocm93cyBpZiBnby5tb2QgaXMgaW52YWxpZFwiLCBhc3luYyAoKSA9PiB7XG4gICAgICBhd2FpdCBleHBlY3QoZGV0ZXJtaW5lR29Nb2R1bGVOYW1lKGludmFsaWRTdWJkaXIpKS5yZWplY3RzLnRvVGhyb3coXG4gICAgICAgIGBDb3VsZCBub3QgZGV0ZXJtaW5lIHRoZSByb290IEdvIG1vZHVsZSBuYW1lLiBGb3VuZCAke3BhdGguam9pbihcbiAgICAgICAgICBpbnZhbGlkU3ViZGlyLFxuICAgICAgICAgIFwiZ28ubW9kXCIsXG4gICAgICAgICl9IGJ1dCBmYWlsZWQgdG8gcmVnZXggbWF0Y2ggdGhlIG1vZHVsZSBuYW1lIGRpcmVjdGl2ZWAsXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgaXQoXCJ3b3JrcyBmcm9tIHN1YmRpcmVjdG9yeSB0aGF0IGRvZXMgbm90IGV4aXN0IHlldFwiLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBtb2R1bGVOYW1lID0gYXdhaXQgZGV0ZXJtaW5lR29Nb2R1bGVOYW1lKFxuICAgICAgICBwYXRoLmpvaW4odG1wRGlyLCBcInN1YmRpclwiLCBcInRoYXRcIiwgXCJkb2VzXCIsIFwibm90XCIsIFwiZXhpc3RcIiwgXCJ5ZXRcIiksXG4gICAgICApO1xuICAgICAgZXhwZWN0KG1vZHVsZU5hbWUpLnRvQmUoXCJjZGsudGYvdGVzdC9nby9zdWJkaXIvdGhhdC9kb2VzL25vdC9leGlzdC95ZXRcIik7XG4gICAgfSk7XG5cbiAgICBpdChcInRocm93cyBpZiBub3RoaW5nIGNvdWxkIGJlIGZvdW5kXCIsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGRpciA9IFwiL2Nka3RmLXRlc3QvdGhpcy9kaXIvZG9lcy9ub3QvZXhpc3RcIjsgLy8uLi4gYW5kIGhhcyBubyBnby5tb2QgaW4gYW55IHBhcmVudCBkaXJcbiAgICAgIGF3YWl0IGV4cGVjdChkZXRlcm1pbmVHb01vZHVsZU5hbWUoZGlyKSkucmVqZWN0cy50b1Rocm93KFxuICAgICAgICBgQ291bGQgbm90IGRldGVybWluZSB0aGUgcm9vdCBHbyBtb2R1bGUgbmFtZS4gTm8gZ28ubW9kIGZvdW5kIGluICR7ZGlyfSBhbmQgYW55IHBhcmVudCBkaXJlY3Rvcmllc2AsXG4gICAgICApO1xuICAgIH0pO1xuICB9KTtcbiAgZGVzY3JpYmUoXCJDb25zdHJ1Y3RzTWFrZXJQcm92aWRlclRhcmdldFwiLCAoKSA9PiB7XG4gICAgaXQoXCJyZXR1cm5zIHZhbGlkIHBhY2thZ2UgbmFtZSBmb3IgR29cIiwgKCkgPT4ge1xuICAgICAgY29uc3QgdGFyZ2V0ID0gbmV3IENvbnN0cnVjdHNNYWtlclByb3ZpZGVyVGFyZ2V0KFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogXCJnb29nbGUtYmV0YVwiLFxuICAgICAgICAgIGZxbjogXCJnb29nbGUtYmV0YVwiLFxuICAgICAgICAgIHNvdXJjZTogXCJnb29nbGUtYmV0YVwiLFxuICAgICAgICAgIHZlcnNpb246IFwifj4gNC4wXCIsXG4gICAgICAgIH0sXG4gICAgICAgIExhbmd1YWdlLkdPLFxuICAgICAgKTtcbiAgICAgIGV4cGVjdCh0YXJnZXQuc3JjTWFrTmFtZSkudG9FcXVhbChcImdvb2dsZV9iZXRhXCIpO1xuICAgIH0pO1xuICB9KTtcbiAgZGVzY3JpYmUoXCJDb25zdHJ1Y3RzTWFrZXJNb2R1bGVUYXJnZXRcIiwgKCkgPT4ge1xuICAgIGl0KFwicmV0dXJucyB2YWxpZCBwYWNrYWdlIG5hbWUgZm9yIEdvXCIsICgpID0+IHtcbiAgICAgIGNvbnN0IHRhcmdldCA9IG5ldyBDb25zdHJ1Y3RzTWFrZXJNb2R1bGVUYXJnZXQoXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiBcInNlY3VyaXR5LWdyb3VwXCIsXG4gICAgICAgICAgc291cmNlOiBcInRlcnJhZm9ybS1hd3MtbW9kdWxlcy9zZWN1cml0eS1ncm91cC9hd3NcIixcbiAgICAgICAgICBmcW46IFwidGVycmFmb3JtLWF3cy1tb2R1bGVzL3NlY3VyaXR5LWdyb3VwL2F3c1wiLFxuICAgICAgICAgIHZlcnNpb246IFwiNC45LjBcIixcbiAgICAgICAgICBuYW1lc3BhY2U6IFwidGVycmFmb3JtLWF3cy1tb2R1bGVzL2F3c1wiLFxuICAgICAgICB9LFxuICAgICAgICBMYW5ndWFnZS5HTyxcbiAgICAgICk7XG4gICAgICBleHBlY3QodGFyZ2V0LnNyY01ha05hbWUpLnRvRXF1YWwoXCJzZWN1cml0eV9ncm91cFwiKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoXCJyZW1vdmVPcnBoYW5lZFJlc291cmNlRm9sZGVyc1wiLCAoKSA9PiB7XG4gICAgbGV0IHRtcERpcjogc3RyaW5nO1xuXG4gICAgY29uc3QgcHJvdmlkZXJEaXIgPSAocHJvdmlkZXI6IHN0cmluZykgPT5cbiAgICAgIHBhdGguam9pbih0bXBEaXIsIFwicHJvdmlkZXJzXCIsIHByb3ZpZGVyKTtcblxuICAgIC8qKlxuICAgICAqIExheSBvdXQgYSBwcm92aWRlciBmb2xkZXIgY29udGFpbmluZyB0aGUgZ2l2ZW4gcmVzb3VyY2UgZGlyZWN0b3JpZXMgcGx1c1xuICAgICAqIHRoZSBwcm92aWRlci1sZXZlbCBpbmRleCBmaWxlcyBhIHJlYWwgZ2VuZXJhdGlvbiBydW4gd3JpdGVzLlxuICAgICAqL1xuICAgIGNvbnN0IHNlZWRQcm92aWRlciA9IGFzeW5jIChwcm92aWRlcjogc3RyaW5nLCByZXNvdXJjZXM6IHN0cmluZ1tdKSA9PiB7XG4gICAgICBmb3IgKGNvbnN0IHJlc291cmNlIG9mIHJlc291cmNlcykge1xuICAgICAgICBhd2FpdCBmcy5ta2RpcnMocGF0aC5qb2luKHByb3ZpZGVyRGlyKHByb3ZpZGVyKSwgcmVzb3VyY2UpKTtcbiAgICAgICAgYXdhaXQgZnMud3JpdGVGaWxlKFxuICAgICAgICAgIHBhdGguam9pbihwcm92aWRlckRpcihwcm92aWRlciksIHJlc291cmNlLCBcImluZGV4LnRzXCIpLFxuICAgICAgICAgIFwiLy8gZ2VuZXJhdGVkXFxuXCIsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBhd2FpdCBmcy53cml0ZUZpbGUoXG4gICAgICAgIHBhdGguam9pbihwcm92aWRlckRpcihwcm92aWRlciksIFwiaW5kZXgudHNcIiksXG4gICAgICAgIFwiLy8gZ2VuZXJhdGVkIGJ5IGNka3RuIGdldFxcblwiLFxuICAgICAgKTtcbiAgICAgIGF3YWl0IGZzLndyaXRlRmlsZShcbiAgICAgICAgcGF0aC5qb2luKHByb3ZpZGVyRGlyKHByb3ZpZGVyKSwgXCJsYXp5LWluZGV4LnRzXCIpLFxuICAgICAgICBcIi8vIGdlbmVyYXRlZCBieSBjZGt0biBnZXRcXG5cIixcbiAgICAgICk7XG4gICAgfTtcblxuICAgIGNvbnN0IG1ha2VNYWtlciA9ICh0YXJnZXRMYW5ndWFnZTogTGFuZ3VhZ2UpID0+XG4gICAgICBuZXcgQ29uc3RydWN0c01ha2VyKHtcbiAgICAgICAgY29kZU1ha2VyT3V0cHV0OiB0bXBEaXIsXG4gICAgICAgIHRhcmdldExhbmd1YWdlLFxuICAgICAgfSk7XG5cbiAgICBiZWZvcmVFYWNoKGFzeW5jICgpID0+IHtcbiAgICAgIHRtcERpciA9IGF3YWl0IGZzLm1rZHRlbXAocGF0aC5qb2luKG9zLnRtcGRpcigpLCBcImNka3RmLm9ycGhhbnNcIikpO1xuICAgIH0pO1xuXG4gICAgYWZ0ZXJFYWNoKGFzeW5jICgpID0+IHtcbiAgICAgIGF3YWl0IGZzLnJlbW92ZSh0bXBEaXIpO1xuICAgIH0pO1xuXG4gICAgaXQoXCJyZW1vdmVzIHJlc291cmNlIGZvbGRlcnMgdGhlIGN1cnJlbnQgcnVuIGRpZCBub3QgZW1pdFwiLCBhc3luYyAoKSA9PiB7XG4gICAgICAvLyAndGVhbXMnIGFuZCAnZGF0YS1sYWtlLXBpcGVsaW5lJyBleGlzdCBvbmx5IGluIHRoZSBwcmV2aW91c2x5IGdlbmVyYXRlZFxuICAgICAgLy8gcHJvdmlkZXIgdmVyc2lvbjsgdGhlIG5ldyBzY2hlbWEgbm8gbG9uZ2VyIHByb2R1Y2VzIHRoZW0uXG4gICAgICBhd2FpdCBzZWVkUHJvdmlkZXIoXCJtb25nb2RiYXRsYXNcIiwgW1xuICAgICAgICBcImNsdXN0ZXJcIixcbiAgICAgICAgXCJ0ZWFtc1wiLFxuICAgICAgICBcImRhdGEtbGFrZS1waXBlbGluZVwiLFxuICAgICAgXSk7XG5cbiAgICAgIGNvbnN0IG1ha2VyID0gbWFrZU1ha2VyKExhbmd1YWdlLlRZUEVTQ1JJUFQpO1xuICAgICAgbWFrZXIuZW1pdHRlZFJlc291cmNlRm9sZGVycyA9IHsgbW9uZ29kYmF0bGFzOiBbXCJjbHVzdGVyXCJdIH07XG4gICAgICBhd2FpdCBtYWtlci5yZW1vdmVPcnBoYW5lZFJlc291cmNlRm9sZGVycygpO1xuXG4gICAgICBleHBlY3QoXG4gICAgICAgIGF3YWl0IGZzLnBhdGhFeGlzdHMocGF0aC5qb2luKHByb3ZpZGVyRGlyKFwibW9uZ29kYmF0bGFzXCIpLCBcImNsdXN0ZXJcIikpLFxuICAgICAgKS50b0JlKHRydWUpO1xuICAgICAgZXhwZWN0KFxuICAgICAgICBhd2FpdCBmcy5wYXRoRXhpc3RzKHBhdGguam9pbihwcm92aWRlckRpcihcIm1vbmdvZGJhdGxhc1wiKSwgXCJ0ZWFtc1wiKSksXG4gICAgICApLnRvQmUoZmFsc2UpO1xuICAgICAgZXhwZWN0KFxuICAgICAgICBhd2FpdCBmcy5wYXRoRXhpc3RzKFxuICAgICAgICAgIHBhdGguam9pbihwcm92aWRlckRpcihcIm1vbmdvZGJhdGxhc1wiKSwgXCJkYXRhLWxha2UtcGlwZWxpbmVcIiksXG4gICAgICAgICksXG4gICAgICApLnRvQmUoZmFsc2UpO1xuICAgIH0pO1xuXG4gICAgaXQoXCJrZWVwcyBwcm92aWRlci1sZXZlbCBmaWxlc1wiLCBhc3luYyAoKSA9PiB7XG4gICAgICBhd2FpdCBzZWVkUHJvdmlkZXIoXCJtb25nb2RiYXRsYXNcIiwgW1wiY2x1c3RlclwiLCBcInRlYW1zXCJdKTtcblxuICAgICAgY29uc3QgbWFrZXIgPSBtYWtlTWFrZXIoTGFuZ3VhZ2UuVFlQRVNDUklQVCk7XG4gICAgICBtYWtlci5lbWl0dGVkUmVzb3VyY2VGb2xkZXJzID0geyBtb25nb2RiYXRsYXM6IFtcImNsdXN0ZXJcIl0gfTtcbiAgICAgIGF3YWl0IG1ha2VyLnJlbW92ZU9ycGhhbmVkUmVzb3VyY2VGb2xkZXJzKCk7XG5cbiAgICAgIGV4cGVjdChcbiAgICAgICAgYXdhaXQgZnMucGF0aEV4aXN0cyhwYXRoLmpvaW4ocHJvdmlkZXJEaXIoXCJtb25nb2RiYXRsYXNcIiksIFwiaW5kZXgudHNcIikpLFxuICAgICAgKS50b0JlKHRydWUpO1xuICAgICAgZXhwZWN0KFxuICAgICAgICBhd2FpdCBmcy5wYXRoRXhpc3RzKFxuICAgICAgICAgIHBhdGguam9pbihwcm92aWRlckRpcihcIm1vbmdvZGJhdGxhc1wiKSwgXCJsYXp5LWluZGV4LnRzXCIpLFxuICAgICAgICApLFxuICAgICAgKS50b0JlKHRydWUpO1xuICAgIH0pO1xuXG4gICAgaXQoXCJsZWF2ZXMgcHJvdmlkZXJzIHRoYXQgd2VyZSBub3QgcmVnZW5lcmF0ZWQgdW50b3VjaGVkXCIsIGFzeW5jICgpID0+IHtcbiAgICAgIC8vIGZpbHRlckFscmVhZHlHZW5lcmF0ZWQgY2FuIHNraXAgYSBwcm92aWRlciBlbnRpcmVseSwgaW4gd2hpY2ggY2FzZSBpdFxuICAgICAgLy8gaGFzIG5vIGVudHJ5IGluIGVtaXR0ZWRSZXNvdXJjZUZvbGRlcnMgYW5kIG11c3Qgbm90IGJlIHBydW5lZC5cbiAgICAgIGF3YWl0IHNlZWRQcm92aWRlcihcIm1vbmdvZGJhdGxhc1wiLCBbXCJjbHVzdGVyXCJdKTtcbiAgICAgIGF3YWl0IHNlZWRQcm92aWRlcihcIm9uZXBhc3N3b3JkXCIsIFtcIml0ZW1cIl0pO1xuXG4gICAgICBjb25zdCBtYWtlciA9IG1ha2VNYWtlcihMYW5ndWFnZS5UWVBFU0NSSVBUKTtcbiAgICAgIG1ha2VyLmVtaXR0ZWRSZXNvdXJjZUZvbGRlcnMgPSB7IG1vbmdvZGJhdGxhczogW1wiY2x1c3RlclwiXSB9O1xuICAgICAgYXdhaXQgbWFrZXIucmVtb3ZlT3JwaGFuZWRSZXNvdXJjZUZvbGRlcnMoKTtcblxuICAgICAgZXhwZWN0KFxuICAgICAgICBhd2FpdCBmcy5wYXRoRXhpc3RzKHBhdGguam9pbihwcm92aWRlckRpcihcIm9uZXBhc3N3b3JkXCIpLCBcIml0ZW1cIikpLFxuICAgICAgKS50b0JlKHRydWUpO1xuICAgIH0pO1xuXG4gICAgaXQoXCJpcyBhIG5vLW9wIGZvciBub24tVHlwZVNjcmlwdCB0YXJnZXRzXCIsIGFzeW5jICgpID0+IHtcbiAgICAgIC8vIE90aGVyIGxhbmd1YWdlcyBjby1sb2NhdGUgcHJvdmlkZXJzIGFuZCBtb2R1bGVzLCBzbyBhIGRyb3BwZWQgcmVzb3VyY2VcbiAgICAgIC8vIGlzIGluZGlzdGluZ3Vpc2hhYmxlIGZyb20gYSBoYW5kLXdyaXR0ZW4gY29uc3RydWN0LlxuICAgICAgYXdhaXQgc2VlZFByb3ZpZGVyKFwibW9uZ29kYmF0bGFzXCIsIFtcImNsdXN0ZXJcIiwgXCJ0ZWFtc1wiXSk7XG5cbiAgICAgIGNvbnN0IG1ha2VyID0gbWFrZU1ha2VyKExhbmd1YWdlLlBZVEhPTik7XG4gICAgICBtYWtlci5lbWl0dGVkUmVzb3VyY2VGb2xkZXJzID0geyBtb25nb2RiYXRsYXM6IFtcImNsdXN0ZXJcIl0gfTtcbiAgICAgIGF3YWl0IG1ha2VyLnJlbW92ZU9ycGhhbmVkUmVzb3VyY2VGb2xkZXJzKCk7XG5cbiAgICAgIGV4cGVjdChcbiAgICAgICAgYXdhaXQgZnMucGF0aEV4aXN0cyhwYXRoLmpvaW4ocHJvdmlkZXJEaXIoXCJtb25nb2RiYXRsYXNcIiksIFwidGVhbXNcIikpLFxuICAgICAgKS50b0JlKHRydWUpO1xuICAgIH0pO1xuXG4gICAgaXQoXCJkb2VzIG5vdCB0aHJvdyB3aGVuIHRoZSBwcm92aWRlciBmb2xkZXIgaXMgbWlzc2luZ1wiLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBtYWtlciA9IG1ha2VNYWtlcihMYW5ndWFnZS5UWVBFU0NSSVBUKTtcbiAgICAgIG1ha2VyLmVtaXR0ZWRSZXNvdXJjZUZvbGRlcnMgPSB7IG1vbmdvZGJhdGxhczogW1wiY2x1c3RlclwiXSB9O1xuXG4gICAgICBhd2FpdCBleHBlY3QoXG4gICAgICAgIG1ha2VyLnJlbW92ZU9ycGhhbmVkUmVzb3VyY2VGb2xkZXJzKCksXG4gICAgICApLnJlc29sdmVzLm5vdC50b1Rocm93KCk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  Object.defineProperty(exports, "__esModule", { value: true });
26
36
  // Copyright (c) HashiCorp, Inc
27
37
  // SPDX-License-Identifier: MPL-2.0
@@ -40,4 +50,4 @@ test("generate an acm certifacte resource with complex computed types", async ()
40
50
  const output = fs.readFileSync(path.join(workdir, "providers/aws/acm-certificate/index.ts"), "utf-8");
41
51
  expect(output).toMatchSnapshot(`acm-certificate`);
42
52
  });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGxleC1jb21wdXRlZC10eXBlcy50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2dldC9fX3Rlc3RzX18vZ2VuZXJhdG9yL2NvbXBsZXgtY29tcHV0ZWQtdHlwZXMudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0JBQStCO0FBQy9CLG1DQUFtQztBQUNuQyx1Q0FBeUI7QUFDekIsMkNBQTZCO0FBQzdCLDJFQUFnRjtBQUNoRix5Q0FBc0M7QUFDdEMsa0NBQTBDO0FBRTFDLE1BQU0sR0FBRyxHQUFHLElBQUEsc0JBQWUsR0FBRSxDQUFDO0FBRTlCLElBQUksQ0FBQyxpRUFBaUUsRUFBRSxLQUFLLElBQUksRUFBRTtJQUNqRixNQUFNLElBQUksR0FBRyxJQUFJLHFCQUFTLEVBQUUsQ0FBQztJQUM3QixNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsNkJBQTZCLENBQUMsQ0FBQztJQUNuRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUNyQixFQUFFLENBQUMsWUFBWSxDQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSx1Q0FBdUMsQ0FBQyxFQUN6RSxPQUFPLENBQ1IsQ0FDRixDQUFDO0lBQ0YsSUFBSSwrQ0FBMEIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDekQsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRXpCLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQzVCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLHdDQUF3QyxDQUFDLEVBQzVELE9BQU8sQ0FDUixDQUFDO0lBQ0YsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLGVBQWUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0FBQ3BELENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbmltcG9ydCAqIGFzIGZzIGZyb20gXCJmc1wiO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHsgVGVycmFmb3JtUHJvdmlkZXJHZW5lcmF0b3IgfSBmcm9tIFwiLi4vLi4vZ2VuZXJhdG9yL3Byb3ZpZGVyLWdlbmVyYXRvclwiO1xuaW1wb3J0IHsgQ29kZU1ha2VyIH0gZnJvbSBcImNvZGVtYWtlclwiO1xuaW1wb3J0IHsgY3JlYXRlVG1wSGVscGVyIH0gZnJvbSBcIi4uL3V0aWxcIjtcblxuY29uc3QgdG1wID0gY3JlYXRlVG1wSGVscGVyKCk7XG5cbnRlc3QoXCJnZW5lcmF0ZSBhbiBhY20gY2VydGlmYWN0ZSByZXNvdXJjZSB3aXRoIGNvbXBsZXggY29tcHV0ZWQgdHlwZXNcIiwgYXN5bmMgKCkgPT4ge1xuICBjb25zdCBjb2RlID0gbmV3IENvZGVNYWtlcigpO1xuICBjb25zdCB3b3JrZGlyID0gdG1wKFwiY29tcGxleC1jb21wdXRlZC10eXBlcy50ZXN0XCIpO1xuICBjb25zdCBzcGVjID0gSlNPTi5wYXJzZShcbiAgICBmcy5yZWFkRmlsZVN5bmMoXG4gICAgICBwYXRoLmpvaW4oX19kaXJuYW1lLCBcImZpeHR1cmVzXCIsIFwiYXdzX2FjbV9jZXJ0aWZpY2F0ZS50ZXN0LmZpeHR1cmUuanNvblwiKSxcbiAgICAgIFwidXRmLThcIixcbiAgICApLFxuICApO1xuICBuZXcgVGVycmFmb3JtUHJvdmlkZXJHZW5lcmF0b3IoY29kZSwgc3BlYykuZ2VuZXJhdGVBbGwoKTtcbiAgYXdhaXQgY29kZS5zYXZlKHdvcmtkaXIpO1xuXG4gIGNvbnN0IG91dHB1dCA9IGZzLnJlYWRGaWxlU3luYyhcbiAgICBwYXRoLmpvaW4od29ya2RpciwgXCJwcm92aWRlcnMvYXdzL2FjbS1jZXJ0aWZpY2F0ZS9pbmRleC50c1wiKSxcbiAgICBcInV0Zi04XCIsXG4gICk7XG4gIGV4cGVjdChvdXRwdXQpLnRvTWF0Y2hTbmFwc2hvdChgYWNtLWNlcnRpZmljYXRlYCk7XG59KTtcbiJdfQ==
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGxleC1jb21wdXRlZC10eXBlcy50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2dldC9fX3Rlc3RzX18vZ2VuZXJhdG9yL2NvbXBsZXgtY29tcHV0ZWQtdHlwZXMudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtCQUErQjtBQUMvQixtQ0FBbUM7QUFDbkMsdUNBQXlCO0FBQ3pCLDJDQUE2QjtBQUM3QiwyRUFBZ0Y7QUFDaEYseUNBQXNDO0FBQ3RDLGtDQUEwQztBQUUxQyxNQUFNLEdBQUcsR0FBRyxJQUFBLHNCQUFlLEdBQUUsQ0FBQztBQUU5QixJQUFJLENBQUMsaUVBQWlFLEVBQUUsS0FBSyxJQUFJLEVBQUU7SUFDakYsTUFBTSxJQUFJLEdBQUcsSUFBSSxxQkFBUyxFQUFFLENBQUM7SUFDN0IsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLDZCQUE2QixDQUFDLENBQUM7SUFDbkQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FDckIsRUFBRSxDQUFDLFlBQVksQ0FDYixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsdUNBQXVDLENBQUMsRUFDekUsT0FBTyxDQUNSLENBQ0YsQ0FBQztJQUNGLElBQUksK0NBQTBCLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3pELE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUV6QixNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUMsWUFBWSxDQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSx3Q0FBd0MsQ0FBQyxFQUM1RCxPQUFPLENBQ1IsQ0FBQztJQUNGLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxlQUFlLENBQUMsaUJBQWlCLENBQUMsQ0FBQztBQUNwRCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5pbXBvcnQgKiBhcyBmcyBmcm9tIFwiZnNcIjtcbmltcG9ydCAqIGFzIHBhdGggZnJvbSBcInBhdGhcIjtcbmltcG9ydCB7IFRlcnJhZm9ybVByb3ZpZGVyR2VuZXJhdG9yIH0gZnJvbSBcIi4uLy4uL2dlbmVyYXRvci9wcm92aWRlci1nZW5lcmF0b3JcIjtcbmltcG9ydCB7IENvZGVNYWtlciB9IGZyb20gXCJjb2RlbWFrZXJcIjtcbmltcG9ydCB7IGNyZWF0ZVRtcEhlbHBlciB9IGZyb20gXCIuLi91dGlsXCI7XG5cbmNvbnN0IHRtcCA9IGNyZWF0ZVRtcEhlbHBlcigpO1xuXG50ZXN0KFwiZ2VuZXJhdGUgYW4gYWNtIGNlcnRpZmFjdGUgcmVzb3VyY2Ugd2l0aCBjb21wbGV4IGNvbXB1dGVkIHR5cGVzXCIsIGFzeW5jICgpID0+IHtcbiAgY29uc3QgY29kZSA9IG5ldyBDb2RlTWFrZXIoKTtcbiAgY29uc3Qgd29ya2RpciA9IHRtcChcImNvbXBsZXgtY29tcHV0ZWQtdHlwZXMudGVzdFwiKTtcbiAgY29uc3Qgc3BlYyA9IEpTT04ucGFyc2UoXG4gICAgZnMucmVhZEZpbGVTeW5jKFxuICAgICAgcGF0aC5qb2luKF9fZGlybmFtZSwgXCJmaXh0dXJlc1wiLCBcImF3c19hY21fY2VydGlmaWNhdGUudGVzdC5maXh0dXJlLmpzb25cIiksXG4gICAgICBcInV0Zi04XCIsXG4gICAgKSxcbiAgKTtcbiAgbmV3IFRlcnJhZm9ybVByb3ZpZGVyR2VuZXJhdG9yKGNvZGUsIHNwZWMpLmdlbmVyYXRlQWxsKCk7XG4gIGF3YWl0IGNvZGUuc2F2ZSh3b3JrZGlyKTtcblxuICBjb25zdCBvdXRwdXQgPSBmcy5yZWFkRmlsZVN5bmMoXG4gICAgcGF0aC5qb2luKHdvcmtkaXIsIFwicHJvdmlkZXJzL2F3cy9hY20tY2VydGlmaWNhdGUvaW5kZXgudHNcIiksXG4gICAgXCJ1dGYtOFwiLFxuICApO1xuICBleHBlY3Qob3V0cHV0KS50b01hdGNoU25hcHNob3QoYGFjbS1jZXJ0aWZpY2F0ZWApO1xufSk7XG4iXX0=
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  Object.defineProperty(exports, "__esModule", { value: true });
26
36
  // Copyright (c) HashiCorp, Inc // SPDX-License-Identifier: MPL-2.0
27
37
  const fs = __importStar(require("fs"));
@@ -48,4 +58,4 @@ test("generate a resource with attribute that's a map of a list of an object", a
48
58
  const output = fs.readFileSync(path.join(workdir, "providers/stripe/invoiceitems/index.ts"), "utf-8");
49
59
  expect(output).toEqual(expect.stringContaining(`export class InvoiceitemsDiscountsListMap extends cdktn.ComplexMap {`));
50
60
  });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcC1uZXN0ZWQtYXR0cmlidXRlcy50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2dldC9fX3Rlc3RzX18vZ2VuZXJhdG9yL2RlZXAtbmVzdGVkLWF0dHJpYnV0ZXMudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsbUVBQW1FO0FBQ25FLHVDQUF5QjtBQUN6QiwyQ0FBNkI7QUFDN0IsMkVBQWdGO0FBQ2hGLHlDQUFzQztBQUN0QyxrQ0FBMEM7QUFFMUMsTUFBTSxHQUFHLEdBQUcsSUFBQSxzQkFBZSxHQUFFLENBQUM7QUFFOUIsSUFBSSxDQUFDLHdFQUF3RSxFQUFFLEtBQUssSUFBSSxFQUFFO0lBQ3hGLE1BQU0sSUFBSSxHQUFHLElBQUkscUJBQVMsRUFBRSxDQUFDO0lBQzdCLE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0lBQ25ELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQ3JCLEVBQUUsQ0FBQyxZQUFZLENBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLGlDQUFpQyxDQUFDLEVBQ25FLE9BQU8sQ0FDUixDQUNGLENBQUM7SUFDRixJQUFJLCtDQUEwQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN6RCxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFekIsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FDNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsd0NBQXdDLENBQUMsRUFDNUQsT0FBTyxDQUNSLENBQUM7SUFFRixNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUNwQixNQUFNLENBQUMsZ0JBQWdCLENBQ3JCLG1FQUFtRSxDQUNwRSxDQUNGLENBQUM7QUFDSixDQUFDLENBQUMsQ0FBQztBQUVILElBQUksQ0FBQyx3RUFBd0UsRUFBRSxLQUFLLElBQUksRUFBRTtJQUN4RixNQUFNLElBQUksR0FBRyxJQUFJLHFCQUFTLEVBQUUsQ0FBQztJQUM3QixNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsa0NBQWtDLENBQUMsQ0FBQztJQUN4RCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUNyQixFQUFFLENBQUMsWUFBWSxDQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxtQ0FBbUMsQ0FBQyxFQUNyRSxPQUFPLENBQ1IsQ0FDRixDQUFDO0lBQ0YsSUFBSSwrQ0FBMEIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDekQsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRXpCLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQzVCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLHdDQUF3QyxDQUFDLEVBQzVELE9BQU8sQ0FDUixDQUFDO0lBRUYsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FDcEIsTUFBTSxDQUFDLGdCQUFnQixDQUNyQixzRUFBc0UsQ0FDdkUsQ0FDRixDQUFDO0FBQ0osQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jIC8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5pbXBvcnQgKiBhcyBmcyBmcm9tIFwiZnNcIjtcbmltcG9ydCAqIGFzIHBhdGggZnJvbSBcInBhdGhcIjtcbmltcG9ydCB7IFRlcnJhZm9ybVByb3ZpZGVyR2VuZXJhdG9yIH0gZnJvbSBcIi4uLy4uL2dlbmVyYXRvci9wcm92aWRlci1nZW5lcmF0b3JcIjtcbmltcG9ydCB7IENvZGVNYWtlciB9IGZyb20gXCJjb2RlbWFrZXJcIjtcbmltcG9ydCB7IGNyZWF0ZVRtcEhlbHBlciB9IGZyb20gXCIuLi91dGlsXCI7XG5cbmNvbnN0IHRtcCA9IGNyZWF0ZVRtcEhlbHBlcigpO1xuXG50ZXN0KFwiZ2VuZXJhdGUgYSByZXNvdXJjZSB3aXRoIGF0dHJpYnV0ZSB0aGF0J3MgYSBsaXN0IG9mIGEgbWFwIG9mIGFuIG9iamVjdFwiLCBhc3luYyAoKSA9PiB7XG4gIGNvbnN0IGNvZGUgPSBuZXcgQ29kZU1ha2VyKCk7XG4gIGNvbnN0IHdvcmtkaXIgPSB0bXAoXCJkZWVwLW5lc3RlZC1hdHRyaWJ1dGVzLnRlc3RcIik7XG4gIGNvbnN0IHNwZWMgPSBKU09OLnBhcnNlKFxuICAgIGZzLnJlYWRGaWxlU3luYyhcbiAgICAgIHBhdGguam9pbihfX2Rpcm5hbWUsIFwiZml4dHVyZXNcIiwgXCJzdHJpcGUtc2NoZW1hLnRlc3QuZml4dHVyZS5qc29uXCIpLFxuICAgICAgXCJ1dGYtOFwiLFxuICAgICksXG4gICk7XG4gIG5ldyBUZXJyYWZvcm1Qcm92aWRlckdlbmVyYXRvcihjb2RlLCBzcGVjKS5nZW5lcmF0ZUFsbCgpO1xuICBhd2FpdCBjb2RlLnNhdmUod29ya2Rpcik7XG5cbiAgY29uc3Qgb3V0cHV0ID0gZnMucmVhZEZpbGVTeW5jKFxuICAgIHBhdGguam9pbih3b3JrZGlyLCBcInByb3ZpZGVycy9zdHJpcGUvaW52b2ljZWl0ZW1zL2luZGV4LnRzXCIpLFxuICAgIFwidXRmLThcIixcbiAgKTtcblxuICBleHBlY3Qob3V0cHV0KS50b0VxdWFsKFxuICAgIGV4cGVjdC5zdHJpbmdDb250YWluaW5nKFxuICAgICAgYGV4cG9ydCBjbGFzcyBJbnZvaWNlaXRlbXNEaXNjb3VudHNNYXBMaXN0IGV4dGVuZHMgY2RrdG4uTWFwTGlzdCB7YCxcbiAgICApLFxuICApO1xufSk7XG5cbnRlc3QoXCJnZW5lcmF0ZSBhIHJlc291cmNlIHdpdGggYXR0cmlidXRlIHRoYXQncyBhIG1hcCBvZiBhIGxpc3Qgb2YgYW4gb2JqZWN0XCIsIGFzeW5jICgpID0+IHtcbiAgY29uc3QgY29kZSA9IG5ldyBDb2RlTWFrZXIoKTtcbiAgY29uc3Qgd29ya2RpciA9IHRtcChcImRlZXAtbmVzdGVkLWF0dHJpYnV0ZXMtbGlzdC50ZXN0XCIpO1xuICBjb25zdCBzcGVjID0gSlNPTi5wYXJzZShcbiAgICBmcy5yZWFkRmlsZVN5bmMoXG4gICAgICBwYXRoLmpvaW4oX19kaXJuYW1lLCBcImZpeHR1cmVzXCIsIFwiZGVlcC1hdHRyaWJ1dGVzLnRlc3QuZml4dHVyZS5qc29uXCIpLFxuICAgICAgXCJ1dGYtOFwiLFxuICAgICksXG4gICk7XG4gIG5ldyBUZXJyYWZvcm1Qcm92aWRlckdlbmVyYXRvcihjb2RlLCBzcGVjKS5nZW5lcmF0ZUFsbCgpO1xuICBhd2FpdCBjb2RlLnNhdmUod29ya2Rpcik7XG5cbiAgY29uc3Qgb3V0cHV0ID0gZnMucmVhZEZpbGVTeW5jKFxuICAgIHBhdGguam9pbih3b3JrZGlyLCBcInByb3ZpZGVycy9zdHJpcGUvaW52b2ljZWl0ZW1zL2luZGV4LnRzXCIpLFxuICAgIFwidXRmLThcIixcbiAgKTtcblxuICBleHBlY3Qob3V0cHV0KS50b0VxdWFsKFxuICAgIGV4cGVjdC5zdHJpbmdDb250YWluaW5nKFxuICAgICAgYGV4cG9ydCBjbGFzcyBJbnZvaWNlaXRlbXNEaXNjb3VudHNMaXN0TWFwIGV4dGVuZHMgY2RrdG4uQ29tcGxleE1hcCB7YCxcbiAgICApLFxuICApO1xufSk7XG4iXX0=
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcC1uZXN0ZWQtYXR0cmlidXRlcy50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2dldC9fX3Rlc3RzX18vZ2VuZXJhdG9yL2RlZXAtbmVzdGVkLWF0dHJpYnV0ZXMudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG1FQUFtRTtBQUNuRSx1Q0FBeUI7QUFDekIsMkNBQTZCO0FBQzdCLDJFQUFnRjtBQUNoRix5Q0FBc0M7QUFDdEMsa0NBQTBDO0FBRTFDLE1BQU0sR0FBRyxHQUFHLElBQUEsc0JBQWUsR0FBRSxDQUFDO0FBRTlCLElBQUksQ0FBQyx3RUFBd0UsRUFBRSxLQUFLLElBQUksRUFBRTtJQUN4RixNQUFNLElBQUksR0FBRyxJQUFJLHFCQUFTLEVBQUUsQ0FBQztJQUM3QixNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsNkJBQTZCLENBQUMsQ0FBQztJQUNuRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUNyQixFQUFFLENBQUMsWUFBWSxDQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxpQ0FBaUMsQ0FBQyxFQUNuRSxPQUFPLENBQ1IsQ0FDRixDQUFDO0lBQ0YsSUFBSSwrQ0FBMEIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDekQsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRXpCLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQzVCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLHdDQUF3QyxDQUFDLEVBQzVELE9BQU8sQ0FDUixDQUFDO0lBRUYsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FDcEIsTUFBTSxDQUFDLGdCQUFnQixDQUNyQixtRUFBbUUsQ0FDcEUsQ0FDRixDQUFDO0FBQ0osQ0FBQyxDQUFDLENBQUM7QUFFSCxJQUFJLENBQUMsd0VBQXdFLEVBQUUsS0FBSyxJQUFJLEVBQUU7SUFDeEYsTUFBTSxJQUFJLEdBQUcsSUFBSSxxQkFBUyxFQUFFLENBQUM7SUFDN0IsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7SUFDeEQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FDckIsRUFBRSxDQUFDLFlBQVksQ0FDYixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsbUNBQW1DLENBQUMsRUFDckUsT0FBTyxDQUNSLENBQ0YsQ0FBQztJQUNGLElBQUksK0NBQTBCLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3pELE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUV6QixNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUMsWUFBWSxDQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSx3Q0FBd0MsQ0FBQyxFQUM1RCxPQUFPLENBQ1IsQ0FBQztJQUVGLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQ3BCLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FDckIsc0VBQXNFLENBQ3ZFLENBQ0YsQ0FBQztBQUNKLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluYyAvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0ICogYXMgZnMgZnJvbSBcImZzXCI7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgeyBUZXJyYWZvcm1Qcm92aWRlckdlbmVyYXRvciB9IGZyb20gXCIuLi8uLi9nZW5lcmF0b3IvcHJvdmlkZXItZ2VuZXJhdG9yXCI7XG5pbXBvcnQgeyBDb2RlTWFrZXIgfSBmcm9tIFwiY29kZW1ha2VyXCI7XG5pbXBvcnQgeyBjcmVhdGVUbXBIZWxwZXIgfSBmcm9tIFwiLi4vdXRpbFwiO1xuXG5jb25zdCB0bXAgPSBjcmVhdGVUbXBIZWxwZXIoKTtcblxudGVzdChcImdlbmVyYXRlIGEgcmVzb3VyY2Ugd2l0aCBhdHRyaWJ1dGUgdGhhdCdzIGEgbGlzdCBvZiBhIG1hcCBvZiBhbiBvYmplY3RcIiwgYXN5bmMgKCkgPT4ge1xuICBjb25zdCBjb2RlID0gbmV3IENvZGVNYWtlcigpO1xuICBjb25zdCB3b3JrZGlyID0gdG1wKFwiZGVlcC1uZXN0ZWQtYXR0cmlidXRlcy50ZXN0XCIpO1xuICBjb25zdCBzcGVjID0gSlNPTi5wYXJzZShcbiAgICBmcy5yZWFkRmlsZVN5bmMoXG4gICAgICBwYXRoLmpvaW4oX19kaXJuYW1lLCBcImZpeHR1cmVzXCIsIFwic3RyaXBlLXNjaGVtYS50ZXN0LmZpeHR1cmUuanNvblwiKSxcbiAgICAgIFwidXRmLThcIixcbiAgICApLFxuICApO1xuICBuZXcgVGVycmFmb3JtUHJvdmlkZXJHZW5lcmF0b3IoY29kZSwgc3BlYykuZ2VuZXJhdGVBbGwoKTtcbiAgYXdhaXQgY29kZS5zYXZlKHdvcmtkaXIpO1xuXG4gIGNvbnN0IG91dHB1dCA9IGZzLnJlYWRGaWxlU3luYyhcbiAgICBwYXRoLmpvaW4od29ya2RpciwgXCJwcm92aWRlcnMvc3RyaXBlL2ludm9pY2VpdGVtcy9pbmRleC50c1wiKSxcbiAgICBcInV0Zi04XCIsXG4gICk7XG5cbiAgZXhwZWN0KG91dHB1dCkudG9FcXVhbChcbiAgICBleHBlY3Quc3RyaW5nQ29udGFpbmluZyhcbiAgICAgIGBleHBvcnQgY2xhc3MgSW52b2ljZWl0ZW1zRGlzY291bnRzTWFwTGlzdCBleHRlbmRzIGNka3RuLk1hcExpc3Qge2AsXG4gICAgKSxcbiAgKTtcbn0pO1xuXG50ZXN0KFwiZ2VuZXJhdGUgYSByZXNvdXJjZSB3aXRoIGF0dHJpYnV0ZSB0aGF0J3MgYSBtYXAgb2YgYSBsaXN0IG9mIGFuIG9iamVjdFwiLCBhc3luYyAoKSA9PiB7XG4gIGNvbnN0IGNvZGUgPSBuZXcgQ29kZU1ha2VyKCk7XG4gIGNvbnN0IHdvcmtkaXIgPSB0bXAoXCJkZWVwLW5lc3RlZC1hdHRyaWJ1dGVzLWxpc3QudGVzdFwiKTtcbiAgY29uc3Qgc3BlYyA9IEpTT04ucGFyc2UoXG4gICAgZnMucmVhZEZpbGVTeW5jKFxuICAgICAgcGF0aC5qb2luKF9fZGlybmFtZSwgXCJmaXh0dXJlc1wiLCBcImRlZXAtYXR0cmlidXRlcy50ZXN0LmZpeHR1cmUuanNvblwiKSxcbiAgICAgIFwidXRmLThcIixcbiAgICApLFxuICApO1xuICBuZXcgVGVycmFmb3JtUHJvdmlkZXJHZW5lcmF0b3IoY29kZSwgc3BlYykuZ2VuZXJhdGVBbGwoKTtcbiAgYXdhaXQgY29kZS5zYXZlKHdvcmtkaXIpO1xuXG4gIGNvbnN0IG91dHB1dCA9IGZzLnJlYWRGaWxlU3luYyhcbiAgICBwYXRoLmpvaW4od29ya2RpciwgXCJwcm92aWRlcnMvc3RyaXBlL2ludm9pY2VpdGVtcy9pbmRleC50c1wiKSxcbiAgICBcInV0Zi04XCIsXG4gICk7XG5cbiAgZXhwZWN0KG91dHB1dCkudG9FcXVhbChcbiAgICBleHBlY3Quc3RyaW5nQ29udGFpbmluZyhcbiAgICAgIGBleHBvcnQgY2xhc3MgSW52b2ljZWl0ZW1zRGlzY291bnRzTGlzdE1hcCBleHRlbmRzIGNka3RuLkNvbXBsZXhNYXAge2AsXG4gICAgKSxcbiAgKTtcbn0pO1xuIl19