@ieeesa-npm/events-and-meetings 0.4.7 → 0.4.8
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/esm2022/lib/components/add-meeting/add-meeting.component.mjs +16 -20
- package/esm2022/lib/components/create-modify-event/create-modify-event.component.mjs +50 -60
- package/esm2022/lib/components/create-modify-event-or-meeting/create-modify-event-or-meeting.component.mjs +13 -12
- package/esm2022/lib/components/create-modify-meeting/create-modify-meeting.component.mjs +31 -24
- package/esm2022/lib/components/events-and-meetings-agendas/events-and-meetings-agendas.component.mjs +997 -0
- package/esm2022/lib/events-and-meetings.component.mjs +3 -3
- package/esm2022/lib/resolvers/event-exists.resolver.mjs +19 -0
- package/esm2022/lib/resolvers/meeting-exists.resolver.mjs +19 -0
- package/esm2022/lib/services/events-and-meetings-permissions-map.service.mjs +9 -9
- package/esm2022/lib/services/events-and-meetings.service.mjs +64 -71
- package/esm2022/public-api.mjs +4 -2
- package/fesm2022/ieeesa-npm-events-and-meetings.mjs +288 -227
- package/fesm2022/ieeesa-npm-events-and-meetings.mjs.map +1 -1
- package/lib/components/add-meeting/add-meeting.component.d.ts +4 -5
- package/lib/components/create-modify-event/create-modify-event.component.d.ts +5 -6
- package/lib/components/create-modify-event-or-meeting/create-modify-event-or-meeting.component.d.ts +3 -3
- package/lib/components/create-modify-meeting/create-modify-meeting.component.d.ts +5 -4
- package/lib/components/{events-meetings-agendas-list/events-meetings-agendas-list.component.d.ts → events-and-meetings-agendas/events-and-meetings-agendas.component.d.ts} +5 -5
- package/lib/resolvers/event-exists.resolver.d.ts +2 -0
- package/lib/resolvers/meeting-exists.resolver.d.ts +2 -0
- package/lib/services/events-and-meetings.service.d.ts +14 -37
- package/package.json +1 -1
- package/public-api.d.ts +3 -1
- package/esm2022/lib/components/events-meetings-agendas-list/events-meetings-agendas-list.component.mjs +0 -955
|
@@ -3,7 +3,7 @@ import { CommonModule } from '@angular/common';
|
|
|
3
3
|
import { CreateModifyMeetingComponent } from '../create-modify-meeting/create-modify-meeting.component';
|
|
4
4
|
import * as screenTexts from '../../assets/constants.json';
|
|
5
5
|
import { Subject, takeUntil } from 'rxjs';
|
|
6
|
-
import { AlignType, TabsComponent
|
|
6
|
+
import { AlignType, TabsComponent } from '@ieeesa-npm/presentation';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
import * as i1 from "../../services/events-and-meetings.service";
|
|
9
9
|
import * as i2 from "@angular/router";
|
|
@@ -16,7 +16,8 @@ export class AddMeetingComponent {
|
|
|
16
16
|
// eslint-disable-next-line no-unused-vars
|
|
17
17
|
router,
|
|
18
18
|
// eslint-disable-next-line no-unused-vars
|
|
19
|
-
dialog
|
|
19
|
+
dialog // eslint-disable-next-line no-empty-function
|
|
20
|
+
) {
|
|
20
21
|
this.eventsAndMeetingsService = eventsAndMeetingsService;
|
|
21
22
|
this.router = router;
|
|
22
23
|
this.dialog = dialog;
|
|
@@ -48,8 +49,7 @@ export class AddMeetingComponent {
|
|
|
48
49
|
this.formCancel = new EventEmitter();
|
|
49
50
|
this.confirmationModalTexts = this.screenTexts?.createModifyEventOrMeeting
|
|
50
51
|
?.unsavedFormChangesConfirmationDialogOptions;
|
|
51
|
-
this.
|
|
52
|
-
this.routeParam = new RouteParam();
|
|
52
|
+
this.addMeetingClick = new EventEmitter();
|
|
53
53
|
}
|
|
54
54
|
/**
|
|
55
55
|
* Sets selected meeting id and form change status.
|
|
@@ -57,20 +57,11 @@ export class AddMeetingComponent {
|
|
|
57
57
|
*/
|
|
58
58
|
ngOnInit() {
|
|
59
59
|
this.eventsAndMeetingsService?.setAppConfig(this.apiBaseURL, this.userPermissions);
|
|
60
|
-
|
|
61
|
-
this.eventsAndMeetingsService.makeApiBaseUrlAndUserPermissionsSimulated();
|
|
62
|
-
}
|
|
63
|
-
this.eventsAndMeetingsService.setStandaloneMeetingStatus(this.routeParam.eventId && this.routeParam.meetingId
|
|
64
|
-
? false
|
|
65
|
-
: !this.routeParam.eventId);
|
|
60
|
+
this.eventsAndMeetingsService.setStandaloneMeetingStatus(this.eventId && this.meetingId ? false : !this.eventId);
|
|
66
61
|
this.isStandaloneMeeting =
|
|
67
62
|
this.eventsAndMeetingsService.getStandaloneMeetingStatus();
|
|
68
|
-
this.routePaths =
|
|
69
|
-
this.routePaths ?? this.eventsAndMeetingsService.getRoutePaths();
|
|
70
63
|
this.eventsAndMeetingsService.setSelectedEventId(this.eventId ?? '');
|
|
71
64
|
this.eventsAndMeetingsService.setSelectedMeetingId(this.meetingId ?? '');
|
|
72
|
-
this.routeParam.eventId = this.eventId ?? '';
|
|
73
|
-
this.routeParam.meetingId = this.meetingId ?? '';
|
|
74
65
|
this.confirmationModalConfig = {
|
|
75
66
|
leftButtonLabel: this.confirmationModalTexts?.leftButtonLabel,
|
|
76
67
|
rightButtonLabel: this.confirmationModalTexts?.rightButtonLabel,
|
|
@@ -112,7 +103,12 @@ export class AddMeetingComponent {
|
|
|
112
103
|
this.confirmationModalTexts?.promptMessageOnCancel;
|
|
113
104
|
this.formCancel.emit();
|
|
114
105
|
if (this.isStandaloneMeeting) {
|
|
115
|
-
|
|
106
|
+
if (this.routePaths.eventsAndMeetings) {
|
|
107
|
+
this.router?.navigateByUrl(this.routePaths.eventsAndMeetings);
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
this.addMeetingClick.emit();
|
|
111
|
+
}
|
|
116
112
|
}
|
|
117
113
|
else if (!this.isStandaloneMeeting &&
|
|
118
114
|
this.eventsAndMeetingsService?.getEventOrMeetingFormChangeStatus()) {
|
|
@@ -156,11 +152,11 @@ export class AddMeetingComponent {
|
|
|
156
152
|
this.destroy$?.unsubscribe();
|
|
157
153
|
}
|
|
158
154
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AddMeetingComponent, deps: [{ token: i1.EventsAndMeetingsService }, { token: i2.Router }, { token: i3.MatDialog }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
159
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AddMeetingComponent, isStandalone: true, selector: "ieeesa-add-meeting-form", inputs: { eventId: "eventId", meetingId: "meetingId",
|
|
155
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AddMeetingComponent, isStandalone: true, selector: "ieeesa-add-meeting-form", inputs: { eventId: "eventId", meetingId: "meetingId", routePaths: "routePaths", apiBaseURL: "apiBaseURL", userPermissions: "userPermissions" }, outputs: { formCancel: "formCancel", addMeetingClick: "addMeetingClick" }, viewQueries: [{ propertyName: "tabsComponentRef", first: true, predicate: TabsComponent, descendants: true }], ngImport: i0, template: "<div\r\n [ngClass]=\"selectedMeetingId && isStandaloneMeeting ? 'ieeesa-meeting' : ''\"\r\n>\r\n <p\r\n *ngIf=\"selectedMeetingId && isStandaloneMeeting\"\r\n class=\"ieeesa-title-lg-24 pb-3 m-0\"\r\n >\r\n {{ screenTexts?.createOrModifyMeeting?.label?.meetingDetails }}\r\n </p>\r\n <ieeesa-tabs\r\n [tabs]=\"meetingFormTabs\"\r\n [eventId]=\"eventId\"\r\n [meetingId]=\"meetingId\"\r\n [selectedTabIndex]=\"selectedTabIndex\"\r\n [apiBaseURL]=\"apiBaseURL\"\r\n [userPermissions]=\"userPermissions\"\r\n [isFormChanged]=\"isFormChanged\"\r\n (selectedIndexChange)=\"onSelectedTabIndexChange()\"\r\n [confirmationModalConfig]=\"confirmationModalConfig\"\r\n ></ieeesa-tabs>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: TabsComponent, selector: "ieeesa-tabs", inputs: ["selectedTabIndex", "tabs", "isFormChanged", "confirmationModalConfig", "eventId", "meetingId", "routePaths", "apiBaseURL", "userPermissions"], outputs: ["selectedIndexChange"] }] }); }
|
|
160
156
|
}
|
|
161
157
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AddMeetingComponent, decorators: [{
|
|
162
158
|
type: Component,
|
|
163
|
-
args: [{ selector: 'ieeesa-add-meeting-form', standalone: true, imports: [CommonModule, TabsComponent], template: "<div\r\n [ngClass]=\"selectedMeetingId && isStandaloneMeeting ? 'ieeesa-meeting' : ''\"\r\n>\r\n <p\r\n *ngIf=\"selectedMeetingId && isStandaloneMeeting\"\r\n class=\"ieeesa-title-lg-24 pb-3 m-0\"\r\n >\r\n {{ screenTexts?.createOrModifyMeeting?.label?.meetingDetails }}\r\n </p>\r\n <ieeesa-tabs\r\n [tabs]=\"meetingFormTabs\"\r\n [
|
|
159
|
+
args: [{ selector: 'ieeesa-add-meeting-form', standalone: true, imports: [CommonModule, TabsComponent], template: "<div\r\n [ngClass]=\"selectedMeetingId && isStandaloneMeeting ? 'ieeesa-meeting' : ''\"\r\n>\r\n <p\r\n *ngIf=\"selectedMeetingId && isStandaloneMeeting\"\r\n class=\"ieeesa-title-lg-24 pb-3 m-0\"\r\n >\r\n {{ screenTexts?.createOrModifyMeeting?.label?.meetingDetails }}\r\n </p>\r\n <ieeesa-tabs\r\n [tabs]=\"meetingFormTabs\"\r\n [eventId]=\"eventId\"\r\n [meetingId]=\"meetingId\"\r\n [selectedTabIndex]=\"selectedTabIndex\"\r\n [apiBaseURL]=\"apiBaseURL\"\r\n [userPermissions]=\"userPermissions\"\r\n [isFormChanged]=\"isFormChanged\"\r\n (selectedIndexChange)=\"onSelectedTabIndexChange()\"\r\n [confirmationModalConfig]=\"confirmationModalConfig\"\r\n ></ieeesa-tabs>\r\n</div>\r\n" }]
|
|
164
160
|
}], ctorParameters: function () { return [{ type: i1.EventsAndMeetingsService }, { type: i2.Router }, { type: i3.MatDialog }]; }, propDecorators: { tabsComponentRef: [{
|
|
165
161
|
type: ViewChild,
|
|
166
162
|
args: [TabsComponent]
|
|
@@ -170,13 +166,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
170
166
|
type: Input
|
|
171
167
|
}], meetingId: [{
|
|
172
168
|
type: Input
|
|
173
|
-
}], isParentAppLoaded: [{
|
|
174
|
-
type: Input
|
|
175
169
|
}], routePaths: [{
|
|
176
170
|
type: Input
|
|
177
171
|
}], apiBaseURL: [{
|
|
178
172
|
type: Input
|
|
179
173
|
}], userPermissions: [{
|
|
180
174
|
type: Input
|
|
175
|
+
}], addMeetingClick: [{
|
|
176
|
+
type: Output
|
|
181
177
|
}] } });
|
|
182
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLW1lZXRpbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZlbnRzLWFuZC1tZWV0aW5ncy9zcmMvbGliL2NvbXBvbmVudHMvYWRkLW1lZXRpbmcvYWRkLW1lZXRpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZlbnRzLWFuZC1tZWV0aW5ncy9zcmMvbGliL2NvbXBvbmVudHMvYWRkLW1lZXRpbmcvYWRkLW1lZXRpbmcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUN4RyxPQUFPLEtBQUssV0FBVyxNQUFNLDZCQUE2QixDQUFDO0FBSTNELE9BQU8sRUFBYyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RELE9BQU8sRUFDTCxTQUFTLEVBR1QsYUFBYSxFQUNiLFVBQVUsR0FDWCxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7QUFZbEMsTUFBTSxPQUFPLG1CQUFtQjtJQTRDOUI7SUFDRSwwQ0FBMEM7SUFDbEMsd0JBQWtEO0lBQzFELDBDQUEwQztJQUNsQyxNQUFjO0lBQ3RCLDBDQUEwQztJQUNuQyxNQUFpQjtRQUpoQiw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBRWxELFdBQU0sR0FBTixNQUFNLENBQVE7UUFFZixXQUFNLEdBQU4sTUFBTSxDQUFXO1FBL0MxQiw4REFBOEQ7UUFDOUQsZ0JBQVcsR0FBUSxXQUFXLENBQUM7UUFDL0Isb0JBQWUsR0FBVTtZQUN2QjtnQkFD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QUM7K0dBN0tVLG1CQUFtQjttR0FBbkIsbUJBQW1CLG9XQTJCbkIsYUFBYSxnREMvRDFCLGluQkFrQkEseUREY1ksWUFBWSxpT0FBRSxhQUFhOzs0RkFJMUIsbUJBQW1CO2tCQVAvQixTQUFTOytCQUNFLHlCQUF5QixjQUN2QixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsYUFBYSxDQUFDOzRKQStCWixnQkFBZ0I7c0JBQXpDLFNBQVM7dUJBQUMsYUFBYTtnQkFLZCxVQUFVO3NCQUFuQixNQUFNO2dCQUtFLE9BQU87c0JBQWYsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBDb21wb25lbnQsXHJcbiAgQ29tcG9uZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBWaWV3Q2hpbGQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENyZWF0ZU1vZGlmeU1lZXRpbmdDb21wb25lbnQgfSBmcm9tICcuLi9jcmVhdGUtbW9kaWZ5LW1lZXRpbmcvY3JlYXRlLW1vZGlmeS1tZWV0aW5nLmNvbXBvbmVudCc7XHJcbmltcG9ydCAqIGFzIHNjcmVlblRleHRzIGZyb20gJy4uLy4uL2Fzc2V0cy9jb25zdGFudHMuanNvbic7XHJcbmltcG9ydCB7IEV2ZW50c0FuZE1lZXRpbmdzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2V2ZW50cy1hbmQtbWVldGluZ3Muc2VydmljZSc7XHJcbmltcG9ydCB7IERlYWN0aXZhdGVDb21wb25lbnQgfSBmcm9tICdAaWVlZXNhLW5wbS91dGlsaXR5JztcclxuaW1wb3J0IHsgUm91dGVyLCBVcmxUcmVlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7XHJcbiAgQWxpZ25UeXBlLFxyXG4gIENvbmZpcm1hdGlvbk1vZGFsRGF0YSxcclxuICBUYWIsXHJcbiAgVGFic0NvbXBvbmVudCxcclxuICBSb3V0ZVBhcmFtLFxyXG59IGZyb20gJ0BpZWVlc2EtbnBtL3ByZXNlbnRhdGlvbic7XHJcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IEV2ZW50c0FuZE1lZXRpbmdSb3V0ZUNvbmZpZyB9IGZyb20gJ0BpZWVlc2EtbnBtL3NoYXJlZCc7XHJcbmltcG9ydCB7IFVzZXJQZXJtaXNzaW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL21lZXRpbmctcGVybWlzc2lvbnMubW9kZWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZWVlc2EtYWRkLW1lZXRpbmctZm9ybScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUYWJzQ29tcG9uZW50XSxcclxuICB0ZW1wbGF0ZVVybDogJy4vYWRkLW1lZXRpbmcuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2FkZC1tZWV0aW5nLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBZGRNZWV0aW5nQ29tcG9uZW50XHJcbiAgaW1wbGVtZW50cyBPbkluaXQsIERlYWN0aXZhdGVDb21wb25lbnQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveVxyXG57XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBzY3JlZW5UZXh0czogYW55ID0gc2NyZWVuVGV4dHM7XHJcbiAgbWVldGluZ0Zvcm1UYWJzOiBUYWJbXSA9IFtcclxuICAgIHtcclxuICAgICAgaWQ6IDEsXHJcbiAgICAgIGxhYmVsOiB0aGlzLnNjcmVlblRleHRzPy5hZGRNZWV0aW5nPy50YWJzPy5sYWJlbD8uaW5mbyxcclxuICAgICAgY29tcG9uZW50UmVmOiBDcmVhdGVNb2RpZnlNZWV0aW5nQ29tcG9uZW50LFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6IDIsXHJcbiAgICAgIGxhYmVsOiB0aGlzLnNjcmVlblRleHRzPy5hZGRNZWV0aW5nPy50YWJzPy5sYWJlbD8uYWdlbmRhLFxyXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gICAgICBjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxhbnk+LFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6IDMsXHJcbiAgICAgIGxhYmVsOiB0aGlzLnNjcmVlblRleHRzPy5hZGRNZWV0aW5nPy50YWJzPy5sYWJlbD8uYXR0ZW5kZWVzLFxyXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gICAgICBjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxhbnk+LFxyXG4gICAgfSxcclxuICBdO1xyXG4gIHNlbGVjdGVkVGFiSW5kZXggPSAwO1xyXG4gIHNlbGVjdGVkTWVldGluZ0lkITogc3RyaW5nO1xyXG4gIGlzU3RhbmRhbG9uZU1lZXRpbmcgPSB0cnVlO1xyXG4gIEBWaWV3Q2hpbGQoVGFic0NvbXBvbmVudCkgdGFic0NvbXBvbmVudFJlZiE6IFRhYnNDb21wb25lbnQ7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBkaWFsb2dSZWY6IGFueTtcclxuICBkZXN0cm95JDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XHJcbiAgaXNGb3JtQ2hhbmdlZCA9IGZhbHNlO1xyXG4gIEBPdXRwdXQoKSBmb3JtQ2FuY2VsID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIGNvbmZpcm1hdGlvbk1vZGFsQ29uZmlnITogQ29uZmlybWF0aW9uTW9kYWxEYXRhO1xyXG4gIGNvbmZpcm1hdGlvbk1vZGFsVGV4dHMgPVxyXG4gICAgdGhpcy5zY3JlZW5UZXh0cz8uY3JlYXRlTW9kaWZ5RXZlbnRPck1lZXRpbmdcclxuICAgICAgPy51bnNhdmVkRm9ybUNoYW5nZXNDb25maXJtYXRpb25EaWFsb2dPcHRpb25zO1xyXG4gIEBJbnB1dCgpIGV2ZW50SWQhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgbWVldGluZ0lkITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGlzUGFyZW50QXBwTG9hZGVkITogYm9vbGVhbjtcclxuICBASW5wdXQoKSByb3V0ZVBhdGhzITogRXZlbnRzQW5kTWVldGluZ1JvdXRlQ29uZmlnO1xyXG4gIHJvdXRlUGFyYW0gPSBuZXcgUm91dGVQYXJhbSgpO1xyXG4gIEBJbnB1dCgpIGFwaUJhc2VVUkwhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgdXNlclBlcm1pc3Npb25zITogVXNlclBlcm1pc3Npb25bXTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xyXG4gICAgcHJpdmF0ZSBldmVudHNBbmRNZWV0aW5nc1NlcnZpY2U6IEV2ZW50c0FuZE1lZXRpbmdzU2VydmljZSxcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xyXG4gICAgcHVibGljIGRpYWxvZzogTWF0RGlhbG9nXHJcbiAgKSB7XHJcbiAgICB0aGlzLnJvdXRlUGFyYW0gPSBuZXcgUm91dGVQYXJhbSgpO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBTZXRzIHNlbGVjdGVkIG1lZXRpbmcgaWQgYW5kIGZvcm0gY2hhbmdlIHN0YXR1cy5cclxuICAgKiBAbWVtYmVyb2YgQWRkTWVldGluZ0NvbXBvbmVudFxyXG4gICAqL1xyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5ldmVudHNBbmRNZWV0aW5nc1NlcnZpY2U/LnNldEFwcENvbmZpZyhcclxuICAgICAgdGhpcy5hcGlCYXNlVVJMLFxyXG4gICAgICB0aGlzLnVzZXJQZXJtaXNzaW9uc1xyXG4gICAgKTtcclxuICAgIGlmICghdGhpcy5pc1BhcmVudEFwcExvYWRlZCkge1xyXG4gICAgICB0aGlzLmV2ZW50c0FuZE1lZXRpbmdzU2VydmljZS5tYWtlQXBpQmFzZVVybEFuZFVzZXJQZXJtaXNzaW9uc1NpbXVsYXRlZCgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5ldmVudHNBbmRNZWV0aW5nc1NlcnZpY2Uuc2V0U3RhbmRhbG9uZU1lZXRpbmdTdGF0dXMoXHJcbiAgICAgIHRoaXMucm91dGVQYXJhbS5ldmVudElkICYmIHRoaXMucm91dGVQYXJhbS5tZWV0aW5nSWRcclxuICAgICAgICA/IGZhbHNlXHJcbiAgICAgICAgOiAhdGhpcy5yb3V0ZVBhcmFtLmV2ZW50SWRcclxuICAgICk7XHJcbiAgICB0aGlzLmlzU3RhbmRhbG9uZU1lZXRpbmcgPVxyXG4gICAgICB0aGlzLmV2ZW50c0FuZE1lZXRpbmdzU2VydmljZS5nZXRTdGFuZGFsb25lTWVldGluZ1N0YXR1cygpO1xyXG4gICAgdGhpcy5yb3V0ZVBhdGhzID1cclxuICAgICAgdGhpcy5yb3V0ZVBhdGhzID8/IHRoaXMuZXZlbnRzQW5kTWVldGluZ3NTZXJ2aWNlLmdldFJvdXRlUGF0aHMoKTtcclxuICAgIHRoaXMuZXZlbnRzQW5kTWVldGluZ3NTZXJ2aWNlLnNldFNlbGVjdGVkRXZlbnRJZCh0aGlzLmV2ZW50SWQgPz8gJycpO1xyXG4gICAgdGhpcy5ldmVudHNBbmRNZWV0aW5nc1NlcnZpY2Uuc2V0U2VsZWN0ZWRNZWV0aW5nSWQodGhpcy5tZWV0aW5nSWQgPz8gJycpO1xyXG4gICAgdGhpcy5yb3V0ZVBhcmFtLmV2ZW50SWQgPSB0aGlzLmV2ZW50SWQgPz8gJyc7XHJcbiAgICB0aGlzLnJvdXRlUGFyYW0ubWVldGluZ0lkID0gdGhpcy5tZWV0aW5nSWQgPz8gJyc7XHJcbiAgICB0aGlzLmNvbmZpcm1hdGlvbk1vZGFsQ29uZmlnID0ge1xyXG4gICAgICBsZWZ0QnV0dG9uTGFiZWw6IHRoaXMuY29uZmlybWF0aW9uTW9kYWxUZXh0cz8ubGVmdEJ1dHRvbkxhYmVsLFxyXG4gICAgICByaWdodEJ1dHRvbkxhYmVsOiB0aGlzLmNvbmZpcm1hdGlvbk1vZGFsVGV4dHM/LnJpZ2h0QnV0dG9uTGFiZWwsXHJcbiAgICAgIHByb21wdE1lc3NhZ2U6IHRoaXMuY29uZmlybWF0aW9uTW9kYWxUZXh0cz8ucHJvbXB0TWVzc2FnZSxcclxuICAgICAgYWN0aW9uQnV0dG9uQWxpZ246IEFsaWduVHlwZS5NSURETEUsXHJcbiAgICB9O1xyXG4gICAgdGhpcy5zZWxlY3RlZE1lZXRpbmdJZCA9IHRoaXMuZXZlbnRzQW5kTWVldGluZ3NTZXJ2aWNlPy5zZWxlY3RlZE1lZXRpbmdJZDtcclxuICAgIHRoaXMuZXZlbnRzQW5kTWVldGluZ3NTZXJ2aWNlPy5mb3JtU3RhdHVzQ2hhbmdlTm90aWZpZXIkXHJcbiAgICAgID8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHN0YXR1czogYm9vbGVhbikgPT4ge1xyXG4gICAgICAgIHRoaXMuaXNGb3JtQ2hhbmdlZCA9IHN0YXR1cztcclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFRyaWdnZXJzIGNvbmZpcm1hdGlvbiBtb2RhbCB3aGlsZSBsZWF2aW5nIHVuc2F2ZWQgZm9ybS5cclxuICAgKiBAcmV0dXJuIHsoYm9vbGVhblxyXG4gICAqICAgICB8IFVybFRyZWVcclxuICAgKiAgICAgfCBPYnNlcnZhYmxlPGJvb2xlYW4gfCBVcmxUcmVlPlxyXG4gICAqICAgICB8IFByb21pc2U8Ym9vbGVhbiB8IFVybFRyZWU+KX1cclxuICAgKiBAbWVtYmVyb2YgQWRkTWVldGluZ0NvbXBvbmVudFxyXG4gICAqL1xyXG4gIGNhbkRlYWN0aXZhdGUoKTpcclxuICAgIHwgYm9vbGVhblxyXG4gICAgfCBVcmxUcmVlXHJcbiAgICB8IE9ic2VydmFibGU8Ym9vbGVhbiB8IFVybFRyZWU+XHJcbiAgICB8IFByb21pc2U8Ym9vbGVhbiB8IFVybFRyZWU+XHJcbiAgICB8IGJvb2xlYW4ge1xyXG4gICAgaWYgKHRoaXMuZXZlbnRzQW5kTWVldGluZ3NTZXJ2aWNlPy5nZXRFdmVudE9yTWVldGluZ0Zvcm1DaGFuZ2VTdGF0dXMoKSkge1xyXG4gICAgICB0aGlzLmRpYWxvZ1JlZiA9IHRoaXMuZXZlbnRzQW5kTWVldGluZ3NTZXJ2aWNlPy5vcGVuQ29uZmlybWF0aW9uTW9kYWwoXHJcbiAgICAgICAgdGhpcy5jb25maXJtYXRpb25Nb2RhbENvbmZpZ1xyXG4gICAgICApO1xyXG4gICAgICB0aGlzLmNvbmZpcm1hdGlvbk1vZGFsQWN0aW9uKCk7XHJcbiAgICAgIHJldHVybiB0aGlzLmRpYWxvZ1JlZj8uYWZ0ZXJDbG9zZWQoKTtcclxuICAgIH1cclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBIYW5kbGVzIGZvcm0gY2FuY2VsIGV2ZW50cyBpbiB0aGUgdGFiIGNvbXBvbmVudC5cclxuICAgKiBAbWVtYmVyb2YgQWRkTWVldGluZ0NvbXBvbmVudFxyXG4gICAqL1xyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMudGFic0NvbXBvbmVudFJlZj8uZm9ybUNhbmNlbFxyXG4gICAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICA/LnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5jb25maXJtYXRpb25Nb2RhbENvbmZpZy5wcm9tcHRNZXNzYWdlID1cclxuICAgICAgICAgIHRoaXMuY29uZmlybWF0aW9uTW9kYWxUZXh0cz8ucHJvbXB0TWVzc2FnZU9uQ2FuY2VsO1xyXG4gICAgICAgIHRoaXMuZm9ybUNhbmNlbC5lbWl0KCk7XHJcbiAgICAgICAgaWYgKHRoaXMuaXNTdGFuZGFsb25lTWVldGluZykge1xyXG4gICAgICAgICAgdGhpcy5yb3V0ZXI/Lm5hdmlnYXRlQnlVcmwodGhpcy5yb3V0ZVBhdGhzLmV2ZW50c0FuZE1lZXRpbmdzKTtcclxuICAgICAgICB9IGVsc2UgaWYgKFxyXG4gICAgICAgICAgIXRoaXMuaXNTdGFuZGFsb25lTWVldGluZyAmJlxyXG4gICAgICAgICAgdGhpcy5ldmVudHNBbmRNZWV0aW5nc1NlcnZpY2U/LmdldEV2ZW50T3JNZWV0aW5nRm9ybUNoYW5nZVN0YXR1cygpXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICB0aGlzLmRpYWxvZ1JlZiA9IHRoaXMuZXZlbnRzQW5kTWVldGluZ3NTZXJ2aWNlPy5vcGVuQ29uZmlybWF0aW9uTW9kYWwoXHJcbiAgICAgICAgICAgIHRoaXMuY29uZmlybWF0aW9uTW9kYWxDb25maWdcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgICB0aGlzLmNvbmZpcm1hdGlvbk1vZGFsQWN0aW9uKCk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChcclxuICAgICAgICAgICF0aGlzLmlzU3RhbmRhbG9uZU1lZXRpbmcgJiZcclxuICAgICAgICAgICF0aGlzLmV2ZW50c0FuZE1lZXRpbmdzU2VydmljZT8uZ2V0RXZlbnRPck1lZXRpbmdGb3JtQ2hhbmdlU3RhdHVzKClcclxuICAgICAgICApIHtcclxuICAgICAgICAgIHRoaXMuZXZlbnRzQW5kTWVldGluZ3NTZXJ2aWNlPy5jYW5DbG9zZUFkZE1lZXRpbmdNb2RhbCQ/Lm5leHQodHJ1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogSGFuZGxlcyBjb25maXJtYXRpb24gbW9kYWwgYWN0aW9ucy5cclxuICAgKiBAbWVtYmVyb2YgQWRkTWVldGluZ0NvbXBvbmVudFxyXG4gICAqL1xyXG4gIGNvbmZpcm1hdGlvbk1vZGFsQWN0aW9uKCk6IHZvaWQge1xyXG4gICAgdGhpcy5kaWFsb2dSZWZcclxuICAgICAgPy5hZnRlckNsb3NlZCgpXHJcbiAgICAgID8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgID8uc3Vic2NyaWJlKChyZXN1bHQ6IGJvb2xlYW4pID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0ICYmICF0aGlzLmlzU3RhbmRhbG9uZU1lZXRpbmcpIHtcclxuICAgICAgICAgIHRoaXMuZXZlbnRzQW5kTWVldGluZ3NTZXJ2aWNlPy5jYW5DbG9zZUFkZE1lZXRpbmdNb2RhbCQ/Lm5leHQodHJ1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogU2V0cyBpc0Zvcm1DaGFuZ2VkIHN0YXR1cyB0byBmYWxzZSBvbiB0YWIgY2hhbmdlcy5cclxuICAgKiBAbWVtYmVyb2YgQWRkTWVldGluZ0NvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uU2VsZWN0ZWRUYWJJbmRleENoYW5nZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuaXNGb3JtQ2hhbmdlZCA9IGZhbHNlO1xyXG4gICAgdGhpcy5ldmVudHNBbmRNZWV0aW5nc1NlcnZpY2Uuc2V0RXZlbnRPck1lZXRpbmdGb3JtQ2hhbmdlU3RhdHVzKGZhbHNlKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogVW5zdWJzY3JpYmVzIHRoZSBzdWJzY3JpcHRpb24gd2hlbiB0aGUgY29tcG9uZW50IGlzIGJlaW5nIGRlc3Ryb3llZC5cclxuICAgKiBAbWVtYmVyb2YgQWRkTWVldGluZ0NvbXBvbmVudFxyXG4gICAqL1xyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZXN0cm95JD8ubmV4dCh0cnVlKTtcclxuICAgIHRoaXMuZGVzdHJveSQ/LnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXZcclxuICBbbmdDbGFzc109XCJzZWxlY3RlZE1lZXRpbmdJZCAmJiBpc1N0YW5kYWxvbmVNZWV0aW5nID8gJ2llZWVzYS1tZWV0aW5nJyA6ICcnXCJcclxuPlxyXG4gIDxwXHJcbiAgICAqbmdJZj1cInNlbGVjdGVkTWVldGluZ0lkICYmIGlzU3RhbmRhbG9uZU1lZXRpbmdcIlxyXG4gICAgY2xhc3M9XCJpZWVlc2EtdGl0bGUtbGctMjQgcGItMyBtLTBcIlxyXG4gID5cclxuICAgIHt7IHNjcmVlblRleHRzPy5jcmVhdGVPck1vZGlmeU1lZXRpbmc/LmxhYmVsPy5tZWV0aW5nRGV0YWlscyB9fVxyXG4gIDwvcD5cclxuICA8aWVlZXNhLXRhYnNcclxuICAgIFt0YWJzXT1cIm1lZXRpbmdGb3JtVGFic1wiXHJcbiAgICBbcm91dGVQYXJhbV09XCJyb3V0ZVBhcmFtXCJcclxuICAgIFtzZWxlY3RlZFRhYkluZGV4XT1cInNlbGVjdGVkVGFiSW5kZXhcIlxyXG4gICAgW2lzRm9ybUNoYW5nZWRdPVwiaXNGb3JtQ2hhbmdlZFwiXHJcbiAgICAoc2VsZWN0ZWRJbmRleENoYW5nZSk9XCJvblNlbGVjdGVkVGFiSW5kZXhDaGFuZ2UoKVwiXHJcbiAgICBbY29uZmlybWF0aW9uTW9kYWxDb25maWddPVwiY29uZmlybWF0aW9uTW9kYWxDb25maWdcIlxyXG4gID48L2llZWVzYS10YWJzPlxyXG48L2Rpdj5cclxuIl19
|
|
178
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLW1lZXRpbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZlbnRzLWFuZC1tZWV0aW5ncy9zcmMvbGliL2NvbXBvbmVudHMvYWRkLW1lZXRpbmcvYWRkLW1lZXRpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZlbnRzLWFuZC1tZWV0aW5ncy9zcmMvbGliL2NvbXBvbmVudHMvYWRkLW1lZXRpbmcvYWRkLW1lZXRpbmcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUN4RyxPQUFPLEtBQUssV0FBVyxNQUFNLDZCQUE2QixDQUFDO0FBSTNELE9BQU8sRUFBYyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RELE9BQU8sRUFDTCxTQUFTLEVBR1QsYUFBYSxFQUNkLE1BQU0sMEJBQTBCLENBQUM7Ozs7OztBQWNsQyxNQUFNLE9BQU8sbUJBQW1CO0lBMkM5QjtJQUNFLDBDQUEwQztJQUNsQyx3QkFBa0Q7SUFDMUQsMENBQTBDO0lBQ2xDLE1BQWM7SUFDdEIsMENBQTBDO0lBQ25DLE1BQWlCLENBQUMsNkNBQTZDOztRQUo5RCw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBRWxELFdBQU0sR0FBTixNQUFNLENBQVE7UUFFZixXQUFNLEdBQU4sTUFBTSxDQUFXO1FBOUMxQiw4REFBOEQ7UUFDOUQsZ0JBQVcsR0FBUSxXQUFXLENBQUM7UUFDL0Isb0JBQWUsR0FBVTtZQUN2Qjtn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Q0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0ksZUFBZTtzQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBDb21wb25lbnQsXHJcbiAgQ29tcG9uZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBWaWV3Q2hpbGQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENyZWF0ZU1vZGlmeU1lZXRpbmdDb21wb25lbnQgfSBmcm9tICcuLi9jcmVhdGUtbW9kaWZ5LW1lZXRpbmcvY3JlYXRlLW1vZGlmeS1tZWV0aW5nLmNvbXBvbmVudCc7XHJcbmltcG9ydCAqIGFzIHNjcmVlblRleHRzIGZyb20gJy4uLy4uL2Fzc2V0cy9jb25zdGFudHMuanNvbic7XHJcbmltcG9ydCB7IEV2ZW50c0FuZE1lZXRpbmdzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2V2ZW50cy1hbmQtbWVldGluZ3Muc2VydmljZSc7XHJcbmltcG9ydCB7IERlYWN0aXZhdGVDb21wb25lbnQgfSBmcm9tICdAaWVlZXNhLW5wbS91dGlsaXR5JztcclxuaW1wb3J0IHsgUm91dGVyLCBVcmxUcmVlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7XHJcbiAgQWxpZ25UeXBlLFxyXG4gIENvbmZpcm1hdGlvbk1vZGFsRGF0YSxcclxuICBUYWIsXHJcbiAgVGFic0NvbXBvbmVudFxyXG59IGZyb20gJ0BpZWVlc2EtbnBtL3ByZXNlbnRhdGlvbic7XHJcbi8vIFRvRG8gTXVzdCBpbXBvcnQgZnJvbSBpZWVlc2EtbnBtL3ByZXNlbnRhdGlvblxyXG4vLyBpbXBvcnQgeyBUYWJzQ29tcG9uZW50IH0gZnJvbSAnQHByZXNlbnRhdGlvbi9jb21wb25lbnRzL3RhYnMvdGFicy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBFdmVudHNBbmRNZWV0aW5nUm91dGVDb25maWcgfSBmcm9tICdAaWVlZXNhLW5wbS9zaGFyZWQnO1xyXG5pbXBvcnQgeyBVc2VyUGVybWlzc2lvbiB9IGZyb20gJy4uLy4uL21vZGVscy9tZWV0aW5nLXBlcm1pc3Npb25zLm1vZGVsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWVlZXNhLWFkZC1tZWV0aW5nLWZvcm0nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVGFic0NvbXBvbmVudF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FkZC1tZWV0aW5nLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9hZGQtbWVldGluZy5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQWRkTWVldGluZ0NvbXBvbmVudFxyXG4gIGltcGxlbWVudHMgT25Jbml0LCBEZWFjdGl2YXRlQ29tcG9uZW50LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3lcclxue1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgc2NyZWVuVGV4dHM6IGFueSA9IHNjcmVlblRleHRzO1xyXG4gIG1lZXRpbmdGb3JtVGFiczogVGFiW10gPSBbXHJcbiAgICB7XHJcbiAgICAgIGlkOiAxLFxyXG4gICAgICBsYWJlbDogdGhpcy5zY3JlZW5UZXh0cz8uYWRkTWVldGluZz8udGFicz8ubGFiZWw/LmluZm8sXHJcbiAgICAgIGNvbXBvbmVudFJlZjogQ3JlYXRlTW9kaWZ5TWVldGluZ0NvbXBvbmVudCxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAyLFxyXG4gICAgICBsYWJlbDogdGhpcy5zY3JlZW5UZXh0cz8uYWRkTWVldGluZz8udGFicz8ubGFiZWw/LmFnZW5kYSxcclxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICAgICAgY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8YW55PixcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAzLFxyXG4gICAgICBsYWJlbDogdGhpcy5zY3JlZW5UZXh0cz8uYWRkTWVldGluZz8udGFicz8ubGFiZWw/LmF0dGVuZGVlcyxcclxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICAgICAgY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8YW55PixcclxuICAgIH0sXHJcbiAgXTtcclxuICBzZWxlY3RlZFRhYkluZGV4ID0gMDtcclxuICBzZWxlY3RlZE1lZXRpbmdJZCE6IHN0cmluZztcclxuICBpc1N0YW5kYWxvbmVNZWV0aW5nID0gdHJ1ZTtcclxuICBAVmlld0NoaWxkKFRhYnNDb21wb25lbnQpIHRhYnNDb21wb25lbnRSZWYhOiBUYWJzQ29tcG9uZW50O1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgZGlhbG9nUmVmOiBhbnk7XHJcbiAgZGVzdHJveSQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xyXG4gIGlzRm9ybUNoYW5nZWQgPSBmYWxzZTtcclxuICBAT3V0cHV0KCkgZm9ybUNhbmNlbCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBjb25maXJtYXRpb25Nb2RhbENvbmZpZyE6IENvbmZpcm1hdGlvbk1vZGFsRGF0YTtcclxuICBjb25maXJtYXRpb25Nb2RhbFRleHRzID1cclxuICAgIHRoaXMuc2NyZWVuVGV4dHM/LmNyZWF0ZU1vZGlmeUV2ZW50T3JNZWV0aW5nXHJcbiAgICAgID8udW5zYXZlZEZvcm1DaGFuZ2VzQ29uZmlybWF0aW9uRGlhbG9nT3B0aW9ucztcclxuICBASW5wdXQoKSBldmVudElkITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIG1lZXRpbmdJZCE6IHN0cmluZztcclxuICBASW5wdXQoKSByb3V0ZVBhdGhzITogRXZlbnRzQW5kTWVldGluZ1JvdXRlQ29uZmlnO1xyXG4gIEBJbnB1dCgpIGFwaUJhc2VVUkwhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgdXNlclBlcm1pc3Npb25zITogVXNlclBlcm1pc3Npb25bXTtcclxuICBAT3V0cHV0KCkgYWRkTWVldGluZ0NsaWNrOiBFdmVudEVtaXR0ZXI8RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xyXG4gICAgcHJpdmF0ZSBldmVudHNBbmRNZWV0aW5nc1NlcnZpY2U6IEV2ZW50c0FuZE1lZXRpbmdzU2VydmljZSxcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xyXG4gICAgcHVibGljIGRpYWxvZzogTWF0RGlhbG9nIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1lbXB0eS1mdW5jdGlvblxyXG4gICkge31cclxuICAvKipcclxuICAgKiBTZXRzIHNlbGVjdGVkIG1lZXRpbmcgaWQgYW5kIGZvcm0gY2hhbmdlIHN0YXR1cy5cclxuICAgKiBAbWVtYmVyb2YgQWRkTWVldGluZ0NvbXBvbmVudFxyXG4gICAqL1xyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5ldmVudHNBbmRNZWV0aW5nc1NlcnZpY2U/LnNldEFwcENvbmZpZyhcclxuICAgICAgdGhpcy5hcGlCYXNlVVJMLFxyXG4gICAgICB0aGlzLnVzZXJQZXJtaXNzaW9uc1xyXG4gICAgKTtcclxuICAgIHRoaXMuZXZlbnRzQW5kTWVldGluZ3NTZXJ2aWNlLnNldFN0YW5kYWxvbmVNZWV0aW5nU3RhdHVzKFxyXG4gICAgICB0aGlzLmV2ZW50SWQgJiYgdGhpcy5tZWV0aW5nSWQgPyBmYWxzZSA6ICF0aGlzLmV2ZW50SWRcclxuICAgICk7XHJcbiAgICB0aGlzLmlzU3RhbmRhbG9uZU1lZXRpbmcgPVxyXG4gICAgICB0aGlzLmV2ZW50c0FuZE1lZXRpbmdzU2VydmljZS5nZXRTdGFuZGFsb25lTWVldGluZ1N0YXR1cygpO1xyXG4gICAgdGhpcy5ldmVudHNBbmRNZWV0aW5nc1NlcnZpY2Uuc2V0U2VsZWN0ZWRFdmVudElkKHRoaXMuZXZlbnRJZCA/PyAnJyk7XHJcbiAgICB0aGlzLmV2ZW50c0FuZE1lZXRpbmdzU2VydmljZS5zZXRTZWxlY3RlZE1lZXRpbmdJZCh0aGlzLm1lZXRpbmdJZCA/PyAnJyk7XHJcbiAgICB0aGlzLmNvbmZpcm1hdGlvbk1vZGFsQ29uZmlnID0ge1xyXG4gICAgICBsZWZ0QnV0dG9uTGFiZWw6IHRoaXMuY29uZmlybWF0aW9uTW9kYWxUZXh0cz8ubGVmdEJ1dHRvbkxhYmVsLFxyXG4gICAgICByaWdodEJ1dHRvbkxhYmVsOiB0aGlzLmNvbmZpcm1hdGlvbk1vZGFsVGV4dHM/LnJpZ2h0QnV0dG9uTGFiZWwsXHJcbiAgICAgIHByb21wdE1lc3NhZ2U6IHRoaXMuY29uZmlybWF0aW9uTW9kYWxUZXh0cz8ucHJvbXB0TWVzc2FnZSxcclxuICAgICAgYWN0aW9uQnV0dG9uQWxpZ246IEFsaWduVHlwZS5NSURETEUsXHJcbiAgICB9O1xyXG4gICAgdGhpcy5zZWxlY3RlZE1lZXRpbmdJZCA9IHRoaXMuZXZlbnRzQW5kTWVldGluZ3NTZXJ2aWNlPy5zZWxlY3RlZE1lZXRpbmdJZDtcclxuICAgIHRoaXMuZXZlbnRzQW5kTWVldGluZ3NTZXJ2aWNlPy5mb3JtU3RhdHVzQ2hhbmdlTm90aWZpZXIkXHJcbiAgICAgID8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHN0YXR1czogYm9vbGVhbikgPT4ge1xyXG4gICAgICAgIHRoaXMuaXNGb3JtQ2hhbmdlZCA9IHN0YXR1cztcclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFRyaWdnZXJzIGNvbmZpcm1hdGlvbiBtb2RhbCB3aGlsZSBsZWF2aW5nIHVuc2F2ZWQgZm9ybS5cclxuICAgKiBAcmV0dXJuIHsoYm9vbGVhblxyXG4gICAqICAgICB8IFVybFRyZWVcclxuICAgKiAgICAgfCBPYnNlcnZhYmxlPGJvb2xlYW4gfCBVcmxUcmVlPlxyXG4gICAqICAgICB8IFByb21pc2U8Ym9vbGVhbiB8IFVybFRyZWU+KX1cclxuICAgKiBAbWVtYmVyb2YgQWRkTWVldGluZ0NvbXBvbmVudFxyXG4gICAqL1xyXG4gIGNhbkRlYWN0aXZhdGUoKTpcclxuICAgIHwgVXJsVHJlZVxyXG4gICAgfCBPYnNlcnZhYmxlPGJvb2xlYW4gfCBVcmxUcmVlPlxyXG4gICAgfCBQcm9taXNlPGJvb2xlYW4gfCBVcmxUcmVlPlxyXG4gICAgfCBib29sZWFuIHtcclxuICAgIGlmICh0aGlzLmV2ZW50c0FuZE1lZXRpbmdzU2VydmljZT8uZ2V0RXZlbnRPck1lZXRpbmdGb3JtQ2hhbmdlU3RhdHVzKCkpIHtcclxuICAgICAgdGhpcy5kaWFsb2dSZWYgPSB0aGlzLmV2ZW50c0FuZE1lZXRpbmdzU2VydmljZT8ub3BlbkNvbmZpcm1hdGlvbk1vZGFsKFxyXG4gICAgICAgIHRoaXMuY29uZmlybWF0aW9uTW9kYWxDb25maWdcclxuICAgICAgKTtcclxuICAgICAgdGhpcy5jb25maXJtYXRpb25Nb2RhbEFjdGlvbigpO1xyXG4gICAgICByZXR1cm4gdGhpcy5kaWFsb2dSZWY/LmFmdGVyQ2xvc2VkKCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogSGFuZGxlcyBmb3JtIGNhbmNlbCBldmVudHMgaW4gdGhlIHRhYiBjb21wb25lbnQuXHJcbiAgICogQG1lbWJlcm9mIEFkZE1lZXRpbmdDb21wb25lbnRcclxuICAgKi9cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRhYnNDb21wb25lbnRSZWY/LmZvcm1DYW5jZWxcclxuICAgICAgPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgPy5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuY29uZmlybWF0aW9uTW9kYWxDb25maWcucHJvbXB0TWVzc2FnZSA9XHJcbiAgICAgICAgICB0aGlzLmNvbmZpcm1hdGlvbk1vZGFsVGV4dHM/LnByb21wdE1lc3NhZ2VPbkNhbmNlbDtcclxuICAgICAgICB0aGlzLmZvcm1DYW5jZWwuZW1pdCgpO1xyXG4gICAgICAgIGlmICh0aGlzLmlzU3RhbmRhbG9uZU1lZXRpbmcpIHtcclxuICAgICAgICAgIGlmICh0aGlzLnJvdXRlUGF0aHMuZXZlbnRzQW5kTWVldGluZ3MpIHtcclxuICAgICAgICAgICAgdGhpcy5yb3V0ZXI/Lm5hdmlnYXRlQnlVcmwodGhpcy5yb3V0ZVBhdGhzLmV2ZW50c0FuZE1lZXRpbmdzKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuYWRkTWVldGluZ0NsaWNrLmVtaXQoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2UgaWYgKFxyXG4gICAgICAgICAgIXRoaXMuaXNTdGFuZGFsb25lTWVldGluZyAmJlxyXG4gICAgICAgICAgdGhpcy5ldmVudHNBbmRNZWV0aW5nc1NlcnZpY2U/LmdldEV2ZW50T3JNZWV0aW5nRm9ybUNoYW5nZVN0YXR1cygpXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICB0aGlzLmRpYWxvZ1JlZiA9IHRoaXMuZXZlbnRzQW5kTWVldGluZ3NTZXJ2aWNlPy5vcGVuQ29uZmlybWF0aW9uTW9kYWwoXHJcbiAgICAgICAgICAgIHRoaXMuY29uZmlybWF0aW9uTW9kYWxDb25maWdcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgICB0aGlzLmNvbmZpcm1hdGlvbk1vZGFsQWN0aW9uKCk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChcclxuICAgICAgICAgICF0aGlzLmlzU3RhbmRhbG9uZU1lZXRpbmcgJiZcclxuICAgICAgICAgICF0aGlzLmV2ZW50c0FuZE1lZXRpbmdzU2VydmljZT8uZ2V0RXZlbnRPck1lZXRpbmdGb3JtQ2hhbmdlU3RhdHVzKClcclxuICAgICAgICApIHtcclxuICAgICAgICAgIHRoaXMuZXZlbnRzQW5kTWVldGluZ3NTZXJ2aWNlPy5jYW5DbG9zZUFkZE1lZXRpbmdNb2RhbCQ/Lm5leHQodHJ1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogSGFuZGxlcyBjb25maXJtYXRpb24gbW9kYWwgYWN0aW9ucy5cclxuICAgKiBAbWVtYmVyb2YgQWRkTWVldGluZ0NvbXBvbmVudFxyXG4gICAqL1xyXG4gIGNvbmZpcm1hdGlvbk1vZGFsQWN0aW9uKCk6IHZvaWQge1xyXG4gICAgdGhpcy5kaWFsb2dSZWZcclxuICAgICAgPy5hZnRlckNsb3NlZCgpXHJcbiAgICAgID8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgID8uc3Vic2NyaWJlKChyZXN1bHQ6IGJvb2xlYW4pID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0ICYmICF0aGlzLmlzU3RhbmRhbG9uZU1lZXRpbmcpIHtcclxuICAgICAgICAgIHRoaXMuZXZlbnRzQW5kTWVldGluZ3NTZXJ2aWNlPy5jYW5DbG9zZUFkZE1lZXRpbmdNb2RhbCQ/Lm5leHQodHJ1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogU2V0cyBpc0Zvcm1DaGFuZ2VkIHN0YXR1cyB0byBmYWxzZSBvbiB0YWIgY2hhbmdlcy5cclxuICAgKiBAbWVtYmVyb2YgQWRkTWVldGluZ0NvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uU2VsZWN0ZWRUYWJJbmRleENoYW5nZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuaXNGb3JtQ2hhbmdlZCA9IGZhbHNlO1xyXG4gICAgdGhpcy5ldmVudHNBbmRNZWV0aW5nc1NlcnZpY2Uuc2V0RXZlbnRPck1lZXRpbmdGb3JtQ2hhbmdlU3RhdHVzKGZhbHNlKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogVW5zdWJzY3JpYmVzIHRoZSBzdWJzY3JpcHRpb24gd2hlbiB0aGUgY29tcG9uZW50IGlzIGJlaW5nIGRlc3Ryb3llZC5cclxuICAgKiBAbWVtYmVyb2YgQWRkTWVldGluZ0NvbXBvbmVudFxyXG4gICAqL1xyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZXN0cm95JD8ubmV4dCh0cnVlKTtcclxuICAgIHRoaXMuZGVzdHJveSQ/LnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXZcclxuICBbbmdDbGFzc109XCJzZWxlY3RlZE1lZXRpbmdJZCAmJiBpc1N0YW5kYWxvbmVNZWV0aW5nID8gJ2llZWVzYS1tZWV0aW5nJyA6ICcnXCJcclxuPlxyXG4gIDxwXHJcbiAgICAqbmdJZj1cInNlbGVjdGVkTWVldGluZ0lkICYmIGlzU3RhbmRhbG9uZU1lZXRpbmdcIlxyXG4gICAgY2xhc3M9XCJpZWVlc2EtdGl0bGUtbGctMjQgcGItMyBtLTBcIlxyXG4gID5cclxuICAgIHt7IHNjcmVlblRleHRzPy5jcmVhdGVPck1vZGlmeU1lZXRpbmc/LmxhYmVsPy5tZWV0aW5nRGV0YWlscyB9fVxyXG4gIDwvcD5cclxuICA8aWVlZXNhLXRhYnNcclxuICAgIFt0YWJzXT1cIm1lZXRpbmdGb3JtVGFic1wiXHJcbiAgICBbZXZlbnRJZF09XCJldmVudElkXCJcclxuICAgIFttZWV0aW5nSWRdPVwibWVldGluZ0lkXCJcclxuICAgIFtzZWxlY3RlZFRhYkluZGV4XT1cInNlbGVjdGVkVGFiSW5kZXhcIlxyXG4gICAgW2FwaUJhc2VVUkxdPVwiYXBpQmFzZVVSTFwiXHJcbiAgICBbdXNlclBlcm1pc3Npb25zXT1cInVzZXJQZXJtaXNzaW9uc1wiXHJcbiAgICBbaXNGb3JtQ2hhbmdlZF09XCJpc0Zvcm1DaGFuZ2VkXCJcclxuICAgIChzZWxlY3RlZEluZGV4Q2hhbmdlKT1cIm9uU2VsZWN0ZWRUYWJJbmRleENoYW5nZSgpXCJcclxuICAgIFtjb25maXJtYXRpb25Nb2RhbENvbmZpZ109XCJjb25maXJtYXRpb25Nb2RhbENvbmZpZ1wiXHJcbiAgPjwvaWVlZXNhLXRhYnM+XHJcbjwvZGl2PlxyXG4iXX0=
|