@angular/compiler-cli 11.2.8 → 11.2.9
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 +1 -1
- package/linker/src/file_linker/partial_linkers/partial_linker_selector.js +4 -4
- package/ngcc/src/packages/build_marker.d.ts +1 -1
- package/ngcc/src/packages/build_marker.js +1 -1
- package/package.json +2 -2
- package/src/ngtsc/annotations/src/component.d.ts +1 -6
- package/src/ngtsc/annotations/src/component.js +102 -75
- package/src/ngtsc/perf/src/api.d.ts +29 -1
- package/src/ngtsc/perf/src/api.js +30 -2
- package/src/perform_compile.js +16 -10
- package/src/version.js +1 -1
|
@@ -93,10 +93,38 @@ export declare enum PerfPhase {
|
|
|
93
93
|
* operation.
|
|
94
94
|
*/
|
|
95
95
|
LsReferencesAndRenames = 16,
|
|
96
|
+
/**
|
|
97
|
+
* Time spent by the Angular Language Service calculating a "quick info" operation.
|
|
98
|
+
*/
|
|
99
|
+
LsQuickInfo = 17,
|
|
100
|
+
/**
|
|
101
|
+
* Time spent by the Angular Language Service calculating a "get type definition" or "get
|
|
102
|
+
* definition" operation.
|
|
103
|
+
*/
|
|
104
|
+
LsDefinition = 18,
|
|
105
|
+
/**
|
|
106
|
+
* Time spent by the Angular Language Service calculating a "get completions" (AKA autocomplete)
|
|
107
|
+
* operation.
|
|
108
|
+
*/
|
|
109
|
+
LsCompletions = 19,
|
|
110
|
+
/**
|
|
111
|
+
* Time spent by the Angular Language Service calculating a "view template typecheck block"
|
|
112
|
+
* operation.
|
|
113
|
+
*/
|
|
114
|
+
LsTcb = 20,
|
|
115
|
+
/**
|
|
116
|
+
* Time spent by the Angular Language Service calculating diagnostics.
|
|
117
|
+
*/
|
|
118
|
+
LsDiagnostics = 21,
|
|
119
|
+
/**
|
|
120
|
+
* Time spent by the Angular Language Service calculating a "get component locations for template"
|
|
121
|
+
* operation.
|
|
122
|
+
*/
|
|
123
|
+
LsComponentLocations = 22,
|
|
96
124
|
/**
|
|
97
125
|
* Tracks the number of `PerfPhase`s, and must appear at the end of the list.
|
|
98
126
|
*/
|
|
99
|
-
LAST =
|
|
127
|
+
LAST = 23
|
|
100
128
|
}
|
|
101
129
|
/**
|
|
102
130
|
* Represents some occurrence during compilation, and is tracked with a counter.
|
|
@@ -105,10 +105,38 @@
|
|
|
105
105
|
* operation.
|
|
106
106
|
*/
|
|
107
107
|
PerfPhase[PerfPhase["LsReferencesAndRenames"] = 16] = "LsReferencesAndRenames";
|
|
108
|
+
/**
|
|
109
|
+
* Time spent by the Angular Language Service calculating a "quick info" operation.
|
|
110
|
+
*/
|
|
111
|
+
PerfPhase[PerfPhase["LsQuickInfo"] = 17] = "LsQuickInfo";
|
|
112
|
+
/**
|
|
113
|
+
* Time spent by the Angular Language Service calculating a "get type definition" or "get
|
|
114
|
+
* definition" operation.
|
|
115
|
+
*/
|
|
116
|
+
PerfPhase[PerfPhase["LsDefinition"] = 18] = "LsDefinition";
|
|
117
|
+
/**
|
|
118
|
+
* Time spent by the Angular Language Service calculating a "get completions" (AKA autocomplete)
|
|
119
|
+
* operation.
|
|
120
|
+
*/
|
|
121
|
+
PerfPhase[PerfPhase["LsCompletions"] = 19] = "LsCompletions";
|
|
122
|
+
/**
|
|
123
|
+
* Time spent by the Angular Language Service calculating a "view template typecheck block"
|
|
124
|
+
* operation.
|
|
125
|
+
*/
|
|
126
|
+
PerfPhase[PerfPhase["LsTcb"] = 20] = "LsTcb";
|
|
127
|
+
/**
|
|
128
|
+
* Time spent by the Angular Language Service calculating diagnostics.
|
|
129
|
+
*/
|
|
130
|
+
PerfPhase[PerfPhase["LsDiagnostics"] = 21] = "LsDiagnostics";
|
|
131
|
+
/**
|
|
132
|
+
* Time spent by the Angular Language Service calculating a "get component locations for template"
|
|
133
|
+
* operation.
|
|
134
|
+
*/
|
|
135
|
+
PerfPhase[PerfPhase["LsComponentLocations"] = 22] = "LsComponentLocations";
|
|
108
136
|
/**
|
|
109
137
|
* Tracks the number of `PerfPhase`s, and must appear at the end of the list.
|
|
110
138
|
*/
|
|
111
|
-
PerfPhase[PerfPhase["LAST"] =
|
|
139
|
+
PerfPhase[PerfPhase["LAST"] = 23] = "LAST";
|
|
112
140
|
})(PerfPhase = exports.PerfPhase || (exports.PerfPhase = {}));
|
|
113
141
|
/**
|
|
114
142
|
* Represents some occurrence during compilation, and is tracked with a counter.
|
|
@@ -256,4 +284,4 @@
|
|
|
256
284
|
PerfCheckpoint[PerfCheckpoint["LAST"] = 9] = "LAST";
|
|
257
285
|
})(PerfCheckpoint = exports.PerfCheckpoint || (exports.PerfCheckpoint = {}));
|
|
258
286
|
});
|
|
259
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcGlsZXItY2xpL3NyYy9uZ3RzYy9wZXJmL3NyYy9hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HOzs7Ozs7Ozs7Ozs7O0lBRUg7O09BRUc7SUFDSCxJQUFZLFNBeUdYO0lBekdELFdBQVksU0FBUztRQUNuQjs7V0FFRztRQUNILHVEQUFXLENBQUE7UUFFWDs7OztXQUlHO1FBQ0gsMkNBQUssQ0FBQTtRQUVMOzs7OztXQUtHO1FBQ0gsK0VBQXVCLENBQUE7UUFFdkI7Ozs7V0FJRztRQUNILDZEQUFjLENBQUE7UUFFZDs7OztXQUlHO1FBQ0gsNkRBQWMsQ0FBQTtRQUVkOztXQUVHO1FBQ0gsMkVBQXFCLENBQUE7UUFFckI7O1dBRUc7UUFDSCxpREFBUSxDQUFBO1FBRVI7OztXQUdHO1FBQ0gsK0NBQU8sQ0FBQTtRQUVQOztXQUVHO1FBQ0gsNkRBQWMsQ0FBQTtRQUVkOztXQUVHO1FBQ0gsMkRBQWEsQ0FBQTtRQUViOztXQUVHO1FBQ0gsa0VBQWdCLENBQUE7UUFFaEI7OztXQUdHO1FBQ0gsOERBQWMsQ0FBQTtRQUVkOzs7OztXQUtHO1FBQ0gsZ0RBQU8sQ0FBQTtRQUVQOztXQUVHO1FBQ0gsb0VBQWlCLENBQUE7UUFFakI7O1dBRUc7UUFDSCw4REFBYyxDQUFBO1FBRWQ7O1dBRUc7UUFDSCxvREFBUyxDQUFBO1FBRVQ7OztXQUdHO1FBQ0gsOEVBQXNCLENBQUE7UUFFdEI7O1dBRUc7UUFDSCwwQ0FBSSxDQUFBO0lBQ04sQ0FBQyxFQXpHVyxTQUFTLEdBQVQsaUJBQVMsS0FBVCxpQkFBUyxRQXlHcEI7SUFFRDs7T0FFRztJQUNILElBQVksU0F1R1g7SUF2R0QsV0FBWSxTQUFTO1FBQ25COztXQUVHO1FBQ0gseURBQVksQ0FBQTtRQUVaOztXQUVHO1FBQ0gsdURBQVcsQ0FBQTtRQUVYOztXQUVHO1FBQ0gsaUVBQWdCLENBQUE7UUFFaEI7O1dBRUc7UUFDSCxpRUFBZ0IsQ0FBQTtRQUVoQjs7V0FFRztRQUNILG1FQUFpQixDQUFBO1FBRWpCOztXQUVHO1FBQ0gsK0RBQWUsQ0FBQTtRQUVmOztXQUVHO1FBQ0gsdURBQVcsQ0FBQTtRQUVYOzs7O1dBSUc7UUFDSCx5REFBWSxDQUFBO1FBRVo7OztXQUdHO1FBQ0gscUVBQWtCLENBQUE7UUFFbEI7O1dBRUc7UUFDSCxpRkFBd0IsQ0FBQTtRQUV4Qjs7O1dBR0c7UUFDSCxnRkFBdUIsQ0FBQTtRQUV2Qjs7O1dBR0c7UUFDSCxnRkFBdUIsQ0FBQTtRQUV2Qjs7V0FFRztRQUNILHdEQUFXLENBQUE7UUFFWDs7O1dBR0c7UUFDSCxnRkFBdUIsQ0FBQTtRQUV2Qjs7O1dBR0c7UUFDSCxzRUFBa0IsQ0FBQTtRQUVsQjs7O1dBR0c7UUFDSCw4RUFBc0IsQ0FBQTtRQUV0Qjs7V0FFRztRQUNILHNFQUFrQixDQUFBO1FBRWxCOztXQUVHO1FBQ0gsOERBQWMsQ0FBQTtRQUVkOztXQUVHO1FBQ0gsMENBQUksQ0FBQTtJQUNOLENBQUMsRUF2R1csU0FBUyxHQUFULGlCQUFTLEtBQVQsaUJBQVMsUUF1R3BCO0lBRUQ7OztPQUdHO0lBQ0gsSUFBWSxjQTBEWDtJQTFERCxXQUFZLGNBQWM7UUFDeEI7OztXQUdHO1FBQ0gseURBQU8sQ0FBQTtRQUVQOztXQUVHO1FBQ0gseUZBQXVCLENBQUE7UUFFdkI7Ozs7OztXQU1HO1FBQ0gsaUVBQVcsQ0FBQTtRQUVYOztXQUVHO1FBQ0gsMkRBQVEsQ0FBQTtRQUVSOztXQUVHO1FBQ0gseURBQU8sQ0FBQTtRQUVQOztXQUVHO1FBQ0gscUVBQWEsQ0FBQTtRQUViOztXQUVHO1FBQ0gsMkVBQWdCLENBQUE7UUFFaEI7Ozs7O1dBS0c7UUFDSCx5REFBTyxDQUFBO1FBRVA7O1dBRUc7UUFDSCxtREFBSSxDQUFBO1FBRUo7O1dBRUc7UUFDSCxtREFBSSxDQUFBO0lBQ04sQ0FBQyxFQTFEVyxjQUFjLEdBQWQsc0JBQWMsS0FBZCxzQkFBYyxRQTBEekIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuLyoqXG4gKiBBIHBoYXNlIG9mIGNvbXBpbGF0aW9uIGZvciB3aGljaCB0aW1lIGlzIHRyYWNrZWQgaW4gYSBkaXN0aW5jdCBidWNrZXQuXG4gKi9cbmV4cG9ydCBlbnVtIFBlcmZQaGFzZSB7XG4gIC8qKlxuICAgKiBUaGUgXCJkZWZhdWx0XCIgcGhhc2Ugd2hpY2ggdHJhY2tzIHRpbWUgbm90IHNwZW50IGluIGFueSBvdGhlciBwaGFzZS5cbiAgICovXG4gIFVuYWNjb3VudGVkLFxuXG4gIC8qKlxuICAgKiBUaW1lIHNwZW50IHNldHRpbmcgdXAgdGhlIGNvbXBpbGVyLCBiZWZvcmUgYSBUeXBlU2NyaXB0IHByb2dyYW0gaXMgY3JlYXRlZC5cbiAgICpcbiAgICogVGhpcyBpbmNsdWRlcyBvcGVyYXRpb25zIGxpa2UgY29uZmlndXJpbmcgdGhlIGB0cy5Db21waWxlckhvc3RgIGFuZCBhbnkgd3JhcHBlcnMuXG4gICAqL1xuICBTZXR1cCxcblxuICAvKipcbiAgICogVGltZSBzcGVudCBpbiBgdHMuY3JlYXRlUHJvZ3JhbWAsIGluY2x1ZGluZyByZWFkaW5nIGFuZCBwYXJzaW5nIGB0cy5Tb3VyY2VGaWxlYHMgaW4gdGhlXG4gICAqIGB0cy5Db21waWxlckhvc3RgLlxuICAgKlxuICAgKiBUaGlzIG1pZ2h0IGJlIGFuIGluY3JlbWVudGFsIHByb2dyYW0gY3JlYXRpb24gb3BlcmF0aW9uLlxuICAgKi9cbiAgVHlwZVNjcmlwdFByb2dyYW1DcmVhdGUsXG5cbiAgLyoqXG4gICAqIFRpbWUgc3BlbnQgcmVjb25jaWxpbmcgdGhlIGNvbnRlbnRzIG9mIGFuIG9sZCBgdHMuUHJvZ3JhbWAgd2l0aCB0aGUgbmV3IGluY3JlbWVudGFsIG9uZS5cbiAgICpcbiAgICogT25seSBwcmVzZW50IGluIGluY3JlbWVudGFsIGNvbXBpbGF0aW9ucy5cbiAgICovXG4gIFJlY29uY2lsaWF0aW9uLFxuXG4gIC8qKlxuICAgKiBUaW1lIHNwZW50IHVwZGF0aW5nIGFuIGBOZ0NvbXBpbGVyYCBpbnN0YW5jZSB3aXRoIGEgcmVzb3VyY2Utb25seSBjaGFuZ2UuXG4gICAqXG4gICAqIE9ubHkgcHJlc2VudCBpbiBpbmNyZW1lbnRhbCBjb21waWxhdGlvbnMgd2hlcmUgdGhlIGNoYW5nZSB3YXMgcmVzb3VyY2Utb25seS5cbiAgICovXG4gIFJlc291cmNlVXBkYXRlLFxuXG4gIC8qKlxuICAgKiBUaW1lIHNwZW50IGNhbGN1bGF0aW5nIHRoZSBwbGFpbiBUeXBlU2NyaXB0IGRpYWdub3N0aWNzIChzdHJ1Y3R1cmFsIGFuZCBzZW1hbnRpYykuXG4gICAqL1xuICBUeXBlU2NyaXB0RGlhZ25vc3RpY3MsXG5cbiAgLyoqXG4gICAqIFRpbWUgc3BlbnQgaW4gQW5ndWxhciBhbmFseXNpcyBvZiBpbmRpdmlkdWFsIGNsYXNzZXMgaW4gdGhlIHByb2dyYW0uXG4gICAqL1xuICBBbmFseXNpcyxcblxuICAvKipcbiAgICogVGltZSBzcGVudCBpbiBBbmd1bGFyIGdsb2JhbCBhbmFseXNpcyAoc3ludGhlc2lzIG9mIGFuYWx5c2lzIGluZm9ybWF0aW9uIGludG8gYSBjb21wbGV0ZVxuICAgKiB1bmRlcnN0YW5kaW5nIG9mIHRoZSBwcm9ncmFtKS5cbiAgICovXG4gIFJlc29sdmUsXG5cbiAgLyoqXG4gICAqIFRpbWUgc3BlbnQgYnVpbGRpbmcgdGhlIGltcG9ydCBncmFwaCBvZiB0aGUgcHJvZ3JhbSBpbiBvcmRlciB0byBwZXJmb3JtIGN5Y2xlIGRldGVjdGlvbi5cbiAgICovXG4gIEN5Y2xlRGV0ZWN0aW9uLFxuXG4gIC8qKlxuICAgKiBUaW1lIHNwZW50IGdlbmVyYXRpbmcgdGhlIHRleHQgb2YgVHlwZSBDaGVjayBCbG9ja3MgaW4gb3JkZXIgdG8gcGVyZm9ybSB0ZW1wbGF0ZSB0eXBlIGNoZWNraW5nLlxuICAgKi9cbiAgVGNiR2VuZXJhdGlvbixcblxuICAvKipcbiAgICogVGltZSBzcGVudCB1cGRhdGluZyB0aGUgYHRzLlByb2dyYW1gIHdpdGggbmV3IFR5cGUgQ2hlY2sgQmxvY2sgY29kZS5cbiAgICovXG4gIFRjYlVwZGF0ZVByb2dyYW0sXG5cbiAgLyoqXG4gICAqIFRpbWUgc3BlbnQgYnkgVHlwZVNjcmlwdCBwZXJmb3JtaW5nIGl0cyBlbWl0IG9wZXJhdGlvbnMsIGluY2x1ZGluZyBkb3dubGV2ZWxpbmcgYW5kIHdyaXRpbmdcbiAgICogb3V0cHV0IGZpbGVzLlxuICAgKi9cbiAgVHlwZVNjcmlwdEVtaXQsXG5cbiAgLyoqXG4gICAqIFRpbWUgc3BlbnQgYnkgQW5ndWxhciBwZXJmb3JtaW5nIGNvZGUgdHJhbnNmb3JtYXRpb25zIG9mIEFTVHMgYXMgdGhleSdyZSBhYm91dCB0byBiZSBlbWl0dGVkLlxuICAgKlxuICAgKiBUaGlzIGluY2x1ZGVzIHRoZSBhY3R1YWwgY29kZSBnZW5lcmF0aW9uIHN0ZXAgZm9yIHRlbXBsYXRlcywgYW5kIG9jY3VycyBkdXJpbmcgdGhlIGVtaXQgcGhhc2VcbiAgICogKGJ1dCBpcyB0cmFja2VkIHNlcGFyYXRlbHkgZnJvbSBgVHlwZVNjcmlwdEVtaXRgIHRpbWUpLlxuICAgKi9cbiAgQ29tcGlsZSxcblxuICAvKipcbiAgICogVGltZSBzcGVudCBwZXJmb3JtaW5nIGEgYFRlbXBsYXRlVHlwZUNoZWNrZXJgIGF1dG9jb21wbGV0aW9uIG9wZXJhdGlvbi5cbiAgICovXG4gIFR0Y0F1dG9jb21wbGV0aW9uLFxuXG4gIC8qKlxuICAgKiBUaW1lIHNwZW50IGNvbXB1dGluZyB0ZW1wbGF0ZSB0eXBlLWNoZWNraW5nIGRpYWdub3N0aWNzLlxuICAgKi9cbiAgVHRjRGlhZ25vc3RpY3MsXG5cbiAgLyoqXG4gICAqIFRpbWUgc3BlbnQgZ2V0dGluZyBhIGBTeW1ib2xgIGZyb20gdGhlIGBUZW1wbGF0ZVR5cGVDaGVja2VyYC5cbiAgICovXG4gIFR0Y1N5bWJvbCxcblxuICAvKipcbiAgICogVGltZSBzcGVudCBieSB0aGUgQW5ndWxhciBMYW5ndWFnZSBTZXJ2aWNlIGNhbGN1bGF0aW5nIGEgXCJnZXQgcmVmZXJlbmNlc1wiIG9yIGEgcmVuYW1pbmdcbiAgICogb3BlcmF0aW9uLlxuICAgKi9cbiAgTHNSZWZlcmVuY2VzQW5kUmVuYW1lcyxcblxuICAvKipcbiAgICogVHJhY2tzIHRoZSBudW1iZXIgb2YgYFBlcmZQaGFzZWBzLCBhbmQgbXVzdCBhcHBlYXIgYXQgdGhlIGVuZCBvZiB0aGUgbGlzdC5cbiAgICovXG4gIExBU1QsXG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBzb21lIG9jY3VycmVuY2UgZHVyaW5nIGNvbXBpbGF0aW9uLCBhbmQgaXMgdHJhY2tlZCB3aXRoIGEgY291bnRlci5cbiAqL1xuZXhwb3J0IGVudW0gUGVyZkV2ZW50IHtcbiAgLyoqXG4gICAqIENvdW50cyB0aGUgbnVtYmVyIG9mIGAuZC50c2AgZmlsZXMgaW4gdGhlIHByb2dyYW0uXG4gICAqL1xuICBJbnB1dER0c0ZpbGUsXG5cbiAgLyoqXG4gICAqIENvdW50cyB0aGUgbnVtYmVyIG9mIG5vbi1gLmQudHNgIGZpbGVzIGluIHRoZSBwcm9ncmFtLlxuICAgKi9cbiAgSW5wdXRUc0ZpbGUsXG5cbiAgLyoqXG4gICAqIEFuIGBAQ29tcG9uZW50YCBjbGFzcyB3YXMgYW5hbHl6ZWQuXG4gICAqL1xuICBBbmFseXplQ29tcG9uZW50LFxuXG4gIC8qKlxuICAgKiBBbiBgQERpcmVjdGl2ZWAgY2xhc3Mgd2FzIGFuYWx5emVkLlxuICAgKi9cbiAgQW5hbHl6ZURpcmVjdGl2ZSxcblxuICAvKipcbiAgICogQW4gYEBJbmplY3RhYmxlYCBjbGFzcyB3YXMgYW5hbHl6ZWQuXG4gICAqL1xuICBBbmFseXplSW5qZWN0YWJsZSxcblxuICAvKipcbiAgICogQW4gYEBOZ01vZHVsZWAgY2xhc3Mgd2FzIGFuYWx5emVkLlxuICAgKi9cbiAgQW5hbHl6ZU5nTW9kdWxlLFxuXG4gIC8qKlxuICAgKiBBbiBgQFBpcGVgIGNsYXNzIHdhcyBhbmFseXplZC5cbiAgICovXG4gIEFuYWx5emVQaXBlLFxuXG4gIC8qKlxuICAgKiBBIHRyYWl0IHdhcyBhbmFseXplZC5cbiAgICpcbiAgICogSW4gdGhlb3J5LCB0aGlzIHNob3VsZCBiZSB0aGUgc3VtIG9mIHRoZSBgQW5hbHl6ZWAgY291bnRlcnMgZm9yIGVhY2ggZGVjb3JhdG9yIHR5cGUuXG4gICAqL1xuICBUcmFpdEFuYWx5emUsXG5cbiAgLyoqXG4gICAqIEEgdHJhaXQgaGFkIGEgcHJpb3IgYW5hbHlzaXMgYXZhaWxhYmxlIGZyb20gYW4gaW5jcmVtZW50YWwgcHJvZ3JhbSwgYW5kIGRpZCBub3QgbmVlZCB0byBiZVxuICAgKiByZS1hbmFseXplZC5cbiAgICovXG4gIFRyYWl0UmV1c2VBbmFseXNpcyxcblxuICAvKipcbiAgICogQSBgdHMuU291cmNlRmlsZWAgZGlyZWN0bHkgY2hhbmdlZCBiZXR3ZWVuIHRoZSBwcmlvciBwcm9ncmFtIGFuZCBhIG5ldyBpbmNyZW1lbnRhbCBjb21waWxhdGlvbi5cbiAgICovXG4gIFNvdXJjZUZpbGVQaHlzaWNhbENoYW5nZSxcblxuICAvKipcbiAgICogQSBgdHMuU291cmNlRmlsZWAgZGlkIG5vdCBwaHlzaWNhbGx5IGNoYW5nZWQsIGJ1dCBhY2NvcmRpbmcgdG8gdGhlIGZpbGUgZGVwZW5kZW5jeSBncmFwaCwgaGFzXG4gICAqIGxvZ2ljYWxseSBjaGFuZ2VkIGJldHdlZW4gdGhlIHByaW9yIHByb2dyYW0gYW5kIGEgbmV3IGluY3JlbWVudGFsIGNvbXBpbGF0aW9uLlxuICAgKi9cbiAgU291cmNlRmlsZUxvZ2ljYWxDaGFuZ2UsXG5cbiAgLyoqXG4gICAqIEEgYHRzLlNvdXJjZUZpbGVgIGhhcyBub3QgbG9naWNhbGx5IGNoYW5nZWQgYW5kIGFsbCBvZiBpdHMgYW5hbHlzaXMgcmVzdWx0cyB3ZXJlIHRodXMgYXZhaWxhYmxlXG4gICAqIGZvciByZXVzZS5cbiAgICovXG4gIFNvdXJjZUZpbGVSZXVzZUFuYWx5c2lzLFxuXG4gIC8qKlxuICAgKiBBIFR5cGUgQ2hlY2sgQmxvY2sgKFRDQikgd2FzIGdlbmVyYXRlZC5cbiAgICovXG4gIEdlbmVyYXRlVGNiLFxuXG4gIC8qKlxuICAgKiBBIFR5cGUgQ2hlY2sgQmxvY2sgKFRDQikgY291bGQgbm90IGJlIGdlbmVyYXRlZCBiZWNhdXNlIGlubGluaW5nIHdhcyBkaXNhYmxlZCwgYW5kIHRoZSBibG9ja1xuICAgKiB3b3VsZCd2ZSByZXF1aXJlZCBpbmxpbmluZy5cbiAgICovXG4gIFNraXBHZW5lcmF0ZVRjYk5vSW5saW5lLFxuXG4gIC8qKlxuICAgKiBBIGAubmd0eXBlY2hlY2sudHNgIGZpbGUgY291bGQgYmUgcmV1c2VkIGZyb20gdGhlIHByZXZpb3VzIHByb2dyYW0gYW5kIGRpZCBub3QgbmVlZCB0byBiZVxuICAgKiByZWdlbmVyYXRlZC5cbiAgICovXG4gIFJldXNlVHlwZUNoZWNrRmlsZSxcblxuICAvKipcbiAgICogVGhlIHRlbXBsYXRlIHR5cGUtY2hlY2tpbmcgcHJvZ3JhbSByZXF1aXJlZCBjaGFuZ2VzIGFuZCBoYWQgdG8gYmUgdXBkYXRlZCBpbiBhbiBpbmNyZW1lbnRhbFxuICAgKiBzdGVwLlxuICAgKi9cbiAgVXBkYXRlVHlwZUNoZWNrUHJvZ3JhbSxcblxuICAvKipcbiAgICogVGhlIGNvbXBpbGVyIHdhcyBhYmxlIHRvIHByb3ZlIHRoYXQgYSBgdHMuU291cmNlRmlsZWAgZGlkIG5vdCBuZWVkIHRvIGJlIHJlLWVtaXR0ZWQuXG4gICAqL1xuICBFbWl0U2tpcFNvdXJjZUZpbGUsXG5cbiAgLyoqXG4gICAqIEEgYHRzLlNvdXJjZUZpbGVgIHdhcyBlbWl0dGVkLlxuICAgKi9cbiAgRW1pdFNvdXJjZUZpbGUsXG5cbiAgLyoqXG4gICAqIFRyYWNrcyB0aGUgbnVtYmVyIG9mIGBQcmVmRXZlbnRgcywgYW5kIG11c3QgYXBwZWFyIGF0IHRoZSBlbmQgb2YgdGhlIGxpc3QuXG4gICAqL1xuICBMQVNULFxufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBjaGVja3BvaW50IGR1cmluZyBjb21waWxhdGlvbiBhdCB3aGljaCB0aGUgbWVtb3J5IHVzYWdlIG9mIHRoZSBjb21waWxlciBzaG91bGQgYmVcbiAqIHJlY29yZGVkLlxuICovXG5leHBvcnQgZW51bSBQZXJmQ2hlY2twb2ludCB7XG4gIC8qKlxuICAgKiBUaGUgcG9pbnQgYXQgd2hpY2ggdGhlIGBQZXJmUmVjb3JkZXJgIHdhcyBjcmVhdGVkLCBhbmQgaWRlYWxseSB0cmFja3MgbWVtb3J5IHVzZWQgYmVmb3JlIGFueVxuICAgKiBjb21waWxhdGlvbiBzdHJ1Y3R1cmVzIGFyZSBjcmVhdGVkLlxuICAgKi9cbiAgSW5pdGlhbCxcblxuICAvKipcbiAgICogVGhlIHBvaW50IGp1c3QgYWZ0ZXIgdGhlIGB0cy5Qcm9ncmFtYCBoYXMgYmVlbiBjcmVhdGVkLlxuICAgKi9cbiAgVHlwZVNjcmlwdFByb2dyYW1DcmVhdGUsXG5cbiAgLyoqXG4gICAqIFRoZSBwb2ludCBqdXN0IGJlZm9yZSBBbmd1bGFyIGFuYWx5c2lzIHN0YXJ0cy5cbiAgICpcbiAgICogSW4gdGhlIG1haW4gdXNhZ2UgcGF0dGVybiBmb3IgdGhlIGNvbXBpbGVyLCBUeXBlU2NyaXB0IGRpYWdub3N0aWNzIGhhdmUgYmVlbiBjYWxjdWxhdGVkIGF0IHRoaXNcbiAgICogcG9pbnQsIHNvIHRoZSBgdHMuVHlwZUNoZWNrZXJgIGhhcyBmdWxseSBpbmdlc3RlZCB0aGUgY3VycmVudCBwcm9ncmFtLCBhbGwgYHRzLlR5cGVgIHN0cnVjdHVyZXNcbiAgICogYW5kIGB0cy5TeW1ib2xgcyBoYXZlIGJlZW4gY3JlYXRlZC5cbiAgICovXG4gIFByZUFuYWx5c2lzLFxuXG4gIC8qKlxuICAgKiBUaGUgcG9pbnQganVzdCBhZnRlciBBbmd1bGFyIGFuYWx5c2lzIGNvbXBsZXRlcy5cbiAgICovXG4gIEFuYWx5c2lzLFxuXG4gIC8qKlxuICAgKiBUaGUgcG9pbnQganVzdCBhZnRlciBBbmd1bGFyIHJlc29sdXRpb24gaXMgY29tcGxldGUuXG4gICAqL1xuICBSZXNvbHZlLFxuXG4gIC8qKlxuICAgKiBUaGUgcG9pbnQganVzdCBhZnRlciBUeXBlIENoZWNrIEJsb2NrcyAoVENCcykgaGF2ZSBiZWVuIGdlbmVyYXRlZC5cbiAgICovXG4gIFR0Y0dlbmVyYXRpb24sXG5cbiAgLyoqXG4gICAqIFRoZSBwb2ludCBqdXN0IGFmdGVyIHRoZSB0ZW1wbGF0ZSB0eXBlLWNoZWNraW5nIHByb2dyYW0gaGFzIGJlZW4gdXBkYXRlZCB3aXRoIGFueSBuZXcgVENCcy5cbiAgICovXG4gIFR0Y1VwZGF0ZVByb2dyYW0sXG5cbiAgLyoqXG4gICAqIFRoZSBwb2ludCBqdXN0IGJlZm9yZSBlbWl0IGJlZ2lucy5cbiAgICpcbiAgICogSW4gdGhlIG1haW4gdXNhZ2UgcGF0dGVybiBmb3IgdGhlIGNvbXBpbGVyLCBhbGwgdGVtcGxhdGUgdHlwZS1jaGVja2luZyBkaWFnbm9zdGljcyBoYXZlIGJlZW5cbiAgICogcmVxdWVzdGVkIGF0IHRoaXMgcG9pbnQuXG4gICAqL1xuICBQcmVFbWl0LFxuXG4gIC8qKlxuICAgKiBUaGUgcG9pbnQganVzdCBhZnRlciB0aGUgcHJvZ3JhbSBoYXMgYmVlbiBmdWxseSBlbWl0dGVkLlxuICAgKi9cbiAgRW1pdCxcblxuICAvKipcbiAgICogVHJhY2tzIHRoZSBudW1iZXIgb2YgYFBlcmZDaGVja3BvaW50YHMsIGFuZCBtdXN0IGFwcGVhciBhdCB0aGUgZW5kIG9mIHRoZSBsaXN0LlxuICAgKi9cbiAgTEFTVCxcbn1cblxuLyoqXG4gKiBSZWNvcmRzIHRpbWluZywgbWVtb3J5LCBvciBjb3VudHMgYXQgc3BlY2lmaWMgcG9pbnRzIGluIHRoZSBjb21waWxlcidzIG9wZXJhdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQZXJmUmVjb3JkZXIge1xuICAvKipcbiAgICogU2V0IHRoZSBjdXJyZW50IHBoYXNlIG9mIGNvbXBpbGF0aW9uLlxuICAgKlxuICAgKiBUaW1lIHNwZW50IGluIHRoZSBwcmV2aW91cyBwaGFzZSB3aWxsIGJlIGFjY291bnRlZCB0byB0aGF0IHBoYXNlLiBUaGUgY2FsbGVyIGlzIHJlc3BvbnNpYmxlIGZvclxuICAgKiBleGl0aW5nIHRoZSBwaGFzZSB3aGVuIHdvcmsgdGhhdCBzaG91bGQgYmUgdHJhY2tlZCB3aXRoaW4gaXQgaXMgY29tcGxldGVkLCBhbmQgZWl0aGVyIHJldHVybmluZ1xuICAgKiB0byB0aGUgcHJldmlvdXMgcGhhc2Ugb3IgdHJhbnNpdGlvbmluZyB0byB0aGUgbmV4dCBvbmUgZGlyZWN0bHkuXG4gICAqXG4gICAqIEluIGdlbmVyYWwsIHByZWZlciB1c2luZyBgaW5QaGFzZSgpYCB0byBpbnN0cnVtZW50IGEgc2VjdGlvbiBvZiBjb2RlLCBhcyBpdCBhdXRvbWF0aWNhbGx5XG4gICAqIGhhbmRsZXMgZW50ZXJpbmcgYW5kIGV4aXRpbmcgdGhlIHBoYXNlLiBgcGhhc2UoKWAgc2hvdWxkIG9ubHkgYmUgdXNlZCB3aGVuIHRoZSBmb3JtZXIgQVBJXG4gICAqIGNhbm5vdCBiZSBjbGVhbmx5IGFwcGxpZWQgdG8gYSBwYXJ0aWN1bGFyIG9wZXJhdGlvbi5cbiAgICpcbiAgICogQHJldHVybnMgdGhlIHByZXZpb3VzIHBoYXNlXG4gICAqL1xuICBwaGFzZShwaGFzZTogUGVyZlBoYXNlKTogUGVyZlBoYXNlO1xuXG4gIC8qKlxuICAgKiBSdW4gYGZuYCBpbiB0aGUgZ2l2ZW4gYFBlcmZQaGFzZWAgYW5kIHJldHVybiB0aGUgcmVzdWx0LlxuICAgKlxuICAgKiBFbnRlcnMgYHBoYXNlYCBiZWZvcmUgZXhlY3V0aW5nIHRoZSBnaXZlbiBgZm5gLCB0aGVuIGV4aXRzIHRoZSBwaGFzZSBhbmQgcmV0dXJucyB0aGUgcmVzdWx0LlxuICAgKiBQcmVmZXIgdGhpcyBBUEkgdG8gYHBoYXNlKClgIHdoZXJlIHBvc3NpYmxlLlxuICAgKi9cbiAgaW5QaGFzZTxUPihwaGFzZTogUGVyZlBoYXNlLCBmbjogKCkgPT4gVCk6IFQ7XG5cbiAgLyoqXG4gICAqIFJlY29yZCB0aGUgbWVtb3J5IHVzYWdlIG9mIHRoZSBjb21waWxlciBhdCB0aGUgZ2l2ZW4gY2hlY2twb2ludC5cbiAgICovXG4gIG1lbW9yeShhZnRlcjogUGVyZkNoZWNrcG9pbnQpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBSZWNvcmQgdGhhdCBhIHNwZWNpZmljIGV2ZW50IGhhcyBvY2N1cnJlZCwgcG9zc2libHkgbW9yZSB0aGFuIG9uY2UuXG4gICAqL1xuICBldmVudENvdW50KGV2ZW50OiBQZXJmRXZlbnQsIGluY3JlbWVudEJ5PzogbnVtYmVyKTogdm9pZDtcblxuICAvKipcbiAgICogUmV0dXJuIHRoZSBgUGVyZlJlY29yZGVyYCB0byBhbiBlbXB0eSBzdGF0ZSAoY2xlYXIgYWxsIHRyYWNrZWQgc3RhdGlzdGljcykgYW5kIHJlc2V0IHRoZSB6ZXJvXG4gICAqIHBvaW50IHRvIHRoZSBjdXJyZW50IHRpbWUuXG4gICAqL1xuICByZXNldCgpOiB2b2lkO1xufVxuIl19
|
|
287
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcGlsZXItY2xpL3NyYy9uZ3RzYy9wZXJmL3NyYy9hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HOzs7Ozs7Ozs7Ozs7O0lBRUg7O09BRUc7SUFDSCxJQUFZLFNBMklYO0lBM0lELFdBQVksU0FBUztRQUNuQjs7V0FFRztRQUNILHVEQUFXLENBQUE7UUFFWDs7OztXQUlHO1FBQ0gsMkNBQUssQ0FBQTtRQUVMOzs7OztXQUtHO1FBQ0gsK0VBQXVCLENBQUE7UUFFdkI7Ozs7V0FJRztRQUNILDZEQUFjLENBQUE7UUFFZDs7OztXQUlHO1FBQ0gsNkRBQWMsQ0FBQTtRQUVkOztXQUVHO1FBQ0gsMkVBQXFCLENBQUE7UUFFckI7O1dBRUc7UUFDSCxpREFBUSxDQUFBO1FBRVI7OztXQUdHO1FBQ0gsK0NBQU8sQ0FBQTtRQUVQOztXQUVHO1FBQ0gsNkRBQWMsQ0FBQTtRQUVkOztXQUVHO1FBQ0gsMkRBQWEsQ0FBQTtRQUViOztXQUVHO1FBQ0gsa0VBQWdCLENBQUE7UUFFaEI7OztXQUdHO1FBQ0gsOERBQWMsQ0FBQTtRQUVkOzs7OztXQUtHO1FBQ0gsZ0RBQU8sQ0FBQTtRQUVQOztXQUVHO1FBQ0gsb0VBQWlCLENBQUE7UUFFakI7O1dBRUc7UUFDSCw4REFBYyxDQUFBO1FBRWQ7O1dBRUc7UUFDSCxvREFBUyxDQUFBO1FBRVQ7OztXQUdHO1FBQ0gsOEVBQXNCLENBQUE7UUFFdEI7O1dBRUc7UUFDSCx3REFBVyxDQUFBO1FBRVg7OztXQUdHO1FBQ0gsMERBQVksQ0FBQTtRQUVaOzs7V0FHRztRQUNILDREQUFhLENBQUE7UUFFYjs7O1dBR0c7UUFDSCw0Q0FBSyxDQUFBO1FBRUw7O1dBRUc7UUFDSCw0REFBYSxDQUFBO1FBRWI7OztXQUdHO1FBQ0gsMEVBQW9CLENBQUE7UUFFcEI7O1dBRUc7UUFDSCwwQ0FBSSxDQUFBO0lBQ04sQ0FBQyxFQTNJVyxTQUFTLEdBQVQsaUJBQVMsS0FBVCxpQkFBUyxRQTJJcEI7SUFFRDs7T0FFRztJQUNILElBQVksU0F1R1g7SUF2R0QsV0FBWSxTQUFTO1FBQ25COztXQUVHO1FBQ0gseURBQVksQ0FBQTtRQUVaOztXQUVHO1FBQ0gsdURBQVcsQ0FBQTtRQUVYOztXQUVHO1FBQ0gsaUVBQWdCLENBQUE7UUFFaEI7O1dBRUc7UUFDSCxpRUFBZ0IsQ0FBQTtRQUVoQjs7V0FFRztRQUNILG1FQUFpQixDQUFBO1FBRWpCOztXQUVHO1FBQ0gsK0RBQWUsQ0FBQTtRQUVmOztXQUVHO1FBQ0gsdURBQVcsQ0FBQTtRQUVYOzs7O1dBSUc7UUFDSCx5REFBWSxDQUFBO1FBRVo7OztXQUdHO1FBQ0gscUVBQWtCLENBQUE7UUFFbEI7O1dBRUc7UUFDSCxpRkFBd0IsQ0FBQTtRQUV4Qjs7O1dBR0c7UUFDSCxnRkFBdUIsQ0FBQTtRQUV2Qjs7O1dBR0c7UUFDSCxnRkFBdUIsQ0FBQTtRQUV2Qjs7V0FFRztRQUNILHdEQUFXLENBQUE7UUFFWDs7O1dBR0c7UUFDSCxnRkFBdUIsQ0FBQTtRQUV2Qjs7O1dBR0c7UUFDSCxzRUFBa0IsQ0FBQTtRQUVsQjs7O1dBR0c7UUFDSCw4RUFBc0IsQ0FBQTtRQUV0Qjs7V0FFRztRQUNILHNFQUFrQixDQUFBO1FBRWxCOztXQUVHO1FBQ0gsOERBQWMsQ0FBQTtRQUVkOztXQUVHO1FBQ0gsMENBQUksQ0FBQTtJQUNOLENBQUMsRUF2R1csU0FBUyxHQUFULGlCQUFTLEtBQVQsaUJBQVMsUUF1R3BCO0lBRUQ7OztPQUdHO0lBQ0gsSUFBWSxjQTBEWDtJQTFERCxXQUFZLGNBQWM7UUFDeEI7OztXQUdHO1FBQ0gseURBQU8sQ0FBQTtRQUVQOztXQUVHO1FBQ0gseUZBQXVCLENBQUE7UUFFdkI7Ozs7OztXQU1HO1FBQ0gsaUVBQVcsQ0FBQTtRQUVYOztXQUVHO1FBQ0gsMkRBQVEsQ0FBQTtRQUVSOztXQUVHO1FBQ0gseURBQU8sQ0FBQTtRQUVQOztXQUVHO1FBQ0gscUVBQWEsQ0FBQTtRQUViOztXQUVHO1FBQ0gsMkVBQWdCLENBQUE7UUFFaEI7Ozs7O1dBS0c7UUFDSCx5REFBTyxDQUFBO1FBRVA7O1dBRUc7UUFDSCxtREFBSSxDQUFBO1FBRUo7O1dBRUc7UUFDSCxtREFBSSxDQUFBO0lBQ04sQ0FBQyxFQTFEVyxjQUFjLEdBQWQsc0JBQWMsS0FBZCxzQkFBYyxRQTBEekIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuLyoqXG4gKiBBIHBoYXNlIG9mIGNvbXBpbGF0aW9uIGZvciB3aGljaCB0aW1lIGlzIHRyYWNrZWQgaW4gYSBkaXN0aW5jdCBidWNrZXQuXG4gKi9cbmV4cG9ydCBlbnVtIFBlcmZQaGFzZSB7XG4gIC8qKlxuICAgKiBUaGUgXCJkZWZhdWx0XCIgcGhhc2Ugd2hpY2ggdHJhY2tzIHRpbWUgbm90IHNwZW50IGluIGFueSBvdGhlciBwaGFzZS5cbiAgICovXG4gIFVuYWNjb3VudGVkLFxuXG4gIC8qKlxuICAgKiBUaW1lIHNwZW50IHNldHRpbmcgdXAgdGhlIGNvbXBpbGVyLCBiZWZvcmUgYSBUeXBlU2NyaXB0IHByb2dyYW0gaXMgY3JlYXRlZC5cbiAgICpcbiAgICogVGhpcyBpbmNsdWRlcyBvcGVyYXRpb25zIGxpa2UgY29uZmlndXJpbmcgdGhlIGB0cy5Db21waWxlckhvc3RgIGFuZCBhbnkgd3JhcHBlcnMuXG4gICAqL1xuICBTZXR1cCxcblxuICAvKipcbiAgICogVGltZSBzcGVudCBpbiBgdHMuY3JlYXRlUHJvZ3JhbWAsIGluY2x1ZGluZyByZWFkaW5nIGFuZCBwYXJzaW5nIGB0cy5Tb3VyY2VGaWxlYHMgaW4gdGhlXG4gICAqIGB0cy5Db21waWxlckhvc3RgLlxuICAgKlxuICAgKiBUaGlzIG1pZ2h0IGJlIGFuIGluY3JlbWVudGFsIHByb2dyYW0gY3JlYXRpb24gb3BlcmF0aW9uLlxuICAgKi9cbiAgVHlwZVNjcmlwdFByb2dyYW1DcmVhdGUsXG5cbiAgLyoqXG4gICAqIFRpbWUgc3BlbnQgcmVjb25jaWxpbmcgdGhlIGNvbnRlbnRzIG9mIGFuIG9sZCBgdHMuUHJvZ3JhbWAgd2l0aCB0aGUgbmV3IGluY3JlbWVudGFsIG9uZS5cbiAgICpcbiAgICogT25seSBwcmVzZW50IGluIGluY3JlbWVudGFsIGNvbXBpbGF0aW9ucy5cbiAgICovXG4gIFJlY29uY2lsaWF0aW9uLFxuXG4gIC8qKlxuICAgKiBUaW1lIHNwZW50IHVwZGF0aW5nIGFuIGBOZ0NvbXBpbGVyYCBpbnN0YW5jZSB3aXRoIGEgcmVzb3VyY2Utb25seSBjaGFuZ2UuXG4gICAqXG4gICAqIE9ubHkgcHJlc2VudCBpbiBpbmNyZW1lbnRhbCBjb21waWxhdGlvbnMgd2hlcmUgdGhlIGNoYW5nZSB3YXMgcmVzb3VyY2Utb25seS5cbiAgICovXG4gIFJlc291cmNlVXBkYXRlLFxuXG4gIC8qKlxuICAgKiBUaW1lIHNwZW50IGNhbGN1bGF0aW5nIHRoZSBwbGFpbiBUeXBlU2NyaXB0IGRpYWdub3N0aWNzIChzdHJ1Y3R1cmFsIGFuZCBzZW1hbnRpYykuXG4gICAqL1xuICBUeXBlU2NyaXB0RGlhZ25vc3RpY3MsXG5cbiAgLyoqXG4gICAqIFRpbWUgc3BlbnQgaW4gQW5ndWxhciBhbmFseXNpcyBvZiBpbmRpdmlkdWFsIGNsYXNzZXMgaW4gdGhlIHByb2dyYW0uXG4gICAqL1xuICBBbmFseXNpcyxcblxuICAvKipcbiAgICogVGltZSBzcGVudCBpbiBBbmd1bGFyIGdsb2JhbCBhbmFseXNpcyAoc3ludGhlc2lzIG9mIGFuYWx5c2lzIGluZm9ybWF0aW9uIGludG8gYSBjb21wbGV0ZVxuICAgKiB1bmRlcnN0YW5kaW5nIG9mIHRoZSBwcm9ncmFtKS5cbiAgICovXG4gIFJlc29sdmUsXG5cbiAgLyoqXG4gICAqIFRpbWUgc3BlbnQgYnVpbGRpbmcgdGhlIGltcG9ydCBncmFwaCBvZiB0aGUgcHJvZ3JhbSBpbiBvcmRlciB0byBwZXJmb3JtIGN5Y2xlIGRldGVjdGlvbi5cbiAgICovXG4gIEN5Y2xlRGV0ZWN0aW9uLFxuXG4gIC8qKlxuICAgKiBUaW1lIHNwZW50IGdlbmVyYXRpbmcgdGhlIHRleHQgb2YgVHlwZSBDaGVjayBCbG9ja3MgaW4gb3JkZXIgdG8gcGVyZm9ybSB0ZW1wbGF0ZSB0eXBlIGNoZWNraW5nLlxuICAgKi9cbiAgVGNiR2VuZXJhdGlvbixcblxuICAvKipcbiAgICogVGltZSBzcGVudCB1cGRhdGluZyB0aGUgYHRzLlByb2dyYW1gIHdpdGggbmV3IFR5cGUgQ2hlY2sgQmxvY2sgY29kZS5cbiAgICovXG4gIFRjYlVwZGF0ZVByb2dyYW0sXG5cbiAgLyoqXG4gICAqIFRpbWUgc3BlbnQgYnkgVHlwZVNjcmlwdCBwZXJmb3JtaW5nIGl0cyBlbWl0IG9wZXJhdGlvbnMsIGluY2x1ZGluZyBkb3dubGV2ZWxpbmcgYW5kIHdyaXRpbmdcbiAgICogb3V0cHV0IGZpbGVzLlxuICAgKi9cbiAgVHlwZVNjcmlwdEVtaXQsXG5cbiAgLyoqXG4gICAqIFRpbWUgc3BlbnQgYnkgQW5ndWxhciBwZXJmb3JtaW5nIGNvZGUgdHJhbnNmb3JtYXRpb25zIG9mIEFTVHMgYXMgdGhleSdyZSBhYm91dCB0byBiZSBlbWl0dGVkLlxuICAgKlxuICAgKiBUaGlzIGluY2x1ZGVzIHRoZSBhY3R1YWwgY29kZSBnZW5lcmF0aW9uIHN0ZXAgZm9yIHRlbXBsYXRlcywgYW5kIG9jY3VycyBkdXJpbmcgdGhlIGVtaXQgcGhhc2VcbiAgICogKGJ1dCBpcyB0cmFja2VkIHNlcGFyYXRlbHkgZnJvbSBgVHlwZVNjcmlwdEVtaXRgIHRpbWUpLlxuICAgKi9cbiAgQ29tcGlsZSxcblxuICAvKipcbiAgICogVGltZSBzcGVudCBwZXJmb3JtaW5nIGEgYFRlbXBsYXRlVHlwZUNoZWNrZXJgIGF1dG9jb21wbGV0aW9uIG9wZXJhdGlvbi5cbiAgICovXG4gIFR0Y0F1dG9jb21wbGV0aW9uLFxuXG4gIC8qKlxuICAgKiBUaW1lIHNwZW50IGNvbXB1dGluZyB0ZW1wbGF0ZSB0eXBlLWNoZWNraW5nIGRpYWdub3N0aWNzLlxuICAgKi9cbiAgVHRjRGlhZ25vc3RpY3MsXG5cbiAgLyoqXG4gICAqIFRpbWUgc3BlbnQgZ2V0dGluZyBhIGBTeW1ib2xgIGZyb20gdGhlIGBUZW1wbGF0ZVR5cGVDaGVja2VyYC5cbiAgICovXG4gIFR0Y1N5bWJvbCxcblxuICAvKipcbiAgICogVGltZSBzcGVudCBieSB0aGUgQW5ndWxhciBMYW5ndWFnZSBTZXJ2aWNlIGNhbGN1bGF0aW5nIGEgXCJnZXQgcmVmZXJlbmNlc1wiIG9yIGEgcmVuYW1pbmdcbiAgICogb3BlcmF0aW9uLlxuICAgKi9cbiAgTHNSZWZlcmVuY2VzQW5kUmVuYW1lcyxcblxuICAvKipcbiAgICogVGltZSBzcGVudCBieSB0aGUgQW5ndWxhciBMYW5ndWFnZSBTZXJ2aWNlIGNhbGN1bGF0aW5nIGEgXCJxdWljayBpbmZvXCIgb3BlcmF0aW9uLlxuICAgKi9cbiAgTHNRdWlja0luZm8sXG5cbiAgLyoqXG4gICAqIFRpbWUgc3BlbnQgYnkgdGhlIEFuZ3VsYXIgTGFuZ3VhZ2UgU2VydmljZSBjYWxjdWxhdGluZyBhIFwiZ2V0IHR5cGUgZGVmaW5pdGlvblwiIG9yIFwiZ2V0XG4gICAqIGRlZmluaXRpb25cIiBvcGVyYXRpb24uXG4gICAqL1xuICBMc0RlZmluaXRpb24sXG5cbiAgLyoqXG4gICAqIFRpbWUgc3BlbnQgYnkgdGhlIEFuZ3VsYXIgTGFuZ3VhZ2UgU2VydmljZSBjYWxjdWxhdGluZyBhIFwiZ2V0IGNvbXBsZXRpb25zXCIgKEFLQSBhdXRvY29tcGxldGUpXG4gICAqIG9wZXJhdGlvbi5cbiAgICovXG4gIExzQ29tcGxldGlvbnMsXG5cbiAgLyoqXG4gICAqIFRpbWUgc3BlbnQgYnkgdGhlIEFuZ3VsYXIgTGFuZ3VhZ2UgU2VydmljZSBjYWxjdWxhdGluZyBhIFwidmlldyB0ZW1wbGF0ZSB0eXBlY2hlY2sgYmxvY2tcIlxuICAgKiBvcGVyYXRpb24uXG4gICAqL1xuICBMc1RjYixcblxuICAvKipcbiAgICogVGltZSBzcGVudCBieSB0aGUgQW5ndWxhciBMYW5ndWFnZSBTZXJ2aWNlIGNhbGN1bGF0aW5nIGRpYWdub3N0aWNzLlxuICAgKi9cbiAgTHNEaWFnbm9zdGljcyxcblxuICAvKipcbiAgICogVGltZSBzcGVudCBieSB0aGUgQW5ndWxhciBMYW5ndWFnZSBTZXJ2aWNlIGNhbGN1bGF0aW5nIGEgXCJnZXQgY29tcG9uZW50IGxvY2F0aW9ucyBmb3IgdGVtcGxhdGVcIlxuICAgKiBvcGVyYXRpb24uXG4gICAqL1xuICBMc0NvbXBvbmVudExvY2F0aW9ucyxcblxuICAvKipcbiAgICogVHJhY2tzIHRoZSBudW1iZXIgb2YgYFBlcmZQaGFzZWBzLCBhbmQgbXVzdCBhcHBlYXIgYXQgdGhlIGVuZCBvZiB0aGUgbGlzdC5cbiAgICovXG4gIExBU1QsXG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBzb21lIG9jY3VycmVuY2UgZHVyaW5nIGNvbXBpbGF0aW9uLCBhbmQgaXMgdHJhY2tlZCB3aXRoIGEgY291bnRlci5cbiAqL1xuZXhwb3J0IGVudW0gUGVyZkV2ZW50IHtcbiAgLyoqXG4gICAqIENvdW50cyB0aGUgbnVtYmVyIG9mIGAuZC50c2AgZmlsZXMgaW4gdGhlIHByb2dyYW0uXG4gICAqL1xuICBJbnB1dER0c0ZpbGUsXG5cbiAgLyoqXG4gICAqIENvdW50cyB0aGUgbnVtYmVyIG9mIG5vbi1gLmQudHNgIGZpbGVzIGluIHRoZSBwcm9ncmFtLlxuICAgKi9cbiAgSW5wdXRUc0ZpbGUsXG5cbiAgLyoqXG4gICAqIEFuIGBAQ29tcG9uZW50YCBjbGFzcyB3YXMgYW5hbHl6ZWQuXG4gICAqL1xuICBBbmFseXplQ29tcG9uZW50LFxuXG4gIC8qKlxuICAgKiBBbiBgQERpcmVjdGl2ZWAgY2xhc3Mgd2FzIGFuYWx5emVkLlxuICAgKi9cbiAgQW5hbHl6ZURpcmVjdGl2ZSxcblxuICAvKipcbiAgICogQW4gYEBJbmplY3RhYmxlYCBjbGFzcyB3YXMgYW5hbHl6ZWQuXG4gICAqL1xuICBBbmFseXplSW5qZWN0YWJsZSxcblxuICAvKipcbiAgICogQW4gYEBOZ01vZHVsZWAgY2xhc3Mgd2FzIGFuYWx5emVkLlxuICAgKi9cbiAgQW5hbHl6ZU5nTW9kdWxlLFxuXG4gIC8qKlxuICAgKiBBbiBgQFBpcGVgIGNsYXNzIHdhcyBhbmFseXplZC5cbiAgICovXG4gIEFuYWx5emVQaXBlLFxuXG4gIC8qKlxuICAgKiBBIHRyYWl0IHdhcyBhbmFseXplZC5cbiAgICpcbiAgICogSW4gdGhlb3J5LCB0aGlzIHNob3VsZCBiZSB0aGUgc3VtIG9mIHRoZSBgQW5hbHl6ZWAgY291bnRlcnMgZm9yIGVhY2ggZGVjb3JhdG9yIHR5cGUuXG4gICAqL1xuICBUcmFpdEFuYWx5emUsXG5cbiAgLyoqXG4gICAqIEEgdHJhaXQgaGFkIGEgcHJpb3IgYW5hbHlzaXMgYXZhaWxhYmxlIGZyb20gYW4gaW5jcmVtZW50YWwgcHJvZ3JhbSwgYW5kIGRpZCBub3QgbmVlZCB0byBiZVxuICAgKiByZS1hbmFseXplZC5cbiAgICovXG4gIFRyYWl0UmV1c2VBbmFseXNpcyxcblxuICAvKipcbiAgICogQSBgdHMuU291cmNlRmlsZWAgZGlyZWN0bHkgY2hhbmdlZCBiZXR3ZWVuIHRoZSBwcmlvciBwcm9ncmFtIGFuZCBhIG5ldyBpbmNyZW1lbnRhbCBjb21waWxhdGlvbi5cbiAgICovXG4gIFNvdXJjZUZpbGVQaHlzaWNhbENoYW5nZSxcblxuICAvKipcbiAgICogQSBgdHMuU291cmNlRmlsZWAgZGlkIG5vdCBwaHlzaWNhbGx5IGNoYW5nZWQsIGJ1dCBhY2NvcmRpbmcgdG8gdGhlIGZpbGUgZGVwZW5kZW5jeSBncmFwaCwgaGFzXG4gICAqIGxvZ2ljYWxseSBjaGFuZ2VkIGJldHdlZW4gdGhlIHByaW9yIHByb2dyYW0gYW5kIGEgbmV3IGluY3JlbWVudGFsIGNvbXBpbGF0aW9uLlxuICAgKi9cbiAgU291cmNlRmlsZUxvZ2ljYWxDaGFuZ2UsXG5cbiAgLyoqXG4gICAqIEEgYHRzLlNvdXJjZUZpbGVgIGhhcyBub3QgbG9naWNhbGx5IGNoYW5nZWQgYW5kIGFsbCBvZiBpdHMgYW5hbHlzaXMgcmVzdWx0cyB3ZXJlIHRodXMgYXZhaWxhYmxlXG4gICAqIGZvciByZXVzZS5cbiAgICovXG4gIFNvdXJjZUZpbGVSZXVzZUFuYWx5c2lzLFxuXG4gIC8qKlxuICAgKiBBIFR5cGUgQ2hlY2sgQmxvY2sgKFRDQikgd2FzIGdlbmVyYXRlZC5cbiAgICovXG4gIEdlbmVyYXRlVGNiLFxuXG4gIC8qKlxuICAgKiBBIFR5cGUgQ2hlY2sgQmxvY2sgKFRDQikgY291bGQgbm90IGJlIGdlbmVyYXRlZCBiZWNhdXNlIGlubGluaW5nIHdhcyBkaXNhYmxlZCwgYW5kIHRoZSBibG9ja1xuICAgKiB3b3VsZCd2ZSByZXF1aXJlZCBpbmxpbmluZy5cbiAgICovXG4gIFNraXBHZW5lcmF0ZVRjYk5vSW5saW5lLFxuXG4gIC8qKlxuICAgKiBBIGAubmd0eXBlY2hlY2sudHNgIGZpbGUgY291bGQgYmUgcmV1c2VkIGZyb20gdGhlIHByZXZpb3VzIHByb2dyYW0gYW5kIGRpZCBub3QgbmVlZCB0byBiZVxuICAgKiByZWdlbmVyYXRlZC5cbiAgICovXG4gIFJldXNlVHlwZUNoZWNrRmlsZSxcblxuICAvKipcbiAgICogVGhlIHRlbXBsYXRlIHR5cGUtY2hlY2tpbmcgcHJvZ3JhbSByZXF1aXJlZCBjaGFuZ2VzIGFuZCBoYWQgdG8gYmUgdXBkYXRlZCBpbiBhbiBpbmNyZW1lbnRhbFxuICAgKiBzdGVwLlxuICAgKi9cbiAgVXBkYXRlVHlwZUNoZWNrUHJvZ3JhbSxcblxuICAvKipcbiAgICogVGhlIGNvbXBpbGVyIHdhcyBhYmxlIHRvIHByb3ZlIHRoYXQgYSBgdHMuU291cmNlRmlsZWAgZGlkIG5vdCBuZWVkIHRvIGJlIHJlLWVtaXR0ZWQuXG4gICAqL1xuICBFbWl0U2tpcFNvdXJjZUZpbGUsXG5cbiAgLyoqXG4gICAqIEEgYHRzLlNvdXJjZUZpbGVgIHdhcyBlbWl0dGVkLlxuICAgKi9cbiAgRW1pdFNvdXJjZUZpbGUsXG5cbiAgLyoqXG4gICAqIFRyYWNrcyB0aGUgbnVtYmVyIG9mIGBQcmVmRXZlbnRgcywgYW5kIG11c3QgYXBwZWFyIGF0IHRoZSBlbmQgb2YgdGhlIGxpc3QuXG4gICAqL1xuICBMQVNULFxufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBjaGVja3BvaW50IGR1cmluZyBjb21waWxhdGlvbiBhdCB3aGljaCB0aGUgbWVtb3J5IHVzYWdlIG9mIHRoZSBjb21waWxlciBzaG91bGQgYmVcbiAqIHJlY29yZGVkLlxuICovXG5leHBvcnQgZW51bSBQZXJmQ2hlY2twb2ludCB7XG4gIC8qKlxuICAgKiBUaGUgcG9pbnQgYXQgd2hpY2ggdGhlIGBQZXJmUmVjb3JkZXJgIHdhcyBjcmVhdGVkLCBhbmQgaWRlYWxseSB0cmFja3MgbWVtb3J5IHVzZWQgYmVmb3JlIGFueVxuICAgKiBjb21waWxhdGlvbiBzdHJ1Y3R1cmVzIGFyZSBjcmVhdGVkLlxuICAgKi9cbiAgSW5pdGlhbCxcblxuICAvKipcbiAgICogVGhlIHBvaW50IGp1c3QgYWZ0ZXIgdGhlIGB0cy5Qcm9ncmFtYCBoYXMgYmVlbiBjcmVhdGVkLlxuICAgKi9cbiAgVHlwZVNjcmlwdFByb2dyYW1DcmVhdGUsXG5cbiAgLyoqXG4gICAqIFRoZSBwb2ludCBqdXN0IGJlZm9yZSBBbmd1bGFyIGFuYWx5c2lzIHN0YXJ0cy5cbiAgICpcbiAgICogSW4gdGhlIG1haW4gdXNhZ2UgcGF0dGVybiBmb3IgdGhlIGNvbXBpbGVyLCBUeXBlU2NyaXB0IGRpYWdub3N0aWNzIGhhdmUgYmVlbiBjYWxjdWxhdGVkIGF0IHRoaXNcbiAgICogcG9pbnQsIHNvIHRoZSBgdHMuVHlwZUNoZWNrZXJgIGhhcyBmdWxseSBpbmdlc3RlZCB0aGUgY3VycmVudCBwcm9ncmFtLCBhbGwgYHRzLlR5cGVgIHN0cnVjdHVyZXNcbiAgICogYW5kIGB0cy5TeW1ib2xgcyBoYXZlIGJlZW4gY3JlYXRlZC5cbiAgICovXG4gIFByZUFuYWx5c2lzLFxuXG4gIC8qKlxuICAgKiBUaGUgcG9pbnQganVzdCBhZnRlciBBbmd1bGFyIGFuYWx5c2lzIGNvbXBsZXRlcy5cbiAgICovXG4gIEFuYWx5c2lzLFxuXG4gIC8qKlxuICAgKiBUaGUgcG9pbnQganVzdCBhZnRlciBBbmd1bGFyIHJlc29sdXRpb24gaXMgY29tcGxldGUuXG4gICAqL1xuICBSZXNvbHZlLFxuXG4gIC8qKlxuICAgKiBUaGUgcG9pbnQganVzdCBhZnRlciBUeXBlIENoZWNrIEJsb2NrcyAoVENCcykgaGF2ZSBiZWVuIGdlbmVyYXRlZC5cbiAgICovXG4gIFR0Y0dlbmVyYXRpb24sXG5cbiAgLyoqXG4gICAqIFRoZSBwb2ludCBqdXN0IGFmdGVyIHRoZSB0ZW1wbGF0ZSB0eXBlLWNoZWNraW5nIHByb2dyYW0gaGFzIGJlZW4gdXBkYXRlZCB3aXRoIGFueSBuZXcgVENCcy5cbiAgICovXG4gIFR0Y1VwZGF0ZVByb2dyYW0sXG5cbiAgLyoqXG4gICAqIFRoZSBwb2ludCBqdXN0IGJlZm9yZSBlbWl0IGJlZ2lucy5cbiAgICpcbiAgICogSW4gdGhlIG1haW4gdXNhZ2UgcGF0dGVybiBmb3IgdGhlIGNvbXBpbGVyLCBhbGwgdGVtcGxhdGUgdHlwZS1jaGVja2luZyBkaWFnbm9zdGljcyBoYXZlIGJlZW5cbiAgICogcmVxdWVzdGVkIGF0IHRoaXMgcG9pbnQuXG4gICAqL1xuICBQcmVFbWl0LFxuXG4gIC8qKlxuICAgKiBUaGUgcG9pbnQganVzdCBhZnRlciB0aGUgcHJvZ3JhbSBoYXMgYmVlbiBmdWxseSBlbWl0dGVkLlxuICAgKi9cbiAgRW1pdCxcblxuICAvKipcbiAgICogVHJhY2tzIHRoZSBudW1iZXIgb2YgYFBlcmZDaGVja3BvaW50YHMsIGFuZCBtdXN0IGFwcGVhciBhdCB0aGUgZW5kIG9mIHRoZSBsaXN0LlxuICAgKi9cbiAgTEFTVCxcbn1cblxuLyoqXG4gKiBSZWNvcmRzIHRpbWluZywgbWVtb3J5LCBvciBjb3VudHMgYXQgc3BlY2lmaWMgcG9pbnRzIGluIHRoZSBjb21waWxlcidzIG9wZXJhdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQZXJmUmVjb3JkZXIge1xuICAvKipcbiAgICogU2V0IHRoZSBjdXJyZW50IHBoYXNlIG9mIGNvbXBpbGF0aW9uLlxuICAgKlxuICAgKiBUaW1lIHNwZW50IGluIHRoZSBwcmV2aW91cyBwaGFzZSB3aWxsIGJlIGFjY291bnRlZCB0byB0aGF0IHBoYXNlLiBUaGUgY2FsbGVyIGlzIHJlc3BvbnNpYmxlIGZvclxuICAgKiBleGl0aW5nIHRoZSBwaGFzZSB3aGVuIHdvcmsgdGhhdCBzaG91bGQgYmUgdHJhY2tlZCB3aXRoaW4gaXQgaXMgY29tcGxldGVkLCBhbmQgZWl0aGVyIHJldHVybmluZ1xuICAgKiB0byB0aGUgcHJldmlvdXMgcGhhc2Ugb3IgdHJhbnNpdGlvbmluZyB0byB0aGUgbmV4dCBvbmUgZGlyZWN0bHkuXG4gICAqXG4gICAqIEluIGdlbmVyYWwsIHByZWZlciB1c2luZyBgaW5QaGFzZSgpYCB0byBpbnN0cnVtZW50IGEgc2VjdGlvbiBvZiBjb2RlLCBhcyBpdCBhdXRvbWF0aWNhbGx5XG4gICAqIGhhbmRsZXMgZW50ZXJpbmcgYW5kIGV4aXRpbmcgdGhlIHBoYXNlLiBgcGhhc2UoKWAgc2hvdWxkIG9ubHkgYmUgdXNlZCB3aGVuIHRoZSBmb3JtZXIgQVBJXG4gICAqIGNhbm5vdCBiZSBjbGVhbmx5IGFwcGxpZWQgdG8gYSBwYXJ0aWN1bGFyIG9wZXJhdGlvbi5cbiAgICpcbiAgICogQHJldHVybnMgdGhlIHByZXZpb3VzIHBoYXNlXG4gICAqL1xuICBwaGFzZShwaGFzZTogUGVyZlBoYXNlKTogUGVyZlBoYXNlO1xuXG4gIC8qKlxuICAgKiBSdW4gYGZuYCBpbiB0aGUgZ2l2ZW4gYFBlcmZQaGFzZWAgYW5kIHJldHVybiB0aGUgcmVzdWx0LlxuICAgKlxuICAgKiBFbnRlcnMgYHBoYXNlYCBiZWZvcmUgZXhlY3V0aW5nIHRoZSBnaXZlbiBgZm5gLCB0aGVuIGV4aXRzIHRoZSBwaGFzZSBhbmQgcmV0dXJucyB0aGUgcmVzdWx0LlxuICAgKiBQcmVmZXIgdGhpcyBBUEkgdG8gYHBoYXNlKClgIHdoZXJlIHBvc3NpYmxlLlxuICAgKi9cbiAgaW5QaGFzZTxUPihwaGFzZTogUGVyZlBoYXNlLCBmbjogKCkgPT4gVCk6IFQ7XG5cbiAgLyoqXG4gICAqIFJlY29yZCB0aGUgbWVtb3J5IHVzYWdlIG9mIHRoZSBjb21waWxlciBhdCB0aGUgZ2l2ZW4gY2hlY2twb2ludC5cbiAgICovXG4gIG1lbW9yeShhZnRlcjogUGVyZkNoZWNrcG9pbnQpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBSZWNvcmQgdGhhdCBhIHNwZWNpZmljIGV2ZW50IGhhcyBvY2N1cnJlZCwgcG9zc2libHkgbW9yZSB0aGFuIG9uY2UuXG4gICAqL1xuICBldmVudENvdW50KGV2ZW50OiBQZXJmRXZlbnQsIGluY3JlbWVudEJ5PzogbnVtYmVyKTogdm9pZDtcblxuICAvKipcbiAgICogUmV0dXJuIHRoZSBgUGVyZlJlY29yZGVyYCB0byBhbiBlbXB0eSBzdGF0ZSAoY2xlYXIgYWxsIHRyYWNrZWQgc3RhdGlzdGljcykgYW5kIHJlc2V0IHRoZSB6ZXJvXG4gICAqIHBvaW50IHRvIHRoZSBjdXJyZW50IHRpbWUuXG4gICAqL1xuICByZXNldCgpOiB2b2lkO1xufVxuIl19
|
package/src/perform_compile.js
CHANGED
|
@@ -208,24 +208,30 @@
|
|
|
208
208
|
};
|
|
209
209
|
}
|
|
210
210
|
function getExtendedConfigPath(configFile, extendsValue, host, fs) {
|
|
211
|
-
var
|
|
211
|
+
var result = getExtendedConfigPathWorker(configFile, extendsValue, host, fs);
|
|
212
|
+
if (result !== null) {
|
|
213
|
+
return result;
|
|
214
|
+
}
|
|
215
|
+
// Try to resolve the paths with a json extension append a json extension to the file in case if
|
|
216
|
+
// it is missing and the resolution failed. This is to replicate TypeScript behaviour, see:
|
|
217
|
+
// https://github.com/microsoft/TypeScript/blob/294a5a7d784a5a95a8048ee990400979a6bc3a1c/src/compiler/commandLineParser.ts#L2806
|
|
218
|
+
return getExtendedConfigPathWorker(configFile, extendsValue + ".json", host, fs);
|
|
219
|
+
}
|
|
220
|
+
function getExtendedConfigPathWorker(configFile, extendsValue, host, fs) {
|
|
212
221
|
if (extendsValue.startsWith('.') || fs.isRooted(extendsValue)) {
|
|
213
|
-
extendedConfigPath = host.resolve(host.dirname(configFile), extendsValue);
|
|
214
|
-
|
|
215
|
-
extendedConfigPath
|
|
216
|
-
|
|
222
|
+
var extendedConfigPath = host.resolve(host.dirname(configFile), extendsValue);
|
|
223
|
+
if (host.exists(extendedConfigPath)) {
|
|
224
|
+
return extendedConfigPath;
|
|
225
|
+
}
|
|
217
226
|
}
|
|
218
227
|
else {
|
|
219
228
|
var parseConfigHost = createParseConfigHost(host, fs);
|
|
220
229
|
// Path isn't a rooted or relative path, resolve like a module.
|
|
221
230
|
var resolvedModule = ts.nodeModuleNameResolver(extendsValue, configFile, { moduleResolution: ts.ModuleResolutionKind.NodeJs, resolveJsonModule: true }, parseConfigHost).resolvedModule;
|
|
222
231
|
if (resolvedModule) {
|
|
223
|
-
|
|
232
|
+
return file_system_1.absoluteFrom(resolvedModule.resolvedFileName);
|
|
224
233
|
}
|
|
225
234
|
}
|
|
226
|
-
if (extendedConfigPath !== null && host.exists(extendedConfigPath)) {
|
|
227
|
-
return extendedConfigPath;
|
|
228
|
-
}
|
|
229
235
|
return null;
|
|
230
236
|
}
|
|
231
237
|
function exitCodeFromResult(diags) {
|
|
@@ -313,4 +319,4 @@
|
|
|
313
319
|
return diags.some(function (d) { return d.category === ts.DiagnosticCategory.Error; });
|
|
314
320
|
}
|
|
315
321
|
});
|
|
316
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyZm9ybV9jb21waWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcGlsZXItY2xpL3NyYy9wZXJmb3JtX2NvbXBpbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HOzs7Ozs7Ozs7Ozs7OztJQUVILDhDQUEwRDtJQUMxRCwrQkFBaUM7SUFFakMsMkVBQXdJO0lBR3hJLDJFQUE0RDtJQUM1RCxnRUFBMEM7SUFDMUMsd0VBQWtEO0lBQ2xELG9FQUE0RDtJQUk1RCxTQUFnQix1QkFBdUIsQ0FBQyxXQUF3QjtRQUM5RCxPQUFPLFdBQVcsQ0FBQyxNQUFNLENBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLENBQUMsUUFBUSxLQUFLLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQTVDLENBQTRDLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBRkQsMERBRUM7SUFFRCxJQUFNLGlCQUFpQixHQUE2QjtRQUNsRCxtQkFBbUIsRUFBRSxjQUFNLE9BQUEsRUFBRSxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsRUFBRSxFQUE1QixDQUE0QjtRQUN2RCxvQkFBb0IsRUFBRSxVQUFBLFFBQVEsSUFBSSxPQUFBLFFBQVEsRUFBUixDQUFRO1FBQzFDLFVBQVUsRUFBRSxjQUFNLE9BQUEsRUFBRSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQWQsQ0FBYztLQUNqQyxDQUFDO0lBRUYsU0FBUyxlQUFlLENBQUMsUUFBZ0IsRUFBRSxJQUE4QjtRQUN2RSxPQUFPLHNCQUFRLENBQ1gscUJBQU8sQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxFQUFFLHFCQUFPLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN6RixDQUFDO0lBRUQsU0FBZ0Isd0JBQXdCLENBQ3BDLFFBQWtCLEVBQUUsSUFBa0Q7UUFBbEQscUJBQUEsRUFBQSx3QkFB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O1FBQ2pDLDhCQUE4QjtRQUM5QixxQkFBcUIsR0FBRyxxQkFBcUI7WUFDekMsZ0JBQWdCLGtCQUFLLE9BQU8sQ0FBQyxzQkFBc0IsRUFBRSxFQUFLLE9BQU8sQ0FBQyxzQkFBc0IsRUFBRSxFQUFFLENBQUM7UUFFakcsOEJBQThCO1FBQzlCLHFCQUFxQjtZQUNqQixxQkFBcUIsSUFBSSxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMseUJBQXlCLEVBQWlCLENBQUMsQ0FBQztRQUVsRyw4REFBOEQ7UUFDOUQscUJBQXFCO1lBQ2pCLHFCQUFxQjtnQkFDckIsZ0JBQWdCLGtCQUNSLE9BQU8sQ0FBQyx3QkFBd0IsRUFBRSxFQUFLLE9BQU8sQ0FBQywwQkFBMEIsRUFBRSxFQUFFLENBQUM7UUFFMUYscUNBQXFDO1FBQ3JDLHFCQUFxQjtZQUNqQixxQkFBcUIsSUFBSSxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsd0JBQXdCLEVBQWlCLENBQUMsQ0FBQztRQUVqRyxPQUFPLGNBQWMsQ0FBQztJQUN4QixDQUFDO0lBL0JELDREQStCQztJQUVELFNBQVMsU0FBUyxDQUFDLEtBQWtCO1FBQ25DLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFBLENBQUMsSUFBSSxPQUFBLENBQUMsQ0FBQyxRQUFRLEtBQUssRUFBRSxDQUFDLGtCQUFrQixDQUFDLEtBQUssRUFBMUMsQ0FBMEMsQ0FBQyxDQUFDO0lBQ3JFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtpc1N5bnRheEVycm9yLCBQb3NpdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29tcGlsZXInO1xuaW1wb3J0ICogYXMgdHMgZnJvbSAndHlwZXNjcmlwdCc7XG5cbmltcG9ydCB7YWJzb2x1dGVGcm9tLCBBYnNvbHV0ZUZzUGF0aCwgRmlsZVN5c3RlbSwgZ2V0RmlsZVN5c3RlbSwgUmVhZG9ubHlGaWxlU3lzdGVtLCByZWxhdGl2ZSwgcmVzb2x2ZX0gZnJvbSAnLi4vc3JjL25ndHNjL2ZpbGVfc3lzdGVtJztcbmltcG9ydCB7TmdDb21waWxlck9wdGlvbnN9IGZyb20gJy4vbmd0c2MvY29yZS9hcGknO1xuXG5pbXBvcnQge3JlcGxhY2VUc1dpdGhOZ0luRXJyb3JzfSBmcm9tICcuL25ndHNjL2RpYWdub3N0aWNzJztcbmltcG9ydCAqIGFzIGFwaSBmcm9tICcuL3RyYW5zZm9ybWVycy9hcGknO1xuaW1wb3J0ICogYXMgbmcgZnJvbSAnLi90cmFuc2Zvcm1lcnMvZW50cnlfcG9pbnRzJztcbmltcG9ydCB7Y3JlYXRlTWVzc2FnZURpYWdub3N0aWN9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3V0aWwnO1xuXG5leHBvcnQgdHlwZSBEaWFnbm9zdGljcyA9IFJlYWRvbmx5QXJyYXk8dHMuRGlhZ25vc3RpY3xhcGkuRGlhZ25vc3RpYz47XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWx0ZXJFcnJvcnNBbmRXYXJuaW5ncyhkaWFnbm9zdGljczogRGlhZ25vc3RpY3MpOiBEaWFnbm9zdGljcyB7XG4gIHJldHVybiBkaWFnbm9zdGljcy5maWx0ZXIoZCA9PiBkLmNhdGVnb3J5ICE9PSB0cy5EaWFnbm9zdGljQ2F0ZWdvcnkuTWVzc2FnZSk7XG59XG5cbmNvbnN0IGRlZmF1bHRGb3JtYXRIb3N0OiB0cy5Gb3JtYXREaWFnbm9zdGljc0hvc3QgPSB7XG4gIGdldEN1cnJlbnREaXJlY3Rvcnk6ICgpID0+IHRzLnN5cy5nZXRDdXJyZW50RGlyZWN0b3J5KCksXG4gIGdldENhbm9uaWNhbEZpbGVOYW1lOiBmaWxlTmFtZSA9PiBmaWxlTmFtZSxcbiAgZ2V0TmV3TGluZTogKCkgPT4gdHMuc3lzLm5ld0xpbmVcbn07XG5cbmZ1bmN0aW9uIGRpc3BsYXlGaWxlTmFtZShmaWxlTmFtZTogc3RyaW5nLCBob3N0OiB0cy5Gb3JtYXREaWFnbm9zdGljc0hvc3QpOiBzdHJpbmcge1xuICByZXR1cm4gcmVsYXRpdmUoXG4gICAgICByZXNvbHZlKGhvc3QuZ2V0Q3VycmVudERpcmVjdG9yeSgpKSwgcmVzb2x2ZShob3N0LmdldENhbm9uaWNhbEZpbGVOYW1lKGZpbGVOYW1lKSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0RGlhZ25vc3RpY1Bvc2l0aW9uKFxuICAgIHBvc2l0aW9uOiBQb3NpdGlvbiwgaG9zdDogdHMuRm9ybWF0RGlhZ25vc3RpY3NIb3N0ID0gZGVmYXVsdEZvcm1hdEhvc3QpOiBzdHJpbmcge1xuICByZXR1cm4gYCR7ZGlzcGxheUZpbGVOYW1lKHBvc2l0aW9uLmZpbGVOYW1lLCBob3N0KX0oJHtwb3NpdGlvbi5saW5lICsgMX0sJHtwb3NpdGlvbi5jb2x1bW4gKyAxfSlgO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmxhdHRlbkRpYWdub3N0aWNNZXNzYWdlQ2hhaW4oXG4gICAgY2hhaW46IGFwaS5EaWFnbm9zdGljTWVzc2FnZUNoYWluLCBob3N0OiB0cy5Gb3JtYXREaWFnbm9zdGljc0hvc3QgPSBkZWZhdWx0Rm9ybWF0SG9zdCxcbiAgICBpbmRlbnQgPSAwKTogc3RyaW5nIHtcbiAgY29uc3QgbmV3TGluZSA9IGhvc3QuZ2V0TmV3TGluZSgpO1xuICBsZXQgcmVzdWx0ID0gJyc7XG4gIGlmIChpbmRlbnQpIHtcbiAgICByZXN1bHQgKz0gbmV3TGluZTtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaW5kZW50OyBpKyspIHtcbiAgICAgIHJlc3VsdCArPSAnICAnO1xuICAgIH1cbiAgfVxuICByZXN1bHQgKz0gY2hhaW4ubWVzc2FnZVRleHQ7XG5cbiAgY29uc3QgcG9zaXRpb24gPSBjaGFpbi5wb3NpdGlvbjtcbiAgLy8gYWRkIHBvc2l0aW9uIGlmIGF2YWlsYWJsZSwgYW5kIHdlIGFyZSBub3QgYXQgdGhlIGRlcGVzdCBmcmFtZVxuICBpZiAocG9zaXRpb24gJiYgaW5kZW50ICE9PSAwKSB7XG4gICAgcmVzdWx0ICs9IGAgYXQgJHtmb3JtYXREaWFnbm9zdGljUG9zaXRpb24ocG9zaXRpb24sIGhvc3QpfWA7XG4gIH1cblxuICBpbmRlbnQrKztcbiAgaWYgKGNoYWluLm5leHQpIHtcbiAgICBmb3IgKGNvbnN0IGtpZCBvZiBjaGFpbi5uZXh0KSB7XG4gICAgICByZXN1bHQgKz0gZmxhdHRlbkRpYWdub3N0aWNNZXNzYWdlQ2hhaW4oa2lkLCBob3N0LCBpbmRlbnQpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0RGlhZ25vc3RpYyhcbiAgICBkaWFnbm9zdGljOiBhcGkuRGlhZ25vc3RpYywgaG9zdDogdHMuRm9ybWF0RGlhZ25vc3RpY3NIb3N0ID0gZGVmYXVsdEZvcm1hdEhvc3QpIHtcbiAgbGV0IHJlc3VsdCA9ICcnO1xuICBjb25zdCBuZXdMaW5lID0gaG9zdC5nZXROZXdMaW5lKCk7XG4gIGNvbnN0IHNwYW4gPSBkaWFnbm9zdGljLnNwYW47XG4gIGlmIChzcGFuKSB7XG4gICAgcmVzdWx0ICs9IGAke1xuICAgICAgICBmb3JtYXREaWFnbm9zdGljUG9zaXRpb24oXG4gICAgICAgICAgICB7ZmlsZU5hbWU6IHNwYW4uc3RhcnQuZmlsZS51cmwsIGxpbmU6IHNwYW4uc3RhcnQubGluZSwgY29sdW1uOiBzcGFuLnN0YXJ0LmNvbH0sXG4gICAgICAgICAgICBob3N0KX06IGA7XG4gIH0gZWxzZSBpZiAoZGlhZ25vc3RpYy5wb3NpdGlvbikge1xuICAgIHJlc3VsdCArPSBgJHtmb3JtYXREaWFnbm9zdGljUG9zaXRpb24oZGlhZ25vc3RpYy5wb3NpdGlvbiwgaG9zdCl9OiBgO1xuICB9XG4gIGlmIChkaWFnbm9zdGljLnNwYW4gJiYgZGlhZ25vc3RpYy5zcGFuLmRldGFpbHMpIHtcbiAgICByZXN1bHQgKz0gYCR7ZGlhZ25vc3RpYy5zcGFuLmRldGFpbHN9LCAke2RpYWdub3N0aWMubWVzc2FnZVRleHR9JHtuZXdMaW5lfWA7XG4gIH0gZWxzZSBpZiAoZGlhZ25vc3RpYy5jaGFpbikge1xuICAgIHJlc3VsdCArPSBgJHtmbGF0dGVuRGlhZ25vc3RpY01lc3NhZ2VDaGFpbihkaWFnbm9zdGljLmNoYWluLCBob3N0KX0uJHtuZXdMaW5lfWA7XG4gIH0gZWxzZSB7XG4gICAgcmVzdWx0ICs9IGAke2RpYWdub3N0aWMubWVzc2FnZVRleHR9JHtuZXdMaW5lfWA7XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdERpYWdub3N0aWNzKFxuICAgIGRpYWdzOiBEaWFnbm9zdGljcywgaG9zdDogdHMuRm9ybWF0RGlhZ25vc3RpY3NIb3N0ID0gZGVmYXVsdEZvcm1hdEhvc3QpOiBzdHJpbmcge1xuICBpZiAoZGlhZ3MgJiYgZGlhZ3MubGVuZ3RoKSB7XG4gICAgcmV0dXJuIGRpYWdzXG4gICAgICAgIC5tYXAoZGlhZ25vc3RpYyA9PiB7XG4gICAgICAgICAgaWYgKGFwaS5pc1RzRGlhZ25vc3RpYyhkaWFnbm9zdGljKSkge1xuICAgICAgICAgICAgcmV0dXJuIHJlcGxhY2VUc1dpdGhOZ0luRXJyb3JzKFxuICAgICAgICAgICAgICAgIHRzLmZvcm1hdERpYWdub3N0aWNzV2l0aENvbG9yQW5kQ29udGV4dChbZGlhZ25vc3RpY10sIGhvc3QpKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGZvcm1hdERpYWdub3N0aWMoZGlhZ25vc3RpYywgaG9zdCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgICAuam9pbignJyk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG59XG5cbi8qKiBVc2VkIHRvIHJlYWQgY29uZmlndXJhdGlvbiBmaWxlcy4gKi9cbmV4cG9ydCB0eXBlIENvbmZpZ3VyYXRpb25Ib3N0ID0gUGljazxcbiAgICBSZWFkb25seUZpbGVTeXN0ZW0sICdyZWFkRmlsZSd8J2V4aXN0cyd8J2xzdGF0J3wncmVzb2x2ZSd8J2pvaW4nfCdkaXJuYW1lJ3wnZXh0bmFtZSd8J3B3ZCc+O1xuXG5leHBvcnQgaW50ZXJmYWNlIFBhcnNlZENvbmZpZ3VyYXRpb24ge1xuICBwcm9qZWN0OiBzdHJpbmc7XG4gIG9wdGlvbnM6IGFwaS5Db21waWxlck9wdGlvbnM7XG4gIHJvb3ROYW1lczogc3RyaW5nW107XG4gIHByb2plY3RSZWZlcmVuY2VzPzogcmVhZG9ubHkgdHMuUHJvamVjdFJlZmVyZW5jZVtdfHVuZGVmaW5lZDtcbiAgZW1pdEZsYWdzOiBhcGkuRW1pdEZsYWdzO1xuICBlcnJvcnM6IHRzLkRpYWdub3N0aWNbXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNhbGNQcm9qZWN0RmlsZUFuZEJhc2VQYXRoKFxuICAgIHByb2plY3Q6IHN0cmluZywgaG9zdDogQ29uZmlndXJhdGlvbkhvc3QgPSBnZXRGaWxlU3lzdGVtKCkpOlxuICAgIHtwcm9qZWN0RmlsZTogQWJzb2x1dGVGc1BhdGgsIGJhc2VQYXRoOiBBYnNvbHV0ZUZzUGF0aH0ge1xuICBjb25zdCBhYnNQcm9qZWN0ID0gaG9zdC5yZXNvbHZlKHByb2plY3QpO1xuICBjb25zdCBwcm9qZWN0SXNEaXIgPSBob3N0LmxzdGF0KGFic1Byb2plY3QpLmlzRGlyZWN0b3J5KCk7XG4gIGNvbnN0IHByb2plY3RGaWxlID0gcHJvamVjdElzRGlyID8gaG9zdC5qb2luKGFic1Byb2plY3QsICd0c2NvbmZpZy5qc29uJykgOiBhYnNQcm9qZWN0O1xuICBjb25zdCBwcm9qZWN0RGlyID0gcHJvamVjdElzRGlyID8gYWJzUHJvamVjdCA6IGhvc3QuZGlybmFtZShhYnNQcm9qZWN0KTtcbiAgY29uc3QgYmFzZVBhdGggPSBob3N0LnJlc29sdmUocHJvamVjdERpcik7XG4gIHJldHVybiB7cHJvamVjdEZpbGUsIGJhc2VQYXRofTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlYWRDb25maWd1cmF0aW9uKFxuICAgIHByb2plY3Q6IHN0cmluZywgZXhpc3RpbmdPcHRpb25zPzogYXBpLkNvbXBpbGVyT3B0aW9ucyxcbiAgICBob3N0OiBDb25maWd1cmF0aW9uSG9zdCA9IGdldEZpbGVTeXN0ZW0oKSk6IFBhcnNlZENvbmZpZ3VyYXRpb24ge1xuICB0cnkge1xuICAgIGNvbnN0IGZzID0gZ2V0RmlsZVN5c3RlbSgpO1xuXG4gICAgY29uc3QgcmVhZENvbmZpZ0ZpbGUgPSAoY29uZmlnRmlsZTogc3RyaW5nKSA9PlxuICAgICAgICB0cy5yZWFkQ29uZmlnRmlsZShjb25maWdGaWxlLCBmaWxlID0+IGhvc3QucmVhZEZpbGUoaG9zdC5yZXNvbHZlKGZpbGUpKSk7XG4gICAgY29uc3QgcmVhZEFuZ3VsYXJDb21waWxlck9wdGlvbnMgPVxuICAgICAgICAoY29uZmlnRmlsZTogc3RyaW5nLCBwYXJlbnRPcHRpb25zOiBOZ0NvbXBpbGVyT3B0aW9ucyA9IHt9KTogTmdDb21waWxlck9wdGlvbnMgPT4ge1xuICAgICAgICAgIGNvbnN0IHtjb25maWcsIGVycm9yfSA9IHJlYWRDb25maWdGaWxlKGNvbmZpZ0ZpbGUpO1xuXG4gICAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgICAvLyBFcnJvcnMgYXJlIGhhbmRsZWQgbGF0ZXIgb24gYnkgJ3BhcnNlSnNvbkNvbmZpZ0ZpbGVDb250ZW50J1xuICAgICAgICAgICAgcmV0dXJuIHBhcmVudE9wdGlvbnM7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gd2UgYXJlIG9ubHkgaW50ZXJlc3RlZCBpbnRvIG1lcmdpbmcgJ2FuZ3VsYXJDb21waWxlck9wdGlvbnMnIGFzXG4gICAgICAgICAgLy8gb3RoZXIgb3B0aW9ucyBsaWtlICdjb21waWxlck9wdGlvbnMnIGFyZSBtZXJnZWQgYnkgVFNcbiAgICAgICAgICBjb25zdCBleGlzdGluZ05nQ29tcGlsZXJPcHRpb25zID0gey4uLmNvbmZpZy5hbmd1bGFyQ29tcGlsZXJPcHRpb25zLCAuLi5wYXJlbnRPcHRpb25zfTtcblxuICAgICAgICAgIGlmIChjb25maWcuZXh0ZW5kcyAmJiB0eXBlb2YgY29uZmlnLmV4dGVuZHMgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICBjb25zdCBleHRlbmRlZENvbmZpZ1BhdGggPSBnZXRFeHRlbmRlZENvbmZpZ1BhdGgoXG4gICAgICAgICAgICAgICAgY29uZmlnRmlsZSwgY29uZmlnLmV4dGVuZHMsIGhvc3QsIGZzLFxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgaWYgKGV4dGVuZGVkQ29uZmlnUGF0aCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAvLyBDYWxsIHJlYWRBbmd1bGFyQ29tcGlsZXJPcHRpb25zIHJlY3Vyc2l2ZWx5IHRvIG1lcmdlIE5HIENvbXBpbGVyIG9wdGlvbnNcbiAgICAgICAgICAgICAgcmV0dXJuIHJlYWRBbmd1bGFyQ29tcGlsZXJPcHRpb25zKGV4dGVuZGVkQ29uZmlnUGF0aCwgZXhpc3RpbmdOZ0NvbXBpbGVyT3B0aW9ucyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIGV4aXN0aW5nTmdDb21waWxlck9wdGlvbnM7XG4gICAgICAgIH07XG5cbiAgICBjb25zdCB7cHJvamVjdEZpbGUsIGJhc2VQYXRofSA9IGNhbGNQcm9qZWN0RmlsZUFuZEJhc2VQYXRoKHByb2plY3QsIGhvc3QpO1xuICAgIGNvbnN0IGNvbmZpZ0ZpbGVOYW1lID0gaG9zdC5yZXNvbHZlKGhvc3QucHdkKCksIHByb2plY3RGaWxlKTtcbiAgICBjb25zdCB7Y29uZmlnLCBlcnJvcn0gPSByZWFkQ29uZmlnRmlsZShwcm9qZWN0RmlsZSk7XG4gICAgaWYgKGVycm9yKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBwcm9qZWN0LFxuICAgICAgICBlcnJvcnM6IFtlcnJvcl0sXG4gICAgICAgIHJvb3ROYW1lczogW10sXG4gICAgICAgIG9wdGlvbnM6IHt9LFxuICAgICAgICBlbWl0RmxhZ3M6IGFwaS5FbWl0RmxhZ3MuRGVmYXVsdFxuICAgICAgfTtcbiAgICB9XG4gICAgY29uc3QgZXhpc3RpbmdDb21waWxlck9wdGlvbnM6IGFwaS5Db21waWxlck9wdGlvbnMgPSB7XG4gICAgICBnZW5EaXI6IGJhc2VQYXRoLFxuICAgICAgYmFzZVBhdGgsXG4gICAgICAuLi5yZWFkQW5ndWxhckNvbXBpbGVyT3B0aW9ucyhjb25maWdGaWxlTmFtZSksXG4gICAgICAuLi5leGlzdGluZ09wdGlvbnMsXG4gICAgfTtcblxuICAgIGNvbnN0IHBhcnNlQ29uZmlnSG9zdCA9IGNyZWF0ZVBhcnNlQ29uZmlnSG9zdChob3N0LCBmcyk7XG4gICAgY29uc3Qge29wdGlvbnMsIGVycm9ycywgZmlsZU5hbWVzOiByb290TmFtZXMsIHByb2plY3RSZWZlcmVuY2VzfSA9XG4gICAgICAgIHRzLnBhcnNlSnNvbkNvbmZpZ0ZpbGVDb250ZW50KFxuICAgICAgICAgICAgY29uZmlnLCBwYXJzZUNvbmZpZ0hvc3QsIGJhc2VQYXRoLCBleGlzdGluZ0NvbXBpbGVyT3B0aW9ucywgY29uZmlnRmlsZU5hbWUpO1xuXG4gICAgLy8gQ29lcmNlIHRvIGJvb2xlYW4gYXMgYGVuYWJsZUl2eWAgY2FuIGJlIGBuZ3RzY3x0cnVlfGZhbHNlfHVuZGVmaW5lZGAgaGVyZS5cbiAgICBvcHRpb25zLmVuYWJsZUl2eSA9ICEhKG9wdGlvbnMuZW5hYmxlSXZ5ID8/IHRydWUpO1xuXG4gICAgbGV0IGVtaXRGbGFncyA9IGFwaS5FbWl0RmxhZ3MuRGVmYXVsdDtcbiAgICBpZiAoIShvcHRpb25zLnNraXBNZXRhZGF0YUVtaXQgfHwgb3B0aW9ucy5mbGF0TW9kdWxlT3V0RmlsZSkpIHtcbiAgICAgIGVtaXRGbGFncyB8PSBhcGkuRW1pdEZsYWdzLk1ldGFkYXRhO1xuICAgIH1cbiAgICBpZiAob3B0aW9ucy5za2lwVGVtcGxhdGVDb2RlZ2VuKSB7XG4gICAgICBlbWl0RmxhZ3MgPSBlbWl0RmxhZ3MgJiB+YXBpLkVtaXRGbGFncy5Db2RlZ2VuO1xuICAgIH1cbiAgICByZXR1cm4ge3Byb2plY3Q6IHByb2plY3RGaWxlLCByb290TmFtZXMsIHByb2plY3RSZWZlcmVuY2VzLCBvcHRpb25zLCBlcnJvcnMsIGVtaXRGbGFnc307XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBjb25zdCBlcnJvcnM6IHRzLkRpYWdub3N0aWNbXSA9IFt7XG4gICAgICBjYXRlZ29yeTogdHMuRGlhZ25vc3RpY0NhdGVnb3J5LkVycm9yLFxuICAgICAgbWVzc2FnZVRleHQ6IGUuc3RhY2ssXG4gICAgICBmaWxlOiB1bmRlZmluZWQsXG4gICAgICBzdGFydDogdW5kZWZpbmVkLFxuICAgICAgbGVuZ3RoOiB1bmRlZmluZWQsXG4gICAgICBzb3VyY2U6ICdhbmd1bGFyJyxcbiAgICAgIGNvZGU6IGFwaS5VTktOT1dOX0VSUk9SX0NPREUsXG4gICAgfV07XG4gICAgcmV0dXJuIHtwcm9qZWN0OiAnJywgZXJyb3JzLCByb290TmFtZXM6IFtdLCBvcHRpb25zOiB7fSwgZW1pdEZsYWdzOiBhcGkuRW1pdEZsYWdzLkRlZmF1bHR9O1xuICB9XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZVBhcnNlQ29uZmlnSG9zdChob3N0OiBDb25maWd1cmF0aW9uSG9zdCwgZnMgPSBnZXRGaWxlU3lzdGVtKCkpOiB0cy5QYXJzZUNvbmZpZ0hvc3Qge1xuICByZXR1cm4ge1xuICAgIGZpbGVFeGlzdHM6IGhvc3QuZXhpc3RzLmJpbmQoaG9zdCksXG4gICAgcmVhZERpcmVjdG9yeTogdHMuc3lzLnJlYWREaXJlY3RvcnksXG4gICAgcmVhZEZpbGU6IGhvc3QucmVhZEZpbGUuYmluZChob3N0KSxcbiAgICB1c2VDYXNlU2Vuc2l0aXZlRmlsZU5hbWVzOiBmcy5pc0Nhc2VTZW5zaXRpdmUoKSxcbiAgfTtcbn1cblxuZnVuY3Rpb24gZ2V0RXh0ZW5kZWRDb25maWdQYXRoKFxuICAgIGNvbmZpZ0ZpbGU6IHN0cmluZywgZXh0ZW5kc1ZhbHVlOiBzdHJpbmcsIGhvc3Q6IENvbmZpZ3VyYXRpb25Ib3N0LFxuICAgIGZzOiBGaWxlU3lzdGVtKTogQWJzb2x1dGVGc1BhdGh8bnVsbCB7XG4gIGxldCBleHRlbmRlZENvbmZpZ1BhdGg6IEFic29sdXRlRnNQYXRofG51bGwgPSBudWxsO1xuXG4gIGlmIChleHRlbmRzVmFsdWUuc3RhcnRzV2l0aCgnLicpIHx8IGZzLmlzUm9vdGVkKGV4dGVuZHNWYWx1ZSkpIHtcbiAgICBleHRlbmRlZENvbmZpZ1BhdGggPSBob3N0LnJlc29sdmUoaG9zdC5kaXJuYW1lKGNvbmZpZ0ZpbGUpLCBleHRlbmRzVmFsdWUpO1xuICAgIGV4dGVuZGVkQ29uZmlnUGF0aCA9IGhvc3QuZXh0bmFtZShleHRlbmRlZENvbmZpZ1BhdGgpID9cbiAgICAgICAgZXh0ZW5kZWRDb25maWdQYXRoIDpcbiAgICAgICAgYWJzb2x1dGVGcm9tKGAke2V4dGVuZGVkQ29uZmlnUGF0aH0uanNvbmApO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IHBhcnNlQ29uZmlnSG9zdCA9IGNyZWF0ZVBhcnNlQ29uZmlnSG9zdChob3N0LCBmcyk7XG5cbiAgICAvLyBQYXRoIGlzbid0IGEgcm9vdGVkIG9yIHJlbGF0aXZlIHBhdGgsIHJlc29sdmUgbGlrZSBhIG1vZHVsZS5cbiAgICBjb25zdCB7XG4gICAgICByZXNvbHZlZE1vZHVsZSxcbiAgICB9ID1cbiAgICAgICAgdHMubm9kZU1vZHVsZU5hbWVSZXNvbHZlcihcbiAgICAgICAgICAgIGV4dGVuZHNWYWx1ZSwgY29uZmlnRmlsZSxcbiAgICAgICAgICAgIHttb2R1bGVSZXNvbHV0aW9uOiB0cy5Nb2R1bGVSZXNvbHV0aW9uS2luZC5Ob2RlSnMsIHJlc29sdmVKc29uTW9kdWxlOiB0cnVlfSxcbiAgICAgICAgICAgIHBhcnNlQ29uZmlnSG9zdCk7XG4gICAgaWYgKHJlc29sdmVkTW9kdWxlKSB7XG4gICAgICBleHRlbmRlZENvbmZpZ1BhdGggPSBhYnNvbHV0ZUZyb20ocmVzb2x2ZWRNb2R1bGUucmVzb2x2ZWRGaWxlTmFtZSk7XG4gICAgfVxuICB9XG5cbiAgaWYgKGV4dGVuZGVkQ29uZmlnUGF0aCAhPT0gbnVsbCAmJiBob3N0LmV4aXN0cyhleHRlbmRlZENvbmZpZ1BhdGgpKSB7XG4gICAgcmV0dXJuIGV4dGVuZGVkQ29uZmlnUGF0aDtcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuZXhwb3J0IGludGVyZmFjZSBQZXJmb3JtQ29tcGlsYXRpb25SZXN1bHQge1xuICBkaWFnbm9zdGljczogRGlhZ25vc3RpY3M7XG4gIHByb2dyYW0/OiBhcGkuUHJvZ3JhbTtcbiAgZW1pdFJlc3VsdD86IHRzLkVtaXRSZXN1bHQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBleGl0Q29kZUZyb21SZXN1bHQoZGlhZ3M6IERpYWdub3N0aWNzfHVuZGVmaW5lZCk6IG51bWJlciB7XG4gIGlmICghZGlhZ3MgfHwgZmlsdGVyRXJyb3JzQW5kV2FybmluZ3MoZGlhZ3MpLmxlbmd0aCA9PT0gMCkge1xuICAgIC8vIElmIHdlIGhhdmUgYSByZXN1bHQgYW5kIGRpZG4ndCBnZXQgYW55IGVycm9ycywgd2Ugc3VjY2VlZGVkLlxuICAgIHJldHVybiAwO1xuICB9XG5cbiAgLy8gUmV0dXJuIDIgaWYgYW55IG9mIHRoZSBlcnJvcnMgd2VyZSB1bmtub3duLlxuICByZXR1cm4gZGlhZ3Muc29tZShkID0+IGQuc291cmNlID09PSAnYW5ndWxhcicgJiYgZC5jb2RlID09PSBhcGkuVU5LTk9XTl9FUlJPUl9DT0RFKSA/IDIgOiAxO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGVyZm9ybUNvbXBpbGF0aW9uKHtcbiAgcm9vdE5hbWVzLFxuICBvcHRpb25zLFxuICBob3N0LFxuICBvbGRQcm9ncmFtLFxuICBlbWl0Q2FsbGJhY2ssXG4gIG1lcmdlRW1pdFJlc3VsdHNDYWxsYmFjayxcbiAgZ2F0aGVyRGlhZ25vc3RpY3MgPSBkZWZhdWx0R2F0aGVyRGlhZ25vc3RpY3MsXG4gIGN1c3RvbVRyYW5zZm9ybWVycyxcbiAgZW1pdEZsYWdzID0gYXBpLkVtaXRGbGFncy5EZWZhdWx0LFxuICBtb2RpZmllZFJlc291cmNlRmlsZXMgPSBudWxsXG59OiB7XG4gIHJvb3ROYW1lczogc3RyaW5nW10sXG4gIG9wdGlvbnM6IGFwaS5Db21waWxlck9wdGlvbnMsXG4gIGhvc3Q/OiBhcGkuQ29tcGlsZXJIb3N0LFxuICBvbGRQcm9ncmFtPzogYXBpLlByb2dyYW0sXG4gIGVtaXRDYWxsYmFjaz86IGFwaS5Uc0VtaXRDYWxsYmFjayxcbiAgbWVyZ2VFbWl0UmVzdWx0c0NhbGxiYWNrPzogYXBpLlRzTWVyZ2VFbWl0UmVzdWx0c0NhbGxiYWNrLFxuICBnYXRoZXJEaWFnbm9zdGljcz86IChwcm9ncmFtOiBhcGkuUHJvZ3JhbSkgPT4gRGlhZ25vc3RpY3MsXG4gIGN1c3RvbVRyYW5zZm9ybWVycz86IGFwaS5DdXN0b21UcmFuc2Zvcm1lcnMsXG4gIGVtaXRGbGFncz86IGFwaS5FbWl0RmxhZ3MsXG4gIG1vZGlmaWVkUmVzb3VyY2VGaWxlcz86IFNldDxzdHJpbmc+fCBudWxsLFxufSk6IFBlcmZvcm1Db21waWxhdGlvblJlc3VsdCB7XG4gIGxldCBwcm9ncmFtOiBhcGkuUHJvZ3JhbXx1bmRlZmluZWQ7XG4gIGxldCBlbWl0UmVzdWx0OiB0cy5FbWl0UmVzdWx0fHVuZGVmaW5lZDtcbiAgbGV0IGFsbERpYWdub3N0aWNzOiBBcnJheTx0cy5EaWFnbm9zdGljfGFwaS5EaWFnbm9zdGljPiA9IFtdO1xuICB0cnkge1xuICAgIGlmICghaG9zdCkge1xuICAgICAgaG9zdCA9IG5nLmNyZWF0ZUNvbXBpbGVySG9zdCh7b3B0aW9uc30pO1xuICAgIH1cbiAgICBpZiAobW9kaWZpZWRSZXNvdXJjZUZpbGVzKSB7XG4gICAgICBob3N0LmdldE1vZGlmaWVkUmVzb3VyY2VGaWxlcyA9ICgpID0+IG1vZGlmaWVkUmVzb3VyY2VGaWxlcztcbiAgICB9XG5cbiAgICBwcm9ncmFtID0gbmcuY3JlYXRlUHJvZ3JhbSh7cm9vdE5hbWVzLCBob3N0LCBvcHRpb25zLCBvbGRQcm9ncmFtfSk7XG5cbiAgICBjb25zdCBiZWZvcmVEaWFncyA9IERhdGUubm93KCk7XG4gICAgYWxsRGlhZ25vc3RpY3MucHVzaCguLi5nYXRoZXJEaWFnbm9zdGljcyhwcm9ncmFtISkpO1xuICAgIGlmIChvcHRpb25zLmRpYWdub3N0aWNzKSB7XG4gICAgICBjb25zdCBhZnRlckRpYWdzID0gRGF0ZS5ub3coKTtcbiAgICAgIGFsbERpYWdub3N0aWNzLnB1c2goXG4gICAgICAgICAgY3JlYXRlTWVzc2FnZURpYWdub3N0aWMoYFRpbWUgZm9yIGRpYWdub3N0aWNzOiAke2FmdGVyRGlhZ3MgLSBiZWZvcmVEaWFnc31tcy5gKSk7XG4gICAgfVxuXG4gICAgaWYgKCFoYXNFcnJvcnMoYWxsRGlhZ25vc3RpY3MpKSB7XG4gICAgICBlbWl0UmVzdWx0ID1cbiAgICAgICAgICBwcm9ncmFtIS5lbWl0KHtlbWl0Q2FsbGJhY2ssIG1lcmdlRW1pdFJlc3VsdHNDYWxsYmFjaywgY3VzdG9tVHJhbnNmb3JtZXJzLCBlbWl0RmxhZ3N9KTtcbiAgICAgIGFsbERpYWdub3N0aWNzLnB1c2goLi4uZW1pdFJlc3VsdC5kaWFnbm9zdGljcyk7XG4gICAgICByZXR1cm4ge2RpYWdub3N0aWNzOiBhbGxEaWFnbm9zdGljcywgcHJvZ3JhbSwgZW1pdFJlc3VsdH07XG4gICAgfVxuICAgIHJldHVybiB7ZGlhZ25vc3RpY3M6IGFsbERpYWdub3N0aWNzLCBwcm9ncmFtfTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGxldCBlcnJNc2c6IHN0cmluZztcbiAgICBsZXQgY29kZTogbnVtYmVyO1xuICAgIGlmIChpc1N5bnRheEVycm9yKGUpKSB7XG4gICAgICAvLyBkb24ndCByZXBvcnQgdGhlIHN0YWNrIGZvciBzeW50YXggZXJyb3JzIGFzIHRoZXkgYXJlIHdlbGwga25vd24gZXJyb3JzLlxuICAgICAgZXJyTXNnID0gZS5tZXNzYWdlO1xuICAgICAgY29kZSA9IGFwaS5ERUZBVUxUX0VSUk9SX0NPREU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGVyck1zZyA9IGUuc3RhY2s7XG4gICAgICAvLyBJdCBpcyBub3QgYSBzeW50YXggZXJyb3Igd2UgbWlnaHQgaGF2ZSBhIHByb2dyYW0gd2l0aCB1bmtub3duIHN0YXRlLCBkaXNjYXJkIGl0LlxuICAgICAgcHJvZ3JhbSA9IHVuZGVmaW5lZDtcbiAgICAgIGNvZGUgPSBhcGkuVU5LTk9XTl9FUlJPUl9DT0RFO1xuICAgIH1cbiAgICBhbGxEaWFnbm9zdGljcy5wdXNoKFxuICAgICAgICB7Y2F0ZWdvcnk6IHRzLkRpYWdub3N0aWNDYXRlZ29yeS5FcnJvciwgbWVzc2FnZVRleHQ6IGVyck1zZywgY29kZSwgc291cmNlOiBhcGkuU09VUkNFfSk7XG4gICAgcmV0dXJuIHtkaWFnbm9zdGljczogYWxsRGlhZ25vc3RpY3MsIHByb2dyYW19O1xuICB9XG59XG5leHBvcnQgZnVuY3Rpb24gZGVmYXVsdEdhdGhlckRpYWdub3N0aWNzKHByb2dyYW06IGFwaS5Qcm9ncmFtKTogRGlhZ25vc3RpY3Mge1xuICBjb25zdCBhbGxEaWFnbm9zdGljczogQXJyYXk8dHMuRGlhZ25vc3RpY3xhcGkuRGlhZ25vc3RpYz4gPSBbXTtcblxuICBmdW5jdGlvbiBjaGVja0RpYWdub3N0aWNzKGRpYWdzOiBEaWFnbm9zdGljc3x1bmRlZmluZWQpIHtcbiAgICBpZiAoZGlhZ3MpIHtcbiAgICAgIGFsbERpYWdub3N0aWNzLnB1c2goLi4uZGlhZ3MpO1xuICAgICAgcmV0dXJuICFoYXNFcnJvcnMoZGlhZ3MpO1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGxldCBjaGVja090aGVyRGlhZ25vc3RpY3MgPSB0cnVlO1xuICAvLyBDaGVjayBwYXJhbWV0ZXIgZGlhZ25vc3RpY3NcbiAgY2hlY2tPdGhlckRpYWdub3N0aWNzID0gY2hlY2tPdGhlckRpYWdub3N0aWNzICYmXG4gICAgICBjaGVja0RpYWdub3N0aWNzKFsuLi5wcm9ncmFtLmdldFRzT3B0aW9uRGlhZ25vc3RpY3MoKSwgLi4ucHJvZ3JhbS5nZXROZ09wdGlvbkRpYWdub3N0aWNzKCldKTtcblxuICAvLyBDaGVjayBzeW50YWN0aWMgZGlhZ25vc3RpY3NcbiAgY2hlY2tPdGhlckRpYWdub3N0aWNzID1cbiAgICAgIGNoZWNrT3RoZXJEaWFnbm9zdGljcyAmJiBjaGVja0RpYWdub3N0aWNzKHByb2dyYW0uZ2V0VHNTeW50YWN0aWNEaWFnbm9zdGljcygpIGFzIERpYWdub3N0aWNzKTtcblxuICAvLyBDaGVjayBUeXBlU2NyaXB0IHNlbWFudGljIGFuZCBBbmd1bGFyIHN0cnVjdHVyZSBkaWFnbm9zdGljc1xuICBjaGVja090aGVyRGlhZ25vc3RpY3MgPVxuICAgICAgY2hlY2tPdGhlckRpYWdub3N0aWNzICYmXG4gICAgICBjaGVja0RpYWdub3N0aWNzKFxuICAgICAgICAgIFsuLi5wcm9ncmFtLmdldFRzU2VtYW50aWNEaWFnbm9zdGljcygpLCAuLi5wcm9ncmFtLmdldE5nU3RydWN0dXJhbERpYWdub3N0aWNzKCldKTtcblxuICAvLyBDaGVjayBBbmd1bGFyIHNlbWFudGljIGRpYWdub3N0aWNzXG4gIGNoZWNrT3RoZXJEaWFnbm9zdGljcyA9XG4gICAgICBjaGVja090aGVyRGlhZ25vc3RpY3MgJiYgY2hlY2tEaWFnbm9zdGljcyhwcm9ncmFtLmdldE5nU2VtYW50aWNEaWFnbm9zdGljcygpIGFzIERpYWdub3N0aWNzKTtcblxuICByZXR1cm4gYWxsRGlhZ25vc3RpY3M7XG59XG5cbmZ1bmN0aW9uIGhhc0Vycm9ycyhkaWFnczogRGlhZ25vc3RpY3MpIHtcbiAgcmV0dXJuIGRpYWdzLnNvbWUoZCA9PiBkLmNhdGVnb3J5ID09PSB0cy5EaWFnbm9zdGljQ2F0ZWdvcnkuRXJyb3IpO1xufVxuIl19
|
|
322
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyZm9ybV9jb21waWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcGlsZXItY2xpL3NyYy9wZXJmb3JtX2NvbXBpbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HOzs7Ozs7Ozs7Ozs7OztJQUVILDhDQUEwRDtJQUMxRCwrQkFBaUM7SUFFakMsMkVBQXdJO0lBR3hJLDJFQUE0RDtJQUM1RCxnRUFBMEM7SUFDMUMsd0VBQWtEO0lBQ2xELG9FQUE0RDtJQUk1RCxTQUFnQix1QkFBdUIsQ0FBQyxXQUF3QjtRQUM5RCxPQUFPLFdBQVcsQ0FBQyxNQUFNLENBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLENBQUMsUUFBUSxLQUFLLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQTVDLENBQTRDLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBRkQsMERBRUM7SUFFRCxJQUFNLGlCQUFpQixHQUE2QjtRQUNsRCxtQkFBbUIsRUFBRSxjQUFNLE9BQUEsRUFBRSxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsRUFBRSxFQUE1QixDQUE0QjtRQUN2RCxvQkFBb0IsRUFBRSxVQUFBLFFBQVEsSUFBSSxPQUFBLFFBQVEsRUFBUixDQUFRO1FBQzFDLFVBQVUsRUFBRSxjQUFNLE9BQUEsRUFBRSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQWQsQ0FBYztLQUNqQyxDQUFDO0lBRUYsU0FBUyxlQUFlLENBQUMsUUFBZ0IsRUFBRSxJQUE4QjtRQUN2RSxPQUFPLHNCQUFRLENBQ1gscUJBQU8sQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxFQUFFLHFCQUFPLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN6RixDQUFDO0lBRUQsU0FBZ0Isd0JBQXdCLENBQ3BDLFFBQWtCLEVBQUUsSUFBa0Q7UUFBbEQscUJBQUEsRUFBQSx3QkFB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SSxPQUFuQixjQUFjLG1CQUFTLEtBQUssR0FBRTtnQkFDOUIsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUMxQjtZQUNELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUVELElBQUkscUJBQXFCLEdBQUcsSUFBSSxDQUFDO1FBQ2pDLDhCQUE4QjtRQUM5QixxQkFBcUIsR0FBRyxxQkFBcUI7WUFDekMsZ0JBQWdCLGtCQUFLLE9BQU8sQ0FBQyxzQkFBc0IsRUFBRSxFQUFLLE9BQU8sQ0FBQyxzQkFBc0IsRUFBRSxFQUFFLENBQUM7UUFFakcsOEJBQThCO1FBQzlCLHFCQUFxQjtZQUNqQixxQkFBcUIsSUFBSSxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMseUJBQXlCLEVBQWlCLENBQUMsQ0FBQztRQUVsRyw4REFBOEQ7UUFDOUQscUJBQXFCO1lBQ2pCLHFCQUFxQjtnQkFDckIsZ0JBQWdCLGtCQUNSLE9BQU8sQ0FBQyx3QkFBd0IsRUFBRSxFQUFLLE9BQU8sQ0FBQywwQkFBMEIsRUFBRSxFQUFFLENBQUM7UUFFMUYscUNBQXFDO1FBQ3JDLHFCQUFxQjtZQUNqQixxQkFBcUIsSUFBSSxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsd0JBQXdCLEVBQWlCLENBQUMsQ0FBQztRQUVqRyxPQUFPLGNBQWMsQ0FBQztJQUN4QixDQUFDO0lBL0JELDREQStCQztJQUVELFNBQVMsU0FBUyxDQUFDLEtBQWtCO1FBQ25DLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFBLENBQUMsSUFBSSxPQUFBLENBQUMsQ0FBQyxRQUFRLEtBQUssRUFBRSxDQUFDLGtCQUFrQixDQUFDLEtBQUssRUFBMUMsQ0FBMEMsQ0FBQyxDQUFDO0lBQ3JFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtpc1N5bnRheEVycm9yLCBQb3NpdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29tcGlsZXInO1xuaW1wb3J0ICogYXMgdHMgZnJvbSAndHlwZXNjcmlwdCc7XG5cbmltcG9ydCB7YWJzb2x1dGVGcm9tLCBBYnNvbHV0ZUZzUGF0aCwgRmlsZVN5c3RlbSwgZ2V0RmlsZVN5c3RlbSwgUmVhZG9ubHlGaWxlU3lzdGVtLCByZWxhdGl2ZSwgcmVzb2x2ZX0gZnJvbSAnLi4vc3JjL25ndHNjL2ZpbGVfc3lzdGVtJztcbmltcG9ydCB7TmdDb21waWxlck9wdGlvbnN9IGZyb20gJy4vbmd0c2MvY29yZS9hcGknO1xuXG5pbXBvcnQge3JlcGxhY2VUc1dpdGhOZ0luRXJyb3JzfSBmcm9tICcuL25ndHNjL2RpYWdub3N0aWNzJztcbmltcG9ydCAqIGFzIGFwaSBmcm9tICcuL3RyYW5zZm9ybWVycy9hcGknO1xuaW1wb3J0ICogYXMgbmcgZnJvbSAnLi90cmFuc2Zvcm1lcnMvZW50cnlfcG9pbnRzJztcbmltcG9ydCB7Y3JlYXRlTWVzc2FnZURpYWdub3N0aWN9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3V0aWwnO1xuXG5leHBvcnQgdHlwZSBEaWFnbm9zdGljcyA9IFJlYWRvbmx5QXJyYXk8dHMuRGlhZ25vc3RpY3xhcGkuRGlhZ25vc3RpYz47XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWx0ZXJFcnJvcnNBbmRXYXJuaW5ncyhkaWFnbm9zdGljczogRGlhZ25vc3RpY3MpOiBEaWFnbm9zdGljcyB7XG4gIHJldHVybiBkaWFnbm9zdGljcy5maWx0ZXIoZCA9PiBkLmNhdGVnb3J5ICE9PSB0cy5EaWFnbm9zdGljQ2F0ZWdvcnkuTWVzc2FnZSk7XG59XG5cbmNvbnN0IGRlZmF1bHRGb3JtYXRIb3N0OiB0cy5Gb3JtYXREaWFnbm9zdGljc0hvc3QgPSB7XG4gIGdldEN1cnJlbnREaXJlY3Rvcnk6ICgpID0+IHRzLnN5cy5nZXRDdXJyZW50RGlyZWN0b3J5KCksXG4gIGdldENhbm9uaWNhbEZpbGVOYW1lOiBmaWxlTmFtZSA9PiBmaWxlTmFtZSxcbiAgZ2V0TmV3TGluZTogKCkgPT4gdHMuc3lzLm5ld0xpbmVcbn07XG5cbmZ1bmN0aW9uIGRpc3BsYXlGaWxlTmFtZShmaWxlTmFtZTogc3RyaW5nLCBob3N0OiB0cy5Gb3JtYXREaWFnbm9zdGljc0hvc3QpOiBzdHJpbmcge1xuICByZXR1cm4gcmVsYXRpdmUoXG4gICAgICByZXNvbHZlKGhvc3QuZ2V0Q3VycmVudERpcmVjdG9yeSgpKSwgcmVzb2x2ZShob3N0LmdldENhbm9uaWNhbEZpbGVOYW1lKGZpbGVOYW1lKSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0RGlhZ25vc3RpY1Bvc2l0aW9uKFxuICAgIHBvc2l0aW9uOiBQb3NpdGlvbiwgaG9zdDogdHMuRm9ybWF0RGlhZ25vc3RpY3NIb3N0ID0gZGVmYXVsdEZvcm1hdEhvc3QpOiBzdHJpbmcge1xuICByZXR1cm4gYCR7ZGlzcGxheUZpbGVOYW1lKHBvc2l0aW9uLmZpbGVOYW1lLCBob3N0KX0oJHtwb3NpdGlvbi5saW5lICsgMX0sJHtwb3NpdGlvbi5jb2x1bW4gKyAxfSlgO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmxhdHRlbkRpYWdub3N0aWNNZXNzYWdlQ2hhaW4oXG4gICAgY2hhaW46IGFwaS5EaWFnbm9zdGljTWVzc2FnZUNoYWluLCBob3N0OiB0cy5Gb3JtYXREaWFnbm9zdGljc0hvc3QgPSBkZWZhdWx0Rm9ybWF0SG9zdCxcbiAgICBpbmRlbnQgPSAwKTogc3RyaW5nIHtcbiAgY29uc3QgbmV3TGluZSA9IGhvc3QuZ2V0TmV3TGluZSgpO1xuICBsZXQgcmVzdWx0ID0gJyc7XG4gIGlmIChpbmRlbnQpIHtcbiAgICByZXN1bHQgKz0gbmV3TGluZTtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaW5kZW50OyBpKyspIHtcbiAgICAgIHJlc3VsdCArPSAnICAnO1xuICAgIH1cbiAgfVxuICByZXN1bHQgKz0gY2hhaW4ubWVzc2FnZVRleHQ7XG5cbiAgY29uc3QgcG9zaXRpb24gPSBjaGFpbi5wb3NpdGlvbjtcbiAgLy8gYWRkIHBvc2l0aW9uIGlmIGF2YWlsYWJsZSwgYW5kIHdlIGFyZSBub3QgYXQgdGhlIGRlcGVzdCBmcmFtZVxuICBpZiAocG9zaXRpb24gJiYgaW5kZW50ICE9PSAwKSB7XG4gICAgcmVzdWx0ICs9IGAgYXQgJHtmb3JtYXREaWFnbm9zdGljUG9zaXRpb24ocG9zaXRpb24sIGhvc3QpfWA7XG4gIH1cblxuICBpbmRlbnQrKztcbiAgaWYgKGNoYWluLm5leHQpIHtcbiAgICBmb3IgKGNvbnN0IGtpZCBvZiBjaGFpbi5uZXh0KSB7XG4gICAgICByZXN1bHQgKz0gZmxhdHRlbkRpYWdub3N0aWNNZXNzYWdlQ2hhaW4oa2lkLCBob3N0LCBpbmRlbnQpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0RGlhZ25vc3RpYyhcbiAgICBkaWFnbm9zdGljOiBhcGkuRGlhZ25vc3RpYywgaG9zdDogdHMuRm9ybWF0RGlhZ25vc3RpY3NIb3N0ID0gZGVmYXVsdEZvcm1hdEhvc3QpIHtcbiAgbGV0IHJlc3VsdCA9ICcnO1xuICBjb25zdCBuZXdMaW5lID0gaG9zdC5nZXROZXdMaW5lKCk7XG4gIGNvbnN0IHNwYW4gPSBkaWFnbm9zdGljLnNwYW47XG4gIGlmIChzcGFuKSB7XG4gICAgcmVzdWx0ICs9IGAke1xuICAgICAgICBmb3JtYXREaWFnbm9zdGljUG9zaXRpb24oXG4gICAgICAgICAgICB7ZmlsZU5hbWU6IHNwYW4uc3RhcnQuZmlsZS51cmwsIGxpbmU6IHNwYW4uc3RhcnQubGluZSwgY29sdW1uOiBzcGFuLnN0YXJ0LmNvbH0sXG4gICAgICAgICAgICBob3N0KX06IGA7XG4gIH0gZWxzZSBpZiAoZGlhZ25vc3RpYy5wb3NpdGlvbikge1xuICAgIHJlc3VsdCArPSBgJHtmb3JtYXREaWFnbm9zdGljUG9zaXRpb24oZGlhZ25vc3RpYy5wb3NpdGlvbiwgaG9zdCl9OiBgO1xuICB9XG4gIGlmIChkaWFnbm9zdGljLnNwYW4gJiYgZGlhZ25vc3RpYy5zcGFuLmRldGFpbHMpIHtcbiAgICByZXN1bHQgKz0gYCR7ZGlhZ25vc3RpYy5zcGFuLmRldGFpbHN9LCAke2RpYWdub3N0aWMubWVzc2FnZVRleHR9JHtuZXdMaW5lfWA7XG4gIH0gZWxzZSBpZiAoZGlhZ25vc3RpYy5jaGFpbikge1xuICAgIHJlc3VsdCArPSBgJHtmbGF0dGVuRGlhZ25vc3RpY01lc3NhZ2VDaGFpbihkaWFnbm9zdGljLmNoYWluLCBob3N0KX0uJHtuZXdMaW5lfWA7XG4gIH0gZWxzZSB7XG4gICAgcmVzdWx0ICs9IGAke2RpYWdub3N0aWMubWVzc2FnZVRleHR9JHtuZXdMaW5lfWA7XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdERpYWdub3N0aWNzKFxuICAgIGRpYWdzOiBEaWFnbm9zdGljcywgaG9zdDogdHMuRm9ybWF0RGlhZ25vc3RpY3NIb3N0ID0gZGVmYXVsdEZvcm1hdEhvc3QpOiBzdHJpbmcge1xuICBpZiAoZGlhZ3MgJiYgZGlhZ3MubGVuZ3RoKSB7XG4gICAgcmV0dXJuIGRpYWdzXG4gICAgICAgIC5tYXAoZGlhZ25vc3RpYyA9PiB7XG4gICAgICAgICAgaWYgKGFwaS5pc1RzRGlhZ25vc3RpYyhkaWFnbm9zdGljKSkge1xuICAgICAgICAgICAgcmV0dXJuIHJlcGxhY2VUc1dpdGhOZ0luRXJyb3JzKFxuICAgICAgICAgICAgICAgIHRzLmZvcm1hdERpYWdub3N0aWNzV2l0aENvbG9yQW5kQ29udGV4dChbZGlhZ25vc3RpY10sIGhvc3QpKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGZvcm1hdERpYWdub3N0aWMoZGlhZ25vc3RpYywgaG9zdCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgICAuam9pbignJyk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG59XG5cbi8qKiBVc2VkIHRvIHJlYWQgY29uZmlndXJhdGlvbiBmaWxlcy4gKi9cbmV4cG9ydCB0eXBlIENvbmZpZ3VyYXRpb25Ib3N0ID0gUGljazxcbiAgICBSZWFkb25seUZpbGVTeXN0ZW0sICdyZWFkRmlsZSd8J2V4aXN0cyd8J2xzdGF0J3wncmVzb2x2ZSd8J2pvaW4nfCdkaXJuYW1lJ3wnZXh0bmFtZSd8J3B3ZCc+O1xuXG5leHBvcnQgaW50ZXJmYWNlIFBhcnNlZENvbmZpZ3VyYXRpb24ge1xuICBwcm9qZWN0OiBzdHJpbmc7XG4gIG9wdGlvbnM6IGFwaS5Db21waWxlck9wdGlvbnM7XG4gIHJvb3ROYW1lczogc3RyaW5nW107XG4gIHByb2plY3RSZWZlcmVuY2VzPzogcmVhZG9ubHkgdHMuUHJvamVjdFJlZmVyZW5jZVtdfHVuZGVmaW5lZDtcbiAgZW1pdEZsYWdzOiBhcGkuRW1pdEZsYWdzO1xuICBlcnJvcnM6IHRzLkRpYWdub3N0aWNbXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNhbGNQcm9qZWN0RmlsZUFuZEJhc2VQYXRoKFxuICAgIHByb2plY3Q6IHN0cmluZywgaG9zdDogQ29uZmlndXJhdGlvbkhvc3QgPSBnZXRGaWxlU3lzdGVtKCkpOlxuICAgIHtwcm9qZWN0RmlsZTogQWJzb2x1dGVGc1BhdGgsIGJhc2VQYXRoOiBBYnNvbHV0ZUZzUGF0aH0ge1xuICBjb25zdCBhYnNQcm9qZWN0ID0gaG9zdC5yZXNvbHZlKHByb2plY3QpO1xuICBjb25zdCBwcm9qZWN0SXNEaXIgPSBob3N0LmxzdGF0KGFic1Byb2plY3QpLmlzRGlyZWN0b3J5KCk7XG4gIGNvbnN0IHByb2plY3RGaWxlID0gcHJvamVjdElzRGlyID8gaG9zdC5qb2luKGFic1Byb2plY3QsICd0c2NvbmZpZy5qc29uJykgOiBhYnNQcm9qZWN0O1xuICBjb25zdCBwcm9qZWN0RGlyID0gcHJvamVjdElzRGlyID8gYWJzUHJvamVjdCA6IGhvc3QuZGlybmFtZShhYnNQcm9qZWN0KTtcbiAgY29uc3QgYmFzZVBhdGggPSBob3N0LnJlc29sdmUocHJvamVjdERpcik7XG4gIHJldHVybiB7cHJvamVjdEZpbGUsIGJhc2VQYXRofTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlYWRDb25maWd1cmF0aW9uKFxuICAgIHByb2plY3Q6IHN0cmluZywgZXhpc3RpbmdPcHRpb25zPzogYXBpLkNvbXBpbGVyT3B0aW9ucyxcbiAgICBob3N0OiBDb25maWd1cmF0aW9uSG9zdCA9IGdldEZpbGVTeXN0ZW0oKSk6IFBhcnNlZENvbmZpZ3VyYXRpb24ge1xuICB0cnkge1xuICAgIGNvbnN0IGZzID0gZ2V0RmlsZVN5c3RlbSgpO1xuXG4gICAgY29uc3QgcmVhZENvbmZpZ0ZpbGUgPSAoY29uZmlnRmlsZTogc3RyaW5nKSA9PlxuICAgICAgICB0cy5yZWFkQ29uZmlnRmlsZShjb25maWdGaWxlLCBmaWxlID0+IGhvc3QucmVhZEZpbGUoaG9zdC5yZXNvbHZlKGZpbGUpKSk7XG4gICAgY29uc3QgcmVhZEFuZ3VsYXJDb21waWxlck9wdGlvbnMgPVxuICAgICAgICAoY29uZmlnRmlsZTogc3RyaW5nLCBwYXJlbnRPcHRpb25zOiBOZ0NvbXBpbGVyT3B0aW9ucyA9IHt9KTogTmdDb21waWxlck9wdGlvbnMgPT4ge1xuICAgICAgICAgIGNvbnN0IHtjb25maWcsIGVycm9yfSA9IHJlYWRDb25maWdGaWxlKGNvbmZpZ0ZpbGUpO1xuXG4gICAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgICAvLyBFcnJvcnMgYXJlIGhhbmRsZWQgbGF0ZXIgb24gYnkgJ3BhcnNlSnNvbkNvbmZpZ0ZpbGVDb250ZW50J1xuICAgICAgICAgICAgcmV0dXJuIHBhcmVudE9wdGlvbnM7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gd2UgYXJlIG9ubHkgaW50ZXJlc3RlZCBpbnRvIG1lcmdpbmcgJ2FuZ3VsYXJDb21waWxlck9wdGlvbnMnIGFzXG4gICAgICAgICAgLy8gb3RoZXIgb3B0aW9ucyBsaWtlICdjb21waWxlck9wdGlvbnMnIGFyZSBtZXJnZWQgYnkgVFNcbiAgICAgICAgICBjb25zdCBleGlzdGluZ05nQ29tcGlsZXJPcHRpb25zID0gey4uLmNvbmZpZy5hbmd1bGFyQ29tcGlsZXJPcHRpb25zLCAuLi5wYXJlbnRPcHRpb25zfTtcblxuICAgICAgICAgIGlmIChjb25maWcuZXh0ZW5kcyAmJiB0eXBlb2YgY29uZmlnLmV4dGVuZHMgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICBjb25zdCBleHRlbmRlZENvbmZpZ1BhdGggPSBnZXRFeHRlbmRlZENvbmZpZ1BhdGgoXG4gICAgICAgICAgICAgICAgY29uZmlnRmlsZSwgY29uZmlnLmV4dGVuZHMsIGhvc3QsIGZzLFxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgaWYgKGV4dGVuZGVkQ29uZmlnUGF0aCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAvLyBDYWxsIHJlYWRBbmd1bGFyQ29tcGlsZXJPcHRpb25zIHJlY3Vyc2l2ZWx5IHRvIG1lcmdlIE5HIENvbXBpbGVyIG9wdGlvbnNcbiAgICAgICAgICAgICAgcmV0dXJuIHJlYWRBbmd1bGFyQ29tcGlsZXJPcHRpb25zKGV4dGVuZGVkQ29uZmlnUGF0aCwgZXhpc3RpbmdOZ0NvbXBpbGVyT3B0aW9ucyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIGV4aXN0aW5nTmdDb21waWxlck9wdGlvbnM7XG4gICAgICAgIH07XG5cbiAgICBjb25zdCB7cHJvamVjdEZpbGUsIGJhc2VQYXRofSA9IGNhbGNQcm9qZWN0RmlsZUFuZEJhc2VQYXRoKHByb2plY3QsIGhvc3QpO1xuICAgIGNvbnN0IGNvbmZpZ0ZpbGVOYW1lID0gaG9zdC5yZXNvbHZlKGhvc3QucHdkKCksIHByb2plY3RGaWxlKTtcbiAgICBjb25zdCB7Y29uZmlnLCBlcnJvcn0gPSByZWFkQ29uZmlnRmlsZShwcm9qZWN0RmlsZSk7XG4gICAgaWYgKGVycm9yKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBwcm9qZWN0LFxuICAgICAgICBlcnJvcnM6IFtlcnJvcl0sXG4gICAgICAgIHJvb3ROYW1lczogW10sXG4gICAgICAgIG9wdGlvbnM6IHt9LFxuICAgICAgICBlbWl0RmxhZ3M6IGFwaS5FbWl0RmxhZ3MuRGVmYXVsdFxuICAgICAgfTtcbiAgICB9XG4gICAgY29uc3QgZXhpc3RpbmdDb21waWxlck9wdGlvbnM6IGFwaS5Db21waWxlck9wdGlvbnMgPSB7XG4gICAgICBnZW5EaXI6IGJhc2VQYXRoLFxuICAgICAgYmFzZVBhdGgsXG4gICAgICAuLi5yZWFkQW5ndWxhckNvbXBpbGVyT3B0aW9ucyhjb25maWdGaWxlTmFtZSksXG4gICAgICAuLi5leGlzdGluZ09wdGlvbnMsXG4gICAgfTtcblxuICAgIGNvbnN0IHBhcnNlQ29uZmlnSG9zdCA9IGNyZWF0ZVBhcnNlQ29uZmlnSG9zdChob3N0LCBmcyk7XG4gICAgY29uc3Qge29wdGlvbnMsIGVycm9ycywgZmlsZU5hbWVzOiByb290TmFtZXMsIHByb2plY3RSZWZlcmVuY2VzfSA9XG4gICAgICAgIHRzLnBhcnNlSnNvbkNvbmZpZ0ZpbGVDb250ZW50KFxuICAgICAgICAgICAgY29uZmlnLCBwYXJzZUNvbmZpZ0hvc3QsIGJhc2VQYXRoLCBleGlzdGluZ0NvbXBpbGVyT3B0aW9ucywgY29uZmlnRmlsZU5hbWUpO1xuXG4gICAgLy8gQ29lcmNlIHRvIGJvb2xlYW4gYXMgYGVuYWJsZUl2eWAgY2FuIGJlIGBuZ3RzY3x0cnVlfGZhbHNlfHVuZGVmaW5lZGAgaGVyZS5cbiAgICBvcHRpb25zLmVuYWJsZUl2eSA9ICEhKG9wdGlvbnMuZW5hYmxlSXZ5ID8/IHRydWUpO1xuXG4gICAgbGV0IGVtaXRGbGFncyA9IGFwaS5FbWl0RmxhZ3MuRGVmYXVsdDtcbiAgICBpZiAoIShvcHRpb25zLnNraXBNZXRhZGF0YUVtaXQgfHwgb3B0aW9ucy5mbGF0TW9kdWxlT3V0RmlsZSkpIHtcbiAgICAgIGVtaXRGbGFncyB8PSBhcGkuRW1pdEZsYWdzLk1ldGFkYXRhO1xuICAgIH1cbiAgICBpZiAob3B0aW9ucy5za2lwVGVtcGxhdGVDb2RlZ2VuKSB7XG4gICAgICBlbWl0RmxhZ3MgPSBlbWl0RmxhZ3MgJiB+YXBpLkVtaXRGbGFncy5Db2RlZ2VuO1xuICAgIH1cbiAgICByZXR1cm4ge3Byb2plY3Q6IHByb2plY3RGaWxlLCByb290TmFtZXMsIHByb2plY3RSZWZlcmVuY2VzLCBvcHRpb25zLCBlcnJvcnMsIGVtaXRGbGFnc307XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBjb25zdCBlcnJvcnM6IHRzLkRpYWdub3N0aWNbXSA9IFt7XG4gICAgICBjYXRlZ29yeTogdHMuRGlhZ25vc3RpY0NhdGVnb3J5LkVycm9yLFxuICAgICAgbWVzc2FnZVRleHQ6IGUuc3RhY2ssXG4gICAgICBmaWxlOiB1bmRlZmluZWQsXG4gICAgICBzdGFydDogdW5kZWZpbmVkLFxuICAgICAgbGVuZ3RoOiB1bmRlZmluZWQsXG4gICAgICBzb3VyY2U6ICdhbmd1bGFyJyxcbiAgICAgIGNvZGU6IGFwaS5VTktOT1dOX0VSUk9SX0NPREUsXG4gICAgfV07XG4gICAgcmV0dXJuIHtwcm9qZWN0OiAnJywgZXJyb3JzLCByb290TmFtZXM6IFtdLCBvcHRpb25zOiB7fSwgZW1pdEZsYWdzOiBhcGkuRW1pdEZsYWdzLkRlZmF1bHR9O1xuICB9XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZVBhcnNlQ29uZmlnSG9zdChob3N0OiBDb25maWd1cmF0aW9uSG9zdCwgZnMgPSBnZXRGaWxlU3lzdGVtKCkpOiB0cy5QYXJzZUNvbmZpZ0hvc3Qge1xuICByZXR1cm4ge1xuICAgIGZpbGVFeGlzdHM6IGhvc3QuZXhpc3RzLmJpbmQoaG9zdCksXG4gICAgcmVhZERpcmVjdG9yeTogdHMuc3lzLnJlYWREaXJlY3RvcnksXG4gICAgcmVhZEZpbGU6IGhvc3QucmVhZEZpbGUuYmluZChob3N0KSxcbiAgICB1c2VDYXNlU2Vuc2l0aXZlRmlsZU5hbWVzOiBmcy5pc0Nhc2VTZW5zaXRpdmUoKSxcbiAgfTtcbn1cblxuZnVuY3Rpb24gZ2V0RXh0ZW5kZWRDb25maWdQYXRoKFxuICAgIGNvbmZpZ0ZpbGU6IHN0cmluZywgZXh0ZW5kc1ZhbHVlOiBzdHJpbmcsIGhvc3Q6IENvbmZpZ3VyYXRpb25Ib3N0LFxuICAgIGZzOiBGaWxlU3lzdGVtKTogQWJzb2x1dGVGc1BhdGh8bnVsbCB7XG4gIGNvbnN0IHJlc3VsdCA9IGdldEV4dGVuZGVkQ29uZmlnUGF0aFdvcmtlcihjb25maWdGaWxlLCBleHRlbmRzVmFsdWUsIGhvc3QsIGZzKTtcbiAgaWYgKHJlc3VsdCAhPT0gbnVsbCkge1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvLyBUcnkgdG8gcmVzb2x2ZSB0aGUgcGF0aHMgd2l0aCBhIGpzb24gZXh0ZW5zaW9uIGFwcGVuZCBhIGpzb24gZXh0ZW5zaW9uIHRvIHRoZSBmaWxlIGluIGNhc2UgaWZcbiAgLy8gaXQgaXMgbWlzc2luZyBhbmQgdGhlIHJlc29sdXRpb24gZmFpbGVkLiBUaGlzIGlzIHRvIHJlcGxpY2F0ZSBUeXBlU2NyaXB0IGJlaGF2aW91ciwgc2VlOlxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vbWljcm9zb2Z0L1R5cGVTY3JpcHQvYmxvYi8yOTRhNWE3ZDc4NGE1YTk1YTgwNDhlZTk5MDQwMDk3OWE2YmMzYTFjL3NyYy9jb21waWxlci9jb21tYW5kTGluZVBhcnNlci50cyNMMjgwNlxuICByZXR1cm4gZ2V0RXh0ZW5kZWRDb25maWdQYXRoV29ya2VyKGNvbmZpZ0ZpbGUsIGAke2V4dGVuZHNWYWx1ZX0uanNvbmAsIGhvc3QsIGZzKTtcbn1cblxuZnVuY3Rpb24gZ2V0RXh0ZW5kZWRDb25maWdQYXRoV29ya2VyKFxuICAgIGNvbmZpZ0ZpbGU6IHN0cmluZywgZXh0ZW5kc1ZhbHVlOiBzdHJpbmcsIGhvc3Q6IENvbmZpZ3VyYXRpb25Ib3N0LFxuICAgIGZzOiBGaWxlU3lzdGVtKTogQWJzb2x1dGVGc1BhdGh8bnVsbCB7XG4gIGlmIChleHRlbmRzVmFsdWUuc3RhcnRzV2l0aCgnLicpIHx8IGZzLmlzUm9vdGVkKGV4dGVuZHNWYWx1ZSkpIHtcbiAgICBjb25zdCBleHRlbmRlZENvbmZpZ1BhdGggPSBob3N0LnJlc29sdmUoaG9zdC5kaXJuYW1lKGNvbmZpZ0ZpbGUpLCBleHRlbmRzVmFsdWUpO1xuICAgIGlmIChob3N0LmV4aXN0cyhleHRlbmRlZENvbmZpZ1BhdGgpKSB7XG4gICAgICByZXR1cm4gZXh0ZW5kZWRDb25maWdQYXRoO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBjb25zdCBwYXJzZUNvbmZpZ0hvc3QgPSBjcmVhdGVQYXJzZUNvbmZpZ0hvc3QoaG9zdCwgZnMpO1xuXG4gICAgLy8gUGF0aCBpc24ndCBhIHJvb3RlZCBvciByZWxhdGl2ZSBwYXRoLCByZXNvbHZlIGxpa2UgYSBtb2R1bGUuXG4gICAgY29uc3Qge1xuICAgICAgcmVzb2x2ZWRNb2R1bGUsXG4gICAgfSA9XG4gICAgICAgIHRzLm5vZGVNb2R1bGVOYW1lUmVzb2x2ZXIoXG4gICAgICAgICAgICBleHRlbmRzVmFsdWUsIGNvbmZpZ0ZpbGUsXG4gICAgICAgICAgICB7bW9kdWxlUmVzb2x1dGlvbjogdHMuTW9kdWxlUmVzb2x1dGlvbktpbmQuTm9kZUpzLCByZXNvbHZlSnNvbk1vZHVsZTogdHJ1ZX0sXG4gICAgICAgICAgICBwYXJzZUNvbmZpZ0hvc3QpO1xuICAgIGlmIChyZXNvbHZlZE1vZHVsZSkge1xuICAgICAgcmV0dXJuIGFic29sdXRlRnJvbShyZXNvbHZlZE1vZHVsZS5yZXNvbHZlZEZpbGVOYW1lKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQZXJmb3JtQ29tcGlsYXRpb25SZXN1bHQge1xuICBkaWFnbm9zdGljczogRGlhZ25vc3RpY3M7XG4gIHByb2dyYW0/OiBhcGkuUHJvZ3JhbTtcbiAgZW1pdFJlc3VsdD86IHRzLkVtaXRSZXN1bHQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBleGl0Q29kZUZyb21SZXN1bHQoZGlhZ3M6IERpYWdub3N0aWNzfHVuZGVmaW5lZCk6IG51bWJlciB7XG4gIGlmICghZGlhZ3MgfHwgZmlsdGVyRXJyb3JzQW5kV2FybmluZ3MoZGlhZ3MpLmxlbmd0aCA9PT0gMCkge1xuICAgIC8vIElmIHdlIGhhdmUgYSByZXN1bHQgYW5kIGRpZG4ndCBnZXQgYW55IGVycm9ycywgd2Ugc3VjY2VlZGVkLlxuICAgIHJldHVybiAwO1xuICB9XG5cbiAgLy8gUmV0dXJuIDIgaWYgYW55IG9mIHRoZSBlcnJvcnMgd2VyZSB1bmtub3duLlxuICByZXR1cm4gZGlhZ3Muc29tZShkID0+IGQuc291cmNlID09PSAnYW5ndWxhcicgJiYgZC5jb2RlID09PSBhcGkuVU5LTk9XTl9FUlJPUl9DT0RFKSA/IDIgOiAxO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGVyZm9ybUNvbXBpbGF0aW9uKHtcbiAgcm9vdE5hbWVzLFxuICBvcHRpb25zLFxuICBob3N0LFxuICBvbGRQcm9ncmFtLFxuICBlbWl0Q2FsbGJhY2ssXG4gIG1lcmdlRW1pdFJlc3VsdHNDYWxsYmFjayxcbiAgZ2F0aGVyRGlhZ25vc3RpY3MgPSBkZWZhdWx0R2F0aGVyRGlhZ25vc3RpY3MsXG4gIGN1c3RvbVRyYW5zZm9ybWVycyxcbiAgZW1pdEZsYWdzID0gYXBpLkVtaXRGbGFncy5EZWZhdWx0LFxuICBtb2RpZmllZFJlc291cmNlRmlsZXMgPSBudWxsXG59OiB7XG4gIHJvb3ROYW1lczogc3RyaW5nW10sXG4gIG9wdGlvbnM6IGFwaS5Db21waWxlck9wdGlvbnMsXG4gIGhvc3Q/OiBhcGkuQ29tcGlsZXJIb3N0LFxuICBvbGRQcm9ncmFtPzogYXBpLlByb2dyYW0sXG4gIGVtaXRDYWxsYmFjaz86IGFwaS5Uc0VtaXRDYWxsYmFjayxcbiAgbWVyZ2VFbWl0UmVzdWx0c0NhbGxiYWNrPzogYXBpLlRzTWVyZ2VFbWl0UmVzdWx0c0NhbGxiYWNrLFxuICBnYXRoZXJEaWFnbm9zdGljcz86IChwcm9ncmFtOiBhcGkuUHJvZ3JhbSkgPT4gRGlhZ25vc3RpY3MsXG4gIGN1c3RvbVRyYW5zZm9ybWVycz86IGFwaS5DdXN0b21UcmFuc2Zvcm1lcnMsXG4gIGVtaXRGbGFncz86IGFwaS5FbWl0RmxhZ3MsXG4gIG1vZGlmaWVkUmVzb3VyY2VGaWxlcz86IFNldDxzdHJpbmc+fCBudWxsLFxufSk6IFBlcmZvcm1Db21waWxhdGlvblJlc3VsdCB7XG4gIGxldCBwcm9ncmFtOiBhcGkuUHJvZ3JhbXx1bmRlZmluZWQ7XG4gIGxldCBlbWl0UmVzdWx0OiB0cy5FbWl0UmVzdWx0fHVuZGVmaW5lZDtcbiAgbGV0IGFsbERpYWdub3N0aWNzOiBBcnJheTx0cy5EaWFnbm9zdGljfGFwaS5EaWFnbm9zdGljPiA9IFtdO1xuICB0cnkge1xuICAgIGlmICghaG9zdCkge1xuICAgICAgaG9zdCA9IG5nLmNyZWF0ZUNvbXBpbGVySG9zdCh7b3B0aW9uc30pO1xuICAgIH1cbiAgICBpZiAobW9kaWZpZWRSZXNvdXJjZUZpbGVzKSB7XG4gICAgICBob3N0LmdldE1vZGlmaWVkUmVzb3VyY2VGaWxlcyA9ICgpID0+IG1vZGlmaWVkUmVzb3VyY2VGaWxlcztcbiAgICB9XG5cbiAgICBwcm9ncmFtID0gbmcuY3JlYXRlUHJvZ3JhbSh7cm9vdE5hbWVzLCBob3N0LCBvcHRpb25zLCBvbGRQcm9ncmFtfSk7XG5cbiAgICBjb25zdCBiZWZvcmVEaWFncyA9IERhdGUubm93KCk7XG4gICAgYWxsRGlhZ25vc3RpY3MucHVzaCguLi5nYXRoZXJEaWFnbm9zdGljcyhwcm9ncmFtISkpO1xuICAgIGlmIChvcHRpb25zLmRpYWdub3N0aWNzKSB7XG4gICAgICBjb25zdCBhZnRlckRpYWdzID0gRGF0ZS5ub3coKTtcbiAgICAgIGFsbERpYWdub3N0aWNzLnB1c2goXG4gICAgICAgICAgY3JlYXRlTWVzc2FnZURpYWdub3N0aWMoYFRpbWUgZm9yIGRpYWdub3N0aWNzOiAke2FmdGVyRGlhZ3MgLSBiZWZvcmVEaWFnc31tcy5gKSk7XG4gICAgfVxuXG4gICAgaWYgKCFoYXNFcnJvcnMoYWxsRGlhZ25vc3RpY3MpKSB7XG4gICAgICBlbWl0UmVzdWx0ID1cbiAgICAgICAgICBwcm9ncmFtIS5lbWl0KHtlbWl0Q2FsbGJhY2ssIG1lcmdlRW1pdFJlc3VsdHNDYWxsYmFjaywgY3VzdG9tVHJhbnNmb3JtZXJzLCBlbWl0RmxhZ3N9KTtcbiAgICAgIGFsbERpYWdub3N0aWNzLnB1c2goLi4uZW1pdFJlc3VsdC5kaWFnbm9zdGljcyk7XG4gICAgICByZXR1cm4ge2RpYWdub3N0aWNzOiBhbGxEaWFnbm9zdGljcywgcHJvZ3JhbSwgZW1pdFJlc3VsdH07XG4gICAgfVxuICAgIHJldHVybiB7ZGlhZ25vc3RpY3M6IGFsbERpYWdub3N0aWNzLCBwcm9ncmFtfTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGxldCBlcnJNc2c6IHN0cmluZztcbiAgICBsZXQgY29kZTogbnVtYmVyO1xuICAgIGlmIChpc1N5bnRheEVycm9yKGUpKSB7XG4gICAgICAvLyBkb24ndCByZXBvcnQgdGhlIHN0YWNrIGZvciBzeW50YXggZXJyb3JzIGFzIHRoZXkgYXJlIHdlbGwga25vd24gZXJyb3JzLlxuICAgICAgZXJyTXNnID0gZS5tZXNzYWdlO1xuICAgICAgY29kZSA9IGFwaS5ERUZBVUxUX0VSUk9SX0NPREU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGVyck1zZyA9IGUuc3RhY2s7XG4gICAgICAvLyBJdCBpcyBub3QgYSBzeW50YXggZXJyb3Igd2UgbWlnaHQgaGF2ZSBhIHByb2dyYW0gd2l0aCB1bmtub3duIHN0YXRlLCBkaXNjYXJkIGl0LlxuICAgICAgcHJvZ3JhbSA9IHVuZGVmaW5lZDtcbiAgICAgIGNvZGUgPSBhcGkuVU5LTk9XTl9FUlJPUl9DT0RFO1xuICAgIH1cbiAgICBhbGxEaWFnbm9zdGljcy5wdXNoKFxuICAgICAgICB7Y2F0ZWdvcnk6IHRzLkRpYWdub3N0aWNDYXRlZ29yeS5FcnJvciwgbWVzc2FnZVRleHQ6IGVyck1zZywgY29kZSwgc291cmNlOiBhcGkuU09VUkNFfSk7XG4gICAgcmV0dXJuIHtkaWFnbm9zdGljczogYWxsRGlhZ25vc3RpY3MsIHByb2dyYW19O1xuICB9XG59XG5leHBvcnQgZnVuY3Rpb24gZGVmYXVsdEdhdGhlckRpYWdub3N0aWNzKHByb2dyYW06IGFwaS5Qcm9ncmFtKTogRGlhZ25vc3RpY3Mge1xuICBjb25zdCBhbGxEaWFnbm9zdGljczogQXJyYXk8dHMuRGlhZ25vc3RpY3xhcGkuRGlhZ25vc3RpYz4gPSBbXTtcblxuICBmdW5jdGlvbiBjaGVja0RpYWdub3N0aWNzKGRpYWdzOiBEaWFnbm9zdGljc3x1bmRlZmluZWQpIHtcbiAgICBpZiAoZGlhZ3MpIHtcbiAgICAgIGFsbERpYWdub3N0aWNzLnB1c2goLi4uZGlhZ3MpO1xuICAgICAgcmV0dXJuICFoYXNFcnJvcnMoZGlhZ3MpO1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGxldCBjaGVja090aGVyRGlhZ25vc3RpY3MgPSB0cnVlO1xuICAvLyBDaGVjayBwYXJhbWV0ZXIgZGlhZ25vc3RpY3NcbiAgY2hlY2tPdGhlckRpYWdub3N0aWNzID0gY2hlY2tPdGhlckRpYWdub3N0aWNzICYmXG4gICAgICBjaGVja0RpYWdub3N0aWNzKFsuLi5wcm9ncmFtLmdldFRzT3B0aW9uRGlhZ25vc3RpY3MoKSwgLi4ucHJvZ3JhbS5nZXROZ09wdGlvbkRpYWdub3N0aWNzKCldKTtcblxuICAvLyBDaGVjayBzeW50YWN0aWMgZGlhZ25vc3RpY3NcbiAgY2hlY2tPdGhlckRpYWdub3N0aWNzID1cbiAgICAgIGNoZWNrT3RoZXJEaWFnbm9zdGljcyAmJiBjaGVja0RpYWdub3N0aWNzKHByb2dyYW0uZ2V0VHNTeW50YWN0aWNEaWFnbm9zdGljcygpIGFzIERpYWdub3N0aWNzKTtcblxuICAvLyBDaGVjayBUeXBlU2NyaXB0IHNlbWFudGljIGFuZCBBbmd1bGFyIHN0cnVjdHVyZSBkaWFnbm9zdGljc1xuICBjaGVja090aGVyRGlhZ25vc3RpY3MgPVxuICAgICAgY2hlY2tPdGhlckRpYWdub3N0aWNzICYmXG4gICAgICBjaGVja0RpYWdub3N0aWNzKFxuICAgICAgICAgIFsuLi5wcm9ncmFtLmdldFRzU2VtYW50aWNEaWFnbm9zdGljcygpLCAuLi5wcm9ncmFtLmdldE5nU3RydWN0dXJhbERpYWdub3N0aWNzKCldKTtcblxuICAvLyBDaGVjayBBbmd1bGFyIHNlbWFudGljIGRpYWdub3N0aWNzXG4gIGNoZWNrT3RoZXJEaWFnbm9zdGljcyA9XG4gICAgICBjaGVja090aGVyRGlhZ25vc3RpY3MgJiYgY2hlY2tEaWFnbm9zdGljcyhwcm9ncmFtLmdldE5nU2VtYW50aWNEaWFnbm9zdGljcygpIGFzIERpYWdub3N0aWNzKTtcblxuICByZXR1cm4gYWxsRGlhZ25vc3RpY3M7XG59XG5cbmZ1bmN0aW9uIGhhc0Vycm9ycyhkaWFnczogRGlhZ25vc3RpY3MpIHtcbiAgcmV0dXJuIGRpYWdzLnNvbWUoZCA9PiBkLmNhdGVnb3J5ID09PSB0cy5EaWFnbm9zdGljQ2F0ZWdvcnkuRXJyb3IpO1xufVxuIl19
|
package/src/version.js
CHANGED
|
@@ -23,6 +23,6 @@
|
|
|
23
23
|
* Entry point for all public APIs of the common package.
|
|
24
24
|
*/
|
|
25
25
|
var compiler_1 = require("@angular/compiler");
|
|
26
|
-
exports.VERSION = new compiler_1.Version('11.2.
|
|
26
|
+
exports.VERSION = new compiler_1.Version('11.2.9');
|
|
27
27
|
});
|
|
28
28
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBpbGVyLWNsaS9zcmMvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7Ozs7Ozs7Ozs7Ozs7SUFFSDs7OztPQUlHO0lBRUgsOENBQTBDO0lBRTdCLFFBQUEsT0FBTyxHQUFHLElBQUksa0JBQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbi8qKlxuICogQG1vZHVsZVxuICogQGRlc2NyaXB0aW9uXG4gKiBFbnRyeSBwb2ludCBmb3IgYWxsIHB1YmxpYyBBUElzIG9mIHRoZSBjb21tb24gcGFja2FnZS5cbiAqL1xuXG5pbXBvcnQge1ZlcnNpb259IGZyb20gJ0Bhbmd1bGFyL2NvbXBpbGVyJztcblxuZXhwb3J0IGNvbnN0IFZFUlNJT04gPSBuZXcgVmVyc2lvbignMC4wLjAtUExBQ0VIT0xERVInKTtcbiJdfQ==
|