@angular/compiler-cli 11.2.0-rc.0 → 11.2.3
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.
- package/linker/src/file_linker/partial_linkers/partial_linker_selector.d.ts +2 -1
- package/linker/src/file_linker/partial_linkers/partial_linker_selector.js +14 -7
- package/linker/src/file_linker/partial_linkers/partial_pipe_linker_1.d.ts +23 -0
- package/linker/src/file_linker/partial_linkers/partial_pipe_linker_1.js +61 -0
- package/ngcc/src/analysis/decoration_analyzer.js +2 -2
- package/ngcc/src/packages/build_marker.d.ts +1 -1
- package/ngcc/src/packages/build_marker.js +1 -1
- package/ngcc/src/packages/entry_point.js +1 -1
- package/ngcc/src/packages/entry_point_manifest.d.ts +5 -0
- package/ngcc/src/packages/entry_point_manifest.js +1 -1
- package/ngcc/src/rendering/commonjs_rendering_formatter.js +2 -2
- package/ngcc/src/rendering/esm_rendering_formatter.js +2 -2
- package/ngcc/src/rendering/umd_rendering_formatter.js +2 -2
- package/ngcc/src/writing/cleaning/cleaning_strategies.js +1 -1
- package/ngcc/src/writing/new_entry_point_file_writer.js +2 -2
- package/ngcc/src/writing/package_json_updater.js +4 -2
- package/package.json +2 -2
- package/src/extract_i18n.js +2 -1
- package/src/main.js +2 -1
- package/src/ngtsc/annotations/src/component.d.ts +43 -6
- package/src/ngtsc/annotations/src/component.js +278 -103
- package/src/ngtsc/annotations/src/pipe.d.ts +2 -0
- package/src/ngtsc/annotations/src/pipe.js +12 -6
- package/src/ngtsc/core/src/compiler.js +12 -9
- package/src/ngtsc/core/src/config.d.ts +9 -0
- package/src/ngtsc/core/src/config.js +28 -0
- package/src/ngtsc/cycles/index.d.ts +1 -1
- package/src/ngtsc/cycles/index.js +3 -2
- package/src/ngtsc/cycles/src/analyzer.d.ts +34 -2
- package/src/ngtsc/cycles/src/analyzer.js +36 -5
- package/src/ngtsc/cycles/src/imports.d.ts +12 -0
- package/src/ngtsc/cycles/src/imports.js +75 -2
- package/src/ngtsc/diagnostics/src/error_code.d.ts +10 -0
- package/src/ngtsc/diagnostics/src/error_code.js +12 -1
- package/src/ngtsc/sourcemaps/src/source_file_loader.js +1 -1
- package/src/ngtsc/transform/src/utils.js +13 -3
- package/src/ngtsc/translator/index.d.ts +2 -2
- package/src/ngtsc/translator/index.js +1 -1
- package/src/ngtsc/translator/src/api/import_generator.d.ts +0 -9
- package/src/ngtsc/translator/src/api/import_generator.js +1 -1
- package/src/ngtsc/translator/src/import_manager.d.ts +10 -1
- package/src/ngtsc/translator/src/import_manager.js +21 -7
- package/src/ngtsc/typecheck/src/context.js +2 -2
- package/src/ngtsc/typecheck/src/environment.d.ts +0 -9
- package/src/ngtsc/typecheck/src/environment.js +2 -83
- package/src/ngtsc/typecheck/src/template_symbol_builder.js +2 -2
- package/src/ngtsc/typecheck/src/type_check_block.js +2 -10
- package/src/ngtsc/typecheck/src/type_check_file.js +13 -26
- package/src/transformers/compiler_host.js +1 -1
- package/src/transformers/metadata_reader.js +1 -1
- package/src/version.js +1 -1
|
@@ -16,10 +16,11 @@
|
|
|
16
16
|
})(function (require, exports) {
|
|
17
17
|
"use strict";
|
|
18
18
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
-
exports.ImportGraph = exports.CycleAnalyzer = void 0;
|
|
19
|
+
exports.ImportGraph = exports.CycleAnalyzer = exports.Cycle = void 0;
|
|
20
20
|
var analyzer_1 = require("@angular/compiler-cli/src/ngtsc/cycles/src/analyzer");
|
|
21
|
+
Object.defineProperty(exports, "Cycle", { enumerable: true, get: function () { return analyzer_1.Cycle; } });
|
|
21
22
|
Object.defineProperty(exports, "CycleAnalyzer", { enumerable: true, get: function () { return analyzer_1.CycleAnalyzer; } });
|
|
22
23
|
var imports_1 = require("@angular/compiler-cli/src/ngtsc/cycles/src/imports");
|
|
23
24
|
Object.defineProperty(exports, "ImportGraph", { enumerable: true, get: function () { return imports_1.ImportGraph; } });
|
|
24
25
|
});
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21waWxlci1jbGkvc3JjL25ndHNjL2N5Y2xlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7Ozs7Ozs7Ozs7Ozs7SUFFSCxnRkFBMkU7SUFBbkUsaUdBQUEsS0FBSyxPQUFBO0lBQUUseUdBQUEsYUFBYSxPQUFBO0lBQzVCLDhFQUEwQztJQUFsQyxzR0FBQSxXQUFXLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuZXhwb3J0IHtDeWNsZSwgQ3ljbGVBbmFseXplciwgQ3ljbGVIYW5kbGluZ1N0cmF0ZWd5fSBmcm9tICcuL3NyYy9hbmFseXplcic7XG5leHBvcnQge0ltcG9ydEdyYXBofSBmcm9tICcuL3NyYy9pbXBvcnRzJztcbiJdfQ==
|
|
@@ -15,9 +15,13 @@ export declare class CycleAnalyzer {
|
|
|
15
15
|
private importGraph;
|
|
16
16
|
constructor(importGraph: ImportGraph);
|
|
17
17
|
/**
|
|
18
|
-
* Check
|
|
18
|
+
* Check for a cycle to be created in the `ts.Program` by adding an import between `from` and
|
|
19
|
+
* `to`.
|
|
20
|
+
*
|
|
21
|
+
* @returns a `Cycle` object if an import between `from` and `to` would create a cycle; `null`
|
|
22
|
+
* otherwise.
|
|
19
23
|
*/
|
|
20
|
-
wouldCreateCycle(from: ts.SourceFile, to: ts.SourceFile):
|
|
24
|
+
wouldCreateCycle(from: ts.SourceFile, to: ts.SourceFile): Cycle | null;
|
|
21
25
|
/**
|
|
22
26
|
* Record a synthetic import from `from` to `to`.
|
|
23
27
|
*
|
|
@@ -26,3 +30,31 @@ export declare class CycleAnalyzer {
|
|
|
26
30
|
*/
|
|
27
31
|
recordSyntheticImport(from: ts.SourceFile, to: ts.SourceFile): void;
|
|
28
32
|
}
|
|
33
|
+
/**
|
|
34
|
+
* Represents an import cycle between `from` and `to` in the program.
|
|
35
|
+
*
|
|
36
|
+
* This class allows us to do the work to compute the cyclic path between `from` and `to` only if
|
|
37
|
+
* needed.
|
|
38
|
+
*/
|
|
39
|
+
export declare class Cycle {
|
|
40
|
+
private importGraph;
|
|
41
|
+
readonly from: ts.SourceFile;
|
|
42
|
+
readonly to: ts.SourceFile;
|
|
43
|
+
constructor(importGraph: ImportGraph, from: ts.SourceFile, to: ts.SourceFile);
|
|
44
|
+
/**
|
|
45
|
+
* Compute an array of source-files that illustrates the cyclic path between `from` and `to`.
|
|
46
|
+
*
|
|
47
|
+
* Note that a `Cycle` will not be created unless a path is available between `to` and `from`,
|
|
48
|
+
* so `findPath()` will never return `null`.
|
|
49
|
+
*/
|
|
50
|
+
getPath(): ts.SourceFile[];
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* What to do if a cycle is detected.
|
|
54
|
+
*/
|
|
55
|
+
export declare const enum CycleHandlingStrategy {
|
|
56
|
+
/** Add "remote scoping" code to avoid creating a cycle. */
|
|
57
|
+
UseRemoteScoping = 0,
|
|
58
|
+
/** Fail the compilation with an error. */
|
|
59
|
+
Error = 1
|
|
60
|
+
}
|
|
@@ -11,12 +11,13 @@
|
|
|
11
11
|
if (v !== undefined) module.exports = v;
|
|
12
12
|
}
|
|
13
13
|
else if (typeof define === "function" && define.amd) {
|
|
14
|
-
define("@angular/compiler-cli/src/ngtsc/cycles/src/analyzer", ["require", "exports"], factory);
|
|
14
|
+
define("@angular/compiler-cli/src/ngtsc/cycles/src/analyzer", ["require", "exports", "tslib"], factory);
|
|
15
15
|
}
|
|
16
16
|
})(function (require, exports) {
|
|
17
17
|
"use strict";
|
|
18
18
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
-
exports.CycleAnalyzer = void 0;
|
|
19
|
+
exports.Cycle = exports.CycleAnalyzer = void 0;
|
|
20
|
+
var tslib_1 = require("tslib");
|
|
20
21
|
/**
|
|
21
22
|
* Analyzes a `ts.Program` for cycles.
|
|
22
23
|
*/
|
|
@@ -25,11 +26,17 @@
|
|
|
25
26
|
this.importGraph = importGraph;
|
|
26
27
|
}
|
|
27
28
|
/**
|
|
28
|
-
* Check
|
|
29
|
+
* Check for a cycle to be created in the `ts.Program` by adding an import between `from` and
|
|
30
|
+
* `to`.
|
|
31
|
+
*
|
|
32
|
+
* @returns a `Cycle` object if an import between `from` and `to` would create a cycle; `null`
|
|
33
|
+
* otherwise.
|
|
29
34
|
*/
|
|
30
35
|
CycleAnalyzer.prototype.wouldCreateCycle = function (from, to) {
|
|
31
36
|
// Import of 'from' -> 'to' is illegal if an edge 'to' -> 'from' already exists.
|
|
32
|
-
return this.importGraph.transitiveImportsOf(to).has(from)
|
|
37
|
+
return this.importGraph.transitiveImportsOf(to).has(from) ?
|
|
38
|
+
new Cycle(this.importGraph, from, to) :
|
|
39
|
+
null;
|
|
33
40
|
};
|
|
34
41
|
/**
|
|
35
42
|
* Record a synthetic import from `from` to `to`.
|
|
@@ -43,5 +50,29 @@
|
|
|
43
50
|
return CycleAnalyzer;
|
|
44
51
|
}());
|
|
45
52
|
exports.CycleAnalyzer = CycleAnalyzer;
|
|
53
|
+
/**
|
|
54
|
+
* Represents an import cycle between `from` and `to` in the program.
|
|
55
|
+
*
|
|
56
|
+
* This class allows us to do the work to compute the cyclic path between `from` and `to` only if
|
|
57
|
+
* needed.
|
|
58
|
+
*/
|
|
59
|
+
var Cycle = /** @class */ (function () {
|
|
60
|
+
function Cycle(importGraph, from, to) {
|
|
61
|
+
this.importGraph = importGraph;
|
|
62
|
+
this.from = from;
|
|
63
|
+
this.to = to;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Compute an array of source-files that illustrates the cyclic path between `from` and `to`.
|
|
67
|
+
*
|
|
68
|
+
* Note that a `Cycle` will not be created unless a path is available between `to` and `from`,
|
|
69
|
+
* so `findPath()` will never return `null`.
|
|
70
|
+
*/
|
|
71
|
+
Cycle.prototype.getPath = function () {
|
|
72
|
+
return tslib_1.__spread([this.from], this.importGraph.findPath(this.to, this.from));
|
|
73
|
+
};
|
|
74
|
+
return Cycle;
|
|
75
|
+
}());
|
|
76
|
+
exports.Cycle = Cycle;
|
|
46
77
|
});
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl6ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21waWxlci1jbGkvc3JjL25ndHNjL2N5Y2xlcy9zcmMvYW5hbHl6ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HOzs7Ozs7Ozs7Ozs7OztJQU1IOztPQUVHO0lBQ0g7UUFDRSx1QkFBb0IsV0FBd0I7WUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFBRyxDQUFDO1FBRWhEOzs7Ozs7V0FNRztRQUNILHdDQUFnQixHQUFoQixVQUFpQixJQUFtQixFQUFFLEVBQWlCO1lBQ3JELGdGQUFnRjtZQUNoRixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsbUJBQW1CLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7Z0JBQ3ZELElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ3ZDLElBQUksQ0FBQztRQUNYLENBQUM7UUFFRDs7Ozs7V0FLRztRQUNILDZDQUFxQixHQUFyQixVQUFzQixJQUFtQixFQUFFLEVBQWlCO1lBQzFELElBQUksQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2hELENBQUM7UUFDSCxvQkFBQztJQUFELENBQUMsQUExQkQsSUEwQkM7SUExQlksc0NBQWE7SUE0QjFCOzs7OztPQUtHO0lBQ0g7UUFDRSxlQUNZLFdBQXdCLEVBQVcsSUFBbUIsRUFBVyxFQUFpQjtZQUFsRixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtZQUFXLFNBQUksR0FBSixJQUFJLENBQWU7WUFBVyxPQUFFLEdBQUYsRUFBRSxDQUFlO1FBQUcsQ0FBQztRQUVsRzs7Ozs7V0FLRztRQUNILHVCQUFPLEdBQVA7WUFDRSx5QkFBUSxJQUFJLENBQUMsSUFBSSxHQUFLLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBRSxFQUFFO1FBQ3hFLENBQUM7UUFDSCxZQUFDO0lBQUQsQ0FBQyxBQWJELElBYUM7SUFiWSxzQkFBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQgKiBhcyB0cyBmcm9tICd0eXBlc2NyaXB0JztcblxuaW1wb3J0IHtJbXBvcnRHcmFwaH0gZnJvbSAnLi9pbXBvcnRzJztcblxuLyoqXG4gKiBBbmFseXplcyBhIGB0cy5Qcm9ncmFtYCBmb3IgY3ljbGVzLlxuICovXG5leHBvcnQgY2xhc3MgQ3ljbGVBbmFseXplciB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaW1wb3J0R3JhcGg6IEltcG9ydEdyYXBoKSB7fVxuXG4gIC8qKlxuICAgKiBDaGVjayBmb3IgYSBjeWNsZSB0byBiZSBjcmVhdGVkIGluIHRoZSBgdHMuUHJvZ3JhbWAgYnkgYWRkaW5nIGFuIGltcG9ydCBiZXR3ZWVuIGBmcm9tYCBhbmRcbiAgICogYHRvYC5cbiAgICpcbiAgICogQHJldHVybnMgYSBgQ3ljbGVgIG9iamVjdCBpZiBhbiBpbXBvcnQgYmV0d2VlbiBgZnJvbWAgYW5kIGB0b2Agd291bGQgY3JlYXRlIGEgY3ljbGU7IGBudWxsYFxuICAgKiAgICAgb3RoZXJ3aXNlLlxuICAgKi9cbiAgd291bGRDcmVhdGVDeWNsZShmcm9tOiB0cy5Tb3VyY2VGaWxlLCB0bzogdHMuU291cmNlRmlsZSk6IEN5Y2xlfG51bGwge1xuICAgIC8vIEltcG9ydCBvZiAnZnJvbScgLT4gJ3RvJyBpcyBpbGxlZ2FsIGlmIGFuIGVkZ2UgJ3RvJyAtPiAnZnJvbScgYWxyZWFkeSBleGlzdHMuXG4gICAgcmV0dXJuIHRoaXMuaW1wb3J0R3JhcGgudHJhbnNpdGl2ZUltcG9ydHNPZih0bykuaGFzKGZyb20pID9cbiAgICAgICAgbmV3IEN5Y2xlKHRoaXMuaW1wb3J0R3JhcGgsIGZyb20sIHRvKSA6XG4gICAgICAgIG51bGw7XG4gIH1cblxuICAvKipcbiAgICogUmVjb3JkIGEgc3ludGhldGljIGltcG9ydCBmcm9tIGBmcm9tYCB0byBgdG9gLlxuICAgKlxuICAgKiBUaGlzIGlzIGFuIGltcG9ydCB0aGF0IGRvZXNuJ3QgZXhpc3QgaW4gdGhlIGB0cy5Qcm9ncmFtYCBidXQgd2lsbCBiZSBjb25zaWRlcmVkIGFzIHBhcnQgb2YgdGhlXG4gICAqIGltcG9ydCBncmFwaCBmb3IgY3ljbGUgY3JlYXRpb24uXG4gICAqL1xuICByZWNvcmRTeW50aGV0aWNJbXBvcnQoZnJvbTogdHMuU291cmNlRmlsZSwgdG86IHRzLlNvdXJjZUZpbGUpOiB2b2lkIHtcbiAgICB0aGlzLmltcG9ydEdyYXBoLmFkZFN5bnRoZXRpY0ltcG9ydChmcm9tLCB0byk7XG4gIH1cbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGFuIGltcG9ydCBjeWNsZSBiZXR3ZWVuIGBmcm9tYCBhbmQgYHRvYCBpbiB0aGUgcHJvZ3JhbS5cbiAqXG4gKiBUaGlzIGNsYXNzIGFsbG93cyB1cyB0byBkbyB0aGUgd29yayB0byBjb21wdXRlIHRoZSBjeWNsaWMgcGF0aCBiZXR3ZWVuIGBmcm9tYCBhbmQgYHRvYCBvbmx5IGlmXG4gKiBuZWVkZWQuXG4gKi9cbmV4cG9ydCBjbGFzcyBDeWNsZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgICAgcHJpdmF0ZSBpbXBvcnRHcmFwaDogSW1wb3J0R3JhcGgsIHJlYWRvbmx5IGZyb206IHRzLlNvdXJjZUZpbGUsIHJlYWRvbmx5IHRvOiB0cy5Tb3VyY2VGaWxlKSB7fVxuXG4gIC8qKlxuICAgKiBDb21wdXRlIGFuIGFycmF5IG9mIHNvdXJjZS1maWxlcyB0aGF0IGlsbHVzdHJhdGVzIHRoZSBjeWNsaWMgcGF0aCBiZXR3ZWVuIGBmcm9tYCBhbmQgYHRvYC5cbiAgICpcbiAgICogTm90ZSB0aGF0IGEgYEN5Y2xlYCB3aWxsIG5vdCBiZSBjcmVhdGVkIHVubGVzcyBhIHBhdGggaXMgYXZhaWxhYmxlIGJldHdlZW4gYHRvYCBhbmQgYGZyb21gLFxuICAgKiBzbyBgZmluZFBhdGgoKWAgd2lsbCBuZXZlciByZXR1cm4gYG51bGxgLlxuICAgKi9cbiAgZ2V0UGF0aCgpOiB0cy5Tb3VyY2VGaWxlW10ge1xuICAgIHJldHVybiBbdGhpcy5mcm9tLCAuLi50aGlzLmltcG9ydEdyYXBoLmZpbmRQYXRoKHRoaXMudG8sIHRoaXMuZnJvbSkhXTtcbiAgfVxufVxuXG5cbi8qKlxuICogV2hhdCB0byBkbyBpZiBhIGN5Y2xlIGlzIGRldGVjdGVkLlxuICovXG5leHBvcnQgY29uc3QgZW51bSBDeWNsZUhhbmRsaW5nU3RyYXRlZ3kge1xuICAvKiogQWRkIFwicmVtb3RlIHNjb3BpbmdcIiBjb2RlIHRvIGF2b2lkIGNyZWF0aW5nIGEgY3ljbGUuICovXG4gIFVzZVJlbW90ZVNjb3BpbmcsXG4gIC8qKiBGYWlsIHRoZSBjb21waWxhdGlvbiB3aXRoIGFuIGVycm9yLiAqL1xuICBFcnJvcixcbn1cbiJdfQ==
|
|
@@ -29,6 +29,18 @@ export declare class ImportGraph {
|
|
|
29
29
|
*/
|
|
30
30
|
transitiveImportsOf(sf: ts.SourceFile): Set<ts.SourceFile>;
|
|
31
31
|
private transitiveImportsOfHelper;
|
|
32
|
+
/**
|
|
33
|
+
* Find an import path from the `start` SourceFile to the `end` SourceFile.
|
|
34
|
+
*
|
|
35
|
+
* This function implements a breadth first search that results in finding the
|
|
36
|
+
* shortest path between the `start` and `end` points.
|
|
37
|
+
*
|
|
38
|
+
* @param start the starting point of the path.
|
|
39
|
+
* @param end the ending point of the path.
|
|
40
|
+
* @returns an array of source files that connect the `start` and `end` source files, or `null` if
|
|
41
|
+
* no path could be found.
|
|
42
|
+
*/
|
|
43
|
+
findPath(start: ts.SourceFile, end: ts.SourceFile): ts.SourceFile[] | null;
|
|
32
44
|
/**
|
|
33
45
|
* Add a record of an import from `sf` to `imported`, that's not present in the original
|
|
34
46
|
* `ts.Program` but will be remembered by the `ImportGraph`.
|
|
@@ -11,12 +11,13 @@
|
|
|
11
11
|
if (v !== undefined) module.exports = v;
|
|
12
12
|
}
|
|
13
13
|
else if (typeof define === "function" && define.amd) {
|
|
14
|
-
define("@angular/compiler-cli/src/ngtsc/cycles/src/imports", ["require", "exports", "typescript"], factory);
|
|
14
|
+
define("@angular/compiler-cli/src/ngtsc/cycles/src/imports", ["require", "exports", "tslib", "typescript"], factory);
|
|
15
15
|
}
|
|
16
16
|
})(function (require, exports) {
|
|
17
17
|
"use strict";
|
|
18
18
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
19
|
exports.ImportGraph = void 0;
|
|
20
|
+
var tslib_1 = require("tslib");
|
|
20
21
|
var ts = require("typescript");
|
|
21
22
|
/**
|
|
22
23
|
* A cached graph of imports in the `ts.Program`.
|
|
@@ -58,6 +59,52 @@
|
|
|
58
59
|
_this.transitiveImportsOfHelper(imported, results);
|
|
59
60
|
});
|
|
60
61
|
};
|
|
62
|
+
/**
|
|
63
|
+
* Find an import path from the `start` SourceFile to the `end` SourceFile.
|
|
64
|
+
*
|
|
65
|
+
* This function implements a breadth first search that results in finding the
|
|
66
|
+
* shortest path between the `start` and `end` points.
|
|
67
|
+
*
|
|
68
|
+
* @param start the starting point of the path.
|
|
69
|
+
* @param end the ending point of the path.
|
|
70
|
+
* @returns an array of source files that connect the `start` and `end` source files, or `null` if
|
|
71
|
+
* no path could be found.
|
|
72
|
+
*/
|
|
73
|
+
ImportGraph.prototype.findPath = function (start, end) {
|
|
74
|
+
var e_1, _a;
|
|
75
|
+
if (start === end) {
|
|
76
|
+
// Escape early for the case where `start` and `end` are the same.
|
|
77
|
+
return [start];
|
|
78
|
+
}
|
|
79
|
+
var found = new Set([start]);
|
|
80
|
+
var queue = [new Found(start, null)];
|
|
81
|
+
while (queue.length > 0) {
|
|
82
|
+
var current = queue.shift();
|
|
83
|
+
var imports = this.importsOf(current.sourceFile);
|
|
84
|
+
try {
|
|
85
|
+
for (var imports_1 = (e_1 = void 0, tslib_1.__values(imports)), imports_1_1 = imports_1.next(); !imports_1_1.done; imports_1_1 = imports_1.next()) {
|
|
86
|
+
var importedFile = imports_1_1.value;
|
|
87
|
+
if (!found.has(importedFile)) {
|
|
88
|
+
var next = new Found(importedFile, current);
|
|
89
|
+
if (next.sourceFile === end) {
|
|
90
|
+
// We have hit the target `end` path so we can stop here.
|
|
91
|
+
return next.toPath();
|
|
92
|
+
}
|
|
93
|
+
found.add(importedFile);
|
|
94
|
+
queue.push(next);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
99
|
+
finally {
|
|
100
|
+
try {
|
|
101
|
+
if (imports_1_1 && !imports_1_1.done && (_a = imports_1.return)) _a.call(imports_1);
|
|
102
|
+
}
|
|
103
|
+
finally { if (e_1) throw e_1.error; }
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
return null;
|
|
107
|
+
};
|
|
61
108
|
/**
|
|
62
109
|
* Add a record of an import from `sf` to `imported`, that's not present in the original
|
|
63
110
|
* `ts.Program` but will be remembered by the `ImportGraph`.
|
|
@@ -91,5 +138,31 @@
|
|
|
91
138
|
function isLocalFile(sf) {
|
|
92
139
|
return !sf.fileName.endsWith('.d.ts');
|
|
93
140
|
}
|
|
141
|
+
/**
|
|
142
|
+
* A helper class to track which SourceFiles are being processed when searching for a path in
|
|
143
|
+
* `getPath()` above.
|
|
144
|
+
*/
|
|
145
|
+
var Found = /** @class */ (function () {
|
|
146
|
+
function Found(sourceFile, parent) {
|
|
147
|
+
this.sourceFile = sourceFile;
|
|
148
|
+
this.parent = parent;
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Back track through this found SourceFile and its ancestors to generate an array of
|
|
152
|
+
* SourceFiles that form am import path between two SourceFiles.
|
|
153
|
+
*/
|
|
154
|
+
Found.prototype.toPath = function () {
|
|
155
|
+
var array = [];
|
|
156
|
+
var current = this;
|
|
157
|
+
while (current !== null) {
|
|
158
|
+
array.push(current.sourceFile);
|
|
159
|
+
current = current.parent;
|
|
160
|
+
}
|
|
161
|
+
// Pushing and then reversing, O(n), rather than unshifting repeatedly, O(n^2), avoids
|
|
162
|
+
// manipulating the array on every iteration: https://stackoverflow.com/a/26370620
|
|
163
|
+
return array.reverse();
|
|
164
|
+
};
|
|
165
|
+
return Found;
|
|
166
|
+
}());
|
|
94
167
|
});
|
|
95
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBpbGVyLWNsaS9zcmMvbmd0c2MvY3ljbGVzL3NyYy9pbXBvcnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRzs7Ozs7Ozs7Ozs7OztJQUVILCtCQUFpQztJQUlqQzs7Ozs7T0FLRztJQUNIO1FBR0UscUJBQW9CLFFBQXdCO1lBQXhCLGFBQVEsR0FBUixRQUFRLENBQWdCO1lBRnBDLFFBQUcsR0FBRyxJQUFJLEdBQUcsRUFBcUMsQ0FBQztRQUVaLENBQUM7UUFFaEQ7Ozs7V0FJRztRQUNILCtCQUFTLEdBQVQsVUFBVSxFQUFpQjtZQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUU7Z0JBQ3JCLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDeEM7WUFDRCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBRSxDQUFDO1FBQzNCLENBQUM7UUFFRDs7V0FFRztRQUNILHlDQUFtQixHQUFuQixVQUFvQixFQUFpQjtZQUNuQyxJQUFNLE9BQU8sR0FBRyxJQUFJLEdBQUcsRUFBaUIsQ0FBQztZQUN6QyxJQUFJLENBQUMseUJBQXlCLENBQUMsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQzVDLE9BQU8sT0FBTyxDQUFDO1FBQ2pCLENBQUM7UUFFTywrQ0FBeUIsR0FBakMsVUFBa0MsRUFBaUIsRUFBRSxPQUEyQjtZQUFoRixpQkFRQztZQVBDLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRTtnQkFDbkIsT0FBTzthQUNSO1lBQ0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNoQixJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFBLFFBQVE7Z0JBQ2pDLEtBQUksQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDcEQsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO1FBRUQ7OztXQUdHO1FBQ0gsd0NBQWtCLEdBQWxCLFVBQW1CLEVBQWlCLEVBQUUsUUFBdUI7WUFDM0QsSUFBSSxXQUFXLENBQUMsUUFBUSxDQUFDLEVBQUU7Z0JBQ3pCLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQ2xDO1FBQ0gsQ0FBQztRQUVPLGlDQUFXLEdBQW5CLFVBQW9CLEVBQWlCO1lBQXJDLGlCQWdCQztZQWZDLElBQU0sT0FBTyxHQUFHLElBQUksR0FBRyxFQUFpQixDQUFDO1lBQ3pDLHNEQUFzRDtZQUN0RCxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxVQUFBLElBQUk7Z0JBQ3hCLElBQUksQ0FBQyxFQUFFLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDO29CQUM5RCxJQUFJLENBQUMsZUFBZSxLQUFLLFNBQVMsSUFBSSxFQUFFLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsRUFBRTtvQkFDbEYsa0ZBQWtGO29CQUNsRixJQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQztvQkFDN0MsSUFBTSxVQUFVLEdBQUcsS0FBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQztvQkFDeEUsSUFBSSxVQUFVLEtBQUssSUFBSSxJQUFJLFdBQVcsQ0FBQyxVQUFVLENBQUMsRUFBRTt3QkFDbEQsNEJBQTRCO3dCQUM1QixPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO3FCQUN6QjtpQkFDRjtZQUNILENBQUMsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxPQUFPLENBQUM7UUFDakIsQ0FBQztRQUNILGtCQUFDO0lBQUQsQ0FBQyxBQS9ERCxJQStEQztJQS9EWSxrQ0FBVztJQWlFeEIsU0FBUyxXQUFXLENBQUMsRUFBaUI7UUFDcEMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3hDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0ICogYXMgdHMgZnJvbSAndHlwZXNjcmlwdCc7XG5cbmltcG9ydCB7TW9kdWxlUmVzb2x2ZXJ9IGZyb20gJy4uLy4uL2ltcG9ydHMnO1xuXG4vKipcbiAqIEEgY2FjaGVkIGdyYXBoIG9mIGltcG9ydHMgaW4gdGhlIGB0cy5Qcm9ncmFtYC5cbiAqXG4gKiBUaGUgYEltcG9ydEdyYXBoYCBrZWVwcyB0cmFjayBvZiBkZXBlbmRlbmNpZXMgKGltcG9ydHMpIG9mIGluZGl2aWR1YWwgYHRzLlNvdXJjZUZpbGVgcy4gT25seVxuICogZGVwZW5kZW5jaWVzIHdpdGhpbiB0aGUgc2FtZSBwcm9ncmFtIGFyZSB0cmFja2VkOyBpbXBvcnRzIGludG8gcGFja2FnZXMgb24gTlBNIGFyZSBub3QuXG4gKi9cbmV4cG9ydCBjbGFzcyBJbXBvcnRHcmFwaCB7XG4gIHByaXZhdGUgbWFwID0gbmV3IE1hcDx0cy5Tb3VyY2VGaWxlLCBTZXQ8dHMuU291cmNlRmlsZT4+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZXNvbHZlcjogTW9kdWxlUmVzb2x2ZXIpIHt9XG5cbiAgLyoqXG4gICAqIExpc3QgdGhlIGRpcmVjdCAobm90IHRyYW5zaXRpdmUpIGltcG9ydHMgb2YgYSBnaXZlbiBgdHMuU291cmNlRmlsZWAuXG4gICAqXG4gICAqIFRoaXMgb3BlcmF0aW9uIGlzIGNhY2hlZC5cbiAgICovXG4gIGltcG9ydHNPZihzZjogdHMuU291cmNlRmlsZSk6IFNldDx0cy5Tb3VyY2VGaWxlPiB7XG4gICAgaWYgKCF0aGlzLm1hcC5oYXMoc2YpKSB7XG4gICAgICB0aGlzLm1hcC5zZXQoc2YsIHRoaXMuc2NhbkltcG9ydHMoc2YpKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMubWFwLmdldChzZikhO1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3RzIHRoZSB0cmFuc2l0aXZlIGltcG9ydHMgb2YgYSBnaXZlbiBgdHMuU291cmNlRmlsZWAuXG4gICAqL1xuICB0cmFuc2l0aXZlSW1wb3J0c09mKHNmOiB0cy5Tb3VyY2VGaWxlKTogU2V0PHRzLlNvdXJjZUZpbGU+IHtcbiAgICBjb25zdCBpbXBvcnRzID0gbmV3IFNldDx0cy5Tb3VyY2VGaWxlPigpO1xuICAgIHRoaXMudHJhbnNpdGl2ZUltcG9ydHNPZkhlbHBlcihzZiwgaW1wb3J0cyk7XG4gICAgcmV0dXJuIGltcG9ydHM7XG4gIH1cblxuICBwcml2YXRlIHRyYW5zaXRpdmVJbXBvcnRzT2ZIZWxwZXIoc2Y6IHRzLlNvdXJjZUZpbGUsIHJlc3VsdHM6IFNldDx0cy5Tb3VyY2VGaWxlPik6IHZvaWQge1xuICAgIGlmIChyZXN1bHRzLmhhcyhzZikpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgcmVzdWx0cy5hZGQoc2YpO1xuICAgIHRoaXMuaW1wb3J0c09mKHNmKS5mb3JFYWNoKGltcG9ydGVkID0+IHtcbiAgICAgIHRoaXMudHJhbnNpdGl2ZUltcG9ydHNPZkhlbHBlcihpbXBvcnRlZCwgcmVzdWx0cyk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGEgcmVjb3JkIG9mIGFuIGltcG9ydCBmcm9tIGBzZmAgdG8gYGltcG9ydGVkYCwgdGhhdCdzIG5vdCBwcmVzZW50IGluIHRoZSBvcmlnaW5hbFxuICAgKiBgdHMuUHJvZ3JhbWAgYnV0IHdpbGwgYmUgcmVtZW1iZXJlZCBieSB0aGUgYEltcG9ydEdyYXBoYC5cbiAgICovXG4gIGFkZFN5bnRoZXRpY0ltcG9ydChzZjogdHMuU291cmNlRmlsZSwgaW1wb3J0ZWQ6IHRzLlNvdXJjZUZpbGUpOiB2b2lkIHtcbiAgICBpZiAoaXNMb2NhbEZpbGUoaW1wb3J0ZWQpKSB7XG4gICAgICB0aGlzLmltcG9ydHNPZihzZikuYWRkKGltcG9ydGVkKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNjYW5JbXBvcnRzKHNmOiB0cy5Tb3VyY2VGaWxlKTogU2V0PHRzLlNvdXJjZUZpbGU+IHtcbiAgICBjb25zdCBpbXBvcnRzID0gbmV3IFNldDx0cy5Tb3VyY2VGaWxlPigpO1xuICAgIC8vIExvb2sgdGhyb3VnaCB0aGUgc291cmNlIGZpbGUgZm9yIGltcG9ydCBzdGF0ZW1lbnRzLlxuICAgIHNmLnN0YXRlbWVudHMuZm9yRWFjaChzdG10ID0+IHtcbiAgICAgIGlmICgodHMuaXNJbXBvcnREZWNsYXJhdGlvbihzdG10KSB8fCB0cy5pc0V4cG9ydERlY2xhcmF0aW9uKHN0bXQpKSAmJlxuICAgICAgICAgIHN0bXQubW9kdWxlU3BlY2lmaWVyICE9PSB1bmRlZmluZWQgJiYgdHMuaXNTdHJpbmdMaXRlcmFsKHN0bXQubW9kdWxlU3BlY2lmaWVyKSkge1xuICAgICAgICAvLyBSZXNvbHZlIHRoZSBtb2R1bGUgdG8gYSBmaWxlLCBhbmQgY2hlY2sgd2hldGhlciB0aGF0IGZpbGUgaXMgaW4gdGhlIHRzLlByb2dyYW0uXG4gICAgICAgIGNvbnN0IG1vZHVsZU5hbWUgPSBzdG10Lm1vZHVsZVNwZWNpZmllci50ZXh0O1xuICAgICAgICBjb25zdCBtb2R1bGVGaWxlID0gdGhpcy5yZXNvbHZlci5yZXNvbHZlTW9kdWxlKG1vZHVsZU5hbWUsIHNmLmZpbGVOYW1lKTtcbiAgICAgICAgaWYgKG1vZHVsZUZpbGUgIT09IG51bGwgJiYgaXNMb2NhbEZpbGUobW9kdWxlRmlsZSkpIHtcbiAgICAgICAgICAvLyBSZWNvcmQgdGhpcyBsb2NhbCBpbXBvcnQuXG4gICAgICAgICAgaW1wb3J0cy5hZGQobW9kdWxlRmlsZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gaW1wb3J0cztcbiAgfVxufVxuXG5mdW5jdGlvbiBpc0xvY2FsRmlsZShzZjogdHMuU291cmNlRmlsZSk6IGJvb2xlYW4ge1xuICByZXR1cm4gIXNmLmZpbGVOYW1lLmVuZHNXaXRoKCcuZC50cycpO1xufVxuIl19
|
|
168
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBpbGVyLWNsaS9zcmMvbmd0c2MvY3ljbGVzL3NyYy9pbXBvcnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRzs7Ozs7Ozs7Ozs7Ozs7SUFFSCwrQkFBaUM7SUFJakM7Ozs7O09BS0c7SUFDSDtRQUdFLHFCQUFvQixRQUF3QjtZQUF4QixhQUFRLEdBQVIsUUFBUSxDQUFnQjtZQUZwQyxRQUFHLEdBQUcsSUFBSSxHQUFHLEVBQXFDLENBQUM7UUFFWixDQUFDO1FBRWhEOzs7O1dBSUc7UUFDSCwrQkFBUyxHQUFULFVBQVUsRUFBaUI7WUFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFO2dCQUNyQixJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQ3hDO1lBQ0QsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUUsQ0FBQztRQUMzQixDQUFDO1FBRUQ7O1dBRUc7UUFDSCx5Q0FBbUIsR0FBbkIsVUFBb0IsRUFBaUI7WUFDbkMsSUFBTSxPQUFPLEdBQUcsSUFBSSxHQUFHLEVBQWlCLENBQUM7WUFDekMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUM1QyxPQUFPLE9BQU8sQ0FBQztRQUNqQixDQUFDO1FBRU8sK0NBQXlCLEdBQWpDLFVBQWtDLEVBQWlCLEVBQUUsT0FBMkI7WUFBaEYsaUJBUUM7WUFQQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUU7Z0JBQ25CLE9BQU87YUFDUjtZQUNELE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENB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SCxPQUFPLE9BQU8sQ0FBQztRQUNqQixDQUFDO1FBQ0gsa0JBQUM7SUFBRCxDQUFDLEFBckdELElBcUdDO0lBckdZLGtDQUFXO0lBdUd4QixTQUFTLFdBQVcsQ0FBQyxFQUFpQjtRQUNwQyxPQUFPLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVEOzs7T0FHRztJQUNIO1FBQ0UsZUFBcUIsVUFBeUIsRUFBVyxNQUFrQjtZQUF0RCxlQUFVLEdBQVYsVUFBVSxDQUFlO1lBQVcsV0FBTSxHQUFOLE1BQU0sQ0FBWTtRQUFHLENBQUM7UUFFL0U7OztXQUdHO1FBQ0gsc0JBQU0sR0FBTjtZQUNFLElBQU0sS0FBSyxHQUFvQixFQUFFLENBQUM7WUFDbEMsSUFBSSxPQUFPLEdBQWUsSUFBSSxDQUFDO1lBQy9CLE9BQU8sT0FBTyxLQUFLLElBQUksRUFBRTtnQkFDdkIsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQy9CLE9BQU8sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDO2FBQzFCO1lBQ0Qsc0ZBQXNGO1lBQ3RGLGtGQUFrRjtZQUNsRixPQUFPLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN6QixDQUFDO1FBQ0gsWUFBQztJQUFELENBQUMsQUFsQkQsSUFrQkMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0ICogYXMgdHMgZnJvbSAndHlwZXNjcmlwdCc7XG5cbmltcG9ydCB7TW9kdWxlUmVzb2x2ZXJ9IGZyb20gJy4uLy4uL2ltcG9ydHMnO1xuXG4vKipcbiAqIEEgY2FjaGVkIGdyYXBoIG9mIGltcG9ydHMgaW4gdGhlIGB0cy5Qcm9ncmFtYC5cbiAqXG4gKiBUaGUgYEltcG9ydEdyYXBoYCBrZWVwcyB0cmFjayBvZiBkZXBlbmRlbmNpZXMgKGltcG9ydHMpIG9mIGluZGl2aWR1YWwgYHRzLlNvdXJjZUZpbGVgcy4gT25seVxuICogZGVwZW5kZW5jaWVzIHdpdGhpbiB0aGUgc2FtZSBwcm9ncmFtIGFyZSB0cmFja2VkOyBpbXBvcnRzIGludG8gcGFja2FnZXMgb24gTlBNIGFyZSBub3QuXG4gKi9cbmV4cG9ydCBjbGFzcyBJbXBvcnRHcmFwaCB7XG4gIHByaXZhdGUgbWFwID0gbmV3IE1hcDx0cy5Tb3VyY2VGaWxlLCBTZXQ8dHMuU291cmNlRmlsZT4+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZXNvbHZlcjogTW9kdWxlUmVzb2x2ZXIpIHt9XG5cbiAgLyoqXG4gICAqIExpc3QgdGhlIGRpcmVjdCAobm90IHRyYW5zaXRpdmUpIGltcG9ydHMgb2YgYSBnaXZlbiBgdHMuU291cmNlRmlsZWAuXG4gICAqXG4gICAqIFRoaXMgb3BlcmF0aW9uIGlzIGNhY2hlZC5cbiAgICovXG4gIGltcG9ydHNPZihzZjogdHMuU291cmNlRmlsZSk6IFNldDx0cy5Tb3VyY2VGaWxlPiB7XG4gICAgaWYgKCF0aGlzLm1hcC5oYXMoc2YpKSB7XG4gICAgICB0aGlzLm1hcC5zZXQoc2YsIHRoaXMuc2NhbkltcG9ydHMoc2YpKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMubWFwLmdldChzZikhO1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3RzIHRoZSB0cmFuc2l0aXZlIGltcG9ydHMgb2YgYSBnaXZlbiBgdHMuU291cmNlRmlsZWAuXG4gICAqL1xuICB0cmFuc2l0aXZlSW1wb3J0c09mKHNmOiB0cy5Tb3VyY2VGaWxlKTogU2V0PHRzLlNvdXJjZUZpbGU+IHtcbiAgICBjb25zdCBpbXBvcnRzID0gbmV3IFNldDx0cy5Tb3VyY2VGaWxlPigpO1xuICAgIHRoaXMudHJhbnNpdGl2ZUltcG9ydHNPZkhlbHBlcihzZiwgaW1wb3J0cyk7XG4gICAgcmV0dXJuIGltcG9ydHM7XG4gIH1cblxuICBwcml2YXRlIHRyYW5zaXRpdmVJbXBvcnRzT2ZIZWxwZXIoc2Y6IHRzLlNvdXJjZUZpbGUsIHJlc3VsdHM6IFNldDx0cy5Tb3VyY2VGaWxlPik6IHZvaWQge1xuICAgIGlmIChyZXN1bHRzLmhhcyhzZikpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgcmVzdWx0cy5hZGQoc2YpO1xuICAgIHRoaXMuaW1wb3J0c09mKHNmKS5mb3JFYWNoKGltcG9ydGVkID0+IHtcbiAgICAgIHRoaXMudHJhbnNpdGl2ZUltcG9ydHNPZkhlbHBlcihpbXBvcnRlZCwgcmVzdWx0cyk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogRmluZCBhbiBpbXBvcnQgcGF0aCBmcm9tIHRoZSBgc3RhcnRgIFNvdXJjZUZpbGUgdG8gdGhlIGBlbmRgIFNvdXJjZUZpbGUuXG4gICAqXG4gICAqIFRoaXMgZnVuY3Rpb24gaW1wbGVtZW50cyBhIGJyZWFkdGggZmlyc3Qgc2VhcmNoIHRoYXQgcmVzdWx0cyBpbiBmaW5kaW5nIHRoZVxuICAgKiBzaG9ydGVzdCBwYXRoIGJldHdlZW4gdGhlIGBzdGFydGAgYW5kIGBlbmRgIHBvaW50cy5cbiAgICpcbiAgICogQHBhcmFtIHN0YXJ0IHRoZSBzdGFydGluZyBwb2ludCBvZiB0aGUgcGF0aC5cbiAgICogQHBhcmFtIGVuZCB0aGUgZW5kaW5nIHBvaW50IG9mIHRoZSBwYXRoLlxuICAgKiBAcmV0dXJucyBhbiBhcnJheSBvZiBzb3VyY2UgZmlsZXMgdGhhdCBjb25uZWN0IHRoZSBgc3RhcnRgIGFuZCBgZW5kYCBzb3VyY2UgZmlsZXMsIG9yIGBudWxsYCBpZlxuICAgKiAgICAgbm8gcGF0aCBjb3VsZCBiZSBmb3VuZC5cbiAgICovXG4gIGZpbmRQYXRoKHN0YXJ0OiB0cy5Tb3VyY2VGaWxlLCBlbmQ6IHRzLlNvdXJjZUZpbGUpOiB0cy5Tb3VyY2VGaWxlW118bnVsbCB7XG4gICAgaWYgKHN0YXJ0ID09PSBlbmQpIHtcbiAgICAgIC8vIEVzY2FwZSBlYXJseSBmb3IgdGhlIGNhc2Ugd2hlcmUgYHN0YXJ0YCBhbmQgYGVuZGAgYXJlIHRoZSBzYW1lLlxuICAgICAgcmV0dXJuIFtzdGFydF07XG4gICAgfVxuXG4gICAgY29uc3QgZm91bmQgPSBuZXcgU2V0PHRzLlNvdXJjZUZpbGU+KFtzdGFydF0pO1xuICAgIGNvbnN0IHF1ZXVlOiBGb3VuZFtdID0gW25ldyBGb3VuZChzdGFydCwgbnVsbCldO1xuXG4gICAgd2hpbGUgKHF1ZXVlLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGN1cnJlbnQgPSBxdWV1ZS5zaGlmdCgpITtcbiAgICAgIGNvbnN0IGltcG9ydHMgPSB0aGlzLmltcG9ydHNPZihjdXJyZW50LnNvdXJjZUZpbGUpO1xuICAgICAgZm9yIChjb25zdCBpbXBvcnRlZEZpbGUgb2YgaW1wb3J0cykge1xuICAgICAgICBpZiAoIWZvdW5kLmhhcyhpbXBvcnRlZEZpbGUpKSB7XG4gICAgICAgICAgY29uc3QgbmV4dCA9IG5ldyBGb3VuZChpbXBvcnRlZEZpbGUsIGN1cnJlbnQpO1xuICAgICAgICAgIGlmIChuZXh0LnNvdXJjZUZpbGUgPT09IGVuZCkge1xuICAgICAgICAgICAgLy8gV2UgaGF2ZSBoaXQgdGhlIHRhcmdldCBgZW5kYCBwYXRoIHNvIHdlIGNhbiBzdG9wIGhlcmUuXG4gICAgICAgICAgICByZXR1cm4gbmV4dC50b1BhdGgoKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgZm91bmQuYWRkKGltcG9ydGVkRmlsZSk7XG4gICAgICAgICAgcXVldWUucHVzaChuZXh0KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSByZWNvcmQgb2YgYW4gaW1wb3J0IGZyb20gYHNmYCB0byBgaW1wb3J0ZWRgLCB0aGF0J3Mgbm90IHByZXNlbnQgaW4gdGhlIG9yaWdpbmFsXG4gICAqIGB0cy5Qcm9ncmFtYCBidXQgd2lsbCBiZSByZW1lbWJlcmVkIGJ5IHRoZSBgSW1wb3J0R3JhcGhgLlxuICAgKi9cbiAgYWRkU3ludGhldGljSW1wb3J0KHNmOiB0cy5Tb3VyY2VGaWxlLCBpbXBvcnRlZDogdHMuU291cmNlRmlsZSk6IHZvaWQge1xuICAgIGlmIChpc0xvY2FsRmlsZShpbXBvcnRlZCkpIHtcbiAgICAgIHRoaXMuaW1wb3J0c09mKHNmKS5hZGQoaW1wb3J0ZWQpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2NhbkltcG9ydHMoc2Y6IHRzLlNvdXJjZUZpbGUpOiBTZXQ8dHMuU291cmNlRmlsZT4ge1xuICAgIGNvbnN0IGltcG9ydHMgPSBuZXcgU2V0PHRzLlNvdXJjZUZpbGU+KCk7XG4gICAgLy8gTG9vayB0aHJvdWdoIHRoZSBzb3VyY2UgZmlsZSBmb3IgaW1wb3J0IHN0YXRlbWVudHMuXG4gICAgc2Yuc3RhdGVtZW50cy5mb3JFYWNoKHN0bXQgPT4ge1xuICAgICAgaWYgKCh0cy5pc0ltcG9ydERlY2xhcmF0aW9uKHN0bXQpIHx8IHRzLmlzRXhwb3J0RGVjbGFyYXRpb24oc3RtdCkpICYmXG4gICAgICAgICAgc3RtdC5tb2R1bGVTcGVjaWZpZXIgIT09IHVuZGVmaW5lZCAmJiB0cy5pc1N0cmluZ0xpdGVyYWwoc3RtdC5tb2R1bGVTcGVjaWZpZXIpKSB7XG4gICAgICAgIC8vIFJlc29sdmUgdGhlIG1vZHVsZSB0byBhIGZpbGUsIGFuZCBjaGVjayB3aGV0aGVyIHRoYXQgZmlsZSBpcyBpbiB0aGUgdHMuUHJvZ3JhbS5cbiAgICAgICAgY29uc3QgbW9kdWxlTmFtZSA9IHN0bXQubW9kdWxlU3BlY2lmaWVyLnRleHQ7XG4gICAgICAgIGNvbnN0IG1vZHVsZUZpbGUgPSB0aGlzLnJlc29sdmVyLnJlc29sdmVNb2R1bGUobW9kdWxlTmFtZSwgc2YuZmlsZU5hbWUpO1xuICAgICAgICBpZiAobW9kdWxlRmlsZSAhPT0gbnVsbCAmJiBpc0xvY2FsRmlsZShtb2R1bGVGaWxlKSkge1xuICAgICAgICAgIC8vIFJlY29yZCB0aGlzIGxvY2FsIGltcG9ydC5cbiAgICAgICAgICBpbXBvcnRzLmFkZChtb2R1bGVGaWxlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBpbXBvcnRzO1xuICB9XG59XG5cbmZ1bmN0aW9uIGlzTG9jYWxGaWxlKHNmOiB0cy5Tb3VyY2VGaWxlKTogYm9vbGVhbiB7XG4gIHJldHVybiAhc2YuZmlsZU5hbWUuZW5kc1dpdGgoJy5kLnRzJyk7XG59XG5cbi8qKlxuICogQSBoZWxwZXIgY2xhc3MgdG8gdHJhY2sgd2hpY2ggU291cmNlRmlsZXMgYXJlIGJlaW5nIHByb2Nlc3NlZCB3aGVuIHNlYXJjaGluZyBmb3IgYSBwYXRoIGluXG4gKiBgZ2V0UGF0aCgpYCBhYm92ZS5cbiAqL1xuY2xhc3MgRm91bmQge1xuICBjb25zdHJ1Y3RvcihyZWFkb25seSBzb3VyY2VGaWxlOiB0cy5Tb3VyY2VGaWxlLCByZWFkb25seSBwYXJlbnQ6IEZvdW5kfG51bGwpIHt9XG5cbiAgLyoqXG4gICAqIEJhY2sgdHJhY2sgdGhyb3VnaCB0aGlzIGZvdW5kIFNvdXJjZUZpbGUgYW5kIGl0cyBhbmNlc3RvcnMgdG8gZ2VuZXJhdGUgYW4gYXJyYXkgb2ZcbiAgICogU291cmNlRmlsZXMgdGhhdCBmb3JtIGFtIGltcG9ydCBwYXRoIGJldHdlZW4gdHdvIFNvdXJjZUZpbGVzLlxuICAgKi9cbiAgdG9QYXRoKCk6IHRzLlNvdXJjZUZpbGVbXSB7XG4gICAgY29uc3QgYXJyYXk6IHRzLlNvdXJjZUZpbGVbXSA9IFtdO1xuICAgIGxldCBjdXJyZW50OiBGb3VuZHxudWxsID0gdGhpcztcbiAgICB3aGlsZSAoY3VycmVudCAhPT0gbnVsbCkge1xuICAgICAgYXJyYXkucHVzaChjdXJyZW50LnNvdXJjZUZpbGUpO1xuICAgICAgY3VycmVudCA9IGN1cnJlbnQucGFyZW50O1xuICAgIH1cbiAgICAvLyBQdXNoaW5nIGFuZCB0aGVuIHJldmVyc2luZywgTyhuKSwgcmF0aGVyIHRoYW4gdW5zaGlmdGluZyByZXBlYXRlZGx5LCBPKG5eMiksIGF2b2lkc1xuICAgIC8vIG1hbmlwdWxhdGluZyB0aGUgYXJyYXkgb24gZXZlcnkgaXRlcmF0aW9uOiBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMjYzNzA2MjBcbiAgICByZXR1cm4gYXJyYXkucmV2ZXJzZSgpO1xuICB9XG59XG4iXX0=
|
|
@@ -37,8 +37,18 @@ export declare enum ErrorCode {
|
|
|
37
37
|
* has been discovered.
|
|
38
38
|
*/
|
|
39
39
|
UNDECORATED_CLASS_USING_ANGULAR_FEATURES = 2007,
|
|
40
|
+
/**
|
|
41
|
+
* Raised when an component cannot resolve an external resource, such as a template or a style
|
|
42
|
+
* sheet.
|
|
43
|
+
*/
|
|
44
|
+
COMPONENT_RESOURCE_NOT_FOUND = 2008,
|
|
40
45
|
SYMBOL_NOT_EXPORTED = 3001,
|
|
41
46
|
SYMBOL_EXPORTED_UNDER_DIFFERENT_NAME = 3002,
|
|
47
|
+
/**
|
|
48
|
+
* Raised when a relationship between directives and/or pipes would cause a cyclic import to be
|
|
49
|
+
* created that cannot be handled, such as in partial compilation mode.
|
|
50
|
+
*/
|
|
51
|
+
IMPORT_CYCLE_DETECTED = 3003,
|
|
42
52
|
CONFIG_FLAT_MODULE_NO_INDEX = 4001,
|
|
43
53
|
CONFIG_STRICT_TEMPLATES_IMPLIES_FULL_TEMPLATE_TYPECHECK = 4002,
|
|
44
54
|
/**
|
|
@@ -49,8 +49,18 @@
|
|
|
49
49
|
* has been discovered.
|
|
50
50
|
*/
|
|
51
51
|
ErrorCode[ErrorCode["UNDECORATED_CLASS_USING_ANGULAR_FEATURES"] = 2007] = "UNDECORATED_CLASS_USING_ANGULAR_FEATURES";
|
|
52
|
+
/**
|
|
53
|
+
* Raised when an component cannot resolve an external resource, such as a template or a style
|
|
54
|
+
* sheet.
|
|
55
|
+
*/
|
|
56
|
+
ErrorCode[ErrorCode["COMPONENT_RESOURCE_NOT_FOUND"] = 2008] = "COMPONENT_RESOURCE_NOT_FOUND";
|
|
52
57
|
ErrorCode[ErrorCode["SYMBOL_NOT_EXPORTED"] = 3001] = "SYMBOL_NOT_EXPORTED";
|
|
53
58
|
ErrorCode[ErrorCode["SYMBOL_EXPORTED_UNDER_DIFFERENT_NAME"] = 3002] = "SYMBOL_EXPORTED_UNDER_DIFFERENT_NAME";
|
|
59
|
+
/**
|
|
60
|
+
* Raised when a relationship between directives and/or pipes would cause a cyclic import to be
|
|
61
|
+
* created that cannot be handled, such as in partial compilation mode.
|
|
62
|
+
*/
|
|
63
|
+
ErrorCode[ErrorCode["IMPORT_CYCLE_DETECTED"] = 3003] = "IMPORT_CYCLE_DETECTED";
|
|
54
64
|
ErrorCode[ErrorCode["CONFIG_FLAT_MODULE_NO_INDEX"] = 4001] = "CONFIG_FLAT_MODULE_NO_INDEX";
|
|
55
65
|
ErrorCode[ErrorCode["CONFIG_STRICT_TEMPLATES_IMPLIES_FULL_TEMPLATE_TYPECHECK"] = 4002] = "CONFIG_STRICT_TEMPLATES_IMPLIES_FULL_TEMPLATE_TYPECHECK";
|
|
56
66
|
/**
|
|
@@ -168,6 +178,7 @@
|
|
|
168
178
|
*/
|
|
169
179
|
exports.COMPILER_ERRORS_WITH_GUIDES = new Set([
|
|
170
180
|
ErrorCode.DECORATOR_ARG_NOT_LITERAL,
|
|
181
|
+
ErrorCode.IMPORT_CYCLE_DETECTED,
|
|
171
182
|
ErrorCode.PARAM_MISSING_TOKEN,
|
|
172
183
|
ErrorCode.SCHEMA_INVALID_ELEMENT,
|
|
173
184
|
ErrorCode.SCHEMA_INVALID_ATTRIBUTE,
|
|
@@ -181,4 +192,4 @@
|
|
|
181
192
|
}
|
|
182
193
|
exports.ngErrorCode = ngErrorCode;
|
|
183
194
|
});
|
|
184
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JfY29kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBpbGVyLWNsaS9zcmMvbmd0c2MvZGlhZ25vc3RpY3Mvc3JjL2Vycm9yX2NvZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HOzs7Ozs7Ozs7Ozs7O0lBRUg7O09BRUc7SUFDSCxJQUFZLFNBZ0tYO0lBaEtELFdBQVksU0FBUztRQUNuQixzRkFBZ0MsQ0FBQTtRQUNoQyw4RUFBNEIsQ0FBQTtRQUM1Qiw0RUFBMkIsQ0FBQTtRQUMzQiw0RkFBbUMsQ0FBQTtRQUNuQyw0RUFBMkIsQ0FBQTtRQUUzQjs7V0FFRztRQUNILDBFQUEwQixDQUFBO1FBRTFCLDRFQUEyQixDQUFBO1FBQzNCLHNFQUF3QixDQUFBO1FBRXhCLHdGQUFpQyxDQUFBO1FBQ2pDLHNFQUF3QixDQUFBO1FBQ3hCLDBFQUEwQixDQUFBO1FBQzFCLHdGQUFpQyxDQUFBO1FBRWpDLDhGQUE4RjtRQUM5Riw0RUFBMkIsQ0FBQTtRQUUzQjs7O1dBR0c7UUFDSCwwR0FBMEMsQ0FBQTtRQUUxQzs7O1dBR0c7UUFDSCxvSEFBK0MsQ0FBQTtRQUUvQywwRUFBMEIsQ0FBQTtRQUMxQiw0R0FBMkMsQ0FBQTtRQUUzQywwRkFBa0MsQ0FBQTtRQUNsQyxrSkFBOEQsQ0FBQTtRQUU5RDs7O1dBR0c7UUFDSCxvRkFBK0IsQ0FBQTtRQUUvQjs7V0FFRztRQUNILDRFQUEyQixDQUFBO1FBRTNCOztXQUVHO1FBQ0gsNEZBQW1DLENBQUE7UUFFbkM7O1dBRUc7UUFDSCxrRkFBOEIsQ0FBQTtRQUU5Qjs7V0FFRztRQUNILGtGQUE4QixDQUFBO1FBRTlCOzs7V0FHRztRQUNILHNGQUFnQyxDQUFBO1FBRWhDOzs7V0FHRztRQUNILGdJQUFxRCxDQUFBO1FBRXJEOzs7V0FHRztRQUNILG9HQUF1QyxDQUFBO1FBRXZDOztXQUVHO1FBQ0gsa0dBQXNDLENBQUE7UUFFdEM7O1dBRUc7UUFDSCxnRkFBNkIsQ0FBQTtRQUU3Qjs7V0FFRztRQUNILG9GQUErQixDQUFBO1FBRS9COztXQUVHO1FBQ0gsb0ZBQStCLENBQUE7UUFFL0I7O1dBRUc7UUFDSCw0REFBbUIsQ0FBQTtRQUVuQjs7Ozs7Ozs7Ozs7V0FXRztRQUNILDBGQUFrQyxDQUFBO1FBRWxDOzs7Ozs7O1dBT0c7UUFDSCxnR0FBcUMsQ0FBQTtRQUVyQzs7O1dBR0c7UUFDSCwwRUFBMEIsQ0FBQTtRQUUxQjs7O1dBR0c7UUFDSCxzRkFBZ0MsQ0FBQTtRQUVoQzs7V0FFRztRQUNILHNGQUFnQyxDQUFBO1FBRWhDLCtEQUErRDtRQUMvRCx5RUFBeUU7UUFDekUsb0JBQW9CO1FBRXBCOzs7V0FHRztRQUNILHFGQUFnQyxDQUFBO0lBQ2xDLENBQUMsRUFoS1csU0FBUyxHQUFULGlCQUFTLEtBQVQsaUJBQVMsUUFnS3BCO0lBRUQ7Ozs7O09BS0c7SUFDVSxRQUFBLDJCQUEyQixHQUFHLDJCQUEyQixDQUFDO0lBRXZFOzs7O09BSUc7SUFDVSxRQUFBLDJCQUEyQixHQUFHLElBQUksR0FBRyxDQUFDO1FBQ2pELFNBQVMsQ0FBQyx5QkFBeUI7UUFDbkMsU0FBUyxDQUFDLG1CQUFtQjtRQUM3QixTQUFTLENBQUMsc0JBQXNCO1FBQ2hDLFNBQVMsQ0FBQyx3QkFBd0I7UUFDbEMsU0FBUyxDQUFDLHdCQUF3QjtLQUNuQyxDQUFDLENBQUM7SUFFSDs7T0FFRztJQUNILFNBQWdCLFdBQVcsQ0FBQyxJQUFlO1FBQ3pDLE9BQU8sUUFBUSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRkQsa0NBRUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuLyoqXG4gKiBAcHVibGljQXBpXG4gKi9cbmV4cG9ydCBlbnVtIEVycm9yQ29kZSB7XG4gIERFQ09SQVRPUl9BUkdfTk9UX0xJVEVSQUwgPSAxMDAxLFxuICBERUNPUkFUT1JfQVJJVFlfV1JPTkcgPSAxMDAyLFxuICBERUNPUkFUT1JfTk9UX0NBTExFRCA9IDEwMDMsXG4gIERFQ09SQVRPUl9PTl9BTk9OWU1PVVNfQ0xBU1MgPSAxMDA0LFxuICBERUNPUkFUT1JfVU5FWFBFQ1RFRCA9IDEwMDUsXG5cbiAgLyoqXG4gICAqIFRoaXMgZXJyb3IgY29kZSBpbmRpY2F0ZXMgdGhhdCB0aGVyZSBhcmUgaW5jb21wYXRpYmxlIGRlY29yYXRvcnMgb24gYSB0eXBlIG9yIGEgY2xhc3MgZmllbGQuXG4gICAqL1xuICBERUNPUkFUT1JfQ09MTElTSU9OID0gMTAwNixcblxuICBWQUxVRV9IQVNfV1JPTkdfVFlQRSA9IDEwMTAsXG4gIFZBTFVFX05PVF9MSVRFUkFMID0gMTAxMSxcblxuICBDT01QT05FTlRfTUlTU0lOR19URU1QTEFURSA9IDIwMDEsXG4gIFBJUEVfTUlTU0lOR19OQU1FID0gMjAwMixcbiAgUEFSQU1fTUlTU0lOR19UT0tFTiA9IDIwMDMsXG4gIERJUkVDVElWRV9NSVNTSU5HX1NFTEVDVE9SID0gMjAwNCxcblxuICAvKiogUmFpc2VkIHdoZW4gYW4gdW5kZWNvcmF0ZWQgY2xhc3MgaXMgcGFzc2VkIGluIGFzIGEgcHJvdmlkZXIgdG8gYSBtb2R1bGUgb3IgYSBkaXJlY3RpdmUuICovXG4gIFVOREVDT1JBVEVEX1BST1ZJREVSID0gMjAwNSxcblxuICAvKipcbiAgICogUmFpc2VkIHdoZW4gYSBEaXJlY3RpdmUgaW5oZXJpdHMgaXRzIGNvbnN0cnVjdG9yIGZyb20gYSBiYXNlIGNsYXNzIHdpdGhvdXQgYW4gQW5ndWxhclxuICAgKiBkZWNvcmF0b3IuXG4gICAqL1xuICBESVJFQ1RJVkVfSU5IRVJJVFNfVU5ERUNPUkFURURfQ1RPUiA9IDIwMDYsXG5cbiAgLyoqXG4gICAqIFJhaXNlZCB3aGVuIGFuIHVuZGVjb3JhdGVkIGNsYXNzIHRoYXQgaXMgdXNpbmcgQW5ndWxhciBmZWF0dXJlc1xuICAgKiBoYXMgYmVlbiBkaXNjb3ZlcmVkLlxuICAgKi9cbiAgVU5ERUNPUkFURURfQ0xBU1NfVVNJTkdfQU5HVUxBUl9GRUFUVVJFUyA9IDIwMDcsXG5cbiAgU1lNQk9MX05PVF9FWFBPUlRFRCA9IDMwMDEsXG4gIFNZTUJPTF9FWFBPUlRFRF9VTkRFUl9ESUZGRVJFTlRfTkFNRSA9IDMwMDIsXG5cbiAgQ09ORklHX0ZMQVRfTU9EVUxFX05PX0lOREVYID0gNDAwMSxcbiAgQ09ORklHX1NUUklDVF9URU1QTEFURVNfSU1QTElFU19GVUxMX1RFTVBMQVRFX1RZUEVDSEVDSyA9IDQwMDIsXG5cbiAgLyoqXG4gICAqIFJhaXNlZCB3aGVuIGEgaG9zdCBleHByZXNzaW9uIGhhcyBhIHBhcnNlIGVycm9yLCBzdWNoIGFzIGEgaG9zdCBsaXN0ZW5lciBvciBob3N0IGJpbmRpbmdcbiAgICogZXhwcmVzc2lvbiBjb250YWluaW5nIGEgcGlwZS5cbiAgICovXG4gIEhPU1RfQklORElOR19QQVJTRV9FUlJPUiA9IDUwMDEsXG5cbiAgLyoqXG4gICAqIFJhaXNlZCB3aGVuIHRoZSBjb21waWxlciBjYW5ub3QgcGFyc2UgYSBjb21wb25lbnQncyB0ZW1wbGF0ZS5cbiAgICovXG4gIFRFTVBMQVRFX1BBUlNFX0VSUk9SID0gNTAwMixcblxuICAvKipcbiAgICogUmFpc2VkIHdoZW4gYW4gTmdNb2R1bGUgY29udGFpbnMgYW4gaW52YWxpZCByZWZlcmVuY2UgaW4gYGRlY2xhcmF0aW9uc2AuXG4gICAqL1xuICBOR01PRFVMRV9JTlZBTElEX0RFQ0xBUkFUSU9OID0gNjAwMSxcblxuICAvKipcbiAgICogUmFpc2VkIHdoZW4gYW4gTmdNb2R1bGUgY29udGFpbnMgYW4gaW52YWxpZCB0eXBlIGluIGBpbXBvcnRzYC5cbiAgICovXG4gIE5HTU9EVUxFX0lOVkFMSURfSU1QT1JUID0gNjAwMixcblxuICAvKipcbiAgICogUmFpc2VkIHdoZW4gYW4gTmdNb2R1bGUgY29udGFpbnMgYW4gaW52YWxpZCB0eXBlIGluIGBleHBvcnRzYC5cbiAgICovXG4gIE5HTU9EVUxFX0lOVkFMSURfRVhQT1JUID0gNjAwMyxcblxuICAvKipcbiAgICogUmFpc2VkIHdoZW4gYW4gTmdNb2R1bGUgY29udGFpbnMgYSB0eXBlIGluIGBleHBvcnRzYCB3aGljaCBpcyBuZWl0aGVyIGluIGBkZWNsYXJhdGlvbnNgIG5vclxuICAgKiBvdGhlcndpc2UgaW1wb3J0ZWQuXG4gICAqL1xuICBOR01PRFVMRV9JTlZBTElEX1JFRVhQT1JUID0gNjAwNCxcblxuICAvKipcbiAgICogUmFpc2VkIHdoZW4gYSBgTW9kdWxlV2l0aFByb3ZpZGVyc2Agd2l0aCBhIG1pc3NpbmdcbiAgICogZ2VuZXJpYyB0eXBlIGFyZ3VtZW50IGlzIHBhc3NlZCBpbnRvIGFuIGBOZ01vZHVsZWAuXG4gICAqL1xuICBOR01PRFVMRV9NT0RVTEVfV0lUSF9QUk9WSURFUlNfTUlTU0lOR19HRU5FUklDID0gNjAwNSxcblxuICAvKipcbiAgICogUmFpc2VkIHdoZW4gYW4gTmdNb2R1bGUgZXhwb3J0cyBtdWx0aXBsZSBkaXJlY3RpdmVzL3BpcGVzIG9mIHRoZSBzYW1lIG5hbWUgYW5kIHRoZSBjb21waWxlclxuICAgKiBhdHRlbXB0cyB0byBnZW5lcmF0ZSBwcml2YXRlIHJlLWV4cG9ydHMgd2l0aGluIHRoZSBOZ01vZHVsZSBmaWxlLlxuICAgKi9cbiAgTkdNT0RVTEVfUkVFWFBPUlRfTkFNRV9DT0xMSVNJT04gPSA2MDA2LFxuXG4gIC8qKlxuICAgKiBSYWlzZWQgd2hlbiBhIGRpcmVjdGl2ZS9waXBlIGlzIHBhcnQgb2YgdGhlIGRlY2xhcmF0aW9ucyBvZiB0d28gb3IgbW9yZSBOZ01vZHVsZXMuXG4gICAqL1xuICBOR01PRFVMRV9ERUNMQVJBVElPTl9OT1RfVU5JUVVFID0gNjAwNyxcblxuICAvKipcbiAgICogQW4gZWxlbWVudCBuYW1lIGZhaWxlZCB2YWxpZGF0aW9uIGFnYWluc3QgdGhlIERPTSBzY2hlbWEuXG4gICAqL1xuICBTQ0hFTUFfSU5WQUxJRF9FTEVNRU5UID0gODAwMSxcblxuICAvKipcbiAgICogQW4gZWxlbWVudCdzIGF0dHJpYnV0ZSBuYW1lIGZhaWxlZCB2YWxpZGF0aW9uIGFnYWluc3QgdGhlIERPTSBzY2hlbWEuXG4gICAqL1xuICBTQ0hFTUFfSU5WQUxJRF9BVFRSSUJVVEUgPSA4MDAyLFxuXG4gIC8qKlxuICAgKiBObyBtYXRjaGluZyBkaXJlY3RpdmUgd2FzIGZvdW5kIGZvciBhIGAjcmVmPVwidGFyZ2V0XCJgIGV4cHJlc3Npb24uXG4gICAqL1xuICBNSVNTSU5HX1JFRkVSRU5DRV9UQVJHRVQgPSA4MDAzLFxuXG4gIC8qKlxuICAgKiBObyBtYXRjaGluZyBwaXBlIHdhcyBmb3VuZCBmb3IgYVxuICAgKi9cbiAgTUlTU0lOR19QSVBFID0gODAwNCxcblxuICAvKipcbiAgICogVGhlIGxlZnQtaGFuZCBzaWRlIG9mIGFuIGFzc2lnbm1lbnQgZXhwcmVzc2lvbiB3YXMgYSB0ZW1wbGF0ZSB2YXJpYWJsZS4gRWZmZWN0aXZlbHksIHRoZVxuICAgKiB0ZW1wbGF0ZSBsb29rZWQgbGlrZTpcbiAgICpcbiAgICogYGBgXG4gICAqIDxuZy10ZW1wbGF0ZSBsZXQtc29tZXRoaW5nPlxuICAgKiAgIDxidXR0b24gKGNsaWNrKT1cInNvbWV0aGluZyA9IC4uLlwiPi4uLjwvYnV0dG9uPlxuICAgKiA8L25nLXRlbXBsYXRlPlxuICAgKiBgYGBcbiAgICpcbiAgICogVGVtcGxhdGUgdmFyaWFibGVzIGFyZSByZWFkLW9ubHkuXG4gICAqL1xuICBXUklURV9UT19SRUFEX09OTFlfVkFSSUFCTEUgPSA4MDA1LFxuXG4gIC8qKlxuICAgKiBBIHRlbXBsYXRlIHZhcmlhYmxlIHdhcyBkZWNsYXJlZCB0d2ljZS4gRm9yIGV4YW1wbGU6XG4gICAqXG4gICAqIGBgYGh0bWxcbiAgICogPGRpdiAqbmdGb3I9XCJsZXQgaSBvZiBpdGVtczsgbGV0IGkgPSBpbmRleFwiPlxuICAgKiA8L2Rpdj5cbiAgICogYGBgXG4gICAqL1xuICBEVVBMSUNBVEVfVkFSSUFCTEVfREVDTEFSQVRJT04gPSA4MDA2LFxuXG4gIC8qKlxuICAgKiBUaGUgdGVtcGxhdGUgdHlwZS1jaGVja2luZyBlbmdpbmUgd291bGQgbmVlZCB0byBnZW5lcmF0ZSBhbiBpbmxpbmUgdHlwZSBjaGVjayBibG9jayBmb3IgYVxuICAgKiBjb21wb25lbnQsIGJ1dCB0aGUgY3VycmVudCB0eXBlLWNoZWNraW5nIGVudmlyb25tZW50IGRvZXNuJ3Qgc3VwcG9ydCBpdC5cbiAgICovXG4gIElOTElORV9UQ0JfUkVRVUlSRUQgPSA4OTAwLFxuXG4gIC8qKlxuICAgKiBUaGUgdGVtcGxhdGUgdHlwZS1jaGVja2luZyBlbmdpbmUgd291bGQgbmVlZCB0byBnZW5lcmF0ZSBhbiBpbmxpbmUgdHlwZSBjb25zdHJ1Y3RvciBmb3IgYVxuICAgKiBkaXJlY3RpdmUgb3IgY29tcG9uZW50LCBidXQgdGhlIGN1cnJlbnQgdHlwZS1jaGVja2luZyBlbnZpcm9ubWVudCBkb2Vzbid0IHN1cHBvcnQgaXQuXG4gICAqL1xuICBJTkxJTkVfVFlQRV9DVE9SX1JFUVVJUkVEID0gODkwMSxcblxuICAvKipcbiAgICogQW4gaW5qZWN0YWJsZSBhbHJlYWR5IGhhcyBhIGDJtXByb3ZgIHByb3BlcnR5LlxuICAgKi9cbiAgSU5KRUNUQUJMRV9EVVBMSUNBVEVfUFJPViA9IDkwMDEsXG5cbiAgLy8gMTBYWFggZXJyb3IgY29kZXMgYXJlIHJlc2VydmVkIGZvciBkaWFnbm9zdGljcyB3aXRoIGNhdGVnb3J5XG4gIC8vIGB0cy5EaWFnbm9zdGljQ2F0ZWdvcnkuU3VnZ2VzdGlvbmAuIFRoZXNlIGRpYWdub3N0aWNzIGFyZSBnZW5lcmF0ZWQgYnlcbiAgLy8gbGFuZ3VhZ2Ugc2VydmljZS5cblxuICAvKipcbiAgICogU3VnZ2VzdCB1c2VycyB0byBlbmFibGUgYHN0cmljdFRlbXBsYXRlc2AgdG8gbWFrZSB1c2Ugb2YgZnVsbCBjYXBhYmlsaXRpZXNcbiAgICogcHJvdmlkZWQgYnkgQW5ndWxhciBsYW5ndWFnZSBzZXJ2aWNlLlxuICAgKi9cbiAgU1VHR0VTVF9TVFJJQ1RfVEVNUExBVEVTID0gMTAwMDEsXG59XG5cbi8qKlxuICogQGludGVybmFsXG4gKiBCYXNlIFVSTCBmb3IgdGhlIGVycm9yIGRldGFpbHMgcGFnZS5cbiAqIEtlZXAgdGhpcyB2YWx1ZSBpbiBzeW5jIHdpdGggYSBzaW1pbGFyIGNvbnN0IGluXG4gKiBgcGFja2FnZXMvY29yZS9zcmMvcmVuZGVyMy9lcnJvcl9jb2RlLnRzYC5cbiAqL1xuZXhwb3J0IGNvbnN0IEVSUk9SX0RFVEFJTFNfUEFHRV9CQVNFX1VSTCA9ICdodHRwczovL2FuZ3VsYXIuaW8vZXJyb3JzJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqIENvbnRhaW5zIGEgc2V0IG9mIGVycm9yIG1lc3NhZ2VzIHRoYXQgaGF2ZSBkZXRhaWxlZCBndWlkZXMgYXQgYW5ndWxhci5pby5cbiAqIEZ1bGwgbGlzdCBvZiBhdmFpbGFibGUgZXJyb3IgZ3VpZGVzIGNhbiBiZSBmb3VuZCBhdCBodHRwczovL2FuZ3VsYXIuaW8vZXJyb3JzXG4gKi9cbmV4cG9ydCBjb25zdCBDT01QSUxFUl9FUlJPUlNfV0lUSF9HVUlERVMgPSBuZXcgU2V0KFtcbiAgRXJyb3JDb2RlLkRFQ09SQVRPUl9BUkdfTk9UX0xJVEVSQUwsXG4gIEVycm9yQ29kZS5QQVJBTV9NSVNTSU5HX1RPS0VOLFxuICBFcnJvckNvZGUuU0NIRU1BX0lOVkFMSURfRUxFTUVOVCxcbiAgRXJyb3JDb2RlLlNDSEVNQV9JTlZBTElEX0FUVFJJQlVURSxcbiAgRXJyb3JDb2RlLk1JU1NJTkdfUkVGRVJFTkNFX1RBUkdFVCxcbl0pO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgZnVuY3Rpb24gbmdFcnJvckNvZGUoY29kZTogRXJyb3JDb2RlKTogbnVtYmVyIHtcbiAgcmV0dXJuIHBhcnNlSW50KCctOTknICsgY29kZSk7XG59XG4iXX0=
|
|
195
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JfY29kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBpbGVyLWNsaS9zcmMvbmd0c2MvZGlhZ25vc3RpY3Mvc3JjL2Vycm9yX2NvZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HOzs7Ozs7Ozs7Ozs7O0lBRUg7O09BRUc7SUFDSCxJQUFZLFNBMktYO0lBM0tELFdBQVksU0FBUztRQUNuQixzRkFBZ0MsQ0FBQTtRQUNoQyw4RUFBNEIsQ0FBQTtRQUM1Qiw0RUFBMkIsQ0FBQTtRQUMzQiw0RkFBbUMsQ0FBQTtRQUNuQyw0RUFBMkIsQ0FBQTtRQUUzQjs7V0FFRztRQUNILDBFQUEwQixDQUFBO1FBRTFCLDRFQUEyQixDQUFBO1FBQzNCLHNFQUF3QixDQUFBO1FBRXhCLHdGQUFpQyxDQUFBO1FBQ2pDLHNFQUF3QixDQUFBO1FBQ3hCLDBFQUEwQixDQUFBO1FBQzFCLHdGQUFpQyxDQUFBO1FBRWpDLDhGQUE4RjtRQUM5Riw0RUFBMkIsQ0FBQTtRQUUzQjs7O1dBR0c7UUFDSCwwR0FBMEMsQ0FBQTtRQUUxQzs7O1dBR0c7UUFDSCxvSEFBK0MsQ0FBQTtRQUUvQzs7O1dBR0c7UUFDSCw0RkFBbUMsQ0FBQTtRQUVuQywwRUFBMEIsQ0FBQTtRQUMxQiw0R0FBMkMsQ0FBQTtRQUMzQzs7O1dBR0c7UUFDSCw4RUFBNEIsQ0FBQTtRQUU1QiwwRkFBa0MsQ0FBQTtRQUNsQyxrSkFBOEQsQ0FBQTtRQUU5RDs7O1dBR0c7UUFDSCxvRkFBK0IsQ0FBQTtRQUUvQjs7V0FFRztRQUNILDRFQUEyQixDQUFBO1FBRTNCOztXQUVHO1FBQ0gsNEZBQW1DLENBQUE7UUFFbkM7O1dBRUc7UUFDSCxrRkFBOEIsQ0FBQTtRQUU5Qjs7V0FFRztRQUNILGtGQUE4QixDQUFBO1FBRTlCOzs7V0FHRztRQUNILHNGQUFnQyxDQUFBO1FBRWhDOzs7V0FHRztRQUNILGdJQUFxRCxDQUFBO1FBRXJEOzs7V0FHRztRQUNILG9HQUF1QyxDQUFBO1FBRXZDOztXQUVHO1FBQ0gsa0dBQXNDLENBQUE7UUFFdEM7O1dBRUc7UUFDSCxnRkFBNkIsQ0FBQTtRQUU3Qjs7V0FFRztRQUNILG9GQUErQixDQUFBO1FBRS9COztXQUVHO1FBQ0gsb0ZBQStCLENBQUE7UUFFL0I7O1dBRUc7UUFDSCw0REFBbUIsQ0FBQTtRQUVuQjs7Ozs7Ozs7Ozs7V0FXRztRQUNILDBGQUFrQyxDQUFBO1FBRWxDOzs7Ozs7O1dBT0c7UUFDSCxnR0FBcUMsQ0FBQTtRQUVyQzs7O1dBR0c7UUFDSCwwRUFBMEIsQ0FBQTtRQUUxQjs7O1dBR0c7UUFDSCxzRkFBZ0MsQ0FBQTtRQUVoQzs7V0FFRztRQUNILHNGQUFnQyxDQUFBO1FBRWhDLCtEQUErRDtRQUMvRCx5RUFBeUU7UUFDekUsb0JBQW9CO1FBRXBCOzs7V0FHRztRQUNILHFGQUFnQyxDQUFBO0lBQ2xDLENBQUMsRUEzS1csU0FBUyxHQUFULGlCQUFTLEtBQVQsaUJBQVMsUUEyS3BCO0lBRUQ7Ozs7O09BS0c7SUFDVSxRQUFBLDJCQUEyQixHQUFHLDJCQUEyQixDQUFDO0lBRXZFOzs7O09BSUc7SUFDVSxRQUFBLDJCQUEyQixHQUFHLElBQUksR0FBRyxDQUFDO1FBQ2pELFNBQVMsQ0FBQyx5QkFBeUI7UUFDbkMsU0FBUyxDQUFDLHFCQUFxQjtRQUMvQixTQUFTLENBQUMsbUJBQW1CO1FBQzdCLFNBQVMsQ0FBQyxzQkFBc0I7UUFDaEMsU0FBUyxDQUFDLHdCQUF3QjtRQUNsQyxTQUFTLENBQUMsd0JBQXdCO0tBQ25DLENBQUMsQ0FBQztJQUVIOztPQUVHO0lBQ0gsU0FBZ0IsV0FBVyxDQUFDLElBQWU7UUFDekMsT0FBTyxRQUFRLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFGRCxrQ0FFQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG4vKipcbiAqIEBwdWJsaWNBcGlcbiAqL1xuZXhwb3J0IGVudW0gRXJyb3JDb2RlIHtcbiAgREVDT1JBVE9SX0FSR19OT1RfTElURVJBTCA9IDEwMDEsXG4gIERFQ09SQVRPUl9BUklUWV9XUk9ORyA9IDEwMDIsXG4gIERFQ09SQVRPUl9OT1RfQ0FMTEVEID0gMTAwMyxcbiAgREVDT1JBVE9SX09OX0FOT05ZTU9VU19DTEFTUyA9IDEwMDQsXG4gIERFQ09SQVRPUl9VTkVYUEVDVEVEID0gMTAwNSxcblxuICAvKipcbiAgICogVGhpcyBlcnJvciBjb2RlIGluZGljYXRlcyB0aGF0IHRoZXJlIGFyZSBpbmNvbXBhdGlibGUgZGVjb3JhdG9ycyBvbiBhIHR5cGUgb3IgYSBjbGFzcyBmaWVsZC5cbiAgICovXG4gIERFQ09SQVRPUl9DT0xMSVNJT04gPSAxMDA2LFxuXG4gIFZBTFVFX0hBU19XUk9OR19UWVBFID0gMTAxMCxcbiAgVkFMVUVfTk9UX0xJVEVSQUwgPSAxMDExLFxuXG4gIENPTVBPTkVOVF9NSVNTSU5HX1RFTVBMQVRFID0gMjAwMSxcbiAgUElQRV9NSVNTSU5HX05BTUUgPSAyMDAyLFxuICBQQVJBTV9NSVNTSU5HX1RPS0VOID0gMjAwMyxcbiAgRElSRUNUSVZFX01JU1NJTkdfU0VMRUNUT1IgPSAyMDA0LFxuXG4gIC8qKiBSYWlzZWQgd2hlbiBhbiB1bmRlY29yYXRlZCBjbGFzcyBpcyBwYXNzZWQgaW4gYXMgYSBwcm92aWRlciB0byBhIG1vZHVsZSBvciBhIGRpcmVjdGl2ZS4gKi9cbiAgVU5ERUNPUkFURURfUFJPVklERVIgPSAyMDA1LFxuXG4gIC8qKlxuICAgKiBSYWlzZWQgd2hlbiBhIERpcmVjdGl2ZSBpbmhlcml0cyBpdHMgY29uc3RydWN0b3IgZnJvbSBhIGJhc2UgY2xhc3Mgd2l0aG91dCBhbiBBbmd1bGFyXG4gICAqIGRlY29yYXRvci5cbiAgICovXG4gIERJUkVDVElWRV9JTkhFUklUU19VTkRFQ09SQVRFRF9DVE9SID0gMjAwNixcblxuICAvKipcbiAgICogUmFpc2VkIHdoZW4gYW4gdW5kZWNvcmF0ZWQgY2xhc3MgdGhhdCBpcyB1c2luZyBBbmd1bGFyIGZlYXR1cmVzXG4gICAqIGhhcyBiZWVuIGRpc2NvdmVyZWQuXG4gICAqL1xuICBVTkRFQ09SQVRFRF9DTEFTU19VU0lOR19BTkdVTEFSX0ZFQVRVUkVTID0gMjAwNyxcblxuICAvKipcbiAgICogUmFpc2VkIHdoZW4gYW4gY29tcG9uZW50IGNhbm5vdCByZXNvbHZlIGFuIGV4dGVybmFsIHJlc291cmNlLCBzdWNoIGFzIGEgdGVtcGxhdGUgb3IgYSBzdHlsZVxuICAgKiBzaGVldC5cbiAgICovXG4gIENPTVBPTkVOVF9SRVNPVVJDRV9OT1RfRk9VTkQgPSAyMDA4LFxuXG4gIFNZTUJPTF9OT1RfRVhQT1JURUQgPSAzMDAxLFxuICBTWU1CT0xfRVhQT1JURURfVU5ERVJfRElGRkVSRU5UX05BTUUgPSAzMDAyLFxuICAvKipcbiAgICogUmFpc2VkIHdoZW4gYSByZWxhdGlvbnNoaXAgYmV0d2VlbiBkaXJlY3RpdmVzIGFuZC9vciBwaXBlcyB3b3VsZCBjYXVzZSBhIGN5Y2xpYyBpbXBvcnQgdG8gYmVcbiAgICogY3JlYXRlZCB0aGF0IGNhbm5vdCBiZSBoYW5kbGVkLCBzdWNoIGFzIGluIHBhcnRpYWwgY29tcGlsYXRpb24gbW9kZS5cbiAgICovXG4gIElNUE9SVF9DWUNMRV9ERVRFQ1RFRCA9IDMwMDMsXG5cbiAgQ09ORklHX0ZMQVRfTU9EVUxFX05PX0lOREVYID0gNDAwMSxcbiAgQ09ORklHX1NUUklDVF9URU1QTEFURVNfSU1QTElFU19GVUxMX1RFTVBMQVRFX1RZUEVDSEVDSyA9IDQwMDIsXG5cbiAgLyoqXG4gICAqIFJhaXNlZCB3aGVuIGEgaG9zdCBleHByZXNzaW9uIGhhcyBhIHBhcnNlIGVycm9yLCBzdWNoIGFzIGEgaG9zdCBsaXN0ZW5lciBvciBob3N0IGJpbmRpbmdcbiAgICogZXhwcmVzc2lvbiBjb250YWluaW5nIGEgcGlwZS5cbiAgICovXG4gIEhPU1RfQklORElOR19QQVJTRV9FUlJPUiA9IDUwMDEsXG5cbiAgLyoqXG4gICAqIFJhaXNlZCB3aGVuIHRoZSBjb21waWxlciBjYW5ub3QgcGFyc2UgYSBjb21wb25lbnQncyB0ZW1wbGF0ZS5cbiAgICovXG4gIFRFTVBMQVRFX1BBUlNFX0VSUk9SID0gNTAwMixcblxuICAvKipcbiAgICogUmFpc2VkIHdoZW4gYW4gTmdNb2R1bGUgY29udGFpbnMgYW4gaW52YWxpZCByZWZlcmVuY2UgaW4gYGRlY2xhcmF0aW9uc2AuXG4gICAqL1xuICBOR01PRFVMRV9JTlZBTElEX0RFQ0xBUkFUSU9OID0gNjAwMSxcblxuICAvKipcbiAgICogUmFpc2VkIHdoZW4gYW4gTmdNb2R1bGUgY29udGFpbnMgYW4gaW52YWxpZCB0eXBlIGluIGBpbXBvcnRzYC5cbiAgICovXG4gIE5HTU9EVUxFX0lOVkFMSURfSU1QT1JUID0gNjAwMixcblxuICAvKipcbiAgICogUmFpc2VkIHdoZW4gYW4gTmdNb2R1bGUgY29udGFpbnMgYW4gaW52YWxpZCB0eXBlIGluIGBleHBvcnRzYC5cbiAgICovXG4gIE5HTU9EVUxFX0lOVkFMSURfRVhQT1JUID0gNjAwMyxcblxuICAvKipcbiAgICogUmFpc2VkIHdoZW4gYW4gTmdNb2R1bGUgY29udGFpbnMgYSB0eXBlIGluIGBleHBvcnRzYCB3aGljaCBpcyBuZWl0aGVyIGluIGBkZWNsYXJhdGlvbnNgIG5vclxuICAgKiBvdGhlcndpc2UgaW1wb3J0ZWQuXG4gICAqL1xuICBOR01PRFVMRV9JTlZBTElEX1JFRVhQT1JUID0gNjAwNCxcblxuICAvKipcbiAgICogUmFpc2VkIHdoZW4gYSBgTW9kdWxlV2l0aFByb3ZpZGVyc2Agd2l0aCBhIG1pc3NpbmdcbiAgICogZ2VuZXJpYyB0eXBlIGFyZ3VtZW50IGlzIHBhc3NlZCBpbnRvIGFuIGBOZ01vZHVsZWAuXG4gICAqL1xuICBOR01PRFVMRV9NT0RVTEVfV0lUSF9QUk9WSURFUlNfTUlTU0lOR19HRU5FUklDID0gNjAwNSxcblxuICAvKipcbiAgICogUmFpc2VkIHdoZW4gYW4gTmdNb2R1bGUgZXhwb3J0cyBtdWx0aXBsZSBkaXJlY3RpdmVzL3BpcGVzIG9mIHRoZSBzYW1lIG5hbWUgYW5kIHRoZSBjb21waWxlclxuICAgKiBhdHRlbXB0cyB0byBnZW5lcmF0ZSBwcml2YXRlIHJlLWV4cG9ydHMgd2l0aGluIHRoZSBOZ01vZHVsZSBmaWxlLlxuICAgKi9cbiAgTkdNT0RVTEVfUkVFWFBPUlRfTkFNRV9DT0xMSVNJT04gPSA2MDA2LFxuXG4gIC8qKlxuICAgKiBSYWlzZWQgd2hlbiBhIGRpcmVjdGl2ZS9waXBlIGlzIHBhcnQgb2YgdGhlIGRlY2xhcmF0aW9ucyBvZiB0d28gb3IgbW9yZSBOZ01vZHVsZXMuXG4gICAqL1xuICBOR01PRFVMRV9ERUNMQVJBVElPTl9OT1RfVU5JUVVFID0gNjAwNyxcblxuICAvKipcbiAgICogQW4gZWxlbWVudCBuYW1lIGZhaWxlZCB2YWxpZGF0aW9uIGFnYWluc3QgdGhlIERPTSBzY2hlbWEuXG4gICAqL1xuICBTQ0hFTUFfSU5WQUxJRF9FTEVNRU5UID0gODAwMSxcblxuICAvKipcbiAgICogQW4gZWxlbWVudCdzIGF0dHJpYnV0ZSBuYW1lIGZhaWxlZCB2YWxpZGF0aW9uIGFnYWluc3QgdGhlIERPTSBzY2hlbWEuXG4gICAqL1xuICBTQ0hFTUFfSU5WQUxJRF9BVFRSSUJVVEUgPSA4MDAyLFxuXG4gIC8qKlxuICAgKiBObyBtYXRjaGluZyBkaXJlY3RpdmUgd2FzIGZvdW5kIGZvciBhIGAjcmVmPVwidGFyZ2V0XCJgIGV4cHJlc3Npb24uXG4gICAqL1xuICBNSVNTSU5HX1JFRkVSRU5DRV9UQVJHRVQgPSA4MDAzLFxuXG4gIC8qKlxuICAgKiBObyBtYXRjaGluZyBwaXBlIHdhcyBmb3VuZCBmb3IgYVxuICAgKi9cbiAgTUlTU0lOR19QSVBFID0gODAwNCxcblxuICAvKipcbiAgICogVGhlIGxlZnQtaGFuZCBzaWRlIG9mIGFuIGFzc2lnbm1lbnQgZXhwcmVzc2lvbiB3YXMgYSB0ZW1wbGF0ZSB2YXJpYWJsZS4gRWZmZWN0aXZlbHksIHRoZVxuICAgKiB0ZW1wbGF0ZSBsb29rZWQgbGlrZTpcbiAgICpcbiAgICogYGBgXG4gICAqIDxuZy10ZW1wbGF0ZSBsZXQtc29tZXRoaW5nPlxuICAgKiAgIDxidXR0b24gKGNsaWNrKT1cInNvbWV0aGluZyA9IC4uLlwiPi4uLjwvYnV0dG9uPlxuICAgKiA8L25nLXRlbXBsYXRlPlxuICAgKiBgYGBcbiAgICpcbiAgICogVGVtcGxhdGUgdmFyaWFibGVzIGFyZSByZWFkLW9ubHkuXG4gICAqL1xuICBXUklURV9UT19SRUFEX09OTFlfVkFSSUFCTEUgPSA4MDA1LFxuXG4gIC8qKlxuICAgKiBBIHRlbXBsYXRlIHZhcmlhYmxlIHdhcyBkZWNsYXJlZCB0d2ljZS4gRm9yIGV4YW1wbGU6XG4gICAqXG4gICAqIGBgYGh0bWxcbiAgICogPGRpdiAqbmdGb3I9XCJsZXQgaSBvZiBpdGVtczsgbGV0IGkgPSBpbmRleFwiPlxuICAgKiA8L2Rpdj5cbiAgICogYGBgXG4gICAqL1xuICBEVVBMSUNBVEVfVkFSSUFCTEVfREVDTEFSQVRJT04gPSA4MDA2LFxuXG4gIC8qKlxuICAgKiBUaGUgdGVtcGxhdGUgdHlwZS1jaGVja2luZyBlbmdpbmUgd291bGQgbmVlZCB0byBnZW5lcmF0ZSBhbiBpbmxpbmUgdHlwZSBjaGVjayBibG9jayBmb3IgYVxuICAgKiBjb21wb25lbnQsIGJ1dCB0aGUgY3VycmVudCB0eXBlLWNoZWNraW5nIGVudmlyb25tZW50IGRvZXNuJ3Qgc3VwcG9ydCBpdC5cbiAgICovXG4gIElOTElORV9UQ0JfUkVRVUlSRUQgPSA4OTAwLFxuXG4gIC8qKlxuICAgKiBUaGUgdGVtcGxhdGUgdHlwZS1jaGVja2luZyBlbmdpbmUgd291bGQgbmVlZCB0byBnZW5lcmF0ZSBhbiBpbmxpbmUgdHlwZSBjb25zdHJ1Y3RvciBmb3IgYVxuICAgKiBkaXJlY3RpdmUgb3IgY29tcG9uZW50LCBidXQgdGhlIGN1cnJlbnQgdHlwZS1jaGVja2luZyBlbnZpcm9ubWVudCBkb2Vzbid0IHN1cHBvcnQgaXQuXG4gICAqL1xuICBJTkxJTkVfVFlQRV9DVE9SX1JFUVVJUkVEID0gODkwMSxcblxuICAvKipcbiAgICogQW4gaW5qZWN0YWJsZSBhbHJlYWR5IGhhcyBhIGDJtXByb3ZgIHByb3BlcnR5LlxuICAgKi9cbiAgSU5KRUNUQUJMRV9EVVBMSUNBVEVfUFJPViA9IDkwMDEsXG5cbiAgLy8gMTBYWFggZXJyb3IgY29kZXMgYXJlIHJlc2VydmVkIGZvciBkaWFnbm9zdGljcyB3aXRoIGNhdGVnb3J5XG4gIC8vIGB0cy5EaWFnbm9zdGljQ2F0ZWdvcnkuU3VnZ2VzdGlvbmAuIFRoZXNlIGRpYWdub3N0aWNzIGFyZSBnZW5lcmF0ZWQgYnlcbiAgLy8gbGFuZ3VhZ2Ugc2VydmljZS5cblxuICAvKipcbiAgICogU3VnZ2VzdCB1c2VycyB0byBlbmFibGUgYHN0cmljdFRlbXBsYXRlc2AgdG8gbWFrZSB1c2Ugb2YgZnVsbCBjYXBhYmlsaXRpZXNcbiAgICogcHJvdmlkZWQgYnkgQW5ndWxhciBsYW5ndWFnZSBzZXJ2aWNlLlxuICAgKi9cbiAgU1VHR0VTVF9TVFJJQ1RfVEVNUExBVEVTID0gMTAwMDEsXG59XG5cbi8qKlxuICogQGludGVybmFsXG4gKiBCYXNlIFVSTCBmb3IgdGhlIGVycm9yIGRldGFpbHMgcGFnZS5cbiAqIEtlZXAgdGhpcyB2YWx1ZSBpbiBzeW5jIHdpdGggYSBzaW1pbGFyIGNvbnN0IGluXG4gKiBgcGFja2FnZXMvY29yZS9zcmMvcmVuZGVyMy9lcnJvcl9jb2RlLnRzYC5cbiAqL1xuZXhwb3J0IGNvbnN0IEVSUk9SX0RFVEFJTFNfUEFHRV9CQVNFX1VSTCA9ICdodHRwczovL2FuZ3VsYXIuaW8vZXJyb3JzJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqIENvbnRhaW5zIGEgc2V0IG9mIGVycm9yIG1lc3NhZ2VzIHRoYXQgaGF2ZSBkZXRhaWxlZCBndWlkZXMgYXQgYW5ndWxhci5pby5cbiAqIEZ1bGwgbGlzdCBvZiBhdmFpbGFibGUgZXJyb3IgZ3VpZGVzIGNhbiBiZSBmb3VuZCBhdCBodHRwczovL2FuZ3VsYXIuaW8vZXJyb3JzXG4gKi9cbmV4cG9ydCBjb25zdCBDT01QSUxFUl9FUlJPUlNfV0lUSF9HVUlERVMgPSBuZXcgU2V0KFtcbiAgRXJyb3JDb2RlLkRFQ09SQVRPUl9BUkdfTk9UX0xJVEVSQUwsXG4gIEVycm9yQ29kZS5JTVBPUlRfQ1lDTEVfREVURUNURUQsXG4gIEVycm9yQ29kZS5QQVJBTV9NSVNTSU5HX1RPS0VOLFxuICBFcnJvckNvZGUuU0NIRU1BX0lOVkFMSURfRUxFTUVOVCxcbiAgRXJyb3JDb2RlLlNDSEVNQV9JTlZBTElEX0FUVFJJQlVURSxcbiAgRXJyb3JDb2RlLk1JU1NJTkdfUkVGRVJFTkNFX1RBUkdFVCxcbl0pO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgZnVuY3Rpb24gbmdFcnJvckNvZGUoY29kZTogRXJyb3JDb2RlKTogbnVtYmVyIHtcbiAgcmV0dXJuIHBhcnNlSW50KCctOTknICsgY29kZSk7XG59XG4iXX0=
|
|
@@ -231,4 +231,4 @@
|
|
|
231
231
|
}());
|
|
232
232
|
exports.SourceFileLoader = SourceFileLoader;
|
|
233
233
|
});
|
|
234
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlX2ZpbGVfbG9hZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcGlsZXItY2xpL3NyYy9uZ3RzYy9zb3VyY2VtYXBzL3NyYy9zb3VyY2VfZmlsZV9sb2FkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztJQUFBOzs7Ozs7T0FNRztJQUNILHlEQUFrRjtJQUtsRixnR0FBK0M7SUFFL0MsMEZBQXlDO0lBRXpDLElBQU0sY0FBYyxHQUFHLDJCQUEyQixDQUFDO0lBRW5EOzs7Ozs7OztPQVFHO0lBQ0g7UUFHRSwwQkFDWSxFQUFzQixFQUFVLE1BQWM7UUFDdEQsK0VBQStFO1FBQ3ZFLFNBQXlDO1lBRnpDLE9BQUUsR0FBRixFQUFFLENBQW9CO1lBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBUTtZQUU5QyxjQUFTLEdBQVQsU0FBUyxDQUFnQztZQUw3QyxpQkFBWSxHQUFxQixFQUFFLENBQUM7UUFLWSxDQUFDO1FBNkJ6RCx5Q0FBYyxHQUFkLFVBQ0ksVUFBMEIsRUFBRSxRQUE0QixFQUN4RCxVQUFrQztZQUROLHlCQUFBLEVBQUEsZUFBNEI7WUFDeEQsMkJBQUEsRUFBQSxpQkFBa0M7WUFDcEMsSUFBTSxjQUFjLEdBQUcsUUFBUSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsOEJBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLDhCQUFhLENBQUMsVUFBVSxDQUFDO1lBQzdGLElBQU0sYUFBYSxHQUNmLFVBQVUsdUJBQUssTUFBTSxFQUFFLDhCQUFhLENBQUMsUUFBUSxJQUFLLFVBQVUsQ0FBQyxDQUFDO1lBQ2xFLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLFVBQVUsRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQzFGLENBQUM7UUFFRDs7Ozs7Ozs7Ozs7Ozs7O1dBZUc7UUFDSyxpREFBc0IsR0FBOUIsVUFDSSxV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Q0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0IsQ0FBQztRQUVPLDhDQUFtQixHQUEzQixVQUE0QixRQUFnQjtZQUMxQyxJQUFJLHVCQUF1QixHQUFHLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1lBQ2xELE9BQU8sdUJBQXVCLEdBQUcsQ0FBQztnQkFDM0IsQ0FBQyxRQUFRLENBQUMsdUJBQXVCLENBQUMsS0FBSyxJQUFJO29CQUMxQyxRQUFRLENBQUMsdUJBQXVCLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRTtnQkFDbkQsdUJBQXVCLEVBQUUsQ0FBQzthQUMzQjtZQUNELElBQUksaUJBQWlCLEdBQUcsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsdUJBQXVCLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDaEYsSUFBSSxpQkFBaUIsS0FBSyxDQUFDLENBQUMsRUFBRTtnQkFDNUIsaUJBQWlCLEdBQUcsQ0FBQyxDQUFDO2FBQ3ZCO1lBQ0QsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDLGlCQUFpQixHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ2hELENBQUM7UUFFRDs7Ozs7OztXQU9HO1FBQ0ssZ0RBQXFCLEdBQTdCLFVBQThCLElBQVk7WUFBMUMsaUJBR0M7WUFGQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQ2YsY0FBYyxFQUFFLFVBQUMsQ0FBUyxFQUFFLE1BQWMsSUFBSyxPQUFBLEtBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksRUFBRSxFQUExQyxDQUEwQyxDQUFDLENBQUM7UUFDakcsQ0FBQztRQUNILHVCQUFDO0lBQUQsQ0FBQyxBQWxQRCxJQWtQQztJQWxQWSw0Q0FBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cbmltcG9ydCB7Y29tbWVudFJlZ2V4LCBmcm9tQ29tbWVudCwgbWFwRmlsZUNvbW1lbnRSZWdleH0gZnJvbSAnY29udmVydC1zb3VyY2UtbWFwJztcblxuaW1wb3J0IHtBYnNvbHV0ZUZzUGF0aCwgUmVhZG9ubHlGaWxlU3lzdGVtfSBmcm9tICcuLi8uLi9maWxlX3N5c3RlbSc7XG5pbXBvcnQge0xvZ2dlcn0gZnJvbSAnLi4vLi4vbG9nZ2luZyc7XG5cbmltcG9ydCB7Q29udGVudE9yaWdpbn0gZnJvbSAnLi9jb250ZW50X29yaWdpbic7XG5pbXBvcnQge01hcEFuZFBhdGgsIFJhd1NvdXJjZU1hcCwgU291cmNlTWFwSW5mb30gZnJvbSAnLi9yYXdfc291cmNlX21hcCc7XG5pbXBvcnQge1NvdXJjZUZpbGV9IGZyb20gJy4vc291cmNlX2ZpbGUnO1xuXG5jb25zdCBTQ0hFTUVfTUFUQ0hFUiA9IC9eKFthLXpdW2EtejAtOS4tXSopOlxcL1xcLy9pO1xuXG4vKipcbiAqIFRoaXMgY2xhc3MgY2FuIGJlIHVzZWQgdG8gbG9hZCBhIHNvdXJjZSBmaWxlLCBpdHMgYXNzb2NpYXRlZCBzb3VyY2UgbWFwIGFuZCBhbnkgdXBzdHJlYW0gc291cmNlcy5cbiAqXG4gKiBTaW5jZSBhIHNvdXJjZSBmaWxlIG1pZ2h0IHJlZmVyZW5jZSAob3IgaW5jbHVkZSkgYSBzb3VyY2UgbWFwLCB0aGlzIGNsYXNzIGNhbiBsb2FkIHRob3NlIHRvby5cbiAqIFNpbmNlIGEgc291cmNlIG1hcCBtaWdodCByZWZlcmVuY2Ugb3RoZXIgc291cmNlIGZpbGVzLCB0aGVzZSBhcmUgYWxzbyBsb2FkZWQgYXMgbmVlZGVkLlxuICpcbiAqIFRoaXMgaXMgZG9uZSByZWN1cnNpdmVseS4gVGhlIHJlc3VsdCBpcyBhIFwidHJlZVwiIG9mIGBTb3VyY2VGaWxlYCBvYmplY3RzLCBlYWNoIGNvbnRhaW5pbmdcbiAqIG1hcHBpbmdzIHRvIG90aGVyIGBTb3VyY2VGaWxlYCBvYmplY3RzIGFzIG5lY2Vzc2FyeS5cbiAqL1xuZXhwb3J0IGNsYXNzIFNvdXJjZUZpbGVMb2FkZXIge1xuICBwcml2YXRlIGN1cnJlbnRQYXRoczogQWJzb2x1dGVGc1BhdGhbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgICAgcHJpdmF0ZSBmczogUmVhZG9ubHlGaWxlU3lzdGVtLCBwcml2YXRlIGxvZ2dlcjogTG9nZ2VyLFxuICAgICAgLyoqIEEgbWFwIG9mIFVSTCBzY2hlbWVzIHRvIGJhc2UgcGF0aHMuIFRoZSBzY2hlbWUgbmFtZSBzaG91bGQgYmUgbG93ZXJjYXNlLiAqL1xuICAgICAgcHJpdmF0ZSBzY2hlbWVNYXA6IFJlY29yZDxzdHJpbmcsIEFic29sdXRlRnNQYXRoPikge31cblxuICAvKipcbiAgICogTG9hZCBhIHNvdXJjZSBmaWxlIGZyb20gdGhlIHByb3ZpZGVkIGNvbnRlbnQgYW5kIHNvdXJjZSBtYXAsIGFuZCByZWN1cnNpdmVseSBsb2FkIGFueVxuICAgKiByZWZlcmVuY2VkIHNvdXJjZSBmaWxlcy5cbiAgICpcbiAgICogQHBhcmFtIHNvdXJjZVBhdGggVGhlIHBhdGggdG8gdGhlIHNvdXJjZSBmaWxlIHRvIGxvYWQuXG4gICAqIEBwYXJhbSBjb250ZW50cyBUaGUgY29udGVudHMgb2YgdGhlIHNvdXJjZSBmaWxlIHRvIGxvYWQuXG4gICAqIEBwYXJhbSBtYXBBbmRQYXRoIFRoZSByYXcgc291cmNlLW1hcCBhbmQgdGhlIHBhdGggdG8gdGhlIHNvdXJjZS1tYXAgZmlsZS5cbiAgICogQHJldHVybnMgYSBTb3VyY2VGaWxlIG9iamVjdCBjcmVhdGVkIGZyb20gdGhlIGBjb250ZW50c2AgYW5kIHByb3ZpZGVkIHNvdXJjZS1tYXAgaW5mby5cbiAgICovXG4gIGxvYWRTb3VyY2VGaWxlKHNvdXJjZVBhdGg6IEFic29sdXRlRnNQYXRoLCBjb250ZW50czogc3RyaW5nLCBtYXBBbmRQYXRoOiBNYXBBbmRQYXRoKTogU291cmNlRmlsZTtcbiAgLyoqXG4gICAqIExvYWQgYSBzb3VyY2UgZmlsZSBmcm9tIHRoZSBwcm92aWRlZCBjb250ZW50LCBjb21wdXRlIGl0cyBzb3VyY2UgbWFwLCBhbmQgcmVjdXJzaXZlbHkgbG9hZCBhbnlcbiAgICogcmVmZXJlbmNlZCBzb3VyY2UgZmlsZXMuXG4gICAqXG4gICAqIEBwYXJhbSBzb3VyY2VQYXRoIFRoZSBwYXRoIHRvIHRoZSBzb3VyY2UgZmlsZSB0byBsb2FkLlxuICAgKiBAcGFyYW0gY29udGVudHMgVGhlIGNvbnRlbnRzIG9mIHRoZSBzb3VyY2UgZmlsZSB0byBsb2FkLlxuICAgKiBAcmV0dXJucyBhIFNvdXJjZUZpbGUgb2JqZWN0IGNyZWF0ZWQgZnJvbSB0aGUgYGNvbnRlbnRzYCBhbmQgY29tcHV0ZWQgc291cmNlLW1hcCBpbmZvLlxuICAgKi9cbiAgbG9hZFNvdXJjZUZpbGUoc291cmNlUGF0aDogQWJzb2x1dGVGc1BhdGgsIGNvbnRlbnRzOiBzdHJpbmcpOiBTb3VyY2VGaWxlO1xuICAvKipcbiAgICogTG9hZCBhIHNvdXJjZSBmaWxlIGZyb20gdGhlIGZpbGUtc3lzdGVtLCBjb21wdXRlIGl0cyBzb3VyY2UgbWFwLCBhbmQgcmVjdXJzaXZlbHkgbG9hZCBhbnlcbiAgICogcmVmZXJlbmNlZCBzb3VyY2UgZmlsZXMuXG4gICAqXG4gICAqIEBwYXJhbSBzb3VyY2VQYXRoIFRoZSBwYXRoIHRvIHRoZSBzb3VyY2UgZmlsZSB0byBsb2FkLlxuICAgKiBAcmV0dXJucyBhIFNvdXJjZUZpbGUgb2JqZWN0IGlmIGl0cyBjb250ZW50cyBjb3VsZCBiZSBsb2FkZWQgZnJvbSBkaXNrLCBvciBudWxsIG90aGVyd2lzZS5cbiAgICovXG4gIGxvYWRTb3VyY2VGaWxlKHNvdXJjZVBhdGg6IEFic29sdXRlRnNQYXRoKTogU291cmNlRmlsZXxudWxsO1xuICBsb2FkU291cmNlRmlsZShcbiAgICAgIHNvdXJjZVBhdGg6IEFic29sdXRlRnNQYXRoLCBjb250ZW50czogc3RyaW5nfG51bGwgPSBudWxsLFxuICAgICAgbWFwQW5kUGF0aDogTWFwQW5kUGF0aHxudWxsID0gbnVsbCk6IFNvdXJjZUZpbGV8bnVsbCB7XG4gICAgY29uc3QgY29udGVudHNPcmlnaW4gPSBjb250ZW50cyAhPT0gbnVsbCA/IENvbnRlbnRPcmlnaW4uUHJvdmlkZWQgOiBDb250ZW50T3JpZ2luLkZpbGVTeXN0ZW07XG4gICAgY29uc3Qgc291cmNlTWFwSW5mbzogU291cmNlTWFwSW5mb3xudWxsID1cbiAgICAgICAgbWFwQW5kUGF0aCAmJiB7b3JpZ2luOiBDb250ZW50T3JpZ2luLlByb3ZpZGVkLCAuLi5tYXBBbmRQYXRofTtcbiAgICByZXR1cm4gdGhpcy5sb2FkU291cmNlRmlsZUludGVybmFsKHNvdXJjZVBhdGgsIGNvbnRlbnRzLCBjb250ZW50c09yaWdpbiwgc291cmNlTWFwSW5mbyk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIG92ZXJsb2FkIHVzZWQgaW50ZXJuYWxseSB0byBsb2FkIHNvdXJjZSBmaWxlcyByZWZlcmVuY2VkIGluIGEgc291cmNlLW1hcC5cbiAgICpcbiAgICogSW4gdGhpcyBjYXNlIHRoZXJlIGlzIG5vIGd1YXJhbnRlZSB0aGF0IGl0IHdpbGwgcmV0dXJuIGEgbm9uLW51bGwgU291cmNlTWFwLlxuICAgKlxuICAgKiBAcGFyYW0gc291cmNlUGF0aCBUaGUgcGF0aCB0byB0aGUgc291cmNlIGZpbGUgdG8gbG9hZC5cbiAgICogQHBhcmFtIGNvbnRlbnRzIFRoZSBjb250ZW50cyBvZiB0aGUgc291cmNlIGZpbGUgdG8gbG9hZCwgaWYgcHJvdmlkZWQgaW5saW5lLiBJZiBgbnVsbGAsXG4gICAqICAgICB0aGUgY29udGVudHMgd2lsbCBiZSByZWFkIGZyb20gdGhlIGZpbGUgYXQgdGhlIGBzb3VyY2VQYXRoYC5cbiAgICogQHBhcmFtIHNvdXJjZU9yaWdpbiBEZXNjcmliZXMgd2hlcmUgdGhlIHNvdXJjZSBjb250ZW50IGNhbWUgZnJvbS5cbiAgICogQHBhcmFtIHNvdXJjZU1hcEluZm8gVGhlIHJhdyBjb250ZW50cyBhbmQgcGF0aCBvZiB0aGUgc291cmNlLW1hcCBmaWxlLiBJZiBgbnVsbGAgdGhlXG4gICAqICAgICBzb3VyY2UtbWFwIHdpbGwgYmUgY29tcHV0ZWQgZnJvbSB0aGUgY29udGVudHMgb2YgdGhlIHNvdXJjZSBmaWxlLCBlaXRoZXIgaW5saW5lIG9yIGxvYWRlZFxuICAgKiAgICAgZnJvbSB0aGUgZmlsZS1zeXN0ZW0uXG4gICAqXG4gICAqIEByZXR1cm5zIGEgU291cmNlRmlsZSBpZiB0aGUgY29udGVudCBmb3Igb25lIHdhcyBwcm92aWRlZCBvciB3YXMgYWJsZSB0byBiZSBsb2FkZWQgZnJvbSBkaXNrLFxuICAgKiBgbnVsbGAgb3RoZXJ3aXNlLlxuICAgKi9cbiAgcHJpdmF0ZSBsb2FkU291cmNlRmlsZUludGVybmFsKFxuICAgICAgc291cmNlUGF0aDogQWJzb2x1dGVGc1BhdGgsIGNvbnRlbnRzOiBzdHJpbmd8bnVsbCwgc291cmNlT3JpZ2luOiBDb250ZW50T3JpZ2luLFxuICAgICAgc291cmNlTWFwSW5mbzogU291cmNlTWFwSW5mb3xudWxsKTogU291cmNlRmlsZXxudWxsIHtcbiAgICBjb25zdCBwcmV2aW91c1BhdGhzID0gdGhpcy5jdXJyZW50UGF0aHMuc2xpY2UoKTtcbiAgICB0cnkge1xuICAgICAgaWYgKGNvbnRlbnRzID09PSBudWxsKSB7XG4gICAgICAgIGlmICghdGhpcy5mcy5leGlzdHMoc291cmNlUGF0aCkpIHtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBjb250ZW50cyA9IHRoaXMucmVhZFNvdXJjZUZpbGUoc291cmNlUGF0aCk7XG4gICAgICB9XG5cbiAgICAgIC8vIElmIG5vdCBwcm92aWRlZCB0cnkgdG8gbG9hZCB0aGUgc291cmNlIG1hcCBiYXNlZCBvbiB0aGUgc291cmNlIGl0c2VsZlxuICAgICAgaWYgKHNvdXJjZU1hcEluZm8gPT09IG51bGwpIHtcbiAgICAgICAgc291cmNlTWFwSW5mbyA9IHRoaXMubG9hZFNvdXJjZU1hcChzb3VyY2VQYXRoLCBjb250ZW50cywgc291cmNlT3JpZ2luKTtcbiAgICAgIH1cblxuICAgICAgbGV0IHNvdXJjZXM6IChTb3VyY2VGaWxlfG51bGwpW10gPSBbXTtcbiAgICAgIGlmIChzb3VyY2VNYXBJbmZvICE9PSBudWxsKSB7XG4gICAgICAgIGNvbnN0IGJhc2VQYXRoID0gc291cmNlTWFwSW5mby5tYXBQYXRoIHx8IHNvdXJjZVBhdGg7XG4gICAgICAgIHNvdXJjZXMgPSB0aGlzLnByb2Nlc3NTb3VyY2VzKGJhc2VQYXRoLCBzb3VyY2VNYXBJbmZvKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG5ldyBTb3VyY2VGaWxlKHNvdXJjZVBhdGgsIGNvbnRlbnRzLCBzb3VyY2VNYXBJbmZvLCBzb3VyY2VzLCB0aGlzLmZzKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aGlzLmxvZ2dlci53YXJuKFxuICAgICAgICAgIGBVbmFibGUgdG8gZnVsbHkgbG9hZCAke3NvdXJjZVBhdGh9IGZvciBzb3VyY2UtbWFwIGZsYXR0ZW5pbmc6ICR7ZS5tZXNzYWdlfWApO1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIC8vIFdlIGFyZSBmaW5pc2hlZCB3aXRoIHRoaXMgcmVjdXJzaW9uIHNvIHJldmVydCB0aGUgcGF0aHMgYmVpbmcgdHJhY2tlZFxuICAgICAgdGhpcy5jdXJyZW50UGF0aHMgPSBwcmV2aW91c1BhdGhzO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBGaW5kIHRoZSBzb3VyY2UgbWFwIGFzc29jaWF0ZWQgd2l0aCB0aGUgc291cmNlIGZpbGUgd2hvc2UgYHNvdXJjZVBhdGhgIGFuZCBgY29udGVudHNgIGFyZVxuICAgKiBwcm92aWRlZC5cbiAgICpcbiAgICogU291cmNlIG1hcHMgY2FuIGJlIGlubGluZSwgYXMgcGFydCBvZiBhIGJhc2U2NCBlbmNvZGVkIGNvbW1lbnQsIG9yIGV4dGVybmFsIGFzIGEgc2VwYXJhdGUgZmlsZVxuICAgKiB3aG9zZSBwYXRoIGlzIGluZGljYXRlZCBpbiBhIGNvbW1lbnQgb3IgaW1wbGllZCBmcm9tIHRoZSBuYW1lIG9mIHRoZSBzb3VyY2UgZmlsZSBpdHNlbGYuXG4gICAqXG4gICAqIEBwYXJhbSBzb3VyY2VQYXRoIHRoZSBwYXRoIHRvIHRoZSBzb3VyY2UgZmlsZS5cbiAgICogQHBhcmFtIHNvdXJjZUNvbnRlbnRzIHRoZSBjb250ZW50cyBvZiB0aGUgc291cmNlIGZpbGUuXG4gICAqIEBwYXJhbSBzb3VyY2VPcmlnaW4gd2hlcmUgdGhlIGNvbnRlbnQgb2YgdGhlIHNvdXJjZSBmaWxlIGNhbWUgZnJvbS5cbiAgICogQHJldHVybnMgdGhlIHBhcnNlZCBjb250ZW50cyBhbmQgcGF0aCBvZiB0aGUgc291cmNlLW1hcCwgaWYgbG9hZGluZyB3YXMgc3VjY2Vzc2Z1bCwgbnVsbFxuICAgKiAgICAgb3RoZXJ3aXNlLlxuICAgKi9cbiAgcHJpdmF0ZSBsb2FkU291cmNlTWFwKFxuICAgICAgc291cmNlUGF0aDogQWJzb2x1dGVGc1BhdGgsIHNvdXJjZUNvbnRlbnRzOiBzdHJpbmcsXG4gICAgICBzb3VyY2VPcmlnaW46IENvbnRlbnRPcmlnaW4pOiBTb3VyY2VNYXBJbmZvfG51bGwge1xuICAgIC8vIE9ubHkgY29uc2lkZXIgYSBzb3VyY2UtbWFwIGNvbW1lbnQgZnJvbSB0aGUgbGFzdCBub24tZW1wdHkgbGluZSBvZiB0aGUgZmlsZSwgaW4gY2FzZSB0aGVyZVxuICAgIC8vIGFyZSBlbWJlZGRlZCBzb3VyY2UtbWFwIGNvbW1lbnRzIGVsc2V3aGVyZSBpbiB0aGUgZmlsZSAoYXMgY2FuIGJlIHRoZSBjYXNlIHdpdGggYnVuZGxlcnMgbGlrZVxuICAgIC8vIHdlYnBhY2spLlxuICAgIGNvbnN0IGxhc3RMaW5lID0gdGhpcy5nZXRMYXN0Tm9uRW1wdHlMaW5lKHNvdXJjZUNvbnRlbnRzKTtcbiAgICBjb25zdCBpbmxpbmUgPSBjb21tZW50UmVnZXguZXhlYyhsYXN0TGluZSk7XG4gICAgaWYgKGlubGluZSAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbWFwOiBmcm9tQ29tbWVudChpbmxpbmUucG9wKCkhKS5zb3VyY2VtYXAsXG4gICAgICAgIG1hcFBhdGg6IG51bGwsXG4gICAgICAgIG9yaWdpbjogQ29udGVudE9yaWdpbi5JbmxpbmUsXG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmIChzb3VyY2VPcmlnaW4gPT09IENvbnRlbnRPcmlnaW4uSW5saW5lKSB7XG4gICAgICAvLyBUaGUgc291cmNlIGZpbGUgd2FzIHByb3ZpZGVkIGlubGluZSBhbmQgaXRzIGNvbnRlbnRzIGRpZCBub3QgaW5jbHVkZSBhbiBpbmxpbmUgc291cmNlLW1hcC5cbiAgICAgIC8vIFNvIHdlIGRvbid0IHRyeSB0byBsb2FkIGFuIGV4dGVybmFsIHNvdXJjZS1tYXAgZnJvbSB0aGUgZmlsZS1zeXN0ZW0sIHNpbmNlIHRoaXMgY2FuIGxlYWQgdG9cbiAgICAgIC8vIGludmFsaWQgY2lyY3VsYXIgZGVwZW5kZW5jaWVzLlxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgZXh0ZXJuYWwgPSBtYXBGaWxlQ29tbWVudFJlZ2V4LmV4ZWMobGFzdExpbmUpO1xuICAgIGlmIChleHRlcm5hbCkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgZmlsZU5hbWUgPSBleHRlcm5hbFsxXSB8fCBleHRlcm5hbFsyXTtcbiAgICAgICAgY29uc3QgZXh0ZXJuYWxNYXBQYXRoID0gdGhpcy5mcy5yZXNvbHZlKHRoaXMuZnMuZGlybmFtZShzb3VyY2VQYXRoKSwgZmlsZU5hbWUpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIG1hcDogdGhpcy5yZWFkUmF3U291cmNlTWFwKGV4dGVybmFsTWFwUGF0aCksXG4gICAgICAgICAgbWFwUGF0aDogZXh0ZXJuYWxNYXBQYXRoLFxuICAgICAgICAgIG9yaWdpbjogQ29udGVudE9yaWdpbi5GaWxlU3lzdGVtLFxuICAgICAgICB9O1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICB0aGlzLmxvZ2dlci53YXJuKFxuICAgICAgICAgICAgYFVuYWJsZSB0byBmdWxseSBsb2FkICR7c291cmNlUGF0aH0gZm9yIHNvdXJjZS1tYXAgZmxhdHRlbmluZzogJHtlLm1lc3NhZ2V9YCk7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGltcGxpZWRNYXBQYXRoID0gdGhpcy5mcy5yZXNvbHZlKHNvdXJjZVBhdGggKyAnLm1hcCcpO1xuICAgIGlmICh0aGlzLmZzLmV4aXN0cyhpbXBsaWVkTWFwUGF0aCkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG1hcDogdGhpcy5yZWFkUmF3U291cmNlTWFwKGltcGxpZWRNYXBQYXRoKSxcbiAgICAgICAgbWFwUGF0aDogaW1wbGllZE1hcFBhdGgsXG4gICAgICAgIG9yaWdpbjogQ29udGVudE9yaWdpbi5GaWxlU3lzdGVtLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBJdGVyYXRlIG92ZXIgZWFjaCBvZiB0aGUgXCJzb3VyY2VzXCIgZm9yIHRoaXMgc291cmNlIGZpbGUncyBzb3VyY2UgbWFwLCByZWN1cnNpdmVseSBsb2FkaW5nIGVhY2hcbiAgICogc291cmNlIGZpbGUgYW5kIGl0cyBhc3NvY2lhdGVkIHNvdXJjZSBtYXAuXG4gICAqL1xuICBwcml2YXRlIHByb2Nlc3NTb3VyY2VzKGJhc2VQYXRoOiBBYnNvbHV0ZUZzUGF0aCwge21hcCwgb3JpZ2luOiBzb3VyY2VNYXBPcmlnaW59OiBTb3VyY2VNYXBJbmZvKTpcbiAgICAgIChTb3VyY2VGaWxlfG51bGwpW10ge1xuICAgIGNvbnN0IHNvdXJjZVJvb3QgPSB0aGlzLmZzLnJlc29sdmUoXG4gICAgICAgIHRoaXMuZnMuZGlybmFtZShiYXNlUGF0aCksIHRoaXMucmVwbGFjZVNjaGVtZVdpdGhQYXRoKG1hcC5zb3VyY2VSb290IHx8ICcnKSk7XG4gICAgcmV0dXJuIG1hcC5zb3VyY2VzLm1hcCgoc291cmNlLCBpbmRleCkgPT4ge1xuICAgICAgY29uc3QgcGF0aCA9IHRoaXMuZnMucmVzb2x2ZShzb3VyY2VSb290LCB0aGlzLnJlcGxhY2VTY2hlbWVXaXRoUGF0aChzb3VyY2UpKTtcbiAgICAgIGNvbnN0IGNvbnRlbnQgPSBtYXAuc291cmNlc0NvbnRlbnQgJiYgbWFwLnNvdXJjZXNDb250ZW50W2luZGV4XSB8fCBudWxsO1xuICAgICAgLy8gVGhlIG9yaWdpbiBvZiB0aGlzIHNvdXJjZSBmaWxlIGlzIFwiaW5saW5lXCIgaWYgd2UgZXh0cmFjdGVkIGl0IGZyb20gdGhlIHNvdXJjZS1tYXAnc1xuICAgICAgLy8gYHNvdXJjZXNDb250ZW50YCwgZXhjZXB0IHdoZW4gdGhlIHNvdXJjZS1tYXAgaXRzZWxmIHdhcyBcInByb3ZpZGVkXCIgaW4tbWVtb3J5LlxuICAgICAgLy8gQW4gaW5saW5lIHNvdXJjZSBmaWxlIGlzIHRyZWF0ZWQgYXMgaWYgaXQgd2VyZSBmcm9tIHRoZSBmaWxlLXN5c3RlbSBpZiB0aGUgc291cmNlLW1hcCB0aGF0XG4gICAgICAvLyBjb250YWlucyBpdCB3YXMgcHJvdmlkZWQgaW4tbWVtb3J5LiBUaGUgZmlyc3QgY2FsbCB0byBgbG9hZFNvdXJjZUZpbGUoKWAgaXMgc3BlY2lhbCBpbiB0aGF0XG4gICAgICAvLyBpZiB5b3UgXCJwcm92aWRlXCIgdGhlIGNvbnRlbnRzIG9mIHRoZSBzb3VyY2UtbWFwIGluLW1lbW9yeSB0aGVuIHdlIGRvbid0IHdhbnQgdG8gYmxvY2tcbiAgICAgIC8vIGxvYWRpbmcgc291cmNlcyBmcm9tIHRoZSBmaWxlLXN5c3RlbSBqdXN0IGJlY2F1c2UgdGhpcyBzb3VyY2UtbWFwIGhhZCBhbiBpbmxpbmUgc291cmNlLlxuICAgICAgY29uc3Qgc291cmNlT3JpZ2luID0gY29udGVudCAhPT0gbnVsbCAmJiBzb3VyY2VNYXBPcmlnaW4gIT09IENvbnRlbnRPcmlnaW4uUHJvdmlkZWQgP1xuICAgICAgICAgIENvbnRlbnRPcmlnaW4uSW5saW5lIDpcbiAgICAgICAgICBDb250ZW50T3JpZ2luLkZpbGVTeXN0ZW07XG4gICAgICByZXR1cm4gdGhpcy5sb2FkU291cmNlRmlsZUludGVybmFsKHBhdGgsIGNvbnRlbnQsIHNvdXJjZU9yaWdpbiwgbnVsbCk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogTG9hZCB0aGUgY29udGVudHMgb2YgdGhlIHNvdXJjZSBmaWxlIGZyb20gZGlzay5cbiAgICpcbiAgICogQHBhcmFtIHNvdXJjZVBhdGggVGhlIHBhdGggdG8gdGhlIHNvdXJjZSBmaWxlLlxuICAgKi9cbiAgcHJpdmF0ZSByZWFkU291cmNlRmlsZShzb3VyY2VQYXRoOiBBYnNvbHV0ZUZzUGF0aCk6IHN0cmluZyB7XG4gICAgdGhpcy50cmFja1BhdGgoc291cmNlUGF0aCk7XG4gICAgcmV0dXJuIHRoaXMuZnMucmVhZEZpbGUoc291cmNlUGF0aCk7XG4gIH1cblxuICAvKipcbiAgICogTG9hZCB0aGUgc291cmNlIG1hcCBmcm9tIHRoZSBmaWxlIGF0IGBtYXBQYXRoYCwgcGFyc2luZyBpdHMgSlNPTiBjb250ZW50cyBpbnRvIGEgYFJhd1NvdXJjZU1hcGBcbiAgICogb2JqZWN0LlxuICAgKlxuICAgKiBAcGFyYW0gbWFwUGF0aCBUaGUgcGF0aCB0byB0aGUgc291cmNlLW1hcCBmaWxlLlxuICAgKi9cbiAgcHJpdmF0ZSByZWFkUmF3U291cmNlTWFwKG1hcFBhdGg6IEFic29sdXRlRnNQYXRoKTogUmF3U291cmNlTWFwIHtcbiAgICB0aGlzLnRyYWNrUGF0aChtYXBQYXRoKTtcbiAgICByZXR1cm4gSlNPTi5wYXJzZSh0aGlzLmZzLnJlYWRGaWxlKG1hcFBhdGgpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmFjayBzb3VyY2UgZmlsZSBwYXRocyBpZiB3ZSBoYXZlIGxvYWRlZCB0aGVtIGZyb20gZGlzayBzbyB0aGF0IHdlIGRvbid0IGdldCBpbnRvIGFuIGluZmluaXRlXG4gICAqIHJlY3Vyc2lvbi5cbiAgICovXG4gIHByaXZhdGUgdHJhY2tQYXRoKHBhdGg6IEFic29sdXRlRnNQYXRoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY3VycmVudFBhdGhzLmluY2x1ZGVzKHBhdGgpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYENpcmN1bGFyIHNvdXJjZSBmaWxlIG1hcHBpbmcgZGVwZW5kZW5jeTogJHt0aGlzLmN1cnJlbnRQYXRocy5qb2luKCcgLT4gJyl9IC0+ICR7cGF0aH1gKTtcbiAgICB9XG4gICAgdGhpcy5jdXJyZW50UGF0aHMucHVzaChwYXRoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TGFzdE5vbkVtcHR5TGluZShjb250ZW50czogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBsZXQgdHJhaWxpbmdXaGl0ZXNwYWNlSW5kZXggPSBjb250ZW50cy5sZW5ndGggLSAxO1xuICAgIHdoaWxlICh0cmFpbGluZ1doaXRlc3BhY2VJbmRleCA+IDAgJiZcbiAgICAgICAgICAgKGNvbnRlbnRzW3RyYWlsaW5nV2hpdGVzcGFjZUluZGV4XSA9PT0gJ1xcbicgfHxcbiAgICAgICAgICAgIGNvbnRlbnRzW3RyYWlsaW5nV2hpdGVzcGFjZUluZGV4XSA9PT0gJ1xccicpKSB7XG4gICAgICB0cmFpbGluZ1doaXRlc3BhY2VJbmRleC0tO1xuICAgIH1cbiAgICBsZXQgbGFzdFJlYWxMaW5lSW5kZXggPSBjb250ZW50cy5sYXN0SW5kZXhPZignXFxuJywgdHJhaWxpbmdXaGl0ZXNwYWNlSW5kZXggLSAxKTtcbiAgICBpZiAobGFzdFJlYWxMaW5lSW5kZXggPT09IC0xKSB7XG4gICAgICBsYXN0UmVhbExpbmVJbmRleCA9IDA7XG4gICAgfVxuICAgIHJldHVybiBjb250ZW50cy5zdWJzdHIobGFzdFJlYWxMaW5lSW5kZXggKyAxKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXBsYWNlIGFueSBtYXRjaGVkIFVSTCBzY2hlbWVzIHdpdGggdGhlaXIgY29ycmVzcG9uZGluZyBwYXRoIGhlbGQgaW4gdGhlIHNjaGVtZU1hcC5cbiAgICpcbiAgICogU29tZSBidWlsZCB0b29scyByZXBsYWNlIHJlYWwgZmlsZSBwYXRocyB3aXRoIHNjaGVtZSBwcmVmaXhlZCBwYXRocyAtIGUuZy4gYHdlYnBhY2s6Ly9gLlxuICAgKiBXZSB1c2UgdGhlIGBzY2hlbWVNYXBgIHBhc3NlZCB0byB0aGlzIGNsYXNzIHRvIGNvbnZlcnQgc3VjaCBwYXRocyB0byBcInJlYWxcIiBmaWxlIHBhdGhzLlxuICAgKiBJbiBzb21lIGNhc2VzLCB0aGlzIGlzIG5vdCBwb3NzaWJsZSwgc2luY2UgdGhlIGZpbGUgd2FzIGFjdHVhbGx5IHN5bnRoZXNpemVkIGJ5IHRoZSBidWlsZCB0b29sLlxuICAgKiBCdXQgdGhlIGVuZCByZXN1bHQgaXMgYmV0dGVyIHRoYW4gcHJlZml4aW5nIHRoZSBzb3VyY2VSb290IGluIGZyb250IG9mIHRoZSBzY2hlbWUuXG4gICAqL1xuICBwcml2YXRlIHJlcGxhY2VTY2hlbWVXaXRoUGF0aChwYXRoOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBwYXRoLnJlcGxhY2UoXG4gICAgICAgIFNDSEVNRV9NQVRDSEVSLCAoXzogc3RyaW5nLCBzY2hlbWU6IHN0cmluZykgPT4gdGhpcy5zY2hlbWVNYXBbc2NoZW1lLnRvTG93ZXJDYXNlKCldIHx8ICcnKTtcbiAgfVxufVxuIl19
|
|
234
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlX2ZpbGVfbG9hZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcGlsZXItY2xpL3NyYy9uZ3RzYy9zb3VyY2VtYXBzL3NyYy9zb3VyY2VfZmlsZV9sb2FkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztJQUFBOzs7Ozs7T0FNRztJQUNILHlEQUFrRjtJQUtsRixnR0FBK0M7SUFFL0MsMEZBQXlDO0lBRXpDLElBQU0sY0FBYyxHQUFHLDJCQUEyQixDQUFDO0lBRW5EOzs7Ozs7OztPQVFHO0lBQ0g7UUFHRSwwQkFDWSxFQUFzQixFQUFVLE1BQWM7UUFDdEQsK0VBQStFO1FBQ3ZFLFNBQXlDO1lBRnpDLE9BQUUsR0FBRixFQUFFLENBQW9CO1lBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBUTtZQUU5QyxjQUFTLEdBQVQsU0FBUyxDQUFnQztZQUw3QyxpQkFBWSxHQUFxQixFQUFFLENBQUM7UUFLWSxDQUFDO1FBNkJ6RCx5Q0FBYyxHQUFkLFVBQ0ksVUFBMEIsRUFBRSxRQUE0QixFQUN4RCxVQUFrQztZQUROLHlCQUFBLEVBQUEsZUFBNEI7WUFDeEQsMkJBQUEsRUFBQSxpQkFBa0M7WUFDcEMsSUFBTSxjQUFjLEdBQUcsUUFBUSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsOEJBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLDhCQUFhLENBQUMsVUFBVSxDQUFDO1lBQzdGLElBQU0sYUFBYSxHQUNmLFVBQVUsdUJBQUssTUFBTSxFQUFFLDhCQUFhLENBQUMsUUFBUSxJQUFLLFVBQVUsQ0FBQyxDQUFDO1lBQ2xFLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLFVBQVUsRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQzFGLENBQUM7UUFFRDs7Ozs7Ozs7Ozs7Ozs7O1dBZUc7UUFDSyxpREFBc0IsR0FBOUIsVUFDSSxV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QUNELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9CLENBQUM7UUFFTyw4Q0FBbUIsR0FBM0IsVUFBNEIsUUFBZ0I7WUFDMUMsSUFBSSx1QkFBdUIsR0FBRyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztZQUNsRCxPQUFPLHVCQUF1QixHQUFHLENBQUM7Z0JBQzNCLENBQUMsUUFBUSxDQUFDLHVCQUF1QixDQUFDLEtBQUssSUFBSTtvQkFDMUMsUUFBUSxDQUFDLHVCQUF1QixDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUU7Z0JBQ25ELHVCQUF1QixFQUFFLENBQUM7YUFDM0I7WUFDRCxJQUFJLGlCQUFpQixHQUFHLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLHVCQUF1QixHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ2hGLElBQUksaUJBQWlCLEtBQUssQ0FBQyxDQUFDLEVBQUU7Z0JBQzVCLGlCQUFpQixHQUFHLENBQUMsQ0FBQzthQUN2QjtZQUNELE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNoRCxDQUFDO1FBRUQ7Ozs7Ozs7V0FPRztRQUNLLGdEQUFxQixHQUE3QixVQUE4QixJQUFZO1lBQTFDLGlCQUdDO1lBRkMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUNmLGNBQWMsRUFBRSxVQUFDLENBQVMsRUFBRSxNQUFjLElBQUssT0FBQSxLQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBMUMsQ0FBMEMsQ0FBQyxDQUFDO1FBQ2pHLENBQUM7UUFDSCx1QkFBQztJQUFELENBQUMsQUFsUEQsSUFrUEM7SUFsUFksNENBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5pbXBvcnQge2NvbW1lbnRSZWdleCwgZnJvbUNvbW1lbnQsIG1hcEZpbGVDb21tZW50UmVnZXh9IGZyb20gJ2NvbnZlcnQtc291cmNlLW1hcCc7XG5cbmltcG9ydCB7QWJzb2x1dGVGc1BhdGgsIFJlYWRvbmx5RmlsZVN5c3RlbX0gZnJvbSAnLi4vLi4vZmlsZV9zeXN0ZW0nO1xuaW1wb3J0IHtMb2dnZXJ9IGZyb20gJy4uLy4uL2xvZ2dpbmcnO1xuXG5pbXBvcnQge0NvbnRlbnRPcmlnaW59IGZyb20gJy4vY29udGVudF9vcmlnaW4nO1xuaW1wb3J0IHtNYXBBbmRQYXRoLCBSYXdTb3VyY2VNYXAsIFNvdXJjZU1hcEluZm99IGZyb20gJy4vcmF3X3NvdXJjZV9tYXAnO1xuaW1wb3J0IHtTb3VyY2VGaWxlfSBmcm9tICcuL3NvdXJjZV9maWxlJztcblxuY29uc3QgU0NIRU1FX01BVENIRVIgPSAvXihbYS16XVthLXowLTkuLV0qKTpcXC9cXC8vaTtcblxuLyoqXG4gKiBUaGlzIGNsYXNzIGNhbiBiZSB1c2VkIHRvIGxvYWQgYSBzb3VyY2UgZmlsZSwgaXRzIGFzc29jaWF0ZWQgc291cmNlIG1hcCBhbmQgYW55IHVwc3RyZWFtIHNvdXJjZXMuXG4gKlxuICogU2luY2UgYSBzb3VyY2UgZmlsZSBtaWdodCByZWZlcmVuY2UgKG9yIGluY2x1ZGUpIGEgc291cmNlIG1hcCwgdGhpcyBjbGFzcyBjYW4gbG9hZCB0aG9zZSB0b28uXG4gKiBTaW5jZSBhIHNvdXJjZSBtYXAgbWlnaHQgcmVmZXJlbmNlIG90aGVyIHNvdXJjZSBmaWxlcywgdGhlc2UgYXJlIGFsc28gbG9hZGVkIGFzIG5lZWRlZC5cbiAqXG4gKiBUaGlzIGlzIGRvbmUgcmVjdXJzaXZlbHkuIFRoZSByZXN1bHQgaXMgYSBcInRyZWVcIiBvZiBgU291cmNlRmlsZWAgb2JqZWN0cywgZWFjaCBjb250YWluaW5nXG4gKiBtYXBwaW5ncyB0byBvdGhlciBgU291cmNlRmlsZWAgb2JqZWN0cyBhcyBuZWNlc3NhcnkuXG4gKi9cbmV4cG9ydCBjbGFzcyBTb3VyY2VGaWxlTG9hZGVyIHtcbiAgcHJpdmF0ZSBjdXJyZW50UGF0aHM6IEFic29sdXRlRnNQYXRoW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICAgIHByaXZhdGUgZnM6IFJlYWRvbmx5RmlsZVN5c3RlbSwgcHJpdmF0ZSBsb2dnZXI6IExvZ2dlcixcbiAgICAgIC8qKiBBIG1hcCBvZiBVUkwgc2NoZW1lcyB0byBiYXNlIHBhdGhzLiBUaGUgc2NoZW1lIG5hbWUgc2hvdWxkIGJlIGxvd2VyY2FzZS4gKi9cbiAgICAgIHByaXZhdGUgc2NoZW1lTWFwOiBSZWNvcmQ8c3RyaW5nLCBBYnNvbHV0ZUZzUGF0aD4pIHt9XG5cbiAgLyoqXG4gICAqIExvYWQgYSBzb3VyY2UgZmlsZSBmcm9tIHRoZSBwcm92aWRlZCBjb250ZW50IGFuZCBzb3VyY2UgbWFwLCBhbmQgcmVjdXJzaXZlbHkgbG9hZCBhbnlcbiAgICogcmVmZXJlbmNlZCBzb3VyY2UgZmlsZXMuXG4gICAqXG4gICAqIEBwYXJhbSBzb3VyY2VQYXRoIFRoZSBwYXRoIHRvIHRoZSBzb3VyY2UgZmlsZSB0byBsb2FkLlxuICAgKiBAcGFyYW0gY29udGVudHMgVGhlIGNvbnRlbnRzIG9mIHRoZSBzb3VyY2UgZmlsZSB0byBsb2FkLlxuICAgKiBAcGFyYW0gbWFwQW5kUGF0aCBUaGUgcmF3IHNvdXJjZS1tYXAgYW5kIHRoZSBwYXRoIHRvIHRoZSBzb3VyY2UtbWFwIGZpbGUuXG4gICAqIEByZXR1cm5zIGEgU291cmNlRmlsZSBvYmplY3QgY3JlYXRlZCBmcm9tIHRoZSBgY29udGVudHNgIGFuZCBwcm92aWRlZCBzb3VyY2UtbWFwIGluZm8uXG4gICAqL1xuICBsb2FkU291cmNlRmlsZShzb3VyY2VQYXRoOiBBYnNvbHV0ZUZzUGF0aCwgY29udGVudHM6IHN0cmluZywgbWFwQW5kUGF0aDogTWFwQW5kUGF0aCk6IFNvdXJjZUZpbGU7XG4gIC8qKlxuICAgKiBMb2FkIGEgc291cmNlIGZpbGUgZnJvbSB0aGUgcHJvdmlkZWQgY29udGVudCwgY29tcHV0ZSBpdHMgc291cmNlIG1hcCwgYW5kIHJlY3Vyc2l2ZWx5IGxvYWQgYW55XG4gICAqIHJlZmVyZW5jZWQgc291cmNlIGZpbGVzLlxuICAgKlxuICAgKiBAcGFyYW0gc291cmNlUGF0aCBUaGUgcGF0aCB0byB0aGUgc291cmNlIGZpbGUgdG8gbG9hZC5cbiAgICogQHBhcmFtIGNvbnRlbnRzIFRoZSBjb250ZW50cyBvZiB0aGUgc291cmNlIGZpbGUgdG8gbG9hZC5cbiAgICogQHJldHVybnMgYSBTb3VyY2VGaWxlIG9iamVjdCBjcmVhdGVkIGZyb20gdGhlIGBjb250ZW50c2AgYW5kIGNvbXB1dGVkIHNvdXJjZS1tYXAgaW5mby5cbiAgICovXG4gIGxvYWRTb3VyY2VGaWxlKHNvdXJjZVBhdGg6IEFic29sdXRlRnNQYXRoLCBjb250ZW50czogc3RyaW5nKTogU291cmNlRmlsZTtcbiAgLyoqXG4gICAqIExvYWQgYSBzb3VyY2UgZmlsZSBmcm9tIHRoZSBmaWxlLXN5c3RlbSwgY29tcHV0ZSBpdHMgc291cmNlIG1hcCwgYW5kIHJlY3Vyc2l2ZWx5IGxvYWQgYW55XG4gICAqIHJlZmVyZW5jZWQgc291cmNlIGZpbGVzLlxuICAgKlxuICAgKiBAcGFyYW0gc291cmNlUGF0aCBUaGUgcGF0aCB0byB0aGUgc291cmNlIGZpbGUgdG8gbG9hZC5cbiAgICogQHJldHVybnMgYSBTb3VyY2VGaWxlIG9iamVjdCBpZiBpdHMgY29udGVudHMgY291bGQgYmUgbG9hZGVkIGZyb20gZGlzaywgb3IgbnVsbCBvdGhlcndpc2UuXG4gICAqL1xuICBsb2FkU291cmNlRmlsZShzb3VyY2VQYXRoOiBBYnNvbHV0ZUZzUGF0aCk6IFNvdXJjZUZpbGV8bnVsbDtcbiAgbG9hZFNvdXJjZUZpbGUoXG4gICAgICBzb3VyY2VQYXRoOiBBYnNvbHV0ZUZzUGF0aCwgY29udGVudHM6IHN0cmluZ3xudWxsID0gbnVsbCxcbiAgICAgIG1hcEFuZFBhdGg6IE1hcEFuZFBhdGh8bnVsbCA9IG51bGwpOiBTb3VyY2VGaWxlfG51bGwge1xuICAgIGNvbnN0IGNvbnRlbnRzT3JpZ2luID0gY29udGVudHMgIT09IG51bGwgPyBDb250ZW50T3JpZ2luLlByb3ZpZGVkIDogQ29udGVudE9yaWdpbi5GaWxlU3lzdGVtO1xuICAgIGNvbnN0IHNvdXJjZU1hcEluZm86IFNvdXJjZU1hcEluZm98bnVsbCA9XG4gICAgICAgIG1hcEFuZFBhdGggJiYge29yaWdpbjogQ29udGVudE9yaWdpbi5Qcm92aWRlZCwgLi4ubWFwQW5kUGF0aH07XG4gICAgcmV0dXJuIHRoaXMubG9hZFNvdXJjZUZpbGVJbnRlcm5hbChzb3VyY2VQYXRoLCBjb250ZW50cywgY29udGVudHNPcmlnaW4sIHNvdXJjZU1hcEluZm8pO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBvdmVybG9hZCB1c2VkIGludGVybmFsbHkgdG8gbG9hZCBzb3VyY2UgZmlsZXMgcmVmZXJlbmNlZCBpbiBhIHNvdXJjZS1tYXAuXG4gICAqXG4gICAqIEluIHRoaXMgY2FzZSB0aGVyZSBpcyBubyBndWFyYW50ZWUgdGhhdCBpdCB3aWxsIHJldHVybiBhIG5vbi1udWxsIFNvdXJjZU1hcC5cbiAgICpcbiAgICogQHBhcmFtIHNvdXJjZVBhdGggVGhlIHBhdGggdG8gdGhlIHNvdXJjZSBmaWxlIHRvIGxvYWQuXG4gICAqIEBwYXJhbSBjb250ZW50cyBUaGUgY29udGVudHMgb2YgdGhlIHNvdXJjZSBmaWxlIHRvIGxvYWQsIGlmIHByb3ZpZGVkIGlubGluZS4gSWYgYG51bGxgLFxuICAgKiAgICAgdGhlIGNvbnRlbnRzIHdpbGwgYmUgcmVhZCBmcm9tIHRoZSBmaWxlIGF0IHRoZSBgc291cmNlUGF0aGAuXG4gICAqIEBwYXJhbSBzb3VyY2VPcmlnaW4gRGVzY3JpYmVzIHdoZXJlIHRoZSBzb3VyY2UgY29udGVudCBjYW1lIGZyb20uXG4gICAqIEBwYXJhbSBzb3VyY2VNYXBJbmZvIFRoZSByYXcgY29udGVudHMgYW5kIHBhdGggb2YgdGhlIHNvdXJjZS1tYXAgZmlsZS4gSWYgYG51bGxgIHRoZVxuICAgKiAgICAgc291cmNlLW1hcCB3aWxsIGJlIGNvbXB1dGVkIGZyb20gdGhlIGNvbnRlbnRzIG9mIHRoZSBzb3VyY2UgZmlsZSwgZWl0aGVyIGlubGluZSBvciBsb2FkZWRcbiAgICogICAgIGZyb20gdGhlIGZpbGUtc3lzdGVtLlxuICAgKlxuICAgKiBAcmV0dXJucyBhIFNvdXJjZUZpbGUgaWYgdGhlIGNvbnRlbnQgZm9yIG9uZSB3YXMgcHJvdmlkZWQgb3Igd2FzIGFibGUgdG8gYmUgbG9hZGVkIGZyb20gZGlzayxcbiAgICogYG51bGxgIG90aGVyd2lzZS5cbiAgICovXG4gIHByaXZhdGUgbG9hZFNvdXJjZUZpbGVJbnRlcm5hbChcbiAgICAgIHNvdXJjZVBhdGg6IEFic29sdXRlRnNQYXRoLCBjb250ZW50czogc3RyaW5nfG51bGwsIHNvdXJjZU9yaWdpbjogQ29udGVudE9yaWdpbixcbiAgICAgIHNvdXJjZU1hcEluZm86IFNvdXJjZU1hcEluZm98bnVsbCk6IFNvdXJjZUZpbGV8bnVsbCB7XG4gICAgY29uc3QgcHJldmlvdXNQYXRocyA9IHRoaXMuY3VycmVudFBhdGhzLnNsaWNlKCk7XG4gICAgdHJ5IHtcbiAgICAgIGlmIChjb250ZW50cyA9PT0gbnVsbCkge1xuICAgICAgICBpZiAoIXRoaXMuZnMuZXhpc3RzKHNvdXJjZVBhdGgpKSB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgY29udGVudHMgPSB0aGlzLnJlYWRTb3VyY2VGaWxlKHNvdXJjZVBhdGgpO1xuICAgICAgfVxuXG4gICAgICAvLyBJZiBub3QgcHJvdmlkZWQgdHJ5IHRvIGxvYWQgdGhlIHNvdXJjZSBtYXAgYmFzZWQgb24gdGhlIHNvdXJjZSBpdHNlbGZcbiAgICAgIGlmIChzb3VyY2VNYXBJbmZvID09PSBudWxsKSB7XG4gICAgICAgIHNvdXJjZU1hcEluZm8gPSB0aGlzLmxvYWRTb3VyY2VNYXAoc291cmNlUGF0aCwgY29udGVudHMsIHNvdXJjZU9yaWdpbik7XG4gICAgICB9XG5cbiAgICAgIGxldCBzb3VyY2VzOiAoU291cmNlRmlsZXxudWxsKVtdID0gW107XG4gICAgICBpZiAoc291cmNlTWFwSW5mbyAhPT0gbnVsbCkge1xuICAgICAgICBjb25zdCBiYXNlUGF0aCA9IHNvdXJjZU1hcEluZm8ubWFwUGF0aCB8fCBzb3VyY2VQYXRoO1xuICAgICAgICBzb3VyY2VzID0gdGhpcy5wcm9jZXNzU291cmNlcyhiYXNlUGF0aCwgc291cmNlTWFwSW5mbyk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBuZXcgU291cmNlRmlsZShzb3VyY2VQYXRoLCBjb250ZW50cywgc291cmNlTWFwSW5mbywgc291cmNlcywgdGhpcy5mcyk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhpcy5sb2dnZXIud2FybihcbiAgICAgICAgICBgVW5hYmxlIHRvIGZ1bGx5IGxvYWQgJHtzb3VyY2VQYXRofSBmb3Igc291cmNlLW1hcCBmbGF0dGVuaW5nOiAke2UubWVzc2FnZX1gKTtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH0gZmluYWxseSB7XG4gICAgICAvLyBXZSBhcmUgZmluaXNoZWQgd2l0aCB0aGlzIHJlY3Vyc2lvbiBzbyByZXZlcnQgdGhlIHBhdGhzIGJlaW5nIHRyYWNrZWRcbiAgICAgIHRoaXMuY3VycmVudFBhdGhzID0gcHJldmlvdXNQYXRocztcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRmluZCB0aGUgc291cmNlIG1hcCBhc3NvY2lhdGVkIHdpdGggdGhlIHNvdXJjZSBmaWxlIHdob3NlIGBzb3VyY2VQYXRoYCBhbmQgYGNvbnRlbnRzYCBhcmVcbiAgICogcHJvdmlkZWQuXG4gICAqXG4gICAqIFNvdXJjZSBtYXBzIGNhbiBiZSBpbmxpbmUsIGFzIHBhcnQgb2YgYSBiYXNlNjQgZW5jb2RlZCBjb21tZW50LCBvciBleHRlcm5hbCBhcyBhIHNlcGFyYXRlIGZpbGVcbiAgICogd2hvc2UgcGF0aCBpcyBpbmRpY2F0ZWQgaW4gYSBjb21tZW50IG9yIGltcGxpZWQgZnJvbSB0aGUgbmFtZSBvZiB0aGUgc291cmNlIGZpbGUgaXRzZWxmLlxuICAgKlxuICAgKiBAcGFyYW0gc291cmNlUGF0aCB0aGUgcGF0aCB0byB0aGUgc291cmNlIGZpbGUuXG4gICAqIEBwYXJhbSBzb3VyY2VDb250ZW50cyB0aGUgY29udGVudHMgb2YgdGhlIHNvdXJjZSBmaWxlLlxuICAgKiBAcGFyYW0gc291cmNlT3JpZ2luIHdoZXJlIHRoZSBjb250ZW50IG9mIHRoZSBzb3VyY2UgZmlsZSBjYW1lIGZyb20uXG4gICAqIEByZXR1cm5zIHRoZSBwYXJzZWQgY29udGVudHMgYW5kIHBhdGggb2YgdGhlIHNvdXJjZS1tYXAsIGlmIGxvYWRpbmcgd2FzIHN1Y2Nlc3NmdWwsIG51bGxcbiAgICogICAgIG90aGVyd2lzZS5cbiAgICovXG4gIHByaXZhdGUgbG9hZFNvdXJjZU1hcChcbiAgICAgIHNvdXJjZVBhdGg6IEFic29sdXRlRnNQYXRoLCBzb3VyY2VDb250ZW50czogc3RyaW5nLFxuICAgICAgc291cmNlT3JpZ2luOiBDb250ZW50T3JpZ2luKTogU291cmNlTWFwSW5mb3xudWxsIHtcbiAgICAvLyBPbmx5IGNvbnNpZGVyIGEgc291cmNlLW1hcCBjb21tZW50IGZyb20gdGhlIGxhc3Qgbm9uLWVtcHR5IGxpbmUgb2YgdGhlIGZpbGUsIGluIGNhc2UgdGhlcmVcbiAgICAvLyBhcmUgZW1iZWRkZWQgc291cmNlLW1hcCBjb21tZW50cyBlbHNld2hlcmUgaW4gdGhlIGZpbGUgKGFzIGNhbiBiZSB0aGUgY2FzZSB3aXRoIGJ1bmRsZXJzIGxpa2VcbiAgICAvLyB3ZWJwYWNrKS5cbiAgICBjb25zdCBsYXN0TGluZSA9IHRoaXMuZ2V0TGFzdE5vbkVtcHR5TGluZShzb3VyY2VDb250ZW50cyk7XG4gICAgY29uc3QgaW5saW5lID0gY29tbWVudFJlZ2V4LmV4ZWMobGFzdExpbmUpO1xuICAgIGlmIChpbmxpbmUgIT09IG51bGwpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG1hcDogZnJvbUNvbW1lbnQoaW5saW5lLnBvcCgpISkuc291cmNlbWFwLFxuICAgICAgICBtYXBQYXRoOiBudWxsLFxuICAgICAgICBvcmlnaW46IENvbnRlbnRPcmlnaW4uSW5saW5lLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBpZiAoc291cmNlT3JpZ2luID09PSBDb250ZW50T3JpZ2luLklubGluZSkge1xuICAgICAgLy8gVGhlIHNvdXJjZSBmaWxlIHdhcyBwcm92aWRlZCBpbmxpbmUgYW5kIGl0cyBjb250ZW50cyBkaWQgbm90IGluY2x1ZGUgYW4gaW5saW5lIHNvdXJjZS1tYXAuXG4gICAgICAvLyBTbyB3ZSBkb24ndCB0cnkgdG8gbG9hZCBhbiBleHRlcm5hbCBzb3VyY2UtbWFwIGZyb20gdGhlIGZpbGUtc3lzdGVtLCBzaW5jZSB0aGlzIGNhbiBsZWFkIHRvXG4gICAgICAvLyBpbnZhbGlkIGNpcmN1bGFyIGRlcGVuZGVuY2llcy5cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IGV4dGVybmFsID0gbWFwRmlsZUNvbW1lbnRSZWdleC5leGVjKGxhc3RMaW5lKTtcbiAgICBpZiAoZXh0ZXJuYWwpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGZpbGVOYW1lID0gZXh0ZXJuYWxbMV0gfHwgZXh0ZXJuYWxbMl07XG4gICAgICAgIGNvbnN0IGV4dGVybmFsTWFwUGF0aCA9IHRoaXMuZnMucmVzb2x2ZSh0aGlzLmZzLmRpcm5hbWUoc291cmNlUGF0aCksIGZpbGVOYW1lKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBtYXA6IHRoaXMucmVhZFJhd1NvdXJjZU1hcChleHRlcm5hbE1hcFBhdGgpLFxuICAgICAgICAgIG1hcFBhdGg6IGV4dGVybmFsTWFwUGF0aCxcbiAgICAgICAgICBvcmlnaW46IENvbnRlbnRPcmlnaW4uRmlsZVN5c3RlbSxcbiAgICAgICAgfTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgdGhpcy5sb2dnZXIud2FybihcbiAgICAgICAgICAgIGBVbmFibGUgdG8gZnVsbHkgbG9hZCAke3NvdXJjZVBhdGh9IGZvciBzb3VyY2UtbWFwIGZsYXR0ZW5pbmc6ICR7ZS5tZXNzYWdlfWApO1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBpbXBsaWVkTWFwUGF0aCA9IHRoaXMuZnMucmVzb2x2ZShzb3VyY2VQYXRoICsgJy5tYXAnKTtcbiAgICBpZiAodGhpcy5mcy5leGlzdHMoaW1wbGllZE1hcFBhdGgpKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBtYXA6IHRoaXMucmVhZFJhd1NvdXJjZU1hcChpbXBsaWVkTWFwUGF0aCksXG4gICAgICAgIG1hcFBhdGg6IGltcGxpZWRNYXBQYXRoLFxuICAgICAgICBvcmlnaW46IENvbnRlbnRPcmlnaW4uRmlsZVN5c3RlbSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICAvKipcbiAgICogSXRlcmF0ZSBvdmVyIGVhY2ggb2YgdGhlIFwic291cmNlc1wiIGZvciB0aGlzIHNvdXJjZSBmaWxlJ3Mgc291cmNlIG1hcCwgcmVjdXJzaXZlbHkgbG9hZGluZyBlYWNoXG4gICAqIHNvdXJjZSBmaWxlIGFuZCBpdHMgYXNzb2NpYXRlZCBzb3VyY2UgbWFwLlxuICAgKi9cbiAgcHJpdmF0ZSBwcm9jZXNzU291cmNlcyhiYXNlUGF0aDogQWJzb2x1dGVGc1BhdGgsIHttYXAsIG9yaWdpbjogc291cmNlTWFwT3JpZ2lufTogU291cmNlTWFwSW5mbyk6XG4gICAgICAoU291cmNlRmlsZXxudWxsKVtdIHtcbiAgICBjb25zdCBzb3VyY2VSb290ID0gdGhpcy5mcy5yZXNvbHZlKFxuICAgICAgICB0aGlzLmZzLmRpcm5hbWUoYmFzZVBhdGgpLCB0aGlzLnJlcGxhY2VTY2hlbWVXaXRoUGF0aChtYXAuc291cmNlUm9vdCB8fCAnJykpO1xuICAgIHJldHVybiBtYXAuc291cmNlcy5tYXAoKHNvdXJjZSwgaW5kZXgpID0+IHtcbiAgICAgIGNvbnN0IHBhdGggPSB0aGlzLmZzLnJlc29sdmUoc291cmNlUm9vdCwgdGhpcy5yZXBsYWNlU2NoZW1lV2l0aFBhdGgoc291cmNlKSk7XG4gICAgICBjb25zdCBjb250ZW50ID0gbWFwLnNvdXJjZXNDb250ZW50ICYmIG1hcC5zb3VyY2VzQ29udGVudFtpbmRleF0gfHwgbnVsbDtcbiAgICAgIC8vIFRoZSBvcmlnaW4gb2YgdGhpcyBzb3VyY2UgZmlsZSBpcyBcImlubGluZVwiIGlmIHdlIGV4dHJhY3RlZCBpdCBmcm9tIHRoZSBzb3VyY2UtbWFwJ3NcbiAgICAgIC8vIGBzb3VyY2VzQ29udGVudGAsIGV4Y2VwdCB3aGVuIHRoZSBzb3VyY2UtbWFwIGl0c2VsZiB3YXMgXCJwcm92aWRlZFwiIGluLW1lbW9yeS5cbiAgICAgIC8vIEFuIGlubGluZSBzb3VyY2UgZmlsZSBpcyB0cmVhdGVkIGFzIGlmIGl0IHdlcmUgZnJvbSB0aGUgZmlsZS1zeXN0ZW0gaWYgdGhlIHNvdXJjZS1tYXAgdGhhdFxuICAgICAgLy8gY29udGFpbnMgaXQgd2FzIHByb3ZpZGVkIGluLW1lbW9yeS4gVGhlIGZpcnN0IGNhbGwgdG8gYGxvYWRTb3VyY2VGaWxlKClgIGlzIHNwZWNpYWwgaW4gdGhhdFxuICAgICAgLy8gaWYgeW91IFwicHJvdmlkZVwiIHRoZSBjb250ZW50cyBvZiB0aGUgc291cmNlLW1hcCBpbi1tZW1vcnkgdGhlbiB3ZSBkb24ndCB3YW50IHRvIGJsb2NrXG4gICAgICAvLyBsb2FkaW5nIHNvdXJjZXMgZnJvbSB0aGUgZmlsZS1zeXN0ZW0ganVzdCBiZWNhdXNlIHRoaXMgc291cmNlLW1hcCBoYWQgYW4gaW5saW5lIHNvdXJjZS5cbiAgICAgIGNvbnN0IHNvdXJjZU9yaWdpbiA9IGNvbnRlbnQgIT09IG51bGwgJiYgc291cmNlTWFwT3JpZ2luICE9PSBDb250ZW50T3JpZ2luLlByb3ZpZGVkID9cbiAgICAgICAgICBDb250ZW50T3JpZ2luLklubGluZSA6XG4gICAgICAgICAgQ29udGVudE9yaWdpbi5GaWxlU3lzdGVtO1xuICAgICAgcmV0dXJuIHRoaXMubG9hZFNvdXJjZUZpbGVJbnRlcm5hbChwYXRoLCBjb250ZW50LCBzb3VyY2VPcmlnaW4sIG51bGwpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIExvYWQgdGhlIGNvbnRlbnRzIG9mIHRoZSBzb3VyY2UgZmlsZSBmcm9tIGRpc2suXG4gICAqXG4gICAqIEBwYXJhbSBzb3VyY2VQYXRoIFRoZSBwYXRoIHRvIHRoZSBzb3VyY2UgZmlsZS5cbiAgICovXG4gIHByaXZhdGUgcmVhZFNvdXJjZUZpbGUoc291cmNlUGF0aDogQWJzb2x1dGVGc1BhdGgpOiBzdHJpbmcge1xuICAgIHRoaXMudHJhY2tQYXRoKHNvdXJjZVBhdGgpO1xuICAgIHJldHVybiB0aGlzLmZzLnJlYWRGaWxlKHNvdXJjZVBhdGgpO1xuICB9XG5cbiAgLyoqXG4gICAqIExvYWQgdGhlIHNvdXJjZSBtYXAgZnJvbSB0aGUgZmlsZSBhdCBgbWFwUGF0aGAsIHBhcnNpbmcgaXRzIEpTT04gY29udGVudHMgaW50byBhIGBSYXdTb3VyY2VNYXBgXG4gICAqIG9iamVjdC5cbiAgICpcbiAgICogQHBhcmFtIG1hcFBhdGggVGhlIHBhdGggdG8gdGhlIHNvdXJjZS1tYXAgZmlsZS5cbiAgICovXG4gIHByaXZhdGUgcmVhZFJhd1NvdXJjZU1hcChtYXBQYXRoOiBBYnNvbHV0ZUZzUGF0aCk6IFJhd1NvdXJjZU1hcCB7XG4gICAgdGhpcy50cmFja1BhdGgobWFwUGF0aCk7XG4gICAgcmV0dXJuIEpTT04ucGFyc2UodGhpcy5mcy5yZWFkRmlsZShtYXBQYXRoKSkgYXMgUmF3U291cmNlTWFwO1xuICB9XG5cbiAgLyoqXG4gICAqIFRyYWNrIHNvdXJjZSBmaWxlIHBhdGhzIGlmIHdlIGhhdmUgbG9hZGVkIHRoZW0gZnJvbSBkaXNrIHNvIHRoYXQgd2UgZG9uJ3QgZ2V0IGludG8gYW4gaW5maW5pdGVcbiAgICogcmVjdXJzaW9uLlxuICAgKi9cbiAgcHJpdmF0ZSB0cmFja1BhdGgocGF0aDogQWJzb2x1dGVGc1BhdGgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jdXJyZW50UGF0aHMuaW5jbHVkZXMocGF0aCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgQ2lyY3VsYXIgc291cmNlIGZpbGUgbWFwcGluZyBkZXBlbmRlbmN5OiAke3RoaXMuY3VycmVudFBhdGhzLmpvaW4oJyAtPiAnKX0gLT4gJHtwYXRofWApO1xuICAgIH1cbiAgICB0aGlzLmN1cnJlbnRQYXRocy5wdXNoKHBhdGgpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRMYXN0Tm9uRW1wdHlMaW5lKGNvbnRlbnRzOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGxldCB0cmFpbGluZ1doaXRlc3BhY2VJbmRleCA9IGNvbnRlbnRzLmxlbmd0aCAtIDE7XG4gICAgd2hpbGUgKHRyYWlsaW5nV2hpdGVzcGFjZUluZGV4ID4gMCAmJlxuICAgICAgICAgICAoY29udGVudHNbdHJhaWxpbmdXaGl0ZXNwYWNlSW5kZXhdID09PSAnXFxuJyB8fFxuICAgICAgICAgICAgY29udGVudHNbdHJhaWxpbmdXaGl0ZXNwYWNlSW5kZXhdID09PSAnXFxyJykpIHtcbiAgICAgIHRyYWlsaW5nV2hpdGVzcGFjZUluZGV4LS07XG4gICAgfVxuICAgIGxldCBsYXN0UmVhbExpbmVJbmRleCA9IGNvbnRlbnRzLmxhc3RJbmRleE9mKCdcXG4nLCB0cmFpbGluZ1doaXRlc3BhY2VJbmRleCAtIDEpO1xuICAgIGlmIChsYXN0UmVhbExpbmVJbmRleCA9PT0gLTEpIHtcbiAgICAgIGxhc3RSZWFsTGluZUluZGV4ID0gMDtcbiAgICB9XG4gICAgcmV0dXJuIGNvbnRlbnRzLnN1YnN0cihsYXN0UmVhbExpbmVJbmRleCArIDEpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlcGxhY2UgYW55IG1hdGNoZWQgVVJMIHNjaGVtZXMgd2l0aCB0aGVpciBjb3JyZXNwb25kaW5nIHBhdGggaGVsZCBpbiB0aGUgc2NoZW1lTWFwLlxuICAgKlxuICAgKiBTb21lIGJ1aWxkIHRvb2xzIHJlcGxhY2UgcmVhbCBmaWxlIHBhdGhzIHdpdGggc2NoZW1lIHByZWZpeGVkIHBhdGhzIC0gZS5nLiBgd2VicGFjazovL2AuXG4gICAqIFdlIHVzZSB0aGUgYHNjaGVtZU1hcGAgcGFzc2VkIHRvIHRoaXMgY2xhc3MgdG8gY29udmVydCBzdWNoIHBhdGhzIHRvIFwicmVhbFwiIGZpbGUgcGF0aHMuXG4gICAqIEluIHNvbWUgY2FzZXMsIHRoaXMgaXMgbm90IHBvc3NpYmxlLCBzaW5jZSB0aGUgZmlsZSB3YXMgYWN0dWFsbHkgc3ludGhlc2l6ZWQgYnkgdGhlIGJ1aWxkIHRvb2wuXG4gICAqIEJ1dCB0aGUgZW5kIHJlc3VsdCBpcyBiZXR0ZXIgdGhhbiBwcmVmaXhpbmcgdGhlIHNvdXJjZVJvb3QgaW4gZnJvbnQgb2YgdGhlIHNjaGVtZS5cbiAgICovXG4gIHByaXZhdGUgcmVwbGFjZVNjaGVtZVdpdGhQYXRoKHBhdGg6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHBhdGgucmVwbGFjZShcbiAgICAgICAgU0NIRU1FX01BVENIRVIsIChfOiBzdHJpbmcsIHNjaGVtZTogc3RyaW5nKSA9PiB0aGlzLnNjaGVtZU1hcFtzY2hlbWUudG9Mb3dlckNhc2UoKV0gfHwgJycpO1xuICB9XG59XG4iXX0=
|
|
@@ -28,15 +28,25 @@
|
|
|
28
28
|
if (extraStatements === void 0) { extraStatements = []; }
|
|
29
29
|
// Generate the import statements to prepend.
|
|
30
30
|
var addedImports = importManager.getAllImports(sf.fileName).map(function (i) {
|
|
31
|
-
var qualifier = ts.createIdentifier(i.qualifier);
|
|
31
|
+
var qualifier = ts.createIdentifier(i.qualifier.text);
|
|
32
32
|
var importClause = ts.createImportClause(
|
|
33
33
|
/* name */ undefined,
|
|
34
34
|
/* namedBindings */ ts.createNamespaceImport(qualifier));
|
|
35
|
-
|
|
35
|
+
var decl = ts.createImportDeclaration(
|
|
36
36
|
/* decorators */ undefined,
|
|
37
37
|
/* modifiers */ undefined,
|
|
38
38
|
/* importClause */ importClause,
|
|
39
39
|
/* moduleSpecifier */ ts.createLiteral(i.specifier));
|
|
40
|
+
// Set the qualifier's original TS node to the `ts.ImportDeclaration`. This allows downstream
|
|
41
|
+
// transforms such as tsickle to properly process references to this import.
|
|
42
|
+
//
|
|
43
|
+
// This operation is load-bearing in g3 as some imported modules contain special metadata
|
|
44
|
+
// generated by clutz, which tsickle uses to transform imports and references to those imports.
|
|
45
|
+
//
|
|
46
|
+
// TODO(alxhub): add a test for this when tsickle is updated externally to depend on this
|
|
47
|
+
// behavior.
|
|
48
|
+
ts.setOriginalNode(i.qualifier, decl);
|
|
49
|
+
return decl;
|
|
40
50
|
});
|
|
41
51
|
// Filter out the existing imports and the source file body. All new statements
|
|
42
52
|
// will be inserted between them.
|
|
@@ -60,4 +70,4 @@
|
|
|
60
70
|
ts.isNamespaceImport(stmt);
|
|
61
71
|
}
|
|
62
72
|
});
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21waWxlci1jbGkvc3JjL25ndHNjL3RyYW5zZm9ybS9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztJQUFBOzs7Ozs7T0FNRztJQUNILCtCQUFpQztJQUlqQzs7OztPQUlHO0lBQ0gsU0FBZ0IsVUFBVSxDQUN0QixhQUE0QixFQUFFLEVBQWlCLEVBQy9DLGVBQW9DO1FBQXBDLGdDQUFBLEVBQUEsb0JBQW9DO1FBQ3RDLDZDQUE2QztRQUM3QyxJQUFNLFlBQVksR0FBRyxhQUFhLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBQSxDQUFDO1lBQ2pFLElBQU0sU0FBUyxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3hELElBQU0sWUFBWSxHQUFHLEVBQUUsQ0FBQyxrQkFBa0I7WUFDdEMsVUFBVSxDQUFDLFNBQVM7WUFDcEIsbUJBQW1CLENBQUMsRUFBRSxDQUFDLHFCQUFxQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7WUFDN0QsSUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDLHVCQUF1QjtZQUNuQyxnQkFBZ0IsQ0FBQyxTQUFTO1lBQzFCLGVBQWUsQ0FBQyxTQUFTO1lBQ3pCLGtCQUFrQixDQUFDLFlBQVk7WUFDL0IscUJBQXFCLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztZQUV6RCw2RkFBNkY7WUFDN0YsNEVBQTRFO1lBQzVFLEVBQUU7WUFDRix5RkFBeUY7WUFDekYsK0ZBQStGO1lBQy9GLEVBQUU7WUFDRix5RkFBeUY7WUFDekYsWUFBWTtZQUNaLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUV0QyxPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQyxDQUFDO1FBRUgsK0VBQStFO1FBQy9FLGlDQUFpQztRQUNqQyxJQUFNLGVBQWUsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxVQUFBLElBQUksSUFBSSxPQUFBLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUF2QixDQUF1QixDQUFDLENBQUM7UUFDOUUsSUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsVUFBQSxJQUFJLElBQUksT0FBQSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUF4QixDQUF3QixDQUFDLENBQUM7UUFDcEUsNkJBQTZCO1FBQzdCLElBQUksWUFBWSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDM0Isb0ZBQW9GO1lBQ3BGLHVGQUF1RjtZQUN2Riw2QkFBNkI7WUFDN0IsSUFBTSxzQkFBc0IsR0FBRyxFQUFFLENBQUMseUJBQXlCLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDaEUsT0FBTyxFQUFFLENBQUMsb0JBQW9CLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxlQUFlO2dCQUNuRCxzQkFBc0I7ZUFBSyxlQUFlLEVBQUssWUFBWSxFQUFLLGVBQWUsRUFBSyxJQUFJLEVBQ3hGLENBQUMsQ0FBQztTQUNMO1FBRUQsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBNUNELGdDQTRDQztJQUVELFNBQVMsaUJBQWlCLENBQUMsSUFBa0I7UUFDM0MsT0FBTyxFQUFFLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQztZQUNyRSxFQUFFLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuaW1wb3J0ICogYXMgdHMgZnJvbSAndHlwZXNjcmlwdCc7XG5cbmltcG9ydCB7SW1wb3J0TWFuYWdlcn0gZnJvbSAnLi4vLi4vdHJhbnNsYXRvcic7XG5cbi8qKlxuICogQWRkcyBleHRyYSBpbXBvcnRzIGluIHRoZSBpbXBvcnQgbWFuYWdlIGZvciB0aGlzIHNvdXJjZSBmaWxlLCBhZnRlciB0aGUgZXhpc3RpbmcgaW1wb3J0c1xuICogYW5kIGJlZm9yZSB0aGUgbW9kdWxlIGJvZHkuXG4gKiBDYW4gb3B0aW9uYWxseSBhZGQgZXh0cmEgc3RhdGVtZW50cyAoZS5nLiBuZXcgY29uc3RhbnRzKSBiZWZvcmUgdGhlIGJvZHkgYXMgd2VsbC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFkZEltcG9ydHMoXG4gICAgaW1wb3J0TWFuYWdlcjogSW1wb3J0TWFuYWdlciwgc2Y6IHRzLlNvdXJjZUZpbGUsXG4gICAgZXh0cmFTdGF0ZW1lbnRzOiB0cy5TdGF0ZW1lbnRbXSA9IFtdKTogdHMuU291cmNlRmlsZSB7XG4gIC8vIEdlbmVyYXRlIHRoZSBpbXBvcnQgc3RhdGVtZW50cyB0byBwcmVwZW5kLlxuICBjb25zdCBhZGRlZEltcG9ydHMgPSBpbXBvcnRNYW5hZ2VyLmdldEFsbEltcG9ydHMoc2YuZmlsZU5hbWUpLm1hcChpID0+IHtcbiAgICBjb25zdCBxdWFsaWZpZXIgPSB0cy5jcmVhdGVJZGVudGlmaWVyKGkucXVhbGlmaWVyLnRleHQpO1xuICAgIGNvbnN0IGltcG9ydENsYXVzZSA9IHRzLmNyZWF0ZUltcG9ydENsYXVzZShcbiAgICAgICAgLyogbmFtZSAqLyB1bmRlZmluZWQsXG4gICAgICAgIC8qIG5hbWVkQmluZGluZ3MgKi8gdHMuY3JlYXRlTmFtZXNwYWNlSW1wb3J0KHF1YWxpZmllcikpO1xuICAgIGNvbnN0IGRlY2wgPSB0cy5jcmVhdGVJbXBvcnREZWNsYXJhdGlvbihcbiAgICAgICAgLyogZGVjb3JhdG9ycyAqLyB1bmRlZmluZWQsXG4gICAgICAgIC8qIG1vZGlmaWVycyAqLyB1bmRlZmluZWQsXG4gICAgICAgIC8qIGltcG9ydENsYXVzZSAqLyBpbXBvcnRDbGF1c2UsXG4gICAgICAgIC8qIG1vZHVsZVNwZWNpZmllciAqLyB0cy5jcmVhdGVMaXRlcmFsKGkuc3BlY2lmaWVyKSk7XG5cbiAgICAvLyBTZXQgdGhlIHF1YWxpZmllcidzIG9yaWdpbmFsIFRTIG5vZGUgdG8gdGhlIGB0cy5JbXBvcnREZWNsYXJhdGlvbmAuIFRoaXMgYWxsb3dzIGRvd25zdHJlYW1cbiAgICAvLyB0cmFuc2Zvcm1zIHN1Y2ggYXMgdHNpY2tsZSB0byBwcm9wZXJseSBwcm9jZXNzIHJlZmVyZW5jZXMgdG8gdGhpcyBpbXBvcnQuXG4gICAgLy9cbiAgICAvLyBUaGlzIG9wZXJhdGlvbiBpcyBsb2FkLWJlYXJpbmcgaW4gZzMgYXMgc29tZSBpbXBvcnRlZCBtb2R1bGVzIGNvbnRhaW4gc3BlY2lhbCBtZXRhZGF0YVxuICAgIC8vIGdlbmVyYXRlZCBieSBjbHV0eiwgd2hpY2ggdHNpY2tsZSB1c2VzIHRvIHRyYW5zZm9ybSBpbXBvcnRzIGFuZCByZWZlcmVuY2VzIHRvIHRob3NlIGltcG9ydHMuXG4gICAgLy9cbiAgICAvLyBUT0RPKGFseGh1Yik6IGFkZCBhIHRlc3QgZm9yIHRoaXMgd2hlbiB0c2lja2xlIGlzIHVwZGF0ZWQgZXh0ZXJuYWxseSB0byBkZXBlbmQgb24gdGhpc1xuICAgIC8vIGJlaGF2aW9yLlxuICAgIHRzLnNldE9yaWdpbmFsTm9kZShpLnF1YWxpZmllciwgZGVjbCk7XG5cbiAgICByZXR1cm4gZGVjbDtcbiAgfSk7XG5cbiAgLy8gRmlsdGVyIG91dCB0aGUgZXhpc3RpbmcgaW1wb3J0cyBhbmQgdGhlIHNvdXJjZSBmaWxlIGJvZHkuIEFsbCBuZXcgc3RhdGVtZW50c1xuICAvLyB3aWxsIGJlIGluc2VydGVkIGJldHdlZW4gdGhlbS5cbiAgY29uc3QgZXhpc3RpbmdJbXBvcnRzID0gc2Yuc3RhdGVtZW50cy5maWx0ZXIoc3RtdCA9PiBpc0ltcG9ydFN0YXRlbWVudChzdG10KSk7XG4gIGNvbnN0IGJvZHkgPSBzZi5zdGF0ZW1lbnRzLmZpbHRlcihzdG10ID0+ICFpc0ltcG9ydFN0YXRlbWVudChzdG10KSk7XG4gIC8vIFByZXBlbmQgaW1wb3J0cyBpZiBuZWVkZWQuXG4gIGlmIChhZGRlZEltcG9ydHMubGVuZ3RoID4gMCkge1xuICAgIC8vIElmIHdlIHByZXBlbmQgaW1wb3J0cywgd2UgYWxzbyBwcmVwZW5kIE5vdEVtaXR0ZWRTdGF0ZW1lbnQgdG8gdXNlIGl0IGFzIGFuIGFuY2hvclxuICAgIC8vIGZvciBAZmlsZW92ZXJ2aWV3IENsb3N1cmUgYW5ub3RhdGlvbi4gSWYgdGhlcmUgaXMgbm8gQGZpbGVvdmVydmlldyBhbm5vdGF0aW9ucywgdGhpc1xuICAgIC8vIHN0YXRlbWVudCB3b3VsZCBiZSBhIG5vb3AuXG4gICAgY29uc3QgZmlsZW92ZXJ2aWV3QW5jaG9yU3RtdCA9IHRzLmNyZWF0ZU5vdEVtaXR0ZWRTdGF0ZW1lbnQoc2YpO1xuICAgIHJldHVybiB0cy51cGRhdGVTb3VyY2VGaWxlTm9kZShzZiwgdHMuY3JlYXRlTm9kZUFycmF5KFtcbiAgICAgIGZpbGVvdmVydmlld0FuY2hvclN0bXQsIC4uLmV4aXN0aW5nSW1wb3J0cywgLi4uYWRkZWRJbXBvcnRzLCAuLi5leHRyYVN0YXRlbWVudHMsIC4uLmJvZHlcbiAgICBdKSk7XG4gIH1cblxuICByZXR1cm4gc2Y7XG59XG5cbmZ1bmN0aW9uIGlzSW1wb3J0U3RhdGVtZW50KHN0bXQ6IHRzLlN0YXRlbWVudCk6IGJvb2xlYW4ge1xuICByZXR1cm4gdHMuaXNJbXBvcnREZWNsYXJhdGlvbihzdG10KSB8fCB0cy5pc0ltcG9ydEVxdWFsc0RlY2xhcmF0aW9uKHN0bXQpIHx8XG4gICAgICB0cy5pc05hbWVzcGFjZUltcG9ydChzdG10KTtcbn1cbiJdfQ==
|
|
@@ -7,9 +7,9 @@
|
|
|
7
7
|
*/
|
|
8
8
|
/// <amd-module name="@angular/compiler-cli/src/ngtsc/translator" />
|
|
9
9
|
export { AstFactory, BinaryOperator, LeadingComment, ObjectLiteralProperty, SourceMapLocation, SourceMapRange, TemplateElement, TemplateLiteral, UnaryOperator, VariableDeclarationType } from './src/api/ast_factory';
|
|
10
|
-
export {
|
|
10
|
+
export { ImportGenerator, NamedImport } from './src/api/import_generator';
|
|
11
11
|
export { Context } from './src/context';
|
|
12
|
-
export { ImportManager } from './src/import_manager';
|
|
12
|
+
export { Import, ImportManager } from './src/import_manager';
|
|
13
13
|
export { ExpressionTranslatorVisitor, RecordWrappedNodeExprFn, TranslatorOptions } from './src/translator';
|
|
14
14
|
export { translateType } from './src/type_translator';
|
|
15
15
|
export { attachComments, createTemplateMiddle, createTemplateTail, TypeScriptAstFactory } from './src/typescript_ast_factory';
|
|
@@ -34,4 +34,4 @@
|
|
|
34
34
|
Object.defineProperty(exports, "translateExpression", { enumerable: true, get: function () { return typescript_translator_1.translateExpression; } });
|
|
35
35
|
Object.defineProperty(exports, "translateStatement", { enumerable: true, get: function () { return typescript_translator_1.translateStatement; } });
|
|
36
36
|
});
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21waWxlci1jbGkvc3JjL25ndHNjL3RyYW5zbGF0b3IvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HOzs7Ozs7Ozs7Ozs7O0lBSUgsa0ZBQXNDO0lBQTlCLGtHQUFBLE9BQU8sT0FBQTtJQUNmLGdHQUEyRDtJQUEzQywrR0FBQSxhQUFhLE9BQUE7SUFDN0Isd0ZBQXlHO0lBQWpHLHlIQUFBLDJCQUEyQixPQUFBO0lBQ25DLGtHQUFvRDtJQUE1QyxnSEFBQSxhQUFhLE9BQUE7SUFDckIsZ0hBQTRIO0lBQXBILHdIQUFBLGNBQWMsT0FBQTtJQUFFLDhIQUFBLG9CQUFvQixPQUFBO0lBQUUsNEhBQUEsa0JBQWtCLE9BQUE7SUFBRSw4SEFBQSxvQkFBb0IsT0FBQTtJQUN0Riw4R0FBb0Y7SUFBNUUsNEhBQUEsbUJBQW1CLE9BQUE7SUFBRSwySEFBQSxrQkFBa0IsT0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5leHBvcnQge0FzdEZhY3RvcnksIEJpbmFyeU9wZXJhdG9yLCBMZWFkaW5nQ29tbWVudCwgT2JqZWN0TGl0ZXJhbFByb3BlcnR5LCBTb3VyY2VNYXBMb2NhdGlvbiwgU291cmNlTWFwUmFuZ2UsIFRlbXBsYXRlRWxlbWVudCwgVGVtcGxhdGVMaXRlcmFsLCBVbmFyeU9wZXJhdG9yLCBWYXJpYWJsZURlY2xhcmF0aW9uVHlwZX0gZnJvbSAnLi9zcmMvYXBpL2FzdF9mYWN0b3J5JztcbmV4cG9ydCB7SW1wb3J0R2VuZXJhdG9yLCBOYW1lZEltcG9ydH0gZnJvbSAnLi9zcmMvYXBpL2ltcG9ydF9nZW5lcmF0b3InO1xuZXhwb3J0IHtDb250ZXh0fSBmcm9tICcuL3NyYy9jb250ZXh0JztcbmV4cG9ydCB7SW1wb3J0LCBJbXBvcnRNYW5hZ2VyfSBmcm9tICcuL3NyYy9pbXBvcnRfbWFuYWdlcic7XG5leHBvcnQge0V4cHJlc3Npb25UcmFuc2xhdG9yVmlzaXRvciwgUmVjb3JkV3JhcHBlZE5vZGVFeHByRm4sIFRyYW5zbGF0b3JPcHRpb25zfSBmcm9tICcuL3NyYy90cmFuc2xhdG9yJztcbmV4cG9ydCB7dHJhbnNsYXRlVHlwZX0gZnJvbSAnLi9zcmMvdHlwZV90cmFuc2xhdG9yJztcbmV4cG9ydCB7YXR0YWNoQ29tbWVudHMsIGNyZWF0ZVRlbXBsYXRlTWlkZGxlLCBjcmVhdGVUZW1wbGF0ZVRhaWwsIFR5cGVTY3JpcHRBc3RGYWN0b3J5fSBmcm9tICcuL3NyYy90eXBlc2NyaXB0X2FzdF9mYWN0b3J5JztcbmV4cG9ydCB7dHJhbnNsYXRlRXhwcmVzc2lvbiwgdHJhbnNsYXRlU3RhdGVtZW50fSBmcm9tICcuL3NyYy90eXBlc2NyaXB0X3RyYW5zbGF0b3InO1xuIl19
|
|
@@ -6,15 +6,6 @@
|
|
|
6
6
|
* found in the LICENSE file at https://angular.io/license
|
|
7
7
|
*/
|
|
8
8
|
/// <amd-module name="@angular/compiler-cli/src/ngtsc/translator/src/api/import_generator" />
|
|
9
|
-
/**
|
|
10
|
-
* Information about an import that has been added to a module.
|
|
11
|
-
*/
|
|
12
|
-
export interface Import {
|
|
13
|
-
/** The name of the module that has been imported. */
|
|
14
|
-
specifier: string;
|
|
15
|
-
/** The alias of the imported module. */
|
|
16
|
-
qualifier: string;
|
|
17
|
-
}
|
|
18
9
|
/**
|
|
19
10
|
* The symbol name and import namespace of an imported symbol,
|
|
20
11
|
* which has been registered through the ImportGenerator.
|