@magic-xpa/angular 4.801.0-dev481.292 → 4.801.0-dev481.299
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/esm2020/src/services/magic-color.service.mjs +12 -4
- package/esm2020/src/services/mg-date-adapter.mjs +3 -4
- package/esm2020/src/services/subform.magic.service.mjs +6 -7
- package/esm2020/src/ui/directives/NonMagicControlDirective.mjs +5 -6
- package/esm2020/src/ui/directives/magic/nocontrol.magic.directive.mjs +1 -2
- package/esm2020/src/ui/directives/magicViewContainerRef.directive.mjs +5 -6
- package/esm2020/src/ui/directives/mgformat.magic.directive.mjs +20 -22
- package/esm2020/src/ui/magic-confirmationBox.mjs +1 -2
- package/esm2020/src/ui/magic-modal/magic-overlay-container.mjs +12 -14
- package/esm2020/src/ui/router-container.magic.component.mjs +1 -2
- package/esm2020/src/ui/task-base.magic.component.mjs +2 -2
- package/esm2020/src/ui/utils.mjs +1 -9
- package/fesm2015/magic-xpa-angular.mjs +46 -57
- package/fesm2015/magic-xpa-angular.mjs.map +1 -1
- package/fesm2020/magic-xpa-angular.mjs +46 -57
- package/fesm2020/magic-xpa-angular.mjs.map +1 -1
- package/package.json +3 -3
- package/src/services/magic-color.service.d.ts +2 -1
- package/src/ui/directives/NonMagicControlDirective.d.ts +4 -5
- package/src/ui/directives/magicViewContainerRef.directive.d.ts +2 -3
- package/src/ui/directives/mgformat.magic.directive.d.ts +6 -6
- package/src/ui/magic-modal/magic-overlay-container.d.ts +2 -3
- package/src/ui/utils.d.ts +0 -1
|
@@ -8,6 +8,8 @@ export class MagicColorService {
|
|
|
8
8
|
constructor(http) {
|
|
9
9
|
this.http = http;
|
|
10
10
|
this.colorFilePath = 'assets/clr_rnt.eng';
|
|
11
|
+
}
|
|
12
|
+
getColorData() {
|
|
11
13
|
this.http.get(this.colorFilePath, { responseType: 'text' }).subscribe(resp => {
|
|
12
14
|
this.colorsData = resp.replace(/\n/g, '@').split('@');
|
|
13
15
|
});
|
|
@@ -27,24 +29,30 @@ export class MagicColorService {
|
|
|
27
29
|
return 'rgba(' + rgb.red + ',' + rgb.green + ',' + rgb.blue + ',' + rgb.alpha + ')';
|
|
28
30
|
}
|
|
29
31
|
getColor(colorIndex, colorType) {
|
|
30
|
-
if (this.colorsData
|
|
32
|
+
if (!this.colorsData)
|
|
33
|
+
this.getColorData();
|
|
34
|
+
if (this.colorsData && this.colorsData[colorIndex - 1]) {
|
|
31
35
|
let hex = '';
|
|
32
36
|
const grayHashCode = '00808080';
|
|
33
37
|
let color = this.colorsData[colorIndex].split(',');
|
|
34
38
|
if (+color[3] <= 1) {
|
|
35
39
|
switch (colorType) {
|
|
36
40
|
case MAGIC_FG_COLOR:
|
|
37
|
-
hex = (
|
|
41
|
+
hex = (color[1]);
|
|
38
42
|
break;
|
|
39
43
|
case MAGIC_BG_COLOR:
|
|
40
|
-
hex = (
|
|
44
|
+
hex = (color[2]);
|
|
41
45
|
break;
|
|
46
|
+
default:
|
|
47
|
+
console.log('Please enter valid color type : 1-FG, 2-BG ' + colorIndex);
|
|
48
|
+
return '';
|
|
42
49
|
}
|
|
43
50
|
}
|
|
44
51
|
else
|
|
45
52
|
hex = grayHashCode;
|
|
46
53
|
return this.hexToRgba('#' + hex);
|
|
47
54
|
}
|
|
55
|
+
console.log('Could not get color for number ' + colorIndex);
|
|
48
56
|
return '';
|
|
49
57
|
}
|
|
50
58
|
}
|
|
@@ -56,4 +64,4 @@ MagicColorService.ɵprov = i0.ɵɵdefineInjectable({ token: MagicColorService, f
|
|
|
56
64
|
providedIn: 'root'
|
|
57
65
|
}]
|
|
58
66
|
}], function () { return [{ type: i1.HttpClient }]; }, null); })();
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFnaWMtY29sb3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL3NlcnZpY2VzL21hZ2ljLWNvbG9yLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7OztBQUVsRCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQVcsQ0FBQyxDQUFDO0FBQ3hDLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBVyxDQUFDLENBQUM7QUFLeEMsTUFBTSxPQUFPLGlCQUFpQjtJQUs1QixZQUFvQixJQUFnQjtRQUFoQixTQUFJLEdBQUosSUFBSSxDQUFZO1FBSDdCLGtCQUFhLEdBQUcsb0JBQW9CLENBQUM7SUFJNUMsQ0FBQztJQUVPLFlBQVk7UUFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUMzRSxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN4RCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxTQUFTLENBQUMsR0FBUTtRQUN4QixJQUFJLGNBQWMsR0FBRywyQ0FBMkMsQ0FBQztRQUVqRSxHQUFHLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsVUFBUyxDQUFNLEVBQUUsQ0FBTSxFQUFFLENBQU0sRUFBRSxDQUFNLEVBQUUsQ0FBTTtZQUMvRSxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdkMsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLE1BQU0sR0FBRyx1REFBdUQsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFL0UsSUFBSSxHQUFHLEdBQUc7WUFDUixLQUFLLEVBQUUsUUFBUSxDQUFDLE1BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDL0IsT0FBTyxFQUFFLFFBQVEsQ0FBQyxNQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ2pDLE1BQU0sRUFBRSxRQUFRLENBQUMsTUFBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUNoQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLEdBQUcsUUFBUSxDQUFDLE1BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLEdBQUc7U0FDaEQsQ0FBQztRQUVGLE9BQU8sT0FBTyxHQUFHLEdBQUcsQ0FBQyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsQ0FBQyxLQUFLLEdBQUcsR0FBRyxHQUFHLEdBQUcsQ0FBQyxJQUFJLEdBQUcsR0FBRyxHQUFHLEdBQUcsQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDO0lBQ3RGLENBQUM7SUFRTSxRQUFRLENBQUMsVUFBa0IsRUFBRSxTQUFpQjtRQUVuRCxJQUFHLENBQUMsSUFBSSxDQUFDLFVBQVU7WUFDakIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3RCLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsR0FBRSxDQUFDLENBQUMsRUFBRTtZQUNyRCxJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUM7WUFDYixNQUFNLFlBQVksR0FBRyxVQUFVLENBQUM7WUFDaEMsSUFBSSxLQUFLLEdBQWEsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFHN0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBRWxCLFFBQVEsU0FBUyxFQUFFO29CQUNqQixLQUFLLGNBQWM7d0JBQ2pCLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO3dCQUNqQixNQUFNO29CQUNSLEtBQUssY0FBYzt3QkFDakIsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7d0JBQ2pCLE1BQU07b0JBQ1I7d0JBQ0UsT0FBTyxDQUFDLEdBQUcsQ0FBQyw2Q0FBNkMsR0FBRyxVQUFVLENBQUMsQ0FBQzt3QkFDeEUsT0FBTyxFQUFFLENBQUM7aUJBQ2I7YUFDRjs7Z0JBQ0MsR0FBRyxHQUFHLFlBQVksQ0FBQztZQUNyQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1NBQ2xDO1FBQ0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQ0FBaUMsR0FBRyxVQUFVLENBQUMsQ0FBQztRQUM1RCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7O2tGQXBFVSxpQkFBaUI7eURBQWpCLGlCQUFpQixXQUFqQixpQkFBaUIsbUJBRmhCLE1BQU07dUZBRVAsaUJBQWlCO2NBSDdCLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5cbmV4cG9ydCBjb25zdCBNQUdJQ19GR19DT0xPUjogbnVtYmVyID0gMTtcbmV4cG9ydCBjb25zdCBNQUdJQ19CR19DT0xPUjogbnVtYmVyID0gMjtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTWFnaWNDb2xvclNlcnZpY2Uge1xuXG4gIHB1YmxpYyBjb2xvckZpbGVQYXRoID0gJ2Fzc2V0cy9jbHJfcm50LmVuZyc7XG4gIHByaXZhdGUgY29sb3JzRGF0YTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQpIHtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q29sb3JEYXRhKCl7XG4gICAgdGhpcy5odHRwLmdldCh0aGlzLmNvbG9yRmlsZVBhdGgsIHsgcmVzcG9uc2VUeXBlOiAndGV4dCcgfSkuc3Vic2NyaWJlKHJlc3AgPT4ge1xuICAgICAgdGhpcy5jb2xvcnNEYXRhID0gcmVzcC5yZXBsYWNlKC9cXG4vZywgJ0AnKS5zcGxpdCgnQCcpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBoZXhUb1JnYmEoaGV4OiBhbnkpOiBhbnkge1xuICAgIGxldCBzaG9ydGhhbmRSZWdleCA9IC9eIz8oW2EtZlxcZF0pKFthLWZcXGRdKShbYS1mXFxkXSkoW2EtZlxcZF0pJC9pO1xuICAgIC8vIGNvbnZlcnQgaXQgdG8gZm9ybWF0IDogYWFycmdnYmJcbiAgICBoZXggPSBoZXgucmVwbGFjZShzaG9ydGhhbmRSZWdleCwgZnVuY3Rpb24obTogYW55LCByOiBhbnksIGc6IGFueSwgYjogYW55LCBhOiBhbnkpIHtcbiAgICAgIHJldHVybiBhICsgYSArIHIgKyByICsgZyArIGcgKyBiICsgYjtcbiAgICB9KTtcblxuICAgIGxldCByZXN1bHQgPSAvXiM/KFthLWZcXGRdezJ9KShbYS1mXFxkXXsyfSkoW2EtZlxcZF17Mn0pKFthLWZcXGRdezJ9KSQvaS5leGVjKGhleCk7XG5cbiAgICBsZXQgcmdiID0ge1xuICAgICAgJ3JlZCc6IHBhcnNlSW50KHJlc3VsdCFbNF0sIDE2KSxcbiAgICAgICdncmVlbic6IHBhcnNlSW50KHJlc3VsdCFbM10sIDE2KSxcbiAgICAgICdibHVlJzogcGFyc2VJbnQocmVzdWx0IVsyXSwgMTYpLFxuICAgICAgJ2FscGhhJzogKDI1NSAtIHBhcnNlSW50KHJlc3VsdCFbMV0sIDE2KSkgLyAyNTVcbiAgICB9O1xuXG4gICAgcmV0dXJuICdyZ2JhKCcgKyByZ2IucmVkICsgJywnICsgcmdiLmdyZWVuICsgJywnICsgcmdiLmJsdWUgKyAnLCcgKyByZ2IuYWxwaGEgKyAnKSc7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgcmdiYSB2YWx1ZSBvZiBzcGVjaWZpZWQgY29sb3JcbiAgICogQHJldHVybnMgOiB2YWx1ZSBpbiBmb3JtYXQgcmdiYSgxMjgsMTI4LDEyOCwxKVxuICAgKiBAcGFyYW0gOiBjb2xvck51bWJlciAtMCBiYXNlZCBpbmRleCBvZiBjb2xvciBmb3Igd2hpY2ggUkdCQSB2YWx1ZXMgYXJlIHJldHVybmVkXG4gICAqIEBwYXJhbTogY29sb3JUeXBlIDogMS1NQUdJQ19GR19DT0xPUiwgMi1NQUdJQ19CR19DT0xPUlxuICAgKi9cbiAgcHVibGljIGdldENvbG9yKGNvbG9ySW5kZXg6IG51bWJlciwgY29sb3JUeXBlOiBudW1iZXIpIHtcblxuICAgIGlmKCF0aGlzLmNvbG9yc0RhdGEpXG4gICAgICB0aGlzLmdldENvbG9yRGF0YSgpO1xuICAgIGlmICh0aGlzLmNvbG9yc0RhdGEgJiYgdGhpcy5jb2xvcnNEYXRhW2NvbG9ySW5kZXggLTFdKSB7IC8vIGNvbG9yIGV4aXN0c1xuICAgICAgbGV0IGhleCA9ICcnO1xuICAgICAgY29uc3QgZ3JheUhhc2hDb2RlID0gJzAwODA4MDgwJztcbiAgICAgIGxldCBjb2xvcjogc3RyaW5nW10gPSB0aGlzLmNvbG9yc0RhdGFbY29sb3JJbmRleF0uc3BsaXQoJywnKTsgLy8gZ2V0IHRoZSBjb2xvciBkZXRhaWxzXG4gICAgICAvLyBjb2xvclswXSAtIG5hbWUsIGNvbG9yWzFdIC0gRkcgY29sb3IsIGNvbG9yWzJdIC0gQkcgY29sb3JcbiAgICAgIC8vIGNvbG9yWzNdIC0gYXR0ciBmbGFncyAoMSAtIHRyYW5zcGVyZW50LCAyIC0gc3lzdGVtIEZHLCA0IC0gc3lzdGVtIGJnKVxuICAgICAgaWYgKCtjb2xvclszXSA8PSAxKSB7IC8vIGZvciBub24tc3lzdGVtIGNvbG9yIG9yIHRyYW5zcGVyZW50IGNvbG9yXG5cbiAgICAgICAgc3dpdGNoIChjb2xvclR5cGUpIHtcbiAgICAgICAgICBjYXNlIE1BR0lDX0ZHX0NPTE9SOlxuICAgICAgICAgICAgaGV4ID0gKGNvbG9yWzFdKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgTUFHSUNfQkdfQ09MT1I6XG4gICAgICAgICAgICBoZXggPSAoY29sb3JbMl0pO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdQbGVhc2UgZW50ZXIgdmFsaWQgY29sb3IgdHlwZSA6IDEtRkcsIDItQkcgJyArIGNvbG9ySW5kZXgpO1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9XG4gICAgICB9IGVsc2VcbiAgICAgICAgaGV4ID0gZ3JheUhhc2hDb2RlO1xuICAgICAgcmV0dXJuIHRoaXMuaGV4VG9SZ2JhKCcjJyArIGhleCk7XG4gICAgfVxuICAgIGNvbnNvbGUubG9nKCdDb3VsZCBub3QgZ2V0IGNvbG9yIGZvciBudW1iZXIgJyArIGNvbG9ySW5kZXgpO1xuICAgIHJldHVybiAnJztcbiAgfVxufVxuIl19
|
|
@@ -24,7 +24,7 @@ export class MgDateAdapter extends NativeDateAdapter {
|
|
|
24
24
|
}
|
|
25
25
|
parse(value) {
|
|
26
26
|
let valueStr = value;
|
|
27
|
-
let date = 0, month = 0, year = 0
|
|
27
|
+
let date = 0, month = 0, year = 0;
|
|
28
28
|
let mgDateMask = this.mgdtfmt;
|
|
29
29
|
let sep = valueStr.indexOf('/') > 0 ? '/' : '-';
|
|
30
30
|
if (value == null || value == "")
|
|
@@ -33,9 +33,8 @@ export class MgDateAdapter extends NativeDateAdapter {
|
|
|
33
33
|
this.mgdtfmt = this.task.mgInputDateFormat;
|
|
34
34
|
if ((this.mgdtfmt.indexOf('MMM') > 0) || (this.mgdtfmt.indexOf('MMMM') > 0))
|
|
35
35
|
return new Date(value);
|
|
36
|
-
let vallen = valueStr.length;
|
|
37
36
|
if (mgDateMask !== null) {
|
|
38
|
-
for (let i = 0
|
|
37
|
+
for (let i = 0; i < mgDateMask.length;) {
|
|
39
38
|
switch (mgDateMask[i]) {
|
|
40
39
|
case 'd':
|
|
41
40
|
{
|
|
@@ -102,4 +101,4 @@ MgDateAdapter.ɵprov = i0.ɵɵdefineInjectable({ token: MgDateAdapter, factory:
|
|
|
102
101
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MgDateAdapter, [{
|
|
103
102
|
type: Injectable
|
|
104
103
|
}], function () { return [{ type: i1.Platform }, { type: i2.TaskMagicService }]; }, null); })();
|
|
105
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWctZGF0ZS1hZGFwdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvc2VydmljZXMvbWctZGF0ZS1hZGFwdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDakQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDdkQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7OztBQUV6QyxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUc7SUFDeEIsS0FBSyxFQUFFLEVBQUMsU0FBUyxFQUFFLEVBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUMsRUFBQztJQUNyRSxPQUFPLEVBQUU7UUFDUCxTQUFTLEVBQUUsT0FBTztRQUNsQixjQUFjLEVBQUUsRUFBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUM7UUFDakQsYUFBYSxFQUFFLEVBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUM7UUFDL0Qsa0JBQWtCLEVBQUUsRUFBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUM7S0FDckQ7Q0FDRixDQUFDO0FBSUYsTUFBTSxPQUFPLGFBQWMsU0FBUSxpQkFBaUI7SUFFbEQsWUFBcUIsUUFBa0IsRUFBWSxJQUFzQjtRQUN2RSxLQUFLLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBRE4sYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUFZ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SUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxJQUFJO1lBQzdELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztRQUM3QyxJQUFJLGFBQWEsS0FBSyxPQUFPLEVBQUU7WUFDN0IsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUk7Z0JBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsVUFBVSxDQUFDO1lBQzVCLE9BQU8sVUFBVSxDQUFDLElBQUksRUFBQyxJQUFJLENBQUMsT0FBTyxFQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUNsRDthQUFNO1lBQ0wsT0FBTyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDNUI7SUFDSCxDQUFDOzswRUEvRVUsYUFBYTtxREFBYixhQUFhLFdBQWIsYUFBYTt1RkFBYixhQUFhO2NBRHpCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05hdGl2ZURhdGVBZGFwdGVyfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcclxuaW1wb3J0IHsgZm9ybWF0RGF0ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFBsYXRmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BsYXRmb3JtJztcclxuaW1wb3J0IHtUYXNrTWFnaWNTZXJ2aWNlfSBmcm9tIFwiLi90YXNrLm1hZ2ljcy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbmV4cG9ydCBjb25zdCBNR19GT1JNQVRTID0ge1xyXG4gIHBhcnNlOiB7ZGF0ZUlucHV0OiB7bW9udGg6ICdzaG9ydCcsIHllYXI6ICdudW1lcmljJywgZGF5OiAnbnVtZXJpYyd9fSxcclxuICBkaXNwbGF5OiB7XHJcbiAgICBkYXRlSW5wdXQ6ICdpbnB1dCcsXHJcbiAgICBtb250aFllYXJMYWJlbDoge3llYXI6ICdudW1lcmljJywgbW9udGg6ICdzaG9ydCd9LFxyXG4gICAgZGF0ZUExMXlMYWJlbDoge3llYXI6ICdudW1lcmljJywgbW9udGg6ICdsb25nJywgZGF5OiAnbnVtZXJpYyd9LFxyXG4gICAgbW9udGhZZWFyQTExeUxhYmVsOiB7eWVhcjogJ251bWVyaWMnLCBtb250aDogJ2xvbmcnfVxyXG4gIH1cclxufTtcclxuXHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBNZ0RhdGVBZGFwdGVyIGV4dGVuZHMgTmF0aXZlRGF0ZUFkYXB0ZXIge1xyXG4gIHB1YmxpYyBtZ2R0Zm10OiBzdHJpbmcgPSBudWxsO1xyXG4gIGNvbnN0cnVjdG9yICggcHVibGljIHBsYXRmb3JtOiBQbGF0Zm9ybSAscHJvdGVjdGVkIHRhc2s6IFRhc2tNYWdpY1NlcnZpY2UpIHtcclxuICAgIHN1cGVyKCdlbi1VUycsIHBsYXRmb3JtKTtcclxuICB9XHJcblxyXG4gIHBhcnNlICh2YWx1ZTogYW55KSA6IERhdGUgfCBudWxsXHJcbiAge1xyXG4gICAgbGV0IHZhbHVlU3RyOiBzdHJpbmcgPSB2YWx1ZTtcclxuICAgIGxldCBkYXRlID0gMCwgbW9udGggPSAwLCB5ZWFyID0gMCwgbW9udGhTdHIgPSBudWxsO1xyXG4gICAgbGV0IG1nRGF0ZU1hc2s6IHN0cmluZyA9IHRoaXMubWdkdGZtdDtcclxuICAgIGxldCBzZXAgPSB2YWx1ZVN0ci5pbmRleE9mKCcvJykgPiAwID8gJy8nIDogJy0nO1xyXG5cclxuICAgIGlmICh2YWx1ZSA9PSBudWxsIHx8IHZhbHVlID09IFwiXCIpIHJldHVybiBudWxsO1xyXG4gICAgaWYgKHRoaXMubWdkdGZtdCA9PSBudWxsICYmIHRoaXMudGFzay5tZ0lucHV0RGF0ZUZvcm1hdCAhPSBudWxsKVxyXG4gICAgICB0aGlzLm1nZHRmbXQgPSB0aGlzLnRhc2subWdJbnB1dERhdGVGb3JtYXQ7XHJcbiAgICBpZiAoKHRoaXMubWdkdGZtdC5pbmRleE9mKCdNTU0nKSA+IDApIHx8ICh0aGlzLm1nZHRmbXQuaW5kZXhPZignTU1NTScpID4gMCkpXHJcbiAgICAgIHJldHVybiBuZXcgRGF0ZSh2YWx1ZSk7XHJcblxyXG4gICAgbGV0IHZhbGxlbiA9IHZhbHVlU3RyLmxlbmd0aDtcclxuICAgIGlmIChtZ0RhdGVNYXNrICE9PSBudWxsKSB7XHJcbiAgICAgIGZvciAobGV0IGk9MCwgaj0wOyBpIDwgbWdEYXRlTWFzay5sZW5ndGg7KSB7XHJcbiAgICAgICAgc3dpdGNoIChtZ0RhdGVNYXNrW2ldKSB7XHJcbiAgICAgICAgICBjYXNlICdkJzoge1xyXG4gICAgICAgICAgICAgIGxldCB0bXBTdHI6IHN0cmluZztcclxuICAgICAgICAgICAgICBsZXQgbGVuID0gdmFsdWVTdHIuaW5kZXhPZihzZXAsIDApO1xyXG4gICAgICAgICAgICAgIHRtcFN0ciA9IGxlbiA9PSAtMSA/IHZhbHVlU3RyIDogdmFsdWVTdHIuc3Vic3RyKDAsIGxlbik7XHJcbiAgICAgICAgICAgICAgaWYgKGxlbiA+IC0xKVxyXG4gICAgICAgICAgICAgICAgdmFsdWVTdHIgPSB2YWx1ZVN0ci5zdWJzdHIobGVuKzEpO1xyXG4gICAgICAgICAgICAgIGZvciAoO21nRGF0ZU1hc2tbaV0gPT0gJ2QnOyBpKyspO1xyXG4gICAgICAgICAgICAgIGRhdGUgPSAoTnVtYmVyKSh0bXBTdHIpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgJ00nOiB7XHJcbiAgICAgICAgICAgICAgbGV0IHRtcFN0cjogc3RyaW5nO1xyXG4gICAgICAgICAgICAgIGxldCBsZW4gPSB2YWx1ZVN0ci5pbmRleE9mKHNlcCwgMCk7XHJcbiAgICAgICAgICAgICAgdG1wU3RyID0gbGVuID09IC0xID8gdmFsdWVTdHIgOiB2YWx1ZVN0ci5zdWJzdHIoMCwgbGVuKTtcclxuXHJcbiAgICAgICAgICAgICAgaWYgKGxlbiA+IC0xKVxyXG4gICAgICAgICAgICAgICAgdmFsdWVTdHIgPSB2YWx1ZVN0ci5zdWJzdHIobGVuKzEpO1xyXG5cclxuICAgICAgICAgICAgICBmb3IgKDsgbWdEYXRlTWFza1tpXSA9PSAnTScgO2krKyk7XHJcbiAgICAgICAgICAgICAgbW9udGggPSAoTnVtYmVyKSh0bXBTdHIpID4gMCA/IChOdW1iZXIpKHRtcFN0ciktIDEgOiAwO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgJ3knOiB7XHJcbiAgICAgICAgICAgICAgbGV0IHRtcFN0cjtcclxuICAgICAgICAgICAgICBsZXQgbGVuID0gdmFsdWVTdHIuaW5kZXhPZihzZXAsIDApO1xyXG4gICAgICAgICAgICAgIHRtcFN0ciA9IGxlbiA9PSAtMSA/IHZhbHVlU3RyIDogdmFsdWVTdHIuc3Vic3RyKDAsIGxlbik7XHJcbiAgICAgICAgICAgICAgaWYgKGxlbiA+IC0xKSB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZVN0ciA9IHZhbHVlU3RyLnN1YnN0cihsZW4gKyAxKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgZm9yICg7IG1nRGF0ZU1hc2tbaV0gPT0gJ3knIDtpKyspO1xyXG4gICAgICAgICAgICAgIHllYXIgPSAoTnVtYmVyKSh0bXBTdHIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgaSsrO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChtb250aCA9PSAwICYmIHllYXIgPT0gMCAmJiBkYXRlID09IDApXHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgIHJldHVybiBuZXcgRGF0ZShEYXRlLlVUQyh5ZWFyLCBtb250aCwgZGF0ZSkpO1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuZm9ybWF0KGRhdGU6IERhdGUsIGRpc3BsYXlGb3JtYXQ6IE9iamVjdCk6IHN0cmluZyB7XHJcbiAgICBpZiAodGhpcy5tZ2R0Zm10ID09IG51bGwgJiYgdGhpcy50YXNrLm1nSW5wdXREYXRlRm9ybWF0ICE9IG51bGwpXHJcbiAgICAgIHRoaXMubWdkdGZtdCA9IHRoaXMudGFzay5tZ0lucHV0RGF0ZUZvcm1hdDtcclxuICAgIGlmIChkaXNwbGF5Rm9ybWF0ID09PSAnaW5wdXQnKSB7XHJcbiAgICAgIGlmICh0aGlzLm1nZHRmbXQgPT0gbnVsbClcclxuICAgICAgICB0aGlzLm1nZHRmbXQgPSAnTS9kL3l5eXknOyAvL2RlZmF1bHQgZm9ybWF0XHJcbiAgICAgIHJldHVybiBmb3JtYXREYXRlKGRhdGUsdGhpcy5tZ2R0Zm10LHRoaXMubG9jYWxlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBkYXRlLnRvRGF0ZVN0cmluZygpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuIl19
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWctZGF0ZS1hZGFwdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvc2VydmljZXMvbWctZGF0ZS1hZGFwdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDakQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDdkQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7OztBQUV6QyxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUc7SUFDeEIsS0FBSyxFQUFFLEVBQUMsU0FBUyxFQUFFLEVBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUMsRUFBQztJQUNyRSxPQUFPLEVBQUU7UUFDUCxTQUFTLEVBQUUsT0FBTztRQUNsQixjQUFjLEVBQUUsRUFBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUM7UUFDakQsYUFBYSxFQUFFLEVBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUM7UUFDL0Qsa0JBQWtCLEVBQUUsRUFBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUM7S0FDckQ7Q0FDRixDQUFDO0FBSUYsTUFBTSxPQUFPLGFBQWMsU0FBUSxpQkFBaUI7SUFFbEQsWUFBcUIsUUFBa0IsRUFBWSxJQUFzQjtRQUN2RSxLQUFLLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBRE4sYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUFZ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QyxpQkFBaUIsQ0FBQztRQUM3QyxJQUFJLGFBQWEsS0FBSyxPQUFPLEVBQUU7WUFDN0IsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUk7Z0JBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsVUFBVSxDQUFDO1lBQzVCLE9BQU8sVUFBVSxDQUFDLElBQUksRUFBQyxJQUFJLENBQUMsT0FBTyxFQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUNsRDthQUFNO1lBQ0wsT0FBTyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDNUI7SUFDSCxDQUFDOzswRUE3RVUsYUFBYTtxREFBYixhQUFhLFdBQWIsYUFBYTt1RkFBYixhQUFhO2NBRHpCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05hdGl2ZURhdGVBZGFwdGVyfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcclxuaW1wb3J0IHsgZm9ybWF0RGF0ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFBsYXRmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BsYXRmb3JtJztcclxuaW1wb3J0IHtUYXNrTWFnaWNTZXJ2aWNlfSBmcm9tIFwiLi90YXNrLm1hZ2ljcy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbmV4cG9ydCBjb25zdCBNR19GT1JNQVRTID0ge1xyXG4gIHBhcnNlOiB7ZGF0ZUlucHV0OiB7bW9udGg6ICdzaG9ydCcsIHllYXI6ICdudW1lcmljJywgZGF5OiAnbnVtZXJpYyd9fSxcclxuICBkaXNwbGF5OiB7XHJcbiAgICBkYXRlSW5wdXQ6ICdpbnB1dCcsXHJcbiAgICBtb250aFllYXJMYWJlbDoge3llYXI6ICdudW1lcmljJywgbW9udGg6ICdzaG9ydCd9LFxyXG4gICAgZGF0ZUExMXlMYWJlbDoge3llYXI6ICdudW1lcmljJywgbW9udGg6ICdsb25nJywgZGF5OiAnbnVtZXJpYyd9LFxyXG4gICAgbW9udGhZZWFyQTExeUxhYmVsOiB7eWVhcjogJ251bWVyaWMnLCBtb250aDogJ2xvbmcnfVxyXG4gIH1cclxufTtcclxuXHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBNZ0RhdGVBZGFwdGVyIGV4dGVuZHMgTmF0aXZlRGF0ZUFkYXB0ZXIge1xyXG4gIHB1YmxpYyBtZ2R0Zm10OiBzdHJpbmcgPSBudWxsO1xyXG4gIGNvbnN0cnVjdG9yICggcHVibGljIHBsYXRmb3JtOiBQbGF0Zm9ybSAscHJvdGVjdGVkIHRhc2s6IFRhc2tNYWdpY1NlcnZpY2UpIHtcclxuICAgIHN1cGVyKCdlbi1VUycsIHBsYXRmb3JtKTtcclxuICB9XHJcblxyXG4gIHBhcnNlICh2YWx1ZTogYW55KSA6IERhdGUgfCBudWxsXHJcbiAge1xyXG4gICAgbGV0IHZhbHVlU3RyOiBzdHJpbmcgPSB2YWx1ZTtcclxuICAgIGxldCBkYXRlID0gMCwgbW9udGggPSAwLCB5ZWFyID0gMDtcclxuICAgIGxldCBtZ0RhdGVNYXNrOiBzdHJpbmcgPSB0aGlzLm1nZHRmbXQ7XHJcbiAgICBsZXQgc2VwID0gdmFsdWVTdHIuaW5kZXhPZignLycpID4gMCA/ICcvJyA6ICctJztcclxuXHJcbiAgICBpZiAodmFsdWUgPT0gbnVsbCB8fCB2YWx1ZSA9PSBcIlwiKSByZXR1cm4gbnVsbDtcclxuICAgIGlmICh0aGlzLm1nZHRmbXQgPT0gbnVsbCAmJiB0aGlzLnRhc2subWdJbnB1dERhdGVGb3JtYXQgIT0gbnVsbClcclxuICAgICAgdGhpcy5tZ2R0Zm10ID0gdGhpcy50YXNrLm1nSW5wdXREYXRlRm9ybWF0O1xyXG4gICAgaWYgKCh0aGlzLm1nZHRmbXQuaW5kZXhPZignTU1NJykgPiAwKSB8fCAodGhpcy5tZ2R0Zm10LmluZGV4T2YoJ01NTU0nKSA+IDApKVxyXG4gICAgICByZXR1cm4gbmV3IERhdGUodmFsdWUpO1xyXG4gICAgaWYgKG1nRGF0ZU1hc2sgIT09IG51bGwpIHtcclxuICAgICAgZm9yIChsZXQgaT0wOyBpIDwgbWdEYXRlTWFzay5sZW5ndGg7KSB7XHJcbiAgICAgICAgc3dpdGNoIChtZ0RhdGVNYXNrW2ldKSB7XHJcbiAgICAgICAgICBjYXNlICdkJzoge1xyXG4gICAgICAgICAgICAgIGxldCB0bXBTdHI6IHN0cmluZztcclxuICAgICAgICAgICAgICBsZXQgbGVuID0gdmFsdWVTdHIuaW5kZXhPZihzZXAsIDApO1xyXG4gICAgICAgICAgICAgIHRtcFN0ciA9IGxlbiA9PSAtMSA/IHZhbHVlU3RyIDogdmFsdWVTdHIuc3Vic3RyKDAsIGxlbik7XHJcbiAgICAgICAgICAgICAgaWYgKGxlbiA+IC0xKVxyXG4gICAgICAgICAgICAgICAgdmFsdWVTdHIgPSB2YWx1ZVN0ci5zdWJzdHIobGVuKzEpO1xyXG4gICAgICAgICAgICAgIGZvciAoO21nRGF0ZU1hc2tbaV0gPT0gJ2QnOyBpKyspO1xyXG4gICAgICAgICAgICAgIGRhdGUgPSAoTnVtYmVyKSh0bXBTdHIpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgJ00nOiB7XHJcbiAgICAgICAgICAgICAgbGV0IHRtcFN0cjogc3RyaW5nO1xyXG4gICAgICAgICAgICAgIGxldCBsZW4gPSB2YWx1ZVN0ci5pbmRleE9mKHNlcCwgMCk7XHJcbiAgICAgICAgICAgICAgdG1wU3RyID0gbGVuID09IC0xID8gdmFsdWVTdHIgOiB2YWx1ZVN0ci5zdWJzdHIoMCwgbGVuKTtcclxuXHJcbiAgICAgICAgICAgICAgaWYgKGxlbiA+IC0xKVxyXG4gICAgICAgICAgICAgICAgdmFsdWVTdHIgPSB2YWx1ZVN0ci5zdWJzdHIobGVuKzEpO1xyXG5cclxuICAgICAgICAgICAgICBmb3IgKDsgbWdEYXRlTWFza1tpXSA9PSAnTScgO2krKyk7XHJcbiAgICAgICAgICAgICAgbW9udGggPSAoTnVtYmVyKSh0bXBTdHIpID4gMCA/IChOdW1iZXIpKHRtcFN0ciktIDEgOiAwO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgJ3knOiB7XHJcbiAgICAgICAgICAgICAgbGV0IHRtcFN0cjtcclxuICAgICAgICAgICAgICBsZXQgbGVuID0gdmFsdWVTdHIuaW5kZXhPZihzZXAsIDApO1xyXG4gICAgICAgICAgICAgIHRtcFN0ciA9IGxlbiA9PSAtMSA/IHZhbHVlU3RyIDogdmFsdWVTdHIuc3Vic3RyKDAsIGxlbik7XHJcbiAgICAgICAgICAgICAgaWYgKGxlbiA+IC0xKSB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZVN0ciA9IHZhbHVlU3RyLnN1YnN0cihsZW4gKyAxKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgZm9yICg7IG1nRGF0ZU1hc2tbaV0gPT0gJ3knIDtpKyspO1xyXG4gICAgICAgICAgICAgIHllYXIgPSAoTnVtYmVyKSh0bXBTdHIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgaSsrO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChtb250aCA9PSAwICYmIHllYXIgPT0gMCAmJiBkYXRlID09IDApXHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgIHJldHVybiBuZXcgRGF0ZShEYXRlLlVUQyh5ZWFyLCBtb250aCwgZGF0ZSkpO1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuZm9ybWF0KGRhdGU6IERhdGUsIGRpc3BsYXlGb3JtYXQ6IE9iamVjdCk6IHN0cmluZyB7XHJcbiAgICBpZiAodGhpcy5tZ2R0Zm10ID09IG51bGwgJiYgdGhpcy50YXNrLm1nSW5wdXREYXRlRm9ybWF0ICE9IG51bGwpXHJcbiAgICAgIHRoaXMubWdkdGZtdCA9IHRoaXMudGFzay5tZ0lucHV0RGF0ZUZvcm1hdDtcclxuICAgIGlmIChkaXNwbGF5Rm9ybWF0ID09PSAnaW5wdXQnKSB7XHJcbiAgICAgIGlmICh0aGlzLm1nZHRmbXQgPT0gbnVsbClcclxuICAgICAgICB0aGlzLm1nZHRmbXQgPSAnTS9kL3l5eXknOyAvL2RlZmF1bHQgZm9ybWF0XHJcbiAgICAgIHJldHVybiBmb3JtYXREYXRlKGRhdGUsdGhpcy5tZ2R0Zm10LHRoaXMubG9jYWxlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBkYXRlLnRvRGF0ZVN0cmluZygpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuIl19
|
|
@@ -42,7 +42,7 @@ export class SubformMagicService {
|
|
|
42
42
|
return this.subformsDict[subformName].parameters;
|
|
43
43
|
}
|
|
44
44
|
else
|
|
45
|
-
return
|
|
45
|
+
return '';
|
|
46
46
|
}
|
|
47
47
|
deleteSubformComp(subformControlName, formName) {
|
|
48
48
|
if (Object.keys(this.subformsDict).indexOf(subformControlName) >= 0) {
|
|
@@ -66,8 +66,8 @@ export class SubformMagicService {
|
|
|
66
66
|
if (moduleRef == null) {
|
|
67
67
|
let lazyLoadModule = this.componentListMagicService.getLazyLoadModuleData(formName);
|
|
68
68
|
if (lazyLoadModule != null) {
|
|
69
|
-
let moduleName = lazyLoadModule.moduleName.replace(
|
|
70
|
-
moduleName = moduleName.replace(
|
|
69
|
+
let moduleName = lazyLoadModule.moduleName.replace('Magic', '');
|
|
70
|
+
moduleName = moduleName.replace('Module', '');
|
|
71
71
|
this.loader.Load(moduleName).then(m => {
|
|
72
72
|
const compiled = this.compiler.compileModuleAndAllComponentsSync(m[lazyLoadModule.moduleName]);
|
|
73
73
|
moduleRef = compiled.ngModuleFactory.create(this.injector);
|
|
@@ -89,7 +89,7 @@ export class SubformMagicService {
|
|
|
89
89
|
}
|
|
90
90
|
else {
|
|
91
91
|
if (inDefaultOutlet)
|
|
92
|
-
subformControlName =
|
|
92
|
+
subformControlName = 'primary';
|
|
93
93
|
let routeParams = new List();
|
|
94
94
|
routeParams.push(routerPath);
|
|
95
95
|
if (params !== null) {
|
|
@@ -111,7 +111,6 @@ export class SubformMagicService {
|
|
|
111
111
|
this.task.refreshView();
|
|
112
112
|
}
|
|
113
113
|
ExecuteRouteCommand(routeCommand) {
|
|
114
|
-
let reusingComponent = false;
|
|
115
114
|
let currentSubformMagicService = routeCommand.callerMgSubformServiceRef;
|
|
116
115
|
let relativeRoute = SubformMagicService.getRelativeRoute(currentSubformMagicService.activatedRoute);
|
|
117
116
|
if (currentSubformMagicService.routesDict[routeCommand.routerOutletName] === routeCommand.routeParams[0]) {
|
|
@@ -170,7 +169,7 @@ export class SubformMagicService {
|
|
|
170
169
|
if (currentActiveRoute.snapshot.routeConfig !== null && currentActiveRoute.snapshot.routeConfig.path === '') {
|
|
171
170
|
currentActiveRoute = currentActiveRoute.parent;
|
|
172
171
|
if (!currentActiveRoute.snapshot.routeConfig.loadChildren)
|
|
173
|
-
console.log(
|
|
172
|
+
console.log('getRelativeRoute(): both path and currentActiveRoute.snapshot.routeConfig.loadChildren are empty.');
|
|
174
173
|
}
|
|
175
174
|
return currentActiveRoute;
|
|
176
175
|
}
|
|
@@ -182,4 +181,4 @@ SubformMagicService.ɵprov = i0.ɵɵdefineInjectable({ token: SubformMagicServic
|
|
|
182
181
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SubformMagicService, [{
|
|
183
182
|
type: Injectable
|
|
184
183
|
}], function () { return [{ type: i1.TaskMagicService }, { type: i2.ActivatedRoute }, { type: i3.ComponentListMagicService }, { type: i4.CommandsCollectorMagicService }, { type: i2.Router }, { type: i5.RouterCommandsMagicService }, { type: i3.ComponentListMagicService }, { type: i6.MagicLazyLoaderService }, { type: i0.Injector }, { type: i0.Compiler }]; }, null); })();
|
|
185
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ViZm9ybS5tYWdpYy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvc2VydmljZXMvc3ViZm9ybS5tYWdpYy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQWEsVUFBVSxFQUFFLFFBQVEsRUFBZSxNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFL0QsT0FBTyxFQUFDLHlCQUF5QixFQUFhLE1BQU0sZ0NBQWdDLENBQUM7QUFDckYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUVuRixPQUFPLEVBQWdCLDBCQUEwQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFHckcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7Ozs7O0FBT3JFLE1BQU0sT0FBTyxtQkFBbUI7SUFVOUIsWUFBb0IsSUFBc0IsRUFDcEIsY0FBOEIsRUFDOUIsYUFBd0MsRUFDeEMsd0JBQXVELEVBQ3ZELE1BQWMsRUFDZCwwQkFBc0QsRUFDeEQseUJBQW9ELEVBQ3BELE1BQThCLEVBQzlCLFFBQWtCLEVBQ2xCLFFBQWtCO1FBVGxCLFNBQUksR0FBSixJQUFJLENBQWtCO1FBQ3BCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixrQkFBYSxHQUFiLGFBQWEsQ0FBMkI7UUFDeEMsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUErQjtRQUN2RCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsK0JBQTBCLEdBQTFCLDBCQUEwQixDQUE0QjtRQUN4RCw4QkFBeUIsR0FBekIseUJBQXlCLENBQTJCO1FBQ3BELFdBQU0sR0FBTixNQUFNLENBQXdCO1FBQzlCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQWpCdEMsaUJBQVksR0FBMkMsRUFBRSxDQUFDO1FBQzFELGVBQVUsR0FBNEIsRUFBRSxDQUFDO1FBQ3pDLDJCQUFzQixHQUFvQixJQUFJLENBQUM7SUFnQi9DLENBQUM7SUFPRCxTQUFTLENBQUMsV0FBbUI7UUFDM0IsSUFBSSxXQUFXLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNwQyxJQUFJLFFBQVEsR0FBVyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDLFFBQVEsQ0FBQztZQUMvRCxJQUFJLFFBQVE7Z0JBQ1YsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUNwRDtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQU9ELGVBQWUsQ0FBQyxXQUFtQjtRQUNqQyxJQUFJLFdBQVcsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3BDLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQyxVQUFVLENBQUM7U0FDbEQ7O1lBRUMsT0FBTyxFQUFFLENBQUM7SUFDZCxDQUFDO0lBS0QsaUJBQWlCLENBQUUsa0JBQTBCLEVBQUUsUUFBZ0I7UUFFM0QsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQ25FO1lBQ0UsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLGtCQUFrQixDQUFDLENBQUMsUUFBUSxLQUFLLFFBQVEsRUFBRTtnQkFFakUsSUFBSSxDQUFDLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLEVBQUUsQ0FBQztnQkFDM0MsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQzthQUN2QjtTQUNGO0lBQ0wsQ0FBQztJQUtELGNBQWMsQ0FBRSxrQkFBMEIsRUFBRSxRQUFnQixFQUFFLE1BQWMsRUFBRSxlQUFvQixFQUFFLFVBQWtCLEVBQUUsTUFBaUIsRUFBRSxlQUF3QjtRQUNqSyxJQUFJLENBQUMsd0JBQXdCLENBQUMsZUFBZSxFQUFFLENBQUM7UUFFaEQsSUFBSSxhQUFhLEdBQUcsS0FBSyxDQUFDO1FBQzFCLElBQUksaUJBQWlCLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDakMsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQ25FO2dCQUNFLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLFFBQVEsS0FBSyxRQUFRLEVBQUU7b0JBRS9ELElBQUksQ0FBQyxZQUFZLENBQUMsa0JBQWtCLENBQUMsR0FBRyxFQUFFLENBQUM7b0JBQzNDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7aUJBQ3pCO2FBQ0Y7WUFHRCxJQUFJLFNBQVMsR0FBcUIsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUV4RixJQUFJLFNBQVMsSUFBSSxJQUFJLEVBQUU7Z0JBQ3JCLElBQUksY0FBYyxHQUFlLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFFaEcsSUFBSSxjQUFjLElBQUksSUFBSSxFQUFFO29CQUUxQixJQUFJLFVBQVUsR0FBRyxjQUFjLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7b0JBQ2hFLFVBQVUsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztvQkFDOUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFFLENBQUMsQ0FBQyxFQUFFO3dCQUNyQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGlDQUFpQyxDQUFNLENBQUMsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQzt3QkFDcEcsU0FBUyxHQUFHLFFBQVEsQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzt3QkFDekQsSUFBSSxDQUFDLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHOzRCQUN0QyxRQUFROzRCQUNSLFVBQVUsRUFBRSxFQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBQzt5QkFDcEUsQ0FBQzt3QkFDRixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO29CQUMxQixDQUFDLENBQUMsQ0FBQztpQkFDTjthQUNGO2lCQUNJO2dCQUNILElBQUksQ0FBQyxZQUFZLENBQUMsa0JBQWtCLENBQUMsR0FBRztvQkFDdEMsUUFBUTtvQkFDUixVQUFVLEVBQUUsRUFBQyxXQUFXLEVBQUUsTUFBTSxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUM7aUJBQ3BFLENBQUM7Z0JBRUYsYUFBYSxHQUFHLElBQUksQ0FBQzthQUN0QjtTQUNGO2FBQ0k7WUFDSCxJQUFJLGVBQWU7Z0JBQ2pCLGtCQUFrQixHQUFHLFNBQVMsQ0FBQztZQUVqQyxJQUFJLFdBQVcsR0FBYyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ3hDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDN0IsSUFBSSxNQUFNLEtBQUssSUFBSSxFQUFFO2dCQUNuQixXQUFXLEdBQWMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUNyRDtZQUVELElBQUksWUFBWSxHQUFpQjtnQkFDL0IseUJBQXlCLEVBQUUsSUFBSTtnQkFDL0IsZ0JBQWdCLEVBQUUsa0JBQWtCO2dCQUNwQyxRQUFRLEVBQUUsUUFBUTtnQkFDbEIsVUFBVSxFQUFFLEVBQUMsV0FBVyxFQUFFLE1BQU0sRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFDO2dCQUNuRSxXQUFXLEVBQUUsV0FBVzthQUN6QixDQUFDO1lBTUosSUFBSSxtQkFBbUIsQ0FBQyxnQ0FBZ0MsS0FBSyxJQUFJO2dCQUM3RCxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLENBQUM7O2dCQUV2QyxJQUFJLENBQUMsMEJBQTBCLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQ2pFO1FBQ0QsSUFBSyxhQUFhO1lBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUtELG1CQUFtQixDQUFDLFlBQTBCO1FBRTVDLElBQUksZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO1FBRTdCLElBQUksMEJBQTBCLEdBQTZDLFlBQVksQ0FBQyx5QkFBeUIsQ0FBQztRQUNsSCxJQUFJLGFBQWEsR0FBSSxtQkFBbUIsQ0FBQyxnQkFBZ0IsQ0FBQywwQkFBMEIsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUVyRyxJQUFJLDBCQUEwQixDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUN4RztZQUdFLDBCQUEwQixDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFDLE9BQU8sRUFBRSxFQUFDLENBQUMsWUFBWSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsSUFBSSxFQUFDLEVBQUMsQ0FBQyxFQUFFLEVBQUMsVUFBVSxFQUFFLGFBQWEsRUFBQyxDQUFDO2lCQUMxSCxJQUFJLENBQUMsQ0FBQyxNQUFjLEVBQUUsRUFBRTtnQkFDdkIsbUJBQW1CLENBQUMsZ0NBQWdDLEdBQUcsMEJBQTBCLENBQUM7Z0JBQ2xGLDBCQUEwQixDQUFDLHNCQUFzQixHQUFHO29CQUNsRCxRQUFRLEVBQUUsWUFBWSxDQUFDLFFBQVE7b0JBQy9CLFVBQVUsRUFBRSxZQUFZLENBQUMsVUFBVTtpQkFDcEMsQ0FBQztnQkFFRiwwQkFBMEIsQ0FBQyxxQkFBcUIsQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLEVBQUUsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQzlHLENBQUMsQ0FBQyxDQUFDO1NBQ0o7YUFDSTtZQUNILG1CQUFtQixDQUFDLGdDQUFnQyxHQUFHLDBCQUEwQixDQUFDO1lBQ2xGLDBCQUEwQixDQUFDLHNCQUFzQixHQUFHO2dCQUNsRCxRQUFRLEVBQUUsWUFBWSxDQUFDLFFBQVE7Z0JBQy9CLFVBQVUsRUFBRSxZQUFZLENBQUMsVUFBVTthQUNwQyxDQUFDO1lBRUYsSUFBSSxtQkFBbUIsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUNuRCxJQUFJLGNBQWMsR0FBRyxtQkFBbUIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDN0QsbUJBQW1CLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQzdDLGNBQWMsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO2FBQ3RDO2lCQUNJO2dCQUNILDBCQUEwQixDQUFDLHFCQUFxQixDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsRUFBRSxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDM0c7U0FDRjtJQUNILENBQUM7SUFFTyxxQkFBcUIsQ0FBQyxnQkFBd0IsRUFBRSxXQUFzQjtRQUU1RSxJQUFJLGFBQWEsR0FBSSxtQkFBbUIsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFL0UsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxXQUFXLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLENBQUM7YUFDcEcsSUFBSSxDQUFDLENBQUMsTUFBYyxFQUFDLEVBQUU7WUFDcEIsSUFBSSxNQUFNLEtBQUssSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO2dCQUM5QixJQUFJLG1CQUFtQixHQUF3QixtQkFBbUIsQ0FBQyxnQ0FBZ0MsQ0FBQztnQkFDcEcsbUJBQW1CLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDO2dCQUVsRCxtQkFBbUIsQ0FBQyxnQ0FBZ0MsR0FBRyxJQUFJLENBQUM7Z0JBQzVELG1CQUFtQixDQUFDLHdCQUF3QixDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUM5RCxtQkFBbUIsQ0FBQywwQkFBMEIsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO2FBQ3JFO1FBQ0gsQ0FBQyxDQUNGLENBQUM7SUFDTixDQUFDO0lBS0QsSUFBSTtRQUlGLE1BQU0sZUFBZSxHQUFpQixJQUFJLENBQUMsd0JBQXdCLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbEcsSUFBSSxlQUFlLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUM5QixlQUFlLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLEdBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQztZQUN6RSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3pCO1FBRUQsSUFBSSxDQUFDLHdCQUF3QixDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ2pELENBQUM7SUFLRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBS0QsTUFBTSxDQUFDLGdCQUFnQixDQUFDLGtCQUFrQztRQUN4RCxJQUFJLGtCQUFrQixHQUFHLGtCQUFrQixDQUFDO1FBQzVDLElBQUksa0JBQWtCLENBQUMsUUFBUSxDQUFDLFdBQVcsS0FBSyxJQUFJLElBQUksa0JBQWtCLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEtBQUssRUFBRSxFQUFFO1lBQzNHLGtCQUFrQixHQUFHLGtCQUFrQixDQUFDLE1BQU0sQ0FBQztZQUMvQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxZQUFZO2dCQUN2RCxPQUFPLENBQUMsR0FBRyxDQUFDLG1HQUFtRyxDQUFDLENBQUM7U0FDcEg7UUFDRCxPQUFPLGtCQUFrQixDQUFDO0lBQzVCLENBQUM7O0FBdk9NLG9EQUFnQyxHQUFRLElBQUssQ0FBQTtBQUU3QyxvQ0FBZ0IsR0FBeUMsSUFBSSxLQUFLLEVBQUcsQ0FBQTtzRkFSakUsbUJBQW1COzJEQUFuQixtQkFBbUIsV0FBbkIsbUJBQW1CO3VGQUFuQixtQkFBbUI7Y0FEL0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBpbGVyLCBDb21wb25lbnQsIEluamVjdGFibGUsIEluamVjdG9yLCBOZ01vZHVsZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGFza01hZ2ljU2VydmljZSB9IGZyb20gJy4vdGFzay5tYWdpY3Muc2VydmljZSc7XG5pbXBvcnQgeyBMaXN0LCBpc051bGxPclVuZGVmaW5lZCB9IGZyb20gJ0BtYWdpYy14cGEvbXNjb3JlbGliJztcbmltcG9ydCB7IEd1aUNvbW1hbmQgfSBmcm9tICdAbWFnaWMteHBhL2d1aSc7XG5pbXBvcnQge0NvbXBvbmVudExpc3RNYWdpY1NlcnZpY2UsIE1vZHVsZURhdGF9IGZyb20gJy4vY29tcG9uZW50LWxpc3QubWFnaWMuc2VydmljZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IENvbW1hbmRzQ29sbGVjdG9yTWFnaWNTZXJ2aWNlIH0gZnJvbSAnLi9jb21tYW5kcy1jb2xsZWN0b3IubWFnaWMuc2VydmljZSc7XG5pbXBvcnQgeyBSb3V0ZURlZmluaXRpb24gfSBmcm9tICcuLi9pbnRlcmZhY2VzL3N1Yi1mb3JtLWRlZmluaXRpb24uaXRlcmZhY2UnO1xuaW1wb3J0IHsgUm91dGVDb21tYW5kLCBSb3V0ZXJDb21tYW5kc01hZ2ljU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3JvdXRlci1jb21tYW5kcy5tYWdpYy5zZXJ2aWNlJztcbmltcG9ydCB7IElTdWJmb3JtTWFnaWNTZXJ2aWNlIH0gZnJvbSAnLi9JU3ViZm9ybU1hZ2ljU2VydmljZSc7XG5pbXBvcnQgeyBSb3V0ZXJDb250YWluZXJNYWdpY0NvbXBvbmVudCB9IGZyb20gJy4uL3VpL3JvdXRlci1jb250YWluZXIubWFnaWMuY29tcG9uZW50JztcbmltcG9ydCB7IE1hZ2ljTGF6eUxvYWRlclNlcnZpY2UgfSBmcm9tICcuL21hZ2ljLmxhenkubG9hZGVyLnNlcnZpY2UnO1xuXG5cbi8qKlxuICogU2VydmljZSBmb3IgbWFuYWdpbmcgc3ViZm9ybXMgYW5kIHJvdXRpbmdcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFN1YmZvcm1NYWdpY1NlcnZpY2UgaW1wbGVtZW50cyBJU3ViZm9ybU1hZ2ljU2VydmljZXtcblxuICBzdWJmb3Jtc0RpY3QgLyo6eyBbeDogc3RyaW5nXTogU3ViZm9ybURlZmluaXRpb24gfSovID0ge307XG4gIHJvdXRlc0RpY3Q6IHsgW3g6IHN0cmluZ106IHN0cmluZyB9ID0ge307IC8vIGRpY3Rpb25hcnkgb2Ygcm91dGVyIG91dGxldCB0byByb3V0ZXIgcGF0aFxuICBjdXJyZW50Um91dGVEZWZpbml0aW9uOiBSb3V0ZURlZmluaXRpb24gPSBudWxsO1xuXG4gIHN0YXRpYyBjdXJyZW50Q2FsbGVyTWdTdWJmb3JtU2VydmljZVJlZjogYW55ID0gbnVsbDtcblxuICBzdGF0aWMgcm91dGVyQ29udGFpbmVyczogQXJyYXk8Um91dGVyQ29udGFpbmVyTWFnaWNDb21wb25lbnQ+ID0gbmV3IEFycmF5KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0YXNrOiBUYXNrTWFnaWNTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcm90ZWN0ZWQgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICAgICAgICAgICBwcm90ZWN0ZWQgY29tcG9uZW50TGlzdDogQ29tcG9uZW50TGlzdE1hZ2ljU2VydmljZSxcbiAgICAgICAgICAgICAgcHJvdGVjdGVkIHBlbmRpbmdDb21tYW5kc0NvbGxlY3RvcjogQ29tbWFuZHNDb2xsZWN0b3JNYWdpY1NlcnZpY2UsXG4gICAgICAgICAgICAgIHByb3RlY3RlZCByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgICAgICAgcHJvdGVjdGVkIHJvdXRlckNvbW1hbmRzTWFnaWNTZXJ2aWNlOiBSb3V0ZXJDb21tYW5kc01hZ2ljU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBjb21wb25lbnRMaXN0TWFnaWNTZXJ2aWNlOiBDb21wb25lbnRMaXN0TWFnaWNTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIGxvYWRlcjogTWFnaWNMYXp5TG9hZGVyU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgICAgICAgIHByaXZhdGUgY29tcGlsZXI6IENvbXBpbGVyKSB7XG4gIH1cblxuICAvKipcbiAgICogRmluZHMgYW5kIHJldHVybnMgdGhlIGNvbXBvbmVudCBhY2NvcmRpbmcgdG8gdGhlIHN1YmZvcm0gbmFtZVxuICAgKiBAcGFyYW0gc3ViZm9ybU5hbWVcbiAgICogQHJldHVybnNcbiAgICovXG4gIG1nR2V0Q29tcChzdWJmb3JtTmFtZTogc3RyaW5nKTogQ29tcG9uZW50IHtcbiAgICBpZiAoc3ViZm9ybU5hbWUgaW4gdGhpcy5zdWJmb3Jtc0RpY3QpIHtcbiAgICAgIGxldCBmb3JtTmFtZTogc3RyaW5nID0gdGhpcy5zdWJmb3Jtc0RpY3Rbc3ViZm9ybU5hbWVdLmZvcm1OYW1lO1xuICAgICAgaWYgKGZvcm1OYW1lKVxuICAgICAgICByZXR1cm4gdGhpcy5jb21wb25lbnRMaXN0LmdldENvbXBvbmVudChmb3JtTmFtZSk7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIHN1YmZvcm1cbiAgICogQHBhcmFtIHN1YmZvcm1OYW1lXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICBtZ0dldFBhcmFtZXRlcnMoc3ViZm9ybU5hbWU6IHN0cmluZyk6IGFueSB7XG4gICAgaWYgKHN1YmZvcm1OYW1lIGluIHRoaXMuc3ViZm9ybXNEaWN0KSB7XG4gICAgICByZXR1cm4gdGhpcy5zdWJmb3Jtc0RpY3Rbc3ViZm9ybU5hbWVdLnBhcmFtZXRlcnM7XG4gICAgfVxuICAgIGVsc2VcbiAgICAgIHJldHVybiBcIlwiO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIGRlbGV0ZVN1YmZvcm1Db21wIChzdWJmb3JtQ29udHJvbE5hbWU6IHN0cmluZywgZm9ybU5hbWU6IHN0cmluZykgIHtcblxuICAgICAgaWYgKE9iamVjdC5rZXlzKHRoaXMuc3ViZm9ybXNEaWN0KS5pbmRleE9mKHN1YmZvcm1Db250cm9sTmFtZSkgPj0gMClcbiAgICAgIHtcbiAgICAgICAgaWYgKHRoaXMuc3ViZm9ybXNEaWN0W3N1YmZvcm1Db250cm9sTmFtZV0uZm9ybU5hbWUgPT09IGZvcm1OYW1lKSB7XG5cbiAgICAgICAgdGhpcy5zdWJmb3Jtc0RpY3Rbc3ViZm9ybUNvbnRyb2xOYW1lXSA9IHt9O1xuICAgICAgICB0aGlzLnRhc2sucmVmcmVzaFZpZXcoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIGFkZFN1YmZvcm1Db21wIChzdWJmb3JtQ29udHJvbE5hbWU6IHN0cmluZywgZm9ybU5hbWU6IHN0cmluZywgdGFza0lkOiBzdHJpbmcsIHRhc2tEZXNjcmlwdGlvbjogYW55LCByb3V0ZXJQYXRoOiBzdHJpbmcsIHBhcmFtczogTGlzdDxhbnk+LCBpbkRlZmF1bHRPdXRsZXQ6IGJvb2xlYW4pICB7XG4gICAgdGhpcy5wZW5kaW5nQ29tbWFuZHNDb2xsZWN0b3Iuc3RhcnRDb2xsZWN0aW5nKCk7XG5cbiAgICBsZXQgcmVmcmVzaE5lZWRlZCA9IGZhbHNlO1xuICAgIGlmIChpc051bGxPclVuZGVmaW5lZChyb3V0ZXJQYXRoKSkgeyAvLyBjYWxsIGluIGRlc3RpbmF0aW9uIHN1YmZvcm1cbiAgICAgIGlmIChPYmplY3Qua2V5cyh0aGlzLnN1YmZvcm1zRGljdCkuaW5kZXhPZihzdWJmb3JtQ29udHJvbE5hbWUpID49IDApXG4gICAgICB7XG4gICAgICAgIGlmICh0aGlzLnN1YmZvcm1zRGljdFtzdWJmb3JtQ29udHJvbE5hbWVdLmZvcm1OYW1lID09PSBmb3JtTmFtZSkge1xuXG4gICAgICAgICAgdGhpcy5zdWJmb3Jtc0RpY3Rbc3ViZm9ybUNvbnRyb2xOYW1lXSA9IHt9O1xuICAgICAgICAgIHRoaXMudGFzay5yZWZyZXNoVmlldygpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIExvYWQgdGhlIGxhenkgbG9hZCBtb2R1bGUsIGlmIG5lZWRlZFxuICAgICAgbGV0IG1vZHVsZVJlZjogTmdNb2R1bGVSZWY8YW55PiA9IHRoaXMuY29tcG9uZW50TGlzdE1hZ2ljU2VydmljZS5nZXRNb2R1bGVSZWYoZm9ybU5hbWUpO1xuXG4gICAgICBpZiAobW9kdWxlUmVmID09IG51bGwpIHtcbiAgICAgICAgbGV0IGxhenlMb2FkTW9kdWxlOiBNb2R1bGVEYXRhID0gdGhpcy5jb21wb25lbnRMaXN0TWFnaWNTZXJ2aWNlLmdldExhenlMb2FkTW9kdWxlRGF0YShmb3JtTmFtZSk7XG5cbiAgICAgICAgaWYgKGxhenlMb2FkTW9kdWxlICE9IG51bGwpIHtcbiAgICAgICAgICAvLyBleHRyYWN0IG5hbWUgb2YgbW9kdWxlKFhYKSBmcm9tICdNYWdpY1hYTW9kdWxlJ1xuICAgICAgICAgIGxldCBtb2R1bGVOYW1lID0gbGF6eUxvYWRNb2R1bGUubW9kdWxlTmFtZS5yZXBsYWNlKFwiTWFnaWNcIiwgXCJcIik7XG4gICAgICAgICAgbW9kdWxlTmFtZSA9IG1vZHVsZU5hbWUucmVwbGFjZShcIk1vZHVsZVwiLCBcIlwiKTtcbiAgICAgICAgICB0aGlzLmxvYWRlci5Mb2FkKG1vZHVsZU5hbWUpLnRoZW4oIG0gPT4ge1xuICAgICAgICAgICAgY29uc3QgY29tcGlsZWQgPSB0aGlzLmNvbXBpbGVyLmNvbXBpbGVNb2R1bGVBbmRBbGxDb21wb25lbnRzU3luYyg8YW55Pm1bbGF6eUxvYWRNb2R1bGUubW9kdWxlTmFtZV0pO1xuICAgICAgICAgICAgbW9kdWxlUmVmID0gY29tcGlsZWQubmdNb2R1bGVGYWN0b3J5LmNyZWF0ZSh0aGlzLmluamVjdG9yKTtcbiAgICAgICAgICAgICAgdGhpcy5zdWJmb3Jtc0RpY3Rbc3ViZm9ybUNvbnRyb2xOYW1lXSA9IHtcbiAgICAgICAgICAgICAgICBmb3JtTmFtZSxcbiAgICAgICAgICAgICAgICBwYXJhbWV0ZXJzOiB7dGFza0lkUGFyYW06IHRhc2tJZCwgdGFza0Rlc2NyaXB0aW9uOiB0YXNrRGVzY3JpcHRpb259XG4gICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgIHRoaXMudGFzay5yZWZyZXNoVmlldygpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICB0aGlzLnN1YmZvcm1zRGljdFtzdWJmb3JtQ29udHJvbE5hbWVdID0ge1xuICAgICAgICAgIGZvcm1OYW1lLFxuICAgICAgICAgIHBhcmFtZXRlcnM6IHt0YXNrSWRQYXJhbTogdGFza0lkLCB0YXNrRGVzY3JpcHRpb246IHRhc2tEZXNjcmlwdGlvbn1cbiAgICAgICAgfTtcbiAgICAgICAgLy90aGlzLnJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIHJlZnJlc2hOZWVkZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICBlbHNlIHsgLy8gY2FsbCByb3V0ZVxuICAgICAgaWYgKGluRGVmYXVsdE91dGxldClcbiAgICAgICAgc3ViZm9ybUNvbnRyb2xOYW1lID0gXCJwcmltYXJ5XCI7XG5cbiAgICAgIGxldCByb3V0ZVBhcmFtczogTGlzdDxhbnk+ID0gbmV3IExpc3QoKTtcbiAgICAgIHJvdXRlUGFyYW1zLnB1c2gocm91dGVyUGF0aCk7XG4gICAgICBpZiAocGFyYW1zICE9PSBudWxsKSB7XG4gICAgICAgIHJvdXRlUGFyYW1zID0gPExpc3Q8YW55Pj5yb3V0ZVBhcmFtcy5jb25jYXQocGFyYW1zKTtcbiAgICAgIH1cblxuICAgICAgbGV0IHJvdXRlQ29tbWFuZDogUm91dGVDb21tYW5kID0ge1xuICAgICAgICBjYWxsZXJNZ1N1YmZvcm1TZXJ2aWNlUmVmOiB0aGlzLFxuICAgICAgICByb3V0ZXJPdXRsZXROYW1lOiBzdWJmb3JtQ29udHJvbE5hbWUsXG4gICAgICAgIGZvcm1OYW1lOiBmb3JtTmFtZSxcbiAgICAgICAgcGFyYW1ldGVyczoge3Rhc2tJZFBhcmFtOiB0YXNrSWQsIHRhc2tEZXNjcmlwdGlvbjogdGFza0Rlc2NyaXB0aW9ufSxcbiAgICAgICAgcm91dGVQYXJhbXM6IHJvdXRlUGFyYW1zXG4gICAgICB9O1xuXG4gICAgICAvLyBJZiBTdWJmb3JtTWFnaWNTZXJ2aWNlLmN1cnJlbnRDYWxsZXJNZ1N1YmZvcm1TZXJ2aWNlUmVmICE9PSBudWxsIG1lYW5zIHRoYXQgcm91dGVyLm5hdmlnYXRlKCkgaXMgYWxyZWFkeVxuICAgICAgLy8gY2FsbGVkIG9uY2UsIGJ1dCBhbmd1bGFyIGhhcyBub3QgeWV0IGV4ZWN1dGVkIGl0IChuZ09uSW5pdCBvZiB0aGUgbmV3IGNvbXBvbmVudCBpcyBub3QgY2FsbGVkKS5cbiAgICAgIC8vIEluIHN1Y2ggYSBjYXNlLCBkbyBub3QgZXhlY3V0ZWQgcm91dGVyLm5hdmlnYXRlKCkgYWdhaW4uIEJlY2F1c2UsIGFuZ3VsYXIgaWdub3JlcyB0aGUgcHJldmlvdXMgb25lLlxuICAgICAgLy8gU28sIHB1dCBhIGNvbW1hbmQgaW4gdGhlIHF1ZXVlIHdoaWNoIHdpbGwgYmUgZXhlY3V0ZWQgYWZ0ZXIgdGhlIGZpcnN0IG9uZSBpcyBleGVjdXRlZC5cbiAgICBpZiAoU3ViZm9ybU1hZ2ljU2VydmljZS5jdXJyZW50Q2FsbGVyTWdTdWJmb3JtU2VydmljZVJlZiA9PT0gbnVsbClcbiAgICAgICAgdGhpcy5FeGVjdXRlUm91dGVDb21tYW5kKHJvdXRlQ29tbWFuZCk7XG4gICAgICBlbHNlXG4gICAgICAgIHRoaXMucm91dGVyQ29tbWFuZHNNYWdpY1NlcnZpY2UuQWRkUm91dGVDb21tYW5kKHJvdXRlQ29tbWFuZCk7XG4gICAgfVxuICAgIGlmICggcmVmcmVzaE5lZWRlZClcbiAgICAgIHRoaXMudGFzay5yZWZyZXNoVmlldygpO1xuICB9XG5cbiAgLyoqXG4gICAqIE9wZW4gdGhlIHN1YmZvcm0gdXNpbmcgYSByb3V0ZSBjb21tYW5kXG4gICAqL1xuICBFeGVjdXRlUm91dGVDb21tYW5kKHJvdXRlQ29tbWFuZDogUm91dGVDb21tYW5kKVxuICB7XG4gICAgbGV0IHJldXNpbmdDb21wb25lbnQgPSBmYWxzZTtcblxuICAgIGxldCBjdXJyZW50U3ViZm9ybU1hZ2ljU2VydmljZTogU3ViZm9ybU1hZ2ljU2VydmljZSA9IDxTdWJmb3JtTWFnaWNTZXJ2aWNlPnJvdXRlQ29tbWFuZC5jYWxsZXJNZ1N1YmZvcm1TZXJ2aWNlUmVmO1xuICAgIGxldCByZWxhdGl2ZVJvdXRlID0gIFN1YmZvcm1NYWdpY1NlcnZpY2UuZ2V0UmVsYXRpdmVSb3V0ZShjdXJyZW50U3ViZm9ybU1hZ2ljU2VydmljZS5hY3RpdmF0ZWRSb3V0ZSk7XG5cbiAgICBpZiAoY3VycmVudFN1YmZvcm1NYWdpY1NlcnZpY2Uucm91dGVzRGljdFtyb3V0ZUNvbW1hbmQucm91dGVyT3V0bGV0TmFtZV0gPT09IHJvdXRlQ29tbWFuZC5yb3V0ZVBhcmFtc1swXSlcbiAgICB7XG4gICAgICAvLyBJZiB0aGUgc3BlY2lmaWVkIHJvdXRlciBvdXRsZXQgYWxyZWFkeSBob3N0cyB0aGUgc2FtZSByb3V0ZXIgcGF0aCwgcm91dGVyLm5hdmlnYXRlKCkgZG9lc24ndCBhY3R1YWxseSBuYXZpZ2F0ZS5cbiAgICAgIC8vIFNvLCBmaXJzdCBjbGVhciB0aGUgb3V0bGV0IChwYXNzaW5nIG51bGwgcm91dGUgcGFyYW1zLCBjbGVhcnMgdGhlIG91dGxldCkgYW5kIHRoZW4gbmF2aWdhdGUgYWdhaW4uXG4gICAgICBjdXJyZW50U3ViZm9ybU1hZ2ljU2VydmljZS5yb3V0ZXIubmF2aWdhdGUoW3tvdXRsZXRzOiB7W3JvdXRlQ29tbWFuZC5yb3V0ZXJPdXRsZXROYW1lXTogbnVsbH19XSwge3JlbGF0aXZlVG86IHJlbGF0aXZlUm91dGV9KVxuICAgICAgICAudGhlbigocmVzdWx0OmJvb2xlYW4pID0+IHtcbiAgICAgICAgICBTdWJmb3JtTWFnaWNTZXJ2aWNlLmN1cnJlbnRDYWxsZXJNZ1N1YmZvcm1TZXJ2aWNlUmVmID0gY3VycmVudFN1YmZvcm1NYWdpY1NlcnZpY2U7XG4gICAgICAgICAgY3VycmVudFN1YmZvcm1NYWdpY1NlcnZpY2UuY3VycmVudFJvdXRlRGVmaW5pdGlvbiA9IHtcbiAgICAgICAgICAgIGZvcm1OYW1lOiByb3V0ZUNvbW1hbmQuZm9ybU5hbWUsXG4gICAgICAgICAgICBwYXJhbWV0ZXJzOiByb3V0ZUNvbW1hbmQucGFyYW1ldGVyc1xuICAgICAgICAgIH07XG5cbiAgICAgICAgICBjdXJyZW50U3ViZm9ybU1hZ2ljU2VydmljZS5QZXJmb3JtUm91dGVyTmF2aWdhdGUocm91dGVDb21tYW5kLnJvdXRlck91dGxldE5hbWUsIHJvdXRlQ29tbWFuZC5yb3V0ZVBhcmFtcyk7XG4gICAgICB9KTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICBTdWJmb3JtTWFnaWNTZXJ2aWNlLmN1cnJlbnRDYWxsZXJNZ1N1YmZvcm1TZXJ2aWNlUmVmID0gY3VycmVudFN1YmZvcm1NYWdpY1NlcnZpY2U7XG4gICAgICBjdXJyZW50U3ViZm9ybU1hZ2ljU2VydmljZS5jdXJyZW50Um91dGVEZWZpbml0aW9uID0ge1xuICAgICAgICBmb3JtTmFtZTogcm91dGVDb21tYW5kLmZvcm1OYW1lLFxuICAgICAgICBwYXJhbWV0ZXJzOiByb3V0ZUNvbW1hbmQucGFyYW1ldGVyc1xuICAgICAgfTtcblxuICAgICAgaWYgKFN1YmZvcm1NYWdpY1NlcnZpY2Uucm91dGVyQ29udGFpbmVycy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGxldCByb3V0ZUNvbnRhaW5lciA9IFN1YmZvcm1NYWdpY1NlcnZpY2Uucm91dGVyQ29udGFpbmVyc1swXTtcbiAgICAgICAgU3ViZm9ybU1hZ2ljU2VydmljZS5yb3V0ZXJDb250YWluZXJzLnNoaWZ0KCk7XG4gICAgICAgIHJvdXRlQ29udGFpbmVyLmluaXRpYWxpemVDb21wb25lbnQoKTtcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICBjdXJyZW50U3ViZm9ybU1hZ2ljU2VydmljZS5QZXJmb3JtUm91dGVyTmF2aWdhdGUocm91dGVDb21tYW5kLnJvdXRlck91dGxldE5hbWUsIHJvdXRlQ29tbWFuZC5yb3V0ZVBhcmFtcyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBQZXJmb3JtUm91dGVyTmF2aWdhdGUocm91dGVyT3V0bGV0TmFtZTogc3RyaW5nLCByb3V0ZVBhcmFtczogTGlzdDxhbnk+KVxuICB7XG4gICAgbGV0IHJlbGF0aXZlUm91dGUgPSAgU3ViZm9ybU1hZ2ljU2VydmljZS5nZXRSZWxhdGl2ZVJvdXRlKHRoaXMuYWN0aXZhdGVkUm91dGUpO1xuXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3sgb3V0bGV0czogeyBbcm91dGVyT3V0bGV0TmFtZV06IHJvdXRlUGFyYW1zIH0gfV0sIHsgcmVsYXRpdmVUbzogcmVsYXRpdmVSb3V0ZSB9KVxuICAgICAgLnRoZW4oKHJlc3VsdDpib29sZWFuKT0+IHtcbiAgICAgICAgICBpZiAocmVzdWx0ICE9PSBudWxsICYmICFyZXN1bHQpIHtcbiAgICAgICAgICAgIGxldCBzdWJmb3JtTWFnaWNTZXJ2aWNlOiBTdWJmb3JtTWFnaWNTZXJ2aWNlID0gU3ViZm9ybU1hZ2ljU2VydmljZS5jdXJyZW50Q2FsbGVyTWdTdWJmb3JtU2VydmljZVJlZjtcbiAgICAgICAgICAgIHN1YmZvcm1NYWdpY1NlcnZpY2UuY3VycmVudFJvdXRlRGVmaW5pdGlvbiA9IG51bGw7XG5cbiAgICAgICAgICAgIFN1YmZvcm1NYWdpY1NlcnZpY2UuY3VycmVudENhbGxlck1nU3ViZm9ybVNlcnZpY2VSZWYgPSBudWxsO1xuICAgICAgICAgICAgc3ViZm9ybU1hZ2ljU2VydmljZS5wZW5kaW5nQ29tbWFuZHNDb2xsZWN0b3Iuc3RvcENvbGxlY3RpbmcoKTtcbiAgICAgICAgICAgIHN1YmZvcm1NYWdpY1NlcnZpY2Uucm91dGVyQ29tbWFuZHNNYWdpY1NlcnZpY2UuRXhlY3V0ZU5leHRDb21tYW5kKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIGluaXQoKVxuICB7XG4gICAgLy8gSWYgY29tbWFuZHMgd2VyZSBpc3N1ZWQgZm9yIHRoaXMgdGFzayBiZWZvcmUgbmdPbkluaXQoKSwgdGhleSB3ZXJlIG5vdCBleGVjdXRlZCBiZWNhdXNlIHRhc2sgaGFkIG5vdCByZWdpc3RlcmVkIGZvciB0aGVtLlxuICAgIC8vIFNvLCBleGVjdXRlIHRoZW0gbm93LlxuICAgIGNvbnN0IHBlbmRpbmdDb21tYW5kczogR3VpQ29tbWFuZFtdID0gdGhpcy5wZW5kaW5nQ29tbWFuZHNDb2xsZWN0b3IuR2V0Q29tbWFuZHModGhpcy50YXNrLnRhc2tJZCk7XG4gICAgaWYgKHBlbmRpbmdDb21tYW5kcy5sZW5ndGggPiAwKSB7XG4gICAgICBwZW5kaW5nQ29tbWFuZHMuZm9yRWFjaChjb21tYW5kID0+IHt0aGlzLnRhc2suZXhlY3V0ZUNvbW1hbmQoY29tbWFuZCk7fSk7XG4gICAgICB0aGlzLnRhc2sucmVmcmVzaFZpZXcoKTtcbiAgICB9XG5cbiAgICB0aGlzLnBlbmRpbmdDb21tYW5kc0NvbGxlY3Rvci5zdG9wQ29sbGVjdGluZygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIHJlZnJlc2hWaWV3KCkge1xuICAgIHRoaXMudGFzay5yZWZyZXNoVmlldygpO1xuICB9XG5cbiAgLy8vXG4gIC8vIHJldHVybiB0aGUgcmVsYXRpdmUgcm91dGVcbiAgLy9cbiAgc3RhdGljIGdldFJlbGF0aXZlUm91dGUoc2VuZEFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSl7XG4gICAgbGV0IGN1cnJlbnRBY3RpdmVSb3V0ZSA9IHNlbmRBY3RpdmF0ZWRSb3V0ZTtcbiAgICBpZiAoY3VycmVudEFjdGl2ZVJvdXRlLnNuYXBzaG90LnJvdXRlQ29uZmlnICE9PSBudWxsICYmIGN1cnJlbnRBY3RpdmVSb3V0ZS5zbmFwc2hvdC5yb3V0ZUNvbmZpZy5wYXRoID09PSAnJykge1xuICAgICAgY3VycmVudEFjdGl2ZVJvdXRlID0gY3VycmVudEFjdGl2ZVJvdXRlLnBhcmVudDtcbiAgICAgIGlmICghY3VycmVudEFjdGl2ZVJvdXRlLnNuYXBzaG90LnJvdXRlQ29uZmlnLmxvYWRDaGlsZHJlbilcbiAgICAgICAgY29uc29sZS5sb2coXCJnZXRSZWxhdGl2ZVJvdXRlKCk6IGJvdGggcGF0aCBhbmQgY3VycmVudEFjdGl2ZVJvdXRlLnNuYXBzaG90LnJvdXRlQ29uZmlnLmxvYWRDaGlsZHJlbiBhcmUgZW1wdHkuXCIpO1xuICAgIH1cbiAgICByZXR1cm4gY3VycmVudEFjdGl2ZVJvdXRlO1xuICB9XG59XG4iXX0=
|
|
184
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ViZm9ybS5tYWdpYy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvc2VydmljZXMvc3ViZm9ybS5tYWdpYy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQWEsVUFBVSxFQUFFLFFBQVEsRUFBZSxNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFL0QsT0FBTyxFQUFDLHlCQUF5QixFQUFhLE1BQU0sZ0NBQWdDLENBQUM7QUFDckYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUVuRixPQUFPLEVBQWdCLDBCQUEwQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFHckcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7Ozs7O0FBT3JFLE1BQU0sT0FBTyxtQkFBbUI7SUFVOUIsWUFBb0IsSUFBc0IsRUFDcEIsY0FBOEIsRUFDOUIsYUFBd0MsRUFDeEMsd0JBQXVELEVBQ3ZELE1BQWMsRUFDZCwwQkFBc0QsRUFDeEQseUJBQW9ELEVBQ3BELE1BQThCLEVBQzlCLFFBQWtCLEVBQ2xCLFFBQWtCO1FBVGxCLFNBQUksR0FBSixJQUFJLENBQWtCO1FBQ3BCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixrQkFBYSxHQUFiLGFBQWEsQ0FBMkI7UUFDeEMsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUErQjtRQUN2RCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsK0JBQTBCLEdBQTFCLDBCQUEwQixDQUE0QjtRQUN4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UUFDRCxPQUFPLGtCQUFrQixDQUFDO0lBQzVCLENBQUM7O0FBck9NLG9EQUFnQyxHQUFRLElBQUssQ0FBQTtBQUU3QyxvQ0FBZ0IsR0FBeUMsSUFBSSxLQUFLLEVBQUcsQ0FBQTtzRkFSakUsbUJBQW1COzJEQUFuQixtQkFBbUIsV0FBbkIsbUJBQW1CO3VGQUFuQixtQkFBbUI7Y0FEL0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBpbGVyLCBDb21wb25lbnQsIEluamVjdGFibGUsIEluamVjdG9yLCBOZ01vZHVsZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGFza01hZ2ljU2VydmljZSB9IGZyb20gJy4vdGFzay5tYWdpY3Muc2VydmljZSc7XG5pbXBvcnQgeyBMaXN0LCBpc051bGxPclVuZGVmaW5lZCB9IGZyb20gJ0BtYWdpYy14cGEvbXNjb3JlbGliJztcbmltcG9ydCB7IEd1aUNvbW1hbmQgfSBmcm9tICdAbWFnaWMteHBhL2d1aSc7XG5pbXBvcnQge0NvbXBvbmVudExpc3RNYWdpY1NlcnZpY2UsIE1vZHVsZURhdGF9IGZyb20gJy4vY29tcG9uZW50LWxpc3QubWFnaWMuc2VydmljZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IENvbW1hbmRzQ29sbGVjdG9yTWFnaWNTZXJ2aWNlIH0gZnJvbSAnLi9jb21tYW5kcy1jb2xsZWN0b3IubWFnaWMuc2VydmljZSc7XG5pbXBvcnQgeyBSb3V0ZURlZmluaXRpb24gfSBmcm9tICcuLi9pbnRlcmZhY2VzL3N1Yi1mb3JtLWRlZmluaXRpb24uaXRlcmZhY2UnO1xuaW1wb3J0IHsgUm91dGVDb21tYW5kLCBSb3V0ZXJDb21tYW5kc01hZ2ljU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3JvdXRlci1jb21tYW5kcy5tYWdpYy5zZXJ2aWNlJztcbmltcG9ydCB7IElTdWJmb3JtTWFnaWNTZXJ2aWNlIH0gZnJvbSAnLi9JU3ViZm9ybU1hZ2ljU2VydmljZSc7XG5pbXBvcnQgeyBSb3V0ZXJDb250YWluZXJNYWdpY0NvbXBvbmVudCB9IGZyb20gJy4uL3VpL3JvdXRlci1jb250YWluZXIubWFnaWMuY29tcG9uZW50JztcbmltcG9ydCB7IE1hZ2ljTGF6eUxvYWRlclNlcnZpY2UgfSBmcm9tICcuL21hZ2ljLmxhenkubG9hZGVyLnNlcnZpY2UnO1xuXG5cbi8qKlxuICogU2VydmljZSBmb3IgbWFuYWdpbmcgc3ViZm9ybXMgYW5kIHJvdXRpbmdcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFN1YmZvcm1NYWdpY1NlcnZpY2UgaW1wbGVtZW50cyBJU3ViZm9ybU1hZ2ljU2VydmljZXtcblxuICBzdWJmb3Jtc0RpY3QgLyo6eyBbeDogc3RyaW5nXTogU3ViZm9ybURlZmluaXRpb24gfSovID0ge307XG4gIHJvdXRlc0RpY3Q6IHsgW3g6IHN0cmluZ106IHN0cmluZyB9ID0ge307IC8vIGRpY3Rpb25hcnkgb2Ygcm91dGVyIG91dGxldCB0byByb3V0ZXIgcGF0aFxuICBjdXJyZW50Um91dGVEZWZpbml0aW9uOiBSb3V0ZURlZmluaXRpb24gPSBudWxsO1xuXG4gIHN0YXRpYyBjdXJyZW50Q2FsbGVyTWdTdWJmb3JtU2VydmljZVJlZjogYW55ID0gbnVsbDtcblxuICBzdGF0aWMgcm91dGVyQ29udGFpbmVyczogQXJyYXk8Um91dGVyQ29udGFpbmVyTWFnaWNDb21wb25lbnQ+ID0gbmV3IEFycmF5KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0YXNrOiBUYXNrTWFnaWNTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcm90ZWN0ZWQgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICAgICAgICAgICBwcm90ZWN0ZWQgY29tcG9uZW50TGlzdDogQ29tcG9uZW50TGlzdE1hZ2ljU2VydmljZSxcbiAgICAgICAgICAgICAgcHJvdGVjdGVkIHBlbmRpbmdDb21tYW5kc0NvbGxlY3RvcjogQ29tbWFuZHNDb2xsZWN0b3JNYWdpY1NlcnZpY2UsXG4gICAgICAgICAgICAgIHByb3RlY3RlZCByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgICAgICAgcHJvdGVjdGVkIHJvdXRlckNvbW1hbmRzTWFnaWNTZXJ2aWNlOiBSb3V0ZXJDb21tYW5kc01hZ2ljU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBjb21wb25lbnRMaXN0TWFnaWNTZXJ2aWNlOiBDb21wb25lbnRMaXN0TWFnaWNTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIGxvYWRlcjogTWFnaWNMYXp5TG9hZGVyU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgICAgICAgIHByaXZhdGUgY29tcGlsZXI6IENvbXBpbGVyKSB7XG4gIH1cblxuICAvKipcbiAgICogRmluZHMgYW5kIHJldHVybnMgdGhlIGNvbXBvbmVudCBhY2NvcmRpbmcgdG8gdGhlIHN1YmZvcm0gbmFtZVxuICAgKiBAcGFyYW0gc3ViZm9ybU5hbWVcbiAgICogQHJldHVybnNcbiAgICovXG4gIG1nR2V0Q29tcChzdWJmb3JtTmFtZTogc3RyaW5nKTogQ29tcG9uZW50IHtcbiAgICBpZiAoc3ViZm9ybU5hbWUgaW4gdGhpcy5zdWJmb3Jtc0RpY3QpIHtcbiAgICAgIGxldCBmb3JtTmFtZTogc3RyaW5nID0gdGhpcy5zdWJmb3Jtc0RpY3Rbc3ViZm9ybU5hbWVdLmZvcm1OYW1lO1xuICAgICAgaWYgKGZvcm1OYW1lKVxuICAgICAgICByZXR1cm4gdGhpcy5jb21wb25lbnRMaXN0LmdldENvbXBvbmVudChmb3JtTmFtZSk7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIHN1YmZvcm1cbiAgICogQHBhcmFtIHN1YmZvcm1OYW1lXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICBtZ0dldFBhcmFtZXRlcnMoc3ViZm9ybU5hbWU6IHN0cmluZyk6IGFueSB7XG4gICAgaWYgKHN1YmZvcm1OYW1lIGluIHRoaXMuc3ViZm9ybXNEaWN0KSB7XG4gICAgICByZXR1cm4gdGhpcy5zdWJmb3Jtc0RpY3Rbc3ViZm9ybU5hbWVdLnBhcmFtZXRlcnM7XG4gICAgfVxuICAgIGVsc2VcbiAgICAgIHJldHVybiAnJztcbiAgfVxuXG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBkZWxldGVTdWJmb3JtQ29tcCAoc3ViZm9ybUNvbnRyb2xOYW1lOiBzdHJpbmcsIGZvcm1OYW1lOiBzdHJpbmcpICB7XG5cbiAgICAgIGlmIChPYmplY3Qua2V5cyh0aGlzLnN1YmZvcm1zRGljdCkuaW5kZXhPZihzdWJmb3JtQ29udHJvbE5hbWUpID49IDApXG4gICAgICB7XG4gICAgICAgIGlmICh0aGlzLnN1YmZvcm1zRGljdFtzdWJmb3JtQ29udHJvbE5hbWVdLmZvcm1OYW1lID09PSBmb3JtTmFtZSkge1xuXG4gICAgICAgIHRoaXMuc3ViZm9ybXNEaWN0W3N1YmZvcm1Db250cm9sTmFtZV0gPSB7fTtcbiAgICAgICAgdGhpcy50YXNrLnJlZnJlc2hWaWV3KCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBhZGRTdWJmb3JtQ29tcCAoc3ViZm9ybUNvbnRyb2xOYW1lOiBzdHJpbmcsIGZvcm1OYW1lOiBzdHJpbmcsIHRhc2tJZDogc3RyaW5nLCB0YXNrRGVzY3JpcHRpb246IGFueSwgcm91dGVyUGF0aDogc3RyaW5nLCBwYXJhbXM6IExpc3Q8YW55PiwgaW5EZWZhdWx0T3V0bGV0OiBib29sZWFuKSAge1xuICAgIHRoaXMucGVuZGluZ0NvbW1hbmRzQ29sbGVjdG9yLnN0YXJ0Q29sbGVjdGluZygpO1xuXG4gICAgbGV0IHJlZnJlc2hOZWVkZWQgPSBmYWxzZTtcbiAgICBpZiAoaXNOdWxsT3JVbmRlZmluZWQocm91dGVyUGF0aCkpIHsgLy8gY2FsbCBpbiBkZXN0aW5hdGlvbiBzdWJmb3JtXG4gICAgICBpZiAoT2JqZWN0LmtleXModGhpcy5zdWJmb3Jtc0RpY3QpLmluZGV4T2Yoc3ViZm9ybUNvbnRyb2xOYW1lKSA+PSAwKVxuICAgICAge1xuICAgICAgICBpZiAodGhpcy5zdWJmb3Jtc0RpY3Rbc3ViZm9ybUNvbnRyb2xOYW1lXS5mb3JtTmFtZSA9PT0gZm9ybU5hbWUpIHtcblxuICAgICAgICAgIHRoaXMuc3ViZm9ybXNEaWN0W3N1YmZvcm1Db250cm9sTmFtZV0gPSB7fTtcbiAgICAgICAgICB0aGlzLnRhc2sucmVmcmVzaFZpZXcoKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBMb2FkIHRoZSBsYXp5IGxvYWQgbW9kdWxlLCBpZiBuZWVkZWRcbiAgICAgIGxldCBtb2R1bGVSZWY6IE5nTW9kdWxlUmVmPGFueT4gPSB0aGlzLmNvbXBvbmVudExpc3RNYWdpY1NlcnZpY2UuZ2V0TW9kdWxlUmVmKGZvcm1OYW1lKTtcblxuICAgICAgaWYgKG1vZHVsZVJlZiA9PSBudWxsKSB7XG4gICAgICAgIGxldCBsYXp5TG9hZE1vZHVsZTogTW9kdWxlRGF0YSA9IHRoaXMuY29tcG9uZW50TGlzdE1hZ2ljU2VydmljZS5nZXRMYXp5TG9hZE1vZHVsZURhdGEoZm9ybU5hbWUpO1xuXG4gICAgICAgIGlmIChsYXp5TG9hZE1vZHVsZSAhPSBudWxsKSB7XG4gICAgICAgICAgLy8gZXh0cmFjdCBuYW1lIG9mIG1vZHVsZShYWCkgZnJvbSAnTWFnaWNYWE1vZHVsZSdcbiAgICAgICAgICBsZXQgbW9kdWxlTmFtZSA9IGxhenlMb2FkTW9kdWxlLm1vZHVsZU5hbWUucmVwbGFjZSgnTWFnaWMnLCAnJyk7XG4gICAgICAgICAgbW9kdWxlTmFtZSA9IG1vZHVsZU5hbWUucmVwbGFjZSgnTW9kdWxlJywgJycpO1xuICAgICAgICAgIHRoaXMubG9hZGVyLkxvYWQobW9kdWxlTmFtZSkudGhlbiggbSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb21waWxlZCA9IHRoaXMuY29tcGlsZXIuY29tcGlsZU1vZHVsZUFuZEFsbENvbXBvbmVudHNTeW5jKDxhbnk+bVtsYXp5TG9hZE1vZHVsZS5tb2R1bGVOYW1lXSk7XG4gICAgICAgICAgICBtb2R1bGVSZWYgPSBjb21waWxlZC5uZ01vZHVsZUZhY3RvcnkuY3JlYXRlKHRoaXMuaW5qZWN0b3IpO1xuICAgICAgICAgICAgICB0aGlzLnN1YmZvcm1zRGljdFtzdWJmb3JtQ29udHJvbE5hbWVdID0ge1xuICAgICAgICAgICAgICAgIGZvcm1OYW1lLFxuICAgICAgICAgICAgICAgIHBhcmFtZXRlcnM6IHt0YXNrSWRQYXJhbTogdGFza0lkLCB0YXNrRGVzY3JpcHRpb246IHRhc2tEZXNjcmlwdGlvbn1cbiAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgdGhpcy50YXNrLnJlZnJlc2hWaWV3KCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZWxzZSB7XG4gICAgICAgIHRoaXMuc3ViZm9ybXNEaWN0W3N1YmZvcm1Db250cm9sTmFtZV0gPSB7XG4gICAgICAgICAgZm9ybU5hbWUsXG4gICAgICAgICAgcGFyYW1ldGVyczoge3Rhc2tJZFBhcmFtOiB0YXNrSWQsIHRhc2tEZXNjcmlwdGlvbjogdGFza0Rlc2NyaXB0aW9ufVxuICAgICAgICB9O1xuICAgICAgICAvL3RoaXMucmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgcmVmcmVzaE5lZWRlZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIGVsc2UgeyAvLyBjYWxsIHJvdXRlXG4gICAgICBpZiAoaW5EZWZhdWx0T3V0bGV0KVxuICAgICAgICBzdWJmb3JtQ29udHJvbE5hbWUgPSAncHJpbWFyeSc7XG5cbiAgICAgIGxldCByb3V0ZVBhcmFtczogTGlzdDxhbnk+ID0gbmV3IExpc3QoKTtcbiAgICAgIHJvdXRlUGFyYW1zLnB1c2gocm91dGVyUGF0aCk7XG4gICAgICBpZiAocGFyYW1zICE9PSBudWxsKSB7XG4gICAgICAgIHJvdXRlUGFyYW1zID0gPExpc3Q8YW55Pj5yb3V0ZVBhcmFtcy5jb25jYXQocGFyYW1zKTtcbiAgICAgIH1cblxuICAgICAgbGV0IHJvdXRlQ29tbWFuZDogUm91dGVDb21tYW5kID0ge1xuICAgICAgICBjYWxsZXJNZ1N1YmZvcm1TZXJ2aWNlUmVmOiB0aGlzLFxuICAgICAgICByb3V0ZXJPdXRsZXROYW1lOiBzdWJmb3JtQ29udHJvbE5hbWUsXG4gICAgICAgIGZvcm1OYW1lOiBmb3JtTmFtZSxcbiAgICAgICAgcGFyYW1ldGVyczoge3Rhc2tJZFBhcmFtOiB0YXNrSWQsIHRhc2tEZXNjcmlwdGlvbjogdGFza0Rlc2NyaXB0aW9ufSxcbiAgICAgICAgcm91dGVQYXJhbXM6IHJvdXRlUGFyYW1zXG4gICAgICB9O1xuXG4gICAgICAvLyBJZiBTdWJmb3JtTWFnaWNTZXJ2aWNlLmN1cnJlbnRDYWxsZXJNZ1N1YmZvcm1TZXJ2aWNlUmVmICE9PSBudWxsIG1lYW5zIHRoYXQgcm91dGVyLm5hdmlnYXRlKCkgaXMgYWxyZWFkeVxuICAgICAgLy8gY2FsbGVkIG9uY2UsIGJ1dCBhbmd1bGFyIGhhcyBub3QgeWV0IGV4ZWN1dGVkIGl0IChuZ09uSW5pdCBvZiB0aGUgbmV3IGNvbXBvbmVudCBpcyBub3QgY2FsbGVkKS5cbiAgICAgIC8vIEluIHN1Y2ggYSBjYXNlLCBkbyBub3QgZXhlY3V0ZWQgcm91dGVyLm5hdmlnYXRlKCkgYWdhaW4uIEJlY2F1c2UsIGFuZ3VsYXIgaWdub3JlcyB0aGUgcHJldmlvdXMgb25lLlxuICAgICAgLy8gU28sIHB1dCBhIGNvbW1hbmQgaW4gdGhlIHF1ZXVlIHdoaWNoIHdpbGwgYmUgZXhlY3V0ZWQgYWZ0ZXIgdGhlIGZpcnN0IG9uZSBpcyBleGVjdXRlZC5cbiAgICBpZiAoU3ViZm9ybU1hZ2ljU2VydmljZS5jdXJyZW50Q2FsbGVyTWdTdWJmb3JtU2VydmljZVJlZiA9PT0gbnVsbClcbiAgICAgICAgdGhpcy5FeGVjdXRlUm91dGVDb21tYW5kKHJvdXRlQ29tbWFuZCk7XG4gICAgICBlbHNlXG4gICAgICAgIHRoaXMucm91dGVyQ29tbWFuZHNNYWdpY1NlcnZpY2UuQWRkUm91dGVDb21tYW5kKHJvdXRlQ29tbWFuZCk7XG4gICAgfVxuICAgIGlmICggcmVmcmVzaE5lZWRlZClcbiAgICAgIHRoaXMudGFzay5yZWZyZXNoVmlldygpO1xuICB9XG5cbiAgLyoqXG4gICAqIE9wZW4gdGhlIHN1YmZvcm0gdXNpbmcgYSByb3V0ZSBjb21tYW5kXG4gICAqL1xuICBFeGVjdXRlUm91dGVDb21tYW5kKHJvdXRlQ29tbWFuZDogUm91dGVDb21tYW5kKVxuICB7XG4gICAgbGV0IGN1cnJlbnRTdWJmb3JtTWFnaWNTZXJ2aWNlOiBTdWJmb3JtTWFnaWNTZXJ2aWNlID0gPFN1YmZvcm1NYWdpY1NlcnZpY2U+cm91dGVDb21tYW5kLmNhbGxlck1nU3ViZm9ybVNlcnZpY2VSZWY7XG4gICAgbGV0IHJlbGF0aXZlUm91dGUgPSAgU3ViZm9ybU1hZ2ljU2VydmljZS5nZXRSZWxhdGl2ZVJvdXRlKGN1cnJlbnRTdWJmb3JtTWFnaWNTZXJ2aWNlLmFjdGl2YXRlZFJvdXRlKTtcblxuICAgIGlmIChjdXJyZW50U3ViZm9ybU1hZ2ljU2VydmljZS5yb3V0ZXNEaWN0W3JvdXRlQ29tbWFuZC5yb3V0ZXJPdXRsZXROYW1lXSA9PT0gcm91dGVDb21tYW5kLnJvdXRlUGFyYW1zWzBdKVxuICAgIHtcbiAgICAgIC8vIElmIHRoZSBzcGVjaWZpZWQgcm91dGVyIG91dGxldCBhbHJlYWR5IGhvc3RzIHRoZSBzYW1lIHJvdXRlciBwYXRoLCByb3V0ZXIubmF2aWdhdGUoKSBkb2Vzbid0IGFjdHVhbGx5IG5hdmlnYXRlLlxuICAgICAgLy8gU28sIGZpcnN0IGNsZWFyIHRoZSBvdXRsZXQgKHBhc3NpbmcgbnVsbCByb3V0ZSBwYXJhbXMsIGNsZWFycyB0aGUgb3V0bGV0KSBhbmQgdGhlbiBuYXZpZ2F0ZSBhZ2Fpbi5cbiAgICAgIGN1cnJlbnRTdWJmb3JtTWFnaWNTZXJ2aWNlLnJvdXRlci5uYXZpZ2F0ZShbe291dGxldHM6IHtbcm91dGVDb21tYW5kLnJvdXRlck91dGxldE5hbWVdOiBudWxsfX1dLCB7cmVsYXRpdmVUbzogcmVsYXRpdmVSb3V0ZX0pXG4gICAgICAgIC50aGVuKChyZXN1bHQ6Ym9vbGVhbikgPT4ge1xuICAgICAgICAgIFN1YmZvcm1NYWdpY1NlcnZpY2UuY3VycmVudENhbGxlck1nU3ViZm9ybVNlcnZpY2VSZWYgPSBjdXJyZW50U3ViZm9ybU1hZ2ljU2VydmljZTtcbiAgICAgICAgICBjdXJyZW50U3ViZm9ybU1hZ2ljU2VydmljZS5jdXJyZW50Um91dGVEZWZpbml0aW9uID0ge1xuICAgICAgICAgICAgZm9ybU5hbWU6IHJvdXRlQ29tbWFuZC5mb3JtTmFtZSxcbiAgICAgICAgICAgIHBhcmFtZXRlcnM6IHJvdXRlQ29tbWFuZC5wYXJhbWV0ZXJzXG4gICAgICAgICAgfTtcblxuICAgICAgICAgIGN1cnJlbnRTdWJmb3JtTWFnaWNTZXJ2aWNlLlBlcmZvcm1Sb3V0ZXJOYXZpZ2F0ZShyb3V0ZUNvbW1hbmQucm91dGVyT3V0bGV0TmFtZSwgcm91dGVDb21tYW5kLnJvdXRlUGFyYW1zKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIFN1YmZvcm1NYWdpY1NlcnZpY2UuY3VycmVudENhbGxlck1nU3ViZm9ybVNlcnZpY2VSZWYgPSBjdXJyZW50U3ViZm9ybU1hZ2ljU2VydmljZTtcbiAgICAgIGN1cnJlbnRTdWJmb3JtTWFnaWNTZXJ2aWNlLmN1cnJlbnRSb3V0ZURlZmluaXRpb24gPSB7XG4gICAgICAgIGZvcm1OYW1lOiByb3V0ZUNvbW1hbmQuZm9ybU5hbWUsXG4gICAgICAgIHBhcmFtZXRlcnM6IHJvdXRlQ29tbWFuZC5wYXJhbWV0ZXJzXG4gICAgICB9O1xuXG4gICAgICBpZiAoU3ViZm9ybU1hZ2ljU2VydmljZS5yb3V0ZXJDb250YWluZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgbGV0IHJvdXRlQ29udGFpbmVyID0gU3ViZm9ybU1hZ2ljU2VydmljZS5yb3V0ZXJDb250YWluZXJzWzBdO1xuICAgICAgICBTdWJmb3JtTWFnaWNTZXJ2aWNlLnJvdXRlckNvbnRhaW5lcnMuc2hpZnQoKTtcbiAgICAgICAgcm91dGVDb250YWluZXIuaW5pdGlhbGl6ZUNvbXBvbmVudCgpO1xuICAgICAgfVxuICAgICAgZWxzZSB7XG4gICAgICAgIGN1cnJlbnRTdWJmb3JtTWFnaWNTZXJ2aWNlLlBlcmZvcm1Sb3V0ZXJOYXZpZ2F0ZShyb3V0ZUNvbW1hbmQucm91dGVyT3V0bGV0TmFtZSwgcm91dGVDb21tYW5kLnJvdXRlUGFyYW1zKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIFBlcmZvcm1Sb3V0ZXJOYXZpZ2F0ZShyb3V0ZXJPdXRsZXROYW1lOiBzdHJpbmcsIHJvdXRlUGFyYW1zOiBMaXN0PGFueT4pXG4gIHtcbiAgICBsZXQgcmVsYXRpdmVSb3V0ZSA9ICBTdWJmb3JtTWFnaWNTZXJ2aWNlLmdldFJlbGF0aXZlUm91dGUodGhpcy5hY3RpdmF0ZWRSb3V0ZSk7XG5cbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbeyBvdXRsZXRzOiB7IFtyb3V0ZXJPdXRsZXROYW1lXTogcm91dGVQYXJhbXMgfSB9XSwgeyByZWxhdGl2ZVRvOiByZWxhdGl2ZVJvdXRlIH0pXG4gICAgICAudGhlbigocmVzdWx0OmJvb2xlYW4pPT4ge1xuICAgICAgICAgIGlmIChyZXN1bHQgIT09IG51bGwgJiYgIXJlc3VsdCkge1xuICAgICAgICAgICAgbGV0IHN1YmZvcm1NYWdpY1NlcnZpY2U6IFN1YmZvcm1NYWdpY1NlcnZpY2UgPSBTdWJmb3JtTWFnaWNTZXJ2aWNlLmN1cnJlbnRDYWxsZXJNZ1N1YmZvcm1TZXJ2aWNlUmVmO1xuICAgICAgICAgICAgc3ViZm9ybU1hZ2ljU2VydmljZS5jdXJyZW50Um91dGVEZWZpbml0aW9uID0gbnVsbDtcblxuICAgICAgICAgICAgU3ViZm9ybU1hZ2ljU2VydmljZS5jdXJyZW50Q2FsbGVyTWdTdWJmb3JtU2VydmljZVJlZiA9IG51bGw7XG4gICAgICAgICAgICBzdWJmb3JtTWFnaWNTZXJ2aWNlLnBlbmRpbmdDb21tYW5kc0NvbGxlY3Rvci5zdG9wQ29sbGVjdGluZygpO1xuICAgICAgICAgICAgc3ViZm9ybU1hZ2ljU2VydmljZS5yb3V0ZXJDb21tYW5kc01hZ2ljU2VydmljZS5FeGVjdXRlTmV4dENvbW1hbmQoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgaW5pdCgpXG4gIHtcbiAgICAvLyBJZiBjb21tYW5kcyB3ZXJlIGlzc3VlZCBmb3IgdGhpcyB0YXNrIGJlZm9yZSBuZ09uSW5pdCgpLCB0aGV5IHdlcmUgbm90IGV4ZWN1dGVkIGJlY2F1c2UgdGFzayBoYWQgbm90IHJlZ2lzdGVyZWQgZm9yIHRoZW0uXG4gICAgLy8gU28sIGV4ZWN1dGUgdGhlbSBub3cuXG4gICAgY29uc3QgcGVuZGluZ0NvbW1hbmRzOiBHdWlDb21tYW5kW10gPSB0aGlzLnBlbmRpbmdDb21tYW5kc0NvbGxlY3Rvci5HZXRDb21tYW5kcyh0aGlzLnRhc2sudGFza0lkKTtcbiAgICBpZiAocGVuZGluZ0NvbW1hbmRzLmxlbmd0aCA+IDApIHtcbiAgICAgIHBlbmRpbmdDb21tYW5kcy5mb3JFYWNoKGNvbW1hbmQgPT4ge3RoaXMudGFzay5leGVjdXRlQ29tbWFuZChjb21tYW5kKTt9KTtcbiAgICAgIHRoaXMudGFzay5yZWZyZXNoVmlldygpO1xuICAgIH1cblxuICAgIHRoaXMucGVuZGluZ0NvbW1hbmRzQ29sbGVjdG9yLnN0b3BDb2xsZWN0aW5nKCk7XG4gIH1cblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgcmVmcmVzaFZpZXcoKSB7XG4gICAgdGhpcy50YXNrLnJlZnJlc2hWaWV3KCk7XG4gIH1cblxuICAvLy9cbiAgLy8gcmV0dXJuIHRoZSByZWxhdGl2ZSByb3V0ZVxuICAvL1xuICBzdGF0aWMgZ2V0UmVsYXRpdmVSb3V0ZShzZW5kQWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlKXtcbiAgICBsZXQgY3VycmVudEFjdGl2ZVJvdXRlID0gc2VuZEFjdGl2YXRlZFJvdXRlO1xuICAgIGlmIChjdXJyZW50QWN0aXZlUm91dGUuc25hcHNob3Qucm91dGVDb25maWcgIT09IG51bGwgJiYgY3VycmVudEFjdGl2ZVJvdXRlLnNuYXBzaG90LnJvdXRlQ29uZmlnLnBhdGggPT09ICcnKSB7XG4gICAgICBjdXJyZW50QWN0aXZlUm91dGUgPSBjdXJyZW50QWN0aXZlUm91dGUucGFyZW50O1xuICAgICAgaWYgKCFjdXJyZW50QWN0aXZlUm91dGUuc25hcHNob3Qucm91dGVDb25maWcubG9hZENoaWxkcmVuKVxuICAgICAgICBjb25zb2xlLmxvZygnZ2V0UmVsYXRpdmVSb3V0ZSgpOiBib3RoIHBhdGggYW5kIGN1cnJlbnRBY3RpdmVSb3V0ZS5zbmFwc2hvdC5yb3V0ZUNvbmZpZy5sb2FkQ2hpbGRyZW4gYXJlIGVtcHR5LicpO1xuICAgIH1cbiAgICByZXR1cm4gY3VycmVudEFjdGl2ZVJvdXRlO1xuICB9XG59XG4iXX0=
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Directive, ElementRef, Input, Renderer2, ViewContainerRef } from
|
|
2
|
-
import { getGuiEventObj } from
|
|
3
|
-
import { TaskMagicService } from
|
|
1
|
+
import { Directive, ElementRef, Input, Renderer2, ViewContainerRef } from '@angular/core';
|
|
2
|
+
import { getGuiEventObj } from '@magic-xpa/engine';
|
|
3
|
+
import { TaskMagicService } from '../../services/task.magics.service';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
import * as i1 from "../../services/task.magics.service";
|
|
6
6
|
export class NonMagicControlDirective {
|
|
@@ -24,11 +24,10 @@ export class NonMagicControlDirective {
|
|
|
24
24
|
regEvents() {
|
|
25
25
|
this.eventHandlers['focusin'] = this.OnFocus.bind(this);
|
|
26
26
|
Object.keys(this.eventHandlers).forEach((key) => {
|
|
27
|
-
this.focusUnlistener = this.renderer.listen(this.htmlElement, key, this.eventHandlers[key]);
|
|
28
27
|
});
|
|
29
28
|
}
|
|
30
29
|
OnFocus() {
|
|
31
|
-
this.task.insertEvent(getGuiEventObj('focusOnNonMagicControl',
|
|
30
|
+
this.task.insertEvent(getGuiEventObj('focusOnNonMagicControl', '', -1));
|
|
32
31
|
event.cancelBubble = true;
|
|
33
32
|
}
|
|
34
33
|
ngOnInit() {
|
|
@@ -46,4 +45,4 @@ NonMagicControlDirective.ɵdir = i0.ɵɵdefineDirective({ type: NonMagicControlD
|
|
|
46
45
|
type: Input,
|
|
47
46
|
args: ['NonMagicControl']
|
|
48
47
|
}] }); })();
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTm9uTWFnaWNDb250cm9sRGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvdWkvZGlyZWN0aXZlcy9Ob25NYWdpY0NvbnRyb2xEaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFVLFNBQVMsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNoRyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFFakQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sb0NBQW9DLENBQUM7OztBQVVwRSxNQUFNLE9BQU8sd0JBQXdCO0lBMENuQyxZQUFzQixLQUF1QixFQUN2QixPQUFtQixFQUNuQixRQUFtQixFQUNuQixLQUF1QjtRQUh2QixVQUFLLEdBQUwsS0FBSyxDQUFrQjtRQUN2QixZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQ25CLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsVUFBSyxHQUFMLEtBQUssQ0FBa0I7UUEzQnJDLGtCQUFhLEdBQW1DLEVBQUUsQ0FBQztRQWVwRCxrQkFBYSxHQUFHLEtBQUssQ0FBQztRQWMzQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDO0lBQ2hELENBQUM7SUEvQ0QsSUFDSSxLQUFLLENBQUMsR0FBRztRQUNYLElBQUksQ0FBQyxFQUFFLEdBQUcsR0FBRyxDQUFDO1FBQ2QsSUFBSSxDQUFDLFFBQVEsR0FBRyxpQkFBaUIsQ0FBQztJQUNwQyxDQUFDO0lBQUEsQ0FBQztJQWlERixJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUtTLFNBQVM7UUFHakIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4RCxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtRQUNoRCxDQUFDLENBQUMsQ0FBQztJQUVMLENBQUM7SUFLTyxPQUFPO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLHdCQUF3QixFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDeEUsS0FBSyxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7SUFDNUIsQ0FBQztJQUtELFFBQVE7UUFDTixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQzs7Z0dBbkZVLHdCQUF3Qjs2REFBeEIsd0JBQXdCO3VGQUF4Qix3QkFBd0I7Y0FKcEMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSxtQkFBbUI7YUFDOUI7bUpBSUssS0FBSztrQkFEUixLQUFLO21CQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgT25Jbml0LCBSZW5kZXJlcjIsIFZpZXdDb250YWluZXJSZWZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge2dldEd1aUV2ZW50T2JqfSBmcm9tICdAbWFnaWMteHBhL2VuZ2luZSc7XHJcbmltcG9ydCB7VGFza0Jhc2VNYWdpY0NvbXBvbmVudH0gZnJvbSAnLi4vdGFzay1iYXNlLm1hZ2ljLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7VGFza01hZ2ljU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMvdGFzay5tYWdpY3Muc2VydmljZSc7XHJcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcclxuXHJcbi8qKlxyXG4gKiBSZXNwb25zaWJsZSBmb3IgY29ubmVjdGluZyBIVE1MIGVsZW1lbnRzIHRvIHRoZSBNYWdpYyBXZWJDbGllbnQgZW5naW5lIHNob3dpbmcgaXQgaXMgbm90IE1hZ2ljIENvbnRyb2wgYnV0IGEgRHVtbXkgY29udHJvbCB3aGljaCBpcyB1c2VkIHRvIG5vdGlmeSBvbmx5IHJlY2VlaXZlIGZvY3VzIGV2ZW50IGZvciBub3dcclxuICovXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW05vbk1hZ2ljQ29udHJvbF0nXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgTm9uTWFnaWNDb250cm9sRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoJ05vbk1hZ2ljQ29udHJvbCcpXHJcbiAgc2V0IG1hZ2ljKHZhbCkge1xyXG4gICAgdGhpcy5pZCA9IHZhbDtcclxuICAgIHRoaXMuc2VsZWN0b3IgPSAnTm9uTWFnaWNDb250cm9sJztcclxuICB9O1xyXG5cclxuICAvKipcclxuICAgKiBUaGUgSFRNTCBlbGVtZW50IGNvbm5lY3RlZCB0byB0aGlzIGRpcmVjdGl2ZVxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBodG1sRWxlbWVudDogSFRNTEVsZW1lbnQ7XHJcbiAgLyoqXHJcbiAgICogTWFnaWMncyBjb21wb25lbnQgaGFuZGxpbmcgdGhpcyBjb250cm9sXHJcbiAgICovXHJcbiAgcHVibGljIGNvbXBvbmVudDogVGFza0Jhc2VNYWdpY0NvbXBvbmVudDtcclxuICAvKipcclxuICAgKiBDb2xsZWN0aW9uIG9mIGV2ZW50IGhhbmRsZXJzIGZvciB0aGlzIGVsZW1lbnRcclxuICAgKi9cclxuICBwcml2YXRlIGV2ZW50SGFuZGxlcnM6IHsgW2tleTogc3RyaW5nXTogKCkgPT4gdm9pZDsgfSA9IHt9O1xyXG4gIC8qKlxyXG4gICAqIElkIG9mIHRoaXMgZWxlbWVudFxyXG4gICAqL1xyXG4gIHB1YmxpYyBpZDogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEBpZ25vcmVcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgc2VsZWN0b3I6IHN0cmluZztcclxuICAvKipcclxuICAgKiBAaWdub3JlXHJcbiAgICovXHJcbiAgc3Vic2NyaWJlUmVmcmVzaERvbTogU3Vic2NyaXB0aW9uO1xyXG5cclxuXHJcbiAgcHVibGljIGV2ZW50c09ubHlWYWwgPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICpcclxuICAgKiBAcGFyYW0gX3Rhc2sgVGhlIHRhc2sgc2VydmljZVxyXG4gICAqIEBwYXJhbSBlbGVtZW50IFRoZSBlbGVtZW50IGZvciB3aGljaCB0aGUgZGlyZWN0aXZlIGlzIGFwcGxpZWRcclxuICAgKiBAcGFyYW0gcmVuZGVyZXIgUmVuZGVyZXIgZm9yIHRoZSBlbGVtZW50XHJcbiAgICogQHBhcmFtIHZjUmVmXHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIF90YXNrOiBUYXNrTWFnaWNTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHByb3RlY3RlZCBlbGVtZW50OiBFbGVtZW50UmVmLFxyXG4gICAgICAgICAgICAgIHByb3RlY3RlZCByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgICAgICAgICAgIHByb3RlY3RlZCB2Y1JlZjogVmlld0NvbnRhaW5lclJlZikge1xyXG5cclxuICAgIHRoaXMuaHRtbEVsZW1lbnQgPSB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCB0aGUgdGFzayBzZXJ2aWNlXHJcbiAgICogQHJldHVybnNcclxuICAgKi9cclxuICBnZXQgdGFzaygpOiBUYXNrTWFnaWNTZXJ2aWNlIHtcclxuICAgIHJldHVybiB0aGlzLl90YXNrO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmVnaXN0ZXIgdG8gdGhlIGV2ZW50cyB0aGlzIGVsZW1lbnQgbWF5IG5lZWQgdG8gaGFuZGxlXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIHJlZ0V2ZW50cygpIHtcclxuXHJcbiAgICAvLyBIYW5kbGUgZXZlbnRzIGZvciB3aGljaCBldmVudCBoYW5kbGVyIG1heSBiZSByZW1vdmVkIGFuZCByZXN0b3JlZFxyXG4gICAgdGhpcy5ldmVudEhhbmRsZXJzWydmb2N1c2luJ10gPSB0aGlzLk9uRm9jdXMuYmluZCh0aGlzKTtcclxuICAgIE9iamVjdC5rZXlzKHRoaXMuZXZlbnRIYW5kbGVycykuZm9yRWFjaCgoa2V5KSA9PiB7XHJcbiAgICB9KTtcclxuXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBIYW5kbGUgZm9jdXMgZXZlbnRcclxuICAgKi9cclxuICBwcml2YXRlIE9uRm9jdXMoKSB7XHJcbiAgICB0aGlzLnRhc2suaW5zZXJ0RXZlbnQoZ2V0R3VpRXZlbnRPYmooJ2ZvY3VzT25Ob25NYWdpY0NvbnRyb2wnLCAnJywgLTEpKTtcclxuICAgIGV2ZW50LmNhbmNlbEJ1YmJsZSA9IHRydWU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJbml0aWFsaXplIHRoaXMgb2JqZWN0XHJcbiAgICovXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlZ0V2ZW50cygpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -26,7 +26,6 @@ export class NoControlMagicDirective extends MagicDirective {
|
|
|
26
26
|
}
|
|
27
27
|
if (this.isRadio()) {
|
|
28
28
|
this.htmlElement.addEventListener('change', (e) => {
|
|
29
|
-
let result = this.task.getFormControl('0', this.id);
|
|
30
29
|
let guiEvent = getGuiEventObj("selectionchanged", this.id, 0);
|
|
31
30
|
guiEvent.Value = (e.target).value;
|
|
32
31
|
this.task.insertEvent(guiEvent);
|
|
@@ -189,4 +188,4 @@ NoControlMagicDirective.ɵdir = i0.ɵɵdefineDirective({ type: NoControlMagicDir
|
|
|
189
188
|
type: Input,
|
|
190
189
|
args: ['magicnc']
|
|
191
190
|
}] }); })();
|
|
192
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9jb250cm9sLm1hZ2ljLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL3VpL2RpcmVjdGl2ZXMvbWFnaWMvbm9jb250cm9sLm1hZ2ljLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQUMsV0FBVyxFQUFhLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkQsT0FBTyxFQUFZLGNBQWMsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBRTVELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTyxnQkFBZ0IsQ0FBQztBQUMvQyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDdkUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDcEUsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7Ozs7QUFTeEQsTUFBTSxPQUFPLHVCQUF3QixTQUFRLGNBQWM7SUFJekQsWUFDRSxLQUEwQixFQUMxQixPQUFvQixFQUNwQixRQUFtQixFQUNuQixLQUEwQixFQUNkLFFBQTJCO1FBQ3ZDLEtBQUssQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQVRELElBQXNCLEtBQUssQ0FBQyxHQUFHLElBQUcsSUFBSSxDQUFDLEVBQUUsR0FBRyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLFNBQVMsQ0FBQyxDQUFBLENBQUM7SUFBQSxDQUFDO0lBVzdF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QyxZQUFZLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUNwRCxNQUFNO1NBQ1Q7SUFDSCxDQUFDOzs4RkFyTlUsdUJBQXVCOzREQUF2Qix1QkFBdUI7dUZBQXZCLHVCQUF1QjtjQUpuQyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLFdBQVc7YUFDdEI7O3NCQVdJLFFBQVE7d0JBUFcsS0FBSztrQkFBMUIsS0FBSzttQkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBSZW5kZXJlcjIsIFZpZXdDb250YWluZXJSZWYsIE9wdGlvbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtDb21tYW5kVHlwZSwgR3VpQ29tbWFuZH0gZnJvbSBcIkBtYWdpYy14cGEvZ3VpXCI7XHJcbmltcG9ydCB7SUd1aUV2ZW50LCBnZXRHdWlFdmVudE9ian0gZnJvbSBcIkBtYWdpYy14cGEvZW5naW5lXCI7XHJcbmltcG9ydCB7Q29udHJvbE1ldGFkYXRhfSBmcm9tIFwiLi4vLi4vLi4vY29udHJvbHMubWV0YWRhdGEubW9kZWxcIjtcclxuaW1wb3J0IHtIdG1sUHJvcGVydGllc30gZnJvbSAgXCJAbWFnaWMteHBhL2d1aVwiO1xyXG5pbXBvcnQge01hZ2ljRGlyZWN0aXZlfSBmcm9tIFwiLi4vbWFnaWMuZGlyZWN0aXZlXCI7XHJcbmltcG9ydCB7VGFza01hZ2ljU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2VzL3Rhc2subWFnaWNzLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtTdHlsZXNNYXBNYW5hZ2VyfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZXMvU3R5bGVzTWFwTWFuYWdlclwiO1xyXG5pbXBvcnQge1Jvd01hZ2ljRGlyZWN0aXZlfSBmcm9tIFwiLi9yb3cubWFnaWMuZGlyZWN0aXZlXCI7XHJcblxyXG4vKipcclxuICogQGlnbm9yZVxyXG4gKi9cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbbWFnaWNuY10nXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgTm9Db250cm9sTWFnaWNEaXJlY3RpdmUgZXh0ZW5kcyBNYWdpY0RpcmVjdGl2ZSB7XHJcblxyXG4gIEBJbnB1dCgnbWFnaWNuYycpIHNldCBtYWdpYyh2YWwpIHt0aGlzLmlkID0gdmFsOyB0aGlzLnNlbGVjdG9yID0gJ21hZ2ljbmMnO307XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgX3Rhc2sgICA6IFRhc2tNYWdpY1NlcnZpY2UsXHJcbiAgICBlbGVtZW50IDogRWxlbWVudFJlZixcclxuICAgIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICB2Y1JlZiAgIDogVmlld0NvbnRhaW5lclJlZixcclxuICAgIEBPcHRpb25hbCgpIG1hZ2ljUm93OiBSb3dNYWdpY0RpcmVjdGl2ZSkge1xyXG4gICAgc3VwZXIoX3Rhc2ssIGVsZW1lbnQsIHJlbmRlcmVyLCAgdmNSZWYsIG1hZ2ljUm93KTtcclxuICB9XHJcblxyXG4gIHJlZ0V2ZW50cygpIHtcclxuICBzdXBlci5yZWdFdmVudHMoKVxyXG5cclxuICAgIGlmICh0aGlzLmh0bWxFbGVtZW50IGluc3RhbmNlb2YgSFRNTFNlbGVjdEVsZW1lbnQpIHtcclxuICAgICAgdGhpcy5odG1sRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCAoZSkgPT4ge1xyXG4gICAgICAgIGxldCBndWlFdmVudDogSUd1aUV2ZW50ID0gZ2V0R3VpRXZlbnRPYmooXCJzZWxlY3Rpb25jaGFuZ2VkXCIsIHRoaXMuaWQsIDApO1xyXG4gICAgICAgIGd1aUV2ZW50LlZhbHVlID0gKDxhbnk+KGV2ZW50LnRhcmdldCkpLnNlbGVjdGVkSW5kZXgudG9TdHJpbmcoKVxyXG4gICAgICAgIHRoaXMudGFzay5pbnNlcnRFdmVudChndWlFdmVudCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmlzUmFkaW8oKSkge1xyXG4gICAgICB0aGlzLmh0bWxFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIChlKSA9PiB7XHJcbiAgICAgICAgbGV0IHJlc3VsdCA9IHRoaXMudGFzay5nZXRGb3JtQ29udHJvbCgnMCcsIHRoaXMuaWQpO1xyXG4gICAgICAgIGxldCBndWlFdmVudDogSUd1aUV2ZW50ID0gZ2V0R3VpRXZlbnRPYmooXCJzZWxlY3Rpb25jaGFuZ2VkXCIsIHRoaXMuaWQsIDApO1xyXG4gICAgICAgIGd1aUV2ZW50LlZhbHVlID0gKDxhbnk+KGUudGFyZ2V0KSkudmFsdWU7XHJcbiAgICAgICAgdGhpcy50YXNrLmluc2VydEV2ZW50KGd1aUV2ZW50KTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYodGhpcy5pc1RhYkNvbnRyb2woKSkge1xyXG4gICAgICAgIGNvbnN0IHRhYkNvbnRyb2wgPSB0aGlzLmh0bWxFbGVtZW50LmNoaWxkcmVuWzBdO1xyXG4gICAgICAgIGxldCBndWlFdmVudDogSUd1aUV2ZW50ID0gZ2V0R3VpRXZlbnRPYmooXCJzZWxlY3Rpb25jaGFuZ2VkXCIsIHRoaXMuaWQsIDApO1xyXG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGFiQ29udHJvbC5jaGlsZHJlbi5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgdGFiQ29udHJvbC5jaGlsZHJlbltpXS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIChlKSA9PiB7XHJcbiAgICAgICAgICAgIGd1aUV2ZW50LlZhbHVlID0gKCg8bnVtYmVyPjxhbnk+KDxFbGVtZW50PmUuY3VycmVudFRhcmdldCkuZ2V0QXR0cmlidXRlKCdsYXllcicpKS0xKS50b1N0cmluZygpO1xyXG4gICAgICAgICAgICB0aGlzLnRhc2suaW5zZXJ0RXZlbnQoZ3VpRXZlbnQpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gaXMgdGhlIGRpdiBhIHRhYiBjb250cm9sXHJcbiAgaXNUYWJDb250cm9sKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHRtbEVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MRGl2RWxlbWVudCAmJlxyXG4gICAgICB0aGlzLmh0bWxFbGVtZW50LmNoaWxkcmVuWzBdLmdldEF0dHJpYnV0ZSgnbWFnaWNNYXJrJyk9PT0gXCJtYWdpY1RhYkNvbnRyb2xcIjtcclxuICB9XHJcblxyXG4gIC8vIGlzIHRoZSBkaXYgYSByYWRpbyBidXR0b25zIHdyYXBwZXJcclxuICBpc1JhZGlvKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHRtbEVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MRGl2RWxlbWVudCAmJlxyXG4gICAgICB0aGlzLmh0bWxFbGVtZW50LmNoaWxkcmVuWzBdLmdldEF0dHJpYnV0ZSgnbWFnaWNNYXJrJykgPT09IFwibWFnaWNSYWRpb1wiO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlQ29tbWFuZChjb21tYW5kOiBHdWlDb21tYW5kKSB7XHJcbiAgICBzdXBlci5oYW5kbGVDb21tYW5kKGNvbW1hbmQpO1xyXG5cclxuICAgIHN3aXRjaCAoY29tbWFuZC5Db21tYW5kVHlwZSkge1xyXG4gICAgICBjYXNlIENvbW1hbmRUeXBlLlNFVF9DTEFTUzpcclxuICAgICAgICAvL3JlbW92ZSB0aGUgY2xhc3Mgd2hpY2ggd2FzIHJlcGxhY2VkIGJ5IHRoaXMgbmV3IG9uZSwgYXMgcmVnaXN0ZXJlZCBpbiB0aGUgQ29udHJvbE1ldGFkYXRhXHJcbiAgICAgICAgY29uc3QgY29udHJvbE1ldGFkYXRhOkNvbnRyb2xNZXRhZGF0YSA9IHRoaXMuX3Rhc2suUmVjb3Jkcy5saXN0WzBdLmdldENvbnRyb2xNZXRhZGF0YSh0aGlzLmlkKTtcclxuICAgICAgICBpZihjb250cm9sTWV0YWRhdGEucmVtb3ZlZENsYXNzICE9ICcnKSB7XHJcbiAgICAgICAgICB0aGlzLmh0bWxFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoY29udHJvbE1ldGFkYXRhLnJlbW92ZWRDbGFzcyk7XHJcbiAgICAgICAgICBjb250cm9sTWV0YWRhdGEucmVtb3ZlZENsYXNzID0gJyc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuaHRtbEVsZW1lbnQuY2xhc3NMaXN0LmFkZChjb21tYW5kLm9iajEpO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSAgQ29tbWFuZFR5cGUuU0VUX1ZBTFVFOlxyXG4gICAgICAgIGlmICh0aGlzLmh0bWxFbGVtZW50IGluc3RhbmNlb2YgSFRNTExhYmVsRWxlbWVudClcclxuICAgICAgICAgICg8SFRNTExhYmVsRWxlbWVudD50aGlzLmh0bWxFbGVtZW50KS5pbm5lclRleHQgPSBjb21tYW5kLnZhbHVlO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5odG1sRWxlbWVudCBpbnN0YW5jZW9mIEhUTUxTZWxlY3RFbGVtZW50KVxyXG4gICAgICAgICAgKDxIVE1MU2VsZWN0RWxlbWVudD50aGlzLmh0bWxFbGVtZW50KS52YWx1ZSA9IGNvbW1hbmQudmFsdWU7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmh0bWxFbGVtZW50IGluc3RhbmNlb2YgSFRNTEFuY2hvckVsZW1lbnQpIC8vaHlwZXItdGV4dCBidXR0b25cclxuICAgICAgICAgICg8SFRNTEFuY2hvckVsZW1lbnQ+dGhpcy5odG1sRWxlbWVudCkudGV4dCA9IGNvbW1hbmQudmFsdWU7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmh0bWxFbGVtZW50IGluc3RhbmNlb2YgSFRNTElucHV0RWxlbWVudClcclxuICAgICAgICB7XHJcbiAgICAgICAgICBpZigoPEhUTUxJbnB1dEVsZW1lbnQ+dGhpcy5odG1sRWxlbWVudCkudHlwZSA9PT0gXCJjaGVja2JveFwiKSB7XHJcbiAgICAgICAgICAgICg8SFRNTElucHV0RWxlbWVudD50aGlzLmh0bWxFbGVtZW50KS5jaGVja2VkID0gY29tbWFuZC52YWx1ZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAoPEhUTUxJbnB1dEVsZW1lbnQ+dGhpcy5odG1sRWxlbWVudCkudmFsdWUgPSBjb21tYW5kLnZhbHVlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMuaHRtbEVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MQnV0dG9uRWxlbWVudClcclxuICAgICAgICB7XHJcbiAgICAgICAgICAoPEhUTUxCdXR0b25FbGVtZW50PnRoaXMuaHRtbEVsZW1lbnQpLmlubmVySFRNTCA9IGNvbW1hbmQudmFsdWU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgQ29tbWFuZFR5cGUuU0VUX1BST1BFUlRZOlxyXG4gICAgICAgIHRoaXMuaGFuZGxlU2V0UHJvcGVydHkoY29tbWFuZCk7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIENvbW1hbmRUeXBlLlNFVF9TVFlMRTpcclxuICAgICAgICBsZXQgdmFsdWU6IHN0cmluZyA9IFN0eWxlc01hcE1hbmFnZXIubWFnaWNWYWx1ZUdldFN0eWxlKGNvbW1hbmQuT3BlcmF0aW9uLCBjb21tYW5kLm9iajEpO1xyXG4gICAgICAgIGxldCBhdHRyaWJ1dGU6IHN0cmluZyA9IFN0eWxlc01hcE1hbmFnZXIuTWFnaWNQcm9wZXJ0eVRvSHRtbEF0dHJpYnV0ZU1hcC5nZXQoY29tbWFuZC5PcGVyYXRpb24pO1xyXG4gICAgICAgIHRoaXMuaHRtbEVsZW1lbnQuc2V0QXR0cmlidXRlKFwic3R5bGVcIiwgYXR0cmlidXRlICsgXCI6XCIgKyB2YWx1ZSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8gaGFuZGxlIHNldC1wcm9wZXJ0eSBjb21tYW5kc1xyXG4gIGhhbmRsZVNldFByb3BlcnR5KGNvbW1hbmQ6IEd1aUNvbW1hbmQpIHtcclxuICAgIHN1cGVyLmhhbmRsZVNldFByb3BlcnR5KGNvbW1hbmQpO1xyXG4gICAgc3dpdGNoIChjb21tYW5kLk9wZXJhdGlvbikge1xyXG4gICAgICBjYXNlIEh0bWxQcm9wZXJ0aWVzLlRleHQ6XHJcbiAgICAgICAgaWYgKHRoaXMuaHRtbEVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MTGFiZWxFbGVtZW50KVxyXG4gICAgICAgICAgKDxIVE1MTGFiZWxFbGVtZW50PnRoaXMuaHRtbEVsZW1lbnQpLmlubmVyVGV4dCA9IGNvbW1hbmQub2JqMTtcclxuXHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIEh0bWxQcm9wZXJ0aWVzLkltYWdlOlxyXG4gICAgICAgIGlmICh0aGlzLmh0bWxFbGVtZW50IGluc3RhbmNlb2YgSFRNTEltYWdlRWxlbWVudClcclxuICAgICAgICAgICg8SFRNTEltYWdlRWxlbWVudD50aGlzLmh0bWxFbGVtZW50KS5zcmMgPSBjb21tYW5kLm9iajE7XHJcbiAgICAgICAgZWxzZVxyXG4gICAgICAgICAgdGhpcy5odG1sRWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJzcmNcIiwgY29tbWFuZC5vYmoxKTtcclxuXHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIEh0bWxQcm9wZXJ0aWVzLkl0ZW1zTGlzdDpcclxuICAgICAgICBpZiAodGhpcy5odG1sRWxlbWVudCBpbnN0YW5jZW9mIEhUTUxTZWxlY3RFbGVtZW50KSB7XHJcblxyXG4gICAgICAgICAgLy8gY2xlYXIgdGhlIGxpc3RcclxuICAgICAgICAgIHZhciBsZW4gPSB0aGlzLmh0bWxFbGVtZW50Lmxlbmd0aDtcclxuICAgICAgICAgIGZvciAodmFyIGkgPSBsZW4gLSAxOyBpID49IDA7IGktLSkge1xyXG4gICAgICAgICAgICB0aGlzLmh0bWxFbGVtZW50LnJlbW92ZShpKTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBmb3IgKGxldCBzIG9mIGNvbW1hbmQub2JqMSkge1xyXG4gICAgICAgICAgICBsZXQgZWxlbSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJvcHRpb25cIik7XHJcbiAgICAgICAgICAgIGVsZW0udGV4dCA9IHMuZGlzcGxheVZhbHVlO1xyXG4gICAgICAgICAgICBlbGVtLnZhbHVlID0gcy5pbmRleDtcclxuICAgICAgICAgICAgKDxIVE1MU2VsZWN0RWxlbWVudD50aGlzLmh0bWxFbGVtZW50KS5hZGQoZWxlbSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYodGhpcy5pc1RhYkNvbnRyb2woKSAmJiB0aGlzLmh0bWxFbGVtZW50LmNoaWxkcmVuLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgIGNvbnN0IHRhYkNvbnRyb2wgPSB0aGlzLmh0bWxFbGVtZW50LmNoaWxkcmVuWzBdO1xyXG5cclxuICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGFiQ29udHJvbC5jaGlsZHJlbi5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBpZih0YWJDb250cm9sLmNoaWxkcmVuW2ldIGluc3RhbmNlb2YgSFRNTEJ1dHRvbkVsZW1lbnQpIHtcclxuICAgICAgICAgICAgICAoPEhUTUxFbGVtZW50PnRhYkNvbnRyb2wuY2hpbGRyZW5baV0pLmlubmVyVGV4dCA9IGNvbW1hbmQub2JqMVtpXS5kaXNwbGF5VmFsdWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIEh0bWxQcm9wZXJ0aWVzLlZpc2libGU6XHJcbiAgICAgICAgdGhpcy5odG1sRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3N0eWxlJywgJ3Zpc2liaWxpdHk6JyArIChjb21tYW5kLm9iajEgPyAndmlzaWJsZScgOiAnaGlkZGVuJykpO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSBIdG1sUHJvcGVydGllcy5FbmFibGVkOlxyXG4gICAgICAgIGlmIChjb21tYW5kLm9iajEgPT09IGZhbHNlKVxyXG4gICAgICAgICAgdGhpcy5odG1sRWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJkaXNhYmxlZFwiLCBcInRydWVcIik7XHJcbiAgICAgICAgZWxzZVxyXG4gICAgICAgICAgdGhpcy5odG1sRWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoXCJkaXNhYmxlZFwiKTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgSHRtbFByb3BlcnRpZXMuVGFiSW5kZXg6XHJcbiAgICAgICAgdGhpcy5odG1sRWxlbWVudC5zZXRBdHRyaWJ1dGUoY29tbWFuZC5PcGVyYXRpb24sIGNvbW1hbmQub2JqMSk7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIEh0bWxQcm9wZXJ0aWVzLlNlbGVjdGVkVmFsdWU6XHJcbiAgICAgICAgaWYgKHRoaXMuaHRtbEVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MU2VsZWN0RWxlbWVudClcclxuICAgICAgICAgICg8SFRNTFNlbGVjdEVsZW1lbnQ+dGhpcy5odG1sRWxlbWVudCkudmFsdWUgPSBjb21tYW5kLm9iajE7XHJcbiAgICAgICAgZWxzZSBpZih0aGlzLmlzVGFiQ29udHJvbCgpICAmJiB0aGlzLmh0bWxFbGVtZW50LmNoaWxkcmVuLmxlbmd0aCA+IDApe1xyXG4gICAgICAgICAgY29uc3QgdGFiQ29udHJvbCA9IHRoaXMuaHRtbEVsZW1lbnQuY2hpbGRyZW5bMF07XHJcblxyXG4gICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0YWJDb250cm9sLmNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGxldCBjaGlsZCA9IHRhYkNvbnRyb2wuY2hpbGRyZW5baV07XHJcbiAgICAgICAgICAgIGNvbnN0IGxheWVyID0gKDxudW1iZXI+PGFueT5jaGlsZC5nZXRBdHRyaWJ1dGUoJ2xheWVyJykpLTE7XHJcblxyXG4gICAgICAgICAgICBpZihjaGlsZCBpbnN0YW5jZW9mIEhUTUxCdXR0b25FbGVtZW50KSB7XHJcbiAgICAgICAgICAgICAgLy8gc2V0IGJ1dHRvbiBzdHlsZVxyXG4gICAgICAgICAgICAgIGlmICggbGF5ZXIgPT0gY29tbWFuZC5vYmoxKSB7IC8vIGNvbXBhcmUgaW50IHRvIHN0cmluZ1xyXG4gICAgICAgICAgICAgICAgY2hpbGQuY2xhc3NMaXN0LmFkZCgndGFiX2J1dHRvbl9hY3RpdmUnKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBjaGlsZC5jbGFzc0xpc3QucmVtb3ZlKCd0YWJfYnV0dG9uX2FjdGl2ZScpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAvLyBub3QgYSBidXRvbiAtIGhpZGUgdW5zZWxlY3RlZCB0YWJwYWdlc1xyXG4gICAgICAgICAgICAgIGxldCBzdHlsZSA9IChsYXllciA9PSBjb21tYW5kLm9iajEpID8gJ2Rpc3BsYXk6IGlubGluZScgOiAnZGlzcGxheTogbm9uZSc7XHJcbiAgICAgICAgICAgICAgY2hpbGQuc2V0QXR0cmlidXRlKCdzdHlsZScsICBzdHlsZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIEh0bWxQcm9wZXJ0aWVzLlBsYWNlSG9sZGVyOlxyXG4gICAgICAgIHRoaXMuaHRtbEVsZW1lbnQuc2V0QXR0cmlidXRlKFwicGxhY2Vob2xkZXJcIiwgY29tbWFuZC5vYmoxKTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgSHRtbFByb3BlcnRpZXMuVG9vbHRpcDpcclxuICAgICAgICB0aGlzLmh0bWxFbGVtZW50LnNldEF0dHJpYnV0ZShcInRpdGxlXCIsIGNvbW1hbmQub2JqMSk7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIEh0bWxQcm9wZXJ0aWVzLlBhc3N3b3JkOlxyXG4gICAgICAgIGlmIChjb21tYW5kLm9iajEgPT09IGZhbHNlKVxyXG4gICAgICAgICAgdGhpcy5odG1sRWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJ0eXBlXCIsIFwidGV4dFwiKTtcclxuICAgICAgICBlbHNlXHJcbiAgICAgICAgICB0aGlzLmh0bWxFbGVtZW50LnNldEF0dHJpYnV0ZShcInR5cGVcIiwgXCJwYXNzd29yZFwiKTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
|
191
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9jb250cm9sLm1hZ2ljLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL3VpL2RpcmVjdGl2ZXMvbWFnaWMvbm9jb250cm9sLm1hZ2ljLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQUMsV0FBVyxFQUFhLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkQsT0FBTyxFQUFZLGNBQWMsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBRTVELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTyxnQkFBZ0IsQ0FBQztBQUMvQyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDdkUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDcEUsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7Ozs7QUFTeEQsTUFBTSxPQUFPLHVCQUF3QixTQUFRLGNBQWM7SUFJekQsWUFDRSxLQUEwQixFQUMxQixPQUFvQixFQUNwQixRQUFtQixFQUNuQixLQUEwQixFQUNkLFFBQTJCO1FBQ3ZDLEtBQUssQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQVRELElBQXNCLEtBQUssQ0FBQyxHQUFHLElBQUcsSUFBSSxDQUFDLEVBQUUsR0FBRyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLFNBQVMsQ0FBQyxDQUFBLENBQUM7SUFBQSxDQUFDO0lBVzdF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QkFBdUI7dUZBQXZCLHVCQUF1QjtjQUpuQyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLFdBQVc7YUFDdEI7O3NCQVdJLFFBQVE7d0JBUFcsS0FBSztrQkFBMUIsS0FBSzttQkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBSZW5kZXJlcjIsIFZpZXdDb250YWluZXJSZWYsIE9wdGlvbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtDb21tYW5kVHlwZSwgR3VpQ29tbWFuZH0gZnJvbSBcIkBtYWdpYy14cGEvZ3VpXCI7XHJcbmltcG9ydCB7SUd1aUV2ZW50LCBnZXRHdWlFdmVudE9ian0gZnJvbSBcIkBtYWdpYy14cGEvZW5naW5lXCI7XHJcbmltcG9ydCB7Q29udHJvbE1ldGFkYXRhfSBmcm9tIFwiLi4vLi4vLi4vY29udHJvbHMubWV0YWRhdGEubW9kZWxcIjtcclxuaW1wb3J0IHtIdG1sUHJvcGVydGllc30gZnJvbSAgXCJAbWFnaWMteHBhL2d1aVwiO1xyXG5pbXBvcnQge01hZ2ljRGlyZWN0aXZlfSBmcm9tIFwiLi4vbWFnaWMuZGlyZWN0aXZlXCI7XHJcbmltcG9ydCB7VGFza01hZ2ljU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2VzL3Rhc2subWFnaWNzLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtTdHlsZXNNYXBNYW5hZ2VyfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZXMvU3R5bGVzTWFwTWFuYWdlclwiO1xyXG5pbXBvcnQge1Jvd01hZ2ljRGlyZWN0aXZlfSBmcm9tIFwiLi9yb3cubWFnaWMuZGlyZWN0aXZlXCI7XHJcblxyXG4vKipcclxuICogQGlnbm9yZVxyXG4gKi9cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbbWFnaWNuY10nXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgTm9Db250cm9sTWFnaWNEaXJlY3RpdmUgZXh0ZW5kcyBNYWdpY0RpcmVjdGl2ZSB7XHJcblxyXG4gIEBJbnB1dCgnbWFnaWNuYycpIHNldCBtYWdpYyh2YWwpIHt0aGlzLmlkID0gdmFsOyB0aGlzLnNlbGVjdG9yID0gJ21hZ2ljbmMnO307XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgX3Rhc2sgICA6IFRhc2tNYWdpY1NlcnZpY2UsXHJcbiAgICBlbGVtZW50IDogRWxlbWVudFJlZixcclxuICAgIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICB2Y1JlZiAgIDogVmlld0NvbnRhaW5lclJlZixcclxuICAgIEBPcHRpb25hbCgpIG1hZ2ljUm93OiBSb3dNYWdpY0RpcmVjdGl2ZSkge1xyXG4gICAgc3VwZXIoX3Rhc2ssIGVsZW1lbnQsIHJlbmRlcmVyLCAgdmNSZWYsIG1hZ2ljUm93KTtcclxuICB9XHJcblxyXG4gIHJlZ0V2ZW50cygpIHtcclxuICBzdXBlci5yZWdFdmVudHMoKVxyXG5cclxuICAgIGlmICh0aGlzLmh0bWxFbGVtZW50IGluc3RhbmNlb2YgSFRNTFNlbGVjdEVsZW1lbnQpIHtcclxuICAgICAgdGhpcy5odG1sRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCAoZSkgPT4ge1xyXG4gICAgICAgIGxldCBndWlFdmVudDogSUd1aUV2ZW50ID0gZ2V0R3VpRXZlbnRPYmooXCJzZWxlY3Rpb25jaGFuZ2VkXCIsIHRoaXMuaWQsIDApO1xyXG4gICAgICAgIGd1aUV2ZW50LlZhbHVlID0gKDxhbnk+KGV2ZW50LnRhcmdldCkpLnNlbGVjdGVkSW5kZXgudG9TdHJpbmcoKVxyXG4gICAgICAgIHRoaXMudGFzay5pbnNlcnRFdmVudChndWlFdmVudCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmlzUmFkaW8oKSkge1xyXG4gICAgICB0aGlzLmh0bWxFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIChlKSA9PiB7XHJcbiAgICAgICAgbGV0IGd1aUV2ZW50OiBJR3VpRXZlbnQgPSBnZXRHdWlFdmVudE9iaihcInNlbGVjdGlvbmNoYW5nZWRcIiwgdGhpcy5pZCwgMCk7XHJcbiAgICAgICAgZ3VpRXZlbnQuVmFsdWUgPSAoPGFueT4oZS50YXJnZXQpKS52YWx1ZTtcclxuICAgICAgICB0aGlzLnRhc2suaW5zZXJ0RXZlbnQoZ3VpRXZlbnQpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBpZih0aGlzLmlzVGFiQ29udHJvbCgpKSB7XHJcbiAgICAgICAgY29uc3QgdGFiQ29udHJvbCA9IHRoaXMuaHRtbEVsZW1lbnQuY2hpbGRyZW5bMF07XHJcbiAgICAgICAgbGV0IGd1aUV2ZW50OiBJR3VpRXZlbnQgPSBnZXRHdWlFdmVudE9iaihcInNlbGVjdGlvbmNoYW5nZWRcIiwgdGhpcy5pZCwgMCk7XHJcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0YWJDb250cm9sLmNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICB0YWJDb250cm9sLmNoaWxkcmVuW2ldLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKGUpID0+IHtcclxuICAgICAgICAgICAgZ3VpRXZlbnQuVmFsdWUgPSAoKDxudW1iZXI+PGFueT4oPEVsZW1lbnQ+ZS5jdXJyZW50VGFyZ2V0KS5nZXRBdHRyaWJ1dGUoJ2xheWVyJykpLTEpLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgICAgIHRoaXMudGFzay5pbnNlcnRFdmVudChndWlFdmVudCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBpcyB0aGUgZGl2IGEgdGFiIGNvbnRyb2xcclxuICBpc1RhYkNvbnRyb2woKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odG1sRWxlbWVudCBpbnN0YW5jZW9mIEhUTUxEaXZFbGVtZW50ICYmXHJcbiAgICAgIHRoaXMuaHRtbEVsZW1lbnQuY2hpbGRyZW5bMF0uZ2V0QXR0cmlidXRlKCdtYWdpY01hcmsnKT09PSBcIm1hZ2ljVGFiQ29udHJvbFwiO1xyXG4gIH1cclxuXHJcbiAgLy8gaXMgdGhlIGRpdiBhIHJhZGlvIGJ1dHRvbnMgd3JhcHBlclxyXG4gIGlzUmFkaW8oKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odG1sRWxlbWVudCBpbnN0YW5jZW9mIEhUTUxEaXZFbGVtZW50ICYmXHJcbiAgICAgIHRoaXMuaHRtbEVsZW1lbnQuY2hpbGRyZW5bMF0uZ2V0QXR0cmlidXRlKCdtYWdpY01hcmsnKSA9PT0gXCJtYWdpY1JhZGlvXCI7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVDb21tYW5kKGNvbW1hbmQ6IEd1aUNvbW1hbmQpIHtcclxuICAgIHN1cGVyLmhhbmRsZUNvbW1hbmQoY29tbWFuZCk7XHJcblxyXG4gICAgc3dpdGNoIChjb21tYW5kLkNvbW1hbmRUeXBlKSB7XHJcbiAgICAgIGNhc2UgQ29tbWFuZFR5cGUuU0VUX0NMQVNTOlxyXG4gICAgICAgIC8vcmVtb3ZlIHRoZSBjbGFzcyB3aGljaCB3YXMgcmVwbGFjZWQgYnkgdGhpcyBuZXcgb25lLCBhcyByZWdpc3RlcmVkIGluIHRoZSBDb250cm9sTWV0YWRhdGFcclxuICAgICAgICBjb25zdCBjb250cm9sTWV0YWRhdGE6Q29udHJvbE1ldGFkYXRhID0gdGhpcy5fdGFzay5SZWNvcmRzLmxpc3RbMF0uZ2V0Q29udHJvbE1ldGFkYXRhKHRoaXMuaWQpO1xyXG4gICAgICAgIGlmKGNvbnRyb2xNZXRhZGF0YS5yZW1vdmVkQ2xhc3MgIT0gJycpIHtcclxuICAgICAgICAgIHRoaXMuaHRtbEVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShjb250cm9sTWV0YWRhdGEucmVtb3ZlZENsYXNzKTtcclxuICAgICAgICAgIGNvbnRyb2xNZXRhZGF0YS5yZW1vdmVkQ2xhc3MgPSAnJztcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5odG1sRWxlbWVudC5jbGFzc0xpc3QuYWRkKGNvbW1hbmQub2JqMSk7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlICBDb21tYW5kVHlwZS5TRVRfVkFMVUU6XHJcbiAgICAgICAgaWYgKHRoaXMuaHRtbEVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MTGFiZWxFbGVtZW50KVxyXG4gICAgICAgICAgKDxIVE1MTGFiZWxFbGVtZW50PnRoaXMuaHRtbEVsZW1lbnQpLmlubmVyVGV4dCA9IGNvbW1hbmQudmFsdWU7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmh0bWxFbGVtZW50IGluc3RhbmNlb2YgSFRNTFNlbGVjdEVsZW1lbnQpXHJcbiAgICAgICAgICAoPEhUTUxTZWxlY3RFbGVtZW50PnRoaXMuaHRtbEVsZW1lbnQpLnZhbHVlID0gY29tbWFuZC52YWx1ZTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuaHRtbEVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MQW5jaG9yRWxlbWVudCkgLy9oeXBlci10ZXh0IGJ1dHRvblxyXG4gICAgICAgICAgKDxIVE1MQW5jaG9yRWxlbWVudD50aGlzLmh0bWxFbGVtZW50KS50ZXh0ID0gY29tbWFuZC52YWx1ZTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuaHRtbEVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MSW5wdXRFbGVtZW50KVxyXG4gICAgICAgIHtcclxuICAgICAgICAgIGlmKCg8SFRNTElucHV0RWxlbWVudD50aGlzLmh0bWxFbGVtZW50KS50eXBlID09PSBcImNoZWNrYm94XCIpIHtcclxuICAgICAgICAgICAgKDxIVE1MSW5wdXRFbGVtZW50PnRoaXMuaHRtbEVsZW1lbnQpLmNoZWNrZWQgPSBjb21tYW5kLnZhbHVlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICg8SFRNTElucHV0RWxlbWVudD50aGlzLmh0bWxFbGVtZW50KS52YWx1ZSA9IGNvbW1hbmQudmFsdWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5odG1sRWxlbWVudCBpbnN0YW5jZW9mIEhUTUxCdXR0b25FbGVtZW50KVxyXG4gICAgICAgIHtcclxuICAgICAgICAgICg8SFRNTEJ1dHRvbkVsZW1lbnQ+dGhpcy5odG1sRWxlbWVudCkuaW5uZXJIVE1MID0gY29tbWFuZC52YWx1ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSBDb21tYW5kVHlwZS5TRVRfUFJPUEVSVFk6XHJcbiAgICAgICAgdGhpcy5oYW5kbGVTZXRQcm9wZXJ0eShjb21tYW5kKTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgQ29tbWFuZFR5cGUuU0VUX1NUWUxFOlxyXG4gICAgICAgIGxldCB2YWx1ZTogc3RyaW5nID0gU3R5bGVzTWFwTWFuYWdlci5tYWdpY1ZhbHVlR2V0U3R5bGUoY29tbWFuZC5PcGVyYXRpb24sIGNvbW1hbmQub2JqMSk7XHJcbiAgICAgICAgbGV0IGF0dHJpYnV0ZTogc3RyaW5nID0gU3R5bGVzTWFwTWFuYWdlci5NYWdpY1Byb3BlcnR5VG9IdG1sQXR0cmlidXRlTWFwLmdldChjb21tYW5kLk9wZXJhdGlvbik7XHJcbiAgICAgICAgdGhpcy5odG1sRWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJzdHlsZVwiLCBhdHRyaWJ1dGUgKyBcIjpcIiArIHZhbHVlKTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICAvLyBoYW5kbGUgc2V0LXByb3BlcnR5IGNvbW1hbmRzXHJcbiAgaGFuZGxlU2V0UHJvcGVydHkoY29tbWFuZDogR3VpQ29tbWFuZCkge1xyXG4gICAgc3VwZXIuaGFuZGxlU2V0UHJvcGVydHkoY29tbWFuZCk7XHJcbiAgICBzd2l0Y2ggKGNvbW1hbmQuT3BlcmF0aW9uKSB7XHJcbiAgICAgIGNhc2UgSHRtbFByb3BlcnRpZXMuVGV4dDpcclxuICAgICAgICBpZiAodGhpcy5odG1sRWxlbWVudCBpbnN0YW5jZW9mIEhUTUxMYWJlbEVsZW1lbnQpXHJcbiAgICAgICAgICAoPEhUTUxMYWJlbEVsZW1lbnQ+dGhpcy5odG1sRWxlbWVudCkuaW5uZXJUZXh0ID0gY29tbWFuZC5vYmoxO1xyXG5cclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgSHRtbFByb3BlcnRpZXMuSW1hZ2U6XHJcbiAgICAgICAgaWYgKHRoaXMuaHRtbEVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MSW1hZ2VFbGVtZW50KVxyXG4gICAgICAgICAgKDxIVE1MSW1hZ2VFbGVtZW50PnRoaXMuaHRtbEVsZW1lbnQpLnNyYyA9IGNvbW1hbmQub2JqMTtcclxuICAgICAgICBlbHNlXHJcbiAgICAgICAgICB0aGlzLmh0bWxFbGVtZW50LnNldEF0dHJpYnV0ZShcInNyY1wiLCBjb21tYW5kLm9iajEpO1xyXG5cclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgSHRtbFByb3BlcnRpZXMuSXRlbXNMaXN0OlxyXG4gICAgICAgIGlmICh0aGlzLmh0bWxFbGVtZW50IGluc3RhbmNlb2YgSFRNTFNlbGVjdEVsZW1lbnQpIHtcclxuXHJcbiAgICAgICAgICAvLyBjbGVhciB0aGUgbGlzdFxyXG4gICAgICAgICAgdmFyIGxlbiA9IHRoaXMuaHRtbEVsZW1lbnQubGVuZ3RoO1xyXG4gICAgICAgICAgZm9yICh2YXIgaSA9IGxlbiAtIDE7IGkgPj0gMDsgaS0tKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaHRtbEVsZW1lbnQucmVtb3ZlKGkpO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGZvciAobGV0IHMgb2YgY29tbWFuZC5vYmoxKSB7XHJcbiAgICAgICAgICAgIGxldCBlbGVtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcIm9wdGlvblwiKTtcclxuICAgICAgICAgICAgZWxlbS50ZXh0ID0gcy5kaXNwbGF5VmFsdWU7XHJcbiAgICAgICAgICAgIGVsZW0udmFsdWUgPSBzLmluZGV4O1xyXG4gICAgICAgICAgICAoPEhUTUxTZWxlY3RFbGVtZW50PnRoaXMuaHRtbEVsZW1lbnQpLmFkZChlbGVtKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZih0aGlzLmlzVGFiQ29udHJvbCgpICYmIHRoaXMuaHRtbEVsZW1lbnQuY2hpbGRyZW4ubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgY29uc3QgdGFiQ29udHJvbCA9IHRoaXMuaHRtbEVsZW1lbnQuY2hpbGRyZW5bMF07XHJcblxyXG4gICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0YWJDb250cm9sLmNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGlmKHRhYkNvbnRyb2wuY2hpbGRyZW5baV0gaW5zdGFuY2VvZiBIVE1MQnV0dG9uRWxlbWVudCkge1xyXG4gICAgICAgICAgICAgICg8SFRNTEVsZW1lbnQ+dGFiQ29udHJvbC5jaGlsZHJlbltpXSkuaW5uZXJUZXh0ID0gY29tbWFuZC5vYmoxW2ldLmRpc3BsYXlWYWx1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgSHRtbFByb3BlcnRpZXMuVmlzaWJsZTpcclxuICAgICAgICB0aGlzLmh0bWxFbGVtZW50LnNldEF0dHJpYnV0ZSgnc3R5bGUnLCAndmlzaWJpbGl0eTonICsgKGNvbW1hbmQub2JqMSA/ICd2aXNpYmxlJyA6ICdoaWRkZW4nKSk7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIEh0bWxQcm9wZXJ0aWVzLkVuYWJsZWQ6XHJcbiAgICAgICAgaWYgKGNvbW1hbmQub2JqMSA9PT0gZmFsc2UpXHJcbiAgICAgICAgICB0aGlzLmh0bWxFbGVtZW50LnNldEF0dHJpYnV0ZShcImRpc2FibGVkXCIsIFwidHJ1ZVwiKTtcclxuICAgICAgICBlbHNlXHJcbiAgICAgICAgICB0aGlzLmh0bWxFbGVtZW50LnJlbW92ZUF0dHJpYnV0ZShcImRpc2FibGVkXCIpO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSBIdG1sUHJvcGVydGllcy5UYWJJbmRleDpcclxuICAgICAgICB0aGlzLmh0bWxFbGVtZW50LnNldEF0dHJpYnV0ZShjb21tYW5kLk9wZXJhdGlvbiwgY29tbWFuZC5vYmoxKTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgSHRtbFByb3BlcnRpZXMuU2VsZWN0ZWRWYWx1ZTpcclxuICAgICAgICBpZiAodGhpcy5odG1sRWxlbWVudCBpbnN0YW5jZW9mIEhUTUxTZWxlY3RFbGVtZW50KVxyXG4gICAgICAgICAgKDxIVE1MU2VsZWN0RWxlbWVudD50aGlzLmh0bWxFbGVtZW50KS52YWx1ZSA9IGNvbW1hbmQub2JqMTtcclxuICAgICAgICBlbHNlIGlmKHRoaXMuaXNUYWJDb250cm9sKCkgICYmIHRoaXMuaHRtbEVsZW1lbnQuY2hpbGRyZW4ubGVuZ3RoID4gMCl7XHJcbiAgICAgICAgICBjb25zdCB0YWJDb250cm9sID0gdGhpcy5odG1sRWxlbWVudC5jaGlsZHJlblswXTtcclxuXHJcbiAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRhYkNvbnRyb2wuY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgbGV0IGNoaWxkID0gdGFiQ29udHJvbC5jaGlsZHJlbltpXTtcclxuICAgICAgICAgICAgY29uc3QgbGF5ZXIgPSAoPG51bWJlcj48YW55PmNoaWxkLmdldEF0dHJpYnV0ZSgnbGF5ZXInKSktMTtcclxuXHJcbiAgICAgICAgICAgIGlmKGNoaWxkIGluc3RhbmNlb2YgSFRNTEJ1dHRvbkVsZW1lbnQpIHtcclxuICAgICAgICAgICAgICAvLyBzZXQgYnV0dG9uIHN0eWxlXHJcbiAgICAgICAgICAgICAgaWYgKCBsYXllciA9PSBjb21tYW5kLm9iajEpIHsgLy8gY29tcGFyZSBpbnQgdG8gc3RyaW5nXHJcbiAgICAgICAgICAgICAgICBjaGlsZC5jbGFzc0xpc3QuYWRkKCd0YWJfYnV0dG9uX2FjdGl2ZScpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGNoaWxkLmNsYXNzTGlzdC5yZW1vdmUoJ3RhYl9idXR0b25fYWN0aXZlJyk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIC8vIG5vdCBhIGJ1dG9uIC0gaGlkZSB1bnNlbGVjdGVkIHRhYnBhZ2VzXHJcbiAgICAgICAgICAgICAgbGV0IHN0eWxlID0gKGxheWVyID09IGNvbW1hbmQub2JqMSkgPyAnZGlzcGxheTogaW5saW5lJyA6ICdkaXNwbGF5OiBub25lJztcclxuICAgICAgICAgICAgICBjaGlsZC5zZXRBdHRyaWJ1dGUoJ3N0eWxlJywgIHN0eWxlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgSHRtbFByb3BlcnRpZXMuUGxhY2VIb2xkZXI6XHJcbiAgICAgICAgdGhpcy5odG1sRWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJwbGFjZWhvbGRlclwiLCBjb21tYW5kLm9iajEpO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSBIdG1sUHJvcGVydGllcy5Ub29sdGlwOlxyXG4gICAgICAgIHRoaXMuaHRtbEVsZW1lbnQuc2V0QXR0cmlidXRlKFwidGl0bGVcIiwgY29tbWFuZC5vYmoxKTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgSHRtbFByb3BlcnRpZXMuUGFzc3dvcmQ6XHJcbiAgICAgICAgaWYgKGNvbW1hbmQub2JqMSA9PT0gZmFsc2UpXHJcbiAgICAgICAgICB0aGlzLmh0bWxFbGVtZW50LnNldEF0dHJpYnV0ZShcInR5cGVcIiwgXCJ0ZXh0XCIpO1xyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgIHRoaXMuaHRtbEVsZW1lbnQuc2V0QXR0cmlidXRlKFwidHlwZVwiLCBcInBhc3N3b3JkXCIpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,20 +1,19 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Directive, ViewContainerRef } from "@angular/core";
|
|
2
2
|
import { isNullOrUndefined } from "@magic-xpa/mscorelib";
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export class MagicViewContainerRef {
|
|
5
|
-
constructor(vcRef
|
|
5
|
+
constructor(vcRef) {
|
|
6
6
|
this.vcRef = vcRef;
|
|
7
|
-
this.resolver = resolver;
|
|
8
7
|
let comp = (this.vcRef._hostLView).find(v => v != null && !isNullOrUndefined(v.setViewContainerRef));
|
|
9
8
|
comp.setViewContainerRef(vcRef);
|
|
10
9
|
}
|
|
11
10
|
}
|
|
12
|
-
MagicViewContainerRef.ɵfac = function MagicViewContainerRef_Factory(t) { return new (t || MagicViewContainerRef)(i0.ɵɵdirectiveInject(i0.ViewContainerRef)
|
|
11
|
+
MagicViewContainerRef.ɵfac = function MagicViewContainerRef_Factory(t) { return new (t || MagicViewContainerRef)(i0.ɵɵdirectiveInject(i0.ViewContainerRef)); };
|
|
13
12
|
MagicViewContainerRef.ɵdir = i0.ɵɵdefineDirective({ type: MagicViewContainerRef, selectors: [["", "magicViewContainerRef", ""]] });
|
|
14
13
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MagicViewContainerRef, [{
|
|
15
14
|
type: Directive,
|
|
16
15
|
args: [{
|
|
17
16
|
selector: '[magicViewContainerRef]',
|
|
18
17
|
}]
|
|
19
|
-
}], function () { return [{ type: i0.ViewContainerRef }
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
}], function () { return [{ type: i0.ViewContainerRef }]; }, null); })();
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFnaWNWaWV3Q29udGFpbmVyUmVmLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL3VpL2RpcmVjdGl2ZXMvbWFnaWNWaWV3Q29udGFpbmVyUmVmLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTVELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQVF6RCxNQUFNLE9BQU8scUJBQXFCO0lBQ2hDLFlBQW9CLEtBQXVCO1FBQXZCLFVBQUssR0FBTCxLQUFLLENBQWtCO1FBRTFDLElBQUksSUFBSSxHQUFHLENBQU8sSUFBSSxDQUFDLEtBQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUEyQixJQUFJLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFFLENBQTRCLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDO1FBQ2xLLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDOzswRkFMVSxxQkFBcUI7MERBQXJCLHFCQUFxQjt1RkFBckIscUJBQXFCO2NBSGpDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUseUJBQXlCO2FBQ3BDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IElNYWdpY1ZpZXdDb250YWluZXJSZWYgfSBmcm9tIFwiLi4vLi4vaW50ZXJmYWNlcy9zdWItZm9ybS1kZWZpbml0aW9uLml0ZXJmYWNlXCI7XG5pbXBvcnQgeyBpc051bGxPclVuZGVmaW5lZCB9IGZyb20gXCJAbWFnaWMteHBhL21zY29yZWxpYlwiO1xuXG4vKipcbiAqIERpcmVjdGl2ZSBmb3Igc2V0dGluZyAgVmlld0NvbnRhaW5lclJlZiBvbiBlbGVtZW50XG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1ttYWdpY1ZpZXdDb250YWluZXJSZWZdJyxcbn0pXG5leHBvcnQgY2xhc3MgTWFnaWNWaWV3Q29udGFpbmVyUmVmIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB2Y1JlZjogVmlld0NvbnRhaW5lclJlZikge1xuICAgIC8vIEZvciBhbmd1bGFyIDEwIC0gIGZpbmQgdGhlIGNvbXBvbmVudCBmcm9tIHRoZSB2aWV3c1xuICAgbGV0IGNvbXAgPSAoKDxhbnk+dGhpcy52Y1JlZikuX2hvc3RMVmlldykuZmluZCh2ID0+IHYgYXMgSU1hZ2ljVmlld0NvbnRhaW5lclJlZiAhPSBudWxsICYmICFpc051bGxPclVuZGVmaW5lZCgodiBhcyBJTWFnaWNWaWV3Q29udGFpbmVyUmVmKS5zZXRWaWV3Q29udGFpbmVyUmVmKSk7XG4gICBjb21wLnNldFZpZXdDb250YWluZXJSZWYodmNSZWYpO1xuICB9XG59XG5cbiJdfQ==
|