tnp-helpers 16.5.28 → 16.5.30
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/assets/shared/shared_folder_info.txt +1 -1
- package/browser/esm2022/lib/helpers.mjs +140 -111
- package/browser/fesm2022/tnp-helpers.mjs +139 -110
- package/browser/fesm2022/tnp-helpers.mjs.map +1 -1
- package/browser/lib/helpers.d.ts +25 -2
- package/client/esm2022/lib/helpers.mjs +140 -111
- package/client/fesm2022/tnp-helpers.mjs +139 -110
- package/client/fesm2022/tnp-helpers.mjs.map +1 -1
- package/client/lib/helpers.d.ts +25 -2
- package/client/package.json +32 -33
- package/lib/for-backend/helpers-file-folders.backend.d.ts +1 -1
- package/lib/for-backend/helpers-process.backend.js +2 -2
- package/lib/for-backend/helpers-process.backend.js.map +1 -1
- package/lib/for-browser/angular.helper.js +3 -3
- package/lib/helpers.d.ts +15 -3
- package/lib/helpers.js +86 -13
- package/lib/helpers.js.map +1 -1
- package/lib/old/base-component.js +3 -3
- package/lib/old/base-formly-component.js +3 -3
- package/lib/old/dual-component-ctrl.js +3 -3
- package/package.json +4 -4
- package/tmp-environment.json +36 -37
- package/websql/esm2022/lib/helpers.mjs +140 -111
- package/websql/fesm2022/tnp-helpers.mjs +139 -110
- package/websql/fesm2022/tnp-helpers.mjs.map +1 -1
- package/websql/lib/helpers.d.ts +25 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
THIS FILE IS GENERATED. THIS FILE IS GENERATED. THIS FILE IS GENERATED.
|
|
2
2
|
|
|
3
|
-
Assets from this folder are being shipped with this npm package (tnp-helpers@16.5.
|
|
3
|
+
Assets from this folder are being shipped with this npm package (tnp-helpers@16.5.30)
|
|
4
4
|
created from this project.
|
|
5
5
|
|
|
6
6
|
THIS FILE IS GENERATED.THIS FILE IS GENERATED. THIS FILE IS GENERATED.
|
|
@@ -58,84 +58,6 @@ export class HelpersFiredev extends CoreHelpers {
|
|
|
58
58
|
this.numbers = numbers;
|
|
59
59
|
this.browser = browser;
|
|
60
60
|
this.ng = ng;
|
|
61
|
-
/* */
|
|
62
|
-
/* */
|
|
63
|
-
/* */
|
|
64
|
-
/* */
|
|
65
|
-
/* */
|
|
66
|
-
/* */
|
|
67
|
-
/* */
|
|
68
|
-
/* */
|
|
69
|
-
/* */
|
|
70
|
-
/* */
|
|
71
|
-
/* */
|
|
72
|
-
/* */
|
|
73
|
-
/* */
|
|
74
|
-
/* */
|
|
75
|
-
/* */
|
|
76
|
-
/* */
|
|
77
|
-
/* */
|
|
78
|
-
/* */
|
|
79
|
-
/* */
|
|
80
|
-
/* */
|
|
81
|
-
/* */
|
|
82
|
-
/* */
|
|
83
|
-
/* */
|
|
84
|
-
/* */
|
|
85
|
-
/* */
|
|
86
|
-
/* */
|
|
87
|
-
/* */
|
|
88
|
-
/* */
|
|
89
|
-
/* */
|
|
90
|
-
/* */
|
|
91
|
-
/* */
|
|
92
|
-
/* */
|
|
93
|
-
/* */
|
|
94
|
-
/* */
|
|
95
|
-
/* */
|
|
96
|
-
/* */
|
|
97
|
-
/* */
|
|
98
|
-
/* */
|
|
99
|
-
/* */
|
|
100
|
-
/* */
|
|
101
|
-
/* */
|
|
102
|
-
/* */
|
|
103
|
-
/* */
|
|
104
|
-
/* */
|
|
105
|
-
/* */
|
|
106
|
-
/* */
|
|
107
|
-
/* */
|
|
108
|
-
/* */
|
|
109
|
-
/* */
|
|
110
|
-
/* */
|
|
111
|
-
/* */
|
|
112
|
-
/* */
|
|
113
|
-
/* */
|
|
114
|
-
/* */
|
|
115
|
-
/* */
|
|
116
|
-
/* */
|
|
117
|
-
/* */
|
|
118
|
-
/* */
|
|
119
|
-
/* */
|
|
120
|
-
/* */
|
|
121
|
-
/* */
|
|
122
|
-
/* */
|
|
123
|
-
/* */
|
|
124
|
-
/* */
|
|
125
|
-
/* */
|
|
126
|
-
/* */
|
|
127
|
-
/* */
|
|
128
|
-
/* */
|
|
129
|
-
/* */
|
|
130
|
-
/* */
|
|
131
|
-
/* */
|
|
132
|
-
/* */
|
|
133
|
-
/* */
|
|
134
|
-
/* */
|
|
135
|
-
/* */
|
|
136
|
-
/* */
|
|
137
|
-
/* */
|
|
138
|
-
/* */
|
|
139
61
|
this.applyMixins = applyMixins;
|
|
140
62
|
this.isValidIp = Validators.network.isValidIp;
|
|
141
63
|
this.isValidGitRepuUrl = Validators.git.isValidRepoUrl;
|
|
@@ -209,40 +131,66 @@ export class HelpersFiredev extends CoreHelpers {
|
|
|
209
131
|
}
|
|
210
132
|
return url;
|
|
211
133
|
}
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
134
|
+
slash(pathFromWindowsOrUnixType) {
|
|
135
|
+
/* */
|
|
136
|
+
/* */
|
|
137
|
+
return (void 0);
|
|
138
|
+
}
|
|
216
139
|
async isElevated() {
|
|
217
140
|
/* */
|
|
218
141
|
/* */
|
|
219
142
|
/* */
|
|
220
143
|
/* */
|
|
221
144
|
}
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
145
|
+
/**
|
|
146
|
+
* TODO fix this methods
|
|
147
|
+
*/
|
|
148
|
+
async localIpAddress() {
|
|
149
|
+
/* */
|
|
150
|
+
/* */
|
|
151
|
+
/* */
|
|
152
|
+
/* */
|
|
153
|
+
/* */
|
|
154
|
+
/* */
|
|
155
|
+
/* */
|
|
156
|
+
/* */
|
|
157
|
+
/* */
|
|
158
|
+
/* */
|
|
159
|
+
/* */
|
|
160
|
+
/* */
|
|
161
|
+
/* */
|
|
162
|
+
/* */
|
|
163
|
+
/* */
|
|
164
|
+
/* */
|
|
165
|
+
/* */
|
|
166
|
+
/* */
|
|
167
|
+
/* */
|
|
168
|
+
/* */
|
|
169
|
+
/* */
|
|
170
|
+
/* */
|
|
171
|
+
return (void 0);
|
|
172
|
+
}
|
|
173
|
+
allLocalIpAddresses() {
|
|
174
|
+
/* */
|
|
175
|
+
/* */
|
|
176
|
+
/* */
|
|
177
|
+
/* */
|
|
178
|
+
/* */
|
|
179
|
+
/* */
|
|
180
|
+
/* */
|
|
181
|
+
/* */
|
|
182
|
+
/* */
|
|
183
|
+
/* */
|
|
184
|
+
/* */
|
|
185
|
+
/* */
|
|
186
|
+
/* */
|
|
187
|
+
/* */
|
|
188
|
+
/* */
|
|
189
|
+
/* */
|
|
190
|
+
/* */
|
|
191
|
+
/* */
|
|
192
|
+
return (void 0);
|
|
193
|
+
}
|
|
246
194
|
async mesureExectionInMs(description, functionToExecute, ...functionArguments) {
|
|
247
195
|
var start = new Date();
|
|
248
196
|
await Helpers.runSyncOrAsync({
|
|
@@ -285,6 +233,9 @@ export class HelpersFiredev extends CoreHelpers {
|
|
|
285
233
|
}
|
|
286
234
|
});
|
|
287
235
|
}
|
|
236
|
+
/**
|
|
237
|
+
* @deprecated
|
|
238
|
+
*/
|
|
288
239
|
getBrowserVerPath(moduleName, websql = false) {
|
|
289
240
|
/* */
|
|
290
241
|
/* */
|
|
@@ -292,22 +243,25 @@ export class HelpersFiredev extends CoreHelpers {
|
|
|
292
243
|
/* */
|
|
293
244
|
/* */
|
|
294
245
|
}
|
|
295
|
-
getMethodName(
|
|
246
|
+
getMethodName(classObject, method) {
|
|
296
247
|
var methodName = null;
|
|
297
|
-
Object.getOwnPropertyNames(
|
|
298
|
-
if (
|
|
248
|
+
Object.getOwnPropertyNames(classObject).forEach(prop => {
|
|
249
|
+
if (classObject[prop] === method) {
|
|
299
250
|
methodName = prop;
|
|
300
251
|
}
|
|
301
252
|
});
|
|
302
253
|
if (methodName !== null) {
|
|
303
254
|
return methodName;
|
|
304
255
|
}
|
|
305
|
-
var proto = Object.getPrototypeOf(
|
|
256
|
+
var proto = Object.getPrototypeOf(classObject);
|
|
306
257
|
if (proto) {
|
|
307
258
|
return Helpers.getMethodName(proto, method);
|
|
308
259
|
}
|
|
309
260
|
return null;
|
|
310
261
|
}
|
|
262
|
+
/**
|
|
263
|
+
* @deprecated
|
|
264
|
+
*/
|
|
311
265
|
fixWebpackEnv(env) {
|
|
312
266
|
_.forIn(env, (v, k) => {
|
|
313
267
|
const value = v;
|
|
@@ -317,6 +271,81 @@ export class HelpersFiredev extends CoreHelpers {
|
|
|
317
271
|
env[k] = false;
|
|
318
272
|
});
|
|
319
273
|
}
|
|
274
|
+
/**
|
|
275
|
+
* @deprecated
|
|
276
|
+
*/
|
|
277
|
+
async workerCalculateArray(dataToSplit, operation, options) {
|
|
278
|
+
/* */
|
|
279
|
+
/* */
|
|
280
|
+
/* */
|
|
281
|
+
/* */
|
|
282
|
+
/* */
|
|
283
|
+
/* */
|
|
284
|
+
/* */
|
|
285
|
+
/* */
|
|
286
|
+
/* */
|
|
287
|
+
/* */
|
|
288
|
+
/* */
|
|
289
|
+
/* */
|
|
290
|
+
/* */
|
|
291
|
+
/* */
|
|
292
|
+
/* */
|
|
293
|
+
/* */
|
|
294
|
+
/* */
|
|
295
|
+
/* */
|
|
296
|
+
/* */
|
|
297
|
+
/* */
|
|
298
|
+
/* */
|
|
299
|
+
/* */
|
|
300
|
+
/* */
|
|
301
|
+
/* */
|
|
302
|
+
/* */
|
|
303
|
+
/* */
|
|
304
|
+
/* */
|
|
305
|
+
/* */
|
|
306
|
+
/* */
|
|
307
|
+
/* */
|
|
308
|
+
/* */
|
|
309
|
+
/* */
|
|
310
|
+
/* */
|
|
311
|
+
/* */
|
|
312
|
+
/* */
|
|
313
|
+
/* */
|
|
314
|
+
/* */
|
|
315
|
+
/* */
|
|
316
|
+
/* */
|
|
317
|
+
/* */
|
|
318
|
+
/* */
|
|
319
|
+
/* */
|
|
320
|
+
/* */
|
|
321
|
+
/* */
|
|
322
|
+
/* */
|
|
323
|
+
/* */
|
|
324
|
+
/* */
|
|
325
|
+
/* */
|
|
326
|
+
/* */
|
|
327
|
+
/* */
|
|
328
|
+
/* */
|
|
329
|
+
/* */
|
|
330
|
+
/* */
|
|
331
|
+
/* */
|
|
332
|
+
/* */
|
|
333
|
+
/* */
|
|
334
|
+
/* */
|
|
335
|
+
/* */
|
|
336
|
+
/* */
|
|
337
|
+
/* */
|
|
338
|
+
/* */
|
|
339
|
+
/* */
|
|
340
|
+
/* */
|
|
341
|
+
/* */
|
|
342
|
+
/* */
|
|
343
|
+
}
|
|
344
|
+
checkEnvironment(deps) {
|
|
345
|
+
/* */
|
|
346
|
+
/* */
|
|
347
|
+
return (void 0);
|
|
348
|
+
}
|
|
320
349
|
}
|
|
321
350
|
applyMixins(HelpersFiredev, [
|
|
322
351
|
HelpersStringsRegexes,
|
|
@@ -326,4 +355,4 @@ applyMixins(HelpersFiredev, [
|
|
|
326
355
|
]);
|
|
327
356
|
;
|
|
328
357
|
({}); // @--end-of-file-for-module=tnp-helpers lib/helpers.ts
|
|
329
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1kaXN0L3RucC1oZWxwZXJzL3Byb2plY3RzL3RucC1oZWxwZXJzL3NyYy9saWIvaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDckMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQXVCbkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDOUMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3pELE9BQU8sRUFBRSxXQUFXLEVBQWMsTUFBTSxrQkFBa0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUs5RDs7Ozs7Ozs7Ozs7OztHQWFHO0FBQ0gsTUFBTSxVQUFVLFdBQVcsQ0FBQyxXQUFnQixFQUFFLFNBQWdCO0lBQzVELFNBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUU7UUFDM0IsTUFBTSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDNUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsd0JBQXdCLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ2hILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBR0QsYUFBYTtBQUNiLE1BQU0sT0FBTyxjQUFlLFNBQVEsV0FBVztJQUd0QyxNQUFNLEtBQUssUUFBUTtRQUN4QixJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRTtZQUM3QixjQUFjLENBQUMsU0FBUyxHQUFHLElBQUksY0FBYyxFQUFFLENBQUM7U0FDakQ7UUFDRCxPQUFPLGNBQWMsQ0FBQyxTQUFTLENBQUM7SUFDbEMsQ0FBQztJQUVEO0lBQ0YsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUVNLFNBQVMsSUFBSSxlQUFlLEVBQUUsRUFDOUIsVUFBVSxJQUFJLGNBQWMsRUFBRSxFQUM5QixVQUFVLElBQUksYUFBYSxFQUFFLEVBRTdCLFVBQVUsY0FBYyxDQUFDLFFBQVEsRUFDakMsS0FBSyxjQUFjO1FBRzFCLEtBQUssRUFBRSxDQUFDO1FBUkQsV0FBTSxHQUFOLE1BQU0sQ0FBd0I7UUFDOUIsWUFBTyxHQUFQLE9BQU8sQ0FBdUI7UUFDOUIsWUFBTyxHQUFQLE9BQU8sQ0FBc0I7UUFFN0IsWUFBTyxHQUFQLE9BQU8sQ0FBMEI7UUFDakMsT0FBRSxHQUFGLEVBQUUsQ0FBaUI7UUEwTjlCLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFHTCxLQUFLO1FBQ0wsS0FBSztRQUVJLGdCQUFXLEdBQUcsV0FBVyxDQUFDO1FBRWpDLGNBQVMsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQztRQUN6QyxzQkFBaUIsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQztJQTFTbEQsQ0FBQztJQUVELE9BQU8sQ0FBQyxDQUFXLEVBQUUsSUFBWTtRQUMvQixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN2QixPQUFPLENBQUMsQ0FBQztJQUNYLENBQUM7SUFJRCxLQUFLLENBQUMsR0FBRyxDQUFDLFlBQW9CLEVBQUUsVUFBVTtRQUM1QyxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFFRCxTQUFTLENBQVUsS0FBWSxFQUFFLGNBQTBCO1FBQzdELEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQVNELFFBQVEsQ0FBQyxVQUFtQyxFQUFFLFdBQVcsR0FBRyxLQUFLO1FBQy9ELElBQUksR0FBUSxDQUFDO1FBQ2IsSUFBSSxVQUFVLFlBQVksR0FBRyxFQUFFO1lBQzdCLEdBQUcsR0FBRyxVQUFVLENBQUM7U0FDbEI7YUFBTSxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDakMsR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLG9CQUFvQixVQUFVLEVBQUUsQ0FBQyxDQUFDO1NBQ2pEO2FBQU0sSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUU7WUFDdkMsR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLG9CQUFvQixNQUFNLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ3pEO2FBQU0sSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ2pDLElBQUk7Z0JBQ0YsR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQzNCO1lBQUMsT0FBTyxLQUFLLEVBQUUsR0FBRztZQUNuQixJQUFJLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxFQUFFO2dCQUM1QyxJQUFJO29CQUNGLEdBQUcsR0FBRyxJQUFJLEdBQUcsQ0FBQyxVQUFVLFVBQVUsRUFBRSxDQUFDLENBQUM7aUJBQ3ZDO2dCQUFDLE9BQU8sS0FBSyxFQUFFO29CQUNkLE9BQU8sQ0FBQyxJQUFJLENBQUMsNkJBQTZCLFVBQVUsRUFBRSxDQUFDLENBQUE7aUJBQ3hEO2FBQ0Y7WUFDRCxJQUFJLFdBQVcsRUFBRTtnQkFDZixNQUFNLE1BQU0sR0FBSSxVQUFxQixDQUFBO2dCQUNyQyxHQUFHLEdBQUcsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxVQUFVLFVBQVUsRUFBRSxDQUFDLENBQUM7YUFDNUU7U0FDRjtRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUdILEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFHSCxLQUFLLENBQUMsVUFBVTtRQUNsQixLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO0lBRUgsQ0FBQztJQUVILEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFHTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUtILEtBQUssQ0FBQyxrQkFBa0IsQ0FDdEIsV0FBbUIsRUFDbkIsaUJBQTJCLEVBQzNCLEdBQUcsaUJBQXdCO1FBQzNCLElBQUksS0FBSyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUE7UUFDdEIsTUFBTSxPQUFPLENBQUMsY0FBYyxDQUFDO1lBQzNCLFVBQVUsRUFBRSxpQkFBaUI7WUFDN0IsYUFBYSxFQUFFLGlCQUFpQjtTQUNqQyxDQUFDLENBQUM7UUFDSCxZQUFZO1FBQ1osSUFBSSxHQUFHLEdBQUcsSUFBSSxJQUFJLEVBQUUsR0FBRyxLQUFLLENBQUE7UUFDNUIsSUFBSSxPQUFPLENBQUMsU0FBUyxFQUFFO1lBQ3JCLE9BQU8sQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsQ0FBQyxRQUFRLEVBQUUsV0FBVyxXQUFXLEdBQUcsQ0FBQyxDQUFDO1NBQzFFO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFFRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRCxzQkFBc0IsQ0FDcEIsV0FBbUIsRUFDbkIsaUJBQTZCO1FBQzdCLElBQUksS0FBSyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUE7UUFDdEIsaUJBQWlCLEVBQUUsQ0FBQztRQUNwQixZQUFZO1FBQ1osSUFBSSxHQUFHLEdBQUcsSUFBSSxJQUFJLEVBQUUsR0FBRyxLQUFLLENBQUE7UUFDNUIsSUFBSSxPQUFPLENBQUMsU0FBUyxFQUFFO1lBQ3JCLE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQW1CLEdBQUcsQ0FBQyxRQUFRLEVBQUUsV0FBVyxXQUFXLEdBQUcsQ0FBQyxDQUFDO1NBQ3pFO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFFRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFJRCxnQkFBZ0IsQ0FBQyxXQUE2QixFQUFFLGtCQUFrQixHQUFHLElBQUk7UUFDdkUsT0FBTyxJQUFJLE9BQU8sQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBRTNDLE1BQU0sTUFBTSxHQUFHLE1BQU0sT0FBTyxDQUFDLGNBQWMsQ0FBQyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO1lBQ3pFLElBQUksTUFBTSxFQUFFO2dCQUNWLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBO2FBQ2hCO2lCQUFNO2dCQUNMLFVBQVUsQ0FBQyxHQUFHLEVBQUU7b0JBQ2QsT0FBTyxDQUFDLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7d0JBQ2xFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO29CQUNsQixDQUFDLENBQUMsQ0FBQTtnQkFDSixDQUFDLEVBQUUsa0JBQWtCLENBQUMsQ0FBQzthQUN4QjtRQUNILENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELGlCQUFpQixDQUFDLFVBQW1CLEVBQUUsU0FBa0IsS0FBSztRQUNoRSxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztJQUVILENBQUM7SUFFRCxhQUFhLENBQUMsR0FBRyxFQUFFLE1BQU07UUFDdkIsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDN0MsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssTUFBTSxFQUFFO2dCQUN4QixVQUFVLEdBQUcsSUFBSSxDQUFDO2FBQ25CO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLFVBQVUsS0FBSyxJQUFJLEVBQUU7WUFDdkIsT0FBTyxVQUFVLENBQUM7U0FDbkI7UUFFRCxJQUFJLEtBQUssR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZDLElBQUksS0FBSyxFQUFFO1lBQ1QsT0FBTyxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztTQUM3QztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELGFBQWEsQ0FBQyxHQUFXO1FBQ3ZCLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3BCLE1BQU0sS0FBSyxHQUFXLENBQVEsQ0FBQztZQUMvQixJQUFJLEtBQUssS0FBSyxNQUFNO2dCQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUM7WUFDcEMsSUFBSSxLQUFLLEtBQUssT0FBTztnQkFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDO1FBQ3hDLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztDQXVGRjtBQVlELFdBQVcsQ0FBQyxjQUFjLEVBQUU7SUFDMUIscUJBQXFCO0lBQ3ZCLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztDQUVKLENBQUMsQ0FBQztBQUVGLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsdURBQXVEIiwic291cmNlc0NvbnRlbnQiOlsiXG5cblxuaW1wb3J0IHsgXyB9IGZyb20gJ3RucC1jb3JlL2Jyb3dzZXInO1xuaW1wb3J0IHsgSGVscGVyc0FycmF5T2JqIH0gZnJvbSAnLi9oZWxwZXJzLWFycmF5LW9iaic7XG5pbXBvcnQgeyBIZWxwZXJzU3RyaW5nc1JlZ2V4ZXMgfSBmcm9tICcuL2hlbHBlcnMtc3RyaW5ncy1yZWdleGVzJztcbmltcG9ydCB7IEhlbHBlcnNTdHJpbmdzIH0gZnJvbSAnLi9oZWxwZXJzLXN0cmluZ3MnO1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuaW1wb3J0IHsgY29uZmlnIH0gZnJvbSAndG5wLWNvbmZpZy9icm93c2VyJztcbmltcG9ydCB7IEhlbHBlcnMsIFZhbGlkYXRvcnMgfSBmcm9tICcuL2luZGV4JztcbmltcG9ydCB7IENMQVNTIH0gZnJvbSAndHlwZXNjcmlwdC1jbGFzcy1oZWxwZXJzL2Jyb3dzZXInO1xuaW1wb3J0IHsgQ29yZUhlbHBlcnMsIENvcmVNb2RlbHMgfSBmcm9tICd0bnAtY29yZS9icm93c2VyJztcbmltcG9ydCB7IEhlbHBlcnNOdW1iZXIgfSBmcm9tICcuL2hlbHBlcnMtbnVtYmVycyc7XG5cbmltcG9ydCB7IEhlbHBlcnNCcm93c2VyIH0gZnJvbSAnLi9mb3ItYnJvd3Nlci9oZWxwZXJzLWJyb3dzZXInO1xuaW1wb3J0IHsgSGVscGVyc0FuZ3VsYXIgfSBmcm9tICcuL2Zvci1icm93c2VyL2FuZ3VsYXIuaGVscGVyJztcblxuXG5cblxuLyoqXG4gKiBNaXhpbmcgZm9yIG11bHRpY2xhc3MgaW5oZXJpdGFuY2VcbiAqXG4gKiBIb3cgdG8gdXNlIEl0OlxuICpcbiAqIGNsYXNzIFdvbHZlcmluZSB7fVxuICogY2xhc3MgSmVhbiB7fVxuICogZXhwb3J0IGNsYXNzIENoaWxkIHt9XG4gKiBleHBvcnQgaW50ZXJmYWNlIE15Q2hpbGQgaW1wbGVtZW50cyBXb2x2ZXJpbmUsIEplYW4ge31cbiAqIGFwcGx5TWl4aW5nKENoaWxkLFtXb2x2ZXJpbmUsIEplYW5dKTtcbiAqXG4gKiBAcGFyYW0gZGVyaXZlZEN0b3IgVGFyZ2V0IENsYXNzXG4gKiBAcGFyYW0gYmFzZUN0b3JzIEJhc2UgQ2xhc3Nlc1xuICovXG5leHBvcnQgZnVuY3Rpb24gYXBwbHlNaXhpbnMoZGVyaXZlZEN0b3I6IGFueSwgYmFzZUN0b3JzOiBhbnlbXSkge1xuICBiYXNlQ3RvcnMuZm9yRWFjaChiYXNlQ3RvciA9PiB7XG4gICAgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoYmFzZUN0b3IucHJvdG90eXBlKS5mb3JFYWNoKG5hbWUgPT4ge1xuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlcml2ZWRDdG9yLnByb3RvdHlwZSwgbmFtZSwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihiYXNlQ3Rvci5wcm90b3R5cGUsIG5hbWUpKTtcbiAgICB9KTtcbiAgfSk7XG59XG5cblxuLy8gQHRzLWlnbm9yZVxuZXhwb3J0IGNsYXNzIEhlbHBlcnNGaXJlZGV2IGV4dGVuZHMgQ29yZUhlbHBlcnMge1xuXG4gIHByaXZhdGUgc3RhdGljIF9pbnN0YW5jZTogSGVscGVyc0ZpcmVkZXYgJiBDb3JlSGVscGVycztcbiAgcHVibGljIHN0YXRpYyBnZXQgSW5zdGFuY2UoKSB7XG4gICAgaWYgKCFIZWxwZXJzRmlyZWRldi5faW5zdGFuY2UpIHtcbiAgICAgIEhlbHBlcnNGaXJlZGV2Ll9pbnN0YW5jZSA9IG5ldyBIZWxwZXJzRmlyZWRldigpO1xuICAgIH1cbiAgICByZXR1cm4gSGVscGVyc0ZpcmVkZXYuX2luc3RhbmNlO1xuICB9XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3Rvcihcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICAgIHB1YmxpYyBhcnJheXMgPSBuZXcgSGVscGVyc0FycmF5T2JqKCksXG4gICAgcHVibGljIHN0cmluZ3MgPSBuZXcgSGVscGVyc1N0cmluZ3MoKSxcbiAgICBwdWJsaWMgbnVtYmVycyA9IG5ldyBIZWxwZXJzTnVtYmVyKCksXG5cbiAgICBwdWJsaWMgYnJvd3NlciA9IEhlbHBlcnNCcm93c2VyLmluc3RhbmNlLFxuICAgIHB1YmxpYyBuZyA9IEhlbHBlcnNBbmd1bGFyXG5cbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIENMSVdSQVAoZjogRnVuY3Rpb24sIG5hbWU6IHN0cmluZykge1xuICAgIENMQVNTLnNldE5hbWUoZiwgbmFtZSk7XG4gICAgcmV0dXJuIGY7XG4gIH1cblxuXG5cbiAgYXN5bmMgbmNjKHBhdGhUb0pzRmlsZTogc3RyaW5nLCBvdXRwdXRGaWxlKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuICB1bmlxQXJyYXk8VCA9IGFueT4oYXJyYXk6IGFueVtdLCB1bmlxdWVQcm9wZXJ0eT86IChrZXlvZiBUKSk6IFRbXSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cblxuXG5cblxuXG4gIHVybFBhcnNlKHBvcnRPckhvc3Q6IChudW1iZXIgfCBzdHJpbmcgfCBVUkwpLCBmb3JjZURvbWFpbiA9IGZhbHNlKSB7XG4gICAgbGV0IHVybDogVVJMO1xuICAgIGlmIChwb3J0T3JIb3N0IGluc3RhbmNlb2YgVVJMKSB7XG4gICAgICB1cmwgPSBwb3J0T3JIb3N0O1xuICAgIH0gZWxzZSBpZiAoXy5pc051bWJlcihwb3J0T3JIb3N0KSkge1xuICAgICAgdXJsID0gbmV3IFVSTChgaHR0cDovL2xvY2FsaG9zdDoke3BvcnRPckhvc3R9YCk7XG4gICAgfSBlbHNlIGlmICghXy5pc05hTihOdW1iZXIocG9ydE9ySG9zdCkpKSB7XG4gICAgICB1cmwgPSBuZXcgVVJMKGBodHRwOi8vbG9jYWxob3N0OiR7TnVtYmVyKHBvcnRPckhvc3QpfWApO1xuICAgIH0gZWxzZSBpZiAoXy5pc1N0cmluZyhwb3J0T3JIb3N0KSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgdXJsID0gbmV3IFVSTChwb3J0T3JIb3N0KTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7IH1cbiAgICAgIGlmIChWYWxpZGF0b3JzLm5ldHdvcmsuaXNWYWxpZElwKHBvcnRPckhvc3QpKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgdXJsID0gbmV3IFVSTChgaHR0cDovLyR7cG9ydE9ySG9zdH1gKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICBIZWxwZXJzLndhcm4oYE5vdCBhYmxlIHRvIGdldCBwb3J0IGZyb20gJHtwb3J0T3JIb3N0fWApXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChmb3JjZURvbWFpbikge1xuICAgICAgICBjb25zdCBkb21haW4gPSAocG9ydE9ySG9zdCBhcyBzdHJpbmcpXG4gICAgICAgIHVybCA9IG5ldyBVUkwoZG9tYWluLnN0YXJ0c1dpdGgoJ2h0dHAnKSA/IGRvbWFpbiA6IGBodHRwOi8vJHtwb3J0T3JIb3N0fWApO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdXJsO1xuICB9XG5cblxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG5cbiAgYXN5bmMgaXNFbGV2YXRlZCgpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICB9XG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG5cblxuXG4gIGFzeW5jIG1lc3VyZUV4ZWN0aW9uSW5NcyhcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nLFxuICAgIGZ1bmN0aW9uVG9FeGVjdXRlOiBGdW5jdGlvbixcbiAgICAuLi5mdW5jdGlvbkFyZ3VtZW50czogYW55W10pOiBQcm9taXNlPG51bWJlcj4ge1xuICAgIHZhciBzdGFydCA9IG5ldyBEYXRlKClcbiAgICBhd2FpdCBIZWxwZXJzLnJ1blN5bmNPckFzeW5jKHtcbiAgICAgIGZ1bmN0aW9uRm46IGZ1bmN0aW9uVG9FeGVjdXRlLFxuICAgICAgYXJyYXlPZlBhcmFtczogZnVuY3Rpb25Bcmd1bWVudHNcbiAgICB9KTtcbiAgICAvL0B0cy1pZ25vcmVcbiAgICB2YXIgZW5kID0gbmV3IERhdGUoKSAtIHN0YXJ0XG4gICAgaWYgKEhlbHBlcnMuaXNCcm93c2VyKSB7XG4gICAgICBIZWxwZXJzLmluZm8oYEV4ZWN1dGlvbiB0aW1lOiAke2VuZC50b1N0cmluZygpfW1zIGZvciBcIiR7ZGVzY3JpcHRpb259XCJgKTtcbiAgICB9XG4vKiAqL1xuLyogKi9cbiAgXG4gICAgcmV0dXJuIGVuZDtcbiAgfVxuXG4gIG1lc3VyZUV4ZWN0aW9uSW5Nc1N5bmMoXG4gICAgZGVzY3JpcHRpb246IHN0cmluZyxcbiAgICBmdW5jdGlvblRvRXhlY3V0ZTogKCkgPT4gdm9pZCk6IG51bWJlciB7XG4gICAgdmFyIHN0YXJ0ID0gbmV3IERhdGUoKVxuICAgIGZ1bmN0aW9uVG9FeGVjdXRlKCk7XG4gICAgLy9AdHMtaWdub3JlXG4gICAgdmFyIGVuZCA9IG5ldyBEYXRlKCkgLSBzdGFydFxuICAgIGlmIChIZWxwZXJzLmlzQnJvd3Nlcikge1xuICAgICAgSGVscGVycy5sb2coYEV4ZWN1dGlvbiB0aW1lOiAke2VuZC50b1N0cmluZygpfW1zIGZvciBcIiR7ZGVzY3JpcHRpb259XCJgKTtcbiAgICB9XG4vKiAqL1xuLyogKi9cbiAgXG4gICAgcmV0dXJuIGVuZDtcbiAgfVxuXG5cblxuICB3YWl0Rm9yQ29uZGl0aW9uKGNvbmRpdGlvbkZuOiAoYW55KSA9PiBib29sZWFuLCBob3dPZmZ0ZW5DaGVja0luTXMgPSAxMDAwKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKGFzeW5jIChyZXNvbHZlLCByZWplY3QpID0+IHtcblxuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgSGVscGVycy5ydW5TeW5jT3JBc3luYyh7IGZ1bmN0aW9uRm46IGNvbmRpdGlvbkZuIH0pO1xuICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICByZXNvbHZlKHZvaWQgMClcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIEhlbHBlcnMud2FpdEZvckNvbmRpdGlvbihjb25kaXRpb25GbiwgaG93T2ZmdGVuQ2hlY2tJbk1zKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIHJlc29sdmUodm9pZCAwKTtcbiAgICAgICAgICB9KVxuICAgICAgICB9LCBob3dPZmZ0ZW5DaGVja0luTXMpO1xuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICBnZXRCcm93c2VyVmVyUGF0aChtb2R1bGVOYW1lPzogc3RyaW5nLCB3ZWJzcWw6IGJvb2xlYW4gPSBmYWxzZSkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICB9XG5cbiAgZ2V0TWV0aG9kTmFtZShvYmosIG1ldGhvZCk6IHN0cmluZyB7XG4gICAgdmFyIG1ldGhvZE5hbWUgPSBudWxsO1xuICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKG9iaikuZm9yRWFjaChwcm9wID0+IHtcbiAgICAgIGlmIChvYmpbcHJvcF0gPT09IG1ldGhvZCkge1xuICAgICAgICBtZXRob2ROYW1lID0gcHJvcDtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChtZXRob2ROYW1lICE9PSBudWxsKSB7XG4gICAgICByZXR1cm4gbWV0aG9kTmFtZTtcbiAgICB9XG5cbiAgICB2YXIgcHJvdG8gPSBPYmplY3QuZ2V0UHJvdG90eXBlT2Yob2JqKTtcbiAgICBpZiAocHJvdG8pIHtcbiAgICAgIHJldHVybiBIZWxwZXJzLmdldE1ldGhvZE5hbWUocHJvdG8sIG1ldGhvZCk7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgZml4V2VicGFja0VudihlbnY6IE9iamVjdCkge1xuICAgIF8uZm9ySW4oZW52LCAodiwgaykgPT4ge1xuICAgICAgY29uc3QgdmFsdWU6IHN0cmluZyA9IHYgYXMgYW55O1xuICAgICAgaWYgKHZhbHVlID09PSAndHJ1ZScpIGVudltrXSA9IHRydWU7XG4gICAgICBpZiAodmFsdWUgPT09ICdmYWxzZScpIGVudltrXSA9IGZhbHNlO1xuICAgIH0pXG4gIH1cblxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG5cbi8qICovXG4vKiAqL1xuICBcbiAgcHVibGljIGFwcGx5TWl4aW5zID0gYXBwbHlNaXhpbnM7XG5cbiAgaXNWYWxpZElwID0gVmFsaWRhdG9ycy5uZXR3b3JrLmlzVmFsaWRJcDtcbiAgaXNWYWxpZEdpdFJlcHVVcmwgPSBWYWxpZGF0b3JzLmdpdC5pc1ZhbGlkUmVwb1VybDtcbn1cblxuLy8gQHRzLWlnbm9yZVxuZXhwb3J0IGludGVyZmFjZSBIZWxwZXJzRmlyZWRldiBleHRlbmRzXG4gIEhlbHBlcnNTdHJpbmdzUmVnZXhlc1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG57IH1cblxuYXBwbHlNaXhpbnMoSGVscGVyc0ZpcmVkZXYsIFtcbiAgSGVscGVyc1N0cmluZ3NSZWdleGVzLFxuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbl0pO1xuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWhlbHBlcnMgbGliL2hlbHBlcnMudHMiXX0=
|
|
358
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1kaXN0L3RucC1oZWxwZXJzL3Byb2plY3RzL3RucC1oZWxwZXJzL3NyYy9saWIvaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDckMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQXVCbkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDOUMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3pELE9BQU8sRUFBRSxXQUFXLEVBQWMsTUFBTSxrQkFBa0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUs5RDs7Ozs7Ozs7Ozs7OztHQWFHO0FBQ0gsTUFBTSxVQUFVLFdBQVcsQ0FBQyxXQUFnQixFQUFFLFNBQWdCO0lBQzVELFNBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUU7UUFDM0IsTUFBTSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDNUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsd0JBQXdCLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMs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O1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztJQUVILENBQUM7SUFJRCxnQkFBZ0IsQ0FBQyxJQUFvQztRQUN2RCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7Q0FjRjtBQWFELFdBQVcsQ0FBQyxjQUFjLEVBQUU7SUFDMUIscUJBQXFCO0lBQ3ZCLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztDQUVKLENBQUMsQ0FBQztBQUdGLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsdURBQXVEIiwic291cmNlc0NvbnRlbnQiOlsiXG5cblxuaW1wb3J0IHsgXyB9IGZyb20gJ3RucC1jb3JlL2Jyb3dzZXInO1xuaW1wb3J0IHsgSGVscGVyc0FycmF5T2JqIH0gZnJvbSAnLi9oZWxwZXJzLWFycmF5LW9iaic7XG5pbXBvcnQgeyBIZWxwZXJzU3RyaW5nc1JlZ2V4ZXMgfSBmcm9tICcuL2hlbHBlcnMtc3RyaW5ncy1yZWdleGVzJztcbmltcG9ydCB7IEhlbHBlcnNTdHJpbmdzIH0gZnJvbSAnLi9oZWxwZXJzLXN0cmluZ3MnO1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuaW1wb3J0IHsgY29uZmlnIH0gZnJvbSAndG5wLWNvbmZpZy9icm93c2VyJztcbmltcG9ydCB7IEhlbHBlcnMsIFZhbGlkYXRvcnMgfSBmcm9tICcuL2luZGV4JztcbmltcG9ydCB7IENMQVNTIH0gZnJvbSAndHlwZXNjcmlwdC1jbGFzcy1oZWxwZXJzL2Jyb3dzZXInO1xuaW1wb3J0IHsgQ29yZUhlbHBlcnMsIENvcmVNb2RlbHMgfSBmcm9tICd0bnAtY29yZS9icm93c2VyJztcbmltcG9ydCB7IEhlbHBlcnNOdW1iZXIgfSBmcm9tICcuL2hlbHBlcnMtbnVtYmVycyc7XG5cbmltcG9ydCB7IEhlbHBlcnNCcm93c2VyIH0gZnJvbSAnLi9mb3ItYnJvd3Nlci9oZWxwZXJzLWJyb3dzZXInO1xuaW1wb3J0IHsgSGVscGVyc0FuZ3VsYXIgfSBmcm9tICcuL2Zvci1icm93c2VyL2FuZ3VsYXIuaGVscGVyJztcblxuXG5cblxuLyoqXG4gKiBNaXhpbmcgZm9yIG11bHRpY2xhc3MgaW5oZXJpdGFuY2VcbiAqXG4gKiBIb3cgdG8gdXNlIEl0OlxuICpcbiAqIGNsYXNzIFdvbHZlcmluZSB7fVxuICogY2xhc3MgSmVhbiB7fVxuICogZXhwb3J0IGNsYXNzIENoaWxkIHt9XG4gKiBleHBvcnQgaW50ZXJmYWNlIE15Q2hpbGQgaW1wbGVtZW50cyBXb2x2ZXJpbmUsIEplYW4ge31cbiAqIGFwcGx5TWl4aW5nKENoaWxkLFtXb2x2ZXJpbmUsIEplYW5dKTtcbiAqXG4gKiBAcGFyYW0gZGVyaXZlZEN0b3IgVGFyZ2V0IENsYXNzXG4gKiBAcGFyYW0gYmFzZUN0b3JzIEJhc2UgQ2xhc3Nlc1xuICovXG5leHBvcnQgZnVuY3Rpb24gYXBwbHlNaXhpbnMoZGVyaXZlZEN0b3I6IGFueSwgYmFzZUN0b3JzOiBhbnlbXSkge1xuICBiYXNlQ3RvcnMuZm9yRWFjaChiYXNlQ3RvciA9PiB7XG4gICAgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoYmFzZUN0b3IucHJvdG90eXBlKS5mb3JFYWNoKG5hbWUgPT4ge1xuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlcml2ZWRDdG9yLnByb3RvdHlwZSwgbmFtZSwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihiYXNlQ3Rvci5wcm90b3R5cGUsIG5hbWUpKTtcbiAgICB9KTtcbiAgfSk7XG59XG5cblxuLy8gQHRzLWlnbm9yZVxuZXhwb3J0IGNsYXNzIEhlbHBlcnNGaXJlZGV2IGV4dGVuZHMgQ29yZUhlbHBlcnMge1xuXG5cbiAgcHJpdmF0ZSBzdGF0aWMgX2luc3RhbmNlOiBIZWxwZXJzRmlyZWRldiAmIENvcmVIZWxwZXJzO1xuICBwdWJsaWMgc3RhdGljIGdldCBJbnN0YW5jZSgpIHtcbiAgICBpZiAoIUhlbHBlcnNGaXJlZGV2Ll9pbnN0YW5jZSkge1xuICAgICAgSGVscGVyc0ZpcmVkZXYuX2luc3RhbmNlID0gbmV3IEhlbHBlcnNGaXJlZGV2KCk7XG4gICAgfVxuICAgIHJldHVybiBIZWxwZXJzRmlyZWRldi5faW5zdGFuY2U7XG4gIH1cblxuXG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3Rvcihcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICAgIHB1YmxpYyBhcnJheXMgPSBuZXcgSGVscGVyc0FycmF5T2JqKCksXG4gICAgcHVibGljIHN0cmluZ3MgPSBuZXcgSGVscGVyc1N0cmluZ3MoKSxcbiAgICBwdWJsaWMgbnVtYmVycyA9IG5ldyBIZWxwZXJzTnVtYmVyKCksXG5cbiAgICBwdWJsaWMgYnJvd3NlciA9IEhlbHBlcnNCcm93c2VyLmluc3RhbmNlLFxuICAgIHB1YmxpYyBuZyA9IEhlbHBlcnNBbmd1bGFyXG5cbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG5cblxuICBDTElXUkFQKGY6IEZ1bmN0aW9uLCBuYW1lOiBzdHJpbmcpIHtcbiAgICBDTEFTUy5zZXROYW1lKGYsIG5hbWUpO1xuICAgIHJldHVybiBmO1xuICB9XG5cblxuXG5cbiAgYXN5bmMgbmNjKHBhdGhUb0pzRmlsZTogc3RyaW5nLCBvdXRwdXRGaWxlKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuICB1bmlxQXJyYXk8VCA9IGFueT4oYXJyYXk6IGFueVtdLCB1bmlxdWVQcm9wZXJ0eT86IChrZXlvZiBUKSk6IFRbXSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cblxuXG5cblxuXG5cblxuICB1cmxQYXJzZShwb3J0T3JIb3N0OiAobnVtYmVyIHwgc3RyaW5nIHwgVVJMKSwgZm9yY2VEb21haW4gPSBmYWxzZSkge1xuICAgIGxldCB1cmw6IFVSTDtcbiAgICBpZiAocG9ydE9ySG9zdCBpbnN0YW5jZW9mIFVSTCkge1xuICAgICAgdXJsID0gcG9ydE9ySG9zdDtcbiAgICB9IGVsc2UgaWYgKF8uaXNOdW1iZXIocG9ydE9ySG9zdCkpIHtcbiAgICAgIHVybCA9IG5ldyBVUkwoYGh0dHA6Ly9sb2NhbGhvc3Q6JHtwb3J0T3JIb3N0fWApO1xuICAgIH0gZWxzZSBpZiAoIV8uaXNOYU4oTnVtYmVyKHBvcnRPckhvc3QpKSkge1xuICAgICAgdXJsID0gbmV3IFVSTChgaHR0cDovL2xvY2FsaG9zdDoke051bWJlcihwb3J0T3JIb3N0KX1gKTtcbiAgICB9IGVsc2UgaWYgKF8uaXNTdHJpbmcocG9ydE9ySG9zdCkpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHVybCA9IG5ldyBVUkwocG9ydE9ySG9zdCk7XG4gICAgICB9IGNhdGNoIChlcnJvcikgeyB9XG4gICAgICBpZiAoVmFsaWRhdG9ycy5uZXR3b3JrLmlzVmFsaWRJcChwb3J0T3JIb3N0KSkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIHVybCA9IG5ldyBVUkwoYGh0dHA6Ly8ke3BvcnRPckhvc3R9YCk7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgSGVscGVycy53YXJuKGBOb3QgYWJsZSB0byBnZXQgcG9ydCBmcm9tICR7cG9ydE9ySG9zdH1gKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoZm9yY2VEb21haW4pIHtcbiAgICAgICAgY29uc3QgZG9tYWluID0gKHBvcnRPckhvc3QgYXMgc3RyaW5nKVxuICAgICAgICB1cmwgPSBuZXcgVVJMKGRvbWFpbi5zdGFydHNXaXRoKCdodHRwJykgPyBkb21haW4gOiBgaHR0cDovLyR7cG9ydE9ySG9zdH1gKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHVybDtcbiAgfVxuXG5cblxuICBzbGFzaChwYXRoRnJvbVdpbmRvd3NPclVuaXhUeXBlOiBzdHJpbmcpIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBhc3luYyBpc0VsZXZhdGVkKCkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG4gIH1cblxuXG5cbiAgLyoqXG4gICAqIFRPRE8gZml4IHRoaXMgbWV0aG9kc1xuICAgKi9cbiAgYXN5bmMgbG9jYWxJcEFkZHJlc3MoKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuXG4gIGFsbExvY2FsSXBBZGRyZXNzZXMoKTogVVJMW10ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBhc3luYyBtZXN1cmVFeGVjdGlvbkluTXMoXG4gICAgZGVzY3JpcHRpb246IHN0cmluZyxcbiAgICBmdW5jdGlvblRvRXhlY3V0ZTogRnVuY3Rpb24sXG4gICAgLi4uZnVuY3Rpb25Bcmd1bWVudHM6IGFueVtdKTogUHJvbWlzZTxudW1iZXI+IHtcbiAgICB2YXIgc3RhcnQgPSBuZXcgRGF0ZSgpXG4gICAgYXdhaXQgSGVscGVycy5ydW5TeW5jT3JBc3luYyh7XG4gICAgICBmdW5jdGlvbkZuOiBmdW5jdGlvblRvRXhlY3V0ZSxcbiAgICAgIGFycmF5T2ZQYXJhbXM6IGZ1bmN0aW9uQXJndW1lbnRzXG4gICAgfSk7XG4gICAgLy9AdHMtaWdub3JlXG4gICAgdmFyIGVuZCA9IG5ldyBEYXRlKCkgLSBzdGFydFxuICAgIGlmIChIZWxwZXJzLmlzQnJvd3Nlcikge1xuICAgICAgSGVscGVycy5pbmZvKGBFeGVjdXRpb24gdGltZTogJHtlbmQudG9TdHJpbmcoKX1tcyBmb3IgXCIke2Rlc2NyaXB0aW9ufVwiYCk7XG4gICAgfVxuLyogKi9cbi8qICovXG4gIFxuICAgIHJldHVybiBlbmQ7XG4gIH1cblxuXG5cbiAgbWVzdXJlRXhlY3Rpb25Jbk1zU3luYyhcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nLFxuICAgIGZ1bmN0aW9uVG9FeGVjdXRlOiAoKSA9PiB2b2lkKTogbnVtYmVyIHtcbiAgICB2YXIgc3RhcnQgPSBuZXcgRGF0ZSgpXG4gICAgZnVuY3Rpb25Ub0V4ZWN1dGUoKTtcbiAgICAvL0B0cy1pZ25vcmVcbiAgICB2YXIgZW5kID0gbmV3IERhdGUoKSAtIHN0YXJ0XG4gICAgaWYgKEhlbHBlcnMuaXNCcm93c2VyKSB7XG4gICAgICBIZWxwZXJzLmxvZyhgRXhlY3V0aW9uIHRpbWU6ICR7ZW5kLnRvU3RyaW5nKCl9bXMgZm9yIFwiJHtkZXNjcmlwdGlvbn1cImApO1xuICAgIH1cbi8qICovXG4vKiAqL1xuICBcbiAgICByZXR1cm4gZW5kO1xuICB9XG5cblxuXG4gIHdhaXRGb3JDb25kaXRpb24oY29uZGl0aW9uRm46IChhbnkpID0+IGJvb2xlYW4sIGhvd09mZnRlbkNoZWNrSW5NcyA9IDEwMDApIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoYXN5bmMgKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBIZWxwZXJzLnJ1blN5bmNPckFzeW5jKHsgZnVuY3Rpb25GbjogY29uZGl0aW9uRm4gfSk7XG4gICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgIHJlc29sdmUodm9pZCAwKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgSGVscGVycy53YWl0Rm9yQ29uZGl0aW9uKGNvbmRpdGlvbkZuLCBob3dPZmZ0ZW5DaGVja0luTXMpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgcmVzb2x2ZSh2b2lkIDApO1xuICAgICAgICAgIH0pXG4gICAgICAgIH0sIGhvd09mZnRlbkNoZWNrSW5Ncyk7XG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG5cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWRcbiAgICovXG4gIGdldEJyb3dzZXJWZXJQYXRoKG1vZHVsZU5hbWU/OiBzdHJpbmcsIHdlYnNxbDogYm9vbGVhbiA9IGZhbHNlKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG4gIH1cblxuXG5cbiAgZ2V0TWV0aG9kTmFtZShjbGFzc09iamVjdCwgbWV0aG9kKTogc3RyaW5nIHtcbiAgICB2YXIgbWV0aG9kTmFtZSA9IG51bGw7XG4gICAgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoY2xhc3NPYmplY3QpLmZvckVhY2gocHJvcCA9PiB7XG4gICAgICBpZiAoY2xhc3NPYmplY3RbcHJvcF0gPT09IG1ldGhvZCkge1xuICAgICAgICBtZXRob2ROYW1lID0gcHJvcDtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChtZXRob2ROYW1lICE9PSBudWxsKSB7XG4gICAgICByZXR1cm4gbWV0aG9kTmFtZTtcbiAgICB9XG5cbiAgICB2YXIgcHJvdG8gPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YoY2xhc3NPYmplY3QpO1xuICAgIGlmIChwcm90bykge1xuICAgICAgcmV0dXJuIEhlbHBlcnMuZ2V0TWV0aG9kTmFtZShwcm90bywgbWV0aG9kKTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuXG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkXG4gICAqL1xuICBmaXhXZWJwYWNrRW52KGVudjogT2JqZWN0KSB7XG4gICAgXy5mb3JJbihlbnYsICh2LCBrKSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZTogc3RyaW5nID0gdiBhcyBhbnk7XG4gICAgICBpZiAodmFsdWUgPT09ICd0cnVlJykgZW52W2tdID0gdHJ1ZTtcbiAgICAgIGlmICh2YWx1ZSA9PT0gJ2ZhbHNlJykgZW52W2tdID0gZmFsc2U7XG4gICAgfSlcbiAgfVxuXG5cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWRcbiAgICovXG4gIGFzeW5jIHdvcmtlckNhbGN1bGF0ZUFycmF5KFxuICAgIGRhdGFUb1NwbGl0OiBhbnlbXSxcbiAgICBvcGVyYXRpb246IChkYXRhQ2h1bms6IGFueVtdLCB3b3JrZXJOdW1iZXI/OiBudW1iZXIgfCB1bmRlZmluZWQpID0+IFByb21pc2U8dm9pZD4sXG4gICAgb3B0aW9ucz86IHtcbiAgICAgIG1heGVzRm9yV29ya2VzPzogeyBbd29ya2VyTWF4ZXM6IG51bWJlcl06IG51bWJlcjsgfTtcbiAgICAgIHdvcmtlckxpbWl0PzogbnVtYmVyO1xuICAgICAgZ2xvYmFscz86IGFueTtcbiAgICB9XG4gICkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICB9XG5cblxuXG4gIGNoZWNrRW52aXJvbm1lbnQoZGVwcz86IENvcmVNb2RlbHMuR2xvYmFsRGVwZW5kZW5jaWVzKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgcHVibGljIGFwcGx5TWl4aW5zID0gYXBwbHlNaXhpbnM7XG5cblxuXG4gIGlzVmFsaWRJcCA9IFZhbGlkYXRvcnMubmV0d29yay5pc1ZhbGlkSXA7XG5cblxuXG4gIGlzVmFsaWRHaXRSZXB1VXJsID0gVmFsaWRhdG9ycy5naXQuaXNWYWxpZFJlcG9Vcmw7XG5cbn1cblxuXG4vLyBAdHMtaWdub3JlXG5leHBvcnQgaW50ZXJmYWNlIEhlbHBlcnNGaXJlZGV2IGV4dGVuZHNcbiAgSGVscGVyc1N0cmluZ3NSZWdleGVzXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbnsgfVxuXG5hcHBseU1peGlucyhIZWxwZXJzRmlyZWRldiwgW1xuICBIZWxwZXJzU3RyaW5nc1JlZ2V4ZXMsXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXSk7XG5cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRucC1oZWxwZXJzIGxpYi9oZWxwZXJzLnRzIl19
|
|
@@ -658,84 +658,6 @@ class HelpersFiredev extends CoreHelpers {
|
|
|
658
658
|
this.numbers = numbers;
|
|
659
659
|
this.browser = browser;
|
|
660
660
|
this.ng = ng;
|
|
661
|
-
/* */
|
|
662
|
-
/* */
|
|
663
|
-
/* */
|
|
664
|
-
/* */
|
|
665
|
-
/* */
|
|
666
|
-
/* */
|
|
667
|
-
/* */
|
|
668
|
-
/* */
|
|
669
|
-
/* */
|
|
670
|
-
/* */
|
|
671
|
-
/* */
|
|
672
|
-
/* */
|
|
673
|
-
/* */
|
|
674
|
-
/* */
|
|
675
|
-
/* */
|
|
676
|
-
/* */
|
|
677
|
-
/* */
|
|
678
|
-
/* */
|
|
679
|
-
/* */
|
|
680
|
-
/* */
|
|
681
|
-
/* */
|
|
682
|
-
/* */
|
|
683
|
-
/* */
|
|
684
|
-
/* */
|
|
685
|
-
/* */
|
|
686
|
-
/* */
|
|
687
|
-
/* */
|
|
688
|
-
/* */
|
|
689
|
-
/* */
|
|
690
|
-
/* */
|
|
691
|
-
/* */
|
|
692
|
-
/* */
|
|
693
|
-
/* */
|
|
694
|
-
/* */
|
|
695
|
-
/* */
|
|
696
|
-
/* */
|
|
697
|
-
/* */
|
|
698
|
-
/* */
|
|
699
|
-
/* */
|
|
700
|
-
/* */
|
|
701
|
-
/* */
|
|
702
|
-
/* */
|
|
703
|
-
/* */
|
|
704
|
-
/* */
|
|
705
|
-
/* */
|
|
706
|
-
/* */
|
|
707
|
-
/* */
|
|
708
|
-
/* */
|
|
709
|
-
/* */
|
|
710
|
-
/* */
|
|
711
|
-
/* */
|
|
712
|
-
/* */
|
|
713
|
-
/* */
|
|
714
|
-
/* */
|
|
715
|
-
/* */
|
|
716
|
-
/* */
|
|
717
|
-
/* */
|
|
718
|
-
/* */
|
|
719
|
-
/* */
|
|
720
|
-
/* */
|
|
721
|
-
/* */
|
|
722
|
-
/* */
|
|
723
|
-
/* */
|
|
724
|
-
/* */
|
|
725
|
-
/* */
|
|
726
|
-
/* */
|
|
727
|
-
/* */
|
|
728
|
-
/* */
|
|
729
|
-
/* */
|
|
730
|
-
/* */
|
|
731
|
-
/* */
|
|
732
|
-
/* */
|
|
733
|
-
/* */
|
|
734
|
-
/* */
|
|
735
|
-
/* */
|
|
736
|
-
/* */
|
|
737
|
-
/* */
|
|
738
|
-
/* */
|
|
739
661
|
this.applyMixins = applyMixins;
|
|
740
662
|
this.isValidIp = Validators.network.isValidIp;
|
|
741
663
|
this.isValidGitRepuUrl = Validators.git.isValidRepoUrl;
|
|
@@ -809,40 +731,66 @@ class HelpersFiredev extends CoreHelpers {
|
|
|
809
731
|
}
|
|
810
732
|
return url;
|
|
811
733
|
}
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
734
|
+
slash(pathFromWindowsOrUnixType) {
|
|
735
|
+
/* */
|
|
736
|
+
/* */
|
|
737
|
+
return (void 0);
|
|
738
|
+
}
|
|
816
739
|
async isElevated() {
|
|
817
740
|
/* */
|
|
818
741
|
/* */
|
|
819
742
|
/* */
|
|
820
743
|
/* */
|
|
821
744
|
}
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
745
|
+
/**
|
|
746
|
+
* TODO fix this methods
|
|
747
|
+
*/
|
|
748
|
+
async localIpAddress() {
|
|
749
|
+
/* */
|
|
750
|
+
/* */
|
|
751
|
+
/* */
|
|
752
|
+
/* */
|
|
753
|
+
/* */
|
|
754
|
+
/* */
|
|
755
|
+
/* */
|
|
756
|
+
/* */
|
|
757
|
+
/* */
|
|
758
|
+
/* */
|
|
759
|
+
/* */
|
|
760
|
+
/* */
|
|
761
|
+
/* */
|
|
762
|
+
/* */
|
|
763
|
+
/* */
|
|
764
|
+
/* */
|
|
765
|
+
/* */
|
|
766
|
+
/* */
|
|
767
|
+
/* */
|
|
768
|
+
/* */
|
|
769
|
+
/* */
|
|
770
|
+
/* */
|
|
771
|
+
return (void 0);
|
|
772
|
+
}
|
|
773
|
+
allLocalIpAddresses() {
|
|
774
|
+
/* */
|
|
775
|
+
/* */
|
|
776
|
+
/* */
|
|
777
|
+
/* */
|
|
778
|
+
/* */
|
|
779
|
+
/* */
|
|
780
|
+
/* */
|
|
781
|
+
/* */
|
|
782
|
+
/* */
|
|
783
|
+
/* */
|
|
784
|
+
/* */
|
|
785
|
+
/* */
|
|
786
|
+
/* */
|
|
787
|
+
/* */
|
|
788
|
+
/* */
|
|
789
|
+
/* */
|
|
790
|
+
/* */
|
|
791
|
+
/* */
|
|
792
|
+
return (void 0);
|
|
793
|
+
}
|
|
846
794
|
async mesureExectionInMs(description, functionToExecute, ...functionArguments) {
|
|
847
795
|
var start = new Date();
|
|
848
796
|
await Helpers.runSyncOrAsync({
|
|
@@ -885,6 +833,9 @@ class HelpersFiredev extends CoreHelpers {
|
|
|
885
833
|
}
|
|
886
834
|
});
|
|
887
835
|
}
|
|
836
|
+
/**
|
|
837
|
+
* @deprecated
|
|
838
|
+
*/
|
|
888
839
|
getBrowserVerPath(moduleName, websql = false) {
|
|
889
840
|
/* */
|
|
890
841
|
/* */
|
|
@@ -892,22 +843,25 @@ class HelpersFiredev extends CoreHelpers {
|
|
|
892
843
|
/* */
|
|
893
844
|
/* */
|
|
894
845
|
}
|
|
895
|
-
getMethodName(
|
|
846
|
+
getMethodName(classObject, method) {
|
|
896
847
|
var methodName = null;
|
|
897
|
-
Object.getOwnPropertyNames(
|
|
898
|
-
if (
|
|
848
|
+
Object.getOwnPropertyNames(classObject).forEach(prop => {
|
|
849
|
+
if (classObject[prop] === method) {
|
|
899
850
|
methodName = prop;
|
|
900
851
|
}
|
|
901
852
|
});
|
|
902
853
|
if (methodName !== null) {
|
|
903
854
|
return methodName;
|
|
904
855
|
}
|
|
905
|
-
var proto = Object.getPrototypeOf(
|
|
856
|
+
var proto = Object.getPrototypeOf(classObject);
|
|
906
857
|
if (proto) {
|
|
907
858
|
return Helpers.getMethodName(proto, method);
|
|
908
859
|
}
|
|
909
860
|
return null;
|
|
910
861
|
}
|
|
862
|
+
/**
|
|
863
|
+
* @deprecated
|
|
864
|
+
*/
|
|
911
865
|
fixWebpackEnv(env) {
|
|
912
866
|
_.forIn(env, (v, k) => {
|
|
913
867
|
const value = v;
|
|
@@ -917,6 +871,81 @@ class HelpersFiredev extends CoreHelpers {
|
|
|
917
871
|
env[k] = false;
|
|
918
872
|
});
|
|
919
873
|
}
|
|
874
|
+
/**
|
|
875
|
+
* @deprecated
|
|
876
|
+
*/
|
|
877
|
+
async workerCalculateArray(dataToSplit, operation, options) {
|
|
878
|
+
/* */
|
|
879
|
+
/* */
|
|
880
|
+
/* */
|
|
881
|
+
/* */
|
|
882
|
+
/* */
|
|
883
|
+
/* */
|
|
884
|
+
/* */
|
|
885
|
+
/* */
|
|
886
|
+
/* */
|
|
887
|
+
/* */
|
|
888
|
+
/* */
|
|
889
|
+
/* */
|
|
890
|
+
/* */
|
|
891
|
+
/* */
|
|
892
|
+
/* */
|
|
893
|
+
/* */
|
|
894
|
+
/* */
|
|
895
|
+
/* */
|
|
896
|
+
/* */
|
|
897
|
+
/* */
|
|
898
|
+
/* */
|
|
899
|
+
/* */
|
|
900
|
+
/* */
|
|
901
|
+
/* */
|
|
902
|
+
/* */
|
|
903
|
+
/* */
|
|
904
|
+
/* */
|
|
905
|
+
/* */
|
|
906
|
+
/* */
|
|
907
|
+
/* */
|
|
908
|
+
/* */
|
|
909
|
+
/* */
|
|
910
|
+
/* */
|
|
911
|
+
/* */
|
|
912
|
+
/* */
|
|
913
|
+
/* */
|
|
914
|
+
/* */
|
|
915
|
+
/* */
|
|
916
|
+
/* */
|
|
917
|
+
/* */
|
|
918
|
+
/* */
|
|
919
|
+
/* */
|
|
920
|
+
/* */
|
|
921
|
+
/* */
|
|
922
|
+
/* */
|
|
923
|
+
/* */
|
|
924
|
+
/* */
|
|
925
|
+
/* */
|
|
926
|
+
/* */
|
|
927
|
+
/* */
|
|
928
|
+
/* */
|
|
929
|
+
/* */
|
|
930
|
+
/* */
|
|
931
|
+
/* */
|
|
932
|
+
/* */
|
|
933
|
+
/* */
|
|
934
|
+
/* */
|
|
935
|
+
/* */
|
|
936
|
+
/* */
|
|
937
|
+
/* */
|
|
938
|
+
/* */
|
|
939
|
+
/* */
|
|
940
|
+
/* */
|
|
941
|
+
/* */
|
|
942
|
+
/* */
|
|
943
|
+
}
|
|
944
|
+
checkEnvironment(deps) {
|
|
945
|
+
/* */
|
|
946
|
+
/* */
|
|
947
|
+
return (void 0);
|
|
948
|
+
}
|
|
920
949
|
}
|
|
921
950
|
applyMixins(HelpersFiredev, [
|
|
922
951
|
HelpersStringsRegexes,
|