vcomply-workflow-engine 6.0.44 → 6.0.46
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/sharedComponents/category-list-selection/category-list-selection/category-list-selection.component.mjs +3 -3
- package/esm2022/lib/sharedComponents/policy-template/select-template-list/select-template-list.component.mjs +5 -2
- package/fesm2022/vcomply-workflow-engine.mjs +6 -3
- package/fesm2022/vcomply-workflow-engine.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -101,11 +101,11 @@ export class CategoryListSelectionComponent {
|
|
|
101
101
|
return data;
|
|
102
102
|
}
|
|
103
103
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CategoryListSelectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
104
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CategoryListSelectionComponent, selector: "app-category-list-selection", inputs: { setList: ["categoryList", "setList"], config: "config", currentPage: "currentPage", recordStart: "recordStart", recordEnd: "recordEnd", totalRecords: "totalRecords", totalPages: "totalPages", loading: "loading", selectionMode: "selectionMode", setSelected: ["selectedList", "setSelected"] }, outputs: { fetchData: "fetchData", back: "back", next: "next", cancel: "cancel" }, ngImport: i0, template: "<div class=\"radio-list\" [class.animate]=\"animation\">\n <div\n class=\"radio-list-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\"\n >\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">{{ config?.panelTitle }}</div>\n </div>\n\n <div class=\"radio-list-body\">\n <div class=\"search-block vx-mb-2\" *ngIf=\"true\">\n <i class=\"icons\"></i>\n <input\n (keydown.enter)=\"search()\"\n type=\"text\"\n [placeholder]=\"config?.searchPlaceholder\"\n [(ngModel)]=\"searchKey\"\n />\n </div>\n\n <app-pagination\n *ngIf=\"totalPages > 1\"\n [start]=\"recordStart\"\n [end]=\"recordEnd\"\n [total]=\"totalRecords\"\n [pageCount]=\"totalPages\"\n [currentPage]=\"currentPage\"\n (selectedPage)=\"pageChanged($event)\"\n ></app-pagination>\n\n <!-- it is visible when list data is available -->\n <ng-container *ngIf=\"!loading && list?.length\">\n <div class=\"categories vx-mb-4\" [class.mt-2]=\"totalPages === 0\">\n <app-cs-checkbox\n *ngIf=\"selectionMode === 'multiple'\"\n [ngValue]=\"checkSelectAll()\"\n (ngValueChange)=\"selectAll($event)\"\n >\n <span class=\"vx-fw-600 vx-label-txt\">{{\n checkSelectAll() ? \"Deselect All\" : \"Select All\"\n }}</span>\n </app-cs-checkbox>\n </div>\n <ul\n class=\"categories-list vx-mb-4\"\n [class.with-pagination]=\"totalPages > 1\"\n >\n <li *ngFor=\"let item of list | search : searchKey; let i = index\">\n <app-cs-radio\n *ngIf=\"selectionMode === 'single'\"\n [checked]=\"selectedIds?.includes(item[config?.identifierKey])\"\n (checkedEvent)=\"itemSelected($event, item)\"\n [appTooltip]=\"item[config.displayKey]\"\n placement=\"bottom-left\"\n delay=\"0\"\n [tooltipMandatory]=\"true\"\n >\n <div class=\"name\">{{ item[config.displayKey] }}</div>\n <div\n class=\"within vx-d-flex vx-align-center vx-justify-start vx-mt-1\"\n >\n <div\n class=\"block vx-fs-9 vx-fw-500 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2\"\n *ngIf=\"item[config?.parentKey] != ''\"\n >\n WITHIN\n </div>\n <div\n class=\"data vx-fs-11 vx-paragraph-txt vx-lh-4 vx-pr-5\"\n [appTooltip]=\"item[config?.parentKey] | within : list\"\n placement=\"bottom-left\"\n delay=\"0\"\n [tooltipMandatory]=\"false\"\n >\n {{ item[config?.parentKey] | within : list }}\n </div>\n </div>\n </app-cs-radio>\n <app-cs-checkbox\n *ngIf=\"selectionMode === 'multiple'\"\n [ngValue]=\"selectedIds?.includes(item[config?.identifierKey])\"\n (ngValueChange)=\"itemSelected($event, item)\"\n [appTooltip]=\"item[config.displayKey]\"\n placement=\"bottom-left\"\n delay=\"0\"\n [tooltipMandatory]=\"true\"\n >\n <div class=\"name\">{{ item[config.displayKey] }}</div>\n <div\n class=\"within vx-d-flex vx-align-center vx-justify-start vx-mt-1\"\n >\n <div\n class=\"block vx-fs-9 vx-fw-500 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2\"\n *ngIf=\"item[config?.parentKey] != ''\"\n >\n WITHIN\n </div>\n <div\n class=\"data vx-fs-11 vx-paragraph-txt vx-lh-4 vx-pr-5\"\n [appTooltip]=\"item[config?.parentKey] | within : list\"\n placement=\"bottom-left\"\n delay=\"0\"\n [tooltipMandatory]=\"false\"\n >\n {{ item[config?.parentKey] | within : list }}\n </div>\n </div>\n </app-cs-checkbox>\n </li>\n </ul>\n </ng-container>\n <!-- It is visible when the list items are getting loaded -->\n <app-listline-loader *ngIf=\"loading\"></app-listline-loader>\n <ng-container *ngIf=\"!loading && list?.length === 0\">\n <app-no-data\n [noDataImage]=\"\n 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\n \"\n [noDataText]=\"\n config?.noDataText?.length > 0\n ? config?.noDataText\n : 'No data to display'\n \"\n ></app-no-data>\n </ng-container>\n\n <app-floating-bar\n [selectedData]=\"selectedList\"\n [displayElementKey]=\"config?.displayKey\"\n [singularText]=\"config?.entitySingular\"\n [pluralText]=\"\n config?.entityPlural ? config?.entityPlural : 'Users selected'\n \"\n (closeEvent)=\"save()\"\n (closeList)=\"close()\"\n (deleteEvent)=\"deleteItem($event)\"\n [isDisabled]=\"selectedList.length === 0 || list?.length === 0\"\n >\n </app-floating-bar>\n </div>\n</div>\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .radio-list{position:fixed;inset:0 500px 0 0}::ng-deep .radio-list:before{background:#1e5dd3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .radio-list-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .radio-list-close{background:transparent;border:none;outline:none;cursor:pointer;color:#000;font-size:12px;display:inline-block;padding:0}::ng-deep .radio-list-body{background:#fff;height:calc(100vh - 2.75rem);padding:2rem}::ng-deep .radio-list-body .search-block{position:relative}::ng-deep .radio-list-body .search-block input{height:2.75rem;line-height:1.5rem;padding:.5rem 1rem .5rem 2.5rem;outline:none;border:1px solid #7475763f;border-radius:.25rem;width:100%;font-size:14px;color:#747576}::ng-deep .radio-list-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .radio-list-body .search-block i{position:absolute;left:1rem;top:1rem;pointer-events:none;color:#f1f1f1;font-size:12px}::ng-deep .radio-list-body app-pagination .wk-pagination-sec-ds{padding:0!important}::ng-deep .radio-list-body .categories{height:1rem}::ng-deep .radio-list-body .categories app-cs-radio .radio-item,::ng-deep .radio-list-body .categories app-cs-checkbox .radio-item,::ng-deep .radio-list-body .categories app-cs-radio .checkbox-item,::ng-deep .radio-list-body .categories app-cs-checkbox .checkbox-item{position:relative;padding-left:24px;width:100%}::ng-deep .radio-list-body .categories app-cs-radio .radio-item .radio,::ng-deep .radio-list-body .categories app-cs-checkbox .radio-item .radio,::ng-deep .radio-list-body .categories app-cs-radio .checkbox-item .radio,::ng-deep .radio-list-body .categories app-cs-checkbox .checkbox-item .radio,::ng-deep .radio-list-body .categories app-cs-radio .radio-item .radiomark,::ng-deep .radio-list-body .categories app-cs-checkbox .radio-item .radiomark,::ng-deep .radio-list-body .categories app-cs-radio .checkbox-item .radiomark,::ng-deep .radio-list-body .categories app-cs-checkbox .checkbox-item .radiomark,::ng-deep .radio-list-body .categories app-cs-radio .radio-item .checkbox,::ng-deep .radio-list-body .categories app-cs-checkbox .radio-item .checkbox,::ng-deep .radio-list-body .categories app-cs-radio .checkbox-item .checkbox,::ng-deep .radio-list-body .categories app-cs-checkbox .checkbox-item .checkbox,::ng-deep .radio-list-body .categories app-cs-radio .radio-item .checkmark,::ng-deep .radio-list-body .categories app-cs-checkbox .radio-item .checkmark,::ng-deep .radio-list-body .categories app-cs-radio .checkbox-item .checkmark,::ng-deep .radio-list-body .categories app-cs-checkbox .checkbox-item .checkmark{position:absolute!important;top:0;left:0}::ng-deep .radio-list-body .categories app-cs-radio .radio-item .value,::ng-deep .radio-list-body .categories app-cs-checkbox .radio-item .value,::ng-deep .radio-list-body .categories app-cs-radio .checkbox-item .value,::ng-deep .radio-list-body .categories app-cs-checkbox .checkbox-item .value{margin:0!important}::ng-deep .radio-list-body .categories app-cs-radio .radio-item .value span,::ng-deep .radio-list-body .categories app-cs-checkbox .radio-item .value span,::ng-deep .radio-list-body .categories app-cs-radio .checkbox-item .value span,::ng-deep .radio-list-body .categories app-cs-checkbox .checkbox-item .value span{color:#161b2f;font-weight:600;font-size:12px}::ng-deep .radio-list-body ul{padding:0;margin:0}::ng-deep .radio-list-body ul.categories-list{display:block;align-items:flex-start;flex-wrap:wrap;height:calc(100vh - 256px);overflow:auto;margin:16px 0 0}::ng-deep .radio-list-body ul.categories-list.with-pagination{height:calc(100vh - 284px)}::ng-deep .radio-list-body ul.categories-list li{padding:0 0 .5rem;list-style:none}::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item{position:relative;padding-left:24px;width:100%}::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .radio,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .radio,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .radio,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .radio,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .radiomark,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .radiomark,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .radiomark,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .radiomark,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .checkbox,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .checkbox,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .checkbox,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .checkbox,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .checkmark,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .checkmark,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .checkmark,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .checkmark{position:absolute;top:0;left:0}::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .value,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .value,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .value,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;display:block;margin:0!important}::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .value .name,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .value .name,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .value .name,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .value .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;font-size:12px;color:#161b2f}::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .value .within,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .value .within,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .value .within,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .value .within{display:flex;align-items:center;justify-content:flex-start;margin-top:4px}::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .value .within .block,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .value .within .block,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .value .within .block,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .value .within .block{background:#f1f1f1;border-radius:.125rem;color:#042e7d;font-size:9px;font-weight:500;text-transform:uppercase;padding:0 4px;margin-right:8px}::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .value .within .data,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .value .within .data,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .value .within .data,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .value .within .data{width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:#747576;line-height:16px;padding-right:20px}::ng-deep .radio-list-body app-no-data .no-data-wrapper{height:calc(100% - 100px)!important}::ng-deep .radio-list.animate{animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .radio-list-footer{background:#fff}::ng-deep .radio-list-footer app-floating-bar .floating-bar{padding:0 16px 16px}@keyframes animate-right{0%{transform:translate(100%)}to{transform:translate(0)}}.mt-2{margin-top:10px!important}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.FloatingBarComponent, selector: "app-floating-bar", inputs: ["selectedData", "selectedGroups", "displayElementKey", "elementId", "singularText", "pluralText", "showNextButton", "showFrequencyText", "showWorkflow", "workflowText", "currentFrequency", "isDisabled", "workflowList", "selectedWorkflow", "workflowPlaceHolder", "mode", "defaultSelected", "groupsEnabled", "nonRemovableUsersList", "removePosition"], outputs: ["closeEvent", "deleteEvent", "closeList", "deleteGroupEvent", "workflowTypeChanged"] }, { kind: "component", type: i3.NoDataComponent, selector: "app-no-data", inputs: ["action", "noDataImage", "noDataText", "noDataButton", "noDataSecButton", "altText", "smallButton", "button"], outputs: ["buttonAction"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.CsCheckboxComponent, selector: "app-cs-checkbox", inputs: ["disabled", "ngValue", "value", "readonly", "oneLine"], outputs: ["ngValueChange"] }, { kind: "component", type: i6.CsRadioComponent, selector: "app-cs-radio", inputs: ["disabled", "readonly", "name", "checked", "value", "oneLine"], outputs: ["checkedEvent"] }, { kind: "component", type: i7.PaginationComponentUI, selector: "app-pagination", inputs: ["activeAlphabet", "pageCount", "start", "end", "total", "currentPage"], outputs: ["selectedPage", "selectedAlphabet"] }, { kind: "component", type: i8.LinkTreatmentLoaderComponent, selector: "app-listline-loader" }, { kind: "pipe", type: i9.SearchPipe, name: "search" }, { kind: "pipe", type: i10.WithinStructurePipe, name: "within" }] }); }
|
|
104
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CategoryListSelectionComponent, selector: "app-category-list-selection", inputs: { setList: ["categoryList", "setList"], config: "config", currentPage: "currentPage", recordStart: "recordStart", recordEnd: "recordEnd", totalRecords: "totalRecords", totalPages: "totalPages", loading: "loading", selectionMode: "selectionMode", setSelected: ["selectedList", "setSelected"] }, outputs: { fetchData: "fetchData", back: "back", next: "next", cancel: "cancel" }, ngImport: i0, template: "<div class=\"radio-list\" [class.animate]=\"animation\">\n <div\n class=\"radio-list-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\"\n >\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">{{ config?.panelTitle }}</div>\n </div>\n\n <div class=\"radio-list-body\">\n <div class=\"search-block vx-mb-2\" *ngIf=\"true\">\n <i class=\"icons\"></i>\n <input\n (keydown.enter)=\"search()\"\n type=\"text\"\n [placeholder]=\"config?.searchPlaceholder\"\n [(ngModel)]=\"searchKey\"\n />\n </div>\n\n <app-pagination\n *ngIf=\"totalPages > 1\"\n [start]=\"recordStart\"\n [end]=\"recordEnd\"\n [total]=\"totalRecords\"\n [pageCount]=\"totalPages\"\n [currentPage]=\"currentPage\"\n (selectedPage)=\"pageChanged($event)\"\n ></app-pagination>\n\n <!-- it is visible when list data is available -->\n <ng-container *ngIf=\"!loading && list?.length\">\n <div\n class=\"categories vx-mb-4\"\n [class.mt-2]=\"totalPages === 0\"\n *ngIf=\"selectionMode === 'multiple'\"\n >\n <app-cs-checkbox\n [ngValue]=\"checkSelectAll()\"\n (ngValueChange)=\"selectAll($event)\"\n >\n <span class=\"vx-fw-600 vx-label-txt\">{{\n checkSelectAll() ? \"Deselect All\" : \"Select All\"\n }}</span>\n </app-cs-checkbox>\n </div>\n <ul\n class=\"categories-list vx-mb-4\"\n [class.with-selectAll]=\"selectionMode === 'multiple'\"\n [class.with-pagination]=\"totalPages > 1\"\n >\n <li *ngFor=\"let item of list | search : searchKey; let i = index\">\n <app-cs-radio\n *ngIf=\"selectionMode === 'single'\"\n [checked]=\"selectedIds?.includes(item[config?.identifierKey])\"\n (checkedEvent)=\"itemSelected($event, item)\"\n [appTooltip]=\"item[config.displayKey]\"\n placement=\"bottom-left\"\n delay=\"0\"\n [tooltipMandatory]=\"true\"\n >\n <div class=\"name\">{{ item[config.displayKey] }}</div>\n <div\n class=\"within vx-d-flex vx-align-center vx-justify-start vx-mt-1\"\n >\n <div\n class=\"block vx-fs-9 vx-fw-500 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2\"\n *ngIf=\"item[config?.parentKey] != ''\"\n >\n WITHIN\n </div>\n <div\n class=\"data vx-fs-11 vx-paragraph-txt vx-lh-4 vx-pr-5\"\n [appTooltip]=\"item[config?.parentKey] | within : list\"\n placement=\"bottom-left\"\n delay=\"0\"\n [tooltipMandatory]=\"false\"\n >\n {{ item[config?.parentKey] | within : list }}\n </div>\n </div>\n </app-cs-radio>\n <app-cs-checkbox\n *ngIf=\"selectionMode === 'multiple'\"\n [ngValue]=\"selectedIds?.includes(item[config?.identifierKey])\"\n (ngValueChange)=\"itemSelected($event, item)\"\n [appTooltip]=\"item[config.displayKey]\"\n placement=\"bottom-left\"\n delay=\"0\"\n [tooltipMandatory]=\"true\"\n >\n <div class=\"name\">{{ item[config.displayKey] }}</div>\n <div\n class=\"within vx-d-flex vx-align-center vx-justify-start vx-mt-1\"\n >\n <div\n class=\"block vx-fs-9 vx-fw-500 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2\"\n *ngIf=\"item[config?.parentKey] != ''\"\n >\n WITHIN\n </div>\n <div\n class=\"data vx-fs-11 vx-paragraph-txt vx-lh-4 vx-pr-5\"\n [appTooltip]=\"item[config?.parentKey] | within : list\"\n placement=\"bottom-left\"\n delay=\"0\"\n [tooltipMandatory]=\"false\"\n >\n {{ item[config?.parentKey] | within : list }}\n </div>\n </div>\n </app-cs-checkbox>\n </li>\n </ul>\n </ng-container>\n <!-- It is visible when the list items are getting loaded -->\n <app-listline-loader *ngIf=\"loading\"></app-listline-loader>\n <ng-container *ngIf=\"!loading && list?.length === 0\">\n <app-no-data\n [noDataImage]=\"\n 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\n \"\n [noDataText]=\"\n config?.noDataText?.length > 0\n ? config?.noDataText\n : 'No data to display'\n \"\n ></app-no-data>\n </ng-container>\n\n <app-floating-bar\n [selectedData]=\"selectedList\"\n [displayElementKey]=\"config?.displayKey\"\n [singularText]=\"config?.entitySingular\"\n [pluralText]=\"\n config?.entityPlural ? config?.entityPlural : 'Users selected'\n \"\n (closeEvent)=\"save()\"\n (closeList)=\"close()\"\n (deleteEvent)=\"deleteItem($event)\"\n [isDisabled]=\"selectedList.length === 0 || list?.length === 0\"\n >\n </app-floating-bar>\n </div>\n</div>\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .radio-list{position:fixed;inset:0 500px 0 0}::ng-deep .radio-list:before{background:#1e5dd3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .radio-list-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .radio-list-close{background:transparent;border:none;outline:none;cursor:pointer;color:#000;font-size:12px;display:inline-block;padding:0}::ng-deep .radio-list-body{background:#fff;height:calc(100vh - 2.75rem);padding:2rem}::ng-deep .radio-list-body .search-block{position:relative}::ng-deep .radio-list-body .search-block input{height:2.75rem;line-height:1.5rem;padding:.5rem 1rem .5rem 2.5rem;outline:none;border:1px solid #7475763f;border-radius:.25rem;width:100%;font-size:14px;color:#747576}::ng-deep .radio-list-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .radio-list-body .search-block i{position:absolute;left:1rem;top:1rem;pointer-events:none;color:#f1f1f1;font-size:12px}::ng-deep .radio-list-body app-pagination .wk-pagination-sec-ds{padding:0!important}::ng-deep .radio-list-body .categories{height:1rem}::ng-deep .radio-list-body .categories app-cs-radio .radio-item,::ng-deep .radio-list-body .categories app-cs-checkbox .radio-item,::ng-deep .radio-list-body .categories app-cs-radio .checkbox-item,::ng-deep .radio-list-body .categories app-cs-checkbox .checkbox-item{position:relative;padding-left:24px;width:100%}::ng-deep .radio-list-body .categories app-cs-radio .radio-item .radio,::ng-deep .radio-list-body .categories app-cs-checkbox .radio-item .radio,::ng-deep .radio-list-body .categories app-cs-radio .checkbox-item .radio,::ng-deep .radio-list-body .categories app-cs-checkbox .checkbox-item .radio,::ng-deep .radio-list-body .categories app-cs-radio .radio-item .radiomark,::ng-deep .radio-list-body .categories app-cs-checkbox .radio-item .radiomark,::ng-deep .radio-list-body .categories app-cs-radio .checkbox-item .radiomark,::ng-deep .radio-list-body .categories app-cs-checkbox .checkbox-item .radiomark,::ng-deep .radio-list-body .categories app-cs-radio .radio-item .checkbox,::ng-deep .radio-list-body .categories app-cs-checkbox .radio-item .checkbox,::ng-deep .radio-list-body .categories app-cs-radio .checkbox-item .checkbox,::ng-deep .radio-list-body .categories app-cs-checkbox .checkbox-item .checkbox,::ng-deep .radio-list-body .categories app-cs-radio .radio-item .checkmark,::ng-deep .radio-list-body .categories app-cs-checkbox .radio-item .checkmark,::ng-deep .radio-list-body .categories app-cs-radio .checkbox-item .checkmark,::ng-deep .radio-list-body .categories app-cs-checkbox .checkbox-item .checkmark{position:absolute!important;top:0;left:0}::ng-deep .radio-list-body .categories app-cs-radio .radio-item .value,::ng-deep .radio-list-body .categories app-cs-checkbox .radio-item .value,::ng-deep .radio-list-body .categories app-cs-radio .checkbox-item .value,::ng-deep .radio-list-body .categories app-cs-checkbox .checkbox-item .value{margin:0!important}::ng-deep .radio-list-body .categories app-cs-radio .radio-item .value span,::ng-deep .radio-list-body .categories app-cs-checkbox .radio-item .value span,::ng-deep .radio-list-body .categories app-cs-radio .checkbox-item .value span,::ng-deep .radio-list-body .categories app-cs-checkbox .checkbox-item .value span{color:#161b2f;font-weight:600;font-size:12px}::ng-deep .radio-list-body ul{padding:0;margin:0}::ng-deep .radio-list-body ul.categories-list{display:block;align-items:flex-start;flex-wrap:wrap;height:calc(100vh - 232px);overflow:auto;margin:16px 0 0}::ng-deep .radio-list-body ul.categories-list.with-pagination{height:calc(100vh - 260px)}::ng-deep .radio-list-body ul.categories-list.with-selectAll{height:calc(100vh - 256px)}::ng-deep .radio-list-body ul.categories-list.with-selectAll.with-pagination{height:calc(100vh - 284px)}::ng-deep .radio-list-body ul.categories-list li{padding:0 0 .5rem;list-style:none}::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item{position:relative;padding-left:24px;width:100%}::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .radio,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .radio,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .radio,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .radio,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .radiomark,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .radiomark,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .radiomark,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .radiomark,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .checkbox,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .checkbox,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .checkbox,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .checkbox,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .checkmark,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .checkmark,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .checkmark,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .checkmark{position:absolute;top:0;left:0}::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .value,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .value,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .value,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;display:block;margin:0!important}::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .value .name,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .value .name,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .value .name,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .value .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;font-size:12px;color:#161b2f}::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .value .within,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .value .within,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .value .within,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .value .within{display:flex;align-items:center;justify-content:flex-start;margin-top:4px}::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .value .within .block,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .value .within .block,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .value .within .block,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .value .within .block{background:#f1f1f1;border-radius:.125rem;color:#042e7d;font-size:9px;font-weight:500;text-transform:uppercase;padding:0 4px;margin-right:8px}::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .value .within .data,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .value .within .data,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .value .within .data,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .value .within .data{width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:#747576;line-height:16px;padding-right:20px}::ng-deep .radio-list-body app-no-data .no-data-wrapper{height:calc(100% - 100px)!important}::ng-deep .radio-list.animate{animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .radio-list-footer{background:#fff}::ng-deep .radio-list-footer app-floating-bar .floating-bar{padding:0 16px 16px}@keyframes animate-right{0%{transform:translate(100%)}to{transform:translate(0)}}.mt-2{margin-top:10px!important}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.FloatingBarComponent, selector: "app-floating-bar", inputs: ["selectedData", "selectedGroups", "displayElementKey", "elementId", "singularText", "pluralText", "showNextButton", "showFrequencyText", "showWorkflow", "workflowText", "currentFrequency", "isDisabled", "workflowList", "selectedWorkflow", "workflowPlaceHolder", "mode", "defaultSelected", "groupsEnabled", "nonRemovableUsersList", "removePosition"], outputs: ["closeEvent", "deleteEvent", "closeList", "deleteGroupEvent", "workflowTypeChanged"] }, { kind: "component", type: i3.NoDataComponent, selector: "app-no-data", inputs: ["action", "noDataImage", "noDataText", "noDataButton", "noDataSecButton", "altText", "smallButton", "button"], outputs: ["buttonAction"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.CsCheckboxComponent, selector: "app-cs-checkbox", inputs: ["disabled", "ngValue", "value", "readonly", "oneLine"], outputs: ["ngValueChange"] }, { kind: "component", type: i6.CsRadioComponent, selector: "app-cs-radio", inputs: ["disabled", "readonly", "name", "checked", "value", "oneLine"], outputs: ["checkedEvent"] }, { kind: "component", type: i7.PaginationComponentUI, selector: "app-pagination", inputs: ["activeAlphabet", "pageCount", "start", "end", "total", "currentPage"], outputs: ["selectedPage", "selectedAlphabet"] }, { kind: "component", type: i8.LinkTreatmentLoaderComponent, selector: "app-listline-loader" }, { kind: "pipe", type: i9.SearchPipe, name: "search" }, { kind: "pipe", type: i10.WithinStructurePipe, name: "within" }] }); }
|
|
105
105
|
}
|
|
106
106
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CategoryListSelectionComponent, decorators: [{
|
|
107
107
|
type: Component,
|
|
108
|
-
args: [{ selector: 'app-category-list-selection', template: "<div class=\"radio-list\" [class.animate]=\"animation\">\n <div\n class=\"radio-list-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\"\n >\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">{{ config?.panelTitle }}</div>\n </div>\n\n <div class=\"radio-list-body\">\n <div class=\"search-block vx-mb-2\" *ngIf=\"true\">\n <i class=\"icons\"></i>\n <input\n (keydown.enter)=\"search()\"\n type=\"text\"\n [placeholder]=\"config?.searchPlaceholder\"\n [(ngModel)]=\"searchKey\"\n />\n </div>\n\n <app-pagination\n *ngIf=\"totalPages > 1\"\n [start]=\"recordStart\"\n [end]=\"recordEnd\"\n [total]=\"totalRecords\"\n [pageCount]=\"totalPages\"\n [currentPage]=\"currentPage\"\n (selectedPage)=\"pageChanged($event)\"\n ></app-pagination>\n\n <!-- it is visible when list data is available -->\n <ng-container *ngIf=\"!loading && list?.length\">\n <div class=\"categories vx-mb-4\" [class.mt-2]=\"totalPages === 0\">\n <app-cs-checkbox\n *ngIf=\"selectionMode === 'multiple'\"\n [ngValue]=\"checkSelectAll()\"\n (ngValueChange)=\"selectAll($event)\"\n >\n <span class=\"vx-fw-600 vx-label-txt\">{{\n checkSelectAll() ? \"Deselect All\" : \"Select All\"\n }}</span>\n </app-cs-checkbox>\n </div>\n <ul\n class=\"categories-list vx-mb-4\"\n [class.with-pagination]=\"totalPages > 1\"\n >\n <li *ngFor=\"let item of list | search : searchKey; let i = index\">\n <app-cs-radio\n *ngIf=\"selectionMode === 'single'\"\n [checked]=\"selectedIds?.includes(item[config?.identifierKey])\"\n (checkedEvent)=\"itemSelected($event, item)\"\n [appTooltip]=\"item[config.displayKey]\"\n placement=\"bottom-left\"\n delay=\"0\"\n [tooltipMandatory]=\"true\"\n >\n <div class=\"name\">{{ item[config.displayKey] }}</div>\n <div\n class=\"within vx-d-flex vx-align-center vx-justify-start vx-mt-1\"\n >\n <div\n class=\"block vx-fs-9 vx-fw-500 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2\"\n *ngIf=\"item[config?.parentKey] != ''\"\n >\n WITHIN\n </div>\n <div\n class=\"data vx-fs-11 vx-paragraph-txt vx-lh-4 vx-pr-5\"\n [appTooltip]=\"item[config?.parentKey] | within : list\"\n placement=\"bottom-left\"\n delay=\"0\"\n [tooltipMandatory]=\"false\"\n >\n {{ item[config?.parentKey] | within : list }}\n </div>\n </div>\n </app-cs-radio>\n <app-cs-checkbox\n *ngIf=\"selectionMode === 'multiple'\"\n [ngValue]=\"selectedIds?.includes(item[config?.identifierKey])\"\n (ngValueChange)=\"itemSelected($event, item)\"\n [appTooltip]=\"item[config.displayKey]\"\n placement=\"bottom-left\"\n delay=\"0\"\n [tooltipMandatory]=\"true\"\n >\n <div class=\"name\">{{ item[config.displayKey] }}</div>\n <div\n class=\"within vx-d-flex vx-align-center vx-justify-start vx-mt-1\"\n >\n <div\n class=\"block vx-fs-9 vx-fw-500 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2\"\n *ngIf=\"item[config?.parentKey] != ''\"\n >\n WITHIN\n </div>\n <div\n class=\"data vx-fs-11 vx-paragraph-txt vx-lh-4 vx-pr-5\"\n [appTooltip]=\"item[config?.parentKey] | within : list\"\n placement=\"bottom-left\"\n delay=\"0\"\n [tooltipMandatory]=\"false\"\n >\n {{ item[config?.parentKey] | within : list }}\n </div>\n </div>\n </app-cs-checkbox>\n </li>\n </ul>\n </ng-container>\n <!-- It is visible when the list items are getting loaded -->\n <app-listline-loader *ngIf=\"loading\"></app-listline-loader>\n <ng-container *ngIf=\"!loading && list?.length === 0\">\n <app-no-data\n [noDataImage]=\"\n 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\n \"\n [noDataText]=\"\n config?.noDataText?.length > 0\n ? config?.noDataText\n : 'No data to display'\n \"\n ></app-no-data>\n </ng-container>\n\n <app-floating-bar\n [selectedData]=\"selectedList\"\n [displayElementKey]=\"config?.displayKey\"\n [singularText]=\"config?.entitySingular\"\n [pluralText]=\"\n config?.entityPlural ? config?.entityPlural : 'Users selected'\n \"\n (closeEvent)=\"save()\"\n (closeList)=\"close()\"\n (deleteEvent)=\"deleteItem($event)\"\n [isDisabled]=\"selectedList.length === 0 || list?.length === 0\"\n >\n </app-floating-bar>\n </div>\n</div>\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .radio-list{position:fixed;inset:0 500px 0 0}::ng-deep .radio-list:before{background:#1e5dd3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .radio-list-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .radio-list-close{background:transparent;border:none;outline:none;cursor:pointer;color:#000;font-size:12px;display:inline-block;padding:0}::ng-deep .radio-list-body{background:#fff;height:calc(100vh - 2.75rem);padding:2rem}::ng-deep .radio-list-body .search-block{position:relative}::ng-deep .radio-list-body .search-block input{height:2.75rem;line-height:1.5rem;padding:.5rem 1rem .5rem 2.5rem;outline:none;border:1px solid #7475763f;border-radius:.25rem;width:100%;font-size:14px;color:#747576}::ng-deep .radio-list-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .radio-list-body .search-block i{position:absolute;left:1rem;top:1rem;pointer-events:none;color:#f1f1f1;font-size:12px}::ng-deep .radio-list-body app-pagination .wk-pagination-sec-ds{padding:0!important}::ng-deep .radio-list-body .categories{height:1rem}::ng-deep .radio-list-body .categories app-cs-radio .radio-item,::ng-deep .radio-list-body .categories app-cs-checkbox .radio-item,::ng-deep .radio-list-body .categories app-cs-radio .checkbox-item,::ng-deep .radio-list-body .categories app-cs-checkbox .checkbox-item{position:relative;padding-left:24px;width:100%}::ng-deep .radio-list-body .categories app-cs-radio .radio-item .radio,::ng-deep .radio-list-body .categories app-cs-checkbox .radio-item .radio,::ng-deep .radio-list-body .categories app-cs-radio .checkbox-item .radio,::ng-deep .radio-list-body .categories app-cs-checkbox .checkbox-item .radio,::ng-deep .radio-list-body .categories app-cs-radio .radio-item .radiomark,::ng-deep .radio-list-body .categories app-cs-checkbox .radio-item .radiomark,::ng-deep .radio-list-body .categories app-cs-radio .checkbox-item .radiomark,::ng-deep .radio-list-body .categories app-cs-checkbox .checkbox-item .radiomark,::ng-deep .radio-list-body .categories app-cs-radio .radio-item .checkbox,::ng-deep .radio-list-body .categories app-cs-checkbox .radio-item .checkbox,::ng-deep .radio-list-body .categories app-cs-radio .checkbox-item .checkbox,::ng-deep .radio-list-body .categories app-cs-checkbox .checkbox-item .checkbox,::ng-deep .radio-list-body .categories app-cs-radio .radio-item .checkmark,::ng-deep .radio-list-body .categories app-cs-checkbox .radio-item .checkmark,::ng-deep .radio-list-body .categories app-cs-radio .checkbox-item .checkmark,::ng-deep .radio-list-body .categories app-cs-checkbox .checkbox-item .checkmark{position:absolute!important;top:0;left:0}::ng-deep .radio-list-body .categories app-cs-radio .radio-item .value,::ng-deep .radio-list-body .categories app-cs-checkbox .radio-item .value,::ng-deep .radio-list-body .categories app-cs-radio .checkbox-item .value,::ng-deep .radio-list-body .categories app-cs-checkbox .checkbox-item .value{margin:0!important}::ng-deep .radio-list-body .categories app-cs-radio .radio-item .value span,::ng-deep .radio-list-body .categories app-cs-checkbox .radio-item .value span,::ng-deep .radio-list-body .categories app-cs-radio .checkbox-item .value span,::ng-deep .radio-list-body .categories app-cs-checkbox .checkbox-item .value span{color:#161b2f;font-weight:600;font-size:12px}::ng-deep .radio-list-body ul{padding:0;margin:0}::ng-deep .radio-list-body ul.categories-list{display:block;align-items:flex-start;flex-wrap:wrap;height:calc(100vh - 256px);overflow:auto;margin:16px 0 0}::ng-deep .radio-list-body ul.categories-list.with-pagination{height:calc(100vh - 284px)}::ng-deep .radio-list-body ul.categories-list li{padding:0 0 .5rem;list-style:none}::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item{position:relative;padding-left:24px;width:100%}::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .radio,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .radio,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .radio,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .radio,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .radiomark,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .radiomark,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .radiomark,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .radiomark,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .checkbox,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .checkbox,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .checkbox,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .checkbox,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .checkmark,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .checkmark,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .checkmark,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .checkmark{position:absolute;top:0;left:0}::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .value,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .value,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .value,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;display:block;margin:0!important}::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .value .name,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .value .name,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .value .name,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .value .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;font-size:12px;color:#161b2f}::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .value .within,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .value .within,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .value .within,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .value .within{display:flex;align-items:center;justify-content:flex-start;margin-top:4px}::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .value .within .block,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .value .within .block,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .value .within .block,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .value .within .block{background:#f1f1f1;border-radius:.125rem;color:#042e7d;font-size:9px;font-weight:500;text-transform:uppercase;padding:0 4px;margin-right:8px}::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .value .within .data,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .value .within .data,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .value .within .data,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .value .within .data{width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:#747576;line-height:16px;padding-right:20px}::ng-deep .radio-list-body app-no-data .no-data-wrapper{height:calc(100% - 100px)!important}::ng-deep .radio-list.animate{animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .radio-list-footer{background:#fff}::ng-deep .radio-list-footer app-floating-bar .floating-bar{padding:0 16px 16px}@keyframes animate-right{0%{transform:translate(100%)}to{transform:translate(0)}}.mt-2{margin-top:10px!important}\n"] }]
|
|
108
|
+
args: [{ selector: 'app-category-list-selection', template: "<div class=\"radio-list\" [class.animate]=\"animation\">\n <div\n class=\"radio-list-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\"\n >\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">{{ config?.panelTitle }}</div>\n </div>\n\n <div class=\"radio-list-body\">\n <div class=\"search-block vx-mb-2\" *ngIf=\"true\">\n <i class=\"icons\"></i>\n <input\n (keydown.enter)=\"search()\"\n type=\"text\"\n [placeholder]=\"config?.searchPlaceholder\"\n [(ngModel)]=\"searchKey\"\n />\n </div>\n\n <app-pagination\n *ngIf=\"totalPages > 1\"\n [start]=\"recordStart\"\n [end]=\"recordEnd\"\n [total]=\"totalRecords\"\n [pageCount]=\"totalPages\"\n [currentPage]=\"currentPage\"\n (selectedPage)=\"pageChanged($event)\"\n ></app-pagination>\n\n <!-- it is visible when list data is available -->\n <ng-container *ngIf=\"!loading && list?.length\">\n <div\n class=\"categories vx-mb-4\"\n [class.mt-2]=\"totalPages === 0\"\n *ngIf=\"selectionMode === 'multiple'\"\n >\n <app-cs-checkbox\n [ngValue]=\"checkSelectAll()\"\n (ngValueChange)=\"selectAll($event)\"\n >\n <span class=\"vx-fw-600 vx-label-txt\">{{\n checkSelectAll() ? \"Deselect All\" : \"Select All\"\n }}</span>\n </app-cs-checkbox>\n </div>\n <ul\n class=\"categories-list vx-mb-4\"\n [class.with-selectAll]=\"selectionMode === 'multiple'\"\n [class.with-pagination]=\"totalPages > 1\"\n >\n <li *ngFor=\"let item of list | search : searchKey; let i = index\">\n <app-cs-radio\n *ngIf=\"selectionMode === 'single'\"\n [checked]=\"selectedIds?.includes(item[config?.identifierKey])\"\n (checkedEvent)=\"itemSelected($event, item)\"\n [appTooltip]=\"item[config.displayKey]\"\n placement=\"bottom-left\"\n delay=\"0\"\n [tooltipMandatory]=\"true\"\n >\n <div class=\"name\">{{ item[config.displayKey] }}</div>\n <div\n class=\"within vx-d-flex vx-align-center vx-justify-start vx-mt-1\"\n >\n <div\n class=\"block vx-fs-9 vx-fw-500 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2\"\n *ngIf=\"item[config?.parentKey] != ''\"\n >\n WITHIN\n </div>\n <div\n class=\"data vx-fs-11 vx-paragraph-txt vx-lh-4 vx-pr-5\"\n [appTooltip]=\"item[config?.parentKey] | within : list\"\n placement=\"bottom-left\"\n delay=\"0\"\n [tooltipMandatory]=\"false\"\n >\n {{ item[config?.parentKey] | within : list }}\n </div>\n </div>\n </app-cs-radio>\n <app-cs-checkbox\n *ngIf=\"selectionMode === 'multiple'\"\n [ngValue]=\"selectedIds?.includes(item[config?.identifierKey])\"\n (ngValueChange)=\"itemSelected($event, item)\"\n [appTooltip]=\"item[config.displayKey]\"\n placement=\"bottom-left\"\n delay=\"0\"\n [tooltipMandatory]=\"true\"\n >\n <div class=\"name\">{{ item[config.displayKey] }}</div>\n <div\n class=\"within vx-d-flex vx-align-center vx-justify-start vx-mt-1\"\n >\n <div\n class=\"block vx-fs-9 vx-fw-500 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2\"\n *ngIf=\"item[config?.parentKey] != ''\"\n >\n WITHIN\n </div>\n <div\n class=\"data vx-fs-11 vx-paragraph-txt vx-lh-4 vx-pr-5\"\n [appTooltip]=\"item[config?.parentKey] | within : list\"\n placement=\"bottom-left\"\n delay=\"0\"\n [tooltipMandatory]=\"false\"\n >\n {{ item[config?.parentKey] | within : list }}\n </div>\n </div>\n </app-cs-checkbox>\n </li>\n </ul>\n </ng-container>\n <!-- It is visible when the list items are getting loaded -->\n <app-listline-loader *ngIf=\"loading\"></app-listline-loader>\n <ng-container *ngIf=\"!loading && list?.length === 0\">\n <app-no-data\n [noDataImage]=\"\n 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\n \"\n [noDataText]=\"\n config?.noDataText?.length > 0\n ? config?.noDataText\n : 'No data to display'\n \"\n ></app-no-data>\n </ng-container>\n\n <app-floating-bar\n [selectedData]=\"selectedList\"\n [displayElementKey]=\"config?.displayKey\"\n [singularText]=\"config?.entitySingular\"\n [pluralText]=\"\n config?.entityPlural ? config?.entityPlural : 'Users selected'\n \"\n (closeEvent)=\"save()\"\n (closeList)=\"close()\"\n (deleteEvent)=\"deleteItem($event)\"\n [isDisabled]=\"selectedList.length === 0 || list?.length === 0\"\n >\n </app-floating-bar>\n </div>\n</div>\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .radio-list{position:fixed;inset:0 500px 0 0}::ng-deep .radio-list:before{background:#1e5dd3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .radio-list-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .radio-list-close{background:transparent;border:none;outline:none;cursor:pointer;color:#000;font-size:12px;display:inline-block;padding:0}::ng-deep .radio-list-body{background:#fff;height:calc(100vh - 2.75rem);padding:2rem}::ng-deep .radio-list-body .search-block{position:relative}::ng-deep .radio-list-body .search-block input{height:2.75rem;line-height:1.5rem;padding:.5rem 1rem .5rem 2.5rem;outline:none;border:1px solid #7475763f;border-radius:.25rem;width:100%;font-size:14px;color:#747576}::ng-deep .radio-list-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .radio-list-body .search-block i{position:absolute;left:1rem;top:1rem;pointer-events:none;color:#f1f1f1;font-size:12px}::ng-deep .radio-list-body app-pagination .wk-pagination-sec-ds{padding:0!important}::ng-deep .radio-list-body .categories{height:1rem}::ng-deep .radio-list-body .categories app-cs-radio .radio-item,::ng-deep .radio-list-body .categories app-cs-checkbox .radio-item,::ng-deep .radio-list-body .categories app-cs-radio .checkbox-item,::ng-deep .radio-list-body .categories app-cs-checkbox .checkbox-item{position:relative;padding-left:24px;width:100%}::ng-deep .radio-list-body .categories app-cs-radio .radio-item .radio,::ng-deep .radio-list-body .categories app-cs-checkbox .radio-item .radio,::ng-deep .radio-list-body .categories app-cs-radio .checkbox-item .radio,::ng-deep .radio-list-body .categories app-cs-checkbox .checkbox-item .radio,::ng-deep .radio-list-body .categories app-cs-radio .radio-item .radiomark,::ng-deep .radio-list-body .categories app-cs-checkbox .radio-item .radiomark,::ng-deep .radio-list-body .categories app-cs-radio .checkbox-item .radiomark,::ng-deep .radio-list-body .categories app-cs-checkbox .checkbox-item .radiomark,::ng-deep .radio-list-body .categories app-cs-radio .radio-item .checkbox,::ng-deep .radio-list-body .categories app-cs-checkbox .radio-item .checkbox,::ng-deep .radio-list-body .categories app-cs-radio .checkbox-item .checkbox,::ng-deep .radio-list-body .categories app-cs-checkbox .checkbox-item .checkbox,::ng-deep .radio-list-body .categories app-cs-radio .radio-item .checkmark,::ng-deep .radio-list-body .categories app-cs-checkbox .radio-item .checkmark,::ng-deep .radio-list-body .categories app-cs-radio .checkbox-item .checkmark,::ng-deep .radio-list-body .categories app-cs-checkbox .checkbox-item .checkmark{position:absolute!important;top:0;left:0}::ng-deep .radio-list-body .categories app-cs-radio .radio-item .value,::ng-deep .radio-list-body .categories app-cs-checkbox .radio-item .value,::ng-deep .radio-list-body .categories app-cs-radio .checkbox-item .value,::ng-deep .radio-list-body .categories app-cs-checkbox .checkbox-item .value{margin:0!important}::ng-deep .radio-list-body .categories app-cs-radio .radio-item .value span,::ng-deep .radio-list-body .categories app-cs-checkbox .radio-item .value span,::ng-deep .radio-list-body .categories app-cs-radio .checkbox-item .value span,::ng-deep .radio-list-body .categories app-cs-checkbox .checkbox-item .value span{color:#161b2f;font-weight:600;font-size:12px}::ng-deep .radio-list-body ul{padding:0;margin:0}::ng-deep .radio-list-body ul.categories-list{display:block;align-items:flex-start;flex-wrap:wrap;height:calc(100vh - 232px);overflow:auto;margin:16px 0 0}::ng-deep .radio-list-body ul.categories-list.with-pagination{height:calc(100vh - 260px)}::ng-deep .radio-list-body ul.categories-list.with-selectAll{height:calc(100vh - 256px)}::ng-deep .radio-list-body ul.categories-list.with-selectAll.with-pagination{height:calc(100vh - 284px)}::ng-deep .radio-list-body ul.categories-list li{padding:0 0 .5rem;list-style:none}::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item{position:relative;padding-left:24px;width:100%}::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .radio,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .radio,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .radio,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .radio,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .radiomark,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .radiomark,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .radiomark,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .radiomark,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .checkbox,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .checkbox,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .checkbox,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .checkbox,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .checkmark,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .checkmark,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .checkmark,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .checkmark{position:absolute;top:0;left:0}::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .value,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .value,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .value,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;display:block;margin:0!important}::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .value .name,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .value .name,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .value .name,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .value .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;font-size:12px;color:#161b2f}::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .value .within,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .value .within,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .value .within,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .value .within{display:flex;align-items:center;justify-content:flex-start;margin-top:4px}::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .value .within .block,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .value .within .block,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .value .within .block,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .value .within .block{background:#f1f1f1;border-radius:.125rem;color:#042e7d;font-size:9px;font-weight:500;text-transform:uppercase;padding:0 4px;margin-right:8px}::ng-deep .radio-list-body ul.categories-list li app-cs-radio .radio-item .value .within .data,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .radio-item .value .within .data,::ng-deep .radio-list-body ul.categories-list li app-cs-radio .checkbox-item .value .within .data,::ng-deep .radio-list-body ul.categories-list li app-cs-checkbox .checkbox-item .value .within .data{width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:#747576;line-height:16px;padding-right:20px}::ng-deep .radio-list-body app-no-data .no-data-wrapper{height:calc(100% - 100px)!important}::ng-deep .radio-list.animate{animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .radio-list-footer{background:#fff}::ng-deep .radio-list-footer app-floating-bar .floating-bar{padding:0 16px 16px}@keyframes animate-right{0%{transform:translate(100%)}to{transform:translate(0)}}.mt-2{margin-top:10px!important}\n"] }]
|
|
109
109
|
}], ctorParameters: function () { return []; }, propDecorators: { fetchData: [{
|
|
110
110
|
type: Output
|
|
111
111
|
}], back: [{
|
|
@@ -137,4 +137,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
137
137
|
type: Input,
|
|
138
138
|
args: ['selectedList']
|
|
139
139
|
}] } });
|
|
140
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnktbGlzdC1zZWxlY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9jYXRlZ29yeS1saXN0LXNlbGVjdGlvbi9jYXRlZ29yeS1saXN0LXNlbGVjdGlvbi9jYXRlZ29yeS1saXN0LXNlbGVjdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2NhdGVnb3J5LWxpc3Qtc2VsZWN0aW9uL2NhdGVnb3J5LWxpc3Qtc2VsZWN0aW9uL2NhdGVnb3J5LWxpc3Qtc2VsZWN0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7OztBQXFCdkIsTUFBTSxPQUFPLDhCQUE4QjtJQVF6QyxJQUEyQixPQUFPLENBQUMsS0FBVTtRQUMzQyxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBU0QsSUFBMkIsV0FBVyxDQUFDLEtBQVU7UUFDL0MsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQztZQUMvQixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDdkI7SUFDSCxDQUFDO0lBR0Q7UUExQlUsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFhLENBQUM7UUFDMUMsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDMUIsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDMUIsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDdEMsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUNWLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFDZixpQkFBWSxHQUFRLEVBQUUsQ0FBQztRQUtkLGdCQUFXLEdBQVEsQ0FBQyxDQUFDO1FBQ3JCLGdCQUFXLEdBQVEsQ0FBQyxDQUFDO1FBQ3JCLGNBQVMsR0FBUSxDQUFDLENBQUM7UUFDbkIsaUJBQVksR0FBUSxDQUFDLENBQUM7UUFDdEIsZUFBVSxHQUFRLENBQUMsQ0FBQztRQUNwQixZQUFPLEdBQVEsSUFBSSxDQUFDO1FBQ3BCLGtCQUFhLEdBQTBCLFVBQVUsQ0FBQztRQU8zRCxjQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLGdCQUFXLEdBQVEsRUFBRSxDQUFDO0lBQ1AsQ0FBQztJQUVoQixRQUFRLEtBQVUsQ0FBQztJQUVuQixxQ0FBcUM7SUFDckMsV0FBVyxDQUFDLElBQVk7UUFDdEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDeEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVELGdDQUFnQztJQUNoQyxNQUFNO1FBQ0osSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUM7UUFDckIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFVLEVBQUUsSUFBUztRQUNoQyxJQUFJLElBQUksQ0FBQyxhQUFhLEtBQUssUUFBUSxFQUFFO1lBQ25DLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMzQixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDdkI7YUFBTTtZQUNMLElBQUksS0FBSyxFQUFFO2dCQUNULElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUM3QixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7YUFDdkI7aUJBQU07Z0JBQ0wsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQ3JDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxLQUFLLElBQUksRUFBRSxHQUFHLENBQ2pDLENBQUM7Z0JBQ0YsSUFBSSxLQUFLLElBQUksQ0FBQyxFQUFFO29CQUNkLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQzFDLENBQUMsR0FBUSxFQUFFLEVBQUUsQ0FDWCxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxhQUFhLENBQUM7d0JBQy9CLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLGFBQWEsQ0FBQyxDQUNuQyxDQUFDO29CQUNGLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztpQkFDdkI7YUFDRjtTQUNGO0lBQ0gsQ0FBQztJQUVELGNBQWM7UUFDWixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUN0QyxDQUFDLEdBQVEsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsYUFBYSxDQUFDLENBQzlDLENBQUM7UUFDRixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQzVCLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FDbEQsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRTtZQUNYLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDMUQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsVUFBVSxDQUFDLEdBQVE7UUFDakIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FDMUMsQ0FBQyxHQUFRLEVBQUUsRUFBRSxDQUNYLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLGFBQWEsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLGFBQWEsQ0FBQyxDQUN0RSxDQUFDO1FBQ0YsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBQ0QsSUFBSTtRQUNGLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsU0FBUyxDQUFDLEdBQVE7UUFDaEIsSUFBSSxHQUFHLEVBQUU7WUFDUCxJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3pELElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUN2QjthQUFNLElBQUksR0FBRyxLQUFLLEtBQUssRUFBRTtZQUN4QixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzdELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQzFDLENBQUMsR0FBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUNsRCxDQUFDO1lBQ0YsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1NBQ3ZCO0lBQ0gsQ0FBQztJQUNELGNBQWM7UUFDWixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQU8sRUFBRSxFQUFFLENBQ3ZDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQ3pELENBQUM7UUFDRixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7K0dBN0dVLDhCQUE4QjttR0FBOUIsOEJBQThCLG9jQzdCM0Msa2pLQTJJQTs7NEZEOUdhLDhCQUE4QjtrQkFMMUMsU0FBUzsrQkFDRSw2QkFBNkI7MEVBSzdCLFNBQVM7c0JBQWxCLE1BQU07Z0JBQ0csSUFBSTtzQkFBYixNQUFNO2dCQUNHLElBQUk7c0JBQWIsTUFBTTtnQkFDRyxNQUFNO3NCQUFmLE1BQU07Z0JBSW9CLE9BQU87c0JBQWpDLEtBQUs7dUJBQUMsY0FBYztnQkFHWixNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNxQixXQUFXO3NCQUFyQyxLQUFLO3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuZXhwb3J0IGludGVyZmFjZSBMaXN0RXZlbnQge1xuICBzZWFyY2hLZXk/OiBzdHJpbmc7XG4gIHBhZ2U/OiBudW1iZXI7XG59XG5leHBvcnQgaW50ZXJmYWNlIHBhbmVsQ29uZmlnIHtcbiAgcGFuZWxUaXRsZTogJyc7XG4gIGVudGl0eVNpbmd1bGFyOiAnJztcbiAgZW50aXR5UGx1cmFsOiAnJztcbiAgZGlzcGxheUtleTogJyc7XG4gIGlkZW50aWZpZXJLZXk6ICcnO1xuICBwYXJlbnRLZXk6ICcnO1xuICBwYXJlbnREaXNwbGF5S2V5OiAnJztcbiAgc2VhcmNoUGxhY2Vob2xkZXI6ICcnO1xuICBub0RhdGFUZXh0OiAnJztcbn1cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1jYXRlZ29yeS1saXN0LXNlbGVjdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jYXRlZ29yeS1saXN0LXNlbGVjdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NhdGVnb3J5LWxpc3Qtc2VsZWN0aW9uLmNvbXBvbmVudC5sZXNzJ10sXG59KVxuZXhwb3J0IGNsYXNzIENhdGVnb3J5TGlzdFNlbGVjdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBPdXRwdXQoKSBmZXRjaERhdGEgPSBuZXcgRXZlbnRFbWl0dGVyPExpc3RFdmVudD4oKTtcbiAgQE91dHB1dCgpIGJhY2sgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBuZXh0ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgY2FuY2VsID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBsaXN0ID0gW107XG4gIHNlYXJjaEtleSA9ICcnO1xuICBzZWxlY3RlZExpc3Q6IGFueSA9IFtdO1xuICBASW5wdXQoJ2NhdGVnb3J5TGlzdCcpIHNldCBzZXRMaXN0KHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLmxpc3QgPSB2YWx1ZTtcbiAgfVxuICBASW5wdXQoKSBjb25maWchOiBwYW5lbENvbmZpZztcbiAgQElucHV0KCkgY3VycmVudFBhZ2U6IGFueSA9IDE7XG4gIEBJbnB1dCgpIHJlY29yZFN0YXJ0OiBhbnkgPSAxO1xuICBASW5wdXQoKSByZWNvcmRFbmQ6IGFueSA9IDE7XG4gIEBJbnB1dCgpIHRvdGFsUmVjb3JkczogYW55ID0gMTtcbiAgQElucHV0KCkgdG90YWxQYWdlczogYW55ID0gMTtcbiAgQElucHV0KCkgbG9hZGluZzogYW55ID0gdHJ1ZTtcbiAgQElucHV0KCkgc2VsZWN0aW9uTW9kZTogJ3NpbmdsZScgfCAnbXVsdGlwbGUnID0gJ211bHRpcGxlJztcbiAgQElucHV0KCdzZWxlY3RlZExpc3QnKSBzZXQgc2V0U2VsZWN0ZWQodmFsdWU6IGFueSkge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy5zZWxlY3RlZExpc3QgPSBbLi4udmFsdWVdO1xuICAgICAgdGhpcy5zZXRTZWxlY3RlZElkcygpO1xuICAgIH1cbiAgfVxuICBhbmltYXRpb24gPSB0cnVlO1xuICBzZWxlY3RlZElkczogYW55ID0gW107XG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XG5cbiAgLy9UaGlzIG1ldGhvZCBoYW5kbGVzIHRoZSBwYWdlIGNoYW5nZVxuICBwYWdlQ2hhbmdlZChwYWdlOiBudW1iZXIpIHtcbiAgICB0aGlzLmN1cnJlbnRQYWdlID0gcGFnZTtcbiAgICB0aGlzLmZldGNoRGF0YS5lbWl0KHsgcGFnZTogdGhpcy5jdXJyZW50UGFnZSwgc2VhcmNoS2V5OiB0aGlzLnNlYXJjaEtleSB9KTtcbiAgfVxuXG4gIC8vVGhpcyBtZXRob2QgaGFuZGxlcyB0aGUgc2VhcmNoXG4gIHNlYXJjaCgpIHtcbiAgICB0aGlzLmN1cnJlbnRQYWdlID0gMTtcbiAgICB0aGlzLmZldGNoRGF0YS5lbWl0KHsgcGFnZTogdGhpcy5jdXJyZW50UGFnZSwgc2VhcmNoS2V5OiB0aGlzLnNlYXJjaEtleSB9KTtcbiAgfVxuXG4gIGl0ZW1TZWxlY3RlZChldmVudDogYW55LCBpdGVtOiBhbnkpIHtcbiAgICBpZiAodGhpcy5zZWxlY3Rpb25Nb2RlID09PSAnc2luZ2xlJykge1xuICAgICAgdGhpcy5zZWxlY3RlZExpc3QgPSBbaXRlbV07XG4gICAgICB0aGlzLnNldFNlbGVjdGVkSWRzKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChldmVudCkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkTGlzdC5wdXNoKGl0ZW0pO1xuICAgICAgICB0aGlzLnNldFNlbGVjdGVkSWRzKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsZXQgaW5kZXggPSB0aGlzLnNlbGVjdGVkTGlzdC5maW5kSW5kZXgoXG4gICAgICAgICAgKHg6IGFueSkgPT4geD8uX2lkID09PSBpdGVtPy5faWRcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKGluZGV4ID49IDApIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkTGlzdCA9IHRoaXMuc2VsZWN0ZWRMaXN0LmZpbHRlcihcbiAgICAgICAgICAgIChlbGU6IGFueSkgPT5cbiAgICAgICAgICAgICAgZWxlW3RoaXMuY29uZmlnPy5pZGVudGlmaWVyS2V5XSAhPT1cbiAgICAgICAgICAgICAgaXRlbVt0aGlzLmNvbmZpZz8uaWRlbnRpZmllcktleV1cbiAgICAgICAgICApO1xuICAgICAgICAgIHRoaXMuc2V0U2VsZWN0ZWRJZHMoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHNldFNlbGVjdGVkSWRzKCkge1xuICAgIHRoaXMuc2VsZWN0ZWRJZHMgPSB0aGlzLnNlbGVjdGVkTGlzdC5tYXAoXG4gICAgICAoZWxlOiBhbnkpID0+IGVsZVt0aGlzLmNvbmZpZz8uaWRlbnRpZmllcktleV1cbiAgICApO1xuICAgIHRoaXMuc2VsZWN0ZWRMaXN0ID0gQXJyYXkuZnJvbShcbiAgICAgIG5ldyBTZXQodGhpcy5zZWxlY3RlZExpc3QubWFwKChhOiBhbnkpID0+IGEuX2lkKSlcbiAgICApLm1hcCgoaWQpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLnNlbGVjdGVkTGlzdC5maW5kKChhOiBhbnkpID0+IGEuX2lkID09PSBpZCk7XG4gICAgfSk7XG4gIH1cbiAgZGVsZXRlSXRlbShldnQ6IGFueSkge1xuICAgIHRoaXMuc2VsZWN0ZWRMaXN0ID0gdGhpcy5zZWxlY3RlZExpc3QuZmlsdGVyKFxuICAgICAgKGVsZTogYW55KSA9PlxuICAgICAgICBlbGVbdGhpcy5jb25maWc/LmlkZW50aWZpZXJLZXldICE9PSBldnRbdGhpcy5jb25maWc/LmlkZW50aWZpZXJLZXldXG4gICAgKTtcbiAgICB0aGlzLnNldFNlbGVjdGVkSWRzKCk7XG4gIH1cblxuICBjbG9zZSgpIHtcbiAgICB0aGlzLmNhbmNlbC5lbWl0KCk7XG4gIH1cbiAgc2F2ZSgpIHtcbiAgICB0aGlzLm5leHQuZW1pdCh0aGlzLnNlbGVjdGVkTGlzdCk7XG4gIH1cblxuICBzZWxlY3RBbGwoZXZ0OiBhbnkpIHtcbiAgICBpZiAoZXZ0KSB7XG4gICAgICB0aGlzLnNlbGVjdGVkTGlzdCA9IFsuLi50aGlzLnNlbGVjdGVkTGlzdCwgLi4udGhpcy5saXN0XTtcbiAgICAgIHRoaXMuc2V0U2VsZWN0ZWRJZHMoKTtcbiAgICB9IGVsc2UgaWYgKGV2dCA9PT0gZmFsc2UpIHtcbiAgICAgIGNvbnN0IGN1cnJlbnRQYWdlTGlzdCA9IHRoaXMubGlzdC5tYXAoKGVsZTogYW55KSA9PiBlbGUuX2lkKTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRMaXN0ID0gdGhpcy5zZWxlY3RlZExpc3QuZmlsdGVyKFxuICAgICAgICAoZWxlOiBhbnkpID0+ICFjdXJyZW50UGFnZUxpc3QuaW5jbHVkZXMoZWxlPy5faWQpXG4gICAgICApO1xuICAgICAgdGhpcy5zZXRTZWxlY3RlZElkcygpO1xuICAgIH1cbiAgfVxuICBjaGVja1NlbGVjdEFsbCgpIHtcbiAgICBjb25zdCBkYXRhID0gdGhpcy5saXN0LmV2ZXJ5KChyYzogYW55KSA9PlxuICAgICAgdGhpcy5zZWxlY3RlZElkcy5pbmNsdWRlcyhyY1t0aGlzLmNvbmZpZy5pZGVudGlmaWVyS2V5XSlcbiAgICApO1xuICAgIHJldHVybiBkYXRhO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicmFkaW8tbGlzdFwiIFtjbGFzcy5hbmltYXRlXT1cImFuaW1hdGlvblwiPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJyYWRpby1saXN0LWhlYWQgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWJldHdlZW4gdngtcGwtNCB2eC1wci00XCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJ2eC1mcy0xNCB2eC1mdy01MDAgdngtbGFiZWwtdHh0XCI+e3sgY29uZmlnPy5wYW5lbFRpdGxlIH19PC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJyYWRpby1saXN0LWJvZHlcIj5cbiAgICA8ZGl2IGNsYXNzPVwic2VhcmNoLWJsb2NrIHZ4LW1iLTJcIiAqbmdJZj1cInRydWVcIj5cbiAgICAgIDxpIGNsYXNzPVwiaWNvbnNcIj4mI3hlOTBiOzwvaT5cbiAgICAgIDxpbnB1dFxuICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJzZWFyY2goKVwiXG4gICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cImNvbmZpZz8uc2VhcmNoUGxhY2Vob2xkZXJcIlxuICAgICAgICBbKG5nTW9kZWwpXT1cInNlYXJjaEtleVwiXG4gICAgICAvPlxuICAgIDwvZGl2PlxuXG4gICAgPGFwcC1wYWdpbmF0aW9uXG4gICAgICAqbmdJZj1cInRvdGFsUGFnZXMgPiAxXCJcbiAgICAgIFtzdGFydF09XCJyZWNvcmRTdGFydFwiXG4gICAgICBbZW5kXT1cInJlY29yZEVuZFwiXG4gICAgICBbdG90YWxdPVwidG90YWxSZWNvcmRzXCJcbiAgICAgIFtwYWdlQ291bnRdPVwidG90YWxQYWdlc1wiXG4gICAgICBbY3VycmVudFBhZ2VdPVwiY3VycmVudFBhZ2VcIlxuICAgICAgKHNlbGVjdGVkUGFnZSk9XCJwYWdlQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICA+PC9hcHAtcGFnaW5hdGlvbj5cblxuICAgIDwhLS0gaXQgaXMgdmlzaWJsZSB3aGVuIGxpc3QgZGF0YSBpcyBhdmFpbGFibGUgLS0+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFsb2FkaW5nICYmIGxpc3Q/Lmxlbmd0aFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImNhdGVnb3JpZXMgdngtbWItNFwiIFtjbGFzcy5tdC0yXT1cInRvdGFsUGFnZXMgPT09IDBcIj5cbiAgICAgICAgPGFwcC1jcy1jaGVja2JveFxuICAgICAgICAgICpuZ0lmPVwic2VsZWN0aW9uTW9kZSA9PT0gJ211bHRpcGxlJ1wiXG4gICAgICAgICAgW25nVmFsdWVdPVwiY2hlY2tTZWxlY3RBbGwoKVwiXG4gICAgICAgICAgKG5nVmFsdWVDaGFuZ2UpPVwic2VsZWN0QWxsKCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2eC1mdy02MDAgdngtbGFiZWwtdHh0XCI+e3tcbiAgICAgICAgICAgIGNoZWNrU2VsZWN0QWxsKCkgPyBcIkRlc2VsZWN0IEFsbFwiIDogXCJTZWxlY3QgQWxsXCJcbiAgICAgICAgICB9fTwvc3Bhbj5cbiAgICAgICAgPC9hcHAtY3MtY2hlY2tib3g+XG4gICAgICA8L2Rpdj5cbiAgICAgIDx1bFxuICAgICAgICBjbGFzcz1cImNhdGVnb3JpZXMtbGlzdCB2eC1tYi00XCJcbiAgICAgICAgW2NsYXNzLndpdGgtcGFnaW5hdGlvbl09XCJ0b3RhbFBhZ2VzID4gMVwiXG4gICAgICA+XG4gICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBsaXN0IHwgc2VhcmNoIDogc2VhcmNoS2V5OyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgICAgPGFwcC1jcy1yYWRpb1xuICAgICAgICAgICAgKm5nSWY9XCJzZWxlY3Rpb25Nb2RlID09PSAnc2luZ2xlJ1wiXG4gICAgICAgICAgICBbY2hlY2tlZF09XCJzZWxlY3RlZElkcz8uaW5jbHVkZXMoaXRlbVtjb25maWc/LmlkZW50aWZpZXJLZXldKVwiXG4gICAgICAgICAgICAoY2hlY2tlZEV2ZW50KT1cIml0ZW1TZWxlY3RlZCgkZXZlbnQsIGl0ZW0pXCJcbiAgICAgICAgICAgIFthcHBUb29sdGlwXT1cIml0ZW1bY29uZmlnLmRpc3BsYXlLZXldXCJcbiAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcbiAgICAgICAgICAgIGRlbGF5PVwiMFwiXG4gICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmFtZVwiPnt7IGl0ZW1bY29uZmlnLmRpc3BsYXlLZXldIH19PC9kaXY+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzPVwid2l0aGluIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1zdGFydCB2eC1tdC0xXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYmxvY2sgdngtZnMtOSB2eC1mdy01MDAgdngtdHQtdXBwZXJjYXNlIHZ4LXBsLTEgdngtcHItMSB2eC1tci0yXCJcbiAgICAgICAgICAgICAgICAqbmdJZj1cIml0ZW1bY29uZmlnPy5wYXJlbnRLZXldICE9ICcnXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIFdJVEhJTlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZGF0YSB2eC1mcy0xMSB2eC1wYXJhZ3JhcGgtdHh0IHZ4LWxoLTQgdngtcHItNVwiXG4gICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiaXRlbVtjb25maWc/LnBhcmVudEtleV0gfCB3aXRoaW4gOiBsaXN0XCJcbiAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXG4gICAgICAgICAgICAgICAgZGVsYXk9XCIwXCJcbiAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJmYWxzZVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyBpdGVtW2NvbmZpZz8ucGFyZW50S2V5XSB8IHdpdGhpbiA6IGxpc3QgfX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2FwcC1jcy1yYWRpbz5cbiAgICAgICAgICA8YXBwLWNzLWNoZWNrYm94XG4gICAgICAgICAgICAqbmdJZj1cInNlbGVjdGlvbk1vZGUgPT09ICdtdWx0aXBsZSdcIlxuICAgICAgICAgICAgW25nVmFsdWVdPVwic2VsZWN0ZWRJZHM/LmluY2x1ZGVzKGl0ZW1bY29uZmlnPy5pZGVudGlmaWVyS2V5XSlcIlxuICAgICAgICAgICAgKG5nVmFsdWVDaGFuZ2UpPVwiaXRlbVNlbGVjdGVkKCRldmVudCwgaXRlbSlcIlxuICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiaXRlbVtjb25maWcuZGlzcGxheUtleV1cIlxuICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxuICAgICAgICAgICAgZGVsYXk9XCIwXCJcbiAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYW1lXCI+e3sgaXRlbVtjb25maWcuZGlzcGxheUtleV0gfX08L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJ3aXRoaW4gdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LXN0YXJ0IHZ4LW10LTFcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJibG9jayB2eC1mcy05IHZ4LWZ3LTUwMCB2eC10dC11cHBlcmNhc2UgdngtcGwtMSB2eC1wci0xIHZ4LW1yLTJcIlxuICAgICAgICAgICAgICAgICpuZ0lmPVwiaXRlbVtjb25maWc/LnBhcmVudEtleV0gIT0gJydcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgV0lUSElOXG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJkYXRhIHZ4LWZzLTExIHZ4LXBhcmFncmFwaC10eHQgdngtbGgtNCB2eC1wci01XCJcbiAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCJpdGVtW2NvbmZpZz8ucGFyZW50S2V5XSB8IHdpdGhpbiA6IGxpc3RcIlxuICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcbiAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxuICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IGl0ZW1bY29uZmlnPy5wYXJlbnRLZXldIHwgd2l0aGluIDogbGlzdCB9fVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvYXBwLWNzLWNoZWNrYm94PlxuICAgICAgICA8L2xpPlxuICAgICAgPC91bD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8IS0tIEl0IGlzIHZpc2libGUgd2hlbiB0aGUgbGlzdCBpdGVtcyBhcmUgZ2V0dGluZyBsb2FkZWQgLS0+XG4gICAgPGFwcC1saXN0bGluZS1sb2FkZXIgKm5nSWY9XCJsb2FkaW5nXCI+PC9hcHAtbGlzdGxpbmUtbG9hZGVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbG9hZGluZyAmJiBsaXN0Py5sZW5ndGggPT09IDBcIj5cbiAgICAgIDxhcHAtbm8tZGF0YVxuICAgICAgICBbbm9EYXRhSW1hZ2VdPVwiXG4gICAgICAgICAgJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9zZWFyY2gtZGF0YS5zdmcnXG4gICAgICAgIFwiXG4gICAgICAgIFtub0RhdGFUZXh0XT1cIlxuICAgICAgICAgIGNvbmZpZz8ubm9EYXRhVGV4dD8ubGVuZ3RoID4gMFxuICAgICAgICAgICAgPyBjb25maWc/Lm5vRGF0YVRleHRcbiAgICAgICAgICAgIDogJ05vIGRhdGEgdG8gZGlzcGxheSdcbiAgICAgICAgXCJcbiAgICAgID48L2FwcC1uby1kYXRhPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPGFwcC1mbG9hdGluZy1iYXJcbiAgICAgIFtzZWxlY3RlZERhdGFdPVwic2VsZWN0ZWRMaXN0XCJcbiAgICAgIFtkaXNwbGF5RWxlbWVudEtleV09XCJjb25maWc/LmRpc3BsYXlLZXlcIlxuICAgICAgW3Npbmd1bGFyVGV4dF09XCJjb25maWc/LmVudGl0eVNpbmd1bGFyXCJcbiAgICAgIFtwbHVyYWxUZXh0XT1cIlxuICAgICAgICBjb25maWc/LmVudGl0eVBsdXJhbCA/IGNvbmZpZz8uZW50aXR5UGx1cmFsIDogJ1VzZXJzIHNlbGVjdGVkJ1xuICAgICAgXCJcbiAgICAgIChjbG9zZUV2ZW50KT1cInNhdmUoKVwiXG4gICAgICAoY2xvc2VMaXN0KT1cImNsb3NlKClcIlxuICAgICAgKGRlbGV0ZUV2ZW50KT1cImRlbGV0ZUl0ZW0oJGV2ZW50KVwiXG4gICAgICBbaXNEaXNhYmxlZF09XCJzZWxlY3RlZExpc3QubGVuZ3RoID09PSAwIHx8IGxpc3Q/Lmxlbmd0aCA9PT0gMFwiXG4gICAgPlxuICAgIDwvYXBwLWZsb2F0aW5nLWJhcj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
140
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnktbGlzdC1zZWxlY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9jYXRlZ29yeS1saXN0LXNlbGVjdGlvbi9jYXRlZ29yeS1saXN0LXNlbGVjdGlvbi9jYXRlZ29yeS1saXN0LXNlbGVjdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2NhdGVnb3J5LWxpc3Qtc2VsZWN0aW9uL2NhdGVnb3J5LWxpc3Qtc2VsZWN0aW9uL2NhdGVnb3J5LWxpc3Qtc2VsZWN0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7OztBQXFCdkIsTUFBTSxPQUFPLDhCQUE4QjtJQVF6QyxJQUEyQixPQUFPLENBQUMsS0FBVTtRQUMzQyxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBU0QsSUFBMkIsV0FBVyxDQUFDLEtBQVU7UUFDL0MsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQztZQUMvQixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDdkI7SUFDSCxDQUFDO0lBR0Q7UUExQlUsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFhLENBQUM7UUFDMUMsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDMUIsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDMUIsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFF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Q0FBQztJQUNELGNBQWM7UUFDWixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQU8sRUFBRSxFQUFFLENBQ3ZDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQ3pELENBQUM7UUFDRixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7K0dBN0dVLDhCQUE4QjttR0FBOUIsOEJBQThCLG9jQzdCM0MsMm9LQStJQTs7NEZEbEhhLDhCQUE4QjtrQkFMMUMsU0FBUzsrQkFDRSw2QkFBNkI7MEVBSzdCLFNBQVM7c0JBQWxCLE1BQU07Z0JBQ0csSUFBSTtzQkFBYixNQUFNO2dCQUNHLElBQUk7c0JBQWIsTUFBTTtnQkFDRyxNQUFNO3NCQUFmLE1BQU07Z0JBSW9CLE9BQU87c0JBQWpDLEtBQUs7dUJBQUMsY0FBYztnQkFHWixNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNxQixXQUFXO3NCQUFyQyxLQUFLO3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuZXhwb3J0IGludGVyZmFjZSBMaXN0RXZlbnQge1xuICBzZWFyY2hLZXk/OiBzdHJpbmc7XG4gIHBhZ2U/OiBudW1iZXI7XG59XG5leHBvcnQgaW50ZXJmYWNlIHBhbmVsQ29uZmlnIHtcbiAgcGFuZWxUaXRsZTogJyc7XG4gIGVudGl0eVNpbmd1bGFyOiAnJztcbiAgZW50aXR5UGx1cmFsOiAnJztcbiAgZGlzcGxheUtleTogJyc7XG4gIGlkZW50aWZpZXJLZXk6ICcnO1xuICBwYXJlbnRLZXk6ICcnO1xuICBwYXJlbnREaXNwbGF5S2V5OiAnJztcbiAgc2VhcmNoUGxhY2Vob2xkZXI6ICcnO1xuICBub0RhdGFUZXh0OiAnJztcbn1cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1jYXRlZ29yeS1saXN0LXNlbGVjdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jYXRlZ29yeS1saXN0LXNlbGVjdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NhdGVnb3J5LWxpc3Qtc2VsZWN0aW9uLmNvbXBvbmVudC5sZXNzJ10sXG59KVxuZXhwb3J0IGNsYXNzIENhdGVnb3J5TGlzdFNlbGVjdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBPdXRwdXQoKSBmZXRjaERhdGEgPSBuZXcgRXZlbnRFbWl0dGVyPExpc3RFdmVudD4oKTtcbiAgQE91dHB1dCgpIGJhY2sgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBuZXh0ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgY2FuY2VsID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBsaXN0ID0gW107XG4gIHNlYXJjaEtleSA9ICcnO1xuICBzZWxlY3RlZExpc3Q6IGFueSA9IFtdO1xuICBASW5wdXQoJ2NhdGVnb3J5TGlzdCcpIHNldCBzZXRMaXN0KHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLmxpc3QgPSB2YWx1ZTtcbiAgfVxuICBASW5wdXQoKSBjb25maWchOiBwYW5lbENvbmZpZztcbiAgQElucHV0KCkgY3VycmVudFBhZ2U6IGFueSA9IDE7XG4gIEBJbnB1dCgpIHJlY29yZFN0YXJ0OiBhbnkgPSAxO1xuICBASW5wdXQoKSByZWNvcmRFbmQ6IGFueSA9IDE7XG4gIEBJbnB1dCgpIHRvdGFsUmVjb3JkczogYW55ID0gMTtcbiAgQElucHV0KCkgdG90YWxQYWdlczogYW55ID0gMTtcbiAgQElucHV0KCkgbG9hZGluZzogYW55ID0gdHJ1ZTtcbiAgQElucHV0KCkgc2VsZWN0aW9uTW9kZTogJ3NpbmdsZScgfCAnbXVsdGlwbGUnID0gJ211bHRpcGxlJztcbiAgQElucHV0KCdzZWxlY3RlZExpc3QnKSBzZXQgc2V0U2VsZWN0ZWQodmFsdWU6IGFueSkge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy5zZWxlY3RlZExpc3QgPSBbLi4udmFsdWVdO1xuICAgICAgdGhpcy5zZXRTZWxlY3RlZElkcygpO1xuICAgIH1cbiAgfVxuICBhbmltYXRpb24gPSB0cnVlO1xuICBzZWxlY3RlZElkczogYW55ID0gW107XG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XG5cbiAgLy9UaGlzIG1ldGhvZCBoYW5kbGVzIHRoZSBwYWdlIGNoYW5nZVxuICBwYWdlQ2hhbmdlZChwYWdlOiBudW1iZXIpIHtcbiAgICB0aGlzLmN1cnJlbnRQYWdlID0gcGFnZTtcbiAgICB0aGlzLmZldGNoRGF0YS5lbWl0KHsgcGFnZTogdGhpcy5jdXJyZW50UGFnZSwgc2VhcmNoS2V5OiB0aGlzLnNlYXJjaEtleSB9KTtcbiAgfVxuXG4gIC8vVGhpcyBtZXRob2QgaGFuZGxlcyB0aGUgc2VhcmNoXG4gIHNlYXJjaCgpIHtcbiAgICB0aGlzLmN1cnJlbnRQYWdlID0gMTtcbiAgICB0aGlzLmZldGNoRGF0YS5lbWl0KHsgcGFnZTogdGhpcy5jdXJyZW50UGFnZSwgc2VhcmNoS2V5OiB0aGlzLnNlYXJjaEtleSB9KTtcbiAgfVxuXG4gIGl0ZW1TZWxlY3RlZChldmVudDogYW55LCBpdGVtOiBhbnkpIHtcbiAgICBpZiAodGhpcy5zZWxlY3Rpb25Nb2RlID09PSAnc2luZ2xlJykge1xuICAgICAgdGhpcy5zZWxlY3RlZExpc3QgPSBbaXRlbV07XG4gICAgICB0aGlzLnNldFNlbGVjdGVkSWRzKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChldmVudCkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkTGlzdC5wdXNoKGl0ZW0pO1xuICAgICAgICB0aGlzLnNldFNlbGVjdGVkSWRzKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsZXQgaW5kZXggPSB0aGlzLnNlbGVjdGVkTGlzdC5maW5kSW5kZXgoXG4gICAgICAgICAgKHg6IGFueSkgPT4geD8uX2lkID09PSBpdGVtPy5faWRcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKGluZGV4ID49IDApIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkTGlzdCA9IHRoaXMuc2VsZWN0ZWRMaXN0LmZpbHRlcihcbiAgICAgICAgICAgIChlbGU6IGFueSkgPT5cbiAgICAgICAgICAgICAgZWxlW3RoaXMuY29uZmlnPy5pZGVudGlmaWVyS2V5XSAhPT1cbiAgICAgICAgICAgICAgaXRlbVt0aGlzLmNvbmZpZz8uaWRlbnRpZmllcktleV1cbiAgICAgICAgICApO1xuICAgICAgICAgIHRoaXMuc2V0U2VsZWN0ZWRJZHMoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHNldFNlbGVjdGVkSWRzKCkge1xuICAgIHRoaXMuc2VsZWN0ZWRJZHMgPSB0aGlzLnNlbGVjdGVkTGlzdC5tYXAoXG4gICAgICAoZWxlOiBhbnkpID0+IGVsZVt0aGlzLmNvbmZpZz8uaWRlbnRpZmllcktleV1cbiAgICApO1xuICAgIHRoaXMuc2VsZWN0ZWRMaXN0ID0gQXJyYXkuZnJvbShcbiAgICAgIG5ldyBTZXQodGhpcy5zZWxlY3RlZExpc3QubWFwKChhOiBhbnkpID0+IGEuX2lkKSlcbiAgICApLm1hcCgoaWQpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLnNlbGVjdGVkTGlzdC5maW5kKChhOiBhbnkpID0+IGEuX2lkID09PSBpZCk7XG4gICAgfSk7XG4gIH1cbiAgZGVsZXRlSXRlbShldnQ6IGFueSkge1xuICAgIHRoaXMuc2VsZWN0ZWRMaXN0ID0gdGhpcy5zZWxlY3RlZExpc3QuZmlsdGVyKFxuICAgICAgKGVsZTogYW55KSA9PlxuICAgICAgICBlbGVbdGhpcy5jb25maWc/LmlkZW50aWZpZXJLZXldICE9PSBldnRbdGhpcy5jb25maWc/LmlkZW50aWZpZXJLZXldXG4gICAgKTtcbiAgICB0aGlzLnNldFNlbGVjdGVkSWRzKCk7XG4gIH1cblxuICBjbG9zZSgpIHtcbiAgICB0aGlzLmNhbmNlbC5lbWl0KCk7XG4gIH1cbiAgc2F2ZSgpIHtcbiAgICB0aGlzLm5leHQuZW1pdCh0aGlzLnNlbGVjdGVkTGlzdCk7XG4gIH1cblxuICBzZWxlY3RBbGwoZXZ0OiBhbnkpIHtcbiAgICBpZiAoZXZ0KSB7XG4gICAgICB0aGlzLnNlbGVjdGVkTGlzdCA9IFsuLi50aGlzLnNlbGVjdGVkTGlzdCwgLi4udGhpcy5saXN0XTtcbiAgICAgIHRoaXMuc2V0U2VsZWN0ZWRJZHMoKTtcbiAgICB9IGVsc2UgaWYgKGV2dCA9PT0gZmFsc2UpIHtcbiAgICAgIGNvbnN0IGN1cnJlbnRQYWdlTGlzdCA9IHRoaXMubGlzdC5tYXAoKGVsZTogYW55KSA9PiBlbGUuX2lkKTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRMaXN0ID0gdGhpcy5zZWxlY3RlZExpc3QuZmlsdGVyKFxuICAgICAgICAoZWxlOiBhbnkpID0+ICFjdXJyZW50UGFnZUxpc3QuaW5jbHVkZXMoZWxlPy5faWQpXG4gICAgICApO1xuICAgICAgdGhpcy5zZXRTZWxlY3RlZElkcygpO1xuICAgIH1cbiAgfVxuICBjaGVja1NlbGVjdEFsbCgpIHtcbiAgICBjb25zdCBkYXRhID0gdGhpcy5saXN0LmV2ZXJ5KChyYzogYW55KSA9PlxuICAgICAgdGhpcy5zZWxlY3RlZElkcy5pbmNsdWRlcyhyY1t0aGlzLmNvbmZpZy5pZGVudGlmaWVyS2V5XSlcbiAgICApO1xuICAgIHJldHVybiBkYXRhO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicmFkaW8tbGlzdFwiIFtjbGFzcy5hbmltYXRlXT1cImFuaW1hdGlvblwiPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJyYWRpby1saXN0LWhlYWQgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWJldHdlZW4gdngtcGwtNCB2eC1wci00XCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJ2eC1mcy0xNCB2eC1mdy01MDAgdngtbGFiZWwtdHh0XCI+e3sgY29uZmlnPy5wYW5lbFRpdGxlIH19PC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJyYWRpby1saXN0LWJvZHlcIj5cbiAgICA8ZGl2IGNsYXNzPVwic2VhcmNoLWJsb2NrIHZ4LW1iLTJcIiAqbmdJZj1cInRydWVcIj5cbiAgICAgIDxpIGNsYXNzPVwiaWNvbnNcIj4mI3hlOTBiOzwvaT5cbiAgICAgIDxpbnB1dFxuICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJzZWFyY2goKVwiXG4gICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cImNvbmZpZz8uc2VhcmNoUGxhY2Vob2xkZXJcIlxuICAgICAgICBbKG5nTW9kZWwpXT1cInNlYXJjaEtleVwiXG4gICAgICAvPlxuICAgIDwvZGl2PlxuXG4gICAgPGFwcC1wYWdpbmF0aW9uXG4gICAgICAqbmdJZj1cInRvdGFsUGFnZXMgPiAxXCJcbiAgICAgIFtzdGFydF09XCJyZWNvcmRTdGFydFwiXG4gICAgICBbZW5kXT1cInJlY29yZEVuZFwiXG4gICAgICBbdG90YWxdPVwidG90YWxSZWNvcmRzXCJcbiAgICAgIFtwYWdlQ291bnRdPVwidG90YWxQYWdlc1wiXG4gICAgICBbY3VycmVudFBhZ2VdPVwiY3VycmVudFBhZ2VcIlxuICAgICAgKHNlbGVjdGVkUGFnZSk9XCJwYWdlQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICA+PC9hcHAtcGFnaW5hdGlvbj5cblxuICAgIDwhLS0gaXQgaXMgdmlzaWJsZSB3aGVuIGxpc3QgZGF0YSBpcyBhdmFpbGFibGUgLS0+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFsb2FkaW5nICYmIGxpc3Q/Lmxlbmd0aFwiPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImNhdGVnb3JpZXMgdngtbWItNFwiXG4gICAgICAgIFtjbGFzcy5tdC0yXT1cInRvdGFsUGFnZXMgPT09IDBcIlxuICAgICAgICAqbmdJZj1cInNlbGVjdGlvbk1vZGUgPT09ICdtdWx0aXBsZSdcIlxuICAgICAgPlxuICAgICAgICA8YXBwLWNzLWNoZWNrYm94XG4gICAgICAgICAgW25nVmFsdWVdPVwiY2hlY2tTZWxlY3RBbGwoKVwiXG4gICAgICAgICAgKG5nVmFsdWVDaGFuZ2UpPVwic2VsZWN0QWxsKCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2eC1mdy02MDAgdngtbGFiZWwtdHh0XCI+e3tcbiAgICAgICAgICAgIGNoZWNrU2VsZWN0QWxsKCkgPyBcIkRlc2VsZWN0IEFsbFwiIDogXCJTZWxlY3QgQWxsXCJcbiAgICAgICAgICB9fTwvc3Bhbj5cbiAgICAgICAgPC9hcHAtY3MtY2hlY2tib3g+XG4gICAgICA8L2Rpdj5cbiAgICAgIDx1bFxuICAgICAgICBjbGFzcz1cImNhdGVnb3JpZXMtbGlzdCB2eC1tYi00XCJcbiAgICAgICAgW2NsYXNzLndpdGgtc2VsZWN0QWxsXT1cInNlbGVjdGlvbk1vZGUgPT09ICdtdWx0aXBsZSdcIlxuICAgICAgICBbY2xhc3Mud2l0aC1wYWdpbmF0aW9uXT1cInRvdGFsUGFnZXMgPiAxXCJcbiAgICAgID5cbiAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBpdGVtIG9mIGxpc3QgfCBzZWFyY2ggOiBzZWFyY2hLZXk7IGxldCBpID0gaW5kZXhcIj5cbiAgICAgICAgICA8YXBwLWNzLXJhZGlvXG4gICAgICAgICAgICAqbmdJZj1cInNlbGVjdGlvbk1vZGUgPT09ICdzaW5nbGUnXCJcbiAgICAgICAgICAgIFtjaGVja2VkXT1cInNlbGVjdGVkSWRzPy5pbmNsdWRlcyhpdGVtW2NvbmZpZz8uaWRlbnRpZmllcktleV0pXCJcbiAgICAgICAgICAgIChjaGVja2VkRXZlbnQpPVwiaXRlbVNlbGVjdGVkKCRldmVudCwgaXRlbSlcIlxuICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiaXRlbVtjb25maWcuZGlzcGxheUtleV1cIlxuICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxuICAgICAgICAgICAgZGVsYXk9XCIwXCJcbiAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYW1lXCI+e3sgaXRlbVtjb25maWcuZGlzcGxheUtleV0gfX08L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJ3aXRoaW4gdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LXN0YXJ0IHZ4LW10LTFcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJibG9jayB2eC1mcy05IHZ4LWZ3LTUwMCB2eC10dC11cHBlcmNhc2UgdngtcGwtMSB2eC1wci0xIHZ4LW1yLTJcIlxuICAgICAgICAgICAgICAgICpuZ0lmPVwiaXRlbVtjb25maWc/LnBhcmVudEtleV0gIT0gJydcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgV0lUSElOXG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJkYXRhIHZ4LWZzLTExIHZ4LXBhcmFncmFwaC10eHQgdngtbGgtNCB2eC1wci01XCJcbiAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCJpdGVtW2NvbmZpZz8ucGFyZW50S2V5XSB8IHdpdGhpbiA6IGxpc3RcIlxuICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcbiAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxuICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IGl0ZW1bY29uZmlnPy5wYXJlbnRLZXldIHwgd2l0aGluIDogbGlzdCB9fVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvYXBwLWNzLXJhZGlvPlxuICAgICAgICAgIDxhcHAtY3MtY2hlY2tib3hcbiAgICAgICAgICAgICpuZ0lmPVwic2VsZWN0aW9uTW9kZSA9PT0gJ211bHRpcGxlJ1wiXG4gICAgICAgICAgICBbbmdWYWx1ZV09XCJzZWxlY3RlZElkcz8uaW5jbHVkZXMoaXRlbVtjb25maWc/LmlkZW50aWZpZXJLZXldKVwiXG4gICAgICAgICAgICAobmdWYWx1ZUNoYW5nZSk9XCJpdGVtU2VsZWN0ZWQoJGV2ZW50LCBpdGVtKVwiXG4gICAgICAgICAgICBbYXBwVG9vbHRpcF09XCJpdGVtW2NvbmZpZy5kaXNwbGF5S2V5XVwiXG4gICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXG4gICAgICAgICAgICBkZWxheT1cIjBcIlxuICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwidHJ1ZVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hbWVcIj57eyBpdGVtW2NvbmZpZy5kaXNwbGF5S2V5XSB9fTwvZGl2PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cIndpdGhpbiB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktc3RhcnQgdngtbXQtMVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJsb2NrIHZ4LWZzLTkgdngtZnctNTAwIHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtbXItMlwiXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJpdGVtW2NvbmZpZz8ucGFyZW50S2V5XSAhPSAnJ1wiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBXSVRISU5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cImRhdGEgdngtZnMtMTEgdngtcGFyYWdyYXBoLXR4dCB2eC1saC00IHZ4LXByLTVcIlxuICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cIml0ZW1bY29uZmlnPy5wYXJlbnRLZXldIHwgd2l0aGluIDogbGlzdFwiXG4gICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxuICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiXG4gICAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgaXRlbVtjb25maWc/LnBhcmVudEtleV0gfCB3aXRoaW4gOiBsaXN0IH19XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9hcHAtY3MtY2hlY2tib3g+XG4gICAgICAgIDwvbGk+XG4gICAgICA8L3VsPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwhLS0gSXQgaXMgdmlzaWJsZSB3aGVuIHRoZSBsaXN0IGl0ZW1zIGFyZSBnZXR0aW5nIGxvYWRlZCAtLT5cbiAgICA8YXBwLWxpc3RsaW5lLWxvYWRlciAqbmdJZj1cImxvYWRpbmdcIj48L2FwcC1saXN0bGluZS1sb2FkZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFsb2FkaW5nICYmIGxpc3Q/Lmxlbmd0aCA9PT0gMFwiPlxuICAgICAgPGFwcC1uby1kYXRhXG4gICAgICAgIFtub0RhdGFJbWFnZV09XCJcbiAgICAgICAgICAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L3NlYXJjaC1kYXRhLnN2ZydcbiAgICAgICAgXCJcbiAgICAgICAgW25vRGF0YVRleHRdPVwiXG4gICAgICAgICAgY29uZmlnPy5ub0RhdGFUZXh0Py5sZW5ndGggPiAwXG4gICAgICAgICAgICA/IGNvbmZpZz8ubm9EYXRhVGV4dFxuICAgICAgICAgICAgOiAnTm8gZGF0YSB0byBkaXNwbGF5J1xuICAgICAgICBcIlxuICAgICAgPjwvYXBwLW5vLWRhdGE+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8YXBwLWZsb2F0aW5nLWJhclxuICAgICAgW3NlbGVjdGVkRGF0YV09XCJzZWxlY3RlZExpc3RcIlxuICAgICAgW2Rpc3BsYXlFbGVtZW50S2V5XT1cImNvbmZpZz8uZGlzcGxheUtleVwiXG4gICAgICBbc2luZ3VsYXJUZXh0XT1cImNvbmZpZz8uZW50aXR5U2luZ3VsYXJcIlxuICAgICAgW3BsdXJhbFRleHRdPVwiXG4gICAgICAgIGNvbmZpZz8uZW50aXR5UGx1cmFsID8gY29uZmlnPy5lbnRpdHlQbHVyYWwgOiAnVXNlcnMgc2VsZWN0ZWQnXG4gICAgICBcIlxuICAgICAgKGNsb3NlRXZlbnQpPVwic2F2ZSgpXCJcbiAgICAgIChjbG9zZUxpc3QpPVwiY2xvc2UoKVwiXG4gICAgICAoZGVsZXRlRXZlbnQpPVwiZGVsZXRlSXRlbSgkZXZlbnQpXCJcbiAgICAgIFtpc0Rpc2FibGVkXT1cInNlbGVjdGVkTGlzdC5sZW5ndGggPT09IDAgfHwgbGlzdD8ubGVuZ3RoID09PSAwXCJcbiAgICA+XG4gICAgPC9hcHAtZmxvYXRpbmctYmFyPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -40,7 +40,9 @@ export class SelectTemplateListComponent {
|
|
|
40
40
|
this.isPreview = false;
|
|
41
41
|
this.selectedCategoryId = [];
|
|
42
42
|
this.onTemplateSelect = new EventEmitter();
|
|
43
|
-
|
|
43
|
+
if (config) {
|
|
44
|
+
this.env = config?.envConfig;
|
|
45
|
+
}
|
|
44
46
|
}
|
|
45
47
|
ngOnInit() {
|
|
46
48
|
this.setAnimation();
|
|
@@ -180,6 +182,7 @@ export class SelectTemplateListComponent {
|
|
|
180
182
|
this.isPreview = true;
|
|
181
183
|
this.previewTemplate = details;
|
|
182
184
|
this.fileUrl = `${this.env?.s3Url}${this.env?.s3Bucket}/${details?.s3DocxPath}`;
|
|
185
|
+
console.log(this.fileUrl, 'fileUrl');
|
|
183
186
|
}
|
|
184
187
|
onClosePreview() {
|
|
185
188
|
this.isPreview = false;
|
|
@@ -200,4 +203,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
200
203
|
}], onTemplateSelect: [{
|
|
201
204
|
type: Output
|
|
202
205
|
}] } });
|
|
203
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LXRlbXBsYXRlLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9wb2xpY3ktdGVtcGxhdGUvc2VsZWN0LXRlbXBsYXRlLWxpc3Qvc2VsZWN0LXRlbXBsYXRlLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9wb2xpY3ktdGVtcGxhdGUvc2VsZWN0LXRlbXBsYXRlLWxpc3Qvc2VsZWN0LXRlbXBsYXRlLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoQyxPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLHFCQUFxQixHQUN0QixNQUFNLGdDQUFnQyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7O0FBUXhDLE1BQU0sT0FBTywyQkFBMkI7SUEwQnRDLFlBQ1UsZUFBZ0MsRUFDaEMsYUFBNEIsRUFDeEIsTUFBdUI7UUFGM0Isb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBM0J0QyxZQUFPLEdBQVcsRUFBRSxDQUFBO1FBRXBCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIscUJBQWdCLEdBQVUsRUFBRSxDQUFDO1FBQzdCLG9CQUFlLEdBQWlCLElBQUksQ0FBQztRQUNyQyxpQkFBWSxHQUFVLEVBQUUsQ0FBQztRQUN6QixlQUFVLEdBQUcsU0FBUyxDQUFDO1FBQ3ZCLFdBQU0sR0FBWSxLQUFL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QUUsVUFBVSxFQUFFLENBQUM7SUFDbEYsQ0FBQztJQUVELGNBQWM7UUFDWixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN2QixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztJQUM5QixDQUFDOytHQW5OVSwyQkFBMkI7bUdBQTNCLDJCQUEyQiw2TENkeEMsbTNKQTBJQTs7NEZENUhhLDJCQUEyQjtrQkFMdkMsU0FBUzsrQkFDRSwwQkFBMEI7OzBCQWlDakMsUUFBUTs0Q0FQRixrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNJLGdCQUFnQjtzQkFBekIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3B0aW9uYWwsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGVtcGxhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvdGVtcGxhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBmb3JrSm9pbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgTk9fREFUQV9GT1VORF9JTUFHRSxcbiAgTk9fREFUQV9GT1VORF9NRVNTQUdFLFxufSBmcm9tICcuLi9jb25zdGFudHMvdGVtcGxhdGUuY29uc3RhbnQnO1xuaW1wb3J0IHsgUG9saWN5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3dvcmtmbG93LXNlcnZpY2VzL3BvbGljeS5zZXJ2aWNlJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25zIH0gZnJvbSAnLi4vLi4vLi4vY29uZmlndXJhdGlvbnMnO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXNlbGVjdC10ZW1wbGF0ZS1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC10ZW1wbGF0ZS1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VsZWN0LXRlbXBsYXRlLWxpc3QuY29tcG9uZW50Lmxlc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0VGVtcGxhdGVMaXN0Q29tcG9uZW50IHtcbiAgZmlsZVVybDogc3RyaW5nID0gJydcbiAgZW52OmFueTtcbiAgYW5pbWF0aW9uID0gZmFsc2U7XG4gIGRlZmF1bHRUZW1wbGF0ZXM6IGFueVtdID0gW107XG4gIGN1c3RvbVRlbXBsYXRlczogYW55W10gfCBudWxsID0gbnVsbDtcbiAgdGVtcGxhdGVMaXN0OiBhbnlbXSA9IFtdO1xuICBjdXJyZW50VGFiID0gJ1ZDT01QTFknO1xuICBsb2FkZXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgY2F0ZWdvcnlMaXN0OiBhbnlbXSA9IFtdO1xuICBkZWZhdWx0Q2F0ZWdvcnlMaXN0OiBhbnlbXSA9IFtdO1xuICB1c2VyQ3JlYXRlZENhdGVnb3J5TGlzdDogYW55W10gPSBbXTtcbiAgc29ydFN0YXR1cyA9IC0xO1xuICBzZWFyY2hDYXRlZ29yeTogc3RyaW5nID0gJyc7XG4gIHNlYXJjaFRlbXBsYXRlOiBzdHJpbmcgPSAnJztcbiAgc2VsZWN0ZWRDYXRlZ29yeTogYW55W10gPSBbXTtcbiAgTk9fREFUQV9GT1VORF9JTUFHRSA9IE5PX0RBVEFfRk9VTkRfSU1BR0U7XG4gIE5PX0RBVEFfRk9VTkRfTUVTU0FHRSA9IE5PX0RBVEFfRk9VTkRfTUVTU0FHRTtcbiAgc2VsZWN0ZWRUZW1wbGF0ZTogYW55W10gPSBbXTtcbiAgaXNQcmV2aWV3ID0gZmFsc2U7XG4gIHByZXZpZXdUZW1wbGF0ZTogYW55O1xuXG4gIEBJbnB1dCgpIHNlbGVjdGVkQ2F0ZWdvcnlJZDogbnVtYmVyW10gPSBbXTtcbiAgQElucHV0KCkgZmVhdHVyZTogYW55O1xuICBAT3V0cHV0KCkgb25UZW1wbGF0ZVNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgdGVtcGxhdGVTZXJ2aWNlOiBUZW1wbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwb2xpY3lTZXJ2aWNlOiBQb2xpY3lTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIGNvbmZpZz86IENvbmZpZ3VyYXRpb25zXG4gICkge1xuICAgIHRoaXMuZW52ID0gY29uZmlnPy5lbnZDb25maWdcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc2V0QW5pbWF0aW9uKCk7XG4gICAgdGhpcy5nZXRUZW1wbGF0ZSgpO1xuICB9XG5cbiAgc2V0QW5pbWF0aW9uKCkge1xuICAgIHRoaXMuYW5pbWF0aW9uID0gdHJ1ZTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuYW5pbWF0aW9uID0gZmFsc2U7XG4gICAgfSwgMzAwKTtcbiAgfVxuXG4gIHN3aXRjaFRhYih0YWI6IHN0cmluZykge1xuICAgIHRoaXMuY3VycmVudFRhYiA9IHRhYjtcbiAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnkgPSBbXTtcbiAgICBpZiAodGFiID09PSAnVkNPTVBMWScpIHtcbiAgICAgIHRoaXMudGVtcGxhdGVMaXN0ID0gWy4uLnRoaXMuZGVmYXVsdFRlbXBsYXRlc107XG4gICAgICB0aGlzLmNhdGVnb3J5TGlzdCA9IHRoaXMuZGVmYXVsdENhdGVnb3J5TGlzdDtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHRoaXMuY3VzdG9tVGVtcGxhdGVzID09PSBudWxsKSB7XG4gICAgICAgIHRoaXMuZ2V0Q3VzdG9tVGVtcGxhdGVzKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnRlbXBsYXRlTGlzdCA9IFsuLi50aGlzLmN1c3RvbVRlbXBsYXRlc107XG4gICAgICAgIHRoaXMuY2F0ZWdvcnlMaXN0ID0gdGhpcy51c2VyQ3JlYXRlZENhdGVnb3J5TGlzdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBnZXRDdXN0b21UZW1wbGF0ZXMoKSB7XG4gICAgdGhpcy5sb2FkZXIgPSB0cnVlO1xuICAgIGNvbnN0IHBheWxvYWQgPSB7XG4gICAgICB0eXBlOiAnY3VzdG9tJyxcbiAgICAgIGNhdGVnb3J5SWQ6IHRoaXMuc2VsZWN0ZWRDYXRlZ29yeUlkLm1hcChcbiAgICAgICAgKGNhdGVnb3J5OiBhbnkpID0+IGNhdGVnb3J5Lml0ZW1faWRcbiAgICAgICksXG4gICAgfTtcbiAgICB0aGlzLnRlbXBsYXRlU2VydmljZS5mZXRjaFRlbXBsYXRlcyhwYXlsb2FkKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XG4gICAgICB0aGlzLmN1c3RvbVRlbXBsYXRlcyA9IHJlcz8udGVtcGxhdGVzID8/IFtdO1xuICAgICAgdGhpcy5tYXBDdXN0b21UZW1wbGF0ZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgbWFwQ3VzdG9tVGVtcGxhdGUoKSB7XG4gICAgdGhpcy5wb2xpY3lTZXJ2aWNlLmdldENhdGVnb3JpZXNMaXN0KCkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xuICAgICAgdGhpcy51c2VyQ3JlYXRlZENhdGVnb3J5TGlzdCA9IFsuLi5yZXNdO1xuICAgICAgdGhpcy51c2VyQ3JlYXRlZENhdGVnb3J5TGlzdCA9IHRoaXMudXNlckNyZWF0ZWRDYXRlZ29yeUxpc3QubWFwKFxuICAgICAgICAocmVzOiBhbnkpID0+IHtcbiAgICAgICAgICBjb25zdCBwYXJlbnRJdGVtcyA9IFsuLi5uZXcgU2V0KHJlcz8ucGFyZW50X2l0ZW1zID8/IFtdKV07XG4gICAgICAgICAgcGFyZW50SXRlbXMudW5zaGlmdChyZXMuaXRlbV9uYW1lKTtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4ucmVzLFxuICAgICAgICAgICAgbmFtZTogcGFyZW50SXRlbXM/LmpvaW4oJyA8ICcpLFxuICAgICAgICAgICAgcGFyZW50X2l0ZW1zOiByZXM/LnBhcmVudF9pdGVtcy5yZXZlcnNlKCksXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICAgIGlmICh0aGlzLmN1c3RvbVRlbXBsYXRlcykge1xuICAgICAgICB0aGlzLmN1c3RvbVRlbXBsYXRlcyA9IHRoaXMuY3VzdG9tVGVtcGxhdGVzLm1hcCgodGVtcGxhdGU6IGFueSkgPT4ge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi50ZW1wbGF0ZSxcbiAgICAgICAgICAgIGNhdGVnb3J5RGV0YWlsczogdGhpcy51c2VyQ3JlYXRlZENhdGVnb3J5TGlzdC5maWx0ZXIoXG4gICAgICAgICAgICAgIChjYXRlZ29yeTogYW55KSA9PlxuICAgICAgICAgICAgICAgIHRlbXBsYXRlPy5jYXRlZ29yeUlkPy5pbmNsdWRlcyhjYXRlZ29yeS5pdGVtX2lkKVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICB9O1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHRoaXMudGVtcGxhdGVMaXN0ID0gWy4uLm5ldyBTZXQodGhpcy5jdXN0b21UZW1wbGF0ZXMgPz8gW10pXTtcbiAgICAgIGNvbnN0IGNhdGVnb3J5SWRzID0gdGhpcy5zZWxlY3RlZENhdGVnb3J5SWQubWFwKFxuICAgICAgICAoY2F0ZWdvcnk6IGFueSkgPT4gY2F0ZWdvcnkuaXRlbV9pZFxuICAgICAgKTtcbiAgICAgIHRoaXMudXNlckNyZWF0ZWRDYXRlZ29yeUxpc3QgPSB0aGlzLnVzZXJDcmVhdGVkQ2F0ZWdvcnlMaXN0LmZpbHRlcihcbiAgICAgICAgKGNhdGVnb3J5OiBhbnkpID0+IGNhdGVnb3J5SWRzPy5pbmNsdWRlcyhjYXRlZ29yeS5pdGVtX2lkKVxuICAgICAgKTtcbiAgICAgIHRoaXMubG9hZGVyID0gZmFsc2U7XG4gICAgICB0aGlzLmNhdGVnb3J5TGlzdCA9IHRoaXMudXNlckNyZWF0ZWRDYXRlZ29yeUxpc3Q7XG4gICAgfSk7XG4gIH1cblxuICBnZXRUZW1wbGF0ZSgpIHtcbiAgICB0aGlzLmxvYWRlciA9IHRydWU7XG4gICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgIHR5cGU6ICdkZWZhdWx0JyxcbiAgICB9O1xuICAgIGZvcmtKb2luKFtcbiAgICAgIHRoaXMudGVtcGxhdGVTZXJ2aWNlLmZldGNoVGVtcGxhdGVzKHBheWxvYWQpLFxuICAgICAgdGhpcy50ZW1wbGF0ZVNlcnZpY2UuZmV0Y2hEZWZhdWx0Q2F0ZWdvcmllcygpLFxuICAgIF0pLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcbiAgICAgIHRoaXMuZGVmYXVsdFRlbXBsYXRlcyA9IHJlc1swXT8udGVtcGxhdGVzO1xuICAgICAgdGhpcy5kZWZhdWx0Q2F0ZWdvcnlMaXN0ID0gcmVzWzFdO1xuICAgICAgdGhpcy5tYXBEZWZhdWx0VGVtcGxhdGUoKTtcbiAgICAgIHRoaXMuY2F0ZWdvcnlMaXN0ID0gWy4uLm5ldyBTZXQodGhpcy5kZWZhdWx0Q2F0ZWdvcnlMaXN0KV07XG5cbiAgICAgIHRoaXMudGVtcGxhdGVMaXN0ID0gdGhpcy5kZWZhdWx0VGVtcGxhdGVzO1xuICAgICAgdGhpcy5sb2FkZXIgPSBmYWxzZTtcbiAgICB9KTtcbiAgfVxuXG4gIG1hcERlZmF1bHRUZW1wbGF0ZSgpIHtcbiAgICB0aGlzLmRlZmF1bHRUZW1wbGF0ZXMgPSB0aGlzLmRlZmF1bHRUZW1wbGF0ZXMubWFwKCh0ZW1wbGF0ZTogYW55KSA9PiB7XG4gICAgICBjb25zdCBjYXRlZ29yeSA9IHRoaXMuZGVmYXVsdENhdGVnb3J5TGlzdC5maWx0ZXIoKGNhdGVnb3J5OiBhbnkpID0+XG4gICAgICAgIHRlbXBsYXRlPy5jYXRlZ29yeUlkPy5pbmNsdWRlcyhjYXRlZ29yeS5pdGVtX2lkKVxuICAgICAgKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnRlbXBsYXRlLFxuICAgICAgICBjYXRlZ29yeURldGFpbHM6IGNhdGVnb3J5LFxuICAgICAgfTtcbiAgICB9KTtcbiAgfVxuXG4gIHNvcnRCeShrZXk6IHN0cmluZykge1xuICAgIHRoaXMuc29ydFN0YXR1cyA9IHRoaXMuc29ydFN0YXR1cyAqIC0xO1xuICAgIHRoaXMudGVtcGxhdGVMaXN0ID0gdGhpcy50ZW1wbGF0ZVNlcnZpY2Uuc29ydEJ5S2V5KFxuICAgICAgdGhpcy50ZW1wbGF0ZUxpc3QsXG4gICAgICBrZXksXG4gICAgICB0aGlzLnNvcnRTdGF0dXNcbiAgICApO1xuICB9XG5cbiAgb25TZWxlY3RDYXRlZ29yeShjYXRlZ29yeTogYW55LCBldmVudDogYW55KSB7XG4gICAgaWYgKGV2ZW50LnRhcmdldC5jaGVja2VkKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnkucHVzaChjYXRlZ29yeT8uaXRlbV9pZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRDYXRlZ29yeSA9IHRoaXMuc2VsZWN0ZWRDYXRlZ29yeS5maWx0ZXIoXG4gICAgICAgIChpZDogYW55KSA9PiBpZCAhPT0gY2F0ZWdvcnk/Lml0ZW1faWRcbiAgICAgICk7XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0ZWRDYXRlZ29yeSA9IFsuLi5uZXcgU2V0KHRoaXMuc2VsZWN0ZWRDYXRlZ29yeSldO1xuICB9XG5cbiAgb25BcHBseUZpbHRlcihldmVudDogYW55KSB7XG4gICAgaWYgKCFldmVudCkge1xuICAgICAgdGhpcy5zZWxlY3RlZENhdGVnb3J5ID0gW107XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGxldCBzZWxlY3RlZFRlbXBsYXRlID1cbiAgICAgIHRoaXMuY3VycmVudFRhYiA9PT0gJ1ZDT01QTFknXG4gICAgICAgID8gdGhpcy5kZWZhdWx0VGVtcGxhdGVzXG4gICAgICAgIDogdGhpcy5jdXN0b21UZW1wbGF0ZXMgPz8gW107XG4gICAgc2VsZWN0ZWRUZW1wbGF0ZSA9IFsuLi5uZXcgU2V0KHNlbGVjdGVkVGVtcGxhdGUpXTtcbiAgICBpZiAodGhpcy5zZWxlY3RlZENhdGVnb3J5Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy50ZW1wbGF0ZUxpc3QgPSBzZWxlY3RlZFRlbXBsYXRlO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnRlbXBsYXRlTGlzdCA9IHNlbGVjdGVkVGVtcGxhdGUuZmlsdGVyKCh0ZW1wbGF0ZTogYW55KSA9PiB7XG4gICAgICByZXR1cm4gdGVtcGxhdGU/LmNhdGVnb3J5SWQ/LnNvbWUoKGlkOiBhbnkpID0+XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDYXRlZ29yeS5pbmNsdWRlcyhpZClcbiAgICAgICk7XG4gICAgfSk7XG4gIH1cblxuICBvblNlbGVjdFRlbXBsYXRlKHRlbXBsYXRlOiBhbnkpIHtcbiAgICB0aGlzLnNlbGVjdGVkVGVtcGxhdGUgPSBbdGVtcGxhdGVdO1xuICB9XG5cbiAgc2F2ZSgpIHtcbiAgICB0aGlzLm9uVGVtcGxhdGVTZWxlY3QuZW1pdCh0aGlzLnNlbGVjdGVkVGVtcGxhdGUpO1xuICB9XG5cbiAgY2xvc2UoKSB7XG4gICAgdGhpcy5vblRlbXBsYXRlU2VsZWN0LmVtaXQoW10pO1xuICB9XG5cbiAgZGVsZXRlRXZlbnQoKSB7XG4gICAgdGhpcy5zZWxlY3RlZFRlbXBsYXRlID0gW107XG4gIH1cblxuICBvblByZXZpZXcoZGV0YWlsczogYW55KSB7XG4gICAgdGhpcy5sb2FkZXIgPSBmYWxzZTtcbiAgICB0aGlzLmlzUHJldmlldyA9IHRydWU7XG4gICAgdGhpcy5wcmV2aWV3VGVtcGxhdGUgPSBkZXRhaWxzO1xuICAgIHRoaXMuZmlsZVVybCA9IGAke3RoaXMuZW52Py5zM1VybH0ke3RoaXMuZW52Py5zM0J1Y2tldH0vJHtkZXRhaWxzPy5zM0RvY3hQYXRofWA7XG4gIH1cblxuICBvbkNsb3NlUHJldmlldygpIHtcbiAgICB0aGlzLmlzUHJldmlldyA9IGZhbHNlO1xuICAgIHRoaXMucHJldmlld1RlbXBsYXRlID0gbnVsbDtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cInNlbGVjdC10ZW1wbGF0ZS1saXN0XCJcbiAgW2NsYXNzLmFuaW1hdGVdPVwiYW5pbWF0aW9uXCJcbiAgW2NsYXNzLndpdGhQcmV2aWV3XT1cImlzUHJldmlld1wiXG4+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNQcmV2aWV3XCI+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJzZWxlY3QtdGVtcGxhdGUtbGlzdC1oZWFkIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1iZXR3ZWVuIHZ4LXBsLTQgdngtcHItNFwiXG4gICAgPlxuICAgICAgPGRpdiBjbGFzcz1cInZ4LWZzLTE0IHZ4LWZ3LTUwMCB2eC1sYWJlbC10eHRcIj5TZWxlY3QgYSBUZW1wbGF0ZTwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJzZWxlY3QtdGVtcGxhdGUtbGlzdC1ib2R5XCI+XG4gICAgICA8YXBwLWxvYWRlci1pbmxpbmUgKm5nSWY9XCJsb2FkZXJcIj48L2FwcC1sb2FkZXItaW5saW5lPlxuXG4gICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0LXRlbXBsYXRlLWxpc3QtdGFiIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtbWItMlwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgKGNsaWNrKT1cInN3aXRjaFRhYignVkNPTVBMWScpXCJcbiAgICAgICAgICBjbGFzcz1cInRhYi1idG4gdngtZnMtMTEgdngtZnctNTAwIHZ4LXR0LXVwcGVyY2FzZSB2eC1wLTAgdngtcGItMiB2eC1tLTAgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1saC00XCJcbiAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImN1cnJlbnRUYWIgPT09ICdWQ09NUExZJ1wiXG4gICAgICAgID5cbiAgICAgICAgICBWQ09NUExZIFRFTVBMQVRFU1xuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIChjbGljayk9XCJzd2l0Y2hUYWIoJ1VTRVJfQ1JFQVRFRCcpXCJcbiAgICAgICAgICBjbGFzcz1cInRhYi1idG4gdngtZnMtMTEgdngtZnctNTAwIHZ4LXR0LXVwcGVyY2FzZSB2eC1wLTAgdngtcGItMiB2eC1tLTAgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1saC00XCJcbiAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImN1cnJlbnRUYWIgPT09ICdVU0VSX0NSRUFURUQnXCJcbiAgICAgICAgPlxuICAgICAgICAgIFVTRVItQ1JFQVRFRCBURU1QTEFURVNcbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzZWFyY2gtYmxvY2sgdngtbWItMlwiPlxuICAgICAgICA8aSBjbGFzcz1cImljb25zXCI+JiN4ZTkwYjs8L2k+XG4gICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIFsobmdNb2RlbCldPVwic2VhcmNoVGVtcGxhdGVcIiBwbGFjZWhvbGRlcj1cIlNlYXJjaFwiIC8+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJib2R5LXRvcCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktZW5kIHZ4LW1iLTJcIj5cbiAgICAgICAgPGNzLW11bHRpLXNlbGVjdFxuICAgICAgICAgIChzZWFyY2hUZXh0KT1cInNlYXJjaENhdGVnb3J5ID0gJGV2ZW50XCJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1NlbGVjdCBDYXRlZ29yeSdcIlxuICAgICAgICAgIFt2YWx1ZV09XCJzZWxlY3RlZENhdGVnb3J5XCJcbiAgICAgICAgICAoYXBwbHlGaWx0ZXIpPVwib25BcHBseUZpbHRlcigkZXZlbnQpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICpuZ0Zvcj1cIlxuICAgICAgICAgICAgICBsZXQgZWFjaENhdGVnb3J5IG9mIGNhdGVnb3J5TGlzdFxuICAgICAgICAgICAgICAgIHwgU2VhcmNoQnlLZXlzIDogWyduYW1lJ10gOiBzZWFyY2hDYXRlZ29yeVxuICAgICAgICAgICAgXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8Y3MtbXVsdGktc2VsZWN0LW9wdGlvblxuICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCJlYWNoQ2F0ZWdvcnk/Lm5hbWVcIlxuICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXG4gICAgICAgICAgICAgIGRlbGF5PVwiMFwiXG4gICAgICAgICAgICAgIFt2YWx1ZV09XCJlYWNoQ2F0ZWdvcnk/Lml0ZW1faWRcIlxuICAgICAgICAgICAgICAoY2hhbmdlKT1cIm9uU2VsZWN0Q2F0ZWdvcnkoZWFjaENhdGVnb3J5LCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwidHJ1ZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHt7IGVhY2hDYXRlZ29yeT8ubmFtZSB9fVxuICAgICAgICAgICAgPC9jcy1tdWx0aS1zZWxlY3Qtb3B0aW9uPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2NzLW11bHRpLXNlbGVjdD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImJvZHktaW5uZXIgdngtbWItMVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWxvYWRlclwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgIHRlbXBsYXRlTGlzdFxuICAgICAgICAgICAgICAgIHwgU2VhcmNoQnlLZXlzXG4gICAgICAgICAgICAgICAgICA6IFsnbmFtZScsICdjYXRlZ29yeURldGFpbHMnXVxuICAgICAgICAgICAgICAgICAgOiBzZWFyY2hUZW1wbGF0ZSBhcyBhbGxUZW1wbGF0ZVxuICAgICAgICAgICAgXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8YXBwLXRlbXBsYXRlLWxpc3QtdGFibGVcbiAgICAgICAgICAgICAgKm5nSWY9XCJhbGxUZW1wbGF0ZS5sZW5ndGhcIlxuICAgICAgICAgICAgICBbdGVtcGxhdGVMaXN0XT1cImFsbFRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgW2xvYWRlcl09XCJsb2FkZXJcIlxuICAgICAgICAgICAgICBbY2F0ZWdvcnlMaXN0XT1cImNhdGVnb3J5TGlzdFwiXG4gICAgICAgICAgICAgIFtzZWxlY3RlZFRlbXBsYXRlXT1cInNlbGVjdGVkVGVtcGxhdGVbMF1cIlxuICAgICAgICAgICAgICBbZmVhdHVyZV09XCJmZWF0dXJlXCJcbiAgICAgICAgICAgICAgKG9uU29ydCk9XCJzb3J0QnkoJGV2ZW50KVwiXG4gICAgICAgICAgICAgIChvblNlbGVjdFRlbXBsYXRlKT1cIm9uU2VsZWN0VGVtcGxhdGUoJGV2ZW50KVwiXG4gICAgICAgICAgICAgIChvblByZXZpZXcpPVwib25QcmV2aWV3KCRldmVudClcIlxuICAgICAgICAgICAgPjwvYXBwLXRlbXBsYXRlLWxpc3QtdGFibGU+XG4gICAgICAgICAgICA8YXBwLW5vLWRhdGFcbiAgICAgICAgICAgICAgKm5nSWY9XCIhYWxsVGVtcGxhdGU/Lmxlbmd0aFwiXG4gICAgICAgICAgICAgIFtub0RhdGFJbWFnZV09XCJOT19EQVRBX0ZPVU5EX0lNQUdFXCJcbiAgICAgICAgICAgICAgW25vRGF0YVRleHRdPVwiTk9fREFUQV9GT1VORF9NRVNTQUdFXCJcbiAgICAgICAgICAgID48L2FwcC1uby1kYXRhPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8YXBwLWZsb2F0aW5nLWJhclxuICAgICAgICAoY2xvc2VFdmVudCk9XCJzYXZlKClcIlxuICAgICAgICAoY2xvc2VMaXN0KT1cImNsb3NlKClcIlxuICAgICAgICBbaXNEaXNhYmxlZF09XCJzZWxlY3RlZFRlbXBsYXRlPy5sZW5ndGggPT09IDBcIlxuICAgICAgICBbc2VsZWN0ZWREYXRhXT1cInNlbGVjdGVkVGVtcGxhdGVcIlxuICAgICAgICBbZGlzcGxheUVsZW1lbnRLZXldPVwiJ25hbWUnXCJcbiAgICAgICAgW3Npbmd1bGFyVGV4dF09XCInVGVtcGxhdGUgU2VsZWN0ZWQnXCJcbiAgICAgICAgKGRlbGV0ZUV2ZW50KT1cImRlbGV0ZUV2ZW50KClcIlxuICAgICAgPlxuICAgICAgPC9hcHAtZmxvYXRpbmctYmFyPlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzUHJldmlld1wiPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwic2VsZWN0LXRlbXBsYXRlLWxpc3QtaGVhZCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LXBsLTQgdngtcHItNFwiXG4gICAgPlxuICAgICAgPGJ1dHRvblxuICAgICAgICAoY2xpY2spPVwib25DbG9zZVByZXZpZXcoKVwiXG4gICAgICAgIGNsYXNzPVwicHJldmlld0J0biB2eC1mcy0xNCB2eC1mdy01MDAgdngtbGFiZWwtdHh0IHZ4LXAtMCB2eC1tLTAgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiXG4gICAgICA+XG4gICAgICAgIDxpIGNsYXNzPVwiaWNvbnMgdngtbXItMVwiPiYjeGU5MWQ7PC9pPlByZXZpZXdcbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cInRlbXBsYXRlLW5hbWUgdngtZnMtMTQgdngtbWwtMVwiXG4gICAgICAgIFthcHBUb29sdGlwXT1cInByZXZpZXdUZW1wbGF0ZT8ubmFtZVwiXG4gICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcbiAgICAgICAgZGVsYXk9XCIwXCJcbiAgICAgICAgdHlwZT1cImJsYWNrXCJcbiAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIlxuICAgICAgPlxuICAgICAgICB7eyBwcmV2aWV3VGVtcGxhdGU/Lm5hbWUgfX1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJwcmV2aWV3LXRlbXBsYXRlLWJvZHkgdngtZC1mbGV4IHZ4LWp1c3RpZnktY2VudGVyXCI+XG4gICAgICA8YXBwLWxvYWRlci1pbmxpbmUgKm5nSWY9XCJsb2FkZXJcIj48L2FwcC1sb2FkZXItaW5saW5lPlxuXG4gICAgICA8ZGl2ICpuZ0lmPVwiIWxvYWRlclwiIGNsYXNzPVwicHJldmlldy10ZW1wbGF0ZS1ib2R5LWlubmVyXCI+XG4gICAgICAgIDxuZ3gtZG9jLXZpZXdlclxuICAgICAgICAgIFt1cmxdPVwiZmlsZVVybFwiXG4gICAgICAgICAgdmlld2VyPVwib2ZmaWNlXCJcbiAgICAgICAgICBzdHlsZT1cIndpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IG1hcmdpbjogMFwiXG4gICAgICAgICAgZGlzYWJsZUNvbnRlbnQ9XCJwb3BvdXQtaGlkZVwiXG4gICAgICAgID5cbiAgICAgICAgPC9uZ3gtZG9jLXZpZXdlcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuIl19
|
|
206
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LXRlbXBsYXRlLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9wb2xpY3ktdGVtcGxhdGUvc2VsZWN0LXRlbXBsYXRlLWxpc3Qvc2VsZWN0LXRlbXBsYXRlLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9wb2xpY3ktdGVtcGxhdGUvc2VsZWN0LXRlbXBsYXRlLWxpc3Qvc2VsZWN0LXRlbXBsYXRlLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoQyxPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLHFCQUFxQixHQUN0QixNQUFNLGdDQUFnQyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7O0FBUXhDLE1BQU0sT0FBTywyQkFBMkI7SUEwQnRDLFlBQ1UsZUFBZ0MsRUFDaEMsYUFBNEIsRUFDeEIsTUFBdUI7UUFGM0Isb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBM0J0QyxZQUFPLEdBQVcsRUFBRSxDQUFBO1FBRXBCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIscUJBQWdCLEdBQVUsRUFBRSxDQUFDO1FBQzdCLG9CQUFlLEdBQWlCLElBQUksQ0FBQztRQUNyQyxpQkFBWSxHQUFVLEVBQUUsQ0FBQztRQUN6QixlQUFVLEdBQUcsU0FBUyxDQUFDO1FBQ3ZCLFdBQU0sR0FBWSxLQUFL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QUcsRUFBRSxRQUFRLElBQUksT0FBTyxFQUFFLFVBQVUsRUFBRSxDQUFDO1FBQ2hGLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO0lBQzlCLENBQUM7K0dBdE5VLDJCQUEyQjttR0FBM0IsMkJBQTJCLDZMQ2R4QyxtM0pBMElBOzs0RkQ1SGEsMkJBQTJCO2tCQUx2QyxTQUFTOytCQUNFLDBCQUEwQjs7MEJBaUNqQyxRQUFROzRDQVBGLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0ksZ0JBQWdCO3NCQUF6QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPcHRpb25hbCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUZW1wbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy90ZW1wbGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IGZvcmtKb2luIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBOT19EQVRBX0ZPVU5EX0lNQUdFLFxuICBOT19EQVRBX0ZPVU5EX01FU1NBR0UsXG59IGZyb20gJy4uL2NvbnN0YW50cy90ZW1wbGF0ZS5jb25zdGFudCc7XG5pbXBvcnQgeyBQb2xpY3lTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vd29ya2Zsb3ctc2VydmljZXMvcG9saWN5LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvbnMgfSBmcm9tICcuLi8uLi8uLi9jb25maWd1cmF0aW9ucyc7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtc2VsZWN0LXRlbXBsYXRlLWxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LXRlbXBsYXRlLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWxlY3QtdGVtcGxhdGUtbGlzdC5jb21wb25lbnQubGVzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RUZW1wbGF0ZUxpc3RDb21wb25lbnQge1xuICBmaWxlVXJsOiBzdHJpbmcgPSAnJ1xuICBlbnY6YW55O1xuICBhbmltYXRpb24gPSBmYWxzZTtcbiAgZGVmYXVsdFRlbXBsYXRlczogYW55W10gPSBbXTtcbiAgY3VzdG9tVGVtcGxhdGVzOiBhbnlbXSB8IG51bGwgPSBudWxsO1xuICB0ZW1wbGF0ZUxpc3Q6IGFueVtdID0gW107XG4gIGN1cnJlbnRUYWIgPSAnVkNPTVBMWSc7XG4gIGxvYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xuICBjYXRlZ29yeUxpc3Q6IGFueVtdID0gW107XG4gIGRlZmF1bHRDYXRlZ29yeUxpc3Q6IGFueVtdID0gW107XG4gIHVzZXJDcmVhdGVkQ2F0ZWdvcnlMaXN0OiBhbnlbXSA9IFtdO1xuICBzb3J0U3RhdHVzID0gLTE7XG4gIHNlYXJjaENhdGVnb3J5OiBzdHJpbmcgPSAnJztcbiAgc2VhcmNoVGVtcGxhdGU6IHN0cmluZyA9ICcnO1xuICBzZWxlY3RlZENhdGVnb3J5OiBhbnlbXSA9IFtdO1xuICBOT19EQVRBX0ZPVU5EX0lNQUdFID0gTk9fREFUQV9GT1VORF9JTUFHRTtcbiAgTk9fREFUQV9GT1VORF9NRVNTQUdFID0gTk9fREFUQV9GT1VORF9NRVNTQUdFO1xuICBzZWxlY3RlZFRlbXBsYXRlOiBhbnlbXSA9IFtdO1xuICBpc1ByZXZpZXcgPSBmYWxzZTtcbiAgcHJldmlld1RlbXBsYXRlOiBhbnk7XG5cbiAgQElucHV0KCkgc2VsZWN0ZWRDYXRlZ29yeUlkOiBudW1iZXJbXSA9IFtdO1xuICBASW5wdXQoKSBmZWF0dXJlOiBhbnk7XG4gIEBPdXRwdXQoKSBvblRlbXBsYXRlU2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB0ZW1wbGF0ZVNlcnZpY2U6IFRlbXBsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIHBvbGljeVNlcnZpY2U6IFBvbGljeVNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgY29uZmlnPzogQ29uZmlndXJhdGlvbnNcbiAgKSB7XG4gICAgaWYoY29uZmlnKXtcbiAgICAgIHRoaXMuZW52ID0gY29uZmlnPy5lbnZDb25maWdcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNldEFuaW1hdGlvbigpO1xuICAgIHRoaXMuZ2V0VGVtcGxhdGUoKTtcbiAgfVxuXG4gIHNldEFuaW1hdGlvbigpIHtcbiAgICB0aGlzLmFuaW1hdGlvbiA9IHRydWU7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmFuaW1hdGlvbiA9IGZhbHNlO1xuICAgIH0sIDMwMCk7XG4gIH1cblxuICBzd2l0Y2hUYWIodGFiOiBzdHJpbmcpIHtcbiAgICB0aGlzLmN1cnJlbnRUYWIgPSB0YWI7XG4gICAgdGhpcy5zZWxlY3RlZENhdGVnb3J5ID0gW107XG4gICAgaWYgKHRhYiA9PT0gJ1ZDT01QTFknKSB7XG4gICAgICB0aGlzLnRlbXBsYXRlTGlzdCA9IFsuLi50aGlzLmRlZmF1bHRUZW1wbGF0ZXNdO1xuICAgICAgdGhpcy5jYXRlZ29yeUxpc3QgPSB0aGlzLmRlZmF1bHRDYXRlZ29yeUxpc3Q7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLmN1c3RvbVRlbXBsYXRlcyA9PT0gbnVsbCkge1xuICAgICAgICB0aGlzLmdldEN1c3RvbVRlbXBsYXRlcygpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy50ZW1wbGF0ZUxpc3QgPSBbLi4udGhpcy5jdXN0b21UZW1wbGF0ZXNdO1xuICAgICAgICB0aGlzLmNhdGVnb3J5TGlzdCA9IHRoaXMudXNlckNyZWF0ZWRDYXRlZ29yeUxpc3Q7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZ2V0Q3VzdG9tVGVtcGxhdGVzKCkge1xuICAgIHRoaXMubG9hZGVyID0gdHJ1ZTtcbiAgICBjb25zdCBwYXlsb2FkID0ge1xuICAgICAgdHlwZTogJ2N1c3RvbScsXG4gICAgICBjYXRlZ29yeUlkOiB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnlJZC5tYXAoXG4gICAgICAgIChjYXRlZ29yeTogYW55KSA9PiBjYXRlZ29yeS5pdGVtX2lkXG4gICAgICApLFxuICAgIH07XG4gICAgdGhpcy50ZW1wbGF0ZVNlcnZpY2UuZmV0Y2hUZW1wbGF0ZXMocGF5bG9hZCkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xuICAgICAgdGhpcy5jdXN0b21UZW1wbGF0ZXMgPSByZXM/LnRlbXBsYXRlcyA/PyBbXTtcbiAgICAgIHRoaXMubWFwQ3VzdG9tVGVtcGxhdGUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIG1hcEN1c3RvbVRlbXBsYXRlKCkge1xuICAgIHRoaXMucG9saWN5U2VydmljZS5nZXRDYXRlZ29yaWVzTGlzdCgpLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcbiAgICAgIHRoaXMudXNlckNyZWF0ZWRDYXRlZ29yeUxpc3QgPSBbLi4ucmVzXTtcbiAgICAgIHRoaXMudXNlckNyZWF0ZWRDYXRlZ29yeUxpc3QgPSB0aGlzLnVzZXJDcmVhdGVkQ2F0ZWdvcnlMaXN0Lm1hcChcbiAgICAgICAgKHJlczogYW55KSA9PiB7XG4gICAgICAgICAgY29uc3QgcGFyZW50SXRlbXMgPSBbLi4ubmV3IFNldChyZXM/LnBhcmVudF9pdGVtcyA/PyBbXSldO1xuICAgICAgICAgIHBhcmVudEl0ZW1zLnVuc2hpZnQocmVzLml0ZW1fbmFtZSk7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLnJlcyxcbiAgICAgICAgICAgIG5hbWU6IHBhcmVudEl0ZW1zPy5qb2luKCcgPCAnKSxcbiAgICAgICAgICAgIHBhcmVudF9pdGVtczogcmVzPy5wYXJlbnRfaXRlbXMucmV2ZXJzZSgpLFxuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgICBpZiAodGhpcy5jdXN0b21UZW1wbGF0ZXMpIHtcbiAgICAgICAgdGhpcy5jdXN0b21UZW1wbGF0ZXMgPSB0aGlzLmN1c3RvbVRlbXBsYXRlcy5tYXAoKHRlbXBsYXRlOiBhbnkpID0+IHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4udGVtcGxhdGUsXG4gICAgICAgICAgICBjYXRlZ29yeURldGFpbHM6IHRoaXMudXNlckNyZWF0ZWRDYXRlZ29yeUxpc3QuZmlsdGVyKFxuICAgICAgICAgICAgICAoY2F0ZWdvcnk6IGFueSkgPT5cbiAgICAgICAgICAgICAgICB0ZW1wbGF0ZT8uY2F0ZWdvcnlJZD8uaW5jbHVkZXMoY2F0ZWdvcnkuaXRlbV9pZClcbiAgICAgICAgICAgICksXG4gICAgICAgICAgfTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICB0aGlzLnRlbXBsYXRlTGlzdCA9IFsuLi5uZXcgU2V0KHRoaXMuY3VzdG9tVGVtcGxhdGVzID8/IFtdKV07XG4gICAgICBjb25zdCBjYXRlZ29yeUlkcyA9IHRoaXMuc2VsZWN0ZWRDYXRlZ29yeUlkLm1hcChcbiAgICAgICAgKGNhdGVnb3J5OiBhbnkpID0+IGNhdGVnb3J5Lml0ZW1faWRcbiAgICAgICk7XG4gICAgICB0aGlzLnVzZXJDcmVhdGVkQ2F0ZWdvcnlMaXN0ID0gdGhpcy51c2VyQ3JlYXRlZENhdGVnb3J5TGlzdC5maWx0ZXIoXG4gICAgICAgIChjYXRlZ29yeTogYW55KSA9PiBjYXRlZ29yeUlkcz8uaW5jbHVkZXMoY2F0ZWdvcnkuaXRlbV9pZClcbiAgICAgICk7XG4gICAgICB0aGlzLmxvYWRlciA9IGZhbHNlO1xuICAgICAgdGhpcy5jYXRlZ29yeUxpc3QgPSB0aGlzLnVzZXJDcmVhdGVkQ2F0ZWdvcnlMaXN0O1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0VGVtcGxhdGUoKSB7XG4gICAgdGhpcy5sb2FkZXIgPSB0cnVlO1xuICAgIGNvbnN0IHBheWxvYWQgPSB7XG4gICAgICB0eXBlOiAnZGVmYXVsdCcsXG4gICAgfTtcbiAgICBmb3JrSm9pbihbXG4gICAgICB0aGlzLnRlbXBsYXRlU2VydmljZS5mZXRjaFRlbXBsYXRlcyhwYXlsb2FkKSxcbiAgICAgIHRoaXMudGVtcGxhdGVTZXJ2aWNlLmZldGNoRGVmYXVsdENhdGVnb3JpZXMoKSxcbiAgICBdKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XG4gICAgICB0aGlzLmRlZmF1bHRUZW1wbGF0ZXMgPSByZXNbMF0/LnRlbXBsYXRlcztcbiAgICAgIHRoaXMuZGVmYXVsdENhdGVnb3J5TGlzdCA9IHJlc1sxXTtcbiAgICAgIHRoaXMubWFwRGVmYXVsdFRlbXBsYXRlKCk7XG4gICAgICB0aGlzLmNhdGVnb3J5TGlzdCA9IFsuLi5uZXcgU2V0KHRoaXMuZGVmYXVsdENhdGVnb3J5TGlzdCldO1xuXG4gICAgICB0aGlzLnRlbXBsYXRlTGlzdCA9IHRoaXMuZGVmYXVsdFRlbXBsYXRlcztcbiAgICAgIHRoaXMubG9hZGVyID0gZmFsc2U7XG4gICAgfSk7XG4gIH1cblxuICBtYXBEZWZhdWx0VGVtcGxhdGUoKSB7XG4gICAgdGhpcy5kZWZhdWx0VGVtcGxhdGVzID0gdGhpcy5kZWZhdWx0VGVtcGxhdGVzLm1hcCgodGVtcGxhdGU6IGFueSkgPT4ge1xuICAgICAgY29uc3QgY2F0ZWdvcnkgPSB0aGlzLmRlZmF1bHRDYXRlZ29yeUxpc3QuZmlsdGVyKChjYXRlZ29yeTogYW55KSA9PlxuICAgICAgICB0ZW1wbGF0ZT8uY2F0ZWdvcnlJZD8uaW5jbHVkZXMoY2F0ZWdvcnkuaXRlbV9pZClcbiAgICAgICk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi50ZW1wbGF0ZSxcbiAgICAgICAgY2F0ZWdvcnlEZXRhaWxzOiBjYXRlZ29yeSxcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cblxuICBzb3J0Qnkoa2V5OiBzdHJpbmcpIHtcbiAgICB0aGlzLnNvcnRTdGF0dXMgPSB0aGlzLnNvcnRTdGF0dXMgKiAtMTtcbiAgICB0aGlzLnRlbXBsYXRlTGlzdCA9IHRoaXMudGVtcGxhdGVTZXJ2aWNlLnNvcnRCeUtleShcbiAgICAgIHRoaXMudGVtcGxhdGVMaXN0LFxuICAgICAga2V5LFxuICAgICAgdGhpcy5zb3J0U3RhdHVzXG4gICAgKTtcbiAgfVxuXG4gIG9uU2VsZWN0Q2F0ZWdvcnkoY2F0ZWdvcnk6IGFueSwgZXZlbnQ6IGFueSkge1xuICAgIGlmIChldmVudC50YXJnZXQuY2hlY2tlZCkge1xuICAgICAgdGhpcy5zZWxlY3RlZENhdGVnb3J5LnB1c2goY2F0ZWdvcnk/Lml0ZW1faWQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnkgPSB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnkuZmlsdGVyKFxuICAgICAgICAoaWQ6IGFueSkgPT4gaWQgIT09IGNhdGVnb3J5Py5pdGVtX2lkXG4gICAgICApO1xuICAgIH1cbiAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnkgPSBbLi4ubmV3IFNldCh0aGlzLnNlbGVjdGVkQ2F0ZWdvcnkpXTtcbiAgfVxuXG4gIG9uQXBwbHlGaWx0ZXIoZXZlbnQ6IGFueSkge1xuICAgIGlmICghZXZlbnQpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRDYXRlZ29yeSA9IFtdO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBsZXQgc2VsZWN0ZWRUZW1wbGF0ZSA9XG4gICAgICB0aGlzLmN1cnJlbnRUYWIgPT09ICdWQ09NUExZJ1xuICAgICAgICA/IHRoaXMuZGVmYXVsdFRlbXBsYXRlc1xuICAgICAgICA6IHRoaXMuY3VzdG9tVGVtcGxhdGVzID8/IFtdO1xuICAgIHNlbGVjdGVkVGVtcGxhdGUgPSBbLi4ubmV3IFNldChzZWxlY3RlZFRlbXBsYXRlKV07XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRDYXRlZ29yeS5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMudGVtcGxhdGVMaXN0ID0gc2VsZWN0ZWRUZW1wbGF0ZTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy50ZW1wbGF0ZUxpc3QgPSBzZWxlY3RlZFRlbXBsYXRlLmZpbHRlcigodGVtcGxhdGU6IGFueSkgPT4ge1xuICAgICAgcmV0dXJuIHRlbXBsYXRlPy5jYXRlZ29yeUlkPy5zb21lKChpZDogYW55KSA9PlxuICAgICAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnkuaW5jbHVkZXMoaWQpXG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgb25TZWxlY3RUZW1wbGF0ZSh0ZW1wbGF0ZTogYW55KSB7XG4gICAgdGhpcy5zZWxlY3RlZFRlbXBsYXRlID0gW3RlbXBsYXRlXTtcbiAgfVxuXG4gIHNhdmUoKSB7XG4gICAgdGhpcy5vblRlbXBsYXRlU2VsZWN0LmVtaXQodGhpcy5zZWxlY3RlZFRlbXBsYXRlKTtcbiAgfVxuXG4gIGNsb3NlKCkge1xuICAgIHRoaXMub25UZW1wbGF0ZVNlbGVjdC5lbWl0KFtdKTtcbiAgfVxuXG4gIGRlbGV0ZUV2ZW50KCkge1xuICAgIHRoaXMuc2VsZWN0ZWRUZW1wbGF0ZSA9IFtdO1xuICB9XG5cbiAgb25QcmV2aWV3KGRldGFpbHM6IGFueSkge1xuICAgIHRoaXMubG9hZGVyID0gZmFsc2U7XG4gICAgdGhpcy5pc1ByZXZpZXcgPSB0cnVlO1xuICAgIHRoaXMucHJldmlld1RlbXBsYXRlID0gZGV0YWlscztcbiAgICB0aGlzLmZpbGVVcmwgPSBgJHt0aGlzLmVudj8uczNVcmx9JHt0aGlzLmVudj8uczNCdWNrZXR9LyR7ZGV0YWlscz8uczNEb2N4UGF0aH1gO1xuICAgIGNvbnNvbGUubG9nKHRoaXMuZmlsZVVybCwgJ2ZpbGVVcmwnKTtcbiAgfVxuXG4gIG9uQ2xvc2VQcmV2aWV3KCkge1xuICAgIHRoaXMuaXNQcmV2aWV3ID0gZmFsc2U7XG4gICAgdGhpcy5wcmV2aWV3VGVtcGxhdGUgPSBudWxsO1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwic2VsZWN0LXRlbXBsYXRlLWxpc3RcIlxuICBbY2xhc3MuYW5pbWF0ZV09XCJhbmltYXRpb25cIlxuICBbY2xhc3Mud2l0aFByZXZpZXddPVwiaXNQcmV2aWV3XCJcbj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc1ByZXZpZXdcIj5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cInNlbGVjdC10ZW1wbGF0ZS1saXN0LWhlYWQgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWJldHdlZW4gdngtcGwtNCB2eC1wci00XCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwidngtZnMtMTQgdngtZnctNTAwIHZ4LWxhYmVsLXR4dFwiPlNlbGVjdCBhIFRlbXBsYXRlPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInNlbGVjdC10ZW1wbGF0ZS1saXN0LWJvZHlcIj5cbiAgICAgIDxhcHAtbG9hZGVyLWlubGluZSAqbmdJZj1cImxvYWRlclwiPjwvYXBwLWxvYWRlci1pbmxpbmU+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3QtdGVtcGxhdGUtbGlzdC10YWIgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1tYi0yXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAoY2xpY2spPVwic3dpdGNoVGFiKCdWQ09NUExZJylcIlxuICAgICAgICAgIGNsYXNzPVwidGFiLWJ0biB2eC1mcy0xMSB2eC1mdy01MDAgdngtdHQtdXBwZXJjYXNlIHZ4LXAtMCB2eC1wYi0yIHZ4LW0tMCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWxoLTRcIlxuICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiY3VycmVudFRhYiA9PT0gJ1ZDT01QTFknXCJcbiAgICAgICAgPlxuICAgICAgICAgIFZDT01QTFkgVEVNUExBVEVTXG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgKGNsaWNrKT1cInN3aXRjaFRhYignVVNFUl9DUkVBVEVEJylcIlxuICAgICAgICAgIGNsYXNzPVwidGFiLWJ0biB2eC1mcy0xMSB2eC1mdy01MDAgdngtdHQtdXBwZXJjYXNlIHZ4LXAtMCB2eC1wYi0yIHZ4LW0tMCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWxoLTRcIlxuICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiY3VycmVudFRhYiA9PT0gJ1VTRVJfQ1JFQVRFRCdcIlxuICAgICAgICA+XG4gICAgICAgICAgVVNFUi1DUkVBVEVEIFRFTVBMQVRFU1xuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInNlYXJjaC1ibG9jayB2eC1tYi0yXCI+XG4gICAgICAgIDxpIGNsYXNzPVwiaWNvbnNcIj4mI3hlOTBiOzwvaT5cbiAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgWyhuZ01vZGVsKV09XCJzZWFyY2hUZW1wbGF0ZVwiIHBsYWNlaG9sZGVyPVwiU2VhcmNoXCIgLz5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImJvZHktdG9wIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1lbmQgdngtbWItMlwiPlxuICAgICAgICA8Y3MtbXVsdGktc2VsZWN0XG4gICAgICAgICAgKHNlYXJjaFRleHQpPVwic2VhcmNoQ2F0ZWdvcnkgPSAkZXZlbnRcIlxuICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInU2VsZWN0IENhdGVnb3J5J1wiXG4gICAgICAgICAgW3ZhbHVlXT1cInNlbGVjdGVkQ2F0ZWdvcnlcIlxuICAgICAgICAgIChhcHBseUZpbHRlcik9XCJvbkFwcGx5RmlsdGVyKCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nRm9yPVwiXG4gICAgICAgICAgICAgIGxldCBlYWNoQ2F0ZWdvcnkgb2YgY2F0ZWdvcnlMaXN0XG4gICAgICAgICAgICAgICAgfCBTZWFyY2hCeUtleXMgOiBbJ25hbWUnXSA6IHNlYXJjaENhdGVnb3J5XG4gICAgICAgICAgICBcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxjcy1tdWx0aS1zZWxlY3Qtb3B0aW9uXG4gICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cImVhY2hDYXRlZ29yeT8ubmFtZVwiXG4gICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcbiAgICAgICAgICAgICAgZGVsYXk9XCIwXCJcbiAgICAgICAgICAgICAgW3ZhbHVlXT1cImVhY2hDYXRlZ29yeT8uaXRlbV9pZFwiXG4gICAgICAgICAgICAgIChjaGFuZ2UpPVwib25TZWxlY3RDYXRlZ29yeShlYWNoQ2F0ZWdvcnksICRldmVudClcIlxuICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3sgZWFjaENhdGVnb3J5Py5uYW1lIH19XG4gICAgICAgICAgICA8L2NzLW11bHRpLXNlbGVjdC1vcHRpb24+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvY3MtbXVsdGktc2VsZWN0PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiYm9keS1pbm5lciB2eC1tYi0xXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbG9hZGVyXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgdGVtcGxhdGVMaXN0XG4gICAgICAgICAgICAgICAgfCBTZWFyY2hCeUtleXNcbiAgICAgICAgICAgICAgICAgIDogWyduYW1lJywgJ2NhdGVnb3J5RGV0YWlscyddXG4gICAgICAgICAgICAgICAgICA6IHNlYXJjaFRlbXBsYXRlIGFzIGFsbFRlbXBsYXRlXG4gICAgICAgICAgICBcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxhcHAtdGVtcGxhdGUtbGlzdC10YWJsZVxuICAgICAgICAgICAgICAqbmdJZj1cImFsbFRlbXBsYXRlLmxlbmd0aFwiXG4gICAgICAgICAgICAgIFt0ZW1wbGF0ZUxpc3RdPVwiYWxsVGVtcGxhdGVcIlxuICAgICAgICAgICAgICBbbG9hZGVyXT1cImxvYWRlclwiXG4gICAgICAgICAgICAgIFtjYXRlZ29yeUxpc3RdPVwiY2F0ZWdvcnlMaXN0XCJcbiAgICAgICAgICAgICAgW3NlbGVjdGVkVGVtcGxhdGVdPVwic2VsZWN0ZWRUZW1wbGF0ZVswXVwiXG4gICAgICAgICAgICAgIFtmZWF0dXJlXT1cImZlYXR1cmVcIlxuICAgICAgICAgICAgICAob25Tb3J0KT1cInNvcnRCeSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgKG9uU2VsZWN0VGVtcGxhdGUpPVwib25TZWxlY3RUZW1wbGF0ZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgKG9uUHJldmlldyk9XCJvblByZXZpZXcoJGV2ZW50KVwiXG4gICAgICAgICAgICA+PC9hcHAtdGVtcGxhdGUtbGlzdC10YWJsZT5cbiAgICAgICAgICAgIDxhcHAtbm8tZGF0YVxuICAgICAgICAgICAgICAqbmdJZj1cIiFhbGxUZW1wbGF0ZT8ubGVuZ3RoXCJcbiAgICAgICAgICAgICAgW25vRGF0YUltYWdlXT1cIk5PX0RBVEFfRk9VTkRfSU1BR0VcIlxuICAgICAgICAgICAgICBbbm9EYXRhVGV4dF09XCJOT19EQVRBX0ZPVU5EX01FU1NBR0VcIlxuICAgICAgICAgICAgPjwvYXBwLW5vLWRhdGE+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxhcHAtZmxvYXRpbmctYmFyXG4gICAgICAgIChjbG9zZUV2ZW50KT1cInNhdmUoKVwiXG4gICAgICAgIChjbG9zZUxpc3QpPVwiY2xvc2UoKVwiXG4gICAgICAgIFtpc0Rpc2FibGVkXT1cInNlbGVjdGVkVGVtcGxhdGU/Lmxlbmd0aCA9PT0gMFwiXG4gICAgICAgIFtzZWxlY3RlZERhdGFdPVwic2VsZWN0ZWRUZW1wbGF0ZVwiXG4gICAgICAgIFtkaXNwbGF5RWxlbWVudEtleV09XCInbmFtZSdcIlxuICAgICAgICBbc2luZ3VsYXJUZXh0XT1cIidUZW1wbGF0ZSBTZWxlY3RlZCdcIlxuICAgICAgICAoZGVsZXRlRXZlbnQpPVwiZGVsZXRlRXZlbnQoKVwiXG4gICAgICA+XG4gICAgICA8L2FwcC1mbG9hdGluZy1iYXI+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNQcmV2aWV3XCI+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJzZWxlY3QtdGVtcGxhdGUtbGlzdC1oZWFkIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtcGwtNCB2eC1wci00XCJcbiAgICA+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIChjbGljayk9XCJvbkNsb3NlUHJldmlldygpXCJcbiAgICAgICAgY2xhc3M9XCJwcmV2aWV3QnRuIHZ4LWZzLTE0IHZ4LWZ3LTUwMCB2eC1sYWJlbC10eHQgdngtcC0wIHZ4LW0tMCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCJcbiAgICAgID5cbiAgICAgICAgPGkgY2xhc3M9XCJpY29ucyB2eC1tci0xXCI+JiN4ZTkxZDs8L2k+UHJldmlld1xuICAgICAgPC9idXR0b24+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwidGVtcGxhdGUtbmFtZSB2eC1mcy0xNCB2eC1tbC0xXCJcbiAgICAgICAgW2FwcFRvb2x0aXBdPVwicHJldmlld1RlbXBsYXRlPy5uYW1lXCJcbiAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxuICAgICAgICBkZWxheT1cIjBcIlxuICAgICAgICB0eXBlPVwiYmxhY2tcIlxuICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJmYWxzZVwiXG4gICAgICA+XG4gICAgICAgIHt7IHByZXZpZXdUZW1wbGF0ZT8ubmFtZSB9fVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInByZXZpZXctdGVtcGxhdGUtYm9keSB2eC1kLWZsZXggdngtanVzdGlmeS1jZW50ZXJcIj5cbiAgICAgIDxhcHAtbG9hZGVyLWlubGluZSAqbmdJZj1cImxvYWRlclwiPjwvYXBwLWxvYWRlci1pbmxpbmU+XG5cbiAgICAgIDxkaXYgKm5nSWY9XCIhbG9hZGVyXCIgY2xhc3M9XCJwcmV2aWV3LXRlbXBsYXRlLWJvZHktaW5uZXJcIj5cbiAgICAgICAgPG5neC1kb2Mtdmlld2VyXG4gICAgICAgICAgW3VybF09XCJmaWxlVXJsXCJcbiAgICAgICAgICB2aWV3ZXI9XCJvZmZpY2VcIlxuICAgICAgICAgIHN0eWxlPVwid2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgbWFyZ2luOiAwXCJcbiAgICAgICAgICBkaXNhYmxlQ29udGVudD1cInBvcG91dC1oaWRlXCJcbiAgICAgICAgPlxuICAgICAgICA8L25neC1kb2Mtdmlld2VyPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG4iXX0=
|