jsii-diff 1.58.0 → 1.60.1

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 (65) hide show
  1. package/bin/jsii-diff.d.ts +1 -0
  2. package/bin/jsii-diff.d.ts.map +1 -0
  3. package/bin/jsii-diff.js +9 -9
  4. package/bin/jsii-diff.js.map +1 -0
  5. package/lib/diagnostics.d.ts +1 -0
  6. package/lib/diagnostics.d.ts.map +1 -0
  7. package/lib/diagnostics.js +1 -1
  8. package/lib/diagnostics.js.map +1 -0
  9. package/lib/index.d.ts +1 -0
  10. package/lib/index.d.ts.map +1 -0
  11. package/lib/index.js +1 -1
  12. package/lib/index.js.map +1 -0
  13. package/lib/stability.d.ts +1 -0
  14. package/lib/stability.d.ts.map +1 -0
  15. package/lib/stability.js +1 -1
  16. package/lib/stability.js.map +1 -0
  17. package/lib/type-analysis.d.ts +1 -0
  18. package/lib/type-analysis.d.ts.map +1 -0
  19. package/lib/type-analysis.js +3 -3
  20. package/lib/type-analysis.js.map +1 -0
  21. package/lib/type-comparison.d.ts +1 -0
  22. package/lib/type-comparison.d.ts.map +1 -0
  23. package/lib/type-comparison.js +41 -42
  24. package/lib/type-comparison.js.map +1 -0
  25. package/lib/types.d.ts +1 -0
  26. package/lib/types.d.ts.map +1 -0
  27. package/lib/types.js +2 -3
  28. package/lib/types.js.map +1 -0
  29. package/lib/util.d.ts +1 -0
  30. package/lib/util.d.ts.map +1 -0
  31. package/lib/util.js +1 -1
  32. package/lib/util.js.map +1 -0
  33. package/lib/validations.d.ts +1 -0
  34. package/lib/validations.d.ts.map +1 -0
  35. package/lib/validations.js +5 -5
  36. package/lib/validations.js.map +1 -0
  37. package/lib/version.d.ts +2 -1
  38. package/lib/version.d.ts.map +1 -0
  39. package/lib/version.js +3 -3
  40. package/lib/version.js.map +1 -0
  41. package/package.json +9 -15
  42. package/test/classes.test.d.ts +1 -0
  43. package/test/classes.test.d.ts.map +1 -0
  44. package/test/classes.test.js +33 -33
  45. package/test/classes.test.js.map +1 -0
  46. package/test/diagnostics.test.d.ts +1 -0
  47. package/test/diagnostics.test.d.ts.map +1 -0
  48. package/test/diagnostics.test.js +22 -22
  49. package/test/diagnostics.test.js.map +1 -0
  50. package/test/enums.test.d.ts +1 -0
  51. package/test/enums.test.d.ts.map +1 -0
  52. package/test/enums.test.js +4 -4
  53. package/test/enums.test.js.map +1 -0
  54. package/test/structs.test.d.ts +1 -0
  55. package/test/structs.test.d.ts.map +1 -0
  56. package/test/structs.test.js +12 -12
  57. package/test/structs.test.js.map +1 -0
  58. package/test/type-unions.test.d.ts +1 -0
  59. package/test/type-unions.test.d.ts.map +1 -0
  60. package/test/type-unions.test.js +7 -7
  61. package/test/type-unions.test.js.map +1 -0
  62. package/test/util.d.ts +1 -0
  63. package/test/util.d.ts.map +1 -0
  64. package/test/util.js +4 -4
  65. package/test/util.js.map +1 -0
@@ -1 +1,2 @@
1
1
  import '@jsii/check-node/run';
2
+ //# sourceMappingURL=jsii-diff.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsii-diff.d.ts","sourceRoot":"","sources":["jsii-diff.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,CAAC"}
package/bin/jsii-diff.js CHANGED
@@ -12,7 +12,7 @@ const util_1 = require("../lib/util");
12
12
  const version_1 = require("../lib/version");
13
13
  const LOG = log4js.getLogger('jsii-diff');
14
14
  async function main() {
15
- const argv = yargs
15
+ const argv = await yargs
16
16
  .env('JSII_DIFF')
17
17
  .option('verbose', {
18
18
  alias: 'v',
@@ -66,13 +66,13 @@ async function main() {
66
66
  LOG.debug(`Loading original assembly from ${argv.original}`);
67
67
  const loadOriginal = await loadAssembly(argv.original, argv);
68
68
  if (!loadOriginal.success) {
69
- process.stderr.write(`Could not load '${loadOriginal.resolved}': ${util_1.showDownloadFailure(loadOriginal.reason)}. Skipping analysis\n`);
69
+ process.stderr.write(`Could not load '${loadOriginal.resolved}': ${(0, util_1.showDownloadFailure)(loadOriginal.reason)}. Skipping analysis\n`);
70
70
  return 0;
71
71
  }
72
72
  LOG.debug(`Loading updated assembly from ${argv.updated}`);
73
73
  const loadUpdated = await loadAssembly(argv.updated, argv);
74
74
  if (!loadUpdated.success) {
75
- process.stderr.write(`Could not load '${loadUpdated.resolved}': ${util_1.showDownloadFailure(loadUpdated.reason)}. Skipping analysis\n`);
75
+ process.stderr.write(`Could not load '${loadUpdated.resolved}': ${(0, util_1.showDownloadFailure)(loadUpdated.reason)}. Skipping analysis\n`);
76
76
  return 0;
77
77
  }
78
78
  const original = loadOriginal.assembly;
@@ -81,19 +81,19 @@ async function main() {
81
81
  process.stderr.write(`Look like different assemblies: '${original.name}' vs '${updated.name}'. Comparing is probably pointless...\n`);
82
82
  }
83
83
  LOG.info('Starting analysis');
84
- const mismatches = lib_1.compareAssemblies(original, updated, {
84
+ const mismatches = (0, lib_1.compareAssemblies)(original, updated, {
85
85
  defaultExperimental: argv['default-stability'] === 'experimental',
86
86
  });
87
87
  LOG.info(`Found ${mismatches.count} issues`);
88
88
  if (mismatches.count > 0) {
89
- const diags = diagnostics_1.classifyDiagnostics(mismatches, argv['experimental-errors'], await loadFilter(argv['ignore-file']));
89
+ const diags = (0, diagnostics_1.classifyDiagnostics)(mismatches, argv['experimental-errors'], await loadFilter(argv['ignore-file']));
90
90
  process.stderr.write(`Original assembly: ${original.name}@${original.version}\n`);
91
91
  process.stderr.write(`Updated assembly: ${updated.name}@${updated.version}\n`);
92
92
  process.stderr.write('API elements with incompatible changes:\n');
93
93
  for (const diag of diags) {
94
- process.stderr.write(`${diagnostics_1.formatDiagnostic(diag, argv.keys)}\n`);
94
+ process.stderr.write(`${(0, diagnostics_1.formatDiagnostic)(diag, argv.keys)}\n`);
95
95
  }
96
- return diagnostics_1.hasErrors(diags) ? 1 : 0;
96
+ return (0, diagnostics_1.hasErrors)(diags) ? 1 : 0;
97
97
  }
98
98
  return 0;
99
99
  }
@@ -116,7 +116,7 @@ async function loadAssembly(requested, options) {
116
116
  if (!pkg.includes('@', 1)) {
117
117
  resolved += '@latest';
118
118
  }
119
- const download = await util_1.downloadNpmPackage(pkg, (f) => loadFromFilesystem(f, options));
119
+ const download = await (0, util_1.downloadNpmPackage)(pkg, (f) => loadFromFilesystem(f, options));
120
120
  if (download.success) {
121
121
  return {
122
122
  requested,
@@ -227,4 +227,4 @@ async function loadFilter(filterFilename) {
227
227
  return new Set();
228
228
  }
229
229
  }
230
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNpaS1kaWZmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsianNpaS1kaWZmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsZ0NBQThCO0FBRTlCLG1DQUFtQztBQUNuQywrQkFBK0I7QUFDL0Isd0NBQXdDO0FBQ3hDLGlDQUFpQztBQUNqQywrQkFBK0I7QUFFL0IsZ0NBQTJDO0FBQzNDLG9EQUk0QjtBQUM1QixzQ0FJcUI7QUFDckIsNENBQXlDO0FBRXpDLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUM7QUFFMUMsS0FBSyxVQUFVLElBQUk7SUFDakIsTUFBTSxJQUFJLEdBQUcsS0FBSztTQUNmLEdBQUcsQ0FBQyxXQUFXLENBQUM7U0FDaEIsTUFBTSxDQUFDLFNBQVMsRUFBRTtRQUNqQixLQUFLLEVBQUUsR0FBRztRQUNWLElBQUksRUFBRSxPQUFPO1FBQ2IsSUFBSSxFQUFFLGtDQUFrQztRQUN4QyxNQUFNLEVBQUUsSUFBSTtLQUNiLENBQUM7U0FDRCxNQUFNLENBQUMsbUJBQW1CLEVBQUU7UUFDM0IsS0FBSyxFQUFFLEdBQUc7UUFDVixJQUFJLEVBQUUsUUFBUTtRQUNkLE9BQU8sRUFBRSxDQUFDLGNBQWMsRUFBRSxRQUFRLENBQUM7UUFDbkMsSUFBSSxFQUFFLHdCQUF3QjtRQUM5QixPQUFPLEVBQUUsUUFBUTtLQUNsQixDQUFDO1NBQ0QsTUFBTSxDQUFDLHFCQUFxQixFQUFFO1FBQzdCLEtBQUssRUFBRSxHQUFHO1FBQ1YsSUFBSSxFQUFFLFNBQVM7UUFDZixPQUFPLEVBQUUsS0FBSztRQUNkLElBQUksRUFBRSxtQ0FBbUM7S0FDMUMsQ0FBQztTQUNELE1BQU0sQ0FBQyxhQUFhLEVBQUU7UUFDckIsS0FBSyxFQUFFLEdBQUc7UUFDVixJQUFJLEVBQUUsUUFBUTtRQUNkLElBQUksRUFBRSw4REFBOEQ7S0FDckUsQ0FBQztTQUNELE1BQU0sQ0FBQyxNQUFNLEVBQUU7UUFDZCxLQUFLLEVB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SSxDQUFDLGNBQWMsRUFBRTtRQUNuQixPQUFPLElBQUksR0FBRyxFQUFFLENBQUM7S0FDbEI7SUFFRCxJQUFJO1FBQ0YsT0FBTyxJQUFJLEdBQUcsQ0FDWixDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxjQUFjLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQzthQUN2RCxLQUFLLENBQUMsSUFBSSxDQUFDO2FBQ1gsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7YUFDcEIsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FDckMsQ0FBQztLQUNIO0lBQUMsT0FBTyxDQUFDLEVBQUU7UUFDVixJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFO1lBQ3ZCLE1BQU0sQ0FBQyxDQUFDO1NBQ1Q7UUFDRCxHQUFHLENBQUMsS0FBSyxDQUFDLGlCQUFpQixjQUFjLEVBQUUsQ0FBQyxDQUFDO1FBQzdDLE9BQU8sSUFBSSxHQUFHLEVBQUUsQ0FBQztLQUNsQjtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJ0Bqc2lpL2NoZWNrLW5vZGUvcnVuJztcblxuaW1wb3J0ICogYXMgc3BlYyBmcm9tICdAanNpaS9zcGVjJztcbmltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzLWV4dHJhJztcbmltcG9ydCAqIGFzIHJlZmxlY3QgZnJvbSAnanNpaS1yZWZsZWN0JztcbmltcG9ydCAqIGFzIGxvZzRqcyBmcm9tICdsb2c0anMnO1xuaW1wb3J0ICogYXMgeWFyZ3MgZnJvbSAneWFyZ3MnO1xuXG5pbXBvcnQgeyBjb21wYXJlQXNzZW1ibGllcyB9IGZyb20gJy4uL2xpYic7XG5pbXBvcnQge1xuICBjbGFzc2lmeURpYWdub3N0aWNzLFxuICBmb3JtYXREaWFnbm9zdGljLFxuICBoYXNFcnJvcnMsXG59IGZyb20gJy4uL2xpYi9kaWFnbm9zdGljcyc7XG5pbXBvcnQge1xuICBEb3dubG9hZEZhaWx1cmUsXG4gIGRvd25sb2FkTnBtUGFja2FnZSxcbiAgc2hvd0Rvd25sb2FkRmFpbHVyZSxcbn0gZnJvbSAnLi4vbGliL3V0aWwnO1xuaW1wb3J0IHsgVkVSU0lPTiB9IGZyb20gJy4uL2xpYi92ZXJzaW9uJztcblxuY29uc3QgTE9HID0gbG9nNGpzLmdldExvZ2dlcignanNpaS1kaWZmJyk7XG5cbmFzeW5jIGZ1bmN0aW9uIG1haW4oKTogUHJvbWlzZTxudW1iZXI+IHtcbiAgY29uc3QgYXJndiA9IHlhcmdzXG4gICAgLmVudignSlNJSV9ESUZGJylcbiAgICAub3B0aW9uKCd2ZXJib3NlJywge1xuICAgICAgYWxpYXM6ICd2JyxcbiAgICAgIHR5cGU6ICdjb3VudCcsXG4gICAgICBkZXNjOiAnSW5jcmVhc2UgdGhlIHZlcmJvc2l0eSBvZiBvdXRwdXQnLFxuICAgICAgZ2xvYmFsOiB0cnVlLFxuICAgIH0pXG4gICAgLm9wdGlvbignZGVmYXVsdC1zdGFiaWxpdHknLCB7XG4gICAgICBhbGlhczogJ3MnLFxuICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICBjaG9pY2VzOiBbJ2V4cGVyaW1lbnRhbCcsICdzdGFibGUnXSxcbiAgICAgIGRlc2M6ICdUcmVhdCB1bm1hcmtlZCBBUElzIGFzJyxcbiAgICAgIGRlZmF1bHQ6ICdzdGFibGUnLFxuICAgIH0pXG4gICAgLm9wdGlvbignZXhwZXJpbWVudGFsLWVycm9ycycsIHtcbiAgICAgIGFsaWFzOiAnZScsXG4gICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICBkZWZhdWx0OiBmYWxzZSxcbiAgICAgIGRlc2M6ICdFcnJvciBvbiBleHBlcmltZW50YWwgQVBJIGNoYW5nZXMnLFxuICAgIH0pXG4gICAgLm9wdGlvbignaWdub3JlLWZpbGUnLCB7XG4gICAgICBhbGlhczogJ2knLFxuICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICBkZXNjOiAnSWdub3JlIEFQSSBjaGFuZ2VzIHdpdGgga2V5cyBmcm9tIGZpbGUgKGZpbGUgbWF5IGJlIG1pc3NpbmcpJyxcbiAgICB9KVxuICAgIC5vcHRpb24oJ2tleXMnLCB7XG4gICAgICBhbGlhczogJ2snLFxuICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgZGVmYXVsdDogZmFsc2UsXG4gICAgICBkZXNjOiAnU2hvdyBkaWFnbm9zdGljIHN1cHByZXNzaW9uIGtleXMnLFxuICAgIH0pXG4gICAgLm9wdGlvbigndmFsaWRhdGUnLCB7XG4gICAgICBhbGlhczogJ2QnLFxuICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgZGVmYXVsdDogZmFsc2UsXG4gICAgICBkZXNjOiAnVmFsaWRhdGUgdGhlIGFzc2VtYmxpZXMgdGhhdCBhcmUgYmVpbmcgbG9hZGVkJyxcbiAgICB9KVxuICAgIC51c2FnZSgnJDAgPG9yaWdpbmFsPiBbdXBkYXRlZF0nLCAnQ29tcGFyZSB0d28gSlNJSSBhc3NlbWJsaWVzLicsIChhcmdzKSA9PlxuICAgICAgYXJnc1xuICAgICAgICAucG9zaXRpb25hbCgnb3JpZ2luYWwnLCB7XG4gICAgICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICAgICAnT3JpZ2luYWwgYXNzZW1ibHkgKGZpbGUsIHBhY2thZ2Ugb3IgXCJucG06cGFja2FnZUB2ZXJzaW9uXCIpJyxcbiAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgfSlcbiAgICAgICAgLnBvc2l0aW9uYWwoJ3VwZGF0ZWQnLCB7XG4gICAgICAgICAgZGVzY3JpcHRpb246ICdOZXcgYXNzZW1ibHkgKGZpbGUsIHBhY2thZ2Ugb3IgXCJucG06cGFja2FnZUB2ZXJzaW9uXCIpJyxcbiAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICBkZWZhdWx0OiAnLicsXG4gICAgICAgIH0pLFxuICAgIClcbiAgICAuaGVscCgpXG4gICAgLnZlcnNpb24oVkVSU0lPTikuYXJndjtcblxuICBjb25maWd1cmVMb2c0anMoYXJndi52ZXJib3NlKTtcblxuICBMT0cuZGVidWcoYExvYWRpbmcgb3JpZ2luYWwgYXNzZW1ibHkgZnJvbSAkeyhhcmd2IGFzIGFueSkub3JpZ2luYWx9YCk7XG4gIGNvbnN0IGxvYWRPcmlnaW5hbCA9IGF3YWl0IGxvYWRBc3NlbWJseSgoYXJndiBhcyBhbnkpLm9yaWdpbmFsLCBhcmd2KTtcbiAgaWYgKCFsb2FkT3JpZ2luYWwuc3VjY2Vzcykge1xuICAgIHByb2Nlc3Muc3RkZXJyLndyaXRlKFxuICAgICAgYENvdWxkIG5vdCBsb2FkICcke2xvYWRPcmlnaW5hbC5yZXNvbHZlZH0nOiAke3Nob3dEb3dubG9hZEZhaWx1cmUoXG4gICAgICAgIGxvYWRPcmlnaW5hbC5yZWFzb24sXG4gICAgICApfS4gU2tpcHBpbmcgYW5hbHlzaXNcXG5gLFxuICAgICk7XG4gICAgcmV0dXJuIDA7XG4gIH1cblxuICBMT0cuZGVidWcoYExvYWRpbmcgdXBkYXRlZCBhc3NlbWJseSBmcm9tICR7KGFyZ3YgYXMgYW55KS51cGRhdGVkfWApO1xuICBjb25zdCBsb2FkVXBkYXRlZCA9IGF3YWl0IGxvYWRBc3NlbWJseSgoYXJndiBhcyBhbnkpLnVwZGF0ZWQsIGFyZ3YpO1xuICBpZiAoIWxvYWRVcGRhdGVkLnN1Y2Nlc3MpIHtcbiAgICBwcm9jZXNzLnN0ZGVyci53cml0ZShcbiAgICAgIGBDb3VsZCBub3QgbG9hZCAnJHtsb2FkVXBkYXRlZC5yZXNvbHZlZH0nOiAke3Nob3dEb3dubG9hZEZhaWx1cmUoXG4gICAgICAgIGxvYWRVcGRhdGVkLnJlYXNvbixcbiAgICAgICl9LiBTa2lwcGluZyBhbmFseXNpc1xcbmAsXG4gICAgKTtcbiAgICByZXR1cm4gMDtcbiAgfVxuXG4gIGNvbnN0IG9yaWdpbmFsID0gbG9hZE9yaWdpbmFsLmFzc2VtYmx5O1xuICBjb25zdCB1cGRhdGVkID0gbG9hZFVwZGF0ZWQuYXNzZW1ibHk7XG5cbiAgaWYgKG9yaWdpbmFsLm5hbWUgIT09IHVwZGF0ZWQubmFtZSkge1xuICAgIHByb2Nlc3Muc3RkZXJyLndyaXRlKFxuICAgICAgYExvb2sgbGlrZSBkaWZmZXJlbnQgYXNzZW1ibGllczogJyR7b3JpZ2luYWwubmFtZX0nIHZzICcke3VwZGF0ZWQubmFtZX0nLiBDb21wYXJpbmcgaXMgcHJvYmFibHkgcG9pbnRsZXNzLi4uXFxuYCxcbiAgICApO1xuICB9XG5cbiAgTE9HLmluZm8oJ1N0YXJ0aW5nIGFuYWx5c2lzJyk7XG4gIGNvbnN0IG1pc21hdGNoZXMgPSBjb21wYXJlQXNzZW1ibGllcyhvcmlnaW5hbCwgdXBkYXRlZCwge1xuICAgIGRlZmF1bHRFeHBlcmltZW50YWw6IGFyZ3ZbJ2RlZmF1bHQtc3RhYmlsaXR5J10gPT09ICdleHBlcmltZW50YWwnLFxuICB9KTtcblxuICBMT0cuaW5mbyhgRm91bmQgJHttaXNtYXRjaGVzLmNvdW50fSBpc3N1ZXNgKTtcblxuICBpZiAobWlzbWF0Y2hlcy5jb3VudCA+IDApIHtcbiAgICBjb25zdCBkaWFncyA9IGNsYXNzaWZ5RGlhZ25vc3RpY3MoXG4gICAgICBtaXNtYXRjaGVzLFxuICAgICAgYXJndlsnZXhwZXJpbWVudGFsLWVycm9ycyddLFxuICAgICAgYXdhaXQgbG9hZEZpbHRlcihhcmd2WydpZ25vcmUtZmlsZSddKSxcbiAgICApO1xuXG4gICAgcHJvY2Vzcy5zdGRlcnIud3JpdGUoXG4gICAgICBgT3JpZ2luYWwgYXNzZW1ibHk6ICR7b3JpZ2luYWwubmFtZX1AJHtvcmlnaW5hbC52ZXJzaW9ufVxcbmAsXG4gICAgKTtcbiAgICBwcm9jZXNzLnN0ZGVyci53cml0ZShcbiAgICAgIGBVcGRhdGVkIGFzc2VtYmx5OiAgJHt1cGRhdGVkLm5hbWV9QCR7dXBkYXRlZC52ZXJzaW9ufVxcbmAsXG4gICAgKTtcbiAgICBwcm9jZXNzLnN0ZGVyci53cml0ZSgnQVBJIGVsZW1lbnRzIHdpdGggaW5jb21wYXRpYmxlIGNoYW5nZXM6XFxuJyk7XG4gICAgZm9yIChjb25zdCBkaWFnIG9mIGRpYWdzKSB7XG4gICAgICBwcm9jZXNzLnN0ZGVyci53cml0ZShgJHtmb3JtYXREaWFnbm9zdGljKGRpYWcsIGFyZ3Yua2V5cyl9XFxuYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGhhc0Vycm9ycyhkaWFncykgPyAxIDogMDtcbiAgfVxuXG4gIHJldHVybiAwO1xufVxuXG4vLyBBbGxvdyBib3RoIG5wbTo8cGFja2FnZT4gKGxlZ2FjeSkgYW5kIG5wbTovLzxwYWNrYWdlPiAobG9va3MgYmV0dGVyKVxuY29uc3QgTlBNX1JFR0VYID0gL15ucG06KFxcL1xcLyk/LztcblxuaW50ZXJmYWNlIExvYWRPcHRpb25zIHtcbiAgdmFsaWRhdGU6IGJvb2xlYW47XG59XG5cbi8qKlxuICogTG9hZCB0aGUgaW5kaWNhdGVkIGFzc2VtYmx5IGZyb20gdGhlIGdpdmVuIG5hbWVcbiAqXG4gKiBTdXBwb3J0cyBkb3dubG9hZGluZyBmcm9tIE5QTSBhcyB3ZWxsIGFzIGZyb20gZmlsZSBvciBkaXJlY3RvcnkuXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGxvYWRBc3NlbWJseShcbiAgcmVxdWVzdGVkOiBzdHJpbmcsXG4gIG9wdGlvbnM6IExvYWRPcHRpb25zLFxuKTogUHJvbWlzZTxMb2FkQXNzZW1ibHlSZXN1bHQ+IHtcbiAgbGV0IHJlc29sdmVkID0gcmVxdWVzdGVkO1xuICB0cnkge1xuICAgIGlmIChOUE1fUkVHRVguZXhlYyhyZXF1ZXN0ZWQpKSB7XG4gICAgICBsZXQgcGtnID0gcmVxdWVzdGVkLnJlcGxhY2UoTlBNX1JFR0VYLCAnJyk7XG4gICAgICBpZiAoIXBrZykge1xuICAgICAgICBwa2cgPSBhd2FpdCBsb2FkUGFja2FnZU5hbWVGcm9tQXNzZW1ibHkob3B0aW9ucyk7XG4gICAgICB9XG5cbiAgICAgIHJlc29sdmVkID0gYG5wbTovLyR7cGtnfWA7XG4gICAgICBpZiAoIXBrZy5pbmNsdWRlcygnQCcsIDEpKSB7XG4gICAgICAgIHJlc29sdmVkICs9ICdAbGF0ZXN0JztcbiAgICAgIH1cblxuICAgICAgY29uc3QgZG93bmxvYWQgPSBhd2FpdCBkb3dubG9hZE5wbVBhY2thZ2UocGtnLCAoZikgPT5cbiAgICAgICAgbG9hZEZyb21GaWxlc3lzdGVtKGYsIG9wdGlvbnMpLFxuICAgICAgKTtcbiAgICAgIGlmIChkb3dubG9hZC5zdWNjZXNzKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgcmVxdWVzdGVkLFxuICAgICAgICAgIHJlc29sdmVkLFxuICAgICAgICAgIHN1Y2Nlc3M6IHRydWUsXG4gICAgICAgICAgYXNzZW1ibHk6IGRvd25sb2FkLnJlc3VsdCxcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB7IHJlcXVlc3RlZCwgcmVzb2x2ZWQsIHN1Y2Nlc3M6IGZhbHNlLCByZWFzb246IGRvd25sb2FkLnJlYXNvbiB9O1xuICAgIH1cbiAgICAvLyBXZSBkb24ndCBhY2NlcHQgZmFpbHVyZSBsb2FkaW5nIGZyb20gdGhlIGZpbGVzeXN0ZW1cbiAgICByZXR1cm4ge1xuICAgICAgcmVxdWVzdGVkLFxuICAgICAgcmVzb2x2ZWQsXG4gICAgICBzdWNjZXNzOiB0cnVlLFxuICAgICAgYXNzZW1ibHk6IGF3YWl0IGxvYWRGcm9tRmlsZXN5c3RlbShyZXF1ZXN0ZWQsIG9wdGlvbnMpLFxuICAgIH07XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICAvLyBQcmVwZW5kIGluZm9ybWF0aW9uIGFib3V0IHdoaWNoIGFzc2VtYmx5IHdlJ3ZlIGZhaWxlZCB0byBsb2FkXG4gICAgLy9cbiAgICAvLyBMb29rIGF0IHRoZSB0eXBlIG9mIGVycm9yLiBJZiBpdCBoYXMgYSBsb3Qgb2YgbGluZXMgKGxpa2UgdmFsaWRhdGlvbiBlcnJvcnNcbiAgICAvLyB0ZW5kIHRvIGRvKSBsb2cgZXZlcnl0aGluZyB0byB0aGUgZGVidWcgbG9nIGFuZCBvbmx5IHNob3cgYSBjb3VwbGVcbiAgICBjb25zdCBtYXhMaW5lcyA9IDM7XG4gICAgY29uc3QgbWVzc2FnZVdpdGhDb250ZXh0ID0gYEVycm9yIGxvYWRpbmcgYXNzZW1ibHkgJyR7cmVzb2x2ZWR9JzogJHtlLm1lc3NhZ2V9YDtcbiAgICBjb25zdCBlcnJvckxpbmVzID0gbWVzc2FnZVdpdGhDb250ZXh0LnNwbGl0KCdcXG4nKTtcbiAgICBpZiAoZXJyb3JMaW5lcy5sZW5ndGggPCBtYXhMaW5lcykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKG1lc3NhZ2VXaXRoQ29udGV4dCk7XG4gICAgfVxuICAgIGZvciAoY29uc3QgbGluZSBvZiBlcnJvckxpbmVzKSB7XG4gICAgICBMT0cuaW5mbyhsaW5lKTtcbiAgICB9XG4gICAgdGhyb3cgbmV3IEVycm9yKFsuLi5lcnJvckxpbmVzLnNsaWNlKDAsIG1heExpbmVzKSwgJy4uLiddLmpvaW4oJ1xcbicpKTtcbiAgfVxufVxuXG50eXBlIExvYWRBc3NlbWJseVJlc3VsdCA9IHsgcmVxdWVzdGVkOiBzdHJpbmc7IHJlc29sdmVkOiBzdHJpbmcgfSAmIChcbiAgfCB7IHN1Y2Nlc3M6IHRydWU7IGFzc2VtYmx5OiByZWZsZWN0LkFzc2VtYmx5IH1cbiAgfCB7IHN1Y2Nlc3M6IGZhbHNlOyByZWFzb246IERvd25sb2FkRmFpbHVyZSB9XG4pO1xuXG5hc3luYyBmdW5jdGlvbiBsb2FkUGFja2FnZU5hbWVGcm9tQXNzZW1ibHkoXG4gIG9wdGlvbnM6IExvYWRPcHRpb25zLFxuKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgY29uc3QgSlNJSV9BU1NFTUJMWV9GSUxFID0gJy5qc2lpJztcbiAgaWYgKCEoYXdhaXQgZnMucGF0aEV4aXN0cyhKU0lJX0FTU0VNQkxZX0ZJTEUpKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGBObyBOUE0gcGFja2FnZSBuYW1lIGdpdmVuIGFuZCBubyAke0pTSUlfQVNTRU1CTFlfRklMRX0gZmlsZSBpbiB0aGUgY3VycmVudCBkaXJlY3RvcnkuIFBsZWFzZSBzcGVjaWZ5IGEgcGFja2FnZSBuYW1lLmAsXG4gICAgKTtcbiAgfVxuICBjb25zdCBjb250ZW50cyA9IGF3YWl0IGZzLnJlYWRKU09OKEpTSUlfQVNTRU1CTFlfRklMRSwgeyBlbmNvZGluZzogJ3V0Zi04JyB9KTtcbiAgY29uc3QgbW9kdWxlID0gb3B0aW9ucy52YWxpZGF0ZVxuICAgID8gc3BlYy52YWxpZGF0ZUFzc2VtYmx5KGNvbnRlbnRzKVxuICAgIDogKGNvbnRlbnRzIGFzIHNwZWMuQXNzZW1ibHkpO1xuICBpZiAoIW1vZHVsZS5uYW1lKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBDb3VsZCBub3QgZmluZCBwYWNrYWdlIGluICR7SlNJSV9BU1NFTUJMWV9GSUxFfWApO1xuICB9XG5cbiAgcmV0dXJuIG1vZHVsZS5uYW1lO1xufVxuXG5hc3luYyBmdW5jdGlvbiBsb2FkRnJvbUZpbGVzeXN0ZW0obmFtZTogc3RyaW5nLCBvcHRpb25zOiBMb2FkT3B0aW9ucykge1xuICBjb25zdCBzdGF0ID0gYXdhaXQgZnMuc3RhdChuYW1lKTtcblxuICBjb25zdCB0cyA9IG5ldyByZWZsZWN0LlR5cGVTeXN0ZW0oKTtcbiAgaWYgKHN0YXQuaXNEaXJlY3RvcnkoKSkge1xuICAgIHJldHVybiB0cy5sb2FkTW9kdWxlKG5hbWUsIG9wdGlvbnMpO1xuICB9XG4gIHJldHVybiB0cy5sb2FkRmlsZShuYW1lLCBvcHRpb25zKTtcbn1cblxubWFpbigpXG4gIC50aGVuKChuKSA9PiB7XG4gICAgcHJvY2Vzcy5leGl0KG4pO1xuICB9KVxuICAuY2F0Y2goKGUpID0+IHtcbiAgICBjb25zb2xlLmVycm9yKGUpO1xuICAgIHByb2Nlc3MuZXhpdCgxMDApO1xuICB9KTtcblxuZnVuY3Rpb24gY29uZmlndXJlTG9nNGpzKHZlcmJvc2l0eTogbnVtYmVyKSB7XG4gIGxvZzRqcy5jb25maWd1cmUoe1xuICAgIGFwcGVuZGVyczoge1xuICAgICAgY29uc29sZToge1xuICAgICAgICB0eXBlOiAnc3RkZXJyJyxcbiAgICAgICAgbGF5b3V0OiB7IHR5cGU6ICdjb2xvcmVkJyB9LFxuICAgICAgfSxcbiAgICB9LFxuICAgIGNhdGVnb3JpZXM6IHtcbiAgICAgIGRlZmF1bHQ6IHsgYXBwZW5kZXJzOiBbJ2NvbnNvbGUnXSwgbGV2ZWw6IF9sb2dMZXZlbCgpIH0sXG4gICAgfSxcbiAgfSk7XG5cbiAgZnVuY3Rpb24gX2xvZ0xldmVsKCk6IGtleW9mIGxvZzRqcy5MZXZlbHMge1xuICAgIHN3aXRjaCAodmVyYm9zaXR5KSB7XG4gICAgICBjYXNlIDA6XG4gICAgICAgIHJldHVybiAnV0FSTic7XG4gICAgICBjYXNlIDE6XG4gICAgICAgIHJldHVybiAnSU5GTyc7XG4gICAgICBjYXNlIDI6XG4gICAgICAgIHJldHVybiAnREVCVUcnO1xuICAgICAgY2FzZSAzOlxuICAgICAgICByZXR1cm4gJ1RSQUNFJztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAnQUxMJztcbiAgICB9XG4gIH1cbn1cblxuYXN5bmMgZnVuY3Rpb24gbG9hZEZpbHRlcihmaWx0ZXJGaWxlbmFtZT86IHN0cmluZyk6IFByb21pc2U8U2V0PHN0cmluZz4+IHtcbiAgaWYgKCFmaWx0ZXJGaWxlbmFtZSkge1xuICAgIHJldHVybiBuZXcgU2V0KCk7XG4gIH1cblxuICB0cnkge1xuICAgIHJldHVybiBuZXcgU2V0KFxuICAgICAgKGF3YWl0IGZzLnJlYWRGaWxlKGZpbHRlckZpbGVuYW1lLCB7IGVuY29kaW5nOiAndXRmLTgnIH0pKVxuICAgICAgICAuc3BsaXQoJ1xcbicpXG4gICAgICAgIC5tYXAoKHgpID0+IHgudHJpbSgpKVxuICAgICAgICAuZmlsdGVyKCh4KSA9PiAheC5zdGFydHNXaXRoKCcjJykpLFxuICAgICk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBpZiAoZS5jb2RlICE9PSAnRU5PRU5UJykge1xuICAgICAgdGhyb3cgZTtcbiAgICB9XG4gICAgTE9HLmRlYnVnKGBObyBzdWNoIGZpbGU6ICR7ZmlsdGVyRmlsZW5hbWV9YCk7XG4gICAgcmV0dXJuIG5ldyBTZXQoKTtcbiAgfVxufVxuIl19
230
+ //# sourceMappingURL=jsii-diff.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsii-diff.js","sourceRoot":"","sources":["jsii-diff.ts"],"names":[],"mappings":";;AAAA,gCAA8B;AAE9B,mCAAmC;AACnC,+BAA+B;AAC/B,wCAAwC;AACxC,iCAAiC;AACjC,+BAA+B;AAE/B,gCAA2C;AAC3C,oDAI4B;AAC5B,sCAIqB;AACrB,4CAAyC;AAEzC,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;AAE1C,KAAK,UAAU,IAAI;IACjB,MAAM,IAAI,GAAG,MAAM,KAAK;SACrB,GAAG,CAAC,WAAW,CAAC;SAChB,MAAM,CAAC,SAAS,EAAE;QACjB,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,kCAAkC;QACxC,MAAM,EAAE,IAAI;KACb,CAAC;SACD,MAAM,CAAC,mBAAmB,EAAE;QAC3B,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,CAAC,cAAc,EAAE,QAAQ,CAAC;QACnC,IAAI,EAAE,wBAAwB;QAC9B,OAAO,EAAE,QAAQ;KAClB,CAAC;SACD,MAAM,CAAC,qBAAqB,EAAE;QAC7B,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,mCAAmC;KAC1C,CAAC;SACD,MAAM,CAAC,aAAa,EAAE;QACrB,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,8DAA8D;KACrE,CAAC;SACD,MAAM,CAAC,MAAM,EAAE;QACd,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,kCAAkC;KACzC,CAAC;SACD,MAAM,CAAC,UAAU,EAAE;QAClB,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,+CAA+C;KACtD,CAAC;SACD,KAAK,CAAC,yBAAyB,EAAE,8BAA8B,EAAE,CAAC,IAAI,EAAE,EAAE,CACzE,IAAI;SACD,UAAU,CAAC,UAAU,EAAE;QACtB,WAAW,EACT,4DAA4D;QAC9D,IAAI,EAAE,QAAQ;KACf,CAAC;SACD,UAAU,CAAC,SAAS,EAAE;QACrB,WAAW,EAAE,uDAAuD;QACpE,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,GAAG;KACb,CAAC,CACL;SACA,IAAI,EAAE;SACN,OAAO,CAAC,iBAAO,CAAC,CAAC,IAAI,CAAC;IAEzB,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAE9B,GAAG,CAAC,KAAK,CAAC,kCAAmC,IAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;IACtE,MAAM,YAAY,GAAG,MAAM,YAAY,CAAE,IAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACtE,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;QACzB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,mBAAmB,YAAY,CAAC,QAAQ,MAAM,IAAA,0BAAmB,EAC/D,YAAY,CAAC,MAAM,CACpB,uBAAuB,CACzB,CAAC;QACF,OAAO,CAAC,CAAC;KACV;IAED,GAAG,CAAC,KAAK,CAAC,iCAAkC,IAAY,CAAC,OAAO,EAAE,CAAC,CAAC;IACpE,MAAM,WAAW,GAAG,MAAM,YAAY,CAAE,IAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACpE,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;QACxB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,mBAAmB,WAAW,CAAC,QAAQ,MAAM,IAAA,0BAAmB,EAC9D,WAAW,CAAC,MAAM,CACnB,uBAAuB,CACzB,CAAC;QACF,OAAO,CAAC,CAAC;KACV;IAED,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC;IACvC,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC;IAErC,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,EAAE;QAClC,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,oCAAoC,QAAQ,CAAC,IAAI,SAAS,OAAO,CAAC,IAAI,yCAAyC,CAChH,CAAC;KACH;IAED,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAC9B,MAAM,UAAU,GAAG,IAAA,uBAAiB,EAAC,QAAQ,EAAE,OAAO,EAAE;QACtD,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,CAAC,KAAK,cAAc;KAClE,CAAC,CAAC;IAEH,GAAG,CAAC,IAAI,CAAC,SAAS,UAAU,CAAC,KAAK,SAAS,CAAC,CAAC;IAE7C,IAAI,UAAU,CAAC,KAAK,GAAG,CAAC,EAAE;QACxB,MAAM,KAAK,GAAG,IAAA,iCAAmB,EAC/B,UAAU,EACV,IAAI,CAAC,qBAAqB,CAAC,EAC3B,MAAM,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CACtC,CAAC;QAEF,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,sBAAsB,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,OAAO,IAAI,CAC5D,CAAC;QACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,sBAAsB,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,OAAO,IAAI,CAC1D,CAAC;QACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAClE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACxB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAA,8BAAgB,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAChE;QAED,OAAO,IAAA,uBAAS,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KACjC;IAED,OAAO,CAAC,CAAC;AACX,CAAC;AAED,uEAAuE;AACvE,MAAM,SAAS,GAAG,cAAc,CAAC;AAMjC;;;;GAIG;AACH,KAAK,UAAU,YAAY,CACzB,SAAiB,EACjB,OAAoB;IAEpB,IAAI,QAAQ,GAAG,SAAS,CAAC;IACzB,IAAI;QACF,IAAI,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;YAC7B,IAAI,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YAC3C,IAAI,CAAC,GAAG,EAAE;gBACR,GAAG,GAAG,MAAM,2BAA2B,CAAC,OAAO,CAAC,CAAC;aAClD;YAED,QAAQ,GAAG,SAAS,GAAG,EAAE,CAAC;YAC1B,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE;gBACzB,QAAQ,IAAI,SAAS,CAAC;aACvB;YAED,MAAM,QAAQ,GAAG,MAAM,IAAA,yBAAkB,EAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CACnD,kBAAkB,CAAC,CAAC,EAAE,OAAO,CAAC,CAC/B,CAAC;YACF,IAAI,QAAQ,CAAC,OAAO,EAAE;gBACpB,OAAO;oBACL,SAAS;oBACT,QAAQ;oBACR,OAAO,EAAE,IAAI;oBACb,QAAQ,EAAE,QAAQ,CAAC,MAAM;iBAC1B,CAAC;aACH;YACD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;SACzE;QACD,sDAAsD;QACtD,OAAO;YACL,SAAS;YACT,QAAQ;YACR,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,MAAM,kBAAkB,CAAC,SAAS,EAAE,OAAO,CAAC;SACvD,CAAC;KACH;IAAC,OAAO,CAAM,EAAE;QACf,gEAAgE;QAChE,EAAE;QACF,8EAA8E;QAC9E,qEAAqE;QACrE,MAAM,QAAQ,GAAG,CAAC,CAAC;QACnB,MAAM,kBAAkB,GAAG,2BAA2B,QAAQ,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;QAChF,MAAM,UAAU,GAAG,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,UAAU,CAAC,MAAM,GAAG,QAAQ,EAAE;YAChC,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;SACrC;QACD,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE;YAC7B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAChB;QACD,MAAM,IAAI,KAAK,CAAC,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;KACvE;AACH,CAAC;AAOD,KAAK,UAAU,2BAA2B,CACxC,OAAoB;IAEpB,MAAM,kBAAkB,GAAG,OAAO,CAAC;IACnC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,EAAE;QAC9C,MAAM,IAAI,KAAK,CACb,oCAAoC,kBAAkB,gEAAgE,CACvH,CAAC;KACH;IACD,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,kBAAkB,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;IAC9E,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ;QAC7B,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC;QACjC,CAAC,CAAE,QAA0B,CAAC;IAChC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;QAChB,MAAM,IAAI,KAAK,CAAC,6BAA6B,kBAAkB,EAAE,CAAC,CAAC;KACpE;IAED,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,IAAY,EAAE,OAAoB;IAClE,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEjC,MAAM,EAAE,GAAG,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IACpC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;QACtB,OAAO,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;KACrC;IACD,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACpC,CAAC;AAED,IAAI,EAAE;KACH,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;IACV,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC;KACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;IACX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACjB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC;AAEL,SAAS,eAAe,CAAC,SAAiB;IACxC,MAAM,CAAC,SAAS,CAAC;QACf,SAAS,EAAE;YACT,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aAC5B;SACF;QACD,UAAU,EAAE;YACV,OAAO,EAAE,EAAE,SAAS,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;SACxD;KACF,CAAC,CAAC;IAEH,SAAS,SAAS;QAChB,QAAQ,SAAS,EAAE;YACjB,KAAK,CAAC;gBACJ,OAAO,MAAM,CAAC;YAChB,KAAK,CAAC;gBACJ,OAAO,MAAM,CAAC;YAChB,KAAK,CAAC;gBACJ,OAAO,OAAO,CAAC;YACjB,KAAK,CAAC;gBACJ,OAAO,OAAO,CAAC;YACjB;gBACE,OAAO,KAAK,CAAC;SAChB;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,cAAuB;IAC/C,IAAI,CAAC,cAAc,EAAE;QACnB,OAAO,IAAI,GAAG,EAAE,CAAC;KAClB;IAED,IAAI;QACF,OAAO,IAAI,GAAG,CACZ,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;aACvD,KAAK,CAAC,IAAI,CAAC;aACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CACrC,CAAC;KACH;IAAC,OAAO,CAAM,EAAE;QACf,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE;YACvB,MAAM,CAAC,CAAC;SACT;QACD,GAAG,CAAC,KAAK,CAAC,iBAAiB,cAAc,EAAE,CAAC,CAAC;QAC7C,OAAO,IAAI,GAAG,EAAE,CAAC;KAClB;AACH,CAAC"}
@@ -15,3 +15,4 @@ export declare function hasErrors(diags: Diagnostic[]): boolean;
15
15
  * Classify API mismatches into a set of warnings and errors
16
16
  */
17
17
  export declare function classifyDiagnostics(mismatches: Mismatches, experimentalErrors: boolean, skipFilter: Set<string>): Diagnostic[];
18
+ //# sourceMappingURL=diagnostics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["diagnostics.ts"],"names":[],"mappings":"AAEA,OAAO,EAAe,UAAU,EAAE,MAAM,SAAS,CAAC;AAElD,oBAAY,SAAS;IACnB,KAAK,IAAI;IACT,OAAO,IAAI;IACX,OAAO,IAAI;CACZ;AAQD,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,SAAS,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,UAAU,EAChB,qBAAqB,UAAQ,UAQ9B;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,WAE5C;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,UAAU,EACtB,kBAAkB,EAAE,OAAO,EAC3B,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,GACtB,UAAU,EAAE,CAqBd"}
@@ -49,4 +49,4 @@ function classifyDiagnostics(mismatches, experimentalErrors, skipFilter) {
49
49
  }
50
50
  }
51
51
  exports.classifyDiagnostics = classifyDiagnostics;
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhZ25vc3RpY3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJkaWFnbm9zdGljcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxQ0FBdUM7QUFJdkMsSUFBWSxTQUlYO0FBSkQsV0FBWSxTQUFTO0lBQ25CLDJDQUFTLENBQUE7SUFDVCwrQ0FBVyxDQUFBO0lBQ1gsK0NBQVcsQ0FBQTtBQUNiLENBQUMsRUFKVyxTQUFTLEdBQVQsaUJBQVMsS0FBVCxpQkFBUyxRQUlwQjtBQUVELE1BQU0sWUFBWSxHQUFHO0lBQ25CLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLE1BQU07SUFDekIsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUUsTUFBTTtJQUMzQixDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRSxNQUFNO0NBQzVCLENBQUM7QUFRRixTQUFnQixnQkFBZ0IsQ0FDOUIsSUFBZ0IsRUFDaEIscUJBQXFCLEdBQUcsS0FBSztJQUU3QixPQUFPO1FBQ0wsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDeEIsR0FBRztRQUNILElBQUksQ0FBQyxPQUFPO1FBQ1osR0FBRyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLGNBQWMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztLQUMvRCxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNkLENBQUM7QUFWRCw0Q0FVQztBQUVELFNBQWdCLFNBQVMsQ0FBQyxLQUFtQjtJQUMzQyxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEtBQUssU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQzlELENBQUM7QUFGRCw4QkFFQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0IsbUJBQW1CLENBQ2pDLFVBQXNCLEVBQ3RCLGtCQUEyQixFQUMzQixVQUF1QjtJQUV2QixNQUFNLEdBQUcsR0FBRyxVQUFVLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM5QyxLQUFLLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQztRQUNqQixPQUFPLEVBQUUsR0FBRyxDQUFDLE9BQU87UUFDcEIsY0FBYyxFQUFFLEdBQUcsQ0FBQyxZQUFZO0tBQ2pDLENBQUMsQ0FBQyxDQUFDO0lBQ0osR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLE9BQU8sR0FBRyxDQUFDO0lBRVgsU0FBUyxLQUFLLENBQUMsR0FBZ0I7UUFDN0IsSUFBSSxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRTtZQUNwQyxPQUFPLFNBQVMsQ0FBQyxPQUFPLENBQUM7U0FDMUI7UUFDRCxJQUNFLEdBQUcsQ0FBQyxTQUFTLEtBQUssZ0JBQVMsQ0FBQyxNQUFNO1lBQ2xDLENBQUMsR0FBRyxDQUFDLFNBQVMsS0FBSyxnQkFBUyxDQUFDLFlBQVksSUFBSSxrQkFBa0IsQ0FBQyxFQUNoRTtZQUNBLE9BQU8sU0FBUyxDQUFDLEtBQUssQ0FBQztTQUN4QjtRQUNELE9BQU8sU0FBUyxDQUFDLE9BQU8sQ0FBQztJQUMzQixDQUFDO0FBQ0gsQ0FBQztBQXpCRCxrREF5QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdGFiaWxpdHkgfSBmcm9tICdAanNpaS9zcGVjJztcblxuaW1wb3J0IHsgQXBpTWlzbWF0Y2gsIE1pc21hdGNoZXMgfSBmcm9tICcuL3R5cGVzJztcblxuZXhwb3J0IGVudW0gRGlhZ0xldmVsIHtcbiAgRXJyb3IgPSAwLFxuICBXYXJuaW5nID0gMSxcbiAgU2tpcHBlZCA9IDIsXG59XG5cbmNvbnN0IExFVkVMX1BSRUZJWCA9IHtcbiAgW0RpYWdMZXZlbC5FcnJvcl06ICdlcnIgJyxcbiAgW0RpYWdMZXZlbC5XYXJuaW5nXTogJ3dhcm4nLFxuICBbRGlhZ0xldmVsLlNraXBwZWRdOiAnc2tpcCcsXG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIERpYWdub3N0aWMge1xuICBsZXZlbDogRGlhZ0xldmVsO1xuICBtZXNzYWdlOiBzdHJpbmc7XG4gIHN1cHByZXNzaW9uS2V5OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXREaWFnbm9zdGljKFxuICBkaWFnOiBEaWFnbm9zdGljLFxuICBpbmNsdWRlU3VwcHJlc3Npb25LZXkgPSBmYWxzZSxcbikge1xuICByZXR1cm4gW1xuICAgIExFVkVMX1BSRUZJWFtkaWFnLmxldmVsXSxcbiAgICAnLScsXG4gICAgZGlhZy5tZXNzYWdlLFxuICAgIC4uLihpbmNsdWRlU3VwcHJlc3Npb25LZXkgPyBbYFske2RpYWcuc3VwcHJlc3Npb25LZXl9XWBdIDogW10pLFxuICBdLmpvaW4oJyAnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhc0Vycm9ycyhkaWFnczogRGlhZ25vc3RpY1tdKSB7XG4gIHJldHVybiBkaWFncy5zb21lKChkaWFnKSA9PiBkaWFnLmxldmVsID09PSBEaWFnTGV2ZWwuRXJyb3IpO1xufVxuXG4vKipcbiAqIENsYXNzaWZ5IEFQSSBtaXNtYXRjaGVzIGludG8gYSBzZXQgb2Ygd2FybmluZ3MgYW5kIGVycm9yc1xuICovXG5leHBvcnQgZnVuY3Rpb24gY2xhc3NpZnlEaWFnbm9zdGljcyhcbiAgbWlzbWF0Y2hlczogTWlzbWF0Y2hlcyxcbiAgZXhwZXJpbWVudGFsRXJyb3JzOiBib29sZWFuLFxuICBza2lwRmlsdGVyOiBTZXQ8c3RyaW5nPixcbik6IERpYWdub3N0aWNbXSB7XG4gIGNvbnN0IHJldCA9IG1pc21hdGNoZXMubWlzbWF0Y2hlcy5tYXAoKG1pcykgPT4gKHtcbiAgICBsZXZlbDogbGV2ZWwobWlzKSxcbiAgICBtZXNzYWdlOiBtaXMubWVzc2FnZSxcbiAgICBzdXBwcmVzc2lvbktleTogbWlzLnZpb2xhdGlvbktleSxcbiAgfSkpO1xuICByZXQuc29ydCgoYSwgYikgPT4gYS5sZXZlbCAtIGIubGV2ZWwpO1xuICByZXR1cm4gcmV0O1xuXG4gIGZ1bmN0aW9uIGxldmVsKG1pczogQXBpTWlzbWF0Y2gpIHtcbiAgICBpZiAoc2tpcEZpbHRlci5oYXMobWlzLnZpb2xhdGlvbktleSkpIHtcbiAgICAgIHJldHVybiBEaWFnTGV2ZWwuU2tpcHBlZDtcbiAgICB9XG4gICAgaWYgKFxuICAgICAgbWlzLnN0YWJpbGl0eSA9PT0gU3RhYmlsaXR5LlN0YWJsZSB8fFxuICAgICAgKG1pcy5zdGFiaWxpdHkgPT09IFN0YWJpbGl0eS5FeHBlcmltZW50YWwgJiYgZXhwZXJpbWVudGFsRXJyb3JzKVxuICAgICkge1xuICAgICAgcmV0dXJuIERpYWdMZXZlbC5FcnJvcjtcbiAgICB9XG4gICAgcmV0dXJuIERpYWdMZXZlbC5XYXJuaW5nO1xuICB9XG59XG4iXX0=
52
+ //# sourceMappingURL=diagnostics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["diagnostics.ts"],"names":[],"mappings":";;;AAAA,qCAAuC;AAIvC,IAAY,SAIX;AAJD,WAAY,SAAS;IACnB,2CAAS,CAAA;IACT,+CAAW,CAAA;IACX,+CAAW,CAAA;AACb,CAAC,EAJW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAIpB;AAED,MAAM,YAAY,GAAG;IACnB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM;IACzB,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM;IAC3B,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM;CAC5B,CAAC;AAQF,SAAgB,gBAAgB,CAC9B,IAAgB,EAChB,qBAAqB,GAAG,KAAK;IAE7B,OAAO;QACL,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;QACxB,GAAG;QACH,IAAI,CAAC,OAAO;QACZ,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAC/D,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACd,CAAC;AAVD,4CAUC;AAED,SAAgB,SAAS,CAAC,KAAmB;IAC3C,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,KAAK,CAAC,CAAC;AAC9D,CAAC;AAFD,8BAEC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CACjC,UAAsB,EACtB,kBAA2B,EAC3B,UAAuB;IAEvB,MAAM,GAAG,GAAG,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC9C,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC;QACjB,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,cAAc,EAAE,GAAG,CAAC,YAAY;KACjC,CAAC,CAAC,CAAC;IACJ,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IACtC,OAAO,GAAG,CAAC;IAEX,SAAS,KAAK,CAAC,GAAgB;QAC7B,IAAI,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE;YACpC,OAAO,SAAS,CAAC,OAAO,CAAC;SAC1B;QACD,IACE,GAAG,CAAC,SAAS,KAAK,gBAAS,CAAC,MAAM;YAClC,CAAC,GAAG,CAAC,SAAS,KAAK,gBAAS,CAAC,YAAY,IAAI,kBAAkB,CAAC,EAChE;YACA,OAAO,SAAS,CAAC,KAAK,CAAC;SACxB;QACD,OAAO,SAAS,CAAC,OAAO,CAAC;IAC3B,CAAC;AACH,CAAC;AAzBD,kDAyBC"}
package/lib/index.d.ts CHANGED
@@ -9,3 +9,4 @@ import { ComparisonOptions, Mismatches } from './types';
9
9
  * bigger) in the new API.
10
10
  */
11
11
  export declare function compareAssemblies(original: reflect.Assembly, updated: reflect.Assembly, options?: ComparisonOptions): Mismatches;
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AAGxC,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAExD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAC1B,OAAO,EAAE,OAAO,CAAC,QAAQ,EACzB,OAAO,GAAE,iBAAsB,GAC9B,UAAU,CAMZ"}
package/lib/index.js CHANGED
@@ -17,4 +17,4 @@ function compareAssemblies(original, updated, options = {}) {
17
17
  return comparison.mismatches;
18
18
  }
19
19
  exports.compareAssemblies = compareAssemblies;
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSx1REFBdUQ7QUFHdkQ7Ozs7Ozs7R0FPRztBQUNILFNBQWdCLGlCQUFpQixDQUMvQixRQUEwQixFQUMxQixPQUF5QixFQUN6QixVQUE2QixFQUFFO0lBRS9CLE1BQU0sVUFBVSxHQUFHLElBQUksb0NBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbkQsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDbkMsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBRXJCLE9BQU8sVUFBVSxDQUFDLFVBQVUsQ0FBQztBQUMvQixDQUFDO0FBVkQsOENBVUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyByZWZsZWN0IGZyb20gJ2pzaWktcmVmbGVjdCc7XG5cbmltcG9ydCB7IEFzc2VtYmx5Q29tcGFyaXNvbiB9IGZyb20gJy4vdHlwZS1jb21wYXJpc29uJztcbmltcG9ydCB7IENvbXBhcmlzb25PcHRpb25zLCBNaXNtYXRjaGVzIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogQ29tcGFyZSB0d28gYXNzZW1ibGllc1xuICpcbiAqIFdlIGN1cnJlbnRseSBvbmx5IGNoZWNrIGZvciBjb21wYXRpYmlsaXR5IChhIGZ1bGwgZGlmZiBpc1xuICogaGFyZGVyIDopLiBUaGUgb25seSB0aGluZyB3ZSBoYXZlIHRvIGRvIGlzIGNoZWNrIGZvciBldmVyeSBBUElcbiAqIGl0ZW0gd2hldGhlciBpdCdzIHN0aWxsIGF2YWlsYWJsZSBhbmQgaGFzIHRoZSBzYW1lIHNoYXBlIChvclxuICogYmlnZ2VyKSBpbiB0aGUgbmV3IEFQSS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbXBhcmVBc3NlbWJsaWVzKFxuICBvcmlnaW5hbDogcmVmbGVjdC5Bc3NlbWJseSxcbiAgdXBkYXRlZDogcmVmbGVjdC5Bc3NlbWJseSxcbiAgb3B0aW9uczogQ29tcGFyaXNvbk9wdGlvbnMgPSB7fSxcbik6IE1pc21hdGNoZXMge1xuICBjb25zdCBjb21wYXJpc29uID0gbmV3IEFzc2VtYmx5Q29tcGFyaXNvbihvcHRpb25zKTtcbiAgY29tcGFyaXNvbi5sb2FkKG9yaWdpbmFsLCB1cGRhdGVkKTtcbiAgY29tcGFyaXNvbi5jb21wYXJlKCk7XG5cbiAgcmV0dXJuIGNvbXBhcmlzb24ubWlzbWF0Y2hlcztcbn1cbiJdfQ==
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;AAEA,uDAAuD;AAGvD;;;;;;;GAOG;AACH,SAAgB,iBAAiB,CAC/B,QAA0B,EAC1B,OAAyB,EACzB,UAA6B,EAAE;IAE/B,MAAM,UAAU,GAAG,IAAI,oCAAkB,CAAC,OAAO,CAAC,CAAC;IACnD,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACnC,UAAU,CAAC,OAAO,EAAE,CAAC;IAErB,OAAO,UAAU,CAAC,UAAU,CAAC;AAC/B,CAAC;AAVD,8CAUC"}
@@ -1,3 +1,4 @@
1
1
  import * as reflect from 'jsii-reflect';
2
2
  import { ApiElement, IReport } from './types';
3
3
  export declare function validateStabilities(original: reflect.Documentable & ApiElement, updated: reflect.Documentable, mismatches: IReport): void;
4
+ //# sourceMappingURL=stability.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stability.d.ts","sourceRoot":"","sources":["stability.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AAExC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAE9C,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,OAAO,CAAC,YAAY,GAAG,UAAU,EAC3C,OAAO,EAAE,OAAO,CAAC,YAAY,EAC7B,UAAU,EAAE,OAAO,QA4BpB"}
package/lib/stability.js CHANGED
@@ -49,4 +49,4 @@ function allowedTransitions(start) {
49
49
  throw new Error(`Unrecognized stability: ${start}`);
50
50
  }
51
51
  }
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhYmlsaXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3RhYmlsaXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1DQUFtQztBQUtuQyxTQUFnQixtQkFBbUIsQ0FDakMsUUFBMkMsRUFDM0MsT0FBNkIsRUFDN0IsVUFBbUI7SUFFbkIsK0JBQStCO0lBQy9CLElBQ0UsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLEtBQUssU0FBUztRQUNyQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsS0FBSyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFDbEQ7UUFDQSxPQUFPO0tBQ1I7SUFFRCxtQ0FBbUM7SUFDbkMsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsS0FBSyxTQUFTLEVBQUU7UUFDeEMsVUFBVSxDQUFDLE1BQU0sQ0FBQztZQUNoQixPQUFPLEVBQUUsbUJBQW1CO1lBQzVCLE9BQU8sRUFBRSxrQkFBa0IsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLHFCQUFxQjtZQUN2RSxRQUFRLEVBQUUsUUFBUTtTQUNuQixDQUFDLENBQUM7UUFDSCxPQUFPO0tBQ1I7SUFFRCxNQUFNLE9BQU8sR0FBRyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzVELElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUU7UUFDN0MsVUFBVSxDQUFDLE1BQU0sQ0FBQztZQUNoQixPQUFPLEVBQUUsbUJBQW1CO1lBQzVCLE9BQU8sRUFBRSxxQ0FBcUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLFNBQVMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUc7WUFDdkcsUUFBUSxFQUFFLFFBQVE7U0FDbkIsQ0FBQyxDQUFDO0tBQ0o7QUFDSCxDQUFDO0FBL0JELGtEQStCQztBQUVELFNBQVMsa0JBQWtCLENBQUMsS0FBcUI7SUFDL0MsUUFBUSxLQUFLLEVBQUU7UUFDYiw0REFBNEQ7UUFDNUQsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVk7WUFDOUIsT0FBTztnQkFDTCxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU07Z0JBQ3JCLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVTtnQkFDekIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRO2FBQ3hCLENBQUM7UUFFSixvREFBb0Q7UUFDcEQsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU07WUFDeEIsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFOUQsK0JBQStCO1FBQy9CLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVO1lBQzVCLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRTFELDZDQUE2QztRQUM3QyxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUTtZQUMxQixPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUU1RDtZQUNFLE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCLEtBQVksRUFBRSxDQUFDLENBQUM7S0FDOUQ7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgc3BlYyBmcm9tICdAanNpaS9zcGVjJztcbmltcG9ydCAqIGFzIHJlZmxlY3QgZnJvbSAnanNpaS1yZWZsZWN0JztcblxuaW1wb3J0IHsgQXBpRWxlbWVudCwgSVJlcG9ydCB9IGZyb20gJy4vdHlwZXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVTdGFiaWxpdGllcyhcbiAgb3JpZ2luYWw6IHJlZmxlY3QuRG9jdW1lbnRhYmxlICYgQXBpRWxlbWVudCxcbiAgdXBkYXRlZDogcmVmbGVjdC5Eb2N1bWVudGFibGUsXG4gIG1pc21hdGNoZXM6IElSZXBvcnQsXG4pIHtcbiAgLy8gTm90aGluZyB0byBkbyBpbiB0aGVzZSBjYXNlc1xuICBpZiAoXG4gICAgb3JpZ2luYWwuZG9jcy5zdGFiaWxpdHkgPT09IHVuZGVmaW5lZCB8fFxuICAgIG9yaWdpbmFsLmRvY3Muc3RhYmlsaXR5ID09PSB1cGRhdGVkLmRvY3Muc3RhYmlsaXR5XG4gICkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8vIE5vdCBhbGxvd2VkIHRvIGRpc2F2b3cgc3RhYmlsaXR5XG4gIGlmICh1cGRhdGVkLmRvY3Muc3RhYmlsaXR5ID09PSB1bmRlZmluZWQpIHtcbiAgICBtaXNtYXRjaGVzLnJlcG9ydCh7XG4gICAgICBydWxlS2V5OiAncmVtb3ZlZC1zdGFiaWxpdHknLFxuICAgICAgbWVzc2FnZTogYHN0YWJpbGl0eSB3YXMgJyR7b3JpZ2luYWwuZG9jcy5zdGFiaWxpdHl9JywgaGFzIGJlZW4gcmVtb3ZlZGAsXG4gICAgICB2aW9sYXRvcjogb3JpZ2luYWwsXG4gICAgfSk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgYWxsb3dlZCA9IGFsbG93ZWRUcmFuc2l0aW9ucyhvcmlnaW5hbC5kb2NzLnN0YWJpbGl0eSk7XG4gIGlmICghYWxsb3dlZC5pbmNsdWRlcyh1cGRhdGVkLmRvY3Muc3RhYmlsaXR5KSkge1xuICAgIG1pc21hdGNoZXMucmVwb3J0KHtcbiAgICAgIHJ1bGVLZXk6ICdjaGFuZ2VkLXN0YWJpbGl0eScsXG4gICAgICBtZXNzYWdlOiBgc3RhYmlsaXR5IG5vdCBhbGxvd2VkIHRvIGdvIGZyb20gJyR7b3JpZ2luYWwuZG9jcy5zdGFiaWxpdHl9JyB0byAnJHt1cGRhdGVkLmRvY3Muc3RhYmlsaXR5fSdgLFxuICAgICAgdmlvbGF0b3I6IG9yaWdpbmFsLFxuICAgIH0pO1xuICB9XG59XG5cbmZ1bmN0aW9uIGFsbG93ZWRUcmFuc2l0aW9ucyhzdGFydDogc3BlYy5TdGFiaWxpdHkpOiBzcGVjLlN0YWJpbGl0eVtdIHtcbiAgc3dpdGNoIChzdGFydCkge1xuICAgIC8vIEV4cGVyaW1lbnRhbCBjYW4gZ28gdG8gc3RhYmxlLCBleHRlcm5hbCwgb3IgYmUgZGVwcmVjYXRlZFxuICAgIGNhc2Ugc3BlYy5TdGFiaWxpdHkuRXhwZXJpbWVudGFsOlxuICAgICAgcmV0dXJuIFtcbiAgICAgICAgc3BlYy5TdGFiaWxpdHkuU3RhYmxlLFxuICAgICAgICBzcGVjLlN0YWJpbGl0eS5EZXByZWNhdGVkLFxuICAgICAgICBzcGVjLlN0YWJpbGl0eS5FeHRlcm5hbCxcbiAgICAgIF07XG5cbiAgICAvLyBTdGFibGUgY2FuIGJlIGRlcHJlY2F0ZWQsIG9yIHN3aXRjaGVkIHRvIGV4dGVybmFsXG4gICAgY2FzZSBzcGVjLlN0YWJpbGl0eS5TdGFibGU6XG4gICAgICByZXR1cm4gW3NwZWMuU3RhYmlsaXR5LkRlcHJlY2F0ZWQsIHNwZWMuU3RhYmlsaXR5LkV4dGVybmFsXTtcblxuICAgIC8vIERlcHJlY2F0ZWQgY2FuIGJlIHJlaW5zdGF0ZWRcbiAgICBjYXNlIHNwZWMuU3RhYmlsaXR5LkRlcHJlY2F0ZWQ6XG4gICAgICByZXR1cm4gW3NwZWMuU3RhYmlsaXR5LlN0YWJsZSwgc3BlYy5TdGFiaWxpdHkuRXh0ZXJuYWxdO1xuXG4gICAgLy8gZXh0ZXJuYWwgY2FuIGJlIHN0YWJsZWlmaWVkLCBvciBkZXByZWNhdGVkXG4gICAgY2FzZSBzcGVjLlN0YWJpbGl0eS5FeHRlcm5hbDpcbiAgICAgIHJldHVybiBbc3BlYy5TdGFiaWxpdHkuU3RhYmxlLCBzcGVjLlN0YWJpbGl0eS5EZXByZWNhdGVkXTtcblxuICAgIGRlZmF1bHQ6XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFVucmVjb2duaXplZCBzdGFiaWxpdHk6ICR7c3RhcnQgYXMgYW55fWApO1xuICB9XG59XG4iXX0=
52
+ //# sourceMappingURL=stability.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stability.js","sourceRoot":"","sources":["stability.ts"],"names":[],"mappings":";;;AAAA,mCAAmC;AAKnC,SAAgB,mBAAmB,CACjC,QAA2C,EAC3C,OAA6B,EAC7B,UAAmB;IAEnB,+BAA+B;IAC/B,IACE,QAAQ,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS;QACrC,QAAQ,CAAC,IAAI,CAAC,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,SAAS,EAClD;QACA,OAAO;KACR;IAED,mCAAmC;IACnC,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE;QACxC,UAAU,CAAC,MAAM,CAAC;YAChB,OAAO,EAAE,mBAAmB;YAC5B,OAAO,EAAE,kBAAkB,QAAQ,CAAC,IAAI,CAAC,SAAS,qBAAqB;YACvE,QAAQ,EAAE,QAAQ;SACnB,CAAC,CAAC;QACH,OAAO;KACR;IAED,MAAM,OAAO,GAAG,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC5D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;QAC7C,UAAU,CAAC,MAAM,CAAC;YAChB,OAAO,EAAE,mBAAmB;YAC5B,OAAO,EAAE,qCAAqC,QAAQ,CAAC,IAAI,CAAC,SAAS,SAAS,OAAO,CAAC,IAAI,CAAC,SAAS,GAAG;YACvG,QAAQ,EAAE,QAAQ;SACnB,CAAC,CAAC;KACJ;AACH,CAAC;AA/BD,kDA+BC;AAED,SAAS,kBAAkB,CAAC,KAAqB;IAC/C,QAAQ,KAAK,EAAE;QACb,4DAA4D;QAC5D,KAAK,IAAI,CAAC,SAAS,CAAC,YAAY;YAC9B,OAAO;gBACL,IAAI,CAAC,SAAS,CAAC,MAAM;gBACrB,IAAI,CAAC,SAAS,CAAC,UAAU;gBACzB,IAAI,CAAC,SAAS,CAAC,QAAQ;aACxB,CAAC;QAEJ,oDAAoD;QACpD,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM;YACxB,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAE9D,+BAA+B;QAC/B,KAAK,IAAI,CAAC,SAAS,CAAC,UAAU;YAC5B,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAE1D,6CAA6C;QAC7C,KAAK,IAAI,CAAC,SAAS,CAAC,QAAQ;YAC1B,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAE5D;YACE,MAAM,IAAI,KAAK,CAAC,2BAA2B,KAAY,EAAE,CAAC,CAAC;KAC9D;AACH,CAAC"}
@@ -37,3 +37,4 @@ export declare type FailedAnalysis = {
37
37
  reasons: string[];
38
38
  };
39
39
  export declare function prependReason(analysis: Analysis, message: string): Analysis;
40
+ //# sourceMappingURL=type-analysis.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-analysis.d.ts","sourceRoot":"","sources":["type-analysis.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AAIxC;;;;;;;GAOG;AACH,wBAAgB,WAAW,CACzB,CAAC,EAAE,OAAO,CAAC,aAAa,EACxB,CAAC,EAAE,OAAO,CAAC,aAAa,EACxB,aAAa,EAAE,OAAO,CAAC,UAAU,GAChC,QAAQ,CAkFV;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,CAAC,EAAE,OAAO,CAAC,aAAa,EACxB,CAAC,EAAE,OAAO,CAAC,aAAa,EACxB,aAAa,EAAE,OAAO,CAAC,UAAU,GAChC,QAAQ,CAwCV;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,qBAAqB,CACnC,CAAC,EAAE,OAAO,CAAC,aAAa,EACxB,CAAC,EAAE,OAAO,CAAC,aAAa,EACxB,aAAa,EAAE,OAAO,CAAC,UAAU,GAChC,QAAQ,CAmCV;AAGD,oBAAY,QAAQ,GAAG;IAAE,OAAO,EAAE,IAAI,CAAA;CAAE,GAAG,cAAc,CAAC;AAE1D,oBAAY,cAAc,GAAG;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAMnE,wBAAgB,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,QAAQ,CAK3E"}
@@ -43,7 +43,7 @@ function isSuperType(a, b, updatedSystem) {
43
43
  if (analyses.every((x) => x.success)) {
44
44
  return { success: true };
45
45
  }
46
- return failure(`some of ${b.toString()} are not assignable to ${a.toString()}`, ...util_1.flatMap(analyses, (x) => (x.success ? [] : x.reasons)));
46
+ return failure(`some of ${b.toString()} are not assignable to ${a.toString()}`, ...(0, util_1.flatMap)(analyses, (x) => (x.success ? [] : x.reasons)));
47
47
  }
48
48
  // There should be an element of A which can accept all of B
49
49
  if (a.unionOfTypes !== undefined) {
@@ -51,7 +51,7 @@ function isSuperType(a, b, updatedSystem) {
51
51
  if (analyses.some((x) => x.success)) {
52
52
  return { success: true };
53
53
  }
54
- return failure(`none of ${b.toString()} are assignable to ${a.toString()}`, ...util_1.flatMap(analyses, (x) => (x.success ? [] : x.reasons)));
54
+ return failure(`none of ${b.toString()} are assignable to ${a.toString()}`, ...(0, util_1.flatMap)(analyses, (x) => (x.success ? [] : x.reasons)));
55
55
  }
56
56
  // We have two named types, recursion might happen so protect against it.
57
57
  try {
@@ -169,4 +169,4 @@ function prependReason(analysis, message) {
169
169
  return failure(message, ...analysis.reasons);
170
170
  }
171
171
  exports.prependReason = prependReason;
172
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS1hbmFseXNpcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInR5cGUtYW5hbHlzaXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBR0EsaUNBQWlDO0FBRWpDOzs7Ozs7O0dBT0c7QUFDSCxTQUFnQixXQUFXLENBQ3pCLENBQXdCLEVBQ3hCLENBQXdCLEVBQ3hCLGFBQWlDO0lBRWpDLElBQUksQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFO1FBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMscUNBQXFDLENBQUMsQ0FBQztLQUN4RDtJQUNELElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRTtRQUNYLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7S0FDMUI7SUFFRCxJQUFJLENBQUMsQ0FBQyxTQUFTLEtBQUssU0FBUyxFQUFFO1FBQzdCLElBQUksQ0FBQyxDQUFDLFNBQVMsS0FBSyxDQUFDLENBQUMsU0FBUyxFQUFFO1lBQy9CLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7U0FDMUI7UUFDRCxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUseUJBQXlCLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUM7S0FDeEU7SUFFRCxJQUFJLENBQUMsQ0FBQyxXQUFXLEtBQUssU0FBUyxFQUFFO1FBQy9CLHVCQUF1QjtRQUN2QixJQUFJLENBQUMsQ0FBQyxXQUFXLEtBQUssU0FBUyxFQUFFO1lBQy9CLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO1NBQ3hEO1FBQ0QsT0FBTyxhQUFhLENBQ2xCLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUUsYUFBYSxDQUFDLEVBQ3hELEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSx5QkFBeUIsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQ3ZELENBQUM7S0FDSDtJQUVELElBQUksQ0FBQyxDQUFDLFNBQVMsS0FBSyxTQUFTLEVBQUU7UUFDN0IsaUNBQWlDO1FBQ2pDLElBQUksQ0FBQyxDQUFDLFNBQVMsS0FBSyxTQUFTLEVBQUU7WUFDN0IsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLG9CQUFvQixDQUFDLENBQUM7U0FDckQ7UUFDRCxPQUFPLGFBQWEsQ0FDbEIsV0FBVyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxhQUFhLENBQUMsRUFDcEQsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLHlCQUF5QixDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FDdkQsQ0FBQztLQUNIO0lBRUQsMENBQTBDO0lBQzFDLElBQUksQ0FBQyxDQUFDLFlBQVksS0FBSyxTQUFTLEVBQUU7UUFDaEMsTUFBTSxRQUFRLEdBQUcsQ0FBQyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUMxQyxXQUFXLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxhQUFhLENBQUMsQ0FDbkMsQ0FBQztRQUNGLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3BDLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7U0FDMUI7UUFDRCxPQUFPLE9BQU8sQ0FDWixXQUFXLENBQUMsQ0FBQyxRQUFRLEVBQUUsMEJBQTBCLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxFQUMvRCxHQUFHLGNBQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FDMUQsQ0FBQztLQUNIO0lBQ0QsNERBQTREO0lBQzVELElBQUksQ0FBQyxDQUFDLFlBQVksS0FBSyxTQUFTLEVBQUU7UUFDaEMsTUFBTSxRQUFRLEdBQUcsQ0FBQyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUMxQyxXQUFXLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxhQUFhLENBQUMsQ0FDbkMsQ0FBQztRQUNGLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ25DLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7U0FDMUI7UUFDRCxPQUFPLE9BQU8sQ0FDWixXQUFXLENBQUMsQ0FBQyxRQUFRLEVBQUUsc0JBQXNCLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxFQUMzRCxHQUFHLGNBQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FDMUQsQ0FBQztLQUNIO0lBRUQseUVBQXlFO0lBQ3pFLElBQUk7UUFDRixrRUFBa0U7UUFDbEUsMEVBQTBFO1FBQzFFLDRFQUE0RTtRQUM1RSw4REFBOEQ7UUFDOUQsTUFBTSxZQUFZLEdBQUcsa0JBQWtCLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUM3RCxJQUFJLFlBQVksQ0FBQyxPQUFPLEtBQUssS0FBSyxFQUFFO1lBQ2xDLE9BQU8sWUFBWSxDQUFDO1NBQ3JCO1FBRUQsd0VBQXdFO1FBQ3hFLDBFQUEwRTtRQUMxRSwwQ0FBMEM7UUFDMUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQztLQUMxQjtJQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ1YsT0FBTyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0tBQzNCO0FBQ0gsQ0FBQztBQXRGRCxrQ0FzRkM7QUFFRDs7R0FFRztBQUNILFNBQWdCLGtCQUFrQixDQUNoQyxDQUF3QixFQUN4QixDQUF3QixFQUN4QixhQUFpQztJQUVqQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEtBQUssU0FBUyxFQUFFO1FBQ3ZCLE1BQU0sSUFBSSxLQUFLLENBQUMsc0NBQXNDLENBQUMsQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUM7S0FDeEU7SUFFRCxpQ0FBaUM7SUFDakMsSUFBSSxDQUFDLENBQUMsR0FBRyxLQUFLLFNBQVMsRUFBRTtRQUN2QixPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUseUJBQXlCLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUM7S0FDeEU7SUFFRCxxRUFBcUU7SUFDckUsSUFBSSxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxHQUFHLEVBQUU7UUFDbkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQztLQUMxQjtJQUVELDRDQUE0QztJQUM1Qyw0REFBNEQ7SUFDNUQsTUFBTSxDQUFDLEdBQUcsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUMsTUFBTSxDQUFDLEdBQUcsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFMUMsSUFBSSxDQUFDLENBQUMsRUFBRTtRQUNOLE9BQU8sT0FBTyxDQUFDLHVCQUF1QixDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0tBQ3ZEO0lBQ0QsSUFBSSxDQUFDLENBQUMsRUFBRTtRQUNOLE9BQU8sT0FBTyxDQUFDLHVCQUF1QixDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0tBQ3ZEO0lBRUQsMEVBQTBFO0lBQzFFLDhDQUE4QztJQUM5QyxJQUFJLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtRQUNsQixPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsOEJBQThCLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUM7S0FDN0U7SUFDRCxJQUFJLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtRQUNsQixPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsOEJBQThCLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUM7S0FDN0U7SUFFRCxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7UUFDaEIsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQztLQUMxQjtJQUNELE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUNwRSxDQUFDO0FBNUNELGdEQTRDQztBQUVEOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNILFNBQWdCLHFCQUFxQixDQUNuQyxDQUF3QixFQUN4QixDQUF3QixFQUN4QixhQUFpQztJQUVqQyx1RUFBdUU7SUFDdkUsTUFBTSxNQUFNLEdBQUcsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVyQyxtRUFBbUU7SUFDbkUsTUFBTSxRQUFRLEdBQUcsQ0FBQyxDQUFDLE1BQU0sS0FBSyxhQUFhLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO0lBQ25FLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxNQUFNLEtBQUssYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQztJQUM1RCxNQUFNLE9BQU8sR0FBRyxDQUFDLENBQUMsTUFBTSxLQUFLLGFBQWEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFFakUsS0FBSyxNQUFNLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFO1FBQ2pFLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUUzQixJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUU7WUFDbEIsOEVBQThFO1lBQzlFLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ1YsU0FBUzthQUNWO1NBQ0Y7YUFBTTtZQUNMLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ1YsT0FBTyxPQUFPLENBQUMsR0FBRyxRQUFRLHVCQUF1QixJQUFJLEtBQUssT0FBTyxFQUFFLENBQUMsQ0FBQzthQUN0RTtZQUNELElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRTtnQkFDbEIsT0FBTyxPQUFPLENBQ1osR0FBRyxRQUFRLHVCQUF1QixJQUFJLEtBQUssRUFBRSxXQUFXLENBQ3pELENBQUM7YUFDSDtTQUNGO1FBRUQsTUFBTSxHQUFHLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksRUFBRSxhQUFhLENBQUMsQ0FBQztRQUMvRCxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRTtZQUNoQixPQUFPLE9BQU8sQ0FBQyxZQUFZLElBQUksRUFBRSxFQUFFLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3BEO0tBQ0Y7SUFFRCxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDO0FBQzNCLENBQUM7QUF2Q0Qsc0RBdUNDO0FBT0QsU0FBUyxPQUFPLENBQUMsR0FBRyxPQUFpQjtJQUNuQyxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQztBQUNyQyxDQUFDO0FBRUQsU0FBZ0IsYUFBYSxDQUFDLFFBQWtCLEVBQUUsT0FBZTtJQUMvRCxJQUFJLFFBQVEsQ0FBQyxPQUFPLEVBQUU7UUFDcEIsT0FBTyxRQUFRLENBQUM7S0FDakI7SUFDRCxPQUFPLE9BQU8sQ0FBQyxPQUFPLEVBQUUsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDL0MsQ0FBQztBQUxELHNDQUtDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgY29tcGxleGl0eSAqL1xuaW1wb3J0ICogYXMgcmVmbGVjdCBmcm9tICdqc2lpLXJlZmxlY3QnO1xuXG5pbXBvcnQgeyBmbGF0TWFwIH0gZnJvbSAnLi91dGlsJztcblxuLyoqXG4gKiBDaGVjayB3aGV0aGVyIEEgaXMgYSBzdXBlcnR5cGUgb2YgQlxuICpcbiAqIFB1dCBkaWZmZXJlbnRseTogd2hldGhlciBhbnkgdmFsdWUgb2YgdHlwZSBCIHdvdWxkIGJlIGFzc2lnbmFibGUgdG8gYVxuICogdmFyaWFibGUgb2YgdHlwZSBBLlxuICpcbiAqIFdlIGFsd2F5cyBjaGVjayB0aGUgcmVsYXRpb25zaGlwIGluIHRoZSBORVcgKGxhdGVzdCwgdXBkYXRlZCkgdHlwZXN5c3RlbS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzU3VwZXJUeXBlKFxuICBhOiByZWZsZWN0LlR5cGVSZWZlcmVuY2UsXG4gIGI6IHJlZmxlY3QuVHlwZVJlZmVyZW5jZSxcbiAgdXBkYXRlZFN5c3RlbTogcmVmbGVjdC5UeXBlU3lzdGVtLFxuKTogQW5hbHlzaXMge1xuICBpZiAoYS52b2lkIHx8IGIudm9pZCkge1xuICAgIHRocm93IG5ldyBFcnJvcignaXNTdXBlclR5cGUoKSBkb2VzIG5vdCBoYW5kbGUgdm9pZHMnKTtcbiAgfVxuICBpZiAoYS5pc0FueSkge1xuICAgIHJldHVybiB7IHN1Y2Nlc3M6IHRydWUgfTtcbiAgfVxuXG4gIGlmIChhLnByaW1pdGl2ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgaWYgKGEucHJpbWl0aXZlID09PSBiLnByaW1pdGl2ZSkge1xuICAgICAgcmV0dXJuIHsgc3VjY2VzczogdHJ1ZSB9O1xuICAgIH1cbiAgICByZXR1cm4gZmFpbHVyZShgJHtiLnRvU3RyaW5nKCl9IGlzIG5vdCBhc3NpZ25hYmxlIHRvICR7YS50b1N0cmluZygpfWApO1xuICB9XG5cbiAgaWYgKGEuYXJyYXlPZlR5cGUgIT09IHVuZGVmaW5lZCkge1xuICAgIC8vIEFycmF5cyBhcmUgY292YXJpYW50XG4gICAgaWYgKGIuYXJyYXlPZlR5cGUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIGZhaWx1cmUoYCR7Yi50b1N0cmluZygpfSBpcyBub3QgYW4gYXJyYXkgdHlwZWApO1xuICAgIH1cbiAgICByZXR1cm4gcHJlcGVuZFJlYXNvbihcbiAgICAgIGlzU3VwZXJUeXBlKGEuYXJyYXlPZlR5cGUsIGIuYXJyYXlPZlR5cGUsIHVwZGF0ZWRTeXN0ZW0pLFxuICAgICAgYCR7Yi50b1N0cmluZygpfSBpcyBub3QgYXNzaWduYWJsZSB0byAke2EudG9TdHJpbmcoKX1gLFxuICAgICk7XG4gIH1cblxuICBpZiAoYS5tYXBPZlR5cGUgIT09IHVuZGVmaW5lZCkge1xuICAgIC8vIE1hcHMgYXJlIGNvdmFyaWFudCAoYXJlIHRoZXk/KVxuICAgIGlmIChiLm1hcE9mVHlwZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gZmFpbHVyZShgJHtiLnRvU3RyaW5nKCl9IGlzIG5vdCBhIG1hcCB0eXBlYCk7XG4gICAgfVxuICAgIHJldHVybiBwcmVwZW5kUmVhc29uKFxuICAgICAgaXNTdXBlclR5cGUoYS5tYXBPZlR5cGUsIGIubWFwT2ZUeXBlLCB1cGRhdGVkU3lzdGVtKSxcbiAgICAgIGAke2IudG9TdHJpbmcoKX0gaXMgbm90IGFzc2lnbmFibGUgdG8gJHthLnRvU3RyaW5nKCl9YCxcbiAgICApO1xuICB9XG5cbiAgLy8gRXZlcnkgZWxlbWVudCBvZiBCIGNhbiBiZSBhc3NpZ25lZCB0byBBXG4gIGlmIChiLnVuaW9uT2ZUeXBlcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgY29uc3QgYW5hbHlzZXMgPSBiLnVuaW9uT2ZUeXBlcy5tYXAoKGJiYikgPT5cbiAgICAgIGlzU3VwZXJUeXBlKGEsIGJiYiwgdXBkYXRlZFN5c3RlbSksXG4gICAgKTtcbiAgICBpZiAoYW5hbHlzZXMuZXZlcnkoKHgpID0+IHguc3VjY2VzcykpIHtcbiAgICAgIHJldHVybiB7IHN1Y2Nlc3M6IHRydWUgfTtcbiAgICB9XG4gICAgcmV0dXJuIGZhaWx1cmUoXG4gICAgICBgc29tZSBvZiAke2IudG9TdHJpbmcoKX0gYXJlIG5vdCBhc3NpZ25hYmxlIHRvICR7YS50b1N0cmluZygpfWAsXG4gICAgICAuLi5mbGF0TWFwKGFuYWx5c2VzLCAoeCkgPT4gKHguc3VjY2VzcyA/IFtdIDogeC5yZWFzb25zKSksXG4gICAgKTtcbiAgfVxuICAvLyBUaGVyZSBzaG91bGQgYmUgYW4gZWxlbWVudCBvZiBBIHdoaWNoIGNhbiBhY2NlcHQgYWxsIG9mIEJcbiAgaWYgKGEudW5pb25PZlR5cGVzICE9PSB1bmRlZmluZWQpIHtcbiAgICBjb25zdCBhbmFseXNlcyA9IGEudW5pb25PZlR5cGVzLm1hcCgoYWFhKSA9PlxuICAgICAgaXNTdXBlclR5cGUoYWFhLCBiLCB1cGRhdGVkU3lzdGVtKSxcbiAgICApO1xuICAgIGlmIChhbmFseXNlcy5zb21lKCh4KSA9PiB4LnN1Y2Nlc3MpKSB7XG4gICAgICByZXR1cm4geyBzdWNjZXNzOiB0cnVlIH07XG4gICAgfVxuICAgIHJldHVybiBmYWlsdXJlKFxuICAgICAgYG5vbmUgb2YgJHtiLnRvU3RyaW5nKCl9IGFyZSBhc3NpZ25hYmxlIHRvICR7YS50b1N0cmluZygpfWAsXG4gICAgICAuLi5mbGF0TWFwKGFuYWx5c2VzLCAoeCkgPT4gKHguc3VjY2VzcyA/IFtdIDogeC5yZWFzb25zKSksXG4gICAgKTtcbiAgfVxuXG4gIC8vIFdlIGhhdmUgdHdvIG5hbWVkIHR5cGVzLCByZWN1cnNpb24gbWlnaHQgaGFwcGVuIHNvIHByb3RlY3QgYWdhaW5zdCBpdC5cbiAgdHJ5IHtcbiAgICAvLyBGb3IgbmFtZWQgdHlwZXMsIHdlJ2xsIGFsd2F5cyBkbyBhIG5vbWluYWwgdHlwaW5nIHJlbGF0aW9uc2hpcC5cbiAgICAvLyBUaGF0IGlzLCBpZiBpbiB0aGUgdXBkYXRlZCB0eXBlc3lzdGVtIHNvbWVvbmUgd2VyZSB0byB1c2UgdGhlIHR5cGUgbmFtZVxuICAgIC8vIGZyb20gdGhlIG9sZCBhc3NlbWJseSwgZG8gdGhleSBoYXZlIGEgdHlwaW5nIHJlbGF0aW9uc2hpcCB0aGF0J3MgYWNjZXB0ZWRcbiAgICAvLyBieSBhIG5vbWluYWwgdHlwZSBzeXN0ZW0uIChUaGF0IGNoZWNrIGFsc28gcnVsZXMgb3V0IGVudW1zKVxuICAgIGNvbnN0IG5vbWluYWxDaGVjayA9IGlzTm9taW5hbFN1cGVyVHlwZShhLCBiLCB1cGRhdGVkU3lzdGVtKTtcbiAgICBpZiAobm9taW5hbENoZWNrLnN1Y2Nlc3MgPT09IGZhbHNlKSB7XG4gICAgICByZXR1cm4gbm9taW5hbENoZWNrO1xuICAgIH1cblxuICAgIC8vIEF0IHRoaXMgcG9pbnQsIHRoZSBvbmx5IHRoaW5nIGxlZnQgdG8gZG8gaXMgcmVjdXJzZSBpbnRvIHRoZSBzdHJ1Y3RzLlxuICAgIC8vIFdlIHVzZWQgdG8gZG8gdGhhdCBoZXJlLCBidXQgd2UgZG9uJ3QgYW55bW9yZTsgc3RydWN0cyBjaGVjayB0aGVtc2VsdmVzXG4gICAgLy8gZm9yIHN0cnVjdHVyYWwgd2Vha2VuaW5nL3N0cmVuZ3RoZW5pbmcuXG4gICAgcmV0dXJuIHsgc3VjY2VzczogdHJ1ZSB9O1xuICB9IGNhdGNoIChlKSB7XG4gICAgcmV0dXJuIGZhaWx1cmUoZS5tZXNzYWdlKTtcbiAgfVxufVxuXG4vKipcbiAqIEZpbmQgdHlwZXMgQSBhbmQgQiBpbiB0aGUgdXBkYXRlZCB0eXBlIHN5c3RlbSwgYW5kIGNoZWNrIHdoZXRoZXIgdGhleSBoYXZlIGEgc3VwZXJ0eXBlIHJlbGF0aW9uc2hpcCBpbiB0aGUgdHlwZSBzeXN0ZW1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzTm9taW5hbFN1cGVyVHlwZShcbiAgYTogcmVmbGVjdC5UeXBlUmVmZXJlbmNlLFxuICBiOiByZWZsZWN0LlR5cGVSZWZlcmVuY2UsXG4gIHVwZGF0ZWRTeXN0ZW06IHJlZmxlY3QuVHlwZVN5c3RlbSxcbik6IEFuYWx5c2lzIHtcbiAgaWYgKGEuZnFuID09PSB1bmRlZmluZWQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEkgd2FzIGV4cGVjdGluZyBhIG5hbWVkIHR5cGUsIGdvdCAnJHthLnRvU3RyaW5nKCl9J2ApO1xuICB9XG5cbiAgLy8gTmFtZWQgdHlwZSB2cyBhIG5vbi1uYW1lZCB0eXBlXG4gIGlmIChiLmZxbiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIGZhaWx1cmUoYCR7Yi50b1N0cmluZygpfSBpcyBub3QgYXNzaWduYWJsZSB0byAke2EudG9TdHJpbmcoKX1gKTtcbiAgfVxuXG4gIC8vIFNob3J0LWNpcmN1aXQgb2YgdGhlIHR5cGVzIGFyZSB0aGUgc2FtZSBuYW1lLCBzYXZlcyB1cyBzb21lIGxvb2t1cFxuICBpZiAoYS5mcW4gPT09IGIuZnFuKSB7XG4gICAgcmV0dXJuIHsgc3VjY2VzczogdHJ1ZSB9O1xuICB9XG5cbiAgLy8gV2Ugbm93IG5lZWQgdG8gZG8gc3VidHlwZSBhbmFseXNpcyBvbiB0aGVcbiAgLy8gRmluZCBBIGluIEIncyB0eXBlc3lzdGVtLCBhbmQgc2VlIGlmIEIgaXMgYSBzdWJ0eXBlIG9mIEEnXG4gIGNvbnN0IEIgPSB1cGRhdGVkU3lzdGVtLnRyeUZpbmRGcW4oYi5mcW4pO1xuICBjb25zdCBBID0gdXBkYXRlZFN5c3RlbS50cnlGaW5kRnFuKGEuZnFuKTtcblxuICBpZiAoIUIpIHtcbiAgICByZXR1cm4gZmFpbHVyZShgY291bGQgbm90IGZpbmQgdHlwZSAke2IudG9TdHJpbmcoKX1gKTtcbiAgfVxuICBpZiAoIUEpIHtcbiAgICByZXR1cm4gZmFpbHVyZShgY291bGQgbm90IGZpbmQgdHlwZSAke2EudG9TdHJpbmcoKX1gKTtcbiAgfVxuXG4gIC8vIElmIHRoZXkncmUgZW51bXMsIHRoZXkgc2hvdWxkIGhhdmUgYmVlbiBleGFjdGx5IHRoZSBzYW1lICh0ZXN0ZWQgYWJvdmUpXG4gIC8vIGVudW1zIGFyZSBuZXZlciBzdWJ0eXBlcyBvZiBhbnkgb3RoZXIgdHlwZS5cbiAgaWYgKEEuaXNFbnVtVHlwZSgpKSB7XG4gICAgcmV0dXJuIGZhaWx1cmUoYCR7YS50b1N0cmluZygpfSBpcyBhbiBlbnVtIGRpZmZlcmVudCBmcm9tICR7Yi50b1N0cmluZygpfWApO1xuICB9XG4gIGlmIChCLmlzRW51bVR5cGUoKSkge1xuICAgIHJldHVybiBmYWlsdXJlKGAke2IudG9TdHJpbmcoKX0gaXMgYW4gZW51bSBkaWZmZXJlbnQgZnJvbSAke2EudG9TdHJpbmcoKX1gKTtcbiAgfVxuXG4gIGlmIChCLmV4dGVuZHMoQSkpIHtcbiAgICByZXR1cm4geyBzdWNjZXNzOiB0cnVlIH07XG4gIH1cbiAgcmV0dXJuIGZhaWx1cmUoYCR7Yi50b1N0cmluZygpfSBkb2VzIG5vdCBleHRlbmQgJHthLnRvU3RyaW5nKCl9YCk7XG59XG5cbi8qKlxuICogSXMgc3RydWN0IEEgYSBzdHJ1Y3R1cmFsIHN1cGVydHlwZSBvZiBzdHJ1Y3QgQj9cbiAqXG4gKiBUcnlpbmcgdG8gYW5zd2VyIHRoZSBxdWVzdGlvbiwgaXMgdGhpcyBhc3NpZ25tZW50IGxlZ2FsIGZvciBhbGwgdmFsdWVzXG4gKiBvZiBgZXhwciBpbiBCYC5cbiAqXG4gKiBgYGB0c1xuICogY29uc3QgdmFyOiBBID0gZXhwciBhcyBCO1xuICogYGBgXG4gKlxuICogQSBpcyBhIHN0cnVjdHVyYWwgc3VwZXJ0eXBlIG9mIEIgaWYgYWxsIHJlcXVpcmVkIG1lbWJlcnMgb2YgQSBhcmUgYWxzb1xuICogcmVxdWlyZWQgaW4gQiwgYW5kIG9mIGEgY29tcGF0aWJsZSB0eXBlLlxuICpcbiAqIE51bGxhYmxlIG1lbWJlcnMgb2YgQSBtdXN0IGVpdGhlciBub3QgZXhpc3QgaW4gQiwgb3IgYmUgb2YgYSBjb21wYXRpYmxlXG4gKiB0eXBlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNTdHJ1Y3R1cmFsU3VwZXJUeXBlKFxuICBhOiByZWZsZWN0LkludGVyZmFjZVR5cGUsXG4gIGI6IHJlZmxlY3QuSW50ZXJmYWNlVHlwZSxcbiAgdXBkYXRlZFN5c3RlbTogcmVmbGVjdC5UeXBlU3lzdGVtLFxuKTogQW5hbHlzaXMge1xuICAvLyBXZSBrbm93IGFsbCBtZW1iZXJzIGNhbiBvbmx5IGJlIHByb3BlcnRpZXMsIHNvIHRoYXQgbWFrZXMgaXQgZWFzaWVyLlxuICBjb25zdCBiUHJvcHMgPSBiLmdldFByb3BlcnRpZXModHJ1ZSk7XG5cbiAgLy8gVXNlIHRpbWluZyB3b3JkcyBpbiBlcnJvciBtZXNzYWdlIHRvIG1ha2UgaXQgbW9yZSB1bmRlcnN0YW5kYWJsZVxuICBjb25zdCBmb3JtZXJseSA9IGIuc3lzdGVtID09PSB1cGRhdGVkU3lzdGVtID8gJ2Zvcm1lcmx5JyA6ICduZXdseSc7XG4gIGNvbnN0IGlzID0gYi5zeXN0ZW0gPT09IHVwZGF0ZWRTeXN0ZW0gPyAnaXMnIDogJ3VzZWQgdG8gYmUnO1xuICBjb25zdCByZW1vdmVkID0gYi5zeXN0ZW0gPT09IHVwZGF0ZWRTeXN0ZW0gPyAncmVtb3ZlZCcgOiAnYWRkZWQnO1xuXG4gIGZvciAoY29uc3QgW25hbWUsIGFQcm9wXSBvZiBPYmplY3QuZW50cmllcyhhLmdldFByb3BlcnRpZXModHJ1ZSkpKSB7XG4gICAgY29uc3QgYlByb3AgPSBiUHJvcHNbbmFtZV07XG5cbiAgICBpZiAoYVByb3Aub3B0aW9uYWwpIHtcbiAgICAgIC8vIE9wdGlvbmFsIGZpZWxkLCBvbmx5IHJlcXVpcmVtZW50IGlzIHRoYXQgSUYgaXQgZXhpc3RzLCB0aGUgdHlwZSBtdXN0IG1hdGNoLlxuICAgICAgaWYgKCFiUHJvcCkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKCFiUHJvcCkge1xuICAgICAgICByZXR1cm4gZmFpbHVyZShgJHtmb3JtZXJseX0gcmVxdWlyZWQgcHJvcGVydHkgJyR7bmFtZX0nICR7cmVtb3ZlZH1gKTtcbiAgICAgIH1cbiAgICAgIGlmIChiUHJvcC5vcHRpb25hbCkge1xuICAgICAgICByZXR1cm4gZmFpbHVyZShcbiAgICAgICAgICBgJHtmb3JtZXJseX0gcmVxdWlyZWQgcHJvcGVydHkgJyR7bmFtZX0nICR7aXN9IG9wdGlvbmFsYCxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBhbmEgPSBpc1N1cGVyVHlwZShhUHJvcC50eXBlLCBiUHJvcC50eXBlLCB1cGRhdGVkU3lzdGVtKTtcbiAgICBpZiAoIWFuYS5zdWNjZXNzKSB7XG4gICAgICByZXR1cm4gZmFpbHVyZShgcHJvcGVydHkgJHtuYW1lfWAsIC4uLmFuYS5yZWFzb25zKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4geyBzdWNjZXNzOiB0cnVlIH07XG59XG5cbi8vIE9oIHRhZ2dlZCB1bmlvbiB0eXBlcyBJIGxvdmUgeW91IHNvIG11Y2ghXG5leHBvcnQgdHlwZSBBbmFseXNpcyA9IHsgc3VjY2VzczogdHJ1ZSB9IHwgRmFpbGVkQW5hbHlzaXM7XG5cbmV4cG9ydCB0eXBlIEZhaWxlZEFuYWx5c2lzID0geyBzdWNjZXNzOiBmYWxzZTsgcmVhc29uczogc3RyaW5nW10gfTtcblxuZnVuY3Rpb24gZmFpbHVyZSguLi5yZWFzb25zOiBzdHJpbmdbXSk6IEZhaWxlZEFuYWx5c2lzIHtcbiAgcmV0dXJuIHsgc3VjY2VzczogZmFsc2UsIHJlYXNvbnMgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByZXBlbmRSZWFzb24oYW5hbHlzaXM6IEFuYWx5c2lzLCBtZXNzYWdlOiBzdHJpbmcpOiBBbmFseXNpcyB7XG4gIGlmIChhbmFseXNpcy5zdWNjZXNzKSB7XG4gICAgcmV0dXJuIGFuYWx5c2lzO1xuICB9XG4gIHJldHVybiBmYWlsdXJlKG1lc3NhZ2UsIC4uLmFuYWx5c2lzLnJlYXNvbnMpO1xufVxuIl19
172
+ //# sourceMappingURL=type-analysis.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-analysis.js","sourceRoot":"","sources":["type-analysis.ts"],"names":[],"mappings":"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"}
@@ -193,3 +193,4 @@ export declare class ComparableEnumType extends ComparableType<reflect.EnumType>
193
193
  */
194
194
  compare(): void;
195
195
  }
196
+ //# sourceMappingURL=type-comparison.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-comparison.d.ts","sourceRoot":"","sources":["type-comparison.ts"],"names":[],"mappings":"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"}