UNPKG

25.9 kBJavaScriptView Raw
1"use strict";
2// tslint:disable:no-any
3// tslint:disable:no-unsafe-any
4// tslint:disable:max-classes-per-file
5Object.defineProperty(exports, "__esModule", { value: true });
6class InternalError extends Error {
7 constructor(message) {
8 super(message);
9 // Required for TS 2.1, see
10 // https://github.com/Microsoft/TypeScript/wiki/Breaking-Changes#extending-built-ins-like-error-array-and-map-may-no-longer-work
11 Object.setPrototypeOf(this, InternalError.prototype);
12 const nativeError = new Error(message);
13 nativeError.name = 'InternalError';
14 this._nativeError = nativeError;
15 }
16 get message() {
17 return this._nativeError.message;
18 }
19 set message(message) {
20 if (this._nativeError) {
21 this._nativeError.message = message;
22 }
23 }
24 get name() {
25 return this._nativeError.name;
26 }
27 set name(name) {
28 if (this._nativeError) {
29 this._nativeError.name = name;
30 }
31 }
32 get stack() {
33 return this._nativeError.stack;
34 }
35 set stack(value) {
36 if (this._nativeError) {
37 this._nativeError.stack = value;
38 }
39 }
40 toString() {
41 return this._nativeError.toString();
42 }
43}
44exports.InternalError = InternalError;
45class InvalidConfigError extends Error {
46 constructor(message) {
47 super(message);
48 // Required for TS 2.1, see
49 // https://github.com/Microsoft/TypeScript/wiki/Breaking-Changes#extending-built-ins-like-error-array-and-map-may-no-longer-work
50 Object.setPrototypeOf(this, InvalidConfigError.prototype);
51 const nativeError = new Error(message);
52 nativeError.name = 'InvalidConfigError';
53 this._nativeError = nativeError;
54 }
55 get message() {
56 return this._nativeError.message;
57 }
58 set message(message) {
59 if (this._nativeError) {
60 this._nativeError.message = message;
61 }
62 }
63 get name() {
64 return this._nativeError.name;
65 }
66 set name(name) {
67 if (this._nativeError) {
68 this._nativeError.name = name;
69 }
70 }
71 get stack() {
72 return this._nativeError.stack;
73 }
74 set stack(value) {
75 if (this._nativeError) {
76 this._nativeError.stack = value;
77 }
78 }
79 toString() {
80 return this._nativeError.toString();
81 }
82}
83exports.InvalidConfigError = InvalidConfigError;
84class InvalidOptionError extends Error {
85 constructor(message) {
86 super(message);
87 // Required for TS 2.1, see
88 // https://github.com/Microsoft/TypeScript/wiki/Breaking-Changes#extending-built-ins-like-error-array-and-map-may-no-longer-work
89 Object.setPrototypeOf(this, InvalidOptionError.prototype);
90 const nativeError = new Error(message);
91 nativeError.name = 'InvalidOptionError';
92 this._nativeError = nativeError;
93 }
94 get message() {
95 return this._nativeError.message;
96 }
97 set message(message) {
98 if (this._nativeError) {
99 this._nativeError.message = message;
100 }
101 }
102 get name() {
103 return this._nativeError.name;
104 }
105 set name(name) {
106 if (this._nativeError) {
107 this._nativeError.name = name;
108 }
109 }
110 get stack() {
111 return this._nativeError.stack;
112 }
113 set stack(value) {
114 if (this._nativeError) {
115 this._nativeError.stack = value;
116 }
117 }
118 toString() {
119 return this._nativeError.toString();
120 }
121}
122exports.InvalidOptionError = InvalidOptionError;
123class TypescriptCompileError extends Error {
124 constructor(message) {
125 super(message);
126 // Required for TS 2.1, see
127 // https://github.com/Microsoft/TypeScript/wiki/Breaking-Changes#extending-built-ins-like-error-array-and-map-may-no-longer-work
128 Object.setPrototypeOf(this, TypescriptCompileError.prototype);
129 const nativeError = new Error(message.message || message);
130 nativeError.name = 'TypescriptCompileError';
131 this._nativeError = nativeError;
132 if (message.message && message.stack) {
133 this.stack = message.stack;
134 }
135 }
136 get message() {
137 return this._nativeError.message;
138 }
139 set message(message) {
140 if (this._nativeError) {
141 this._nativeError.message = message;
142 }
143 }
144 get name() {
145 return this._nativeError.name;
146 }
147 set name(name) {
148 if (this._nativeError) {
149 this._nativeError.name = name;
150 }
151 }
152 get stack() {
153 return this._nativeError.stack;
154 }
155 set stack(value) {
156 if (this._nativeError) {
157 this._nativeError.stack = value;
158 }
159 }
160 toString() {
161 return this._nativeError.toString();
162 }
163}
164exports.TypescriptCompileError = TypescriptCompileError;
165class UglifyError extends Error {
166 constructor(message) {
167 super(message);
168 // Required for TS 2.1, see
169 // https://github.com/Microsoft/TypeScript/wiki/Breaking-Changes#extending-built-ins-like-error-array-and-map-may-no-longer-work
170 Object.setPrototypeOf(this, UglifyError.prototype);
171 const nativeError = new Error(message);
172 nativeError.name = 'UglifyError';
173 this._nativeError = nativeError;
174 }
175 get message() {
176 return this._nativeError.message;
177 }
178 set message(message) {
179 if (this._nativeError) {
180 this._nativeError.message = message;
181 }
182 }
183 get name() {
184 return this._nativeError.name;
185 }
186 set name(name) {
187 if (this._nativeError) {
188 this._nativeError.name = name;
189 }
190 }
191 get stack() {
192 return this._nativeError.stack;
193 }
194 set stack(value) {
195 if (this._nativeError) {
196 this._nativeError.stack = value;
197 }
198 }
199 toString() {
200 return this._nativeError.toString();
201 }
202}
203exports.UglifyError = UglifyError;
204class UnSupportedStyleExtError extends Error {
205 constructor(message) {
206 super(message);
207 // Required for TS 2.1, see
208 // https://github.com/Microsoft/TypeScript/wiki/Breaking-Changes#extending-built-ins-like-error-array-and-map-may-no-longer-work
209 Object.setPrototypeOf(this, UnSupportedStyleExtError.prototype);
210 const nativeError = new Error(message);
211 nativeError.name = 'UnSupportedStyleExtError';
212 this._nativeError = nativeError;
213 }
214 get message() {
215 return this._nativeError.message;
216 }
217 set message(message) {
218 if (this._nativeError) {
219 this._nativeError.message = message;
220 }
221 }
222 get name() {
223 return this._nativeError.name;
224 }
225 set name(name) {
226 if (this._nativeError) {
227 this._nativeError.name = name;
228 }
229 }
230 get stack() {
231 return this._nativeError.stack;
232 }
233 set stack(value) {
234 if (this._nativeError) {
235 this._nativeError.stack = value;
236 }
237 }
238 toString() {
239 return this._nativeError.toString();
240 }
241}
242exports.UnSupportedStyleExtError = UnSupportedStyleExtError;
243//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiQzovcHJvamVjdHMvYW5ndWxhci1idWlsZC8iLCJzb3VyY2VzIjpbInNyYy9lcnJvci1tb2RlbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHdCQUF3QjtBQUN4QiwrQkFBK0I7QUFDL0Isc0NBQXNDOztBQUV0QyxtQkFBMkIsU0FBUSxLQUFLO0lBR3BDLFlBQVksT0FBZTtRQUN2QixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDZiwyQkFBMkI7UUFDM0IsZ0lBQWdJO1FBQy9ILE1BQWMsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUU5RCxNQUFNLFdBQVcsR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQWlCLENBQUM7UUFDdkQsV0FBVyxDQUFDLElBQUksR0FBRyxlQUFlLENBQUM7UUFDbkMsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQUksT0FBTztRQUNQLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUM7SUFDckMsQ0FBQztJQUNELElBQUksT0FBTyxDQUFDLE9BQWU7UUFDdkIsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztTQUN2QztJQUNMLENBQUM7SUFDRCxJQUFJLElBQUk7UUFDSixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDO0lBQ2xDLENBQUM7SUFDRCxJQUFJLElBQUksQ0FBQyxJQUFZO1FBQ2pCLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNuQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7U0FDakM7SUFDTCxDQUFDO0lBQ0QsSUFBSSxLQUFLO1FBQ0wsT0FBUSxJQUFJLENBQUMsWUFBb0IsQ0FBQyxLQUFLLENBQUM7SUFDNUMsQ0FBQztJQUNELElBQUksS0FBSyxDQUFDLEtBQVU7UUFDaEIsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ2xCLElBQUksQ0FBQyxZQUFvQixDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7U0FDNUM7SUFDTCxDQUFDO0lBQ0QsUUFBUTtRQUNKLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0NBQ0o7QUF6Q0Qsc0NBeUNDO0FBRUQsd0JBQWdDLFNBQVEsS0FBSztJQUd6QyxZQUFZLE9BQWU7UUFDdkIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWYsMkJBQTJCO1FBQzNCLGdJQUFnSTtRQUMvSCxNQUFjLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUVuRSxNQUFNLFdBQVcsR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQWlCLENBQUM7UUFDdkQsV0FBVyxDQUFDLElBQUksR0FBRyxvQkFBb0IsQ0FBQztRQUN4QyxJQUFJLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1AsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQztJQUNyQyxDQUFDO0lBQ0QsSUFBSSxPQUFPLENBQUMsT0FBZTtRQUN2QixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1NBQ3ZDO0lBQ0wsQ0FBQztJQUNELElBQUksSUFBSTtRQUNKLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7SUFDbEMsQ0FBQztJQUNELElBQUksSUFBSSxDQUFDLElBQVk7UUFDakIsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztTQUNqQztJQUNMLENBQUM7SUFDRCxJQUFJLEtBQUs7UUFDTCxPQUFRLElBQUksQ0FBQyxZQUFvQixDQUFDLEtBQUssQ0FBQztJQUM1QyxDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsS0FBVTtRQUNoQixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDbEIsSUFBSSxDQUFDLFlBQW9CLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztTQUM1QztJQUNMLENBQUM7SUFDRCxRQUFRO1FBQ0osT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3hDLENBQUM7Q0FDSjtBQTFDRCxnREEwQ0M7QUFFRCx3QkFBZ0MsU0FBUSxLQUFLO0lBR3pDLFlBQVksT0FBZTtRQUN2QixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDZiwyQkFBMkI7UUFDM0IsZ0lBQWdJO1FBQy9ILE1BQWMsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRW5FLE1BQU0sV0FBVyxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBaUIsQ0FBQztRQUN2RCxXQUFXLENBQUMsSUFBSSxHQUFHLG9CQUFvQixDQUFDO1FBQ3hDLElBQUksQ0FBQyxZQUFZLEdBQUcsV0FBVyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDUCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDO0lBQ3JDLENBQUM7SUFDRCxJQUFJLE9BQU8sQ0FBQyxPQUFlO1FBQ3ZCLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNuQixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7U0FDdkM7SUFDTCxDQUFDO0lBQ0QsSUFBSSxJQUFJO1FBQ0osT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztJQUNsQyxDQUFDO0lBQ0QsSUFBSSxJQUFJLENBQUMsSUFBWTtRQUNqQixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1NBQ2pDO0lBQ0wsQ0FBQztJQUNELElBQUksS0FBSztRQUNMLE9BQVEsSUFBSSxDQUFDLFlBQW9CLENBQUMsS0FBSyxDQUFDO0lBQzVDLENBQUM7SUFDRCxJQUFJLEtBQUssQ0FBQyxLQUFVO1FBQ2hCLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNsQixJQUFJLENBQUMsWUFBb0IsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1NBQzVDO0lBQ0wsQ0FBQztJQUNELFFBQVE7UUFDSixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDeEMsQ0FBQztDQUNKO0FBekNELGdEQXlDQztBQUVELDRCQUFvQyxTQUFRLEtBQUs7SUFHN0MsWUFBWSxPQUFlO1FBQ3ZCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNmLDJCQUEyQjtRQUMzQixnSUFBZ0k7UUFDL0gsTUFBYyxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsc0JBQXNCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFdkUsTUFBTSxXQUFXLEdBQUcsSUFBSSxLQUFLLENBQUUsT0FBZSxDQUFDLE9BQU8sSUFBSSxPQUFPLENBQWlCLENBQUM7UUFDbkYsV0FBVyxDQUFDLElBQUksR0FBRyx3QkFBd0IsQ0FBQztRQUM1QyxJQUFJLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQztRQUVoQyxJQUFLLE9BQWUsQ0FBQyxPQUFPLElBQUssT0FBZSxDQUFDLEtBQUssRUFBRTtZQUNwRCxJQUFJLENBQUMsS0FBSyxHQUFJLE9BQWUsQ0FBQyxLQUFLLENBQUM7U0FDdkM7SUFDTCxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1AsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQztJQUNyQyxDQUFDO0lBQ0QsSUFBSSxPQUFPLENBQUMsT0FBZTtRQUN2QixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1NBQ3ZDO0lBQ0wsQ0FBQztJQUNELElBQUksSUFBSTtRQUNKLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7SUFDbEMsQ0FBQztJQUNELElBQUksSUFBSSxDQUFDLElBQVk7UUFDakIsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztTQUNqQztJQUNMLENBQUM7SUFDRCxJQUFJLEtBQUs7UUFDTCxPQUFRLElBQUksQ0FBQyxZQUFvQixDQUFDLEtBQUssQ0FBQztJQUM1QyxDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsS0FBVTtRQUNoQixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDbEIsSUFBSSxDQUFDLFlBQW9CLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztTQUM1QztJQUNMLENBQUM7SUFDRCxRQUFRO1FBQ0osT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3hDLENBQUM7Q0FDSjtBQTdDRCx3REE2Q0M7QUFFRCxpQkFBeUIsU0FBUSxLQUFLO0lBR2xDLFlBQVksT0FBZTtRQUN2QixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDZiwyQkFBMkI7UUFDM0IsZ0lBQWdJO1FBQy9ILE1BQWMsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUU1RCxNQUFNLFdBQVcsR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQWlCLENBQUM7UUFDdkQsV0FBVyxDQUFDLElBQUksR0FBRyxhQUFhLENBQUM7UUFDakMsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQUksT0FBTztRQUNQLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUM7SUFDckMsQ0FBQztJQUNELElBQUksT0FBTyxDQUFDLE9BQWU7UUFDdkIsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztTQUN2QztJQUNMLENBQUM7SUFDRCxJQUFJLElBQUk7UUFDSixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDO0lBQ2xDLENBQUM7SUFDRCxJQUFJLElBQUksQ0FBQyxJQUFZO1FBQ2pCLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNuQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7U0FDakM7SUFDTCxDQUFDO0lBQ0QsSUFBSSxLQUFLO1FBQ0wsT0FBUSxJQUFJLENBQUMsWUFBb0IsQ0FBQyxLQUFLLENBQUM7SUFDNUMsQ0FBQztJQUNELElBQUksS0FBSyxDQUFDLEtBQVU7UUFDaEIsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ2xCLElBQUksQ0FBQyxZQUFvQixDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7U0FDNUM7SUFDTCxDQUFDO0lBQ0QsUUFBUTtRQUNKLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0NBQ0o7QUF6Q0Qsa0NBeUNDO0FBRUQsOEJBQXNDLFNBQVEsS0FBSztJQUcvQyxZQUFZLE9BQWU7UUFDdkIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2YsMkJBQTJCO1FBQzNCLGdJQUFnSTtRQUMvSCxNQUFjLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSx3QkFBd0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUV6RSxNQUFNLFdBQVcsR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQWlCLENBQUM7UUFDdkQsV0FBVyxDQUFDLElBQUksR0FBRywwQkFBMEIsQ0FBQztRQUM5QyxJQUFJLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1AsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQztJQUNyQyxDQUFDO0lBQ0QsSUFBSSxPQUFPLENBQUMsT0FBZTtRQUN2QixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1NBQ3ZDO0lBQ0wsQ0FBQztJQUNELElBQUksSUFBSTtRQUNKLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7SUFDbEMsQ0FBQztJQUNELElBQUksSUFBSSxDQUFDLElBQVk7UUFDakIsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztTQUNqQztJQUNMLENBQUM7SUFDRCxJQUFJLEtBQUs7UUFDTCxPQUFRLElBQUksQ0FBQyxZQUFvQixDQUFDLEtBQUssQ0FBQztJQUM1QyxDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsS0FBVTtRQUNoQixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDbEIsSUFBSSxDQUFDLFlBQW9CLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztTQUM1QztJQUNMLENBQUM7SUFDRCxRQUFRO1FBQ0osT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3hDLENBQUM7Q0FDSjtBQXpDRCw0REF5Q0MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB0c2xpbnQ6ZGlzYWJsZTpuby1hbnlcbi8vIHRzbGludDpkaXNhYmxlOm5vLXVuc2FmZS1hbnlcbi8vIHRzbGludDpkaXNhYmxlOm1heC1jbGFzc2VzLXBlci1maWxlXG5cbmV4cG9ydCBjbGFzcyBJbnRlcm5hbEVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICAgIHByaXZhdGUgX25hdGl2ZUVycm9yOiBFcnJvcjtcblxuICAgIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZykge1xuICAgICAgICBzdXBlcihtZXNzYWdlKTtcbiAgICAgICAgLy8gUmVxdWlyZWQgZm9yIFRTIDIuMSwgc2VlXG4gICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9NaWNyb3NvZnQvVHlwZVNjcmlwdC93aWtpL0JyZWFraW5nLUNoYW5nZXMjZXh0ZW5kaW5nLWJ1aWx0LWlucy1saWtlLWVycm9yLWFycmF5LWFuZC1tYXAtbWF5LW5vLWxvbmdlci13b3JrXG4gICAgICAgIChPYmplY3QgYXMgYW55KS5zZXRQcm90b3R5cGVPZih0aGlzLCBJbnRlcm5hbEVycm9yLnByb3RvdHlwZSk7XG5cbiAgICAgICAgY29uc3QgbmF0aXZlRXJyb3IgPSBuZXcgRXJyb3IobWVzc2FnZSkgYXMgYW55IGFzIEVycm9yO1xuICAgICAgICBuYXRpdmVFcnJvci5uYW1lID0gJ0ludGVybmFsRXJyb3InO1xuICAgICAgICB0aGlzLl9uYXRpdmVFcnJvciA9IG5hdGl2ZUVycm9yO1xuICAgIH1cblxuICAgIGdldCBtZXNzYWdlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9uYXRpdmVFcnJvci5tZXNzYWdlO1xuICAgIH1cbiAgICBzZXQgbWVzc2FnZShtZXNzYWdlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHRoaXMuX25hdGl2ZUVycm9yKSB7XG4gICAgICAgICAgICB0aGlzLl9uYXRpdmVFcnJvci5tZXNzYWdlID0gbWVzc2FnZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBnZXQgbmFtZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fbmF0aXZlRXJyb3IubmFtZTtcbiAgICB9XG4gICAgc2V0IG5hbWUobmFtZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICh0aGlzLl9uYXRpdmVFcnJvcikge1xuICAgICAgICAgICAgdGhpcy5fbmF0aXZlRXJyb3IubmFtZSA9IG5hbWU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZ2V0IHN0YWNrKCk6IGFueSB7XG4gICAgICAgIHJldHVybiAodGhpcy5fbmF0aXZlRXJyb3IgYXMgYW55KS5zdGFjaztcbiAgICB9XG4gICAgc2V0IHN0YWNrKHZhbHVlOiBhbnkpIHtcbiAgICAgICAgaWYgKHRoaXMuX25hdGl2ZUVycm9yKSB7XG4gICAgICAgICAgICAodGhpcy5fbmF0aXZlRXJyb3IgYXMgYW55KS5zdGFjayA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuICAgIHRvU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9uYXRpdmVFcnJvci50b1N0cmluZygpO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEludmFsaWRDb25maWdFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9uYXRpdmVFcnJvcjogRXJyb3I7XG5cbiAgICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcpIHtcbiAgICAgICAgc3VwZXIobWVzc2FnZSk7XG5cbiAgICAgICAgLy8gUmVxdWlyZWQgZm9yIFRTIDIuMSwgc2VlXG4gICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9NaWNyb3NvZnQvVHlwZVNjcmlwdC93aWtpL0JyZWFraW5nLUNoYW5nZXMjZXh0ZW5kaW5nLWJ1aWx0LWlucy1saWtlLWVycm9yLWFycmF5LWFuZC1tYXAtbWF5LW5vLWxvbmdlci13b3JrXG4gICAgICAgIChPYmplY3QgYXMgYW55KS5zZXRQcm90b3R5cGVPZih0aGlzLCBJbnZhbGlkQ29uZmlnRXJyb3IucHJvdG90eXBlKTtcblxuICAgICAgICBjb25zdCBuYXRpdmVFcnJvciA9IG5ldyBFcnJvcihtZXNzYWdlKSBhcyBhbnkgYXMgRXJyb3I7XG4gICAgICAgIG5hdGl2ZUVycm9yLm5hbWUgPSAnSW52YWxpZENvbmZpZ0Vycm9yJztcbiAgICAgICAgdGhpcy5fbmF0aXZlRXJyb3IgPSBuYXRpdmVFcnJvcjtcbiAgICB9XG5cbiAgICBnZXQgbWVzc2FnZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fbmF0aXZlRXJyb3IubWVzc2FnZTtcbiAgICB9XG4gICAgc2V0IG1lc3NhZ2UobWVzc2FnZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICh0aGlzLl9uYXRpdmVFcnJvcikge1xuICAgICAgICAgICAgdGhpcy5fbmF0aXZlRXJyb3IubWVzc2FnZSA9IG1lc3NhZ2U7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZ2V0IG5hbWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX25hdGl2ZUVycm9yLm5hbWU7XG4gICAgfVxuICAgIHNldCBuYW1lKG5hbWU6IHN0cmluZykge1xuICAgICAgICBpZiAodGhpcy5fbmF0aXZlRXJyb3IpIHtcbiAgICAgICAgICAgIHRoaXMuX25hdGl2ZUVycm9yLm5hbWUgPSBuYW1lO1xuICAgICAgICB9XG4gICAgfVxuICAgIGdldCBzdGFjaygpOiBhbnkge1xuICAgICAgICByZXR1cm4gKHRoaXMuX25hdGl2ZUVycm9yIGFzIGFueSkuc3RhY2s7XG4gICAgfVxuICAgIHNldCBzdGFjayh2YWx1ZTogYW55KSB7XG4gICAgICAgIGlmICh0aGlzLl9uYXRpdmVFcnJvcikge1xuICAgICAgICAgICAgKHRoaXMuX25hdGl2ZUVycm9yIGFzIGFueSkuc3RhY2sgPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fbmF0aXZlRXJyb3IudG9TdHJpbmcoKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBJbnZhbGlkT3B0aW9uRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gICAgcHJpdmF0ZSBfbmF0aXZlRXJyb3I6IEVycm9yO1xuXG4gICAgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nKSB7XG4gICAgICAgIHN1cGVyKG1lc3NhZ2UpO1xuICAgICAgICAvLyBSZXF1aXJlZCBmb3IgVFMgMi4xLCBzZWVcbiAgICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL01pY3Jvc29mdC9UeXBlU2NyaXB0L3dpa2kvQnJlYWtpbmctQ2hhbmdlcyNleHRlbmRpbmctYnVpbHQtaW5zLWxpa2UtZXJyb3ItYXJyYXktYW5kLW1hcC1tYXktbm8tbG9uZ2VyLXdvcmtcbiAgICAgICAgKE9iamVjdCBhcyBhbnkpLnNldFByb3RvdHlwZU9mKHRoaXMsIEludmFsaWRPcHRpb25FcnJvci5wcm90b3R5cGUpO1xuXG4gICAgICAgIGNvbnN0IG5hdGl2ZUVycm9yID0gbmV3IEVycm9yKG1lc3NhZ2UpIGFzIGFueSBhcyBFcnJvcjtcbiAgICAgICAgbmF0aXZlRXJyb3IubmFtZSA9ICdJbnZhbGlkT3B0aW9uRXJyb3InO1xuICAgICAgICB0aGlzLl9uYXRpdmVFcnJvciA9IG5hdGl2ZUVycm9yO1xuICAgIH1cblxuICAgIGdldCBtZXNzYWdlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9uYXRpdmVFcnJvci5tZXNzYWdlO1xuICAgIH1cbiAgICBzZXQgbWVzc2FnZShtZXNzYWdlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHRoaXMuX25hdGl2ZUVycm9yKSB7XG4gICAgICAgICAgICB0aGlzLl9uYXRpdmVFcnJvci5tZXNzYWdlID0gbWVzc2FnZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBnZXQgbmFtZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fbmF0aXZlRXJyb3IubmFtZTtcbiAgICB9XG4gICAgc2V0IG5hbWUobmFtZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICh0aGlzLl9uYXRpdmVFcnJvcikge1xuICAgICAgICAgICAgdGhpcy5fbmF0aXZlRXJyb3IubmFtZSA9IG5hbWU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZ2V0IHN0YWNrKCk6IGFueSB7XG4gICAgICAgIHJldHVybiAodGhpcy5fbmF0aXZlRXJyb3IgYXMgYW55KS5zdGFjaztcbiAgICB9XG4gICAgc2V0IHN0YWNrKHZhbHVlOiBhbnkpIHtcbiAgICAgICAgaWYgKHRoaXMuX25hdGl2ZUVycm9yKSB7XG4gICAgICAgICAgICAodGhpcy5fbmF0aXZlRXJyb3IgYXMgYW55KS5zdGFjayA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuICAgIHRvU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9uYXRpdmVFcnJvci50b1N0cmluZygpO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFR5cGVzY3JpcHRDb21waWxlRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gICAgcHJpdmF0ZSBfbmF0aXZlRXJyb3I6IEVycm9yO1xuXG4gICAgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nKSB7XG4gICAgICAgIHN1cGVyKG1lc3NhZ2UpO1xuICAgICAgICAvLyBSZXF1aXJlZCBmb3IgVFMgMi4xLCBzZWVcbiAgICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL01pY3Jvc29mdC9UeXBlU2NyaXB0L3dpa2kvQnJlYWtpbmctQ2hhbmdlcyNleHRlbmRpbmctYnVpbHQtaW5zLWxpa2UtZXJyb3ItYXJyYXktYW5kLW1hcC1tYXktbm8tbG9uZ2VyLXdvcmtcbiAgICAgICAgKE9iamVjdCBhcyBhbnkpLnNldFByb3RvdHlwZU9mKHRoaXMsIFR5cGVzY3JpcHRDb21waWxlRXJyb3IucHJvdG90eXBlKTtcblxuICAgICAgICBjb25zdCBuYXRpdmVFcnJvciA9IG5ldyBFcnJvcigobWVzc2FnZSBhcyBhbnkpLm1lc3NhZ2UgfHwgbWVzc2FnZSkgYXMgYW55IGFzIEVycm9yO1xuICAgICAgICBuYXRpdmVFcnJvci5uYW1lID0gJ1R5cGVzY3JpcHRDb21waWxlRXJyb3InO1xuICAgICAgICB0aGlzLl9uYXRpdmVFcnJvciA9IG5hdGl2ZUVycm9yO1xuXG4gICAgICAgIGlmICgobWVzc2FnZSBhcyBhbnkpLm1lc3NhZ2UgJiYgKG1lc3NhZ2UgYXMgYW55KS5zdGFjaykge1xuICAgICAgICAgICAgdGhpcy5zdGFjayA9IChtZXNzYWdlIGFzIGFueSkuc3RhY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXQgbWVzc2FnZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fbmF0aXZlRXJyb3IubWVzc2FnZTtcbiAgICB9XG4gICAgc2V0IG1lc3NhZ2UobWVzc2FnZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICh0aGlzLl9uYXRpdmVFcnJvcikge1xuICAgICAgICAgICAgdGhpcy5fbmF0aXZlRXJyb3IubWVzc2FnZSA9IG1lc3NhZ2U7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZ2V0IG5hbWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX25hdGl2ZUVycm9yLm5hbWU7XG4gICAgfVxuICAgIHNldCBuYW1lKG5hbWU6IHN0cmluZykge1xuICAgICAgICBpZiAodGhpcy5fbmF0aXZlRXJyb3IpIHtcbiAgICAgICAgICAgIHRoaXMuX25hdGl2ZUVycm9yLm5hbWUgPSBuYW1lO1xuICAgICAgICB9XG4gICAgfVxuICAgIGdldCBzdGFjaygpOiBhbnkge1xuICAgICAgICByZXR1cm4gKHRoaXMuX25hdGl2ZUVycm9yIGFzIGFueSkuc3RhY2s7XG4gICAgfVxuICAgIHNldCBzdGFjayh2YWx1ZTogYW55KSB7XG4gICAgICAgIGlmICh0aGlzLl9uYXRpdmVFcnJvcikge1xuICAgICAgICAgICAgKHRoaXMuX25hdGl2ZUVycm9yIGFzIGFueSkuc3RhY2sgPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fbmF0aXZlRXJyb3IudG9TdHJpbmcoKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBVZ2xpZnlFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgICBwcml2YXRlIF9uYXRpdmVFcnJvcjogRXJyb3I7XG5cbiAgICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcpIHtcbiAgICAgICAgc3VwZXIobWVzc2FnZSk7XG4gICAgICAgIC8vIFJlcXVpcmVkIGZvciBUUyAyLjEsIHNlZVxuICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vTWljcm9zb2Z0L1R5cGVTY3JpcHQvd2lraS9CcmVha2luZy1DaGFuZ2VzI2V4dGVuZGluZy1idWlsdC1pbnMtbGlrZS1lcnJvci1hcnJheS1hbmQtbWFwLW1heS1uby1sb25nZXItd29ya1xuICAgICAgICAoT2JqZWN0IGFzIGFueSkuc2V0UHJvdG90eXBlT2YodGhpcywgVWdsaWZ5RXJyb3IucHJvdG90eXBlKTtcblxuICAgICAgICBjb25zdCBuYXRpdmVFcnJvciA9IG5ldyBFcnJvcihtZXNzYWdlKSBhcyBhbnkgYXMgRXJyb3I7XG4gICAgICAgIG5hdGl2ZUVycm9yLm5hbWUgPSAnVWdsaWZ5RXJyb3InO1xuICAgICAgICB0aGlzLl9uYXRpdmVFcnJvciA9IG5hdGl2ZUVycm9yO1xuICAgIH1cblxuICAgIGdldCBtZXNzYWdlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9uYXRpdmVFcnJvci5tZXNzYWdlO1xuICAgIH1cbiAgICBzZXQgbWVzc2FnZShtZXNzYWdlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHRoaXMuX25hdGl2ZUVycm9yKSB7XG4gICAgICAgICAgICB0aGlzLl9uYXRpdmVFcnJvci5tZXNzYWdlID0gbWVzc2FnZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBnZXQgbmFtZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fbmF0aXZlRXJyb3IubmFtZTtcbiAgICB9XG4gICAgc2V0IG5hbWUobmFtZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICh0aGlzLl9uYXRpdmVFcnJvcikge1xuICAgICAgICAgICAgdGhpcy5fbmF0aXZlRXJyb3IubmFtZSA9IG5hbWU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZ2V0IHN0YWNrKCk6IGFueSB7XG4gICAgICAgIHJldHVybiAodGhpcy5fbmF0aXZlRXJyb3IgYXMgYW55KS5zdGFjaztcbiAgICB9XG4gICAgc2V0IHN0YWNrKHZhbHVlOiBhbnkpIHtcbiAgICAgICAgaWYgKHRoaXMuX25hdGl2ZUVycm9yKSB7XG4gICAgICAgICAgICAodGhpcy5fbmF0aXZlRXJyb3IgYXMgYW55KS5zdGFjayA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuICAgIHRvU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9uYXRpdmVFcnJvci50b1N0cmluZygpO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFVuU3VwcG9ydGVkU3R5bGVFeHRFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgICBwcml2YXRlIF9uYXRpdmVFcnJvcjogRXJyb3I7XG5cbiAgICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcpIHtcbiAgICAgICAgc3VwZXIobWVzc2FnZSk7XG4gICAgICAgIC8vIFJlcXVpcmVkIGZvciBUUyAyLjEsIHNlZVxuICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vTWljcm9zb2Z0L1R5cGVTY3JpcHQvd2lraS9CcmVha2luZy1DaGFuZ2VzI2V4dGVuZGluZy1idWlsdC1pbnMtbGlrZS1lcnJvci1hcnJheS1hbmQtbWFwLW1heS1uby1sb25nZXItd29ya1xuICAgICAgICAoT2JqZWN0IGFzIGFueSkuc2V0UHJvdG90eXBlT2YodGhpcywgVW5TdXBwb3J0ZWRTdHlsZUV4dEVycm9yLnByb3RvdHlwZSk7XG5cbiAgICAgICAgY29uc3QgbmF0aXZlRXJyb3IgPSBuZXcgRXJyb3IobWVzc2FnZSkgYXMgYW55IGFzIEVycm9yO1xuICAgICAgICBuYXRpdmVFcnJvci5uYW1lID0gJ1VuU3VwcG9ydGVkU3R5bGVFeHRFcnJvcic7XG4gICAgICAgIHRoaXMuX25hdGl2ZUVycm9yID0gbmF0aXZlRXJyb3I7XG4gICAgfVxuXG4gICAgZ2V0IG1lc3NhZ2UoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX25hdGl2ZUVycm9yLm1lc3NhZ2U7XG4gICAgfVxuICAgIHNldCBtZXNzYWdlKG1lc3NhZ2U6IHN0cmluZykge1xuICAgICAgICBpZiAodGhpcy5fbmF0aXZlRXJyb3IpIHtcbiAgICAgICAgICAgIHRoaXMuX25hdGl2ZUVycm9yLm1lc3NhZ2UgPSBtZXNzYWdlO1xuICAgICAgICB9XG4gICAgfVxuICAgIGdldCBuYW1lKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9uYXRpdmVFcnJvci5uYW1lO1xuICAgIH1cbiAgICBzZXQgbmFtZShuYW1lOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHRoaXMuX25hdGl2ZUVycm9yKSB7XG4gICAgICAgICAgICB0aGlzLl9uYXRpdmVFcnJvci5uYW1lID0gbmFtZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBnZXQgc3RhY2soKTogYW55IHtcbiAgICAgICAgcmV0dXJuICh0aGlzLl9uYXRpdmVFcnJvciBhcyBhbnkpLnN0YWNrO1xuICAgIH1cbiAgICBzZXQgc3RhY2sodmFsdWU6IGFueSkge1xuICAgICAgICBpZiAodGhpcy5fbmF0aXZlRXJyb3IpIHtcbiAgICAgICAgICAgICh0aGlzLl9uYXRpdmVFcnJvciBhcyBhbnkpLnN0YWNrID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgdG9TdHJpbmcoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX25hdGl2ZUVycm9yLnRvU3RyaW5nKCk7XG4gICAgfVxufVxuIl19
\No newline at end of file