@annalib/anna-core 0.0.2 → 1.0.0
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/README.md +24 -24
- package/esm2020/lib/anna-core-shared-lib/models/anna-non-editable-gt-models.mjs +1 -1
- package/esm2020/lib/anna-core-shared-lib/models/anna-sort.model.mjs +2 -0
- package/esm2020/lib/anna-core-shared-lib/models/anna-tooltip.model.mjs +5 -3
- package/esm2020/lib/anna-core-shared-lib/public-api.mjs +2 -1
- package/esm2020/lib/anna-core-shared-lib/services/anna-filter.service.mjs +112 -60
- package/esm2020/lib/anna-core-shared-lib/services/anna-generic-table.service.mjs +4 -8
- package/esm2020/lib/anna-core-shared-lib/services/anna-sort.service.mjs +83 -123
- package/esm2020/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.mjs +26 -12
- package/esm2020/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.mjs +737 -336
- package/esm2020/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.mjs +38 -108
- package/esm2020/src/lib/anna-core-shared-lib/models/anna-non-editable-gt-models.mjs +1 -1
- package/esm2020/src/lib/anna-core-shared-lib/models/anna-sort.model.mjs +2 -0
- package/esm2020/src/lib/anna-core-shared-lib/models/anna-tooltip.model.mjs +5 -3
- package/esm2020/src/lib/anna-core-shared-lib/public-api.mjs +2 -1
- package/esm2020/src/lib/anna-core-shared-lib/services/anna-filter.service.mjs +112 -60
- package/esm2020/src/lib/anna-core-shared-lib/services/anna-generic-table.service.mjs +4 -8
- package/esm2020/src/lib/anna-core-shared-lib/services/anna-sort.service.mjs +83 -123
- package/esm2020/src/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.mjs +26 -12
- package/esm2020/src/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.mjs +737 -336
- package/esm2020/src/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.mjs +38 -108
- package/fesm2015/annalib-anna-core-src-lib-anna-core-shared-lib.mjs +233 -220
- package/fesm2015/annalib-anna-core-src-lib-anna-core-shared-lib.mjs.map +1 -1
- package/fesm2015/annalib-anna-core-src-lib-anna-dropdown-lib.mjs +22 -10
- package/fesm2015/annalib-anna-core-src-lib-anna-dropdown-lib.mjs.map +1 -1
- package/fesm2015/annalib-anna-core-src-lib-anna-generic-table-lib.mjs +772 -437
- package/fesm2015/annalib-anna-core-src-lib-anna-generic-table-lib.mjs.map +1 -1
- package/fesm2015/annalib-anna-core.mjs +1025 -665
- package/fesm2015/annalib-anna-core.mjs.map +1 -1
- package/fesm2020/annalib-anna-core-src-lib-anna-core-shared-lib.mjs +233 -220
- package/fesm2020/annalib-anna-core-src-lib-anna-core-shared-lib.mjs.map +1 -1
- package/fesm2020/annalib-anna-core-src-lib-anna-dropdown-lib.mjs +22 -10
- package/fesm2020/annalib-anna-core-src-lib-anna-dropdown-lib.mjs.map +1 -1
- package/fesm2020/annalib-anna-core-src-lib-anna-generic-table-lib.mjs +772 -437
- package/fesm2020/annalib-anna-core-src-lib-anna-generic-table-lib.mjs.map +1 -1
- package/fesm2020/annalib-anna-core.mjs +1025 -665
- package/fesm2020/annalib-anna-core.mjs.map +1 -1
- package/lib/anna-core-shared-lib/models/anna-non-editable-gt-models.d.ts +8 -8
- package/lib/anna-core-shared-lib/models/anna-sort.model.d.ts +6 -0
- package/lib/anna-core-shared-lib/models/anna-tooltip.model.d.ts +4 -2
- package/lib/anna-core-shared-lib/public-api.d.ts +1 -0
- package/lib/anna-core-shared-lib/services/anna-filter.service.d.ts +17 -5
- package/lib/anna-core-shared-lib/services/anna-generic-table.service.d.ts +1 -1
- package/lib/anna-core-shared-lib/services/anna-sort.service.d.ts +5 -14
- package/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.d.ts +7 -4
- package/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.d.ts +36 -16
- package/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.d.ts +9 -22
- package/package.json +1 -1
- package/src/lib/anna-core-shared-lib/models/anna-non-editable-gt-models.d.ts +8 -8
- package/src/lib/anna-core-shared-lib/models/anna-sort.model.d.ts +6 -0
- package/src/lib/anna-core-shared-lib/models/anna-tooltip.model.d.ts +4 -2
- package/src/lib/anna-core-shared-lib/public-api.d.ts +1 -0
- package/src/lib/anna-core-shared-lib/services/anna-filter.service.d.ts +17 -5
- package/src/lib/anna-core-shared-lib/services/anna-generic-table.service.d.ts +1 -1
- package/src/lib/anna-core-shared-lib/services/anna-sort.service.d.ts +5 -14
- package/src/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.d.ts +7 -4
- package/src/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.d.ts +36 -16
- package/src/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.d.ts +9 -22
|
@@ -3,8 +3,8 @@ import { Injectable } from "@angular/core";
|
|
|
3
3
|
// Third party import statements
|
|
4
4
|
import { Subject } from "rxjs";
|
|
5
5
|
//sub-entries of anna lib import statement
|
|
6
|
-
import { AnnaSortService } from './anna-sort.service';
|
|
7
6
|
import { AnnaFilterService } from "./anna-filter.service";
|
|
7
|
+
import { AnnaSortService } from "./anna-sort.service";
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
9
|
import * as i1 from "./anna-filter.service";
|
|
10
10
|
import * as i2 from "./anna-sort.service";
|
|
@@ -29,16 +29,12 @@ export class AnnaGenericTableService {
|
|
|
29
29
|
return numberOfSkeletonColumns;
|
|
30
30
|
}
|
|
31
31
|
initColumnFilterAndSorting() {
|
|
32
|
-
this.annaFilterService.tooltipMap = new Map();
|
|
33
32
|
this.annaFilterService.tooltipSelectedMap = new Map();
|
|
34
33
|
this.annaFilterService.selectedRadio = null;
|
|
35
34
|
this.annaFilterService.appliedFiltersArray = [];
|
|
36
35
|
this.annaFilterService.initialValueMap = new Map();
|
|
37
|
-
this.annaSortService.
|
|
38
|
-
this.annaSortService.
|
|
39
|
-
this.annaSortService.sortByDesc = new Map();
|
|
40
|
-
this.annaSortService.keySorted = null;
|
|
41
|
-
this.annaSortService.isAsc = false;
|
|
36
|
+
this.annaSortService.columnSortState = new Map();
|
|
37
|
+
this.annaSortService.noSortingAppliedData = [];
|
|
42
38
|
}
|
|
43
39
|
}
|
|
44
40
|
AnnaGenericTableService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AnnaGenericTableService, deps: [{ token: i1.AnnaFilterService }, { token: i2.AnnaSortService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
@@ -49,4 +45,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
|
|
|
49
45
|
providedIn: "root",
|
|
50
46
|
}]
|
|
51
47
|
}], ctorParameters: function () { return [{ type: i1.AnnaFilterService }, { type: i2.AnnaSortService }]; } });
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1nZW5lcmljLXRhYmxlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9zZXJ2aWNlcy9hbm5hLWdlbmVyaWMtdGFibGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0QkFBNEI7QUFDNUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxnQ0FBZ0M7QUFDaEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQiwwQ0FBMEM7QUFDMUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7O0FBS3RELE1BQU0sT0FBTyx1QkFBdUI7SUFHbEMsWUFBb0IsaUJBQW9DLEVBQVMsZUFBZ0M7UUFBN0Usc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUFTLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQURqRyx5QkFBb0IsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBQzhELENBQUM7SUFFcEcsd0NBQXdDLENBQUMsWUFBbUI7UUFDMUQsSUFBSSx1QkFBdUIsR0FBWSxFQUFFLENBQUM7UUFDMUMsSUFBSSxtQkFBbUIsR0FBRyxDQUFDLENBQUM7UUFDNUIsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQzVCLElBQUksTUFBTSxDQUFDLE9BQU8sRUFBRTtnQkFDaEIsbUJBQW1CLEdBQUcsQ0FBQyxDQUFDO2dCQUN4QixNQUFNLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUU7b0JBQy9CLG1CQUFtQixFQUFFLENBQUM7Z0JBQ3RCLENBQUMsQ0FBQyxDQUFBO2dCQUNGLHVCQUF1QixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNwRTtRQUNMLENBQUMsQ0FBQyxDQUFBO1FBQ0YsT0FBTyx1QkFBdUIsQ0FBQztJQUNqQyxDQUFDO0lBRUQsMEJBQTBCO1FBQ3hCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ3RELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBQzVDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxtQkFBbUIsR0FBRyxFQUFFLENBQUM7UUFDaEQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ25ELElBQUksQ0FBQyxlQUFlLENBQUMsZUFBZSxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7UUFDakQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxvQkFBb0IsR0FBRyxFQUFFLENBQUM7SUFDakQsQ0FBQzs7b0hBM0JVLHVCQUF1Qjt3SEFBdkIsdUJBQXVCLGNBRnRCLE1BQU07MkZBRVAsdUJBQXVCO2tCQUhuQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXIgaW1wb3J0IHN0YXRlbWVudHNcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG4vLyBUaGlyZCBwYXJ0eSBpbXBvcnQgc3RhdGVtZW50c1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcclxuXHJcbi8vc3ViLWVudHJpZXMgb2YgYW5uYSBsaWIgaW1wb3J0IHN0YXRlbWVudFxyXG5pbXBvcnQgeyBBbm5hRmlsdGVyU2VydmljZSB9IGZyb20gXCIuL2FubmEtZmlsdGVyLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgQW5uYVNvcnRTZXJ2aWNlIH0gZnJvbSBcIi4vYW5uYS1zb3J0LnNlcnZpY2VcIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiBcInJvb3RcIixcclxufSlcclxuZXhwb3J0IGNsYXNzIEFubmFHZW5lcmljVGFibGVTZXJ2aWNlIHtcclxuXHJcbiAgdmlydHVhbFNjcm9sbFN1YmplY3QgPSBuZXcgU3ViamVjdCgpO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYW5uYUZpbHRlclNlcnZpY2U6IEFubmFGaWx0ZXJTZXJ2aWNlLHByaXZhdGUgYW5uYVNvcnRTZXJ2aWNlOiBBbm5hU29ydFNlcnZpY2Upe31cclxuXHJcbiAgY2FsY3VsYXRlTnVtYmVyT2ZTa2VsZXRvbkNvbHVtbnNGb3JUYWJsZSh0YWJsZUhlYWRlcnM6IGFueVtdKTogbnVtYmVyW11bXSB7XHJcbiAgICBsZXQgbnVtYmVyT2ZTa2VsZXRvbkNvbHVtbnM6IGFueVtdW10gPSBbXTtcclxuICAgIHZhciBoZWFkZXJzSW5FYWNoQ29sdW1uID0gMDtcclxuICAgIHRhYmxlSGVhZGVycy5mb3JFYWNoKChjb2x1bW4pID0+IHtcclxuICAgICAgICBpZiAoY29sdW1uLnZpc2libGUpIHtcclxuICAgICAgICAgICAgaGVhZGVyc0luRWFjaENvbHVtbiA9IDA7XHJcbiAgICAgICAgICAgIGNvbHVtbi5oZWFkZXJJbmZvLmZvckVhY2goKCkgPT4ge1xyXG4gICAgICAgICAgICBoZWFkZXJzSW5FYWNoQ29sdW1uKys7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIG51bWJlck9mU2tlbGV0b25Db2x1bW5zLnB1c2goQXJyYXkoaGVhZGVyc0luRWFjaENvbHVtbikuZmlsbCgwKSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSlcclxuICAgIHJldHVybiBudW1iZXJPZlNrZWxldG9uQ29sdW1ucztcclxuICB9XHJcblxyXG4gIGluaXRDb2x1bW5GaWx0ZXJBbmRTb3J0aW5nKCkge1xyXG4gICAgdGhpcy5hbm5hRmlsdGVyU2VydmljZS50b29sdGlwU2VsZWN0ZWRNYXAgPSBuZXcgTWFwKCk7XHJcbiAgICB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLnNlbGVjdGVkUmFkaW8gPSBudWxsO1xyXG4gICAgdGhpcy5hbm5hRmlsdGVyU2VydmljZS5hcHBsaWVkRmlsdGVyc0FycmF5ID0gW107XHJcbiAgICB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLmluaXRpYWxWYWx1ZU1hcCA9IG5ldyBNYXAoKTtcclxuICAgIHRoaXMuYW5uYVNvcnRTZXJ2aWNlLmNvbHVtblNvcnRTdGF0ZSA9IG5ldyBNYXAoKTtcclxuICAgIHRoaXMuYW5uYVNvcnRTZXJ2aWNlLm5vU29ydGluZ0FwcGxpZWREYXRhID0gW107XHJcbiAgfVxyXG5cclxuXHJcbn1cclxuIl19
|
|
@@ -1,65 +1,59 @@
|
|
|
1
1
|
// Angular import statements
|
|
2
|
-
import { Injectable } from
|
|
2
|
+
import { Injectable } from '@angular/core';
|
|
3
3
|
import { AnnaDateTimeFormatService } from './anna-date-time-format.service';
|
|
4
|
-
// Third party import statements
|
|
5
|
-
// User defined import statements
|
|
6
|
-
import { Days, Constants } from "../constants/shared.constant";
|
|
7
4
|
import * as i0 from "@angular/core";
|
|
8
5
|
import * as i1 from "./anna-date-time-format.service";
|
|
6
|
+
// Third party import statements
|
|
7
|
+
// User defined import statements
|
|
9
8
|
export class AnnaSortService {
|
|
10
9
|
constructor(annaDateTimeFormatService) {
|
|
11
10
|
this.annaDateTimeFormatService = annaDateTimeFormatService;
|
|
12
|
-
this.
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
obj = { key, setValueTo };
|
|
22
|
-
break;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
return obj;
|
|
11
|
+
this.dateSet = new Set([
|
|
12
|
+
'endDate',
|
|
13
|
+
'startDate',
|
|
14
|
+
'end_date',
|
|
15
|
+
'start_date',
|
|
16
|
+
'flightStartDate',
|
|
17
|
+
'flightEndDate',
|
|
18
|
+
]);
|
|
19
|
+
console.log('AnnaTableColumnSortService sevice created.');
|
|
26
20
|
}
|
|
27
|
-
|
|
28
|
-
const dataToExclude = [];
|
|
29
|
-
const dataToInclude = [];
|
|
21
|
+
sortDataForComponentOtherThanLurAndCsrPage(isAsc, data, key) {
|
|
30
22
|
let param1;
|
|
31
23
|
let param2;
|
|
32
|
-
if (this.dateSet.has(
|
|
24
|
+
if (this.dateSet.has(key)) {
|
|
33
25
|
data.sort((a, b) => {
|
|
34
|
-
return this.annaDateTimeFormatService.compareDate(a[
|
|
26
|
+
return this.annaDateTimeFormatService.compareDate(a[key], b[key], isAsc);
|
|
35
27
|
});
|
|
36
28
|
}
|
|
37
|
-
else if (
|
|
29
|
+
else if (key === 'AirDateAndTime') {
|
|
38
30
|
data.sort((a, b) => {
|
|
39
31
|
let first, second;
|
|
40
|
-
if (a[
|
|
32
|
+
if (a[key] == '-') {
|
|
41
33
|
return 1;
|
|
42
34
|
}
|
|
43
|
-
if (b[
|
|
35
|
+
if (b[key] == '-') {
|
|
44
36
|
return -1;
|
|
45
37
|
}
|
|
46
38
|
else {
|
|
47
|
-
first =
|
|
48
|
-
|
|
39
|
+
first =
|
|
40
|
+
this.annaDateTimeFormatService.formatDateAndHHMMATimeToStandardFormat(a[key]);
|
|
41
|
+
second =
|
|
42
|
+
this.annaDateTimeFormatService.formatDateAndHHMMATimeToStandardFormat(b[key]);
|
|
49
43
|
let compareDate = this.annaDateTimeFormatService.compareDate(first, second, isAsc);
|
|
50
44
|
return compareDate;
|
|
51
45
|
}
|
|
52
46
|
});
|
|
53
47
|
}
|
|
54
|
-
else if (
|
|
48
|
+
else if (key == 'startEndTime' || key == 'TimeBand') {
|
|
55
49
|
data.sort((a, b) => {
|
|
56
50
|
if (isAsc) {
|
|
57
|
-
param1 = a[
|
|
58
|
-
param2 = b[
|
|
51
|
+
param1 = a[key][1];
|
|
52
|
+
param2 = b[key][1];
|
|
59
53
|
}
|
|
60
54
|
else {
|
|
61
|
-
param1 = a[
|
|
62
|
-
param2 = b[
|
|
55
|
+
param1 = a[key][2];
|
|
56
|
+
param2 = b[key][2];
|
|
63
57
|
}
|
|
64
58
|
let val = isAsc
|
|
65
59
|
? this.annaDateTimeFormatService.sortByTimeAscending(param1, param2)
|
|
@@ -67,119 +61,85 @@ export class AnnaSortService {
|
|
|
67
61
|
return val;
|
|
68
62
|
});
|
|
69
63
|
}
|
|
70
|
-
else if (sortBy === "days") {
|
|
71
|
-
data.sort((a, b) => {
|
|
72
|
-
param1 = a[sortBy].includes("-") ? Days[a[sortBy].split("-")[0]] : Days[a[sortBy]];
|
|
73
|
-
param2 = b[sortBy].includes("-") ? Days[b[sortBy].split("-")[0]] : Days[b[sortBy]];
|
|
74
|
-
return this.annaDateTimeFormatService.compare(param1, param2, isAsc);
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
//sort by string or number
|
|
78
64
|
else {
|
|
79
|
-
data.
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
if (
|
|
83
|
-
|
|
84
|
-
}
|
|
85
|
-
//for enter/edit lur page
|
|
86
|
-
else {
|
|
87
|
-
dataToExclude.push(a);
|
|
65
|
+
data.sort((a, b) => {
|
|
66
|
+
param1 = a[key];
|
|
67
|
+
param2 = b[key];
|
|
68
|
+
if (param1 !== param2) {
|
|
69
|
+
return this.annaDateTimeFormatService.compare(param1, param2, isAsc);
|
|
88
70
|
}
|
|
71
|
+
return 0;
|
|
89
72
|
});
|
|
90
|
-
|
|
91
|
-
|
|
73
|
+
}
|
|
74
|
+
return data;
|
|
75
|
+
}
|
|
76
|
+
sortEnterEditLurAndCsrPage(isAsc, data, key) {
|
|
77
|
+
let param1;
|
|
78
|
+
let param2;
|
|
79
|
+
if (key.includes('_')) {
|
|
80
|
+
let keys = key.split('_');
|
|
81
|
+
let weekNumber = keys[0];
|
|
82
|
+
let sortKey = keys[1];
|
|
83
|
+
if (keys.length > 2) {
|
|
84
|
+
sortKey =
|
|
85
|
+
keys[2] == true
|
|
86
|
+
? 'BookedAurIncludingNoChargeSpots'
|
|
87
|
+
: 'BookedAurExcludingNoChargeSpots';
|
|
88
|
+
}
|
|
92
89
|
data.sort((a, b) => {
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
90
|
+
let aInventoryCodeWeekWiseKey = Object.keys(a.WeekWiseInventoryCodeData).filter((key) => key.split('_')[1] == weekNumber);
|
|
91
|
+
let bInventoryCodeWeekWiseKey = Object.keys(b.WeekWiseInventoryCodeData).filter((key) => key.split('_')[1] == weekNumber);
|
|
92
|
+
param1 = null;
|
|
93
|
+
param2 = null;
|
|
94
|
+
if (aInventoryCodeWeekWiseKey.length > 0) {
|
|
95
|
+
param1 =
|
|
96
|
+
a.WeekWiseInventoryCodeData[aInventoryCodeWeekWiseKey[0]][sortKey][1];
|
|
100
97
|
}
|
|
101
|
-
if (
|
|
102
|
-
param2 =
|
|
103
|
-
|
|
104
|
-
param2 = +b[sortBy][0].split(Constants.dollars)[1];
|
|
105
|
-
}
|
|
98
|
+
if (bInventoryCodeWeekWiseKey.length > 0) {
|
|
99
|
+
param2 =
|
|
100
|
+
b.WeekWiseInventoryCodeData[bInventoryCodeWeekWiseKey[0]][sortKey][1];
|
|
106
101
|
}
|
|
107
102
|
if (param1 !== param2) {
|
|
108
103
|
return this.annaDateTimeFormatService.compare(param1, param2, isAsc);
|
|
109
104
|
}
|
|
110
|
-
// CHANGES@ANNALIB changed it to from false to 0
|
|
111
105
|
return 0;
|
|
112
106
|
});
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
sortKey = keys[2] == true ? "BookedAurIncludingNoChargeSpots" : "BookedAurExcludingNoChargeSpots";
|
|
120
|
-
}
|
|
121
|
-
dataToExclude.sort((a, b) => {
|
|
122
|
-
let aInventoryCodeWeekWiseKey = Object.keys(a.WeekWiseInventoryCodeData).filter((key) => key.split("_")[1] == weekNumber);
|
|
123
|
-
let bInventoryCodeWeekWiseKey = Object.keys(b.WeekWiseInventoryCodeData).filter((key) => key.split("_")[1] == weekNumber);
|
|
124
|
-
param1 = null;
|
|
125
|
-
param2 = null;
|
|
126
|
-
if (aInventoryCodeWeekWiseKey.length > 0) {
|
|
127
|
-
param1 = a.WeekWiseInventoryCodeData[aInventoryCodeWeekWiseKey[0]][sortKey][1];
|
|
128
|
-
}
|
|
129
|
-
if (bInventoryCodeWeekWiseKey.length > 0) {
|
|
130
|
-
param2 = b.WeekWiseInventoryCodeData[bInventoryCodeWeekWiseKey[0]][sortKey][1];
|
|
131
|
-
}
|
|
132
|
-
if (param1 !== param2) {
|
|
133
|
-
return this.annaDateTimeFormatService.compare(param1, param2, isAsc);
|
|
134
|
-
}
|
|
135
|
-
return 0;
|
|
136
|
-
});
|
|
107
|
+
}
|
|
108
|
+
else if (key == 'TimeBand') {
|
|
109
|
+
data.sort((a, b) => {
|
|
110
|
+
if (isAsc) {
|
|
111
|
+
param1 = a[key][1];
|
|
112
|
+
param2 = b[key][1];
|
|
137
113
|
}
|
|
138
114
|
else {
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
param2 = b[sortBy];
|
|
142
|
-
if (param1 !== param2) {
|
|
143
|
-
return this.annaDateTimeFormatService.compare(param1, param2, isAsc);
|
|
144
|
-
}
|
|
145
|
-
return 0;
|
|
146
|
-
});
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
return { data: [...data, ...dataToExclude], type: isAsc };
|
|
151
|
-
}
|
|
152
|
-
callSort(data) {
|
|
153
|
-
let sortBy = null;
|
|
154
|
-
let isAsc;
|
|
155
|
-
this.sortByAsc.forEach((value, key) => {
|
|
156
|
-
if (value === true) {
|
|
157
|
-
sortBy = key;
|
|
158
|
-
isAsc = true;
|
|
159
|
-
}
|
|
160
|
-
});
|
|
161
|
-
if (sortBy == null) {
|
|
162
|
-
this.sortByDesc.forEach((value, key) => {
|
|
163
|
-
if (value === true) {
|
|
164
|
-
sortBy = key;
|
|
165
|
-
isAsc = false;
|
|
115
|
+
param1 = a[key][2];
|
|
116
|
+
param2 = b[key][2];
|
|
166
117
|
}
|
|
118
|
+
let val = isAsc
|
|
119
|
+
? this.annaDateTimeFormatService.sortByTimeAscending(param1, param2)
|
|
120
|
+
: this.annaDateTimeFormatService.sortByTimeDescending(param1, param2);
|
|
121
|
+
return val;
|
|
167
122
|
});
|
|
168
123
|
}
|
|
169
|
-
if (sortBy != null) {
|
|
170
|
-
return this.sort(isAsc, data, sortBy).data;
|
|
171
|
-
}
|
|
172
124
|
else {
|
|
173
|
-
|
|
125
|
+
data.sort((a, b) => {
|
|
126
|
+
param1 = a[key];
|
|
127
|
+
param2 = b[key];
|
|
128
|
+
if (param1 !== param2) {
|
|
129
|
+
return this.annaDateTimeFormatService.compare(param1, param2, isAsc);
|
|
130
|
+
}
|
|
131
|
+
return 0;
|
|
132
|
+
});
|
|
174
133
|
}
|
|
134
|
+
return data;
|
|
175
135
|
}
|
|
176
136
|
}
|
|
177
137
|
AnnaSortService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AnnaSortService, deps: [{ token: i1.AnnaDateTimeFormatService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
178
|
-
AnnaSortService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AnnaSortService, providedIn:
|
|
138
|
+
AnnaSortService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AnnaSortService, providedIn: 'root' });
|
|
179
139
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AnnaSortService, decorators: [{
|
|
180
140
|
type: Injectable,
|
|
181
141
|
args: [{
|
|
182
|
-
providedIn:
|
|
142
|
+
providedIn: 'root',
|
|
183
143
|
}]
|
|
184
144
|
}], ctorParameters: function () { return [{ type: i1.AnnaDateTimeFormatService }]; } });
|
|
185
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1zb3J0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9zZXJ2aWNlcy9hbm5hLXNvcnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0QkFBNEI7QUFDNUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUU1RSxnQ0FBZ0M7QUFFaEMsaUNBQWlDO0FBQ2pDLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFDLE1BQU0sOEJBQThCLENBQUM7OztBQUs5RCxNQUFNLE9BQU8sZUFBZTtJQVExQixZQUFvQix5QkFBb0Q7UUFBcEQsOEJBQXlCLEdBQXpCLHlCQUF5QixDQUEyQjtRQVB4RSxjQUFTLEdBQXlCLElBQUksR0FBRyxFQUFFLENBQUM7UUFDNUMsZUFBVSxHQUF5QixJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQzdDLFlBQU8sR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxlQUFlLENBQUMsQ0FBQyxDQUFDO1FBTXhHLE9BQU8sQ0FBQyxHQUFHLENBQUMsNENBQTRDLENBQUMsQ0FBQTtJQUMxRCxDQUFDO0lBRUYsdUJBQXVCLENBQUMsT0FBNkIsRUFBRSxVQUFtQjtRQUN4RSxJQUFJLEdBQUcsR0FBcUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUUxRSxLQUFLLElBQUksQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQzFDLElBQUksS0FBSyxFQUFFO2dCQUNULEdBQUcsR0FBRyxFQUFFLEdB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QUksRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUM1RCxDQUFDO0lBRUQsUUFBUSxDQUFDLElBQVc7UUFDbEIsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUksS0FBYyxDQUFDO1FBQ25CLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQ2xDLElBQUksS0FBSyxLQUFLLElBQUksRUFBRTtnQkFDaEIsTUFBTSxHQUFHLEdBQUcsQ0FBQztnQkFDYixLQUFLLEdBQUcsSUFBSSxDQUFDO2FBQ2hCO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLE1BQU0sSUFBSSxJQUFJLEVBQUU7WUFDaEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEVBQUU7Z0JBQ25DLElBQUksS0FBSyxLQUFLLElBQUksRUFBRTtvQkFDaEIsTUFBTSxHQUFHLEdBQUcsQ0FBQztvQkFDYixLQUFLLEdBQUcsS0FBSyxDQUFDO2lCQUNqQjtZQUNMLENBQUMsQ0FBQyxDQUFDO1NBQ047UUFDRCxJQUFJLE1BQU0sSUFBSSxJQUFJLEVBQUU7WUFDaEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDO1NBQzlDO2FBQU07WUFDSCxPQUFPLElBQUksQ0FBQztTQUNmO0lBQ0wsQ0FBQzs7NEdBeExZLGVBQWU7Z0hBQWYsZUFBZSxjQUZkLE1BQU07MkZBRVAsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyIGltcG9ydCBzdGF0ZW1lbnRzXHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBBbm5hRGF0ZVRpbWVGb3JtYXRTZXJ2aWNlIH0gZnJvbSAnLi9hbm5hLWRhdGUtdGltZS1mb3JtYXQuc2VydmljZSc7XHJcblxyXG4vLyBUaGlyZCBwYXJ0eSBpbXBvcnQgc3RhdGVtZW50c1xyXG5cclxuLy8gVXNlciBkZWZpbmVkIGltcG9ydCBzdGF0ZW1lbnRzXHJcbmltcG9ydCB7IERheXMsIENvbnN0YW50c30gZnJvbSBcIi4uL2NvbnN0YW50cy9zaGFyZWQuY29uc3RhbnRcIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiBcInJvb3RcIixcclxufSlcclxuZXhwb3J0IGNsYXNzIEFubmFTb3J0U2VydmljZSB7XHJcbiAgc29ydEJ5QXNjOiBNYXA8c3RyaW5nLCBib29sZWFuPiA9IG5ldyBNYXAoKTtcclxuICBzb3J0QnlEZXNjOiBNYXA8c3RyaW5nLCBib29sZWFuPiA9IG5ldyBNYXAoKTtcclxuICBkYXRlU2V0ID0gbmV3IFNldChbXCJlbmREYXRlXCIsIFwic3RhcnREYXRlXCIsIFwiZW5kX2RhdGVcIiwgXCJzdGFydF9kYXRlXCIsIFwiZmxpZ2h0U3RhcnREYXRlXCIsIFwiZmxpZ2h0RW5kRGF0ZVwiXSk7XHJcbiAgdG9vbHRpcDogYW55O1xyXG4gIGtleVNvcnRlZDogc3RyaW5nO1xyXG4gIGlzQXNjOiBib29sZWFuO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2U6IEFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2UpIHtcclxuICAgIGNvbnNvbGUubG9nKFwiQW5uYVRhYmxlQ29sdW1uU29ydFNlcnZpY2Ugc2V2aWNlIGNyZWF0ZWQuXCIpXHJcbiAgIH1cclxuXHJcbiAgY2hlY2tJZlNvcnRpbmdJc0FwcGxpZWQoc29ydE1hcDogTWFwPHN0cmluZywgYm9vbGVhbj4sIHNldFZhbHVlVG86IGJvb2xlYW4pIHtcclxuICAgIGxldCBvYmo6IHsga2V5OiBzdHJpbmcsIHNldFZhbHVlVG86IGFueSB9ID0geyBrZXk6IFwiXCIsIHNldFZhbHVlVG86IG51bGwgfTtcclxuXHJcbiAgICBmb3IgKGxldCBba2V5LCB2YWx1ZV0gb2Ygc29ydE1hcC5lbnRyaWVzKCkpIHtcclxuICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgb2JqID0geyBrZXksIHNldFZhbHVlVG8gfTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG9iajtcclxuICB9XHJcblxyXG4gIHNvcnQoaXNBc2M6IGJvb2xlYW4sIGRhdGE6IGFueVtdLCBzb3J0Qnk6IHN0cmluZykge1xyXG4gICAgY29uc3QgZGF0YVRvRXhjbHVkZTogYW55W10gPSBbXTtcclxuICAgIGNvbnN0IGRhdGFUb0luY2x1ZGU6IGFueVtdID0gW107XHJcbiAgICBsZXQgcGFyYW0xOiBzdHJpbmcgfCBudW1iZXI7XHJcbiAgICBsZXQgcGFyYW0yOiBzdHJpbmcgfCBudW1iZXI7XHJcbiAgICBpZiAodGhpcy5kYXRlU2V0Lmhhcyhzb3J0QnkpKSB7XHJcbiAgICAgIGRhdGEuc29ydCgoYSwgYikgPT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2UuY29tcGFyZURhdGUoYVtzb3J0QnldLCBiW3NvcnRCeV0sIGlzQXNjKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChzb3J0QnkgPT09IFwiQWlyRGF0ZUFuZFRpbWVcIikge1xyXG4gICAgICBkYXRhLnNvcnQoKGEsIGIpID0+IHtcclxuICAgICAgICBsZXQgZmlyc3QsIHNlY29uZDtcclxuICAgICAgICBpZiAoYVtzb3J0QnldID09IFwiLVwiKSB7XHJcbiAgICAgICAgICByZXR1cm4gMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGJbc29ydEJ5XSA9PSBcIi1cIikge1xyXG4gICAgICAgICAgcmV0dXJuIC0xO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIGZpcnN0ID0gdGhpcy5hbm5hRGF0ZVRpbWVGb3JtYXRTZXJ2aWNlLmZvcm1hdERhdGVBbmRISE1NQVRpbWVUb1N0YW5kYXJkRm9ybWF0KGFbc29ydEJ5XSk7XHJcbiAgICAgICAgICBzZWNvbmQgPSB0aGlzLmFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2UuZm9ybWF0RGF0ZUFuZEhITU1BVGltZVRvU3RhbmRhcmRGb3JtYXQoYltzb3J0QnldKTtcclxuICAgICAgICAgIGxldCBjb21wYXJlRGF0ZSA9IHRoaXMuYW5uYURhdGVUaW1lRm9ybWF0U2VydmljZS5jb21wYXJlRGF0ZShmaXJzdCwgc2Vjb25kLCBpc0FzYylcclxuICAgICAgICAgIHJldHVybiBjb21wYXJlRGF0ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoc29ydEJ5ID09PSBcInN0YXJ0RW5kVGltZVwiIHx8IHNvcnRCeSA9PT0gXCJUaW1lQmFuZFwiKSB7XHJcbiAgICAgIGRhdGEuc29ydCgoYSwgYikgPT4ge1xyXG4gICAgICAgIGlmIChpc0FzYykge1xyXG4gICAgICAgICAgcGFyYW0xID0gYVtzb3J0QnldWzFdO1xyXG4gICAgICAgICAgcGFyYW0yID0gYltzb3J0QnldWzFdO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBwYXJhbTEgPSBhW3NvcnRCeV1bMl07XHJcbiAgICAgICAgICBwYXJhbTIgPSBiW3NvcnRCeV1bMl07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldCB2YWwgPSBpc0FzY1xyXG4gICAgICAgICAgPyB0aGlzLmFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2Uuc29ydEJ5VGltZUFzY2VuZGluZyhwYXJhbTEsIHBhcmFtMilcclxuICAgICAgICAgIDogdGhpcy5hbm5hRGF0ZVRpbWVGb3JtYXRTZXJ2aWNlLnNvcnRCeVRpbWVEZXNjZW5kaW5nKHBhcmFtMSwgcGFyYW0yKTtcclxuICAgICAgICByZXR1cm4gdmFsO1xyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSBpZiAoc29ydEJ5ID09PSBcImRheXNcIikge1xyXG4gICAgICBkYXRhLnNvcnQoKGEsIGIpID0+IHtcclxuICAgICAgICBwYXJhbTEgPSBhW3NvcnRCeV0uaW5jbHVkZXMoXCItXCIpID8gRGF5c1thW3NvcnRCeV0uc3BsaXQoXCItXCIpWzBdXSA6IERheXNbYVtzb3J0QnldXTtcclxuICAgICAgICBwYXJhbTIgPSBiW3NvcnRCeV0uaW5jbHVkZXMoXCItXCIpID8gRGF5c1tiW3NvcnRCeV0uc3BsaXQoXCItXCIpWzBdXSA6IERheXNbYltzb3J0QnldXTtcclxuICAgICAgICByZXR1cm4gdGhpcy5hbm5hRGF0ZVRpbWVGb3JtYXRTZXJ2aWNlLmNvbXBhcmUocGFyYW0xLCBwYXJhbTIsIGlzQXNjKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICAvL3NvcnQgYnkgc3RyaW5nIG9yIG51bWJlclxyXG4gICAgZWxzZSB7XHJcbiAgICAgIGRhdGEuZm9yRWFjaCgoYSkgPT4ge1xyXG4gICAgICAgIC8vIGlmKGFbJ3NvcnQnXSA9PSB1bmRlZmluZWQpIC8vXHJcbiAgICAgICAgLy9mb3IgY29tcG9uZW50IG90aGVyIHRoYW4gZW50ZXIvZWRpdCBsdXIgcGFnZVxyXG4gICAgICAgIGlmICghKFwic29ydFwiIGluIGEpKSB7XHJcbiAgICAgICAgICBkYXRhVG9JbmNsdWRlLnB1c2goYSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vZm9yIGVudGVyL2VkaXQgbHVyIHBhZ2VcclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIGRhdGFUb0V4Y2x1ZGUucHVzaChhKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgZGF0YSA9IFtdO1xyXG4gICAgICBkYXRhID0gZGF0YVRvSW5jbHVkZTtcclxuICAgICAgZGF0YS5zb3J0KChhLCBiKTogbnVtYmVyID0+IHtcclxuICAgICAgICBwYXJhbTEgPSBhW3NvcnRCeV07XHJcbiAgICAgICAgcGFyYW0yID0gYltzb3J0QnldO1xyXG5cclxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShhW3NvcnRCeV0pKSB7XHJcbiAgICAgICAgICBwYXJhbTEgPSBhW3NvcnRCeV1bMF0gPT09IFwiLVwiID8gMCA6IGFbc29ydEJ5XVswXTtcclxuICAgICAgICAgIGlmIChhW3NvcnRCeV1bMF0uaW5jbHVkZXMoQ29uc3RhbnRzLmRvbGxhcnMpKSB7XHJcbiAgICAgICAgICAgIHBhcmFtMSA9ICthW3NvcnRCeV1bMF0uc3BsaXQoQ29uc3RhbnRzLmRvbGxhcnMpWzFdO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoYltzb3J0QnldKSkge1xyXG4gICAgICAgICAgcGFyYW0yID0gYltzb3J0QnldWzBdID09IFwiLVwiID8gMCA6IGJbc29ydEJ5XVswXTtcclxuICAgICAgICAgIGlmIChiW3NvcnRCeV1bMF0uaW5jbHVkZXMoQ29uc3RhbnRzLmRvbGxhcnMpKSB7XHJcbiAgICAgICAgICAgIHBhcmFtMiA9ICtiW3NvcnRCeV1bMF0uc3BsaXQoQ29uc3RhbnRzLmRvbGxhcnMpWzFdO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHBhcmFtMSAhPT0gcGFyYW0yKSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5hbm5hRGF0ZVRpbWVGb3JtYXRTZXJ2aWNlLmNvbXBhcmUocGFyYW0xLCBwYXJhbTIsIGlzQXNjKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gQ0hBTkdFU0BBTk5BTElCIGNoYW5nZWQgaXQgdG8gZnJvbSBmYWxzZSB0byAwXHJcbiAgICAgICAgcmV0dXJuIDA7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgaWYgKGRhdGFUb0V4Y2x1ZGUubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIGlmIChzb3J0QnkuaW5jbHVkZXMoXCJfXCIpKSB7XHJcbiAgICAgICAgICBsZXQga2V5czogYW55ID0gc29ydEJ5LnNwbGl0KFwiX1wiKTtcclxuICAgICAgICAgIGxldCB3ZWVrTnVtYmVyID0ga2V5c1swXTtcclxuICAgICAgICAgIGxldCBzb3J0S2V5ID0ga2V5c1sxXTtcclxuICAgICAgICAgIGlmIChrZXlzLmxlbmd0aCA+IDIpIHtcclxuICAgICAgICAgICAgc29ydEtleSA9IGtleXNbMl0gPT0gdHJ1ZSA/IFwiQm9va2VkQXVySW5jbHVkaW5nTm9DaGFyZ2VTcG90c1wiIDogXCJCb29rZWRBdXJFeGNsdWRpbmdOb0NoYXJnZVNwb3RzXCI7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBkYXRhVG9FeGNsdWRlLnNvcnQoKGEsIGIpID0+IHtcclxuICAgICAgICAgICAgbGV0IGFJbnZlbnRvcnlDb2RlV2Vla1dpc2VLZXkgPSBPYmplY3Qua2V5cyhhLldlZWtXaXNlSW52ZW50b3J5Q29kZURhdGEpLmZpbHRlcihcclxuICAgICAgICAgICAgICAoa2V5KSA9PiBrZXkuc3BsaXQoXCJfXCIpWzFdID09IHdlZWtOdW1iZXJcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgbGV0IGJJbnZlbnRvcnlDb2RlV2Vla1dpc2VLZXkgPSBPYmplY3Qua2V5cyhiLldlZWtXaXNlSW52ZW50b3J5Q29kZURhdGEpLmZpbHRlcihcclxuICAgICAgICAgICAgICAoa2V5KSA9PiBrZXkuc3BsaXQoXCJfXCIpWzFdID09IHdlZWtOdW1iZXJcclxuICAgICAgICAgICAgKTtcclxuXHJcbiAgICAgICAgICAgIHBhcmFtMSA9IG51bGw7XHJcbiAgICAgICAgICAgIHBhcmFtMiA9IG51bGw7XHJcbiAgICAgICAgICAgIGlmIChhSW52ZW50b3J5Q29kZVdlZWtXaXNlS2V5Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICBwYXJhbTEgPSBhLldlZWtXaXNlSW52ZW50b3J5Q29kZURhdGFbYUludmVudG9yeUNvZGVXZWVrV2lzZUtleVswXV1bc29ydEtleV1bMV07XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmIChiSW52ZW50b3J5Q29kZVdlZWtXaXNlS2V5Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICBwYXJhbTIgPSBiLldlZWtXaXNlSW52ZW50b3J5Q29kZURhdGFbYkludmVudG9yeUNvZGVXZWVrV2lzZUtleVswXV1bc29ydEtleV1bMV07XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmIChwYXJhbTEgIT09IHBhcmFtMikge1xyXG4gICAgICAgICAgICAgIHJldHVybiB0aGlzLmFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2UuY29tcGFyZShwYXJhbTEsIHBhcmFtMiwgaXNBc2MpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICByZXR1cm4gMDtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBkYXRhVG9FeGNsdWRlLnNvcnQoKGEsIGIpID0+IHtcclxuICAgICAgICAgICAgcGFyYW0xID0gYVtzb3J0QnldO1xyXG4gICAgICAgICAgICBwYXJhbTIgPSBiW3NvcnRCeV07XHJcblxyXG4gICAgICAgICAgICBpZiAocGFyYW0xICE9PSBwYXJhbTIpIHtcclxuICAgICAgICAgICAgICByZXR1cm4gdGhpcy5hbm5hRGF0ZVRpbWVGb3JtYXRTZXJ2aWNlLmNvbXBhcmUocGFyYW0xLCBwYXJhbTIsIGlzQXNjKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgcmV0dXJuIDA7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiB7IGRhdGE6IFsuLi5kYXRhLCAuLi5kYXRhVG9FeGNsdWRlXSwgdHlwZTogaXNBc2MgfTtcclxuICB9XHJcblxyXG4gIGNhbGxTb3J0KGRhdGE6IGFueVtdKSB7XHJcbiAgICBsZXQgc29ydEJ5ID0gbnVsbDtcclxuICAgIGxldCBpc0FzYzogYm9vbGVhbjtcclxuICAgIHRoaXMuc29ydEJ5QXNjLmZvckVhY2goKHZhbHVlLCBrZXkpID0+IHtcclxuICAgICAgICBpZiAodmFsdWUgPT09IHRydWUpIHtcclxuICAgICAgICAgICAgc29ydEJ5ID0ga2V5O1xyXG4gICAgICAgICAgICBpc0FzYyA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICBpZiAoc29ydEJ5ID09IG51bGwpIHtcclxuICAgICAgICB0aGlzLnNvcnRCeURlc2MuZm9yRWFjaCgodmFsdWUsIGtleSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAodmFsdWUgPT09IHRydWUpIHtcclxuICAgICAgICAgICAgICAgIHNvcnRCeSA9IGtleTtcclxuICAgICAgICAgICAgICAgIGlzQXNjID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIGlmIChzb3J0QnkgIT0gbnVsbCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNvcnQoaXNBc2MsIGRhdGEsIHNvcnRCeSkuZGF0YTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIGRhdGE7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG59XHJcbiJdfQ==
|
|
145
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1zb3J0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9zZXJ2aWNlcy9hbm5hLXNvcnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0QkFBNEI7QUFDNUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7O0FBRTVFLGdDQUFnQztBQUVoQyxpQ0FBaUM7QUFLakMsTUFBTSxPQUFPLGVBQWU7SUFhMUIsWUFBb0IseUJBQW9EO1FBQXBELDhCQUF5QixHQUF6Qix5QkFBeUIsQ0FBMkI7UUFUeEUsWUFBTyxHQUFHLElBQUksR0FBRyxDQUFDO1lBQ2hCLFNBQVM7WUFDVCxXQUFXO1lBQ1gsVUFBVTtZQUNWLFlBQVk7WUFDWixpQkFBaUI7WUFDakIsZUFBZTtTQUNoQixDQUFDLENBQUM7UUFHRCxPQUFPLENBQUMsR0FBRyxDQUFDLDRDQUE0QyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELDBDQUEwQyxDQUN4QyxLQUFjLEVBQ2QsSUFBVyxFQUNYLEdBQVc7UUFFWCxJQUFJLE1BQXVCLENBQUM7UUFDNUIsSUFBSSxNQUF1QixDQUFDO1FBRTVCLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDakIsT0FBTyxJQUFJLENBQUMseUJBQXlCLENBQUMsV0FBVyxDQUMvQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQ04sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUNOLEtBQUssQ0FDTixDQUFDO1lBQ0osQ0FBQyxDQUFDLENBQUM7U0FDSjthQUFNLElBQUksR0FB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O29CQUNyQixPQUFPLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztpQkFDdEU7Z0JBRUQsT0FBTyxDQUFDLENBQUM7WUFDWCxDQUFDLENBQUMsQ0FBQztTQUNKO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOzs0R0FuS1UsZUFBZTtnSEFBZixlQUFlLGNBRmQsTUFBTTsyRkFFUCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXIgaW1wb3J0IHN0YXRlbWVudHNcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTb3J0VHlwZSB9IGZyb20gJy4uL21vZGVscy9hbm5hLXNvcnQubW9kZWwnO1xyXG5pbXBvcnQgeyBBbm5hRGF0ZVRpbWVGb3JtYXRTZXJ2aWNlIH0gZnJvbSAnLi9hbm5hLWRhdGUtdGltZS1mb3JtYXQuc2VydmljZSc7XHJcblxyXG4vLyBUaGlyZCBwYXJ0eSBpbXBvcnQgc3RhdGVtZW50c1xyXG5cclxuLy8gVXNlciBkZWZpbmVkIGltcG9ydCBzdGF0ZW1lbnRzXHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQW5uYVNvcnRTZXJ2aWNlIHtcclxuICBjb2x1bW5Tb3J0U3RhdGU6IE1hcDxzdHJpbmcsIFNvcnRUeXBlPjtcclxuICBub1NvcnRpbmdBcHBsaWVkRGF0YTogYW55W107XHJcblxyXG4gIGRhdGVTZXQgPSBuZXcgU2V0KFtcclxuICAgICdlbmREYXRlJyxcclxuICAgICdzdGFydERhdGUnLFxyXG4gICAgJ2VuZF9kYXRlJyxcclxuICAgICdzdGFydF9kYXRlJyxcclxuICAgICdmbGlnaHRTdGFydERhdGUnLFxyXG4gICAgJ2ZsaWdodEVuZERhdGUnLFxyXG4gIF0pO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2U6IEFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2UpIHtcclxuICAgIGNvbnNvbGUubG9nKCdBbm5hVGFibGVDb2x1bW5Tb3J0U2VydmljZSBzZXZpY2UgY3JlYXRlZC4nKTtcclxuICB9XHJcblxyXG4gIHNvcnREYXRhRm9yQ29tcG9uZW50T3RoZXJUaGFuTHVyQW5kQ3NyUGFnZShcclxuICAgIGlzQXNjOiBib29sZWFuLFxyXG4gICAgZGF0YTogYW55W10sXHJcbiAgICBrZXk6IHN0cmluZ1xyXG4gICkge1xyXG4gICAgbGV0IHBhcmFtMTogc3RyaW5nIHwgbnVtYmVyO1xyXG4gICAgbGV0IHBhcmFtMjogc3RyaW5nIHwgbnVtYmVyO1xyXG5cclxuICAgIGlmICh0aGlzLmRhdGVTZXQuaGFzKGtleSkpIHtcclxuICAgICAgZGF0YS5zb3J0KChhLCBiKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYW5uYURhdGVUaW1lRm9ybWF0U2VydmljZS5jb21wYXJlRGF0ZShcclxuICAgICAgICAgIGFba2V5XSxcclxuICAgICAgICAgIGJba2V5XSxcclxuICAgICAgICAgIGlzQXNjXHJcbiAgICAgICAgKTtcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2UgaWYgKGtleSA9PT0gJ0FpckRhdGVBbmRUaW1lJykge1xyXG4gICAgICBkYXRhLnNvcnQoKGEsIGIpID0+IHtcclxuICAgICAgICBsZXQgZmlyc3QsIHNlY29uZDtcclxuICAgICAgICBpZiAoYVtrZXldID09ICctJykge1xyXG4gICAgICAgICAgcmV0dXJuIDE7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoYltrZXldID09ICctJykge1xyXG4gICAgICAgICAgcmV0dXJuIC0xO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBmaXJzdCA9XHJcbiAgICAgICAgICAgIHRoaXMuYW5uYURhdGVUaW1lRm9ybWF0U2VydmljZS5mb3JtYXREYXRlQW5kSEhNTUFUaW1lVG9TdGFuZGFyZEZvcm1hdChcclxuICAgICAgICAgICAgICBhW2tleV1cclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgIHNlY29uZCA9XHJcbiAgICAgICAgICAgIHRoaXMuYW5uYURhdGVUaW1lRm9ybWF0U2VydmljZS5mb3JtYXREYXRlQW5kSEhNTUFUaW1lVG9TdGFuZGFyZEZvcm1hdChcclxuICAgICAgICAgICAgICBiW2tleV1cclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgIGxldCBjb21wYXJlRGF0ZSA9IHRoaXMuYW5uYURhdGVUaW1lRm9ybWF0U2VydmljZS5jb21wYXJlRGF0ZShcclxuICAgICAgICAgICAgZmlyc3QsXHJcbiAgICAgICAgICAgIHNlY29uZCxcclxuICAgICAgICAgICAgaXNBc2NcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgICByZXR1cm4gY29tcGFyZURhdGU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSBpZiAoa2V5ID09ICdzdGFydEVuZFRpbWUnIHx8IGtleSA9PSAnVGltZUJhbmQnKSB7XHJcbiAgICAgIGRhdGEuc29ydCgoYSwgYikgPT4ge1xyXG4gICAgICAgIGlmIChpc0FzYykge1xyXG4gICAgICAgICAgcGFyYW0xID0gYVtrZXldWzFdO1xyXG4gICAgICAgICAgcGFyYW0yID0gYltrZXldWzFdO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBwYXJhbTEgPSBhW2tleV1bMl07XHJcbiAgICAgICAgICBwYXJhbTIgPSBiW2tleV1bMl07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldCB2YWwgPSBpc0FzY1xyXG4gICAgICAgICAgPyB0aGlzLmFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2Uuc29ydEJ5VGltZUFzY2VuZGluZyhwYXJhbTEsIHBhcmFtMilcclxuICAgICAgICAgIDogdGhpcy5hbm5hRGF0ZVRpbWVGb3JtYXRTZXJ2aWNlLnNvcnRCeVRpbWVEZXNjZW5kaW5nKHBhcmFtMSwgcGFyYW0yKTtcclxuICAgICAgICByZXR1cm4gdmFsO1xyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGRhdGEuc29ydCgoYSwgYikgPT4ge1xyXG4gICAgICAgIHBhcmFtMSA9IGFba2V5XTtcclxuICAgICAgICBwYXJhbTIgPSBiW2tleV07XHJcblxyXG4gICAgICAgIGlmIChwYXJhbTEgIT09IHBhcmFtMikge1xyXG4gICAgICAgICAgcmV0dXJuIHRoaXMuYW5uYURhdGVUaW1lRm9ybWF0U2VydmljZS5jb21wYXJlKHBhcmFtMSwgcGFyYW0yLCBpc0FzYyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gMDtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGRhdGE7XHJcbiAgfVxyXG5cclxuICBzb3J0RW50ZXJFZGl0THVyQW5kQ3NyUGFnZShpc0FzYzogYm9vbGVhbiwgZGF0YTogYW55W10sIGtleTogYW55KSB7XHJcbiAgICBsZXQgcGFyYW0xOiBzdHJpbmcgfCBudW1iZXI7XHJcbiAgICBsZXQgcGFyYW0yOiBzdHJpbmcgfCBudW1iZXI7XHJcblxyXG4gICAgaWYgKGtleS5pbmNsdWRlcygnXycpKSB7XHJcbiAgICAgIGxldCBrZXlzID0ga2V5LnNwbGl0KCdfJyk7XHJcbiAgICAgIGxldCB3ZWVrTnVtYmVyID0ga2V5c1swXTtcclxuICAgICAgbGV0IHNvcnRLZXkgPSBrZXlzWzFdO1xyXG5cclxuICAgICAgaWYgKGtleXMubGVuZ3RoID4gMikge1xyXG4gICAgICAgIHNvcnRLZXkgPVxyXG4gICAgICAgICAga2V5c1syXSA9PSB0cnVlXHJcbiAgICAgICAgICAgID8gJ0Jvb2tlZEF1ckluY2x1ZGluZ05vQ2hhcmdlU3BvdHMnXHJcbiAgICAgICAgICAgIDogJ0Jvb2tlZEF1ckV4Y2x1ZGluZ05vQ2hhcmdlU3BvdHMnO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBkYXRhLnNvcnQoKGEsIGIpID0+IHtcclxuICAgICAgICBsZXQgYUludmVudG9yeUNvZGVXZWVrV2lzZUtleSA9IE9iamVjdC5rZXlzKFxyXG4gICAgICAgICAgYS5XZWVrV2lzZUludmVudG9yeUNvZGVEYXRhXHJcbiAgICAgICAgKS5maWx0ZXIoKGtleSkgPT4ga2V5LnNwbGl0KCdfJylbMV0gPT0gd2Vla051bWJlcik7XHJcbiAgICAgICAgbGV0IGJJbnZlbnRvcnlDb2RlV2Vla1dpc2VLZXkgPSBPYmplY3Qua2V5cyhcclxuICAgICAgICAgIGIuV2Vla1dpc2VJbnZlbnRvcnlDb2RlRGF0YVxyXG4gICAgICAgICkuZmlsdGVyKChrZXkpID0+IGtleS5zcGxpdCgnXycpWzFdID09IHdlZWtOdW1iZXIpO1xyXG5cclxuICAgICAgICBwYXJhbTEgPSBudWxsO1xyXG4gICAgICAgIHBhcmFtMiA9IG51bGw7XHJcbiAgICAgICAgaWYgKGFJbnZlbnRvcnlDb2RlV2Vla1dpc2VLZXkubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgcGFyYW0xID1cclxuICAgICAgICAgICAgYS5XZWVrV2lzZUludmVudG9yeUNvZGVEYXRhW2FJbnZlbnRvcnlDb2RlV2Vla1dpc2VLZXlbMF1dW1xyXG4gICAgICAgICAgICAgIHNvcnRLZXlcclxuICAgICAgICAgICAgXVsxXTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChiSW52ZW50b3J5Q29kZVdlZWtXaXNlS2V5Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgIHBhcmFtMiA9XHJcbiAgICAgICAgICAgIGIuV2Vla1dpc2VJbnZlbnRvcnlDb2RlRGF0YVtiSW52ZW50b3J5Q29kZVdlZWtXaXNlS2V5WzBdXVtcclxuICAgICAgICAgICAgICBzb3J0S2V5XHJcbiAgICAgICAgICAgIF1bMV07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAocGFyYW0xICE9PSBwYXJhbTIpIHtcclxuICAgICAgICAgIHJldHVybiB0aGlzLmFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2UuY29tcGFyZShwYXJhbTEsIHBhcmFtMiwgaXNBc2MpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIDA7XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIGlmIChrZXkgPT0gJ1RpbWVCYW5kJykge1xyXG4gICAgICBkYXRhLnNvcnQoKGEsIGIpID0+IHtcclxuICAgICAgICBpZiAoaXNBc2MpIHtcclxuICAgICAgICAgIHBhcmFtMSA9IGFba2V5XVsxXTtcclxuICAgICAgICAgIHBhcmFtMiA9IGJba2V5XVsxXTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcGFyYW0xID0gYVtrZXldWzJdO1xyXG4gICAgICAgICAgcGFyYW0yID0gYltrZXldWzJdO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsZXQgdmFsID0gaXNBc2NcclxuICAgICAgICAgID8gdGhpcy5hbm5hRGF0ZVRpbWVGb3JtYXRTZXJ2aWNlLnNvcnRCeVRpbWVBc2NlbmRpbmcocGFyYW0xLCBwYXJhbTIpXHJcbiAgICAgICAgICA6IHRoaXMuYW5uYURhdGVUaW1lRm9ybWF0U2VydmljZS5zb3J0QnlUaW1lRGVzY2VuZGluZyhwYXJhbTEsIHBhcmFtMik7XHJcbiAgICAgICAgcmV0dXJuIHZhbDtcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBkYXRhLnNvcnQoKGEsIGIpID0+IHtcclxuICAgICAgICBwYXJhbTEgPSBhW2tleV07XHJcbiAgICAgICAgcGFyYW0yID0gYltrZXldO1xyXG5cclxuICAgICAgICBpZiAocGFyYW0xICE9PSBwYXJhbTIpIHtcclxuICAgICAgICAgIHJldHVybiB0aGlzLmFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2UuY29tcGFyZShwYXJhbTEsIHBhcmFtMiwgaXNBc2MpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIDA7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBkYXRhO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,20 +1,24 @@
|
|
|
1
1
|
// Angular import statements
|
|
2
2
|
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from "@angular/core";
|
|
3
|
+
import { AnnaDateTimeFormatService } from "@annalib/anna-core/src/lib/anna-core-shared-lib";
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@
|
|
5
|
+
import * as i1 from "@annalib/anna-core/src/lib/anna-core-shared-lib";
|
|
6
|
+
import * as i2 from "@ng-bootstrap/ng-bootstrap";
|
|
5
7
|
export class AnnaCalendarFilterComponent {
|
|
6
|
-
constructor() {
|
|
8
|
+
constructor(annaTimeService) {
|
|
9
|
+
this.annaTimeService = annaTimeService;
|
|
7
10
|
this.selectedDate = new EventEmitter();
|
|
8
11
|
this.apply = new EventEmitter();
|
|
9
12
|
this.cancel = new EventEmitter();
|
|
10
13
|
this.disableApplyBtn = false;
|
|
14
|
+
this.dateToBeShownInInput = "";
|
|
11
15
|
}
|
|
12
16
|
ngOnInit() {
|
|
13
17
|
this.fromDate = this.selectedFromDate;
|
|
14
18
|
this.toDate = this.selectedToDate;
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
this.
|
|
19
|
+
console.log(this.minDate);
|
|
20
|
+
console.log(this.maxDate);
|
|
21
|
+
this.setInputText();
|
|
18
22
|
}
|
|
19
23
|
onDateSelection(date) {
|
|
20
24
|
if (!this.fromDate && !this.toDate) {
|
|
@@ -27,7 +31,9 @@ export class AnnaCalendarFilterComponent {
|
|
|
27
31
|
this.toDate = null;
|
|
28
32
|
this.fromDate = date;
|
|
29
33
|
}
|
|
34
|
+
this.selectedDate.emit({ fromDate: this.fromDate, toDate: this.toDate });
|
|
30
35
|
this.disableCalendarApplyBtn();
|
|
36
|
+
this.setInputText();
|
|
31
37
|
}
|
|
32
38
|
isHovered(date) {
|
|
33
39
|
return this.fromDate && !this.toDate && this.hoveredDate && date.after(this.fromDate) && date.before(this.hoveredDate);
|
|
@@ -50,17 +56,25 @@ export class AnnaCalendarFilterComponent {
|
|
|
50
56
|
disableCalendarApplyBtn() {
|
|
51
57
|
this.disableApplyBtn = !(this.fromDate && this.toDate);
|
|
52
58
|
}
|
|
59
|
+
setInputText() {
|
|
60
|
+
if (this.fromDate && this.toDate) {
|
|
61
|
+
this.dateToBeShownInInput = `${this.annaTimeService.convertNgbDateToMoment(this.fromDate)} - ${this.annaTimeService.convertNgbDateToMoment(this.toDate)}`;
|
|
62
|
+
}
|
|
63
|
+
else if (this.fromDate) {
|
|
64
|
+
this.dateToBeShownInInput = `${this.annaTimeService.convertNgbDateToMoment(this.fromDate)}`;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
53
67
|
}
|
|
54
|
-
AnnaCalendarFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AnnaCalendarFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
55
|
-
AnnaCalendarFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: AnnaCalendarFilterComponent, selector: "anna-core-calendar-filter-lib", inputs: { maxDate: "maxDate",
|
|
68
|
+
AnnaCalendarFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AnnaCalendarFilterComponent, deps: [{ token: i1.AnnaDateTimeFormatService }], target: i0.ɵɵFactoryTarget.Component });
|
|
69
|
+
AnnaCalendarFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: AnnaCalendarFilterComponent, selector: "anna-core-calendar-filter-lib", inputs: { maxDate: "maxDate", label: "label", minDate: "minDate", selectedFromDate: "selectedFromDate", selectedToDate: "selectedToDate" }, outputs: { selectedDate: "selectedDate", apply: "apply", cancel: "cancel" }, ngImport: i0, template: "<p class=\"calendar-label\">{{label}}</p>\r\n<form class=\"row row-cols-sm-auto\">\r\n <div class=\"col-12\">\r\n <div class=\"dp-hidden position-absolute\">\r\n <div class=\"input-group\">\r\n <input name=\"datepicker\"\r\n class=\"form-control\"\r\n ngbDatepicker\r\n #datepicker=\"ngbDatepicker\"\r\n (dateSelect)=\"onDateSelection($event)\"\r\n [displayMonths]=\"1\"\r\n [dayTemplate]=\"t\"\r\n [maxDate]=\"maxDate\"\r\n [minDate]=\"minDate\"\r\n [autoClose]=\"'outside'\"\r\n [startDate]=\"fromDate\"\r\n navigation=\"select\"\r\n >\r\n <ng-template #t let-date let-focused=\"focused\">\r\n <span class=\"custom-day\"\r\n [class.focused]=\"focused\"\r\n [class.range]=\"isRange(date)\"\r\n [class.faded]=\"isHovered(date) || isInside(date)\"\r\n (mouseenter)=\"hoveredDate = date\"\r\n (mouseleave)=\"hoveredDate = null\">\r\n {{ date.day }}\r\n </span>\r\n </ng-template>\r\n </div>\r\n </div>\r\n <div class=\"input-group\">\r\n <input #dpFromDate\r\n id = \"datepicker-input\"\r\n class=\"form-control\" placeholder=\"mm/dd/yyyy\"\r\n readonly\r\n name=\"dpFromDate\"\r\n [value]=\"dateToBeShownInInput\"\r\n >\r\n <button class=\"icon-container\" (click)=\"datepicker.toggle()\" type=\"button\"><i class=\"mdi mdi-calendar-range\"></i></button>\r\n </div>\r\n </div>\r\n</form>\r\n\r\n", styles: [":host::ng-deep div.ngb-dp-arrow.right{width:2.4375rem!important;background-color:#fff!important}:host::ng-deep div.ngb-dp-weekday{color:#8bac2a;border-top:1px solid rgba(183,183,183,.6);margin-top:.5rem;font-family:Roboto;font-size:.8125rem;font-weight:700;font-stretch:normal;font-style:normal;line-height:2.6;letter-spacing:normal}:host::ng-deep div.ngb-dp-week{background-color:#fff!important}:host::ng-deep div.ngb-dp-header{background-color:#fff!important}:host::ng-deep div.bg-primary{background-color:#d9e1e6!important;border-radius:.25rem}:host::ng-deep .ngb-dp-arrow-btn:focus{outline-width:0px}:host::ng-deep .right .ngb-dp-navigation-chevron,:host::ng-deep .ngb-dp-navigation-chevron{color:#000}:host::ng-deep .custom-select{border:1px solid rgba(183,183,183,.6);box-shadow:none}:host::ng-deep .btn:focus{box-shadow:none}div{margin:0 .3125rem}.custom-day{text-align:center;padding:.185rem .25rem;color:#000;display:inline-block;height:2rem;width:2rem}.custom-day.focused{background-color:#e6e6e6}.custom-day.range{background-color:#268bff;color:#fff}.custom-day:hover{background-color:#d9e1e6;border-radius:.25rem;color:#bdbdbd}:host::ng-deep div.ngb-dp-day.disabled{cursor:not-allowed}.custom-day.faded{background-color:#268bff33;color:#000;font-weight:600}:host::ng-deep div.ngb-dp-week div.ngb-dp-day.disabled .custom-day{color:#bdbdbd;opacity:50%}.buttons{display:flex;margin:0px auto .4375rem;margin-bottom:0;justify-content:center}.buttons button.btn:disabled{background:#bdbdbd;opacity:.5;color:#4a4a4a}.buttons .btn{display:inline-block;margin:8px 4px 0 8px;padding:5px 16px;text-align:center;outline:none;font-family:Roboto;font-size:.875rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:1.14;letter-spacing:normal;border:none;color:#268bff;background-color:#e5f1ff}.buttons .btn:last-of-type{background-color:#268bff;color:#fff}:host::ng-deep .ngb-dp-day{font-weight:700}input#datepicker-input,button.icon-container{background:white;border:none}input#datepicker-input{color:#202b47;font-family:Roboto;font-size:14px;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}input#datepicker-input:focus{box-shadow:none}div.input-group{border:1px solid #b7b7b7;border-radius:2px;width:94%}.calendar-label{font-family:Roboto;font-size:12px;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;color:#666;margin-top:7px;margin-bottom:0;text-align:left;margin-left:10px}\n"], directives: [{ type: i2.NgbInputDatepicker, selector: "input[ngbDatepicker]", inputs: ["disabled", "autoClose", "dayTemplate", "dayTemplateData", "displayMonths", "firstDayOfWeek", "footerTemplate", "markDisabled", "minDate", "maxDate", "navigation", "outsideDays", "placement", "restoreFocus", "showWeekdays", "showWeekNumbers", "startDate", "container", "positionTarget"], outputs: ["dateSelect", "navigate", "closed"], exportAs: ["ngbDatepicker"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
56
70
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AnnaCalendarFilterComponent, decorators: [{
|
|
57
71
|
type: Component,
|
|
58
|
-
args: [{ selector: "anna-core-calendar-filter-lib", changeDetection: ChangeDetectionStrategy.OnPush, template: "<
|
|
59
|
-
}], ctorParameters: function () { return []; }, propDecorators: { maxDate: [{
|
|
72
|
+
args: [{ selector: "anna-core-calendar-filter-lib", changeDetection: ChangeDetectionStrategy.OnPush, template: "<p class=\"calendar-label\">{{label}}</p>\r\n<form class=\"row row-cols-sm-auto\">\r\n <div class=\"col-12\">\r\n <div class=\"dp-hidden position-absolute\">\r\n <div class=\"input-group\">\r\n <input name=\"datepicker\"\r\n class=\"form-control\"\r\n ngbDatepicker\r\n #datepicker=\"ngbDatepicker\"\r\n (dateSelect)=\"onDateSelection($event)\"\r\n [displayMonths]=\"1\"\r\n [dayTemplate]=\"t\"\r\n [maxDate]=\"maxDate\"\r\n [minDate]=\"minDate\"\r\n [autoClose]=\"'outside'\"\r\n [startDate]=\"fromDate\"\r\n navigation=\"select\"\r\n >\r\n <ng-template #t let-date let-focused=\"focused\">\r\n <span class=\"custom-day\"\r\n [class.focused]=\"focused\"\r\n [class.range]=\"isRange(date)\"\r\n [class.faded]=\"isHovered(date) || isInside(date)\"\r\n (mouseenter)=\"hoveredDate = date\"\r\n (mouseleave)=\"hoveredDate = null\">\r\n {{ date.day }}\r\n </span>\r\n </ng-template>\r\n </div>\r\n </div>\r\n <div class=\"input-group\">\r\n <input #dpFromDate\r\n id = \"datepicker-input\"\r\n class=\"form-control\" placeholder=\"mm/dd/yyyy\"\r\n readonly\r\n name=\"dpFromDate\"\r\n [value]=\"dateToBeShownInInput\"\r\n >\r\n <button class=\"icon-container\" (click)=\"datepicker.toggle()\" type=\"button\"><i class=\"mdi mdi-calendar-range\"></i></button>\r\n </div>\r\n </div>\r\n</form>\r\n\r\n", styles: [":host::ng-deep div.ngb-dp-arrow.right{width:2.4375rem!important;background-color:#fff!important}:host::ng-deep div.ngb-dp-weekday{color:#8bac2a;border-top:1px solid rgba(183,183,183,.6);margin-top:.5rem;font-family:Roboto;font-size:.8125rem;font-weight:700;font-stretch:normal;font-style:normal;line-height:2.6;letter-spacing:normal}:host::ng-deep div.ngb-dp-week{background-color:#fff!important}:host::ng-deep div.ngb-dp-header{background-color:#fff!important}:host::ng-deep div.bg-primary{background-color:#d9e1e6!important;border-radius:.25rem}:host::ng-deep .ngb-dp-arrow-btn:focus{outline-width:0px}:host::ng-deep .right .ngb-dp-navigation-chevron,:host::ng-deep .ngb-dp-navigation-chevron{color:#000}:host::ng-deep .custom-select{border:1px solid rgba(183,183,183,.6);box-shadow:none}:host::ng-deep .btn:focus{box-shadow:none}div{margin:0 .3125rem}.custom-day{text-align:center;padding:.185rem .25rem;color:#000;display:inline-block;height:2rem;width:2rem}.custom-day.focused{background-color:#e6e6e6}.custom-day.range{background-color:#268bff;color:#fff}.custom-day:hover{background-color:#d9e1e6;border-radius:.25rem;color:#bdbdbd}:host::ng-deep div.ngb-dp-day.disabled{cursor:not-allowed}.custom-day.faded{background-color:#268bff33;color:#000;font-weight:600}:host::ng-deep div.ngb-dp-week div.ngb-dp-day.disabled .custom-day{color:#bdbdbd;opacity:50%}.buttons{display:flex;margin:0px auto .4375rem;margin-bottom:0;justify-content:center}.buttons button.btn:disabled{background:#bdbdbd;opacity:.5;color:#4a4a4a}.buttons .btn{display:inline-block;margin:8px 4px 0 8px;padding:5px 16px;text-align:center;outline:none;font-family:Roboto;font-size:.875rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:1.14;letter-spacing:normal;border:none;color:#268bff;background-color:#e5f1ff}.buttons .btn:last-of-type{background-color:#268bff;color:#fff}:host::ng-deep .ngb-dp-day{font-weight:700}input#datepicker-input,button.icon-container{background:white;border:none}input#datepicker-input{color:#202b47;font-family:Roboto;font-size:14px;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}input#datepicker-input:focus{box-shadow:none}div.input-group{border:1px solid #b7b7b7;border-radius:2px;width:94%}.calendar-label{font-family:Roboto;font-size:12px;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;color:#666;margin-top:7px;margin-bottom:0;text-align:left;margin-left:10px}\n"] }]
|
|
73
|
+
}], ctorParameters: function () { return [{ type: i1.AnnaDateTimeFormatService }]; }, propDecorators: { maxDate: [{
|
|
60
74
|
type: Input
|
|
61
|
-
}],
|
|
75
|
+
}], label: [{
|
|
62
76
|
type: Input
|
|
63
|
-
}],
|
|
77
|
+
}], minDate: [{
|
|
64
78
|
type: Input
|
|
65
79
|
}], selectedDate: [{
|
|
66
80
|
type: Output
|
|
@@ -73,4 +87,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
|
|
|
73
87
|
}], cancel: [{
|
|
74
88
|
type: Output
|
|
75
89
|
}] } });
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1jYWxlbmRhci1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb3JlL3NyYy9saWIvYW5uYS1kcm9wZG93bi1saWIvY29tcG9uZW50cy9hbm5hLWNhbGVuZGFyLWZpbHRlci9hbm5hLWNhbGVuZGFyLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWRyb3Bkb3duLWxpYi9jb21wb25lbnRzL2FubmEtY2FsZW5kYXItZmlsdGVyL2FubmEtY2FsZW5kYXItZmlsdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDRCQUE0QjtBQUM1QixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFTeEcsTUFBTSxPQUFPLDJCQUEyQjtJQWNwQztRQVRVLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUdsQyxVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUMzQixXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUl0QyxvQkFBZSxHQUFZLEtBQUssQ0FBQztJQUNsQixDQUFDO0lBRWhCLFFBQVE7UUFDSixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztRQUN0QyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDdEMsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFVO1FBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxlQUFlLENBQUMsSUFBYTtRQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDaEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7U0FDeEI7YUFBTSxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRTtZQUNuRyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztTQUN0QjthQUFNO1lBQ0gsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7WUFDbkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7U0FDeEI7UUFDRCxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQsU0FBUyxDQUFDLElBQWE7UUFDbkIsT0FBTyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzNILENBQUM7SUFFRCxRQUFRLENBQUMsSUFBYTtRQUNsQixPQUFPLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEYsQ0FBQztJQUVELE9BQU8sQ0FBQyxJQUFhO1FBQ2pCLE9BQU8sQ0FDSCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQ3pILENBQUM7SUFDTixDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELGNBQWM7UUFDVixJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUM5QixJQUFJLE9BQU8sR0FBRyxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDL0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDNUI7SUFDTCxDQUFDO0lBRUQsdUJBQXVCO1FBQ25CLElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzNELENBQUM7O3dIQWhFUSwyQkFBMkI7NEdBQTNCLDJCQUEyQixvU0NWeEMsNjZCQTZCQTsyRkRuQmEsMkJBQTJCO2tCQU52QyxTQUFTOytCQUNJLCtCQUErQixtQkFHeEIsdUJBQXVCLENBQUMsTUFBTTswRUFJdEMsT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNJLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0UsZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0ksS0FBSztzQkFBZCxNQUFNO2dCQUNHLE1BQU07c0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXIgaW1wb3J0IHN0YXRlbWVudHNcclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBOZ2JEYXRlIH0gZnJvbSBcIkBuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiBcImFubmEtY29yZS1jYWxlbmRhci1maWx0ZXItbGliXCIsXHJcbiAgICB0ZW1wbGF0ZVVybDogXCIuL2FubmEtY2FsZW5kYXItZmlsdGVyLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgICBzdHlsZVVybHM6IFtcIi4vYW5uYS1jYWxlbmRhci1maWx0ZXIuY29tcG9uZW50LnNjc3NcIl0sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFubmFDYWxlbmRhckZpbHRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICAvLyBAVmlld0NoaWxkKE5nYkRhdGVwaWNrZXIpIGRhdGVwaWNrZXI6IE5nYkRhdGVwaWNrZXI7XHJcbiAgICBASW5wdXQoKSBtYXhEYXRlOiBhbnk7XHJcbiAgICBASW5wdXQoKSBtaW5EYXRlOiBhbnk7XHJcbiAgICBASW5wdXQoKSBzaG93RGF0ZTogYW55O1xyXG4gICAgQE91dHB1dCgpIHNlbGVjdGVkRGF0ZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICAgIEBJbnB1dCgpIHNlbGVjdGVkRnJvbURhdGU6IGFueTtcclxuICAgIEBJbnB1dCgpIHNlbGVjdGVkVG9EYXRlOiBhbnk7XHJcbiAgICBAT3V0cHV0KCkgYXBwbHkgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgICBAT3V0cHV0KCkgY2FuY2VsID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gICAgZnJvbURhdGU6IGFueTtcclxuICAgIHRvRGF0ZTogYW55O1xyXG4gICAgaG92ZXJlZERhdGU6IGFueTtcclxuICAgIGRpc2FibGVBcHBseUJ0bjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgY29uc3RydWN0b3IoKSB7fVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMuZnJvbURhdGUgPSB0aGlzLnNlbGVjdGVkRnJvbURhdGU7XHJcbiAgICAgICAgdGhpcy50b0RhdGUgPSB0aGlzLnNlbGVjdGVkVG9EYXRlO1xyXG4gICAgfVxyXG5cclxuICAgIGRhdGVTZWxlY3RlZChldmVudDogYW55KSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZERhdGUuZW1pdChldmVudCk7XHJcbiAgICB9XHJcblxyXG4gICAgb25EYXRlU2VsZWN0aW9uKGRhdGU6IE5nYkRhdGUpIHtcclxuICAgICAgICBpZiAoIXRoaXMuZnJvbURhdGUgJiYgIXRoaXMudG9EYXRlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZnJvbURhdGUgPSBkYXRlO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5mcm9tRGF0ZSAmJiAhdGhpcy50b0RhdGUgJiYgKGRhdGUuYWZ0ZXIodGhpcy5mcm9tRGF0ZSkgfHwgZGF0ZS5lcXVhbHModGhpcy5mcm9tRGF0ZSkpKSB7XHJcbiAgICAgICAgICAgIHRoaXMudG9EYXRlID0gZGF0ZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLnRvRGF0ZSA9IG51bGw7XHJcbiAgICAgICAgICAgIHRoaXMuZnJvbURhdGUgPSBkYXRlO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmRpc2FibGVDYWxlbmRhckFwcGx5QnRuKCk7XHJcbiAgICB9XHJcblxyXG4gICAgaXNIb3ZlcmVkKGRhdGU6IE5nYkRhdGUpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5mcm9tRGF0ZSAmJiAhdGhpcy50b0RhdGUgJiYgdGhpcy5ob3ZlcmVkRGF0ZSAmJiBkYXRlLmFmdGVyKHRoaXMuZnJvbURhdGUpICYmIGRhdGUuYmVmb3JlKHRoaXMuaG92ZXJlZERhdGUpO1xyXG4gICAgfVxyXG5cclxuICAgIGlzSW5zaWRlKGRhdGU6IE5nYkRhdGUpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy50b0RhdGUgJiYgZGF0ZS5hZnRlcih0aGlzLmZyb21EYXRlKSAmJiBkYXRlLmJlZm9yZSh0aGlzLnRvRGF0ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgaXNSYW5nZShkYXRlOiBOZ2JEYXRlKSB7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgZGF0ZS5lcXVhbHModGhpcy5mcm9tRGF0ZSkgfHwgKHRoaXMudG9EYXRlICYmIGRhdGUuZXF1YWxzKHRoaXMudG9EYXRlKSkgfHwgdGhpcy5pc0luc2lkZShkYXRlKSB8fCB0aGlzLmlzSG92ZXJlZChkYXRlKVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgY2FuY2VsU2VsZWN0aW9uKCkge1xyXG4gICAgICAgIHRoaXMuY2FuY2VsLmVtaXQoKTtcclxuICAgIH1cclxuXHJcbiAgICBhcHBseVNlbGVjdGlvbigpIHtcclxuICAgICAgICBpZiAodGhpcy5mcm9tRGF0ZSAmJiB0aGlzLnRvRGF0ZSkge1xyXG4gICAgICAgICAgICBsZXQgZGF0ZU9iaiA9IHsgZnJvbURhdGU6IHRoaXMuZnJvbURhdGUsIHRvRGF0ZTogdGhpcy50b0RhdGUgfTtcclxuICAgICAgICAgICAgdGhpcy5hcHBseS5lbWl0KGRhdGVPYmopO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBkaXNhYmxlQ2FsZW5kYXJBcHBseUJ0bigpIHtcclxuICAgICAgICB0aGlzLmRpc2FibGVBcHBseUJ0biA9ICEodGhpcy5mcm9tRGF0ZSAmJiB0aGlzLnRvRGF0ZSk7XHJcbiAgICB9XHJcbn1cclxuIiwiPG5nYi1kYXRlcGlja2VyXHJcbiAgICBjbGFzcz1cImN1c3RvbS1kYXRlcGlja2VyXCJcclxuICAgICNkcFxyXG4gICAgW21heERhdGVdPVwibWF4RGF0ZVwiXHJcbiAgICBbbWluRGF0ZV09XCJtaW5EYXRlXCJcclxuICAgIFtkaXNwbGF5TW9udGhzXT1cIjFcIlxyXG4gICAgW2RheVRlbXBsYXRlXT1cInRcIlxyXG4gICAgW3N0YXJ0RGF0ZV09XCJmcm9tRGF0ZVwiXHJcbiAgICAoZGF0ZVNlbGVjdCk9XCJvbkRhdGVTZWxlY3Rpb24oJGV2ZW50KVwiXHJcbiAgICBuYXZpZ2F0aW9uPVwic2VsZWN0XCJcclxuPlxyXG48L25nYi1kYXRlcGlja2VyPlxyXG48ZGl2IGNsYXNzPVwiYnV0dG9uc1wiPlxyXG4gICAgPGJ1dHRvbiBjbGFzcz1cImJ0blwiIChjbGljayk9XCJjYW5jZWxTZWxlY3Rpb24oKVwiPkNhbmNlbDwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvbiBjbGFzcz1cImJ0blwiIChjbGljayk9XCJhcHBseVNlbGVjdGlvbigpXCIgW2Rpc2FibGVkXT1cImRpc2FibGVBcHBseUJ0blwiPkFwcGx5PC9idXR0b24+XHJcbjwvZGl2PlxyXG5cclxuPG5nLXRlbXBsYXRlICN0IGxldC1kYXRlIGxldC1mb2N1c2VkPVwiZm9jdXNlZFwiPlxyXG4gICAgPHNwYW5cclxuICAgICAgICBjbGFzcz1cImN1c3RvbS1kYXlcIlxyXG4gICAgICAgIFtjbGFzcy5mb2N1c2VkXT1cImZvY3VzZWRcIlxyXG4gICAgICAgIFtjbGFzcy5yYW5nZV09XCJpc1JhbmdlKGRhdGUpXCJcclxuICAgICAgICBbY2xhc3MuZmFkZWRdPVwiaXNIb3ZlcmVkKGRhdGUpIHx8IGlzSW5zaWRlKGRhdGUpXCJcclxuICAgICAgICAobW91c2VlbnRlcik9XCJob3ZlcmVkRGF0ZSA9IGRhdGVcIlxyXG4gICAgICAgIChtb3VzZWxlYXZlKT1cImhvdmVyZWREYXRlID0gbnVsbFwiXHJcbiAgICA+XHJcbiAgICAgICAge3sgZGF0ZS5kYXkgfX1cclxuICAgIDwvc3Bhbj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1jYWxlbmRhci1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb3JlL3NyYy9saWIvYW5uYS1kcm9wZG93bi1saWIvY29tcG9uZW50cy9hbm5hLWNhbGVuZGFyLWZpbHRlci9hbm5hLWNhbGVuZGFyLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWRyb3Bkb3duLWxpYi9jb21wb25lbnRzL2FubmEtY2FsZW5kYXItZmlsdGVyL2FubmEtY2FsZW5kYXItZmlsdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDRCQUE0QjtBQUM1QixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSXhHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDOzs7O0FBUTVGLE1BQU0sT0FBTywyQkFBMkI7SUFnQnBDLFlBQW9CLGVBQTBDO1FBQTFDLG9CQUFlLEdBQWYsZUFBZSxDQUEyQjtRQVhwRCxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFHbEMsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDM0IsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFJdEMsb0JBQWUsR0FBWSxLQUFLLENBQUM7UUFDakMseUJBQW9CLEdBQVcsRUFBRSxDQUFDO0lBRStCLENBQUM7SUFFbEUsUUFBUTtRQUNKLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1FBQ3RDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUNsQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUks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QUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztTQUM3SjthQUNJLElBQUcsSUFBSSxDQUFDLFFBQVEsRUFBQztZQUNsQixJQUFJLENBQUMsb0JBQW9CLEdBQUcsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1NBRS9GO0lBRUwsQ0FBQzs7d0hBL0VRLDJCQUEyQjs0R0FBM0IsMkJBQTJCLDhSQ2J4QyxzdURBMkNBOzJGRDlCYSwyQkFBMkI7a0JBTnZDLFNBQVM7K0JBQ0ksK0JBQStCLG1CQUd4Qix1QkFBdUIsQ0FBQyxNQUFNO2dIQUl0QyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDSSxZQUFZO3NCQUFyQixNQUFNO2dCQUNFLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNJLEtBQUs7c0JBQWQsTUFBTTtnQkFDRyxNQUFNO3NCQUFmLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyIGltcG9ydCBzdGF0ZW1lbnRzXHJcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbi8vVGhpcmQgcGFydHkgaW1wb3J0IHN0YXRlbWVudHNcclxuaW1wb3J0IHsgTmdiRGF0ZSB9IGZyb20gXCJAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcFwiO1xyXG5pbXBvcnQgeyBBbm5hRGF0ZVRpbWVGb3JtYXRTZXJ2aWNlIH0gZnJvbSBcIkBhbm5hbGliL2FubmEtY29yZS9zcmMvbGliL2FubmEtY29yZS1zaGFyZWQtbGliXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiBcImFubmEtY29yZS1jYWxlbmRhci1maWx0ZXItbGliXCIsXHJcbiAgICB0ZW1wbGF0ZVVybDogXCIuL2FubmEtY2FsZW5kYXItZmlsdGVyLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgICBzdHlsZVVybHM6IFtcIi4vYW5uYS1jYWxlbmRhci1maWx0ZXIuY29tcG9uZW50LnNjc3NcIl0sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFubmFDYWxlbmRhckZpbHRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBcclxuICAgIEBJbnB1dCgpIG1heERhdGU6IGFueTtcclxuICAgIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBtaW5EYXRlOiBhbnk7XHJcbiAgICBAT3V0cHV0KCkgc2VsZWN0ZWREYXRlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gICAgQElucHV0KCkgc2VsZWN0ZWRGcm9tRGF0ZTogYW55O1xyXG4gICAgQElucHV0KCkgc2VsZWN0ZWRUb0RhdGU6IGFueTtcclxuICAgIEBPdXRwdXQoKSBhcHBseSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICAgIEBPdXRwdXQoKSBjYW5jZWwgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgICBmcm9tRGF0ZTogYW55O1xyXG4gICAgdG9EYXRlOiBhbnk7XHJcbiAgICBob3ZlcmVkRGF0ZTogYW55O1xyXG4gICAgZGlzYWJsZUFwcGx5QnRuOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBkYXRlVG9CZVNob3duSW5JbnB1dDogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFubmFUaW1lU2VydmljZTogQW5uYURhdGVUaW1lRm9ybWF0U2VydmljZSkge31cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICB0aGlzLmZyb21EYXRlID0gdGhpcy5zZWxlY3RlZEZyb21EYXRlO1xyXG4gICAgICAgIHRoaXMudG9EYXRlID0gdGhpcy5zZWxlY3RlZFRvRGF0ZTtcclxuICAgICAgICBjb25zb2xlLmxvZyh0aGlzLm1pbkRhdGUpO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKHRoaXMubWF4RGF0ZSk7XHJcbiAgICAgICAgdGhpcy5zZXRJbnB1dFRleHQoKTtcclxuICAgIH1cclxuXHJcbiAgICBvbkRhdGVTZWxlY3Rpb24oZGF0ZTogTmdiRGF0ZSkge1xyXG4gICAgICAgIGlmICghdGhpcy5mcm9tRGF0ZSAmJiAhdGhpcy50b0RhdGUpIHtcclxuICAgICAgICAgICAgdGhpcy5mcm9tRGF0ZSA9IGRhdGU7XHJcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmZyb21EYXRlICYmICF0aGlzLnRvRGF0ZSAmJiAoZGF0ZS5hZnRlcih0aGlzLmZyb21EYXRlKSB8fCBkYXRlLmVxdWFscyh0aGlzLmZyb21EYXRlKSkpIHtcclxuICAgICAgICAgICAgdGhpcy50b0RhdGUgPSBkYXRlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMudG9EYXRlID0gbnVsbDtcclxuICAgICAgICAgICAgdGhpcy5mcm9tRGF0ZSA9IGRhdGU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlLmVtaXQoeyBmcm9tRGF0ZTogdGhpcy5mcm9tRGF0ZSwgdG9EYXRlOiB0aGlzLnRvRGF0ZSB9KTtcclxuICAgICAgICB0aGlzLmRpc2FibGVDYWxlbmRhckFwcGx5QnRuKCk7XHJcbiAgICAgICAgdGhpcy5zZXRJbnB1dFRleHQoKTtcclxuICAgIH1cclxuXHJcbiAgICBpc0hvdmVyZWQoZGF0ZTogTmdiRGF0ZSkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmZyb21EYXRlICYmICF0aGlzLnRvRGF0ZSAmJiB0aGlzLmhvdmVyZWREYXRlICYmIGRhdGUuYWZ0ZXIodGhpcy5mcm9tRGF0ZSkgJiYgZGF0ZS5iZWZvcmUodGhpcy5ob3ZlcmVkRGF0ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgaXNJbnNpZGUoZGF0ZTogTmdiRGF0ZSkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnRvRGF0ZSAmJiBkYXRlLmFmdGVyKHRoaXMuZnJvbURhdGUpICYmIGRhdGUuYmVmb3JlKHRoaXMudG9EYXRlKTtcclxuICAgIH1cclxuXHJcbiAgICBpc1JhbmdlKGRhdGU6IE5nYkRhdGUpIHtcclxuICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICBkYXRlLmVxdWFscyh0aGlzLmZyb21EYXRlKSB8fCAodGhpcy50b0RhdGUgJiYgZGF0ZS5lcXVhbHModGhpcy50b0RhdGUpKSB8fCB0aGlzLmlzSW5zaWRlKGRhdGUpIHx8IHRoaXMuaXNIb3ZlcmVkKGRhdGUpXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBjYW5jZWxTZWxlY3Rpb24oKSB7XHJcbiAgICAgICAgdGhpcy5jYW5jZWwuZW1pdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGFwcGx5U2VsZWN0aW9uKCkge1xyXG4gICAgICAgIGlmICh0aGlzLmZyb21EYXRlICYmIHRoaXMudG9EYXRlKSB7XHJcbiAgICAgICAgICAgIGxldCBkYXRlT2JqID0geyBmcm9tRGF0ZTogdGhpcy5mcm9tRGF0ZSwgdG9EYXRlOiB0aGlzLnRvRGF0ZSB9O1xyXG4gICAgICAgICAgICB0aGlzLmFwcGx5LmVtaXQoZGF0ZU9iaik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGRpc2FibGVDYWxlbmRhckFwcGx5QnRuKCkge1xyXG4gICAgICAgIHRoaXMuZGlzYWJsZUFwcGx5QnRuID0gISh0aGlzLmZyb21EYXRlICYmIHRoaXMudG9EYXRlKTtcclxuICAgIH1cclxuXHJcbiAgICBzZXRJbnB1dFRleHQoKXtcclxuXHJcbiAgICAgICAgaWYodGhpcy5mcm9tRGF0ZSAmJiB0aGlzLnRvRGF0ZSl7XHJcbiAgICAgICAgICAgIHRoaXMuZGF0ZVRvQmVTaG93bkluSW5wdXQgPSBgJHt0aGlzLmFubmFUaW1lU2VydmljZS5jb252ZXJ0TmdiRGF0ZVRvTW9tZW50KHRoaXMuZnJvbURhdGUpfSAtICR7dGhpcy5hbm5hVGltZVNlcnZpY2UuY29udmVydE5nYkRhdGVUb01vbWVudCh0aGlzLnRvRGF0ZSl9YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZih0aGlzLmZyb21EYXRlKXtcclxuICAgICAgICAgICAgdGhpcy5kYXRlVG9CZVNob3duSW5JbnB1dCA9IGAke3RoaXMuYW5uYVRpbWVTZXJ2aWNlLmNvbnZlcnROZ2JEYXRlVG9Nb21lbnQodGhpcy5mcm9tRGF0ZSl9YDtcclxuICAgIFxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcbiAgICBcclxufVxyXG4iLCI8cCBjbGFzcz1cImNhbGVuZGFyLWxhYmVsXCI+e3tsYWJlbH19PC9wPlxyXG48Zm9ybSBjbGFzcz1cInJvdyByb3ctY29scy1zbS1hdXRvXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkcC1oaWRkZW4gcG9zaXRpb24tYWJzb2x1dGVcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXBcIj5cclxuICAgICAgICAgIDxpbnB1dCBuYW1lPVwiZGF0ZXBpY2tlclwiXHJcbiAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgIG5nYkRhdGVwaWNrZXJcclxuICAgICAgICAgICAgICAgICAjZGF0ZXBpY2tlcj1cIm5nYkRhdGVwaWNrZXJcIlxyXG4gICAgICAgICAgICAgICAgIChkYXRlU2VsZWN0KT1cIm9uRGF0ZVNlbGVjdGlvbigkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICBbZGlzcGxheU1vbnRoc109XCIxXCJcclxuICAgICAgICAgICAgICAgICBbZGF5VGVtcGxhdGVdPVwidFwiXHJcbiAgICAgICAgICAgICAgICAgW21heERhdGVdPVwibWF4RGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgW21pbkRhdGVdPVwibWluRGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgW2F1dG9DbG9zZV09XCInb3V0c2lkZSdcIlxyXG4gICAgICAgICAgICAgICAgIFtzdGFydERhdGVdPVwiZnJvbURhdGVcIlxyXG4gICAgICAgICAgICAgICAgIG5hdmlnYXRpb249XCJzZWxlY3RcIlxyXG4gICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjdCBsZXQtZGF0ZSBsZXQtZm9jdXNlZD1cImZvY3VzZWRcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXN0b20tZGF5XCJcclxuICAgICAgICAgICAgICAgICAgW2NsYXNzLmZvY3VzZWRdPVwiZm9jdXNlZFwiXHJcbiAgICAgICAgICAgICAgICAgIFtjbGFzcy5yYW5nZV09XCJpc1JhbmdlKGRhdGUpXCJcclxuICAgICAgICAgICAgICAgICAgW2NsYXNzLmZhZGVkXT1cImlzSG92ZXJlZChkYXRlKSB8fCBpc0luc2lkZShkYXRlKVwiXHJcbiAgICAgICAgICAgICAgICAgIChtb3VzZWVudGVyKT1cImhvdmVyZWREYXRlID0gZGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgIChtb3VzZWxlYXZlKT1cImhvdmVyZWREYXRlID0gbnVsbFwiPlxyXG4gICAgICAgICAgICAgIHt7IGRhdGUuZGF5IH19XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXBcIj5cclxuICAgICAgICA8aW5wdXQgI2RwRnJvbURhdGVcclxuICAgICAgICAgICAgICAgaWQgPSBcImRhdGVwaWNrZXItaW5wdXRcIlxyXG4gICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiIHBsYWNlaG9sZGVyPVwibW0vZGQveXl5eVwiXHJcbiAgICAgICAgICAgICAgIHJlYWRvbmx5XHJcbiAgICAgICAgICAgICAgIG5hbWU9XCJkcEZyb21EYXRlXCJcclxuICAgICAgICAgICAgICAgW3ZhbHVlXT1cImRhdGVUb0JlU2hvd25JbklucHV0XCJcclxuICAgICAgICA+XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImljb24tY29udGFpbmVyXCIgKGNsaWNrKT1cImRhdGVwaWNrZXIudG9nZ2xlKClcIiB0eXBlPVwiYnV0dG9uXCI+PGkgY2xhc3M9XCJtZGkgbWRpLWNhbGVuZGFyLXJhbmdlXCI+PC9pPjwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Zvcm0+XHJcblxyXG4iXX0=
|