@cdktn/cli-core 0.24.0-pre.9 → 0.24.0-pre.90

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 (71) hide show
  1. package/.spec.swcrc +22 -0
  2. package/LICENSE +355 -0
  3. package/build/lib/cdktf-config.d.ts +2 -1
  4. package/build/lib/cdktf-config.d.ts.map +1 -1
  5. package/build/lib/cdktf-config.js +10 -1
  6. package/build/lib/cdktf-stack.d.ts +6 -1
  7. package/build/lib/cdktf-stack.d.ts.map +1 -1
  8. package/build/lib/cdktf-stack.js +18 -1
  9. package/build/lib/dependencies/dependency-manager.d.ts.map +1 -1
  10. package/build/lib/dependencies/dependency-manager.js +6 -3
  11. package/build/lib/dependencies/package-manager.d.ts.map +1 -1
  12. package/build/lib/dependencies/package-manager.js +145 -42
  13. package/build/lib/dependencies/prebuilt-providers.d.ts.map +1 -1
  14. package/build/lib/dependencies/prebuilt-providers.js +7 -12
  15. package/build/lib/dependencies/registry-api.d.ts.map +1 -1
  16. package/build/lib/dependencies/registry-api.js +5 -12
  17. package/build/lib/get.d.ts.map +1 -1
  18. package/build/lib/get.js +2 -1
  19. package/build/lib/helpers/stack-helpers.js +3 -6
  20. package/build/lib/init.d.ts +1 -1
  21. package/build/lib/init.d.ts.map +1 -1
  22. package/build/lib/init.js +22 -4
  23. package/build/lib/installed-binary-check.d.ts +12 -0
  24. package/build/lib/installed-binary-check.d.ts.map +1 -0
  25. package/build/lib/installed-binary-check.js +62 -0
  26. package/build/lib/local-provider-constraints.d.ts +1 -7
  27. package/build/lib/local-provider-constraints.d.ts.map +1 -1
  28. package/build/lib/local-provider-constraints.js +2 -2
  29. package/build/lib/models/deploy-machine.d.ts +10 -0
  30. package/build/lib/models/deploy-machine.d.ts.map +1 -1
  31. package/build/lib/models/deploy-machine.js +42 -7
  32. package/build/lib/models/interactive-process.d.ts.map +1 -1
  33. package/build/lib/models/interactive-process.js +3 -5
  34. package/build/lib/models/schema.d.ts +151 -2093
  35. package/build/lib/models/schema.d.ts.map +1 -1
  36. package/build/lib/models/schema.js +3 -3
  37. package/build/lib/models/terraform-cli.d.ts +0 -1
  38. package/build/lib/models/terraform-cli.d.ts.map +1 -1
  39. package/build/lib/models/terraform.d.ts +1 -0
  40. package/build/lib/models/terraform.d.ts.map +1 -1
  41. package/build/lib/models/terraform.js +1 -1
  42. package/build/lib/output.js +2 -2
  43. package/build/lib/synth-stack.d.ts +0 -1
  44. package/build/lib/synth-stack.d.ts.map +1 -1
  45. package/build/lib/terraform-json.d.ts +21 -981
  46. package/build/lib/terraform-json.d.ts.map +1 -1
  47. package/build/lib/terraform-json.js +25 -17
  48. package/build/lib/watch.d.ts +0 -1
  49. package/build/lib/watch.d.ts.map +1 -1
  50. package/jest.config.js +24 -11
  51. package/package.json +36 -38
  52. package/templates/csharp/TestProgram.cs +1 -1
  53. package/templates/csharp/cdktf.json +4 -0
  54. package/templates/csharp/help +9 -9
  55. package/templates/go/cdktf.json +4 -0
  56. package/templates/go/help +3 -3
  57. package/templates/go/main_test.go +1 -1
  58. package/templates/java/cdktf.json +4 -0
  59. package/templates/java/gradlew +0 -0
  60. package/templates/java/help +4 -4
  61. package/templates/java/src/test/java/com/company/app/MainTest.java +1 -1
  62. package/templates/python/cdktf.json +4 -0
  63. package/templates/python/help +3 -3
  64. package/templates/python/main-test.py +1 -1
  65. package/templates/python-pip/cdktf.json +4 -0
  66. package/templates/python-pip/help +3 -3
  67. package/templates/python-pip/main-test.py +1 -1
  68. package/templates/typescript/__tests__/main-test.ts +1 -1
  69. package/templates/typescript/cdktf.json +4 -0
  70. package/templates/typescript/help +2 -2
  71. package/templates/typescript/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"prebuilt-providers.d.ts","sourceRoot":"","sources":["../../../src/lib/dependencies/prebuilt-providers.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAc1D,KAAK,YAAY,GAAG;IAClB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB,CAAC;AAeF,wBAAsB,eAAe,kBAEpC;AA2CD,wBAAsB,uBAAuB,0BAE5C;AAED,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,kBAAkB,EAC9B,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAc7B;AA+ED,KAAK,uBAAuB,GAAG;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,6BAA6B,EAAE,MAAM,CAAC;IACtC,6BAA6B,EAAE,MAAM,CAAC;IACtC,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,wBAAsB,iCAAiC,CACrD,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,CAAC,CAcjB;AAED,wBAAsB,8BAA8B,CAClD,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAyCpC;AASD,wBAAsB,2BAA2B,CAC/C,UAAU,EAAE,kBAAkB,EAC9B,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,IAAI,CAAC,CAsDrD;AAED,wBAAsB,qCAAqC,CACzD,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,GAAG,CAAC,CAwBd"}
1
+ {"version":3,"file":"prebuilt-providers.d.ts","sourceRoot":"","sources":["../../../src/lib/dependencies/prebuilt-providers.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAa1D,KAAK,YAAY,GAAG;IAClB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB,CAAC;AAeF,wBAAsB,eAAe,kBAEpC;AA2CD,wBAAsB,uBAAuB,0BAE5C;AAED,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,kBAAkB,EAC9B,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAc7B;AA+ED,KAAK,uBAAuB,GAAG;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,6BAA6B,EAAE,MAAM,CAAC;IACtC,6BAA6B,EAAE,MAAM,CAAC;IACtC,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,wBAAsB,iCAAiC,CACrD,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,CAAC,CAcjB;AAED,wBAAsB,8BAA8B,CAClD,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAyCpC;AASD,wBAAsB,2BAA2B,CAC/C,UAAU,EAAE,kBAAkB,EAC9B,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,IAAI,CAAC,CAsDrD;AAED,wBAAsB,qCAAqC,CACzD,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,GAAG,CAAC,CAwBd"}
@@ -24,22 +24,17 @@ var __importStar = (this && this.__importStar) || function (mod) {
24
24
  __setModuleDefault(result, mod);
25
25
  return result;
26
26
  };
27
- var __importDefault = (this && this.__importDefault) || function (mod) {
28
- return (mod && mod.__esModule) ? mod : { "default": mod };
29
- };
30
27
  Object.defineProperty(exports, "__esModule", { value: true });
31
28
  exports.getPrebuiltProviderVersionInformation = exports.getPrebuiltProviderVersions = exports.getAllPrebuiltProviderVersions = exports.getPrebuiltProviderRepositoryName = exports.getNpmPackageName = exports.getAllPrebuiltProviders = exports.resetFetchCache = void 0;
32
- const https_proxy_agent_1 = require("https-proxy-agent");
33
- const node_fetch_1 = __importDefault(require("node-fetch"));
29
+ const undici_1 = require("undici");
34
30
  const semver = __importStar(require("semver"));
35
31
  const commons_1 = require("@cdktn/commons");
36
32
  const dependency_manager_1 = require("./dependency-manager");
37
33
  const version_constraints_1 = require("./version-constraints");
38
34
  const proxy = process.env.http_proxy || process.env.HTTP_PROXY;
39
- let agent;
40
- if (proxy) {
41
- agent = new https_proxy_agent_1.HttpsProxyAgent(proxy);
42
- }
35
+ const dispatcher = proxy
36
+ ? new undici_1.ProxyAgent(proxy)
37
+ : undefined;
43
38
  // uses https://github.com/hashicorp/cdktf-repository-manager/blob/main/provider.json
44
39
  // However, it got cleared out. We'll need to host the existing list somewhere
45
40
  // const providersMapUrl = `https://www.cdk.tf/.well-known/prebuilt-providers.json`;
@@ -61,8 +56,8 @@ exports.resetFetchCache = resetFetchCache;
61
56
  async function fetchWrapped(url) {
62
57
  let response;
63
58
  try {
64
- response = await (0, node_fetch_1.default)(url, {
65
- agent,
59
+ response = await (0, undici_1.fetch)(url, {
60
+ dispatcher,
66
61
  headers: { "User-Agent": "OpenConstructs/cdktn-cli" },
67
62
  });
68
63
  }
@@ -218,4 +213,4 @@ async function getPrebuiltProviderVersionInformation(packageName, packageVersion
218
213
  };
219
214
  }
220
215
  exports.getPrebuiltProviderVersionInformation = getPrebuiltProviderVersionInformation;
221
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlYnVpbHQtcHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9kZXBlbmRlbmNpZXMvcHJlYnVpbHQtcHJvdmlkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSwrQkFBK0I7QUFDL0IsbUNBQW1DOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVuQyx5REFBb0Q7QUFDcEQsNERBQStCO0FBQy9CLCtDQUFpQztBQUNqQyw0Q0FBd0M7QUFDeEMsNkRBQTBEO0FBQzFELCtEQUFpRTtBQUVqRSxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQztBQUMvRCxJQUFJLEtBQWtDLENBQUM7QUFDdkMsSUFBSSxLQUFLLEVBQUUsQ0FBQztJQUNWLEtBQUssR0FBRyxJQUFJLG1DQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDckMsQ0FBQztBQUVELHFGQUFxRjtBQUNyRiw4RUFBOEU7QUFDOUUsb0ZBQW9GO0FBQ3BGLE1BQU0sZUFBZSxHQUNuQixtR0FBbUcsQ0FBQztBQUt0RyxNQUFNLFVBQVUsR0FBRyxJQUFJLEdBQUcsRUFBZSxDQUFDO0FBQzFDLEtBQUssVUFBVSxXQUFXLENBQUksR0FBVztJQUN2QyxJQUFJLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUN4QixPQUFPLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFNLENBQUM7SUFDbEMsQ0FBQztJQUVELE1BQU0sWUFBWSxHQUFHLE1BQU0sWUFBWSxDQUFJLEdBQUcsQ0FBQyxDQUFDO0lBQ2hELFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBRWxDLE9BQU8sWUFBaUIsQ0FBQztBQUMzQixDQUFDO0FBRUQsNEJBQTRCO0FBQ3JCLEtBQUssVUFBVSxlQUFlO0lBQ25DLFVBQVUsQ0FB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QUFFLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsT0FBTztRQUNMLFdBQVcsRUFBRSxNQUFNLENBQUMsSUFBSTtRQUN4QixjQUFjLEVBQUUsTUFBTSxDQUFDLE9BQU87UUFDOUIsWUFBWTtRQUNaLGVBQWUsRUFDYixNQUFBLE1BQUEsTUFBTSxDQUFDLEtBQUssMENBQUUsUUFBUSxDQUFDLE9BQU8sbUNBQUksTUFBQSxNQUFNLENBQUMsS0FBSywwQ0FBRSxRQUFRLENBQUMsT0FBTztRQUNsRSxZQUFZLEVBQUUsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQztRQUM5QyxZQUFZLEVBQUUsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQztLQUMvQyxDQUFDO0FBQ0osQ0FBQztBQTNCRCxzRkEyQkMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuXG5pbXBvcnQgeyBIdHRwc1Byb3h5QWdlbnQgfSBmcm9tIFwiaHR0cHMtcHJveHktYWdlbnRcIjtcbmltcG9ydCBmZXRjaCBmcm9tIFwibm9kZS1mZXRjaFwiO1xuaW1wb3J0ICogYXMgc2VtdmVyIGZyb20gXCJzZW12ZXJcIjtcbmltcG9ydCB7IGxvZ2dlciB9IGZyb20gXCJAY2RrdG4vY29tbW9uc1wiO1xuaW1wb3J0IHsgUHJvdmlkZXJDb25zdHJhaW50IH0gZnJvbSBcIi4vZGVwZW5kZW5jeS1tYW5hZ2VyXCI7XG5pbXBvcnQgeyB2ZXJzaW9uTWF0Y2hlc0NvbnN0cmFpbnQgfSBmcm9tIFwiLi92ZXJzaW9uLWNvbnN0cmFpbnRzXCI7XG5cbmNvbnN0IHByb3h5ID0gcHJvY2Vzcy5lbnYuaHR0cF9wcm94eSB8fCBwcm9jZXNzLmVudi5IVFRQX1BST1hZO1xubGV0IGFnZW50OiBIdHRwc1Byb3h5QWdlbnQgfCB1bmRlZmluZWQ7XG5pZiAocHJveHkpIHtcbiAgYWdlbnQgPSBuZXcgSHR0cHNQcm94eUFnZW50KHByb3h5KTtcbn1cblxuLy8gdXNlcyBodHRwczovL2dpdGh1Yi5jb20vaGFzaGljb3JwL2Nka3RmLXJlcG9zaXRvcnktbWFuYWdlci9ibG9iL21haW4vcHJvdmlkZXIuanNvblxuLy8gSG93ZXZlciwgaXQgZ290IGNsZWFyZWQgb3V0LiBXZSdsbCBuZWVkIHRvIGhvc3QgdGhlIGV4aXN0aW5nIGxpc3Qgc29tZXdoZXJlXG4vLyBjb25zdCBwcm92aWRlcnNNYXBVcmwgPSBgaHR0cHM6Ly93d3cuY2RrLnRmLy53ZWxsLWtub3duL3ByZWJ1aWx0LXByb3ZpZGVycy5qc29uYDtcbmNvbnN0IHByb3ZpZGVyc01hcFVybCA9XG4gIFwiaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Nka3RuLWlvL2Nka3RuLXJlcG9zaXRvcnktbWFuYWdlci9yZWZzL2hlYWRzL21haW4vcHJvdmlkZXIuanNvblwiO1xudHlwZSBQcm92aWRlcnNNYXAgPSB7XG4gIFtuYW1lOiBzdHJpbmddOiBzdHJpbmc7XG59O1xuXG5jb25zdCBmZXRjaENhY2hlID0gbmV3IE1hcDxzdHJpbmcsIGFueT4oKTtcbmFzeW5jIGZ1bmN0aW9uIGNhY2hlZEZldGNoPFQ+KHVybDogc3RyaW5nKTogUHJvbWlzZTxUPiB7XG4gIGlmIChmZXRjaENhY2hlLmhhcyh1cmwpKSB7XG4gICAgcmV0dXJuIGZldGNoQ2FjaGUuZ2V0KHVybCkgYXMgVDtcbiAgfVxuXG4gIGNvbnN0IHJlc3BvbnNlQm9keSA9IGF3YWl0IGZldGNoV3JhcHBlZDxUPih1cmwpO1xuICBmZXRjaENhY2hlLnNldCh1cmwsIHJlc3BvbnNlQm9keSk7XG5cbiAgcmV0dXJuIHJlc3BvbnNlQm9keSBhcyBUO1xufVxuXG4vLyBGb3IgdGVzdGluZyBwdXJwb3NlcyBvbmx5XG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVzZXRGZXRjaENhY2hlKCkge1xuICBmZXRjaENhY2hlLmNsZWFyKCk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGZldGNoV3JhcHBlZDxUPih1cmw6IHN0cmluZyk6IFByb21pc2U8VD4ge1xuICBsZXQgcmVzcG9uc2U7XG4gIHRyeSB7XG4gICAgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCh1cmwsIHtcbiAgICAgIGFnZW50LFxuICAgICAgaGVhZGVyczogeyBcIlVzZXItQWdlbnRcIjogXCJPcGVuQ29uc3RydWN0cy9jZGt0bi1jbGlcIiB9LFxuICAgIH0pO1xuICB9IGNhdGNoIHtcbiAgICAvLyBGZXRjaCBvbmx5IGZhaWxzIGhlcmUgYmVjYXVzZSBvZiBjb25uZWN0aXZpdHkgaXNzdWVzXG4gICAgbG9nZ2VyLmVycm9yKFxuICAgICAgXCJVbmFibGUgdG8gcmVxdWVzdCBwcmUtYnVpbHQgcHJvdmlkZXIgaW5mb3JtYXRpb246IE5ldHdvcmsgZXJyb3IsIHBsZWFzZSBjaGVjayBpZiB5b3UncmUgY29ubmVjdGVkIHRvIHRoZSBpbnRlcm5ldCBhbmQgdHJ5IGFnYWluXCIsXG4gICAgKTtcblxuICAgIHRocm93IG5ldyBFcnJvcihcIkNvbm5lY3Rpb24gZXJyb3JcIik7XG4gIH1cblxuICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgaWYgKHJlc3BvbnNlLnN0YXR1cyA+PSA1MDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgXCJVbmV4cGVjdGVkIGVycm9yIHdoaWxlIGZpbmRpbmcgcHJlLWJ1aWx0IHByb3ZpZGVyLiBQbGVhc2UgdHJ5IGFnYWluLlwiLFxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKHJlc3BvbnNlLnN0YXR1cyA9PT0gNDA0KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFByZS1idWlsdCBwcm92aWRlciBpbmZvcm1hdGlvbiBub3QgZm91bmRgKTtcbiAgICB9XG4gICAgaWYgKHJlc3BvbnNlLnN0YXR1cyA+PSA0MDApIHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlVGV4dCA9IGF3YWl0IHJlc3BvbnNlLnRleHQoKTtcbiAgICAgIC8vIFRoaXMgbWVhbnMgdGhhdCB3ZSdyZSBzZW5kaW5nIGEgYmFkIHJlcXVlc3QuIFdlIHNob3VsZCByZWNvcmQgdGhpcyBpbiBzZW50cnkgdG9vLlxuICAgICAgbG9nZ2VyLmVycm9yKFxuICAgICAgICBgUmVjZWl2ZWQgJHtyZXNwb25zZS5zdGF0dXN9IHJlc3BvbnNlIGZyb20gJHt1cmx9OiAke3Jlc3BvbnNlVGV4dH1gLFxuICAgICAgKTtcblxuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcIlVuZXhwZWN0ZWQgZXJyb3Igd2hpbGUgZmluZGluZyBwcmUtYnVpbHQgcHJvdmlkZXIuIFBsZWFzZSB0cnkgYWdhaW4uXCIsXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiByZXNwb25zZS5qc29uKCkgYXMgUHJvbWlzZTxUPjtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldEFsbFByZWJ1aWx0UHJvdmlkZXJzKCkge1xuICByZXR1cm4gY2FjaGVkRmV0Y2g8UHJvdmlkZXJzTWFwPihwcm92aWRlcnNNYXBVcmwpO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0TnBtUGFja2FnZU5hbWUoXG4gIGNvbnN0cmFpbnQ6IFByb3ZpZGVyQ29uc3RyYWludCxcbiAgdXNlQ2RrdG46IGJvb2xlYW4sXG4pOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICBjb25zdCBwcm92aWRlcnMgPSBhd2FpdCBnZXRBbGxQcmVidWlsdFByb3ZpZGVycygpO1xuXG4gIGNvbnN0IGVudHJ5ID0gT2JqZWN0LmVudHJpZXMocHJvdmlkZXJzKS5maW5kKFxuICAgIChbLCBwXSkgPT5cbiAgICAgIFByb3ZpZGVyQ29uc3RyYWludC5mcm9tQ29uZmlnRW50cnkocCkuc291cmNlLnRvTG93ZXJDYXNlKCkgPT09XG4gICAgICBjb25zdHJhaW50LnNvdXJjZS50b0xvd2VyQ2FzZSgpLFxuICApO1xuICBpZiAoIWVudHJ5KSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDsgLy8gbm8gcHJlLWJ1aWx0IHByb3ZpZGVyIGZvdW5kIGZvciB0aGlzIGNvbnN0cmFpbnRcbiAgfVxuICBjb25zdCBuYW1lID0gZW50cnlbMF07XG5cbiAgcmV0dXJuIHVzZUNka3RuID8gYEBjZGt0bi9wcm92aWRlci0ke25hbWV9YCA6IGBAY2RrdGYvcHJvdmlkZXItJHtuYW1lfWA7XG59XG5cbnR5cGUgUGFja2FnZUpzb24gPSB7XG4gIC8vIGhhcyBiZWVuIGludHJvZHVjZWQgdmlhIGh0dHBzOi8vZ2l0aHViLmNvbS9oYXNoaWNvcnAvY2RrdGYtcHJvdmlkZXItcHJvamVjdC9wdWxsLzIxN1xuICBjZGt0Zj86IHtcbiAgICAvLyBwcm92aWRlciBpcyBvcHRpb25hbCBhcyB3ZSBtaWdodCBzZXQgb3RoZXIgY2RrdGYgcmVsYXRlZCBmaWVsZHMgaW4gdGhlIGZ1dHVyZVxuICAgIC8vIGZvciBvdGhlciBsaWJzIChpLmUuIGNvbnN0cnVjdCBwYWNrYWdlcykgd2hpbGUgc3RpbGwgdXNpbmcgdGhlIGNka3RmIGtleVxuICAgIHByb3ZpZGVyPzoge1xuICAgICAgLyoqXG4gICAgICAgKiBuYW1lIG9mIHRoZSBwcm92aWRlciwgd2lsbCByZXNvbHZlIHRvIHRoZSBmdWxsIG5hbWUgYXMgaW4gdGhlIFRlcnJhZm9ybSBzY2hlbWEuXG4gICAgICAgKiBlLmcuIHJlZ2lzdHJ5LnRlcnJhZm9ybS5pby9oYXNoaWNvcnAvYXdzXG4gICAgICAgKi9cbiAgICAgIG5hbWU6IHN0cmluZztcbiAgICAgIC8qKlxuICAgICAgICogdGhlIGFjdHVhbCB2ZXJzaW9uIHRoYXQgd2FzIHVzZWQgdG8gYnVpbGQgdGhlIHByb3ZpZGVyXG4gICAgICAgKiBlLmcuIDQuMTIuMVxuICAgICAgICovXG4gICAgICB2ZXJzaW9uOiBzdHJpbmc7XG4gICAgfTtcbiAgfTtcbiAgLy8gUHJlLWJ1aWx0IHByb3ZpZGVycyB1c2luZyBjZGt0biBub3cgZ2VuZXJhdGUgcHJvdmlkZXIgaW5mb3JtYXRpb24gdW5kZXIgY2RrdG4ga2V5XG4gIC8vIEF0IHNvbWUgcG9pbnQgc3VwcG9ydCBmb3IgdGhlIGNka3RmIGtleSB3aWxsIGJlIGRyb3BwZWRcbiAgY2RrdG4/OiB7XG4gICAgLy8gcHJvdmlkZXIgaXMgb3B0aW9uYWwgYXMgd2UgbWlnaHQgc2V0IG90aGVyIGNka3RuIHJlbGF0ZWQgZmllbGRzIGluIHRoZSBmdXR1cmVcbiAgICAvLyBmb3Igb3RoZXIgbGlicyAoaS5lLiBjb25zdHJ1Y3QgcGFja2FnZXMpIHdoaWxlIHN0aWxsIHVzaW5nIHRoZSBjZGt0biBrZXlcbiAgICBwcm92aWRlcj86IHtcbiAgICAgIC8qKlxuICAgICAgICogbmFtZSBvZiB0aGUgcHJvdmlkZXIsIHdpbGwgcmVzb2x2ZSB0byB0aGUgZnVsbCBuYW1lIGFzIGluIHRoZSBUZXJyYWZvcm0gc2NoZW1hLlxuICAgICAgICogZS5nLiByZWdpc3RyeS50ZXJyYWZvcm0uaW8vaGFzaGljb3JwL2F3c1xuICAgICAgICovXG4gICAgICBuYW1lOiBzdHJpbmc7XG4gICAgICAvKipcbiAgICAgICAqIHRoZSBhY3R1YWwgdmVyc2lvbiB0aGF0IHdhcyB1c2VkIHRvIGJ1aWxkIHRoZSBwcm92aWRlclxuICAgICAgICogZS5nLiA0LjEyLjFcbiAgICAgICAqL1xuICAgICAgdmVyc2lvbjogc3RyaW5nO1xuICAgIH07XG4gIH07XG4gIHBlZXJEZXBlbmRlbmNpZXM/OiB7XG4gICAgY2RrdGY/OiBzdHJpbmc7XG4gICAgY2RrdG4/OiBzdHJpbmc7XG4gIH07XG4gIHJlcG9zaXRvcnk/OiB7XG4gICAgdHlwZTogc3RyaW5nO1xuICAgIHVybDogc3RyaW5nO1xuICB9O1xuICAvLyAuLi4gbWFueSBtb3JlIGZpZWxkc1xufTtcbnR5cGUgTnBtUGFja2FnZVJlc3VsdCA9IHtcbiAgbmFtZTogc3RyaW5nOyAvLyBlLmcuIFwiQGNka3RmL3Byb3ZpZGVyLWF3c1wiXG4gIHZlcnNpb25zOiB7XG4gICAgW3ZlcnNpb246IHN0cmluZ106IFBhY2thZ2VKc29uO1xuICB9O1xuICByZXBvc2l0b3J5Pzoge1xuICAgIHR5cGU6IHN0cmluZztcbiAgICB1cmw6IHN0cmluZztcbiAgfTtcbn07XG5cbnR5cGUgTnBtUGFja2FnZVNpbmdsZVZlcnNpb25SZXN1bHQgPSB7XG4gIG5hbWU6IHN0cmluZztcbiAgdmVyc2lvbjogc3RyaW5nO1xuICBjZGt0Zj86IHtcbiAgICBwcm92aWRlcjoge1xuICAgICAgbmFtZTogc3RyaW5nO1xuICAgICAgdmVyc2lvbjogc3RyaW5nO1xuICAgIH07XG4gIH07XG4gIGNka3RuPzoge1xuICAgIHByb3ZpZGVyOiB7XG4gICAgICBuYW1lOiBzdHJpbmc7XG4gICAgICB2ZXJzaW9uOiBzdHJpbmc7XG4gICAgfTtcbiAgfTtcbiAgcGVlckRlcGVuZGVuY2llczoge1xuICAgIFtuYW1lOiBzdHJpbmddOiBzdHJpbmc7XG4gIH07XG59O1xuXG50eXBlIFByZWJ1aWx0UHJvdmlkZXJWZXJzaW9uID0ge1xuICBwYWNrYWdlVmVyc2lvbjogc3RyaW5nOyAvLyBlLmcuIFwiNy4wLjQyXCJcbiAgcHJvdmlkZXJWZXJzaW9uOiBzdHJpbmc7IC8vIGUuZy4gXCI0LjEyLjFcIlxuICBjZGt0ZlBlZXJEZXBlbmRlbmN5Q29uc3RyYWludDogc3RyaW5nOyAvLyBlLmcuIFwiXjEwLjAuMFwiXG4gIGNka3RuUGVlckRlcGVuZGVuY3lDb25zdHJhaW50OiBzdHJpbmc7XG4gIHBhY2thZ2VOYW1lOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0UHJlYnVpbHRQcm92aWRlclJlcG9zaXRvcnlOYW1lKFxuICBwYWNrYWdlTmFtZTogc3RyaW5nLFxuKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgY29uc3QgdXJsID0gYGh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnLyR7cGFja2FnZU5hbWV9YDtcbiAgY29uc3QgcmVzdWx0ID0gYXdhaXQgY2FjaGVkRmV0Y2g8TnBtUGFja2FnZVJlc3VsdD4odXJsKTtcblxuICBjb25zdCByZXBvc2l0b3J5VXJsID0gcmVzdWx0Py5yZXBvc2l0b3J5Py51cmw7XG5cbiAgaWYgKCFyZXBvc2l0b3J5VXJsKSByZXR1cm4gXCJcIjtcblxuICBjb25zdCByZXBvc2l0b3J5UmVnZXggPSAvXmdpdFxcK2h0dHBzOlxcL1xcLyhnaXRodWIuY29tXFwvLiopXFwuZ2l0JC87XG4gIGNvbnN0IG1hdGNoID0gcmVwb3NpdG9yeVJlZ2V4LmV4ZWMocmVwb3NpdG9yeVVybCk7XG5cbiAgaWYgKCFtYXRjaCkgcmV0dXJuIFwiXCI7XG5cbiAgcmV0dXJuIG1hdGNoWzFdO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0QWxsUHJlYnVpbHRQcm92aWRlclZlcnNpb25zKFxuICBwYWNrYWdlTmFtZTogc3RyaW5nLFxuKTogUHJvbWlzZTxQcmVidWlsdFByb3ZpZGVyVmVyc2lvbltdPiB7XG4gIGNvbnN0IHVybCA9IGBodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy8ke3BhY2thZ2VOYW1lfWA7XG4gIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGNhY2hlZEZldGNoPE5wbVBhY2thZ2VSZXN1bHQ+KHVybCk7XG5cbiAgY29uc3QgdmVyc2lvbnMgPSBPYmplY3QuZW50cmllcyhyZXN1bHQudmVyc2lvbnMpXG4gICAgLm1hcCgoW3ZlcnNpb24sIHBhY2thZ2VKc29uXSkgPT4ge1xuICAgICAgY29uc3QgcHJvdmlkZXIgPVxuICAgICAgICBwYWNrYWdlSnNvbi5jZGt0bj8ucHJvdmlkZXIgPz8gcGFja2FnZUpzb24uY2RrdGY/LnByb3ZpZGVyO1xuICAgICAgaWYgKFxuICAgICAgICAhcHJvdmlkZXIgfHxcbiAgICAgICAgKCFwYWNrYWdlSnNvbi5wZWVyRGVwZW5kZW5jaWVzPy5jZGt0ZiAmJlxuICAgICAgICAgICFwYWNrYWdlSnNvbi5wZWVyRGVwZW5kZW5jaWVzPy5jZGt0bilcbiAgICAgICkge1xuICAgICAgICBsb2dnZXIudHJhY2UoXG4gICAgICAgICAgYHNraXBwaW5nIHZlcnNpb24gJHt2ZXJzaW9ufSBvZiAke3BhY2thZ2VOYW1lfSBhcyBpdCBkb2VzIG5vdCBoYXZlIGEgY2RrdG4vY2RrdGYucHJvdmlkZXIgb3IgcGVlckRlcGVuZGVuY2llcy5jZGt0Zi9jZGt0biBpbiBwYWNrYWdlLmpzb25gLFxuICAgICAgICApO1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcGFja2FnZU5hbWUsXG4gICAgICAgIHBhY2thZ2VWZXJzaW9uOiB2ZXJzaW9uLFxuICAgICAgICBwcm92aWRlclZlcnNpb246IHByb3ZpZGVyLnZlcnNpb24sXG4gICAgICAgIGNka3RmUGVlckRlcGVuZGVuY3lDb25zdHJhaW50OiBwYWNrYWdlSnNvbi5wZWVyRGVwZW5kZW5jaWVzLmNka3RmLFxuICAgICAgICBjZGt0blBlZXJEZXBlbmRlbmN5Q29uc3RyYWludDogcGFja2FnZUpzb24ucGVlckRlcGVuZGVuY2llcy5jZGt0bixcbiAgICAgIH07XG4gICAgfSlcbiAgICAuZmlsdGVyKCh2KSA9PiB2ICE9PSB1bmRlZmluZWQpIGFzIFByZWJ1aWx0UHJvdmlkZXJWZXJzaW9uW107XG5cbiAgLy8gbGF0ZXN0IHZlcnNpb24gZmlyc3QsIHNvcnRlZCBieSBwYWNrYWdlVmVyc2lvbiBhcyB0aGF0XG4gIC8vIG9uZSBhbHdheXMgaW5jcmVhc2VzIHdoaWxlIHRoZSBwcm92aWRlclZlcnNpb24gbWF5IG5vdFxuICB2ZXJzaW9ucy5zb3J0KChhLCBiKSA9PiB7XG4gICAgaWYgKHNlbXZlci5ndChhLnBhY2thZ2VWZXJzaW9uLCBiLnBhY2thZ2VWZXJzaW9uKSkge1xuICAgICAgcmV0dXJuIC0xO1xuICAgIH1cbiAgICBpZiAoc2VtdmVyLmx0KGEucGFja2FnZVZlcnNpb24sIGIucGFja2FnZVZlcnNpb24pKSB7XG4gICAgICByZXR1cm4gMTtcbiAgICB9XG4gICAgcmV0dXJuIDA7XG4gIH0pO1xuXG4gIHJldHVybiB2ZXJzaW9ucztcbn1cblxuZnVuY3Rpb24gY2RrdGZWZXJzaW9uTWF0Y2hlcyhcbiAgY2RrdGZWZXJzaW9uOiBzdHJpbmcsXG4gIGNka3RmUGVlckRlcGVuZGVuY3lDb25zdHJhaW50OiBzdHJpbmcsXG4pOiBib29sZWFuIHtcbiAgcmV0dXJuIHNlbXZlci5zYXRpc2ZpZXMoY2RrdGZWZXJzaW9uLCBjZGt0ZlBlZXJEZXBlbmRlbmN5Q29uc3RyYWludCk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRQcmVidWlsdFByb3ZpZGVyVmVyc2lvbnMoXG4gIGNvbnN0cmFpbnQ6IFByb3ZpZGVyQ29uc3RyYWludCxcbiAgY2RrdGZWZXJzaW9uOiBzdHJpbmcsXG4pOiBQcm9taXNlPHsgbmFtZTogc3RyaW5nOyB2ZXJzaW9uOiBzdHJpbmcgfVtdIHwgbnVsbD4ge1xuICBjb25zdCBjZGt0ZlByb3ZpZGVyTmFtZSA9IGF3YWl0IGdldE5wbVBhY2thZ2VOYW1lKGNvbnN0cmFpbnQsIGZhbHNlKTtcbiAgY29uc3QgY2RrdG5Qcm92aWRlck5hbWUgPSBhd2FpdCBnZXROcG1QYWNrYWdlTmFtZShjb25zdHJhaW50LCB0cnVlKTtcblxuICAvLyBubyBwcmUtYnVpbHQgcHJvdmlkZXIgZXhpc3RzXG4gIGlmICghY2RrdGZQcm92aWRlck5hbWUgJiYgIWNka3RuUHJvdmlkZXJOYW1lKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBjZGt0ZlZlcnNpb25zID0gY2RrdGZQcm92aWRlck5hbWVcbiAgICA/IGF3YWl0IGdldEFsbFByZWJ1aWx0UHJvdmlkZXJWZXJzaW9ucyhjZGt0ZlByb3ZpZGVyTmFtZSlcbiAgICA6IChbXSBhcyBQcmVidWlsdFByb3ZpZGVyVmVyc2lvbltdKTtcbiAgbG9nZ2VyLmRlYnVnKFxuICAgIGBGb3VuZCB2ZXJzaW9ucyBmb3IgJHtjZGt0ZlByb3ZpZGVyTmFtZX06ICR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICBjZGt0ZlZlcnNpb25zLFxuICAgICAgbnVsbCxcbiAgICAgIDIsXG4gICAgKX1gLFxuICApO1xuXG4gIGNvbnN0IGNka3RuVmVyc2lvbnMgPSBjZGt0blByb3ZpZGVyTmFtZVxuICAgID8gYXdhaXQgZ2V0QWxsUHJlYnVpbHRQcm92aWRlclZlcnNpb25zKGNka3RuUHJvdmlkZXJOYW1lKVxuICAgIDogKFtdIGFzIFByZWJ1aWx0UHJvdmlkZXJWZXJzaW9uW10pO1xuICBsb2dnZXIuZGVidWcoXG4gICAgYEZvdW5kIHZlcnNpb25zIGZvciAke2Nka3RuUHJvdmlkZXJOYW1lfTogJHtKU09OLnN0cmluZ2lmeShjZGt0blZlcnNpb25zLCBudWxsLCAyKX1gLFxuICApO1xuXG4gIGNvbnN0IHZlcnNpb25zID0gY2RrdGZWZXJzaW9ucy5jb25jYXQoY2RrdG5WZXJzaW9ucyk7XG5cbiAgLy8gZmluZCBmaXJzdCB0aGUgdmVyc2lvbiB0aGF0IG1hdGNoZXMgdGhlIHJlcXVlc3RlZCBwcm92aWRlciB2ZXJzaW9uIGFuZCBjZGt0ZiB2ZXJzaW9uXG4gIGNvbnN0IG1hdGNoaW5nVmVyc2lvbnMgPSB2ZXJzaW9ucy5maWx0ZXIoKHYpID0+IHtcbiAgICBpZiAoXG4gICAgICAhY2RrdGZWZXJzaW9uTWF0Y2hlcyhjZGt0ZlZlcnNpb24sIHYuY2RrdGZQZWVyRGVwZW5kZW5jeUNvbnN0cmFpbnQpICYmXG4gICAgICAhY2RrdGZWZXJzaW9uTWF0Y2hlcyhjZGt0ZlZlcnNpb24sIHYuY2RrdG5QZWVyRGVwZW5kZW5jeUNvbnN0cmFpbnQpXG4gICAgKSB7XG4gICAgICByZXR1cm4gZmFsc2U7IC8vIHNraXAgaWYgY2RrdGYgdmVyc2lvbiBkb2VzIG5vdCBtYXRjaFxuICAgIH1cbiAgICBpZiAoY29uc3RyYWludC52ZXJzaW9uKSB7XG4gICAgICByZXR1cm4gdmVyc2lvbk1hdGNoZXNDb25zdHJhaW50KHYucHJvdmlkZXJWZXJzaW9uLCBjb25zdHJhaW50LnZlcnNpb24pO1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTsgLy8gaWYgbm8gdmVyc2lvbiBjb25zdHJhaW50IGlzIHBhc3NlZCwgcmV0dXJuIHRydWUgb24gdGhlIGZpcnN0IG1hdGNoXG4gIH0pO1xuXG4gIGlmICghbWF0Y2hpbmdWZXJzaW9ucy5sZW5ndGgpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICBjb25zdCBucG1QYWNrYWdlVmVyc2lvbnMgPSBtYXRjaGluZ1ZlcnNpb25zXG4gICAgLm1hcCgobWF0Y2hpbmdWZXJzaW9uKSA9PiAoe1xuICAgICAgbmFtZTogbWF0Y2hpbmdWZXJzaW9uLnBhY2thZ2VOYW1lLFxuICAgICAgdmVyc2lvbjogbWF0Y2hpbmdWZXJzaW9uLnBhY2thZ2VWZXJzaW9uLFxuICAgIH0pKVxuICAgIC5zb3J0KChhLCBiKSA9PiBzZW12ZXIuY29tcGFyZShhLnZlcnNpb24sIGIudmVyc2lvbikpXG4gICAgLnJldmVyc2UoKTtcbiAgcmV0dXJuIG5wbVBhY2thZ2VWZXJzaW9ucztcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldFByZWJ1aWx0UHJvdmlkZXJWZXJzaW9uSW5mb3JtYXRpb24oXG4gIHBhY2thZ2VOYW1lOiBzdHJpbmcsXG4gIHBhY2thZ2VWZXJzaW9uOiBzdHJpbmcsXG4pOiBQcm9taXNlPGFueT4ge1xuICAvLyBHbyBwYWNrYWdlcyBpbmNsdWRlIGFuIGV4dHJhIGB2WC5ZLlpgXG4gIGlmIChwYWNrYWdlVmVyc2lvbi5zdGFydHNXaXRoKFwidlwiKSkge1xuICAgIHBhY2thZ2VWZXJzaW9uID0gcGFja2FnZVZlcnNpb24uc2xpY2UoMSk7XG4gIH1cblxuICBjb25zdCB1cmwgPSBgaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvJHtwYWNrYWdlTmFtZX0vJHtwYWNrYWdlVmVyc2lvbn1gO1xuICBjb25zdCByZXN1bHQgPSBhd2FpdCBjYWNoZWRGZXRjaDxOcG1QYWNrYWdlU2luZ2xlVmVyc2lvblJlc3VsdD4odXJsKTtcblxuICBsZXQgcHJvdmlkZXJOYW1lID0gcmVzdWx0LmNka3RuPy5wcm92aWRlci5uYW1lID8/IHJlc3VsdC5jZGt0Zj8ucHJvdmlkZXIubmFtZTtcbiAgaWYgKHByb3ZpZGVyTmFtZSkge1xuICAgIHByb3ZpZGVyTmFtZSA9IHByb3ZpZGVyTmFtZS5yZXBsYWNlKFwicmVnaXN0cnkudGVycmFmb3JtLmlvL1wiLCBcIlwiKTtcbiAgICBwcm92aWRlck5hbWUgPSBwcm92aWRlck5hbWUucmVwbGFjZShcImhhc2hpY29ycC9cIiwgXCJcIik7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHBhY2thZ2VOYW1lOiByZXN1bHQubmFtZSxcbiAgICBwYWNrYWdlVmVyc2lvbjogcmVzdWx0LnZlcnNpb24sXG4gICAgcHJvdmlkZXJOYW1lLFxuICAgIHByb3ZpZGVyVmVyc2lvbjpcbiAgICAgIHJlc3VsdC5jZGt0bj8ucHJvdmlkZXIudmVyc2lvbiA/PyByZXN1bHQuY2RrdGY/LnByb3ZpZGVyLnZlcnNpb24sXG4gICAgY2RrdGZWZXJzaW9uOiByZXN1bHQucGVlckRlcGVuZGVuY2llc1tcImNka3RmXCJdLFxuICAgIGNka3RuVmVyc2lvbjogcmVzdWx0LnBlZXJEZXBlbmRlbmNpZXNbXCJjZGt0blwiXSxcbiAgfTtcbn1cbiJdfQ==
216
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlYnVpbHQtcHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9kZXBlbmRlbmNpZXMvcHJlYnVpbHQtcHJvdmlkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSwrQkFBK0I7QUFDL0IsbUNBQW1DOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVuQyxtQ0FBMkM7QUFDM0MsK0NBQWlDO0FBQ2pDLDRDQUF3QztBQUN4Qyw2REFBMEQ7QUFDMUQsK0RBQWlFO0FBRWpFLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDO0FBQy9ELE1BQU0sVUFBVSxHQUEyQixLQUFLO0lBQzlDLENBQUMsQ0FBQyxJQUFJLG1CQUFVLENBQUMsS0FBSyxDQUFDO0lBQ3ZCLENBQUMsQ0FBQyxTQUFTLENBQUM7QUFFZCxxRkFBcUY7QUFDckYsOEVBQThFO0FBQzlFLG9GQUFvRjtBQUNwRixNQUFNLGVBQWUsR0FDbkIsbUdBQW1HLENBQUM7QUFLdEcsTUFBTSxVQUFVLEdBQUcsSUFBSSxHQUFHLEVBQWUsQ0FBQztBQUMxQyxLQUFLLFVBQVUsV0FBVyxDQUFJLEdBQVc7SUFDdkMsSUFBSSxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDeEIsT0FBTyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBTSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxNQUFNLFlBQVksR0FBRyxNQUFNLFlBQVksQ0FBSSxHQUFHLENBQUMsQ0FBQztJQUNoRCxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxZQUFZLENBQUMsQ0FBQztJQUVsQyxPQUFPLFlBQWlCLENBQUM7QUFDM0IsQ0FBQztBQUVELDRCQUE0QjtBQUNyQixLQUFLLFVBQVUsZUFBZTtJQUNuQyxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7QUFDckIsQ0FB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RUQsT0FBTztRQUNMLFdBQVcsRUFBRSxNQUFNLENBQUMsSUFBSTtRQUN4QixjQUFjLEVBQUUsTUFBTSxDQUFDLE9BQU87UUFDOUIsWUFBWTtRQUNaLGVBQWUsRUFDYixNQUFBLE1BQUEsTUFBTSxDQUFDLEtBQUssMENBQUUsUUFBUSxDQUFDLE9BQU8sbUNBQUksTUFBQSxNQUFNLENBQUMsS0FBSywwQ0FBRSxRQUFRLENBQUMsT0FBTztRQUNsRSxZQUFZLEVBQUUsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQztRQUM5QyxZQUFZLEVBQUUsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQztLQUMvQyxDQUFDO0FBQ0osQ0FBQztBQTNCRCxzRkEyQkMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuXG5pbXBvcnQgeyBmZXRjaCwgUHJveHlBZ2VudCB9IGZyb20gXCJ1bmRpY2lcIjtcbmltcG9ydCAqIGFzIHNlbXZlciBmcm9tIFwic2VtdmVyXCI7XG5pbXBvcnQgeyBsb2dnZXIgfSBmcm9tIFwiQGNka3RuL2NvbW1vbnNcIjtcbmltcG9ydCB7IFByb3ZpZGVyQ29uc3RyYWludCB9IGZyb20gXCIuL2RlcGVuZGVuY3ktbWFuYWdlclwiO1xuaW1wb3J0IHsgdmVyc2lvbk1hdGNoZXNDb25zdHJhaW50IH0gZnJvbSBcIi4vdmVyc2lvbi1jb25zdHJhaW50c1wiO1xuXG5jb25zdCBwcm94eSA9IHByb2Nlc3MuZW52Lmh0dHBfcHJveHkgfHwgcHJvY2Vzcy5lbnYuSFRUUF9QUk9YWTtcbmNvbnN0IGRpc3BhdGNoZXI6IFByb3h5QWdlbnQgfCB1bmRlZmluZWQgPSBwcm94eVxuICA/IG5ldyBQcm94eUFnZW50KHByb3h5KVxuICA6IHVuZGVmaW5lZDtcblxuLy8gdXNlcyBodHRwczovL2dpdGh1Yi5jb20vaGFzaGljb3JwL2Nka3RmLXJlcG9zaXRvcnktbWFuYWdlci9ibG9iL21haW4vcHJvdmlkZXIuanNvblxuLy8gSG93ZXZlciwgaXQgZ290IGNsZWFyZWQgb3V0LiBXZSdsbCBuZWVkIHRvIGhvc3QgdGhlIGV4aXN0aW5nIGxpc3Qgc29tZXdoZXJlXG4vLyBjb25zdCBwcm92aWRlcnNNYXBVcmwgPSBgaHR0cHM6Ly93d3cuY2RrLnRmLy53ZWxsLWtub3duL3ByZWJ1aWx0LXByb3ZpZGVycy5qc29uYDtcbmNvbnN0IHByb3ZpZGVyc01hcFVybCA9XG4gIFwiaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Nka3RuLWlvL2Nka3RuLXJlcG9zaXRvcnktbWFuYWdlci9yZWZzL2hlYWRzL21haW4vcHJvdmlkZXIuanNvblwiO1xudHlwZSBQcm92aWRlcnNNYXAgPSB7XG4gIFtuYW1lOiBzdHJpbmddOiBzdHJpbmc7XG59O1xuXG5jb25zdCBmZXRjaENhY2hlID0gbmV3IE1hcDxzdHJpbmcsIGFueT4oKTtcbmFzeW5jIGZ1bmN0aW9uIGNhY2hlZEZldGNoPFQ+KHVybDogc3RyaW5nKTogUHJvbWlzZTxUPiB7XG4gIGlmIChmZXRjaENhY2hlLmhhcyh1cmwpKSB7XG4gICAgcmV0dXJuIGZldGNoQ2FjaGUuZ2V0KHVybCkgYXMgVDtcbiAgfVxuXG4gIGNvbnN0IHJlc3BvbnNlQm9keSA9IGF3YWl0IGZldGNoV3JhcHBlZDxUPih1cmwpO1xuICBmZXRjaENhY2hlLnNldCh1cmwsIHJlc3BvbnNlQm9keSk7XG5cbiAgcmV0dXJuIHJlc3BvbnNlQm9keSBhcyBUO1xufVxuXG4vLyBGb3IgdGVzdGluZyBwdXJwb3NlcyBvbmx5XG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVzZXRGZXRjaENhY2hlKCkge1xuICBmZXRjaENhY2hlLmNsZWFyKCk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGZldGNoV3JhcHBlZDxUPih1cmw6IHN0cmluZyk6IFByb21pc2U8VD4ge1xuICBsZXQgcmVzcG9uc2U7XG4gIHRyeSB7XG4gICAgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCh1cmwsIHtcbiAgICAgIGRpc3BhdGNoZXIsXG4gICAgICBoZWFkZXJzOiB7IFwiVXNlci1BZ2VudFwiOiBcIk9wZW5Db25zdHJ1Y3RzL2Nka3RuLWNsaVwiIH0sXG4gICAgfSk7XG4gIH0gY2F0Y2gge1xuICAgIC8vIEZldGNoIG9ubHkgZmFpbHMgaGVyZSBiZWNhdXNlIG9mIGNvbm5lY3Rpdml0eSBpc3N1ZXNcbiAgICBsb2dnZXIuZXJyb3IoXG4gICAgICBcIlVuYWJsZSB0byByZXF1ZXN0IHByZS1idWlsdCBwcm92aWRlciBpbmZvcm1hdGlvbjogTmV0d29yayBlcnJvciwgcGxlYXNlIGNoZWNrIGlmIHlvdSdyZSBjb25uZWN0ZWQgdG8gdGhlIGludGVybmV0IGFuZCB0cnkgYWdhaW5cIixcbiAgICApO1xuXG4gICAgdGhyb3cgbmV3IEVycm9yKFwiQ29ubmVjdGlvbiBlcnJvclwiKTtcbiAgfVxuXG4gIGlmICghcmVzcG9uc2Uub2spIHtcbiAgICBpZiAocmVzcG9uc2Uuc3RhdHVzID49IDUwMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcIlVuZXhwZWN0ZWQgZXJyb3Igd2hpbGUgZmluZGluZyBwcmUtYnVpbHQgcHJvdmlkZXIuIFBsZWFzZSB0cnkgYWdhaW4uXCIsXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAocmVzcG9uc2Uuc3RhdHVzID09PSA0MDQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgUHJlLWJ1aWx0IHByb3ZpZGVyIGluZm9ybWF0aW9uIG5vdCBmb3VuZGApO1xuICAgIH1cbiAgICBpZiAocmVzcG9uc2Uuc3RhdHVzID49IDQwMCkge1xuICAgICAgY29uc3QgcmVzcG9uc2VUZXh0ID0gYXdhaXQgcmVzcG9uc2UudGV4dCgpO1xuICAgICAgLy8gVGhpcyBtZWFucyB0aGF0IHdlJ3JlIHNlbmRpbmcgYSBiYWQgcmVxdWVzdC4gV2Ugc2hvdWxkIHJlY29yZCB0aGlzIGluIHNlbnRyeSB0b28uXG4gICAgICBsb2dnZXIuZXJyb3IoXG4gICAgICAgIGBSZWNlaXZlZCAke3Jlc3BvbnNlLnN0YXR1c30gcmVzcG9uc2UgZnJvbSAke3VybH06ICR7cmVzcG9uc2VUZXh0fWAsXG4gICAgICApO1xuXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIFwiVW5leHBlY3RlZCBlcnJvciB3aGlsZSBmaW5kaW5nIHByZS1idWlsdCBwcm92aWRlci4gUGxlYXNlIHRyeSBhZ2Fpbi5cIixcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHJlc3BvbnNlLmpzb24oKSBhcyBQcm9taXNlPFQ+O1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0QWxsUHJlYnVpbHRQcm92aWRlcnMoKSB7XG4gIHJldHVybiBjYWNoZWRGZXRjaDxQcm92aWRlcnNNYXA+KHByb3ZpZGVyc01hcFVybCk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXROcG1QYWNrYWdlTmFtZShcbiAgY29uc3RyYWludDogUHJvdmlkZXJDb25zdHJhaW50LFxuICB1c2VDZGt0bjogYm9vbGVhbixcbik6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gIGNvbnN0IHByb3ZpZGVycyA9IGF3YWl0IGdldEFsbFByZWJ1aWx0UHJvdmlkZXJzKCk7XG5cbiAgY29uc3QgZW50cnkgPSBPYmplY3QuZW50cmllcyhwcm92aWRlcnMpLmZpbmQoXG4gICAgKFssIHBdKSA9PlxuICAgICAgUHJvdmlkZXJDb25zdHJhaW50LmZyb21Db25maWdFbnRyeShwKS5zb3VyY2UudG9Mb3dlckNhc2UoKSA9PT1cbiAgICAgIGNvbnN0cmFpbnQuc291cmNlLnRvTG93ZXJDYXNlKCksXG4gICk7XG4gIGlmICghZW50cnkpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkOyAvLyBubyBwcmUtYnVpbHQgcHJvdmlkZXIgZm91bmQgZm9yIHRoaXMgY29uc3RyYWludFxuICB9XG4gIGNvbnN0IG5hbWUgPSBlbnRyeVswXTtcblxuICByZXR1cm4gdXNlQ2RrdG4gPyBgQGNka3RuL3Byb3ZpZGVyLSR7bmFtZX1gIDogYEBjZGt0Zi9wcm92aWRlci0ke25hbWV9YDtcbn1cblxudHlwZSBQYWNrYWdlSnNvbiA9IHtcbiAgLy8gaGFzIGJlZW4gaW50cm9kdWNlZCB2aWEgaHR0cHM6Ly9naXRodWIuY29tL2hhc2hpY29ycC9jZGt0Zi1wcm92aWRlci1wcm9qZWN0L3B1bGwvMjE3XG4gIGNka3RmPzoge1xuICAgIC8vIHByb3ZpZGVyIGlzIG9wdGlvbmFsIGFzIHdlIG1pZ2h0IHNldCBvdGhlciBjZGt0ZiByZWxhdGVkIGZpZWxkcyBpbiB0aGUgZnV0dXJlXG4gICAgLy8gZm9yIG90aGVyIGxpYnMgKGkuZS4gY29uc3RydWN0IHBhY2thZ2VzKSB3aGlsZSBzdGlsbCB1c2luZyB0aGUgY2RrdGYga2V5XG4gICAgcHJvdmlkZXI/OiB7XG4gICAgICAvKipcbiAgICAgICAqIG5hbWUgb2YgdGhlIHByb3ZpZGVyLCB3aWxsIHJlc29sdmUgdG8gdGhlIGZ1bGwgbmFtZSBhcyBpbiB0aGUgVGVycmFmb3JtIHNjaGVtYS5cbiAgICAgICAqIGUuZy4gcmVnaXN0cnkudGVycmFmb3JtLmlvL2hhc2hpY29ycC9hd3NcbiAgICAgICAqL1xuICAgICAgbmFtZTogc3RyaW5nO1xuICAgICAgLyoqXG4gICAgICAgKiB0aGUgYWN0dWFsIHZlcnNpb24gdGhhdCB3YXMgdXNlZCB0byBidWlsZCB0aGUgcHJvdmlkZXJcbiAgICAgICAqIGUuZy4gNC4xMi4xXG4gICAgICAgKi9cbiAgICAgIHZlcnNpb246IHN0cmluZztcbiAgICB9O1xuICB9O1xuICAvLyBQcmUtYnVpbHQgcHJvdmlkZXJzIHVzaW5nIGNka3RuIG5vdyBnZW5lcmF0ZSBwcm92aWRlciBpbmZvcm1hdGlvbiB1bmRlciBjZGt0biBrZXlcbiAgLy8gQXQgc29tZSBwb2ludCBzdXBwb3J0IGZvciB0aGUgY2RrdGYga2V5IHdpbGwgYmUgZHJvcHBlZFxuICBjZGt0bj86IHtcbiAgICAvLyBwcm92aWRlciBpcyBvcHRpb25hbCBhcyB3ZSBtaWdodCBzZXQgb3RoZXIgY2RrdG4gcmVsYXRlZCBmaWVsZHMgaW4gdGhlIGZ1dHVyZVxuICAgIC8vIGZvciBvdGhlciBsaWJzIChpLmUuIGNvbnN0cnVjdCBwYWNrYWdlcykgd2hpbGUgc3RpbGwgdXNpbmcgdGhlIGNka3RuIGtleVxuICAgIHByb3ZpZGVyPzoge1xuICAgICAgLyoqXG4gICAgICAgKiBuYW1lIG9mIHRoZSBwcm92aWRlciwgd2lsbCByZXNvbHZlIHRvIHRoZSBmdWxsIG5hbWUgYXMgaW4gdGhlIFRlcnJhZm9ybSBzY2hlbWEuXG4gICAgICAgKiBlLmcuIHJlZ2lzdHJ5LnRlcnJhZm9ybS5pby9oYXNoaWNvcnAvYXdzXG4gICAgICAgKi9cbiAgICAgIG5hbWU6IHN0cmluZztcbiAgICAgIC8qKlxuICAgICAgICogdGhlIGFjdHVhbCB2ZXJzaW9uIHRoYXQgd2FzIHVzZWQgdG8gYnVpbGQgdGhlIHByb3ZpZGVyXG4gICAgICAgKiBlLmcuIDQuMTIuMVxuICAgICAgICovXG4gICAgICB2ZXJzaW9uOiBzdHJpbmc7XG4gICAgfTtcbiAgfTtcbiAgcGVlckRlcGVuZGVuY2llcz86IHtcbiAgICBjZGt0Zj86IHN0cmluZztcbiAgICBjZGt0bj86IHN0cmluZztcbiAgfTtcbiAgcmVwb3NpdG9yeT86IHtcbiAgICB0eXBlOiBzdHJpbmc7XG4gICAgdXJsOiBzdHJpbmc7XG4gIH07XG4gIC8vIC4uLiBtYW55IG1vcmUgZmllbGRzXG59O1xudHlwZSBOcG1QYWNrYWdlUmVzdWx0ID0ge1xuICBuYW1lOiBzdHJpbmc7IC8vIGUuZy4gXCJAY2RrdGYvcHJvdmlkZXItYXdzXCJcbiAgdmVyc2lvbnM6IHtcbiAgICBbdmVyc2lvbjogc3RyaW5nXTogUGFja2FnZUpzb247XG4gIH07XG4gIHJlcG9zaXRvcnk/OiB7XG4gICAgdHlwZTogc3RyaW5nO1xuICAgIHVybDogc3RyaW5nO1xuICB9O1xufTtcblxudHlwZSBOcG1QYWNrYWdlU2luZ2xlVmVyc2lvblJlc3VsdCA9IHtcbiAgbmFtZTogc3RyaW5nO1xuICB2ZXJzaW9uOiBzdHJpbmc7XG4gIGNka3RmPzoge1xuICAgIHByb3ZpZGVyOiB7XG4gICAgICBuYW1lOiBzdHJpbmc7XG4gICAgICB2ZXJzaW9uOiBzdHJpbmc7XG4gICAgfTtcbiAgfTtcbiAgY2RrdG4/OiB7XG4gICAgcHJvdmlkZXI6IHtcbiAgICAgIG5hbWU6IHN0cmluZztcbiAgICAgIHZlcnNpb246IHN0cmluZztcbiAgICB9O1xuICB9O1xuICBwZWVyRGVwZW5kZW5jaWVzOiB7XG4gICAgW25hbWU6IHN0cmluZ106IHN0cmluZztcbiAgfTtcbn07XG5cbnR5cGUgUHJlYnVpbHRQcm92aWRlclZlcnNpb24gPSB7XG4gIHBhY2thZ2VWZXJzaW9uOiBzdHJpbmc7IC8vIGUuZy4gXCI3LjAuNDJcIlxuICBwcm92aWRlclZlcnNpb246IHN0cmluZzsgLy8gZS5nLiBcIjQuMTIuMVwiXG4gIGNka3RmUGVlckRlcGVuZGVuY3lDb25zdHJhaW50OiBzdHJpbmc7IC8vIGUuZy4gXCJeMTAuMC4wXCJcbiAgY2RrdG5QZWVyRGVwZW5kZW5jeUNvbnN0cmFpbnQ6IHN0cmluZztcbiAgcGFja2FnZU5hbWU6IHN0cmluZztcbn07XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRQcmVidWlsdFByb3ZpZGVyUmVwb3NpdG9yeU5hbWUoXG4gIHBhY2thZ2VOYW1lOiBzdHJpbmcsXG4pOiBQcm9taXNlPHN0cmluZz4ge1xuICBjb25zdCB1cmwgPSBgaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvJHtwYWNrYWdlTmFtZX1gO1xuICBjb25zdCByZXN1bHQgPSBhd2FpdCBjYWNoZWRGZXRjaDxOcG1QYWNrYWdlUmVzdWx0Pih1cmwpO1xuXG4gIGNvbnN0IHJlcG9zaXRvcnlVcmwgPSByZXN1bHQ/LnJlcG9zaXRvcnk/LnVybDtcblxuICBpZiAoIXJlcG9zaXRvcnlVcmwpIHJldHVybiBcIlwiO1xuXG4gIGNvbnN0IHJlcG9zaXRvcnlSZWdleCA9IC9eZ2l0XFwraHR0cHM6XFwvXFwvKGdpdGh1Yi5jb21cXC8uKilcXC5naXQkLztcbiAgY29uc3QgbWF0Y2ggPSByZXBvc2l0b3J5UmVnZXguZXhlYyhyZXBvc2l0b3J5VXJsKTtcblxuICBpZiAoIW1hdGNoKSByZXR1cm4gXCJcIjtcblxuICByZXR1cm4gbWF0Y2hbMV07XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRBbGxQcmVidWlsdFByb3ZpZGVyVmVyc2lvbnMoXG4gIHBhY2thZ2VOYW1lOiBzdHJpbmcsXG4pOiBQcm9taXNlPFByZWJ1aWx0UHJvdmlkZXJWZXJzaW9uW10+IHtcbiAgY29uc3QgdXJsID0gYGh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnLyR7cGFja2FnZU5hbWV9YDtcbiAgY29uc3QgcmVzdWx0ID0gYXdhaXQgY2FjaGVkRmV0Y2g8TnBtUGFja2FnZVJlc3VsdD4odXJsKTtcblxuICBjb25zdCB2ZXJzaW9ucyA9IE9iamVjdC5lbnRyaWVzKHJlc3VsdC52ZXJzaW9ucylcbiAgICAubWFwKChbdmVyc2lvbiwgcGFja2FnZUpzb25dKSA9PiB7XG4gICAgICBjb25zdCBwcm92aWRlciA9XG4gICAgICAgIHBhY2thZ2VKc29uLmNka3RuPy5wcm92aWRlciA/PyBwYWNrYWdlSnNvbi5jZGt0Zj8ucHJvdmlkZXI7XG4gICAgICBpZiAoXG4gICAgICAgICFwcm92aWRlciB8fFxuICAgICAgICAoIXBhY2thZ2VKc29uLnBlZXJEZXBlbmRlbmNpZXM/LmNka3RmICYmXG4gICAgICAgICAgIXBhY2thZ2VKc29uLnBlZXJEZXBlbmRlbmNpZXM/LmNka3RuKVxuICAgICAgKSB7XG4gICAgICAgIGxvZ2dlci50cmFjZShcbiAgICAgICAgICBgc2tpcHBpbmcgdmVyc2lvbiAke3ZlcnNpb259IG9mICR7cGFja2FnZU5hbWV9IGFzIGl0IGRvZXMgbm90IGhhdmUgYSBjZGt0bi9jZGt0Zi5wcm92aWRlciBvciBwZWVyRGVwZW5kZW5jaWVzLmNka3RmL2Nka3RuIGluIHBhY2thZ2UuanNvbmAsXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICB9XG4gICAgICByZXR1cm4ge1xuICAgICAgICBwYWNrYWdlTmFtZSxcbiAgICAgICAgcGFja2FnZVZlcnNpb246IHZlcnNpb24sXG4gICAgICAgIHByb3ZpZGVyVmVyc2lvbjogcHJvdmlkZXIudmVyc2lvbixcbiAgICAgICAgY2RrdGZQZWVyRGVwZW5kZW5jeUNvbnN0cmFpbnQ6IHBhY2thZ2VKc29uLnBlZXJEZXBlbmRlbmNpZXMuY2RrdGYsXG4gICAgICAgIGNka3RuUGVlckRlcGVuZGVuY3lDb25zdHJhaW50OiBwYWNrYWdlSnNvbi5wZWVyRGVwZW5kZW5jaWVzLmNka3RuLFxuICAgICAgfTtcbiAgICB9KVxuICAgIC5maWx0ZXIoKHYpID0+IHYgIT09IHVuZGVmaW5lZCkgYXMgUHJlYnVpbHRQcm92aWRlclZlcnNpb25bXTtcblxuICAvLyBsYXRlc3QgdmVyc2lvbiBmaXJzdCwgc29ydGVkIGJ5IHBhY2thZ2VWZXJzaW9uIGFzIHRoYXRcbiAgLy8gb25lIGFsd2F5cyBpbmNyZWFzZXMgd2hpbGUgdGhlIHByb3ZpZGVyVmVyc2lvbiBtYXkgbm90XG4gIHZlcnNpb25zLnNvcnQoKGEsIGIpID0+IHtcbiAgICBpZiAoc2VtdmVyLmd0KGEucGFja2FnZVZlcnNpb24sIGIucGFja2FnZVZlcnNpb24pKSB7XG4gICAgICByZXR1cm4gLTE7XG4gICAgfVxuICAgIGlmIChzZW12ZXIubHQoYS5wYWNrYWdlVmVyc2lvbiwgYi5wYWNrYWdlVmVyc2lvbikpIHtcbiAgICAgIHJldHVybiAxO1xuICAgIH1cbiAgICByZXR1cm4gMDtcbiAgfSk7XG5cbiAgcmV0dXJuIHZlcnNpb25zO1xufVxuXG5mdW5jdGlvbiBjZGt0ZlZlcnNpb25NYXRjaGVzKFxuICBjZGt0ZlZlcnNpb246IHN0cmluZyxcbiAgY2RrdGZQZWVyRGVwZW5kZW5jeUNvbnN0cmFpbnQ6IHN0cmluZyxcbik6IGJvb2xlYW4ge1xuICByZXR1cm4gc2VtdmVyLnNhdGlzZmllcyhjZGt0ZlZlcnNpb24sIGNka3RmUGVlckRlcGVuZGVuY3lDb25zdHJhaW50KTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldFByZWJ1aWx0UHJvdmlkZXJWZXJzaW9ucyhcbiAgY29uc3RyYWludDogUHJvdmlkZXJDb25zdHJhaW50LFxuICBjZGt0ZlZlcnNpb246IHN0cmluZyxcbik6IFByb21pc2U8eyBuYW1lOiBzdHJpbmc7IHZlcnNpb246IHN0cmluZyB9W10gfCBudWxsPiB7XG4gIGNvbnN0IGNka3RmUHJvdmlkZXJOYW1lID0gYXdhaXQgZ2V0TnBtUGFja2FnZU5hbWUoY29uc3RyYWludCwgZmFsc2UpO1xuICBjb25zdCBjZGt0blByb3ZpZGVyTmFtZSA9IGF3YWl0IGdldE5wbVBhY2thZ2VOYW1lKGNvbnN0cmFpbnQsIHRydWUpO1xuXG4gIC8vIG5vIHByZS1idWlsdCBwcm92aWRlciBleGlzdHNcbiAgaWYgKCFjZGt0ZlByb3ZpZGVyTmFtZSAmJiAhY2RrdG5Qcm92aWRlck5hbWUpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IGNka3RmVmVyc2lvbnMgPSBjZGt0ZlByb3ZpZGVyTmFtZVxuICAgID8gYXdhaXQgZ2V0QWxsUHJlYnVpbHRQcm92aWRlclZlcnNpb25zKGNka3RmUHJvdmlkZXJOYW1lKVxuICAgIDogKFtdIGFzIFByZWJ1aWx0UHJvdmlkZXJWZXJzaW9uW10pO1xuICBsb2dnZXIuZGVidWcoXG4gICAgYEZvdW5kIHZlcnNpb25zIGZvciAke2Nka3RmUHJvdmlkZXJOYW1lfTogJHtKU09OLnN0cmluZ2lmeShcbiAgICAgIGNka3RmVmVyc2lvbnMsXG4gICAgICBudWxsLFxuICAgICAgMixcbiAgICApfWAsXG4gICk7XG5cbiAgY29uc3QgY2RrdG5WZXJzaW9ucyA9IGNka3RuUHJvdmlkZXJOYW1lXG4gICAgPyBhd2FpdCBnZXRBbGxQcmVidWlsdFByb3ZpZGVyVmVyc2lvbnMoY2RrdG5Qcm92aWRlck5hbWUpXG4gICAgOiAoW10gYXMgUHJlYnVpbHRQcm92aWRlclZlcnNpb25bXSk7XG4gIGxvZ2dlci5kZWJ1ZyhcbiAgICBgRm91bmQgdmVyc2lvbnMgZm9yICR7Y2RrdG5Qcm92aWRlck5hbWV9OiAke0pTT04uc3RyaW5naWZ5KGNka3RuVmVyc2lvbnMsIG51bGwsIDIpfWAsXG4gICk7XG5cbiAgY29uc3QgdmVyc2lvbnMgPSBjZGt0ZlZlcnNpb25zLmNvbmNhdChjZGt0blZlcnNpb25zKTtcblxuICAvLyBmaW5kIGZpcnN0IHRoZSB2ZXJzaW9uIHRoYXQgbWF0Y2hlcyB0aGUgcmVxdWVzdGVkIHByb3ZpZGVyIHZlcnNpb24gYW5kIGNka3RmIHZlcnNpb25cbiAgY29uc3QgbWF0Y2hpbmdWZXJzaW9ucyA9IHZlcnNpb25zLmZpbHRlcigodikgPT4ge1xuICAgIGlmIChcbiAgICAgICFjZGt0ZlZlcnNpb25NYXRjaGVzKGNka3RmVmVyc2lvbiwgdi5jZGt0ZlBlZXJEZXBlbmRlbmN5Q29uc3RyYWludCkgJiZcbiAgICAgICFjZGt0ZlZlcnNpb25NYXRjaGVzKGNka3RmVmVyc2lvbiwgdi5jZGt0blBlZXJEZXBlbmRlbmN5Q29uc3RyYWludClcbiAgICApIHtcbiAgICAgIHJldHVybiBmYWxzZTsgLy8gc2tpcCBpZiBjZGt0ZiB2ZXJzaW9uIGRvZXMgbm90IG1hdGNoXG4gICAgfVxuICAgIGlmIChjb25zdHJhaW50LnZlcnNpb24pIHtcbiAgICAgIHJldHVybiB2ZXJzaW9uTWF0Y2hlc0NvbnN0cmFpbnQodi5wcm92aWRlclZlcnNpb24sIGNvbnN0cmFpbnQudmVyc2lvbik7XG4gICAgfVxuICAgIHJldHVybiB0cnVlOyAvLyBpZiBubyB2ZXJzaW9uIGNvbnN0cmFpbnQgaXMgcGFzc2VkLCByZXR1cm4gdHJ1ZSBvbiB0aGUgZmlyc3QgbWF0Y2hcbiAgfSk7XG5cbiAgaWYgKCFtYXRjaGluZ1ZlcnNpb25zLmxlbmd0aCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGNvbnN0IG5wbVBhY2thZ2VWZXJzaW9ucyA9IG1hdGNoaW5nVmVyc2lvbnNcbiAgICAubWFwKChtYXRjaGluZ1ZlcnNpb24pID0+ICh7XG4gICAgICBuYW1lOiBtYXRjaGluZ1ZlcnNpb24ucGFja2FnZU5hbWUsXG4gICAgICB2ZXJzaW9uOiBtYXRjaGluZ1ZlcnNpb24ucGFja2FnZVZlcnNpb24sXG4gICAgfSkpXG4gICAgLnNvcnQoKGEsIGIpID0+IHNlbXZlci5jb21wYXJlKGEudmVyc2lvbiwgYi52ZXJzaW9uKSlcbiAgICAucmV2ZXJzZSgpO1xuICByZXR1cm4gbnBtUGFja2FnZVZlcnNpb25zO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0UHJlYnVpbHRQcm92aWRlclZlcnNpb25JbmZvcm1hdGlvbihcbiAgcGFja2FnZU5hbWU6IHN0cmluZyxcbiAgcGFja2FnZVZlcnNpb246IHN0cmluZyxcbik6IFByb21pc2U8YW55PiB7XG4gIC8vIEdvIHBhY2thZ2VzIGluY2x1ZGUgYW4gZXh0cmEgYHZYLlkuWmBcbiAgaWYgKHBhY2thZ2VWZXJzaW9uLnN0YXJ0c1dpdGgoXCJ2XCIpKSB7XG4gICAgcGFja2FnZVZlcnNpb24gPSBwYWNrYWdlVmVyc2lvbi5zbGljZSgxKTtcbiAgfVxuXG4gIGNvbnN0IHVybCA9IGBodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy8ke3BhY2thZ2VOYW1lfS8ke3BhY2thZ2VWZXJzaW9ufWA7XG4gIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGNhY2hlZEZldGNoPE5wbVBhY2thZ2VTaW5nbGVWZXJzaW9uUmVzdWx0Pih1cmwpO1xuXG4gIGxldCBwcm92aWRlck5hbWUgPSByZXN1bHQuY2RrdG4/LnByb3ZpZGVyLm5hbWUgPz8gcmVzdWx0LmNka3RmPy5wcm92aWRlci5uYW1lO1xuICBpZiAocHJvdmlkZXJOYW1lKSB7XG4gICAgcHJvdmlkZXJOYW1lID0gcHJvdmlkZXJOYW1lLnJlcGxhY2UoXCJyZWdpc3RyeS50ZXJyYWZvcm0uaW8vXCIsIFwiXCIpO1xuICAgIHByb3ZpZGVyTmFtZSA9IHByb3ZpZGVyTmFtZS5yZXBsYWNlKFwiaGFzaGljb3JwL1wiLCBcIlwiKTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgcGFja2FnZU5hbWU6IHJlc3VsdC5uYW1lLFxuICAgIHBhY2thZ2VWZXJzaW9uOiByZXN1bHQudmVyc2lvbixcbiAgICBwcm92aWRlck5hbWUsXG4gICAgcHJvdmlkZXJWZXJzaW9uOlxuICAgICAgcmVzdWx0LmNka3RuPy5wcm92aWRlci52ZXJzaW9uID8/IHJlc3VsdC5jZGt0Zj8ucHJvdmlkZXIudmVyc2lvbixcbiAgICBjZGt0ZlZlcnNpb246IHJlc3VsdC5wZWVyRGVwZW5kZW5jaWVzW1wiY2RrdGZcIl0sXG4gICAgY2RrdG5WZXJzaW9uOiByZXN1bHQucGVlckRlcGVuZGVuY2llc1tcImNka3RuXCJdLFxuICB9O1xufVxuIl19
@@ -1 +1 @@
1
- {"version":3,"file":"registry-api.d.ts","sourceRoot":"","sources":["../../../src/lib/dependencies/registry-api.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAuC1D;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,UAAU,EAAE,kBAAkB,GAC7B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAgBxB"}
1
+ {"version":3,"file":"registry-api.d.ts","sourceRoot":"","sources":["../../../src/lib/dependencies/registry-api.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAoC1D;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,UAAU,EAAE,kBAAkB,GAC7B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAgBxB"}
@@ -22,26 +22,19 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
22
  __setModuleDefault(result, mod);
23
23
  return result;
24
24
  };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
25
  Object.defineProperty(exports, "__esModule", { value: true });
29
26
  exports.getLatestVersion = void 0;
30
27
  // Copyright (c) HashiCorp, Inc
31
28
  // SPDX-License-Identifier: MPL-2.0
32
- const node_fetch_1 = __importDefault(require("node-fetch"));
33
- const https_proxy_agent_1 = require("https-proxy-agent");
29
+ const undici_1 = require("undici");
34
30
  const semver = __importStar(require("semver"));
35
31
  const commons_1 = require("@cdktn/commons");
36
32
  async function fetchVersions(constraint) {
37
33
  const proxy = process.env.http_proxy || process.env.HTTP_PROXY;
38
- let agent;
39
- if (proxy) {
40
- agent = new https_proxy_agent_1.HttpsProxyAgent(proxy);
41
- }
34
+ const dispatcher = proxy ? new undici_1.ProxyAgent(proxy) : undefined;
42
35
  const url = `https://registry.terraform.io/v1/providers/${constraint.namespace}/${constraint.name}/versions`;
43
- const result = await (0, node_fetch_1.default)(url, {
44
- agent,
36
+ const result = await (0, undici_1.fetch)(url, {
37
+ dispatcher,
45
38
  headers: { "User-Agent": "OpenConstructs/cdktn-cli" },
46
39
  });
47
40
  if (!result.ok) {
@@ -74,4 +67,4 @@ async function getLatestVersion(constraint) {
74
67
  return latestVersion;
75
68
  }
76
69
  exports.getLatestVersion = getLatestVersion;
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0cnktYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9kZXBlbmRlbmNpZXMvcmVnaXN0cnktYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0JBQStCO0FBQy9CLG1DQUFtQztBQUNuQyw0REFBK0I7QUFDL0IseURBQW9EO0FBRXBELCtDQUFpQztBQUNqQyw0Q0FBd0M7QUFXeEMsS0FBSyxVQUFVLGFBQWEsQ0FDMUIsVUFBOEI7SUFFOUIsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUM7SUFDL0QsSUFBSSxLQUFLLENBQUM7SUFDVixJQUFJLEtBQUssRUFBRSxDQUFDO1FBQ1YsS0FBSyxHQUFHLElBQUksbUNBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBQ0QsTUFBTSxHQUFHLEdBQUcsOENBQThDLFVBQVUsQ0FBQyxTQUFTLElBQUksVUFBVSxDQUFDLElBQUksV0FBVyxDQUFDO0lBRTdHLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBQSxvQkFBSyxFQUFDLEdBQUcsRUFBRTtRQUM5QixLQUFLO1FBQ0wsT0FBTyxFQUFFLEVBQUUsWUFBWSxFQUFFLDBCQUEwQixFQUFFO0tBQ3RELENBQUMsQ0FBQztJQUNILElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDZixJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUM7WUFDMUIsTUFBTSxnQkFBTSxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsR0FBRyxhQUFhLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQzVFLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxNQUFNLElBQUksR0FBRyxDQUFDLE1BQU0sTUFBTSxDQUFDLElBQUksRUFBRSxDQUF1QixDQUFDO0lBQ3pELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztBQUN2QixDQUFDO0FBRUQ7Ozs7R0FJRztBQUNJLEtBQUssVUFBVSxnQkFBZ0IsQ0FDcEMsVUFBOEI7SUFFOUIsTUFBTSxRQUFRLEdBQUcsTUFBTSxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDakQsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsTUFBTSxhQUFhLEdBQUcsUUFBUTtTQUMzQixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7U0FDckIsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFO1FBQ3BCLElBQUksTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUMxQixPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUMsQ0FBQyxDQUFDO0lBRUwsT0FBTyxhQUFhLENBQUM7QUFDdkIsQ0FBQztBQWxCRCw0Q0FrQkMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0IGZldGNoIGZyb20gXCJub2RlLWZldGNoXCI7XG5pbXBvcnQgeyBIdHRwc1Byb3h5QWdlbnQgfSBmcm9tIFwiaHR0cHMtcHJveHktYWdlbnRcIjtcbmltcG9ydCB7IFByb3ZpZGVyQ29uc3RyYWludCB9IGZyb20gXCIuL2RlcGVuZGVuY3ktbWFuYWdlclwiO1xuaW1wb3J0ICogYXMgc2VtdmVyIGZyb20gXCJzZW12ZXJcIjtcbmltcG9ydCB7IEVycm9ycyB9IGZyb20gXCJAY2RrdG4vY29tbW9uc1wiO1xuXG50eXBlIFZlcnNpb25zUmV0dXJuVHlwZSA9IHtcbiAgaWQ6IHN0cmluZzsgLy8gZS5nLiBoYXNoaWNvcnAvYXdzXG4gIHZlcnNpb25zOiB7XG4gICAgdmVyc2lvbjogc3RyaW5nOyAvLyBlLmcuIFwiMC4xMi4wXCJcbiAgICBwcm90b2NvbHM6IHVua25vd247XG4gICAgcGxhdGZvcm1zOiB1bmtub3duO1xuICB9W107XG59O1xuXG5hc3luYyBmdW5jdGlvbiBmZXRjaFZlcnNpb25zKFxuICBjb25zdHJhaW50OiBQcm92aWRlckNvbnN0cmFpbnQsXG4pOiBQcm9taXNlPFZlcnNpb25zUmV0dXJuVHlwZVtcInZlcnNpb25zXCJdIHwgbnVsbD4ge1xuICBjb25zdCBwcm94eSA9IHByb2Nlc3MuZW52Lmh0dHBfcHJveHkgfHwgcHJvY2Vzcy5lbnYuSFRUUF9QUk9YWTtcbiAgbGV0IGFnZW50O1xuICBpZiAocHJveHkpIHtcbiAgICBhZ2VudCA9IG5ldyBIdHRwc1Byb3h5QWdlbnQocHJveHkpO1xuICB9XG4gIGNvbnN0IHVybCA9IGBodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby92MS9wcm92aWRlcnMvJHtjb25zdHJhaW50Lm5hbWVzcGFjZX0vJHtjb25zdHJhaW50Lm5hbWV9L3ZlcnNpb25zYDtcblxuICBjb25zdCByZXN1bHQgPSBhd2FpdCBmZXRjaCh1cmwsIHtcbiAgICBhZ2VudCxcbiAgICBoZWFkZXJzOiB7IFwiVXNlci1BZ2VudFwiOiBcIk9wZW5Db25zdHJ1Y3RzL2Nka3RuLWNsaVwiIH0sXG4gIH0pO1xuICBpZiAoIXJlc3VsdC5vaykge1xuICAgIGlmIChyZXN1bHQuc3RhdHVzICE9PSA0MDQpIHtcbiAgICAgIHRocm93IEVycm9ycy5FeHRlcm5hbChgRmFpbGVkIHRvIGZldGNoICR7dXJsfS4gU3RhdHVzOiAke3Jlc3VsdC5zdGF0dXN9YCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBqc29uID0gKGF3YWl0IHJlc3VsdC5qc29uKCkpIGFzIFZlcnNpb25zUmV0dXJuVHlwZTtcbiAgcmV0dXJuIGpzb24udmVyc2lvbnM7XG59XG5cbi8qKlxuICogcmV0dXJucyB0aGUgbGF0ZXN0IGF2YWlsYWJsZSB2ZXJzaW9uIGZvciB0aGUgcHJvdmlkZXIgaW4gdGhlIGNvbnN0cmFpbnRcbiAqIHRoZSB2ZXJzaW9uIG9mIHRoZSBjb25zdHJhaW50IGlzIGlnbm9yZWRcbiAqIHJldHVybnMgbnVsbCwgaWYgdGhlIHByb3ZpZGVyIGRvZXMgbm90IGV4aXN0XG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRMYXRlc3RWZXJzaW9uKFxuICBjb25zdHJhaW50OiBQcm92aWRlckNvbnN0cmFpbnQsXG4pOiBQcm9taXNlPHN0cmluZyB8IG51bGw+IHtcbiAgY29uc3QgdmVyc2lvbnMgPSBhd2FpdCBmZXRjaFZlcnNpb25zKGNvbnN0cmFpbnQpO1xuICBpZiAoIXZlcnNpb25zKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBsYXRlc3RWZXJzaW9uID0gdmVyc2lvbnNcbiAgICAubWFwKCh2KSA9PiB2LnZlcnNpb24pXG4gICAgLnJlZHVjZSgoYWNjLCBjdXJyKSA9PiB7XG4gICAgICBpZiAoc2VtdmVyLmd0ZShhY2MsIGN1cnIpKSB7XG4gICAgICAgIHJldHVybiBhY2M7XG4gICAgICB9XG4gICAgICByZXR1cm4gY3VycjtcbiAgICB9KTtcblxuICByZXR1cm4gbGF0ZXN0VmVyc2lvbjtcbn1cbiJdfQ==
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0cnktYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9kZXBlbmRlbmNpZXMvcmVnaXN0cnktYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0JBQStCO0FBQy9CLG1DQUFtQztBQUNuQyxtQ0FBMkM7QUFFM0MsK0NBQWlDO0FBQ2pDLDRDQUF3QztBQVd4QyxLQUFLLFVBQVUsYUFBYSxDQUMxQixVQUE4QjtJQUU5QixNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQztJQUMvRCxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksbUJBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQzdELE1BQU0sR0FBRyxHQUFHLDhDQUE4QyxVQUFVLENBQUMsU0FBUyxJQUFJLFVBQVUsQ0FBQyxJQUFJLFdBQVcsQ0FBQztJQUU3RyxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUEsY0FBSyxFQUFDLEdBQUcsRUFBRTtRQUM5QixVQUFVO1FBQ1YsT0FBTyxFQUFFLEVBQUUsWUFBWSxFQUFFLDBCQUEwQixFQUFFO0tBQ3RELENBQUMsQ0FBQztJQUNILElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDZixJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUM7WUFDMUIsTUFBTSxnQkFBTSxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsR0FBRyxhQUFhLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQzVFLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxNQUFNLElBQUksR0FBRyxDQUFDLE1BQU0sTUFBTSxDQUFDLElBQUksRUFBRSxDQUF1QixDQUFDO0lBQ3pELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztBQUN2QixDQUFDO0FBRUQ7Ozs7R0FJRztBQUNJLEtBQUssVUFBVSxnQkFBZ0IsQ0FDcEMsVUFBOEI7SUFFOUIsTUFBTSxRQUFRLEdBQUcsTUFBTSxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDakQsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsTUFBTSxhQUFhLEdBQUcsUUFBUTtTQUMzQixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7U0FDckIsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFO1FBQ3BCLElBQUksTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUMxQixPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUMsQ0FBQyxDQUFDO0lBRUwsT0FBTyxhQUFhLENBQUM7QUFDdkIsQ0FBQztBQWxCRCw0Q0FrQkMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0IHsgZmV0Y2gsIFByb3h5QWdlbnQgfSBmcm9tIFwidW5kaWNpXCI7XG5pbXBvcnQgeyBQcm92aWRlckNvbnN0cmFpbnQgfSBmcm9tIFwiLi9kZXBlbmRlbmN5LW1hbmFnZXJcIjtcbmltcG9ydCAqIGFzIHNlbXZlciBmcm9tIFwic2VtdmVyXCI7XG5pbXBvcnQgeyBFcnJvcnMgfSBmcm9tIFwiQGNka3RuL2NvbW1vbnNcIjtcblxudHlwZSBWZXJzaW9uc1JldHVyblR5cGUgPSB7XG4gIGlkOiBzdHJpbmc7IC8vIGUuZy4gaGFzaGljb3JwL2F3c1xuICB2ZXJzaW9uczoge1xuICAgIHZlcnNpb246IHN0cmluZzsgLy8gZS5nLiBcIjAuMTIuMFwiXG4gICAgcHJvdG9jb2xzOiB1bmtub3duO1xuICAgIHBsYXRmb3JtczogdW5rbm93bjtcbiAgfVtdO1xufTtcblxuYXN5bmMgZnVuY3Rpb24gZmV0Y2hWZXJzaW9ucyhcbiAgY29uc3RyYWludDogUHJvdmlkZXJDb25zdHJhaW50LFxuKTogUHJvbWlzZTxWZXJzaW9uc1JldHVyblR5cGVbXCJ2ZXJzaW9uc1wiXSB8IG51bGw+IHtcbiAgY29uc3QgcHJveHkgPSBwcm9jZXNzLmVudi5odHRwX3Byb3h5IHx8IHByb2Nlc3MuZW52LkhUVFBfUFJPWFk7XG4gIGNvbnN0IGRpc3BhdGNoZXIgPSBwcm94eSA/IG5ldyBQcm94eUFnZW50KHByb3h5KSA6IHVuZGVmaW5lZDtcbiAgY29uc3QgdXJsID0gYGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3YxL3Byb3ZpZGVycy8ke2NvbnN0cmFpbnQubmFtZXNwYWNlfS8ke2NvbnN0cmFpbnQubmFtZX0vdmVyc2lvbnNgO1xuXG4gIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGZldGNoKHVybCwge1xuICAgIGRpc3BhdGNoZXIsXG4gICAgaGVhZGVyczogeyBcIlVzZXItQWdlbnRcIjogXCJPcGVuQ29uc3RydWN0cy9jZGt0bi1jbGlcIiB9LFxuICB9KTtcbiAgaWYgKCFyZXN1bHQub2spIHtcbiAgICBpZiAocmVzdWx0LnN0YXR1cyAhPT0gNDA0KSB7XG4gICAgICB0aHJvdyBFcnJvcnMuRXh0ZXJuYWwoYEZhaWxlZCB0byBmZXRjaCAke3VybH0uIFN0YXR1czogJHtyZXN1bHQuc3RhdHVzfWApO1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3QganNvbiA9IChhd2FpdCByZXN1bHQuanNvbigpKSBhcyBWZXJzaW9uc1JldHVyblR5cGU7XG4gIHJldHVybiBqc29uLnZlcnNpb25zO1xufVxuXG4vKipcbiAqIHJldHVybnMgdGhlIGxhdGVzdCBhdmFpbGFibGUgdmVyc2lvbiBmb3IgdGhlIHByb3ZpZGVyIGluIHRoZSBjb25zdHJhaW50XG4gKiB0aGUgdmVyc2lvbiBvZiB0aGUgY29uc3RyYWludCBpcyBpZ25vcmVkXG4gKiByZXR1cm5zIG51bGwsIGlmIHRoZSBwcm92aWRlciBkb2VzIG5vdCBleGlzdFxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0TGF0ZXN0VmVyc2lvbihcbiAgY29uc3RyYWludDogUHJvdmlkZXJDb25zdHJhaW50LFxuKTogUHJvbWlzZTxzdHJpbmcgfCBudWxsPiB7XG4gIGNvbnN0IHZlcnNpb25zID0gYXdhaXQgZmV0Y2hWZXJzaW9ucyhjb25zdHJhaW50KTtcbiAgaWYgKCF2ZXJzaW9ucykge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3QgbGF0ZXN0VmVyc2lvbiA9IHZlcnNpb25zXG4gICAgLm1hcCgodikgPT4gdi52ZXJzaW9uKVxuICAgIC5yZWR1Y2UoKGFjYywgY3VycikgPT4ge1xuICAgICAgaWYgKHNlbXZlci5ndGUoYWNjLCBjdXJyKSkge1xuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGN1cnI7XG4gICAgfSk7XG5cbiAgcmV0dXJuIGxhdGVzdFZlcnNpb247XG59XG4iXX0=
@@ -1 +1 @@
1
- {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../src/lib/get.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmB,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAEL,yBAAyB,EACzB,2BAA2B,EAC3B,6BAA6B,EAC9B,MAAM,gBAAgB,CAAC;AAMxB,oBAAY,SAAS;IACnB,QAAQ,aAAa;IACrB,WAAW,qDAAqD;IAChE,IAAI,SAAS;IACb,KAAK,UAAU;CAChB;AAED,KAAK,0BAA0B,GAC3B,yBAAyB,GACzB,2BAA2B,GAC3B,6BAA6B,CAAC;AAElC,UAAU,SAAS;IAEjB,WAAW,EAAE,0BAA0B,EAAE,CAAC;IAE1C,qBAAqB,CAAC,EAAE,0BAA0B,EAAE,CAAC;IACrD,iBAAiB,EAAE,UAAU,CAAC;IAC9B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,SAAS,KAAK,IAAI,CAAC;IACxC,eAAe,CAAC,EAAE,CAAC,SAAS,EAAE;QAC5B,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KACtC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACrB;AAED,wBAAsB,GAAG,CAAC,EACxB,iBAAiB,EACjB,WAAW,EACX,qBAAqB,EACrB,cAAc,EACd,uBAAuB,EACvB,QAA0B,EAC1B,eAAuC,GACxC,EAAE,SAAS,iBAsCX;AAED,wBAAsB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,UAAO,iBAkB1D"}
1
+ {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../src/lib/get.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmB,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAEL,yBAAyB,EACzB,2BAA2B,EAC3B,6BAA6B,EAC9B,MAAM,gBAAgB,CAAC;AAMxB,oBAAY,SAAS;IACnB,QAAQ,aAAa;IACrB,WAAW,qDAAqD;IAChE,IAAI,SAAS;IACb,KAAK,UAAU;CAChB;AAED,KAAK,0BAA0B,GAC3B,yBAAyB,GACzB,2BAA2B,GAC3B,6BAA6B,CAAC;AAElC,UAAU,SAAS;IAEjB,WAAW,EAAE,0BAA0B,EAAE,CAAC;IAE1C,qBAAqB,CAAC,EAAE,0BAA0B,EAAE,CAAC;IACrD,iBAAiB,EAAE,UAAU,CAAC;IAC9B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,SAAS,KAAK,IAAI,CAAC;IACxC,eAAe,CAAC,EAAE,CAAC,SAAS,EAAE;QAC5B,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KACtC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACrB;AAED,wBAAsB,GAAG,CAAC,EACxB,iBAAiB,EACjB,WAAW,EACX,qBAAqB,EACrB,cAAc,EACd,uBAAuB,EACvB,QAA0B,EAC1B,eAAuC,GACxC,EAAE,SAAS,iBAsCX;AAED,wBAAsB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,UAAO,iBAmB1D"}
package/build/lib/get.js CHANGED
@@ -83,9 +83,10 @@ async function runGetInDir(dir, clean = true) {
83
83
  targetLanguage: config.language,
84
84
  jsiiParallelism: 1,
85
85
  languageOptions: config.languageOptions,
86
+ targetVersions: config.targetVersions,
86
87
  },
87
88
  cleanDirectory: clean,
88
89
  });
89
90
  }
90
91
  exports.runGetInDir = runGetInDir;
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9nZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQkFBK0I7QUFDL0IsbUNBQW1DO0FBQ25DLGtFQUF3RTtBQUN4RSw0Q0FLd0I7QUFDeEIsNkNBQStCO0FBQy9CLDRDQUF3QztBQUN4QywyQ0FBNkI7QUFDN0IsaURBQTZDO0FBRTdDLElBQVksU0FLWDtBQUxELFdBQVksU0FBUztJQUNuQixrQ0FBcUIsQ0FBQTtJQUNyQiw2RUFBZ0UsQ0FBQTtJQUNoRSwwQkFBYSxDQUFBO0lBQ2IsNEJBQWUsQ0FBQTtBQUNqQixDQUFDLEVBTFcsU0FBUyx5QkFBVCxTQUFTLFFBS3BCO0FBc0JNLEtBQUssVUFBVSxHQUFHLENBQUMsRUFDeEIsaUJBQWlCLEVBQ2pCLFdBQVcsRUFDWCxxQkFBcUIsRUFDckIsY0FBYyxFQUNkLHVCQUF1QixFQUN2QixRQUFRLEdBQUcsR0FBRyxFQUFFLENBQUMsU0FBUyxFQUMxQixlQUFlLEdBQUcsS0FBSyxJQUFJLEVBQUUsQ0FBQyxTQUFTLEdBQzdCO0lBQ1YsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsNEJBQTRCLGlCQUFpQixDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUM7SUFDOUUsTUFBTSxlQUFlLEdBQUcsSUFBSSxvQ0FBZSxDQUN6QyxpQkFBaUIsRUFDakIsdUJBQXVCLEVBQ3ZCLGVBQWUsQ0FDaEIsQ0FBQztJQUVGLElBQUksY0FBYyxFQUFFLENBQUM7UUFDbkIsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3JELENBQUM7U0FBTSxDQUFDO1FBQ04sb0RBQW9EO1FBQ3BELE1BQU0sZUFBZSxDQUFDLCtCQUErQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ25FLElBQUksaUJBQWlCLENBQUMsY0FBYyxLQUFLLGtCQUFRLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDN0QscUJBQXFCO1lBQ3JCLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FDYixJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLGVBQWUsRUFBRSxTQUFTLENBQUMsQ0FDM0QsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRUQsaUNBQWlDO0lBQ2pDLE1BQU0sVUFBVSxHQUNkLHFCQUFxQjtRQUNyQixDQUFDLE1BQU0sZUFBZSxDQUFDLHNCQUFzQixDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFFOUQsUUFBUSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNoQyxnQkFBTSxDQUFDLEtBQUssQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO0lBQzdDLE1BQU0sZUFBZSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDeEQsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQztJQUU1QyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsZUFBZSxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzlELFFBQVEsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUIsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsc0NBQXNDLENBQUMsQ0FBQztJQUN2RCxDQUFDO1NBQU0sQ0FBQztRQUNOLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekIsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQztJQUM5QyxDQUFDO0FBQ0gsQ0FBQztBQTlDRCxrQkE4Q0M7QUFFTSxLQUFLLFVBQVUsV0FBVyxDQUFDLEdBQVcsRUFBRSxLQUFLLEdBQUcsSUFBSTtJQUN6RCxNQUFNLE1BQU0sR0FBRywwQkFBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUVyQyxNQUFNLFdBQVcsR0FBRztRQUNsQixHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUkscUNBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0UsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLG1DQUF5QixDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ3hFLENBQUM7SUFFRixNQUFNLEdBQUcsQ0FBQztRQUNSLFdBQVc7UUFDWCxpQkFBaUIsRUFBRTtZQUNqQixlQUFlLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLGVBQWUsQ0FBQztZQUMxRCxjQUFjLEVBQUUsTUFBTSxDQUFDLFFBQVE7WUFDL0IsZUFBZSxFQUFFLENBQUM7WUFDbEIsZUFBZSxFQUFFLE1BQU0sQ0FBQyxlQUFlO1NBQ3hDO1FBQ0QsY0FBYyxFQUFFLEtBQUs7S0FDdEIsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQWxCRCxrQ0FrQkMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0IHsgQ29uc3RydWN0c01ha2VyLCBHZXRPcHRpb25zIH0gZnJvbSBcIkBjZGt0bi9wcm92aWRlci1nZW5lcmF0b3JcIjtcbmltcG9ydCB7XG4gIExhbmd1YWdlLFxuICBUZXJyYWZvcm1Nb2R1bGVDb25zdHJhaW50LFxuICBUZXJyYWZvcm1Qcm92aWRlckNvbnN0cmFpbnQsXG4gIFRlcnJhZm9ybURlcGVuZGVuY3lDb25zdHJhaW50LFxufSBmcm9tIFwiQGNka3RuL2NvbW1vbnNcIjtcbmltcG9ydCAqIGFzIGZzIGZyb20gXCJmcy1leHRyYVwiO1xuaW1wb3J0IHsgbG9nZ2VyIH0gZnJvbSBcIkBjZGt0bi9jb21tb25zXCI7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgeyBDZGt0ZkNvbmZpZyB9IGZyb20gXCIuL2Nka3RmLWNvbmZpZ1wiO1xuXG5leHBvcnQgZW51bSBHZXRTdGF0dXMge1xuICBTVEFSVElORyA9IFwic3RhcnRpbmdcIixcbiAgRE9XTkxPQURJTkcgPSBcImRvd25sb2FkaW5nIGFuZCBnZW5lcmF0aW5nIG1vZHVsZXMgYW5kIHByb3ZpZGVyc1wiLFxuICBET05FID0gXCJkb25lXCIsXG4gIEVSUk9SID0gXCJlcnJvclwiLFxufVxuXG50eXBlIFBhcnNlZERlcGVuZGVuY3lDb25zdHJhaW50ID1cbiAgfCBUZXJyYWZvcm1Nb2R1bGVDb25zdHJhaW50XG4gIHwgVGVycmFmb3JtUHJvdmlkZXJDb25zdHJhaW50XG4gIHwgVGVycmFmb3JtRGVwZW5kZW5jeUNvbnN0cmFpbnQ7XG5cbmludGVyZmFjZSBHZXRDb25maWcge1xuICAvLyBBbGwgZXhpc3RpbmcgY29uc3RyYWludHMgKHRvIGJlIGFibGUgdG8gcmVtb3ZlIG5vIGxvbmdlciB1c2VkIG9uZXMpXG4gIGNvbnN0cmFpbnRzOiBQYXJzZWREZXBlbmRlbmN5Q29uc3RyYWludFtdO1xuICAvLyBUaGUgY29uc3RyYWludHMgdGhhdCBzaG91bGQgYmUgZ2VuZXJhdGVkXG4gIGNvbnN0cmFpbnRzVG9HZW5lcmF0ZT86IFBhcnNlZERlcGVuZGVuY3lDb25zdHJhaW50W107XG4gIGNvbnN0cnVjdHNPcHRpb25zOiBHZXRPcHRpb25zO1xuICBjbGVhbkRpcmVjdG9yeT86IGJvb2xlYW47XG4gIHByb3ZpZGVyU2NoZW1hQ2FjaGVQYXRoPzogc3RyaW5nO1xuICBvblVwZGF0ZT86IChwYXlsb2FkOiBHZXRTdGF0dXMpID0+IHZvaWQ7XG4gIHJlcG9ydFRlbGVtZXRyeT86ICh0ZWxlbWV0cnk6IHtcbiAgICB0YXJnZXRMYW5ndWFnZTogc3RyaW5nO1xuICAgIHRyYWNraW5nUGF5bG9hZDogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgfSkgPT4gUHJvbWlzZTx2b2lkPjtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldCh7XG4gIGNvbnN0cnVjdHNPcHRpb25zLFxuICBjb25zdHJhaW50cyxcbiAgY29uc3RyYWludHNUb0dlbmVyYXRlLFxuICBjbGVhbkRpcmVjdG9yeSxcbiAgcHJvdmlkZXJTY2hlbWFDYWNoZVBhdGgsXG4gIG9uVXBkYXRlID0gKCkgPT4gdW5kZWZpbmVkLFxuICByZXBvcnRUZWxlbWV0cnkgPSBhc3luYyAoKSA9PiB1bmRlZmluZWQsXG59OiBHZXRDb25maWcpIHtcbiAgbG9nZ2VyLmRlYnVnKGBTdGFydGluZyBnZXQgd2l0aCBvdXRkaXIgJHtjb25zdHJ1Y3RzT3B0aW9ucy5jb2RlTWFrZXJPdXRwdXR9YCk7XG4gIGNvbnN0IGNvbnN0cnVjdHNNYWtlciA9IG5ldyBDb25zdHJ1Y3RzTWFrZXIoXG4gICAgY29uc3RydWN0c09wdGlvbnMsXG4gICAgcHJvdmlkZXJTY2hlbWFDYWNoZVBhdGgsXG4gICAgcmVwb3J0VGVsZW1ldHJ5LFxuICApO1xuXG4gIGlmIChjbGVhbkRpcmVjdG9yeSkge1xuICAgIGF3YWl0IGZzLnJlbW92ZShjb25zdHJ1Y3RzT3B0aW9ucy5jb2RlTWFrZXJPdXRwdXQpO1xuICB9IGVsc2Uge1xuICAgIC8vIFJlbW92ZSBhbGwgcHJvdmlkZXJzIHRoYXQgYXJlIG5vdCBpbiB0aGUgbmV3IGxpc3RcbiAgICBhd2FpdCBjb25zdHJ1Y3RzTWFrZXIucmVtb3ZlRm9sZGVyc1RoYXRTaG91bGROb3RFeGlzdChjb25zdHJhaW50cyk7XG4gICAgaWYgKGNvbnN0cnVjdHNPcHRpb25zLnRhcmdldExhbmd1YWdlID09PSBMYW5ndWFnZS5UWVBFU0NSSVBUKSB7XG4gICAgICAvLyBSZW1vdmUgYWxsIG1vZHVsZXNcbiAgICAgIGF3YWl0IGZzLnJlbW92ZShcbiAgICAgICAgcGF0aC5yZXNvbHZlKGNvbnN0cnVjdHNPcHRpb25zLmNvZGVNYWtlck91dHB1dCwgXCJtb2R1bGVzXCIpLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvLyBGaWx0ZXIgY29uc3RyYWludHMgdG8gZ2VuZXJhdGVcbiAgY29uc3QgdG9HZW5lcmF0ZSA9XG4gICAgY29uc3RyYWludHNUb0dlbmVyYXRlIHx8XG4gICAgKGF3YWl0IGNvbnN0cnVjdHNNYWtlci5maWx0ZXJBbHJlYWR5R2VuZXJhdGVkKGNvbnN0cmFpbnRzKSk7XG5cbiAgb25VcGRhdGUoR2V0U3RhdHVzLkRPV05MT0FESU5HKTtcbiAgbG9nZ2VyLmRlYnVnKFwiR2VuZXJhdGluZyBwcm92aWRlciBiaW5kaW5nc1wiKTtcbiAgYXdhaXQgY29uc3RydWN0c01ha2VyLmdlbmVyYXRlKGNvbnN0cmFpbnRzLCB0b0dlbmVyYXRlKTtcbiAgbG9nZ2VyLmRlYnVnKFwiUHJvdmlkZXIgYmluZGluZ3MgZ2VuZXJhdGVkXCIpO1xuXG4gIGlmICghKGF3YWl0IGZzLnBhdGhFeGlzdHMoY29uc3RydWN0c09wdGlvbnMuY29kZU1ha2VyT3V0cHV0KSkpIHtcbiAgICBvblVwZGF0ZShHZXRTdGF0dXMuRVJST1IpO1xuICAgIGxvZ2dlci5kZWJ1ZyhcIkZhaWxlZCB0byBnZW5lcmF0ZSBwcm92aWRlciBiaW5kaW5nc1wiKTtcbiAgfSBlbHNlIHtcbiAgICBvblVwZGF0ZShHZXRTdGF0dXMuRE9ORSk7XG4gICAgbG9nZ2VyLmRlYnVnKFwiUHJvdmlkZXIgYmluZGluZ3MgZ2VuZXJhdGVkXCIpO1xuICB9XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBydW5HZXRJbkRpcihkaXI6IHN0cmluZywgY2xlYW4gPSB0cnVlKSB7XG4gIGNvbnN0IGNvbmZpZyA9IENka3RmQ29uZmlnLnJlYWQoZGlyKTtcblxuICBjb25zdCBjb25zdHJhaW50cyA9IFtcbiAgICAuLi5jb25maWcudGVycmFmb3JtUHJvdmlkZXJzLm1hcCgoYykgPT4gbmV3IFRlcnJhZm9ybVByb3ZpZGVyQ29uc3RyYWludChjKSksXG4gICAgLi4uY29uZmlnLnRlcnJhZm9ybU1vZHVsZXMubWFwKChjKSA9PiBuZXcgVGVycmFmb3JtTW9kdWxlQ29uc3RyYWludChjKSksXG4gIF07XG5cbiAgYXdhaXQgZ2V0KHtcbiAgICBjb25zdHJhaW50cyxcbiAgICBjb25zdHJ1Y3RzT3B0aW9uczoge1xuICAgICAgY29kZU1ha2VyT3V0cHV0OiBwYXRoLnJlc29sdmUoZGlyLCBjb25maWcuY29kZU1ha2VyT3V0cHV0KSxcbiAgICAgIHRhcmdldExhbmd1YWdlOiBjb25maWcubGFuZ3VhZ2UsXG4gICAgICBqc2lpUGFyYWxsZWxpc206IDEsXG4gICAgICBsYW5ndWFnZU9wdGlvbnM6IGNvbmZpZy5sYW5ndWFnZU9wdGlvbnMsXG4gICAgfSxcbiAgICBjbGVhbkRpcmVjdG9yeTogY2xlYW4sXG4gIH0pO1xufVxuIl19
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9nZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQkFBK0I7QUFDL0IsbUNBQW1DO0FBQ25DLGtFQUF3RTtBQUN4RSw0Q0FLd0I7QUFDeEIsNkNBQStCO0FBQy9CLDRDQUF3QztBQUN4QywyQ0FBNkI7QUFDN0IsaURBQTZDO0FBRTdDLElBQVksU0FLWDtBQUxELFdBQVksU0FBUztJQUNuQixrQ0FBcUIsQ0FBQTtJQUNyQiw2RUFBZ0UsQ0FBQTtJQUNoRSwwQkFBYSxDQUFBO0lBQ2IsNEJBQWUsQ0FBQTtBQUNqQixDQUFDLEVBTFcsU0FBUyx5QkFBVCxTQUFTLFFBS3BCO0FBc0JNLEtBQUssVUFBVSxHQUFHLENBQUMsRUFDeEIsaUJBQWlCLEVBQ2pCLFdBQVcsRUFDWCxxQkFBcUIsRUFDckIsY0FBYyxFQUNkLHVCQUF1QixFQUN2QixRQUFRLEdBQUcsR0FBRyxFQUFFLENBQUMsU0FBUyxFQUMxQixlQUFlLEdBQUcsS0FBSyxJQUFJLEVBQUUsQ0FBQyxTQUFTLEdBQzdCO0lBQ1YsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsNEJBQTRCLGlCQUFpQixDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUM7SUFDOUUsTUFBTSxlQUFlLEdBQUcsSUFBSSxvQ0FBZSxDQUN6QyxpQkFBaUIsRUFDakIsdUJBQXVCLEVBQ3ZCLGVBQWUsQ0FDaEIsQ0FBQztJQUVGLElBQUksY0FBYyxFQUFFLENBQUM7UUFDbkIsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3JELENBQUM7U0FBTSxDQUFDO1FBQ04sb0RBQW9EO1FBQ3BELE1BQU0sZUFBZSxDQUFDLCtCQUErQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ25FLElBQUksaUJBQWlCLENBQUMsY0FBYyxLQUFLLGtCQUFRLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDN0QscUJBQXFCO1lBQ3JCLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FDYixJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLGVBQWUsRUFBRSxTQUFTLENBQUMsQ0FDM0QsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRUQsaUNBQWlDO0lBQ2pDLE1BQU0sVUFBVSxHQUNkLHFCQUFxQjtRQUNyQixDQUFDLE1BQU0sZUFBZSxDQUFDLHNCQUFzQixDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFFOUQsUUFBUSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNoQyxnQkFBTSxDQUFDLEtBQUssQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO0lBQzdDLE1BQU0sZUFBZSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDeEQsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQztJQUU1QyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsZUFBZSxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzlELFFBQVEsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUIsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsc0NBQXNDLENBQUMsQ0FBQztJQUN2RCxDQUFDO1NBQU0sQ0FBQztRQUNOLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekIsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQztJQUM5QyxDQUFDO0FBQ0gsQ0FBQztBQTlDRCxrQkE4Q0M7QUFFTSxLQUFLLFVBQVUsV0FBVyxDQUFDLEdBQVcsRUFBRSxLQUFLLEdBQUcsSUFBSTtJQUN6RCxNQUFNLE1BQU0sR0FBRywwQkFBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUVyQyxNQUFNLFdBQVcsR0FBRztRQUNsQixHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUkscUNBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0UsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLG1DQUF5QixDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ3hFLENBQUM7SUFFRixNQUFNLEdBQUcsQ0FBQztRQUNSLFdBQVc7UUFDWCxpQkFBaUIsRUFBRTtZQUNqQixlQUFlLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLGVBQWUsQ0FBQztZQUMxRCxjQUFjLEVBQUUsTUFBTSxDQUFDLFFBQVE7WUFDL0IsZUFBZSxFQUFFLENBQUM7WUFDbEIsZUFBZSxFQUFFLE1BQU0sQ0FBQyxlQUFlO1lBQ3ZDLGNBQWMsRUFBRSxNQUFNLENBQUMsY0FBYztTQUN0QztRQUNELGNBQWMsRUFBRSxLQUFLO0tBQ3RCLENBQUMsQ0FBQztBQUNMLENBQUM7QUFuQkQsa0NBbUJDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbmltcG9ydCB7IENvbnN0cnVjdHNNYWtlciwgR2V0T3B0aW9ucyB9IGZyb20gXCJAY2RrdG4vcHJvdmlkZXItZ2VuZXJhdG9yXCI7XG5pbXBvcnQge1xuICBMYW5ndWFnZSxcbiAgVGVycmFmb3JtTW9kdWxlQ29uc3RyYWludCxcbiAgVGVycmFmb3JtUHJvdmlkZXJDb25zdHJhaW50LFxuICBUZXJyYWZvcm1EZXBlbmRlbmN5Q29uc3RyYWludCxcbn0gZnJvbSBcIkBjZGt0bi9jb21tb25zXCI7XG5pbXBvcnQgKiBhcyBmcyBmcm9tIFwiZnMtZXh0cmFcIjtcbmltcG9ydCB7IGxvZ2dlciB9IGZyb20gXCJAY2RrdG4vY29tbW9uc1wiO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHsgQ2RrdGZDb25maWcgfSBmcm9tIFwiLi9jZGt0Zi1jb25maWdcIjtcblxuZXhwb3J0IGVudW0gR2V0U3RhdHVzIHtcbiAgU1RBUlRJTkcgPSBcInN0YXJ0aW5nXCIsXG4gIERPV05MT0FESU5HID0gXCJkb3dubG9hZGluZyBhbmQgZ2VuZXJhdGluZyBtb2R1bGVzIGFuZCBwcm92aWRlcnNcIixcbiAgRE9ORSA9IFwiZG9uZVwiLFxuICBFUlJPUiA9IFwiZXJyb3JcIixcbn1cblxudHlwZSBQYXJzZWREZXBlbmRlbmN5Q29uc3RyYWludCA9XG4gIHwgVGVycmFmb3JtTW9kdWxlQ29uc3RyYWludFxuICB8IFRlcnJhZm9ybVByb3ZpZGVyQ29uc3RyYWludFxuICB8IFRlcnJhZm9ybURlcGVuZGVuY3lDb25zdHJhaW50O1xuXG5pbnRlcmZhY2UgR2V0Q29uZmlnIHtcbiAgLy8gQWxsIGV4aXN0aW5nIGNvbnN0cmFpbnRzICh0byBiZSBhYmxlIHRvIHJlbW92ZSBubyBsb25nZXIgdXNlZCBvbmVzKVxuICBjb25zdHJhaW50czogUGFyc2VkRGVwZW5kZW5jeUNvbnN0cmFpbnRbXTtcbiAgLy8gVGhlIGNvbnN0cmFpbnRzIHRoYXQgc2hvdWxkIGJlIGdlbmVyYXRlZFxuICBjb25zdHJhaW50c1RvR2VuZXJhdGU/OiBQYXJzZWREZXBlbmRlbmN5Q29uc3RyYWludFtdO1xuICBjb25zdHJ1Y3RzT3B0aW9uczogR2V0T3B0aW9ucztcbiAgY2xlYW5EaXJlY3Rvcnk/OiBib29sZWFuO1xuICBwcm92aWRlclNjaGVtYUNhY2hlUGF0aD86IHN0cmluZztcbiAgb25VcGRhdGU/OiAocGF5bG9hZDogR2V0U3RhdHVzKSA9PiB2b2lkO1xuICByZXBvcnRUZWxlbWV0cnk/OiAodGVsZW1ldHJ5OiB7XG4gICAgdGFyZ2V0TGFuZ3VhZ2U6IHN0cmluZztcbiAgICB0cmFja2luZ1BheWxvYWQ6IFJlY29yZDxzdHJpbmcsIGFueT47XG4gIH0pID0+IFByb21pc2U8dm9pZD47XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXQoe1xuICBjb25zdHJ1Y3RzT3B0aW9ucyxcbiAgY29uc3RyYWludHMsXG4gIGNvbnN0cmFpbnRzVG9HZW5lcmF0ZSxcbiAgY2xlYW5EaXJlY3RvcnksXG4gIHByb3ZpZGVyU2NoZW1hQ2FjaGVQYXRoLFxuICBvblVwZGF0ZSA9ICgpID0+IHVuZGVmaW5lZCxcbiAgcmVwb3J0VGVsZW1ldHJ5ID0gYXN5bmMgKCkgPT4gdW5kZWZpbmVkLFxufTogR2V0Q29uZmlnKSB7XG4gIGxvZ2dlci5kZWJ1ZyhgU3RhcnRpbmcgZ2V0IHdpdGggb3V0ZGlyICR7Y29uc3RydWN0c09wdGlvbnMuY29kZU1ha2VyT3V0cHV0fWApO1xuICBjb25zdCBjb25zdHJ1Y3RzTWFrZXIgPSBuZXcgQ29uc3RydWN0c01ha2VyKFxuICAgIGNvbnN0cnVjdHNPcHRpb25zLFxuICAgIHByb3ZpZGVyU2NoZW1hQ2FjaGVQYXRoLFxuICAgIHJlcG9ydFRlbGVtZXRyeSxcbiAgKTtcblxuICBpZiAoY2xlYW5EaXJlY3RvcnkpIHtcbiAgICBhd2FpdCBmcy5yZW1vdmUoY29uc3RydWN0c09wdGlvbnMuY29kZU1ha2VyT3V0cHV0KTtcbiAgfSBlbHNlIHtcbiAgICAvLyBSZW1vdmUgYWxsIHByb3ZpZGVycyB0aGF0IGFyZSBub3QgaW4gdGhlIG5ldyBsaXN0XG4gICAgYXdhaXQgY29uc3RydWN0c01ha2VyLnJlbW92ZUZvbGRlcnNUaGF0U2hvdWxkTm90RXhpc3QoY29uc3RyYWludHMpO1xuICAgIGlmIChjb25zdHJ1Y3RzT3B0aW9ucy50YXJnZXRMYW5ndWFnZSA9PT0gTGFuZ3VhZ2UuVFlQRVNDUklQVCkge1xuICAgICAgLy8gUmVtb3ZlIGFsbCBtb2R1bGVzXG4gICAgICBhd2FpdCBmcy5yZW1vdmUoXG4gICAgICAgIHBhdGgucmVzb2x2ZShjb25zdHJ1Y3RzT3B0aW9ucy5jb2RlTWFrZXJPdXRwdXQsIFwibW9kdWxlc1wiKSxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLy8gRmlsdGVyIGNvbnN0cmFpbnRzIHRvIGdlbmVyYXRlXG4gIGNvbnN0IHRvR2VuZXJhdGUgPVxuICAgIGNvbnN0cmFpbnRzVG9HZW5lcmF0ZSB8fFxuICAgIChhd2FpdCBjb25zdHJ1Y3RzTWFrZXIuZmlsdGVyQWxyZWFkeUdlbmVyYXRlZChjb25zdHJhaW50cykpO1xuXG4gIG9uVXBkYXRlKEdldFN0YXR1cy5ET1dOTE9BRElORyk7XG4gIGxvZ2dlci5kZWJ1ZyhcIkdlbmVyYXRpbmcgcHJvdmlkZXIgYmluZGluZ3NcIik7XG4gIGF3YWl0IGNvbnN0cnVjdHNNYWtlci5nZW5lcmF0ZShjb25zdHJhaW50cywgdG9HZW5lcmF0ZSk7XG4gIGxvZ2dlci5kZWJ1ZyhcIlByb3ZpZGVyIGJpbmRpbmdzIGdlbmVyYXRlZFwiKTtcblxuICBpZiAoIShhd2FpdCBmcy5wYXRoRXhpc3RzKGNvbnN0cnVjdHNPcHRpb25zLmNvZGVNYWtlck91dHB1dCkpKSB7XG4gICAgb25VcGRhdGUoR2V0U3RhdHVzLkVSUk9SKTtcbiAgICBsb2dnZXIuZGVidWcoXCJGYWlsZWQgdG8gZ2VuZXJhdGUgcHJvdmlkZXIgYmluZGluZ3NcIik7XG4gIH0gZWxzZSB7XG4gICAgb25VcGRhdGUoR2V0U3RhdHVzLkRPTkUpO1xuICAgIGxvZ2dlci5kZWJ1ZyhcIlByb3ZpZGVyIGJpbmRpbmdzIGdlbmVyYXRlZFwiKTtcbiAgfVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcnVuR2V0SW5EaXIoZGlyOiBzdHJpbmcsIGNsZWFuID0gdHJ1ZSkge1xuICBjb25zdCBjb25maWcgPSBDZGt0ZkNvbmZpZy5yZWFkKGRpcik7XG5cbiAgY29uc3QgY29uc3RyYWludHMgPSBbXG4gICAgLi4uY29uZmlnLnRlcnJhZm9ybVByb3ZpZGVycy5tYXAoKGMpID0+IG5ldyBUZXJyYWZvcm1Qcm92aWRlckNvbnN0cmFpbnQoYykpLFxuICAgIC4uLmNvbmZpZy50ZXJyYWZvcm1Nb2R1bGVzLm1hcCgoYykgPT4gbmV3IFRlcnJhZm9ybU1vZHVsZUNvbnN0cmFpbnQoYykpLFxuICBdO1xuXG4gIGF3YWl0IGdldCh7XG4gICAgY29uc3RyYWludHMsXG4gICAgY29uc3RydWN0c09wdGlvbnM6IHtcbiAgICAgIGNvZGVNYWtlck91dHB1dDogcGF0aC5yZXNvbHZlKGRpciwgY29uZmlnLmNvZGVNYWtlck91dHB1dCksXG4gICAgICB0YXJnZXRMYW5ndWFnZTogY29uZmlnLmxhbmd1YWdlLFxuICAgICAganNpaVBhcmFsbGVsaXNtOiAxLFxuICAgICAgbGFuZ3VhZ2VPcHRpb25zOiBjb25maWcubGFuZ3VhZ2VPcHRpb25zLFxuICAgICAgdGFyZ2V0VmVyc2lvbnM6IGNvbmZpZy50YXJnZXRWZXJzaW9ucyxcbiAgICB9LFxuICAgIGNsZWFuRGlyZWN0b3J5OiBjbGVhbixcbiAgfSk7XG59XG4iXX0=
@@ -1,13 +1,10 @@
1
1
  "use strict";
2
2
  // Copyright (c) HashiCorp, Inc
3
3
  // SPDX-License-Identifier: MPL-2.0
4
- var __importDefault = (this && this.__importDefault) || function (mod) {
5
- return (mod && mod.__esModule) ? mod : { "default": mod };
6
- };
7
4
  Object.defineProperty(exports, "__esModule", { value: true });
8
5
  exports.checkIfAllDependenciesAreIncluded = exports.checkIfAllDependantsAreIncluded = exports.getStackWithNoUnmetDependants = exports.findAllNestedDependantStacks = exports.getStackWithNoUnmetDependencies = exports.getMultipleStacks = exports.getSingleStack = void 0;
9
6
  const commons_1 = require("@cdktn/commons");
10
- const minimatch_1 = __importDefault(require("minimatch"));
7
+ const minimatch_1 = require("minimatch");
11
8
  function getSingleStack(stacks, stackName, targetAction) {
12
9
  if (!stacks) {
13
10
  throw commons_1.Errors.Internal("Trying to access a stack before it has been synthesized");
@@ -37,7 +34,7 @@ function getMultipleStacks(stacks, patterns, targetAction) {
37
34
  .join(", ")} `);
38
35
  }
39
36
  return patterns.flatMap((pattern) => {
40
- const matchingStacks = stacks.filter((stack) => (0, minimatch_1.default)(stack.name, pattern));
37
+ const matchingStacks = stacks.filter((stack) => (0, minimatch_1.minimatch)(stack.name, pattern));
41
38
  if (matchingStacks.length === 0) {
42
39
  throw commons_1.Errors.Usage(`Could not find stack for pattern '${pattern}'`);
43
40
  }
@@ -152,4 +149,4 @@ function checkIfAllDependenciesAreIncluded(stacksToRun) {
152
149
  }
153
150
  }
154
151
  exports.checkIfAllDependenciesAreIncluded = checkIfAllDependenciesAreIncluded;
155
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhY2staGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvaGVscGVycy9zdGFjay1oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSwrQkFBK0I7QUFDL0IsbUNBQW1DOzs7Ozs7QUFFbkMsNENBQWdGO0FBQ2hGLDBEQUFrQztBQUlsQyxTQUFnQixjQUFjLENBQzVCLE1BQTBCLEVBQzFCLFNBQWtCLEVBQ2xCLFlBQXFCO0lBRXJCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNaLE1BQU0sZ0JBQU0sQ0FBQyxRQUFRLENBQ25CLHlEQUF5RCxDQUMxRCxDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksU0FBUyxFQUFFLENBQUM7UUFDZCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNYLE1BQU0sZ0JBQU0sQ0FBQyxLQUFLLENBQUMsd0JBQXdCLEdBQUcsU0FBUyxDQUFDLENBQUM7UUFDM0QsQ0FBQztRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN4QixPQUFPLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNuQixDQUFDO0lBRUQsTUFBTSxnQkFBTSxDQUFDLEtBQUssQ0FDaEIsdUVBQ0UsWUFBWSxJQUFJLFFBQ2xCLHNDQUFzQyxNQUFNO1NBQ3pDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztTQUNsQixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FDakIsQ0FBQztBQUNKLENBQUM7QUEvQkQsd0NBK0JDO0FBRUQsU0FBZ0IsaUJBQWlCLENBQy9CLE1B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eUVBQXlFLGlCQUFpQixDQUFDLElBQUksQ0FDN0YsSUFBSSxDQUNMLHdFQUF3RSxDQUMxRSxDQUFDO0lBQ0osQ0FBQztBQUNILENBQUM7QUF4QkQsMEVBd0JDO0FBRUQ7Ozs7O0VBS0U7QUFDRixTQUFnQixpQ0FBaUMsQ0FDL0MsV0FBK0I7SUFFL0IsTUFBTSxlQUFlLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztJQUMxQyxXQUFXO1NBQ1IsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDO1NBQ2xDLElBQUksRUFBRTtTQUNOLE9BQU8sQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBRTVELE1BQU0sVUFBVSxHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxRCxNQUFNLG1CQUFtQixHQUFHLENBQUMsR0FBRyxlQUFlLENBQUMsQ0FBQyxNQUFNLENBQ3JELENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQ2pELENBQUM7SUFFRixJQUFJLG1CQUFtQixDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUNuQyxNQUFNLGdCQUFNLENBQUMsS0FBSyxDQUNoQixxRUFBcUUsbUJBQW1CLENBQUMsSUFBSSxDQUMzRixJQUFJLENBQ0wsd0VBQXdFLENBQzFFLENBQUM7SUFDSixDQUFDO0FBQ0gsQ0FBQztBQXJCRCw4RUFxQkMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuXG5pbXBvcnQgeyBlbnN1cmVBbGxTZXR0bGVkQmVmb3JlVGhyb3dpbmcsIEVycm9ycywgbG9nZ2VyIH0gZnJvbSBcIkBjZGt0bi9jb21tb25zXCI7XG5pbXBvcnQgbWluaW1hdGNoIGZyb20gXCJtaW5pbWF0Y2hcIjtcbmltcG9ydCB7IENka3RmU3RhY2sgfSBmcm9tIFwiLi4vY2RrdGYtc3RhY2tcIjtcbmltcG9ydCB7IFN5bnRoZXNpemVkU3RhY2sgfSBmcm9tIFwiLi4vc3ludGgtc3RhY2tcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFNpbmdsZVN0YWNrKFxuICBzdGFja3M6IFN5bnRoZXNpemVkU3RhY2tbXSxcbiAgc3RhY2tOYW1lPzogc3RyaW5nLFxuICB0YXJnZXRBY3Rpb24/OiBzdHJpbmcsXG4pIHtcbiAgaWYgKCFzdGFja3MpIHtcbiAgICB0aHJvdyBFcnJvcnMuSW50ZXJuYWwoXG4gICAgICBcIlRyeWluZyB0byBhY2Nlc3MgYSBzdGFjayBiZWZvcmUgaXQgaGFzIGJlZW4gc3ludGhlc2l6ZWRcIixcbiAgICApO1xuICB9XG5cbiAgaWYgKHN0YWNrTmFtZSkge1xuICAgIGNvbnN0IHN0YWNrID0gc3RhY2tzLmZpbmQoKHMpID0+IHMubmFtZSA9PT0gc3RhY2tOYW1lKTtcbiAgICBpZiAoIXN0YWNrKSB7XG4gICAgICB0aHJvdyBFcnJvcnMuVXNhZ2UoXCJDb3VsZCBub3QgZmluZCBzdGFjazogXCIgKyBzdGFja05hbWUpO1xuICAgIH1cblxuICAgIHJldHVybiBzdGFjaztcbiAgfVxuXG4gIGlmIChzdGFja3MubGVuZ3RoID09PSAxKSB7XG4gICAgcmV0dXJuIHN0YWNrc1swXTtcbiAgfVxuXG4gIHRocm93IEVycm9ycy5Vc2FnZShcbiAgICBgRm91bmQgbW9yZSB0aGFuIG9uZSBzdGFjaywgcGxlYXNlIHNwZWNpZnkgYSB0YXJnZXQgc3RhY2suIFJ1biBjZGt0biAke1xuICAgICAgdGFyZ2V0QWN0aW9uIHx8IFwiPHZlcmI+XCJcbiAgICB9IDxzdGFjaz4gd2l0aCBvbmUgb2YgdGhlc2Ugc3RhY2tzOiAke3N0YWNrc1xuICAgICAgLm1hcCgocykgPT4gcy5uYW1lKVxuICAgICAgLmpvaW4oXCIsIFwiKX0gYCxcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE11bHRpcGxlU3RhY2tzKFxuICBzdGFja3M6IFN5bnRoZXNpemVkU3RhY2tbXSxcbiAgcGF0dGVybnM/OiBzdHJpbmdbXSxcbiAgdGFyZ2V0QWN0aW9uPzogc3RyaW5nLFxuKSB7XG4gIGlmICghcGF0dGVybnMgfHwgIXBhdHRlcm5zLmxlbmd0aCkge1xuICAgIGlmIChzdGFja3MubGVuZ3RoID09PSAxKSB7XG4gICAgICByZXR1cm4gW3N0YWNrc1swXV07XG4gICAgfVxuICAgIHRocm93IEVycm9ycy5Vc2FnZShcbiAgICAgIGBGb3VuZCBtb3JlIHRoYW4gb25lIHN0YWNrLCBwbGVhc2Ugc3BlY2lmeSBhIHRhcmdldCBzdGFjay4gUnVuIGNka3RuICR7XG4gICAgICAgIHRhcmdldEFjdGlvbiB8fCBcIjx2ZXJiPlwiXG4gICAgICB9IDxzdGFjaz4gd2l0aCBvbmUgb2YgdGhlc2Ugc3RhY2tzOiAke3N0YWNrc1xuICAgICAgICAubWFwKChzKSA9PiBzLm5hbWUpXG4gICAgICAgIC5qb2luKFwiLCBcIil9IGAsXG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiBwYXR0ZXJucy5mbGF0TWFwKChwYXR0ZXJuKSA9PiB7XG4gICAgY29uc3QgbWF0Y2hpbmdTdGFja3MgPSBzdGFja3MuZmlsdGVyKChzdGFjaykgPT5cbiAgICAgIG1pbmltYXRjaChzdGFjay5uYW1lLCBwYXR0ZXJuKSxcbiAgICApO1xuXG4gICAgaWYgKG1hdGNoaW5nU3RhY2tzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgRXJyb3JzLlVzYWdlKGBDb3VsZCBub3QgZmluZCBzdGFjayBmb3IgcGF0dGVybiAnJHtwYXR0ZXJufSdgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbWF0Y2hpbmdTdGFja3M7XG4gIH0pO1xufVxuXG4vLyBSZXR1cm5zIHRoZSBmaXJzdCBzdGFjayB0aGF0IGhhcyBubyB1bm1ldCBkZXBlbmRlbmNpZXNcbi8vIEFuIHVubWV0IGRlcGVuZGVuY3kgaXMgYSBkZXBlbmRlbmN5IHRoYXQgaGFzIG5vdCBiZWVuIGRlcGxveWVkIHlldFxuLy8gSWYgdGhlcmUgaXMgbm8gdW5maW5pc2hlZCBzdGFjaywgcmV0dXJucyB1bmRlZmluZWRcbi8vIElmIHRoZXJlIGlzIG5vIHN0YWNrIHJlYWR5IHRvIGJlIHdvcmtlZCBvbiwgaXQgcmV0dXJucyBhIHByb21pc2UgdGhhdCB3aWxsIHJlc29sdmUgYXMgc29vbiBhcyB0aGVyZSBpcyBhIGZvbGxvdy11cCBzdGFjayBhdmFpbGFibGVcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRTdGFja1dpdGhOb1VubWV0RGVwZW5kZW5jaWVzKFxuICBzdGFja0V4ZWN1dG9yczogQ2RrdGZTdGFja1tdLFxuKTogUHJvbWlzZTxDZGt0ZlN0YWNrIHwgdW5kZWZpbmVkPiB7XG4gIGxvZ2dlci5kZWJ1ZyhcIkNoZWNraW5nIGZvciBzdGFja3Mgd2l0aCB1bm1ldCBkZXBlbmRlbmNpZXNcIik7XG4gIGxvZ2dlci5kZWJ1ZyhcInN0YWNrIGV4ZWN1dG9yczpcIiwgc3RhY2tFeGVjdXRvcnMpO1xuICBjb25zdCBwZW5kaW5nU3RhY2tzID0gc3RhY2tFeGVjdXRvcnMuZmlsdGVyKChleGVjdXRvcikgPT4gZXhlY3V0b3IuaXNQZW5kaW5nKTtcbiAgbG9nZ2VyLmRlYnVnKFwicGVuZGluZyBzdGFja3M6XCIsIHN0YWNrRXhlY3V0b3JzKTtcblxuICBpZiAocGVuZGluZ1N0YWNrcy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgY29uc3QgY3VycmVudGx5UmVhZHlTdGFjayA9IHBlbmRpbmdTdGFja3MuZmluZCgoZXhlY3V0b3IpID0+XG4gICAgZXhlY3V0b3Iuc3RhY2suZGVwZW5kZW5jaWVzLmV2ZXJ5KFxuICAgICAgKGRlcGVuZGVuY3kpID0+XG4gICAgICAgIHN0YWNrRXhlY3V0b3JzLmZpbmQoKGV4ZWN1dG9yKSA9PiBleGVjdXRvci5zdGFjay5uYW1lID09PSBkZXBlbmRlbmN5KVxuICAgICAgICAgID8uY3VycmVudFN0YXRlID09PSBcImRvbmVcIixcbiAgICApLFxuICApO1xuXG4gIGlmIChjdXJyZW50bHlSZWFkeVN0YWNrKSB7XG4gICAgbG9nZ2VyLmRlYnVnKFwiRm91bmQgYSBzdGFjayB3aXRoIG5vIHVubWV0IGRlcGVuZGVuY2llc1wiKTtcbiAgICByZXR1cm4gY3VycmVudGx5UmVhZHlTdGFjaztcbiAgfVxuXG4gIGNvbnN0IHN0YWNrRXhlY3V0aW9uUHJvbWlzZXMgPSBzdGFja0V4ZWN1dG9yc1xuICAgIC5maWx0ZXIoKGV4KSA9PiBleC5jdXJyZW50V29ya1Byb21pc2UpXG4gICAgLm1hcCgoZXgpID0+IGV4LmN1cnJlbnRXb3JrUHJvbWlzZSk7XG5cbiAgbG9nZ2VyLmRlYnVnKFxuICAgIGAke3N0YWNrRXhlY3V0aW9uUHJvbWlzZXMubGVuZ3RofSBzdGFja3MgYXJlIGN1cnJlbnRseSBidXN5LCB3YWl0aW5nIGZvciBvbmUgdG8gZmluaXNoYCxcbiAgKTtcblxuICBpZiAoIXN0YWNrRXhlY3V0aW9uUHJvbWlzZXMubGVuZ3RoKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIGF3YWl0IGVuc3VyZUFsbFNldHRsZWRCZWZvcmVUaHJvd2luZyhcbiAgICBQcm9taXNlLnJhY2Uoc3RhY2tFeGVjdXRpb25Qcm9taXNlcyksXG4gICAgc3RhY2tFeGVjdXRpb25Qcm9taXNlcyxcbiAgKTtcblxuICByZXR1cm4gYXdhaXQgZ2V0U3RhY2tXaXRoTm9Vbm1ldERlcGVuZGVuY2llcyhzdGFja0V4ZWN1dG9ycyk7XG59XG5cbmZ1bmN0aW9uIGZpbmRBbGxEZXBlbmRhbnRTdGFja3MoXG4gIHN0YWNrRXhlY3V0b3JzOiBDZGt0ZlN0YWNrW10sXG4gIHN0YWNrTmFtZTogc3RyaW5nLFxuKTogQ2RrdGZTdGFja1tdIHtcbiAgcmV0dXJuIHN0YWNrRXhlY3V0b3JzLmZpbHRlcigoaW5uZXJFeGVjdXRvcikgPT5cbiAgICBpbm5lckV4ZWN1dG9yLnN0YWNrLmRlcGVuZGVuY2llcy5pbmNsdWRlcyhzdGFja05hbWUpLFxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmluZEFsbE5lc3RlZERlcGVuZGFudFN0YWNrcyhcbiAgc3RhY2tFeGVjdXRvcnM6IENka3RmU3RhY2tbXSxcbiAgc3RhY2tOYW1lOiBzdHJpbmcsXG4gIGtub3duRGVwZW5kYW50U3RhY2tOYW1lczogU2V0PHN0cmluZz4gPSBuZXcgU2V0KCksXG4pOiBDZGt0ZlN0YWNrW10ge1xuICBjb25zdCBkZXBlbmRhbnRTdGFja3MgPSBmaW5kQWxsRGVwZW5kYW50U3RhY2tzKHN0YWNrRXhlY3V0b3JzLCBzdGFja05hbWUpO1xuICBkZXBlbmRhbnRTdGFja3MuZm9yRWFjaCgoc3RhY2spID0+IHtcbiAgICBpZiAoa25vd25EZXBlbmRhbnRTdGFja05hbWVzLmhhcyhzdGFjay5zdGFjay5uYW1lKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGtub3duRGVwZW5kYW50U3RhY2tOYW1lcy5hZGQoc3RhY2suc3RhY2submFtZSk7XG4gICAgZmluZEFsbE5lc3RlZERlcGVuZGFudFN0YWNrcyhcbiAgICAgIHN0YWNrRXhlY3V0b3JzLFxuICAgICAgc3RhY2suc3RhY2submFtZSxcbiAgICAgIGtub3duRGVwZW5kYW50U3RhY2tOYW1lcyxcbiAgICApO1xuICB9KTtcblxuICByZXR1cm4gc3RhY2tFeGVjdXRvcnMuZmlsdGVyKChleGVjdXRvcikgPT5cbiAgICBrbm93bkRlcGVuZGFudFN0YWNrTmFtZXMuaGFzKGV4ZWN1dG9yLnN0YWNrLm5hbWUpLFxuICApO1xufVxuXG4vLyBSZXR1cm5zIHRoZSBmaXJzdCBzdGFjayB0aGF0IGhhcyBubyBkZXBlbmRlbnRzIHRoYXQgbmVlZCB0byBiZSBkZXN0cm95ZWQgZmlyc3RcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRTdGFja1dpdGhOb1VubWV0RGVwZW5kYW50cyhcbiAgc3RhY2tFeGVjdXRvcnM6IENka3RmU3RhY2tbXSxcbik6IFByb21pc2U8Q2RrdGZTdGFjayB8IHVuZGVmaW5lZD4ge1xuICBsb2dnZXIuZGVidWcoXCJDaGVja2luZyBmb3Igc3RhY2tzIHdpdGggdW5tZXQgZGVwZW5kYW50c1wiKTtcbiAgbG9nZ2VyLmRlYnVnKFwic3RhY2sgZXhlY3V0b3JzOlwiLCBzdGFja0V4ZWN1dG9ycyk7XG4gIGNvbnN0IHBlbmRpbmdTdGFja3MgPSBzdGFja0V4ZWN1dG9ycy5maWx0ZXIoKGV4ZWN1dG9yKSA9PiBleGVjdXRvci5pc1BlbmRpbmcpO1xuICBsb2dnZXIuZGVidWcoXCJwZW5kaW5nIHN0YWNrczpcIiwgc3RhY2tFeGVjdXRvcnMpO1xuXG4gIGlmIChwZW5kaW5nU3RhY2tzLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBjb25zdCBjdXJyZW50bHlSZWFkeVN0YWNrID0gcGVuZGluZ1N0YWNrcy5maW5kKChleGVjdXRvcikgPT4ge1xuICAgIGNvbnN0IGRlcGVuZGFudFN0YWNrcyA9IGZpbmRBbGxEZXBlbmRhbnRTdGFja3MoXG4gICAgICBzdGFja0V4ZWN1dG9ycyxcbiAgICAgIGV4ZWN1dG9yLnN0YWNrLm5hbWUsXG4gICAgKTtcbiAgICByZXR1cm4gZGVwZW5kYW50U3RhY2tzLmV2ZXJ5KChzdGFjaykgPT4gc3RhY2suY3VycmVudFN0YXRlID09PSBcImRvbmVcIik7XG4gIH0pO1xuXG4gIGlmIChjdXJyZW50bHlSZWFkeVN0YWNrKSB7XG4gICAgbG9nZ2VyLmRlYnVnKFwiRm91bmQgYSBzdGFjayB3aXRoIG5vIHVubWV0IGRlcGVuZGFudHNcIik7XG4gICAgcmV0dXJuIGN1cnJlbnRseVJlYWR5U3RhY2s7XG4gIH1cbiAgY29uc3Qgc3RhY2tFeGVjdXRpb25Qcm9taXNlcyA9IHN0YWNrRXhlY3V0b3JzXG4gICAgLmZpbHRlcigoZXgpID0+IGV4LmN1cnJlbnRXb3JrUHJvbWlzZSlcbiAgICAubWFwKChleCkgPT4gZXguY3VycmVudFdvcmtQcm9taXNlKTtcblxuICBsb2dnZXIuZGVidWcoXG4gICAgYCR7c3RhY2tFeGVjdXRpb25Qcm9taXNlcy5sZW5ndGh9IHN0YWNrcyBhcmUgY3VycmVudGx5IGJ1c3ksIHdhaXRpbmcgZm9yIG9uZSB0byBmaW5pc2hgLFxuICApO1xuICBpZiAoIXN0YWNrRXhlY3V0aW9uUHJvbWlzZXMubGVuZ3RoKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIGF3YWl0IFByb21pc2UucmFjZShzdGFja0V4ZWN1dGlvblByb21pc2VzKTtcbiAgcmV0dXJuIGF3YWl0IGdldFN0YWNrV2l0aE5vVW5tZXREZXBlbmRhbnRzKHN0YWNrRXhlY3V0b3JzKTtcbn1cblxuLy8gVGhyb3dzIGFuIGVycm9yIGlmIHRoZXJlIGlzIGEgZGVwZW5kYW50IHN0YWNrIHRoYXQgaXMgbm90IGluY2x1ZGVkXG5leHBvcnQgZnVuY3Rpb24gY2hlY2tJZkFsbERlcGVuZGFudHNBcmVJbmNsdWRlZChcbiAgc3RhY2tzVG9SdW46IFN5bnRoZXNpemVkU3RhY2tbXSxcbiAgYWxsU3RhY2tzOiBTeW50aGVzaXplZFN0YWNrW10sXG4pIHtcbiAgY29uc3QgYWxsRGVwZW5kYW50cyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICBzdGFja3NUb1J1blxuICAgIC5tYXAoKHN0YWNrKSA9PlxuICAgICAgYWxsU3RhY2tzLmZpbHRlcigocykgPT4gcy5kZXBlbmRlbmNpZXMuaW5jbHVkZXMoc3RhY2submFtZSkpLFxuICAgIClcbiAgICAuZmxhdCgpXG4gICAgLmZvckVhY2goKGRlcGVuZGFudCkgPT4gYWxsRGVwZW5kYW50cy5hZGQoZGVwZW5kYW50Lm5hbWUpKTtcblxuICBjb25zdCBzdGFja05hbWVzID0gc3RhY2tzVG9SdW4ubWFwKChzdGFjaykgPT4gc3RhY2submFtZSk7XG4gIGNvbnN0IG1pc3NpbmdEZXBlbmRhbnRzID0gWy4uLmFsbERlcGVuZGFudHNdLmZpbHRlcihcbiAgICAoZGVwZW5kYW50KSA9PiAhc3RhY2tOYW1lcy5pbmNsdWRlcyhkZXBlbmRhbnQpLFxuICApO1xuXG4gIGlmIChtaXNzaW5nRGVwZW5kYW50cy5sZW5ndGggPiAwKSB7XG4gICAgdGhyb3cgRXJyb3JzLlVzYWdlKFxuICAgICAgYFRoZSBmb2xsb3dpbmcgZGVwZW5kYW50IHN0YWNrcyBhcmUgbm90IGluY2x1ZGVkIGluIHRoZSBzdGFja3MgdG8gcnVuOiAke21pc3NpbmdEZXBlbmRhbnRzLmpvaW4oXG4gICAgICAgIFwiLCBcIixcbiAgICAgICl9LiBFaXRoZXIgYWRkIHRoZW0gb3IgYWRkIHRoZSAtLWlnbm9yZS1taXNzaW5nLXN0YWNrLWRlcGVuZGVuY2llcyBmbGFnLmAsXG4gICAgKTtcbiAgfVxufVxuXG4vKiogXG4gIFRocm93cyBhbiBlcnJvciBpZiB0aGVyZSBpcyBhIGRlcGVuZGVuY3kgdGhhdCBpcyBub3QgaW5jbHVkZWRcbiAgQ3ljbGVzIGFyZSBkZXRlY3RlZCBvbiBkZXBlbmRlbmN5IGNyZWF0aW9uIGF0IHN5bnRoZXNpcyB0aW1lXG4gIFJ1bm5pbmcgdGhpcyBwcmV2ZW50cyB1cyBmcm9tIGJlaW5nIGluIGEgc2l0dWF0aW9uIHdoZXJlIHdlIFxuICBoYXZlIHRvIHdhaXQgZm9yIGEgc3RhY2sgdG8gYmUgZGVwbG95ZWQgdGhhdCBpcyBub3QgaW5jbHVkZWQgdG8gYmUgcnVuXG4qL1xuZXhwb3J0IGZ1bmN0aW9uIGNoZWNrSWZBbGxEZXBlbmRlbmNpZXNBcmVJbmNsdWRlZChcbiAgc3RhY2tzVG9SdW46IFN5bnRoZXNpemVkU3RhY2tbXSxcbikge1xuICBjb25zdCBhbGxEZXBlbmRlbmNpZXMgPSBuZXcgU2V0PHN0cmluZz4oKTtcbiAgc3RhY2tzVG9SdW5cbiAgICAubWFwKChzdGFjaykgPT4gc3RhY2suZGVwZW5kZW5jaWVzKVxuICAgIC5mbGF0KClcbiAgICAuZm9yRWFjaCgoZGVwZW5kZW5jeSkgPT4gYWxsRGVwZW5kZW5jaWVzLmFkZChkZXBlbmRlbmN5KSk7XG5cbiAgY29uc3Qgc3RhY2tOYW1lcyA9IHN0YWNrc1RvUnVuLm1hcCgoc3RhY2spID0+IHN0YWNrLm5hbWUpO1xuICBjb25zdCBtaXNzaW5nRGVwZW5kZW5jaWVzID0gWy4uLmFsbERlcGVuZGVuY2llc10uZmlsdGVyKFxuICAgIChkZXBlbmRlbmN5KSA9PiAhc3RhY2tOYW1lcy5pbmNsdWRlcyhkZXBlbmRlbmN5KSxcbiAgKTtcblxuICBpZiAobWlzc2luZ0RlcGVuZGVuY2llcy5sZW5ndGggPiAwKSB7XG4gICAgdGhyb3cgRXJyb3JzLlVzYWdlKFxuICAgICAgYFRoZSBmb2xsb3dpbmcgZGVwZW5kZW5jaWVzIGFyZSBub3QgaW5jbHVkZWQgaW4gdGhlIHN0YWNrcyB0byBydW46ICR7bWlzc2luZ0RlcGVuZGVuY2llcy5qb2luKFxuICAgICAgICBcIiwgXCIsXG4gICAgICApfS4gRWl0aGVyIGFkZCB0aGVtIG9yIGFkZCB0aGUgLS1pZ25vcmUtbWlzc2luZy1zdGFjay1kZXBlbmRlbmNpZXMgZmxhZy5gLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
152
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhY2staGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvaGVscGVycy9zdGFjay1oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSwrQkFBK0I7QUFDL0IsbUNBQW1DOzs7QUFFbkMsNENBQWdGO0FBQ2hGLHlDQUFzQztBQUl0QyxTQUFnQixjQUFjLENBQzVCLE1BQTBCLEVBQzFCLFNBQWtCLEVBQ2xCLFlBQXFCO0lBRXJCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNaLE1BQU0sZ0JBQU0sQ0FBQyxRQUFRLENBQ25CLHlEQUF5RCxDQUMxRCxDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksU0FBUyxFQUFFLENBQUM7UUFDZCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNYLE1BQU0sZ0JBQU0sQ0FBQyxLQUFLLENBQUMsd0JBQXdCLEdBQUcsU0FBUyxDQUFDLENBQUM7UUFDM0QsQ0FBQztRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN4QixPQUFPLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNuQixDQUFDO0lBRUQsTUFBTSxnQkFBTSxDQUFDLEtBQUssQ0FDaEIsdUVBQ0UsWUFBWSxJQUFJLFFBQ2xCLHNDQUFzQyxNQUFNO1NBQ3pDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztTQUNsQixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FDakIsQ0FBQztBQUNKLENBQUM7QUEvQkQsd0NBK0JDO0FBRUQsU0FBZ0IsaUJBQWlCLENBQy9CLE1BQTBC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QXlFLGlCQUFpQixDQUFDLElBQUksQ0FDN0YsSUFBSSxDQUNMLHdFQUF3RSxDQUMxRSxDQUFDO0lBQ0osQ0FBQztBQUNILENBQUM7QUF4QkQsMEVBd0JDO0FBRUQ7Ozs7O0VBS0U7QUFDRixTQUFnQixpQ0FBaUMsQ0FDL0MsV0FBK0I7SUFFL0IsTUFBTSxlQUFlLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztJQUMxQyxXQUFXO1NBQ1IsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDO1NBQ2xDLElBQUksRUFBRTtTQUNOLE9BQU8sQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBRTVELE1BQU0sVUFBVSxHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxRCxNQUFNLG1CQUFtQixHQUFHLENBQUMsR0FBRyxlQUFlLENBQUMsQ0FBQyxNQUFNLENBQ3JELENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQ2pELENBQUM7SUFFRixJQUFJLG1CQUFtQixDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUNuQyxNQUFNLGdCQUFNLENBQUMsS0FBSyxDQUNoQixxRUFBcUUsbUJBQW1CLENBQUMsSUFBSSxDQUMzRixJQUFJLENBQ0wsd0VBQXdFLENBQzFFLENBQUM7SUFDSixDQUFDO0FBQ0gsQ0FBQztBQXJCRCw4RUFxQkMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuXG5pbXBvcnQgeyBlbnN1cmVBbGxTZXR0bGVkQmVmb3JlVGhyb3dpbmcsIEVycm9ycywgbG9nZ2VyIH0gZnJvbSBcIkBjZGt0bi9jb21tb25zXCI7XG5pbXBvcnQgeyBtaW5pbWF0Y2ggfSBmcm9tIFwibWluaW1hdGNoXCI7XG5pbXBvcnQgeyBDZGt0ZlN0YWNrIH0gZnJvbSBcIi4uL2Nka3RmLXN0YWNrXCI7XG5pbXBvcnQgeyBTeW50aGVzaXplZFN0YWNrIH0gZnJvbSBcIi4uL3N5bnRoLXN0YWNrXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTaW5nbGVTdGFjayhcbiAgc3RhY2tzOiBTeW50aGVzaXplZFN0YWNrW10sXG4gIHN0YWNrTmFtZT86IHN0cmluZyxcbiAgdGFyZ2V0QWN0aW9uPzogc3RyaW5nLFxuKSB7XG4gIGlmICghc3RhY2tzKSB7XG4gICAgdGhyb3cgRXJyb3JzLkludGVybmFsKFxuICAgICAgXCJUcnlpbmcgdG8gYWNjZXNzIGEgc3RhY2sgYmVmb3JlIGl0IGhhcyBiZWVuIHN5bnRoZXNpemVkXCIsXG4gICAgKTtcbiAgfVxuXG4gIGlmIChzdGFja05hbWUpIHtcbiAgICBjb25zdCBzdGFjayA9IHN0YWNrcy5maW5kKChzKSA9PiBzLm5hbWUgPT09IHN0YWNrTmFtZSk7XG4gICAgaWYgKCFzdGFjaykge1xuICAgICAgdGhyb3cgRXJyb3JzLlVzYWdlKFwiQ291bGQgbm90IGZpbmQgc3RhY2s6IFwiICsgc3RhY2tOYW1lKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3RhY2s7XG4gIH1cblxuICBpZiAoc3RhY2tzLmxlbmd0aCA9PT0gMSkge1xuICAgIHJldHVybiBzdGFja3NbMF07XG4gIH1cblxuICB0aHJvdyBFcnJvcnMuVXNhZ2UoXG4gICAgYEZvdW5kIG1vcmUgdGhhbiBvbmUgc3RhY2ssIHBsZWFzZSBzcGVjaWZ5IGEgdGFyZ2V0IHN0YWNrLiBSdW4gY2RrdG4gJHtcbiAgICAgIHRhcmdldEFjdGlvbiB8fCBcIjx2ZXJiPlwiXG4gICAgfSA8c3RhY2s+IHdpdGggb25lIG9mIHRoZXNlIHN0YWNrczogJHtzdGFja3NcbiAgICAgIC5tYXAoKHMpID0+IHMubmFtZSlcbiAgICAgIC5qb2luKFwiLCBcIil9IGAsXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRNdWx0aXBsZVN0YWNrcyhcbiAgc3RhY2tzOiBTeW50aGVzaXplZFN0YWNrW10sXG4gIHBhdHRlcm5zPzogc3RyaW5nW10sXG4gIHRhcmdldEFjdGlvbj86IHN0cmluZyxcbikge1xuICBpZiAoIXBhdHRlcm5zIHx8ICFwYXR0ZXJucy5sZW5ndGgpIHtcbiAgICBpZiAoc3RhY2tzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgcmV0dXJuIFtzdGFja3NbMF1dO1xuICAgIH1cbiAgICB0aHJvdyBFcnJvcnMuVXNhZ2UoXG4gICAgICBgRm91bmQgbW9yZSB0aGFuIG9uZSBzdGFjaywgcGxlYXNlIHNwZWNpZnkgYSB0YXJnZXQgc3RhY2suIFJ1biBjZGt0biAke1xuICAgICAgICB0YXJnZXRBY3Rpb24gfHwgXCI8dmVyYj5cIlxuICAgICAgfSA8c3RhY2s+IHdpdGggb25lIG9mIHRoZXNlIHN0YWNrczogJHtzdGFja3NcbiAgICAgICAgLm1hcCgocykgPT4gcy5uYW1lKVxuICAgICAgICAuam9pbihcIiwgXCIpfSBgLFxuICAgICk7XG4gIH1cblxuICByZXR1cm4gcGF0dGVybnMuZmxhdE1hcCgocGF0dGVybikgPT4ge1xuICAgIGNvbnN0IG1hdGNoaW5nU3RhY2tzID0gc3RhY2tzLmZpbHRlcigoc3RhY2spID0+XG4gICAgICBtaW5pbWF0Y2goc3RhY2submFtZSwgcGF0dGVybiksXG4gICAgKTtcblxuICAgIGlmIChtYXRjaGluZ1N0YWNrcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IEVycm9ycy5Vc2FnZShgQ291bGQgbm90IGZpbmQgc3RhY2sgZm9yIHBhdHRlcm4gJyR7cGF0dGVybn0nYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG1hdGNoaW5nU3RhY2tzO1xuICB9KTtcbn1cblxuLy8gUmV0dXJucyB0aGUgZmlyc3Qgc3RhY2sgdGhhdCBoYXMgbm8gdW5tZXQgZGVwZW5kZW5jaWVzXG4vLyBBbiB1bm1ldCBkZXBlbmRlbmN5IGlzIGEgZGVwZW5kZW5jeSB0aGF0IGhhcyBub3QgYmVlbiBkZXBsb3llZCB5ZXRcbi8vIElmIHRoZXJlIGlzIG5vIHVuZmluaXNoZWQgc3RhY2ssIHJldHVybnMgdW5kZWZpbmVkXG4vLyBJZiB0aGVyZSBpcyBubyBzdGFjayByZWFkeSB0byBiZSB3b3JrZWQgb24sIGl0IHJldHVybnMgYSBwcm9taXNlIHRoYXQgd2lsbCByZXNvbHZlIGFzIHNvb24gYXMgdGhlcmUgaXMgYSBmb2xsb3ctdXAgc3RhY2sgYXZhaWxhYmxlXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0U3RhY2tXaXRoTm9Vbm1ldERlcGVuZGVuY2llcyhcbiAgc3RhY2tFeGVjdXRvcnM6IENka3RmU3RhY2tbXSxcbik6IFByb21pc2U8Q2RrdGZTdGFjayB8IHVuZGVmaW5lZD4ge1xuICBsb2dnZXIuZGVidWcoXCJDaGVja2luZyBmb3Igc3RhY2tzIHdpdGggdW5tZXQgZGVwZW5kZW5jaWVzXCIpO1xuICBsb2dnZXIuZGVidWcoXCJzdGFjayBleGVjdXRvcnM6XCIsIHN0YWNrRXhlY3V0b3JzKTtcbiAgY29uc3QgcGVuZGluZ1N0YWNrcyA9IHN0YWNrRXhlY3V0b3JzLmZpbHRlcigoZXhlY3V0b3IpID0+IGV4ZWN1dG9yLmlzUGVuZGluZyk7XG4gIGxvZ2dlci5kZWJ1ZyhcInBlbmRpbmcgc3RhY2tzOlwiLCBzdGFja0V4ZWN1dG9ycyk7XG5cbiAgaWYgKHBlbmRpbmdTdGFja3MubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIGNvbnN0IGN1cnJlbnRseVJlYWR5U3RhY2sgPSBwZW5kaW5nU3RhY2tzLmZpbmQoKGV4ZWN1dG9yKSA9PlxuICAgIGV4ZWN1dG9yLnN0YWNrLmRlcGVuZGVuY2llcy5ldmVyeShcbiAgICAgIChkZXBlbmRlbmN5KSA9PlxuICAgICAgICBzdGFja0V4ZWN1dG9ycy5maW5kKChleGVjdXRvcikgPT4gZXhlY3V0b3Iuc3RhY2submFtZSA9PT0gZGVwZW5kZW5jeSlcbiAgICAgICAgICA/LmN1cnJlbnRTdGF0ZSA9PT0gXCJkb25lXCIsXG4gICAgKSxcbiAgKTtcblxuICBpZiAoY3VycmVudGx5UmVhZHlTdGFjaykge1xuICAgIGxvZ2dlci5kZWJ1ZyhcIkZvdW5kIGEgc3RhY2sgd2l0aCBubyB1bm1ldCBkZXBlbmRlbmNpZXNcIik7XG4gICAgcmV0dXJuIGN1cnJlbnRseVJlYWR5U3RhY2s7XG4gIH1cblxuICBjb25zdCBzdGFja0V4ZWN1dGlvblByb21pc2VzID0gc3RhY2tFeGVjdXRvcnNcbiAgICAuZmlsdGVyKChleCkgPT4gZXguY3VycmVudFdvcmtQcm9taXNlKVxuICAgIC5tYXAoKGV4KSA9PiBleC5jdXJyZW50V29ya1Byb21pc2UpO1xuXG4gIGxvZ2dlci5kZWJ1ZyhcbiAgICBgJHtzdGFja0V4ZWN1dGlvblByb21pc2VzLmxlbmd0aH0gc3RhY2tzIGFyZSBjdXJyZW50bHkgYnVzeSwgd2FpdGluZyBmb3Igb25lIHRvIGZpbmlzaGAsXG4gICk7XG5cbiAgaWYgKCFzdGFja0V4ZWN1dGlvblByb21pc2VzLmxlbmd0aCkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBhd2FpdCBlbnN1cmVBbGxTZXR0bGVkQmVmb3JlVGhyb3dpbmcoXG4gICAgUHJvbWlzZS5yYWNlKHN0YWNrRXhlY3V0aW9uUHJvbWlzZXMpLFxuICAgIHN0YWNrRXhlY3V0aW9uUHJvbWlzZXMsXG4gICk7XG5cbiAgcmV0dXJuIGF3YWl0IGdldFN0YWNrV2l0aE5vVW5tZXREZXBlbmRlbmNpZXMoc3RhY2tFeGVjdXRvcnMpO1xufVxuXG5mdW5jdGlvbiBmaW5kQWxsRGVwZW5kYW50U3RhY2tzKFxuICBzdGFja0V4ZWN1dG9yczogQ2RrdGZTdGFja1tdLFxuICBzdGFja05hbWU6IHN0cmluZyxcbik6IENka3RmU3RhY2tbXSB7XG4gIHJldHVybiBzdGFja0V4ZWN1dG9ycy5maWx0ZXIoKGlubmVyRXhlY3V0b3IpID0+XG4gICAgaW5uZXJFeGVjdXRvci5zdGFjay5kZXBlbmRlbmNpZXMuaW5jbHVkZXMoc3RhY2tOYW1lKSxcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpbmRBbGxOZXN0ZWREZXBlbmRhbnRTdGFja3MoXG4gIHN0YWNrRXhlY3V0b3JzOiBDZGt0ZlN0YWNrW10sXG4gIHN0YWNrTmFtZTogc3RyaW5nLFxuICBrbm93bkRlcGVuZGFudFN0YWNrTmFtZXM6IFNldDxzdHJpbmc+ID0gbmV3IFNldCgpLFxuKTogQ2RrdGZTdGFja1tdIHtcbiAgY29uc3QgZGVwZW5kYW50U3RhY2tzID0gZmluZEFsbERlcGVuZGFudFN0YWNrcyhzdGFja0V4ZWN1dG9ycywgc3RhY2tOYW1lKTtcbiAgZGVwZW5kYW50U3RhY2tzLmZvckVhY2goKHN0YWNrKSA9PiB7XG4gICAgaWYgKGtub3duRGVwZW5kYW50U3RhY2tOYW1lcy5oYXMoc3RhY2suc3RhY2submFtZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBrbm93bkRlcGVuZGFudFN0YWNrTmFtZXMuYWRkKHN0YWNrLnN0YWNrLm5hbWUpO1xuICAgIGZpbmRBbGxOZXN0ZWREZXBlbmRhbnRTdGFja3MoXG4gICAgICBzdGFja0V4ZWN1dG9ycyxcbiAgICAgIHN0YWNrLnN0YWNrLm5hbWUsXG4gICAgICBrbm93bkRlcGVuZGFudFN0YWNrTmFtZXMsXG4gICAgKTtcbiAgfSk7XG5cbiAgcmV0dXJuIHN0YWNrRXhlY3V0b3JzLmZpbHRlcigoZXhlY3V0b3IpID0+XG4gICAga25vd25EZXBlbmRhbnRTdGFja05hbWVzLmhhcyhleGVjdXRvci5zdGFjay5uYW1lKSxcbiAgKTtcbn1cblxuLy8gUmV0dXJucyB0aGUgZmlyc3Qgc3RhY2sgdGhhdCBoYXMgbm8gZGVwZW5kZW50cyB0aGF0IG5lZWQgdG8gYmUgZGVzdHJveWVkIGZpcnN0XG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0U3RhY2tXaXRoTm9Vbm1ldERlcGVuZGFudHMoXG4gIHN0YWNrRXhlY3V0b3JzOiBDZGt0ZlN0YWNrW10sXG4pOiBQcm9taXNlPENka3RmU3RhY2sgfCB1bmRlZmluZWQ+IHtcbiAgbG9nZ2VyLmRlYnVnKFwiQ2hlY2tpbmcgZm9yIHN0YWNrcyB3aXRoIHVubWV0IGRlcGVuZGFudHNcIik7XG4gIGxvZ2dlci5kZWJ1ZyhcInN0YWNrIGV4ZWN1dG9yczpcIiwgc3RhY2tFeGVjdXRvcnMpO1xuICBjb25zdCBwZW5kaW5nU3RhY2tzID0gc3RhY2tFeGVjdXRvcnMuZmlsdGVyKChleGVjdXRvcikgPT4gZXhlY3V0b3IuaXNQZW5kaW5nKTtcbiAgbG9nZ2VyLmRlYnVnKFwicGVuZGluZyBzdGFja3M6XCIsIHN0YWNrRXhlY3V0b3JzKTtcblxuICBpZiAocGVuZGluZ1N0YWNrcy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgY29uc3QgY3VycmVudGx5UmVhZHlTdGFjayA9IHBlbmRpbmdTdGFja3MuZmluZCgoZXhlY3V0b3IpID0+IHtcbiAgICBjb25zdCBkZXBlbmRhbnRTdGFja3MgPSBmaW5kQWxsRGVwZW5kYW50U3RhY2tzKFxuICAgICAgc3RhY2tFeGVjdXRvcnMsXG4gICAgICBleGVjdXRvci5zdGFjay5uYW1lLFxuICAgICk7XG4gICAgcmV0dXJuIGRlcGVuZGFudFN0YWNrcy5ldmVyeSgoc3RhY2spID0+IHN0YWNrLmN1cnJlbnRTdGF0ZSA9PT0gXCJkb25lXCIpO1xuICB9KTtcblxuICBpZiAoY3VycmVudGx5UmVhZHlTdGFjaykge1xuICAgIGxvZ2dlci5kZWJ1ZyhcIkZvdW5kIGEgc3RhY2sgd2l0aCBubyB1bm1ldCBkZXBlbmRhbnRzXCIpO1xuICAgIHJldHVybiBjdXJyZW50bHlSZWFkeVN0YWNrO1xuICB9XG4gIGNvbnN0IHN0YWNrRXhlY3V0aW9uUHJvbWlzZXMgPSBzdGFja0V4ZWN1dG9yc1xuICAgIC5maWx0ZXIoKGV4KSA9PiBleC5jdXJyZW50V29ya1Byb21pc2UpXG4gICAgLm1hcCgoZXgpID0+IGV4LmN1cnJlbnRXb3JrUHJvbWlzZSk7XG5cbiAgbG9nZ2VyLmRlYnVnKFxuICAgIGAke3N0YWNrRXhlY3V0aW9uUHJvbWlzZXMubGVuZ3RofSBzdGFja3MgYXJlIGN1cnJlbnRseSBidXN5LCB3YWl0aW5nIGZvciBvbmUgdG8gZmluaXNoYCxcbiAgKTtcbiAgaWYgKCFzdGFja0V4ZWN1dGlvblByb21pc2VzLmxlbmd0aCkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBhd2FpdCBQcm9taXNlLnJhY2Uoc3RhY2tFeGVjdXRpb25Qcm9taXNlcyk7XG4gIHJldHVybiBhd2FpdCBnZXRTdGFja1dpdGhOb1VubWV0RGVwZW5kYW50cyhzdGFja0V4ZWN1dG9ycyk7XG59XG5cbi8vIFRocm93cyBhbiBlcnJvciBpZiB0aGVyZSBpcyBhIGRlcGVuZGFudCBzdGFjayB0aGF0IGlzIG5vdCBpbmNsdWRlZFxuZXhwb3J0IGZ1bmN0aW9uIGNoZWNrSWZBbGxEZXBlbmRhbnRzQXJlSW5jbHVkZWQoXG4gIHN0YWNrc1RvUnVuOiBTeW50aGVzaXplZFN0YWNrW10sXG4gIGFsbFN0YWNrczogU3ludGhlc2l6ZWRTdGFja1tdLFxuKSB7XG4gIGNvbnN0IGFsbERlcGVuZGFudHMgPSBuZXcgU2V0PHN0cmluZz4oKTtcbiAgc3RhY2tzVG9SdW5cbiAgICAubWFwKChzdGFjaykgPT5cbiAgICAgIGFsbFN0YWNrcy5maWx0ZXIoKHMpID0+IHMuZGVwZW5kZW5jaWVzLmluY2x1ZGVzKHN0YWNrLm5hbWUpKSxcbiAgICApXG4gICAgLmZsYXQoKVxuICAgIC5mb3JFYWNoKChkZXBlbmRhbnQpID0+IGFsbERlcGVuZGFudHMuYWRkKGRlcGVuZGFudC5uYW1lKSk7XG5cbiAgY29uc3Qgc3RhY2tOYW1lcyA9IHN0YWNrc1RvUnVuLm1hcCgoc3RhY2spID0+IHN0YWNrLm5hbWUpO1xuICBjb25zdCBtaXNzaW5nRGVwZW5kYW50cyA9IFsuLi5hbGxEZXBlbmRhbnRzXS5maWx0ZXIoXG4gICAgKGRlcGVuZGFudCkgPT4gIXN0YWNrTmFtZXMuaW5jbHVkZXMoZGVwZW5kYW50KSxcbiAgKTtcblxuICBpZiAobWlzc2luZ0RlcGVuZGFudHMubGVuZ3RoID4gMCkge1xuICAgIHRocm93IEVycm9ycy5Vc2FnZShcbiAgICAgIGBUaGUgZm9sbG93aW5nIGRlcGVuZGFudCBzdGFja3MgYXJlIG5vdCBpbmNsdWRlZCBpbiB0aGUgc3RhY2tzIHRvIHJ1bjogJHttaXNzaW5nRGVwZW5kYW50cy5qb2luKFxuICAgICAgICBcIiwgXCIsXG4gICAgICApfS4gRWl0aGVyIGFkZCB0aGVtIG9yIGFkZCB0aGUgLS1pZ25vcmUtbWlzc2luZy1zdGFjay1kZXBlbmRlbmNpZXMgZmxhZy5gLFxuICAgICk7XG4gIH1cbn1cblxuLyoqIFxuICBUaHJvd3MgYW4gZXJyb3IgaWYgdGhlcmUgaXMgYSBkZXBlbmRlbmN5IHRoYXQgaXMgbm90IGluY2x1ZGVkXG4gIEN5Y2xlcyBhcmUgZGV0ZWN0ZWQgb24gZGVwZW5kZW5jeSBjcmVhdGlvbiBhdCBzeW50aGVzaXMgdGltZVxuICBSdW5uaW5nIHRoaXMgcHJldmVudHMgdXMgZnJvbSBiZWluZyBpbiBhIHNpdHVhdGlvbiB3aGVyZSB3ZSBcbiAgaGF2ZSB0byB3YWl0IGZvciBhIHN0YWNrIHRvIGJlIGRlcGxveWVkIHRoYXQgaXMgbm90IGluY2x1ZGVkIHRvIGJlIHJ1blxuKi9cbmV4cG9ydCBmdW5jdGlvbiBjaGVja0lmQWxsRGVwZW5kZW5jaWVzQXJlSW5jbHVkZWQoXG4gIHN0YWNrc1RvUnVuOiBTeW50aGVzaXplZFN0YWNrW10sXG4pIHtcbiAgY29uc3QgYWxsRGVwZW5kZW5jaWVzID0gbmV3IFNldDxzdHJpbmc+KCk7XG4gIHN0YWNrc1RvUnVuXG4gICAgLm1hcCgoc3RhY2spID0+IHN0YWNrLmRlcGVuZGVuY2llcylcbiAgICAuZmxhdCgpXG4gICAgLmZvckVhY2goKGRlcGVuZGVuY3kpID0+IGFsbERlcGVuZGVuY2llcy5hZGQoZGVwZW5kZW5jeSkpO1xuXG4gIGNvbnN0IHN0YWNrTmFtZXMgPSBzdGFja3NUb1J1bi5tYXAoKHN0YWNrKSA9PiBzdGFjay5uYW1lKTtcbiAgY29uc3QgbWlzc2luZ0RlcGVuZGVuY2llcyA9IFsuLi5hbGxEZXBlbmRlbmNpZXNdLmZpbHRlcihcbiAgICAoZGVwZW5kZW5jeSkgPT4gIXN0YWNrTmFtZXMuaW5jbHVkZXMoZGVwZW5kZW5jeSksXG4gICk7XG5cbiAgaWYgKG1pc3NpbmdEZXBlbmRlbmNpZXMubGVuZ3RoID4gMCkge1xuICAgIHRocm93IEVycm9ycy5Vc2FnZShcbiAgICAgIGBUaGUgZm9sbG93aW5nIGRlcGVuZGVuY2llcyBhcmUgbm90IGluY2x1ZGVkIGluIHRoZSBzdGFja3MgdG8gcnVuOiAke21pc3NpbmdEZXBlbmRlbmNpZXMuam9pbihcbiAgICAgICAgXCIsIFwiLFxuICAgICAgKX0uIEVpdGhlciBhZGQgdGhlbSBvciBhZGQgdGhlIC0taWdub3JlLW1pc3Npbmctc3RhY2stZGVwZW5kZW5jaWVzIGZsYWcuYCxcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -33,5 +33,5 @@ export interface Deps {
33
33
  cdktf_version: string;
34
34
  constructs_version: string;
35
35
  }
36
- export declare function determineDeps(version?: string, dist?: string): Promise<Deps>;
36
+ export declare function determineDeps(version?: string, dist?: string, template?: string): Promise<Deps>;
37
37
  //# sourceMappingURL=init.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/lib/init.ts"],"names":[],"mappings":"AAuBA,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,aAAc,SAAQ,YAAY;IACjD,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,uBAAuB,EAAE,MAAM,CAAC;CACjC;AACD,MAAM,MAAM,OAAO,GAAG,YAAY,GAAG,aAAa,CAAC;AAEnD,MAAM,MAAM,QAAQ,GAAG;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,YAAY,QAAgD,CAAC;AAK1E,eAAO,MAAM,SAAS,EAAE,MAAM,EAAO,CAAC;AAKtC,wBAAsB,IAAI,CAAC,EACzB,YAAY,EACZ,WAAW,EACX,IAAI,EACJ,SAAS,EACT,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,SAAS,EACT,mBAAmB,EACnB,MAAM,GACP,EAAE,QAAQ,oBA4BV;AAED,MAAM,WAAW,IAAI;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AACD,wBAAsB,aAAa,CACjC,OAAO,GAAE,MAAoB,EAC7B,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC,CAqEf"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/lib/init.ts"],"names":[],"mappings":"AAuBA,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,aAAc,SAAQ,YAAY;IACjD,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,uBAAuB,EAAE,MAAM,CAAC;CACjC;AACD,MAAM,MAAM,OAAO,GAAG,YAAY,GAAG,aAAa,CAAC;AAEnD,MAAM,MAAM,QAAQ,GAAG;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,YAAY,QAAgD,CAAC;AAK1E,eAAO,MAAM,SAAS,EAAE,MAAM,EAAO,CAAC;AAKtC,wBAAsB,IAAI,CAAC,EACzB,YAAY,EACZ,WAAW,EACX,IAAI,EACJ,SAAS,EACT,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,SAAS,EACT,mBAAmB,EACnB,MAAM,GACP,EAAE,QAAQ,oBAgCV;AAED,MAAM,WAAW,IAAI;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAeD,wBAAsB,aAAa,CACjC,OAAO,GAAE,MAAoB,EAC7B,IAAI,CAAC,EAAE,MAAM,EACb,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CA8Ef"}
package/build/lib/init.js CHANGED
@@ -52,7 +52,7 @@ for (const template of availableTemplates) {
52
52
  exports.templates.push(template);
53
53
  }
54
54
  async function init({ cdktfVersion, destination, dist, projectId, projectInfo, templatePath, sendCrashReports, providers, providersForceLocal, silent, }) {
55
- const deps = await determineDeps(cdktfVersion, dist);
55
+ const deps = await determineDeps(cdktfVersion, dist, path.basename(templatePath));
56
56
  const futureFlags = Object.entries(features_1.FUTURE_FLAGS)
57
57
  .map(([key, value]) => ` "${key}": "${value}"`)
58
58
  .join(`,\n`);
@@ -78,7 +78,18 @@ async function init({ cdktfVersion, destination, dist, projectId, projectInfo, t
78
78
  return needsGet;
79
79
  }
80
80
  exports.init = init;
81
- async function determineDeps(version = pkg.version, dist) {
81
+ // Each built-in template only consumes the dist artifact for its own
82
+ // language. Skipping the others lets `cdktn init --dist` work when only
83
+ // some language dists are present (e.g. CI ran `yarn package:js` only).
84
+ const distKeysByTemplate = {
85
+ typescript: ["npm_cdktf"],
86
+ python: ["pypi_cdktf"],
87
+ "python-pip": ["pypi_cdktf"],
88
+ java: ["mvn_cdktf"],
89
+ csharp: ["nuget_cdktf"],
90
+ go: ["go_cdktf"],
91
+ };
92
+ async function determineDeps(version = pkg.version, dist, template) {
82
93
  // TS: cdktf-0.10.1-dev.2160938258
83
94
  // Py: cdktf-0.10.1.dev1658821493.whl
84
95
  const pythonVersion = version
@@ -94,7 +105,14 @@ async function determineDeps(version = pkg.version, dist) {
94
105
  nuget_cdktf: path.resolve(dist, "dotnet", `Io.Cdktn.${version}.nupkg`),
95
106
  go_cdktf: path.resolve(dist, "go", `cdktn`),
96
107
  };
97
- for (const file of Object.values(ret)) {
108
+ // If we know the template, only validate its artifact; otherwise fall
109
+ // back to validating everything (preserves prior behavior for unknown /
110
+ // remote templates).
111
+ const keysToValidate = template && distKeysByTemplate[template]
112
+ ? distKeysByTemplate[template]
113
+ : Object.keys(ret);
114
+ for (const key of keysToValidate) {
115
+ const file = ret[key];
98
116
  if (!(await fs.pathExists(file))) {
99
117
  throw commons_1.Errors.Internal(`unable to find ${file} under the "dist" directory (${dist})`, new Error(), { version });
100
118
  }
@@ -128,4 +146,4 @@ async function determineDeps(version = pkg.version, dist) {
128
146
  };
129
147
  }
130
148
  exports.determineDeps = determineDeps;
131
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvaW5pdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtCQUErQjtBQUMvQixtQ0FBbUM7QUFDbkMsMkNBQTZCO0FBQzdCLDZDQUErQjtBQUMvQiw4Q0FBZ0M7QUFDaEMsNENBQXdDO0FBRXhDLG1DQUFnQztBQUNoQyxpREFBa0Q7QUFDbEQsaURBQTZDO0FBQzdDLGlEQUE2QztBQUU3QyxNQUFNLGVBQWUsR0FBRyxHQUFHLEVBQUU7SUFDM0IsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQy9DLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNiLE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7QUFDdkQsQ0FBQyxDQUFDO0FBQ0YsTUFBTSxHQUFHLEdBQUcsZUFBZSxFQUFFLENBQUM7QUFDOUIsTUFBTSxpQkFBaUIsR0FBRyxHQUFHLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQztBQTJCekMsUUFBQSxZQUFZLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQztBQUUxRSxNQUFNLGtCQUFrQixHQUFHLEVBQUU7S0FDMUIsV0FBVyxDQUFDLG9CQUFZLENBQUM7S0FDekIsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUN4QixRQUFBLFNBQVMsR0FBYSxFQUFFLENBQUM7QUFDdEMs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akMsTUFBTSxnQkFBTSxDQUFDLFFBQVEsQ0FDbkIsa0JBQWtCLElBQUksZ0NBQWdDLElBQUksR0FBRyxFQUM3RCxJQUFJLEtBQUssRUFBRSxFQUNYLEVBQUUsT0FBTyxFQUFFLENBQ1osQ0FBQztZQUNKLENBQUM7UUFDSCxDQUFDO1FBRUQsTUFBTSxRQUFRLEdBQUc7WUFDZixhQUFhLEVBQUUsT0FBTztZQUN0QixrQkFBa0IsRUFBRSxpQkFBaUI7U0FDdEMsQ0FBQztRQUVGLE9BQU87WUFDTCxHQUFHLEdBQUc7WUFDTixHQUFHLFFBQVE7U0FDWixDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksT0FBTyxLQUFLLE9BQU8sRUFBRSxDQUFDO1FBQ3hCLE1BQU0sZ0JBQU0sQ0FBQyxLQUFLLENBQ2hCLHdHQUF3RyxDQUN6RyxDQUFDO0lBQ0osQ0FBQztJQUVELDRFQUE0RTtJQUM1RSxvRUFBb0U7SUFDcEUseUVBQXlFO0lBQ3pFLFdBQVc7SUFDWCxNQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksT0FBTyxFQUFFLENBQUM7SUFFNUQsT0FBTztRQUNMLGFBQWEsRUFBRSxPQUFPO1FBQ3RCLGtCQUFrQixFQUFFLGlCQUFpQjtRQUNyQyxTQUFTLEVBQUUsU0FBUyxHQUFHLEVBQUU7UUFDekIsYUFBYSxFQUFFLGFBQWEsR0FBRyxFQUFFO1FBQ2pDLFVBQVUsRUFBRSxVQUFVLGFBQWEsRUFBRTtRQUNyQyxTQUFTLEVBQUUsT0FBTztRQUNsQixXQUFXLEVBQUUsT0FBTztRQUNwQixRQUFRLEVBQUUsSUFBSSxPQUFPLEVBQUU7S0FDeEIsQ0FBQztBQUNKLENBQUM7QUF4RUQsc0NBd0VDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbmltcG9ydCAqIGFzIHBhdGggZnJvbSBcInBhdGhcIjtcbmltcG9ydCAqIGFzIGZzIGZyb20gXCJmcy1leHRyYVwiO1xuaW1wb3J0ICogYXMgcGtnVXAgZnJvbSBcInBrZy11cFwiO1xuaW1wb3J0IHsgRXJyb3JzIH0gZnJvbSBcIkBjZGt0bi9jb21tb25zXCI7XG5cbmltcG9ydCB7IHNzY2FmZiB9IGZyb20gXCJzc2NhZmZcIjtcbmltcG9ydCB7IEZVVFVSRV9GTEFHUyB9IGZyb20gXCJjZGt0bi9saWIvZmVhdHVyZXNcIjtcbmltcG9ydCB7IENka3RmQ29uZmlnIH0gZnJvbSBcIi4vY2RrdGYtY29uZmlnXCI7XG5pbXBvcnQgeyBwcm92aWRlckFkZCB9IGZyb20gXCIuL3Byb3ZpZGVyLWFkZFwiO1xuXG5jb25zdCByZWFkUGFja2FnZUpzb24gPSAoKSA9PiB7XG4gIGNvbnN0IHBrZ1BhdGggPSBwa2dVcC5zeW5jKHsgY3dkOiBfX2Rpcm5hbWUgfSk7XG4gIGlmICghcGtnUGF0aCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcInVuYWJsZSB0byBmaW5kIHBhY2thZ2UuanNvblwiKTtcbiAgfVxuXG4gIHJldHVybiBKU09OLnBhcnNlKGZzLnJlYWRGaWxlU3luYyhwa2dQYXRoLCBcInV0Zi04XCIpKTtcbn07XG5jb25zdCBwa2cgPSByZWFkUGFja2FnZUpzb24oKTtcbmNvbnN0IGNvbnN0cnVjdHNWZXJzaW9uID0gcGtnLmRlcGVuZGVuY2llcy5jb25zdHJ1Y3RzO1xuXG5leHBvcnQgaW50ZXJmYWNlIExvY2FsUHJvamVjdCB7XG4gIERlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIE5hbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZW1vdGVQcm9qZWN0IGV4dGVuZHMgTG9jYWxQcm9qZWN0IHtcbiAgT3JnYW5pemF0aW9uTmFtZTogc3RyaW5nO1xuICBXb3Jrc3BhY2VOYW1lOiBzdHJpbmc7XG4gIFRlcnJhZm9ybVJlbW90ZUhvc3RuYW1lOiBzdHJpbmc7XG59XG5leHBvcnQgdHlwZSBQcm9qZWN0ID0gTG9jYWxQcm9qZWN0IHwgUmVtb3RlUHJvamVjdDtcblxuZXhwb3J0IHR5cGUgSW5pdEFyZ3MgPSB7XG4gIGNka3RmVmVyc2lvbj86IHN0cmluZztcbiAgZGVzdGluYXRpb246IHN0cmluZztcbiAgZGlzdD86IHN0cmluZztcbiAgcHJvdmlkZXJzPzogc3RyaW5nW107XG4gIHByb3ZpZGVyc0ZvcmNlTG9jYWw/OiBib29sZWFuO1xuICBwcm9qZWN0SWQ6IHN0cmluZztcbiAgcHJvamVjdEluZm86IFByb2plY3Q7XG4gIHRlbXBsYXRlUGF0aDogc3RyaW5nO1xuICBzZW5kQ3Jhc2hSZXBvcnRzOiBib29sZWFuO1xuICBzaWxlbnQ/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IGNvbnN0IHRlbXBsYXRlc0RpciA9IHBhdGguam9pbihfX2Rpcm5hbWUsIFwiLi5cIiwgXCIuLlwiLCBcInRlbXBsYXRlc1wiKTtcblxuY29uc3QgYXZhaWxhYmxlVGVtcGxhdGVzID0gZnNcbiAgLnJlYWRkaXJTeW5jKHRlbXBsYXRlc0RpcilcbiAgLmZpbHRlcigoeCkgPT4gIXguc3RhcnRzV2l0aChcIi5cIikpO1xuZXhwb3J0IGNvbnN0IHRlbXBsYXRlczogc3RyaW5nW10gPSBbXTtcbmZvciAoY29uc3QgdGVtcGxhdGUgb2YgYXZhaWxhYmxlVGVtcGxhdGVzKSB7XG4gIHRlbXBsYXRlcy5wdXNoKHRlbXBsYXRlKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGluaXQoe1xuICBjZGt0ZlZlcnNpb24sXG4gIGRlc3RpbmF0aW9uLFxuICBkaXN0LFxuICBwcm9qZWN0SWQsXG4gIHByb2plY3RJbmZvLFxuICB0ZW1wbGF0ZVBhdGgsXG4gIHNlbmRDcmFzaFJlcG9ydHMsXG4gIHByb3ZpZGVycyxcbiAgcHJvdmlkZXJzRm9yY2VMb2NhbCxcbiAgc2lsZW50LFxufTogSW5pdEFyZ3MpIHtcbiAgY29uc3QgZGVwczogYW55ID0gYXdhaXQgZGV0ZXJtaW5lRGVwcyhjZGt0ZlZlcnNpb24sIGRpc3QpO1xuXG4gIGNvbnN0IGZ1dHVyZUZsYWdzID0gT2JqZWN0LmVudHJpZXMoRlVUVVJFX0ZMQUdTKVxuICAgIC5tYXAoKFtrZXksIHZhbHVlXSkgPT4gYCAgICBcIiR7a2V5fVwiOiBcIiR7dmFsdWV9XCJgKVxuICAgIC5qb2luKGAsXFxuYCk7XG5cbiAgYXdhaXQgc3NjYWZmKHRlbXBsYXRlUGF0aCwgZGVzdGluYXRpb24sIHtcbiAgICAuLi5kZXBzLFxuICAgIC4uLnByb2plY3RJbmZvLFxuICAgIGZ1dHVyZUZsYWdzLFxuICAgIHByb2plY3RJZCxcbiAgICBzZW5kQ3Jhc2hSZXBvcnRzLFxuICAgIHNpbGVudCxcbiAgfSk7XG4gIGNvbnN0IGNka3RmQ29uZmlnID0gQ2RrdGZDb25maWcucmVhZChkZXN0aW5hdGlvbik7XG5cbiAgbGV0IG5lZWRzR2V0ID0gZmFsc2U7XG4gIGlmIChwcm92aWRlcnMgJiYgcHJvdmlkZXJzLmxlbmd0aCkge1xuICAgIG5lZWRzR2V0ID0gYXdhaXQgcHJvdmlkZXJBZGQoe1xuICAgICAgcHJvdmlkZXJzOiBwcm92aWRlcnMsXG4gICAgICBsYW5ndWFnZTogY2RrdGZDb25maWcubGFuZ3VhZ2UsXG4gICAgICBwcm9qZWN0RGlyZWN0b3J5OiBkZXN0aW5hdGlvbixcbiAgICAgIGZvcmNlTG9jYWw6IHByb3ZpZGVyc0ZvcmNlTG9jYWwsXG4gICAgICBkaXN0LFxuICAgIH0pO1xuICB9XG4gIHJldHVybiBuZWVkc0dldDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZXBzIHtcbiAgbnBtX2Nka3RmOiBzdHJpbmc7XG4gIG5wbV9jZGt0Zl9jbGk6IHN0cmluZztcbiAgcHlwaV9jZGt0Zjogc3RyaW5nO1xuICBtdm5fY2RrdGY6IHN0cmluZztcbiAgbnVnZXRfY2RrdGY6IHN0cmluZztcbiAgZ29fY2RrdGY6IHN0cmluZztcbiAgY2RrdGZfdmVyc2lvbjogc3RyaW5nO1xuICBjb25zdHJ1Y3RzX3ZlcnNpb246IHN0cmluZztcbn1cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBkZXRlcm1pbmVEZXBzKFxuICB2ZXJzaW9uOiBzdHJpbmcgPSBwa2cudmVyc2lvbixcbiAgZGlzdD86IHN0cmluZyxcbik6IFByb21pc2U8RGVwcz4ge1xuICAvLyBUUzogY2RrdGYtMC4xMC4xLWRldi4yMTYwOTM4MjU4XG4gIC8vIFB5OiBjZGt0Zi0wLjEwLjEuZGV2MTY1ODgyMTQ5My53aGxcbiAgY29uc3QgcHl0aG9uVmVyc2lvbiA9IHZlcnNpb25cbiAgICAucmVwbGFjZSgvLXByZVxcLi9nLCBcIi5kZXZcIilcbiAgICAucmVwbGFjZSgvLWRldlxcLi9nLCBcIi5kZXZcIik7XG5cbiAgaWYgKGRpc3QpIHtcbiAgICAvLyBUT0RPOiBXaGF0IGFib3V0IGV4aXN0aW5nIGNka3RmIFRTL1BZIGRlcGVuZGVuY2llcz9cbiAgICBjb25zdCByZXQgPSB7XG4gICAgICBucG1fY2RrdGY6IHBhdGgucmVzb2x2ZShkaXN0LCBcImpzXCIsIGBjZGt0bkAke3ZlcnNpb259LmpzaWkudGd6YCksXG4gICAgICBucG1fY2RrdGZfY2xpOiBwYXRoLnJlc29sdmUoZGlzdCwgXCJqc1wiLCBgY2RrdG4tY2xpLSR7dmVyc2lvbn0udGd6YCksXG4gICAgICBweXBpX2Nka3RmOiBwYXRoLnJlc29sdmUoXG4gICAgICAgIGRpc3QsXG4gICAgICAgIFwicHl0aG9uXCIsXG4gICAgICAgIGBjZGt0bi0ke3B5dGhvblZlcnNpb259LXB5My1ub25lLWFueS53aGxgLFxuICAgICAgKSxcbiAgICAgIG12bl9jZGt0ZjogcGF0aC5yZXNvbHZlKFxuICAgICAgICBkaXN0LFxuICAgICAgICBcImphdmFcIixcbiAgICAgICAgYGlvL2Nka3RuL2Nka3RuLyR7dmVyc2lvbn0vY2RrdG4tJHt2ZXJzaW9ufS5qYXJgLFxuICAgICAgKSxcbiAgICAgIG51Z2V0X2Nka3RmOiBwYXRoLnJlc29sdmUoZGlzdCwgXCJkb3RuZXRcIiwgYElvLkNka3RuLiR7dmVyc2lvbn0ubnVwa2dgKSxcbiAgICAgIGdvX2Nka3RmOiBwYXRoLnJlc29sdmUoZGlzdCwgXCJnb1wiLCBgY2RrdG5gKSxcbiAgICB9O1xuXG4gICAgZm9yIChjb25zdCBmaWxlIG9mIE9iamVjdC52YWx1ZXMocmV0KSkge1xuICAgICAgaWYgKCEoYXdhaXQgZnMucGF0aEV4aXN0cyhmaWxlKSkpIHtcbiAgICAgICAgdGhyb3cgRXJyb3JzLkludGVybmFsKFxuICAgICAgICAgIGB1bmFibGUgdG8gZmluZCAke2ZpbGV9IHVuZGVyIHRoZSBcImRpc3RcIiBkaXJlY3RvcnkgKCR7ZGlzdH0pYCxcbiAgICAgICAgICBuZXcgRXJyb3IoKSxcbiAgICAgICAgICB7IHZlcnNpb24gfSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCB2ZXJzaW9ucyA9IHtcbiAgICAgIGNka3RmX3ZlcnNpb246IHZlcnNpb24sXG4gICAgICBjb25zdHJ1Y3RzX3ZlcnNpb246IGNvbnN0cnVjdHNWZXJzaW9uLFxuICAgIH07XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4ucmV0LFxuICAgICAgLi4udmVyc2lvbnMsXG4gICAgfTtcbiAgfVxuXG4gIGlmICh2ZXJzaW9uID09PSBcIjAuMC4wXCIpIHtcbiAgICB0aHJvdyBFcnJvcnMuVXNhZ2UoXG4gICAgICBgY2Fubm90IHVzZSB2ZXJzaW9uIDAuMC4wLCB1c2UgLS1jZGt0Zi12ZXJzaW9uLCAtLWRpc3Qgb3IgQ0RLVEZfRElTVCB0byBpbnN0YWxsIGZyb20gYSBcImRpc3RcIiBkaXJlY3RvcnlgLFxuICAgICk7XG4gIH1cblxuICAvLyBkZXRlcm1pbmUgaWYgd2Ugd2FudCBhIHNwZWNpZmljIHBpbm5lZCB2ZXJzaW9uIG9yIGEgdmVyc2lvbiByYW5nZSB3ZSB0YWtlXG4gIC8vIGEgcGlubmVkIHZlcnNpb24gaWYgdmVyc2lvbiBpbmNsdWRlcyBhIGh5cGhlbiB3aGljaCBtZWFucyBpdCBpcyBhXG4gIC8vIHByZS1yZWxlYXNlIChlLmcuIFwiMC4xMi4wLXByZS5lNjgzNGQzXCIpLiBvdGhlcndpc2UsIHdlIHJlcXVpcmUgYSBjYXJldFxuICAvLyB2ZXJzaW9uLlxuICBjb25zdCB2ZXIgPSB2ZXJzaW9uLmluY2x1ZGVzKFwiLVwiKSA/IHZlcnNpb24gOiBgXiR7dmVyc2lvbn1gO1xuXG4gIHJldHVybiB7XG4gICAgY2RrdGZfdmVyc2lvbjogdmVyc2lvbixcbiAgICBjb25zdHJ1Y3RzX3ZlcnNpb246IGNvbnN0cnVjdHNWZXJzaW9uLFxuICAgIG5wbV9jZGt0ZjogYGNka3RuQCR7dmVyfWAsXG4gICAgbnBtX2Nka3RmX2NsaTogYGNka3RuLWNsaUAke3Zlcn1gLFxuICAgIHB5cGlfY2RrdGY6IGBjZGt0bn49JHtweXRob25WZXJzaW9ufWAsXG4gICAgbXZuX2Nka3RmOiB2ZXJzaW9uLFxuICAgIG51Z2V0X2Nka3RmOiB2ZXJzaW9uLFxuICAgIGdvX2Nka3RmOiBgdiR7dmVyc2lvbn1gLFxuICB9O1xufVxuIl19
149
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvaW5pdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtCQUErQjtBQUMvQixtQ0FBbUM7QUFDbkMsMkNBQTZCO0FBQzdCLDZDQUErQjtBQUMvQiw4Q0FBZ0M7QUFDaEMsNENBQXdDO0FBRXhDLG1DQUFnQztBQUNoQyxpREFBa0Q7QUFDbEQsaURBQTZDO0FBQzdDLGlEQUE2QztBQUU3QyxNQUFNLGVBQWUsR0FBRyxHQUFHLEVBQUU7SUFDM0IsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQy9DLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNiLE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7QUFDdkQsQ0FBQyxDQUFDO0FBQ0YsTUFBTSxHQUFHLEdBQUcsZUFBZSxFQUFFLENBQUM7QUFDOUIsTUFBTSxpQkFBaUIsR0FBRyxHQUFHLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQztBQTJCekMsUUFBQSxZQUFZLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQztBQUUxRSxNQUFNLGtCQUFrQixHQUFHLEVBQUU7S0FDMUIsV0FBVyxDQUFDLG9CQUFZLENBQUM7S0FDekIsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUN4QixRQUFBLFNBQVMsR0FBYSxFQUFFLENBQUM7QUFDdEMs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cEUseUVBQXlFO0lBQ3pFLFdBQVc7SUFDWCxNQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksT0FBTyxFQUFFLENBQUM7SUFFNUQsT0FBTztRQUNMLGFBQWEsRUFBRSxPQUFPO1FBQ3RCLGtCQUFrQixFQUFFLGlCQUFpQjtRQUNyQyxTQUFTLEVBQUUsU0FBUyxHQUFHLEVBQUU7UUFDekIsYUFBYSxFQUFFLGFBQWEsR0FBRyxFQUFFO1FBQ2pDLFVBQVUsRUFBRSxVQUFVLGFBQWEsRUFBRTtRQUNyQyxTQUFTLEVBQUUsT0FBTztRQUNsQixXQUFXLEVBQUUsT0FBTztRQUNwQixRQUFRLEVBQUUsSUFBSSxPQUFPLEVBQUU7S0FDeEIsQ0FBQztBQUNKLENBQUM7QUFsRkQsc0NBa0ZDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbmltcG9ydCAqIGFzIHBhdGggZnJvbSBcInBhdGhcIjtcbmltcG9ydCAqIGFzIGZzIGZyb20gXCJmcy1leHRyYVwiO1xuaW1wb3J0ICogYXMgcGtnVXAgZnJvbSBcInBrZy11cFwiO1xuaW1wb3J0IHsgRXJyb3JzIH0gZnJvbSBcIkBjZGt0bi9jb21tb25zXCI7XG5cbmltcG9ydCB7IHNzY2FmZiB9IGZyb20gXCJzc2NhZmZcIjtcbmltcG9ydCB7IEZVVFVSRV9GTEFHUyB9IGZyb20gXCJjZGt0bi9saWIvZmVhdHVyZXNcIjtcbmltcG9ydCB7IENka3RmQ29uZmlnIH0gZnJvbSBcIi4vY2RrdGYtY29uZmlnXCI7XG5pbXBvcnQgeyBwcm92aWRlckFkZCB9IGZyb20gXCIuL3Byb3ZpZGVyLWFkZFwiO1xuXG5jb25zdCByZWFkUGFja2FnZUpzb24gPSAoKSA9PiB7XG4gIGNvbnN0IHBrZ1BhdGggPSBwa2dVcC5zeW5jKHsgY3dkOiBfX2Rpcm5hbWUgfSk7XG4gIGlmICghcGtnUGF0aCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcInVuYWJsZSB0byBmaW5kIHBhY2thZ2UuanNvblwiKTtcbiAgfVxuXG4gIHJldHVybiBKU09OLnBhcnNlKGZzLnJlYWRGaWxlU3luYyhwa2dQYXRoLCBcInV0Zi04XCIpKTtcbn07XG5jb25zdCBwa2cgPSByZWFkUGFja2FnZUpzb24oKTtcbmNvbnN0IGNvbnN0cnVjdHNWZXJzaW9uID0gcGtnLmRlcGVuZGVuY2llcy5jb25zdHJ1Y3RzO1xuXG5leHBvcnQgaW50ZXJmYWNlIExvY2FsUHJvamVjdCB7XG4gIERlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIE5hbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZW1vdGVQcm9qZWN0IGV4dGVuZHMgTG9jYWxQcm9qZWN0IHtcbiAgT3JnYW5pemF0aW9uTmFtZTogc3RyaW5nO1xuICBXb3Jrc3BhY2VOYW1lOiBzdHJpbmc7XG4gIFRlcnJhZm9ybVJlbW90ZUhvc3RuYW1lOiBzdHJpbmc7XG59XG5leHBvcnQgdHlwZSBQcm9qZWN0ID0gTG9jYWxQcm9qZWN0IHwgUmVtb3RlUHJvamVjdDtcblxuZXhwb3J0IHR5cGUgSW5pdEFyZ3MgPSB7XG4gIGNka3RmVmVyc2lvbj86IHN0cmluZztcbiAgZGVzdGluYXRpb246IHN0cmluZztcbiAgZGlzdD86IHN0cmluZztcbiAgcHJvdmlkZXJzPzogc3RyaW5nW107XG4gIHByb3ZpZGVyc0ZvcmNlTG9jYWw/OiBib29sZWFuO1xuICBwcm9qZWN0SWQ6IHN0cmluZztcbiAgcHJvamVjdEluZm86IFByb2plY3Q7XG4gIHRlbXBsYXRlUGF0aDogc3RyaW5nO1xuICBzZW5kQ3Jhc2hSZXBvcnRzOiBib29sZWFuO1xuICBzaWxlbnQ/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IGNvbnN0IHRlbXBsYXRlc0RpciA9IHBhdGguam9pbihfX2Rpcm5hbWUsIFwiLi5cIiwgXCIuLlwiLCBcInRlbXBsYXRlc1wiKTtcblxuY29uc3QgYXZhaWxhYmxlVGVtcGxhdGVzID0gZnNcbiAgLnJlYWRkaXJTeW5jKHRlbXBsYXRlc0RpcilcbiAgLmZpbHRlcigoeCkgPT4gIXguc3RhcnRzV2l0aChcIi5cIikpO1xuZXhwb3J0IGNvbnN0IHRlbXBsYXRlczogc3RyaW5nW10gPSBbXTtcbmZvciAoY29uc3QgdGVtcGxhdGUgb2YgYXZhaWxhYmxlVGVtcGxhdGVzKSB7XG4gIHRlbXBsYXRlcy5wdXNoKHRlbXBsYXRlKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGluaXQoe1xuICBjZGt0ZlZlcnNpb24sXG4gIGRlc3RpbmF0aW9uLFxuICBkaXN0LFxuICBwcm9qZWN0SWQsXG4gIHByb2plY3RJbmZvLFxuICB0ZW1wbGF0ZVBhdGgsXG4gIHNlbmRDcmFzaFJlcG9ydHMsXG4gIHByb3ZpZGVycyxcbiAgcHJvdmlkZXJzRm9yY2VMb2NhbCxcbiAgc2lsZW50LFxufTogSW5pdEFyZ3MpIHtcbiAgY29uc3QgZGVwczogYW55ID0gYXdhaXQgZGV0ZXJtaW5lRGVwcyhcbiAgICBjZGt0ZlZlcnNpb24sXG4gICAgZGlzdCxcbiAgICBwYXRoLmJhc2VuYW1lKHRlbXBsYXRlUGF0aCksXG4gICk7XG5cbiAgY29uc3QgZnV0dXJlRmxhZ3MgPSBPYmplY3QuZW50cmllcyhGVVRVUkVfRkxBR1MpXG4gICAgLm1hcCgoW2tleSwgdmFsdWVdKSA9PiBgICAgIFwiJHtrZXl9XCI6IFwiJHt2YWx1ZX1cImApXG4gICAgLmpvaW4oYCxcXG5gKTtcblxuICBhd2FpdCBzc2NhZmYodGVtcGxhdGVQYXRoLCBkZXN0aW5hdGlvbiwge1xuICAgIC4uLmRlcHMsXG4gICAgLi4ucHJvamVjdEluZm8sXG4gICAgZnV0dXJlRmxhZ3MsXG4gICAgcHJvamVjdElkLFxuICAgIHNlbmRDcmFzaFJlcG9ydHMsXG4gICAgc2lsZW50LFxuICB9KTtcbiAgY29uc3QgY2RrdGZDb25maWcgPSBDZGt0ZkNvbmZpZy5yZWFkKGRlc3RpbmF0aW9uKTtcblxuICBsZXQgbmVlZHNHZXQgPSBmYWxzZTtcbiAgaWYgKHByb3ZpZGVycyAmJiBwcm92aWRlcnMubGVuZ3RoKSB7XG4gICAgbmVlZHNHZXQgPSBhd2FpdCBwcm92aWRlckFkZCh7XG4gICAgICBwcm92aWRlcnM6IHByb3ZpZGVycyxcbiAgICAgIGxhbmd1YWdlOiBjZGt0ZkNvbmZpZy5sYW5ndWFnZSxcbiAgICAgIHByb2plY3REaXJlY3Rvcnk6IGRlc3RpbmF0aW9uLFxuICAgICAgZm9yY2VMb2NhbDogcHJvdmlkZXJzRm9yY2VMb2NhbCxcbiAgICAgIGRpc3QsXG4gICAgfSk7XG4gIH1cbiAgcmV0dXJuIG5lZWRzR2V0O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERlcHMge1xuICBucG1fY2RrdGY6IHN0cmluZztcbiAgbnBtX2Nka3RmX2NsaTogc3RyaW5nO1xuICBweXBpX2Nka3RmOiBzdHJpbmc7XG4gIG12bl9jZGt0Zjogc3RyaW5nO1xuICBudWdldF9jZGt0Zjogc3RyaW5nO1xuICBnb19jZGt0Zjogc3RyaW5nO1xuICBjZGt0Zl92ZXJzaW9uOiBzdHJpbmc7XG4gIGNvbnN0cnVjdHNfdmVyc2lvbjogc3RyaW5nO1xufVxudHlwZSBEaXN0S2V5ID0gRXhjbHVkZTxrZXlvZiBEZXBzLCBcImNka3RmX3ZlcnNpb25cIiB8IFwiY29uc3RydWN0c192ZXJzaW9uXCI+O1xuXG4vLyBFYWNoIGJ1aWx0LWluIHRlbXBsYXRlIG9ubHkgY29uc3VtZXMgdGhlIGRpc3QgYXJ0aWZhY3QgZm9yIGl0cyBvd25cbi8vIGxhbmd1YWdlLiBTa2lwcGluZyB0aGUgb3RoZXJzIGxldHMgYGNka3RuIGluaXQgLS1kaXN0YCB3b3JrIHdoZW4gb25seVxuLy8gc29tZSBsYW5ndWFnZSBkaXN0cyBhcmUgcHJlc2VudCAoZS5nLiBDSSByYW4gYHlhcm4gcGFja2FnZTpqc2Agb25seSkuXG5jb25zdCBkaXN0S2V5c0J5VGVtcGxhdGU6IFJlY29yZDxzdHJpbmcsIERpc3RLZXlbXT4gPSB7XG4gIHR5cGVzY3JpcHQ6IFtcIm5wbV9jZGt0ZlwiXSxcbiAgcHl0aG9uOiBbXCJweXBpX2Nka3RmXCJdLFxuICBcInB5dGhvbi1waXBcIjogW1wicHlwaV9jZGt0ZlwiXSxcbiAgamF2YTogW1wibXZuX2Nka3RmXCJdLFxuICBjc2hhcnA6IFtcIm51Z2V0X2Nka3RmXCJdLFxuICBnbzogW1wiZ29fY2RrdGZcIl0sXG59O1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZGV0ZXJtaW5lRGVwcyhcbiAgdmVyc2lvbjogc3RyaW5nID0gcGtnLnZlcnNpb24sXG4gIGRpc3Q/OiBzdHJpbmcsXG4gIHRlbXBsYXRlPzogc3RyaW5nLFxuKTogUHJvbWlzZTxEZXBzPiB7XG4gIC8vIFRTOiBjZGt0Zi0wLjEwLjEtZGV2LjIxNjA5MzgyNThcbiAgLy8gUHk6IGNka3RmLTAuMTAuMS5kZXYxNjU4ODIxNDkzLndobFxuICBjb25zdCBweXRob25WZXJzaW9uID0gdmVyc2lvblxuICAgIC5yZXBsYWNlKC8tcHJlXFwuL2csIFwiLmRldlwiKVxuICAgIC5yZXBsYWNlKC8tZGV2XFwuL2csIFwiLmRldlwiKTtcblxuICBpZiAoZGlzdCkge1xuICAgIC8vIFRPRE86IFdoYXQgYWJvdXQgZXhpc3RpbmcgY2RrdGYgVFMvUFkgZGVwZW5kZW5jaWVzP1xuICAgIGNvbnN0IHJldCA9IHtcbiAgICAgIG5wbV9jZGt0ZjogcGF0aC5yZXNvbHZlKGRpc3QsIFwianNcIiwgYGNka3RuQCR7dmVyc2lvbn0uanNpaS50Z3pgKSxcbiAgICAgIG5wbV9jZGt0Zl9jbGk6IHBhdGgucmVzb2x2ZShkaXN0LCBcImpzXCIsIGBjZGt0bi1jbGktJHt2ZXJzaW9ufS50Z3pgKSxcbiAgICAgIHB5cGlfY2RrdGY6IHBhdGgucmVzb2x2ZShcbiAgICAgICAgZGlzdCxcbiAgICAgICAgXCJweXRob25cIixcbiAgICAgICAgYGNka3RuLSR7cHl0aG9uVmVyc2lvbn0tcHkzLW5vbmUtYW55LndobGAsXG4gICAgICApLFxuICAgICAgbXZuX2Nka3RmOiBwYXRoLnJlc29sdmUoXG4gICAgICAgIGRpc3QsXG4gICAgICAgIFwiamF2YVwiLFxuICAgICAgICBgaW8vY2RrdG4vY2RrdG4vJHt2ZXJzaW9ufS9jZGt0bi0ke3ZlcnNpb259LmphcmAsXG4gICAgICApLFxuICAgICAgbnVnZXRfY2RrdGY6IHBhdGgucmVzb2x2ZShkaXN0LCBcImRvdG5ldFwiLCBgSW8uQ2RrdG4uJHt2ZXJzaW9ufS5udXBrZ2ApLFxuICAgICAgZ29fY2RrdGY6IHBhdGgucmVzb2x2ZShkaXN0LCBcImdvXCIsIGBjZGt0bmApLFxuICAgIH07XG5cbiAgICAvLyBJZiB3ZSBrbm93IHRoZSB0ZW1wbGF0ZSwgb25seSB2YWxpZGF0ZSBpdHMgYXJ0aWZhY3Q7IG90aGVyd2lzZSBmYWxsXG4gICAgLy8gYmFjayB0byB2YWxpZGF0aW5nIGV2ZXJ5dGhpbmcgKHByZXNlcnZlcyBwcmlvciBiZWhhdmlvciBmb3IgdW5rbm93biAvXG4gICAgLy8gcmVtb3RlIHRlbXBsYXRlcykuXG4gICAgY29uc3Qga2V5c1RvVmFsaWRhdGU6IERpc3RLZXlbXSA9XG4gICAgICB0ZW1wbGF0ZSAmJiBkaXN0S2V5c0J5VGVtcGxhdGVbdGVtcGxhdGVdXG4gICAgICAgID8gZGlzdEtleXNCeVRlbXBsYXRlW3RlbXBsYXRlXVxuICAgICAgICA6IChPYmplY3Qua2V5cyhyZXQpIGFzIERpc3RLZXlbXSk7XG5cbiAgICBmb3IgKGNvbnN0IGtleSBvZiBrZXlzVG9WYWxpZGF0ZSkge1xuICAgICAgY29uc3QgZmlsZSA9IHJldFtrZXldO1xuICAgICAgaWYgKCEoYXdhaXQgZnMucGF0aEV4aXN0cyhmaWxlKSkpIHtcbiAgICAgICAgdGhyb3cgRXJyb3JzLkludGVybmFsKFxuICAgICAgICAgIGB1bmFibGUgdG8gZmluZCAke2ZpbGV9IHVuZGVyIHRoZSBcImRpc3RcIiBkaXJlY3RvcnkgKCR7ZGlzdH0pYCxcbiAgICAgICAgICBuZXcgRXJyb3IoKSxcbiAgICAgICAgICB7IHZlcnNpb24gfSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCB2ZXJzaW9ucyA9IHtcbiAgICAgIGNka3RmX3ZlcnNpb246IHZlcnNpb24sXG4gICAgICBjb25zdHJ1Y3RzX3ZlcnNpb246IGNvbnN0cnVjdHNWZXJzaW9uLFxuICAgIH07XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4ucmV0LFxuICAgICAgLi4udmVyc2lvbnMsXG4gICAgfTtcbiAgfVxuXG4gIGlmICh2ZXJzaW9uID09PSBcIjAuMC4wXCIpIHtcbiAgICB0aHJvdyBFcnJvcnMuVXNhZ2UoXG4gICAgICBgY2Fubm90IHVzZSB2ZXJzaW9uIDAuMC4wLCB1c2UgLS1jZGt0Zi12ZXJzaW9uLCAtLWRpc3Qgb3IgQ0RLVEZfRElTVCB0byBpbnN0YWxsIGZyb20gYSBcImRpc3RcIiBkaXJlY3RvcnlgLFxuICAgICk7XG4gIH1cblxuICAvLyBkZXRlcm1pbmUgaWYgd2Ugd2FudCBhIHNwZWNpZmljIHBpbm5lZCB2ZXJzaW9uIG9yIGEgdmVyc2lvbiByYW5nZSB3ZSB0YWtlXG4gIC8vIGEgcGlubmVkIHZlcnNpb24gaWYgdmVyc2lvbiBpbmNsdWRlcyBhIGh5cGhlbiB3aGljaCBtZWFucyBpdCBpcyBhXG4gIC8vIHByZS1yZWxlYXNlIChlLmcuIFwiMC4xMi4wLXByZS5lNjgzNGQzXCIpLiBvdGhlcndpc2UsIHdlIHJlcXVpcmUgYSBjYXJldFxuICAvLyB2ZXJzaW9uLlxuICBjb25zdCB2ZXIgPSB2ZXJzaW9uLmluY2x1ZGVzKFwiLVwiKSA/IHZlcnNpb24gOiBgXiR7dmVyc2lvbn1gO1xuXG4gIHJldHVybiB7XG4gICAgY2RrdGZfdmVyc2lvbjogdmVyc2lvbixcbiAgICBjb25zdHJ1Y3RzX3ZlcnNpb246IGNvbnN0cnVjdHNWZXJzaW9uLFxuICAgIG5wbV9jZGt0ZjogYGNka3RuQCR7dmVyfWAsXG4gICAgbnBtX2Nka3RmX2NsaTogYGNka3RuLWNsaUAke3Zlcn1gLFxuICAgIHB5cGlfY2RrdGY6IGBjZGt0bn49JHtweXRob25WZXJzaW9ufWAsXG4gICAgbXZuX2Nka3RmOiB2ZXJzaW9uLFxuICAgIG51Z2V0X2Nka3RmOiB2ZXJzaW9uLFxuICAgIGdvX2Nka3RmOiBgdiR7dmVyc2lvbn1gLFxuICB9O1xufVxuIl19
@@ -0,0 +1,12 @@
1
+ import { TerraformTargetVersions } from "@cdktn/commons";
2
+ /**
3
+ * Verifies that the installed Terraform-compatible binary satisfies the
4
+ * project's declared `targetVersions` (cdktf.json). Only invoked when the
5
+ * project opts in via `validateInstalledBinary: true`, by commands that are
6
+ * about to execute the binary anyway.
7
+ *
8
+ * Declared targets state the project's supported range; this check is the
9
+ * explicit step that proves the local binary actually falls inside it.
10
+ */
11
+ export declare function checkInstalledBinaryAgainstTargets(versionOutput: string, declaredTargets: TerraformTargetVersions | undefined, binaryName: string): string[];
12
+ //# sourceMappingURL=installed-binary-check.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"installed-binary-check.d.ts","sourceRoot":"","sources":["../../src/lib/installed-binary-check.ts"],"names":[],"mappings":"AAGA,OAAO,EAGL,uBAAuB,EACxB,MAAM,gBAAgB,CAAC;AAExB;;;;;;;;GAQG;AACH,wBAAgB,kCAAkC,CAChD,aAAa,EAAE,MAAM,EACrB,eAAe,EAAE,uBAAuB,GAAG,SAAS,EACpD,UAAU,EAAE,MAAM,GACjB,MAAM,EAAE,CA0BV"}
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
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
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.checkInstalledBinaryAgainstTargets = void 0;
27
+ // Copyright (c) HashiCorp, Inc
28
+ // SPDX-License-Identifier: MPL-2.0
29
+ const semver = __importStar(require("semver"));
30
+ const commons_1 = require("@cdktn/commons");
31
+ /**
32
+ * Verifies that the installed Terraform-compatible binary satisfies the
33
+ * project's declared `targetVersions` (cdktf.json). Only invoked when the
34
+ * project opts in via `validateInstalledBinary: true`, by commands that are
35
+ * about to execute the binary anyway.
36
+ *
37
+ * Declared targets state the project's supported range; this check is the
38
+ * explicit step that proves the local binary actually falls inside it.
39
+ */
40
+ function checkInstalledBinaryAgainstTargets(versionOutput, declaredTargets, binaryName) {
41
+ const targets = declaredTargets !== null && declaredTargets !== void 0 ? declaredTargets : commons_1.DEFAULT_TARGET_VERSIONS;
42
+ const cli = (0, commons_1.parseTerraformCliVersion)(versionOutput);
43
+ if (cli.name === "unknown" || !cli.version) {
44
+ return [
45
+ `Could not determine whether ${binaryName} is Terraform or OpenTofu from its version output, unable to verify it against the declared targetVersions`,
46
+ ];
47
+ }
48
+ const declaredRange = targets[cli.name];
49
+ if (!declaredRange) {
50
+ return [
51
+ `The installed binary "${binaryName}" is ${cli.name} ${cli.version}, but the project's targetVersions does not declare ${cli.name} (declared: ${JSON.stringify(targets)})`,
52
+ ];
53
+ }
54
+ if (!semver.satisfies(cli.version, declaredRange)) {
55
+ return [
56
+ `The installed binary "${binaryName}" is ${cli.name} ${cli.version}, which is outside the project's declared targetVersions.${cli.name} range "${declaredRange}"`,
57
+ ];
58
+ }
59
+ return [];
60
+ }
61
+ exports.checkInstalledBinaryAgainstTargets = checkInstalledBinaryAgainstTargets;
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdGFsbGVkLWJpbmFyeS1jaGVjay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvaW5zdGFsbGVkLWJpbmFyeS1jaGVjay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtCQUErQjtBQUMvQixtQ0FBbUM7QUFDbkMsK0NBQWlDO0FBQ2pDLDRDQUl3QjtBQUV4Qjs7Ozs7Ozs7R0FRRztBQUNILFNBQWdCLGtDQUFrQyxDQUNoRCxhQUFxQixFQUNyQixlQUFvRCxFQUNwRCxVQUFrQjtJQUVsQixNQUFNLE9BQU8sR0FBRyxlQUFlLGFBQWYsZUFBZSxjQUFmLGVBQWUsR0FBSSxpQ0FBdUIsQ0FBQztJQUMzRCxNQUFNLEdBQUcsR0FBRyxJQUFBLGtDQUF3QixFQUFDLGFBQWEsQ0FBQyxDQUFDO0lBRXBELElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxTQUFTLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDM0MsT0FBTztZQUNMLCtCQUErQixVQUFVLDRHQUE0RztTQUN0SixDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ25CLE9BQU87WUFDTCx5QkFBeUIsVUFBVSxRQUFRLEdBQUcsQ0FBQyxJQUFJLElBQUksR0FBRyxDQUFDLE9BQU8sdURBQXVELEdBQUcsQ0FBQyxJQUFJLGVBQWUsSUFBSSxDQUFDLFNBQVMsQ0FDNUosT0FBTyxDQUNSLEdBQUc7U0FDTCxDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsYUFBYSxDQUFDLEVBQUUsQ0FBQztRQUNsRCxPQUFPO1lBQ0wseUJBQXlCLFVBQVUsUUFBUSxHQUFHLENBQUMsSUFBSSxJQUFJLEdBQUcsQ0FBQyxPQUFPLDREQUE0RCxHQUFHLENBQUMsSUFBSSxXQUFXLGFBQWEsR0FBRztTQUNsSyxDQUFDO0lBQ0osQ0FBQztJQUVELE9BQU8sRUFBRSxDQUFDO0FBQ1osQ0FBQztBQTlCRCxnRkE4QkMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0ICogYXMgc2VtdmVyIGZyb20gXCJzZW12ZXJcIjtcbmltcG9ydCB7XG4gIERFRkFVTFRfVEFSR0VUX1ZFUlNJT05TLFxuICBwYXJzZVRlcnJhZm9ybUNsaVZlcnNpb24sXG4gIFRlcnJhZm9ybVRhcmdldFZlcnNpb25zLFxufSBmcm9tIFwiQGNka3RuL2NvbW1vbnNcIjtcblxuLyoqXG4gKiBWZXJpZmllcyB0aGF0IHRoZSBpbnN0YWxsZWQgVGVycmFmb3JtLWNvbXBhdGlibGUgYmluYXJ5IHNhdGlzZmllcyB0aGVcbiAqIHByb2plY3QncyBkZWNsYXJlZCBgdGFyZ2V0VmVyc2lvbnNgIChjZGt0Zi5qc29uKS4gT25seSBpbnZva2VkIHdoZW4gdGhlXG4gKiBwcm9qZWN0IG9wdHMgaW4gdmlhIGB2YWxpZGF0ZUluc3RhbGxlZEJpbmFyeTogdHJ1ZWAsIGJ5IGNvbW1hbmRzIHRoYXQgYXJlXG4gKiBhYm91dCB0byBleGVjdXRlIHRoZSBiaW5hcnkgYW55d2F5LlxuICpcbiAqIERlY2xhcmVkIHRhcmdldHMgc3RhdGUgdGhlIHByb2plY3QncyBzdXBwb3J0ZWQgcmFuZ2U7IHRoaXMgY2hlY2sgaXMgdGhlXG4gKiBleHBsaWNpdCBzdGVwIHRoYXQgcHJvdmVzIHRoZSBsb2NhbCBiaW5hcnkgYWN0dWFsbHkgZmFsbHMgaW5zaWRlIGl0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gY2hlY2tJbnN0YWxsZWRCaW5hcnlBZ2FpbnN0VGFyZ2V0cyhcbiAgdmVyc2lvbk91dHB1dDogc3RyaW5nLFxuICBkZWNsYXJlZFRhcmdldHM6IFRlcnJhZm9ybVRhcmdldFZlcnNpb25zIHwgdW5kZWZpbmVkLFxuICBiaW5hcnlOYW1lOiBzdHJpbmcsXG4pOiBzdHJpbmdbXSB7XG4gIGNvbnN0IHRhcmdldHMgPSBkZWNsYXJlZFRhcmdldHMgPz8gREVGQVVMVF9UQVJHRVRfVkVSU0lPTlM7XG4gIGNvbnN0IGNsaSA9IHBhcnNlVGVycmFmb3JtQ2xpVmVyc2lvbih2ZXJzaW9uT3V0cHV0KTtcblxuICBpZiAoY2xpLm5hbWUgPT09IFwidW5rbm93blwiIHx8ICFjbGkudmVyc2lvbikge1xuICAgIHJldHVybiBbXG4gICAgICBgQ291bGQgbm90IGRldGVybWluZSB3aGV0aGVyICR7YmluYXJ5TmFtZX0gaXMgVGVycmFmb3JtIG9yIE9wZW5Ub2Z1IGZyb20gaXRzIHZlcnNpb24gb3V0cHV0LCB1bmFibGUgdG8gdmVyaWZ5IGl0IGFnYWluc3QgdGhlIGRlY2xhcmVkIHRhcmdldFZlcnNpb25zYCxcbiAgICBdO1xuICB9XG5cbiAgY29uc3QgZGVjbGFyZWRSYW5nZSA9IHRhcmdldHNbY2xpLm5hbWVdO1xuICBpZiAoIWRlY2xhcmVkUmFuZ2UpIHtcbiAgICByZXR1cm4gW1xuICAgICAgYFRoZSBpbnN0YWxsZWQgYmluYXJ5IFwiJHtiaW5hcnlOYW1lfVwiIGlzICR7Y2xpLm5hbWV9ICR7Y2xpLnZlcnNpb259LCBidXQgdGhlIHByb2plY3QncyB0YXJnZXRWZXJzaW9ucyBkb2VzIG5vdCBkZWNsYXJlICR7Y2xpLm5hbWV9IChkZWNsYXJlZDogJHtKU09OLnN0cmluZ2lmeShcbiAgICAgICAgdGFyZ2V0cyxcbiAgICAgICl9KWAsXG4gICAgXTtcbiAgfVxuXG4gIGlmICghc2VtdmVyLnNhdGlzZmllcyhjbGkudmVyc2lvbiwgZGVjbGFyZWRSYW5nZSkpIHtcbiAgICByZXR1cm4gW1xuICAgICAgYFRoZSBpbnN0YWxsZWQgYmluYXJ5IFwiJHtiaW5hcnlOYW1lfVwiIGlzICR7Y2xpLm5hbWV9ICR7Y2xpLnZlcnNpb259LCB3aGljaCBpcyBvdXRzaWRlIHRoZSBwcm9qZWN0J3MgZGVjbGFyZWQgdGFyZ2V0VmVyc2lvbnMuJHtjbGkubmFtZX0gcmFuZ2UgXCIke2RlY2xhcmVkUmFuZ2V9XCJgLFxuICAgIF07XG4gIH1cblxuICByZXR1cm4gW107XG59XG4iXX0=