@posiwise/admin-module 0.0.81 → 0.0.83
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/admin-module.routing.mjs +3 -3
- package/esm2022/lib/components/TOS/terms-of-service/terms-of-service.component.mjs +3 -3
- package/esm2022/lib/components/config/global-config-list/global-config-list.component.mjs +3 -3
- package/esm2022/lib/components/contact-us/contact-us-list/contact-us-list.component.mjs +3 -3
- package/esm2022/lib/components/credentials/credentials/credentials.component.mjs +3 -3
- package/esm2022/lib/components/credentials/subscription-credentials/subscription-credentials.component.mjs +3 -3
- package/esm2022/lib/components/domain-config/domain-config-list/domain-config-list.component.mjs +3 -3
- package/esm2022/lib/components/faqs/faqs-list/faqs-list.component.mjs +4 -3
- package/esm2022/lib/components/feedback-questions/feedback-questions-list/feedback-questions-list.component.mjs +3 -3
- package/esm2022/lib/components/incidents/add-edit-incident/add-edit-incident.component.mjs +57 -53
- package/esm2022/lib/components/incidents/incidents-list/incidents-list.component.mjs +3 -3
- package/esm2022/lib/components/login-notifications/login-notifications-list/login-notifications-list.component.mjs +3 -3
- package/esm2022/lib/components/newsletters/newsletter-users-list/newsletter-users-list.component.mjs +3 -3
- package/esm2022/lib/components/newsletters/newsletters-items/newsletters-items.component.mjs +3 -3
- package/esm2022/lib/components/newsletters/newsletters-list/newsletters-list.component.mjs +3 -3
- package/esm2022/lib/components/products/products-list/products-list.component.mjs +3 -3
- package/esm2022/lib/components/products/users-list-for-product/users-list-for-product.component.mjs +3 -3
- package/esm2022/lib/components/subscriptions/subscription-agents-list/subscription-agents-list.component.mjs +3 -3
- package/esm2022/lib/components/subscriptions/subscription-products/subscription-products.component.mjs +3 -3
- package/esm2022/lib/components/subscriptions/subscription-users/subscription-users.component.mjs +3 -3
- package/esm2022/lib/components/subscriptions/subscriptions-insight/subscription-insight-nps/subscription-insight-nps.component.mjs +3 -3
- package/esm2022/lib/components/subscriptions/subscriptions-list/subscriptions-list.component.mjs +3 -3
- package/esm2022/lib/components/tags/tags-list/tags-list.component.mjs +3 -3
- package/esm2022/lib/components/tips/tips-list/tips-list.component.mjs +3 -3
- package/esm2022/lib/components/tracking/ahoy-events/ahoy-events.component.mjs +9 -8
- package/esm2022/lib/components/tracking/ahoy-messages/ahoy-messages.component.mjs +9 -10
- package/esm2022/lib/components/tracking/ahoy-visits/ahoy-visits.component.mjs +8 -9
- package/esm2022/lib/components/tracking/events/events.component.mjs +8 -9
- package/esm2022/lib/components/tracking/versions/versions.component.mjs +10 -7
- package/esm2022/lib/components/users/users-list/users-list.component.mjs +3 -3
- package/esm2022/lib/shared/routers/routers.mjs +2 -2
- package/fesm2022/posiwise-admin-module.mjs +122 -121
- package/fesm2022/posiwise-admin-module.mjs.map +1 -1
- package/lib/components/tracking/versions/versions.component.d.ts +1 -0
- package/package.json +1 -1
|
@@ -108,10 +108,10 @@ export class IncidentListComponent extends AppBaseComponent {
|
|
|
108
108
|
});
|
|
109
109
|
}
|
|
110
110
|
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 }); }
|
|
111
|
-
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 + '0']\"\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=\"showList\"\n\tclass=\"row faqlist primeng-datatable-container mt-0\">\n\t<div class=\"col-12 px-0\">\n\t\t<div *ngIf=\"!isLoaded\"\n\t\t\tclass=\"w-100 text-center mt-3\">\n\t\t\t<p-progressSpinner strokeWidth=\"2\"></p-progressSpinner>\n\t\t</div>\n\t\t<p-table #tt\n\t\t\t[paginator]=\"true\"\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[class.hideTable]=\"totalRecordsUnFiltered === 0\"\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: 50}}\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</div>\n <pw-no-data [withImage]=\"true\" *ngIf=\"totalRecordsUnFiltered === 0\"\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" }] }); }
|
|
111
|
+
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 + '0']\"\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=\"showList\"\n\tclass=\"row faqlist primeng-datatable-container mt-0\">\n\t<div class=\"col-12 px-0\">\n\t\t<div *ngIf=\"!isLoaded\"\n\t\t\tclass=\"w-100 text-center mt-3\">\n\t\t\t<p-progressSpinner strokeWidth=\"2\"></p-progressSpinner>\n\t\t</div>\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[class.hideTable]=\"totalRecordsUnFiltered === 0\"\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\"\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" }] }); }
|
|
112
112
|
}
|
|
113
113
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: IncidentListComponent, decorators: [{
|
|
114
114
|
type: Component,
|
|
115
|
-
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 + '0']\"\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=\"showList\"\n\tclass=\"row faqlist primeng-datatable-container mt-0\">\n\t<div class=\"col-12 px-0\">\n\t\t<div *ngIf=\"!isLoaded\"\n\t\t\tclass=\"w-100 text-center mt-3\">\n\t\t\t<p-progressSpinner strokeWidth=\"2\"></p-progressSpinner>\n\t\t</div>\n\t\t<p-table #tt\n\t\t\t[paginator]=\"
|
|
115
|
+
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 + '0']\"\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=\"showList\"\n\tclass=\"row faqlist primeng-datatable-container mt-0\">\n\t<div class=\"col-12 px-0\">\n\t\t<div *ngIf=\"!isLoaded\"\n\t\t\tclass=\"w-100 text-center mt-3\">\n\t\t\t<p-progressSpinner strokeWidth=\"2\"></p-progressSpinner>\n\t\t</div>\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[class.hideTable]=\"totalRecordsUnFiltered === 0\"\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\"\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"] }]
|
|
116
116
|
}], ctorParameters: () => [{ type: i0.Injector }, { type: i1.CommonService }] });
|
|
117
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5jaWRlbnRzLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hZG1pbi1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL2luY2lkZW50cy9pbmNpZGVudHMtbGlzdC9pbmNpZGVudHMtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FkbWluLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvaW5jaWRlbnRzL2luY2lkZW50cy1saXN0L2luY2lkZW50cy1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUV2RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0UsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDMUQsT0FBTyxJQUFJLE1BQU0sYUFBYSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUFPL0IsTUFBTSxPQUFPLHFCQUFzQixTQUFRLGdCQUFnQjtJQStCdkQsWUFDSSxRQUFrQixFQUNWLGFBQTRCO1FBRXBDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUZSLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBaEN4QyxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBRWhCLFlBQU8sR0FBRyxPQUFPLENBQUM7UUFNbEIsYUFBUSxHQUFHLElBQUksQ0FBQztRQUVoQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRWpCLGtCQUFhLEdB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QUNQLENBQUMsQ0FBQyxDQUFDO1lBQ1gsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzsrR0F6SFEscUJBQXFCO21HQUFyQixxQkFBcUIscUZDZmxDLGkyS0ErSUE7OzRGRGhJYSxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0ksd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3RvciwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQXBwQmFzZUNvbXBvbmVudCB9IGZyb20gJ0Bwb3Npd2lzZS9hcHAtYmFzZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29tbW9uU2VydmljZSwgUGVybWlzc2lvblNlcnZpY2UgfSBmcm9tICdAcG9zaXdpc2UvY29tbW9uLXNlcnZpY2VzJztcbmltcG9ydCB7IFBBR0VfU0laRSwgUGFnaW5nIH0gZnJvbSAnQHBvc2l3aXNlL2NvbW1vbi11dGlsaXRpZXMnO1xuaW1wb3J0IHsgSGVscGVyU2VydmljZSB9IGZyb20gJ0Bwb3Npd2lzZS9oZWxwZXItc2VydmljZSc7XG5pbXBvcnQgeyBMYXp5TG9hZEV2ZW50IH0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHsgUk9VVEVSUyB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9yb3V0ZXJzL3JvdXRlcnMnO1xuaW1wb3J0IFN3YWwgZnJvbSAnc3dlZXRhbGVydDInO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3B3LWFkbWluLWluY2lkZW50LWxpc3QnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbmNpZGVudHMtbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW5jaWRlbnRzLWxpc3QuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBJbmNpZGVudExpc3RDb21wb25lbnQgZXh0ZW5kcyBBcHBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIGxhbmRpbmcgPSBmYWxzZTtcblxuICAgIHJvdXRlcnMgPSBST1VURVJTO1xuXG4gICAgc3Vic2NyaXB0aW9uSWQ6IG51bWJlcjtcblxuICAgIGxvZ286IGFueTtcblxuICAgIHNob3dMaXN0ID0gdHJ1ZTtcblxuICAgIGlzTG9hZGVkID0gZmFsc2U7XG5cbiAgICBvcGVuSW5jaWRlbnRzID0gW107XG5cbiAgICB0b3RhbFJlY29yZHNVbkZpbHRlcmVkOiBudW1iZXI7XG5cbiAgICB0b3RhbFJlY29yZHM6IG51bWJlcjtcblxuICAgIHAxOiBudW1iZXI7XG5cbiAgICBwOiBudW1iZXI7XG5cbiAgICBwcml2YXRlIHBhZ2UgPSAxO1xuXG4gICAgc2VhcmNoVGV4dCA9ICcnO1xuXG4gICAgY29tcGFueU5hbWUgPSB0aGlzLmFwcENvbmZpZy5jb21wYW55Lm5hbWU7XG5cbiAgICBpc1N1cGVyQWRtaW4gPSB0aGlzLnBlcm1pc3Npb25TZXJ2aWNlLmlzU3VwZXJBZG1pbigpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgcHJpdmF0ZSBjb21tb25TZXJ2aWNlOiBDb21tb25TZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGluamVjdG9yKTtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25JZCA9IFBlcm1pc3Npb25TZXJ2aWNlLnNlbGVjdGVkU3Vic2NyaXB0aW9uPy5pZDtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sb2dvID0gdGhpcy5hcHBDb25maWc/LmNvbXBhbnk/LmxvZ29zPy5tYWluPy51cmw7XG4gICAgICAgIC8vIHRoaXMuZ2V0SW5jaWRlbnRzKCk7XG4gICAgfVxuXG4gICAgZ2V0SW5jaWRlbnRzKHBhZ2luZzogUGFnaW5nKSB7XG4gICAgICAgIHRoaXMuY29tbW9uU2VydmljZS5nZXRJbmNpZGVudHNBZG1pbihwYWdpbmcsIHRoaXMuc3Vic2NyaXB0aW9uSWQpLnN1YnNjcmliZShyZXNwb25zZSA9PiB7XG4gICAgICAgICAgICB0aGlzLmlzTG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMub3BlbkluY2lkZW50cyA9IHJlc3BvbnNlPy5pbmNpZGVudHM7XG4gICAgICAgICAgICB0aGlzLnRvdGFsUmVjb3Jkc1VuRmlsdGVyZWQgPSByZXNwb25zZS51bmZpbHRlcmVkX2NvdW50O1xuICAgICAgICAgICAgdGhpcy50b3RhbFJlY29yZHMgPSByZXNwb25zZS5vYmplY3RfY291bnQ7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uTGF6eUxvYWQoZXZlbnQ6IExhenlMb2FkRXZlbnQpIHtcbiAgICAgICAgY29uc3QgcGFnZURldGFpbHMgPSBIZWxwZXJTZXJ2aWNlLm9uVGFibGVMYXp5TG9hZChldmVudCk7XG4gICAgICAgIHRoaXMucGFnZSA9IHBhZ2VEZXRhaWxzLnBhZ2U7XG4gICAgICAgIHRoaXMuZ2V0SW5jaWRlbnRzKHtcbiAgICAgICAgICAgIHBhZ2U6IHRoaXMucGFnZSxcbiAgICAgICAgICAgIHBhZ2Vfc2l6ZTogUEFHRV9TSVpFLFxuICAgICAgICAgICAgb3JkZXJfYnk6IHBhZ2VEZXRhaWxzLnNvcnRGaWVsZCxcbiAgICAgICAgICAgIG9yZGVyX2RpcmVjdGlvbjogcGFnZURldGFpbHMuc29ydE9yZGVyLFxuICAgICAgICAgICAgc2VhcmNoOiB0aGlzLnNlYXJjaFRleHRcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgY2FsY3VsYXRlRHVyYXRpb24oc3RhcnRlZEF0OiBzdHJpbmcsIHJlc29sdmVkQXQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGlmICghc3RhcnRlZEF0KSB7XG4gICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc3RhcnRlZERhdGUgPSBuZXcgRGF0ZShzdGFydGVkQXQpO1xuICAgICAgICBjb25zdCByZXNvbHZlZERhdGUgPSBuZXcgRGF0ZShyZXNvbHZlZEF0KTtcblxuICAgICAgICBjb25zdCBkdXJhdGlvbk1pbnV0ZXMgPSBNYXRoLmFicyhcbiAgICAgICAgICAgIChyZXNvbHZlZERhdGUuZ2V0VGltZSgpIC0gc3RhcnRlZERhdGUuZ2V0VGltZSgpKSAvICgxMDAwICogNjApXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKGR1cmF0aW9uTWludXRlcyA8IDEpIHtcbiAgICAgICAgICAgIGNvbnN0IGR1cmF0aW9uU2Vjb25kcyA9IE1hdGguYWJzKFxuICAgICAgICAgICAgICAgIChyZXNvbHZlZERhdGUuZ2V0VGltZSgpIC0gc3RhcnRlZERhdGUuZ2V0VGltZSgpKSAvIDEwMDBcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICByZXR1cm4gYCR7TWF0aC5yb3VuZChkdXJhdGlvblNlY29uZHMpfSBzZWNvbmRzYDtcbiAgICAgICAgfSBlbHNlIGlmIChkdXJhdGlvbk1pbnV0ZXMgPCA2MCkge1xuICAgICAgICAgICAgcmV0dXJuIGAke01hdGgucm91bmQoZHVyYXRpb25NaW51dGVzKX0gbWludXRlc2A7XG4gICAgICAgIH0gZWxzZSBpZiAoZHVyYXRpb25NaW51dGVzIDwgMjQgKiA2MCkge1xuICAgICAgICAgICAgY29uc3QgZHVyYXRpb25Ib3VycyA9IGR1cmF0aW9uTWludXRlcyAvIDYwO1xuICAgICAgICAgICAgcmV0dXJuIGAke2R1cmF0aW9uSG91cnMudG9GaXhlZCgyKX0gaG91cnNgO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgZHVyYXRpb25EYXlzID0gZHVyYXRpb25NaW51dGVzIC8gKDI0ICogNjApO1xuICAgICAgICAgICAgcmV0dXJuIGAke2R1cmF0aW9uRGF5cy50b0ZpeGVkKDEpfSBkYXlzYDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5hdmlnYXRlVG9FZGl0KGluY2lkZW50KSB7XG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFt0aGlzLnJvdXRlcnMuaW5jaWRlbnREZXRhaWxzICsgaW5jaWRlbnQ/LmlkXSwge1xuICAgICAgICAgICAgc3RhdGU6IHsgZGF0YTogaW5jaWRlbnQgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvbkRlbGV0ZShpbmNpZGVudCkge1xuICAgICAgICBTd2FsLmZpcmUoe1xuICAgICAgICAgICAgdGl0bGU6ICdEZWxldGUnLFxuICAgICAgICAgICAgaHRtbDogYEFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGU/YCxcbiAgICAgICAgICAgIHNob3dDYW5jZWxCdXR0b246IHRydWUsXG4gICAgICAgICAgICByZXZlcnNlQnV0dG9uczogdHJ1ZSxcbiAgICAgICAgICAgIGljb246ICd3YXJuaW5nJ1xuICAgICAgICB9KS50aGVuKHJlcCA9PiB7XG4gICAgICAgICAgICBpZiAocmVwLnZhbHVlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb21tb25TZXJ2aWNlXG4gICAgICAgICAgICAgICAgICAgIC5kZWxldGVJbmNpZGVudEFkbWluKGluY2lkZW50LmlkLCB0aGlzLnN1YnNjcmlwdGlvbklkKVxuICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG9hc3Quc3VjY2VzcyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRyYW5zbGF0aW9uLnRyYW5zbGF0ZSgnQWRtaW4uSW5jaWRlbnQuRGVsZXRlZE1lc3NhZ2UnKVxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0SW5jaWRlbnRzKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWdlOiB0aGlzLnBhZ2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFnZV9zaXplOiBQQUdFX1NJWkUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VhcmNoOiB0aGlzLnNlYXJjaFRleHRcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInJvd1wiPlxuXHQ8ZGl2ICpyYmFjQWxsb3c9XCInUGFnZXMuQWRtaW4uSW5jaWRlbnQuQ3JlYXRlJ1wiXG5cdFx0Y2xhc3M9XCJjb2wtMTIgZC1mbGV4IGZsZXgtd3JhcCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cblx0XHQ8aDIgY2xhc3M9XCJjYXJkLXRpdGxlIHAtMCBmbG9hdC1zdGFydFwiPkluY2lkZW50czwvaDI+XG5cdFx0PGEgW3JvdXRlckxpbmtdPVwiW3JvdXRlcnMuaW5jaWRlbnREZXRhaWxzICsgJzAnXVwiXG5cdFx0XHQoY2xpY2spPVwic2hvd0xpc3QgPSAhc2hvd0xpc3RcIlxuXHRcdFx0aHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiXG5cdFx0XHRjbGFzcz1cImJ0biBidG4tc20gYnRuLW91dGxpbmUtcHJpbWFyeSBmbG9hdC1lbmRcIlxuXHRcdFx0cm9sZT1cImJ1dHRvblwiXG5cdFx0XHRhcmlhLWV4cGFuZGVkPVwiZmFsc2VcIj5cblx0XHRcdDxpIGNsYXNzPVwiZmEgZmEtcGx1cy1jaXJjbGVcIlxuXHRcdFx0XHRhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG5cdFx0XHR7eyAnTGFiZWwuQWRkTmV3JyB8IHRyYW5zbG9jbyB9fSBJbmNpZGVudFxuXHRcdDwvYT5cblx0PC9kaXY+XG48L2Rpdj5cbjxkaXYgKm5nSWY9XCJzaG93TGlzdFwiXG5cdGNsYXNzPVwicm93IGZhcWxpc3QgcHJpbWVuZy1kYXRhdGFibGUtY29udGFpbmVyIG10LTBcIj5cblx0PGRpdiBjbGFzcz1cImNvbC0xMiBweC0wXCI+XG5cdFx0PGRpdiAqbmdJZj1cIiFpc0xvYWRlZFwiXG5cdFx0XHRjbGFzcz1cInctMTAwIHRleHQtY2VudGVyIG10LTNcIj5cblx0XHRcdDxwLXByb2dyZXNzU3Bpbm5lciBzdHJva2VXaWR0aD1cIjJcIj48L3AtcHJvZ3Jlc3NTcGlubmVyPlxuXHRcdDwvZGl2PlxuXHRcdDxwLXRhYmxlICN0dFxuXHRcdFx0W3BhZ2luYXRvcl09XCJ0cnVlXCJcblx0XHRcdFtyb3dzXT1cIlBBR0VfU0laRVwiXG5cdFx0XHRbdG90YWxSZWNvcmRzXT1cInRvdGFsUmVjb3Jkc1wiXG5cdFx0XHRbbG9hZGluZ109XCJsb2FkaW5nXCJcblx0XHRcdFtsYXp5XT1cInRydWVcIlxuXHRcdFx0W2ZpbHRlckRlbGF5XT1cIjEwMDBcIlxuXHRcdFx0W2N1c3RvbVNvcnRdPVwidHJ1ZVwiXG5cdFx0XHRbdmFsdWVdPVwib3BlbkluY2lkZW50c1wiXG5cdFx0XHRbY2xhc3MuaGlkZVRhYmxlXT1cInRvdGFsUmVjb3Jkc1VuRmlsdGVyZWQgPT09IDBcIlxuXHRcdFx0KG9uTGF6eUxvYWQpPVwib25MYXp5TG9hZCgkZXZlbnQpXCI+XG5cdFx0XHQ8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiY2FwdGlvblwiPlxuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwic2VhcmNoLWZpbHRlciBqdXN0aWZ5LWNvbnRlbnQtZW5kXCI+XG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cInRleHQtZW5kXCI+XG5cdFx0XHRcdFx0XHQ8aSBjbGFzcz1cImZhIGZhLXNlYXJjaCBtdC0yIG1lLTJcIlxuXHRcdFx0XHRcdFx0XHRhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG5cdFx0XHRcdFx0XHQ8aW5wdXQgWyhuZ01vZGVsKV09XCJzZWFyY2hUZXh0XCJcblx0XHRcdFx0XHRcdFx0KGlucHV0KT1cInR0LmZpbHRlckdsb2JhbCgkZXZlbnQudGFyZ2V0LnZhbHVlLCAnY29udGFpbnMnKVwiXG5cdFx0XHRcdFx0XHRcdHR5cGU9XCJ0ZXh0XCJcblx0XHRcdFx0XHRcdFx0cElucHV0VGV4dFxuXHRcdFx0XHRcdFx0XHRzaXplPVwiNTBcIlxuXHRcdFx0XHRcdFx0XHRwbGFjZWhvbGRlcj1cIlNlYXJjaCBJbmNpZGVudC4uLlwiXG5cdFx0XHRcdFx0XHRcdGRhdGEtY3k9XCJpbmNpZGVudC1zZWFyY2hcIlxuXHRcdFx0XHRcdFx0XHRjbGFzcz1cIndkLTkwXCI+XG5cdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdDwvZGl2PlxuXHRcdFx0PC9uZy10ZW1wbGF0ZT5cblx0XHRcdDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJoZWFkZXJcIj5cblx0XHRcdFx0PHRyPlxuXHRcdFx0XHRcdDx0aCBzY29wZT1cInRydWVcIj5cblx0XHRcdFx0XHRcdHt7ICdBZG1pbi5JbmNpZGVudC5EZXNjcmlwdGlvbicgfCB0cmFuc2xvY28gfX1cblx0XHRcdFx0XHQ8L3RoPlxuXHRcdFx0XHRcdDx0aCBzY29wZT1cInRydWVcIj5cblx0XHRcdFx0XHRcdHt7ICdBZG1pbi5JbmNpZGVudC5TZXJ2aWNlSW1wYWN0ZWQnIHwgdHJhbnNsb2NvIH19XG5cdFx0XHRcdFx0PC90aD5cblx0XHRcdFx0XHQ8dGggc2NvcGU9XCJ0cnVlXCJcblx0XHRcdFx0XHRcdHBTb3J0YWJsZUNvbHVtbj1cInN0YXJ0ZWRfYXRcIj5cblx0XHRcdFx0XHRcdHt7ICdBZG1pbi5JbmNpZGVudC5TdGFydGVkQXQnIHwgdHJhbnNsb2NvIH19XG5cdFx0XHRcdFx0XHQ8cC1zb3J0SWNvbiBmaWVsZD1cInN0YXJ0ZWRfYXRcIj48L3Atc29ydEljb24+XG5cdFx0XHRcdFx0PC90aD5cblx0XHRcdFx0XHQ8dGggc2NvcGU9XCJ0cnVlXCJcblx0XHRcdFx0XHRcdHBTb3J0YWJsZUNvbHVtbj1cInJlc29sdmVkX2F0XCI+XG5cdFx0XHRcdFx0XHR7eyAnQWRtaW4uSW5jaWRlbnQuUmVzb2x2ZWRBdCcgfCB0cmFuc2xvY28gfX1cblx0XHRcdFx0XHRcdDxwLXNvcnRJY29uIGZpZWxkPVwicmVzb2x2ZWRfYXRcIj48L3Atc29ydEljb24+XG5cdFx0XHRcdFx0PC90aD5cblx0XHRcdFx0XHQ8dGggc2NvcGU9XCJ0cnVlXCJcblx0XHRcdFx0XHRcdHBTb3J0YWJsZUNvbHVtbj1cImxhc3RfY2hlY2tfYXRcIj5cblx0XHRcdFx0XHRcdHt7ICdBZG1pbi5JbmNpZGVudC5MYXN0Q2hlY2tlZEF0JyB8IHRyYW5zbG9jbyB9fVxuXHRcdFx0XHRcdFx0PHAtc29ydEljb24gZmllbGQ9XCJsYXN0X2NoZWNrX2F0XCI+PC9wLXNvcnRJY29uPlxuXHRcdFx0XHRcdDwvdGg+XG5cdFx0XHRcdFx0PHRoIHNjb3BlPVwidHJ1ZVwiPlxuXHRcdFx0XHRcdFx0e3sgJ0FkbWluLkluY2lkZW50LkR1cmF0aW9uJyB8IHRyYW5zbG9jbyB9fVxuXHRcdFx0XHRcdDwvdGg+XG5cdFx0XHRcdFx0PHRoIHNjb3BlPVwidHJ1ZVwiXG5cdFx0XHRcdFx0XHRjbGFzcz1cImFjdGlvbnMtbGlzdC10d29cIj5cblx0XHRcdFx0XHRcdHt7ICdMYWJlbC5BY3Rpb25zJyB8IHRyYW5zbG9jbyB9fVxuXHRcdFx0XHRcdDwvdGg+XG5cdFx0XHRcdDwvdHI+XG5cdFx0XHQ8L25nLXRlbXBsYXRlPlxuXHRcdFx0PG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImJvZHlcIlxuXHRcdFx0XHRsZXQtaW5jaWRlbnQ+XG5cdFx0XHRcdDx0cj5cblx0XHRcdFx0XHQ8dGQgZGF0YS1oZWFkPVwiZGVzY3JpcHRpb25cIlxuXHRcdFx0XHRcdFx0Y2xhc3M9XCJkZXNjcmlwdGlvblwiPlxuXHRcdFx0XHRcdFx0e3soaW5jaWRlbnQ/LmRlc2NyaXB0aW9uIHwgcmVtb3ZlSHRtbCl8dGV4dFRydW5jYXRlOiA1MH19XG5cdFx0XHRcdFx0PC90ZD5cblx0XHRcdFx0XHQ8dGQgZGF0YS1oZWFkPVwic2VydmljZUltcGFjdGVkXCI+XG5cdFx0XHRcdFx0XHR7eyBpbmNpZGVudD8uc2VydmljZV9pbXBhY3RlZCA/IGluY2lkZW50Py5zZXJ2aWNlX2ltcGFjdGVkIDpcbiAgICAgICAgICAgIGluY2lkZW50Py51cmxfaW1wYWN0ZWQgfX1cblx0XHRcdFx0XHQ8L3RkPlxuXHRcdFx0XHRcdDx0ZCBkYXRhLWhlYWQ9XCJzdGFydGVkQXRcIj5cblx0XHRcdFx0XHRcdDxzcGFuIGNsYXNzPVwidGV4dC1ub3dyYXBcIj5cblx0XHRcdFx0XHRcdFx0e3sgaW5jaWRlbnQ/LnN0YXJ0ZWRfYXQgfCBkYXRlOiAnZGQvTU1NL1lZWVksIGg6bW0gYScgfX1cblx0XHRcdFx0XHRcdDwvc3Bhbj5cblx0XHRcdFx0XHQ8L3RkPlxuXHRcdFx0XHRcdDx0ZCBkYXRhLWhlYWQ9XCJyZXNvbHZlZEF0XCI+XG5cdFx0XHRcdFx0XHQ8c3BhbiBjbGFzcz1cInRleHQtbm93cmFwXCI+XG5cdFx0XHRcdFx0XHRcdHt7IGluY2lkZW50Py5yZXNvbHZlZF9hdCB8IGRhdGU6ICdkZC9NTU0vWVlZWSwgaDptbSBhJyB9fVxuXHRcdFx0XHRcdFx0PC9zcGFuPlxuXHRcdFx0XHRcdDwvdGQ+XG5cdFx0XHRcdFx0PHRkIGRhdGEtaGVhZD1cImxhc3RDaGVja2VkQXRcIj5cblx0XHRcdFx0XHQ8c3BhbiBjbGFzcz1cInRleHQtbm93cmFwXCI+XG5cdFx0XHRcdFx0XHR7eyBpbmNpZGVudD8ubGFzdF9jaGVja19hdCB8IGRhdGU6ICdkZC9NTU0vWVlZWSwgaDptbSBhJyB9fVxuXHRcdFx0XHRcdDwvc3Bhbj5cblx0XHRcdFx0PC90ZD5cblx0XHRcdFx0XHQ8dGQgZGF0YS1oZWFkPVwiRHVyYXRpb25cIj5cblx0XHRcdFx0XHRcdDwhLS0ge3sgY2FsY3VsYXRlRHVyYXRpb24oaW5jaWRlbnQ/LnJlc29sdmVkX2F0ID8gaW5jaWRlbnQ/LnJlc29sdmVkX2F0IDpcbiAgICAgICAgICAgIGluY2lkZW50Py5sYXN0X2NoZWNrX2F0LCBpbmNpZGVudD8uc3RhcnRlZF9hdCkgfX0gLS0+XG5cdFx0XHRcdFx0XHR7eyBjYWxjdWxhdGVEdXJhdGlvbihpbmNpZGVudD8ucmVzb2x2ZWRfYXQsXG4gICAgICAgICAgICBpbmNpZGVudD8uc3RhcnRlZF9hdCkgfX1cblx0XHRcdFx0XHQ8L3RkPlxuXHRcdFx0XHRcdDx0ZCBkYXRhLWhlYWQ9XCJBY3Rpb25cIj5cblx0XHRcdFx0XHRcdDx1bCBjbGFzcz1cImxpc3QtdW5zdHlsZWQgbGlzdC1pbmxpbmVcIj5cblx0XHRcdFx0XHRcdFx0PGxpIG5nYlRvb2x0aXA9XCJFZGl0XCJcblx0XHRcdFx0XHRcdFx0XHRjbGFzcz1cIm1lLTIgbWUtc20tMlwiPlxuXHRcdFx0XHRcdFx0XHRcdDxpIChjbGljayk9XCJuYXZpZ2F0ZVRvRWRpdChpbmNpZGVudClcIlxuXHRcdFx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJmYSBmYS1lZGl0IGVkaXQtaWNvblwiXG5cdFx0XHRcdFx0XHRcdFx0XHRhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG5cdFx0XHRcdFx0XHRcdDwvbGk+XG5cdFx0XHRcdFx0XHRcdDxsaSBuZ2JUb29sdGlwPVwiRGVsZXRlXCJcblx0XHRcdFx0XHRcdFx0XHRjbGFzcz1cIm1lLTIgbWUtc20tMlwiPlxuXHRcdFx0XHRcdFx0XHRcdDxpIChjbGljayk9XCJvbkRlbGV0ZShpbmNpZGVudClcIlxuXHRcdFx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJmYSBmYS10cmFzaCBkZWxldGUtaWNvblwiXG5cdFx0XHRcdFx0XHRcdFx0XHRhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG5cdFx0XHRcdFx0XHRcdDwvbGk+XG5cdFx0XHRcdFx0XHQ8L3VsPlxuXHRcdFx0XHRcdDwvdGQ+XG5cdFx0XHRcdDwvdHI+XG5cdFx0XHQ8L25nLXRlbXBsYXRlPlxuXHRcdDwvcC10YWJsZT5cbiAgICA8ZGl2ICpuZ0lmPVwib3BlbkluY2lkZW50cy5sZW5ndGggPT09IDAgJiYgdG90YWxSZWNvcmRzVW5GaWx0ZXJlZCAhPT0gMFwiPlxuICAgICAgPHB3LW5vLWRhdGEgW3dpdGhJbWFnZV09XCJ0cnVlXCIgW21lc3NhZ2VdPVwiJ1NlYXJjaC5Ob0RhdGFNZXNzYWdlJyB8IHRyYW5zbG9jb1wiXG4gICAgICAgIFtkZXNjcmlwdGlvbl09XCInU2VhcmNoLk5vRGF0YURlc2NyaXB0aW9uJyB8IHRyYW5zbG9jb1wiPlxuICAgICAgPC9wdy1uby1kYXRhPlxuICAgIDwvZGl2PlxuXHQ8L2Rpdj5cbiAgPHB3LW5vLWRhdGEgW3dpdGhJbWFnZV09XCJ0cnVlXCIgKm5nSWY9XCJ0b3RhbFJlY29yZHNVbkZpbHRlcmVkID09PSAwXCJcbiAgICBbbWVzc2FnZV09XCInQWRtaW4uSW5jaWRlbnQuTm9EYXRhTWVzc2FnZScgfCB0cmFuc2xvY29cIj5cbiAgPC9wdy1uby1kYXRhPlxuPC9kaXY+XG4iXX0=
|
|
117
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5jaWRlbnRzLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hZG1pbi1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL2luY2lkZW50cy9pbmNpZGVudHMtbGlzdC9pbmNpZGVudHMtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FkbWluLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvaW5jaWRlbnRzL2luY2lkZW50cy1saXN0L2luY2lkZW50cy1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUV2RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0UsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDMUQsT0FBTyxJQUFJLE1BQU0sYUFBYSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUFNL0IsTUFBTSxPQUFPLHFCQUFzQixTQUFRLGdCQUFnQjtJQThCdkQsWUFDSSxRQUFrQixFQUNWLGFBQTRCO1FBRXBDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUZSLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBL0J4QyxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLFlBQU8sR0FBRyxPQUFPLENBQUM7UUFNbEIsYUFBUSxHQUFHLElBQUksQ0FBQztRQUVoQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRWpCLGtCQUFhLEdB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QUNQLENBQUMsQ0FBQyxDQUFDO1lBQ1gsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzsrR0F4SFEscUJBQXFCO21HQUFyQixxQkFBcUIscUZDZGxDLG8rS0FnSkE7OzRGRGxJYSxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0ksd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3RvciwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQXBwQmFzZUNvbXBvbmVudCB9IGZyb20gJ0Bwb3Npd2lzZS9hcHAtYmFzZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29tbW9uU2VydmljZSwgUGVybWlzc2lvblNlcnZpY2UgfSBmcm9tICdAcG9zaXdpc2UvY29tbW9uLXNlcnZpY2VzJztcbmltcG9ydCB7IFBBR0VfU0laRSwgUGFnaW5nIH0gZnJvbSAnQHBvc2l3aXNlL2NvbW1vbi11dGlsaXRpZXMnO1xuaW1wb3J0IHsgSGVscGVyU2VydmljZSB9IGZyb20gJ0Bwb3Npd2lzZS9oZWxwZXItc2VydmljZSc7XG5pbXBvcnQgeyBMYXp5TG9hZEV2ZW50IH0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHsgUk9VVEVSUyB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9yb3V0ZXJzL3JvdXRlcnMnO1xuaW1wb3J0IFN3YWwgZnJvbSAnc3dlZXRhbGVydDInO1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwdy1hZG1pbi1pbmNpZGVudC1saXN0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW5jaWRlbnRzLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2luY2lkZW50cy1saXN0LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgSW5jaWRlbnRMaXN0Q29tcG9uZW50IGV4dGVuZHMgQXBwQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBsYW5kaW5nID0gZmFsc2U7XG4gICAgcm91dGVycyA9IFJPVVRFUlM7XG5cbiAgICBzdWJzY3JpcHRpb25JZDogbnVtYmVyO1xuXG4gICAgbG9nbzogYW55O1xuXG4gICAgc2hvd0xpc3QgPSB0cnVlO1xuXG4gICAgaXNMb2FkZWQgPSBmYWxzZTtcblxuICAgIG9wZW5JbmNpZGVudHMgPSBbXTtcblxuICAgIHRvdGFsUmVjb3Jkc1VuRmlsdGVyZWQ6IG51bWJlcjtcblxuICAgIHRvdGFsUmVjb3JkczogbnVtYmVyO1xuXG4gICAgcDE6IG51bWJlcjtcblxuICAgIHA6IG51bWJlcjtcblxuICAgIHByaXZhdGUgcGFnZSA9IDE7XG5cbiAgICBzZWFyY2hUZXh0ID0gJyc7XG5cbiAgICBjb21wYW55TmFtZSA9IHRoaXMuYXBwQ29uZmlnLmNvbXBhbnkubmFtZTtcblxuICAgIGlzU3VwZXJBZG1pbiA9IHRoaXMucGVybWlzc2lvblNlcnZpY2UuaXNTdXBlckFkbWluKCk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBwcml2YXRlIGNvbW1vblNlcnZpY2U6IENvbW1vblNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgc3VwZXIoaW5qZWN0b3IpO1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbklkID0gUGVybWlzc2lvblNlcnZpY2Uuc2VsZWN0ZWRTdWJzY3JpcHRpb24/LmlkO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmxvZ28gPSB0aGlzLmFwcENvbmZpZz8uY29tcGFueT8ubG9nb3M/Lm1haW4/LnVybDtcbiAgICAgICAgLy8gdGhpcy5nZXRJbmNpZGVudHMoKTtcbiAgICB9XG5cbiAgICBnZXRJbmNpZGVudHMocGFnaW5nOiBQYWdpbmcpIHtcbiAgICAgICAgdGhpcy5jb21tb25TZXJ2aWNlLmdldEluY2lkZW50c0FkbWluKHBhZ2luZywgdGhpcy5zdWJzY3JpcHRpb25JZCkuc3Vic2NyaWJlKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgIHRoaXMuaXNMb2FkZWQgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5vcGVuSW5jaWRlbnRzID0gcmVzcG9uc2U/LmluY2lkZW50c1xuICAgICAgICAgICAgdGhpcy50b3RhbFJlY29yZHNVbkZpbHRlcmVkID0gcmVzcG9uc2UudW5maWx0ZXJlZF9jb3VudDtcbiAgICAgICAgICAgIHRoaXMudG90YWxSZWNvcmRzID0gcmVzcG9uc2Uub2JqZWN0X2NvdW50O1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvbkxhenlMb2FkKGV2ZW50OiBMYXp5TG9hZEV2ZW50KSB7XG4gICAgICAgIGNvbnN0IHBhZ2VEZXRhaWxzID0gSGVscGVyU2VydmljZS5vblRhYmxlTGF6eUxvYWQoZXZlbnQpO1xuICAgICAgICB0aGlzLnBhZ2UgPSBwYWdlRGV0YWlscy5wYWdlO1xuICAgICAgICB0aGlzLmdldEluY2lkZW50cyh7XG4gICAgICAgICAgICBwYWdlOiB0aGlzLnBhZ2UsXG4gICAgICAgICAgICBwYWdlX3NpemU6IFBBR0VfU0laRSxcbiAgICAgICAgICAgIG9yZGVyX2J5OiBwYWdlRGV0YWlscy5zb3J0RmllbGQsXG4gICAgICAgICAgICBvcmRlcl9kaXJlY3Rpb246IHBhZ2VEZXRhaWxzLnNvcnRPcmRlcixcbiAgICAgICAgICAgIHNlYXJjaDogdGhpcy5zZWFyY2hUZXh0XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGNhbGN1bGF0ZUR1cmF0aW9uKHN0YXJ0ZWRBdDogc3RyaW5nLCByZXNvbHZlZEF0OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBpZiAoIXN0YXJ0ZWRBdCkge1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHN0YXJ0ZWREYXRlID0gbmV3IERhdGUoc3RhcnRlZEF0KTtcbiAgICAgICAgY29uc3QgcmVzb2x2ZWREYXRlID0gbmV3IERhdGUocmVzb2x2ZWRBdCk7XG5cbiAgICAgICAgY29uc3QgZHVyYXRpb25NaW51dGVzID0gTWF0aC5hYnMoXG4gICAgICAgICAgICAocmVzb2x2ZWREYXRlLmdldFRpbWUoKSAtIHN0YXJ0ZWREYXRlLmdldFRpbWUoKSkgLyAoMTAwMCAqIDYwKVxuICAgICAgICApO1xuXG4gICAgICAgIGlmIChkdXJhdGlvbk1pbnV0ZXMgPCAxKSB7XG4gICAgICAgICAgICBjb25zdCBkdXJhdGlvblNlY29uZHMgPSBNYXRoLmFicyhcbiAgICAgICAgICAgICAgICAocmVzb2x2ZWREYXRlLmdldFRpbWUoKSAtIHN0YXJ0ZWREYXRlLmdldFRpbWUoKSkgLyAxMDAwXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgcmV0dXJuIGAke01hdGgucm91bmQoZHVyYXRpb25TZWNvbmRzKX0gc2Vjb25kc2A7XG4gICAgICAgIH0gZWxzZSBpZiAoZHVyYXRpb25NaW51dGVzIDwgNjApIHtcbiAgICAgICAgICAgIHJldHVybiBgJHtNYXRoLnJvdW5kKGR1cmF0aW9uTWludXRlcyl9IG1pbnV0ZXNgO1xuICAgICAgICB9IGVsc2UgaWYgKGR1cmF0aW9uTWludXRlcyA8IDI0ICogNjApIHtcbiAgICAgICAgICAgIGNvbnN0IGR1cmF0aW9uSG91cnMgPSBkdXJhdGlvbk1pbnV0ZXMgLyA2MDtcbiAgICAgICAgICAgIHJldHVybiBgJHtkdXJhdGlvbkhvdXJzLnRvRml4ZWQoMil9IGhvdXJzYDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGR1cmF0aW9uRGF5cyA9IGR1cmF0aW9uTWludXRlcyAvICgyNCAqIDYwKTtcbiAgICAgICAgICAgIHJldHVybiBgJHtkdXJhdGlvbkRheXMudG9GaXhlZCgxKX0gZGF5c2A7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuYXZpZ2F0ZVRvRWRpdChpbmNpZGVudCkge1xuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbdGhpcy5yb3V0ZXJzLmluY2lkZW50RGV0YWlscyArIGluY2lkZW50Py5pZF0sIHtcbiAgICAgICAgICAgIHN0YXRlOiB7IGRhdGE6IGluY2lkZW50IH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25EZWxldGUoaW5jaWRlbnQpIHtcbiAgICAgICAgU3dhbC5maXJlKHtcbiAgICAgICAgICAgIHRpdGxlOiAnRGVsZXRlJyxcbiAgICAgICAgICAgIGh0bWw6IGBBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlP2AsXG4gICAgICAgICAgICBzaG93Q2FuY2VsQnV0dG9uOiB0cnVlLFxuICAgICAgICAgICAgcmV2ZXJzZUJ1dHRvbnM6IHRydWUsXG4gICAgICAgICAgICBpY29uOiAnd2FybmluZydcbiAgICAgICAgfSkudGhlbihyZXAgPT4ge1xuICAgICAgICAgICAgaWYgKHJlcC52YWx1ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuY29tbW9uU2VydmljZVxuICAgICAgICAgICAgICAgICAgICAuZGVsZXRlSW5jaWRlbnRBZG1pbihpbmNpZGVudC5pZCwgdGhpcy5zdWJzY3JpcHRpb25JZClcbiAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRvYXN0LnN1Y2Nlc3MoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50cmFuc2xhdGlvbi50cmFuc2xhdGUoJ0FkbWluLkluY2lkZW50LkRlbGV0ZWRNZXNzYWdlJylcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmdldEluY2lkZW50cyh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFnZTogdGhpcy5wYWdlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2Vfc2l6ZTogUEFHRV9TSVpFLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlYXJjaDogdGhpcy5zZWFyY2hUZXh0XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJyb3dcIj5cblx0PGRpdiAqcmJhY0FsbG93PVwiJ1BhZ2VzLkFkbWluLkluY2lkZW50LkNyZWF0ZSdcIlxuXHRcdGNsYXNzPVwiY29sLTEyIGQtZmxleCBmbGV4LXdyYXAganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyXCI+XG5cdFx0PGgyIGNsYXNzPVwiY2FyZC10aXRsZSBwLTAgZmxvYXQtc3RhcnRcIj5JbmNpZGVudHM8L2gyPlxuXHRcdDxhIFtyb3V0ZXJMaW5rXT1cIltyb3V0ZXJzLmluY2lkZW50RGV0YWlscyArICcwJ11cIlxuXHRcdFx0KGNsaWNrKT1cInNob3dMaXN0ID0gIXNob3dMaXN0XCJcblx0XHRcdGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIlxuXHRcdFx0Y2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1vdXRsaW5lLXByaW1hcnkgZmxvYXQtZW5kXCJcblx0XHRcdHJvbGU9XCJidXR0b25cIlxuXHRcdFx0YXJpYS1leHBhbmRlZD1cImZhbHNlXCI+XG5cdFx0XHQ8aSBjbGFzcz1cImZhIGZhLXBsdXMtY2lyY2xlXCJcblx0XHRcdFx0YXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuXHRcdFx0e3sgJ0xhYmVsLkFkZE5ldycgfCB0cmFuc2xvY28gfX0gSW5jaWRlbnRcblx0XHQ8L2E+XG5cdDwvZGl2PlxuPC9kaXY+XG48ZGl2ICpuZ0lmPVwic2hvd0xpc3RcIlxuXHRjbGFzcz1cInJvdyBmYXFsaXN0IHByaW1lbmctZGF0YXRhYmxlLWNvbnRhaW5lciBtdC0wXCI+XG5cdDxkaXYgY2xhc3M9XCJjb2wtMTIgcHgtMFwiPlxuXHRcdDxkaXYgKm5nSWY9XCIhaXNMb2FkZWRcIlxuXHRcdFx0Y2xhc3M9XCJ3LTEwMCB0ZXh0LWNlbnRlciBtdC0zXCI+XG5cdFx0XHQ8cC1wcm9ncmVzc1NwaW5uZXIgc3Ryb2tlV2lkdGg9XCIyXCI+PC9wLXByb2dyZXNzU3Bpbm5lcj5cblx0XHQ8L2Rpdj5cblx0XHQ8cC10YWJsZSAjdHRcblx0XHRcdFtwYWdpbmF0b3JdPVwidG90YWxSZWNvcmRzICE9PSAwXCJcblx0XHRcdFtyb3dzXT1cIlBBR0VfU0laRVwiXG5cdFx0XHRbdG90YWxSZWNvcmRzXT1cInRvdGFsUmVjb3Jkc1wiXG5cdFx0XHRbbG9hZGluZ109XCJsb2FkaW5nXCJcblx0XHRcdFtsYXp5XT1cInRydWVcIlxuXHRcdFx0W2ZpbHRlckRlbGF5XT1cIjEwMDBcIlxuXHRcdFx0W2N1c3RvbVNvcnRdPVwidHJ1ZVwiXG5cdFx0XHRbdmFsdWVdPVwib3BlbkluY2lkZW50c1wiXG5cdFx0XHRbY2xhc3MuaGlkZVRhYmxlXT1cInRvdGFsUmVjb3Jkc1VuRmlsdGVyZWQgPT09IDBcIlxuXHRcdFx0KG9uTGF6eUxvYWQpPVwib25MYXp5TG9hZCgkZXZlbnQpXCI+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+XG4gICAgPGRpdiAqbmdJZj1cIm9wZW5JbmNpZGVudHMubGVuZ3RoID09PSAwICYmIHRvdGFsUmVjb3Jkc1VuRmlsdGVyZWQgIT09IDBcIj5cbiAgICAgIDxwdy1uby1kYXRhIFt3aXRoSW1hZ2VdPVwidHJ1ZVwiIFttZXNzYWdlXT1cIidTZWFyY2guTm9EYXRhTWVzc2FnZScgfCB0cmFuc2xvY29cIlxuICAgICAgICBbZGVzY3JpcHRpb25dPVwiJ1NlYXJjaC5Ob0RhdGFEZXNjcmlwdGlvbicgfCB0cmFuc2xvY29cIj5cbiAgICAgIDwvcHctbm8tZGF0YT5cbiAgICA8L2Rpdj5cblx0PHNwYW4gY2xhc3M9XCJ0b3RhbC1yZWNvcmRzLWNvdW50XCIqbmdJZj1cIm9wZW5JbmNpZGVudHMubGVuZ3RoICE9PSAwXCIgPlRvdGFsOiB7e29wZW5JbmNpZGVudHMubGVuZ3RoIH19PC9zcGFuPlxuXHQ8L2Rpdj5cbiAgPHB3LW5vLWRhdGEgW3dpdGhJbWFnZV09XCJ0cnVlXCIgKm5nSWY9XCJ0b3RhbFJlY29yZHNVbkZpbHRlcmVkID09PSAwXCJcbiAgICBbbWVzc2FnZV09XCInQWRtaW4uSW5jaWRlbnQuTm9EYXRhTWVzc2FnZScgfCB0cmFuc2xvY29cIj5cbiAgPC9wdy1uby1kYXRhPlxuPC9kaXY+XG4iXX0=
|
|
@@ -83,10 +83,10 @@ export class LoginNotificationsListComponent extends AppBaseComponent {
|
|
|
83
83
|
super.ngOnDestroy();
|
|
84
84
|
}
|
|
85
85
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: LoginNotificationsListComponent, deps: [{ token: i0.Injector }, { token: i1.AdminService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
86
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: LoginNotificationsListComponent, selector: "pw-login-notifications-list", usesInheritance: true, ngImport: i0, template: "<div class=\"row\">\n <div class=\"col-12 d-flex justify-content-between align-items-center text-end\">\n <h2 class=\"card-title p-0 float-start\">Login Notifications</h2>\n <button class=\"btn btn-outline-primary btn-sm float-end m-0\"\n [routerLink]=\"[routers.loginNotificationDetails + 'add']\">\n <i class=\"fa fa-plus-circle\" aria-hidden=\"true\"></i> Create\n </button>\n </div>\n</div>\n<div class=\"w-100 text-center mt-3\"\n *ngIf=\"!isLoaded\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n</div>\n<div class=\"primeng-datatable-container table-responsive mt-0\"\n [class.hideTable]=\"data.unfiltered_count === 0\">\n <p-table #tt\n [value]=\"data.notifications\"\n [paginator]=\"
|
|
86
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: LoginNotificationsListComponent, selector: "pw-login-notifications-list", usesInheritance: true, ngImport: i0, template: "<div class=\"row\">\n <div class=\"col-12 d-flex justify-content-between align-items-center text-end\">\n <h2 class=\"card-title p-0 float-start\">Login Notifications</h2>\n <button class=\"btn btn-outline-primary btn-sm float-end m-0\"\n [routerLink]=\"[routers.loginNotificationDetails + 'add']\">\n <i class=\"fa fa-plus-circle\" aria-hidden=\"true\"></i> Create\n </button>\n </div>\n</div>\n<div class=\"w-100 text-center mt-3\"\n *ngIf=\"!isLoaded\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n</div>\n<div class=\"primeng-datatable-container table-responsive mt-0\"\n [class.hideTable]=\"data.unfiltered_count === 0\">\n <p-table #tt\n [value]=\"data.notifications\"\n [paginator]=\"data.object_count !== 0\"\n [rows]=\"PAGE_SIZE\"\n [totalRecords]=\"data.object_count\"\n [loading]=\"loading\"\n [lazy]=\"true\"\n [filterDelay]=\"1000\"\n (onLazyLoad)=\"onLazyLoad($event)\"\n [customSort]=\"true\">\n <!--sort order should be default empty when page load-->\n\n <!-- Caption Header, Search Bar -->\n <ng-template pTemplate=\"caption\">\n <div class=\"text-end\">\n <i class=\"fa fa-search mt-2 me-2\" aria-hidden=\"true\"></i>\n <input type=\"text\"\n pInputText\n size=\"50\"\n placeholder=\"Search\"\n [(ngModel)]=\"searchText\"\n (input)=\"tt.filterGlobal($event.target.value, 'contains')\" />\n </div>\n </ng-template>\n\n <!-- Column Header -->\n <ng-template pTemplate=\"header\">\n <tr>\n <th scope=\"true\"\n pSortableColumn=\"notification_type\">\n {{ 'Admin.LoginNotification.NotificationType' | transloco }}\n <p-sortIcon field=\"notification_type\"></p-sortIcon>\n </th>\n <th scope=\"true\"\n pSortableColumn=\"body\">\n {{ 'Admin.LoginNotification.Body' | transloco }}\n <p-sortIcon field=\"body\"></p-sortIcon>\n </th>\n <th scope=\"true\"\n class=\"w-25\">\n {{ 'Admin.LoginNotification.FeatureKeys' | transloco }}\n </th>\n <th scope=\"true\"\n pSortableColumn=\"visible_from\">\n {{ 'Admin.LoginNotification.VisibleFrom' | transloco }}\n <p-sortIcon field=\"visible_from\"></p-sortIcon>\n </th>\n <th scope=\"true\"\n pSortableColumn=\"visible_until\">\n {{ 'Admin.LoginNotification.VisibleUntil' | transloco }}\n <p-sortIcon field=\"visible_until\"></p-sortIcon>\n </th>\n <th class=\"actions-list-two\"\n scope=\"true\">{{ 'Label.Actions' | transloco }}</th>\n </tr>\n </ng-template>\n\n <!-- Table Body -->\n <ng-template pTemplate=\"body\"\n let-item>\n <tr>\n <td data-head=\"notification_type\">{{ item?.notification_type }}</td>\n <td data-head=\"body\">{{ item?.body | textTruncate: 30 }}</td>\n <td data-head=\"feature_keys\">\n <span *ngFor=\"let data of item?.feature_keys\"\n class=\"badge m-1\"\n [appDynamicBadge]=\"{ itemsArray: item?.feature_keys, item: data }\"\n color=\"cyan\">{{ data }}</span>\n </td>\n <td data-head=\"visible_from\">{{ item?.visible_from | dateFormat }}</td>\n <td data-head=\"visible_until\">{{ item?.visible_until | dateFormat }}</td>\n <td data-head=\"Action\">\n <ul class=\"list-unstyled list-inline\">\n <li ngbTooltip=\"Edit\"\n [routerLink]=\"[routers.loginNotificationDetails + item?.id]\"\n class=\"me-2 me-sm-3\">\n <i class=\"fa fa-edit edit-icon\" aria-hidden=\"true\"></i>\n </li>\n <li ngbTooltip=\"Delete\"\n class=\"me-2 me-sm-3\"\n (click)=\"onDelete(item?.id)\">\n <i class=\"fa fa-trash delete-icon\" aria-hidden=\"true\"></i>\n </li>\n </ul>\n </td>\n </tr>\n </ng-template>\n </p-table>\n<div *ngIf=\"data.object_count === 0 && data.unfiltered_count !== 0\">\n <pw-no-data [withImage]=\"true\" [message]=\"'Search.NoDataMessage' | transloco\" [description]=\"'Search.NoDataDescription' | transloco\" >\n </pw-no-data>\n</div>\n <span *ngIf=\"data.object_count !== 0\" class=\"total-records-count\">{{ 'Label.Total' | transloco }}: {{ data.object_count }}</span>\n</div>\n<div *ngIf=\"data.unfiltered_count === 0 && isLoaded\">\n <pw-no-data [withImage]=\"true\" [message]=\"'Admin.LoginNotification.NoDataMessage' | transloco\"> </pw-no-data>\n</div>\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.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { 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.DynamicBadgeDirective, selector: "[appDynamicBadge]", inputs: ["appDynamicBadge", "color"] }, { 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: i12.TranslocoPipe, name: "transloco" }, { kind: "pipe", type: i13.DateFormatPipe, name: "dateFormat" }, { kind: "pipe", type: i13.TextTruncatePipe, name: "textTruncate" }] }); }
|
|
87
87
|
}
|
|
88
88
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: LoginNotificationsListComponent, decorators: [{
|
|
89
89
|
type: Component,
|
|
90
|
-
args: [{ selector: 'pw-login-notifications-list', template: "<div class=\"row\">\n <div class=\"col-12 d-flex justify-content-between align-items-center text-end\">\n <h2 class=\"card-title p-0 float-start\">Login Notifications</h2>\n <button class=\"btn btn-outline-primary btn-sm float-end m-0\"\n [routerLink]=\"[routers.loginNotificationDetails + 'add']\">\n <i class=\"fa fa-plus-circle\" aria-hidden=\"true\"></i> Create\n </button>\n </div>\n</div>\n<div class=\"w-100 text-center mt-3\"\n *ngIf=\"!isLoaded\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n</div>\n<div class=\"primeng-datatable-container table-responsive mt-0\"\n [class.hideTable]=\"data.unfiltered_count === 0\">\n <p-table #tt\n [value]=\"data.notifications\"\n [paginator]=\"
|
|
90
|
+
args: [{ selector: 'pw-login-notifications-list', template: "<div class=\"row\">\n <div class=\"col-12 d-flex justify-content-between align-items-center text-end\">\n <h2 class=\"card-title p-0 float-start\">Login Notifications</h2>\n <button class=\"btn btn-outline-primary btn-sm float-end m-0\"\n [routerLink]=\"[routers.loginNotificationDetails + 'add']\">\n <i class=\"fa fa-plus-circle\" aria-hidden=\"true\"></i> Create\n </button>\n </div>\n</div>\n<div class=\"w-100 text-center mt-3\"\n *ngIf=\"!isLoaded\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n</div>\n<div class=\"primeng-datatable-container table-responsive mt-0\"\n [class.hideTable]=\"data.unfiltered_count === 0\">\n <p-table #tt\n [value]=\"data.notifications\"\n [paginator]=\"data.object_count !== 0\"\n [rows]=\"PAGE_SIZE\"\n [totalRecords]=\"data.object_count\"\n [loading]=\"loading\"\n [lazy]=\"true\"\n [filterDelay]=\"1000\"\n (onLazyLoad)=\"onLazyLoad($event)\"\n [customSort]=\"true\">\n <!--sort order should be default empty when page load-->\n\n <!-- Caption Header, Search Bar -->\n <ng-template pTemplate=\"caption\">\n <div class=\"text-end\">\n <i class=\"fa fa-search mt-2 me-2\" aria-hidden=\"true\"></i>\n <input type=\"text\"\n pInputText\n size=\"50\"\n placeholder=\"Search\"\n [(ngModel)]=\"searchText\"\n (input)=\"tt.filterGlobal($event.target.value, 'contains')\" />\n </div>\n </ng-template>\n\n <!-- Column Header -->\n <ng-template pTemplate=\"header\">\n <tr>\n <th scope=\"true\"\n pSortableColumn=\"notification_type\">\n {{ 'Admin.LoginNotification.NotificationType' | transloco }}\n <p-sortIcon field=\"notification_type\"></p-sortIcon>\n </th>\n <th scope=\"true\"\n pSortableColumn=\"body\">\n {{ 'Admin.LoginNotification.Body' | transloco }}\n <p-sortIcon field=\"body\"></p-sortIcon>\n </th>\n <th scope=\"true\"\n class=\"w-25\">\n {{ 'Admin.LoginNotification.FeatureKeys' | transloco }}\n </th>\n <th scope=\"true\"\n pSortableColumn=\"visible_from\">\n {{ 'Admin.LoginNotification.VisibleFrom' | transloco }}\n <p-sortIcon field=\"visible_from\"></p-sortIcon>\n </th>\n <th scope=\"true\"\n pSortableColumn=\"visible_until\">\n {{ 'Admin.LoginNotification.VisibleUntil' | transloco }}\n <p-sortIcon field=\"visible_until\"></p-sortIcon>\n </th>\n <th class=\"actions-list-two\"\n scope=\"true\">{{ 'Label.Actions' | transloco }}</th>\n </tr>\n </ng-template>\n\n <!-- Table Body -->\n <ng-template pTemplate=\"body\"\n let-item>\n <tr>\n <td data-head=\"notification_type\">{{ item?.notification_type }}</td>\n <td data-head=\"body\">{{ item?.body | textTruncate: 30 }}</td>\n <td data-head=\"feature_keys\">\n <span *ngFor=\"let data of item?.feature_keys\"\n class=\"badge m-1\"\n [appDynamicBadge]=\"{ itemsArray: item?.feature_keys, item: data }\"\n color=\"cyan\">{{ data }}</span>\n </td>\n <td data-head=\"visible_from\">{{ item?.visible_from | dateFormat }}</td>\n <td data-head=\"visible_until\">{{ item?.visible_until | dateFormat }}</td>\n <td data-head=\"Action\">\n <ul class=\"list-unstyled list-inline\">\n <li ngbTooltip=\"Edit\"\n [routerLink]=\"[routers.loginNotificationDetails + item?.id]\"\n class=\"me-2 me-sm-3\">\n <i class=\"fa fa-edit edit-icon\" aria-hidden=\"true\"></i>\n </li>\n <li ngbTooltip=\"Delete\"\n class=\"me-2 me-sm-3\"\n (click)=\"onDelete(item?.id)\">\n <i class=\"fa fa-trash delete-icon\" aria-hidden=\"true\"></i>\n </li>\n </ul>\n </td>\n </tr>\n </ng-template>\n </p-table>\n<div *ngIf=\"data.object_count === 0 && data.unfiltered_count !== 0\">\n <pw-no-data [withImage]=\"true\" [message]=\"'Search.NoDataMessage' | transloco\" [description]=\"'Search.NoDataDescription' | transloco\" >\n </pw-no-data>\n</div>\n <span *ngIf=\"data.object_count !== 0\" class=\"total-records-count\">{{ 'Label.Total' | transloco }}: {{ data.object_count }}</span>\n</div>\n<div *ngIf=\"data.unfiltered_count === 0 && isLoaded\">\n <pw-no-data [withImage]=\"true\" [message]=\"'Admin.LoginNotification.NoDataMessage' | transloco\"> </pw-no-data>\n</div>\n" }]
|
|
91
91
|
}], ctorParameters: () => [{ type: i0.Injector }, { type: i1.AdminService }, { type: i0.ChangeDetectorRef }] });
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4tbm90aWZpY2F0aW9ucy1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYWRtaW4tbW9kdWxlL3NyYy9saWIvY29tcG9uZW50cy9sb2dpbi1ub3RpZmljYXRpb25zL2xvZ2luLW5vdGlmaWNhdGlvbnMtbGlzdC9sb2dpbi1ub3RpZmljYXRpb25zLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hZG1pbi1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL2xvZ2luLW5vdGlmaWNhdGlvbnMvbG9naW4tbm90aWZpY2F0aW9ucy1saXN0L2xvZ2luLW5vdGlmaWNhdGlvbnMtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxRQUFRLEVBR1gsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUU1RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDMUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFaEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUFNOUQsTUFBTSxPQUFPLCtCQUNULFNBQVEsZ0JBQWdCO0lBcUJ4QixZQUNJLFFBQWtCLEVBQ1YsWUFBMEIsRUFDMUIsR0FBc0I7UUFFOUIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBSFIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFyQmxDLFNBQUksR0FBOEI7WUFDOUIsYUFBYSxFQUFFLEVBQUU7WUFDakIsWUFBWSxFQUFFLENBQUM7WUFDZixnQkFBZ0IsRUFBRSxDQUFDO1NBQ3RCLENBQUM7UUFFRixlQUFVLEdBQUcsRUFBRSxDQUFDO1FBRWhCLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFFZixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRVQsU0FBSSxHQUFHLENBQUMsQ0FBQztRQUVqQixZQUFPLEdBQUcsT0FBTyxDQUFDO0lBVWxCLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLGNBQWMsR0FBRyxpQkFBaUIsQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLENBQUM7SUFDckUsQ0FBQztJQUVELGtCQUFrQjtRQUNkLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFvQjtRQUMzQixNQUFNLFdBQVcsR0FBRyxhQUFhLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxJQUFJLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQztRQUM3QixJQUFJLENBQUMscUJBQXFCLENBQUM7WUFDdkIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsU0FBUyxFQUFFLFNBQVM7WUFDcEIsUUFBUSxFQUFFLFdBQVcsQ0FBQyxTQUFTO1lBQy9CLGVBQWUsRUFBRSxXQUFXLENBQUMsU0FBUztZQUN0QyxNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVU7U0FDMUIsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLHFCQUFxQixDQUFDLE1BQWM7UUFDeEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFFdEIsSUFBSSxDQUFDLFlBQVk7YUFDWix3QkFBd0IsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQzthQUNyRCxTQUFTLENBQUMsQ0FBQyxRQUFtQyxFQUFFLEVBQUU7WUFDL0MsSUFBSSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUM7UUFDekIsQ0FBQyxDQUFDO2FBQ0QsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNOLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELFFBQVEsQ0FBQyxFQUFVO1FBQ2YsYUFBYSxDQUFDLGdCQUFnQixFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3hDLElBQUksR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNaLElBQUksQ0FBQyxZQUFZO3FCQUNaLHVCQUF1QixDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDO3FCQUNoRCxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQ2IsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO29CQUNqQyxJQUFJLENBQUMscUJBQXFCLENBQUM7d0JBQ3ZCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTt3QkFDZixTQUFTLEVBQUUsU0FBUztxQkFDdkIsQ0FBQyxDQUFDO2dCQUNQLENBQUMsQ0FBQyxDQUFDO1lBQ1gsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVRLFdBQVc7UUFDaEIsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7K0dBbEZRLCtCQUErQjttR0FBL0IsK0JBQStCLDBGQ3ZCNUMsKzdJQWdIQTs7NEZEekZhLCtCQUErQjtrQkFKM0MsU0FBUzsrQkFDSSw2QkFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0NoZWNrZWQsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEluamVjdG9yLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMYXp5TG9hZEV2ZW50IH0gZnJvbSAncHJpbWVuZy9hcGknO1xuXG5pbXBvcnQgeyBQQUdFX1NJWkUgfSBmcm9tICdAcG9zaXdpc2UvY29tbW9uLXV0aWxpdGllcyc7XG5pbXBvcnQgeyBBZG1pblNlcnZpY2UgfSBmcm9tICdAcG9zaXdpc2UvYWRtaW4tbW9kdWxlLXV0aWxzJztcbmltcG9ydCB7IExvZ2luTm90aWZpY2F0aW9uUmVzcG9uc2UgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvaW50ZXJmYWNlL2xvZ2luLW5vdGlmaWNhdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUk9VVEVSUyB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9yb3V0ZXJzL3JvdXRlcnMnO1xuaW1wb3J0IHsgQXBwQmFzZUNvbXBvbmVudCB9IGZyb20gJ0Bwb3Npd2lzZS9hcHAtYmFzZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgUGFnaW5nIH0gZnJvbSAnQHBvc2l3aXNlL2NvbW1vbi11dGlsaXRpZXMnO1xuaW1wb3J0IHsgSGVscGVyU2VydmljZSB9IGZyb20gJ0Bwb3Npd2lzZS9oZWxwZXItc2VydmljZSc7XG5pbXBvcnQgeyBQZXJtaXNzaW9uU2VydmljZSB9IGZyb20gJ0Bwb3Npd2lzZS9jb21tb24tc2VydmljZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3B3LWxvZ2luLW5vdGlmaWNhdGlvbnMtbGlzdCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2xvZ2luLW5vdGlmaWNhdGlvbnMtbGlzdC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgTG9naW5Ob3RpZmljYXRpb25zTGlzdENvbXBvbmVudFxuICAgIGV4dGVuZHMgQXBwQmFzZUNvbXBvbmVudFxuICAgIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0NoZWNrZWRcbntcbiAgICBkYXRhOiBMb2dpbk5vdGlmaWNhdGlvblJlc3BvbnNlID0ge1xuICAgICAgICBub3RpZmljYXRpb25zOiBbXSxcbiAgICAgICAgb2JqZWN0X2NvdW50OiAwLFxuICAgICAgICB1bmZpbHRlcmVkX2NvdW50OiAwXG4gICAgfTtcblxuICAgIHNlYXJjaFRleHQgPSAnJztcblxuICAgIGxvYWRpbmcgPSB0cnVlO1xuXG4gICAgaXNMb2FkZWQgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgcGFnZSA9IDE7XG5cbiAgICByb3V0ZXJzID0gUk9VVEVSUztcblxuICAgIHN1YnNjcmlwdGlvbklkOiBudW1iZXI7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBwcml2YXRlIGFkbWluU2VydmljZTogQWRtaW5TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgICApIHtcbiAgICAgICAgc3VwZXIoaW5qZWN0b3IpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbklkID0gUGVybWlzc2lvblNlcnZpY2Uuc2VsZWN0ZWRTdWJzY3JpcHRpb24/LmlkO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpIHtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIG9uTGF6eUxvYWQoZXZlbnQ6IExhenlMb2FkRXZlbnQpIHtcbiAgICAgICAgY29uc3QgcGFnZURldGFpbHMgPSBIZWxwZXJTZXJ2aWNlLm9uVGFibGVMYXp5TG9hZChldmVudCk7XG4gICAgICAgIHRoaXMucGFnZSA9IHBhZ2VEZXRhaWxzLnBhZ2U7XG4gICAgICAgIHRoaXMuZ2V0TG9naW5Ob3RpZmljYXRpb25zKHtcbiAgICAgICAgICAgIHBhZ2U6IHRoaXMucGFnZSxcbiAgICAgICAgICAgIHBhZ2Vfc2l6ZTogUEFHRV9TSVpFLFxuICAgICAgICAgICAgb3JkZXJfYnk6IHBhZ2VEZXRhaWxzLnNvcnRGaWVsZCxcbiAgICAgICAgICAgIG9yZGVyX2RpcmVjdGlvbjogcGFnZURldGFpbHMuc29ydE9yZGVyLFxuICAgICAgICAgICAgc2VhcmNoOiB0aGlzLnNlYXJjaFRleHRcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRMb2dpbk5vdGlmaWNhdGlvbnMocGFnaW5nOiBQYWdpbmcpIHtcbiAgICAgICAgdGhpcy5pc0xvYWRlZCA9IGZhbHNlO1xuXG4gICAgICAgIHRoaXMuYWRtaW5TZXJ2aWNlXG4gICAgICAgICAgICAuZ2V0QWxsTG9naW5Ob3RpZmljYXRpb25zKHBhZ2luZywgdGhpcy5zdWJzY3JpcHRpb25JZClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHJlc3BvbnNlOiBMb2dpbk5vdGlmaWNhdGlvblJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5kYXRhID0gcmVzcG9uc2U7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmFkZCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvbkRlbGV0ZShpZDogbnVtYmVyKSB7XG4gICAgICAgIEhlbHBlclNlcnZpY2UucmFpc2VEZWxldGVQb3B1cCgpLnRoZW4ocmVwID0+IHtcbiAgICAgICAgICAgIGlmIChyZXAudmFsdWUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFkbWluU2VydmljZVxuICAgICAgICAgICAgICAgICAgICAuZGVsZXRlTG9naW5Ob3RpZmljYXRpb24oaWQsIHRoaXMuc3Vic2NyaXB0aW9uSWQpXG4gICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG9hc3Quc3VjY2VzcyhyZXM/Lm1lc3NhZ2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXRMb2dpbk5vdGlmaWNhdGlvbnMoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2U6IHRoaXMucGFnZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWdlX3NpemU6IFBBR0VfU0laRVxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvdmVycmlkZSBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicm93XCI+XG4gIDxkaXYgY2xhc3M9XCJjb2wtMTIgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlciB0ZXh0LWVuZFwiPlxuICAgIDxoMiBjbGFzcz1cImNhcmQtdGl0bGUgcC0wIGZsb2F0LXN0YXJ0XCI+TG9naW4gTm90aWZpY2F0aW9uczwvaDI+XG4gICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tb3V0bGluZS1wcmltYXJ5IGJ0bi1zbSBmbG9hdC1lbmQgbS0wXCJcbiAgICAgIFtyb3V0ZXJMaW5rXT1cIltyb3V0ZXJzLmxvZ2luTm90aWZpY2F0aW9uRGV0YWlscyArICdhZGQnXVwiPlxuICAgICAgPGkgY2xhc3M9XCJmYSBmYS1wbHVzLWNpcmNsZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT4gQ3JlYXRlXG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwidy0xMDAgdGV4dC1jZW50ZXIgbXQtM1wiXG4gICpuZ0lmPVwiIWlzTG9hZGVkXCI+XG4gIDxwLXByb2dyZXNzU3Bpbm5lciBzdHJva2VXaWR0aD1cIjJcIj4gPC9wLXByb2dyZXNzU3Bpbm5lcj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cInByaW1lbmctZGF0YXRhYmxlLWNvbnRhaW5lciB0YWJsZS1yZXNwb25zaXZlIG10LTBcIlxuICBbY2xhc3MuaGlkZVRhYmxlXT1cImRhdGEudW5maWx0ZXJlZF9jb3VudCA9PT0gMFwiPlxuICA8cC10YWJsZSAjdHRcbiAgICBbdmFsdWVdPVwiZGF0YS5ub3RpZmljYXRpb25zXCJcbiAgICBbcGFnaW5hdG9yXT1cInRydWVcIlxuICAgIFtyb3dzXT1cIlBBR0VfU0laRVwiXG4gICAgW3RvdGFsUmVjb3Jkc109XCJkYXRhLm9iamVjdF9jb3VudFwiXG4gICAgW2xvYWRpbmddPVwibG9hZGluZ1wiXG4gICAgW2xhenldPVwidHJ1ZVwiXG4gICAgW2ZpbHRlckRlbGF5XT1cIjEwMDBcIlxuICAgIChvbkxhenlMb2FkKT1cIm9uTGF6eUxvYWQoJGV2ZW50KVwiXG4gICAgW2N1c3RvbVNvcnRdPVwidHJ1ZVwiPlxuICAgIDwhLS1zb3J0IG9yZGVyIHNob3VsZCBiZSBkZWZhdWx0IGVtcHR5IHdoZW4gcGFnZSBsb2FkLS0+XG5cbiAgICA8IS0tIENhcHRpb24gSGVhZGVyLCBTZWFyY2ggQmFyIC0tPlxuICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJjYXB0aW9uXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwidGV4dC1lbmRcIj5cbiAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1zZWFyY2ggbXQtMiBtZS0yXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIlxuICAgICAgICAgIHBJbnB1dFRleHRcbiAgICAgICAgICBzaXplPVwiNTBcIlxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU2VhcmNoXCJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlYXJjaFRleHRcIlxuICAgICAgICAgIChpbnB1dCk9XCJ0dC5maWx0ZXJHbG9iYWwoJGV2ZW50LnRhcmdldC52YWx1ZSwgJ2NvbnRhaW5zJylcIiAvPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgIDwhLS0gQ29sdW1uIEhlYWRlciAtLT5cbiAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaGVhZGVyXCI+XG4gICAgICA8dHI+XG4gICAgICAgIDx0aCBzY29wZT1cInRydWVcIlxuICAgICAgICAgIHBTb3J0YWJsZUNvbHVtbj1cIm5vdGlmaWNhdGlvbl90eXBlXCI+XG4gICAgICAgICAge3sgJ0FkbWluLkxvZ2luTm90aWZpY2F0aW9uLk5vdGlmaWNhdGlvblR5cGUnIHwgdHJhbnNsb2NvIH19XG4gICAgICAgICAgPHAtc29ydEljb24gZmllbGQ9XCJub3RpZmljYXRpb25fdHlwZVwiPjwvcC1zb3J0SWNvbj5cbiAgICAgICAgPC90aD5cbiAgICAgICAgPHRoIHNjb3BlPVwidHJ1ZVwiXG4gICAgICAgICAgcFNvcnRhYmxlQ29sdW1uPVwiYm9keVwiPlxuICAgICAgICAgIHt7ICdBZG1pbi5Mb2dpbk5vdGlmaWNhdGlvbi5Cb2R5JyB8IHRyYW5zbG9jbyB9fVxuICAgICAgICAgIDxwLXNvcnRJY29uIGZpZWxkPVwiYm9keVwiPjwvcC1zb3J0SWNvbj5cbiAgICAgICAgPC90aD5cbiAgICAgICAgPHRoIHNjb3BlPVwidHJ1ZVwiXG4gICAgICAgICAgY2xhc3M9XCJ3LTI1XCI+XG4gICAgICAgICAge3sgJ0FkbWluLkxvZ2luTm90aWZpY2F0aW9uLkZlYXR1cmVLZXlzJyB8IHRyYW5zbG9jbyB9fVxuICAgICAgICA8L3RoPlxuICAgICAgICA8dGggc2NvcGU9XCJ0cnVlXCJcbiAgICAgICAgICBwU29ydGFibGVDb2x1bW49XCJ2aXNpYmxlX2Zyb21cIj5cbiAgICAgICAgICB7eyAnQWRtaW4uTG9naW5Ob3RpZmljYXRpb24uVmlzaWJsZUZyb20nIHwgdHJhbnNsb2NvIH19XG4gICAgICAgICAgPHAtc29ydEljb24gZmllbGQ9XCJ2aXNpYmxlX2Zyb21cIj48L3Atc29ydEljb24+XG4gICAgICAgIDwvdGg+XG4gICAgICAgIDx0aCBzY29wZT1cInRydWVcIlxuICAgICAgICAgIHBTb3J0YWJsZUNvbHVtbj1cInZpc2libGVfdW50aWxcIj5cbiAgICAgICAgICB7eyAnQWRtaW4uTG9naW5Ob3RpZmljYXRpb24uVmlzaWJsZVVudGlsJyB8IHRyYW5zbG9jbyB9fVxuICAgICAgICAgIDxwLXNvcnRJY29uIGZpZWxkPVwidmlzaWJsZV91bnRpbFwiPjwvcC1zb3J0SWNvbj5cbiAgICAgICAgPC90aD5cbiAgICAgICAgPHRoIGNsYXNzPVwiYWN0aW9ucy1saXN0LXR3b1wiXG4gICAgICAgICAgc2NvcGU9XCJ0cnVlXCI+e3sgJ0xhYmVsLkFjdGlvbnMnIHwgdHJhbnNsb2NvIH19PC90aD5cbiAgICAgIDwvdHI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgIDwhLS0gVGFibGUgQm9keSAtLT5cbiAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiYm9keVwiXG4gICAgICBsZXQtaXRlbT5cbiAgICAgIDx0cj5cbiAgICAgICAgPHRkIGRhdGEtaGVhZD1cIm5vdGlmaWNhdGlvbl90eXBlXCI+e3sgaXRlbT8ubm90aWZpY2F0aW9uX3R5cGUgfX08L3RkPlxuICAgICAgICA8dGQgZGF0YS1oZWFkPVwiYm9keVwiPnt7IGl0ZW0/LmJvZHkgfCB0ZXh0VHJ1bmNhdGU6IDMwIH19PC90ZD5cbiAgICAgICAgPHRkIGRhdGEtaGVhZD1cImZlYXR1cmVfa2V5c1wiPlxuICAgICAgICAgIDxzcGFuICpuZ0Zvcj1cImxldCBkYXRhIG9mIGl0ZW0/LmZlYXR1cmVfa2V5c1wiXG4gICAgICAgICAgICBjbGFzcz1cImJhZGdlIG0tMVwiXG4gICAgICAgICAgICBbYXBwRHluYW1pY0JhZGdlXT1cInsgaXRlbXNBcnJheTogaXRlbT8uZmVhdHVyZV9rZXlzLCBpdGVtOiBkYXRhIH1cIlxuICAgICAgICAgICAgY29sb3I9XCJjeWFuXCI+e3sgZGF0YSB9fTwvc3Bhbj5cbiAgICAgICAgPC90ZD5cbiAgICAgICAgPHRkIGRhdGEtaGVhZD1cInZpc2libGVfZnJvbVwiPnt7IGl0ZW0/LnZpc2libGVfZnJvbSB8IGRhdGVGb3JtYXQgfX08L3RkPlxuICAgICAgICA8dGQgZGF0YS1oZWFkPVwidmlzaWJsZV91bnRpbFwiPnt7IGl0ZW0/LnZpc2libGVfdW50aWwgfCBkYXRlRm9ybWF0IH19PC90ZD5cbiAgICAgICAgPHRkIGRhdGEtaGVhZD1cIkFjdGlvblwiPlxuICAgICAgICAgIDx1bCBjbGFzcz1cImxpc3QtdW5zdHlsZWQgbGlzdC1pbmxpbmVcIj5cbiAgICAgICAgICAgIDxsaSBuZ2JUb29sdGlwPVwiRWRpdFwiXG4gICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIltyb3V0ZXJzLmxvZ2luTm90aWZpY2F0aW9uRGV0YWlscyArIGl0ZW0/LmlkXVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwibWUtMiBtZS1zbS0zXCI+XG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtZWRpdCBlZGl0LWljb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgPGxpIG5nYlRvb2x0aXA9XCJEZWxldGVcIlxuICAgICAgICAgICAgICBjbGFzcz1cIm1lLTIgbWUtc20tM1wiXG4gICAgICAgICAgICAgIChjbGljayk9XCJvbkRlbGV0ZShpdGVtPy5pZClcIj5cbiAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS10cmFzaCBkZWxldGUtaWNvblwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgPC91bD5cbiAgICAgICAgPC90ZD5cbiAgICAgIDwvdHI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9wLXRhYmxlPlxuPGRpdiAqbmdJZj1cImRhdGEub2JqZWN0X2NvdW50ID09PSAwICYmIGRhdGEudW5maWx0ZXJlZF9jb3VudCAhPT0gMFwiPlxuICAgIDxwdy1uby1kYXRhIFt3aXRoSW1hZ2VdPVwidHJ1ZVwiIFttZXNzYWdlXT1cIidTZWFyY2guTm9EYXRhTWVzc2FnZScgfCB0cmFuc2xvY29cIiBbZGVzY3JpcHRpb25dPVwiJ1NlYXJjaC5Ob0RhdGFEZXNjcmlwdGlvbicgfCB0cmFuc2xvY29cIiA+XG4gICAgPC9wdy1uby1kYXRhPlxuPC9kaXY+XG4gIDxzcGFuIGNsYXNzPVwidG90YWwtcmVjb3Jkcy1jb3VudFwiPnt7ICdMYWJlbC5Ub3RhbCcgfCB0cmFuc2xvY28gfX06IHt7IGRhdGEub2JqZWN0X2NvdW50IH19PC9zcGFuPlxuPC9kaXY+XG48ZGl2ICpuZ0lmPVwiZGF0YS51bmZpbHRlcmVkX2NvdW50ID09PSAwICYmIGlzTG9hZGVkXCI+XG4gIDxwdy1uby1kYXRhIFt3aXRoSW1hZ2VdPVwidHJ1ZVwiIFttZXNzYWdlXT1cIidBZG1pbi5Mb2dpbk5vdGlmaWNhdGlvbi5Ob0RhdGFNZXNzYWdlJyB8IHRyYW5zbG9jb1wiPiA8L3B3LW5vLWRhdGE+XG48L2Rpdj5cbiJdfQ==
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4tbm90aWZpY2F0aW9ucy1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYWRtaW4tbW9kdWxlL3NyYy9saWIvY29tcG9uZW50cy9sb2dpbi1ub3RpZmljYXRpb25zL2xvZ2luLW5vdGlmaWNhdGlvbnMtbGlzdC9sb2dpbi1ub3RpZmljYXRpb25zLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hZG1pbi1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL2xvZ2luLW5vdGlmaWNhdGlvbnMvbG9naW4tbm90aWZpY2F0aW9ucy1saXN0L2xvZ2luLW5vdGlmaWNhdGlvbnMtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxRQUFRLEVBR1gsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUU1RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDMUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFaEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUFNOUQsTUFBTSxPQUFPLCtCQUNULFNBQVEsZ0JBQWdCO0lBcUJ4QixZQUNJLFFBQWtCLEVBQ1YsWUFBMEIsRUFDMUIsR0FBc0I7UUFFOUIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBSFIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFyQmxDLFNBQUksR0FBOEI7WUFDOUIsYUFBYSxFQUFFLEVBQUU7WUFDakIsWUFBWSxFQUFFLENBQUM7WUFDZixnQkFBZ0IsRUFBRSxDQUFDO1NBQ3RCLENBQUM7UUFFRixlQUFVLEdBQUcsRUFBRSxDQUFDO1FBRWhCLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFFZixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRVQsU0FBSSxHQUFHLENBQUMsQ0FBQztRQUVqQixZQUFPLEdBQUcsT0FBTyxDQUFDO0lBVWxCLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLGNBQWMsR0FBRyxpQkFBaUIsQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLENBQUM7SUFDckUsQ0FBQztJQUVELGtCQUFrQjtRQUNkLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFvQjtRQUMzQixNQUFNLFdBQVcsR0FBRyxhQUFhLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxJQUFJLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQztRQUM3QixJQUFJLENBQUMscUJBQXFCLENBQUM7WUFDdkIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsU0FBUyxFQUFFLFNBQVM7WUFDcEIsUUFBUSxFQUFFLFdBQVcsQ0FBQyxTQUFTO1lBQy9CLGVBQWUsRUFBRSxXQUFXLENBQUMsU0FBUztZQUN0QyxNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVU7U0FDMUIsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLHFCQUFxQixDQUFDLE1BQWM7UUFDeEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFFdEIsSUFBSSxDQUFDLFlBQVk7YUFDWix3QkFBd0IsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQzthQUNyRCxTQUFTLENBQUMsQ0FBQyxRQUFtQyxFQUFFLEVBQUU7WUFDL0MsSUFBSSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUM7UUFDekIsQ0FBQyxDQUFDO2FBQ0QsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNOLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELFFBQVEsQ0FBQyxFQUFVO1FBQ2YsYUFBYSxDQUFDLGdCQUFnQixFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3hDLElBQUksR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNaLElBQUksQ0FBQyxZQUFZO3FCQUNaLHVCQUF1QixDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDO3FCQUNoRCxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQ2IsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO29CQUNqQyxJQUFJLENBQUMscUJBQXFCLENBQUM7d0JBQ3ZCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTt3QkFDZixTQUFTLEVBQUUsU0FBUztxQkFDdkIsQ0FBQyxDQUFDO2dCQUNQLENBQUMsQ0FBQyxDQUFDO1lBQ1gsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVRLFdBQVc7UUFDaEIsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7K0dBbEZRLCtCQUErQjttR0FBL0IsK0JBQStCLDBGQ3ZCNUMscS9JQWdIQTs7NEZEekZhLCtCQUErQjtrQkFKM0MsU0FBUzsrQkFDSSw2QkFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0NoZWNrZWQsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEluamVjdG9yLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMYXp5TG9hZEV2ZW50IH0gZnJvbSAncHJpbWVuZy9hcGknO1xuXG5pbXBvcnQgeyBQQUdFX1NJWkUgfSBmcm9tICdAcG9zaXdpc2UvY29tbW9uLXV0aWxpdGllcyc7XG5pbXBvcnQgeyBBZG1pblNlcnZpY2UgfSBmcm9tICdAcG9zaXdpc2UvYWRtaW4tbW9kdWxlLXV0aWxzJztcbmltcG9ydCB7IExvZ2luTm90aWZpY2F0aW9uUmVzcG9uc2UgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvaW50ZXJmYWNlL2xvZ2luLW5vdGlmaWNhdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUk9VVEVSUyB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9yb3V0ZXJzL3JvdXRlcnMnO1xuaW1wb3J0IHsgQXBwQmFzZUNvbXBvbmVudCB9IGZyb20gJ0Bwb3Npd2lzZS9hcHAtYmFzZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgUGFnaW5nIH0gZnJvbSAnQHBvc2l3aXNlL2NvbW1vbi11dGlsaXRpZXMnO1xuaW1wb3J0IHsgSGVscGVyU2VydmljZSB9IGZyb20gJ0Bwb3Npd2lzZS9oZWxwZXItc2VydmljZSc7XG5pbXBvcnQgeyBQZXJtaXNzaW9uU2VydmljZSB9IGZyb20gJ0Bwb3Npd2lzZS9jb21tb24tc2VydmljZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3B3LWxvZ2luLW5vdGlmaWNhdGlvbnMtbGlzdCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2xvZ2luLW5vdGlmaWNhdGlvbnMtbGlzdC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgTG9naW5Ob3RpZmljYXRpb25zTGlzdENvbXBvbmVudFxuICAgIGV4dGVuZHMgQXBwQmFzZUNvbXBvbmVudFxuICAgIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0NoZWNrZWRcbntcbiAgICBkYXRhOiBMb2dpbk5vdGlmaWNhdGlvblJlc3BvbnNlID0ge1xuICAgICAgICBub3RpZmljYXRpb25zOiBbXSxcbiAgICAgICAgb2JqZWN0X2NvdW50OiAwLFxuICAgICAgICB1bmZpbHRlcmVkX2NvdW50OiAwXG4gICAgfTtcblxuICAgIHNlYXJjaFRleHQgPSAnJztcblxuICAgIGxvYWRpbmcgPSB0cnVlO1xuXG4gICAgaXNMb2FkZWQgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgcGFnZSA9IDE7XG5cbiAgICByb3V0ZXJzID0gUk9VVEVSUztcblxuICAgIHN1YnNjcmlwdGlvbklkOiBudW1iZXI7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBwcml2YXRlIGFkbWluU2VydmljZTogQWRtaW5TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgICApIHtcbiAgICAgICAgc3VwZXIoaW5qZWN0b3IpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbklkID0gUGVybWlzc2lvblNlcnZpY2Uuc2VsZWN0ZWRTdWJzY3JpcHRpb24/LmlkO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpIHtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIG9uTGF6eUxvYWQoZXZlbnQ6IExhenlMb2FkRXZlbnQpIHtcbiAgICAgICAgY29uc3QgcGFnZURldGFpbHMgPSBIZWxwZXJTZXJ2aWNlLm9uVGFibGVMYXp5TG9hZChldmVudCk7XG4gICAgICAgIHRoaXMucGFnZSA9IHBhZ2VEZXRhaWxzLnBhZ2U7XG4gICAgICAgIHRoaXMuZ2V0TG9naW5Ob3RpZmljYXRpb25zKHtcbiAgICAgICAgICAgIHBhZ2U6IHRoaXMucGFnZSxcbiAgICAgICAgICAgIHBhZ2Vfc2l6ZTogUEFHRV9TSVpFLFxuICAgICAgICAgICAgb3JkZXJfYnk6IHBhZ2VEZXRhaWxzLnNvcnRGaWVsZCxcbiAgICAgICAgICAgIG9yZGVyX2RpcmVjdGlvbjogcGFnZURldGFpbHMuc29ydE9yZGVyLFxuICAgICAgICAgICAgc2VhcmNoOiB0aGlzLnNlYXJjaFRleHRcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRMb2dpbk5vdGlmaWNhdGlvbnMocGFnaW5nOiBQYWdpbmcpIHtcbiAgICAgICAgdGhpcy5pc0xvYWRlZCA9IGZhbHNlO1xuXG4gICAgICAgIHRoaXMuYWRtaW5TZXJ2aWNlXG4gICAgICAgICAgICAuZ2V0QWxsTG9naW5Ob3RpZmljYXRpb25zKHBhZ2luZywgdGhpcy5zdWJzY3JpcHRpb25JZClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHJlc3BvbnNlOiBMb2dpbk5vdGlmaWNhdGlvblJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5kYXRhID0gcmVzcG9uc2U7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmFkZCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvbkRlbGV0ZShpZDogbnVtYmVyKSB7XG4gICAgICAgIEhlbHBlclNlcnZpY2UucmFpc2VEZWxldGVQb3B1cCgpLnRoZW4ocmVwID0+IHtcbiAgICAgICAgICAgIGlmIChyZXAudmFsdWUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFkbWluU2VydmljZVxuICAgICAgICAgICAgICAgICAgICAuZGVsZXRlTG9naW5Ob3RpZmljYXRpb24oaWQsIHRoaXMuc3Vic2NyaXB0aW9uSWQpXG4gICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG9hc3Quc3VjY2VzcyhyZXM/Lm1lc3NhZ2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXRMb2dpbk5vdGlmaWNhdGlvbnMoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2U6IHRoaXMucGFnZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWdlX3NpemU6IFBBR0VfU0laRVxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvdmVycmlkZSBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicm93XCI+XG4gIDxkaXYgY2xhc3M9XCJjb2wtMTIgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlciB0ZXh0LWVuZFwiPlxuICAgIDxoMiBjbGFzcz1cImNhcmQtdGl0bGUgcC0wIGZsb2F0LXN0YXJ0XCI+TG9naW4gTm90aWZpY2F0aW9uczwvaDI+XG4gICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tb3V0bGluZS1wcmltYXJ5IGJ0bi1zbSBmbG9hdC1lbmQgbS0wXCJcbiAgICAgIFtyb3V0ZXJMaW5rXT1cIltyb3V0ZXJzLmxvZ2luTm90aWZpY2F0aW9uRGV0YWlscyArICdhZGQnXVwiPlxuICAgICAgPGkgY2xhc3M9XCJmYSBmYS1wbHVzLWNpcmNsZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT4gQ3JlYXRlXG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwidy0xMDAgdGV4dC1jZW50ZXIgbXQtM1wiXG4gICpuZ0lmPVwiIWlzTG9hZGVkXCI+XG4gIDxwLXByb2dyZXNzU3Bpbm5lciBzdHJva2VXaWR0aD1cIjJcIj4gPC9wLXByb2dyZXNzU3Bpbm5lcj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cInByaW1lbmctZGF0YXRhYmxlLWNvbnRhaW5lciB0YWJsZS1yZXNwb25zaXZlIG10LTBcIlxuICBbY2xhc3MuaGlkZVRhYmxlXT1cImRhdGEudW5maWx0ZXJlZF9jb3VudCA9PT0gMFwiPlxuICA8cC10YWJsZSAjdHRcbiAgICBbdmFsdWVdPVwiZGF0YS5ub3RpZmljYXRpb25zXCJcbiAgICBbcGFnaW5hdG9yXT1cImRhdGEub2JqZWN0X2NvdW50ICE9PSAwXCJcbiAgICBbcm93c109XCJQQUdFX1NJWkVcIlxuICAgIFt0b3RhbFJlY29yZHNdPVwiZGF0YS5vYmplY3RfY291bnRcIlxuICAgIFtsb2FkaW5nXT1cImxvYWRpbmdcIlxuICAgIFtsYXp5XT1cInRydWVcIlxuICAgIFtmaWx0ZXJEZWxheV09XCIxMDAwXCJcbiAgICAob25MYXp5TG9hZCk9XCJvbkxhenlMb2FkKCRldmVudClcIlxuICAgIFtjdXN0b21Tb3J0XT1cInRydWVcIj5cbiAgICA8IS0tc29ydCBvcmRlciBzaG91bGQgYmUgZGVmYXVsdCBlbXB0eSB3aGVuIHBhZ2UgbG9hZC0tPlxuXG4gICAgPCEtLSBDYXB0aW9uIEhlYWRlciwgU2VhcmNoIEJhciAtLT5cbiAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiY2FwdGlvblwiPlxuICAgICAgPGRpdiBjbGFzcz1cInRleHQtZW5kXCI+XG4gICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtc2VhcmNoIG10LTIgbWUtMlwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cbiAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICBwSW5wdXRUZXh0XG4gICAgICAgICAgc2l6ZT1cIjUwXCJcbiAgICAgICAgICBwbGFjZWhvbGRlcj1cIlNlYXJjaFwiXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJzZWFyY2hUZXh0XCJcbiAgICAgICAgICAoaW5wdXQpPVwidHQuZmlsdGVyR2xvYmFsKCRldmVudC50YXJnZXQudmFsdWUsICdjb250YWlucycpXCIgLz5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8IS0tIENvbHVtbiBIZWFkZXIgLS0+XG4gICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImhlYWRlclwiPlxuICAgICAgPHRyPlxuICAgICAgICA8dGggc2NvcGU9XCJ0cnVlXCJcbiAgICAgICAgICBwU29ydGFibGVDb2x1bW49XCJub3RpZmljYXRpb25fdHlwZVwiPlxuICAgICAgICAgIHt7ICdBZG1pbi5Mb2dpbk5vdGlmaWNhdGlvbi5Ob3RpZmljYXRpb25UeXBlJyB8IHRyYW5zbG9jbyB9fVxuICAgICAgICAgIDxwLXNvcnRJY29uIGZpZWxkPVwibm90aWZpY2F0aW9uX3R5cGVcIj48L3Atc29ydEljb24+XG4gICAgICAgIDwvdGg+XG4gICAgICAgIDx0aCBzY29wZT1cInRydWVcIlxuICAgICAgICAgIHBTb3J0YWJsZUNvbHVtbj1cImJvZHlcIj5cbiAgICAgICAgICB7eyAnQWRtaW4uTG9naW5Ob3RpZmljYXRpb24uQm9keScgfCB0cmFuc2xvY28gfX1cbiAgICAgICAgICA8cC1zb3J0SWNvbiBmaWVsZD1cImJvZHlcIj48L3Atc29ydEljb24+XG4gICAgICAgIDwvdGg+XG4gICAgICAgIDx0aCBzY29wZT1cInRydWVcIlxuICAgICAgICAgIGNsYXNzPVwidy0yNVwiPlxuICAgICAgICAgIHt7ICdBZG1pbi5Mb2dpbk5vdGlmaWNhdGlvbi5GZWF0dXJlS2V5cycgfCB0cmFuc2xvY28gfX1cbiAgICAgICAgPC90aD5cbiAgICAgICAgPHRoIHNjb3BlPVwidHJ1ZVwiXG4gICAgICAgICAgcFNvcnRhYmxlQ29sdW1uPVwidmlzaWJsZV9mcm9tXCI+XG4gICAgICAgICAge3sgJ0FkbWluLkxvZ2luTm90aWZpY2F0aW9uLlZpc2libGVGcm9tJyB8IHRyYW5zbG9jbyB9fVxuICAgICAgICAgIDxwLXNvcnRJY29uIGZpZWxkPVwidmlzaWJsZV9mcm9tXCI+PC9wLXNvcnRJY29uPlxuICAgICAgICA8L3RoPlxuICAgICAgICA8dGggc2NvcGU9XCJ0cnVlXCJcbiAgICAgICAgICBwU29ydGFibGVDb2x1bW49XCJ2aXNpYmxlX3VudGlsXCI+XG4gICAgICAgICAge3sgJ0FkbWluLkxvZ2luTm90aWZpY2F0aW9uLlZpc2libGVVbnRpbCcgfCB0cmFuc2xvY28gfX1cbiAgICAgICAgICA8cC1zb3J0SWNvbiBmaWVsZD1cInZpc2libGVfdW50aWxcIj48L3Atc29ydEljb24+XG4gICAgICAgIDwvdGg+XG4gICAgICAgIDx0aCBjbGFzcz1cImFjdGlvbnMtbGlzdC10d29cIlxuICAgICAgICAgIHNjb3BlPVwidHJ1ZVwiPnt7ICdMYWJlbC5BY3Rpb25zJyB8IHRyYW5zbG9jbyB9fTwvdGg+XG4gICAgICA8L3RyPlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8IS0tIFRhYmxlIEJvZHkgLS0+XG4gICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImJvZHlcIlxuICAgICAgbGV0LWl0ZW0+XG4gICAgICA8dHI+XG4gICAgICAgIDx0ZCBkYXRhLWhlYWQ9XCJub3RpZmljYXRpb25fdHlwZVwiPnt7IGl0ZW0/Lm5vdGlmaWNhdGlvbl90eXBlIH19PC90ZD5cbiAgICAgICAgPHRkIGRhdGEtaGVhZD1cImJvZHlcIj57eyBpdGVtPy5ib2R5IHwgdGV4dFRydW5jYXRlOiAzMCB9fTwvdGQ+XG4gICAgICAgIDx0ZCBkYXRhLWhlYWQ9XCJmZWF0dXJlX2tleXNcIj5cbiAgICAgICAgICA8c3BhbiAqbmdGb3I9XCJsZXQgZGF0YSBvZiBpdGVtPy5mZWF0dXJlX2tleXNcIlxuICAgICAgICAgICAgY2xhc3M9XCJiYWRnZSBtLTFcIlxuICAgICAgICAgICAgW2FwcER5bmFtaWNCYWRnZV09XCJ7IGl0ZW1zQXJyYXk6IGl0ZW0/LmZlYXR1cmVfa2V5cywgaXRlbTogZGF0YSB9XCJcbiAgICAgICAgICAgIGNvbG9yPVwiY3lhblwiPnt7IGRhdGEgfX08L3NwYW4+XG4gICAgICAgIDwvdGQ+XG4gICAgICAgIDx0ZCBkYXRhLWhlYWQ9XCJ2aXNpYmxlX2Zyb21cIj57eyBpdGVtPy52aXNpYmxlX2Zyb20gfCBkYXRlRm9ybWF0IH19PC90ZD5cbiAgICAgICAgPHRkIGRhdGEtaGVhZD1cInZpc2libGVfdW50aWxcIj57eyBpdGVtPy52aXNpYmxlX3VudGlsIHwgZGF0ZUZvcm1hdCB9fTwvdGQ+XG4gICAgICAgIDx0ZCBkYXRhLWhlYWQ9XCJBY3Rpb25cIj5cbiAgICAgICAgICA8dWwgY2xhc3M9XCJsaXN0LXVuc3R5bGVkIGxpc3QtaW5saW5lXCI+XG4gICAgICAgICAgICA8bGkgbmdiVG9vbHRpcD1cIkVkaXRcIlxuICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJbcm91dGVycy5sb2dpbk5vdGlmaWNhdGlvbkRldGFpbHMgKyBpdGVtPy5pZF1cIlxuICAgICAgICAgICAgICBjbGFzcz1cIm1lLTIgbWUtc20tM1wiPlxuICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWVkaXQgZWRpdC1pY29uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIDxsaSBuZ2JUb29sdGlwPVwiRGVsZXRlXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJtZS0yIG1lLXNtLTNcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwib25EZWxldGUoaXRlbT8uaWQpXCI+XG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtdHJhc2ggZGVsZXRlLWljb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICAgIDwvdWw+XG4gICAgICAgIDwvdGQ+XG4gICAgICA8L3RyPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvcC10YWJsZT5cbjxkaXYgKm5nSWY9XCJkYXRhLm9iamVjdF9jb3VudCA9PT0gMCAmJiBkYXRhLnVuZmlsdGVyZWRfY291bnQgIT09IDBcIj5cbiAgICA8cHctbm8tZGF0YSBbd2l0aEltYWdlXT1cInRydWVcIiBbbWVzc2FnZV09XCInU2VhcmNoLk5vRGF0YU1lc3NhZ2UnIHwgdHJhbnNsb2NvXCIgW2Rlc2NyaXB0aW9uXT1cIidTZWFyY2guTm9EYXRhRGVzY3JpcHRpb24nIHwgdHJhbnNsb2NvXCIgPlxuICAgIDwvcHctbm8tZGF0YT5cbjwvZGl2PlxuICA8c3BhbiAqbmdJZj1cImRhdGEub2JqZWN0X2NvdW50ICE9PSAwXCIgY2xhc3M9XCJ0b3RhbC1yZWNvcmRzLWNvdW50XCI+e3sgJ0xhYmVsLlRvdGFsJyB8IHRyYW5zbG9jbyB9fToge3sgIGRhdGEub2JqZWN0X2NvdW50IH19PC9zcGFuPlxuPC9kaXY+XG48ZGl2ICpuZ0lmPVwiZGF0YS51bmZpbHRlcmVkX2NvdW50ID09PSAwICYmIGlzTG9hZGVkXCI+XG4gIDxwdy1uby1kYXRhIFt3aXRoSW1hZ2VdPVwidHJ1ZVwiIFttZXNzYWdlXT1cIidBZG1pbi5Mb2dpbk5vdGlmaWNhdGlvbi5Ob0RhdGFNZXNzYWdlJyB8IHRyYW5zbG9jb1wiPiA8L3B3LW5vLWRhdGE+XG48L2Rpdj5cbiJdfQ==
|
package/esm2022/lib/components/newsletters/newsletter-users-list/newsletter-users-list.component.mjs
CHANGED
|
@@ -67,10 +67,10 @@ export class NewsletterUsersListComponent extends AppBaseComponent {
|
|
|
67
67
|
super.ngOnDestroy();
|
|
68
68
|
}
|
|
69
69
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: NewsletterUsersListComponent, deps: [{ token: i0.Injector }, { token: i1.AdminService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
70
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: NewsletterUsersListComponent, selector: "pw-newsletter-users-list", usesInheritance: true, ngImport: i0, template: "<div class=\"row\">\n <div class=\"col-12 mb-3\">\n <div class=\"me-auto col-xs-6 mt-4\">\n <a href=\"javascript:void(0)\"\n (click)=\"back()\"\n class=\"previous\"><i class=\"fa fa-arrow-alt-circle-left\" aria-hidden=\"true\"></i></a>\n <h3 class=\"m-subheader__title m-subheader__title--separator\">Newsletter recipients</h3>\n </div>\n </div>\n</div>\n<div class=\"w-100 text-center mt-3\"\n *ngIf=\"!isLoaded\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n</div>\n\n<div class=\"primeng-datatable-container table-responsive\"\n [class.hideTable]=\"data.unfiltered_count === 0\">\n <p-table #dt\n [value]=\"data.newsletter_users\"\n [paginator]=\"
|
|
70
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: NewsletterUsersListComponent, selector: "pw-newsletter-users-list", usesInheritance: true, ngImport: i0, template: "<div class=\"row\">\n <div class=\"col-12 mb-3\">\n <div class=\"me-auto col-xs-6 mt-4\">\n <a href=\"javascript:void(0)\"\n (click)=\"back()\"\n class=\"previous\"><i class=\"fa fa-arrow-alt-circle-left\" aria-hidden=\"true\"></i></a>\n <h3 class=\"m-subheader__title m-subheader__title--separator\">Newsletter recipients</h3>\n </div>\n </div>\n</div>\n<div class=\"w-100 text-center mt-3\"\n *ngIf=\"!isLoaded\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n</div>\n\n<div class=\"primeng-datatable-container table-responsive\"\n [class.hideTable]=\"data.unfiltered_count === 0\">\n <p-table #dt\n [value]=\"data.newsletter_users\"\n [paginator]=\"data.object_count !== 0\"\n [lazy]=\"true\"\n [rows]=\"PAGE_SIZE\"\n [totalRecords]=\"data.object_count\"\n [loading]=\"loading\"\n [filterDelay]=\"1000\"\n (onLazyLoad)=\"onLazyLoad($event)\"\n [customSort]=\"true\">\n <ng-template pTemplate=\"caption\">\n <div class=\"text-end\">\n <i class=\"fa fa-search mt-2 me-2\" aria-hidden=\"true\"></i>\n <input type=\"text\"\n [(ngModel)]=\"searchText\"\n pInputText\n size=\"50\"\n placeholder=\"Search users...\"\n (input)=\"dt.filterGlobal($event.target.value, 'contains')\"\n class=\"mw-90\" />\n </div>\n </ng-template>\n <ng-template pTemplate=\"header\">\n <tr>\n <th scope=\"true\"\n pSortableColumn=\"first_name\">\n {{ 'Lable.Name' | transloco }}\n <p-sortIcon field=\"first_name\"></p-sortIcon>\n </th>\n <th scope=\"true\"\n pSortableColumn=\"email\">\n {{ 'Lable.Email' | transloco }}\n <p-sortIcon field=\"email\"></p-sortIcon>\n </th>\n <th scope=\"true\"\n pSortableColumn=\"joined_at\">\n {{ 'Admin.NewsletterItem.JoinedAt' | transloco }}\n <p-sortIcon field=\"joined_at\"></p-sortIcon>\n </th>\n <th scope=\"true\"\n pSortableColumn=\"last_sign_in_at\">\n {{ 'Admin.NewsletterItem.LastSignInAt' | transloco }}\n <p-sortIcon field=\"last_sign_in_at\"></p-sortIcon>\n </th>\n <th scope=\"true\"\n pSortableColumn=\"last_opened\">\n {{ 'Admin.NewsletterItem.LastOpened' | transloco }}\n <p-sortIcon field=\"last_opened\"></p-sortIcon>\n </th>\n <th scope=\"true\"\n pSortableColumn=\"open_count\">\n {{ 'Admin.NewsletterItem.OpenCount' | transloco }}\n <p-sortIcon field=\"open_count\"></p-sortIcon>\n </th>\n <th scope=\"true\"\n pSortableColumn=\"clicked_at\">\n {{ 'Admin.NewsletterItem.ClickedAt' | transloco }}\n <p-sortIcon field=\"clicked_at\"></p-sortIcon>\n </th>\n <th scope=\"true\"\n pSortableColumn=\"clicked_count\">\n {{ 'Admin.NewsletterItem.ClickedCount' | transloco }}\n <p-sortIcon field=\"clicked_count\"></p-sortIcon>\n </th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\"\n let-user>\n <tr>\n <td data-head=\"Name\">\n <a [routerLink]=\"['/members', user?.slug]\">{{ user?.first_name }} {{ user?.last_name }}</a>\n </td>\n <td data-head=\"Email\">{{ user?.email }}</td>\n <td data-head=\"Joined At\">{{ user?.joined_at | dateFormat }}</td>\n <td data-head=\"Last Sign In At\">{{ user?.last_sign_in_at | dateFormat }}</td>\n <td data-head=\"Last Opened\">{{ user?.last_opened }}</td>\n <td data-head=\"Open Count\">{{ user?.open_count }}</td>\n <td data-head=\"Clicked At\">{{ user?.clicked_at }}</td>\n <td data-head=\"Clicked Count\">{{ user?.clicked_count }}</td>\n </tr>\n </ng-template>\n </p-table>\n<div *ngIf=\"data.object_count === 0 && data.unfiltered_count !== 0\">\n <pw-no-data [withImage]=\"true\" [message]=\"'Search.NoDataMessage' | transloco\" [description]=\"'Search.NoDataDescription' | transloco\" >\n </pw-no-data>\n</div>\n <span *ngIf=\"data.object_count !== 0\" class=\"total-records-count\">{{ 'Label.Total' | transloco }}: {{ data.object_count }}</span>\n</div>\n<div *ngIf=\"data.unfiltered_count === 0 && isLoaded\">\n <pw-no-data [withImage]=\"true\" [message]=\"'Admin.NewsletterItem.NewsLetterRecipientsNoDataMessage' | transloco\">\n </pw-no-data>\n</div>\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: "pipe", type: i10.TranslocoPipe, name: "transloco" }, { kind: "pipe", type: i11.DateFormatPipe, name: "dateFormat" }] }); }
|
|
71
71
|
}
|
|
72
72
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: NewsletterUsersListComponent, decorators: [{
|
|
73
73
|
type: Component,
|
|
74
|
-
args: [{ selector: 'pw-newsletter-users-list', template: "<div class=\"row\">\n <div class=\"col-12 mb-3\">\n <div class=\"me-auto col-xs-6 mt-4\">\n <a href=\"javascript:void(0)\"\n (click)=\"back()\"\n class=\"previous\"><i class=\"fa fa-arrow-alt-circle-left\" aria-hidden=\"true\"></i></a>\n <h3 class=\"m-subheader__title m-subheader__title--separator\">Newsletter recipients</h3>\n </div>\n </div>\n</div>\n<div class=\"w-100 text-center mt-3\"\n *ngIf=\"!isLoaded\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n</div>\n\n<div class=\"primeng-datatable-container table-responsive\"\n [class.hideTable]=\"data.unfiltered_count === 0\">\n <p-table #dt\n [value]=\"data.newsletter_users\"\n [paginator]=\"
|
|
74
|
+
args: [{ selector: 'pw-newsletter-users-list', template: "<div class=\"row\">\n <div class=\"col-12 mb-3\">\n <div class=\"me-auto col-xs-6 mt-4\">\n <a href=\"javascript:void(0)\"\n (click)=\"back()\"\n class=\"previous\"><i class=\"fa fa-arrow-alt-circle-left\" aria-hidden=\"true\"></i></a>\n <h3 class=\"m-subheader__title m-subheader__title--separator\">Newsletter recipients</h3>\n </div>\n </div>\n</div>\n<div class=\"w-100 text-center mt-3\"\n *ngIf=\"!isLoaded\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n</div>\n\n<div class=\"primeng-datatable-container table-responsive\"\n [class.hideTable]=\"data.unfiltered_count === 0\">\n <p-table #dt\n [value]=\"data.newsletter_users\"\n [paginator]=\"data.object_count !== 0\"\n [lazy]=\"true\"\n [rows]=\"PAGE_SIZE\"\n [totalRecords]=\"data.object_count\"\n [loading]=\"loading\"\n [filterDelay]=\"1000\"\n (onLazyLoad)=\"onLazyLoad($event)\"\n [customSort]=\"true\">\n <ng-template pTemplate=\"caption\">\n <div class=\"text-end\">\n <i class=\"fa fa-search mt-2 me-2\" aria-hidden=\"true\"></i>\n <input type=\"text\"\n [(ngModel)]=\"searchText\"\n pInputText\n size=\"50\"\n placeholder=\"Search users...\"\n (input)=\"dt.filterGlobal($event.target.value, 'contains')\"\n class=\"mw-90\" />\n </div>\n </ng-template>\n <ng-template pTemplate=\"header\">\n <tr>\n <th scope=\"true\"\n pSortableColumn=\"first_name\">\n {{ 'Lable.Name' | transloco }}\n <p-sortIcon field=\"first_name\"></p-sortIcon>\n </th>\n <th scope=\"true\"\n pSortableColumn=\"email\">\n {{ 'Lable.Email' | transloco }}\n <p-sortIcon field=\"email\"></p-sortIcon>\n </th>\n <th scope=\"true\"\n pSortableColumn=\"joined_at\">\n {{ 'Admin.NewsletterItem.JoinedAt' | transloco }}\n <p-sortIcon field=\"joined_at\"></p-sortIcon>\n </th>\n <th scope=\"true\"\n pSortableColumn=\"last_sign_in_at\">\n {{ 'Admin.NewsletterItem.LastSignInAt' | transloco }}\n <p-sortIcon field=\"last_sign_in_at\"></p-sortIcon>\n </th>\n <th scope=\"true\"\n pSortableColumn=\"last_opened\">\n {{ 'Admin.NewsletterItem.LastOpened' | transloco }}\n <p-sortIcon field=\"last_opened\"></p-sortIcon>\n </th>\n <th scope=\"true\"\n pSortableColumn=\"open_count\">\n {{ 'Admin.NewsletterItem.OpenCount' | transloco }}\n <p-sortIcon field=\"open_count\"></p-sortIcon>\n </th>\n <th scope=\"true\"\n pSortableColumn=\"clicked_at\">\n {{ 'Admin.NewsletterItem.ClickedAt' | transloco }}\n <p-sortIcon field=\"clicked_at\"></p-sortIcon>\n </th>\n <th scope=\"true\"\n pSortableColumn=\"clicked_count\">\n {{ 'Admin.NewsletterItem.ClickedCount' | transloco }}\n <p-sortIcon field=\"clicked_count\"></p-sortIcon>\n </th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\"\n let-user>\n <tr>\n <td data-head=\"Name\">\n <a [routerLink]=\"['/members', user?.slug]\">{{ user?.first_name }} {{ user?.last_name }}</a>\n </td>\n <td data-head=\"Email\">{{ user?.email }}</td>\n <td data-head=\"Joined At\">{{ user?.joined_at | dateFormat }}</td>\n <td data-head=\"Last Sign In At\">{{ user?.last_sign_in_at | dateFormat }}</td>\n <td data-head=\"Last Opened\">{{ user?.last_opened }}</td>\n <td data-head=\"Open Count\">{{ user?.open_count }}</td>\n <td data-head=\"Clicked At\">{{ user?.clicked_at }}</td>\n <td data-head=\"Clicked Count\">{{ user?.clicked_count }}</td>\n </tr>\n </ng-template>\n </p-table>\n<div *ngIf=\"data.object_count === 0 && data.unfiltered_count !== 0\">\n <pw-no-data [withImage]=\"true\" [message]=\"'Search.NoDataMessage' | transloco\" [description]=\"'Search.NoDataDescription' | transloco\" >\n </pw-no-data>\n</div>\n <span *ngIf=\"data.object_count !== 0\" class=\"total-records-count\">{{ 'Label.Total' | transloco }}: {{ data.object_count }}</span>\n</div>\n<div *ngIf=\"data.unfiltered_count === 0 && isLoaded\">\n <pw-no-data [withImage]=\"true\" [message]=\"'Admin.NewsletterItem.NewsLetterRecipientsNoDataMessage' | transloco\">\n </pw-no-data>\n</div>\n" }]
|
|
75
75
|
}], ctorParameters: () => [{ type: i0.Injector }, { type: i1.AdminService }, { type: i0.ChangeDetectorRef }] });
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV3c2xldHRlci11c2Vycy1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYWRtaW4tbW9kdWxlL3NyYy9saWIvY29tcG9uZW50cy9uZXdzbGV0dGVycy9uZXdzbGV0dGVyLXVzZXJzLWxpc3QvbmV3c2xldHRlci11c2Vycy1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYWRtaW4tbW9kdWxlL3NyYy9saWIvY29tcG9uZW50cy9uZXdzbGV0dGVycy9uZXdzbGV0dGVyLXVzZXJzLWxpc3QvbmV3c2xldHRlci11c2Vycy1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFFBQVEsRUFHWCxNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRWhFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7Ozs7Ozs7OztBQU05RCxNQUFNLE9BQU8sNEJBQ1QsU0FBUSxnQkFBZ0I7SUFxQnhCLFlBQ0ksUUFBa0IsRUFDVixZQUEwQixFQUMxQixHQUFzQjtRQUU5QixLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFIUixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQW5CbEMsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUVoQixTQUFJLEdBQTJCO1lBQzNCLGdCQUFnQixFQUFFLEVBQUU7WUFDcEIsWUFBWSxFQUFFLENBQUM7WUFDZixnQkFBZ0IsRUFBRSxDQUFDO1NBQ3RCLENBQUM7UUFFRixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRWpCLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFFUCxTQUFJLEdBQUcsQ0FBQyxDQUFDO0lBVWpCLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLGNBQWMsR0FBRyxpQkFBaUIsRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUM7UUFDbEUsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ2pDLElBQUksQ0FBQyxFQUFFLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ25DLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGtCQUFrQjtRQUNkLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFvQjtRQUMzQixNQUFNLFdBQVcsR0FBRyxhQUFhLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxJQUFJLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQztRQUM3QixJQUFJLENBQUMsb0JBQW9CLENBQUM7WUFDdEIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsU0FBUyxFQUFFLFNBQVM7WUFDcEIsUUFBUSxFQUFFLFdBQVcsQ0FBQyxTQUFTO1lBQy9CLGVBQWUsRUFBRSxXQUFXLENBQUMsU0FBUztZQUN0QyxNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVU7U0FDMUIsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELHlDQUF5QztJQUNqQyxvQkFBb0IsQ0FBQyxNQUFjO1FBQ3ZDLElBQUksQ0FBQyxZQUFZO2FBQ1oseUJBQXlCLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLE1BQU0sQ0FBQzthQUMvRCxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDbEIsSUFBSSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUM7UUFDekIsQ0FBQyxDQUFDO2FBQ0QsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNOLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVRLFdBQVc7UUFDaEIsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7K0dBcEVRLDRCQUE0QjttR0FBNUIsNEJBQTRCLHVGQ3RCekMseXlJQTZHQTs7NEZEdkZhLDRCQUE0QjtrQkFKeEMsU0FBUzsrQkFDSSwwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0NoZWNrZWQsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEluamVjdG9yLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMYXp5TG9hZEV2ZW50IH0gZnJvbSAncHJpbWVuZy9hcGknO1xuXG5pbXBvcnQgeyBBZG1pblNlcnZpY2UgfSBmcm9tICdAcG9zaXdpc2UvYWRtaW4tbW9kdWxlLXV0aWxzJztcbmltcG9ydCB7IFBBR0VfU0laRSB9IGZyb20gJ0Bwb3Npd2lzZS9jb21tb24tdXRpbGl0aWVzJztcbmltcG9ydCB7IE5ld3NMZXR0ZXJVc2VyUmVzcG9uc2UgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvaW50ZXJmYWNlL25ld3NsZXR0ZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IEFwcEJhc2VDb21wb25lbnQgfSBmcm9tICdAcG9zaXdpc2UvYXBwLWJhc2UtY29tcG9uZW50JztcbmltcG9ydCB7IFBhZ2luZyB9IGZyb20gJ0Bwb3Npd2lzZS9jb21tb24tdXRpbGl0aWVzJztcbmltcG9ydCB7IEhlbHBlclNlcnZpY2UgfSBmcm9tICdAcG9zaXdpc2UvaGVscGVyLXNlcnZpY2UnO1xuaW1wb3J0IHsgUGVybWlzc2lvblNlcnZpY2UgfSBmcm9tICdAcG9zaXdpc2UvY29tbW9uLXNlcnZpY2VzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwdy1uZXdzbGV0dGVyLXVzZXJzLWxpc3QnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9uZXdzbGV0dGVyLXVzZXJzLWxpc3QuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIE5ld3NsZXR0ZXJVc2Vyc0xpc3RDb21wb25lbnRcbiAgICBleHRlbmRzIEFwcEJhc2VDb21wb25lbnRcbiAgICBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3Q2hlY2tlZCwgT25EZXN0cm95XG57XG4gICAgaWQ6IG51bWJlcjtcblxuICAgIHNlYXJjaFRleHQgPSAnJztcblxuICAgIGRhdGE6IE5ld3NMZXR0ZXJVc2VyUmVzcG9uc2UgPSB7XG4gICAgICAgIG5ld3NsZXR0ZXJfdXNlcnM6IFtdLFxuICAgICAgICBvYmplY3RfY291bnQ6IDAsXG4gICAgICAgIHVuZmlsdGVyZWRfY291bnQ6IDBcbiAgICB9O1xuXG4gICAgaXNMb2FkZWQgPSBmYWxzZTtcblxuICAgIGxvYWRpbmcgPSB0cnVlO1xuXG4gICAgcHJpdmF0ZSBwYWdlID0gMTtcblxuICAgIHN1YnNjcmlwdGlvbklkOiBudW1iZXI7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBwcml2YXRlIGFkbWluU2VydmljZTogQWRtaW5TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgICApIHtcbiAgICAgICAgc3VwZXIoaW5qZWN0b3IpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbklkID0gUGVybWlzc2lvblNlcnZpY2U/LnNlbGVjdGVkU3Vic2NyaXB0aW9uPy5pZDtcbiAgICAgICAgdGhpcy5yb3V0ZS5wYXJhbXMuc3Vic2NyaWJlKHBhcmFtcyA9PiB7XG4gICAgICAgICAgICB0aGlzLmlkID0gTnVtYmVyKHBhcmFtc1snaWQnXSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpIHtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIG9uTGF6eUxvYWQoZXZlbnQ6IExhenlMb2FkRXZlbnQpIHtcbiAgICAgICAgY29uc3QgcGFnZURldGFpbHMgPSBIZWxwZXJTZXJ2aWNlLm9uVGFibGVMYXp5TG9hZChldmVudCk7XG4gICAgICAgIHRoaXMucGFnZSA9IHBhZ2VEZXRhaWxzLnBhZ2U7XG4gICAgICAgIHRoaXMuZ2V0TmV3c2xldHRlckluc2lnaHQoe1xuICAgICAgICAgICAgcGFnZTogdGhpcy5wYWdlLFxuICAgICAgICAgICAgcGFnZV9zaXplOiBQQUdFX1NJWkUsXG4gICAgICAgICAgICBvcmRlcl9ieTogcGFnZURldGFpbHMuc29ydEZpZWxkLFxuICAgICAgICAgICAgb3JkZXJfZGlyZWN0aW9uOiBwYWdlRGV0YWlscy5zb3J0T3JkZXIsXG4gICAgICAgICAgICBzZWFyY2g6IHRoaXMuc2VhcmNoVGV4dFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogRnVuY3Rpb24gdG8gZ2V0IG5ld3NsZXR0ZXIgaW5zaWdodCAqL1xuICAgIHByaXZhdGUgZ2V0TmV3c2xldHRlckluc2lnaHQocGFnaW5nOiBQYWdpbmcpIHtcbiAgICAgICAgdGhpcy5hZG1pblNlcnZpY2VcbiAgICAgICAgICAgIC5nZXROZXdzbGV0dGVySXRlbVVzZXJMaXN0KHRoaXMuaWQsIHRoaXMuc3Vic2NyaXB0aW9uSWQsIHBhZ2luZylcbiAgICAgICAgICAgIC5zdWJzY3JpYmUocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZGF0YSA9IHJlc3BvbnNlO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5hZGQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInJvd1wiPlxuICA8ZGl2IGNsYXNzPVwiY29sLTEyIG1iLTNcIj5cbiAgICA8ZGl2IGNsYXNzPVwibWUtYXV0byBjb2wteHMtNiBtdC00XCI+XG4gICAgICA8YSBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCJcbiAgICAgICAgKGNsaWNrKT1cImJhY2soKVwiXG4gICAgICAgIGNsYXNzPVwicHJldmlvdXNcIj48aSBjbGFzcz1cImZhIGZhLWFycm93LWFsdC1jaXJjbGUtbGVmdFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT48L2E+XG4gICAgICA8aDMgY2xhc3M9XCJtLXN1YmhlYWRlcl9fdGl0bGUgbS1zdWJoZWFkZXJfX3RpdGxlLS1zZXBhcmF0b3JcIj5OZXdzbGV0dGVyIHJlY2lwaWVudHM8L2gzPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cInctMTAwIHRleHQtY2VudGVyIG10LTNcIlxuICAqbmdJZj1cIiFpc0xvYWRlZFwiPlxuICA8cC1wcm9ncmVzc1NwaW5uZXIgc3Ryb2tlV2lkdGg9XCIyXCI+IDwvcC1wcm9ncmVzc1NwaW5uZXI+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cInByaW1lbmctZGF0YXRhYmxlLWNvbnRhaW5lciB0YWJsZS1yZXNwb25zaXZlXCJcbiAgW2NsYXNzLmhpZGVUYWJsZV09XCJkYXRhLnVuZmlsdGVyZWRfY291bnQgPT09IDBcIj5cbiAgPHAtdGFibGUgI2R0XG4gICAgW3ZhbHVlXT1cImRhdGEubmV3c2xldHRlcl91c2Vyc1wiXG4gICAgW3BhZ2luYXRvcl09XCJ0cnVlXCJcbiAgICBbbGF6eV09XCJ0cnVlXCJcbiAgICBbcm93c109XCJQQUdFX1NJWkVcIlxuICAgIFt0b3RhbFJlY29yZHNdPVwiZGF0YS5vYmplY3RfY291bnRcIlxuICAgIFtsb2FkaW5nXT1cImxvYWRpbmdcIlxuICAgIFtmaWx0ZXJEZWxheV09XCIxMDAwXCJcbiAgICAob25MYXp5TG9hZCk9XCJvbkxhenlMb2FkKCRldmVudClcIlxuICAgIFtjdXN0b21Tb3J0XT1cInRydWVcIj5cbiAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiY2FwdGlvblwiPlxuICAgICAgPGRpdiBjbGFzcz1cInRleHQtZW5kXCI+XG4gICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtc2VhcmNoIG10LTIgbWUtMlwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cbiAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlYXJjaFRleHRcIlxuICAgICAgICAgIHBJbnB1dFRleHRcbiAgICAgICAgICBzaXplPVwiNTBcIlxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU2VhcmNoIHVzZXJzLi4uXCJcbiAgICAgICAgICAoaW5wdXQpPVwiZHQuZmlsdGVyR2xvYmFsKCRldmVudC50YXJnZXQudmFsdWUsICdjb250YWlucycpXCJcbiAgICAgICAgICBjbGFzcz1cIm13LTkwXCIgLz5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImhlYWRlclwiPlxuICAgICAgPHRyPlxuICAgICAgICA8dGggc2NvcGU9XCJ0cnVlXCJcbiAgICAgICAgICBwU29ydGFibGVDb2x1bW49XCJmaXJzdF9uYW1lXCI+XG4gICAgICAgICAge3sgJ0xhYmxlLk5hbWUnIHwgdHJhbnNsb2NvIH19XG4gICAgICAgICAgPHAtc29ydEljb24gZmllbGQ9XCJmaXJzdF9uYW1lXCI+PC9wLXNvcnRJY29uPlxuICAgICAgICA8L3RoPlxuICAgICAgICA8dGggc2NvcGU9XCJ0cnVlXCJcbiAgICAgICAgICBwU29ydGFibGVDb2x1bW49XCJlbWFpbFwiPlxuICAgICAgICAgIHt7ICdMYWJsZS5FbWFpbCcgfCB0cmFuc2xvY28gfX1cbiAgICAgICAgICA8cC1zb3J0SWNvbiBmaWVsZD1cImVtYWlsXCI+PC9wLXNvcnRJY29uPlxuICAgICAgICA8L3RoPlxuICAgICAgICA8dGggc2NvcGU9XCJ0cnVlXCJcbiAgICAgICAgICBwU29ydGFibGVDb2x1bW49XCJqb2luZWRfYXRcIj5cbiAgICAgICAgICB7eyAnQWRtaW4uTmV3c2xldHRlckl0ZW0uSm9pbmVkQXQnIHwgdHJhbnNsb2NvIH19XG4gICAgICAgICAgPHAtc29ydEljb24gZmllbGQ9XCJqb2luZWRfYXRcIj48L3Atc29ydEljb24+XG4gICAgICAgIDwvdGg+XG4gICAgICAgIDx0aCBzY29wZT1cInRydWVcIlxuICAgICAgICAgIHBTb3J0YWJsZUNvbHVtbj1cImxhc3Rfc2lnbl9pbl9hdFwiPlxuICAgICAgICAgIHt7ICdBZG1pbi5OZXdzbGV0dGVySXRlbS5MYXN0U2lnbkluQXQnIHwgdHJhbnNsb2NvIH19XG4gICAgICAgICAgPHAtc29ydEljb24gZmllbGQ9XCJsYXN0X3NpZ25faW5fYXRcIj48L3Atc29ydEljb24+XG4gICAgICAgIDwvdGg+XG4gICAgICAgIDx0aCBzY29wZT1cInRydWVcIlxuICAgICAgICAgIHBTb3J0YWJsZUNvbHVtbj1cImxhc3Rfb3BlbmVkXCI+XG4gICAgICAgICAge3sgJ0FkbWluLk5ld3NsZXR0ZXJJdGVtLkxhc3RPcGVuZWQnIHwgdHJhbnNsb2NvIH19XG4gICAgICAgICAgPHAtc29ydEljb24gZmllbGQ9XCJsYXN0X29wZW5lZFwiPjwvcC1zb3J0SWNvbj5cbiAgICAgICAgPC90aD5cbiAgICAgICAgPHRoIHNjb3BlPVwidHJ1ZVwiXG4gICAgICAgICAgcFNvcnRhYmxlQ29sdW1uPVwib3Blbl9jb3VudFwiPlxuICAgICAgICAgIHt7ICdBZG1pbi5OZXdzbGV0dGVySXRlbS5PcGVuQ291bnQnIHwgdHJhbnNsb2NvIH19XG4gICAgICAgICAgPHAtc29ydEljb24gZmllbGQ9XCJvcGVuX2NvdW50XCI+PC9wLXNvcnRJY29uPlxuICAgICAgICA8L3RoPlxuICAgICAgICA8dGggc2NvcGU9XCJ0cnVlXCJcbiAgICAgICAgICBwU29ydGFibGVDb2x1bW49XCJjbGlja2VkX2F0XCI+XG4gICAgICAgICAge3sgJ0FkbWluLk5ld3NsZXR0ZXJJdGVtLkNsaWNrZWRBdCcgfCB0cmFuc2xvY28gfX1cbiAgICAgICAgICA8cC1zb3J0SWNvbiBmaWVsZD1cImNsaWNrZWRfYXRcIj48L3Atc29ydEljb24+XG4gICAgICAgIDwvdGg+XG4gICAgICAgIDx0aCBzY29wZT1cInRydWVcIlxuICAgICAgICAgIHBTb3J0YWJsZUNvbHVtbj1cImNsaWNrZWRfY291bnRcIj5cbiAgICAgICAgICB7eyAnQWRtaW4uTmV3c2xldHRlckl0ZW0uQ2xpY2tlZENvdW50JyB8IHRyYW5zbG9jbyB9fVxuICAgICAgICAgIDxwLXNvcnRJY29uIGZpZWxkPVwiY2xpY2tlZF9jb3VudFwiPjwvcC1zb3J0SWNvbj5cbiAgICAgICAgPC90aD5cbiAgICAgIDwvdHI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiYm9keVwiXG4gICAgICBsZXQtdXNlcj5cbiAgICAgIDx0cj5cbiAgICAgICAgPHRkIGRhdGEtaGVhZD1cIk5hbWVcIj5cbiAgICAgICAgICA8YSBbcm91dGVyTGlua109XCJbJy9tZW1iZXJzJywgdXNlcj8uc2x1Z11cIj57eyB1c2VyPy5maXJzdF9uYW1lIH19IHt7IHVzZXI/Lmxhc3RfbmFtZSB9fTwvYT5cbiAgICAgICAgPC90ZD5cbiAgICAgICAgPHRkIGRhdGEtaGVhZD1cIkVtYWlsXCI+e3sgdXNlcj8uZW1haWwgfX08L3RkPlxuICAgICAgICA8dGQgZGF0YS1oZWFkPVwiSm9pbmVkIEF0XCI+e3sgdXNlcj8uam9pbmVkX2F0IHwgZGF0ZUZvcm1hdCB9fTwvdGQ+XG4gICAgICAgIDx0ZCBkYXRhLWhlYWQ9XCJMYXN0IFNpZ24gSW4gQXRcIj57eyB1c2VyPy5sYXN0X3NpZ25faW5fYXQgfCBkYXRlRm9ybWF0IH19PC90ZD5cbiAgICAgICAgPHRkIGRhdGEtaGVhZD1cIkxhc3QgT3BlbmVkXCI+e3sgdXNlcj8ubGFzdF9vcGVuZWQgfX08L3RkPlxuICAgICAgICA8dGQgZGF0YS1oZWFkPVwiT3BlbiBDb3VudFwiPnt7IHVzZXI/Lm9wZW5fY291bnQgfX08L3RkPlxuICAgICAgICA8dGQgZGF0YS1oZWFkPVwiQ2xpY2tlZCBBdFwiPnt7IHVzZXI/LmNsaWNrZWRfYXQgfX08L3RkPlxuICAgICAgICA8dGQgZGF0YS1oZWFkPVwiQ2xpY2tlZCBDb3VudFwiPnt7IHVzZXI/LmNsaWNrZWRfY291bnQgfX08L3RkPlxuICAgICAgPC90cj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L3AtdGFibGU+XG48ZGl2ICpuZ0lmPVwiZGF0YS5vYmplY3RfY291bnQgPT09IDAgJiYgZGF0YS51bmZpbHRlcmVkX2NvdW50ICE9PSAwXCI+XG4gICAgPHB3LW5vLWRhdGEgW3dpdGhJbWFnZV09XCJ0cnVlXCIgW21lc3NhZ2VdPVwiJ1NlYXJjaC5Ob0RhdGFNZXNzYWdlJyB8IHRyYW5zbG9jb1wiIFtkZXNjcmlwdGlvbl09XCInU2VhcmNoLk5vRGF0YURlc2NyaXB0aW9uJyB8IHRyYW5zbG9jb1wiID5cbiAgICA8L3B3LW5vLWRhdGE+XG48L2Rpdj5cbiAgPHNwYW4gY2xhc3M9XCJ0b3RhbC1yZWNvcmRzLWNvdW50XCI+e3sgJ0xhYmVsLlRvdGFsJyB8IHRyYW5zbG9jbyB9fToge3sgZGF0YS5vYmplY3RfY291bnQgfX08L3NwYW4+XG48L2Rpdj5cbjxkaXYgKm5nSWY9XCJkYXRhLnVuZmlsdGVyZWRfY291bnQgPT09IDAgJiYgaXNMb2FkZWRcIj5cbiAgPHB3LW5vLWRhdGEgW3dpdGhJbWFnZV09XCJ0cnVlXCIgW21lc3NhZ2VdPVwiJ0FkbWluLk5ld3NsZXR0ZXJJdGVtLk5ld3NMZXR0ZXJSZWNpcGllbnRzTm9EYXRhTWVzc2FnZScgfCB0cmFuc2xvY29cIj5cbiAgPC9wdy1uby1kYXRhPlxuPC9kaXY+XG4iXX0=
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV3c2xldHRlci11c2Vycy1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYWRtaW4tbW9kdWxlL3NyYy9saWIvY29tcG9uZW50cy9uZXdzbGV0dGVycy9uZXdzbGV0dGVyLXVzZXJzLWxpc3QvbmV3c2xldHRlci11c2Vycy1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYWRtaW4tbW9kdWxlL3NyYy9saWIvY29tcG9uZW50cy9uZXdzbGV0dGVycy9uZXdzbGV0dGVyLXVzZXJzLWxpc3QvbmV3c2xldHRlci11c2Vycy1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFFBQVEsRUFHWCxNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRWhFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7Ozs7Ozs7OztBQU05RCxNQUFNLE9BQU8sNEJBQ1QsU0FBUSxnQkFBZ0I7SUFxQnhCLFlBQ0ksUUFBa0IsRUFDVixZQUEwQixFQUMxQixHQUFzQjtRQUU5QixLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFIUixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQW5CbEMsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUVoQixTQUFJLEdBQTJCO1lBQzNCLGdCQUFnQixFQUFFLEVBQUU7WUFDcEIsWUFBWSxFQUFFLENBQUM7WUFDZixnQkFBZ0IsRUFBRSxDQUFDO1NBQ3RCLENBQUM7UUFFRixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRWpCLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFFUCxTQUFJLEdBQUcsQ0FBQyxDQUFDO0lBVWpCLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLGNBQWMsR0FBRyxpQkFBaUIsRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUM7UUFDbEUsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ2pDLElBQUksQ0FBQyxFQUFFLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ25DLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGtCQUFrQjtRQUNkLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFvQjtRQUMzQixNQUFNLFdBQVcsR0FBRyxhQUFhLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxJQUFJLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQztRQUM3QixJQUFJLENBQUMsb0JBQW9CLENBQUM7WUFDdEIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsU0FBUyxFQUFFLFNBQVM7WUFDcEIsUUFBUSxFQUFFLFdBQVcsQ0FBQyxTQUFTO1lBQy9CLGVBQWUsRUFBRSxXQUFXLENBQUMsU0FBUztZQUN0QyxNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVU7U0FDMUIsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELHlDQUF5QztJQUNqQyxvQkFBb0IsQ0FBQyxNQUFjO1FBQ3ZDLElBQUksQ0FBQyxZQUFZO2FBQ1oseUJBQXlCLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLE1BQU0sQ0FBQzthQUMvRCxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDbEIsSUFBSSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUM7UUFDekIsQ0FBQyxDQUFDO2FBQ0QsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNOLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVRLFdBQVc7UUFDaEIsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7K0dBcEVRLDRCQUE0QjttR0FBNUIsNEJBQTRCLHVGQ3RCekMsKzFJQTZHQTs7NEZEdkZhLDRCQUE0QjtrQkFKeEMsU0FBUzsrQkFDSSwwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0NoZWNrZWQsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEluamVjdG9yLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMYXp5TG9hZEV2ZW50IH0gZnJvbSAncHJpbWVuZy9hcGknO1xuXG5pbXBvcnQgeyBBZG1pblNlcnZpY2UgfSBmcm9tICdAcG9zaXdpc2UvYWRtaW4tbW9kdWxlLXV0aWxzJztcbmltcG9ydCB7IFBBR0VfU0laRSB9IGZyb20gJ0Bwb3Npd2lzZS9jb21tb24tdXRpbGl0aWVzJztcbmltcG9ydCB7IE5ld3NMZXR0ZXJVc2VyUmVzcG9uc2UgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvaW50ZXJmYWNlL25ld3NsZXR0ZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IEFwcEJhc2VDb21wb25lbnQgfSBmcm9tICdAcG9zaXdpc2UvYXBwLWJhc2UtY29tcG9uZW50JztcbmltcG9ydCB7IFBhZ2luZyB9IGZyb20gJ0Bwb3Npd2lzZS9jb21tb24tdXRpbGl0aWVzJztcbmltcG9ydCB7IEhlbHBlclNlcnZpY2UgfSBmcm9tICdAcG9zaXdpc2UvaGVscGVyLXNlcnZpY2UnO1xuaW1wb3J0IHsgUGVybWlzc2lvblNlcnZpY2UgfSBmcm9tICdAcG9zaXdpc2UvY29tbW9uLXNlcnZpY2VzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwdy1uZXdzbGV0dGVyLXVzZXJzLWxpc3QnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9uZXdzbGV0dGVyLXVzZXJzLWxpc3QuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIE5ld3NsZXR0ZXJVc2Vyc0xpc3RDb21wb25lbnRcbiAgICBleHRlbmRzIEFwcEJhc2VDb21wb25lbnRcbiAgICBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3Q2hlY2tlZCwgT25EZXN0cm95XG57XG4gICAgaWQ6IG51bWJlcjtcblxuICAgIHNlYXJjaFRleHQgPSAnJztcblxuICAgIGRhdGE6IE5ld3NMZXR0ZXJVc2VyUmVzcG9uc2UgPSB7XG4gICAgICAgIG5ld3NsZXR0ZXJfdXNlcnM6IFtdLFxuICAgICAgICBvYmplY3RfY291bnQ6IDAsXG4gICAgICAgIHVuZmlsdGVyZWRfY291bnQ6IDBcbiAgICB9O1xuXG4gICAgaXNMb2FkZWQgPSBmYWxzZTtcblxuICAgIGxvYWRpbmcgPSB0cnVlO1xuXG4gICAgcHJpdmF0ZSBwYWdlID0gMTtcblxuICAgIHN1YnNjcmlwdGlvbklkOiBudW1iZXI7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBwcml2YXRlIGFkbWluU2VydmljZTogQWRtaW5TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgICApIHtcbiAgICAgICAgc3VwZXIoaW5qZWN0b3IpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbklkID0gUGVybWlzc2lvblNlcnZpY2U/LnNlbGVjdGVkU3Vic2NyaXB0aW9uPy5pZDtcbiAgICAgICAgdGhpcy5yb3V0ZS5wYXJhbXMuc3Vic2NyaWJlKHBhcmFtcyA9PiB7XG4gICAgICAgICAgICB0aGlzLmlkID0gTnVtYmVyKHBhcmFtc1snaWQnXSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpIHtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIG9uTGF6eUxvYWQoZXZlbnQ6IExhenlMb2FkRXZlbnQpIHtcbiAgICAgICAgY29uc3QgcGFnZURldGFpbHMgPSBIZWxwZXJTZXJ2aWNlLm9uVGFibGVMYXp5TG9hZChldmVudCk7XG4gICAgICAgIHRoaXMucGFnZSA9IHBhZ2VEZXRhaWxzLnBhZ2U7XG4gICAgICAgIHRoaXMuZ2V0TmV3c2xldHRlckluc2lnaHQoe1xuICAgICAgICAgICAgcGFnZTogdGhpcy5wYWdlLFxuICAgICAgICAgICAgcGFnZV9zaXplOiBQQUdFX1NJWkUsXG4gICAgICAgICAgICBvcmRlcl9ieTogcGFnZURldGFpbHMuc29ydEZpZWxkLFxuICAgICAgICAgICAgb3JkZXJfZGlyZWN0aW9uOiBwYWdlRGV0YWlscy5zb3J0T3JkZXIsXG4gICAgICAgICAgICBzZWFyY2g6IHRoaXMuc2VhcmNoVGV4dFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogRnVuY3Rpb24gdG8gZ2V0IG5ld3NsZXR0ZXIgaW5zaWdodCAqL1xuICAgIHByaXZhdGUgZ2V0TmV3c2xldHRlckluc2lnaHQocGFnaW5nOiBQYWdpbmcpIHtcbiAgICAgICAgdGhpcy5hZG1pblNlcnZpY2VcbiAgICAgICAgICAgIC5nZXROZXdzbGV0dGVySXRlbVVzZXJMaXN0KHRoaXMuaWQsIHRoaXMuc3Vic2NyaXB0aW9uSWQsIHBhZ2luZylcbiAgICAgICAgICAgIC5zdWJzY3JpYmUocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZGF0YSA9IHJlc3BvbnNlO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5hZGQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInJvd1wiPlxuICA8ZGl2IGNsYXNzPVwiY29sLTEyIG1iLTNcIj5cbiAgICA8ZGl2IGNsYXNzPVwibWUtYXV0byBjb2wteHMtNiBtdC00XCI+XG4gICAgICA8YSBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCJcbiAgICAgICAgKGNsaWNrKT1cImJhY2soKVwiXG4gICAgICAgIGNsYXNzPVwicHJldmlvdXNcIj48aSBjbGFzcz1cImZhIGZhLWFycm93LWFsdC1jaXJjbGUtbGVmdFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT48L2E+XG4gICAgICA8aDMgY2xhc3M9XCJtLXN1YmhlYWRlcl9fdGl0bGUgbS1zdWJoZWFkZXJfX3RpdGxlLS1zZXBhcmF0b3JcIj5OZXdzbGV0dGVyIHJlY2lwaWVudHM8L2gzPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cInctMTAwIHRleHQtY2VudGVyIG10LTNcIlxuICAqbmdJZj1cIiFpc0xvYWRlZFwiPlxuICA8cC1wcm9ncmVzc1NwaW5uZXIgc3Ryb2tlV2lkdGg9XCIyXCI+IDwvcC1wcm9ncmVzc1NwaW5uZXI+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cInByaW1lbmctZGF0YXRhYmxlLWNvbnRhaW5lciB0YWJsZS1yZXNwb25zaXZlXCJcbiAgW2NsYXNzLmhpZGVUYWJsZV09XCJkYXRhLnVuZmlsdGVyZWRfY291bnQgPT09IDBcIj5cbiAgPHAtdGFibGUgI2R0XG4gICAgW3ZhbHVlXT1cImRhdGEubmV3c2xldHRlcl91c2Vyc1wiXG4gICAgW3BhZ2luYXRvcl09XCJkYXRhLm9iamVjdF9jb3VudCAhPT0gMFwiXG4gICAgW2xhenldPVwidHJ1ZVwiXG4gICAgW3Jvd3NdPVwiUEFHRV9TSVpFXCJcbiAgICBbdG90YWxSZWNvcmRzXT1cImRhdGEub2JqZWN0X2NvdW50XCJcbiAgICBbbG9hZGluZ109XCJsb2FkaW5nXCJcbiAgICBbZmlsdGVyRGVsYXldPVwiMTAwMFwiXG4gICAgKG9uTGF6eUxvYWQpPVwib25MYXp5TG9hZCgkZXZlbnQpXCJcbiAgICBbY3VzdG9tU29ydF09XCJ0cnVlXCI+XG4gICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImNhcHRpb25cIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWVuZFwiPlxuICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXNlYXJjaCBtdC0yIG1lLTJcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG4gICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJzZWFyY2hUZXh0XCJcbiAgICAgICAgICBwSW5wdXRUZXh0XG4gICAgICAgICAgc2l6ZT1cIjUwXCJcbiAgICAgICAgICBwbGFjZWhvbGRlcj1cIlNlYXJjaCB1c2Vycy4uLlwiXG4gICAgICAgICAgKGlucHV0KT1cImR0LmZpbHRlckdsb2JhbCgkZXZlbnQudGFyZ2V0LnZhbHVlLCAnY29udGFpbnMnKVwiXG4gICAgICAgICAgY2xhc3M9XCJtdy05MFwiIC8+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJoZWFkZXJcIj5cbiAgICAgIDx0cj5cbiAgICAgICAgPHRoIHNjb3BlPVwidHJ1ZVwiXG4gICAgICAgICAgcFNvcnRhYmxlQ29sdW1uPVwiZmlyc3RfbmFtZVwiPlxuICAgICAgICAgIHt7ICdMYWJsZS5OYW1lJyB8IHRyYW5zbG9jbyB9fVxuICAgICAgICAgIDxwLXNvcnRJY29uIGZpZWxkPVwiZmlyc3RfbmFtZVwiPjwvcC1zb3J0SWNvbj5cbiAgICAgICAgPC90aD5cbiAgICAgICAgPHRoIHNjb3BlPVwidHJ1ZVwiXG4gICAgICAgICAgcFNvcnRhYmxlQ29sdW1uPVwiZW1haWxcIj5cbiAgICAgICAgICB7eyAnTGFibGUuRW1haWwnIHwgdHJhbnNsb2NvIH19XG4gICAgICAgICAgPHAtc29ydEljb24gZmllbGQ9XCJlbWFpbFwiPjwvcC1zb3J0SWNvbj5cbiAgICAgICAgPC90aD5cbiAgICAgICAgPHRoIHNjb3BlPVwidHJ1ZVwiXG4gICAgICAgICAgcFNvcnRhYmxlQ29sdW1uPVwiam9pbmVkX2F0XCI+XG4gICAgICAgICAge3sgJ0FkbWluLk5ld3NsZXR0ZXJJdGVtLkpvaW5lZEF0JyB8IHRyYW5zbG9jbyB9fVxuICAgICAgICAgIDxwLXNvcnRJY29uIGZpZWxkPVwiam9pbmVkX2F0XCI+PC9wLXNvcnRJY29uPlxuICAgICAgICA8L3RoPlxuICAgICAgICA8dGggc2NvcGU9XCJ0cnVlXCJcbiAgICAgICAgICBwU29ydGFibGVDb2x1bW49XCJsYXN0X3NpZ25faW5fYXRcIj5cbiAgICAgICAgICB7eyAnQWRtaW4uTmV3c2xldHRlckl0ZW0uTGFzdFNpZ25JbkF0JyB8IHRyYW5zbG9jbyB9fVxuICAgICAgICAgIDxwLXNvcnRJY29uIGZpZWxkPVwibGFzdF9zaWduX2luX2F0XCI+PC9wLXNvcnRJY29uPlxuICAgICAgICA8L3RoPlxuICAgICAgICA8dGggc2NvcGU9XCJ0cnVlXCJcbiAgICAgICAgICBwU29ydGFibGVDb2x1bW49XCJsYXN0X29wZW5lZFwiPlxuICAgICAgICAgIHt7ICdBZG1pbi5OZXdzbGV0dGVySXRlbS5MYXN0T3BlbmVkJyB8IHRyYW5zbG9jbyB9fVxuICAgICAgICAgIDxwLXNvcnRJY29uIGZpZWxkPVwibGFzdF9vcGVuZWRcIj48L3Atc29ydEljb24+XG4gICAgICAgIDwvdGg+XG4gICAgICAgIDx0aCBzY29wZT1cInRydWVcIlxuICAgICAgICAgIHBTb3J0YWJsZUNvbHVtbj1cIm9wZW5fY291bnRcIj5cbiAgICAgICAgICB7eyAnQWRtaW4uTmV3c2xldHRlckl0ZW0uT3BlbkNvdW50JyB8IHRyYW5zbG9jbyB9fVxuICAgICAgICAgIDxwLXNvcnRJY29uIGZpZWxkPVwib3Blbl9jb3VudFwiPjwvcC1zb3J0SWNvbj5cbiAgICAgICAgPC90aD5cbiAgICAgICAgPHRoIHNjb3BlPVwidHJ1ZVwiXG4gICAgICAgICAgcFNvcnRhYmxlQ29sdW1uPVwiY2xpY2tlZF9hdFwiPlxuICAgICAgICAgIHt7ICdBZG1pbi5OZXdzbGV0dGVySXRlbS5DbGlja2VkQXQnIHwgdHJhbnNsb2NvIH19XG4gICAgICAgICAgPHAtc29ydEljb24gZmllbGQ9XCJjbGlja2VkX2F0XCI+PC9wLXNvcnRJY29uPlxuICAgICAgICA8L3RoPlxuICAgICAgICA8dGggc2NvcGU9XCJ0cnVlXCJcbiAgICAgICAgICBwU29ydGFibGVDb2x1bW49XCJjbGlja2VkX2NvdW50XCI+XG4gICAgICAgICAge3sgJ0FkbWluLk5ld3NsZXR0ZXJJdGVtLkNsaWNrZWRDb3VudCcgfCB0cmFuc2xvY28gfX1cbiAgICAgICAgICA8cC1zb3J0SWNvbiBmaWVsZD1cImNsaWNrZWRfY291bnRcIj48L3Atc29ydEljb24+XG4gICAgICAgIDwvdGg+XG4gICAgICA8L3RyPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImJvZHlcIlxuICAgICAgbGV0LXVzZXI+XG4gICAgICA8dHI+XG4gICAgICAgIDx0ZCBkYXRhLWhlYWQ9XCJOYW1lXCI+XG4gICAgICAgICAgPGEgW3JvdXRlckxpbmtdPVwiWycvbWVtYmVycycsIHVzZXI/LnNsdWddXCI+e3sgdXNlcj8uZmlyc3RfbmFtZSB9fSB7eyB1c2VyPy5sYXN0X25hbWUgfX08L2E+XG4gICAgICAgIDwvdGQ+XG4gICAgICAgIDx0ZCBkYXRhLWhlYWQ9XCJFbWFpbFwiPnt7IHVzZXI/LmVtYWlsIH19PC90ZD5cbiAgICAgICAgPHRkIGRhdGEtaGVhZD1cIkpvaW5lZCBBdFwiPnt7IHVzZXI/LmpvaW5lZF9hdCB8IGRhdGVGb3JtYXQgfX08L3RkPlxuICAgICAgICA8dGQgZGF0YS1oZWFkPVwiTGFzdCBTaWduIEluIEF0XCI+e3sgdXNlcj8ubGFzdF9zaWduX2luX2F0IHwgZGF0ZUZvcm1hdCB9fTwvdGQ+XG4gICAgICAgIDx0ZCBkYXRhLWhlYWQ9XCJMYXN0IE9wZW5lZFwiPnt7IHVzZXI/Lmxhc3Rfb3BlbmVkIH19PC90ZD5cbiAgICAgICAgPHRkIGRhdGEtaGVhZD1cIk9wZW4gQ291bnRcIj57eyB1c2VyPy5vcGVuX2NvdW50IH19PC90ZD5cbiAgICAgICAgPHRkIGRhdGEtaGVhZD1cIkNsaWNrZWQgQXRcIj57eyB1c2VyPy5jbGlja2VkX2F0IH19PC90ZD5cbiAgICAgICAgPHRkIGRhdGEtaGVhZD1cIkNsaWNrZWQgQ291bnRcIj57eyB1c2VyPy5jbGlja2VkX2NvdW50IH19PC90ZD5cbiAgICAgIDwvdHI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9wLXRhYmxlPlxuPGRpdiAqbmdJZj1cImRhdGEub2JqZWN0X2NvdW50ID09PSAwICYmIGRhdGEudW5maWx0ZXJlZF9jb3VudCAhPT0gMFwiPlxuICAgIDxwdy1uby1kYXRhIFt3aXRoSW1hZ2VdPVwidHJ1ZVwiIFttZXNzYWdlXT1cIidTZWFyY2guTm9EYXRhTWVzc2FnZScgfCB0cmFuc2xvY29cIiBbZGVzY3JpcHRpb25dPVwiJ1NlYXJjaC5Ob0RhdGFEZXNjcmlwdGlvbicgfCB0cmFuc2xvY29cIiA+XG4gICAgPC9wdy1uby1kYXRhPlxuPC9kaXY+XG4gIDxzcGFuICpuZ0lmPVwiZGF0YS5vYmplY3RfY291bnQgIT09IDBcIiBjbGFzcz1cInRvdGFsLXJlY29yZHMtY291bnRcIj57eyAnTGFiZWwuVG90YWwnIHwgdHJhbnNsb2NvIH19OiB7eyAgZGF0YS5vYmplY3RfY291bnQgfX08L3NwYW4+XG48L2Rpdj5cbjxkaXYgKm5nSWY9XCJkYXRhLnVuZmlsdGVyZWRfY291bnQgPT09IDAgJiYgaXNMb2FkZWRcIj5cbiAgPHB3LW5vLWRhdGEgW3dpdGhJbWFnZV09XCJ0cnVlXCIgW21lc3NhZ2VdPVwiJ0FkbWluLk5ld3NsZXR0ZXJJdGVtLk5ld3NMZXR0ZXJSZWNpcGllbnRzTm9EYXRhTWVzc2FnZScgfCB0cmFuc2xvY29cIj5cbiAgPC9wdy1uby1kYXRhPlxuPC9kaXY+XG4iXX0=
|