vcomply-workflow-engine 3.1.16 → 3.1.18

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.
Files changed (20) hide show
  1. package/esm2020/lib/more-option/more-option.component.mjs +3 -2
  2. package/esm2020/lib/workflow/grc-object/grc-object-container/grc-object-container.component.mjs +94 -7
  3. package/esm2020/lib/workflow/shared/components/grc-object-list/grc-object-list.component.mjs +3 -3
  4. package/esm2020/lib/workflow/shared/components/grc-responsibility-listing/grc-responsibility-listing.component.mjs +16 -1
  5. package/esm2020/lib/workflow/shared/components/risk-category-risk-listing/risk-category-risk-listing.component.mjs +13 -4
  6. package/esm2020/lib/workflow/shared/components/table-card/table-card.component.mjs +3 -3
  7. package/esm2020/lib/workflow/shared/constants/cdn-link.constant.mjs +2 -1
  8. package/esm2020/lib/workflow-engine-container/workflow-engine-container.component.mjs +3 -4
  9. package/fesm2015/vcomply-workflow-engine.mjs +132 -16
  10. package/fesm2015/vcomply-workflow-engine.mjs.map +1 -1
  11. package/fesm2020/vcomply-workflow-engine.mjs +128 -16
  12. package/fesm2020/vcomply-workflow-engine.mjs.map +1 -1
  13. package/lib/workflow/grc-object/grc-object-container/grc-object-container.component.d.ts +12 -2
  14. package/lib/workflow/shared/components/attributes/attributes-text-box/attributes-text-box.component.d.ts +1 -0
  15. package/lib/workflow/shared/components/attributes/attributes.component.d.ts +1 -0
  16. package/lib/workflow/shared/components/grc-object-list/grc-object-list.component.d.ts +1 -0
  17. package/lib/workflow/shared/components/grc-responsibility-listing/grc-responsibility-listing.component.d.ts +1 -0
  18. package/lib/workflow/shared/components/risk-category-risk-listing/risk-category-risk-listing.component.d.ts +3 -0
  19. package/lib/workflow/shared/constants/cdn-link.constant.d.ts +1 -0
  20. package/package.json +1 -1
@@ -151,7 +151,7 @@ export class GrcObjectListComponent {
151
151
  }
152
152
  }
153
153
  GrcObjectListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: GrcObjectListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
154
- GrcObjectListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: GrcObjectListComponent, isStandalone: true, selector: "app-grc-object-list", inputs: { grcObject: "grcObject", currentPage: "currentPage", loader: "loader", tableCard: "tableCard", selectedTab: "selectedTab", setSelectedGRC: ["selectedGRC", "setSelectedGRC"] }, outputs: { saveOtherGRC: "saveOtherGRC", closeOtherGRC: "closeOtherGRC", getOtherGRCObjects: "getOtherGRCObjects" }, ngImport: i0, template: "<div class=\"workflow-grc-object-list\" [class.animate]=\"animation\">\r\n <div class=\"workflow-grc-object-list-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\">\r\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Select GRC Object(s)</div>\r\n </div>\r\n <div class=\"workflow-grc-object-list-body\">\r\n <div class=\"table-card-area vx-d-flex vx-mb-2\">\r\n\t\t\t<app-table-card class=\"vx-w-100\" [tableCard]=\"tableCard\" [singleSelectedText]=\"'GRC Object Selected'\" [selectedTab]=\"selectedTab\" [multipleSelectedText]=\"'GRC Objects Selected'\" (setSelectedTab)=\"setSelectedTab($event)\"></app-table-card>\r\n\t\t</div>\r\n \r\n <div class=\"search-block\">\r\n <i class=\"icons\">&#xe90b;</i>\r\n <input type=\"text\" #searchGRC (keyup.enter)=\"handleSearch($event.target.value)\"\r\n placeholder=\"Search GRC objects\" />\r\n </div>\r\n\r\n <div class=\"workflow-grc-object-list-body-inner vx-mb-4\">\r\n <ng-container *ngIf=\"!loader && grcObject?.data?.length\">\r\n <app-pagination *ngIf=\"grcObject?.total_pages > 1\" [start]=\"grcObject?.items_from\" [end]=\"grcObject?.items_to\" [total]=\"grcObject?.total_items\" [pageCount]=\"grcObject?.total_pages\" [currentPage]=\"currentPage\" (selectedPage)=\"changePage($event)\"></app-pagination>\r\n <div class=\"select-all vx-mt-1 vx-mb-1 vx-pl-2\">\r\n <app-cs-checkbox [ngValue]=\"isAllSelected()\" (ngValueChange)=\"selectAll($event)\"><div class=\"vx-fs-12 vx-fw-600 vx-label-txt\">{{selectAllButton}}</div></app-cs-checkbox>\r\n </div>\r\n\r\n <div class=\"workflow-grc-object-list-body-table\" [class.with-pagination]=\"grcObject?.total_pages > 1\">\r\n <div class=\"table-header\">\r\n <div class=\"table-row\">\r\n <div class=\"table-column vx-fs-10 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\">#</div>\r\n <div class=\"table-column vx-fs-10 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center name\">NAME</div>\r\n <div class=\"table-column vx-fs-10 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center responsibility-center\">RESPONSIBILITY CENTER</div>\r\n </div>\r\n </div>\r\n <div class=\"table-body\">\r\n <div class=\"table-row\" *ngFor=\"let grc of grcObject?.data; let i = index\" [class.active]=\"selectedGRCIds?.includes(grc?._id)\">\r\n <div class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\">\r\n <div class=\"sr-no\" [appTooltip]=\"grcObject?.items_from + i\" placement=\"bottom\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">{{grcObject?.items_from + i}}</div>\r\n <app-cs-checkbox [ngValue]=\"selectedGRCIds?.includes(grc?._id)\" (ngValueChange)=\"getSelectedGRC(grc,$event)\"></app-cs-checkbox>\r\n </div>\r\n <div class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center name\">\r\n <div class=\"name vx-fs-12 vx-label-txt\" [appTooltip]=\"grc?.name\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{grc?.name}}</div>\r\n </div>\r\n <div class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center responsibility-center\">\r\n <div class=\"rc-inner vx-d-block\">\r\n <div class=\"vx-d-flex vx-align-center vx-w-100\">\r\n <div class=\"value vx-fs-12 vx-label-txt\" [appTooltip]=\"grc?.rcDetails[0]?.rc_name\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{grc?.rcDetails[0]?.rc_name}}</div>\r\n </div>\r\n\r\n <div class=\"within-part vx-d-flex vx-align-center\" *ngIf=\"grc?.rcDetails[0]?.parent_rc_names?.length\">\r\n <div class=\"within-box vx-fs-9 vx-fw-600 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2 vx-lh-3 vx-txt-blue\">Within</div>\r\n <div class=\"within-value vx-fs-11 vx-paragraph-txt\" [appTooltip]=\"grc?.rcDetails[0]?.parent_rc_names?.slice()?.reverse()?.join(' > ')\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{grc?.rcDetails[0]?.parent_rc_names?.slice()?.reverse()?.join(' > ')}}</div>\r\n </div>\r\n </div>\r\n <button *ngIf=\"grc?.rcDetails?.length > 1\" class=\"rc-count-btn vx-fs-11 vx-txt-blue vx-p-0 vx-pl-1 vx-pr-1 vx-m-0 vx-ml-3 vx-d-flex vx-align-center vx-justify-center\" appPopover (click)=\"rcCount.popover()\" placement=\"right\">+{{grc?.rcDetails?.length - 1}}</button>\r\n <app-popover #rcCount>\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let rcDetails of grc?.rcDetails | slice: 1\">\r\n <div class=\"avatar-card\">\r\n <div class=\"vx-d-block vx-w-100\">\r\n <span class=\"value\" [appTooltip]=\"rcDetails?.rc_name\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{rcDetails?.rc_name}}</span>\r\n <div class=\"within\" *ngIf=\"rcDetails?.parent_rc_names?.length\"> \r\n <div class=\"block\">WITHIN</div>\r\n <div class=\"within-value vx-fs-11 vx-paragraph-txt\" [appTooltip]=\"rcDetails?.parent_rc_names?.slice()?.reverse()?.join(' > ')\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{rcDetails?.parent_rc_names?.slice()?.reverse()?.join(' > ')}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </ng-container>\r\n <app-list-loader *ngIf=\"loader\"></app-list-loader>\r\n <app-no-data *ngIf=\"grcObject?.data?.length === 0 && !loader\" [noDataImage]=\"CDN_LINK?.noData\" [noDataText]=\"'No data to display'\"></app-no-data>\r\n </div>\r\n\r\n <app-floating-bar [selectedData]=\"selectedGRC?.length ? selectedGRC : []\" (closeList)=\"close()\" (closeEvent)=\"save()\" [displayElementKey]=\"'name'\" [singularText]=\"'GRC Object selected'\" [pluralText]=\"'GRC Objects selected'\" (deleteEvent)=\"deleteEvent($event)\"></app-floating-bar>\r\n\r\n\r\n </div>\r\n</div>", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.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/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.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-right.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/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-right.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/table-card/table-card.css\";::ng-deep .workflow-grc-object-list{position:fixed;inset:0 500px 0 0}::ng-deep .workflow-grc-object-list:before{background:#1e5dd3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .workflow-grc-object-list-head{background:#fbfbfb;border-bottom:1px solid #f1f1f1;height:2.75rem}::ng-deep .workflow-grc-object-list-body{background:#fff;height:calc(100vh - 2.75rem);padding:2rem}::ng-deep .workflow-grc-object-list-body .table-card-area{position:relative;z-index:2}::ng-deep .workflow-grc-object-list-body .table-card-area .vx-table-card{box-shadow:0 0 2px #00000029;margin-right:.25rem}::ng-deep .workflow-grc-object-list-body .table-card-area .vx-table-card:last-of-type{margin-right:0}::ng-deep .workflow-grc-object-list-body .table-card-area .vx-table-card.active{box-shadow:0 3px 12px #1e5dd350;z-index:1}::ng-deep .workflow-grc-object-list-body .search-block{position:relative}::ng-deep .workflow-grc-object-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 .workflow-grc-object-list-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .workflow-grc-object-list-body .search-block i{position:absolute;left:1rem;font-size:12px;font-weight:400;top:1rem;pointer-events:none;color:#f1f1f1}::ng-deep .workflow-grc-object-list-body-inner{height:calc(100vh - 17.5rem)}::ng-deep .workflow-grc-object-list-body-inner .select-all app-cs-checkbox .checkbox-item{position:relative;padding-left:1.5rem}::ng-deep .workflow-grc-object-list-body-inner .select-all app-cs-checkbox .checkbox-item .checkbox,::ng-deep .workflow-grc-object-list-body-inner .select-all app-cs-checkbox .checkbox-item .checkmark{position:absolute!important;top:0;left:0}::ng-deep .workflow-grc-object-list-body-inner .select-all app-cs-checkbox .checkbox-item .value{margin-left:0!important;max-width:100%!important;width:100%}::ng-deep .workflow-grc-object-list-body-table{height:calc(100vh - 19.25rem);overflow:hidden;overflow-y:auto;width:calc(100% + .5rem);padding-right:.5rem}::ng-deep .workflow-grc-object-list-body-table::-webkit-scrollbar-track{background-color:transparent}::ng-deep .workflow-grc-object-list-body-table.with-pagination{height:calc(100vh - 21.75rem)}::ng-deep .workflow-grc-object-list-body-table .table-header{background:#fff;position:sticky;top:0;z-index:1}::ng-deep .workflow-grc-object-list-body-table .table-header .table-column{color:#161b2f!important;line-height:1rem!important;min-height:2rem!important}::ng-deep .workflow-grc-object-list-body-table .table-body{position:relative}::ng-deep .workflow-grc-object-list-body-table .table-body .table-row{background:#fff;border:1px solid #f1f1f1;border-radius:.125rem;margin-bottom:.25rem}::ng-deep .workflow-grc-object-list-body-table .table-body .table-row:hover .table-column.serial app-cs-checkbox,::ng-deep .workflow-grc-object-list-body-table .table-body .table-row.active .table-column.serial app-cs-checkbox{opacity:1}::ng-deep .workflow-grc-object-list-body-table .table-row{display:flex;justify-content:space-between;position:relative}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column{color:#747576;min-height:2.5rem;position:relative;width:100%}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column i.info{color:#1e5dd3;cursor:pointer}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column .sorting{cursor:pointer;position:relative;top:1px;left:-1px}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column .sorting i{cursor:pointer}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.serial{width:2rem;max-width:2rem;justify-content:center;position:relative}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.serial .sr-no{width:1rem;background:#f8f8f8;writing-mode:vertical-lr;color:#747576;font-size:.625rem;font-weight:500;display:flex;height:2.5rem;align-items:center;justify-content:center;position:relative;transition:all .2s ease-in-out}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.serial app-cs-checkbox{background:#fff;border-radius:.125rem;position:absolute;top:.75rem;left:.5rem;width:1rem;height:1rem;opacity:0;transition:all .2s ease-in-out}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.serial app-cs-checkbox label.checkbox-item{position:absolute!important}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.name{width:calc(100% - 22rem);min-width:calc(100% - 22rem)}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.name .sorting{left:0}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.name .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:calc(100% - 3rem)}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.responsibility-center{width:20rem;min-width:20rem}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.responsibility-center .rc-inner{max-width:calc(100% - 2.5rem)}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.responsibility-center .rc-inner .value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.responsibility-center button.rc-count-btn{background:#fff;border-radius:.125rem;border:1px solid #dbdbdb;min-width:1.25rem;height:1rem}::ng-deep .workflow-grc-object-list-body app-pagination .pagination-sec-ds{height:2.5rem}::ng-deep .workflow-grc-object-list.animate{animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;z-index:-1}::-webkit-scrollbar-track{background-color:#f1f1f1;position:absolute}::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}.wf-action-list{width:220px}.wf-action-list ul{padding:0;margin:0;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;background:#ffffff;box-shadow:0 3px 6px #1c5bd140;border-radius:4px;max-height:220px;overflow:auto}.wf-action-list ul.action-item{display:block}.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}.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}.wf-action-list ul.action-item li button .file-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:calc(100% - 16px)}.wf-action-list ul.action-item li button i{font-size:16px;margin-right:10px;color:#1e5dd3}.wf-action-list ul.action-item li button:hover{background:#f3f3f3}.wf-action-list ul.action-item li .avatar-card{display:flex;align-items:center;width:100%;padding:7.5px}.wf-action-list ul.action-item li .avatar-card.within-con{display:block}.wf-action-list ul.action-item li .avatar-card .avatar{height:24px;width:24px!important;min-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}.wf-action-list ul.action-item li .avatar-card .avatar img{background:#fff;width:100%;height:100%}.wf-action-list ul.action-item li .avatar-card .avatar+span.value{width:calc(100% - 29px)}.wf-action-list ul.action-item li .avatar-card span.value{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}.wf-action-list ul.action-item li .avatar-card span.value i{font-size:8px;color:#747576;cursor:pointer;margin-right:4px}.wf-action-list ul.action-item li .avatar-card span.value i.disabled{color:#dbdbdb;pointer-events:none}.wf-action-list ul.action-item li .avatar-card.no-image{display:block}.wf-action-list ul.action-item li .avatar-card.no-image span.value{width:100%;display:block}.wf-action-list ul.action-item li .avatar-card i.delete-icon{color:#d93b41;cursor:pointer;font-size:14px}.wf-action-list ul.action-item li .avatar-card .primary-label{background:#7aa7f7;border-radius:2px;color:#fff;font-size:9px;font-weight:500;text-transform:uppercase;padding:0 4px;line-height:12px;margin:0 4px}.wf-action-list ul.action-item li .chip-item{color:#1e5dd3;padding:10px;display:flex;align-items:center}.wf-action-list ul.action-item li .chip-item i{color:#747576;margin-left:7px;font-size:10px;cursor:pointer;display:inline-flex}.wf-action-list ul.action-item li .chip-item span{display:block;width:auto;width:calc(100% - 17px);font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wf-action-list ul.action-item li .chip-item span.chip-block{display:block;width:100%}.wf-action-list ul.action-item li .chip-item span.id{font-size:9px}.wf-action-list ul.action-item li .within{display:flex;align-items:center;justify-content:flex-start}.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}.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}.wf-action-list ul.action-item li.multiple-program{background:#f8f8f8;margin-top:8px}.wf-action-list ul.action-item li.multiple-program .avatar-card{padding:2px 7.5px}.wf-action-list ul.action-item li.multiple-program .avatar-card span.value{color:#747576;font-size:11px;font-weight:600;width:unset}.wf-action-list ul.action-item li.multiple-program .avatar-card span.value i.disabled{color:#dbdbdb;pointer-events:none}.wf-action-list ul.action-item li.multiple-program .avatar-card .primary-label{background:#7aa7f7;border-radius:2px;color:#fff;font-size:9px;font-weight:500;text-transform:uppercase;padding:0 4px;line-height:12px;margin:0 4px}.wf-action-list ul.action-item li:first-child{animation:action-list-open .25s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(2){animation:action-list-open .35s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(3){animation:action-list-open .45s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(4){animation:action-list-open .55s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(5){animation:action-list-open .65s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(6){animation:action-list-open .75s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(7){animation:action-list-open .85s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(8){animation:action-list-open .95s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(9){animation:action-list-open 1.05s cubic-bezier(.25,.46,.45,.94) both}.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)}}.vx-overlay{position:fixed;z-index:1;inset:0}@keyframes animate-right{0%{transform:translate(100%)}to{transform:translate(0)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.SlicePipe, name: "slice" }, { kind: "ngmodule", type: PopoverModule }, { kind: "component", type: i2.PopoverComponent, selector: "app-popover", inputs: ["dontCloseonClick"] }, { kind: "directive", type: i3.PopoverDirective, selector: "[appPopover]", inputs: ["refrence", "placement"] }, { kind: "ngmodule", type: FormgroupModule }, { kind: "component", type: i4.CsCheckboxComponent, selector: "app-cs-checkbox", inputs: ["disabled", "ngValue", "value"], outputs: ["ngValueChange"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i5.ToolTipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { kind: "ngmodule", type: FloatingBarModule }, { kind: "component", type: i6.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: "ngmodule", type: PaginationModule }, { kind: "component", type: i7.PaginationComponent, selector: "app-pagination", inputs: ["activeAlphabet", "pageCount", "start", "end", "total", "currentPage"], outputs: ["selectedPage", "selectedAlphabet"] }, { kind: "component", type: TableCardComponent, selector: "app-table-card", inputs: ["tableCard", "singleSelectedText", "multipleSelectedText", "selectedTab"], outputs: ["setSelectedTab"] }, { kind: "ngmodule", type: NoDataModule }, { kind: "component", type: i8.NoDataComponent, selector: "app-no-data", inputs: ["action", "secondaryAction", "noDataImage", "noDataText", "noDataButton", "secondaryButton", "noDataSecButton", "altText", "smallButton"], outputs: ["buttonAction", "secondaryActionButton"] }, { kind: "ngmodule", type: ListLoaderModule }, { kind: "component", type: i9.ListLoaderComponent, selector: "app-list-loader" }] });
154
+ GrcObjectListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: GrcObjectListComponent, isStandalone: true, selector: "app-grc-object-list", inputs: { grcObject: "grcObject", currentPage: "currentPage", loader: "loader", tableCard: "tableCard", selectedTab: "selectedTab", setSelectedGRC: ["selectedGRC", "setSelectedGRC"] }, outputs: { saveOtherGRC: "saveOtherGRC", closeOtherGRC: "closeOtherGRC", getOtherGRCObjects: "getOtherGRCObjects" }, ngImport: i0, template: "<div class=\"workflow-grc-object-list\" [class.animate]=\"animation\">\r\n <div class=\"workflow-grc-object-list-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\">\r\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Select GRC Object(s)</div>\r\n </div>\r\n <div class=\"workflow-grc-object-list-body\">\r\n <div class=\"table-card-area vx-d-flex vx-mb-2\">\r\n\t\t\t<app-table-card class=\"vx-w-100\" [tableCard]=\"tableCard\" [singleSelectedText]=\"'GRC Object Selected'\" [selectedTab]=\"selectedTab\" [multipleSelectedText]=\"'GRC Objects Selected'\" (setSelectedTab)=\"setSelectedTab($event)\"></app-table-card>\r\n\t\t</div>\r\n \r\n <div class=\"search-block\">\r\n <i class=\"icons\">&#xe90b;</i>\r\n <input type=\"text\" #searchGRC (keyup.enter)=\"handleSearch($event.target.value)\"\r\n placeholder=\"Search GRC objects\" />\r\n </div>\r\n\r\n <div class=\"workflow-grc-object-list-body-inner vx-mb-4\">\r\n <ng-container *ngIf=\"!loader && grcObject?.data?.length\">\r\n <app-pagination *ngIf=\"grcObject?.total_pages > 1\" [start]=\"grcObject?.items_from\" [end]=\"grcObject?.items_to\" [total]=\"grcObject?.total_items\" [pageCount]=\"grcObject?.total_pages\" [currentPage]=\"currentPage\" (selectedPage)=\"changePage($event)\"></app-pagination>\r\n <div class=\"select-all vx-mt-1 vx-mb-1 vx-pl-2\">\r\n <app-cs-checkbox [ngValue]=\"isAllSelected()\" (ngValueChange)=\"selectAll($event)\"><div class=\"vx-fs-12 vx-fw-600 vx-label-txt\">{{selectAllButton}}</div></app-cs-checkbox>\r\n </div>\r\n\r\n <div class=\"workflow-grc-object-list-body-table\" [class.with-pagination]=\"grcObject?.total_pages > 1\">\r\n <div class=\"table-header\">\r\n <div class=\"table-row\">\r\n <div class=\"table-column vx-fs-10 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\">#</div>\r\n <div class=\"table-column vx-fs-10 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center name\">NAME</div>\r\n <div class=\"table-column vx-fs-10 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center responsibility-center\">RESPONSIBILITY CENTER</div>\r\n </div>\r\n </div>\r\n <div class=\"table-body\">\r\n <div class=\"table-row\" *ngFor=\"let grc of grcObject?.data; let i = index\" [class.active]=\"selectedGRCIds?.includes(grc?._id)\">\r\n <div class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\">\r\n <div class=\"sr-no\" [appTooltip]=\"grcObject?.items_from + i\" placement=\"bottom\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">{{grcObject?.items_from + i}}</div>\r\n <app-cs-checkbox [ngValue]=\"selectedGRCIds?.includes(grc?._id)\" (ngValueChange)=\"getSelectedGRC(grc,$event)\"></app-cs-checkbox>\r\n </div>\r\n <div class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center name\">\r\n <div class=\"name vx-fs-12 vx-label-txt\" [appTooltip]=\"grc?.name\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{grc?.name}}</div>\r\n </div>\r\n <div class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center responsibility-center\">\r\n <div class=\"rc-inner vx-d-block\">\r\n <div class=\"vx-d-flex vx-align-center vx-w-100\">\r\n <div class=\"value vx-fs-12 vx-label-txt\" [appTooltip]=\"grc?.rcDetails[0]?.rc_name\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{grc?.rcDetails[0]?.rc_name}}</div>\r\n </div>\r\n\r\n <div class=\"within-part vx-d-flex vx-align-center\" *ngIf=\"grc?.rcDetails[0]?.parent_rc_names?.length\">\r\n <div class=\"within-box vx-fs-9 vx-fw-600 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2 vx-lh-3 vx-txt-blue\">Within</div>\r\n <div class=\"within-value vx-fs-11 vx-paragraph-txt\" [appTooltip]=\"grc?.rcDetails[0]?.parent_rc_names?.slice()?.reverse()?.join(' > ')\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{grc?.rcDetails[0]?.parent_rc_names?.slice()?.reverse()?.join(' > ')}}</div>\r\n </div>\r\n </div>\r\n <button *ngIf=\"grc?.rcDetails?.length > 1\" class=\"rc-count-btn vx-fs-11 vx-txt-blue vx-p-0 vx-pl-1 vx-pr-1 vx-m-0 vx-ml-3 vx-d-flex vx-align-center vx-justify-center\" appPopover (click)=\"rcCount.popover()\" placement=\"right\">+{{grc?.rcDetails?.length - 1}}</button>\r\n <app-popover #rcCount>\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let rcDetails of grc?.rcDetails | slice: 1\">\r\n <div class=\"avatar-card\">\r\n <div class=\"vx-d-block vx-w-100\">\r\n <span class=\"value\" [appTooltip]=\"rcDetails?.rc_name\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{rcDetails?.rc_name}}</span>\r\n <div class=\"within\" *ngIf=\"rcDetails?.parent_rc_names?.length\"> \r\n <div class=\"block\">WITHIN</div>\r\n <div class=\"within-value vx-fs-11 vx-paragraph-txt\" [appTooltip]=\"rcDetails?.parent_rc_names?.slice()?.reverse()?.join(' > ')\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{rcDetails?.parent_rc_names?.slice()?.reverse()?.join(' > ')}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </ng-container>\r\n <app-list-loader *ngIf=\"loader\"></app-list-loader>\r\n <app-no-data *ngIf=\"grcObject?.data?.length === 0 && !loader\" [noDataImage]=\"CDN_LINK?.noData\" [noDataText]=\"'No data to display'\"></app-no-data>\r\n </div>\r\n\r\n <app-floating-bar [selectedData]=\"selectedGRC?.length ? selectedGRC : []\" (closeList)=\"close()\" (closeEvent)=\"save()\" [displayElementKey]=\"'name'\" [singularText]=\"'GRC Object selected'\" [pluralText]=\"'GRC Objects selected'\" (deleteEvent)=\"deleteEvent($event)\"></app-floating-bar>\r\n\r\n\r\n </div>\r\n</div>", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.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/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.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-right.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/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-right.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/table-card/table-card.css\";::ng-deep .workflow-grc-object-list{position:fixed;inset:0 500px 0 0}::ng-deep .workflow-grc-object-list:before{background:#1e5dd3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .workflow-grc-object-list-head{background:#fbfbfb;border-bottom:1px solid #f1f1f1;height:2.75rem}::ng-deep .workflow-grc-object-list-body{background:#fff;height:calc(100vh - 2.75rem);padding:2rem}::ng-deep .workflow-grc-object-list-body .table-card-area{position:relative;z-index:2}::ng-deep .workflow-grc-object-list-body .table-card-area .vx-table-card{box-shadow:0 0 2px #00000029;margin-right:.25rem}::ng-deep .workflow-grc-object-list-body .table-card-area .vx-table-card:last-of-type{margin-right:0}::ng-deep .workflow-grc-object-list-body .table-card-area .vx-table-card.active{box-shadow:0 3px 12px #1e5dd350;z-index:1}::ng-deep .workflow-grc-object-list-body .search-block{position:relative}::ng-deep .workflow-grc-object-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 .workflow-grc-object-list-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .workflow-grc-object-list-body .search-block i{position:absolute;left:1rem;font-size:12px;font-weight:400;top:1rem;pointer-events:none;color:#f1f1f1}::ng-deep .workflow-grc-object-list-body-inner{height:calc(100vh - 18.25rem)}::ng-deep .workflow-grc-object-list-body-inner .select-all app-cs-checkbox .checkbox-item{position:relative;padding-left:1.5rem}::ng-deep .workflow-grc-object-list-body-inner .select-all app-cs-checkbox .checkbox-item .checkbox,::ng-deep .workflow-grc-object-list-body-inner .select-all app-cs-checkbox .checkbox-item .checkmark{position:absolute!important;top:0;left:0}::ng-deep .workflow-grc-object-list-body-inner .select-all app-cs-checkbox .checkbox-item .value{margin-left:0!important;max-width:100%!important;width:100%}::ng-deep .workflow-grc-object-list-body-table{height:calc(100vh - 19.75rem);overflow:hidden;overflow-y:auto;width:calc(100% + .5rem);padding-right:.5rem}::ng-deep .workflow-grc-object-list-body-table::-webkit-scrollbar-track{background-color:transparent}::ng-deep .workflow-grc-object-list-body-table.with-pagination{height:calc(100vh - 21.75rem)}::ng-deep .workflow-grc-object-list-body-table .table-header{background:#fff;position:sticky;top:0;z-index:1}::ng-deep .workflow-grc-object-list-body-table .table-header .table-column{color:#161b2f!important;line-height:1rem!important;min-height:2rem!important}::ng-deep .workflow-grc-object-list-body-table .table-body{position:relative}::ng-deep .workflow-grc-object-list-body-table .table-body .table-row{background:#fff;border:1px solid #f1f1f1;border-radius:.125rem;margin-bottom:.25rem}::ng-deep .workflow-grc-object-list-body-table .table-body .table-row:hover .table-column.serial app-cs-checkbox,::ng-deep .workflow-grc-object-list-body-table .table-body .table-row.active .table-column.serial app-cs-checkbox{opacity:1}::ng-deep .workflow-grc-object-list-body-table .table-row{display:flex;justify-content:space-between;position:relative}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column{color:#747576;min-height:2.5rem;position:relative;width:100%}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column i.info{color:#1e5dd3;cursor:pointer}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column .sorting{cursor:pointer;position:relative;top:1px;left:-1px}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column .sorting i{cursor:pointer}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.serial{width:2rem;max-width:2rem;justify-content:center;position:relative}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.serial .sr-no{width:1rem;background:#f8f8f8;writing-mode:vertical-lr;color:#747576;font-size:.625rem;font-weight:500;display:flex;height:2.5rem;align-items:center;justify-content:center;position:relative;transition:all .2s ease-in-out}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.serial app-cs-checkbox{background:#fff;border-radius:.125rem;position:absolute;top:.75rem;left:.5rem;width:1rem;height:1rem;opacity:0;transition:all .2s ease-in-out}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.serial app-cs-checkbox label.checkbox-item{position:absolute!important}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.name{width:calc(100% - 22rem);min-width:calc(100% - 22rem)}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.name .sorting{left:0}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.name .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:calc(100% - 3rem)}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.responsibility-center{width:20rem;min-width:20rem}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.responsibility-center .rc-inner{max-width:calc(100% - 2.5rem)}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.responsibility-center .rc-inner .value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.responsibility-center button.rc-count-btn{background:#fff;border-radius:.125rem;border:1px solid #dbdbdb;min-width:1.25rem;height:1rem}::ng-deep .workflow-grc-object-list-body app-pagination .pagination-sec-ds{height:2.5rem}::ng-deep .workflow-grc-object-list.animate{animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;z-index:-1}::-webkit-scrollbar-track{background-color:#f1f1f1;position:absolute}::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}.wf-action-list{width:220px}.wf-action-list ul{padding:0;margin:0;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;background:#ffffff;box-shadow:0 3px 6px #1c5bd140;border-radius:4px;max-height:220px;overflow:auto}.wf-action-list ul.action-item{display:block}.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}.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}.wf-action-list ul.action-item li button .file-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:calc(100% - 16px)}.wf-action-list ul.action-item li button i{font-size:16px;margin-right:10px;color:#1e5dd3}.wf-action-list ul.action-item li button:hover{background:#f3f3f3}.wf-action-list ul.action-item li .avatar-card{display:flex;align-items:center;width:100%;padding:7.5px}.wf-action-list ul.action-item li .avatar-card.within-con{display:block}.wf-action-list ul.action-item li .avatar-card .avatar{height:24px;width:24px!important;min-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}.wf-action-list ul.action-item li .avatar-card .avatar img{background:#fff;width:100%;height:100%}.wf-action-list ul.action-item li .avatar-card .avatar+span.value{width:calc(100% - 29px)}.wf-action-list ul.action-item li .avatar-card span.value{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}.wf-action-list ul.action-item li .avatar-card span.value i{font-size:8px;color:#747576;cursor:pointer;margin-right:4px}.wf-action-list ul.action-item li .avatar-card span.value i.disabled{color:#dbdbdb;pointer-events:none}.wf-action-list ul.action-item li .avatar-card.no-image{display:block}.wf-action-list ul.action-item li .avatar-card.no-image span.value{width:100%;display:block}.wf-action-list ul.action-item li .avatar-card i.delete-icon{color:#d93b41;cursor:pointer;font-size:14px}.wf-action-list ul.action-item li .avatar-card .primary-label{background:#7aa7f7;border-radius:2px;color:#fff;font-size:9px;font-weight:500;text-transform:uppercase;padding:0 4px;line-height:12px;margin:0 4px}.wf-action-list ul.action-item li .chip-item{color:#1e5dd3;padding:10px;display:flex;align-items:center}.wf-action-list ul.action-item li .chip-item i{color:#747576;margin-left:7px;font-size:10px;cursor:pointer;display:inline-flex}.wf-action-list ul.action-item li .chip-item span{display:block;width:auto;width:calc(100% - 17px);font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wf-action-list ul.action-item li .chip-item span.chip-block{display:block;width:100%}.wf-action-list ul.action-item li .chip-item span.id{font-size:9px}.wf-action-list ul.action-item li .within{display:flex;align-items:center;justify-content:flex-start}.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}.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}.wf-action-list ul.action-item li.multiple-program{background:#f8f8f8;margin-top:8px}.wf-action-list ul.action-item li.multiple-program .avatar-card{padding:2px 7.5px}.wf-action-list ul.action-item li.multiple-program .avatar-card span.value{color:#747576;font-size:11px;font-weight:600;width:unset}.wf-action-list ul.action-item li.multiple-program .avatar-card span.value i.disabled{color:#dbdbdb;pointer-events:none}.wf-action-list ul.action-item li.multiple-program .avatar-card .primary-label{background:#7aa7f7;border-radius:2px;color:#fff;font-size:9px;font-weight:500;text-transform:uppercase;padding:0 4px;line-height:12px;margin:0 4px}.wf-action-list ul.action-item li:first-child{animation:action-list-open .25s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(2){animation:action-list-open .35s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(3){animation:action-list-open .45s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(4){animation:action-list-open .55s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(5){animation:action-list-open .65s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(6){animation:action-list-open .75s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(7){animation:action-list-open .85s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(8){animation:action-list-open .95s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(9){animation:action-list-open 1.05s cubic-bezier(.25,.46,.45,.94) both}.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)}}.vx-overlay{position:fixed;z-index:1;inset:0}@keyframes animate-right{0%{transform:translate(100%)}to{transform:translate(0)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.SlicePipe, name: "slice" }, { kind: "ngmodule", type: PopoverModule }, { kind: "component", type: i2.PopoverComponent, selector: "app-popover", inputs: ["dontCloseonClick"] }, { kind: "directive", type: i3.PopoverDirective, selector: "[appPopover]", inputs: ["refrence", "placement"] }, { kind: "ngmodule", type: FormgroupModule }, { kind: "component", type: i4.CsCheckboxComponent, selector: "app-cs-checkbox", inputs: ["disabled", "ngValue", "value"], outputs: ["ngValueChange"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i5.ToolTipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { kind: "ngmodule", type: FloatingBarModule }, { kind: "component", type: i6.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: "ngmodule", type: PaginationModule }, { kind: "component", type: i7.PaginationComponent, selector: "app-pagination", inputs: ["activeAlphabet", "pageCount", "start", "end", "total", "currentPage"], outputs: ["selectedPage", "selectedAlphabet"] }, { kind: "component", type: TableCardComponent, selector: "app-table-card", inputs: ["tableCard", "singleSelectedText", "multipleSelectedText", "selectedTab"], outputs: ["setSelectedTab"] }, { kind: "ngmodule", type: NoDataModule }, { kind: "component", type: i8.NoDataComponent, selector: "app-no-data", inputs: ["action", "secondaryAction", "noDataImage", "noDataText", "noDataButton", "secondaryButton", "noDataSecButton", "altText", "smallButton"], outputs: ["buttonAction", "secondaryActionButton"] }, { kind: "ngmodule", type: ListLoaderModule }, { kind: "component", type: i9.ListLoaderComponent, selector: "app-list-loader" }] });
155
155
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: GrcObjectListComponent, decorators: [{
156
156
  type: Component,
157
157
  args: [{ selector: 'app-grc-object-list', standalone: true, imports: [
@@ -164,9 +164,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
164
164
  TableCardComponent,
165
165
  NoDataModule,
166
166
  ListLoaderModule,
167
- ], inputs: ['grcObject', 'currentPage', 'loader', 'tableCard', 'selectedTab'], outputs: ['saveOtherGRC', 'closeOtherGRC', 'getOtherGRCObjects'], template: "<div class=\"workflow-grc-object-list\" [class.animate]=\"animation\">\r\n <div class=\"workflow-grc-object-list-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\">\r\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Select GRC Object(s)</div>\r\n </div>\r\n <div class=\"workflow-grc-object-list-body\">\r\n <div class=\"table-card-area vx-d-flex vx-mb-2\">\r\n\t\t\t<app-table-card class=\"vx-w-100\" [tableCard]=\"tableCard\" [singleSelectedText]=\"'GRC Object Selected'\" [selectedTab]=\"selectedTab\" [multipleSelectedText]=\"'GRC Objects Selected'\" (setSelectedTab)=\"setSelectedTab($event)\"></app-table-card>\r\n\t\t</div>\r\n \r\n <div class=\"search-block\">\r\n <i class=\"icons\">&#xe90b;</i>\r\n <input type=\"text\" #searchGRC (keyup.enter)=\"handleSearch($event.target.value)\"\r\n placeholder=\"Search GRC objects\" />\r\n </div>\r\n\r\n <div class=\"workflow-grc-object-list-body-inner vx-mb-4\">\r\n <ng-container *ngIf=\"!loader && grcObject?.data?.length\">\r\n <app-pagination *ngIf=\"grcObject?.total_pages > 1\" [start]=\"grcObject?.items_from\" [end]=\"grcObject?.items_to\" [total]=\"grcObject?.total_items\" [pageCount]=\"grcObject?.total_pages\" [currentPage]=\"currentPage\" (selectedPage)=\"changePage($event)\"></app-pagination>\r\n <div class=\"select-all vx-mt-1 vx-mb-1 vx-pl-2\">\r\n <app-cs-checkbox [ngValue]=\"isAllSelected()\" (ngValueChange)=\"selectAll($event)\"><div class=\"vx-fs-12 vx-fw-600 vx-label-txt\">{{selectAllButton}}</div></app-cs-checkbox>\r\n </div>\r\n\r\n <div class=\"workflow-grc-object-list-body-table\" [class.with-pagination]=\"grcObject?.total_pages > 1\">\r\n <div class=\"table-header\">\r\n <div class=\"table-row\">\r\n <div class=\"table-column vx-fs-10 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\">#</div>\r\n <div class=\"table-column vx-fs-10 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center name\">NAME</div>\r\n <div class=\"table-column vx-fs-10 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center responsibility-center\">RESPONSIBILITY CENTER</div>\r\n </div>\r\n </div>\r\n <div class=\"table-body\">\r\n <div class=\"table-row\" *ngFor=\"let grc of grcObject?.data; let i = index\" [class.active]=\"selectedGRCIds?.includes(grc?._id)\">\r\n <div class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\">\r\n <div class=\"sr-no\" [appTooltip]=\"grcObject?.items_from + i\" placement=\"bottom\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">{{grcObject?.items_from + i}}</div>\r\n <app-cs-checkbox [ngValue]=\"selectedGRCIds?.includes(grc?._id)\" (ngValueChange)=\"getSelectedGRC(grc,$event)\"></app-cs-checkbox>\r\n </div>\r\n <div class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center name\">\r\n <div class=\"name vx-fs-12 vx-label-txt\" [appTooltip]=\"grc?.name\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{grc?.name}}</div>\r\n </div>\r\n <div class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center responsibility-center\">\r\n <div class=\"rc-inner vx-d-block\">\r\n <div class=\"vx-d-flex vx-align-center vx-w-100\">\r\n <div class=\"value vx-fs-12 vx-label-txt\" [appTooltip]=\"grc?.rcDetails[0]?.rc_name\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{grc?.rcDetails[0]?.rc_name}}</div>\r\n </div>\r\n\r\n <div class=\"within-part vx-d-flex vx-align-center\" *ngIf=\"grc?.rcDetails[0]?.parent_rc_names?.length\">\r\n <div class=\"within-box vx-fs-9 vx-fw-600 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2 vx-lh-3 vx-txt-blue\">Within</div>\r\n <div class=\"within-value vx-fs-11 vx-paragraph-txt\" [appTooltip]=\"grc?.rcDetails[0]?.parent_rc_names?.slice()?.reverse()?.join(' > ')\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{grc?.rcDetails[0]?.parent_rc_names?.slice()?.reverse()?.join(' > ')}}</div>\r\n </div>\r\n </div>\r\n <button *ngIf=\"grc?.rcDetails?.length > 1\" class=\"rc-count-btn vx-fs-11 vx-txt-blue vx-p-0 vx-pl-1 vx-pr-1 vx-m-0 vx-ml-3 vx-d-flex vx-align-center vx-justify-center\" appPopover (click)=\"rcCount.popover()\" placement=\"right\">+{{grc?.rcDetails?.length - 1}}</button>\r\n <app-popover #rcCount>\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let rcDetails of grc?.rcDetails | slice: 1\">\r\n <div class=\"avatar-card\">\r\n <div class=\"vx-d-block vx-w-100\">\r\n <span class=\"value\" [appTooltip]=\"rcDetails?.rc_name\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{rcDetails?.rc_name}}</span>\r\n <div class=\"within\" *ngIf=\"rcDetails?.parent_rc_names?.length\"> \r\n <div class=\"block\">WITHIN</div>\r\n <div class=\"within-value vx-fs-11 vx-paragraph-txt\" [appTooltip]=\"rcDetails?.parent_rc_names?.slice()?.reverse()?.join(' > ')\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{rcDetails?.parent_rc_names?.slice()?.reverse()?.join(' > ')}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </ng-container>\r\n <app-list-loader *ngIf=\"loader\"></app-list-loader>\r\n <app-no-data *ngIf=\"grcObject?.data?.length === 0 && !loader\" [noDataImage]=\"CDN_LINK?.noData\" [noDataText]=\"'No data to display'\"></app-no-data>\r\n </div>\r\n\r\n <app-floating-bar [selectedData]=\"selectedGRC?.length ? selectedGRC : []\" (closeList)=\"close()\" (closeEvent)=\"save()\" [displayElementKey]=\"'name'\" [singularText]=\"'GRC Object selected'\" [pluralText]=\"'GRC Objects selected'\" (deleteEvent)=\"deleteEvent($event)\"></app-floating-bar>\r\n\r\n\r\n </div>\r\n</div>", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.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/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.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-right.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/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-right.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/table-card/table-card.css\";::ng-deep .workflow-grc-object-list{position:fixed;inset:0 500px 0 0}::ng-deep .workflow-grc-object-list:before{background:#1e5dd3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .workflow-grc-object-list-head{background:#fbfbfb;border-bottom:1px solid #f1f1f1;height:2.75rem}::ng-deep .workflow-grc-object-list-body{background:#fff;height:calc(100vh - 2.75rem);padding:2rem}::ng-deep .workflow-grc-object-list-body .table-card-area{position:relative;z-index:2}::ng-deep .workflow-grc-object-list-body .table-card-area .vx-table-card{box-shadow:0 0 2px #00000029;margin-right:.25rem}::ng-deep .workflow-grc-object-list-body .table-card-area .vx-table-card:last-of-type{margin-right:0}::ng-deep .workflow-grc-object-list-body .table-card-area .vx-table-card.active{box-shadow:0 3px 12px #1e5dd350;z-index:1}::ng-deep .workflow-grc-object-list-body .search-block{position:relative}::ng-deep .workflow-grc-object-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 .workflow-grc-object-list-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .workflow-grc-object-list-body .search-block i{position:absolute;left:1rem;font-size:12px;font-weight:400;top:1rem;pointer-events:none;color:#f1f1f1}::ng-deep .workflow-grc-object-list-body-inner{height:calc(100vh - 17.5rem)}::ng-deep .workflow-grc-object-list-body-inner .select-all app-cs-checkbox .checkbox-item{position:relative;padding-left:1.5rem}::ng-deep .workflow-grc-object-list-body-inner .select-all app-cs-checkbox .checkbox-item .checkbox,::ng-deep .workflow-grc-object-list-body-inner .select-all app-cs-checkbox .checkbox-item .checkmark{position:absolute!important;top:0;left:0}::ng-deep .workflow-grc-object-list-body-inner .select-all app-cs-checkbox .checkbox-item .value{margin-left:0!important;max-width:100%!important;width:100%}::ng-deep .workflow-grc-object-list-body-table{height:calc(100vh - 19.25rem);overflow:hidden;overflow-y:auto;width:calc(100% + .5rem);padding-right:.5rem}::ng-deep .workflow-grc-object-list-body-table::-webkit-scrollbar-track{background-color:transparent}::ng-deep .workflow-grc-object-list-body-table.with-pagination{height:calc(100vh - 21.75rem)}::ng-deep .workflow-grc-object-list-body-table .table-header{background:#fff;position:sticky;top:0;z-index:1}::ng-deep .workflow-grc-object-list-body-table .table-header .table-column{color:#161b2f!important;line-height:1rem!important;min-height:2rem!important}::ng-deep .workflow-grc-object-list-body-table .table-body{position:relative}::ng-deep .workflow-grc-object-list-body-table .table-body .table-row{background:#fff;border:1px solid #f1f1f1;border-radius:.125rem;margin-bottom:.25rem}::ng-deep .workflow-grc-object-list-body-table .table-body .table-row:hover .table-column.serial app-cs-checkbox,::ng-deep .workflow-grc-object-list-body-table .table-body .table-row.active .table-column.serial app-cs-checkbox{opacity:1}::ng-deep .workflow-grc-object-list-body-table .table-row{display:flex;justify-content:space-between;position:relative}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column{color:#747576;min-height:2.5rem;position:relative;width:100%}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column i.info{color:#1e5dd3;cursor:pointer}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column .sorting{cursor:pointer;position:relative;top:1px;left:-1px}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column .sorting i{cursor:pointer}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.serial{width:2rem;max-width:2rem;justify-content:center;position:relative}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.serial .sr-no{width:1rem;background:#f8f8f8;writing-mode:vertical-lr;color:#747576;font-size:.625rem;font-weight:500;display:flex;height:2.5rem;align-items:center;justify-content:center;position:relative;transition:all .2s ease-in-out}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.serial app-cs-checkbox{background:#fff;border-radius:.125rem;position:absolute;top:.75rem;left:.5rem;width:1rem;height:1rem;opacity:0;transition:all .2s ease-in-out}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.serial app-cs-checkbox label.checkbox-item{position:absolute!important}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.name{width:calc(100% - 22rem);min-width:calc(100% - 22rem)}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.name .sorting{left:0}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.name .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:calc(100% - 3rem)}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.responsibility-center{width:20rem;min-width:20rem}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.responsibility-center .rc-inner{max-width:calc(100% - 2.5rem)}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.responsibility-center .rc-inner .value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.responsibility-center button.rc-count-btn{background:#fff;border-radius:.125rem;border:1px solid #dbdbdb;min-width:1.25rem;height:1rem}::ng-deep .workflow-grc-object-list-body app-pagination .pagination-sec-ds{height:2.5rem}::ng-deep .workflow-grc-object-list.animate{animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;z-index:-1}::-webkit-scrollbar-track{background-color:#f1f1f1;position:absolute}::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}.wf-action-list{width:220px}.wf-action-list ul{padding:0;margin:0;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;background:#ffffff;box-shadow:0 3px 6px #1c5bd140;border-radius:4px;max-height:220px;overflow:auto}.wf-action-list ul.action-item{display:block}.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}.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}.wf-action-list ul.action-item li button .file-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:calc(100% - 16px)}.wf-action-list ul.action-item li button i{font-size:16px;margin-right:10px;color:#1e5dd3}.wf-action-list ul.action-item li button:hover{background:#f3f3f3}.wf-action-list ul.action-item li .avatar-card{display:flex;align-items:center;width:100%;padding:7.5px}.wf-action-list ul.action-item li .avatar-card.within-con{display:block}.wf-action-list ul.action-item li .avatar-card .avatar{height:24px;width:24px!important;min-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}.wf-action-list ul.action-item li .avatar-card .avatar img{background:#fff;width:100%;height:100%}.wf-action-list ul.action-item li .avatar-card .avatar+span.value{width:calc(100% - 29px)}.wf-action-list ul.action-item li .avatar-card span.value{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}.wf-action-list ul.action-item li .avatar-card span.value i{font-size:8px;color:#747576;cursor:pointer;margin-right:4px}.wf-action-list ul.action-item li .avatar-card span.value i.disabled{color:#dbdbdb;pointer-events:none}.wf-action-list ul.action-item li .avatar-card.no-image{display:block}.wf-action-list ul.action-item li .avatar-card.no-image span.value{width:100%;display:block}.wf-action-list ul.action-item li .avatar-card i.delete-icon{color:#d93b41;cursor:pointer;font-size:14px}.wf-action-list ul.action-item li .avatar-card .primary-label{background:#7aa7f7;border-radius:2px;color:#fff;font-size:9px;font-weight:500;text-transform:uppercase;padding:0 4px;line-height:12px;margin:0 4px}.wf-action-list ul.action-item li .chip-item{color:#1e5dd3;padding:10px;display:flex;align-items:center}.wf-action-list ul.action-item li .chip-item i{color:#747576;margin-left:7px;font-size:10px;cursor:pointer;display:inline-flex}.wf-action-list ul.action-item li .chip-item span{display:block;width:auto;width:calc(100% - 17px);font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wf-action-list ul.action-item li .chip-item span.chip-block{display:block;width:100%}.wf-action-list ul.action-item li .chip-item span.id{font-size:9px}.wf-action-list ul.action-item li .within{display:flex;align-items:center;justify-content:flex-start}.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}.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}.wf-action-list ul.action-item li.multiple-program{background:#f8f8f8;margin-top:8px}.wf-action-list ul.action-item li.multiple-program .avatar-card{padding:2px 7.5px}.wf-action-list ul.action-item li.multiple-program .avatar-card span.value{color:#747576;font-size:11px;font-weight:600;width:unset}.wf-action-list ul.action-item li.multiple-program .avatar-card span.value i.disabled{color:#dbdbdb;pointer-events:none}.wf-action-list ul.action-item li.multiple-program .avatar-card .primary-label{background:#7aa7f7;border-radius:2px;color:#fff;font-size:9px;font-weight:500;text-transform:uppercase;padding:0 4px;line-height:12px;margin:0 4px}.wf-action-list ul.action-item li:first-child{animation:action-list-open .25s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(2){animation:action-list-open .35s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(3){animation:action-list-open .45s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(4){animation:action-list-open .55s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(5){animation:action-list-open .65s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(6){animation:action-list-open .75s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(7){animation:action-list-open .85s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(8){animation:action-list-open .95s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(9){animation:action-list-open 1.05s cubic-bezier(.25,.46,.45,.94) both}.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)}}.vx-overlay{position:fixed;z-index:1;inset:0}@keyframes animate-right{0%{transform:translate(100%)}to{transform:translate(0)}}\n"] }]
167
+ ], inputs: ['grcObject', 'currentPage', 'loader', 'tableCard', 'selectedTab'], outputs: ['saveOtherGRC', 'closeOtherGRC', 'getOtherGRCObjects'], template: "<div class=\"workflow-grc-object-list\" [class.animate]=\"animation\">\r\n <div class=\"workflow-grc-object-list-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\">\r\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Select GRC Object(s)</div>\r\n </div>\r\n <div class=\"workflow-grc-object-list-body\">\r\n <div class=\"table-card-area vx-d-flex vx-mb-2\">\r\n\t\t\t<app-table-card class=\"vx-w-100\" [tableCard]=\"tableCard\" [singleSelectedText]=\"'GRC Object Selected'\" [selectedTab]=\"selectedTab\" [multipleSelectedText]=\"'GRC Objects Selected'\" (setSelectedTab)=\"setSelectedTab($event)\"></app-table-card>\r\n\t\t</div>\r\n \r\n <div class=\"search-block\">\r\n <i class=\"icons\">&#xe90b;</i>\r\n <input type=\"text\" #searchGRC (keyup.enter)=\"handleSearch($event.target.value)\"\r\n placeholder=\"Search GRC objects\" />\r\n </div>\r\n\r\n <div class=\"workflow-grc-object-list-body-inner vx-mb-4\">\r\n <ng-container *ngIf=\"!loader && grcObject?.data?.length\">\r\n <app-pagination *ngIf=\"grcObject?.total_pages > 1\" [start]=\"grcObject?.items_from\" [end]=\"grcObject?.items_to\" [total]=\"grcObject?.total_items\" [pageCount]=\"grcObject?.total_pages\" [currentPage]=\"currentPage\" (selectedPage)=\"changePage($event)\"></app-pagination>\r\n <div class=\"select-all vx-mt-1 vx-mb-1 vx-pl-2\">\r\n <app-cs-checkbox [ngValue]=\"isAllSelected()\" (ngValueChange)=\"selectAll($event)\"><div class=\"vx-fs-12 vx-fw-600 vx-label-txt\">{{selectAllButton}}</div></app-cs-checkbox>\r\n </div>\r\n\r\n <div class=\"workflow-grc-object-list-body-table\" [class.with-pagination]=\"grcObject?.total_pages > 1\">\r\n <div class=\"table-header\">\r\n <div class=\"table-row\">\r\n <div class=\"table-column vx-fs-10 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\">#</div>\r\n <div class=\"table-column vx-fs-10 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center name\">NAME</div>\r\n <div class=\"table-column vx-fs-10 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center responsibility-center\">RESPONSIBILITY CENTER</div>\r\n </div>\r\n </div>\r\n <div class=\"table-body\">\r\n <div class=\"table-row\" *ngFor=\"let grc of grcObject?.data; let i = index\" [class.active]=\"selectedGRCIds?.includes(grc?._id)\">\r\n <div class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\">\r\n <div class=\"sr-no\" [appTooltip]=\"grcObject?.items_from + i\" placement=\"bottom\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">{{grcObject?.items_from + i}}</div>\r\n <app-cs-checkbox [ngValue]=\"selectedGRCIds?.includes(grc?._id)\" (ngValueChange)=\"getSelectedGRC(grc,$event)\"></app-cs-checkbox>\r\n </div>\r\n <div class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center name\">\r\n <div class=\"name vx-fs-12 vx-label-txt\" [appTooltip]=\"grc?.name\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{grc?.name}}</div>\r\n </div>\r\n <div class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center responsibility-center\">\r\n <div class=\"rc-inner vx-d-block\">\r\n <div class=\"vx-d-flex vx-align-center vx-w-100\">\r\n <div class=\"value vx-fs-12 vx-label-txt\" [appTooltip]=\"grc?.rcDetails[0]?.rc_name\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{grc?.rcDetails[0]?.rc_name}}</div>\r\n </div>\r\n\r\n <div class=\"within-part vx-d-flex vx-align-center\" *ngIf=\"grc?.rcDetails[0]?.parent_rc_names?.length\">\r\n <div class=\"within-box vx-fs-9 vx-fw-600 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2 vx-lh-3 vx-txt-blue\">Within</div>\r\n <div class=\"within-value vx-fs-11 vx-paragraph-txt\" [appTooltip]=\"grc?.rcDetails[0]?.parent_rc_names?.slice()?.reverse()?.join(' > ')\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{grc?.rcDetails[0]?.parent_rc_names?.slice()?.reverse()?.join(' > ')}}</div>\r\n </div>\r\n </div>\r\n <button *ngIf=\"grc?.rcDetails?.length > 1\" class=\"rc-count-btn vx-fs-11 vx-txt-blue vx-p-0 vx-pl-1 vx-pr-1 vx-m-0 vx-ml-3 vx-d-flex vx-align-center vx-justify-center\" appPopover (click)=\"rcCount.popover()\" placement=\"right\">+{{grc?.rcDetails?.length - 1}}</button>\r\n <app-popover #rcCount>\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let rcDetails of grc?.rcDetails | slice: 1\">\r\n <div class=\"avatar-card\">\r\n <div class=\"vx-d-block vx-w-100\">\r\n <span class=\"value\" [appTooltip]=\"rcDetails?.rc_name\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{rcDetails?.rc_name}}</span>\r\n <div class=\"within\" *ngIf=\"rcDetails?.parent_rc_names?.length\"> \r\n <div class=\"block\">WITHIN</div>\r\n <div class=\"within-value vx-fs-11 vx-paragraph-txt\" [appTooltip]=\"rcDetails?.parent_rc_names?.slice()?.reverse()?.join(' > ')\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{rcDetails?.parent_rc_names?.slice()?.reverse()?.join(' > ')}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </ng-container>\r\n <app-list-loader *ngIf=\"loader\"></app-list-loader>\r\n <app-no-data *ngIf=\"grcObject?.data?.length === 0 && !loader\" [noDataImage]=\"CDN_LINK?.noData\" [noDataText]=\"'No data to display'\"></app-no-data>\r\n </div>\r\n\r\n <app-floating-bar [selectedData]=\"selectedGRC?.length ? selectedGRC : []\" (closeList)=\"close()\" (closeEvent)=\"save()\" [displayElementKey]=\"'name'\" [singularText]=\"'GRC Object selected'\" [pluralText]=\"'GRC Objects selected'\" (deleteEvent)=\"deleteEvent($event)\"></app-floating-bar>\r\n\r\n\r\n </div>\r\n</div>", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.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/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.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-right.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/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-right.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/table-card/table-card.css\";::ng-deep .workflow-grc-object-list{position:fixed;inset:0 500px 0 0}::ng-deep .workflow-grc-object-list:before{background:#1e5dd3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .workflow-grc-object-list-head{background:#fbfbfb;border-bottom:1px solid #f1f1f1;height:2.75rem}::ng-deep .workflow-grc-object-list-body{background:#fff;height:calc(100vh - 2.75rem);padding:2rem}::ng-deep .workflow-grc-object-list-body .table-card-area{position:relative;z-index:2}::ng-deep .workflow-grc-object-list-body .table-card-area .vx-table-card{box-shadow:0 0 2px #00000029;margin-right:.25rem}::ng-deep .workflow-grc-object-list-body .table-card-area .vx-table-card:last-of-type{margin-right:0}::ng-deep .workflow-grc-object-list-body .table-card-area .vx-table-card.active{box-shadow:0 3px 12px #1e5dd350;z-index:1}::ng-deep .workflow-grc-object-list-body .search-block{position:relative}::ng-deep .workflow-grc-object-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 .workflow-grc-object-list-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .workflow-grc-object-list-body .search-block i{position:absolute;left:1rem;font-size:12px;font-weight:400;top:1rem;pointer-events:none;color:#f1f1f1}::ng-deep .workflow-grc-object-list-body-inner{height:calc(100vh - 18.25rem)}::ng-deep .workflow-grc-object-list-body-inner .select-all app-cs-checkbox .checkbox-item{position:relative;padding-left:1.5rem}::ng-deep .workflow-grc-object-list-body-inner .select-all app-cs-checkbox .checkbox-item .checkbox,::ng-deep .workflow-grc-object-list-body-inner .select-all app-cs-checkbox .checkbox-item .checkmark{position:absolute!important;top:0;left:0}::ng-deep .workflow-grc-object-list-body-inner .select-all app-cs-checkbox .checkbox-item .value{margin-left:0!important;max-width:100%!important;width:100%}::ng-deep .workflow-grc-object-list-body-table{height:calc(100vh - 19.75rem);overflow:hidden;overflow-y:auto;width:calc(100% + .5rem);padding-right:.5rem}::ng-deep .workflow-grc-object-list-body-table::-webkit-scrollbar-track{background-color:transparent}::ng-deep .workflow-grc-object-list-body-table.with-pagination{height:calc(100vh - 21.75rem)}::ng-deep .workflow-grc-object-list-body-table .table-header{background:#fff;position:sticky;top:0;z-index:1}::ng-deep .workflow-grc-object-list-body-table .table-header .table-column{color:#161b2f!important;line-height:1rem!important;min-height:2rem!important}::ng-deep .workflow-grc-object-list-body-table .table-body{position:relative}::ng-deep .workflow-grc-object-list-body-table .table-body .table-row{background:#fff;border:1px solid #f1f1f1;border-radius:.125rem;margin-bottom:.25rem}::ng-deep .workflow-grc-object-list-body-table .table-body .table-row:hover .table-column.serial app-cs-checkbox,::ng-deep .workflow-grc-object-list-body-table .table-body .table-row.active .table-column.serial app-cs-checkbox{opacity:1}::ng-deep .workflow-grc-object-list-body-table .table-row{display:flex;justify-content:space-between;position:relative}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column{color:#747576;min-height:2.5rem;position:relative;width:100%}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column i.info{color:#1e5dd3;cursor:pointer}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column .sorting{cursor:pointer;position:relative;top:1px;left:-1px}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column .sorting i{cursor:pointer}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.serial{width:2rem;max-width:2rem;justify-content:center;position:relative}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.serial .sr-no{width:1rem;background:#f8f8f8;writing-mode:vertical-lr;color:#747576;font-size:.625rem;font-weight:500;display:flex;height:2.5rem;align-items:center;justify-content:center;position:relative;transition:all .2s ease-in-out}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.serial app-cs-checkbox{background:#fff;border-radius:.125rem;position:absolute;top:.75rem;left:.5rem;width:1rem;height:1rem;opacity:0;transition:all .2s ease-in-out}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.serial app-cs-checkbox label.checkbox-item{position:absolute!important}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.name{width:calc(100% - 22rem);min-width:calc(100% - 22rem)}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.name .sorting{left:0}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.name .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:calc(100% - 3rem)}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.responsibility-center{width:20rem;min-width:20rem}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.responsibility-center .rc-inner{max-width:calc(100% - 2.5rem)}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.responsibility-center .rc-inner .value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.responsibility-center button.rc-count-btn{background:#fff;border-radius:.125rem;border:1px solid #dbdbdb;min-width:1.25rem;height:1rem}::ng-deep .workflow-grc-object-list-body app-pagination .pagination-sec-ds{height:2.5rem}::ng-deep .workflow-grc-object-list.animate{animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;z-index:-1}::-webkit-scrollbar-track{background-color:#f1f1f1;position:absolute}::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}.wf-action-list{width:220px}.wf-action-list ul{padding:0;margin:0;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;background:#ffffff;box-shadow:0 3px 6px #1c5bd140;border-radius:4px;max-height:220px;overflow:auto}.wf-action-list ul.action-item{display:block}.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}.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}.wf-action-list ul.action-item li button .file-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:calc(100% - 16px)}.wf-action-list ul.action-item li button i{font-size:16px;margin-right:10px;color:#1e5dd3}.wf-action-list ul.action-item li button:hover{background:#f3f3f3}.wf-action-list ul.action-item li .avatar-card{display:flex;align-items:center;width:100%;padding:7.5px}.wf-action-list ul.action-item li .avatar-card.within-con{display:block}.wf-action-list ul.action-item li .avatar-card .avatar{height:24px;width:24px!important;min-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}.wf-action-list ul.action-item li .avatar-card .avatar img{background:#fff;width:100%;height:100%}.wf-action-list ul.action-item li .avatar-card .avatar+span.value{width:calc(100% - 29px)}.wf-action-list ul.action-item li .avatar-card span.value{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}.wf-action-list ul.action-item li .avatar-card span.value i{font-size:8px;color:#747576;cursor:pointer;margin-right:4px}.wf-action-list ul.action-item li .avatar-card span.value i.disabled{color:#dbdbdb;pointer-events:none}.wf-action-list ul.action-item li .avatar-card.no-image{display:block}.wf-action-list ul.action-item li .avatar-card.no-image span.value{width:100%;display:block}.wf-action-list ul.action-item li .avatar-card i.delete-icon{color:#d93b41;cursor:pointer;font-size:14px}.wf-action-list ul.action-item li .avatar-card .primary-label{background:#7aa7f7;border-radius:2px;color:#fff;font-size:9px;font-weight:500;text-transform:uppercase;padding:0 4px;line-height:12px;margin:0 4px}.wf-action-list ul.action-item li .chip-item{color:#1e5dd3;padding:10px;display:flex;align-items:center}.wf-action-list ul.action-item li .chip-item i{color:#747576;margin-left:7px;font-size:10px;cursor:pointer;display:inline-flex}.wf-action-list ul.action-item li .chip-item span{display:block;width:auto;width:calc(100% - 17px);font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wf-action-list ul.action-item li .chip-item span.chip-block{display:block;width:100%}.wf-action-list ul.action-item li .chip-item span.id{font-size:9px}.wf-action-list ul.action-item li .within{display:flex;align-items:center;justify-content:flex-start}.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}.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}.wf-action-list ul.action-item li.multiple-program{background:#f8f8f8;margin-top:8px}.wf-action-list ul.action-item li.multiple-program .avatar-card{padding:2px 7.5px}.wf-action-list ul.action-item li.multiple-program .avatar-card span.value{color:#747576;font-size:11px;font-weight:600;width:unset}.wf-action-list ul.action-item li.multiple-program .avatar-card span.value i.disabled{color:#dbdbdb;pointer-events:none}.wf-action-list ul.action-item li.multiple-program .avatar-card .primary-label{background:#7aa7f7;border-radius:2px;color:#fff;font-size:9px;font-weight:500;text-transform:uppercase;padding:0 4px;line-height:12px;margin:0 4px}.wf-action-list ul.action-item li:first-child{animation:action-list-open .25s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(2){animation:action-list-open .35s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(3){animation:action-list-open .45s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(4){animation:action-list-open .55s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(5){animation:action-list-open .65s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(6){animation:action-list-open .75s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(7){animation:action-list-open .85s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(8){animation:action-list-open .95s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(9){animation:action-list-open 1.05s cubic-bezier(.25,.46,.45,.94) both}.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)}}.vx-overlay{position:fixed;z-index:1;inset:0}@keyframes animate-right{0%{transform:translate(100%)}to{transform:translate(0)}}\n"] }]
168
168
  }], ctorParameters: function () { return []; }, propDecorators: { setSelectedGRC: [{
169
169
  type: Input,
170
170
  args: ['selectedGRC']
171
171
  }] } });
172
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JjLW9iamVjdC1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3dvcmtmbG93L3NoYXJlZC9jb21wb25lbnRzL2dyYy1vYmplY3QtbGlzdC9ncmMtb2JqZWN0LWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvd29ya2Zsb3cvc2hhcmVkL2NvbXBvbmVudHMvZ3JjLW9iamVjdC1saXN0L2dyYy1vYmplY3QtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFrQixNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUNsRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDbkYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDekUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzFELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQy9GLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFB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clxuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGbG9hdGluZ0Jhck1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZENvbXBvbmVudHMvZmxvYXRpbmctYmFyL2Zsb2F0aW5nLWJhci5tb2R1bGUnO1xyXG5pbXBvcnQgeyBGb3JtZ3JvdXBNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi91aS1raXQvZm9ybWdyb3VwL2Zvcm1ncm91cC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBQYWdpbmF0aW9uTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdWkta2l0L3BhZ2luYXRpb24vcGFnaW5hdGlvbi5tb2R1bGUnO1xyXG5pbXBvcnQgeyBQb3BvdmVyTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdWkta2l0L3BvcG92ZXIvcG9wb3Zlci5tb2R1bGUnO1xyXG5pbXBvcnQgeyBUb29sdGlwTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdWkta2l0L3Rvb2x0aXAvdG9vbHRpcC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBUYWJsZUNhcmRDb21wb25lbnQgfSBmcm9tICcuLi90YWJsZS1jYXJkL3RhYmxlLWNhcmQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTm9EYXRhTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdWkta2l0L25vLWRhdGEvbm8tZGF0YS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBMSU5LUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9jZG4tbGluay5jb25zdGFudCc7XHJcbmltcG9ydCB7IExpc3RMb2FkZXJNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWRDb21wb25lbnRzL2xpc3QtbG9hZGVyL2xpc3QtbG9hZGVyLm1vZHVsZSc7XHJcbmltcG9ydCB7IE9USEVSX0dSQ19DQVJEIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2dyY09iamVjdC5jb25zdGFudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1ncmMtb2JqZWN0LWxpc3QnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgUG9wb3Zlck1vZHVsZSxcclxuICAgIEZvcm1ncm91cE1vZHVsZSxcclxuICAgIFRvb2x0aXBNb2R1bGUsXHJcbiAgICBGbG9hdGluZ0Jhck1vZHVsZSxcclxuICAgIFBhZ2luYXRpb25Nb2R1bGUsXHJcbiAgICBUYWJsZUNhcmRDb21wb25lbnQsXHJcbiAgICBOb0RhdGFNb2R1bGUsXHJcbiAgICBMaXN0TG9hZGVyTW9kdWxlLFxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2dyYy1vYmplY3QtbGlzdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZ3JjLW9iamVjdC1saXN0LmNvbXBvbmVudC5sZXNzJ10sXHJcbiAgaW5wdXRzOiBbJ2dyY09iamVjdCcsICdjdXJyZW50UGFnZScsICdsb2FkZXInLCAndGFibGVDYXJkJywgJ3NlbGVjdGVkVGFiJ10sXHJcbiAgb3V0cHV0czogWydzYXZlT3RoZXJHUkMnLCAnY2xvc2VPdGhlckdSQycsICdnZXRPdGhlckdSQ09iamVjdHMnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEdyY09iamVjdExpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGFuaW1hdGlvbiE6IGJvb2xlYW47XHJcbiAgQ0ROX0xJTksgPSBMSU5LUztcclxuICB0YWJsZUNhcmQgPSBPVEhFUl9HUkNfQ0FSRDtcclxuICBsb2FkZXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBncmNPYmplY3Q6IGFueTtcclxuICBjdXJyZW50UGFnZTogbnVtYmVyID0gMTtcclxuICBzZWxlY3RlZEdSQzogYW55ID0gW107XHJcbiAgc2VsZWN0ZWRHUkNJZHM6IGFueSA9IFtdO1xyXG4gIHNlYXJjaFN0cmluZzogc3RyaW5nID0gJyc7XHJcbiAgcHJlU2VsZWN0ZWRHUkM6IGFueSA9IFtdO1xyXG4gIHNlbGVjdEFsbEJ1dHRvbjogJ1NlbGVjdCBBbGwnIHwgJ0Rlc2VsZWN0IEFsbCcgPSAnU2VsZWN0IEFsbCc7XHJcbiAgc2VsZWN0ZWRUYWI6IDAgfCAxIHwgMiB8IDMgPSAwO1xyXG5cclxuICBASW5wdXQoJ3NlbGVjdGVkR1JDJykgc2V0IHNldFNlbGVjdGVkR1JDKHNlbGVjdGVkR1JDOiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRHUkMgPSBzZWxlY3RlZEdSQztcclxuICAgIHRoaXMuc2VsZWN0ZWRHUkNJZHMgPSB0aGlzLmdldElkcyh0aGlzLnNlbGVjdGVkR1JDLCAnX2lkJyk7XHJcbiAgICB0aGlzLnByZVNlbGVjdGVkR1JDID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShzZWxlY3RlZEdSQykpO1xyXG4gIH1cclxuXHJcbiAgc2F2ZU90aGVyR1JDOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBjbG9zZU90aGVyR1JDOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBnZXRPdGhlckdSQ09iamVjdHM6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5hbmltYXRpb24gPSB0cnVlO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuYW5pbWF0aW9uID0gZmFsc2U7XHJcbiAgICB9LCAzMDApO1xyXG4gIH1cclxuXHJcbiAgZ2V0SWRzKHNlbGVjdGVkTGlzdDogQXJyYXk8YW55Piwga2V5OiBzdHJpbmcpIHtcclxuICAgIGxldCBpZHM6IEFycmF5PGFueT4gPSBbXTtcclxuICAgIGlmIChzZWxlY3RlZExpc3Q/Lmxlbmd0aCkge1xyXG4gICAgICBzZWxlY3RlZExpc3QuZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XHJcbiAgICAgICAgaWRzLnB1c2goZWxlbWVudFtrZXldKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gaWRzID8/IFtdO1xyXG4gIH1cclxuXHJcbiAgZ2V0U2VsZWN0ZWRHUkMoZ3JjOiBhbnksIGV2ZW50OiBhbnkpIHtcclxuICAgIGlmIChldmVudCkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkR1JDLnB1c2goZ3JjKTtcclxuICAgICAgdGhpcy5zZWxlY3RlZEdSQ0lkcy5wdXNoKGdyYz8uX2lkKTtcclxuICAgICAgdGhpcy51cGRhdGVUYWJTZWxlY3RlZENvdW50KHRydWUsIGdyYz8udHlwZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmRlbGV0ZUV2ZW50KGdyYyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBkZWxldGVFdmVudChncmM6IGFueSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZEdSQyA9IHRoaXMuc2VsZWN0ZWRHUkM/LmZpbHRlcihcclxuICAgICAgKHNlbGVjdGVkOiBhbnkpID0+IHNlbGVjdGVkPy5faWQgIT09IGdyYz8uX2lkXHJcbiAgICApO1xyXG4gICAgdGhpcy5zZWxlY3RlZEdSQ0lkcyA9IHRoaXMuc2VsZWN0ZWRHUkNJZHM/LmZpbHRlcihcclxuICAgICAgKHNlbGVjdGVkR1JDSWQ6IGFueSkgPT4gc2VsZWN0ZWRHUkNJZCAhPT0gZ3JjPy5faWRcclxuICAgICk7XHJcbiAgICB0aGlzLnVwZGF0ZVRhYlNlbGVjdGVkQ291bnQoZmFsc2UsIGdyYz8udHlwZSk7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVTZWFyY2goZXZlbnQ6IGFueSkge1xyXG4gICAgaWYgKHRoaXMuc2VhcmNoU3RyaW5nICE9IGV2ZW50KSB7XHJcbiAgICAgIHRoaXMuY3VycmVudFBhZ2UgPSAxO1xyXG4gICAgICB0aGlzLnNlYXJjaFN0cmluZyA9IGV2ZW50O1xyXG4gICAgICB0aGlzLmdldE90aGVyR1JDT2JqZWN0cy5lbWl0KHtcclxuICAgICAgICBwYWdlTm86IHRoaXMuY3VycmVudFBhZ2UsXHJcbiAgICAgICAgc2VhcmNoU3RyaW5nOiB0aGlzLnNlYXJjaFN0cmluZyxcclxuICAgICAgICB0eXBlOiB0aGlzLnNlbGVjdGVkVGFiLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNlbGVjdEFsbChldmVudDogYW55KSB7XHJcbiAgICB0aGlzLmdyY09iamVjdD8uZGF0YT8uZm9yRWFjaCgoZ3JjOiBhbnkpID0+IHtcclxuICAgICAgaWYgKGV2ZW50KSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLnNlbGVjdGVkR1JDSWRzLmluY2x1ZGVzKGdyYz8uX2lkKSkge1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZEdSQy5wdXNoKGdyYyk7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkR1JDSWRzLnB1c2goZ3JjPy5faWQpO1xyXG4gICAgICAgICAgdGhpcy51cGRhdGVUYWJTZWxlY3RlZENvdW50KHRydWUsIGdyYz8udHlwZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuZGVsZXRlRXZlbnQoZ3JjKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVUYWJTZWxlY3RlZENvdW50KGV2ZW50OiBib29sZWFuLCB0eXBlOiBudW1iZXIpIHtcclxuICAgIGlmIChldmVudCkge1xyXG4gICAgICB0aGlzLnRhYmxlQ2FyZFt0eXBlXS5zZWxlY3RlZENvdW50Kys7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnRhYmxlQ2FyZFt0eXBlXS5zZWxlY3RlZENvdW50XHJcbiAgICAgICAgPyB0aGlzLnRhYmxlQ2FyZFt0eXBlXS5zZWxlY3RlZENvdW50LS1cclxuICAgICAgICA6IDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpc0FsbFNlbGVjdGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLnNlbGVjdGVkR1JDSWRzICYmXHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRHUkNJZHMubGVuZ3RoID49IHRoaXMuZ3JjT2JqZWN0Py5kYXRhPy5sZW5ndGggJiZcclxuICAgICAgdGhpcy5zZWxlY3RlZEdSQ0lkcy5sZW5ndGggPiAwXHJcbiAgICApIHtcclxuICAgICAgZm9yIChjb25zdCBncmMgb2YgdGhpcy5ncmNPYmplY3Q/LmRhdGEpIHtcclxuICAgICAgICBpZiAoIXRoaXMuc2VsZWN0ZWRHUkNJZHMuaW5jbHVkZXMoZ3JjPy5faWQpKSB7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdEFsbEJ1dHRvbiA9ICdTZWxlY3QgQWxsJztcclxuICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5zZWxlY3RBbGxCdXR0b24gPSAnRGVzZWxlY3QgQWxsJztcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNlbGVjdEFsbEJ1dHRvbiA9ICdTZWxlY3QgQWxsJztcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuICBzYXZlKCkge1xyXG4gICAgdGhpcy5zYXZlT3RoZXJHUkMuZW1pdCh0aGlzLnNlbGVjdGVkR1JDKTtcclxuICB9XHJcblxyXG4gIGNsb3NlKCkge1xyXG4gICAgdGhpcy5jbG9zZU90aGVyR1JDLmVtaXQodGhpcy5wcmVTZWxlY3RlZEdSQyk7XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VQYWdlKGV2ZW50OiBudW1iZXIpIHtcclxuICAgIHRoaXMuY3VycmVudFBhZ2UgPSBldmVudDtcclxuICAgIHRoaXMuZ3JjT2JqZWN0LmN1cnJlbnRQYWdlID0gZXZlbnQ7XHJcbiAgICB0aGlzLmdldE90aGVyR1JDT2JqZWN0cy5lbWl0KHtcclxuICAgICAgcGFnZU5vOiB0aGlzLmN1cnJlbnRQYWdlLFxyXG4gICAgICBzZWFyY2hTdHJpbmc6IHRoaXMuc2VhcmNoU3RyaW5nLFxyXG4gICAgICB0eXBlOiB0aGlzLnNlbGVjdGVkVGFiLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzZXRTZWxlY3RlZFRhYihldmVudDogYW55KSB7XHJcbiAgICB0aGlzLmdyY09iamVjdC5jdXJyZW50UGFnZSA9IDE7XHJcbiAgICB0aGlzLmN1cnJlbnRQYWdlID0gMTtcclxuICAgIHRoaXMuc2VsZWN0ZWRUYWIgPSBldmVudD8udHlwZTtcclxuICAgIHRoaXMuZ2V0T3RoZXJHUkNPYmplY3RzLmVtaXQoe1xyXG4gICAgICBwYWdlTm86IHRoaXMuY3VycmVudFBhZ2UsXHJcbiAgICAgIHNlYXJjaFN0cmluZzogdGhpcy5zZWFyY2hTdHJpbmcsXHJcbiAgICAgIHR5cGU6IGV2ZW50Py50eXBlLFxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJ3b3JrZmxvdy1ncmMtb2JqZWN0LWxpc3RcIiBbY2xhc3MuYW5pbWF0ZV09XCJhbmltYXRpb25cIj5cclxuICAgIDxkaXYgY2xhc3M9XCJ3b3JrZmxvdy1ncmMtb2JqZWN0LWxpc3QtaGVhZCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktYmV0d2VlbiB2eC1wbC00IHZ4LXByLTRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidngtZnMtMTQgdngtZnctNTAwIHZ4LWxhYmVsLXR4dFwiPlNlbGVjdCBHUkMgT2JqZWN0KHMpPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJ3b3JrZmxvdy1ncmMtb2JqZWN0LWxpc3QtYm9keVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1jYXJkLWFyZWEgdngtZC1mbGV4IHZ4LW1iLTJcIj5cclxuXHRcdFx0PGFwcC10YWJsZS1jYXJkIGNsYXNzPVwidngtdy0xMDBcIiBbdGFibGVDYXJkXT1cInRhYmxlQ2FyZFwiIFtzaW5nbGVTZWxlY3RlZFRleHRdPVwiJ0dSQyBPYmplY3QgU2VsZWN0ZWQnXCIgW3NlbGVjdGVkVGFiXT1cInNlbGVjdGVkVGFiXCIgW211bHRpcGxlU2VsZWN0ZWRUZXh0XT1cIidHUkMgT2JqZWN0cyBTZWxlY3RlZCdcIiAoc2V0U2VsZWN0ZWRUYWIpPVwic2V0U2VsZWN0ZWRUYWIoJGV2ZW50KVwiPjwvYXBwLXRhYmxlLWNhcmQ+XHJcblx0XHQ8L2Rpdj5cclxuICAgICAgICBcclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoLWJsb2NrXCI+XHJcbiAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbnNcIj4mI3hlOTBiOzwvaT5cclxuICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgI3NlYXJjaEdSQyAoa2V5dXAuZW50ZXIpPVwiaGFuZGxlU2VhcmNoKCRldmVudC50YXJnZXQudmFsdWUpXCJcclxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU2VhcmNoIEdSQyBvYmplY3RzXCIgLz5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIndvcmtmbG93LWdyYy1vYmplY3QtbGlzdC1ib2R5LWlubmVyIHZ4LW1iLTRcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFsb2FkZXIgJiYgZ3JjT2JqZWN0Py5kYXRhPy5sZW5ndGhcIj5cclxuICAgICAgICAgICAgICAgIDxhcHAtcGFnaW5hdGlvbiAqbmdJZj1cImdyY09iamVjdD8udG90YWxfcGFnZXMgPiAxXCIgW3N0YXJ0XT1cImdyY09iamVjdD8uaXRlbXNfZnJvbVwiIFtlbmRdPVwiZ3JjT2JqZWN0Py5pdGVtc190b1wiIFt0b3RhbF09XCJncmNPYmplY3Q/LnRvdGFsX2l0ZW1zXCIgW3BhZ2VDb3VudF09XCJncmNPYmplY3Q/LnRvdGFsX3BhZ2VzXCIgW2N1cnJlbnRQYWdlXT1cImN1cnJlbnRQYWdlXCIgKHNlbGVjdGVkUGFnZSk9XCJjaGFuZ2VQYWdlKCRldmVudClcIj48L2FwcC1wYWdpbmF0aW9uPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlbGVjdC1hbGwgdngtbXQtMSB2eC1tYi0xIHZ4LXBsLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8YXBwLWNzLWNoZWNrYm94IFtuZ1ZhbHVlXT1cImlzQWxsU2VsZWN0ZWQoKVwiIChuZ1ZhbHVlQ2hhbmdlKT1cInNlbGVjdEFsbCgkZXZlbnQpXCI+PGRpdiBjbGFzcz1cInZ4LWZzLTEyIHZ4LWZ3LTYwMCB2eC1sYWJlbC10eHRcIj57e3NlbGVjdEFsbEJ1dHRvbn19PC9kaXY+PC9hcHAtY3MtY2hlY2tib3g+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid29ya2Zsb3ctZ3JjLW9iamVjdC1saXN0LWJvZHktdGFibGVcIiBbY2xhc3Mud2l0aC1wYWdpbmF0aW9uXT1cImdyY09iamVjdD8udG90YWxfcGFnZXMgPiAxXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWhlYWRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtcm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LWZzLTEwIHZ4LWZ3LTUwMCB2eC1saC01IHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBzZXJpYWxcIj4jPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LWZzLTEwIHZ4LWZ3LTUwMCB2eC1saC01IHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBuYW1lXCI+TkFNRTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1mcy0xMCB2eC1mdy01MDAgdngtbGgtNSB2eC10dC11cHBlcmNhc2UgdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgcmVzcG9uc2liaWxpdHktY2VudGVyXCI+UkVTUE9OU0lCSUxJVFkgQ0VOVEVSPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1ib2R5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1yb3dcIiAqbmdGb3I9XCJsZXQgZ3JjIG9mIGdyY09iamVjdD8uZGF0YTsgbGV0IGkgPSBpbmRleFwiIFtjbGFzcy5hY3RpdmVdPVwic2VsZWN0ZWRHUkNJZHM/LmluY2x1ZGVzKGdyYz8uX2lkKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBzZXJpYWxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Itbm9cIiBbYXBwVG9vbHRpcF09XCJncmNPYmplY3Q/Lml0ZW1zX2Zyb20gKyBpXCIgcGxhY2VtZW50PVwiYm90dG9tXCIgZGVsYXk9XCIwXCIgdHlwZT1cImJsYWNrXCIgW3Rvb2x0aXBNYW5kYXRvcnldPVwidHJ1ZVwiPnt7Z3JjT2JqZWN0Py5pdGVtc19mcm9tICsgaX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFwcC1jcy1jaGVja2JveCBbbmdWYWx1ZV09XCJzZWxlY3RlZEdSQ0lkcz8uaW5jbHVkZXMoZ3JjPy5faWQpXCIgKG5nVmFsdWVDaGFuZ2UpPVwiZ2V0U2VsZWN0ZWRHUkMoZ3JjLCRldmVudClcIj48L2FwcC1jcy1jaGVja2JveD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBuYW1lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hbWUgdngtZnMtMTIgdngtbGFiZWwtdHh0XCIgW2FwcFRvb2x0aXBdPVwiZ3JjPy5uYW1lXCIgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIiBkZWxheT1cIjBcIiB0eXBlPVwiYmxhY2tcIiBbdG9vbHRpcE1hbmRhdG9yeV09XCJmYWxzZVwiPnt7Z3JjPy5uYW1lfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciByZXNwb25zaWJpbGl0eS1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmMtaW5uZXIgdngtZC1ibG9ja1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC13LTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZhbHVlIHZ4LWZzLTEyIHZ4LWxhYmVsLXR4dFwiIFthcHBUb29sdGlwXT1cImdyYz8ucmNEZXRhaWxzWzBdPy5yY19uYW1lXCIgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIiBkZWxheT1cIjBcIiB0eXBlPVwiYmxhY2tcIiBbdG9vbHRpcE1hbmRhdG9yeV09XCJmYWxzZVwiPnt7Z3JjPy5yY0RldGFpbHNbMF0/LnJjX25hbWV9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3aXRoaW4tcGFydCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCIgKm5nSWY9XCJncmM/LnJjRGV0YWlsc1swXT8ucGFyZW50X3JjX25hbWVzPy5sZW5ndGhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3aXRoaW4tYm94IHZ4LWZzLTkgdngtZnctNjAwIHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtbXItMiB2eC1saC0zIHZ4LXR4dC1ibHVlXCI+V2l0aGluPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2l0aGluLXZhbHVlIHZ4LWZzLTExIHZ4LXBhcmFncmFwaC10eHRcIiBbYXBwVG9vbHRpcF09XCJncmM/LnJjRGV0YWlsc1swXT8ucGFyZW50X3JjX25hbWVzPy5zbGljZSgpPy5yZXZlcnNlKCk/LmpvaW4oJyA+ICcpXCIgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIiBkZWxheT1cIjBcIiB0eXBlPVwiYmxhY2tcIiBbdG9vbHRpcE1hbmRhdG9yeV09XCJmYWxzZVwiPnt7Z3JjPy5yY0RldGFpbHNbMF0/LnBhcmVudF9yY19uYW1lcz8uc2xpY2UoKT8ucmV2ZXJzZSgpPy5qb2luKCcgPiAnKX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJncmM/LnJjRGV0YWlscz8ubGVuZ3RoID4gMVwiIGNsYXNzPVwicmMtY291bnQtYnRuIHZ4LWZzLTExIHZ4LXR4dC1ibHVlIHZ4LXAtMCB2eC1wbC0xIHZ4LXByLTEgdngtbS0wIHZ4LW1sLTMgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWNlbnRlclwiIGFwcFBvcG92ZXIgKGNsaWNrKT1cInJjQ291bnQucG9wb3ZlcigpXCIgcGxhY2VtZW50PVwicmlnaHRcIj4re3tncmM/LnJjRGV0YWlscz8ubGVuZ3RoIC0gMX19PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFwcC1wb3BvdmVyICNyY0NvdW50PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2YtYWN0aW9uLWxpc3RcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cImFjdGlvbi1pdGVtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCByY0RldGFpbHMgb2YgZ3JjPy5yY0RldGFpbHMgfCBzbGljZTogMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXZhdGFyLWNhcmRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1kLWJsb2NrIHZ4LXctMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2YWx1ZVwiIFthcHBUb29sdGlwXT1cInJjRGV0YWlscz8ucmNfbmFtZVwiIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCIgZGVsYXk9XCIwXCIgdHlwZT1cImJsYWNrXCIgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIj57e3JjRGV0YWlscz8ucmNfbmFtZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3aXRoaW5cIiAqbmdJZj1cInJjRGV0YWlscz8ucGFyZW50X3JjX25hbWVzPy5sZW5ndGhcIj4gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJibG9ja1wiPldJVEhJTjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2l0aGluLXZhbHVlIHZ4LWZzLTExIHZ4LXBhcmFncmFwaC10eHRcIiBbYXBwVG9vbHRpcF09XCJyY0RldGFpbHM/LnBhcmVudF9yY19uYW1lcz8uc2xpY2UoKT8ucmV2ZXJzZSgpPy5qb2luKCcgPiAnKVwiIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCIgZGVsYXk9XCIwXCIgdHlwZT1cImJsYWNrXCIgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIj57e3JjRGV0YWlscz8ucGFyZW50X3JjX25hbWVzPy5zbGljZSgpPy5yZXZlcnNlKCk/LmpvaW4oJyA+ICcpfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hcHAtcG9wb3Zlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxhcHAtbGlzdC1sb2FkZXIgKm5nSWY9XCJsb2FkZXJcIj48L2FwcC1saXN0LWxvYWRlcj5cclxuICAgICAgICAgICAgPGFwcC1uby1kYXRhICpuZ0lmPVwiZ3JjT2JqZWN0Py5kYXRhPy5sZW5ndGggPT09IDAgJiYgIWxvYWRlclwiIFtub0RhdGFJbWFnZV09XCJDRE5fTElOSz8ubm9EYXRhXCIgW25vRGF0YVRleHRdPVwiJ05vIGRhdGEgdG8gZGlzcGxheSdcIj48L2FwcC1uby1kYXRhPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8YXBwLWZsb2F0aW5nLWJhciBbc2VsZWN0ZWREYXRhXT1cInNlbGVjdGVkR1JDPy5sZW5ndGggPyBzZWxlY3RlZEdSQyA6IFtdXCIgKGNsb3NlTGlzdCk9XCJjbG9zZSgpXCIgKGNsb3NlRXZlbnQpPVwic2F2ZSgpXCIgW2Rpc3BsYXlFbGVtZW50S2V5XT1cIiduYW1lJ1wiIFtzaW5ndWxhclRleHRdPVwiJ0dSQyBPYmplY3Qgc2VsZWN0ZWQnXCIgW3BsdXJhbFRleHRdPVwiJ0dSQyBPYmplY3RzIHNlbGVjdGVkJ1wiIChkZWxldGVFdmVudCk9XCJkZWxldGVFdmVudCgkZXZlbnQpXCI+PC9hcHAtZmxvYXRpbmctYmFyPlxyXG5cclxuXHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+Il19
172
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JjLW9iamVjdC1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3dvcmtmbG93L3NoYXJlZC9jb21wb25lbnRzL2dyYy1vYmplY3QtbGlzdC9ncmMtb2JqZWN0LWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvd29ya2Zsb3cvc2hhcmVkL2NvbXBvbmVudHMvZ3JjLW9iamVjdC1saXN0L2dyYy1vYmplY3QtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFrQixNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUNsRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDbkYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDekUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzFELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQy9GLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFB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clxuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGbG9hdGluZ0Jhck1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZENvbXBvbmVudHMvZmxvYXRpbmctYmFyL2Zsb2F0aW5nLWJhci5tb2R1bGUnO1xyXG5pbXBvcnQgeyBGb3JtZ3JvdXBNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi91aS1raXQvZm9ybWdyb3VwL2Zvcm1ncm91cC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBQYWdpbmF0aW9uTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdWkta2l0L3BhZ2luYXRpb24vcGFnaW5hdGlvbi5tb2R1bGUnO1xyXG5pbXBvcnQgeyBQb3BvdmVyTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdWkta2l0L3BvcG92ZXIvcG9wb3Zlci5tb2R1bGUnO1xyXG5pbXBvcnQgeyBUb29sdGlwTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdWkta2l0L3Rvb2x0aXAvdG9vbHRpcC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBUYWJsZUNhcmRDb21wb25lbnQgfSBmcm9tICcuLi90YWJsZS1jYXJkL3RhYmxlLWNhcmQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTm9EYXRhTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdWkta2l0L25vLWRhdGEvbm8tZGF0YS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBMSU5LUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9jZG4tbGluay5jb25zdGFudCc7XHJcbmltcG9ydCB7IExpc3RMb2FkZXJNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWRDb21wb25lbnRzL2xpc3QtbG9hZGVyL2xpc3QtbG9hZGVyLm1vZHVsZSc7XHJcbmltcG9ydCB7IE9USEVSX0dSQ19DQVJEIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2dyY09iamVjdC5jb25zdGFudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1ncmMtb2JqZWN0LWxpc3QnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgUG9wb3Zlck1vZHVsZSxcclxuICAgIEZvcm1ncm91cE1vZHVsZSxcclxuICAgIFRvb2x0aXBNb2R1bGUsXHJcbiAgICBGbG9hdGluZ0Jhck1vZHVsZSxcclxuICAgIFBhZ2luYXRpb25Nb2R1bGUsXHJcbiAgICBUYWJsZUNhcmRDb21wb25lbnQsXHJcbiAgICBOb0RhdGFNb2R1bGUsXHJcbiAgICBMaXN0TG9hZGVyTW9kdWxlLFxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2dyYy1vYmplY3QtbGlzdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZ3JjLW9iamVjdC1saXN0LmNvbXBvbmVudC5sZXNzJ10sXHJcbiAgaW5wdXRzOiBbJ2dyY09iamVjdCcsICdjdXJyZW50UGFnZScsICdsb2FkZXInLCAndGFibGVDYXJkJywgJ3NlbGVjdGVkVGFiJ10sXHJcbiAgb3V0cHV0czogWydzYXZlT3RoZXJHUkMnLCAnY2xvc2VPdGhlckdSQycsICdnZXRPdGhlckdSQ09iamVjdHMnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEdyY09iamVjdExpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGFuaW1hdGlvbiE6IGJvb2xlYW47XHJcbiAgQ0ROX0xJTksgPSBMSU5LUztcclxuICB0YWJsZUNhcmQgPSBPVEhFUl9HUkNfQ0FSRDtcclxuICBsb2FkZXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBncmNPYmplY3Q6IGFueTtcclxuICBjdXJyZW50UGFnZTogbnVtYmVyID0gMTtcclxuICBzZWxlY3RlZEdSQzogYW55ID0gW107XHJcbiAgc2VsZWN0ZWRHUkNJZHM6IGFueSA9IFtdO1xyXG4gIHNlYXJjaFN0cmluZzogc3RyaW5nID0gJyc7XHJcbiAgcHJlU2VsZWN0ZWRHUkM6IGFueSA9IFtdO1xyXG4gIHNlbGVjdEFsbEJ1dHRvbjogJ1NlbGVjdCBBbGwnIHwgJ0Rlc2VsZWN0IEFsbCcgPSAnU2VsZWN0IEFsbCc7XHJcbiAgc2VsZWN0ZWRUYWI6IDAgfCAxIHwgMiB8IDMgPSAwO1xyXG5cclxuICBASW5wdXQoJ3NlbGVjdGVkR1JDJykgc2V0IHNldFNlbGVjdGVkR1JDKHNlbGVjdGVkR1JDOiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRHUkMgPSBzZWxlY3RlZEdSQztcclxuICAgIHRoaXMuc2VsZWN0ZWRHUkNJZHMgPSB0aGlzLmdldElkcyh0aGlzLnNlbGVjdGVkR1JDLCAnX2lkJyk7XHJcbiAgICB0aGlzLnByZVNlbGVjdGVkR1JDID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShzZWxlY3RlZEdSQykpO1xyXG4gIH1cclxuXHJcbiAgc2F2ZU90aGVyR1JDOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBjbG9zZU90aGVyR1JDOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBnZXRPdGhlckdSQ09iamVjdHM6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5hbmltYXRpb24gPSB0cnVlO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuYW5pbWF0aW9uID0gZmFsc2U7XHJcbiAgICB9LCAzMDApO1xyXG4gIH1cclxuXHJcbiAgZ2V0SWRzKHNlbGVjdGVkTGlzdDogQXJyYXk8YW55Piwga2V5OiBzdHJpbmcpIHtcclxuICAgIGxldCBpZHM6IEFycmF5PGFueT4gPSBbXTtcclxuICAgIGlmIChzZWxlY3RlZExpc3Q/Lmxlbmd0aCkge1xyXG4gICAgICBzZWxlY3RlZExpc3QuZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XHJcbiAgICAgICAgaWRzLnB1c2goZWxlbWVudFtrZXldKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gaWRzID8/IFtdO1xyXG4gIH1cclxuXHJcbiAgZ2V0U2VsZWN0ZWRHUkMoZ3JjOiBhbnksIGV2ZW50OiBhbnkpIHtcclxuICAgIGlmIChldmVudCkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkR1JDLnB1c2goZ3JjKTtcclxuICAgICAgdGhpcy5zZWxlY3RlZEdSQ0lkcy5wdXNoKGdyYz8uX2lkKTtcclxuICAgICAgdGhpcy51cGRhdGVUYWJTZWxlY3RlZENvdW50KHRydWUsIGdyYz8udHlwZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmRlbGV0ZUV2ZW50KGdyYyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBkZWxldGVFdmVudChncmM6IGFueSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZEdSQyA9IHRoaXMuc2VsZWN0ZWRHUkM/LmZpbHRlcihcclxuICAgICAgKHNlbGVjdGVkOiBhbnkpID0+IHNlbGVjdGVkPy5faWQgIT09IGdyYz8uX2lkXHJcbiAgICApO1xyXG4gICAgdGhpcy5zZWxlY3RlZEdSQ0lkcyA9IHRoaXMuc2VsZWN0ZWRHUkNJZHM/LmZpbHRlcihcclxuICAgICAgKHNlbGVjdGVkR1JDSWQ6IGFueSkgPT4gc2VsZWN0ZWRHUkNJZCAhPT0gZ3JjPy5faWRcclxuICAgICk7XHJcbiAgICB0aGlzLnVwZGF0ZVRhYlNlbGVjdGVkQ291bnQoZmFsc2UsIGdyYz8udHlwZSk7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVTZWFyY2goZXZlbnQ6IGFueSkge1xyXG4gICAgaWYgKHRoaXMuc2VhcmNoU3RyaW5nICE9IGV2ZW50KSB7XHJcbiAgICAgIHRoaXMuY3VycmVudFBhZ2UgPSAxO1xyXG4gICAgICB0aGlzLnNlYXJjaFN0cmluZyA9IGV2ZW50O1xyXG4gICAgICB0aGlzLmdldE90aGVyR1JDT2JqZWN0cy5lbWl0KHtcclxuICAgICAgICBwYWdlTm86IHRoaXMuY3VycmVudFBhZ2UsXHJcbiAgICAgICAgc2VhcmNoU3RyaW5nOiB0aGlzLnNlYXJjaFN0cmluZyxcclxuICAgICAgICB0eXBlOiB0aGlzLnNlbGVjdGVkVGFiLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNlbGVjdEFsbChldmVudDogYW55KSB7XHJcbiAgICB0aGlzLmdyY09iamVjdD8uZGF0YT8uZm9yRWFjaCgoZ3JjOiBhbnkpID0+IHtcclxuICAgICAgaWYgKGV2ZW50KSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLnNlbGVjdGVkR1JDSWRzLmluY2x1ZGVzKGdyYz8uX2lkKSkge1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZEdSQy5wdXNoKGdyYyk7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkR1JDSWRzLnB1c2goZ3JjPy5faWQpO1xyXG4gICAgICAgICAgdGhpcy51cGRhdGVUYWJTZWxlY3RlZENvdW50KHRydWUsIGdyYz8udHlwZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuZGVsZXRlRXZlbnQoZ3JjKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVUYWJTZWxlY3RlZENvdW50KGV2ZW50OiBib29sZWFuLCB0eXBlOiBudW1iZXIpIHtcclxuICAgIGlmIChldmVudCkge1xyXG4gICAgICB0aGlzLnRhYmxlQ2FyZFt0eXBlXS5zZWxlY3RlZENvdW50Kys7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnRhYmxlQ2FyZFt0eXBlXS5zZWxlY3RlZENvdW50XHJcbiAgICAgICAgPyB0aGlzLnRhYmxlQ2FyZFt0eXBlXS5zZWxlY3RlZENvdW50LS1cclxuICAgICAgICA6IDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpc0FsbFNlbGVjdGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLnNlbGVjdGVkR1JDSWRzICYmXHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRHUkNJZHMubGVuZ3RoID49IHRoaXMuZ3JjT2JqZWN0Py5kYXRhPy5sZW5ndGggJiZcclxuICAgICAgdGhpcy5zZWxlY3RlZEdSQ0lkcy5sZW5ndGggPiAwXHJcbiAgICApIHtcclxuICAgICAgZm9yIChjb25zdCBncmMgb2YgdGhpcy5ncmNPYmplY3Q/LmRhdGEpIHtcclxuICAgICAgICBpZiAoIXRoaXMuc2VsZWN0ZWRHUkNJZHMuaW5jbHVkZXMoZ3JjPy5faWQpKSB7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdEFsbEJ1dHRvbiA9ICdTZWxlY3QgQWxsJztcclxuICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5zZWxlY3RBbGxCdXR0b24gPSAnRGVzZWxlY3QgQWxsJztcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNlbGVjdEFsbEJ1dHRvbiA9ICdTZWxlY3QgQWxsJztcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuICBzYXZlKCkge1xyXG4gICAgdGhpcy5zYXZlT3RoZXJHUkMuZW1pdCh0aGlzLnNlbGVjdGVkR1JDKTtcclxuICB9XHJcblxyXG4gIGNsb3NlKCkge1xyXG4gICAgdGhpcy5jbG9zZU90aGVyR1JDLmVtaXQodGhpcy5wcmVTZWxlY3RlZEdSQyk7XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VQYWdlKGV2ZW50OiBudW1iZXIpIHtcclxuICAgIHRoaXMuY3VycmVudFBhZ2UgPSBldmVudDtcclxuICAgIHRoaXMuZ3JjT2JqZWN0LmN1cnJlbnRQYWdlID0gZXZlbnQ7XHJcbiAgICB0aGlzLmdldE90aGVyR1JDT2JqZWN0cy5lbWl0KHtcclxuICAgICAgcGFnZU5vOiB0aGlzLmN1cnJlbnRQYWdlLFxyXG4gICAgICBzZWFyY2hTdHJpbmc6IHRoaXMuc2VhcmNoU3RyaW5nLFxyXG4gICAgICB0eXBlOiB0aGlzLnNlbGVjdGVkVGFiLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzZXRTZWxlY3RlZFRhYihldmVudDogYW55KSB7XHJcbiAgICB0aGlzLmdyY09iamVjdC5jdXJyZW50UGFnZSA9IDE7XHJcbiAgICB0aGlzLmN1cnJlbnRQYWdlID0gMTtcclxuICAgIHRoaXMuc2VsZWN0ZWRUYWIgPSBldmVudD8udHlwZTtcclxuICAgIHRoaXMuZ2V0T3RoZXJHUkNPYmplY3RzLmVtaXQoe1xyXG4gICAgICBwYWdlTm86IHRoaXMuY3VycmVudFBhZ2UsXHJcbiAgICAgIHNlYXJjaFN0cmluZzogdGhpcy5zZWFyY2hTdHJpbmcsXHJcbiAgICAgIHR5cGU6IGV2ZW50Py50eXBlLFxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJ3b3JrZmxvdy1ncmMtb2JqZWN0LWxpc3RcIiBbY2xhc3MuYW5pbWF0ZV09XCJhbmltYXRpb25cIj5cclxuICAgIDxkaXYgY2xhc3M9XCJ3b3JrZmxvdy1ncmMtb2JqZWN0LWxpc3QtaGVhZCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktYmV0d2VlbiB2eC1wbC00IHZ4LXByLTRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidngtZnMtMTQgdngtZnctNTAwIHZ4LWxhYmVsLXR4dFwiPlNlbGVjdCBHUkMgT2JqZWN0KHMpPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJ3b3JrZmxvdy1ncmMtb2JqZWN0LWxpc3QtYm9keVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1jYXJkLWFyZWEgdngtZC1mbGV4IHZ4LW1iLTJcIj5cclxuXHRcdFx0PGFwcC10YWJsZS1jYXJkIGNsYXNzPVwidngtdy0xMDBcIiBbdGFibGVDYXJkXT1cInRhYmxlQ2FyZFwiIFtzaW5nbGVTZWxlY3RlZFRleHRdPVwiJ0dSQyBPYmplY3QgU2VsZWN0ZWQnXCIgW3NlbGVjdGVkVGFiXT1cInNlbGVjdGVkVGFiXCIgW211bHRpcGxlU2VsZWN0ZWRUZXh0XT1cIidHUkMgT2JqZWN0cyBTZWxlY3RlZCdcIiAoc2V0U2VsZWN0ZWRUYWIpPVwic2V0U2VsZWN0ZWRUYWIoJGV2ZW50KVwiPjwvYXBwLXRhYmxlLWNhcmQ+XHJcblx0XHQ8L2Rpdj5cclxuICAgICAgICBcclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoLWJsb2NrXCI+XHJcbiAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbnNcIj4mI3hlOTBiOzwvaT5cclxuICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgI3NlYXJjaEdSQyAoa2V5dXAuZW50ZXIpPVwiaGFuZGxlU2VhcmNoKCRldmVudC50YXJnZXQudmFsdWUpXCJcclxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU2VhcmNoIEdSQyBvYmplY3RzXCIgLz5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIndvcmtmbG93LWdyYy1vYmplY3QtbGlzdC1ib2R5LWlubmVyIHZ4LW1iLTRcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFsb2FkZXIgJiYgZ3JjT2JqZWN0Py5kYXRhPy5sZW5ndGhcIj5cclxuICAgICAgICAgICAgICAgIDxhcHAtcGFnaW5hdGlvbiAqbmdJZj1cImdyY09iamVjdD8udG90YWxfcGFnZXMgPiAxXCIgW3N0YXJ0XT1cImdyY09iamVjdD8uaXRlbXNfZnJvbVwiIFtlbmRdPVwiZ3JjT2JqZWN0Py5pdGVtc190b1wiIFt0b3RhbF09XCJncmNPYmplY3Q/LnRvdGFsX2l0ZW1zXCIgW3BhZ2VDb3VudF09XCJncmNPYmplY3Q/LnRvdGFsX3BhZ2VzXCIgW2N1cnJlbnRQYWdlXT1cImN1cnJlbnRQYWdlXCIgKHNlbGVjdGVkUGFnZSk9XCJjaGFuZ2VQYWdlKCRldmVudClcIj48L2FwcC1wYWdpbmF0aW9uPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlbGVjdC1hbGwgdngtbXQtMSB2eC1tYi0xIHZ4LXBsLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8YXBwLWNzLWNoZWNrYm94IFtuZ1ZhbHVlXT1cImlzQWxsU2VsZWN0ZWQoKVwiIChuZ1ZhbHVlQ2hhbmdlKT1cInNlbGVjdEFsbCgkZXZlbnQpXCI+PGRpdiBjbGFzcz1cInZ4LWZzLTEyIHZ4LWZ3LTYwMCB2eC1sYWJlbC10eHRcIj57e3NlbGVjdEFsbEJ1dHRvbn19PC9kaXY+PC9hcHAtY3MtY2hlY2tib3g+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid29ya2Zsb3ctZ3JjLW9iamVjdC1saXN0LWJvZHktdGFibGVcIiBbY2xhc3Mud2l0aC1wYWdpbmF0aW9uXT1cImdyY09iamVjdD8udG90YWxfcGFnZXMgPiAxXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWhlYWRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtcm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LWZzLTEwIHZ4LWZ3LTUwMCB2eC1saC01IHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBzZXJpYWxcIj4jPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LWZzLTEwIHZ4LWZ3LTUwMCB2eC1saC01IHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBuYW1lXCI+TkFNRTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1mcy0xMCB2eC1mdy01MDAgdngtbGgtNSB2eC10dC11cHBlcmNhc2UgdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgcmVzcG9uc2liaWxpdHktY2VudGVyXCI+UkVTUE9OU0lCSUxJVFkgQ0VOVEVSPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1ib2R5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1yb3dcIiAqbmdGb3I9XCJsZXQgZ3JjIG9mIGdyY09iamVjdD8uZGF0YTsgbGV0IGkgPSBpbmRleFwiIFtjbGFzcy5hY3RpdmVdPVwic2VsZWN0ZWRHUkNJZHM/LmluY2x1ZGVzKGdyYz8uX2lkKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBzZXJpYWxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Itbm9cIiBbYXBwVG9vbHRpcF09XCJncmNPYmplY3Q/Lml0ZW1zX2Zyb20gKyBpXCIgcGxhY2VtZW50PVwiYm90dG9tXCIgZGVsYXk9XCIwXCIgdHlwZT1cImJsYWNrXCIgW3Rvb2x0aXBNYW5kYXRvcnldPVwidHJ1ZVwiPnt7Z3JjT2JqZWN0Py5pdGVtc19mcm9tICsgaX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFwcC1jcy1jaGVja2JveCBbbmdWYWx1ZV09XCJzZWxlY3RlZEdSQ0lkcz8uaW5jbHVkZXMoZ3JjPy5faWQpXCIgKG5nVmFsdWVDaGFuZ2UpPVwiZ2V0U2VsZWN0ZWRHUkMoZ3JjLCRldmVudClcIj48L2FwcC1jcy1jaGVja2JveD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBuYW1lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hbWUgdngtZnMtMTIgdngtbGFiZWwtdHh0XCIgW2FwcFRvb2x0aXBdPVwiZ3JjPy5uYW1lXCIgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIiBkZWxheT1cIjBcIiB0eXBlPVwiYmxhY2tcIiBbdG9vbHRpcE1hbmRhdG9yeV09XCJmYWxzZVwiPnt7Z3JjPy5uYW1lfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciByZXNwb25zaWJpbGl0eS1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmMtaW5uZXIgdngtZC1ibG9ja1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC13LTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZhbHVlIHZ4LWZzLTEyIHZ4LWxhYmVsLXR4dFwiIFthcHBUb29sdGlwXT1cImdyYz8ucmNEZXRhaWxzWzBdPy5yY19uYW1lXCIgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIiBkZWxheT1cIjBcIiB0eXBlPVwiYmxhY2tcIiBbdG9vbHRpcE1hbmRhdG9yeV09XCJmYWxzZVwiPnt7Z3JjPy5yY0RldGFpbHNbMF0/LnJjX25hbWV9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3aXRoaW4tcGFydCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCIgKm5nSWY9XCJncmM/LnJjRGV0YWlsc1swXT8ucGFyZW50X3JjX25hbWVzPy5sZW5ndGhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3aXRoaW4tYm94IHZ4LWZzLTkgdngtZnctNjAwIHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtbXItMiB2eC1saC0zIHZ4LXR4dC1ibHVlXCI+V2l0aGluPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2l0aGluLXZhbHVlIHZ4LWZzLTExIHZ4LXBhcmFncmFwaC10eHRcIiBbYXBwVG9vbHRpcF09XCJncmM/LnJjRGV0YWlsc1swXT8ucGFyZW50X3JjX25hbWVzPy5zbGljZSgpPy5yZXZlcnNlKCk/LmpvaW4oJyA+ICcpXCIgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIiBkZWxheT1cIjBcIiB0eXBlPVwiYmxhY2tcIiBbdG9vbHRpcE1hbmRhdG9yeV09XCJmYWxzZVwiPnt7Z3JjPy5yY0RldGFpbHNbMF0/LnBhcmVudF9yY19uYW1lcz8uc2xpY2UoKT8ucmV2ZXJzZSgpPy5qb2luKCcgPiAnKX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJncmM/LnJjRGV0YWlscz8ubGVuZ3RoID4gMVwiIGNsYXNzPVwicmMtY291bnQtYnRuIHZ4LWZzLTExIHZ4LXR4dC1ibHVlIHZ4LXAtMCB2eC1wbC0xIHZ4LXByLTEgdngtbS0wIHZ4LW1sLTMgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWNlbnRlclwiIGFwcFBvcG92ZXIgKGNsaWNrKT1cInJjQ291bnQucG9wb3ZlcigpXCIgcGxhY2VtZW50PVwicmlnaHRcIj4re3tncmM/LnJjRGV0YWlscz8ubGVuZ3RoIC0gMX19PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFwcC1wb3BvdmVyICNyY0NvdW50PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2YtYWN0aW9uLWxpc3RcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cImFjdGlvbi1pdGVtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCByY0RldGFpbHMgb2YgZ3JjPy5yY0RldGFpbHMgfCBzbGljZTogMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXZhdGFyLWNhcmRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1kLWJsb2NrIHZ4LXctMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2YWx1ZVwiIFthcHBUb29sdGlwXT1cInJjRGV0YWlscz8ucmNfbmFtZVwiIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCIgZGVsYXk9XCIwXCIgdHlwZT1cImJsYWNrXCIgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIj57e3JjRGV0YWlscz8ucmNfbmFtZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3aXRoaW5cIiAqbmdJZj1cInJjRGV0YWlscz8ucGFyZW50X3JjX25hbWVzPy5sZW5ndGhcIj4gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJibG9ja1wiPldJVEhJTjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2l0aGluLXZhbHVlIHZ4LWZzLTExIHZ4LXBhcmFncmFwaC10eHRcIiBbYXBwVG9vbHRpcF09XCJyY0RldGFpbHM/LnBhcmVudF9yY19uYW1lcz8uc2xpY2UoKT8ucmV2ZXJzZSgpPy5qb2luKCcgPiAnKVwiIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCIgZGVsYXk9XCIwXCIgdHlwZT1cImJsYWNrXCIgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIj57e3JjRGV0YWlscz8ucGFyZW50X3JjX25hbWVzPy5zbGljZSgpPy5yZXZlcnNlKCk/LmpvaW4oJyA+ICcpfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hcHAtcG9wb3Zlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxhcHAtbGlzdC1sb2FkZXIgKm5nSWY9XCJsb2FkZXJcIj48L2FwcC1saXN0LWxvYWRlcj5cclxuICAgICAgICAgICAgPGFwcC1uby1kYXRhICpuZ0lmPVwiZ3JjT2JqZWN0Py5kYXRhPy5sZW5ndGggPT09IDAgJiYgIWxvYWRlclwiIFtub0RhdGFJbWFnZV09XCJDRE5fTElOSz8ubm9EYXRhXCIgW25vRGF0YVRleHRdPVwiJ05vIGRhdGEgdG8gZGlzcGxheSdcIj48L2FwcC1uby1kYXRhPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8YXBwLWZsb2F0aW5nLWJhciBbc2VsZWN0ZWREYXRhXT1cInNlbGVjdGVkR1JDPy5sZW5ndGggPyBzZWxlY3RlZEdSQyA6IFtdXCIgKGNsb3NlTGlzdCk9XCJjbG9zZSgpXCIgKGNsb3NlRXZlbnQpPVwic2F2ZSgpXCIgW2Rpc3BsYXlFbGVtZW50S2V5XT1cIiduYW1lJ1wiIFtzaW5ndWxhclRleHRdPVwiJ0dSQyBPYmplY3Qgc2VsZWN0ZWQnXCIgW3BsdXJhbFRleHRdPVwiJ0dSQyBPYmplY3RzIHNlbGVjdGVkJ1wiIChkZWxldGVFdmVudCk9XCJkZWxldGVFdmVudCgkZXZlbnQpXCI+PC9hcHAtZmxvYXRpbmctYmFyPlxyXG5cclxuXHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+Il19
@@ -132,6 +132,21 @@ export class GrcResponsibilityListingComponent {
132
132
  }
133
133
  return categoryIndex;
134
134
  }
135
+ deleteSelectedRisk(categoryId, risk) {
136
+ const categoryIndex = this.findCheckedCategoryIndex(categoryId);
137
+ if (categoryIndex !== -1) {
138
+ // Category exists, update risk value
139
+ const riskIndex = this.selectedCatAndRisk[categoryIndex]?.risks?.findIndex((item) => item?._id === risk?._id);
140
+ if (riskIndex !== -1) {
141
+ this.selectedCatAndRisk[categoryIndex]?.risks.splice(riskIndex, 1);
142
+ }
143
+ if (this.selectedCatAndRisk[categoryIndex]?.risks?.length === 0) {
144
+ // Remove category if selectedListData is empty
145
+ this.selectedCatAndRisk.splice(categoryIndex, 1);
146
+ }
147
+ }
148
+ this.changeSelectedCatAndRisk.emit(this.selectedCatAndRisk);
149
+ }
135
150
  }
136
151
  GrcResponsibilityListingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: GrcResponsibilityListingComponent, deps: [{ token: i1.Configurations, optional: true }], target: i0.ɵɵFactoryTarget.Component });
137
152
  GrcResponsibilityListingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: GrcResponsibilityListingComponent, isStandalone: true, selector: "app-grc-responsibility-listing", inputs: { tableCard: "tableCard", activeCategory: "activeCategory", headerText: "headerText", currentPage: "currentPage", perPageLimit: "perPageLimit", totalListData: "totalListData", totalPages: "totalPages", selectedListData: "selectedListData", selectedListDataIds: "selectedListDataIds", selectedCatAndRisk: "selectedCatAndRisk", risksList: ["dataList", "risksList"], getSelectedCatAndRisk: ["selectedCatAndRisk", "getSelectedCatAndRisk"] }, outputs: { getUpdatedDataList: "getUpdatedDataList", changeSelectedCatAndRisk: "changeSelectedCatAndRisk" }, ngImport: i0, template: "<div class=\"grc-responsibility-listing\">\r\n <div class=\"top-heading vx-pl-2 vx-mb-2 vx-d-flex vx-align-center\">\r\n <app-cs-checkbox *ngIf=\"isAllSelected() || selectedListDataIds?.length === 0\" [ngValue]=\"isAllSelected()\" (ngValueChange)=\"selectAll($event)\"></app-cs-checkbox>\r\n <app-cs-checkbox-indeterminate *ngIf=\"!isAllSelected() && selectedListDataIds?.length\" [ngValue]=\"true\" (ngValueChange)=\"selectAll(false)\"></app-cs-checkbox-indeterminate>\r\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-ml-2 vx-lh-4\">{{headerText}}</div>\r\n </div>\r\n <div class=\"grc-responsibility-listing-inner\">\r\n <div class=\"grc-responsibility-table-body\" [class.with-pagination]=\"totalPages > 1\">\r\n <div class=\"grc-responsibility-table-row\" *ngFor=\"let list of dataList; let i = index\" [class.active]=\"selectedListDataIds?.includes(list?._id)\">\r\n <div class=\"grc-responsibility-table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\">\r\n <div class=\"sr-no\" [appTooltip]=\"(perPageLimit * (currentPage - 1)) + i + 1\" placement=\"bottom\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">{{(perPageLimit * (currentPage - 1)) + i + 1}}</div>\r\n <app-cs-checkbox [ngValue]=\"selectedListDataIds?.includes(list?._id)\" (ngValueChange)=\"getSelectedData(list,$event)\"></app-cs-checkbox>\r\n </div>\r\n <div class=\"grc-responsibility-table-column vx-pr-1 vx-d-flex vx-align-center responsibility-name\">\r\n <div class=\"vx-avatar-group vx-mr-1\">\r\n <div class=\"vx-avatar md\" [appTooltip]=\"list?.entrustedBy?.name\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">\r\n <span *ngIf=\"list?.entrustedBy?.profilePic?.length === ''\" class=\"blue\">{{list.entrustedBy?.shortName}}</span>\r\n <img *ngIf=\"list?.entrustedBy?.profilePic?.length !== ''\" src=\"{{profilePic + list?.entrustedBy?.profilePic}}\" alt=\"\">\r\n </div>\r\n <div *ngIf=\"false\" class=\"vx-avatar md\" [appTooltip]=\"'Harshvardhan Kariwala'\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">\r\n <span class=\"blue\">hk</span>\r\n <img *ngIf=\"false\" src=\"https://s3-eu-west-1.amazonaws.com/eu.v-comply.com/profile_pic/thumb/1672222891690_ProfilePicture.png\" alt=\"\">\r\n </div>\r\n <div *ngIf=\"false\" class=\"vx-avatar md counter\" appPopover (click)=\"multiUser.popover()\" placement=\"left\">\r\n <span class=\"green\">+99</span>\r\n </div>\r\n <app-popover #multiUser>\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let data of [1, 1, 1, 1, 1, 1, 1]\">\r\n <div class=\"avatar-card\">\r\n <div class=\"avatar\">hk</div>\r\n <div *ngIf=\"false\" class=\"avatar\"><img src=\"https://s3-eu-west-1.amazonaws.com/eu.v-comply.com/profile_pic/thumb/1672222891690_ProfilePicture.png\" alt=\"\"></div>\r\n <span class=\"value\" [appTooltip]=\"'Harshvardhan Kariwala'\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">Harshvardhan Kariwala</span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </div>\r\n <!-- <i class=\"icons star vx-fs-10 vx-mr-1\" [class.active]=\"true\">&#xea70;</i> -->\r\n <div class=\"name-inner\">\r\n <div class=\"vx-d-flex vx-align-center\">\r\n <div class=\"id vx-fs-10 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mr-1\">{{list?.controlId}}</div>\r\n <div class=\"name vx-fs-13 vx-label-txt\" [appTooltip]=\"list?.name\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{list?.name}}</div>\r\n </div>\r\n <div class=\"vx-d-flex vx-align-center\" *ngIf=\"list?.withinData?.name\">\r\n <div class=\"vx-fs-10 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mr-1\">RESPONSIBILITY CENTER:</div>\r\n <div class=\"within-part vx-d-flex vx-align-center vx-pr-3\">\r\n <div class=\"within-box vx-fs-9 vx-fw-600 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2 vx-lh-3\">Within</div>\r\n <div class=\"within-value vx-fs-11 vx-paragraph-txt\" [appTooltip]=\"'Management direction for information > Information Security'\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">Management direction for information > Information Security</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <app-pagination *ngIf=\"totalPages > 1\" [start]=\"perPageLimit * (currentPage - 1) + 1\" [end]=\"perPageLimit * currentPage\" [total]=\"totalListData\" [pageCount]=\"totalPages\" [currentPage]=\"currentPage\" (selectedPage)=\"changePage($event)\"></app-pagination>\r\n </div>\r\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 - 19rem);overflow:hidden}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body{overflow:hidden;overflow-y:auto;height:calc(100vh - 19rem)}::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:#ffffff;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"] }, { kind: "directive", type: i4.PopoverDirective, selector: "[appPopover]", inputs: ["refrence", "placement"] }, { kind: "ngmodule", type: FormgroupModule }, { kind: "component", type: i5.CsCheckboxComponent, selector: "app-cs-checkbox", inputs: ["disabled", "ngValue", "value"], outputs: ["ngValueChange"] }, { kind: "component", type: i6.CsCheckboxIndeterminateComponent, 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.PaginationComponent, selector: "app-pagination", inputs: ["activeAlphabet", "pageCount", "start", "end", "total", "currentPage"], outputs: ["selectedPage", "selectedAlphabet"] }] });
@@ -169,4 +184,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
169
184
  }], changeSelectedCatAndRisk: [{
170
185
  type: Output
171
186
  }] } });
172
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvd29ya2Zsb3cvc2hhcmVkL2NvbXBvbmVudHMvZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcvZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvd29ya2Zsb3cvc2hhcmVkL2NvbXBvbmVudHMvZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcvZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxRQUFRLEVBQ1IsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNoRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUNuRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJDQUEyQyxDQUFDOzs7Ozs7Ozs7O0FBNkIxRSxNQUFNLE9BQU8saUNBQWlDO0lBMEI1QyxZQUF3QixNQUF1QjtRQXpCL0MsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUVoQixhQUFRLEdBQVEsRUFBRSxDQUFDO1FBQ25CLGVBQVUsR0FBVyxNQUFNLENBQUM7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Q3hELENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssS0FBSyxVQUFVLENBQ3ZDLENBQUM7WUFDRixJQUFJLGFBQWEsRUFBRTtnQkFDakIsYUFBYSxHQUFHLENBQUMsQ0FBQztnQkFDbEIsTUFBTTthQUNQO1NBQ0Y7UUFDRCxPQUFPLGFBQWEsQ0FBQztJQUN2QixDQUFDOzs4SEEvSVUsaUNBQWlDO2tIQUFqQyxpQ0FBaUMscW9CQzFDOUMsNnJMQTJETSxpcVdEdkNGLFlBQVksK1BBQ1osYUFBYSxzUEFDYixlQUFlLHlXQUNmLGFBQWEscU1BQ2IsaUJBQWlCLDhCQUNqQixnQkFBZ0I7MkZBaUJQLGlDQUFpQztrQkExQjdDLFNBQVM7K0JBQ0UsZ0NBQWdDLGNBQzlCLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixhQUFhO3dCQUNiLGlCQUFpQjt3QkFDakIsZ0JBQWdCO3FCQUNqQixVQUdPO3dCQUNOLFdBQVc7d0JBQ1gsZ0JBQWdCO3dCQUNoQixZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxlQUFlO3dCQUNmLFlBQVk7d0JBQ1osa0JBQWtCO3dCQUNsQixxQkFBcUI7d0JBQ3JCLG9CQUFvQjtxQkFDckI7OzBCQTRCWSxRQUFROzRDQVpFLFNBQVM7c0JBQS9CLEtBQUs7dUJBQUMsVUFBVTtnQkFJZ0IscUJBQXFCO3NCQUFyRCxLQUFLO3VCQUFDLG9CQUFvQjtnQkFLakIsa0JBQWtCO3NCQUEzQixNQUFNO2dCQUNHLHdCQUF3QjtzQkFBakMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgT3B0aW9uYWwsXHJcbiAgT3V0cHV0LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGbG9hdGluZ0Jhck1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZENvbXBvbmVudHMvZmxvYXRpbmctYmFyL2Zsb2F0aW5nLWJhci5tb2R1bGUnO1xyXG5pbXBvcnQgeyBGb3JtZ3JvdXBNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi91aS1raXQvZm9ybWdyb3VwL2Zvcm1ncm91cC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBQYWdpbmF0aW9uTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdWkta2l0L3BhZ2luYXRpb24vcGFnaW5hdGlvbi5tb2R1bGUnO1xyXG5pbXBvcnQgeyBQb3BvdmVyTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdWkta2l0L3BvcG92ZXIvcG9wb3Zlci5tb2R1bGUnO1xyXG5pbXBvcnQgeyBUb29sdGlwTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdWkta2l0L3Rvb2x0aXAvdG9vbHRpcC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBDb25maWd1cmF0aW9ucyB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbmZpZ3VyYXRpb25zJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWdyYy1yZXNwb25zaWJpbGl0eS1saXN0aW5nJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIFBvcG92ZXJNb2R1bGUsXHJcbiAgICBGb3JtZ3JvdXBNb2R1bGUsXHJcbiAgICBUb29sdGlwTW9kdWxlLFxyXG4gICAgRmxvYXRpbmdCYXJNb2R1bGUsXHJcbiAgICBQYWdpbmF0aW9uTW9kdWxlLFxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2dyYy1yZXNwb25zaWJpbGl0eS1saXN0aW5nLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9ncmMtcmVzcG9uc2liaWxpdHktbGlzdGluZy5jb21wb25lbnQubGVzcyddLFxyXG4gIGlucHV0czogW1xyXG4gICAgJ3RhYmxlQ2FyZCcsXHJcbiAgICAnYWN0aXZlQ2F0ZWdvcnknLFxyXG4gICAgJ2hlYWRlclRleHQnLFxyXG4gICAgJ2N1cnJlbnRQYWdlJyxcclxuICAgICdwZXJQYWdlTGltaXQnLFxyXG4gICAgJ3RvdGFsTGlzdERhdGEnLFxyXG4gICAgJ3RvdGFsUGFnZXMnLFxyXG4gICAgJ3NlbGVjdGVkTGlzdERhdGEnLFxyXG4gICAgJ3NlbGVjdGVkTGlzdERhdGFJZHMnLFxyXG4gICAgJ3NlbGVjdGVkQ2F0QW5kUmlzaycsXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEdyY1Jlc3BvbnNpYmlsaXR5TGlzdGluZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgcHJvZmlsZVBpYyA9ICcnO1xyXG4gIGVudjogYW55O1xyXG4gIGRhdGFMaXN0OiBhbnkgPSBbXTtcclxuICBoZWFkZXJUZXh0OiBzdHJpbmcgPSAnTmFtZSc7XHJcbiAgc2VsZWN0ZWRMaXN0RGF0YTogYW55ID0gW107XHJcbiAgc2VsZWN0ZWRMaXN0RGF0YUlkczogYW55ID0gW107XHJcbiAgcGVyUGFnZUxpbWl0OiBudW1iZXIgPSAzMDtcclxuICBjdXJyZW50UGFnZTogbnVtYmVyID0gMTtcclxuICB0b3RhbFBhZ2VzOiBudW1iZXIgPSAxO1xyXG4gIHRvdGFsTGlzdERhdGE6IG51bWJlciA9IDA7XHJcbiAgc2VsZWN0ZWRDYXRBbmRSaXNrOiBhbnkgPSBbXTtcclxuICBhY3RpdmVDYXRlZ29yeTogYW55ID0ge307XHJcblxyXG4gIEBJbnB1dCgnZGF0YUxpc3QnKSBzZXQgcmlza3NMaXN0KHZhbHVlOiBhbnkpIHtcclxuICAgIHRoaXMuZGF0YUxpc3QgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgnc2VsZWN0ZWRDYXRBbmRSaXNrJykgc2V0IGdldFNlbGVjdGVkQ2F0QW5kUmlzayh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkQ2F0QW5kUmlzayA9IHZhbHVlO1xyXG4gICAgdGhpcy5nZXRTZWxlY3RlZERhdGFBbmRJZHModmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgQE91dHB1dCgpIGdldFVwZGF0ZWREYXRhTGlzdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGNoYW5nZVNlbGVjdGVkQ2F0QW5kUmlzazogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIGNvbmZpZz86IENvbmZpZ3VyYXRpb25zKSB7XHJcbiAgICB0aGlzLmVudiA9IGNvbmZpZz8uZW52Q29uZmlnO1xyXG4gICAgdGhpcy5wcm9maWxlUGljID0gdGhpcy5lbnYuczNVcmwgKyB0aGlzLmVudi5zM0J1Y2tldCArIHRoaXMuZW52LnByb2ZpbGU7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XHJcblxyXG4gIGdldFNlbGVjdGVkRGF0YShyZXNwb25zaWJpbGl0eTogYW55LCBldmVudDogYW55KSB7XHJcbiAgICBpZiAoZXZlbnQpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZExpc3REYXRhLnB1c2gocmVzcG9uc2liaWxpdHkpO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkTGlzdERhdGFJZHMucHVzaChyZXNwb25zaWJpbGl0eT8uX2lkKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZGVsZXRlRXZlbnQocmVzcG9uc2liaWxpdHkpO1xyXG4gICAgfVxyXG4gICAgdGhpcy51cGRhdGVPckNyZWF0ZUNhdGVnb3J5KFxyXG4gICAgICB0aGlzLmFjdGl2ZUNhdGVnb3J5Py5jYXRlZ29yeV9pZCxcclxuICAgICAgdGhpcy5hY3RpdmVDYXRlZ29yeVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZUV2ZW50KHJlc3BvbnNpYmlsaXR5OiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRMaXN0RGF0YSA9IHRoaXMuc2VsZWN0ZWRMaXN0RGF0YT8uZmlsdGVyKFxyXG4gICAgICAoc2VsZWN0ZWQ6IGFueSkgPT4gc2VsZWN0ZWQ/Ll9pZCAhPT0gcmVzcG9uc2liaWxpdHk/Ll9pZFxyXG4gICAgKTtcclxuICAgIHRoaXMuc2VsZWN0ZWRMaXN0RGF0YUlkcyA9IHRoaXMuc2VsZWN0ZWRMaXN0RGF0YUlkcz8uZmlsdGVyKFxyXG4gICAgICAoc2VsZWN0ZWRMaXN0RGF0YUlkOiBhbnkpID0+IHNlbGVjdGVkTGlzdERhdGFJZCAhPT0gcmVzcG9uc2liaWxpdHk/Ll9pZFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHNlbGVjdEFsbChldmVudDogYW55KSB7XHJcbiAgICB0aGlzLmRhdGFMaXN0Py5mb3JFYWNoKChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgaWYgKGV2ZW50KSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLnNlbGVjdGVkTGlzdERhdGFJZHMuaW5jbHVkZXMoZGF0YT8uX2lkKSkge1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZExpc3REYXRhLnB1c2goZGF0YSk7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkTGlzdERhdGFJZHMucHVzaChkYXRhPy5faWQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmRlbGV0ZUV2ZW50KGRhdGEpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMudXBkYXRlT3JDcmVhdGVDYXRlZ29yeShcclxuICAgICAgdGhpcy5hY3RpdmVDYXRlZ29yeT8uY2F0ZWdvcnlfaWQsXHJcbiAgICAgIHRoaXMuYWN0aXZlQ2F0ZWdvcnlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBpc0FsbFNlbGVjdGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLnNlbGVjdGVkTGlzdERhdGFJZHMgJiZcclxuICAgICAgdGhpcy5zZWxlY3RlZExpc3REYXRhSWRzLmxlbmd0aCA+PSB0aGlzLnNlbGVjdGVkTGlzdERhdGE/Lmxlbmd0aCAmJlxyXG4gICAgICB0aGlzLnNlbGVjdGVkTGlzdERhdGFJZHMubGVuZ3RoID4gMFxyXG4gICAgKSB7XHJcbiAgICAgIGZvciAoY29uc3QgZ3JjIG9mIHRoaXMuZGF0YUxpc3QpIHtcclxuICAgICAgICBpZiAoIXRoaXMuc2VsZWN0ZWRMaXN0RGF0YUlkcy5pbmNsdWRlcyhncmM/Ll9pZCkpIHtcclxuICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VQYWdlKGV2ZW50OiBudW1iZXIpIHtcclxuICAgIHRoaXMuY3VycmVudFBhZ2UgPSBldmVudDtcclxuICAgIHRoaXMuZ2V0VXBkYXRlZERhdGFMaXN0LmVtaXQoe1xyXG4gICAgICBwYWdlTm86IHRoaXMuY3VycmVudFBhZ2UsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZU9yQ3JlYXRlQ2F0ZWdvcnkoY2F0ZWdvcnlJZDogbnVtYmVyLCBjYXRlZ29yeTogYW55KSB7XHJcbiAgICBjb25zdCBjYXRlZ29yeUluZGV4ID0gdGhpcy5maW5kQ2hlY2tlZENhdGVnb3J5SW5kZXgoY2F0ZWdvcnlJZCk7XHJcbiAgICBpZiAoY2F0ZWdvcnlJbmRleCAhPT0gLTEpIHtcclxuICAgICAgLy8gQ2F0ZWdvcnkgZXhpc3RzLCB1cGRhdGUgcmlzayB2YWx1ZVxyXG4gICAgICB0aGlzLnNlbGVjdGVkQ2F0QW5kUmlza1tjYXRlZ29yeUluZGV4XS5yaXNrcyA9XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZExpc3REYXRhID8/IFtdO1xyXG4gICAgICBpZiAodGhpcy5zZWxlY3RlZExpc3REYXRhLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgIC8vIFJlbW92ZSBjYXRlZ29yeSBpZiBzZWxlY3RlZExpc3REYXRhIGlzIGVtcHR5XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZENhdEFuZFJpc2suc3BsaWNlKGNhdGVnb3J5SW5kZXgsIDEpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAvLyBDYXRlZ29yeSBkb2Vzbid0IGV4aXN0LCBjcmVhdGUgbmV3IGNhdGVnb3J5IHdpdGggc3ViY2F0ZWdvcnlcclxuICAgICAgdGhpcy5zZWxlY3RlZENhdEFuZFJpc2sucHVzaCh7XHJcbiAgICAgICAgY2F0ZWdvcnk6IGNhdGVnb3J5ID8/IHt9LFxyXG4gICAgICAgIHJpc2tzOiB0aGlzLnNlbGVjdGVkTGlzdERhdGEgPz8gW10sXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jaGFuZ2VTZWxlY3RlZENhdEFuZFJpc2suZW1pdCh0aGlzLnNlbGVjdGVkQ2F0QW5kUmlzayk7XHJcbiAgfVxyXG5cclxuICBnZXRTZWxlY3RlZERhdGFBbmRJZHMoc2VsZWN0ZWREYXRhOiBhbnkpIHtcclxuICAgIGNvbnN0IGNhdGVnb3J5SW5kZXggPSB0aGlzLmZpbmRDaGVja2VkQ2F0ZWdvcnlJbmRleChcclxuICAgICAgdGhpcy5hY3RpdmVDYXRlZ29yeT8uY2F0ZWdvcnlfaWRcclxuICAgICk7XHJcbiAgICB0aGlzLnNlbGVjdGVkTGlzdERhdGEgPSBbXTtcclxuICAgIHRoaXMuc2VsZWN0ZWRMaXN0RGF0YUlkcyA9IFtdO1xyXG4gICAgaWYgKGNhdGVnb3J5SW5kZXggIT09IC0xKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRMaXN0RGF0YSA9IHNlbGVjdGVkRGF0YVtjYXRlZ29yeUluZGV4XT8ucmlza3MgPz8gW107XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRMaXN0RGF0YT8uZm9yRWFjaCgoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZExpc3REYXRhSWRzLnB1c2goZGF0YT8uX2lkKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBmaW5kQ2hlY2tlZENhdGVnb3J5SW5kZXgoY2F0ZWdvcnlJZDogbnVtYmVyKSB7XHJcbiAgICBsZXQgY2F0ZWdvcnlJbmRleCA9IC0xO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnNlbGVjdGVkQ2F0QW5kUmlzay5sZW5ndGg7IGkrKykge1xyXG4gICAgICBsZXQgY2F0ZWdvcnkgPSB0aGlzLnNlbGVjdGVkQ2F0QW5kUmlza1tpXTtcclxuICAgICAgbGV0IGZvdW5kQ2F0ZWdvcnkgPSBPYmplY3QuZW50cmllcyhjYXRlZ29yeS5jYXRlZ29yeSkuZmluZChcclxuICAgICAgICAoW2tleSwgdmFsdWVdKSA9PiB2YWx1ZSA9PT0gY2F0ZWdvcnlJZFxyXG4gICAgICApO1xyXG4gICAgICBpZiAoZm91bmRDYXRlZ29yeSkge1xyXG4gICAgICAgIGNhdGVnb3J5SW5kZXggPSBpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gY2F0ZWdvcnlJbmRleDtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImdyYy1yZXNwb25zaWJpbGl0eS1saXN0aW5nXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwidG9wLWhlYWRpbmcgdngtcGwtMiB2eC1tYi0yIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIj5cclxuICAgICAgICA8YXBwLWNzLWNoZWNrYm94ICpuZ0lmPVwiaXNBbGxTZWxlY3RlZCgpIHx8IHNlbGVjdGVkTGlzdERhdGFJZHM/Lmxlbmd0aCA9PT0gMFwiICBbbmdWYWx1ZV09XCJpc0FsbFNlbGVjdGVkKClcIiAobmdWYWx1ZUNoYW5nZSk9XCJzZWxlY3RBbGwoJGV2ZW50KVwiPjwvYXBwLWNzLWNoZWNrYm94PlxyXG4gICAgICAgIDxhcHAtY3MtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSAqbmdJZj1cIiFpc0FsbFNlbGVjdGVkKCkgJiYgc2VsZWN0ZWRMaXN0RGF0YUlkcz8ubGVuZ3RoXCIgW25nVmFsdWVdPVwidHJ1ZVwiIChuZ1ZhbHVlQ2hhbmdlKT1cInNlbGVjdEFsbChmYWxzZSlcIj48L2FwcC1jcy1jaGVja2JveC1pbmRldGVybWluYXRlPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1mcy0xMSB2eC1mdy01MDAgdngtbGFiZWwtdHh0IHZ4LXR0LXVwcGVyY2FzZSB2eC1tbC0yIHZ4LWxoLTRcIj57e2hlYWRlclRleHR9fTwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmctaW5uZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JjLXJlc3BvbnNpYmlsaXR5LXRhYmxlLWJvZHlcIiBbY2xhc3Mud2l0aC1wYWdpbmF0aW9uXT1cInRvdGFsUGFnZXMgPiAxXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmMtcmVzcG9uc2liaWxpdHktdGFibGUtcm93XCIgKm5nRm9yPVwibGV0IGxpc3Qgb2YgZGF0YUxpc3Q7IGxldCBpID0gaW5kZXhcIiBbY2xhc3MuYWN0aXZlXT1cInNlbGVjdGVkTGlzdERhdGFJZHM/LmluY2x1ZGVzKGxpc3Q/Ll9pZClcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmMtcmVzcG9uc2liaWxpdHktdGFibGUtY29sdW1uIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHNlcmlhbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzci1ub1wiIFthcHBUb29sdGlwXT1cIihwZXJQYWdlTGltaXQgKiAoY3VycmVudFBhZ2UgLSAxKSkgKyBpICsgMVwiIHBsYWNlbWVudD1cImJvdHRvbVwiIGRlbGF5PVwiMFwiIHR5cGU9XCJibGFja1wiIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIj57eyhwZXJQYWdlTGltaXQgKiAoY3VycmVudFBhZ2UgLSAxKSkgKyBpICsgMX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGFwcC1jcy1jaGVja2JveCBbbmdWYWx1ZV09XCJzZWxlY3RlZExpc3REYXRhSWRzPy5pbmNsdWRlcyhsaXN0Py5faWQpXCIgKG5nVmFsdWVDaGFuZ2UpPVwiZ2V0U2VsZWN0ZWREYXRhKGxpc3QsJGV2ZW50KVwiPjwvYXBwLWNzLWNoZWNrYm94PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JjLXJlc3BvbnNpYmlsaXR5LXRhYmxlLWNvbHVtbiB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgcmVzcG9uc2liaWxpdHktbmFtZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1hdmF0YXItZ3JvdXAgdngtbXItMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidngtYXZhdGFyIG1kXCIgW2FwcFRvb2x0aXBdPVwibGlzdD8uZW50cnVzdGVkQnk/Lm5hbWVcIiBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiIGRlbGF5PVwiMFwiIHR5cGU9XCJibGFja1wiIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwibGlzdD8uZW50cnVzdGVkQnk/LnByb2ZpbGVQaWM/Lmxlbmd0aCA9PT0gJydcIiBjbGFzcz1cImJsdWVcIj57e2xpc3QuZW50cnVzdGVkQnk/LnNob3J0TmFtZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyAqbmdJZj1cImxpc3Q/LmVudHJ1c3RlZEJ5Py5wcm9maWxlUGljPy5sZW5ndGggIT09ICcnXCIgc3JjPVwie3twcm9maWxlUGljICsgbGlzdD8uZW50cnVzdGVkQnk/LnByb2ZpbGVQaWN9fVwiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImZhbHNlXCIgY2xhc3M9XCJ2eC1hdmF0YXIgbWRcIiBbYXBwVG9vbHRpcF09XCInSGFyc2h2YXJkaGFuIEthcml3YWxhJ1wiIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCIgZGVsYXk9XCIwXCIgdHlwZT1cImJsYWNrXCIgW3Rvb2x0aXBNYW5kYXRvcnldPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJibHVlXCI+aGs8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nICpuZ0lmPVwiZmFsc2VcIiBzcmM9XCJodHRwczovL3MzLWV1LXdlc3QtMS5hbWF6b25hd3MuY29tL2V1LnYtY29tcGx5LmNvbS9wcm9maWxlX3BpYy90aHVtYi8xNjcyMjIyODkxNjkwX1Byb2ZpbGVQaWN0dXJlLnBuZ1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImZhbHNlXCIgY2xhc3M9XCJ2eC1hdmF0YXIgbWQgY291bnRlclwiIGFwcFBvcG92ZXIgKGNsaWNrKT1cIm11bHRpVXNlci5wb3BvdmVyKClcIiBwbGFjZW1lbnQ9XCJsZWZ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImdyZWVuXCI+Kzk5PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGFwcC1wb3BvdmVyICNtdWx0aVVzZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2YtYWN0aW9uLWxpc3RcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJhY3Rpb24taXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgKm5nRm9yPVwibGV0IGRhdGEgb2YgWzEsIDEsIDEsIDEsIDEsIDEsIDFdXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXZhdGFyLWNhcmRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXZhdGFyXCI+aGs8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZmFsc2VcIiBjbGFzcz1cImF2YXRhclwiPjxpbWcgc3JjPVwiaHR0cHM6Ly9zMy1ldS13ZXN0LTEuYW1hem9uYXdzLmNvbS9ldS52LWNvbXBseS5jb20vcHJvZmlsZV9waWMvdGh1bWIvMTY3MjIyMjg5MTY5MF9Qcm9maWxlUGljdHVyZS5wbmdcIiBhbHQ9XCJcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZhbHVlXCIgW2FwcFRvb2x0aXBdPVwiJ0hhcnNodmFyZGhhbiBLYXJpd2FsYSdcIiBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiIGRlbGF5PVwiMFwiIHR5cGU9XCJibGFja1wiIFt0b29sdGlwTWFuZGF0b3J5XT1cImZhbHNlXCI+SGFyc2h2YXJkaGFuIEthcml3YWxhPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2FwcC1wb3BvdmVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gPGkgY2xhc3M9XCJpY29ucyBzdGFyIHZ4LWZzLTEwIHZ4LW1yLTFcIiBbY2xhc3MuYWN0aXZlXT1cInRydWVcIj4mI3hlYTcwOzwvaT4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hbWUtaW5uZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpZCB2eC1mcy0xMCB2eC1mdy01MDAgdngtbGFiZWwtdHh0IHZ4LXR0LXVwcGVyY2FzZSB2eC1tci0xXCI+e3tsaXN0Py5jb250cm9sSWR9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hbWUgdngtZnMtMTMgdngtbGFiZWwtdHh0XCIgW2FwcFRvb2x0aXBdPVwibGlzdD8ubmFtZVwiIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCIgZGVsYXk9XCIwXCIgdHlwZT1cImJsYWNrXCIgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIj57e2xpc3Q/Lm5hbWV9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIiAqbmdJZj1cImxpc3Q/LndpdGhpbkRhdGE/Lm5hbWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1mcy0xMCB2eC1mdy01MDAgdngtbGFiZWwtdHh0IHZ4LXR0LXVwcGVyY2FzZSB2eC1tci0xXCI+UkVTUE9OU0lCSUxJVFkgQ0VOVEVSOjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndpdGhpbi1wYXJ0IHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtcHItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3aXRoaW4tYm94IHZ4LWZzLTkgdngtZnctNjAwIHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtbXItMiB2eC1saC0zXCI+V2l0aGluPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndpdGhpbi12YWx1ZSB2eC1mcy0xMSB2eC1wYXJhZ3JhcGgtdHh0XCIgW2FwcFRvb2x0aXBdPVwiJ01hbmFnZW1lbnQgZGlyZWN0aW9uIGZvciBpbmZvcm1hdGlvbiA+IEluZm9ybWF0aW9uIFNlY3VyaXR5J1wiIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCIgZGVsYXk9XCIwXCIgdHlwZT1cImJsYWNrXCIgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIj5NYW5hZ2VtZW50IGRpcmVjdGlvbiBmb3IgaW5mb3JtYXRpb24gPiBJbmZvcm1hdGlvbiBTZWN1cml0eTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxhcHAtcGFnaW5hdGlvbiAqbmdJZj1cInRvdGFsUGFnZXMgPiAxXCIgW3N0YXJ0XT1cInBlclBhZ2VMaW1pdCAqIChjdXJyZW50UGFnZSAtIDEpICsgMVwiIFtlbmRdPVwicGVyUGFnZUxpbWl0ICogY3VycmVudFBhZ2VcIiBbdG90YWxdPVwidG90YWxMaXN0RGF0YVwiIFtwYWdlQ291bnRdPVwidG90YWxQYWdlc1wiIFtjdXJyZW50UGFnZV09XCJjdXJyZW50UGFnZVwiIChzZWxlY3RlZFBhZ2UpPVwiY2hhbmdlUGFnZSgkZXZlbnQpXCI+PC9hcHAtcGFnaW5hdGlvbj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=
187
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvd29ya2Zsb3cvc2hhcmVkL2NvbXBvbmVudHMvZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcvZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvd29ya2Zsb3cvc2hhcmVkL2NvbXBvbmVudHMvZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcvZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxRQUFRLEVBQ1IsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNoRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUNuRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJDQUEyQyxDQUFDOzs7Ozs7Ozs7O0FBNkIxRSxNQUFNLE9BQU8saUNBQWlDO0lBMEI1QyxZQUF3QixNQUF1QjtRQXpCL0MsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUVoQixhQUFRLEdBQVEsRUFBRSxDQUFDO1FBQ25CLGVBQVUsR0FBVyxNQUFNLENBQUM7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LGFBQWEsc1BBQ2IsZUFBZSx5V0FDZixhQUFhLHFNQUNiLGlCQUFpQiw4QkFDakIsZ0JBQWdCOzJGQWlCUCxpQ0FBaUM7a0JBMUI3QyxTQUFTOytCQUNFLGdDQUFnQyxjQUM5QixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixpQkFBaUI7d0JBQ2pCLGdCQUFnQjtxQkFDakIsVUFHTzt3QkFDTixXQUFXO3dCQUNYLGdCQUFnQjt3QkFDaEIsWUFBWTt3QkFDWixhQUFhO3dCQUNiLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixZQUFZO3dCQUNaLGtCQUFrQjt3QkFDbEIscUJBQXFCO3dCQUNyQixvQkFBb0I7cUJBQ3JCOzswQkE0QlksUUFBUTs0Q0FaRSxTQUFTO3NCQUEvQixLQUFLO3VCQUFDLFVBQVU7Z0JBSWdCLHFCQUFxQjtzQkFBckQsS0FBSzt1QkFBQyxvQkFBb0I7Z0JBS2pCLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFDRyx3QkFBd0I7c0JBQWpDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIE9wdGlvbmFsLFxyXG4gIE91dHB1dCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRmxvYXRpbmdCYXJNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWRDb21wb25lbnRzL2Zsb2F0aW5nLWJhci9mbG9hdGluZy1iYXIubW9kdWxlJztcclxuaW1wb3J0IHsgRm9ybWdyb3VwTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdWkta2l0L2Zvcm1ncm91cC9mb3JtZ3JvdXAubW9kdWxlJztcclxuaW1wb3J0IHsgUGFnaW5hdGlvbk1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL3VpLWtpdC9wYWdpbmF0aW9uL3BhZ2luYXRpb24ubW9kdWxlJztcclxuaW1wb3J0IHsgUG9wb3Zlck1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL3VpLWtpdC9wb3BvdmVyL3BvcG92ZXIubW9kdWxlJztcclxuaW1wb3J0IHsgVG9vbHRpcE1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL3VpLWtpdC90b29sdGlwL3Rvb2x0aXAubW9kdWxlJztcclxuaW1wb3J0IHsgQ29uZmlndXJhdGlvbnMgfSBmcm9tICcuLi8uLi8uLi8uLi9jb25maWd1cmF0aW9ucyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1ncmMtcmVzcG9uc2liaWxpdHktbGlzdGluZycsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBQb3BvdmVyTW9kdWxlLFxyXG4gICAgRm9ybWdyb3VwTW9kdWxlLFxyXG4gICAgVG9vbHRpcE1vZHVsZSxcclxuICAgIEZsb2F0aW5nQmFyTW9kdWxlLFxyXG4gICAgUGFnaW5hdGlvbk1vZHVsZSxcclxuICBdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9ncmMtcmVzcG9uc2liaWxpdHktbGlzdGluZy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcuY29tcG9uZW50Lmxlc3MnXSxcclxuICBpbnB1dHM6IFtcclxuICAgICd0YWJsZUNhcmQnLFxyXG4gICAgJ2FjdGl2ZUNhdGVnb3J5JyxcclxuICAgICdoZWFkZXJUZXh0JyxcclxuICAgICdjdXJyZW50UGFnZScsXHJcbiAgICAncGVyUGFnZUxpbWl0JyxcclxuICAgICd0b3RhbExpc3REYXRhJyxcclxuICAgICd0b3RhbFBhZ2VzJyxcclxuICAgICdzZWxlY3RlZExpc3REYXRhJyxcclxuICAgICdzZWxlY3RlZExpc3REYXRhSWRzJyxcclxuICAgICdzZWxlY3RlZENhdEFuZFJpc2snLFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBHcmNSZXNwb25zaWJpbGl0eUxpc3RpbmdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHByb2ZpbGVQaWMgPSAnJztcclxuICBlbnY6IGFueTtcclxuICBkYXRhTGlzdDogYW55ID0gW107XHJcbiAgaGVhZGVyVGV4dDogc3RyaW5nID0gJ05hbWUnO1xyXG4gIHNlbGVjdGVkTGlzdERhdGE6IGFueSA9IFtdO1xyXG4gIHNlbGVjdGVkTGlzdERhdGFJZHM6IGFueSA9IFtdO1xyXG4gIHBlclBhZ2VMaW1pdDogbnVtYmVyID0gMzA7XHJcbiAgY3VycmVudFBhZ2U6IG51bWJlciA9IDE7XHJcbiAgdG90YWxQYWdlczogbnVtYmVyID0gMTtcclxuICB0b3RhbExpc3REYXRhOiBudW1iZXIgPSAwO1xyXG4gIHNlbGVjdGVkQ2F0QW5kUmlzazogYW55ID0gW107XHJcbiAgYWN0aXZlQ2F0ZWdvcnk6IGFueSA9IHt9O1xyXG5cclxuICBASW5wdXQoJ2RhdGFMaXN0Jykgc2V0IHJpc2tzTGlzdCh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLmRhdGFMaXN0ID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoJ3NlbGVjdGVkQ2F0QW5kUmlzaycpIHNldCBnZXRTZWxlY3RlZENhdEFuZFJpc2sodmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZENhdEFuZFJpc2sgPSB2YWx1ZTtcclxuICAgIHRoaXMuZ2V0U2VsZWN0ZWREYXRhQW5kSWRzKHZhbHVlKTtcclxuICB9XHJcblxyXG4gIEBPdXRwdXQoKSBnZXRVcGRhdGVkRGF0YUxpc3Q6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBjaGFuZ2VTZWxlY3RlZENhdEFuZFJpc2s6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBjb25maWc/OiBDb25maWd1cmF0aW9ucykge1xyXG4gICAgdGhpcy5lbnYgPSBjb25maWc/LmVudkNvbmZpZztcclxuICAgIHRoaXMucHJvZmlsZVBpYyA9IHRoaXMuZW52LnMzVXJsICsgdGhpcy5lbnYuczNCdWNrZXQgKyB0aGlzLmVudi5wcm9maWxlO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7fVxyXG5cclxuICBnZXRTZWxlY3RlZERhdGEocmVzcG9uc2liaWxpdHk6IGFueSwgZXZlbnQ6IGFueSkge1xyXG4gICAgaWYgKGV2ZW50KSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRMaXN0RGF0YS5wdXNoKHJlc3BvbnNpYmlsaXR5KTtcclxuICAgICAgdGhpcy5zZWxlY3RlZExpc3REYXRhSWRzLnB1c2gocmVzcG9uc2liaWxpdHk/Ll9pZCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmRlbGV0ZUV2ZW50KHJlc3BvbnNpYmlsaXR5KTtcclxuICAgIH1cclxuICAgIHRoaXMudXBkYXRlT3JDcmVhdGVDYXRlZ29yeShcclxuICAgICAgdGhpcy5hY3RpdmVDYXRlZ29yeT8uY2F0ZWdvcnlfaWQsXHJcbiAgICAgIHRoaXMuYWN0aXZlQ2F0ZWdvcnlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBkZWxldGVFdmVudChyZXNwb25zaWJpbGl0eTogYW55KSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkTGlzdERhdGEgPSB0aGlzLnNlbGVjdGVkTGlzdERhdGE/LmZpbHRlcihcclxuICAgICAgKHNlbGVjdGVkOiBhbnkpID0+IHNlbGVjdGVkPy5faWQgIT09IHJlc3BvbnNpYmlsaXR5Py5faWRcclxuICAgICk7XHJcbiAgICB0aGlzLnNlbGVjdGVkTGlzdERhdGFJZHMgPSB0aGlzLnNlbGVjdGVkTGlzdERhdGFJZHM/LmZpbHRlcihcclxuICAgICAgKHNlbGVjdGVkTGlzdERhdGFJZDogYW55KSA9PiBzZWxlY3RlZExpc3REYXRhSWQgIT09IHJlc3BvbnNpYmlsaXR5Py5faWRcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RBbGwoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5kYXRhTGlzdD8uZm9yRWFjaCgoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgIGlmIChldmVudCkge1xyXG4gICAgICAgIGlmICghdGhpcy5zZWxlY3RlZExpc3REYXRhSWRzLmluY2x1ZGVzKGRhdGE/Ll9pZCkpIHtcclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRMaXN0RGF0YS5wdXNoKGRhdGEpO1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZExpc3REYXRhSWRzLnB1c2goZGF0YT8uX2lkKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5kZWxldGVFdmVudChkYXRhKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLnVwZGF0ZU9yQ3JlYXRlQ2F0ZWdvcnkoXHJcbiAgICAgIHRoaXMuYWN0aXZlQ2F0ZWdvcnk/LmNhdGVnb3J5X2lkLFxyXG4gICAgICB0aGlzLmFjdGl2ZUNhdGVnb3J5XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgaXNBbGxTZWxlY3RlZCgpOiBib29sZWFuIHtcclxuICAgIGlmIChcclxuICAgICAgdGhpcy5zZWxlY3RlZExpc3REYXRhSWRzICYmXHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRMaXN0RGF0YUlkcy5sZW5ndGggPj0gdGhpcy5zZWxlY3RlZExpc3REYXRhPy5sZW5ndGggJiZcclxuICAgICAgdGhpcy5zZWxlY3RlZExpc3REYXRhSWRzLmxlbmd0aCA+IDBcclxuICAgICkge1xyXG4gICAgICBmb3IgKGNvbnN0IGdyYyBvZiB0aGlzLmRhdGFMaXN0KSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLnNlbGVjdGVkTGlzdERhdGFJZHMuaW5jbHVkZXMoZ3JjPy5faWQpKSB7XHJcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2hhbmdlUGFnZShldmVudDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLmN1cnJlbnRQYWdlID0gZXZlbnQ7XHJcbiAgICB0aGlzLmdldFVwZGF0ZWREYXRhTGlzdC5lbWl0KHtcclxuICAgICAgcGFnZU5vOiB0aGlzLmN1cnJlbnRQYWdlLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVPckNyZWF0ZUNhdGVnb3J5KGNhdGVnb3J5SWQ6IG51bWJlciwgY2F0ZWdvcnk6IGFueSkge1xyXG4gICAgY29uc3QgY2F0ZWdvcnlJbmRleCA9IHRoaXMuZmluZENoZWNrZWRDYXRlZ29yeUluZGV4KGNhdGVnb3J5SWQpO1xyXG4gICAgaWYgKGNhdGVnb3J5SW5kZXggIT09IC0xKSB7XHJcbiAgICAgIC8vIENhdGVnb3J5IGV4aXN0cywgdXBkYXRlIHJpc2sgdmFsdWVcclxuICAgICAgdGhpcy5zZWxlY3RlZENhdEFuZFJpc2tbY2F0ZWdvcnlJbmRleF0ucmlza3MgPVxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRMaXN0RGF0YSA/PyBbXTtcclxuICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRMaXN0RGF0YS5sZW5ndGggPT09IDApIHtcclxuICAgICAgICAvLyBSZW1vdmUgY2F0ZWdvcnkgaWYgc2VsZWN0ZWRMaXN0RGF0YSBpcyBlbXB0eVxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDYXRBbmRSaXNrLnNwbGljZShjYXRlZ29yeUluZGV4LCAxKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgLy8gQ2F0ZWdvcnkgZG9lc24ndCBleGlzdCwgY3JlYXRlIG5ldyBjYXRlZ29yeSB3aXRoIHN1YmNhdGVnb3J5XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRDYXRBbmRSaXNrLnB1c2goe1xyXG4gICAgICAgIGNhdGVnb3J5OiBjYXRlZ29yeSA/PyB7fSxcclxuICAgICAgICByaXNrczogdGhpcy5zZWxlY3RlZExpc3REYXRhID8/IFtdLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIHRoaXMuY2hhbmdlU2VsZWN0ZWRDYXRBbmRSaXNrLmVtaXQodGhpcy5zZWxlY3RlZENhdEFuZFJpc2spO1xyXG4gIH1cclxuXHJcbiAgZ2V0U2VsZWN0ZWREYXRhQW5kSWRzKHNlbGVjdGVkRGF0YTogYW55KSB7XHJcbiAgICBjb25zdCBjYXRlZ29yeUluZGV4ID0gdGhpcy5maW5kQ2hlY2tlZENhdGVnb3J5SW5kZXgoXHJcbiAgICAgIHRoaXMuYWN0aXZlQ2F0ZWdvcnk/LmNhdGVnb3J5X2lkXHJcbiAgICApO1xyXG4gICAgdGhpcy5zZWxlY3RlZExpc3REYXRhID0gW107XHJcbiAgICB0aGlzLnNlbGVjdGVkTGlzdERhdGFJZHMgPSBbXTtcclxuICAgIGlmIChjYXRlZ29yeUluZGV4ICE9PSAtMSkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkTGlzdERhdGEgPSBzZWxlY3RlZERhdGFbY2F0ZWdvcnlJbmRleF0/LnJpc2tzID8/IFtdO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkTGlzdERhdGE/LmZvckVhY2goKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRMaXN0RGF0YUlkcy5wdXNoKGRhdGE/Ll9pZCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZmluZENoZWNrZWRDYXRlZ29yeUluZGV4KGNhdGVnb3J5SWQ6IG51bWJlcikge1xyXG4gICAgbGV0IGNhdGVnb3J5SW5kZXggPSAtMTtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5zZWxlY3RlZENhdEFuZFJpc2subGVuZ3RoOyBpKyspIHtcclxuICAgICAgbGV0IGNhdGVnb3J5ID0gdGhpcy5zZWxlY3RlZENhdEFuZFJpc2tbaV07XHJcbiAgICAgIGxldCBmb3VuZENhdGVnb3J5ID0gT2JqZWN0LmVudHJpZXMoY2F0ZWdvcnkuY2F0ZWdvcnkpLmZpbmQoXHJcbiAgICAgICAgKFtrZXksIHZhbHVlXSkgPT4gdmFsdWUgPT09IGNhdGVnb3J5SWRcclxuICAgICAgKTtcclxuICAgICAgaWYgKGZvdW5kQ2F0ZWdvcnkpIHtcclxuICAgICAgICBjYXRlZ29yeUluZGV4ID0gaTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGNhdGVnb3J5SW5kZXg7XHJcbiAgfVxyXG5cclxuICBkZWxldGVTZWxlY3RlZFJpc2soY2F0ZWdvcnlJZDogbnVtYmVyLCByaXNrOiBhbnkpIHtcclxuICAgIGNvbnN0IGNhdGVnb3J5SW5kZXggPSB0aGlzLmZpbmRDaGVja2VkQ2F0ZWdvcnlJbmRleChjYXRlZ29yeUlkKTtcclxuICAgIGlmIChjYXRlZ29yeUluZGV4ICE9PSAtMSkge1xyXG4gICAgICAvLyBDYXRlZ29yeSBleGlzdHMsIHVwZGF0ZSByaXNrIHZhbHVlXHJcbiAgICAgIGNvbnN0IHJpc2tJbmRleCA9IHRoaXMuc2VsZWN0ZWRDYXRBbmRSaXNrW1xyXG4gICAgICAgIGNhdGVnb3J5SW5kZXhcclxuICAgICAgXT8ucmlza3M/LmZpbmRJbmRleCgoaXRlbTogYW55KSA9PiBpdGVtPy5faWQgPT09IHJpc2s/Ll9pZCk7XHJcbiAgICAgIGlmIChyaXNrSW5kZXggIT09IC0xKSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZENhdEFuZFJpc2tbY2F0ZWdvcnlJbmRleF0/LnJpc2tzLnNwbGljZShyaXNrSW5kZXgsIDEpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAodGhpcy5zZWxlY3RlZENhdEFuZFJpc2tbY2F0ZWdvcnlJbmRleF0/LnJpc2tzPy5sZW5ndGggPT09IDApIHtcclxuICAgICAgICAvLyBSZW1vdmUgY2F0ZWdvcnkgaWYgc2VsZWN0ZWRMaXN0RGF0YSBpcyBlbXB0eVxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDYXRBbmRSaXNrLnNwbGljZShjYXRlZ29yeUluZGV4LCAxKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5jaGFuZ2VTZWxlY3RlZENhdEFuZFJpc2suZW1pdCh0aGlzLnNlbGVjdGVkQ2F0QW5kUmlzayk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJncmMtcmVzcG9uc2liaWxpdHktbGlzdGluZ1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cInRvcC1oZWFkaW5nIHZ4LXBsLTIgdngtbWItMiB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCI+XHJcbiAgICAgICAgPGFwcC1jcy1jaGVja2JveCAqbmdJZj1cImlzQWxsU2VsZWN0ZWQoKSB8fCBzZWxlY3RlZExpc3REYXRhSWRzPy5sZW5ndGggPT09IDBcIiAgW25nVmFsdWVdPVwiaXNBbGxTZWxlY3RlZCgpXCIgKG5nVmFsdWVDaGFuZ2UpPVwic2VsZWN0QWxsKCRldmVudClcIj48L2FwcC1jcy1jaGVja2JveD5cclxuICAgICAgICA8YXBwLWNzLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUgKm5nSWY9XCIhaXNBbGxTZWxlY3RlZCgpICYmIHNlbGVjdGVkTGlzdERhdGFJZHM/Lmxlbmd0aFwiIFtuZ1ZhbHVlXT1cInRydWVcIiAobmdWYWx1ZUNoYW5nZSk9XCJzZWxlY3RBbGwoZmFsc2UpXCI+PC9hcHAtY3MtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidngtZnMtMTEgdngtZnctNTAwIHZ4LWxhYmVsLXR4dCB2eC10dC11cHBlcmNhc2UgdngtbWwtMiB2eC1saC00XCI+e3toZWFkZXJUZXh0fX08L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImdyYy1yZXNwb25zaWJpbGl0eS1saXN0aW5nLWlubmVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImdyYy1yZXNwb25zaWJpbGl0eS10YWJsZS1ib2R5XCIgW2NsYXNzLndpdGgtcGFnaW5hdGlvbl09XCJ0b3RhbFBhZ2VzID4gMVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JjLXJlc3BvbnNpYmlsaXR5LXRhYmxlLXJvd1wiICpuZ0Zvcj1cImxldCBsaXN0IG9mIGRhdGFMaXN0OyBsZXQgaSA9IGluZGV4XCIgW2NsYXNzLmFjdGl2ZV09XCJzZWxlY3RlZExpc3REYXRhSWRzPy5pbmNsdWRlcyhsaXN0Py5faWQpXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JjLXJlc3BvbnNpYmlsaXR5LXRhYmxlLWNvbHVtbiB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBzZXJpYWxcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Itbm9cIiBbYXBwVG9vbHRpcF09XCIocGVyUGFnZUxpbWl0ICogKGN1cnJlbnRQYWdlIC0gMSkpICsgaSArIDFcIiBwbGFjZW1lbnQ9XCJib3R0b21cIiBkZWxheT1cIjBcIiB0eXBlPVwiYmxhY2tcIiBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCI+e3socGVyUGFnZUxpbWl0ICogKGN1cnJlbnRQYWdlIC0gMSkpICsgaSArIDF9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxhcHAtY3MtY2hlY2tib3ggW25nVmFsdWVdPVwic2VsZWN0ZWRMaXN0RGF0YUlkcz8uaW5jbHVkZXMobGlzdD8uX2lkKVwiIChuZ1ZhbHVlQ2hhbmdlKT1cImdldFNlbGVjdGVkRGF0YShsaXN0LCRldmVudClcIj48L2FwcC1jcy1jaGVja2JveD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdyYy1yZXNwb25zaWJpbGl0eS10YWJsZS1jb2x1bW4gdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHJlc3BvbnNpYmlsaXR5LW5hbWVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidngtYXZhdGFyLWdyb3VwIHZ4LW1yLTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWF2YXRhciBtZFwiIFthcHBUb29sdGlwXT1cImxpc3Q/LmVudHJ1c3RlZEJ5Py5uYW1lXCIgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIiBkZWxheT1cIjBcIiB0eXBlPVwiYmxhY2tcIiBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImxpc3Q/LmVudHJ1c3RlZEJ5Py5wcm9maWxlUGljPy5sZW5ndGggPT09ICcnXCIgY2xhc3M9XCJibHVlXCI+e3tsaXN0LmVudHJ1c3RlZEJ5Py5zaG9ydE5hbWV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgKm5nSWY9XCJsaXN0Py5lbnRydXN0ZWRCeT8ucHJvZmlsZVBpYz8ubGVuZ3RoICE9PSAnJ1wiIHNyYz1cInt7cHJvZmlsZVBpYyArIGxpc3Q/LmVudHJ1c3RlZEJ5Py5wcm9maWxlUGljfX1cIiBhbHQ9XCJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJmYWxzZVwiIGNsYXNzPVwidngtYXZhdGFyIG1kXCIgW2FwcFRvb2x0aXBdPVwiJ0hhcnNodmFyZGhhbiBLYXJpd2FsYSdcIiBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiIGRlbGF5PVwiMFwiIHR5cGU9XCJibGFja1wiIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYmx1ZVwiPmhrPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyAqbmdJZj1cImZhbHNlXCIgc3JjPVwiaHR0cHM6Ly9zMy1ldS13ZXN0LTEuYW1hem9uYXdzLmNvbS9ldS52LWNvbXBseS5jb20vcHJvZmlsZV9waWMvdGh1bWIvMTY3MjIyMjg5MTY5MF9Qcm9maWxlUGljdHVyZS5wbmdcIiBhbHQ9XCJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJmYWxzZVwiIGNsYXNzPVwidngtYXZhdGFyIG1kIGNvdW50ZXJcIiBhcHBQb3BvdmVyIChjbGljayk9XCJtdWx0aVVzZXIucG9wb3ZlcigpXCIgcGxhY2VtZW50PVwibGVmdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJncmVlblwiPis5OTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxhcHAtcG9wb3ZlciAjbXVsdGlVc2VyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndmLWFjdGlvbi1saXN0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwiYWN0aW9uLWl0ZW1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBkYXRhIG9mIFsxLCAxLCAxLCAxLCAxLCAxLCAxXVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF2YXRhci1jYXJkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF2YXRhclwiPmhrPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImZhbHNlXCIgY2xhc3M9XCJhdmF0YXJcIj48aW1nIHNyYz1cImh0dHBzOi8vczMtZXUtd2VzdC0xLmFtYXpvbmF3cy5jb20vZXUudi1jb21wbHkuY29tL3Byb2ZpbGVfcGljL3RodW1iLzE2NzIyMjI4OTE2OTBfUHJvZmlsZVBpY3R1cmUucG5nXCIgYWx0PVwiXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2YWx1ZVwiIFthcHBUb29sdGlwXT1cIidIYXJzaHZhcmRoYW4gS2FyaXdhbGEnXCIgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIiBkZWxheT1cIjBcIiB0eXBlPVwiYmxhY2tcIiBbdG9vbHRpcE1hbmRhdG9yeV09XCJmYWxzZVwiPkhhcnNodmFyZGhhbiBLYXJpd2FsYTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9hcHAtcG9wb3Zlcj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIDxpIGNsYXNzPVwiaWNvbnMgc3RhciB2eC1mcy0xMCB2eC1tci0xXCIgW2NsYXNzLmFjdGl2ZV09XCJ0cnVlXCI+JiN4ZWE3MDs8L2k+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYW1lLWlubmVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaWQgdngtZnMtMTAgdngtZnctNTAwIHZ4LWxhYmVsLXR4dCB2eC10dC11cHBlcmNhc2UgdngtbXItMVwiPnt7bGlzdD8uY29udHJvbElkfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYW1lIHZ4LWZzLTEzIHZ4LWxhYmVsLXR4dFwiIFthcHBUb29sdGlwXT1cImxpc3Q/Lm5hbWVcIiBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiIGRlbGF5PVwiMFwiIHR5cGU9XCJibGFja1wiIFt0b29sdGlwTWFuZGF0b3J5XT1cImZhbHNlXCI+e3tsaXN0Py5uYW1lfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCIgKm5nSWY9XCJsaXN0Py53aXRoaW5EYXRhPy5uYW1lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidngtZnMtMTAgdngtZnctNTAwIHZ4LWxhYmVsLXR4dCB2eC10dC11cHBlcmNhc2UgdngtbXItMVwiPlJFU1BPTlNJQklMSVRZIENFTlRFUjo8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3aXRoaW4tcGFydCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LXByLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2l0aGluLWJveCB2eC1mcy05IHZ4LWZ3LTYwMCB2eC10dC11cHBlcmNhc2UgdngtcGwtMSB2eC1wci0xIHZ4LW1yLTIgdngtbGgtM1wiPldpdGhpbjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3aXRoaW4tdmFsdWUgdngtZnMtMTEgdngtcGFyYWdyYXBoLXR4dFwiIFthcHBUb29sdGlwXT1cIidNYW5hZ2VtZW50IGRpcmVjdGlvbiBmb3IgaW5mb3JtYXRpb24gPiBJbmZvcm1hdGlvbiBTZWN1cml0eSdcIiBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiIGRlbGF5PVwiMFwiIHR5cGU9XCJibGFja1wiIFt0b29sdGlwTWFuZGF0b3J5XT1cImZhbHNlXCI+TWFuYWdlbWVudCBkaXJlY3Rpb24gZm9yIGluZm9ybWF0aW9uID4gSW5mb3JtYXRpb24gU2VjdXJpdHk8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8YXBwLXBhZ2luYXRpb24gKm5nSWY9XCJ0b3RhbFBhZ2VzID4gMVwiIFtzdGFydF09XCJwZXJQYWdlTGltaXQgKiAoY3VycmVudFBhZ2UgLSAxKSArIDFcIiBbZW5kXT1cInBlclBhZ2VMaW1pdCAqIGN1cnJlbnRQYWdlXCIgW3RvdGFsXT1cInRvdGFsTGlzdERhdGFcIiBbcGFnZUNvdW50XT1cInRvdGFsUGFnZXNcIiBbY3VycmVudFBhZ2VdPVwiY3VycmVudFBhZ2VcIiAoc2VsZWN0ZWRQYWdlKT1cImNoYW5nZVBhZ2UoJGV2ZW50KVwiPjwvYXBwLXBhZ2luYXRpb24+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+Il19