@angular/core 13.0.0-next.7 → 13.0.0-next.8

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 (85) hide show
  1. package/bundles/core-testing.umd.js +18 -18
  2. package/bundles/core-testing.umd.js.map +1 -1
  3. package/bundles/core.umd.js +54 -53
  4. package/bundles/core.umd.js.map +1 -1
  5. package/core.d.ts +10 -9
  6. package/core.metadata.json +1 -1
  7. package/esm2015/src/i18n/locale_data_api.js +5 -4
  8. package/esm2015/src/i18n/tokens.js +6 -6
  9. package/esm2015/src/reflection/reflection_capabilities.js +3 -3
  10. package/esm2015/src/version.js +1 -1
  11. package/esm2015/testing/src/resolvers.js +1 -1
  12. package/fesm2015/core.js +13 -12
  13. package/fesm2015/core.js.map +1 -1
  14. package/fesm2015/testing.js +1 -1
  15. package/fesm2015/testing.js.map +1 -1
  16. package/package.json +2 -2
  17. package/schematics/migrations/abstract-control-parent/index.js +6 -6
  18. package/schematics/migrations/abstract-control-parent/util.js +6 -6
  19. package/schematics/migrations/activated-route-snapshot-fragment/index.js +7 -7
  20. package/schematics/migrations/activated-route-snapshot-fragment/util.js +4 -4
  21. package/schematics/migrations/can-activate-with-redirect-to/index.js +7 -7
  22. package/schematics/migrations/deep-shadow-piercing-selector/index.js +3 -3
  23. package/schematics/migrations/dynamic-queries/index.js +8 -8
  24. package/schematics/migrations/dynamic-queries/util.js +2 -2
  25. package/schematics/migrations/initial-navigation/collector.js +4 -4
  26. package/schematics/migrations/initial-navigation/index.js +5 -5
  27. package/schematics/migrations/initial-navigation/util.js +3 -3
  28. package/schematics/migrations/missing-injectable/definition_collector.js +5 -5
  29. package/schematics/migrations/missing-injectable/index.js +6 -6
  30. package/schematics/migrations/missing-injectable/transform.js +2 -2
  31. package/schematics/migrations/module-with-providers/collector.js +3 -3
  32. package/schematics/migrations/module-with-providers/index.js +6 -6
  33. package/schematics/migrations/module-with-providers/transform.js +3 -3
  34. package/schematics/migrations/module-with-providers/util.js +2 -2
  35. package/schematics/migrations/move-document/index.js +8 -8
  36. package/schematics/migrations/native-view-encapsulation/index.js +6 -6
  37. package/schematics/migrations/native-view-encapsulation/util.js +2 -2
  38. package/schematics/migrations/navigation-extras-omissions/index.js +7 -7
  39. package/schematics/migrations/navigation-extras-omissions/util.js +3 -3
  40. package/schematics/migrations/relative-link-resolution/collector.js +4 -4
  41. package/schematics/migrations/relative-link-resolution/index.js +5 -5
  42. package/schematics/migrations/relative-link-resolution/util.js +3 -3
  43. package/schematics/migrations/renderer-to-renderer2/index.js +13 -13
  44. package/schematics/migrations/renderer-to-renderer2/util.js +8 -8
  45. package/schematics/migrations/router-link-empty-expression/analyze_template.js +3 -3
  46. package/schematics/migrations/router-link-empty-expression/angular/html_routerlink_empty_expr_visitor.js +5 -5
  47. package/schematics/migrations/router-link-empty-expression/index.js +7 -7
  48. package/schematics/migrations/router-preserve-query-params/index.js +7 -7
  49. package/schematics/migrations/router-preserve-query-params/util.js +3 -3
  50. package/schematics/migrations/static-queries/angular/directive_inputs.js +5 -5
  51. package/schematics/migrations/static-queries/angular/ng_query_visitor.js +7 -7
  52. package/schematics/migrations/static-queries/index.js +7 -7
  53. package/schematics/migrations/static-queries/strategies/template_strategy/template_strategy.js +4 -4
  54. package/schematics/migrations/static-queries/strategies/usage_strategy/declaration_usage_visitor.js +9 -9
  55. package/schematics/migrations/static-queries/strategies/usage_strategy/super_class_context.js +6 -6
  56. package/schematics/migrations/static-queries/strategies/usage_strategy/template_usage_visitor.js +9 -9
  57. package/schematics/migrations/static-queries/strategies/usage_strategy/usage_strategy.js +6 -6
  58. package/schematics/migrations/static-queries/transform.js +2 -2
  59. package/schematics/migrations/template-var-assignment/analyze_template.js +3 -3
  60. package/schematics/migrations/template-var-assignment/angular/html_variable_assignment_visitor.js +4 -4
  61. package/schematics/migrations/template-var-assignment/index.js +6 -6
  62. package/schematics/migrations/undecorated-classes-with-decorated-fields/index.js +6 -6
  63. package/schematics/migrations/undecorated-classes-with-decorated-fields/transform.js +7 -7
  64. package/schematics/migrations/undecorated-classes-with-di/create_ngc_program.js +3 -3
  65. package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/decorator_rewriter.js +2 -2
  66. package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/import_rewrite_visitor.js +8 -8
  67. package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/path_format.js +2 -2
  68. package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/source_file_exports.js +2 -2
  69. package/schematics/migrations/undecorated-classes-with-di/index.js +6 -6
  70. package/schematics/migrations/undecorated-classes-with-di/ng_declaration_collector.js +4 -4
  71. package/schematics/migrations/undecorated-classes-with-di/transform.js +10 -10
  72. package/schematics/migrations/wait-for-async/index.js +11 -11
  73. package/schematics/migrations/wait-for-async/util.js +2 -2
  74. package/schematics/migrations/xhr-factory/index.js +2 -2
  75. package/schematics/utils/import_manager.js +3 -3
  76. package/schematics/utils/ng_component_template.js +10 -10
  77. package/schematics/utils/ng_decorators.js +2 -2
  78. package/schematics/utils/parse_html.js +2 -2
  79. package/schematics/utils/project_tsconfig_paths.js +3 -3
  80. package/schematics/utils/typescript/compiler_host.js +5 -5
  81. package/schematics/utils/typescript/decorators.js +2 -2
  82. package/schematics/utils/typescript/find_base_classes.js +2 -2
  83. package/src/r3_symbols.d.ts +1 -1
  84. package/testing/testing.d.ts +1 -1
  85. package/testing.d.ts +1 -1
@@ -42,7 +42,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
42
42
  */
43
43
  function default_1() {
44
44
  return (tree) => __awaiter(this, void 0, void 0, function* () {
45
- const { buildPaths, testPaths } = yield project_tsconfig_paths_1.getProjectTsConfigPaths(tree);
45
+ const { buildPaths, testPaths } = yield (0, project_tsconfig_paths_1.getProjectTsConfigPaths)(tree);
46
46
  const basePath = process.cwd();
47
47
  const allPaths = [...buildPaths, ...testPaths];
48
48
  if (!allPaths.length) {
@@ -58,12 +58,12 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
58
58
  // Technically we can get away with using `MODULE_AUGMENTATION_FILENAME` as the path, but as of
59
59
  // TS 4.2, the module resolution caching seems to be more aggressive which causes the file to be
60
60
  // retained between test runs. We can avoid it by using the full path.
61
- const augmentedFilePath = path_1.join(basePath, MODULE_AUGMENTATION_FILENAME);
62
- const { program } = compiler_host_1.createMigrationProgram(tree, tsconfigPath, basePath, fileName => {
61
+ const augmentedFilePath = (0, path_1.join)(basePath, MODULE_AUGMENTATION_FILENAME);
62
+ const { program } = (0, compiler_host_1.createMigrationProgram)(tree, tsconfigPath, basePath, fileName => {
63
63
  // In case the module augmentation file has been requested, we return a source file that
64
64
  // augments "@angular/core" to include a named export called "Renderer". This ensures that
65
65
  // we can rely on the type checker for this migration in v9 where "Renderer" has been removed.
66
- if (path_1.basename(fileName) === MODULE_AUGMENTATION_FILENAME) {
66
+ if ((0, path_1.basename)(fileName) === MODULE_AUGMENTATION_FILENAME) {
67
67
  return `
68
68
  import '@angular/core';
69
69
  declare module "@angular/core" {
@@ -75,22 +75,22 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
75
75
  }, [augmentedFilePath]);
76
76
  const typeChecker = program.getTypeChecker();
77
77
  const printer = ts.createPrinter();
78
- const sourceFiles = program.getSourceFiles().filter(sourceFile => compiler_host_1.canMigrateFile(basePath, sourceFile, program));
78
+ const sourceFiles = program.getSourceFiles().filter(sourceFile => (0, compiler_host_1.canMigrateFile)(basePath, sourceFile, program));
79
79
  sourceFiles.forEach(sourceFile => {
80
- const rendererImportSpecifier = imports_1.getImportSpecifier(sourceFile, '@angular/core', 'Renderer');
80
+ const rendererImportSpecifier = (0, imports_1.getImportSpecifier)(sourceFile, '@angular/core', 'Renderer');
81
81
  const rendererImport = rendererImportSpecifier ?
82
- nodes_1.closestNode(rendererImportSpecifier, ts.SyntaxKind.NamedImports) :
82
+ (0, nodes_1.closestNode)(rendererImportSpecifier, ts.SyntaxKind.NamedImports) :
83
83
  null;
84
84
  // If there are no imports for the `Renderer`, we can exit early.
85
85
  if (!rendererImportSpecifier || !rendererImport) {
86
86
  return;
87
87
  }
88
- const { typedNodes, methodCalls, forwardRefs } = util_1.findRendererReferences(sourceFile, typeChecker, rendererImportSpecifier);
89
- const update = tree.beginUpdate(path_1.relative(basePath, sourceFile.fileName));
88
+ const { typedNodes, methodCalls, forwardRefs } = (0, util_1.findRendererReferences)(sourceFile, typeChecker, rendererImportSpecifier);
89
+ const update = tree.beginUpdate((0, path_1.relative)(basePath, sourceFile.fileName));
90
90
  const helpersToAdd = new Set();
91
91
  // Change the `Renderer` import to `Renderer2`.
92
92
  update.remove(rendererImport.getStart(), rendererImport.getWidth());
93
- update.insertRight(rendererImport.getStart(), printer.printNode(ts.EmitHint.Unspecified, imports_1.replaceImport(rendererImport, 'Renderer', 'Renderer2'), sourceFile));
93
+ update.insertRight(rendererImport.getStart(), printer.printNode(ts.EmitHint.Unspecified, (0, imports_1.replaceImport)(rendererImport, 'Renderer', 'Renderer2'), sourceFile));
94
94
  // Change the method parameter and property types to `Renderer2`.
95
95
  typedNodes.forEach(node => {
96
96
  const type = node.type;
@@ -106,7 +106,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
106
106
  });
107
107
  // Migrate all of the method calls.
108
108
  methodCalls.forEach(call => {
109
- const { node, requiredHelpers } = migration_1.migrateExpression(call, typeChecker);
109
+ const { node, requiredHelpers } = (0, migration_1.migrateExpression)(call, typeChecker);
110
110
  if (node) {
111
111
  // If we migrated the node to a new expression, replace only the call expression.
112
112
  update.remove(call.getStart(), call.getWidth());
@@ -126,10 +126,10 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
126
126
  // The safest way to do so is to declare helper functions similar to the ones emitted by TS
127
127
  // which encapsulate the extra "glue" logic. We should only emit these functions once per file.
128
128
  helpersToAdd.forEach(helperName => {
129
- update.insertLeft(sourceFile.endOfFileToken.getStart(), helpers_1.getHelper(helperName, sourceFile, printer));
129
+ update.insertLeft(sourceFile.endOfFileToken.getStart(), (0, helpers_1.getHelper)(helperName, sourceFile, printer));
130
130
  });
131
131
  tree.commitUpdate(update);
132
132
  });
133
133
  }
134
134
  });
135
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NjaGVtYXRpY3MvbWlncmF0aW9ucy9yZW5kZXJlci10by1yZW5kZXJlcjIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFFSCwyREFBMkU7SUFDM0UsK0JBQThDO0lBQzlDLGlDQUFpQztJQUVqQyxrR0FBMkU7SUFDM0UsMkZBQTRGO0lBQzVGLCtFQUFpRjtJQUNqRiwyRUFBeUQ7SUFFekQsK0ZBQW9EO0lBQ3BELG1HQUE4QztJQUM5Qyx5RkFBOEM7SUFFOUMsTUFBTSw0QkFBNEIsR0FBRyw2Q0FBNkMsQ0FBQztJQUVuRjs7O09BR0c7SUFDSDtRQUNFLE9BQU8sQ0FBTyxJQUFVLEVBQUUsRUFBRTtZQUMxQixNQUFNLEVBQUMsVUFBVSxFQUFFLFNBQVMsRUFBQyxHQUFHLE1BQU0sZ0RBQXVCLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDcEUsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQy9CLE1BQU0sUUFBUSxHQUFHLENBQUMsR0FBRyxVQUFVLEVBQUUsR0FBRyxTQUFTLENBQUMsQ0FBQztZQUUvQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRTtnQkFDcEIsTUFBTSxJQUFJLGdDQUFtQixDQUN6QixnRkFBZ0YsQ0FBQyxDQUFDO2FBQ3ZGO1lBRUQsS0FBSyxNQUFNLFlBQVksSUFBSSxRQUFRLEVBQUU7Z0JBQ25DLCtCQUErQixDQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsUUFBUSxDQUFDLENBQUM7YUFDL0Q7UUFDSCxDQUFDLENBQUEsQ0FBQztJQUNKLENBQUM7SUFmRCw0QkFlQztJQUVELFNBQVMsK0JBQStCLENBQUMsSUFBVSxFQUFFLFlBQW9CLEVBQUUsUUFBZ0I7UUFDekYsK0ZBQStGO1FBQy9GLGdHQUFn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VUFBVSxDQUFDLEVBQUU7Z0JBQ2hDLE1BQU0sQ0FBQyxVQUFVLENBQ2IsVUFBVSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxtQkFBUyxDQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUN4RixDQUFDLENBQUMsQ0FBQztZQUVILElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7UnVsZSwgU2NoZW1hdGljc0V4Y2VwdGlvbiwgVHJlZX0gZnJvbSAnQGFuZ3VsYXItZGV2a2l0L3NjaGVtYXRpY3MnO1xuaW1wb3J0IHtiYXNlbmFtZSwgam9pbiwgcmVsYXRpdmV9IGZyb20gJ3BhdGgnO1xuaW1wb3J0ICogYXMgdHMgZnJvbSAndHlwZXNjcmlwdCc7XG5cbmltcG9ydCB7Z2V0UHJvamVjdFRzQ29uZmlnUGF0aHN9IGZyb20gJy4uLy4uL3V0aWxzL3Byb2plY3RfdHNjb25maWdfcGF0aHMnO1xuaW1wb3J0IHtjYW5NaWdyYXRlRmlsZSwgY3JlYXRlTWlncmF0aW9uUHJvZ3JhbX0gZnJvbSAnLi4vLi4vdXRpbHMvdHlwZXNjcmlwdC9jb21waWxlcl9ob3N0JztcbmltcG9ydCB7Z2V0SW1wb3J0U3BlY2lmaWVyLCByZXBsYWNlSW1wb3J0fSBmcm9tICcuLi8uLi91dGlscy90eXBlc2NyaXB0L2ltcG9ydHMnO1xuaW1wb3J0IHtjbG9zZXN0Tm9kZX0gZnJvbSAnLi4vLi4vdXRpbHMvdHlwZXNjcmlwdC9ub2Rlcyc7XG5cbmltcG9ydCB7Z2V0SGVscGVyLCBIZWxwZXJGdW5jdGlvbn0gZnJvbSAnLi9oZWxwZXJzJztcbmltcG9ydCB7bWlncmF0ZUV4cHJlc3Npb259IGZyb20gJy4vbWlncmF0aW9uJztcbmltcG9ydCB7ZmluZFJlbmRlcmVyUmVmZXJlbmNlc30gZnJvbSAnLi91dGlsJztcblxuY29uc3QgTU9EVUxFX0FVR01FTlRBVElPTl9GSUxFTkFNRSA9ICfJtcm1UkVOREVSRVJfTUlHUkFUSU9OX0NPUkVfQVVHTUVOVEFUSU9OLmQudHMnO1xuXG4vKipcbiAqIE1pZ3JhdGlvbiB0aGF0IHN3aXRjaGVzIGZyb20gYFJlbmRlcmVyYCB0byBgUmVuZGVyZXIyYC4gTW9yZSBpbmZvcm1hdGlvbiBvbiBob3cgaXQgd29ya3M6XG4gKiBodHRwczovL2hhY2ttZC5hbmd1bGFyLmlvL1VUelVaVG5QUkEtY1NhXzRtSHlmWXdcbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24oKTogUnVsZSB7XG4gIHJldHVybiBhc3luYyAodHJlZTogVHJlZSkgPT4ge1xuICAgIGNvbnN0IHtidWlsZFBhdGhzLCB0ZXN0UGF0aHN9ID0gYXdhaXQgZ2V0UHJvamVjdFRzQ29uZmlnUGF0aHModHJlZSk7XG4gICAgY29uc3QgYmFzZVBhdGggPSBwcm9jZXNzLmN3ZCgpO1xuICAgIGNvbnN0IGFsbFBhdGhzID0gWy4uLmJ1aWxkUGF0aHMsIC4uLnRlc3RQYXRoc107XG5cbiAgICBpZiAoIWFsbFBhdGhzLmxlbmd0aCkge1xuICAgICAgdGhyb3cgbmV3IFNjaGVtYXRpY3NFeGNlcHRpb24oXG4gICAgICAgICAgJ0NvdWxkIG5vdCBmaW5kIGFueSB0c2NvbmZpZyBmaWxlLiBDYW5ub3QgbWlncmF0ZSBSZW5kZXJlciB1c2FnZXMgdG8gUmVuZGVyZXIyLicpO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgdHNjb25maWdQYXRoIG9mIGFsbFBhdGhzKSB7XG4gICAgICBydW5SZW5kZXJlclRvUmVuZGVyZXIyTWlncmF0aW9uKHRyZWUsIHRzY29uZmlnUGF0aCwgYmFzZVBhdGgpO1xuICAgIH1cbiAgfTtcbn1cblxuZnVuY3Rpb24gcnVuUmVuZGVyZXJUb1JlbmRlcmVyMk1pZ3JhdGlvbih0cmVlOiBUcmVlLCB0c2NvbmZpZ1BhdGg6IHN0cmluZywgYmFzZVBhdGg6IHN0cmluZykge1xuICAvLyBUZWNobmljYWxseSB3ZSBjYW4gZ2V0IGF3YXkgd2l0aCB1c2luZyBgTU9EVUxFX0FVR01FTlRBVElPTl9GSUxFTkFNRWAgYXMgdGhlIHBhdGgsIGJ1dCBhcyBvZlxuICAvLyBUUyA0LjIsIHRoZSBtb2R1bGUgcmVzb2x1dGlvbiBjYWNoaW5nIHNlZW1zIHRvIGJlIG1vcmUgYWdncmVzc2l2ZSB3aGljaCBjYXVzZXMgdGhlIGZpbGUgdG8gYmVcbiAgLy8gcmV0YWluZWQgYmV0d2VlbiB0ZXN0IHJ1bnMuIFdlIGNhbiBhdm9pZCBpdCBieSB1c2luZyB0aGUgZnVsbCBwYXRoLlxuICBjb25zdCBhdWdtZW50ZWRGaWxlUGF0aCA9IGpvaW4oYmFzZVBhdGgsIE1PRFVMRV9BVUdNRU5UQVRJT05fRklMRU5BTUUpO1xuICBjb25zdCB7cHJvZ3JhbX0gPSBjcmVhdGVNaWdyYXRpb25Qcm9ncmFtKHRyZWUsIHRzY29uZmlnUGF0aCwgYmFzZVBhdGgsIGZpbGVOYW1lID0+IHtcbiAgICAvLyBJbiBjYXNlIHRoZSBtb2R1bGUgYXVnbWVudGF0aW9uIGZpbGUgaGFzIGJlZW4gcmVxdWVzdGVkLCB3ZSByZXR1cm4gYSBzb3VyY2UgZmlsZSB0aGF0XG4gICAgLy8gYXVnbWVudHMgXCJAYW5ndWxhci9jb3JlXCIgdG8gaW5jbHVkZSBhIG5hbWVkIGV4cG9ydCBjYWxsZWQgXCJSZW5kZXJlclwiLiBUaGlzIGVuc3VyZXMgdGhhdFxuICAgIC8vIHdlIGNhbiByZWx5IG9uIHRoZSB0eXBlIGNoZWNrZXIgZm9yIHRoaXMgbWlncmF0aW9uIGluIHY5IHdoZXJlIFwiUmVuZGVyZXJcIiBoYXMgYmVlbiByZW1vdmVkLlxuICAgIGlmIChiYXNlbmFtZShmaWxlTmFtZSkgPT09IE1PRFVMRV9BVUdNRU5UQVRJT05fRklMRU5BTUUpIHtcbiAgICAgIHJldHVybiBgXG4gICAgICAgIGltcG9ydCAnQGFuZ3VsYXIvY29yZSc7XG4gICAgICAgIGRlY2xhcmUgbW9kdWxlIFwiQGFuZ3VsYXIvY29yZVwiIHtcbiAgICAgICAgICBjbGFzcyBSZW5kZXJlciB7fVxuICAgICAgICB9XG4gICAgICBgO1xuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9LCBbYXVnbWVudGVkRmlsZVBhdGhdKTtcbiAgY29uc3QgdHlwZUNoZWNrZXIgPSBwcm9ncmFtLmdldFR5cGVDaGVja2VyKCk7XG4gIGNvbnN0IHByaW50ZXIgPSB0cy5jcmVhdGVQcmludGVyKCk7XG4gIGNvbnN0IHNvdXJjZUZpbGVzID1cbiAgICAgIHByb2dyYW0uZ2V0U291cmNlRmlsZXMoKS5maWx0ZXIoc291cmNlRmlsZSA9PiBjYW5NaWdyYXRlRmlsZShiYXNlUGF0aCwgc291cmNlRmlsZSwgcHJvZ3JhbSkpO1xuXG4gIHNvdXJjZUZpbGVzLmZvckVhY2goc291cmNlRmlsZSA9PiB7XG4gICAgY29uc3QgcmVuZGVyZXJJbXBvcnRTcGVjaWZpZXIgPSBnZXRJbXBvcnRTcGVjaWZpZXIoc291cmNlRmlsZSwgJ0Bhbmd1bGFyL2NvcmUnLCAnUmVuZGVyZXInKTtcbiAgICBjb25zdCByZW5kZXJlckltcG9ydCA9IHJlbmRlcmVySW1wb3J0U3BlY2lmaWVyID9cbiAgICAgICAgY2xvc2VzdE5vZGU8dHMuTmFtZWRJbXBvcnRzPihyZW5kZXJlckltcG9ydFNwZWNpZmllciwgdHMuU3ludGF4S2luZC5OYW1lZEltcG9ydHMpIDpcbiAgICAgICAgbnVsbDtcblxuICAgIC8vIElmIHRoZXJlIGFyZSBubyBpbXBvcnRzIGZvciB0aGUgYFJlbmRlcmVyYCwgd2UgY2FuIGV4aXQgZWFybHkuXG4gICAgaWYgKCFyZW5kZXJlckltcG9ydFNwZWNpZmllciB8fCAhcmVuZGVyZXJJbXBvcnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB7dHlwZWROb2RlcywgbWV0aG9kQ2FsbHMsIGZvcndhcmRSZWZzfSA9XG4gICAgICAgIGZpbmRSZW5kZXJlclJlZmVyZW5jZXMoc291cmNlRmlsZSwgdHlwZUNoZWNrZXIsIHJlbmRlcmVySW1wb3J0U3BlY2lmaWVyKTtcbiAgICBjb25zdCB1cGRhdGUgPSB0cmVlLmJlZ2luVXBkYXRlKHJlbGF0aXZlKGJhc2VQYXRoLCBzb3VyY2VGaWxlLmZpbGVOYW1lKSk7XG4gICAgY29uc3QgaGVscGVyc1RvQWRkID0gbmV3IFNldDxIZWxwZXJGdW5jdGlvbj4oKTtcblxuICAgIC8vIENoYW5nZSB0aGUgYFJlbmRlcmVyYCBpbXBvcnQgdG8gYFJlbmRlcmVyMmAuXG4gICAgdXBkYXRlLnJlbW92ZShyZW5kZXJlckltcG9ydC5nZXRTdGFydCgpLCByZW5kZXJlckltcG9ydC5nZXRXaWR0aCgpKTtcbiAgICB1cGRhdGUuaW5zZXJ0UmlnaHQoXG4gICAgICAgIHJlbmRlcmVySW1wb3J0LmdldFN0YXJ0KCksXG4gICAgICAgIHByaW50ZXIucHJpbnROb2RlKFxuICAgICAgICAgICAgdHMuRW1pdEhpbnQuVW5zcGVjaWZpZWQsIHJlcGxhY2VJbXBvcnQocmVuZGVyZXJJbXBvcnQsICdSZW5kZXJlcicsICdSZW5kZXJlcjInKSxcbiAgICAgICAgICAgIHNvdXJjZUZpbGUpKTtcblxuICAgIC8vIENoYW5nZSB0aGUgbWV0aG9kIHBhcmFtZXRlciBhbmQgcHJvcGVydHkgdHlwZXMgdG8gYFJlbmRlcmVyMmAuXG4gICAgdHlwZWROb2Rlcy5mb3JFYWNoKG5vZGUgPT4ge1xuICAgICAgY29uc3QgdHlwZSA9IG5vZGUudHlwZTtcblxuICAgICAgaWYgKHR5cGUpIHtcbiAgICAgICAgdXBkYXRlLnJlbW92ZSh0eXBlLmdldFN0YXJ0KCksIHR5cGUuZ2V0V2lkdGgoKSk7XG4gICAgICAgIHVwZGF0ZS5pbnNlcnRSaWdodCh0eXBlLmdldFN0YXJ0KCksICdSZW5kZXJlcjInKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIC8vIENoYW5nZSBhbGwgaWRlbnRpZmllcnMgaW5zaWRlIGBmb3J3YXJkUmVmYCByZWZlcnJpbmcgdG8gdGhlIGBSZW5kZXJlcmAuXG4gICAgZm9yd2FyZFJlZnMuZm9yRWFjaChpZGVudGlmaWVyID0+IHtcbiAgICAgIHVwZGF0ZS5yZW1vdmUoaWRlbnRpZmllci5nZXRTdGFydCgpLCBpZGVudGlmaWVyLmdldFdpZHRoKCkpO1xuICAgICAgdXBkYXRlLmluc2VydFJpZ2h0KGlkZW50aWZpZXIuZ2V0U3RhcnQoKSwgJ1JlbmRlcmVyMicpO1xuICAgIH0pO1xuXG4gICAgLy8gTWlncmF0ZSBhbGwgb2YgdGhlIG1ldGhvZCBjYWxscy5cbiAgICBtZXRob2RDYWxscy5mb3JFYWNoKGNhbGwgPT4ge1xuICAgICAgY29uc3Qge25vZGUsIHJlcXVpcmVkSGVscGVyc30gPSBtaWdyYXRlRXhwcmVzc2lvbihjYWxsLCB0eXBlQ2hlY2tlcik7XG5cbiAgICAgIGlmIChub2RlKSB7XG4gICAgICAgIC8vIElmIHdlIG1pZ3JhdGVkIHRoZSBub2RlIHRvIGEgbmV3IGV4cHJlc3Npb24sIHJlcGxhY2Ugb25seSB0aGUgY2FsbCBleHByZXNzaW9uLlxuICAgICAgICB1cGRhdGUucmVtb3ZlKGNhbGwuZ2V0U3RhcnQoKSwgY2FsbC5nZXRXaWR0aCgpKTtcbiAgICAgICAgdXBkYXRlLmluc2VydFJpZ2h0KFxuICAgICAgICAgICAgY2FsbC5nZXRTdGFydCgpLCBwcmludGVyLnByaW50Tm9kZSh0cy5FbWl0SGludC5VbnNwZWNpZmllZCwgbm9kZSwgc291cmNlRmlsZSkpO1xuICAgICAgfSBlbHNlIGlmIChjYWxsLnBhcmVudCAmJiB0cy5pc0V4cHJlc3Npb25TdGF0ZW1lbnQoY2FsbC5wYXJlbnQpKSB7XG4gICAgICAgIC8vIE90aGVyd2lzZSBpZiB0aGUgY2FsbCBpcyBpbnNpZGUgYW4gZXhwcmVzc2lvbiBzdGF0ZW1lbnQsIGRyb3AgdGhlIGVudGlyZSBzdGF0ZW1lbnQuXG4gICAgICAgIC8vIFRoaXMgdGFrZXMgY2FyZSBvZiBhbnkgdHJhaWxpbmcgc2VtaWNvbG9ucy4gV2Ugb25seSBuZWVkIHRvIGRyb3Agbm9kZXMgZm9yIGNhc2VzIGxpa2VcbiAgICAgICAgLy8gYHNldEJpbmRpbmdEZWJ1Z0luZm9gIHdoaWNoIGhhdmUgYmVlbiBub29wIGZvciBhIHdoaWxlIHNvIHRoZXkgY2FuIGJlIHJlbW92ZWQgc2FmZWx5LlxuICAgICAgICB1cGRhdGUucmVtb3ZlKGNhbGwucGFyZW50LmdldFN0YXJ0KCksIGNhbGwucGFyZW50LmdldFdpZHRoKCkpO1xuICAgICAgfVxuXG4gICAgICBpZiAocmVxdWlyZWRIZWxwZXJzKSB7XG4gICAgICAgIHJlcXVpcmVkSGVscGVycy5mb3JFYWNoKGhlbHBlck5hbWUgPT4gaGVscGVyc1RvQWRkLmFkZChoZWxwZXJOYW1lKSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICAvLyBTb21lIG9mIHRoZSBtZXRob2RzIGNhbid0IGJlIG1hcHBlZCBkaXJlY3RseSB0byBgUmVuZGVyZXIyYCBhbmQgbmVlZCBleHRyYSBsb2dpYyBhcm91bmQgdGhlbS5cbiAgICAvLyBUaGUgc2FmZXN0IHdheSB0byBkbyBzbyBpcyB0byBkZWNsYXJlIGhlbHBlciBmdW5jdGlvbnMgc2ltaWxhciB0byB0aGUgb25lcyBlbWl0dGVkIGJ5IFRTXG4gICAgLy8gd2hpY2ggZW5jYXBzdWxhdGUgdGhlIGV4dHJhIFwiZ2x1ZVwiIGxvZ2ljLiBXZSBzaG91bGQgb25seSBlbWl0IHRoZXNlIGZ1bmN0aW9ucyBvbmNlIHBlciBmaWxlLlxuICAgIGhlbHBlcnNUb0FkZC5mb3JFYWNoKGhlbHBlck5hbWUgPT4ge1xuICAgICAgdXBkYXRlLmluc2VydExlZnQoXG4gICAgICAgICAgc291cmNlRmlsZS5lbmRPZkZpbGVUb2tlbi5nZXRTdGFydCgpLCBnZXRIZWxwZXIoaGVscGVyTmFtZSwgc291cmNlRmlsZSwgcHJpbnRlcikpO1xuICAgIH0pO1xuXG4gICAgdHJlZS5jb21taXRVcGRhdGUodXBkYXRlKTtcbiAgfSk7XG59XG4iXX0=
135
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NjaGVtYXRpY3MvbWlncmF0aW9ucy9yZW5kZXJlci10by1yZW5kZXJlcjIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFFSCwyREFBMkU7SUFDM0UsK0JBQThDO0lBQzlDLGlDQUFpQztJQUVqQyxrR0FBMkU7SUFDM0UsMkZBQTRGO0lBQzVGLCtFQUFpRjtJQUNqRiwyRUFBeUQ7SUFFekQsK0ZBQW9EO0lBQ3BELG1HQUE4QztJQUM5Qyx5RkFBOEM7SUFFOUMsTUFBTSw0QkFBNEIsR0FBRyw2Q0FBNkMsQ0FBQztJQUVuRjs7O09BR0c7SUFDSDtRQUNFLE9BQU8sQ0FBTyxJQUFVLEVBQUUsRUFBRTtZQUMxQixNQUFNLEVBQUMsVUFBVSxFQUFFLFNBQVMsRUFBQyxHQUFHLE1BQU0sSUFBQSxnREFBdUIsRUFBQyxJQUFJLENBQUMsQ0FBQztZQUNwRSxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDL0IsTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFHLFVBQVUsRUFBRSxHQUFHLFNBQVMsQ0FBQyxDQUFDO1lBRS9DLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFO2dCQUNwQixNQUFNLElBQUksZ0NBQW1CLENBQ3pCLGdGQUFnRixDQUFDLENBQUM7YUFDdkY7WUFFRCxLQUFLLE1BQU0sWUFBWSxJQUFJLFFBQVEsRUFBRTtnQkFDbkMsK0JBQStCLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxRQUFRLENBQUMsQ0FBQzthQUMvRDtRQUNILENBQUMsQ0FBQSxDQUFDO0lBQ0osQ0FBQztJQWZELDRCQWVDO0lBRUQsU0FBUywrQkFBK0IsQ0FBQyxJQUFVLEVBQUUsWUFBb0IsRUFBRSxRQUFnQjtRQUN6RiwrRkFBK0Y7UUFDL0Ys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Z0c7WUFDaEcsMkZBQTJGO1lBQzNGLCtGQUErRjtZQUMvRixZQUFZLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFO2dCQUNoQyxNQUFNLENBQUMsVUFBVSxDQUNiLFVBQVUsQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLEVBQUUsSUFBQSxtQkFBUyxFQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUN4RixDQUFDLENBQUMsQ0FBQztZQUVILElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7UnVsZSwgU2NoZW1hdGljc0V4Y2VwdGlvbiwgVHJlZX0gZnJvbSAnQGFuZ3VsYXItZGV2a2l0L3NjaGVtYXRpY3MnO1xuaW1wb3J0IHtiYXNlbmFtZSwgam9pbiwgcmVsYXRpdmV9IGZyb20gJ3BhdGgnO1xuaW1wb3J0ICogYXMgdHMgZnJvbSAndHlwZXNjcmlwdCc7XG5cbmltcG9ydCB7Z2V0UHJvamVjdFRzQ29uZmlnUGF0aHN9IGZyb20gJy4uLy4uL3V0aWxzL3Byb2plY3RfdHNjb25maWdfcGF0aHMnO1xuaW1wb3J0IHtjYW5NaWdyYXRlRmlsZSwgY3JlYXRlTWlncmF0aW9uUHJvZ3JhbX0gZnJvbSAnLi4vLi4vdXRpbHMvdHlwZXNjcmlwdC9jb21waWxlcl9ob3N0JztcbmltcG9ydCB7Z2V0SW1wb3J0U3BlY2lmaWVyLCByZXBsYWNlSW1wb3J0fSBmcm9tICcuLi8uLi91dGlscy90eXBlc2NyaXB0L2ltcG9ydHMnO1xuaW1wb3J0IHtjbG9zZXN0Tm9kZX0gZnJvbSAnLi4vLi4vdXRpbHMvdHlwZXNjcmlwdC9ub2Rlcyc7XG5cbmltcG9ydCB7Z2V0SGVscGVyLCBIZWxwZXJGdW5jdGlvbn0gZnJvbSAnLi9oZWxwZXJzJztcbmltcG9ydCB7bWlncmF0ZUV4cHJlc3Npb259IGZyb20gJy4vbWlncmF0aW9uJztcbmltcG9ydCB7ZmluZFJlbmRlcmVyUmVmZXJlbmNlc30gZnJvbSAnLi91dGlsJztcblxuY29uc3QgTU9EVUxFX0FVR01FTlRBVElPTl9GSUxFTkFNRSA9ICfJtcm1UkVOREVSRVJfTUlHUkFUSU9OX0NPUkVfQVVHTUVOVEFUSU9OLmQudHMnO1xuXG4vKipcbiAqIE1pZ3JhdGlvbiB0aGF0IHN3aXRjaGVzIGZyb20gYFJlbmRlcmVyYCB0byBgUmVuZGVyZXIyYC4gTW9yZSBpbmZvcm1hdGlvbiBvbiBob3cgaXQgd29ya3M6XG4gKiBodHRwczovL2hhY2ttZC5hbmd1bGFyLmlvL1VUelVaVG5QUkEtY1NhXzRtSHlmWXdcbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24oKTogUnVsZSB7XG4gIHJldHVybiBhc3luYyAodHJlZTogVHJlZSkgPT4ge1xuICAgIGNvbnN0IHtidWlsZFBhdGhzLCB0ZXN0UGF0aHN9ID0gYXdhaXQgZ2V0UHJvamVjdFRzQ29uZmlnUGF0aHModHJlZSk7XG4gICAgY29uc3QgYmFzZVBhdGggPSBwcm9jZXNzLmN3ZCgpO1xuICAgIGNvbnN0IGFsbFBhdGhzID0gWy4uLmJ1aWxkUGF0aHMsIC4uLnRlc3RQYXRoc107XG5cbiAgICBpZiAoIWFsbFBhdGhzLmxlbmd0aCkge1xuICAgICAgdGhyb3cgbmV3IFNjaGVtYXRpY3NFeGNlcHRpb24oXG4gICAgICAgICAgJ0NvdWxkIG5vdCBmaW5kIGFueSB0c2NvbmZpZyBmaWxlLiBDYW5ub3QgbWlncmF0ZSBSZW5kZXJlciB1c2FnZXMgdG8gUmVuZGVyZXIyLicpO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgdHNjb25maWdQYXRoIG9mIGFsbFBhdGhzKSB7XG4gICAgICBydW5SZW5kZXJlclRvUmVuZGVyZXIyTWlncmF0aW9uKHRyZWUsIHRzY29uZmlnUGF0aCwgYmFzZVBhdGgpO1xuICAgIH1cbiAgfTtcbn1cblxuZnVuY3Rpb24gcnVuUmVuZGVyZXJUb1JlbmRlcmVyMk1pZ3JhdGlvbih0cmVlOiBUcmVlLCB0c2NvbmZpZ1BhdGg6IHN0cmluZywgYmFzZVBhdGg6IHN0cmluZykge1xuICAvLyBUZWNobmljYWxseSB3ZSBjYW4gZ2V0IGF3YXkgd2l0aCB1c2luZyBgTU9EVUxFX0FVR01FTlRBVElPTl9GSUxFTkFNRWAgYXMgdGhlIHBhdGgsIGJ1dCBhcyBvZlxuICAvLyBUUyA0LjIsIHRoZSBtb2R1bGUgcmVzb2x1dGlvbiBjYWNoaW5nIHNlZW1zIHRvIGJlIG1vcmUgYWdncmVzc2l2ZSB3aGljaCBjYXVzZXMgdGhlIGZpbGUgdG8gYmVcbiAgLy8gcmV0YWluZWQgYmV0d2VlbiB0ZXN0IHJ1bnMuIFdlIGNhbiBhdm9pZCBpdCBieSB1c2luZyB0aGUgZnVsbCBwYXRoLlxuICBjb25zdCBhdWdtZW50ZWRGaWxlUGF0aCA9IGpvaW4oYmFzZVBhdGgsIE1PRFVMRV9BVUdNRU5UQVRJT05fRklMRU5BTUUpO1xuICBjb25zdCB7cHJvZ3JhbX0gPSBjcmVhdGVNaWdyYXRpb25Qcm9ncmFtKHRyZWUsIHRzY29uZmlnUGF0aCwgYmFzZVBhdGgsIGZpbGVOYW1lID0+IHtcbiAgICAvLyBJbiBjYXNlIHRoZSBtb2R1bGUgYXVnbWVudGF0aW9uIGZpbGUgaGFzIGJlZW4gcmVxdWVzdGVkLCB3ZSByZXR1cm4gYSBzb3VyY2UgZmlsZSB0aGF0XG4gICAgLy8gYXVnbWVudHMgXCJAYW5ndWxhci9jb3JlXCIgdG8gaW5jbHVkZSBhIG5hbWVkIGV4cG9ydCBjYWxsZWQgXCJSZW5kZXJlclwiLiBUaGlzIGVuc3VyZXMgdGhhdFxuICAgIC8vIHdlIGNhbiByZWx5IG9uIHRoZSB0eXBlIGNoZWNrZXIgZm9yIHRoaXMgbWlncmF0aW9uIGluIHY5IHdoZXJlIFwiUmVuZGVyZXJcIiBoYXMgYmVlbiByZW1vdmVkLlxuICAgIGlmIChiYXNlbmFtZShmaWxlTmFtZSkgPT09IE1PRFVMRV9BVUdNRU5UQVRJT05fRklMRU5BTUUpIHtcbiAgICAgIHJldHVybiBgXG4gICAgICAgIGltcG9ydCAnQGFuZ3VsYXIvY29yZSc7XG4gICAgICAgIGRlY2xhcmUgbW9kdWxlIFwiQGFuZ3VsYXIvY29yZVwiIHtcbiAgICAgICAgICBjbGFzcyBSZW5kZXJlciB7fVxuICAgICAgICB9XG4gICAgICBgO1xuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9LCBbYXVnbWVudGVkRmlsZVBhdGhdKTtcbiAgY29uc3QgdHlwZUNoZWNrZXIgPSBwcm9ncmFtLmdldFR5cGVDaGVja2VyKCk7XG4gIGNvbnN0IHByaW50ZXIgPSB0cy5jcmVhdGVQcmludGVyKCk7XG4gIGNvbnN0IHNvdXJjZUZpbGVzID1cbiAgICAgIHByb2dyYW0uZ2V0U291cmNlRmlsZXMoKS5maWx0ZXIoc291cmNlRmlsZSA9PiBjYW5NaWdyYXRlRmlsZShiYXNlUGF0aCwgc291cmNlRmlsZSwgcHJvZ3JhbSkpO1xuXG4gIHNvdXJjZUZpbGVzLmZvckVhY2goc291cmNlRmlsZSA9PiB7XG4gICAgY29uc3QgcmVuZGVyZXJJbXBvcnRTcGVjaWZpZXIgPSBnZXRJbXBvcnRTcGVjaWZpZXIoc291cmNlRmlsZSwgJ0Bhbmd1bGFyL2NvcmUnLCAnUmVuZGVyZXInKTtcbiAgICBjb25zdCByZW5kZXJlckltcG9ydCA9IHJlbmRlcmVySW1wb3J0U3BlY2lmaWVyID9cbiAgICAgICAgY2xvc2VzdE5vZGU8dHMuTmFtZWRJbXBvcnRzPihyZW5kZXJlckltcG9ydFNwZWNpZmllciwgdHMuU3ludGF4S2luZC5OYW1lZEltcG9ydHMpIDpcbiAgICAgICAgbnVsbDtcblxuICAgIC8vIElmIHRoZXJlIGFyZSBubyBpbXBvcnRzIGZvciB0aGUgYFJlbmRlcmVyYCwgd2UgY2FuIGV4aXQgZWFybHkuXG4gICAgaWYgKCFyZW5kZXJlckltcG9ydFNwZWNpZmllciB8fCAhcmVuZGVyZXJJbXBvcnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB7dHlwZWROb2RlcywgbWV0aG9kQ2FsbHMsIGZvcndhcmRSZWZzfSA9XG4gICAgICAgIGZpbmRSZW5kZXJlclJlZmVyZW5jZXMoc291cmNlRmlsZSwgdHlwZUNoZWNrZXIsIHJlbmRlcmVySW1wb3J0U3BlY2lmaWVyKTtcbiAgICBjb25zdCB1cGRhdGUgPSB0cmVlLmJlZ2luVXBkYXRlKHJlbGF0aXZlKGJhc2VQYXRoLCBzb3VyY2VGaWxlLmZpbGVOYW1lKSk7XG4gICAgY29uc3QgaGVscGVyc1RvQWRkID0gbmV3IFNldDxIZWxwZXJGdW5jdGlvbj4oKTtcblxuICAgIC8vIENoYW5nZSB0aGUgYFJlbmRlcmVyYCBpbXBvcnQgdG8gYFJlbmRlcmVyMmAuXG4gICAgdXBkYXRlLnJlbW92ZShyZW5kZXJlckltcG9ydC5nZXRTdGFydCgpLCByZW5kZXJlckltcG9ydC5nZXRXaWR0aCgpKTtcbiAgICB1cGRhdGUuaW5zZXJ0UmlnaHQoXG4gICAgICAgIHJlbmRlcmVySW1wb3J0LmdldFN0YXJ0KCksXG4gICAgICAgIHByaW50ZXIucHJpbnROb2RlKFxuICAgICAgICAgICAgdHMuRW1pdEhpbnQuVW5zcGVjaWZpZWQsIHJlcGxhY2VJbXBvcnQocmVuZGVyZXJJbXBvcnQsICdSZW5kZXJlcicsICdSZW5kZXJlcjInKSxcbiAgICAgICAgICAgIHNvdXJjZUZpbGUpKTtcblxuICAgIC8vIENoYW5nZSB0aGUgbWV0aG9kIHBhcmFtZXRlciBhbmQgcHJvcGVydHkgdHlwZXMgdG8gYFJlbmRlcmVyMmAuXG4gICAgdHlwZWROb2Rlcy5mb3JFYWNoKG5vZGUgPT4ge1xuICAgICAgY29uc3QgdHlwZSA9IG5vZGUudHlwZTtcblxuICAgICAgaWYgKHR5cGUpIHtcbiAgICAgICAgdXBkYXRlLnJlbW92ZSh0eXBlLmdldFN0YXJ0KCksIHR5cGUuZ2V0V2lkdGgoKSk7XG4gICAgICAgIHVwZGF0ZS5pbnNlcnRSaWdodCh0eXBlLmdldFN0YXJ0KCksICdSZW5kZXJlcjInKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIC8vIENoYW5nZSBhbGwgaWRlbnRpZmllcnMgaW5zaWRlIGBmb3J3YXJkUmVmYCByZWZlcnJpbmcgdG8gdGhlIGBSZW5kZXJlcmAuXG4gICAgZm9yd2FyZFJlZnMuZm9yRWFjaChpZGVudGlmaWVyID0+IHtcbiAgICAgIHVwZGF0ZS5yZW1vdmUoaWRlbnRpZmllci5nZXRTdGFydCgpLCBpZGVudGlmaWVyLmdldFdpZHRoKCkpO1xuICAgICAgdXBkYXRlLmluc2VydFJpZ2h0KGlkZW50aWZpZXIuZ2V0U3RhcnQoKSwgJ1JlbmRlcmVyMicpO1xuICAgIH0pO1xuXG4gICAgLy8gTWlncmF0ZSBhbGwgb2YgdGhlIG1ldGhvZCBjYWxscy5cbiAgICBtZXRob2RDYWxscy5mb3JFYWNoKGNhbGwgPT4ge1xuICAgICAgY29uc3Qge25vZGUsIHJlcXVpcmVkSGVscGVyc30gPSBtaWdyYXRlRXhwcmVzc2lvbihjYWxsLCB0eXBlQ2hlY2tlcik7XG5cbiAgICAgIGlmIChub2RlKSB7XG4gICAgICAgIC8vIElmIHdlIG1pZ3JhdGVkIHRoZSBub2RlIHRvIGEgbmV3IGV4cHJlc3Npb24sIHJlcGxhY2Ugb25seSB0aGUgY2FsbCBleHByZXNzaW9uLlxuICAgICAgICB1cGRhdGUucmVtb3ZlKGNhbGwuZ2V0U3RhcnQoKSwgY2FsbC5nZXRXaWR0aCgpKTtcbiAgICAgICAgdXBkYXRlLmluc2VydFJpZ2h0KFxuICAgICAgICAgICAgY2FsbC5nZXRTdGFydCgpLCBwcmludGVyLnByaW50Tm9kZSh0cy5FbWl0SGludC5VbnNwZWNpZmllZCwgbm9kZSwgc291cmNlRmlsZSkpO1xuICAgICAgfSBlbHNlIGlmIChjYWxsLnBhcmVudCAmJiB0cy5pc0V4cHJlc3Npb25TdGF0ZW1lbnQoY2FsbC5wYXJlbnQpKSB7XG4gICAgICAgIC8vIE90aGVyd2lzZSBpZiB0aGUgY2FsbCBpcyBpbnNpZGUgYW4gZXhwcmVzc2lvbiBzdGF0ZW1lbnQsIGRyb3AgdGhlIGVudGlyZSBzdGF0ZW1lbnQuXG4gICAgICAgIC8vIFRoaXMgdGFrZXMgY2FyZSBvZiBhbnkgdHJhaWxpbmcgc2VtaWNvbG9ucy4gV2Ugb25seSBuZWVkIHRvIGRyb3Agbm9kZXMgZm9yIGNhc2VzIGxpa2VcbiAgICAgICAgLy8gYHNldEJpbmRpbmdEZWJ1Z0luZm9gIHdoaWNoIGhhdmUgYmVlbiBub29wIGZvciBhIHdoaWxlIHNvIHRoZXkgY2FuIGJlIHJlbW92ZWQgc2FmZWx5LlxuICAgICAgICB1cGRhdGUucmVtb3ZlKGNhbGwucGFyZW50LmdldFN0YXJ0KCksIGNhbGwucGFyZW50LmdldFdpZHRoKCkpO1xuICAgICAgfVxuXG4gICAgICBpZiAocmVxdWlyZWRIZWxwZXJzKSB7XG4gICAgICAgIHJlcXVpcmVkSGVscGVycy5mb3JFYWNoKGhlbHBlck5hbWUgPT4gaGVscGVyc1RvQWRkLmFkZChoZWxwZXJOYW1lKSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICAvLyBTb21lIG9mIHRoZSBtZXRob2RzIGNhbid0IGJlIG1hcHBlZCBkaXJlY3RseSB0byBgUmVuZGVyZXIyYCBhbmQgbmVlZCBleHRyYSBsb2dpYyBhcm91bmQgdGhlbS5cbiAgICAvLyBUaGUgc2FmZXN0IHdheSB0byBkbyBzbyBpcyB0byBkZWNsYXJlIGhlbHBlciBmdW5jdGlvbnMgc2ltaWxhciB0byB0aGUgb25lcyBlbWl0dGVkIGJ5IFRTXG4gICAgLy8gd2hpY2ggZW5jYXBzdWxhdGUgdGhlIGV4dHJhIFwiZ2x1ZVwiIGxvZ2ljLiBXZSBzaG91bGQgb25seSBlbWl0IHRoZXNlIGZ1bmN0aW9ucyBvbmNlIHBlciBmaWxlLlxuICAgIGhlbHBlcnNUb0FkZC5mb3JFYWNoKGhlbHBlck5hbWUgPT4ge1xuICAgICAgdXBkYXRlLmluc2VydExlZnQoXG4gICAgICAgICAgc291cmNlRmlsZS5lbmRPZkZpbGVUb2tlbi5nZXRTdGFydCgpLCBnZXRIZWxwZXIoaGVscGVyTmFtZSwgc291cmNlRmlsZSwgcHJpbnRlcikpO1xuICAgIH0pO1xuXG4gICAgdHJlZS5jb21taXRVcGRhdGUodXBkYXRlKTtcbiAgfSk7XG59XG4iXX0=
@@ -28,25 +28,25 @@
28
28
  const typedNodes = new Set();
29
29
  const methodCalls = new Set();
30
30
  const forwardRefs = new Set();
31
- const forwardRefSpecifier = imports_1.getImportSpecifier(sourceFile, '@angular/core', 'forwardRef');
31
+ const forwardRefSpecifier = (0, imports_1.getImportSpecifier)(sourceFile, '@angular/core', 'forwardRef');
32
32
  ts.forEachChild(sourceFile, function visitNode(node) {
33
33
  if ((ts.isParameter(node) || ts.isPropertyDeclaration(node)) &&
34
- symbol_1.isReferenceToImport(typeChecker, node.name, rendererImportSpecifier)) {
34
+ (0, symbol_1.isReferenceToImport)(typeChecker, node.name, rendererImportSpecifier)) {
35
35
  typedNodes.add(node);
36
36
  }
37
37
  else if (ts.isAsExpression(node) &&
38
- symbol_1.isReferenceToImport(typeChecker, node.type, rendererImportSpecifier)) {
38
+ (0, symbol_1.isReferenceToImport)(typeChecker, node.type, rendererImportSpecifier)) {
39
39
  typedNodes.add(node);
40
40
  }
41
41
  else if (ts.isCallExpression(node)) {
42
42
  if (ts.isPropertyAccessExpression(node.expression) &&
43
- symbol_1.isReferenceToImport(typeChecker, node.expression.expression, rendererImportSpecifier)) {
43
+ (0, symbol_1.isReferenceToImport)(typeChecker, node.expression.expression, rendererImportSpecifier)) {
44
44
  methodCalls.add(node);
45
45
  }
46
46
  else if (
47
47
  // If we're dealing with a forwardRef that's returning a Renderer.
48
48
  forwardRefSpecifier && ts.isIdentifier(node.expression) &&
49
- symbol_1.isReferenceToImport(typeChecker, node.expression, forwardRefSpecifier) &&
49
+ (0, symbol_1.isReferenceToImport)(typeChecker, node.expression, forwardRefSpecifier) &&
50
50
  node.arguments.length) {
51
51
  const rendererIdentifier = findRendererIdentifierInForwardRef(typeChecker, node, rendererImportSpecifier);
52
52
  if (rendererIdentifier) {
@@ -65,14 +65,14 @@
65
65
  if (ts.isArrowFunction(firstArg) && rendererImport) {
66
66
  // Check if the function is `forwardRef(() => Renderer)`.
67
67
  if (ts.isIdentifier(firstArg.body) &&
68
- symbol_1.isReferenceToImport(typeChecker, firstArg.body, rendererImport)) {
68
+ (0, symbol_1.isReferenceToImport)(typeChecker, firstArg.body, rendererImport)) {
69
69
  return firstArg.body;
70
70
  }
71
71
  else if (ts.isBlock(firstArg.body) && ts.isReturnStatement(firstArg.body.statements[0])) {
72
72
  // Otherwise check if the expression is `forwardRef(() => { return Renderer })`.
73
73
  const returnStatement = firstArg.body.statements[0];
74
74
  if (returnStatement.expression && ts.isIdentifier(returnStatement.expression) &&
75
- symbol_1.isReferenceToImport(typeChecker, returnStatement.expression, rendererImport)) {
75
+ (0, symbol_1.isReferenceToImport)(typeChecker, returnStatement.expression, rendererImport)) {
76
76
  return returnStatement.expression;
77
77
  }
78
78
  }
@@ -80,4 +80,4 @@
80
80
  return null;
81
81
  }
82
82
  });
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc2NoZW1hdGljcy9taWdyYXRpb25zL3JlbmRlcmVyLXRvLXJlbmRlcmVyMi91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRzs7Ozs7Ozs7Ozs7OztJQUVILGlDQUFpQztJQUVqQywrRUFBa0U7SUFDbEUsNkVBQWtFO0lBRWxFOzs7T0FHRztJQUNILFNBQWdCLHNCQUFzQixDQUNsQyxVQUF5QixFQUFFLFdBQTJCLEVBQ3RELHVCQUEyQztRQUM3QyxNQUFNLFVBQVUsR0FBRyxJQUFJLEdBQUcsRUFBa0UsQ0FBQztRQUM3RixNQUFNLFdBQVcsR0FBRyxJQUFJLEdBQUcsRUFBcUIsQ0FBQztRQUNqRCxNQUFNLFdBQVcsR0FBRyxJQUFJLEdBQUcsRUFBaUIsQ0FBQztRQUM3QyxNQUFNLG1CQUFtQixHQUFHLDRCQUFrQixDQUFDLFVBQVUsRUFBRSxlQUFlLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFFMUYsRUFBRSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsU0FBUyxTQUFTLENBQUMsSUFBYTtZQUMxRCxJQUFJLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3hELDRCQUFtQixDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLHVCQUF1QixDQUFDLEVBQUU7Z0JBQ3hFLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDdEI7aUJBQU0sSUFDSCxFQUFFLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQztnQkFDdkIsNEJBQW1CLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsdUJBQXVCLENBQUMsRUFBRTtnQkFDeEUsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUN0QjtpQkFBTSxJQUFJLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDcEMsSUFBSSxFQUFFLENBQUMsMEJBQTBCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztvQkFDOUMsNEJBQW1CLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFFLHVCQUF1QixDQUFDLEVBQUU7b0JBQ3pGLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7aUJBQ3ZCO3FCQUFNO2dCQUNILGtFQUFrRTtnQkFDbEUsbUJBQW1CLElBQUksRUFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO29CQUN2RCw0QkFBbUIsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxtQkFBbUIsQ0FBQztvQkFDdEUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUU7b0JBQ3pCLE1BQU0sa0JBQWtCLEdBQ3BCLGtDQUFrQyxDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsdUJBQXVCLENBQUMsQ0FBQztvQkFDbkYsSUFBSSxrQkFBa0IsRUFBRTt3QkFDdEIsV0FBVyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO3FCQUNyQztpQkFDRjthQUNGO1lBRUQsRUFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDbkMsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLEVBQUMsVUFBVSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUMsQ0FBQztJQUNoRCxDQUFDO0lBckNELHdEQXFDQztJQUVELDhGQUE4RjtJQUM5RixTQUFTLGtDQUFrQyxDQUN2QyxXQUEyQixFQUFFLElBQXVCLEVBQ3BELGNBQXVDO1FBQ3pDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFbkMsSUFBSSxFQUFFLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxJQUFJLGNBQWMsRUFBRTtZQUNsRCx5REFBeUQ7WUFDekQsSUFBSSxFQUFFLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7Z0JBQzlCLDRCQUFtQixDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsSUFBSSxFQUFFLGNBQWMsQ0FBQyxFQUFFO2dCQUNuRSxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUM7YUFDdEI7aUJBQU0sSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDekYsZ0ZBQWdGO2dCQUNoRixNQUFNLGVBQWUsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQXVCLENBQUM7Z0JBRTFFLElBQUksZUFBZSxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUM7b0JBQ3pFLDRCQUFtQixDQUFDLFdBQVcsRUFBRSxlQUFlLENBQUMsVUFBVSxFQUFFLGNBQWMsQ0FBQyxFQUFFO29CQUNoRixPQUFPLGVBQWUsQ0FBQyxVQUFVLENBQUM7aUJBQ25DO2FBQ0Y7U0FDRjtRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQgKiBhcyB0cyBmcm9tICd0eXBlc2NyaXB0JztcblxuaW1wb3J0IHtnZXRJbXBvcnRTcGVjaWZpZXJ9IGZyb20gJy4uLy4uL3V0aWxzL3R5cGVzY3JpcHQvaW1wb3J0cyc7XG5pbXBvcnQge2lzUmVmZXJlbmNlVG9JbXBvcnR9IGZyb20gJy4uLy4uL3V0aWxzL3R5cGVzY3JpcHQvc3ltYm9sJztcblxuLyoqXG4gKiBGaW5kcyB0eXBlZCBub2RlcyAoZS5nLiBmdW5jdGlvbiBwYXJhbWV0ZXJzIG9yIGNsYXNzIHByb3BlcnRpZXMpIHRoYXQgYXJlIHJlZmVyZW5jaW5nIHRoZSBvbGRcbiAqIGBSZW5kZXJlcmAsIGFzIHdlbGwgYXMgY2FsbHMgdG8gdGhlIGBSZW5kZXJlcmAgbWV0aG9kcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZpbmRSZW5kZXJlclJlZmVyZW5jZXMoXG4gICAgc291cmNlRmlsZTogdHMuU291cmNlRmlsZSwgdHlwZUNoZWNrZXI6IHRzLlR5cGVDaGVja2VyLFxuICAgIHJlbmRlcmVySW1wb3J0U3BlY2lmaWVyOiB0cy5JbXBvcnRTcGVjaWZpZXIpIHtcbiAgY29uc3QgdHlwZWROb2RlcyA9IG5ldyBTZXQ8dHMuUGFyYW1ldGVyRGVjbGFyYXRpb258dHMuUHJvcGVydHlEZWNsYXJhdGlvbnx0cy5Bc0V4cHJlc3Npb24+KCk7XG4gIGNvbnN0IG1ldGhvZENhbGxzID0gbmV3IFNldDx0cy5DYWxsRXhwcmVzc2lvbj4oKTtcbiAgY29uc3QgZm9yd2FyZFJlZnMgPSBuZXcgU2V0PHRzLklkZW50aWZpZXI+KCk7XG4gIGNvbnN0IGZvcndhcmRSZWZTcGVjaWZpZXIgPSBnZXRJbXBvcnRTcGVjaWZpZXIoc291cmNlRmlsZSwgJ0Bhbmd1bGFyL2NvcmUnLCAnZm9yd2FyZFJlZicpO1xuXG4gIHRzLmZvckVhY2hDaGlsZChzb3VyY2VGaWxlLCBmdW5jdGlvbiB2aXNpdE5vZGUobm9kZTogdHMuTm9kZSkge1xuICAgIGlmICgodHMuaXNQYXJhbWV0ZXIobm9kZSkgfHwgdHMuaXNQcm9wZXJ0eURlY2xhcmF0aW9uKG5vZGUpKSAmJlxuICAgICAgICBpc1JlZmVyZW5jZVRvSW1wb3J0KHR5cGVDaGVja2VyLCBub2RlLm5hbWUsIHJlbmRlcmVySW1wb3J0U3BlY2lmaWVyKSkge1xuICAgICAgdHlwZWROb2Rlcy5hZGQobm9kZSk7XG4gICAgfSBlbHNlIGlmIChcbiAgICAgICAgdHMuaXNBc0V4cHJlc3Npb24obm9kZSkgJiZcbiAgICAgICAgaXNSZWZlcmVuY2VUb0ltcG9ydCh0eXBlQ2hlY2tlciwgbm9kZS50eXBlLCByZW5kZXJlckltcG9ydFNwZWNpZmllcikpIHtcbiAgICAgIHR5cGVkTm9kZXMuYWRkKG5vZGUpO1xuICAgIH0gZWxzZSBpZiAodHMuaXNDYWxsRXhwcmVzc2lvbihub2RlKSkge1xuICAgICAgaWYgKHRzLmlzUHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uKG5vZGUuZXhwcmVzc2lvbikgJiZcbiAgICAgICAgICBpc1JlZmVyZW5jZVRvSW1wb3J0KHR5cGVDaGVja2VyLCBub2RlLmV4cHJlc3Npb24uZXhwcmVzc2lvbiwgcmVuZGVyZXJJbXBvcnRTcGVjaWZpZXIpKSB7XG4gICAgICAgIG1ldGhvZENhbGxzLmFkZChub2RlKTtcbiAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgICAgLy8gSWYgd2UncmUgZGVhbGluZyB3aXRoIGEgZm9yd2FyZFJlZiB0aGF0J3MgcmV0dXJuaW5nIGEgUmVuZGVyZXIuXG4gICAgICAgICAgZm9yd2FyZFJlZlNwZWNpZmllciAmJiB0cy5pc0lkZW50aWZpZXIobm9kZS5leHByZXNzaW9uKSAmJlxuICAgICAgICAgIGlzUmVmZXJlbmNlVG9JbXBvcnQodHlwZUNoZWNrZXIsIG5vZGUuZXhwcmVzc2lvbiwgZm9yd2FyZFJlZlNwZWNpZmllcikgJiZcbiAgICAgICAgICBub2RlLmFyZ3VtZW50cy5sZW5ndGgpIHtcbiAgICAgICAgY29uc3QgcmVuZGVyZXJJZGVudGlmaWVyID1cbiAgICAgICAgICAgIGZpbmRSZW5kZXJlcklkZW50aWZpZXJJbkZvcndhcmRSZWYodHlwZUNoZWNrZXIsIG5vZGUsIHJlbmRlcmVySW1wb3J0U3BlY2lmaWVyKTtcbiAgICAgICAgaWYgKHJlbmRlcmVySWRlbnRpZmllcikge1xuICAgICAgICAgIGZvcndhcmRSZWZzLmFkZChyZW5kZXJlcklkZW50aWZpZXIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgdHMuZm9yRWFjaENoaWxkKG5vZGUsIHZpc2l0Tm9kZSk7XG4gIH0pO1xuXG4gIHJldHVybiB7dHlwZWROb2RlcywgbWV0aG9kQ2FsbHMsIGZvcndhcmRSZWZzfTtcbn1cblxuLyoqIEZpbmRzIHRoZSBpZGVudGlmaWVyIHJlZmVycmluZyB0byB0aGUgYFJlbmRlcmVyYCBpbnNpZGUgYSBgZm9yd2FyZFJlZmAgY2FsbCBleHByZXNzaW9uLiAqL1xuZnVuY3Rpb24gZmluZFJlbmRlcmVySWRlbnRpZmllckluRm9yd2FyZFJlZihcbiAgICB0eXBlQ2hlY2tlcjogdHMuVHlwZUNoZWNrZXIsIG5vZGU6IHRzLkNhbGxFeHByZXNzaW9uLFxuICAgIHJlbmRlcmVySW1wb3J0OiB0cy5JbXBvcnRTcGVjaWZpZXJ8bnVsbCk6IHRzLklkZW50aWZpZXJ8bnVsbCB7XG4gIGNvbnN0IGZpcnN0QXJnID0gbm9kZS5hcmd1bWVudHNbMF07XG5cbiAgaWYgKHRzLmlzQXJyb3dGdW5jdGlvbihmaXJzdEFyZykgJiYgcmVuZGVyZXJJbXBvcnQpIHtcbiAgICAvLyBDaGVjayBpZiB0aGUgZnVuY3Rpb24gaXMgYGZvcndhcmRSZWYoKCkgPT4gUmVuZGVyZXIpYC5cbiAgICBpZiAodHMuaXNJZGVudGlmaWVyKGZpcnN0QXJnLmJvZHkpICYmXG4gICAgICAgIGlzUmVmZXJlbmNlVG9JbXBvcnQodHlwZUNoZWNrZXIsIGZpcnN0QXJnLmJvZHksIHJlbmRlcmVySW1wb3J0KSkge1xuICAgICAgcmV0dXJuIGZpcnN0QXJnLmJvZHk7XG4gICAgfSBlbHNlIGlmICh0cy5pc0Jsb2NrKGZpcnN0QXJnLmJvZHkpICYmIHRzLmlzUmV0dXJuU3RhdGVtZW50KGZpcnN0QXJnLmJvZHkuc3RhdGVtZW50c1swXSkpIHtcbiAgICAgIC8vIE90aGVyd2lzZSBjaGVjayBpZiB0aGUgZXhwcmVzc2lvbiBpcyBgZm9yd2FyZFJlZigoKSA9PiB7IHJldHVybiBSZW5kZXJlciB9KWAuXG4gICAgICBjb25zdCByZXR1cm5TdGF0ZW1lbnQgPSBmaXJzdEFyZy5ib2R5LnN0YXRlbWVudHNbMF0gYXMgdHMuUmV0dXJuU3RhdGVtZW50O1xuXG4gICAgICBpZiAocmV0dXJuU3RhdGVtZW50LmV4cHJlc3Npb24gJiYgdHMuaXNJZGVudGlmaWVyKHJldHVyblN0YXRlbWVudC5leHByZXNzaW9uKSAmJlxuICAgICAgICAgIGlzUmVmZXJlbmNlVG9JbXBvcnQodHlwZUNoZWNrZXIsIHJldHVyblN0YXRlbWVudC5leHByZXNzaW9uLCByZW5kZXJlckltcG9ydCkpIHtcbiAgICAgICAgcmV0dXJuIHJldHVyblN0YXRlbWVudC5leHByZXNzaW9uO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuIl19
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc2NoZW1hdGljcy9taWdyYXRpb25zL3JlbmRlcmVyLXRvLXJlbmRlcmVyMi91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRzs7Ozs7Ozs7Ozs7OztJQUVILGlDQUFpQztJQUVqQywrRUFBa0U7SUFDbEUsNkVBQWtFO0lBRWxFOzs7T0FHRztJQUNILFNBQWdCLHNCQUFzQixDQUNsQyxVQUF5QixFQUFFLFdBQTJCLEVBQ3RELHVCQUEyQztRQUM3QyxNQUFNLFVBQVUsR0FBRyxJQUFJLEdBQUcsRUFBa0UsQ0FBQztRQUM3RixNQUFNLFdBQVcsR0FBRyxJQUFJLEdBQUcsRUFBcUIsQ0FBQztRQUNqRCxNQUFNLFdBQVcsR0FBRyxJQUFJLEdBQUcsRUFBaUIsQ0FBQztRQUM3QyxNQUFNLG1CQUFtQixHQUFHLElBQUEsNEJBQWtCLEVBQUMsVUFBVSxFQUFFLGVBQWUsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUUxRixFQUFFLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxTQUFTLFNBQVMsQ0FBQyxJQUFhO1lBQzFELElBQUksQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDeEQsSUFBQSw0QkFBbUIsRUFBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSx1QkFBdUIsQ0FBQyxFQUFFO2dCQUN4RSxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ3RCO2lCQUFNLElBQ0gsRUFBRSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUM7Z0JBQ3ZCLElBQUEsNEJBQW1CLEVBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsdUJBQXVCLENBQUMsRUFBRTtnQkFDeEUsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUN0QjtpQkFBTSxJQUFJLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDcEMsSUFBSSxFQUFFLENBQUMsMEJBQTBCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztvQkFDOUMsSUFBQSw0QkFBbUIsRUFBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsdUJBQXVCLENBQUMsRUFBRTtvQkFDekYsV0FBVyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDdkI7cUJBQU07Z0JBQ0gsa0VBQWtFO2dCQUNsRSxtQkFBbUIsSUFBSSxFQUFFLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7b0JBQ3ZELElBQUEsNEJBQW1CLEVBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsbUJBQW1CLENBQUM7b0JBQ3RFLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFO29CQUN6QixNQUFNLGtCQUFrQixHQUNwQixrQ0FBa0MsQ0FBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLHVCQUF1QixDQUFDLENBQUM7b0JBQ25GLElBQUksa0JBQWtCLEVBQUU7d0JBQ3RCLFdBQVcsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsQ0FBQztxQkFDckM7aUJBQ0Y7YUFDRjtZQUVELEVBQUUsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ25DLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxFQUFDLFVBQVUsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFDLENBQUM7SUFDaEQsQ0FBQztJQXJDRCx3REFxQ0M7SUFFRCw4RkFBOEY7SUFDOUYsU0FBUyxrQ0FBa0MsQ0FDdkMsV0FBMkIsRUFBRSxJQUF1QixFQUNwRCxjQUF1QztRQUN6QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRW5DLElBQUksRUFBRSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsSUFBSSxjQUFjLEVBQUU7WUFDbEQseURBQXlEO1lBQ3pELElBQUksRUFBRSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO2dCQUM5QixJQUFBLDRCQUFtQixFQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsSUFBSSxFQUFFLGNBQWMsQ0FBQyxFQUFFO2dCQUNuRSxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUM7YUFDdEI7aUJBQU0sSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDekYsZ0ZBQWdGO2dCQUNoRixNQUFNLGVBQWUsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQXVCLENBQUM7Z0JBRTFFLElBQUksZUFBZSxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUM7b0JBQ3pFLElBQUEsNEJBQW1CLEVBQUMsV0FBVyxFQUFFLGVBQWUsQ0FBQyxVQUFVLEVBQUUsY0FBYyxDQUFDLEVBQUU7b0JBQ2hGLE9BQU8sZUFBZSxDQUFDLFVBQVUsQ0FBQztpQkFDbkM7YUFDRjtTQUNGO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCAqIGFzIHRzIGZyb20gJ3R5cGVzY3JpcHQnO1xuXG5pbXBvcnQge2dldEltcG9ydFNwZWNpZmllcn0gZnJvbSAnLi4vLi4vdXRpbHMvdHlwZXNjcmlwdC9pbXBvcnRzJztcbmltcG9ydCB7aXNSZWZlcmVuY2VUb0ltcG9ydH0gZnJvbSAnLi4vLi4vdXRpbHMvdHlwZXNjcmlwdC9zeW1ib2wnO1xuXG4vKipcbiAqIEZpbmRzIHR5cGVkIG5vZGVzIChlLmcuIGZ1bmN0aW9uIHBhcmFtZXRlcnMgb3IgY2xhc3MgcHJvcGVydGllcykgdGhhdCBhcmUgcmVmZXJlbmNpbmcgdGhlIG9sZFxuICogYFJlbmRlcmVyYCwgYXMgd2VsbCBhcyBjYWxscyB0byB0aGUgYFJlbmRlcmVyYCBtZXRob2RzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZmluZFJlbmRlcmVyUmVmZXJlbmNlcyhcbiAgICBzb3VyY2VGaWxlOiB0cy5Tb3VyY2VGaWxlLCB0eXBlQ2hlY2tlcjogdHMuVHlwZUNoZWNrZXIsXG4gICAgcmVuZGVyZXJJbXBvcnRTcGVjaWZpZXI6IHRzLkltcG9ydFNwZWNpZmllcikge1xuICBjb25zdCB0eXBlZE5vZGVzID0gbmV3IFNldDx0cy5QYXJhbWV0ZXJEZWNsYXJhdGlvbnx0cy5Qcm9wZXJ0eURlY2xhcmF0aW9ufHRzLkFzRXhwcmVzc2lvbj4oKTtcbiAgY29uc3QgbWV0aG9kQ2FsbHMgPSBuZXcgU2V0PHRzLkNhbGxFeHByZXNzaW9uPigpO1xuICBjb25zdCBmb3J3YXJkUmVmcyA9IG5ldyBTZXQ8dHMuSWRlbnRpZmllcj4oKTtcbiAgY29uc3QgZm9yd2FyZFJlZlNwZWNpZmllciA9IGdldEltcG9ydFNwZWNpZmllcihzb3VyY2VGaWxlLCAnQGFuZ3VsYXIvY29yZScsICdmb3J3YXJkUmVmJyk7XG5cbiAgdHMuZm9yRWFjaENoaWxkKHNvdXJjZUZpbGUsIGZ1bmN0aW9uIHZpc2l0Tm9kZShub2RlOiB0cy5Ob2RlKSB7XG4gICAgaWYgKCh0cy5pc1BhcmFtZXRlcihub2RlKSB8fCB0cy5pc1Byb3BlcnR5RGVjbGFyYXRpb24obm9kZSkpICYmXG4gICAgICAgIGlzUmVmZXJlbmNlVG9JbXBvcnQodHlwZUNoZWNrZXIsIG5vZGUubmFtZSwgcmVuZGVyZXJJbXBvcnRTcGVjaWZpZXIpKSB7XG4gICAgICB0eXBlZE5vZGVzLmFkZChub2RlKTtcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgICB0cy5pc0FzRXhwcmVzc2lvbihub2RlKSAmJlxuICAgICAgICBpc1JlZmVyZW5jZVRvSW1wb3J0KHR5cGVDaGVja2VyLCBub2RlLnR5cGUsIHJlbmRlcmVySW1wb3J0U3BlY2lmaWVyKSkge1xuICAgICAgdHlwZWROb2Rlcy5hZGQobm9kZSk7XG4gICAgfSBlbHNlIGlmICh0cy5pc0NhbGxFeHByZXNzaW9uKG5vZGUpKSB7XG4gICAgICBpZiAodHMuaXNQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24obm9kZS5leHByZXNzaW9uKSAmJlxuICAgICAgICAgIGlzUmVmZXJlbmNlVG9JbXBvcnQodHlwZUNoZWNrZXIsIG5vZGUuZXhwcmVzc2lvbi5leHByZXNzaW9uLCByZW5kZXJlckltcG9ydFNwZWNpZmllcikpIHtcbiAgICAgICAgbWV0aG9kQ2FsbHMuYWRkKG5vZGUpO1xuICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICAvLyBJZiB3ZSdyZSBkZWFsaW5nIHdpdGggYSBmb3J3YXJkUmVmIHRoYXQncyByZXR1cm5pbmcgYSBSZW5kZXJlci5cbiAgICAgICAgICBmb3J3YXJkUmVmU3BlY2lmaWVyICYmIHRzLmlzSWRlbnRpZmllcihub2RlLmV4cHJlc3Npb24pICYmXG4gICAgICAgICAgaXNSZWZlcmVuY2VUb0ltcG9ydCh0eXBlQ2hlY2tlciwgbm9kZS5leHByZXNzaW9uLCBmb3J3YXJkUmVmU3BlY2lmaWVyKSAmJlxuICAgICAgICAgIG5vZGUuYXJndW1lbnRzLmxlbmd0aCkge1xuICAgICAgICBjb25zdCByZW5kZXJlcklkZW50aWZpZXIgPVxuICAgICAgICAgICAgZmluZFJlbmRlcmVySWRlbnRpZmllckluRm9yd2FyZFJlZih0eXBlQ2hlY2tlciwgbm9kZSwgcmVuZGVyZXJJbXBvcnRTcGVjaWZpZXIpO1xuICAgICAgICBpZiAocmVuZGVyZXJJZGVudGlmaWVyKSB7XG4gICAgICAgICAgZm9yd2FyZFJlZnMuYWRkKHJlbmRlcmVySWRlbnRpZmllcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICB0cy5mb3JFYWNoQ2hpbGQobm9kZSwgdmlzaXROb2RlKTtcbiAgfSk7XG5cbiAgcmV0dXJuIHt0eXBlZE5vZGVzLCBtZXRob2RDYWxscywgZm9yd2FyZFJlZnN9O1xufVxuXG4vKiogRmluZHMgdGhlIGlkZW50aWZpZXIgcmVmZXJyaW5nIHRvIHRoZSBgUmVuZGVyZXJgIGluc2lkZSBhIGBmb3J3YXJkUmVmYCBjYWxsIGV4cHJlc3Npb24uICovXG5mdW5jdGlvbiBmaW5kUmVuZGVyZXJJZGVudGlmaWVySW5Gb3J3YXJkUmVmKFxuICAgIHR5cGVDaGVja2VyOiB0cy5UeXBlQ2hlY2tlciwgbm9kZTogdHMuQ2FsbEV4cHJlc3Npb24sXG4gICAgcmVuZGVyZXJJbXBvcnQ6IHRzLkltcG9ydFNwZWNpZmllcnxudWxsKTogdHMuSWRlbnRpZmllcnxudWxsIHtcbiAgY29uc3QgZmlyc3RBcmcgPSBub2RlLmFyZ3VtZW50c1swXTtcblxuICBpZiAodHMuaXNBcnJvd0Z1bmN0aW9uKGZpcnN0QXJnKSAmJiByZW5kZXJlckltcG9ydCkge1xuICAgIC8vIENoZWNrIGlmIHRoZSBmdW5jdGlvbiBpcyBgZm9yd2FyZFJlZigoKSA9PiBSZW5kZXJlcilgLlxuICAgIGlmICh0cy5pc0lkZW50aWZpZXIoZmlyc3RBcmcuYm9keSkgJiZcbiAgICAgICAgaXNSZWZlcmVuY2VUb0ltcG9ydCh0eXBlQ2hlY2tlciwgZmlyc3RBcmcuYm9keSwgcmVuZGVyZXJJbXBvcnQpKSB7XG4gICAgICByZXR1cm4gZmlyc3RBcmcuYm9keTtcbiAgICB9IGVsc2UgaWYgKHRzLmlzQmxvY2soZmlyc3RBcmcuYm9keSkgJiYgdHMuaXNSZXR1cm5TdGF0ZW1lbnQoZmlyc3RBcmcuYm9keS5zdGF0ZW1lbnRzWzBdKSkge1xuICAgICAgLy8gT3RoZXJ3aXNlIGNoZWNrIGlmIHRoZSBleHByZXNzaW9uIGlzIGBmb3J3YXJkUmVmKCgpID0+IHsgcmV0dXJuIFJlbmRlcmVyIH0pYC5cbiAgICAgIGNvbnN0IHJldHVyblN0YXRlbWVudCA9IGZpcnN0QXJnLmJvZHkuc3RhdGVtZW50c1swXSBhcyB0cy5SZXR1cm5TdGF0ZW1lbnQ7XG5cbiAgICAgIGlmIChyZXR1cm5TdGF0ZW1lbnQuZXhwcmVzc2lvbiAmJiB0cy5pc0lkZW50aWZpZXIocmV0dXJuU3RhdGVtZW50LmV4cHJlc3Npb24pICYmXG4gICAgICAgICAgaXNSZWZlcmVuY2VUb0ltcG9ydCh0eXBlQ2hlY2tlciwgcmV0dXJuU3RhdGVtZW50LmV4cHJlc3Npb24sIHJlbmRlcmVySW1wb3J0KSkge1xuICAgICAgICByZXR1cm4gcmV0dXJuU3RhdGVtZW50LmV4cHJlc3Npb247XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG4iXX0=
@@ -21,15 +21,15 @@
21
21
  const parse_html_1 = require("@angular/core/schematics/utils/parse_html");
22
22
  const html_routerlink_empty_expr_visitor_1 = require("@angular/core/schematics/migrations/router-link-empty-expression/angular/html_routerlink_empty_expr_visitor");
23
23
  function analyzeResolvedTemplate(template) {
24
- const templateNodes = parse_html_1.parseHtmlGracefully(template.content, template.filePath);
24
+ const templateNodes = (0, parse_html_1.parseHtmlGracefully)(template.content, template.filePath);
25
25
  if (!templateNodes) {
26
26
  return null;
27
27
  }
28
28
  const visitor = new html_routerlink_empty_expr_visitor_1.RouterLinkEmptyExprVisitor();
29
29
  // Analyze the Angular Render3 HTML AST and collect all template variable assignments.
30
- r3_ast_1.visitAll(visitor, templateNodes);
30
+ (0, r3_ast_1.visitAll)(visitor, templateNodes);
31
31
  return visitor.emptyRouterLinkExpressions;
32
32
  }
33
33
  exports.analyzeResolvedTemplate = analyzeResolvedTemplate;
34
34
  });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl6ZV90ZW1wbGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc2NoZW1hdGljcy9taWdyYXRpb25zL3JvdXRlci1saW5rLWVtcHR5LWV4cHJlc3Npb24vYW5hbHl6ZV90ZW1wbGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7Ozs7Ozs7Ozs7Ozs7SUFFSCxpRUFBOEU7SUFHOUUsMEVBQTJEO0lBRTNELG9LQUF3RjtJQUV4RixTQUFnQix1QkFBdUIsQ0FBQyxRQUEwQjtRQUNoRSxNQUFNLGFBQWEsR0FBRyxnQ0FBbUIsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUUvRSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ2xCLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxNQUFNLE9BQU8sR0FBRyxJQUFJLCtEQUEwQixFQUFFLENBQUM7UUFFakQsc0ZBQXNGO1FBQ3RGLGlCQUFRLENBQUMsT0FBTyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBRWpDLE9BQU8sT0FBTyxDQUFDLDBCQUEwQixDQUFDO0lBQzVDLENBQUM7SUFiRCwwREFhQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge0JvdW5kQXR0cmlidXRlLCB2aXNpdEFsbH0gZnJvbSAnQGFuZ3VsYXIvY29tcGlsZXIvc3JjL3JlbmRlcjMvcjNfYXN0JztcblxuaW1wb3J0IHtSZXNvbHZlZFRlbXBsYXRlfSBmcm9tICcuLi8uLi91dGlscy9uZ19jb21wb25lbnRfdGVtcGxhdGUnO1xuaW1wb3J0IHtwYXJzZUh0bWxHcmFjZWZ1bGx5fSBmcm9tICcuLi8uLi91dGlscy9wYXJzZV9odG1sJztcblxuaW1wb3J0IHtSb3V0ZXJMaW5rRW1wdHlFeHByVmlzaXRvcn0gZnJvbSAnLi9hbmd1bGFyL2h0bWxfcm91dGVybGlua19lbXB0eV9leHByX3Zpc2l0b3InO1xuXG5leHBvcnQgZnVuY3Rpb24gYW5hbHl6ZVJlc29sdmVkVGVtcGxhdGUodGVtcGxhdGU6IFJlc29sdmVkVGVtcGxhdGUpOiBCb3VuZEF0dHJpYnV0ZVtdfG51bGwge1xuICBjb25zdCB0ZW1wbGF0ZU5vZGVzID0gcGFyc2VIdG1sR3JhY2VmdWxseSh0ZW1wbGF0ZS5jb250ZW50LCB0ZW1wbGF0ZS5maWxlUGF0aCk7XG5cbiAgaWYgKCF0ZW1wbGF0ZU5vZGVzKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCB2aXNpdG9yID0gbmV3IFJvdXRlckxpbmtFbXB0eUV4cHJWaXNpdG9yKCk7XG5cbiAgLy8gQW5hbHl6ZSB0aGUgQW5ndWxhciBSZW5kZXIzIEhUTUwgQVNUIGFuZCBjb2xsZWN0IGFsbCB0ZW1wbGF0ZSB2YXJpYWJsZSBhc3NpZ25tZW50cy5cbiAgdmlzaXRBbGwodmlzaXRvciwgdGVtcGxhdGVOb2Rlcyk7XG5cbiAgcmV0dXJuIHZpc2l0b3IuZW1wdHlSb3V0ZXJMaW5rRXhwcmVzc2lvbnM7XG59XG4iXX0=
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl6ZV90ZW1wbGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc2NoZW1hdGljcy9taWdyYXRpb25zL3JvdXRlci1saW5rLWVtcHR5LWV4cHJlc3Npb24vYW5hbHl6ZV90ZW1wbGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7Ozs7Ozs7Ozs7Ozs7SUFFSCxpRUFBOEU7SUFHOUUsMEVBQTJEO0lBRTNELG9LQUF3RjtJQUV4RixTQUFnQix1QkFBdUIsQ0FBQyxRQUEwQjtRQUNoRSxNQUFNLGFBQWEsR0FBRyxJQUFBLGdDQUFtQixFQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRS9FLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDbEIsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELE1BQU0sT0FBTyxHQUFHLElBQUksK0RBQTBCLEVBQUUsQ0FBQztRQUVqRCxzRkFBc0Y7UUFDdEYsSUFBQSxpQkFBUSxFQUFDLE9BQU8sRUFBRSxhQUFhLENBQUMsQ0FBQztRQUVqQyxPQUFPLE9BQU8sQ0FBQywwQkFBMEIsQ0FBQztJQUM1QyxDQUFDO0lBYkQsMERBYUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtCb3VuZEF0dHJpYnV0ZSwgdmlzaXRBbGx9IGZyb20gJ0Bhbmd1bGFyL2NvbXBpbGVyL3NyYy9yZW5kZXIzL3IzX2FzdCc7XG5cbmltcG9ydCB7UmVzb2x2ZWRUZW1wbGF0ZX0gZnJvbSAnLi4vLi4vdXRpbHMvbmdfY29tcG9uZW50X3RlbXBsYXRlJztcbmltcG9ydCB7cGFyc2VIdG1sR3JhY2VmdWxseX0gZnJvbSAnLi4vLi4vdXRpbHMvcGFyc2VfaHRtbCc7XG5cbmltcG9ydCB7Um91dGVyTGlua0VtcHR5RXhwclZpc2l0b3J9IGZyb20gJy4vYW5ndWxhci9odG1sX3JvdXRlcmxpbmtfZW1wdHlfZXhwcl92aXNpdG9yJztcblxuZXhwb3J0IGZ1bmN0aW9uIGFuYWx5emVSZXNvbHZlZFRlbXBsYXRlKHRlbXBsYXRlOiBSZXNvbHZlZFRlbXBsYXRlKTogQm91bmRBdHRyaWJ1dGVbXXxudWxsIHtcbiAgY29uc3QgdGVtcGxhdGVOb2RlcyA9IHBhcnNlSHRtbEdyYWNlZnVsbHkodGVtcGxhdGUuY29udGVudCwgdGVtcGxhdGUuZmlsZVBhdGgpO1xuXG4gIGlmICghdGVtcGxhdGVOb2Rlcykge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3QgdmlzaXRvciA9IG5ldyBSb3V0ZXJMaW5rRW1wdHlFeHByVmlzaXRvcigpO1xuXG4gIC8vIEFuYWx5emUgdGhlIEFuZ3VsYXIgUmVuZGVyMyBIVE1MIEFTVCBhbmQgY29sbGVjdCBhbGwgdGVtcGxhdGUgdmFyaWFibGUgYXNzaWdubWVudHMuXG4gIHZpc2l0QWxsKHZpc2l0b3IsIHRlbXBsYXRlTm9kZXMpO1xuXG4gIHJldHVybiB2aXNpdG9yLmVtcHR5Um91dGVyTGlua0V4cHJlc3Npb25zO1xufVxuIl19
@@ -29,12 +29,12 @@
29
29
  this.emptyRouterLinkExpressions = [];
30
30
  }
31
31
  visitElement(element) {
32
- r3_ast_1.visitAll(this, element.inputs);
33
- r3_ast_1.visitAll(this, element.children);
32
+ (0, r3_ast_1.visitAll)(this, element.inputs);
33
+ (0, r3_ast_1.visitAll)(this, element.children);
34
34
  }
35
35
  visitTemplate(t) {
36
- r3_ast_1.visitAll(this, t.inputs);
37
- r3_ast_1.visitAll(this, t.children);
36
+ (0, r3_ast_1.visitAll)(this, t.inputs);
37
+ (0, r3_ast_1.visitAll)(this, t.children);
38
38
  }
39
39
  visitBoundAttribute(node) {
40
40
  if (node.name === 'routerLink' && node.value instanceof compiler_1.ASTWithSource &&
@@ -45,4 +45,4 @@
45
45
  }
46
46
  exports.RouterLinkEmptyExprVisitor = RouterLinkEmptyExprVisitor;
47
47
  });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHRtbF9yb3V0ZXJsaW5rX2VtcHR5X2V4cHJfdmlzaXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc2NoZW1hdGljcy9taWdyYXRpb25zL3JvdXRlci1saW5rLWVtcHR5LWV4cHJlc3Npb24vYW5ndWxhci9odG1sX3JvdXRlcmxpbmtfZW1wdHlfZXhwcl92aXNpdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRzs7Ozs7Ozs7Ozs7OztJQUVILGdEQUEyRDtJQUMzRCxpRUFBOEc7SUFFOUc7OztPQUdHO0lBQ0gsTUFBYSwwQkFBMkIsU0FBUSxvQkFBVztRQUEzRDs7WUFDVywrQkFBMEIsR0FBcUIsRUFBRSxDQUFDO1FBa0I3RCxDQUFDO1FBaEJVLFlBQVksQ0FBQyxPQUFnQjtZQUNwQyxpQkFBUSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDL0IsaUJBQVEsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ25DLENBQUM7UUFFUSxhQUFhLENBQUMsQ0FBVztZQUNoQyxpQkFBUSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDekIsaUJBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzdCLENBQUM7UUFFUSxtQkFBbUIsQ0FBQyxJQUFvQjtZQUMvQyxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssWUFBWSxJQUFJLElBQUksQ0FBQyxLQUFLLFlBQVksd0JBQWE7Z0JBQ2pFLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxZQUFZLG9CQUFTLEVBQUU7Z0JBQ3ZDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDNUM7UUFDSCxDQUFDO0tBQ0Y7SUFuQkQsZ0VBbUJDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7QVNUV2l0aFNvdXJjZSwgRW1wdHlFeHByfSBmcm9tICdAYW5ndWxhci9jb21waWxlcic7XG5pbXBvcnQge0JvdW5kQXR0cmlidXRlLCBFbGVtZW50LCBOdWxsVmlzaXRvciwgVGVtcGxhdGUsIHZpc2l0QWxsfSBmcm9tICdAYW5ndWxhci9jb21waWxlci9zcmMvcmVuZGVyMy9yM19hc3QnO1xuXG4vKipcbiAqIEhUTUwgQVNUIHZpc2l0b3IgdGhhdCB0cmF2ZXJzZXMgdGhlIFJlbmRlcjMgSFRNTCBBU1QgaW4gb3JkZXIgdG8gZmluZCBhbGxcbiAqIHVuZGVmaW5lZCByb3V0ZXJMaW5rIGFzc3NpZ25tZW50IChbcm91dGVyTGlua109XCJcIikuXG4gKi9cbmV4cG9ydCBjbGFzcyBSb3V0ZXJMaW5rRW1wdHlFeHByVmlzaXRvciBleHRlbmRzIE51bGxWaXNpdG9yIHtcbiAgcmVhZG9ubHkgZW1wdHlSb3V0ZXJMaW5rRXhwcmVzc2lvbnM6IEJvdW5kQXR0cmlidXRlW10gPSBbXTtcblxuICBvdmVycmlkZSB2aXNpdEVsZW1lbnQoZWxlbWVudDogRWxlbWVudCk6IHZvaWQge1xuICAgIHZpc2l0QWxsKHRoaXMsIGVsZW1lbnQuaW5wdXRzKTtcbiAgICB2aXNpdEFsbCh0aGlzLCBlbGVtZW50LmNoaWxkcmVuKTtcbiAgfVxuXG4gIG92ZXJyaWRlIHZpc2l0VGVtcGxhdGUodDogVGVtcGxhdGUpOiB2b2lkIHtcbiAgICB2aXNpdEFsbCh0aGlzLCB0LmlucHV0cyk7XG4gICAgdmlzaXRBbGwodGhpcywgdC5jaGlsZHJlbik7XG4gIH1cblxuICBvdmVycmlkZSB2aXNpdEJvdW5kQXR0cmlidXRlKG5vZGU6IEJvdW5kQXR0cmlidXRlKSB7XG4gICAgaWYgKG5vZGUubmFtZSA9PT0gJ3JvdXRlckxpbmsnICYmIG5vZGUudmFsdWUgaW5zdGFuY2VvZiBBU1RXaXRoU291cmNlICYmXG4gICAgICAgIG5vZGUudmFsdWUuYXN0IGluc3RhbmNlb2YgRW1wdHlFeHByKSB7XG4gICAgICB0aGlzLmVtcHR5Um91dGVyTGlua0V4cHJlc3Npb25zLnB1c2gobm9kZSk7XG4gICAgfVxuICB9XG59XG4iXX0=
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHRtbF9yb3V0ZXJsaW5rX2VtcHR5X2V4cHJfdmlzaXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc2NoZW1hdGljcy9taWdyYXRpb25zL3JvdXRlci1saW5rLWVtcHR5LWV4cHJlc3Npb24vYW5ndWxhci9odG1sX3JvdXRlcmxpbmtfZW1wdHlfZXhwcl92aXNpdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRzs7Ozs7Ozs7Ozs7OztJQUVILGdEQUEyRDtJQUMzRCxpRUFBOEc7SUFFOUc7OztPQUdHO0lBQ0gsTUFBYSwwQkFBMkIsU0FBUSxvQkFBVztRQUEzRDs7WUFDVywrQkFBMEIsR0FBcUIsRUFBRSxDQUFDO1FBa0I3RCxDQUFDO1FBaEJVLFlBQVksQ0FBQyxPQUFnQjtZQUNwQyxJQUFBLGlCQUFRLEVBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUMvQixJQUFBLGlCQUFRLEVBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNuQyxDQUFDO1FBRVEsYUFBYSxDQUFDLENBQVc7WUFDaEMsSUFBQSxpQkFBUSxFQUFDLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDekIsSUFBQSxpQkFBUSxFQUFDLElBQUksRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDN0IsQ0FBQztRQUVRLG1CQUFtQixDQUFDLElBQW9CO1lBQy9DLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxZQUFZLElBQUksSUFBSSxDQUFDLEtBQUssWUFBWSx3QkFBYTtnQkFDakUsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLFlBQVksb0JBQVMsRUFBRTtnQkFDdkMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUM1QztRQUNILENBQUM7S0FDRjtJQW5CRCxnRUFtQkMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtBU1RXaXRoU291cmNlLCBFbXB0eUV4cHJ9IGZyb20gJ0Bhbmd1bGFyL2NvbXBpbGVyJztcbmltcG9ydCB7Qm91bmRBdHRyaWJ1dGUsIEVsZW1lbnQsIE51bGxWaXNpdG9yLCBUZW1wbGF0ZSwgdmlzaXRBbGx9IGZyb20gJ0Bhbmd1bGFyL2NvbXBpbGVyL3NyYy9yZW5kZXIzL3IzX2FzdCc7XG5cbi8qKlxuICogSFRNTCBBU1QgdmlzaXRvciB0aGF0IHRyYXZlcnNlcyB0aGUgUmVuZGVyMyBIVE1MIEFTVCBpbiBvcmRlciB0byBmaW5kIGFsbFxuICogdW5kZWZpbmVkIHJvdXRlckxpbmsgYXNzc2lnbm1lbnQgKFtyb3V0ZXJMaW5rXT1cIlwiKS5cbiAqL1xuZXhwb3J0IGNsYXNzIFJvdXRlckxpbmtFbXB0eUV4cHJWaXNpdG9yIGV4dGVuZHMgTnVsbFZpc2l0b3Ige1xuICByZWFkb25seSBlbXB0eVJvdXRlckxpbmtFeHByZXNzaW9uczogQm91bmRBdHRyaWJ1dGVbXSA9IFtdO1xuXG4gIG92ZXJyaWRlIHZpc2l0RWxlbWVudChlbGVtZW50OiBFbGVtZW50KTogdm9pZCB7XG4gICAgdmlzaXRBbGwodGhpcywgZWxlbWVudC5pbnB1dHMpO1xuICAgIHZpc2l0QWxsKHRoaXMsIGVsZW1lbnQuY2hpbGRyZW4pO1xuICB9XG5cbiAgb3ZlcnJpZGUgdmlzaXRUZW1wbGF0ZSh0OiBUZW1wbGF0ZSk6IHZvaWQge1xuICAgIHZpc2l0QWxsKHRoaXMsIHQuaW5wdXRzKTtcbiAgICB2aXNpdEFsbCh0aGlzLCB0LmNoaWxkcmVuKTtcbiAgfVxuXG4gIG92ZXJyaWRlIHZpc2l0Qm91bmRBdHRyaWJ1dGUobm9kZTogQm91bmRBdHRyaWJ1dGUpIHtcbiAgICBpZiAobm9kZS5uYW1lID09PSAncm91dGVyTGluaycgJiYgbm9kZS52YWx1ZSBpbnN0YW5jZW9mIEFTVFdpdGhTb3VyY2UgJiZcbiAgICAgICAgbm9kZS52YWx1ZS5hc3QgaW5zdGFuY2VvZiBFbXB0eUV4cHIpIHtcbiAgICAgIHRoaXMuZW1wdHlSb3V0ZXJMaW5rRXhwcmVzc2lvbnMucHVzaChub2RlKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -36,7 +36,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
36
36
  /** Entry point for the RouterLink empty expression migration. */
37
37
  function default_1() {
38
38
  return (tree, context) => __awaiter(this, void 0, void 0, function* () {
39
- const { buildPaths, testPaths } = yield project_tsconfig_paths_1.getProjectTsConfigPaths(tree);
39
+ const { buildPaths, testPaths } = yield (0, project_tsconfig_paths_1.getProjectTsConfigPaths)(tree);
40
40
  const basePath = process.cwd();
41
41
  if (!buildPaths.length && !testPaths.length) {
42
42
  throw new schematics_1.SchematicsException('Could not find any tsconfig file. Cannot check templates for empty routerLinks.');
@@ -52,10 +52,10 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
52
52
  * which templates received updates.
53
53
  */
54
54
  function runEmptyRouterLinkExpressionMigration(tree, tsconfigPath, basePath, logger) {
55
- const { program } = compiler_host_1.createMigrationProgram(tree, tsconfigPath, basePath);
55
+ const { program } = (0, compiler_host_1.createMigrationProgram)(tree, tsconfigPath, basePath);
56
56
  const typeChecker = program.getTypeChecker();
57
57
  const templateVisitor = new ng_component_template_1.NgComponentTemplateVisitor(typeChecker);
58
- const sourceFiles = program.getSourceFiles().filter(sourceFile => compiler_host_1.canMigrateFile(basePath, sourceFile, program));
58
+ const sourceFiles = program.getSourceFiles().filter(sourceFile => (0, compiler_host_1.canMigrateFile)(basePath, sourceFile, program));
59
59
  // Analyze source files by detecting HTML templates.
60
60
  sourceFiles.forEach(sourceFile => templateVisitor.visitNode(sourceFile));
61
61
  const { resolvedTemplates } = templateVisitor;
@@ -67,7 +67,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
67
67
  const collectedFixes = [];
68
68
  const fixesByFile = getFixesByFile(resolvedTemplates);
69
69
  for (const [absFilePath, templateFixes] of fixesByFile) {
70
- const treeFilePath = path_1.relative(core_1.normalize(basePath), core_1.normalize(absFilePath));
70
+ const treeFilePath = (0, path_1.relative)((0, core_1.normalize)(basePath), (0, core_1.normalize)(absFilePath));
71
71
  const originalFileContent = (_a = tree.read(treeFilePath)) === null || _a === void 0 ? void 0 : _a.toString();
72
72
  if (originalFileContent === undefined) {
73
73
  logger.error(`Failed to read file containing template; cannot apply fixes for empty routerLink expressions in ${treeFilePath}.`);
@@ -81,7 +81,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
81
81
  updater.remove(replacement.start, replacement.end - replacement.start);
82
82
  updater.insertLeft(replacement.start, replacement.newContent);
83
83
  }
84
- const displayFilePath = core_1.normalize(path_1.relative(basePath, templateFix.originalTemplate.filePath));
84
+ const displayFilePath = (0, core_1.normalize)((0, path_1.relative)(basePath, templateFix.originalTemplate.filePath));
85
85
  for (const n of templateFix.emptyRouterlinkExpressions) {
86
86
  const { line, character } = templateFix.originalTemplate.getCharacterAndLineOfPosition(n.sourceSpan.start.offset);
87
87
  collectedFixes.push(`${displayFilePath}@${line + 1}:${character + 1}`);
@@ -126,7 +126,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
126
126
  return fixesByFile;
127
127
  }
128
128
  function fixEmptyRouterlinksInTemplate(template) {
129
- const emptyRouterlinkExpressions = analyze_template_1.analyzeResolvedTemplate(template);
129
+ const emptyRouterlinkExpressions = (0, analyze_template_1.analyzeResolvedTemplate)(template);
130
130
  if (!emptyRouterlinkExpressions || emptyRouterlinkExpressions.length === 0) {
131
131
  return null;
132
132
  }
@@ -156,4 +156,4 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
156
156
  return { originalTemplate: template, replacements, emptyRouterlinkExpressions };
157
157
  }
158
158
  });
159
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NjaGVtYXRpY3MvbWlncmF0aW9ucy9yb3V0ZXItbGluay1lbXB0eS1leHByZXNzaW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBRUgsK0NBQXdEO0lBQ3hELDJEQUE2RjtJQUU3RiwrQkFBOEI7SUFFOUIsZ0dBQStGO0lBQy9GLGtHQUEyRTtJQUMzRSwyRkFBNEY7SUFFNUYsd0hBQTJEO0lBSTNELE1BQU0sVUFBVSxHQUNaLDJIQUEySCxDQUFDO0lBYWhJLGlFQUFpRTtJQUNqRTtRQUNFLE9BQU8sQ0FBTyxJQUFVLEVBQUUsT0FBeUIsRUFBRSxFQUFFO1lBQ3JELE1BQU0sRUFBQyxVQUFVLEVBQUUsU0FBUyxFQUFDLEdBQUcsTUFBTSxnREFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNwRSxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7WUFFL0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFO2dCQUMzQyxNQUFNLElBQUksZ0NBQW1CLENBQ3pCLGlGQUFpRixDQUFDLENBQUM7YUFDeEY7WUFFRCxLQUFLLE1BQU0sWUFBWSxJQUFJLENBQUMsR0FBRyxVQUFVLEVBQUUsR0FBRyxTQUFTLENBQUMsRUFBRTtnQkFDeEQscUNBQXFDLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ3JGO1FBQ0gsQ0FBQyxDQUFBLENBQUM7SUFDSixDQUFDO0lBZEQsNEJBY0M7SUFFRDs7O09BR0c7SUFDSCxTQUFTLHFDQUFxQyxDQUMxQyxJQUFVLEVBQUUsWUFBb0IsRUFBRSxRQUFnQixFQUFFLE1BQWM7UUFDcEUsTUFB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QUNoQixHQUFHLEVBQUUsU0FBUztvQkFDZCxVQUFVLEVBQUUsT0FBTztpQkFDcEIsQ0FBQzthQUNIO1lBQ0QsWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUNoQztRQUVELE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLDBCQUEwQixFQUFDLENBQUM7SUFDaEYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge2xvZ2dpbmcsIG5vcm1hbGl6ZX0gZnJvbSAnQGFuZ3VsYXItZGV2a2l0L2NvcmUnO1xuaW1wb3J0IHtSdWxlLCBTY2hlbWF0aWNDb250ZXh0LCBTY2hlbWF0aWNzRXhjZXB0aW9uLCBUcmVlfSBmcm9tICdAYW5ndWxhci1kZXZraXQvc2NoZW1hdGljcyc7XG5pbXBvcnQge0VtcHR5RXhwciwgVG1wbEFzdEJvdW5kQXR0cmlidXRlfSBmcm9tICdAYW5ndWxhci9jb21waWxlcic7XG5pbXBvcnQge3JlbGF0aXZlfSBmcm9tICdwYXRoJztcblxuaW1wb3J0IHtOZ0NvbXBvbmVudFRlbXBsYXRlVmlzaXRvciwgUmVzb2x2ZWRUZW1wbGF0ZX0gZnJvbSAnLi4vLi4vdXRpbHMvbmdfY29tcG9uZW50X3RlbXBsYXRlJztcbmltcG9ydCB7Z2V0UHJvamVjdFRzQ29uZmlnUGF0aHN9IGZyb20gJy4uLy4uL3V0aWxzL3Byb2plY3RfdHNjb25maWdfcGF0aHMnO1xuaW1wb3J0IHtjYW5NaWdyYXRlRmlsZSwgY3JlYXRlTWlncmF0aW9uUHJvZ3JhbX0gZnJvbSAnLi4vLi4vdXRpbHMvdHlwZXNjcmlwdC9jb21waWxlcl9ob3N0JztcblxuaW1wb3J0IHthbmFseXplUmVzb2x2ZWRUZW1wbGF0ZX0gZnJvbSAnLi9hbmFseXplX3RlbXBsYXRlJztcblxudHlwZSBMb2dnZXIgPSBsb2dnaW5nLkxvZ2dlckFwaTtcblxuY29uc3QgUkVBRE1FX1VSTCA9XG4gICAgJ2h0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvYmxvYi9tYXN0ZXIvcGFja2FnZXMvY29yZS9zY2hlbWF0aWNzL21pZ3JhdGlvbnMvcm91dGVyLWxpbmstZW1wdHktZXhwcmVzc2lvbi9SRUFETUUubWQnO1xuXG5pbnRlcmZhY2UgUmVwbGFjZW1lbnQge1xuICBzdGFydDogbnVtYmVyO1xuICBlbmQ6IG51bWJlcjtcbiAgbmV3Q29udGVudDogc3RyaW5nO1xufVxuaW50ZXJmYWNlIEZpeGVkVGVtcGxhdGUge1xuICBvcmlnaW5hbFRlbXBsYXRlOiBSZXNvbHZlZFRlbXBsYXRlO1xuICByZXBsYWNlbWVudHM6IFJlcGxhY2VtZW50W107XG4gIGVtcHR5Um91dGVybGlua0V4cHJlc3Npb25zOiBUbXBsQXN0Qm91bmRBdHRyaWJ1dGVbXTtcbn1cblxuLyoqIEVudHJ5IHBvaW50IGZvciB0aGUgUm91dGVyTGluayBlbXB0eSBleHByZXNzaW9uIG1pZ3JhdGlvbi4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uKCk6IFJ1bGUge1xuICByZXR1cm4gYXN5bmMgKHRyZWU6IFRyZWUsIGNvbnRleHQ6IFNjaGVtYXRpY0NvbnRleHQpID0+IHtcbiAgICBjb25zdCB7YnVpbGRQYXRocywgdGVzdFBhdGhzfSA9IGF3YWl0IGdldFByb2plY3RUc0NvbmZpZ1BhdGhzKHRyZWUpO1xuICAgIGNvbnN0IGJhc2VQYXRoID0gcHJvY2Vzcy5jd2QoKTtcblxuICAgIGlmICghYnVpbGRQYXRocy5sZW5ndGggJiYgIXRlc3RQYXRocy5sZW5ndGgpIHtcbiAgICAgIHRocm93IG5ldyBTY2hlbWF0aWNzRXhjZXB0aW9uKFxuICAgICAgICAgICdDb3VsZCBub3QgZmluZCBhbnkgdHNjb25maWcgZmlsZS4gQ2Fubm90IGNoZWNrIHRlbXBsYXRlcyBmb3IgZW1wdHkgcm91dGVyTGlua3MuJyk7XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCB0c2NvbmZpZ1BhdGggb2YgWy4uLmJ1aWxkUGF0aHMsIC4uLnRlc3RQYXRoc10pIHtcbiAgICAgIHJ1bkVtcHR5Um91dGVyTGlua0V4cHJlc3Npb25NaWdyYXRpb24odHJlZSwgdHNjb25maWdQYXRoLCBiYXNlUGF0aCwgY29udGV4dC5sb2dnZXIpO1xuICAgIH1cbiAgfTtcbn1cblxuLyoqXG4gKiBSdW5zIHRoZSByb3V0ZXJMaW5rIG1pZ3JhdGlvbiwgY2hhbmdpbmcgcm91dGVyTGluaz1cIlwiIHRvIHJvdXRlckxpbms9XCJbXVwiIGFuZCBub3RpZnlpbmcgZGV2ZWxvcGVyc1xuICogd2hpY2ggdGVtcGxhdGVzIHJlY2VpdmVkIHVwZGF0ZXMuXG4gKi9cbmZ1bmN0aW9uIHJ1bkVtcHR5Um91dGVyTGlua0V4cHJlc3Npb25NaWdyYXRpb24oXG4gICAgdHJlZTogVHJlZSwgdHNjb25maWdQYXRoOiBzdHJpbmcsIGJhc2VQYXRoOiBzdHJpbmcsIGxvZ2dlcjogTG9nZ2VyKSB7XG4gIGNvbnN0IHtwcm9ncmFtfSA9IGNyZWF0ZU1pZ3JhdGlvblByb2dyYW0odHJlZSwgdHNjb25maWdQYXRoLCBiYXNlUGF0aCk7XG4gIGNvbnN0IHR5cGVDaGVja2VyID0gcHJvZ3JhbS5nZXRUeXBlQ2hlY2tlcigpO1xuICBjb25zdCB0ZW1wbGF0ZVZpc2l0b3IgPSBuZXcgTmdDb21wb25lbnRUZW1wbGF0ZVZpc2l0b3IodHlwZUNoZWNrZXIpO1xuICBjb25zdCBzb3VyY2VGaWxlcyA9XG4gICAgICBwcm9ncmFtLmdldFNvdXJjZUZpbGVzKCkuZmlsdGVyKHNvdXJjZUZpbGUgPT4gY2FuTWlncmF0ZUZpbGUoYmFzZVBhdGgsIHNvdXJjZUZpbGUsIHByb2dyYW0pKTtcblxuICAvLyBBbmFseXplIHNvdXJjZSBmaWxlcyBieSBkZXRlY3RpbmcgSFRNTCB0ZW1wbGF0ZXMuXG4gIHNvdXJjZUZpbGVzLmZvckVhY2goc291cmNlRmlsZSA9PiB0ZW1wbGF0ZVZpc2l0b3IudmlzaXROb2RlKHNvdXJjZUZpbGUpKTtcblxuICBjb25zdCB7cmVzb2x2ZWRUZW1wbGF0ZXN9ID0gdGVtcGxhdGVWaXNpdG9yO1xuICBmaXhFbXB0eVJvdXRlcmxpbmtzKHJlc29sdmVkVGVtcGxhdGVzLCB0cmVlLCBsb2dnZXIpO1xufVxuXG5mdW5jdGlvbiBmaXhFbXB0eVJvdXRlcmxpbmtzKHJlc29sdmVkVGVtcGxhdGVzOiBSZXNvbHZlZFRlbXBsYXRlW10sIHRyZWU6IFRyZWUsIGxvZ2dlcjogTG9nZ2VyKSB7XG4gIGNvbnN0IGJhc2VQYXRoID0gcHJvY2Vzcy5jd2QoKTtcbiAgY29uc3QgY29sbGVjdGVkRml4ZXM6IHN0cmluZ1tdID0gW107XG4gIGNvbnN0IGZpeGVzQnlGaWxlID0gZ2V0Rml4ZXNCeUZpbGUocmVzb2x2ZWRUZW1wbGF0ZXMpO1xuXG4gIGZvciAoY29uc3QgW2Fic0ZpbGVQYXRoLCB0ZW1wbGF0ZUZpeGVzXSBvZiBmaXhlc0J5RmlsZSkge1xuICAgIGNvbnN0IHRyZWVGaWxlUGF0aCA9IHJlbGF0aXZlKG5vcm1hbGl6ZShiYXNlUGF0aCksIG5vcm1hbGl6ZShhYnNGaWxlUGF0aCkpO1xuICAgIGNvbnN0IG9yaWdpbmFsRmlsZUNvbnRlbnQgPSB0cmVlLnJlYWQodHJlZUZpbGVQYXRoKT8udG9TdHJpbmcoKTtcbiAgICBpZiAob3JpZ2luYWxGaWxlQ29udGVudCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBsb2dnZXIuZXJyb3IoXG4gICAgICAgICAgYEZhaWxlZCB0byByZWFkIGZpbGUgY29udGFpbmluZyB0ZW1wbGF0ZTsgY2Fubm90IGFwcGx5IGZpeGVzIGZvciBlbXB0eSByb3V0ZXJMaW5rIGV4cHJlc3Npb25zIGluICR7XG4gICAgICAgICAgICAgIHRyZWVGaWxlUGF0aH0uYCk7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBjb25zdCB1cGRhdGVyID0gdHJlZS5iZWdpblVwZGF0ZSh0cmVlRmlsZVBhdGgpO1xuICAgIGZvciAoY29uc3QgdGVtcGxhdGVGaXggb2YgdGVtcGxhdGVGaXhlcykge1xuICAgICAgLy8gU29ydCBiYWNrd2FyZHMgc28gc3RyaW5nIHJlcGxhY2VtZW50cyBkbyBub3QgY29uZmxpY3RcbiAgICAgIHRlbXBsYXRlRml4LnJlcGxhY2VtZW50cy5zb3J0KChhLCBiKSA9PiBiLnN0YXJ0IC0gYS5zdGFydCk7XG4gICAgICBmb3IgKGNvbnN0IHJlcGxhY2VtZW50IG9mIHRlbXBsYXRlRml4LnJlcGxhY2VtZW50cykge1xuICAgICAgICB1cGRhdGVyLnJlbW92ZShyZXBsYWNlbWVudC5zdGFydCwgcmVwbGFjZW1lbnQuZW5kIC0gcmVwbGFjZW1lbnQuc3RhcnQpO1xuICAgICAgICB1cGRhdGVyLmluc2VydExlZnQocmVwbGFjZW1lbnQuc3RhcnQsIHJlcGxhY2VtZW50Lm5ld0NvbnRlbnQpO1xuICAgICAgfVxuICAgICAgY29uc3QgZGlzcGxheUZpbGVQYXRoID0gbm9ybWFsaXplKHJlbGF0aXZlKGJhc2VQYXRoLCB0ZW1wbGF0ZUZpeC5vcmlnaW5hbFRlbXBsYXRlLmZpbGVQYXRoKSk7XG4gICAgICBmb3IgKGNvbnN0IG4gb2YgdGVtcGxhdGVGaXguZW1wdHlSb3V0ZXJsaW5rRXhwcmVzc2lvbnMpIHtcbiAgICAgICAgY29uc3Qge2xpbmUsIGNoYXJhY3Rlcn0gPVxuICAgICAgICAgICAgdGVtcGxhdGVGaXgub3JpZ2luYWxUZW1wbGF0ZS5nZXRDaGFyYWN0ZXJBbmRMaW5lT2ZQb3NpdGlvbihuLnNvdXJjZVNwYW4uc3RhcnQub2Zmc2V0KTtcbiAgICAgICAgY29sbGVjdGVkRml4ZXMucHVzaChgJHtkaXNwbGF5RmlsZVBhdGh9QCR7bGluZSArIDF9OiR7Y2hhcmFjdGVyICsgMX1gKTtcbiAgICAgIH1cbiAgICAgIHRyZWUuY29tbWl0VXBkYXRlKHVwZGF0ZXIpO1xuICAgIH1cbiAgfVxuXG4gIGlmIChjb2xsZWN0ZWRGaXhlcy5sZW5ndGggPiAwKSB7XG4gICAgbG9nZ2VyLmluZm8oJy0tLS0gUm91dGVyTGluayBlbXB0eSBhc3NpZ25tZW50IHNjaGVtYXRpYyAtLS0tJyk7XG4gICAgbG9nZ2VyLmluZm8oJ1RoZSBiZWhhdmlvciBvZiBlbXB0eS9gdW5kZWZpbmVkYCBpbnB1dHMgZm9yIGByb3V0ZXJMaW5rYCBoYXMgY2hhbmdlZCcpO1xuICAgIGxvZ2dlci5pbmZvKCdmcm9tIGxpbmtpbmcgdG8gdGhlIGN1cnJlbnQgcGFnZSB0byBpbnN0ZWFkIGNvbXBsZXRlbHkgZGlzYWJsZSB0aGUgbGluay4nKTtcbiAgICBsb2dnZXIuaW5mbyhgUmVhZCBtb3JlIGFib3V0IHRoaXMgY2hhbmdlIGhlcmU6ICR7UkVBRE1FX1VSTH1gKTtcbiAgICBsb2dnZXIuaW5mbygnJyk7XG4gICAgbG9nZ2VyLmluZm8oJ1RoZSBmb2xsb3dpbmcgZW1wdHkgYHJvdXRlckxpbmtgIGlucHV0cyB3ZXJlIGZvdW5kIGFuZCBmaXhlZDonKTtcbiAgICBjb2xsZWN0ZWRGaXhlcy5mb3JFYWNoKGZpeCA9PiBsb2dnZXIud2Fybihg4q6RICAgJHtmaXh9YCkpO1xuICB9XG59XG5cbi8qKlxuICogUmV0dXJucyBmaXhlcyBmb3Igbm9kZXMgaW4gdGVtcGxhdGVzIHdoaWNoIGNvbnRhaW4gZW1wdHkgcm91dGVyTGluayBhc3NpZ25tZW50cywgZ3JvdXBlZCBieSBmaWxlLlxuICovXG5mdW5jdGlvbiBnZXRGaXhlc0J5RmlsZSh0ZW1wbGF0ZXM6IFJlc29sdmVkVGVtcGxhdGVbXSk6IE1hcDxzdHJpbmcsIEZpeGVkVGVtcGxhdGVbXT4ge1xuICBjb25zdCBmaXhlc0J5RmlsZSA9IG5ldyBNYXA8c3RyaW5nLCBGaXhlZFRlbXBsYXRlW10+KCk7XG4gIGZvciAoY29uc3QgdGVtcGxhdGUgb2YgdGVtcGxhdGVzKSB7XG4gICAgY29uc3QgdGVtcGxhdGVGaXggPSBmaXhFbXB0eVJvdXRlcmxpbmtzSW5UZW1wbGF0ZSh0ZW1wbGF0ZSk7XG4gICAgaWYgKHRlbXBsYXRlRml4ID09PSBudWxsKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBjb25zdCBmaWxlID0gdGVtcGxhdGUuZmlsZVBhdGg7XG4gICAgaWYgKGZpeGVzQnlGaWxlLmhhcyhmaWxlKSkge1xuICAgICAgaWYgKHRlbXBsYXRlLmlubGluZSkge1xuICAgICAgICAvLyBFeHRlcm5hbCB0ZW1wbGF0ZXMgbWF5IGJlIHJlZmVyZW5jZWQgbXVsdGlwbGUgdGltZXMgaW4gdGhlIHByb2plY3RcbiAgICAgICAgLy8gKGUuZy4gaWYgc2hhcmVkIGJldHdlZW4gY29tcG9uZW50cyksIGJ1dCB3ZSBvbmx5IHdhbnQgdG8gcmVjb3JkIHRoZW1cbiAgICAgICAgLy8gb25jZS4gT24gdGhlIG90aGVyIGhhbmQsIGFuIGlubGluZSB0ZW1wbGF0ZSByZXNpZGVzIGluIGEgVFMgZmlsZSB0aGF0XG4gICAgICAgIC8vIG1heSBjb250YWluIG11bHRpcGxlIGlubGluZSB0ZW1wbGF0ZXMuXG4gICAgICAgIGZpeGVzQnlGaWxlLmdldChmaWxlKSEucHVzaCh0ZW1wbGF0ZUZpeCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGZpeGVzQnlGaWxlLnNldChmaWxlLCBbdGVtcGxhdGVGaXhdKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZml4ZXNCeUZpbGU7XG59XG5cbmZ1bmN0aW9uIGZpeEVtcHR5Um91dGVybGlua3NJblRlbXBsYXRlKHRlbXBsYXRlOiBSZXNvbHZlZFRlbXBsYXRlKTogRml4ZWRUZW1wbGF0ZXxudWxsIHtcbiAgY29uc3QgZW1wdHlSb3V0ZXJsaW5rRXhwcmVzc2lvbnMgPSBhbmFseXplUmVzb2x2ZWRUZW1wbGF0ZSh0ZW1wbGF0ZSk7XG5cbiAgaWYgKCFlbXB0eVJvdXRlcmxpbmtFeHByZXNzaW9ucyB8fCBlbXB0eVJvdXRlcmxpbmtFeHByZXNzaW9ucy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IHJlcGxhY2VtZW50czogUmVwbGFjZW1lbnRbXSA9IFtdO1xuICBmb3IgKGNvbnN0IGV4cHIgb2YgZW1wdHlSb3V0ZXJsaW5rRXhwcmVzc2lvbnMpIHtcbiAgICBsZXQgcmVwbGFjZW1lbnQ6IFJlcGxhY2VtZW50O1xuICAgIGlmIChleHByLnZhbHVlU3Bhbikge1xuICAgICAgcmVwbGFjZW1lbnQgPSB7XG4gICAgICAgIHN0YXJ0OiB0ZW1wbGF0ZS5zdGFydCArIGV4cHIudmFsdWUuc291cmNlU3Bhbi5zdGFydCxcbiAgICAgICAgZW5kOiB0ZW1wbGF0ZS5zdGFydCArIGV4cHIudmFsdWUuc291cmNlU3Bhbi5lbmQsXG4gICAgICAgIG5ld0NvbnRlbnQ6ICdbXScsXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBzcGFuTGVuZ3RoID0gZXhwci5zb3VyY2VTcGFuLmVuZC5vZmZzZXQgLSBleHByLnNvdXJjZVNwYW4uc3RhcnQub2Zmc2V0O1xuICAgICAgLy8gYGV4cHIudmFsdWUuc291cmNlU3Bhbi5zdGFydGAgaXMgdGhlIHN0YXJ0IG9mIHRoZSB2ZXJ5IGJlZ2lubmluZyBvZiB0aGUgYmluZGluZyBzaW5jZSB0aGVyZVxuICAgICAgLy8gaXMgbm8gdmFsdWVcbiAgICAgIGNvbnN0IGVuZE9mRXhwciA9IHRlbXBsYXRlLnN0YXJ0ICsgZXhwci52YWx1ZS5zb3VyY2VTcGFuLnN0YXJ0ICsgc3Bhbkxlbmd0aDtcbiAgICAgIHJlcGxhY2VtZW50ID0ge1xuICAgICAgICBzdGFydDogZW5kT2ZFeHByLFxuICAgICAgICBlbmQ6IGVuZE9mRXhwcixcbiAgICAgICAgbmV3Q29udGVudDogJz1cIltdXCInLFxuICAgICAgfTtcbiAgICB9XG4gICAgcmVwbGFjZW1lbnRzLnB1c2gocmVwbGFjZW1lbnQpO1xuICB9XG5cbiAgcmV0dXJuIHtvcmlnaW5hbFRlbXBsYXRlOiB0ZW1wbGF0ZSwgcmVwbGFjZW1lbnRzLCBlbXB0eVJvdXRlcmxpbmtFeHByZXNzaW9uc307XG59XG4iXX0=
159
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NjaGVtYXRpY3MvbWlncmF0aW9ucy9yb3V0ZXItbGluay1lbXB0eS1leHByZXNzaW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBRUgsK0NBQXdEO0lBQ3hELDJEQUE2RjtJQUU3RiwrQkFBOEI7SUFFOUIsZ0dBQStGO0lBQy9GLGtHQUEyRTtJQUMzRSwyRkFBNEY7SUFFNUYsd0hBQTJEO0lBSTNELE1BQU0sVUFBVSxHQUNaLDJIQUEySCxDQUFDO0lBYWhJLGlFQUFpRTtJQUNqRTtRQUNFLE9BQU8sQ0FBTyxJQUFVLEVBQUUsT0FBeUIsRUFBRSxFQUFFO1lBQ3JELE1BQU0sRUFBQyxVQUFVLEVBQUUsU0FBUyxFQUFDLEdBQUcsTUFBTSxJQUFBLGdEQUF1QixFQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3BFLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUUvQixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUU7Z0JBQzNDLE1BQU0sSUFBSSxnQ0FBbUIsQ0FDekIsaUZBQWlGLENBQUMsQ0FBQzthQUN4RjtZQUVELEtBQUssTUFBTSxZQUFZLElBQUksQ0FBQyxHQUFHLFVBQVUsRUFBRSxHQUFHLFNBQVMsQ0FBQyxFQUFFO2dCQUN4RCxxQ0FBcUMsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDckY7UUFDSCxDQUFDLENBQUEsQ0FBQztJQUNKLENBQUM7SUFkRCw0QkFjQztJQUVEOzs7T0FHRztJQUNILFNBQVMscUNBQXFDLENBQzFDLElBQVUsRUFBRSxZQUFvQixFQUFFLFFBQWdCLEVBQUUsTUFBYztRQUNw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Q0FBQztnQkFDNUUsV0FBVyxHQUFHO29CQUNaLEtBQUssRUFBRSxTQUFTO29CQUNoQixHQUFHLEVBQUUsU0FBUztvQkFDZCxVQUFVLEVBQUUsT0FBTztpQkFDcEIsQ0FBQzthQUNIO1lBQ0QsWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUNoQztRQUVELE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLDBCQUEwQixFQUFDLENBQUM7SUFDaEYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge2xvZ2dpbmcsIG5vcm1hbGl6ZX0gZnJvbSAnQGFuZ3VsYXItZGV2a2l0L2NvcmUnO1xuaW1wb3J0IHtSdWxlLCBTY2hlbWF0aWNDb250ZXh0LCBTY2hlbWF0aWNzRXhjZXB0aW9uLCBUcmVlfSBmcm9tICdAYW5ndWxhci1kZXZraXQvc2NoZW1hdGljcyc7XG5pbXBvcnQge0VtcHR5RXhwciwgVG1wbEFzdEJvdW5kQXR0cmlidXRlfSBmcm9tICdAYW5ndWxhci9jb21waWxlcic7XG5pbXBvcnQge3JlbGF0aXZlfSBmcm9tICdwYXRoJztcblxuaW1wb3J0IHtOZ0NvbXBvbmVudFRlbXBsYXRlVmlzaXRvciwgUmVzb2x2ZWRUZW1wbGF0ZX0gZnJvbSAnLi4vLi4vdXRpbHMvbmdfY29tcG9uZW50X3RlbXBsYXRlJztcbmltcG9ydCB7Z2V0UHJvamVjdFRzQ29uZmlnUGF0aHN9IGZyb20gJy4uLy4uL3V0aWxzL3Byb2plY3RfdHNjb25maWdfcGF0aHMnO1xuaW1wb3J0IHtjYW5NaWdyYXRlRmlsZSwgY3JlYXRlTWlncmF0aW9uUHJvZ3JhbX0gZnJvbSAnLi4vLi4vdXRpbHMvdHlwZXNjcmlwdC9jb21waWxlcl9ob3N0JztcblxuaW1wb3J0IHthbmFseXplUmVzb2x2ZWRUZW1wbGF0ZX0gZnJvbSAnLi9hbmFseXplX3RlbXBsYXRlJztcblxudHlwZSBMb2dnZXIgPSBsb2dnaW5nLkxvZ2dlckFwaTtcblxuY29uc3QgUkVBRE1FX1VSTCA9XG4gICAgJ2h0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvYmxvYi9tYXN0ZXIvcGFja2FnZXMvY29yZS9zY2hlbWF0aWNzL21pZ3JhdGlvbnMvcm91dGVyLWxpbmstZW1wdHktZXhwcmVzc2lvbi9SRUFETUUubWQnO1xuXG5pbnRlcmZhY2UgUmVwbGFjZW1lbnQge1xuICBzdGFydDogbnVtYmVyO1xuICBlbmQ6IG51bWJlcjtcbiAgbmV3Q29udGVudDogc3RyaW5nO1xufVxuaW50ZXJmYWNlIEZpeGVkVGVtcGxhdGUge1xuICBvcmlnaW5hbFRlbXBsYXRlOiBSZXNvbHZlZFRlbXBsYXRlO1xuICByZXBsYWNlbWVudHM6IFJlcGxhY2VtZW50W107XG4gIGVtcHR5Um91dGVybGlua0V4cHJlc3Npb25zOiBUbXBsQXN0Qm91bmRBdHRyaWJ1dGVbXTtcbn1cblxuLyoqIEVudHJ5IHBvaW50IGZvciB0aGUgUm91dGVyTGluayBlbXB0eSBleHByZXNzaW9uIG1pZ3JhdGlvbi4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uKCk6IFJ1bGUge1xuICByZXR1cm4gYXN5bmMgKHRyZWU6IFRyZWUsIGNvbnRleHQ6IFNjaGVtYXRpY0NvbnRleHQpID0+IHtcbiAgICBjb25zdCB7YnVpbGRQYXRocywgdGVzdFBhdGhzfSA9IGF3YWl0IGdldFByb2plY3RUc0NvbmZpZ1BhdGhzKHRyZWUpO1xuICAgIGNvbnN0IGJhc2VQYXRoID0gcHJvY2Vzcy5jd2QoKTtcblxuICAgIGlmICghYnVpbGRQYXRocy5sZW5ndGggJiYgIXRlc3RQYXRocy5sZW5ndGgpIHtcbiAgICAgIHRocm93IG5ldyBTY2hlbWF0aWNzRXhjZXB0aW9uKFxuICAgICAgICAgICdDb3VsZCBub3QgZmluZCBhbnkgdHNjb25maWcgZmlsZS4gQ2Fubm90IGNoZWNrIHRlbXBsYXRlcyBmb3IgZW1wdHkgcm91dGVyTGlua3MuJyk7XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCB0c2NvbmZpZ1BhdGggb2YgWy4uLmJ1aWxkUGF0aHMsIC4uLnRlc3RQYXRoc10pIHtcbiAgICAgIHJ1bkVtcHR5Um91dGVyTGlua0V4cHJlc3Npb25NaWdyYXRpb24odHJlZSwgdHNjb25maWdQYXRoLCBiYXNlUGF0aCwgY29udGV4dC5sb2dnZXIpO1xuICAgIH1cbiAgfTtcbn1cblxuLyoqXG4gKiBSdW5zIHRoZSByb3V0ZXJMaW5rIG1pZ3JhdGlvbiwgY2hhbmdpbmcgcm91dGVyTGluaz1cIlwiIHRvIHJvdXRlckxpbms9XCJbXVwiIGFuZCBub3RpZnlpbmcgZGV2ZWxvcGVyc1xuICogd2hpY2ggdGVtcGxhdGVzIHJlY2VpdmVkIHVwZGF0ZXMuXG4gKi9cbmZ1bmN0aW9uIHJ1bkVtcHR5Um91dGVyTGlua0V4cHJlc3Npb25NaWdyYXRpb24oXG4gICAgdHJlZTogVHJlZSwgdHNjb25maWdQYXRoOiBzdHJpbmcsIGJhc2VQYXRoOiBzdHJpbmcsIGxvZ2dlcjogTG9nZ2VyKSB7XG4gIGNvbnN0IHtwcm9ncmFtfSA9IGNyZWF0ZU1pZ3JhdGlvblByb2dyYW0odHJlZSwgdHNjb25maWdQYXRoLCBiYXNlUGF0aCk7XG4gIGNvbnN0IHR5cGVDaGVja2VyID0gcHJvZ3JhbS5nZXRUeXBlQ2hlY2tlcigpO1xuICBjb25zdCB0ZW1wbGF0ZVZpc2l0b3IgPSBuZXcgTmdDb21wb25lbnRUZW1wbGF0ZVZpc2l0b3IodHlwZUNoZWNrZXIpO1xuICBjb25zdCBzb3VyY2VGaWxlcyA9XG4gICAgICBwcm9ncmFtLmdldFNvdXJjZUZpbGVzKCkuZmlsdGVyKHNvdXJjZUZpbGUgPT4gY2FuTWlncmF0ZUZpbGUoYmFzZVBhdGgsIHNvdXJjZUZpbGUsIHByb2dyYW0pKTtcblxuICAvLyBBbmFseXplIHNvdXJjZSBmaWxlcyBieSBkZXRlY3RpbmcgSFRNTCB0ZW1wbGF0ZXMuXG4gIHNvdXJjZUZpbGVzLmZvckVhY2goc291cmNlRmlsZSA9PiB0ZW1wbGF0ZVZpc2l0b3IudmlzaXROb2RlKHNvdXJjZUZpbGUpKTtcblxuICBjb25zdCB7cmVzb2x2ZWRUZW1wbGF0ZXN9ID0gdGVtcGxhdGVWaXNpdG9yO1xuICBmaXhFbXB0eVJvdXRlcmxpbmtzKHJlc29sdmVkVGVtcGxhdGVzLCB0cmVlLCBsb2dnZXIpO1xufVxuXG5mdW5jdGlvbiBmaXhFbXB0eVJvdXRlcmxpbmtzKHJlc29sdmVkVGVtcGxhdGVzOiBSZXNvbHZlZFRlbXBsYXRlW10sIHRyZWU6IFRyZWUsIGxvZ2dlcjogTG9nZ2VyKSB7XG4gIGNvbnN0IGJhc2VQYXRoID0gcHJvY2Vzcy5jd2QoKTtcbiAgY29uc3QgY29sbGVjdGVkRml4ZXM6IHN0cmluZ1tdID0gW107XG4gIGNvbnN0IGZpeGVzQnlGaWxlID0gZ2V0Rml4ZXNCeUZpbGUocmVzb2x2ZWRUZW1wbGF0ZXMpO1xuXG4gIGZvciAoY29uc3QgW2Fic0ZpbGVQYXRoLCB0ZW1wbGF0ZUZpeGVzXSBvZiBmaXhlc0J5RmlsZSkge1xuICAgIGNvbnN0IHRyZWVGaWxlUGF0aCA9IHJlbGF0aXZlKG5vcm1hbGl6ZShiYXNlUGF0aCksIG5vcm1hbGl6ZShhYnNGaWxlUGF0aCkpO1xuICAgIGNvbnN0IG9yaWdpbmFsRmlsZUNvbnRlbnQgPSB0cmVlLnJlYWQodHJlZUZpbGVQYXRoKT8udG9TdHJpbmcoKTtcbiAgICBpZiAob3JpZ2luYWxGaWxlQ29udGVudCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBsb2dnZXIuZXJyb3IoXG4gICAgICAgICAgYEZhaWxlZCB0byByZWFkIGZpbGUgY29udGFpbmluZyB0ZW1wbGF0ZTsgY2Fubm90IGFwcGx5IGZpeGVzIGZvciBlbXB0eSByb3V0ZXJMaW5rIGV4cHJlc3Npb25zIGluICR7XG4gICAgICAgICAgICAgIHRyZWVGaWxlUGF0aH0uYCk7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBjb25zdCB1cGRhdGVyID0gdHJlZS5iZWdpblVwZGF0ZSh0cmVlRmlsZVBhdGgpO1xuICAgIGZvciAoY29uc3QgdGVtcGxhdGVGaXggb2YgdGVtcGxhdGVGaXhlcykge1xuICAgICAgLy8gU29ydCBiYWNrd2FyZHMgc28gc3RyaW5nIHJlcGxhY2VtZW50cyBkbyBub3QgY29uZmxpY3RcbiAgICAgIHRlbXBsYXRlRml4LnJlcGxhY2VtZW50cy5zb3J0KChhLCBiKSA9PiBiLnN0YXJ0IC0gYS5zdGFydCk7XG4gICAgICBmb3IgKGNvbnN0IHJlcGxhY2VtZW50IG9mIHRlbXBsYXRlRml4LnJlcGxhY2VtZW50cykge1xuICAgICAgICB1cGRhdGVyLnJlbW92ZShyZXBsYWNlbWVudC5zdGFydCwgcmVwbGFjZW1lbnQuZW5kIC0gcmVwbGFjZW1lbnQuc3RhcnQpO1xuICAgICAgICB1cGRhdGVyLmluc2VydExlZnQocmVwbGFjZW1lbnQuc3RhcnQsIHJlcGxhY2VtZW50Lm5ld0NvbnRlbnQpO1xuICAgICAgfVxuICAgICAgY29uc3QgZGlzcGxheUZpbGVQYXRoID0gbm9ybWFsaXplKHJlbGF0aXZlKGJhc2VQYXRoLCB0ZW1wbGF0ZUZpeC5vcmlnaW5hbFRlbXBsYXRlLmZpbGVQYXRoKSk7XG4gICAgICBmb3IgKGNvbnN0IG4gb2YgdGVtcGxhdGVGaXguZW1wdHlSb3V0ZXJsaW5rRXhwcmVzc2lvbnMpIHtcbiAgICAgICAgY29uc3Qge2xpbmUsIGNoYXJhY3Rlcn0gPVxuICAgICAgICAgICAgdGVtcGxhdGVGaXgub3JpZ2luYWxUZW1wbGF0ZS5nZXRDaGFyYWN0ZXJBbmRMaW5lT2ZQb3NpdGlvbihuLnNvdXJjZVNwYW4uc3RhcnQub2Zmc2V0KTtcbiAgICAgICAgY29sbGVjdGVkRml4ZXMucHVzaChgJHtkaXNwbGF5RmlsZVBhdGh9QCR7bGluZSArIDF9OiR7Y2hhcmFjdGVyICsgMX1gKTtcbiAgICAgIH1cbiAgICAgIHRyZWUuY29tbWl0VXBkYXRlKHVwZGF0ZXIpO1xuICAgIH1cbiAgfVxuXG4gIGlmIChjb2xsZWN0ZWRGaXhlcy5sZW5ndGggPiAwKSB7XG4gICAgbG9nZ2VyLmluZm8oJy0tLS0gUm91dGVyTGluayBlbXB0eSBhc3NpZ25tZW50IHNjaGVtYXRpYyAtLS0tJyk7XG4gICAgbG9nZ2VyLmluZm8oJ1RoZSBiZWhhdmlvciBvZiBlbXB0eS9gdW5kZWZpbmVkYCBpbnB1dHMgZm9yIGByb3V0ZXJMaW5rYCBoYXMgY2hhbmdlZCcpO1xuICAgIGxvZ2dlci5pbmZvKCdmcm9tIGxpbmtpbmcgdG8gdGhlIGN1cnJlbnQgcGFnZSB0byBpbnN0ZWFkIGNvbXBsZXRlbHkgZGlzYWJsZSB0aGUgbGluay4nKTtcbiAgICBsb2dnZXIuaW5mbyhgUmVhZCBtb3JlIGFib3V0IHRoaXMgY2hhbmdlIGhlcmU6ICR7UkVBRE1FX1VSTH1gKTtcbiAgICBsb2dnZXIuaW5mbygnJyk7XG4gICAgbG9nZ2VyLmluZm8oJ1RoZSBmb2xsb3dpbmcgZW1wdHkgYHJvdXRlckxpbmtgIGlucHV0cyB3ZXJlIGZvdW5kIGFuZCBmaXhlZDonKTtcbiAgICBjb2xsZWN0ZWRGaXhlcy5mb3JFYWNoKGZpeCA9PiBsb2dnZXIud2Fybihg4q6RICAgJHtmaXh9YCkpO1xuICB9XG59XG5cbi8qKlxuICogUmV0dXJucyBmaXhlcyBmb3Igbm9kZXMgaW4gdGVtcGxhdGVzIHdoaWNoIGNvbnRhaW4gZW1wdHkgcm91dGVyTGluayBhc3NpZ25tZW50cywgZ3JvdXBlZCBieSBmaWxlLlxuICovXG5mdW5jdGlvbiBnZXRGaXhlc0J5RmlsZSh0ZW1wbGF0ZXM6IFJlc29sdmVkVGVtcGxhdGVbXSk6IE1hcDxzdHJpbmcsIEZpeGVkVGVtcGxhdGVbXT4ge1xuICBjb25zdCBmaXhlc0J5RmlsZSA9IG5ldyBNYXA8c3RyaW5nLCBGaXhlZFRlbXBsYXRlW10+KCk7XG4gIGZvciAoY29uc3QgdGVtcGxhdGUgb2YgdGVtcGxhdGVzKSB7XG4gICAgY29uc3QgdGVtcGxhdGVGaXggPSBmaXhFbXB0eVJvdXRlcmxpbmtzSW5UZW1wbGF0ZSh0ZW1wbGF0ZSk7XG4gICAgaWYgKHRlbXBsYXRlRml4ID09PSBudWxsKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBjb25zdCBmaWxlID0gdGVtcGxhdGUuZmlsZVBhdGg7XG4gICAgaWYgKGZpeGVzQnlGaWxlLmhhcyhmaWxlKSkge1xuICAgICAgaWYgKHRlbXBsYXRlLmlubGluZSkge1xuICAgICAgICAvLyBFeHRlcm5hbCB0ZW1wbGF0ZXMgbWF5IGJlIHJlZmVyZW5jZWQgbXVsdGlwbGUgdGltZXMgaW4gdGhlIHByb2plY3RcbiAgICAgICAgLy8gKGUuZy4gaWYgc2hhcmVkIGJldHdlZW4gY29tcG9uZW50cyksIGJ1dCB3ZSBvbmx5IHdhbnQgdG8gcmVjb3JkIHRoZW1cbiAgICAgICAgLy8gb25jZS4gT24gdGhlIG90aGVyIGhhbmQsIGFuIGlubGluZSB0ZW1wbGF0ZSByZXNpZGVzIGluIGEgVFMgZmlsZSB0aGF0XG4gICAgICAgIC8vIG1heSBjb250YWluIG11bHRpcGxlIGlubGluZSB0ZW1wbGF0ZXMuXG4gICAgICAgIGZpeGVzQnlGaWxlLmdldChmaWxlKSEucHVzaCh0ZW1wbGF0ZUZpeCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGZpeGVzQnlGaWxlLnNldChmaWxlLCBbdGVtcGxhdGVGaXhdKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZml4ZXNCeUZpbGU7XG59XG5cbmZ1bmN0aW9uIGZpeEVtcHR5Um91dGVybGlua3NJblRlbXBsYXRlKHRlbXBsYXRlOiBSZXNvbHZlZFRlbXBsYXRlKTogRml4ZWRUZW1wbGF0ZXxudWxsIHtcbiAgY29uc3QgZW1wdHlSb3V0ZXJsaW5rRXhwcmVzc2lvbnMgPSBhbmFseXplUmVzb2x2ZWRUZW1wbGF0ZSh0ZW1wbGF0ZSk7XG5cbiAgaWYgKCFlbXB0eVJvdXRlcmxpbmtFeHByZXNzaW9ucyB8fCBlbXB0eVJvdXRlcmxpbmtFeHByZXNzaW9ucy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IHJlcGxhY2VtZW50czogUmVwbGFjZW1lbnRbXSA9IFtdO1xuICBmb3IgKGNvbnN0IGV4cHIgb2YgZW1wdHlSb3V0ZXJsaW5rRXhwcmVzc2lvbnMpIHtcbiAgICBsZXQgcmVwbGFjZW1lbnQ6IFJlcGxhY2VtZW50O1xuICAgIGlmIChleHByLnZhbHVlU3Bhbikge1xuICAgICAgcmVwbGFjZW1lbnQgPSB7XG4gICAgICAgIHN0YXJ0OiB0ZW1wbGF0ZS5zdGFydCArIGV4cHIudmFsdWUuc291cmNlU3Bhbi5zdGFydCxcbiAgICAgICAgZW5kOiB0ZW1wbGF0ZS5zdGFydCArIGV4cHIudmFsdWUuc291cmNlU3Bhbi5lbmQsXG4gICAgICAgIG5ld0NvbnRlbnQ6ICdbXScsXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBzcGFuTGVuZ3RoID0gZXhwci5zb3VyY2VTcGFuLmVuZC5vZmZzZXQgLSBleHByLnNvdXJjZVNwYW4uc3RhcnQub2Zmc2V0O1xuICAgICAgLy8gYGV4cHIudmFsdWUuc291cmNlU3Bhbi5zdGFydGAgaXMgdGhlIHN0YXJ0IG9mIHRoZSB2ZXJ5IGJlZ2lubmluZyBvZiB0aGUgYmluZGluZyBzaW5jZSB0aGVyZVxuICAgICAgLy8gaXMgbm8gdmFsdWVcbiAgICAgIGNvbnN0IGVuZE9mRXhwciA9IHRlbXBsYXRlLnN0YXJ0ICsgZXhwci52YWx1ZS5zb3VyY2VTcGFuLnN0YXJ0ICsgc3Bhbkxlbmd0aDtcbiAgICAgIHJlcGxhY2VtZW50ID0ge1xuICAgICAgICBzdGFydDogZW5kT2ZFeHByLFxuICAgICAgICBlbmQ6IGVuZE9mRXhwcixcbiAgICAgICAgbmV3Q29udGVudDogJz1cIltdXCInLFxuICAgICAgfTtcbiAgICB9XG4gICAgcmVwbGFjZW1lbnRzLnB1c2gocmVwbGFjZW1lbnQpO1xuICB9XG5cbiAgcmV0dXJuIHtvcmlnaW5hbFRlbXBsYXRlOiB0ZW1wbGF0ZSwgcmVwbGFjZW1lbnRzLCBlbXB0eVJvdXRlcmxpbmtFeHByZXNzaW9uc307XG59XG4iXX0=
@@ -37,7 +37,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
37
37
  */
38
38
  function default_1() {
39
39
  return (tree) => __awaiter(this, void 0, void 0, function* () {
40
- const { buildPaths, testPaths } = yield project_tsconfig_paths_1.getProjectTsConfigPaths(tree);
40
+ const { buildPaths, testPaths } = yield (0, project_tsconfig_paths_1.getProjectTsConfigPaths)(tree);
41
41
  const basePath = process.cwd();
42
42
  const allPaths = [...buildPaths, ...testPaths];
43
43
  if (!allPaths.length) {
@@ -51,15 +51,15 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
51
51
  }
52
52
  exports.default = default_1;
53
53
  function runPreserveQueryParamsMigration(tree, tsconfigPath, basePath) {
54
- const { program } = compiler_host_1.createMigrationProgram(tree, tsconfigPath, basePath);
54
+ const { program } = (0, compiler_host_1.createMigrationProgram)(tree, tsconfigPath, basePath);
55
55
  const typeChecker = program.getTypeChecker();
56
56
  const printer = ts.createPrinter();
57
- const sourceFiles = program.getSourceFiles().filter(sourceFile => compiler_host_1.canMigrateFile(basePath, sourceFile, program));
57
+ const sourceFiles = program.getSourceFiles().filter(sourceFile => (0, compiler_host_1.canMigrateFile)(basePath, sourceFile, program));
58
58
  sourceFiles.forEach(sourceFile => {
59
- const literalsToMigrate = util_1.findLiteralsToMigrate(sourceFile, typeChecker);
60
- const update = tree.beginUpdate(path_1.relative(basePath, sourceFile.fileName));
59
+ const literalsToMigrate = (0, util_1.findLiteralsToMigrate)(sourceFile, typeChecker);
60
+ const update = tree.beginUpdate((0, path_1.relative)(basePath, sourceFile.fileName));
61
61
  literalsToMigrate.forEach((instances, methodName) => instances.forEach(instance => {
62
- const migratedNode = util_1.migrateLiteral(methodName, instance);
62
+ const migratedNode = (0, util_1.migrateLiteral)(methodName, instance);
63
63
  if (migratedNode !== instance) {
64
64
  update.remove(instance.getStart(), instance.getWidth());
65
65
  update.insertRight(instance.getStart(), printer.printNode(ts.EmitHint.Unspecified, migratedNode, sourceFile));
@@ -69,4 +69,4 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
69
69
  });
70
70
  }
71
71
  });
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NjaGVtYXRpY3MvbWlncmF0aW9ucy9yb3V0ZXItcHJlc2VydmUtcXVlcnktcGFyYW1zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBRUgsMkRBQTJFO0lBQzNFLCtCQUE4QjtJQUM5QixpQ0FBaUM7SUFFakMsa0dBQTJFO0lBQzNFLDJGQUE0RjtJQUM1RixnR0FBNkQ7SUFHN0Q7OztPQUdHO0lBQ0g7UUFDRSxPQUFPLENBQU8sSUFBVSxFQUFFLEVBQUU7WUFDMUIsTUFBTSxFQUFDLFVBQVUsRUFBRSxTQUFTLEVBQUMsR0FBRyxNQUFNLGdEQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3BFLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUMvQixNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQUcsVUFBVSxFQUFFLEdBQUcsU0FBUyxDQUFDLENBQUM7WUFFL0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUU7Z0JBQ3BCLE1BQU0sSUFBSSxnQ0FBbUIsQ0FDekIsbURBQW1EO29CQUNuRCw4Q0FBOEMsQ0FBQyxDQUFDO2FBQ3JEO1lBRUQsS0FBSyxNQUFNLFlBQVksSUFBSSxRQUFRLEVBQUU7Z0JBQ25DLCtCQUErQixDQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsUUFBUSxDQUFDLENBQUM7YUFDL0Q7UUFDSCxDQUFDLENBQUEsQ0FBQztJQUNKLENBQUM7SUFoQkQsNEJBZ0JDO0lBRUQsU0FBUywrQkFBK0IsQ0FBQyxJQUFVLEVBQUUsWUFBb0IsRUFBRSxRQUFnQjtRQUN6RixNQUFNLEVBQUMsT0FBTyxFQUFDLEdBQUcsc0NBQXNCLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxRQUFRLENBQUMsQ0FBQztRQUN2RSxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDN0MsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ25DLE1BQU0sV0FBVyxHQUNiLE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyw4QkFBYyxDQUFDLFFBQVEsRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUVqRyxXQUFXLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQy9CLE1BQU0saUJBQWlCLEdBQUcsNEJBQXFCLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1lBQ3pFLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBUSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztZQUV6RSxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFO2dCQUNoRixNQUFNLFlBQVksR0FBRyxxQkFBYyxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztnQkFFMUQsSUFBSSxZQUFZLEtBQUssUUFBUSxFQUFFO29CQUM3QixNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsRUFBRSxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztvQkFDeEQsTUFBTSxDQUFDLFdBQVcsQ0FDZCxRQUFRLENBQUMsUUFBUSxFQUFFLEVBQ25CLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsWUFBWSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7aUJBQzNFO1lBQ0gsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUVKLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7UnVsZSwgU2NoZW1hdGljc0V4Y2VwdGlvbiwgVHJlZX0gZnJvbSAnQGFuZ3VsYXItZGV2a2l0L3NjaGVtYXRpY3MnO1xuaW1wb3J0IHtyZWxhdGl2ZX0gZnJvbSAncGF0aCc7XG5pbXBvcnQgKiBhcyB0cyBmcm9tICd0eXBlc2NyaXB0JztcblxuaW1wb3J0IHtnZXRQcm9qZWN0VHNDb25maWdQYXRoc30gZnJvbSAnLi4vLi4vdXRpbHMvcHJvamVjdF90c2NvbmZpZ19wYXRocyc7XG5pbXBvcnQge2Nhbk1pZ3JhdGVGaWxlLCBjcmVhdGVNaWdyYXRpb25Qcm9ncmFtfSBmcm9tICcuLi8uLi91dGlscy90eXBlc2NyaXB0L2NvbXBpbGVyX2hvc3QnO1xuaW1wb3J0IHtmaW5kTGl0ZXJhbHNUb01pZ3JhdGUsIG1pZ3JhdGVMaXRlcmFsfSBmcm9tICcuL3V0aWwnO1xuXG5cbi8qKlxuICogTWlncmF0aW9uIHRoYXQgc3dpdGNoZXMgYE5hdmlnYXRpb25FeHRyYXMucHJlc2VydmVRdWVyeVBhcmFtc2AgdG8gc2V0IHRoZSBjb3Jlc3BvbmRpbmcgdmFsdWUgdmlhXG4gKiBgTmF2aWdhdGlvbkV4dHJhc2AncyBgcXVlcnlQYXJhbXNIYW5kbGluZ2AgYXR0cmlidXRlLlxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbigpOiBSdWxlIHtcbiAgcmV0dXJuIGFzeW5jICh0cmVlOiBUcmVlKSA9PiB7XG4gICAgY29uc3Qge2J1aWxkUGF0aHMsIHRlc3RQYXRoc30gPSBhd2FpdCBnZXRQcm9qZWN0VHNDb25maWdQYXRocyh0cmVlKTtcbiAgICBjb25zdCBiYXNlUGF0aCA9IHByb2Nlc3MuY3dkKCk7XG4gICAgY29uc3QgYWxsUGF0aHMgPSBbLi4uYnVpbGRQYXRocywgLi4udGVzdFBhdGhzXTtcblxuICAgIGlmICghYWxsUGF0aHMubGVuZ3RoKSB7XG4gICAgICB0aHJvdyBuZXcgU2NoZW1hdGljc0V4Y2VwdGlvbihcbiAgICAgICAgICAnQ291bGQgbm90IGZpbmQgYW55IHRzY29uZmlnIGZpbGUuIENhbm5vdCBtaWdyYXRlICcgK1xuICAgICAgICAgICdOYXZpZ2F0aW9uRXh0cmFzLnByZXNlcnZlUXVlcnlQYXJhbXMgdXNhZ2VzLicpO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgdHNjb25maWdQYXRoIG9mIGFsbFBhdGhzKSB7XG4gICAgICBydW5QcmVzZXJ2ZVF1ZXJ5UGFyYW1zTWlncmF0aW9uKHRyZWUsIHRzY29uZmlnUGF0aCwgYmFzZVBhdGgpO1xuICAgIH1cbiAgfTtcbn1cblxuZnVuY3Rpb24gcnVuUHJlc2VydmVRdWVyeVBhcmFtc01pZ3JhdGlvbih0cmVlOiBUcmVlLCB0c2NvbmZpZ1BhdGg6IHN0cmluZywgYmFzZVBhdGg6IHN0cmluZykge1xuICBjb25zdCB7cHJvZ3JhbX0gPSBjcmVhdGVNaWdyYXRpb25Qcm9ncmFtKHRyZWUsIHRzY29uZmlnUGF0aCwgYmFzZVBhdGgpO1xuICBjb25zdCB0eXBlQ2hlY2tlciA9IHByb2dyYW0uZ2V0VHlwZUNoZWNrZXIoKTtcbiAgY29uc3QgcHJpbnRlciA9IHRzLmNyZWF0ZVByaW50ZXIoKTtcbiAgY29uc3Qgc291cmNlRmlsZXMgPVxuICAgICAgcHJvZ3JhbS5nZXRTb3VyY2VGaWxlcygpLmZpbHRlcihzb3VyY2VGaWxlID0+IGNhbk1pZ3JhdGVGaWxlKGJhc2VQYXRoLCBzb3VyY2VGaWxlLCBwcm9ncmFtKSk7XG5cbiAgc291cmNlRmlsZXMuZm9yRWFjaChzb3VyY2VGaWxlID0+IHtcbiAgICBjb25zdCBsaXRlcmFsc1RvTWlncmF0ZSA9IGZpbmRMaXRlcmFsc1RvTWlncmF0ZShzb3VyY2VGaWxlLCB0eXBlQ2hlY2tlcik7XG4gICAgY29uc3QgdXBkYXRlID0gdHJlZS5iZWdpblVwZGF0ZShyZWxhdGl2ZShiYXNlUGF0aCwgc291cmNlRmlsZS5maWxlTmFtZSkpO1xuXG4gICAgbGl0ZXJhbHNUb01pZ3JhdGUuZm9yRWFjaCgoaW5zdGFuY2VzLCBtZXRob2ROYW1lKSA9PiBpbnN0YW5jZXMuZm9yRWFjaChpbnN0YW5jZSA9PiB7XG4gICAgICBjb25zdCBtaWdyYXRlZE5vZGUgPSBtaWdyYXRlTGl0ZXJhbChtZXRob2ROYW1lLCBpbnN0YW5jZSk7XG5cbiAgICAgIGlmIChtaWdyYXRlZE5vZGUgIT09IGluc3RhbmNlKSB7XG4gICAgICAgIHVwZGF0ZS5yZW1vdmUoaW5zdGFuY2UuZ2V0U3RhcnQoKSwgaW5zdGFuY2UuZ2V0V2lkdGgoKSk7XG4gICAgICAgIHVwZGF0ZS5pbnNlcnRSaWdodChcbiAgICAgICAgICAgIGluc3RhbmNlLmdldFN0YXJ0KCksXG4gICAgICAgICAgICBwcmludGVyLnByaW50Tm9kZSh0cy5FbWl0SGludC5VbnNwZWNpZmllZCwgbWlncmF0ZWROb2RlLCBzb3VyY2VGaWxlKSk7XG4gICAgICB9XG4gICAgfSkpO1xuXG4gICAgdHJlZS5jb21taXRVcGRhdGUodXBkYXRlKTtcbiAgfSk7XG59XG4iXX0=
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NjaGVtYXRpY3MvbWlncmF0aW9ucy9yb3V0ZXItcHJlc2VydmUtcXVlcnktcGFyYW1zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBRUgsMkRBQTJFO0lBQzNFLCtCQUE4QjtJQUM5QixpQ0FBaUM7SUFFakMsa0dBQTJFO0lBQzNFLDJGQUE0RjtJQUM1RixnR0FBNkQ7SUFHN0Q7OztPQUdHO0lBQ0g7UUFDRSxPQUFPLENBQU8sSUFBVSxFQUFFLEVBQUU7WUFDMUIsTUFBTSxFQUFDLFVBQVUsRUFBRSxTQUFTLEVBQUMsR0FBRyxNQUFNLElBQUEsZ0RBQXVCLEVBQUMsSUFBSSxDQUFDLENBQUM7WUFDcEUsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQy9CLE1BQU0sUUFBUSxHQUFHLENBQUMsR0FBRyxVQUFVLEVBQUUsR0FBRyxTQUFTLENBQUMsQ0FBQztZQUUvQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRTtnQkFDcEIsTUFBTSxJQUFJLGdDQUFtQixDQUN6QixtREFBbUQ7b0JBQ25ELDhDQUE4QyxDQUFDLENBQUM7YUFDckQ7WUFFRCxLQUFLLE1BQU0sWUFBWSxJQUFJLFFBQVEsRUFBRTtnQkFDbkMsK0JBQStCLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxRQUFRLENBQUMsQ0FBQzthQUMvRDtRQUNILENBQUMsQ0FBQSxDQUFDO0lBQ0osQ0FBQztJQWhCRCw0QkFnQkM7SUFFRCxTQUFTLCtCQUErQixDQUFDLElBQVUsRUFBRSxZQUFvQixFQUFFLFFBQWdCO1FBQ3pGLE1BQU0sRUFBQyxPQUFPLEVBQUMsR0FBRyxJQUFBLHNDQUFzQixFQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDdkUsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQzdDLE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNuQyxNQUFNLFdBQVcsR0FDYixPQUFPLENBQUMsY0FBYyxFQUFFLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsSUFBQSw4QkFBYyxFQUFDLFFBQVEsRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUVqRyxXQUFXLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQy9CLE1BQU0saUJBQWlCLEdBQUcsSUFBQSw0QkFBcUIsRUFBQyxVQUFVLEVBQUUsV0FBVyxDQUFDLENBQUM7WUFDekUsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFBLGVBQVEsRUFBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFFekUsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRTtnQkFDaEYsTUFBTSxZQUFZLEdBQUcsSUFBQSxxQkFBYyxFQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztnQkFFMUQsSUFBSSxZQUFZLEtBQUssUUFBUSxFQUFFO29CQUM3QixNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsRUFBRSxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztvQkFDeEQsTUFBTSxDQUFDLFdBQVcsQ0FDZCxRQUFRLENBQUMsUUFBUSxFQUFFLEVBQ25CLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsWUFBWSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7aUJBQzNFO1lBQ0gsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUVKLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7UnVsZSwgU2NoZW1hdGljc0V4Y2VwdGlvbiwgVHJlZX0gZnJvbSAnQGFuZ3VsYXItZGV2a2l0L3NjaGVtYXRpY3MnO1xuaW1wb3J0IHtyZWxhdGl2ZX0gZnJvbSAncGF0aCc7XG5pbXBvcnQgKiBhcyB0cyBmcm9tICd0eXBlc2NyaXB0JztcblxuaW1wb3J0IHtnZXRQcm9qZWN0VHNDb25maWdQYXRoc30gZnJvbSAnLi4vLi4vdXRpbHMvcHJvamVjdF90c2NvbmZpZ19wYXRocyc7XG5pbXBvcnQge2Nhbk1pZ3JhdGVGaWxlLCBjcmVhdGVNaWdyYXRpb25Qcm9ncmFtfSBmcm9tICcuLi8uLi91dGlscy90eXBlc2NyaXB0L2NvbXBpbGVyX2hvc3QnO1xuaW1wb3J0IHtmaW5kTGl0ZXJhbHNUb01pZ3JhdGUsIG1pZ3JhdGVMaXRlcmFsfSBmcm9tICcuL3V0aWwnO1xuXG5cbi8qKlxuICogTWlncmF0aW9uIHRoYXQgc3dpdGNoZXMgYE5hdmlnYXRpb25FeHRyYXMucHJlc2VydmVRdWVyeVBhcmFtc2AgdG8gc2V0IHRoZSBjb3Jlc3BvbmRpbmcgdmFsdWUgdmlhXG4gKiBgTmF2aWdhdGlvbkV4dHJhc2AncyBgcXVlcnlQYXJhbXNIYW5kbGluZ2AgYXR0cmlidXRlLlxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbigpOiBSdWxlIHtcbiAgcmV0dXJuIGFzeW5jICh0cmVlOiBUcmVlKSA9PiB7XG4gICAgY29uc3Qge2J1aWxkUGF0aHMsIHRlc3RQYXRoc30gPSBhd2FpdCBnZXRQcm9qZWN0VHNDb25maWdQYXRocyh0cmVlKTtcbiAgICBjb25zdCBiYXNlUGF0aCA9IHByb2Nlc3MuY3dkKCk7XG4gICAgY29uc3QgYWxsUGF0aHMgPSBbLi4uYnVpbGRQYXRocywgLi4udGVzdFBhdGhzXTtcblxuICAgIGlmICghYWxsUGF0aHMubGVuZ3RoKSB7XG4gICAgICB0aHJvdyBuZXcgU2NoZW1hdGljc0V4Y2VwdGlvbihcbiAgICAgICAgICAnQ291bGQgbm90IGZpbmQgYW55IHRzY29uZmlnIGZpbGUuIENhbm5vdCBtaWdyYXRlICcgK1xuICAgICAgICAgICdOYXZpZ2F0aW9uRXh0cmFzLnByZXNlcnZlUXVlcnlQYXJhbXMgdXNhZ2VzLicpO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgdHNjb25maWdQYXRoIG9mIGFsbFBhdGhzKSB7XG4gICAgICBydW5QcmVzZXJ2ZVF1ZXJ5UGFyYW1zTWlncmF0aW9uKHRyZWUsIHRzY29uZmlnUGF0aCwgYmFzZVBhdGgpO1xuICAgIH1cbiAgfTtcbn1cblxuZnVuY3Rpb24gcnVuUHJlc2VydmVRdWVyeVBhcmFtc01pZ3JhdGlvbih0cmVlOiBUcmVlLCB0c2NvbmZpZ1BhdGg6IHN0cmluZywgYmFzZVBhdGg6IHN0cmluZykge1xuICBjb25zdCB7cHJvZ3JhbX0gPSBjcmVhdGVNaWdyYXRpb25Qcm9ncmFtKHRyZWUsIHRzY29uZmlnUGF0aCwgYmFzZVBhdGgpO1xuICBjb25zdCB0eXBlQ2hlY2tlciA9IHByb2dyYW0uZ2V0VHlwZUNoZWNrZXIoKTtcbiAgY29uc3QgcHJpbnRlciA9IHRzLmNyZWF0ZVByaW50ZXIoKTtcbiAgY29uc3Qgc291cmNlRmlsZXMgPVxuICAgICAgcHJvZ3JhbS5nZXRTb3VyY2VGaWxlcygpLmZpbHRlcihzb3VyY2VGaWxlID0+IGNhbk1pZ3JhdGVGaWxlKGJhc2VQYXRoLCBzb3VyY2VGaWxlLCBwcm9ncmFtKSk7XG5cbiAgc291cmNlRmlsZXMuZm9yRWFjaChzb3VyY2VGaWxlID0+IHtcbiAgICBjb25zdCBsaXRlcmFsc1RvTWlncmF0ZSA9IGZpbmRMaXRlcmFsc1RvTWlncmF0ZShzb3VyY2VGaWxlLCB0eXBlQ2hlY2tlcik7XG4gICAgY29uc3QgdXBkYXRlID0gdHJlZS5iZWdpblVwZGF0ZShyZWxhdGl2ZShiYXNlUGF0aCwgc291cmNlRmlsZS5maWxlTmFtZSkpO1xuXG4gICAgbGl0ZXJhbHNUb01pZ3JhdGUuZm9yRWFjaCgoaW5zdGFuY2VzLCBtZXRob2ROYW1lKSA9PiBpbnN0YW5jZXMuZm9yRWFjaChpbnN0YW5jZSA9PiB7XG4gICAgICBjb25zdCBtaWdyYXRlZE5vZGUgPSBtaWdyYXRlTGl0ZXJhbChtZXRob2ROYW1lLCBpbnN0YW5jZSk7XG5cbiAgICAgIGlmIChtaWdyYXRlZE5vZGUgIT09IGluc3RhbmNlKSB7XG4gICAgICAgIHVwZGF0ZS5yZW1vdmUoaW5zdGFuY2UuZ2V0U3RhcnQoKSwgaW5zdGFuY2UuZ2V0V2lkdGgoKSk7XG4gICAgICAgIHVwZGF0ZS5pbnNlcnRSaWdodChcbiAgICAgICAgICAgIGluc3RhbmNlLmdldFN0YXJ0KCksXG4gICAgICAgICAgICBwcmludGVyLnByaW50Tm9kZSh0cy5FbWl0SGludC5VbnNwZWNpZmllZCwgbWlncmF0ZWROb2RlLCBzb3VyY2VGaWxlKSk7XG4gICAgICB9XG4gICAgfSkpO1xuXG4gICAgdHJlZS5jb21taXRVcGRhdGUodXBkYXRlKTtcbiAgfSk7XG59XG4iXX0=
@@ -61,7 +61,7 @@
61
61
  exports.migrateLiteral = migrateLiteral;
62
62
  function findLiteralsToMigrate(sourceFile, typeChecker) {
63
63
  const results = new Map(Array.from(methodConfig.keys(), key => [key, new Set()]));
64
- const routerImport = imports_1.getImportSpecifier(sourceFile, '@angular/router', 'Router');
64
+ const routerImport = (0, imports_1.getImportSpecifier)(sourceFile, '@angular/router', 'Router');
65
65
  const seenLiterals = new Map();
66
66
  if (routerImport) {
67
67
  sourceFile.forEachChild(function visitNode(node) {
@@ -72,7 +72,7 @@
72
72
  methodConfig.has(node.expression.name.text)) {
73
73
  // Check whether the type of the object on which the
74
74
  // function is called refers to the Router import.
75
- if (symbol_1.isReferenceToImport(typeChecker, node.expression.expression, routerImport)) {
75
+ if ((0, symbol_1.isReferenceToImport)(typeChecker, node.expression.expression, routerImport)) {
76
76
  const methodName = node.expression.name.text;
77
77
  const parameterDeclaration = (_a = typeChecker.getTypeAtLocation(node.arguments[1]).getSymbol()) === null || _a === void 0 ? void 0 : _a.valueDeclaration;
78
78
  // Find the source of the object literal.
@@ -100,4 +100,4 @@
100
100
  }
101
101
  exports.findLiteralsToMigrate = findLiteralsToMigrate;
102
102
  });
103
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc2NoZW1hdGljcy9taWdyYXRpb25zL3JvdXRlci1wcmVzZXJ2ZS1xdWVyeS1wYXJhbXMvdXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7Ozs7Ozs7Ozs7Ozs7SUFFSCxpQ0FBaUM7SUFFakMsK0VBQWtFO0lBQ2xFLDZFQUFrRTtJQUVsRTs7O09BR0c7SUFDSCxNQUFNLFlBQVksR0FBRyxJQUFJLEdBQUcsQ0FBUyxDQUFDLFVBQVUsRUFBRSxlQUFlLENBQUMsQ0FBQyxDQUFDO0lBRXBFLE1BQU0sc0JBQXNCLEdBQUcscUJBQXFCLENBQUM7SUFFckQsU0FBZ0IsY0FBYyxDQUMxQixVQUFrQixFQUFFLElBQWdDOztRQUN0RCxNQUFNLGtCQUFrQixHQUFHLFlBQVksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFeEQsSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQ3ZCLE1BQU0sS0FBSyxDQUFDLG9EQUFvRCxVQUFVLEdBQUcsQ0FBQyxDQUFDO1NBQ2hGO1FBR0QsTUFBTSxnQkFBZ0IsR0FBa0MsRUFBRSxDQUFDO1FBQzNELElBQUksaUJBQWlCLEdBQW1FLFNBQVMsQ0FBQztRQUVsRyxLQUFLLE1BQU0sUUFBUSxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDdEMsa0ZBQWtGO1lBQ2xGLG9FQUFvRTtZQUNwRSxJQUFJLENBQUMsRUFBRSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDakYsQ0FBQyxFQUFFLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO29CQUMzRSxFQUFFLENBQUMsWUFBWSxDQUFD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QyxFQUFFO2dDQUMzQyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBRSxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO2dDQUNuRCxZQUFZLENBQUMsR0FBRyxDQUFDLG9CQUFvQixFQUFFLFVBQVUsQ0FBQyxDQUFDO2dDQUNuRCxnRkFBZ0Y7Z0NBQ2hGLGtGQUFrRjtnQ0FDbEYscUZBQXFGO2dDQUNyRix1REFBdUQ7NkJBQ3hEO2lDQUFNLElBQUksWUFBWSxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLFVBQVUsRUFBRTtnQ0FDaEUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDOzZCQUNwRTt5QkFDRjtxQkFDRjtpQkFDRjtxQkFBTTtvQkFDTCxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2lCQUM5QjtZQUNILENBQUMsQ0FBQyxDQUFDO1NBQ0o7UUFFRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBeENELHNEQXdDQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQgKiBhcyB0cyBmcm9tICd0eXBlc2NyaXB0JztcblxuaW1wb3J0IHtnZXRJbXBvcnRTcGVjaWZpZXJ9IGZyb20gJy4uLy4uL3V0aWxzL3R5cGVzY3JpcHQvaW1wb3J0cyc7XG5pbXBvcnQge2lzUmVmZXJlbmNlVG9JbXBvcnR9IGZyb20gJy4uLy4uL3V0aWxzL3R5cGVzY3JpcHQvc3ltYm9sJztcblxuLyoqXG4gKiBDb25maWd1cmVzIHRoZSBtZXRob2RzIHRoYXQgdGhlIG1pZ3JhdGlvbiBzaG91bGQgYmUgbG9va2luZyBmb3JcbiAqIGFuZCB0aGUgcHJvcGVydGllcyBmcm9tIGBOYXZpZ2F0aW9uRXh0cmFzYCB0aGF0IHNob3VsZCBiZSBwcmVzZXJ2ZWQuXG4gKi9cbmNvbnN0IG1ldGhvZENvbmZpZyA9IG5ldyBTZXQ8c3RyaW5nPihbJ25hdmlnYXRlJywgJ2NyZWF0ZVVybFRyZWUnXSk7XG5cbmNvbnN0IHByZXNlcnZlUXVlcnlQYXJhbXNLZXkgPSAncHJlc2VydmVRdWVyeVBhcmFtcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBtaWdyYXRlTGl0ZXJhbChcbiAgICBtZXRob2ROYW1lOiBzdHJpbmcsIG5vZGU6IHRzLk9iamVjdExpdGVyYWxFeHByZXNzaW9uKTogdHMuT2JqZWN0TGl0ZXJhbEV4cHJlc3Npb24ge1xuICBjb25zdCBpc01pZ3JhdGFibGVNZXRob2QgPSBtZXRob2RDb25maWcuaGFzKG1ldGhvZE5hbWUpO1xuXG4gIGlmICghaXNNaWdyYXRhYmxlTWV0aG9kKSB7XG4gICAgdGhyb3cgRXJyb3IoYEF0dGVtcHRpbmcgdG8gbWlncmF0ZSB1bmNvbmZpZ3VyZWQgbWV0aG9kIGNhbGxlZCAke21ldGhvZE5hbWV9LmApO1xuICB9XG5cblxuICBjb25zdCBwcm9wZXJ0aWVzVG9LZWVwOiB0cy5PYmplY3RMaXRlcmFsRWxlbWVudExpa2VbXSA9IFtdO1xuICBsZXQgcHJvcGVydHlUb01pZ3JhdGU6IHRzLlByb3BlcnR5QXNzaWdubWVudHx0cy5TaG9ydGhhbmRQcm9wZXJ0eUFzc2lnbm1lbnR8dW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuXG4gIGZvciAoY29uc3QgcHJvcGVydHkgb2Ygbm9kZS5wcm9wZXJ0aWVzKSB7XG4gICAgLy8gT25seSBsb29rIGZvciByZWd1bGFyIGFuZCBzaG9ydGhhbmQgcHJvcGVydHkgYXNzaWdubWVudHMgc2luY2UgcmVzb2x2aW5nIHRoaW5nc1xuICAgIC8vIGxpa2Ugc3ByZWFkIG9wZXJhdG9ycyBiZWNvbWVzIHRvbyBjb21wbGljYXRlZCBmb3IgdGhpcyBtaWdyYXRpb24uXG4gICAgaWYgKCh0cy5pc1Byb3BlcnR5QXNzaWdubWVudChwcm9wZXJ0eSkgfHwgdHMuaXNTaG9ydGhhbmRQcm9wZXJ0eUFzc2lnbm1lbnQocHJvcGVydHkpKSAmJlxuICAgICAgICAodHMuaXNTdHJpbmdMaXRlcmFsTGlrZShwcm9wZXJ0eS5uYW1lKSB8fCB0cy5pc051bWVyaWNMaXRlcmFsKHByb3BlcnR5Lm5hbWUpIHx8XG4gICAgICAgICB0cy5pc0lkZW50aWZpZXIocHJvcGVydHkubmFtZSkpICYmXG4gICAgICAgIChwcm9wZXJ0eS5uYW1lLnRleHQgPT09IHByZXNlcnZlUXVlcnlQYXJhbXNLZXkpKSB7XG4gICAgICBwcm9wZXJ0eVRvTWlncmF0ZSA9IHByb3BlcnR5O1xuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIHByb3BlcnRpZXNUb0tlZXAucHVzaChwcm9wZXJ0eSk7XG4gIH1cblxuICAvLyBEb24ndCBtb2RpZnkgdGhlIG5vZGUgaWYgdGhlcmUncyBub3RoaW5nIHRvIG1pZ3JhdGUuXG4gIGlmIChwcm9wZXJ0eVRvTWlncmF0ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIG5vZGU7XG4gIH1cblxuICBpZiAoKHRzLmlzU2hvcnRoYW5kUHJvcGVydHlBc3NpZ25tZW50KHByb3BlcnR5VG9NaWdyYXRlKSAmJlxuICAgICAgIHByb3BlcnR5VG9NaWdyYXRlLm9iamVjdEFzc2lnbm1lbnRJbml0aWFsaXplcj8ua2luZCA9PT0gdHMuU3ludGF4S2luZC5UcnVlS2V5d29yZCkgfHxcbiAgICAgICh0cy5pc1Byb3BlcnR5QXNzaWdubWVudChwcm9wZXJ0eVRvTWlncmF0ZSkgJiZcbiAgICAgICBwcm9wZXJ0eVRvTWlncmF0ZS5pbml0aWFsaXplci5raW5kID09PSB0cy5TeW50YXhLaW5kLlRydWVLZXl3b3JkKSkge1xuICAgIHJldHVybiB0cy51cGRhdGVPYmplY3RMaXRlcmFsKFxuICAgICAgICBub2RlLFxuICAgICAgICBwcm9wZXJ0aWVzVG9LZWVwLmNvbmNhdChcbiAgICAgICAgICAgIHRzLmNyZWF0ZVByb3BlcnR5QXNzaWdubWVudCgncXVlcnlQYXJhbXNIYW5kbGluZycsIHRzLmNyZWF0ZUlkZW50aWZpZXIoYCdwcmVzZXJ2ZSdgKSkpKTtcbiAgfVxuXG4gIHJldHVybiB0cy51cGRhdGVPYmplY3RMaXRlcmFsKG5vZGUsIHByb3BlcnRpZXNUb0tlZXApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmluZExpdGVyYWxzVG9NaWdyYXRlKHNvdXJjZUZpbGU6IHRzLlNvdXJjZUZpbGUsIHR5cGVDaGVja2VyOiB0cy5UeXBlQ2hlY2tlcikge1xuICBjb25zdCByZXN1bHRzID0gbmV3IE1hcDxzdHJpbmcsIFNldDx0cy5PYmplY3RMaXRlcmFsRXhwcmVzc2lvbj4+KFxuICAgICAgQXJyYXkuZnJvbShtZXRob2RDb25maWcua2V5cygpLCBrZXkgPT4gW2tleSwgbmV3IFNldCgpXSkpO1xuICBjb25zdCByb3V0ZXJJbXBvcnQgPSBnZXRJbXBvcnRTcGVjaWZpZXIoc291cmNlRmlsZSwgJ0Bhbmd1bGFyL3JvdXRlcicsICdSb3V0ZXInKTtcbiAgY29uc3Qgc2VlbkxpdGVyYWxzID0gbmV3IE1hcDx0cy5PYmplY3RMaXRlcmFsRXhwcmVzc2lvbiwgc3RyaW5nPigpO1xuXG4gIGlmIChyb3V0ZXJJbXBvcnQpIHtcbiAgICBzb3VyY2VGaWxlLmZvckVhY2hDaGlsZChmdW5jdGlvbiB2aXNpdE5vZGUobm9kZTogdHMuTm9kZSkge1xuICAgICAgLy8gTG9vayBmb3IgY2FsbHMgdGhhdCBsb29rIGxpa2UgYGZvby48bWV0aG9kIHRvIG1pZ3JhdGU+YCB3aXRoIG1vcmUgdGhhbiBvbmUgcGFyYW1ldGVyLlxuICAgICAgaWYgKHRzLmlzQ2FsbEV4cHJlc3Npb24obm9kZSkgJiYgbm9kZS5hcmd1bWVudHMubGVuZ3RoID4gMSAmJlxuICAgICAgICAgIHRzLmlzUHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uKG5vZGUuZXhwcmVzc2lvbikgJiYgdHMuaXNJZGVudGlmaWVyKG5vZGUuZXhwcmVzc2lvbi5uYW1lKSAmJlxuICAgICAgICAgIG1ldGhvZENvbmZpZy5oYXMobm9kZS5leHByZXNzaW9uLm5hbWUudGV4dCkpIHtcbiAgICAgICAgLy8gQ2hlY2sgd2hldGhlciB0aGUgdHlwZSBvZiB0aGUgb2JqZWN0IG9uIHdoaWNoIHRoZVxuICAgICAgICAvLyBmdW5jdGlvbiBpcyBjYWxsZWQgcmVmZXJzIHRvIHRoZSBSb3V0ZXIgaW1wb3J0LlxuICAgICAgICBpZiAoaXNSZWZlcmVuY2VUb0ltcG9ydCh0eXBlQ2hlY2tlciwgbm9kZS5leHByZXNzaW9uLmV4cHJlc3Npb24sIHJvdXRlckltcG9ydCkpIHtcbiAgICAgICAgICBjb25zdCBtZXRob2ROYW1lID0gbm9kZS5leHByZXNzaW9uLm5hbWUudGV4dDtcbiAgICAgICAgICBjb25zdCBwYXJhbWV0ZXJEZWNsYXJhdGlvbiA9XG4gICAgICAgICAgICAgIHR5cGVDaGVja2VyLmdldFR5cGVBdExvY2F0aW9uKG5vZGUuYXJndW1lbnRzWzFdKS5nZXRTeW1ib2woKT8udmFsdWVEZWNsYXJhdGlvbjtcblxuICAgICAgICAgIC8vIEZpbmQgdGhlIHNvdXJjZSBvZiB0aGUgb2JqZWN0IGxpdGVyYWwuXG4gICAgICAgICAgaWYgKHBhcmFtZXRlckRlY2xhcmF0aW9uICYmIHRzLmlzT2JqZWN0TGl0ZXJhbEV4cHJlc3Npb24ocGFyYW1ldGVyRGVjbGFyYXRpb24pKSB7XG4gICAgICAgICAgICBpZiAoIXNlZW5MaXRlcmFscy5oYXMocGFyYW1ldGVyRGVjbGFyYXRpb24pKSB7XG4gICAgICAgICAgICAgIHJlc3VsdHMuZ2V0KG1ldGhvZE5hbWUpIS5hZGQocGFyYW1ldGVyRGVjbGFyYXRpb24pO1xuICAgICAgICAgICAgICBzZWVuTGl0ZXJhbHMuc2V0KHBhcmFtZXRlckRlY2xhcmF0aW9uLCBtZXRob2ROYW1lKTtcbiAgICAgICAgICAgICAgLy8gSWYgdGhlIHNhbWUgbGl0ZXJhbCBoYXMgYmVlbiBwYXNzZWQgaW50byBtdWx0aXBsZSBkaWZmZXJlbnQgbWV0aG9kcywgd2UgY2FuJ3RcbiAgICAgICAgICAgICAgLy8gbWlncmF0ZSBpdCwgYmVjYXVzZSB0aGUgc3VwcG9ydGVkIHByb3BlcnRpZXMgYXJlIGRpZmZlcmVudC4gV2hlbiB3ZSBkZXRlY3Qgc3VjaFxuICAgICAgICAgICAgICAvLyBhIGNhc2UsIHdlIGRyb3AgaXQgZnJvbSB0aGUgcmVzdWx0cyBzbyB0aGF0IGl0IGdldHMgaWdub3JlZC4gSWYgaXQncyB1c2VkIG11bHRpcGxlXG4gICAgICAgICAgICAgIC8vIHRpbWVzIGZvciB0aGUgc2FtZSBtZXRob2QsIGl0IGNhbiBzdGlsbCBiZSBtaWdyYXRlZC5cbiAgICAgICAgICAgIH0gZWxzZSBpZiAoc2VlbkxpdGVyYWxzLmdldChwYXJhbWV0ZXJEZWNsYXJhdGlvbikgIT09IG1ldGhvZE5hbWUpIHtcbiAgICAgICAgICAgICAgcmVzdWx0cy5mb3JFYWNoKGxpdGVyYWxzID0+IGxpdGVyYWxzLmRlbGV0ZShwYXJhbWV0ZXJEZWNsYXJhdGlvbikpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbm9kZS5mb3JFYWNoQ2hpbGQodmlzaXROb2RlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiByZXN1bHRzO1xufVxuIl19
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc2NoZW1hdGljcy9taWdyYXRpb25zL3JvdXRlci1wcmVzZXJ2ZS1xdWVyeS1wYXJhbXMvdXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7Ozs7Ozs7Ozs7Ozs7SUFFSCxpQ0FBaUM7SUFFakMsK0VBQWtFO0lBQ2xFLDZFQUFrRTtJQUVsRTs7O09BR0c7SUFDSCxNQUFNLFlBQVksR0FBRyxJQUFJLEdBQUcsQ0FBUyxDQUFDLFVBQVUsRUFBRSxlQUFlLENBQUMsQ0FBQyxDQUFDO0lBRXBFLE1BQU0sc0JBQXNCLEdBQUcscUJBQXFCLENBQUM7SUFFckQsU0FBZ0IsY0FBYyxDQUMxQixVQUFrQixFQUFFLElBQWdDOztRQUN0RCxNQUFNLGtCQUFrQixHQUFHLFlBQVksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFeEQsSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQ3ZCLE1BQU0sS0FBSyxDQUFDLG9EQUFvRCxVQUFVLEdBQUcsQ0FBQyxDQUFDO1NBQ2hGO1FBR0QsTUFBTSxnQkFBZ0IsR0FBa0MsRUFBRSxDQUFDO1FBQzNELElBQUksaUJBQWlCLEdBQW1FLFNBQVMsQ0FBQztRQUVsRyxLQUFLLE1BQU0sUUFBUSxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDdEMsa0ZBQWtGO1lBQ2xGLG9FQUFvRTtZQUNwRSxJQUFJLENBQUMsRUFBRSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDakYsQ0FBQyxFQUFFLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO29CQUMzRSxFQUFFLENBQUMsWUFBWSxDQUFD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b0JBQW9CLENBQUMsRUFBRTtnQ0FDM0MsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUUsQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsQ0FBQztnQ0FDbkQsWUFBWSxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsRUFBRSxVQUFVLENBQUMsQ0FBQztnQ0FDbkQsZ0ZBQWdGO2dDQUNoRixrRkFBa0Y7Z0NBQ2xGLHFGQUFxRjtnQ0FDckYsdURBQXVEOzZCQUN4RDtpQ0FBTSxJQUFJLFlBQVksQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsS0FBSyxVQUFVLEVBQUU7Z0NBQ2hFLE9BQU8sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQzs2QkFDcEU7eUJBQ0Y7cUJBQ0Y7aUJBQ0Y7cUJBQU07b0JBQ0wsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztpQkFDOUI7WUFDSCxDQUFDLENBQUMsQ0FBQztTQUNKO1FBRUQsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQXhDRCxzREF3Q0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0ICogYXMgdHMgZnJvbSAndHlwZXNjcmlwdCc7XG5cbmltcG9ydCB7Z2V0SW1wb3J0U3BlY2lmaWVyfSBmcm9tICcuLi8uLi91dGlscy90eXBlc2NyaXB0L2ltcG9ydHMnO1xuaW1wb3J0IHtpc1JlZmVyZW5jZVRvSW1wb3J0fSBmcm9tICcuLi8uLi91dGlscy90eXBlc2NyaXB0L3N5bWJvbCc7XG5cbi8qKlxuICogQ29uZmlndXJlcyB0aGUgbWV0aG9kcyB0aGF0IHRoZSBtaWdyYXRpb24gc2hvdWxkIGJlIGxvb2tpbmcgZm9yXG4gKiBhbmQgdGhlIHByb3BlcnRpZXMgZnJvbSBgTmF2aWdhdGlvbkV4dHJhc2AgdGhhdCBzaG91bGQgYmUgcHJlc2VydmVkLlxuICovXG5jb25zdCBtZXRob2RDb25maWcgPSBuZXcgU2V0PHN0cmluZz4oWyduYXZpZ2F0ZScsICdjcmVhdGVVcmxUcmVlJ10pO1xuXG5jb25zdCBwcmVzZXJ2ZVF1ZXJ5UGFyYW1zS2V5ID0gJ3ByZXNlcnZlUXVlcnlQYXJhbXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gbWlncmF0ZUxpdGVyYWwoXG4gICAgbWV0aG9kTmFtZTogc3RyaW5nLCBub2RlOiB0cy5PYmplY3RMaXRlcmFsRXhwcmVzc2lvbik6IHRzLk9iamVjdExpdGVyYWxFeHByZXNzaW9uIHtcbiAgY29uc3QgaXNNaWdyYXRhYmxlTWV0aG9kID0gbWV0aG9kQ29uZmlnLmhhcyhtZXRob2ROYW1lKTtcblxuICBpZiAoIWlzTWlncmF0YWJsZU1ldGhvZCkge1xuICAgIHRocm93IEVycm9yKGBBdHRlbXB0aW5nIHRvIG1pZ3JhdGUgdW5jb25maWd1cmVkIG1ldGhvZCBjYWxsZWQgJHttZXRob2ROYW1lfS5gKTtcbiAgfVxuXG5cbiAgY29uc3QgcHJvcGVydGllc1RvS2VlcDogdHMuT2JqZWN0TGl0ZXJhbEVsZW1lbnRMaWtlW10gPSBbXTtcbiAgbGV0IHByb3BlcnR5VG9NaWdyYXRlOiB0cy5Qcm9wZXJ0eUFzc2lnbm1lbnR8dHMuU2hvcnRoYW5kUHJvcGVydHlBc3NpZ25tZW50fHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcblxuICBmb3IgKGNvbnN0IHByb3BlcnR5IG9mIG5vZGUucHJvcGVydGllcykge1xuICAgIC8vIE9ubHkgbG9vayBmb3IgcmVndWxhciBhbmQgc2hvcnRoYW5kIHByb3BlcnR5IGFzc2lnbm1lbnRzIHNpbmNlIHJlc29sdmluZyB0aGluZ3NcbiAgICAvLyBsaWtlIHNwcmVhZCBvcGVyYXRvcnMgYmVjb21lcyB0b28gY29tcGxpY2F0ZWQgZm9yIHRoaXMgbWlncmF0aW9uLlxuICAgIGlmICgodHMuaXNQcm9wZXJ0eUFzc2lnbm1lbnQocHJvcGVydHkpIHx8IHRzLmlzU2hvcnRoYW5kUHJvcGVydHlBc3NpZ25tZW50KHByb3BlcnR5KSkgJiZcbiAgICAgICAgKHRzLmlzU3RyaW5nTGl0ZXJhbExpa2UocHJvcGVydHkubmFtZSkgfHwgdHMuaXNOdW1lcmljTGl0ZXJhbChwcm9wZXJ0eS5uYW1lKSB8fFxuICAgICAgICAgdHMuaXNJZGVudGlmaWVyKHByb3BlcnR5Lm5hbWUpKSAmJlxuICAgICAgICAocHJvcGVydHkubmFtZS50ZXh0ID09PSBwcmVzZXJ2ZVF1ZXJ5UGFyYW1zS2V5KSkge1xuICAgICAgcHJvcGVydHlUb01pZ3JhdGUgPSBwcm9wZXJ0eTtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cbiAgICBwcm9wZXJ0aWVzVG9LZWVwLnB1c2gocHJvcGVydHkpO1xuICB9XG5cbiAgLy8gRG9uJ3QgbW9kaWZ5IHRoZSBub2RlIGlmIHRoZXJlJ3Mgbm90aGluZyB0byBtaWdyYXRlLlxuICBpZiAocHJvcGVydHlUb01pZ3JhdGUgPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiBub2RlO1xuICB9XG5cbiAgaWYgKCh0cy5pc1Nob3J0aGFuZFByb3BlcnR5QXNzaWdubWVudChwcm9wZXJ0eVRvTWlncmF0ZSkgJiZcbiAgICAgICBwcm9wZXJ0eVRvTWlncmF0ZS5vYmplY3RBc3NpZ25tZW50SW5pdGlhbGl6ZXI/LmtpbmQgPT09IHRzLlN5bnRheEtpbmQuVHJ1ZUtleXdvcmQpIHx8XG4gICAgICAodHMuaXNQcm9wZXJ0eUFzc2lnbm1lbnQocHJvcGVydHlUb01pZ3JhdGUpICYmXG4gICAgICAgcHJvcGVydHlUb01pZ3JhdGUuaW5pdGlhbGl6ZXIua2luZCA9PT0gdHMuU3ludGF4S2luZC5UcnVlS2V5d29yZCkpIHtcbiAgICByZXR1cm4gdHMudXBkYXRlT2JqZWN0TGl0ZXJhbChcbiAgICAgICAgbm9kZSxcbiAgICAgICAgcHJvcGVydGllc1RvS2VlcC5jb25jYXQoXG4gICAgICAgICAgICB0cy5jcmVhdGVQcm9wZXJ0eUFzc2lnbm1lbnQoJ3F1ZXJ5UGFyYW1zSGFuZGxpbmcnLCB0cy5jcmVhdGVJZGVudGlmaWVyKGAncHJlc2VydmUnYCkpKSk7XG4gIH1cblxuICByZXR1cm4gdHMudXBkYXRlT2JqZWN0TGl0ZXJhbChub2RlLCBwcm9wZXJ0aWVzVG9LZWVwKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpbmRMaXRlcmFsc1RvTWlncmF0ZShzb3VyY2VGaWxlOiB0cy5Tb3VyY2VGaWxlLCB0eXBlQ2hlY2tlcjogdHMuVHlwZUNoZWNrZXIpIHtcbiAgY29uc3QgcmVzdWx0cyA9IG5ldyBNYXA8c3RyaW5nLCBTZXQ8dHMuT2JqZWN0TGl0ZXJhbEV4cHJlc3Npb24+PihcbiAgICAgIEFycmF5LmZyb20obWV0aG9kQ29uZmlnLmtleXMoKSwga2V5ID0+IFtrZXksIG5ldyBTZXQoKV0pKTtcbiAgY29uc3Qgcm91dGVySW1wb3J0ID0gZ2V0SW1wb3J0U3BlY2lmaWVyKHNvdXJjZUZpbGUsICdAYW5ndWxhci9yb3V0ZXInLCAnUm91dGVyJyk7XG4gIGNvbnN0IHNlZW5MaXRlcmFscyA9IG5ldyBNYXA8dHMuT2JqZWN0TGl0ZXJhbEV4cHJlc3Npb24sIHN0cmluZz4oKTtcblxuICBpZiAocm91dGVySW1wb3J0KSB7XG4gICAgc291cmNlRmlsZS5mb3JFYWNoQ2hpbGQoZnVuY3Rpb24gdmlzaXROb2RlKG5vZGU6IHRzLk5vZGUpIHtcbiAgICAgIC8vIExvb2sgZm9yIGNhbGxzIHRoYXQgbG9vayBsaWtlIGBmb28uPG1ldGhvZCB0byBtaWdyYXRlPmAgd2l0aCBtb3JlIHRoYW4gb25lIHBhcmFtZXRlci5cbiAgICAgIGlmICh0cy5pc0NhbGxFeHByZXNzaW9uKG5vZGUpICYmIG5vZGUuYXJndW1lbnRzLmxlbmd0aCA+IDEgJiZcbiAgICAgICAgICB0cy5pc1Byb3BlcnR5QWNjZXNzRXhwcmVzc2lvbihub2RlLmV4cHJlc3Npb24pICYmIHRzLmlzSWRlbnRpZmllcihub2RlLmV4cHJlc3Npb24ubmFtZSkgJiZcbiAgICAgICAgICBtZXRob2RDb25maWcuaGFzKG5vZGUuZXhwcmVzc2lvbi5uYW1lLnRleHQpKSB7XG4gICAgICAgIC8vIENoZWNrIHdoZXRoZXIgdGhlIHR5cGUgb2YgdGhlIG9iamVjdCBvbiB3aGljaCB0aGVcbiAgICAgICAgLy8gZnVuY3Rpb24gaXMgY2FsbGVkIHJlZmVycyB0byB0aGUgUm91dGVyIGltcG9ydC5cbiAgICAgICAgaWYgKGlzUmVmZXJlbmNlVG9JbXBvcnQodHlwZUNoZWNrZXIsIG5vZGUuZXhwcmVzc2lvbi5leHByZXNzaW9uLCByb3V0ZXJJbXBvcnQpKSB7XG4gICAgICAgICAgY29uc3QgbWV0aG9kTmFtZSA9IG5vZGUuZXhwcmVzc2lvbi5uYW1lLnRleHQ7XG4gICAgICAgICAgY29uc3QgcGFyYW1ldGVyRGVjbGFyYXRpb24gPVxuICAgICAgICAgICAgICB0eXBlQ2hlY2tlci5nZXRUeXBlQXRMb2NhdGlvbihub2RlLmFyZ3VtZW50c1sxXSkuZ2V0U3ltYm9sKCk/LnZhbHVlRGVjbGFyYXRpb247XG5cbiAgICAgICAgICAvLyBGaW5kIHRoZSBzb3VyY2Ugb2YgdGhlIG9iamVjdCBsaXRlcmFsLlxuICAgICAgICAgIGlmIChwYXJhbWV0ZXJEZWNsYXJhdGlvbiAmJiB0cy5pc09iamVjdExpdGVyYWxFeHByZXNzaW9uKHBhcmFtZXRlckRlY2xhcmF0aW9uKSkge1xuICAgICAgICAgICAgaWYgKCFzZWVuTGl0ZXJhbHMuaGFzKHBhcmFtZXRlckRlY2xhcmF0aW9uKSkge1xuICAgICAgICAgICAgICByZXN1bHRzLmdldChtZXRob2ROYW1lKSEuYWRkKHBhcmFtZXRlckRlY2xhcmF0aW9uKTtcbiAgICAgICAgICAgICAgc2VlbkxpdGVyYWxzLnNldChwYXJhbWV0ZXJEZWNsYXJhdGlvbiwgbWV0aG9kTmFtZSk7XG4gICAgICAgICAgICAgIC8vIElmIHRoZSBzYW1lIGxpdGVyYWwgaGFzIGJlZW4gcGFzc2VkIGludG8gbXVsdGlwbGUgZGlmZmVyZW50IG1ldGhvZHMsIHdlIGNhbid0XG4gICAgICAgICAgICAgIC8vIG1pZ3JhdGUgaXQsIGJlY2F1c2UgdGhlIHN1cHBvcnRlZCBwcm9wZXJ0aWVzIGFyZSBkaWZmZXJlbnQuIFdoZW4gd2UgZGV0ZWN0IHN1Y2hcbiAgICAgICAgICAgICAgLy8gYSBjYXNlLCB3ZSBkcm9wIGl0IGZyb20gdGhlIHJlc3VsdHMgc28gdGhhdCBpdCBnZXRzIGlnbm9yZWQuIElmIGl0J3MgdXNlZCBtdWx0aXBsZVxuICAgICAgICAgICAgICAvLyB0aW1lcyBmb3IgdGhlIHNhbWUgbWV0aG9kLCBpdCBjYW4gc3RpbGwgYmUgbWlncmF0ZWQuXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHNlZW5MaXRlcmFscy5nZXQocGFyYW1ldGVyRGVjbGFyYXRpb24pICE9PSBtZXRob2ROYW1lKSB7XG4gICAgICAgICAgICAgIHJlc3VsdHMuZm9yRWFjaChsaXRlcmFscyA9PiBsaXRlcmFscy5kZWxldGUocGFyYW1ldGVyRGVjbGFyYXRpb24pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5vZGUuZm9yRWFjaENoaWxkKHZpc2l0Tm9kZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gcmVzdWx0cztcbn1cbiJdfQ==