@posiwise/admin-module 0.0.118 → 0.0.120
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/incidents/add-edit-incident/add-edit-incident.component.mjs +3 -3
- package/esm2022/lib/components/incidents/incidents-list/incidents-list.component.mjs +3 -3
- package/esm2022/lib/components/login-notifications/login-notification-details/login-notification-details.component.mjs +3 -3
- package/esm2022/lib/components/newsletters/newsletter-details/newsletter-details.component.mjs +6 -5
- package/esm2022/lib/components/subscriptions/subscription-agents-list/subscription-agents-list.component.mjs +3 -3
- package/esm2022/lib/components/tracking/ahoy-events/ahoy-events.component.mjs +31 -15
- package/esm2022/lib/components/tracking/ahoy-messages/ahoy-messages.component.mjs +28 -13
- package/esm2022/lib/components/tracking/ahoy-visits/ahoy-visits.component.mjs +33 -19
- package/esm2022/lib/components/tracking/events/events.component.mjs +33 -19
- package/esm2022/lib/components/tracking/versions/versions.component.mjs +33 -19
- package/fesm2022/posiwise-admin-module.mjs +159 -90
- package/fesm2022/posiwise-admin-module.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -124,13 +124,13 @@ export class AddEditIncidentComponent extends AppBaseComponent {
|
|
|
124
124
|
this.router.navigate([`${this.routers.incidentConfig}`]);
|
|
125
125
|
}
|
|
126
126
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: AddEditIncidentComponent, deps: [{ token: i0.Injector }, { token: i1.CommonService }, { token: i2.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
127
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: AddEditIncidentComponent, selector: "pw-admin-add-edit-incident", viewQueries: [{ propertyName: "editForm", first: true, predicate: ["editForm"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"container-fluid pw-tab overflow-hidden\">\n <div class=\"dashboard\">\n <div class=\"dashboard-body\">\n <div class=\"me-auto col-xs-6 mt-4\">\n <a href=\"javascript:void(0)\" routerLink=\"/admin/incident/list\" class=\"previous\"><i\n class=\"fa fa-arrow-alt-circle-left\" aria-hidden=\"true\"></i></a>\n <h3 class=\"mt-3\">{{ id ? 'Edit' : 'Add New' }} Incident</h3>\n </div>\n <div class=\"w-100 text-center mt-3\"\n *ngIf=\"isLoading\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n </div>\n <div class=\"p-2 mt-3\">\n <form (ngSubmit)=\"onSubmit()\" [formGroup]=\"form\" *ngIf=\"!isLoading\">\n <div class=\"row\">\n <pw-input-container class=\"col-lg-6\" [label]=\"'Admin.Incident.UrlImpacted' | transloco\"\n name=\"url_impacted\" [errorMsg]=\"'Admin.Incident.Validation.UrlImpacted' | transloco\">\n <input type=\"text\" formControlName=\"url_impacted\" class=\"form-control\"\n [ngClass]=\"{ 'is-invalid': submitted && f['url_impacted'].errors }\" />\n </pw-input-container>\n <pw-input-container class=\"col-lg-6\" [label]=\"'Admin.Incident.ServiceImpacted' | transloco\"\n name=\"service_impacted\"\n [errorMsg]=\"'Admin.Incident.Validation.ServiceImpacted' | transloco\">\n <input type=\"text\" formControlName=\"service_impacted\" class=\"form-control\"\n [ngClass]=\"{ 'is-invalid': submitted && f['service_impacted'].errors }\" />\n </pw-input-container>\n <div class=\"col-lg-12\">\n <pw-input-container class=\"col-12 quill-editor\"\n [label]=\"'Admin.Incident.Description' | transloco\" name=\"description\"\n [errorMsg]=\"'Admin.Incident.Validation.Description' | transloco\">\n <quill-editor [styles]=\"{ height: '200px'}\" formControlName=\"description\"\n class=\"quillEditor d-block\"\n [ngClass]=\"{ 'is-invalid': submitted && f['description'].errors, 'w-100': true }\">\n </quill-editor>\n </pw-input-container>\n </div>\n <div class=\"row\">\n <div class=\"col-xs-12 col-sm-4 col-md-4 col-lg-4\">\n <pw-input-container [label]=\"'Admin.Incident.StartedAt' | transloco\" name=\"started_at\"\n [errorMsg]=\"'Admin.Incident.Validation.Date' | transloco\">\n <p-calendar class=\"addEditincident\" formControlName=\"started_at\" [showIcon]=\"true\" [placeholder]=\"'Admin.Incident.calender.placeholder' | transloco\"\n [showTime]=\"true\" [appendTo]=\"'body'\" dateFormat=\"dd
|
|
127
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: AddEditIncidentComponent, selector: "pw-admin-add-edit-incident", viewQueries: [{ propertyName: "editForm", first: true, predicate: ["editForm"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"container-fluid pw-tab overflow-hidden\">\n <div class=\"dashboard\">\n <div class=\"dashboard-body\">\n <div class=\"me-auto col-xs-6 mt-4\">\n <a href=\"javascript:void(0)\" routerLink=\"/admin/incident/list\" class=\"previous\"><i\n class=\"fa fa-arrow-alt-circle-left\" aria-hidden=\"true\"></i></a>\n <h3 class=\"mt-3\">{{ id ? 'Edit' : 'Add New' }} Incident</h3>\n </div>\n <div class=\"w-100 text-center mt-3\"\n *ngIf=\"isLoading\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n </div>\n <div class=\"p-2 mt-3\">\n <form (ngSubmit)=\"onSubmit()\" [formGroup]=\"form\" *ngIf=\"!isLoading\">\n <div class=\"row\">\n <pw-input-container class=\"col-lg-6\" [label]=\"'Admin.Incident.UrlImpacted' | transloco\"\n name=\"url_impacted\" [errorMsg]=\"'Admin.Incident.Validation.UrlImpacted' | transloco\">\n <input type=\"text\" formControlName=\"url_impacted\" class=\"form-control\"\n [ngClass]=\"{ 'is-invalid': submitted && f['url_impacted'].errors }\" />\n </pw-input-container>\n <pw-input-container class=\"col-lg-6\" [label]=\"'Admin.Incident.ServiceImpacted' | transloco\"\n name=\"service_impacted\"\n [errorMsg]=\"'Admin.Incident.Validation.ServiceImpacted' | transloco\">\n <input type=\"text\" formControlName=\"service_impacted\" class=\"form-control\"\n [ngClass]=\"{ 'is-invalid': submitted && f['service_impacted'].errors }\" />\n </pw-input-container>\n <div class=\"col-lg-12\">\n <pw-input-container class=\"col-12 quill-editor\"\n [label]=\"'Admin.Incident.Description' | transloco\" name=\"description\"\n [errorMsg]=\"'Admin.Incident.Validation.Description' | transloco\">\n <quill-editor [styles]=\"{ height: '200px'}\" formControlName=\"description\"\n class=\"quillEditor d-block\"\n [ngClass]=\"{ 'is-invalid': submitted && f['description'].errors, 'w-100': true }\">\n </quill-editor>\n </pw-input-container>\n </div>\n <div class=\"row\">\n <div class=\"col-xs-12 col-sm-4 col-md-4 col-lg-4\">\n <pw-input-container [label]=\"'Admin.Incident.StartedAt' | transloco\" name=\"started_at\"\n [errorMsg]=\"'Admin.Incident.Validation.Date' | transloco\">\n <p-calendar class=\"addEditincident\" formControlName=\"started_at\" [showIcon]=\"true\" [placeholder]=\"'Admin.Incident.calender.placeholder' | transloco\"\n [showTime]=\"true\" [appendTo]=\"'body'\" dateFormat=\"dd-M-yy\">\n </p-calendar>\n </pw-input-container>\n </div>\n <div class=\"col-xs-12 col-sm-4 col-md-4 col-lg-4\">\n <pw-input-container [label]=\"'Admin.Incident.ResolvedAt' | transloco\" name=\"resolved_at\"\n [errorMsg]=\"'Admin.Incident.Validation.Date' | transloco\">\n <p-calendar class=\"addEditincident\" formControlName=\"resolved_at\" [showIcon]=\"true\" [placeholder]=\"'Admin.Incident.calender.placeholder' | transloco\"\n [showTime]=\"true\" [appendTo]=\"'body'\" dateFormat=\"dd-M-yy\">\n </p-calendar>\n </pw-input-container>\n </div>\n <div class=\"col-xs-12 col-sm-4 col-md-4 col-lg-4\">\n <pw-input-container [label]=\"'Admin.Incident.LastCheckedAt' | transloco\"\n name=\"last_check_at\" [errorMsg]=\"'Admin.Incident.Validation.Date' | transloco\">\n <p-calendar class=\"addEditincident\" formControlName=\"last_check_at\"[placeholder]=\"'Admin.Incident.calender.placeholder' | transloco\"\n [showIcon]=\"true\" [showTime]=\"true\" [appendTo]=\"'body'\" dateFormat=\"dd-M-yy\">\n </p-calendar>\n </pw-input-container>\n </div>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-12 mt-4\">\n <div class=\"mb-3 text-end\">\n <button type=\"button\" class=\"btn btn-outline-default me-2\" data-bs-toggle=\"collapse\"\n (click)=\"onCancel()\" role=\"button\" aria-expanded=\"false\"\n aria-controls=\"incidentCollapse\"> {{ 'Button.Cancel' | transloco }} </button>\n <button class=\"btn btn-primary\" [disabled]=\"!isSuperAdmin\" [buttonBusy]=\"buttonBusy\">{{\n 'Button.Save' | transloco }}</button>\n </div>\n </div>\n </div>\n </form>\n </div>\n </div>\n </div>\n</div>\n", styles: [":root{--first: rgb(23 105 225);--second: rgb(54 194 131);--third: rgb(255 171 0);--text: rgb(34 34 34);--tabs_bg: rgb(23 105 225);--tabs_text: rgb(255 255 255);--titles: rgb(34 34 34);--sidebar_bg: rgb(0, 48, 63);--sidebar_text: rgb(255 255 255)}\n"], dependencies: [{ kind: "component", type: i3.Calendar, selector: "p-calendar", inputs: ["iconDisplay", "style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "ariaLabel", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepYearPicker", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "startWeekFromFirstDayOfYear", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autofocus", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "variant", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale", "view", "defaultDate"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }, { kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i6.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i7.ProgressSpinner, selector: "p-progressSpinner", inputs: ["styleClass", "style", "strokeWidth", "fill", "animationDuration", "ariaLabel"] }, { kind: "component", type: i8.InputContainerComponent, selector: "pw-input-container", inputs: ["name", "label", "labelClass", "tooltipPosition", "required", "errorMsg", "isReadOnly", "showTooltip", "tooltipText", "showTriangle", "afterLabel", "showAfterLabel", "showTriangleText"] }, { kind: "directive", type: i9.ButtonBusyDirective, selector: "[buttonBusy]", inputs: ["buttonBusy", "busyText"] }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i10.QuillEditorComponent, selector: "quill-editor" }, { kind: "pipe", type: i11.TranslocoPipe, name: "transloco" }] }); }
|
|
128
128
|
}
|
|
129
129
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: AddEditIncidentComponent, decorators: [{
|
|
130
130
|
type: Component,
|
|
131
|
-
args: [{ selector: 'pw-admin-add-edit-incident', template: "<div class=\"container-fluid pw-tab overflow-hidden\">\n <div class=\"dashboard\">\n <div class=\"dashboard-body\">\n <div class=\"me-auto col-xs-6 mt-4\">\n <a href=\"javascript:void(0)\" routerLink=\"/admin/incident/list\" class=\"previous\"><i\n class=\"fa fa-arrow-alt-circle-left\" aria-hidden=\"true\"></i></a>\n <h3 class=\"mt-3\">{{ id ? 'Edit' : 'Add New' }} Incident</h3>\n </div>\n <div class=\"w-100 text-center mt-3\"\n *ngIf=\"isLoading\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n </div>\n <div class=\"p-2 mt-3\">\n <form (ngSubmit)=\"onSubmit()\" [formGroup]=\"form\" *ngIf=\"!isLoading\">\n <div class=\"row\">\n <pw-input-container class=\"col-lg-6\" [label]=\"'Admin.Incident.UrlImpacted' | transloco\"\n name=\"url_impacted\" [errorMsg]=\"'Admin.Incident.Validation.UrlImpacted' | transloco\">\n <input type=\"text\" formControlName=\"url_impacted\" class=\"form-control\"\n [ngClass]=\"{ 'is-invalid': submitted && f['url_impacted'].errors }\" />\n </pw-input-container>\n <pw-input-container class=\"col-lg-6\" [label]=\"'Admin.Incident.ServiceImpacted' | transloco\"\n name=\"service_impacted\"\n [errorMsg]=\"'Admin.Incident.Validation.ServiceImpacted' | transloco\">\n <input type=\"text\" formControlName=\"service_impacted\" class=\"form-control\"\n [ngClass]=\"{ 'is-invalid': submitted && f['service_impacted'].errors }\" />\n </pw-input-container>\n <div class=\"col-lg-12\">\n <pw-input-container class=\"col-12 quill-editor\"\n [label]=\"'Admin.Incident.Description' | transloco\" name=\"description\"\n [errorMsg]=\"'Admin.Incident.Validation.Description' | transloco\">\n <quill-editor [styles]=\"{ height: '200px'}\" formControlName=\"description\"\n class=\"quillEditor d-block\"\n [ngClass]=\"{ 'is-invalid': submitted && f['description'].errors, 'w-100': true }\">\n </quill-editor>\n </pw-input-container>\n </div>\n <div class=\"row\">\n <div class=\"col-xs-12 col-sm-4 col-md-4 col-lg-4\">\n <pw-input-container [label]=\"'Admin.Incident.StartedAt' | transloco\" name=\"started_at\"\n [errorMsg]=\"'Admin.Incident.Validation.Date' | transloco\">\n <p-calendar class=\"addEditincident\" formControlName=\"started_at\" [showIcon]=\"true\" [placeholder]=\"'Admin.Incident.calender.placeholder' | transloco\"\n [showTime]=\"true\" [appendTo]=\"'body'\" dateFormat=\"dd
|
|
131
|
+
args: [{ selector: 'pw-admin-add-edit-incident', template: "<div class=\"container-fluid pw-tab overflow-hidden\">\n <div class=\"dashboard\">\n <div class=\"dashboard-body\">\n <div class=\"me-auto col-xs-6 mt-4\">\n <a href=\"javascript:void(0)\" routerLink=\"/admin/incident/list\" class=\"previous\"><i\n class=\"fa fa-arrow-alt-circle-left\" aria-hidden=\"true\"></i></a>\n <h3 class=\"mt-3\">{{ id ? 'Edit' : 'Add New' }} Incident</h3>\n </div>\n <div class=\"w-100 text-center mt-3\"\n *ngIf=\"isLoading\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n </div>\n <div class=\"p-2 mt-3\">\n <form (ngSubmit)=\"onSubmit()\" [formGroup]=\"form\" *ngIf=\"!isLoading\">\n <div class=\"row\">\n <pw-input-container class=\"col-lg-6\" [label]=\"'Admin.Incident.UrlImpacted' | transloco\"\n name=\"url_impacted\" [errorMsg]=\"'Admin.Incident.Validation.UrlImpacted' | transloco\">\n <input type=\"text\" formControlName=\"url_impacted\" class=\"form-control\"\n [ngClass]=\"{ 'is-invalid': submitted && f['url_impacted'].errors }\" />\n </pw-input-container>\n <pw-input-container class=\"col-lg-6\" [label]=\"'Admin.Incident.ServiceImpacted' | transloco\"\n name=\"service_impacted\"\n [errorMsg]=\"'Admin.Incident.Validation.ServiceImpacted' | transloco\">\n <input type=\"text\" formControlName=\"service_impacted\" class=\"form-control\"\n [ngClass]=\"{ 'is-invalid': submitted && f['service_impacted'].errors }\" />\n </pw-input-container>\n <div class=\"col-lg-12\">\n <pw-input-container class=\"col-12 quill-editor\"\n [label]=\"'Admin.Incident.Description' | transloco\" name=\"description\"\n [errorMsg]=\"'Admin.Incident.Validation.Description' | transloco\">\n <quill-editor [styles]=\"{ height: '200px'}\" formControlName=\"description\"\n class=\"quillEditor d-block\"\n [ngClass]=\"{ 'is-invalid': submitted && f['description'].errors, 'w-100': true }\">\n </quill-editor>\n </pw-input-container>\n </div>\n <div class=\"row\">\n <div class=\"col-xs-12 col-sm-4 col-md-4 col-lg-4\">\n <pw-input-container [label]=\"'Admin.Incident.StartedAt' | transloco\" name=\"started_at\"\n [errorMsg]=\"'Admin.Incident.Validation.Date' | transloco\">\n <p-calendar class=\"addEditincident\" formControlName=\"started_at\" [showIcon]=\"true\" [placeholder]=\"'Admin.Incident.calender.placeholder' | transloco\"\n [showTime]=\"true\" [appendTo]=\"'body'\" dateFormat=\"dd-M-yy\">\n </p-calendar>\n </pw-input-container>\n </div>\n <div class=\"col-xs-12 col-sm-4 col-md-4 col-lg-4\">\n <pw-input-container [label]=\"'Admin.Incident.ResolvedAt' | transloco\" name=\"resolved_at\"\n [errorMsg]=\"'Admin.Incident.Validation.Date' | transloco\">\n <p-calendar class=\"addEditincident\" formControlName=\"resolved_at\" [showIcon]=\"true\" [placeholder]=\"'Admin.Incident.calender.placeholder' | transloco\"\n [showTime]=\"true\" [appendTo]=\"'body'\" dateFormat=\"dd-M-yy\">\n </p-calendar>\n </pw-input-container>\n </div>\n <div class=\"col-xs-12 col-sm-4 col-md-4 col-lg-4\">\n <pw-input-container [label]=\"'Admin.Incident.LastCheckedAt' | transloco\"\n name=\"last_check_at\" [errorMsg]=\"'Admin.Incident.Validation.Date' | transloco\">\n <p-calendar class=\"addEditincident\" formControlName=\"last_check_at\"[placeholder]=\"'Admin.Incident.calender.placeholder' | transloco\"\n [showIcon]=\"true\" [showTime]=\"true\" [appendTo]=\"'body'\" dateFormat=\"dd-M-yy\">\n </p-calendar>\n </pw-input-container>\n </div>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-12 mt-4\">\n <div class=\"mb-3 text-end\">\n <button type=\"button\" class=\"btn btn-outline-default me-2\" data-bs-toggle=\"collapse\"\n (click)=\"onCancel()\" role=\"button\" aria-expanded=\"false\"\n aria-controls=\"incidentCollapse\"> {{ 'Button.Cancel' | transloco }} </button>\n <button class=\"btn btn-primary\" [disabled]=\"!isSuperAdmin\" [buttonBusy]=\"buttonBusy\">{{\n 'Button.Save' | transloco }}</button>\n </div>\n </div>\n </div>\n </form>\n </div>\n </div>\n </div>\n</div>\n", styles: [":root{--first: rgb(23 105 225);--second: rgb(54 194 131);--third: rgb(255 171 0);--text: rgb(34 34 34);--tabs_bg: rgb(23 105 225);--tabs_text: rgb(255 255 255);--titles: rgb(34 34 34);--sidebar_bg: rgb(0, 48, 63);--sidebar_text: rgb(255 255 255)}\n"] }]
|
|
132
132
|
}], ctorParameters: () => [{ type: i0.Injector }, { type: i1.CommonService }, { type: i2.DomSanitizer }], propDecorators: { editForm: [{
|
|
133
133
|
type: ViewChild,
|
|
134
134
|
args: ['editForm', { static: false }]
|
|
135
135
|
}] } });
|
|
136
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWVkaXQtaW5jaWRlbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hZG1pbi1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL2luY2lkZW50cy9hZGQtZWRpdC1pbmNpZGVudC9hZGQtZWRpdC1pbmNpZGVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FkbWluLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvaW5jaWRlbnRzL2FkZC1lZGl0LWluY2lkZW50L2FkZC1lZGl0LWluY2lkZW50LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFFLE1BQU0sRUFBb0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFlBQVksRUFBWSxNQUFNLDJCQUEyQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUNBQWlDLENBQUM7Ozs7Ozs7Ozs7Ozs7QUFRMUQsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGdCQUFnQjtJQWlDMUQsWUFDSSxRQUFrQixFQUNWLGFBQTRCLEVBQzVCLFNBQXVCO1FBRS9CLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUhSLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFoQ25DLFlBQU8sR0FBRyxPQUFPLENBQUM7UUFFbEIsWUFBTyxHQUFHLEtB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YixZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUM7aUJBQzNCLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsOEJBQThCLENBQUMsQ0FBQyxDQUFDO2dCQUMvRSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDN0QsQ0FBQyxDQUFDO2lCQUNELEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUM5QyxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNiLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQzVCLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM3RCxDQUFDOytHQXBJUSx3QkFBd0I7bUdBQXhCLHdCQUF3QiwrTENkckMsNHVMQStFQTs7NEZEakVhLHdCQUF3QjtrQkFMcEMsU0FBUzsrQkFDSSw0QkFBNEI7b0lBeUJJLFFBQVE7c0JBQWpELFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0b3IsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nRm9ybSwgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFwcEFkbWluIH0gZnJvbSAnQHBvc2l3aXNlL2FkbWluLW1vZHVsZS11dGlscyc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVIdG1sIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBBcHBCYXNlQ29tcG9uZW50IH0gZnJvbSAnQHBvc2l3aXNlL2FwcC1iYXNlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21tb25TZXJ2aWNlLCBQZXJtaXNzaW9uU2VydmljZSB9IGZyb20gJ0Bwb3Npd2lzZS9jb21tb24tc2VydmljZXMnO1xuaW1wb3J0IHsgUk9VVEVSUyB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9yb3V0ZXJzL3JvdXRlcnMnO1xuaW1wb3J0IHsgSW5jaWRlbnQgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvaW50ZXJmYWNlL2FkbWluLW1vZHVsZS1zaGFyZWQuaW50ZXJmYWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwdy1hZG1pbi1hZGQtZWRpdC1pbmNpZGVudCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2FkZC1lZGl0LWluY2lkZW50LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9hZGQtZWRpdC1pbmNpZGVudC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEFkZEVkaXRJbmNpZGVudENvbXBvbmVudCBleHRlbmRzIEFwcEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgZm9ybTogVW50eXBlZEZvcm1Hcm91cDtcbiAgICBzYW5pdGl6ZWRIdG1sOiBTYWZlSHRtbDtcbiAgICBzdWJzY3JpcHRpb25JZDogbnVtYmVyO1xuICAgIHJvdXRlcnMgPSBST1VURVJTO1xuICAgIGVkaXRvckNvbmZpZztcbiAgICBsYW5kaW5nID0gZmFsc2U7XG5cbiAgICBsb2dvOiBzdHJpbmc7XG5cbiAgICBvcGVuSW5jaWRlbnRzID0gW107XG5cbiAgICBwYXN0SW5jaWRlbnRzID0gW107XG4gICAgaXNMb2FkaW5nID0gdHJ1ZTtcblxuICAgIHAxOiBudW1iZXI7XG5cbiAgICBwOiBudW1iZXI7XG5cbiAgICBjb21wYW55TmFtZSA9IHRoaXMuYXBwQ29uZmlnLmNvbXBhbnkubmFtZTtcblxuICAgIEBWaWV3Q2hpbGQoJ2VkaXRGb3JtJywgeyBzdGF0aWM6IGZhbHNlIH0pIGVkaXRGb3JtOiBOZ0Zvcm07XG5cbiAgICBjdXJyZW50SW5jaWRlbnQ6IEluY2lkZW50O1xuXG4gICAgaWQ6IG51bWJlcjtcblxuICAgIGlzU3VwZXJBZG1pbiA9IHRoaXMucGVybWlzc2lvblNlcnZpY2UuaXNTdXBlckFkbWluKCk7XG5cbiAgICBzdWJtaXR0ZWQgPSBmYWxzZTtcblxuICAgIGJ1dHRvbkJ1c3kgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIHByaXZhdGUgY29tbW9uU2VydmljZTogQ29tbW9uU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplclxuICAgICkge1xuICAgICAgICBzdXBlcihpbmplY3Rvcik7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uSWQgPSBQZXJtaXNzaW9uU2VydmljZS5zZWxlY3RlZFN1YnNjcmlwdGlvbj8uaWQ7XG4gICAgICAgIHRoaXMuZm9ybSA9IEFwcEFkbWluLmdldEluY2lkZW50Rm9ybSgpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmxvZ28gPSB0aGlzLmFwcENvbmZpZz8uY29tcGFueT8ubG9nb3M/Lm1haW4/LnVybDtcbiAgICAgICAgdGhpcy5yb3V0ZS5wYXJhbXMuc3Vic2NyaWJlKHBhcmFtcyA9PiB7XG4gICAgICAgICAgICB0aGlzLmlkID0gK3BhcmFtc1snaWQnXSB8fCAwO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jdXJyZW50SW5jaWRlbnQgPSBoaXN0b3J5LnN0YXRlPy5kYXRhO1xuICAgICAgICBpZiAodGhpcy5jdXJyZW50SW5jaWRlbnQpIHtcbiAgICAgICAgICAgIHRoaXMuZ2V0SW5jaWRlbnRCeUlkKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0IGYoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm0uY29udHJvbHM7XG4gICAgfVxuXG4gICAgb25TdWJtaXQoKSB7XG4gICAgICAgIHRoaXMuZm9ybS5tYXJrQWxsQXNUb3VjaGVkKCk7XG4gICAgICAgIGlmICh0aGlzLmZvcm0udmFsaWQpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmlkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vblVwZGF0ZSgpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLm9uQWRkKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnN1Ym1pdHRlZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEluY2lkZW50QnlJZCgpIHtcbiAgICAgICAgdGhpcy5jb21tb25TZXJ2aWNlLmdldEluY2lkZW50QnlJZCh0aGlzLmlkLCB0aGlzLnN1YnNjcmlwdGlvbklkKS5zdWJzY3JpYmUocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuZm9ybS5zZXRWYWx1ZSh7XG4gICAgICAgICAgICAgICAgaWQ6IHJlc3BvbnNlLmlkLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiByZXNwb25zZT8uZGVzY3JpcHRpb24sXG4gICAgICAgICAgICAgICAgc2VydmljZV9pbXBhY3RlZDogcmVzcG9uc2U/LnNlcnZpY2VfaW1wYWN0ZWQsXG4gICAgICAgICAgICAgICAgdXJsX2ltcGFjdGVkOiByZXNwb25zZT8udXJsX2ltcGFjdGVkLFxuICAgICAgICAgICAgICAgIHJlc29sdmVkX2F0OiByZXNwb25zZT8ucmVzb2x2ZWRfYXQgPyBuZXcgRGF0ZShyZXNwb25zZT8ucmVzb2x2ZWRfYXQpIDogJycsXG4gICAgICAgICAgICAgICAgc3RhcnRlZF9hdDogcmVzcG9uc2U/LnN0YXJ0ZWRfYXQgPyBuZXcgRGF0ZShyZXNwb25zZT8uc3RhcnRlZF9hdCkgOiAnJyxcbiAgICAgICAgICAgICAgICBsYXN0X2NoZWNrX2F0OiByZXNwb25zZT8ubGFzdF9jaGVja19hdCA/IG5ldyBEYXRlKHJlc3BvbnNlPy5sYXN0X2NoZWNrX2F0KSA6ICcnXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIG9uQWRkKCkge1xuICAgICAgICB0aGlzLmJ1dHRvbkJ1c3kgPSB0cnVlO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgZGF0YSA9IHtcbiAgICAgICAgICAgICAgICAuLi50aGlzLmZvcm0udmFsdWUsXG4gICAgICAgICAgICAgICAgc3Vic2NyaXB0aW9uX2lkOiB0aGlzLnN1YnNjcmlwdGlvbklkXG4gICAgICAgICAgICAgICAgLy8gbGFzdF9jaGVja19hdDogSGVscGVyU2VydmljZS5kYXRlRm9ybWF0KHRoaXMuZm9ybS52YWx1ZS5zdGFydGVkX2F0KSxcbiAgICAgICAgICAgICAgICAvLyBzdGFydGVkX2F0OiBIZWxwZXJTZXJ2aWNlLmRhdGVGb3JtYXQodGhpcy5mb3JtLnZhbHVlLnN0YXJ0ZWRfYXQpLFxuICAgICAgICAgICAgICAgIC8vIHJlc29sdmVkX2F0OiBIZWxwZXJTZXJ2aWNlLmRhdGVGb3JtYXQodGhpcy5mb3JtLnZhbHVlLnJlc29sdmVkX2F0KVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHRoaXMuY29tbW9uU2VydmljZVxuICAgICAgICAgICAgICAgIC5hZGRJbmNpZGVudChkYXRhKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRvYXN0LnN1Y2Nlc3ModGhpcy50cmFuc2xhdGlvbi50cmFuc2xhdGUoJ0FkbWluLkluY2lkZW50LkFkZE1lc3NhZ2UnKSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtgJHt0aGlzLnJvdXRlcnMuaW5jaWRlbnRDb25maWd9YF0pO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLmFkZCgoKSA9PiAodGhpcy5idXR0b25CdXN5ID0gZmFsc2UpKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHRoaXMuYnV0dG9uQnVzeSA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25VcGRhdGUoKSB7XG4gICAgICAgIHRoaXMuYnV0dG9uQnVzeSA9IHRydWU7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBkYXRhID0ge1xuICAgICAgICAgICAgICAgIC4uLnRoaXMuZm9ybS52YWx1ZSxcbiAgICAgICAgICAgICAgICBzdWJzY3JpcHRpb25faWQ6IHRoaXMuc3Vic2NyaXB0aW9uSWRcbiAgICAgICAgICAgICAgICAvLyBsYXN0X2NoZWNrX2F0OiBIZWxwZXJTZXJ2aWNlLmRhdGVGb3JtYXQodGhpcy5mb3JtLnZhbHVlLnN0YXJ0ZWRfYXQpLFxuICAgICAgICAgICAgICAgIC8vIHN0YXJ0ZWRfYXQ6IEhlbHBlclNlcnZpY2UuZGF0ZUZvcm1hdCh0aGlzLmZvcm0udmFsdWUuc3RhcnRlZF9hdCksXG4gICAgICAgICAgICAgICAgLy8gcmVzb2x2ZWRfYXQ6IEhlbHBlclNlcnZpY2UuZGF0ZUZvcm1hdCh0aGlzLmZvcm0udmFsdWUucmVzb2x2ZWRfYXQpXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgdGhpcy5jb21tb25TZXJ2aWNlXG4gICAgICAgICAgICAgICAgLmVkaXRJbmNpZGVudCh0aGlzLmlkLCBkYXRhKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRvYXN0LnN1Y2Nlc3ModGhpcy50cmFuc2xhdGlvbi50cmFuc2xhdGUoJ0FkbWluLkluY2lkZW50LlVwZGF0ZU1lc3NhZ2UnKSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtgJHt0aGlzLnJvdXRlcnMuaW5jaWRlbnRDb25maWd9YF0pO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLmFkZCgoKSA9PiAodGhpcy5idXR0b25CdXN5ID0gZmFsc2UpKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHRoaXMuYnV0dG9uQnVzeSA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25DYW5jZWwoKSB7XG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtgJHt0aGlzLnJvdXRlcnMuaW5jaWRlbnRDb25maWd9YF0pO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjb250YWluZXItZmx1aWQgcHctdGFiIG92ZXJmbG93LWhpZGRlblwiPlxuICAgIDxkaXYgY2xhc3M9XCJkYXNoYm9hcmRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImRhc2hib2FyZC1ib2R5XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWUtYXV0byBjb2wteHMtNiBtdC00XCI+XG4gICAgICAgICAgICAgICAgPGEgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIHJvdXRlckxpbms9XCIvYWRtaW4vaW5jaWRlbnQvbGlzdFwiIGNsYXNzPVwicHJldmlvdXNcIj48aVxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmYSBmYS1hcnJvdy1hbHQtY2lyY2xlLWxlZnRcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+PC9hPlxuICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cIm10LTNcIj57eyBpZCA/ICdFZGl0JyA6ICdBZGQgTmV3JyB9fSBJbmNpZGVudDwvaDM+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LTEwMCB0ZXh0LWNlbnRlciBtdC0zXCJcbiAgICAgICAgICAgICpuZ0lmPVwiaXNMb2FkaW5nXCI+XG4gICAgICAgICAgICA8cC1wcm9ncmVzc1NwaW5uZXIgc3Ryb2tlV2lkdGg9XCIyXCI+IDwvcC1wcm9ncmVzc1NwaW5uZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLTIgbXQtM1wiPlxuICAgICAgICAgICAgICAgIDxmb3JtIChuZ1N1Ym1pdCk9XCJvblN1Ym1pdCgpXCIgW2Zvcm1Hcm91cF09XCJmb3JtXCIgKm5nSWY9XCIhaXNMb2FkaW5nXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwdy1pbnB1dC1jb250YWluZXIgY2xhc3M9XCJjb2wtbGctNlwiIFtsYWJlbF09XCInQWRtaW4uSW5jaWRlbnQuVXJsSW1wYWN0ZWQnIHwgdHJhbnNsb2NvXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwidXJsX2ltcGFjdGVkXCIgW2Vycm9yTXNnXT1cIidBZG1pbi5JbmNpZGVudC5WYWxpZGF0aW9uLlVybEltcGFjdGVkJyB8IHRyYW5zbG9jb1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGZvcm1Db250cm9sTmFtZT1cInVybF9pbXBhY3RlZFwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnaXMtaW52YWxpZCc6IHN1Ym1pdHRlZCAmJiBmWyd1cmxfaW1wYWN0ZWQnXS5lcnJvcnMgfVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3B3LWlucHV0LWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwdy1pbnB1dC1jb250YWluZXIgY2xhc3M9XCJjb2wtbGctNlwiIFtsYWJlbF09XCInQWRtaW4uSW5jaWRlbnQuU2VydmljZUltcGFjdGVkJyB8IHRyYW5zbG9jb1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT1cInNlcnZpY2VfaW1wYWN0ZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlcnJvck1zZ109XCInQWRtaW4uSW5jaWRlbnQuVmFsaWRhdGlvbi5TZXJ2aWNlSW1wYWN0ZWQnIHwgdHJhbnNsb2NvXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgZm9ybUNvbnRyb2xOYW1lPVwic2VydmljZV9pbXBhY3RlZFwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnaXMtaW52YWxpZCc6IHN1Ym1pdHRlZCAmJiBmWydzZXJ2aWNlX2ltcGFjdGVkJ10uZXJyb3JzIH1cIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wdy1pbnB1dC1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTEyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHB3LWlucHV0LWNvbnRhaW5lciBjbGFzcz1cImNvbC0xMiBxdWlsbC1lZGl0b3JcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ0FkbWluLkluY2lkZW50LkRlc2NyaXB0aW9uJyB8IHRyYW5zbG9jb1wiIG5hbWU9XCJkZXNjcmlwdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlcnJvck1zZ109XCInQWRtaW4uSW5jaWRlbnQuVmFsaWRhdGlvbi5EZXNjcmlwdGlvbicgfCB0cmFuc2xvY29cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHF1aWxsLWVkaXRvciBbc3R5bGVzXT1cInsgaGVpZ2h0OiAnMjAwcHgnfVwiIGZvcm1Db250cm9sTmFtZT1cImRlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicXVpbGxFZGl0b3IgZC1ibG9ja1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdpcy1pbnZhbGlkJzogc3VibWl0dGVkICYmIGZbJ2Rlc2NyaXB0aW9uJ10uZXJyb3JzLCAndy0xMDAnOiB0cnVlICB9XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcXVpbGwtZWRpdG9yPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcHctaW5wdXQtY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC14cy0xMiBjb2wtc20tNCBjb2wtbWQtNCBjb2wtbGctNFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHctaW5wdXQtY29udGFpbmVyIFtsYWJlbF09XCInQWRtaW4uSW5jaWRlbnQuU3RhcnRlZEF0JyB8IHRyYW5zbG9jb1wiIG5hbWU9XCJzdGFydGVkX2F0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlcnJvck1zZ109XCInQWRtaW4uSW5jaWRlbnQuVmFsaWRhdGlvbi5EYXRlJyB8IHRyYW5zbG9jb1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAtY2FsZW5kYXIgY2xhc3M9XCJhZGRFZGl0aW5jaWRlbnRcIiBmb3JtQ29udHJvbE5hbWU9XCJzdGFydGVkX2F0XCIgW3Nob3dJY29uXT1cInRydWVcIiBbcGxhY2Vob2xkZXJdPVwiJ0FkbWluLkluY2lkZW50LmNhbGVuZGVyLnBsYWNlaG9sZGVyJyB8IHRyYW5zbG9jb1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Nob3dUaW1lXT1cInRydWVcIiBbYXBwZW5kVG9dPVwiJ2JvZHknXCIgZGF0ZUZvcm1hdD1cImRkL00veXlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcC1jYWxlbmRhcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wdy1pbnB1dC1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC14cy0xMiBjb2wtc20tNCBjb2wtbWQtNCBjb2wtbGctNFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHctaW5wdXQtY29udGFpbmVyIFtsYWJlbF09XCInQWRtaW4uSW5jaWRlbnQuUmVzb2x2ZWRBdCcgfCB0cmFuc2xvY29cIiBuYW1lPVwicmVzb2x2ZWRfYXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Vycm9yTXNnXT1cIidBZG1pbi5JbmNpZGVudC5WYWxpZGF0aW9uLkRhdGUnIHwgdHJhbnNsb2NvXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cC1jYWxlbmRhciBjbGFzcz1cImFkZEVkaXRpbmNpZGVudFwiIGZvcm1Db250cm9sTmFtZT1cInJlc29sdmVkX2F0XCIgW3Nob3dJY29uXT1cInRydWVcIiBbcGxhY2Vob2xkZXJdPVwiJ0FkbWluLkluY2lkZW50LmNhbGVuZGVyLnBsYWNlaG9sZGVyJyB8IHRyYW5zbG9jb1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Nob3dUaW1lXT1cInRydWVcIiBbYXBwZW5kVG9dPVwiJ2JvZHknXCIgZGF0ZUZvcm1hdD1cImRkL00veXlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcC1jYWxlbmRhcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wdy1pbnB1dC1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC14cy0xMiBjb2wtc20tNCBjb2wtbWQtNCBjb2wtbGctNFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHctaW5wdXQtY29udGFpbmVyIFtsYWJlbF09XCInQWRtaW4uSW5jaWRlbnQuTGFzdENoZWNrZWRBdCcgfCB0cmFuc2xvY29cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT1cImxhc3RfY2hlY2tfYXRcIiBbZXJyb3JNc2ddPVwiJ0FkbWluLkluY2lkZW50LlZhbGlkYXRpb24uRGF0ZScgfCB0cmFuc2xvY29cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwLWNhbGVuZGFyIGNsYXNzPVwiYWRkRWRpdGluY2lkZW50XCIgZm9ybUNvbnRyb2xOYW1lPVwibGFzdF9jaGVja19hdFwiW3BsYWNlaG9sZGVyXT1cIidBZG1pbi5JbmNpZGVudC5jYWxlbmRlci5wbGFjZWhvbGRlcicgfCB0cmFuc2xvY29cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzaG93SWNvbl09XCJ0cnVlXCIgW3Nob3dUaW1lXT1cInRydWVcIiBbYXBwZW5kVG9dPVwiJ2JvZHknXCIgZGF0ZUZvcm1hdD1cImRkL00veXlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcC1jYWxlbmRhcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wdy1pbnB1dC1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgbXQtNFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zIHRleHQtZW5kXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLWRlZmF1bHQgbWUtMlwiIGRhdGEtYnMtdG9nZ2xlPVwiY29sbGFwc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2FuY2VsKClcIiByb2xlPVwiYnV0dG9uXCIgYXJpYS1leHBhbmRlZD1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtY29udHJvbHM9XCJpbmNpZGVudENvbGxhcHNlXCI+IHt7ICdCdXR0b24uQ2FuY2VsJyB8IHRyYW5zbG9jbyB9fSA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiIFtkaXNhYmxlZF09XCIhaXNTdXBlckFkbWluXCIgW2J1dHRvbkJ1c3ldPVwiYnV0dG9uQnVzeVwiPnt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQnV0dG9uLlNhdmUnIHwgdHJhbnNsb2NvIH19PC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9mb3JtPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
136
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWVkaXQtaW5jaWRlbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hZG1pbi1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL2luY2lkZW50cy9hZGQtZWRpdC1pbmNpZGVudC9hZGQtZWRpdC1pbmNpZGVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FkbWluLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvaW5jaWRlbnRzL2FkZC1lZGl0LWluY2lkZW50L2FkZC1lZGl0LWluY2lkZW50LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFFLE1BQU0sRUFBb0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFlBQVksRUFBWSxNQUFNLDJCQUEyQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUNBQWlDLENBQUM7Ozs7Ozs7Ozs7Ozs7QUFRMUQsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGdCQUFnQjtJQWlDMUQsWUFDSSxRQUFrQixFQUNWLGFBQTRCLEVBQzVCLFNBQXVCO1FBRS9CLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUhSLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFoQ25DLFlBQU8sR0FBRyxPQUFPLENBQUM7UUFFbEIsWUFBTyxHQUFHLEtB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YixZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUM7aUJBQzNCLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsOEJBQThCLENBQUMsQ0FBQyxDQUFDO2dCQUMvRSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDN0QsQ0FBQyxDQUFDO2lCQUNELEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUM5QyxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNiLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQzVCLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM3RCxDQUFDOytHQXBJUSx3QkFBd0I7bUdBQXhCLHdCQUF3QiwrTENkckMsNHVMQStFQTs7NEZEakVhLHdCQUF3QjtrQkFMcEMsU0FBUzsrQkFDSSw0QkFBNEI7b0lBeUJJLFFBQVE7c0JBQWpELFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0b3IsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nRm9ybSwgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFwcEFkbWluIH0gZnJvbSAnQHBvc2l3aXNlL2FkbWluLW1vZHVsZS11dGlscyc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVIdG1sIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBBcHBCYXNlQ29tcG9uZW50IH0gZnJvbSAnQHBvc2l3aXNlL2FwcC1iYXNlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21tb25TZXJ2aWNlLCBQZXJtaXNzaW9uU2VydmljZSB9IGZyb20gJ0Bwb3Npd2lzZS9jb21tb24tc2VydmljZXMnO1xuaW1wb3J0IHsgUk9VVEVSUyB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9yb3V0ZXJzL3JvdXRlcnMnO1xuaW1wb3J0IHsgSW5jaWRlbnQgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvaW50ZXJmYWNlL2FkbWluLW1vZHVsZS1zaGFyZWQuaW50ZXJmYWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwdy1hZG1pbi1hZGQtZWRpdC1pbmNpZGVudCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2FkZC1lZGl0LWluY2lkZW50LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9hZGQtZWRpdC1pbmNpZGVudC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEFkZEVkaXRJbmNpZGVudENvbXBvbmVudCBleHRlbmRzIEFwcEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgZm9ybTogVW50eXBlZEZvcm1Hcm91cDtcbiAgICBzYW5pdGl6ZWRIdG1sOiBTYWZlSHRtbDtcbiAgICBzdWJzY3JpcHRpb25JZDogbnVtYmVyO1xuICAgIHJvdXRlcnMgPSBST1VURVJTO1xuICAgIGVkaXRvckNvbmZpZztcbiAgICBsYW5kaW5nID0gZmFsc2U7XG5cbiAgICBsb2dvOiBzdHJpbmc7XG5cbiAgICBvcGVuSW5jaWRlbnRzID0gW107XG5cbiAgICBwYXN0SW5jaWRlbnRzID0gW107XG4gICAgaXNMb2FkaW5nID0gdHJ1ZTtcblxuICAgIHAxOiBudW1iZXI7XG5cbiAgICBwOiBudW1iZXI7XG5cbiAgICBjb21wYW55TmFtZSA9IHRoaXMuYXBwQ29uZmlnLmNvbXBhbnkubmFtZTtcblxuICAgIEBWaWV3Q2hpbGQoJ2VkaXRGb3JtJywgeyBzdGF0aWM6IGZhbHNlIH0pIGVkaXRGb3JtOiBOZ0Zvcm07XG5cbiAgICBjdXJyZW50SW5jaWRlbnQ6IEluY2lkZW50O1xuXG4gICAgaWQ6IG51bWJlcjtcblxuICAgIGlzU3VwZXJBZG1pbiA9IHRoaXMucGVybWlzc2lvblNlcnZpY2UuaXNTdXBlckFkbWluKCk7XG5cbiAgICBzdWJtaXR0ZWQgPSBmYWxzZTtcblxuICAgIGJ1dHRvbkJ1c3kgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIHByaXZhdGUgY29tbW9uU2VydmljZTogQ29tbW9uU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplclxuICAgICkge1xuICAgICAgICBzdXBlcihpbmplY3Rvcik7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uSWQgPSBQZXJtaXNzaW9uU2VydmljZS5zZWxlY3RlZFN1YnNjcmlwdGlvbj8uaWQ7XG4gICAgICAgIHRoaXMuZm9ybSA9IEFwcEFkbWluLmdldEluY2lkZW50Rm9ybSgpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmxvZ28gPSB0aGlzLmFwcENvbmZpZz8uY29tcGFueT8ubG9nb3M/Lm1haW4/LnVybDtcbiAgICAgICAgdGhpcy5yb3V0ZS5wYXJhbXMuc3Vic2NyaWJlKHBhcmFtcyA9PiB7XG4gICAgICAgICAgICB0aGlzLmlkID0gK3BhcmFtc1snaWQnXSB8fCAwO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jdXJyZW50SW5jaWRlbnQgPSBoaXN0b3J5LnN0YXRlPy5kYXRhO1xuICAgICAgICBpZiAodGhpcy5jdXJyZW50SW5jaWRlbnQpIHtcbiAgICAgICAgICAgIHRoaXMuZ2V0SW5jaWRlbnRCeUlkKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0IGYoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm0uY29udHJvbHM7XG4gICAgfVxuXG4gICAgb25TdWJtaXQoKSB7XG4gICAgICAgIHRoaXMuZm9ybS5tYXJrQWxsQXNUb3VjaGVkKCk7XG4gICAgICAgIGlmICh0aGlzLmZvcm0udmFsaWQpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmlkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vblVwZGF0ZSgpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLm9uQWRkKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnN1Ym1pdHRlZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEluY2lkZW50QnlJZCgpIHtcbiAgICAgICAgdGhpcy5jb21tb25TZXJ2aWNlLmdldEluY2lkZW50QnlJZCh0aGlzLmlkLCB0aGlzLnN1YnNjcmlwdGlvbklkKS5zdWJzY3JpYmUocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuZm9ybS5zZXRWYWx1ZSh7XG4gICAgICAgICAgICAgICAgaWQ6IHJlc3BvbnNlLmlkLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiByZXNwb25zZT8uZGVzY3JpcHRpb24sXG4gICAgICAgICAgICAgICAgc2VydmljZV9pbXBhY3RlZDogcmVzcG9uc2U/LnNlcnZpY2VfaW1wYWN0ZWQsXG4gICAgICAgICAgICAgICAgdXJsX2ltcGFjdGVkOiByZXNwb25zZT8udXJsX2ltcGFjdGVkLFxuICAgICAgICAgICAgICAgIHJlc29sdmVkX2F0OiByZXNwb25zZT8ucmVzb2x2ZWRfYXQgPyBuZXcgRGF0ZShyZXNwb25zZT8ucmVzb2x2ZWRfYXQpIDogJycsXG4gICAgICAgICAgICAgICAgc3RhcnRlZF9hdDogcmVzcG9uc2U/LnN0YXJ0ZWRfYXQgPyBuZXcgRGF0ZShyZXNwb25zZT8uc3RhcnRlZF9hdCkgOiAnJyxcbiAgICAgICAgICAgICAgICBsYXN0X2NoZWNrX2F0OiByZXNwb25zZT8ubGFzdF9jaGVja19hdCA/IG5ldyBEYXRlKHJlc3BvbnNlPy5sYXN0X2NoZWNrX2F0KSA6ICcnXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIG9uQWRkKCkge1xuICAgICAgICB0aGlzLmJ1dHRvbkJ1c3kgPSB0cnVlO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgZGF0YSA9IHtcbiAgICAgICAgICAgICAgICAuLi50aGlzLmZvcm0udmFsdWUsXG4gICAgICAgICAgICAgICAgc3Vic2NyaXB0aW9uX2lkOiB0aGlzLnN1YnNjcmlwdGlvbklkXG4gICAgICAgICAgICAgICAgLy8gbGFzdF9jaGVja19hdDogSGVscGVyU2VydmljZS5kYXRlRm9ybWF0KHRoaXMuZm9ybS52YWx1ZS5zdGFydGVkX2F0KSxcbiAgICAgICAgICAgICAgICAvLyBzdGFydGVkX2F0OiBIZWxwZXJTZXJ2aWNlLmRhdGVGb3JtYXQodGhpcy5mb3JtLnZhbHVlLnN0YXJ0ZWRfYXQpLFxuICAgICAgICAgICAgICAgIC8vIHJlc29sdmVkX2F0OiBIZWxwZXJTZXJ2aWNlLmRhdGVGb3JtYXQodGhpcy5mb3JtLnZhbHVlLnJlc29sdmVkX2F0KVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHRoaXMuY29tbW9uU2VydmljZVxuICAgICAgICAgICAgICAgIC5hZGRJbmNpZGVudChkYXRhKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRvYXN0LnN1Y2Nlc3ModGhpcy50cmFuc2xhdGlvbi50cmFuc2xhdGUoJ0FkbWluLkluY2lkZW50LkFkZE1lc3NhZ2UnKSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtgJHt0aGlzLnJvdXRlcnMuaW5jaWRlbnRDb25maWd9YF0pO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLmFkZCgoKSA9PiAodGhpcy5idXR0b25CdXN5ID0gZmFsc2UpKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHRoaXMuYnV0dG9uQnVzeSA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25VcGRhdGUoKSB7XG4gICAgICAgIHRoaXMuYnV0dG9uQnVzeSA9IHRydWU7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBkYXRhID0ge1xuICAgICAgICAgICAgICAgIC4uLnRoaXMuZm9ybS52YWx1ZSxcbiAgICAgICAgICAgICAgICBzdWJzY3JpcHRpb25faWQ6IHRoaXMuc3Vic2NyaXB0aW9uSWRcbiAgICAgICAgICAgICAgICAvLyBsYXN0X2NoZWNrX2F0OiBIZWxwZXJTZXJ2aWNlLmRhdGVGb3JtYXQodGhpcy5mb3JtLnZhbHVlLnN0YXJ0ZWRfYXQpLFxuICAgICAgICAgICAgICAgIC8vIHN0YXJ0ZWRfYXQ6IEhlbHBlclNlcnZpY2UuZGF0ZUZvcm1hdCh0aGlzLmZvcm0udmFsdWUuc3RhcnRlZF9hdCksXG4gICAgICAgICAgICAgICAgLy8gcmVzb2x2ZWRfYXQ6IEhlbHBlclNlcnZpY2UuZGF0ZUZvcm1hdCh0aGlzLmZvcm0udmFsdWUucmVzb2x2ZWRfYXQpXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgdGhpcy5jb21tb25TZXJ2aWNlXG4gICAgICAgICAgICAgICAgLmVkaXRJbmNpZGVudCh0aGlzLmlkLCBkYXRhKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRvYXN0LnN1Y2Nlc3ModGhpcy50cmFuc2xhdGlvbi50cmFuc2xhdGUoJ0FkbWluLkluY2lkZW50LlVwZGF0ZU1lc3NhZ2UnKSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtgJHt0aGlzLnJvdXRlcnMuaW5jaWRlbnRDb25maWd9YF0pO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLmFkZCgoKSA9PiAodGhpcy5idXR0b25CdXN5ID0gZmFsc2UpKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHRoaXMuYnV0dG9uQnVzeSA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25DYW5jZWwoKSB7XG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtgJHt0aGlzLnJvdXRlcnMuaW5jaWRlbnRDb25maWd9YF0pO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjb250YWluZXItZmx1aWQgcHctdGFiIG92ZXJmbG93LWhpZGRlblwiPlxuICAgIDxkaXYgY2xhc3M9XCJkYXNoYm9hcmRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImRhc2hib2FyZC1ib2R5XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWUtYXV0byBjb2wteHMtNiBtdC00XCI+XG4gICAgICAgICAgICAgICAgPGEgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIHJvdXRlckxpbms9XCIvYWRtaW4vaW5jaWRlbnQvbGlzdFwiIGNsYXNzPVwicHJldmlvdXNcIj48aVxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmYSBmYS1hcnJvdy1hbHQtY2lyY2xlLWxlZnRcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+PC9hPlxuICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cIm10LTNcIj57eyBpZCA/ICdFZGl0JyA6ICdBZGQgTmV3JyB9fSBJbmNpZGVudDwvaDM+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LTEwMCB0ZXh0LWNlbnRlciBtdC0zXCJcbiAgICAgICAgICAgICpuZ0lmPVwiaXNMb2FkaW5nXCI+XG4gICAgICAgICAgICA8cC1wcm9ncmVzc1NwaW5uZXIgc3Ryb2tlV2lkdGg9XCIyXCI+IDwvcC1wcm9ncmVzc1NwaW5uZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLTIgbXQtM1wiPlxuICAgICAgICAgICAgICAgIDxmb3JtIChuZ1N1Ym1pdCk9XCJvblN1Ym1pdCgpXCIgW2Zvcm1Hcm91cF09XCJmb3JtXCIgKm5nSWY9XCIhaXNMb2FkaW5nXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwdy1pbnB1dC1jb250YWluZXIgY2xhc3M9XCJjb2wtbGctNlwiIFtsYWJlbF09XCInQWRtaW4uSW5jaWRlbnQuVXJsSW1wYWN0ZWQnIHwgdHJhbnNsb2NvXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwidXJsX2ltcGFjdGVkXCIgW2Vycm9yTXNnXT1cIidBZG1pbi5JbmNpZGVudC5WYWxpZGF0aW9uLlVybEltcGFjdGVkJyB8IHRyYW5zbG9jb1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGZvcm1Db250cm9sTmFtZT1cInVybF9pbXBhY3RlZFwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnaXMtaW52YWxpZCc6IHN1Ym1pdHRlZCAmJiBmWyd1cmxfaW1wYWN0ZWQnXS5lcnJvcnMgfVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3B3LWlucHV0LWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwdy1pbnB1dC1jb250YWluZXIgY2xhc3M9XCJjb2wtbGctNlwiIFtsYWJlbF09XCInQWRtaW4uSW5jaWRlbnQuU2VydmljZUltcGFjdGVkJyB8IHRyYW5zbG9jb1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT1cInNlcnZpY2VfaW1wYWN0ZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlcnJvck1zZ109XCInQWRtaW4uSW5jaWRlbnQuVmFsaWRhdGlvbi5TZXJ2aWNlSW1wYWN0ZWQnIHwgdHJhbnNsb2NvXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgZm9ybUNvbnRyb2xOYW1lPVwic2VydmljZV9pbXBhY3RlZFwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnaXMtaW52YWxpZCc6IHN1Ym1pdHRlZCAmJiBmWydzZXJ2aWNlX2ltcGFjdGVkJ10uZXJyb3JzIH1cIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wdy1pbnB1dC1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTEyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHB3LWlucHV0LWNvbnRhaW5lciBjbGFzcz1cImNvbC0xMiBxdWlsbC1lZGl0b3JcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ0FkbWluLkluY2lkZW50LkRlc2NyaXB0aW9uJyB8IHRyYW5zbG9jb1wiIG5hbWU9XCJkZXNjcmlwdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlcnJvck1zZ109XCInQWRtaW4uSW5jaWRlbnQuVmFsaWRhdGlvbi5EZXNjcmlwdGlvbicgfCB0cmFuc2xvY29cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHF1aWxsLWVkaXRvciBbc3R5bGVzXT1cInsgaGVpZ2h0OiAnMjAwcHgnfVwiIGZvcm1Db250cm9sTmFtZT1cImRlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicXVpbGxFZGl0b3IgZC1ibG9ja1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdpcy1pbnZhbGlkJzogc3VibWl0dGVkICYmIGZbJ2Rlc2NyaXB0aW9uJ10uZXJyb3JzLCAndy0xMDAnOiB0cnVlICB9XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcXVpbGwtZWRpdG9yPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcHctaW5wdXQtY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC14cy0xMiBjb2wtc20tNCBjb2wtbWQtNCBjb2wtbGctNFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHctaW5wdXQtY29udGFpbmVyIFtsYWJlbF09XCInQWRtaW4uSW5jaWRlbnQuU3RhcnRlZEF0JyB8IHRyYW5zbG9jb1wiIG5hbWU9XCJzdGFydGVkX2F0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlcnJvck1zZ109XCInQWRtaW4uSW5jaWRlbnQuVmFsaWRhdGlvbi5EYXRlJyB8IHRyYW5zbG9jb1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAtY2FsZW5kYXIgY2xhc3M9XCJhZGRFZGl0aW5jaWRlbnRcIiBmb3JtQ29udHJvbE5hbWU9XCJzdGFydGVkX2F0XCIgW3Nob3dJY29uXT1cInRydWVcIiBbcGxhY2Vob2xkZXJdPVwiJ0FkbWluLkluY2lkZW50LmNhbGVuZGVyLnBsYWNlaG9sZGVyJyB8IHRyYW5zbG9jb1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Nob3dUaW1lXT1cInRydWVcIiBbYXBwZW5kVG9dPVwiJ2JvZHknXCIgZGF0ZUZvcm1hdD1cImRkLU0teXlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcC1jYWxlbmRhcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wdy1pbnB1dC1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC14cy0xMiBjb2wtc20tNCBjb2wtbWQtNCBjb2wtbGctNFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHctaW5wdXQtY29udGFpbmVyIFtsYWJlbF09XCInQWRtaW4uSW5jaWRlbnQuUmVzb2x2ZWRBdCcgfCB0cmFuc2xvY29cIiBuYW1lPVwicmVzb2x2ZWRfYXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Vycm9yTXNnXT1cIidBZG1pbi5JbmNpZGVudC5WYWxpZGF0aW9uLkRhdGUnIHwgdHJhbnNsb2NvXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cC1jYWxlbmRhciBjbGFzcz1cImFkZEVkaXRpbmNpZGVudFwiIGZvcm1Db250cm9sTmFtZT1cInJlc29sdmVkX2F0XCIgW3Nob3dJY29uXT1cInRydWVcIiBbcGxhY2Vob2xkZXJdPVwiJ0FkbWluLkluY2lkZW50LmNhbGVuZGVyLnBsYWNlaG9sZGVyJyB8IHRyYW5zbG9jb1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Nob3dUaW1lXT1cInRydWVcIiBbYXBwZW5kVG9dPVwiJ2JvZHknXCIgZGF0ZUZvcm1hdD1cImRkLU0teXlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcC1jYWxlbmRhcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wdy1pbnB1dC1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC14cy0xMiBjb2wtc20tNCBjb2wtbWQtNCBjb2wtbGctNFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHctaW5wdXQtY29udGFpbmVyIFtsYWJlbF09XCInQWRtaW4uSW5jaWRlbnQuTGFzdENoZWNrZWRBdCcgfCB0cmFuc2xvY29cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT1cImxhc3RfY2hlY2tfYXRcIiBbZXJyb3JNc2ddPVwiJ0FkbWluLkluY2lkZW50LlZhbGlkYXRpb24uRGF0ZScgfCB0cmFuc2xvY29cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwLWNhbGVuZGFyIGNsYXNzPVwiYWRkRWRpdGluY2lkZW50XCIgZm9ybUNvbnRyb2xOYW1lPVwibGFzdF9jaGVja19hdFwiW3BsYWNlaG9sZGVyXT1cIidBZG1pbi5JbmNpZGVudC5jYWxlbmRlci5wbGFjZWhvbGRlcicgfCB0cmFuc2xvY29cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzaG93SWNvbl09XCJ0cnVlXCIgW3Nob3dUaW1lXT1cInRydWVcIiBbYXBwZW5kVG9dPVwiJ2JvZHknXCIgZGF0ZUZvcm1hdD1cImRkLU0teXlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcC1jYWxlbmRhcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wdy1pbnB1dC1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgbXQtNFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zIHRleHQtZW5kXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLWRlZmF1bHQgbWUtMlwiIGRhdGEtYnMtdG9nZ2xlPVwiY29sbGFwc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2FuY2VsKClcIiByb2xlPVwiYnV0dG9uXCIgYXJpYS1leHBhbmRlZD1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtY29udHJvbHM9XCJpbmNpZGVudENvbGxhcHNlXCI+IHt7ICdCdXR0b24uQ2FuY2VsJyB8IHRyYW5zbG9jbyB9fSA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiIFtkaXNhYmxlZF09XCIhaXNTdXBlckFkbWluXCIgW2J1dHRvbkJ1c3ldPVwiYnV0dG9uQnVzeVwiPnt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQnV0dG9uLlNhdmUnIHwgdHJhbnNsb2NvIH19PC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9mb3JtPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -110,10 +110,10 @@ export class IncidentListComponent extends AppBaseComponent {
|
|
|
110
110
|
});
|
|
111
111
|
}
|
|
112
112
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: IncidentListComponent, deps: [{ token: i0.Injector }, { token: i1.CommonService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
113
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: IncidentListComponent, selector: "pw-admin-incident-list", usesInheritance: true, ngImport: i0, template: "<div class=\"row\">\n\t<div *rbacAllow=\"'Pages.Admin.Incident.Create'\"\n\t\tclass=\"col-12 d-flex flex-wrap justify-content-between align-items-center\">\n\t\t<h2 class=\"card-title p-0 float-start\">Incidents</h2>\n\t\t<a [routerLink]=\"[routers.incidentDetails + 'add']\"\n\t\t\t(click)=\"showList = !showList\"\n\t\t\thref=\"javascript:void(0)\"\n\t\t\tclass=\"btn btn-sm btn-outline-primary float-end\"\n\t\t\trole=\"button\"\n\t\t\taria-expanded=\"false\">\n\t\t\t<i class=\"fa fa-plus-circle\"\n\t\t\t\taria-hidden=\"true\"></i>\n\t\t\t{{ 'Label.AddNew' | transloco }} Incident\n\t\t</a>\n\t</div>\n</div>\n<div *ngIf=\"!isLoaded\"\n\tclass=\"w-100 text-center mt-3\">\n\t<p-progressSpinner strokeWidth=\"2\"></p-progressSpinner>\n</div>\n<div *ngIf=\"showList\"\n\tclass=\"row faqlist primeng-datatable-container mt-0\" [class.hideTable]=\"totalRecordsUnFiltered === 0\">\n\t<div class=\"col-12 px-0\">\n\t\t<p-table #tt\n\t\t\t[paginator]=\"totalRecords !== 0\"\n\t\t\t[rows]=\"PAGE_SIZE\"\n\t\t\t[totalRecords]=\"totalRecords\"\n\t\t\t[loading]=\"loading\"\n\t\t\t[lazy]=\"true\"\n\t\t\t[filterDelay]=\"1000\"\n\t\t\t[customSort]=\"true\"\n\t\t\t[value]=\"openIncidents\"\n\t\t\t(onLazyLoad)=\"onLazyLoad($event)\">\n\t\t\t<ng-template pTemplate=\"caption\">\n\t\t\t\t<div class=\"search-filter justify-content-end\">\n\t\t\t\t\t<div class=\"text-end\">\n\t\t\t\t\t\t<i class=\"fa fa-search mt-2 me-2\"\n\t\t\t\t\t\t\taria-hidden=\"true\"></i>\n\t\t\t\t\t\t<input [(ngModel)]=\"searchText\"\n\t\t\t\t\t\t\t(input)=\"tt.filterGlobal($event.target.value, 'contains')\"\n\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\tpInputText\n\t\t\t\t\t\t\tsize=\"50\"\n\t\t\t\t\t\t\tplaceholder=\"Search Incident...\"\n\t\t\t\t\t\t\tdata-cy=\"incident-search\"\n\t\t\t\t\t\t\tclass=\"wd-90\">\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</ng-template>\n\t\t\t<ng-template pTemplate=\"header\">\n\t\t\t\t<tr>\n\t\t\t\t\t<th scope=\"true\">\n\t\t\t\t\t\t{{ 'Admin.Incident.Description' | transloco }}\n\t\t\t\t\t</th>\n\t\t\t\t\t<th scope=\"true\">\n\t\t\t\t\t\t{{ 'Admin.Incident.ServiceImpacted' | transloco }}\n\t\t\t\t\t</th>\n\t\t\t\t\t<th scope=\"true\"\n\t\t\t\t\t\tpSortableColumn=\"started_at\">\n\t\t\t\t\t\t{{ 'Admin.Incident.StartedAt' | transloco }}\n\t\t\t\t\t\t<p-sortIcon field=\"started_at\"></p-sortIcon>\n\t\t\t\t\t</th>\n\t\t\t\t\t<th scope=\"true\"\n\t\t\t\t\t\tpSortableColumn=\"resolved_at\">\n\t\t\t\t\t\t{{ 'Admin.Incident.ResolvedAt' | transloco }}\n\t\t\t\t\t\t<p-sortIcon field=\"resolved_at\"></p-sortIcon>\n\t\t\t\t\t</th>\n\t\t\t\t\t<th scope=\"true\"\n\t\t\t\t\t\tpSortableColumn=\"last_check_at\">\n\t\t\t\t\t\t{{ 'Admin.Incident.LastCheckedAt' | transloco }}\n\t\t\t\t\t\t<p-sortIcon field=\"last_check_at\"></p-sortIcon>\n\t\t\t\t\t</th>\n\t\t\t\t\t<th scope=\"true\">\n\t\t\t\t\t\t{{ 'Admin.Incident.Duration' | transloco }}\n\t\t\t\t\t</th>\n\t\t\t\t\t<th scope=\"true\"\n\t\t\t\t\t\tclass=\"actions-list-two\">\n\t\t\t\t\t\t{{ 'Label.Actions' | transloco }}\n\t\t\t\t\t</th>\n\t\t\t\t</tr>\n\t\t\t</ng-template>\n\t\t\t<ng-template pTemplate=\"body\"\n\t\t\t\tlet-incident>\n\t\t\t\t<tr>\n\t\t\t\t\t<td data-head=\"description\"\n\t\t\t\t\t\tclass=\"description\">\n\t\t\t\t\t\t{{(incident?.description | removeHtml)|textTruncate: 200}}\n\t\t\t\t\t</td>\n\t\t\t\t\t<td data-head=\"serviceImpacted\">\n\t\t\t\t\t\t{{ incident?.service_impacted ? incident?.service_impacted :\n incident?.url_impacted }}\n\t\t\t\t\t</td>\n\t\t\t\t\t<td data-head=\"startedAt\">\n\t\t\t\t\t\t<span class=\"text-nowrap\">\n\t\t\t\t\t\t\t{{ incident?.started_at | date: 'dd/MMM/YYYY, h:mm a' }}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</td>\n\t\t\t\t\t<td data-head=\"resolvedAt\">\n\t\t\t\t\t\t<span class=\"text-nowrap\">\n\t\t\t\t\t\t\t{{ incident?.resolved_at | date: 'dd/MMM/YYYY, h:mm a' }}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</td>\n\t\t\t\t\t<td data-head=\"lastCheckedAt\">\n\t\t\t\t\t<span class=\"text-nowrap\">\n\t\t\t\t\t\t{{ incident?.last_check_at | date: 'dd/MMM/YYYY, h:mm a' }}\n\t\t\t\t\t</span>\n\t\t\t\t</td>\n\t\t\t\t\t<td data-head=\"Duration\">\n\t\t\t\t\t\t<!-- {{ calculateDuration(incident?.resolved_at ? incident?.resolved_at :\n incident?.last_check_at, incident?.started_at) }} -->\n\t\t\t\t\t\t{{ calculateDuration(incident?.resolved_at,\n incident?.started_at) }}\n\t\t\t\t\t</td>\n\t\t\t\t\t<td data-head=\"Action\">\n\t\t\t\t\t\t<ul class=\"list-unstyled list-inline\">\n\t\t\t\t\t\t\t<li ngbTooltip=\"Edit\"\n\t\t\t\t\t\t\t\tclass=\"me-2 me-sm-2\">\n\t\t\t\t\t\t\t\t<i (click)=\"navigateToEdit(incident)\"\n\t\t\t\t\t\t\t\t\tclass=\"fa fa-edit edit-icon\"\n\t\t\t\t\t\t\t\t\taria-hidden=\"true\"></i>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t<li ngbTooltip=\"Delete\"\n\t\t\t\t\t\t\t\tclass=\"me-2 me-sm-2\">\n\t\t\t\t\t\t\t\t<i (click)=\"onDelete(incident)\"\n\t\t\t\t\t\t\t\t\tclass=\"fa fa-trash delete-icon\"\n\t\t\t\t\t\t\t\t\taria-hidden=\"true\"></i>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t</ng-template>\n\t\t</p-table>\n <div *ngIf=\"openIncidents.length === 0 && totalRecordsUnFiltered !== 0\">\n <pw-no-data [withImage]=\"true\" [message]=\"'Search.NoDataMessage' | transloco\"\n [description]=\"'Search.NoDataDescription' | transloco\">\n </pw-no-data>\n </div>\n\t<span class=\"total-records-count\"*ngIf=\"openIncidents.length !== 0\" >Total: {{openIncidents.length }}</span>\n\t</div>\n <pw-no-data [withImage]=\"true\" *ngIf=\"totalRecordsUnFiltered === 0 && isLoaded\"\n [message]=\"'Admin.Incident.NoDataMessage' | transloco\">\n </pw-no-data>\n</div>\n", styles: [":root{--first: rgb(23 105 225);--second: rgb(54 194 131);--third: rgb(255 171 0);--text: rgb(34 34 34);--tabs_bg: rgb(23 105 225);--tabs_text: rgb(255 255 255);--titles: rgb(34 34 34);--sidebar_bg: rgb(0, 48, 63);--sidebar_text: rgb(255 255 255)}.incidents-wrapper .table thead th{border:0;border-bottom:1px solid rgb(222,226,230)}.incident-item{color:#3f3f44;font-size:14px;line-height:1.42857;padding:10px 0}.incident-item .description{color:var(--first)}.incident-item:last-child{border-bottom:0!important}.ql-editor.safe-html{margin:0;font-size:13px;padding:0}.safe-html p{margin:0;font-size:13px}\n"], dependencies: [{ kind: "component", type: i2.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll", "virtualRowHeight"], outputs: ["contextMenuSelectionChange", "selectAllChange", "selectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i2.SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }, { kind: "component", type: i2.SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { kind: "directive", type: i4.InputText, selector: "[pInputText]", inputs: ["variant"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i7.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i8.ProgressSpinner, selector: "p-progressSpinner", inputs: ["styleClass", "style", "strokeWidth", "fill", "animationDuration", "ariaLabel"] }, { kind: "component", type: i9.NoDataComponent, selector: "pw-no-data", inputs: ["message", "description", "withImage"] }, { kind: "directive", type: i10.RbacAllowDirective, selector: "[rbacAllow]", inputs: ["rbacAllow"] }, { kind: "directive", type: i11.NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "popperOptions", "triggers", "positionTarget", "container", "disableTooltip", "tooltipClass", "tooltipContext", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "pipe", type: i5.DatePipe, name: "date" }, { kind: "pipe", type: i12.TranslocoPipe, name: "transloco" }, { kind: "pipe", type: i13.RemoveHtmlPipe, name: "removeHtml" }, { kind: "pipe", type: i13.TextTruncatePipe, name: "textTruncate" }] }); }
|
|
113
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: IncidentListComponent, selector: "pw-admin-incident-list", usesInheritance: true, ngImport: i0, template: "<div class=\"row\">\n\t<div *rbacAllow=\"'Pages.Admin.Incident.Create'\"\n\t\tclass=\"col-12 d-flex flex-wrap justify-content-between align-items-center\">\n\t\t<h2 class=\"card-title p-0 float-start\">Incidents</h2>\n\t\t<a [routerLink]=\"[routers.incidentDetails + 'add']\"\n\t\t\t(click)=\"showList = !showList\"\n\t\t\thref=\"javascript:void(0)\"\n\t\t\tclass=\"btn btn-sm btn-outline-primary float-end\"\n\t\t\trole=\"button\"\n\t\t\taria-expanded=\"false\">\n\t\t\t<i class=\"fa fa-plus-circle\"\n\t\t\t\taria-hidden=\"true\"></i>\n\t\t\t{{ 'Label.AddNew' | transloco }} Incident\n\t\t</a>\n\t</div>\n</div>\n<div *ngIf=\"!isLoaded\"\n\tclass=\"w-100 text-center mt-3\">\n\t<p-progressSpinner strokeWidth=\"2\"></p-progressSpinner>\n</div>\n<div *ngIf=\"showList\"\n\tclass=\"row faqlist primeng-datatable-container mt-0\" [class.hideTable]=\"totalRecordsUnFiltered === 0\">\n\t<div class=\"col-12 px-0\">\n\t\t<p-table #tt\n\t\t\t[paginator]=\"totalRecords !== 0\"\n\t\t\t[rows]=\"PAGE_SIZE\"\n\t\t\t[totalRecords]=\"totalRecords\"\n\t\t\t[loading]=\"loading\"\n\t\t\t[lazy]=\"true\"\n\t\t\t[filterDelay]=\"1000\"\n\t\t\t[customSort]=\"true\"\n\t\t\t[value]=\"openIncidents\"\n\t\t\t(onLazyLoad)=\"onLazyLoad($event)\">\n\t\t\t<ng-template pTemplate=\"caption\">\n\t\t\t\t<div class=\"search-filter justify-content-end\">\n\t\t\t\t\t<div class=\"text-end\">\n\t\t\t\t\t\t<i class=\"fa fa-search mt-2 me-2\"\n\t\t\t\t\t\t\taria-hidden=\"true\"></i>\n\t\t\t\t\t\t<input [(ngModel)]=\"searchText\"\n\t\t\t\t\t\t\t(input)=\"tt.filterGlobal($event.target.value, 'contains')\"\n\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\tpInputText\n\t\t\t\t\t\t\tsize=\"50\"\n\t\t\t\t\t\t\tplaceholder=\"Search Incident...\"\n\t\t\t\t\t\t\tdata-cy=\"incident-search\"\n\t\t\t\t\t\t\tclass=\"wd-90\">\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</ng-template>\n\t\t\t<ng-template pTemplate=\"header\">\n\t\t\t\t<tr>\n\t\t\t\t\t<th scope=\"true\">\n\t\t\t\t\t\t{{ 'Admin.Incident.Description' | transloco }}\n\t\t\t\t\t</th>\n\t\t\t\t\t<th scope=\"true\">\n\t\t\t\t\t\t{{ 'Admin.Incident.ServiceImpacted' | transloco }}\n\t\t\t\t\t</th>\n\t\t\t\t\t<th scope=\"true\"\n\t\t\t\t\t\tpSortableColumn=\"started_at\">\n\t\t\t\t\t\t{{ 'Admin.Incident.StartedAt' | transloco }}\n\t\t\t\t\t\t<p-sortIcon field=\"started_at\"></p-sortIcon>\n\t\t\t\t\t</th>\n\t\t\t\t\t<th scope=\"true\"\n\t\t\t\t\t\tpSortableColumn=\"resolved_at\">\n\t\t\t\t\t\t{{ 'Admin.Incident.ResolvedAt' | transloco }}\n\t\t\t\t\t\t<p-sortIcon field=\"resolved_at\"></p-sortIcon>\n\t\t\t\t\t</th>\n\t\t\t\t\t<th scope=\"true\"\n\t\t\t\t\t\tpSortableColumn=\"last_check_at\">\n\t\t\t\t\t\t{{ 'Admin.Incident.LastCheckedAt' | transloco }}\n\t\t\t\t\t\t<p-sortIcon field=\"last_check_at\"></p-sortIcon>\n\t\t\t\t\t</th>\n\t\t\t\t\t<th scope=\"true\">\n\t\t\t\t\t\t{{ 'Admin.Incident.Duration' | transloco }}\n\t\t\t\t\t</th>\n\t\t\t\t\t<th scope=\"true\"\n\t\t\t\t\t\tclass=\"actions-list-two\">\n\t\t\t\t\t\t{{ 'Label.Actions' | transloco }}\n\t\t\t\t\t</th>\n\t\t\t\t</tr>\n\t\t\t</ng-template>\n\t\t\t<ng-template pTemplate=\"body\"\n\t\t\t\tlet-incident>\n\t\t\t\t<tr>\n\t\t\t\t\t<td data-head=\"description\"\n\t\t\t\t\t\tclass=\"description\">\n\t\t\t\t\t\t{{(incident?.description | removeHtml)|textTruncate: 200}}\n\t\t\t\t\t</td>\n\t\t\t\t\t<td data-head=\"serviceImpacted\">\n\t\t\t\t\t\t{{ incident?.service_impacted ? incident?.service_impacted :\n incident?.url_impacted }}\n\t\t\t\t\t</td>\n\t\t\t\t\t<td data-head=\"startedAt\">\n\t\t\t\t\t\t<span class=\"text-nowrap\">\n\t\t\t\t\t\t\t{{ incident?.started_at | date: 'dd-MMM-YYYY, h:mm a' }}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</td>\n\t\t\t\t\t<td data-head=\"resolvedAt\">\n\t\t\t\t\t\t<span class=\"text-nowrap\">\n\t\t\t\t\t\t\t{{ incident?.resolved_at | date: 'dd-MMM-YYYY, h:mm a' }}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</td>\n\t\t\t\t\t<td data-head=\"lastCheckedAt\">\n\t\t\t\t\t<span class=\"text-nowrap\">\n\t\t\t\t\t\t{{ incident?.last_check_at | date: 'dd-MMM-YYYY, h:mm a' }}\n\t\t\t\t\t</span>\n\t\t\t\t</td>\n\t\t\t\t\t<td data-head=\"Duration\">\n\t\t\t\t\t\t<!-- {{ calculateDuration(incident?.resolved_at ? incident?.resolved_at :\n incident?.last_check_at, incident?.started_at) }} -->\n\t\t\t\t\t\t{{ calculateDuration(incident?.resolved_at,\n incident?.started_at) }}\n\t\t\t\t\t</td>\n\t\t\t\t\t<td data-head=\"Action\">\n\t\t\t\t\t\t<ul class=\"list-unstyled list-inline\">\n\t\t\t\t\t\t\t<li ngbTooltip=\"Edit\"\n\t\t\t\t\t\t\t\tclass=\"me-2 me-sm-2\">\n\t\t\t\t\t\t\t\t<i (click)=\"navigateToEdit(incident)\"\n\t\t\t\t\t\t\t\t\tclass=\"fa fa-edit edit-icon\"\n\t\t\t\t\t\t\t\t\taria-hidden=\"true\"></i>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t<li ngbTooltip=\"Delete\"\n\t\t\t\t\t\t\t\tclass=\"me-2 me-sm-2\">\n\t\t\t\t\t\t\t\t<i (click)=\"onDelete(incident)\"\n\t\t\t\t\t\t\t\t\tclass=\"fa fa-trash delete-icon\"\n\t\t\t\t\t\t\t\t\taria-hidden=\"true\"></i>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t</ng-template>\n\t\t</p-table>\n <div *ngIf=\"openIncidents.length === 0 && totalRecordsUnFiltered !== 0\">\n <pw-no-data [withImage]=\"true\" [message]=\"'Search.NoDataMessage' | transloco\"\n [description]=\"'Search.NoDataDescription' | transloco\">\n </pw-no-data>\n </div>\n\t<span class=\"total-records-count\"*ngIf=\"openIncidents.length !== 0\" >Total: {{openIncidents.length }}</span>\n\t</div>\n <pw-no-data [withImage]=\"true\" *ngIf=\"totalRecordsUnFiltered === 0 && isLoaded\"\n [message]=\"'Admin.Incident.NoDataMessage' | transloco\">\n </pw-no-data>\n</div>\n", styles: [":root{--first: rgb(23 105 225);--second: rgb(54 194 131);--third: rgb(255 171 0);--text: rgb(34 34 34);--tabs_bg: rgb(23 105 225);--tabs_text: rgb(255 255 255);--titles: rgb(34 34 34);--sidebar_bg: rgb(0, 48, 63);--sidebar_text: rgb(255 255 255)}.incidents-wrapper .table thead th{border:0;border-bottom:1px solid rgb(222,226,230)}.incident-item{color:#3f3f44;font-size:14px;line-height:1.42857;padding:10px 0}.incident-item .description{color:var(--first)}.incident-item:last-child{border-bottom:0!important}.ql-editor.safe-html{margin:0;font-size:13px;padding:0}.safe-html p{margin:0;font-size:13px}\n"], dependencies: [{ kind: "component", type: i2.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll", "virtualRowHeight"], outputs: ["contextMenuSelectionChange", "selectAllChange", "selectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i2.SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }, { kind: "component", type: i2.SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { kind: "directive", type: i4.InputText, selector: "[pInputText]", inputs: ["variant"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i7.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i8.ProgressSpinner, selector: "p-progressSpinner", inputs: ["styleClass", "style", "strokeWidth", "fill", "animationDuration", "ariaLabel"] }, { kind: "component", type: i9.NoDataComponent, selector: "pw-no-data", inputs: ["message", "description", "withImage"] }, { kind: "directive", type: i10.RbacAllowDirective, selector: "[rbacAllow]", inputs: ["rbacAllow"] }, { kind: "directive", type: i11.NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "popperOptions", "triggers", "positionTarget", "container", "disableTooltip", "tooltipClass", "tooltipContext", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "pipe", type: i5.DatePipe, name: "date" }, { kind: "pipe", type: i12.TranslocoPipe, name: "transloco" }, { kind: "pipe", type: i13.RemoveHtmlPipe, name: "removeHtml" }, { kind: "pipe", type: i13.TextTruncatePipe, name: "textTruncate" }] }); }
|
|
114
114
|
}
|
|
115
115
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: IncidentListComponent, decorators: [{
|
|
116
116
|
type: Component,
|
|
117
|
-
args: [{ selector: 'pw-admin-incident-list', template: "<div class=\"row\">\n\t<div *rbacAllow=\"'Pages.Admin.Incident.Create'\"\n\t\tclass=\"col-12 d-flex flex-wrap justify-content-between align-items-center\">\n\t\t<h2 class=\"card-title p-0 float-start\">Incidents</h2>\n\t\t<a [routerLink]=\"[routers.incidentDetails + 'add']\"\n\t\t\t(click)=\"showList = !showList\"\n\t\t\thref=\"javascript:void(0)\"\n\t\t\tclass=\"btn btn-sm btn-outline-primary float-end\"\n\t\t\trole=\"button\"\n\t\t\taria-expanded=\"false\">\n\t\t\t<i class=\"fa fa-plus-circle\"\n\t\t\t\taria-hidden=\"true\"></i>\n\t\t\t{{ 'Label.AddNew' | transloco }} Incident\n\t\t</a>\n\t</div>\n</div>\n<div *ngIf=\"!isLoaded\"\n\tclass=\"w-100 text-center mt-3\">\n\t<p-progressSpinner strokeWidth=\"2\"></p-progressSpinner>\n</div>\n<div *ngIf=\"showList\"\n\tclass=\"row faqlist primeng-datatable-container mt-0\" [class.hideTable]=\"totalRecordsUnFiltered === 0\">\n\t<div class=\"col-12 px-0\">\n\t\t<p-table #tt\n\t\t\t[paginator]=\"totalRecords !== 0\"\n\t\t\t[rows]=\"PAGE_SIZE\"\n\t\t\t[totalRecords]=\"totalRecords\"\n\t\t\t[loading]=\"loading\"\n\t\t\t[lazy]=\"true\"\n\t\t\t[filterDelay]=\"1000\"\n\t\t\t[customSort]=\"true\"\n\t\t\t[value]=\"openIncidents\"\n\t\t\t(onLazyLoad)=\"onLazyLoad($event)\">\n\t\t\t<ng-template pTemplate=\"caption\">\n\t\t\t\t<div class=\"search-filter justify-content-end\">\n\t\t\t\t\t<div class=\"text-end\">\n\t\t\t\t\t\t<i class=\"fa fa-search mt-2 me-2\"\n\t\t\t\t\t\t\taria-hidden=\"true\"></i>\n\t\t\t\t\t\t<input [(ngModel)]=\"searchText\"\n\t\t\t\t\t\t\t(input)=\"tt.filterGlobal($event.target.value, 'contains')\"\n\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\tpInputText\n\t\t\t\t\t\t\tsize=\"50\"\n\t\t\t\t\t\t\tplaceholder=\"Search Incident...\"\n\t\t\t\t\t\t\tdata-cy=\"incident-search\"\n\t\t\t\t\t\t\tclass=\"wd-90\">\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</ng-template>\n\t\t\t<ng-template pTemplate=\"header\">\n\t\t\t\t<tr>\n\t\t\t\t\t<th scope=\"true\">\n\t\t\t\t\t\t{{ 'Admin.Incident.Description' | transloco }}\n\t\t\t\t\t</th>\n\t\t\t\t\t<th scope=\"true\">\n\t\t\t\t\t\t{{ 'Admin.Incident.ServiceImpacted' | transloco }}\n\t\t\t\t\t</th>\n\t\t\t\t\t<th scope=\"true\"\n\t\t\t\t\t\tpSortableColumn=\"started_at\">\n\t\t\t\t\t\t{{ 'Admin.Incident.StartedAt' | transloco }}\n\t\t\t\t\t\t<p-sortIcon field=\"started_at\"></p-sortIcon>\n\t\t\t\t\t</th>\n\t\t\t\t\t<th scope=\"true\"\n\t\t\t\t\t\tpSortableColumn=\"resolved_at\">\n\t\t\t\t\t\t{{ 'Admin.Incident.ResolvedAt' | transloco }}\n\t\t\t\t\t\t<p-sortIcon field=\"resolved_at\"></p-sortIcon>\n\t\t\t\t\t</th>\n\t\t\t\t\t<th scope=\"true\"\n\t\t\t\t\t\tpSortableColumn=\"last_check_at\">\n\t\t\t\t\t\t{{ 'Admin.Incident.LastCheckedAt' | transloco }}\n\t\t\t\t\t\t<p-sortIcon field=\"last_check_at\"></p-sortIcon>\n\t\t\t\t\t</th>\n\t\t\t\t\t<th scope=\"true\">\n\t\t\t\t\t\t{{ 'Admin.Incident.Duration' | transloco }}\n\t\t\t\t\t</th>\n\t\t\t\t\t<th scope=\"true\"\n\t\t\t\t\t\tclass=\"actions-list-two\">\n\t\t\t\t\t\t{{ 'Label.Actions' | transloco }}\n\t\t\t\t\t</th>\n\t\t\t\t</tr>\n\t\t\t</ng-template>\n\t\t\t<ng-template pTemplate=\"body\"\n\t\t\t\tlet-incident>\n\t\t\t\t<tr>\n\t\t\t\t\t<td data-head=\"description\"\n\t\t\t\t\t\tclass=\"description\">\n\t\t\t\t\t\t{{(incident?.description | removeHtml)|textTruncate: 200}}\n\t\t\t\t\t</td>\n\t\t\t\t\t<td data-head=\"serviceImpacted\">\n\t\t\t\t\t\t{{ incident?.service_impacted ? incident?.service_impacted :\n incident?.url_impacted }}\n\t\t\t\t\t</td>\n\t\t\t\t\t<td data-head=\"startedAt\">\n\t\t\t\t\t\t<span class=\"text-nowrap\">\n\t\t\t\t\t\t\t{{ incident?.started_at | date: 'dd
|
|
117
|
+
args: [{ selector: 'pw-admin-incident-list', template: "<div class=\"row\">\n\t<div *rbacAllow=\"'Pages.Admin.Incident.Create'\"\n\t\tclass=\"col-12 d-flex flex-wrap justify-content-between align-items-center\">\n\t\t<h2 class=\"card-title p-0 float-start\">Incidents</h2>\n\t\t<a [routerLink]=\"[routers.incidentDetails + 'add']\"\n\t\t\t(click)=\"showList = !showList\"\n\t\t\thref=\"javascript:void(0)\"\n\t\t\tclass=\"btn btn-sm btn-outline-primary float-end\"\n\t\t\trole=\"button\"\n\t\t\taria-expanded=\"false\">\n\t\t\t<i class=\"fa fa-plus-circle\"\n\t\t\t\taria-hidden=\"true\"></i>\n\t\t\t{{ 'Label.AddNew' | transloco }} Incident\n\t\t</a>\n\t</div>\n</div>\n<div *ngIf=\"!isLoaded\"\n\tclass=\"w-100 text-center mt-3\">\n\t<p-progressSpinner strokeWidth=\"2\"></p-progressSpinner>\n</div>\n<div *ngIf=\"showList\"\n\tclass=\"row faqlist primeng-datatable-container mt-0\" [class.hideTable]=\"totalRecordsUnFiltered === 0\">\n\t<div class=\"col-12 px-0\">\n\t\t<p-table #tt\n\t\t\t[paginator]=\"totalRecords !== 0\"\n\t\t\t[rows]=\"PAGE_SIZE\"\n\t\t\t[totalRecords]=\"totalRecords\"\n\t\t\t[loading]=\"loading\"\n\t\t\t[lazy]=\"true\"\n\t\t\t[filterDelay]=\"1000\"\n\t\t\t[customSort]=\"true\"\n\t\t\t[value]=\"openIncidents\"\n\t\t\t(onLazyLoad)=\"onLazyLoad($event)\">\n\t\t\t<ng-template pTemplate=\"caption\">\n\t\t\t\t<div class=\"search-filter justify-content-end\">\n\t\t\t\t\t<div class=\"text-end\">\n\t\t\t\t\t\t<i class=\"fa fa-search mt-2 me-2\"\n\t\t\t\t\t\t\taria-hidden=\"true\"></i>\n\t\t\t\t\t\t<input [(ngModel)]=\"searchText\"\n\t\t\t\t\t\t\t(input)=\"tt.filterGlobal($event.target.value, 'contains')\"\n\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\tpInputText\n\t\t\t\t\t\t\tsize=\"50\"\n\t\t\t\t\t\t\tplaceholder=\"Search Incident...\"\n\t\t\t\t\t\t\tdata-cy=\"incident-search\"\n\t\t\t\t\t\t\tclass=\"wd-90\">\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</ng-template>\n\t\t\t<ng-template pTemplate=\"header\">\n\t\t\t\t<tr>\n\t\t\t\t\t<th scope=\"true\">\n\t\t\t\t\t\t{{ 'Admin.Incident.Description' | transloco }}\n\t\t\t\t\t</th>\n\t\t\t\t\t<th scope=\"true\">\n\t\t\t\t\t\t{{ 'Admin.Incident.ServiceImpacted' | transloco }}\n\t\t\t\t\t</th>\n\t\t\t\t\t<th scope=\"true\"\n\t\t\t\t\t\tpSortableColumn=\"started_at\">\n\t\t\t\t\t\t{{ 'Admin.Incident.StartedAt' | transloco }}\n\t\t\t\t\t\t<p-sortIcon field=\"started_at\"></p-sortIcon>\n\t\t\t\t\t</th>\n\t\t\t\t\t<th scope=\"true\"\n\t\t\t\t\t\tpSortableColumn=\"resolved_at\">\n\t\t\t\t\t\t{{ 'Admin.Incident.ResolvedAt' | transloco }}\n\t\t\t\t\t\t<p-sortIcon field=\"resolved_at\"></p-sortIcon>\n\t\t\t\t\t</th>\n\t\t\t\t\t<th scope=\"true\"\n\t\t\t\t\t\tpSortableColumn=\"last_check_at\">\n\t\t\t\t\t\t{{ 'Admin.Incident.LastCheckedAt' | transloco }}\n\t\t\t\t\t\t<p-sortIcon field=\"last_check_at\"></p-sortIcon>\n\t\t\t\t\t</th>\n\t\t\t\t\t<th scope=\"true\">\n\t\t\t\t\t\t{{ 'Admin.Incident.Duration' | transloco }}\n\t\t\t\t\t</th>\n\t\t\t\t\t<th scope=\"true\"\n\t\t\t\t\t\tclass=\"actions-list-two\">\n\t\t\t\t\t\t{{ 'Label.Actions' | transloco }}\n\t\t\t\t\t</th>\n\t\t\t\t</tr>\n\t\t\t</ng-template>\n\t\t\t<ng-template pTemplate=\"body\"\n\t\t\t\tlet-incident>\n\t\t\t\t<tr>\n\t\t\t\t\t<td data-head=\"description\"\n\t\t\t\t\t\tclass=\"description\">\n\t\t\t\t\t\t{{(incident?.description | removeHtml)|textTruncate: 200}}\n\t\t\t\t\t</td>\n\t\t\t\t\t<td data-head=\"serviceImpacted\">\n\t\t\t\t\t\t{{ incident?.service_impacted ? incident?.service_impacted :\n incident?.url_impacted }}\n\t\t\t\t\t</td>\n\t\t\t\t\t<td data-head=\"startedAt\">\n\t\t\t\t\t\t<span class=\"text-nowrap\">\n\t\t\t\t\t\t\t{{ incident?.started_at | date: 'dd-MMM-YYYY, h:mm a' }}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</td>\n\t\t\t\t\t<td data-head=\"resolvedAt\">\n\t\t\t\t\t\t<span class=\"text-nowrap\">\n\t\t\t\t\t\t\t{{ incident?.resolved_at | date: 'dd-MMM-YYYY, h:mm a' }}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</td>\n\t\t\t\t\t<td data-head=\"lastCheckedAt\">\n\t\t\t\t\t<span class=\"text-nowrap\">\n\t\t\t\t\t\t{{ incident?.last_check_at | date: 'dd-MMM-YYYY, h:mm a' }}\n\t\t\t\t\t</span>\n\t\t\t\t</td>\n\t\t\t\t\t<td data-head=\"Duration\">\n\t\t\t\t\t\t<!-- {{ calculateDuration(incident?.resolved_at ? incident?.resolved_at :\n incident?.last_check_at, incident?.started_at) }} -->\n\t\t\t\t\t\t{{ calculateDuration(incident?.resolved_at,\n incident?.started_at) }}\n\t\t\t\t\t</td>\n\t\t\t\t\t<td data-head=\"Action\">\n\t\t\t\t\t\t<ul class=\"list-unstyled list-inline\">\n\t\t\t\t\t\t\t<li ngbTooltip=\"Edit\"\n\t\t\t\t\t\t\t\tclass=\"me-2 me-sm-2\">\n\t\t\t\t\t\t\t\t<i (click)=\"navigateToEdit(incident)\"\n\t\t\t\t\t\t\t\t\tclass=\"fa fa-edit edit-icon\"\n\t\t\t\t\t\t\t\t\taria-hidden=\"true\"></i>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t<li ngbTooltip=\"Delete\"\n\t\t\t\t\t\t\t\tclass=\"me-2 me-sm-2\">\n\t\t\t\t\t\t\t\t<i (click)=\"onDelete(incident)\"\n\t\t\t\t\t\t\t\t\tclass=\"fa fa-trash delete-icon\"\n\t\t\t\t\t\t\t\t\taria-hidden=\"true\"></i>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t</ng-template>\n\t\t</p-table>\n <div *ngIf=\"openIncidents.length === 0 && totalRecordsUnFiltered !== 0\">\n <pw-no-data [withImage]=\"true\" [message]=\"'Search.NoDataMessage' | transloco\"\n [description]=\"'Search.NoDataDescription' | transloco\">\n </pw-no-data>\n </div>\n\t<span class=\"total-records-count\"*ngIf=\"openIncidents.length !== 0\" >Total: {{openIncidents.length }}</span>\n\t</div>\n <pw-no-data [withImage]=\"true\" *ngIf=\"totalRecordsUnFiltered === 0 && isLoaded\"\n [message]=\"'Admin.Incident.NoDataMessage' | transloco\">\n </pw-no-data>\n</div>\n", styles: [":root{--first: rgb(23 105 225);--second: rgb(54 194 131);--third: rgb(255 171 0);--text: rgb(34 34 34);--tabs_bg: rgb(23 105 225);--tabs_text: rgb(255 255 255);--titles: rgb(34 34 34);--sidebar_bg: rgb(0, 48, 63);--sidebar_text: rgb(255 255 255)}.incidents-wrapper .table thead th{border:0;border-bottom:1px solid rgb(222,226,230)}.incident-item{color:#3f3f44;font-size:14px;line-height:1.42857;padding:10px 0}.incident-item .description{color:var(--first)}.incident-item:last-child{border-bottom:0!important}.ql-editor.safe-html{margin:0;font-size:13px;padding:0}.safe-html p{margin:0;font-size:13px}\n"] }]
|
|
118
118
|
}], ctorParameters: () => [{ type: i0.Injector }, { type: i1.CommonService }] });
|
|
119
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5jaWRlbnRzLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hZG1pbi1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL2luY2lkZW50cy9pbmNpZGVudHMtbGlzdC9pbmNpZGVudHMtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FkbWluLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvaW5jaWRlbnRzL2luY2lkZW50cy1saXN0L2luY2lkZW50cy1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUV2RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0UsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDMUQsT0FBTyxJQUFJLE1BQU0sYUFBYSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUFNL0IsTUFBTSxPQUFPLHFCQUFzQixTQUFRLGdCQUFnQjtJQThCdkQsWUFDSSxRQUFrQixFQUNWLGFBQTRCO1FBRXBDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUZSLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBL0J4QyxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLFlBQU8sR0FBRyxPQUFPLENBQUM7UUFNbEIsYUFBUSxHQUFHLElBQUksQ0FBQztRQUVoQixhQUFRLEdBQUcsSUFBSSxDQUFDO1FBRWhCLGtCQUFhLEdB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QUFTLEVBQUUsU0FBUzt3QkFDcEIsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVO3FCQUMxQixDQUFDLENBQUM7Z0JBQ1AsQ0FBQyxDQUFDLENBQUM7WUFDWCxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOytHQXpIUSxxQkFBcUI7bUdBQXJCLHFCQUFxQixxRkNkbEMsMjlLQStJQTs7NEZEaklhLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDSSx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdG9yLCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBBcHBCYXNlQ29tcG9uZW50IH0gZnJvbSAnQHBvc2l3aXNlL2FwcC1iYXNlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21tb25TZXJ2aWNlLCBQZXJtaXNzaW9uU2VydmljZSB9IGZyb20gJ0Bwb3Npd2lzZS9jb21tb24tc2VydmljZXMnO1xuaW1wb3J0IHsgUEFHRV9TSVpFLCBQYWdpbmcgfSBmcm9tICdAcG9zaXdpc2UvY29tbW9uLXV0aWxpdGllcyc7XG5pbXBvcnQgeyBIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnQHBvc2l3aXNlL2hlbHBlci1zZXJ2aWNlJztcbmltcG9ydCB7IExhenlMb2FkRXZlbnQgfSBmcm9tICdwcmltZW5nL2FwaSc7XG5pbXBvcnQgeyBST1VURVJTIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL3JvdXRlcnMvcm91dGVycyc7XG5pbXBvcnQgU3dhbCBmcm9tICdzd2VldGFsZXJ0Mic7XG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3B3LWFkbWluLWluY2lkZW50LWxpc3QnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbmNpZGVudHMtbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW5jaWRlbnRzLWxpc3QuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBJbmNpZGVudExpc3RDb21wb25lbnQgZXh0ZW5kcyBBcHBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIGxhbmRpbmcgPSBmYWxzZTtcbiAgICByb3V0ZXJzID0gUk9VVEVSUztcblxuICAgIHN1YnNjcmlwdGlvbklkOiBudW1iZXI7XG5cbiAgICBsb2dvOiBzdHJpbmc7XG5cbiAgICBzaG93TGlzdCA9IHRydWU7XG5cbiAgICBpc0xvYWRlZCA9IHRydWU7XG5cbiAgICBvcGVuSW5jaWRlbnRzID0gW107XG5cbiAgICB0b3RhbFJlY29yZHNVbkZpbHRlcmVkID0gMDtcblxuICAgIHRvdGFsUmVjb3JkczogbnVtYmVyO1xuXG4gICAgcDE6IG51bWJlcjtcblxuICAgIHA6IG51bWJlcjtcblxuICAgIHByaXZhdGUgcGFnZSA9IDE7XG5cbiAgICBzZWFyY2hUZXh0ID0gJyc7XG5cbiAgICBjb21wYW55TmFtZSA9IHRoaXMuYXBwQ29uZmlnLmNvbXBhbnkubmFtZTtcblxuICAgIGlzU3VwZXJBZG1pbiA9IHRoaXMucGVybWlzc2lvblNlcnZpY2UuaXNTdXBlckFkbWluKCk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBwcml2YXRlIGNvbW1vblNlcnZpY2U6IENvbW1vblNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgc3VwZXIoaW5qZWN0b3IpO1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbklkID0gUGVybWlzc2lvblNlcnZpY2Uuc2VsZWN0ZWRTdWJzY3JpcHRpb24/LmlkO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmxvZ28gPSB0aGlzLmFwcENvbmZpZz8uY29tcGFueT8ubG9nb3M/Lm1haW4/LnVybDtcbiAgICAgICAgLy8gdGhpcy5nZXRJbmNpZGVudHMoKTtcbiAgICB9XG5cbiAgICBnZXRJbmNpZGVudHMocGFnaW5nOiBQYWdpbmcpIHtcbiAgICAgICAgdGhpcy5pc0xvYWRlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmNvbW1vblNlcnZpY2UuZ2V0SW5jaWRlbnRzQWRtaW4ocGFnaW5nLCB0aGlzLnN1YnNjcmlwdGlvbklkKS5zdWJzY3JpYmUocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgdGhpcy5pc0xvYWRlZCA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLm9wZW5JbmNpZGVudHMgPSByZXNwb25zZT8uaW5jaWRlbnRzO1xuICAgICAgICAgICAgdGhpcy50b3RhbFJlY29yZHNVbkZpbHRlcmVkID0gcmVzcG9uc2UudW5maWx0ZXJlZF9jb3VudDtcbiAgICAgICAgICAgIHRoaXMudG90YWxSZWNvcmRzID0gcmVzcG9uc2Uub2JqZWN0X2NvdW50O1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvbkxhenlMb2FkKGV2ZW50OiBMYXp5TG9hZEV2ZW50KSB7XG4gICAgICAgIGNvbnN0IHBhZ2VEZXRhaWxzID0gSGVscGVyU2VydmljZS5vblRhYmxlTGF6eUxvYWQoZXZlbnQpO1xuICAgICAgICB0aGlzLnBhZ2UgPSBwYWdlRGV0YWlscy5wYWdlO1xuICAgICAgICB0aGlzLmdldEluY2lkZW50cyh7XG4gICAgICAgICAgICBwYWdlOiB0aGlzLnBhZ2UsXG4gICAgICAgICAgICBwYWdlX3NpemU6IFBBR0VfU0laRSxcbiAgICAgICAgICAgIG9yZGVyX2J5OiBwYWdlRGV0YWlscy5zb3J0RmllbGQsXG4gICAgICAgICAgICBvcmRlcl9kaXJlY3Rpb246IHBhZ2VEZXRhaWxzLnNvcnRPcmRlcixcbiAgICAgICAgICAgIHNlYXJjaDogdGhpcy5zZWFyY2hUZXh0XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGNhbGN1bGF0ZUR1cmF0aW9uKHN0YXJ0ZWRBdDogc3RyaW5nLCByZXNvbHZlZEF0OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBpZiAoIXN0YXJ0ZWRBdCkge1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHN0YXJ0ZWREYXRlID0gbmV3IERhdGUoc3RhcnRlZEF0KTtcbiAgICAgICAgY29uc3QgcmVzb2x2ZWREYXRlID0gbmV3IERhdGUocmVzb2x2ZWRBdCk7XG5cbiAgICAgICAgY29uc3QgZHVyYXRpb25NaW51dGVzID0gTWF0aC5hYnMoXG4gICAgICAgICAgICAocmVzb2x2ZWREYXRlLmdldFRpbWUoKSAtIHN0YXJ0ZWREYXRlLmdldFRpbWUoKSkgLyAoMTAwMCAqIDYwKVxuICAgICAgICApO1xuXG4gICAgICAgIGlmIChkdXJhdGlvbk1pbnV0ZXMgPCAxKSB7XG4gICAgICAgICAgICBjb25zdCBkdXJhdGlvblNlY29uZHMgPSBNYXRoLmFicyhcbiAgICAgICAgICAgICAgICAocmVzb2x2ZWREYXRlLmdldFRpbWUoKSAtIHN0YXJ0ZWREYXRlLmdldFRpbWUoKSkgLyAxMDAwXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgcmV0dXJuIGAke01hdGgucm91bmQoZHVyYXRpb25TZWNvbmRzKX0gc2Vjb25kc2A7XG4gICAgICAgIH0gZWxzZSBpZiAoZHVyYXRpb25NaW51dGVzIDwgNjApIHtcbiAgICAgICAgICAgIHJldHVybiBgJHtNYXRoLnJvdW5kKGR1cmF0aW9uTWludXRlcyl9IG1pbnV0ZXNgO1xuICAgICAgICB9IGVsc2UgaWYgKGR1cmF0aW9uTWludXRlcyA8IDI0ICogNjApIHtcbiAgICAgICAgICAgIGNvbnN0IGR1cmF0aW9uSG91cnMgPSBkdXJhdGlvbk1pbnV0ZXMgLyA2MDtcbiAgICAgICAgICAgIHJldHVybiBgJHtkdXJhdGlvbkhvdXJzLnRvRml4ZWQoMil9IGhvdXJzYDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGR1cmF0aW9uRGF5cyA9IGR1cmF0aW9uTWludXRlcyAvICgyNCAqIDYwKTtcbiAgICAgICAgICAgIHJldHVybiBgJHtkdXJhdGlvbkRheXMudG9GaXhlZCgxKX0gZGF5c2A7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuYXZpZ2F0ZVRvRWRpdChpbmNpZGVudCkge1xuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbdGhpcy5yb3V0ZXJzLmluY2lkZW50RGV0YWlscyArIGluY2lkZW50Py5pZF0sIHtcbiAgICAgICAgICAgIHN0YXRlOiB7IGRhdGE6IGluY2lkZW50IH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25EZWxldGUoaW5jaWRlbnQpIHtcbiAgICAgICAgU3dhbC5maXJlKHtcbiAgICAgICAgICAgIHRpdGxlOiAnRGVsZXRlJyxcbiAgICAgICAgICAgIGh0bWw6IGBBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlP2AsXG4gICAgICAgICAgICBzaG93Q2FuY2VsQnV0dG9uOiB0cnVlLFxuICAgICAgICAgICAgcmV2ZXJzZUJ1dHRvbnM6IHRydWUsXG4gICAgICAgICAgICBpY29uOiAnd2FybmluZydcbiAgICAgICAgfSkudGhlbihyZXAgPT4ge1xuICAgICAgICAgICAgaWYgKHJlcC52YWx1ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuY29tbW9uU2VydmljZVxuICAgICAgICAgICAgICAgICAgICAuZGVsZXRlSW5jaWRlbnRBZG1pbihpbmNpZGVudC5pZCwgdGhpcy5zdWJzY3JpcHRpb25JZClcbiAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRvYXN0LnN1Y2Nlc3MoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50cmFuc2xhdGlvbi50cmFuc2xhdGUoJ0FkbWluLkluY2lkZW50LkRlbGV0ZWRNZXNzYWdlJylcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmdldEluY2lkZW50cyh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFnZTogdGhpcy5wYWdlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2Vfc2l6ZTogUEFHRV9TSVpFLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlYXJjaDogdGhpcy5zZWFyY2hUZXh0XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJyb3dcIj5cblx0PGRpdiAqcmJhY0FsbG93PVwiJ1BhZ2VzLkFkbWluLkluY2lkZW50LkNyZWF0ZSdcIlxuXHRcdGNsYXNzPVwiY29sLTEyIGQtZmxleCBmbGV4LXdyYXAganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyXCI+XG5cdFx0PGgyIGNsYXNzPVwiY2FyZC10aXRsZSBwLTAgZmxvYXQtc3RhcnRcIj5JbmNpZGVudHM8L2gyPlxuXHRcdDxhIFtyb3V0ZXJMaW5rXT1cIltyb3V0ZXJzLmluY2lkZW50RGV0YWlscyArICdhZGQnXVwiXG5cdFx0XHQoY2xpY2spPVwic2hvd0xpc3QgPSAhc2hvd0xpc3RcIlxuXHRcdFx0aHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiXG5cdFx0XHRjbGFzcz1cImJ0biBidG4tc20gYnRuLW91dGxpbmUtcHJpbWFyeSBmbG9hdC1lbmRcIlxuXHRcdFx0cm9sZT1cImJ1dHRvblwiXG5cdFx0XHRhcmlhLWV4cGFuZGVkPVwiZmFsc2VcIj5cblx0XHRcdDxpIGNsYXNzPVwiZmEgZmEtcGx1cy1jaXJjbGVcIlxuXHRcdFx0XHRhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG5cdFx0XHR7eyAnTGFiZWwuQWRkTmV3JyB8IHRyYW5zbG9jbyB9fSBJbmNpZGVudFxuXHRcdDwvYT5cblx0PC9kaXY+XG48L2Rpdj5cbjxkaXYgKm5nSWY9XCIhaXNMb2FkZWRcIlxuXHRjbGFzcz1cInctMTAwIHRleHQtY2VudGVyIG10LTNcIj5cblx0PHAtcHJvZ3Jlc3NTcGlubmVyIHN0cm9rZVdpZHRoPVwiMlwiPjwvcC1wcm9ncmVzc1NwaW5uZXI+XG48L2Rpdj5cbjxkaXYgKm5nSWY9XCJzaG93TGlzdFwiXG5cdGNsYXNzPVwicm93IGZhcWxpc3QgcHJpbWVuZy1kYXRhdGFibGUtY29udGFpbmVyIG10LTBcIiBbY2xhc3MuaGlkZVRhYmxlXT1cInRvdGFsUmVjb3Jkc1VuRmlsdGVyZWQgPT09IDBcIj5cblx0PGRpdiBjbGFzcz1cImNvbC0xMiBweC0wXCI+XG5cdFx0PHAtdGFibGUgI3R0XG5cdFx0XHRbcGFnaW5hdG9yXT1cInRvdGFsUmVjb3JkcyAhPT0gMFwiXG5cdFx0XHRbcm93c109XCJQQUdFX1NJWkVcIlxuXHRcdFx0W3RvdGFsUmVjb3Jkc109XCJ0b3RhbFJlY29yZHNcIlxuXHRcdFx0W2xvYWRpbmddPVwibG9hZGluZ1wiXG5cdFx0XHRbbGF6eV09XCJ0cnVlXCJcblx0XHRcdFtmaWx0ZXJEZWxheV09XCIxMDAwXCJcblx0XHRcdFtjdXN0b21Tb3J0XT1cInRydWVcIlxuXHRcdFx0W3ZhbHVlXT1cIm9wZW5JbmNpZGVudHNcIlxuXHRcdFx0KG9uTGF6eUxvYWQpPVwib25MYXp5TG9hZCgkZXZlbnQpXCI+XG5cdFx0XHQ8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiY2FwdGlvblwiPlxuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwic2VhcmNoLWZpbHRlciBqdXN0aWZ5LWNvbnRlbnQtZW5kXCI+XG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cInRleHQtZW5kXCI+XG5cdFx0XHRcdFx0XHQ8aSBjbGFzcz1cImZhIGZhLXNlYXJjaCBtdC0yIG1lLTJcIlxuXHRcdFx0XHRcdFx0XHRhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG5cdFx0XHRcdFx0XHQ8aW5wdXQgWyhuZ01vZGVsKV09XCJzZWFyY2hUZXh0XCJcblx0XHRcdFx0XHRcdFx0KGlucHV0KT1cInR0LmZpbHRlckdsb2JhbCgkZXZlbnQudGFyZ2V0LnZhbHVlLCAnY29udGFpbnMnKVwiXG5cdFx0XHRcdFx0XHRcdHR5cGU9XCJ0ZXh0XCJcblx0XHRcdFx0XHRcdFx0cElucHV0VGV4dFxuXHRcdFx0XHRcdFx0XHRzaXplPVwiNTBcIlxuXHRcdFx0XHRcdFx0XHRwbGFjZWhvbGRlcj1cIlNlYXJjaCBJbmNpZGVudC4uLlwiXG5cdFx0XHRcdFx0XHRcdGRhdGEtY3k9XCJpbmNpZGVudC1zZWFyY2hcIlxuXHRcdFx0XHRcdFx0XHRjbGFzcz1cIndkLTkwXCI+XG5cdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdDwvZGl2PlxuXHRcdFx0PC9uZy10ZW1wbGF0ZT5cblx0XHRcdDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJoZWFkZXJcIj5cblx0XHRcdFx0PHRyPlxuXHRcdFx0XHRcdDx0aCBzY29wZT1cInRydWVcIj5cblx0XHRcdFx0XHRcdHt7ICdBZG1pbi5JbmNpZGVudC5EZXNjcmlwdGlvbicgfCB0cmFuc2xvY28gfX1cblx0XHRcdFx0XHQ8L3RoPlxuXHRcdFx0XHRcdDx0aCBzY29wZT1cInRydWVcIj5cblx0XHRcdFx0XHRcdHt7ICdBZG1pbi5JbmNpZGVudC5TZXJ2aWNlSW1wYWN0ZWQnIHwgdHJhbnNsb2NvIH19XG5cdFx0XHRcdFx0PC90aD5cblx0XHRcdFx0XHQ8dGggc2NvcGU9XCJ0cnVlXCJcblx0XHRcdFx0XHRcdHBTb3J0YWJsZUNvbHVtbj1cInN0YXJ0ZWRfYXRcIj5cblx0XHRcdFx0XHRcdHt7ICdBZG1pbi5JbmNpZGVudC5TdGFydGVkQXQnIHwgdHJhbnNsb2NvIH19XG5cdFx0XHRcdFx0XHQ8cC1zb3J0SWNvbiBmaWVsZD1cInN0YXJ0ZWRfYXRcIj48L3Atc29ydEljb24+XG5cdFx0XHRcdFx0PC90aD5cblx0XHRcdFx0XHQ8dGggc2NvcGU9XCJ0cnVlXCJcblx0XHRcdFx0XHRcdHBTb3J0YWJsZUNvbHVtbj1cInJlc29sdmVkX2F0XCI+XG5cdFx0XHRcdFx0XHR7eyAnQWRtaW4uSW5jaWRlbnQuUmVzb2x2ZWRBdCcgfCB0cmFuc2xvY28gfX1cblx0XHRcdFx0XHRcdDxwLXNvcnRJY29uIGZpZWxkPVwicmVzb2x2ZWRfYXRcIj48L3Atc29ydEljb24+XG5cdFx0XHRcdFx0PC90aD5cblx0XHRcdFx0XHQ8dGggc2NvcGU9XCJ0cnVlXCJcblx0XHRcdFx0XHRcdHBTb3J0YWJsZUNvbHVtbj1cImxhc3RfY2hlY2tfYXRcIj5cblx0XHRcdFx0XHRcdHt7ICdBZG1pbi5JbmNpZGVudC5MYXN0Q2hlY2tlZEF0JyB8IHRyYW5zbG9jbyB9fVxuXHRcdFx0XHRcdFx0PHAtc29ydEljb24gZmllbGQ9XCJsYXN0X2NoZWNrX2F0XCI+PC9wLXNvcnRJY29uPlxuXHRcdFx0XHRcdDwvdGg+XG5cdFx0XHRcdFx0PHRoIHNjb3BlPVwidHJ1ZVwiPlxuXHRcdFx0XHRcdFx0e3sgJ0FkbWluLkluY2lkZW50LkR1cmF0aW9uJyB8IHRyYW5zbG9jbyB9fVxuXHRcdFx0XHRcdDwvdGg+XG5cdFx0XHRcdFx0PHRoIHNjb3BlPVwidHJ1ZVwiXG5cdFx0XHRcdFx0XHRjbGFzcz1cImFjdGlvbnMtbGlzdC10d29cIj5cblx0XHRcdFx0XHRcdHt7ICdMYWJlbC5BY3Rpb25zJyB8IHRyYW5zbG9jbyB9fVxuXHRcdFx0XHRcdDwvdGg+XG5cdFx0XHRcdDwvdHI+XG5cdFx0XHQ8L25nLXRlbXBsYXRlPlxuXHRcdFx0PG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImJvZHlcIlxuXHRcdFx0XHRsZXQtaW5jaWRlbnQ+XG5cdFx0XHRcdDx0cj5cblx0XHRcdFx0XHQ8dGQgZGF0YS1oZWFkPVwiZGVzY3JpcHRpb25cIlxuXHRcdFx0XHRcdFx0Y2xhc3M9XCJkZXNjcmlwdGlvblwiPlxuXHRcdFx0XHRcdFx0e3soaW5jaWRlbnQ/LmRlc2NyaXB0aW9uIHwgcmVtb3ZlSHRtbCl8dGV4dFRydW5jYXRlOiAyMDB9fVxuXHRcdFx0XHRcdDwvdGQ+XG5cdFx0XHRcdFx0PHRkIGRhdGEtaGVhZD1cInNlcnZpY2VJbXBhY3RlZFwiPlxuXHRcdFx0XHRcdFx0e3sgaW5jaWRlbnQ/LnNlcnZpY2VfaW1wYWN0ZWQgPyBpbmNpZGVudD8uc2VydmljZV9pbXBhY3RlZCA6XG4gICAgICAgICAgICBpbmNpZGVudD8udXJsX2ltcGFjdGVkIH19XG5cdFx0XHRcdFx0PC90ZD5cblx0XHRcdFx0XHQ8dGQgZGF0YS1oZWFkPVwic3RhcnRlZEF0XCI+XG5cdFx0XHRcdFx0XHQ8c3BhbiBjbGFzcz1cInRleHQtbm93cmFwXCI+XG5cdFx0XHRcdFx0XHRcdHt7IGluY2lkZW50Py5zdGFydGVkX2F0IHwgZGF0ZTogJ2RkL01NTS9ZWVlZLCBoOm1tIGEnIH19XG5cdFx0XHRcdFx0XHQ8L3NwYW4+XG5cdFx0XHRcdFx0PC90ZD5cblx0XHRcdFx0XHQ8dGQgZGF0YS1oZWFkPVwicmVzb2x2ZWRBdFwiPlxuXHRcdFx0XHRcdFx0PHNwYW4gY2xhc3M9XCJ0ZXh0LW5vd3JhcFwiPlxuXHRcdFx0XHRcdFx0XHR7eyBpbmNpZGVudD8ucmVzb2x2ZWRfYXQgfCBkYXRlOiAnZGQvTU1NL1lZWVksIGg6bW0gYScgfX1cblx0XHRcdFx0XHRcdDwvc3Bhbj5cblx0XHRcdFx0XHQ8L3RkPlxuXHRcdFx0XHRcdDx0ZCBkYXRhLWhlYWQ9XCJsYXN0Q2hlY2tlZEF0XCI+XG5cdFx0XHRcdFx0PHNwYW4gY2xhc3M9XCJ0ZXh0LW5vd3JhcFwiPlxuXHRcdFx0XHRcdFx0e3sgaW5jaWRlbnQ/Lmxhc3RfY2hlY2tfYXQgfCBkYXRlOiAnZGQvTU1NL1lZWVksIGg6bW0gYScgfX1cblx0XHRcdFx0XHQ8L3NwYW4+XG5cdFx0XHRcdDwvdGQ+XG5cdFx0XHRcdFx0PHRkIGRhdGEtaGVhZD1cIkR1cmF0aW9uXCI+XG5cdFx0XHRcdFx0XHQ8IS0tIHt7IGNhbGN1bGF0ZUR1cmF0aW9uKGluY2lkZW50Py5yZXNvbHZlZF9hdCA/IGluY2lkZW50Py5yZXNvbHZlZF9hdCA6XG4gICAgICAgICAgICBpbmNpZGVudD8ubGFzdF9jaGVja19hdCwgaW5jaWRlbnQ/LnN0YXJ0ZWRfYXQpIH19IC0tPlxuXHRcdFx0XHRcdFx0e3sgY2FsY3VsYXRlRHVyYXRpb24oaW5jaWRlbnQ/LnJlc29sdmVkX2F0LFxuICAgICAgICAgICAgaW5jaWRlbnQ/LnN0YXJ0ZWRfYXQpIH19XG5cdFx0XHRcdFx0PC90ZD5cblx0XHRcdFx0XHQ8dGQgZGF0YS1oZWFkPVwiQWN0aW9uXCI+XG5cdFx0XHRcdFx0XHQ8dWwgY2xhc3M9XCJsaXN0LXVuc3R5bGVkIGxpc3QtaW5saW5lXCI+XG5cdFx0XHRcdFx0XHRcdDxsaSBuZ2JUb29sdGlwPVwiRWRpdFwiXG5cdFx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJtZS0yIG1lLXNtLTJcIj5cblx0XHRcdFx0XHRcdFx0XHQ8aSAoY2xpY2spPVwibmF2aWdhdGVUb0VkaXQoaW5jaWRlbnQpXCJcblx0XHRcdFx0XHRcdFx0XHRcdGNsYXNzPVwiZmEgZmEtZWRpdCBlZGl0LWljb25cIlxuXHRcdFx0XHRcdFx0XHRcdFx0YXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuXHRcdFx0XHRcdFx0XHQ8L2xpPlxuXHRcdFx0XHRcdFx0XHQ8bGkgbmdiVG9vbHRpcD1cIkRlbGV0ZVwiXG5cdFx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJtZS0yIG1lLXNtLTJcIj5cblx0XHRcdFx0XHRcdFx0XHQ8aSAoY2xpY2spPVwib25EZWxldGUoaW5jaWRlbnQpXCJcblx0XHRcdFx0XHRcdFx0XHRcdGNsYXNzPVwiZmEgZmEtdHJhc2ggZGVsZXRlLWljb25cIlxuXHRcdFx0XHRcdFx0XHRcdFx0YXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuXHRcdFx0XHRcdFx0XHQ8L2xpPlxuXHRcdFx0XHRcdFx0PC91bD5cblx0XHRcdFx0XHQ8L3RkPlxuXHRcdFx0XHQ8L3RyPlxuXHRcdFx0PC9uZy10ZW1wbGF0ZT5cblx0XHQ8L3AtdGFibGU+XG4gICAgPGRpdiAqbmdJZj1cIm9wZW5JbmNpZGVudHMubGVuZ3RoID09PSAwICYmIHRvdGFsUmVjb3Jkc1VuRmlsdGVyZWQgIT09IDBcIj5cbiAgICAgIDxwdy1uby1kYXRhIFt3aXRoSW1hZ2VdPVwidHJ1ZVwiIFttZXNzYWdlXT1cIidTZWFyY2guTm9EYXRhTWVzc2FnZScgfCB0cmFuc2xvY29cIlxuICAgICAgICBbZGVzY3JpcHRpb25dPVwiJ1NlYXJjaC5Ob0RhdGFEZXNjcmlwdGlvbicgfCB0cmFuc2xvY29cIj5cbiAgICAgIDwvcHctbm8tZGF0YT5cbiAgICA8L2Rpdj5cblx0PHNwYW4gY2xhc3M9XCJ0b3RhbC1yZWNvcmRzLWNvdW50XCIqbmdJZj1cIm9wZW5JbmNpZGVudHMubGVuZ3RoICE9PSAwXCIgPlRvdGFsOiB7e29wZW5JbmNpZGVudHMubGVuZ3RoIH19PC9zcGFuPlxuXHQ8L2Rpdj5cbiAgPHB3LW5vLWRhdGEgW3dpdGhJbWFnZV09XCJ0cnVlXCIgKm5nSWY9XCJ0b3RhbFJlY29yZHNVbkZpbHRlcmVkID09PSAwICYmIGlzTG9hZGVkXCJcbiAgICBbbWVzc2FnZV09XCInQWRtaW4uSW5jaWRlbnQuTm9EYXRhTWVzc2FnZScgfCB0cmFuc2xvY29cIj5cbiAgPC9wdy1uby1kYXRhPlxuPC9kaXY+XG4iXX0=
|
|
119
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5jaWRlbnRzLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hZG1pbi1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL2luY2lkZW50cy9pbmNpZGVudHMtbGlzdC9pbmNpZGVudHMtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FkbWluLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvaW5jaWRlbnRzL2luY2lkZW50cy1saXN0L2luY2lkZW50cy1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUV2RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0UsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDMUQsT0FBTyxJQUFJLE1BQU0sYUFBYSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUFNL0IsTUFBTSxPQUFPLHFCQUFzQixTQUFRLGdCQUFnQjtJQThCdkQsWUFDSSxRQUFrQixFQUNWLGFBQTRCO1FBRXBDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUZSLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBL0J4QyxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLFlBQU8sR0FBRyxPQUFPLENBQUM7UUFNbEIsYUFBUSxHQUFHLElBQUksQ0FBQztRQUVoQixhQUFRLEdBQUcsSUFBSSxDQUFDO1FBRWhCLGtCQUFhLEdB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QUFTLEVBQUUsU0FBUzt3QkFDcEIsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVO3FCQUMxQixDQUFDLENBQUM7Z0JBQ1AsQ0FBQyxDQUFDLENBQUM7WUFDWCxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOytHQXpIUSxxQkFBcUI7bUdBQXJCLHFCQUFxQixxRkNkbEMsMjlLQStJQTs7NEZEaklhLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDSSx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdG9yLCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBBcHBCYXNlQ29tcG9uZW50IH0gZnJvbSAnQHBvc2l3aXNlL2FwcC1iYXNlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21tb25TZXJ2aWNlLCBQZXJtaXNzaW9uU2VydmljZSB9IGZyb20gJ0Bwb3Npd2lzZS9jb21tb24tc2VydmljZXMnO1xuaW1wb3J0IHsgUEFHRV9TSVpFLCBQYWdpbmcgfSBmcm9tICdAcG9zaXdpc2UvY29tbW9uLXV0aWxpdGllcyc7XG5pbXBvcnQgeyBIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnQHBvc2l3aXNlL2hlbHBlci1zZXJ2aWNlJztcbmltcG9ydCB7IExhenlMb2FkRXZlbnQgfSBmcm9tICdwcmltZW5nL2FwaSc7XG5pbXBvcnQgeyBST1VURVJTIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL3JvdXRlcnMvcm91dGVycyc7XG5pbXBvcnQgU3dhbCBmcm9tICdzd2VldGFsZXJ0Mic7XG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3B3LWFkbWluLWluY2lkZW50LWxpc3QnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbmNpZGVudHMtbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW5jaWRlbnRzLWxpc3QuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBJbmNpZGVudExpc3RDb21wb25lbnQgZXh0ZW5kcyBBcHBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIGxhbmRpbmcgPSBmYWxzZTtcbiAgICByb3V0ZXJzID0gUk9VVEVSUztcblxuICAgIHN1YnNjcmlwdGlvbklkOiBudW1iZXI7XG5cbiAgICBsb2dvOiBzdHJpbmc7XG5cbiAgICBzaG93TGlzdCA9IHRydWU7XG5cbiAgICBpc0xvYWRlZCA9IHRydWU7XG5cbiAgICBvcGVuSW5jaWRlbnRzID0gW107XG5cbiAgICB0b3RhbFJlY29yZHNVbkZpbHRlcmVkID0gMDtcblxuICAgIHRvdGFsUmVjb3JkczogbnVtYmVyO1xuXG4gICAgcDE6IG51bWJlcjtcblxuICAgIHA6IG51bWJlcjtcblxuICAgIHByaXZhdGUgcGFnZSA9IDE7XG5cbiAgICBzZWFyY2hUZXh0ID0gJyc7XG5cbiAgICBjb21wYW55TmFtZSA9IHRoaXMuYXBwQ29uZmlnLmNvbXBhbnkubmFtZTtcblxuICAgIGlzU3VwZXJBZG1pbiA9IHRoaXMucGVybWlzc2lvblNlcnZpY2UuaXNTdXBlckFkbWluKCk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBwcml2YXRlIGNvbW1vblNlcnZpY2U6IENvbW1vblNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgc3VwZXIoaW5qZWN0b3IpO1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbklkID0gUGVybWlzc2lvblNlcnZpY2Uuc2VsZWN0ZWRTdWJzY3JpcHRpb24/LmlkO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmxvZ28gPSB0aGlzLmFwcENvbmZpZz8uY29tcGFueT8ubG9nb3M/Lm1haW4/LnVybDtcbiAgICAgICAgLy8gdGhpcy5nZXRJbmNpZGVudHMoKTtcbiAgICB9XG5cbiAgICBnZXRJbmNpZGVudHMocGFnaW5nOiBQYWdpbmcpIHtcbiAgICAgICAgdGhpcy5pc0xvYWRlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmNvbW1vblNlcnZpY2UuZ2V0SW5jaWRlbnRzQWRtaW4ocGFnaW5nLCB0aGlzLnN1YnNjcmlwdGlvbklkKS5zdWJzY3JpYmUocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgdGhpcy5pc0xvYWRlZCA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLm9wZW5JbmNpZGVudHMgPSByZXNwb25zZT8uaW5jaWRlbnRzO1xuICAgICAgICAgICAgdGhpcy50b3RhbFJlY29yZHNVbkZpbHRlcmVkID0gcmVzcG9uc2UudW5maWx0ZXJlZF9jb3VudDtcbiAgICAgICAgICAgIHRoaXMudG90YWxSZWNvcmRzID0gcmVzcG9uc2Uub2JqZWN0X2NvdW50O1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvbkxhenlMb2FkKGV2ZW50OiBMYXp5TG9hZEV2ZW50KSB7XG4gICAgICAgIGNvbnN0IHBhZ2VEZXRhaWxzID0gSGVscGVyU2VydmljZS5vblRhYmxlTGF6eUxvYWQoZXZlbnQpO1xuICAgICAgICB0aGlzLnBhZ2UgPSBwYWdlRGV0YWlscy5wYWdlO1xuICAgICAgICB0aGlzLmdldEluY2lkZW50cyh7XG4gICAgICAgICAgICBwYWdlOiB0aGlzLnBhZ2UsXG4gICAgICAgICAgICBwYWdlX3NpemU6IFBBR0VfU0laRSxcbiAgICAgICAgICAgIG9yZGVyX2J5OiBwYWdlRGV0YWlscy5zb3J0RmllbGQsXG4gICAgICAgICAgICBvcmRlcl9kaXJlY3Rpb246IHBhZ2VEZXRhaWxzLnNvcnRPcmRlcixcbiAgICAgICAgICAgIHNlYXJjaDogdGhpcy5zZWFyY2hUZXh0XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGNhbGN1bGF0ZUR1cmF0aW9uKHN0YXJ0ZWRBdDogc3RyaW5nLCByZXNvbHZlZEF0OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBpZiAoIXN0YXJ0ZWRBdCkge1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHN0YXJ0ZWREYXRlID0gbmV3IERhdGUoc3RhcnRlZEF0KTtcbiAgICAgICAgY29uc3QgcmVzb2x2ZWREYXRlID0gbmV3IERhdGUocmVzb2x2ZWRBdCk7XG5cbiAgICAgICAgY29uc3QgZHVyYXRpb25NaW51dGVzID0gTWF0aC5hYnMoXG4gICAgICAgICAgICAocmVzb2x2ZWREYXRlLmdldFRpbWUoKSAtIHN0YXJ0ZWREYXRlLmdldFRpbWUoKSkgLyAoMTAwMCAqIDYwKVxuICAgICAgICApO1xuXG4gICAgICAgIGlmIChkdXJhdGlvbk1pbnV0ZXMgPCAxKSB7XG4gICAgICAgICAgICBjb25zdCBkdXJhdGlvblNlY29uZHMgPSBNYXRoLmFicyhcbiAgICAgICAgICAgICAgICAocmVzb2x2ZWREYXRlLmdldFRpbWUoKSAtIHN0YXJ0ZWREYXRlLmdldFRpbWUoKSkgLyAxMDAwXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgcmV0dXJuIGAke01hdGgucm91bmQoZHVyYXRpb25TZWNvbmRzKX0gc2Vjb25kc2A7XG4gICAgICAgIH0gZWxzZSBpZiAoZHVyYXRpb25NaW51dGVzIDwgNjApIHtcbiAgICAgICAgICAgIHJldHVybiBgJHtNYXRoLnJvdW5kKGR1cmF0aW9uTWludXRlcyl9IG1pbnV0ZXNgO1xuICAgICAgICB9IGVsc2UgaWYgKGR1cmF0aW9uTWludXRlcyA8IDI0ICogNjApIHtcbiAgICAgICAgICAgIGNvbnN0IGR1cmF0aW9uSG91cnMgPSBkdXJhdGlvbk1pbnV0ZXMgLyA2MDtcbiAgICAgICAgICAgIHJldHVybiBgJHtkdXJhdGlvbkhvdXJzLnRvRml4ZWQoMil9IGhvdXJzYDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGR1cmF0aW9uRGF5cyA9IGR1cmF0aW9uTWludXRlcyAvICgyNCAqIDYwKTtcbiAgICAgICAgICAgIHJldHVybiBgJHtkdXJhdGlvbkRheXMudG9GaXhlZCgxKX0gZGF5c2A7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuYXZpZ2F0ZVRvRWRpdChpbmNpZGVudCkge1xuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbdGhpcy5yb3V0ZXJzLmluY2lkZW50RGV0YWlscyArIGluY2lkZW50Py5pZF0sIHtcbiAgICAgICAgICAgIHN0YXRlOiB7IGRhdGE6IGluY2lkZW50IH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25EZWxldGUoaW5jaWRlbnQpIHtcbiAgICAgICAgU3dhbC5maXJlKHtcbiAgICAgICAgICAgIHRpdGxlOiAnRGVsZXRlJyxcbiAgICAgICAgICAgIGh0bWw6IGBBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlP2AsXG4gICAgICAgICAgICBzaG93Q2FuY2VsQnV0dG9uOiB0cnVlLFxuICAgICAgICAgICAgcmV2ZXJzZUJ1dHRvbnM6IHRydWUsXG4gICAgICAgICAgICBpY29uOiAnd2FybmluZydcbiAgICAgICAgfSkudGhlbihyZXAgPT4ge1xuICAgICAgICAgICAgaWYgKHJlcC52YWx1ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuY29tbW9uU2VydmljZVxuICAgICAgICAgICAgICAgICAgICAuZGVsZXRlSW5jaWRlbnRBZG1pbihpbmNpZGVudC5pZCwgdGhpcy5zdWJzY3JpcHRpb25JZClcbiAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRvYXN0LnN1Y2Nlc3MoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50cmFuc2xhdGlvbi50cmFuc2xhdGUoJ0FkbWluLkluY2lkZW50LkRlbGV0ZWRNZXNzYWdlJylcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmdldEluY2lkZW50cyh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFnZTogdGhpcy5wYWdlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2Vfc2l6ZTogUEFHRV9TSVpFLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlYXJjaDogdGhpcy5zZWFyY2hUZXh0XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJyb3dcIj5cblx0PGRpdiAqcmJhY0FsbG93PVwiJ1BhZ2VzLkFkbWluLkluY2lkZW50LkNyZWF0ZSdcIlxuXHRcdGNsYXNzPVwiY29sLTEyIGQtZmxleCBmbGV4LXdyYXAganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyXCI+XG5cdFx0PGgyIGNsYXNzPVwiY2FyZC10aXRsZSBwLTAgZmxvYXQtc3RhcnRcIj5JbmNpZGVudHM8L2gyPlxuXHRcdDxhIFtyb3V0ZXJMaW5rXT1cIltyb3V0ZXJzLmluY2lkZW50RGV0YWlscyArICdhZGQnXVwiXG5cdFx0XHQoY2xpY2spPVwic2hvd0xpc3QgPSAhc2hvd0xpc3RcIlxuXHRcdFx0aHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiXG5cdFx0XHRjbGFzcz1cImJ0biBidG4tc20gYnRuLW91dGxpbmUtcHJpbWFyeSBmbG9hdC1lbmRcIlxuXHRcdFx0cm9sZT1cImJ1dHRvblwiXG5cdFx0XHRhcmlhLWV4cGFuZGVkPVwiZmFsc2VcIj5cblx0XHRcdDxpIGNsYXNzPVwiZmEgZmEtcGx1cy1jaXJjbGVcIlxuXHRcdFx0XHRhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG5cdFx0XHR7eyAnTGFiZWwuQWRkTmV3JyB8IHRyYW5zbG9jbyB9fSBJbmNpZGVudFxuXHRcdDwvYT5cblx0PC9kaXY+XG48L2Rpdj5cbjxkaXYgKm5nSWY9XCIhaXNMb2FkZWRcIlxuXHRjbGFzcz1cInctMTAwIHRleHQtY2VudGVyIG10LTNcIj5cblx0PHAtcHJvZ3Jlc3NTcGlubmVyIHN0cm9rZVdpZHRoPVwiMlwiPjwvcC1wcm9ncmVzc1NwaW5uZXI+XG48L2Rpdj5cbjxkaXYgKm5nSWY9XCJzaG93TGlzdFwiXG5cdGNsYXNzPVwicm93IGZhcWxpc3QgcHJpbWVuZy1kYXRhdGFibGUtY29udGFpbmVyIG10LTBcIiBbY2xhc3MuaGlkZVRhYmxlXT1cInRvdGFsUmVjb3Jkc1VuRmlsdGVyZWQgPT09IDBcIj5cblx0PGRpdiBjbGFzcz1cImNvbC0xMiBweC0wXCI+XG5cdFx0PHAtdGFibGUgI3R0XG5cdFx0XHRbcGFnaW5hdG9yXT1cInRvdGFsUmVjb3JkcyAhPT0gMFwiXG5cdFx0XHRbcm93c109XCJQQUdFX1NJWkVcIlxuXHRcdFx0W3RvdGFsUmVjb3Jkc109XCJ0b3RhbFJlY29yZHNcIlxuXHRcdFx0W2xvYWRpbmddPVwibG9hZGluZ1wiXG5cdFx0XHRbbGF6eV09XCJ0cnVlXCJcblx0XHRcdFtmaWx0ZXJEZWxheV09XCIxMDAwXCJcblx0XHRcdFtjdXN0b21Tb3J0XT1cInRydWVcIlxuXHRcdFx0W3ZhbHVlXT1cIm9wZW5JbmNpZGVudHNcIlxuXHRcdFx0KG9uTGF6eUxvYWQpPVwib25MYXp5TG9hZCgkZXZlbnQpXCI+XG5cdFx0XHQ8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiY2FwdGlvblwiPlxuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwic2VhcmNoLWZpbHRlciBqdXN0aWZ5LWNvbnRlbnQtZW5kXCI+XG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cInRleHQtZW5kXCI+XG5cdFx0XHRcdFx0XHQ8aSBjbGFzcz1cImZhIGZhLXNlYXJjaCBtdC0yIG1lLTJcIlxuXHRcdFx0XHRcdFx0XHRhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG5cdFx0XHRcdFx0XHQ8aW5wdXQgWyhuZ01vZGVsKV09XCJzZWFyY2hUZXh0XCJcblx0XHRcdFx0XHRcdFx0KGlucHV0KT1cInR0LmZpbHRlckdsb2JhbCgkZXZlbnQudGFyZ2V0LnZhbHVlLCAnY29udGFpbnMnKVwiXG5cdFx0XHRcdFx0XHRcdHR5cGU9XCJ0ZXh0XCJcblx0XHRcdFx0XHRcdFx0cElucHV0VGV4dFxuXHRcdFx0XHRcdFx0XHRzaXplPVwiNTBcIlxuXHRcdFx0XHRcdFx0XHRwbGFjZWhvbGRlcj1cIlNlYXJjaCBJbmNpZGVudC4uLlwiXG5cdFx0XHRcdFx0XHRcdGRhdGEtY3k9XCJpbmNpZGVudC1zZWFyY2hcIlxuXHRcdFx0XHRcdFx0XHRjbGFzcz1cIndkLTkwXCI+XG5cdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdDwvZGl2PlxuXHRcdFx0PC9uZy10ZW1wbGF0ZT5cblx0XHRcdDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJoZWFkZXJcIj5cblx0XHRcdFx0PHRyPlxuXHRcdFx0XHRcdDx0aCBzY29wZT1cInRydWVcIj5cblx0XHRcdFx0XHRcdHt7ICdBZG1pbi5JbmNpZGVudC5EZXNjcmlwdGlvbicgfCB0cmFuc2xvY28gfX1cblx0XHRcdFx0XHQ8L3RoPlxuXHRcdFx0XHRcdDx0aCBzY29wZT1cInRydWVcIj5cblx0XHRcdFx0XHRcdHt7ICdBZG1pbi5JbmNpZGVudC5TZXJ2aWNlSW1wYWN0ZWQnIHwgdHJhbnNsb2NvIH19XG5cdFx0XHRcdFx0PC90aD5cblx0XHRcdFx0XHQ8dGggc2NvcGU9XCJ0cnVlXCJcblx0XHRcdFx0XHRcdHBTb3J0YWJsZUNvbHVtbj1cInN0YXJ0ZWRfYXRcIj5cblx0XHRcdFx0XHRcdHt7ICdBZG1pbi5JbmNpZGVudC5TdGFydGVkQXQnIHwgdHJhbnNsb2NvIH19XG5cdFx0XHRcdFx0XHQ8cC1zb3J0SWNvbiBmaWVsZD1cInN0YXJ0ZWRfYXRcIj48L3Atc29ydEljb24+XG5cdFx0XHRcdFx0PC90aD5cblx0XHRcdFx0XHQ8dGggc2NvcGU9XCJ0cnVlXCJcblx0XHRcdFx0XHRcdHBTb3J0YWJsZUNvbHVtbj1cInJlc29sdmVkX2F0XCI+XG5cdFx0XHRcdFx0XHR7eyAnQWRtaW4uSW5jaWRlbnQuUmVzb2x2ZWRBdCcgfCB0cmFuc2xvY28gfX1cblx0XHRcdFx0XHRcdDxwLXNvcnRJY29uIGZpZWxkPVwicmVzb2x2ZWRfYXRcIj48L3Atc29ydEljb24+XG5cdFx0XHRcdFx0PC90aD5cblx0XHRcdFx0XHQ8dGggc2NvcGU9XCJ0cnVlXCJcblx0XHRcdFx0XHRcdHBTb3J0YWJsZUNvbHVtbj1cImxhc3RfY2hlY2tfYXRcIj5cblx0XHRcdFx0XHRcdHt7ICdBZG1pbi5JbmNpZGVudC5MYXN0Q2hlY2tlZEF0JyB8IHRyYW5zbG9jbyB9fVxuXHRcdFx0XHRcdFx0PHAtc29ydEljb24gZmllbGQ9XCJsYXN0X2NoZWNrX2F0XCI+PC9wLXNvcnRJY29uPlxuXHRcdFx0XHRcdDwvdGg+XG5cdFx0XHRcdFx0PHRoIHNjb3BlPVwidHJ1ZVwiPlxuXHRcdFx0XHRcdFx0e3sgJ0FkbWluLkluY2lkZW50LkR1cmF0aW9uJyB8IHRyYW5zbG9jbyB9fVxuXHRcdFx0XHRcdDwvdGg+XG5cdFx0XHRcdFx0PHRoIHNjb3BlPVwidHJ1ZVwiXG5cdFx0XHRcdFx0XHRjbGFzcz1cImFjdGlvbnMtbGlzdC10d29cIj5cblx0XHRcdFx0XHRcdHt7ICdMYWJlbC5BY3Rpb25zJyB8IHRyYW5zbG9jbyB9fVxuXHRcdFx0XHRcdDwvdGg+XG5cdFx0XHRcdDwvdHI+XG5cdFx0XHQ8L25nLXRlbXBsYXRlPlxuXHRcdFx0PG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImJvZHlcIlxuXHRcdFx0XHRsZXQtaW5jaWRlbnQ+XG5cdFx0XHRcdDx0cj5cblx0XHRcdFx0XHQ8dGQgZGF0YS1oZWFkPVwiZGVzY3JpcHRpb25cIlxuXHRcdFx0XHRcdFx0Y2xhc3M9XCJkZXNjcmlwdGlvblwiPlxuXHRcdFx0XHRcdFx0e3soaW5jaWRlbnQ/LmRlc2NyaXB0aW9uIHwgcmVtb3ZlSHRtbCl8dGV4dFRydW5jYXRlOiAyMDB9fVxuXHRcdFx0XHRcdDwvdGQ+XG5cdFx0XHRcdFx0PHRkIGRhdGEtaGVhZD1cInNlcnZpY2VJbXBhY3RlZFwiPlxuXHRcdFx0XHRcdFx0e3sgaW5jaWRlbnQ/LnNlcnZpY2VfaW1wYWN0ZWQgPyBpbmNpZGVudD8uc2VydmljZV9pbXBhY3RlZCA6XG4gICAgICAgICAgICBpbmNpZGVudD8udXJsX2ltcGFjdGVkIH19XG5cdFx0XHRcdFx0PC90ZD5cblx0XHRcdFx0XHQ8dGQgZGF0YS1oZWFkPVwic3RhcnRlZEF0XCI+XG5cdFx0XHRcdFx0XHQ8c3BhbiBjbGFzcz1cInRleHQtbm93cmFwXCI+XG5cdFx0XHRcdFx0XHRcdHt7IGluY2lkZW50Py5zdGFydGVkX2F0IHwgZGF0ZTogJ2RkLU1NTS1ZWVlZLCBoOm1tIGEnIH19XG5cdFx0XHRcdFx0XHQ8L3NwYW4+XG5cdFx0XHRcdFx0PC90ZD5cblx0XHRcdFx0XHQ8dGQgZGF0YS1oZWFkPVwicmVzb2x2ZWRBdFwiPlxuXHRcdFx0XHRcdFx0PHNwYW4gY2xhc3M9XCJ0ZXh0LW5vd3JhcFwiPlxuXHRcdFx0XHRcdFx0XHR7eyBpbmNpZGVudD8ucmVzb2x2ZWRfYXQgfCBkYXRlOiAnZGQtTU1NLVlZWVksIGg6bW0gYScgfX1cblx0XHRcdFx0XHRcdDwvc3Bhbj5cblx0XHRcdFx0XHQ8L3RkPlxuXHRcdFx0XHRcdDx0ZCBkYXRhLWhlYWQ9XCJsYXN0Q2hlY2tlZEF0XCI+XG5cdFx0XHRcdFx0PHNwYW4gY2xhc3M9XCJ0ZXh0LW5vd3JhcFwiPlxuXHRcdFx0XHRcdFx0e3sgaW5jaWRlbnQ/Lmxhc3RfY2hlY2tfYXQgfCBkYXRlOiAnZGQtTU1NLVlZWVksIGg6bW0gYScgfX1cblx0XHRcdFx0XHQ8L3NwYW4+XG5cdFx0XHRcdDwvdGQ+XG5cdFx0XHRcdFx0PHRkIGRhdGEtaGVhZD1cIkR1cmF0aW9uXCI+XG5cdFx0XHRcdFx0XHQ8IS0tIHt7IGNhbGN1bGF0ZUR1cmF0aW9uKGluY2lkZW50Py5yZXNvbHZlZF9hdCA/IGluY2lkZW50Py5yZXNvbHZlZF9hdCA6XG4gICAgICAgICAgICBpbmNpZGVudD8ubGFzdF9jaGVja19hdCwgaW5jaWRlbnQ/LnN0YXJ0ZWRfYXQpIH19IC0tPlxuXHRcdFx0XHRcdFx0e3sgY2FsY3VsYXRlRHVyYXRpb24oaW5jaWRlbnQ/LnJlc29sdmVkX2F0LFxuICAgICAgICAgICAgaW5jaWRlbnQ/LnN0YXJ0ZWRfYXQpIH19XG5cdFx0XHRcdFx0PC90ZD5cblx0XHRcdFx0XHQ8dGQgZGF0YS1oZWFkPVwiQWN0aW9uXCI+XG5cdFx0XHRcdFx0XHQ8dWwgY2xhc3M9XCJsaXN0LXVuc3R5bGVkIGxpc3QtaW5saW5lXCI+XG5cdFx0XHRcdFx0XHRcdDxsaSBuZ2JUb29sdGlwPVwiRWRpdFwiXG5cdFx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJtZS0yIG1lLXNtLTJcIj5cblx0XHRcdFx0XHRcdFx0XHQ8aSAoY2xpY2spPVwibmF2aWdhdGVUb0VkaXQoaW5jaWRlbnQpXCJcblx0XHRcdFx0XHRcdFx0XHRcdGNsYXNzPVwiZmEgZmEtZWRpdCBlZGl0LWljb25cIlxuXHRcdFx0XHRcdFx0XHRcdFx0YXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuXHRcdFx0XHRcdFx0XHQ8L2xpPlxuXHRcdFx0XHRcdFx0XHQ8bGkgbmdiVG9vbHRpcD1cIkRlbGV0ZVwiXG5cdFx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJtZS0yIG1lLXNtLTJcIj5cblx0XHRcdFx0XHRcdFx0XHQ8aSAoY2xpY2spPVwib25EZWxldGUoaW5jaWRlbnQpXCJcblx0XHRcdFx0XHRcdFx0XHRcdGNsYXNzPVwiZmEgZmEtdHJhc2ggZGVsZXRlLWljb25cIlxuXHRcdFx0XHRcdFx0XHRcdFx0YXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuXHRcdFx0XHRcdFx0XHQ8L2xpPlxuXHRcdFx0XHRcdFx0PC91bD5cblx0XHRcdFx0XHQ8L3RkPlxuXHRcdFx0XHQ8L3RyPlxuXHRcdFx0PC9uZy10ZW1wbGF0ZT5cblx0XHQ8L3AtdGFibGU+XG4gICAgPGRpdiAqbmdJZj1cIm9wZW5JbmNpZGVudHMubGVuZ3RoID09PSAwICYmIHRvdGFsUmVjb3Jkc1VuRmlsdGVyZWQgIT09IDBcIj5cbiAgICAgIDxwdy1uby1kYXRhIFt3aXRoSW1hZ2VdPVwidHJ1ZVwiIFttZXNzYWdlXT1cIidTZWFyY2guTm9EYXRhTWVzc2FnZScgfCB0cmFuc2xvY29cIlxuICAgICAgICBbZGVzY3JpcHRpb25dPVwiJ1NlYXJjaC5Ob0RhdGFEZXNjcmlwdGlvbicgfCB0cmFuc2xvY29cIj5cbiAgICAgIDwvcHctbm8tZGF0YT5cbiAgICA8L2Rpdj5cblx0PHNwYW4gY2xhc3M9XCJ0b3RhbC1yZWNvcmRzLWNvdW50XCIqbmdJZj1cIm9wZW5JbmNpZGVudHMubGVuZ3RoICE9PSAwXCIgPlRvdGFsOiB7e29wZW5JbmNpZGVudHMubGVuZ3RoIH19PC9zcGFuPlxuXHQ8L2Rpdj5cbiAgPHB3LW5vLWRhdGEgW3dpdGhJbWFnZV09XCJ0cnVlXCIgKm5nSWY9XCJ0b3RhbFJlY29yZHNVbkZpbHRlcmVkID09PSAwICYmIGlzTG9hZGVkXCJcbiAgICBbbWVzc2FnZV09XCInQWRtaW4uSW5jaWRlbnQuTm9EYXRhTWVzc2FnZScgfCB0cmFuc2xvY29cIj5cbiAgPC9wdy1uby1kYXRhPlxuPC9kaXY+XG4iXX0=
|