@pepperi-addons/ngx-lib 0.3.9-beta.7 → 0.3.9
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/bundles/pepperi-addons-ngx-lib-date.umd.js +11 -3
- package/bundles/pepperi-addons-ngx-lib-date.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-draggable-items.umd.js +4 -2
- package/bundles/pepperi-addons-ngx-lib-draggable-items.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-files-uploader.umd.js +14 -3
- package/bundles/pepperi-addons-ngx-lib-files-uploader.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-form.umd.js +17 -8
- package/bundles/pepperi-addons-ngx-lib-form.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-icon.umd.js +40 -14
- package/bundles/pepperi-addons-ngx-lib-icon.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-image.umd.js +14 -8
- package/bundles/pepperi-addons-ngx-lib-image.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-link.umd.js +488 -0
- package/bundles/pepperi-addons-ngx-lib-link.umd.js.map +1 -0
- package/bundles/pepperi-addons-ngx-lib-list.umd.js +1 -1
- package/bundles/pepperi-addons-ngx-lib-profile-data-views-list.umd.js +14 -9
- package/bundles/pepperi-addons-ngx-lib-profile-data-views-list.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-search.umd.js +10 -3
- package/bundles/pepperi-addons-ngx-lib-search.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-select.umd.js +2 -3
- package/bundles/pepperi-addons-ngx-lib-select.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib.umd.js +25 -2
- package/bundles/pepperi-addons-ngx-lib.umd.js.map +1 -1
- package/core/customization/customization.model.d.ts +6 -0
- package/date/date.component.d.ts +1 -0
- package/date/pepperi-addons-ngx-lib-date.metadata.json +1 -1
- package/draggable-items/draggable-items.component.d.ts +2 -0
- package/draggable-items/pepperi-addons-ngx-lib-draggable-items.metadata.json +1 -1
- package/esm2015/core/common/services/utilities.service.js +4 -2
- package/esm2015/core/customization/customization.model.js +18 -2
- package/esm2015/date/date.component.js +12 -5
- package/esm2015/draggable-items/draggable-items.component.js +5 -3
- package/esm2015/files-uploader/files-uploader.component.js +15 -4
- package/esm2015/form/field-generator.component.js +2 -2
- package/esm2015/form/form.component.js +13 -5
- package/esm2015/form/form.module.js +3 -1
- package/esm2015/icon/icon-generated-all.model.js +2 -1
- package/esm2015/icon/icon-generated.model.js +5 -1
- package/esm2015/icon/icon.component.js +7 -20
- package/esm2015/icon/icon.module.js +3 -2
- package/esm2015/icon/icon.service.js +32 -0
- package/esm2015/icon/public-api.js +2 -1
- package/esm2015/image/image.component.js +15 -9
- package/esm2015/link/link.component.js +391 -0
- package/esm2015/link/link.module.js +51 -0
- package/esm2015/link/link.pipes.js +15 -0
- package/esm2015/link/pepperi-addons-ngx-lib-link.js +6 -0
- package/esm2015/link/public-api.js +6 -0
- package/esm2015/list/list-total.component.js +1 -1
- package/esm2015/profile-data-views-list/profile-data-view/profile-data-view.component.js +6 -2
- package/esm2015/profile-data-views-list/profile-data-views-card/profile-data-views-card.component.js +6 -6
- package/esm2015/profile-data-views-list/profile-data-views-list.component.js +5 -4
- package/esm2015/search/search.component.js +11 -4
- package/esm2015/select/select.component.js +3 -4
- package/fesm2015/pepperi-addons-ngx-lib-date.js +11 -4
- package/fesm2015/pepperi-addons-ngx-lib-date.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-draggable-items.js +4 -2
- package/fesm2015/pepperi-addons-ngx-lib-draggable-items.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-files-uploader.js +14 -3
- package/fesm2015/pepperi-addons-ngx-lib-files-uploader.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-form.js +15 -5
- package/fesm2015/pepperi-addons-ngx-lib-form.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-icon.js +38 -15
- package/fesm2015/pepperi-addons-ngx-lib-icon.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-image.js +14 -8
- package/fesm2015/pepperi-addons-ngx-lib-image.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-link.js +460 -0
- package/fesm2015/pepperi-addons-ngx-lib-link.js.map +1 -0
- package/fesm2015/pepperi-addons-ngx-lib-list.js +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-profile-data-views-list.js +14 -9
- package/fesm2015/pepperi-addons-ngx-lib-profile-data-views-list.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-search.js +10 -3
- package/fesm2015/pepperi-addons-ngx-lib-search.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-select.js +2 -3
- package/fesm2015/pepperi-addons-ngx-lib-select.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib.js +21 -3
- package/fesm2015/pepperi-addons-ngx-lib.js.map +1 -1
- package/files-uploader/files-uploader.component.d.ts +2 -0
- package/files-uploader/pepperi-addons-ngx-lib-files-uploader.metadata.json +1 -1
- package/form/pepperi-addons-ngx-lib-form.metadata.json +1 -1
- package/icon/icon-generated-all.model.d.ts +1 -0
- package/icon/icon-generated.model.d.ts +5 -1
- package/icon/icon.component.d.ts +3 -6
- package/icon/icon.service.d.ts +10 -0
- package/icon/pepperi-addons-ngx-lib-icon.metadata.json +1 -1
- package/icon/public-api.d.ts +1 -0
- package/image/image.component.d.ts +1 -0
- package/image/pepperi-addons-ngx-lib-image.metadata.json +1 -1
- package/link/link.component.d.ts +136 -0
- package/link/link.module.d.ts +5 -0
- package/link/link.pipes.d.ts +4 -0
- package/link/package.json +14 -0
- package/link/pepperi-addons-ngx-lib-link.d.ts +5 -0
- package/link/pepperi-addons-ngx-lib-link.metadata.json +1 -0
- package/link/public-api.d.ts +2 -0
- package/list/pepperi-addons-ngx-lib-list.metadata.json +1 -1
- package/package.json +1 -1
- package/pepperi-addons-ngx-lib.metadata.json +1 -1
- package/profile-data-views-list/pepperi-addons-ngx-lib-profile-data-views-list.metadata.json +1 -1
- package/profile-data-views-list/profile-data-view/profile-data-view.component.d.ts +1 -0
- package/profile-data-views-list/profile-data-views-list.component.d.ts +1 -1
- package/search/pepperi-addons-ngx-lib-search.metadata.json +1 -1
- package/search/search.component.d.ts +1 -0
- package/src/assets/i18n/en.ngx-lib.json +2 -1
- package/src/core/style/abstracts/functions.scss +10 -10
- package/src/core/style/abstracts/mixins.scss +96 -96
- package/src/core/style/base/base.scss +37 -15
- package/src/core/style/base/typography.scss +8 -0
- package/theming.scss +0 -15
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { ReactiveFormsModule } from '@angular/forms';
|
|
4
|
+
import { MatCommonModule } from '@angular/material/core';
|
|
5
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
6
|
+
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
7
|
+
import { MatInputModule } from '@angular/material/input';
|
|
8
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
9
|
+
import { PepNgxLibModule } from '@pepperi-addons/ngx-lib';
|
|
10
|
+
import { PepIconModule, PepIconRegistry, pepIconSystemEdit, } from '@pepperi-addons/ngx-lib/icon';
|
|
11
|
+
import { PepTextboxIconModule } from '@pepperi-addons/ngx-lib/textbox-icon';
|
|
12
|
+
import { PepFieldTitleModule } from '@pepperi-addons/ngx-lib/field-title';
|
|
13
|
+
import { PepLinkComponent } from './link.component';
|
|
14
|
+
//import { PepTextboxValidationDirective } from './textbox-validation.directive';
|
|
15
|
+
import { IsUrlPipe } from './link.pipes';
|
|
16
|
+
export class PepLinkModule {
|
|
17
|
+
constructor(pepIconRegistry) {
|
|
18
|
+
this.pepIconRegistry = pepIconRegistry;
|
|
19
|
+
this.pepIconRegistry.registerIcons([pepIconSystemEdit]);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
PepLinkModule.decorators = [
|
|
23
|
+
{ type: NgModule, args: [{
|
|
24
|
+
imports: [
|
|
25
|
+
CommonModule,
|
|
26
|
+
ReactiveFormsModule,
|
|
27
|
+
// Material modules,
|
|
28
|
+
MatCommonModule,
|
|
29
|
+
MatButtonModule,
|
|
30
|
+
MatFormFieldModule,
|
|
31
|
+
MatInputModule,
|
|
32
|
+
MatIconModule,
|
|
33
|
+
// ngx-lib modules
|
|
34
|
+
PepNgxLibModule,
|
|
35
|
+
PepIconModule,
|
|
36
|
+
PepFieldTitleModule,
|
|
37
|
+
PepTextboxIconModule,
|
|
38
|
+
],
|
|
39
|
+
exports: [PepLinkComponent],
|
|
40
|
+
declarations: [
|
|
41
|
+
PepLinkComponent,
|
|
42
|
+
// PepTextboxValidationDirective,
|
|
43
|
+
IsUrlPipe
|
|
44
|
+
],
|
|
45
|
+
providers: [IsUrlPipe]
|
|
46
|
+
},] }
|
|
47
|
+
];
|
|
48
|
+
PepLinkModule.ctorParameters = () => [
|
|
49
|
+
{ type: PepIconRegistry }
|
|
50
|
+
];
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL2xpbmsvbGluay5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMxRCxPQUFPLEVBQ0gsYUFBYSxFQUNiLGVBQWUsRUFDZixpQkFBaUIsR0FDcEIsTUFBTSw4QkFBOEIsQ0FBQztBQUN0QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUUxRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNwRCxpRkFBaUY7QUFFakYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQTBCekMsTUFBTSxPQUFPLGFBQWE7SUFDdEIsWUFBb0IsZUFBZ0M7UUFBaEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hELElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUM7OztZQTNCSixRQUFRLFNBQUM7Z0JBQ04sT0FBTyxFQUFFO29CQUNMLFlBQVk7b0JBQ1osbUJBQW1CO29CQUNuQixvQkFBb0I7b0JBQ3BCLGVBQWU7b0JBQ2YsZUFBZTtvQkFDZixrQkFBa0I7b0JBQ2xCLGNBQWM7b0JBQ2QsYUFBYTtvQkFDYixrQkFBa0I7b0JBQ2xCLGVBQWU7b0JBQ2YsYUFBYTtvQkFDYixtQkFBbUI7b0JBQ25CLG9CQUFvQjtpQkFDdkI7Z0JBQ0QsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7Z0JBQzNCLFlBQVksRUFBRTtvQkFDVixnQkFBZ0I7b0JBQ2hCLG1DQUFtQztvQkFDbkMsU0FBUztpQkFDWjtnQkFDRCxTQUFTLEVBQUUsQ0FBQyxTQUFTLENBQUM7YUFDekI7OztZQWxDRyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBNYXRDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuXG5pbXBvcnQgeyBQZXBOZ3hMaWJNb2R1bGUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYic7XG5pbXBvcnQge1xuICAgIFBlcEljb25Nb2R1bGUsXG4gICAgUGVwSWNvblJlZ2lzdHJ5LFxuICAgIHBlcEljb25TeXN0ZW1FZGl0LFxufSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9pY29uJztcbmltcG9ydCB7IFBlcFRleHRib3hJY29uTW9kdWxlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvdGV4dGJveC1pY29uJztcbmltcG9ydCB7IFBlcEZpZWxkVGl0bGVNb2R1bGUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9maWVsZC10aXRsZSc7XG5cbmltcG9ydCB7IFBlcExpbmtDb21wb25lbnQgfSBmcm9tICcuL2xpbmsuY29tcG9uZW50Jztcbi8vaW1wb3J0IHsgUGVwVGV4dGJveFZhbGlkYXRpb25EaXJlY3RpdmUgfSBmcm9tICcuL3RleHRib3gtdmFsaWRhdGlvbi5kaXJlY3RpdmUnO1xuXG5pbXBvcnQgeyBJc1VybFBpcGUgfSBmcm9tICcuL2xpbmsucGlwZXMnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICAvLyBNYXRlcmlhbCBtb2R1bGVzLFxuICAgICAgICBNYXRDb21tb25Nb2R1bGUsXG4gICAgICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICAgICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgICAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICAgICAgTWF0SWNvbk1vZHVsZSxcbiAgICAgICAgLy8gbmd4LWxpYiBtb2R1bGVzXG4gICAgICAgIFBlcE5neExpYk1vZHVsZSxcbiAgICAgICAgUGVwSWNvbk1vZHVsZSxcbiAgICAgICAgUGVwRmllbGRUaXRsZU1vZHVsZSxcbiAgICAgICAgUGVwVGV4dGJveEljb25Nb2R1bGUsXG4gICAgXSxcbiAgICBleHBvcnRzOiBbUGVwTGlua0NvbXBvbmVudF0sXG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIFBlcExpbmtDb21wb25lbnQsXG4gICAgICAgIC8vICAgUGVwVGV4dGJveFZhbGlkYXRpb25EaXJlY3RpdmUsXG4gICAgICAgIElzVXJsUGlwZVxuICAgIF0sXG4gICAgcHJvdmlkZXJzOiBbSXNVcmxQaXBlXVxufSlcbmV4cG9ydCBjbGFzcyBQZXBMaW5rTW9kdWxlIHtcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBlcEljb25SZWdpc3RyeTogUGVwSWNvblJlZ2lzdHJ5KSB7XG4gICAgICAgIHRoaXMucGVwSWNvblJlZ2lzdHJ5LnJlZ2lzdGVySWNvbnMoW3BlcEljb25TeXN0ZW1FZGl0XSk7XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
export class IsUrlPipe {
|
|
3
|
+
transform(value) {
|
|
4
|
+
// const regex = /^((ht|f)tp(s?):\/\/)?([w]{3}[\.])?/;
|
|
5
|
+
const regex = /^((http(s?)|ftp)\:\/\/)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)(.*)/;
|
|
6
|
+
//console.log(`pipe - value - ${value} is valid url - ${regex.test(value)}`);
|
|
7
|
+
return regex.test(value);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
IsUrlPipe.decorators = [
|
|
11
|
+
{ type: Pipe, args: [{
|
|
12
|
+
name: 'isUrl'
|
|
13
|
+
},] }
|
|
14
|
+
];
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay5waXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvbGluay9saW5rLnBpcGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBS3BELE1BQU0sT0FBTyxTQUFTO0lBQ2xCLFNBQVMsQ0FBQyxLQUFhO1FBQ25CLHNEQUFzRDtRQUN0RCxNQUFNLEtBQUssR0FBRyxzR0FBc0csQ0FBQztRQUNySCw2RUFBNkU7UUFDN0UsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdCLENBQUM7OztZQVRKLElBQUksU0FBQztnQkFDRixJQUFJLEVBQUUsT0FBTzthQUNoQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQFBpcGUoe1xuICAgIG5hbWU6ICdpc1VybCdcbn0pXG5leHBvcnQgY2xhc3MgSXNVcmxQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgdHJhbnNmb3JtKHZhbHVlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgLy8gY29uc3QgcmVnZXggPSAvXigoaHR8Zil0cChzPyk6XFwvXFwvKT8oW3ddezN9W1xcLl0pPy87XG4gICAgICAgIGNvbnN0IHJlZ2V4ID0gL14oKGh0dHAocz8pfGZ0cClcXDpcXC9cXC8pP1stYS16QS1aMC05QDolLl9cXCt+Iz1dezIsMjU2fVxcLlthLXpdezIsNn1cXGIoWy1hLXpBLVowLTlAOiVfXFwrLn4jPyYvLz1dKikoLiopLztcbiAgICAgICAgLy9jb25zb2xlLmxvZyhgcGlwZSAtIHZhbHVlIC0gJHt2YWx1ZX0gaXMgdmFsaWQgdXJsIC0gJHtyZWdleC50ZXN0KHZhbHVlKX1gKTtcbiAgICAgICAgcmV0dXJuIHJlZ2V4LnRlc3QodmFsdWUpO1xuICAgIH1cbn0iXX0=
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
export { IsUrlPipe as ɵa } from './link.pipes';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVwcGVyaS1hZGRvbnMtbmd4LWxpYi1saW5rLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWxpYi9saW5rL3BlcHBlcmktYWRkb25zLW5neC1saWItbGluay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxTQUFTLElBQUksRUFBRSxFQUFDLE1BQU0sY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuXG5leHBvcnQge0lzVXJsUGlwZSBhcyDJtWF9IGZyb20gJy4vbGluay5waXBlcyc7Il19
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Public API Surface of ngx-lib/link
|
|
3
|
+
*/
|
|
4
|
+
export * from './link.module';
|
|
5
|
+
export * from './link.component';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvbGluay9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2Ygbmd4LWxpYi9saW5rXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vbGluay5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saW5rLmNvbXBvbmVudCc7XG4iXX0=
|
|
@@ -11,7 +11,7 @@ PepListTotalComponent.decorators = [
|
|
|
11
11
|
{ type: Component, args: [{
|
|
12
12
|
selector: 'pep-list-total',
|
|
13
13
|
template: "<div class=\"total-items-container\">\n <ng-container *ngIf=\"isMapView; then mapTemplate; else notMapTemplate\"></ng-container>\n\n <ng-template #notMapTemplate>\n <ng-container *ngIf=\"totalRows >= 0\">\n <div class=\"body-{{sizeType}} total-items\"\n [innerHtml]=\"(totalRows === 1 ? 'LIST.TOTAL_RESULT' : 'LIST.TOTAL_RESULTS') | translate: { totalRows: totalRows }\">\n </div>\n </ng-container>\n <ng-container *ngIf=\"totalAmount > 0\"> {{ 'LIST.TOTAL_OF' | translate }} {{ totalAmount }} </ng-container>\n </ng-template>\n\n <ng-template #mapTemplate>\n <ng-container *ngIf=\"totalAmount >= 0\">\n </ng-container>\n <ng-container *ngIf=\"totalRows >= 0\">\n <div class=\"body-{{sizeType}} total-items\"\n [innerHtml]=\"(totalRows === 1 ? 'LIST.TOTAL_RESULT_OUT_OF_RESULT' : 'LIST.TOTAL_RESULTS_OUT_OF') | translate: { xRows: totalAmount, totalRows: totalRows }\">\n </div>\n </ng-container>\n </ng-template>\n</div>",
|
|
14
|
-
styles: [".total-items-container{height:
|
|
14
|
+
styles: [":host{height:100%}.total-items-container{height:inherit;display:flex;align-items:center}", ".total-items{color:rgba(26,26,26,.7);color:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.7)}.total-items .number{color:#1a1a1a;color:hsl(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%))}"]
|
|
15
15
|
},] },
|
|
16
16
|
{ type: Injectable }
|
|
17
17
|
];
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
2
|
export class ProfileDataViewComponent {
|
|
3
3
|
constructor() {
|
|
4
|
+
this.canDelete = true;
|
|
4
5
|
this.editClick = new EventEmitter();
|
|
5
6
|
this.deleteClick = new EventEmitter();
|
|
7
|
+
//
|
|
6
8
|
}
|
|
7
9
|
ngOnInit() {
|
|
10
|
+
//
|
|
8
11
|
}
|
|
9
12
|
onEditClicked(event) {
|
|
10
13
|
this.editClick.emit({
|
|
@@ -20,7 +23,7 @@ export class ProfileDataViewComponent {
|
|
|
20
23
|
ProfileDataViewComponent.decorators = [
|
|
21
24
|
{ type: Component, args: [{
|
|
22
25
|
selector: 'pep-profile-data-view',
|
|
23
|
-
template: "<div *ngIf=\"title?.length > 0\" class=\"data-view-title-container\">\n <div class=\"title ellipsis\" [title]=\"title\">\n <span class=\"title-md\">{{title}}</span>\n </div>\n <pep-button class=\"delete-button\" sizeType=\"xs\" (buttonClick)=\"onDeleteClicked($event)\"\n [value]=\"'ACTIONS.
|
|
26
|
+
template: "<div *ngIf=\"title?.length > 0\" class=\"data-view-title-container\">\n <div class=\"title ellipsis\" [title]=\"title\">\n <span class=\"title-md\">{{title}}</span>\n </div>\n <pep-button *ngIf=\"canDelete\" class=\"delete-button\" sizeType=\"xs\" (buttonClick)=\"onDeleteClicked($event)\"\n [value]=\"'ACTIONS.REMOVE' | translate\">\n </pep-button>\n</div>\n<div class=\"data-view-container\">\n <div class=\"fields-container\">\n <span class=\"color-caution body-xs ellipsis data-view-field\" *ngIf=\"fields === null || fields.length === 0\">\n {{('PROFILE_DATA_VIEWS_LIST.NO_FIELDS_ASSIGNED' | translate)}}</span>\n <span class=\"color-dimmed body-xs ellipsis data-view-field\" *ngFor=\"let field of fields\" [title]=\"field\">{{field}}</span>\n </div>\n <pep-button class=\"edit-button\" iconName=\"system_edit\" sizeType=\"xs\" (buttonClick)=\"onEditClicked($event)\">\n </pep-button>\n</div>",
|
|
24
27
|
styles: [".data-view-title-container{display:flex;justify-content:space-between;margin-bottom:.5rem;margin-bottom:var(--pep-spacing-sm,.5rem)}.data-view-title-container .title{display:block;max-width:240px;align-self:center}.data-view-container{padding:.5rem;padding:var(--pep-spacing-sm,.5rem);border-radius:.25rem;border-radius:var(--pep-border-radius-md,.25rem);position:relative}.data-view-container .fields-container{margin-bottom:.5rem;margin-bottom:var(--pep-spacing-sm,.5rem);-webkit-margin-end:2rem;margin-inline-end:2rem}.data-view-container .fields-container .data-view-field{display:block}.data-view-container .edit-button{position:absolute;right:.5rem;right:var(--pep-spacing-sm,.5rem);bottom:.5rem;bottom:var(--pep-spacing-sm,.5rem)}", ".data-view-container{background:#fafafa;background:hsl(var(--pep-color-regular-h,0),var(--pep-color-regular-s,0%),98%);box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.08);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.08);border:1px solid hsl(0,0%,calc(10% + 30%));border:1px solid hsl(var(--pep-color-regular-h,0),var(--pep-color-regular-s,0%),calc(var(--pep-color-regular-l, 10%) + 30%));background:#fff;background:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}"]
|
|
25
28
|
},] }
|
|
26
29
|
];
|
|
@@ -29,7 +32,8 @@ ProfileDataViewComponent.propDecorators = {
|
|
|
29
32
|
dataViewId: [{ type: Input }],
|
|
30
33
|
title: [{ type: Input }],
|
|
31
34
|
fields: [{ type: Input }],
|
|
35
|
+
canDelete: [{ type: Input }],
|
|
32
36
|
editClick: [{ type: Output }],
|
|
33
37
|
deleteClick: [{ type: Output }]
|
|
34
38
|
};
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS1kYXRhLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWxpYi9wcm9maWxlLWRhdGEtdmlld3MtbGlzdC9wcm9maWxlLWRhdGEtdmlldy9wcm9maWxlLWRhdGEtdmlldy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVMvRSxNQUFNLE9BQU8sd0JBQXdCO0lBU2pDO1FBTFMsY0FBUyxHQUFHLElBQUksQ0FBQztRQUVoQixjQUFTLEdBQWdELElBQUksWUFBWSxFQUFpQyxDQUFDO1FBQzNHLGdCQUFXLEdBQWdELElBQUksWUFBWSxFQUFpQyxDQUFDO1FBR25ILEVBQUU7SUFDTCxDQUFDO0lBRUYsUUFBUTtRQUNKLEVBQUU7SUFDTixDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQTJCO1FBQ3JDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO1lBQ2hCLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtTQUM5QixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQTJCO1FBQ3ZDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO1lBQ2xCLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtTQUM5QixDQUFDLENBQUM7SUFDUCxDQUFDOzs7WUFoQ0osU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSx1QkFBdUI7Z0JBQ2pDLDQ4QkFBaUQ7O2FBRXBEOzs7O3lCQUVJLEtBQUs7b0JBQ0wsS0FBSztxQkFDTCxLQUFLO3dCQUNMLEtBQUs7d0JBRUwsTUFBTTswQkFDTixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSVBlcEJ1dHRvbkNsaWNrRXZlbnQgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9idXR0b24nO1xuaW1wb3J0IHsgSVBlcFByb2ZpbGVEYXRhVmlld0NsaWNrRXZlbnQgfSBmcm9tICcuLi9wcm9maWxlLWRhdGEtdmlld3MtbGlzdC5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncGVwLXByb2ZpbGUtZGF0YS12aWV3JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcHJvZmlsZS1kYXRhLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3Byb2ZpbGUtZGF0YS12aWV3LmNvbXBvbmVudC5zY3NzJywgJy4vcHJvZmlsZS1kYXRhLXZpZXcuY29tcG9uZW50LnRoZW1lLnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBQcm9maWxlRGF0YVZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBJbnB1dCgpIGRhdGFWaWV3SWQ6IHN0cmluZztcbiAgICBASW5wdXQoKSB0aXRsZTogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGZpZWxkczogc3RyaW5nW107XG4gICAgQElucHV0KCkgY2FuRGVsZXRlID0gdHJ1ZTtcblxuICAgIEBPdXRwdXQoKSBlZGl0Q2xpY2s6IEV2ZW50RW1pdHRlcjxJUGVwUHJvZmlsZURhdGFWaWV3Q2xpY2tFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPElQZXBQcm9maWxlRGF0YVZpZXdDbGlja0V2ZW50PigpO1xuICAgIEBPdXRwdXQoKSBkZWxldGVDbGljazogRXZlbnRFbWl0dGVyPElQZXBQcm9maWxlRGF0YVZpZXdDbGlja0V2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8SVBlcFByb2ZpbGVEYXRhVmlld0NsaWNrRXZlbnQ+KCk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgLy9cbiAgICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIC8vXG4gICAgfVxuXG4gICAgb25FZGl0Q2xpY2tlZChldmVudDogSVBlcEJ1dHRvbkNsaWNrRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lZGl0Q2xpY2suZW1pdCh7XG4gICAgICAgICAgICBkYXRhVmlld0lkOiB0aGlzLmRhdGFWaWV3SWRcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25EZWxldGVDbGlja2VkKGV2ZW50OiBJUGVwQnV0dG9uQ2xpY2tFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRlbGV0ZUNsaWNrLmVtaXQoe1xuICAgICAgICAgICAgZGF0YVZpZXdJZDogdGhpcy5kYXRhVmlld0lkXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
|
package/esm2015/profile-data-views-list/profile-data-views-card/profile-data-views-card.component.js
CHANGED
|
@@ -13,11 +13,11 @@ export class ProfileDataViewsCardComponent {
|
|
|
13
13
|
this.menuItems = [];
|
|
14
14
|
}
|
|
15
15
|
loadMenuItems() {
|
|
16
|
+
const removeKey = 'ACTIONS.REMOVE';
|
|
16
17
|
// Load translation before get the options in the children.
|
|
17
|
-
this.translate.get([
|
|
18
|
+
this.translate.get([removeKey]).subscribe((res) => {
|
|
18
19
|
this.menuItems = [
|
|
19
|
-
{ key: 'delete', text: this.translate.instant(res[
|
|
20
|
-
// { key: 'edit', text: this.translate.instant('ACTIONS.EDIT') },
|
|
20
|
+
{ key: 'delete', text: this.translate.instant(res[removeKey]) }
|
|
21
21
|
];
|
|
22
22
|
});
|
|
23
23
|
}
|
|
@@ -41,8 +41,8 @@ export class ProfileDataViewsCardComponent {
|
|
|
41
41
|
ProfileDataViewsCardComponent.decorators = [
|
|
42
42
|
{ type: Component, args: [{
|
|
43
43
|
selector: 'pep-profile-data-views-card',
|
|
44
|
-
template: "<div class=\"profile-data-views-card-container\">\n <div class=\"card-top-bar pep-border-bottom\">\n <div *ngIf=\"title?.length > 0\" class=\"title ellipsis\"\n [title]=\"title + ' ' + (isDefault ? ('PROFILE_DATA_VIEWS_LIST.DEFAULT_PROFILE' | translate) : '')\">\n <span class=\"title-md\">{{title}} </span>\n <span *ngIf=\"isDefault\" class=\"color-dimmed\">{{('PROFILE_DATA_VIEWS_LIST.DEFAULT_PROFILE' |\n translate)}} \n </span>\n </div>\n <pep-menu sizeType=\"sm\" [items]=\"menuItems\" (menuItemClick)=\"onMenuItemClicked($event)\">\n </pep-menu>\n </div>\n\n <pep-profile-data-view *ngFor=\"let dataView of dataViews\" [dataViewId]=\"dataView.dataViewId\"\n [title]=\"configurationPerScreenSize ? dataView.viewType : ''\" [fields]=\"dataView.fields\"\n (editClick)=\"onDataViewEditClicked($event)\" (deleteClick)=\"onDataViewDeleteClicked($event)\">\n </pep-profile-data-view>\n</div>",
|
|
45
|
-
styles: [".profile-data-views-card-container{padding:1rem;padding:var(--pep-spacing-lg,1rem);border-radius:.25rem;border-radius:var(--pep-border-radius-md,.25rem);
|
|
44
|
+
template: "<div class=\"profile-data-views-card-container\">\n <div class=\"card-top-bar pep-border-bottom\">\n <div *ngIf=\"title?.length > 0\" class=\"title ellipsis\"\n [title]=\"title + ' ' + (isDefault ? ('PROFILE_DATA_VIEWS_LIST.DEFAULT_PROFILE' | translate) : '')\">\n <span class=\"title-md\">{{title}} </span>\n <span *ngIf=\"isDefault\" class=\"color-dimmed\">{{('PROFILE_DATA_VIEWS_LIST.DEFAULT_PROFILE' |\n translate)}} \n </span>\n </div>\n <pep-menu *ngIf=\"!configurationPerScreenSize && !isDefault\" sizeType=\"sm\" [items]=\"menuItems\" (menuItemClick)=\"onMenuItemClicked($event)\">\n </pep-menu>\n </div>\n\n <pep-profile-data-view *ngFor=\"let dataView of dataViews\" [dataViewId]=\"dataView.dataViewId\"\n [title]=\"configurationPerScreenSize ? dataView.viewType : ''\" [fields]=\"dataView.fields\" [canDelete]=\"!(isDefault && dataView.viewType === 'Tablet')\"\n (editClick)=\"onDataViewEditClicked($event)\" (deleteClick)=\"onDataViewDeleteClicked($event)\">\n </pep-profile-data-view>\n</div>",
|
|
45
|
+
styles: [".profile-data-views-card-container{padding:1rem;padding:var(--pep-spacing-lg,1rem);border-radius:.25rem;border-radius:var(--pep-border-radius-md,.25rem);width:320px;max-width:320px}.profile-data-views-card-container .card-top-bar{height:2.5rem;height:var(--pep-top-bar-field-height,2.5rem);margin-bottom:.75rem;margin-bottom:var(--pep-spacing-md,.75rem);display:flex;justify-content:space-between}.profile-data-views-card-container .card-top-bar .title{display:block;height:calc(2.5rem - .5rem);height:calc(var(--pep-top-bar-field-height, 2.5rem) - var(--pep-spacing-sm, .5rem));align-self:center}", ".profile-data-views-card-container{background:#fafafa;background:hsl(var(--pep-color-regular-h,0),var(--pep-color-regular-s,0%),98%);box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.08);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.08);border:1px solid hsl(0,0%,calc(10% + 30%));border:1px solid hsl(var(--pep-color-regular-h,0),var(--pep-color-regular-s,0%),calc(var(--pep-color-regular-l, 10%) + 30%))}"]
|
|
46
46
|
},] }
|
|
47
47
|
];
|
|
48
48
|
ProfileDataViewsCardComponent.ctorParameters = () => [
|
|
@@ -57,4 +57,4 @@ ProfileDataViewsCardComponent.propDecorators = {
|
|
|
57
57
|
dataViewEditClick: [{ type: Output }],
|
|
58
58
|
dataViewDeleteClick: [{ type: Output }]
|
|
59
59
|
};
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS1kYXRhLXZpZXdzLWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWxpYi9wcm9maWxlLWRhdGEtdmlld3MtbGlzdC9wcm9maWxlLWRhdGEtdmlld3MtY2FyZC9wcm9maWxlLWRhdGEtdmlld3MtY2FyZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkvRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQU92RCxNQUFNLE9BQU8sNkJBQTZCO0lBWXRDLFlBQW9CLFNBQTJCO1FBQTNCLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBWHRDLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFDZixVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsY0FBUyxHQUEwQixFQUFFLENBQUM7UUFDdEMsK0JBQTBCLEdBQUcsS0FBSyxDQUFDO1FBQ25DLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFFakIsc0JBQWlCLEdBQWdELElBQUksWUFBWSxFQUFpQyxDQUFDO1FBQ25ILHdCQUFtQixHQUFnRCxJQUFJLFlBQVksRUFBaUMsQ0FBQztRQUUvSCxjQUFTLEdBQXVCLEVBQUUsQ0FBQztJQUVnQixDQUFDO0lBRTVDLGFBQWE7UUFDakIsTUFBTSxTQUFTLEdBQUcsZ0JBQWdCLENBQUM7UUFDbkMsMkRBQTJEO1FBQzNELElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUM5QyxJQUFJLENBQUMsU0FBUyxHQUFHO2dCQUNiLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUU7YUFDbEUsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELGlCQUFpQixDQUFDLE1BQThCO1FBQzVDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQzdCLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEtBQUssUUFBUSxFQUFFO2dCQUNoQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO2FBQzlFO1NBQ0o7SUFFTCxDQUFDO0lBRUQscUJBQXFCLENBQUMsS0FBb0M7UUFDdEQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsdUJBQXVCLENBQUMsS0FBb0M7UUFDeEQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QyxDQUFDOzs7WUFoREosU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSw2QkFBNkI7Z0JBQ3ZDLG9uQ0FBdUQ7O2FBRTFEOzs7WUFOUSxnQkFBZ0I7Ozt3QkFRcEIsS0FBSztvQkFDTCxLQUFLO3dCQUNMLEtBQUs7eUNBQ0wsS0FBSzt3QkFDTCxLQUFLO2dDQUVMLE1BQU07a0NBQ04sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJhc2VEYXRhVmlldywgRGF0YVZpZXdUeXBlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL3BhcGktc2RrJztcbmltcG9ydCB7IElQZXBQcm9maWxlRGF0YVZpZXcsIElQZXBQcm9maWxlRGF0YVZpZXdDbGlja0V2ZW50IH0gZnJvbSAnLi4vcHJvZmlsZS1kYXRhLXZpZXdzLWxpc3QubW9kZWwnO1xuaW1wb3J0IHsgSVBlcE1lbnVJdGVtQ2xpY2tFdmVudCwgUGVwTWVudUl0ZW0gfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9tZW51JztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwZXAtcHJvZmlsZS1kYXRhLXZpZXdzLWNhcmQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wcm9maWxlLWRhdGEtdmlld3MtY2FyZC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vcHJvZmlsZS1kYXRhLXZpZXdzLWNhcmQuY29tcG9uZW50LnNjc3MnLCAnLi9wcm9maWxlLWRhdGEtdmlld3MtY2FyZC5jb21wb25lbnQudGhlbWUuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFByb2ZpbGVEYXRhVmlld3NDYXJkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASW5wdXQoKSBwcm9maWxlSWQgPSAnJztcbiAgICBASW5wdXQoKSB0aXRsZSA9ICcnO1xuICAgIEBJbnB1dCgpIGRhdGFWaWV3czogSVBlcFByb2ZpbGVEYXRhVmlld1tdID0gW107XG4gICAgQElucHV0KCkgY29uZmlndXJhdGlvblBlclNjcmVlblNpemUgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBpc0RlZmF1bHQgPSBmYWxzZTtcblxuICAgIEBPdXRwdXQoKSBkYXRhVmlld0VkaXRDbGljazogRXZlbnRFbWl0dGVyPElQZXBQcm9maWxlRGF0YVZpZXdDbGlja0V2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8SVBlcFByb2ZpbGVEYXRhVmlld0NsaWNrRXZlbnQ+KCk7XG4gICAgQE91dHB1dCgpIGRhdGFWaWV3RGVsZXRlQ2xpY2s6IEV2ZW50RW1pdHRlcjxJUGVwUHJvZmlsZURhdGFWaWV3Q2xpY2tFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPElQZXBQcm9maWxlRGF0YVZpZXdDbGlja0V2ZW50PigpO1xuXG4gICAgbWVudUl0ZW1zOiBBcnJheTxQZXBNZW51SXRlbT4gPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7IH1cblxuICAgIHByaXZhdGUgbG9hZE1lbnVJdGVtcygpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcmVtb3ZlS2V5ID0gJ0FDVElPTlMuUkVNT1ZFJztcbiAgICAgICAgLy8gTG9hZCB0cmFuc2xhdGlvbiBiZWZvcmUgZ2V0IHRoZSBvcHRpb25zIGluIHRoZSBjaGlsZHJlbi5cbiAgICAgICAgdGhpcy50cmFuc2xhdGUuZ2V0KFtyZW1vdmVLZXldKS5zdWJzY3JpYmUoKHJlcykgPT4ge1xuICAgICAgICAgICAgdGhpcy5tZW51SXRlbXMgPSBbXG4gICAgICAgICAgICAgICAgeyBrZXk6ICdkZWxldGUnLCB0ZXh0OiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KHJlc1tyZW1vdmVLZXldKSB9XG4gICAgICAgICAgICBdO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5sb2FkTWVudUl0ZW1zKCk7XG4gICAgfVxuXG4gICAgb25NZW51SXRlbUNsaWNrZWQoYWN0aW9uOiBJUGVwTWVudUl0ZW1DbGlja0V2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLmRhdGFWaWV3cy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgIGlmIChhY3Rpb24uc291cmNlLmtleSA9PT0gJ2RlbGV0ZScpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm9uRGF0YVZpZXdEZWxldGVDbGlja2VkKHsgZGF0YVZpZXdJZDogdGhpcy5kYXRhVmlld3NbMF0uZGF0YVZpZXdJZCB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgb25EYXRhVmlld0VkaXRDbGlja2VkKGV2ZW50OiBJUGVwUHJvZmlsZURhdGFWaWV3Q2xpY2tFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRhdGFWaWV3RWRpdENsaWNrLmVtaXQoZXZlbnQpO1xuICAgIH1cblxuICAgIG9uRGF0YVZpZXdEZWxldGVDbGlja2VkKGV2ZW50OiBJUGVwUHJvZmlsZURhdGFWaWV3Q2xpY2tFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRhdGFWaWV3RGVsZXRlQ2xpY2suZW1pdChldmVudCk7XG4gICAgfVxufVxuIl19
|
|
@@ -3,7 +3,7 @@ import { PepDialogService } from '@pepperi-addons/ngx-lib/dialog';
|
|
|
3
3
|
export class ProfileDataViewsListComponent {
|
|
4
4
|
constructor(dialogService) {
|
|
5
5
|
this.dialogService = dialogService;
|
|
6
|
-
this.
|
|
6
|
+
this.defaultProfileId = '';
|
|
7
7
|
this._availableProfiles = [];
|
|
8
8
|
this._profileDataViewsList = [];
|
|
9
9
|
this.configurationPerScreenSize = false;
|
|
@@ -32,6 +32,7 @@ export class ProfileDataViewsListComponent {
|
|
|
32
32
|
this.nonExistingProfiles = this.availableProfiles.filter(ap => this.profileDataViewsList.findIndex(pdv => pdv.profileId === ap.id) === -1);
|
|
33
33
|
}
|
|
34
34
|
ngOnInit() {
|
|
35
|
+
//
|
|
35
36
|
}
|
|
36
37
|
setSelectedNewProfileId(value) {
|
|
37
38
|
this.selectedNewProfileId = value;
|
|
@@ -66,7 +67,7 @@ export class ProfileDataViewsListComponent {
|
|
|
66
67
|
ProfileDataViewsListComponent.decorators = [
|
|
67
68
|
{ type: Component, args: [{
|
|
68
69
|
selector: 'pep-profile-data-views-list',
|
|
69
|
-
template: "<div class=\"profile-data-views-list-container\">\n <pep-profile-data-views-card *ngFor=\"let profileDataViews of profileDataViewsList\"\n [configurationPerScreenSize]=\"configurationPerScreenSize\" [title]=\"profileDataViews.title\"\n [profileId]=\"profileDataViews.profileId\" [dataViews]=\"profileDataViews.dataViews\"\n [isDefault]=\"profileDataViews.profileId ===
|
|
70
|
+
template: "<div class=\"profile-data-views-list-container\">\n <pep-profile-data-views-card *ngFor=\"let profileDataViews of profileDataViewsList\"\n [configurationPerScreenSize]=\"configurationPerScreenSize\" [title]=\"profileDataViews.title\"\n [profileId]=\"profileDataViews.profileId\" [dataViews]=\"profileDataViews.dataViews\"\n [isDefault]=\"profileDataViews.profileId === defaultProfileId\"\n (dataViewEditClick)=\"onDataViewEditClicked($event)\" (dataViewDeleteClick)=\"onDataViewDeleteClicked($event)\">\n </pep-profile-data-views-card>\n\n <pep-button *ngIf=\"nonExistingProfiles?.length > 0\" [value]=\"'PROFILE_DATA_VIEWS_LIST.ADD_PROFILE' | translate\"\n iconName=\"number_plus\" sizeType=\"lg\" (buttonClick)=\"onAddProfileClicked($event)\"></pep-button>\n</div>\n\n<ng-template #selectProfileTemplate let-data>\n <pep-dialog [title]=\"'PROFILE_DATA_VIEWS_LIST.SELECT_PROFILE_DIALOG_TITLE' | translate\">\n <ng-container pep-dialog-content>\n <pep-select [label]=\"'PROFILE_DATA_VIEWS_LIST.SELECT_PROFILE' | translate\" [options]=\"data.options\"\n [emptyOption]=\"false\" (valueChange)=\"setSelectedNewProfileId($event)\">\n </pep-select>\n </ng-container>\n <ng-container pep-dialog-actions>\n <div class=\"pep-spacing-element-negative\">\n <button mat-button class=\"pep-spacing-element pep-button md weak\" (click)=\"closeDialog()\">\n {{ 'Cancel' | translate}}\n </button>\n <button mat-button class=\"pep-spacing-element pep-button md strong\" (click)=\"saveNewProfile()\"\n [disabled]=\"selectedNewProfileId === ''\">\n {{ 'Save' | translate}}\n </button>\n </div>\n </ng-container>\n </pep-dialog>\n</ng-template>",
|
|
70
71
|
styles: [".profile-data-views-list-container{display:flex;align-items:flex-start;grid-gap:1rem;gap:1rem}"]
|
|
71
72
|
},] }
|
|
72
73
|
];
|
|
@@ -74,7 +75,7 @@ ProfileDataViewsListComponent.ctorParameters = () => [
|
|
|
74
75
|
{ type: PepDialogService }
|
|
75
76
|
];
|
|
76
77
|
ProfileDataViewsListComponent.propDecorators = {
|
|
77
|
-
|
|
78
|
+
defaultProfileId: [{ type: Input }],
|
|
78
79
|
availableProfiles: [{ type: Input }],
|
|
79
80
|
profileDataViewsList: [{ type: Input }],
|
|
80
81
|
configurationPerScreenSize: [{ type: Input }],
|
|
@@ -83,4 +84,4 @@ ProfileDataViewsListComponent.propDecorators = {
|
|
|
83
84
|
dataViewDeleteClick: [{ type: Output }],
|
|
84
85
|
selectProfileTemplate: [{ type: ViewChild, args: ['selectProfileTemplate', { read: TemplateRef },] }]
|
|
85
86
|
};
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS1kYXRhLXZpZXdzLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWxpYi9wcm9maWxlLWRhdGEtdmlld3MtbGlzdC9wcm9maWxlLWRhdGEtdmlld3MtbGlzdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBS3ZHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBU2xFLE1BQU0sT0FBTyw2QkFBNkI7SUF3Q3RDLFlBQ1ksYUFBK0I7UUFBL0Isa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBeENsQyxxQkFBZ0IsR0FBRyxFQUFFLENBQUM7UUFFdkIsdUJBQWtCLEdBQXVCLEVBQUUsQ0FBQztRQVU1QywwQkFBcUIsR0FBb0MsRUFBRSxDQUFDO1FBVTNELCtCQUEwQixHQUFHLEtBQUssQ0FBQztRQUVsQyx3QkFBbUIsR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUN2RSxzQkFBaUIsR0FBZ0QsSUFBSSxZQUFZLEVBQWlDLENBQUM7UUFDbkgsd0JBQW1CLEdBQWdELElBQUksWUFBWSxFQUFpQyxDQUFDO1FBSy9ILHlCQUFvQixHQUFHLEVBQUUsQ0FBQztRQUMxQix3QkFBbUIsR0FBdUIsRUFBRSxDQUFDO0lBU3pDLENBQUM7SUF0Q0wsSUFDSSxpQkFBaUIsQ0FBQyxLQUF5QjtRQUMzQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFDRCxJQUFJLGlCQUFpQjtRQUNqQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztJQUNuQyxDQUFDO0lBR0QsSUFDSSxvQkFBb0IsQ0FBQyxLQUFzQztRQUMzRCxJQUFJLENBQUMscUJBQXFCLEdBQUcsS0FBSyxDQUFDO1FBQ25DLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFDRCxJQUFJLG9CQUFvQjtRQUNwQixPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQztJQUN0QyxDQUFDO0lBY0QsbUVBQW1FO0lBQzNELHNCQUFzQjtRQUMxQixJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsU0FBUyxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQy9JLENBQUM7SUFNRCxRQUFRO1FBQ0osRUFBRTtJQUNOLENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxLQUFhO1FBQ2pDLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxLQUFLLENBQUM7SUFDdEMsQ0FBQztJQUVELFdBQVc7O1FBQ1AsTUFBQSxJQUFJLENBQUMsU0FBUywwQ0FBRSxLQUFLLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsY0FBYztRQUNWLHNCQUFzQjtRQUN0QixJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsbUJBQW1CLENBQUMsS0FBMkI7UUFDM0MsOEJBQThCO1FBQzlCLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxFQUFFLENBQUM7UUFDL0IsTUFBTSxPQUFPLEdBQXNCLEVBQUUsQ0FBQztRQUN0QyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDbEQsT0FBTztnQkFDSCxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLElBQUk7YUFDL0IsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNMLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLHFCQUFxQixFQUFFLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUM1RixDQUFDO0lBRUQscUJBQXFCLENBQUMsS0FBb0M7UUFDdEQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsdUJBQXVCLENBQUMsS0FBb0M7UUFDeEQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QyxDQUFDOzs7WUFyRkosU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSw2QkFBNkI7Z0JBQ3ZDLG0yREFBdUQ7O2FBRTFEOzs7WUFSUSxnQkFBZ0I7OzsrQkFVcEIsS0FBSztnQ0FHTCxLQUFLO21DQVVMLEtBQUs7eUNBU0wsS0FBSztrQ0FFTCxNQUFNO2dDQUNOLE1BQU07a0NBQ04sTUFBTTtvQ0FFTixTQUFTLFNBQUMsdUJBQXVCLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcblxuaW1wb3J0IHsgQmFzZURhdGFWaWV3LCBEYXRhVmlld1R5cGUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvcGFwaS1zZGsnO1xuaW1wb3J0IHsgSVBlcEJ1dHRvbkNsaWNrRXZlbnQgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9idXR0b24nO1xuaW1wb3J0IHsgUGVwRGlhbG9nU2VydmljZSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL2RpYWxvZyc7XG5pbXBvcnQgeyBJUGVwT3B0aW9uIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWInO1xuaW1wb3J0IHsgSVBlcFByb2ZpbGUsIElQZXBQcm9maWxlRGF0YVZpZXdDbGlja0V2ZW50LCBJUGVwUHJvZmlsZURhdGFWaWV3c0NhcmQgfSBmcm9tICcuL3Byb2ZpbGUtZGF0YS12aWV3cy1saXN0Lm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwZXAtcHJvZmlsZS1kYXRhLXZpZXdzLWxpc3QnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wcm9maWxlLWRhdGEtdmlld3MtbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vcHJvZmlsZS1kYXRhLXZpZXdzLWxpc3QuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBQcm9maWxlRGF0YVZpZXdzTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQElucHV0KCkgZGVmYXVsdFByb2ZpbGVJZCA9ICcnO1xuXG4gICAgcHJpdmF0ZSBfYXZhaWxhYmxlUHJvZmlsZXM6IEFycmF5PElQZXBQcm9maWxlPiA9IFtdO1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGF2YWlsYWJsZVByb2ZpbGVzKHZhbHVlOiBBcnJheTxJUGVwUHJvZmlsZT4pIHtcbiAgICAgICAgdGhpcy5fYXZhaWxhYmxlUHJvZmlsZXMgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5zZXROb25FeGlzdGluZ1Byb2ZpbGVzKCk7XG4gICAgfVxuICAgIGdldCBhdmFpbGFibGVQcm9maWxlcygpOiBBcnJheTxJUGVwUHJvZmlsZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXZhaWxhYmxlUHJvZmlsZXM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfcHJvZmlsZURhdGFWaWV3c0xpc3Q6IEFycmF5PElQZXBQcm9maWxlRGF0YVZpZXdzQ2FyZD4gPSBbXTtcbiAgICBASW5wdXQoKVxuICAgIHNldCBwcm9maWxlRGF0YVZpZXdzTGlzdCh2YWx1ZTogQXJyYXk8SVBlcFByb2ZpbGVEYXRhVmlld3NDYXJkPikge1xuICAgICAgICB0aGlzLl9wcm9maWxlRGF0YVZpZXdzTGlzdCA9IHZhbHVlO1xuICAgICAgICB0aGlzLnNldE5vbkV4aXN0aW5nUHJvZmlsZXMoKTtcbiAgICB9XG4gICAgZ2V0IHByb2ZpbGVEYXRhVmlld3NMaXN0KCk6IEFycmF5PElQZXBQcm9maWxlRGF0YVZpZXdzQ2FyZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fcHJvZmlsZURhdGFWaWV3c0xpc3Q7XG4gICAgfVxuXG4gICAgQElucHV0KCkgY29uZmlndXJhdGlvblBlclNjcmVlblNpemUgPSBmYWxzZTtcblxuICAgIEBPdXRwdXQoKSBzYXZlTmV3UHJvZmlsZUNsaWNrOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICAgIEBPdXRwdXQoKSBkYXRhVmlld0VkaXRDbGljazogRXZlbnRFbWl0dGVyPElQZXBQcm9maWxlRGF0YVZpZXdDbGlja0V2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8SVBlcFByb2ZpbGVEYXRhVmlld0NsaWNrRXZlbnQ+KCk7XG4gICAgQE91dHB1dCgpIGRhdGFWaWV3RGVsZXRlQ2xpY2s6IEV2ZW50RW1pdHRlcjxJUGVwUHJvZmlsZURhdGFWaWV3Q2xpY2tFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPElQZXBQcm9maWxlRGF0YVZpZXdDbGlja0V2ZW50PigpO1xuXG4gICAgQFZpZXdDaGlsZCgnc2VsZWN0UHJvZmlsZVRlbXBsYXRlJywgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KSBzZWxlY3RQcm9maWxlVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxhbnk+O1xuICAgIHNlbGVjdGVkTmV3UHJvZmlsZUlkID0gJyc7XG4gICAgbm9uRXhpc3RpbmdQcm9maWxlczogQXJyYXk8SVBlcFByb2ZpbGU+ID0gW107XG5cbiAgICAvLyBTZXQgdGhlIHByb2ZpbGVzIHRoYXQgbm90IGV4aXN0IGFscmVhZHkgaW4gcHJvZmlsZURhdGFWaWV3c0xpc3QuXG4gICAgcHJpdmF0ZSBzZXROb25FeGlzdGluZ1Byb2ZpbGVzKCkge1xuICAgICAgICB0aGlzLm5vbkV4aXN0aW5nUHJvZmlsZXMgPSB0aGlzLmF2YWlsYWJsZVByb2ZpbGVzLmZpbHRlcihhcCA9PiB0aGlzLnByb2ZpbGVEYXRhVmlld3NMaXN0LmZpbmRJbmRleChwZHYgPT4gcGR2LnByb2ZpbGVJZCA9PT0gYXAuaWQpID09PSAtMSk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgZGlhbG9nU2VydmljZTogUGVwRGlhbG9nU2VydmljZVxuICAgICkgeyB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgLy9cbiAgICB9XG5cbiAgICBzZXRTZWxlY3RlZE5ld1Byb2ZpbGVJZCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWROZXdQcm9maWxlSWQgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBjbG9zZURpYWxvZygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaWFsb2dSZWY/LmNsb3NlKCk7XG4gICAgfVxuXG4gICAgc2F2ZU5ld1Byb2ZpbGUoKSB7XG4gICAgICAgIC8vIEFkZCB0aGUgbmV3IHByb2ZpbGVcbiAgICAgICAgdGhpcy5zYXZlTmV3UHJvZmlsZUNsaWNrLmVtaXQodGhpcy5zZWxlY3RlZE5ld1Byb2ZpbGVJZCk7XG4gICAgICAgIHRoaXMuY2xvc2VEaWFsb2coKTtcbiAgICB9XG5cbiAgICBvbkFkZFByb2ZpbGVDbGlja2VkKGV2ZW50OiBJUGVwQnV0dG9uQ2xpY2tFdmVudCkge1xuICAgICAgICAvLyBSYWlzZSBzZWxlY3QgcHJvZmlsZSBkaWFsb2dcbiAgICAgICAgdGhpcy5zZWxlY3RlZE5ld1Byb2ZpbGVJZCA9ICcnO1xuICAgICAgICBjb25zdCBvcHRpb25zOiBBcnJheTxJUGVwT3B0aW9uPiA9IFtdO1xuICAgICAgICBvcHRpb25zLnB1c2goLi4uKHRoaXMubm9uRXhpc3RpbmdQcm9maWxlcy5tYXAoKG9wdCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBrZXk6IG9wdC5pZCwgdmFsdWU6IG9wdC5uYW1lXG4gICAgICAgICAgICB9O1xuICAgICAgICB9KSkpO1xuICAgICAgICB0aGlzLmRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nU2VydmljZS5vcGVuRGlhbG9nKHRoaXMuc2VsZWN0UHJvZmlsZVRlbXBsYXRlLCB7IG9wdGlvbnMgfSk7XG4gICAgfVxuXG4gICAgb25EYXRhVmlld0VkaXRDbGlja2VkKGV2ZW50OiBJUGVwUHJvZmlsZURhdGFWaWV3Q2xpY2tFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRhdGFWaWV3RWRpdENsaWNrLmVtaXQoZXZlbnQpO1xuICAgIH1cblxuICAgIG9uRGF0YVZpZXdEZWxldGVDbGlja2VkKGV2ZW50OiBJUGVwUHJvZmlsZURhdGFWaWV3Q2xpY2tFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRhdGFWaWV3RGVsZXRlQ2xpY2suZW1pdChldmVudCk7XG4gICAgfVxufVxuIl19
|
|
@@ -154,9 +154,10 @@ export class PepSearchComponent {
|
|
|
154
154
|
this.initSearch();
|
|
155
155
|
this.search.emit({ value: '' });
|
|
156
156
|
event.preventDefault();
|
|
157
|
+
/*
|
|
157
158
|
if (this.isFloating) {
|
|
158
159
|
this.showFloatingButton();
|
|
159
|
-
}
|
|
160
|
+
} */
|
|
160
161
|
}
|
|
161
162
|
onSearchClicked() {
|
|
162
163
|
if (this.isFloating) {
|
|
@@ -171,6 +172,12 @@ export class PepSearchComponent {
|
|
|
171
172
|
}
|
|
172
173
|
}
|
|
173
174
|
}
|
|
175
|
+
onFocusout() {
|
|
176
|
+
var _a;
|
|
177
|
+
if (this.isFloating && ((_a = this.searchControl.value) === null || _a === void 0 ? void 0 : _a.length) === 0) {
|
|
178
|
+
this.showFloatingButton();
|
|
179
|
+
}
|
|
180
|
+
}
|
|
174
181
|
onSearch(event) {
|
|
175
182
|
// Stop the event propagation - cause we don't want fire two events.
|
|
176
183
|
event.stopPropagation();
|
|
@@ -215,7 +222,7 @@ export class PepSearchComponent {
|
|
|
215
222
|
PepSearchComponent.decorators = [
|
|
216
223
|
{ type: Component, args: [{
|
|
217
224
|
selector: 'pep-search',
|
|
218
|
-
template: "<!-- <ng-container *ngTemplateOutlet=\"pepTemplate; context: { isFormView: false, hasParent: false }\">\n</ng-container> -->\n<ng-container *ngIf=\"shrink !== 'never'; then shrinkBlock; else staticBlock\"></ng-container>\n<ng-template #shrinkBlock>\n <div pepRtlClass class=\"pep-search-container {{ sizeType }}\" [ngClass]=\"{ 'pep-floating-search': isFloating}\"\n [@fadeInOut]=\"fadeState\">\n <div class=\"pep-search-input\">\n <ng-container *ngIf=\"type === 'auto-complete'\">\n <ng-container *ngTemplateOutlet=\"autoCompleteBlock\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"type === 'regular'\">\n <ng-container *ngTemplateOutlet=\"regularBlock\"></ng-container>\n </ng-container>\n </div>\n </div>\n <button *ngIf=\"isFloating && fadeState !='fadeIn' && showFloatSrcBtn\"\n class=\"pep-button icon-button {{ sizeType }} weak\" mat-button (click)=\"animateSearch()\">\n <mat-icon>\n <pep-icon name=\"system_search\"></pep-icon>\n </mat-icon>\n </button>\n</ng-template>\n<ng-template #staticBlock>\n <div pepRtlClass class=\"pep-search-container {{ sizeType }}\">\n <div class=\"pep-search-input\">\n <ng-container *ngIf=\"type === 'auto-complete'\">\n <ng-container *ngTemplateOutlet=\"autoCompleteBlock\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"type === 'regular'\">\n <ng-container *ngTemplateOutlet=\"regularBlock\"></ng-container>\n </ng-container>\n </div>\n </div>\n</ng-template>\n\n<ng-template #autoCompleteBlock>\n <mat-form-field appearance=\"outline\">\n <!-- (@slideInOut.done)=\"animateSearchDone()\" [@slideInOut]=\"state\" -->\n <input #searchInput class=\"body-sm pep-search-input\" matInput autocomplete=\"off\"\n [ngStyle]=\"{ textAlign: isRtl ? 'right' : 'left' }\" type=\"text\" (keyup.enter)=\"onSearch($event)\" results=\"5\"\n [formControl]=\"searchControl\" placeholder=\"{{ 'SEARCH.HINT' | translate }}...\" [matAutocomplete]=\"auto\" />\n <mat-autocomplete #auto=\"matAutocomplete\" class=\"pep-select\">\n <mat-option *ngFor=\"let value of autoCompleteValues\" [value]=\"value\" (click)=\"triggerSearch()\">\n {{value}}\n </mat-option>\n <mat-option *ngIf=\"autoCompleteValues?.length > autoCompleteTop - 1\" [value]=\"value\"\n (click)=\"triggerSearch()\">{{ 'SEARCH.MORE_RESULTS' | translate }}</mat-option>\n </mat-autocomplete>\n <div matSuffix class=\"flex align-center\">\n <ng-container *ngIf=\"triggerOn === 'click'\">\n <ng-container *ngTemplateOutlet=\"triggerOnClickBlock\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"triggerOn === 'keydown'\">\n <ng-container *ngTemplateOutlet=\"triggerOnKeydownBlock\"></ng-container>\n </ng-container>\n </div>\n </mat-form-field>\n</ng-template>\n\n<ng-template #regularBlock>\n <mat-form-field appearance=\"outline\">\n <input #searchInput class=\"body-sm pep-search-input\" matInput autocomplete=\"off\"\n [ngStyle]=\"{ textAlign: isRtl ? 'right' : 'left' }\" type=\"text\" (keyup.enter)=\"onSearch($event)\"\n [formControl]=\"searchControl\" placeholder=\"{{ 'SEARCH.HINT' | translate }}...\" />\n <div matSuffix class=\"flex align-center\">\n <ng-container *ngIf=\"triggerOn === 'click'\">\n <ng-container *ngTemplateOutlet=\"triggerOnClickBlock\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"triggerOn === 'keydown'\">\n <ng-container *ngTemplateOutlet=\"triggerOnKeydownBlock\"></ng-container>\n </ng-container>\n </div>\n </mat-form-field>\n</ng-template>\n
|
|
225
|
+
template: "<!-- <ng-container *ngTemplateOutlet=\"pepTemplate; context: { isFormView: false, hasParent: false }\">\n</ng-container> -->\n<ng-container *ngIf=\"shrink !== 'never'; then shrinkBlock; else staticBlock\"></ng-container>\n<ng-template #shrinkBlock>\n <div pepRtlClass class=\"pep-search-container {{ sizeType }}\" [ngClass]=\"{ 'pep-floating-search': isFloating}\"\n [@fadeInOut]=\"fadeState\">\n <div class=\"pep-search-input\">\n <ng-container *ngIf=\"type === 'auto-complete'\">\n <ng-container *ngTemplateOutlet=\"autoCompleteBlock\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"type === 'regular'\">\n <ng-container *ngTemplateOutlet=\"regularBlock\"></ng-container>\n </ng-container>\n </div>\n </div>\n <button *ngIf=\"isFloating && fadeState !='fadeIn' && showFloatSrcBtn\"\n class=\"pep-button icon-button {{ sizeType }} weak\" mat-button (click)=\"animateSearch()\">\n <mat-icon>\n <pep-icon name=\"system_search\"></pep-icon>\n </mat-icon>\n </button>\n</ng-template>\n<ng-template #staticBlock>\n <div pepRtlClass class=\"pep-search-container {{ sizeType }}\">\n <div class=\"pep-search-input\">\n <ng-container *ngIf=\"type === 'auto-complete'\">\n <ng-container *ngTemplateOutlet=\"autoCompleteBlock\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"type === 'regular'\">\n <ng-container *ngTemplateOutlet=\"regularBlock\"></ng-container>\n </ng-container>\n </div>\n </div>\n</ng-template>\n\n<ng-template #autoCompleteBlock>\n <mat-form-field appearance=\"outline\">\n <!-- (@slideInOut.done)=\"animateSearchDone()\" [@slideInOut]=\"state\" -->\n <input #searchInput class=\"body-sm pep-search-input\" matInput autocomplete=\"off\"\n [ngStyle]=\"{ textAlign: isRtl ? 'right' : 'left' }\" type=\"text\" (keyup.enter)=\"onSearch($event)\" results=\"5\"\n [formControl]=\"searchControl\" placeholder=\"{{ 'SEARCH.HINT' | translate }}...\" [matAutocomplete]=\"auto\" />\n <mat-autocomplete #auto=\"matAutocomplete\" class=\"pep-select\">\n <mat-option *ngFor=\"let value of autoCompleteValues\" [value]=\"value\" (click)=\"triggerSearch()\">\n {{value}}\n </mat-option>\n <mat-option *ngIf=\"autoCompleteValues?.length > autoCompleteTop - 1\" [value]=\"value\"\n (click)=\"triggerSearch()\">{{ 'SEARCH.MORE_RESULTS' | translate }}</mat-option>\n </mat-autocomplete>\n <div matSuffix class=\"flex align-center\">\n <ng-container *ngIf=\"triggerOn === 'click'\">\n <ng-container *ngTemplateOutlet=\"triggerOnClickBlock\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"triggerOn === 'keydown'\">\n <ng-container *ngTemplateOutlet=\"triggerOnKeydownBlock\"></ng-container>\n </ng-container>\n </div>\n </mat-form-field>\n</ng-template>\n\n<ng-template #regularBlock>\n <mat-form-field appearance=\"outline\">\n <input #searchInput class=\"body-sm pep-search-input\" matInput autocomplete=\"off\"\n [ngStyle]=\"{ textAlign: isRtl ? 'right' : 'left' }\" type=\"text\" (keyup.enter)=\"onSearch($event)\"\n [formControl]=\"searchControl\" placeholder=\"{{ 'SEARCH.HINT' | translate }}...\" (focusout)=\"onFocusout()\" />\n <div matSuffix class=\"flex align-center\">\n <ng-container *ngIf=\"triggerOn === 'click'\">\n <ng-container *ngTemplateOutlet=\"triggerOnClickBlock\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"triggerOn === 'keydown'\">\n <ng-container *ngTemplateOutlet=\"triggerOnKeydownBlock\"></ng-container>\n </ng-container>\n </div>\n </mat-form-field>\n</ng-template>\n<ng-template #triggerOnClickBlock>\n <mat-icon class=\"pep-text-icon pep-pointer\"\n [ngClass]=\"{'hide-clear-icon' : state == 'close' || searchControl.value?.length === 0}\"\n (click)=\"onClearClicked($event)\">\n <pep-icon name=\"system_close\"></pep-icon>\n </mat-icon>\n <span class=\"pep-text-icon pep-spacing-element pep-v-separator\"\n [ngClass]=\"{'hide-clear-icon' : state == 'close' || searchControl.value?.length === 0}\">|</span>\n <mat-icon class=\"pep-text-icon pep-pointer\" (click)=\"onSearchClicked()\">\n <pep-icon name=\"system_search\"></pep-icon>\n </mat-icon>\n</ng-template>\n\n<ng-template #triggerOnKeydownBlock>\n <ng-container *ngIf=\"searchControl.value?.length > 0; then clearBlock; else searchBlock\"></ng-container>\n <ng-template #clearBlock>\n <button class=\"pep-button regular {{ sizeType }}\" mat-button (click)=\"onClearClicked($event)\">\n <mat-icon>\n <pep-icon name=\"system_close\"></pep-icon>\n </mat-icon>\n </button>\n </ng-template>\n <ng-template #searchBlock>\n <mat-icon class=\"pep-text-icon\">\n <pep-icon name=\"system_search\"></pep-icon>\n </mat-icon>\n </ng-template>\n</ng-template>",
|
|
219
226
|
animations: [
|
|
220
227
|
trigger('slideInOut', [
|
|
221
228
|
state('close', style({
|
|
@@ -242,7 +249,7 @@ PepSearchComponent.decorators = [
|
|
|
242
249
|
transition('fadeIn => fadeOut', animate(350, style({ opacity: 0, width: '1px' }))),
|
|
243
250
|
]),
|
|
244
251
|
],
|
|
245
|
-
styles: [".pep-search-container .pep-search-input .mat-form-field{display:inherit}.pep-search-container .pep-search-input .pep-v-separator{padding:.25rem 0;padding:var(--pep-spacing-xs,.25rem) 0;height:100%}.pep-search-container .pep-search-input .pep-text-icon.pep-pointer{cursor:pointer}.pep-search-container.pep-floating-search{display:inline-flex}.pep-search-container.pep-floating-search.pep-is-action-button-visable{width:calc(100% - (.5rem * 2 + 1.5rem));width:calc(100% - (var(--pep-spacing-sm, .5rem) * 2 + var(--pep-spacing-xl, 1.5rem)))}@media (max-width:599px){.pep-search-container ::ng-deep .mat-button-wrapper{max-width:3.125rem}}"]
|
|
252
|
+
styles: [".pep-search-container .pep-search-input .mat-form-field{display:inherit}.pep-search-container .pep-search-input .pep-v-separator{padding:.25rem 0;padding:var(--pep-spacing-xs,.25rem) 0;height:100%}.pep-search-container .pep-search-input .pep-text-icon.pep-pointer{cursor:pointer}.pep-search-container .pep-search-input .hide-clear-icon{visibility:hidden}.pep-search-container.pep-floating-search{display:inline-flex}.pep-search-container.pep-floating-search.pep-is-action-button-visable{width:calc(100% - (.5rem * 2 + 1.5rem));width:calc(100% - (var(--pep-spacing-sm, .5rem) * 2 + var(--pep-spacing-xl, 1.5rem)))}@media (max-width:599px){.pep-search-container ::ng-deep .mat-button-wrapper{max-width:3.125rem}}"]
|
|
246
253
|
},] },
|
|
247
254
|
{ type: Injectable }
|
|
248
255
|
];
|
|
@@ -264,4 +271,4 @@ PepSearchComponent.propDecorators = {
|
|
|
264
271
|
stateChange: [{ type: Output }],
|
|
265
272
|
searchInput: [{ type: ViewChild, args: ['searchInput',] }]
|
|
266
273
|
};
|
|
267
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvc2VhcmNoL3NlYXJjaC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFFVCxVQUFVLEVBQ1YsS0FBSyxFQUVMLE1BQU0sRUFDTixZQUFZLEVBQ1osU0FBUyxFQUNULFVBQVUsR0FDYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFDSCxPQUFPLEVBQ1AsS0FBSyxFQUNMLEtBQUssRUFDTCxVQUFVLEVBQ1YsT0FBTyxHQUNWLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFDSCxnQkFBZ0IsRUFDaEIsaUJBQWlCLEdBRXBCLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQTREekQsTUFBTSxPQUFPLGtCQUFrQjtJQWlGM0IsWUFDWSxXQUF1QixFQUN2QixhQUErQjtRQUQvQixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUN2QixrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFsRmxDLGNBQVMsR0FBeUIsT0FBTyxDQUFDO1FBQzFDLG9CQUFlLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLHdCQUFtQixHQUFHLEVBQUUsQ0FBQztRQVVqQyx1Q0FBdUM7UUFFL0IsWUFBTyxHQUF3QixjQUFjLENBQUM7UUFtQjlDLG1CQUFjLEdBQWdCLElBQUksQ0FBQztRQVNuQyx1QkFBa0IsR0FBRyxLQUFLLENBQUM7UUFXbkM7Ozs7O1dBS0c7UUFDTSxhQUFRLEdBQWdCLElBQUksQ0FBQztRQUd0QyxXQUFNLEdBQXVDLElBQUksWUFBWSxFQUF3QixDQUFDO1FBRXRGLHVCQUFrQixHQUFvRCxJQUFJLFlBQVksRUFBcUMsQ0FBQztRQUU1SCxnQkFBVyxHQUE2QyxJQUFJLFlBQVksRUFBOEIsQ0FBQztRQUl0RixlQUFVLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUNsRCxTQUFJLEdBQWtCLFNBQVMsQ0FBQztRQUVoQyxVQUFLLEdBQXFCLE1BQU0sQ0FBQztRQUNqQyxjQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLG9CQUFlLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLFVBQUssR0FBRyxLQUFLLENBQUM7UUFDZCxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBT2YsRUFBRTtJQUNOLENBQUM7SUFsRkQsSUFDSSxrQkFBa0IsQ0FBQyxHQUFVO1FBQzdCLElBQUksQ0FBQyxJQUFJLEdBQUcsZUFBZSxDQUFDO1FBQzVCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxHQUFHLENBQUM7SUFDbkMsQ0FBQztJQUNELElBQUksa0JBQWtCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDO0lBQ3BDLENBQUM7SUFLRCxJQUNJLE1BQU0sQ0FBQyxLQUEwQjtRQUNqQyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUE7SUFDeEIsQ0FBQztJQUNELElBQUksTUFBTTtRQUNOLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFDSSxLQUFLLENBQUMsR0FBVztRQUNqQixJQUFJLENBQUMsNkJBQTZCLEVBQUUsQ0FBQztRQUNyQyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBQ0QsSUFBSSxLQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUdELElBQ0ksYUFBYSxDQUFDLElBQWlCO1FBQy9CLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO0lBQy9CLENBQUM7SUFDRCxJQUFJLGFBQWE7UUFDYixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDL0IsQ0FBQztJQUdELElBQ0ksaUJBQWlCLENBQUMsS0FBYztRQUNoQyxJQUFJLEtBQUssRUFBRTtZQUNQLElBQUksQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO1NBQ3ZDO0lBQ0wsQ0FBQztJQUNELElBQUksaUJBQWlCO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDO0lBQ25DLENBQUM7SUFvQ08sYUFBYTtRQUNqQixJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssY0FBYyxFQUFFO1lBQ2hDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsR0FBRyxpQkFBaUIsQ0FBQyxFQUFFLENBQUM7U0FDNUQ7YUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssUUFBUSxFQUFFO1lBQ2pDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1NBQzFCO2FBQU0sRUFBRSxRQUFRO1lBQ2IsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7U0FDM0I7SUFDTCxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ25ELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUVyQixnQ0FBZ0M7WUFDaEMsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO2dCQUNqQixJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztnQkFFN0IsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7YUFDN0I7aUJBQU07Z0JBQ0gsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7YUFDN0I7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN4QyxJQUFJLENBQUMsNkJBQTZCLEVBQUUsQ0FBQztRQUVyQyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVk7YUFDMUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ3BELFNBQVMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ3BCLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxlQUFlLEVBQUU7Z0JBQy9CLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxFQUFFLENBQUM7Z0JBQzdCLElBQ0ksUUFBUTtvQkFDUixRQUFRLENBQUMsTUFBTSxHQUFHLENBQUM7b0JBQ25CLFFBQVEsS0FBSyxJQUFJLENBQUMsU0FBUyxFQUM3QjtvQkFDRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDO3dCQUN6QixLQUFLLEVBQUUsUUFBUTt3QkFDZixHQUFHLEVBQUUsSUFBSSxDQUFDLGVBQWU7cUJBQzVCLENBQUMsQ0FBQztpQkFDTjthQUNKO2lCQUFNLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxTQUFTLEVBQUU7Z0JBQ2hDLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxTQUFTLEVBQUU7b0JBQzlCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztpQkFDMUI7YUFDSjtRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVPLDRCQUE0QjtRQUNoQywyREFBMkQ7UUFDM0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFTyw2QkFBNkI7UUFDakMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDckIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO1NBQzFDO0lBQ0wsQ0FBQztJQUVPLElBQUk7UUFDUixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDMUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ1YsQ0FBQztJQUVPLGtCQUFrQjtRQUN0QixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUUzQixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztZQUMxQyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztRQUNoQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFFUiwyQkFBMkI7UUFDM0IsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxVQUFVO1FBQ04sSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFVO1FBQ3JCLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxlQUFlLEVBQUU7WUFDL0IsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEVBQUUsQ0FBQztTQUNoQztRQUVELElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWhDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUV2QixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDakIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7U0FDN0I7SUFDTCxDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNqQixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7U0FDeEI7YUFBTTtZQUNILElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxNQUFNLEVBQUU7Z0JBQ3ZCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQzthQUN4QjtpQkFBTTtnQkFDSCxJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQzthQUN2QjtTQUNKO0lBQ0wsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFZO1FBQ2pCLG9FQUFvRTtRQUNwRSxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxhQUFhO1FBQ1QsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLGVBQWUsRUFBRTtZQUMvQixJQUFJLENBQUMsa0JBQWtCLEdBQUcsRUFBRSxDQUFDO1NBQ2hDO1FBRUQsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ1osSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxhQUFhO1FBQ1QsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLE1BQU0sRUFBRTtZQUN2QixJQUFJLENBQUMsU0FBUztnQkFDVixJQUFJLENBQUMsU0FBUyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDeEQsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLFFBQVEsRUFBRTtnQkFDN0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztnQkFDekMsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7Z0JBQzdCLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO2FBQzFDO1NBQ0o7YUFBTTtZQUNILElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO1NBQzdCO0lBQ0wsQ0FBQztJQUVELCtFQUErRTtJQUMvRSxtREFBbUQ7SUFDbkQsaUJBQWlCO1FBQ2IsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLE1BQU0sRUFBRTtZQUN2QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO1NBQzdDO0lBQ0wsQ0FBQztJQUVELGVBQWU7UUFDWCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQztRQUV2QyxJQUFJLEtBQUssS0FBSyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQzFCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztTQUMvQjtJQUNMLENBQUM7OztZQTNTSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLFlBQVk7Z0JBQ3RCLGtuS0FBc0M7Z0JBRXRDLFVBQVUsRUFBRTtvQkFDUixPQUFPLENBQUMsWUFBWSxFQUFFO3dCQUNsQixLQUFLLENBQ0QsT0FBTyxFQUNQLEtBQUssQ0FBQzs0QkFDRixLQUFLLEVBQUUsR0FBRzs0QkFDVixPQUFPLEVBQUUsR0FBRzs0QkFDWixNQUFNLEVBQUUsTUFBTTt5QkFDakIsQ0FBQyxDQUNMO3dCQUNELEtBQUssQ0FDRCxNQUFNLEVBQ04sS0FBSyxDQUFDOzRCQUNGLEtBQUssRUFBRSxTQUFTO3lCQUNuQixDQUFDLENBQ0w7d0JBQ0QsVUFBVSxDQUFDLGVBQWUsRUFBRSxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FBQzt3QkFDekQsVUFBVSxDQUFDLGVBQWUsRUFBRSxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FBQztxQkFDNUQsQ0FBQztvQkFDRixPQUFPLENBQUMsV0FBVyxFQUFFO3dCQUNqQixLQUFLLENBQ0QsU0FBUyxFQUNULEtBQUssQ0FBQzs0QkFDRixPQUFPLEVBQUUsQ0FBQzs0QkFDVixLQUFLLEVBQUUsS0FBSzt5QkFDZixDQUFDLENBQ0w7d0JBQ0QsS0FBSyxDQUNELFFBQVEsRUFDUixLQUFLLENBQUM7NEJBQ0YsT0FBTyxFQUFFLENBQUM7NEJBQ1YsS0FBSyxFQUFFLE1BQU07eUJBQ2hCLENBQUMsQ0FDTDt3QkFDRCxVQUFVLENBQ04sbUJBQW1CLEVBQ25CLE9BQU8sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUNyRDt3QkFDRCxVQUFVLENBQ04sbUJBQW1CLEVBQ25CLE9BQU8sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUNwRDtxQkFDSixDQUFDO2lCQUNMOzthQUNKO1lBQ0EsVUFBVTs7O1lBM0VQLFVBQVU7WUFZVixnQkFBZ0I7Ozt3QkFpRWYsS0FBSzs4QkFDTCxLQUFLO2lDQUVMLEtBQUs7cUJBWUwsS0FBSztvQkFTTCxLQUFLOzRCQVVMLEtBQUs7Z0NBU0wsS0FBSzt1QkFnQkwsS0FBSztxQkFFTCxNQUFNO2lDQUVOLE1BQU07MEJBRU4sTUFBTTswQkFHTixTQUFTLFNBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIE9uSW5pdCxcbiAgICBJbmplY3RhYmxlLFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPdXRwdXQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIFZpZXdDaGlsZCxcbiAgICBFbGVtZW50UmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gICAgdHJpZ2dlcixcbiAgICBzdGF0ZSxcbiAgICBzdHlsZSxcbiAgICB0cmFuc2l0aW9uLFxuICAgIGFuaW1hdGUsXG59IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIFBlcExheW91dFNlcnZpY2UsXG4gICAgUGVwU2NyZWVuU2l6ZVR5cGUsXG4gICAgUGVwU2l6ZVR5cGUsXG59IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtcbiAgICBJUGVwU2VhcmNoQ2xpY2tFdmVudCxcbiAgICBJUGVwU2VhcmNoQXV0b2NvbXBsZXRlQ2hhbmdlRXZlbnQsXG4gICAgSVBlcFNlYXJjaFN0YXRlQ2hhbmdlRXZlbnQsXG4gICAgUGVwU2VhcmNoVHlwZSxcbiAgICBQZXBTZWFyY2hUcmlnZ2VyVHlwZSxcbiAgICBQZXBTZWFyY2hTaHJpbmtUeXBlLFxufSBmcm9tICcuL3NlYXJjaC5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncGVwLXNlYXJjaCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc2VhcmNoLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgYW5pbWF0aW9uczogW1xuICAgICAgICB0cmlnZ2VyKCdzbGlkZUluT3V0JywgW1xuICAgICAgICAgICAgc3RhdGUoXG4gICAgICAgICAgICAgICAgJ2Nsb3NlJyxcbiAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAnMCcsXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICcwJyxcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAnbm9uZScsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBzdGF0ZShcbiAgICAgICAgICAgICAgICAnb3BlbicsXG4gICAgICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogJ2luaGVyaXQnLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgdHJhbnNpdGlvbignY2xvc2UgPT4gb3BlbicsIGFuaW1hdGUoJzUwMG1zIGVhc2UtaW4tb3V0JykpLFxuICAgICAgICAgICAgdHJhbnNpdGlvbignb3BlbiA9PiBjbG9zZScsIGFuaW1hdGUoJzUwMG1zIGVhc2UtaW4tb3V0JykpLFxuICAgICAgICBdKSxcbiAgICAgICAgdHJpZ2dlcignZmFkZUluT3V0JywgW1xuICAgICAgICAgICAgc3RhdGUoXG4gICAgICAgICAgICAgICAgJ2ZhZGVPdXQnLFxuICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMCxcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICcxcHgnLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgc3RhdGUoXG4gICAgICAgICAgICAgICAgJ2ZhZGVJbicsXG4gICAgICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgdHJhbnNpdGlvbihcbiAgICAgICAgICAgICAgICAnZmFkZU91dCA9PiBmYWRlSW4nLFxuICAgICAgICAgICAgICAgIGFuaW1hdGUoMzAwLCBzdHlsZSh7IG9wYWNpdHk6IDEsIHdpZHRoOiAnMTAwJScgfSkpXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgdHJhbnNpdGlvbihcbiAgICAgICAgICAgICAgICAnZmFkZUluID0+IGZhZGVPdXQnLFxuICAgICAgICAgICAgICAgIGFuaW1hdGUoMzUwLCBzdHlsZSh7IG9wYWNpdHk6IDAsIHdpZHRoOiAnMXB4JyB9KSlcbiAgICAgICAgICAgICksXG4gICAgICAgIF0pLFxuICAgIF0sXG59KVxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFBlcFNlYXJjaENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKSB0cmlnZ2VyT246IFBlcFNlYXJjaFRyaWdnZXJUeXBlID0gJ2NsaWNrJztcbiAgICBASW5wdXQoKSBhdXRvQ29tcGxldGVUb3AgPSAyMDtcbiAgICBwcml2YXRlIF9hdXRvQ29tcGxldGVWYWx1ZXMgPSBbXTtcbiAgICBASW5wdXQoKVxuICAgIHNldCBhdXRvQ29tcGxldGVWYWx1ZXModmFsOiBhbnlbXSkge1xuICAgICAgICB0aGlzLnR5cGUgPSAnYXV0by1jb21wbGV0ZSc7XG4gICAgICAgIHRoaXMuX2F1dG9Db21wbGV0ZVZhbHVlcyA9IHZhbDtcbiAgICB9XG4gICAgZ2V0IGF1dG9Db21wbGV0ZVZhbHVlcygpOiBhbnlbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hdXRvQ29tcGxldGVWYWx1ZXM7XG4gICAgfVxuXG4gICAgLy8gQElucHV0KCkgc2hyaW5rSW5TbWFsbFNjcmVlbiA9IHRydWU7XG5cbiAgICBwcml2YXRlIF9zaHJpbms6IFBlcFNlYXJjaFNocmlua1R5cGUgPSAnc21hbGwtc2NyZWVuJztcbiAgICBASW5wdXQoKVxuICAgIHNldCBzaHJpbmsodmFsdWU6IFBlcFNlYXJjaFNocmlua1R5cGUpIHtcbiAgICAgICAgdGhpcy5fc2hyaW5rID0gdmFsdWU7XG4gICAgICAgIHRoaXMuc2V0SXNGbG9hdGluZygpXG4gICAgfVxuICAgIGdldCBzaHJpbmsoKTogUGVwU2VhcmNoU2hyaW5rVHlwZSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zaHJpbms7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBzZXQgdmFsdWUodmFsOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5jcmVhdGVTZWFyY2hDb250cm9sSWZOb3RFeGlzdCgpO1xuICAgICAgICB0aGlzLnNlYXJjaENvbnRyb2wuc2V0VmFsdWUodmFsKTtcbiAgICB9XG4gICAgZ2V0IHZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlYXJjaENvbnRyb2wudmFsdWUgfHwgJyc7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfc2VhcmNoQ29udHJvbDogRm9ybUNvbnRyb2wgPSBudWxsO1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHNlYXJjaENvbnRyb2woY3RybDogRm9ybUNvbnRyb2wpIHtcbiAgICAgICAgdGhpcy5fc2VhcmNoQ29udHJvbCA9IGN0cmw7XG4gICAgfVxuICAgIGdldCBzZWFyY2hDb250cm9sKCk6IEZvcm1Db250cm9sIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NlYXJjaENvbnRyb2w7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfdXNlQXNXZWJDb21wb25lbnQgPSBmYWxzZTtcbiAgICBASW5wdXQoKVxuICAgIHNldCB1c2VBc1dlYkNvbXBvbmVudCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuZXhwb3J0RnVuY3Rpb25zT25Ib3N0RWxlbWVudCgpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGdldCB1c2VBc1dlYkNvbXBvbmVudCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3VzZUFzV2ViQ29tcG9uZW50O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBzaXplIG9mIHRoZSBidXR0b24uXG4gICAgICpcbiAgICAgKiBAdHlwZSB7UGVwU2l6ZVR5cGV9XG4gICAgICogQG1lbWJlcm9mIFBlcEJ1dHRvbkNvbXBvbmVudFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHNpemVUeXBlOiBQZXBTaXplVHlwZSA9ICdtZCc7XG5cbiAgICBAT3V0cHV0KClcbiAgICBzZWFyY2g6IEV2ZW50RW1pdHRlcjxJUGVwU2VhcmNoQ2xpY2tFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPElQZXBTZWFyY2hDbGlja0V2ZW50PigpO1xuICAgIEBPdXRwdXQoKVxuICAgIGF1dG9jb21wbGV0ZUNoYW5nZTogRXZlbnRFbWl0dGVyPElQZXBTZWFyY2hBdXRvY29tcGxldGVDaGFuZ2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPElQZXBTZWFyY2hBdXRvY29tcGxldGVDaGFuZ2VFdmVudD4oKTtcbiAgICBAT3V0cHV0KClcbiAgICBzdGF0ZUNoYW5nZTogRXZlbnRFbWl0dGVyPElQZXBTZWFyY2hTdGF0ZUNoYW5nZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8SVBlcFNlYXJjaFN0YXRlQ2hhbmdlRXZlbnQ+KCk7XG5cbiAgICBAVmlld0NoaWxkKCdzZWFyY2hJbnB1dCcpIHNlYXJjaElucHV0OiBFbGVtZW50UmVmO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveWVkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICB0eXBlOiBQZXBTZWFyY2hUeXBlID0gJ3JlZ3VsYXInO1xuICAgIGZhZGVTdGF0ZTogJ2ZhZGVPdXQnIHwgJ2ZhZGVJbic7XG4gICAgc3RhdGU6ICdvcGVuJyB8ICdjbG9zZScgPSAnb3Blbic7XG4gICAgbGFzdFZhbHVlID0gbnVsbDtcbiAgICBzaG93RmxvYXRTcmNCdG4gPSB0cnVlO1xuICAgIGlzUnRsID0gZmFsc2U7XG4gICAgaXNGbG9hdGluZyA9IGZhbHNlO1xuICAgIHNjcmVlblNpemU6IFBlcFNjcmVlblNpemVUeXBlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgaG9zdEVsZW1lbnQ6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgbGF5b3V0U2VydmljZTogUGVwTGF5b3V0U2VydmljZVxuICAgICkge1xuICAgICAgICAvL1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0SXNGbG9hdGluZygpIHtcbiAgICAgICAgaWYgKHRoaXMuc2hyaW5rID09PSAnc21hbGwtc2NyZWVuJykge1xuICAgICAgICAgICAgdGhpcy5pc0Zsb2F0aW5nID0gdGhpcy5zY3JlZW5TaXplID4gUGVwU2NyZWVuU2l6ZVR5cGUuU007XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5zaHJpbmsgPT09ICdhbHdheXMnKSB7XG4gICAgICAgICAgICB0aGlzLmlzRmxvYXRpbmcgPSB0cnVlO1xuICAgICAgICB9IGVsc2UgeyAvLyBuZXZlclxuICAgICAgICAgICAgdGhpcy5pc0Zsb2F0aW5nID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sYXlvdXRTZXJ2aWNlLm9uUmVzaXplJC5waXBlKCkuc3Vic2NyaWJlKChzaXplKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNjcmVlblNpemUgPSBzaXplO1xuICAgICAgICAgICAgdGhpcy5zZXRJc0Zsb2F0aW5nKCk7XG5cbiAgICAgICAgICAgIC8vIEp1c3QgZm9yIHRoZSBzbW9vdGUgYW5pbWF0aW9uXG4gICAgICAgICAgICBpZiAodGhpcy5pc0Zsb2F0aW5nKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zaG93RmxvYXRTcmNCdG4gPSBmYWxzZTtcblxuICAgICAgICAgICAgICAgIHRoaXMuc2hvd0Zsb2F0aW5nQnV0dG9uKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuZmFkZVN0YXRlID0gJ2ZhZGVJbic7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuaXNSdGwgPSB0aGlzLmxheW91dFNlcnZpY2UuaXNSdGwoKTtcbiAgICAgICAgdGhpcy5jcmVhdGVTZWFyY2hDb250cm9sSWZOb3RFeGlzdCgpO1xuXG4gICAgICAgIHRoaXMuc2VhcmNoQ29udHJvbC52YWx1ZUNoYW5nZXNcbiAgICAgICAgICAgIC5waXBlKGRlYm91bmNlVGltZSgxMDAwKSwgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3llZCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChuZXdWYWx1ZSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLnR5cGUgPT09ICdhdXRvLWNvbXBsZXRlJykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmF1dG9Db21wbGV0ZVZhbHVlcyA9IFtdO1xuICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICBuZXdWYWx1ZSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgbmV3VmFsdWUubGVuZ3RoID4gMiAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgbmV3VmFsdWUgIT09IHRoaXMubGFzdFZhbHVlXG4gICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hdXRvY29tcGxldGVDaGFuZ2UuZW1pdCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IG5ld1ZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogdGhpcy5hdXRvQ29tcGxldGVUb3AsXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy50eXBlID09PSAncmVndWxhcicpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMudHJpZ2dlck9uID09PSAna2V5ZG93bicpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZW1pdFNlYXJjaENsaWNrKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZGVzdHJveWVkLm5leHQoKTtcbiAgICAgICAgdGhpcy5fZGVzdHJveWVkLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBleHBvcnRGdW5jdGlvbnNPbkhvc3RFbGVtZW50KCkge1xuICAgICAgICAvLyBUaGlzIGlzIGZvciB3ZWIgY29tcG9uZW50IHVzYWdlIGZvciB1c2UgdGhvc2UgZnVuY3Rpb25zLlxuICAgICAgICB0aGlzLmhvc3RFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuaW5pdFNlYXJjaCA9IHRoaXMuaW5pdFNlYXJjaC5iaW5kKHRoaXMpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlU2VhcmNoQ29udHJvbElmTm90RXhpc3QoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5zZWFyY2hDb250cm9sKSB7XG4gICAgICAgICAgICB0aGlzLnNlYXJjaENvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgYmx1cigpIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNlYXJjaElucHV0Lm5hdGl2ZUVsZW1lbnQuYmx1cigpO1xuICAgICAgICB9LCAwKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNob3dGbG9hdGluZ0J1dHRvbigpIHtcbiAgICAgICAgdGhpcy5mYWRlU3RhdGUgPSAnZmFkZU91dCc7XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlLmVtaXQoeyBzdGF0ZTogJ2Nsb3NlJyB9KTtcbiAgICAgICAgICAgIHRoaXMuc2hvd0Zsb2F0U3JjQnRuID0gdHJ1ZTtcbiAgICAgICAgfSwgNTAwKTtcblxuICAgICAgICAvLyBjbG9zZSB0aGUgcGhvbmUga2V5Ym9hcmRcbiAgICAgICAgdGhpcy5ibHVyKCk7XG4gICAgfVxuXG4gICAgaW5pdFNlYXJjaCgpIHtcbiAgICAgICAgdGhpcy5sYXN0VmFsdWUgPSBudWxsO1xuICAgICAgICB0aGlzLnNlYXJjaENvbnRyb2wuc2V0VmFsdWUoJycpO1xuICAgIH1cblxuICAgIG9uQ2xlYXJDbGlja2VkKGV2ZW50OiBhbnkpIHtcbiAgICAgICAgaWYgKHRoaXMudHlwZSA9PT0gJ2F1dG8tY29tcGxldGUnKSB7XG4gICAgICAgICAgICB0aGlzLmF1dG9Db21wbGV0ZVZhbHVlcyA9IFtdO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pbml0U2VhcmNoKCk7XG4gICAgICAgIHRoaXMuc2VhcmNoLmVtaXQoeyB2YWx1ZTogJycgfSk7XG5cbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgICBpZiAodGhpcy5pc0Zsb2F0aW5nKSB7XG4gICAgICAgICAgICB0aGlzLnNob3dGbG9hdGluZ0J1dHRvbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25TZWFyY2hDbGlja2VkKCkge1xuICAgICAgICBpZiAodGhpcy5pc0Zsb2F0aW5nKSB7XG4gICAgICAgICAgICB0aGlzLnRyaWdnZXJTZWFyY2goKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnN0YXRlID09PSAnb3BlbicpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnRyaWdnZXJTZWFyY2goKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdGF0ZSA9ICdvcGVuJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uU2VhcmNoKGV2ZW50OiBFdmVudCkge1xuICAgICAgICAvLyBTdG9wIHRoZSBldmVudCBwcm9wYWdhdGlvbiAtIGNhdXNlIHdlIGRvbid0IHdhbnQgZmlyZSB0d28gZXZlbnRzLlxuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgdGhpcy50cmlnZ2VyU2VhcmNoKCk7XG4gICAgfVxuXG4gICAgdHJpZ2dlclNlYXJjaCgpIHtcbiAgICAgICAgaWYgKHRoaXMudHlwZSA9PT0gJ2F1dG8tY29tcGxldGUnKSB7XG4gICAgICAgICAgICB0aGlzLmF1dG9Db21wbGV0ZVZhbHVlcyA9IFtdO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5ibHVyKCk7XG4gICAgICAgIHRoaXMuZW1pdFNlYXJjaENsaWNrKCk7XG4gICAgfVxuXG4gICAgYW5pbWF0ZVNlYXJjaCgpIHtcbiAgICAgICAgaWYgKHRoaXMuc3RhdGUgPT09ICdvcGVuJykge1xuICAgICAgICAgICAgdGhpcy5mYWRlU3RhdGUgPVxuICAgICAgICAgICAgICAgIHRoaXMuZmFkZVN0YXRlID09PSAnZmFkZU91dCcgPyAnZmFkZUluJyA6ICdmYWRlT3V0JztcbiAgICAgICAgICAgIGlmICh0aGlzLmZhZGVTdGF0ZSA9PT0gJ2ZhZGVJbicpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlLmVtaXQoeyBzdGF0ZTogJ29wZW4nIH0pO1xuICAgICAgICAgICAgICAgIHRoaXMuc2hvd0Zsb2F0U3JjQnRuID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWFyY2hJbnB1dC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmZhZGVTdGF0ZSA9ICdmYWRlSW4nO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gZG8gdGhlIGVtaXQganVzdCB3aGVuIGRvbmUgYmVjYXVzZSBvZiB0aGUgbGluZSBicmVhayB3aGVuIGNsb3NpbmcgdGhlIHNlYXJjaFxuICAgIC8vIGNvbXBvbmVudCBhbmQgc2hvd2VuIGFsbCBvdGhlciBjb21wb25lbnRzIGJlZm9yZVxuICAgIGFuaW1hdGVTZWFyY2hEb25lKCkge1xuICAgICAgICBpZiAodGhpcy5zdGF0ZSAhPT0gJ29wZW4nKSB7XG4gICAgICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlLmVtaXQoeyBzdGF0ZTogJ2Nsb3NlJyB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGVtaXRTZWFyY2hDbGljaygpIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLnNlYXJjaENvbnRyb2wudmFsdWU7XG5cbiAgICAgICAgaWYgKHZhbHVlICE9PSB0aGlzLmxhc3RWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5sYXN0VmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoLmVtaXQoeyB2YWx1ZSB9KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
274
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvc2VhcmNoL3NlYXJjaC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFFVCxVQUFVLEVBQ1YsS0FBSyxFQUVMLE1BQU0sRUFDTixZQUFZLEVBQ1osU0FBUyxFQUNULFVBQVUsR0FDYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFDSCxPQUFPLEVBQ1AsS0FBSyxFQUNMLEtBQUssRUFDTCxVQUFVLEVBQ1YsT0FBTyxHQUNWLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFDSCxnQkFBZ0IsRUFDaEIsaUJBQWlCLEdBRXBCLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQTREekQsTUFBTSxPQUFPLGtCQUFrQjtJQWlGM0IsWUFDWSxXQUF1QixFQUN2QixhQUErQjtRQUQvQixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUN2QixrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFsRmxDLGNBQVMsR0FBeUIsT0FBTyxDQUFDO1FBQzFDLG9CQUFlLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLHdCQUFtQixHQUFHLEVBQUUsQ0FBQztRQVVqQyx1Q0FBdUM7UUFFL0IsWUFBTyxHQUF3QixjQUFjLENBQUM7UUFtQjlDLG1CQUFjLEdBQWdCLElBQUksQ0FBQztRQVNuQyx1QkFBa0IsR0FBRyxLQUFLLENBQUM7UUFXbkM7Ozs7O1dBS0c7UUFDTSxhQUFRLEdBQWdCLElBQUksQ0FBQztRQUd0QyxXQUFNLEdBQXVDLElBQUksWUFBWSxFQUF3QixDQUFDO1FB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VCxLQUFLLENBQUM7NEJBQ0YsT0FBTyxFQUFFLENBQUM7NEJBQ1YsS0FBSyxFQUFFLEtBQUs7eUJBQ2YsQ0FBQyxDQUNMO3dCQUNELEtBQUssQ0FDRCxRQUFRLEVBQ1IsS0FBSyxDQUFDOzRCQUNGLE9BQU8sRUFBRSxDQUFDOzRCQUNWLEtBQUssRUFBRSxNQUFNO3lCQUNoQixDQUFDLENBQ0w7d0JBQ0QsVUFBVSxDQUNOLG1CQUFtQixFQUNuQixPQUFPLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FDckQ7d0JBQ0QsVUFBVSxDQUNOLG1CQUFtQixFQUNuQixPQUFPLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FDcEQ7cUJBQ0osQ0FBQztpQkFDTDs7YUFDSjtZQUNBLFVBQVU7OztZQTNFUCxVQUFVO1lBWVYsZ0JBQWdCOzs7d0JBaUVmLEtBQUs7OEJBQ0wsS0FBSztpQ0FFTCxLQUFLO3FCQVlMLEtBQUs7b0JBU0wsS0FBSzs0QkFVTCxLQUFLO2dDQVNMLEtBQUs7dUJBZ0JMLEtBQUs7cUJBRUwsTUFBTTtpQ0FFTixNQUFNOzBCQUVOLE1BQU07MEJBR04sU0FBUyxTQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBPbkluaXQsXG4gICAgSW5qZWN0YWJsZSxcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT3V0cHV0LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBWaWV3Q2hpbGQsXG4gICAgRWxlbWVudFJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICAgIHRyaWdnZXIsXG4gICAgc3RhdGUsXG4gICAgc3R5bGUsXG4gICAgdHJhbnNpdGlvbixcbiAgICBhbmltYXRlLFxufSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgICBQZXBMYXlvdXRTZXJ2aWNlLFxuICAgIFBlcFNjcmVlblNpemVUeXBlLFxuICAgIFBlcFNpemVUeXBlLFxufSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYic7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7XG4gICAgSVBlcFNlYXJjaENsaWNrRXZlbnQsXG4gICAgSVBlcFNlYXJjaEF1dG9jb21wbGV0ZUNoYW5nZUV2ZW50LFxuICAgIElQZXBTZWFyY2hTdGF0ZUNoYW5nZUV2ZW50LFxuICAgIFBlcFNlYXJjaFR5cGUsXG4gICAgUGVwU2VhcmNoVHJpZ2dlclR5cGUsXG4gICAgUGVwU2VhcmNoU2hyaW5rVHlwZSxcbn0gZnJvbSAnLi9zZWFyY2gubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3BlcC1zZWFyY2gnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2guY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NlYXJjaC5jb21wb25lbnQuc2NzcyddLFxuICAgIGFuaW1hdGlvbnM6IFtcbiAgICAgICAgdHJpZ2dlcignc2xpZGVJbk91dCcsIFtcbiAgICAgICAgICAgIHN0YXRlKFxuICAgICAgICAgICAgICAgICdjbG9zZScsXG4gICAgICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogJzAnLFxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAnMCcsXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogJ25vbmUnLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgc3RhdGUoXG4gICAgICAgICAgICAgICAgJ29wZW4nLFxuICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICdpbmhlcml0JyxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJ2Nsb3NlID0+IG9wZW4nLCBhbmltYXRlKCc1MDBtcyBlYXNlLWluLW91dCcpKSxcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJ29wZW4gPT4gY2xvc2UnLCBhbmltYXRlKCc1MDBtcyBlYXNlLWluLW91dCcpKSxcbiAgICAgICAgXSksXG4gICAgICAgIHRyaWdnZXIoJ2ZhZGVJbk91dCcsIFtcbiAgICAgICAgICAgIHN0YXRlKFxuICAgICAgICAgICAgICAgICdmYWRlT3V0JyxcbiAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAsXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAnMXB4JyxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHN0YXRlKFxuICAgICAgICAgICAgICAgICdmYWRlSW4nLFxuICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMSxcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHRyYW5zaXRpb24oXG4gICAgICAgICAgICAgICAgJ2ZhZGVPdXQgPT4gZmFkZUluJyxcbiAgICAgICAgICAgICAgICBhbmltYXRlKDMwMCwgc3R5bGUoeyBvcGFjaXR5OiAxLCB3aWR0aDogJzEwMCUnIH0pKVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHRyYW5zaXRpb24oXG4gICAgICAgICAgICAgICAgJ2ZhZGVJbiA9PiBmYWRlT3V0JyxcbiAgICAgICAgICAgICAgICBhbmltYXRlKDM1MCwgc3R5bGUoeyBvcGFjaXR5OiAwLCB3aWR0aDogJzFweCcgfSkpXG4gICAgICAgICAgICApLFxuICAgICAgICBdKSxcbiAgICBdLFxufSlcbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBQZXBTZWFyY2hDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KCkgdHJpZ2dlck9uOiBQZXBTZWFyY2hUcmlnZ2VyVHlwZSA9ICdjbGljayc7XG4gICAgQElucHV0KCkgYXV0b0NvbXBsZXRlVG9wID0gMjA7XG4gICAgcHJpdmF0ZSBfYXV0b0NvbXBsZXRlVmFsdWVzID0gW107XG4gICAgQElucHV0KClcbiAgICBzZXQgYXV0b0NvbXBsZXRlVmFsdWVzKHZhbDogYW55W10pIHtcbiAgICAgICAgdGhpcy50eXBlID0gJ2F1dG8tY29tcGxldGUnO1xuICAgICAgICB0aGlzLl9hdXRvQ29tcGxldGVWYWx1ZXMgPSB2YWw7XG4gICAgfVxuICAgIGdldCBhdXRvQ29tcGxldGVWYWx1ZXMoKTogYW55W10ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXV0b0NvbXBsZXRlVmFsdWVzO1xuICAgIH1cblxuICAgIC8vIEBJbnB1dCgpIHNocmlua0luU21hbGxTY3JlZW4gPSB0cnVlO1xuXG4gICAgcHJpdmF0ZSBfc2hyaW5rOiBQZXBTZWFyY2hTaHJpbmtUeXBlID0gJ3NtYWxsLXNjcmVlbic7XG4gICAgQElucHV0KClcbiAgICBzZXQgc2hyaW5rKHZhbHVlOiBQZXBTZWFyY2hTaHJpbmtUeXBlKSB7XG4gICAgICAgIHRoaXMuX3NocmluayA9IHZhbHVlO1xuICAgICAgICB0aGlzLnNldElzRmxvYXRpbmcoKVxuICAgIH1cbiAgICBnZXQgc2hyaW5rKCk6IFBlcFNlYXJjaFNocmlua1R5cGUge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2hyaW5rO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IHZhbHVlKHZhbDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuY3JlYXRlU2VhcmNoQ29udHJvbElmTm90RXhpc3QoKTtcbiAgICAgICAgdGhpcy5zZWFyY2hDb250cm9sLnNldFZhbHVlKHZhbCk7XG4gICAgfVxuICAgIGdldCB2YWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5zZWFyY2hDb250cm9sLnZhbHVlIHx8ICcnO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3NlYXJjaENvbnRyb2w6IEZvcm1Db250cm9sID0gbnVsbDtcbiAgICBASW5wdXQoKVxuICAgIHNldCBzZWFyY2hDb250cm9sKGN0cmw6IEZvcm1Db250cm9sKSB7XG4gICAgICAgIHRoaXMuX3NlYXJjaENvbnRyb2wgPSBjdHJsO1xuICAgIH1cbiAgICBnZXQgc2VhcmNoQ29udHJvbCgpOiBGb3JtQ29udHJvbCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zZWFyY2hDb250cm9sO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3VzZUFzV2ViQ29tcG9uZW50ID0gZmFsc2U7XG4gICAgQElucHV0KClcbiAgICBzZXQgdXNlQXNXZWJDb21wb25lbnQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmV4cG9ydEZ1bmN0aW9uc09uSG9zdEVsZW1lbnQoKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBnZXQgdXNlQXNXZWJDb21wb25lbnQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl91c2VBc1dlYkNvbXBvbmVudDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgc2l6ZSBvZiB0aGUgYnV0dG9uLlxuICAgICAqXG4gICAgICogQHR5cGUge1BlcFNpemVUeXBlfVxuICAgICAqIEBtZW1iZXJvZiBQZXBCdXR0b25Db21wb25lbnRcbiAgICAgKi9cbiAgICBASW5wdXQoKSBzaXplVHlwZTogUGVwU2l6ZVR5cGUgPSAnbWQnO1xuXG4gICAgQE91dHB1dCgpXG4gICAgc2VhcmNoOiBFdmVudEVtaXR0ZXI8SVBlcFNlYXJjaENsaWNrRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxJUGVwU2VhcmNoQ2xpY2tFdmVudD4oKTtcbiAgICBAT3V0cHV0KClcbiAgICBhdXRvY29tcGxldGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxJUGVwU2VhcmNoQXV0b2NvbXBsZXRlQ2hhbmdlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxJUGVwU2VhcmNoQXV0b2NvbXBsZXRlQ2hhbmdlRXZlbnQ+KCk7XG4gICAgQE91dHB1dCgpXG4gICAgc3RhdGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxJUGVwU2VhcmNoU3RhdGVDaGFuZ2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPElQZXBTZWFyY2hTdGF0ZUNoYW5nZUV2ZW50PigpO1xuXG4gICAgQFZpZXdDaGlsZCgnc2VhcmNoSW5wdXQnKSBzZWFyY2hJbnB1dDogRWxlbWVudFJlZjtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3llZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgdHlwZTogUGVwU2VhcmNoVHlwZSA9ICdyZWd1bGFyJztcbiAgICBmYWRlU3RhdGU6ICdmYWRlT3V0JyB8ICdmYWRlSW4nO1xuICAgIHN0YXRlOiAnb3BlbicgfCAnY2xvc2UnID0gJ29wZW4nO1xuICAgIGxhc3RWYWx1ZSA9IG51bGw7XG4gICAgc2hvd0Zsb2F0U3JjQnRuID0gdHJ1ZTtcbiAgICBpc1J0bCA9IGZhbHNlO1xuICAgIGlzRmxvYXRpbmcgPSBmYWxzZTtcbiAgICBzY3JlZW5TaXplOiBQZXBTY3JlZW5TaXplVHlwZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGhvc3RFbGVtZW50OiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIGxheW91dFNlcnZpY2U6IFBlcExheW91dFNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgLy9cbiAgICB9XG5cbiAgICBwcml2YXRlIHNldElzRmxvYXRpbmcoKSB7XG4gICAgICAgIGlmICh0aGlzLnNocmluayA9PT0gJ3NtYWxsLXNjcmVlbicpIHtcbiAgICAgICAgICAgIHRoaXMuaXNGbG9hdGluZyA9IHRoaXMuc2NyZWVuU2l6ZSA+IFBlcFNjcmVlblNpemVUeXBlLlNNO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuc2hyaW5rID09PSAnYWx3YXlzJykge1xuICAgICAgICAgICAgdGhpcy5pc0Zsb2F0aW5nID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHsgLy8gbmV2ZXJcbiAgICAgICAgICAgIHRoaXMuaXNGbG9hdGluZyA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubGF5b3V0U2VydmljZS5vblJlc2l6ZSQucGlwZSgpLnN1YnNjcmliZSgoc2l6ZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zY3JlZW5TaXplID0gc2l6ZTtcbiAgICAgICAgICAgIHRoaXMuc2V0SXNGbG9hdGluZygpO1xuXG4gICAgICAgICAgICAvLyBKdXN0IGZvciB0aGUgc21vb3RlIGFuaW1hdGlvblxuICAgICAgICAgICAgaWYgKHRoaXMuaXNGbG9hdGluZykge1xuICAgICAgICAgICAgICAgIHRoaXMuc2hvd0Zsb2F0U3JjQnRuID0gZmFsc2U7XG5cbiAgICAgICAgICAgICAgICB0aGlzLnNob3dGbG9hdGluZ0J1dHRvbigpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZhZGVTdGF0ZSA9ICdmYWRlSW4nO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmlzUnRsID0gdGhpcy5sYXlvdXRTZXJ2aWNlLmlzUnRsKCk7XG4gICAgICAgIHRoaXMuY3JlYXRlU2VhcmNoQ29udHJvbElmTm90RXhpc3QoKTtcblxuICAgICAgICB0aGlzLnNlYXJjaENvbnRyb2wudmFsdWVDaGFuZ2VzXG4gICAgICAgICAgICAucGlwZShkZWJvdW5jZVRpbWUoMTAwMCksIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95ZWQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgobmV3VmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy50eXBlID09PSAnYXV0by1jb21wbGV0ZScpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hdXRvQ29tcGxldGVWYWx1ZXMgPSBbXTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgbmV3VmFsdWUgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ld1ZhbHVlLmxlbmd0aCA+IDIgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ld1ZhbHVlICE9PSB0aGlzLmxhc3RWYWx1ZVxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYXV0b2NvbXBsZXRlQ2hhbmdlLmVtaXQoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBuZXdWYWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IHRoaXMuYXV0b0NvbXBsZXRlVG9wLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMudHlwZSA9PT0gJ3JlZ3VsYXInKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnRyaWdnZXJPbiA9PT0gJ2tleWRvd24nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVtaXRTZWFyY2hDbGljaygpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2Rlc3Ryb3llZC5uZXh0KCk7XG4gICAgICAgIHRoaXMuX2Rlc3Ryb3llZC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZXhwb3J0RnVuY3Rpb25zT25Ib3N0RWxlbWVudCgpIHtcbiAgICAgICAgLy8gVGhpcyBpcyBmb3Igd2ViIGNvbXBvbmVudCB1c2FnZSBmb3IgdXNlIHRob3NlIGZ1bmN0aW9ucy5cbiAgICAgICAgdGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50LmluaXRTZWFyY2ggPSB0aGlzLmluaXRTZWFyY2guYmluZCh0aGlzKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZVNlYXJjaENvbnRyb2xJZk5vdEV4aXN0KCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuc2VhcmNoQ29udHJvbCkge1xuICAgICAgICAgICAgdGhpcy5zZWFyY2hDb250cm9sID0gbmV3IEZvcm1Db250cm9sKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGJsdXIoKSB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZWFyY2hJbnB1dC5uYXRpdmVFbGVtZW50LmJsdXIoKTtcbiAgICAgICAgfSwgMCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzaG93RmxvYXRpbmdCdXR0b24oKSB7XG4gICAgICAgIHRoaXMuZmFkZVN0YXRlID0gJ2ZhZGVPdXQnO1xuXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZS5lbWl0KHsgc3RhdGU6ICdjbG9zZScgfSk7XG4gICAgICAgICAgICB0aGlzLnNob3dGbG9hdFNyY0J0biA9IHRydWU7XG4gICAgICAgIH0sIDUwMCk7XG5cbiAgICAgICAgLy8gY2xvc2UgdGhlIHBob25lIGtleWJvYXJkXG4gICAgICAgIHRoaXMuYmx1cigpO1xuICAgIH1cblxuICAgIGluaXRTZWFyY2goKSB7XG4gICAgICAgIHRoaXMubGFzdFZhbHVlID0gbnVsbDtcbiAgICAgICAgdGhpcy5zZWFyY2hDb250cm9sLnNldFZhbHVlKCcnKTtcbiAgICB9XG5cbiAgICBvbkNsZWFyQ2xpY2tlZChldmVudDogYW55KSB7XG4gICAgICAgIGlmICh0aGlzLnR5cGUgPT09ICdhdXRvLWNvbXBsZXRlJykge1xuICAgICAgICAgICAgdGhpcy5hdXRvQ29tcGxldGVWYWx1ZXMgPSBbXTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaW5pdFNlYXJjaCgpO1xuICAgICAgICB0aGlzLnNlYXJjaC5lbWl0KHsgdmFsdWU6ICcnIH0pO1xuXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgICAgLypcbiAgICAgICAgaWYgKHRoaXMuaXNGbG9hdGluZykge1xuICAgICAgICAgICAgdGhpcy5zaG93RmxvYXRpbmdCdXR0b24oKTtcbiAgICAgICAgfSAqL1xuICAgIH1cblxuICAgIG9uU2VhcmNoQ2xpY2tlZCgpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNGbG9hdGluZykge1xuICAgICAgICAgICAgdGhpcy50cmlnZ2VyU2VhcmNoKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAodGhpcy5zdGF0ZSA9PT0gJ29wZW4nKSB7XG4gICAgICAgICAgICAgICAgdGhpcy50cmlnZ2VyU2VhcmNoKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuc3RhdGUgPSAnb3Blbic7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkZvY3Vzb3V0KCkge1xuICAgICAgICBpZiAodGhpcy5pc0Zsb2F0aW5nICYmIHRoaXMuc2VhcmNoQ29udHJvbC52YWx1ZT8ubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICB0aGlzLnNob3dGbG9hdGluZ0J1dHRvbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25TZWFyY2goZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIC8vIFN0b3AgdGhlIGV2ZW50IHByb3BhZ2F0aW9uIC0gY2F1c2Ugd2UgZG9uJ3Qgd2FudCBmaXJlIHR3byBldmVudHMuXG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB0aGlzLnRyaWdnZXJTZWFyY2goKTtcbiAgICB9XG5cbiAgICB0cmlnZ2VyU2VhcmNoKCkge1xuICAgICAgICBpZiAodGhpcy50eXBlID09PSAnYXV0by1jb21wbGV0ZScpIHtcbiAgICAgICAgICAgIHRoaXMuYXV0b0NvbXBsZXRlVmFsdWVzID0gW107XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmJsdXIoKTtcbiAgICAgICAgdGhpcy5lbWl0U2VhcmNoQ2xpY2soKTtcbiAgICB9XG5cbiAgICBhbmltYXRlU2VhcmNoKCkge1xuICAgICAgICBpZiAodGhpcy5zdGF0ZSA9PT0gJ29wZW4nKSB7XG4gICAgICAgICAgICB0aGlzLmZhZGVTdGF0ZSA9XG4gICAgICAgICAgICAgICAgdGhpcy5mYWRlU3RhdGUgPT09ICdmYWRlT3V0JyA/ICdmYWRlSW4nIDogJ2ZhZGVPdXQnO1xuICAgICAgICAgICAgaWYgKHRoaXMuZmFkZVN0YXRlID09PSAnZmFkZUluJykge1xuICAgICAgICAgICAgICAgIHRoaXMuc3RhdGVDaGFuZ2UuZW1pdCh7IHN0YXRlOiAnb3BlbicgfSk7XG4gICAgICAgICAgICAgICAgdGhpcy5zaG93RmxvYXRTcmNCdG4gPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLnNlYXJjaElucHV0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZmFkZVN0YXRlID0gJ2ZhZGVJbic7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBkbyB0aGUgZW1pdCBqdXN0IHdoZW4gZG9uZSBiZWNhdXNlIG9mIHRoZSBsaW5lIGJyZWFrIHdoZW4gY2xvc2luZyB0aGUgc2VhcmNoXG4gICAgLy8gY29tcG9uZW50IGFuZCBzaG93ZW4gYWxsIG90aGVyIGNvbXBvbmVudHMgYmVmb3JlXG4gICAgYW5pbWF0ZVNlYXJjaERvbmUoKSB7XG4gICAgICAgIGlmICh0aGlzLnN0YXRlICE9PSAnb3BlbicpIHtcbiAgICAgICAgICAgIHRoaXMuc3RhdGVDaGFuZ2UuZW1pdCh7IHN0YXRlOiAnY2xvc2UnIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZW1pdFNlYXJjaENsaWNrKCkge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuc2VhcmNoQ29udHJvbC52YWx1ZTtcblxuICAgICAgICBpZiAodmFsdWUgIT09IHRoaXMubGFzdFZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmxhc3RWYWx1ZSA9IHZhbHVlO1xuICAgICAgICAgICAgdGhpcy5zZWFyY2guZW1pdCh7IHZhbHVlIH0pO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
@@ -89,9 +89,8 @@ export class PepSelectComponent {
|
|
|
89
89
|
}
|
|
90
90
|
else {
|
|
91
91
|
const selectedOpt = this.options.find((opt) => opt.key === value);
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
}
|
|
92
|
+
// fix DI-19371 - can't select none as option : avner
|
|
93
|
+
this.fieldFormattedValue = selectedOpt ? selectedOpt.value : '';
|
|
95
94
|
}
|
|
96
95
|
}
|
|
97
96
|
setDefaultForm() {
|
|
@@ -210,4 +209,4 @@ PepSelectComponent.propDecorators = {
|
|
|
210
209
|
formValidationChange: [{ type: Output }],
|
|
211
210
|
select: [{ type: ViewChild, args: ['select',] }]
|
|
212
211
|
};
|
|
213
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvc2VsZWN0L3NlbGVjdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFHVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWixTQUFTLEVBQ1QsVUFBVSxFQUNWLHVCQUF1QixFQUV2QixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUVILHVCQUF1QixFQUV2Qiw0QkFBNEIsRUFFNUIsY0FBYyxHQUVqQixNQUFNLHlCQUF5QixDQUFDO0FBUWpDLE1BQU0sT0FBTyxrQkFBa0I7SUF5RDNCLFlBQ1ksb0JBQTZDLEVBQzdDLFFBQW1CLEVBQ25CLE9BQW1CO1FBRm5CLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBeUI7UUFDN0MsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixZQUFPLEdBQVAsT0FBTyxDQUFZO1FBM0R0QixRQUFHLEdBQUcsRUFBRSxDQUFDO1FBQ1QsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUNYLFVBQUssR0FBRyxFQUFFLENBQUM7UUFDWCxTQUFJLEdBQXVCLFFBQVEsQ0FBQztRQUNwQyxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixlQUFVLEdBQTJCLDRCQUE0QixDQUFDO1FBQ2xFLFlBQU8sR0FBRyxDQUFDLENBQUM7UUFDWixZQUFPLEdBQXNCLEVBQUUsQ0FBQztRQUVqQyxhQUFRLEdBQUcsSUFBSSxDQUFDO1FBb0J4QixnQkFBVyxHQUFHLFFBQVEsQ0FBQztRQUV2QixnQ0FBZ0M7UUFDdkIsU0FBSSxHQUFjLElBQUksQ0FBQztRQUN2QixlQUFVLEdBQWtCLE1BQU0sQ0FBQztRQUNuQyxtQkFBYyxHQUFXLElBQUksQ0FBQztRQUM5Qixh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a0JBd0JULEtBQUs7b0JBQ0wsS0FBSztvQkFDTCxLQUFLO21CQUNMLEtBQUs7d0JBQ0wsS0FBSzt1QkFDTCxLQUFLO3VCQUNMLEtBQUs7eUJBQ0wsS0FBSztzQkFDTCxLQUFLO3NCQUNMLEtBQUs7c0JBR0wsS0FBSzttQkFzQkwsS0FBSzt5QkFDTCxLQUFLOzZCQUNMLEtBQUs7dUJBQ0wsS0FBSzt3QkFDTCxLQUFLOzBCQUNMLEtBQUs7MEJBQ0wsS0FBSzswQkFFTCxNQUFNO21DQUVOLE1BQU07cUJBR04sU0FBUyxTQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBPbkluaXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgVmlld0NoaWxkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgT25EZXN0cm95LFxuICAgIFJlbmRlcmVyMixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRTZWxlY3QgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0IHtcbiAgICBQZXBMYXlvdXRUeXBlLFxuICAgIFBlcEN1c3RvbWl6YXRpb25TZXJ2aWNlLFxuICAgIFBlcEhvcml6b250YWxBbGlnbm1lbnQsXG4gICAgREVGQVVMVF9IT1JJWk9OVEFMX0FMSUdOTUVOVCxcbiAgICBQZXBTZWxlY3RGaWVsZFR5cGUsXG4gICAgUGVwU2VsZWN0RmllbGQsXG4gICAgSVBlcE9wdGlvbixcbn0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWInO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3BlcC1zZWxlY3QnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NlbGVjdC5jb21wb25lbnQuc2NzcycsICcuL3NlbGVjdC5jb21wb25lbnQudGhlbWUuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBQZXBTZWxlY3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKSBrZXkgPSAnJztcbiAgICBASW5wdXQoKSB2YWx1ZSA9ICcnO1xuICAgIEBJbnB1dCgpIGxhYmVsID0gJyc7XG4gICAgQElucHV0KCkgdHlwZTogUGVwU2VsZWN0RmllbGRUeXBlID0gJ3NlbGVjdCc7XG4gICAgQElucHV0KCkgbWFuZGF0b3J5ID0gZmFsc2U7XG4gICAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcbiAgICBASW5wdXQoKSByZWFkb25seSA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHhBbGlnbm1lbnQ6IFBlcEhvcml6b250YWxBbGlnbm1lbnQgPSBERUZBVUxUX0hPUklaT05UQUxfQUxJR05NRU5UO1xuICAgIEBJbnB1dCgpIHJvd1NwYW4gPSAxO1xuICAgIEBJbnB1dCgpIG9wdGlvbnM6IEFycmF5PElQZXBPcHRpb24+ID0gW107XG5cbiAgICBwcml2YXRlIF92aXNpYmxlID0gdHJ1ZTtcbiAgICBASW5wdXQoKVxuICAgIHNldCB2aXNpYmxlKHZpc2libGU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fdmlzaWJsZSA9IHZpc2libGU7XG4gICAgICAgIGlmICh2aXNpYmxlKSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKFxuICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgICAgICdoaWRkZW4tZWxlbWVudCdcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKFxuICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgICAgICdoaWRkZW4tZWxlbWVudCdcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZ2V0IHZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl92aXNpYmxlO1xuICAgIH1cblxuICAgIGNvbnRyb2xUeXBlID0gJ3NlbGVjdCc7XG5cbiAgICAvLyBASW5wdXQoKSBmaWVsZDogUGVwRmllbGRCYXNlO1xuICAgIEBJbnB1dCgpIGZvcm06IEZvcm1Hcm91cCA9IG51bGw7XG4gICAgQElucHV0KCkgbGF5b3V0VHlwZTogUGVwTGF5b3V0VHlwZSA9ICdmb3JtJztcbiAgICBASW5wdXQoKSBwYXJlbnRGaWVsZEtleTogc3RyaW5nID0gbnVsbDtcbiAgICBASW5wdXQoKSBpc0FjdGl2ZSA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHNob3dUaXRsZSA9IHRydWU7XG4gICAgQElucHV0KCkgZW1wdHlPcHRpb24gPSB0cnVlO1xuICAgIEBJbnB1dCgpIHJlbmRlclRpdGxlID0gdHJ1ZTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICAgIEBPdXRwdXQoKVxuICAgIGZvcm1WYWxpZGF0aW9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICBAVmlld0NoaWxkKCdzZWxlY3QnKSBzZWxlY3Q6IE1hdFNlbGVjdDtcblxuICAgIHN0YW5kQWxvbmUgPSBmYWxzZTtcbiAgICBpc0luRWRpdE1vZGUgPSBmYWxzZTtcbiAgICBpc011bHRpID0gZmFsc2U7XG4gICAgc2VsZWN0ZWRWYWx1ZXNNb2RlbDogc3RyaW5nW107XG4gICAgc2VsZWN0ZWRWYWx1ZU1vZGVsOiBzdHJpbmc7XG4gICAgZmllbGRGb3JtYXR0ZWRWYWx1ZSA9ICcnO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgY3VzdG9taXphdGlvblNlcnZpY2U6IFBlcEN1c3RvbWl6YXRpb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIHByaXZhdGUgZWxlbWVudDogRWxlbWVudFJlZlxuICAgICkgeyB9XG5cbiAgICBwcml2YXRlIGFkZE9wdGlvbnNJZk5lZWRlZCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNNdWx0aSkge1xuICAgICAgICAgICAgLy8gR28gZ29yIGFsbCBzZWxlY3RlZCBhbmQgYWRkIHRvIG9wdGlvbnMgaWYgbm90IGV4aXN0XG4gICAgICAgICAgICAvLyBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuc2VsZWN0ZWRWYWx1ZXNNb2RlbC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgZm9yIChjb25zdCBzZWxlY3RlZFZhbHVlIG9mIHRoaXMuc2VsZWN0ZWRWYWx1ZXNNb2RlbCkge1xuICAgICAgICAgICAgICAgIGxldCB2YWx1ZU5vdEV4aXN0ID0gZmFsc2U7XG5cbiAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgIHRoaXMub3B0aW9ucyAmJlxuICAgICAgICAgICAgICAgICAgICAhdGhpcy5vcHRpb25zLmZpbmQoKG9wdCkgPT4gb3B0LmtleSA9PT0gc2VsZWN0ZWRWYWx1ZSlcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWVOb3RFeGlzdCA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gQWRkIGl0IHRvIG9wdGlvbnMuXG4gICAgICAgICAgICAgICAgaWYgKHZhbHVlTm90RXhpc3QpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vcHRpb25zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAga2V5OiBzZWxlY3RlZFZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHNlbGVjdGVkVmFsdWUsXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlICYmXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZSAhPT0gJycgJiZcbiAgICAgICAgICAgICAgICB0aGlzLm9wdGlvbnMgJiZcbiAgICAgICAgICAgICAgICAhdGhpcy5vcHRpb25zLmZpbmQoKG9wdCkgPT4gb3B0LmtleSA9PT0gdGhpcy52YWx1ZSlcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHRoaXMub3B0aW9ucy5wdXNoKHsga2V5OiB0aGlzLnZhbHVlLCB2YWx1ZTogdGhpcy52YWx1ZSB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2V0RmllbGRGb3JtYXR0ZWRWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzTXVsdGkpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnNlbGVjdGVkVmFsdWVzTW9kZWwubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIHRoaXMuZmllbGRGb3JtYXR0ZWRWYWx1ZSA9IHRoaXMuc2VsZWN0ZWRWYWx1ZXNNb2RlbFxuICAgICAgICAgICAgICAgICAgICAubWFwKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9ucy5maW5kKChvcHQpID0+IG9wdC5rZXkgPT09IHZhbHVlKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8udmFsdWU7XG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIC5qb2luKCcsICcpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZpZWxkRm9ybWF0dGVkVmFsdWUgPSAnJztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gdGhpcy5maWVsZEZvcm1hdHRlZFZhbHVlID0gdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyA/IHZhbHVlLnJlcGxhY2UobmV3IFJlZ0V4cCgnOycsICdnJyksICcsICcpIDogJyc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBzZWxlY3RlZE9wdCA9IHRoaXMub3B0aW9ucy5maW5kKChvcHQpID0+IG9wdC5rZXkgPT09IHZhbHVlKTtcblxuICAgICAgICAgICAgaWYgKHNlbGVjdGVkT3B0KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5maWVsZEZvcm1hdHRlZFZhbHVlID0gc2VsZWN0ZWRPcHQudmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNldERlZmF1bHRGb3JtKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBwZXBGaWVsZCA9IG5ldyBQZXBTZWxlY3RGaWVsZCh7XG4gICAgICAgICAgICBrZXk6IHRoaXMua2V5LFxuICAgICAgICAgICAgdmFsdWU6IHRoaXMudmFsdWUsXG4gICAgICAgICAgICBtYW5kYXRvcnk6IHRoaXMubWFuZGF0b3J5LFxuICAgICAgICAgICAgcmVhZG9ubHk6IHRoaXMucmVhZG9ubHksXG4gICAgICAgICAgICBkaXNhYmxlZDogdGhpcy5kaXNhYmxlZCxcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuZm9ybSA9IHRoaXMuY3VzdG9taXphdGlvblNlcnZpY2UuZ2V0RGVmYXVsdEZyb21Hcm91cChwZXBGaWVsZCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmZvcm0gPT09IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMuc3RhbmRBbG9uZSA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLnNldERlZmF1bHRGb3JtKCk7XG5cbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MoXG4gICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAgICAgUGVwQ3VzdG9taXphdGlvblNlcnZpY2UuU1RBTkRfQUxPTkVfRklFTERfQ0xBU1NfTkFNRVxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgaWYgKCF0aGlzLnJlbmRlclRpdGxlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAgICAgICAgIFBlcEN1c3RvbWl6YXRpb25TZXJ2aWNlLlNUQU5EX0FMT05FX0ZJRUxEX05PX1NQQUNJTkdfQ0xBU1NfTkFNRVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuc3RhbmRBbG9uZSkge1xuICAgICAgICAgICAgdGhpcy5zZXREZWZhdWx0Rm9ybSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pc011bHRpID0gdGhpcy50eXBlID09PSAnbXVsdGknO1xuICAgICAgICBpZiAodGhpcy5pc011bHRpKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWVzTW9kZWwgPVxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWUubGVuZ3RoID4gMCA/IHRoaXMudmFsdWUuc3BsaXQoJzsnKSA6IFtdO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlTW9kZWwgPSB0aGlzLnZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hZGRPcHRpb25zSWZOZWVkZWQoKTtcbiAgICAgICAgdGhpcy5zZXRGaWVsZEZvcm1hdHRlZFZhbHVlKHRoaXMudmFsdWUpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICAvL1xuICAgIH1cblxuICAgIHNlbGVjdGlvbkNoYW5nZShldmVudDogYW55KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5pc011bHRpKSB7XG4gICAgICAgICAgICB0aGlzLmNoYW5nZVZhbHVlKHRoaXMuc2VsZWN0ZWRWYWx1ZU1vZGVsKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9wZW5lZENoYW5nZShldmVudDogYW55KTogdm9pZCB7XG4gICAgICAgIC8vIE9ubHkgb24gY2xvc2UuXG4gICAgICAgIGlmICghZXZlbnQpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzTXVsdGkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZVZhbHVlKHRoaXMuc2VsZWN0ZWRWYWx1ZXNNb2RlbC5qb2luKCc7JykpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodGhpcy5pc0luRWRpdE1vZGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzSW5FZGl0TW9kZSA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgY2hhbmdlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLnNldEZpZWxkRm9ybWF0dGVkVmFsdWUodmFsdWUpO1xuICAgICAgICB0aGlzLmN1c3RvbWl6YXRpb25TZXJ2aWNlLnVwZGF0ZUZvcm1GaWVsZFZhbHVlKFxuICAgICAgICAgICAgdGhpcy5mb3JtLFxuICAgICAgICAgICAgdGhpcy5rZXksXG4gICAgICAgICAgICAvLyB2YWx1ZSxcbiAgICAgICAgICAgIHRoaXMuZmllbGRGb3JtYXR0ZWRWYWx1ZSxcbiAgICAgICAgICAgIHRoaXMucGFyZW50RmllbGRLZXlcbiAgICAgICAgKTtcblxuICAgICAgICBpZiAodGhpcy5tYW5kYXRvcnkpIHtcbiAgICAgICAgICAgIGNvbnN0IGZpZWxkQ29udHJvbCA9IHRoaXMuZm9ybS5jb250cm9sc1t0aGlzLmtleV07XG4gICAgICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgICAgICBmaWVsZENvbnRyb2wuc2V0RXJyb3JzKG51bGwpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBmaWVsZENvbnRyb2wuc2V0RXJyb3JzKHtcbiAgICAgICAgICAgICAgICAgICAgc2VydmVyRXJyb3I6ICdSZXF1aXJlZCcsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmZvcm1WYWxpZGF0aW9uQ2hhbmdlLmVtaXQodGhpcy5mb3JtLnZhbGlkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgY2FyZFRlbXBsYXRlQ2xpY2tlZChldmVudDogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNJbkVkaXRNb2RlID0gdHJ1ZTtcblxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0Lm9wZW4oKTtcbiAgICAgICAgfSwgMCk7XG4gICAgfVxufVxuIl19
|
|
212
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvc2VsZWN0L3NlbGVjdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFHVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWixTQUFTLEVBQ1QsVUFBVSxFQUNWLHVCQUF1QixFQUV2QixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUVILHVCQUF1QixFQUV2Qiw0QkFBNEIsRUFFNUIsY0FBYyxHQUVqQixNQUFNLHlCQUF5QixDQUFDO0FBUWpDLE1BQU0sT0FBTyxrQkFBa0I7SUF5RDNCLFlBQ1ksb0JBQTZDLEVBQzdDLFFBQW1CLEVBQ25CLE9BQW1CO1FBRm5CLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBeUI7UUFDN0MsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixZQUFPLEdBQVAsT0FBTyxDQUFZO1FBM0R0QixRQUFHLEdBQUcsRUFBRSxDQUFDO1FBQ1QsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUNYLFVBQUssR0FBRyxFQUFFLENBQUM7UUFDWCxTQUFJLEdBQXVCLFFBQVEsQ0FBQztRQUNwQyxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixlQUFVLEdBQTJCLDRCQUE0QixDQUFDO1FBQ2xFLFlBQU8sR0FBRyxDQUFDLENBQUM7UUFDWixZQUFPLEdBQXNCLEVBQUUsQ0FBQztRQUVqQyxhQUFRLEdBQUcsSUFBSSxDQUFDO1FBb0J4QixnQkFBVyxHQUFHLFFBQVEsQ0FBQztRQUV2QixnQ0FBZ0M7UUFDdkIsU0FBSSxHQUFjLElBQUksQ0FBQztRQUN2QixlQUFVLEdBQWtCLE1BQU0sQ0FBQztRQUNuQyxtQkFBYyxHQUFXLElBQUksQ0FBQztRQUM5Qixh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QXVCO1lBTnZCLFNBQVM7WUFIVCxVQUFVOzs7a0JBd0JULEtBQUs7b0JBQ0wsS0FBSztvQkFDTCxLQUFLO21CQUNMLEtBQUs7d0JBQ0wsS0FBSzt1QkFDTCxLQUFLO3VCQUNMLEtBQUs7eUJBQ0wsS0FBSztzQkFDTCxLQUFLO3NCQUNMLEtBQUs7c0JBR0wsS0FBSzttQkFzQkwsS0FBSzt5QkFDTCxLQUFLOzZCQUNMLEtBQUs7dUJBQ0wsS0FBSzt3QkFDTCxLQUFLOzBCQUNMLEtBQUs7MEJBQ0wsS0FBSzswQkFFTCxNQUFNO21DQUVOLE1BQU07cUJBR04sU0FBUyxTQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBPbkluaXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgVmlld0NoaWxkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgT25EZXN0cm95LFxuICAgIFJlbmRlcmVyMixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRTZWxlY3QgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0IHtcbiAgICBQZXBMYXlvdXRUeXBlLFxuICAgIFBlcEN1c3RvbWl6YXRpb25TZXJ2aWNlLFxuICAgIFBlcEhvcml6b250YWxBbGlnbm1lbnQsXG4gICAgREVGQVVMVF9IT1JJWk9OVEFMX0FMSUdOTUVOVCxcbiAgICBQZXBTZWxlY3RGaWVsZFR5cGUsXG4gICAgUGVwU2VsZWN0RmllbGQsXG4gICAgSVBlcE9wdGlvbixcbn0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWInO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3BlcC1zZWxlY3QnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NlbGVjdC5jb21wb25lbnQuc2NzcycsICcuL3NlbGVjdC5jb21wb25lbnQudGhlbWUuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBQZXBTZWxlY3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKSBrZXkgPSAnJztcbiAgICBASW5wdXQoKSB2YWx1ZSA9ICcnO1xuICAgIEBJbnB1dCgpIGxhYmVsID0gJyc7XG4gICAgQElucHV0KCkgdHlwZTogUGVwU2VsZWN0RmllbGRUeXBlID0gJ3NlbGVjdCc7XG4gICAgQElucHV0KCkgbWFuZGF0b3J5ID0gZmFsc2U7XG4gICAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcbiAgICBASW5wdXQoKSByZWFkb25seSA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHhBbGlnbm1lbnQ6IFBlcEhvcml6b250YWxBbGlnbm1lbnQgPSBERUZBVUxUX0hPUklaT05UQUxfQUxJR05NRU5UO1xuICAgIEBJbnB1dCgpIHJvd1NwYW4gPSAxO1xuICAgIEBJbnB1dCgpIG9wdGlvbnM6IEFycmF5PElQZXBPcHRpb24+ID0gW107XG5cbiAgICBwcml2YXRlIF92aXNpYmxlID0gdHJ1ZTtcbiAgICBASW5wdXQoKVxuICAgIHNldCB2aXNpYmxlKHZpc2libGU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fdmlzaWJsZSA9IHZpc2libGU7XG4gICAgICAgIGlmICh2aXNpYmxlKSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKFxuICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgICAgICdoaWRkZW4tZWxlbWVudCdcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKFxuICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgICAgICdoaWRkZW4tZWxlbWVudCdcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZ2V0IHZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl92aXNpYmxlO1xuICAgIH1cblxuICAgIGNvbnRyb2xUeXBlID0gJ3NlbGVjdCc7XG5cbiAgICAvLyBASW5wdXQoKSBmaWVsZDogUGVwRmllbGRCYXNlO1xuICAgIEBJbnB1dCgpIGZvcm06IEZvcm1Hcm91cCA9IG51bGw7XG4gICAgQElucHV0KCkgbGF5b3V0VHlwZTogUGVwTGF5b3V0VHlwZSA9ICdmb3JtJztcbiAgICBASW5wdXQoKSBwYXJlbnRGaWVsZEtleTogc3RyaW5nID0gbnVsbDtcbiAgICBASW5wdXQoKSBpc0FjdGl2ZSA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHNob3dUaXRsZSA9IHRydWU7XG4gICAgQElucHV0KCkgZW1wdHlPcHRpb24gPSB0cnVlO1xuICAgIEBJbnB1dCgpIHJlbmRlclRpdGxlID0gdHJ1ZTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICAgIEBPdXRwdXQoKVxuICAgIGZvcm1WYWxpZGF0aW9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICBAVmlld0NoaWxkKCdzZWxlY3QnKSBzZWxlY3Q6IE1hdFNlbGVjdDtcblxuICAgIHN0YW5kQWxvbmUgPSBmYWxzZTtcbiAgICBpc0luRWRpdE1vZGUgPSBmYWxzZTtcbiAgICBpc011bHRpID0gZmFsc2U7XG4gICAgc2VsZWN0ZWRWYWx1ZXNNb2RlbDogc3RyaW5nW107XG4gICAgc2VsZWN0ZWRWYWx1ZU1vZGVsOiBzdHJpbmc7XG4gICAgZmllbGRGb3JtYXR0ZWRWYWx1ZSA9ICcnO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgY3VzdG9taXphdGlvblNlcnZpY2U6IFBlcEN1c3RvbWl6YXRpb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIHByaXZhdGUgZWxlbWVudDogRWxlbWVudFJlZlxuICAgICkgeyB9XG5cbiAgICBwcml2YXRlIGFkZE9wdGlvbnNJZk5lZWRlZCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNNdWx0aSkge1xuICAgICAgICAgICAgLy8gR28gZ29yIGFsbCBzZWxlY3RlZCBhbmQgYWRkIHRvIG9wdGlvbnMgaWYgbm90IGV4aXN0XG4gICAgICAgICAgICAvLyBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuc2VsZWN0ZWRWYWx1ZXNNb2RlbC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgZm9yIChjb25zdCBzZWxlY3RlZFZhbHVlIG9mIHRoaXMuc2VsZWN0ZWRWYWx1ZXNNb2RlbCkge1xuICAgICAgICAgICAgICAgIGxldCB2YWx1ZU5vdEV4aXN0ID0gZmFsc2U7XG5cbiAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgIHRoaXMub3B0aW9ucyAmJlxuICAgICAgICAgICAgICAgICAgICAhdGhpcy5vcHRpb25zLmZpbmQoKG9wdCkgPT4gb3B0LmtleSA9PT0gc2VsZWN0ZWRWYWx1ZSlcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWVOb3RFeGlzdCA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gQWRkIGl0IHRvIG9wdGlvbnMuXG4gICAgICAgICAgICAgICAgaWYgKHZhbHVlTm90RXhpc3QpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vcHRpb25zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAga2V5OiBzZWxlY3RlZFZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHNlbGVjdGVkVmFsdWUsXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlICYmXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZSAhPT0gJycgJiZcbiAgICAgICAgICAgICAgICB0aGlzLm9wdGlvbnMgJiZcbiAgICAgICAgICAgICAgICAhdGhpcy5vcHRpb25zLmZpbmQoKG9wdCkgPT4gb3B0LmtleSA9PT0gdGhpcy52YWx1ZSlcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHRoaXMub3B0aW9ucy5wdXNoKHsga2V5OiB0aGlzLnZhbHVlLCB2YWx1ZTogdGhpcy52YWx1ZSB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2V0RmllbGRGb3JtYXR0ZWRWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzTXVsdGkpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnNlbGVjdGVkVmFsdWVzTW9kZWwubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIHRoaXMuZmllbGRGb3JtYXR0ZWRWYWx1ZSA9IHRoaXMuc2VsZWN0ZWRWYWx1ZXNNb2RlbFxuICAgICAgICAgICAgICAgICAgICAubWFwKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9ucy5maW5kKChvcHQpID0+IG9wdC5rZXkgPT09IHZhbHVlKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8udmFsdWU7XG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIC5qb2luKCcsICcpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZpZWxkRm9ybWF0dGVkVmFsdWUgPSAnJztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gdGhpcy5maWVsZEZvcm1hdHRlZFZhbHVlID0gdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyA/IHZhbHVlLnJlcGxhY2UobmV3IFJlZ0V4cCgnOycsICdnJyksICcsICcpIDogJyc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBzZWxlY3RlZE9wdCA9IHRoaXMub3B0aW9ucy5maW5kKChvcHQpID0+IG9wdC5rZXkgPT09IHZhbHVlKTtcblxuICAgICAgICAgICAgLy8gZml4IERJLTE5MzcxIC0gY2FuJ3Qgc2VsZWN0IG5vbmUgYXMgb3B0aW9uIDogYXZuZXJcbiAgICAgICAgICAgIHRoaXMuZmllbGRGb3JtYXR0ZWRWYWx1ZSA9IHNlbGVjdGVkT3B0ID8gc2VsZWN0ZWRPcHQudmFsdWUgOiAnJztcblxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXREZWZhdWx0Rm9ybSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcGVwRmllbGQgPSBuZXcgUGVwU2VsZWN0RmllbGQoe1xuICAgICAgICAgICAga2V5OiB0aGlzLmtleSxcbiAgICAgICAgICAgIHZhbHVlOiB0aGlzLnZhbHVlLFxuICAgICAgICAgICAgbWFuZGF0b3J5OiB0aGlzLm1hbmRhdG9yeSxcbiAgICAgICAgICAgIHJlYWRvbmx5OiB0aGlzLnJlYWRvbmx5LFxuICAgICAgICAgICAgZGlzYWJsZWQ6IHRoaXMuZGlzYWJsZWQsXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmZvcm0gPSB0aGlzLmN1c3RvbWl6YXRpb25TZXJ2aWNlLmdldERlZmF1bHRGcm9tR3JvdXAocGVwRmllbGQpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5mb3JtID09PSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLnN0YW5kQWxvbmUgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5zZXREZWZhdWx0Rm9ybSgpO1xuXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKFxuICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgICAgIFBlcEN1c3RvbWl6YXRpb25TZXJ2aWNlLlNUQU5EX0FMT05FX0ZJRUxEX0NMQVNTX05BTUVcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIGlmICghdGhpcy5yZW5kZXJUaXRsZSkge1xuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MoXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgICAgICAgICBQZXBDdXN0b21pemF0aW9uU2VydmljZS5TVEFORF9BTE9ORV9GSUVMRF9OT19TUEFDSU5HX0NMQVNTX05BTUVcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogYW55KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnN0YW5kQWxvbmUpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0RGVmYXVsdEZvcm0oKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaXNNdWx0aSA9IHRoaXMudHlwZSA9PT0gJ211bHRpJztcbiAgICAgICAgaWYgKHRoaXMuaXNNdWx0aSkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlc01vZGVsID1cbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlLmxlbmd0aCA+IDAgPyB0aGlzLnZhbHVlLnNwbGl0KCc7JykgOiBbXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZU1vZGVsID0gdGhpcy52YWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuYWRkT3B0aW9uc0lmTmVlZGVkKCk7XG4gICAgICAgIHRoaXMuc2V0RmllbGRGb3JtYXR0ZWRWYWx1ZSh0aGlzLnZhbHVlKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgLy9cbiAgICB9XG5cbiAgICBzZWxlY3Rpb25DaGFuZ2UoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuaXNNdWx0aSkge1xuICAgICAgICAgICAgdGhpcy5jaGFuZ2VWYWx1ZSh0aGlzLnNlbGVjdGVkVmFsdWVNb2RlbCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvcGVuZWRDaGFuZ2UoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgICAgICAvLyBPbmx5IG9uIGNsb3NlLlxuICAgICAgICBpZiAoIWV2ZW50KSB7XG4gICAgICAgICAgICBpZiAodGhpcy5pc011bHRpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VWYWx1ZSh0aGlzLnNlbGVjdGVkVmFsdWVzTW9kZWwuam9pbignOycpKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHRoaXMuaXNJbkVkaXRNb2RlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0luRWRpdE1vZGUgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNoYW5nZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRGaWVsZEZvcm1hdHRlZFZhbHVlKHZhbHVlKTtcbiAgICAgICAgdGhpcy5jdXN0b21pemF0aW9uU2VydmljZS51cGRhdGVGb3JtRmllbGRWYWx1ZShcbiAgICAgICAgICAgIHRoaXMuZm9ybSxcbiAgICAgICAgICAgIHRoaXMua2V5LFxuICAgICAgICAgICAgLy8gdmFsdWUsXG4gICAgICAgICAgICB0aGlzLmZpZWxkRm9ybWF0dGVkVmFsdWUsXG4gICAgICAgICAgICB0aGlzLnBhcmVudEZpZWxkS2V5XG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKHRoaXMubWFuZGF0b3J5KSB7XG4gICAgICAgICAgICBjb25zdCBmaWVsZENvbnRyb2wgPSB0aGlzLmZvcm0uY29udHJvbHNbdGhpcy5rZXldO1xuICAgICAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgZmllbGRDb250cm9sLnNldEVycm9ycyhudWxsKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgZmllbGRDb250cm9sLnNldEVycm9ycyh7XG4gICAgICAgICAgICAgICAgICAgIHNlcnZlckVycm9yOiAnUmVxdWlyZWQnLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5mb3JtVmFsaWRhdGlvbkNoYW5nZS5lbWl0KHRoaXMuZm9ybS52YWxpZCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodmFsdWUpO1xuICAgIH1cblxuICAgIGNhcmRUZW1wbGF0ZUNsaWNrZWQoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzSW5FZGl0TW9kZSA9IHRydWU7XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdC5vcGVuKCk7XG4gICAgICAgIH0sIDApO1xuICAgIH1cbn1cbiJdfQ==
|