@annalib/anna-core 20.5.5 → 20.6.1
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 +28 -28
- package/esm2022/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.mjs +5 -5
- package/esm2022/lib/anna-core-shared-lib/components/anna-deleted-order-icon-template/anna-deleted-order-icon-template.component.mjs +4 -4
- package/esm2022/lib/anna-core-shared-lib/components/anna-est-icon-template/anna-est-icon-template.component.mjs +4 -4
- package/esm2022/lib/anna-core-shared-lib/components/anna-icon-column/anna-icon-column.component.mjs +14 -14
- package/esm2022/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.mjs +5 -5
- package/esm2022/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.mjs +7 -7
- package/esm2022/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.mjs +4 -4
- package/esm2022/lib/anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component.mjs +5 -5
- package/esm2022/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.mjs +5 -5
- package/esm2022/lib/anna-core-shared-lib/constants/shared.constant.mjs +21 -21
- package/esm2022/lib/anna-core-shared-lib/directives/digits-only/digits-only.directive.mjs +52 -52
- package/esm2022/lib/anna-core-shared-lib/directives/fixed-rows-popup-table/fixed-rows-popup-table.directive.mjs +5 -5
- package/esm2022/lib/anna-core-shared-lib/directives/show-ellipsis-text/show-ellipsis-text.directive.mjs +7 -7
- package/esm2022/lib/anna-core-shared-lib/models/anna-generic-data-type.model.mjs +1 -1
- package/esm2022/lib/anna-core-shared-lib/models/anna-global-dropdown-config.model.mjs +1 -1
- package/esm2022/lib/anna-core-shared-lib/models/anna-non-editable-gt-models.mjs +1 -1
- package/esm2022/lib/anna-core-shared-lib/models/anna-sort.model.mjs +1 -1
- package/esm2022/lib/anna-core-shared-lib/models/anna-tooltip.model.mjs +3 -3
- package/esm2022/lib/anna-core-shared-lib/pipes/annaConvertArrayToCommaSeperatedValue.pipe.mjs +8 -8
- package/esm2022/lib/anna-core-shared-lib/pipes/annaConvertZeroOrNullOrUndefined.pipe.mjs +5 -5
- package/esm2022/lib/anna-core-shared-lib/pipes/annaDateFormatter.pipe.mjs +5 -5
- package/esm2022/lib/anna-core-shared-lib/pipes/annaFilterSearchedText.pipe.mjs +6 -6
- package/esm2022/lib/anna-core-shared-lib/pipes/annaReplaceChar.pipe.mjs +5 -5
- package/esm2022/lib/anna-core-shared-lib/pipes/annaTypeOfData.pipe.mjs +3 -3
- package/esm2022/lib/anna-core-shared-lib/services/anna-date-time-format.service.mjs +84 -84
- package/esm2022/lib/anna-core-shared-lib/services/anna-filter.service.mjs +368 -359
- package/esm2022/lib/anna-core-shared-lib/services/anna-generic-table.service.mjs +20 -20
- package/esm2022/lib/anna-core-shared-lib/services/anna-global-config.service.mjs +32 -32
- package/esm2022/lib/anna-core-shared-lib/services/anna-number-format.service.mjs +9 -9
- package/esm2022/lib/anna-core-shared-lib/services/anna-persisting-filter.service.mjs +12 -12
- package/esm2022/lib/anna-core-shared-lib/services/anna-sort.service.mjs +32 -32
- package/esm2022/lib/anna-core.module.mjs +45 -45
- package/esm2022/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.mjs +15 -15
- package/esm2022/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.mjs +42 -42
- package/esm2022/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-checkbox-filter/anna-column-checkbox-filter.component.mjs +16 -16
- package/esm2022/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-date-range-filter/anna-column-date-range-filter.component.mjs +14 -14
- package/esm2022/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-slider-filter/anna-column-slider-filter.component.mjs +18 -18
- package/esm2022/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-time-filter/anna-column-time-filter.component.mjs +16 -16
- package/esm2022/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.mjs +282 -273
- package/esm2022/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.mjs +11 -11
- package/esm2022/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.mjs +23 -23
- package/esm2022/lib/anna-generic-table-lib/directives/anna-fixed-row-size-table-virtual-scroll-strategy/anna-fixed-row-size-table-virtual-scroll-strategy.directive.mjs +10 -10
- package/esm2022/lib/anna-generic-table-lib/directives/anna-fixed-row-size-table-virtual-scroll-strategy/index.mjs +2 -2
- package/esm2022/lib/anna-generic-table-lib/directives/anna-virtual-table/anna-virtual-table.directive.mjs +12 -12
- package/esm2022/lib/anna-generic-table-lib/directives/anna-virtual-table/index.mjs +2 -2
- package/esm2022/public-api.mjs +43 -43
- package/fesm2022/annalib-anna-core.mjs +1030 -1012
- package/fesm2022/annalib-anna-core.mjs.map +1 -1
- package/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.d.ts +1 -1
- package/lib/anna-core-shared-lib/components/anna-deleted-order-icon-template/anna-deleted-order-icon-template.component.d.ts +1 -1
- package/lib/anna-core-shared-lib/components/anna-icon-column/anna-icon-column.component.d.ts +3 -3
- package/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.d.ts +1 -1
- package/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.d.ts +1 -1
- package/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.d.ts +1 -1
- package/lib/anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component.d.ts +1 -1
- package/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.d.ts +1 -1
- package/lib/anna-core-shared-lib/directives/digits-only/digits-only.directive.d.ts +1 -1
- package/lib/anna-core-shared-lib/directives/fixed-rows-popup-table/fixed-rows-popup-table.directive.d.ts +1 -1
- package/lib/anna-core-shared-lib/directives/show-ellipsis-text/show-ellipsis-text.directive.d.ts +1 -1
- package/lib/anna-core-shared-lib/models/anna-global-dropdown-config.model.d.ts +3 -3
- package/lib/anna-core-shared-lib/models/anna-non-editable-gt-models.d.ts +7 -7
- package/lib/anna-core-shared-lib/models/anna-sort.model.d.ts +1 -1
- package/lib/anna-core-shared-lib/models/anna-tooltip.model.d.ts +1 -1
- package/lib/anna-core-shared-lib/pipes/annaConvertArrayToCommaSeperatedValue.pipe.d.ts +1 -1
- package/lib/anna-core-shared-lib/pipes/annaConvertZeroOrNullOrUndefined.pipe.d.ts +1 -1
- package/lib/anna-core-shared-lib/pipes/annaDateFormatter.pipe.d.ts +1 -1
- package/lib/anna-core-shared-lib/pipes/annaFilterSearchedText.pipe.d.ts +1 -1
- package/lib/anna-core-shared-lib/pipes/annaReplaceChar.pipe.d.ts +1 -1
- package/lib/anna-core-shared-lib/pipes/annaTypeOfData.pipe.d.ts +1 -1
- package/lib/anna-core-shared-lib/services/anna-date-time-format.service.d.ts +2 -2
- package/lib/anna-core-shared-lib/services/anna-filter.service.d.ts +6 -6
- package/lib/anna-core-shared-lib/services/anna-generic-table.service.d.ts +5 -5
- package/lib/anna-core-shared-lib/services/anna-global-config.service.d.ts +2 -2
- package/lib/anna-core-shared-lib/services/anna-sort.service.d.ts +3 -3
- package/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.d.ts +5 -5
- package/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.d.ts +7 -7
- package/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-checkbox-filter/anna-column-checkbox-filter.component.d.ts +7 -7
- package/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-date-range-filter/anna-column-date-range-filter.component.d.ts +8 -8
- package/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-slider-filter/anna-column-slider-filter.component.d.ts +8 -8
- package/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-time-filter/anna-column-time-filter.component.d.ts +9 -9
- package/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.d.ts +9 -9
- package/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.d.ts +3 -3
- package/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.d.ts +9 -9
- package/lib/anna-generic-table-lib/directives/anna-fixed-row-size-table-virtual-scroll-strategy/anna-fixed-row-size-table-virtual-scroll-strategy.directive.d.ts +4 -4
- package/lib/anna-generic-table-lib/directives/anna-fixed-row-size-table-virtual-scroll-strategy/index.d.ts +1 -1
- package/lib/anna-generic-table-lib/directives/anna-virtual-table/anna-virtual-table.directive.d.ts +6 -6
- package/lib/anna-generic-table-lib/directives/anna-virtual-table/index.d.ts +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +42 -42
- package/src/lib/anna-common-scss/_animate.scss +27 -27
- package/src/lib/anna-common-scss/_application-spacing.scss +7 -7
- package/src/lib/anna-common-scss/_bootstrap-tooltip.scss +27 -27
- package/src/lib/anna-common-scss/_button.scss +18 -18
- package/src/lib/anna-common-scss/_colors.scss +107 -107
- package/src/lib/anna-common-scss/_common-order-listing-table.scss +176 -176
- package/src/lib/anna-common-scss/_custom-anna-datepicker.scss +14 -14
- package/src/lib/anna-common-scss/_customDropdown.scss +123 -123
- package/src/lib/anna-common-scss/_dashboard-partials.scss +106 -106
- package/src/lib/anna-common-scss/_date-picker-form.scss +87 -87
- package/src/lib/anna-common-scss/_easy-filter.scss +138 -138
- package/src/lib/anna-common-scss/_edit-filter-popup.scss +70 -70
- package/src/lib/anna-common-scss/_filters.scss +712 -712
- package/src/lib/anna-common-scss/_font.scss +9 -9
- package/src/lib/anna-common-scss/_fonts.scss +86 -86
- package/src/lib/anna-common-scss/_generic-modal.scss +63 -63
- package/src/lib/anna-common-scss/_generic-table-common.scss +198 -198
- package/src/lib/anna-common-scss/_gt-table.scss +425 -425
- package/src/lib/anna-common-scss/_icons.scss +3 -3
- package/src/lib/anna-common-scss/_legend.scss +11 -11
- package/src/lib/anna-common-scss/_mat-button-toggle.scss +38 -38
- package/src/lib/anna-common-scss/_mat-menu.scss +17 -17
- package/src/lib/anna-common-scss/_mixins.scss +187 -187
- package/src/lib/anna-common-scss/_modal.scss +37 -37
- package/src/lib/anna-common-scss/_popup-filter-toggle-button.scss +36 -36
- package/src/lib/anna-common-scss/_scrollbar.scss +14 -14
- package/src/lib/anna-common-scss/_sort.scss +30 -30
- package/src/lib/anna-common-scss/_toggle.scss +86 -86
- package/src/lib/anna-common-scss/style.scss +1 -1
- package/src/lib/anna-common-scss/third-party-lib/_angular-material-mat-radio.scss +25 -25
- package/src/lib/anna-common-scss/third-party-lib/_anna-mat-button-toggle-group-size-lg.scss +34 -34
- package/src/lib/anna-common-scss/third-party-lib/_mat-autocomplete.scss +31 -31
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
// Angular import statements
|
|
2
|
-
import { Injectable } from
|
|
3
|
-
import { ActivatedRoute, Router } from
|
|
2
|
+
import { Injectable } from "@angular/core";
|
|
3
|
+
import { ActivatedRoute, Router } from "@angular/router";
|
|
4
4
|
// Third party import statements
|
|
5
|
-
import { Subject } from
|
|
6
|
-
import { cloneDeep } from
|
|
5
|
+
import { Subject } from "rxjs";
|
|
6
|
+
import { cloneDeep } from "lodash-es";
|
|
7
7
|
//sub-entries of anna lib import statement
|
|
8
|
-
import { AnnaFilterService } from
|
|
9
|
-
import { AnnaSortService } from
|
|
8
|
+
import { AnnaFilterService } from "./anna-filter.service";
|
|
9
|
+
import { AnnaSortService } from "./anna-sort.service";
|
|
10
10
|
import * as i0 from "@angular/core";
|
|
11
11
|
import * as i1 from "./anna-filter.service";
|
|
12
12
|
import * as i2 from "@angular/router";
|
|
@@ -52,7 +52,7 @@ export class AnnaGtHelperService {
|
|
|
52
52
|
this.router.navigate([], {
|
|
53
53
|
queryParams: { filters: JSON.stringify(latestQueryParams) },
|
|
54
54
|
relativeTo: this.route.parent,
|
|
55
|
-
queryParamsHandling:
|
|
55
|
+
queryParamsHandling: "merge",
|
|
56
56
|
});
|
|
57
57
|
}
|
|
58
58
|
else {
|
|
@@ -64,18 +64,18 @@ export class AnnaGtHelperService {
|
|
|
64
64
|
prepareQueryParamsOnFilter() {
|
|
65
65
|
let query = {};
|
|
66
66
|
if (this.annaFilterService.appliedFiltersArray.length > 0) {
|
|
67
|
-
query[
|
|
68
|
-
query[
|
|
67
|
+
query["appliedFilters"] = this.annaFilterService.appliedFiltersArray;
|
|
68
|
+
query["selectedFilterData"] = JSON.stringify(Array.from(this.annaFilterService.tooltipSelectedMap));
|
|
69
69
|
}
|
|
70
70
|
if (this.checkIfSortingIsApplied()) {
|
|
71
|
-
query[
|
|
71
|
+
query["sortState"] = JSON.stringify(Array.from(this.annaSortService.columnSortState));
|
|
72
72
|
}
|
|
73
73
|
return query;
|
|
74
74
|
}
|
|
75
75
|
checkIfSortingIsApplied() {
|
|
76
76
|
let isSortingApplied = false;
|
|
77
77
|
for (let val of this.annaSortService.columnSortState.values()) {
|
|
78
|
-
if (val ==
|
|
78
|
+
if (val == "ASC" || val == "DESC") {
|
|
79
79
|
isSortingApplied = true;
|
|
80
80
|
}
|
|
81
81
|
}
|
|
@@ -96,7 +96,7 @@ export class AnnaGtHelperService {
|
|
|
96
96
|
setDataAsPerPersistingFilter(isPersistingFilter, clonedTable, filters) {
|
|
97
97
|
let usersTable;
|
|
98
98
|
if (isPersistingFilter) {
|
|
99
|
-
usersTable = this.annaFilterService.filterData(clonedTable,
|
|
99
|
+
usersTable = this.annaFilterService.filterData(clonedTable, "");
|
|
100
100
|
this.annaSortService.noSortingAppliedData = cloneDeep(usersTable);
|
|
101
101
|
}
|
|
102
102
|
else {
|
|
@@ -112,10 +112,10 @@ export class AnnaGtHelperService {
|
|
|
112
112
|
}
|
|
113
113
|
callSort(usersTable) {
|
|
114
114
|
for (let [key, value] of this.annaSortService.columnSortState) {
|
|
115
|
-
if (value ==
|
|
115
|
+
if (value == "ASC") {
|
|
116
116
|
usersTable = this.annaSortService.sortDataForComponentOtherThanLurAndCsrPage(true, usersTable, key);
|
|
117
117
|
}
|
|
118
|
-
else if (value ==
|
|
118
|
+
else if (value == "DESC") {
|
|
119
119
|
usersTable = this.annaSortService.sortDataForComponentOtherThanLurAndCsrPage(false, usersTable, key);
|
|
120
120
|
}
|
|
121
121
|
}
|
|
@@ -124,28 +124,28 @@ export class AnnaGtHelperService {
|
|
|
124
124
|
isSortingAppliedToTable() {
|
|
125
125
|
let isSortingApplied = false;
|
|
126
126
|
for (let val of this.annaSortService.columnSortState?.values()) {
|
|
127
|
-
if (val ==
|
|
127
|
+
if (val == "ASC" || val == "DESC") {
|
|
128
128
|
isSortingApplied = true;
|
|
129
129
|
}
|
|
130
130
|
}
|
|
131
131
|
return isSortingApplied;
|
|
132
132
|
}
|
|
133
133
|
updateQueryParamsFilter(key, value, operation, queryParamObj) {
|
|
134
|
-
if (operation ==
|
|
134
|
+
if (operation == "ADD") {
|
|
135
135
|
queryParamObj[key] = value;
|
|
136
136
|
}
|
|
137
|
-
else if (operation ==
|
|
137
|
+
else if (operation == "DELETE") {
|
|
138
138
|
delete queryParamObj[key];
|
|
139
139
|
}
|
|
140
140
|
return queryParamObj;
|
|
141
141
|
}
|
|
142
142
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AnnaGtHelperService, deps: [{ token: i1.AnnaFilterService }, { token: i2.Router }, { token: i2.ActivatedRoute }, { token: i3.AnnaSortService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
143
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AnnaGtHelperService, providedIn:
|
|
143
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AnnaGtHelperService, providedIn: "root" }); }
|
|
144
144
|
}
|
|
145
145
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AnnaGtHelperService, decorators: [{
|
|
146
146
|
type: Injectable,
|
|
147
147
|
args: [{
|
|
148
|
-
providedIn:
|
|
148
|
+
providedIn: "root",
|
|
149
149
|
}]
|
|
150
150
|
}], ctorParameters: function () { return [{ type: i1.AnnaFilterService }, { type: i2.Router }, { type: i2.ActivatedRoute }, { type: i3.AnnaSortService }]; } });
|
|
151
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1nZW5lcmljLXRhYmxlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9zZXJ2aWNlcy9hbm5hLWdlbmVyaWMtdGFibGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0QkFBNEI7QUFDNUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXpELGdDQUFnQztBQUNoQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFdEMsMENBQTBDO0FBQzFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7QUFLdEQsTUFBTSxPQUFPLG1CQUFtQjtJQUU1QixZQUNZLGlCQUFvQyxFQUNwQyxNQUFjLEVBQ2QsS0FBcUIsRUFDckIsZUFBZ0M7UUFIaEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBTDVDLHlCQUFvQixHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFNbEMsQ0FBQztJQUVKLHdDQUF3QyxDQUFDLFlBQW1CO1FBQ3hELElBQUksdUJBQXVCLEdBQVksRUFBRSxDQUFDO1FBQzFDLElBQUksbUJBQW1CLEdBQUcsQ0FBQyxDQUFDO1FBQzVCLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUM1QixJQUFJLE1BQU0sQ0FBQyxPQUFPLEVBQUU7Z0JBQ2hCLG1CQUFtQixHQUFHLENBQUMsQ0FBQztnQkFDeEIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFO29CQUMzQixtQkFBbUIsRUFBRSxDQUFDO2dCQUMxQixDQUFDLENBQUMsQ0FBQztnQkFDSCx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDcEU7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sdUJBQXVCLENBQUM7SUFDbkMsQ0FBQztJQUVELDBCQUEwQjtRQUN0QixJQUFJLENBQUMsaUJBQWlCLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUN0RCxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztRQUM1QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsbUJBQW1CLEdBQUcsRUFBRSxDQUFDO1FBQ2hELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNuRCxJQUFJLENBQUMsZUFBZSxDQUFDLGVBQWUsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ2pELElBQUksQ0FBQyxlQUFlLENBQUMsb0JBQW9CLEdBQUcsRUFBRSxDQUFDO0lBQ25ELENBQUM7SUFFRCwwQkFBMEI7UUFDdEIsSUFBSSxlQUFlLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLG1CQUFtQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDNUUsSUFBSSxhQUFhLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7UUFFbkQsT0FBTyxlQUFlLElBQUksYUFBYSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUMzRCxDQUFDO0lBRUQsa0JBQWtCO1FBQ2QsSUFBSSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztRQUUxRCxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQzNDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRTtnQkFDckIsV0FBVyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsaUJBQWlCLENBQUMsRUFBRTtnQkFDM0QsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTTtnQkFDN0IsbUJBQW1CLEVBQUUsT0FBTzthQUMvQixDQUFDLENBQUM7U0FDTjthQUFNO1lBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFO2dCQUNyQixVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNO2FBQ2hDLENBQUMsQ0FBQztTQUNOO0lBQ0wsQ0FBQztJQUVELDBCQUEwQjtRQUN0QixJQUFJLEtBQUssR0FBUSxFQUFFLENBQUM7UUFFcEIsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsbUJBQW1CLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUN2RCxLQUFLLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsbUJBQW1CLENBQUM7WUFDckUsS0FBSyxDQUFDLG9CQUFvQixDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7U0FDdkc7UUFFRCxJQUFJLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxFQUFFO1lBQ2hDLEtBQUssQ0FBQyxXQUFXLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO1NBQ3pGO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVELHVCQUF1QjtRQUNuQixJQUFJLGdCQUFnQixHQUFHLEtBQUssQ0FBQztRQUM3QixLQUFLLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsZUFBZSxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQzNELElBQUksR0FBRyxJQUFJLEtBQUssSUFBSSxHQUFHLElBQUksTUFBTSxFQUFFO2dCQUMvQixnQkFBZ0IsR0FBRyxJQUFJLENBQUM7YUFDM0I7U0FDSjtRQUVELE9BQU8sZ0JBQWdCLENBQUM7SUFDNUIsQ0FBQztJQUVELGdCQUFnQixDQUFDLGVBQW9CO1FBQ2pDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ3RELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBQzVDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxtQkFBbUIsR0FBRyxFQUFFLENBQUM7UUFFaEQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxlQUFlLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUVqRCxJQUFJLENBQUMsZUFBZSxDQUFDLG9CQUFvQixHQUFHLFNBQVMsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN2RSxJQUFJLENBQUMsaUJBQWlCLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUN6RixDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ3RELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxtQkFBbUIsR0FBRyxFQUFFLENBQUM7SUFDcEQsQ0FBQztJQUVELDRCQUE0QixDQUFDLGtCQUEyQixFQUFFLFdBQWdCLEVBQUUsT0FBWTtRQUNwRixJQUFJLFVBQVUsQ0FBQztRQUNmLElBQUksa0JBQWtCLEVBQUU7WUFDcEIsVUFBVSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ2hFLElBQUksQ0FBQyxlQUFlLENBQUMsb0JBQW9CLEdBQUcsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ3JFO2FBQU07WUFDSCxVQUFVLEdBQUcsV0FBVyxDQUFDO1lBQ3pCLElBQUksQ0FBQyxlQUFlLENBQUMsb0JBQW9CLEdBQUcsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ3JFO1FBRUQsSUFBSSxPQUFPLEVBQUUsU0FBUyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxlQUFlLENBQUMsZUFBZSxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7WUFDOUUsVUFBVSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDMUM7UUFFRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUVyRixPQUFPLFVBQVUsQ0FBQztJQUN0QixDQUFDO0lBRUQsUUFBUSxDQUFDLFVBQWU7UUFDcEIsS0FBSyxJQUFJLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsZUFBZSxFQUFFO1lBQzNELElBQUksS0FBSyxJQUFJLEtBQUssRUFBRTtnQkFDaEIsVUFBVSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsMENBQTBDLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQzthQUN2RztpQkFBTSxJQUFJLEtBQUssSUFBSSxNQUFNLEVBQUU7Z0JBQ3hCLFVBQVUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLDBDQUEwQyxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7YUFDeEc7U0FDSjtRQUNELE9BQU8sVUFBVSxDQUFDO0lBQ3RCLENBQUM7SUFFRCx1QkFBdUI7UUFDbkIsSUFBSSxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFDN0IsS0FBSyxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLGVBQWUsRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUM1RCxJQUFJLEdBQUcsSUFBSSxLQUFLLElBQUksR0FBRyxJQUFJLE1BQU0sRUFBRTtnQkFDL0IsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO2FBQzNCO1NBQ0o7UUFFRCxPQUFPLGdCQUFnQixDQUFDO0lBQzVCLENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxHQUFXLEVBQUUsS0FBVSxFQUFFLFNBQTJCLEVBQUUsYUFBa0I7UUFDNUYsSUFBSSxTQUFTLElBQUksS0FBSyxFQUFFO1lBQ3BCLGFBQWEsQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUM7U0FDOUI7YUFBTSxJQUFJLFNBQVMsSUFBSSxRQUFRLEVBQUU7WUFDOUIsT0FBTyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDN0I7UUFDRCxPQUFPLGFBQWEsQ0FBQztJQUN6QixDQUFDOytHQW5KUSxtQkFBbUI7bUhBQW5CLG1CQUFtQixjQUZoQixNQUFNOzs0RkFFVCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQW5ndWxhciBpbXBvcnQgc3RhdGVtZW50c1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5cclxuLy8gVGhpcmQgcGFydHkgaW1wb3J0IHN0YXRlbWVudHNcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBjbG9uZURlZXAgfSBmcm9tICdsb2Rhc2gtZXMnO1xyXG5cclxuLy9zdWItZW50cmllcyBvZiBhbm5hIGxpYiBpbXBvcnQgc3RhdGVtZW50XHJcbmltcG9ydCB7IEFubmFGaWx0ZXJTZXJ2aWNlIH0gZnJvbSAnLi9hbm5hLWZpbHRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQW5uYVNvcnRTZXJ2aWNlIH0gZnJvbSAnLi9hbm5hLXNvcnQuc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBbm5hR3RIZWxwZXJTZXJ2aWNlIHtcclxuICAgIHZpcnR1YWxTY3JvbGxTdWJqZWN0ID0gbmV3IFN1YmplY3QoKTtcclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgYW5uYUZpbHRlclNlcnZpY2U6IEFubmFGaWx0ZXJTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICAgICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICAgICAgcHJpdmF0ZSBhbm5hU29ydFNlcnZpY2U6IEFubmFTb3J0U2VydmljZSxcclxuICAgICkge31cclxuXHJcbiAgICBjYWxjdWxhdGVOdW1iZXJPZlNrZWxldG9uQ29sdW1uc0ZvclRhYmxlKHRhYmxlSGVhZGVyczogYW55W10pOiBudW1iZXJbXVtdIHtcclxuICAgICAgICBsZXQgbnVtYmVyT2ZTa2VsZXRvbkNvbHVtbnM6IGFueVtdW10gPSBbXTtcclxuICAgICAgICB2YXIgaGVhZGVyc0luRWFjaENvbHVtbiA9IDA7XHJcbiAgICAgICAgdGFibGVIZWFkZXJzLmZvckVhY2goKGNvbHVtbikgPT4ge1xyXG4gICAgICAgICAgICBpZiAoY29sdW1uLnZpc2libGUpIHtcclxuICAgICAgICAgICAgICAgIGhlYWRlcnNJbkVhY2hDb2x1bW4gPSAwO1xyXG4gICAgICAgICAgICAgICAgY29sdW1uLmhlYWRlckluZm8uZm9yRWFjaCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVhZGVyc0luRWFjaENvbHVtbisrO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICBudW1iZXJPZlNrZWxldG9uQ29sdW1ucy5wdXNoKEFycmF5KGhlYWRlcnNJbkVhY2hDb2x1bW4pLmZpbGwoMCkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuIG51bWJlck9mU2tlbGV0b25Db2x1bW5zO1xyXG4gICAgfVxyXG5cclxuICAgIGluaXRDb2x1bW5GaWx0ZXJBbmRTb3J0aW5nKCkge1xyXG4gICAgICAgIHRoaXMuYW5uYUZpbHRlclNlcnZpY2UudG9vbHRpcFNlbGVjdGVkTWFwID0gbmV3IE1hcCgpO1xyXG4gICAgICAgIHRoaXMuYW5uYUZpbHRlclNlcnZpY2Uuc2VsZWN0ZWRSYWRpbyA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5hbm5hRmlsdGVyU2VydmljZS5hcHBsaWVkRmlsdGVyc0FycmF5ID0gW107XHJcbiAgICAgICAgdGhpcy5hbm5hRmlsdGVyU2VydmljZS5pbml0aWFsVmFsdWVNYXAgPSBuZXcgTWFwKCk7XHJcbiAgICAgICAgdGhpcy5hbm5hU29ydFNlcnZpY2UuY29sdW1uU29ydFN0YXRlID0gbmV3IE1hcCgpO1xyXG4gICAgICAgIHRoaXMuYW5uYVNvcnRTZXJ2aWNlLm5vU29ydGluZ0FwcGxpZWREYXRhID0gW107XHJcbiAgICB9XHJcblxyXG4gICAgZW5hYmxlT3JEaXNhYmxlQ2xlYXJBbGxCdG4oKTogYm9vbGVhbiB7XHJcbiAgICAgICAgbGV0IGlzRmlsdGVyQXBwbGllZCA9IHRoaXMuYW5uYUZpbHRlclNlcnZpY2UuYXBwbGllZEZpbHRlcnNBcnJheS5sZW5ndGggPiAwO1xyXG4gICAgICAgIGxldCBpc1NvcnRBcHBsaWVkID0gdGhpcy5pc1NvcnRpbmdBcHBsaWVkVG9UYWJsZSgpO1xyXG5cclxuICAgICAgICByZXR1cm4gaXNGaWx0ZXJBcHBsaWVkIHx8IGlzU29ydEFwcGxpZWQgPyBmYWxzZSA6IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgdXBkYXRlRmlsdGVyc0luVVJMKCkge1xyXG4gICAgICAgIGxldCBsYXRlc3RRdWVyeVBhcmFtcyA9IHRoaXMucHJlcGFyZVF1ZXJ5UGFyYW1zT25GaWx0ZXIoKTtcclxuXHJcbiAgICAgICAgaWYgKE9iamVjdC5rZXlzKGxhdGVzdFF1ZXJ5UGFyYW1zKS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtdLCB7XHJcbiAgICAgICAgICAgICAgICBxdWVyeVBhcmFtczogeyBmaWx0ZXJzOiBKU09OLnN0cmluZ2lmeShsYXRlc3RRdWVyeVBhcmFtcykgfSxcclxuICAgICAgICAgICAgICAgIHJlbGF0aXZlVG86IHRoaXMucm91dGUucGFyZW50LFxyXG4gICAgICAgICAgICAgICAgcXVlcnlQYXJhbXNIYW5kbGluZzogJ21lcmdlJyxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW10sIHtcclxuICAgICAgICAgICAgICAgIHJlbGF0aXZlVG86IHRoaXMucm91dGUucGFyZW50LFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJlcGFyZVF1ZXJ5UGFyYW1zT25GaWx0ZXIoKSB7XHJcbiAgICAgICAgbGV0IHF1ZXJ5OiBhbnkgPSB7fTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuYW5uYUZpbHRlclNlcnZpY2UuYXBwbGllZEZpbHRlcnNBcnJheS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIHF1ZXJ5WydhcHBsaWVkRmlsdGVycyddID0gdGhpcy5hbm5hRmlsdGVyU2VydmljZS5hcHBsaWVkRmlsdGVyc0FycmF5O1xyXG4gICAgICAgICAgICBxdWVyeVsnc2VsZWN0ZWRGaWx0ZXJEYXRhJ10gPSBKU09OLnN0cmluZ2lmeShBcnJheS5mcm9tKHRoaXMuYW5uYUZpbHRlclNlcnZpY2UudG9vbHRpcFNlbGVjdGVkTWFwKSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5jaGVja0lmU29ydGluZ0lzQXBwbGllZCgpKSB7XHJcbiAgICAgICAgICAgIHF1ZXJ5Wydzb3J0U3RhdGUnXSA9IEpTT04uc3RyaW5naWZ5KEFycmF5LmZyb20odGhpcy5hbm5hU29ydFNlcnZpY2UuY29sdW1uU29ydFN0YXRlKSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gcXVlcnk7XHJcbiAgICB9XHJcblxyXG4gICAgY2hlY2tJZlNvcnRpbmdJc0FwcGxpZWQoKSB7XHJcbiAgICAgICAgbGV0IGlzU29ydGluZ0FwcGxpZWQgPSBmYWxzZTtcclxuICAgICAgICBmb3IgKGxldCB2YWwgb2YgdGhpcy5hbm5hU29ydFNlcnZpY2UuY29sdW1uU29ydFN0YXRlLnZhbHVlcygpKSB7XHJcbiAgICAgICAgICAgIGlmICh2YWwgPT0gJ0FTQycgfHwgdmFsID09ICdERVNDJykge1xyXG4gICAgICAgICAgICAgICAgaXNTb3J0aW5nQXBwbGllZCA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBpc1NvcnRpbmdBcHBsaWVkO1xyXG4gICAgfVxyXG5cclxuICAgIGluaXRUYWJsZUZpbHRlcnMoY2xvbmVkVGFibGVEYXRhOiBhbnkpIHtcclxuICAgICAgICB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLnRvb2x0aXBTZWxlY3RlZE1hcCA9IG5ldyBNYXAoKTtcclxuICAgICAgICB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLnNlbGVjdGVkUmFkaW8gPSBudWxsO1xyXG4gICAgICAgIHRoaXMuYW5uYUZpbHRlclNlcnZpY2UuYXBwbGllZEZpbHRlcnNBcnJheSA9IFtdO1xyXG5cclxuICAgICAgICB0aGlzLmFubmFTb3J0U2VydmljZS5jb2x1bW5Tb3J0U3RhdGUgPSBuZXcgTWFwKCk7XHJcblxyXG4gICAgICAgIHRoaXMuYW5uYVNvcnRTZXJ2aWNlLm5vU29ydGluZ0FwcGxpZWREYXRhID0gY2xvbmVEZWVwKGNsb25lZFRhYmxlRGF0YSk7XHJcbiAgICAgICAgdGhpcy5hbm5hRmlsdGVyU2VydmljZS51cGRhdGVTdGF0ZU9mQWxsVGhlS2V5cyh0aGlzLmFubmFTb3J0U2VydmljZS5jb2x1bW5Tb3J0U3RhdGUpO1xyXG4gICAgfVxyXG5cclxuICAgIGluaXRGaWx0ZXJzKCkge1xyXG4gICAgICAgIHRoaXMuYW5uYUZpbHRlclNlcnZpY2UudG9vbHRpcFNlbGVjdGVkTWFwID0gbmV3IE1hcCgpO1xyXG4gICAgICAgIHRoaXMuYW5uYUZpbHRlclNlcnZpY2UuYXBwbGllZEZpbHRlcnNBcnJheSA9IFtdO1xyXG4gICAgfVxyXG5cclxuICAgIHNldERhdGFBc1BlclBlcnNpc3RpbmdGaWx0ZXIoaXNQZXJzaXN0aW5nRmlsdGVyOiBib29sZWFuLCBjbG9uZWRUYWJsZTogYW55LCBmaWx0ZXJzOiBhbnkpOiBhbnkge1xyXG4gICAgICAgIGxldCB1c2Vyc1RhYmxlO1xyXG4gICAgICAgIGlmIChpc1BlcnNpc3RpbmdGaWx0ZXIpIHtcclxuICAgICAgICAgICAgdXNlcnNUYWJsZSA9IHRoaXMuYW5uYUZpbHRlclNlcnZpY2UuZmlsdGVyRGF0YShjbG9uZWRUYWJsZSwgJycpO1xyXG4gICAgICAgICAgICB0aGlzLmFubmFTb3J0U2VydmljZS5ub1NvcnRpbmdBcHBsaWVkRGF0YSA9IGNsb25lRGVlcCh1c2Vyc1RhYmxlKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB1c2Vyc1RhYmxlID0gY2xvbmVkVGFibGU7XHJcbiAgICAgICAgICAgIHRoaXMuYW5uYVNvcnRTZXJ2aWNlLm5vU29ydGluZ0FwcGxpZWREYXRhID0gY2xvbmVEZWVwKHVzZXJzVGFibGUpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGZpbHRlcnM/LnNvcnRTdGF0ZSkge1xyXG4gICAgICAgICAgICB0aGlzLmFubmFTb3J0U2VydmljZS5jb2x1bW5Tb3J0U3RhdGUgPSBuZXcgTWFwKEpTT04ucGFyc2UoZmlsdGVycy5zb3J0U3RhdGUpKTtcclxuICAgICAgICAgICAgdXNlcnNUYWJsZSA9IHRoaXMuY2FsbFNvcnQodXNlcnNUYWJsZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLnVwZGF0ZVN0YXRlT2ZBbGxUaGVLZXlzKHRoaXMuYW5uYVNvcnRTZXJ2aWNlLmNvbHVtblNvcnRTdGF0ZSk7XHJcblxyXG4gICAgICAgIHJldHVybiB1c2Vyc1RhYmxlO1xyXG4gICAgfVxyXG5cclxuICAgIGNhbGxTb3J0KHVzZXJzVGFibGU6IGFueSk6IGFueSB7XHJcbiAgICAgICAgZm9yIChsZXQgW2tleSwgdmFsdWVdIG9mIHRoaXMuYW5uYVNvcnRTZXJ2aWNlLmNvbHVtblNvcnRTdGF0ZSkge1xyXG4gICAgICAgICAgICBpZiAodmFsdWUgPT0gJ0FTQycpIHtcclxuICAgICAgICAgICAgICAgIHVzZXJzVGFibGUgPSB0aGlzLmFubmFTb3J0U2VydmljZS5zb3J0RGF0YUZvckNvbXBvbmVudE90aGVyVGhhbkx1ckFuZENzclBhZ2UodHJ1ZSwgdXNlcnNUYWJsZSwga2V5KTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmICh2YWx1ZSA9PSAnREVTQycpIHtcclxuICAgICAgICAgICAgICAgIHVzZXJzVGFibGUgPSB0aGlzLmFubmFTb3J0U2VydmljZS5zb3J0RGF0YUZvckNvbXBvbmVudE90aGVyVGhhbkx1ckFuZENzclBhZ2UoZmFsc2UsIHVzZXJzVGFibGUsIGtleSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHVzZXJzVGFibGU7XHJcbiAgICB9XHJcblxyXG4gICAgaXNTb3J0aW5nQXBwbGllZFRvVGFibGUoKSB7XHJcbiAgICAgICAgbGV0IGlzU29ydGluZ0FwcGxpZWQgPSBmYWxzZTtcclxuICAgICAgICBmb3IgKGxldCB2YWwgb2YgdGhpcy5hbm5hU29ydFNlcnZpY2UuY29sdW1uU29ydFN0YXRlPy52YWx1ZXMoKSkge1xyXG4gICAgICAgICAgICBpZiAodmFsID09ICdBU0MnIHx8IHZhbCA9PSAnREVTQycpIHtcclxuICAgICAgICAgICAgICAgIGlzU29ydGluZ0FwcGxpZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gaXNTb3J0aW5nQXBwbGllZDtcclxuICAgIH1cclxuXHJcbiAgICB1cGRhdGVRdWVyeVBhcmFtc0ZpbHRlcihrZXk6IHN0cmluZywgdmFsdWU6IGFueSwgb3BlcmF0aW9uOiAnQUREJyB8ICdERUxFVEUnLCBxdWVyeVBhcmFtT2JqOiBhbnkpIHtcclxuICAgICAgICBpZiAob3BlcmF0aW9uID09ICdBREQnKSB7XHJcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW1PYmpba2V5XSA9IHZhbHVlO1xyXG4gICAgICAgIH0gZWxzZSBpZiAob3BlcmF0aW9uID09ICdERUxFVEUnKSB7XHJcbiAgICAgICAgICAgIGRlbGV0ZSBxdWVyeVBhcmFtT2JqW2tleV07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBxdWVyeVBhcmFtT2JqO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
151
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1nZW5lcmljLXRhYmxlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9zZXJ2aWNlcy9hbm5hLWdlbmVyaWMtdGFibGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0QkFBNEI7QUFDNUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXpELGdDQUFnQztBQUNoQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFdEMsMENBQTBDO0FBQzFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7QUFLdEQsTUFBTSxPQUFPLG1CQUFtQjtJQUU1QixZQUNZLGlCQUFvQyxFQUNwQyxNQUFjLEVBQ2QsS0FBcUIsRUFDckIsZUFBZ0M7UUFIaEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBTDVDLHlCQUFvQixHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFNbEMsQ0FBQztJQUVKLHdDQUF3QyxDQUFDLFlBQW1CO1FBQ3hELElBQUksdUJBQXVCLEdBQVksRUFBRSxDQUFDO1FBQzFDLElBQUksbUJBQW1CLEdBQUcsQ0FBQyxDQUFDO1FBQzVCLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUM1QixJQUFJLE1BQU0sQ0FBQyxPQUFPLEVBQUU7Z0JBQ2hCLG1CQUFtQixHQUFHLENBQUMsQ0FBQztnQkFDeEIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFO29CQUMzQixtQkFBbUIsRUFBRSxDQUFDO2dCQUMxQixDQUFDLENBQUMsQ0FBQztnQkFDSCx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDcEU7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sdUJBQXVCLENBQUM7SUFDbkMsQ0FBQztJQUVELDBCQUEwQjtRQUN0QixJQUFJLENBQUMsaUJBQWlCLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUN0RCxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztRQUM1QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsbUJBQW1CLEdBQUcsRUFBRSxDQUFDO1FBQ2hELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNuRCxJQUFJLENBQUMsZUFBZSxDQUFDLGVBQWUsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ2pELElBQUksQ0FBQyxlQUFlLENBQUMsb0JBQW9CLEdBQUcsRUFBRSxDQUFDO0lBQ25ELENBQUM7SUFFRCwwQkFBMEI7UUFDdEIsSUFBSSxlQUFlLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLG1CQUFtQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDNUUsSUFBSSxhQUFhLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7UUFFbkQsT0FBTyxlQUFlLElBQUksYUFBYSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUMzRCxDQUFDO0lBRUQsa0JBQWtCO1FBQ2QsSUFBSSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztRQUUxRCxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQzNDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRTtnQkFDckIsV0FBVyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsaUJBQWlCLENBQUMsRUFBRTtnQkFDM0QsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTTtnQkFDN0IsbUJBQW1CLEVBQUUsT0FBTzthQUMvQixDQUFDLENBQUM7U0FDTjthQUFNO1lBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFO2dCQUNyQixVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNO2FBQ2hDLENBQUMsQ0FBQztTQUNOO0lBQ0wsQ0FBQztJQUVELDBCQUEwQjtRQUN0QixJQUFJLEtBQUssR0FBUSxFQUFFLENBQUM7UUFFcEIsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsbUJBQW1CLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUN2RCxLQUFLLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsbUJBQW1CLENBQUM7WUFDckUsS0FBSyxDQUFDLG9CQUFvQixDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7U0FDdkc7UUFFRCxJQUFJLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxFQUFFO1lBQ2hDLEtBQUssQ0FBQyxXQUFXLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO1NBQ3pGO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVELHVCQUF1QjtRQUNuQixJQUFJLGdCQUFnQixHQUFHLEtBQUssQ0FBQztRQUM3QixLQUFLLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsZUFBZSxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQzNELElBQUksR0FBRyxJQUFJLEtBQUssSUFBSSxHQUFHLElBQUksTUFBTSxFQUFFO2dCQUMvQixnQkFBZ0IsR0FBRyxJQUFJLENBQUM7YUFDM0I7U0FDSjtRQUVELE9BQU8sZ0JBQWdCLENBQUM7SUFDNUIsQ0FBQztJQUVELGdCQUFnQixDQUFDLGVBQW9CO1FBQ2pDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ3RELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBQzVDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxtQkFBbUIsR0FBRyxFQUFFLENBQUM7UUFFaEQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxlQUFlLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUVqRCxJQUFJLENBQUMsZUFBZSxDQUFDLG9CQUFvQixHQUFHLFNBQVMsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN2RSxJQUFJLENBQUMsaUJBQWlCLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUN6RixDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ3RELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxtQkFBbUIsR0FBRyxFQUFFLENBQUM7SUFDcEQsQ0FBQztJQUVELDRCQUE0QixDQUFDLGtCQUEyQixFQUFFLFdBQWdCLEVBQUUsT0FBWTtRQUNwRixJQUFJLFVBQVUsQ0FBQztRQUNmLElBQUksa0JBQWtCLEVBQUU7WUFDcEIsVUFBVSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ2hFLElBQUksQ0FBQyxlQUFlLENBQUMsb0JBQW9CLEdBQUcsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ3JFO2FBQU07WUFDSCxVQUFVLEdBQUcsV0FBVyxDQUFDO1lBQ3pCLElBQUksQ0FBQyxlQUFlLENBQUMsb0JBQW9CLEdBQUcsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ3JFO1FBRUQsSUFBSSxPQUFPLEVBQUUsU0FBUyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxlQUFlLENBQUMsZUFBZSxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7WUFDOUUsVUFBVSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDMUM7UUFFRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUVyRixPQUFPLFVBQVUsQ0FBQztJQUN0QixDQUFDO0lBRUQsUUFBUSxDQUFDLFVBQWU7UUFDcEIsS0FBSyxJQUFJLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsZUFBZSxFQUFFO1lBQzNELElBQUksS0FBSyxJQUFJLEtBQUssRUFBRTtnQkFDaEIsVUFBVSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsMENBQTBDLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQzthQUN2RztpQkFBTSxJQUFJLEtBQUssSUFBSSxNQUFNLEVBQUU7Z0JBQ3hCLFVBQVUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLDBDQUEwQyxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7YUFDeEc7U0FDSjtRQUNELE9BQU8sVUFBVSxDQUFDO0lBQ3RCLENBQUM7SUFFRCx1QkFBdUI7UUFDbkIsSUFBSSxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFDN0IsS0FBSyxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLGVBQWUsRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUM1RCxJQUFJLEdBQUcsSUFBSSxLQUFLLElBQUksR0FBRyxJQUFJLE1BQU0sRUFBRTtnQkFDL0IsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO2FBQzNCO1NBQ0o7UUFFRCxPQUFPLGdCQUFnQixDQUFDO0lBQzVCLENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxHQUFXLEVBQUUsS0FBVSxFQUFFLFNBQTJCLEVBQUUsYUFBa0I7UUFDNUYsSUFBSSxTQUFTLElBQUksS0FBSyxFQUFFO1lBQ3BCLGFBQWEsQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUM7U0FDOUI7YUFBTSxJQUFJLFNBQVMsSUFBSSxRQUFRLEVBQUU7WUFDOUIsT0FBTyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDN0I7UUFDRCxPQUFPLGFBQWEsQ0FBQztJQUN6QixDQUFDOytHQW5KUSxtQkFBbUI7bUhBQW5CLG1CQUFtQixjQUZoQixNQUFNOzs0RkFFVCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQW5ndWxhciBpbXBvcnQgc3RhdGVtZW50c1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xuXG4vLyBUaGlyZCBwYXJ0eSBpbXBvcnQgc3RhdGVtZW50c1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBjbG9uZURlZXAgfSBmcm9tIFwibG9kYXNoLWVzXCI7XG5cbi8vc3ViLWVudHJpZXMgb2YgYW5uYSBsaWIgaW1wb3J0IHN0YXRlbWVudFxuaW1wb3J0IHsgQW5uYUZpbHRlclNlcnZpY2UgfSBmcm9tIFwiLi9hbm5hLWZpbHRlci5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBBbm5hU29ydFNlcnZpY2UgfSBmcm9tIFwiLi9hbm5hLXNvcnQuc2VydmljZVwiO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogXCJyb290XCIsXG59KVxuZXhwb3J0IGNsYXNzIEFubmFHdEhlbHBlclNlcnZpY2Uge1xuICAgIHZpcnR1YWxTY3JvbGxTdWJqZWN0ID0gbmV3IFN1YmplY3QoKTtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBhbm5hRmlsdGVyU2VydmljZTogQW5uYUZpbHRlclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICAgICBwcml2YXRlIGFubmFTb3J0U2VydmljZTogQW5uYVNvcnRTZXJ2aWNlLFxuICAgICkge31cblxuICAgIGNhbGN1bGF0ZU51bWJlck9mU2tlbGV0b25Db2x1bW5zRm9yVGFibGUodGFibGVIZWFkZXJzOiBhbnlbXSk6IG51bWJlcltdW10ge1xuICAgICAgICBsZXQgbnVtYmVyT2ZTa2VsZXRvbkNvbHVtbnM6IGFueVtdW10gPSBbXTtcbiAgICAgICAgdmFyIGhlYWRlcnNJbkVhY2hDb2x1bW4gPSAwO1xuICAgICAgICB0YWJsZUhlYWRlcnMuZm9yRWFjaCgoY29sdW1uKSA9PiB7XG4gICAgICAgICAgICBpZiAoY29sdW1uLnZpc2libGUpIHtcbiAgICAgICAgICAgICAgICBoZWFkZXJzSW5FYWNoQ29sdW1uID0gMDtcbiAgICAgICAgICAgICAgICBjb2x1bW4uaGVhZGVySW5mby5mb3JFYWNoKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaGVhZGVyc0luRWFjaENvbHVtbisrO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIG51bWJlck9mU2tlbGV0b25Db2x1bW5zLnB1c2goQXJyYXkoaGVhZGVyc0luRWFjaENvbHVtbikuZmlsbCgwKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gbnVtYmVyT2ZTa2VsZXRvbkNvbHVtbnM7XG4gICAgfVxuXG4gICAgaW5pdENvbHVtbkZpbHRlckFuZFNvcnRpbmcoKSB7XG4gICAgICAgIHRoaXMuYW5uYUZpbHRlclNlcnZpY2UudG9vbHRpcFNlbGVjdGVkTWFwID0gbmV3IE1hcCgpO1xuICAgICAgICB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLnNlbGVjdGVkUmFkaW8gPSBudWxsO1xuICAgICAgICB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLmFwcGxpZWRGaWx0ZXJzQXJyYXkgPSBbXTtcbiAgICAgICAgdGhpcy5hbm5hRmlsdGVyU2VydmljZS5pbml0aWFsVmFsdWVNYXAgPSBuZXcgTWFwKCk7XG4gICAgICAgIHRoaXMuYW5uYVNvcnRTZXJ2aWNlLmNvbHVtblNvcnRTdGF0ZSA9IG5ldyBNYXAoKTtcbiAgICAgICAgdGhpcy5hbm5hU29ydFNlcnZpY2Uubm9Tb3J0aW5nQXBwbGllZERhdGEgPSBbXTtcbiAgICB9XG5cbiAgICBlbmFibGVPckRpc2FibGVDbGVhckFsbEJ0bigpOiBib29sZWFuIHtcbiAgICAgICAgbGV0IGlzRmlsdGVyQXBwbGllZCA9IHRoaXMuYW5uYUZpbHRlclNlcnZpY2UuYXBwbGllZEZpbHRlcnNBcnJheS5sZW5ndGggPiAwO1xuICAgICAgICBsZXQgaXNTb3J0QXBwbGllZCA9IHRoaXMuaXNTb3J0aW5nQXBwbGllZFRvVGFibGUoKTtcblxuICAgICAgICByZXR1cm4gaXNGaWx0ZXJBcHBsaWVkIHx8IGlzU29ydEFwcGxpZWQgPyBmYWxzZSA6IHRydWU7XG4gICAgfVxuXG4gICAgdXBkYXRlRmlsdGVyc0luVVJMKCkge1xuICAgICAgICBsZXQgbGF0ZXN0UXVlcnlQYXJhbXMgPSB0aGlzLnByZXBhcmVRdWVyeVBhcmFtc09uRmlsdGVyKCk7XG5cbiAgICAgICAgaWYgKE9iamVjdC5rZXlzKGxhdGVzdFF1ZXJ5UGFyYW1zKS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXSwge1xuICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1zOiB7IGZpbHRlcnM6IEpTT04uc3RyaW5naWZ5KGxhdGVzdFF1ZXJ5UGFyYW1zKSB9LFxuICAgICAgICAgICAgICAgIHJlbGF0aXZlVG86IHRoaXMucm91dGUucGFyZW50LFxuICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1zSGFuZGxpbmc6IFwibWVyZ2VcIixcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW10sIHtcbiAgICAgICAgICAgICAgICByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlLnBhcmVudCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJlcGFyZVF1ZXJ5UGFyYW1zT25GaWx0ZXIoKSB7XG4gICAgICAgIGxldCBxdWVyeTogYW55ID0ge307XG5cbiAgICAgICAgaWYgKHRoaXMuYW5uYUZpbHRlclNlcnZpY2UuYXBwbGllZEZpbHRlcnNBcnJheS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBxdWVyeVtcImFwcGxpZWRGaWx0ZXJzXCJdID0gdGhpcy5hbm5hRmlsdGVyU2VydmljZS5hcHBsaWVkRmlsdGVyc0FycmF5O1xuICAgICAgICAgICAgcXVlcnlbXCJzZWxlY3RlZEZpbHRlckRhdGFcIl0gPSBKU09OLnN0cmluZ2lmeShBcnJheS5mcm9tKHRoaXMuYW5uYUZpbHRlclNlcnZpY2UudG9vbHRpcFNlbGVjdGVkTWFwKSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5jaGVja0lmU29ydGluZ0lzQXBwbGllZCgpKSB7XG4gICAgICAgICAgICBxdWVyeVtcInNvcnRTdGF0ZVwiXSA9IEpTT04uc3RyaW5naWZ5KEFycmF5LmZyb20odGhpcy5hbm5hU29ydFNlcnZpY2UuY29sdW1uU29ydFN0YXRlKSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcXVlcnk7XG4gICAgfVxuXG4gICAgY2hlY2tJZlNvcnRpbmdJc0FwcGxpZWQoKSB7XG4gICAgICAgIGxldCBpc1NvcnRpbmdBcHBsaWVkID0gZmFsc2U7XG4gICAgICAgIGZvciAobGV0IHZhbCBvZiB0aGlzLmFubmFTb3J0U2VydmljZS5jb2x1bW5Tb3J0U3RhdGUudmFsdWVzKCkpIHtcbiAgICAgICAgICAgIGlmICh2YWwgPT0gXCJBU0NcIiB8fCB2YWwgPT0gXCJERVNDXCIpIHtcbiAgICAgICAgICAgICAgICBpc1NvcnRpbmdBcHBsaWVkID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBpc1NvcnRpbmdBcHBsaWVkO1xuICAgIH1cblxuICAgIGluaXRUYWJsZUZpbHRlcnMoY2xvbmVkVGFibGVEYXRhOiBhbnkpIHtcbiAgICAgICAgdGhpcy5hbm5hRmlsdGVyU2VydmljZS50b29sdGlwU2VsZWN0ZWRNYXAgPSBuZXcgTWFwKCk7XG4gICAgICAgIHRoaXMuYW5uYUZpbHRlclNlcnZpY2Uuc2VsZWN0ZWRSYWRpbyA9IG51bGw7XG4gICAgICAgIHRoaXMuYW5uYUZpbHRlclNlcnZpY2UuYXBwbGllZEZpbHRlcnNBcnJheSA9IFtdO1xuXG4gICAgICAgIHRoaXMuYW5uYVNvcnRTZXJ2aWNlLmNvbHVtblNvcnRTdGF0ZSA9IG5ldyBNYXAoKTtcblxuICAgICAgICB0aGlzLmFubmFTb3J0U2VydmljZS5ub1NvcnRpbmdBcHBsaWVkRGF0YSA9IGNsb25lRGVlcChjbG9uZWRUYWJsZURhdGEpO1xuICAgICAgICB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLnVwZGF0ZVN0YXRlT2ZBbGxUaGVLZXlzKHRoaXMuYW5uYVNvcnRTZXJ2aWNlLmNvbHVtblNvcnRTdGF0ZSk7XG4gICAgfVxuXG4gICAgaW5pdEZpbHRlcnMoKSB7XG4gICAgICAgIHRoaXMuYW5uYUZpbHRlclNlcnZpY2UudG9vbHRpcFNlbGVjdGVkTWFwID0gbmV3IE1hcCgpO1xuICAgICAgICB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLmFwcGxpZWRGaWx0ZXJzQXJyYXkgPSBbXTtcbiAgICB9XG5cbiAgICBzZXREYXRhQXNQZXJQZXJzaXN0aW5nRmlsdGVyKGlzUGVyc2lzdGluZ0ZpbHRlcjogYm9vbGVhbiwgY2xvbmVkVGFibGU6IGFueSwgZmlsdGVyczogYW55KTogYW55IHtcbiAgICAgICAgbGV0IHVzZXJzVGFibGU7XG4gICAgICAgIGlmIChpc1BlcnNpc3RpbmdGaWx0ZXIpIHtcbiAgICAgICAgICAgIHVzZXJzVGFibGUgPSB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLmZpbHRlckRhdGEoY2xvbmVkVGFibGUsIFwiXCIpO1xuICAgICAgICAgICAgdGhpcy5hbm5hU29ydFNlcnZpY2Uubm9Tb3J0aW5nQXBwbGllZERhdGEgPSBjbG9uZURlZXAodXNlcnNUYWJsZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB1c2Vyc1RhYmxlID0gY2xvbmVkVGFibGU7XG4gICAgICAgICAgICB0aGlzLmFubmFTb3J0U2VydmljZS5ub1NvcnRpbmdBcHBsaWVkRGF0YSA9IGNsb25lRGVlcCh1c2Vyc1RhYmxlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChmaWx0ZXJzPy5zb3J0U3RhdGUpIHtcbiAgICAgICAgICAgIHRoaXMuYW5uYVNvcnRTZXJ2aWNlLmNvbHVtblNvcnRTdGF0ZSA9IG5ldyBNYXAoSlNPTi5wYXJzZShmaWx0ZXJzLnNvcnRTdGF0ZSkpO1xuICAgICAgICAgICAgdXNlcnNUYWJsZSA9IHRoaXMuY2FsbFNvcnQodXNlcnNUYWJsZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLnVwZGF0ZVN0YXRlT2ZBbGxUaGVLZXlzKHRoaXMuYW5uYVNvcnRTZXJ2aWNlLmNvbHVtblNvcnRTdGF0ZSk7XG5cbiAgICAgICAgcmV0dXJuIHVzZXJzVGFibGU7XG4gICAgfVxuXG4gICAgY2FsbFNvcnQodXNlcnNUYWJsZTogYW55KTogYW55IHtcbiAgICAgICAgZm9yIChsZXQgW2tleSwgdmFsdWVdIG9mIHRoaXMuYW5uYVNvcnRTZXJ2aWNlLmNvbHVtblNvcnRTdGF0ZSkge1xuICAgICAgICAgICAgaWYgKHZhbHVlID09IFwiQVNDXCIpIHtcbiAgICAgICAgICAgICAgICB1c2Vyc1RhYmxlID0gdGhpcy5hbm5hU29ydFNlcnZpY2Uuc29ydERhdGFGb3JDb21wb25lbnRPdGhlclRoYW5MdXJBbmRDc3JQYWdlKHRydWUsIHVzZXJzVGFibGUsIGtleSk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHZhbHVlID09IFwiREVTQ1wiKSB7XG4gICAgICAgICAgICAgICAgdXNlcnNUYWJsZSA9IHRoaXMuYW5uYVNvcnRTZXJ2aWNlLnNvcnREYXRhRm9yQ29tcG9uZW50T3RoZXJUaGFuTHVyQW5kQ3NyUGFnZShmYWxzZSwgdXNlcnNUYWJsZSwga2V5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdXNlcnNUYWJsZTtcbiAgICB9XG5cbiAgICBpc1NvcnRpbmdBcHBsaWVkVG9UYWJsZSgpIHtcbiAgICAgICAgbGV0IGlzU29ydGluZ0FwcGxpZWQgPSBmYWxzZTtcbiAgICAgICAgZm9yIChsZXQgdmFsIG9mIHRoaXMuYW5uYVNvcnRTZXJ2aWNlLmNvbHVtblNvcnRTdGF0ZT8udmFsdWVzKCkpIHtcbiAgICAgICAgICAgIGlmICh2YWwgPT0gXCJBU0NcIiB8fCB2YWwgPT0gXCJERVNDXCIpIHtcbiAgICAgICAgICAgICAgICBpc1NvcnRpbmdBcHBsaWVkID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBpc1NvcnRpbmdBcHBsaWVkO1xuICAgIH1cblxuICAgIHVwZGF0ZVF1ZXJ5UGFyYW1zRmlsdGVyKGtleTogc3RyaW5nLCB2YWx1ZTogYW55LCBvcGVyYXRpb246IFwiQUREXCIgfCBcIkRFTEVURVwiLCBxdWVyeVBhcmFtT2JqOiBhbnkpIHtcbiAgICAgICAgaWYgKG9wZXJhdGlvbiA9PSBcIkFERFwiKSB7XG4gICAgICAgICAgICBxdWVyeVBhcmFtT2JqW2tleV0gPSB2YWx1ZTtcbiAgICAgICAgfSBlbHNlIGlmIChvcGVyYXRpb24gPT0gXCJERUxFVEVcIikge1xuICAgICAgICAgICAgZGVsZXRlIHF1ZXJ5UGFyYW1PYmpba2V5XTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcXVlcnlQYXJhbU9iajtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Injectable } from
|
|
1
|
+
import { Injectable } from "@angular/core";
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export class AnnaGlobalConfigService {
|
|
4
4
|
/*
|
|
@@ -6,17 +6,17 @@ export class AnnaGlobalConfigService {
|
|
|
6
6
|
*/
|
|
7
7
|
constructor() {
|
|
8
8
|
this.defaultAngular2MultiSelectSettings = {
|
|
9
|
-
text:
|
|
10
|
-
selectAllText:
|
|
11
|
-
unSelectAllText:
|
|
9
|
+
text: "Select option",
|
|
10
|
+
selectAllText: "Select All",
|
|
11
|
+
unSelectAllText: "UnSelect All",
|
|
12
12
|
badgeShowLimit: 1,
|
|
13
13
|
singleSelection: false,
|
|
14
|
-
classes:
|
|
14
|
+
classes: "filter-dropdowns",
|
|
15
15
|
enableSearchFilter: true,
|
|
16
16
|
enableCheckAll: true,
|
|
17
17
|
autoPosition: false,
|
|
18
18
|
disabled: false,
|
|
19
|
-
position:
|
|
19
|
+
position: "bottom",
|
|
20
20
|
lazyLoading: false,
|
|
21
21
|
showCheckbox: true,
|
|
22
22
|
maxHeight: 300,
|
|
@@ -33,7 +33,7 @@ export class AnnaGlobalConfigService {
|
|
|
33
33
|
};
|
|
34
34
|
this.defaultNgbDatePickerSettings = {
|
|
35
35
|
autoClose: false,
|
|
36
|
-
placeholder:
|
|
36
|
+
placeholder: "mm-dd-yyyy",
|
|
37
37
|
displayMonths: 1,
|
|
38
38
|
firstDayOfWeek: 1,
|
|
39
39
|
showWeekNumbers: false,
|
|
@@ -41,7 +41,7 @@ export class AnnaGlobalConfigService {
|
|
|
41
41
|
};
|
|
42
42
|
this.defaultNgSelectSettings = {
|
|
43
43
|
allowClear: false,
|
|
44
|
-
placeholder:
|
|
44
|
+
placeholder: "Select",
|
|
45
45
|
};
|
|
46
46
|
this.defaultNgxInfiniteScrollSettings = {
|
|
47
47
|
infiniteScrollDistance: 1,
|
|
@@ -53,43 +53,43 @@ export class AnnaGlobalConfigService {
|
|
|
53
53
|
numberOfSkeletonRows: Array(6).fill(0),
|
|
54
54
|
};
|
|
55
55
|
this.defaultRadioButtonsComponentConfig = {
|
|
56
|
-
heading:
|
|
56
|
+
heading: "Select Option",
|
|
57
57
|
radioButtons: [
|
|
58
58
|
{
|
|
59
|
-
value:
|
|
59
|
+
value: "Yes",
|
|
60
60
|
isDisabled: false,
|
|
61
|
-
label:
|
|
62
|
-
class:
|
|
61
|
+
label: "Yes",
|
|
62
|
+
class: "",
|
|
63
63
|
},
|
|
64
64
|
{
|
|
65
|
-
value:
|
|
65
|
+
value: "No",
|
|
66
66
|
isDisabled: false,
|
|
67
|
-
label:
|
|
68
|
-
class:
|
|
67
|
+
label: "No",
|
|
68
|
+
class: "",
|
|
69
69
|
},
|
|
70
70
|
],
|
|
71
71
|
};
|
|
72
72
|
this.defaultConfirmationPopupConfig = {
|
|
73
73
|
showCancelButton: true,
|
|
74
|
-
title:
|
|
74
|
+
title: "Are you sure ?",
|
|
75
75
|
showConfirmButton: true,
|
|
76
|
-
cancelButtonLabel:
|
|
77
|
-
confirmButtonLabel:
|
|
76
|
+
cancelButtonLabel: "No",
|
|
77
|
+
confirmButtonLabel: "Yes",
|
|
78
78
|
showCloseIcon: true,
|
|
79
|
-
backdrop:
|
|
80
|
-
windowClass:
|
|
81
|
-
size:
|
|
79
|
+
backdrop: "static",
|
|
80
|
+
windowClass: "",
|
|
81
|
+
size: "sm",
|
|
82
82
|
keyboard: false,
|
|
83
83
|
};
|
|
84
84
|
this.defaultWeekCalendarConfig = {
|
|
85
85
|
firstDayOfWeek: 1,
|
|
86
86
|
showWeekNumbers: true,
|
|
87
|
-
dateFormatToDisplay:
|
|
88
|
-
dateFormatForRequest:
|
|
87
|
+
dateFormatToDisplay: "d MMM y",
|
|
88
|
+
dateFormatForRequest: "y-MM-dd",
|
|
89
89
|
maxWeeksToShowWithRemainingCount: 2,
|
|
90
90
|
numberOfMonthsToEnableInPast: 1,
|
|
91
91
|
selectMultipleWeeks: false,
|
|
92
|
-
customClass:
|
|
92
|
+
customClass: "",
|
|
93
93
|
emitMultipleWeekObjects: true,
|
|
94
94
|
maxWeeksToSelect: 0,
|
|
95
95
|
showAsDropdown: true,
|
|
@@ -101,7 +101,7 @@ export class AnnaGlobalConfigService {
|
|
|
101
101
|
lastColumnKeys: [],
|
|
102
102
|
};
|
|
103
103
|
this.defaultGtGeneralConfig = {
|
|
104
|
-
component:
|
|
104
|
+
component: "",
|
|
105
105
|
totalRow: false,
|
|
106
106
|
isHeaderChecked: false,
|
|
107
107
|
disableHeaderCheckbox: false,
|
|
@@ -109,13 +109,13 @@ export class AnnaGlobalConfigService {
|
|
|
109
109
|
isGrouped: false,
|
|
110
110
|
showAllColumnFilter: true,
|
|
111
111
|
bufferSize: 20,
|
|
112
|
-
page:
|
|
112
|
+
page: "",
|
|
113
113
|
};
|
|
114
114
|
this.defaultSingleSelectConfig = {
|
|
115
115
|
showSearchBar: false,
|
|
116
|
-
placeholder:
|
|
117
|
-
classes:
|
|
118
|
-
position:
|
|
116
|
+
placeholder: "Select",
|
|
117
|
+
classes: "",
|
|
118
|
+
position: "BOTTOM",
|
|
119
119
|
maxHeightOfList: 200,
|
|
120
120
|
};
|
|
121
121
|
this.defaultMultiSelectConfig = {
|
|
@@ -124,12 +124,12 @@ export class AnnaGlobalConfigService {
|
|
|
124
124
|
};
|
|
125
125
|
}
|
|
126
126
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AnnaGlobalConfigService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
127
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AnnaGlobalConfigService, providedIn:
|
|
127
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AnnaGlobalConfigService, providedIn: "root" }); }
|
|
128
128
|
}
|
|
129
129
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AnnaGlobalConfigService, decorators: [{
|
|
130
130
|
type: Injectable,
|
|
131
131
|
args: [{
|
|
132
|
-
providedIn:
|
|
132
|
+
providedIn: "root",
|
|
133
133
|
}]
|
|
134
134
|
}], ctorParameters: function () { return []; } });
|
|
135
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1nbG9iYWwtY29uZmlnLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9zZXJ2aWNlcy9hbm5hLWdsb2JhbC1jb25maWcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQW1CM0MsTUFBTSxPQUFPLHVCQUF1QjtJQWVoQzs7TUFFRTtJQUNGO1FBQ0ksSUFBSSxDQUFDLGtDQUFrQyxHQUFHO1lBQ3RDLElBQUksRUFBRSxlQUFlO1lBQ3JCLGFBQWEsRUFBRSxZQUFZO1lBQzNCLGVBQWUsRUFBRSxjQUFjO1lBQy9CLGNBQWMsRUFBRSxDQUFDO1lBQ2pCLGVBQWUsRUFBRSxLQUFLO1lBQ3RCLE9BQU8sRUFBRSxrQkFBa0I7WUFDM0Isa0JBQWtCLEVBQUUsSUFBSTtZQUN4QixjQUFjLEVBQUUsSUFBSTtZQUNwQixZQUFZLEVBQUUsS0FBSztZQUNuQixRQUFRLEVBQUUsS0FBSztZQUNmLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLFdBQVcsRUFBRSxLQUFLO1lBQ2xCLFlBQVksRUFBRSxJQUFJO1lBQ2xCLFNBQVMsRUFBRSxHQUFHO1lBQ2QscUJBQXFCLEVBQUUsSUFBSTtTQUM5QixDQUFDO1FBRUYsSUFBSSxDQUFDLHVCQUF1QixHQUFHO1lBQzNCLEtBQUssRUFBRSxXQUFXO1lBQ2xCLGlCQUFpQixFQUFFLFVBQVU7WUFDN0IsaUJBQWlCLEVBQUUsU0FBUztZQUM1QixhQUFhLEVBQUUsS0FBSztZQUNwQixXQUFXLEVBQUUsS0FBSztZQUNsQixpQkFBaUIsRUFBRSxLQUFLO1lBQ3hCLGlCQUFpQixFQUFFLEtBQUs7U0FDM0IsQ0FBQztRQUVGLElBQUksQ0FBQyw0QkFBNEIsR0FBRztZQUNoQyxTQUFTLEVBQUUsS0FBSztZQUNoQixXQUFX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QUFFLElBQUksRUFBRTtTQUM3QyxDQUFDO0lBQ04sQ0FBQzsrR0FwSlEsdUJBQXVCO21IQUF2Qix1QkFBdUIsY0FGcEIsTUFBTTs7NEZBRVQsdUJBQXVCO2tCQUhuQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICAgIElBbmd1bGFyMk11bHRpU2VsZWN0U2V0dGluZ3MsXHJcbiAgICBJTmd4QXNpZGVTZXR0aW5ncyxcclxuICAgIElOZ2JEYXRlUGlja2VyU2V0dGluZ3MsXHJcbiAgICBJTmdTZWxlY3RTZXR0aW5ncyxcclxuICAgIElOZ3hJbmZpbml0ZVNjcm9sbFNldHRpbmdzLFxyXG4gICAgSU5neFNrZWxldG9uTG9hZGVyU2V0dGluZ3MsXHJcbiAgICBJUmFkaW9CdXR0b25Db21wb25lbnRDb25maWcsXHJcbiAgICBJQ29uZmlybWF0aW9uUG9wdXBDb25maWcsXHJcbiAgICBJV2Vla0NhbGVuZGFyLFxyXG4gICAgSUN1c3RvbVNpbmdsZVNlbGVjdCxcclxuICAgIElDdXN0b21NdWx0aVNlbGVjdCxcclxufSBmcm9tICcuLi9tb2RlbHMvYW5uYS1nbG9iYWwtZHJvcGRvd24tY29uZmlnLm1vZGVsJztcclxuaW1wb3J0IHsgSUd0SGVhZGVyQ29uZmlnLCBJR3RHZW5lcmFsQ29uZmlnIH0gZnJvbSAnLi4vbW9kZWxzL2FubmEtbm9uLWVkaXRhYmxlLWd0LW1vZGVscyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBbm5hR2xvYmFsQ29uZmlnU2VydmljZSB7XHJcbiAgICByZWFkb25seSBkZWZhdWx0QW5ndWxhcjJNdWx0aVNlbGVjdFNldHRpbmdzOiBJQW5ndWxhcjJNdWx0aVNlbGVjdFNldHRpbmdzO1xyXG4gICAgcmVhZG9ubHkgZGVmYXVsdE5neEFzaWRlU2V0dGluZ3M6IElOZ3hBc2lkZVNldHRpbmdzO1xyXG4gICAgcmVhZG9ubHkgZGVmYXVsdE5nYkRhdGVQaWNrZXJTZXR0aW5nczogSU5nYkRhdGVQaWNrZXJTZXR0aW5ncztcclxuICAgIHJlYWRvbmx5IGRlZmF1bHROZ1NlbGVjdFNldHRpbmdzOiBJTmdTZWxlY3RTZXR0aW5ncztcclxuICAgIHJlYWRvbmx5IGRlZmF1bHROZ3hJbmZpbml0ZVNjcm9sbFNldHRpbmdzOiBJTmd4SW5maW5pdGVTY3JvbGxTZXR0aW5ncztcclxuICAgIHJlYWRvbmx5IGRlZmF1bHROZ3hTa2VsZXRvbkxvYWRlclNldHRpbmdzOiBJTmd4U2tlbGV0b25Mb2FkZXJTZXR0aW5ncztcclxuICAgIHJlYWRvbmx5IGRlZmF1bHRSYWRpb0J1dHRvbnNDb21wb25lbnRDb25maWc6IElSYWRpb0J1dHRvbkNvbXBvbmVudENvbmZpZztcclxuICAgIHJlYWRvbmx5IGRlZmF1bHRDb25maXJtYXRpb25Qb3B1cENvbmZpZzogSUNvbmZpcm1hdGlvblBvcHVwQ29uZmlnO1xyXG4gICAgcmVhZG9ubHkgZGVmYXVsdFdlZWtDYWxlbmRhckNvbmZpZzogSVdlZWtDYWxlbmRhcjtcclxuICAgIHJlYWRvbmx5IGRlZmF1bHRHdEhlYWRlckNvbmZpZzogSUd0SGVhZGVyQ29uZmlnO1xyXG4gICAgcmVhZG9ubHkgZGVmYXVsdEd0R2VuZXJhbENvbmZpZzogSUd0R2VuZXJhbENvbmZpZztcclxuICAgIHJlYWRvbmx5IGRlZmF1bHRTaW5nbGVTZWxlY3RDb25maWc6IElDdXN0b21TaW5nbGVTZWxlY3Q7XHJcbiAgICByZWFkb25seSBkZWZhdWx0TXVsdGlTZWxlY3RDb25maWc6IElDdXN0b21NdWx0aVNlbGVjdDtcclxuXHJcbiAgICAvKlxyXG4gICAgIEluaXRpYWxpemluZyBhbGwgZGVmYXVsdCBzZXR0aW5nc1xyXG4gICAgKi9cclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICAgIHRoaXMuZGVmYXVsdEFuZ3VsYXIyTXVsdGlTZWxlY3RTZXR0aW5ncyA9IHtcclxuICAgICAgICAgICAgdGV4dDogJ1NlbGVjdCBvcHRpb24nLFxyXG4gICAgICAgICAgICBzZWxlY3RBbGxUZXh0OiAnU2VsZWN0IEFsbCcsXHJcbiAgICAgICAgICAgIHVuU2VsZWN0QWxsVGV4dDogJ1VuU2VsZWN0IEFsbCcsXHJcbiAgICAgICAgICAgIGJhZGdlU2hvd0xpbWl0OiAxLFxyXG4gICAgICAgICAgICBzaW5nbGVTZWxlY3Rpb246IGZhbHNlLFxyXG4gICAgICAgICAgICBjbGFzc2VzOiAnZmlsdGVyLWRyb3Bkb3ducycsXHJcbiAgICAgICAgICAgIGVuYWJsZVNlYXJjaEZpbHRlcjogdHJ1ZSxcclxuICAgICAgICAgICAgZW5hYmxlQ2hlY2tBbGw6IHRydWUsXHJcbiAgICAgICAgICAgIGF1dG9Qb3NpdGlvbjogZmFsc2UsXHJcbiAgICAgICAgICAgIGRpc2FibGVkOiBmYWxzZSxcclxuICAgICAgICAgICAgcG9zaXRpb246ICdib3R0b20nLFxyXG4gICAgICAgICAgICBsYXp5TG9hZGluZzogZmFsc2UsXHJcbiAgICAgICAgICAgIHNob3dDaGVja2JveDogdHJ1ZSxcclxuICAgICAgICAgICAgbWF4SGVpZ2h0OiAzMDAsXHJcbiAgICAgICAgICAgIGVuYWJsZUZpbHRlclNlbGVjdEFsbDogdHJ1ZSxcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICB0aGlzLmRlZmF1bHROZ3hBc2lkZVNldHRpbmdzID0ge1xyXG4gICAgICAgICAgICB0aXRsZTogJ1wiRmlsdGVyc1wiJyxcclxuICAgICAgICAgICAgY2FuY2VsQnV0dG9uVGl0bGU6ICdcIkNhbmNlbFwiJyxcclxuICAgICAgICAgICAgc3VibWl0QnV0dG9uVGl0bGU6ICdcIkFwcGx5XCInLFxyXG4gICAgICAgICAgICBjbG9zZU9uRXNjYXBlOiBmYWxzZSxcclxuICAgICAgICAgICAgc2hvd092ZXJsYXk6IGZhbHNlLFxyXG4gICAgICAgICAgICBzaG93RGVmYXVsdEZvb3RlcjogZmFsc2UsXHJcbiAgICAgICAgICAgIHNob3dEZWZhdWx0SGVhZGVyOiBmYWxzZSxcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICB0aGlzLmRlZmF1bHROZ2JEYXRlUGlja2VyU2V0dGluZ3MgPSB7XHJcbiAgICAgICAgICAgIGF1dG9DbG9zZTogZmFsc2UsXHJcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyOiAnbW0tZGQteXl5eScsXHJcbiAgICAgICAgICAgIGRpc3BsYXlNb250aHM6IDEsXHJcbiAgICAgICAgICAgIGZpcnN0RGF5T2ZXZWVrOiAxLFxyXG4gICAgICAgICAgICBzaG93V2Vla051bWJlcnM6IGZhbHNlLFxyXG4gICAgICAgICAgICByZWFkb25seTogdHJ1ZSxcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICB0aGlzLmRlZmF1bHROZ1NlbGVjdFNldHRpbmdzID0ge1xyXG4gICAgICAgICAgICBhbGxvd0NsZWFyOiBmYWxzZSxcclxuICAgICAgICAgICAgcGxhY2Vob2xkZXI6ICdTZWxlY3QnLFxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHRoaXMuZGVmYXVsdE5neEluZmluaXRlU2Nyb2xsU2V0dGluZ3MgPSB7XHJcbiAgICAgICAgICAgIGluZmluaXRlU2Nyb2xsRGlzdGFuY2U6IDEsXHJcbiAgICAgICAgICAgIGluZmluaXRlU2Nyb2xsVXBEaXN0YW5jZTogMixcclxuICAgICAgICAgICAgaW5maW5pdGVTY3JvbGxUaHJvdHRsZTogMzAwLFxyXG4gICAgICAgICAgICBzY3JvbGxXaW5kb3c6IGZhbHNlLFxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHRoaXMuZGVmYXVsdE5neFNrZWxldG9uTG9hZGVyU2V0dGluZ3MgPSB7XHJcbiAgICAgICAgICAgIG51bWJlck9mU2tlbGV0b25Sb3dzOiBBcnJheSg2KS5maWxsKDApLFxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHRoaXMuZGVmYXVsdFJhZGlvQnV0dG9uc0NvbXBvbmVudENvbmZpZyA9IHtcclxuICAgICAgICAgICAgaGVhZGluZzogJ1NlbGVjdCBPcHRpb24nLFxyXG4gICAgICAgICAgICByYWRpb0J1dHRvbnM6IFtcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ1llcycsXHJcbiAgICAgICAgICAgICAgICAgICAgaXNEaXNhYmxlZDogZmFsc2UsXHJcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdZZXMnLFxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzOiAnJyxcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICdObycsXHJcbiAgICAgICAgICAgICAgICAgICAgaXNEaXNhYmxlZDogZmFsc2UsXHJcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdObycsXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M6ICcnLFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgXSxcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICB0aGlzLmRlZmF1bHRDb25maXJtYXRpb25Qb3B1cENvbmZpZyA9IHtcclxuICAgICAgICAgICAgc2hvd0NhbmNlbEJ1dHRvbjogdHJ1ZSxcclxuICAgICAgICAgICAgdGl0bGU6ICdBcmUgeW91IHN1cmUgPycsXHJcbiAgICAgICAgICAgIHNob3dDb25maXJtQnV0dG9uOiB0cnVlLFxyXG4gICAgICAgICAgICBjYW5jZWxCdXR0b25MYWJlbDogJ05vJyxcclxuICAgICAgICAgICAgY29uZmlybUJ1dHRvbkxhYmVsOiAnWWVzJyxcclxuICAgICAgICAgICAgc2hvd0Nsb3NlSWNvbjogdHJ1ZSxcclxuICAgICAgICAgICAgYmFja2Ryb3A6ICdzdGF0aWMnLFxyXG4gICAgICAgICAgICB3aW5kb3dDbGFzczogJycsXHJcbiAgICAgICAgICAgIHNpemU6ICdzbScsXHJcbiAgICAgICAgICAgIGtleWJvYXJkOiBmYWxzZSxcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICB0aGlzLmRlZmF1bHRXZWVrQ2FsZW5kYXJDb25maWcgPSB7XHJcbiAgICAgICAgICAgIGZpcnN0RGF5T2ZXZWVrOiAxLFxyXG4gICAgICAgICAgICBzaG93V2Vla051bWJlcnM6IHRydWUsXHJcbiAgICAgICAgICAgIGRhdGVGb3JtYXRUb0Rpc3BsYXk6ICdkIE1NTSB5JyxcclxuICAgICAgICAgICAgZGF0ZUZvcm1hdEZvclJlcXVlc3Q6ICd5LU1NLWRkJyxcclxuICAgICAgICAgICAgbWF4V2Vla3NUb1Nob3dXaXRoUmVtYWluaW5nQ291bnQ6IDIsXHJcbiAgICAgICAgICAgIG51bWJlck9mTW9udGhzVG9FbmFibGVJblBhc3Q6IDEsXHJcbiAgICAgICAgICAgIHNlbGVjdE11bHRpcGxlV2Vla3M6IGZhbHNlLFxyXG4gICAgICAgICAgICBjdXN0b21DbGFzczogJycsXHJcbiAgICAgICAgICAgIGVtaXRNdWx0aXBsZVdlZWtPYmplY3RzOiB0cnVlLFxyXG4gICAgICAgICAgICBtYXhXZWVrc1RvU2VsZWN0OiAwLFxyXG4gICAgICAgICAgICBzaG93QXNEcm9wZG93bjogdHJ1ZSxcclxuICAgICAgICAgICAgc2VsZWN0Q3VycmVudFdlZWs6IHRydWUsXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgdGhpcy5kZWZhdWx0R3RIZWFkZXJDb25maWcgPSB7XHJcbiAgICAgICAgICAgIGljb25Db2x1bW46IGZhbHNlLFxyXG4gICAgICAgICAgICBjaGVja2JveENvbHVtbjogZmFsc2UsXHJcbiAgICAgICAgICAgIGxhc3RDb2x1bW5LZXlzOiBbXSxcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICB0aGlzLmRlZmF1bHRHdEdlbmVyYWxDb25maWcgPSB7XHJcbiAgICAgICAgICAgIGNvbXBvbmVudDogJycsXHJcbiAgICAgICAgICAgIHRvdGFsUm93OiBmYWxzZSxcclxuICAgICAgICAgICAgaXNIZWFkZXJDaGVja2VkOiBmYWxzZSxcclxuICAgICAgICAgICAgZGlzYWJsZUhlYWRlckNoZWNrYm94OiBmYWxzZSxcclxuICAgICAgICAgICAgdmVydGljYWxTY3JvbGxPZmZzZXRGb3JGaWx0ZXJUb29sdGlwOiAwLFxyXG4gICAgICAgICAgICBpc0dyb3VwZWQ6IGZhbHNlLFxyXG4gICAgICAgICAgICBzaG93QWxsQ29sdW1uRmlsdGVyOiB0cnVlLFxyXG4gICAgICAgICAgICBidWZmZXJTaXplOiAyMCxcclxuICAgICAgICAgICAgcGFnZTogJycsXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgdGhpcy5kZWZhdWx0U2luZ2xlU2VsZWN0Q29uZmlnID0ge1xyXG4gICAgICAgICAgICBzaG93U2VhcmNoQmFyOiBmYWxzZSxcclxuICAgICAgICAgICAgcGxhY2Vob2xkZXI6ICdTZWxlY3QnLFxyXG4gICAgICAgICAgICBjbGFzc2VzOiAnJyxcclxuICAgICAgICAgICAgcG9zaXRpb246ICdCT1RUT00nLFxyXG4gICAgICAgICAgICBtYXhIZWlnaHRPZkxpc3Q6IDIwMCxcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICB0aGlzLmRlZmF1bHRNdWx0aVNlbGVjdENvbmZpZyA9IHtcclxuICAgICAgICAgICAgLi4udGhpcy5kZWZhdWx0U2luZ2xlU2VsZWN0Q29uZmlnLFxyXG4gICAgICAgICAgICAuLi57IHNob3dFcnJvcldoZW5Ob09wdGlvblNlbGVjdGVkOiB0cnVlIH0sXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
135
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1nbG9iYWwtY29uZmlnLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9zZXJ2aWNlcy9hbm5hLWdsb2JhbC1jb25maWcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQW1CM0MsTUFBTSxPQUFPLHVCQUF1QjtJQWVoQzs7TUFFRTtJQUNGO1FBQ0ksSUFBSSxDQUFDLGtDQUFrQyxHQUFHO1lBQ3RDLElBQUksRUFBRSxlQUFlO1lBQ3JCLGFBQWEsRUFBRSxZQUFZO1lBQzNCLGVBQWUsRUFBRSxjQUFjO1lBQy9CLGNBQWMsRUFBRSxDQUFDO1lBQ2pCLGVBQWUsRUFBRSxLQUFLO1lBQ3RCLE9BQU8sRUFBRSxrQkFBa0I7WUFDM0Isa0JBQWtCLEVBQUUsSUFBSTtZQUN4QixjQUFjLEVBQUUsSUFBSTtZQUNwQixZQUFZLEVBQUUsS0FBSztZQUNuQixRQUFRLEVBQUUsS0FBSztZQUNmLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLFdBQVcsRUFBRSxLQUFLO1lBQ2xCLFlBQVksRUFBRSxJQUFJO1lBQ2xCLFNBQVMsRUFBRSxHQUFHO1lBQ2QscUJBQXFCLEVBQUUsSUFBSTtTQUM5QixDQUFDO1FBRUYsSUFBSSxDQUFDLHVCQUF1QixHQUFHO1lBQzNCLEtBQUssRUFBRSxXQUFXO1lBQ2xCLGlCQUFpQixFQUFFLFVBQVU7WUFDN0IsaUJBQWlCLEVBQUUsU0FBUztZQUM1QixhQUFhLEVBQUUsS0FBSztZQUNwQixXQUFXLEVBQUUsS0FBSztZQUNsQixpQkFBaUIsRUFBRSxLQUFLO1lBQ3hCLGlCQUFpQixFQUFFLEtBQUs7U0FDM0IsQ0FBQztRQUVGLElBQUksQ0FBQyw0QkFBNEIsR0FBRztZQUNoQyxTQUFTLEVBQUUsS0FBSztZQUNoQixXQUFX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QUFFLElBQUksRUFBRTtTQUM3QyxDQUFDO0lBQ04sQ0FBQzsrR0FwSlEsdUJBQXVCO21IQUF2Qix1QkFBdUIsY0FGcEIsTUFBTTs7NEZBRVQsdUJBQXVCO2tCQUhuQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtcbiAgICBJQW5ndWxhcjJNdWx0aVNlbGVjdFNldHRpbmdzLFxuICAgIElOZ3hBc2lkZVNldHRpbmdzLFxuICAgIElOZ2JEYXRlUGlja2VyU2V0dGluZ3MsXG4gICAgSU5nU2VsZWN0U2V0dGluZ3MsXG4gICAgSU5neEluZmluaXRlU2Nyb2xsU2V0dGluZ3MsXG4gICAgSU5neFNrZWxldG9uTG9hZGVyU2V0dGluZ3MsXG4gICAgSVJhZGlvQnV0dG9uQ29tcG9uZW50Q29uZmlnLFxuICAgIElDb25maXJtYXRpb25Qb3B1cENvbmZpZyxcbiAgICBJV2Vla0NhbGVuZGFyLFxuICAgIElDdXN0b21TaW5nbGVTZWxlY3QsXG4gICAgSUN1c3RvbU11bHRpU2VsZWN0LFxufSBmcm9tIFwiLi4vbW9kZWxzL2FubmEtZ2xvYmFsLWRyb3Bkb3duLWNvbmZpZy5tb2RlbFwiO1xuaW1wb3J0IHsgSUd0SGVhZGVyQ29uZmlnLCBJR3RHZW5lcmFsQ29uZmlnIH0gZnJvbSBcIi4uL21vZGVscy9hbm5hLW5vbi1lZGl0YWJsZS1ndC1tb2RlbHNcIjtcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46IFwicm9vdFwiLFxufSlcbmV4cG9ydCBjbGFzcyBBbm5hR2xvYmFsQ29uZmlnU2VydmljZSB7XG4gICAgcmVhZG9ubHkgZGVmYXVsdEFuZ3VsYXIyTXVsdGlTZWxlY3RTZXR0aW5nczogSUFuZ3VsYXIyTXVsdGlTZWxlY3RTZXR0aW5ncztcbiAgICByZWFkb25seSBkZWZhdWx0Tmd4QXNpZGVTZXR0aW5nczogSU5neEFzaWRlU2V0dGluZ3M7XG4gICAgcmVhZG9ubHkgZGVmYXVsdE5nYkRhdGVQaWNrZXJTZXR0aW5nczogSU5nYkRhdGVQaWNrZXJTZXR0aW5ncztcbiAgICByZWFkb25seSBkZWZhdWx0TmdTZWxlY3RTZXR0aW5nczogSU5nU2VsZWN0U2V0dGluZ3M7XG4gICAgcmVhZG9ubHkgZGVmYXVsdE5neEluZmluaXRlU2Nyb2xsU2V0dGluZ3M6IElOZ3hJbmZpbml0ZVNjcm9sbFNldHRpbmdzO1xuICAgIHJlYWRvbmx5IGRlZmF1bHROZ3hTa2VsZXRvbkxvYWRlclNldHRpbmdzOiBJTmd4U2tlbGV0b25Mb2FkZXJTZXR0aW5ncztcbiAgICByZWFkb25seSBkZWZhdWx0UmFkaW9CdXR0b25zQ29tcG9uZW50Q29uZmlnOiBJUmFkaW9CdXR0b25Db21wb25lbnRDb25maWc7XG4gICAgcmVhZG9ubHkgZGVmYXVsdENvbmZpcm1hdGlvblBvcHVwQ29uZmlnOiBJQ29uZmlybWF0aW9uUG9wdXBDb25maWc7XG4gICAgcmVhZG9ubHkgZGVmYXVsdFdlZWtDYWxlbmRhckNvbmZpZzogSVdlZWtDYWxlbmRhcjtcbiAgICByZWFkb25seSBkZWZhdWx0R3RIZWFkZXJDb25maWc6IElHdEhlYWRlckNvbmZpZztcbiAgICByZWFkb25seSBkZWZhdWx0R3RHZW5lcmFsQ29uZmlnOiBJR3RHZW5lcmFsQ29uZmlnO1xuICAgIHJlYWRvbmx5IGRlZmF1bHRTaW5nbGVTZWxlY3RDb25maWc6IElDdXN0b21TaW5nbGVTZWxlY3Q7XG4gICAgcmVhZG9ubHkgZGVmYXVsdE11bHRpU2VsZWN0Q29uZmlnOiBJQ3VzdG9tTXVsdGlTZWxlY3Q7XG5cbiAgICAvKlxuICAgICBJbml0aWFsaXppbmcgYWxsIGRlZmF1bHQgc2V0dGluZ3NcbiAgICAqL1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLmRlZmF1bHRBbmd1bGFyMk11bHRpU2VsZWN0U2V0dGluZ3MgPSB7XG4gICAgICAgICAgICB0ZXh0OiBcIlNlbGVjdCBvcHRpb25cIixcbiAgICAgICAgICAgIHNlbGVjdEFsbFRleHQ6IFwiU2VsZWN0IEFsbFwiLFxuICAgICAgICAgICAgdW5TZWxlY3RBbGxUZXh0OiBcIlVuU2VsZWN0IEFsbFwiLFxuICAgICAgICAgICAgYmFkZ2VTaG93TGltaXQ6IDEsXG4gICAgICAgICAgICBzaW5nbGVTZWxlY3Rpb246IGZhbHNlLFxuICAgICAgICAgICAgY2xhc3NlczogXCJmaWx0ZXItZHJvcGRvd25zXCIsXG4gICAgICAgICAgICBlbmFibGVTZWFyY2hGaWx0ZXI6IHRydWUsXG4gICAgICAgICAgICBlbmFibGVDaGVja0FsbDogdHJ1ZSxcbiAgICAgICAgICAgIGF1dG9Qb3NpdGlvbjogZmFsc2UsXG4gICAgICAgICAgICBkaXNhYmxlZDogZmFsc2UsXG4gICAgICAgICAgICBwb3NpdGlvbjogXCJib3R0b21cIixcbiAgICAgICAgICAgIGxhenlMb2FkaW5nOiBmYWxzZSxcbiAgICAgICAgICAgIHNob3dDaGVja2JveDogdHJ1ZSxcbiAgICAgICAgICAgIG1heEhlaWdodDogMzAwLFxuICAgICAgICAgICAgZW5hYmxlRmlsdGVyU2VsZWN0QWxsOiB0cnVlLFxuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMuZGVmYXVsdE5neEFzaWRlU2V0dGluZ3MgPSB7XG4gICAgICAgICAgICB0aXRsZTogJ1wiRmlsdGVyc1wiJyxcbiAgICAgICAgICAgIGNhbmNlbEJ1dHRvblRpdGxlOiAnXCJDYW5jZWxcIicsXG4gICAgICAgICAgICBzdWJtaXRCdXR0b25UaXRsZTogJ1wiQXBwbHlcIicsXG4gICAgICAgICAgICBjbG9zZU9uRXNjYXBlOiBmYWxzZSxcbiAgICAgICAgICAgIHNob3dPdmVybGF5OiBmYWxzZSxcbiAgICAgICAgICAgIHNob3dEZWZhdWx0Rm9vdGVyOiBmYWxzZSxcbiAgICAgICAgICAgIHNob3dEZWZhdWx0SGVhZGVyOiBmYWxzZSxcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLmRlZmF1bHROZ2JEYXRlUGlja2VyU2V0dGluZ3MgPSB7XG4gICAgICAgICAgICBhdXRvQ2xvc2U6IGZhbHNlLFxuICAgICAgICAgICAgcGxhY2Vob2xkZXI6IFwibW0tZGQteXl5eVwiLFxuICAgICAgICAgICAgZGlzcGxheU1vbnRoczogMSxcbiAgICAgICAgICAgIGZpcnN0RGF5T2ZXZWVrOiAxLFxuICAgICAgICAgICAgc2hvd1dlZWtOdW1iZXJzOiBmYWxzZSxcbiAgICAgICAgICAgIHJlYWRvbmx5OiB0cnVlLFxuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMuZGVmYXVsdE5nU2VsZWN0U2V0dGluZ3MgPSB7XG4gICAgICAgICAgICBhbGxvd0NsZWFyOiBmYWxzZSxcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyOiBcIlNlbGVjdFwiLFxuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMuZGVmYXVsdE5neEluZmluaXRlU2Nyb2xsU2V0dGluZ3MgPSB7XG4gICAgICAgICAgICBpbmZpbml0ZVNjcm9sbERpc3RhbmNlOiAxLFxuICAgICAgICAgICAgaW5maW5pdGVTY3JvbGxVcERpc3RhbmNlOiAyLFxuICAgICAgICAgICAgaW5maW5pdGVTY3JvbGxUaHJvdHRsZTogMzAwLFxuICAgICAgICAgICAgc2Nyb2xsV2luZG93OiBmYWxzZSxcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLmRlZmF1bHROZ3hTa2VsZXRvbkxvYWRlclNldHRpbmdzID0ge1xuICAgICAgICAgICAgbnVtYmVyT2ZTa2VsZXRvblJvd3M6IEFycmF5KDYpLmZpbGwoMCksXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5kZWZhdWx0UmFkaW9CdXR0b25zQ29tcG9uZW50Q29uZmlnID0ge1xuICAgICAgICAgICAgaGVhZGluZzogXCJTZWxlY3QgT3B0aW9uXCIsXG4gICAgICAgICAgICByYWRpb0J1dHRvbnM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBcIlllc1wiLFxuICAgICAgICAgICAgICAgICAgICBpc0Rpc2FibGVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IFwiWWVzXCIsXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzOiBcIlwiLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogXCJOb1wiLFxuICAgICAgICAgICAgICAgICAgICBpc0Rpc2FibGVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IFwiTm9cIixcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M6IFwiXCIsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5kZWZhdWx0Q29uZmlybWF0aW9uUG9wdXBDb25maWcgPSB7XG4gICAgICAgICAgICBzaG93Q2FuY2VsQnV0dG9uOiB0cnVlLFxuICAgICAgICAgICAgdGl0bGU6IFwiQXJlIHlvdSBzdXJlID9cIixcbiAgICAgICAgICAgIHNob3dDb25maXJtQnV0dG9uOiB0cnVlLFxuICAgICAgICAgICAgY2FuY2VsQnV0dG9uTGFiZWw6IFwiTm9cIixcbiAgICAgICAgICAgIGNvbmZpcm1CdXR0b25MYWJlbDogXCJZZXNcIixcbiAgICAgICAgICAgIHNob3dDbG9zZUljb246IHRydWUsXG4gICAgICAgICAgICBiYWNrZHJvcDogXCJzdGF0aWNcIixcbiAgICAgICAgICAgIHdpbmRvd0NsYXNzOiBcIlwiLFxuICAgICAgICAgICAgc2l6ZTogXCJzbVwiLFxuICAgICAgICAgICAga2V5Ym9hcmQ6IGZhbHNlLFxuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMuZGVmYXVsdFdlZWtDYWxlbmRhckNvbmZpZyA9IHtcbiAgICAgICAgICAgIGZpcnN0RGF5T2ZXZWVrOiAxLFxuICAgICAgICAgICAgc2hvd1dlZWtOdW1iZXJzOiB0cnVlLFxuICAgICAgICAgICAgZGF0ZUZvcm1hdFRvRGlzcGxheTogXCJkIE1NTSB5XCIsXG4gICAgICAgICAgICBkYXRlRm9ybWF0Rm9yUmVxdWVzdDogXCJ5LU1NLWRkXCIsXG4gICAgICAgICAgICBtYXhXZWVrc1RvU2hvd1dpdGhSZW1haW5pbmdDb3VudDogMixcbiAgICAgICAgICAgIG51bWJlck9mTW9udGhzVG9FbmFibGVJblBhc3Q6IDEsXG4gICAgICAgICAgICBzZWxlY3RNdWx0aXBsZVdlZWtzOiBmYWxzZSxcbiAgICAgICAgICAgIGN1c3RvbUNsYXNzOiBcIlwiLFxuICAgICAgICAgICAgZW1pdE11bHRpcGxlV2Vla09iamVjdHM6IHRydWUsXG4gICAgICAgICAgICBtYXhXZWVrc1RvU2VsZWN0OiAwLFxuICAgICAgICAgICAgc2hvd0FzRHJvcGRvd246IHRydWUsXG4gICAgICAgICAgICBzZWxlY3RDdXJyZW50V2VlazogdHJ1ZSxcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLmRlZmF1bHRHdEhlYWRlckNvbmZpZyA9IHtcbiAgICAgICAgICAgIGljb25Db2x1bW46IGZhbHNlLFxuICAgICAgICAgICAgY2hlY2tib3hDb2x1bW46IGZhbHNlLFxuICAgICAgICAgICAgbGFzdENvbHVtbktleXM6IFtdLFxuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMuZGVmYXVsdEd0R2VuZXJhbENvbmZpZyA9IHtcbiAgICAgICAgICAgIGNvbXBvbmVudDogXCJcIixcbiAgICAgICAgICAgIHRvdGFsUm93OiBmYWxzZSxcbiAgICAgICAgICAgIGlzSGVhZGVyQ2hlY2tlZDogZmFsc2UsXG4gICAgICAgICAgICBkaXNhYmxlSGVhZGVyQ2hlY2tib3g6IGZhbHNlLFxuICAgICAgICAgICAgdmVydGljYWxTY3JvbGxPZmZzZXRGb3JGaWx0ZXJUb29sdGlwOiAwLFxuICAgICAgICAgICAgaXNHcm91cGVkOiBmYWxzZSxcbiAgICAgICAgICAgIHNob3dBbGxDb2x1bW5GaWx0ZXI6IHRydWUsXG4gICAgICAgICAgICBidWZmZXJTaXplOiAyMCxcbiAgICAgICAgICAgIHBhZ2U6IFwiXCIsXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5kZWZhdWx0U2luZ2xlU2VsZWN0Q29uZmlnID0ge1xuICAgICAgICAgICAgc2hvd1NlYXJjaEJhcjogZmFsc2UsXG4gICAgICAgICAgICBwbGFjZWhvbGRlcjogXCJTZWxlY3RcIixcbiAgICAgICAgICAgIGNsYXNzZXM6IFwiXCIsXG4gICAgICAgICAgICBwb3NpdGlvbjogXCJCT1RUT01cIixcbiAgICAgICAgICAgIG1heEhlaWdodE9mTGlzdDogMjAwLFxuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMuZGVmYXVsdE11bHRpU2VsZWN0Q29uZmlnID0ge1xuICAgICAgICAgICAgLi4udGhpcy5kZWZhdWx0U2luZ2xlU2VsZWN0Q29uZmlnLFxuICAgICAgICAgICAgLi4ueyBzaG93RXJyb3JXaGVuTm9PcHRpb25TZWxlY3RlZDogdHJ1ZSB9LFxuICAgICAgICB9O1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Injectable } from
|
|
1
|
+
import { Injectable } from "@angular/core";
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export class AnnaNumberFormatService {
|
|
4
4
|
static GetRoundedValueWithUnits(inputValue, digitsToRoundDecimalPoint = 2) {
|
|
@@ -16,38 +16,38 @@ export class AnnaNumberFormatService {
|
|
|
16
16
|
if (inputValue < 0) {
|
|
17
17
|
value = value * -1;
|
|
18
18
|
}
|
|
19
|
-
if (digitsToRoundDecimalPoint == 0 && (unit ==
|
|
19
|
+
if (digitsToRoundDecimalPoint == 0 && (unit == "M" || unit == "B" || unit == "K")) {
|
|
20
20
|
digitsToRoundDecimalPoint = 2;
|
|
21
21
|
}
|
|
22
22
|
return Number.isInteger(value) ? value.toString() + unit : value.toFixed(digitsToRoundDecimalPoint) + unit;
|
|
23
23
|
// return (Math.round(value, digitsToRoundDecimalPoint, MidpointRounding.AwayFromZero) + unit);
|
|
24
24
|
}
|
|
25
25
|
static GetValueInUnits(inputValue) {
|
|
26
|
-
let unit =
|
|
26
|
+
let unit = "";
|
|
27
27
|
let thousand = 1000;
|
|
28
28
|
let million = 1000000;
|
|
29
29
|
let billion = 1000000000;
|
|
30
30
|
if (inputValue >= thousand && inputValue < million) {
|
|
31
31
|
inputValue = inputValue / thousand;
|
|
32
|
-
unit =
|
|
32
|
+
unit = "K";
|
|
33
33
|
}
|
|
34
34
|
else if (inputValue >= million && inputValue < billion) {
|
|
35
35
|
inputValue = inputValue / million;
|
|
36
|
-
unit =
|
|
36
|
+
unit = "M";
|
|
37
37
|
}
|
|
38
38
|
else if (inputValue >= billion) {
|
|
39
39
|
inputValue = inputValue / billion;
|
|
40
|
-
unit =
|
|
40
|
+
unit = "B";
|
|
41
41
|
}
|
|
42
42
|
return [inputValue, unit];
|
|
43
43
|
}
|
|
44
44
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AnnaNumberFormatService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
45
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AnnaNumberFormatService, providedIn:
|
|
45
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AnnaNumberFormatService, providedIn: "root" }); }
|
|
46
46
|
}
|
|
47
47
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AnnaNumberFormatService, decorators: [{
|
|
48
48
|
type: Injectable,
|
|
49
49
|
args: [{
|
|
50
|
-
providedIn:
|
|
50
|
+
providedIn: "root",
|
|
51
51
|
}]
|
|
52
52
|
}] });
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1udW1iZXItZm9ybWF0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9zZXJ2aWNlcy9hbm5hLW51bWJlci1mb3JtYXQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8sdUJBQXVCO0lBQ3pCLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxVQUFrQixFQUFFLHlCQUF5QixHQUFHLENBQUM7UUFDcEYsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyx1QkFBdUIsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQ2xGLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUNyRCxJQUFJLFVBQVUsR0FBRyxDQUFDLEVBQUU7WUFDaEIsS0FBSyxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztTQUN0QjtRQUNELE9BQU8sS0FBSyxDQUFDLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQztRQUMvQixpR0FBaUc7SUFDckcsQ0FBQztJQUVNLE1BQU0sQ0FBQyw4QkFBOEIsQ0FBQyxVQUFrQixFQUFFLDRCQUFvQyxDQUFDO1FBQ2xHLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDL0QsS0FBSyxHQUFHLENBQUMsS0FBSyxDQUFDO1FBQ2YsSUFBSSxVQUFVLEdBQUcsQ0FBQyxFQUFFO1lBQ2hCLEtBQUssR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDdEI7UUFDRCxJQUFJLHlCQUF5QixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxHQUFHLElBQUksSUFBSSxJQUFJLEdBQUcsSUFBSSxJQUFJLElBQUksR0FBRyxDQUFDLEVBQUU7WUFDL0UseUJBQXlCLEdBQUcsQ0FBQyxDQUFDO1NBQ2pDO1FBQ0QsT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLHlCQUF5QixDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQzNHLCtGQUErRjtJQUNuRyxDQUFDO0lBRU0sTUFBTSxDQUFDLGVBQWUsQ0FBQyxVQUFrQjtRQUM1QyxJQUFJLElBQUksR0FBRyxFQUFFLENBQUM7UUFDZCxJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDcEIsSUFBSSxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3RCLElBQUksT0FBTyxHQUFHLFVBQVUsQ0FBQztRQUV6QixJQUFJLFVBQVUsSUFBSSxRQUFRLElBQUksVUFBVSxHQUFHLE9BQU8sRUFBRTtZQUNoRCxVQUFVLEdBQUcsVUFBVSxHQUFHLFFBQVEsQ0FBQztZQUNuQyxJQUFJLEdBQUcsR0FBRyxDQUFDO1NBQ2Q7YUFBTSxJQUFJLFVBQVUsSUFBSSxPQUFPLElBQUksVUFBVSxHQUFHLE9BQU8sRUFBRTtZQUN0RCxVQUFVLEdBQUcsVUFBVSxHQUFHLE9BQU8sQ0FBQztZQUNsQyxJQUFJLEdBQUcsR0FBRyxDQUFDO1NBQ2Q7YUFBTSxJQUFJLFVBQVUsSUFBSSxPQUFPLEVBQUU7WUFDOUIsVUFBVSxHQUFHLFVBQVUsR0FBRyxPQUFPLENBQUM7WUFDbEMsSUFBSSxHQUFHLEdBQUcsQ0FBQztTQUNkO1FBRUQsT0FBTyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDOytHQTFDUSx1QkFBdUI7bUhBQXZCLHVCQUF1QixjQUZwQixNQUFNOzs0RkFFVCx1QkFBdUI7a0JBSG5DLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiBcInJvb3RcIixcbn0pXG5leHBvcnQgY2xhc3MgQW5uYU51bWJlckZvcm1hdFNlcnZpY2Uge1xuICAgIHB1YmxpYyBzdGF0aWMgR2V0Um91bmRlZFZhbHVlV2l0aFVuaXRzKGlucHV0VmFsdWU6IG51bWJlciwgZGlnaXRzVG9Sb3VuZERlY2ltYWxQb2ludCA9IDIpIHtcbiAgICAgICAgbGV0IFt2YWx1ZSwgdW5pdF0gPSBBbm5hTnVtYmVyRm9ybWF0U2VydmljZS5HZXRWYWx1ZUluVW5pdHMoTWF0aC5hYnMoaW5wdXRWYWx1ZSkpO1xuICAgICAgICB2YWx1ZSA9ICsoK3ZhbHVlKS50b0ZpeGVkKGRpZ2l0c1RvUm91bmREZWNpbWFsUG9pbnQpO1xuICAgICAgICBpZiAoaW5wdXRWYWx1ZSA8IDApIHtcbiAgICAgICAgICAgIHZhbHVlID0gdmFsdWUgKiAtMTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdmFsdWUudG9TdHJpbmcoKSArIHVuaXQ7XG4gICAgICAgIC8vICAgcmV0dXJuIChNYXRoLlJvdW5kKHZhbHVlLCBkaWdpdHNUb1JvdW5kRGVjaW1hbFBvaW50LCBNaWRwb2ludFJvdW5kaW5nLkF3YXlGcm9tWmVybykgKyB1bml0KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIEdldFJvdW5kZWRJbXByZXNzaW9uc1dpdGhVbml0cyhpbnB1dFZhbHVlOiBudW1iZXIsIGRpZ2l0c1RvUm91bmREZWNpbWFsUG9pbnQ6IG51bWJlciA9IDApIHtcbiAgICAgICAgbGV0IFt2YWx1ZSwgdW5pdF0gPSB0aGlzLkdldFZhbHVlSW5Vbml0cyhNYXRoLmFicyhpbnB1dFZhbHVlKSk7XG4gICAgICAgIHZhbHVlID0gK3ZhbHVlO1xuICAgICAgICBpZiAoaW5wdXRWYWx1ZSA8IDApIHtcbiAgICAgICAgICAgIHZhbHVlID0gdmFsdWUgKiAtMTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZGlnaXRzVG9Sb3VuZERlY2ltYWxQb2ludCA9PSAwICYmICh1bml0ID09IFwiTVwiIHx8IHVuaXQgPT0gXCJCXCIgfHwgdW5pdCA9PSBcIktcIikpIHtcbiAgICAgICAgICAgIGRpZ2l0c1RvUm91bmREZWNpbWFsUG9pbnQgPSAyO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBOdW1iZXIuaXNJbnRlZ2VyKHZhbHVlKSA/IHZhbHVlLnRvU3RyaW5nKCkgKyB1bml0IDogdmFsdWUudG9GaXhlZChkaWdpdHNUb1JvdW5kRGVjaW1hbFBvaW50KSArIHVuaXQ7XG4gICAgICAgIC8vIHJldHVybiAoTWF0aC5yb3VuZCh2YWx1ZSwgZGlnaXRzVG9Sb3VuZERlY2ltYWxQb2ludCwgTWlkcG9pbnRSb3VuZGluZy5Bd2F5RnJvbVplcm8pICsgdW5pdCk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBHZXRWYWx1ZUluVW5pdHMoaW5wdXRWYWx1ZTogbnVtYmVyKSB7XG4gICAgICAgIGxldCB1bml0ID0gXCJcIjtcbiAgICAgICAgbGV0IHRob3VzYW5kID0gMTAwMDtcbiAgICAgICAgbGV0IG1pbGxpb24gPSAxMDAwMDAwO1xuICAgICAgICBsZXQgYmlsbGlvbiA9IDEwMDAwMDAwMDA7XG5cbiAgICAgICAgaWYgKGlucHV0VmFsdWUgPj0gdGhvdXNhbmQgJiYgaW5wdXRWYWx1ZSA8IG1pbGxpb24pIHtcbiAgICAgICAgICAgIGlucHV0VmFsdWUgPSBpbnB1dFZhbHVlIC8gdGhvdXNhbmQ7XG4gICAgICAgICAgICB1bml0ID0gXCJLXCI7XG4gICAgICAgIH0gZWxzZSBpZiAoaW5wdXRWYWx1ZSA+PSBtaWxsaW9uICYmIGlucHV0VmFsdWUgPCBiaWxsaW9uKSB7XG4gICAgICAgICAgICBpbnB1dFZhbHVlID0gaW5wdXRWYWx1ZSAvIG1pbGxpb247XG4gICAgICAgICAgICB1bml0ID0gXCJNXCI7XG4gICAgICAgIH0gZWxzZSBpZiAoaW5wdXRWYWx1ZSA+PSBiaWxsaW9uKSB7XG4gICAgICAgICAgICBpbnB1dFZhbHVlID0gaW5wdXRWYWx1ZSAvIGJpbGxpb247XG4gICAgICAgICAgICB1bml0ID0gXCJCXCI7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gW2lucHV0VmFsdWUsIHVuaXRdO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
import { Injectable } from
|
|
2
|
-
import hash from
|
|
1
|
+
import { Injectable } from "@angular/core";
|
|
2
|
+
import hash from "object-hash";
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export class AnnaPersistingFilterService {
|
|
5
5
|
constructor() { }
|
|
6
6
|
storeKeyValueInLocalStorage(val, isFilterKey = true) {
|
|
7
7
|
let filterOrdering;
|
|
8
|
-
if (!localStorage.getItem(
|
|
8
|
+
if (!localStorage.getItem("filterOrdering")) {
|
|
9
9
|
filterOrdering = [];
|
|
10
10
|
}
|
|
11
11
|
else {
|
|
12
|
-
filterOrdering = JSON.parse(localStorage.getItem(
|
|
12
|
+
filterOrdering = JSON.parse(localStorage.getItem("filterOrdering"));
|
|
13
13
|
}
|
|
14
14
|
let filterOrderingSet = new Set(filterOrdering);
|
|
15
15
|
let hashCode = null;
|
|
16
16
|
let key = null;
|
|
17
17
|
try {
|
|
18
18
|
hashCode = hash(val);
|
|
19
|
-
key = isFilterKey ?
|
|
19
|
+
key = isFilterKey ? "filter_" + hashCode : hashCode;
|
|
20
20
|
localStorage.setItem(key, JSON.stringify(val));
|
|
21
21
|
if (isFilterKey) {
|
|
22
22
|
if (filterOrderingSet.has(key)) {
|
|
23
23
|
filterOrderingSet.delete(key);
|
|
24
24
|
}
|
|
25
25
|
filterOrderingSet.add(key);
|
|
26
|
-
localStorage.setItem(
|
|
26
|
+
localStorage.setItem("filterOrdering", JSON.stringify(Array.from(filterOrderingSet)));
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
29
|
catch (e) {
|
|
@@ -33,14 +33,14 @@ export class AnnaPersistingFilterService {
|
|
|
33
33
|
}
|
|
34
34
|
filterOrdering.splice(0, filterOrdering.length / 2);
|
|
35
35
|
hashCode = hash(val);
|
|
36
|
-
let key = isFilterKey ?
|
|
36
|
+
let key = isFilterKey ? "filter_" + hashCode : hashCode;
|
|
37
37
|
localStorage.setItem(key, JSON.stringify(val));
|
|
38
38
|
if (isFilterKey) {
|
|
39
39
|
if (filterOrderingSet.has(key)) {
|
|
40
40
|
filterOrderingSet.delete(key);
|
|
41
41
|
}
|
|
42
42
|
filterOrderingSet.add(key);
|
|
43
|
-
localStorage.setItem(
|
|
43
|
+
localStorage.setItem("filterOrdering", JSON.stringify(Array.from(filterOrderingSet)));
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
46
|
return key;
|
|
@@ -51,15 +51,15 @@ export class AnnaPersistingFilterService {
|
|
|
51
51
|
convertObjToQueryString(paramsObject) {
|
|
52
52
|
return Object.keys(paramsObject)
|
|
53
53
|
.map((key) => `${encodeURIComponent(key)}=${encodeURIComponent(paramsObject[key])}`)
|
|
54
|
-
.join(
|
|
54
|
+
.join("&");
|
|
55
55
|
}
|
|
56
56
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AnnaPersistingFilterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
57
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AnnaPersistingFilterService, providedIn:
|
|
57
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AnnaPersistingFilterService, providedIn: "root" }); }
|
|
58
58
|
}
|
|
59
59
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AnnaPersistingFilterService, decorators: [{
|
|
60
60
|
type: Injectable,
|
|
61
61
|
args: [{
|
|
62
|
-
providedIn:
|
|
62
|
+
providedIn: "root",
|
|
63
63
|
}]
|
|
64
64
|
}], ctorParameters: function () { return []; } });
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1wZXJzaXN0aW5nLWZpbHRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb3JlL3NyYy9saWIvYW5uYS1jb3JlLXNoYXJlZC1saWIvc2VydmljZXMvYW5uYS1wZXJzaXN0aW5nLWZpbHRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxJQUFJLE1BQU0sYUFBYSxDQUFDOztBQUsvQixNQUFNLE9BQU8sMkJBQTJCO0lBQ3BDLGdCQUFlLENBQUM7SUFFaEIsMkJBQTJCLENBQUMsR0FBUSxFQUFFLFdBQVcsR0FBRyxJQUFJO1FBQ3BELElBQUksY0FBcUIsQ0FBQztRQUUxQixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFO1lBQ3pDLGNBQWMsR0FBRyxFQUFFLENBQUM7U0FDdkI7YUFBTTtZQUNILGNBQWMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO1NBQ3ZFO1FBRUQsSUFBSSxpQkFBaUIsR0FBRyxJQUFJLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNoRCxJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDcEIsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDO1FBRWYsSUFBSTtZQUNBLFFBQVEsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDckIsR0FBRyxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO1lBQ3BELFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUUvQyxJQUFJLFdBQVcsRUFBRTtnQkFDYixJQUFJLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRTtvQkFDNUIsaUJBQWlCLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2lCQUNqQztnQkFDRCxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQzNCLFlBQVksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3pGO1NBQ0o7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNSLElBQUksZUFBZSxHQUFHLGNBQWMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1lBRWhELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxlQUFlLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQ3RDLFlBQVksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDOUM7WUFFRCxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxjQUFjLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBRXBELFFBQVEsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDckIsSUFBSSxHQUFHLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7WUFDeEQsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBRS9DLElBQUksV0FBVyxFQUFFO2dCQUNiLElBQUksaUJBQWlCLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFO29CQUM1QixpQkFBaUIsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7aUJBQ2pDO2dCQUNELGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDM0IsWUFBWSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDekY7U0FDSjtRQUVELE9BQU8sR0FBRyxDQUFDO0lBQ2YsQ0FBQztJQUVELG9CQUFvQixDQUFDLEdBQVc7UUFDNUIsT0FBTyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxZQUFpQjtRQUNyQyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO2FBQzNCLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO2FBQ25GLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNuQixDQUFDOytHQTdEUSwyQkFBMkI7bUhBQTNCLDJCQUEyQixjQUZ4QixNQUFNOzs0RkFFVCwyQkFBMkI7a0JBSHZDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgaGFzaCBmcm9tIFwib2JqZWN0LWhhc2hcIjtcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46IFwicm9vdFwiLFxufSlcbmV4cG9ydCBjbGFzcyBBbm5hUGVyc2lzdGluZ0ZpbHRlclNlcnZpY2Uge1xuICAgIGNvbnN0cnVjdG9yKCkge31cblxuICAgIHN0b3JlS2V5VmFsdWVJbkxvY2FsU3RvcmFnZSh2YWw6IGFueSwgaXNGaWx0ZXJLZXkgPSB0cnVlKSB7XG4gICAgICAgIGxldCBmaWx0ZXJPcmRlcmluZzogYW55W107XG5cbiAgICAgICAgaWYgKCFsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImZpbHRlck9yZGVyaW5nXCIpKSB7XG4gICAgICAgICAgICBmaWx0ZXJPcmRlcmluZyA9IFtdO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZmlsdGVyT3JkZXJpbmcgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiZmlsdGVyT3JkZXJpbmdcIikpO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGZpbHRlck9yZGVyaW5nU2V0ID0gbmV3IFNldChmaWx0ZXJPcmRlcmluZyk7XG4gICAgICAgIGxldCBoYXNoQ29kZSA9IG51bGw7XG4gICAgICAgIGxldCBrZXkgPSBudWxsO1xuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBoYXNoQ29kZSA9IGhhc2godmFsKTtcbiAgICAgICAgICAgIGtleSA9IGlzRmlsdGVyS2V5ID8gXCJmaWx0ZXJfXCIgKyBoYXNoQ29kZSA6IGhhc2hDb2RlO1xuICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oa2V5LCBKU09OLnN0cmluZ2lmeSh2YWwpKTtcblxuICAgICAgICAgICAgaWYgKGlzRmlsdGVyS2V5KSB7XG4gICAgICAgICAgICAgICAgaWYgKGZpbHRlck9yZGVyaW5nU2V0LmhhcyhrZXkpKSB7XG4gICAgICAgICAgICAgICAgICAgIGZpbHRlck9yZGVyaW5nU2V0LmRlbGV0ZShrZXkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBmaWx0ZXJPcmRlcmluZ1NldC5hZGQoa2V5KTtcbiAgICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcImZpbHRlck9yZGVyaW5nXCIsIEpTT04uc3RyaW5naWZ5KEFycmF5LmZyb20oZmlsdGVyT3JkZXJpbmdTZXQpKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIGxldCBoYWxmQXJyYXlMZW5ndGggPSBmaWx0ZXJPcmRlcmluZy5sZW5ndGggLyAyO1xuXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGhhbGZBcnJheUxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oZmlsdGVyT3JkZXJpbmdbaV0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmaWx0ZXJPcmRlcmluZy5zcGxpY2UoMCwgZmlsdGVyT3JkZXJpbmcubGVuZ3RoIC8gMik7XG5cbiAgICAgICAgICAgIGhhc2hDb2RlID0gaGFzaCh2YWwpO1xuICAgICAgICAgICAgbGV0IGtleSA9IGlzRmlsdGVyS2V5ID8gXCJmaWx0ZXJfXCIgKyBoYXNoQ29kZSA6IGhhc2hDb2RlO1xuICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oa2V5LCBKU09OLnN0cmluZ2lmeSh2YWwpKTtcblxuICAgICAgICAgICAgaWYgKGlzRmlsdGVyS2V5KSB7XG4gICAgICAgICAgICAgICAgaWYgKGZpbHRlck9yZGVyaW5nU2V0LmhhcyhrZXkpKSB7XG4gICAgICAgICAgICAgICAgICAgIGZpbHRlck9yZGVyaW5nU2V0LmRlbGV0ZShrZXkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBmaWx0ZXJPcmRlcmluZ1NldC5hZGQoa2V5KTtcbiAgICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcImZpbHRlck9yZGVyaW5nXCIsIEpTT04uc3RyaW5naWZ5KEFycmF5LmZyb20oZmlsdGVyT3JkZXJpbmdTZXQpKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4ga2V5O1xuICAgIH1cblxuICAgIGdldEFjdHVhbFF1ZXJ5UGFyYW1zKGtleTogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShrZXkpO1xuICAgIH1cblxuICAgIGNvbnZlcnRPYmpUb1F1ZXJ5U3RyaW5nKHBhcmFtc09iamVjdDogYW55KSB7XG4gICAgICAgIHJldHVybiBPYmplY3Qua2V5cyhwYXJhbXNPYmplY3QpXG4gICAgICAgICAgICAubWFwKChrZXkpID0+IGAke2VuY29kZVVSSUNvbXBvbmVudChrZXkpfT0ke2VuY29kZVVSSUNvbXBvbmVudChwYXJhbXNPYmplY3Rba2V5XSl9YClcbiAgICAgICAgICAgIC5qb2luKFwiJlwiKTtcbiAgICB9XG59XG4iXX0=
|