@sumaris-net/ngx-components 2.7.5-rc8 → 2.7.5
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 +4 -3
- package/esm2022/src/app/core/account/new-token.modal.mjs +6 -8
- package/esm2022/src/app/core/account/token.table.mjs +2 -3
- package/esm2022/src/app/core/form/properties/properties.table.mjs +1 -1
- package/esm2022/src/app/core/form/text-popover/testing/text-popover.testing.mjs +9 -10
- package/esm2022/src/app/core/services/account.service.mjs +3 -2
- package/esm2022/src/app/core/services/model/person.model.mjs +9 -6
- package/esm2022/src/app/core/services/model/referential.model.mjs +12 -4
- package/esm2022/src/app/core/services/pipes/person-to-string.pipe.mjs +4 -4
- package/esm2022/src/app/core/services/platform.service.mjs +37 -16
- package/esm2022/src/app/core/table/testing/table.testing.mjs +1 -1
- package/esm2022/src/app/core/table/testing/table2.testing.mjs +1 -1
- package/esm2022/src/app/shared/form/field.component.mjs +3 -3
- package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.mjs +7 -4
- package/esm2022/src/app/shared/material/autocomplete/testing/autocomplete.test.mjs +1 -1
- package/esm2022/src/app/shared/material/boolean/material.boolean.mjs +6 -3
- package/esm2022/src/app/shared/material/boolean/testing/boolean.test.page.mjs +1 -1
- package/esm2022/src/app/shared/material/chips/material.chips.mjs +7 -4
- package/esm2022/src/app/shared/material/chips/testing/chips.test.mjs +1 -1
- package/esm2022/src/app/shared/material/latlong/material.latlong.mjs +3 -3
- package/esm2022/src/app/shared/material/swipe/material.swipe.mjs +6 -3
- package/esm2022/src/app/shared/material/swipe/testing/swipe.test.mjs +1 -1
- package/esm2022/src/app/shared/material/testing/common.test.mjs +1 -1
- package/esm2022/src/app/shared/named-filter/named-filter-selector.component.mjs +28 -7
- package/esm2022/src/app/shared/pipes/date-format.pipe.mjs +1 -1
- package/esm2022/src/app/shared/storage/storage-explorer.component.mjs +18 -23
- package/esm2022/src/app/shared/toolbar/toolbar.mjs +15 -15
- package/esm2022/src/app/social/message/message.form.mjs +1 -1
- package/fesm2022/sumaris-net.ngx-components.mjs +148 -91
- package/fesm2022/sumaris-net.ngx-components.mjs.map +1 -1
- package/package.json +1 -1
- package/src/app/core/account/new-token.modal.d.ts +1 -1
- package/src/app/core/form/text-popover/testing/text-popover.testing.d.ts +3 -1
- package/src/app/core/services/model/person.model.d.ts +6 -2
- package/src/app/core/services/model/referential.model.d.ts +5 -1
- package/src/app/core/services/pipes/person-to-string.pipe.d.ts +3 -1
- package/src/app/core/services/platform.service.d.ts +6 -2
- package/src/app/shared/material/autocomplete/material.autocomplete.d.ts +3 -2
- package/src/app/shared/material/boolean/material.boolean.d.ts +3 -2
- package/src/app/shared/material/chips/material.chips.d.ts +3 -2
- package/src/app/shared/material/swipe/material.swipe.d.ts +3 -2
- package/src/app/shared/named-filter/named-filter-selector.component.d.ts +8 -5
- package/src/app/shared/pipes/date-format.pipe.d.ts +1 -1
- package/src/app/shared/storage/storage-explorer.component.d.ts +4 -3
- package/src/app/shared/toolbar/toolbar.d.ts +2 -2
- package/src/assets/manifest.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Inject, Input, Output, ViewChild } from '@angular/core';
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Inject, Input, Output, ViewChild, } from '@angular/core';
|
|
2
2
|
import { AppForm } from '../../core/form/form.class';
|
|
3
3
|
import { FilesUtils } from '../file/file.utils';
|
|
4
4
|
import { isEmptyArray, isNilOrBlank, isNilOrNaN, isNotNil, isNotNilOrBlank } from '../functions';
|
|
@@ -38,6 +38,8 @@ export class NamedFilterSelector extends AppForm {
|
|
|
38
38
|
get entityName() {
|
|
39
39
|
return this._entityName;
|
|
40
40
|
}
|
|
41
|
+
appearance;
|
|
42
|
+
subscriptSizing;
|
|
41
43
|
filterContentProvider;
|
|
42
44
|
filterImportCallback;
|
|
43
45
|
filterFormDirty;
|
|
@@ -88,7 +90,10 @@ export class NamedFilterSelector extends AppForm {
|
|
|
88
90
|
markForCheck() {
|
|
89
91
|
this.cd.markForCheck();
|
|
90
92
|
}
|
|
91
|
-
async save() {
|
|
93
|
+
async save(event) {
|
|
94
|
+
if (event?.defaultPrevented)
|
|
95
|
+
return;
|
|
96
|
+
event?.preventDefault();
|
|
92
97
|
const filterContent = this.filterContentProvider();
|
|
93
98
|
if (this.debug)
|
|
94
99
|
console.debug(`${this.logPrefix} save named filter`, filterContent);
|
|
@@ -111,15 +116,20 @@ export class NamedFilterSelector extends AppForm {
|
|
|
111
116
|
}
|
|
112
117
|
const savedEntity = await this.dataService.save(result);
|
|
113
118
|
this.setControlValue(savedEntity);
|
|
119
|
+
this.autocompleteField.reloadItems();
|
|
114
120
|
this.markAsPristine();
|
|
115
121
|
}
|
|
116
|
-
async delete() {
|
|
122
|
+
async delete(event) {
|
|
123
|
+
if (event?.defaultPrevented)
|
|
124
|
+
return;
|
|
125
|
+
event?.preventDefault();
|
|
117
126
|
const data = this.value.namedFilter;
|
|
118
127
|
if (this.debug)
|
|
119
128
|
console.debug(`${this.logPrefix} delete named filter`, data);
|
|
120
129
|
if (typeof data === 'object') {
|
|
121
130
|
await this.dataService.delete(data);
|
|
122
131
|
this.reset();
|
|
132
|
+
this.autocompleteField.reloadItems();
|
|
123
133
|
this.autocompleteField.blurred.emit();
|
|
124
134
|
this.filterDeleted.emit(data);
|
|
125
135
|
Toasts.show(this.toastController, this.translate, {
|
|
@@ -128,7 +138,10 @@ export class NamedFilterSelector extends AppForm {
|
|
|
128
138
|
});
|
|
129
139
|
}
|
|
130
140
|
}
|
|
131
|
-
async export() {
|
|
141
|
+
async export(event) {
|
|
142
|
+
if (event?.defaultPrevented)
|
|
143
|
+
return;
|
|
144
|
+
event?.preventDefault();
|
|
132
145
|
const id = this.autocompleteField.value?.id;
|
|
133
146
|
if (this.debug)
|
|
134
147
|
console.debug(`${this.logPrefix} export named filter`, id);
|
|
@@ -149,6 +162,9 @@ export class NamedFilterSelector extends AppForm {
|
|
|
149
162
|
}
|
|
150
163
|
}
|
|
151
164
|
async import(event) {
|
|
165
|
+
if (event?.defaultPrevented)
|
|
166
|
+
return;
|
|
167
|
+
event?.preventDefault();
|
|
152
168
|
const result = await FilesUtils.showUploadPopover(this.popoverController, event, {
|
|
153
169
|
uploadFn: (file) => FilesUtils.readAsText(file),
|
|
154
170
|
title: 'COMMON.NAMED_FILTER.IMPORT',
|
|
@@ -167,6 +183,7 @@ export class NamedFilterSelector extends AppForm {
|
|
|
167
183
|
}
|
|
168
184
|
this.setControlValue(data);
|
|
169
185
|
this.filterSelected.emit(data.content);
|
|
186
|
+
this.markAsDirty();
|
|
170
187
|
}
|
|
171
188
|
catch (e) {
|
|
172
189
|
console.error(e);
|
|
@@ -206,16 +223,20 @@ export class NamedFilterSelector extends AppForm {
|
|
|
206
223
|
this.autocompleteField.blurred.emit();
|
|
207
224
|
}
|
|
208
225
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: NamedFilterSelector, deps: [{ token: i0.Injector }, { token: i1.UntypedFormBuilder }, { token: i0.ChangeDetectorRef }, { token: i2.ToastController }, { token: i2.PopoverController }, { token: APP_NAMED_FILTER_SERVICE }], target: i0.ɵɵFactoryTarget.Component });
|
|
209
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: NamedFilterSelector, selector: "app-named-filter-selector", inputs: { entityName: "entityName", filterContentProvider: "filterContentProvider", filterImportCallback: "filterImportCallback", filterFormDirty: "filterFormDirty", showButtons: "showButtons", exportFileNamePrefix: "exportFileNamePrefix", autocompleteConfig: "autocompleteConfig", dropButtonTitle: "dropButtonTitle", clearButtonTitle: "clearButtonTitle" }, outputs: { filterSelected: "filterSelected", filterDeleted: "filterDeleted" }, viewQueries: [{ propertyName: "autocompleteField", first: true, predicate: MatAutocompleteField, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ion-grid>\n <ion-row>\n <ion-col>\n <form class=\"form-container\" [formGroup]=\"form\">\n <mat-autocomplete-field\n formControlName=\"namedFilter\"\n [config]=\"autocompleteFields.namedFilter\"\n [placeholder]=\"'COMMON.NAMED_FILTER.TITLE' | translate\"\n [clearable]=\"true\"\n [dropButtonTitle]=\"dropButtonTitle\"\n [clearButtonTitle]=\"clearButtonTitle\"\n >\n <ng-container matSuffix *ngIf=\"showButtons && !mobile\">\n <ng-container *ngTemplateOutlet=\"buttons\"></ng-container>\n </ng-container>\n </mat-autocomplete-field>\n </form>\n </ion-col>\n <ion-col size=\"auto\" *ngIf=\"mobile\">\n <ng-container *ngTemplateOutlet=\"buttons\"></ng-container>\n </ion-col>\n </ion-row>\n</ion-grid>\n\n\n\n<ng-template #buttons>\n <button\n mat-icon-button\n [color]=\"'primary'\"\n [disabled]=\"saveDisabled\"\n [title]=\"'COMMON.NAMED_FILTER.SAVE' | translate\"\n (click)=\"save()\"\n >\n <mat-icon>save</mat-icon>\n <mat-icon *ngIf=\"isNew\" class=\"icon-secondary\" style=\"left: 12px; top: 0px\">add</mat-icon>\n </button>\n <button\n mat-icon-button\n [disabled]=\"deleteDisabled\"\n [title]=\"'COMMON.NAMED_FILTER.DELETE' | translate\"\n (click)=\"delete()\"\n >\n <mat-icon>delete</mat-icon>\n </button>\n <button mat-icon-button [matMenuTriggerFor]=\"moreMenu\">\n <mat-icon>more_vert</mat-icon>\n </button>\n <mat-menu #moreMenu=\"matMenu\">\n <button mat-menu-item (click)=\"export()\" [disabled]=\"isNew\">\n <
|
|
226
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: NamedFilterSelector, selector: "app-named-filter-selector", inputs: { entityName: "entityName", appearance: "appearance", subscriptSizing: "subscriptSizing", filterContentProvider: "filterContentProvider", filterImportCallback: "filterImportCallback", filterFormDirty: "filterFormDirty", showButtons: "showButtons", exportFileNamePrefix: "exportFileNamePrefix", autocompleteConfig: "autocompleteConfig", dropButtonTitle: "dropButtonTitle", clearButtonTitle: "clearButtonTitle" }, outputs: { filterSelected: "filterSelected", filterDeleted: "filterDeleted" }, viewQueries: [{ propertyName: "autocompleteField", first: true, predicate: MatAutocompleteField, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ion-grid class=\"ion-no-padding\">\n <ion-row>\n <ion-col>\n <form class=\"form-container\" [formGroup]=\"form\">\n <mat-autocomplete-field\n formControlName=\"namedFilter\"\n [config]=\"autocompleteFields.namedFilter\"\n [appearance]=\"appearance\"\n [subscriptSizing]=\"subscriptSizing\"\n [placeholder]=\"'COMMON.NAMED_FILTER.TITLE' | translate\"\n [clearable]=\"true\"\n [dropButtonTitle]=\"dropButtonTitle\"\n [clearButtonTitle]=\"clearButtonTitle\"\n [applyImplicitValue]=\"false\"\n >\n <ng-container matSuffix *ngIf=\"showButtons && !mobile\">\n <ng-container *ngTemplateOutlet=\"buttons\"></ng-container>\n </ng-container>\n </mat-autocomplete-field>\n </form>\n </ion-col>\n <ion-col size=\"auto\" *ngIf=\"mobile\">\n <ng-container *ngTemplateOutlet=\"buttons\"></ng-container>\n </ion-col>\n </ion-row>\n</ion-grid>\n\n\n\n<ng-template #buttons>\n <button\n mat-icon-button\n [color]=\"'primary'\"\n [disabled]=\"saveDisabled\"\n [title]=\"'COMMON.NAMED_FILTER.SAVE' | translate\"\n (click)=\"save($event)\"\n >\n <mat-icon>save</mat-icon>\n <mat-icon *ngIf=\"isNew\" class=\"icon-secondary\" style=\"left: 12px; top: 0px\">add</mat-icon>\n </button>\n <button\n mat-icon-button\n [disabled]=\"deleteDisabled\"\n [title]=\"'COMMON.NAMED_FILTER.DELETE' | translate\"\n (click)=\"delete($event)\"\n >\n <mat-icon>delete</mat-icon>\n </button>\n <button mat-icon-button [matMenuTriggerFor]=\"moreMenu\" (click)=\"$event.preventDefault()\">\n <mat-icon>more_vert</mat-icon>\n </button>\n <mat-menu #moreMenu=\"matMenu\">\n <button mat-menu-item (click)=\"export($event)\" [disabled]=\"isNew\">\n <mat-icon>file_download</mat-icon>\n <ion-label>{{ 'COMMON.NAMED_FILTER.EXPORT' | translate }}</ion-label>\n </button>\n <button mat-menu-item (click)=\"import($event)\">\n <mat-icon>file_upload</mat-icon>\n <ion-label>{{ 'COMMON.NAMED_FILTER.IMPORT' | translate }}\n </ion-label>\n </button>\n </mat-menu>\n</ng-template>\n", styles: [".filter-name-container{background:transparent!important;overflow:hidden}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { kind: "component", type: i2.IonGrid, selector: "ion-grid", inputs: ["fixed"] }, { kind: "component", type: i2.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i2.IonRow, selector: "ion-row" }, { kind: "component", type: i4.MatAutocompleteField, selector: "mat-autocomplete-field", inputs: ["equals", "logPrefix", "formControl", "formControlName", "floatLabel", "appearance", "subscriptSizing", "placeholder", "suggestFn", "required", "mobile", "clearable", "debounceTime", "displayWith", "displayAttributes", "displayColumnSizes", "displayColumnNames", "highlightAccent", "showAllOnFocus", "showPanelOnFocus", "autofocus", "config", "i18nPrefix", "noResultMessage", "class", "panelWidth", "matAutocompletePosition", "multiple", "fetchMoreThreshold", "suggestLengthThreshold", "showLoadingSpinner", "debug", "showSearchBar", "stickySearchBar", "applyImplicitValue", "dropButtonTitle", "clearButtonTitle", "filter", "readonly", "tabindex", "items"], outputs: ["click", "blur", "focus", "dropButtonClick", "keydown.escape", "keyup.enter"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i5.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i7.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i8.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i8.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i8.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
210
227
|
}
|
|
211
228
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: NamedFilterSelector, decorators: [{
|
|
212
229
|
type: Component,
|
|
213
|
-
args: [{ selector: 'app-named-filter-selector', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ion-grid>\n <ion-row>\n <ion-col>\n <form class=\"form-container\" [formGroup]=\"form\">\n <mat-autocomplete-field\n formControlName=\"namedFilter\"\n [config]=\"autocompleteFields.namedFilter\"\n [placeholder]=\"'COMMON.NAMED_FILTER.TITLE' | translate\"\n [clearable]=\"true\"\n [dropButtonTitle]=\"dropButtonTitle\"\n [clearButtonTitle]=\"clearButtonTitle\"\n >\n <ng-container matSuffix *ngIf=\"showButtons && !mobile\">\n <ng-container *ngTemplateOutlet=\"buttons\"></ng-container>\n </ng-container>\n </mat-autocomplete-field>\n </form>\n </ion-col>\n <ion-col size=\"auto\" *ngIf=\"mobile\">\n <ng-container *ngTemplateOutlet=\"buttons\"></ng-container>\n </ion-col>\n </ion-row>\n</ion-grid>\n\n\n\n<ng-template #buttons>\n <button\n mat-icon-button\n [color]=\"'primary'\"\n [disabled]=\"saveDisabled\"\n [title]=\"'COMMON.NAMED_FILTER.SAVE' | translate\"\n (click)=\"save()\"\n >\n <mat-icon>save</mat-icon>\n <mat-icon *ngIf=\"isNew\" class=\"icon-secondary\" style=\"left: 12px; top: 0px\">add</mat-icon>\n </button>\n <button\n mat-icon-button\n [disabled]=\"deleteDisabled\"\n [title]=\"'COMMON.NAMED_FILTER.DELETE' | translate\"\n (click)=\"delete()\"\n >\n <mat-icon>delete</mat-icon>\n </button>\n <button mat-icon-button [matMenuTriggerFor]=\"moreMenu\">\n <mat-icon>more_vert</mat-icon>\n </button>\n <mat-menu #moreMenu=\"matMenu\">\n <button mat-menu-item (click)=\"export()\" [disabled]=\"isNew\">\n <
|
|
230
|
+
args: [{ selector: 'app-named-filter-selector', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ion-grid class=\"ion-no-padding\">\n <ion-row>\n <ion-col>\n <form class=\"form-container\" [formGroup]=\"form\">\n <mat-autocomplete-field\n formControlName=\"namedFilter\"\n [config]=\"autocompleteFields.namedFilter\"\n [appearance]=\"appearance\"\n [subscriptSizing]=\"subscriptSizing\"\n [placeholder]=\"'COMMON.NAMED_FILTER.TITLE' | translate\"\n [clearable]=\"true\"\n [dropButtonTitle]=\"dropButtonTitle\"\n [clearButtonTitle]=\"clearButtonTitle\"\n [applyImplicitValue]=\"false\"\n >\n <ng-container matSuffix *ngIf=\"showButtons && !mobile\">\n <ng-container *ngTemplateOutlet=\"buttons\"></ng-container>\n </ng-container>\n </mat-autocomplete-field>\n </form>\n </ion-col>\n <ion-col size=\"auto\" *ngIf=\"mobile\">\n <ng-container *ngTemplateOutlet=\"buttons\"></ng-container>\n </ion-col>\n </ion-row>\n</ion-grid>\n\n\n\n<ng-template #buttons>\n <button\n mat-icon-button\n [color]=\"'primary'\"\n [disabled]=\"saveDisabled\"\n [title]=\"'COMMON.NAMED_FILTER.SAVE' | translate\"\n (click)=\"save($event)\"\n >\n <mat-icon>save</mat-icon>\n <mat-icon *ngIf=\"isNew\" class=\"icon-secondary\" style=\"left: 12px; top: 0px\">add</mat-icon>\n </button>\n <button\n mat-icon-button\n [disabled]=\"deleteDisabled\"\n [title]=\"'COMMON.NAMED_FILTER.DELETE' | translate\"\n (click)=\"delete($event)\"\n >\n <mat-icon>delete</mat-icon>\n </button>\n <button mat-icon-button [matMenuTriggerFor]=\"moreMenu\" (click)=\"$event.preventDefault()\">\n <mat-icon>more_vert</mat-icon>\n </button>\n <mat-menu #moreMenu=\"matMenu\">\n <button mat-menu-item (click)=\"export($event)\" [disabled]=\"isNew\">\n <mat-icon>file_download</mat-icon>\n <ion-label>{{ 'COMMON.NAMED_FILTER.EXPORT' | translate }}</ion-label>\n </button>\n <button mat-menu-item (click)=\"import($event)\">\n <mat-icon>file_upload</mat-icon>\n <ion-label>{{ 'COMMON.NAMED_FILTER.IMPORT' | translate }}\n </ion-label>\n </button>\n </mat-menu>\n</ng-template>\n", styles: [".filter-name-container{background:transparent!important;overflow:hidden}\n"] }]
|
|
214
231
|
}], ctorParameters: () => [{ type: i0.Injector }, { type: i1.UntypedFormBuilder }, { type: i0.ChangeDetectorRef }, { type: i2.ToastController }, { type: i2.PopoverController }, { type: undefined, decorators: [{
|
|
215
232
|
type: Inject,
|
|
216
233
|
args: [APP_NAMED_FILTER_SERVICE]
|
|
217
234
|
}] }], propDecorators: { entityName: [{
|
|
218
235
|
type: Input
|
|
236
|
+
}], appearance: [{
|
|
237
|
+
type: Input
|
|
238
|
+
}], subscriptSizing: [{
|
|
239
|
+
type: Input
|
|
219
240
|
}], filterContentProvider: [{
|
|
220
241
|
type: Input
|
|
221
242
|
}], filterImportCallback: [{
|
|
@@ -240,4 +261,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
|
|
|
240
261
|
type: ViewChild,
|
|
241
262
|
args: [MatAutocompleteField, { static: true }]
|
|
242
263
|
}] } });
|
|
243
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFtZWQtZmlsdGVyLXNlbGVjdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL25hbWVkLWZpbHRlci9uYW1lZC1maWx0ZXItc2VsZWN0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvbmFtZWQtZmlsdGVyL25hbWVkLWZpbHRlci1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUVOLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDOUMsT0FBTyxFQUFDLFlBQVksRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxlQUFlLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDL0YsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sZ0RBQWdELENBQUM7QUFFcEYsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZDLE9BQU8sRUFBbUMsV0FBVyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDbkYsT0FBTyxFQUFDLHdCQUF3QixFQUF1RSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RJLE9BQU8sRUFBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUMsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7O0FBUXhELE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxPQUFZO0lBa0N2QztJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ2tDO0lBdENwQyxTQUFTLEdBQUcseUJBQXlCLENBQUM7SUFDN0IsTUFBTSxDQUFVO0lB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QkFBNUIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFHSSxjQUFjO3NCQUF2QixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBRTBDLGlCQUFpQjtzQkFBakUsU0FBUzt1QkFBQyxvQkFBb0IsRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbmplY3QsXG4gIEluamVjdG9yLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VW50eXBlZEZvcm1CdWlsZGVyfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1BvcG92ZXJDb250cm9sbGVyLCBUb2FzdENvbnRyb2xsZXJ9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7QXBwRm9ybX0gZnJvbSAnLi4vLi4vY29yZS9mb3JtL2Zvcm0uY2xhc3MnO1xuaW1wb3J0IHtGaWxlc1V0aWxzfSBmcm9tICcuLi9maWxlL2ZpbGUudXRpbHMnO1xuaW1wb3J0IHtpc0VtcHR5QXJyYXksIGlzTmlsT3JCbGFuaywgaXNOaWxPck5hTiwgaXNOb3ROaWwsIGlzTm90TmlsT3JCbGFua30gZnJvbSAnLi4vZnVuY3Rpb25zJztcbmltcG9ydCB7TWF0QXV0b2NvbXBsZXRlRmllbGR9IGZyb20gJy4uL21hdGVyaWFsL2F1dG9jb21wbGV0ZS9tYXRlcmlhbC5hdXRvY29tcGxldGUnO1xuaW1wb3J0IHtNYXRBdXRvY29tcGxldGVGaWVsZENvbmZpZ30gZnJvbSAnLi4vbWF0ZXJpYWwvYXV0b2NvbXBsZXRlL21hdGVyaWFsLmF1dG9jb21wbGV0ZS5jb25maWcnO1xuaW1wb3J0IHtUb2FzdHN9IGZyb20gJy4uL3RvYXN0L3RvYXN0cyc7XG5pbXBvcnQge0lOYW1lZEZpbHRlciwgSU5hbWVkRmlsdGVyRmlsdGVyLCBOYW1lZEZpbHRlcn0gZnJvbSAnLi9uYW1lZC1maWx0ZXIubW9kZWwnO1xuaW1wb3J0IHtBUFBfTkFNRURfRklMVEVSX1NFUlZJQ0UsIElOYW1lZEZpbHRlclNlcnZpY2UsIE5hbWVkRmlsdGVyTG9hZE9wdGlvbnMsIE5hbWVkRmlsdGVyV2F0Y2hPcHRpb25zfSBmcm9tICcuL25hbWVkLWZpbHRlci5zZXJ2aWNlJztcbmltcG9ydCB7ZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1uYW1lZC1maWx0ZXItc2VsZWN0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vbmFtZWQtZmlsdGVyLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbmFtZWQtZmlsdGVyLXNlbGVjdG9yLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBOYW1lZEZpbHRlclNlbGVjdG9yIGV4dGVuZHMgQXBwRm9ybTxhbnk+IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHJvdGVjdGVkIGxvZ1ByZWZpeCA9ICdbbmFtZWQtZmlsdGVyLXNlbGVjdG9yXSc7XG4gIHByb3RlY3RlZCByZWFkb25seSBtb2JpbGU6IGJvb2xlYW47XG5cbiAgcHJpdmF0ZSBfZW50aXR5TmFtZTogc3RyaW5nO1xuICBwcml2YXRlIF9kZWxldGVEaXNhYmxlZCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIHNldCBlbnRpdHlOYW1lKGVudGl0eU5hbWU6IHN0cmluZykge1xuICAgIGlmICghZW50aXR5TmFtZSB8fCB0aGlzLl9lbnRpdHlOYW1lID09PSBlbnRpdHlOYW1lKSByZXR1cm47XG4gICAgdGhpcy5fZW50aXR5TmFtZSA9IGVudGl0eU5hbWU7XG4gICAgLy8gVXBkYXRlIGF1dG9jb21wbGV0ZSBmaWx0ZXJcbiAgICB0aGlzLmF1dG9jb21wbGV0ZUZpZWxkLmZpbHRlciA9IHsuLi50aGlzLmF1dG9jb21wbGV0ZUZpZWxkLmZpbHRlciwgLi4udGhpcy5nZXRGaWx0ZXIoKX07XG4gIH1cblxuICBnZXQgZW50aXR5TmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9lbnRpdHlOYW1lO1xuICB9XG5cbiAgQElucHV0KCkgZmlsdGVyQ29udGVudFByb3ZpZGVyOiAoKSA9PiBhbnk7XG4gIEBJbnB1dCgpIGZpbHRlckltcG9ydENhbGxiYWNrOiAobmFtZWRGaWx0ZXI6IE5hbWVkRmlsdGVyKSA9PiBQcm9taXNlPE5hbWVkRmlsdGVyPjtcbiAgQElucHV0KCkgZmlsdGVyRm9ybURpcnR5OiBib29sZWFuO1xuICBASW5wdXQoKSBzaG93QnV0dG9ucyA9IHRydWU7XG4gIEBJbnB1dCgpIGV4cG9ydEZpbGVOYW1lUHJlZml4ID0gJ2ZpbHRlcic7XG4gIEBJbnB1dCgpIGF1dG9jb21wbGV0ZUNvbmZpZzogTWF0QXV0b2NvbXBsZXRlRmllbGRDb25maWc7XG4gIEBJbnB1dCgpIGRyb3BCdXR0b25UaXRsZTogc3RyaW5nO1xuICBASW5wdXQoKSBjbGVhckJ1dHRvblRpdGxlOiBzdHJpbmc7XG4gIFxuXG4gIEBPdXRwdXQoKSBmaWx0ZXJTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZmlsdGVyRGVsZXRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8TmFtZWRGaWx0ZXI+KCk7XG5cbiAgQFZpZXdDaGlsZChNYXRBdXRvY29tcGxldGVGaWVsZCwge3N0YXRpYzogdHJ1ZX0pIGF1dG9jb21wbGV0ZUZpZWxkOiBNYXRBdXRvY29tcGxldGVGaWVsZDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIHByb3RlY3RlZCBmb3JtQnVpbGRlcjogVW50eXBlZEZvcm1CdWlsZGVyLFxuICAgIHByb3RlY3RlZCBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJvdGVjdGVkIHRvYXN0Q29udHJvbGxlcjogVG9hc3RDb250cm9sbGVyLFxuICAgIHByb3RlY3RlZCBwb3BvdmVyQ29udHJvbGxlcjogUG9wb3ZlckNvbnRyb2xsZXIsXG4gICAgQEluamVjdChBUFBfTkFNRURfRklMVEVSX1NFUlZJQ0UpIHByb3RlY3RlZCBkYXRhU2VydmljZTogSU5hbWVkRmlsdGVyU2VydmljZTxcbiAgICAgIElOYW1lZEZpbHRlcjxhbnk+LFxuICAgICAgSU5hbWVkRmlsdGVyRmlsdGVyPGFueSwgYW55PixcbiAgICAgIE5hbWVkRmlsdGVyV2F0Y2hPcHRpb25zLFxuICAgICAgTmFtZWRGaWx0ZXJMb2FkT3B0aW9uc1xuICAgID5cbiAgKSB7XG4gICAgc3VwZXIoaW5qZWN0b3IsIGZvcm1CdWlsZGVyLmdyb3VwKHtuYW1lZEZpbHRlcjogW251bGxdfSkpO1xuICAgIHRoaXMubW9iaWxlID0gdGhpcy5zZXR0aW5ncy5tb2JpbGU7XG4gIH1cblxuICBnZXQgaXNOZXcoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzTmlsT3JOYU4odGhpcy52YWx1ZT8ubmFtZWRGaWx0ZXI/LmlkKTtcbiAgfVxuXG4gIGdldCBzYXZlRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLmRpcnR5IHx8IGlzTmlsT3JCbGFuayh0aGlzLnZhbHVlLm5hbWVkRmlsdGVyKTtcbiAgfVxuXG4gIGdldCBkZWxldGVEaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZGVsZXRlRGlzYWJsZWQgfHwgdGhpcy5pc05ldztcbiAgfVxuXG4gIGdldCBkaXJ0eSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gc3VwZXIuZGlydHkgfHwgdGhpcy5maWx0ZXJGb3JtRGlydHk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnJlZ2lzdGVyQXV0b2NvbXBsZXRlRmllbGQoJ25hbWVkRmlsdGVyJywge1xuICAgICAgc3VnZ2VzdEZuOiAodmFsdWUsIGZpbHRlcikgPT4gdGhpcy5kYXRhU2VydmljZS5zdWdnZXN0KHZhbHVlLCBmaWx0ZXIpLFxuICAgICAgYXR0cmlidXRlczogWyduYW1lJ10sXG4gICAgICBmaWx0ZXI6IHRoaXMuZ2V0RmlsdGVyKCksXG4gICAgICAuLi50aGlzLmF1dG9jb21wbGV0ZUNvbmZpZyxcbiAgICB9KTtcblxuICAgIHRoaXMucmVnaXN0ZXJTdWJzY3JpcHRpb24oXG4gICAgICB0aGlzLmZvcm0uY29udHJvbHMubmFtZWRGaWx0ZXIudmFsdWVDaGFuZ2VzLnBpcGUoZGVib3VuY2VUaW1lKDEwMCksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpLnN1YnNjcmliZSgodmFsdWUpID0+IHRoaXMub25GaWx0ZXJDaGFuZ2VzKHZhbHVlKSlcbiAgICApO1xuICB9XG5cbiAgZ2V0RmlsdGVyKCk6IGFueSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGVudGl0eU5hbWU6IHRoaXMuZW50aXR5TmFtZSxcbiAgICB9O1xuICB9XG5cbiAgbWFya0ZvckNoZWNrKCkge1xuICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBhc3luYyBzYXZlKCkge1xuICAgIGNvbnN0IGZpbHRlckNvbnRlbnQgPSB0aGlzLmZpbHRlckNvbnRlbnRQcm92aWRlcigpO1xuXG4gICAgaWYgKHRoaXMuZGVidWcpIGNvbnNvbGUuZGVidWcoYCR7dGhpcy5sb2dQcmVmaXh9IHNhdmUgbmFtZWQgZmlsdGVyYCwgZmlsdGVyQ29udGVudCk7XG5cbiAgICBpZiAoaXNOaWxPckJsYW5rKGZpbHRlckNvbnRlbnQpKSByZXR1cm47XG5cbiAgICBjb25zdCBjdXJyZW50U2VsZWN0ZWQgPSB0aGlzLnZhbHVlLm5hbWVkRmlsdGVyO1xuICAgIGxldCByZXN1bHQ6IE5hbWVkRmlsdGVyO1xuXG4gICAgaWYgKHR5cGVvZiBjdXJyZW50U2VsZWN0ZWQgPT09ICdzdHJpbmcnKSB7XG4gICAgICByZXN1bHQgPSBOYW1lZEZpbHRlci5mcm9tT2JqZWN0KHtcbiAgICAgICAgbmFtZTogY3VycmVudFNlbGVjdGVkLFxuICAgICAgICBlbnRpdHlOYW1lOiB0aGlzLmVudGl0eU5hbWUsXG4gICAgICAgIGNvbnRlbnQ6IGZpbHRlckNvbnRlbnQsXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVzdWx0ID0gTmFtZWRGaWx0ZXIuZnJvbU9iamVjdCh7XG4gICAgICAgIC4uLmN1cnJlbnRTZWxlY3RlZCxcbiAgICAgICAgY29udGVudDogZmlsdGVyQ29udGVudCxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGNvbnN0IHNhdmVkRW50aXR5ID0gYXdhaXQgdGhpcy5kYXRhU2VydmljZS5zYXZlKHJlc3VsdCk7XG4gICAgdGhpcy5zZXRDb250cm9sVmFsdWUoc2F2ZWRFbnRpdHkpO1xuICAgIHRoaXMubWFya0FzUHJpc3RpbmUoKTtcbiAgfVxuXG4gIGFzeW5jIGRlbGV0ZSgpIHtcbiAgICBjb25zdCBkYXRhID0gdGhpcy52YWx1ZS5uYW1lZEZpbHRlcjtcblxuICAgIGlmICh0aGlzLmRlYnVnKSBjb25zb2xlLmRlYnVnKGAke3RoaXMubG9nUHJlZml4fSBkZWxldGUgbmFtZWQgZmlsdGVyYCwgZGF0YSk7XG5cbiAgICBpZiAodHlwZW9mIGRhdGEgPT09ICdvYmplY3QnKSB7XG4gICAgICBhd2FpdCB0aGlzLmRhdGFTZXJ2aWNlLmRlbGV0ZShkYXRhKTtcbiAgICAgIHRoaXMucmVzZXQoKTtcbiAgICAgIHRoaXMuYXV0b2NvbXBsZXRlRmllbGQuYmx1cnJlZC5lbWl0KCk7XG4gICAgICB0aGlzLmZpbHRlckRlbGV0ZWQuZW1pdChkYXRhKTtcbiAgICAgIFRvYXN0cy5zaG93KHRoaXMudG9hc3RDb250cm9sbGVyLCB0aGlzLnRyYW5zbGF0ZSwge1xuICAgICAgICB0eXBlOiAnaW5mbycsXG4gICAgICAgIG1lc3NhZ2U6ICdDT01NT04uTkFNRURfRklMVEVSLkRFTEVURUQnLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgZXhwb3J0KCkge1xuICAgIGNvbnN0IGlkID0gdGhpcy5hdXRvY29tcGxldGVGaWVsZC52YWx1ZT8uaWQ7XG5cbiAgICBpZiAodGhpcy5kZWJ1ZykgY29uc29sZS5kZWJ1ZyhgJHt0aGlzLmxvZ1ByZWZpeH0gZXhwb3J0IG5hbWVkIGZpbHRlcmAsIGlkKTtcblxuICAgIGlmICghaWQpIHJldHVybjtcblxuICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB0aGlzLmRhdGFTZXJ2aWNlLmxvYWQoaWQsIHt3aXRoQ29udGVudDogdHJ1ZX0pO1xuXG4gICAgaWYgKGRhdGEpIHtcbiAgICAgIEZpbGVzVXRpbHMud3JpdGVUZXh0VG9GaWxlKEpTT04uc3RyaW5naWZ5KGRhdGEsIG51bGwsIDIpLCB7XG4gICAgICAgIHR5cGU6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgICAgZmlsZW5hbWU6IGAke3RoaXMuZXhwb3J0RmlsZU5hbWVQcmVmaXh9LSR7ZGF0YS5lbnRpdHlOYW1lfS0ke2RhdGEubmFtZX0uanNvbmAsXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgVG9hc3RzLnNob3codGhpcy50b2FzdENvbnRyb2xsZXIsIHRoaXMudHJhbnNsYXRlLCB7XG4gICAgICAgIHR5cGU6ICdlcnJvcicsXG4gICAgICAgIG1lc3NhZ2U6ICdDT01NT04uTkFNRURfRklMVEVSLk5PVF9GT1VORCcsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBpbXBvcnQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgRmlsZXNVdGlscy5zaG93VXBsb2FkUG9wb3Zlcih0aGlzLnBvcG92ZXJDb250cm9sbGVyLCBldmVudCwge1xuICAgICAgdXBsb2FkRm46IChmaWxlKSA9PiBGaWxlc1V0aWxzLnJlYWRBc1RleHQoZmlsZSksXG4gICAgICB0aXRsZTogJ0NPTU1PTi5OQU1FRF9GSUxURVIuSU1QT1JUJyxcbiAgICAgIGZpbGVFeHRlbnNpb246ICcuanNvbicsXG4gICAgICB1bmlxdWVGaWxlOiB0cnVlLFxuICAgICAgaW5zdGFudFVwbG9hZDogdHJ1ZSxcbiAgICB9KTtcbiAgICBpZiAoIXJlc3VsdCB8fCBpc0VtcHR5QXJyYXkocmVzdWx0LmRhdGEpKSByZXR1cm47XG4gICAgdHJ5IHtcbiAgICAgIGxldCBkYXRhID0gSlNPTi5wYXJzZShyZXN1bHQuZGF0YVswXS5yZXNwb25zZS5ib2R5KTtcbiAgICAgIGlmICh0aGlzLmRlYnVnKSBjb25zb2xlLmRlYnVnKGAke3RoaXMubG9nUHJlZml4fSBpbXBvcnQgbmFtZWQgZmlsdGVyYCwgZGF0YSk7XG4gICAgICBpZiAodGhpcy5maWx0ZXJJbXBvcnRDYWxsYmFjaykge1xuICAgICAgICBkYXRhID0gYXdhaXQgdGhpcy5maWx0ZXJJbXBvcnRDYWxsYmFjayhkYXRhKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuc2V0Q29udHJvbFZhbHVlKGRhdGEpO1xuICAgICAgdGhpcy5maWx0ZXJTZWxlY3RlZC5lbWl0KGRhdGEuY29udGVudCk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgY29uc29sZS5lcnJvcihlKTtcbiAgICAgIFRvYXN0cy5zaG93KHRoaXMudG9hc3RDb250cm9sbGVyLCB0aGlzLnRyYW5zbGF0ZSwge1xuICAgICAgICB0eXBlOiAnZXJyb3InLFxuICAgICAgICBtZXNzYWdlOiAnQ09NTU9OLk5BTUVEX0ZJTFRFUi5JTVBPUlRfRkFJTEVEJyxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBvbkZpbHRlckNoYW5nZXModmFsdWU6IE5hbWVkRmlsdGVyIHwgc3RyaW5nKSB7XG4gICAgaWYgKHRoaXMuZGVidWcpIGNvbnNvbGUuZGVidWcoYCR7dGhpcy5sb2dQcmVmaXh9IGZpbHRlciBjaGFuZ2VgLCB2YWx1ZSk7XG5cbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZT8uaWQgJiYgaXNOb3ROaWwodmFsdWUuaWQpKSB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBkYXRhID0gYXdhaXQgdGhpcy5kYXRhU2VydmljZS5sb2FkKHZhbHVlLmlkLCB7d2l0aENvbnRlbnQ6IHRydWV9KTtcbiAgICAgICAgdGhpcy5fZGVsZXRlRGlzYWJsZWQgPSAhdGhpcy5kYXRhU2VydmljZS5jYW5Vc2VyV3JpdGUoZGF0YSk7XG5cbiAgICAgICAgY29uc3QgZmlsdGVyID0gaXNOb3ROaWxPckJsYW5rKGRhdGE/LmNvbnRlbnQpID8gZGF0YS5jb250ZW50IDogbnVsbDtcbiAgICAgICAgaWYgKGZpbHRlcikge1xuICAgICAgICAgIHRoaXMuZmlsdGVyU2VsZWN0ZWQuZW1pdChmaWx0ZXIpO1xuICAgICAgICAgIHRoaXMubWFya0FzUHJpc3RpbmUoKTtcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBUb2FzdHMuc2hvdyh0aGlzLnRvYXN0Q29udHJvbGxlciwgdGhpcy50cmFuc2xhdGUsIHtcbiAgICAgICAgICB0eXBlOiAnZXJyb3InLFxuICAgICAgICAgIG1lc3NhZ2U6ICdDT01NT04uTkFNRURfRklMVEVSLkxPQURfRkFJTEVEJyxcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuYXV0b2NvbXBsZXRlRmllbGQuYXBwbHlJbXBsaWNpdFZhbHVlID0gZmFsc2U7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYXV0b2NvbXBsZXRlRmllbGQuYXBwbHlJbXBsaWNpdFZhbHVlID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHNldENvbnRyb2xWYWx1ZSh2YWx1ZTogTmFtZWRGaWx0ZXIpIHtcbiAgICB0aGlzLnNldFZhbHVlKHtuYW1lZEZpbHRlcjogdmFsdWV9KTtcbiAgICB0aGlzLmF1dG9jb21wbGV0ZUZpZWxkLmJsdXJyZWQuZW1pdCgpO1xuICB9XG59XG4iLCI8aW9uLWdyaWQ+XG4gIDxpb24tcm93PlxuICAgIDxpb24tY29sPlxuICAgICAgPGZvcm0gY2xhc3M9XCJmb3JtLWNvbnRhaW5lclwiIFtmb3JtR3JvdXBdPVwiZm9ybVwiPlxuICAgICAgICA8bWF0LWF1dG9jb21wbGV0ZS1maWVsZFxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibmFtZWRGaWx0ZXJcIlxuICAgICAgICAgICAgW2NvbmZpZ109XCJhdXRvY29tcGxldGVGaWVsZHMubmFtZWRGaWx0ZXJcIlxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidDT01NT04uTkFNRURfRklMVEVSLlRJVExFJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICBbY2xlYXJhYmxlXT1cInRydWVcIlxuICAgICAgICAgICAgW2Ryb3BCdXR0b25UaXRsZV09XCJkcm9wQnV0dG9uVGl0bGVcIlxuICAgICAgICAgICAgW2NsZWFyQnV0dG9uVGl0bGVdPVwiY2xlYXJCdXR0b25UaXRsZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyIG1hdFN1ZmZpeCAqbmdJZj1cInNob3dCdXR0b25zICYmICFtb2JpbGVcIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImJ1dHRvbnNcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L21hdC1hdXRvY29tcGxldGUtZmllbGQ+XG4gICAgICA8L2Zvcm0+XG4gICAgPC9pb24tY29sPlxuICAgIDxpb24tY29sIHNpemU9XCJhdXRvXCIgKm5nSWY9XCJtb2JpbGVcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJidXR0b25zXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9pb24tY29sPlxuICA8L2lvbi1yb3c+XG48L2lvbi1ncmlkPlxuXG5cblxuPG5nLXRlbXBsYXRlICNidXR0b25zPlxuICA8YnV0dG9uXG4gICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgIFtjb2xvcl09XCIncHJpbWFyeSdcIlxuICAgICAgW2Rpc2FibGVkXT1cInNhdmVEaXNhYmxlZFwiXG4gICAgICBbdGl0bGVdPVwiJ0NPTU1PTi5OQU1FRF9GSUxURVIuU0FWRScgfCB0cmFuc2xhdGVcIlxuICAgICAgKGNsaWNrKT1cInNhdmUoKVwiXG4gICAgICA+XG4gICAgICA8bWF0LWljb24+c2F2ZTwvbWF0LWljb24+XG4gICAgICA8bWF0LWljb24gKm5nSWY9XCJpc05ld1wiIGNsYXNzPVwiaWNvbi1zZWNvbmRhcnlcIiBzdHlsZT1cImxlZnQ6IDEycHg7IHRvcDogMHB4XCI+YWRkPC9tYXQtaWNvbj5cbiAgPC9idXR0b24+XG4gIDxidXR0b25cbiAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgW2Rpc2FibGVkXT1cImRlbGV0ZURpc2FibGVkXCJcbiAgICAgIFt0aXRsZV09XCInQ09NTU9OLk5BTUVEX0ZJTFRFUi5ERUxFVEUnIHwgdHJhbnNsYXRlXCJcbiAgICAgIChjbGljayk9XCJkZWxldGUoKVwiXG4gICAgICA+XG4gICAgICA8bWF0LWljb24+ZGVsZXRlPC9tYXQtaWNvbj5cbiAgPC9idXR0b24+XG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIFttYXRNZW51VHJpZ2dlckZvcl09XCJtb3JlTWVudVwiPlxuICAgIDxtYXQtaWNvbj5tb3JlX3ZlcnQ8L21hdC1pY29uPlxuICA8L2J1dHRvbj5cbiAgPG1hdC1tZW51ICNtb3JlTWVudT1cIm1hdE1lbnVcIj5cbiAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cImV4cG9ydCgpXCIgW2Rpc2FibGVkXT1cImlzTmV3XCI+XG4gICAgICA8aW9uLWxhYmVsPlxuICAgICAgICA8bWF0LWljb24+ZmlsZV9kb3dubG9hZDwvbWF0LWljb24+XG4gICAgICAgIDxzcGFuPnt7ICdDT01NT04uTkFNRURfRklMVEVSLkVYUE9SVCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICA8L2lvbi1sYWJlbD5cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cImltcG9ydCgkZXZlbnQpXCI+XG4gICAgICA8aW9uLWxhYmVsPlxuICAgICAgICA8bWF0LWljb24+ZmlsZV91cGxvYWQ8L21hdC1pY29uPlxuICAgICAgICA8c3Bhbj57eyAnQ09NTU9OLk5BTUVEX0ZJTFRFUi5JTVBPUlQnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgPC9pb24tbGFiZWw+XG4gICAgPC9idXR0b24+XG4gIDwvbWF0LW1lbnU+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
264
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFtZWQtZmlsdGVyLXNlbGVjdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL25hbWVkLWZpbHRlci9uYW1lZC1maWx0ZXItc2VsZWN0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvbmFtZWQtZmlsdGVyL25hbWVkLWZpbHRlci1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUVOLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDaEQsT0FBTyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDakcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFFdEYsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBb0MsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckYsT0FBTyxFQUFFLHdCQUF3QixFQUF3RSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hJLE9BQU8sRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7O0FBUzFELE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxPQUFZO0lBb0N2QztJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBRUE7SUF6Q08sU0FBUyxHQUFHLHlCQUF5QixDQUFDO0lBQ3RDLE1BQU0sQ0FBVTtJQUUz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Q0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsaUJBQWlCLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxDQUFDO1FBQ3BELENBQUM7SUFDSCxDQUFDO0lBRVMsZUFBZSxDQUFDLEtBQWtCO1FBQzFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3hDLENBQUM7dUdBL05VLG1CQUFtQiw2S0F5Q3BCLHdCQUF3QjsyRkF6Q3ZCLG1CQUFtQix1bUJBaUNuQixvQkFBb0IscUZDaEVqQyw0ckVBK0RBOzsyRkRoQ2EsbUJBQW1CO2tCQU4vQixTQUFTOytCQUNFLDJCQUEyQixtQkFHcEIsdUJBQXVCLENBQUMsTUFBTTs7MEJBMkM1QyxNQUFNOzJCQUFDLHdCQUF3Qjt5Q0FsQ3JCLFVBQVU7c0JBQXRCLEtBQUs7Z0JBV0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUVHLHFCQUFxQjtzQkFBN0IsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBRUksY0FBYztzQkFBdkIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNO2dCQUU0QyxpQkFBaUI7c0JBQW5FLFNBQVM7dUJBQUMsb0JBQW9CLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5qZWN0LFxuICBJbmplY3RvcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1CdWlsZGVyIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUG9wb3ZlckNvbnRyb2xsZXIsIFRvYXN0Q29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7IEFwcEZvcm0gfSBmcm9tICcuLi8uLi9jb3JlL2Zvcm0vZm9ybS5jbGFzcyc7XG5pbXBvcnQgeyBGaWxlc1V0aWxzIH0gZnJvbSAnLi4vZmlsZS9maWxlLnV0aWxzJztcbmltcG9ydCB7IGlzRW1wdHlBcnJheSwgaXNOaWxPckJsYW5rLCBpc05pbE9yTmFOLCBpc05vdE5pbCwgaXNOb3ROaWxPckJsYW5rIH0gZnJvbSAnLi4vZnVuY3Rpb25zJztcbmltcG9ydCB7IE1hdEF1dG9jb21wbGV0ZUZpZWxkIH0gZnJvbSAnLi4vbWF0ZXJpYWwvYXV0b2NvbXBsZXRlL21hdGVyaWFsLmF1dG9jb21wbGV0ZSc7XG5pbXBvcnQgeyBNYXRBdXRvY29tcGxldGVGaWVsZENvbmZpZyB9IGZyb20gJy4uL21hdGVyaWFsL2F1dG9jb21wbGV0ZS9tYXRlcmlhbC5hdXRvY29tcGxldGUuY29uZmlnJztcbmltcG9ydCB7IFRvYXN0cyB9IGZyb20gJy4uL3RvYXN0L3RvYXN0cyc7XG5pbXBvcnQgeyBJTmFtZWRGaWx0ZXIsIElOYW1lZEZpbHRlckZpbHRlciwgTmFtZWRGaWx0ZXIgfSBmcm9tICcuL25hbWVkLWZpbHRlci5tb2RlbCc7XG5pbXBvcnQgeyBBUFBfTkFNRURfRklMVEVSX1NFUlZJQ0UsIElOYW1lZEZpbHRlclNlcnZpY2UsIE5hbWVkRmlsdGVyTG9hZE9wdGlvbnMsIE5hbWVkRmlsdGVyV2F0Y2hPcHRpb25zIH0gZnJvbSAnLi9uYW1lZC1maWx0ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRBcHBlYXJhbmNlLCBTdWJzY3JpcHRTaXppbmcgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLW5hbWVkLWZpbHRlci1zZWxlY3RvcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9uYW1lZC1maWx0ZXItc2VsZWN0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9uYW1lZC1maWx0ZXItc2VsZWN0b3IuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE5hbWVkRmlsdGVyU2VsZWN0b3IgZXh0ZW5kcyBBcHBGb3JtPGFueT4gaW1wbGVtZW50cyBPbkluaXQge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgbG9nUHJlZml4ID0gJ1tuYW1lZC1maWx0ZXItc2VsZWN0b3JdJztcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IG1vYmlsZTogYm9vbGVhbjtcblxuICBwcml2YXRlIF9lbnRpdHlOYW1lOiBzdHJpbmc7XG4gIHByaXZhdGUgX2RlbGV0ZURpc2FibGVkID0gZmFsc2U7XG5cbiAgQElucHV0KCkgc2V0IGVudGl0eU5hbWUoZW50aXR5TmFtZTogc3RyaW5nKSB7XG4gICAgaWYgKCFlbnRpdHlOYW1lIHx8IHRoaXMuX2VudGl0eU5hbWUgPT09IGVudGl0eU5hbWUpIHJldHVybjtcbiAgICB0aGlzLl9lbnRpdHlOYW1lID0gZW50aXR5TmFtZTtcbiAgICAvLyBVcGRhdGUgYXV0b2NvbXBsZXRlIGZpbHRlclxuICAgIHRoaXMuYXV0b2NvbXBsZXRlRmllbGQuZmlsdGVyID0geyAuLi50aGlzLmF1dG9jb21wbGV0ZUZpZWxkLmZpbHRlciwgLi4udGhpcy5nZXRGaWx0ZXIoKSB9O1xuICB9XG5cbiAgZ2V0IGVudGl0eU5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fZW50aXR5TmFtZTtcbiAgfVxuXG4gIEBJbnB1dCgpIGFwcGVhcmFuY2U6IE1hdEZvcm1GaWVsZEFwcGVhcmFuY2U7XG4gIEBJbnB1dCgpIHN1YnNjcmlwdFNpemluZzogU3Vic2NyaXB0U2l6aW5nO1xuXG4gIEBJbnB1dCgpIGZpbHRlckNvbnRlbnRQcm92aWRlcjogKCkgPT4gYW55O1xuICBASW5wdXQoKSBmaWx0ZXJJbXBvcnRDYWxsYmFjazogKG5hbWVkRmlsdGVyOiBOYW1lZEZpbHRlcikgPT4gUHJvbWlzZTxOYW1lZEZpbHRlcj47XG4gIEBJbnB1dCgpIGZpbHRlckZvcm1EaXJ0eTogYm9vbGVhbjtcbiAgQElucHV0KCkgc2hvd0J1dHRvbnMgPSB0cnVlO1xuICBASW5wdXQoKSBleHBvcnRGaWxlTmFtZVByZWZpeCA9ICdmaWx0ZXInO1xuICBASW5wdXQoKSBhdXRvY29tcGxldGVDb25maWc6IE1hdEF1dG9jb21wbGV0ZUZpZWxkQ29uZmlnO1xuICBASW5wdXQoKSBkcm9wQnV0dG9uVGl0bGU6IHN0cmluZztcbiAgQElucHV0KCkgY2xlYXJCdXR0b25UaXRsZTogc3RyaW5nO1xuXG4gIEBPdXRwdXQoKSBmaWx0ZXJTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZmlsdGVyRGVsZXRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8TmFtZWRGaWx0ZXI+KCk7XG5cbiAgQFZpZXdDaGlsZChNYXRBdXRvY29tcGxldGVGaWVsZCwgeyBzdGF0aWM6IHRydWUgfSkgYXV0b2NvbXBsZXRlRmllbGQ6IE1hdEF1dG9jb21wbGV0ZUZpZWxkO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJvdGVjdGVkIGZvcm1CdWlsZGVyOiBVbnR5cGVkRm9ybUJ1aWxkZXIsXG4gICAgcHJvdGVjdGVkIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcm90ZWN0ZWQgdG9hc3RDb250cm9sbGVyOiBUb2FzdENvbnRyb2xsZXIsXG4gICAgcHJvdGVjdGVkIHBvcG92ZXJDb250cm9sbGVyOiBQb3BvdmVyQ29udHJvbGxlcixcbiAgICBASW5qZWN0KEFQUF9OQU1FRF9GSUxURVJfU0VSVklDRSlcbiAgICBwcm90ZWN0ZWQgZGF0YVNlcnZpY2U6IElOYW1lZEZpbHRlclNlcnZpY2U8SU5hbWVkRmlsdGVyPGFueT4sIElOYW1lZEZpbHRlckZpbHRlcjxhbnksIGFueT4sIE5hbWVkRmlsdGVyV2F0Y2hPcHRpb25zLCBOYW1lZEZpbHRlckxvYWRPcHRpb25zPlxuICApIHtcbiAgICBzdXBlcihpbmplY3RvciwgZm9ybUJ1aWxkZXIuZ3JvdXAoeyBuYW1lZEZpbHRlcjogW251bGxdIH0pKTtcbiAgICB0aGlzLm1vYmlsZSA9IHRoaXMuc2V0dGluZ3MubW9iaWxlO1xuICB9XG5cbiAgZ2V0IGlzTmV3KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc05pbE9yTmFOKHRoaXMudmFsdWU/Lm5hbWVkRmlsdGVyPy5pZCk7XG4gIH1cblxuICBnZXQgc2F2ZURpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5kaXJ0eSB8fCBpc05pbE9yQmxhbmsodGhpcy52YWx1ZS5uYW1lZEZpbHRlcik7XG4gIH1cblxuICBnZXQgZGVsZXRlRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2RlbGV0ZURpc2FibGVkIHx8IHRoaXMuaXNOZXc7XG4gIH1cblxuICBnZXQgZGlydHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHN1cGVyLmRpcnR5IHx8IHRoaXMuZmlsdGVyRm9ybURpcnR5O1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5yZWdpc3RlckF1dG9jb21wbGV0ZUZpZWxkKCduYW1lZEZpbHRlcicsIHtcbiAgICAgIHN1Z2dlc3RGbjogKHZhbHVlLCBmaWx0ZXIpID0+IHRoaXMuZGF0YVNlcnZpY2Uuc3VnZ2VzdCh2YWx1ZSwgZmlsdGVyKSxcbiAgICAgIGF0dHJpYnV0ZXM6IFsnbmFtZSddLFxuICAgICAgZmlsdGVyOiB0aGlzLmdldEZpbHRlcigpLFxuICAgICAgLi4udGhpcy5hdXRvY29tcGxldGVDb25maWcsXG4gICAgfSk7XG5cbiAgICB0aGlzLnJlZ2lzdGVyU3Vic2NyaXB0aW9uKFxuICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzLm5hbWVkRmlsdGVyLnZhbHVlQ2hhbmdlcy5waXBlKGRlYm91bmNlVGltZSgxMDApLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKS5zdWJzY3JpYmUoKHZhbHVlKSA9PiB0aGlzLm9uRmlsdGVyQ2hhbmdlcyh2YWx1ZSkpXG4gICAgKTtcbiAgfVxuXG4gIGdldEZpbHRlcigpOiBhbnkge1xuICAgIHJldHVybiB7XG4gICAgICBlbnRpdHlOYW1lOiB0aGlzLmVudGl0eU5hbWUsXG4gICAgfTtcbiAgfVxuXG4gIG1hcmtGb3JDaGVjaygpIHtcbiAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgYXN5bmMgc2F2ZShldmVudDogVUlFdmVudCkge1xuICAgIGlmIChldmVudD8uZGVmYXVsdFByZXZlbnRlZCkgcmV0dXJuO1xuICAgIGV2ZW50Py5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgY29uc3QgZmlsdGVyQ29udGVudCA9IHRoaXMuZmlsdGVyQ29udGVudFByb3ZpZGVyKCk7XG5cbiAgICBpZiAodGhpcy5kZWJ1ZykgY29uc29sZS5kZWJ1ZyhgJHt0aGlzLmxvZ1ByZWZpeH0gc2F2ZSBuYW1lZCBmaWx0ZXJgLCBmaWx0ZXJDb250ZW50KTtcblxuICAgIGlmIChpc05pbE9yQmxhbmsoZmlsdGVyQ29udGVudCkpIHJldHVybjtcblxuICAgIGNvbnN0IGN1cnJlbnRTZWxlY3RlZCA9IHRoaXMudmFsdWUubmFtZWRGaWx0ZXI7XG4gICAgbGV0IHJlc3VsdDogTmFtZWRGaWx0ZXI7XG5cbiAgICBpZiAodHlwZW9mIGN1cnJlbnRTZWxlY3RlZCA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHJlc3VsdCA9IE5hbWVkRmlsdGVyLmZyb21PYmplY3Qoe1xuICAgICAgICBuYW1lOiBjdXJyZW50U2VsZWN0ZWQsXG4gICAgICAgIGVudGl0eU5hbWU6IHRoaXMuZW50aXR5TmFtZSxcbiAgICAgICAgY29udGVudDogZmlsdGVyQ29udGVudCxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXN1bHQgPSBOYW1lZEZpbHRlci5mcm9tT2JqZWN0KHtcbiAgICAgICAgLi4uY3VycmVudFNlbGVjdGVkLFxuICAgICAgICBjb250ZW50OiBmaWx0ZXJDb250ZW50LFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29uc3Qgc2F2ZWRFbnRpdHkgPSBhd2FpdCB0aGlzLmRhdGFTZXJ2aWNlLnNhdmUocmVzdWx0KTtcbiAgICB0aGlzLnNldENvbnRyb2xWYWx1ZShzYXZlZEVudGl0eSk7XG4gICAgdGhpcy5hdXRvY29tcGxldGVGaWVsZC5yZWxvYWRJdGVtcygpO1xuICAgIHRoaXMubWFya0FzUHJpc3RpbmUoKTtcbiAgfVxuXG4gIGFzeW5jIGRlbGV0ZShldmVudD86IFVJRXZlbnQpIHtcbiAgICBpZiAoZXZlbnQ/LmRlZmF1bHRQcmV2ZW50ZWQpIHJldHVybjtcbiAgICBldmVudD8ucHJldmVudERlZmF1bHQoKTtcblxuICAgIGNvbnN0IGRhdGEgPSB0aGlzLnZhbHVlLm5hbWVkRmlsdGVyO1xuXG4gICAgaWYgKHRoaXMuZGVidWcpIGNvbnNvbGUuZGVidWcoYCR7dGhpcy5sb2dQcmVmaXh9IGRlbGV0ZSBuYW1lZCBmaWx0ZXJgLCBkYXRhKTtcblxuICAgIGlmICh0eXBlb2YgZGF0YSA9PT0gJ29iamVjdCcpIHtcbiAgICAgIGF3YWl0IHRoaXMuZGF0YVNlcnZpY2UuZGVsZXRlKGRhdGEpO1xuICAgICAgdGhpcy5yZXNldCgpO1xuICAgICAgdGhpcy5hdXRvY29tcGxldGVGaWVsZC5yZWxvYWRJdGVtcygpO1xuICAgICAgdGhpcy5hdXRvY29tcGxldGVGaWVsZC5ibHVycmVkLmVtaXQoKTtcbiAgICAgIHRoaXMuZmlsdGVyRGVsZXRlZC5lbWl0KGRhdGEpO1xuICAgICAgVG9hc3RzLnNob3codGhpcy50b2FzdENvbnRyb2xsZXIsIHRoaXMudHJhbnNsYXRlLCB7XG4gICAgICAgIHR5cGU6ICdpbmZvJyxcbiAgICAgICAgbWVzc2FnZTogJ0NPTU1PTi5OQU1FRF9GSUxURVIuREVMRVRFRCcsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBleHBvcnQoZXZlbnQ/OiBVSUV2ZW50KSB7XG4gICAgaWYgKGV2ZW50Py5kZWZhdWx0UHJldmVudGVkKSByZXR1cm47XG4gICAgZXZlbnQ/LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICBjb25zdCBpZCA9IHRoaXMuYXV0b2NvbXBsZXRlRmllbGQudmFsdWU/LmlkO1xuXG4gICAgaWYgKHRoaXMuZGVidWcpIGNvbnNvbGUuZGVidWcoYCR7dGhpcy5sb2dQcmVmaXh9IGV4cG9ydCBuYW1lZCBmaWx0ZXJgLCBpZCk7XG5cbiAgICBpZiAoIWlkKSByZXR1cm47XG5cbiAgICBjb25zdCBkYXRhID0gYXdhaXQgdGhpcy5kYXRhU2VydmljZS5sb2FkKGlkLCB7IHdpdGhDb250ZW50OiB0cnVlIH0pO1xuXG4gICAgaWYgKGRhdGEpIHtcbiAgICAgIEZpbGVzVXRpbHMud3JpdGVUZXh0VG9GaWxlKEpTT04uc3RyaW5naWZ5KGRhdGEsIG51bGwsIDIpLCB7XG4gICAgICAgIHR5cGU6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgICAgZmlsZW5hbWU6IGAke3RoaXMuZXhwb3J0RmlsZU5hbWVQcmVmaXh9LSR7ZGF0YS5lbnRpdHlOYW1lfS0ke2RhdGEubmFtZX0uanNvbmAsXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgVG9hc3RzLnNob3codGhpcy50b2FzdENvbnRyb2xsZXIsIHRoaXMudHJhbnNsYXRlLCB7XG4gICAgICAgIHR5cGU6ICdlcnJvcicsXG4gICAgICAgIG1lc3NhZ2U6ICdDT01NT04uTkFNRURfRklMVEVSLk5PVF9GT1VORCcsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBpbXBvcnQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgaWYgKGV2ZW50Py5kZWZhdWx0UHJldmVudGVkKSByZXR1cm47XG4gICAgZXZlbnQ/LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBGaWxlc1V0aWxzLnNob3dVcGxvYWRQb3BvdmVyKHRoaXMucG9wb3ZlckNvbnRyb2xsZXIsIGV2ZW50LCB7XG4gICAgICB1cGxvYWRGbjogKGZpbGUpID0+IEZpbGVzVXRpbHMucmVhZEFzVGV4dChmaWxlKSxcbiAgICAgIHRpdGxlOiAnQ09NTU9OLk5BTUVEX0ZJTFRFUi5JTVBPUlQnLFxuICAgICAgZmlsZUV4dGVuc2lvbjogJy5qc29uJyxcbiAgICAgIHVuaXF1ZUZpbGU6IHRydWUsXG4gICAgICBpbnN0YW50VXBsb2FkOiB0cnVlLFxuICAgIH0pO1xuICAgIGlmICghcmVzdWx0IHx8IGlzRW1wdHlBcnJheShyZXN1bHQuZGF0YSkpIHJldHVybjtcbiAgICB0cnkge1xuICAgICAgbGV0IGRhdGEgPSBKU09OLnBhcnNlKHJlc3VsdC5kYXRhWzBdLnJlc3BvbnNlLmJvZHkpO1xuICAgICAgaWYgKHRoaXMuZGVidWcpIGNvbnNvbGUuZGVidWcoYCR7dGhpcy5sb2dQcmVmaXh9IGltcG9ydCBuYW1lZCBmaWx0ZXJgLCBkYXRhKTtcbiAgICAgIGlmICh0aGlzLmZpbHRlckltcG9ydENhbGxiYWNrKSB7XG4gICAgICAgIGRhdGEgPSBhd2FpdCB0aGlzLmZpbHRlckltcG9ydENhbGxiYWNrKGRhdGEpO1xuICAgICAgfVxuICAgICAgdGhpcy5zZXRDb250cm9sVmFsdWUoZGF0YSk7XG4gICAgICB0aGlzLmZpbHRlclNlbGVjdGVkLmVtaXQoZGF0YS5jb250ZW50KTtcbiAgICAgIHRoaXMubWFya0FzRGlydHkoKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGUpO1xuICAgICAgVG9hc3RzLnNob3codGhpcy50b2FzdENvbnRyb2xsZXIsIHRoaXMudHJhbnNsYXRlLCB7XG4gICAgICAgIHR5cGU6ICdlcnJvcicsXG4gICAgICAgIG1lc3NhZ2U6ICdDT01NT04uTkFNRURfRklMVEVSLklNUE9SVF9GQUlMRUQnLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIG9uRmlsdGVyQ2hhbmdlcyh2YWx1ZTogTmFtZWRGaWx0ZXIgfCBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5kZWJ1ZykgY29uc29sZS5kZWJ1ZyhgJHt0aGlzLmxvZ1ByZWZpeH0gZmlsdGVyIGNoYW5nZWAsIHZhbHVlKTtcblxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmIHZhbHVlPy5pZCAmJiBpc05vdE5pbCh2YWx1ZS5pZCkpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB0aGlzLmRhdGFTZXJ2aWNlLmxvYWQodmFsdWUuaWQsIHsgd2l0aENvbnRlbnQ6IHRydWUgfSk7XG4gICAgICAgIHRoaXMuX2RlbGV0ZURpc2FibGVkID0gIXRoaXMuZGF0YVNlcnZpY2UuY2FuVXNlcldyaXRlKGRhdGEpO1xuXG4gICAgICAgIGNvbnN0IGZpbHRlciA9IGlzTm90TmlsT3JCbGFuayhkYXRhPy5jb250ZW50KSA/IGRhdGEuY29udGVudCA6IG51bGw7XG4gICAgICAgIGlmIChmaWx0ZXIpIHtcbiAgICAgICAgICB0aGlzLmZpbHRlclNlbGVjdGVkLmVtaXQoZmlsdGVyKTtcbiAgICAgICAgICB0aGlzLm1hcmtBc1ByaXN0aW5lKCk7XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgVG9hc3RzLnNob3codGhpcy50b2FzdENvbnRyb2xsZXIsIHRoaXMudHJhbnNsYXRlLCB7XG4gICAgICAgICAgdHlwZTogJ2Vycm9yJyxcbiAgICAgICAgICBtZXNzYWdlOiAnQ09NTU9OLk5BTUVEX0ZJTFRFUi5MT0FEX0ZBSUxFRCcsXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmF1dG9jb21wbGV0ZUZpZWxkLmFwcGx5SW1wbGljaXRWYWx1ZSA9IGZhbHNlO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmF1dG9jb21wbGV0ZUZpZWxkLmFwcGx5SW1wbGljaXRWYWx1ZSA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBzZXRDb250cm9sVmFsdWUodmFsdWU6IE5hbWVkRmlsdGVyKSB7XG4gICAgdGhpcy5zZXRWYWx1ZSh7IG5hbWVkRmlsdGVyOiB2YWx1ZSB9KTtcbiAgICB0aGlzLmF1dG9jb21wbGV0ZUZpZWxkLmJsdXJyZWQuZW1pdCgpO1xuICB9XG59XG4iLCI8aW9uLWdyaWQgY2xhc3M9XCJpb24tbm8tcGFkZGluZ1wiPlxuICA8aW9uLXJvdz5cbiAgICA8aW9uLWNvbD5cbiAgICAgIDxmb3JtIGNsYXNzPVwiZm9ybS1jb250YWluZXJcIiBbZm9ybUdyb3VwXT1cImZvcm1cIj5cbiAgICAgICAgPG1hdC1hdXRvY29tcGxldGUtZmllbGRcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cIm5hbWVkRmlsdGVyXCJcbiAgICAgICAgICAgIFtjb25maWddPVwiYXV0b2NvbXBsZXRlRmllbGRzLm5hbWVkRmlsdGVyXCJcbiAgICAgICAgICAgIFthcHBlYXJhbmNlXT1cImFwcGVhcmFuY2VcIlxuICAgICAgICAgICAgW3N1YnNjcmlwdFNpemluZ109XCJzdWJzY3JpcHRTaXppbmdcIlxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidDT01NT04uTkFNRURfRklMVEVSLlRJVExFJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICBbY2xlYXJhYmxlXT1cInRydWVcIlxuICAgICAgICAgICAgW2Ryb3BCdXR0b25UaXRsZV09XCJkcm9wQnV0dG9uVGl0bGVcIlxuICAgICAgICAgICAgW2NsZWFyQnV0dG9uVGl0bGVdPVwiY2xlYXJCdXR0b25UaXRsZVwiXG4gICAgICAgICAgICBbYXBwbHlJbXBsaWNpdFZhbHVlXT1cImZhbHNlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgbWF0U3VmZml4ICpuZ0lmPVwic2hvd0J1dHRvbnMgJiYgIW1vYmlsZVwiPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYnV0dG9uc1wiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbWF0LWF1dG9jb21wbGV0ZS1maWVsZD5cbiAgICAgIDwvZm9ybT5cbiAgICA8L2lvbi1jb2w+XG4gICAgPGlvbi1jb2wgc2l6ZT1cImF1dG9cIiAqbmdJZj1cIm1vYmlsZVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImJ1dHRvbnNcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2lvbi1jb2w+XG4gIDwvaW9uLXJvdz5cbjwvaW9uLWdyaWQ+XG5cblxuXG48bmctdGVtcGxhdGUgI2J1dHRvbnM+XG4gIDxidXR0b25cbiAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgW2NvbG9yXT1cIidwcmltYXJ5J1wiXG4gICAgICBbZGlzYWJsZWRdPVwic2F2ZURpc2FibGVkXCJcbiAgICAgIFt0aXRsZV09XCInQ09NTU9OLk5BTUVEX0ZJTFRFUi5TQVZFJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAoY2xpY2spPVwic2F2ZSgkZXZlbnQpXCJcbiAgICAgID5cbiAgICAgIDxtYXQtaWNvbj5zYXZlPC9tYXQtaWNvbj5cbiAgICAgIDxtYXQtaWNvbiAqbmdJZj1cImlzTmV3XCIgY2xhc3M9XCJpY29uLXNlY29uZGFyeVwiIHN0eWxlPVwibGVmdDogMTJweDsgdG9wOiAwcHhcIj5hZGQ8L21hdC1pY29uPlxuICA8L2J1dHRvbj5cbiAgPGJ1dHRvblxuICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICBbZGlzYWJsZWRdPVwiZGVsZXRlRGlzYWJsZWRcIlxuICAgICAgW3RpdGxlXT1cIidDT01NT04uTkFNRURfRklMVEVSLkRFTEVURScgfCB0cmFuc2xhdGVcIlxuICAgICAgKGNsaWNrKT1cImRlbGV0ZSgkZXZlbnQpXCJcbiAgICAgID5cbiAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICA8L2J1dHRvbj5cbiAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1vcmVNZW51XCIgKGNsaWNrKT1cIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpXCI+XG4gICAgPG1hdC1pY29uPm1vcmVfdmVydDwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuICA8bWF0LW1lbnUgI21vcmVNZW51PVwibWF0TWVudVwiPlxuICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwiZXhwb3J0KCRldmVudClcIiBbZGlzYWJsZWRdPVwiaXNOZXdcIj5cbiAgICAgIDxtYXQtaWNvbj5maWxlX2Rvd25sb2FkPC9tYXQtaWNvbj5cbiAgICAgIDxpb24tbGFiZWw+e3sgJ0NPTU1PTi5OQU1FRF9GSUxURVIuRVhQT1JUJyB8IHRyYW5zbGF0ZSB9fTwvaW9uLWxhYmVsPlxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwiaW1wb3J0KCRldmVudClcIj5cbiAgICAgIDxtYXQtaWNvbj5maWxlX3VwbG9hZDwvbWF0LWljb24+XG4gICAgICA8aW9uLWxhYmVsPnt7ICdDT01NT04uTkFNRURfRklMVEVSLklNUE9SVCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvaW9uLWxhYmVsPlxuICAgIDwvYnV0dG9uPlxuICA8L21hdC1tZW51PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -69,4 +69,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
|
|
|
69
69
|
type: Injectable,
|
|
70
70
|
args: [{ providedIn: 'root' }]
|
|
71
71
|
}], ctorParameters: () => [{ type: i1.MomentDateAdapter }, { type: i2.TranslateService }] });
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1mb3JtYXQucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL3BpcGVzL2RhdGUtZm9ybWF0LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBYSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxRQUFRLEVBQVUsTUFBTSxRQUFRLENBQUM7QUFDMUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sY0FBYyxDQUFDOzs7O0FBS2hELE1BQU0sT0FBZ0Isa0JBQWtCO0lBTTFCO0lBQ0E7SUFOSixXQUFXLENBQVM7SUFDcEIsZUFBZSxDQUFTO0lBQ3hCLHNCQUFzQixDQUFTO0lBRXZDLFlBQ1ksV0FBOEIsRUFDOUIsU0FBMkI7UUFEM0IsZ0JBQVcsR0FBWCxXQUFXLENBQW1CO1FBQzlCLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBRXJDLE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxxQkFBcUIsRUFBRSwwQkFBMEIsRUFBRSxrQ0FBa0MsQ0FBQyxDQUFDLENBQUM7UUFDaEksSUFBSSxDQUFDLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBNkIsRUFBRSxJQUE4RDtRQUNyRyxNQUFNLE9BQU8sR0FDWCxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3pJLG1FQUFtRTtRQUNuRSxNQUFNLElBQUksR0FBVyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFDL0YsT0FBTyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDaEUsQ0FBQztJQUVTLG1CQUFtQixDQUFDLFlBQWlCO1FBQzdDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFlBQVksRUFBRSxxQkFBcUIsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUNoRyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLEVBQUUsMEJBQTBCLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztRQUMvRyxJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFlBQVksRUFBRSxrQ0FBa0MsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO0lBQ25JLENBQUM7SUFFUyxvQkFBb0IsQ0FBQyxZQUFpQixFQUFFLEdBQVcsRUFBRSxZQUFvQjtRQUNqRixPQUFPLFlBQVksQ0FBQyxHQUFHLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDO0lBQ3RFLENBQUM7Q0FDRjtBQUtELE1BQU0sT0FBTyxjQUFlLFNBQVEsa0JBQWtCO0lBQ3BELFlBQVksV0FBOEIsRUFBRSxTQUEyQjtRQUNyRSxLQUFLLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7dUdBSFUsY0FBYztxR0FBZCxjQUFjOzsyRkFBZCxjQUFjO2tCQUgxQixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxZQUFZO2lCQUNuQjs7QUFRRCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsa0JBQWtCO0lBQy9DLGFBQWEsQ0FBZTtJQUVwQyxZQUFZLFdBQThCLEVBQUUsU0FBMkI7UUFDckUsS0FBSyxDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUU5QiwwREFBMEQ7UUFDMUQsSUFBSSxDQUFDLGFBQWEsR0FBRyxTQUFTO2FBQzNCLEdBQUcsQ0FBQyxDQUFDLHFCQUFxQixFQUFFLDBCQUEwQixFQUFFLGtDQUFrQyxDQUFDLENBQUM7YUFDNUYsU0FBUyxDQUFDLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELE1BQU0sQ0FBQyxJQUFZLEVBQUUsT0FBWTtRQUMvQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQWEsRUFBRSxXQUFnQjtRQUNuQyxPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsV0FBVyxJQUFJLGdCQUFnQixDQUFDLENBQUM7SUFDbEcsQ0FBQzt1R0F0QlUsaUJBQWlCOzJHQUFqQixpQkFBaUIsY0FESixNQUFNOzsyRkFDbkIsaUJBQWlCO2tCQUQ3QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9uRGVzdHJveSwgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaXNNb21lbnQsIE1vbWVudCB9IGZyb20gJ21vbWVudCc7XG5pbXBvcnQgeyBEQVRFX0lTT19QQVRURVJOIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IE1vbWVudERhdGVBZGFwdGVyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwtbW9tZW50LWFkYXB0ZXInO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdERhdGVGb3JtYXQge1xuICBwcml2YXRlIGRhdGVQYXR0ZXJuOiBzdHJpbmc7XG4gIHByaXZhdGUgZGF0ZVRpbWVQYXR0ZXJuOiBzdHJpbmc7XG4gIHByaXZhdGUgZGF0ZVRpbWVTZWNvbmRzUGF0dGVybjogc3RyaW5nO1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgZGF0ZUFkYXB0ZXI6IE1vbWVudERhdGVBZGFwdGVyLFxuICAgIHByb3RlY3RlZCB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2VcbiAgKSB7XG4gICAgY29uc3QgdHJhbnNsYXRpb25zID0gdHJhbnNsYXRlLmluc3RhbnQoWydDT01NT04uREFURV9QQVRURVJOJywgJ0NPTU1PTi5EQVRFX1RJTUVfUEFUVEVSTicsICdDT01NT04uREFURV9USU1FX1NFQ09ORFNfUEFUVEVSTiddKTtcbiAgICB0aGlzLl91cGRhdGVUcmFuc2xhdGlvbnModHJhbnNsYXRpb25zKTtcbiAgfVxuXG4gIHRyYW5zZm9ybSh2YWx1ZTogc3RyaW5nIHwgTW9tZW50IHwgRGF0ZSwgYXJncz86IHsgcGF0dGVybj86IHN0cmluZzsgdGltZT86IGJvb2xlYW47IHNlY29uZHM/OiBib29sZWFuIH0pOiBzdHJpbmcge1xuICAgIGNvbnN0IHBhdHRlcm4gPVxuICAgICAgKGFyZ3MgJiYgYXJncy5wYXR0ZXJuKSB8fCAoYXJncyAmJiBhcmdzLnRpbWUgPyAoYXJncy5zZWNvbmRzID8gdGhpcy5kYXRlVGltZVNlY29uZHNQYXR0ZXJuIDogdGhpcy5kYXRlVGltZVBhdHRlcm4pIDogdGhpcy5kYXRlUGF0dGVybik7XG4gICAgLy8gS2VlcCBvcmlnaW5hbCBtb21lbnQgb2JqZWN0LCBpZiBwb3NzaWJsZSAodG8gYXZvaWQgYSBjb252ZXJzaW9uKVxuICAgIGNvbnN0IGRhdGU6IE1vbWVudCA9IGlzTW9tZW50KHZhbHVlKSA/IHZhbHVlIDogdGhpcy5kYXRlQWRhcHRlci5wYXJzZSh2YWx1ZSwgREFURV9JU09fUEFUVEVSTik7XG4gICAgcmV0dXJuIChkYXRlICYmIHRoaXMuZGF0ZUFkYXB0ZXIuZm9ybWF0KGRhdGUsIHBhdHRlcm4pKSB8fCAnJztcbiAgfVxuXG4gIHByb3RlY3RlZCBfdXBkYXRlVHJhbnNsYXRpb25zKHRyYW5zbGF0aW9uczogYW55KSB7XG4gICAgdGhpcy5kYXRlUGF0dGVybiA9IHRoaXMuX2dldFRyYW5zbGF0aW9uVmFsdWUodHJhbnNsYXRpb25zLCAnQ09NTU9OLkRBVEVfUEFUVEVSTicsICdERC9NTS9ZWVlZJyk7XG4gICAgdGhpcy5kYXRlVGltZVBhdHRlcm4gPSB0aGlzLl9nZXRUcmFuc2xhdGlvblZhbHVlKHRyYW5zbGF0aW9ucywgJ0NPTU1PTi5EQVRFX1RJTUVfUEFUVEVSTicsICdERC9NTS9ZWVlZIEhIOm1tJyk7XG4gICAgdGhpcy5kYXRlVGltZVNlY29uZHNQYXR0ZXJuID0gdGhpcy5fZ2V0VHJhbnNsYXRpb25WYWx1ZSh0cmFuc2xhdGlvbnMsICdDT01NT04uREFURV9USU1FX1NFQ09ORFNfUEFUVEVSTicsICdERC9NTS9ZWVlZIEhIOm1tOnNzJyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgX2dldFRyYW5zbGF0aW9uVmFsdWUodHJhbnNsYXRpb25zOiBhbnksIGtleTogc3RyaW5nLCBkZWZhdWx0VmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRyYW5zbGF0aW9uc1trZXldICE9PSBrZXkgPyB0cmFuc2xhdGlvbnNba2V5XSA6IGRlZmF1bHRWYWx1ZTtcbiAgfVxufVxuXG5AUGlwZSh7XG4gIG5hbWU6ICdkYXRlRm9ybWF0Jyxcbn0pXG5leHBvcnQgY2xhc3MgRGF0ZUZvcm1hdFBpcGUgZXh0ZW5kcyBBYnN0cmFjdERhdGVGb3JtYXQgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgY29uc3RydWN0b3IoZGF0ZUFkYXB0ZXI6IE1vbWVudERhdGVBZGFwdGVyLCB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHtcbiAgICBzdXBlcihkYXRlQWRhcHRlciwgdHJhbnNsYXRlKTtcbiAgfVxufVxuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIERhdGVGb3JtYXRTZXJ2aWNlIGV4dGVuZHMgQWJzdHJhY3REYXRlRm9ybWF0IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IoZGF0ZUFkYXB0ZXI6IE1vbWVudERhdGVBZGFwdGVyLCB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHtcbiAgICBzdXBlcihkYXRlQWRhcHRlciwgdHJhbnNsYXRlKTtcblxuICAgIC8vIFN1YnNjcmliZSB0byBjaGFuZ2VzIChlLmcuIHdoZW4gcGxhdGZvcm0gbm90IHJlYWR5IHlldClcbiAgICB0aGlzLl9zdWJzY3JpcHRpb24gPSB0cmFuc2xhdGVcbiAgICAgIC5nZXQoWydDT01NT04uREFURV9QQVRURVJOJywgJ0NPTU1PTi5EQVRFX1RJTUVfUEFUVEVSTicsICdDT01NT04uREFURV9USU1FX1NFQ09ORFNfUEFUVEVSTiddKVxuICAgICAgLnN1YnNjcmliZSgodHJhbnNsYXRpb25zKSA9PiB0aGlzLl91cGRhdGVUcmFuc2xhdGlvbnModHJhbnNsYXRpb25zKSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGZvcm1hdChkYXRlOiBNb21lbnQsIHBhdHRlcm46IGFueSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZGF0ZUFkYXB0ZXIuZm9ybWF0KGRhdGUsIHBhdHRlcm4pO1xuICB9XG5cbiAgcGFyc2UodmFsdWU6IHN0cmluZywgcGFyc2VGb3JtYXQ6IGFueSk6IE1vbWVudCB7XG4gICAgcmV0dXJuIGlzTW9tZW50KHZhbHVlKSA/IHZhbHVlIDogdGhpcy5kYXRlQWRhcHRlci5wYXJzZSh2YWx1ZSwgcGFyc2VGb3JtYXQgfHwgREFURV9JU09fUEFUVEVSTik7XG4gIH1cbn1cbiJdfQ==
|