vcomply-workflow-engine 3.5.3 → 3.5.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/add-multiple-responsibility/add-multiple-responsibility.component.mjs +897 -0
- package/esm2022/lib/add-multiple-responsibility-container/add-multiple-responsibility-container.component.mjs +204 -0
- package/esm2022/lib/add-multiple-responsibility-with-tab/add-multiple-responsibility-with-tab.component.mjs +1569 -0
- package/esm2022/lib/add-multiple-risk/add-multiple-risk.component.mjs +774 -0
- package/esm2022/lib/configurations.mjs +6 -0
- package/esm2022/lib/confirmation-alert/confirmation-alert.component.mjs +28 -0
- package/esm2022/lib/constants/link-responsibility.constants.mjs +9 -0
- package/esm2022/lib/constants/time.constants.mjs +3 -0
- package/esm2022/lib/create-documents/create-documents.component.mjs +145 -0
- package/esm2022/lib/formgroup/cs-checkbox/cs-checkbox.component.mjs +36 -0
- package/esm2022/lib/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.mjs +35 -0
- package/esm2022/lib/formgroup/cs-radio/cs-radio.component.mjs +34 -0
- package/esm2022/lib/formgroup/cs-radio-group/cs-radio-group.component.mjs +14 -0
- package/esm2022/lib/formgroup/cs-select/cs-select.component.mjs +95 -0
- package/esm2022/lib/formgroup/cs-switch/cs-switch.component.mjs +31 -0
- package/esm2022/lib/formgroup/formgroup.module.mjs +56 -0
- package/esm2022/lib/formgroup/pipes/pascal.pipe.mjs +19 -0
- package/esm2022/lib/formgroup/select/cs-option/cs-option.component.mjs +42 -0
- package/esm2022/lib/formgroup/select/cs-select/cs-select.component.mjs +106 -0
- package/esm2022/lib/formgroup/select/select.module.mjs +21 -0
- package/esm2022/lib/formgroup/select/select.service.mjs +48 -0
- package/esm2022/lib/interfaces/categoryList.mjs +2 -0
- package/esm2022/lib/interfaces/confirmation-alert.mjs +2 -0
- package/esm2022/lib/interfaces/issue-data.mjs +2 -0
- package/esm2022/lib/log-an-issue/log-an-issue.component.mjs +1212 -0
- package/esm2022/lib/more-option/more-option.component.mjs +790 -0
- package/esm2022/lib/pipes/data-type.pipe.mjs +16 -0
- package/esm2022/lib/pipes/dom-sanitizer.pipe.mjs +24 -0
- package/esm2022/lib/pipes/filter.pipe.mjs +24 -0
- package/esm2022/lib/pipes/is-read-more.pipe.mjs +21 -0
- package/esm2022/lib/pipes/list-mapper.pipe.mjs +21 -0
- package/esm2022/lib/pipes/pipes.module.mjs +67 -0
- package/esm2022/lib/pipes/search.pipe.mjs +37 -0
- package/esm2022/lib/pipes/space-breaker.pipe.mjs +21 -0
- package/esm2022/lib/pipes/uncategorized-filter.pipe.mjs +21 -0
- package/esm2022/lib/pipes/user-filter.pipe.mjs +30 -0
- package/esm2022/lib/services/bulk-upload.service.mjs +44 -0
- package/esm2022/lib/services/common.service.mjs +41 -0
- package/esm2022/lib/sharedComponents/approval-workflow/approval-create-form/approval-create-form.component.mjs +265 -0
- package/esm2022/lib/sharedComponents/approval-workflow/approval-workflow-list/approval-workflow-list.component.mjs +73 -0
- package/esm2022/lib/sharedComponents/approval-workflow/approval-workflow.component.mjs +83 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/add-logic/add-logic.component.mjs +347 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/add-page-details/add-page-details.component.mjs +75 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/add-response-set-popup/add-response-set-popup.component.mjs +33 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/add-segment-popup/add-segment-popup.component.mjs +124 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/assessment-settings/assessment-settings.component.mjs +154 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/build.module.mjs +111 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/checkbox/checkbox.component.mjs +37 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/choice-settings-panel/choice-settings-panel.component.mjs +74 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/date-time/date-time.component.mjs +18 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/dropdown/dropdown.component.mjs +37 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/image-choice/image-choice.component.mjs +15 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/matrix-dropdown/matrix-dropdown.component.mjs +14 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/matrix-rating-scale/matrix-rating-scale.component.mjs +14 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/multiple-choice/multiple-choice.component.mjs +37 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/multiple-textbox/multiple-textbox.component.mjs +14 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/ranking/ranking.component.mjs +14 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/slider/slider.component.mjs +14 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/star-rating/star-rating.component.mjs +28 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/thank-you/thank-you.component.mjs +14 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/weightage-selector/weightage-selector.component.mjs +56 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/build/welcome/welcome.component.mjs +14 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/editor-wrapper/editor-wrapper.component.mjs +179 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/errorInterface/error.mjs +2 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/errorInterface/question.mjs +2 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/errorInterface/validateStructure.mjs +2 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/logic/logic.component.mjs +104 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-checkbox/logic-checkbox.component.mjs +26 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-comment-box/logic-comment-box.component.mjs +14 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-date-time/logic-date-time.component.mjs +56 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-dropdown/logic-dropdown.component.mjs +33 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-image-choice/logic-image-choice.component.mjs +17 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-choice/logic-multiple-choice.component.mjs +26 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-textbox/logic-multiple-textbox.component.mjs +16 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-questions.module.mjs +101 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-ranking/logic-ranking.component.mjs +16 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-single-textbox/logic-single-textbox.component.mjs +24 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-slider/logic-slider.component.mjs +14 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-star-rating/logic-star-rating.component.mjs +16 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/move/move.component.mjs +103 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/page-header/page-header.component.mjs +23 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/pipes/current-page-question.pipe.mjs +22 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/pipes/error-message.pipe.mjs +27 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/pipes/formatter.pipe.mjs +21 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/pipes/question-filter.pipe.mjs +17 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/pipes/question-page-filter.pipe.mjs +16 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/pipes/question-parser.pipe.mjs +21 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/pipes/type-of.pipe.mjs +16 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-checkbox/preview-checkbox.component.mjs +28 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-comment-box/preview-comment-box.component.mjs +14 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-date-time/preview-date-time.component.mjs +49 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-dropdown/preview-dropdown.component.mjs +30 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-file-upload/preview-file-upload.component.mjs +21 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-image-choice/preview-image-choice.component.mjs +17 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-dropdown/preview-matrix-dropdown.component.mjs +31 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-rating-scale/preview-matrix-rating-scale.component.mjs +28 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-choice/preview-multiple-choice.component.mjs +28 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-textbox/preview-multiple-textbox.component.mjs +16 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-ranking/preview-ranking.component.mjs +16 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-single-textbox/preview-single-textbox.component.mjs +16 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-slider/preview-slider.component.mjs +14 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-star-rating/preview-star-rating.component.mjs +16 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-wrapper/preview-wrapper.component.mjs +78 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview.module.mjs +152 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/thank-you/thank-you.component.mjs +14 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/preview/welcome/welcome.component.mjs +14 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/question-type/question-type.component.mjs +19 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/quick-settings/quick-settings.component.mjs +252 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/response-selector/response-selector.component.mjs +35 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/setting-anonymous/setting-anonymous.component.mjs +61 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/setting-response-segment/setting-response-segment.component.mjs +163 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/single-line-editor/single-line-editor.component.mjs +118 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/toolkit/toolkit.component.mjs +23 -0
- package/esm2022/lib/sharedComponents/assessment-editor/components/welcome-thankyou/welcome-thankyou.component.mjs +97 -0
- package/esm2022/lib/sharedComponents/assessment-editor/create-assessment-container/create-assessment-container.component.mjs +493 -0
- package/esm2022/lib/sharedComponents/assessment-editor/create-assessment.module.mjs +154 -0
- package/esm2022/lib/sharedComponents/assessment-editor/services/editor.service.mjs +635 -0
- package/esm2022/lib/sharedComponents/assessment-editor/services/result-criteria.service.mjs +48 -0
- package/esm2022/lib/sharedComponents/assessment-editor/services/validator.service.mjs +546 -0
- package/esm2022/lib/sharedComponents/assessment-list/assessment-list-loader/assessment-list-loader.component.mjs +15 -0
- package/esm2022/lib/sharedComponents/assessment-list/assessment-list-sub-loader/assessment-list-sub-loader.component.mjs +15 -0
- package/esm2022/lib/sharedComponents/assessment-list/assessment-list.component.mjs +207 -0
- package/esm2022/lib/sharedComponents/assessment-list/service/assessment.interface.mjs +2 -0
- package/esm2022/lib/sharedComponents/assessment-list/service/assessment.service.mjs +31 -0
- package/esm2022/lib/sharedComponents/assessment-preview/assessment-preview.module.mjs +113 -0
- package/esm2022/lib/sharedComponents/assessment-preview/checkbox-question/checkbox-question.component.mjs +33 -0
- package/esm2022/lib/sharedComponents/assessment-preview/date-time/date-time.component.mjs +53 -0
- package/esm2022/lib/sharedComponents/assessment-preview/description-preview/description-preview.component.mjs +24 -0
- package/esm2022/lib/sharedComponents/assessment-preview/device/device.component.mjs +21 -0
- package/esm2022/lib/sharedComponents/assessment-preview/file-upload/file-upload.component.mjs +22 -0
- package/esm2022/lib/sharedComponents/assessment-preview/page-header/page-header.component.mjs +21 -0
- package/esm2022/lib/sharedComponents/assessment-preview/pipes/get-section-order.pipe.mjs +24 -0
- package/esm2022/lib/sharedComponents/assessment-preview/preview/preview.component.mjs +62 -0
- package/esm2022/lib/sharedComponents/assessment-preview/preview-container/preview-container.component.mjs +22 -0
- package/esm2022/lib/sharedComponents/assessment-preview/quick-settings/quick-settings.component.mjs +22 -0
- package/esm2022/lib/sharedComponents/assessment-preview/radio-question/radio-question.component.mjs +33 -0
- package/esm2022/lib/sharedComponents/assessment-preview/section-details/section-details.component.mjs +20 -0
- package/esm2022/lib/sharedComponents/assessment-preview/select-question/select-question.component.mjs +35 -0
- package/esm2022/lib/sharedComponents/assessment-preview/single-textbox/single-textbox.component.mjs +21 -0
- package/esm2022/lib/sharedComponents/assessment-preview/welcome/welcome.component.mjs +17 -0
- package/esm2022/lib/sharedComponents/audit-category-list/audit-category-list.component.mjs +61 -0
- package/esm2022/lib/sharedComponents/audit-category-list/audit-category.model.mjs +2 -0
- package/esm2022/lib/sharedComponents/bulk-responsibility-view/bulk-responsibility-view.component.mjs +72 -0
- package/esm2022/lib/sharedComponents/bulk-view/bulk-view.component.mjs +75 -0
- package/esm2022/lib/sharedComponents/category-list/category-list.component.mjs +84 -0
- package/esm2022/lib/sharedComponents/category-multiselect/category-multi-select.component.mjs +166 -0
- package/esm2022/lib/sharedComponents/checkbox-list/checkbox-list.component.mjs +92 -0
- package/esm2022/lib/sharedComponents/checkpoint/checkpoints/checkpoints.component.mjs +315 -0
- package/esm2022/lib/sharedComponents/checkpoint/checkpoints-list/checkpoints-list.component.mjs +25 -0
- package/esm2022/lib/sharedComponents/checkpoint/checkpoints-questions/checkpoints-questions.component.mjs +149 -0
- package/esm2022/lib/sharedComponents/checkpoint-floating-bar/checkpoint-floating-bar.component.mjs +48 -0
- package/esm2022/lib/sharedComponents/checkpoint-policy/checkpoints-policy-container/checkpoints-policy-container.component.mjs +77 -0
- package/esm2022/lib/sharedComponents/checkpoint-policy/checkpoints-policy-list/checkpoints-policy-list.component.mjs +14 -0
- package/esm2022/lib/sharedComponents/checkpoint-policy/checkpoints-policy-questions/checkpoints-policy-questions.component.mjs +197 -0
- package/esm2022/lib/sharedComponents/directive/autofocus.directive.mjs +22 -0
- package/esm2022/lib/sharedComponents/directive/conditional-focus.directive.mjs +35 -0
- package/esm2022/lib/sharedComponents/directive/drag-drop.directive.mjs +52 -0
- package/esm2022/lib/sharedComponents/directive/input-trim.directive.mjs +21 -0
- package/esm2022/lib/sharedComponents/directive/scroll-in-view.directive.mjs +35 -0
- package/esm2022/lib/sharedComponents/document-section/document-section.component.mjs +184 -0
- package/esm2022/lib/sharedComponents/floating-bar/floating-bar.component.mjs +122 -0
- package/esm2022/lib/sharedComponents/floating-bar/floating-bar.module.mjs +20 -0
- package/esm2022/lib/sharedComponents/format-and-evidence/format-and-evidence.component.mjs +308 -0
- package/esm2022/lib/sharedComponents/framework-list/framework-integration-interfaces.mjs +2 -0
- package/esm2022/lib/sharedComponents/framework-list/framework-list-table/framework-list-table.component.mjs +38 -0
- package/esm2022/lib/sharedComponents/framework-list/framework-list.component.mjs +429 -0
- package/esm2022/lib/sharedComponents/framework-list/framework-responsibility-table/framework-responsibility-table.component.mjs +43 -0
- package/esm2022/lib/sharedComponents/framework-list/framework-table-loader/framework-table-loader.component.mjs +15 -0
- package/esm2022/lib/sharedComponents/framework-list/parent-table/parent-table.component.mjs +95 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-annual/frequency-annual.component.mjs +297 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-biannual/frequency-biannual.component.mjs +218 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-checkbox-list/frequency-checkbox-list.component.mjs +36 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-container/frequency-container.component.mjs +303 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-daily/frequency-daily.component.mjs +152 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-due-date/due-date.contant.mjs +21 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-due-date/frequency-due-date.component.mjs +83 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-lifecycle/frequency-lifecycle.component.mjs +199 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-lifecycle/lifecycl.constant.mjs +12 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-monthly/frequency-monthly.component.mjs +223 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-on-completion-of/frequency-on-completion-of.component.mjs +170 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-one-time/frequency-one-time.component.mjs +189 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-ongoing/frequency-ongoing.component.mjs +75 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-quarterly/frequency-quarterly.component.mjs +214 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-radio-list/frequency-radio-list.component.mjs +36 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-random/frequency-random.component.mjs +253 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-responsibility-list/frequency-responsibility-list.component.mjs +213 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-top/frequency-top.component.mjs +133 -0
- package/esm2022/lib/sharedComponents/frequency/frequency-weekly/frequency-weekly.component.mjs +200 -0
- package/esm2022/lib/sharedComponents/frequency/frequency.service.mjs +573 -0
- package/esm2022/lib/sharedComponents/frequency-dialog/frequency-dialog-annual/frequency-dialog-annual.component.mjs +300 -0
- package/esm2022/lib/sharedComponents/frequency-dialog/frequency-dialog-biannual/frequency-dialog-biannual.component.mjs +216 -0
- package/esm2022/lib/sharedComponents/frequency-dialog/frequency-dialog-checkbox-list/frequency-dialog-checkbox-list.component.mjs +29 -0
- package/esm2022/lib/sharedComponents/frequency-dialog/frequency-dialog-container/frequency-dialog-container.component.mjs +296 -0
- package/esm2022/lib/sharedComponents/frequency-dialog/frequency-dialog-due-date/frequency-dialog-due-date.component.mjs +110 -0
- package/esm2022/lib/sharedComponents/frequency-dialog/frequency-dialog-monthly/frequency-dialog-monthly.component.mjs +227 -0
- package/esm2022/lib/sharedComponents/frequency-dialog/frequency-dialog-one-time/frequency-dialog-one-time.component.mjs +213 -0
- package/esm2022/lib/sharedComponents/frequency-dialog/frequency-dialog-quarterly/frequency-dialog-quarterly.component.mjs +212 -0
- package/esm2022/lib/sharedComponents/frequency-dialog/frequency-dialog-radio-list/frequency-dialog-radio-list.component.mjs +33 -0
- package/esm2022/lib/sharedComponents/frequency-dialog/frequency-dialog-top/frequency-dialog-top.component.mjs +128 -0
- package/esm2022/lib/sharedComponents/frequency-dialog/frequency-dialog-weekly/frequency-dialog-weekly.component.mjs +197 -0
- package/esm2022/lib/sharedComponents/group-users-list/group-users-list.component.mjs +259 -0
- package/esm2022/lib/sharedComponents/link-program/link-program/link-program.component.mjs +472 -0
- package/esm2022/lib/sharedComponents/link-program/link-program/program-list-model.mjs +2 -0
- package/esm2022/lib/sharedComponents/link-program/program-integration-interfaces.mjs +2 -0
- package/esm2022/lib/sharedComponents/link-program/restapi.service.mjs +149 -0
- package/esm2022/lib/sharedComponents/link-program/tooltip-validation.pipe.mjs +28 -0
- package/esm2022/lib/sharedComponents/link-responsibility/link-responsibility.component.mjs +221 -0
- package/esm2022/lib/sharedComponents/list-loader/list-loader.component.mjs +15 -0
- package/esm2022/lib/sharedComponents/list-loader/list-loader.module.mjs +18 -0
- package/esm2022/lib/sharedComponents/no-data/no-data.component.mjs +36 -0
- package/esm2022/lib/sharedComponents/no-data/no-data.module.mjs +18 -0
- package/esm2022/lib/sharedComponents/owner-list/owner-list.component.mjs +176 -0
- package/esm2022/lib/sharedComponents/pipes/array-filter.pipe.mjs +18 -0
- package/esm2022/lib/sharedComponents/pipes/filterPipe.mjs +30 -0
- package/esm2022/lib/sharedComponents/pipes/rcTreeToolTip.pipe.mjs +26 -0
- package/esm2022/lib/sharedComponents/pipes/short-merge.pipe.mjs +24 -0
- package/esm2022/lib/sharedComponents/pipes/spaceTrim.pipe.mjs +18 -0
- package/esm2022/lib/sharedComponents/pipes/within-data.pipe.mjs +21 -0
- package/esm2022/lib/sharedComponents/policy-access/policy-access.component.mjs +88 -0
- package/esm2022/lib/sharedComponents/program-listing/program-list-model.mjs +2 -0
- package/esm2022/lib/sharedComponents/program-listing/program-listing.component.mjs +739 -0
- package/esm2022/lib/sharedComponents/radio-list/radio-list.component.mjs +82 -0
- package/esm2022/lib/sharedComponents/radio-list-with-pagination/link-treatment-loader/link-treatment-loader.component.mjs +14 -0
- package/esm2022/lib/sharedComponents/radio-list-with-pagination/radio-list.component.mjs +128 -0
- package/esm2022/lib/sharedComponents/responsibility-centers-list/rc-list.module.mjs +40 -0
- package/esm2022/lib/sharedComponents/responsibility-centers-list/responsibility-centers-list.component.mjs +125 -0
- package/esm2022/lib/sharedComponents/responsibility-risk-selector/responsibility-risk-selector.component.mjs +81 -0
- package/esm2022/lib/sharedComponents/review-frequency/review-frequency.component.mjs +44 -0
- package/esm2022/lib/sharedComponents/risk-classification/risk-classification.component.mjs +102 -0
- package/esm2022/lib/sharedComponents/roles-list/roles-list.component.mjs +30 -0
- package/esm2022/lib/sharedComponents/select-approvers/select-approvers.component.mjs +78 -0
- package/esm2022/lib/sharedComponents/table-card-loader/table-card-loader.component.mjs +15 -0
- package/esm2022/lib/sharedComponents/users-radio-list/users-radio-list.component.mjs +83 -0
- package/esm2022/lib/sharedComponents/v-loader/loader/loader.component.mjs +21 -0
- package/esm2022/lib/sharedComponents/v-loader/loader-inline/loader-inline.component.mjs +21 -0
- package/esm2022/lib/sharedComponents/v-loader/v-loader.module.mjs +19 -0
- package/esm2022/lib/ui-kit/action-dialog/action-dialog.module.mjs +21 -0
- package/esm2022/lib/ui-kit/action-dialog/active/active.component.mjs +32 -0
- package/esm2022/lib/ui-kit/action-dialog/deactivate/deactivate.component.mjs +33 -0
- package/esm2022/lib/ui-kit/action-dialog/delete/delete.component.mjs +26 -0
- package/esm2022/lib/ui-kit/action-dialog/duplicate/duplicate.component.mjs +28 -0
- package/esm2022/lib/ui-kit/click-outside/click-outside.directive.mjs +29 -0
- package/esm2022/lib/ui-kit/click-outside/click-outside.module.mjs +22 -0
- package/esm2022/lib/ui-kit/dialog/dialog-config.mjs +3 -0
- package/esm2022/lib/ui-kit/dialog/dialog-injector.mjs +14 -0
- package/esm2022/lib/ui-kit/dialog/dialog-ref.mjs +11 -0
- package/esm2022/lib/ui-kit/dialog/dialog.component.mjs +88 -0
- package/esm2022/lib/ui-kit/dialog/dialog.module.mjs +20 -0
- package/esm2022/lib/ui-kit/dialog/dialog.service.mjs +58 -0
- package/esm2022/lib/ui-kit/dialog/insertion.directive.mjs +16 -0
- package/esm2022/lib/ui-kit/directive/directive.module.mjs +24 -0
- package/esm2022/lib/ui-kit/directive/stop-propagation.directive.mjs +20 -0
- package/esm2022/lib/ui-kit/editor-loader/editor-loader/editor-loader.component.mjs +15 -0
- package/esm2022/lib/ui-kit/editor-loader/editor-loader.module.mjs +22 -0
- package/esm2022/lib/ui-kit/format-html.pipe.mjs +20 -0
- package/esm2022/lib/ui-kit/formgroup/click-outside.directive.mjs +29 -0
- package/esm2022/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.mjs +31 -0
- package/esm2022/lib/ui-kit/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.mjs +35 -0
- package/esm2022/lib/ui-kit/formgroup/cs-radio/cs-radio.component.mjs +30 -0
- package/esm2022/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.mjs +14 -0
- package/esm2022/lib/ui-kit/formgroup/cs-select/cs-select.component.mjs +100 -0
- package/esm2022/lib/ui-kit/formgroup/cs-switch/cs-switch.component.mjs +32 -0
- package/esm2022/lib/ui-kit/formgroup/formgroup.module.mjs +60 -0
- package/esm2022/lib/ui-kit/formgroup/pipes/pascal.pipe.mjs +19 -0
- package/esm2022/lib/ui-kit/formgroup/pipes/searchMultiSelect.pipe.mjs +24 -0
- package/esm2022/lib/ui-kit/line-loader/line-loader.component.mjs +15 -0
- package/esm2022/lib/ui-kit/line-loader/line-loader.module.mjs +18 -0
- package/esm2022/lib/ui-kit/no-data/no-data.component.mjs +45 -0
- package/esm2022/lib/ui-kit/no-data/no-data.module.mjs +18 -0
- package/esm2022/lib/ui-kit/pagination/pagination/pagination.component.mjs +116 -0
- package/esm2022/lib/ui-kit/pagination/pagination.module.mjs +28 -0
- package/esm2022/lib/ui-kit/popover/popover-event.directive.mjs +28 -0
- package/esm2022/lib/ui-kit/popover/popover-longpress.directive.mjs +44 -0
- package/esm2022/lib/ui-kit/popover/popover.component.mjs +138 -0
- package/esm2022/lib/ui-kit/popover/popover.directive.mjs +97 -0
- package/esm2022/lib/ui-kit/popover/popover.module.mjs +23 -0
- package/esm2022/lib/ui-kit/popover/popover.service.mjs +15 -0
- package/esm2022/lib/ui-kit/popover-hover/popover-hover.component.mjs +109 -0
- package/esm2022/lib/ui-kit/popover-hover/popover-hover.directive.mjs +34 -0
- package/esm2022/lib/ui-kit/popover-hover/popover-hover.module.mjs +31 -0
- package/esm2022/lib/ui-kit/popover-hover/popover-hover.service.mjs +14 -0
- package/esm2022/lib/ui-kit/smiley-dialog/smiley-dialog.component.mjs +43 -0
- package/esm2022/lib/ui-kit/smiley-dialog/smiley-dialog.module.mjs +18 -0
- package/esm2022/lib/ui-kit/smiley-dialog-inline/smiley-dialog-inline.component.mjs +43 -0
- package/esm2022/lib/ui-kit/smiley-dialog-inline/smiley-dialog-inline.module.mjs +18 -0
- package/esm2022/lib/ui-kit/snack-bar/snack-bar.component.mjs +51 -0
- package/esm2022/lib/ui-kit/snack-bar/snack-bar.module.mjs +18 -0
- package/esm2022/lib/ui-kit/snack-bar/snack-bar.service.mjs +32 -0
- package/esm2022/lib/ui-kit/time-picker/constants/constant.mjs +5 -0
- package/esm2022/lib/ui-kit/time-picker/time-picker/time-picker.component.mjs +220 -0
- package/esm2022/lib/ui-kit/time-picker/time-picker.module.mjs +24 -0
- package/esm2022/lib/ui-kit/tooltip/tooltip.directive.mjs +156 -0
- package/esm2022/lib/ui-kit/tooltip/tooltip.module.mjs +18 -0
- package/esm2022/lib/workflow/grc-object/grc-object-container/grc-object-container.component.mjs +831 -0
- package/esm2022/lib/workflow/grc-object/grc-object.module.mjs +64 -0
- package/esm2022/lib/workflow/shared/components/attributes/attributes-checkbox/attributes-checkbox.component.mjs +95 -0
- package/esm2022/lib/workflow/shared/components/attributes/attributes-dropdown/attributes-dropdown.component.mjs +110 -0
- package/esm2022/lib/workflow/shared/components/attributes/attributes-text-box/attributes-text-box.component.mjs +118 -0
- package/esm2022/lib/workflow/shared/components/attributes/attributes.component.mjs +100 -0
- package/esm2022/lib/workflow/shared/components/attributes/date-picker/date-picker.component.mjs +116 -0
- package/esm2022/lib/workflow/shared/components/edit-mode/edit-mode.component.mjs +216 -0
- package/esm2022/lib/workflow/shared/components/grc-category-listing/grc-category-listing.component.mjs +119 -0
- package/esm2022/lib/workflow/shared/components/grc-object-list/grc-object-list.component.mjs +198 -0
- package/esm2022/lib/workflow/shared/components/grc-responsibility-listing/grc-responsibility-listing.component.mjs +202 -0
- package/esm2022/lib/workflow/shared/components/grc-risk-listing/grc-risk-listing.component.mjs +191 -0
- package/esm2022/lib/workflow/shared/components/grc-sub-category-listing/grc-sub-category-listing.component.mjs +86 -0
- package/esm2022/lib/workflow/shared/components/list-popup/list-popup.component.mjs +209 -0
- package/esm2022/lib/workflow/shared/components/program-responsibility-listing/program-responsibility-listing.component.mjs +411 -0
- package/esm2022/lib/workflow/shared/components/risk-category-risk-listing/risk-category-risk-listing.component.mjs +241 -0
- package/esm2022/lib/workflow/shared/components/table-card/table-card.component.mjs +32 -0
- package/esm2022/lib/workflow/shared/components/text-field/text-field.component.mjs +143 -0
- package/esm2022/lib/workflow/shared/components/text-field-icon/text-field-icon.component.mjs +56 -0
- package/esm2022/lib/workflow/shared/constants/cdn-link.constant.mjs +11 -0
- package/esm2022/lib/workflow/shared/constants/field-text.constant.mjs +17 -0
- package/esm2022/lib/workflow/shared/constants/grcObject.constant.mjs +88 -0
- package/esm2022/lib/workflow/shared/constants/link-responsibility.constant.mjs +19 -0
- package/esm2022/lib/workflow/shared/constants/message.contstant.mjs +5 -0
- package/esm2022/lib/workflow/shared/constants/pagination-limits.constant.mjs +6 -0
- package/esm2022/lib/workflow/shared/constants/svg-link.constant.mjs +4 -0
- package/esm2022/lib/workflow/shared/constants/validation-message.constant.mjs +8 -0
- package/esm2022/lib/workflow/shared/interfaces/add-grc.mjs +2 -0
- package/esm2022/lib/workflow/shared/services/grc.service.mjs +310 -0
- package/esm2022/lib/workflow/shared/workflow-pipes/get-selected-value.pipe.mjs +30 -0
- package/esm2022/lib/workflow/shared/workflow-pipes/is-attributes-valid.pipe.mjs +48 -0
- package/esm2022/lib/workflow/shared/workflow-pipes/unique-responsibilities.pipe.mjs +24 -0
- package/esm2022/lib/workflow/shared/workflow-pipes/workflow-pipes.module.mjs +32 -0
- package/esm2022/lib/workflow-assessment/import-an-assessment/import-an-assessment.component.mjs +668 -0
- package/esm2022/lib/workflow-assessment/workflow-assessment.component.mjs +254 -0
- package/esm2022/lib/workflow-compliance/workflow-compliance.component.mjs +3913 -0
- package/esm2022/lib/workflow-engine-container/workflow-engine-container.component.mjs +734 -0
- package/esm2022/lib/workflow-engine.module.mjs +467 -0
- package/esm2022/lib/workflow-engine.service.mjs +14 -0
- package/esm2022/lib/workflow-interfaces/create-policy-form.mjs +2 -0
- package/esm2022/lib/workflow-pagination/workflow-pagination.component.mjs +116 -0
- package/esm2022/lib/workflow-policy/workflow-policy.component.mjs +1875 -0
- package/esm2022/lib/workflow-program/constants.mjs +51 -0
- package/esm2022/lib/workflow-program/create-program-ui/assessment-picker/assessment-loader/assessment-loader.component.mjs +15 -0
- package/esm2022/lib/workflow-program/create-program-ui/assessment-picker/assessment-picker.component.mjs +292 -0
- package/esm2022/lib/workflow-program/create-program-ui/assessment-picker/assessment-sub-loader/assessment-sub-loader.component.mjs +15 -0
- package/esm2022/lib/workflow-program/create-program-ui/assessment-picker/assessment.service.mjs +43 -0
- package/esm2022/lib/workflow-program/create-program-ui/assessment-picker/selected-assessment.pipe.mjs +22 -0
- package/esm2022/lib/workflow-program/create-program-ui/assessment-picker/workflow-pagination/workflow-pagination.component.mjs +116 -0
- package/esm2022/lib/workflow-program/create-program-ui/checkbox/checkbox.component.mjs +39 -0
- package/esm2022/lib/workflow-program/create-program-ui/create-program-ui.module.mjs +194 -0
- package/esm2022/lib/workflow-program/create-program-ui/cs-switch/cs-switch.component.mjs +44 -0
- package/esm2022/lib/workflow-program/create-program-ui/custom-field/custom-field.component.mjs +82 -0
- package/esm2022/lib/workflow-program/create-program-ui/define-framework-listing/define-framework-listing.component.mjs +267 -0
- package/esm2022/lib/workflow-program/create-program-ui/define-framework-listing/framework.service.mjs +44 -0
- package/esm2022/lib/workflow-program/create-program-ui/define-framework-listing/loader/loader.component.mjs +15 -0
- package/esm2022/lib/workflow-program/create-program-ui/define-framework-listing/pipes/category-all-select.pipe.mjs +23 -0
- package/esm2022/lib/workflow-program/create-program-ui/define-framework-listing/pipes/search.pipe.mjs +23 -0
- package/esm2022/lib/workflow-program/create-program-ui/define-framework-listing/pipes/sub-cat-indeter.pipe.mjs +26 -0
- package/esm2022/lib/workflow-program/create-program-ui/define-framework-listing/pipes/tooltip-message.pipe.mjs +68 -0
- package/esm2022/lib/workflow-program/create-program-ui/directives/input-trim.directive.mjs +21 -0
- package/esm2022/lib/workflow-program/create-program-ui/file-pill/file-pill.component.mjs +27 -0
- package/esm2022/lib/workflow-program/create-program-ui/floating-bar/floating-bar.component.mjs +106 -0
- package/esm2022/lib/workflow-program/create-program-ui/form-field/form-field.component.mjs +16 -0
- package/esm2022/lib/workflow-program/create-program-ui/input-with-pill/input-with-pill.component.mjs +30 -0
- package/esm2022/lib/workflow-program/create-program-ui/pagination/pagination/pagination.component.mjs +166 -0
- package/esm2022/lib/workflow-program/create-program-ui/pagination/pagination.module.mjs +28 -0
- package/esm2022/lib/workflow-program/create-program-ui/pipes/array-concat.pipe.mjs +16 -0
- package/esm2022/lib/workflow-program/create-program-ui/pipes/assessment-resolver.pipe.mjs +27 -0
- package/esm2022/lib/workflow-program/create-program-ui/pipes/filter.pipe.mjs +30 -0
- package/esm2022/lib/workflow-program/create-program-ui/pipes/list-to-id.pipe.mjs +16 -0
- package/esm2022/lib/workflow-program/create-program-ui/pipes/pager.pipe.mjs +21 -0
- package/esm2022/lib/workflow-program/create-program-ui/pipes/ref-disconnect.pipe.mjs +17 -0
- package/esm2022/lib/workflow-program/create-program-ui/pipes/search.pipe.mjs +23 -0
- package/esm2022/lib/workflow-program/create-program-ui/role-list/loader/loader.component.mjs +15 -0
- package/esm2022/lib/workflow-program/create-program-ui/role-list/role-list.component.mjs +240 -0
- package/esm2022/lib/workflow-program/create-program-ui/tab-selector/tab-selector.component.mjs +43 -0
- package/esm2022/lib/workflow-program/create-program-ui/tick-mark/tick-mark.component.mjs +15 -0
- package/esm2022/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.mjs +434 -0
- package/esm2022/lib/workflow-program/workflow-program.component.mjs +1550 -0
- package/esm2022/lib/workflow-risk/workflow-risk.component.mjs +1642 -0
- package/esm2022/lib/workflow-services/add-risk.service.mjs +150 -0
- package/esm2022/lib/workflow-services/assessment.service.mjs +117 -0
- package/esm2022/lib/workflow-services/auth.service.mjs +229 -0
- package/esm2022/lib/workflow-services/frequency.service.mjs +173 -0
- package/esm2022/lib/workflow-services/log-issue.service.mjs +360 -0
- package/esm2022/lib/workflow-services/policy.service.mjs +163 -0
- package/esm2022/lib/workflow-services/programs.service.mjs +319 -0
- package/esm2022/lib/workflow-services/responsibility.service.mjs +293 -0
- package/esm2022/lib/workflow-services/token-decoder.service.mjs +38 -0
- package/esm2022/lib/workflow-services/ui-kit.service.mjs +17 -0
- package/esm2022/lib/workflow-survey-form/workflow-survey-form.component.mjs +26 -0
- package/esm2022/public-api.mjs +8 -0
- package/esm2022/vcomply-workflow-engine.mjs +5 -0
- package/fesm2022/vcomply-workflow-engine.mjs +44351 -0
- package/fesm2022/vcomply-workflow-engine.mjs.map +1 -0
- package/lib/add-multiple-responsibility/add-multiple-responsibility.component.d.ts +1 -1
- package/lib/add-multiple-responsibility-container/add-multiple-responsibility-container.component.d.ts +1 -1
- package/lib/add-multiple-responsibility-with-tab/add-multiple-responsibility-with-tab.component.d.ts +1 -1
- package/lib/add-multiple-risk/add-multiple-risk.component.d.ts +1 -1
- package/lib/confirmation-alert/confirmation-alert.component.d.ts +1 -1
- package/lib/create-documents/create-documents.component.d.ts +1 -1
- package/lib/formgroup/cs-checkbox/cs-checkbox.component.d.ts +1 -1
- package/lib/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.d.ts +1 -1
- package/lib/formgroup/cs-radio/cs-radio.component.d.ts +1 -1
- package/lib/formgroup/cs-radio-group/cs-radio-group.component.d.ts +1 -1
- package/lib/formgroup/cs-select/cs-select.component.d.ts +1 -1
- package/lib/formgroup/cs-switch/cs-switch.component.d.ts +1 -1
- package/lib/formgroup/select/cs-option/cs-option.component.d.ts +1 -1
- package/lib/formgroup/select/cs-select/cs-select.component.d.ts +1 -1
- package/lib/log-an-issue/log-an-issue.component.d.ts +7 -3
- package/lib/more-option/more-option.component.d.ts +1 -1
- package/lib/services/common.service.d.ts +14 -0
- package/lib/sharedComponents/approval-workflow/approval-create-form/approval-create-form.component.d.ts +1 -1
- package/lib/sharedComponents/approval-workflow/approval-workflow-list/approval-workflow-list.component.d.ts +1 -1
- package/lib/sharedComponents/approval-workflow/approval-workflow.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/add-logic/add-logic.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/add-page-details/add-page-details.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/add-response-set-popup/add-response-set-popup.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/add-segment-popup/add-segment-popup.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/assessment-settings/assessment-settings.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/build/checkbox/checkbox.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/build/choice-settings-panel/choice-settings-panel.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/build/date-time/date-time.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/build/dropdown/dropdown.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/build/image-choice/image-choice.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/build/matrix-dropdown/matrix-dropdown.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/build/matrix-rating-scale/matrix-rating-scale.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/build/multiple-choice/multiple-choice.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/build/multiple-textbox/multiple-textbox.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/build/ranking/ranking.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/build/slider/slider.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/build/star-rating/star-rating.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/build/thank-you/thank-you.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/build/weightage-selector/weightage-selector.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/build/welcome/welcome.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/editor-wrapper/editor-wrapper.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/logic/logic.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-checkbox/logic-checkbox.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-comment-box/logic-comment-box.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-date-time/logic-date-time.component.d.ts +7 -3
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-dropdown/logic-dropdown.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-image-choice/logic-image-choice.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-choice/logic-multiple-choice.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-textbox/logic-multiple-textbox.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-ranking/logic-ranking.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-single-textbox/logic-single-textbox.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-slider/logic-slider.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-star-rating/logic-star-rating.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/move/move.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/page-header/page-header.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-checkbox/preview-checkbox.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-comment-box/preview-comment-box.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-date-time/preview-date-time.component.d.ts +8 -5
- package/lib/sharedComponents/assessment-editor/components/preview/preview-dropdown/preview-dropdown.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-file-upload/preview-file-upload.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-image-choice/preview-image-choice.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-dropdown/preview-matrix-dropdown.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-rating-scale/preview-matrix-rating-scale.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-choice/preview-multiple-choice.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-textbox/preview-multiple-textbox.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-ranking/preview-ranking.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-single-textbox/preview-single-textbox.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-slider/preview-slider.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-star-rating/preview-star-rating.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-wrapper/preview-wrapper.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/preview/thank-you/thank-you.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/preview/welcome/welcome.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/question-type/question-type.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/quick-settings/quick-settings.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/response-selector/response-selector.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/setting-anonymous/setting-anonymous.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/setting-response-segment/setting-response-segment.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/single-line-editor/single-line-editor.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/toolkit/toolkit.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/components/welcome-thankyou/welcome-thankyou.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-editor/create-assessment-container/create-assessment-container.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-list/assessment-list-loader/assessment-list-loader.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-list/assessment-list-sub-loader/assessment-list-sub-loader.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-list/assessment-list.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-preview/checkbox-question/checkbox-question.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-preview/date-time/date-time.component.d.ts +8 -5
- package/lib/sharedComponents/assessment-preview/description-preview/description-preview.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-preview/device/device.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-preview/file-upload/file-upload.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-preview/page-header/page-header.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-preview/preview/preview.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-preview/preview-container/preview-container.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-preview/quick-settings/quick-settings.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-preview/radio-question/radio-question.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-preview/section-details/section-details.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-preview/select-question/select-question.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-preview/single-textbox/single-textbox.component.d.ts +1 -1
- package/lib/sharedComponents/assessment-preview/welcome/welcome.component.d.ts +1 -1
- package/lib/sharedComponents/audit-category-list/audit-category-list.component.d.ts +1 -1
- package/lib/sharedComponents/bulk-responsibility-view/bulk-responsibility-view.component.d.ts +1 -1
- package/lib/sharedComponents/bulk-view/bulk-view.component.d.ts +1 -1
- package/lib/sharedComponents/category-list/category-list.component.d.ts +1 -1
- package/lib/sharedComponents/category-multiselect/category-multi-select.component.d.ts +1 -1
- package/lib/sharedComponents/checkbox-list/checkbox-list.component.d.ts +1 -1
- package/lib/sharedComponents/checkpoint/checkpoints/checkpoints.component.d.ts +1 -1
- package/lib/sharedComponents/checkpoint/checkpoints-list/checkpoints-list.component.d.ts +1 -1
- package/lib/sharedComponents/checkpoint/checkpoints-questions/checkpoints-questions.component.d.ts +6 -2
- package/lib/sharedComponents/checkpoint-floating-bar/checkpoint-floating-bar.component.d.ts +1 -1
- package/lib/sharedComponents/checkpoint-policy/checkpoints-policy-container/checkpoints-policy-container.component.d.ts +1 -1
- package/lib/sharedComponents/checkpoint-policy/checkpoints-policy-list/checkpoints-policy-list.component.d.ts +1 -1
- package/lib/sharedComponents/checkpoint-policy/checkpoints-policy-questions/checkpoints-policy-questions.component.d.ts +1 -1
- package/lib/sharedComponents/directive/autofocus.directive.d.ts +1 -1
- package/lib/sharedComponents/directive/conditional-focus.directive.d.ts +1 -1
- package/lib/sharedComponents/directive/drag-drop.directive.d.ts +1 -1
- package/lib/sharedComponents/directive/input-trim.directive.d.ts +1 -1
- package/lib/sharedComponents/directive/scroll-in-view.directive.d.ts +1 -1
- package/lib/sharedComponents/document-section/document-section.component.d.ts +1 -1
- package/lib/sharedComponents/floating-bar/floating-bar.component.d.ts +1 -1
- package/lib/sharedComponents/format-and-evidence/format-and-evidence.component.d.ts +1 -1
- package/lib/sharedComponents/framework-list/framework-list-table/framework-list-table.component.d.ts +1 -1
- package/lib/sharedComponents/framework-list/framework-list.component.d.ts +1 -1
- package/lib/sharedComponents/framework-list/framework-responsibility-table/framework-responsibility-table.component.d.ts +1 -1
- package/lib/sharedComponents/framework-list/framework-table-loader/framework-table-loader.component.d.ts +1 -1
- package/lib/sharedComponents/framework-list/parent-table/parent-table.component.d.ts +1 -1
- package/lib/sharedComponents/frequency/frequency-annual/frequency-annual.component.d.ts +1 -1
- package/lib/sharedComponents/frequency/frequency-biannual/frequency-biannual.component.d.ts +1 -1
- package/lib/sharedComponents/frequency/frequency-checkbox-list/frequency-checkbox-list.component.d.ts +1 -1
- package/lib/sharedComponents/frequency/frequency-container/frequency-container.component.d.ts +1 -1
- package/lib/sharedComponents/frequency/frequency-daily/frequency-daily.component.d.ts +1 -1
- package/lib/sharedComponents/frequency/frequency-due-date/frequency-due-date.component.d.ts +1 -1
- package/lib/sharedComponents/frequency/frequency-lifecycle/frequency-lifecycle.component.d.ts +10 -4
- package/lib/sharedComponents/frequency/frequency-monthly/frequency-monthly.component.d.ts +1 -1
- package/lib/sharedComponents/frequency/frequency-on-completion-of/frequency-on-completion-of.component.d.ts +1 -1
- package/lib/sharedComponents/frequency/frequency-one-time/frequency-one-time.component.d.ts +9 -5
- package/lib/sharedComponents/frequency/frequency-ongoing/frequency-ongoing.component.d.ts +1 -1
- package/lib/sharedComponents/frequency/frequency-quarterly/frequency-quarterly.component.d.ts +1 -1
- package/lib/sharedComponents/frequency/frequency-radio-list/frequency-radio-list.component.d.ts +1 -1
- package/lib/sharedComponents/frequency/frequency-random/frequency-random.component.d.ts +1 -1
- package/lib/sharedComponents/frequency/frequency-responsibility-list/frequency-responsibility-list.component.d.ts +1 -1
- package/lib/sharedComponents/frequency/frequency-top/frequency-top.component.d.ts +1 -1
- package/lib/sharedComponents/frequency/frequency-weekly/frequency-weekly.component.d.ts +1 -1
- package/lib/sharedComponents/frequency/frequency.service.d.ts +1 -0
- package/lib/sharedComponents/frequency-dialog/frequency-dialog-annual/frequency-dialog-annual.component.d.ts +1 -1
- package/lib/sharedComponents/frequency-dialog/frequency-dialog-biannual/frequency-dialog-biannual.component.d.ts +1 -1
- package/lib/sharedComponents/frequency-dialog/frequency-dialog-checkbox-list/frequency-dialog-checkbox-list.component.d.ts +1 -1
- package/lib/sharedComponents/frequency-dialog/frequency-dialog-container/frequency-dialog-container.component.d.ts +1 -1
- package/lib/sharedComponents/frequency-dialog/frequency-dialog-due-date/frequency-dialog-due-date.component.d.ts +1 -1
- package/lib/sharedComponents/frequency-dialog/frequency-dialog-monthly/frequency-dialog-monthly.component.d.ts +1 -1
- package/lib/sharedComponents/frequency-dialog/frequency-dialog-one-time/frequency-dialog-one-time.component.d.ts +10 -5
- package/lib/sharedComponents/frequency-dialog/frequency-dialog-quarterly/frequency-dialog-quarterly.component.d.ts +1 -1
- package/lib/sharedComponents/frequency-dialog/frequency-dialog-radio-list/frequency-dialog-radio-list.component.d.ts +1 -1
- package/lib/sharedComponents/frequency-dialog/frequency-dialog-top/frequency-dialog-top.component.d.ts +1 -1
- package/lib/sharedComponents/frequency-dialog/frequency-dialog-weekly/frequency-dialog-weekly.component.d.ts +1 -1
- package/lib/sharedComponents/group-users-list/group-users-list.component.d.ts +1 -1
- package/lib/sharedComponents/link-program/link-program/link-program.component.d.ts +1 -1
- package/lib/sharedComponents/link-responsibility/link-responsibility.component.d.ts +1 -1
- package/lib/sharedComponents/list-loader/list-loader.component.d.ts +1 -1
- package/lib/sharedComponents/no-data/no-data.component.d.ts +1 -1
- package/lib/sharedComponents/owner-list/owner-list.component.d.ts +1 -1
- package/lib/sharedComponents/policy-access/policy-access.component.d.ts +1 -1
- package/lib/sharedComponents/program-listing/program-listing.component.d.ts +1 -1
- package/lib/sharedComponents/radio-list/radio-list.component.d.ts +1 -1
- package/lib/sharedComponents/radio-list-with-pagination/link-treatment-loader/link-treatment-loader.component.d.ts +1 -1
- package/lib/sharedComponents/radio-list-with-pagination/radio-list.component.d.ts +1 -1
- package/lib/sharedComponents/responsibility-centers-list/responsibility-centers-list.component.d.ts +1 -1
- package/lib/sharedComponents/responsibility-risk-selector/responsibility-risk-selector.component.d.ts +1 -1
- package/lib/sharedComponents/review-frequency/review-frequency.component.d.ts +1 -1
- package/lib/sharedComponents/risk-classification/risk-classification.component.d.ts +1 -1
- package/lib/sharedComponents/roles-list/roles-list.component.d.ts +1 -1
- package/lib/sharedComponents/select-approvers/select-approvers.component.d.ts +1 -1
- package/lib/sharedComponents/table-card-loader/table-card-loader.component.d.ts +1 -1
- package/lib/sharedComponents/users-radio-list/users-radio-list.component.d.ts +1 -1
- package/lib/sharedComponents/v-loader/loader/loader.component.d.ts +1 -1
- package/lib/sharedComponents/v-loader/loader-inline/loader-inline.component.d.ts +1 -1
- package/lib/ui-kit/action-dialog/active/active.component.d.ts +1 -1
- package/lib/ui-kit/action-dialog/deactivate/deactivate.component.d.ts +1 -1
- package/lib/ui-kit/action-dialog/delete/delete.component.d.ts +1 -1
- package/lib/ui-kit/action-dialog/duplicate/duplicate.component.d.ts +1 -1
- package/lib/ui-kit/click-outside/click-outside.directive.d.ts +1 -1
- package/lib/ui-kit/dialog/dialog-injector.d.ts +2 -2
- package/lib/ui-kit/dialog/dialog.component.d.ts +6 -4
- package/lib/ui-kit/dialog/dialog.service.d.ts +3 -3
- package/lib/ui-kit/dialog/insertion.directive.d.ts +1 -1
- package/lib/ui-kit/directive/stop-propagation.directive.d.ts +1 -1
- package/lib/ui-kit/editor-loader/editor-loader/editor-loader.component.d.ts +1 -1
- package/lib/ui-kit/formgroup/click-outside.directive.d.ts +1 -1
- package/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.d.ts +1 -1
- package/lib/ui-kit/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.d.ts +1 -1
- package/lib/ui-kit/formgroup/cs-radio/cs-radio.component.d.ts +1 -1
- package/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.d.ts +1 -1
- package/lib/ui-kit/formgroup/cs-select/cs-select.component.d.ts +1 -1
- package/lib/ui-kit/formgroup/cs-switch/cs-switch.component.d.ts +1 -1
- package/lib/ui-kit/line-loader/line-loader.component.d.ts +1 -1
- package/lib/ui-kit/no-data/no-data.component.d.ts +1 -1
- package/lib/ui-kit/pagination/pagination/pagination.component.d.ts +1 -1
- package/lib/ui-kit/popover/popover-event.directive.d.ts +1 -1
- package/lib/ui-kit/popover/popover-longpress.directive.d.ts +1 -1
- package/lib/ui-kit/popover/popover.component.d.ts +1 -1
- package/lib/ui-kit/popover/popover.directive.d.ts +1 -1
- package/lib/ui-kit/popover-hover/popover-hover.component.d.ts +1 -1
- package/lib/ui-kit/popover-hover/popover-hover.directive.d.ts +1 -1
- package/lib/ui-kit/smiley-dialog/smiley-dialog.component.d.ts +1 -1
- package/lib/ui-kit/smiley-dialog-inline/smiley-dialog-inline.component.d.ts +1 -1
- package/lib/ui-kit/snack-bar/snack-bar.component.d.ts +1 -1
- package/lib/ui-kit/time-picker/time-picker/time-picker.component.d.ts +1 -1
- package/lib/ui-kit/tooltip/tooltip.directive.d.ts +1 -1
- package/lib/workflow/grc-object/grc-object-container/grc-object-container.component.d.ts +1 -1
- package/lib/workflow/shared/components/attributes/attributes-checkbox/attributes-checkbox.component.d.ts +1 -1
- package/lib/workflow/shared/components/attributes/attributes-dropdown/attributes-dropdown.component.d.ts +1 -1
- package/lib/workflow/shared/components/attributes/attributes-text-box/attributes-text-box.component.d.ts +1 -1
- package/lib/workflow/shared/components/attributes/attributes.component.d.ts +1 -1
- package/lib/workflow/shared/components/attributes/date-picker/date-picker.component.d.ts +1 -1
- package/lib/workflow/shared/components/edit-mode/edit-mode.component.d.ts +1 -1
- package/lib/workflow/shared/components/grc-category-listing/grc-category-listing.component.d.ts +1 -1
- package/lib/workflow/shared/components/grc-object-list/grc-object-list.component.d.ts +1 -1
- package/lib/workflow/shared/components/grc-responsibility-listing/grc-responsibility-listing.component.d.ts +1 -1
- package/lib/workflow/shared/components/grc-risk-listing/grc-risk-listing.component.d.ts +1 -1
- package/lib/workflow/shared/components/grc-sub-category-listing/grc-sub-category-listing.component.d.ts +1 -1
- package/lib/workflow/shared/components/list-popup/list-popup.component.d.ts +1 -1
- package/lib/workflow/shared/components/program-responsibility-listing/program-responsibility-listing.component.d.ts +1 -1
- package/lib/workflow/shared/components/risk-category-risk-listing/risk-category-risk-listing.component.d.ts +1 -1
- package/lib/workflow/shared/components/table-card/table-card.component.d.ts +1 -1
- package/lib/workflow/shared/components/text-field/text-field.component.d.ts +1 -1
- package/lib/workflow/shared/components/text-field-icon/text-field-icon.component.d.ts +1 -1
- package/lib/workflow-assessment/import-an-assessment/import-an-assessment.component.d.ts +1 -1
- package/lib/workflow-assessment/workflow-assessment.component.d.ts +1 -1
- package/lib/workflow-compliance/workflow-compliance.component.d.ts +1 -1
- package/lib/workflow-engine-container/workflow-engine-container.component.d.ts +1 -1
- package/lib/workflow-pagination/workflow-pagination.component.d.ts +1 -1
- package/lib/workflow-policy/workflow-policy.component.d.ts +7 -3
- package/lib/workflow-program/create-program-ui/assessment-picker/assessment-loader/assessment-loader.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/assessment-picker/assessment-picker.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/assessment-picker/assessment-sub-loader/assessment-sub-loader.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/assessment-picker/workflow-pagination/workflow-pagination.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/checkbox/checkbox.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/cs-switch/cs-switch.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/custom-field/custom-field.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/define-framework-listing/define-framework-listing.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/define-framework-listing/loader/loader.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/directives/input-trim.directive.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/file-pill/file-pill.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/floating-bar/floating-bar.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/form-field/form-field.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/input-with-pill/input-with-pill.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/pagination/pagination/pagination.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/role-list/loader/loader.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/role-list/role-list.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/tab-selector/tab-selector.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/tick-mark/tick-mark.component.d.ts +1 -1
- package/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.d.ts +1 -1
- package/lib/workflow-program/workflow-program.component.d.ts +1 -1
- package/lib/workflow-risk/workflow-risk.component.d.ts +1 -1
- package/lib/workflow-services/auth.service.d.ts +0 -1
- package/lib/workflow-services/log-issue.service.d.ts +1 -0
- package/lib/workflow-survey-form/workflow-survey-form.component.d.ts +1 -1
- package/package.json +5 -12
|
@@ -0,0 +1,774 @@
|
|
|
1
|
+
import { Component, Output, EventEmitter, } from '@angular/core';
|
|
2
|
+
import { cloneDeep } from 'lodash';
|
|
3
|
+
import * as XLSX from 'xlsx';
|
|
4
|
+
import moment from 'moment/moment';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "../workflow-services/add-risk.service";
|
|
7
|
+
import * as i2 from "../workflow-services/auth.service";
|
|
8
|
+
import * as i3 from "../ui-kit/snack-bar/snack-bar.service";
|
|
9
|
+
import * as i4 from "../workflow-services/frequency.service";
|
|
10
|
+
import * as i5 from "@angular/forms";
|
|
11
|
+
import * as i6 from "@angular/common";
|
|
12
|
+
import * as i7 from "../ui-kit/tooltip/tooltip.directive";
|
|
13
|
+
import * as i8 from "../ui-kit/line-loader/line-loader.component";
|
|
14
|
+
import * as i9 from "../sharedComponents/v-loader/loader-inline/loader-inline.component";
|
|
15
|
+
import * as i10 from "../ui-kit/smiley-dialog-inline/smiley-dialog-inline.component";
|
|
16
|
+
import * as i11 from "../sharedComponents/category-list/category-list.component";
|
|
17
|
+
import * as i12 from "../sharedComponents/bulk-view/bulk-view.component";
|
|
18
|
+
export class AddMultipleRiskComponent {
|
|
19
|
+
constructor(riskService, authService, snackBar, frequencyService) {
|
|
20
|
+
this.riskService = riskService;
|
|
21
|
+
this.authService = authService;
|
|
22
|
+
this.snackBar = snackBar;
|
|
23
|
+
this.frequencyService = frequencyService;
|
|
24
|
+
this.pickerChanged = new EventEmitter();
|
|
25
|
+
this.populateOption = new EventEmitter();
|
|
26
|
+
this.closeWorkflow = new EventEmitter();
|
|
27
|
+
this.disconnectRefresh = new EventEmitter();
|
|
28
|
+
this.categoryList = {
|
|
29
|
+
strategic: {
|
|
30
|
+
name: 'STRATEGIC',
|
|
31
|
+
data: [],
|
|
32
|
+
},
|
|
33
|
+
operational: {
|
|
34
|
+
name: 'OPERATIONAL',
|
|
35
|
+
data: [],
|
|
36
|
+
},
|
|
37
|
+
compliance: {
|
|
38
|
+
name: 'COMPLIANCE',
|
|
39
|
+
data: [],
|
|
40
|
+
},
|
|
41
|
+
others: {
|
|
42
|
+
name: 'OTHERS',
|
|
43
|
+
data: [],
|
|
44
|
+
},
|
|
45
|
+
};
|
|
46
|
+
this.category = {
|
|
47
|
+
type: 'strategic',
|
|
48
|
+
selectedCategory: '',
|
|
49
|
+
};
|
|
50
|
+
this.riskBulkUpload = {
|
|
51
|
+
header: [],
|
|
52
|
+
weightFactors: [],
|
|
53
|
+
risks: [],
|
|
54
|
+
};
|
|
55
|
+
this.templateInfo = {
|
|
56
|
+
memberId: '',
|
|
57
|
+
categoryId: '',
|
|
58
|
+
ownerList: [],
|
|
59
|
+
rcList: [],
|
|
60
|
+
mitigationList: [],
|
|
61
|
+
likelihood: [],
|
|
62
|
+
impact: [],
|
|
63
|
+
velocity: [],
|
|
64
|
+
vulnerability: [],
|
|
65
|
+
};
|
|
66
|
+
this.isLoader = false;
|
|
67
|
+
this.showCategoryList = false;
|
|
68
|
+
this.templateDownloaded = false;
|
|
69
|
+
this.downloadInProgress = false;
|
|
70
|
+
this.loader = false;
|
|
71
|
+
this.isFileEmpty = false;
|
|
72
|
+
this.isWrongFile = false;
|
|
73
|
+
this.isWrongFormat = false;
|
|
74
|
+
this.showExcel = false;
|
|
75
|
+
this.memberId = 0;
|
|
76
|
+
this.organizationId = 0;
|
|
77
|
+
this.errorMessage = ' invalid file error';
|
|
78
|
+
this.downloadStatus = 'NOT_DOWNLOADING';
|
|
79
|
+
this.downloadPercent = 0;
|
|
80
|
+
this.smileyMessage = `You're All Set! We're uploading the risks. The risk owners will be notified once the risks have been uploaded.`;
|
|
81
|
+
this.actionButtons = [
|
|
82
|
+
{ buttonText: 'Add More Risks', class: 'white-btn', id: 'addMore' },
|
|
83
|
+
{ buttonText: 'View Risk', class: 'blue-btn', id: 'viewRisks' },
|
|
84
|
+
];
|
|
85
|
+
this.showSmiley = false;
|
|
86
|
+
this.member_obj_id = '';
|
|
87
|
+
this.defaultOwner = '';
|
|
88
|
+
this.frequencyType = [
|
|
89
|
+
'weekly',
|
|
90
|
+
'monthly',
|
|
91
|
+
'quarterly',
|
|
92
|
+
'biannual',
|
|
93
|
+
'annual',
|
|
94
|
+
'one time',
|
|
95
|
+
];
|
|
96
|
+
}
|
|
97
|
+
ngOnChanges(changes) { }
|
|
98
|
+
ngOnInit() {
|
|
99
|
+
this.pickerChanged.emit(false);
|
|
100
|
+
this.getCategoryList();
|
|
101
|
+
this.getSettingsInfo();
|
|
102
|
+
this.organizationId = this.authService.getOrganizationId();
|
|
103
|
+
this.memberId = this.authService.getMemberId();
|
|
104
|
+
this.member_obj_id = this.authService.getUserDetails()._id;
|
|
105
|
+
}
|
|
106
|
+
getCategoryList() {
|
|
107
|
+
this.isLoader = true;
|
|
108
|
+
this.riskService.getCategoryList().subscribe((res) => {
|
|
109
|
+
this.isLoader = false;
|
|
110
|
+
this.categoryList.strategic.data = res.strategic_arr;
|
|
111
|
+
this.categoryList.operational.data = res.operational_arr;
|
|
112
|
+
this.categoryList.compliance.data = res.compliance_arr;
|
|
113
|
+
this.categoryList.others.data = res.others_arr;
|
|
114
|
+
}, (err) => {
|
|
115
|
+
console.error(err);
|
|
116
|
+
this.isLoader = false;
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
saveSelectedCategory(category) {
|
|
120
|
+
if (this.category?.selectedCategory?.category_id !=
|
|
121
|
+
category?.selectedCategory?.category_id) {
|
|
122
|
+
this.downloadStatus = 'NOT_DOWNLOADING';
|
|
123
|
+
}
|
|
124
|
+
this.showCategoryList = false;
|
|
125
|
+
this.category = category;
|
|
126
|
+
const reference = document.querySelector('#scrollReference');
|
|
127
|
+
if (reference) {
|
|
128
|
+
reference.scrollIntoView({ behavior: 'smooth', block: 'center' });
|
|
129
|
+
}
|
|
130
|
+
this.reset();
|
|
131
|
+
}
|
|
132
|
+
removeCategory() {
|
|
133
|
+
this.category = {
|
|
134
|
+
type: 'strategic',
|
|
135
|
+
selectedCategory: '',
|
|
136
|
+
};
|
|
137
|
+
this.reset();
|
|
138
|
+
}
|
|
139
|
+
getSettingsInfo() {
|
|
140
|
+
this.riskService.getRiskSettingDetails().subscribe((res) => {
|
|
141
|
+
this.settingsInfo = res;
|
|
142
|
+
}, (err) => {
|
|
143
|
+
console.error(err);
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
triggerBrowseFile() {
|
|
147
|
+
const getFile = document.getElementById('fileInput');
|
|
148
|
+
if (getFile) {
|
|
149
|
+
getFile.click();
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
uploadedFile(event) {
|
|
153
|
+
try {
|
|
154
|
+
this.riskBulkUpload = {
|
|
155
|
+
header: [],
|
|
156
|
+
weightFactors: [],
|
|
157
|
+
risks: [],
|
|
158
|
+
};
|
|
159
|
+
this.templateInfo = {
|
|
160
|
+
memberId: '',
|
|
161
|
+
categoryId: '',
|
|
162
|
+
ownerList: [],
|
|
163
|
+
rcList: [],
|
|
164
|
+
mitigationList: [],
|
|
165
|
+
likelihood: [],
|
|
166
|
+
impact: [],
|
|
167
|
+
velocity: [],
|
|
168
|
+
vulnerability: [],
|
|
169
|
+
};
|
|
170
|
+
const reference = document.querySelector('#scrollReference');
|
|
171
|
+
if (reference) {
|
|
172
|
+
reference.scrollIntoView({ behavior: 'smooth', block: 'center' });
|
|
173
|
+
}
|
|
174
|
+
this.isFileEmpty = false;
|
|
175
|
+
this.isWrongFile = false;
|
|
176
|
+
this.isWrongFormat = false;
|
|
177
|
+
this.fileName = event.target.files[0].name;
|
|
178
|
+
const target = event.target;
|
|
179
|
+
// tslint:disable-next-line: curly
|
|
180
|
+
if (target.files.length !== 1)
|
|
181
|
+
throw new Error('Cannot use multiple files');
|
|
182
|
+
const reader = new FileReader();
|
|
183
|
+
reader.onload = (e) => {
|
|
184
|
+
const bstr = e.target.result;
|
|
185
|
+
const wb = XLSX.read(bstr, { type: 'binary' });
|
|
186
|
+
const wsname = wb.SheetNames[0];
|
|
187
|
+
const wsname1 = wb.SheetNames[1];
|
|
188
|
+
const ws = wb.Sheets[wsname];
|
|
189
|
+
const tempData = wb.Sheets[wsname1];
|
|
190
|
+
this.data = XLSX.utils.sheet_to_json(ws, {
|
|
191
|
+
header: 1,
|
|
192
|
+
});
|
|
193
|
+
const tData = XLSX.utils.sheet_to_json(tempData, { header: 1 });
|
|
194
|
+
const tempList = tData.filter((dataElement) => dataElement.length > 0);
|
|
195
|
+
this.templateInfo.memberId = tempList[0][56];
|
|
196
|
+
this.templateInfo.categoryId = tempList[0][55];
|
|
197
|
+
this.riskBulkUpload.header = cloneDeep(this.data[4].filter((dataElement) => dataElement.length > 0));
|
|
198
|
+
this.riskBulkUpload.weightFactors = cloneDeep(this.data[5].filter((weightFactor) => weightFactor.length > 0));
|
|
199
|
+
tempList.forEach((element) => {
|
|
200
|
+
if (element[8]) {
|
|
201
|
+
const member = {
|
|
202
|
+
name: element[8],
|
|
203
|
+
member_id: element[9],
|
|
204
|
+
};
|
|
205
|
+
this.templateInfo.ownerList.push(member);
|
|
206
|
+
}
|
|
207
|
+
if (element[2]) {
|
|
208
|
+
const mitigation = {
|
|
209
|
+
mitigationName: element[2],
|
|
210
|
+
mitigation_id: element[3],
|
|
211
|
+
};
|
|
212
|
+
this.templateInfo.mitigationList.push(mitigation);
|
|
213
|
+
}
|
|
214
|
+
if (element[6]) {
|
|
215
|
+
const rc = {
|
|
216
|
+
rcName: element[6],
|
|
217
|
+
rc_id: element[7],
|
|
218
|
+
owner_ids: element[11],
|
|
219
|
+
};
|
|
220
|
+
this.templateInfo.rcList.push(rc);
|
|
221
|
+
}
|
|
222
|
+
if (element[12]) {
|
|
223
|
+
this.templateInfo?.likelihood.push(element[12]);
|
|
224
|
+
}
|
|
225
|
+
if (element[13]) {
|
|
226
|
+
this.templateInfo?.impact.push(element[13]);
|
|
227
|
+
}
|
|
228
|
+
if (this.riskBulkUpload?.weightFactors?.includes('Velocity') &&
|
|
229
|
+
element[14]) {
|
|
230
|
+
this.templateInfo.velocity.push(element[14]);
|
|
231
|
+
}
|
|
232
|
+
if (this.riskBulkUpload?.weightFactors?.includes('Vulnerability') &&
|
|
233
|
+
element[15]) {
|
|
234
|
+
this.templateInfo.vulnerability.push(element[15]);
|
|
235
|
+
}
|
|
236
|
+
});
|
|
237
|
+
if (this.fileName.substr(-5) !== '.xlsx') {
|
|
238
|
+
this.errorMessage =
|
|
239
|
+
'The incorrect file has been uploaded. Please upload the template file for Risk Category:' +
|
|
240
|
+
this.category.selectedCategory.category_name +
|
|
241
|
+
' RETRY';
|
|
242
|
+
this.isWrongFile = true;
|
|
243
|
+
return;
|
|
244
|
+
}
|
|
245
|
+
if (this.riskBulkUpload.header[0] !==
|
|
246
|
+
'What risk would you like to manage?*') {
|
|
247
|
+
this.errorMessage =
|
|
248
|
+
'The incorrect file has been uploaded. Please upload the template file for Risk Category:' +
|
|
249
|
+
this.category.selectedCategory.category_name +
|
|
250
|
+
' RETRY';
|
|
251
|
+
this.isWrongFile = false;
|
|
252
|
+
this.isWrongFormat = true;
|
|
253
|
+
return;
|
|
254
|
+
}
|
|
255
|
+
this.data = this.data?.slice(7);
|
|
256
|
+
const defaultOwner = this.templateInfo?.ownerList?.findIndex((ele) => ele?.member_id == this.memberId);
|
|
257
|
+
if (defaultOwner != -1) {
|
|
258
|
+
this.defaultOwner = this.templateInfo.ownerList[defaultOwner].name;
|
|
259
|
+
}
|
|
260
|
+
else {
|
|
261
|
+
this.errorMessage =
|
|
262
|
+
'The incorrect file has been uploaded. Please upload the template file for Risk Category:' +
|
|
263
|
+
this.category.selectedCategory.category_name +
|
|
264
|
+
' RETRY';
|
|
265
|
+
this.isWrongFile = true;
|
|
266
|
+
return;
|
|
267
|
+
}
|
|
268
|
+
if (this.member_obj_id != this.templateInfo.memberId ||
|
|
269
|
+
this.category.selectedCategory._id != this.templateInfo.categoryId) {
|
|
270
|
+
this.errorMessage =
|
|
271
|
+
'The incorrect file has been uploaded. Please upload the template file for Risk Category:' +
|
|
272
|
+
this.category.selectedCategory.category_name +
|
|
273
|
+
' RETRY';
|
|
274
|
+
this.isWrongFile = true;
|
|
275
|
+
return;
|
|
276
|
+
}
|
|
277
|
+
const isEmpty = this.checkEmptyFile();
|
|
278
|
+
if (isEmpty) {
|
|
279
|
+
this.errorMessage =
|
|
280
|
+
'You have uploaded a blank template. Please add details for all mandatory fields. RETRY';
|
|
281
|
+
this.isFileEmpty = true;
|
|
282
|
+
this.isWrongFile = false;
|
|
283
|
+
this.isWrongFormat = false;
|
|
284
|
+
return;
|
|
285
|
+
}
|
|
286
|
+
else {
|
|
287
|
+
if (this.riskBulkUpload.header[6] === 'Risk Assessment Deadline*') {
|
|
288
|
+
this.assessmentDeadLine = true;
|
|
289
|
+
}
|
|
290
|
+
else {
|
|
291
|
+
this.assessmentDeadLine = false;
|
|
292
|
+
}
|
|
293
|
+
this.isFileEmpty = false;
|
|
294
|
+
this.isWrongFile = false;
|
|
295
|
+
this.isWrongFormat = false;
|
|
296
|
+
this.fileValue = '';
|
|
297
|
+
}
|
|
298
|
+
const riskData = this.data.filter((dataElement) => dataElement.length > 0);
|
|
299
|
+
riskData.forEach((risk, index) => {
|
|
300
|
+
// const obj: any = {
|
|
301
|
+
// riskName: risk[0] ?? '',
|
|
302
|
+
// description: risk[1] ?? '',
|
|
303
|
+
// rcName: risk[2] ?? '',
|
|
304
|
+
// owner: risk[3] ?? '',
|
|
305
|
+
// mitigationPriority: risk[4] ?? '',
|
|
306
|
+
// overseer: risk[5] ?? '',
|
|
307
|
+
// isValid: this.checkValidity(risk),
|
|
308
|
+
// }
|
|
309
|
+
// if (this.assessmentDeadLine) {
|
|
310
|
+
// obj.assessmentDeadLine = risk[6] ?? '';
|
|
311
|
+
// obj.likelihood = risk[7] ?? '';
|
|
312
|
+
// obj.impact = risk[8] ?? '';
|
|
313
|
+
// if (this.riskBulkUpload.weightFactors.length == 3) {
|
|
314
|
+
// obj.velocity = risk[9] ?? '';
|
|
315
|
+
// }
|
|
316
|
+
// if (this.riskBulkUpload.weightFactors.length == 4) {
|
|
317
|
+
// obj.velocity = risk[9] ?? '';
|
|
318
|
+
// obj.vulnerability = risk[10] ?? '';
|
|
319
|
+
// }
|
|
320
|
+
// const customTags: any = [];
|
|
321
|
+
// this.category.selectedCategory.custom_tag.forEach((tag: any, index: any) => {
|
|
322
|
+
// if (tag) {
|
|
323
|
+
// const cTag = {
|
|
324
|
+
// custom_tag_value: risk[7 + this.riskBulkUpload.weightFactors.length + index] ?? '',
|
|
325
|
+
// custom_tag_name: tag.tagName
|
|
326
|
+
// };
|
|
327
|
+
// customTags.push(cTag);
|
|
328
|
+
// }
|
|
329
|
+
// });
|
|
330
|
+
// obj.customTag = customTags;
|
|
331
|
+
// } else {
|
|
332
|
+
// obj.likelihood = risk[6] ?? '';
|
|
333
|
+
// obj.impact = risk[7] ?? '';
|
|
334
|
+
// if (this.riskBulkUpload.weightFactors.length == 3) {
|
|
335
|
+
// obj.velocity = risk[8] ?? '';
|
|
336
|
+
// }
|
|
337
|
+
// if (this.riskBulkUpload.weightFactors.length == 4) {
|
|
338
|
+
// obj.velocity = risk[8] ?? '';
|
|
339
|
+
// obj.vulnerability = risk[9] ?? '';
|
|
340
|
+
// }
|
|
341
|
+
// const customTags: any = [];
|
|
342
|
+
// this.category.selectedCategory.custom_tag.forEach((tag: any, index: any) => {
|
|
343
|
+
// if (tag) {
|
|
344
|
+
// const cTag = {
|
|
345
|
+
// custom_tag_value: risk[6 + this.riskBulkUpload.weightFactors.length + index] ?? '',
|
|
346
|
+
// custom_tag_name: tag.tagName
|
|
347
|
+
// };
|
|
348
|
+
// customTags.push(cTag);
|
|
349
|
+
// }
|
|
350
|
+
// });
|
|
351
|
+
// obj.customTag = customTags;
|
|
352
|
+
// }
|
|
353
|
+
let obj = this.setRiskDetails(risk);
|
|
354
|
+
console.log(riskData);
|
|
355
|
+
if (obj?.likelihood &&
|
|
356
|
+
!this.templateInfo?.likelihood.includes(obj?.likelihood)) {
|
|
357
|
+
obj.isValid = false;
|
|
358
|
+
}
|
|
359
|
+
if (obj?.impact && !this.templateInfo?.impact.includes(obj?.impact)) {
|
|
360
|
+
obj.isValid = false;
|
|
361
|
+
}
|
|
362
|
+
if (obj?.velocity &&
|
|
363
|
+
!this.templateInfo?.velocity.includes(obj?.velocity)) {
|
|
364
|
+
obj.isValid = false;
|
|
365
|
+
}
|
|
366
|
+
if (obj?.vulnerability &&
|
|
367
|
+
!this.templateInfo?.vulnerability.includes(obj?.vulnerability)) {
|
|
368
|
+
obj.isValid = false;
|
|
369
|
+
}
|
|
370
|
+
this.riskBulkUpload.risks.push(obj);
|
|
371
|
+
});
|
|
372
|
+
this.isFileEmpty = false;
|
|
373
|
+
this.isWrongFile = false;
|
|
374
|
+
this.isWrongFormat = false;
|
|
375
|
+
this.showExcel = true;
|
|
376
|
+
};
|
|
377
|
+
reader.readAsBinaryString(target?.files[0]);
|
|
378
|
+
}
|
|
379
|
+
catch (e) {
|
|
380
|
+
console.error(e);
|
|
381
|
+
}
|
|
382
|
+
}
|
|
383
|
+
checkEmptyFile() {
|
|
384
|
+
let isEmpty = false;
|
|
385
|
+
this.data = this.data.filter((dataElement) => dataElement.length > 0);
|
|
386
|
+
if (this.data.length < 1) {
|
|
387
|
+
isEmpty = true;
|
|
388
|
+
}
|
|
389
|
+
return isEmpty;
|
|
390
|
+
}
|
|
391
|
+
checkValidity(risk) {
|
|
392
|
+
const re = / |<br>/g;
|
|
393
|
+
let trimmedName = risk[0] ? risk[0].toString().replace(re, '').trim() : '';
|
|
394
|
+
trimmedName = trimmedName.replace(/ +/g, ' ');
|
|
395
|
+
// || (this.assessmentDeadLine && (!risk[6]))
|
|
396
|
+
if (!trimmedName ||
|
|
397
|
+
(risk[3] && risk[3] == risk[7]) ||
|
|
398
|
+
(!risk[3] && this.defaultOwner == risk[7]) ||
|
|
399
|
+
!risk[2] ||
|
|
400
|
+
!this.frequencyType?.includes(risk[5]?.toLowerCase())) {
|
|
401
|
+
return false;
|
|
402
|
+
}
|
|
403
|
+
else {
|
|
404
|
+
return true;
|
|
405
|
+
}
|
|
406
|
+
}
|
|
407
|
+
downloadTemplate() {
|
|
408
|
+
this.downloadStatus = 'DOWNLOADING';
|
|
409
|
+
this.downloadPercent = 0;
|
|
410
|
+
const today = new Date().toISOString().split('T');
|
|
411
|
+
const downloadDate = today[0];
|
|
412
|
+
const fileName = 'VComply - Risk Module - Add Multiple Risks - ' +
|
|
413
|
+
this.category?.selectedCategory?.category_name +
|
|
414
|
+
' - ' +
|
|
415
|
+
downloadDate +
|
|
416
|
+
'.xlsx';
|
|
417
|
+
this.riskService
|
|
418
|
+
.downloadTemplate(this.category.selectedCategory._id)
|
|
419
|
+
.subscribe((data) => {
|
|
420
|
+
if (data.loaded) {
|
|
421
|
+
this.downloadPercent = 100 * (data.loaded / data.total);
|
|
422
|
+
}
|
|
423
|
+
if (data.body) {
|
|
424
|
+
setTimeout(() => {
|
|
425
|
+
this.downloadStatus = this.riskService.downLoadFile(data.body, 'application/xlsx', fileName);
|
|
426
|
+
}, 1500);
|
|
427
|
+
}
|
|
428
|
+
}, (error) => {
|
|
429
|
+
console.error(error);
|
|
430
|
+
this.downloadStatus = 'DOWNLOADED';
|
|
431
|
+
});
|
|
432
|
+
}
|
|
433
|
+
submitRiskBulkUpload(completeAssessment) {
|
|
434
|
+
this.loader = true;
|
|
435
|
+
const payload = [];
|
|
436
|
+
this.riskBulkUpload.risks.forEach((risk) => {
|
|
437
|
+
let frequencyValue = '';
|
|
438
|
+
if (risk?.frequency.toLowerCase() === 'one time') {
|
|
439
|
+
const date = new Date();
|
|
440
|
+
date.setDate(date.getDate() + 1);
|
|
441
|
+
frequencyValue =
|
|
442
|
+
'0~' +
|
|
443
|
+
'' +
|
|
444
|
+
date.getFullYear() +
|
|
445
|
+
'~' +
|
|
446
|
+
(date.getMonth() + 1) +
|
|
447
|
+
'~' +
|
|
448
|
+
date.getDate();
|
|
449
|
+
}
|
|
450
|
+
else {
|
|
451
|
+
frequencyValue = this.frequencyService.shortHand_freqCal(risk?.frequency);
|
|
452
|
+
}
|
|
453
|
+
if (risk.isValid) {
|
|
454
|
+
const obj = {
|
|
455
|
+
title: risk?.riskName,
|
|
456
|
+
description: risk?.description,
|
|
457
|
+
category_custom_tag: risk?.customTag,
|
|
458
|
+
assessment_deadline_enable: this.settingsInfo?.assessment_deadline_enable,
|
|
459
|
+
owner: risk?.owner
|
|
460
|
+
? this.returnIds(risk?.owner, 'owner')
|
|
461
|
+
: this.returnIds(this.defaultOwner, 'owner'),
|
|
462
|
+
risk_owner: risk?.riskOwner,
|
|
463
|
+
category: this.category?.selectedCategory?.category_id
|
|
464
|
+
? [this.category?.selectedCategory?.category_id]
|
|
465
|
+
: [],
|
|
466
|
+
manage_oversight: this.returnIds(risk?.overseer, 'overseer'),
|
|
467
|
+
rc_id: this.returnIds(risk?.rcName, 'rc_id'),
|
|
468
|
+
head_ids: this.returnIds(risk?.rcName, 'rc_owner_ids'),
|
|
469
|
+
rating_arr: [
|
|
470
|
+
risk?.likelihood ? risk?.likelihood.split(' - ')[1] : 0,
|
|
471
|
+
risk?.impact ? risk?.impact.split(' - ')[1] : 0,
|
|
472
|
+
risk?.velocity ? risk?.velocity.split(' - ')[1] : 0,
|
|
473
|
+
risk?.vulnerability ? risk?.vulnerability.split(' - ')[1] : 0,
|
|
474
|
+
],
|
|
475
|
+
member_id: this.memberId,
|
|
476
|
+
organisation_id: this.organizationId,
|
|
477
|
+
risk_progress_flag: 1,
|
|
478
|
+
IfAssessmentDone: 0,
|
|
479
|
+
workshop_id: '',
|
|
480
|
+
complete_assessment: completeAssessment ? 1 : 0,
|
|
481
|
+
mitigation: this.returnIds(risk?.mitigationPriority, 'mitigation'),
|
|
482
|
+
weightage_enable: this.settingsInfo?.weightage_enable,
|
|
483
|
+
treatment_type: this.settingsInfo?.treatment_criteria,
|
|
484
|
+
weightage_details: this.settingsInfo?.weightage_details,
|
|
485
|
+
weightage_set_by: this.settingsInfo?.weightage_set_by,
|
|
486
|
+
weightage_str: [
|
|
487
|
+
this.settingsInfo?.weightage_details?.impact.value,
|
|
488
|
+
this.settingsInfo?.weightage_details?.likelihood.value,
|
|
489
|
+
this.settingsInfo?.weightage_details?.velocity.value,
|
|
490
|
+
this.settingsInfo?.weightage_details?.vulnerability.value,
|
|
491
|
+
],
|
|
492
|
+
// assessment_deadline_set_by: this.settingsInfo?.assessment_deadline_set_by, //check1 not appearing
|
|
493
|
+
assessment_deadline_set_by: this.settingsInfo?.assessment_deadline_set_by ?? this.memberId,
|
|
494
|
+
assessment_deadline_days: this.settingsInfo
|
|
495
|
+
?.assessment_deadline_enable
|
|
496
|
+
? this.settingsInfo?.assessment_deadline_days
|
|
497
|
+
: risk?.assessmentDeadLine,
|
|
498
|
+
frequency_details: {
|
|
499
|
+
frequency: frequencyValue,
|
|
500
|
+
started_at: this.changeTimeZone(new Date()) ?? moment().format('YYYY-MM-DD'),
|
|
501
|
+
frequency_time: '11:00 pm',
|
|
502
|
+
remind_before_days: risk?.emailReminder
|
|
503
|
+
? risk?.emailReminder
|
|
504
|
+
: this.setDefaultEmailReminderValue(risk?.frequency),
|
|
505
|
+
},
|
|
506
|
+
risk_label: this.setRiskLabel(risk?.riskLabel),
|
|
507
|
+
mitigation_plan_recommendation: risk?.mitigationPlans ?? '',
|
|
508
|
+
sameRiskRatingsForAllRC: risk?.applySameRiskRating ?? 'No',
|
|
509
|
+
};
|
|
510
|
+
payload.push(obj);
|
|
511
|
+
}
|
|
512
|
+
});
|
|
513
|
+
this.riskService.addBulkRisk(payload).subscribe((res) => {
|
|
514
|
+
this.loader = false;
|
|
515
|
+
this.showExcel = false;
|
|
516
|
+
this.showSmiley = true;
|
|
517
|
+
this.riskData = res;
|
|
518
|
+
}, (err) => {
|
|
519
|
+
console.error(err);
|
|
520
|
+
this.loader = false;
|
|
521
|
+
this.showExcel = false;
|
|
522
|
+
this.snackBar.show('OOPS! Something went wrong and the page could not be loaded. Could you please try one more time?', 'alert');
|
|
523
|
+
});
|
|
524
|
+
}
|
|
525
|
+
returnIds(item, key) {
|
|
526
|
+
switch (key) {
|
|
527
|
+
case 'rc_id':
|
|
528
|
+
const rcId = [];
|
|
529
|
+
this.templateInfo.rcList.forEach((rc_element) => {
|
|
530
|
+
if (rc_element.rcName == item) {
|
|
531
|
+
rcId.push(rc_element.rc_id);
|
|
532
|
+
}
|
|
533
|
+
});
|
|
534
|
+
return rcId;
|
|
535
|
+
break;
|
|
536
|
+
case 'rc_owner_ids':
|
|
537
|
+
let owner_ids = [];
|
|
538
|
+
this.templateInfo.rcList.forEach((headerIds) => {
|
|
539
|
+
if (headerIds.rcName == item && headerIds.owner_ids) {
|
|
540
|
+
owner_ids = headerIds.owner_ids.includes(',')
|
|
541
|
+
? headerIds.owner_ids.split(',').map(Number)
|
|
542
|
+
: [Number(headerIds.owner_ids)];
|
|
543
|
+
}
|
|
544
|
+
});
|
|
545
|
+
return owner_ids;
|
|
546
|
+
break;
|
|
547
|
+
case 'owner':
|
|
548
|
+
const ownerId = [];
|
|
549
|
+
this.templateInfo.ownerList.forEach((element) => {
|
|
550
|
+
if (element.name == item) {
|
|
551
|
+
ownerId.push(element.member_id);
|
|
552
|
+
}
|
|
553
|
+
});
|
|
554
|
+
return ownerId;
|
|
555
|
+
break;
|
|
556
|
+
case 'overseer':
|
|
557
|
+
const overseerId = [];
|
|
558
|
+
this.templateInfo.ownerList.forEach((os_element) => {
|
|
559
|
+
if (os_element.name == item) {
|
|
560
|
+
overseerId.push(os_element.member_id);
|
|
561
|
+
}
|
|
562
|
+
});
|
|
563
|
+
return overseerId;
|
|
564
|
+
break;
|
|
565
|
+
case 'mitigation':
|
|
566
|
+
let mitigationId = 0;
|
|
567
|
+
this.templateInfo.mitigationList.forEach((mitigation) => {
|
|
568
|
+
if (mitigation.mitigationName == item) {
|
|
569
|
+
mitigationId = mitigation.mitigation_id;
|
|
570
|
+
}
|
|
571
|
+
});
|
|
572
|
+
return mitigationId;
|
|
573
|
+
break;
|
|
574
|
+
}
|
|
575
|
+
}
|
|
576
|
+
reset() {
|
|
577
|
+
this.riskBulkUpload = {
|
|
578
|
+
header: [],
|
|
579
|
+
weightFactors: [],
|
|
580
|
+
risks: [],
|
|
581
|
+
};
|
|
582
|
+
this.templateInfo = {
|
|
583
|
+
memberId: '',
|
|
584
|
+
categoryId: '',
|
|
585
|
+
ownerList: [],
|
|
586
|
+
rcList: [],
|
|
587
|
+
mitigationList: [],
|
|
588
|
+
};
|
|
589
|
+
this.isFileEmpty = false;
|
|
590
|
+
this.isWrongFile = false;
|
|
591
|
+
this.isWrongFormat = false;
|
|
592
|
+
this.fileName = undefined;
|
|
593
|
+
this.data = undefined;
|
|
594
|
+
this.assessmentDeadLine = undefined;
|
|
595
|
+
this.showExcel = false;
|
|
596
|
+
this.showSmiley = false;
|
|
597
|
+
}
|
|
598
|
+
action(event) {
|
|
599
|
+
switch (event) {
|
|
600
|
+
case 'addMore':
|
|
601
|
+
this.category = {
|
|
602
|
+
type: 'strategic',
|
|
603
|
+
selectedCategory: '',
|
|
604
|
+
};
|
|
605
|
+
this.downloadStatus = 'NOT_DOWNLOADING';
|
|
606
|
+
this.reset();
|
|
607
|
+
break;
|
|
608
|
+
case 'viewRisks':
|
|
609
|
+
this.viewRisks();
|
|
610
|
+
break;
|
|
611
|
+
}
|
|
612
|
+
}
|
|
613
|
+
closeSmiley(event) {
|
|
614
|
+
this.showSmiley = false;
|
|
615
|
+
this.closeWorkflow.emit({ evt: this.riskData, confirm: false });
|
|
616
|
+
}
|
|
617
|
+
viewRisks() {
|
|
618
|
+
this.disconnectRefresh.emit(false);
|
|
619
|
+
let url;
|
|
620
|
+
if (window.location.host.startsWith('localhost')) {
|
|
621
|
+
url = 'http://' + window.location.host;
|
|
622
|
+
}
|
|
623
|
+
else {
|
|
624
|
+
url = 'https://' + window.location.host;
|
|
625
|
+
}
|
|
626
|
+
if (window.location.host.startsWith('localhost')) {
|
|
627
|
+
url += '/risk-register';
|
|
628
|
+
}
|
|
629
|
+
else {
|
|
630
|
+
url += '/risk/risk-register';
|
|
631
|
+
}
|
|
632
|
+
window.location.href = url;
|
|
633
|
+
}
|
|
634
|
+
/**
|
|
635
|
+
* It takes an array of strings and returns an object with the array values as properties.
|
|
636
|
+
* </code>
|
|
637
|
+
* @param {any} risk - any = [
|
|
638
|
+
* @returns [
|
|
639
|
+
* {
|
|
640
|
+
* "riskName": "",
|
|
641
|
+
* "description": "",
|
|
642
|
+
* "rcName": "",
|
|
643
|
+
* "owner": "",
|
|
644
|
+
* "frequency": "",
|
|
645
|
+
* "emailReminder": "",
|
|
646
|
+
* "overseer": "",
|
|
647
|
+
* "isValid": false,
|
|
648
|
+
* "mitigationPriority": "",
|
|
649
|
+
*/
|
|
650
|
+
setRiskDetails(risk) {
|
|
651
|
+
let obj;
|
|
652
|
+
obj = {
|
|
653
|
+
riskName: risk[0] ?? '',
|
|
654
|
+
description: risk[1] ?? '',
|
|
655
|
+
rcName: risk[2] ?? '',
|
|
656
|
+
owner: risk[3] ?? '',
|
|
657
|
+
riskOwner: risk[4] ?? '',
|
|
658
|
+
frequency: risk[5] ?? '',
|
|
659
|
+
emailReminder: risk[6],
|
|
660
|
+
overseer: risk[7] ?? '',
|
|
661
|
+
isValid: this.checkValidity(risk),
|
|
662
|
+
};
|
|
663
|
+
let index = 8;
|
|
664
|
+
if (this.riskBulkUpload?.header?.includes('Recommended Mitigation Priority')) {
|
|
665
|
+
obj['mitigationPriority'] = risk[index] ?? '';
|
|
666
|
+
index++;
|
|
667
|
+
}
|
|
668
|
+
obj['mitigationPlans'] = risk[index] ?? '';
|
|
669
|
+
index++;
|
|
670
|
+
obj['riskLabel'] = risk[index] ?? '';
|
|
671
|
+
index++;
|
|
672
|
+
obj['likelihood'] = risk[index] ?? '';
|
|
673
|
+
index++;
|
|
674
|
+
obj['impact'] = risk[index] ?? '';
|
|
675
|
+
index++;
|
|
676
|
+
if (this.riskBulkUpload?.weightFactors?.includes('Velocity')) {
|
|
677
|
+
obj['velocity'] = risk[index] ?? '';
|
|
678
|
+
index++;
|
|
679
|
+
}
|
|
680
|
+
if (this.riskBulkUpload?.weightFactors?.includes('Vulnerability')) {
|
|
681
|
+
obj['vulnerability'] = risk[index] ?? '';
|
|
682
|
+
index++;
|
|
683
|
+
}
|
|
684
|
+
if (this.riskBulkUpload?.header?.includes('Do you want to apply the same risk ratings for all Responsibility Centers?')) {
|
|
685
|
+
obj['applySameRiskRating'] = risk[index] ?? '';
|
|
686
|
+
index++;
|
|
687
|
+
}
|
|
688
|
+
const customTags = [];
|
|
689
|
+
this.category?.selectedCategory?.custom_tag?.forEach((tag, i) => {
|
|
690
|
+
if (tag) {
|
|
691
|
+
const cTag = {
|
|
692
|
+
custom_tag_value: risk[index + i] ?? '',
|
|
693
|
+
custom_tag_name: tag.tagName,
|
|
694
|
+
};
|
|
695
|
+
customTags.push(cTag);
|
|
696
|
+
}
|
|
697
|
+
});
|
|
698
|
+
obj['customTag'] = customTags;
|
|
699
|
+
obj['isValidFrequency'] = this.frequencyType?.includes(obj?.frequency?.toLowerCase());
|
|
700
|
+
return obj;
|
|
701
|
+
}
|
|
702
|
+
/**
|
|
703
|
+
* If the frequencyType is weekly, return 2, if it's monthly, return 7, if it's quarterly, return 7,
|
|
704
|
+
* if it's biannual, return 30, if it's annual, return 30, if it's one time, return 15, otherwise
|
|
705
|
+
* return 0.
|
|
706
|
+
* @param {string} [frequencyType] - string - the frequency type of the reminder
|
|
707
|
+
* @returns The return value is the number of days before the event that the reminder should be sent.
|
|
708
|
+
*/
|
|
709
|
+
setDefaultEmailReminderValue(frequencyType) {
|
|
710
|
+
switch (frequencyType?.toLowerCase()) {
|
|
711
|
+
case 'weekly':
|
|
712
|
+
return 2;
|
|
713
|
+
case 'monthly':
|
|
714
|
+
return 7;
|
|
715
|
+
case 'quarterly':
|
|
716
|
+
return 7;
|
|
717
|
+
case 'biannual':
|
|
718
|
+
return 30;
|
|
719
|
+
case 'annual':
|
|
720
|
+
return 30;
|
|
721
|
+
case 'one time':
|
|
722
|
+
return 15;
|
|
723
|
+
default:
|
|
724
|
+
return 0;
|
|
725
|
+
}
|
|
726
|
+
}
|
|
727
|
+
/**
|
|
728
|
+
* If the label is 'new risk', return 1, if the label is 'emerging/rapidly changing risks', return 2,
|
|
729
|
+
* otherwise return 1
|
|
730
|
+
* @param {string} [label] - the label of the risk
|
|
731
|
+
* @returns The return value is the value of the last expression in the function.
|
|
732
|
+
*/
|
|
733
|
+
setRiskLabel(label) {
|
|
734
|
+
switch (label?.toLowerCase()) {
|
|
735
|
+
case 'newly identified risks':
|
|
736
|
+
return 1;
|
|
737
|
+
case 'rapidly changing risks':
|
|
738
|
+
return 2;
|
|
739
|
+
default:
|
|
740
|
+
return 1;
|
|
741
|
+
}
|
|
742
|
+
}
|
|
743
|
+
/**
|
|
744
|
+
* "If the date is a number, convert it to a date object, then create a new date object with the
|
|
745
|
+
* timezone set to the user's timezone, then return the date in the format YYYY-MM-DD."
|
|
746
|
+
* </code>
|
|
747
|
+
* @param {any} date - any - the date you want to change the timezone of
|
|
748
|
+
* @returns The date is being returned in the timezone of the user.
|
|
749
|
+
*/
|
|
750
|
+
changeTimeZone(date) {
|
|
751
|
+
if (typeof date === 'number') {
|
|
752
|
+
date = new Date(date);
|
|
753
|
+
}
|
|
754
|
+
const invDate = new Date(date.toLocaleString('en-US', {
|
|
755
|
+
timeZone: this.authService.userDetails?.timezone,
|
|
756
|
+
}));
|
|
757
|
+
return moment(invDate).format('YYYY-MM-DD');
|
|
758
|
+
}
|
|
759
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AddMultipleRiskComponent, deps: [{ token: i1.AddRiskService }, { token: i2.AuthService }, { token: i3.SnackBarService }, { token: i4.FrequencyBulkService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
760
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AddMultipleRiskComponent, selector: "app-add-multiple-risk", outputs: { pickerChanged: "pickerChanged", populateOption: "populateOption", closeWorkflow: "closeWorkflow", disconnectRefresh: "disconnectRefresh" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"add-multiple-risk\">\r\n <!-- main container starts here -->\r\n <div class=\"add-multiple-risk-body\" [class.disabled]=\"showCategoryList\">\r\n <div class=\"add-multiple-risk-container\">\r\n <div class=\"image\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/spreadsheet-multiple-category.svg\" alt=\"\" />\r\n </div>\r\n\r\n <h4 id=\"multipleRisk\">You can add multiple risk in just three easy steps</h4>\r\n <ul class=\"list\">\r\n <li> Select a Risk Category.</li>\r\n <li> Download the template and fill in the details.</li>\r\n <li> Upload the .xlsx file and you're good to go!</li>\r\n </ul>\r\n <div class=\"vx-form-group\" [attr.id]=\"'scrollReference'\">\r\n <label class=\"vx-control-panel\">Risk Category <span class=\"required\">*</span></label>\r\n <div class=\"select\" *ngIf=\"!category.selectedCategory\">\r\n <input type=\"text\" (click)=\"showCategoryList=true;pickerChanged.emit(true)\" placeholder=\"Select Risk Category\" readonly>\r\n </div>\r\n <div class=\"selected\" *ngIf=\"category.selectedCategory\">\r\n <div class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\">\r\n <i class=\"icons cross vx-fs-10 vx-paragraph-txt vx-mr-1\" (click)=\"removeCategory()\"></i>\r\n <span class=\"chipName vx-fs-11 vx-label-txt\" [appTooltip]=\"category?.selectedCategory?.category_name\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{category?.selectedCategory?.category_name}}</span>\r\n </div>\r\n\r\n <!-- <div class=\"chip-container\">\r\n <span class=\"chip\">\r\n <i class=\"icons\" (click)=\"removeCategory()\"></i>\r\n {{category?.selectedCategory?.category_name}}</span>\r\n </div> -->\r\n <button class=\"edit\" type=\"button\" (click)=\"showCategoryList=true;pickerChanged.emit(true)\"><i class=\"icons\"></i> Edit</button>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"category?.selectedCategory\" >\r\n <button *ngIf=\"downloadStatus === 'NOT_DOWNLOADING'\" class=\"download\" type=\"button\"\r\n (click)=\"downloadTemplate()\"> <i class=\"icons\"></i> Download Template\r\n </button>\r\n <div class=\"bulk-btn-progress\" *ngIf=\"downloadStatus === 'DOWNLOADING'\">\r\n Download in Progress\r\n <app-line-loader [loaderHeight]=\"'2'\"></app-line-loader>\r\n </div>\r\n <ng-container *ngIf=\"downloadStatus === 'DOWNLOADED'\">\r\n <div class=\"bulk-btn-progress\"><i class=\"icons\"></i>Download Complete</div>\r\n <div class=\"bulk-btn-again\">\r\n Is the file not downloaded?\r\n <button (click)=\"downloadTemplate()\">Retry Download</button>\r\n </div>\r\n </ng-container>\r\n\r\n </ng-container>\r\n <p class=\"error-message\" *ngIf=\"isWrongFile || isWrongFormat|| isFileEmpty\"\r\n >{{errorMessage}}</p>\r\n\r\n\r\n </div>\r\n </div>\r\n</div>\r\n<app-category-list *ngIf=\"showCategoryList\" [categoryList]=\"categoryList\" [selectedCategory]=\"category\"\r\n (saveSelectedCategory)=\"saveSelectedCategory($event);pickerChanged.emit(false)\" (closeCategoriesList)=\"showCategoryList=false;pickerChanged.emit(false)\">\r\n</app-category-list>\r\n<app-loader-inline *ngIf=\"isLoader\"></app-loader-inline>\r\n<app-bulk-view *ngIf=\"showExcel\"\r\n[riskBulkUpload]=\"riskBulkUpload\"\r\n[templateInfo]=\"templateInfo\"\r\n[defaultOwner]=\"defaultOwner\"\r\n[fileName]=\"fileName\"\r\n[loader]=\"loader\"\r\n[assessmentDaysEnable]=\"assessmentDeadLine\"\r\n(submitRiskBulkUpload)=\"submitRiskBulkUpload($event)\"\r\n(cancel)=\"reset()\"\r\n></app-bulk-view>\r\n\r\n<input type=\"file\" [(ngModel)]=\"fileValue\" id=\"fileInput\" class=\"hidden-input\" (change)=\"uploadedFile($event)\" />\r\n<app-smiley-dialog-inline *ngIf=\"showSmiley\" [message]=\"smileyMessage\" [actionButtons]=\"actionButtons\" (action)=\"action($event)\" (closeSmiley)=\"closeSmiley($event)\"></app-smiley-dialog-inline>", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";::ng-deep .add-multiple-risk{background:#fff;position:relative;z-index:1}@media only screen and (min-width: 1920px){::ng-deep .add-multiple-risk{height:calc(100vh - 200px);display:flex;align-items:center}}::ng-deep .add-multiple-risk-body{padding:0;display:block}::ng-deep .add-multiple-risk-body.disabled{pointer-events:none;filter:grayscale(1)}::ng-deep .add-multiple-risk-container{display:block;text-align:center}::ng-deep .add-multiple-risk-container .image{width:300px;margin:0 auto 24px}::ng-deep .add-multiple-risk-container h4{font-size:20px;line-height:30px;margin:0 0 20px;font-weight:500}::ng-deep .add-multiple-risk-container ul.list{padding:0;margin:0 0 40px;display:block;counter-reset:my-awesome-counter}::ng-deep .add-multiple-risk-container ul.list li{text-align:left;color:#747576;font-size:15px;line-height:38px;font-weight:400;list-style:none;counter-increment:my-awesome-counter;background:#fbfbfb;border:1px solid #F1F1F1;border-radius:4px;padding:0 12px}::ng-deep .add-multiple-risk-container ul.list li:before{content:counter(my-awesome-counter) \". \"}::ng-deep .add-multiple-risk-container ul.list li+li{margin-top:4px}::ng-deep .add-multiple-risk-container button.download{background:#fff;height:36px;border-radius:2px;cursor:pointer;border:1px solid #1e5dd3;color:#1e5dd3;text-transform:uppercase;padding:0 30px;font-weight:500;font-size:11px}::ng-deep .add-multiple-risk-container button.download i{margin-right:8px}::ng-deep .add-multiple-risk-container .bulk-btn-progress{background:#f8f8f8;height:36px;border-radius:2px;cursor:pointer;border:1px solid #f8f8f8;color:#747576;text-transform:uppercase;padding:0 30px;font-weight:500;font-size:11px;position:relative;display:inline-block;line-height:34px}::ng-deep .add-multiple-risk-container .bulk-btn-progress i{color:#34aa44;font-size:14px;float:left;position:relative;margin:0 10px 0 0;font-weight:400}::ng-deep .add-multiple-risk-container .bulk-btn-progress span.progress{height:3px;position:absolute;bottom:0;left:0;width:100%;background:#1e5dd3}::ng-deep .add-multiple-risk-container .bulk-btn-again{color:#161b2f;font-size:11px;margin-top:10px}::ng-deep .add-multiple-risk-container .bulk-btn-again button{background:transparent;border:none;padding:0;font-size:11px;color:#1e5dd3;font-weight:500;text-decoration:underline;cursor:pointer;text-transform:uppercase;display:inline-block}.hidden-input{opacity:0}\n", "@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::-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-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}button{font-family:Poppins,sans-serif}::ng-deep input.textField{background:#fff;border-radius:.25rem;border:1px solid #dbdbdb;font-size:13px;color:#747576;padding:8px 12px;position:relative;height:2.5rem;width:100%;transition:all .2s ease-in-out}::ng-deep input.textField::placeholder{font-size:13px;color:#747576}::ng-deep input.textField:hover,::ng-deep input.textField:focus{outline:none;border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .selectBoxEnable{background:#fff;border-radius:.25rem;border:1px solid #dbdbdb;cursor:pointer;height:2.5rem;position:relative;transition:all .2s ease-in-out}::ng-deep .selectBoxEnable:after{border-bottom-style:solid;border-bottom-width:1px;border-right-style:solid;border-right-width:1px;border-color:#747576;content:\"\";display:inline-block;right:12px;position:absolute;top:calc(50% - 4px);width:5px;height:5px;transform:rotate(45deg)}::ng-deep .selectBoxEnable:hover,::ng-deep .selectBoxEnable:focus{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .selectBoxEnable.disabled{background:#f1f1f1;pointer-events:none;opacity:1}::ng-deep .selectBoxEnable.withBtn:after{display:none}::ng-deep .selectBoxEnable.withBtn button.setBtn{background:transparent;border-radius:0;border:none;min-width:98px}::ng-deep .selectBoxSuccess{background:#f8f8f8;border-radius:.25rem;border:1px solid #f1f1f1;min-height:2.5rem;position:relative}::ng-deep .selectBoxSuccess .selectBoxText{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:22rem}::ng-deep .selectBoxSuccess button{background:transparent;border-radius:0;border:none}::ng-deep .selectBoxSuccess button.deleteBtn{color:#d93b41}::ng-deep .selectBoxSuccess .level-left{border-right:1px solid #f1f1f1;height:2.375rem;width:5rem}::ng-deep .selectBoxSuccess .level-left .level-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:4.5rem}::ng-deep .chipContainer{background:#fff;border-radius:.125rem;box-shadow:0 0 2px #1e5dd340;height:1.5rem}::ng-deep .chipContainer .cross{cursor:pointer;min-width:16px;width:16px;height:16px;display:flex;align-items:center;justify-content:center;background:transparent;border-radius:2px;margin-left:-4px}::ng-deep .chipContainer .cross:hover{background:#f1f1f1}::ng-deep .chipContainer .chipName{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:6rem}::ng-deep .chipContainer .chipName.no-width{max-width:unset}::ng-deep .chipContainer .chipName.full-width{max-width:25rem}::ng-deep .chipContainer button.countBtn{background:#1e5dd3;border-radius:1.25rem;border:none;min-width:1.5rem;height:1rem;margin:0 0 0 .5rem;padding:0 .25rem}::ng-deep .chipContainer button.countBtn.greenBg{background:#34aa44}::ng-deep .workflowLavel{background:#f1f1f1;border-radius:.125rem;color:#042e7d;min-width:1rem;height:1rem}::ng-deep .reviewSelection{border-radius:.25rem;border:1px solid #dbdbdb;transition:all .2s ease-in-out}::ng-deep .reviewSelection:hover{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .selectButton{background:#fff;border-radius:.25rem;border:1px solid #dbdbdb;cursor:pointer;height:2.5rem;position:relative;transition:all .2s ease-in-out}::ng-deep .selectButton:hover,::ng-deep .selectButton:focus{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep button.createNewBtn{background:transparent;border-radius:0;border:none}::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-bottom-style:solid;border-bottom-width:1px;border-right-style:solid;border-right-width:1px;border-color:#707070;content:\"\";display:inline-block;right:12px;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 #1e5dd345}::ng-deep .vx-form-group .select .custom-input.frequency-custom-input{padding-right:108px;display:flex;align-items:center}::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;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;transition:all .2s ease-in-out}::ng-deep .vx-form-group .tab-group:hover{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .vx-form-group .tab-group .upload-file{padding:16px 62px 16px 24px;display:flex;align-items:center;justify-content:space-between}::ng-deep .vx-form-group .tab-group .upload-file .image{width:80px}::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;margin:0;padding:0;inset: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:8px 0!important;text-align:center}::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%;text-align:center}::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:13px!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;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:14px;font-weight:500;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[type=text],::ng-deep .vx-form-group .input{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[type=text]::placeholder,::ng-deep .vx-form-group .input::placeholder{color:#747576;font-weight:400}::ng-deep .vx-form-group input[type=text]:focus,::ng-deep .vx-form-group .input:focus,::ng-deep .vx-form-group input[type=text]:hover,::ng-deep .vx-form-group .input:hover{border-color:#1e5dd3!important;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .vx-form-group input[type=text].error,::ng-deep .vx-form-group .input.error{border-color:#eb2424;color:#eb2424;margin-bottom:4px}::ng-deep .vx-form-group input[type=text].error:focus,::ng-deep .vx-form-group .input.error:focus{box-shadow:0 0 5px #d31e1e45}::ng-deep .vx-form-group input[type=text]:disabled,::ng-deep .vx-form-group .input:disabled{background:#f1f1f1;cursor:not-allowed;-webkit-user-select:none;user-select:none}::ng-deep .vx-form-group input[type=text]:disabled:hover,::ng-deep .vx-form-group .input:disabled:hover{border-color:#dbdbdb;box-shadow:none}::ng-deep .vx-form-group input[type=text] span.text,::ng-deep .vx-form-group .input span.text{font-size:13px;color:#747576;font-weight:400;display:block;width:100%}::ng-deep .vx-form-group input[type=text] .input-group,::ng-deep .vx-form-group .input .input-group{display:flex;align-items:center}::ng-deep .vx-form-group input[type=text] .input-group.counter,::ng-deep .vx-form-group .input .input-group.counter{min-width:96px;width:96px}::ng-deep .vx-form-group input[type=text] .input-group.counter button,::ng-deep .vx-form-group .input .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[type=text] .input-group.counter input,::ng-deep .vx-form-group .input .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[type=text] .input-group.counter input::-webkit-inner-spin-button,::ng-deep .vx-form-group .input .input-group.counter input::-webkit-inner-spin-button,::ng-deep .vx-form-group input[type=text] .input-group.counter input::-webkit-outer-spin-button,::ng-deep .vx-form-group .input .input-group.counter input::-webkit-outer-spin-button{appearance:none;margin:0}::ng-deep .vx-form-group input[type=text]+.file-list,::ng-deep .vx-form-group .input+.file-list{margin-top:8px}::ng-deep .vx-form-group input[type=text]::placeholder,::ng-deep .vx-form-group .input::placeholder{font-size:13px}::ng-deep .vx-form-group input[type=text]:-ms-input-placeholder,::ng-deep .vx-form-group .input:-ms-input-placeholder{font-size:13px}::ng-deep .vx-form-group input[type=text]::-ms-input-placeholder,::ng-deep .vx-form-group .input::-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{margin:0 4px 0 0;width:100%;position:relative;z-index:1}::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;inset: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;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:100px}::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;position:relative;top:1px;font-size:8px}::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:none;border-radius:0;background:transparent;outline:none;cursor:pointer;display:block;font-size:11px;font-weight:600;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 #1e5dd345;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 vcomply-editor{margin-top:8px;display:block}::ng-deep .vx-form-group vcomply-editor .editor-container{border-radius:4px;border:1px solid #dbdbdb}::ng-deep .vx-form-group vcomply-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 vcomply-editor .editor-container .editable-block ul{padding:0 0 0 10px;margin-top:0}::ng-deep .vx-form-group vcomply-editor .editor-container .editable-block ul li{list-style:disc}::ng-deep .vx-form-group vcomply-editor .editor-container .editable-block ol{padding:0 0 0 10px;margin-top:0}::ng-deep .vx-form-group vcomply-editor .editor-container .editable-block ol li{list-style:decimal}::ng-deep .vx-form-group vcomply-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 vcomply-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 vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button svg{height:22px;width:12px}::ng-deep .vx-form-group vcomply-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 vcomply-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 vcomply-editor .editor-container:focus-within{border-color:#1e5dd3!important;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .vx-form-group vcomply-editor .editor-container:focus-within .editor-tools{border-color:#1e5dd3!important}::ng-deep .vx-form-group vcomply-editor .editor-container:hover{border-color:#1e5dd3!important;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .vx-form-group vcomply-editor .editor-container:hover .editor-tools{border-color:#1e5dd3!important}::ng-deep .vx-form-group vcomply-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;background:#fff}::ng-deep .vx-form-group .date-time-picker:focus-within{border-color:#1e5dd3;box-shadow:0 0 5px #1e5dd345}::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:transparent;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::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:12px;position:absolute;left:12px;top:0;color:#747576;font-size:12px;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 app-cs-radio.disabled{pointer-events:none;opacity:.5;filter:grayscale(1);background:#f1f1f1}::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;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 .info.disabled{background:transparent!important;color:#dbdbdb!important;filter:unset!important;opacity:unset!important;pointer-events:none;-webkit-user-select:none;user-select:none}::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:212px;height:32px;z-index:-1;transition:.25s ease-out}.left{width:36px;height:36px;margin-top:26px;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 #34aa44;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;animation:strokeCheck .6s cubic-bezier(.65,0,.45,1) forwards}.left .checkIcon__check{transform-origin:50% 50%;stroke-dasharray:48;stroke-dashoffset:48;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;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;inset:2px 0 0 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 input,.form-group-row.active .right .vx-form-group .custom-input,.form-group-row.active .right .vx-form-group .selectBoxEnable{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}.form-group-row.active .right .vx-form-group .selectBoxEnable.disabled{border-color:#dbdbdb;box-shadow:none}::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}@keyframes strokeCheck{to{stroke-dashoffset:0}}@keyframes fillCheck{to{box-shadow:inset 0 0 0 2px #34aa44}}::ng-deep .wf-action-list{width:220px}::ng-deep .wf-action-list ul{padding:0;margin:0;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;background:#fff;box-shadow:0 3px 6px #1c5bd140;border-radius:4px;max-height:220px;overflow:auto}::ng-deep .wf-action-list ul.action-item{display:block}::ng-deep .wf-action-list ul.action-item li{list-style:none;border:none;border-bottom:1px solid #f1f1f1;display:block;width:100%;padding:0;background:transparent;border-radius:0;margin:0;height:auto;justify-content:flex-start;box-shadow:none}::ng-deep .wf-action-list ul.action-item li button{color:#6e717e;text-align:left;text-decoration:none;cursor:pointer;background:transparent;font-size:12px;text-transform:capitalize;display:flex;width:100%;padding:7.5px 11px;border:none}::ng-deep .wf-action-list ul.action-item li button i{font-size:16px;margin-right:10px;color:#1e5dd3}::ng-deep .wf-action-list ul.action-item li button:hover{background:#f3f3f3}::ng-deep .wf-action-list ul.action-item li .avatar-card{display:flex;align-items:center;width:100%;padding:7.5px}::ng-deep .wf-action-list ul.action-item li .avatar-card.within-con{display:block}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar{height:24px;width:24px!important;overflow:hidden;background:#1e5dd3;color:#fff;font-size:10px;display:inline-flex;margin-right:5px;border-radius:50%;align-items:center;justify-content:center;text-transform:uppercase}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar img{width:100%}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar+span.value{width:calc(100% - 29px)}::ng-deep .wf-action-list ul.action-item li .avatar-card span.value{width:100%;color:#6e717e;text-decoration:none;background:transparent;font-size:12px;text-transform:capitalize;display:block;font-weight:400;text-align-last:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:20px}::ng-deep .wf-action-list ul.action-item li .avatar-card span.value i{font-size:8px;color:#747576;cursor:pointer;margin-right:5px}::ng-deep .wf-action-list ul.action-item li .avatar-card.no-image{display:block}::ng-deep .wf-action-list ul.action-item li .avatar-card.no-image span.value{width:100%;display:block}::ng-deep .wf-action-list ul.action-item li .chip-item{color:#1e5dd3;padding:10px;display:flex;align-items:center}::ng-deep .wf-action-list ul.action-item li .chip-item i{color:#747576;margin-right:7px;font-size:10px;cursor:pointer;display:inline-flex}::ng-deep .wf-action-list ul.action-item li .chip-item span{display:block;width:auto;max-width:calc(100% - 17px);font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::ng-deep .wf-action-list ul.action-item li .chip-item span.chip-block{display:block;width:100%}::ng-deep .wf-action-list ul.action-item li .chip-item span.id{font-size:9px}::ng-deep .wf-action-list ul.action-item li .within{display:flex;align-items:center;justify-content:flex-start}::ng-deep .wf-action-list ul.action-item li .within .block{background:#f1f1f1;border-radius:2px;padding:0 2px;line-height:14px;font-size:9px;font-weight:500;color:#042e7d;margin-right:6px;display:block;text-transform:uppercase}::ng-deep .wf-action-list ul.action-item li .within .data{width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#747576;font-size:11px;font-weight:400;line-height:17px}::ng-deep .wf-action-list ul.action-item li:first-child{animation:action-list-open .25s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(2){animation:action-list-open .35s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(3){animation:action-list-open .45s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(4){animation:action-list-open .55s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(5){animation:action-list-open .65s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(6){animation:action-list-open .75s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(7){animation:action-list-open .85s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(8){animation:action-list-open .95s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(9){animation:action-list-open 1.05s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(10){animation:action-list-open 1.15s cubic-bezier(.25,.46,.45,.94) both}@keyframes action-list-open{0%{transform:translateY(50px)}to{transform:translateY(0)}}@keyframes scale-up-center{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}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{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;animation:dash 1.5s ease-in-out infinite;stroke-linecap:round}@keyframes rotate{to{transform:rotate(360deg)}}@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;inset:0}::ng-deep dp-date-picker{width:100%;position:fixed!important;z-index:14;top:-40px;left:0}::ng-deep dp-date-picker input{width:100%;border:none;opacity:0;pointer-events:none}::ng-deep dp-date-picker input:focus{outline:none}::ng-deep dp-date-picker .dp-popup{width:412px;box-shadow:0 0 20px #161b2f26;background-color:#fff;border-radius:4px;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both}::ng-deep dp-date-picker .dp-popup dp-day-calendar,::ng-deep dp-date-picker .dp-popup dp-month-calendar{width:100%;pointer-events:auto}::ng-deep dp-date-picker .dp-popup dp-day-calendar button,::ng-deep dp-date-picker .dp-popup dp-month-calendar button{background:transparent;border:none;outline:none}::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn,::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-left,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-left,::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-right,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-right{width:40px;height:40px;display:flex;justify-content:center;align-items:center;border-radius:50%;font-size:14px}::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn:hover,::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-left:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-left:hover,::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-right:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-right:hover{background-color:#f3f3f3}::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn{display:none}::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn:before,::ng-deep 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}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week{display:flex;justify-content:space-around}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays .dp-calendar-weekday,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays .dp-calendar-weekday,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week .dp-calendar-weekday,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week .dp-calendar-weekday{width:52px;border-left:none;border-bottom-color:#fff;color:#747576;font-size:11px;font-weight:600;text-transform:uppercase}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button{width:40px;height:40px;border-radius:50%;display:inline-flex;justify-content:center;align-items:center}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button:hover,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button:hover{background-color:#f3f3f3}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button.dp-selected,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button.dp-selected,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button.dp-selected,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button.dp-selected{background:#1e5dd3}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button.dp-current-day,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button.dp-current-day,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button.dp-current-day,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button.dp-current-day{border:1px solid rgba(0,0,0,.38);color:#1e5dd3;background-color:#fff}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-day-calendar-container,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-day-calendar-container{padding:20px;border-radius:2px}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-nav-container,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-nav-container{display:flex;margin:0 0 20px;border:none}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-nav-container .dp-nav-header button,::ng-deep 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}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container{width:80px;display:flex}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button{margin:0!important}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-wrapper,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-wrapper{border:none}::ng-deep dp-date-picker .dp-open+div{position:fixed!important;inset:0!important;display:flex;justify-content:center;align-items:center;z-index:99;pointer-events:none;background:#0000004d}::ng-deep .cdk-overlay-container{z-index:2147483002!important}::ng-deep .dp-popup{z-index:999;display:flex!important;align-items:center;justify-content:center;width:100vw;height:100vh;background:#0000004d!important;box-shadow:unset!important}::ng-deep .dp-popup dp-day-calendar{width:412px!important;box-shadow:0 0 20px #161b2f26;background-color:#fff;border-radius:4px;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both}::ng-deep .dp-popup dp-day-calendar,::ng-deep .dp-popup dp-month-calendar{width:100%;pointer-events:auto}::ng-deep .dp-popup dp-day-calendar button,::ng-deep .dp-popup dp-month-calendar button{background:transparent;border:none;outline:none}::ng-deep .dp-popup dp-day-calendar button.dp-current-location-btn,::ng-deep .dp-popup dp-month-calendar button.dp-current-location-btn,::ng-deep .dp-popup dp-day-calendar button.dp-calendar-nav-left,::ng-deep .dp-popup dp-month-calendar button.dp-calendar-nav-left,::ng-deep .dp-popup dp-day-calendar button.dp-calendar-nav-right,::ng-deep .dp-popup dp-month-calendar button.dp-calendar-nav-right{width:40px;height:40px;display:flex;justify-content:center;align-items:center;border-radius:50%;font-size:14px}::ng-deep .dp-popup dp-day-calendar button.dp-current-location-btn:hover,::ng-deep .dp-popup dp-month-calendar button.dp-current-location-btn:hover,::ng-deep .dp-popup dp-day-calendar button.dp-calendar-nav-left:hover,::ng-deep .dp-popup dp-month-calendar button.dp-calendar-nav-left:hover,::ng-deep .dp-popup dp-day-calendar button.dp-calendar-nav-right:hover,::ng-deep .dp-popup dp-month-calendar button.dp-calendar-nav-right:hover{background-color:#f3f3f3}::ng-deep .dp-popup dp-day-calendar button.dp-current-location-btn,::ng-deep .dp-popup dp-month-calendar button.dp-current-location-btn{display:none}::ng-deep .dp-popup dp-day-calendar button.dp-current-location-btn:before,::ng-deep .dp-popup dp-month-calendar button.dp-current-location-btn:before{content:\"\";height:10px;width:10px;border-radius:50%;background:#000;display:inline-flex}::ng-deep .dp-popup dp-day-calendar .dp-weekdays,::ng-deep .dp-popup dp-month-calendar .dp-weekdays,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week{display:flex;justify-content:space-around}::ng-deep .dp-popup dp-day-calendar .dp-weekdays .dp-calendar-weekday,::ng-deep .dp-popup dp-month-calendar .dp-weekdays .dp-calendar-weekday,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week .dp-calendar-weekday,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week .dp-calendar-weekday{width:52px;border-left:none;border-bottom-color:#fff;color:#747576;font-size:11px;font-weight:600;text-transform:uppercase}::ng-deep .dp-popup dp-day-calendar .dp-weekdays button,::ng-deep .dp-popup dp-month-calendar .dp-weekdays button,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week button,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week button{width:40px;height:40px;border-radius:50%;display:inline-flex;justify-content:center;align-items:center}::ng-deep .dp-popup dp-day-calendar .dp-weekdays button:hover,::ng-deep .dp-popup dp-month-calendar .dp-weekdays button:hover,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week button:hover,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week button:hover{background-color:#f3f3f3}::ng-deep .dp-popup dp-day-calendar .dp-weekdays button.dp-selected,::ng-deep .dp-popup dp-month-calendar .dp-weekdays button.dp-selected,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week button.dp-selected,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week button.dp-selected{background:#1e5dd3}::ng-deep .dp-popup dp-day-calendar .dp-weekdays button.dp-current-day,::ng-deep .dp-popup dp-month-calendar .dp-weekdays button.dp-current-day,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week button.dp-current-day,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week button.dp-current-day{border:1px solid rgba(0,0,0,.38);color:#1e5dd3;background-color:#fff}::ng-deep .dp-popup dp-day-calendar .dp-day-calendar-container,::ng-deep .dp-popup dp-month-calendar .dp-day-calendar-container{padding:20px;border-radius:2px}::ng-deep .dp-popup dp-day-calendar .dp-calendar-nav-container,::ng-deep .dp-popup dp-month-calendar .dp-calendar-nav-container{display:flex;margin:0 0 20px;border:none}::ng-deep .dp-popup dp-day-calendar .dp-calendar-nav-container .dp-nav-header button,::ng-deep .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}::ng-deep .dp-popup dp-day-calendar .dp-nav-btns-container,::ng-deep .dp-popup dp-month-calendar .dp-nav-btns-container{width:80px;display:flex}::ng-deep .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,::ng-deep .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,::ng-deep .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button,::ng-deep .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button{margin:0!important}::ng-deep .dp-popup dp-day-calendar .dp-calendar-wrapper,::ng-deep .dp-popup dp-month-calendar .dp-calendar-wrapper{border:none}@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;border:1px solid transparent;border-color:#747576;position:relative;margin-right:5px;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 0% 1%,#747576 50%,#2989d800 51%,#7db9e800);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;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 0% 50%,#2989d800 51%,#7db9e800);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.xlsx,::ng-deep span.file.xls,::ng-deep span.file.css,::ng-deep span.file.scss,::ng-deep span.file.less{border-color:#34aa44}::ng-deep span.file.xlsx:before,::ng-deep span.file.xls:before,::ng-deep span.file.css:before,::ng-deep span.file.scss:before,::ng-deep span.file.less:before{background:linear-gradient(45deg,#34aa44 0% 1%,#34aa44 50%,#2989d800 51%,#7db9e800);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.xlsx:after,::ng-deep span.file.xls:after,::ng-deep span.file.css:after,::ng-deep span.file.scss:after,::ng-deep span.file.less:after{border-color:#34aa44;color:#34aa44}::ng-deep span.file.xlsx .format,::ng-deep span.file.xls .format,::ng-deep span.file.css .format,::ng-deep span.file.scss .format,::ng-deep span.file.less .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 0% 1%,#1e5dd3 50%,#2989d800 51%,#7db9e800);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.ppt,::ng-deep span.file.ai,::ng-deep span.file.html,::ng-deep span.file.jpg,::ng-deep span.file.jpeg,::ng-deep span.file.png{border-color:#f6882f}::ng-deep span.file.ppt:before,::ng-deep span.file.ai:before,::ng-deep span.file.html:before,::ng-deep span.file.jpg:before,::ng-deep span.file.jpeg:before,::ng-deep span.file.png:before{background:linear-gradient(45deg,#f6882f 0% 1%,#f6882f 50%,#2989d800 51%,#7db9e800);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.ppt:after,::ng-deep span.file.ai:after,::ng-deep span.file.html:after,::ng-deep span.file.jpg:after,::ng-deep span.file.jpeg:after,::ng-deep span.file.png:after{border-color:#f6882f}::ng-deep span.file.ppt .format,::ng-deep span.file.ai .format,::ng-deep span.file.html .format,::ng-deep span.file.jpg .format,::ng-deep span.file.jpeg .format,::ng-deep span.file.png .format{color:#f6882f}::ng-deep span.file.php{border-color:#7aa6f7}::ng-deep span.file.php:before{background:linear-gradient(45deg,#7aa6f7 0% 1%,#7aa6f7 50%,#2989d800 51%,#7db9e800);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:#0000000d!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:solid 14px #f1f1f1;border-bottom:solid 12px transparent;border-top:solid 12px 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:solid 14px #f1f1f1;border-bottom:solid 12px transparent;border-top:solid 12px 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:92px!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}::ng-deep vcomply-editor{display:block}::ng-deep vcomply-editor .editor-container{border-radius:4px;border:1px solid #dbdbdb;transition:all .2s ease-in-out}::ng-deep vcomply-editor .editor-container:hover,::ng-deep vcomply-editor .editor-container:focus-within{border:1px solid #1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep vcomply-editor .editor-container mention-list ul li a{font-size:16px!important}::ng-deep vcomply-editor .editor-container .editable-block{background:#fff;min-height:60px;padding:8px 12px;line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%}::ng-deep vcomply-editor .editor-container .editable-block:before{color:#747576!important}::ng-deep vcomply-editor .editor-container .editor-tools{border-top:1px solid #dbdbdb;border-radius:0 0 3px 3px}::ng-deep vcomply-editor .editor-container .editor-tools:hover{border-color:#1e5dd3}::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button{height:22px!important;width:22px!important;padding:0 5px}::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button svg{height:22px;width:12px}::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button.submit{width:80px!important;line-height:22px;justify-content:center}::ng-deep vcomply-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 marx-modal .popup-modal-background{background-color:#161b2fcc!important}::ng-deep .within-box{background:#f1f1f1;border-radius:.125rem;color:#042e7d}::ng-deep .within-value{overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;word-break:break-word}.wf-tooltip{pointer-events:none;position:absolute;max-width:300px;font-size:12px;text-align:left;color:#fff;padding:8px 12px;background:#000;border-radius:2px;z-index:-222;top:0;opacity:0;white-space:break-spaces;word-break:break-word}.wf-tooltip *{color:#fff!important}.wf-tooltip:empty{display:none!important}.wf-tooltip.white{box-shadow:0 2px 8px #1c5bd159;color:#747576;background:#fff;text-align:left}.wf-tooltip.white b{color:#747576!important}.wf-tooltip.animate-top{animation:animate-top .5s cubic-bezier(.25,.46,.45,.94) both}.wf-tooltip.animate-right{animation:animate-right .3s cubic-bezier(.25,.46,.45,.94) both}.wf-tooltip.animate-bottom{animation:animate-bottom .5s cubic-bezier(.25,.46,.45,.94) both}.wf-tooltip.animate-left{animation:animate-left .5s cubic-bezier(.25,.46,.45,.94) both}.wf-tooltip-top:after{top:100%;left:50%;margin-left:-5px;border-width:5px;border-color:#000000 transparent transparent transparent}.wf-tooltip-top.white:after{border-color:#f1f1f1 transparent transparent transparent}.wf-tooltip-bottom:after{bottom:100%;left:50%;margin-left:-5px;border-width:5px;border-color:transparent transparent #000000 transparent}.wf-tooltip-bottom.white:after{border-color:transparent transparent #f1f1f1 transparent}.wf-tooltip-left.white:after{border-color:transparent transparent transparent #f1f1f1}.wf-tooltip-left:after{top:50%;left:100%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent #000000}.wf-tooltip-right.white:after{border-color:transparent #f1f1f1 transparent transparent}.wf-tooltip-right:after{top:50%;right:100%;margin-top:-5px;border-width:5px;border-color:transparent #000000 transparent transparent}.wf-tooltip-bottom-right:after{bottom:100%;left:100%;margin-left:-20px;border-width:5px;border-color:transparent transparent #000000 transparent}.wf-tooltip-bottom-right.white:after{border-color:transparent transparent #f1f1f1 transparent}.wf-tooltip-bottom-left:after{bottom:100%;left:0;margin-left:10px;border-width:5px;border-color:transparent transparent #000000 transparent}.wf-tooltip-bottom-left.white:after{border-color:transparent transparent #f1f1f1 transparent}.wf-tooltip-top-left:after{top:100%;left:0;margin-left:10px;border-width:5px;border-color:#000000 transparent transparent transparent}.wf-tooltip-top-left.white:after{border-color:#f1f1f1 transparent transparent transparent}.wf-tooltip-top-right:after{top:100%;left:100%;margin-left:-5px;border-width:5px;border-color:#000000 transparent transparent transparent}.wf-tooltip-top-right.white:after{border-color:#f1f1f1 transparent transparent transparent}.wf-tooltip:after{content:\"\";position:absolute;border-style:solid}.wf-tooltip span.within{font-size:80%;display:block;width:100%}.wf-tooltip .small{display:block;font-size:10px}.wf-tooltip .within-box{background:#f1f1f1;border-radius:2px;color:#042e7d!important;font-size:9px;font-weight:500;text-transform:uppercase;padding:0 2px;margin-right:2px}.wf-tooltip-show{pointer-events:none;opacity:1;z-index:2147483001}\n"], dependencies: [{ kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i7.ToolTipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { kind: "component", type: i8.LineLoaderComponent, selector: "app-line-loader", inputs: ["loaderHeight"] }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i9.LoaderInlineComponent, selector: "app-loader-inline" }, { kind: "component", type: i10.SmileyDialogInlineComponent, selector: "app-smiley-dialog-inline", inputs: ["message", "actionButtons"], outputs: ["action", "closeSmiley"] }, { kind: "component", type: i11.CategoryListComponent, selector: "app-category-list", inputs: ["categoryList", "selectedCategory"], outputs: ["saveSelectedCategory", "closeList", "closeCategoriesList"] }, { kind: "component", type: i12.BulkViewComponent, selector: "app-bulk-view", inputs: ["riskBulkUpload", "templateInfo", "fileName", "assessmentDaysEnable", "defaultOwner", "loader"], outputs: ["submitRiskBulkUpload", "cancel"] }] }); }
|
|
761
|
+
}
|
|
762
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AddMultipleRiskComponent, decorators: [{
|
|
763
|
+
type: Component,
|
|
764
|
+
args: [{ selector: 'app-add-multiple-risk', template: "<div class=\"add-multiple-risk\">\r\n <!-- main container starts here -->\r\n <div class=\"add-multiple-risk-body\" [class.disabled]=\"showCategoryList\">\r\n <div class=\"add-multiple-risk-container\">\r\n <div class=\"image\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/spreadsheet-multiple-category.svg\" alt=\"\" />\r\n </div>\r\n\r\n <h4 id=\"multipleRisk\">You can add multiple risk in just three easy steps</h4>\r\n <ul class=\"list\">\r\n <li> Select a Risk Category.</li>\r\n <li> Download the template and fill in the details.</li>\r\n <li> Upload the .xlsx file and you're good to go!</li>\r\n </ul>\r\n <div class=\"vx-form-group\" [attr.id]=\"'scrollReference'\">\r\n <label class=\"vx-control-panel\">Risk Category <span class=\"required\">*</span></label>\r\n <div class=\"select\" *ngIf=\"!category.selectedCategory\">\r\n <input type=\"text\" (click)=\"showCategoryList=true;pickerChanged.emit(true)\" placeholder=\"Select Risk Category\" readonly>\r\n </div>\r\n <div class=\"selected\" *ngIf=\"category.selectedCategory\">\r\n <div class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\">\r\n <i class=\"icons cross vx-fs-10 vx-paragraph-txt vx-mr-1\" (click)=\"removeCategory()\"></i>\r\n <span class=\"chipName vx-fs-11 vx-label-txt\" [appTooltip]=\"category?.selectedCategory?.category_name\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{category?.selectedCategory?.category_name}}</span>\r\n </div>\r\n\r\n <!-- <div class=\"chip-container\">\r\n <span class=\"chip\">\r\n <i class=\"icons\" (click)=\"removeCategory()\"></i>\r\n {{category?.selectedCategory?.category_name}}</span>\r\n </div> -->\r\n <button class=\"edit\" type=\"button\" (click)=\"showCategoryList=true;pickerChanged.emit(true)\"><i class=\"icons\"></i> Edit</button>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"category?.selectedCategory\" >\r\n <button *ngIf=\"downloadStatus === 'NOT_DOWNLOADING'\" class=\"download\" type=\"button\"\r\n (click)=\"downloadTemplate()\"> <i class=\"icons\"></i> Download Template\r\n </button>\r\n <div class=\"bulk-btn-progress\" *ngIf=\"downloadStatus === 'DOWNLOADING'\">\r\n Download in Progress\r\n <app-line-loader [loaderHeight]=\"'2'\"></app-line-loader>\r\n </div>\r\n <ng-container *ngIf=\"downloadStatus === 'DOWNLOADED'\">\r\n <div class=\"bulk-btn-progress\"><i class=\"icons\"></i>Download Complete</div>\r\n <div class=\"bulk-btn-again\">\r\n Is the file not downloaded?\r\n <button (click)=\"downloadTemplate()\">Retry Download</button>\r\n </div>\r\n </ng-container>\r\n\r\n </ng-container>\r\n <p class=\"error-message\" *ngIf=\"isWrongFile || isWrongFormat|| isFileEmpty\"\r\n >{{errorMessage}}</p>\r\n\r\n\r\n </div>\r\n </div>\r\n</div>\r\n<app-category-list *ngIf=\"showCategoryList\" [categoryList]=\"categoryList\" [selectedCategory]=\"category\"\r\n (saveSelectedCategory)=\"saveSelectedCategory($event);pickerChanged.emit(false)\" (closeCategoriesList)=\"showCategoryList=false;pickerChanged.emit(false)\">\r\n</app-category-list>\r\n<app-loader-inline *ngIf=\"isLoader\"></app-loader-inline>\r\n<app-bulk-view *ngIf=\"showExcel\"\r\n[riskBulkUpload]=\"riskBulkUpload\"\r\n[templateInfo]=\"templateInfo\"\r\n[defaultOwner]=\"defaultOwner\"\r\n[fileName]=\"fileName\"\r\n[loader]=\"loader\"\r\n[assessmentDaysEnable]=\"assessmentDeadLine\"\r\n(submitRiskBulkUpload)=\"submitRiskBulkUpload($event)\"\r\n(cancel)=\"reset()\"\r\n></app-bulk-view>\r\n\r\n<input type=\"file\" [(ngModel)]=\"fileValue\" id=\"fileInput\" class=\"hidden-input\" (change)=\"uploadedFile($event)\" />\r\n<app-smiley-dialog-inline *ngIf=\"showSmiley\" [message]=\"smileyMessage\" [actionButtons]=\"actionButtons\" (action)=\"action($event)\" (closeSmiley)=\"closeSmiley($event)\"></app-smiley-dialog-inline>", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";::ng-deep .add-multiple-risk{background:#fff;position:relative;z-index:1}@media only screen and (min-width: 1920px){::ng-deep .add-multiple-risk{height:calc(100vh - 200px);display:flex;align-items:center}}::ng-deep .add-multiple-risk-body{padding:0;display:block}::ng-deep .add-multiple-risk-body.disabled{pointer-events:none;filter:grayscale(1)}::ng-deep .add-multiple-risk-container{display:block;text-align:center}::ng-deep .add-multiple-risk-container .image{width:300px;margin:0 auto 24px}::ng-deep .add-multiple-risk-container h4{font-size:20px;line-height:30px;margin:0 0 20px;font-weight:500}::ng-deep .add-multiple-risk-container ul.list{padding:0;margin:0 0 40px;display:block;counter-reset:my-awesome-counter}::ng-deep .add-multiple-risk-container ul.list li{text-align:left;color:#747576;font-size:15px;line-height:38px;font-weight:400;list-style:none;counter-increment:my-awesome-counter;background:#fbfbfb;border:1px solid #F1F1F1;border-radius:4px;padding:0 12px}::ng-deep .add-multiple-risk-container ul.list li:before{content:counter(my-awesome-counter) \". \"}::ng-deep .add-multiple-risk-container ul.list li+li{margin-top:4px}::ng-deep .add-multiple-risk-container button.download{background:#fff;height:36px;border-radius:2px;cursor:pointer;border:1px solid #1e5dd3;color:#1e5dd3;text-transform:uppercase;padding:0 30px;font-weight:500;font-size:11px}::ng-deep .add-multiple-risk-container button.download i{margin-right:8px}::ng-deep .add-multiple-risk-container .bulk-btn-progress{background:#f8f8f8;height:36px;border-radius:2px;cursor:pointer;border:1px solid #f8f8f8;color:#747576;text-transform:uppercase;padding:0 30px;font-weight:500;font-size:11px;position:relative;display:inline-block;line-height:34px}::ng-deep .add-multiple-risk-container .bulk-btn-progress i{color:#34aa44;font-size:14px;float:left;position:relative;margin:0 10px 0 0;font-weight:400}::ng-deep .add-multiple-risk-container .bulk-btn-progress span.progress{height:3px;position:absolute;bottom:0;left:0;width:100%;background:#1e5dd3}::ng-deep .add-multiple-risk-container .bulk-btn-again{color:#161b2f;font-size:11px;margin-top:10px}::ng-deep .add-multiple-risk-container .bulk-btn-again button{background:transparent;border:none;padding:0;font-size:11px;color:#1e5dd3;font-weight:500;text-decoration:underline;cursor:pointer;text-transform:uppercase;display:inline-block}.hidden-input{opacity:0}\n", "@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::-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-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}button{font-family:Poppins,sans-serif}::ng-deep input.textField{background:#fff;border-radius:.25rem;border:1px solid #dbdbdb;font-size:13px;color:#747576;padding:8px 12px;position:relative;height:2.5rem;width:100%;transition:all .2s ease-in-out}::ng-deep input.textField::placeholder{font-size:13px;color:#747576}::ng-deep input.textField:hover,::ng-deep input.textField:focus{outline:none;border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .selectBoxEnable{background:#fff;border-radius:.25rem;border:1px solid #dbdbdb;cursor:pointer;height:2.5rem;position:relative;transition:all .2s ease-in-out}::ng-deep .selectBoxEnable:after{border-bottom-style:solid;border-bottom-width:1px;border-right-style:solid;border-right-width:1px;border-color:#747576;content:\"\";display:inline-block;right:12px;position:absolute;top:calc(50% - 4px);width:5px;height:5px;transform:rotate(45deg)}::ng-deep .selectBoxEnable:hover,::ng-deep .selectBoxEnable:focus{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .selectBoxEnable.disabled{background:#f1f1f1;pointer-events:none;opacity:1}::ng-deep .selectBoxEnable.withBtn:after{display:none}::ng-deep .selectBoxEnable.withBtn button.setBtn{background:transparent;border-radius:0;border:none;min-width:98px}::ng-deep .selectBoxSuccess{background:#f8f8f8;border-radius:.25rem;border:1px solid #f1f1f1;min-height:2.5rem;position:relative}::ng-deep .selectBoxSuccess .selectBoxText{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:22rem}::ng-deep .selectBoxSuccess button{background:transparent;border-radius:0;border:none}::ng-deep .selectBoxSuccess button.deleteBtn{color:#d93b41}::ng-deep .selectBoxSuccess .level-left{border-right:1px solid #f1f1f1;height:2.375rem;width:5rem}::ng-deep .selectBoxSuccess .level-left .level-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:4.5rem}::ng-deep .chipContainer{background:#fff;border-radius:.125rem;box-shadow:0 0 2px #1e5dd340;height:1.5rem}::ng-deep .chipContainer .cross{cursor:pointer;min-width:16px;width:16px;height:16px;display:flex;align-items:center;justify-content:center;background:transparent;border-radius:2px;margin-left:-4px}::ng-deep .chipContainer .cross:hover{background:#f1f1f1}::ng-deep .chipContainer .chipName{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:6rem}::ng-deep .chipContainer .chipName.no-width{max-width:unset}::ng-deep .chipContainer .chipName.full-width{max-width:25rem}::ng-deep .chipContainer button.countBtn{background:#1e5dd3;border-radius:1.25rem;border:none;min-width:1.5rem;height:1rem;margin:0 0 0 .5rem;padding:0 .25rem}::ng-deep .chipContainer button.countBtn.greenBg{background:#34aa44}::ng-deep .workflowLavel{background:#f1f1f1;border-radius:.125rem;color:#042e7d;min-width:1rem;height:1rem}::ng-deep .reviewSelection{border-radius:.25rem;border:1px solid #dbdbdb;transition:all .2s ease-in-out}::ng-deep .reviewSelection:hover{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .selectButton{background:#fff;border-radius:.25rem;border:1px solid #dbdbdb;cursor:pointer;height:2.5rem;position:relative;transition:all .2s ease-in-out}::ng-deep .selectButton:hover,::ng-deep .selectButton:focus{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep button.createNewBtn{background:transparent;border-radius:0;border:none}::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-bottom-style:solid;border-bottom-width:1px;border-right-style:solid;border-right-width:1px;border-color:#707070;content:\"\";display:inline-block;right:12px;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 #1e5dd345}::ng-deep .vx-form-group .select .custom-input.frequency-custom-input{padding-right:108px;display:flex;align-items:center}::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;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;transition:all .2s ease-in-out}::ng-deep .vx-form-group .tab-group:hover{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .vx-form-group .tab-group .upload-file{padding:16px 62px 16px 24px;display:flex;align-items:center;justify-content:space-between}::ng-deep .vx-form-group .tab-group .upload-file .image{width:80px}::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;margin:0;padding:0;inset: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:8px 0!important;text-align:center}::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%;text-align:center}::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:13px!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;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:14px;font-weight:500;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[type=text],::ng-deep .vx-form-group .input{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[type=text]::placeholder,::ng-deep .vx-form-group .input::placeholder{color:#747576;font-weight:400}::ng-deep .vx-form-group input[type=text]:focus,::ng-deep .vx-form-group .input:focus,::ng-deep .vx-form-group input[type=text]:hover,::ng-deep .vx-form-group .input:hover{border-color:#1e5dd3!important;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .vx-form-group input[type=text].error,::ng-deep .vx-form-group .input.error{border-color:#eb2424;color:#eb2424;margin-bottom:4px}::ng-deep .vx-form-group input[type=text].error:focus,::ng-deep .vx-form-group .input.error:focus{box-shadow:0 0 5px #d31e1e45}::ng-deep .vx-form-group input[type=text]:disabled,::ng-deep .vx-form-group .input:disabled{background:#f1f1f1;cursor:not-allowed;-webkit-user-select:none;user-select:none}::ng-deep .vx-form-group input[type=text]:disabled:hover,::ng-deep .vx-form-group .input:disabled:hover{border-color:#dbdbdb;box-shadow:none}::ng-deep .vx-form-group input[type=text] span.text,::ng-deep .vx-form-group .input span.text{font-size:13px;color:#747576;font-weight:400;display:block;width:100%}::ng-deep .vx-form-group input[type=text] .input-group,::ng-deep .vx-form-group .input .input-group{display:flex;align-items:center}::ng-deep .vx-form-group input[type=text] .input-group.counter,::ng-deep .vx-form-group .input .input-group.counter{min-width:96px;width:96px}::ng-deep .vx-form-group input[type=text] .input-group.counter button,::ng-deep .vx-form-group .input .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[type=text] .input-group.counter input,::ng-deep .vx-form-group .input .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[type=text] .input-group.counter input::-webkit-inner-spin-button,::ng-deep .vx-form-group .input .input-group.counter input::-webkit-inner-spin-button,::ng-deep .vx-form-group input[type=text] .input-group.counter input::-webkit-outer-spin-button,::ng-deep .vx-form-group .input .input-group.counter input::-webkit-outer-spin-button{appearance:none;margin:0}::ng-deep .vx-form-group input[type=text]+.file-list,::ng-deep .vx-form-group .input+.file-list{margin-top:8px}::ng-deep .vx-form-group input[type=text]::placeholder,::ng-deep .vx-form-group .input::placeholder{font-size:13px}::ng-deep .vx-form-group input[type=text]:-ms-input-placeholder,::ng-deep .vx-form-group .input:-ms-input-placeholder{font-size:13px}::ng-deep .vx-form-group input[type=text]::-ms-input-placeholder,::ng-deep .vx-form-group .input::-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{margin:0 4px 0 0;width:100%;position:relative;z-index:1}::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;inset: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;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:100px}::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;position:relative;top:1px;font-size:8px}::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:none;border-radius:0;background:transparent;outline:none;cursor:pointer;display:block;font-size:11px;font-weight:600;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 #1e5dd345;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 vcomply-editor{margin-top:8px;display:block}::ng-deep .vx-form-group vcomply-editor .editor-container{border-radius:4px;border:1px solid #dbdbdb}::ng-deep .vx-form-group vcomply-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 vcomply-editor .editor-container .editable-block ul{padding:0 0 0 10px;margin-top:0}::ng-deep .vx-form-group vcomply-editor .editor-container .editable-block ul li{list-style:disc}::ng-deep .vx-form-group vcomply-editor .editor-container .editable-block ol{padding:0 0 0 10px;margin-top:0}::ng-deep .vx-form-group vcomply-editor .editor-container .editable-block ol li{list-style:decimal}::ng-deep .vx-form-group vcomply-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 vcomply-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 vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button svg{height:22px;width:12px}::ng-deep .vx-form-group vcomply-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 vcomply-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 vcomply-editor .editor-container:focus-within{border-color:#1e5dd3!important;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .vx-form-group vcomply-editor .editor-container:focus-within .editor-tools{border-color:#1e5dd3!important}::ng-deep .vx-form-group vcomply-editor .editor-container:hover{border-color:#1e5dd3!important;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .vx-form-group vcomply-editor .editor-container:hover .editor-tools{border-color:#1e5dd3!important}::ng-deep .vx-form-group vcomply-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;background:#fff}::ng-deep .vx-form-group .date-time-picker:focus-within{border-color:#1e5dd3;box-shadow:0 0 5px #1e5dd345}::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:transparent;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::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:12px;position:absolute;left:12px;top:0;color:#747576;font-size:12px;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 app-cs-radio.disabled{pointer-events:none;opacity:.5;filter:grayscale(1);background:#f1f1f1}::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;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 .info.disabled{background:transparent!important;color:#dbdbdb!important;filter:unset!important;opacity:unset!important;pointer-events:none;-webkit-user-select:none;user-select:none}::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:212px;height:32px;z-index:-1;transition:.25s ease-out}.left{width:36px;height:36px;margin-top:26px;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 #34aa44;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;animation:strokeCheck .6s cubic-bezier(.65,0,.45,1) forwards}.left .checkIcon__check{transform-origin:50% 50%;stroke-dasharray:48;stroke-dashoffset:48;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;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;inset:2px 0 0 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 input,.form-group-row.active .right .vx-form-group .custom-input,.form-group-row.active .right .vx-form-group .selectBoxEnable{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}.form-group-row.active .right .vx-form-group .selectBoxEnable.disabled{border-color:#dbdbdb;box-shadow:none}::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}@keyframes strokeCheck{to{stroke-dashoffset:0}}@keyframes fillCheck{to{box-shadow:inset 0 0 0 2px #34aa44}}::ng-deep .wf-action-list{width:220px}::ng-deep .wf-action-list ul{padding:0;margin:0;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;background:#fff;box-shadow:0 3px 6px #1c5bd140;border-radius:4px;max-height:220px;overflow:auto}::ng-deep .wf-action-list ul.action-item{display:block}::ng-deep .wf-action-list ul.action-item li{list-style:none;border:none;border-bottom:1px solid #f1f1f1;display:block;width:100%;padding:0;background:transparent;border-radius:0;margin:0;height:auto;justify-content:flex-start;box-shadow:none}::ng-deep .wf-action-list ul.action-item li button{color:#6e717e;text-align:left;text-decoration:none;cursor:pointer;background:transparent;font-size:12px;text-transform:capitalize;display:flex;width:100%;padding:7.5px 11px;border:none}::ng-deep .wf-action-list ul.action-item li button i{font-size:16px;margin-right:10px;color:#1e5dd3}::ng-deep .wf-action-list ul.action-item li button:hover{background:#f3f3f3}::ng-deep .wf-action-list ul.action-item li .avatar-card{display:flex;align-items:center;width:100%;padding:7.5px}::ng-deep .wf-action-list ul.action-item li .avatar-card.within-con{display:block}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar{height:24px;width:24px!important;overflow:hidden;background:#1e5dd3;color:#fff;font-size:10px;display:inline-flex;margin-right:5px;border-radius:50%;align-items:center;justify-content:center;text-transform:uppercase}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar img{width:100%}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar+span.value{width:calc(100% - 29px)}::ng-deep .wf-action-list ul.action-item li .avatar-card span.value{width:100%;color:#6e717e;text-decoration:none;background:transparent;font-size:12px;text-transform:capitalize;display:block;font-weight:400;text-align-last:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:20px}::ng-deep .wf-action-list ul.action-item li .avatar-card span.value i{font-size:8px;color:#747576;cursor:pointer;margin-right:5px}::ng-deep .wf-action-list ul.action-item li .avatar-card.no-image{display:block}::ng-deep .wf-action-list ul.action-item li .avatar-card.no-image span.value{width:100%;display:block}::ng-deep .wf-action-list ul.action-item li .chip-item{color:#1e5dd3;padding:10px;display:flex;align-items:center}::ng-deep .wf-action-list ul.action-item li .chip-item i{color:#747576;margin-right:7px;font-size:10px;cursor:pointer;display:inline-flex}::ng-deep .wf-action-list ul.action-item li .chip-item span{display:block;width:auto;max-width:calc(100% - 17px);font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::ng-deep .wf-action-list ul.action-item li .chip-item span.chip-block{display:block;width:100%}::ng-deep .wf-action-list ul.action-item li .chip-item span.id{font-size:9px}::ng-deep .wf-action-list ul.action-item li .within{display:flex;align-items:center;justify-content:flex-start}::ng-deep .wf-action-list ul.action-item li .within .block{background:#f1f1f1;border-radius:2px;padding:0 2px;line-height:14px;font-size:9px;font-weight:500;color:#042e7d;margin-right:6px;display:block;text-transform:uppercase}::ng-deep .wf-action-list ul.action-item li .within .data{width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#747576;font-size:11px;font-weight:400;line-height:17px}::ng-deep .wf-action-list ul.action-item li:first-child{animation:action-list-open .25s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(2){animation:action-list-open .35s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(3){animation:action-list-open .45s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(4){animation:action-list-open .55s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(5){animation:action-list-open .65s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(6){animation:action-list-open .75s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(7){animation:action-list-open .85s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(8){animation:action-list-open .95s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(9){animation:action-list-open 1.05s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(10){animation:action-list-open 1.15s cubic-bezier(.25,.46,.45,.94) both}@keyframes action-list-open{0%{transform:translateY(50px)}to{transform:translateY(0)}}@keyframes scale-up-center{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}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{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;animation:dash 1.5s ease-in-out infinite;stroke-linecap:round}@keyframes rotate{to{transform:rotate(360deg)}}@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;inset:0}::ng-deep dp-date-picker{width:100%;position:fixed!important;z-index:14;top:-40px;left:0}::ng-deep dp-date-picker input{width:100%;border:none;opacity:0;pointer-events:none}::ng-deep dp-date-picker input:focus{outline:none}::ng-deep dp-date-picker .dp-popup{width:412px;box-shadow:0 0 20px #161b2f26;background-color:#fff;border-radius:4px;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both}::ng-deep dp-date-picker .dp-popup dp-day-calendar,::ng-deep dp-date-picker .dp-popup dp-month-calendar{width:100%;pointer-events:auto}::ng-deep dp-date-picker .dp-popup dp-day-calendar button,::ng-deep dp-date-picker .dp-popup dp-month-calendar button{background:transparent;border:none;outline:none}::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn,::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-left,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-left,::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-right,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-right{width:40px;height:40px;display:flex;justify-content:center;align-items:center;border-radius:50%;font-size:14px}::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn:hover,::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-left:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-left:hover,::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-right:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-right:hover{background-color:#f3f3f3}::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn{display:none}::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn:before,::ng-deep 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}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week{display:flex;justify-content:space-around}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays .dp-calendar-weekday,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays .dp-calendar-weekday,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week .dp-calendar-weekday,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week .dp-calendar-weekday{width:52px;border-left:none;border-bottom-color:#fff;color:#747576;font-size:11px;font-weight:600;text-transform:uppercase}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button{width:40px;height:40px;border-radius:50%;display:inline-flex;justify-content:center;align-items:center}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button:hover,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button:hover{background-color:#f3f3f3}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button.dp-selected,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button.dp-selected,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button.dp-selected,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button.dp-selected{background:#1e5dd3}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button.dp-current-day,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button.dp-current-day,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button.dp-current-day,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button.dp-current-day{border:1px solid rgba(0,0,0,.38);color:#1e5dd3;background-color:#fff}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-day-calendar-container,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-day-calendar-container{padding:20px;border-radius:2px}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-nav-container,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-nav-container{display:flex;margin:0 0 20px;border:none}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-nav-container .dp-nav-header button,::ng-deep 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}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container{width:80px;display:flex}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button{margin:0!important}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-wrapper,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-wrapper{border:none}::ng-deep dp-date-picker .dp-open+div{position:fixed!important;inset:0!important;display:flex;justify-content:center;align-items:center;z-index:99;pointer-events:none;background:#0000004d}::ng-deep .cdk-overlay-container{z-index:2147483002!important}::ng-deep .dp-popup{z-index:999;display:flex!important;align-items:center;justify-content:center;width:100vw;height:100vh;background:#0000004d!important;box-shadow:unset!important}::ng-deep .dp-popup dp-day-calendar{width:412px!important;box-shadow:0 0 20px #161b2f26;background-color:#fff;border-radius:4px;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both}::ng-deep .dp-popup dp-day-calendar,::ng-deep .dp-popup dp-month-calendar{width:100%;pointer-events:auto}::ng-deep .dp-popup dp-day-calendar button,::ng-deep .dp-popup dp-month-calendar button{background:transparent;border:none;outline:none}::ng-deep .dp-popup dp-day-calendar button.dp-current-location-btn,::ng-deep .dp-popup dp-month-calendar button.dp-current-location-btn,::ng-deep .dp-popup dp-day-calendar button.dp-calendar-nav-left,::ng-deep .dp-popup dp-month-calendar button.dp-calendar-nav-left,::ng-deep .dp-popup dp-day-calendar button.dp-calendar-nav-right,::ng-deep .dp-popup dp-month-calendar button.dp-calendar-nav-right{width:40px;height:40px;display:flex;justify-content:center;align-items:center;border-radius:50%;font-size:14px}::ng-deep .dp-popup dp-day-calendar button.dp-current-location-btn:hover,::ng-deep .dp-popup dp-month-calendar button.dp-current-location-btn:hover,::ng-deep .dp-popup dp-day-calendar button.dp-calendar-nav-left:hover,::ng-deep .dp-popup dp-month-calendar button.dp-calendar-nav-left:hover,::ng-deep .dp-popup dp-day-calendar button.dp-calendar-nav-right:hover,::ng-deep .dp-popup dp-month-calendar button.dp-calendar-nav-right:hover{background-color:#f3f3f3}::ng-deep .dp-popup dp-day-calendar button.dp-current-location-btn,::ng-deep .dp-popup dp-month-calendar button.dp-current-location-btn{display:none}::ng-deep .dp-popup dp-day-calendar button.dp-current-location-btn:before,::ng-deep .dp-popup dp-month-calendar button.dp-current-location-btn:before{content:\"\";height:10px;width:10px;border-radius:50%;background:#000;display:inline-flex}::ng-deep .dp-popup dp-day-calendar .dp-weekdays,::ng-deep .dp-popup dp-month-calendar .dp-weekdays,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week{display:flex;justify-content:space-around}::ng-deep .dp-popup dp-day-calendar .dp-weekdays .dp-calendar-weekday,::ng-deep .dp-popup dp-month-calendar .dp-weekdays .dp-calendar-weekday,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week .dp-calendar-weekday,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week .dp-calendar-weekday{width:52px;border-left:none;border-bottom-color:#fff;color:#747576;font-size:11px;font-weight:600;text-transform:uppercase}::ng-deep .dp-popup dp-day-calendar .dp-weekdays button,::ng-deep .dp-popup dp-month-calendar .dp-weekdays button,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week button,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week button{width:40px;height:40px;border-radius:50%;display:inline-flex;justify-content:center;align-items:center}::ng-deep .dp-popup dp-day-calendar .dp-weekdays button:hover,::ng-deep .dp-popup dp-month-calendar .dp-weekdays button:hover,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week button:hover,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week button:hover{background-color:#f3f3f3}::ng-deep .dp-popup dp-day-calendar .dp-weekdays button.dp-selected,::ng-deep .dp-popup dp-month-calendar .dp-weekdays button.dp-selected,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week button.dp-selected,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week button.dp-selected{background:#1e5dd3}::ng-deep .dp-popup dp-day-calendar .dp-weekdays button.dp-current-day,::ng-deep .dp-popup dp-month-calendar .dp-weekdays button.dp-current-day,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week button.dp-current-day,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week button.dp-current-day{border:1px solid rgba(0,0,0,.38);color:#1e5dd3;background-color:#fff}::ng-deep .dp-popup dp-day-calendar .dp-day-calendar-container,::ng-deep .dp-popup dp-month-calendar .dp-day-calendar-container{padding:20px;border-radius:2px}::ng-deep .dp-popup dp-day-calendar .dp-calendar-nav-container,::ng-deep .dp-popup dp-month-calendar .dp-calendar-nav-container{display:flex;margin:0 0 20px;border:none}::ng-deep .dp-popup dp-day-calendar .dp-calendar-nav-container .dp-nav-header button,::ng-deep .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}::ng-deep .dp-popup dp-day-calendar .dp-nav-btns-container,::ng-deep .dp-popup dp-month-calendar .dp-nav-btns-container{width:80px;display:flex}::ng-deep .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,::ng-deep .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,::ng-deep .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button,::ng-deep .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button{margin:0!important}::ng-deep .dp-popup dp-day-calendar .dp-calendar-wrapper,::ng-deep .dp-popup dp-month-calendar .dp-calendar-wrapper{border:none}@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;border:1px solid transparent;border-color:#747576;position:relative;margin-right:5px;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 0% 1%,#747576 50%,#2989d800 51%,#7db9e800);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;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 0% 50%,#2989d800 51%,#7db9e800);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.xlsx,::ng-deep span.file.xls,::ng-deep span.file.css,::ng-deep span.file.scss,::ng-deep span.file.less{border-color:#34aa44}::ng-deep span.file.xlsx:before,::ng-deep span.file.xls:before,::ng-deep span.file.css:before,::ng-deep span.file.scss:before,::ng-deep span.file.less:before{background:linear-gradient(45deg,#34aa44 0% 1%,#34aa44 50%,#2989d800 51%,#7db9e800);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.xlsx:after,::ng-deep span.file.xls:after,::ng-deep span.file.css:after,::ng-deep span.file.scss:after,::ng-deep span.file.less:after{border-color:#34aa44;color:#34aa44}::ng-deep span.file.xlsx .format,::ng-deep span.file.xls .format,::ng-deep span.file.css .format,::ng-deep span.file.scss .format,::ng-deep span.file.less .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 0% 1%,#1e5dd3 50%,#2989d800 51%,#7db9e800);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.ppt,::ng-deep span.file.ai,::ng-deep span.file.html,::ng-deep span.file.jpg,::ng-deep span.file.jpeg,::ng-deep span.file.png{border-color:#f6882f}::ng-deep span.file.ppt:before,::ng-deep span.file.ai:before,::ng-deep span.file.html:before,::ng-deep span.file.jpg:before,::ng-deep span.file.jpeg:before,::ng-deep span.file.png:before{background:linear-gradient(45deg,#f6882f 0% 1%,#f6882f 50%,#2989d800 51%,#7db9e800);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.ppt:after,::ng-deep span.file.ai:after,::ng-deep span.file.html:after,::ng-deep span.file.jpg:after,::ng-deep span.file.jpeg:after,::ng-deep span.file.png:after{border-color:#f6882f}::ng-deep span.file.ppt .format,::ng-deep span.file.ai .format,::ng-deep span.file.html .format,::ng-deep span.file.jpg .format,::ng-deep span.file.jpeg .format,::ng-deep span.file.png .format{color:#f6882f}::ng-deep span.file.php{border-color:#7aa6f7}::ng-deep span.file.php:before{background:linear-gradient(45deg,#7aa6f7 0% 1%,#7aa6f7 50%,#2989d800 51%,#7db9e800);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:#0000000d!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:solid 14px #f1f1f1;border-bottom:solid 12px transparent;border-top:solid 12px 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:solid 14px #f1f1f1;border-bottom:solid 12px transparent;border-top:solid 12px 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:92px!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}::ng-deep vcomply-editor{display:block}::ng-deep vcomply-editor .editor-container{border-radius:4px;border:1px solid #dbdbdb;transition:all .2s ease-in-out}::ng-deep vcomply-editor .editor-container:hover,::ng-deep vcomply-editor .editor-container:focus-within{border:1px solid #1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep vcomply-editor .editor-container mention-list ul li a{font-size:16px!important}::ng-deep vcomply-editor .editor-container .editable-block{background:#fff;min-height:60px;padding:8px 12px;line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%}::ng-deep vcomply-editor .editor-container .editable-block:before{color:#747576!important}::ng-deep vcomply-editor .editor-container .editor-tools{border-top:1px solid #dbdbdb;border-radius:0 0 3px 3px}::ng-deep vcomply-editor .editor-container .editor-tools:hover{border-color:#1e5dd3}::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button{height:22px!important;width:22px!important;padding:0 5px}::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button svg{height:22px;width:12px}::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button.submit{width:80px!important;line-height:22px;justify-content:center}::ng-deep vcomply-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 marx-modal .popup-modal-background{background-color:#161b2fcc!important}::ng-deep .within-box{background:#f1f1f1;border-radius:.125rem;color:#042e7d}::ng-deep .within-value{overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;word-break:break-word}.wf-tooltip{pointer-events:none;position:absolute;max-width:300px;font-size:12px;text-align:left;color:#fff;padding:8px 12px;background:#000;border-radius:2px;z-index:-222;top:0;opacity:0;white-space:break-spaces;word-break:break-word}.wf-tooltip *{color:#fff!important}.wf-tooltip:empty{display:none!important}.wf-tooltip.white{box-shadow:0 2px 8px #1c5bd159;color:#747576;background:#fff;text-align:left}.wf-tooltip.white b{color:#747576!important}.wf-tooltip.animate-top{animation:animate-top .5s cubic-bezier(.25,.46,.45,.94) both}.wf-tooltip.animate-right{animation:animate-right .3s cubic-bezier(.25,.46,.45,.94) both}.wf-tooltip.animate-bottom{animation:animate-bottom .5s cubic-bezier(.25,.46,.45,.94) both}.wf-tooltip.animate-left{animation:animate-left .5s cubic-bezier(.25,.46,.45,.94) both}.wf-tooltip-top:after{top:100%;left:50%;margin-left:-5px;border-width:5px;border-color:#000000 transparent transparent transparent}.wf-tooltip-top.white:after{border-color:#f1f1f1 transparent transparent transparent}.wf-tooltip-bottom:after{bottom:100%;left:50%;margin-left:-5px;border-width:5px;border-color:transparent transparent #000000 transparent}.wf-tooltip-bottom.white:after{border-color:transparent transparent #f1f1f1 transparent}.wf-tooltip-left.white:after{border-color:transparent transparent transparent #f1f1f1}.wf-tooltip-left:after{top:50%;left:100%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent #000000}.wf-tooltip-right.white:after{border-color:transparent #f1f1f1 transparent transparent}.wf-tooltip-right:after{top:50%;right:100%;margin-top:-5px;border-width:5px;border-color:transparent #000000 transparent transparent}.wf-tooltip-bottom-right:after{bottom:100%;left:100%;margin-left:-20px;border-width:5px;border-color:transparent transparent #000000 transparent}.wf-tooltip-bottom-right.white:after{border-color:transparent transparent #f1f1f1 transparent}.wf-tooltip-bottom-left:after{bottom:100%;left:0;margin-left:10px;border-width:5px;border-color:transparent transparent #000000 transparent}.wf-tooltip-bottom-left.white:after{border-color:transparent transparent #f1f1f1 transparent}.wf-tooltip-top-left:after{top:100%;left:0;margin-left:10px;border-width:5px;border-color:#000000 transparent transparent transparent}.wf-tooltip-top-left.white:after{border-color:#f1f1f1 transparent transparent transparent}.wf-tooltip-top-right:after{top:100%;left:100%;margin-left:-5px;border-width:5px;border-color:#000000 transparent transparent transparent}.wf-tooltip-top-right.white:after{border-color:#f1f1f1 transparent transparent transparent}.wf-tooltip:after{content:\"\";position:absolute;border-style:solid}.wf-tooltip span.within{font-size:80%;display:block;width:100%}.wf-tooltip .small{display:block;font-size:10px}.wf-tooltip .within-box{background:#f1f1f1;border-radius:2px;color:#042e7d!important;font-size:9px;font-weight:500;text-transform:uppercase;padding:0 2px;margin-right:2px}.wf-tooltip-show{pointer-events:none;opacity:1;z-index:2147483001}\n"] }]
|
|
765
|
+
}], ctorParameters: function () { return [{ type: i1.AddRiskService }, { type: i2.AuthService }, { type: i3.SnackBarService }, { type: i4.FrequencyBulkService }]; }, propDecorators: { pickerChanged: [{
|
|
766
|
+
type: Output
|
|
767
|
+
}], populateOption: [{
|
|
768
|
+
type: Output
|
|
769
|
+
}], closeWorkflow: [{
|
|
770
|
+
type: Output
|
|
771
|
+
}], disconnectRefresh: [{
|
|
772
|
+
type: Output
|
|
773
|
+
}] } });
|
|
774
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLW11bHRpcGxlLXJpc2suY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvYWRkLW11bHRpcGxlLXJpc2svYWRkLW11bHRpcGxlLXJpc2suY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvYWRkLW11bHRpcGxlLXJpc2svYWRkLW11bHRpcGxlLXJpc2suY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxNQUFNLEVBQ04sWUFBWSxHQUtiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDbkMsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7QUFNN0IsT0FBTyxNQUFNLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7Ozs7OztBQVFuQyxNQUFNLE9BQU8sd0JBQXdCO0lBcUZuQyxZQUNVLFdBQTJCLEVBQzNCLFdBQXdCLEVBQ3hCLFFBQXlCLEVBQ3pCLGdCQUFzQztRQUh0QyxnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7UUFDM0IsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFDekIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFzQjtRQXhGdEMsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ25DLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNwQyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDbkMsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNqRCxpQkFBWSxHQUFpQjtZQUMzQixTQUFTLEVBQUU7Z0JBQ1QsSUFBSSxFQUFFLFdBQVc7Z0JBQ2pCLElBQUks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QixJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRTtZQUMzQixRQUFRLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsUUFBUTtTQUNqRCxDQUFDLENBQ0gsQ0FBQztRQUNGLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUM5QyxDQUFDOytHQTkwQlUsd0JBQXdCO21HQUF4Qix3QkFBd0IseU9DekJyQyxpaUpBeUVnTTs7NEZEaERuTCx3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0UsdUJBQXVCO2dNQUt2QixhQUFhO3NCQUF0QixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxpQkFBaUI7c0JBQTFCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIE9uSW5pdCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgY2xvbmVEZWVwIH0gZnJvbSAnbG9kYXNoJztcclxuaW1wb3J0ICogYXMgWExTWCBmcm9tICd4bHN4JztcclxuaW1wb3J0IHsgQ2F0ZWdvcnlMaXN0IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9jYXRlZ29yeUxpc3QnO1xyXG5pbXBvcnQgeyBTbmFja0JhclNlcnZpY2UgfSBmcm9tICcuLi91aS1raXQvc25hY2stYmFyL3NuYWNrLWJhci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQWRkUmlza1NlcnZpY2UgfSBmcm9tICcuLi93b3JrZmxvdy1zZXJ2aWNlcy9hZGQtcmlzay5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi93b3JrZmxvdy1zZXJ2aWNlcy9hdXRoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGcmVxdWVuY3lCdWxrU2VydmljZSB9IGZyb20gJy4uL3dvcmtmbG93LXNlcnZpY2VzL2ZyZXF1ZW5jeS5zZXJ2aWNlJztcclxuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQvbW9tZW50JztcclxuXHJcbnR5cGUgQU9BID0gYW55W11bXTtcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtYWRkLW11bHRpcGxlLXJpc2snLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hZGQtbXVsdGlwbGUtcmlzay5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYWRkLW11bHRpcGxlLXJpc2suY29tcG9uZW50Lmxlc3MnLCAnLi4vZm9ybXMubGVzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQWRkTXVsdGlwbGVSaXNrQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG4gIEBPdXRwdXQoKSBwaWNrZXJDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBwb3B1bGF0ZU9wdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgY2xvc2VXb3JrZmxvdyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgZGlzY29ubmVjdFJlZnJlc2ggPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgY2F0ZWdvcnlMaXN0OiBDYXRlZ29yeUxpc3QgPSB7XHJcbiAgICBzdHJhdGVnaWM6IHtcclxuICAgICAgbmFtZTogJ1NUUkFURUdJQycsXHJcbiAgICAgIGRhdGE6IFtdLFxyXG4gICAgfSxcclxuICAgIG9wZXJhdGlvbmFsOiB7XHJcbiAgICAgIG5hbWU6ICdPUEVSQVRJT05BTCcsXHJcbiAgICAgIGRhdGE6IFtdLFxyXG4gICAgfSxcclxuICAgIGNvbXBsaWFuY2U6IHtcclxuICAgICAgbmFtZTogJ0NPTVBMSUFOQ0UnLFxyXG4gICAgICBkYXRhOiBbXSxcclxuICAgIH0sXHJcbiAgICBvdGhlcnM6IHtcclxuICAgICAgbmFtZTogJ09USEVSUycsXHJcbiAgICAgIGRhdGE6IFtdLFxyXG4gICAgfSxcclxuICB9O1xyXG5cclxuICBjYXRlZ29yeTogYW55ID0ge1xyXG4gICAgdHlwZTogJ3N0cmF0ZWdpYycsXHJcbiAgICBzZWxlY3RlZENhdGVnb3J5OiAnJyxcclxuICB9O1xyXG5cclxuICByaXNrQnVsa1VwbG9hZDogYW55ID0ge1xyXG4gICAgaGVhZGVyOiBbXSxcclxuICAgIHdlaWdodEZhY3RvcnM6IFtdLFxyXG4gICAgcmlza3M6IFtdLFxyXG4gIH07XHJcblxyXG4gIHRlbXBsYXRlSW5mbzogYW55ID0ge1xyXG4gICAgbWVtYmVySWQ6ICcnLFxyXG4gICAgY2F0ZWdvcnlJZDogJycsXHJcbiAgICBvd25lckxpc3Q6IFtdLFxyXG4gICAgcmNMaXN0OiBbXSxcclxuICAgIG1pdGlnYXRpb25MaXN0OiBbXSxcclxuICAgIGxpa2VsaWhvb2Q6IFtdLFxyXG4gICAgaW1wYWN0OiBbXSxcclxuICAgIHZlbG9jaXR5OiBbXSxcclxuICAgIHZ1bG5lcmFiaWxpdHk6IFtdLFxyXG4gIH07XHJcblxyXG4gIGlzTG9hZGVyID0gZmFsc2U7XHJcbiAgc2hvd0NhdGVnb3J5TGlzdCA9IGZhbHNlO1xyXG4gIHRlbXBsYXRlRG93bmxvYWRlZCA9IGZhbHNlO1xyXG4gIGRvd25sb2FkSW5Qcm9ncmVzcyA9IGZhbHNlO1xyXG4gIGxvYWRlciA9IGZhbHNlO1xyXG4gIHNldHRpbmdzSW5mbyE6IGFueTtcclxuICBpc0ZpbGVFbXB0eSA9IGZhbHNlO1xyXG4gIGlzV3JvbmdGaWxlID0gZmFsc2U7XHJcbiAgaXNXcm9uZ0Zvcm1hdCA9IGZhbHNlO1xyXG4gIGZpbGVOYW1lOiBhbnk7XHJcbiAgZGF0YTogYW55O1xyXG4gIGFzc2Vzc21lbnREZWFkTGluZTogYW55O1xyXG4gIHNob3dFeGNlbCA9IGZhbHNlO1xyXG4gIGZpbGVWYWx1ZTogYW55O1xyXG4gIG1lbWJlcklkID0gMDtcclxuICBvcmdhbml6YXRpb25JZCA9IDA7XHJcbiAgZXJyb3JNZXNzYWdlID0gJyBpbnZhbGlkIGZpbGUgZXJyb3InO1xyXG4gIGRvd25sb2FkU3RhdHVzOiBzdHJpbmcgPSAnTk9UX0RPV05MT0FESU5HJztcclxuICBkb3dubG9hZFBlcmNlbnQgPSAwO1xyXG5cclxuICBzbWlsZXlNZXNzYWdlID0gYFlvdSdyZSBBbGwgU2V0ISBXZSdyZSB1cGxvYWRpbmcgdGhlIHJpc2tzLiBUaGUgcmlzayBvd25lcnMgd2lsbCBiZSBub3RpZmllZCBvbmNlIHRoZSByaXNrcyBoYXZlIGJlZW4gdXBsb2FkZWQuYDtcclxuICBhY3Rpb25CdXR0b25zID0gW1xyXG4gICAgeyBidXR0b25UZXh0OiAnQWRkIE1vcmUgUmlza3MnLCBjbGFzczogJ3doaXRlLWJ0bicsIGlkOiAnYWRkTW9yZScgfSxcclxuICAgIHsgYnV0dG9uVGV4dDogJ1ZpZXcgUmlzaycsIGNsYXNzOiAnYmx1ZS1idG4nLCBpZDogJ3ZpZXdSaXNrcycgfSxcclxuICBdO1xyXG4gIHNob3dTbWlsZXkgPSBmYWxzZTtcclxuICBtZW1iZXJfb2JqX2lkID0gJyc7XHJcbiAgZGVmYXVsdE93bmVyID0gJyc7XHJcbiAgcmlza0RhdGEhOiBhbnk7XHJcbiAgZnJlcXVlbmN5VHlwZSA9IFtcclxuICAgICd3ZWVrbHknLFxyXG4gICAgJ21vbnRobHknLFxyXG4gICAgJ3F1YXJ0ZXJseScsXHJcbiAgICAnYmlhbm51YWwnLFxyXG4gICAgJ2FubnVhbCcsXHJcbiAgICAnb25lIHRpbWUnLFxyXG4gIF07XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByaXNrU2VydmljZTogQWRkUmlza1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcclxuICAgIHByaXZhdGUgc25hY2tCYXI6IFNuYWNrQmFyU2VydmljZSxcclxuICAgIHByaXZhdGUgZnJlcXVlbmN5U2VydmljZTogRnJlcXVlbmN5QnVsa1NlcnZpY2VcclxuICApIHt9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHt9XHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnBpY2tlckNoYW5nZWQuZW1pdChmYWxzZSk7XHJcbiAgICB0aGlzLmdldENhdGVnb3J5TGlzdCgpO1xyXG4gICAgdGhpcy5nZXRTZXR0aW5nc0luZm8oKTtcclxuXHJcbiAgICB0aGlzLm9yZ2FuaXphdGlvbklkID0gdGhpcy5hdXRoU2VydmljZS5nZXRPcmdhbml6YXRpb25JZCgpO1xyXG4gICAgdGhpcy5tZW1iZXJJZCA9IHRoaXMuYXV0aFNlcnZpY2UuZ2V0TWVtYmVySWQoKTtcclxuICAgIHRoaXMubWVtYmVyX29ial9pZCA9IHRoaXMuYXV0aFNlcnZpY2UuZ2V0VXNlckRldGFpbHMoKS5faWQ7XHJcbiAgfVxyXG4gIGdldENhdGVnb3J5TGlzdCgpIHtcclxuICAgIHRoaXMuaXNMb2FkZXIgPSB0cnVlO1xyXG4gICAgdGhpcy5yaXNrU2VydmljZS5nZXRDYXRlZ29yeUxpc3QoKS5zdWJzY3JpYmUoXHJcbiAgICAgIChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuaXNMb2FkZXIgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmNhdGVnb3J5TGlzdC5zdHJhdGVnaWMuZGF0YSA9IHJlcy5zdHJhdGVnaWNfYXJyO1xyXG4gICAgICAgIHRoaXMuY2F0ZWdvcnlMaXN0Lm9wZXJhdGlvbmFsLmRhdGEgPSByZXMub3BlcmF0aW9uYWxfYXJyO1xyXG4gICAgICAgIHRoaXMuY2F0ZWdvcnlMaXN0LmNvbXBsaWFuY2UuZGF0YSA9IHJlcy5jb21wbGlhbmNlX2FycjtcclxuICAgICAgICB0aGlzLmNhdGVnb3J5TGlzdC5vdGhlcnMuZGF0YSA9IHJlcy5vdGhlcnNfYXJyO1xyXG4gICAgICB9LFxyXG4gICAgICAoZXJyKSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcihlcnIpO1xyXG4gICAgICAgIHRoaXMuaXNMb2FkZXIgPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcbiAgc2F2ZVNlbGVjdGVkQ2F0ZWdvcnkoY2F0ZWdvcnk6IGFueSkge1xyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLmNhdGVnb3J5Py5zZWxlY3RlZENhdGVnb3J5Py5jYXRlZ29yeV9pZCAhPVxyXG4gICAgICBjYXRlZ29yeT8uc2VsZWN0ZWRDYXRlZ29yeT8uY2F0ZWdvcnlfaWRcclxuICAgICkge1xyXG4gICAgICB0aGlzLmRvd25sb2FkU3RhdHVzID0gJ05PVF9ET1dOTE9BRElORyc7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNob3dDYXRlZ29yeUxpc3QgPSBmYWxzZTtcclxuICAgIHRoaXMuY2F0ZWdvcnkgPSBjYXRlZ29yeTtcclxuICAgIGNvbnN0IHJlZmVyZW5jZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNzY3JvbGxSZWZlcmVuY2UnKTtcclxuICAgIGlmIChyZWZlcmVuY2UpIHtcclxuICAgICAgcmVmZXJlbmNlLnNjcm9sbEludG9WaWV3KHsgYmVoYXZpb3I6ICdzbW9vdGgnLCBibG9jazogJ2NlbnRlcicgfSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnJlc2V0KCk7XHJcbiAgfVxyXG4gIHJlbW92ZUNhdGVnb3J5KCkge1xyXG4gICAgdGhpcy5jYXRlZ29yeSA9IHtcclxuICAgICAgdHlwZTogJ3N0cmF0ZWdpYycsXHJcbiAgICAgIHNlbGVjdGVkQ2F0ZWdvcnk6ICcnLFxyXG4gICAgfTtcclxuICAgIHRoaXMucmVzZXQoKTtcclxuICB9XHJcbiAgZ2V0U2V0dGluZ3NJbmZvKCkge1xyXG4gICAgdGhpcy5yaXNrU2VydmljZS5nZXRSaXNrU2V0dGluZ0RldGFpbHMoKS5zdWJzY3JpYmUoXHJcbiAgICAgIChyZXMpID0+IHtcclxuICAgICAgICB0aGlzLnNldHRpbmdzSW5mbyA9IHJlcztcclxuICAgICAgfSxcclxuICAgICAgKGVycikgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcbiAgdHJpZ2dlckJyb3dzZUZpbGUoKSB7XHJcbiAgICBjb25zdCBnZXRGaWxlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZpbGVJbnB1dCcpO1xyXG4gICAgaWYgKGdldEZpbGUpIHtcclxuICAgICAgZ2V0RmlsZS5jbGljaygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdXBsb2FkZWRGaWxlKGV2ZW50OiBhbnkpIHtcclxuICAgIHRyeSB7XHJcbiAgICAgIHRoaXMucmlza0J1bGtVcGxvYWQgPSB7XHJcbiAgICAgICAgaGVhZGVyOiBbXSxcclxuICAgICAgICB3ZWlnaHRGYWN0b3JzOiBbXSxcclxuICAgICAgICByaXNrczogW10sXHJcbiAgICAgIH07XHJcbiAgICAgIHRoaXMudGVtcGxhdGVJbmZvID0ge1xyXG4gICAgICAgIG1lbWJlcklkOiAnJyxcclxuICAgICAgICBjYXRlZ29yeUlkOiAnJyxcclxuICAgICAgICBvd25lckxpc3Q6IFtdLFxyXG4gICAgICAgIHJjTGlzdDogW10sXHJcbiAgICAgICAgbWl0aWdhdGlvbkxpc3Q6IFtdLFxyXG4gICAgICAgIGxpa2VsaWhvb2Q6IFtdLFxyXG4gICAgICAgIGltcGFjdDogW10sXHJcbiAgICAgICAgdmVsb2NpdHk6IFtdLFxyXG4gICAgICAgIHZ1bG5lcmFiaWxpdHk6IFtdLFxyXG4gICAgICB9O1xyXG4gICAgICBjb25zdCByZWZlcmVuY2UgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjc2Nyb2xsUmVmZXJlbmNlJyk7XHJcbiAgICAgIGlmIChyZWZlcmVuY2UpIHtcclxuICAgICAgICByZWZlcmVuY2Uuc2Nyb2xsSW50b1ZpZXcoeyBiZWhhdmlvcjogJ3Ntb290aCcsIGJsb2NrOiAnY2VudGVyJyB9KTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmlzRmlsZUVtcHR5ID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuaXNXcm9uZ0ZpbGUgPSBmYWxzZTtcclxuICAgICAgdGhpcy5pc1dyb25nRm9ybWF0ID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuZmlsZU5hbWUgPSBldmVudC50YXJnZXQuZmlsZXNbMF0ubmFtZTtcclxuXHJcbiAgICAgIGNvbnN0IHRhcmdldDogRGF0YVRyYW5zZmVyID0gZXZlbnQudGFyZ2V0IGFzIERhdGFUcmFuc2ZlcjtcclxuICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBjdXJseVxyXG4gICAgICBpZiAodGFyZ2V0LmZpbGVzLmxlbmd0aCAhPT0gMSlcclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCB1c2UgbXVsdGlwbGUgZmlsZXMnKTtcclxuICAgICAgY29uc3QgcmVhZGVyOiBGaWxlUmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcclxuICAgICAgcmVhZGVyLm9ubG9hZCA9IChlOiBhbnkpID0+IHtcclxuICAgICAgICBjb25zdCBic3RyOiBzdHJpbmcgPSBlLnRhcmdldC5yZXN1bHQ7XHJcbiAgICAgICAgY29uc3Qgd2I6IFhMU1guV29ya0Jvb2sgPSBYTFNYLnJlYWQoYnN0ciwgeyB0eXBlOiAnYmluYXJ5JyB9KTtcclxuICAgICAgICBjb25zdCB3c25hbWU6IHN0cmluZyA9IHdiLlNoZWV0TmFtZXNbMF07XHJcbiAgICAgICAgY29uc3Qgd3NuYW1lMTogc3RyaW5nID0gd2IuU2hlZXROYW1lc1sxXTtcclxuXHJcbiAgICAgICAgY29uc3Qgd3M6IFhMU1guV29ya1NoZWV0ID0gd2IuU2hlZXRzW3dzbmFtZV07XHJcbiAgICAgICAgY29uc3QgdGVtcERhdGE6IFhMU1guV29ya1NoZWV0ID0gd2IuU2hlZXRzW3dzbmFtZTFdO1xyXG5cclxuICAgICAgICB0aGlzLmRhdGEgPSBYTFNYLnV0aWxzLnNoZWV0X3RvX2pzb24od3MsIHtcclxuICAgICAgICAgIGhlYWRlcjogMSxcclxuICAgICAgICB9KSBhcyBBT0E7XHJcblxyXG4gICAgICAgIGNvbnN0IHREYXRhID0gWExTWC51dGlscy5zaGVldF90b19qc29uKHRlbXBEYXRhLCB7IGhlYWRlcjogMSB9KSBhcyBBT0E7XHJcbiAgICAgICAgY29uc3QgdGVtcExpc3QgPSB0RGF0YS5maWx0ZXIoXHJcbiAgICAgICAgICAoZGF0YUVsZW1lbnQ6IGFueSkgPT4gZGF0YUVsZW1lbnQubGVuZ3RoID4gMFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy50ZW1wbGF0ZUluZm8ubWVtYmVySWQgPSB0ZW1wTGlzdFswXVs1Nl07XHJcbiAgICAgICAgdGhpcy50ZW1wbGF0ZUluZm8uY2F0ZWdvcnlJZCA9IHRlbXBMaXN0WzBdWzU1XTtcclxuICAgICAgICB0aGlzLnJpc2tCdWxrVXBsb2FkLmhlYWRlciA9IGNsb25lRGVlcChcclxuICAgICAgICAgIHRoaXMuZGF0YVs0XS5maWx0ZXIoKGRhdGFFbGVtZW50OiBhbnkpID0+IGRhdGFFbGVtZW50Lmxlbmd0aCA+IDApXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgdGhpcy5yaXNrQnVsa1VwbG9hZC53ZWlnaHRGYWN0b3JzID0gY2xvbmVEZWVwKFxyXG4gICAgICAgICAgdGhpcy5kYXRhWzVdLmZpbHRlcigod2VpZ2h0RmFjdG9yOiBhbnkpID0+IHdlaWdodEZhY3Rvci5sZW5ndGggPiAwKVxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIHRlbXBMaXN0LmZvckVhY2goKGVsZW1lbnQpID0+IHtcclxuICAgICAgICAgIGlmIChlbGVtZW50WzhdKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG1lbWJlciA9IHtcclxuICAgICAgICAgICAgICBuYW1lOiBlbGVtZW50WzhdLFxyXG4gICAgICAgICAgICAgIG1lbWJlcl9pZDogZWxlbWVudFs5XSxcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgdGhpcy50ZW1wbGF0ZUluZm8ub3duZXJMaXN0LnB1c2gobWVtYmVyKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChlbGVtZW50WzJdKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG1pdGlnYXRpb24gPSB7XHJcbiAgICAgICAgICAgICAgbWl0aWdhdGlvbk5hbWU6IGVsZW1lbnRbMl0sXHJcbiAgICAgICAgICAgICAgbWl0aWdhdGlvbl9pZDogZWxlbWVudFszXSxcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgdGhpcy50ZW1wbGF0ZUluZm8ubWl0aWdhdGlvbkxpc3QucHVzaChtaXRpZ2F0aW9uKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChlbGVtZW50WzZdKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHJjID0ge1xyXG4gICAgICAgICAgICAgIHJjTmFtZTogZWxlbWVudFs2XSxcclxuICAgICAgICAgICAgICByY19pZDogZWxlbWVudFs3XSxcclxuICAgICAgICAgICAgICBvd25lcl9pZHM6IGVsZW1lbnRbMTFdLFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICB0aGlzLnRlbXBsYXRlSW5mby5yY0xpc3QucHVzaChyYyk7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgaWYgKGVsZW1lbnRbMTJdKSB7XHJcbiAgICAgICAgICAgIHRoaXMudGVtcGxhdGVJbmZvPy5saWtlbGlob29kLnB1c2goZWxlbWVudFsxMl0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKGVsZW1lbnRbMTNdKSB7XHJcbiAgICAgICAgICAgIHRoaXMudGVtcGxhdGVJbmZvPy5pbXBhY3QucHVzaChlbGVtZW50WzEzXSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgIHRoaXMucmlza0J1bGtVcGxvYWQ/LndlaWdodEZhY3RvcnM/LmluY2x1ZGVzKCdWZWxvY2l0eScpICYmXHJcbiAgICAgICAgICAgIGVsZW1lbnRbMTRdXHJcbiAgICAgICAgICApIHtcclxuICAgICAgICAgICAgdGhpcy50ZW1wbGF0ZUluZm8udmVsb2NpdHkucHVzaChlbGVtZW50WzE0XSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgIHRoaXMucmlza0J1bGtVcGxvYWQ/LndlaWdodEZhY3RvcnM/LmluY2x1ZGVzKCdWdWxuZXJhYmlsaXR5JykgJiZcclxuICAgICAgICAgICAgZWxlbWVudFsxNV1cclxuICAgICAgICAgICkge1xyXG4gICAgICAgICAgICB0aGlzLnRlbXBsYXRlSW5mby52dWxuZXJhYmlsaXR5LnB1c2goZWxlbWVudFsxNV0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5maWxlTmFtZS5zdWJzdHIoLTUpICE9PSAnLnhsc3gnKSB7XHJcbiAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9XHJcbiAgICAgICAgICAgICdUaGUgaW5jb3JyZWN0IGZpbGUgaGFzIGJlZW4gdXBsb2FkZWQuIFBsZWFzZSB1cGxvYWQgdGhlIHRlbXBsYXRlIGZpbGUgZm9yIFJpc2sgQ2F0ZWdvcnk6JyArXHJcbiAgICAgICAgICAgIHRoaXMuY2F0ZWdvcnkuc2VsZWN0ZWRDYXRlZ29yeS5jYXRlZ29yeV9uYW1lICtcclxuICAgICAgICAgICAgJyBSRVRSWSc7XHJcblxyXG4gICAgICAgICAgdGhpcy5pc1dyb25nRmlsZSA9IHRydWU7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICB0aGlzLnJpc2tCdWxrVXBsb2FkLmhlYWRlclswXSAhPT1cclxuICAgICAgICAgICdXaGF0IHJpc2sgd291bGQgeW91IGxpa2UgdG8gbWFuYWdlPyonXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9XHJcbiAgICAgICAgICAgICdUaGUgaW5jb3JyZWN0IGZpbGUgaGFzIGJlZW4gdXBsb2FkZWQuIFBsZWFzZSB1cGxvYWQgdGhlIHRlbXBsYXRlIGZpbGUgZm9yIFJpc2sgQ2F0ZWdvcnk6JyArXHJcbiAgICAgICAgICAgIHRoaXMuY2F0ZWdvcnkuc2VsZWN0ZWRDYXRlZ29yeS5jYXRlZ29yeV9uYW1lICtcclxuICAgICAgICAgICAgJyBSRVRSWSc7XHJcblxyXG4gICAgICAgICAgdGhpcy5pc1dyb25nRmlsZSA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5pc1dyb25nRm9ybWF0ID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuZGF0YSA9IHRoaXMuZGF0YT8uc2xpY2UoNyk7XHJcbiAgICAgICAgY29uc3QgZGVmYXVsdE93bmVyID0gdGhpcy50ZW1wbGF0ZUluZm8/Lm93bmVyTGlzdD8uZmluZEluZGV4KFxyXG4gICAgICAgICAgKGVsZTogYW55KSA9PiBlbGU/Lm1lbWJlcl9pZCA9PSB0aGlzLm1lbWJlcklkXHJcbiAgICAgICAgKTtcclxuICAgICAgICBpZiAoZGVmYXVsdE93bmVyICE9IC0xKSB7XHJcbiAgICAgICAgICB0aGlzLmRlZmF1bHRPd25lciA9IHRoaXMudGVtcGxhdGVJbmZvLm93bmVyTGlzdFtkZWZhdWx0T3duZXJdLm5hbWU7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID1cclxuICAgICAgICAgICAgJ1RoZSBpbmNvcnJlY3QgZmlsZSBoYXMgYmVlbiB1cGxvYWRlZC4gUGxlYXNlIHVwbG9hZCB0aGUgdGVtcGxhdGUgZmlsZSBmb3IgUmlzayBDYXRlZ29yeTonICtcclxuICAgICAgICAgICAgdGhpcy5jYXRlZ29yeS5zZWxlY3RlZENhdGVnb3J5LmNhdGVnb3J5X25hbWUgK1xyXG4gICAgICAgICAgICAnIFJFVFJZJztcclxuICAgICAgICAgIHRoaXMuaXNXcm9uZ0ZpbGUgPSB0cnVlO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgdGhpcy5tZW1iZXJfb2JqX2lkICE9IHRoaXMudGVtcGxhdGVJbmZvLm1lbWJlcklkIHx8XHJcbiAgICAgICAgICB0aGlzLmNhdGVnb3J5LnNlbGVjdGVkQ2F0ZWdvcnkuX2lkICE9IHRoaXMudGVtcGxhdGVJbmZvLmNhdGVnb3J5SWRcclxuICAgICAgICApIHtcclxuICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID1cclxuICAgICAgICAgICAgJ1RoZSBpbmNvcnJlY3QgZmlsZSBoYXMgYmVlbiB1cGxvYWRlZC4gUGxlYXNlIHVwbG9hZCB0aGUgdGVtcGxhdGUgZmlsZSBmb3IgUmlzayBDYXRlZ29yeTonICtcclxuICAgICAgICAgICAgdGhpcy5jYXRlZ29yeS5zZWxlY3RlZENhdGVnb3J5LmNhdGVnb3J5X25hbWUgK1xyXG4gICAgICAgICAgICAnIFJFVFJZJztcclxuXHJcbiAgICAgICAgICB0aGlzLmlzV3JvbmdGaWxlID0gdHJ1ZTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IGlzRW1wdHkgPSB0aGlzLmNoZWNrRW1wdHlGaWxlKCk7XHJcbiAgICAgICAgaWYgKGlzRW1wdHkpIHtcclxuICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID1cclxuICAgICAgICAgICAgJ1lvdSBoYXZlIHVwbG9hZGVkIGEgYmxhbmsgdGVtcGxhdGUuIFBsZWFzZSBhZGQgZGV0YWlscyBmb3IgYWxsIG1hbmRhdG9yeSBmaWVsZHMuIFJFVFJZJztcclxuICAgICAgICAgIHRoaXMuaXNGaWxlRW1wdHkgPSB0cnVlO1xyXG4gICAgICAgICAgdGhpcy5pc1dyb25nRmlsZSA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5pc1dyb25nRm9ybWF0ID0gZmFsc2U7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGlmICh0aGlzLnJpc2tCdWxrVXBsb2FkLmhlYWRlcls2XSA9PT0gJ1Jpc2sgQXNzZXNzbWVudCBEZWFkbGluZSonKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYXNzZXNzbWVudERlYWRMaW5lID0gdHJ1ZTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuYXNzZXNzbWVudERlYWRMaW5lID0gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLmlzRmlsZUVtcHR5ID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmlzV3JvbmdGaWxlID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmlzV3JvbmdGb3JtYXQgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuZmlsZVZhbHVlID0gJyc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IHJpc2tEYXRhID0gdGhpcy5kYXRhLmZpbHRlcihcclxuICAgICAgICAgIChkYXRhRWxlbWVudDogYW55KSA9PiBkYXRhRWxlbWVudC5sZW5ndGggPiAwXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgcmlza0RhdGEuZm9yRWFjaCgocmlzazogYW55LCBpbmRleDogYW55KSA9PiB7XHJcbiAgICAgICAgICAvLyBjb25zdCBvYmo6IGFueSA9IHtcclxuICAgICAgICAgIC8vICAgcmlza05hbWU6IHJpc2tbMF0gPz8gJycsXHJcbiAgICAgICAgICAvLyAgIGRlc2NyaXB0aW9uOiByaXNrWzFdID8/ICcnLFxyXG4gICAgICAgICAgLy8gICByY05hbWU6IHJpc2tbMl0gPz8gJycsXHJcbiAgICAgICAgICAvLyAgIG93bmVyOiByaXNrWzNdID8/ICcnLFxyXG4gICAgICAgICAgLy8gICBtaXRpZ2F0aW9uUHJpb3JpdHk6IHJpc2tbNF0gPz8gJycsXHJcbiAgICAgICAgICAvLyAgIG92ZXJzZWVyOiByaXNrWzVdID8/ICcnLFxyXG4gICAgICAgICAgLy8gICBpc1ZhbGlkOiB0aGlzLmNoZWNrVmFsaWRpdHkocmlzayksXHJcbiAgICAgICAgICAvLyB9XHJcblxyXG4gICAgICAgICAgLy8gaWYgKHRoaXMuYXNzZXNzbWVudERlYWRMaW5lKSB7XHJcbiAgICAgICAgICAvLyAgIG9iai5hc3Nlc3NtZW50RGVhZExpbmUgPSByaXNrWzZdID8/ICcnO1xyXG4gICAgICAgICAgLy8gICBvYmoubGlrZWxpaG9vZCA9IHJpc2tbN10gPz8gJyc7XHJcbiAgICAgICAgICAvLyAgIG9iai5pbXBhY3QgPSByaXNrWzhdID8/ICcnO1xyXG4gICAgICAgICAgLy8gICBpZiAodGhpcy5yaXNrQnVsa1VwbG9hZC53ZWlnaHRGYWN0b3JzLmxlbmd0aCA9PSAzKSB7XHJcbiAgICAgICAgICAvLyAgICAgb2JqLnZlbG9jaXR5ID0gcmlza1s5XSA/PyAnJztcclxuICAgICAgICAgIC8vICAgfVxyXG4gICAgICAgICAgLy8gICBpZiAodGhpcy5yaXNrQnVsa1VwbG9hZC53ZWlnaHRGYWN0b3JzLmxlbmd0aCA9PSA0KSB7XHJcbiAgICAgICAgICAvLyAgICAgb2JqLnZlbG9jaXR5ID0gcmlza1s5XSA/PyAnJztcclxuICAgICAgICAgIC8vICAgICBvYmoudnVsbmVyYWJpbGl0eSA9IHJpc2tbMTBdID8/ICcnO1xyXG4gICAgICAgICAgLy8gICB9XHJcbiAgICAgICAgICAvLyAgIGNvbnN0IGN1c3RvbVRhZ3M6IGFueSA9IFtdO1xyXG5cclxuICAgICAgICAgIC8vICAgdGhpcy5jYXRlZ29yeS5zZWxlY3RlZENhdGVnb3J5LmN1c3RvbV90YWcuZm9yRWFjaCgodGFnOiBhbnksIGluZGV4OiBhbnkpID0+IHtcclxuICAgICAgICAgIC8vICAgICBpZiAodGFnKSB7XHJcbiAgICAgICAgICAvLyAgICAgICBjb25zdCBjVGFnID0ge1xyXG4gICAgICAgICAgLy8gICAgICAgICBjdXN0b21fdGFnX3ZhbHVlOiByaXNrWzcgKyB0aGlzLnJpc2tCdWxrVXBsb2FkLndlaWdodEZhY3RvcnMubGVuZ3RoICsgaW5kZXhdID8/ICcnLFxyXG4gICAgICAgICAgLy8gICAgICAgICBjdXN0b21fdGFnX25hbWU6IHRhZy50YWdOYW1lXHJcbiAgICAgICAgICAvLyAgICAgICB9O1xyXG4gICAgICAgICAgLy8gICAgICAgY3VzdG9tVGFncy5wdXNoKGNUYWcpO1xyXG4gICAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAgIC8vICAgfSk7XHJcbiAgICAgICAgICAvLyAgIG9iai5jdXN0b21UYWcgPSBjdXN0b21UYWdzO1xyXG4gICAgICAgICAgLy8gfSBlbHNlIHtcclxuICAgICAgICAgIC8vICAgb2JqLmxpa2VsaWhvb2QgPSByaXNrWzZdID8/ICcnO1xyXG4gICAgICAgICAgLy8gICBvYmouaW1wYWN0ID0gcmlza1s3XSA/PyAnJztcclxuXHJcbiAgICAgICAgICAvLyAgIGlmICh0aGlzLnJpc2tCdWxrVXBsb2FkLndlaWdodEZhY3RvcnMubGVuZ3RoID09IDMpIHtcclxuICAgICAgICAgIC8vICAgICBvYmoudmVsb2NpdHkgPSByaXNrWzhdID8/ICcnO1xyXG4gICAgICAgICAgLy8gICB9XHJcbiAgICAgICAgICAvLyAgIGlmICh0aGlzLnJpc2tCdWxrVXBsb2FkLndlaWdodEZhY3RvcnMubGVuZ3RoID09IDQpIHtcclxuICAgICAgICAgIC8vICAgICBvYmoudmVsb2NpdHkgPSByaXNrWzhdID8/ICcnO1xyXG4gICAgICAgICAgLy8gICAgIG9iai52dWxuZXJhYmlsaXR5ID0gcmlza1s5XSA/PyAnJztcclxuICAgICAgICAgIC8vICAgfVxyXG4gICAgICAgICAgLy8gICBjb25zdCBjdXN0b21UYWdzOiBhbnkgPSBbXTtcclxuICAgICAgICAgIC8vICAgdGhpcy5jYXRlZ29yeS5zZWxlY3RlZENhdGVnb3J5LmN1c3RvbV90YWcuZm9yRWFjaCgodGFnOiBhbnksIGluZGV4OiBhbnkpID0+IHtcclxuICAgICAgICAgIC8vICAgICBpZiAodGFnKSB7XHJcbiAgICAgICAgICAvLyAgICAgICBjb25zdCBjVGFnID0ge1xyXG4gICAgICAgICAgLy8gICAgICAgICBjdXN0b21fdGFnX3ZhbHVlOiByaXNrWzYgKyB0aGlzLnJpc2tCdWxrVXBsb2FkLndlaWdodEZhY3RvcnMubGVuZ3RoICsgaW5kZXhdID8/ICcnLFxyXG4gICAgICAgICAgLy8gICAgICAgICBjdXN0b21fdGFnX25hbWU6IHRhZy50YWdOYW1lXHJcbiAgICAgICAgICAvLyAgICAgICB9O1xyXG4gICAgICAgICAgLy8gICAgICAgY3VzdG9tVGFncy5wdXNoKGNUYWcpO1xyXG4gICAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAgIC8vICAgfSk7XHJcbiAgICAgICAgICAvLyAgIG9iai5jdXN0b21UYWcgPSBjdXN0b21UYWdzO1xyXG4gICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgbGV0IG9iaiA9IHRoaXMuc2V0Umlza0RldGFpbHMocmlzayk7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZyhyaXNrRGF0YSk7XHJcbiAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgIG9iaj8ubGlrZWxpaG9vZCAmJlxyXG4gICAgICAgICAgICAhdGhpcy50ZW1wbGF0ZUluZm8/Lmxpa2VsaWhvb2QuaW5jbHVkZXMob2JqPy5saWtlbGlob29kKVxyXG4gICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgIG9iai5pc1ZhbGlkID0gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAob2JqPy5pbXBhY3QgJiYgIXRoaXMudGVtcGxhdGVJbmZvPy5pbXBhY3QuaW5jbHVkZXMob2JqPy5pbXBhY3QpKSB7XHJcbiAgICAgICAgICAgIG9iai5pc1ZhbGlkID0gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgIG9iaj8udmVsb2NpdHkgJiZcclxuICAgICAgICAgICAgIXRoaXMudGVtcGxhdGVJbmZvPy52ZWxvY2l0eS5pbmNsdWRlcyhvYmo/LnZlbG9jaXR5KVxyXG4gICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgIG9iai5pc1ZhbGlkID0gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgIG9iaj8udnVsbmVyYWJpbGl0eSAmJlxyXG4gICAgICAgICAgICAhdGhpcy50ZW1wbGF0ZUluZm8/LnZ1bG5lcmFiaWxpdHkuaW5jbHVkZXMob2JqPy52dWxuZXJhYmlsaXR5KVxyXG4gICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgIG9iai5pc1ZhbGlkID0gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLnJpc2tCdWxrVXBsb2FkLnJpc2tzLnB1c2gob2JqKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmlzRmlsZUVtcHR5ID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5pc1dyb25nRmlsZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuaXNXcm9uZ0Zvcm1hdCA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuc2hvd0V4Y2VsID0gdHJ1ZTtcclxuICAgICAgfTtcclxuICAgICAgcmVhZGVyLnJlYWRBc0JpbmFyeVN0cmluZyh0YXJnZXQ/LmZpbGVzWzBdKTtcclxuICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgY29uc29sZS5lcnJvcihlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNoZWNrRW1wdHlGaWxlKCkge1xyXG4gICAgbGV0IGlzRW1wdHkgPSBmYWxzZTtcclxuICAgIHRoaXMuZGF0YSA9IHRoaXMuZGF0YS5maWx0ZXIoKGRhdGFFbGVtZW50OiBhbnkpID0+IGRhdGFFbGVtZW50Lmxlbmd0aCA+IDApO1xyXG4gICAgaWYgKHRoaXMuZGF0YS5sZW5ndGggPCAxKSB7XHJcbiAgICAgIGlzRW1wdHkgPSB0cnVlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGlzRW1wdHk7XHJcbiAgfVxyXG5cclxuICBjaGVja1ZhbGlkaXR5KHJpc2s6IGFueSkge1xyXG4gICAgY29uc3QgcmUgPSAvJm5ic3A7fDxicj4vZztcclxuICAgIGxldCB0cmltbWVkTmFtZSA9IHJpc2tbMF0gPyByaXNrWzBdLnRvU3RyaW5nKCkucmVwbGFjZShyZSwgJycpLnRyaW0oKSA6ICcnO1xyXG4gICAgdHJpbW1lZE5hbWUgPSB0cmltbWVkTmFtZS5yZXBsYWNlKC8gICsvZywgJyAnKTtcclxuICAgIC8vIHx8ICh0aGlzLmFzc2Vzc21lbnREZWFkTGluZSAmJiAoIXJpc2tbNl0pKVxyXG4gICAgaWYgKFxyXG4gICAgICAhdHJpbW1lZE5hbWUgfHxcclxuICAgICAgKHJpc2tbM10gJiYgcmlza1szXSA9PSByaXNrWzddKSB8fFxyXG4gICAgICAoIXJpc2tbM10gJiYgdGhpcy5kZWZhdWx0T3duZXIgPT0gcmlza1s3XSkgfHxcclxuICAgICAgIXJpc2tbMl0gfHxcclxuICAgICAgIXRoaXMuZnJlcXVlbmN5VHlwZT8uaW5jbHVkZXMocmlza1s1XT8udG9Mb3dlckNhc2UoKSkgXHJcbiAgICApIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBkb3dubG9hZFRlbXBsYXRlKCkge1xyXG4gICAgdGhpcy5kb3dubG9hZFN0YXR1cyA9ICdET1dOTE9BRElORyc7XHJcbiAgICB0aGlzLmRvd25sb2FkUGVyY2VudCA9IDA7XHJcbiAgICBjb25zdCB0b2RheSA9IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKS5zcGxpdCgnVCcpO1xyXG4gICAgY29uc3QgZG93bmxvYWREYXRlID0gdG9kYXlbMF07XHJcbiAgICBjb25zdCBmaWxlTmFtZSA9XHJcbiAgICAgICdWQ29tcGx5IC0gUmlzayBNb2R1bGUgLSBBZGQgTXVsdGlwbGUgUmlza3MgLSAnICtcclxuICAgICAgdGhpcy5jYXRlZ29yeT8uc2VsZWN0ZWRDYXRlZ29yeT8uY2F0ZWdvcnlfbmFtZSArXHJcbiAgICAgICcgLSAnICtcclxuICAgICAgZG93bmxvYWREYXRlICtcclxuICAgICAgJy54bHN4JztcclxuXHJcbiAgICB0aGlzLnJpc2tTZXJ2aWNlXHJcbiAgICAgIC5kb3dubG9hZFRlbXBsYXRlKHRoaXMuY2F0ZWdvcnkuc2VsZWN0ZWRDYXRlZ29yeS5faWQpXHJcbiAgICAgIC5zdWJzY3JpYmUoXHJcbiAgICAgICAgKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKGRhdGEubG9hZGVkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZG93bmxvYWRQZXJjZW50ID0gMTAwICogKGRhdGEubG9hZGVkIC8gZGF0YS50b3RhbCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAoZGF0YS5ib2R5KSB7XHJcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMuZG93bmxvYWRTdGF0dXMgPSB0aGlzLnJpc2tTZXJ2aWNlLmRvd25Mb2FkRmlsZShcclxuICAgICAgICAgICAgICAgIGRhdGEuYm9keSxcclxuICAgICAgICAgICAgICAgICdhcHBsaWNhdGlvbi94bHN4JyxcclxuICAgICAgICAgICAgICAgIGZpbGVOYW1lXHJcbiAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgfSwgMTUwMCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICAoZXJyb3IpID0+IHtcclxuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xyXG4gICAgICAgICAgdGhpcy5kb3dubG9hZFN0YXR1cyA9ICdET1dOTE9BREVEJztcclxuICAgICAgICB9XHJcbiAgICAgICk7XHJcbiAgfVxyXG5cclxuICBzdWJtaXRSaXNrQnVsa1VwbG9hZChjb21wbGV0ZUFzc2Vzc21lbnQ6IGFueSkge1xyXG4gICAgdGhpcy5sb2FkZXIgPSB0cnVlO1xyXG4gICAgY29uc3QgcGF5bG9hZDogYW55ID0gW107XHJcbiAgICB0aGlzLnJpc2tCdWxrVXBsb2FkLnJpc2tzLmZvckVhY2goKHJpc2s6IGFueSkgPT4ge1xyXG4gICAgICBsZXQgZnJlcXVlbmN5VmFsdWUgPSAnJztcclxuICAgICAgaWYgKHJpc2s/LmZyZXF1ZW5jeS50b0xvd2VyQ2FzZSgpID09PSAnb25lIHRpbWUnKSB7XHJcbiAgICAgICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKCk7XHJcbiAgICAgICAgZGF0ZS5zZXREYXRlKGRhdGUuZ2V0RGF0ZSgpICsgMSk7XHJcbiAgICAgICAgZnJlcXVlbmN5VmFsdWUgPVxyXG4gICAgICAgICAgJzB+JyArXHJcbiAgICAgICAgICAnJyArXHJcbiAgICAgICAgICBkYXRlLmdldEZ1bGxZZWFyKCkgK1xyXG4gICAgICAgICAgJ34nICtcclxuICAgICAgICAgIChkYXRlLmdldE1vbnRoKCkgKyAxKSArXHJcbiAgICAgICAgICAnficgK1xyXG4gICAgICAgICAgZGF0ZS5nZXREYXRlKCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgZnJlcXVlbmN5VmFsdWUgPSB0aGlzLmZyZXF1ZW5jeVNlcnZpY2Uuc2hvcnRIYW5kX2ZyZXFDYWwoXHJcbiAgICAgICAgICByaXNrPy5mcmVxdWVuY3lcclxuICAgICAgICApO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAocmlzay5pc1ZhbGlkKSB7XHJcbiAgICAgICAgY29uc3Qgb2JqID0ge1xyXG4gICAgICAgICAgdGl0bGU6IHJpc2s/LnJpc2tOYW1lLFxyXG4gICAgICAgICAgZGVzY3JpcHRpb246IHJpc2s/LmRlc2NyaXB0aW9uLFxyXG4gICAgICAgICAgY2F0ZWdvcnlfY3VzdG9tX3RhZzogcmlzaz8uY3VzdG9tVGFnLFxyXG4gICAgICAgICAgYXNzZXNzbWVudF9kZWFkbGluZV9lbmFibGU6XHJcbiAgICAgICAgICAgIHRoaXMuc2V0dGluZ3NJbmZvPy5hc3Nlc3NtZW50X2RlYWRsaW5lX2VuYWJsZSxcclxuICAgICAgICAgIG93bmVyOiByaXNrPy5vd25lclxyXG4gICAgICAgICAgICA/IHRoaXMucmV0dXJuSWRzKHJpc2s/Lm93bmVyLCAnb3duZXInKVxyXG4gICAgICAgICAgICA6IHRoaXMucmV0dXJuSWRzKHRoaXMuZGVmYXVsdE93bmVyLCAnb3duZXInKSxcclxuICAgICAgICAgIHJpc2tfb3duZXI6IHJpc2s/LnJpc2tPd25lcixcclxuICAgICAgICAgIGNhdGVnb3J5OiB0aGlzLmNhdGVnb3J5Py5zZWxlY3RlZENhdGVnb3J5Py5jYXRlZ29yeV9pZFxyXG4gICAgICAgICAgICA/IFt0aGlzLmNhdGVnb3J5Py5zZWxlY3RlZENhdGVnb3J5Py5jYXRlZ29yeV9pZF1cclxuICAgICAgICAgICAgOiBbXSxcclxuICAgICAgICAgIG1hbmFnZV9vdmVyc2lnaHQ6IHRoaXMucmV0dXJuSWRzKHJpc2s/Lm92ZXJzZWVyLCAnb3ZlcnNlZXInKSxcclxuICAgICAgICAgIHJjX2lkOiB0aGlzLnJldHVybklkcyhyaXNrPy5yY05hbWUsICdyY19pZCcpLFxyXG4gICAgICAgICAgaGVhZF9pZHM6IHRoaXMucmV0dXJuSWRzKHJpc2s/LnJjTmFtZSwgJ3JjX293bmVyX2lkcycpLCAvLzIgdG8gYmUgYXJheVxyXG4gICAgICAgICAgcmF0aW5nX2FycjogW1xyXG4gICAgICAgICAgICByaXNrPy5saWtlbGlob29kID8gcmlzaz8ubGlrZWxpaG9vZC5zcGxpdCgnIC0gJylbMV0gOiAwLFxyXG4gICAgICAgICAgICByaXNrPy5pbXBhY3QgPyByaXNrPy5pbXBhY3Quc3BsaXQoJyAtICcpWzFdIDogMCxcclxuICAgICAgICAgICAgcmlzaz8udmVsb2NpdHkgPyByaXNrPy52ZWxvY2l0eS5zcGxpdCgnIC0gJylbMV0gOiAwLFxyXG4gICAgICAgICAgICByaXNrPy52dWxuZXJhYmlsaXR5ID8gcmlzaz8udnVsbmVyYWJpbGl0eS5zcGxpdCgnIC0gJylbMV0gOiAwLFxyXG4gICAgICAgICAgXSxcclxuICAgICAgICAgIG1lbWJlcl9pZDogdGhpcy5tZW1iZXJJZCxcclxuICAgICAgICAgIG9yZ2FuaXNhdGlvbl9pZDogdGhpcy5vcmdhbml6YXRpb25JZCxcclxuICAgICAgICAgIHJpc2tfcHJvZ3Jlc3NfZmxhZzogMSxcclxuICAgICAgICAgIElmQXNzZXNzbWVudERvbmU6IDAsXHJcbiAgICAgICAgICB3b3Jrc2hvcF9pZDogJycsXHJcbiAgICAgICAgICBjb21wbGV0ZV9hc3Nlc3NtZW50OiBjb21wbGV0ZUFzc2Vzc21lbnQgPyAxIDogMCxcclxuICAgICAgICAgIG1pdGlnYXRpb246IHRoaXMucmV0dXJuSWRzKHJpc2s/Lm1pdGlnYXRpb25Qcmlvcml0eSwgJ21pdGlnYXRpb24nKSwgLy8zIHdyb25nXHJcbiAgICAgICAgICB3ZWlnaHRhZ2VfZW5hYmxlOiB0aGlzLnNldHRpbmdzSW5mbz8ud2VpZ2h0YWdlX2VuYWJsZSxcclxuICAgICAgICAgIHRyZWF0bWVudF90eXBlOiB0aGlzLnNldHRpbmdzSW5mbz8udHJlYXRtZW50X2NyaXRlcmlhLFxyXG4gICAgICAgICAgd2VpZ2h0YWdlX2RldGFpbHM6IHRoaXMuc2V0dGluZ3NJbmZvPy53ZWlnaHRhZ2VfZGV0YWlscyxcclxuICAgICAgICAgIHdlaWdodGFnZV9zZXRfYnk6IHRoaXMuc2V0dGluZ3NJbmZvPy53ZWlnaHRhZ2Vfc2V0X2J5LFxyXG4gICAgICAgICAgd2VpZ2h0YWdlX3N0cjogW1xyXG4gICAgICAgICAgICB0aGlzLnNldHRpbmdzSW5mbz8ud2VpZ2h0YWdlX2RldGFpbHM/LmltcGFjdC52YWx1ZSxcclxuICAgICAgICAgICAgdGhpcy5zZXR0aW5nc0luZm8/LndlaWdodGFnZV9kZXRhaWxzPy5saWtlbGlob29kLnZhbHVlLFxyXG4gICAgICAgICAgICB0aGlzLnNldHRpbmdzSW5mbz8ud2VpZ2h0YWdlX2RldGFpbHM/LnZlbG9jaXR5LnZhbHVlLFxyXG4gICAgICAgICAgICB0aGlzLnNldHRpbmdzSW5mbz8ud2VpZ2h0YWdlX2RldGFpbHM/LnZ1bG5lcmFiaWxpdHkudmFsdWUsXHJcbiAgICAgICAgICBdLFxyXG4gICAgICAgICAgLy8gYXNzZXNzbWVudF9kZWFkbGluZV9zZXRfYnk6IHRoaXMuc2V0dGluZ3NJbmZvPy5hc3Nlc3NtZW50X2RlYWRsaW5lX3NldF9ieSwgLy9jaGVjazEgbm90IGFwcGVhcmluZ1xyXG4gICAgICAgICAgYXNzZXNzbWVudF9kZWFkbGluZV9zZXRfYnk6XHJcbiAgICAgICAgICAgIHRoaXMuc2V0dGluZ3NJbmZvPy5hc3Nlc3NtZW50X2RlYWRsaW5lX3NldF9ieSA/PyB0aGlzLm1lbWJlcklkLCAvL2NoZWNrMSBub3QgYXBwZWFyaW5nXHJcbiAgICAgICAgICBhc3Nlc3NtZW50X2RlYWRsaW5lX2RheXM6IHRoaXMuc2V0dGluZ3NJbmZvXHJcbiAgICAgICAgICAgID8uYXNzZXNzbWVudF9kZWFkbGluZV9lbmFibGVcclxuICAgICAgICAgICAgPyB0aGlzLnNldHRpbmdzSW5mbz8uYXNzZXNzbWVudF9kZWFkbGluZV9kYXlzXHJcbiAgICAgICAgICAgIDogcmlzaz8uYXNzZXNzbWVudERlYWRMaW5lLFxyXG4gICAgICAgICAgZnJlcXVlbmN5X2RldGFpbHM6IHtcclxuICAgICAgICAgICAgZnJlcXVlbmN5OiBmcmVxdWVuY3lWYWx1ZSxcclxuICAgICAgICAgICAgc3RhcnRlZF9hdDpcclxuICAgICAgICAgICAgICB0aGlzLmNoYW5nZVRpbWVab25lKG5ldyBEYXRlKCkpID8/IG1vbWVudCgpLmZvcm1hdCgnWVlZWS1NTS1ERCcpLFxyXG4gICAgICAgICAgICBmcmVxdWVuY3lfdGltZTogJzExOjAwIHBtJyxcclxuICAgICAgICAgICAgcmVtaW5kX2JlZm9yZV9kYXlzOiByaXNrPy5lbWFpbFJlbWluZGVyXHJcbiAgICAgICAgICAgICAgPyByaXNrPy5lbWFpbFJlbWluZGVyXHJcbiAgICAgICAgICAgICAgOiB0aGlzLnNldERlZmF1bHRFbWFpbFJlbWluZGVyVmFsdWUocmlzaz8uZnJlcXVlbmN5KSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICByaXNrX2xhYmVsOiB0aGlzLnNldFJpc2tMYWJlbChyaXNrPy5yaXNrTGFiZWwpLFxyXG4gICAgICAgICAgbWl0aWdhdGlvbl9wbGFuX3JlY29tbWVuZGF0aW9uOiByaXNrPy5taXRpZ2F0aW9uUGxhbnMgPz8gJycsXHJcbiAgICAgICAgICBzYW1lUmlza1JhdGluZ3NGb3JBbGxSQzogcmlzaz8uYXBwbHlTYW1lUmlza1JhdGluZyA/PyAnTm8nLFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgcGF5bG9hZC5wdXNoKG9iaik7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy5yaXNrU2VydmljZS5hZGRCdWxrUmlzayhwYXlsb2FkKS5zdWJzY3JpYmUoXHJcbiAgICAgIChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMubG9hZGVyID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5zaG93RXhjZWwgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnNob3dTbWlsZXkgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMucmlza0RhdGEgPSByZXM7XHJcbiAgICAgIH0sXHJcbiAgICAgIChlcnIpID0+IHtcclxuICAgICAgICBjb25zb2xlLmVycm9yKGVycik7XHJcbiAgICAgICAgdGhpcy5sb2FkZXIgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnNob3dFeGNlbCA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuc25hY2tCYXIuc2hvdyhcclxuICAgICAgICAgICdPT1BTISBTb21ldGhpbmcgd2VudCB3cm9uZyBhbmQgdGhlIHBhZ2UgY291bGQgbm90IGJlIGxvYWRlZC4gQ291bGQgeW91IHBsZWFzZSB0cnkgb25lIG1vcmUgdGltZT8nLFxyXG4gICAgICAgICAgJ2FsZXJ0J1xyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICByZXR1cm5JZHMoaXRlbTogYW55LCBrZXk6IHN0cmluZykge1xyXG4gICAgc3dpdGNoIChrZXkpIHtcclxuICAgICAgY2FzZSAncmNfaWQnOlxyXG4gICAgICAgIGNvbnN0IHJjSWQ6IGFueSA9IFtdO1xyXG4gICAgICAgIHRoaXMudGVtcGxhdGVJbmZvLnJjTGlzdC5mb3JFYWNoKChyY19lbGVtZW50OiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChyY19lbGVtZW50LnJjTmFtZSA9PSBpdGVtKSB7XHJcbiAgICAgICAgICAgIHJjSWQucHVzaChyY19lbGVtZW50LnJjX2lkKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gcmNJZDtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAncmNfb3duZXJfaWRzJzpcclxuICAgICAgICBsZXQgb3duZXJfaWRzOiBhbnkgPSBbXTtcclxuICAgICAgICB0aGlzLnRlbXBsYXRlSW5mby5yY0xpc3QuZm9yRWFjaCgoaGVhZGVySWRzOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChoZWFkZXJJZHMucmNOYW1lID09IGl0ZW0gJiYgaGVhZGVySWRzLm93bmVyX2lkcykge1xyXG4gICAgICAgICAgICBvd25lcl9pZHMgPSBoZWFkZXJJZHMub3duZXJfaWRzLmluY2x1ZGVzKCcsJylcclxuICAgICAgICAgICAgICA/IGhlYWRlcklkcy5vd25lcl9pZHMuc3BsaXQoJywnKS5tYXAoTnVtYmVyKVxyXG4gICAgICAgICAgICAgIDogW051bWJlcihoZWFkZXJJZHMub3duZXJfaWRzKV07XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuIG93bmVyX2lkcztcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnb3duZXInOlxyXG4gICAgICAgIGNvbnN0IG93bmVySWQ6IGFueSA9IFtdO1xyXG4gICAgICAgIHRoaXMudGVtcGxhdGVJbmZvLm93bmVyTGlzdC5mb3JFYWNoKChlbGVtZW50OiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChlbGVtZW50Lm5hbWUgPT0gaXRlbSkge1xyXG4gICAgICAgICAgICBvd25lcklkLnB1c2goZWxlbWVudC5tZW1iZXJfaWQpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybiBvd25lcklkO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdvdmVyc2Vlcic6XHJcbiAgICAgICAgY29uc3Qgb3ZlcnNlZXJJZDogYW55ID0gW107XHJcbiAgICAgICAgdGhpcy50ZW1wbGF0ZUluZm8ub3duZXJMaXN0LmZvckVhY2goKG9zX2VsZW1lbnQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKG9zX2VsZW1lbnQubmFtZSA9PSBpdGVtKSB7XHJcbiAgICAgICAgICAgIG92ZXJzZWVySWQucHVzaChvc19lbGVtZW50Lm1lbWJlcl9pZCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuIG92ZXJzZWVySWQ7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlICdtaXRpZ2F0aW9uJzpcclxuICAgICAgICBsZXQgbWl0aWdhdGlvbklkOiBhbnkgPSAwO1xyXG4gICAgICAgIHRoaXMudGVtcGxhdGVJbmZvLm1pdGlnYXRpb25MaXN0LmZvckVhY2goKG1pdGlnYXRpb246IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKG1pdGlnYXRpb24ubWl0aWdhdGlvbk5hbWUgPT0gaXRlbSkge1xyXG4gICAgICAgICAgICBtaXRpZ2F0aW9uSWQgPSBtaXRpZ2F0aW9uLm1pdGlnYXRpb25faWQ7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuIG1pdGlnYXRpb25JZDtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlc2V0KCkge1xyXG4gICAgdGhpcy5yaXNrQnVsa1VwbG9hZCA9IHtcclxuICAgICAgaGVhZGVyOiBbXSxcclxuICAgICAgd2VpZ2h0RmFjdG9yczogW10sXHJcbiAgICAgIHJpc2tzOiBbXSxcclxuICAgIH07XHJcblxyXG4gICAgdGhpcy50ZW1wbGF0ZUluZm8gPSB7XHJcbiAgICAgIG1lbWJlcklkOiAnJyxcclxuICAgICAgY2F0ZWdvcnlJZDogJycsXHJcbiAgICAgIG93bmVyTGlzdDogW10sXHJcbiAgICAgIHJjTGlzdDogW10sXHJcbiAgICAgIG1pdGlnYXRpb25MaXN0OiBbXSxcclxuICAgIH07XHJcblxyXG4gICAgdGhpcy5pc0ZpbGVFbXB0eSA9IGZhbHNlO1xyXG4gICAgdGhpcy5pc1dyb25nRmlsZSA9IGZhbHNlO1xyXG4gICAgdGhpcy5pc1dyb25nRm9ybWF0ID0gZmFsc2U7XHJcbiAgICB0aGlzLmZpbGVOYW1lID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5kYXRhID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5hc3Nlc3NtZW50RGVhZExpbmUgPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnNob3dFeGNlbCA9IGZhbHNlO1xyXG4gICAgdGhpcy5zaG93U21pbGV5ID0gZmFsc2U7XHJcbiAgfVxyXG4gIGFjdGlvbihldmVudDogc3RyaW5nKSB7XHJcbiAgICBzd2l0Y2ggKGV2ZW50KSB7XHJcbiAgICAgIGNhc2UgJ2FkZE1vcmUnOlxyXG4gICAgICAgIHRoaXMuY2F0ZWdvcnkgPSB7XHJcbiAgICAgICAgICB0eXBlOiAnc3RyYXRlZ2ljJyxcclxuICAgICAgICAgIHNlbGVjdGVkQ2F0ZWdvcnk6ICcnLFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgdGhpcy5kb3dubG9hZFN0YXR1cyA9ICdOT1RfRE9XTkxPQURJTkcnO1xyXG4gICAgICAgIHRoaXMucmVzZXQoKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAndmlld1Jpc2tzJzpcclxuICAgICAgICB0aGlzLnZpZXdSaXNrcygpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2xvc2VTbWlsZXkoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5zaG93U21pbGV5ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNsb3NlV29ya2Zsb3cuZW1pdCh7IGV2dDogdGhpcy5yaXNrRGF0YSwgY29uZmlybTogZmFsc2UgfSk7XHJcbiAgfVxyXG5cclxuICB2aWV3Umlza3MoKTogdm9pZCB7XHJcbiAgICB0aGlzLmRpc2Nvbm5lY3RSZWZyZXNoLmVtaXQoZmFsc2UpO1xyXG4gICAgbGV0IHVybDogc3RyaW5nO1xyXG4gICAgaWYgKHdpbmRvdy5sb2NhdGlvbi5ob3N0LnN0YXJ0c1dpdGgoJ2xvY2FsaG9zdCcpKSB7XHJcbiAgICAgIHVybCA9ICdodHRwOi8vJyArIHdpbmRvdy5sb2NhdGlvbi5ob3N0O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdXJsID0gJ2h0dHBzOi8vJyArIHdpbmRvdy5sb2NhdGlvbi5ob3N0O1xyXG4gICAgfVxyXG4gICAgaWYgKHdpbmRvdy5sb2NhdGlvbi5ob3N0LnN0YXJ0c1dpdGgoJ2xvY2FsaG9zdCcpKSB7XHJcbiAgICAgIHVybCArPSAnL3Jpc2stcmVnaXN0ZXInO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdXJsICs9ICcvcmlzay9yaXNrLXJlZ2lzdGVyJztcclxuICAgIH1cclxuICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gdXJsO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSXQgdGFrZXMgYW4gYXJyYXkgb2Ygc3RyaW5ncyBhbmQgcmV0dXJucyBhbiBvYmplY3Qgd2l0aCB0aGUgYXJyYXkgdmFsdWVzIGFzIHByb3BlcnRpZXMuXHJcbiAgICogPC9jb2RlPlxyXG4gICAqIEBwYXJhbSB7YW55fSByaXNrIC0gYW55ID0gW1xyXG4gICAqIEByZXR1cm5zIFtcclxuICAgKiAgIHtcclxuICAgKiAgICAgXCJyaXNrTmFtZVwiOiBcIlwiLFxyXG4gICAqICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXHJcbiAgICogICAgIFwicmNOYW1lXCI6IFwiXCIsXHJcbiAgICogICAgIFwib3duZXJcIjogXCJcIixcclxuICAgKiAgICAgXCJmcmVxdWVuY3lcIjogXCJcIixcclxuICAgKiAgICAgXCJlbWFpbFJlbWluZGVyXCI6IFwiXCIsXHJcbiAgICogICAgIFwib3ZlcnNlZXJcIjogXCJcIixcclxuICAgKiAgICAgXCJpc1ZhbGlkXCI6IGZhbHNlLFxyXG4gICAqICAgICBcIm1pdGlnYXRpb25Qcmlvcml0eVwiOiBcIlwiLFxyXG4gICAqL1xyXG4gIHNldFJpc2tEZXRhaWxzKHJpc2s6IGFueSkge1xyXG4gICAgbGV0IG9iajogYW55O1xyXG4gICAgb2JqID0ge1xyXG4gICAgICByaXNrTmFtZTogcmlza1swXSA/PyAnJyxcclxuICAgICAgZGVzY3JpcHRpb246IHJpc2tbMV0gPz8gJycsXHJcbiAgICAgIHJjTmFtZTogcmlza1syXSA/PyAnJyxcclxuICAgICAgb3duZXI6IHJpc2tbM10gPz8gJycsXHJcbiAgICAgIHJpc2tPd25lcjogcmlza1s0XSA/PyAnJyxcclxuICAgICAgZnJlcXVlbmN5OiByaXNrWzVdID8/ICcnLFxyXG4gICAgICBlbWFpbFJlbWluZGVyOiByaXNrWzZdLFxyXG4gICAgICBvdmVyc2Vlcjogcmlza1s3XSA/PyAnJyxcclxuICAgICAgaXNWYWxpZDogdGhpcy5jaGVja1ZhbGlkaXR5KHJpc2spLFxyXG4gICAgfTtcclxuICAgIGxldCBpbmRleCA9IDg7XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMucmlza0J1bGtVcGxvYWQ/LmhlYWRlcj8uaW5jbHVkZXMoJ1JlY29tbWVuZGVkIE1pdGlnYXRpb24gUHJpb3JpdHknKVxyXG4gICAgKSB7XHJcbiAgICAgIG9ialsnbWl0aWdhdGlvblByaW9yaXR5J10gPSByaXNrW2luZGV4XSA/PyAnJztcclxuICAgICAgaW5kZXgrKztcclxuICAgIH1cclxuICAgIG9ialsnbWl0aWdhdGlvblBsYW5zJ10gPSByaXNrW2luZGV4XSA/PyAnJztcclxuICAgIGluZGV4Kys7XHJcbiAgICBvYmpbJ3Jpc2tMYWJlbCddID0gcmlza1tpbmRleF0gPz8gJyc7XHJcbiAgICBpbmRleCsrO1xyXG4gICAgb2JqWydsaWtlbGlob29kJ10gPSByaXNrW2luZGV4XSA/PyAnJztcclxuICAgIGluZGV4Kys7XHJcbiAgICBvYmpbJ2ltcGFjdCddID0gcmlza1tpbmRleF0gPz8gJyc7XHJcbiAgICBpbmRleCsrO1xyXG4gICAgaWYgKHRoaXMucmlza0J1bGtVcGxvYWQ/LndlaWdodEZhY3RvcnM/LmluY2x1ZGVzKCdWZWxvY2l0eScpKSB7XHJcbiAgICAgIG9ialsndmVsb2NpdHknXSA9IHJpc2tbaW5kZXhdID8/ICcnO1xyXG4gICAgICBpbmRleCsrO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMucmlza0J1bGtVcGxvYWQ/LndlaWdodEZhY3RvcnM/LmluY2x1ZGVzKCdWdWxuZXJhYmlsaXR5JykpIHtcclxuICAgICAgb2JqWyd2dWxuZXJhYmlsaXR5J10gPSByaXNrW2luZGV4XSA/PyAnJztcclxuICAgICAgaW5kZXgrKztcclxuICAgIH1cclxuICAgIGlmIChcclxuICAgICAgdGhpcy5yaXNrQnVsa1VwbG9hZD8uaGVhZGVyPy5pbmNsdWRlcyhcclxuICAgICAgICAnRG8geW91IHdhbnQgdG8gYXBwbHkgdGhlIHNhbWUgcmlzayByYXRpbmdzIGZvciBhbGwgUmVzcG9uc2liaWxpdHkgQ2VudGVycz8nXHJcbiAgICAgIClcclxuICAgICkge1xyXG4gICAgICBvYmpbJ2FwcGx5U2FtZVJpc2tSYXRpbmcnXSA9IHJpc2tbaW5kZXhdID8/ICcnO1xyXG4gICAgICBpbmRleCsrO1xyXG4gICAgfVxyXG4gICAgY29uc3QgY3VzdG9tVGFnczogYW55ID0gW107XHJcbiAgICB0aGlzLmNhdGVnb3J5Py5zZWxlY3RlZENhdGVnb3J5Py5jdXN0b21fdGFnPy5mb3JFYWNoKCh0YWc6IGFueSwgaTogYW55KSA9PiB7XHJcbiAgICAgIGlmICh0YWcpIHtcclxuICAgICAgICBjb25zdCBjVGFnID0ge1xyXG4gICAgICAgICAgY3VzdG9tX3RhZ192YWx1ZTogcmlza1tpbmRleCArIGldID8/ICcnLFxyXG4gICAgICAgICAgY3VzdG9tX3RhZ19uYW1lOiB0YWcudGFnTmFtZSxcclxuICAgICAgICB9O1xyXG4gICAgICAgIGN1c3RvbVRhZ3MucHVzaChjVGFnKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICBvYmpbJ2N1c3RvbVRhZyddID0gY3VzdG9tVGFncztcclxuICAgIG9ialsnaXNWYWxpZEZyZXF1ZW5jeSddID0gdGhpcy5mcmVxdWVuY3lUeXBlPy5pbmNsdWRlcyhcclxuICAgICAgb2JqPy5mcmVxdWVuY3k/LnRvTG93ZXJDYXNlKClcclxuICAgICk7XHJcbiAgICByZXR1cm4gb2JqO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSWYgdGhlIGZyZXF1ZW5jeVR5cGUgaXMgd2Vla2x5LCByZXR1cm4gMiwgaWYgaXQncyBtb250aGx5LCByZXR1cm4gNywgaWYgaXQncyBxdWFydGVybHksIHJldHVybiA3LFxyXG4gICAqIGlmIGl0J3MgYmlhbm51YWwsIHJldHVybiAzMCwgaWYgaXQncyBhbm51YWwsIHJldHVybiAzMCwgaWYgaXQncyBvbmUgdGltZSwgcmV0dXJuIDE1LCBvdGhlcndpc2VcclxuICAgKiByZXR1cm4gMC5cclxuICAgKiBAcGFyYW0ge3N0cmluZ30gW2ZyZXF1ZW5jeVR5cGVdIC0gc3RyaW5nIC0gdGhlIGZyZXF1ZW5jeSB0eXBlIG9mIHRoZSByZW1pbmRlclxyXG4gICAqIEByZXR1cm5zIFRoZSByZXR1cm4gdmFsdWUgaXMgdGhlIG51bWJlciBvZiBkYXlzIGJlZm9yZSB0aGUgZXZlbnQgdGhhdCB0aGUgcmVtaW5kZXIgc2hvdWxkIGJlIHNlbnQuXHJcbiAgICovXHJcbiAgc2V0RGVmYXVsdEVtYWlsUmVtaW5kZXJWYWx1ZShmcmVxdWVuY3lUeXBlPzogc3RyaW5nKTogYW55IHtcclxuICAgIHN3aXRjaCAoZnJlcXVlbmN5VHlwZT8udG9Mb3dlckNhc2UoKSkge1xyXG4gICAgICBjYXNlICd3ZWVrbHknOlxyXG4gICAgICAgIHJldHVybiAyO1xyXG4gICAgICBjYXNlICdtb250aGx5JzpcclxuICAgICAgICByZXR1cm4gNztcclxuICAgICAgY2FzZSAncXVhcnRlcmx5JzpcclxuICAgICAgICByZXR1cm4gNztcclxuICAgICAgY2FzZSAnYmlhbm51YWwnOlxyXG4gICAgICAgIHJldHVybiAzMDtcclxuICAgICAgY2FzZSAnYW5udWFsJzpcclxuICAgICAgICByZXR1cm4gMzA7XHJcbiAgICAgIGNhc2UgJ29uZSB0aW1lJzpcclxuICAgICAgICByZXR1cm4gMTU7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuIDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJZiB0aGUgbGFiZWwgaXMgJ25ldyByaXNrJywgcmV0dXJuIDEsIGlmIHRoZSBsYWJlbCBpcyAnZW1lcmdpbmcvcmFwaWRseSBjaGFuZ2luZyByaXNrcycsIHJldHVybiAyLFxyXG4gICAqIG90aGVyd2lzZSByZXR1cm4gMVxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbbGFiZWxdIC0gdGhlIGxhYmVsIG9mIHRoZSByaXNrXHJcbiAgICogQHJldHVybnMgVGhlIHJldHVybiB2YWx1ZSBpcyB0aGUgdmFsdWUgb2YgdGhlIGxhc3QgZXhwcmVzc2lvbiBpbiB0aGUgZnVuY3Rpb24uXHJcbiAgICovXHJcbiAgc2V0Umlza0xhYmVsKGxhYmVsPzogc3RyaW5nKSB7XHJcbiAgICBzd2l0Y2ggKGxhYmVsPy50b0xvd2VyQ2FzZSgpKSB7XHJcbiAgICAgIGNhc2UgJ25ld2x5IGlkZW50aWZpZWQgcmlza3MnOlxyXG4gICAgICAgIHJldHVybiAxO1xyXG4gICAgICBjYXNlICdyYXBpZGx5IGNoYW5naW5nIHJpc2tzJzpcclxuICAgICAgICByZXR1cm4gMjtcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gMTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFwiSWYgdGhlIGRhdGUgaXMgYSBudW1iZXIsIGNvbnZlcnQgaXQgdG8gYSBkYXRlIG9iamVjdCwgdGhlbiBjcmVhdGUgYSBuZXcgZGF0ZSBvYmplY3Qgd2l0aCB0aGVcclxuICAgKiB0aW1lem9uZSBzZXQgdG8gdGhlIHVzZXIncyB0aW1lem9uZSwgdGhlbiByZXR1cm4gdGhlIGRhdGUgaW4gdGhlIGZvcm1hdCBZWVlZLU1NLURELlwiXHJcbiAgICogPC9jb2RlPlxyXG4gICAqIEBwYXJhbSB7YW55fSBkYXRlIC0gYW55IC0gdGhlIGRhdGUgeW91IHdhbnQgdG8gY2hhbmdlIHRoZSB0aW1lem9uZSBvZlxyXG4gICAqIEByZXR1cm5zIFRoZSBkYXRlIGlzIGJlaW5nIHJldHVybmVkIGluIHRoZSB0aW1lem9uZSBvZiB0aGUgdXNlci5cclxuICAgKi9cclxuICBjaGFuZ2VUaW1lWm9uZShkYXRlOiBhbnkpIHtcclxuICAgIGlmICh0eXBlb2YgZGF0ZSA9PT0gJ251bWJlcicpIHtcclxuICAgICAgZGF0ZSA9IG5ldyBEYXRlKGRhdGUpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgaW52RGF0ZSA9IG5ldyBEYXRlKFxyXG4gICAgICBkYXRlLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycsIHtcclxuICAgICAgICB0aW1lWm9uZTogdGhpcy5hdXRoU2VydmljZS51c2VyRGV0YWlscz8udGltZXpvbmUsXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gICAgcmV0dXJuIG1vbWVudChpbnZEYXRlKS5mb3JtYXQoJ1lZWVktTU0tREQnKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImFkZC1tdWx0aXBsZS1yaXNrXCI+XHJcbiAgICA8IS0tIG1haW4gY29udGFpbmVyIHN0YXJ0cyBoZXJlIC0tPlxyXG4gICAgPGRpdiBjbGFzcz1cImFkZC1tdWx0aXBsZS1yaXNrLWJvZHlcIiBbY2xhc3MuZGlzYWJsZWRdPVwic2hvd0NhdGVnb3J5TGlzdFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhZGQtbXVsdGlwbGUtcmlzay1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImltYWdlXCI+XHJcbiAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9zcHJlYWRzaGVldC1tdWx0aXBsZS1jYXRlZ29yeS5zdmdcIiBhbHQ9XCJcIiAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxoNCBpZD1cIm11bHRpcGxlUmlza1wiPllvdSBjYW4gYWRkIG11bHRpcGxlIHJpc2sgaW4ganVzdCB0aHJlZSBlYXN5IHN0ZXBzPC9oND5cclxuICAgICAgICAgICAgPHVsIGNsYXNzPVwibGlzdFwiPlxyXG4gICAgICAgICAgICAgICAgPGxpPiBTZWxlY3QgYSBSaXNrIENhdGVnb3J5LjwvbGk+XHJcbiAgICAgICAgICAgICAgICA8bGk+IERvd25sb2FkIHRoZSB0ZW1wbGF0ZSBhbmQgZmlsbCBpbiB0aGUgZGV0YWlscy48L2xpPlxyXG4gICAgICAgICAgICAgICAgPGxpPiBVcGxvYWQgdGhlIC54bHN4IGZpbGUgYW5kIHlvdSdyZSBnb29kIHRvIGdvITwvbGk+XHJcbiAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1mb3JtLWdyb3VwXCIgIFthdHRyLmlkXT1cIidzY3JvbGxSZWZlcmVuY2UnXCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJ2eC1jb250cm9sLXBhbmVsXCI+UmlzayBDYXRlZ29yeSA8c3BhbiBjbGFzcz1cInJlcXVpcmVkXCI+Kjwvc3Bhbj48L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlbGVjdFwiICpuZ0lmPVwiIWNhdGVnb3J5LnNlbGVjdGVkQ2F0ZWdvcnlcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiAoY2xpY2spPVwic2hvd0NhdGVnb3J5TGlzdD10cnVlO3BpY2tlckNoYW5nZWQuZW1pdCh0cnVlKVwiIHBsYWNlaG9sZGVyPVwiU2VsZWN0IFJpc2sgQ2F0ZWdvcnlcIiByZWFkb25seT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlbGVjdGVkXCIgKm5nSWY9XCJjYXRlZ29yeS5zZWxlY3RlZENhdGVnb3J5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoaXBDb250YWluZXIgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1wbC0yIHZ4LXByLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29ucyBjcm9zcyB2eC1mcy0xMCB2eC1wYXJhZ3JhcGgtdHh0IHZ4LW1yLTFcIiAoY2xpY2spPVwicmVtb3ZlQ2F0ZWdvcnkoKVwiPiYjeGU5YWU7PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNoaXBOYW1lIHZ4LWZzLTExIHZ4LWxhYmVsLXR4dFwiIFthcHBUb29sdGlwXT1cImNhdGVnb3J5Py5zZWxlY3RlZENhdGVnb3J5Py5jYXRlZ29yeV9uYW1lXCIgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIiBkZWxheT1cIjBcIiB0eXBlPVwiYmxhY2tcIiBbdG9vbHRpcE1hbmRhdG9yeV09XCJmYWxzZVwiPnt7Y2F0ZWdvcnk/LnNlbGVjdGVkQ2F0ZWdvcnk/LmNhdGVnb3J5X25hbWV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiY2hpcC1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjaGlwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImljb25zXCIgKGNsaWNrKT1cInJlbW92ZUNhdGVnb3J5KClcIj4mI3hlOTBkOzwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Y2F0ZWdvcnk/LnNlbGVjdGVkQ2F0ZWdvcnk/LmNhdGVnb3J5X25hbWV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImVkaXRcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cInNob3dDYXRlZ29yeUxpc3Q9dHJ1ZTtwaWNrZXJDaGFuZ2VkLmVtaXQodHJ1ZSlcIj48aSBjbGFzcz1cImljb25zXCI+JiN4ZTliYTs8L2k+IEVkaXQ8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNhdGVnb3J5Py5zZWxlY3RlZENhdGVnb3J5XCIgPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cImRvd25sb2FkU3RhdHVzID09PSAnTk9UX0RPV05MT0FESU5HJ1wiIGNsYXNzPVwiZG93bmxvYWRcIiB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZG93bmxvYWRUZW1wbGF0ZSgpXCI+IDxpIGNsYXNzPVwiaWNvbnNcIj4mI3hlOTFiOzwvaT4gRG93bmxvYWQgVGVtcGxhdGVcclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ1bGstYnRuLXByb2dyZXNzXCIgKm5nSWY9XCJkb3dubG9hZFN0YXR1cyA9PT0gJ0RPV05MT0FESU5HJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIERvd25sb2FkIGluIFByb2dyZXNzXHJcbiAgICAgICAgICAgICAgICAgICAgPGFwcC1saW5lLWxvYWRlciBbbG9hZGVySGVpZ2h0XT1cIicyJ1wiPjwvYXBwLWxpbmUtbG9hZGVyPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZG93bmxvYWRTdGF0dXMgPT09ICdET1dOTE9BREVEJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJidWxrLWJ0bi1wcm9ncmVzc1wiPjxpIGNsYXNzPVwiaWNvbnNcIj4mI3hlOTFjOzwvaT5Eb3dubG9hZCBDb21wbGV0ZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJidWxrLWJ0bi1hZ2FpblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBJcyB0aGUgZmlsZSBub3QgZG93bmxvYWRlZD9cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiZG93bmxvYWRUZW1wbGF0ZSgpXCI+UmV0cnkgRG93bmxvYWQ8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8cCBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIiAqbmdJZj1cImlzV3JvbmdGaWxlIHx8IGlzV3JvbmdGb3JtYXR8fCBpc0ZpbGVFbXB0eVwiXHJcbiAgICAgICAgICAgID57e2Vycm9yTWVzc2FnZX19PC9wPlxyXG5cclxuXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcbjxhcHAtY2F0ZWdvcnktbGlzdCAqbmdJZj1cInNob3dDYXRlZ29yeUxpc3RcIiBbY2F0ZWdvcnlMaXN0XT1cImNhdGVnb3J5TGlzdFwiIFtzZWxlY3RlZENhdGVnb3J5XT1cImNhdGVnb3J5XCJcclxuICAgIChzYXZlU2VsZWN0ZWRDYXRlZ29yeSk9XCJzYXZlU2VsZWN0ZWRDYXRlZ29yeSgkZXZlbnQpO3BpY2tlckNoYW5nZWQuZW1pdChmYWxzZSlcIiAoY2xvc2VDYXRlZ29yaWVzTGlzdCk9XCJzaG93Q2F0ZWdvcnlMaXN0PWZhbHNlO3BpY2tlckNoYW5nZWQuZW1pdChmYWxzZSlcIj5cclxuPC9hcHAtY2F0ZWdvcnktbGlzdD5cclxuPGFwcC1sb2FkZXItaW5saW5lICpuZ0lmPVwiaXNMb2FkZXJcIj48L2FwcC1sb2FkZXItaW5saW5lPlxyXG48YXBwLWJ1bGstdmlldyAqbmdJZj1cInNob3dFeGNlbFwiXHJcbltyaXNrQnVsa1VwbG9hZF09XCJyaXNrQnVsa1VwbG9hZFwiXHJcblt0ZW1wbGF0ZUluZm9dPVwidGVtcGxhdGVJbmZvXCJcclxuW2RlZmF1bHRPd25lcl09XCJkZWZhdWx0T3duZXJcIlxyXG5bZmlsZU5hbWVdPVwiZmlsZU5hbWVcIlxyXG5bbG9hZGVyXT1cImxvYWRlclwiXHJcblthc3Nlc3NtZW50RGF5c0VuYWJsZV09XCJhc3Nlc3NtZW50RGVhZExpbmVcIlxyXG4oc3VibWl0Umlza0J1bGtVcGxvYWQpPVwic3VibWl0Umlza0J1bGtVcGxvYWQoJGV2ZW50KVwiXHJcbihjYW5jZWwpPVwicmVzZXQoKVwiXHJcbj48L2FwcC1idWxrLXZpZXc+XHJcblxyXG48aW5wdXQgdHlwZT1cImZpbGVcIiBbKG5nTW9kZWwpXT1cImZpbGVWYWx1ZVwiIGlkPVwiZmlsZUlucHV0XCIgY2xhc3M9XCJoaWRkZW4taW5wdXRcIiAoY2hhbmdlKT1cInVwbG9hZGVkRmlsZSgkZXZlbnQpXCIgLz5cclxuPGFwcC1zbWlsZXktZGlhbG9nLWlubGluZSAqbmdJZj1cInNob3dTbWlsZXlcIiBbbWVzc2FnZV09XCJzbWlsZXlNZXNzYWdlXCIgW2FjdGlvbkJ1dHRvbnNdPVwiYWN0aW9uQnV0dG9uc1wiIChhY3Rpb24pPVwiYWN0aW9uKCRldmVudClcIiAoY2xvc2VTbWlsZXkpPVwiY2xvc2VTbWlsZXkoJGV2ZW50KVwiPjwvYXBwLXNtaWxleS1kaWFsb2ctaW5saW5lPiJdfQ==
|