vcomply-workflow-engine 2.4.20 → 2.4.21

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.
@@ -401,7 +401,7 @@ export class WorkflowEngineContainerComponent {
401
401
  WorkflowEngineContainerComponent.decorators = [
402
402
  { type: Component, args: [{
403
403
  selector: 'app-vcomply-workflow-engine-container',
404
- template: "<app-snack-bar></app-snack-bar>\r\n<div class=\"workflow-engine-overlay\"></div>\r\n<div class=\"workflow-engine\" [class.animate]=\"animation\" [class.bg]=\"(!isWorkflowSelectorEnabled || riskBulkUpload?.showCategoryList) && (!policy?.showCreateDocuments)\">\r\n <div class=\"workflow-engine-container\" [ngSwitch]=\"currentWorkflow?.code\" [class.with-preview-assessment]=\"(auth?.previewPanel | async) === true\">\r\n <button (click)=\"closeWorkflowEngine()\" id = \"close-workflow-engine-btn\" class=\"close\" [appTooltip]=\"'[Esc] to close'\" placement=\"left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\"\r\n [class.disabled]=\"confirmationAlertConfig?.isVisible || !isWorkflowSelectorEnabled\"\r\n [class.smiley-opened]=\"riskComponent?.showSmiley || logIssueComponent?.showSmiley || compliance?.showSmiley || (policy?.showCreateDocuments)\r\n || responsibilityBulkUpload?.showSmiley || responsibilityBulkUpload?.showExcel || riskBulkUpload?.showSmiley || riskBulkUpload?.showExcel || program?.showSmiley || importAnAssessment?.showSmiley\">\r\n <i class=\"icons\">&#xe93f;</i>\r\n </button>\r\n <div *ngIf=\"!(uiKitService.isSmileyOn)\" class=\"workflow-engine-more\" [hidden]=\"showMoreOption === false || policy?.showCreateDocuments\"\r\n [class.disabled]=\"confirmationAlertConfig?.isVisible\" [class.read-only]=\"uiKitService?.isLoader\">\r\n <app-more-option #moreOption [currentWorkflow]=\"currentWorkflow.code\" [isEditMode]=\"mode ==='EDIT'\" [isRCSelected]=\"isRCSelected\" [openedFrom]=\"openedFrom\"\r\n (selectedOption)=\"addMoreInfo($event)\">\r\n </app-more-option>\r\n </div>\r\n <div class=\"workflow-engine-form\"\r\n [class.disabled]=\"confirmationAlertConfig?.isVisible\"\r\n [class.no-shadow]=\"currentWorkflow?.code == 'AMR'|| currentWorkflow?.code == 'CMR' || currentWorkflow?.code == 'AAA' || uiKitService.isSmileyOn || policy?.showCreateDocuments\">\r\n <div class=\"container\" (scroll)=\"scrollForm()\">\r\n <ng-container *ngIf=\"!['VIEW_AUDIT_EXECUTION_SUMMARY','EXECUTE_AUDIT_PLAN'].includes(openedFrom)\">\r\n <div *ngIf=\"!(uiKitService.isSmileyOn || policy?.showCreateDocuments)\" class=\"form-group-row\" #dropdownRow\r\n [class.disabled]=\"mode === 'EDIT' || !isWorkflowSelectorEnabled || disableWorkflowChange\">\r\n <div class=\"left\" [class.checked]=\"currentWorkflow\">\r\n <svg class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right \">\r\n <div class=\"vx-form-group\" #dropdown>\r\n <label class=\"vx-control-panel\">Select a Workflow<span class=\"required\">*</span></label>\r\n <div class=\"select\" *ngIf=\"!currentWorkflow\" (click)=\"editWorkflow()\">\r\n <input type=\"text\" placeholder=\"Select a Workflow\" readonly>\r\n </div>\r\n <div class=\"selected first-field\" *ngIf=\"currentWorkflow\">\r\n <!-- {{currentWorkflow | json}} -->\r\n <div class=\"chip-container\">\r\n <span class=\"chip\" [class.disabled]=\"false\">{{currentWorkflow?.workflowName}}</span>\r\n </div>\r\n <button class=\"edit\" type=\"button\" (click)=\"editWorkflow()\" *ngIf=\"!workflowList\"><i class=\"icons\">&#xe9ba;</i> Edit</button>\r\n </div>\r\n <div *ngIf=\"currentWorkflow?.code === 'CAPR' && currentBusinessCycle\" class=\"program-business-cycle vx-fs-11 vx-txt-white vx-d-flex vx-align-center vx-pt-2 vx-pb-1 vx-pl-2 vx-pr-1\"><i class=\"icons vx-fs-12 vx-mr-1\">&#xe963;</i> This program is being set-up for the business cycle: <span class=\"vx-fw-600 vx-ml-1\">{{currentBusinessCycle}}</span></div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <!-- <app-create-documents></app-create-documents> -->\r\n <!-- <app-bulk-view></app-bulk-view> -->\r\n <!-- <app-bulk-responsibility-view></app-bulk-responsibility-view> -->\r\n <app-workflow-compliance (disconnectRefresh)=\"isHostRefreshActive = $event\" [isEntrust]=\"entrustButtonName.toLowerCase() == 'entrust' \" [responsibilityId]=\"id\" [mode]=\"mode\" [frameworkDetails]=\"frameworkDetails\"\r\n (closeWorkflow)=\"closeWorkflowEngine($event)\" *ngSwitchCase=\"'CAR'\" #responsibility\r\n (pickerChanged)=\"decideViewMoreOption($event)\" (populateOption)=\"populateMoreOption($event)\"\r\n (hideElementsFromMoreOptions)=\"hideElementsFromMoreOptions($event)\" [selectedRC]=\"selectedRC\"\r\n [openedFrom]=\"openedFrom\" (rcSelected)=\"onRcSelected($event)\" (resetForm)=\"onResetForm()\" (onRemovingCheckpoint)=\"onRemovingCheckpoint($event, false, true)\" (isAssessmentDisabled)=\"isAssessmentDisabled($event)\" (checkpointCountUpdated)=\"checkpointCount = $event;\" [selectedProgram]=\"selectedProgram\"></app-workflow-compliance>\r\n <app-workflow-risk [secondaryOpenPortal]=\"secondaryOpenPortal\" [openedFrom]=\"openedFrom\" (disconnectRefresh)=\"isHostRefreshActive = $event\" *ngSwitchCase=\"'AAR'\" #risk (showConfirmationAlert)=\"showConfirmationPopup($event)\"\r\n (hideElementsFromMoreOptions)=\"hideElementsFromMoreOptions($event)\" (closeWorkflow)=\"closeWorkflowEngine($event)\" (pickerChanged)=\"decideViewMoreOption($event)\"\r\n (populateOption)=\"populateMoreOption($event)\" (refreshForm)=\"onResetForm()\" [mode]=\"mode\" [riskId]=\"id\"></app-workflow-risk>\r\n <app-workflow-policy (disconnectRefresh)=\"isHostRefreshActive = $event\" *ngSwitchCase=\"'CAP'\" #policy\r\n (showConfirmationAlert)=\"showConfirmationPopup($event)\" (shiftToEditMode)=\"shiftToEditMode()\"\r\n [policyId]=\"id\" [mode]=\"mode\" [convertFileData]=\"convertFileData\" [selectedCategory]=\"selectedCategory\"\r\n (populateOption)=\"populateMoreOption($event)\"(pickerChanged)=\"decideViewMoreOption($event)\"></app-workflow-policy>\r\n <app-workflow-survey-form *ngSwitchCase=\"'CAS'\" #surveyForm></app-workflow-survey-form>\r\n <app-add-multiple-risk (disconnectRefresh)=\"isHostRefreshActive = $event\" *ngSwitchCase=\"'AMR'\" #multipleRisk\r\n (pickerChanged)=\"decideViewMoreOption($event)\" (closeWorkflow)=\"closeWorkflowEngine($event)\"></app-add-multiple-risk>\r\n <app-add-multiple-responsibility (disconnectRefresh)=\"isHostRefreshActive = $event\" (closeWorkflow)=\"closeWorkflowEngine($event)\" *ngSwitchCase=\"'CMR'\" #multipleResponsibility>\r\n </app-add-multiple-responsibility>\r\n <!-- New Log an Issue -->\r\n <app-log-an-issue [issueDetails]=\"issueData\" *ngSwitchCase=\"'LAI'\" [reponsibilityData]=\"reponsibilityData\" [openedFrom]=\"openedFrom\" [issueId]=\"id\"\r\n #logAnIssue (disconnectRefresh)=\"isHostRefreshActive = $event\" (closeWorkflow)=\"closeWorkflowEngine($event)\"\r\n (pickerChanged)=\"decideViewMoreOption($event)\" (populateOption)=\"populateMoreOption($event)\" [(mode)]=\"mode\">\r\n </app-log-an-issue>\r\n <!-- Old Log an issue -->\r\n <!-- <app-log-an-issue *ngSwitchCase=\"'LAI'\" [responsibilitiesData]=\"reponsibiltyData\" [openedFrom]=\"openedFrom\"\r\n #logAnIssue (closeWorkflow)=\"closeWorkflowEngine($event)\"\r\n (pickerChanged)=\"decideViewMoreOption($event)\" (populateOption)=\"populateMoreOption($event)\">\r\n </app-log-an-issue> -->\r\n\r\n <app-workflow-assessment [assessmentId]=\"id\" (pickerChanged)=\"decideViewMoreOption($event)\" [openedFrom]=\"openedFrom\" (disconnectRefresh)=\"isHostRefreshActive = $event\" *ngSwitchCase=\"'AAA'\" (showConfirmationAlert)=\"showConfirmationPopup($event)\" (closeWorkflow)=\"closeWorkflowEngine($event)\" (pickerChanged)=\"decideViewMoreOption($event)\" (populateOption)=\"populateMoreOption($event)\" (refreshForm)=\"onResetForm()\" [mode]=\"mode\" #assessment></app-workflow-assessment>\r\n <app-import-an-assessment (pickerChanged)=\"decideViewMoreOption($event)\" (disconnectRefresh)=\"isHostRefreshActive = $event\" *ngSwitchCase=\"'IAA'\" (showConfirmationAlert)=\"showConfirmationPopup($event)\" (closeWorkflow)=\"closeWorkflowEngine($event)\" (pickerChanged)=\"decideViewMoreOption($event)\" (populateOption)=\"populateMoreOption($event)\" (refreshForm)=\"onResetForm()\" #importAssessment></app-import-an-assessment>\r\n <!-- <app-workflow-program #program *ngSwitchCase=\"'CAPR'\" (pickerChanged)=\"decideViewMoreOption($event)\" (disconnectRefresh)=\"isHostRefreshActive = $event\"></app-workflow-program> -->\r\n <app-workflow-program #program *ngSwitchCase=\"'CAPR'\" [programType]=\"programType\" (pickerChanged)=\"decideViewMoreOption($event)\" (disconnectRefresh)=\"isHostRefreshActive = $event\" (showConfirmationAlert)=\"showConfirmationPopup($event)\" (closeWorkflow)=\"closeWorkflowEngine($event)\" (pickerChanged)=\"decideViewMoreOption($event)\" (populateOption)=\"populateMoreOption($event)\" (refreshForm)=\"onResetForm()\" [mode]=\"mode\" [programId]=\"id\" (onRemovingRole)=\"onRemovingRole($event)\"></app-workflow-program>\r\n </div>\r\n <button class=\"submit\" [class.disabled]=\"!isWorkflowSelectorEnabled\" *ngSwitchCase=\"'AAR'\"\r\n (click)=\"submit()\">{{mode==='EDIT' && openedFrom !== 'MOVE_TO_REGISTER' ? 'Update' : 'Add'}}</button>\r\n <button class=\"submit\" [class.disabled]=\"!isWorkflowSelectorEnabled || !riskBulkUpload?.category?.selectedCategory\"\r\n (click)=\"bulkUploadBrowse('AMR')\"\r\n *ngSwitchCase=\"'AMR'\">Browse</button>\r\n <button class=\"submit\" [class.disabled]=\"!isWorkflowSelectorEnabled\" (click)=\"bulkUploadBrowse('CMR')\"\r\n *ngSwitchCase=\"'CMR'\">Browse</button>\r\n <button class=\"submit\" [class.disabled]=\"!isWorkflowSelectorEnabled\" (click)=\"submit()\"\r\n *ngSwitchCase=\"'CAR'\">{{entrustButtonName !== '' ? entrustButtonName : 'Entrust'}}</button>\r\n <button class=\"submit\" [class.disabled]=\"!isWorkflowSelectorEnabled\" (click)=\"submit()\"\r\n *ngSwitchCase=\"'CAP'\">{{(convertFileData.fileName)?'NEXT':((mode=='EDIT')? 'Update':'Continue to draft')}}</button>\r\n <button class=\"submit\" [class.disabled]=\"!isWorkflowSelectorEnabled\" *ngSwitchCase=\"'CAS'\">\r\n Continue to draft </button>\r\n <button class=\"submit\" [class.disabled]=\"!isWorkflowSelectorEnabled\" *ngSwitchCase=\"'LAI'\"\r\n (click)=\"submit()\">{{mode==='EDIT' ? 'Update' : 'Add'}}</button>\r\n <button class=\"submit\" [class.disabled]=\"!isWorkflowSelectorEnabled\" *ngSwitchCase=\"'AAA'\" (click)=\"submit()\">{{mode === 'EDIT' ? 'Update' : 'Continue to draft'}}</button>\r\n <button class=\"submit\" [class.disabled]=\"!isWorkflowSelectorEnabled\" (click)=\"bulkUploadBrowse('IAA')\"\r\n *ngSwitchCase=\"'IAA'\">Browse</button>\r\n <button class=\"submit\" [class.disabled]=\"!isWorkflowSelectorEnabled || !program?.valid ||!program.formValid \"(click)=\"submit('CAPR')\"\r\n *ngSwitchCase=\"'CAPR'\">Save</button>\r\n <div class=\"dropdown\" *ngIf=\"workflowList\" (click)=\"closeWorkflowList()\" [style.top.px]=\"dropdownTop\"\r\n [style.left.px]=\"dropdownLeft\" [style.width.px]=\"dropdownWidth\">\r\n <ul class=\"dropdown-list\">\r\n <li *ngFor=\"let workflow of workflowTypeList\" (click)=\"changeWorkflow($event,workflow)\">\r\n <app-cs-radio [value]=\"workflow?.code\" [checked]=\"currentWorkflow?.code===workflow?.code\">\r\n {{workflow?.workflowName}}</app-cs-radio>\r\n </li>\r\n </ul>\r\n </div>\r\n <div class=\"dropdown-overlay\" *ngIf=\"workflowList\" (click)=\"closeWorkflowList()\"></div>\r\n </div>\r\n <app-confirmation-alert (action)=\"confirmWorkflowChange($event)\" *ngIf=\"confirmationAlertConfig?.isVisible\"\r\n [message]=\"confirmationAlertConfig?.message\" [config]=\"confirmationAlertConfig\"></app-confirmation-alert>\r\n </div>\r\n</div>\r\n",
404
+ template: "<app-snack-bar></app-snack-bar>\r\n<div class=\"workflow-engine-overlay\"></div>\r\n<div class=\"workflow-engine\" [class.animate]=\"animation\" [class.bg]=\"(!isWorkflowSelectorEnabled || riskBulkUpload?.showCategoryList) && (!policy?.showCreateDocuments)\">\r\n <div class=\"workflow-engine-container\" [ngSwitch]=\"currentWorkflow?.code\" [class.with-preview-assessment]=\"(auth?.previewPanel | async) === true\">\r\n <button (click)=\"closeWorkflowEngine()\" id = \"close-workflow-engine-btn\" class=\"close\" [appTooltip]=\"'[Esc] to close'\" placement=\"left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\"\r\n [class.disabled]=\"confirmationAlertConfig?.isVisible || !isWorkflowSelectorEnabled\"\r\n [class.smiley-opened]=\"riskComponent?.showSmiley || logIssueComponent?.showSmiley || compliance?.showSmiley || (policy?.showCreateDocuments)\r\n || responsibilityBulkUpload?.showSmiley || responsibilityBulkUpload?.showExcel || riskBulkUpload?.showSmiley || riskBulkUpload?.showExcel || program?.showSmiley || importAnAssessment?.showSmiley\">\r\n <i class=\"icons\">&#xe93f;</i>\r\n </button>\r\n <div *ngIf=\"!(uiKitService.isSmileyOn)\" class=\"workflow-engine-more\" [hidden]=\"showMoreOption === false || policy?.showCreateDocuments\"\r\n [class.disabled]=\"confirmationAlertConfig?.isVisible\" [class.read-only]=\"uiKitService?.isLoader\">\r\n <app-more-option #moreOption [currentWorkflow]=\"currentWorkflow.code\" [isEditMode]=\"mode ==='EDIT'\" [isRCSelected]=\"isRCSelected\" [openedFrom]=\"openedFrom\"\r\n (selectedOption)=\"addMoreInfo($event)\">\r\n </app-more-option>\r\n </div>\r\n <div class=\"workflow-engine-form\"\r\n [class.disabled]=\"confirmationAlertConfig?.isVisible\"\r\n [class.no-shadow]=\"currentWorkflow?.code == 'AMR'|| currentWorkflow?.code == 'CMR' || currentWorkflow?.code == 'AAA' || uiKitService.isSmileyOn || policy?.showCreateDocuments\">\r\n <div class=\"container\" (scroll)=\"scrollForm()\">\r\n <ng-container *ngIf=\"!['VIEW_AUDIT_EXECUTION_SUMMARY','EXECUTE_AUDIT_PLAN'].includes(openedFrom)\">\r\n <div *ngIf=\"!(uiKitService.isSmileyOn || policy?.showCreateDocuments)\" class=\"form-group-row\" #dropdownRow\r\n [class.disabled]=\"mode === 'EDIT' || !isWorkflowSelectorEnabled || disableWorkflowChange\">\r\n <div class=\"left\" [class.checked]=\"currentWorkflow\">\r\n <svg class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right \">\r\n <div class=\"vx-form-group\" #dropdown>\r\n <label class=\"vx-control-panel\">Select a Workflow<span class=\"required\">*</span></label>\r\n <div class=\"select\" *ngIf=\"!currentWorkflow\" (click)=\"editWorkflow()\">\r\n <input type=\"text\" placeholder=\"Select a Workflow\" readonly>\r\n </div>\r\n <div class=\"selected first-field\" *ngIf=\"currentWorkflow\">\r\n <!-- {{currentWorkflow | json}} -->\r\n <div class=\"chip-container\">\r\n <span class=\"chip\" [class.disabled]=\"false\">{{currentWorkflow?.workflowName}}</span>\r\n </div>\r\n <button class=\"edit\" type=\"button\" (click)=\"editWorkflow()\" *ngIf=\"!workflowList\"><i class=\"icons\">&#xe9ba;</i> Edit</button>\r\n </div>\r\n <div *ngIf=\"currentWorkflow?.code === 'CAPR' && currentBusinessCycle\" class=\"program-business-cycle vx-fs-11 vx-txt-white vx-d-flex vx-align-center vx-pt-2 vx-pb-1 vx-pl-2 vx-pr-1\"><i class=\"icons vx-fs-12 vx-mr-1\">&#xe963;</i> This program is being set-up for the business cycle: <span class=\"vx-fw-600 vx-ml-1\">{{currentBusinessCycle}}</span></div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <!-- <app-create-documents></app-create-documents> -->\r\n <!-- <app-bulk-view></app-bulk-view> -->\r\n <!-- <app-bulk-responsibility-view></app-bulk-responsibility-view> -->\r\n <app-workflow-compliance (disconnectRefresh)=\"isHostRefreshActive = $event\" [isEntrust]=\"entrustButtonName.toLowerCase() == 'entrust' \" [responsibilityId]=\"id\" [mode]=\"mode\" [frameworkDetails]=\"frameworkDetails\"\r\n (closeWorkflow)=\"closeWorkflowEngine($event)\" *ngSwitchCase=\"'CAR'\" #responsibility\r\n (pickerChanged)=\"decideViewMoreOption($event)\" (populateOption)=\"populateMoreOption($event)\"\r\n (hideElementsFromMoreOptions)=\"hideElementsFromMoreOptions($event)\" [selectedRC]=\"selectedRC\"\r\n [openedFrom]=\"openedFrom\" (rcSelected)=\"onRcSelected($event)\" (resetForm)=\"onResetForm()\" (onRemovingCheckpoint)=\"onRemovingCheckpoint($event, false, true)\" (isAssessmentDisabled)=\"isAssessmentDisabled($event)\" (checkpointCountUpdated)=\"checkpointCount = $event;\" [selectedProgram]=\"selectedProgram\"></app-workflow-compliance>\r\n <app-workflow-risk [secondaryOpenPortal]=\"secondaryOpenPortal\" [openedFrom]=\"openedFrom\" (disconnectRefresh)=\"isHostRefreshActive = $event\" *ngSwitchCase=\"'AAR'\" #risk (showConfirmationAlert)=\"showConfirmationPopup($event)\"\r\n (hideElementsFromMoreOptions)=\"hideElementsFromMoreOptions($event)\" (closeWorkflow)=\"closeWorkflowEngine($event)\" (pickerChanged)=\"decideViewMoreOption($event)\"\r\n (populateOption)=\"populateMoreOption($event)\" (refreshForm)=\"onResetForm()\" [mode]=\"mode\" [riskId]=\"id\"></app-workflow-risk>\r\n <app-workflow-policy (disconnectRefresh)=\"isHostRefreshActive = $event\" *ngSwitchCase=\"'CAP'\" #policy\r\n (showConfirmationAlert)=\"showConfirmationPopup($event)\" (shiftToEditMode)=\"shiftToEditMode()\"\r\n [policyId]=\"id\" [mode]=\"mode\" [convertFileData]=\"convertFileData\" [selectedCategory]=\"selectedCategory\"\r\n (populateOption)=\"populateMoreOption($event)\"(pickerChanged)=\"decideViewMoreOption($event)\"></app-workflow-policy>\r\n <app-workflow-survey-form *ngSwitchCase=\"'CAS'\" #surveyForm></app-workflow-survey-form>\r\n <app-add-multiple-risk (disconnectRefresh)=\"isHostRefreshActive = $event\" *ngSwitchCase=\"'AMR'\" #multipleRisk\r\n (pickerChanged)=\"decideViewMoreOption($event)\" (closeWorkflow)=\"closeWorkflowEngine($event)\"></app-add-multiple-risk>\r\n <app-add-multiple-responsibility (disconnectRefresh)=\"isHostRefreshActive = $event\" (closeWorkflow)=\"closeWorkflowEngine($event)\" *ngSwitchCase=\"'CMR'\" #multipleResponsibility>\r\n </app-add-multiple-responsibility>\r\n <!-- New Log an Issue -->\r\n <app-log-an-issue [issueDetails]=\"issueData\" *ngSwitchCase=\"'LAI'\" [reponsibilityData]=\"reponsibilityData\" [openedFrom]=\"openedFrom\" [issueId]=\"id\"\r\n #logAnIssue (disconnectRefresh)=\"isHostRefreshActive = $event\" (closeWorkflow)=\"closeWorkflowEngine($event)\"\r\n (pickerChanged)=\"decideViewMoreOption($event)\" (populateOption)=\"populateMoreOption($event)\" [(mode)]=\"mode\">\r\n </app-log-an-issue>\r\n <!-- Old Log an issue -->\r\n <!-- <app-log-an-issue *ngSwitchCase=\"'LAI'\" [responsibilitiesData]=\"reponsibiltyData\" [openedFrom]=\"openedFrom\"\r\n #logAnIssue (closeWorkflow)=\"closeWorkflowEngine($event)\"\r\n (pickerChanged)=\"decideViewMoreOption($event)\" (populateOption)=\"populateMoreOption($event)\">\r\n </app-log-an-issue> -->\r\n\r\n <app-workflow-assessment [assessmentId]=\"id\" (pickerChanged)=\"decideViewMoreOption($event)\" [openedFrom]=\"openedFrom\" (disconnectRefresh)=\"isHostRefreshActive = $event\" *ngSwitchCase=\"'AAA'\" (showConfirmationAlert)=\"showConfirmationPopup($event)\" (closeWorkflow)=\"closeWorkflowEngine($event)\" (pickerChanged)=\"decideViewMoreOption($event)\" (populateOption)=\"populateMoreOption($event)\" (refreshForm)=\"onResetForm()\" [mode]=\"mode\" #assessment></app-workflow-assessment>\r\n <app-import-an-assessment (pickerChanged)=\"decideViewMoreOption($event)\" (disconnectRefresh)=\"isHostRefreshActive = $event\" *ngSwitchCase=\"'IAA'\" (showConfirmationAlert)=\"showConfirmationPopup($event)\" (closeWorkflow)=\"closeWorkflowEngine($event)\" (pickerChanged)=\"decideViewMoreOption($event)\" (populateOption)=\"populateMoreOption($event)\" (refreshForm)=\"onResetForm()\" #importAssessment></app-import-an-assessment>\r\n <!-- <app-workflow-program #program *ngSwitchCase=\"'CAPR'\" (pickerChanged)=\"decideViewMoreOption($event)\" (disconnectRefresh)=\"isHostRefreshActive = $event\"></app-workflow-program> -->\r\n <app-workflow-program #program *ngSwitchCase=\"'CAPR'\" [programType]=\"programType\" (pickerChanged)=\"decideViewMoreOption($event)\" (disconnectRefresh)=\"isHostRefreshActive = $event\" (showConfirmationAlert)=\"showConfirmationPopup($event)\" (closeWorkflow)=\"closeWorkflowEngine($event)\" (pickerChanged)=\"decideViewMoreOption($event)\" (populateOption)=\"populateMoreOption($event)\" (refreshForm)=\"onResetForm()\" [mode]=\"mode\" [programId]=\"id\" (onRemovingRole)=\"onRemovingRole($event)\"></app-workflow-program>\r\n </div>\r\n <button class=\"submit\" [class.disabled]=\"!isWorkflowSelectorEnabled\" *ngSwitchCase=\"'AAR'\"\r\n (click)=\"submit()\">{{mode==='EDIT' && openedFrom !== 'MOVE_TO_REGISTER' ? 'Update' : 'Add'}}</button>\r\n <button class=\"submit\" [class.disabled]=\"!isWorkflowSelectorEnabled || !riskBulkUpload?.category?.selectedCategory\"\r\n (click)=\"bulkUploadBrowse('AMR')\"\r\n *ngSwitchCase=\"'AMR'\">Browse</button>\r\n <button class=\"submit\" [class.disabled]=\"!isWorkflowSelectorEnabled\" (click)=\"bulkUploadBrowse('CMR')\"\r\n *ngSwitchCase=\"'CMR'\">Browse</button>\r\n <button class=\"submit\" [class.disabled]=\"!isWorkflowSelectorEnabled\" (click)=\"submit()\"\r\n *ngSwitchCase=\"'CAR'\">{{entrustButtonName !== '' ? entrustButtonName : 'Entrust'}}</button>\r\n <button class=\"submit\" [class.disabled]=\"!isWorkflowSelectorEnabled\" (click)=\"submit()\"\r\n *ngSwitchCase=\"'CAP'\">{{(convertFileData.fileName)?'NEXT':((mode=='EDIT')? 'Update':'Continue to draft')}}</button>\r\n <button class=\"submit\" [class.disabled]=\"!isWorkflowSelectorEnabled\" *ngSwitchCase=\"'CAS'\">\r\n Continue to draft </button>\r\n <button class=\"submit\" [class.disabled]=\"!isWorkflowSelectorEnabled\" *ngSwitchCase=\"'LAI'\"\r\n (click)=\"submit()\">{{mode==='EDIT' ? 'Update' : 'Add'}}</button>\r\n <button class=\"submit\" [class.disabled]=\"!isWorkflowSelectorEnabled\" *ngSwitchCase=\"'AAA'\" (click)=\"submit()\">{{mode === 'EDIT' ? 'Update' : 'Continue to draft'}}</button>\r\n <button class=\"submit\" [class.disabled]=\"!isWorkflowSelectorEnabled\" (click)=\"bulkUploadBrowse('IAA')\"\r\n *ngSwitchCase=\"'IAA'\">Browse</button>\r\n <button class=\"submit\" [class.disabled]=\"!isWorkflowSelectorEnabled || !program?.valid\" (click)=\"submit('CAPR')\"\r\n *ngSwitchCase=\"'CAPR'\">Save</button>\r\n <div class=\"dropdown\" *ngIf=\"workflowList\" (click)=\"closeWorkflowList()\" [style.top.px]=\"dropdownTop\"\r\n [style.left.px]=\"dropdownLeft\" [style.width.px]=\"dropdownWidth\">\r\n <ul class=\"dropdown-list\">\r\n <li *ngFor=\"let workflow of workflowTypeList\" (click)=\"changeWorkflow($event,workflow)\">\r\n <app-cs-radio [value]=\"workflow?.code\" [checked]=\"currentWorkflow?.code===workflow?.code\">\r\n {{workflow?.workflowName}}</app-cs-radio>\r\n </li>\r\n </ul>\r\n </div>\r\n <div class=\"dropdown-overlay\" *ngIf=\"workflowList\" (click)=\"closeWorkflowList()\"></div>\r\n </div>\r\n <app-confirmation-alert (action)=\"confirmWorkflowChange($event)\" *ngIf=\"confirmationAlertConfig?.isVisible\"\r\n [message]=\"confirmationAlertConfig?.message\" [config]=\"confirmationAlertConfig\"></app-confirmation-alert>\r\n </div>\r\n</div>\r\n",
405
405
  styles: ["@import url(\"https://cdn.v-comply.com/design-system/css/icons/icons.css\");@import url(\"https://cdn.v-comply.com/design-system/css/display/display.css\");@import url(\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\");@import url(\"https://cdn.v-comply.com/design-system/css/color/color.css\");@import url(\"https://cdn.v-comply.com/design-system/css/text/text.css\");@import url(\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\");@import url(\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\");@import url(\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\");@import url(\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\");@import url(\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\");@import url(\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\");.dropdown-overlay{z-index:2}.dropdown-overlay,.workflow-engine{position:fixed;top:0;right:0;bottom:0;left:0}.workflow-engine{background:rgba(0,0,0,.7);z-index:10}.workflow-engine button.close{position:absolute;background:transparent;cursor:pointer;border:none;font-size:18px;color:#000;top:5px;right:2px;z-index:12;padding:0;display:flex;align-items:center;justify-content:center;height:36px;width:36px;border-radius:2px}.workflow-engine button.close.bulk-opened,.workflow-engine button.close.smiley-opened{z-index:10}.workflow-engine button.close:hover{background:#f1f1f1}.workflow-engine button.close.disabled{pointer-events:none;opacity:.3;filter:grayscale(1)}.workflow-engine-container{position:fixed;top:0;right:0;bottom:0;background:#fff;display:flex;z-index:10;border-top:3px solid #1e5dd3}.workflow-engine-container:before{content:\"\";height:30px;position:absolute;top:0;right:0;width:499px;z-index:11;background:linear-gradient(180deg,#fff 0,hsla(0,0%,100%,.75) 66%,hsla(0,0%,100%,.42) 81%,hsla(0,0%,100%,0));filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#ffffff\",endColorstr=\"#00ffffff\",GradientType=0)}.workflow-engine-container.with-preview-assessment:before,.workflow-engine-container.with-preview-assessment button.close{display:none}.workflow-engine-container.with-preview-assessment .workflow-engine-form{right:-470px}.workflow-engine-container.with-preview-assessment .workflow-engine-form .container ::ng-deep app-workflow-compliance .workflw-compliance{filter:grayscale(1)!important;pointer-events:none!important}.workflow-engine-container.with-preview-assessment .workflow-engine-form button.submit{filter:grayscale(1)!important;pointer-events:none!important}.workflow-engine-more{width:318px;padding:36px 22px 36px 40px;height:100vh;overflow:auto;margin-left:-18px;scrollbar-width:none}@media screen and (max-height:900px){.workflow-engine-more{padding:20px 22px 36px 40px}}.workflow-engine-more::-webkit-scrollbar-track{background-color:#f1f1f1;position:absolute}.workflow-engine-more::-webkit-scrollbar{width:1px;height:1px;background-color:transparent;position:absolute}.workflow-engine-more::-webkit-scrollbar-thumb{border-radius:1px;background-color:#dbdbdb;position:absolute}.workflow-engine-more.disabled{filter:grayscale(1);pointer-events:none}.workflow-engine-more.read-only{pointer-events:none}.workflow-engine-form{width:500px;position:relative}.workflow-engine-form .container{height:calc(100vh - 53px);padding:35px 24px 12px 62px;overflow:hidden;overflow-y:auto;margin-left:-22px;scrollbar-width:thin}.workflow-engine-form .container.disabled{pointer-events:none}.workflow-engine-form:before{content:\"\";top:0;bottom:-50px;left:0;width:1px;background:#f1f1f1;position:absolute}.workflow-engine-form button.submit{position:sticky;height:50px;display:flex;align-items:center;justify-content:center;font-size:14px;line-height:48px;letter-spacing:3.08px;color:#fff;background:#1e5dd3;cursor:pointer;border:1px solid #1e5dd3;outline:none;border-radius:0;text-transform:uppercase;font-weight:600;width:100%;bottom:0;padding:0}.workflow-engine-form button.submit:disabled{background:#f1f1f1;border-color:#f1f1f1;pointer-events:none;cursor:not-allowed;color:#747576}.workflow-engine-form button.submit.disabled{pointer-events:none;opacity:.3;filter:grayscale(1)}.workflow-engine-form.disabled{filter:grayscale(1);pointer-events:none}.workflow-engine-form label.browse{padding:0;margin:0;display:block;position:sticky;bottom:0}.workflow-engine-form label.browse span{height:50px;display:flex;align-items:center;justify-content:center;font-size:13px;line-height:19px;letter-spacing:3.08px;color:#fff;background:#1e5dd3;cursor:pointer;border:1px solid #1e5dd3;outline:none;border-radius:0;text-transform:uppercase;font-weight:600;width:100%}.workflow-engine-form label.browse input{position:absolute;width:100%;height:100%;z-index:1;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.workflow-engine-form .file-browsed{display:flex;align-items:center;background:#fff;border-top:1px solid #f1f1f1;border-bottom:1px solid #f1f1f1}.workflow-engine-form .file-browsed span{display:block;width:calc(100% - 164px);color:#161b2f;font-size:13px;font-weight:400;line-height:20px;padding:0 16px}.workflow-engine-form .file-browsed button{height:50px;display:flex;align-items:center;justify-content:center;font-size:13px;line-height:19px;letter-spacing:3.08px;color:#fff;background:#1e5dd3;cursor:pointer;border:1px solid #1e5dd3;outline:none;border-radius:0;text-transform:uppercase;font-weight:600;width:164px;bottom:0}.workflow-engine-form:after{content:\"\";height:30px;position:absolute;right:0;bottom:50px;z-index:10;background:linear-gradient(180deg,hsla(0,0%,100%,0) 0,hsla(0,0%,100%,.75) 22%,#fff);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#00ffffff\",endColorstr=\"#ffffff\",GradientType=0)}.workflow-engine-form.no-shadow:after{display:none}.workflow-engine.animate{-webkit-animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;z-index:-1}.workflow-engine.bg{background:#fff}.program-business-cycle{background:#f2bf19;border-radius:0 0 .25rem .25rem;position:relative;top:-.25rem;z-index:1}@-webkit-keyframes animate-right{0%{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes animate-right{0%{transform:translateX(100%)}to{transform:translateX(0)}}", "@import url(\"https://cdn.v-comply.com/design-system/css/icons/icons.css\");::-webkit-scrollbar-track{background-color:#f1f1f1;position:absolute}::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}input::-webkit-inner-spin-button,input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}button{font-family:Poppins,sans-serif}::ng-deep .vx-form-group{display:block;position:relative;margin-bottom:20px}::ng-deep .vx-form-group:after{content:\"\";display:block;clear:both}::ng-deep .vx-form-group .select{position:relative}::ng-deep .vx-form-group .select:after{border-left-color:#707070;border-bottom:1px solid #707070;border-right:1px solid #707070;border-top-color:#707070;content:\"\";display:inline-block;right:15px;position:absolute;top:calc(50% - 4px);width:5px;height:5px;transform:rotate(45deg)}::ng-deep .vx-form-group .select input{cursor:pointer;padding-right:30px!important}::ng-deep .vx-form-group .select .custom-input{height:40px;border-radius:4px;border:1px solid #dbdbdb;background:#fff;outline:none;padding:3px 12px;line-height:16px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%;cursor:pointer}::ng-deep .vx-form-group .select .custom-input:empty:not(:focus):before{content:attr(aria-placeholder);line-height:16px;font-size:13px;width:94%;display:block;pointer-events:none;opacity:.8}::ng-deep .vx-form-group .select .custom-input:hover{border-color:#1e5dd3;box-shadow:0 0 5px rgba(30,93,211,.27)}::ng-deep .vx-form-group .select .custom-input.frequency-custom-input{padding-right:116px}::ng-deep .vx-form-group .select+app-cs-switch{display:block;margin-top:8px}::ng-deep .vx-form-group .select+app-cs-switch label.cs-switch span.value{white-space:nowrap;margin-right:5px;text-transform:uppercase}::ng-deep .vx-form-group .select+app-cs-radio{margin-top:8px!important}::ng-deep .vx-form-group .select~app-cs-radio{margin-top:4px;display:block;width:100%}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item span.radio{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item span.value{font-size:11px;text-transform:uppercase;border:1px solid #dbdbdb;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0;max-width:100%;font-weight:500;color:#707070}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item span.value i{font-size:12px;color:#1e5dd3}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item svg{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item input:checked~span.value{background:#eefcf0;border-color:#34aa44}::ng-deep .vx-form-group .select.button-sec:after{display:none}::ng-deep .vx-form-group .select.button-sec button{background:transparent;border:none;display:inline-flex;float:right;color:#1e5dd3;text-transform:uppercase;font-weight:600;cursor:pointer;font-size:11px;position:absolute;top:12px;right:8px;padding:0;margin:0}::ng-deep .vx-form-group .select+.vx-control-panel{margin-top:8px}::ng-deep .vx-form-group .select+.selected{margin-top:8px}::ng-deep .vx-form-group .select.select{margin-top:8px}::ng-deep .vx-form-group .upload-format{border:1px solid #dbdbdb;border-radius:4px;padding:8px 12px;display:block}::ng-deep .vx-form-group .upload-format span.text{line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%;display:block;margin-bottom:6px}::ng-deep .vx-form-group .upload-format .radio-group{display:flex}::ng-deep .vx-form-group .upload-format .radio-group app-cs-radio{display:inline-block}::ng-deep .vx-form-group .upload-format .radio-group app-cs-radio label.radio-item span.value{font-size:11px;text-transform:uppercase;margin-left:8px}::ng-deep .vx-form-group .upload-format .radio-group app-cs-radio+app-cs-radio{margin-left:12px}::ng-deep .vx-form-group .upload-format~.upload-format{margin-top:4px}::ng-deep .vx-form-group .form-tab{display:flex;justify-content:flex-start}::ng-deep .vx-form-group .form-tab button{background:transparent;color:#161b2f;font-size:11px;line-height:16px;text-transform:uppercase;cursor:pointer;padding:8px 8px 8px 0;border:none;outline:none;font-weight:500}::ng-deep .vx-form-group .form-tab button:disabled{opacity:.5;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}::ng-deep .vx-form-group .form-tab button+button{padding:8px}::ng-deep .vx-form-group .form-tab button.active{color:#1e5dd3}::ng-deep .vx-form-group .tab-group{border:1px solid #dbdbdb;border-radius:4px;padding:0;display:block;position:relative}::ng-deep .vx-form-group .tab-group .upload-file{padding:16px 24px;display:flex;align-items:center}::ng-deep .vx-form-group .tab-group .upload-file .image{width:80px;margin-right:20px}::ng-deep .vx-form-group .tab-group .upload-file .browse{display:flex;align-items:center;justify-content:center;width:calc(100% - 100px);text-align:center}::ng-deep .vx-form-group .tab-group .upload-file .browse span{display:inline-block;font-size:12px;color:#747576;line-height:16px;padding:0 4px}::ng-deep .vx-form-group .tab-group .upload-file .browse .label{font-size:11px;color:#1e5dd3;line-height:16px;font-weight:600;text-transform:uppercase;margin:0;padding:0}::ng-deep .vx-form-group .tab-group .upload-file .browse .label input{opacity:0;position:absolute;top:0;margin:0;padding:0;right:0;bottom:0;left:0;cursor:pointer;width:100%}::ng-deep .vx-form-group .tab-group.active{border-color:#1e5dd3}::ng-deep .vx-form-group .tab-group.uploaded{margin-top:4px}::ng-deep .vx-form-group .tab-group.uploaded .upload-file{padding:12px \u200B24px}::ng-deep .vx-form-group .tab-group.uploaded .upload-file .image{display:none}::ng-deep .vx-form-group .tab-group.uploaded .upload-file .browse{width:100%}::ng-deep .vx-form-group .tab-group+label.vx-form-group{margin-top:8px;margin-bottom:4px}::ng-deep .vx-form-group .file-list{background:#fbfbfb;border:1px solid #f1f1f1;border-radius:4px;padding:12px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;position:relative}::ng-deep .vx-form-group .file-list span.file-name{color:#747576;line-height:16px;font-size:11px;font-weight:400;cursor:pointer;max-width:calc(100% - 20px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::ng-deep .vx-form-group .file-list .button-group{display:flex}::ng-deep .vx-form-group .file-list button{font-size:12px;color:#eb2424;cursor:pointer;display:flex;padding:0;border:none;outline:none;background:transparent}::ng-deep .vx-form-group .file-list button.edit{color:#1e5dd3}::ng-deep .vx-form-group .file-list button+button{margin-left:16px}::ng-deep .vx-form-group .file-list+.file-list{margin-top:4px}::ng-deep .vx-form-group .file-list .file-container{display:flex;justify-content:space-between;width:100%}::ng-deep .vx-form-group .file-list.policy{background:#fff}::ng-deep .vx-form-group .file-list cs-select{position:relative;margin-top:8px;width:100%}::ng-deep .vx-form-group .file-list cs-select .selection-wrap .input-group input.value{height:32px!important;font-size:11px!important}::ng-deep .vx-form-group .file-list cs-select .selection-wrap .input-group i{right:12px!important;top:12px!important}::ng-deep .vx-form-group .file-list app-line-loader{display:block;position:absolute;left:10px;right:10px;bottom:0}::ng-deep .vx-form-group label.vx-control-panel{color:#161b2f;font-size:11px;font-weight:500;line-height:16px;margin-bottom:8px;display:block;text-transform:uppercase;width:100%;margin-top:4px;text-align:left}::ng-deep .vx-form-group label.vx-control-panel.custom-tag{font-size:10px}::ng-deep .vx-form-group label.vx-control-panel.vx-mt-8{margin-top:8px}::ng-deep .vx-form-group label.vx-control-panel span.required{color:#eb2424;font-size:16px;font-weight:400;position:relative;top:-2px}::ng-deep .vx-form-group label.vx-control-panel .button{background:transparent;border:none;display:inline-flex;float:right;color:#1e5dd3;text-transform:uppercase;font-weight:600;cursor:pointer;font-size:11px;padding:0;margin:0}::ng-deep .vx-form-group label.vx-control-panel app-cs-switch{float:right;display:block}::ng-deep .vx-form-group label.vx-control-panel i{margin-left:8px;font-size:12px;color:#1e5dd3;cursor:pointer;position:relative;top:1px}::ng-deep .vx-form-group label.vx-control-panel i.depreciation-icon{color:#e4b700;font-size:16px;position:relative;top:3px}::ng-deep .vx-form-group label.vx-control-panel .checkpoint-version{background:#f1f1f1;border-radius:2px;color:#042e7d;font-size:10px;font-weight:600;line-height:14px;margin-left:4px;padding:0 2px}::ng-deep .vx-form-group .input,::ng-deep .vx-form-group input[type=text]{height:40px;border-radius:4px;border:1px solid #dbdbdb;background:#fff;outline:none;padding:8px 12px;line-height:20px;font-size:13px;color:#747576;transition:all .2s ease-in-out;width:100%;font-weight:400}::ng-deep .vx-form-group .input::-moz-placeholder,::ng-deep .vx-form-group input[type=text]::-moz-placeholder{color:#747576;font-weight:400}::ng-deep .vx-form-group .input:-ms-input-placeholder,::ng-deep .vx-form-group input[type=text]:-ms-input-placeholder{color:#747576;font-weight:400}::ng-deep .vx-form-group .input::placeholder,::ng-deep .vx-form-group input[type=text]::placeholder{color:#747576;font-weight:400}::ng-deep .vx-form-group .input:focus,::ng-deep .vx-form-group .input:hover,::ng-deep .vx-form-group input[type=text]:focus,::ng-deep .vx-form-group input[type=text]:hover{border-color:#1e5dd3;box-shadow:0 0 5px rgba(30,93,211,.27)}::ng-deep .vx-form-group .input.error,::ng-deep .vx-form-group input[type=text].error{border-color:#eb2424;color:#eb2424;margin-bottom:4px}::ng-deep .vx-form-group .input.error:focus,::ng-deep .vx-form-group input[type=text].error:focus{box-shadow:0 0 5px rgba(211,30,30,.27)}::ng-deep .vx-form-group .input:disabled,::ng-deep .vx-form-group input[type=text]:disabled{background:#f1f1f1;cursor:not-allowed;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}::ng-deep .vx-form-group .input:disabled:hover,::ng-deep .vx-form-group input[type=text]:disabled:hover{border-color:#dbdbdb;box-shadow:none}::ng-deep .vx-form-group .input span.text,::ng-deep .vx-form-group input[type=text] span.text{font-size:13px;color:#747576;font-weight:400;display:block;width:100%}::ng-deep .vx-form-group .input .input-group,::ng-deep .vx-form-group input[type=text] .input-group{display:flex;align-items:center}::ng-deep .vx-form-group .input .input-group.counter,::ng-deep .vx-form-group input[type=text] .input-group.counter{min-width:96px;width:96px}::ng-deep .vx-form-group .input .input-group.counter button,::ng-deep .vx-form-group input[type=text] .input-group.counter button{height:24px;width:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:#747576;font-size:8px;cursor:pointer;outline:none}::ng-deep .vx-form-group .input .input-group.counter input,::ng-deep .vx-form-group input[type=text] .input-group.counter input{-webkit-appearance:textfield;-moz-appearance:textfield;height:24px;width:calc(100% - 48px);border:1px solid #f1f1f1;outline:none;padding:0 6px;text-align:center}::ng-deep .vx-form-group .input .input-group.counter input::-webkit-inner-spin-button,::ng-deep .vx-form-group .input .input-group.counter input::-webkit-outer-spin-button,::ng-deep .vx-form-group input[type=text] .input-group.counter input::-webkit-inner-spin-button,::ng-deep .vx-form-group input[type=text] .input-group.counter input::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}::ng-deep .vx-form-group .input+.file-list,::ng-deep .vx-form-group input[type=text]+.file-list{margin-top:8px}::ng-deep .vx-form-group .input::-moz-placeholder,::ng-deep .vx-form-group input[type=text]::-moz-placeholder{font-size:13px}::ng-deep .vx-form-group .input::placeholder,::ng-deep .vx-form-group input[type=text]::placeholder{font-size:13px}::ng-deep .vx-form-group .input:-ms-input-placeholder,::ng-deep .vx-form-group input[type=text]:-ms-input-placeholder{font-size:13px}::ng-deep .vx-form-group .input::-ms-input-placeholder,::ng-deep .vx-form-group input[type=text]::-ms-input-placeholder{font-size:13px}::ng-deep .vx-form-group .classification{height:40px;border-radius:4px;border:1px solid #dbdbdb;background:#fff;padding:8px 12px;display:flex;justify-content:space-between}::ng-deep .vx-form-group .classification label{width:100%;position:relative;z-index:1;margin:0 4px 0 0}::ng-deep .vx-form-group .classification label span{display:block;width:100%;height:24px;border:1px solid #f1f1f1;border-radius:2px;line-height:24px;font-size:10px;text-align:center;color:#747576;font-weight:500;position:relative;text-transform:uppercase}::ng-deep .vx-form-group .classification label span:before{height:2px;content:\"\";top:0;right:0;left:0;border-radius:2px;position:absolute;transition:all .2s ease-in-out}::ng-deep .vx-form-group .classification label input{opacity:0;position:absolute;top:0;right:0;bottom:0;left:0;margin:0;padding:0;width:100%;height:100%;cursor:pointer;z-index:1}::ng-deep .vx-form-group .classification label input:checked+span{color:#fff}::ng-deep .vx-form-group .classification label input:checked+span:before{bottom:0;height:100%;z-index:-1}::ng-deep .vx-form-group .classification label.low span:before{background:#34aa44}::ng-deep .vx-form-group .classification label.low-med span:before{background:#f2bf19}::ng-deep .vx-form-group .classification label.med-high span:before{background:#f29619}::ng-deep .vx-form-group .classification label.high span:before{background:#eb2424}::ng-deep .vx-form-group .classification label:last-of-type{margin-right:0}::ng-deep .vx-form-group .input{display:flex;align-items:center}::ng-deep .vx-form-group .selected{height:40px;border-radius:4px;border:1px solid #f1f1f1;background:#fbfbfb;outline:none;padding:8px;line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%;display:flex;align-items:center;position:relative;justify-content:space-between}::ng-deep .vx-form-group .selected.first-field{z-index:2}::ng-deep .vx-form-group .selected .chip-container{display:flex;width:calc(100% - 60px);align-items:center}::ng-deep .vx-form-group .selected .chip-container.checkpoints{width:calc(100% - 120px)}::ng-deep .vx-form-group .selected .chip-container span.chip{background:#fff;border-radius:2px;box-shadow:0 0 3px #1e5dd31a;height:24px;padding:0 8px;color:#1e5dd3;font-size:12px;display:block;width:auto;max-width:100%;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:24px}::ng-deep .vx-form-group .selected .chip-container span.chip.disabled{background:#f1f1f1;box-shadow:none;color:#747576;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}::ng-deep .vx-form-group .selected .chip-container span.chip i{font-weight:400;margin-right:8px;cursor:pointer;font-size:10px;position:relative;top:1px}::ng-deep .vx-form-group .selected .chip-container span.chip span.step{background:#1e5dd3;border-radius:2px;color:#fff;font-size:9px;line-height:14px;padding:0 4px;font-weight:400;text-align:center;min-width:auto;margin-right:4px}::ng-deep .vx-form-group .selected .chip-container span.chip+span.chip{margin-left:4px}::ng-deep .vx-form-group .selected .chip-container span.chip.with-question{display:flex;align-items:center;justify-content:space-between;width:100%}::ng-deep .vx-form-group .selected .chip-container span.chip.with-question span.value{color:#1e5dd3;font-size:12px;font-weight:400;line-height:24px;padding:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:calc(100% - 80px)}::ng-deep .vx-form-group .selected .chip-container span.chip.with-question span.label{background:#f1f1f1;border-radius:2px;color:#042e7d;font-size:9px;font-weight:600;text-transform:uppercase;padding-left:4px;padding-right:4px;line-height:12px;margin-left:8px}::ng-deep .vx-form-group .selected .chip-container span.value{color:#747576;font-size:13px;line-height:20px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100% - 52px);padding:0 4px}::ng-deep .vx-form-group .selected .chip-container span.checkpoint-point-text{color:#747576;font-size:10px;font-weight:500;padding:0 8px;width:122px;line-height:14px}::ng-deep .vx-form-group .selected .chip-container span.checkpoint-point-text.first{position:relative;min-width:162px}::ng-deep .vx-form-group .selected .chip-container span.checkpoint-point-text.first:before{background:#f1f1f1;content:\"\";position:absolute;top:0;right:0;height:calc(100% + 12px);width:1px}::ng-deep .vx-form-group .selected .chip-container span.checkpoint-point-text .no{color:#1e5dd3}::ng-deep .vx-form-group .selected .chip-container.plus span.chip{max-width:calc(50% - 35px)}::ng-deep .vx-form-group .selected .chip-container.more-one span.chip{max-width:50%}::ng-deep .vx-form-group .selected .chip-container .chip-inner{background:#fff;border-radius:2px;box-shadow:0 2px 4px #1e5dd31a;line-height:24px;padding:0 4px 0 8px;display:flex;align-items:center}::ng-deep .vx-form-group .selected .chip-container .chip-inner .chip{background:transparent;border-radius:0;box-shadow:none;height:auto;line-height:unset;padding:0;color:#747576;max-width:300px}::ng-deep .vx-form-group .selected .chip-container .chip-inner button.count{border-radius:20px;height:16px;padding:0 6px;border:none;font-size:9px;line-height:16px;margin-left:4px;min-width:20px}::ng-deep .vx-form-group .selected .chip-container .chip-inner button.count.user{background:#34aa44}::ng-deep .vx-form-group .selected .chip-container .chip-inner i.cross{cursor:pointer}::ng-deep .vx-form-group .selected button.count{background:#1e5dd3;border-radius:2px;height:24px;padding:0 8px;border:1px solid #1e5dd3;cursor:pointer;outline:none;color:#fff;font:13px;font-weight:500;line-height:20px;white-space:nowrap;margin-left:8px}::ng-deep .vx-form-group .selected button.edit{border:1px solid #f1f1f1;border-radius:2px;background:#fff;outline:none;cursor:pointer;display:block;height:24px;padding:0 5px 0 4px;font-size:11px;font-weight:500;color:#1e5dd3;text-transform:uppercase;white-space:nowrap;margin-left:8px}::ng-deep .vx-form-group .selected button.edit i{font-weight:400;font-size:8px;margin-right:4px}::ng-deep .vx-form-group .selected button.close-btn{background:transparent;border:none;padding:0;margin-left:8px;font-size:10px;color:#c7381b;display:flex;align-items:center}::ng-deep .vx-form-group .selected .workflow-label{min-width:92px;padding:4px;text-align:center;margin-left:-8px;margin-right:8px;border-right:1px solid #f1f1f1}::ng-deep .vx-form-group .selected .workflow-label p{margin:0;display:block;text-transform:uppercase}::ng-deep .vx-form-group .selected .workflow-label p.title{font-size:9px;line-height:12px;color:#161b2f;font-weight:500}::ng-deep .vx-form-group .selected .workflow-label p.description{font-size:11px;line-height:16px;color:#161b2f;font-weight:600}::ng-deep .vx-form-group .selected .workflow-label+.chip-container{width:calc(100% - 148px)}::ng-deep .vx-form-group .selected+.selected{margin-top:8px}::ng-deep .vx-form-group .selected+app-cs-switch{display:block;margin-top:8px}::ng-deep .vx-form-group .selected+app-cs-switch label.cs-switch span.value{white-space:nowrap;margin-right:5px;text-transform:uppercase}::ng-deep .vx-form-group .selected+app-cs-switch.who-toggle label.cs-switch span.value{color:#747576}::ng-deep .vx-form-group .selected+app-cs-radio{margin-top:8px!important}::ng-deep .vx-form-group .selected~app-cs-radio{margin-top:4px;display:block;width:100%}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item span.radio{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item span.value{font-size:11px;text-transform:uppercase;border:1px solid #dbdbdb;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0;max-width:100%;font-weight:500;color:#707070}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item span.value i{font-size:12px;color:#1e5dd3}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item svg{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item input:checked~span.value{background:#eefcf0;border-color:#34aa44}::ng-deep .vx-form-group .selected.readOnly{pointer-events:none}::ng-deep .vx-form-group .selected span.chip{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .vx-form-group .select-list{position:absolute;background:#fff;box-shadow:0 0 5px #1e5dd3;top:100%;right:0;left:0;z-index:2}::ng-deep .vx-form-group .select-list .vx-radio-group label.vx-radio-item{width:100%;padding:12px 16px}::ng-deep .vx-form-group .select-list .vx-radio-group label.vx-radio-item:hover{background:#f8f8f8}::ng-deep .vx-form-group marx-editor{margin-top:8px;display:block}::ng-deep .vx-form-group marx-editor .editor-container{border-radius:4px;border:1px solid #dbdbdb}::ng-deep .vx-form-group marx-editor .editor-container .editable-block{min-height:60px;padding:11px 15px;max-height:100px;line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%}::ng-deep .vx-form-group marx-editor .editor-container .editable-block ul{padding:0 0 0 10px;margin-top:0}::ng-deep .vx-form-group marx-editor .editor-container .editable-block ul li{list-style:disc}::ng-deep .vx-form-group marx-editor .editor-container .editable-block ol{padding:0 0 0 10px;margin-top:0}::ng-deep .vx-form-group marx-editor .editor-container .editable-block ol li{list-style:decimal}::ng-deep .vx-form-group marx-editor .editor-container .editor-tools{z-index:1;border-top:1px solid #dbdbdb;transition:none;border-radius:0 0 3px 3px;position:static}::ng-deep .vx-form-group marx-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button{height:22px!important;width:22px!important;padding:0 5px}::ng-deep .vx-form-group marx-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button svg{height:22px;width:22px}::ng-deep .vx-form-group marx-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button.submit{width:80px!important;line-height:22px;justify-content:center}::ng-deep .vx-form-group marx-editor .editor-container .editor-tools app-editor-menu .editor-menu .col .popover.small ul.option-list li button{width:100%!important;height:auto!important}::ng-deep .vx-form-group marx-editor .editor-container:focus-within{border-color:#1e5dd3!important}::ng-deep .vx-form-group marx-editor .editor-container:focus-within .editor-tools{border-color:#1e5dd3!important}::ng-deep .vx-form-group marx-editor .editor-container:hover{border-color:#1e5dd3!important}::ng-deep .vx-form-group marx-editor .editor-container:hover .editor-tools{border-color:#1e5dd3!important}::ng-deep .vx-form-group marx-editor+app-cs-switch{margin-top:8px}::ng-deep .vx-form-group app-cs-switch label.cs-switch span.value{font-size:11px;color:#747576;text-transform:uppercase}::ng-deep .vx-form-group app-cs-switch+app-cs-switch{margin-top:8px}::ng-deep .vx-form-group .date-time-picker{display:flex;justify-content:space-between;height:40px;border-radius:4px;border:1px solid #dbdbdb;padding:11px 0}::ng-deep .vx-form-group .date-time-picker:focus-within{border-color:#1e5dd3;box-shadow:0 0 5px rgba(30,93,211,.27)}::ng-deep .vx-form-group .date-time-picker .picker-group{width:50%;position:relative;display:flex;align-items:center}::ng-deep .vx-form-group .date-time-picker .picker-group:first-of-type{border-right:1px solid #dbdbdb}::ng-deep .vx-form-group .date-time-picker .picker-group:only-of-type{border:none;width:100%}::ng-deep .vx-form-group .date-time-picker .picker-group input{height:38px;background:#fff;line-height:38px;font-size:13px;color:#747576;transition:all .2s ease-in-out;width:100%;font-weight:400;border:none;padding:0 12px 0 34px;outline:none}::ng-deep .vx-form-group .date-time-picker .picker-group input:focus,::ng-deep .vx-form-group .date-time-picker .picker-group input:hover{box-shadow:none;border:none}::ng-deep .vx-form-group .date-time-picker .picker-group input::-moz-placeholder{color:#999;font-size:13px}::ng-deep .vx-form-group .date-time-picker .picker-group input::placeholder{color:#999;font-size:13px}::ng-deep .vx-form-group .date-time-picker .picker-group input:-ms-input-placeholder{color:#999;font-size:13px}::ng-deep .vx-form-group .date-time-picker .picker-group input::-ms-input-placeholder{color:#999;font-size:13px}::ng-deep .vx-form-group .date-time-picker .picker-group i{display:flex;justify-content:center;align-items:center;height:16px;width:16px;position:absolute;left:12px;top:0;color:#bcbcbc;font-size:16px;pointer-events:none}::ng-deep .vx-form-group app-cs-radio.main-filed{margin-top:4px;display:block;width:100%}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item{width:100%;position:relative}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item span.radio{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item span.value{font-size:11px;text-transform:uppercase;border:1px solid #dbdbdb;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0;max-width:100%;color:#707070}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item span.value i{font-size:12px;color:#1e5dd3}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item svg{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item input:checked~span.value{background:#eefcf0;border-color:#34aa44}::ng-deep .vx-form-group .switch-row{display:flex}::ng-deep .vx-form-group .switch-row app-cs-switch{display:block;margin-top:8px}::ng-deep .vx-form-group .switch-row app-cs-switch label.cs-switch span.value{white-space:nowrap;margin-right:0;text-transform:uppercase;color:#747576!important}::ng-deep .vx-form-group .switch-row app-cs-switch label.cs-switch span.value i{display:inline-flex;font-size:11px;cursor:pointer;color:#1e5dd3;align-items:center;line-height:16px;margin:0 4px}::ng-deep .vx-form-group .switch-row app-cs-switch+app-cs-switch{margin-left:8px}::ng-deep .vx-form-group .switch-row.align-right{justify-content:flex-end}::ng-deep .vx-form-group .switch-row.align-right label.cs-switch span.value{margin-right:8px}::ng-deep .vx-form-group .risk-type-field{background:#f8f8f8;border:1px solid #dbdbdb;border-radius:4px;height:40px;display:flex;align-items:center;padding:4px;position:relative;z-index:1}::ng-deep .vx-form-group .risk-type-field .type-item{width:50%;position:relative}::ng-deep .vx-form-group .risk-type-field .type-item button{background:transparent;border:none;border-radius:0;color:#747576;font-size:11px;font-weight:600;text-transform:uppercase;width:100%;height:32px;padding:0 12px;text-align:left}::ng-deep .vx-form-group .risk-type-field .type-item button.disabled{background:transparent!important;color:#dbdbdb!important;filter:unset!important;opacity:unset!important;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}::ng-deep .vx-form-group .risk-type-field .type-item .info{color:#1e5dd3;font-size:12px;position:absolute;top:10px;right:12px;cursor:pointer}::ng-deep .vx-form-group .risk-type-field .type-item.active button{color:#1e5dd3!important}::ng-deep .vx-form-group .risk-type-field .type-item:nth-child(2).active~.background-glider{transform:translate(100%)}::ng-deep .vx-form-group .risk-type-field .background-glider{background:#fff;border-radius:4px;box-shadow:0 1px 3px #161b2f26;position:absolute;display:flex;width:208px;height:32px;z-index:-1;transition:.25s ease-out}.left{width:36px;height:36px;margin-top:30px;margin-left:-58px;margin-right:20px;display:flex;justify-content:center;align-items:center;position:relative;z-index:10;border-radius:50%}.left.deadline-completed{margin-top:18px}.left.checked{background:transparent}.left img{width:36px}.left .checkIcon{width:32px;height:32px;background:#fff;border-radius:50%;stroke-width:4;stroke:#34aa44;stroke-miterlimit:10;box-shadow:inset 0 0 0 #34aa44;-webkit-animation:fillCheck .4s ease-in-out .4s forwards,scale .3s ease-in-out .9s both;animation:fillCheck .4s ease-in-out .4s forwards,scale .3s ease-in-out .9s both;margin-top:0}.left .checkIcon__circle{stroke-dasharray:166;stroke-dashoffset:166;stroke-width:2;stroke-miterlimit:10;stroke:#34aa44;fill:none;-webkit-animation:strokeCheck .6s cubic-bezier(.65,0,.45,1) forwards;animation:strokeCheck .6s cubic-bezier(.65,0,.45,1) forwards}.left .checkIcon__check{transform-origin:50% 50%;stroke-dasharray:48;stroke-dashoffset:48;-webkit-animation:strokeCheck .3s cubic-bezier(.65,0,.45,1) .8s forwards;animation:strokeCheck .3s cubic-bezier(.65,0,.45,1) .8s forwards}.right{width:100%}.right span.indicator{position:absolute;top:36px;left:-16px;font-size:12px;color:#f0b819;cursor:pointer}.form-group-row{display:flex;position:relative;transition:all .2s ease-in-out}.form-group-row.disabled{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;filter:grayscale(1);z-index:2}.form-group-row.disabled .left{position:relative}.form-group-row.disabled .left:before{content:\"\";position:absolute;top:2px;right:0;bottom:0;left:2px;background:#fff;opacity:.7;border-radius:50%;width:32px;height:32px}.form-group-row.disabled .right{opacity:.3}.form-group-row.active{pointer-events:none;filter:grayscale(0);z-index:2;opacity:1}.form-group-row.active .right .vx-form-group .custom-input,.form-group-row.active .right .vx-form-group input{border-color:#1e5dd3;box-shadow:0 0 5px rgba(30,93,211,.27)}::ng-deep .radio-group-selector app-cs-radio{margin-top:4px;display:block;width:100%}::ng-deep .radio-group-selector app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .radio-group-selector app-cs-radio label.radio-item .radio,::ng-deep .radio-group-selector app-cs-radio label.radio-item .radiomark{position:absolute!important;top:9px;left:12px}::ng-deep .radio-group-selector app-cs-radio label.radio-item .value{font-size:11px!important;text-transform:uppercase;border:1px solid #dbdbdb;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0!important;max-width:100%!important;font-weight:500!important;color:#707070!important}::ng-deep .radio-group-selector app-cs-radio label.radio-item .value i{font-size:12px;color:#1e5dd3}::ng-deep .radio-group-selector app-cs-radio label.radio-item input:checked~span.value{background:#eefcf0;border-color:#34aa44}@-webkit-keyframes strokeCheck{to{stroke-dashoffset:0}}@keyframes strokeCheck{to{stroke-dashoffset:0}}@-webkit-keyframes fillCheck{to{box-shadow:inset 0 0 0 2px #34aa44}}@keyframes fillCheck{to{box-shadow:inset 0 0 0 2px #34aa44}}.action-list{width:220px}.action-list ul{padding:0;margin:0;-webkit-animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;background:#fff;box-shadow:0 3px 6px #1c5bd140;border-radius:4px;max-height:220px;overflow:auto}.action-list ul.action-item{display:block}.action-list ul.action-item li{list-style:none;border:none;border-bottom:1px solid #f1f1f1;display:block;width:100%;padding:0;background:transparent;border-radius:0;margin:0;height:auto;justify-content:flex-start;box-shadow:none}.action-list ul.action-item li button{color:#6e717e;text-align:left;text-decoration:none;cursor:pointer;background:transparent;font-size:12px;text-transform:capitalize;display:flex;width:100%;padding:7.5px 11px;border:none}.action-list ul.action-item li button i{font-size:17px;margin-right:10px;color:#1c5bd1}.action-list ul.action-item li button:hover{background:#f3f3f3}.action-list ul.action-item li .avatar-card{display:flex;align-items:center;width:100%;padding:7.5px}.action-list ul.action-item li .avatar-card.within-con{display:block}.action-list ul.action-item li .avatar-card .avatar{height:24px;width:24px!important;overflow:hidden;background:#4681ef;color:#fff;font-size:10px;display:inline-flex;margin-right:5px;border-radius:50%;align-items:center;justify-content:center;text-transform:uppercase}.action-list ul.action-item li .avatar-card .avatar img{width:100%}.action-list ul.action-item li .avatar-card .avatar+span.value{width:calc(100% - 29px)}.action-list ul.action-item li .avatar-card span.value{width:100%;color:#6e717e;text-decoration:none;background:transparent;font-size:12px;text-transform:capitalize;display:block;font-weight:400;-moz-text-align-last:left;text-align-last:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:20px}.action-list ul.action-item li .avatar-card span.value i{font-size:8px;color:#1c5bd1;cursor:pointer;margin-right:5px}.action-list ul.action-item li .avatar-card.no-image{display:block}.action-list ul.action-item li .avatar-card.no-image span.value{width:100%;display:block}.action-list ul.action-item li .chip-item{color:#1e5dd3;padding:10px;display:flex;align-items:center}.action-list ul.action-item li .chip-item i{margin-right:7px;font-size:10px;cursor:pointer;display:inline-flex}.action-list ul.action-item li .chip-item span{display:block;width:auto;max-width:calc(100% - 17px);font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.action-list ul.action-item li .chip-item span.chip-block{display:block;width:100%}.action-list ul.action-item li .chip-item span.id{font-size:9px}.action-list ul.action-item li .within{display:flex;align-items:center;justify-content:flex-start}.action-list ul.action-item li .within .block{background:#f1f1f1;border-radius:2px;padding:0 2px;line-height:14px;font-size:9px;font-weight:500;color:#042e7d;margin-right:6px;display:block;text-transform:uppercase}.action-list ul.action-item li .within .data{width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#747576;font-size:11px;font-weight:400;line-height:17px}.action-list ul.action-item li:first-child{-webkit-animation:action-list-open .25s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open .25s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(2){-webkit-animation:action-list-open .35s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open .35s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(3){-webkit-animation:action-list-open .45s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open .45s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(4){-webkit-animation:action-list-open .55s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open .55s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(5){-webkit-animation:action-list-open .65s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open .65s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(6){-webkit-animation:action-list-open .75s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open .75s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(7){-webkit-animation:action-list-open .85s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open .85s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(8){-webkit-animation:action-list-open .95s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open .95s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(9){-webkit-animation:action-list-open 1.05s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open 1.05s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(10){-webkit-animation:action-list-open 1.15s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open 1.15s cubic-bezier(.25,.46,.45,.94) both}@-webkit-keyframes action-list-open{0%{transform:translateY(50px)}to{transform:translateY(0)}}@keyframes action-list-open{0%{transform:translateY(50px)}to{transform:translateY(0)}}@-webkit-keyframes scale-up-center{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}@keyframes scale-up-center{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}p.error-message{font-size:11px;font-weight:400;color:#eb2424;line-height:16px;margin-top:8px;margin-bottom:0}.edit-loader{position:absolute;top:-3px;left:-3px;width:46px;height:46px;transform:rotate(180deg)}.circular-loader{-webkit-animation:rotate 2s linear infinite;animation:rotate 2s linear infinite;height:100%;transform-origin:center center;width:100%;position:absolute;top:0;left:0;margin:auto}.loader-path{stroke-dasharray:150,200;stroke-dashoffset:-10;-webkit-animation:dash 1.5s ease-in-out infinite;animation:dash 1.5s ease-in-out infinite;stroke-linecap:round}@-webkit-keyframes rotate{to{transform:rotate(1turn)}}@keyframes rotate{to{transform:rotate(1turn)}}@-webkit-keyframes dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35}to{stroke-dasharray:89,200;stroke-dashoffset:-124}}@keyframes dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35}to{stroke-dasharray:89,200;stroke-dashoffset:-124}}::ng-deep .dropdown{position:fixed;background:#fff;box-shadow:0 3px 6px #00000029;padding:24px 0;z-index:9;max-height:calc(100vh - 200px);overflow:auto}::ng-deep .dropdown ul.dropdown-list{padding:0 20px;margin:0;display:block}::ng-deep .dropdown ul.dropdown-list li{list-style:none}::ng-deep .dropdown ul.dropdown-list li app-cs-radio{display:flex}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item span.radio{position:absolute;top:12px;left:12px}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item span.value{padding:11px 12px 11px 32px;width:100%;border:1px solid #bcbcbc;border-radius:4px;margin-left:0;max-width:100%}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item svg{position:absolute;top:12px;left:12px}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item input[type=radio]:checked~span.value{background:#e8feeb;border-color:#34aa44}::ng-deep .dropdown ul.dropdown-list li+li{margin-top:8px}app-smiley-dialog{position:relative;z-index:10}app-smiley-dialog-inline{position:absolute;top:-3px;right:0;bottom:0;z-index:999;width:520px;height:calc(100vh + 3px)}::ng-deep .vx-overlay{position:fixed;z-index:3;top:0;right:0;bottom:0;left:0}dp-date-picker{width:100%;position:fixed!important;z-index:14;top:-40px;left:0}dp-date-picker input{width:100%;border:none;opacity:0;pointer-events:none}dp-date-picker input:focus{outline:none}dp-date-picker .dp-popup{width:412px;box-shadow:0 0 20px #161b2f26;background-color:#fff;border-radius:4px;-webkit-animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both}dp-date-picker .dp-popup dp-day-calendar,dp-date-picker .dp-popup dp-month-calendar{width:100%;pointer-events:auto}dp-date-picker .dp-popup dp-day-calendar button,dp-date-picker .dp-popup dp-month-calendar button{background:transparent;border:none;outline:none}dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-left,dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-right,dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn,dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-left,dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-right,dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn{width:40px;height:40px;display:flex;justify-content:center;align-items:center;border-radius:50%;font-size:14px}dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-left:hover,dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-right:hover,dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn:hover,dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-left:hover,dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-right:hover,dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn:hover{background-color:#f3f3f3}dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn,dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn{display:none}dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn:before,dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn:before{content:\"\";height:10px;width:10px;border-radius:50%;background:#000;display:inline-flex}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week,dp-date-picker .dp-popup dp-day-calendar .dp-weekdays,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays{display:flex;justify-content:space-around}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week .dp-calendar-weekday,dp-date-picker .dp-popup dp-day-calendar .dp-weekdays .dp-calendar-weekday,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week .dp-calendar-weekday,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays .dp-calendar-weekday{width:52px;border-left:none;border-bottom-color:#fff;color:#747576;font-size:11px;font-weight:600;text-transform:uppercase}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button,dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button{width:40px;height:40px;border-radius:50%;display:inline-flex;justify-content:center;align-items:center}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button:hover,dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button:hover,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button:hover,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button:hover{background-color:#f3f3f3}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button.dp-selected,dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button.dp-selected,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button.dp-selected,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button.dp-selected{background:#1e5dd3}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button.dp-current-day,dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button.dp-current-day,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button.dp-current-day,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button.dp-current-day{border:1px solid rgba(0,0,0,.38);color:#1e5dd3;background-color:#fff}dp-date-picker .dp-popup dp-day-calendar .dp-day-calendar-container,dp-date-picker .dp-popup dp-month-calendar .dp-day-calendar-container{padding:20px;border-radius:2px}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-nav-container,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-nav-container{display:flex;margin:0 0 20px;border:none}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-nav-container .dp-nav-header button,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-nav-container .dp-nav-header button{color:#000;font-size:17px;font-weight:500;margin:0 0 0 12px;padding:0}dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container,dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container{width:80px;display:flex}dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button,dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button{margin:0!important}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-wrapper,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-wrapper{border:none}dp-date-picker .dp-open+div{position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:0!important;display:flex;justify-content:center;align-items:center;z-index:99;pointer-events:none;background:rgba(0,0,0,.3)}@-webkit-keyframes slide-bottom{0%{transform:translateY(-100px)}to{transform:translateY(0)}}@keyframes slide-bottom{0%{transform:translateY(-100px)}to{transform:translateY(0)}}::ng-deep span.file{display:block;width:20px;min-width:20px;border-radius:0 0 2px 2px;position:relative;margin-right:5px;border:1px solid #747576;border-top:none;margin-top:5px;background:#fff}::ng-deep span.file.table{margin-right:8px;width:18px;min-width:18px}::ng-deep span.file.table i{font-size:8px}::ng-deep span.file.table .format{height:8px;font-size:7px;line-height:8px;font-weight:400}::ng-deep span.file:before{position:absolute;border-radius:0;top:-4px;right:-1px;content:\"\";height:4px;width:4px;display:block;background:linear-gradient(45deg,#747576,#747576 1%,#747576 50%,rgba(41,137,216,0) 51%,rgba(125,185,232,0));filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file:after{height:4px;left:-1px;right:3px;border-top:1px solid;border-right:none;border-left:1px solid;content:\"\";top:-4px;position:absolute;border-radius:2px 0 0 0;background:#fff}::ng-deep span.file .format{height:10px;font-size:6px;text-transform:uppercase;background:transparent;font-weight:600;text-align:center;display:block;line-height:10px}::ng-deep span.file i{font-size:10px;height:10px;display:flex;align-items:center;justify-content:center;color:#dbdbdb}::ng-deep span.file.docx{width:22px!important}::ng-deep span.file.pdf,::ng-deep span.file.template{border-color:#f31c39}::ng-deep span.file.pdf:before,::ng-deep span.file.template:before{background:linear-gradient(45deg,#f31c39,#f31c39 50%,rgba(41,137,216,0) 51%,rgba(125,185,232,0));filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#f31c39\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.pdf:after,::ng-deep span.file.template:after{border-color:#f31c39}::ng-deep span.file.pdf .format,::ng-deep span.file.template .format{color:#f31c39}::ng-deep span.file.css,::ng-deep span.file.less,::ng-deep span.file.scss,::ng-deep span.file.xls,::ng-deep span.file.xlsx{border-color:#34aa44}::ng-deep span.file.css:before,::ng-deep span.file.less:before,::ng-deep span.file.scss:before,::ng-deep span.file.xls:before,::ng-deep span.file.xlsx:before{background:linear-gradient(45deg,#34aa44,#34aa44 1%,#34aa44 50%,rgba(41,137,216,0) 51%,rgba(125,185,232,0));filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.css:after,::ng-deep span.file.less:after,::ng-deep span.file.scss:after,::ng-deep span.file.xls:after,::ng-deep span.file.xlsx:after{border-color:#34aa44;color:#34aa44}::ng-deep span.file.css .format,::ng-deep span.file.less .format,::ng-deep span.file.scss .format,::ng-deep span.file.xls .format,::ng-deep span.file.xlsx .format{color:#34aa44}::ng-deep span.file.doc,::ng-deep span.file.docx,::ng-deep span.file.psd{border-color:#1e5dd3}::ng-deep span.file.doc:before,::ng-deep span.file.docx:before,::ng-deep span.file.psd:before{background:linear-gradient(45deg,#1e5dd3,#1e5dd3 1%,#1e5dd3 50%,rgba(41,137,216,0) 51%,rgba(125,185,232,0));filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.doc:after,::ng-deep span.file.docx:after,::ng-deep span.file.psd:after{border-color:#1e5dd3}::ng-deep span.file.doc .format,::ng-deep span.file.docx .format,::ng-deep span.file.psd .format{color:#1e5dd3}::ng-deep span.file.ai,::ng-deep span.file.html,::ng-deep span.file.jpeg,::ng-deep span.file.jpg,::ng-deep span.file.png,::ng-deep span.file.ppt{border-color:#f6882f}::ng-deep span.file.ai:before,::ng-deep span.file.html:before,::ng-deep span.file.jpeg:before,::ng-deep span.file.jpg:before,::ng-deep span.file.png:before,::ng-deep span.file.ppt:before{background:linear-gradient(45deg,#f6882f,#f6882f 1%,#f6882f 50%,rgba(41,137,216,0) 51%,rgba(125,185,232,0));filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.ai:after,::ng-deep span.file.html:after,::ng-deep span.file.jpeg:after,::ng-deep span.file.jpg:after,::ng-deep span.file.png:after,::ng-deep span.file.ppt:after{border-color:#f6882f}::ng-deep span.file.ai .format,::ng-deep span.file.html .format,::ng-deep span.file.jpeg .format,::ng-deep span.file.jpg .format,::ng-deep span.file.png .format,::ng-deep span.file.ppt .format{color:#f6882f}::ng-deep span.file.php{border-color:#7aa6f7}::ng-deep span.file.php:before{background:linear-gradient(45deg,#7aa6f7,#7aa6f7 1%,#7aa6f7 50%,rgba(41,137,216,0) 51%,rgba(125,185,232,0));filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.php:after{border-color:#7aa6f7}::ng-deep span.file.php .format{color:#7aa6f7}::ng-deep ngx-material-timepicker-container .timepicker-backdrop-overlay{background-color:rgba(0,0,0,.05)!important;z-index:9999999999!important}::ng-deep ngx-material-timepicker-container .timepicker-overlay{z-index:9999999999!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker{width:232px!important;border-radius:2px!important;box-shadow:0 4px 30px #161b2f26!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header{background-color:#fff!important;padding:0!important;border-radius:2px 2px 0 0}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container{display:block!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time{color:#000!important;width:150px!important;margin:0 auto;line-height:60px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time ngx-material-timepicker-dial-control .timepicker-dial__control{font-size:40px;background-color:transparent!important;color:#000!important;font-weight:600;text-align:right;caret-color:transparent;outline:none;font-family:Poppins;line-height:56px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time ngx-material-timepicker-dial-control .timepicker-dial__control:focus,::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time ngx-material-timepicker-dial-control .timepicker-dial__control:hover{background-color:transparent!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time ngx-material-timepicker-dial-control:last-of-type .timepicker-dial__control{text-align:left}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time span{padding:0 8px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period{display:flex!important;width:182px;margin:0 auto!important;background:#f1f1f1;padding:4px 10px;border-radius:20px;position:relative}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period:before{background:#f1f1f1;content:\"\";position:absolute;top:15px;left:-25px;width:calc(100% + 50px);height:2px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period{flex-direction:unset!important;position:relative;z-index:1}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period:after{content:\"\";position:absolute;right:-12px;top:0;border-left:14px solid #f1f1f1;border-bottom:12px solid transparent;border-top:12px solid transparent;z-index:-1}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period:before{content:\"\";position:absolute;left:-18px;top:0;border-right:14px solid #f1f1f1;border-bottom:12px solid transparent;border-top:12px solid transparent;z-index:-1}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period button{font-size:11px;background-color:transparent;padding:0;border-radius:20px;color:#747576;font-weight:600;font-family:Poppins;width:84px;height:24px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period button.timepicker-dial__item_active{background:#fff!important;color:#1e5dd3!important;box-shadow:0 1px 2px #dbdbdb}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period button+button{margin-left:0!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face{width:200px!important;height:200px!important;padding:10px!important;background:transparent!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__number--outer{height:calc(224px / 2 - 20px)!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__number--outer span{color:#000}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__number--outer span.active{color:#fff}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__clock-hand{height:80px!important;top:calc(50% - 80px)!important;background-color:#1e5dd3!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__number>span.active{background-color:#1e5dd3!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__clock-hand_minute:before{border:4px solid #1e5dd3!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .timepicker__actions{display:flex!important;padding:10px 0 0!important;background:#fff!important;justify-content:space-around!important;border-radius:0 0 2px 2px!important;overflow:hidden}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .timepicker__actions div:first-child ngx-material-timepicker-button button.timepicker-button{background:#f8f8f8;color:#1e5dd3}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .timepicker__actions div ngx-material-timepicker-button button.timepicker-button{line-height:28px!important;width:100%;background:#1e5dd3;color:#fff;border-radius:0!important;height:32px!important;width:116px!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .timepicker__actions div ngx-material-timepicker-button button.timepicker-button span{font-weight:500!important;font-size:11px;font-family:Poppins}"]
406
406
  },] }
407
407
  ];
@@ -447,4 +447,4 @@ WorkflowEngineContainerComponent.propDecorators = {
447
447
  onKeydownHandler: [{ type: HostListener, args: ['document:keydown.escape', ['$event'],] }],
448
448
  sizeChange: [{ type: HostListener, args: ['window:resize', ['$event'],] }]
449
449
  };
450
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3ctZW5naW5lLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi93b3JrZmxvdy1lbmdpbmUtY29udGFpbmVyL3dvcmtmbG93LWVuZ2luZS1jb250YWluZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFjLFlBQVksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJbkksT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBTXhFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNoRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFVbkUsTUFBTSxPQUFPLGdDQUFnQztJQWUzQyxZQUFtQixZQUEwQixFQUFVLFFBQXlCLEVBQVMsSUFBaUI7UUFBdkYsaUJBQVksR0FBWixZQUFZLENBQWM7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQUFTLFNBQUksR0FBSixJQUFJLENBQWE7UUFiMUcsd0JBQW1CLEdBQUcsSUFBSSxDQUFDO1FBQzNCLGlCQUFZLEdBQUcsS0FBSyxDQUFBO1FBY1gsaUJBQVksR0FBRyxFQUFFLENBQUM7UUFDbEIsU0FBSSxHQUFHLFFBQVEsQ0FBQztRQUNoQixPQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ1IsZUFBVSxHQUFHLFFBQVEsQ0FBQztRQUNyQixrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDcEMscUJBQWdCLEdBQVEsRUFBRSxDQUFDO1FBQzNCLHFCQUFnQixHQUFlLEVBQUUsQ0FBQyxDQUFDLHlDQUF5QztRQUM1RSxlQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLHdCQUFtQixHQUFHLEVBQUUsQ0FBQztRQUN6QixvQkFBZSxHQUFHLFFBQVEsQ0FBQztRQUMzQix1QkFBa0IsR0FBRSxFQUFFLENBQUM7UUFDdkIsc0JBQWlCLEdBQUc7WUFDM0IsZ0JBQWdCLEVBQUUsSUFBSTtZQUN0QixrQkFBa0IsRUFBRSxFQUFFO1lBQ3RCLElBQUksRUFBQyxJQUFJO1NBQ1YsQ0FBQztRQUNPLFFBQUcsR0FBRyxFQUFFLENBQUM7UUFDVCxnQkFBVyxHQUFXLENBQUMsQ0FBQztRQUN4QixjQUFTLEdBQUU7WUFDbEIsV0FBVyxFQUFHLElBQUk7WUFDaEIsYUFBYSxFQUFHLEVBQUU7WUFDbEIsSUFBSSxFQUFFLElBQUk7U0FDYixDQUFBO1FBQ1Esc0JBQWlCLEdBQUcsU0FBUyxDQUFBO1FBRTdCLG9CQUFlLEdBQUcsRUFBRSxDQUFBO1FBQ3BCLHFCQUFnQixHQUFHLEVBQUUsQ0FBQTtRQUVyQixvQkFBZSxHQUFRLElBQUksQ0FBQztRQUVyQyxjQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLG1CQUFjLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLDhCQUF5QixHQUFHLElBQUksQ0FBQztRQUVqQyxvQkFBZSxHQUFXLENBQUMsQ0FBQztRQUM1Qix5QkFBb0IsR0FBTyxFQUFFLENBQUM7UUFpQzlCLHFCQUFnQixHQUFRO1lBQ3RCLEVBQUUsWUFBWSxFQUFFLHlCQUF5QixFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsb0JBQW9CLEVBQUUsZ0JBQWdCLEVBQUU7WUFDaEcsRUFBRSxZQUFZLEVBQUUsa0NBQWtDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxvQkFBb0IsRUFBRSx5QkFBeUIsRUFBRTtZQUNsSCxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUU7WUFDekUsRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxvQkFBb0IsRUFBRSxlQUFlLEVBQUU7WUFDMUYsRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxvQkFBb0IsRUFBRSxRQUFRLEVBQUU7WUFDaEYsRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxvQkFBb0IsRUFBRSxRQUFRLEVBQUU7WUFDaEYsRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxFQUFFO1lBQzVFLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLG9CQUFvQixFQUFFLE9BQU8sRUFBRTtZQUM1RSxFQUFFLFlBQVksRUFBRSxzQkFBc0IsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLG9CQUFvQixFQUFFLFlBQVksRUFBRTtZQUN6RixFQUFFLFlBQVksRUFBRSxzQkFBc0IsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLG9CQUFvQixFQUFFLG1CQUFtQixFQUFFO1lBQ2hHLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRTtTQUNqRixDQUFDO1FBQ0YsOEJBQXlCLEdBQUc7WUFDMUIsV0FBVztZQUNYLHVCQUF1QjtZQUN2Qix5QkFBeUI7U0FDMUIsQ0FBQztRQUNGLDRCQUF1QixHQUFzQixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQztJQXhGbEUsQ0FBQztJQVhELGtCQUFrQixDQUFDLE1BQVc7UUFDNUIsTUFBTSxLQUFLLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQTtRQUNqRCxJQUFJLElBQUksQ0FBQyxtQkFBbUIsSUFBSSxLQUFLLEVBQUU7WUFDckMsTUFBTSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7U0FDM0I7SUFLSCxDQUFDO0lBeURvRCxnQkFBZ0IsQ0FBQyxLQUFvQjs7UUFDeEYsSUFBSSxDQUFDLE1BQUEsSUFBSSxDQUFDLGFBQWEsMENBQUUsVUFBVTtZQUNuQyxNQUFBLElBQUksQ0FBQyxjQUFjLDBDQUFFLFVBQVU7WUFDL0IsTUFBQSxJQUFJLENBQUMsd0JBQXdCLDBDQUFFLFVBQVU7WUFDekMsTUFBQSxJQUFJLENBQUMsVUFBVSwwQ0FBRSxVQUFVO1lBQzNCLE1BQUEsSUFBSSxDQUFDLGtCQUFrQiwwQ0FBRSxVQUFVO1lBQ25DLE1BQUEsSUFBSSxDQUFDLGlCQUFpQiwwQ0FBRSxVQUFVLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDbEQsWUFBWTtTQUNiO2FBQU07WUFDTCxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQTtTQUMzQjtJQUVILENBQUM7SUFzQkQsbUJBQW1CLENBQUMsR0FBUztRQUMzQixJQUFJLENBQUEsR0FBRyxhQUFILEdBQUcsdUJBQUgsR0FBRyxDQUFFLE9BQU8sTUFBSyxLQUFLLEVBQUU7WUFDMUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUM5QzthQUFNO1lBQ0wsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN4QjtJQUNILENBQUM7SUFFRCxZQUFZLENBQUMsR0FBUTtRQUNuQixJQUFJLENBQUMsdUJBQXVCLEdBQUcsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSx5REFBeUQsRUFBRSxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDO0lBQzlKLENBQUM7SUFDRCxZQUFZLENBQUMsR0FBUTtRQUNuQixJQUFJLEdBQUcsQ0FBQyxNQUFNLEtBQUssS0FBSyxFQUFFO1lBQ3hCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUE7U0FDMUI7SUFDSCxDQUFDO0lBQ0QsUUFBUTtRQUNOLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUMzRCxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDekIsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ1IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxpQkFBaUI7UUFDZixnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNoQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxzREFBc0QsQ0FBQyxDQUFBO1FBQzVFLENBQUMsQ0FBQyxDQUFDO1FBQ0gsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDL0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQTtRQUM1QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFhLEVBQUUsRUFBRTtZQUNyRSxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLG9CQUFvQixDQUFDLEVBQUU7Z0JBQ2pFLE9BQU8sUUFBUSxDQUFDO2FBQ2pCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssZ0JBQWdCLEVBQUU7WUFDeEMsSUFBSSxDQUFDLHlCQUF5QixHQUFHLElBQUksQ0FBQztZQUN0QyxJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDO1NBQ25DO0lBQ0gsQ0FBQztJQUVELG9CQUFvQixDQUFDLElBQWM7UUFDakMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxLQUFLLEtBQUssQ0FBQyxFQUFFO1lBQzlKLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO1lBQzVCLElBQUksSUFBSSxLQUFLLElBQUksRUFBRTtnQkFDakIsSUFBSSxDQUFDLHlCQUF5QixHQUFHLEtBQUssQ0FBQzthQUN4QztpQkFBTTtnQkFDTCxJQUFJLENBQUMseUJBQXlCLEdBQUcsSUFBSSxDQUFDO2FBQ3ZDO1NBQ0Y7YUFBTTtZQUVMLElBQUksSUFBSSxLQUFLLElBQUksRUFBRTtnQkFBRSxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztnQkFBQyxJQUFJLENBQUMseUJBQXlCLEdBQUcsS0FBSyxDQUFDO2FBQUU7WUFDM0YsSUFBSSxJQUFJLEtBQUssS0FBSyxFQUFFO2dCQUFFLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO2dCQUFDLElBQUksQ0FBQyx5QkFBeUIsR0FBRyxJQUFJLENBQUM7YUFBRTtZQUMxRixJQUFJLElBQUksS0FBSyxTQUFTLEVBQUU7Z0JBQ3RCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO2dCQUMzQixJQUFJLENBQUMseUJBQXlCLEdBQUcsSUFBSSxDQUFDO2FBQ3ZDO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsTUFBTTs7UUFDSixRQUFRLE1BQUEsSUFBSSxDQUFDLGVBQWUsMENBQUUsSUFBSSxFQUFFO1lBQ2xDLEtBQUssS0FBSztnQkFDUixJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUNoQyxNQUFNO1lBQ1IsS0FBSyxLQUFLO2dCQUNSLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDbEMsTUFBTTtZQUNSLEtBQUssS0FBSztnQkFDUixJQUFJLENBQUMsVUFBVSxDQUFDLG9CQUFvQixFQUFFLENBQUM7Z0JBQ3ZDLE1BQU07WUFDUixLQUFLLEtBQUs7Z0JBQ1IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDM0IsTUFBTTtZQUNSLEtBQUssS0FBSztnQkFDUixJQUFJLENBQUMsMkJBQTJCLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztnQkFDcEQsTUFBTTtZQUNSLEtBQUssTUFBTSxDQUFDLENBQUE7Z0JBQ1YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDM0IsTUFBTTthQUNQO1lBQ0QsY0FBYztZQUNkLGdEQUFnRDtTQUVqRDtJQUNILENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDdkMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUNyRSxJQUFJLENBQUMsWUFBWSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFDbEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUM7UUFDbEQsSUFBSSxDQUFDLGFBQWEsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDO0lBQ3RDLENBQUM7SUFDRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztJQUM1QixDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQVU7UUFDbkIsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7SUFDNUIsQ0FBQztJQUNELGNBQWMsQ0FBQyxHQUFRLEVBQUUsZ0JBQXFCO1FBQzVDLElBQUksZ0JBQWdCLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFO1lBQUUsT0FBTztTQUFFO1FBQ3BFLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLGdFQUFnRSxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQztJQUNuTCxDQUFDO0lBRUQscUJBQXFCLENBQUMsR0FBUTs7UUFDNUIsSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLEtBQUssRUFBRTtZQUV4QixRQUFRLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFO2dCQUMxQixLQUFLLGlCQUFpQjtvQkFDcEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxNQUFBLE1BQUEsR0FBRyxhQUFILEdBQUcsdUJBQUgsR0FBRyxDQUFFLE9BQU8sMENBQUUsSUFBSSxtQ0FBSSxJQUFJLENBQUM7b0JBRWxELElBQUksTUFBQSxJQUFJLENBQUMsZUFBZSwwQ0FBRSxJQUFJLEVBQUU7d0JBQzlCLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTs0QkFDbkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsTUFBQSxJQUFJLENBQUMsZUFBZSwwQ0FBRSxJQUFJLENBQUMsQ0FBQzt5QkFDdEQ7cUJBQ0Y7b0JBRUQsTUFBTTtnQkFDUixLQUFLLFdBQVc7b0JBQ2QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztvQkFDM0QsTUFBTTtnQkFDUixLQUFLLGVBQWU7b0JBQ2xCLElBQUksQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUM1QyxNQUFNO2dCQUNSLEtBQUssZ0JBQWdCO29CQUNuQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFBLEdBQUcsYUFBSCxHQUFHLHVCQUFILEdBQUcsQ0FBRSxPQUFPLDBDQUFFLElBQUksQ0FBQyxDQUFBO29CQUMzQyxNQUFNO2dCQUNSLEtBQUssWUFBWTtvQkFDZixJQUFJLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBVyxFQUFFLEVBQUU7d0JBQzFELElBQUksTUFBTSxDQUFDLElBQUksS0FBSyxZQUFZLElBQUksTUFBTSxDQUFDLElBQUksS0FBSyxpQkFBaUIsRUFBRTs0QkFDckUsTUFBTSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7eUJBQzNCO3dCQUVELElBQUksTUFBTSxDQUFDLElBQUksS0FBSyxhQUFhLEVBQUU7NEJBQ2pDLE1BQU0sQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO3lCQUMxQjtvQkFFSCxDQUFDLENBQUMsQ0FBQztvQkFFSCxJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixFQUFFLENBQUM7b0JBQ25DLE1BQU07Z0JBRVIsS0FBSyxNQUFNO29CQUNULElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFBO29CQUMvQyxNQUFNO2dCQUVOLEtBQUssaUJBQWlCO29CQUN0QixJQUFJLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBVyxFQUFFLEVBQUU7d0JBQzFELElBQUksTUFBTSxDQUFDLElBQUksS0FBSyxZQUFZLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRTs0QkFDOUQsTUFBTSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7eUJBQzNCO3dCQUVELElBQUksTUFBTSxDQUFDLElBQUksS0FBSyxhQUFhLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRTs0QkFDL0QsTUFBTSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7eUJBQzFCO3dCQUNELElBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsSUFBSSxNQUFNLENBQUMsSUFBSSxLQUFLLGlCQUFpQixFQUFFOzRCQUNyRSxNQUFNLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQzs0QkFDdkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQzt5QkFDdkQ7b0JBQ0gsQ0FBQyxDQUFDLENBQUM7b0JBRUgsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQTthQUUxQztTQUVGO2FBQU07WUFDTCxRQUFRLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFO2dCQUMxQixLQUFLLGVBQWU7b0JBQ2xCLElBQUksQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUM1QyxNQUFNO2FBQ1Q7U0FDRjtRQUNELElBQUksQ0FBQyx1QkFBdUIsR0FBRyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUN6RixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUM1QixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRCxXQUFXLENBQUMsWUFBaUIsRUFBRSxZQUFpQjtRQUM5QyxNQUFNLGdCQUFnQixHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFZLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUssWUFBWSxDQUFDLENBQUM7UUFDNUYsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO1FBQ3pGLE9BQU8sZ0JBQWdCLENBQUM7SUFDMUIsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFVOztRQUNwQixRQUFRLE1BQUEsSUFBSSxDQUFDLGVBQWUsMENBQUUsSUFBSSxFQUFFO1lBQ2xDLEtBQUssS0FBSztnQkFDUixJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDdEMsTUFBTTtZQUNSLEtBQUssS0FBSztnQkFDUixJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUMxQyxNQUFNO1lBRVIsS0FBSyxLQUFLO2dCQUNSLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxhQUFhLEVBQUU7b0JBQ2hDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLENBQUMsQ0FBQztvQkFDeEMsTUFBTTtpQkFDUDtnQkFDRCxJQUFHLEtBQUssQ0FBQyxJQUFJLEtBQUssaUJBQWlCLEVBQUM7b0JBQ2xDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssWUFBWSxDQUFDLENBQUM7b0JBQ3JHLElBQUksQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7b0JBQ3JGLElBQUksS0FBSyxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO3dCQUNoRCxJQUFJLENBQUMsb0JBQW9CLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLENBQUM7cUJBQ3BEO3lCQUFNO3dCQUNMLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksS0FBSyxpQkFBaUIsQ0FBQyxDQUFDO3dCQUNySCxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQzt3QkFDNUQsSUFBRyxLQUFLLENBQUMsY0FBYyxFQUFFOzRCQUN2QixNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQzs0QkFDOUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxTQUFTLENBQUM7eUJBQzVCO3dCQUVELElBQUksQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLEtBQUssQ0FBQzt3QkFDOUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFBO3FCQUN0RTtpQkFDRjtnQkFDRCxJQUFHLEtBQUssQ0FBQyxJQUFJLEtBQUssWUFBWSxFQUFDO29CQUM3QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxLQUFLLGlCQUFpQixDQUFDLENBQUM7b0JBQzFHLElBQUksQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztpQkFDdkU7Z0JBQ0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ25DLE1BQU07WUFDUixLQUFLLEtBQUs7Z0JBQ1IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQy9CLE1BQU07WUFDUixLQUFLLE1BQU07Z0JBQ1QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ2hDLE1BQU07U0FDVDtJQUNILENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxLQUFVO1FBQzNCLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNuQixJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNqQztJQUVILENBQUM7SUFDRCwyQkFBMkIsQ0FBQyxLQUFVO1FBQ3BDLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxNQUF5QjtRQUM3QyxJQUFJLENBQUMsdUJBQXVCLEdBQUcsTUFBTSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxLQUFVO1FBQ3pCLFFBQVEsS0FBSyxFQUFFO1lBQ2IsS0FBSyxLQUFLO2dCQUNSLElBQUksQ0FBQyxjQUFjLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztnQkFDeEMsTUFBTTtZQUNSLEtBQUssS0FBSztnQkFDUixJQUFJLENBQUMsd0JBQXdCLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztnQkFDbEQsTUFBTTtZQUNSLEtBQUssS0FBSztnQkFDUixJQUFJLENBQUMsa0JBQWtCLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztnQkFHNUMsTUFBTTtZQUNSO2dCQUNFLE1BQU07U0FDVDtJQUVILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUM7UUFDckIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFNBQVMsQ0FBQztJQUNyQyxDQUFDO0lBQ0QsZUFBZTtRQUNiLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFBO0lBQ3BCLENBQUM7SUFDRCxVQUFVO1FBQ1IsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLEVBQUU7WUFDbkUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUN0RDthQUFNO1lBQ0wsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUN6RDtJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsb0JBQW9CLENBQUMsS0FBYSxFQUFFLG1CQUE2QixFQUFFLGFBQXVCO1FBQ3hGLElBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQztRQUNiLElBQUcsS0FBSyxLQUFLLGlCQUFpQixFQUFFO1lBQzlCLEdBQUcsR0FBRywwS0FBMEssQ0FBQTtTQUNqTDthQUFNO1lBQ0wsR0FBRyxHQUFHLHlGQUF5RixDQUFBO1NBQ2hHO1FBQ0QsSUFBSSxDQUFDLHVCQUF1QixHQUFHLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLDBCQUEwQixFQUFFLEVBQUcsbUJBQW1CLEVBQUUsQ0FBQyxtQkFBbUIsYUFBbkIsbUJBQW1CLGNBQW5CLG1CQUFtQixHQUFJLEtBQUssQ0FBQyxFQUFFLGFBQWEsRUFBRSxDQUFDLGFBQWEsYUFBYixhQUFhLGNBQWIsYUFBYSxHQUFJLEtBQUssQ0FBQyxFQUFDLENBQUM7SUFDNU4sQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFhO1FBQzFCLElBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQztRQUNiLElBQUcsS0FBSyxFQUFFO1lBQ1IsR0FBRyxHQUFHLDZEQUE2RCxDQUFBO1NBQ3BFO1FBQ0QsSUFBSSxDQUFDLHVCQUF1QixHQUFHLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBQyxDQUFBO0lBQzlGLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxVQUFtQjtRQUN0QyxJQUFJLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBVyxFQUFFLEVBQUU7WUFDMUQsSUFBSSxNQUFNLENBQUMsSUFBSSxLQUFLLFlBQVksSUFBSSxNQUFNLENBQUMsSUFBSSxLQUFLLGlCQUFpQixFQUFFO2dCQUNyRSxNQUFNLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQzthQUMxQjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELHFCQUFxQixDQUFDLEtBQWE7UUFDakMsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7SUFFL0IsQ0FBQztJQUVELFlBQVksQ0FBQyxZQUFxQjtRQUNoQyxJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztJQUNuQyxDQUFDO0lBRUQsd0JBQXdCO1FBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxTQUFTLENBQUM7WUFDM0MsSUFBSSxFQUFDLENBQUMsR0FBTyxFQUFDLEVBQUU7O2dCQUNkLElBQUcsQ0FBQSxHQUFHLGFBQUgsR0FBRyx1QkFBSCxHQUFHLENBQUUsbUJBQW1CLE1BQUksTUFBQSxHQUFHLGFBQUgsR0FBRyx1QkFBSCxHQUFHLENBQUUsbUJBQW1CLDBDQUFFLE1BQU0sQ0FBQSxFQUFDO29CQUM5RCxNQUFNLFFBQVEsR0FBRyxHQUFHLGFBQUgsR0FBRyx1QkFBSCxHQUFHLENBQUUsbUJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBTyxFQUFFLEVBQUUsQ0FBQyxHQUFHLGFBQUgsR0FBRyx1QkFBSCxHQUFHLENBQUUsUUFBUSxDQUFDLENBQUM7b0JBQzdFLE1BQU0sUUFBUSxHQUFHLE1BQUEsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsMENBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUN6RCxJQUFJLENBQUMsb0JBQW9CLEdBQUcsR0FBRyxNQUFBLFFBQVEsQ0FBQyxDQUFDLENBQUMsMENBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLE1BQUEsUUFBUSxDQUFDLENBQUMsQ0FBQywwQ0FBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQTtpQkFDakY7WUFBQSxDQUFDO1NBQ0wsQ0FBQyxDQUFBO0lBQ0osQ0FBQzs7O1lBNWJGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsdUNBQXVDO2dCQUNqRCx3aGFBQXlEOzthQUUxRDs7O1lBVFEsWUFBWTtZQVBaLGVBQWU7WUFNZixXQUFXOzs7aUNBZWpCLFlBQVksU0FBQyxxQkFBcUIsRUFBRSxDQUFDLFFBQVEsQ0FBQzsyQkFhOUMsS0FBSzttQkFDTCxLQUFLO2lCQUNMLEtBQUs7eUJBQ0wsS0FBSzs0QkFDTCxNQUFNOytCQUNOLEtBQUs7K0JBQ0wsS0FBSzt5QkFDTCxLQUFLO2tDQUNMLEtBQUs7OEJBQ0wsS0FBSztpQ0FDTCxLQUFLO2dDQUNMLEtBQUs7a0JBS0wsS0FBSzswQkFDTCxLQUFLO3dCQUNMLEtBQUs7Z0NBS0wsS0FBSztxQkFDUCxLQUFLOzhCQUNILEtBQUs7K0JBQ0wsS0FBSzs4QkFFTCxLQUFLOzRCQVNMLFNBQVMsU0FBQyxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFOzZCQUNuQyxTQUFTLFNBQUMsY0FBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTt1Q0FDM0MsU0FBUyxTQUFDLHdCQUF3QixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTt5QkFDckQsU0FBUyxTQUFDLGdCQUFnQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTt5QkFDN0MsU0FBUyxTQUFDLFlBQVksRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7dUJBQ3pDLFNBQVMsU0FBQyxVQUFVOzBCQUNwQixTQUFTLFNBQUMsYUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtxQkFDMUMsU0FBUyxTQUFDLFFBQVE7Z0NBQ2xCLFNBQVMsU0FBQyxZQUFZOzBDQUN0QixTQUFTLFNBQUMsWUFBWTtpQ0FDdEIsU0FBUyxTQUFDLGtCQUFrQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtzQkFDL0MsU0FBUyxTQUFDLFNBQVMsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7K0JBTXRDLFlBQVksU0FBQyx5QkFBeUIsRUFBRSxDQUFDLFFBQVEsQ0FBQzt5QkF5SWxELFlBQVksU0FBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBZGRNdWx0aXBsZVJpc2tDb21wb25lbnQgfSBmcm9tICcuLi9hZGQtbXVsdGlwbGUtcmlzay9hZGQtbXVsdGlwbGUtcmlzay5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb25maXJtYXRpb25BbGVydCB9IGZyb20gJy4uL2ludGVyZmFjZXMvY29uZmlybWF0aW9uLWFsZXJ0JztcclxuaW1wb3J0IHsgSXNzdWVDb25maWd1cmF0aW9uIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9pc3N1ZS1kYXRhJztcclxuaW1wb3J0IHsgU25hY2tCYXJTZXJ2aWNlIH0gZnJvbSAnLi4vdWkta2l0L3NuYWNrLWJhci9zbmFjay1iYXIuc2VydmljZSc7XHJcbmltcG9ydCB7IFdvcmtmbG93QXNzZXNzbWVudENvbXBvbmVudCB9IGZyb20gJy4uL3dvcmtmbG93LWFzc2Vzc21lbnQvd29ya2Zsb3ctYXNzZXNzbWVudC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBJbXBvcnRBbkFzc2Vzc21lbnRDb21wb25lbnQgfSBmcm9tICcuLi93b3JrZmxvdy1hc3Nlc3NtZW50L2ltcG9ydC1hbi1hc3Nlc3NtZW50L2ltcG9ydC1hbi1hc3Nlc3NtZW50LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFdvcmtmbG93Q29tcGxpYW5jZUNvbXBvbmVudCB9IGZyb20gJy4uL3dvcmtmbG93LWNvbXBsaWFuY2Uvd29ya2Zsb3ctY29tcGxpYW5jZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBXb3JrZmxvd1BvbGljeUNvbXBvbmVudCB9IGZyb20gJy4uL3dvcmtmbG93LXBvbGljeS93b3JrZmxvdy1wb2xpY3kuY29tcG9uZW50JztcclxuaW1wb3J0IHsgV29ya2Zsb3dSaXNrQ29tcG9uZW50IH0gZnJvbSAnLi4vd29ya2Zsb3ctcmlzay93b3JrZmxvdy1yaXNrLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vd29ya2Zsb3ctc2VydmljZXMvYXV0aC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVWlLaXRTZXJ2aWNlIH0gZnJvbSAnLi4vd29ya2Zsb3ctc2VydmljZXMvdWkta2l0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBMb2dBbklzc3VlQ29tcG9uZW50IH0gZnJvbSAnLi8uLi9sb2ctYW4taXNzdWUvbG9nLWFuLWlzc3VlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1vcmVPcHRpb25Db21wb25lbnQgfSBmcm9tICcuLy4uL21vcmUtb3B0aW9uL21vcmUtb3B0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFdvcmtmbG93UHJvZ3JhbUNvbXBvbmVudCB9IGZyb20gJy4uL3dvcmtmbG93LXByb2dyYW0vd29ya2Zsb3ctcHJvZ3JhbS5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtdmNvbXBseS13b3JrZmxvdy1lbmdpbmUtY29udGFpbmVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vd29ya2Zsb3ctZW5naW5lLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vd29ya2Zsb3ctZW5naW5lLWNvbnRhaW5lci5jb21wb25lbnQubGVzcycsICcuLi9mb3Jtcy5sZXNzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBXb3JrZmxvd0VuZ2luZUNvbnRhaW5lckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XHJcblxyXG4gIGlzSG9zdFJlZnJlc2hBY3RpdmUgPSB0cnVlO1xyXG4gIGlzUkNTZWxlY3RlZCA9IGZhbHNlXHJcbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OmJlZm9yZXVubG9hZCcsIFsnJGV2ZW50J10pXHJcbiAgdW5sb2FkTm90aWZpY2F0aW9uKCRldmVudDogYW55KSB7XHJcbiAgICBjb25zdCB0b2tlbiA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdjdXJyZW50VXNlcicpXHJcbiAgICBpZiAodGhpcy5pc0hvc3RSZWZyZXNoQWN0aXZlICYmIHRva2VuKSB7XHJcbiAgICAgICRldmVudC5yZXR1cm5WYWx1ZSA9IHRydWU7XHJcbiAgICB9XHJcblxyXG5cclxuXHJcblxyXG4gIH1cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgdWlLaXRTZXJ2aWNlOiBVaUtpdFNlcnZpY2UsIHByaXZhdGUgc25hY2tCYXI6IFNuYWNrQmFyU2VydmljZSwgcHVibGljIGF1dGg6IEF1dGhTZXJ2aWNlKSB7XHJcbiAgfVxyXG4gIEBJbnB1dCgpIHdvcmtmbG93VHlwZSA9ICcnO1xyXG4gIEBJbnB1dCgpIG1vZGUgPSAnQ1JFQVRFJztcclxuICBASW5wdXQoKSBpZCA9ICcnO1xyXG4gIEBJbnB1dCgpIG9wZW5lZEZyb20gPSAnR0xPQkFMJztcclxuICBAT3V0cHV0KCkgY2xvc2VXb3JrZmxvdyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBASW5wdXQoKSBhbGxvd2VkV29ya2Zsb3dzOiBhbnkgPSBbXTtcclxuICBASW5wdXQoKSBmcmFtZXdvcmtEZXRhaWxzOiBBcnJheTxhbnk+ID0gW107IC8vIG9ubHkgZm9yIGNvbXBsaWFuY2UgcGFydCBmb3IgZnJhbWV3b3JrXHJcbiAgQElucHV0KCkgc2VsZWN0ZWRSQyA9ICcnO1xyXG4gIEBJbnB1dCgpIHNlY29uZGFyeU9wZW5Qb3J0YWwgPSAnJztcclxuICBASW5wdXQoKSBkZWZhdWx0Umlza1R5cGUgPSAnTk9STUFMJztcclxuICBASW5wdXQoKSBtb3ZlVG9SZWdpc3Rlck1vZGUgPScnO1xyXG4gIEBJbnB1dCgpIHJlcG9uc2liaWxpdHlEYXRhID0geyAvLyBvbmx5IHVzZWQgYnkgbG9nIGFuIGlzc3VlXHJcbiAgICByZXNwb25zaWJpbGl0eUlkOiBudWxsLFxyXG4gICAgcmVzcG9uc2liaWxpdHlOYW1lOiAnJyxcclxuICAgIHJjSWQ6bnVsbFxyXG4gIH07XHJcbiAgQElucHV0KCkgcGlkID0gJyc7XHJcbiAgQElucHV0KCkgcHJvZ3JhbVR5cGU6IG51bWJlciA9IDE7XHJcbiAgQElucHV0KCkgaXNzdWVEYXRhID17XHJcbiAgICBhdWRpdFBsYW5JZCA6IG51bGwsXHJcbiAgICAgIGF1ZGl0UGxhbk5hbWUgIDonJyxcclxuICAgICAgcmNJZDogbnVsbFxyXG4gIH1cclxuICBASW5wdXQoKSBlbnRydXN0QnV0dG9uTmFtZSA9ICdFbnRydXN0J1xyXG5ASW5wdXQoKSBjb25maWcgITogSXNzdWVDb25maWd1cmF0aW9uXHJcbiAgQElucHV0KCkgY29udmVydEZpbGVEYXRhID0ge31cclxuICBASW5wdXQoKSBzZWxlY3RlZENhdGVnb3J5ID0gJydcclxuXHJcbiAgQElucHV0KCkgc2VsZWN0ZWRQcm9ncmFtOiBhbnkgPSBudWxsO1xyXG5cclxuICBhbmltYXRpb24gPSB0cnVlO1xyXG4gIHdvcmtmbG93TGlzdCA9IGZhbHNlO1xyXG4gIHNob3dNb3JlT3B0aW9uID0gdHJ1ZTtcclxuICBpc1dvcmtmbG93U2VsZWN0b3JFbmFibGVkID0gdHJ1ZTtcclxuICBkaXNhYmxlV29ya2Zsb3dDaGFuZ2UhOiBib29sZWFuO1xyXG4gIGNoZWNrcG9pbnRDb3VudDogbnVtYmVyID0gMDtcclxuICBjdXJyZW50QnVzaW5lc3NDeWNsZTphbnkgPSAnJztcclxuICBAVmlld0NoaWxkKCdyaXNrJywgeyBzdGF0aWM6IGZhbHNlIH0pIHJpc2tDb21wb25lbnQhOiBXb3JrZmxvd1Jpc2tDb21wb25lbnQ7XHJcbiAgQFZpZXdDaGlsZCgnbXVsdGlwbGVSaXNrJywgeyBzdGF0aWM6IGZhbHNlIH0pIHJpc2tCdWxrVXBsb2FkITogQWRkTXVsdGlwbGVSaXNrQ29tcG9uZW50O1xyXG4gIEBWaWV3Q2hpbGQoJ211bHRpcGxlUmVzcG9uc2liaWxpdHknLCB7IHN0YXRpYzogZmFsc2UgfSkgcmVzcG9uc2liaWxpdHlCdWxrVXBsb2FkITogQWRkTXVsdGlwbGVSaXNrQ29tcG9uZW50O1xyXG4gIEBWaWV3Q2hpbGQoJ3Jlc3BvbnNpYmlsaXR5JywgeyBzdGF0aWM6IGZhbHNlIH0pIGNvbXBsaWFuY2UhOiBXb3JrZmxvd0NvbXBsaWFuY2VDb21wb25lbnQ7XHJcbiAgQFZpZXdDaGlsZCgnbW9yZU9wdGlvbicsIHsgc3RhdGljOiBmYWxzZSB9KSBtb3JlT3B0aW9uITogTW9yZU9wdGlvbkNvbXBvbmVudDtcclxuICBAVmlld0NoaWxkKCdkcm9wZG93bicpIGRyb3Bkb3duITogRWxlbWVudFJlZjtcclxuICBAVmlld0NoaWxkKCdkcm9wZG93blJvdycsIHsgc3RhdGljOiBmYWxzZSB9KSBkcm9wZG93blJvdyE6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZCgncG9saWN5JykgcG9saWN5ITogV29ya2Zsb3dQb2xpY3lDb21wb25lbnQ7XHJcbiAgQFZpZXdDaGlsZCgnbG9nQW5Jc3N1ZScpIGxvZ0lzc3VlQ29tcG9uZW50ITogTG9nQW5Jc3N1ZUNvbXBvbmVudDtcclxuICBAVmlld0NoaWxkKCdhc3Nlc3NtZW50Jykgd29ya2Zsb3dBc3Nlc3NtZW50Q29tcG9uZW50ITogV29ya2Zsb3dBc3Nlc3NtZW50Q29tcG9uZW50O1xyXG4gIEBWaWV3Q2hpbGQoJ2ltcG9ydEFzc2Vzc21lbnQnLCB7IHN0YXRpYzogZmFsc2UgfSkgaW1wb3J0QW5Bc3Nlc3NtZW50ITogSW1wb3J0QW5Bc3Nlc3NtZW50Q29tcG9uZW50O1xyXG4gIEBWaWV3Q2hpbGQoJ3Byb2dyYW0nLCB7IHN0YXRpYzogZmFsc2UgfSkgcHJvZ3JhbSAhOiBXb3JrZmxvd1Byb2dyYW1Db21wb25lbnQ7XHJcblxyXG4gIGRyb3Bkb3duTGVmdCE6IGFueTtcclxuICBkcm9wZG93blRvcCE6IGFueTtcclxuICBkcm9wZG93bldpZHRoITogYW55O1xyXG5cclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duLmVzY2FwZScsIFsnJGV2ZW50J10pIG9uS2V5ZG93bkhhbmRsZXIoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcclxuICAgIGlmIChbdGhpcy5yaXNrQ29tcG9uZW50Py5zaG93U21pbGV5LFxyXG4gICAgdGhpcy5yaXNrQnVsa1VwbG9hZD8uc2hvd1NtaWxleSxcclxuICAgIHRoaXMucmVzcG9uc2liaWxpdHlCdWxrVXBsb2FkPy5zaG93U21pbGV5LFxyXG4gICAgdGhpcy5jb21wbGlhbmNlPy5zaG93U21pbGV5LFxyXG4gICAgdGhpcy5pbXBvcnRBbkFzc2Vzc21lbnQ/LnNob3dTbWlsZXksXHJcbiAgICB0aGlzLmxvZ0lzc3VlQ29tcG9uZW50Py5zaG93U21pbGV5XS5pbmNsdWRlcyh0cnVlKSkge1xyXG4gICAgICAvL0RvIE5vdGhpbmdcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuY2xvc2VXb3JrZmxvd0VuZ2luZSgpXHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgY3VycmVudFdvcmtmbG93ICE6IGFueTtcclxuICB3b3JrZmxvd1R5cGVMaXN0OiBhbnkgPSBbXHJcbiAgICB7IHdvcmtmbG93TmFtZTogJ0NyZWF0ZSBhIFJlc3BvbnNpYmlsaXR5JywgY29kZTogJ0NBUicsIHBlcm1pc3Npb25JZGVudGlmaWVyOiAnUkVTUE9OU0lCSUxJVFknIH0sXHJcbiAgICB7IHdvcmtmbG93TmFtZTogJ0NyZWF0ZSBNdWx0aXBsZSBSZXNwb25zaWJpbGl0aWVzJywgY29kZTogJ0NNUicsIHBlcm1pc3Npb25JZGVudGlmaWVyOiAnTVVMVElQTEVfUkVTUE9OU0lCSUxJVFknIH0sXHJcbiAgICB7IHdvcmtmbG93TmFtZTogJ0FkZCBhIFJpc2snLCBjb2RlOiAnQUFSJywgcGVybWlzc2lvbklkZW50aWZpZXI6ICdSSVNLJyB9LFxyXG4gICAgeyB3b3JrZmxvd05hbWU6ICdBZGQgTXVsdGlwbGUgUmlza3MnLCBjb2RlOiAnQU1SJywgcGVybWlzc2lvbklkZW50aWZpZXI6ICdNVUxUSVBMRV9SSVNLJyB9LFxyXG4gICAgeyB3b3JrZmxvd05hbWU6ICdDcmVhdGUgYSBQb2xpY3knLCBjb2RlOiAnQ0FQJywgcGVybWlzc2lvbklkZW50aWZpZXI6ICdQT0xJQ1knIH0sXHJcbiAgICB7IHdvcmtmbG93TmFtZTogJ0NyZWF0ZSBhIFN1cnZleScsIGNvZGU6ICdDQVMnLCBwZXJtaXNzaW9uSWRlbnRpZmllcjogJ1NVUlZFWScgfSxcclxuICAgIHsgd29ya2Zsb3dOYW1lOiAnQ3JlYXRlIGEgRm9ybScsIGNvZGU6ICdDQUYnLCBwZXJtaXNzaW9uSWRlbnRpZmllcjogJ0ZPUk0nIH0sXHJcbiAgICB7IHdvcmtmbG93TmFtZTogJ0xvZyBhbiBJc3N1ZScsIGNvZGU6ICdMQUknLCBwZXJtaXNzaW9uSWRlbnRpZmllcjogJ0lTU1VFJyB9LFxyXG4gICAgeyB3b3JrZmxvd05hbWU6ICdDcmVhdGUgYW4gQXNzZXNzbWVudCcsIGNvZGU6ICdBQUEnLCBwZXJtaXNzaW9uSWRlbnRpZmllcjogJ0FTU0VTU01FTlQnIH0sXHJcbiAgICB7IHdvcmtmbG93TmFtZTogJ0ltcG9ydCBhbiBBc3Nlc3NtZW50JywgY29kZTogJ0lBQScsIHBlcm1pc3Npb25JZGVudGlmaWVyOiAnSU1QT1JUX0FTU0VTU01FTlQnIH0sXHJcbiAgICB7IHdvcmtmbG93TmFtZTogJ0FkZCBhIFByb2dyYW0nLCBjb2RlOiAnQ0FQUicsIHBlcm1pc3Npb25JZGVudGlmaWVyOiAnUFJPR1JBTScgfVxyXG4gIF07XHJcbiAgYWRkaXRpb25hbEluZm9ybWF0aW9uTGlzdCA9IFtcclxuICAgICdPYmplY3RpdmUnLFxyXG4gICAgJ1Jlc3BvbnNpYmlsaXR5IENlbnRlcicsXHJcbiAgICAnUmVzcG9uc2liaWxpdHkgQ2F0ZWdvcnknXHJcbiAgXTtcclxuICBjb25maXJtYXRpb25BbGVydENvbmZpZzogQ29uZmlybWF0aW9uQWxlcnQgPSB7IGlzVmlzaWJsZTogZmFsc2UgfTtcclxuICBjbG9zZVdvcmtmbG93RW5naW5lKGV2dD86IGFueSkge1xyXG4gICAgaWYgKGV2dD8uY29uZmlybSA9PT0gZmFsc2UpIHtcclxuICAgICAgdGhpcy5jbG9zZVdvcmtmbG93LmVtaXQoZXZ0ID8gZXZ0LmV2dCA6IGV2dCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmNsb3NlQ29uZmlybShldnQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2xvc2VDb25maXJtKGV2dDogYW55KSB7XHJcbiAgICB0aGlzLmNvbmZpcm1hdGlvbkFsZXJ0Q29uZmlnID0geyBpc1Zpc2libGU6IHRydWUsIG1lc3NhZ2U6ICdJZiB5b3UgbmF2aWdhdGUgYXdheSwgYW55IHVuc2F2ZWQgY2hhbmdlcyB3aWxsIGJlIGxvc3QuJywgYWN0aW9uOiAnV09SS0ZMT1dfQ0xPU0UnLCBkYXRhOiBldnQgfTtcclxuICB9XHJcbiAgZXhlY3V0ZUNsb3NlKGV2dDogYW55KSB7XHJcbiAgICBpZiAoZXZ0LmFjdGlvbiA9PT0gJ1lFUycpIHtcclxuICAgICAgdGhpcy5jbG9zZVdvcmtmbG93LmVtaXQoKVxyXG4gICAgfVxyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2V0TmV0d29ya0xpc3RuZXIoKTtcclxuICAgIHRoaXMuc2V0V29ya2Zsb3codGhpcy53b3JrZmxvd1R5cGUsIHRoaXMud29ya2Zsb3dUeXBlTGlzdCk7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5hbmltYXRpb24gPSBmYWxzZTtcclxuICAgIH0sIDUwMCk7XHJcbiAgICB0aGlzLnNldFdvcmtmbG93KHRoaXMud29ya2Zsb3dUeXBlLCB0aGlzLndvcmtmbG93VHlwZUxpc3QpO1xyXG4gICAgdGhpcy5kZWNpZGVWaWV3TW9yZU9wdGlvbigpO1xyXG4gICAgdGhpcy5mZXRjaE9yZ2FuaXphdGlvbkRldGFpbHMoKTtcclxuICB9XHJcblxyXG4gIHNldE5ldHdvcmtMaXN0bmVyKCkge1xyXG4gICAgYWRkRXZlbnRMaXN0ZW5lcignb2ZmbGluZScsIChlKSA9PiB7XHJcbiAgICAgIHRoaXMuc25hY2tCYXIuc2hvdygnQ29ubmVjdGlvbiBsb3N0ITxicj5DaGVjayB5b3VyIG5ldHdvcmsgY29ubmVjdGl2aXR5LicpXHJcbiAgICB9KTtcclxuICAgIGFkZEV2ZW50TGlzdGVuZXIoJ29ubGluZScsIChlKSA9PiB7XHJcbiAgICAgIHRoaXMuc25hY2tCYXIuc2hvdygnWW91XFwncmUgYmFjayBvbmxpbmUhJylcclxuICAgIH0pO1xyXG4gIH1cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLndvcmtmbG93VHlwZUxpc3QgPSB0aGlzLndvcmtmbG93VHlwZUxpc3QuZmlsdGVyKCh3b3JrZmxvdzogYW55KSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLmFsbG93ZWRXb3JrZmxvd3MuaW5jbHVkZXMod29ya2Zsb3cucGVybWlzc2lvbklkZW50aWZpZXIpKSB7XHJcbiAgICAgICAgcmV0dXJuIHdvcmtmbG93O1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIGlmICh0aGlzLm9wZW5lZEZyb20gPT09ICdSSVNLX1RSRUFUTUVOVCcpIHtcclxuICAgICAgdGhpcy5pc1dvcmtmbG93U2VsZWN0b3JFbmFibGVkID0gdHJ1ZTtcclxuICAgICAgdGhpcy5kaXNhYmxlV29ya2Zsb3dDaGFuZ2UgPSB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZGVjaWRlVmlld01vcmVPcHRpb24odHlwZT86IGJvb2xlYW4pIHtcclxuICAgIGlmICgodGhpcy5jdXJyZW50V29ya2Zsb3cuY29kZSA9PT0gJ0NNUicgfHwgdGhpcy5jdXJyZW50V29ya2Zsb3cuY29kZSA9PT0gJ0FNUicgfHwgdGhpcy5jdXJyZW50V29ya2Zsb3cuY29kZSA9PT0gJ0FBQScgfHwgdGhpcy5jdXJyZW50V29ya2Zsb3cuY29kZSA9PT0gJ0lBQScpKSB7XHJcbiAgICAgIHRoaXMuc2hvd01vcmVPcHRpb24gPSBmYWxzZTtcclxuICAgICAgaWYgKHR5cGUgPT09IHRydWUpIHtcclxuICAgICAgICB0aGlzLmlzV29ya2Zsb3dTZWxlY3RvckVuYWJsZWQgPSBmYWxzZTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmlzV29ya2Zsb3dTZWxlY3RvckVuYWJsZWQgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG5cclxuICAgICAgaWYgKHR5cGUgPT09IHRydWUpIHsgdGhpcy5zaG93TW9yZU9wdGlvbiA9IGZhbHNlOyB0aGlzLmlzV29ya2Zsb3dTZWxlY3RvckVuYWJsZWQgPSBmYWxzZTsgfVxyXG4gICAgICBpZiAodHlwZSA9PT0gZmFsc2UpIHsgdGhpcy5zaG93TW9yZU9wdGlvbiA9IHRydWU7IHRoaXMuaXNXb3JrZmxvd1NlbGVjdG9yRW5hYmxlZCA9IHRydWU7IH1cclxuICAgICAgaWYgKHR5cGUgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIHRoaXMuc2hvd01vcmVPcHRpb24gPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuaXNXb3JrZmxvd1NlbGVjdG9yRW5hYmxlZCA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN1Ym1pdCgpIHtcclxuICAgIHN3aXRjaCAodGhpcy5jdXJyZW50V29ya2Zsb3c/LmNvZGUpIHtcclxuICAgICAgY2FzZSAnQUFSJzpcclxuICAgICAgICB0aGlzLnJpc2tDb21wb25lbnQuc3VibWl0UmlzaygpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdMQUknOlxyXG4gICAgICAgIHRoaXMubG9nSXNzdWVDb21wb25lbnQuYWRkSXNzdWUoKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnQ0FSJzpcclxuICAgICAgICB0aGlzLmNvbXBsaWFuY2Uuc3VibWl0UmVzcG9uc2liaWxpdHkoKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnQ0FQJzpcclxuICAgICAgICB0aGlzLnBvbGljeS5zdWJtaXRQb2xpY3koKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnQUFBJzpcclxuICAgICAgICB0aGlzLndvcmtmbG93QXNzZXNzbWVudENvbXBvbmVudC5zdWJtaXRBc3Nlc3NtZW50KCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ0NBUFInOntcclxuICAgICAgICB0aGlzLnByb2dyYW0uc2F2ZVByb2dyYW0oKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgICAvLyBjYXNlICdJQUEnOlxyXG4gICAgICAvLyAgIHRoaXMuaW1wb3J0QW5Bc3Nlc3NtZW50LnN1Ym1pdEFzc2Vzc21lbnQoKTtcclxuXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBlZGl0V29ya2Zsb3coKSB7XHJcbiAgICB0aGlzLndvcmtmbG93TGlzdCA9ICF0aGlzLndvcmtmbG93TGlzdDtcclxuICAgIGNvbnN0IGRyb3Bkb3duID0gdGhpcy5kcm9wZG93bi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgdGhpcy5kcm9wZG93bkxlZnQgPSBkcm9wZG93bi5sZWZ0O1xyXG4gICAgdGhpcy5kcm9wZG93blRvcCA9IGRyb3Bkb3duLnRvcCArIGRyb3Bkb3duLmhlaWdodDtcclxuICAgIHRoaXMuZHJvcGRvd25XaWR0aCA9IGRyb3Bkb3duLndpZHRoO1xyXG4gIH1cclxuICBjbG9zZVdvcmtmbG93TGlzdCgpIHtcclxuICAgIHRoaXMud29ya2Zsb3dMaXN0ID0gZmFsc2U7XHJcbiAgfVxyXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnLCBbJyRldmVudCddKVxyXG4gIHNpemVDaGFuZ2UoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy53b3JrZmxvd0xpc3QgPSBmYWxzZTtcclxuICB9XHJcbiAgY2hhbmdlV29ya2Zsb3coZXZ0OiBhbnksIHNlbGVjdGVkV29ya2Zsb3c6IGFueSkge1xyXG4gICAgaWYgKHNlbGVjdGVkV29ya2Zsb3cuY29kZSA9PT0gdGhpcy5jdXJyZW50V29ya2Zsb3cuY29kZSkgeyByZXR1cm47IH1cclxuICAgIHRoaXMuY29uZmlybWF0aW9uQWxlcnRDb25maWcgPSB7IGlzVmlzaWJsZTogdHJ1ZSwgbWVzc2FnZTogJ0lmIHlvdSBjaGFuZ2UgdGhlIHdvcmtmbG93LCBhbnkgdW5zYXZlZCBjaGFuZ2VzIHdvdWxkIGJlIGxvc3QuJywgYWN0aW9uOiAnV09SS0ZMT1dfQ0hBTkdFJywgZGF0YTogc2VsZWN0ZWRXb3JrZmxvdyB9O1xyXG4gIH1cclxuXHJcbiAgY29uZmlybVdvcmtmbG93Q2hhbmdlKGV2dDogYW55KSB7XHJcbiAgICBpZiAoZXZ0LmFjdGlvbiA9PT0gJ1lFUycpIHtcclxuXHJcbiAgICAgIHN3aXRjaCAoZXZ0LnBheWxvYWQuYWN0aW9uKSB7XHJcbiAgICAgICAgY2FzZSAnV09SS0ZMT1dfQ0hBTkdFJzpcclxuICAgICAgICAgIHRoaXMuY3VycmVudFdvcmtmbG93ID0gZXZ0Py5wYXlsb2FkPy5kYXRhID8/IG51bGw7XHJcblxyXG4gICAgICAgICAgaWYgKHRoaXMuY3VycmVudFdvcmtmbG93Py5jb2RlKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLm1vcmVPcHRpb24pIHtcclxuICAgICAgICAgICAgICB0aGlzLm1vcmVPcHRpb24ucmVzZXRBbGwodGhpcy5jdXJyZW50V29ya2Zsb3c/LmNvZGUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAnRURJVF9SSVNLJzpcclxuICAgICAgICAgIHRoaXMucmlza0NvbXBvbmVudC5jcmVhdGVSaXNrKHRoaXMucmlza0NvbXBvbmVudC5yaXNrRm9ybSk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdQT0xJQ1lfUE9SVEFMJzpcclxuICAgICAgICAgIHRoaXMucG9saWN5LmNvbmZpcm1Qb2xpY3lQb3J0YWwoZXZ0LmFjdGlvbik7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdXT1JLRkxPV19DTE9TRSc6XHJcbiAgICAgICAgICB0aGlzLmNsb3NlV29ya2Zsb3cuZW1pdChldnQ/LnBheWxvYWQ/LmRhdGEpXHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdjaGVja3BvaW50JzpcclxuICAgICAgICAgIHRoaXMubW9yZU9wdGlvbi5tb3JlT3B0aW9uc0xpc3QuQ0FSLmZvckVhY2goKG9wdGlvbjogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChvcHRpb24uY29kZSA9PT0gJ0FTU0VTU01FTlQnIHx8IG9wdGlvbi5jb2RlID09PSAnQ0hFQ0tQT0lOVFNfTkVXJykge1xyXG4gICAgICAgICAgICAgIG9wdGlvbi5pc0Rpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmIChvcHRpb24uY29kZSA9PT0gJ0NIRUNLUE9JTlRTJykge1xyXG4gICAgICAgICAgICAgIG9wdGlvbi5pc0Rpc2FibGVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgIHRoaXMuY29tcGxpYW5jZS5yZW1vdmVDaGVja3BvaW50KCk7XHJcbiAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgY2FzZSAnUk9MRSc6XHJcbiAgICAgICAgICB0aGlzLnByb2dyYW0ucmVtb3ZlKGV2dC5wYXlsb2FkLmRhdGEsICdST0xFJylcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgY2FzZSAnbmV3LWNoZWNrcG9pbnRzJzpcclxuICAgICAgICB0aGlzLm1vcmVPcHRpb24ubW9yZU9wdGlvbnNMaXN0LkNBUi5mb3JFYWNoKChvcHRpb246IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKG9wdGlvbi5jb2RlID09PSAnQVNTRVNTTUVOVCcgJiYgIWV2dC5wYXlsb2FkLmlzRGF0YVJlbW92ZWQpIHtcclxuICAgICAgICAgICAgb3B0aW9uLmlzRGlzYWJsZWQgPSBmYWxzZTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBpZiAob3B0aW9uLmNvZGUgPT09ICdDSEVDS1BPSU5UUycgJiYgIWV2dC5wYXlsb2FkLmlzRGF0YVJlbW92ZWQpIHtcclxuICAgICAgICAgICAgb3B0aW9uLmlzRGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYoZXZ0LnBheWxvYWQuaXNDaGVja3BvaW50Q2hlY2tlZCAmJiBvcHRpb24uY29kZSA9PT0gJ0NIRUNLUE9JTlRTX05FVycpIHtcclxuICAgICAgICAgICAgICBvcHRpb24uY2hlY2tlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgIHRoaXMuY29tcGxpYW5jZS5tb3JlT3B0aW9ucy5DSEVDS1BPSU5UU19ORVcgPSBmYWxzZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5jb21wbGlhbmNlLnJlbW92ZSgnbmV3LWNoZWNrcG9pbnRzJylcclxuXHJcbiAgICAgIH1cclxuXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBzd2l0Y2ggKGV2dC5wYXlsb2FkLmFjdGlvbikge1xyXG4gICAgICAgIGNhc2UgJ1BPTElDWV9QT1JUQUwnOlxyXG4gICAgICAgICAgdGhpcy5wb2xpY3kuY29uZmlybVBvbGljeVBvcnRhbChldnQuYWN0aW9uKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLmNvbmZpcm1hdGlvbkFsZXJ0Q29uZmlnID0geyBpc1Zpc2libGU6IGZhbHNlLCBtZXNzYWdlOiAnJywgYWN0aW9uOiAnJywgZGF0YTogbnVsbCB9O1xyXG4gICAgdGhpcy5kZWNpZGVWaWV3TW9yZU9wdGlvbigpO1xyXG4gICAgcmV0dXJuIGV2dDtcclxuICB9XHJcblxyXG4gIHNldFdvcmtmbG93KHdvcmtGbG93Q29kZTogYW55LCB3b3JrRmxvd0xpc3Q6IGFueSkge1xyXG4gICAgY29uc3Qgc2VsZWN0ZWRXb3JrZmxvdyA9IHdvcmtGbG93TGlzdC5maW5kKChlbGVtZW50OiBhbnkpID0+IGVsZW1lbnQuY29kZSA9PT0gd29ya0Zsb3dDb2RlKTtcclxuICAgIHNlbGVjdGVkV29ya2Zsb3cgPyB0aGlzLmN1cnJlbnRXb3JrZmxvdyA9IHNlbGVjdGVkV29ya2Zsb3cgOiB0aGlzLmN1cnJlbnRXb3JrZmxvdyA9IG51bGw7XHJcbiAgICByZXR1cm4gc2VsZWN0ZWRXb3JrZmxvdztcclxuICB9XHJcblxyXG4gIGFkZE1vcmVJbmZvKGV2ZW50OiBhbnkpIHtcclxuICAgIHN3aXRjaCAodGhpcy5jdXJyZW50V29ya2Zsb3c/LmNvZGUpIHtcclxuICAgICAgY2FzZSAnQUFSJzpcclxuICAgICAgICB0aGlzLnJpc2tDb21wb25lbnQuYWRkTW9yZUluZm8oZXZlbnQpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdMQUknOlxyXG4gICAgICAgIHRoaXMubG9nSXNzdWVDb21wb25lbnQuYWRkTW9yZUluZm8oZXZlbnQpO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSAnQ0FSJzpcclxuICAgICAgICBpZiAoZXZlbnQuY29kZSA9PT0gXCJDSEVDS1BPSU5UU1wiKSB7XHJcbiAgICAgICAgICB0aGlzLm9uUmVtb3ZpbmdDaGVja3BvaW50KCdjaGVja3BvaW50Jyk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYoZXZlbnQuY29kZSA9PT0gJ0NIRUNLUE9JTlRTX05FVycpe1xyXG4gICAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLm1vcmVPcHRpb24ubW9yZU9wdGlvbnNMaXN0LkNBUi5maW5kSW5kZXgoKGVsZTogYW55KSA9PiBlbGUuY29kZSA9PT0gJ0FTU0VTU01FTlQnKTtcclxuICAgICAgICAgIHRoaXMubW9yZU9wdGlvbi5tb3JlT3B0aW9uc0xpc3QuQ0FSW2luZGV4XS5pc0Rpc2FibGVkID0gZXZlbnQuY2hlY2tlZCA/IHRydWUgOiBmYWxzZTtcclxuICAgICAgICAgIGlmKCBldmVudC5jaGVja3BvaW50X25ldyAmJiB0aGlzLmNoZWNrcG9pbnRDb3VudCkge1xyXG4gICAgICAgICAgICB0aGlzLm9uUmVtb3ZpbmdDaGVja3BvaW50KCduZXctY2hlY2twb2ludHMnLCB0cnVlKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGNvbnN0IENIRUNLUE9JTlRfSU5ERVggPSB0aGlzLm1vcmVPcHRpb24ubW9yZU9wdGlvbnNMaXN0LkNBUi5maW5kSW5kZXgoKGVsZTogYW55KSA9PiBlbGUuY29kZSA9PT0gJ0NIRUNLUE9JTlRTX05FVycpO1xyXG4gICAgICAgICAgICB0aGlzLmNvbXBsaWFuY2UubW9yZU9wdGlvbnMuQ0hFQ0tQT0lOVFNfTkVXID0gZXZlbnQuY2hlY2tlZDtcclxuICAgICAgICAgICAgaWYoZXZlbnQuY2hlY2twb2ludF9uZXcpIHtcclxuICAgICAgICAgICAgICBjb25zdCBpc0NoZWNrZWQgPSBldmVudC5jaGVja2VkID8gZmFsc2UgOiB0cnVlO1xyXG4gICAgICAgICAgICAgICBldmVudC5jaGVja2VkID0gaXNDaGVja2VkO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB0aGlzLm1vcmVPcHRpb24ubW9yZU9wdGlvbnNMaXN0LkNBUltDSEVDS1BPSU5UX0lOREVYXSA9IGV2ZW50O1xyXG4gICAgICAgICAgICB0aGlzLm1vcmVPcHRpb24ubW9yZU9wdGlvbnNMaXN0LkNBUltpbmRleF0uaXNEaXNhYmxlZCA9IGV2ZW50LmNoZWNrZWRcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYoZXZlbnQuY29kZSA9PT0gJ0FTU0VTU01FTlQnKXtcclxuICAgICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5tb3JlT3B0aW9uLm1vcmVPcHRpb25zTGlzdC5DQVIuZmluZEluZGV4KChlbGU6IGFueSkgPT4gZWxlLmNvZGUgPT09ICdDSEVDS1BPSU5UU19ORVcnKTtcclxuICAgICAgICAgIHRoaXMubW9yZU9wdGlvbi5tb3JlT3B0aW9uc0xpc3QuQ0FSW2luZGV4XS5pc0Rpc2FibGVkID0gZXZlbnQuY2hlY2tlZDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5jb21wbGlhbmNlLmFkZE1vcmVJbmZvKGV2ZW50KTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnQ0FQJzpcclxuICAgICAgICB0aGlzLnBvbGljeS5hZGRNb3JlSW5mbyhldmVudCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ0NBUFInOlxyXG4gICAgICAgIHRoaXMucHJvZ3JhbS5hZGRNb3JlSW5mbyhldmVudCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwb3B1bGF0ZU1vcmVPcHRpb24oZXZlbnQ6IGFueSkge1xyXG4gICAgaWYgKHRoaXMubW9yZU9wdGlvbikge1xyXG4gICAgICB0aGlzLm1vcmVPcHRpb24ucG9wdWxhdGUoZXZlbnQpO1xyXG4gICAgfVxyXG5cclxuICB9XHJcbiAgaGlkZUVsZW1lbnRzRnJvbU1vcmVPcHRpb25zKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMubW9yZU9wdGlvbi5oaWRlRWxlbWVudHMoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgc2hvd0NvbmZpcm1hdGlvblBvcHVwKGNvbmZpZzogQ29uZmlybWF0aW9uQWxlcnQpIHtcclxuICAgIHRoaXMuY29uZmlybWF0aW9uQWxlcnRDb25maWcgPSBjb25maWc7XHJcbiAgfVxyXG5cclxuICBidWxrVXBsb2FkQnJvd3NlKGV2ZW50OiBhbnkpIHtcclxuICAgIHN3aXRjaCAoZXZlbnQpIHtcclxuICAgICAgY2FzZSAnQU1SJzpcclxuICAgICAgICB0aGlzLnJpc2tCdWxrVXBsb2FkLnRyaWdnZXJCcm93c2VGaWxlKCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ0NNUic6XHJcbiAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0eUJ1bGtVcGxvYWQudHJpZ2dlckJyb3dzZUZpbGUoKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnSUFBJzpcclxuICAgICAgICB0aGlzLmltcG9ydEFuQXNzZXNzbWVudC50cmlnZ2VyQnJvd3NlRmlsZSgpO1xyXG5cclxuXHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgb25SZXNldEZvcm0oKSB7XHJcbiAgICB0aGlzLm1vZGUgPSAnQ1JFQVRFJztcclxuICAgIHRoaXMuZW50cnVzdEJ1dHRvbk5hbWUgPSAnRW50cnVzdCc7XHJcbiAgfVxyXG4gIHNoaWZ0VG9FZGl0TW9kZSgpIHtcclxuICAgIHRoaXMubW9kZSA9ICdFRElUJ1xyXG4gIH1cclxuICBzY3JvbGxGb3JtKCkge1xyXG4gICAgaWYgKHRoaXMuZHJvcGRvd25Sb3cubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3AgPCAzOCkge1xyXG4gICAgICB0aGlzLmRyb3Bkb3duUm93Lm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnaGlkZScpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5kcm9wZG93blJvdy5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ2hpZGUnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqXHJcbiAgICogQHBhcmFtIGV2ZW50IHdoaWNoIG1vcmUgb3B0aW9ucyB3ZSBhcmUgcmVtb3ZpbmcuXHJcbiAgICogQHBhcmFtIGlzQ2hlY2twb2ludENoZWNrZWQgIGlzIHRydWUgaWYgdmFsdWUgY2hlY2twb2ludHMgaXMgcmVtb3ZlZCBieSBjbGlja2luZyBvbiBtb3JlIG9wdGlvbnNcclxuICAgKi9cclxuICBvblJlbW92aW5nQ2hlY2twb2ludChldmVudDogc3RyaW5nLCBpc0NoZWNrcG9pbnRDaGVja2VkPzogYm9vbGVhbiwgaXNEYXRhUmVtb3ZlZD86IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIGxldCBtc2cgPSAnJztcclxuICAgIGlmKGV2ZW50ID09PSAnbmV3LWNoZWNrcG9pbnRzJykge1xyXG4gICAgICBtc2cgPSAnSWYgeW91IGNob29zZSB0byByZW1vdmUgdGhlc2UgQ2hlY2twb2ludHMsIHRoZXkgd2lsbCBiZSBkZWxldGVkIGFuZCBjYW5ub3QgYmUgcmVzdG9yZWQuIEhvd2V2ZXIsIHlvdSB3aWxsIHN0aWxsIGJlIGFibGUgdG8gY3JlYXRlIG5ldyBDaGVja3BvaW50cyBvciBsaW5rIGFuIEFzc2Vzc21lbnQuJ1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgbXNnID0gJ0lmIHlvdSBjaG9vc2UgdG8gcmVtb3ZlIHRoZXNlIGNoZWNrcG9pbnRzLCB0aGV5IHdpbGwgYmUgZGVsZXRlZCBhbmQgY2Fubm90IGJlIHJlc3RvcmVkLidcclxuICAgIH1cclxuICAgIHRoaXMuY29uZmlybWF0aW9uQWxlcnRDb25maWcgPSB7IGlzVmlzaWJsZTogdHJ1ZSwgbWVzc2FnZTogbXNnLCBhY3Rpb246IGV2ZW50LCBkYXRhOiB7IHR5cGU6ICdyZXNwb25zaWJpbGl0eUNoZWNrcG9pbnQnIH0gLCBpc0NoZWNrcG9pbnRDaGVja2VkOiAoaXNDaGVja3BvaW50Q2hlY2tlZCA/PyBmYWxzZSksIGlzRGF0YVJlbW92ZWQ6IChpc0RhdGFSZW1vdmVkID8/IGZhbHNlKX07XHJcbiAgfVxyXG5cclxuICBvblJlbW92aW5nUm9sZShldmVudDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBsZXQgbXNnID0gJyc7XHJcbiAgICBpZihldmVudCkge1xyXG4gICAgICBtc2cgPSAnSWYgeW91IGNoYW5nZSB0aGUgcm9sZXMsIGFueSB1bnNhdmVkIGNoYW5nZXMgd291bGQgYmUgbG9zdC4nXHJcbiAgICB9XHJcbiAgICB0aGlzLmNvbmZpcm1hdGlvbkFsZXJ0Q29uZmlnID0geyBpc1Zpc2libGU6IHRydWUsIG1lc3NhZ2U6IG1zZywgYWN0aW9uOiAnUk9MRScsIGRhdGE6IGV2ZW50fVxyXG4gIH1cclxuXHJcbiAgaXNBc3Nlc3NtZW50RGlzYWJsZWQoaXNEaXNhYmxlZDogYm9vbGVhbikge1xyXG4gICAgdGhpcy5tb3JlT3B0aW9uLm1vcmVPcHRpb25zTGlzdC5DQVIuZm9yRWFjaCgob3B0aW9uOiBhbnkpID0+IHtcclxuICAgICAgaWYgKG9wdGlvbi5jb2RlID09PSAnQVNTRVNTTUVOVCcgfHwgb3B0aW9uLmNvZGUgPT09ICdDSEVDS1BPSU5UU19ORVcnKSB7XHJcbiAgICAgICAgb3B0aW9uLmlzRGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9uQ2hlY2twb2ludFNlbGVjdGlvbihldmVudDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLmNoZWNrcG9pbnRDb3VudCA9IGV2ZW50O1xyXG5cclxuICB9XHJcblxyXG4gIG9uUmNTZWxlY3RlZChpc1JjU2VsZWN0ZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuaXNSQ1NlbGVjdGVkID0gaXNSY1NlbGVjdGVkO1xyXG4gIH1cclxuXHJcbiAgZmV0Y2hPcmdhbml6YXRpb25EZXRhaWxzKCl7XHJcbiAgICB0aGlzLmF1dGguZ2V0T3JnYW5pemF0aW9uRGV0YWlscygpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6KHJlczphbnkpPT57XHJcbiAgICAgICAgaWYocmVzPy5idXNpbmVzc19jeWNsZXNfYXJyICYmIHJlcz8uYnVzaW5lc3NfY3ljbGVzX2Fycj8ubGVuZ3RoKXtcclxuICAgICAgICAgIGNvbnN0IHNlbGVjdGVkID0gcmVzPy5idXNpbmVzc19jeWNsZXNfYXJyLmZpbHRlcigoZWxlOmFueSkgPT4gZWxlPy5zZWxlY3RlZCk7XHJcbiAgICAgICAgICBjb25zdCBzcGxpdHRlZCA9IHNlbGVjdGVkWzBdLmJ1c2luZXNzX2N5Y2xlPy5zcGxpdCgnLScpO1xyXG4gICAgICAgICB0aGlzLmN1cnJlbnRCdXNpbmVzc0N5Y2xlID0gYCR7c3BsaXR0ZWRbMF0/LnNsaWNlKDIpfSAtICR7c3BsaXR0ZWRbMV0/LnNsaWNlKDQpfWBcclxuICAgICAgICB9fVxyXG4gICAgfSlcclxuICB9XHJcblxyXG59XHJcblxyXG4iXX0=
450
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3ctZW5naW5lLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi93b3JrZmxvdy1lbmdpbmUtY29udGFpbmVyL3dvcmtmbG93LWVuZ2luZS1jb250YWluZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFjLFlBQVksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJbkksT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBTXhFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNoRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFVbkUsTUFBTSxPQUFPLGdDQUFnQztJQWUzQyxZQUFtQixZQUEwQixFQUFVLFFBQXlCLEVBQVMsSUFBaUI7UUFBdkYsaUJBQVksR0FBWixZQUFZLENBQWM7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQUFTLFNBQUksR0FBSixJQUFJLENBQWE7UUFiMUcsd0JBQW1CLEdBQUcsSUFBSSxDQUFDO1FBQzNCLGlCQUFZLEdBQUcsS0FBSyxDQUFBO1FBY1gsaUJBQVksR0FBRyxFQUFFLENBQUM7UUFDbEIsU0FBSSxHQUFHLFFBQVEsQ0FBQztRQUNoQixPQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ1IsZUFBVSxHQUFHLFFBQVEsQ0FBQztRQUNyQixrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDcEMscUJBQWdCLEdBQVEsRUFBRSxDQUFDO1FBQzNCLHFCQUFnQixHQUFlLEVBQUUsQ0FBQyxDQUFDLHlDQUF5QztRQUM1RSxlQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLHdCQUFtQixHQUFHLEVB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Q0wsS0FBSzs0QkFDTCxNQUFNOytCQUNOLEtBQUs7K0JBQ0wsS0FBSzt5QkFDTCxLQUFLO2tDQUNMLEtBQUs7OEJBQ0wsS0FBSztpQ0FDTCxLQUFLO2dDQUNMLEtBQUs7a0JBS0wsS0FBSzswQkFDTCxLQUFLO3dCQUNMLEtBQUs7Z0NBS0wsS0FBSztxQkFDUCxLQUFLOzhCQUNILEtBQUs7K0JBQ0wsS0FBSzs4QkFFTCxLQUFLOzRCQVNMLFNBQVMsU0FBQyxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFOzZCQUNuQyxTQUFTLFNBQUMsY0FBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTt1Q0FDM0MsU0FBUyxTQUFDLHdCQUF3QixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTt5QkFDckQsU0FBUyxTQUFDLGdCQUFnQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTt5QkFDN0MsU0FBUyxTQUFDLFlBQVksRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7dUJBQ3pDLFNBQVMsU0FBQyxVQUFVOzBCQUNwQixTQUFTLFNBQUMsYUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtxQkFDMUMsU0FBUyxTQUFDLFFBQVE7Z0NBQ2xCLFNBQVMsU0FBQyxZQUFZOzBDQUN0QixTQUFTLFNBQUMsWUFBWTtpQ0FDdEIsU0FBUyxTQUFDLGtCQUFrQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtzQkFDL0MsU0FBUyxTQUFDLFNBQVMsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7K0JBTXRDLFlBQVksU0FBQyx5QkFBeUIsRUFBRSxDQUFDLFFBQVEsQ0FBQzt5QkF5SWxELFlBQVksU0FBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBZGRNdWx0aXBsZVJpc2tDb21wb25lbnQgfSBmcm9tICcuLi9hZGQtbXVsdGlwbGUtcmlzay9hZGQtbXVsdGlwbGUtcmlzay5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb25maXJtYXRpb25BbGVydCB9IGZyb20gJy4uL2ludGVyZmFjZXMvY29uZmlybWF0aW9uLWFsZXJ0JztcclxuaW1wb3J0IHsgSXNzdWVDb25maWd1cmF0aW9uIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9pc3N1ZS1kYXRhJztcclxuaW1wb3J0IHsgU25hY2tCYXJTZXJ2aWNlIH0gZnJvbSAnLi4vdWkta2l0L3NuYWNrLWJhci9zbmFjay1iYXIuc2VydmljZSc7XHJcbmltcG9ydCB7IFdvcmtmbG93QXNzZXNzbWVudENvbXBvbmVudCB9IGZyb20gJy4uL3dvcmtmbG93LWFzc2Vzc21lbnQvd29ya2Zsb3ctYXNzZXNzbWVudC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBJbXBvcnRBbkFzc2Vzc21lbnRDb21wb25lbnQgfSBmcm9tICcuLi93b3JrZmxvdy1hc3Nlc3NtZW50L2ltcG9ydC1hbi1hc3Nlc3NtZW50L2ltcG9ydC1hbi1hc3Nlc3NtZW50LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFdvcmtmbG93Q29tcGxpYW5jZUNvbXBvbmVudCB9IGZyb20gJy4uL3dvcmtmbG93LWNvbXBsaWFuY2Uvd29ya2Zsb3ctY29tcGxpYW5jZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBXb3JrZmxvd1BvbGljeUNvbXBvbmVudCB9IGZyb20gJy4uL3dvcmtmbG93LXBvbGljeS93b3JrZmxvdy1wb2xpY3kuY29tcG9uZW50JztcclxuaW1wb3J0IHsgV29ya2Zsb3dSaXNrQ29tcG9uZW50IH0gZnJvbSAnLi4vd29ya2Zsb3ctcmlzay93b3JrZmxvdy1yaXNrLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vd29ya2Zsb3ctc2VydmljZXMvYXV0aC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVWlLaXRTZXJ2aWNlIH0gZnJvbSAnLi4vd29ya2Zsb3ctc2VydmljZXMvdWkta2l0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBMb2dBbklzc3VlQ29tcG9uZW50IH0gZnJvbSAnLi8uLi9sb2ctYW4taXNzdWUvbG9nLWFuLWlzc3VlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1vcmVPcHRpb25Db21wb25lbnQgfSBmcm9tICcuLy4uL21vcmUtb3B0aW9uL21vcmUtb3B0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFdvcmtmbG93UHJvZ3JhbUNvbXBvbmVudCB9IGZyb20gJy4uL3dvcmtmbG93LXByb2dyYW0vd29ya2Zsb3ctcHJvZ3JhbS5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtdmNvbXBseS13b3JrZmxvdy1lbmdpbmUtY29udGFpbmVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vd29ya2Zsb3ctZW5naW5lLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vd29ya2Zsb3ctZW5naW5lLWNvbnRhaW5lci5jb21wb25lbnQubGVzcycsICcuLi9mb3Jtcy5sZXNzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBXb3JrZmxvd0VuZ2luZUNvbnRhaW5lckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XHJcblxyXG4gIGlzSG9zdFJlZnJlc2hBY3RpdmUgPSB0cnVlO1xyXG4gIGlzUkNTZWxlY3RlZCA9IGZhbHNlXHJcbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OmJlZm9yZXVubG9hZCcsIFsnJGV2ZW50J10pXHJcbiAgdW5sb2FkTm90aWZpY2F0aW9uKCRldmVudDogYW55KSB7XHJcbiAgICBjb25zdCB0b2tlbiA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdjdXJyZW50VXNlcicpXHJcbiAgICBpZiAodGhpcy5pc0hvc3RSZWZyZXNoQWN0aXZlICYmIHRva2VuKSB7XHJcbiAgICAgICRldmVudC5yZXR1cm5WYWx1ZSA9IHRydWU7XHJcbiAgICB9XHJcblxyXG5cclxuXHJcblxyXG4gIH1cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgdWlLaXRTZXJ2aWNlOiBVaUtpdFNlcnZpY2UsIHByaXZhdGUgc25hY2tCYXI6IFNuYWNrQmFyU2VydmljZSwgcHVibGljIGF1dGg6IEF1dGhTZXJ2aWNlKSB7XHJcbiAgfVxyXG4gIEBJbnB1dCgpIHdvcmtmbG93VHlwZSA9ICcnO1xyXG4gIEBJbnB1dCgpIG1vZGUgPSAnQ1JFQVRFJztcclxuICBASW5wdXQoKSBpZCA9ICcnO1xyXG4gIEBJbnB1dCgpIG9wZW5lZEZyb20gPSAnR0xPQkFMJztcclxuICBAT3V0cHV0KCkgY2xvc2VXb3JrZmxvdyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBASW5wdXQoKSBhbGxvd2VkV29ya2Zsb3dzOiBhbnkgPSBbXTtcclxuICBASW5wdXQoKSBmcmFtZXdvcmtEZXRhaWxzOiBBcnJheTxhbnk+ID0gW107IC8vIG9ubHkgZm9yIGNvbXBsaWFuY2UgcGFydCBmb3IgZnJhbWV3b3JrXHJcbiAgQElucHV0KCkgc2VsZWN0ZWRSQyA9ICcnO1xyXG4gIEBJbnB1dCgpIHNlY29uZGFyeU9wZW5Qb3J0YWwgPSAnJztcclxuICBASW5wdXQoKSBkZWZhdWx0Umlza1R5cGUgPSAnTk9STUFMJztcclxuICBASW5wdXQoKSBtb3ZlVG9SZWdpc3Rlck1vZGUgPScnO1xyXG4gIEBJbnB1dCgpIHJlcG9uc2liaWxpdHlEYXRhID0geyAvLyBvbmx5IHVzZWQgYnkgbG9nIGFuIGlzc3VlXHJcbiAgICByZXNwb25zaWJpbGl0eUlkOiBudWxsLFxyXG4gICAgcmVzcG9uc2liaWxpdHlOYW1lOiAnJyxcclxuICAgIHJjSWQ6bnVsbFxyXG4gIH07XHJcbiAgQElucHV0KCkgcGlkID0gJyc7XHJcbiAgQElucHV0KCkgcHJvZ3JhbVR5cGU6IG51bWJlciA9IDE7XHJcbiAgQElucHV0KCkgaXNzdWVEYXRhID17XHJcbiAgICBhdWRpdFBsYW5JZCA6IG51bGwsXHJcbiAgICAgIGF1ZGl0UGxhbk5hbWUgIDonJyxcclxuICAgICAgcmNJZDogbnVsbFxyXG4gIH1cclxuICBASW5wdXQoKSBlbnRydXN0QnV0dG9uTmFtZSA9ICdFbnRydXN0J1xyXG5ASW5wdXQoKSBjb25maWcgITogSXNzdWVDb25maWd1cmF0aW9uXHJcbiAgQElucHV0KCkgY29udmVydEZpbGVEYXRhID0ge31cclxuICBASW5wdXQoKSBzZWxlY3RlZENhdGVnb3J5ID0gJydcclxuXHJcbiAgQElucHV0KCkgc2VsZWN0ZWRQcm9ncmFtOiBhbnkgPSBudWxsO1xyXG5cclxuICBhbmltYXRpb24gPSB0cnVlO1xyXG4gIHdvcmtmbG93TGlzdCA9IGZhbHNlO1xyXG4gIHNob3dNb3JlT3B0aW9uID0gdHJ1ZTtcclxuICBpc1dvcmtmbG93U2VsZWN0b3JFbmFibGVkID0gdHJ1ZTtcclxuICBkaXNhYmxlV29ya2Zsb3dDaGFuZ2UhOiBib29sZWFuO1xyXG4gIGNoZWNrcG9pbnRDb3VudDogbnVtYmVyID0gMDtcclxuICBjdXJyZW50QnVzaW5lc3NDeWNsZTphbnkgPSAnJztcclxuICBAVmlld0NoaWxkKCdyaXNrJywgeyBzdGF0aWM6IGZhbHNlIH0pIHJpc2tDb21wb25lbnQhOiBXb3JrZmxvd1Jpc2tDb21wb25lbnQ7XHJcbiAgQFZpZXdDaGlsZCgnbXVsdGlwbGVSaXNrJywgeyBzdGF0aWM6IGZhbHNlIH0pIHJpc2tCdWxrVXBsb2FkITogQWRkTXVsdGlwbGVSaXNrQ29tcG9uZW50O1xyXG4gIEBWaWV3Q2hpbGQoJ211bHRpcGxlUmVzcG9uc2liaWxpdHknLCB7IHN0YXRpYzogZmFsc2UgfSkgcmVzcG9uc2liaWxpdHlCdWxrVXBsb2FkITogQWRkTXVsdGlwbGVSaXNrQ29tcG9uZW50O1xyXG4gIEBWaWV3Q2hpbGQoJ3Jlc3BvbnNpYmlsaXR5JywgeyBzdGF0aWM6IGZhbHNlIH0pIGNvbXBsaWFuY2UhOiBXb3JrZmxvd0NvbXBsaWFuY2VDb21wb25lbnQ7XHJcbiAgQFZpZXdDaGlsZCgnbW9yZU9wdGlvbicsIHsgc3RhdGljOiBmYWxzZSB9KSBtb3JlT3B0aW9uITogTW9yZU9wdGlvbkNvbXBvbmVudDtcclxuICBAVmlld0NoaWxkKCdkcm9wZG93bicpIGRyb3Bkb3duITogRWxlbWVudFJlZjtcclxuICBAVmlld0NoaWxkKCdkcm9wZG93blJvdycsIHsgc3RhdGljOiBmYWxzZSB9KSBkcm9wZG93blJvdyE6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZCgncG9saWN5JykgcG9saWN5ITogV29ya2Zsb3dQb2xpY3lDb21wb25lbnQ7XHJcbiAgQFZpZXdDaGlsZCgnbG9nQW5Jc3N1ZScpIGxvZ0lzc3VlQ29tcG9uZW50ITogTG9nQW5Jc3N1ZUNvbXBvbmVudDtcclxuICBAVmlld0NoaWxkKCdhc3Nlc3NtZW50Jykgd29ya2Zsb3dBc3Nlc3NtZW50Q29tcG9uZW50ITogV29ya2Zsb3dBc3Nlc3NtZW50Q29tcG9uZW50O1xyXG4gIEBWaWV3Q2hpbGQoJ2ltcG9ydEFzc2Vzc21lbnQnLCB7IHN0YXRpYzogZmFsc2UgfSkgaW1wb3J0QW5Bc3Nlc3NtZW50ITogSW1wb3J0QW5Bc3Nlc3NtZW50Q29tcG9uZW50O1xyXG4gIEBWaWV3Q2hpbGQoJ3Byb2dyYW0nLCB7IHN0YXRpYzogZmFsc2UgfSkgcHJvZ3JhbSAhOiBXb3JrZmxvd1Byb2dyYW1Db21wb25lbnQ7XHJcblxyXG4gIGRyb3Bkb3duTGVmdCE6IGFueTtcclxuICBkcm9wZG93blRvcCE6IGFueTtcclxuICBkcm9wZG93bldpZHRoITogYW55O1xyXG5cclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duLmVzY2FwZScsIFsnJGV2ZW50J10pIG9uS2V5ZG93bkhhbmRsZXIoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcclxuICAgIGlmIChbdGhpcy5yaXNrQ29tcG9uZW50Py5zaG93U21pbGV5LFxyXG4gICAgdGhpcy5yaXNrQnVsa1VwbG9hZD8uc2hvd1NtaWxleSxcclxuICAgIHRoaXMucmVzcG9uc2liaWxpdHlCdWxrVXBsb2FkPy5zaG93U21pbGV5LFxyXG4gICAgdGhpcy5jb21wbGlhbmNlPy5zaG93U21pbGV5LFxyXG4gICAgdGhpcy5pbXBvcnRBbkFzc2Vzc21lbnQ/LnNob3dTbWlsZXksXHJcbiAgICB0aGlzLmxvZ0lzc3VlQ29tcG9uZW50Py5zaG93U21pbGV5XS5pbmNsdWRlcyh0cnVlKSkge1xyXG4gICAgICAvL0RvIE5vdGhpbmdcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuY2xvc2VXb3JrZmxvd0VuZ2luZSgpXHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgY3VycmVudFdvcmtmbG93ICE6IGFueTtcclxuICB3b3JrZmxvd1R5cGVMaXN0OiBhbnkgPSBbXHJcbiAgICB7IHdvcmtmbG93TmFtZTogJ0NyZWF0ZSBhIFJlc3BvbnNpYmlsaXR5JywgY29kZTogJ0NBUicsIHBlcm1pc3Npb25JZGVudGlmaWVyOiAnUkVTUE9OU0lCSUxJVFknIH0sXHJcbiAgICB7IHdvcmtmbG93TmFtZTogJ0NyZWF0ZSBNdWx0aXBsZSBSZXNwb25zaWJpbGl0aWVzJywgY29kZTogJ0NNUicsIHBlcm1pc3Npb25JZGVudGlmaWVyOiAnTVVMVElQTEVfUkVTUE9OU0lCSUxJVFknIH0sXHJcbiAgICB7IHdvcmtmbG93TmFtZTogJ0FkZCBhIFJpc2snLCBjb2RlOiAnQUFSJywgcGVybWlzc2lvbklkZW50aWZpZXI6ICdSSVNLJyB9LFxyXG4gICAgeyB3b3JrZmxvd05hbWU6ICdBZGQgTXVsdGlwbGUgUmlza3MnLCBjb2RlOiAnQU1SJywgcGVybWlzc2lvbklkZW50aWZpZXI6ICdNVUxUSVBMRV9SSVNLJyB9LFxyXG4gICAgeyB3b3JrZmxvd05hbWU6ICdDcmVhdGUgYSBQb2xpY3knLCBjb2RlOiAnQ0FQJywgcGVybWlzc2lvbklkZW50aWZpZXI6ICdQT0xJQ1knIH0sXHJcbiAgICB7IHdvcmtmbG93TmFtZTogJ0NyZWF0ZSBhIFN1cnZleScsIGNvZGU6ICdDQVMnLCBwZXJtaXNzaW9uSWRlbnRpZmllcjogJ1NVUlZFWScgfSxcclxuICAgIHsgd29ya2Zsb3dOYW1lOiAnQ3JlYXRlIGEgRm9ybScsIGNvZGU6ICdDQUYnLCBwZXJtaXNzaW9uSWRlbnRpZmllcjogJ0ZPUk0nIH0sXHJcbiAgICB7IHdvcmtmbG93TmFtZTogJ0xvZyBhbiBJc3N1ZScsIGNvZGU6ICdMQUknLCBwZXJtaXNzaW9uSWRlbnRpZmllcjogJ0lTU1VFJyB9LFxyXG4gICAgeyB3b3JrZmxvd05hbWU6ICdDcmVhdGUgYW4gQXNzZXNzbWVudCcsIGNvZGU6ICdBQUEnLCBwZXJtaXNzaW9uSWRlbnRpZmllcjogJ0FTU0VTU01FTlQnIH0sXHJcbiAgICB7IHdvcmtmbG93TmFtZTogJ0ltcG9ydCBhbiBBc3Nlc3NtZW50JywgY29kZTogJ0lBQScsIHBlcm1pc3Npb25JZGVudGlmaWVyOiAnSU1QT1JUX0FTU0VTU01FTlQnIH0sXHJcbiAgICB7IHdvcmtmbG93TmFtZTogJ0FkZCBhIFByb2dyYW0nLCBjb2RlOiAnQ0FQUicsIHBlcm1pc3Npb25JZGVudGlmaWVyOiAnUFJPR1JBTScgfVxyXG4gIF07XHJcbiAgYWRkaXRpb25hbEluZm9ybWF0aW9uTGlzdCA9IFtcclxuICAgICdPYmplY3RpdmUnLFxyXG4gICAgJ1Jlc3BvbnNpYmlsaXR5IENlbnRlcicsXHJcbiAgICAnUmVzcG9uc2liaWxpdHkgQ2F0ZWdvcnknXHJcbiAgXTtcclxuICBjb25maXJtYXRpb25BbGVydENvbmZpZzogQ29uZmlybWF0aW9uQWxlcnQgPSB7IGlzVmlzaWJsZTogZmFsc2UgfTtcclxuICBjbG9zZVdvcmtmbG93RW5naW5lKGV2dD86IGFueSkge1xyXG4gICAgaWYgKGV2dD8uY29uZmlybSA9PT0gZmFsc2UpIHtcclxuICAgICAgdGhpcy5jbG9zZVdvcmtmbG93LmVtaXQoZXZ0ID8gZXZ0LmV2dCA6IGV2dCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmNsb3NlQ29uZmlybShldnQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2xvc2VDb25maXJtKGV2dDogYW55KSB7XHJcbiAgICB0aGlzLmNvbmZpcm1hdGlvbkFsZXJ0Q29uZmlnID0geyBpc1Zpc2libGU6IHRydWUsIG1lc3NhZ2U6ICdJZiB5b3UgbmF2aWdhdGUgYXdheSwgYW55IHVuc2F2ZWQgY2hhbmdlcyB3aWxsIGJlIGxvc3QuJywgYWN0aW9uOiAnV09SS0ZMT1dfQ0xPU0UnLCBkYXRhOiBldnQgfTtcclxuICB9XHJcbiAgZXhlY3V0ZUNsb3NlKGV2dDogYW55KSB7XHJcbiAgICBpZiAoZXZ0LmFjdGlvbiA9PT0gJ1lFUycpIHtcclxuICAgICAgdGhpcy5jbG9zZVdvcmtmbG93LmVtaXQoKVxyXG4gICAgfVxyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2V0TmV0d29ya0xpc3RuZXIoKTtcclxuICAgIHRoaXMuc2V0V29ya2Zsb3codGhpcy53b3JrZmxvd1R5cGUsIHRoaXMud29ya2Zsb3dUeXBlTGlzdCk7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5hbmltYXRpb24gPSBmYWxzZTtcclxuICAgIH0sIDUwMCk7XHJcbiAgICB0aGlzLnNldFdvcmtmbG93KHRoaXMud29ya2Zsb3dUeXBlLCB0aGlzLndvcmtmbG93VHlwZUxpc3QpO1xyXG4gICAgdGhpcy5kZWNpZGVWaWV3TW9yZU9wdGlvbigpO1xyXG4gICAgdGhpcy5mZXRjaE9yZ2FuaXphdGlvbkRldGFpbHMoKTtcclxuICB9XHJcblxyXG4gIHNldE5ldHdvcmtMaXN0bmVyKCkge1xyXG4gICAgYWRkRXZlbnRMaXN0ZW5lcignb2ZmbGluZScsIChlKSA9PiB7XHJcbiAgICAgIHRoaXMuc25hY2tCYXIuc2hvdygnQ29ubmVjdGlvbiBsb3N0ITxicj5DaGVjayB5b3VyIG5ldHdvcmsgY29ubmVjdGl2aXR5LicpXHJcbiAgICB9KTtcclxuICAgIGFkZEV2ZW50TGlzdGVuZXIoJ29ubGluZScsIChlKSA9PiB7XHJcbiAgICAgIHRoaXMuc25hY2tCYXIuc2hvdygnWW91XFwncmUgYmFjayBvbmxpbmUhJylcclxuICAgIH0pO1xyXG4gIH1cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLndvcmtmbG93VHlwZUxpc3QgPSB0aGlzLndvcmtmbG93VHlwZUxpc3QuZmlsdGVyKCh3b3JrZmxvdzogYW55KSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLmFsbG93ZWRXb3JrZmxvd3MuaW5jbHVkZXMod29ya2Zsb3cucGVybWlzc2lvbklkZW50aWZpZXIpKSB7XHJcbiAgICAgICAgcmV0dXJuIHdvcmtmbG93O1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIGlmICh0aGlzLm9wZW5lZEZyb20gPT09ICdSSVNLX1RSRUFUTUVOVCcpIHtcclxuICAgICAgdGhpcy5pc1dvcmtmbG93U2VsZWN0b3JFbmFibGVkID0gdHJ1ZTtcclxuICAgICAgdGhpcy5kaXNhYmxlV29ya2Zsb3dDaGFuZ2UgPSB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZGVjaWRlVmlld01vcmVPcHRpb24odHlwZT86IGJvb2xlYW4pIHtcclxuICAgIGlmICgodGhpcy5jdXJyZW50V29ya2Zsb3cuY29kZSA9PT0gJ0NNUicgfHwgdGhpcy5jdXJyZW50V29ya2Zsb3cuY29kZSA9PT0gJ0FNUicgfHwgdGhpcy5jdXJyZW50V29ya2Zsb3cuY29kZSA9PT0gJ0FBQScgfHwgdGhpcy5jdXJyZW50V29ya2Zsb3cuY29kZSA9PT0gJ0lBQScpKSB7XHJcbiAgICAgIHRoaXMuc2hvd01vcmVPcHRpb24gPSBmYWxzZTtcclxuICAgICAgaWYgKHR5cGUgPT09IHRydWUpIHtcclxuICAgICAgICB0aGlzLmlzV29ya2Zsb3dTZWxlY3RvckVuYWJsZWQgPSBmYWxzZTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmlzV29ya2Zsb3dTZWxlY3RvckVuYWJsZWQgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG5cclxuICAgICAgaWYgKHR5cGUgPT09IHRydWUpIHsgdGhpcy5zaG93TW9yZU9wdGlvbiA9IGZhbHNlOyB0aGlzLmlzV29ya2Zsb3dTZWxlY3RvckVuYWJsZWQgPSBmYWxzZTsgfVxyXG4gICAgICBpZiAodHlwZSA9PT0gZmFsc2UpIHsgdGhpcy5zaG93TW9yZU9wdGlvbiA9IHRydWU7IHRoaXMuaXNXb3JrZmxvd1NlbGVjdG9yRW5hYmxlZCA9IHRydWU7IH1cclxuICAgICAgaWYgKHR5cGUgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIHRoaXMuc2hvd01vcmVPcHRpb24gPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuaXNXb3JrZmxvd1NlbGVjdG9yRW5hYmxlZCA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN1Ym1pdCgpIHtcclxuICAgIHN3aXRjaCAodGhpcy5jdXJyZW50V29ya2Zsb3c/LmNvZGUpIHtcclxuICAgICAgY2FzZSAnQUFSJzpcclxuICAgICAgICB0aGlzLnJpc2tDb21wb25lbnQuc3VibWl0UmlzaygpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdMQUknOlxyXG4gICAgICAgIHRoaXMubG9nSXNzdWVDb21wb25lbnQuYWRkSXNzdWUoKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnQ0FSJzpcclxuICAgICAgICB0aGlzLmNvbXBsaWFuY2Uuc3VibWl0UmVzcG9uc2liaWxpdHkoKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnQ0FQJzpcclxuICAgICAgICB0aGlzLnBvbGljeS5zdWJtaXRQb2xpY3koKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnQUFBJzpcclxuICAgICAgICB0aGlzLndvcmtmbG93QXNzZXNzbWVudENvbXBvbmVudC5zdWJtaXRBc3Nlc3NtZW50KCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ0NBUFInOntcclxuICAgICAgICB0aGlzLnByb2dyYW0uc2F2ZVByb2dyYW0oKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgICAvLyBjYXNlICdJQUEnOlxyXG4gICAgICAvLyAgIHRoaXMuaW1wb3J0QW5Bc3Nlc3NtZW50LnN1Ym1pdEFzc2Vzc21lbnQoKTtcclxuXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBlZGl0V29ya2Zsb3coKSB7XHJcbiAgICB0aGlzLndvcmtmbG93TGlzdCA9ICF0aGlzLndvcmtmbG93TGlzdDtcclxuICAgIGNvbnN0IGRyb3Bkb3duID0gdGhpcy5kcm9wZG93bi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgdGhpcy5kcm9wZG93bkxlZnQgPSBkcm9wZG93bi5sZWZ0O1xyXG4gICAgdGhpcy5kcm9wZG93blRvcCA9IGRyb3Bkb3duLnRvcCArIGRyb3Bkb3duLmhlaWdodDtcclxuICAgIHRoaXMuZHJvcGRvd25XaWR0aCA9IGRyb3Bkb3duLndpZHRoO1xyXG4gIH1cclxuICBjbG9zZVdvcmtmbG93TGlzdCgpIHtcclxuICAgIHRoaXMud29ya2Zsb3dMaXN0ID0gZmFsc2U7XHJcbiAgfVxyXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnLCBbJyRldmVudCddKVxyXG4gIHNpemVDaGFuZ2UoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy53b3JrZmxvd0xpc3QgPSBmYWxzZTtcclxuICB9XHJcbiAgY2hhbmdlV29ya2Zsb3coZXZ0OiBhbnksIHNlbGVjdGVkV29ya2Zsb3c6IGFueSkge1xyXG4gICAgaWYgKHNlbGVjdGVkV29ya2Zsb3cuY29kZSA9PT0gdGhpcy5jdXJyZW50V29ya2Zsb3cuY29kZSkgeyByZXR1cm47IH1cclxuICAgIHRoaXMuY29uZmlybWF0aW9uQWxlcnRDb25maWcgPSB7IGlzVmlzaWJsZTogdHJ1ZSwgbWVzc2FnZTogJ0lmIHlvdSBjaGFuZ2UgdGhlIHdvcmtmbG93LCBhbnkgdW5zYXZlZCBjaGFuZ2VzIHdvdWxkIGJlIGxvc3QuJywgYWN0aW9uOiAnV09SS0ZMT1dfQ0hBTkdFJywgZGF0YTogc2VsZWN0ZWRXb3JrZmxvdyB9O1xyXG4gIH1cclxuXHJcbiAgY29uZmlybVdvcmtmbG93Q2hhbmdlKGV2dDogYW55KSB7XHJcbiAgICBpZiAoZXZ0LmFjdGlvbiA9PT0gJ1lFUycpIHtcclxuXHJcbiAgICAgIHN3aXRjaCAoZXZ0LnBheWxvYWQuYWN0aW9uKSB7XHJcbiAgICAgICAgY2FzZSAnV09SS0ZMT1dfQ0hBTkdFJzpcclxuICAgICAgICAgIHRoaXMuY3VycmVudFdvcmtmbG93ID0gZXZ0Py5wYXlsb2FkPy5kYXRhID8/IG51bGw7XHJcblxyXG4gICAgICAgICAgaWYgKHRoaXMuY3VycmVudFdvcmtmbG93Py5jb2RlKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLm1vcmVPcHRpb24pIHtcclxuICAgICAgICAgICAgICB0aGlzLm1vcmVPcHRpb24ucmVzZXRBbGwodGhpcy5jdXJyZW50V29ya2Zsb3c/LmNvZGUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAnRURJVF9SSVNLJzpcclxuICAgICAgICAgIHRoaXMucmlza0NvbXBvbmVudC5jcmVhdGVSaXNrKHRoaXMucmlza0NvbXBvbmVudC5yaXNrRm9ybSk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdQT0xJQ1lfUE9SVEFMJzpcclxuICAgICAgICAgIHRoaXMucG9saWN5LmNvbmZpcm1Qb2xpY3lQb3J0YWwoZXZ0LmFjdGlvbik7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdXT1JLRkxPV19DTE9TRSc6XHJcbiAgICAgICAgICB0aGlzLmNsb3NlV29ya2Zsb3cuZW1pdChldnQ/LnBheWxvYWQ/LmRhdGEpXHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdjaGVja3BvaW50JzpcclxuICAgICAgICAgIHRoaXMubW9yZU9wdGlvbi5tb3JlT3B0aW9uc0xpc3QuQ0FSLmZvckVhY2goKG9wdGlvbjogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChvcHRpb24uY29kZSA9PT0gJ0FTU0VTU01FTlQnIHx8IG9wdGlvbi5jb2RlID09PSAnQ0hFQ0tQT0lOVFNfTkVXJykge1xyXG4gICAgICAgICAgICAgIG9wdGlvbi5pc0Rpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmIChvcHRpb24uY29kZSA9PT0gJ0NIRUNLUE9JTlRTJykge1xyXG4gICAgICAgICAgICAgIG9wdGlvbi5pc0Rpc2FibGVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgIHRoaXMuY29tcGxpYW5jZS5yZW1vdmVDaGVja3BvaW50KCk7XHJcbiAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgY2FzZSAnUk9MRSc6XHJcbiAgICAgICAgICB0aGlzLnByb2dyYW0ucmVtb3ZlKGV2dC5wYXlsb2FkLmRhdGEsICdST0xFJylcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgY2FzZSAnbmV3LWNoZWNrcG9pbnRzJzpcclxuICAgICAgICB0aGlzLm1vcmVPcHRpb24ubW9yZU9wdGlvbnNMaXN0LkNBUi5mb3JFYWNoKChvcHRpb246IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKG9wdGlvbi5jb2RlID09PSAnQVNTRVNTTUVOVCcgJiYgIWV2dC5wYXlsb2FkLmlzRGF0YVJlbW92ZWQpIHtcclxuICAgICAgICAgICAgb3B0aW9uLmlzRGlzYWJsZWQgPSBmYWxzZTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBpZiAob3B0aW9uLmNvZGUgPT09ICdDSEVDS1BPSU5UUycgJiYgIWV2dC5wYXlsb2FkLmlzRGF0YVJlbW92ZWQpIHtcclxuICAgICAgICAgICAgb3B0aW9uLmlzRGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYoZXZ0LnBheWxvYWQuaXNDaGVja3BvaW50Q2hlY2tlZCAmJiBvcHRpb24uY29kZSA9PT0gJ0NIRUNLUE9JTlRTX05FVycpIHtcclxuICAgICAgICAgICAgICBvcHRpb24uY2hlY2tlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgIHRoaXMuY29tcGxpYW5jZS5tb3JlT3B0aW9ucy5DSEVDS1BPSU5UU19ORVcgPSBmYWxzZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5jb21wbGlhbmNlLnJlbW92ZSgnbmV3LWNoZWNrcG9pbnRzJylcclxuXHJcbiAgICAgIH1cclxuXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBzd2l0Y2ggKGV2dC5wYXlsb2FkLmFjdGlvbikge1xyXG4gICAgICAgIGNhc2UgJ1BPTElDWV9QT1JUQUwnOlxyXG4gICAgICAgICAgdGhpcy5wb2xpY3kuY29uZmlybVBvbGljeVBvcnRhbChldnQuYWN0aW9uKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLmNvbmZpcm1hdGlvbkFsZXJ0Q29uZmlnID0geyBpc1Zpc2libGU6IGZhbHNlLCBtZXNzYWdlOiAnJywgYWN0aW9uOiAnJywgZGF0YTogbnVsbCB9O1xyXG4gICAgdGhpcy5kZWNpZGVWaWV3TW9yZU9wdGlvbigpO1xyXG4gICAgcmV0dXJuIGV2dDtcclxuICB9XHJcblxyXG4gIHNldFdvcmtmbG93KHdvcmtGbG93Q29kZTogYW55LCB3b3JrRmxvd0xpc3Q6IGFueSkge1xyXG4gICAgY29uc3Qgc2VsZWN0ZWRXb3JrZmxvdyA9IHdvcmtGbG93TGlzdC5maW5kKChlbGVtZW50OiBhbnkpID0+IGVsZW1lbnQuY29kZSA9PT0gd29ya0Zsb3dDb2RlKTtcclxuICAgIHNlbGVjdGVkV29ya2Zsb3cgPyB0aGlzLmN1cnJlbnRXb3JrZmxvdyA9IHNlbGVjdGVkV29ya2Zsb3cgOiB0aGlzLmN1cnJlbnRXb3JrZmxvdyA9IG51bGw7XHJcbiAgICByZXR1cm4gc2VsZWN0ZWRXb3JrZmxvdztcclxuICB9XHJcblxyXG4gIGFkZE1vcmVJbmZvKGV2ZW50OiBhbnkpIHtcclxuICAgIHN3aXRjaCAodGhpcy5jdXJyZW50V29ya2Zsb3c/LmNvZGUpIHtcclxuICAgICAgY2FzZSAnQUFSJzpcclxuICAgICAgICB0aGlzLnJpc2tDb21wb25lbnQuYWRkTW9yZUluZm8oZXZlbnQpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdMQUknOlxyXG4gICAgICAgIHRoaXMubG9nSXNzdWVDb21wb25lbnQuYWRkTW9yZUluZm8oZXZlbnQpO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSAnQ0FSJzpcclxuICAgICAgICBpZiAoZXZlbnQuY29kZSA9PT0gXCJDSEVDS1BPSU5UU1wiKSB7XHJcbiAgICAgICAgICB0aGlzLm9uUmVtb3ZpbmdDaGVja3BvaW50KCdjaGVja3BvaW50Jyk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYoZXZlbnQuY29kZSA9PT0gJ0NIRUNLUE9JTlRTX05FVycpe1xyXG4gICAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLm1vcmVPcHRpb24ubW9yZU9wdGlvbnNMaXN0LkNBUi5maW5kSW5kZXgoKGVsZTogYW55KSA9PiBlbGUuY29kZSA9PT0gJ0FTU0VTU01FTlQnKTtcclxuICAgICAgICAgIHRoaXMubW9yZU9wdGlvbi5tb3JlT3B0aW9uc0xpc3QuQ0FSW2luZGV4XS5pc0Rpc2FibGVkID0gZXZlbnQuY2hlY2tlZCA/IHRydWUgOiBmYWxzZTtcclxuICAgICAgICAgIGlmKCBldmVudC5jaGVja3BvaW50X25ldyAmJiB0aGlzLmNoZWNrcG9pbnRDb3VudCkge1xyXG4gICAgICAgICAgICB0aGlzLm9uUmVtb3ZpbmdDaGVja3BvaW50KCduZXctY2hlY2twb2ludHMnLCB0cnVlKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGNvbnN0IENIRUNLUE9JTlRfSU5ERVggPSB0aGlzLm1vcmVPcHRpb24ubW9yZU9wdGlvbnNMaXN0LkNBUi5maW5kSW5kZXgoKGVsZTogYW55KSA9PiBlbGUuY29kZSA9PT0gJ0NIRUNLUE9JTlRTX05FVycpO1xyXG4gICAgICAgICAgICB0aGlzLmNvbXBsaWFuY2UubW9yZU9wdGlvbnMuQ0hFQ0tQT0lOVFNfTkVXID0gZXZlbnQuY2hlY2tlZDtcclxuICAgICAgICAgICAgaWYoZXZlbnQuY2hlY2twb2ludF9uZXcpIHtcclxuICAgICAgICAgICAgICBjb25zdCBpc0NoZWNrZWQgPSBldmVudC5jaGVja2VkID8gZmFsc2UgOiB0cnVlO1xyXG4gICAgICAgICAgICAgICBldmVudC5jaGVja2VkID0gaXNDaGVja2VkO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB0aGlzLm1vcmVPcHRpb24ubW9yZU9wdGlvbnNMaXN0LkNBUltDSEVDS1BPSU5UX0lOREVYXSA9IGV2ZW50O1xyXG4gICAgICAgICAgICB0aGlzLm1vcmVPcHRpb24ubW9yZU9wdGlvbnNMaXN0LkNBUltpbmRleF0uaXNEaXNhYmxlZCA9IGV2ZW50LmNoZWNrZWRcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYoZXZlbnQuY29kZSA9PT0gJ0FTU0VTU01FTlQnKXtcclxuICAgICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5tb3JlT3B0aW9uLm1vcmVPcHRpb25zTGlzdC5DQVIuZmluZEluZGV4KChlbGU6IGFueSkgPT4gZWxlLmNvZGUgPT09ICdDSEVDS1BPSU5UU19ORVcnKTtcclxuICAgICAgICAgIHRoaXMubW9yZU9wdGlvbi5tb3JlT3B0aW9uc0xpc3QuQ0FSW2luZGV4XS5pc0Rpc2FibGVkID0gZXZlbnQuY2hlY2tlZDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5jb21wbGlhbmNlLmFkZE1vcmVJbmZvKGV2ZW50KTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnQ0FQJzpcclxuICAgICAgICB0aGlzLnBvbGljeS5hZGRNb3JlSW5mbyhldmVudCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ0NBUFInOlxyXG4gICAgICAgIHRoaXMucHJvZ3JhbS5hZGRNb3JlSW5mbyhldmVudCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwb3B1bGF0ZU1vcmVPcHRpb24oZXZlbnQ6IGFueSkge1xyXG4gICAgaWYgKHRoaXMubW9yZU9wdGlvbikge1xyXG4gICAgICB0aGlzLm1vcmVPcHRpb24ucG9wdWxhdGUoZXZlbnQpO1xyXG4gICAgfVxyXG5cclxuICB9XHJcbiAgaGlkZUVsZW1lbnRzRnJvbU1vcmVPcHRpb25zKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMubW9yZU9wdGlvbi5oaWRlRWxlbWVudHMoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgc2hvd0NvbmZpcm1hdGlvblBvcHVwKGNvbmZpZzogQ29uZmlybWF0aW9uQWxlcnQpIHtcclxuICAgIHRoaXMuY29uZmlybWF0aW9uQWxlcnRDb25maWcgPSBjb25maWc7XHJcbiAgfVxyXG5cclxuICBidWxrVXBsb2FkQnJvd3NlKGV2ZW50OiBhbnkpIHtcclxuICAgIHN3aXRjaCAoZXZlbnQpIHtcclxuICAgICAgY2FzZSAnQU1SJzpcclxuICAgICAgICB0aGlzLnJpc2tCdWxrVXBsb2FkLnRyaWdnZXJCcm93c2VGaWxlKCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ0NNUic6XHJcbiAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0eUJ1bGtVcGxvYWQudHJpZ2dlckJyb3dzZUZpbGUoKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnSUFBJzpcclxuICAgICAgICB0aGlzLmltcG9ydEFuQXNzZXNzbWVudC50cmlnZ2VyQnJvd3NlRmlsZSgpO1xyXG5cclxuXHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgb25SZXNldEZvcm0oKSB7XHJcbiAgICB0aGlzLm1vZGUgPSAnQ1JFQVRFJztcclxuICAgIHRoaXMuZW50cnVzdEJ1dHRvbk5hbWUgPSAnRW50cnVzdCc7XHJcbiAgfVxyXG4gIHNoaWZ0VG9FZGl0TW9kZSgpIHtcclxuICAgIHRoaXMubW9kZSA9ICdFRElUJ1xyXG4gIH1cclxuICBzY3JvbGxGb3JtKCkge1xyXG4gICAgaWYgKHRoaXMuZHJvcGRvd25Sb3cubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3AgPCAzOCkge1xyXG4gICAgICB0aGlzLmRyb3Bkb3duUm93Lm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnaGlkZScpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5kcm9wZG93blJvdy5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ2hpZGUnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqXHJcbiAgICogQHBhcmFtIGV2ZW50IHdoaWNoIG1vcmUgb3B0aW9ucyB3ZSBhcmUgcmVtb3ZpbmcuXHJcbiAgICogQHBhcmFtIGlzQ2hlY2twb2ludENoZWNrZWQgIGlzIHRydWUgaWYgdmFsdWUgY2hlY2twb2ludHMgaXMgcmVtb3ZlZCBieSBjbGlja2luZyBvbiBtb3JlIG9wdGlvbnNcclxuICAgKi9cclxuICBvblJlbW92aW5nQ2hlY2twb2ludChldmVudDogc3RyaW5nLCBpc0NoZWNrcG9pbnRDaGVja2VkPzogYm9vbGVhbiwgaXNEYXRhUmVtb3ZlZD86IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIGxldCBtc2cgPSAnJztcclxuICAgIGlmKGV2ZW50ID09PSAnbmV3LWNoZWNrcG9pbnRzJykge1xyXG4gICAgICBtc2cgPSAnSWYgeW91IGNob29zZSB0byByZW1vdmUgdGhlc2UgQ2hlY2twb2ludHMsIHRoZXkgd2lsbCBiZSBkZWxldGVkIGFuZCBjYW5ub3QgYmUgcmVzdG9yZWQuIEhvd2V2ZXIsIHlvdSB3aWxsIHN0aWxsIGJlIGFibGUgdG8gY3JlYXRlIG5ldyBDaGVja3BvaW50cyBvciBsaW5rIGFuIEFzc2Vzc21lbnQuJ1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgbXNnID0gJ0lmIHlvdSBjaG9vc2UgdG8gcmVtb3ZlIHRoZXNlIGNoZWNrcG9pbnRzLCB0aGV5IHdpbGwgYmUgZGVsZXRlZCBhbmQgY2Fubm90IGJlIHJlc3RvcmVkLidcclxuICAgIH1cclxuICAgIHRoaXMuY29uZmlybWF0aW9uQWxlcnRDb25maWcgPSB7IGlzVmlzaWJsZTogdHJ1ZSwgbWVzc2FnZTogbXNnLCBhY3Rpb246IGV2ZW50LCBkYXRhOiB7IHR5cGU6ICdyZXNwb25zaWJpbGl0eUNoZWNrcG9pbnQnIH0gLCBpc0NoZWNrcG9pbnRDaGVja2VkOiAoaXNDaGVja3BvaW50Q2hlY2tlZCA/PyBmYWxzZSksIGlzRGF0YVJlbW92ZWQ6IChpc0RhdGFSZW1vdmVkID8/IGZhbHNlKX07XHJcbiAgfVxyXG5cclxuICBvblJlbW92aW5nUm9sZShldmVudDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBsZXQgbXNnID0gJyc7XHJcbiAgICBpZihldmVudCkge1xyXG4gICAgICBtc2cgPSAnSWYgeW91IGNoYW5nZSB0aGUgcm9sZXMsIGFueSB1bnNhdmVkIGNoYW5nZXMgd291bGQgYmUgbG9zdC4nXHJcbiAgICB9XHJcbiAgICB0aGlzLmNvbmZpcm1hdGlvbkFsZXJ0Q29uZmlnID0geyBpc1Zpc2libGU6IHRydWUsIG1lc3NhZ2U6IG1zZywgYWN0aW9uOiAnUk9MRScsIGRhdGE6IGV2ZW50fVxyXG4gIH1cclxuXHJcbiAgaXNBc3Nlc3NtZW50RGlzYWJsZWQoaXNEaXNhYmxlZDogYm9vbGVhbikge1xyXG4gICAgdGhpcy5tb3JlT3B0aW9uLm1vcmVPcHRpb25zTGlzdC5DQVIuZm9yRWFjaCgob3B0aW9uOiBhbnkpID0+IHtcclxuICAgICAgaWYgKG9wdGlvbi5jb2RlID09PSAnQVNTRVNTTUVOVCcgfHwgb3B0aW9uLmNvZGUgPT09ICdDSEVDS1BPSU5UU19ORVcnKSB7XHJcbiAgICAgICAgb3B0aW9uLmlzRGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9uQ2hlY2twb2ludFNlbGVjdGlvbihldmVudDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLmNoZWNrcG9pbnRDb3VudCA9IGV2ZW50O1xyXG5cclxuICB9XHJcblxyXG4gIG9uUmNTZWxlY3RlZChpc1JjU2VsZWN0ZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuaXNSQ1NlbGVjdGVkID0gaXNSY1NlbGVjdGVkO1xyXG4gIH1cclxuXHJcbiAgZmV0Y2hPcmdhbml6YXRpb25EZXRhaWxzKCl7XHJcbiAgICB0aGlzLmF1dGguZ2V0T3JnYW5pemF0aW9uRGV0YWlscygpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6KHJlczphbnkpPT57XHJcbiAgICAgICAgaWYocmVzPy5idXNpbmVzc19jeWNsZXNfYXJyICYmIHJlcz8uYnVzaW5lc3NfY3ljbGVzX2Fycj8ubGVuZ3RoKXtcclxuICAgICAgICAgIGNvbnN0IHNlbGVjdGVkID0gcmVzPy5idXNpbmVzc19jeWNsZXNfYXJyLmZpbHRlcigoZWxlOmFueSkgPT4gZWxlPy5zZWxlY3RlZCk7XHJcbiAgICAgICAgICBjb25zdCBzcGxpdHRlZCA9IHNlbGVjdGVkWzBdLmJ1c2luZXNzX2N5Y2xlPy5zcGxpdCgnLScpO1xyXG4gICAgICAgICB0aGlzLmN1cnJlbnRCdXNpbmVzc0N5Y2xlID0gYCR7c3BsaXR0ZWRbMF0/LnNsaWNlKDIpfSAtICR7c3BsaXR0ZWRbMV0/LnNsaWNlKDQpfWBcclxuICAgICAgICB9fVxyXG4gICAgfSlcclxuICB9XHJcblxyXG59XHJcblxyXG4iXX0=
@@ -279,7 +279,7 @@ function View_WorkflowEngineContainerComponent_26(_l) { return i2.ɵvid(0, [(_l(
279
279
  function View_WorkflowEngineContainerComponent_27(_l) { return i2.ɵvid(0, [(_l()(), i2.ɵeld(0, 0, null, null, 1, "button", [["class", "submit"]], [[2, "disabled", null]], [[null, "click"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if (("click" === en)) {
280
280
  var pd_0 = (_co.submit("CAPR") !== false);
281
281
  ad = (pd_0 && ad);
282
- } return ad; }, null, null)), (_l()(), i2.ɵted(-1, null, ["Save"]))], null, function (_ck, _v) { var _co = _v.component; var currVal_0 = ((!_co.isWorkflowSelectorEnabled || !((_co.program == null) ? null : _co.program.valid)) || !_co.program.formValid); _ck(_v, 0, 0, currVal_0); }); }
282
+ } return ad; }, null, null)), (_l()(), i2.ɵted(-1, null, ["Save"]))], null, function (_ck, _v) { var _co = _v.component; var currVal_0 = (!_co.isWorkflowSelectorEnabled || !((_co.program == null) ? null : _co.program.valid)); _ck(_v, 0, 0, currVal_0); }); }
283
283
  function View_WorkflowEngineContainerComponent_29(_l) { return i2.ɵvid(0, [(_l()(), i2.ɵeld(0, 0, null, null, 3, "li", [], null, [[null, "click"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if (("click" === en)) {
284
284
  var pd_0 = (_co.changeWorkflow($event, _v.context.$implicit) !== false);
285
285
  ad = (pd_0 && ad);
@@ -330,4 +330,4 @@ export function View_WorkflowEngineContainerComponent_Host_0(_l) { return i2.ɵv
330
330
  } return ad; }, View_WorkflowEngineContainerComponent_0, RenderType_WorkflowEngineContainerComponent)), i2.ɵdid(1, 4308992, null, 0, i47.WorkflowEngineContainerComponent, [i11.UiKitService, i12.SnackBarService, i8.AuthService], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }
331
331
  var WorkflowEngineContainerComponentNgFactory = i2.ɵccf("app-vcomply-workflow-engine-container", i47.WorkflowEngineContainerComponent, View_WorkflowEngineContainerComponent_Host_0, { workflowType: "workflowType", mode: "mode", id: "id", openedFrom: "openedFrom", allowedWorkflows: "allowedWorkflows", frameworkDetails: "frameworkDetails", selectedRC: "selectedRC", secondaryOpenPortal: "secondaryOpenPortal", defaultRiskType: "defaultRiskType", moveToRegisterMode: "moveToRegisterMode", reponsibilityData: "reponsibilityData", pid: "pid", programType: "programType", issueData: "issueData", entrustButtonName: "entrustButtonName", config: "config", convertFileData: "convertFileData", selectedCategory: "selectedCategory", selectedProgram: "selectedProgram" }, { closeWorkflow: "closeWorkflow" }, []);
332
332
  export { WorkflowEngineContainerComponentNgFactory as WorkflowEngineContainerComponentNgFactory };
333
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3ctZW5naW5lLWNvbnRhaW5lci5jb21wb25lbnQubmdmYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvd29ya2Zsb3ctZW5naW5lLWNvbnRhaW5lci93b3JrZmxvdy1lbmdpbmUtY29udGFpbmVyLmNvbXBvbmVudC5uZ2ZhY3RvcnkudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi93b3JrZmxvdy1lbmdpbmUtY29udGFpbmVyL3dvcmtmbG93LWVuZ2luZS1jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzJFQ1VRLDBLQUtNLEtBSEYscUpBRWtCLFlBRGQ7O3dCQUFzQztNQUQxQyxpVkFFa0IsbURBRlcsbUJBQXdDLHVCQUErRCxtQkFBeUIsYUFBdEYsb0NBQTZCLEdBQUUsbUJBQTZCLGVBQW5JLFlBRWtCLEVBRlcsU0FBd0MsRUFBK0QsU0FBeUIsRUFBdEYsU0FBNkIsRUFBRSxTQUE2QixtREFGbEUscUZBQWtFLCtCQUNuSSxtRUFBcUQscUNBQUMsd0RBQTBDLHlCQURwRyxZQUtNLEVBTCtELFNBQWtFLEVBQ25JLFNBQXFELEVBQUMsU0FBMEM7MkVBcUJoRixtSkFFTSxZQUZ1Qzs7d0JBQXdCO01BQXJFLHdCQUVNLEtBREYsc0pBQTREOzJFQU81RCx3S0FBNkgsWUFBMUY7O3dCQUF3QjtNQUEzRCx3QkFBNkgsS0FBM0MsNEZBQTZCLEtBQVosbUNBQVEsTUFBSSxrQ0FBSzsyRUFMeEgsNkdBTU0sS0FKRix1R0FFTSxLQURGLGlIQUFvRixLQUF4QyxnQ0FBaUMsTUFFakYsZ01BQTZILGlEQUFqRSxvQkFBcUIsZUFBakYsWUFBNkgsRUFBakUsU0FB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QUhwTSxhQUtTLEVBSkwsU0FBbUYsRUFDbkYsU0FDZ00sR0FVaE0sb0VBQXFELHFDQUNyRCx5VUFBK0ssK0JBRm5MLGFBaUdNLEVBaEdGLFVBQXFELEVBQ3JELFVBQStLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgaTAgZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pMC5Db21wb25lbnRGYWN0b3J5O1xuIiwiPGFwcC1zbmFjay1iYXI+PC9hcHAtc25hY2stYmFyPlxyXG48ZGl2IGNsYXNzPVwid29ya2Zsb3ctZW5naW5lLW92ZXJsYXlcIj48L2Rpdj5cclxuPGRpdiBjbGFzcz1cIndvcmtmbG93LWVuZ2luZVwiIFtjbGFzcy5hbmltYXRlXT1cImFuaW1hdGlvblwiIFtjbGFzcy5iZ109XCIoIWlzV29ya2Zsb3dTZWxlY3RvckVuYWJsZWQgfHwgcmlza0J1bGtVcGxvYWQ/LnNob3dDYXRlZ29yeUxpc3QpICYmICghcG9saWN5Py5zaG93Q3JlYXRlRG9jdW1lbnRzKVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIndvcmtmbG93LWVuZ2luZS1jb250YWluZXJcIiBbbmdTd2l0Y2hdPVwiY3VycmVudFdvcmtmbG93Py5jb2RlXCIgW2NsYXNzLndpdGgtcHJldmlldy1hc3Nlc3NtZW50XT1cIihhdXRoPy5wcmV2aWV3UGFuZWwgfCBhc3luYykgPT09IHRydWVcIj5cclxuICAgICAgICA8YnV0dG9uIChjbGljayk9XCJjbG9zZVdvcmtmbG93RW5naW5lKClcIiBpZCA9IFwiY2xvc2Utd29ya2Zsb3ctZW5naW5lLWJ0blwiIGNsYXNzPVwiY2xvc2VcIiBbYXBwVG9vbHRpcF09XCInW0VzY10gdG8gY2xvc2UnXCIgcGxhY2VtZW50PVwibGVmdFwiIGRlbGF5PVwiMFwiIHR5cGU9XCJibGFja1wiIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIlxyXG4gICAgICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiY29uZmlybWF0aW9uQWxlcnRDb25maWc/LmlzVmlzaWJsZSB8fCAhaXNXb3JrZmxvd1NlbGVjdG9yRW5hYmxlZFwiXHJcbiAgICAgICAgICAgIFtjbGFzcy5zbWlsZXktb3BlbmVkXT1cInJpc2tDb21wb25lbnQ/LnNob3dTbWlsZXkgfHwgbG9nSXNzdWVDb21wb25lbnQ/LnNob3dTbWlsZXkgfHwgY29tcGxpYW5jZT8uc2hvd1NtaWxleSB8fCAocG9saWN5Py5zaG93Q3JlYXRlRG9jdW1lbnRzKVxyXG4gICAgICAgICB8fCByZXNwb25zaWJpbGl0eUJ1bGtVcGxvYWQ/LnNob3dTbWlsZXkgfHwgcmVzcG9uc2liaWxpdHlCdWxrVXBsb2FkPy5zaG93RXhjZWwgfHwgcmlza0J1bGtVcGxvYWQ/LnNob3dTbWlsZXkgfHwgcmlza0J1bGtVcGxvYWQ/LnNob3dFeGNlbCB8fCBwcm9ncmFtPy5zaG93U21pbGV5IHx8IGltcG9ydEFuQXNzZXNzbWVudD8uc2hvd1NtaWxleVwiPlxyXG4gICAgICAgICAgICA8aSBjbGFzcz1cImljb25zXCI+JiN4ZTkzZjs8L2k+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cIiEodWlLaXRTZXJ2aWNlLmlzU21pbGV5T24pXCIgY2xhc3M9XCJ3b3JrZmxvdy1lbmdpbmUtbW9yZVwiIFtoaWRkZW5dPVwic2hvd01vcmVPcHRpb24gPT09IGZhbHNlIHx8IHBvbGljeT8uc2hvd0NyZWF0ZURvY3VtZW50c1wiXHJcbiAgICAgICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJjb25maXJtYXRpb25BbGVydENvbmZpZz8uaXNWaXNpYmxlXCIgW2NsYXNzLnJlYWQtb25seV09XCJ1aUtpdFNlcnZpY2U/LmlzTG9hZGVyXCI+XHJcbiAgICAgICAgICAgIDxhcHAtbW9yZS1vcHRpb24gI21vcmVPcHRpb24gW2N1cnJlbnRXb3JrZmxvd109XCJjdXJyZW50V29ya2Zsb3cuY29kZVwiICBbaXNFZGl0TW9kZV09XCJtb2RlID09PSdFRElUJ1wiICBbaXNSQ1NlbGVjdGVkXT1cImlzUkNTZWxlY3RlZFwiIFtvcGVuZWRGcm9tXT1cIm9wZW5lZEZyb21cIlxyXG4gICAgICAgICAgICAgICAgKHNlbGVjdGVkT3B0aW9uKT1cImFkZE1vcmVJbmZvKCRldmVudClcIj5cclxuICAgICAgICAgICAgPC9hcHAtbW9yZS1vcHRpb24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiAgY2xhc3M9XCJ3b3JrZmxvdy1lbmdpbmUtZm9ybVwiXHJcbiAgICAgICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJjb25maXJtYXRpb25BbGVydENvbmZpZz8uaXNWaXNpYmxlXCJcclxuICAgICAgICAgICAgW2NsYXNzLm5vLXNoYWRvd109XCJjdXJyZW50V29ya2Zsb3c/LmNvZGUgPT0gJ0FNUid8fCBjdXJyZW50V29ya2Zsb3c/LmNvZGUgPT0gJ0NNUicgfHwgY3VycmVudFdvcmtmbG93Py5jb2RlID09ICdBQUEnIHx8IHVpS2l0U2VydmljZS5pc1NtaWxleU9uIHx8IHBvbGljeT8uc2hvd0NyZWF0ZURvY3VtZW50c1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCIgKHNjcm9sbCk9XCJzY3JvbGxGb3JtKClcIj5cclxuICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFbJ1ZJRVdfQVVESVRfRVhFQ1VUSU9OX1NVTU1BUlknLCdFWEVDVVRFX0FVRElUX1BMQU4nXS5pbmNsdWRlcyhvcGVuZWRGcm9tKVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiEodWlLaXRTZXJ2aWNlLmlzU21pbGV5T24gfHwgcG9saWN5Py5zaG93Q3JlYXRlRG9jdW1lbnRzKVwiIGNsYXNzPVwiZm9ybS1ncm91cC1yb3dcIiAjZHJvcGRvd25Sb3dcclxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwibW9kZSA9PT0gJ0VESVQnIHx8ICFpc1dvcmtmbG93U2VsZWN0b3JFbmFibGVkIHx8IGRpc2FibGVXb3JrZmxvd0NoYW5nZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0XCIgW2NsYXNzLmNoZWNrZWRdPVwiY3VycmVudFdvcmtmbG93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJjaGVja0ljb25cIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCA1MiA1MlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBjbGFzcz1cImNoZWNrSWNvbl9fY2lyY2xlXCIgY3g9XCIyNlwiIGN5PVwiMjZcIiByPVwiMjVcIiBmaWxsPVwibm9uZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBjbGFzcz1cImNoZWNrSWNvbl9fY2hlY2tcIiBmaWxsPVwibm9uZVwiIGQ9XCJNMTQuMSAyNy4ybDcuMSA3LjIgMTYuNy0xNi44XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJpZ2h0IFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidngtZm9ybS1ncm91cFwiICNkcm9wZG93bj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cInZ4LWNvbnRyb2wtcGFuZWxcIj5TZWxlY3QgYSBXb3JrZmxvdzxzcGFuIGNsYXNzPVwicmVxdWlyZWRcIj4qPC9zcGFuPjwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0XCIgKm5nSWY9XCIhY3VycmVudFdvcmtmbG93XCIgKGNsaWNrKT1cImVkaXRXb3JrZmxvdygpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgcGxhY2Vob2xkZXI9XCJTZWxlY3QgYSBXb3JrZmxvd1wiIHJlYWRvbmx5PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0ZWQgZmlyc3QtZmllbGRcIiAqbmdJZj1cImN1cnJlbnRXb3JrZmxvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIHt7Y3VycmVudFdvcmtmbG93IHwganNvbn19IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGlwLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNoaXBcIiBbY2xhc3MuZGlzYWJsZWRdPVwiZmFsc2VcIj57e2N1cnJlbnRXb3JrZmxvdz8ud29ya2Zsb3dOYW1lfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImVkaXRcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cImVkaXRXb3JrZmxvdygpXCIgKm5nSWY9XCIhd29ya2Zsb3dMaXN0XCI+PGkgY2xhc3M9XCJpY29uc1wiPiYjeGU5YmE7PC9pPiBFZGl0PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJjdXJyZW50V29ya2Zsb3c/LmNvZGUgPT09ICdDQVBSJyAmJiBjdXJyZW50QnVzaW5lc3NDeWNsZVwiIGNsYXNzPVwicHJvZ3JhbS1idXNpbmVzcy1jeWNsZSB2eC1mcy0xMSB2eC10eHQtd2hpdGUgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1wdC0yIHZ4LXBiLTEgdngtcGwtMiB2eC1wci0xXCI+PGkgY2xhc3M9XCJpY29ucyB2eC1mcy0xMiB2eC1tci0xXCI+JiN4ZTk2Mzs8L2k+IFRoaXMgcHJvZ3JhbSBpcyBiZWluZyBzZXQtdXAgZm9yIHRoZSBidXNpbmVzcyBjeWNsZTogPHNwYW4gY2xhc3M9XCJ2eC1mdy02MDAgdngtbWwtMVwiPnt7Y3VycmVudEJ1c2luZXNzQ3ljbGV9fTwvc3Bhbj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPCEtLSA8YXBwLWNyZWF0ZS1kb2N1bWVudHM+PC9hcHAtY3JlYXRlLWRvY3VtZW50cz4gLS0+XHJcbiAgICAgICAgICAgICAgICA8IS0tIDxhcHAtYnVsay12aWV3PjwvYXBwLWJ1bGstdmlldz4gLS0+XHJcbiAgICAgICAgICAgICAgICA8IS0tIDxhcHAtYnVsay1yZXNwb25zaWJpbGl0eS12aWV3PjwvYXBwLWJ1bGstcmVzcG9uc2liaWxpdHktdmlldz4gLS0+XHJcbiAgICAgICAgICAgICAgICA8YXBwLXdvcmtmbG93LWNvbXBsaWFuY2UgKGRpc2Nvbm5lY3RSZWZyZXNoKT1cImlzSG9zdFJlZnJlc2hBY3RpdmUgPSAkZXZlbnRcIiBbaXNFbnRydXN0XT1cImVudHJ1c3RCdXR0b25OYW1lLnRvTG93ZXJDYXNlKCkgPT0gJ2VudHJ1c3QnIFwiICBbcmVzcG9uc2liaWxpdHlJZF09XCJpZFwiIFttb2RlXT1cIm1vZGVcIiBbZnJhbWV3b3JrRGV0YWlsc109XCJmcmFtZXdvcmtEZXRhaWxzXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xvc2VXb3JrZmxvdyk9XCJjbG9zZVdvcmtmbG93RW5naW5lKCRldmVudClcIiAqbmdTd2l0Y2hDYXNlPVwiJ0NBUidcIiAjcmVzcG9uc2liaWxpdHlcclxuICAgICAgICAgICAgICAgICAgICAocGlja2VyQ2hhbmdlZCk9XCJkZWNpZGVWaWV3TW9yZU9wdGlvbigkZXZlbnQpXCIgKHBvcHVsYXRlT3B0aW9uKT1cInBvcHVsYXRlTW9yZU9wdGlvbigkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAoaGlkZUVsZW1lbnRzRnJvbU1vcmVPcHRpb25zKT1cImhpZGVFbGVtZW50c0Zyb21Nb3JlT3B0aW9ucygkZXZlbnQpXCIgW3NlbGVjdGVkUkNdPVwic2VsZWN0ZWRSQ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgW29wZW5lZEZyb21dPVwib3BlbmVkRnJvbVwiIChyY1NlbGVjdGVkKT1cIm9uUmNTZWxlY3RlZCgkZXZlbnQpXCIgKHJlc2V0Rm9ybSk9XCJvblJlc2V0Rm9ybSgpXCIgKG9uUmVtb3ZpbmdDaGVja3BvaW50KT1cIm9uUmVtb3ZpbmdDaGVja3BvaW50KCRldmVudCwgZmFsc2UsIHRydWUpXCIgKGlzQXNzZXNzbWVudERpc2FibGVkKT1cImlzQXNzZXNzbWVudERpc2FibGVkKCRldmVudClcIiAoY2hlY2twb2ludENvdW50VXBkYXRlZCk9XCJjaGVja3BvaW50Q291bnQgPSAkZXZlbnQ7XCIgW3NlbGVjdGVkUHJvZ3JhbV09XCJzZWxlY3RlZFByb2dyYW1cIj48L2FwcC13b3JrZmxvdy1jb21wbGlhbmNlPlxyXG4gICAgICAgICAgICAgICAgPGFwcC13b3JrZmxvdy1yaXNrIFtzZWNvbmRhcnlPcGVuUG9ydGFsXT1cInNlY29uZGFyeU9wZW5Qb3J0YWxcIiBbb3BlbmVkRnJvbV09XCJvcGVuZWRGcm9tXCIgKGRpc2Nvbm5lY3RSZWZyZXNoKT1cImlzSG9zdFJlZnJlc2hBY3RpdmUgPSAkZXZlbnRcIiAgKm5nU3dpdGNoQ2FzZT1cIidBQVInXCIgI3Jpc2sgKHNob3dDb25maXJtYXRpb25BbGVydCk9XCJzaG93Q29uZmlybWF0aW9uUG9wdXAoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAoaGlkZUVsZW1lbnRzRnJvbU1vcmVPcHRpb25zKT1cImhpZGVFbGVtZW50c0Zyb21Nb3JlT3B0aW9ucygkZXZlbnQpXCIgKGNsb3NlV29ya2Zsb3cpPVwiY2xvc2VXb3JrZmxvd0VuZ2luZSgkZXZlbnQpXCIgKHBpY2tlckNoYW5nZWQpPVwiZGVjaWRlVmlld01vcmVPcHRpb24oJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKHBvcHVsYXRlT3B0aW9uKT1cInBvcHVsYXRlTW9yZU9wdGlvbigkZXZlbnQpXCIgKHJlZnJlc2hGb3JtKT1cIm9uUmVzZXRGb3JtKClcIiBbbW9kZV09XCJtb2RlXCIgW3Jpc2tJZF09XCJpZFwiPjwvYXBwLXdvcmtmbG93LXJpc2s+XHJcbiAgICAgICAgICAgICAgICA8YXBwLXdvcmtmbG93LXBvbGljeSAoZGlzY29ubmVjdFJlZnJlc2gpPVwiaXNIb3N0UmVmcmVzaEFjdGl2ZSA9ICRldmVudFwiICpuZ1N3aXRjaENhc2U9XCInQ0FQJ1wiICNwb2xpY3lcclxuICAgICAgICAgICAgICAgICAoc2hvd0NvbmZpcm1hdGlvbkFsZXJ0KT1cInNob3dDb25maXJtYXRpb25Qb3B1cCgkZXZlbnQpXCIgIChzaGlmdFRvRWRpdE1vZGUpPVwic2hpZnRUb0VkaXRNb2RlKClcIlxyXG4gICAgICAgICAgICAgICAgIFtwb2xpY3lJZF09XCJpZFwiIFttb2RlXT1cIm1vZGVcIiBbY29udmVydEZpbGVEYXRhXT1cImNvbnZlcnRGaWxlRGF0YVwiIFtzZWxlY3RlZENhdGVnb3J5XT1cInNlbGVjdGVkQ2F0ZWdvcnlcIlxyXG4gICAgICAgICAgICAgICAgKHBvcHVsYXRlT3B0aW9uKT1cInBvcHVsYXRlTW9yZU9wdGlvbigkZXZlbnQpXCIocGlja2VyQ2hhbmdlZCk9XCJkZWNpZGVWaWV3TW9yZU9wdGlvbigkZXZlbnQpXCI+PC9hcHAtd29ya2Zsb3ctcG9saWN5PlxyXG4gICAgICAgICAgICAgICAgPGFwcC13b3JrZmxvdy1zdXJ2ZXktZm9ybSAqbmdTd2l0Y2hDYXNlPVwiJ0NBUydcIiAjc3VydmV5Rm9ybT48L2FwcC13b3JrZmxvdy1zdXJ2ZXktZm9ybT5cclxuICAgICAgICAgICAgICAgIDxhcHAtYWRkLW11bHRpcGxlLXJpc2sgKGRpc2Nvbm5lY3RSZWZyZXNoKT1cImlzSG9zdFJlZnJlc2hBY3RpdmUgPSAkZXZlbnRcIiAgICpuZ1N3aXRjaENhc2U9XCInQU1SJ1wiICNtdWx0aXBsZVJpc2tcclxuICAgICAgICAgICAgICAgICAgICAocGlja2VyQ2hhbmdlZCk9XCJkZWNpZGVWaWV3TW9yZU9wdGlvbigkZXZlbnQpXCIgKGNsb3NlV29ya2Zsb3cpPVwiY2xvc2VXb3JrZmxvd0VuZ2luZSgkZXZlbnQpXCI+PC9hcHAtYWRkLW11bHRpcGxlLXJpc2s+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWFkZC1tdWx0aXBsZS1yZXNwb25zaWJpbGl0eSAgKGRpc2Nvbm5lY3RSZWZyZXNoKT1cImlzSG9zdFJlZnJlc2hBY3RpdmUgPSAkZXZlbnRcIiAgICAoY2xvc2VXb3JrZmxvdyk9XCJjbG9zZVdvcmtmbG93RW5naW5lKCRldmVudClcIiAqbmdTd2l0Y2hDYXNlPVwiJ0NNUidcIiAjbXVsdGlwbGVSZXNwb25zaWJpbGl0eT5cclxuICAgICAgICAgICAgICAgIDwvYXBwLWFkZC1tdWx0aXBsZS1yZXNwb25zaWJpbGl0eT5cclxuICAgICAgICAgICAgICAgIDwhLS0gTmV3IExvZyBhbiBJc3N1ZSAtLT5cclxuICAgICAgICAgICAgICAgIDxhcHAtbG9nLWFuLWlzc3VlIFtpc3N1ZURldGFpbHNdPVwiaXNzdWVEYXRhXCIgKm5nU3dpdGNoQ2FzZT1cIidMQUknXCIgW3JlcG9uc2liaWxpdHlEYXRhXT1cInJlcG9uc2liaWxpdHlEYXRhXCIgW29wZW5lZEZyb21dPVwib3BlbmVkRnJvbVwiIFtpc3N1ZUlkXT1cImlkXCJcclxuICAgICAgICAgICAgICAgICAgICAjbG9nQW5Jc3N1ZSAoZGlzY29ubmVjdFJlZnJlc2gpPVwiaXNIb3N0UmVmcmVzaEFjdGl2ZSA9ICRldmVudFwiIChjbG9zZVdvcmtmbG93KT1cImNsb3NlV29ya2Zsb3dFbmdpbmUoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKHBpY2tlckNoYW5nZWQpPVwiZGVjaWRlVmlld01vcmVPcHRpb24oJGV2ZW50KVwiIChwb3B1bGF0ZU9wdGlvbik9XCJwb3B1bGF0ZU1vcmVPcHRpb24oJGV2ZW50KVwiIFsobW9kZSldPVwibW9kZVwiPlxyXG4gICAgICAgICAgICAgICAgPC9hcHAtbG9nLWFuLWlzc3VlPlxyXG4gICAgICAgICAgICAgICAgPCEtLSBPbGQgTG9nIGFuIGlzc3VlIC0tPlxyXG4gICAgICAgICAgICAgICAgPCEtLSA8YXBwLWxvZy1hbi1pc3N1ZSAqbmdTd2l0Y2hDYXNlPVwiJ0xBSSdcIiBbcmVzcG9uc2liaWxpdGllc0RhdGFdPVwicmVwb25zaWJpbHR5RGF0YVwiIFtvcGVuZWRGcm9tXT1cIm9wZW5lZEZyb21cIlxyXG4gICAgICAgICAgICAgICAgI2xvZ0FuSXNzdWUgKGNsb3NlV29ya2Zsb3cpPVwiY2xvc2VXb3JrZmxvd0VuZ2luZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgIChwaWNrZXJDaGFuZ2VkKT1cImRlY2lkZVZpZXdNb3JlT3B0aW9uKCRldmVudClcIiAocG9wdWxhdGVPcHRpb24pPVwicG9wdWxhdGVNb3JlT3B0aW9uKCRldmVudClcIj5cclxuICAgICAgICAgICAgPC9hcHAtbG9nLWFuLWlzc3VlPiAtLT5cclxuXHJcbiAgICAgICAgICAgIDxhcHAtd29ya2Zsb3ctYXNzZXNzbWVudCBbYXNzZXNzbWVudElkXT1cImlkXCIgKHBpY2tlckNoYW5nZWQpPVwiZGVjaWRlVmlld01vcmVPcHRpb24oJGV2ZW50KVwiIFtvcGVuZWRGcm9tXT1cIm9wZW5lZEZyb21cIiAoZGlzY29ubmVjdFJlZnJlc2gpPVwiaXNIb3N0UmVmcmVzaEFjdGl2ZSA9ICRldmVudFwiICpuZ1N3aXRjaENhc2U9XCInQUFBJ1wiIChzaG93Q29uZmlybWF0aW9uQWxlcnQpPVwic2hvd0NvbmZpcm1hdGlvblBvcHVwKCRldmVudClcIiAoY2xvc2VXb3JrZmxvdyk9XCJjbG9zZVdvcmtmbG93RW5naW5lKCRldmVudClcIiAocGlja2VyQ2hhbmdlZCk9XCJkZWNpZGVWaWV3TW9yZU9wdGlvbigkZXZlbnQpXCIgKHBvcHVsYXRlT3B0aW9uKT1cInBvcHVsYXRlTW9yZU9wdGlvbigkZXZlbnQpXCIgKHJlZnJlc2hGb3JtKT1cIm9uUmVzZXRGb3JtKClcIiBbbW9kZV09XCJtb2RlXCIgI2Fzc2Vzc21lbnQ+PC9hcHAtd29ya2Zsb3ctYXNzZXNzbWVudD5cclxuICAgICAgICAgICAgPGFwcC1pbXBvcnQtYW4tYXNzZXNzbWVudCAgKHBpY2tlckNoYW5nZWQpPVwiZGVjaWRlVmlld01vcmVPcHRpb24oJGV2ZW50KVwiIChkaXNjb25uZWN0UmVmcmVzaCk9XCJpc0hvc3RSZWZyZXNoQWN0aXZlID0gJGV2ZW50XCIgKm5nU3dpdGNoQ2FzZT1cIidJQUEnXCIgKHNob3dDb25maXJtYXRpb25BbGVydCk9XCJzaG93Q29uZmlybWF0aW9uUG9wdXAoJGV2ZW50KVwiIChjbG9zZVdvcmtmbG93KT1cImNsb3NlV29ya2Zsb3dFbmdpbmUoJGV2ZW50KVwiIChwaWNrZXJDaGFuZ2VkKT1cImRlY2lkZVZpZXdNb3JlT3B0aW9uKCRldmVudClcIiAocG9wdWxhdGVPcHRpb24pPVwicG9wdWxhdGVNb3JlT3B0aW9uKCRldmVudClcIiAocmVmcmVzaEZvcm0pPVwib25SZXNldEZvcm0oKVwiICNpbXBvcnRBc3Nlc3NtZW50PjwvYXBwLWltcG9ydC1hbi1hc3Nlc3NtZW50PlxyXG4gICAgICAgICAgICA8IS0tIDxhcHAtd29ya2Zsb3ctcHJvZ3JhbSAjcHJvZ3JhbSAqbmdTd2l0Y2hDYXNlPVwiJ0NBUFInXCIgKHBpY2tlckNoYW5nZWQpPVwiZGVjaWRlVmlld01vcmVPcHRpb24oJGV2ZW50KVwiIChkaXNjb25uZWN0UmVmcmVzaCk9XCJpc0hvc3RSZWZyZXNoQWN0aXZlID0gJGV2ZW50XCI+PC9hcHAtd29ya2Zsb3ctcHJvZ3JhbT4gLS0+XHJcbiAgICAgICAgICAgIDxhcHAtd29ya2Zsb3ctcHJvZ3JhbSAjcHJvZ3JhbSAqbmdTd2l0Y2hDYXNlPVwiJ0NBUFInXCIgW3Byb2dyYW1UeXBlXT1cInByb2dyYW1UeXBlXCIgKHBpY2tlckNoYW5nZWQpPVwiZGVjaWRlVmlld01vcmVPcHRpb24oJGV2ZW50KVwiIChkaXNjb25uZWN0UmVmcmVzaCk9XCJpc0hvc3RSZWZyZXNoQWN0aXZlID0gJGV2ZW50XCIgKHNob3dDb25maXJtYXRpb25BbGVydCk9XCJzaG93Q29uZmlybWF0aW9uUG9wdXAoJGV2ZW50KVwiIChjbG9zZVdvcmtmbG93KT1cImNsb3NlV29ya2Zsb3dFbmdpbmUoJGV2ZW50KVwiIChwaWNrZXJDaGFuZ2VkKT1cImRlY2lkZVZpZXdNb3JlT3B0aW9uKCRldmVudClcIiAocG9wdWxhdGVPcHRpb24pPVwicG9wdWxhdGVNb3JlT3B0aW9uKCRldmVudClcIiAocmVmcmVzaEZvcm0pPVwib25SZXNldEZvcm0oKVwiIFttb2RlXT1cIm1vZGVcIiBbcHJvZ3JhbUlkXT1cImlkXCIgKG9uUmVtb3ZpbmdSb2xlKT1cIm9uUmVtb3ZpbmdSb2xlKCRldmVudClcIj48L2FwcC13b3JrZmxvdy1wcm9ncmFtPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInN1Ym1pdFwiIFtjbGFzcy5kaXNhYmxlZF09XCIhaXNXb3JrZmxvd1NlbGVjdG9yRW5hYmxlZFwiICpuZ1N3aXRjaENhc2U9XCInQUFSJ1wiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwic3VibWl0KClcIj57e21vZGU9PT0nRURJVCcgJiYgb3BlbmVkRnJvbSAhPT0gJ01PVkVfVE9fUkVHSVNURVInID8gJ1VwZGF0ZScgOiAnQWRkJ319PC9idXR0b24+XHJcbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJzdWJtaXRcIiBbY2xhc3MuZGlzYWJsZWRdPVwiIWlzV29ya2Zsb3dTZWxlY3RvckVuYWJsZWQgfHwgIXJpc2tCdWxrVXBsb2FkPy5jYXRlZ29yeT8uc2VsZWN0ZWRDYXRlZ29yeVwiXHJcbiAgICAgICAgICAgICAoY2xpY2spPVwiYnVsa1VwbG9hZEJyb3dzZSgnQU1SJylcIlxyXG4gICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidBTVInXCI+QnJvd3NlPC9idXR0b24+XHJcbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJzdWJtaXRcIiBbY2xhc3MuZGlzYWJsZWRdPVwiIWlzV29ya2Zsb3dTZWxlY3RvckVuYWJsZWRcIiAoY2xpY2spPVwiYnVsa1VwbG9hZEJyb3dzZSgnQ01SJylcIlxyXG4gICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidDTVInXCI+QnJvd3NlPC9idXR0b24+XHJcbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJzdWJtaXRcIiBbY2xhc3MuZGlzYWJsZWRdPVwiIWlzV29ya2Zsb3dTZWxlY3RvckVuYWJsZWRcIiAoY2xpY2spPVwic3VibWl0KClcIlxyXG4gICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidDQVInXCI+e3tlbnRydXN0QnV0dG9uTmFtZSAhPT0gJycgPyBlbnRydXN0QnV0dG9uTmFtZSA6ICdFbnRydXN0J319PC9idXR0b24+XHJcbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJzdWJtaXRcIiBbY2xhc3MuZGlzYWJsZWRdPVwiIWlzV29ya2Zsb3dTZWxlY3RvckVuYWJsZWRcIiAoY2xpY2spPVwic3VibWl0KClcIlxyXG4gICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidDQVAnXCI+e3soY29udmVydEZpbGVEYXRhLmZpbGVOYW1lKT8nTkVYVCc6KChtb2RlPT0nRURJVCcpPyAnVXBkYXRlJzonQ29udGludWUgdG8gZHJhZnQnKX19PC9idXR0b24+XHJcbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJzdWJtaXRcIiBbY2xhc3MuZGlzYWJsZWRdPVwiIWlzV29ya2Zsb3dTZWxlY3RvckVuYWJsZWRcIiAqbmdTd2l0Y2hDYXNlPVwiJ0NBUydcIj5cclxuICAgICAgICAgICAgICAgQ29udGludWUgdG8gZHJhZnQgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJzdWJtaXRcIiBbY2xhc3MuZGlzYWJsZWRdPVwiIWlzV29ya2Zsb3dTZWxlY3RvckVuYWJsZWRcIiAqbmdTd2l0Y2hDYXNlPVwiJ0xBSSdcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInN1Ym1pdCgpXCI+e3ttb2RlPT09J0VESVQnID8gJ1VwZGF0ZScgOiAnQWRkJ319PC9idXR0b24+XHJcbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJzdWJtaXRcIiBbY2xhc3MuZGlzYWJsZWRdPVwiIWlzV29ya2Zsb3dTZWxlY3RvckVuYWJsZWRcIiAqbmdTd2l0Y2hDYXNlPVwiJ0FBQSdcIiAoY2xpY2spPVwic3VibWl0KClcIj57e21vZGUgPT09ICdFRElUJyA/ICdVcGRhdGUnIDogJ0NvbnRpbnVlIHRvIGRyYWZ0J319PC9idXR0b24+XHJcbiAgICAgICAgICAgIDxidXR0b24gIGNsYXNzPVwic3VibWl0XCIgW2NsYXNzLmRpc2FibGVkXT1cIiFpc1dvcmtmbG93U2VsZWN0b3JFbmFibGVkXCIgKGNsaWNrKT1cImJ1bGtVcGxvYWRCcm93c2UoJ0lBQScpXCJcclxuICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInSUFBJ1wiPkJyb3dzZTwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiAgY2xhc3M9XCJzdWJtaXRcIiBbY2xhc3MuZGlzYWJsZWRdPVwiIWlzV29ya2Zsb3dTZWxlY3RvckVuYWJsZWQgfHwgIXByb2dyYW0/LnZhbGlkIHx8IXByb2dyYW0uZm9ybVZhbGlkIFwiKGNsaWNrKT1cInN1Ym1pdCgnQ0FQUicpXCJcclxuICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInQ0FQUidcIj5TYXZlPC9idXR0b24+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93blwiICpuZ0lmPVwid29ya2Zsb3dMaXN0XCIgKGNsaWNrKT1cImNsb3NlV29ya2Zsb3dMaXN0KClcIiBbc3R5bGUudG9wLnB4XT1cImRyb3Bkb3duVG9wXCJcclxuICAgICAgICAgICAgICAgIFtzdHlsZS5sZWZ0LnB4XT1cImRyb3Bkb3duTGVmdFwiIFtzdHlsZS53aWR0aC5weF09XCJkcm9wZG93bldpZHRoXCI+XHJcbiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJkcm9wZG93bi1saXN0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCB3b3JrZmxvdyBvZiB3b3JrZmxvd1R5cGVMaXN0XCIgKGNsaWNrKT1cImNoYW5nZVdvcmtmbG93KCRldmVudCx3b3JrZmxvdylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGFwcC1jcy1yYWRpbyBbdmFsdWVdPVwid29ya2Zsb3c/LmNvZGVcIiBbY2hlY2tlZF09XCJjdXJyZW50V29ya2Zsb3c/LmNvZGU9PT13b3JrZmxvdz8uY29kZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3t3b3JrZmxvdz8ud29ya2Zsb3dOYW1lfX08L2FwcC1jcy1yYWRpbz5cclxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93bi1vdmVybGF5XCIgKm5nSWY9XCJ3b3JrZmxvd0xpc3RcIiAoY2xpY2spPVwiY2xvc2VXb3JrZmxvd0xpc3QoKVwiPjwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxhcHAtY29uZmlybWF0aW9uLWFsZXJ0IChhY3Rpb24pPVwiY29uZmlybVdvcmtmbG93Q2hhbmdlKCRldmVudClcIiAqbmdJZj1cImNvbmZpcm1hdGlvbkFsZXJ0Q29uZmlnPy5pc1Zpc2libGVcIlxyXG4gICAgICAgICAgICBbbWVzc2FnZV09XCJjb25maXJtYXRpb25BbGVydENvbmZpZz8ubWVzc2FnZVwiIFtjb25maWddPVwiY29uZmlybWF0aW9uQWxlcnRDb25maWdcIj48L2FwcC1jb25maXJtYXRpb24tYWxlcnQ+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
333
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3ctZW5naW5lLWNvbnRhaW5lci5jb21wb25lbnQubmdmYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvd29ya2Zsb3ctZW5naW5lLWNvbnRhaW5lci93b3JrZmxvdy1lbmdpbmUtY29udGFpbmVyLmNvbXBvbmVudC5uZ2ZhY3RvcnkudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi93b3JrZmxvdy1lbmdpbmUtY29udGFpbmVyL3dvcmtmbG93LWVuZ2luZS1jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzJFQ1VRLDBLQUtNLEtBSEYscUpBRWtCLFlBRGQ7O3dCQUFzQztNQUQxQyxpVkFFa0IsbURBRlcsbUJBQXdDLHVCQUErRCxtQkFBeUIsYUFBdEYsb0NBQTZCLEdBQUUsbUJBQTZCLGVBQW5JLFlBRWtCLEVBRlcsU0FBd0MsRUFBK0QsU0FBeUIsRUFBdEYsU0FBNkIsRUFBRSxTQUE2QixtREFGbEUscUZBQWtFLCtCQUNuSSxtRUFBcUQscUNBQUMsd0RBQTBDLHlCQURwRyxZQUtNLEVBTCtELFNBQWtFLEVBQ25JLFNBQXFELEVBQUMsU0FBMEM7MkVBcUJoRixtSkFFTSxZQUZ1Qzs7d0JBQXdCO01BQXJFLHdCQUVNLEtBREYsc0pBQTREOzJFQU81RCx3S0FBNkgsWUFBMUY7O3dCQUF3QjtNQUEzRCx3QkFBNkgsS0FBM0MsNEZBQTZCLEtBQVosbUNBQVEsTUFBSSxrQ0FBSzsyRUFMeEgsNkdBTU0sS0FKRix1R0FFTSxLQURGLGlIQUFvRixLQUF4QyxnQ0FBaUMsTUFFakYsZ01BQTZILGlEQUFqRSxvQkFBcUIsZUFBakYsWUFBNkgsRUFBakUsU0FB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QUhwTSxhQUtTLEVBSkwsU0FBbUYsRUFDbkYsU0FDZ00sR0FVaE0sb0VBQXFELHFDQUNyRCx5VUFBK0ssK0JBRm5MLGFBaUdNLEVBaEdGLFVBQXFELEVBQ3JELFVBQStLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgaTAgZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pMC5Db21wb25lbnRGYWN0b3J5O1xuIiwiPGFwcC1zbmFjay1iYXI+PC9hcHAtc25hY2stYmFyPlxyXG48ZGl2IGNsYXNzPVwid29ya2Zsb3ctZW5naW5lLW92ZXJsYXlcIj48L2Rpdj5cclxuPGRpdiBjbGFzcz1cIndvcmtmbG93LWVuZ2luZVwiIFtjbGFzcy5hbmltYXRlXT1cImFuaW1hdGlvblwiIFtjbGFzcy5iZ109XCIoIWlzV29ya2Zsb3dTZWxlY3RvckVuYWJsZWQgfHwgcmlza0J1bGtVcGxvYWQ/LnNob3dDYXRlZ29yeUxpc3QpICYmICghcG9saWN5Py5zaG93Q3JlYXRlRG9jdW1lbnRzKVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIndvcmtmbG93LWVuZ2luZS1jb250YWluZXJcIiBbbmdTd2l0Y2hdPVwiY3VycmVudFdvcmtmbG93Py5jb2RlXCIgW2NsYXNzLndpdGgtcHJldmlldy1hc3Nlc3NtZW50XT1cIihhdXRoPy5wcmV2aWV3UGFuZWwgfCBhc3luYykgPT09IHRydWVcIj5cclxuICAgICAgICA8YnV0dG9uIChjbGljayk9XCJjbG9zZVdvcmtmbG93RW5naW5lKClcIiBpZCA9IFwiY2xvc2Utd29ya2Zsb3ctZW5naW5lLWJ0blwiIGNsYXNzPVwiY2xvc2VcIiBbYXBwVG9vbHRpcF09XCInW0VzY10gdG8gY2xvc2UnXCIgcGxhY2VtZW50PVwibGVmdFwiIGRlbGF5PVwiMFwiIHR5cGU9XCJibGFja1wiIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIlxyXG4gICAgICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiY29uZmlybWF0aW9uQWxlcnRDb25maWc/LmlzVmlzaWJsZSB8fCAhaXNXb3JrZmxvd1NlbGVjdG9yRW5hYmxlZFwiXHJcbiAgICAgICAgICAgIFtjbGFzcy5zbWlsZXktb3BlbmVkXT1cInJpc2tDb21wb25lbnQ/LnNob3dTbWlsZXkgfHwgbG9nSXNzdWVDb21wb25lbnQ/LnNob3dTbWlsZXkgfHwgY29tcGxpYW5jZT8uc2hvd1NtaWxleSB8fCAocG9saWN5Py5zaG93Q3JlYXRlRG9jdW1lbnRzKVxyXG4gICAgICAgICB8fCByZXNwb25zaWJpbGl0eUJ1bGtVcGxvYWQ/LnNob3dTbWlsZXkgfHwgcmVzcG9uc2liaWxpdHlCdWxrVXBsb2FkPy5zaG93RXhjZWwgfHwgcmlza0J1bGtVcGxvYWQ/LnNob3dTbWlsZXkgfHwgcmlza0J1bGtVcGxvYWQ/LnNob3dFeGNlbCB8fCBwcm9ncmFtPy5zaG93U21pbGV5IHx8IGltcG9ydEFuQXNzZXNzbWVudD8uc2hvd1NtaWxleVwiPlxyXG4gICAgICAgICAgICA8aSBjbGFzcz1cImljb25zXCI+JiN4ZTkzZjs8L2k+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cIiEodWlLaXRTZXJ2aWNlLmlzU21pbGV5T24pXCIgY2xhc3M9XCJ3b3JrZmxvdy1lbmdpbmUtbW9yZVwiIFtoaWRkZW5dPVwic2hvd01vcmVPcHRpb24gPT09IGZhbHNlIHx8IHBvbGljeT8uc2hvd0NyZWF0ZURvY3VtZW50c1wiXHJcbiAgICAgICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJjb25maXJtYXRpb25BbGVydENvbmZpZz8uaXNWaXNpYmxlXCIgW2NsYXNzLnJlYWQtb25seV09XCJ1aUtpdFNlcnZpY2U/LmlzTG9hZGVyXCI+XHJcbiAgICAgICAgICAgIDxhcHAtbW9yZS1vcHRpb24gI21vcmVPcHRpb24gW2N1cnJlbnRXb3JrZmxvd109XCJjdXJyZW50V29ya2Zsb3cuY29kZVwiICBbaXNFZGl0TW9kZV09XCJtb2RlID09PSdFRElUJ1wiICBbaXNSQ1NlbGVjdGVkXT1cImlzUkNTZWxlY3RlZFwiIFtvcGVuZWRGcm9tXT1cIm9wZW5lZEZyb21cIlxyXG4gICAgICAgICAgICAgICAgKHNlbGVjdGVkT3B0aW9uKT1cImFkZE1vcmVJbmZvKCRldmVudClcIj5cclxuICAgICAgICAgICAgPC9hcHAtbW9yZS1vcHRpb24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiAgY2xhc3M9XCJ3b3JrZmxvdy1lbmdpbmUtZm9ybVwiXHJcbiAgICAgICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJjb25maXJtYXRpb25BbGVydENvbmZpZz8uaXNWaXNpYmxlXCJcclxuICAgICAgICAgICAgW2NsYXNzLm5vLXNoYWRvd109XCJjdXJyZW50V29ya2Zsb3c/LmNvZGUgPT0gJ0FNUid8fCBjdXJyZW50V29ya2Zsb3c/LmNvZGUgPT0gJ0NNUicgfHwgY3VycmVudFdvcmtmbG93Py5jb2RlID09ICdBQUEnIHx8IHVpS2l0U2VydmljZS5pc1NtaWxleU9uIHx8IHBvbGljeT8uc2hvd0NyZWF0ZURvY3VtZW50c1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCIgKHNjcm9sbCk9XCJzY3JvbGxGb3JtKClcIj5cclxuICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFbJ1ZJRVdfQVVESVRfRVhFQ1VUSU9OX1NVTU1BUlknLCdFWEVDVVRFX0FVRElUX1BMQU4nXS5pbmNsdWRlcyhvcGVuZWRGcm9tKVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiEodWlLaXRTZXJ2aWNlLmlzU21pbGV5T24gfHwgcG9saWN5Py5zaG93Q3JlYXRlRG9jdW1lbnRzKVwiIGNsYXNzPVwiZm9ybS1ncm91cC1yb3dcIiAjZHJvcGRvd25Sb3dcclxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwibW9kZSA9PT0gJ0VESVQnIHx8ICFpc1dvcmtmbG93U2VsZWN0b3JFbmFibGVkIHx8IGRpc2FibGVXb3JrZmxvd0NoYW5nZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0XCIgW2NsYXNzLmNoZWNrZWRdPVwiY3VycmVudFdvcmtmbG93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJjaGVja0ljb25cIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCA1MiA1MlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBjbGFzcz1cImNoZWNrSWNvbl9fY2lyY2xlXCIgY3g9XCIyNlwiIGN5PVwiMjZcIiByPVwiMjVcIiBmaWxsPVwibm9uZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBjbGFzcz1cImNoZWNrSWNvbl9fY2hlY2tcIiBmaWxsPVwibm9uZVwiIGQ9XCJNMTQuMSAyNy4ybDcuMSA3LjIgMTYuNy0xNi44XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJpZ2h0IFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidngtZm9ybS1ncm91cFwiICNkcm9wZG93bj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cInZ4LWNvbnRyb2wtcGFuZWxcIj5TZWxlY3QgYSBXb3JrZmxvdzxzcGFuIGNsYXNzPVwicmVxdWlyZWRcIj4qPC9zcGFuPjwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0XCIgKm5nSWY9XCIhY3VycmVudFdvcmtmbG93XCIgKGNsaWNrKT1cImVkaXRXb3JrZmxvdygpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgcGxhY2Vob2xkZXI9XCJTZWxlY3QgYSBXb3JrZmxvd1wiIHJlYWRvbmx5PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0ZWQgZmlyc3QtZmllbGRcIiAqbmdJZj1cImN1cnJlbnRXb3JrZmxvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIHt7Y3VycmVudFdvcmtmbG93IHwganNvbn19IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGlwLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNoaXBcIiBbY2xhc3MuZGlzYWJsZWRdPVwiZmFsc2VcIj57e2N1cnJlbnRXb3JrZmxvdz8ud29ya2Zsb3dOYW1lfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImVkaXRcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cImVkaXRXb3JrZmxvdygpXCIgKm5nSWY9XCIhd29ya2Zsb3dMaXN0XCI+PGkgY2xhc3M9XCJpY29uc1wiPiYjeGU5YmE7PC9pPiBFZGl0PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJjdXJyZW50V29ya2Zsb3c/LmNvZGUgPT09ICdDQVBSJyAmJiBjdXJyZW50QnVzaW5lc3NDeWNsZVwiIGNsYXNzPVwicHJvZ3JhbS1idXNpbmVzcy1jeWNsZSB2eC1mcy0xMSB2eC10eHQtd2hpdGUgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1wdC0yIHZ4LXBiLTEgdngtcGwtMiB2eC1wci0xXCI+PGkgY2xhc3M9XCJpY29ucyB2eC1mcy0xMiB2eC1tci0xXCI+JiN4ZTk2Mzs8L2k+IFRoaXMgcHJvZ3JhbSBpcyBiZWluZyBzZXQtdXAgZm9yIHRoZSBidXNpbmVzcyBjeWNsZTogPHNwYW4gY2xhc3M9XCJ2eC1mdy02MDAgdngtbWwtMVwiPnt7Y3VycmVudEJ1c2luZXNzQ3ljbGV9fTwvc3Bhbj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPCEtLSA8YXBwLWNyZWF0ZS1kb2N1bWVudHM+PC9hcHAtY3JlYXRlLWRvY3VtZW50cz4gLS0+XHJcbiAgICAgICAgICAgICAgICA8IS0tIDxhcHAtYnVsay12aWV3PjwvYXBwLWJ1bGstdmlldz4gLS0+XHJcbiAgICAgICAgICAgICAgICA8IS0tIDxhcHAtYnVsay1yZXNwb25zaWJpbGl0eS12aWV3PjwvYXBwLWJ1bGstcmVzcG9uc2liaWxpdHktdmlldz4gLS0+XHJcbiAgICAgICAgICAgICAgICA8YXBwLXdvcmtmbG93LWNvbXBsaWFuY2UgKGRpc2Nvbm5lY3RSZWZyZXNoKT1cImlzSG9zdFJlZnJlc2hBY3RpdmUgPSAkZXZlbnRcIiBbaXNFbnRydXN0XT1cImVudHJ1c3RCdXR0b25OYW1lLnRvTG93ZXJDYXNlKCkgPT0gJ2VudHJ1c3QnIFwiICBbcmVzcG9uc2liaWxpdHlJZF09XCJpZFwiIFttb2RlXT1cIm1vZGVcIiBbZnJhbWV3b3JrRGV0YWlsc109XCJmcmFtZXdvcmtEZXRhaWxzXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xvc2VXb3JrZmxvdyk9XCJjbG9zZVdvcmtmbG93RW5naW5lKCRldmVudClcIiAqbmdTd2l0Y2hDYXNlPVwiJ0NBUidcIiAjcmVzcG9uc2liaWxpdHlcclxuICAgICAgICAgICAgICAgICAgICAocGlja2VyQ2hhbmdlZCk9XCJkZWNpZGVWaWV3TW9yZU9wdGlvbigkZXZlbnQpXCIgKHBvcHVsYXRlT3B0aW9uKT1cInBvcHVsYXRlTW9yZU9wdGlvbigkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAoaGlkZUVsZW1lbnRzRnJvbU1vcmVPcHRpb25zKT1cImhpZGVFbGVtZW50c0Zyb21Nb3JlT3B0aW9ucygkZXZlbnQpXCIgW3NlbGVjdGVkUkNdPVwic2VsZWN0ZWRSQ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgW29wZW5lZEZyb21dPVwib3BlbmVkRnJvbVwiIChyY1NlbGVjdGVkKT1cIm9uUmNTZWxlY3RlZCgkZXZlbnQpXCIgKHJlc2V0Rm9ybSk9XCJvblJlc2V0Rm9ybSgpXCIgKG9uUmVtb3ZpbmdDaGVja3BvaW50KT1cIm9uUmVtb3ZpbmdDaGVja3BvaW50KCRldmVudCwgZmFsc2UsIHRydWUpXCIgKGlzQXNzZXNzbWVudERpc2FibGVkKT1cImlzQXNzZXNzbWVudERpc2FibGVkKCRldmVudClcIiAoY2hlY2twb2ludENvdW50VXBkYXRlZCk9XCJjaGVja3BvaW50Q291bnQgPSAkZXZlbnQ7XCIgW3NlbGVjdGVkUHJvZ3JhbV09XCJzZWxlY3RlZFByb2dyYW1cIj48L2FwcC13b3JrZmxvdy1jb21wbGlhbmNlPlxyXG4gICAgICAgICAgICAgICAgPGFwcC13b3JrZmxvdy1yaXNrIFtzZWNvbmRhcnlPcGVuUG9ydGFsXT1cInNlY29uZGFyeU9wZW5Qb3J0YWxcIiBbb3BlbmVkRnJvbV09XCJvcGVuZWRGcm9tXCIgKGRpc2Nvbm5lY3RSZWZyZXNoKT1cImlzSG9zdFJlZnJlc2hBY3RpdmUgPSAkZXZlbnRcIiAgKm5nU3dpdGNoQ2FzZT1cIidBQVInXCIgI3Jpc2sgKHNob3dDb25maXJtYXRpb25BbGVydCk9XCJzaG93Q29uZmlybWF0aW9uUG9wdXAoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAoaGlkZUVsZW1lbnRzRnJvbU1vcmVPcHRpb25zKT1cImhpZGVFbGVtZW50c0Zyb21Nb3JlT3B0aW9ucygkZXZlbnQpXCIgKGNsb3NlV29ya2Zsb3cpPVwiY2xvc2VXb3JrZmxvd0VuZ2luZSgkZXZlbnQpXCIgKHBpY2tlckNoYW5nZWQpPVwiZGVjaWRlVmlld01vcmVPcHRpb24oJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKHBvcHVsYXRlT3B0aW9uKT1cInBvcHVsYXRlTW9yZU9wdGlvbigkZXZlbnQpXCIgKHJlZnJlc2hGb3JtKT1cIm9uUmVzZXRGb3JtKClcIiBbbW9kZV09XCJtb2RlXCIgW3Jpc2tJZF09XCJpZFwiPjwvYXBwLXdvcmtmbG93LXJpc2s+XHJcbiAgICAgICAgICAgICAgICA8YXBwLXdvcmtmbG93LXBvbGljeSAoZGlzY29ubmVjdFJlZnJlc2gpPVwiaXNIb3N0UmVmcmVzaEFjdGl2ZSA9ICRldmVudFwiICpuZ1N3aXRjaENhc2U9XCInQ0FQJ1wiICNwb2xpY3lcclxuICAgICAgICAgICAgICAgICAoc2hvd0NvbmZpcm1hdGlvbkFsZXJ0KT1cInNob3dDb25maXJtYXRpb25Qb3B1cCgkZXZlbnQpXCIgIChzaGlmdFRvRWRpdE1vZGUpPVwic2hpZnRUb0VkaXRNb2RlKClcIlxyXG4gICAgICAgICAgICAgICAgIFtwb2xpY3lJZF09XCJpZFwiIFttb2RlXT1cIm1vZGVcIiBbY29udmVydEZpbGVEYXRhXT1cImNvbnZlcnRGaWxlRGF0YVwiIFtzZWxlY3RlZENhdGVnb3J5XT1cInNlbGVjdGVkQ2F0ZWdvcnlcIlxyXG4gICAgICAgICAgICAgICAgKHBvcHVsYXRlT3B0aW9uKT1cInBvcHVsYXRlTW9yZU9wdGlvbigkZXZlbnQpXCIocGlja2VyQ2hhbmdlZCk9XCJkZWNpZGVWaWV3TW9yZU9wdGlvbigkZXZlbnQpXCI+PC9hcHAtd29ya2Zsb3ctcG9saWN5PlxyXG4gICAgICAgICAgICAgICAgPGFwcC13b3JrZmxvdy1zdXJ2ZXktZm9ybSAqbmdTd2l0Y2hDYXNlPVwiJ0NBUydcIiAjc3VydmV5Rm9ybT48L2FwcC13b3JrZmxvdy1zdXJ2ZXktZm9ybT5cclxuICAgICAgICAgICAgICAgIDxhcHAtYWRkLW11bHRpcGxlLXJpc2sgKGRpc2Nvbm5lY3RSZWZyZXNoKT1cImlzSG9zdFJlZnJlc2hBY3RpdmUgPSAkZXZlbnRcIiAgICpuZ1N3aXRjaENhc2U9XCInQU1SJ1wiICNtdWx0aXBsZVJpc2tcclxuICAgICAgICAgICAgICAgICAgICAocGlja2VyQ2hhbmdlZCk9XCJkZWNpZGVWaWV3TW9yZU9wdGlvbigkZXZlbnQpXCIgKGNsb3NlV29ya2Zsb3cpPVwiY2xvc2VXb3JrZmxvd0VuZ2luZSgkZXZlbnQpXCI+PC9hcHAtYWRkLW11bHRpcGxlLXJpc2s+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWFkZC1tdWx0aXBsZS1yZXNwb25zaWJpbGl0eSAgKGRpc2Nvbm5lY3RSZWZyZXNoKT1cImlzSG9zdFJlZnJlc2hBY3RpdmUgPSAkZXZlbnRcIiAgICAoY2xvc2VXb3JrZmxvdyk9XCJjbG9zZVdvcmtmbG93RW5naW5lKCRldmVudClcIiAqbmdTd2l0Y2hDYXNlPVwiJ0NNUidcIiAjbXVsdGlwbGVSZXNwb25zaWJpbGl0eT5cclxuICAgICAgICAgICAgICAgIDwvYXBwLWFkZC1tdWx0aXBsZS1yZXNwb25zaWJpbGl0eT5cclxuICAgICAgICAgICAgICAgIDwhLS0gTmV3IExvZyBhbiBJc3N1ZSAtLT5cclxuICAgICAgICAgICAgICAgIDxhcHAtbG9nLWFuLWlzc3VlIFtpc3N1ZURldGFpbHNdPVwiaXNzdWVEYXRhXCIgKm5nU3dpdGNoQ2FzZT1cIidMQUknXCIgW3JlcG9uc2liaWxpdHlEYXRhXT1cInJlcG9uc2liaWxpdHlEYXRhXCIgW29wZW5lZEZyb21dPVwib3BlbmVkRnJvbVwiIFtpc3N1ZUlkXT1cImlkXCJcclxuICAgICAgICAgICAgICAgICAgICAjbG9nQW5Jc3N1ZSAoZGlzY29ubmVjdFJlZnJlc2gpPVwiaXNIb3N0UmVmcmVzaEFjdGl2ZSA9ICRldmVudFwiIChjbG9zZVdvcmtmbG93KT1cImNsb3NlV29ya2Zsb3dFbmdpbmUoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKHBpY2tlckNoYW5nZWQpPVwiZGVjaWRlVmlld01vcmVPcHRpb24oJGV2ZW50KVwiIChwb3B1bGF0ZU9wdGlvbik9XCJwb3B1bGF0ZU1vcmVPcHRpb24oJGV2ZW50KVwiIFsobW9kZSldPVwibW9kZVwiPlxyXG4gICAgICAgICAgICAgICAgPC9hcHAtbG9nLWFuLWlzc3VlPlxyXG4gICAgICAgICAgICAgICAgPCEtLSBPbGQgTG9nIGFuIGlzc3VlIC0tPlxyXG4gICAgICAgICAgICAgICAgPCEtLSA8YXBwLWxvZy1hbi1pc3N1ZSAqbmdTd2l0Y2hDYXNlPVwiJ0xBSSdcIiBbcmVzcG9uc2liaWxpdGllc0RhdGFdPVwicmVwb25zaWJpbHR5RGF0YVwiIFtvcGVuZWRGcm9tXT1cIm9wZW5lZEZyb21cIlxyXG4gICAgICAgICAgICAgICAgI2xvZ0FuSXNzdWUgKGNsb3NlV29ya2Zsb3cpPVwiY2xvc2VXb3JrZmxvd0VuZ2luZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgIChwaWNrZXJDaGFuZ2VkKT1cImRlY2lkZVZpZXdNb3JlT3B0aW9uKCRldmVudClcIiAocG9wdWxhdGVPcHRpb24pPVwicG9wdWxhdGVNb3JlT3B0aW9uKCRldmVudClcIj5cclxuICAgICAgICAgICAgPC9hcHAtbG9nLWFuLWlzc3VlPiAtLT5cclxuXHJcbiAgICAgICAgICAgIDxhcHAtd29ya2Zsb3ctYXNzZXNzbWVudCBbYXNzZXNzbWVudElkXT1cImlkXCIgKHBpY2tlckNoYW5nZWQpPVwiZGVjaWRlVmlld01vcmVPcHRpb24oJGV2ZW50KVwiIFtvcGVuZWRGcm9tXT1cIm9wZW5lZEZyb21cIiAoZGlzY29ubmVjdFJlZnJlc2gpPVwiaXNIb3N0UmVmcmVzaEFjdGl2ZSA9ICRldmVudFwiICpuZ1N3aXRjaENhc2U9XCInQUFBJ1wiIChzaG93Q29uZmlybWF0aW9uQWxlcnQpPVwic2hvd0NvbmZpcm1hdGlvblBvcHVwKCRldmVudClcIiAoY2xvc2VXb3JrZmxvdyk9XCJjbG9zZVdvcmtmbG93RW5naW5lKCRldmVudClcIiAocGlja2VyQ2hhbmdlZCk9XCJkZWNpZGVWaWV3TW9yZU9wdGlvbigkZXZlbnQpXCIgKHBvcHVsYXRlT3B0aW9uKT1cInBvcHVsYXRlTW9yZU9wdGlvbigkZXZlbnQpXCIgKHJlZnJlc2hGb3JtKT1cIm9uUmVzZXRGb3JtKClcIiBbbW9kZV09XCJtb2RlXCIgI2Fzc2Vzc21lbnQ+PC9hcHAtd29ya2Zsb3ctYXNzZXNzbWVudD5cclxuICAgICAgICAgICAgPGFwcC1pbXBvcnQtYW4tYXNzZXNzbWVudCAgKHBpY2tlckNoYW5nZWQpPVwiZGVjaWRlVmlld01vcmVPcHRpb24oJGV2ZW50KVwiIChkaXNjb25uZWN0UmVmcmVzaCk9XCJpc0hvc3RSZWZyZXNoQWN0aXZlID0gJGV2ZW50XCIgKm5nU3dpdGNoQ2FzZT1cIidJQUEnXCIgKHNob3dDb25maXJtYXRpb25BbGVydCk9XCJzaG93Q29uZmlybWF0aW9uUG9wdXAoJGV2ZW50KVwiIChjbG9zZVdvcmtmbG93KT1cImNsb3NlV29ya2Zsb3dFbmdpbmUoJGV2ZW50KVwiIChwaWNrZXJDaGFuZ2VkKT1cImRlY2lkZVZpZXdNb3JlT3B0aW9uKCRldmVudClcIiAocG9wdWxhdGVPcHRpb24pPVwicG9wdWxhdGVNb3JlT3B0aW9uKCRldmVudClcIiAocmVmcmVzaEZvcm0pPVwib25SZXNldEZvcm0oKVwiICNpbXBvcnRBc3Nlc3NtZW50PjwvYXBwLWltcG9ydC1hbi1hc3Nlc3NtZW50PlxyXG4gICAgICAgICAgICA8IS0tIDxhcHAtd29ya2Zsb3ctcHJvZ3JhbSAjcHJvZ3JhbSAqbmdTd2l0Y2hDYXNlPVwiJ0NBUFInXCIgKHBpY2tlckNoYW5nZWQpPVwiZGVjaWRlVmlld01vcmVPcHRpb24oJGV2ZW50KVwiIChkaXNjb25uZWN0UmVmcmVzaCk9XCJpc0hvc3RSZWZyZXNoQWN0aXZlID0gJGV2ZW50XCI+PC9hcHAtd29ya2Zsb3ctcHJvZ3JhbT4gLS0+XHJcbiAgICAgICAgICAgIDxhcHAtd29ya2Zsb3ctcHJvZ3JhbSAjcHJvZ3JhbSAqbmdTd2l0Y2hDYXNlPVwiJ0NBUFInXCIgW3Byb2dyYW1UeXBlXT1cInByb2dyYW1UeXBlXCIgKHBpY2tlckNoYW5nZWQpPVwiZGVjaWRlVmlld01vcmVPcHRpb24oJGV2ZW50KVwiIChkaXNjb25uZWN0UmVmcmVzaCk9XCJpc0hvc3RSZWZyZXNoQWN0aXZlID0gJGV2ZW50XCIgKHNob3dDb25maXJtYXRpb25BbGVydCk9XCJzaG93Q29uZmlybWF0aW9uUG9wdXAoJGV2ZW50KVwiIChjbG9zZVdvcmtmbG93KT1cImNsb3NlV29ya2Zsb3dFbmdpbmUoJGV2ZW50KVwiIChwaWNrZXJDaGFuZ2VkKT1cImRlY2lkZVZpZXdNb3JlT3B0aW9uKCRldmVudClcIiAocG9wdWxhdGVPcHRpb24pPVwicG9wdWxhdGVNb3JlT3B0aW9uKCRldmVudClcIiAocmVmcmVzaEZvcm0pPVwib25SZXNldEZvcm0oKVwiIFttb2RlXT1cIm1vZGVcIiBbcHJvZ3JhbUlkXT1cImlkXCIgKG9uUmVtb3ZpbmdSb2xlKT1cIm9uUmVtb3ZpbmdSb2xlKCRldmVudClcIj48L2FwcC13b3JrZmxvdy1wcm9ncmFtPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInN1Ym1pdFwiIFtjbGFzcy5kaXNhYmxlZF09XCIhaXNXb3JrZmxvd1NlbGVjdG9yRW5hYmxlZFwiICpuZ1N3aXRjaENhc2U9XCInQUFSJ1wiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwic3VibWl0KClcIj57e21vZGU9PT0nRURJVCcgJiYgb3BlbmVkRnJvbSAhPT0gJ01PVkVfVE9fUkVHSVNURVInID8gJ1VwZGF0ZScgOiAnQWRkJ319PC9idXR0b24+XHJcbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJzdWJtaXRcIiBbY2xhc3MuZGlzYWJsZWRdPVwiIWlzV29ya2Zsb3dTZWxlY3RvckVuYWJsZWQgfHwgIXJpc2tCdWxrVXBsb2FkPy5jYXRlZ29yeT8uc2VsZWN0ZWRDYXRlZ29yeVwiXHJcbiAgICAgICAgICAgICAoY2xpY2spPVwiYnVsa1VwbG9hZEJyb3dzZSgnQU1SJylcIlxyXG4gICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidBTVInXCI+QnJvd3NlPC9idXR0b24+XHJcbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJzdWJtaXRcIiBbY2xhc3MuZGlzYWJsZWRdPVwiIWlzV29ya2Zsb3dTZWxlY3RvckVuYWJsZWRcIiAoY2xpY2spPVwiYnVsa1VwbG9hZEJyb3dzZSgnQ01SJylcIlxyXG4gICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidDTVInXCI+QnJvd3NlPC9idXR0b24+XHJcbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJzdWJtaXRcIiBbY2xhc3MuZGlzYWJsZWRdPVwiIWlzV29ya2Zsb3dTZWxlY3RvckVuYWJsZWRcIiAoY2xpY2spPVwic3VibWl0KClcIlxyXG4gICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidDQVInXCI+e3tlbnRydXN0QnV0dG9uTmFtZSAhPT0gJycgPyBlbnRydXN0QnV0dG9uTmFtZSA6ICdFbnRydXN0J319PC9idXR0b24+XHJcbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJzdWJtaXRcIiBbY2xhc3MuZGlzYWJsZWRdPVwiIWlzV29ya2Zsb3dTZWxlY3RvckVuYWJsZWRcIiAoY2xpY2spPVwic3VibWl0KClcIlxyXG4gICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidDQVAnXCI+e3soY29udmVydEZpbGVEYXRhLmZpbGVOYW1lKT8nTkVYVCc6KChtb2RlPT0nRURJVCcpPyAnVXBkYXRlJzonQ29udGludWUgdG8gZHJhZnQnKX19PC9idXR0b24+XHJcbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJzdWJtaXRcIiBbY2xhc3MuZGlzYWJsZWRdPVwiIWlzV29ya2Zsb3dTZWxlY3RvckVuYWJsZWRcIiAqbmdTd2l0Y2hDYXNlPVwiJ0NBUydcIj5cclxuICAgICAgICAgICAgICAgQ29udGludWUgdG8gZHJhZnQgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJzdWJtaXRcIiBbY2xhc3MuZGlzYWJsZWRdPVwiIWlzV29ya2Zsb3dTZWxlY3RvckVuYWJsZWRcIiAqbmdTd2l0Y2hDYXNlPVwiJ0xBSSdcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInN1Ym1pdCgpXCI+e3ttb2RlPT09J0VESVQnID8gJ1VwZGF0ZScgOiAnQWRkJ319PC9idXR0b24+XHJcbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJzdWJtaXRcIiBbY2xhc3MuZGlzYWJsZWRdPVwiIWlzV29ya2Zsb3dTZWxlY3RvckVuYWJsZWRcIiAqbmdTd2l0Y2hDYXNlPVwiJ0FBQSdcIiAoY2xpY2spPVwic3VibWl0KClcIj57e21vZGUgPT09ICdFRElUJyA/ICdVcGRhdGUnIDogJ0NvbnRpbnVlIHRvIGRyYWZ0J319PC9idXR0b24+XHJcbiAgICAgICAgICAgIDxidXR0b24gIGNsYXNzPVwic3VibWl0XCIgW2NsYXNzLmRpc2FibGVkXT1cIiFpc1dvcmtmbG93U2VsZWN0b3JFbmFibGVkXCIgKGNsaWNrKT1cImJ1bGtVcGxvYWRCcm93c2UoJ0lBQScpXCJcclxuICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInSUFBJ1wiPkJyb3dzZTwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiAgY2xhc3M9XCJzdWJtaXRcIiBbY2xhc3MuZGlzYWJsZWRdPVwiIWlzV29ya2Zsb3dTZWxlY3RvckVuYWJsZWQgfHwgIXByb2dyYW0/LnZhbGlkXCIgKGNsaWNrKT1cInN1Ym1pdCgnQ0FQUicpXCJcclxuICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInQ0FQUidcIj5TYXZlPC9idXR0b24+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93blwiICpuZ0lmPVwid29ya2Zsb3dMaXN0XCIgKGNsaWNrKT1cImNsb3NlV29ya2Zsb3dMaXN0KClcIiBbc3R5bGUudG9wLnB4XT1cImRyb3Bkb3duVG9wXCJcclxuICAgICAgICAgICAgICAgIFtzdHlsZS5sZWZ0LnB4XT1cImRyb3Bkb3duTGVmdFwiIFtzdHlsZS53aWR0aC5weF09XCJkcm9wZG93bldpZHRoXCI+XHJcbiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJkcm9wZG93bi1saXN0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCB3b3JrZmxvdyBvZiB3b3JrZmxvd1R5cGVMaXN0XCIgKGNsaWNrKT1cImNoYW5nZVdvcmtmbG93KCRldmVudCx3b3JrZmxvdylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGFwcC1jcy1yYWRpbyBbdmFsdWVdPVwid29ya2Zsb3c/LmNvZGVcIiBbY2hlY2tlZF09XCJjdXJyZW50V29ya2Zsb3c/LmNvZGU9PT13b3JrZmxvdz8uY29kZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3t3b3JrZmxvdz8ud29ya2Zsb3dOYW1lfX08L2FwcC1jcy1yYWRpbz5cclxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93bi1vdmVybGF5XCIgKm5nSWY9XCJ3b3JrZmxvd0xpc3RcIiAoY2xpY2spPVwiY2xvc2VXb3JrZmxvd0xpc3QoKVwiPjwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxhcHAtY29uZmlybWF0aW9uLWFsZXJ0IChhY3Rpb24pPVwiY29uZmlybVdvcmtmbG93Q2hhbmdlKCRldmVudClcIiAqbmdJZj1cImNvbmZpcm1hdGlvbkFsZXJ0Q29uZmlnPy5pc1Zpc2libGVcIlxyXG4gICAgICAgICAgICBbbWVzc2FnZV09XCJjb25maXJtYXRpb25BbGVydENvbmZpZz8ubWVzc2FnZVwiIFtjb25maWddPVwiY29uZmlybWF0aW9uQWxlcnRDb25maWdcIj48L2FwcC1jb25maXJtYXRpb24tYWxlcnQ+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==