vcomply-workflow-engine 6.0.46 → 6.0.48

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.
@@ -101,11 +101,11 @@ export class CategoryListSelectionComponent {
101
101
  return data;
102
102
  }
103
103
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CategoryListSelectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
104
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CategoryListSelectionComponent, selector: "app-category-list-selection", inputs: { setList: ["categoryList", "setList"], config: "config", currentPage: "currentPage", recordStart: "recordStart", recordEnd: "recordEnd", totalRecords: "totalRecords", totalPages: "totalPages", loading: "loading", selectionMode: "selectionMode", setSelected: ["selectedList", "setSelected"] }, outputs: { fetchData: "fetchData", back: "back", next: "next", cancel: "cancel" }, ngImport: i0, template: "<div class=\"radio-list\" [class.animate]=\"animation\">\n <div\n class=\"radio-list-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\"\n >\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">{{ config?.panelTitle }}</div>\n </div>\n\n <div class=\"radio-list-body\">\n <div class=\"search-block vx-mb-2\" *ngIf=\"true\">\n <i class=\"icons\">&#xe90b;</i>\n <input\n (keydown.enter)=\"search()\"\n type=\"text\"\n [placeholder]=\"config?.searchPlaceholder\"\n [(ngModel)]=\"searchKey\"\n />\n </div>\n\n <app-pagination\n *ngIf=\"totalPages > 1\"\n [start]=\"recordStart\"\n [end]=\"recordEnd\"\n [total]=\"totalRecords\"\n [pageCount]=\"totalPages\"\n [currentPage]=\"currentPage\"\n (selectedPage)=\"pageChanged($event)\"\n ></app-pagination>\n\n <!-- it is visible when list data is available -->\n <ng-container *ngIf=\"!loading && list?.length\">\n <div\n class=\"categories vx-mb-4\"\n [class.mt-2]=\"totalPages === 0\"\n *ngIf=\"selectionMode === 'multiple'\"\n >\n <app-cs-checkbox\n [ngValue]=\"checkSelectAll()\"\n (ngValueChange)=\"selectAll($event)\"\n >\n <span class=\"vx-fw-600 vx-label-txt\">{{\n checkSelectAll() ? \"Deselect All\" : \"Select All\"\n }}</span>\n </app-cs-checkbox>\n </div>\n <ul\n class=\"categories-list vx-mb-4\"\n [class.with-selectAll]=\"selectionMode === 'multiple'\"\n [class.with-pagination]=\"totalPages > 1\"\n >\n <li *ngFor=\"let item of list | search : searchKey; let i = index\">\n <app-cs-radio\n *ngIf=\"selectionMode === 'single'\"\n [checked]=\"selectedIds?.includes(item[config?.identifierKey])\"\n (checkedEvent)=\"itemSelected($event, item)\"\n [appTooltip]=\"item[config.displayKey]\"\n placement=\"bottom-left\"\n delay=\"0\"\n [tooltipMandatory]=\"true\"\n >\n <div class=\"name\">{{ item[config.displayKey] }}</div>\n <div\n class=\"within vx-d-flex vx-align-center vx-justify-start vx-mt-1\"\n >\n <div\n class=\"block vx-fs-9 vx-fw-500 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2\"\n *ngIf=\"item[config?.parentKey] != ''\"\n >\n WITHIN\n </div>\n <div\n class=\"data vx-fs-11 vx-paragraph-txt vx-lh-4 vx-pr-5\"\n [appTooltip]=\"item[config?.parentKey] | within : list\"\n placement=\"bottom-left\"\n delay=\"0\"\n [tooltipMandatory]=\"false\"\n >\n {{ item[config?.parentKey] | within : list }}\n </div>\n </div>\n </app-cs-radio>\n <app-cs-checkbox\n *ngIf=\"selectionMode === 'multiple'\"\n [ngValue]=\"selectedIds?.includes(item[config?.identifierKey])\"\n (ngValueChange)=\"itemSelected($event, item)\"\n [appTooltip]=\"item[config.displayKey]\"\n placement=\"bottom-left\"\n delay=\"0\"\n [tooltipMandatory]=\"true\"\n >\n <div class=\"name\">{{ item[config.displayKey] }}</div>\n <div\n class=\"within vx-d-flex vx-align-center vx-justify-start vx-mt-1\"\n >\n <div\n class=\"block vx-fs-9 vx-fw-500 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2\"\n *ngIf=\"item[config?.parentKey] != ''\"\n >\n WITHIN\n </div>\n <div\n class=\"data vx-fs-11 vx-paragraph-txt vx-lh-4 vx-pr-5\"\n [appTooltip]=\"item[config?.parentKey] | within : list\"\n placement=\"bottom-left\"\n delay=\"0\"\n [tooltipMandatory]=\"false\"\n >\n {{ item[config?.parentKey] | within : list }}\n </div>\n </div>\n </app-cs-checkbox>\n </li>\n </ul>\n </ng-container>\n <!-- It is visible when the list items are getting loaded -->\n <app-listline-loader *ngIf=\"loading\"></app-listline-loader>\n <ng-container *ngIf=\"!loading && list?.length === 0\">\n <app-no-data\n [noDataImage]=\"\n 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\n \"\n [noDataText]=\"\n config?.noDataText?.length > 0\n ? config?.noDataText\n : 'No data to display'\n \"\n ></app-no-data>\n </ng-container>\n\n <app-floating-bar\n [selectedData]=\"selectedList\"\n [displayElementKey]=\"config?.displayKey\"\n [singularText]=\"config?.entitySingular\"\n [pluralText]=\"\n config?.entityPlural ? config?.entityPlural : 'Users selected'\n \"\n (closeEvent)=\"save()\"\n (closeList)=\"close()\"\n (deleteEvent)=\"deleteItem($event)\"\n [isDisabled]=\"selectedList.length === 0 || list?.length === 0\"\n >\n </app-floating-bar>\n </div>\n</div>\n", 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\";::ng-deep .radio-list{position:fixed;inset:0 500px 0 0}::ng-deep .radio-list:before{background:#1e5dd3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .radio-list-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .radio-list-close{background:transparent;border:none;outline:none;cursor:pointer;color:#000;font-size:12px;display:inline-block;padding:0}::ng-deep .radio-list-body{background:#fff;height:calc(100vh - 2.75rem);padding:2rem}::ng-deep .radio-list-body .search-block{position:relative}::ng-deep .radio-list-body .search-block input{height:2.75rem;line-height:1.5rem;padding:.5rem 1rem .5rem 2.5rem;outline:none;border:1px solid #7475763f;border-radius:.25rem;width:100%;font-size:14px;color:#747576}::ng-deep .radio-list-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .radio-list-body .search-block i{position:absolute;left:1rem;top:1rem;pointer-events:none;color:#f1f1f1;font-size:12px}::ng-deep .radio-list-body app-pagination .wk-pagination-sec-ds{padding:0!important}::ng-deep .radio-list-body .categories{height:1rem}::ng-deep .radio-list-body .categories app-cs-radio .radio-item,::ng-deep .radio-list-body .categories app-cs-checkbox .radio-item,::ng-deep .radio-list-body .categories app-cs-radio .checkbox-item,::ng-deep .radio-list-body .categories app-cs-checkbox .checkbox-item{position:relative;padding-left:24px;width:100%}::ng-deep .radio-list-body .categories app-cs-radio .radio-item .radio,::ng-deep .radio-list-body .categories app-cs-checkbox .radio-item .radio,::ng-deep .radio-list-body .categories app-cs-radio .checkbox-item .radio,::ng-deep .radio-list-body .categories app-cs-checkbox .checkbox-item .radio,::ng-deep .radio-list-body .categories app-cs-radio .radio-item .radiomark,::ng-deep .radio-list-body .categories app-cs-checkbox .radio-item .radiomark,::ng-deep .radio-list-body .categories app-cs-radio .checkbox-item .radiomark,::ng-deep .radio-list-body .categories app-cs-checkbox .checkbox-item .radiomark,::ng-deep .radio-list-body .categories app-cs-radio .radio-item .checkbox,::ng-deep .radio-list-body .categories app-cs-checkbox .radio-item .checkbox,::ng-deep .radio-list-body .categories app-cs-radio .checkbox-item .checkbox,::ng-deep .radio-list-body .categories app-cs-checkbox .checkbox-item .checkbox,::ng-deep .radio-list-body .categories app-cs-radio .radio-item .checkmark,::ng-deep .radio-list-body .categories app-cs-checkbox .radio-item .checkmark,::ng-deep .radio-list-body .categories app-cs-radio .checkbox-item .checkmark,::ng-deep .radio-list-body .categories app-cs-checkbox .checkbox-item .checkmark{position:absolute!important;top:0;left:0}::ng-deep .radio-list-body .categories app-cs-radio .radio-item .value,::ng-deep .radio-list-body .categories app-cs-checkbox .radio-item .value,::ng-deep .radio-list-body .categories app-cs-radio .checkbox-item .value,::ng-deep .radio-list-body .categories app-cs-checkbox .checkbox-item .value{margin:0!important}::ng-deep .radio-list-body .categories app-cs-radio .radio-item .value span,::ng-deep .radio-list-body .categories app-cs-checkbox .radio-item .value span,::ng-deep .radio-list-body .categories app-cs-radio .checkbox-item .value span,::ng-deep .radio-list-body .categories app-cs-checkbox .checkbox-item .value span{color:#161b2f;font-weight:600;font-size:12px}::ng-deep .radio-list-body ul{padding:0;margin:0}::ng-deep .radio-list-body ul.categories-list{display:block;align-items:flex-start;flex-wrap:wrap;height:calc(100vh - 232px);overflow:auto;margin:16px 0 0}::ng-deep .radio-list-body ul.categories-list.with-pagination{height:calc(100vh - 260px)}::ng-deep .radio-list-body ul.categories-list.with-selectAll{height:calc(100vh - 256px)}::ng-deep .radio-list-body ul.categories-list.with-selectAll.with-pagination{height:calc(100vh - 284px)}::ng-deep .radio-list-body ul.categories-list li{padding:0 0 .5rem;list-style:none}::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item{position:relative;padding-left:24px;width:100%}::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .radio,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .radio,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .radio,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .radio,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .radiomark,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .radiomark,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .radiomark,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .radiomark,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .checkbox,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .checkbox,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .checkbox,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .checkbox,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .checkmark,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .checkmark,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .checkmark,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .checkmark{position:absolute;top:0;left:0}::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .value,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .value,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .value,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;display:block;margin:0!important}::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .value .name,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .value .name,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .value .name,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .value .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;font-size:12px;color:#161b2f}::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .value .within,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .value .within,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .value .within,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .value .within{display:flex;align-items:center;justify-content:flex-start;margin-top:4px}::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .value .within .block,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .value .within .block,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .value .within .block,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .value .within .block{background:#f1f1f1;border-radius:.125rem;color:#042e7d;font-size:9px;font-weight:500;text-transform:uppercase;padding:0 4px;margin-right:8px}::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .value .within .data,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .value .within .data,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .value .within .data,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .value .within .data{width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:#747576;line-height:16px;padding-right:20px}::ng-deep .radio-list-body app-no-data .no-data-wrapper{height:calc(100% - 100px)!important}::ng-deep .radio-list.animate{animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .radio-list-footer{background:#fff}::ng-deep .radio-list-footer app-floating-bar .floating-bar{padding:0 16px 16px}@keyframes animate-right{0%{transform:translate(100%)}to{transform:translate(0)}}.mt-2{margin-top:10px!important}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.FloatingBarComponent, selector: "app-floating-bar", inputs: ["selectedData", "selectedGroups", "displayElementKey", "elementId", "singularText", "pluralText", "showNextButton", "showFrequencyText", "showWorkflow", "workflowText", "currentFrequency", "isDisabled", "workflowList", "selectedWorkflow", "workflowPlaceHolder", "mode", "defaultSelected", "groupsEnabled", "nonRemovableUsersList", "removePosition"], outputs: ["closeEvent", "deleteEvent", "closeList", "deleteGroupEvent", "workflowTypeChanged"] }, { kind: "component", type: i3.NoDataComponent, selector: "app-no-data", inputs: ["action", "noDataImage", "noDataText", "noDataButton", "noDataSecButton", "altText", "smallButton", "button"], outputs: ["buttonAction"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.CsCheckboxComponent, selector: "app-cs-checkbox", inputs: ["disabled", "ngValue", "value", "readonly", "oneLine"], outputs: ["ngValueChange"] }, { kind: "component", type: i6.CsRadioComponent, selector: "app-cs-radio", inputs: ["disabled", "readonly", "name", "checked", "value", "oneLine"], outputs: ["checkedEvent"] }, { kind: "component", type: i7.PaginationComponentUI, selector: "app-pagination", inputs: ["activeAlphabet", "pageCount", "start", "end", "total", "currentPage"], outputs: ["selectedPage", "selectedAlphabet"] }, { kind: "component", type: i8.LinkTreatmentLoaderComponent, selector: "app-listline-loader" }, { kind: "pipe", type: i9.SearchPipe, name: "search" }, { kind: "pipe", type: i10.WithinStructurePipe, name: "within" }] }); }
104
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CategoryListSelectionComponent, selector: "app-category-list-selection", inputs: { setList: ["categoryList", "setList"], config: "config", currentPage: "currentPage", recordStart: "recordStart", recordEnd: "recordEnd", totalRecords: "totalRecords", totalPages: "totalPages", loading: "loading", selectionMode: "selectionMode", setSelected: ["selectedList", "setSelected"] }, outputs: { fetchData: "fetchData", back: "back", next: "next", cancel: "cancel" }, ngImport: i0, template: "<div class=\"radio-list\" [class.animate]=\"animation\">\n <div\n class=\"radio-list-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\"\n >\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">{{ config?.panelTitle }}</div>\n </div>\n\n <div class=\"radio-list-body\">\n <div class=\"search-block vx-mb-2\" *ngIf=\"true\">\n <i class=\"icons\">&#xe90b;</i>\n <input\n (keydown.enter)=\"search()\"\n type=\"text\"\n [placeholder]=\"config?.searchPlaceholder\"\n [(ngModel)]=\"searchKey\"\n />\n </div>\n\n <app-pagination\n *ngIf=\"totalPages > 1\"\n [start]=\"recordStart\"\n [end]=\"recordEnd\"\n [total]=\"totalRecords\"\n [pageCount]=\"totalPages\"\n [currentPage]=\"currentPage\"\n (selectedPage)=\"pageChanged($event)\"\n ></app-pagination>\n\n <!-- it is visible when list data is available -->\n <ng-container *ngIf=\"!loading && list?.length\">\n <div class=\"categories vx-mb-4\" [class.mt-2]=\"totalPages === 0\">\n <app-cs-checkbox\n *ngIf=\"selectionMode === 'multiple'\"\n [ngValue]=\"checkSelectAll()\"\n (ngValueChange)=\"selectAll($event)\"\n >\n <span class=\"vx-fw-600 vx-label-txt\">{{\n checkSelectAll() ? \"Deselect All\" : \"Select All\"\n }}</span>\n </app-cs-checkbox>\n </div>\n <ul\n class=\"categories-list vx-mb-4\"\n [class.with-pagination]=\"totalPages > 1\"\n >\n <li *ngFor=\"let item of list | search : searchKey; let i = index\">\n <app-cs-radio\n *ngIf=\"selectionMode === 'single'\"\n [checked]=\"selectedIds?.includes(item[config?.identifierKey])\"\n (checkedEvent)=\"itemSelected($event, item)\"\n [appTooltip]=\"item[config.displayKey]\"\n placement=\"bottom-left\"\n delay=\"0\"\n [tooltipMandatory]=\"true\"\n >\n <div class=\"name\">{{ item[config.displayKey] }}</div>\n <div\n class=\"within vx-d-flex vx-align-center vx-justify-start vx-mt-1\"\n >\n <div\n class=\"block vx-fs-9 vx-fw-500 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2\"\n *ngIf=\"item[config?.parentKey] != ''\"\n >\n WITHIN\n </div>\n <div\n class=\"data vx-fs-11 vx-paragraph-txt vx-lh-4 vx-pr-5\"\n [appTooltip]=\"item[config?.parentKey] | within : list\"\n placement=\"bottom-left\"\n delay=\"0\"\n [tooltipMandatory]=\"false\"\n >\n {{ item[config?.parentKey] | within : list }}\n </div>\n </div>\n </app-cs-radio>\n <app-cs-checkbox\n *ngIf=\"selectionMode === 'multiple'\"\n [ngValue]=\"selectedIds?.includes(item[config?.identifierKey])\"\n (ngValueChange)=\"itemSelected($event, item)\"\n [appTooltip]=\"item[config.displayKey]\"\n placement=\"bottom-left\"\n delay=\"0\"\n [tooltipMandatory]=\"true\"\n >\n <div class=\"name\">{{ item[config.displayKey] }}</div>\n <div\n class=\"within vx-d-flex vx-align-center vx-justify-start vx-mt-1\"\n >\n <div\n class=\"block vx-fs-9 vx-fw-500 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2\"\n *ngIf=\"item[config?.parentKey] != ''\"\n >\n WITHIN\n </div>\n <div\n class=\"data vx-fs-11 vx-paragraph-txt vx-lh-4 vx-pr-5\"\n [appTooltip]=\"item[config?.parentKey] | within : list\"\n placement=\"bottom-left\"\n delay=\"0\"\n [tooltipMandatory]=\"false\"\n >\n {{ item[config?.parentKey] | within : list }}\n </div>\n </div>\n </app-cs-checkbox>\n </li>\n </ul>\n </ng-container>\n <!-- It is visible when the list items are getting loaded -->\n <app-listline-loader *ngIf=\"loading\"></app-listline-loader>\n <ng-container *ngIf=\"!loading && list?.length === 0\">\n <app-no-data\n [noDataImage]=\"\n 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\n \"\n [noDataText]=\"\n config?.noDataText?.length > 0\n ? config?.noDataText\n : 'No data to display'\n \"\n ></app-no-data>\n </ng-container>\n\n <app-floating-bar\n [selectedData]=\"selectedList\"\n [displayElementKey]=\"config?.displayKey\"\n [singularText]=\"config?.entitySingular\"\n [pluralText]=\"\n config?.entityPlural ? config?.entityPlural : 'Users selected'\n \"\n (closeEvent)=\"save()\"\n (closeList)=\"close()\"\n (deleteEvent)=\"deleteItem($event)\"\n [isDisabled]=\"selectedList.length === 0 || list?.length === 0\"\n >\n </app-floating-bar>\n </div>\n</div>\n", 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\";::ng-deep .radio-list{position:fixed;inset:0 500px 0 0}::ng-deep .radio-list:before{background:#1e5dd3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .radio-list-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .radio-list-close{background:transparent;border:none;outline:none;cursor:pointer;color:#000;font-size:12px;display:inline-block;padding:0}::ng-deep .radio-list-body{background:#fff;height:calc(100vh - 2.75rem);padding:2rem}::ng-deep .radio-list-body .search-block{position:relative}::ng-deep .radio-list-body .search-block input{height:2.75rem;line-height:1.5rem;padding:.5rem 1rem .5rem 2.5rem;outline:none;border:1px solid #7475763f;border-radius:.25rem;width:100%;font-size:14px;color:#747576}::ng-deep .radio-list-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .radio-list-body .search-block i{position:absolute;left:1rem;top:1rem;pointer-events:none;color:#f1f1f1;font-size:12px}::ng-deep .radio-list-body app-pagination .wk-pagination-sec-ds{padding:0!important}::ng-deep .radio-list-body .categories{height:1rem}::ng-deep .radio-list-body .categories app-cs-radio .radio-item,::ng-deep .radio-list-body .categories app-cs-checkbox .radio-item,::ng-deep .radio-list-body .categories app-cs-radio .checkbox-item,::ng-deep .radio-list-body .categories app-cs-checkbox .checkbox-item{position:relative;padding-left:24px;width:100%}::ng-deep .radio-list-body .categories app-cs-radio .radio-item .radio,::ng-deep .radio-list-body .categories app-cs-checkbox .radio-item .radio,::ng-deep .radio-list-body .categories app-cs-radio .checkbox-item .radio,::ng-deep .radio-list-body .categories app-cs-checkbox .checkbox-item .radio,::ng-deep .radio-list-body .categories app-cs-radio .radio-item .radiomark,::ng-deep .radio-list-body .categories app-cs-checkbox .radio-item .radiomark,::ng-deep .radio-list-body .categories app-cs-radio .checkbox-item .radiomark,::ng-deep .radio-list-body .categories app-cs-checkbox .checkbox-item .radiomark,::ng-deep .radio-list-body .categories app-cs-radio .radio-item .checkbox,::ng-deep .radio-list-body .categories app-cs-checkbox .radio-item .checkbox,::ng-deep .radio-list-body .categories app-cs-radio .checkbox-item .checkbox,::ng-deep .radio-list-body .categories app-cs-checkbox .checkbox-item .checkbox,::ng-deep .radio-list-body .categories app-cs-radio .radio-item .checkmark,::ng-deep .radio-list-body .categories app-cs-checkbox .radio-item .checkmark,::ng-deep .radio-list-body .categories app-cs-radio .checkbox-item .checkmark,::ng-deep .radio-list-body .categories app-cs-checkbox .checkbox-item .checkmark{position:absolute!important;top:0;left:0}::ng-deep .radio-list-body .categories app-cs-radio .radio-item .value,::ng-deep .radio-list-body .categories app-cs-checkbox .radio-item .value,::ng-deep .radio-list-body .categories app-cs-radio .checkbox-item .value,::ng-deep .radio-list-body .categories app-cs-checkbox .checkbox-item .value{margin:0!important}::ng-deep .radio-list-body .categories app-cs-radio .radio-item .value span,::ng-deep .radio-list-body .categories app-cs-checkbox .radio-item .value span,::ng-deep .radio-list-body .categories app-cs-radio .checkbox-item .value span,::ng-deep .radio-list-body .categories app-cs-checkbox .checkbox-item .value span{color:#161b2f;font-weight:600;font-size:12px}::ng-deep .radio-list-body ul{padding:0;margin:0}::ng-deep .radio-list-body ul.categories-list{display:block;align-items:flex-start;flex-wrap:wrap;height:calc(100vh - 256px);overflow:auto;margin:16px 0 0}::ng-deep .radio-list-body ul.categories-list.with-pagination{height:calc(100vh - 284px)}::ng-deep .radio-list-body ul.categories-list li{padding:0 0 .5rem;list-style:none}::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item{position:relative;padding-left:24px;width:100%}::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .radio,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .radio,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .radio,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .radio,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .radiomark,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .radiomark,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .radiomark,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .radiomark,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .checkbox,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .checkbox,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .checkbox,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .checkbox,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .checkmark,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .checkmark,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .checkmark,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .checkmark{position:absolute;top:0;left:0}::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .value,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .value,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .value,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;display:block;margin:0!important}::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .value .name,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .value .name,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .value .name,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .value .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;font-size:12px;color:#161b2f}::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .value .within,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .value .within,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .value .within,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .value .within{display:flex;align-items:center;justify-content:flex-start;margin-top:4px}::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .value .within .block,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .value .within .block,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .value .within .block,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .value .within .block{background:#f1f1f1;border-radius:.125rem;color:#042e7d;font-size:9px;font-weight:500;text-transform:uppercase;padding:0 4px;margin-right:8px}::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .value .within .data,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .value .within .data,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .value .within .data,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .value .within .data{width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:#747576;line-height:16px;padding-right:20px}::ng-deep .radio-list-body app-no-data .no-data-wrapper{height:calc(100% - 100px)!important}::ng-deep .radio-list.animate{animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .radio-list-footer{background:#fff}::ng-deep .radio-list-footer app-floating-bar .floating-bar{padding:0 16px 16px}@keyframes animate-right{0%{transform:translate(100%)}to{transform:translate(0)}}.mt-2{margin-top:10px!important}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.FloatingBarComponent, selector: "app-floating-bar", inputs: ["selectedData", "selectedGroups", "displayElementKey", "elementId", "singularText", "pluralText", "showNextButton", "showFrequencyText", "showWorkflow", "workflowText", "currentFrequency", "isDisabled", "workflowList", "selectedWorkflow", "workflowPlaceHolder", "mode", "defaultSelected", "groupsEnabled", "nonRemovableUsersList", "removePosition"], outputs: ["closeEvent", "deleteEvent", "closeList", "deleteGroupEvent", "workflowTypeChanged"] }, { kind: "component", type: i3.NoDataComponent, selector: "app-no-data", inputs: ["action", "noDataImage", "noDataText", "noDataButton", "noDataSecButton", "altText", "smallButton", "button"], outputs: ["buttonAction"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.CsCheckboxComponent, selector: "app-cs-checkbox", inputs: ["disabled", "ngValue", "value", "readonly", "oneLine"], outputs: ["ngValueChange"] }, { kind: "component", type: i6.CsRadioComponent, selector: "app-cs-radio", inputs: ["disabled", "readonly", "name", "checked", "value", "oneLine"], outputs: ["checkedEvent"] }, { kind: "component", type: i7.PaginationComponentUI, selector: "app-pagination", inputs: ["activeAlphabet", "pageCount", "start", "end", "total", "currentPage"], outputs: ["selectedPage", "selectedAlphabet"] }, { kind: "component", type: i8.LinkTreatmentLoaderComponent, selector: "app-listline-loader" }, { kind: "pipe", type: i9.SearchPipe, name: "search" }, { kind: "pipe", type: i10.WithinStructurePipe, name: "within" }] }); }
105
105
  }
106
106
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CategoryListSelectionComponent, decorators: [{
107
107
  type: Component,
108
- args: [{ selector: 'app-category-list-selection', template: "<div class=\"radio-list\" [class.animate]=\"animation\">\n <div\n class=\"radio-list-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\"\n >\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">{{ config?.panelTitle }}</div>\n </div>\n\n <div class=\"radio-list-body\">\n <div class=\"search-block vx-mb-2\" *ngIf=\"true\">\n <i class=\"icons\">&#xe90b;</i>\n <input\n (keydown.enter)=\"search()\"\n type=\"text\"\n [placeholder]=\"config?.searchPlaceholder\"\n [(ngModel)]=\"searchKey\"\n />\n </div>\n\n <app-pagination\n *ngIf=\"totalPages > 1\"\n [start]=\"recordStart\"\n [end]=\"recordEnd\"\n [total]=\"totalRecords\"\n [pageCount]=\"totalPages\"\n [currentPage]=\"currentPage\"\n (selectedPage)=\"pageChanged($event)\"\n ></app-pagination>\n\n <!-- it is visible when list data is available -->\n <ng-container *ngIf=\"!loading && list?.length\">\n <div\n class=\"categories vx-mb-4\"\n [class.mt-2]=\"totalPages === 0\"\n *ngIf=\"selectionMode === 'multiple'\"\n >\n <app-cs-checkbox\n [ngValue]=\"checkSelectAll()\"\n (ngValueChange)=\"selectAll($event)\"\n >\n <span class=\"vx-fw-600 vx-label-txt\">{{\n checkSelectAll() ? \"Deselect All\" : \"Select All\"\n }}</span>\n </app-cs-checkbox>\n </div>\n <ul\n class=\"categories-list vx-mb-4\"\n [class.with-selectAll]=\"selectionMode === 'multiple'\"\n [class.with-pagination]=\"totalPages > 1\"\n >\n <li *ngFor=\"let item of list | search : searchKey; let i = index\">\n <app-cs-radio\n *ngIf=\"selectionMode === 'single'\"\n [checked]=\"selectedIds?.includes(item[config?.identifierKey])\"\n (checkedEvent)=\"itemSelected($event, item)\"\n [appTooltip]=\"item[config.displayKey]\"\n placement=\"bottom-left\"\n delay=\"0\"\n [tooltipMandatory]=\"true\"\n >\n <div class=\"name\">{{ item[config.displayKey] }}</div>\n <div\n class=\"within vx-d-flex vx-align-center vx-justify-start vx-mt-1\"\n >\n <div\n class=\"block vx-fs-9 vx-fw-500 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2\"\n *ngIf=\"item[config?.parentKey] != ''\"\n >\n WITHIN\n </div>\n <div\n class=\"data vx-fs-11 vx-paragraph-txt vx-lh-4 vx-pr-5\"\n [appTooltip]=\"item[config?.parentKey] | within : list\"\n placement=\"bottom-left\"\n delay=\"0\"\n [tooltipMandatory]=\"false\"\n >\n {{ item[config?.parentKey] | within : list }}\n </div>\n </div>\n </app-cs-radio>\n <app-cs-checkbox\n *ngIf=\"selectionMode === 'multiple'\"\n [ngValue]=\"selectedIds?.includes(item[config?.identifierKey])\"\n (ngValueChange)=\"itemSelected($event, item)\"\n [appTooltip]=\"item[config.displayKey]\"\n placement=\"bottom-left\"\n delay=\"0\"\n [tooltipMandatory]=\"true\"\n >\n <div class=\"name\">{{ item[config.displayKey] }}</div>\n <div\n class=\"within vx-d-flex vx-align-center vx-justify-start vx-mt-1\"\n >\n <div\n class=\"block vx-fs-9 vx-fw-500 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2\"\n *ngIf=\"item[config?.parentKey] != ''\"\n >\n WITHIN\n </div>\n <div\n class=\"data vx-fs-11 vx-paragraph-txt vx-lh-4 vx-pr-5\"\n [appTooltip]=\"item[config?.parentKey] | within : list\"\n placement=\"bottom-left\"\n delay=\"0\"\n [tooltipMandatory]=\"false\"\n >\n {{ item[config?.parentKey] | within : list }}\n </div>\n </div>\n </app-cs-checkbox>\n </li>\n </ul>\n </ng-container>\n <!-- It is visible when the list items are getting loaded -->\n <app-listline-loader *ngIf=\"loading\"></app-listline-loader>\n <ng-container *ngIf=\"!loading && list?.length === 0\">\n <app-no-data\n [noDataImage]=\"\n 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\n \"\n [noDataText]=\"\n config?.noDataText?.length > 0\n ? config?.noDataText\n : 'No data to display'\n \"\n ></app-no-data>\n </ng-container>\n\n <app-floating-bar\n [selectedData]=\"selectedList\"\n [displayElementKey]=\"config?.displayKey\"\n [singularText]=\"config?.entitySingular\"\n [pluralText]=\"\n config?.entityPlural ? config?.entityPlural : 'Users selected'\n \"\n (closeEvent)=\"save()\"\n (closeList)=\"close()\"\n (deleteEvent)=\"deleteItem($event)\"\n [isDisabled]=\"selectedList.length === 0 || list?.length === 0\"\n >\n </app-floating-bar>\n </div>\n</div>\n", 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\";::ng-deep .radio-list{position:fixed;inset:0 500px 0 0}::ng-deep .radio-list:before{background:#1e5dd3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .radio-list-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .radio-list-close{background:transparent;border:none;outline:none;cursor:pointer;color:#000;font-size:12px;display:inline-block;padding:0}::ng-deep .radio-list-body{background:#fff;height:calc(100vh - 2.75rem);padding:2rem}::ng-deep .radio-list-body .search-block{position:relative}::ng-deep .radio-list-body .search-block input{height:2.75rem;line-height:1.5rem;padding:.5rem 1rem .5rem 2.5rem;outline:none;border:1px solid #7475763f;border-radius:.25rem;width:100%;font-size:14px;color:#747576}::ng-deep .radio-list-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .radio-list-body .search-block i{position:absolute;left:1rem;top:1rem;pointer-events:none;color:#f1f1f1;font-size:12px}::ng-deep .radio-list-body app-pagination .wk-pagination-sec-ds{padding:0!important}::ng-deep .radio-list-body .categories{height:1rem}::ng-deep .radio-list-body .categories app-cs-radio .radio-item,::ng-deep .radio-list-body .categories app-cs-checkbox .radio-item,::ng-deep .radio-list-body .categories app-cs-radio .checkbox-item,::ng-deep .radio-list-body .categories app-cs-checkbox .checkbox-item{position:relative;padding-left:24px;width:100%}::ng-deep .radio-list-body .categories app-cs-radio .radio-item .radio,::ng-deep .radio-list-body .categories app-cs-checkbox .radio-item .radio,::ng-deep .radio-list-body .categories app-cs-radio .checkbox-item .radio,::ng-deep .radio-list-body .categories app-cs-checkbox .checkbox-item .radio,::ng-deep .radio-list-body .categories app-cs-radio .radio-item .radiomark,::ng-deep .radio-list-body .categories app-cs-checkbox .radio-item .radiomark,::ng-deep .radio-list-body .categories app-cs-radio .checkbox-item .radiomark,::ng-deep .radio-list-body .categories app-cs-checkbox .checkbox-item .radiomark,::ng-deep .radio-list-body .categories app-cs-radio .radio-item .checkbox,::ng-deep .radio-list-body .categories app-cs-checkbox .radio-item .checkbox,::ng-deep .radio-list-body .categories app-cs-radio .checkbox-item .checkbox,::ng-deep .radio-list-body .categories app-cs-checkbox .checkbox-item .checkbox,::ng-deep .radio-list-body .categories app-cs-radio .radio-item .checkmark,::ng-deep .radio-list-body .categories app-cs-checkbox .radio-item .checkmark,::ng-deep .radio-list-body .categories app-cs-radio .checkbox-item .checkmark,::ng-deep .radio-list-body .categories app-cs-checkbox .checkbox-item .checkmark{position:absolute!important;top:0;left:0}::ng-deep .radio-list-body .categories app-cs-radio .radio-item .value,::ng-deep .radio-list-body .categories app-cs-checkbox .radio-item .value,::ng-deep .radio-list-body .categories app-cs-radio .checkbox-item .value,::ng-deep .radio-list-body .categories app-cs-checkbox .checkbox-item .value{margin:0!important}::ng-deep .radio-list-body .categories app-cs-radio .radio-item .value span,::ng-deep .radio-list-body .categories app-cs-checkbox .radio-item .value span,::ng-deep .radio-list-body .categories app-cs-radio .checkbox-item .value span,::ng-deep .radio-list-body .categories app-cs-checkbox .checkbox-item .value span{color:#161b2f;font-weight:600;font-size:12px}::ng-deep .radio-list-body ul{padding:0;margin:0}::ng-deep .radio-list-body ul.categories-list{display:block;align-items:flex-start;flex-wrap:wrap;height:calc(100vh - 232px);overflow:auto;margin:16px 0 0}::ng-deep .radio-list-body ul.categories-list.with-pagination{height:calc(100vh - 260px)}::ng-deep .radio-list-body ul.categories-list.with-selectAll{height:calc(100vh - 256px)}::ng-deep .radio-list-body ul.categories-list.with-selectAll.with-pagination{height:calc(100vh - 284px)}::ng-deep .radio-list-body ul.categories-list li{padding:0 0 .5rem;list-style:none}::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item{position:relative;padding-left:24px;width:100%}::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .radio,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .radio,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .radio,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .radio,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .radiomark,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .radiomark,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .radiomark,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .radiomark,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .checkbox,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .checkbox,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .checkbox,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .checkbox,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .checkmark,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .checkmark,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .checkmark,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .checkmark{position:absolute;top:0;left:0}::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .value,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .value,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .value,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;display:block;margin:0!important}::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .value .name,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .value .name,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .value .name,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .value .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;font-size:12px;color:#161b2f}::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .value .within,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .value .within,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .value .within,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .value .within{display:flex;align-items:center;justify-content:flex-start;margin-top:4px}::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .value .within .block,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .value .within .block,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .value .within .block,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .value .within .block{background:#f1f1f1;border-radius:.125rem;color:#042e7d;font-size:9px;font-weight:500;text-transform:uppercase;padding:0 4px;margin-right:8px}::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .value .within .data,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .value .within .data,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .value .within .data,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .value .within .data{width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:#747576;line-height:16px;padding-right:20px}::ng-deep .radio-list-body app-no-data .no-data-wrapper{height:calc(100% - 100px)!important}::ng-deep .radio-list.animate{animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .radio-list-footer{background:#fff}::ng-deep .radio-list-footer app-floating-bar .floating-bar{padding:0 16px 16px}@keyframes animate-right{0%{transform:translate(100%)}to{transform:translate(0)}}.mt-2{margin-top:10px!important}\n"] }]
108
+ args: [{ selector: 'app-category-list-selection', template: "<div class=\"radio-list\" [class.animate]=\"animation\">\n <div\n class=\"radio-list-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\"\n >\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">{{ config?.panelTitle }}</div>\n </div>\n\n <div class=\"radio-list-body\">\n <div class=\"search-block vx-mb-2\" *ngIf=\"true\">\n <i class=\"icons\">&#xe90b;</i>\n <input\n (keydown.enter)=\"search()\"\n type=\"text\"\n [placeholder]=\"config?.searchPlaceholder\"\n [(ngModel)]=\"searchKey\"\n />\n </div>\n\n <app-pagination\n *ngIf=\"totalPages > 1\"\n [start]=\"recordStart\"\n [end]=\"recordEnd\"\n [total]=\"totalRecords\"\n [pageCount]=\"totalPages\"\n [currentPage]=\"currentPage\"\n (selectedPage)=\"pageChanged($event)\"\n ></app-pagination>\n\n <!-- it is visible when list data is available -->\n <ng-container *ngIf=\"!loading && list?.length\">\n <div class=\"categories vx-mb-4\" [class.mt-2]=\"totalPages === 0\">\n <app-cs-checkbox\n *ngIf=\"selectionMode === 'multiple'\"\n [ngValue]=\"checkSelectAll()\"\n (ngValueChange)=\"selectAll($event)\"\n >\n <span class=\"vx-fw-600 vx-label-txt\">{{\n checkSelectAll() ? \"Deselect All\" : \"Select All\"\n }}</span>\n </app-cs-checkbox>\n </div>\n <ul\n class=\"categories-list vx-mb-4\"\n [class.with-pagination]=\"totalPages > 1\"\n >\n <li *ngFor=\"let item of list | search : searchKey; let i = index\">\n <app-cs-radio\n *ngIf=\"selectionMode === 'single'\"\n [checked]=\"selectedIds?.includes(item[config?.identifierKey])\"\n (checkedEvent)=\"itemSelected($event, item)\"\n [appTooltip]=\"item[config.displayKey]\"\n placement=\"bottom-left\"\n delay=\"0\"\n [tooltipMandatory]=\"true\"\n >\n <div class=\"name\">{{ item[config.displayKey] }}</div>\n <div\n class=\"within vx-d-flex vx-align-center vx-justify-start vx-mt-1\"\n >\n <div\n class=\"block vx-fs-9 vx-fw-500 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2\"\n *ngIf=\"item[config?.parentKey] != ''\"\n >\n WITHIN\n </div>\n <div\n class=\"data vx-fs-11 vx-paragraph-txt vx-lh-4 vx-pr-5\"\n [appTooltip]=\"item[config?.parentKey] | within : list\"\n placement=\"bottom-left\"\n delay=\"0\"\n [tooltipMandatory]=\"false\"\n >\n {{ item[config?.parentKey] | within : list }}\n </div>\n </div>\n </app-cs-radio>\n <app-cs-checkbox\n *ngIf=\"selectionMode === 'multiple'\"\n [ngValue]=\"selectedIds?.includes(item[config?.identifierKey])\"\n (ngValueChange)=\"itemSelected($event, item)\"\n [appTooltip]=\"item[config.displayKey]\"\n placement=\"bottom-left\"\n delay=\"0\"\n [tooltipMandatory]=\"true\"\n >\n <div class=\"name\">{{ item[config.displayKey] }}</div>\n <div\n class=\"within vx-d-flex vx-align-center vx-justify-start vx-mt-1\"\n >\n <div\n class=\"block vx-fs-9 vx-fw-500 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2\"\n *ngIf=\"item[config?.parentKey] != ''\"\n >\n WITHIN\n </div>\n <div\n class=\"data vx-fs-11 vx-paragraph-txt vx-lh-4 vx-pr-5\"\n [appTooltip]=\"item[config?.parentKey] | within : list\"\n placement=\"bottom-left\"\n delay=\"0\"\n [tooltipMandatory]=\"false\"\n >\n {{ item[config?.parentKey] | within : list }}\n </div>\n </div>\n </app-cs-checkbox>\n </li>\n </ul>\n </ng-container>\n <!-- It is visible when the list items are getting loaded -->\n <app-listline-loader *ngIf=\"loading\"></app-listline-loader>\n <ng-container *ngIf=\"!loading && list?.length === 0\">\n <app-no-data\n [noDataImage]=\"\n 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\n \"\n [noDataText]=\"\n config?.noDataText?.length > 0\n ? config?.noDataText\n : 'No data to display'\n \"\n ></app-no-data>\n </ng-container>\n\n <app-floating-bar\n [selectedData]=\"selectedList\"\n [displayElementKey]=\"config?.displayKey\"\n [singularText]=\"config?.entitySingular\"\n [pluralText]=\"\n config?.entityPlural ? config?.entityPlural : 'Users selected'\n \"\n (closeEvent)=\"save()\"\n (closeList)=\"close()\"\n (deleteEvent)=\"deleteItem($event)\"\n [isDisabled]=\"selectedList.length === 0 || list?.length === 0\"\n >\n </app-floating-bar>\n </div>\n</div>\n", 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\";::ng-deep .radio-list{position:fixed;inset:0 500px 0 0}::ng-deep .radio-list:before{background:#1e5dd3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .radio-list-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .radio-list-close{background:transparent;border:none;outline:none;cursor:pointer;color:#000;font-size:12px;display:inline-block;padding:0}::ng-deep .radio-list-body{background:#fff;height:calc(100vh - 2.75rem);padding:2rem}::ng-deep .radio-list-body .search-block{position:relative}::ng-deep .radio-list-body .search-block input{height:2.75rem;line-height:1.5rem;padding:.5rem 1rem .5rem 2.5rem;outline:none;border:1px solid #7475763f;border-radius:.25rem;width:100%;font-size:14px;color:#747576}::ng-deep .radio-list-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .radio-list-body .search-block i{position:absolute;left:1rem;top:1rem;pointer-events:none;color:#f1f1f1;font-size:12px}::ng-deep .radio-list-body app-pagination .wk-pagination-sec-ds{padding:0!important}::ng-deep .radio-list-body .categories{height:1rem}::ng-deep .radio-list-body .categories app-cs-radio .radio-item,::ng-deep .radio-list-body .categories app-cs-checkbox .radio-item,::ng-deep .radio-list-body .categories app-cs-radio .checkbox-item,::ng-deep .radio-list-body .categories app-cs-checkbox .checkbox-item{position:relative;padding-left:24px;width:100%}::ng-deep .radio-list-body .categories app-cs-radio .radio-item .radio,::ng-deep .radio-list-body .categories app-cs-checkbox .radio-item .radio,::ng-deep .radio-list-body .categories app-cs-radio .checkbox-item .radio,::ng-deep .radio-list-body .categories app-cs-checkbox .checkbox-item .radio,::ng-deep .radio-list-body .categories app-cs-radio .radio-item .radiomark,::ng-deep .radio-list-body .categories app-cs-checkbox .radio-item .radiomark,::ng-deep .radio-list-body .categories app-cs-radio .checkbox-item .radiomark,::ng-deep .radio-list-body .categories app-cs-checkbox .checkbox-item .radiomark,::ng-deep .radio-list-body .categories app-cs-radio .radio-item .checkbox,::ng-deep .radio-list-body .categories app-cs-checkbox .radio-item .checkbox,::ng-deep .radio-list-body .categories app-cs-radio .checkbox-item .checkbox,::ng-deep .radio-list-body .categories app-cs-checkbox .checkbox-item .checkbox,::ng-deep .radio-list-body .categories app-cs-radio .radio-item .checkmark,::ng-deep .radio-list-body .categories app-cs-checkbox .radio-item .checkmark,::ng-deep .radio-list-body .categories app-cs-radio .checkbox-item .checkmark,::ng-deep .radio-list-body .categories app-cs-checkbox .checkbox-item .checkmark{position:absolute!important;top:0;left:0}::ng-deep .radio-list-body .categories app-cs-radio .radio-item .value,::ng-deep .radio-list-body .categories app-cs-checkbox .radio-item .value,::ng-deep .radio-list-body .categories app-cs-radio .checkbox-item .value,::ng-deep .radio-list-body .categories app-cs-checkbox .checkbox-item .value{margin:0!important}::ng-deep .radio-list-body .categories app-cs-radio .radio-item .value span,::ng-deep .radio-list-body .categories app-cs-checkbox .radio-item .value span,::ng-deep .radio-list-body .categories app-cs-radio .checkbox-item .value span,::ng-deep .radio-list-body .categories app-cs-checkbox .checkbox-item .value span{color:#161b2f;font-weight:600;font-size:12px}::ng-deep .radio-list-body ul{padding:0;margin:0}::ng-deep .radio-list-body ul.categories-list{display:block;align-items:flex-start;flex-wrap:wrap;height:calc(100vh - 256px);overflow:auto;margin:16px 0 0}::ng-deep .radio-list-body ul.categories-list.with-pagination{height:calc(100vh - 284px)}::ng-deep .radio-list-body ul.categories-list li{padding:0 0 .5rem;list-style:none}::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item{position:relative;padding-left:24px;width:100%}::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .radio,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .radio,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .radio,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .radio,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .radiomark,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .radiomark,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .radiomark,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .radiomark,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .checkbox,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .checkbox,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .checkbox,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .checkbox,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .checkmark,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .checkmark,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .checkmark,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .checkmark{position:absolute;top:0;left:0}::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .value,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .value,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .value,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;display:block;margin:0!important}::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .value .name,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .value .name,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .value .name,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .value .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;font-size:12px;color:#161b2f}::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .value .within,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .value .within,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .value .within,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .value .within{display:flex;align-items:center;justify-content:flex-start;margin-top:4px}::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .value .within .block,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .value .within .block,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .value .within .block,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .value .within .block{background:#f1f1f1;border-radius:.125rem;color:#042e7d;font-size:9px;font-weight:500;text-transform:uppercase;padding:0 4px;margin-right:8px}::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .value .within .data,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .value .within .data,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .value .within .data,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .value .within .data{width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:#747576;line-height:16px;padding-right:20px}::ng-deep .radio-list-body app-no-data .no-data-wrapper{height:calc(100% - 100px)!important}::ng-deep .radio-list.animate{animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .radio-list-footer{background:#fff}::ng-deep .radio-list-footer app-floating-bar .floating-bar{padding:0 16px 16px}@keyframes animate-right{0%{transform:translate(100%)}to{transform:translate(0)}}.mt-2{margin-top:10px!important}\n"] }]
109
109
  }], ctorParameters: function () { return []; }, propDecorators: { fetchData: [{
110
110
  type: Output
111
111
  }], back: [{
@@ -137,4 +137,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
137
137
  type: Input,
138
138
  args: ['selectedList']
139
139
  }] } });
140
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnktbGlzdC1zZWxlY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9jYXRlZ29yeS1saXN0LXNlbGVjdGlvbi9jYXRlZ29yeS1saXN0LXNlbGVjdGlvbi9jYXRlZ29yeS1saXN0LXNlbGVjdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2NhdGVnb3J5LWxpc3Qtc2VsZWN0aW9uL2NhdGVnb3J5LWxpc3Qtc2VsZWN0aW9uL2NhdGVnb3J5LWxpc3Qtc2VsZWN0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7OztBQXFCdkIsTUFBTSxPQUFPLDhCQUE4QjtJQVF6QyxJQUEyQixPQUFPLENBQUMsS0FBVTtRQUMzQyxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBU0QsSUFBMkIsV0FBVyxDQUFDLEtBQVU7UUFDL0MsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQztZQUMvQixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDdkI7SUFDSCxDQUFDO0lBR0Q7UUExQlUsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFhLENBQUM7UUFDMUMsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDMUIsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDMUIsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFF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Q0FBQztJQUNELGNBQWM7UUFDWixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQU8sRUFBRSxFQUFFLENBQ3ZDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQ3pELENBQUM7UUFDRixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7K0dBN0dVLDhCQUE4QjttR0FBOUIsOEJBQThCLG9jQzdCM0MsMm9LQStJQTs7NEZEbEhhLDhCQUE4QjtrQkFMMUMsU0FBUzsrQkFDRSw2QkFBNkI7MEVBSzdCLFNBQVM7c0JBQWxCLE1BQU07Z0JBQ0csSUFBSTtzQkFBYixNQUFNO2dCQUNHLElBQUk7c0JBQWIsTUFBTTtnQkFDRyxNQUFNO3NCQUFmLE1BQU07Z0JBSW9CLE9BQU87c0JBQWpDLEtBQUs7dUJBQUMsY0FBYztnQkFHWixNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNxQixXQUFXO3NCQUFyQyxLQUFLO3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuZXhwb3J0IGludGVyZmFjZSBMaXN0RXZlbnQge1xuICBzZWFyY2hLZXk/OiBzdHJpbmc7XG4gIHBhZ2U/OiBudW1iZXI7XG59XG5leHBvcnQgaW50ZXJmYWNlIHBhbmVsQ29uZmlnIHtcbiAgcGFuZWxUaXRsZTogJyc7XG4gIGVudGl0eVNpbmd1bGFyOiAnJztcbiAgZW50aXR5UGx1cmFsOiAnJztcbiAgZGlzcGxheUtleTogJyc7XG4gIGlkZW50aWZpZXJLZXk6ICcnO1xuICBwYXJlbnRLZXk6ICcnO1xuICBwYXJlbnREaXNwbGF5S2V5OiAnJztcbiAgc2VhcmNoUGxhY2Vob2xkZXI6ICcnO1xuICBub0RhdGFUZXh0OiAnJztcbn1cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1jYXRlZ29yeS1saXN0LXNlbGVjdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jYXRlZ29yeS1saXN0LXNlbGVjdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NhdGVnb3J5LWxpc3Qtc2VsZWN0aW9uLmNvbXBvbmVudC5sZXNzJ10sXG59KVxuZXhwb3J0IGNsYXNzIENhdGVnb3J5TGlzdFNlbGVjdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBPdXRwdXQoKSBmZXRjaERhdGEgPSBuZXcgRXZlbnRFbWl0dGVyPExpc3RFdmVudD4oKTtcbiAgQE91dHB1dCgpIGJhY2sgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBuZXh0ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgY2FuY2VsID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBsaXN0ID0gW107XG4gIHNlYXJjaEtleSA9ICcnO1xuICBzZWxlY3RlZExpc3Q6IGFueSA9IFtdO1xuICBASW5wdXQoJ2NhdGVnb3J5TGlzdCcpIHNldCBzZXRMaXN0KHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLmxpc3QgPSB2YWx1ZTtcbiAgfVxuICBASW5wdXQoKSBjb25maWchOiBwYW5lbENvbmZpZztcbiAgQElucHV0KCkgY3VycmVudFBhZ2U6IGFueSA9IDE7XG4gIEBJbnB1dCgpIHJlY29yZFN0YXJ0OiBhbnkgPSAxO1xuICBASW5wdXQoKSByZWNvcmRFbmQ6IGFueSA9IDE7XG4gIEBJbnB1dCgpIHRvdGFsUmVjb3JkczogYW55ID0gMTtcbiAgQElucHV0KCkgdG90YWxQYWdlczogYW55ID0gMTtcbiAgQElucHV0KCkgbG9hZGluZzogYW55ID0gdHJ1ZTtcbiAgQElucHV0KCkgc2VsZWN0aW9uTW9kZTogJ3NpbmdsZScgfCAnbXVsdGlwbGUnID0gJ211bHRpcGxlJztcbiAgQElucHV0KCdzZWxlY3RlZExpc3QnKSBzZXQgc2V0U2VsZWN0ZWQodmFsdWU6IGFueSkge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy5zZWxlY3RlZExpc3QgPSBbLi4udmFsdWVdO1xuICAgICAgdGhpcy5zZXRTZWxlY3RlZElkcygpO1xuICAgIH1cbiAgfVxuICBhbmltYXRpb24gPSB0cnVlO1xuICBzZWxlY3RlZElkczogYW55ID0gW107XG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XG5cbiAgLy9UaGlzIG1ldGhvZCBoYW5kbGVzIHRoZSBwYWdlIGNoYW5nZVxuICBwYWdlQ2hhbmdlZChwYWdlOiBudW1iZXIpIHtcbiAgICB0aGlzLmN1cnJlbnRQYWdlID0gcGFnZTtcbiAgICB0aGlzLmZldGNoRGF0YS5lbWl0KHsgcGFnZTogdGhpcy5jdXJyZW50UGFnZSwgc2VhcmNoS2V5OiB0aGlzLnNlYXJjaEtleSB9KTtcbiAgfVxuXG4gIC8vVGhpcyBtZXRob2QgaGFuZGxlcyB0aGUgc2VhcmNoXG4gIHNlYXJjaCgpIHtcbiAgICB0aGlzLmN1cnJlbnRQYWdlID0gMTtcbiAgICB0aGlzLmZldGNoRGF0YS5lbWl0KHsgcGFnZTogdGhpcy5jdXJyZW50UGFnZSwgc2VhcmNoS2V5OiB0aGlzLnNlYXJjaEtleSB9KTtcbiAgfVxuXG4gIGl0ZW1TZWxlY3RlZChldmVudDogYW55LCBpdGVtOiBhbnkpIHtcbiAgICBpZiAodGhpcy5zZWxlY3Rpb25Nb2RlID09PSAnc2luZ2xlJykge1xuICAgICAgdGhpcy5zZWxlY3RlZExpc3QgPSBbaXRlbV07XG4gICAgICB0aGlzLnNldFNlbGVjdGVkSWRzKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChldmVudCkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkTGlzdC5wdXNoKGl0ZW0pO1xuICAgICAgICB0aGlzLnNldFNlbGVjdGVkSWRzKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsZXQgaW5kZXggPSB0aGlzLnNlbGVjdGVkTGlzdC5maW5kSW5kZXgoXG4gICAgICAgICAgKHg6IGFueSkgPT4geD8uX2lkID09PSBpdGVtPy5faWRcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKGluZGV4ID49IDApIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkTGlzdCA9IHRoaXMuc2VsZWN0ZWRMaXN0LmZpbHRlcihcbiAgICAgICAgICAgIChlbGU6IGFueSkgPT5cbiAgICAgICAgICAgICAgZWxlW3RoaXMuY29uZmlnPy5pZGVudGlmaWVyS2V5XSAhPT1cbiAgICAgICAgICAgICAgaXRlbVt0aGlzLmNvbmZpZz8uaWRlbnRpZmllcktleV1cbiAgICAgICAgICApO1xuICAgICAgICAgIHRoaXMuc2V0U2VsZWN0ZWRJZHMoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHNldFNlbGVjdGVkSWRzKCkge1xuICAgIHRoaXMuc2VsZWN0ZWRJZHMgPSB0aGlzLnNlbGVjdGVkTGlzdC5tYXAoXG4gICAgICAoZWxlOiBhbnkpID0+IGVsZVt0aGlzLmNvbmZpZz8uaWRlbnRpZmllcktleV1cbiAgICApO1xuICAgIHRoaXMuc2VsZWN0ZWRMaXN0ID0gQXJyYXkuZnJvbShcbiAgICAgIG5ldyBTZXQodGhpcy5zZWxlY3RlZExpc3QubWFwKChhOiBhbnkpID0+IGEuX2lkKSlcbiAgICApLm1hcCgoaWQpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLnNlbGVjdGVkTGlzdC5maW5kKChhOiBhbnkpID0+IGEuX2lkID09PSBpZCk7XG4gICAgfSk7XG4gIH1cbiAgZGVsZXRlSXRlbShldnQ6IGFueSkge1xuICAgIHRoaXMuc2VsZWN0ZWRMaXN0ID0gdGhpcy5zZWxlY3RlZExpc3QuZmlsdGVyKFxuICAgICAgKGVsZTogYW55KSA9PlxuICAgICAgICBlbGVbdGhpcy5jb25maWc/LmlkZW50aWZpZXJLZXldICE9PSBldnRbdGhpcy5jb25maWc/LmlkZW50aWZpZXJLZXldXG4gICAgKTtcbiAgICB0aGlzLnNldFNlbGVjdGVkSWRzKCk7XG4gIH1cblxuICBjbG9zZSgpIHtcbiAgICB0aGlzLmNhbmNlbC5lbWl0KCk7XG4gIH1cbiAgc2F2ZSgpIHtcbiAgICB0aGlzLm5leHQuZW1pdCh0aGlzLnNlbGVjdGVkTGlzdCk7XG4gIH1cblxuICBzZWxlY3RBbGwoZXZ0OiBhbnkpIHtcbiAgICBpZiAoZXZ0KSB7XG4gICAgICB0aGlzLnNlbGVjdGVkTGlzdCA9IFsuLi50aGlzLnNlbGVjdGVkTGlzdCwgLi4udGhpcy5saXN0XTtcbiAgICAgIHRoaXMuc2V0U2VsZWN0ZWRJZHMoKTtcbiAgICB9IGVsc2UgaWYgKGV2dCA9PT0gZmFsc2UpIHtcbiAgICAgIGNvbnN0IGN1cnJlbnRQYWdlTGlzdCA9IHRoaXMubGlzdC5tYXAoKGVsZTogYW55KSA9PiBlbGUuX2lkKTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRMaXN0ID0gdGhpcy5zZWxlY3RlZExpc3QuZmlsdGVyKFxuICAgICAgICAoZWxlOiBhbnkpID0+ICFjdXJyZW50UGFnZUxpc3QuaW5jbHVkZXMoZWxlPy5faWQpXG4gICAgICApO1xuICAgICAgdGhpcy5zZXRTZWxlY3RlZElkcygpO1xuICAgIH1cbiAgfVxuICBjaGVja1NlbGVjdEFsbCgpIHtcbiAgICBjb25zdCBkYXRhID0gdGhpcy5saXN0LmV2ZXJ5KChyYzogYW55KSA9PlxuICAgICAgdGhpcy5zZWxlY3RlZElkcy5pbmNsdWRlcyhyY1t0aGlzLmNvbmZpZy5pZGVudGlmaWVyS2V5XSlcbiAgICApO1xuICAgIHJldHVybiBkYXRhO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicmFkaW8tbGlzdFwiIFtjbGFzcy5hbmltYXRlXT1cImFuaW1hdGlvblwiPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJyYWRpby1saXN0LWhlYWQgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWJldHdlZW4gdngtcGwtNCB2eC1wci00XCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJ2eC1mcy0xNCB2eC1mdy01MDAgdngtbGFiZWwtdHh0XCI+e3sgY29uZmlnPy5wYW5lbFRpdGxlIH19PC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJyYWRpby1saXN0LWJvZHlcIj5cbiAgICA8ZGl2IGNsYXNzPVwic2VhcmNoLWJsb2NrIHZ4LW1iLTJcIiAqbmdJZj1cInRydWVcIj5cbiAgICAgIDxpIGNsYXNzPVwiaWNvbnNcIj4mI3hlOTBiOzwvaT5cbiAgICAgIDxpbnB1dFxuICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJzZWFyY2goKVwiXG4gICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cImNvbmZpZz8uc2VhcmNoUGxhY2Vob2xkZXJcIlxuICAgICAgICBbKG5nTW9kZWwpXT1cInNlYXJjaEtleVwiXG4gICAgICAvPlxuICAgIDwvZGl2PlxuXG4gICAgPGFwcC1wYWdpbmF0aW9uXG4gICAgICAqbmdJZj1cInRvdGFsUGFnZXMgPiAxXCJcbiAgICAgIFtzdGFydF09XCJyZWNvcmRTdGFydFwiXG4gICAgICBbZW5kXT1cInJlY29yZEVuZFwiXG4gICAgICBbdG90YWxdPVwidG90YWxSZWNvcmRzXCJcbiAgICAgIFtwYWdlQ291bnRdPVwidG90YWxQYWdlc1wiXG4gICAgICBbY3VycmVudFBhZ2VdPVwiY3VycmVudFBhZ2VcIlxuICAgICAgKHNlbGVjdGVkUGFnZSk9XCJwYWdlQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICA+PC9hcHAtcGFnaW5hdGlvbj5cblxuICAgIDwhLS0gaXQgaXMgdmlzaWJsZSB3aGVuIGxpc3QgZGF0YSBpcyBhdmFpbGFibGUgLS0+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFsb2FkaW5nICYmIGxpc3Q/Lmxlbmd0aFwiPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImNhdGVnb3JpZXMgdngtbWItNFwiXG4gICAgICAgIFtjbGFzcy5tdC0yXT1cInRvdGFsUGFnZXMgPT09IDBcIlxuICAgICAgICAqbmdJZj1cInNlbGVjdGlvbk1vZGUgPT09ICdtdWx0aXBsZSdcIlxuICAgICAgPlxuICAgICAgICA8YXBwLWNzLWNoZWNrYm94XG4gICAgICAgICAgW25nVmFsdWVdPVwiY2hlY2tTZWxlY3RBbGwoKVwiXG4gICAgICAgICAgKG5nVmFsdWVDaGFuZ2UpPVwic2VsZWN0QWxsKCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2eC1mdy02MDAgdngtbGFiZWwtdHh0XCI+e3tcbiAgICAgICAgICAgIGNoZWNrU2VsZWN0QWxsKCkgPyBcIkRlc2VsZWN0IEFsbFwiIDogXCJTZWxlY3QgQWxsXCJcbiAgICAgICAgICB9fTwvc3Bhbj5cbiAgICAgICAgPC9hcHAtY3MtY2hlY2tib3g+XG4gICAgICA8L2Rpdj5cbiAgICAgIDx1bFxuICAgICAgICBjbGFzcz1cImNhdGVnb3JpZXMtbGlzdCB2eC1tYi00XCJcbiAgICAgICAgW2NsYXNzLndpdGgtc2VsZWN0QWxsXT1cInNlbGVjdGlvbk1vZGUgPT09ICdtdWx0aXBsZSdcIlxuICAgICAgICBbY2xhc3Mud2l0aC1wYWdpbmF0aW9uXT1cInRvdGFsUGFnZXMgPiAxXCJcbiAgICAgID5cbiAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBpdGVtIG9mIGxpc3QgfCBzZWFyY2ggOiBzZWFyY2hLZXk7IGxldCBpID0gaW5kZXhcIj5cbiAgICAgICAgICA8YXBwLWNzLXJhZGlvXG4gICAgICAgICAgICAqbmdJZj1cInNlbGVjdGlvbk1vZGUgPT09ICdzaW5nbGUnXCJcbiAgICAgICAgICAgIFtjaGVja2VkXT1cInNlbGVjdGVkSWRzPy5pbmNsdWRlcyhpdGVtW2NvbmZpZz8uaWRlbnRpZmllcktleV0pXCJcbiAgICAgICAgICAgIChjaGVja2VkRXZlbnQpPVwiaXRlbVNlbGVjdGVkKCRldmVudCwgaXRlbSlcIlxuICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiaXRlbVtjb25maWcuZGlzcGxheUtleV1cIlxuICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxuICAgICAgICAgICAgZGVsYXk9XCIwXCJcbiAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYW1lXCI+e3sgaXRlbVtjb25maWcuZGlzcGxheUtleV0gfX08L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJ3aXRoaW4gdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LXN0YXJ0IHZ4LW10LTFcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJibG9jayB2eC1mcy05IHZ4LWZ3LTUwMCB2eC10dC11cHBlcmNhc2UgdngtcGwtMSB2eC1wci0xIHZ4LW1yLTJcIlxuICAgICAgICAgICAgICAgICpuZ0lmPVwiaXRlbVtjb25maWc/LnBhcmVudEtleV0gIT0gJydcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgV0lUSElOXG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJkYXRhIHZ4LWZzLTExIHZ4LXBhcmFncmFwaC10eHQgdngtbGgtNCB2eC1wci01XCJcbiAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCJpdGVtW2NvbmZpZz8ucGFyZW50S2V5XSB8IHdpdGhpbiA6IGxpc3RcIlxuICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcbiAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxuICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IGl0ZW1bY29uZmlnPy5wYXJlbnRLZXldIHwgd2l0aGluIDogbGlzdCB9fVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvYXBwLWNzLXJhZGlvPlxuICAgICAgICAgIDxhcHAtY3MtY2hlY2tib3hcbiAgICAgICAgICAgICpuZ0lmPVwic2VsZWN0aW9uTW9kZSA9PT0gJ211bHRpcGxlJ1wiXG4gICAgICAgICAgICBbbmdWYWx1ZV09XCJzZWxlY3RlZElkcz8uaW5jbHVkZXMoaXRlbVtjb25maWc/LmlkZW50aWZpZXJLZXldKVwiXG4gICAgICAgICAgICAobmdWYWx1ZUNoYW5nZSk9XCJpdGVtU2VsZWN0ZWQoJGV2ZW50LCBpdGVtKVwiXG4gICAgICAgICAgICBbYXBwVG9vbHRpcF09XCJpdGVtW2NvbmZpZy5kaXNwbGF5S2V5XVwiXG4gICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXG4gICAgICAgICAgICBkZWxheT1cIjBcIlxuICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwidHJ1ZVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hbWVcIj57eyBpdGVtW2NvbmZpZy5kaXNwbGF5S2V5XSB9fTwvZGl2PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cIndpdGhpbiB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktc3RhcnQgdngtbXQtMVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJsb2NrIHZ4LWZzLTkgdngtZnctNTAwIHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtbXItMlwiXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJpdGVtW2NvbmZpZz8ucGFyZW50S2V5XSAhPSAnJ1wiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBXSVRISU5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cImRhdGEgdngtZnMtMTEgdngtcGFyYWdyYXBoLXR4dCB2eC1saC00IHZ4LXByLTVcIlxuICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cIml0ZW1bY29uZmlnPy5wYXJlbnRLZXldIHwgd2l0aGluIDogbGlzdFwiXG4gICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxuICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiXG4gICAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgaXRlbVtjb25maWc/LnBhcmVudEtleV0gfCB3aXRoaW4gOiBsaXN0IH19XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9hcHAtY3MtY2hlY2tib3g+XG4gICAgICAgIDwvbGk+XG4gICAgICA8L3VsPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwhLS0gSXQgaXMgdmlzaWJsZSB3aGVuIHRoZSBsaXN0IGl0ZW1zIGFyZSBnZXR0aW5nIGxvYWRlZCAtLT5cbiAgICA8YXBwLWxpc3RsaW5lLWxvYWRlciAqbmdJZj1cImxvYWRpbmdcIj48L2FwcC1saXN0bGluZS1sb2FkZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFsb2FkaW5nICYmIGxpc3Q/Lmxlbmd0aCA9PT0gMFwiPlxuICAgICAgPGFwcC1uby1kYXRhXG4gICAgICAgIFtub0RhdGFJbWFnZV09XCJcbiAgICAgICAgICAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L3NlYXJjaC1kYXRhLnN2ZydcbiAgICAgICAgXCJcbiAgICAgICAgW25vRGF0YVRleHRdPVwiXG4gICAgICAgICAgY29uZmlnPy5ub0RhdGFUZXh0Py5sZW5ndGggPiAwXG4gICAgICAgICAgICA/IGNvbmZpZz8ubm9EYXRhVGV4dFxuICAgICAgICAgICAgOiAnTm8gZGF0YSB0byBkaXNwbGF5J1xuICAgICAgICBcIlxuICAgICAgPjwvYXBwLW5vLWRhdGE+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8YXBwLWZsb2F0aW5nLWJhclxuICAgICAgW3NlbGVjdGVkRGF0YV09XCJzZWxlY3RlZExpc3RcIlxuICAgICAgW2Rpc3BsYXlFbGVtZW50S2V5XT1cImNvbmZpZz8uZGlzcGxheUtleVwiXG4gICAgICBbc2luZ3VsYXJUZXh0XT1cImNvbmZpZz8uZW50aXR5U2luZ3VsYXJcIlxuICAgICAgW3BsdXJhbFRleHRdPVwiXG4gICAgICAgIGNvbmZpZz8uZW50aXR5UGx1cmFsID8gY29uZmlnPy5lbnRpdHlQbHVyYWwgOiAnVXNlcnMgc2VsZWN0ZWQnXG4gICAgICBcIlxuICAgICAgKGNsb3NlRXZlbnQpPVwic2F2ZSgpXCJcbiAgICAgIChjbG9zZUxpc3QpPVwiY2xvc2UoKVwiXG4gICAgICAoZGVsZXRlRXZlbnQpPVwiZGVsZXRlSXRlbSgkZXZlbnQpXCJcbiAgICAgIFtpc0Rpc2FibGVkXT1cInNlbGVjdGVkTGlzdC5sZW5ndGggPT09IDAgfHwgbGlzdD8ubGVuZ3RoID09PSAwXCJcbiAgICA+XG4gICAgPC9hcHAtZmxvYXRpbmctYmFyPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
140
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnktbGlzdC1zZWxlY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9jYXRlZ29yeS1saXN0LXNlbGVjdGlvbi9jYXRlZ29yeS1saXN0LXNlbGVjdGlvbi9jYXRlZ29yeS1saXN0LXNlbGVjdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2NhdGVnb3J5LWxpc3Qtc2VsZWN0aW9uL2NhdGVnb3J5LWxpc3Qtc2VsZWN0aW9uL2NhdGVnb3J5LWxpc3Qtc2VsZWN0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7OztBQXFCdkIsTUFBTSxPQUFPLDhCQUE4QjtJQVF6QyxJQUEyQixPQUFPLENBQUMsS0FBVTtRQUMzQyxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBU0QsSUFBMkIsV0FBVyxDQUFDLEtBQVU7UUFDL0MsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQztZQUMvQixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDdkI7SUFDSCxDQUFDO0lBR0Q7UUExQlUsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFhLENBQUM7UUFDMUMsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDMUIsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDMUIsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFF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Q0FBQztJQUNELGNBQWM7UUFDWixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQU8sRUFBRSxFQUFFLENBQ3ZDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQ3pELENBQUM7UUFDRixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7K0dBN0dVLDhCQUE4QjttR0FBOUIsOEJBQThCLG9jQzdCM0Msa2pLQTJJQTs7NEZEOUdhLDhCQUE4QjtrQkFMMUMsU0FBUzsrQkFDRSw2QkFBNkI7MEVBSzdCLFNBQVM7c0JBQWxCLE1BQU07Z0JBQ0csSUFBSTtzQkFBYixNQUFNO2dCQUNHLElBQUk7c0JBQWIsTUFBTTtnQkFDRyxNQUFNO3NCQUFmLE1BQU07Z0JBSW9CLE9BQU87c0JBQWpDLEtBQUs7dUJBQUMsY0FBYztnQkFHWixNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNxQixXQUFXO3NCQUFyQyxLQUFLO3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuZXhwb3J0IGludGVyZmFjZSBMaXN0RXZlbnQge1xuICBzZWFyY2hLZXk/OiBzdHJpbmc7XG4gIHBhZ2U/OiBudW1iZXI7XG59XG5leHBvcnQgaW50ZXJmYWNlIHBhbmVsQ29uZmlnIHtcbiAgcGFuZWxUaXRsZTogJyc7XG4gIGVudGl0eVNpbmd1bGFyOiAnJztcbiAgZW50aXR5UGx1cmFsOiAnJztcbiAgZGlzcGxheUtleTogJyc7XG4gIGlkZW50aWZpZXJLZXk6ICcnO1xuICBwYXJlbnRLZXk6ICcnO1xuICBwYXJlbnREaXNwbGF5S2V5OiAnJztcbiAgc2VhcmNoUGxhY2Vob2xkZXI6ICcnO1xuICBub0RhdGFUZXh0OiAnJztcbn1cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1jYXRlZ29yeS1saXN0LXNlbGVjdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jYXRlZ29yeS1saXN0LXNlbGVjdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NhdGVnb3J5LWxpc3Qtc2VsZWN0aW9uLmNvbXBvbmVudC5sZXNzJ10sXG59KVxuZXhwb3J0IGNsYXNzIENhdGVnb3J5TGlzdFNlbGVjdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBPdXRwdXQoKSBmZXRjaERhdGEgPSBuZXcgRXZlbnRFbWl0dGVyPExpc3RFdmVudD4oKTtcbiAgQE91dHB1dCgpIGJhY2sgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBuZXh0ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgY2FuY2VsID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBsaXN0ID0gW107XG4gIHNlYXJjaEtleSA9ICcnO1xuICBzZWxlY3RlZExpc3Q6IGFueSA9IFtdO1xuICBASW5wdXQoJ2NhdGVnb3J5TGlzdCcpIHNldCBzZXRMaXN0KHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLmxpc3QgPSB2YWx1ZTtcbiAgfVxuICBASW5wdXQoKSBjb25maWchOiBwYW5lbENvbmZpZztcbiAgQElucHV0KCkgY3VycmVudFBhZ2U6IGFueSA9IDE7XG4gIEBJbnB1dCgpIHJlY29yZFN0YXJ0OiBhbnkgPSAxO1xuICBASW5wdXQoKSByZWNvcmRFbmQ6IGFueSA9IDE7XG4gIEBJbnB1dCgpIHRvdGFsUmVjb3JkczogYW55ID0gMTtcbiAgQElucHV0KCkgdG90YWxQYWdlczogYW55ID0gMTtcbiAgQElucHV0KCkgbG9hZGluZzogYW55ID0gdHJ1ZTtcbiAgQElucHV0KCkgc2VsZWN0aW9uTW9kZTogJ3NpbmdsZScgfCAnbXVsdGlwbGUnID0gJ211bHRpcGxlJztcbiAgQElucHV0KCdzZWxlY3RlZExpc3QnKSBzZXQgc2V0U2VsZWN0ZWQodmFsdWU6IGFueSkge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy5zZWxlY3RlZExpc3QgPSBbLi4udmFsdWVdO1xuICAgICAgdGhpcy5zZXRTZWxlY3RlZElkcygpO1xuICAgIH1cbiAgfVxuICBhbmltYXRpb24gPSB0cnVlO1xuICBzZWxlY3RlZElkczogYW55ID0gW107XG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XG5cbiAgLy9UaGlzIG1ldGhvZCBoYW5kbGVzIHRoZSBwYWdlIGNoYW5nZVxuICBwYWdlQ2hhbmdlZChwYWdlOiBudW1iZXIpIHtcbiAgICB0aGlzLmN1cnJlbnRQYWdlID0gcGFnZTtcbiAgICB0aGlzLmZldGNoRGF0YS5lbWl0KHsgcGFnZTogdGhpcy5jdXJyZW50UGFnZSwgc2VhcmNoS2V5OiB0aGlzLnNlYXJjaEtleSB9KTtcbiAgfVxuXG4gIC8vVGhpcyBtZXRob2QgaGFuZGxlcyB0aGUgc2VhcmNoXG4gIHNlYXJjaCgpIHtcbiAgICB0aGlzLmN1cnJlbnRQYWdlID0gMTtcbiAgICB0aGlzLmZldGNoRGF0YS5lbWl0KHsgcGFnZTogdGhpcy5jdXJyZW50UGFnZSwgc2VhcmNoS2V5OiB0aGlzLnNlYXJjaEtleSB9KTtcbiAgfVxuXG4gIGl0ZW1TZWxlY3RlZChldmVudDogYW55LCBpdGVtOiBhbnkpIHtcbiAgICBpZiAodGhpcy5zZWxlY3Rpb25Nb2RlID09PSAnc2luZ2xlJykge1xuICAgICAgdGhpcy5zZWxlY3RlZExpc3QgPSBbaXRlbV07XG4gICAgICB0aGlzLnNldFNlbGVjdGVkSWRzKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChldmVudCkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkTGlzdC5wdXNoKGl0ZW0pO1xuICAgICAgICB0aGlzLnNldFNlbGVjdGVkSWRzKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsZXQgaW5kZXggPSB0aGlzLnNlbGVjdGVkTGlzdC5maW5kSW5kZXgoXG4gICAgICAgICAgKHg6IGFueSkgPT4geD8uX2lkID09PSBpdGVtPy5faWRcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKGluZGV4ID49IDApIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkTGlzdCA9IHRoaXMuc2VsZWN0ZWRMaXN0LmZpbHRlcihcbiAgICAgICAgICAgIChlbGU6IGFueSkgPT5cbiAgICAgICAgICAgICAgZWxlW3RoaXMuY29uZmlnPy5pZGVudGlmaWVyS2V5XSAhPT1cbiAgICAgICAgICAgICAgaXRlbVt0aGlzLmNvbmZpZz8uaWRlbnRpZmllcktleV1cbiAgICAgICAgICApO1xuICAgICAgICAgIHRoaXMuc2V0U2VsZWN0ZWRJZHMoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHNldFNlbGVjdGVkSWRzKCkge1xuICAgIHRoaXMuc2VsZWN0ZWRJZHMgPSB0aGlzLnNlbGVjdGVkTGlzdC5tYXAoXG4gICAgICAoZWxlOiBhbnkpID0+IGVsZVt0aGlzLmNvbmZpZz8uaWRlbnRpZmllcktleV1cbiAgICApO1xuICAgIHRoaXMuc2VsZWN0ZWRMaXN0ID0gQXJyYXkuZnJvbShcbiAgICAgIG5ldyBTZXQodGhpcy5zZWxlY3RlZExpc3QubWFwKChhOiBhbnkpID0+IGEuX2lkKSlcbiAgICApLm1hcCgoaWQpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLnNlbGVjdGVkTGlzdC5maW5kKChhOiBhbnkpID0+IGEuX2lkID09PSBpZCk7XG4gICAgfSk7XG4gIH1cbiAgZGVsZXRlSXRlbShldnQ6IGFueSkge1xuICAgIHRoaXMuc2VsZWN0ZWRMaXN0ID0gdGhpcy5zZWxlY3RlZExpc3QuZmlsdGVyKFxuICAgICAgKGVsZTogYW55KSA9PlxuICAgICAgICBlbGVbdGhpcy5jb25maWc/LmlkZW50aWZpZXJLZXldICE9PSBldnRbdGhpcy5jb25maWc/LmlkZW50aWZpZXJLZXldXG4gICAgKTtcbiAgICB0aGlzLnNldFNlbGVjdGVkSWRzKCk7XG4gIH1cblxuICBjbG9zZSgpIHtcbiAgICB0aGlzLmNhbmNlbC5lbWl0KCk7XG4gIH1cbiAgc2F2ZSgpIHtcbiAgICB0aGlzLm5leHQuZW1pdCh0aGlzLnNlbGVjdGVkTGlzdCk7XG4gIH1cblxuICBzZWxlY3RBbGwoZXZ0OiBhbnkpIHtcbiAgICBpZiAoZXZ0KSB7XG4gICAgICB0aGlzLnNlbGVjdGVkTGlzdCA9IFsuLi50aGlzLnNlbGVjdGVkTGlzdCwgLi4udGhpcy5saXN0XTtcbiAgICAgIHRoaXMuc2V0U2VsZWN0ZWRJZHMoKTtcbiAgICB9IGVsc2UgaWYgKGV2dCA9PT0gZmFsc2UpIHtcbiAgICAgIGNvbnN0IGN1cnJlbnRQYWdlTGlzdCA9IHRoaXMubGlzdC5tYXAoKGVsZTogYW55KSA9PiBlbGUuX2lkKTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRMaXN0ID0gdGhpcy5zZWxlY3RlZExpc3QuZmlsdGVyKFxuICAgICAgICAoZWxlOiBhbnkpID0+ICFjdXJyZW50UGFnZUxpc3QuaW5jbHVkZXMoZWxlPy5faWQpXG4gICAgICApO1xuICAgICAgdGhpcy5zZXRTZWxlY3RlZElkcygpO1xuICAgIH1cbiAgfVxuICBjaGVja1NlbGVjdEFsbCgpIHtcbiAgICBjb25zdCBkYXRhID0gdGhpcy5saXN0LmV2ZXJ5KChyYzogYW55KSA9PlxuICAgICAgdGhpcy5zZWxlY3RlZElkcy5pbmNsdWRlcyhyY1t0aGlzLmNvbmZpZy5pZGVudGlmaWVyS2V5XSlcbiAgICApO1xuICAgIHJldHVybiBkYXRhO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicmFkaW8tbGlzdFwiIFtjbGFzcy5hbmltYXRlXT1cImFuaW1hdGlvblwiPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJyYWRpby1saXN0LWhlYWQgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWJldHdlZW4gdngtcGwtNCB2eC1wci00XCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJ2eC1mcy0xNCB2eC1mdy01MDAgdngtbGFiZWwtdHh0XCI+e3sgY29uZmlnPy5wYW5lbFRpdGxlIH19PC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJyYWRpby1saXN0LWJvZHlcIj5cbiAgICA8ZGl2IGNsYXNzPVwic2VhcmNoLWJsb2NrIHZ4LW1iLTJcIiAqbmdJZj1cInRydWVcIj5cbiAgICAgIDxpIGNsYXNzPVwiaWNvbnNcIj4mI3hlOTBiOzwvaT5cbiAgICAgIDxpbnB1dFxuICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJzZWFyY2goKVwiXG4gICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cImNvbmZpZz8uc2VhcmNoUGxhY2Vob2xkZXJcIlxuICAgICAgICBbKG5nTW9kZWwpXT1cInNlYXJjaEtleVwiXG4gICAgICAvPlxuICAgIDwvZGl2PlxuXG4gICAgPGFwcC1wYWdpbmF0aW9uXG4gICAgICAqbmdJZj1cInRvdGFsUGFnZXMgPiAxXCJcbiAgICAgIFtzdGFydF09XCJyZWNvcmRTdGFydFwiXG4gICAgICBbZW5kXT1cInJlY29yZEVuZFwiXG4gICAgICBbdG90YWxdPVwidG90YWxSZWNvcmRzXCJcbiAgICAgIFtwYWdlQ291bnRdPVwidG90YWxQYWdlc1wiXG4gICAgICBbY3VycmVudFBhZ2VdPVwiY3VycmVudFBhZ2VcIlxuICAgICAgKHNlbGVjdGVkUGFnZSk9XCJwYWdlQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICA+PC9hcHAtcGFnaW5hdGlvbj5cblxuICAgIDwhLS0gaXQgaXMgdmlzaWJsZSB3aGVuIGxpc3QgZGF0YSBpcyBhdmFpbGFibGUgLS0+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFsb2FkaW5nICYmIGxpc3Q/Lmxlbmd0aFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImNhdGVnb3JpZXMgdngtbWItNFwiIFtjbGFzcy5tdC0yXT1cInRvdGFsUGFnZXMgPT09IDBcIj5cbiAgICAgICAgPGFwcC1jcy1jaGVja2JveFxuICAgICAgICAgICpuZ0lmPVwic2VsZWN0aW9uTW9kZSA9PT0gJ211bHRpcGxlJ1wiXG4gICAgICAgICAgW25nVmFsdWVdPVwiY2hlY2tTZWxlY3RBbGwoKVwiXG4gICAgICAgICAgKG5nVmFsdWVDaGFuZ2UpPVwic2VsZWN0QWxsKCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2eC1mdy02MDAgdngtbGFiZWwtdHh0XCI+e3tcbiAgICAgICAgICAgIGNoZWNrU2VsZWN0QWxsKCkgPyBcIkRlc2VsZWN0IEFsbFwiIDogXCJTZWxlY3QgQWxsXCJcbiAgICAgICAgICB9fTwvc3Bhbj5cbiAgICAgICAgPC9hcHAtY3MtY2hlY2tib3g+XG4gICAgICA8L2Rpdj5cbiAgICAgIDx1bFxuICAgICAgICBjbGFzcz1cImNhdGVnb3JpZXMtbGlzdCB2eC1tYi00XCJcbiAgICAgICAgW2NsYXNzLndpdGgtcGFnaW5hdGlvbl09XCJ0b3RhbFBhZ2VzID4gMVwiXG4gICAgICA+XG4gICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBsaXN0IHwgc2VhcmNoIDogc2VhcmNoS2V5OyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgICAgPGFwcC1jcy1yYWRpb1xuICAgICAgICAgICAgKm5nSWY9XCJzZWxlY3Rpb25Nb2RlID09PSAnc2luZ2xlJ1wiXG4gICAgICAgICAgICBbY2hlY2tlZF09XCJzZWxlY3RlZElkcz8uaW5jbHVkZXMoaXRlbVtjb25maWc/LmlkZW50aWZpZXJLZXldKVwiXG4gICAgICAgICAgICAoY2hlY2tlZEV2ZW50KT1cIml0ZW1TZWxlY3RlZCgkZXZlbnQsIGl0ZW0pXCJcbiAgICAgICAgICAgIFthcHBUb29sdGlwXT1cIml0ZW1bY29uZmlnLmRpc3BsYXlLZXldXCJcbiAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcbiAgICAgICAgICAgIGRlbGF5PVwiMFwiXG4gICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmFtZVwiPnt7IGl0ZW1bY29uZmlnLmRpc3BsYXlLZXldIH19PC9kaXY+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzPVwid2l0aGluIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1zdGFydCB2eC1tdC0xXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYmxvY2sgdngtZnMtOSB2eC1mdy01MDAgdngtdHQtdXBwZXJjYXNlIHZ4LXBsLTEgdngtcHItMSB2eC1tci0yXCJcbiAgICAgICAgICAgICAgICAqbmdJZj1cIml0ZW1bY29uZmlnPy5wYXJlbnRLZXldICE9ICcnXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIFdJVEhJTlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZGF0YSB2eC1mcy0xMSB2eC1wYXJhZ3JhcGgtdHh0IHZ4LWxoLTQgdngtcHItNVwiXG4gICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiaXRlbVtjb25maWc/LnBhcmVudEtleV0gfCB3aXRoaW4gOiBsaXN0XCJcbiAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXG4gICAgICAgICAgICAgICAgZGVsYXk9XCIwXCJcbiAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJmYWxzZVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyBpdGVtW2NvbmZpZz8ucGFyZW50S2V5XSB8IHdpdGhpbiA6IGxpc3QgfX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2FwcC1jcy1yYWRpbz5cbiAgICAgICAgICA8YXBwLWNzLWNoZWNrYm94XG4gICAgICAgICAgICAqbmdJZj1cInNlbGVjdGlvbk1vZGUgPT09ICdtdWx0aXBsZSdcIlxuICAgICAgICAgICAgW25nVmFsdWVdPVwic2VsZWN0ZWRJZHM/LmluY2x1ZGVzKGl0ZW1bY29uZmlnPy5pZGVudGlmaWVyS2V5XSlcIlxuICAgICAgICAgICAgKG5nVmFsdWVDaGFuZ2UpPVwiaXRlbVNlbGVjdGVkKCRldmVudCwgaXRlbSlcIlxuICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiaXRlbVtjb25maWcuZGlzcGxheUtleV1cIlxuICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxuICAgICAgICAgICAgZGVsYXk9XCIwXCJcbiAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYW1lXCI+e3sgaXRlbVtjb25maWcuZGlzcGxheUtleV0gfX08L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJ3aXRoaW4gdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LXN0YXJ0IHZ4LW10LTFcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJibG9jayB2eC1mcy05IHZ4LWZ3LTUwMCB2eC10dC11cHBlcmNhc2UgdngtcGwtMSB2eC1wci0xIHZ4LW1yLTJcIlxuICAgICAgICAgICAgICAgICpuZ0lmPVwiaXRlbVtjb25maWc/LnBhcmVudEtleV0gIT0gJydcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgV0lUSElOXG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJkYXRhIHZ4LWZzLTExIHZ4LXBhcmFncmFwaC10eHQgdngtbGgtNCB2eC1wci01XCJcbiAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCJpdGVtW2NvbmZpZz8ucGFyZW50S2V5XSB8IHdpdGhpbiA6IGxpc3RcIlxuICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcbiAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxuICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IGl0ZW1bY29uZmlnPy5wYXJlbnRLZXldIHwgd2l0aGluIDogbGlzdCB9fVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvYXBwLWNzLWNoZWNrYm94PlxuICAgICAgICA8L2xpPlxuICAgICAgPC91bD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8IS0tIEl0IGlzIHZpc2libGUgd2hlbiB0aGUgbGlzdCBpdGVtcyBhcmUgZ2V0dGluZyBsb2FkZWQgLS0+XG4gICAgPGFwcC1saXN0bGluZS1sb2FkZXIgKm5nSWY9XCJsb2FkaW5nXCI+PC9hcHAtbGlzdGxpbmUtbG9hZGVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbG9hZGluZyAmJiBsaXN0Py5sZW5ndGggPT09IDBcIj5cbiAgICAgIDxhcHAtbm8tZGF0YVxuICAgICAgICBbbm9EYXRhSW1hZ2VdPVwiXG4gICAgICAgICAgJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9zZWFyY2gtZGF0YS5zdmcnXG4gICAgICAgIFwiXG4gICAgICAgIFtub0RhdGFUZXh0XT1cIlxuICAgICAgICAgIGNvbmZpZz8ubm9EYXRhVGV4dD8ubGVuZ3RoID4gMFxuICAgICAgICAgICAgPyBjb25maWc/Lm5vRGF0YVRleHRcbiAgICAgICAgICAgIDogJ05vIGRhdGEgdG8gZGlzcGxheSdcbiAgICAgICAgXCJcbiAgICAgID48L2FwcC1uby1kYXRhPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPGFwcC1mbG9hdGluZy1iYXJcbiAgICAgIFtzZWxlY3RlZERhdGFdPVwic2VsZWN0ZWRMaXN0XCJcbiAgICAgIFtkaXNwbGF5RWxlbWVudEtleV09XCJjb25maWc/LmRpc3BsYXlLZXlcIlxuICAgICAgW3Npbmd1bGFyVGV4dF09XCJjb25maWc/LmVudGl0eVNpbmd1bGFyXCJcbiAgICAgIFtwbHVyYWxUZXh0XT1cIlxuICAgICAgICBjb25maWc/LmVudGl0eVBsdXJhbCA/IGNvbmZpZz8uZW50aXR5UGx1cmFsIDogJ1VzZXJzIHNlbGVjdGVkJ1xuICAgICAgXCJcbiAgICAgIChjbG9zZUV2ZW50KT1cInNhdmUoKVwiXG4gICAgICAoY2xvc2VMaXN0KT1cImNsb3NlKClcIlxuICAgICAgKGRlbGV0ZUV2ZW50KT1cImRlbGV0ZUl0ZW0oJGV2ZW50KVwiXG4gICAgICBbaXNEaXNhYmxlZF09XCJzZWxlY3RlZExpc3QubGVuZ3RoID09PSAwIHx8IGxpc3Q/Lmxlbmd0aCA9PT0gMFwiXG4gICAgPlxuICAgIDwvYXBwLWZsb2F0aW5nLWJhcj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==