vcomply-workflow-engine 6.1.72 → 6.1.73
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/pipes/search.pipe.mjs +1 -2
- package/esm2022/lib/workflow/shared/components/grc-responsibility-listing/grc-responsibility-listing.component.mjs +9 -3
- package/esm2022/lib/workflow/shared/components/program-responsibility-listing/program-responsibility-listing.component.mjs +4 -6
- package/fesm2022/vcomply-workflow-engine.mjs +10 -8
- package/fesm2022/vcomply-workflow-engine.mjs.map +1 -1
- package/lib/workflow/shared/components/grc-responsibility-listing/grc-responsibility-listing.component.d.ts +2 -1
- package/package.json +1 -1
|
@@ -2,7 +2,6 @@ import { Pipe } from '@angular/core';
|
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export class SearchPipe {
|
|
4
4
|
transform(items, ...args) {
|
|
5
|
-
console.log('items', items, args);
|
|
6
5
|
let searchText = args[0];
|
|
7
6
|
const searchKey = args[1];
|
|
8
7
|
if (!items) {
|
|
@@ -35,4 +34,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
35
34
|
name: 'search',
|
|
36
35
|
}]
|
|
37
36
|
}] });
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9waXBlcy9zZWFyY2gucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFLcEQsTUFBTSxPQUFPLFVBQVU7SUFDckIsU0FBUyxDQUFDLEtBQVksRUFBRSxHQUFHLElBQVc7UUFDcEMsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3pCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1YsT0FBTyxFQUFFLENBQUM7U0FDWDtRQUNELElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDZixPQUFPLEtBQUssQ0FBQztTQUNkO1FBQ0QsVUFBVSxHQUFHLFVBQVUsRUFBRSxXQUFXLEVBQUUsQ0FBQztRQUN2QyxJQUFJLEtBQUssRUFBRSxNQUFNLEVBQUU7WUFDakIsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBTyxFQUFFLEVBQUU7Z0JBQzlCLElBQUksQ0FBQyxTQUFTLEVBQUU7b0JBQ2QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFdBQVcsRUFBRSxFQUFFLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQztpQkFDaEU7cUJBQU0sSUFBSSxTQUFTLEVBQUU7b0JBQ3BCLE9BQU8sQ0FDTCxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsV0FBVyxFQUFFLEVBQUUsT0FBTyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUNuRSxDQUFDO2lCQUNIO1lBQ0gsQ0FBQyxDQUFDLENBQUM7U0FDSjthQUFNO1lBQ0wsT0FBTyxFQUFFLENBQUM7U0FDWDtJQUNILENBQUM7K0dBeEJVLFVBQVU7NkdBQVYsVUFBVTs7NEZBQVYsVUFBVTtrQkFIdEIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsUUFBUTtpQkFDZiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQFBpcGUoe1xuICBuYW1lOiAnc2VhcmNoJyxcbn0pXG5leHBvcnQgY2xhc3MgU2VhcmNoUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICB0cmFuc2Zvcm0oaXRlbXM6IGFueVtdLCAuLi5hcmdzOiBhbnlbXSk6IGFueVtdIHtcbiAgICBsZXQgc2VhcmNoVGV4dCA9IGFyZ3NbMF07XG4gICAgY29uc3Qgc2VhcmNoS2V5ID0gYXJnc1sxXTtcbiAgICBpZiAoIWl0ZW1zKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuICAgIGlmICghc2VhcmNoVGV4dCkge1xuICAgICAgcmV0dXJuIGl0ZW1zO1xuICAgIH1cbiAgICBzZWFyY2hUZXh0ID0gc2VhcmNoVGV4dD8udG9Mb3dlckNhc2UoKTtcbiAgICBpZiAoaXRlbXM/Lmxlbmd0aCkge1xuICAgICAgcmV0dXJuIGl0ZW1zLmZpbHRlcigoaXQ6IGFueSkgPT4ge1xuICAgICAgICBpZiAoIXNlYXJjaEtleSkge1xuICAgICAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShpdCk/LnRvTG93ZXJDYXNlKCk/LmluY2x1ZGVzKHNlYXJjaFRleHQpO1xuICAgICAgICB9IGVsc2UgaWYgKHNlYXJjaEtleSkge1xuICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBpdFtzZWFyY2hLZXldPy50b1N0cmluZygpPy50b0xvd2VyQ2FzZSgpPy5pbmRleE9mKHNlYXJjaFRleHQpID4gLTFcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -6,6 +6,7 @@ import { PaginationModule } from '../../../../ui-kit/pagination/pagination.modul
|
|
|
6
6
|
import { PopoverModule } from '../../../../ui-kit/popover/popover.module';
|
|
7
7
|
import { TooltipModule } from '../../../../ui-kit/tooltip/tooltip.module';
|
|
8
8
|
import { WorkflowPipesModule } from '../../workflow-pipes/workflow-pipes.module';
|
|
9
|
+
import { PipesModule } from 'projects/vx-workflow-engine/src/lib/pipes/pipes.module';
|
|
9
10
|
import * as i0 from "@angular/core";
|
|
10
11
|
import * as i1 from "../../../../configurations";
|
|
11
12
|
import * as i2 from "@angular/common";
|
|
@@ -16,6 +17,7 @@ import * as i6 from "../../../../ui-kit/formgroup/cs-checkbox-indeterminate/cs-c
|
|
|
16
17
|
import * as i7 from "../../../../ui-kit/tooltip/tooltip.directive";
|
|
17
18
|
import * as i8 from "../../../../ui-kit/pagination/pagination/pagination.component";
|
|
18
19
|
import * as i9 from "../../workflow-pipes/user-short-name.pipe";
|
|
20
|
+
import * as i10 from "../../../../pipes/search.pipe";
|
|
19
21
|
export class GrcResponsibilityListingComponent {
|
|
20
22
|
set getResponsibilityList(value) {
|
|
21
23
|
this.dataList = value;
|
|
@@ -35,6 +37,7 @@ export class GrcResponsibilityListingComponent {
|
|
|
35
37
|
this.MODE = 'CREATE';
|
|
36
38
|
this.allSelectedResponsibilityIds = [];
|
|
37
39
|
this.selectedProgramAndResp = [];
|
|
40
|
+
this.searchString = '';
|
|
38
41
|
this.getUpdatedDataList = new EventEmitter();
|
|
39
42
|
this.changeSelectedProgramAndResp = new EventEmitter();
|
|
40
43
|
this.env = config?.envConfig;
|
|
@@ -163,7 +166,7 @@ export class GrcResponsibilityListingComponent {
|
|
|
163
166
|
return [...Array.from(idSet)].filter((item) => Array.isArray(item) ? item.length > 0 : true);
|
|
164
167
|
}
|
|
165
168
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GrcResponsibilityListingComponent, deps: [{ token: i1.Configurations, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
166
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GrcResponsibilityListingComponent, isStandalone: true, selector: "app-grc-responsibility-listing", inputs: { tableCard: "tableCard", activeProgram: "activeProgram", headerText: "headerText", currentPage: "currentPage", perPageLimit: "perPageLimit", totalListData: "totalListData", totalPages: "totalPages", selectedListData: "selectedListData", selectedListDataIds: "selectedListDataIds", MODE: "MODE", allSelectedResponsibilityIds: "allSelectedResponsibilityIds", getResponsibilityList: ["responsibilityData", "getResponsibilityList"], selectedProgramAndResp: "selectedProgramAndResp" }, outputs: { getUpdatedDataList: "getUpdatedDataList", changeSelectedProgramAndResp: "changeSelectedProgramAndResp" }, ngImport: i0, template: "<div class=\"grc-responsibility-listing\">\n <div class=\"top-heading vx-pl-2 vx-mb-2 vx-d-flex vx-align-center\">\n <app-cs-checkbox *ngIf=\"isAllSelected() || selectedListDataIds?.length === 0\" [ngValue]=\"isAllSelected()\"\n (ngValueChange)=\"selectAll($event)\"></app-cs-checkbox>\n <app-cs-checkbox-indeterminate *ngIf=\"!isAllSelected() && selectedListDataIds?.length\" [ngValue]=\"true\"\n (ngValueChange)=\"selectAll(false)\"></app-cs-checkbox-indeterminate>\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-ml-2 vx-lh-4\">{{headerText}}</div>\n </div>\n <div class=\"grc-responsibility-listing-inner\">\n <div class=\"grc-responsibility-table-body\" [class.with-pagination]=\"dataList?.total_pages > 1\">\n <div class=\"grc-responsibility-table-row\" *ngFor=\"let list of dataList?.data; let i = index\"\n [class.active]=\"allSelectedResponsibilityIds?.includes(list?._id)\">\n <div class=\"grc-responsibility-table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\">\n <div class=\"sr-no\" [appTooltip]=\"(perPageLimit * (currentPage - 1)) + i + 1\" placement=\"bottom\"\n delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">{{(perPageLimit * (currentPage - 1)) + i + 1}}\n </div>\n <app-cs-checkbox [ngValue]=\"allSelectedResponsibilityIds?.includes(list?._id)\"\n (ngValueChange)=\"getSelectedData(list,$event)\"></app-cs-checkbox>\n </div>\n <div class=\"grc-responsibility-table-column vx-pr-1 vx-d-flex vx-align-center responsibility-name\">\n <div class=\"vx-avatar-group vx-mr-1\">\n <div class=\"vx-avatar md\" [appTooltip]=\"list?.entrustedBy?.name\" placement=\"bottom-left\"\n delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">\n <span *ngIf=\"list?.entrustedBy?.profilePic === ''\" class=\"blue\">{{list.entrustedBy?.name |\n userShortName }}</span>\n <img *ngIf=\"list?.entrustedBy?.profilePic !== ''\"\n src=\"{{profilePic + list?.entrustedBy?.profilePic}}\" alt=\"\">\n </div>\n <div *ngIf=\"list?.entrustedTo?.EntrustedToMembers?.length === 0\" class=\"vx-avatar md\"\n [appTooltip]=\"list?.entrustedTo?.name\" placement=\"bottom-left\" delay=\"0\" type=\"black\"\n [tooltipMandatory]=\"true\">\n <span *ngIf=\"list?.entrustedTo?.profilePic === ''\" class=\"blue\">{{list?.entrustedTo?.name |\n userShortName }}</span>\n <img *ngIf=\"list?.entrustedTo?.profilePic !== ''\"\n src=\"{{profilePic + list?.entrustedTo?.profilePic}}\" alt=\"\">\n </div>\n <div *ngIf=\"list?.entrustedTo?.EntrustedToMembers?.length\" class=\"vx-avatar md counter\"\n appPopover (click)=\"multiUser.popover()\" placement=\"left\">\n <span class=\"green\">+{{list?.entrustedTo?.EntrustedToMembers?.length}}</span>\n </div>\n <app-popover #multiUser>\n <div class=\"wf-action-list\">\n <ul class=\"action-item\">\n <li *ngFor=\"let user of list?.entrustedTo?.EntrustedToMembers\">\n <div class=\"avatar-card\">\n <div *ngIf=\"user?.profile_pic === ''\" class=\"avatar\">{{user?.member_name |\n userShortName }}</div>\n <div *ngIf=\"user?.profile_pic !== ''\" class=\"avatar\"><img\n src=\"{{profilePic + user?.profile_pic}}\" alt=\"\"></div>\n <span class=\"value\" [appTooltip]=\"user.member_name\" placement=\"bottom-left\"\n delay=\"0\" type=\"black\"\n [tooltipMandatory]=\"false\">{{user?.member_name}}</span>\n </div>\n </li>\n </ul>\n </div>\n </app-popover>\n </div>\n <!-- <i class=\"icons star vx-fs-10 vx-mr-1\" [class.active]=\"true\"></i> -->\n <div class=\"name-inner\">\n <div class=\"vx-d-flex vx-align-center\">\n <div class=\"name vx-fs-13 vx-label-txt\" [appTooltip]=\"list?.name\" placement=\"bottom-left\"\n delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{list?.controlId}}{{list?.name}}\n </div>\n </div>\n <div class=\"vx-d-flex vx-align-center\" *ngIf=\"list?.withinData?.length\">\n <div class=\"vx-fs-10 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mr-1\">RESPONSIBILITY CENTER:\n </div>\n <div class=\"within-part vx-d-flex vx-align-center vx-pr-3\">\n <div\n class=\"within-box vx-fs-9 vx-fw-600 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2 vx-lh-3\">\n Within</div>\n <div class=\"within-value vx-fs-11 vx-paragraph-txt\"><span\n *ngFor=\"let parent of list?.withinData; let last = last\"\n [appTooltip]=\"parent?.name\" placement=\"bottom-left\" delay=\"0\" type=\"black\"\n [tooltipMandatory]=\"false\">{{parent?.name}}\n <span *ngIf=\"!last\">\n < </span>\n </span></div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <app-pagination *ngIf=\"dataList?.total_pages > 1\" [start]=\"dataList?.items_from\" [end]=\"dataList?.items_to\"\n [total]=\"dataList?.total_items\" [pageCount]=\"dataList?.total_pages\" [currentPage]=\"currentPage\"\n (selectedPage)=\"changePage($event)\"></app-pagination>\n </div>\n</div>", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css/avatars/avatars.css\";::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}::ng-deep .grc-responsibility-listing .top-heading{border-left:1px solid transparent}::ng-deep .grc-responsibility-listing .top-heading app-cs-checkbox,::ng-deep .grc-responsibility-listing .top-heading app-cs-checkbox-indeterminate{width:1rem;height:1rem;position:relative}::ng-deep .grc-responsibility-listing .top-heading app-cs-checkbox .checkbox-item,::ng-deep .grc-responsibility-listing .top-heading app-cs-checkbox-indeterminate .checkbox-item{position:absolute;top:0;left:0;width:1rem;height:1rem}::ng-deep .grc-responsibility-listing-inner{border-radius:.25rem;border:1px solid #f1f1f1;height:calc(100vh - 16rem);overflow:hidden}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body{overflow:hidden;overflow-y:auto;height:calc(100vh - 16rem)}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body::-webkit-scrollbar-track{background-color:transparent}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row{border-bottom:1px solid #f1f1f1;display:flex;justify-content:space-between;position:relative}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row:hover .grc-responsibility-table-column.serial app-cs-checkbox,::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row.active .grc-responsibility-table-column.serial app-cs-checkbox{opacity:1}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column{min-height:3.25rem;position:relative;width:100%}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial{width:2rem;max-width:2rem;justify-content:center}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial .sr-no{width:1rem;background:#f8f8f8;writing-mode:vertical-lr;color:#747576;font-size:.625rem;font-weight:500;display:flex;height:3.25rem;align-items:center;justify-content:center;position:relative;transition:all .2s ease-in-out}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial app-cs-checkbox{background:#fff;border-radius:.125rem;position:absolute;top:1.125rem;left:.5rem;width:1rem;height:1rem;opacity:0;transition:all .2s ease-in-out}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial app-cs-checkbox .checkbox-item{position:absolute!important}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial app-cs-checkbox .checkbox-item .checkbox,::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial app-cs-checkbox .checkbox-item .checkmark{position:absolute;top:0}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name{width:calc(100% - 2rem);min-width:calc(100% - 2rem)}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name .star{color:#f1f1f1}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name .star.active{color:#f4c84a}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name .name-inner{width:calc(100% - 5rem)}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name .name-inner .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:calc(100% - 6rem)}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name .name-inner .within-part{width:calc(100% - 8rem)}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body.with-pagination{height:calc(100vh - 21.5rem)}::ng-deep .grc-responsibility-listing-inner app-pagination .wk-pagination-sec-ds{background:#fff;border-radius:0;box-shadow:0 -10px 20px #1e5dd31a;padding:.5rem;justify-content:unset}::ng-deep .grc-responsibility-listing-inner app-pagination .wk-pagination-sec-ds .right{order:1}::ng-deep .grc-responsibility-listing-inner app-pagination .wk-pagination-sec-ds .right .goto-page{display:none!important}::ng-deep .grc-responsibility-listing-inner app-pagination .wk-pagination-sec-ds .left{order:2;font-size:11px!important;color:#747576!important;text-transform:capitalize!important;margin-left:.75rem}.cursor-pointer{cursor:pointer}::ng-deep .wf-action-list{width:220px}::ng-deep .wf-action-list ul{padding:0;margin:0;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;background:#fff;box-shadow:0 3px 6px #1c5bd140;border-radius:4px;max-height:220px;overflow:auto}::ng-deep .wf-action-list ul.action-item{display:block}::ng-deep .wf-action-list ul.action-item li{list-style:none;border:none;border-bottom:1px solid #f1f1f1;display:block;width:100%;padding:0;background:transparent;border-radius:0;margin:0;height:auto;justify-content:flex-start;box-shadow:none}::ng-deep .wf-action-list ul.action-item li button{color:#6e717e;text-align:left;text-decoration:none;cursor:pointer;background:transparent;font-size:12px;text-transform:capitalize;display:flex;width:100%;padding:7.5px 11px;border:none}::ng-deep .wf-action-list ul.action-item li button i{font-size:16px;margin-right:10px;color:#1e5dd3}::ng-deep .wf-action-list ul.action-item li button:hover{background:#f3f3f3}::ng-deep .wf-action-list ul.action-item li .avatar-card{display:flex;align-items:center;width:100%;padding:7.5px}::ng-deep .wf-action-list ul.action-item li .avatar-card.within-con{display:block}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar{height:24px;width:24px!important;overflow:hidden;background:#1e5dd3;color:#fff;font-size:10px;display:inline-flex;margin-right:5px;border-radius:50%;align-items:center;justify-content:center;text-transform:uppercase}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar img{width:100%}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar+span.value{width:calc(100% - 29px)}::ng-deep .wf-action-list ul.action-item li .avatar-card span.value{width:100%;color:#6e717e;text-decoration:none;background:transparent;font-size:12px;text-transform:capitalize;display:block;font-weight:400;text-align-last:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:20px}::ng-deep .wf-action-list ul.action-item li .avatar-card span.value i{font-size:8px;color:#747576;cursor:pointer;margin-right:5px}::ng-deep .wf-action-list ul.action-item li .avatar-card.no-image{display:block}::ng-deep .wf-action-list ul.action-item li .avatar-card.no-image span.value{width:100%;display:block}::ng-deep .wf-action-list ul.action-item li .chip-item{color:#1e5dd3;padding:10px;display:flex;align-items:center}::ng-deep .wf-action-list ul.action-item li .chip-item i{color:#747576;margin-right:7px;font-size:10px;cursor:pointer;display:inline-flex}::ng-deep .wf-action-list ul.action-item li .chip-item span{display:block;width:auto;max-width:calc(100% - 17px);font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::ng-deep .wf-action-list ul.action-item li .chip-item span.chip-block{display:block;width:100%}::ng-deep .wf-action-list ul.action-item li .chip-item span.id{font-size:9px}::ng-deep .wf-action-list ul.action-item li .within{display:flex;align-items:center;justify-content:flex-start}::ng-deep .wf-action-list ul.action-item li .within .block{background:#f1f1f1;border-radius:2px;padding:0 2px;line-height:14px;font-size:9px;font-weight:500;color:#042e7d;margin-right:6px;display:block;text-transform:uppercase}::ng-deep .wf-action-list ul.action-item li .within .data{width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#747576;font-size:11px;font-weight:400;line-height:17px}::ng-deep .wf-action-list ul.action-item li:first-child{animation:action-list-open .25s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(2){animation:action-list-open .35s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(3){animation:action-list-open .45s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(4){animation:action-list-open .55s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(5){animation:action-list-open .65s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(6){animation:action-list-open .75s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(7){animation:action-list-open .85s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(8){animation:action-list-open .95s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(9){animation:action-list-open 1.05s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(10){animation:action-list-open 1.15s cubic-bezier(.25,.46,.45,.94) both}@keyframes action-list-open{0%{transform:translateY(50px)}to{transform:translateY(0)}}@keyframes scale-up-center{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: PopoverModule }, { kind: "component", type: i3.PopoverComponent, selector: "app-popover", inputs: ["dontCloseonClick"], outputs: ["closePopoverEvent"] }, { kind: "directive", type: i4.PopoverDirective, selector: "[appPopover]", inputs: ["refrence", "placement"] }, { kind: "ngmodule", type: FormgroupModule }, { kind: "component", type: i5.CsCheckboxComponentUI, selector: "app-cs-checkbox", inputs: ["disabled", "ngValue", "value"], outputs: ["ngValueChange"] }, { kind: "component", type: i6.CsCheckboxIndeterminateComponentUI, selector: "app-cs-checkbox-indeterminate", inputs: ["disabled", "ngValue", "value"], outputs: ["ngValueChange"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i7.ToolTipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { kind: "ngmodule", type: FloatingBarModule }, { kind: "ngmodule", type: PaginationModule }, { kind: "component", type: i8.PaginationComponentUI, selector: "app-pagination", inputs: ["activeAlphabet", "pageCount", "start", "end", "total", "currentPage"], outputs: ["selectedPage", "selectedAlphabet"] }, { kind: "ngmodule", type: WorkflowPipesModule }, { kind: "pipe", type: i9.GetUserShortNamePipe, name: "userShortName" }] }); }
|
|
169
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GrcResponsibilityListingComponent, isStandalone: true, selector: "app-grc-responsibility-listing", inputs: { tableCard: "tableCard", activeProgram: "activeProgram", headerText: "headerText", currentPage: "currentPage", perPageLimit: "perPageLimit", totalListData: "totalListData", totalPages: "totalPages", selectedListData: "selectedListData", selectedListDataIds: "selectedListDataIds", MODE: "MODE", allSelectedResponsibilityIds: "allSelectedResponsibilityIds", getResponsibilityList: ["responsibilityData", "getResponsibilityList"], selectedProgramAndResp: "selectedProgramAndResp", searchString: "searchString" }, outputs: { getUpdatedDataList: "getUpdatedDataList", changeSelectedProgramAndResp: "changeSelectedProgramAndResp" }, ngImport: i0, template: "<div class=\"grc-responsibility-listing\">\n <div class=\"top-heading vx-pl-2 vx-mb-2 vx-d-flex vx-align-center\">\n <app-cs-checkbox *ngIf=\"isAllSelected() || selectedListDataIds?.length === 0\" [ngValue]=\"isAllSelected()\"\n (ngValueChange)=\"selectAll($event)\"></app-cs-checkbox>\n <app-cs-checkbox-indeterminate *ngIf=\"!isAllSelected() && selectedListDataIds?.length\" [ngValue]=\"true\"\n (ngValueChange)=\"selectAll(false)\"></app-cs-checkbox-indeterminate>\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-ml-2 vx-lh-4\">{{headerText}}</div>\n </div>\n <div class=\"grc-responsibility-listing-inner\">\n <div class=\"grc-responsibility-table-body\" [class.with-pagination]=\"dataList?.total_pages > 1\">\n <div class=\"grc-responsibility-table-row\"\n *ngFor=\"let list of dataList?.data | search: searchString : 'name' ; let i = index\"\n [class.active]=\"allSelectedResponsibilityIds?.includes(list?._id)\">\n <div class=\"grc-responsibility-table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\">\n <div class=\"sr-no\" [appTooltip]=\"(perPageLimit * (currentPage - 1)) + i + 1\" placement=\"bottom\"\n delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">{{(perPageLimit * (currentPage - 1)) + i + 1}}\n </div>\n <app-cs-checkbox [ngValue]=\"allSelectedResponsibilityIds?.includes(list?._id)\"\n (ngValueChange)=\"getSelectedData(list,$event)\"></app-cs-checkbox>\n </div>\n <div class=\"grc-responsibility-table-column vx-pr-1 vx-d-flex vx-align-center responsibility-name\">\n <div class=\"vx-avatar-group vx-mr-1\">\n <div class=\"vx-avatar md\" [appTooltip]=\"list?.entrustedBy?.name\" placement=\"bottom-left\"\n delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">\n <span *ngIf=\"list?.entrustedBy?.profilePic === ''\" class=\"blue\">{{list.entrustedBy?.name |\n userShortName }}</span>\n <img *ngIf=\"list?.entrustedBy?.profilePic !== ''\"\n src=\"{{profilePic + list?.entrustedBy?.profilePic}}\" alt=\"\">\n </div>\n <div *ngIf=\"list?.entrustedTo?.EntrustedToMembers?.length === 0\" class=\"vx-avatar md\"\n [appTooltip]=\"list?.entrustedTo?.name\" placement=\"bottom-left\" delay=\"0\" type=\"black\"\n [tooltipMandatory]=\"true\">\n <span *ngIf=\"list?.entrustedTo?.profilePic === ''\" class=\"blue\">{{list?.entrustedTo?.name |\n userShortName }}</span>\n <img *ngIf=\"list?.entrustedTo?.profilePic !== ''\"\n src=\"{{profilePic + list?.entrustedTo?.profilePic}}\" alt=\"\">\n </div>\n <div *ngIf=\"list?.entrustedTo?.EntrustedToMembers?.length\" class=\"vx-avatar md counter\"\n appPopover (click)=\"multiUser.popover()\" placement=\"left\">\n <span class=\"green\">+{{list?.entrustedTo?.EntrustedToMembers?.length}}</span>\n </div>\n <app-popover #multiUser>\n <div class=\"wf-action-list\">\n <ul class=\"action-item\">\n <li *ngFor=\"let user of list?.entrustedTo?.EntrustedToMembers\">\n <div class=\"avatar-card\">\n <div *ngIf=\"user?.profile_pic === ''\" class=\"avatar\">{{user?.member_name |\n userShortName }}</div>\n <div *ngIf=\"user?.profile_pic !== ''\" class=\"avatar\"><img\n src=\"{{profilePic + user?.profile_pic}}\" alt=\"\"></div>\n <span class=\"value\" [appTooltip]=\"user.member_name\" placement=\"bottom-left\"\n delay=\"0\" type=\"black\"\n [tooltipMandatory]=\"false\">{{user?.member_name}}</span>\n </div>\n </li>\n </ul>\n </div>\n </app-popover>\n </div>\n <!-- <i class=\"icons star vx-fs-10 vx-mr-1\" [class.active]=\"true\"></i> -->\n <div class=\"name-inner\">\n <div class=\"vx-d-flex vx-align-center\">\n <div class=\"name vx-fs-13 vx-label-txt\" [appTooltip]=\"list?.name\" placement=\"bottom-left\"\n delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{list?.controlId}}{{list?.name}}\n </div>\n </div>\n <div class=\"vx-d-flex vx-align-center\" *ngIf=\"list?.withinData?.length\">\n <div class=\"vx-fs-10 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mr-1\">RESPONSIBILITY CENTER:\n </div>\n <div class=\"within-part vx-d-flex vx-align-center vx-pr-3\">\n <div\n class=\"within-box vx-fs-9 vx-fw-600 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2 vx-lh-3\">\n Within</div>\n <div class=\"within-value vx-fs-11 vx-paragraph-txt\"><span\n *ngFor=\"let parent of list?.withinData; let last = last\"\n [appTooltip]=\"parent?.name\" placement=\"bottom-left\" delay=\"0\" type=\"black\"\n [tooltipMandatory]=\"false\">{{parent?.name}}\n <span *ngIf=\"!last\">\n < </span>\n </span></div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <app-pagination *ngIf=\"dataList?.total_pages > 1\" [start]=\"dataList?.items_from\" [end]=\"dataList?.items_to\"\n [total]=\"dataList?.total_items\" [pageCount]=\"dataList?.total_pages\" [currentPage]=\"currentPage\"\n (selectedPage)=\"changePage($event)\"></app-pagination>\n </div>\n</div>", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css/avatars/avatars.css\";::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}::ng-deep .grc-responsibility-listing .top-heading{border-left:1px solid transparent}::ng-deep .grc-responsibility-listing .top-heading app-cs-checkbox,::ng-deep .grc-responsibility-listing .top-heading app-cs-checkbox-indeterminate{width:1rem;height:1rem;position:relative}::ng-deep .grc-responsibility-listing .top-heading app-cs-checkbox .checkbox-item,::ng-deep .grc-responsibility-listing .top-heading app-cs-checkbox-indeterminate .checkbox-item{position:absolute;top:0;left:0;width:1rem;height:1rem}::ng-deep .grc-responsibility-listing-inner{border-radius:.25rem;border:1px solid #f1f1f1;height:calc(100vh - 16rem);overflow:hidden}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body{overflow:hidden;overflow-y:auto;height:calc(100vh - 16rem)}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body::-webkit-scrollbar-track{background-color:transparent}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row{border-bottom:1px solid #f1f1f1;display:flex;justify-content:space-between;position:relative}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row:hover .grc-responsibility-table-column.serial app-cs-checkbox,::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row.active .grc-responsibility-table-column.serial app-cs-checkbox{opacity:1}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column{min-height:3.25rem;position:relative;width:100%}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial{width:2rem;max-width:2rem;justify-content:center}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial .sr-no{width:1rem;background:#f8f8f8;writing-mode:vertical-lr;color:#747576;font-size:.625rem;font-weight:500;display:flex;height:3.25rem;align-items:center;justify-content:center;position:relative;transition:all .2s ease-in-out}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial app-cs-checkbox{background:#fff;border-radius:.125rem;position:absolute;top:1.125rem;left:.5rem;width:1rem;height:1rem;opacity:0;transition:all .2s ease-in-out}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial app-cs-checkbox .checkbox-item{position:absolute!important}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial app-cs-checkbox .checkbox-item .checkbox,::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial app-cs-checkbox .checkbox-item .checkmark{position:absolute;top:0}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name{width:calc(100% - 2rem);min-width:calc(100% - 2rem)}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name .star{color:#f1f1f1}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name .star.active{color:#f4c84a}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name .name-inner{width:calc(100% - 5rem)}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name .name-inner .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:calc(100% - 6rem)}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name .name-inner .within-part{width:calc(100% - 8rem)}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body.with-pagination{height:calc(100vh - 21.5rem)}::ng-deep .grc-responsibility-listing-inner app-pagination .wk-pagination-sec-ds{background:#fff;border-radius:0;box-shadow:0 -10px 20px #1e5dd31a;padding:.5rem;justify-content:unset}::ng-deep .grc-responsibility-listing-inner app-pagination .wk-pagination-sec-ds .right{order:1}::ng-deep .grc-responsibility-listing-inner app-pagination .wk-pagination-sec-ds .right .goto-page{display:none!important}::ng-deep .grc-responsibility-listing-inner app-pagination .wk-pagination-sec-ds .left{order:2;font-size:11px!important;color:#747576!important;text-transform:capitalize!important;margin-left:.75rem}.cursor-pointer{cursor:pointer}::ng-deep .wf-action-list{width:220px}::ng-deep .wf-action-list ul{padding:0;margin:0;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;background:#fff;box-shadow:0 3px 6px #1c5bd140;border-radius:4px;max-height:220px;overflow:auto}::ng-deep .wf-action-list ul.action-item{display:block}::ng-deep .wf-action-list ul.action-item li{list-style:none;border:none;border-bottom:1px solid #f1f1f1;display:block;width:100%;padding:0;background:transparent;border-radius:0;margin:0;height:auto;justify-content:flex-start;box-shadow:none}::ng-deep .wf-action-list ul.action-item li button{color:#6e717e;text-align:left;text-decoration:none;cursor:pointer;background:transparent;font-size:12px;text-transform:capitalize;display:flex;width:100%;padding:7.5px 11px;border:none}::ng-deep .wf-action-list ul.action-item li button i{font-size:16px;margin-right:10px;color:#1e5dd3}::ng-deep .wf-action-list ul.action-item li button:hover{background:#f3f3f3}::ng-deep .wf-action-list ul.action-item li .avatar-card{display:flex;align-items:center;width:100%;padding:7.5px}::ng-deep .wf-action-list ul.action-item li .avatar-card.within-con{display:block}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar{height:24px;width:24px!important;overflow:hidden;background:#1e5dd3;color:#fff;font-size:10px;display:inline-flex;margin-right:5px;border-radius:50%;align-items:center;justify-content:center;text-transform:uppercase}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar img{width:100%}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar+span.value{width:calc(100% - 29px)}::ng-deep .wf-action-list ul.action-item li .avatar-card span.value{width:100%;color:#6e717e;text-decoration:none;background:transparent;font-size:12px;text-transform:capitalize;display:block;font-weight:400;text-align-last:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:20px}::ng-deep .wf-action-list ul.action-item li .avatar-card span.value i{font-size:8px;color:#747576;cursor:pointer;margin-right:5px}::ng-deep .wf-action-list ul.action-item li .avatar-card.no-image{display:block}::ng-deep .wf-action-list ul.action-item li .avatar-card.no-image span.value{width:100%;display:block}::ng-deep .wf-action-list ul.action-item li .chip-item{color:#1e5dd3;padding:10px;display:flex;align-items:center}::ng-deep .wf-action-list ul.action-item li .chip-item i{color:#747576;margin-right:7px;font-size:10px;cursor:pointer;display:inline-flex}::ng-deep .wf-action-list ul.action-item li .chip-item span{display:block;width:auto;max-width:calc(100% - 17px);font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::ng-deep .wf-action-list ul.action-item li .chip-item span.chip-block{display:block;width:100%}::ng-deep .wf-action-list ul.action-item li .chip-item span.id{font-size:9px}::ng-deep .wf-action-list ul.action-item li .within{display:flex;align-items:center;justify-content:flex-start}::ng-deep .wf-action-list ul.action-item li .within .block{background:#f1f1f1;border-radius:2px;padding:0 2px;line-height:14px;font-size:9px;font-weight:500;color:#042e7d;margin-right:6px;display:block;text-transform:uppercase}::ng-deep .wf-action-list ul.action-item li .within .data{width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#747576;font-size:11px;font-weight:400;line-height:17px}::ng-deep .wf-action-list ul.action-item li:first-child{animation:action-list-open .25s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(2){animation:action-list-open .35s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(3){animation:action-list-open .45s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(4){animation:action-list-open .55s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(5){animation:action-list-open .65s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(6){animation:action-list-open .75s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(7){animation:action-list-open .85s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(8){animation:action-list-open .95s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(9){animation:action-list-open 1.05s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(10){animation:action-list-open 1.15s cubic-bezier(.25,.46,.45,.94) both}@keyframes action-list-open{0%{transform:translateY(50px)}to{transform:translateY(0)}}@keyframes scale-up-center{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: PopoverModule }, { kind: "component", type: i3.PopoverComponent, selector: "app-popover", inputs: ["dontCloseonClick"], outputs: ["closePopoverEvent"] }, { kind: "directive", type: i4.PopoverDirective, selector: "[appPopover]", inputs: ["refrence", "placement"] }, { kind: "ngmodule", type: FormgroupModule }, { kind: "component", type: i5.CsCheckboxComponentUI, selector: "app-cs-checkbox", inputs: ["disabled", "ngValue", "value"], outputs: ["ngValueChange"] }, { kind: "component", type: i6.CsCheckboxIndeterminateComponentUI, selector: "app-cs-checkbox-indeterminate", inputs: ["disabled", "ngValue", "value"], outputs: ["ngValueChange"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i7.ToolTipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { kind: "ngmodule", type: FloatingBarModule }, { kind: "ngmodule", type: PaginationModule }, { kind: "component", type: i8.PaginationComponentUI, selector: "app-pagination", inputs: ["activeAlphabet", "pageCount", "start", "end", "total", "currentPage"], outputs: ["selectedPage", "selectedAlphabet"] }, { kind: "ngmodule", type: WorkflowPipesModule }, { kind: "pipe", type: i9.GetUserShortNamePipe, name: "userShortName" }, { kind: "ngmodule", type: PipesModule }, { kind: "pipe", type: i10.SearchPipe, name: "search" }] }); }
|
|
167
170
|
}
|
|
168
171
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GrcResponsibilityListingComponent, decorators: [{
|
|
169
172
|
type: Component,
|
|
@@ -175,6 +178,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
175
178
|
FloatingBarModule,
|
|
176
179
|
PaginationModule,
|
|
177
180
|
WorkflowPipesModule,
|
|
181
|
+
PipesModule,
|
|
178
182
|
], inputs: [
|
|
179
183
|
'tableCard',
|
|
180
184
|
'activeProgram',
|
|
@@ -186,7 +190,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
186
190
|
'selectedListData',
|
|
187
191
|
'selectedListDataIds',
|
|
188
192
|
'MODE'
|
|
189
|
-
], template: "<div class=\"grc-responsibility-listing\">\n <div class=\"top-heading vx-pl-2 vx-mb-2 vx-d-flex vx-align-center\">\n <app-cs-checkbox *ngIf=\"isAllSelected() || selectedListDataIds?.length === 0\" [ngValue]=\"isAllSelected()\"\n (ngValueChange)=\"selectAll($event)\"></app-cs-checkbox>\n <app-cs-checkbox-indeterminate *ngIf=\"!isAllSelected() && selectedListDataIds?.length\" [ngValue]=\"true\"\n (ngValueChange)=\"selectAll(false)\"></app-cs-checkbox-indeterminate>\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-ml-2 vx-lh-4\">{{headerText}}</div>\n </div>\n <div class=\"grc-responsibility-listing-inner\">\n <div class=\"grc-responsibility-table-body\" [class.with-pagination]=\"dataList?.total_pages > 1\">\n <div class=\"grc-responsibility-table-row\" *ngFor=\"let list of dataList?.data; let i = index\"\n [class.active]=\"allSelectedResponsibilityIds?.includes(list?._id)\">\n <div class=\"grc-responsibility-table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\">\n <div class=\"sr-no\" [appTooltip]=\"(perPageLimit * (currentPage - 1)) + i + 1\" placement=\"bottom\"\n delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">{{(perPageLimit * (currentPage - 1)) + i + 1}}\n </div>\n <app-cs-checkbox [ngValue]=\"allSelectedResponsibilityIds?.includes(list?._id)\"\n (ngValueChange)=\"getSelectedData(list,$event)\"></app-cs-checkbox>\n </div>\n <div class=\"grc-responsibility-table-column vx-pr-1 vx-d-flex vx-align-center responsibility-name\">\n <div class=\"vx-avatar-group vx-mr-1\">\n <div class=\"vx-avatar md\" [appTooltip]=\"list?.entrustedBy?.name\" placement=\"bottom-left\"\n delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">\n <span *ngIf=\"list?.entrustedBy?.profilePic === ''\" class=\"blue\">{{list.entrustedBy?.name |\n userShortName }}</span>\n <img *ngIf=\"list?.entrustedBy?.profilePic !== ''\"\n src=\"{{profilePic + list?.entrustedBy?.profilePic}}\" alt=\"\">\n </div>\n <div *ngIf=\"list?.entrustedTo?.EntrustedToMembers?.length === 0\" class=\"vx-avatar md\"\n [appTooltip]=\"list?.entrustedTo?.name\" placement=\"bottom-left\" delay=\"0\" type=\"black\"\n [tooltipMandatory]=\"true\">\n <span *ngIf=\"list?.entrustedTo?.profilePic === ''\" class=\"blue\">{{list?.entrustedTo?.name |\n userShortName }}</span>\n <img *ngIf=\"list?.entrustedTo?.profilePic !== ''\"\n src=\"{{profilePic + list?.entrustedTo?.profilePic}}\" alt=\"\">\n </div>\n <div *ngIf=\"list?.entrustedTo?.EntrustedToMembers?.length\" class=\"vx-avatar md counter\"\n appPopover (click)=\"multiUser.popover()\" placement=\"left\">\n <span class=\"green\">+{{list?.entrustedTo?.EntrustedToMembers?.length}}</span>\n </div>\n <app-popover #multiUser>\n <div class=\"wf-action-list\">\n <ul class=\"action-item\">\n <li *ngFor=\"let user of list?.entrustedTo?.EntrustedToMembers\">\n <div class=\"avatar-card\">\n <div *ngIf=\"user?.profile_pic === ''\" class=\"avatar\">{{user?.member_name |\n userShortName }}</div>\n <div *ngIf=\"user?.profile_pic !== ''\" class=\"avatar\"><img\n src=\"{{profilePic + user?.profile_pic}}\" alt=\"\"></div>\n <span class=\"value\" [appTooltip]=\"user.member_name\" placement=\"bottom-left\"\n delay=\"0\" type=\"black\"\n [tooltipMandatory]=\"false\">{{user?.member_name}}</span>\n </div>\n </li>\n </ul>\n </div>\n </app-popover>\n </div>\n <!-- <i class=\"icons star vx-fs-10 vx-mr-1\" [class.active]=\"true\"></i> -->\n <div class=\"name-inner\">\n <div class=\"vx-d-flex vx-align-center\">\n <div class=\"name vx-fs-13 vx-label-txt\" [appTooltip]=\"list?.name\" placement=\"bottom-left\"\n delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{list?.controlId}}{{list?.name}}\n </div>\n </div>\n <div class=\"vx-d-flex vx-align-center\" *ngIf=\"list?.withinData?.length\">\n <div class=\"vx-fs-10 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mr-1\">RESPONSIBILITY CENTER:\n </div>\n <div class=\"within-part vx-d-flex vx-align-center vx-pr-3\">\n <div\n class=\"within-box vx-fs-9 vx-fw-600 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2 vx-lh-3\">\n Within</div>\n <div class=\"within-value vx-fs-11 vx-paragraph-txt\"><span\n *ngFor=\"let parent of list?.withinData; let last = last\"\n [appTooltip]=\"parent?.name\" placement=\"bottom-left\" delay=\"0\" type=\"black\"\n [tooltipMandatory]=\"false\">{{parent?.name}}\n <span *ngIf=\"!last\">\n < </span>\n </span></div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <app-pagination *ngIf=\"dataList?.total_pages > 1\" [start]=\"dataList?.items_from\" [end]=\"dataList?.items_to\"\n [total]=\"dataList?.total_items\" [pageCount]=\"dataList?.total_pages\" [currentPage]=\"currentPage\"\n (selectedPage)=\"changePage($event)\"></app-pagination>\n </div>\n</div>", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css/avatars/avatars.css\";::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}::ng-deep .grc-responsibility-listing .top-heading{border-left:1px solid transparent}::ng-deep .grc-responsibility-listing .top-heading app-cs-checkbox,::ng-deep .grc-responsibility-listing .top-heading app-cs-checkbox-indeterminate{width:1rem;height:1rem;position:relative}::ng-deep .grc-responsibility-listing .top-heading app-cs-checkbox .checkbox-item,::ng-deep .grc-responsibility-listing .top-heading app-cs-checkbox-indeterminate .checkbox-item{position:absolute;top:0;left:0;width:1rem;height:1rem}::ng-deep .grc-responsibility-listing-inner{border-radius:.25rem;border:1px solid #f1f1f1;height:calc(100vh - 16rem);overflow:hidden}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body{overflow:hidden;overflow-y:auto;height:calc(100vh - 16rem)}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body::-webkit-scrollbar-track{background-color:transparent}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row{border-bottom:1px solid #f1f1f1;display:flex;justify-content:space-between;position:relative}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row:hover .grc-responsibility-table-column.serial app-cs-checkbox,::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row.active .grc-responsibility-table-column.serial app-cs-checkbox{opacity:1}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column{min-height:3.25rem;position:relative;width:100%}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial{width:2rem;max-width:2rem;justify-content:center}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial .sr-no{width:1rem;background:#f8f8f8;writing-mode:vertical-lr;color:#747576;font-size:.625rem;font-weight:500;display:flex;height:3.25rem;align-items:center;justify-content:center;position:relative;transition:all .2s ease-in-out}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial app-cs-checkbox{background:#fff;border-radius:.125rem;position:absolute;top:1.125rem;left:.5rem;width:1rem;height:1rem;opacity:0;transition:all .2s ease-in-out}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial app-cs-checkbox .checkbox-item{position:absolute!important}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial app-cs-checkbox .checkbox-item .checkbox,::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial app-cs-checkbox .checkbox-item .checkmark{position:absolute;top:0}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name{width:calc(100% - 2rem);min-width:calc(100% - 2rem)}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name .star{color:#f1f1f1}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name .star.active{color:#f4c84a}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name .name-inner{width:calc(100% - 5rem)}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name .name-inner .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:calc(100% - 6rem)}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name .name-inner .within-part{width:calc(100% - 8rem)}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body.with-pagination{height:calc(100vh - 21.5rem)}::ng-deep .grc-responsibility-listing-inner app-pagination .wk-pagination-sec-ds{background:#fff;border-radius:0;box-shadow:0 -10px 20px #1e5dd31a;padding:.5rem;justify-content:unset}::ng-deep .grc-responsibility-listing-inner app-pagination .wk-pagination-sec-ds .right{order:1}::ng-deep .grc-responsibility-listing-inner app-pagination .wk-pagination-sec-ds .right .goto-page{display:none!important}::ng-deep .grc-responsibility-listing-inner app-pagination .wk-pagination-sec-ds .left{order:2;font-size:11px!important;color:#747576!important;text-transform:capitalize!important;margin-left:.75rem}.cursor-pointer{cursor:pointer}::ng-deep .wf-action-list{width:220px}::ng-deep .wf-action-list ul{padding:0;margin:0;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;background:#fff;box-shadow:0 3px 6px #1c5bd140;border-radius:4px;max-height:220px;overflow:auto}::ng-deep .wf-action-list ul.action-item{display:block}::ng-deep .wf-action-list ul.action-item li{list-style:none;border:none;border-bottom:1px solid #f1f1f1;display:block;width:100%;padding:0;background:transparent;border-radius:0;margin:0;height:auto;justify-content:flex-start;box-shadow:none}::ng-deep .wf-action-list ul.action-item li button{color:#6e717e;text-align:left;text-decoration:none;cursor:pointer;background:transparent;font-size:12px;text-transform:capitalize;display:flex;width:100%;padding:7.5px 11px;border:none}::ng-deep .wf-action-list ul.action-item li button i{font-size:16px;margin-right:10px;color:#1e5dd3}::ng-deep .wf-action-list ul.action-item li button:hover{background:#f3f3f3}::ng-deep .wf-action-list ul.action-item li .avatar-card{display:flex;align-items:center;width:100%;padding:7.5px}::ng-deep .wf-action-list ul.action-item li .avatar-card.within-con{display:block}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar{height:24px;width:24px!important;overflow:hidden;background:#1e5dd3;color:#fff;font-size:10px;display:inline-flex;margin-right:5px;border-radius:50%;align-items:center;justify-content:center;text-transform:uppercase}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar img{width:100%}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar+span.value{width:calc(100% - 29px)}::ng-deep .wf-action-list ul.action-item li .avatar-card span.value{width:100%;color:#6e717e;text-decoration:none;background:transparent;font-size:12px;text-transform:capitalize;display:block;font-weight:400;text-align-last:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:20px}::ng-deep .wf-action-list ul.action-item li .avatar-card span.value i{font-size:8px;color:#747576;cursor:pointer;margin-right:5px}::ng-deep .wf-action-list ul.action-item li .avatar-card.no-image{display:block}::ng-deep .wf-action-list ul.action-item li .avatar-card.no-image span.value{width:100%;display:block}::ng-deep .wf-action-list ul.action-item li .chip-item{color:#1e5dd3;padding:10px;display:flex;align-items:center}::ng-deep .wf-action-list ul.action-item li .chip-item i{color:#747576;margin-right:7px;font-size:10px;cursor:pointer;display:inline-flex}::ng-deep .wf-action-list ul.action-item li .chip-item span{display:block;width:auto;max-width:calc(100% - 17px);font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::ng-deep .wf-action-list ul.action-item li .chip-item span.chip-block{display:block;width:100%}::ng-deep .wf-action-list ul.action-item li .chip-item span.id{font-size:9px}::ng-deep .wf-action-list ul.action-item li .within{display:flex;align-items:center;justify-content:flex-start}::ng-deep .wf-action-list ul.action-item li .within .block{background:#f1f1f1;border-radius:2px;padding:0 2px;line-height:14px;font-size:9px;font-weight:500;color:#042e7d;margin-right:6px;display:block;text-transform:uppercase}::ng-deep .wf-action-list ul.action-item li .within .data{width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#747576;font-size:11px;font-weight:400;line-height:17px}::ng-deep .wf-action-list ul.action-item li:first-child{animation:action-list-open .25s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(2){animation:action-list-open .35s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(3){animation:action-list-open .45s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(4){animation:action-list-open .55s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(5){animation:action-list-open .65s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(6){animation:action-list-open .75s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(7){animation:action-list-open .85s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(8){animation:action-list-open .95s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(9){animation:action-list-open 1.05s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(10){animation:action-list-open 1.15s cubic-bezier(.25,.46,.45,.94) both}@keyframes action-list-open{0%{transform:translateY(50px)}to{transform:translateY(0)}}@keyframes scale-up-center{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}\n"] }]
|
|
193
|
+
], template: "<div class=\"grc-responsibility-listing\">\n <div class=\"top-heading vx-pl-2 vx-mb-2 vx-d-flex vx-align-center\">\n <app-cs-checkbox *ngIf=\"isAllSelected() || selectedListDataIds?.length === 0\" [ngValue]=\"isAllSelected()\"\n (ngValueChange)=\"selectAll($event)\"></app-cs-checkbox>\n <app-cs-checkbox-indeterminate *ngIf=\"!isAllSelected() && selectedListDataIds?.length\" [ngValue]=\"true\"\n (ngValueChange)=\"selectAll(false)\"></app-cs-checkbox-indeterminate>\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-ml-2 vx-lh-4\">{{headerText}}</div>\n </div>\n <div class=\"grc-responsibility-listing-inner\">\n <div class=\"grc-responsibility-table-body\" [class.with-pagination]=\"dataList?.total_pages > 1\">\n <div class=\"grc-responsibility-table-row\"\n *ngFor=\"let list of dataList?.data | search: searchString : 'name' ; let i = index\"\n [class.active]=\"allSelectedResponsibilityIds?.includes(list?._id)\">\n <div class=\"grc-responsibility-table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\">\n <div class=\"sr-no\" [appTooltip]=\"(perPageLimit * (currentPage - 1)) + i + 1\" placement=\"bottom\"\n delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">{{(perPageLimit * (currentPage - 1)) + i + 1}}\n </div>\n <app-cs-checkbox [ngValue]=\"allSelectedResponsibilityIds?.includes(list?._id)\"\n (ngValueChange)=\"getSelectedData(list,$event)\"></app-cs-checkbox>\n </div>\n <div class=\"grc-responsibility-table-column vx-pr-1 vx-d-flex vx-align-center responsibility-name\">\n <div class=\"vx-avatar-group vx-mr-1\">\n <div class=\"vx-avatar md\" [appTooltip]=\"list?.entrustedBy?.name\" placement=\"bottom-left\"\n delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">\n <span *ngIf=\"list?.entrustedBy?.profilePic === ''\" class=\"blue\">{{list.entrustedBy?.name |\n userShortName }}</span>\n <img *ngIf=\"list?.entrustedBy?.profilePic !== ''\"\n src=\"{{profilePic + list?.entrustedBy?.profilePic}}\" alt=\"\">\n </div>\n <div *ngIf=\"list?.entrustedTo?.EntrustedToMembers?.length === 0\" class=\"vx-avatar md\"\n [appTooltip]=\"list?.entrustedTo?.name\" placement=\"bottom-left\" delay=\"0\" type=\"black\"\n [tooltipMandatory]=\"true\">\n <span *ngIf=\"list?.entrustedTo?.profilePic === ''\" class=\"blue\">{{list?.entrustedTo?.name |\n userShortName }}</span>\n <img *ngIf=\"list?.entrustedTo?.profilePic !== ''\"\n src=\"{{profilePic + list?.entrustedTo?.profilePic}}\" alt=\"\">\n </div>\n <div *ngIf=\"list?.entrustedTo?.EntrustedToMembers?.length\" class=\"vx-avatar md counter\"\n appPopover (click)=\"multiUser.popover()\" placement=\"left\">\n <span class=\"green\">+{{list?.entrustedTo?.EntrustedToMembers?.length}}</span>\n </div>\n <app-popover #multiUser>\n <div class=\"wf-action-list\">\n <ul class=\"action-item\">\n <li *ngFor=\"let user of list?.entrustedTo?.EntrustedToMembers\">\n <div class=\"avatar-card\">\n <div *ngIf=\"user?.profile_pic === ''\" class=\"avatar\">{{user?.member_name |\n userShortName }}</div>\n <div *ngIf=\"user?.profile_pic !== ''\" class=\"avatar\"><img\n src=\"{{profilePic + user?.profile_pic}}\" alt=\"\"></div>\n <span class=\"value\" [appTooltip]=\"user.member_name\" placement=\"bottom-left\"\n delay=\"0\" type=\"black\"\n [tooltipMandatory]=\"false\">{{user?.member_name}}</span>\n </div>\n </li>\n </ul>\n </div>\n </app-popover>\n </div>\n <!-- <i class=\"icons star vx-fs-10 vx-mr-1\" [class.active]=\"true\"></i> -->\n <div class=\"name-inner\">\n <div class=\"vx-d-flex vx-align-center\">\n <div class=\"name vx-fs-13 vx-label-txt\" [appTooltip]=\"list?.name\" placement=\"bottom-left\"\n delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{list?.controlId}}{{list?.name}}\n </div>\n </div>\n <div class=\"vx-d-flex vx-align-center\" *ngIf=\"list?.withinData?.length\">\n <div class=\"vx-fs-10 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mr-1\">RESPONSIBILITY CENTER:\n </div>\n <div class=\"within-part vx-d-flex vx-align-center vx-pr-3\">\n <div\n class=\"within-box vx-fs-9 vx-fw-600 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2 vx-lh-3\">\n Within</div>\n <div class=\"within-value vx-fs-11 vx-paragraph-txt\"><span\n *ngFor=\"let parent of list?.withinData; let last = last\"\n [appTooltip]=\"parent?.name\" placement=\"bottom-left\" delay=\"0\" type=\"black\"\n [tooltipMandatory]=\"false\">{{parent?.name}}\n <span *ngIf=\"!last\">\n < </span>\n </span></div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <app-pagination *ngIf=\"dataList?.total_pages > 1\" [start]=\"dataList?.items_from\" [end]=\"dataList?.items_to\"\n [total]=\"dataList?.total_items\" [pageCount]=\"dataList?.total_pages\" [currentPage]=\"currentPage\"\n (selectedPage)=\"changePage($event)\"></app-pagination>\n </div>\n</div>", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css/avatars/avatars.css\";::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}::ng-deep .grc-responsibility-listing .top-heading{border-left:1px solid transparent}::ng-deep .grc-responsibility-listing .top-heading app-cs-checkbox,::ng-deep .grc-responsibility-listing .top-heading app-cs-checkbox-indeterminate{width:1rem;height:1rem;position:relative}::ng-deep .grc-responsibility-listing .top-heading app-cs-checkbox .checkbox-item,::ng-deep .grc-responsibility-listing .top-heading app-cs-checkbox-indeterminate .checkbox-item{position:absolute;top:0;left:0;width:1rem;height:1rem}::ng-deep .grc-responsibility-listing-inner{border-radius:.25rem;border:1px solid #f1f1f1;height:calc(100vh - 16rem);overflow:hidden}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body{overflow:hidden;overflow-y:auto;height:calc(100vh - 16rem)}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body::-webkit-scrollbar-track{background-color:transparent}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row{border-bottom:1px solid #f1f1f1;display:flex;justify-content:space-between;position:relative}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row:hover .grc-responsibility-table-column.serial app-cs-checkbox,::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row.active .grc-responsibility-table-column.serial app-cs-checkbox{opacity:1}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column{min-height:3.25rem;position:relative;width:100%}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial{width:2rem;max-width:2rem;justify-content:center}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial .sr-no{width:1rem;background:#f8f8f8;writing-mode:vertical-lr;color:#747576;font-size:.625rem;font-weight:500;display:flex;height:3.25rem;align-items:center;justify-content:center;position:relative;transition:all .2s ease-in-out}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial app-cs-checkbox{background:#fff;border-radius:.125rem;position:absolute;top:1.125rem;left:.5rem;width:1rem;height:1rem;opacity:0;transition:all .2s ease-in-out}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial app-cs-checkbox .checkbox-item{position:absolute!important}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial app-cs-checkbox .checkbox-item .checkbox,::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial app-cs-checkbox .checkbox-item .checkmark{position:absolute;top:0}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name{width:calc(100% - 2rem);min-width:calc(100% - 2rem)}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name .star{color:#f1f1f1}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name .star.active{color:#f4c84a}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name .name-inner{width:calc(100% - 5rem)}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name .name-inner .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:calc(100% - 6rem)}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name .name-inner .within-part{width:calc(100% - 8rem)}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body.with-pagination{height:calc(100vh - 21.5rem)}::ng-deep .grc-responsibility-listing-inner app-pagination .wk-pagination-sec-ds{background:#fff;border-radius:0;box-shadow:0 -10px 20px #1e5dd31a;padding:.5rem;justify-content:unset}::ng-deep .grc-responsibility-listing-inner app-pagination .wk-pagination-sec-ds .right{order:1}::ng-deep .grc-responsibility-listing-inner app-pagination .wk-pagination-sec-ds .right .goto-page{display:none!important}::ng-deep .grc-responsibility-listing-inner app-pagination .wk-pagination-sec-ds .left{order:2;font-size:11px!important;color:#747576!important;text-transform:capitalize!important;margin-left:.75rem}.cursor-pointer{cursor:pointer}::ng-deep .wf-action-list{width:220px}::ng-deep .wf-action-list ul{padding:0;margin:0;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;background:#fff;box-shadow:0 3px 6px #1c5bd140;border-radius:4px;max-height:220px;overflow:auto}::ng-deep .wf-action-list ul.action-item{display:block}::ng-deep .wf-action-list ul.action-item li{list-style:none;border:none;border-bottom:1px solid #f1f1f1;display:block;width:100%;padding:0;background:transparent;border-radius:0;margin:0;height:auto;justify-content:flex-start;box-shadow:none}::ng-deep .wf-action-list ul.action-item li button{color:#6e717e;text-align:left;text-decoration:none;cursor:pointer;background:transparent;font-size:12px;text-transform:capitalize;display:flex;width:100%;padding:7.5px 11px;border:none}::ng-deep .wf-action-list ul.action-item li button i{font-size:16px;margin-right:10px;color:#1e5dd3}::ng-deep .wf-action-list ul.action-item li button:hover{background:#f3f3f3}::ng-deep .wf-action-list ul.action-item li .avatar-card{display:flex;align-items:center;width:100%;padding:7.5px}::ng-deep .wf-action-list ul.action-item li .avatar-card.within-con{display:block}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar{height:24px;width:24px!important;overflow:hidden;background:#1e5dd3;color:#fff;font-size:10px;display:inline-flex;margin-right:5px;border-radius:50%;align-items:center;justify-content:center;text-transform:uppercase}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar img{width:100%}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar+span.value{width:calc(100% - 29px)}::ng-deep .wf-action-list ul.action-item li .avatar-card span.value{width:100%;color:#6e717e;text-decoration:none;background:transparent;font-size:12px;text-transform:capitalize;display:block;font-weight:400;text-align-last:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:20px}::ng-deep .wf-action-list ul.action-item li .avatar-card span.value i{font-size:8px;color:#747576;cursor:pointer;margin-right:5px}::ng-deep .wf-action-list ul.action-item li .avatar-card.no-image{display:block}::ng-deep .wf-action-list ul.action-item li .avatar-card.no-image span.value{width:100%;display:block}::ng-deep .wf-action-list ul.action-item li .chip-item{color:#1e5dd3;padding:10px;display:flex;align-items:center}::ng-deep .wf-action-list ul.action-item li .chip-item i{color:#747576;margin-right:7px;font-size:10px;cursor:pointer;display:inline-flex}::ng-deep .wf-action-list ul.action-item li .chip-item span{display:block;width:auto;max-width:calc(100% - 17px);font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::ng-deep .wf-action-list ul.action-item li .chip-item span.chip-block{display:block;width:100%}::ng-deep .wf-action-list ul.action-item li .chip-item span.id{font-size:9px}::ng-deep .wf-action-list ul.action-item li .within{display:flex;align-items:center;justify-content:flex-start}::ng-deep .wf-action-list ul.action-item li .within .block{background:#f1f1f1;border-radius:2px;padding:0 2px;line-height:14px;font-size:9px;font-weight:500;color:#042e7d;margin-right:6px;display:block;text-transform:uppercase}::ng-deep .wf-action-list ul.action-item li .within .data{width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#747576;font-size:11px;font-weight:400;line-height:17px}::ng-deep .wf-action-list ul.action-item li:first-child{animation:action-list-open .25s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(2){animation:action-list-open .35s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(3){animation:action-list-open .45s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(4){animation:action-list-open .55s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(5){animation:action-list-open .65s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(6){animation:action-list-open .75s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(7){animation:action-list-open .85s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(8){animation:action-list-open .95s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(9){animation:action-list-open 1.05s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(10){animation:action-list-open 1.15s cubic-bezier(.25,.46,.45,.94) both}@keyframes action-list-open{0%{transform:translateY(50px)}to{transform:translateY(0)}}@keyframes scale-up-center{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}\n"] }]
|
|
190
194
|
}], ctorParameters: function () { return [{ type: i1.Configurations, decorators: [{
|
|
191
195
|
type: Optional
|
|
192
196
|
}] }]; }, propDecorators: { allSelectedResponsibilityIds: [{
|
|
@@ -196,9 +200,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
196
200
|
args: ['responsibilityData']
|
|
197
201
|
}], selectedProgramAndResp: [{
|
|
198
202
|
type: Input
|
|
203
|
+
}], searchString: [{
|
|
204
|
+
type: Input
|
|
199
205
|
}], getUpdatedDataList: [{
|
|
200
206
|
type: Output
|
|
201
207
|
}], changeSelectedProgramAndResp: [{
|
|
202
208
|
type: Output
|
|
203
209
|
}] } });
|
|
204
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvd29ya2Zsb3cvc2hhcmVkL2NvbXBvbmVudHMvZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcvZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvd29ya2Zsb3cvc2hhcmVkL2NvbXBvbmVudHMvZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcvZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxRQUFRLEVBQ1IsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNoRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUNuRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBRTFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDOzs7Ozs7Ozs7OztBQTZCakYsTUFBTSxPQUFPLGlDQUFpQztJQWtCNUMsSUFBaUMscUJBQXFCLENBQUMsS0FBVTtRQUMvRCxJQUFJLENBQUMsUUFBUSxH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LENBQzVDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQzdDLENBQUM7SUFDSixDQUFDOytHQW5NVSxpQ0FBaUM7bUdBQWpDLGlDQUFpQyx5ckJDN0M5QyxrdU5BeUZNLDhwV0RuRUYsWUFBWSwrUEFDWixhQUFhLHNSQUNiLGVBQWUsNldBQ2YsYUFBYSxxTUFDYixpQkFBaUIsOEJBQ2pCLGdCQUFnQixpUEFDaEIsbUJBQW1COzs0RkFpQlYsaUNBQWlDO2tCQTNCN0MsU0FBUzsrQkFDRSxnQ0FBZ0MsY0FDOUIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsaUJBQWlCO3dCQUNqQixnQkFBZ0I7d0JBQ2hCLG1CQUFtQjtxQkFDcEIsVUFHTzt3QkFDTixXQUFXO3dCQUNYLGVBQWU7d0JBQ2YsWUFBWTt3QkFDWixhQUFhO3dCQUNiLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixZQUFZO3dCQUNaLGtCQUFrQjt3QkFDbEIscUJBQXFCO3dCQUNyQixNQUFNO3FCQUNQOzswQkE4QlksUUFBUTs0Q0FaWiw0QkFBNEI7c0JBQXBDLEtBQUs7Z0JBRTJCLHFCQUFxQjtzQkFBckQsS0FBSzt1QkFBQyxvQkFBb0I7Z0JBSWxCLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFFSSxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBQ0csNEJBQTRCO3NCQUFyQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRmxvYXRpbmdCYXJNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWRDb21wb25lbnRzL2Zsb2F0aW5nLWJhci9mbG9hdGluZy1iYXIubW9kdWxlJztcbmltcG9ydCB7IEZvcm1ncm91cE1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL3VpLWtpdC9mb3JtZ3JvdXAvZm9ybWdyb3VwLm1vZHVsZSc7XG5pbXBvcnQgeyBQYWdpbmF0aW9uTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdWkta2l0L3BhZ2luYXRpb24vcGFnaW5hdGlvbi5tb2R1bGUnO1xuaW1wb3J0IHsgUG9wb3Zlck1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL3VpLWtpdC9wb3BvdmVyL3BvcG92ZXIubW9kdWxlJztcbmltcG9ydCB7IFRvb2x0aXBNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi91aS1raXQvdG9vbHRpcC90b29sdGlwLm1vZHVsZSc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9ucyB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbmZpZ3VyYXRpb25zJztcbmltcG9ydCB7IFdvcmtmbG93UGlwZXNNb2R1bGUgfSBmcm9tICcuLi8uLi93b3JrZmxvdy1waXBlcy93b3JrZmxvdy1waXBlcy5tb2R1bGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFBvcG92ZXJNb2R1bGUsXG4gICAgRm9ybWdyb3VwTW9kdWxlLFxuICAgIFRvb2x0aXBNb2R1bGUsXG4gICAgRmxvYXRpbmdCYXJNb2R1bGUsXG4gICAgUGFnaW5hdGlvbk1vZHVsZSxcbiAgICBXb3JrZmxvd1BpcGVzTW9kdWxlLFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ncmMtcmVzcG9uc2liaWxpdHktbGlzdGluZy5jb21wb25lbnQubGVzcyddLFxuICBpbnB1dHM6IFtcbiAgICAndGFibGVDYXJkJyxcbiAgICAnYWN0aXZlUHJvZ3JhbScsXG4gICAgJ2hlYWRlclRleHQnLFxuICAgICdjdXJyZW50UGFnZScsXG4gICAgJ3BlclBhZ2VMaW1pdCcsXG4gICAgJ3RvdGFsTGlzdERhdGEnLFxuICAgICd0b3RhbFBhZ2VzJyxcbiAgICAnc2VsZWN0ZWRMaXN0RGF0YScsXG4gICAgJ3NlbGVjdGVkTGlzdERhdGFJZHMnLFxuICAgICdNT0RFJ1xuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBHcmNSZXNwb25zaWJpbGl0eUxpc3RpbmdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwcm9maWxlUGljID0gJyc7XG4gIGVudjogYW55O1xuICBkYXRhTGlzdCE6IGFueTtcbiAgaGVhZGVyVGV4dDogc3RyaW5nID0gJ05hbWUnO1xuICBzZWxlY3RlZExpc3REYXRhOiBhbnkgPSBbXTtcbiAgc2VsZWN0ZWRMaXN0RGF0YUlkczogYW55ID0gW107XG4gIHBlclBhZ2VMaW1pdDogbnVtYmVyID0gMzA7XG4gIGN1cnJlbnRQYWdlOiBudW1iZXIgPSAxO1xuICB0b3RhbFBhZ2VzOiBudW1iZXIgPSAxO1xuICB0b3RhbExpc3REYXRhOiBudW1iZXIgPSAwO1xuICAvLyBzZWxlY3RlZFByb2dyYW1BbmRSZXNwOiBhbnkgPSBbXTtcbiAgYWN0aXZlUHJvZ3JhbTogYW55ID0ge307XG4gIGNhbGxlZEZyb206IHN0cmluZyA9ICcnO1xuICBNT0RFOiAnQ1JFQVRFJyB8ICdFRElUJyA9ICdDUkVBVEUnO1xuXG4gIEBJbnB1dCgpIGFsbFNlbGVjdGVkUmVzcG9uc2liaWxpdHlJZHM6IGFueSA9IFtdO1xuXG4gIEBJbnB1dCgncmVzcG9uc2liaWxpdHlEYXRhJykgc2V0IGdldFJlc3BvbnNpYmlsaXR5TGlzdCh2YWx1ZTogYW55KSB7XG4gICAgdGhpcy5kYXRhTGlzdCA9IHZhbHVlO1xuICB9XG5cbiAgQElucHV0KCkgc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcDogYW55ID0gW107XG5cbiAgQE91dHB1dCgpIGdldFVwZGF0ZWREYXRhTGlzdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBjaGFuZ2VTZWxlY3RlZFByb2dyYW1BbmRSZXNwOiBFdmVudEVtaXR0ZXI8YW55PiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIGNvbmZpZz86IENvbmZpZ3VyYXRpb25zKSB7XG4gICAgdGhpcy5lbnYgPSBjb25maWc/LmVudkNvbmZpZztcbiAgICB0aGlzLnByb2ZpbGVQaWMgPSB0aGlzLmVudi5zM1VybCArIHRoaXMuZW52LnMzQnVja2V0ICsgdGhpcy5lbnYucHJvZmlsZTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge31cblxuICBnZXRTZWxlY3RlZERhdGEocmVzcG9uc2liaWxpdHk6IGFueSwgZXZlbnQ6IGFueSkge1xuICAgIGlmIChldmVudCkge1xuICAgICAgdGhpcy5zZWxlY3RlZExpc3REYXRhLnB1c2gocmVzcG9uc2liaWxpdHkpO1xuICAgICAgdGhpcy5zZWxlY3RlZExpc3REYXRhSWRzLnB1c2gocmVzcG9uc2liaWxpdHk/Ll9pZCk7XG4gICAgICB0aGlzLmFsbFNlbGVjdGVkUmVzcG9uc2liaWxpdHlJZHMucHVzaChyZXNwb25zaWJpbGl0eT8uX2lkKTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcC5wdXNoKHJlc3BvbnNpYmlsaXR5KVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRlbGV0ZUV2ZW50KHJlc3BvbnNpYmlsaXR5KTtcbiAgICB9XG4gIH1cblxuICBkZWxldGVFdmVudChyZXNwb25zaWJpbGl0eTogYW55KSB7XG4gICAgdGhpcy5zZWxlY3RlZExpc3REYXRhID0gdGhpcy5zZWxlY3RlZExpc3REYXRhPy5maWx0ZXIoXG4gICAgICAoc2VsZWN0ZWQ6IGFueSkgPT4gc2VsZWN0ZWQ/Ll9pZCAhPT0gcmVzcG9uc2liaWxpdHk/Ll9pZFxuICAgICk7XG4gICAgdGhpcy5zZWxlY3RlZExpc3REYXRhSWRzID0gdGhpcy5zZWxlY3RlZExpc3REYXRhSWRzPy5maWx0ZXIoXG4gICAgICAoc2VsZWN0ZWRMaXN0RGF0YUlkOiBhbnkpID0+IHNlbGVjdGVkTGlzdERhdGFJZCAhPT0gcmVzcG9uc2liaWxpdHk/Ll9pZFxuICAgICk7XG4gICAgdGhpcy5hbGxTZWxlY3RlZFJlc3BvbnNpYmlsaXR5SWRzID0gdGhpcy5hbGxTZWxlY3RlZFJlc3BvbnNpYmlsaXR5SWRzPy5maWx0ZXIoXG4gICAgICAoc2VsZWN0ZWQ6IGFueSkgPT4gc2VsZWN0ZWQgIT09IHJlc3BvbnNpYmlsaXR5Py5faWRcbiAgICApO1xuICAgIHRoaXMuc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcCA9IHRoaXMuc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcD8uZmlsdGVyKFxuICAgICAgKHNlbGVjdGVkOiBhbnkpID0+IHNlbGVjdGVkPy5yaWQgIT09IHJlc3BvbnNpYmlsaXR5Py5yaWRcbiAgICApO1xuICAgIHRoaXMuY2hhbmdlU2VsZWN0ZWRQcm9ncmFtQW5kUmVzcC5lbWl0KHRoaXMuc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcCk7XG4gIH1cblxuICBzZWxlY3RBbGwoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuZGF0YUxpc3Q/LmRhdGE/LmZvckVhY2goKGRhdGE6IGFueSkgPT4ge1xuICAgICAgaWYgKGV2ZW50KSB7XG4gICAgICAgIGlmICghdGhpcy5zZWxlY3RlZExpc3REYXRhSWRzLmluY2x1ZGVzKGRhdGE/Ll9pZCkpIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkTGlzdERhdGEucHVzaChkYXRhKTtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkTGlzdERhdGFJZHMucHVzaChkYXRhPy5faWQpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmRlbGV0ZUV2ZW50KGRhdGEpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMudXBkYXRlT3JDcmVhdGVDYXRlZ29yeShcbiAgICAgIHRoaXMuYWN0aXZlUHJvZ3JhbT8ucHJvZ3JhbUlkLFxuICAgICAgdGhpcy5hY3RpdmVQcm9ncmFtXG4gICAgKTtcbiAgfVxuXG4gIGlzQWxsU2VsZWN0ZWQoKTogYm9vbGVhbiB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5zZWxlY3RlZExpc3REYXRhSWRzICYmXG4gICAgICB0aGlzLnNlbGVjdGVkTGlzdERhdGFJZHMubGVuZ3RoID49IHRoaXMuc2VsZWN0ZWRMaXN0RGF0YT8ubGVuZ3RoICYmXG4gICAgICB0aGlzLnNlbGVjdGVkTGlzdERhdGFJZHMubGVuZ3RoID4gMFxuICAgICkge1xuICAgICAgZm9yIChjb25zdCBncmMgb2YgdGhpcy5kYXRhTGlzdD8uZGF0YSkge1xuICAgICAgICBpZiAoIXRoaXMuc2VsZWN0ZWRMaXN0RGF0YUlkcy5pbmNsdWRlcyhncmM/Ll9pZCkpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgY2hhbmdlUGFnZShldmVudDogbnVtYmVyKSB7XG4gICAgdGhpcy5jdXJyZW50UGFnZSA9IGV2ZW50O1xuICAgIHRoaXMuZ2V0VXBkYXRlZERhdGFMaXN0LmVtaXQoe1xuICAgICAgcGFnZU5vOiB0aGlzLmN1cnJlbnRQYWdlLFxuICAgIH0pO1xuICB9XG5cbiAgdXBkYXRlT3JDcmVhdGVDYXRlZ29yeShwcm9ncmFtSWQ6IG51bWJlciwgcHJvZ3JhbTogYW55KSB7XG4gICAgY29uc3QgcHJvZ3JhbUluZGV4ID0gdGhpcy5maW5kQ2hlY2tlZFByb2dyYW1JbmRleChwcm9ncmFtSWQpO1xuICAgIGlmIChwcm9ncmFtSW5kZXggIT09IC0xKSB7XG4gICAgICAvLyBDYXRlZ29yeSBleGlzdHMsIHVwZGF0ZSByaXNrIHZhbHVlXG4gICAgICB0aGlzLnNlbGVjdGVkUHJvZ3JhbUFuZFJlc3BbcHJvZ3JhbUluZGV4XS5yZXNwb25zaWJpbGl0eSA9XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRMaXN0RGF0YSA/PyBbXTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcFtwcm9ncmFtSW5kZXhdLmNhdGVnb3J5ID1cbiAgICAgICAgdGhpcy5nZXRTdWJDYXRlZ29yeUlkcyh0aGlzLnNlbGVjdGVkTGlzdERhdGEgPz8gW10pO1xuICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRMaXN0RGF0YS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgLy8gUmVtb3ZlIGNhdGVnb3J5IGlmIHNlbGVjdGVkTGlzdERhdGEgaXMgZW1wdHlcbiAgICAgICAgdGhpcy5zZWxlY3RlZFByb2dyYW1BbmRSZXNwLnNwbGljZShwcm9ncmFtSW5kZXgsIDEpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodGhpcy5zZWxlY3RlZExpc3REYXRhPy5sZW5ndGggPiAwKSB7XG4gICAgICAvLyBDYXRlZ29yeSBkb2Vzbid0IGV4aXN0LCBjcmVhdGUgbmV3IGNhdGVnb3J5IHdpdGggc3ViY2F0ZWdvcnlcbiAgICAgIHRoaXMuc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcC5wdXNoKHtcbiAgICAgICAgcHJvZ3JhbTogcHJvZ3JhbSA/PyB7fSxcbiAgICAgICAgY2F0ZWdvcnk6IHRoaXMuZ2V0U3ViQ2F0ZWdvcnlJZHModGhpcy5zZWxlY3RlZExpc3REYXRhID8/IFtdKSxcbiAgICAgICAgcmVzcG9uc2liaWxpdHk6IHRoaXMuc2VsZWN0ZWRMaXN0RGF0YSA/PyBbXSxcbiAgICAgIH0pO1xuICAgIH1cbiAgICB0aGlzLmNoYW5nZVNlbGVjdGVkUHJvZ3JhbUFuZFJlc3AuZW1pdCh0aGlzLnNlbGVjdGVkUHJvZ3JhbUFuZFJlc3ApO1xuICB9XG5cbiAgZ2V0U2VsZWN0ZWREYXRhQW5kSWRzKHNlbGVjdGVkRGF0YTogYW55KSB7XG4gICAgY29uc3QgcHJvZ3JhbUluZGV4ID0gdGhpcy5maW5kQ2hlY2tlZFByb2dyYW1JbmRleChcbiAgICAgIHRoaXMuYWN0aXZlUHJvZ3JhbT8ucHJvZ3JhbUlkXG4gICAgKTtcbiAgICB0aGlzLnNlbGVjdGVkTGlzdERhdGEgPSBbXTtcbiAgICB0aGlzLnNlbGVjdGVkTGlzdERhdGFJZHMgPSBbXTtcbiAgICBpZiAocHJvZ3JhbUluZGV4ICE9PSAtMSkge1xuICAgICAgdGhpcy5zZWxlY3RlZExpc3REYXRhID0gc2VsZWN0ZWREYXRhW3Byb2dyYW1JbmRleF0/LnJlc3BvbnNpYmlsaXR5ID8/IFtdO1xuICAgICAgdGhpcy5zZWxlY3RlZExpc3REYXRhPy5mb3JFYWNoKChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZExpc3REYXRhSWRzLnB1c2goZGF0YT8uX2lkKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGZpbmRDaGVja2VkUHJvZ3JhbUluZGV4KGNhdGVnb3J5SWQ6IG51bWJlciB8IG51bWJlcltdKSB7XG4gICAgbGV0IHByb2dyYW1JbmRleCA9IC0xO1xuICAgIHByb2dyYW1JbmRleCA9IHRoaXMuc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcC5maW5kSW5kZXgoXG4gICAgICAoY2F0OiBhbnkpID0+IGNhdD8ucHJvZ3JhbT8ucHJvZ3JhbUlkID09PSBjYXRlZ29yeUlkXG4gICAgKTtcbiAgICByZXR1cm4gcHJvZ3JhbUluZGV4O1xuICB9XG5cbiAgZGVsZXRlU2VsZWN0ZWRSZXNwb25zaWJpbGl0eShyZXNwb25zaWJpbGl0eTogYW55KSB7XG4gICAgdGhpcy5zZWxlY3RlZFByb2dyYW1BbmRSZXNwID0gdGhpcy5zZWxlY3RlZFByb2dyYW1BbmRSZXNwPy5tYXAoXG4gICAgICAoZGF0YTogYW55KSA9PiB7XG4gICAgICAgIGxldCBmaWx0ZXJlZFJlc3BvbnNpYmlsaXR5ID0gZGF0YT8ucmVzcG9uc2liaWxpdHk/LmZpbHRlcihcbiAgICAgICAgICAocmVzcDogYW55KSA9PiByZXNwPy5faWQgIT09IHJlc3BvbnNpYmlsaXR5Py5faWRcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5kYXRhLFxuICAgICAgICAgIHJlc3BvbnNpYmlsaXR5OiBmaWx0ZXJlZFJlc3BvbnNpYmlsaXR5LFxuICAgICAgICAgIGNhdGVnb3J5OiBbXG4gICAgICAgICAgICAuLi4obmV3IFNldChcbiAgICAgICAgICAgICAgZmlsdGVyZWRSZXNwb25zaWJpbGl0eVxuICAgICAgICAgICAgICAgIC5tYXAoKG9iajogYW55KSA9PiBbb2JqPy5zdWJDYXRlZ29yeUlkXSlcbiAgICAgICAgICAgICAgICA/LmZsYXQoKVxuICAgICAgICAgICAgKSB8fCBbXSksXG4gICAgICAgICAgXSxcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICApO1xuXG4gICAgdGhpcy5zZWxlY3RlZFByb2dyYW1BbmRSZXNwID0gdGhpcy5zZWxlY3RlZFByb2dyYW1BbmRSZXNwLmZpbHRlcihcbiAgICAgIChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgcmV0dXJuIGRhdGE/LnJlc3BvbnNpYmlsaXR5Py5sZW5ndGggPiAwO1xuICAgICAgfVxuICAgICk7XG4gICAgdGhpcy5jaGFuZ2VTZWxlY3RlZFByb2dyYW1BbmRSZXNwLmVtaXQodGhpcy5zZWxlY3RlZFByb2dyYW1BbmRSZXNwKTtcbiAgfVxuXG4gIGdldFN1YkNhdGVnb3J5SWRzKHNlbGVjdGVkUmVzcG9uc2liaWxpdHk6IGFueSkge1xuICAgIGxldCBpZFNldDogYW55ID0gbmV3IFNldChcbiAgICAgIHNlbGVjdGVkUmVzcG9uc2liaWxpdHk/Lm1hcChcbiAgICAgICAgKHJlc3BvbnNpYmlsaXR5OiBhbnkpID0+IHJlc3BvbnNpYmlsaXR5Py5zdWJDYXRlZ29yeUlkID8/IFtdXG4gICAgICApXG4gICAgKTtcbiAgICBpZiAodGhpcy5NT0RFID09PSAnRURJVCcpIHtcbiAgICAgIGNvbnN0IHByb2dyYW1JbmRleCA9IHRoaXMuZmluZENoZWNrZWRQcm9ncmFtSW5kZXgoXG4gICAgICAgIHRoaXMuYWN0aXZlUHJvZ3JhbT8ucHJvZ3JhbUlkXG4gICAgICApO1xuICAgICAgaWYgKHByb2dyYW1JbmRleCAhPT0gLTEpIHtcbiAgICAgICAgY29uc3QgcGVydmlvdXNTZWxlY3RlZElkczogYW55ID1cbiAgICAgICAgICB0aGlzLnNlbGVjdGVkUHJvZ3JhbUFuZFJlc3BbcHJvZ3JhbUluZGV4XT8uY2F0ZWdvcnkgPz8gW107XG4gICAgICAgIGlkU2V0ID0gbmV3IFNldChbLi4uaWRTZXQsIC4uLnBlcnZpb3VzU2VsZWN0ZWRJZHNdKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIFsuLi5BcnJheS5mcm9tKGlkU2V0KV0uZmlsdGVyKChpdGVtKSA9PlxuICAgICAgQXJyYXkuaXNBcnJheShpdGVtKSA/IGl0ZW0ubGVuZ3RoID4gMCA6IHRydWVcbiAgICApO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmdcIj5cbiAgICA8ZGl2IGNsYXNzPVwidG9wLWhlYWRpbmcgdngtcGwtMiB2eC1tYi0yIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIj5cbiAgICAgICAgPGFwcC1jcy1jaGVja2JveCAqbmdJZj1cImlzQWxsU2VsZWN0ZWQoKSB8fCBzZWxlY3RlZExpc3REYXRhSWRzPy5sZW5ndGggPT09IDBcIiBbbmdWYWx1ZV09XCJpc0FsbFNlbGVjdGVkKClcIlxuICAgICAgICAgICAgKG5nVmFsdWVDaGFuZ2UpPVwic2VsZWN0QWxsKCRldmVudClcIj48L2FwcC1jcy1jaGVja2JveD5cbiAgICAgICAgPGFwcC1jcy1jaGVja2JveC1pbmRldGVybWluYXRlICpuZ0lmPVwiIWlzQWxsU2VsZWN0ZWQoKSAmJiBzZWxlY3RlZExpc3REYXRhSWRzPy5sZW5ndGhcIiBbbmdWYWx1ZV09XCJ0cnVlXCJcbiAgICAgICAgICAgIChuZ1ZhbHVlQ2hhbmdlKT1cInNlbGVjdEFsbChmYWxzZSlcIj48L2FwcC1jcy1jaGVja2JveC1pbmRldGVybWluYXRlPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidngtZnMtMTEgdngtZnctNTAwIHZ4LWxhYmVsLXR4dCB2eC10dC11cHBlcmNhc2UgdngtbWwtMiB2eC1saC00XCI+e3toZWFkZXJUZXh0fX08L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmctaW5uZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImdyYy1yZXNwb25zaWJpbGl0eS10YWJsZS1ib2R5XCIgW2NsYXNzLndpdGgtcGFnaW5hdGlvbl09XCJkYXRhTGlzdD8udG90YWxfcGFnZXMgPiAxXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JjLXJlc3BvbnNpYmlsaXR5LXRhYmxlLXJvd1wiICpuZ0Zvcj1cImxldCBsaXN0IG9mIGRhdGFMaXN0Py5kYXRhOyBsZXQgaSA9IGluZGV4XCJcbiAgICAgICAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImFsbFNlbGVjdGVkUmVzcG9uc2liaWxpdHlJZHM/LmluY2x1ZGVzKGxpc3Q/Ll9pZClcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JjLXJlc3BvbnNpYmlsaXR5LXRhYmxlLWNvbHVtbiB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBzZXJpYWxcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNyLW5vXCIgW2FwcFRvb2x0aXBdPVwiKHBlclBhZ2VMaW1pdCAqIChjdXJyZW50UGFnZSAtIDEpKSArIGkgKyAxXCIgcGxhY2VtZW50PVwiYm90dG9tXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiIHR5cGU9XCJibGFja1wiIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIj57eyhwZXJQYWdlTGltaXQgKiAoY3VycmVudFBhZ2UgLSAxKSkgKyBpICsgMX19XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8YXBwLWNzLWNoZWNrYm94IFtuZ1ZhbHVlXT1cImFsbFNlbGVjdGVkUmVzcG9uc2liaWxpdHlJZHM/LmluY2x1ZGVzKGxpc3Q/Ll9pZClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKG5nVmFsdWVDaGFuZ2UpPVwiZ2V0U2VsZWN0ZWREYXRhKGxpc3QsJGV2ZW50KVwiPjwvYXBwLWNzLWNoZWNrYm94PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmMtcmVzcG9uc2liaWxpdHktdGFibGUtY29sdW1uIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciByZXNwb25zaWJpbGl0eS1uYW1lXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1hdmF0YXItZ3JvdXAgdngtbXItMVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWF2YXRhciBtZFwiIFthcHBUb29sdGlwXT1cImxpc3Q/LmVudHJ1c3RlZEJ5Py5uYW1lXCIgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiIHR5cGU9XCJibGFja1wiIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImxpc3Q/LmVudHJ1c3RlZEJ5Py5wcm9maWxlUGljID09PSAnJ1wiIGNsYXNzPVwiYmx1ZVwiPnt7bGlzdC5lbnRydXN0ZWRCeT8ubmFtZSB8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJTaG9ydE5hbWUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyAqbmdJZj1cImxpc3Q/LmVudHJ1c3RlZEJ5Py5wcm9maWxlUGljICE9PSAnJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyYz1cInt7cHJvZmlsZVBpYyArIGxpc3Q/LmVudHJ1c3RlZEJ5Py5wcm9maWxlUGljfX1cIiBhbHQ9XCJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImxpc3Q/LmVudHJ1c3RlZFRvPy5FbnRydXN0ZWRUb01lbWJlcnM/Lmxlbmd0aCA9PT0gMFwiIGNsYXNzPVwidngtYXZhdGFyIG1kXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCJsaXN0Py5lbnRydXN0ZWRUbz8ubmFtZVwiIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCIgZGVsYXk9XCIwXCIgdHlwZT1cImJsYWNrXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJsaXN0Py5lbnRydXN0ZWRUbz8ucHJvZmlsZVBpYyA9PT0gJydcIiBjbGFzcz1cImJsdWVcIj57e2xpc3Q/LmVudHJ1c3RlZFRvPy5uYW1lIHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlclNob3J0TmFtZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nICpuZ0lmPVwibGlzdD8uZW50cnVzdGVkVG8/LnByb2ZpbGVQaWMgIT09ICcnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjPVwie3twcm9maWxlUGljICsgbGlzdD8uZW50cnVzdGVkVG8/LnByb2ZpbGVQaWN9fVwiIGFsdD1cIlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwibGlzdD8uZW50cnVzdGVkVG8/LkVudHJ1c3RlZFRvTWVtYmVycz8ubGVuZ3RoXCIgY2xhc3M9XCJ2eC1hdmF0YXIgbWQgY291bnRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwUG9wb3ZlciAoY2xpY2spPVwibXVsdGlVc2VyLnBvcG92ZXIoKVwiIHBsYWNlbWVudD1cImxlZnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImdyZWVuXCI+K3t7bGlzdD8uZW50cnVzdGVkVG8/LkVudHJ1c3RlZFRvTWVtYmVycz8ubGVuZ3RofX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhcHAtcG9wb3ZlciAjbXVsdGlVc2VyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3Zi1hY3Rpb24tbGlzdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJhY3Rpb24taXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCB1c2VyIG9mIGxpc3Q/LmVudHJ1c3RlZFRvPy5FbnRydXN0ZWRUb01lbWJlcnNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXZhdGFyLWNhcmRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInVzZXI/LnByb2ZpbGVfcGljID09PSAnJ1wiIGNsYXNzPVwiYXZhdGFyXCI+e3t1c2VyPy5tZW1iZXJfbmFtZSB8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyU2hvcnROYW1lIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ1c2VyPy5wcm9maWxlX3BpYyAhPT0gJydcIiBjbGFzcz1cImF2YXRhclwiPjxpbWdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcmM9XCJ7e3Byb2ZpbGVQaWMgKyB1c2VyPy5wcm9maWxlX3BpY319XCIgYWx0PVwiXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmFsdWVcIiBbYXBwVG9vbHRpcF09XCJ1c2VyLm1lbWJlcl9uYW1lXCIgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsYXk9XCIwXCIgdHlwZT1cImJsYWNrXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cImZhbHNlXCI+e3t1c2VyPy5tZW1iZXJfbmFtZX19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYXBwLXBvcG92ZXI+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8IS0tIDxpIGNsYXNzPVwiaWNvbnMgc3RhciB2eC1mcy0xMCB2eC1tci0xXCIgW2NsYXNzLmFjdGl2ZV09XCJ0cnVlXCI+JiN4ZWE3MDs8L2k+IC0tPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmFtZS1pbm5lclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmFtZSB2eC1mcy0xMyB2eC1sYWJlbC10eHRcIiBbYXBwVG9vbHRpcF09XCJsaXN0Py5uYW1lXCIgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIiB0eXBlPVwiYmxhY2tcIiBbdG9vbHRpcE1hbmRhdG9yeV09XCJmYWxzZVwiPnt7bGlzdD8uY29udHJvbElkfX17e2xpc3Q/Lm5hbWV9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiICpuZ0lmPVwibGlzdD8ud2l0aGluRGF0YT8ubGVuZ3RoXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWZzLTEwIHZ4LWZ3LTUwMCB2eC1sYWJlbC10eHQgdngtdHQtdXBwZXJjYXNlIHZ4LW1yLTFcIj5SRVNQT05TSUJJTElUWSBDRU5URVI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndpdGhpbi1wYXJ0IHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtcHItM1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIndpdGhpbi1ib3ggdngtZnMtOSB2eC1mdy02MDAgdngtdHQtdXBwZXJjYXNlIHZ4LXBsLTEgdngtcHItMSB2eC1tci0yIHZ4LWxoLTNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdpdGhpbjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2l0aGluLXZhbHVlIHZ4LWZzLTExIHZ4LXBhcmFncmFwaC10eHRcIj48c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBwYXJlbnQgb2YgbGlzdD8ud2l0aGluRGF0YTsgbGV0IGxhc3QgPSBsYXN0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCJwYXJlbnQ/Lm5hbWVcIiBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiIGRlbGF5PVwiMFwiIHR5cGU9XCJibGFja1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIj57e3BhcmVudD8ubmFtZX19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhbGFzdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxhcHAtcGFnaW5hdGlvbiAqbmdJZj1cImRhdGFMaXN0Py50b3RhbF9wYWdlcyA+IDFcIiBbc3RhcnRdPVwiZGF0YUxpc3Q/Lml0ZW1zX2Zyb21cIiBbZW5kXT1cImRhdGFMaXN0Py5pdGVtc190b1wiXG4gICAgICAgICAgICBbdG90YWxdPVwiZGF0YUxpc3Q/LnRvdGFsX2l0ZW1zXCIgW3BhZ2VDb3VudF09XCJkYXRhTGlzdD8udG90YWxfcGFnZXNcIiBbY3VycmVudFBhZ2VdPVwiY3VycmVudFBhZ2VcIlxuICAgICAgICAgICAgKHNlbGVjdGVkUGFnZSk9XCJjaGFuZ2VQYWdlKCRldmVudClcIj48L2FwcC1wYWdpbmF0aW9uPlxuICAgIDwvZGl2PlxuPC9kaXY+Il19
|
|
210
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvd29ya2Zsb3cvc2hhcmVkL2NvbXBvbmVudHMvZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcvZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvd29ya2Zsb3cvc2hhcmVkL2NvbXBvbmVudHMvZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcvZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxRQUFRLEVBQ1IsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNoRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUNuRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBRTFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3REFBd0QsQ0FBQzs7Ozs7Ozs7Ozs7O0FBK0JyRixNQUFNLE9BQU8saUNBQWlDO0lBa0I1QyxJ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RyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDNUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDN0MsQ0FBQztJQUNKLENBQUM7K0dBcE1VLGlDQUFpQzttR0FBakMsaUNBQWlDLHV0QkNoRDlDLG94TkEwRk0sOHBXRG5FRixZQUFZLCtQQUNaLGFBQWEsc1JBQ2IsZUFBZSw2V0FDZixhQUFhLHFNQUNiLGlCQUFpQiw4QkFDakIsZ0JBQWdCLGlQQUNoQixtQkFBbUIsc0dBQ25CLFdBQVc7OzRGQWtCRixpQ0FBaUM7a0JBN0I3QyxTQUFTOytCQUNFLGdDQUFnQyxjQUM5QixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixpQkFBaUI7d0JBQ2pCLGdCQUFnQjt3QkFDaEIsbUJBQW1CO3dCQUNuQixXQUFXO3FCQUVaLFVBR087d0JBQ04sV0FBVzt3QkFDWCxlQUFlO3dCQUNmLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsWUFBWTt3QkFDWixrQkFBa0I7d0JBQ2xCLHFCQUFxQjt3QkFDckIsTUFBTTtxQkFDUDs7MEJBK0JZLFFBQVE7NENBYlosNEJBQTRCO3NCQUFwQyxLQUFLO2dCQUUyQixxQkFBcUI7c0JBQXJELEtBQUs7dUJBQUMsb0JBQW9CO2dCQUlsQixzQkFBc0I7c0JBQTlCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFFSSxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBQ0csNEJBQTRCO3NCQUFyQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRmxvYXRpbmdCYXJNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWRDb21wb25lbnRzL2Zsb2F0aW5nLWJhci9mbG9hdGluZy1iYXIubW9kdWxlJztcbmltcG9ydCB7IEZvcm1ncm91cE1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL3VpLWtpdC9mb3JtZ3JvdXAvZm9ybWdyb3VwLm1vZHVsZSc7XG5pbXBvcnQgeyBQYWdpbmF0aW9uTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdWkta2l0L3BhZ2luYXRpb24vcGFnaW5hdGlvbi5tb2R1bGUnO1xuaW1wb3J0IHsgUG9wb3Zlck1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL3VpLWtpdC9wb3BvdmVyL3BvcG92ZXIubW9kdWxlJztcbmltcG9ydCB7IFRvb2x0aXBNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi91aS1raXQvdG9vbHRpcC90b29sdGlwLm1vZHVsZSc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9ucyB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbmZpZ3VyYXRpb25zJztcbmltcG9ydCB7IFdvcmtmbG93UGlwZXNNb2R1bGUgfSBmcm9tICcuLi8uLi93b3JrZmxvdy1waXBlcy93b3JrZmxvdy1waXBlcy5tb2R1bGUnO1xuaW1wb3J0IHsgUGlwZXNNb2R1bGUgfSBmcm9tICdwcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9waXBlcy9waXBlcy5tb2R1bGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFBvcG92ZXJNb2R1bGUsXG4gICAgRm9ybWdyb3VwTW9kdWxlLFxuICAgIFRvb2x0aXBNb2R1bGUsXG4gICAgRmxvYXRpbmdCYXJNb2R1bGUsXG4gICAgUGFnaW5hdGlvbk1vZHVsZSxcbiAgICBXb3JrZmxvd1BpcGVzTW9kdWxlLFxuICAgIFBpcGVzTW9kdWxlLFxuXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9ncmMtcmVzcG9uc2liaWxpdHktbGlzdGluZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2dyYy1yZXNwb25zaWJpbGl0eS1saXN0aW5nLmNvbXBvbmVudC5sZXNzJ10sXG4gIGlucHV0czogW1xuICAgICd0YWJsZUNhcmQnLFxuICAgICdhY3RpdmVQcm9ncmFtJyxcbiAgICAnaGVhZGVyVGV4dCcsXG4gICAgJ2N1cnJlbnRQYWdlJyxcbiAgICAncGVyUGFnZUxpbWl0JyxcbiAgICAndG90YWxMaXN0RGF0YScsXG4gICAgJ3RvdGFsUGFnZXMnLFxuICAgICdzZWxlY3RlZExpc3REYXRhJyxcbiAgICAnc2VsZWN0ZWRMaXN0RGF0YUlkcycsXG4gICAgJ01PREUnXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEdyY1Jlc3BvbnNpYmlsaXR5TGlzdGluZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByb2ZpbGVQaWMgPSAnJztcbiAgZW52OiBhbnk7XG4gIGRhdGFMaXN0ITogYW55O1xuICBoZWFkZXJUZXh0OiBzdHJpbmcgPSAnTmFtZSc7XG4gIHNlbGVjdGVkTGlzdERhdGE6IGFueSA9IFtdO1xuICBzZWxlY3RlZExpc3REYXRhSWRzOiBhbnkgPSBbXTtcbiAgcGVyUGFnZUxpbWl0OiBudW1iZXIgPSAzMDtcbiAgY3VycmVudFBhZ2U6IG51bWJlciA9IDE7XG4gIHRvdGFsUGFnZXM6IG51bWJlciA9IDE7XG4gIHRvdGFsTGlzdERhdGE6IG51bWJlciA9IDA7XG4gIC8vIHNlbGVjdGVkUHJvZ3JhbUFuZFJlc3A6IGFueSA9IFtdO1xuICBhY3RpdmVQcm9ncmFtOiBhbnkgPSB7fTtcbiAgY2FsbGVkRnJvbTogc3RyaW5nID0gJyc7XG4gIE1PREU6ICdDUkVBVEUnIHwgJ0VESVQnID0gJ0NSRUFURSc7XG5cbiAgQElucHV0KCkgYWxsU2VsZWN0ZWRSZXNwb25zaWJpbGl0eUlkczogYW55ID0gW107XG5cbiAgQElucHV0KCdyZXNwb25zaWJpbGl0eURhdGEnKSBzZXQgZ2V0UmVzcG9uc2liaWxpdHlMaXN0KHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLmRhdGFMaXN0ID0gdmFsdWU7XG4gIH1cblxuICBASW5wdXQoKSBzZWxlY3RlZFByb2dyYW1BbmRSZXNwOiBhbnkgPSBbXTtcbiAgQElucHV0KCkgc2VhcmNoU3RyaW5nOiBzdHJpbmcgPSAnJztcblxuICBAT3V0cHV0KCkgZ2V0VXBkYXRlZERhdGFMaXN0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGNoYW5nZVNlbGVjdGVkUHJvZ3JhbUFuZFJlc3A6IEV2ZW50RW1pdHRlcjxhbnk+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgY29uZmlnPzogQ29uZmlndXJhdGlvbnMpIHtcbiAgICB0aGlzLmVudiA9IGNvbmZpZz8uZW52Q29uZmlnO1xuICAgIHRoaXMucHJvZmlsZVBpYyA9IHRoaXMuZW52LnMzVXJsICsgdGhpcy5lbnYuczNCdWNrZXQgKyB0aGlzLmVudi5wcm9maWxlO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7fVxuXG4gIGdldFNlbGVjdGVkRGF0YShyZXNwb25zaWJpbGl0eTogYW55LCBldmVudDogYW55KSB7XG4gICAgaWYgKGV2ZW50KSB7XG4gICAgICB0aGlzLnNlbGVjdGVkTGlzdERhdGEucHVzaChyZXNwb25zaWJpbGl0eSk7XG4gICAgICB0aGlzLnNlbGVjdGVkTGlzdERhdGFJZHMucHVzaChyZXNwb25zaWJpbGl0eT8uX2lkKTtcbiAgICAgIHRoaXMuYWxsU2VsZWN0ZWRSZXNwb25zaWJpbGl0eUlkcy5wdXNoKHJlc3BvbnNpYmlsaXR5Py5faWQpO1xuICAgICAgdGhpcy5zZWxlY3RlZFByb2dyYW1BbmRSZXNwLnB1c2gocmVzcG9uc2liaWxpdHkpXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZGVsZXRlRXZlbnQocmVzcG9uc2liaWxpdHkpO1xuICAgIH1cbiAgfVxuXG4gIGRlbGV0ZUV2ZW50KHJlc3BvbnNpYmlsaXR5OiBhbnkpIHtcbiAgICB0aGlzLnNlbGVjdGVkTGlzdERhdGEgPSB0aGlzLnNlbGVjdGVkTGlzdERhdGE/LmZpbHRlcihcbiAgICAgIChzZWxlY3RlZDogYW55KSA9PiBzZWxlY3RlZD8uX2lkICE9PSByZXNwb25zaWJpbGl0eT8uX2lkXG4gICAgKTtcbiAgICB0aGlzLnNlbGVjdGVkTGlzdERhdGFJZHMgPSB0aGlzLnNlbGVjdGVkTGlzdERhdGFJZHM/LmZpbHRlcihcbiAgICAgIChzZWxlY3RlZExpc3REYXRhSWQ6IGFueSkgPT4gc2VsZWN0ZWRMaXN0RGF0YUlkICE9PSByZXNwb25zaWJpbGl0eT8uX2lkXG4gICAgKTtcbiAgICB0aGlzLmFsbFNlbGVjdGVkUmVzcG9uc2liaWxpdHlJZHMgPSB0aGlzLmFsbFNlbGVjdGVkUmVzcG9uc2liaWxpdHlJZHM/LmZpbHRlcihcbiAgICAgIChzZWxlY3RlZDogYW55KSA9PiBzZWxlY3RlZCAhPT0gcmVzcG9uc2liaWxpdHk/Ll9pZFxuICAgICk7XG4gICAgdGhpcy5zZWxlY3RlZFByb2dyYW1BbmRSZXNwID0gdGhpcy5zZWxlY3RlZFByb2dyYW1BbmRSZXNwPy5maWx0ZXIoXG4gICAgICAoc2VsZWN0ZWQ6IGFueSkgPT4gc2VsZWN0ZWQ/LnJpZCAhPT0gcmVzcG9uc2liaWxpdHk/LnJpZFxuICAgICk7XG4gICAgdGhpcy5jaGFuZ2VTZWxlY3RlZFByb2dyYW1BbmRSZXNwLmVtaXQodGhpcy5zZWxlY3RlZFByb2dyYW1BbmRSZXNwKTtcbiAgfVxuXG4gIHNlbGVjdEFsbChldmVudDogYW55KSB7XG4gICAgdGhpcy5kYXRhTGlzdD8uZGF0YT8uZm9yRWFjaCgoZGF0YTogYW55KSA9PiB7XG4gICAgICBpZiAoZXZlbnQpIHtcbiAgICAgICAgaWYgKCF0aGlzLnNlbGVjdGVkTGlzdERhdGFJZHMuaW5jbHVkZXMoZGF0YT8uX2lkKSkge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRMaXN0RGF0YS5wdXNoKGRhdGEpO1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRMaXN0RGF0YUlkcy5wdXNoKGRhdGE/Ll9pZCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZGVsZXRlRXZlbnQoZGF0YSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy51cGRhdGVPckNyZWF0ZUNhdGVnb3J5KFxuICAgICAgdGhpcy5hY3RpdmVQcm9ncmFtPy5wcm9ncmFtSWQsXG4gICAgICB0aGlzLmFjdGl2ZVByb2dyYW1cbiAgICApO1xuICB9XG5cbiAgaXNBbGxTZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLnNlbGVjdGVkTGlzdERhdGFJZHMgJiZcbiAgICAgIHRoaXMuc2VsZWN0ZWRMaXN0RGF0YUlkcy5sZW5ndGggPj0gdGhpcy5zZWxlY3RlZExpc3REYXRhPy5sZW5ndGggJiZcbiAgICAgIHRoaXMuc2VsZWN0ZWRMaXN0RGF0YUlkcy5sZW5ndGggPiAwXG4gICAgKSB7XG4gICAgICBmb3IgKGNvbnN0IGdyYyBvZiB0aGlzLmRhdGFMaXN0Py5kYXRhKSB7XG4gICAgICAgIGlmICghdGhpcy5zZWxlY3RlZExpc3REYXRhSWRzLmluY2x1ZGVzKGdyYz8uX2lkKSkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBjaGFuZ2VQYWdlKGV2ZW50OiBudW1iZXIpIHtcbiAgICB0aGlzLmN1cnJlbnRQYWdlID0gZXZlbnQ7XG4gICAgdGhpcy5nZXRVcGRhdGVkRGF0YUxpc3QuZW1pdCh7XG4gICAgICBwYWdlTm86IHRoaXMuY3VycmVudFBhZ2UsXG4gICAgfSk7XG4gIH1cblxuICB1cGRhdGVPckNyZWF0ZUNhdGVnb3J5KHByb2dyYW1JZDogbnVtYmVyLCBwcm9ncmFtOiBhbnkpIHtcbiAgICBjb25zdCBwcm9ncmFtSW5kZXggPSB0aGlzLmZpbmRDaGVja2VkUHJvZ3JhbUluZGV4KHByb2dyYW1JZCk7XG4gICAgaWYgKHByb2dyYW1JbmRleCAhPT0gLTEpIHtcbiAgICAgIC8vIENhdGVnb3J5IGV4aXN0cywgdXBkYXRlIHJpc2sgdmFsdWVcbiAgICAgIHRoaXMuc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcFtwcm9ncmFtSW5kZXhdLnJlc3BvbnNpYmlsaXR5ID1cbiAgICAgICAgdGhpcy5zZWxlY3RlZExpc3REYXRhID8/IFtdO1xuICAgICAgdGhpcy5zZWxlY3RlZFByb2dyYW1BbmRSZXNwW3Byb2dyYW1JbmRleF0uY2F0ZWdvcnkgPVxuICAgICAgICB0aGlzLmdldFN1YkNhdGVnb3J5SWRzKHRoaXMuc2VsZWN0ZWRMaXN0RGF0YSA/PyBbXSk7XG4gICAgICBpZiAodGhpcy5zZWxlY3RlZExpc3REYXRhLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAvLyBSZW1vdmUgY2F0ZWdvcnkgaWYgc2VsZWN0ZWRMaXN0RGF0YSBpcyBlbXB0eVxuICAgICAgICB0aGlzLnNlbGVjdGVkUHJvZ3JhbUFuZFJlc3Auc3BsaWNlKHByb2dyYW1JbmRleCwgMSk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh0aGlzLnNlbGVjdGVkTGlzdERhdGE/Lmxlbmd0aCA+IDApIHtcbiAgICAgIC8vIENhdGVnb3J5IGRvZXNuJ3QgZXhpc3QsIGNyZWF0ZSBuZXcgY2F0ZWdvcnkgd2l0aCBzdWJjYXRlZ29yeVxuICAgICAgdGhpcy5zZWxlY3RlZFByb2dyYW1BbmRSZXNwLnB1c2goe1xuICAgICAgICBwcm9ncmFtOiBwcm9ncmFtID8/IHt9LFxuICAgICAgICBjYXRlZ29yeTogdGhpcy5nZXRTdWJDYXRlZ29yeUlkcyh0aGlzLnNlbGVjdGVkTGlzdERhdGEgPz8gW10pLFxuICAgICAgICByZXNwb25zaWJpbGl0eTogdGhpcy5zZWxlY3RlZExpc3REYXRhID8/IFtdLFxuICAgICAgfSk7XG4gICAgfVxuICAgIHRoaXMuY2hhbmdlU2VsZWN0ZWRQcm9ncmFtQW5kUmVzcC5lbWl0KHRoaXMuc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcCk7XG4gIH1cblxuICBnZXRTZWxlY3RlZERhdGFBbmRJZHMoc2VsZWN0ZWREYXRhOiBhbnkpIHtcbiAgICBjb25zdCBwcm9ncmFtSW5kZXggPSB0aGlzLmZpbmRDaGVja2VkUHJvZ3JhbUluZGV4KFxuICAgICAgdGhpcy5hY3RpdmVQcm9ncmFtPy5wcm9ncmFtSWRcbiAgICApO1xuICAgIHRoaXMuc2VsZWN0ZWRMaXN0RGF0YSA9IFtdO1xuICAgIHRoaXMuc2VsZWN0ZWRMaXN0RGF0YUlkcyA9IFtdO1xuICAgIGlmIChwcm9ncmFtSW5kZXggIT09IC0xKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkTGlzdERhdGEgPSBzZWxlY3RlZERhdGFbcHJvZ3JhbUluZGV4XT8ucmVzcG9uc2liaWxpdHkgPz8gW107XG4gICAgICB0aGlzLnNlbGVjdGVkTGlzdERhdGE/LmZvckVhY2goKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLnNlbGVjdGVkTGlzdERhdGFJZHMucHVzaChkYXRhPy5faWQpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgZmluZENoZWNrZWRQcm9ncmFtSW5kZXgoY2F0ZWdvcnlJZDogbnVtYmVyIHwgbnVtYmVyW10pIHtcbiAgICBsZXQgcHJvZ3JhbUluZGV4ID0gLTE7XG4gICAgcHJvZ3JhbUluZGV4ID0gdGhpcy5zZWxlY3RlZFByb2dyYW1BbmRSZXNwLmZpbmRJbmRleChcbiAgICAgIChjYXQ6IGFueSkgPT4gY2F0Py5wcm9ncmFtPy5wcm9ncmFtSWQgPT09IGNhdGVnb3J5SWRcbiAgICApO1xuICAgIHJldHVybiBwcm9ncmFtSW5kZXg7XG4gIH1cblxuICBkZWxldGVTZWxlY3RlZFJlc3BvbnNpYmlsaXR5KHJlc3BvbnNpYmlsaXR5OiBhbnkpIHtcbiAgICB0aGlzLnNlbGVjdGVkUHJvZ3JhbUFuZFJlc3AgPSB0aGlzLnNlbGVjdGVkUHJvZ3JhbUFuZFJlc3A/Lm1hcChcbiAgICAgIChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgbGV0IGZpbHRlcmVkUmVzcG9uc2liaWxpdHkgPSBkYXRhPy5yZXNwb25zaWJpbGl0eT8uZmlsdGVyKFxuICAgICAgICAgIChyZXNwOiBhbnkpID0+IHJlc3A/Ll9pZCAhPT0gcmVzcG9uc2liaWxpdHk/Ll9pZFxuICAgICAgICApO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLmRhdGEsXG4gICAgICAgICAgcmVzcG9uc2liaWxpdHk6IGZpbHRlcmVkUmVzcG9uc2liaWxpdHksXG4gICAgICAgICAgY2F0ZWdvcnk6IFtcbiAgICAgICAgICAgIC4uLihuZXcgU2V0KFxuICAgICAgICAgICAgICBmaWx0ZXJlZFJlc3BvbnNpYmlsaXR5XG4gICAgICAgICAgICAgICAgLm1hcCgob2JqOiBhbnkpID0+IFtvYmo/LnN1YkNhdGVnb3J5SWRdKVxuICAgICAgICAgICAgICAgID8uZmxhdCgpXG4gICAgICAgICAgICApIHx8IFtdKSxcbiAgICAgICAgICBdLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgICk7XG5cbiAgICB0aGlzLnNlbGVjdGVkUHJvZ3JhbUFuZFJlc3AgPSB0aGlzLnNlbGVjdGVkUHJvZ3JhbUFuZFJlc3AuZmlsdGVyKFxuICAgICAgKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICByZXR1cm4gZGF0YT8ucmVzcG9uc2liaWxpdHk/Lmxlbmd0aCA+IDA7XG4gICAgICB9XG4gICAgKTtcbiAgICB0aGlzLmNoYW5nZVNlbGVjdGVkUHJvZ3JhbUFuZFJlc3AuZW1pdCh0aGlzLnNlbGVjdGVkUHJvZ3JhbUFuZFJlc3ApO1xuICB9XG5cbiAgZ2V0U3ViQ2F0ZWdvcnlJZHMoc2VsZWN0ZWRSZXNwb25zaWJpbGl0eTogYW55KSB7XG4gICAgbGV0IGlkU2V0OiBhbnkgPSBuZXcgU2V0KFxuICAgICAgc2VsZWN0ZWRSZXNwb25zaWJpbGl0eT8ubWFwKFxuICAgICAgICAocmVzcG9uc2liaWxpdHk6IGFueSkgPT4gcmVzcG9uc2liaWxpdHk/LnN1YkNhdGVnb3J5SWQgPz8gW11cbiAgICAgIClcbiAgICApO1xuICAgIGlmICh0aGlzLk1PREUgPT09ICdFRElUJykge1xuICAgICAgY29uc3QgcHJvZ3JhbUluZGV4ID0gdGhpcy5maW5kQ2hlY2tlZFByb2dyYW1JbmRleChcbiAgICAgICAgdGhpcy5hY3RpdmVQcm9ncmFtPy5wcm9ncmFtSWRcbiAgICAgICk7XG4gICAgICBpZiAocHJvZ3JhbUluZGV4ICE9PSAtMSkge1xuICAgICAgICBjb25zdCBwZXJ2aW91c1NlbGVjdGVkSWRzOiBhbnkgPVxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcFtwcm9ncmFtSW5kZXhdPy5jYXRlZ29yeSA/PyBbXTtcbiAgICAgICAgaWRTZXQgPSBuZXcgU2V0KFsuLi5pZFNldCwgLi4ucGVydmlvdXNTZWxlY3RlZElkc10pO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gWy4uLkFycmF5LmZyb20oaWRTZXQpXS5maWx0ZXIoKGl0ZW0pID0+XG4gICAgICBBcnJheS5pc0FycmF5KGl0ZW0pID8gaXRlbS5sZW5ndGggPiAwIDogdHJ1ZVxuICAgICk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJncmMtcmVzcG9uc2liaWxpdHktbGlzdGluZ1wiPlxuICAgIDxkaXYgY2xhc3M9XCJ0b3AtaGVhZGluZyB2eC1wbC0yIHZ4LW1iLTIgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiPlxuICAgICAgICA8YXBwLWNzLWNoZWNrYm94ICpuZ0lmPVwiaXNBbGxTZWxlY3RlZCgpIHx8IHNlbGVjdGVkTGlzdERhdGFJZHM/Lmxlbmd0aCA9PT0gMFwiIFtuZ1ZhbHVlXT1cImlzQWxsU2VsZWN0ZWQoKVwiXG4gICAgICAgICAgICAobmdWYWx1ZUNoYW5nZSk9XCJzZWxlY3RBbGwoJGV2ZW50KVwiPjwvYXBwLWNzLWNoZWNrYm94PlxuICAgICAgICA8YXBwLWNzLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUgKm5nSWY9XCIhaXNBbGxTZWxlY3RlZCgpICYmIHNlbGVjdGVkTGlzdERhdGFJZHM/Lmxlbmd0aFwiIFtuZ1ZhbHVlXT1cInRydWVcIlxuICAgICAgICAgICAgKG5nVmFsdWVDaGFuZ2UpPVwic2VsZWN0QWxsKGZhbHNlKVwiPjwvYXBwLWNzLWNoZWNrYm94LWluZGV0ZXJtaW5hdGU+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1mcy0xMSB2eC1mdy01MDAgdngtbGFiZWwtdHh0IHZ4LXR0LXVwcGVyY2FzZSB2eC1tbC0yIHZ4LWxoLTRcIj57e2hlYWRlclRleHR9fTwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJncmMtcmVzcG9uc2liaWxpdHktbGlzdGluZy1pbm5lclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JjLXJlc3BvbnNpYmlsaXR5LXRhYmxlLWJvZHlcIiBbY2xhc3Mud2l0aC1wYWdpbmF0aW9uXT1cImRhdGFMaXN0Py50b3RhbF9wYWdlcyA+IDFcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmMtcmVzcG9uc2liaWxpdHktdGFibGUtcm93XCJcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgbGlzdCBvZiBkYXRhTGlzdD8uZGF0YSB8IHNlYXJjaDogc2VhcmNoU3RyaW5nIDogJ25hbWUnIDsgbGV0IGkgPSBpbmRleFwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJhbGxTZWxlY3RlZFJlc3BvbnNpYmlsaXR5SWRzPy5pbmNsdWRlcyhsaXN0Py5faWQpXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdyYy1yZXNwb25zaWJpbGl0eS10YWJsZS1jb2x1bW4gdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgc2VyaWFsXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzci1ub1wiIFthcHBUb29sdGlwXT1cIihwZXJQYWdlTGltaXQgKiAoY3VycmVudFBhZ2UgLSAxKSkgKyBpICsgMVwiIHBsYWNlbWVudD1cImJvdHRvbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIiB0eXBlPVwiYmxhY2tcIiBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCI+e3socGVyUGFnZUxpbWl0ICogKGN1cnJlbnRQYWdlIC0gMSkpICsgaSArIDF9fVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGFwcC1jcy1jaGVja2JveCBbbmdWYWx1ZV09XCJhbGxTZWxlY3RlZFJlc3BvbnNpYmlsaXR5SWRzPy5pbmNsdWRlcyhsaXN0Py5faWQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChuZ1ZhbHVlQ2hhbmdlKT1cImdldFNlbGVjdGVkRGF0YShsaXN0LCRldmVudClcIj48L2FwcC1jcy1jaGVja2JveD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JjLXJlc3BvbnNpYmlsaXR5LXRhYmxlLWNvbHVtbiB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgcmVzcG9uc2liaWxpdHktbmFtZVwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidngtYXZhdGFyLWdyb3VwIHZ4LW1yLTFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1hdmF0YXIgbWRcIiBbYXBwVG9vbHRpcF09XCJsaXN0Py5lbnRydXN0ZWRCeT8ubmFtZVwiIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIiB0eXBlPVwiYmxhY2tcIiBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJsaXN0Py5lbnRydXN0ZWRCeT8ucHJvZmlsZVBpYyA9PT0gJydcIiBjbGFzcz1cImJsdWVcIj57e2xpc3QuZW50cnVzdGVkQnk/Lm5hbWUgfFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyU2hvcnROYW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgKm5nSWY9XCJsaXN0Py5lbnRydXN0ZWRCeT8ucHJvZmlsZVBpYyAhPT0gJydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcmM9XCJ7e3Byb2ZpbGVQaWMgKyBsaXN0Py5lbnRydXN0ZWRCeT8ucHJvZmlsZVBpY319XCIgYWx0PVwiXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJsaXN0Py5lbnRydXN0ZWRUbz8uRW50cnVzdGVkVG9NZW1iZXJzPy5sZW5ndGggPT09IDBcIiBjbGFzcz1cInZ4LWF2YXRhciBtZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwibGlzdD8uZW50cnVzdGVkVG8/Lm5hbWVcIiBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiIGRlbGF5PVwiMFwiIHR5cGU9XCJibGFja1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwibGlzdD8uZW50cnVzdGVkVG8/LnByb2ZpbGVQaWMgPT09ICcnXCIgY2xhc3M9XCJibHVlXCI+e3tsaXN0Py5lbnRydXN0ZWRUbz8ubmFtZSB8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJTaG9ydE5hbWUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyAqbmdJZj1cImxpc3Q/LmVudHJ1c3RlZFRvPy5wcm9maWxlUGljICE9PSAnJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyYz1cInt7cHJvZmlsZVBpYyArIGxpc3Q/LmVudHJ1c3RlZFRvPy5wcm9maWxlUGljfX1cIiBhbHQ9XCJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImxpc3Q/LmVudHJ1c3RlZFRvPy5FbnRydXN0ZWRUb01lbWJlcnM/Lmxlbmd0aFwiIGNsYXNzPVwidngtYXZhdGFyIG1kIGNvdW50ZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcFBvcG92ZXIgKGNsaWNrKT1cIm11bHRpVXNlci5wb3BvdmVyKClcIiBwbGFjZW1lbnQ9XCJsZWZ0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJncmVlblwiPit7e2xpc3Q/LmVudHJ1c3RlZFRvPy5FbnRydXN0ZWRUb01lbWJlcnM/Lmxlbmd0aH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YXBwLXBvcG92ZXIgI211bHRpVXNlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2YtYWN0aW9uLWxpc3RcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwiYWN0aW9uLWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgdXNlciBvZiBsaXN0Py5lbnRydXN0ZWRUbz8uRW50cnVzdGVkVG9NZW1iZXJzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF2YXRhci1jYXJkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ1c2VyPy5wcm9maWxlX3BpYyA9PT0gJydcIiBjbGFzcz1cImF2YXRhclwiPnt7dXNlcj8ubWVtYmVyX25hbWUgfFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlclNob3J0TmFtZSB9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidXNlcj8ucHJvZmlsZV9waWMgIT09ICcnXCIgY2xhc3M9XCJhdmF0YXJcIj48aW1nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjPVwie3twcm9maWxlUGljICsgdXNlcj8ucHJvZmlsZV9waWN9fVwiIGFsdD1cIlwiPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZhbHVlXCIgW2FwcFRvb2x0aXBdPVwidXNlci5tZW1iZXJfbmFtZVwiIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiIHR5cGU9XCJibGFja1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJmYWxzZVwiPnt7dXNlcj8ubWVtYmVyX25hbWV9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2FwcC1wb3BvdmVyPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPCEtLSA8aSBjbGFzcz1cImljb25zIHN0YXIgdngtZnMtMTAgdngtbXItMVwiIFtjbGFzcy5hY3RpdmVdPVwidHJ1ZVwiPiYjeGVhNzA7PC9pPiAtLT5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hbWUtaW5uZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hbWUgdngtZnMtMTMgdngtbGFiZWwtdHh0XCIgW2FwcFRvb2x0aXBdPVwibGlzdD8ubmFtZVwiIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsYXk9XCIwXCIgdHlwZT1cImJsYWNrXCIgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIj57e2xpc3Q/LmNvbnRyb2xJZH19e3tsaXN0Py5uYW1lfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIiAqbmdJZj1cImxpc3Q/LndpdGhpbkRhdGE/Lmxlbmd0aFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1mcy0xMCB2eC1mdy01MDAgdngtbGFiZWwtdHh0IHZ4LXR0LXVwcGVyY2FzZSB2eC1tci0xXCI+UkVTUE9OU0lCSUxJVFkgQ0VOVEVSOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3aXRoaW4tcGFydCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LXByLTNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3aXRoaW4tYm94IHZ4LWZzLTkgdngtZnctNjAwIHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtbXItMiB2eC1saC0zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXaXRoaW48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndpdGhpbi12YWx1ZSB2eC1mcy0xMSB2eC1wYXJhZ3JhcGgtdHh0XCI+PHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgcGFyZW50IG9mIGxpc3Q/LndpdGhpbkRhdGE7IGxldCBsYXN0ID0gbGFzdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwicGFyZW50Py5uYW1lXCIgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIiBkZWxheT1cIjBcIiB0eXBlPVwiYmxhY2tcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cImZhbHNlXCI+e3twYXJlbnQ/Lm5hbWV9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIWxhc3RcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8YXBwLXBhZ2luYXRpb24gKm5nSWY9XCJkYXRhTGlzdD8udG90YWxfcGFnZXMgPiAxXCIgW3N0YXJ0XT1cImRhdGFMaXN0Py5pdGVtc19mcm9tXCIgW2VuZF09XCJkYXRhTGlzdD8uaXRlbXNfdG9cIlxuICAgICAgICAgICAgW3RvdGFsXT1cImRhdGFMaXN0Py50b3RhbF9pdGVtc1wiIFtwYWdlQ291bnRdPVwiZGF0YUxpc3Q/LnRvdGFsX3BhZ2VzXCIgW2N1cnJlbnRQYWdlXT1cImN1cnJlbnRQYWdlXCJcbiAgICAgICAgICAgIChzZWxlY3RlZFBhZ2UpPVwiY2hhbmdlUGFnZSgkZXZlbnQpXCI+PC9hcHAtcGFnaW5hdGlvbj5cbiAgICA8L2Rpdj5cbjwvZGl2PiJdfQ==
|