vcomply-workflow-engine 2.0.4 → 2.0.167
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/.editorconfig +16 -0
- package/.vscode/settings.json +23 -0
- package/README.md +11 -8
- package/angular.json +145 -0
- package/package.json +59 -25
- package/projects/vx-workflow-engine/README.md +24 -0
- package/projects/vx-workflow-engine/karma.conf.js +44 -0
- package/projects/vx-workflow-engine/ng-package.json +17 -0
- package/projects/vx-workflow-engine/package.json +18 -0
- package/projects/vx-workflow-engine/src/images/bottom-part.svg +3 -0
- package/projects/vx-workflow-engine/src/images/enter-icon.svg +6 -0
- package/projects/vx-workflow-engine/src/images/name.svg +32 -0
- package/projects/vx-workflow-engine/src/images/responsibility-center.svg +35 -0
- package/projects/vx-workflow-engine/src/images/risk-category.svg +57 -0
- package/projects/vx-workflow-engine/src/images/top-part.svg +3 -0
- package/projects/vx-workflow-engine/src/lib/add-multiple-responsibility/add-multiple-responsibility.component.html +43 -0
- package/projects/vx-workflow-engine/src/lib/add-multiple-responsibility/add-multiple-responsibility.component.less +133 -0
- package/projects/vx-workflow-engine/src/lib/add-multiple-responsibility/add-multiple-responsibility.component.spec.ts +141 -0
- package/projects/vx-workflow-engine/src/lib/add-multiple-responsibility/add-multiple-responsibility.component.ts +989 -0
- package/projects/vx-workflow-engine/src/lib/add-multiple-responsibility/data.ts +321 -0
- package/projects/vx-workflow-engine/src/lib/add-multiple-responsibility-container/add-multiple-responsibility-container.component.html +93 -0
- package/projects/vx-workflow-engine/src/lib/add-multiple-responsibility-container/add-multiple-responsibility-container.component.less +167 -0
- package/projects/vx-workflow-engine/src/lib/add-multiple-responsibility-container/add-multiple-responsibility-container.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/add-multiple-responsibility-container/add-multiple-responsibility-container.component.ts +226 -0
- package/projects/vx-workflow-engine/src/lib/add-multiple-responsibility-with-tab/add-multiple-responsibility-with-tab.component.html +48 -0
- package/projects/vx-workflow-engine/src/lib/add-multiple-responsibility-with-tab/add-multiple-responsibility-with-tab.component.less +133 -0
- package/projects/vx-workflow-engine/src/lib/add-multiple-responsibility-with-tab/add-multiple-responsibility-with-tab.component.spec.ts +220 -0
- package/projects/vx-workflow-engine/src/lib/add-multiple-responsibility-with-tab/add-multiple-responsibility-with-tab.component.ts +1729 -0
- package/projects/vx-workflow-engine/src/lib/add-multiple-risk/add-multiple-risk.component.html +74 -0
- package/projects/vx-workflow-engine/src/lib/add-multiple-risk/add-multiple-risk.component.less +151 -0
- package/projects/vx-workflow-engine/src/lib/add-multiple-risk/add-multiple-risk.component.spec.ts +169 -0
- package/projects/vx-workflow-engine/src/lib/add-multiple-risk/add-multiple-risk.component.ts +871 -0
- package/projects/vx-workflow-engine/src/lib/configurations.ts +8 -0
- package/projects/vx-workflow-engine/src/lib/confirmation-alert/confirmation-alert.component.html +23 -0
- package/projects/vx-workflow-engine/src/lib/confirmation-alert/confirmation-alert.component.less +118 -0
- package/projects/vx-workflow-engine/src/lib/confirmation-alert/confirmation-alert.component.ts +21 -0
- package/projects/vx-workflow-engine/src/lib/create-documents/create-documents.component.html +281 -0
- package/projects/vx-workflow-engine/src/lib/create-documents/create-documents.component.less +333 -0
- package/projects/vx-workflow-engine/src/lib/create-documents/create-documents.component.ts +146 -0
- package/projects/vx-workflow-engine/src/lib/formgroup/cs-checkbox/cs-checkbox.component.html +14 -0
- package/projects/vx-workflow-engine/src/lib/formgroup/cs-checkbox/cs-checkbox.component.less +149 -0
- package/projects/vx-workflow-engine/src/lib/formgroup/cs-checkbox/cs-checkbox.component.ts +26 -0
- package/projects/vx-workflow-engine/src/lib/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.html +12 -0
- package/projects/vx-workflow-engine/src/lib/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.less +109 -0
- package/projects/vx-workflow-engine/src/lib/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.ts +30 -0
- package/projects/vx-workflow-engine/src/lib/formgroup/cs-radio/cs-radio.component.html +14 -0
- package/projects/vx-workflow-engine/src/lib/formgroup/cs-radio/cs-radio.component.less +148 -0
- package/projects/vx-workflow-engine/src/lib/formgroup/cs-radio/cs-radio.component.ts +24 -0
- package/projects/vx-workflow-engine/src/lib/formgroup/cs-radio-group/cs-radio-group.component.html +4 -0
- package/projects/vx-workflow-engine/src/lib/formgroup/cs-radio-group/cs-radio-group.component.less +0 -0
- package/projects/vx-workflow-engine/src/lib/formgroup/cs-radio-group/cs-radio-group.component.ts +12 -0
- package/projects/vx-workflow-engine/src/lib/formgroup/cs-select/cs-select.component.html +46 -0
- package/projects/vx-workflow-engine/src/lib/formgroup/cs-select/cs-select.component.less +177 -0
- package/projects/vx-workflow-engine/src/lib/formgroup/cs-select/cs-select.component.ts +80 -0
- package/projects/vx-workflow-engine/src/lib/formgroup/cs-switch/cs-switch.component.html +19 -0
- package/projects/vx-workflow-engine/src/lib/formgroup/cs-switch/cs-switch.component.less +100 -0
- package/projects/vx-workflow-engine/src/lib/formgroup/cs-switch/cs-switch.component.ts +23 -0
- package/projects/vx-workflow-engine/src/lib/formgroup/formgroup.module.ts +35 -0
- package/projects/vx-workflow-engine/src/lib/formgroup/pipes/pascal.pipe.ts +13 -0
- package/projects/vx-workflow-engine/src/lib/formgroup/select/cs-option/cs-option.component.html +8 -0
- package/projects/vx-workflow-engine/src/lib/formgroup/select/cs-option/cs-option.component.less +47 -0
- package/projects/vx-workflow-engine/src/lib/formgroup/select/cs-option/cs-option.component.ts +33 -0
- package/projects/vx-workflow-engine/src/lib/formgroup/select/cs-select/cs-select.component.html +32 -0
- package/projects/vx-workflow-engine/src/lib/formgroup/select/cs-select/cs-select.component.less +113 -0
- package/projects/vx-workflow-engine/src/lib/formgroup/select/cs-select/cs-select.component.ts +107 -0
- package/projects/vx-workflow-engine/src/lib/formgroup/select/select.module.ts +13 -0
- package/projects/vx-workflow-engine/src/lib/formgroup/select/select.service.ts +45 -0
- package/projects/vx-workflow-engine/src/lib/forms.less +3361 -0
- package/projects/vx-workflow-engine/src/lib/interceptor/business-cycle.interceptor.ts +24 -0
- package/projects/vx-workflow-engine/src/lib/interfaces/categoryList.ts +23 -0
- package/projects/vx-workflow-engine/src/lib/interfaces/checkbox-list-config.ts +7 -0
- package/projects/vx-workflow-engine/src/lib/interfaces/confirmation-alert.ts +9 -0
- package/projects/vx-workflow-engine/src/lib/interfaces/issue-data.ts +29 -0
- package/projects/vx-workflow-engine/src/lib/interfaces/radio-list-config.ts +5 -0
- package/projects/vx-workflow-engine/src/lib/interfaces/submenu-option.ts +21 -0
- package/projects/vx-workflow-engine/src/lib/log-an-issue/data.ts +18 -0
- package/projects/vx-workflow-engine/src/lib/log-an-issue/log-an-issue.component.html +701 -0
- package/projects/vx-workflow-engine/src/lib/log-an-issue/log-an-issue.component.less +9 -0
- package/projects/vx-workflow-engine/src/lib/log-an-issue/log-an-issue.component.spec.ts +101 -0
- package/projects/vx-workflow-engine/src/lib/log-an-issue/log-an-issue.component.ts +1205 -0
- package/projects/vx-workflow-engine/src/lib/more-option/more-option.component.html +108 -0
- package/projects/vx-workflow-engine/src/lib/more-option/more-option.component.less +377 -0
- package/projects/vx-workflow-engine/src/lib/more-option/more-option.component.spec.ts +132 -0
- package/projects/vx-workflow-engine/src/lib/more-option/more-option.component.ts +872 -0
- package/projects/vx-workflow-engine/src/lib/pipes/data-type.pipe.ts +12 -0
- package/projects/vx-workflow-engine/src/lib/pipes/dom-sanitizer.pipe.spec.ts +8 -0
- package/projects/vx-workflow-engine/src/lib/pipes/dom-sanitizer.pipe.ts +17 -0
- package/projects/vx-workflow-engine/src/lib/pipes/filter.pipe.ts +18 -0
- package/projects/vx-workflow-engine/src/lib/pipes/list-mapper.pipe.ts +18 -0
- package/projects/vx-workflow-engine/src/lib/pipes/pipes.module.ts +38 -0
- package/projects/vx-workflow-engine/src/lib/pipes/search.pipe.ts +63 -0
- package/projects/vx-workflow-engine/src/lib/pipes/space-breaker.pipe.spec.ts +8 -0
- package/projects/vx-workflow-engine/src/lib/pipes/space-breaker.pipe.ts +18 -0
- package/projects/vx-workflow-engine/src/lib/pipes/uncategorized-filter.pipe.spec.ts +8 -0
- package/projects/vx-workflow-engine/src/lib/pipes/uncategorized-filter.pipe.ts +16 -0
- package/projects/vx-workflow-engine/src/lib/pipes/user-filter.pipe.ts +28 -0
- package/projects/vx-workflow-engine/src/lib/services/auth.service.spec.ts +16 -0
- package/projects/vx-workflow-engine/src/lib/services/auth.service.ts +174 -0
- package/projects/vx-workflow-engine/src/lib/services/bulk-upload.service.spec.ts +16 -0
- package/projects/vx-workflow-engine/src/lib/services/bulk-upload.service.ts +43 -0
- package/projects/vx-workflow-engine/src/lib/services/event-bridge.service.spec.ts +16 -0
- package/projects/vx-workflow-engine/src/lib/services/event-bridge.service.ts +47 -0
- package/projects/vx-workflow-engine/src/lib/services/permission.service.spec.ts +16 -0
- package/projects/vx-workflow-engine/src/lib/services/permission.service.ts +23 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/approval-workflow/approval-create-form/approval-create-form.component.html +380 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/approval-workflow/approval-create-form/approval-create-form.component.less +127 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/approval-workflow/approval-create-form/approval-create-form.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/approval-workflow/approval-create-form/approval-create-form.component.ts +285 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/approval-workflow/approval-workflow-list/approval-workflow-list.component.html +335 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/approval-workflow/approval-workflow-list/approval-workflow-list.component.less +290 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/approval-workflow/approval-workflow-list/approval-workflow-list.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/approval-workflow/approval-workflow-list/approval-workflow-list.component.ts +82 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/approval-workflow/approval-workflow.component.html +21 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/approval-workflow/approval-workflow.component.less +299 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/approval-workflow/approval-workflow.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/approval-workflow/approval-workflow.component.ts +86 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/add-logic/add-logic.component.html +62 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/add-logic/add-logic.component.less +225 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/add-logic/add-logic.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/add-logic/add-logic.component.ts +371 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/add-page-details/add-page-details.component.html +33 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/add-page-details/add-page-details.component.less +209 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/add-page-details/add-page-details.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/add-page-details/add-page-details.component.ts +85 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/add-response-set-popup/add-response-set-popup.component.html +120 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/add-response-set-popup/add-response-set-popup.component.less +459 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/add-response-set-popup/add-response-set-popup.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/add-response-set-popup/add-response-set-popup.component.ts +29 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/add-segment-popup/add-segment-popup.component.html +42 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/add-segment-popup/add-segment-popup.component.less +201 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/add-segment-popup/add-segment-popup.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/add-segment-popup/add-segment-popup.component.ts +112 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/assessment-settings/assessment-settings.component.html +117 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/assessment-settings/assessment-settings.component.less +567 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/assessment-settings/assessment-settings.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/assessment-settings/assessment-settings.component.ts +209 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/build.module.ts +70 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/checkbox/checkbox.component.html +30 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/checkbox/checkbox.component.less +151 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/checkbox/checkbox.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/checkbox/checkbox.component.ts +22 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/choice-settings-panel/choice-settings-panel.component.html +14 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/choice-settings-panel/choice-settings-panel.component.less +74 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/choice-settings-panel/choice-settings-panel.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/choice-settings-panel/choice-settings-panel.component.ts +66 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/date-time/date-time.component.html +14 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/date-time/date-time.component.less +87 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/date-time/date-time.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/date-time/date-time.component.ts +15 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/dropdown/dropdown.component.html +30 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/dropdown/dropdown.component.less +151 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/dropdown/dropdown.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/dropdown/dropdown.component.ts +21 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/image-choice/image-choice.component.html +17 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/image-choice/image-choice.component.less +147 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/image-choice/image-choice.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/image-choice/image-choice.component.ts +15 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/matrix-dropdown/matrix-dropdown.component.html +45 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/matrix-dropdown/matrix-dropdown.component.less +113 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/matrix-dropdown/matrix-dropdown.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/matrix-dropdown/matrix-dropdown.component.ts +15 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/matrix-rating-scale/matrix-rating-scale.component.html +32 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/matrix-rating-scale/matrix-rating-scale.component.less +74 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/matrix-rating-scale/matrix-rating-scale.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/matrix-rating-scale/matrix-rating-scale.component.ts +15 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/multiple-choice/multiple-choice.component.html +30 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/multiple-choice/multiple-choice.component.less +98 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/multiple-choice/multiple-choice.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/multiple-choice/multiple-choice.component.ts +22 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/multiple-textbox/multiple-textbox.component.html +13 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/multiple-textbox/multiple-textbox.component.less +103 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/multiple-textbox/multiple-textbox.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/multiple-textbox/multiple-textbox.component.ts +15 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/ranking/ranking.component.html +15 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/ranking/ranking.component.less +74 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/ranking/ranking.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/ranking/ranking.component.ts +15 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/slider/slider.component.html +17 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/slider/slider.component.less +43 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/slider/slider.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/slider/slider.component.ts +15 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/star-rating/star-rating.component.html +120 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/star-rating/star-rating.component.less +193 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/star-rating/star-rating.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/star-rating/star-rating.component.ts +27 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/thank-you/thank-you.component.html +10 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/thank-you/thank-you.component.less +59 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/thank-you/thank-you.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/thank-you/thank-you.component.ts +15 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/weightage-selector/weightage-selector.component.html +6 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/weightage-selector/weightage-selector.component.less +64 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/weightage-selector/weightage-selector.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/weightage-selector/weightage-selector.component.ts +54 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/welcome/welcome.component.html +10 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/welcome/welcome.component.less +59 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/welcome/welcome.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/welcome/welcome.component.ts +15 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/editor-wrapper/editor-wrapper.component.html +89 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/editor-wrapper/editor-wrapper.component.less +256 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/editor-wrapper/editor-wrapper.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/editor-wrapper/editor-wrapper.component.ts +160 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/errorInterface/error.ts +14 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/errorInterface/question.ts +5 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/errorInterface/validateStructure.ts +8 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic/logic.component.html +52 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic/logic.component.less +193 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic/logic.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic/logic.component.ts +102 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-checkbox/logic-checkbox.component.html +14 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-checkbox/logic-checkbox.component.less +61 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-checkbox/logic-checkbox.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-checkbox/logic-checkbox.component.ts +20 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-comment-box/logic-comment-box.component.html +3 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-comment-box/logic-comment-box.component.less +40 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-comment-box/logic-comment-box.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-comment-box/logic-comment-box.component.ts +15 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-date-time/logic-date-time.component.html +23 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-date-time/logic-date-time.component.less +97 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-date-time/logic-date-time.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-date-time/logic-date-time.component.ts +36 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-dropdown/logic-dropdown.component.html +3 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-dropdown/logic-dropdown.component.less +33 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-dropdown/logic-dropdown.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-dropdown/logic-dropdown.component.ts +28 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-image-choice/logic-image-choice.component.html +12 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-image-choice/logic-image-choice.component.less +63 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-image-choice/logic-image-choice.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-image-choice/logic-image-choice.component.ts +15 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-choice/logic-multiple-choice.component.html +14 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-choice/logic-multiple-choice.component.less +50 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-choice/logic-multiple-choice.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-choice/logic-multiple-choice.component.ts +20 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-textbox/logic-multiple-textbox.component.html +6 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-textbox/logic-multiple-textbox.component.less +43 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-textbox/logic-multiple-textbox.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-textbox/logic-multiple-textbox.component.ts +15 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-questions.module.ts +63 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-ranking/logic-ranking.component.html +16 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-ranking/logic-ranking.component.less +66 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-ranking/logic-ranking.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-ranking/logic-ranking.component.ts +15 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-single-textbox/logic-single-textbox.component.html +4 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-single-textbox/logic-single-textbox.component.less +39 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-single-textbox/logic-single-textbox.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-single-textbox/logic-single-textbox.component.ts +23 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-slider/logic-slider.component.html +14 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-slider/logic-slider.component.less +48 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-slider/logic-slider.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-slider/logic-slider.component.ts +15 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-star-rating/logic-star-rating.component.html +18 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-star-rating/logic-star-rating.component.less +38 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-star-rating/logic-star-rating.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-star-rating/logic-star-rating.component.ts +15 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/move/move.component.html +63 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/move/move.component.less +90 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/move/move.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/move/move.component.ts +95 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/page-header/page-header.component.html +6 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/page-header/page-header.component.less +41 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/page-header/page-header.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/page-header/page-header.component.ts +18 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/pipes/current-page-question.pipe.spec.ts +8 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/pipes/current-page-question.pipe.ts +18 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/pipes/error-message.pipe.spec.ts +8 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/pipes/error-message.pipe.ts +23 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/pipes/formatter.pipe.spec.ts +8 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/pipes/formatter.pipe.ts +17 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/pipes/question-filter.pipe.spec.ts +8 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/pipes/question-filter.pipe.ts +12 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/pipes/question-page-filter.pipe.spec.ts +8 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/pipes/question-page-filter.pipe.ts +12 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/pipes/question-parser.pipe.spec.ts +8 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/pipes/question-parser.pipe.ts +17 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/pipes/type-of.pipe.spec.ts +8 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/pipes/type-of.pipe.ts +13 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-checkbox/preview-checkbox.component.html +10 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-checkbox/preview-checkbox.component.less +49 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-checkbox/preview-checkbox.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-checkbox/preview-checkbox.component.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-comment-box/preview-comment-box.component.html +3 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-comment-box/preview-comment-box.component.less +44 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-comment-box/preview-comment-box.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-comment-box/preview-comment-box.component.ts +15 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-date-time/preview-date-time.component.html +28 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-date-time/preview-date-time.component.less +248 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-date-time/preview-date-time.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-date-time/preview-date-time.component.ts +28 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-dropdown/preview-dropdown.component.html +5 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-dropdown/preview-dropdown.component.less +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-dropdown/preview-dropdown.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-dropdown/preview-dropdown.component.ts +29 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-file-upload/preview-file-upload.component.html +7 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-file-upload/preview-file-upload.component.less +55 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-file-upload/preview-file-upload.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-file-upload/preview-file-upload.component.ts +19 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-image-choice/preview-image-choice.component.html +12 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-image-choice/preview-image-choice.component.less +77 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-image-choice/preview-image-choice.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-image-choice/preview-image-choice.component.ts +15 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-dropdown/preview-matrix-dropdown.component.html +98 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-dropdown/preview-matrix-dropdown.component.less +132 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-dropdown/preview-matrix-dropdown.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-dropdown/preview-matrix-dropdown.component.ts +34 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-rating-scale/preview-matrix-rating-scale.component.html +40 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-rating-scale/preview-matrix-rating-scale.component.less +111 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-rating-scale/preview-matrix-rating-scale.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-rating-scale/preview-matrix-rating-scale.component.ts +22 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-choice/preview-multiple-choice.component.html +11 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-choice/preview-multiple-choice.component.less +49 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-choice/preview-multiple-choice.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-choice/preview-multiple-choice.component.ts +24 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-textbox/preview-multiple-textbox.component.html +8 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-textbox/preview-multiple-textbox.component.less +45 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-textbox/preview-multiple-textbox.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-textbox/preview-multiple-textbox.component.ts +15 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-ranking/preview-ranking.component.html +16 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-ranking/preview-ranking.component.less +66 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-ranking/preview-ranking.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-ranking/preview-ranking.component.ts +15 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-single-textbox/preview-single-textbox.component.html +3 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-single-textbox/preview-single-textbox.component.less +39 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-single-textbox/preview-single-textbox.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-single-textbox/preview-single-textbox.component.ts +15 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-slider/preview-slider.component.html +16 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-slider/preview-slider.component.less +49 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-slider/preview-slider.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-slider/preview-slider.component.ts +15 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-star-rating/preview-star-rating.component.html +18 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-star-rating/preview-star-rating.component.less +42 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-star-rating/preview-star-rating.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-star-rating/preview-star-rating.component.ts +15 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-wrapper/preview-wrapper.component.html +27 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-wrapper/preview-wrapper.component.less +81 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-wrapper/preview-wrapper.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-wrapper/preview-wrapper.component.ts +62 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview.module.ts +90 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/thank-you/thank-you.component.html +5 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/thank-you/thank-you.component.less +32 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/thank-you/thank-you.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/thank-you/thank-you.component.ts +15 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/welcome/welcome.component.html +5 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/welcome/welcome.component.less +32 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/welcome/welcome.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/welcome/welcome.component.ts +15 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/question-type/question-type.component.html +100 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/question-type/question-type.component.less +120 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/question-type/question-type.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/question-type/question-type.component.ts +16 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/quick-settings/quick-settings.component.html +46 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/quick-settings/quick-settings.component.less +245 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/quick-settings/quick-settings.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/quick-settings/quick-settings.component.ts +247 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/response-selector/response-selector.component.html +71 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/response-selector/response-selector.component.less +254 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/response-selector/response-selector.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/response-selector/response-selector.component.ts +36 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/setting-anonymous/setting-anonymous.component.html +62 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/setting-anonymous/setting-anonymous.component.less +665 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/setting-anonymous/setting-anonymous.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/setting-anonymous/setting-anonymous.component.ts +52 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/setting-response-segment/setting-response-segment.component.html +64 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/setting-response-segment/setting-response-segment.component.less +552 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/setting-response-segment/setting-response-segment.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/setting-response-segment/setting-response-segment.component.ts +159 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/single-line-editor/single-line-editor.component.html +20 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/single-line-editor/single-line-editor.component.less +109 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/single-line-editor/single-line-editor.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/single-line-editor/single-line-editor.component.ts +130 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/toolkit/toolkit.component.html +112 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/toolkit/toolkit.component.less +192 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/toolkit/toolkit.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/toolkit/toolkit.component.ts +18 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/welcome-thankyou/welcome-thankyou.component.html +52 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/welcome-thankyou/welcome-thankyou.component.less +226 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/welcome-thankyou/welcome-thankyou.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/welcome-thankyou/welcome-thankyou.component.ts +91 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/create-assessment-container/create-assessment-container.component.html +122 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/create-assessment-container/create-assessment-container.component.less +667 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/create-assessment-container/create-assessment-container.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/create-assessment-container/create-assessment-container.component.ts +481 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/create-assessment.module.ts +96 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/services/editor.service.spec.ts +16 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/services/editor.service.ts +664 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/services/result-criteria.service.spec.ts +16 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/services/result-criteria.service.ts +51 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/services/validation-worker.worker.ts +7 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/services/validator.service.spec.ts +16 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/services/validator.service.ts +556 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-list/assessment-list-loader/assessment-list-loader.component.html +13 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-list/assessment-list-loader/assessment-list-loader.component.less +58 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-list/assessment-list-loader/assessment-list-loader.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-list/assessment-list-loader/assessment-list-loader.component.ts +15 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-list/assessment-list-sub-loader/assessment-list-sub-loader.component.html +15 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-list/assessment-list-sub-loader/assessment-list-sub-loader.component.less +59 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-list/assessment-list-sub-loader/assessment-list-sub-loader.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-list/assessment-list-sub-loader/assessment-list-sub-loader.component.ts +15 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-list/assessment-list.component.html +126 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-list/assessment-list.component.less +516 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-list/assessment-list.component.spec.ts +78 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-list/assessment-list.component.ts +218 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-list/service/assessment.interface.ts +24 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-list/service/assessment.service.spec.ts +16 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-list/service/assessment.service.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/assessment-preview.module.ts +59 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/checkbox-question/checkbox-question.component.html +27 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/checkbox-question/checkbox-question.component.less +109 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/checkbox-question/checkbox-question.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/checkbox-question/checkbox-question.component.ts +26 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/date-time/date-time.component.html +35 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/date-time/date-time.component.less +302 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/date-time/date-time.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/date-time/date-time.component.ts +32 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/device/device.component.html +23 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/device/device.component.less +59 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/device/device.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/device/device.component.ts +17 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/file-upload/file-upload.component.html +35 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/file-upload/file-upload.component.less +144 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/file-upload/file-upload.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/file-upload/file-upload.component.ts +16 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/page-header/page-header.component.html +7 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/page-header/page-header.component.less +51 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/page-header/page-header.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/page-header/page-header.component.ts +16 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/preview/preview.component.html +132 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/preview/preview.component.less +386 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/preview/preview.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/preview/preview.component.ts +41 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/preview-container/preview-container.component.html +42 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/preview-container/preview-container.component.less +78 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/preview-container/preview-container.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/preview-container/preview-container.component.ts +15 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/quick-settings/quick-settings.component.html +70 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/quick-settings/quick-settings.component.less +163 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/quick-settings/quick-settings.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/quick-settings/quick-settings.component.ts +18 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/radio-question/radio-question.component.html +27 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/radio-question/radio-question.component.less +103 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/radio-question/radio-question.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/radio-question/radio-question.component.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/select-question/select-question.component.html +18 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/select-question/select-question.component.less +88 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/select-question/select-question.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/select-question/select-question.component.ts +32 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/single-textbox/single-textbox.component.html +16 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/single-textbox/single-textbox.component.less +91 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/single-textbox/single-textbox.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/single-textbox/single-textbox.component.ts +16 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/welcome/welcome.component.html +5 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/welcome/welcome.component.less +48 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/welcome/welcome.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/welcome/welcome.component.ts +15 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/audit-category-list/audit-category-list.component.html +35 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/audit-category-list/audit-category-list.component.less +202 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/audit-category-list/audit-category-list.component.ts +57 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/audit-category-list/audit-category-list.spec.ts +42 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/audit-category-list/audit-category.model.ts +6 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/bulk-responsibility-view/bulk-responsibility-view.component.html +566 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/bulk-responsibility-view/bulk-responsibility-view.component.less +337 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/bulk-responsibility-view/bulk-responsibility-view.component.spec.ts +32 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/bulk-responsibility-view/bulk-responsibility-view.component.ts +63 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/bulk-responsibility-view/data.ts +175 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/bulk-view/bulk-view.component.html +117 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/bulk-view/bulk-view.component.less +211 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/bulk-view/bulk-view.component.ts +66 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/category-list/category-list.component.html +72 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/category-list/category-list.component.less +198 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/category-list/category-list.component.ts +77 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/category-multiselect/category-multi-select.component.html +89 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/category-multiselect/category-multi-select.component.less +337 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/category-multiselect/category-multi-select.component.ts +161 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/checkbox-list/checkbox-list.component.html +54 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/checkbox-list/checkbox-list.component.less +321 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/checkbox-list/checkbox-list.component.ts +67 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/checkbox-list/checkbox-list.spec.ts +76 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/checkpoint/checkpoints/checkpoints.component.html +17 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/checkpoint/checkpoints/checkpoints.component.less +96 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/checkpoint/checkpoints/checkpoints.component.ts +242 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/checkpoint/checkpoints-list/checkpoints-list.component.html +14 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/checkpoint/checkpoints-list/checkpoints-list.component.less +107 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/checkpoint/checkpoints-list/checkpoints-list.component.ts +19 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/checkpoint/checkpoints-questions/checkpoints-questions.component.html +317 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/checkpoint/checkpoints-questions/checkpoints-questions.component.less +713 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/checkpoint/checkpoints-questions/checkpoints-questions.component.ts +103 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/checkpoint-floating-bar/checkpoint-floating-bar.component.html +56 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/checkpoint-floating-bar/checkpoint-floating-bar.component.less +172 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/checkpoint-floating-bar/checkpoint-floating-bar.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/checkpoint-floating-bar/checkpoint-floating-bar.component.ts +31 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/checkpoint-policy/checkpoints-policy-container/checkpoints-policy-container.component.html +34 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/checkpoint-policy/checkpoints-policy-container/checkpoints-policy-container.component.less +112 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/checkpoint-policy/checkpoints-policy-container/checkpoints-policy-container.component.ts +65 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/checkpoint-policy/checkpoints-policy-list/checkpoints-policy-list.component.html +59 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/checkpoint-policy/checkpoints-policy-list/checkpoints-policy-list.component.less +97 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/checkpoint-policy/checkpoints-policy-list/checkpoints-policy-list.component.ts +15 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/checkpoint-policy/checkpoints-policy-questions/checkpoints-policy-questions.component.html +96 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/checkpoint-policy/checkpoints-policy-questions/checkpoints-policy-questions.component.less +703 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/checkpoint-policy/checkpoints-policy-questions/checkpoints-policy-questions.component.ts +181 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/directive/autofocus.directive.ts +19 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/directive/conditional-focus.directive.ts +33 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/directive/drag-drop.directive.ts +42 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/directive/input-trim.directive.ts +16 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/directive/scroll-in-view.directive.ts +28 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/document-section/document-section.component.html +261 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/document-section/document-section.component.less +313 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/document-section/document-section.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/document-section/document-section.component.ts +181 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/floating-bar/floating-bar.component.html +299 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/floating-bar/floating-bar.component.less +711 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/floating-bar/floating-bar.component.ts +78 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/floating-bar/floating-bar.module.ts +12 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/format-and-evidence/format-and-evidence.component.html +293 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/format-and-evidence/format-and-evidence.component.less +108 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/format-and-evidence/format-and-evidence.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/format-and-evidence/format-and-evidence.component.ts +307 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/framework-list/framework-integration-interfaces.ts +9 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/framework-list/framework-list-table/framework-list-table.component.html +56 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/framework-list/framework-list-table/framework-list-table.component.less +268 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/framework-list/framework-list-table/framework-list-table.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/framework-list/framework-list-table/framework-list-table.component.ts +27 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/framework-list/framework-list.component.html +116 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/framework-list/framework-list.component.less +218 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/framework-list/framework-list.component.spec.ts +308 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/framework-list/framework-list.component.ts +431 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/framework-list/framework-responsibility-table/framework-responsibility-table.component.html +76 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/framework-list/framework-responsibility-table/framework-responsibility-table.component.less +273 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/framework-list/framework-responsibility-table/framework-responsibility-table.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/framework-list/framework-responsibility-table/framework-responsibility-table.component.ts +31 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/framework-list/framework-table-loader/framework-table-loader.component.html +19 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/framework-list/framework-table-loader/framework-table-loader.component.less +98 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/framework-list/framework-table-loader/framework-table-loader.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/framework-list/framework-table-loader/framework-table-loader.component.ts +15 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/framework-list/parent-table/parent-table.component.html +129 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/framework-list/parent-table/parent-table.component.less +619 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/framework-list/parent-table/parent-table.component.ts +84 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-annual/frequency-annual.component.html +39 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-annual/frequency-annual.component.less +3 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-annual/frequency-annual.component.ts +306 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-biannual/frequency-biannual.component.html +37 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-biannual/frequency-biannual.component.less +3 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-biannual/frequency-biannual.component.ts +231 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-checkbox-list/frequency-checkbox-list.component.html +19 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-checkbox-list/frequency-checkbox-list.component.less +81 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-checkbox-list/frequency-checkbox-list.component.ts +26 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-container/frequency-container.component.html +232 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-container/frequency-container.component.less +118 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-container/frequency-container.component.ts +321 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-container/frequency-container.spec.ts +117 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-daily/frequency-daily.component.html +32 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-daily/frequency-daily.component.less +69 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-daily/frequency-daily.component.ts +171 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-due-date/due-date.contant.ts +21 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-due-date/frequency-due-date.component.html +170 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-due-date/frequency-due-date.component.less +124 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-due-date/frequency-due-date.component.ts +70 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-lifecycle/frequency-lifecycle.component.html +137 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-lifecycle/frequency-lifecycle.component.less +557 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-lifecycle/frequency-lifecycle.component.ts +205 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-lifecycle/frequency-lifecycle.spec.ts +35 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-lifecycle/lifecycl.constant.ts +11 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-monthly/frequency-monthly.component.html +39 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-monthly/frequency-monthly.component.less +3 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-monthly/frequency-monthly.component.ts +241 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-on-completion-of/frequency-on-completion-of.component.html +89 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-on-completion-of/frequency-on-completion-of.component.less +288 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-on-completion-of/frequency-on-completion-of.component.ts +166 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-one-time/frequency-one-time.component.html +80 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-one-time/frequency-one-time.component.less +297 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-one-time/frequency-one-time.component.ts +206 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-ongoing/frequency-ongoing.component.html +42 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-ongoing/frequency-ongoing.component.less +53 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-ongoing/frequency-ongoing.component.ts +64 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-quarterly/frequency-quarterly.component.html +38 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-quarterly/frequency-quarterly.component.less +3 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-quarterly/frequency-quarterly.component.ts +235 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-radio-list/frequency-radio-list.component.html +28 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-radio-list/frequency-radio-list.component.less +64 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-radio-list/frequency-radio-list.component.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-random/frequency-random.component.html +55 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-random/frequency-random.component.less +67 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-random/frequency-random.component.ts +292 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-responsibility-list/frequency-responsibility-list.component.html +149 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-responsibility-list/frequency-responsibility-list.component.less +498 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-responsibility-list/frequency-responsibility-list.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-responsibility-list/frequency-responsibility-list.component.ts +208 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-top/frequency-top.component.html +53 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-top/frequency-top.component.less +89 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-top/frequency-top.component.ts +111 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-top/frequency-top.spec.ts +40 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-weekly/frequency-weekly.component.html +40 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-weekly/frequency-weekly.component.less +13 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-weekly/frequency-weekly.component.ts +220 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency.service.spec.ts +16 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency.service.ts +609 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-annual/frequency-dialog-annual.component.html +34 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-annual/frequency-dialog-annual.component.less +27 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-annual/frequency-dialog-annual.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-annual/frequency-dialog-annual.component.ts +314 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-biannual/frequency-dialog-biannual.component.html +31 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-biannual/frequency-dialog-biannual.component.less +27 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-biannual/frequency-dialog-biannual.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-biannual/frequency-dialog-biannual.component.ts +225 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-checkbox-list/frequency-dialog-checkbox-list.component.html +34 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-checkbox-list/frequency-dialog-checkbox-list.component.less +103 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-checkbox-list/frequency-dialog-checkbox-list.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-checkbox-list/frequency-dialog-checkbox-list.component.ts +21 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-container/frequency-dialog-container.component.html +67 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-container/frequency-dialog-container.component.less +119 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-container/frequency-dialog-container.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-container/frequency-dialog-container.component.ts +299 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-due-date/frequency-dialog-due-date.component.html +76 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-due-date/frequency-dialog-due-date.component.less +95 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-due-date/frequency-dialog-due-date.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-due-date/frequency-dialog-due-date.component.ts +95 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-monthly/frequency-dialog-monthly.component.html +33 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-monthly/frequency-dialog-monthly.component.less +27 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-monthly/frequency-dialog-monthly.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-monthly/frequency-dialog-monthly.component.ts +233 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-one-time/frequency-dialog-one-time.component.html +39 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-one-time/frequency-dialog-one-time.component.less +275 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-one-time/frequency-dialog-one-time.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-one-time/frequency-dialog-one-time.component.ts +215 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-quarterly/frequency-dialog-quarterly.component.html +33 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-quarterly/frequency-dialog-quarterly.component.less +27 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-quarterly/frequency-dialog-quarterly.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-quarterly/frequency-dialog-quarterly.component.ts +221 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-radio-list/frequency-dialog-radio-list.component.html +32 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-radio-list/frequency-dialog-radio-list.component.less +73 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-radio-list/frequency-dialog-radio-list.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-radio-list/frequency-dialog-radio-list.component.ts +24 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-top/frequency-dialog-top.component.html +35 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-top/frequency-dialog-top.component.less +74 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-top/frequency-dialog-top.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-top/frequency-dialog-top.component.ts +111 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-weekly/frequency-dialog-weekly.component.html +32 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-weekly/frequency-dialog-weekly.component.less +27 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-weekly/frequency-dialog-weekly.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-weekly/frequency-dialog-weekly.component.ts +209 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/group-users-list/group-users-list.component.html +342 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/group-users-list/group-users-list.component.less +338 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/group-users-list/group-users-list.component.ts +261 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/link-program/link-program/link-program.component.html +385 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/link-program/link-program/link-program.component.less +931 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/link-program/link-program/link-program.component.spec.ts +31 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/link-program/link-program/link-program.component.ts +474 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/link-program/link-program/program-list-model.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/link-program/link-program.module.ts +33 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/link-program/program-integration-interfaces.ts +9 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/link-program/restapi.service.ts +139 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/link-program/tooltip-validation.pipe.ts +23 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/list-loader/list-loader.component.html +33 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/list-loader/list-loader.component.less +140 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/list-loader/list-loader.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/list-loader/list-loader.component.ts +15 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/list-loader/list-loader.module.ts +10 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/no-data/no-data.component.html +9 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/no-data/no-data.component.less +78 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/no-data/no-data.component.ts +26 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/no-data/no-data.module.ts +10 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/owner-list/owner-list.component.html +49 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/owner-list/owner-list.component.less +213 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/owner-list/owner-list.component.ts +127 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/pipes/array-filter.pipe.ts +14 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/pipes/filterPipe.ts +22 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/pipes/rcTreeToolTip.pipe.ts +20 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/pipes/short-merge.pipe.ts +20 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/pipes/spaceTrim.pipe.ts +15 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/pipes/within-data.pipe.spec.ts +8 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/pipes/within-data.pipe.ts +16 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/policy-access/policy-access.component.html +101 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/policy-access/policy-access.component.less +295 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/policy-access/policy-access.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/policy-access/policy-access.component.ts +63 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/program-listing/program-list-model.ts +27 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/program-listing/program-listing.component.html +259 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/program-listing/program-listing.component.less +826 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/program-listing/program-listing.component.spec.ts +190 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/program-listing/program-listing.component.ts +696 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/radio-list/radio-list.component.html +51 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/radio-list/radio-list.component.less +233 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/radio-list/radio-list.component.ts +60 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/radio-list-with-pagination/link-treatment-loader/link-treatment-loader.component.html +33 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/radio-list-with-pagination/link-treatment-loader/link-treatment-loader.component.less +140 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/radio-list-with-pagination/link-treatment-loader/link-treatment-loader.component.spec.ts +24 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/radio-list-with-pagination/link-treatment-loader/link-treatment-loader.component.ts +12 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/radio-list-with-pagination/radio-list.component.html +55 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/radio-list-with-pagination/radio-list.component.less +259 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/radio-list-with-pagination/radio-list.component.ts +116 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/responsibility-centers-list/rc-list.module.ts +23 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/responsibility-centers-list/responsibility-centers-list.component.html +117 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/responsibility-centers-list/responsibility-centers-list.component.less +308 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/responsibility-centers-list/responsibility-centers-list.component.ts +102 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/responsibility-risk-selector/responsibility-risk-selector.component.html +37 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/responsibility-risk-selector/responsibility-risk-selector.component.less +450 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/responsibility-risk-selector/responsibility-risk-selector.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/responsibility-risk-selector/responsibility-risk-selector.component.ts +63 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/review-frequency/review-frequency.component.html +56 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/review-frequency/review-frequency.component.less +141 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/review-frequency/review-frequency.component.ts +37 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/risk-classification/risk-classification.component.html +77 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/risk-classification/risk-classification.component.less +235 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/risk-classification/risk-classification.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/risk-classification/risk-classification.component.ts +84 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/roles-list/roles-list.component.html +68 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/roles-list/roles-list.component.less +234 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/roles-list/roles-list.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/roles-list/roles-list.component.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/select-approvers/select-approvers.component.html +71 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/select-approvers/select-approvers.component.less +211 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/select-approvers/select-approvers.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/select-approvers/select-approvers.component.ts +73 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/table-card-loader/table-card-loader.component.html +12 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/table-card-loader/table-card-loader.component.less +43 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/table-card-loader/table-card-loader.component.spec.ts +23 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/table-card-loader/table-card-loader.component.ts +15 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/users-radio-list/users-radio-list.component.html +34 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/users-radio-list/users-radio-list.component.less +248 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/users-radio-list/users-radio-list.component.ts +55 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/v-loader/loader/loader.component.html +6 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/v-loader/loader/loader.component.less +54 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/v-loader/loader/loader.component.ts +23 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/v-loader/loader-inline/loader-inline.component.html +6 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/v-loader/loader-inline/loader-inline.component.less +54 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/v-loader/loader-inline/loader-inline.component.ts +23 -0
- package/projects/vx-workflow-engine/src/lib/sharedComponents/v-loader/v-loader.module.ts +13 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/action-dialog/action-dialog.module.ts +13 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/action-dialog/active/active.component.html +17 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/action-dialog/active/active.component.less +124 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/action-dialog/active/active.component.spec.ts +24 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/action-dialog/active/active.component.ts +30 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/action-dialog/deactivate/deactivate.component.html +17 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/action-dialog/deactivate/deactivate.component.less +123 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/action-dialog/deactivate/deactivate.component.spec.ts +24 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/action-dialog/deactivate/deactivate.component.ts +28 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/action-dialog/delete/delete.component.html +25 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/action-dialog/delete/delete.component.less +230 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/action-dialog/delete/delete.component.spec.ts +24 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/action-dialog/delete/delete.component.ts +22 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/action-dialog/duplicate/duplicate.component.html +17 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/action-dialog/duplicate/duplicate.component.less +123 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/action-dialog/duplicate/duplicate.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/action-dialog/duplicate/duplicate.component.ts +26 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/click-outside/click-outside.directive.ts +16 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/click-outside/click-outside.module.ts +16 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/dialog/dialog-config.ts +5 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/dialog/dialog-injector.ts +15 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/dialog/dialog-ref.ts +11 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/dialog/dialog.component.css +97 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/dialog/dialog.component.html +27 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/dialog/dialog.component.ts +98 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/dialog/dialog.module.ts +11 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/dialog/dialog.service.ts +77 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/dialog/insertion.directive.ts +8 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/directive/directive.module.ts +17 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/directive/stop-propagation.directive.spec.ts +8 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/directive/stop-propagation.directive.ts +15 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/editor-loader/editor-loader/editor-loader.component.html +61 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/editor-loader/editor-loader/editor-loader.component.less +263 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/editor-loader/editor-loader/editor-loader.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/editor-loader/editor-loader/editor-loader.component.ts +15 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/editor-loader/editor-loader.module.ts +16 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/format-html.pipe.ts +14 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/formgroup/click-outside.directive.ts +16 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.html +11 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.less +102 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.ts +23 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.html +12 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.less +109 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.ts +30 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/formgroup/cs-radio/cs-radio.component.html +11 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/formgroup/cs-radio/cs-radio.component.less +125 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/formgroup/cs-radio/cs-radio.component.ts +21 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.html +4 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.less +0 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.ts +12 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/formgroup/cs-select/cs-select.component.html +78 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/formgroup/cs-select/cs-select.component.less +279 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/formgroup/cs-select/cs-select.component.ts +83 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/formgroup/cs-switch/cs-switch.component.html +30 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/formgroup/cs-switch/cs-switch.component.less +103 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/formgroup/cs-switch/cs-switch.component.ts +23 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/formgroup/formgroup.module.ts +38 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/formgroup/pipes/pascal.pipe.ts +13 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/formgroup/pipes/searchMultiSelect.pipe.ts +18 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/hover-popover/hover-popover.component.html +1 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/hover-popover/hover-popover.component.less +0 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/hover-popover/hover-popover.component.ts +15 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/hover-popover/hover-popover.module.ts +15 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/line-loader/line-loader.component.html +3 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/line-loader/line-loader.component.less +34 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/line-loader/line-loader.component.ts +14 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/line-loader/line-loader.module.ts +10 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/no-data/no-data.component.html +16 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/no-data/no-data.component.less +81 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/no-data/no-data.component.ts +31 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/no-data/no-data.module.ts +10 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/pagination/pagination/pagination.component.html +57 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/pagination/pagination/pagination.component.less +228 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/pagination/pagination/pagination.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/pagination/pagination/pagination.component.ts +112 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/pagination/pagination.module.ts +20 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/popover/popover-event.directive.ts +19 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/popover/popover-longpress.directive.ts +34 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/popover/popover.component.html +6 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/popover/popover.component.less +19 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/popover/popover.component.ts +113 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/popover/popover.directive.ts +77 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/popover/popover.module.ts +15 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/popover/popover.service.ts +15 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/popover-hover/popover-hover.component.html +6 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/popover-hover/popover-hover.component.less +29 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/popover-hover/popover-hover.component.ts +103 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/popover-hover/popover-hover.directive.ts +21 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/popover-hover/popover-hover.module.ts +23 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/popover-hover/popover-hover.service.ts +14 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/ripple/ripple.directive.ts +33 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/ripple/ripple.module.ts +10 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/smiley-dialog/smiley-dialog.component.html +49 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/smiley-dialog/smiley-dialog.component.less +518 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/smiley-dialog/smiley-dialog.component.ts +36 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/smiley-dialog/smiley-dialog.module.ts +11 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/smiley-dialog-inline/smiley-dialog-inline.component.html +49 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/smiley-dialog-inline/smiley-dialog-inline.component.less +471 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/smiley-dialog-inline/smiley-dialog-inline.component.ts +34 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/smiley-dialog-inline/smiley-dialog-inline.module.ts +11 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/snack-bar/snack-bar.component.html +9 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/snack-bar/snack-bar.component.less +112 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/snack-bar/snack-bar.component.ts +51 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/snack-bar/snack-bar.module.ts +10 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/snack-bar/snack-bar.service.ts +27 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/tooltip/tooltip.directive.ts +127 -0
- package/projects/vx-workflow-engine/src/lib/ui-kit/tooltip/tooltip.module.ts +10 -0
- package/projects/vx-workflow-engine/src/lib/vx-workflow-engine.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/vx-workflow-engine.component.ts +20 -0
- package/projects/vx-workflow-engine/src/lib/vx-workflow-engine.module.ts +18 -0
- package/projects/vx-workflow-engine/src/lib/vx-workflow-engine.service.spec.ts +16 -0
- package/projects/vx-workflow-engine/src/lib/vx-workflow-engine.service.ts +9 -0
- package/projects/vx-workflow-engine/src/lib/workflow/grc-object/grc-object-container/grc-object-container.component.html +303 -0
- package/projects/vx-workflow-engine/src/lib/workflow/grc-object/grc-object-container/grc-object-container.component.less +11 -0
- package/projects/vx-workflow-engine/src/lib/workflow/grc-object/grc-object-container/grc-object-container.component.ts +980 -0
- package/projects/vx-workflow-engine/src/lib/workflow/grc-object/grc-object.module.ts +34 -0
- package/projects/vx-workflow-engine/src/lib/workflow/shared/components/attributes/attributes-checkbox/attributes-checkbox.component.html +86 -0
- package/projects/vx-workflow-engine/src/lib/workflow/shared/components/attributes/attributes-checkbox/attributes-checkbox.component.less +288 -0
- package/projects/vx-workflow-engine/src/lib/workflow/shared/components/attributes/attributes-checkbox/attributes-checkbox.component.ts +111 -0
- package/projects/vx-workflow-engine/src/lib/workflow/shared/components/attributes/attributes-dropdown/attributes-dropdown.component.ts +86 -0
- package/projects/vx-workflow-engine/src/lib/workflow/shared/components/attributes/attributes-text-box/attributes-text-box.component.ts +86 -0
- package/projects/vx-workflow-engine/src/lib/workflow/shared/components/attributes/attributes.component.html +131 -0
- package/projects/vx-workflow-engine/src/lib/workflow/shared/components/attributes/attributes.component.less +28 -0
- package/projects/vx-workflow-engine/src/lib/workflow/shared/components/attributes/attributes.component.ts +112 -0
- package/projects/vx-workflow-engine/src/lib/workflow/shared/components/attributes/date-picker/date-picker.component.ts +81 -0
- package/projects/vx-workflow-engine/src/lib/workflow/shared/components/edit-mode/edit-mode.component.ts +129 -0
- package/projects/vx-workflow-engine/src/lib/workflow/shared/components/grc-category-listing/grc-category-listing.component.html +25 -0
- package/projects/vx-workflow-engine/src/lib/workflow/shared/components/grc-category-listing/grc-category-listing.component.less +244 -0
- package/projects/vx-workflow-engine/src/lib/workflow/shared/components/grc-category-listing/grc-category-listing.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/workflow/shared/components/grc-category-listing/grc-category-listing.component.ts +121 -0
- package/projects/vx-workflow-engine/src/lib/workflow/shared/components/grc-object-list/grc-object-list.component.html +239 -0
- package/projects/vx-workflow-engine/src/lib/workflow/shared/components/grc-object-list/grc-object-list.component.less +689 -0
- package/projects/vx-workflow-engine/src/lib/workflow/shared/components/grc-object-list/grc-object-list.component.spec.ts +23 -0
- package/projects/vx-workflow-engine/src/lib/workflow/shared/components/grc-object-list/grc-object-list.component.ts +208 -0
- package/projects/vx-workflow-engine/src/lib/workflow/shared/components/grc-responsibility-listing/grc-responsibility-listing.component.html +63 -0
- package/projects/vx-workflow-engine/src/lib/workflow/shared/components/grc-responsibility-listing/grc-responsibility-listing.component.less +483 -0
- package/projects/vx-workflow-engine/src/lib/workflow/shared/components/grc-responsibility-listing/grc-responsibility-listing.component.spec.ts +23 -0
- package/projects/vx-workflow-engine/src/lib/workflow/shared/components/grc-responsibility-listing/grc-responsibility-listing.component.ts +239 -0
- package/projects/vx-workflow-engine/src/lib/workflow/shared/components/grc-risk-listing/grc-risk-listing.component.html +63 -0
- package/projects/vx-workflow-engine/src/lib/workflow/shared/components/grc-risk-listing/grc-risk-listing.component.less +483 -0
- package/projects/vx-workflow-engine/src/lib/workflow/shared/components/grc-risk-listing/grc-risk-listing.component.spec.ts +24 -0
- package/projects/vx-workflow-engine/src/lib/workflow/shared/components/grc-risk-listing/grc-risk-listing.component.ts +211 -0
- package/projects/vx-workflow-engine/src/lib/workflow/shared/components/grc-sub-category-listing/grc-sub-category-listing.component.html +32 -0
- package/projects/vx-workflow-engine/src/lib/workflow/shared/components/grc-sub-category-listing/grc-sub-category-listing.component.less +242 -0
- package/projects/vx-workflow-engine/src/lib/workflow/shared/components/grc-sub-category-listing/grc-sub-category-listing.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/workflow/shared/components/grc-sub-category-listing/grc-sub-category-listing.component.ts +85 -0
- package/projects/vx-workflow-engine/src/lib/workflow/shared/components/list-popup/list-popup.component.ts +165 -0
- package/projects/vx-workflow-engine/src/lib/workflow/shared/components/program-responsibility-listing/program-responsibility-listing.component.html +48 -0
- package/projects/vx-workflow-engine/src/lib/workflow/shared/components/program-responsibility-listing/program-responsibility-listing.component.less +113 -0
- package/projects/vx-workflow-engine/src/lib/workflow/shared/components/program-responsibility-listing/program-responsibility-listing.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/workflow/shared/components/program-responsibility-listing/program-responsibility-listing.component.ts +448 -0
- package/projects/vx-workflow-engine/src/lib/workflow/shared/components/risk-category-risk-listing/risk-category-risk-listing.component.html +26 -0
- package/projects/vx-workflow-engine/src/lib/workflow/shared/components/risk-category-risk-listing/risk-category-risk-listing.component.less +114 -0
- package/projects/vx-workflow-engine/src/lib/workflow/shared/components/risk-category-risk-listing/risk-category-risk-listing.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/workflow/shared/components/risk-category-risk-listing/risk-category-risk-listing.component.ts +275 -0
- package/projects/vx-workflow-engine/src/lib/workflow/shared/components/table-card/table-card.component.html +46 -0
- package/projects/vx-workflow-engine/src/lib/workflow/shared/components/table-card/table-card.component.less +19 -0
- package/projects/vx-workflow-engine/src/lib/workflow/shared/components/table-card/table-card.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/workflow/shared/components/table-card/table-card.component.ts +42 -0
- package/projects/vx-workflow-engine/src/lib/workflow/shared/components/text-field/text-field.component.less +33 -0
- package/projects/vx-workflow-engine/src/lib/workflow/shared/components/text-field/text-field.component.ts +87 -0
- package/projects/vx-workflow-engine/src/lib/workflow/shared/components/text-field-icon/text-field-icon.component.ts +36 -0
- package/projects/vx-workflow-engine/src/lib/workflow/shared/constants/cdn-link.constant.ts +18 -0
- package/projects/vx-workflow-engine/src/lib/workflow/shared/constants/field-text.constant.ts +17 -0
- package/projects/vx-workflow-engine/src/lib/workflow/shared/constants/grcObject.constant.ts +94 -0
- package/projects/vx-workflow-engine/src/lib/workflow/shared/constants/link-responsibility.constant.ts +18 -0
- package/projects/vx-workflow-engine/src/lib/workflow/shared/constants/message.contstant.ts +4 -0
- package/projects/vx-workflow-engine/src/lib/workflow/shared/constants/pagination-limits.constant.ts +5 -0
- package/projects/vx-workflow-engine/src/lib/workflow/shared/constants/svg-link.constant.ts +3 -0
- package/projects/vx-workflow-engine/src/lib/workflow/shared/constants/validation-message.constant.ts +7 -0
- package/projects/vx-workflow-engine/src/lib/workflow/shared/interfaces/add-grc.ts +169 -0
- package/projects/vx-workflow-engine/src/lib/workflow/shared/services/grc.service.spec.ts +16 -0
- package/projects/vx-workflow-engine/src/lib/workflow/shared/services/grc.service.ts +371 -0
- package/projects/vx-workflow-engine/src/lib/workflow/shared/workflow-pipes/get-selected-value.pipe.ts +24 -0
- package/projects/vx-workflow-engine/src/lib/workflow/shared/workflow-pipes/is-attributes-valid.pipe.ts +46 -0
- package/projects/vx-workflow-engine/src/lib/workflow/shared/workflow-pipes/unique-responsibilities.pipe.spec.ts +8 -0
- package/projects/vx-workflow-engine/src/lib/workflow/shared/workflow-pipes/unique-responsibilities.pipe.ts +19 -0
- package/projects/vx-workflow-engine/src/lib/workflow/shared/workflow-pipes/workflow-pipes.module.ts +20 -0
- package/projects/vx-workflow-engine/src/lib/workflow-assessment/import-an-assessment/import-an-assessment.component.html +46 -0
- package/projects/vx-workflow-engine/src/lib/workflow-assessment/import-an-assessment/import-an-assessment.component.less +148 -0
- package/projects/vx-workflow-engine/src/lib/workflow-assessment/import-an-assessment/import-an-assessment.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/workflow-assessment/import-an-assessment/import-an-assessment.component.ts +577 -0
- package/projects/vx-workflow-engine/src/lib/workflow-assessment/workflow-assessment.component.html +212 -0
- package/projects/vx-workflow-engine/src/lib/workflow-assessment/workflow-assessment.component.less +77 -0
- package/projects/vx-workflow-engine/src/lib/workflow-assessment/workflow-assessment.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/workflow-assessment/workflow-assessment.component.ts +258 -0
- package/projects/vx-workflow-engine/src/lib/workflow-compliance/workflow-compliance.component.html +3393 -0
- package/projects/vx-workflow-engine/src/lib/workflow-compliance/workflow-compliance.component.less +325 -0
- package/projects/vx-workflow-engine/src/lib/workflow-compliance/workflow-compliance.component.spec.ts +552 -0
- package/projects/vx-workflow-engine/src/lib/workflow-compliance/workflow-compliance.component.ts +4713 -0
- package/projects/vx-workflow-engine/src/lib/workflow-engine-container/workflow-engine-container.component.html +497 -0
- package/projects/vx-workflow-engine/src/lib/workflow-engine-container/workflow-engine-container.component.less +426 -0
- package/projects/vx-workflow-engine/src/lib/workflow-engine-container/workflow-engine-container.component.ts +740 -0
- package/projects/vx-workflow-engine/src/lib/workflow-engine-container/workflow-engine-container.spec.ts +409 -0
- package/projects/vx-workflow-engine/src/lib/workflow-engine.module.ts +298 -0
- package/projects/vx-workflow-engine/src/lib/workflow-engine.service.spec.ts +16 -0
- package/projects/vx-workflow-engine/src/lib/workflow-engine.service.ts +8 -0
- package/projects/vx-workflow-engine/src/lib/workflow-interfaces/create-policy-form.ts +75 -0
- package/projects/vx-workflow-engine/src/lib/workflow-pagination/workflow-pagination.component.html +37 -0
- package/projects/vx-workflow-engine/src/lib/workflow-pagination/workflow-pagination.component.less +269 -0
- package/projects/vx-workflow-engine/src/lib/workflow-pagination/workflow-pagination.component.ts +112 -0
- package/projects/vx-workflow-engine/src/lib/workflow-policy/workflow-policy.component.html +3586 -0
- package/projects/vx-workflow-engine/src/lib/workflow-policy/workflow-policy.component.less +92 -0
- package/projects/vx-workflow-engine/src/lib/workflow-policy/workflow-policy.component.spec.ts +636 -0
- package/projects/vx-workflow-engine/src/lib/workflow-policy/workflow-policy.component.ts +2217 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/constants.ts +51 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-list/assessment-list-loader/assessment-list-loader.component.html +13 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-list/assessment-list-loader/assessment-list-loader.component.less +58 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-list/assessment-list-loader/assessment-list-loader.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-list/assessment-list-loader/assessment-list-loader.component.ts +15 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-list/assessment-list-sub-loader/assessment-list-sub-loader.component.html +15 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-list/assessment-list-sub-loader/assessment-list-sub-loader.component.less +59 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-list/assessment-list-sub-loader/assessment-list-sub-loader.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-list/assessment-list-sub-loader/assessment-list-sub-loader.component.ts +15 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-list/assessment-list.component.html +136 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-list/assessment-list.component.less +519 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-list/assessment-list.component.spec.ts +78 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-list/assessment-list.component.ts +211 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-list/service/assessment.interface.ts +24 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-list/service/assessment.service.spec.ts +16 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-list/service/assessment.service.ts +39 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-picker/assessment-loader/assessment-loader.component.html +13 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-picker/assessment-loader/assessment-loader.component.less +58 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-picker/assessment-loader/assessment-loader.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-picker/assessment-loader/assessment-loader.component.ts +15 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-picker/assessment-picker.component.html +155 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-picker/assessment-picker.component.less +779 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-picker/assessment-picker.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-picker/assessment-picker.component.ts +329 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-picker/assessment-sub-loader/assessment-sub-loader.component.html +15 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-picker/assessment-sub-loader/assessment-sub-loader.component.less +59 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-picker/assessment-sub-loader/assessment-sub-loader.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-picker/assessment-sub-loader/assessment-sub-loader.component.ts +15 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-picker/assessment.service.ts +39 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-picker/selected-assessment.pipe.spec.ts +8 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-picker/selected-assessment.pipe.ts +19 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-picker/workflow-pagination/workflow-pagination.component.html +37 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-picker/workflow-pagination/workflow-pagination.component.less +269 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-picker/workflow-pagination/workflow-pagination.component.ts +112 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/checkbox/checkbox.component.html +23 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/checkbox/checkbox.component.less +127 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/checkbox/checkbox.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/checkbox/checkbox.component.ts +45 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/create-program-ui.module.ts +118 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/cs-switch/cs-switch.component.html +35 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/cs-switch/cs-switch.component.less +103 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/cs-switch/cs-switch.component.ts +46 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/custom-field/custom-field.component.html +17 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/custom-field/custom-field.component.less +0 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/custom-field/custom-field.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/custom-field/custom-field.component.ts +83 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/define-framework-listing/define-framework-listing.component.html +240 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/define-framework-listing/define-framework-listing.component.less +700 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/define-framework-listing/define-framework-listing.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/define-framework-listing/define-framework-listing.component.ts +252 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/define-framework-listing/framework.service.spec.ts +16 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/define-framework-listing/framework.service.ts +37 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/define-framework-listing/loader/loader.component.html +13 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/define-framework-listing/loader/loader.component.less +58 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/define-framework-listing/loader/loader.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/define-framework-listing/loader/loader.component.ts +15 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/define-framework-listing/pipes/category-all-select.pipe.spec.ts +8 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/define-framework-listing/pipes/category-all-select.pipe.ts +17 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/define-framework-listing/pipes/search.pipe.spec.ts +8 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/define-framework-listing/pipes/search.pipe.ts +19 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/define-framework-listing/pipes/sub-cat-indeter.pipe.spec.ts +8 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/define-framework-listing/pipes/sub-cat-indeter.pipe.ts +22 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/define-framework-listing/pipes/tooltip-message.pipe.spec.ts +8 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/define-framework-listing/pipes/tooltip-message.pipe.ts +60 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/directives/input-trim.directive.spec.ts +8 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/directives/input-trim.directive.ts +16 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/file-pill/file-pill.component.html +9 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/file-pill/file-pill.component.less +29 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/file-pill/file-pill.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/file-pill/file-pill.component.ts +18 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/floating-bar/floating-bar.component.html +46 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/floating-bar/floating-bar.component.less +647 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/floating-bar/floating-bar.component.ts +72 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/form-field/form-field.component.html +11 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/form-field/form-field.component.less +0 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/form-field/form-field.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/form-field/form-field.component.ts +20 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/input-with-pill/input-with-pill.component.html +9 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/input-with-pill/input-with-pill.component.less +12 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/input-with-pill/input-with-pill.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/input-with-pill/input-with-pill.component.ts +19 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/pagination/pagination/pagination.component.html +53 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/pagination/pagination/pagination.component.less +225 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/pagination/pagination/pagination.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/pagination/pagination/pagination.component.ts +140 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/pagination/pagination.module.ts +20 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/pipes/array-concat.pipe.spec.ts +8 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/pipes/array-concat.pipe.ts +12 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/pipes/assessment-resolver.pipe.spec.ts +8 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/pipes/assessment-resolver.pipe.ts +19 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/pipes/filter.pipe.spec.ts +8 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/pipes/filter.pipe.ts +22 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/pipes/list-to-id.pipe.spec.ts +8 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/pipes/list-to-id.pipe.ts +12 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/pipes/pager.pipe.ts +14 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/pipes/ref-disconnect.pipe.spec.ts +8 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/pipes/ref-disconnect.pipe.ts +13 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/pipes/search.pipe.spec.ts +8 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/pipes/search.pipe.ts +19 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/removed-code.ts +101 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/role-list/loader/loader.component.html +13 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/role-list/loader/loader.component.less +58 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/role-list/loader/loader.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/role-list/loader/loader.component.ts +15 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/role-list/role-list.component.html +121 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/role-list/role-list.component.less +596 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/role-list/role-list.component.spec.ts +55 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/role-list/role-list.component.ts +221 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/tab-selector/tab-selector.component.html +6 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/tab-selector/tab-selector.component.less +144 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/tab-selector/tab-selector.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/tab-selector/tab-selector.component.ts +50 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/tick-mark/tick-mark.component.html +6 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/tick-mark/tick-mark.component.less +35 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/tick-mark/tick-mark.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/tick-mark/tick-mark.component.ts +15 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.html +217 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.less +634 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.ts +444 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/data.ts +37 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/workflow-program.component.html +984 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/workflow-program.component.less +449 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/workflow-program.component.spec.ts +322 -0
- package/projects/vx-workflow-engine/src/lib/workflow-program/workflow-program.component.ts +1448 -0
- package/projects/vx-workflow-engine/src/lib/workflow-risk/workflow-risk.component.html +1574 -0
- package/projects/vx-workflow-engine/src/lib/workflow-risk/workflow-risk.component.less +9 -0
- package/projects/vx-workflow-engine/src/lib/workflow-risk/workflow-risk.component.spec.ts +223 -0
- package/projects/vx-workflow-engine/src/lib/workflow-risk/workflow-risk.component.ts +1778 -0
- package/projects/vx-workflow-engine/src/lib/workflow-services/add-risk.service.ts +210 -0
- package/projects/vx-workflow-engine/src/lib/workflow-services/assessment.service.spec.ts +16 -0
- package/projects/vx-workflow-engine/src/lib/workflow-services/assessment.service.ts +167 -0
- package/projects/vx-workflow-engine/src/lib/workflow-services/auth.service.ts +234 -0
- package/projects/vx-workflow-engine/src/lib/workflow-services/frequency.service.ts +171 -0
- package/projects/vx-workflow-engine/src/lib/workflow-services/log-issue.service.ts +263 -0
- package/projects/vx-workflow-engine/src/lib/workflow-services/policy.service.ts +245 -0
- package/projects/vx-workflow-engine/src/lib/workflow-services/programs.service.spec.ts +16 -0
- package/projects/vx-workflow-engine/src/lib/workflow-services/programs.service.ts +211 -0
- package/projects/vx-workflow-engine/src/lib/workflow-services/responsibility.service.ts +484 -0
- package/projects/vx-workflow-engine/src/lib/workflow-services/token-decoder.service.spec.ts +16 -0
- package/projects/vx-workflow-engine/src/lib/workflow-services/token-decoder.service.ts +32 -0
- package/projects/vx-workflow-engine/src/lib/workflow-services/ui-kit.service.ts +11 -0
- package/projects/vx-workflow-engine/src/lib/workflow-survey-form/workflow-survey-form.component.html +272 -0
- package/projects/vx-workflow-engine/src/lib/workflow-survey-form/workflow-survey-form.component.less +27 -0
- package/projects/vx-workflow-engine/src/lib/workflow-survey-form/workflow-survey-form.component.spec.ts +25 -0
- package/projects/vx-workflow-engine/src/lib/workflow-survey-form/workflow-survey-form.component.ts +21 -0
- package/projects/vx-workflow-engine/src/public-api.ts +8 -0
- package/projects/vx-workflow-engine/src/test.ts +26 -0
- package/projects/vx-workflow-engine/tsconfig.lib.json +20 -0
- package/projects/vx-workflow-engine/tsconfig.lib.prod.json +10 -0
- package/projects/vx-workflow-engine/tsconfig.spec.json +17 -0
- package/projects/workflow-client/.browserslistrc +17 -0
- package/projects/workflow-client/karma.conf.js +44 -0
- package/projects/workflow-client/src/app/app-routing.module.ts +10 -0
- package/projects/workflow-client/src/app/app.component.html +26 -0
- package/projects/workflow-client/src/app/app.component.less +0 -0
- package/projects/workflow-client/src/app/app.component.spec.ts +29 -0
- package/projects/workflow-client/src/app/app.component.ts +111 -0
- package/projects/workflow-client/src/app/app.module.ts +37 -0
- package/projects/workflow-client/src/assets/.gitkeep +0 -0
- package/projects/workflow-client/src/assets/v-loader.json +1 -0
- package/projects/workflow-client/src/assets/vLoader.json +1 -0
- package/projects/workflow-client/src/environments/environment.prod.ts +92 -0
- package/projects/workflow-client/src/environments/environment.ts +100 -0
- package/projects/workflow-client/src/favicon.ico +0 -0
- package/projects/workflow-client/src/featureFlag/feature-flag.directive.spec.ts +46 -0
- package/projects/workflow-client/src/featureFlag/feature-flag.directive.ts +29 -0
- package/projects/workflow-client/src/featureFlag/feature-flag.module.ts +14 -0
- package/projects/workflow-client/src/featureFlag/feature-flag.service.spec.ts +175 -0
- package/projects/workflow-client/src/featureFlag/feature-flag.service.ts +94 -0
- package/projects/workflow-client/src/index.html +16 -0
- package/projects/workflow-client/src/main.ts +12 -0
- package/projects/workflow-client/src/polyfills.ts +53 -0
- package/projects/workflow-client/src/styles.less +416 -0
- package/projects/workflow-client/src/test.ts +27 -0
- package/projects/workflow-client/tsconfig.app.json +15 -0
- package/projects/workflow-client/tsconfig.spec.json +18 -0
- package/tsconfig.json +38 -0
- package/bundles/vcomply-workflow-engine.umd.js +0 -26431
- package/bundles/vcomply-workflow-engine.umd.js.map +0 -1
- package/esm2015/lib/add-multiple-responsibility/add-multiple-responsibility.component.js +0 -700
- package/esm2015/lib/add-multiple-responsibility/add-multiple-responsibility.component.ngfactory.js +0 -79
- package/esm2015/lib/add-multiple-responsibility/add-multiple-responsibility.component.ngsummary.json +0 -1
- package/esm2015/lib/add-multiple-risk/add-multiple-risk.component.js +0 -569
- package/esm2015/lib/add-multiple-risk/add-multiple-risk.component.ngfactory.js +0 -102
- package/esm2015/lib/add-multiple-risk/add-multiple-risk.component.ngsummary.json +0 -1
- package/esm2015/lib/configurations.js +0 -6
- package/esm2015/lib/configurations.ngsummary.json +0 -1
- package/esm2015/lib/confirmation-alert/confirmation-alert.component.js +0 -27
- package/esm2015/lib/confirmation-alert/confirmation-alert.component.ngfactory.js +0 -25
- package/esm2015/lib/confirmation-alert/confirmation-alert.component.ngsummary.json +0 -1
- package/esm2015/lib/create-documents/create-documents.component.js +0 -148
- package/esm2015/lib/create-documents/create-documents.component.ngfactory.js +0 -42
- package/esm2015/lib/create-documents/create-documents.component.ngsummary.json +0 -1
- package/esm2015/lib/formgroup/cs-checkbox/cs-checkbox.component.js +0 -31
- package/esm2015/lib/formgroup/cs-checkbox/cs-checkbox.component.ngfactory.js +0 -36
- package/esm2015/lib/formgroup/cs-checkbox/cs-checkbox.component.ngsummary.json +0 -1
- package/esm2015/lib/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.js +0 -33
- package/esm2015/lib/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.ngfactory.js +0 -33
- package/esm2015/lib/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.ngsummary.json +0 -1
- package/esm2015/lib/formgroup/cs-radio/cs-radio.component.js +0 -30
- package/esm2015/lib/formgroup/cs-radio/cs-radio.component.ngfactory.js +0 -23
- package/esm2015/lib/formgroup/cs-radio/cs-radio.component.ngsummary.json +0 -1
- package/esm2015/lib/formgroup/cs-radio-group/cs-radio-group.component.js +0 -14
- package/esm2015/lib/formgroup/cs-radio-group/cs-radio-group.component.ngfactory.js +0 -19
- package/esm2015/lib/formgroup/cs-radio-group/cs-radio-group.component.ngsummary.json +0 -1
- package/esm2015/lib/formgroup/cs-select/cs-select.component.js +0 -79
- package/esm2015/lib/formgroup/cs-select/cs-select.component.ngfactory.js +0 -74
- package/esm2015/lib/formgroup/cs-select/cs-select.component.ngsummary.json +0 -1
- package/esm2015/lib/formgroup/cs-switch/cs-switch.component.js +0 -29
- package/esm2015/lib/formgroup/cs-switch/cs-switch.component.ngfactory.js +0 -45
- package/esm2015/lib/formgroup/cs-switch/cs-switch.component.ngsummary.json +0 -1
- package/esm2015/lib/formgroup/formgroup.module.js +0 -38
- package/esm2015/lib/formgroup/formgroup.module.ngfactory.js +0 -13
- package/esm2015/lib/formgroup/formgroup.module.ngsummary.json +0 -1
- package/esm2015/lib/formgroup/pipes/pascal.pipe.js +0 -15
- package/esm2015/lib/formgroup/pipes/pascal.pipe.ngsummary.json +0 -1
- package/esm2015/lib/formgroup/select/cs-option/cs-option.component.js +0 -41
- package/esm2015/lib/formgroup/select/cs-option/cs-option.component.ngfactory.js +0 -38
- package/esm2015/lib/formgroup/select/cs-option/cs-option.component.ngsummary.json +0 -1
- package/esm2015/lib/formgroup/select/cs-select/cs-select.component.js +0 -98
- package/esm2015/lib/formgroup/select/cs-select/cs-select.component.ngfactory.js +0 -40
- package/esm2015/lib/formgroup/select/cs-select/cs-select.component.ngsummary.json +0 -1
- package/esm2015/lib/formgroup/select/select.module.js +0 -16
- package/esm2015/lib/formgroup/select/select.module.ngfactory.js +0 -14
- package/esm2015/lib/formgroup/select/select.module.ngsummary.json +0 -1
- package/esm2015/lib/formgroup/select/select.service.js +0 -48
- package/esm2015/lib/formgroup/select/select.service.ngsummary.json +0 -1
- package/esm2015/lib/interfaces/categoryList.js +0 -2
- package/esm2015/lib/interfaces/categoryList.ngsummary.json +0 -1
- package/esm2015/lib/interfaces/confirmation-alert.js +0 -2
- package/esm2015/lib/interfaces/confirmation-alert.ngsummary.json +0 -1
- package/esm2015/lib/interfaces/issue-data.js +0 -2
- package/esm2015/lib/interfaces/issue-data.ngsummary.json +0 -1
- package/esm2015/lib/log-an-issue/log-an-issue.component.js +0 -904
- package/esm2015/lib/log-an-issue/log-an-issue.component.ngfactory.js +0 -517
- package/esm2015/lib/log-an-issue/log-an-issue.component.ngsummary.json +0 -1
- package/esm2015/lib/more-option/more-option.component.js +0 -498
- package/esm2015/lib/more-option/more-option.component.ngfactory.js +0 -60
- package/esm2015/lib/more-option/more-option.component.ngsummary.json +0 -1
- package/esm2015/lib/pipes/data-type.pipe.js +0 -12
- package/esm2015/lib/pipes/data-type.pipe.ngsummary.json +0 -1
- package/esm2015/lib/pipes/list-mapper.pipe.js +0 -17
- package/esm2015/lib/pipes/list-mapper.pipe.ngsummary.json +0 -1
- package/esm2015/lib/pipes/search.pipe.js +0 -64
- package/esm2015/lib/pipes/search.pipe.ngsummary.json +0 -1
- package/esm2015/lib/pipes/space-breaker.pipe.js +0 -17
- package/esm2015/lib/pipes/space-breaker.pipe.ngsummary.json +0 -1
- package/esm2015/lib/pipes/uncategorized-filter.pipe.js +0 -17
- package/esm2015/lib/pipes/uncategorized-filter.pipe.ngsummary.json +0 -1
- package/esm2015/lib/pipes/user-filter.pipe.js +0 -26
- package/esm2015/lib/pipes/user-filter.pipe.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/add-logic/add-logic.component.js +0 -333
- package/esm2015/lib/sharedComponents/assessment-editor/components/add-logic/add-logic.component.ngfactory.js +0 -160
- package/esm2015/lib/sharedComponents/assessment-editor/components/add-logic/add-logic.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/add-page-details/add-page-details.component.js +0 -73
- package/esm2015/lib/sharedComponents/assessment-editor/components/add-page-details/add-page-details.component.ngfactory.js +0 -39
- package/esm2015/lib/sharedComponents/assessment-editor/components/add-page-details/add-page-details.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/add-response-set-popup/add-response-set-popup.component.js +0 -27
- package/esm2015/lib/sharedComponents/assessment-editor/components/add-response-set-popup/add-response-set-popup.component.ngfactory.js +0 -153
- package/esm2015/lib/sharedComponents/assessment-editor/components/add-response-set-popup/add-response-set-popup.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/add-segment-popup/add-segment-popup.component.js +0 -116
- package/esm2015/lib/sharedComponents/assessment-editor/components/add-segment-popup/add-segment-popup.component.ngfactory.js +0 -116
- package/esm2015/lib/sharedComponents/assessment-editor/components/add-segment-popup/add-segment-popup.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/assessment-settings/assessment-settings.component.js +0 -165
- package/esm2015/lib/sharedComponents/assessment-editor/components/assessment-settings/assessment-settings.component.ngfactory.js +0 -85
- package/esm2015/lib/sharedComponents/assessment-editor/components/assessment-settings/assessment-settings.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/build/build.module.js +0 -71
- package/esm2015/lib/sharedComponents/assessment-editor/components/build/build.module.ngfactory.js +0 -17
- package/esm2015/lib/sharedComponents/assessment-editor/components/build/build.module.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/build/checkbox/checkbox.component.js +0 -35
- package/esm2015/lib/sharedComponents/assessment-editor/components/build/checkbox/checkbox.component.ngfactory.js +0 -89
- package/esm2015/lib/sharedComponents/assessment-editor/components/build/checkbox/checkbox.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/build/choice-settings-panel/choice-settings-panel.component.js +0 -66
- package/esm2015/lib/sharedComponents/assessment-editor/components/build/choice-settings-panel/choice-settings-panel.component.ngfactory.js +0 -72
- package/esm2015/lib/sharedComponents/assessment-editor/components/build/choice-settings-panel/choice-settings-panel.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/build/date-time/date-time.component.js +0 -18
- package/esm2015/lib/sharedComponents/assessment-editor/components/build/date-time/date-time.component.ngfactory.js +0 -51
- package/esm2015/lib/sharedComponents/assessment-editor/components/build/date-time/date-time.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/build/dropdown/dropdown.component.js +0 -35
- package/esm2015/lib/sharedComponents/assessment-editor/components/build/dropdown/dropdown.component.ngfactory.js +0 -104
- package/esm2015/lib/sharedComponents/assessment-editor/components/build/dropdown/dropdown.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/build/image-choice/image-choice.component.js +0 -15
- package/esm2015/lib/sharedComponents/assessment-editor/components/build/image-choice/image-choice.component.ngfactory.js +0 -20
- package/esm2015/lib/sharedComponents/assessment-editor/components/build/image-choice/image-choice.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/build/matrix-dropdown/matrix-dropdown.component.js +0 -15
- package/esm2015/lib/sharedComponents/assessment-editor/components/build/matrix-dropdown/matrix-dropdown.component.ngfactory.js +0 -17
- package/esm2015/lib/sharedComponents/assessment-editor/components/build/matrix-dropdown/matrix-dropdown.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/build/matrix-rating-scale/matrix-rating-scale.component.js +0 -15
- package/esm2015/lib/sharedComponents/assessment-editor/components/build/matrix-rating-scale/matrix-rating-scale.component.ngfactory.js +0 -17
- package/esm2015/lib/sharedComponents/assessment-editor/components/build/matrix-rating-scale/matrix-rating-scale.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/build/multiple-choice/multiple-choice.component.js +0 -35
- package/esm2015/lib/sharedComponents/assessment-editor/components/build/multiple-choice/multiple-choice.component.ngfactory.js +0 -104
- package/esm2015/lib/sharedComponents/assessment-editor/components/build/multiple-choice/multiple-choice.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/build/multiple-textbox/multiple-textbox.component.js +0 -15
- package/esm2015/lib/sharedComponents/assessment-editor/components/build/multiple-textbox/multiple-textbox.component.ngfactory.js +0 -17
- package/esm2015/lib/sharedComponents/assessment-editor/components/build/multiple-textbox/multiple-textbox.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/build/ranking/ranking.component.js +0 -15
- package/esm2015/lib/sharedComponents/assessment-editor/components/build/ranking/ranking.component.ngfactory.js +0 -17
- package/esm2015/lib/sharedComponents/assessment-editor/components/build/ranking/ranking.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/build/slider/slider.component.js +0 -15
- package/esm2015/lib/sharedComponents/assessment-editor/components/build/slider/slider.component.ngfactory.js +0 -17
- package/esm2015/lib/sharedComponents/assessment-editor/components/build/slider/slider.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/build/star-rating/star-rating.component.js +0 -26
- package/esm2015/lib/sharedComponents/assessment-editor/components/build/star-rating/star-rating.component.ngfactory.js +0 -60
- package/esm2015/lib/sharedComponents/assessment-editor/components/build/star-rating/star-rating.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/build/thank-you/thank-you.component.js +0 -15
- package/esm2015/lib/sharedComponents/assessment-editor/components/build/thank-you/thank-you.component.ngfactory.js +0 -17
- package/esm2015/lib/sharedComponents/assessment-editor/components/build/thank-you/thank-you.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/build/weightage-selector/weightage-selector.component.js +0 -55
- package/esm2015/lib/sharedComponents/assessment-editor/components/build/weightage-selector/weightage-selector.component.ngfactory.js +0 -51
- package/esm2015/lib/sharedComponents/assessment-editor/components/build/weightage-selector/weightage-selector.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/build/welcome/welcome.component.js +0 -15
- package/esm2015/lib/sharedComponents/assessment-editor/components/build/welcome/welcome.component.ngfactory.js +0 -17
- package/esm2015/lib/sharedComponents/assessment-editor/components/build/welcome/welcome.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/editor-wrapper/editor-wrapper.component.js +0 -154
- package/esm2015/lib/sharedComponents/assessment-editor/components/editor-wrapper/editor-wrapper.component.ngfactory.js +0 -205
- package/esm2015/lib/sharedComponents/assessment-editor/components/editor-wrapper/editor-wrapper.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/errorInterface/error.js +0 -2
- package/esm2015/lib/sharedComponents/assessment-editor/components/errorInterface/error.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/errorInterface/question.js +0 -2
- package/esm2015/lib/sharedComponents/assessment-editor/components/errorInterface/question.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/errorInterface/validateStructure.js +0 -2
- package/esm2015/lib/sharedComponents/assessment-editor/components/errorInterface/validateStructure.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/logic/logic.component.js +0 -100
- package/esm2015/lib/sharedComponents/assessment-editor/components/logic/logic.component.ngfactory.js +0 -119
- package/esm2015/lib/sharedComponents/assessment-editor/components/logic/logic.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-checkbox/logic-checkbox.component.js +0 -24
- package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-checkbox/logic-checkbox.component.ngfactory.js +0 -59
- package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-checkbox/logic-checkbox.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-comment-box/logic-comment-box.component.js +0 -15
- package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-comment-box/logic-comment-box.component.ngfactory.js +0 -17
- package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-comment-box/logic-comment-box.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-date-time/logic-date-time.component.js +0 -37
- package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-date-time/logic-date-time.component.ngfactory.js +0 -105
- package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-date-time/logic-date-time.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-dropdown/logic-dropdown.component.js +0 -31
- package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-dropdown/logic-dropdown.component.ngfactory.js +0 -22
- package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-dropdown/logic-dropdown.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-image-choice/logic-image-choice.component.js +0 -15
- package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-image-choice/logic-image-choice.component.ngfactory.js +0 -37
- package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-image-choice/logic-image-choice.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-choice/logic-multiple-choice.component.js +0 -24
- package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-choice/logic-multiple-choice.component.ngfactory.js +0 -59
- package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-choice/logic-multiple-choice.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-textbox/logic-multiple-textbox.component.js +0 -15
- package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-textbox/logic-multiple-textbox.component.ngfactory.js +0 -35
- package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-textbox/logic-multiple-textbox.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-questions.module.js +0 -64
- package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-questions.module.ngfactory.js +0 -21
- package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-questions.module.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-ranking/logic-ranking.component.js +0 -15
- package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-ranking/logic-ranking.component.ngfactory.js +0 -36
- package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-ranking/logic-ranking.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-single-textbox/logic-single-textbox.component.js +0 -24
- package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-single-textbox/logic-single-textbox.component.ngfactory.js +0 -36
- package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-single-textbox/logic-single-textbox.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-slider/logic-slider.component.js +0 -15
- package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-slider/logic-slider.component.ngfactory.js +0 -17
- package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-slider/logic-slider.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-star-rating/logic-star-rating.component.js +0 -15
- package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-star-rating/logic-star-rating.component.ngfactory.js +0 -40
- package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-star-rating/logic-star-rating.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/move/move.component.js +0 -97
- package/esm2015/lib/sharedComponents/assessment-editor/components/move/move.component.ngfactory.js +0 -103
- package/esm2015/lib/sharedComponents/assessment-editor/components/move/move.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/page-header/page-header.component.js +0 -22
- package/esm2015/lib/sharedComponents/assessment-editor/components/page-header/page-header.component.ngfactory.js +0 -23
- package/esm2015/lib/sharedComponents/assessment-editor/components/page-header/page-header.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/pipes/current-page-question.pipe.js +0 -18
- package/esm2015/lib/sharedComponents/assessment-editor/components/pipes/current-page-question.pipe.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/pipes/error-message.pipe.js +0 -23
- package/esm2015/lib/sharedComponents/assessment-editor/components/pipes/error-message.pipe.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/pipes/formatter.pipe.js +0 -17
- package/esm2015/lib/sharedComponents/assessment-editor/components/pipes/formatter.pipe.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/pipes/question-filter.pipe.js +0 -13
- package/esm2015/lib/sharedComponents/assessment-editor/components/pipes/question-filter.pipe.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/pipes/question-page-filter.pipe.js +0 -12
- package/esm2015/lib/sharedComponents/assessment-editor/components/pipes/question-page-filter.pipe.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/pipes/question-parser.pipe.js +0 -17
- package/esm2015/lib/sharedComponents/assessment-editor/components/pipes/question-parser.pipe.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/pipes/type-of.pipe.js +0 -12
- package/esm2015/lib/sharedComponents/assessment-editor/components/pipes/type-of.pipe.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-checkbox/preview-checkbox.component.js +0 -28
- package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-checkbox/preview-checkbox.component.ngfactory.js +0 -22
- package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-checkbox/preview-checkbox.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-comment-box/preview-comment-box.component.js +0 -15
- package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-comment-box/preview-comment-box.component.ngfactory.js +0 -17
- package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-comment-box/preview-comment-box.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-date-time/preview-date-time.component.js +0 -31
- package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-date-time/preview-date-time.component.ngfactory.js +0 -81
- package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-date-time/preview-date-time.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-dropdown/preview-dropdown.component.js +0 -31
- package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-dropdown/preview-dropdown.component.ngfactory.js +0 -19
- package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-dropdown/preview-dropdown.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-file-upload/preview-file-upload.component.js +0 -23
- package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-file-upload/preview-file-upload.component.ngfactory.js +0 -20
- package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-file-upload/preview-file-upload.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-image-choice/preview-image-choice.component.js +0 -15
- package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-image-choice/preview-image-choice.component.ngfactory.js +0 -37
- package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-image-choice/preview-image-choice.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-dropdown/preview-matrix-dropdown.component.js +0 -24
- package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-dropdown/preview-matrix-dropdown.component.ngfactory.js +0 -60
- package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-dropdown/preview-matrix-dropdown.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-rating-scale/preview-matrix-rating-scale.component.js +0 -24
- package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-rating-scale/preview-matrix-rating-scale.component.ngfactory.js +0 -60
- package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-rating-scale/preview-matrix-rating-scale.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-choice/preview-multiple-choice.component.js +0 -28
- package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-choice/preview-multiple-choice.component.ngfactory.js +0 -22
- package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-choice/preview-multiple-choice.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-textbox/preview-multiple-textbox.component.js +0 -15
- package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-textbox/preview-multiple-textbox.component.ngfactory.js +0 -35
- package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-textbox/preview-multiple-textbox.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-ranking/preview-ranking.component.js +0 -15
- package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-ranking/preview-ranking.component.ngfactory.js +0 -36
- package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-ranking/preview-ranking.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-single-textbox/preview-single-textbox.component.js +0 -18
- package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-single-textbox/preview-single-textbox.component.ngfactory.js +0 -17
- package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-single-textbox/preview-single-textbox.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-slider/preview-slider.component.js +0 -15
- package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-slider/preview-slider.component.ngfactory.js +0 -17
- package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-slider/preview-slider.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-star-rating/preview-star-rating.component.js +0 -15
- package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-star-rating/preview-star-rating.component.ngfactory.js +0 -40
- package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-star-rating/preview-star-rating.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-wrapper/preview-wrapper.component.js +0 -67
- package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-wrapper/preview-wrapper.component.ngfactory.js +0 -90
- package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-wrapper/preview-wrapper.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview.module.js +0 -90
- package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview.module.ngfactory.js +0 -29
- package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview.module.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/preview/thank-you/thank-you.component.js +0 -15
- package/esm2015/lib/sharedComponents/assessment-editor/components/preview/thank-you/thank-you.component.ngfactory.js +0 -17
- package/esm2015/lib/sharedComponents/assessment-editor/components/preview/thank-you/thank-you.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/preview/welcome/welcome.component.js +0 -15
- package/esm2015/lib/sharedComponents/assessment-editor/components/preview/welcome/welcome.component.ngfactory.js +0 -17
- package/esm2015/lib/sharedComponents/assessment-editor/components/preview/welcome/welcome.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/question-type/question-type.component.js +0 -20
- package/esm2015/lib/sharedComponents/assessment-editor/components/question-type/question-type.component.ngfactory.js +0 -76
- package/esm2015/lib/sharedComponents/assessment-editor/components/question-type/question-type.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/quick-settings/quick-settings.component.js +0 -248
- package/esm2015/lib/sharedComponents/assessment-editor/components/quick-settings/quick-settings.component.ngfactory.js +0 -109
- package/esm2015/lib/sharedComponents/assessment-editor/components/quick-settings/quick-settings.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/response-selector/response-selector.component.js +0 -35
- package/esm2015/lib/sharedComponents/assessment-editor/components/response-selector/response-selector.component.ngfactory.js +0 -95
- package/esm2015/lib/sharedComponents/assessment-editor/components/response-selector/response-selector.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/setting-anonymous/setting-anonymous.component.js +0 -56
- package/esm2015/lib/sharedComponents/assessment-editor/components/setting-anonymous/setting-anonymous.component.ngfactory.js +0 -108
- package/esm2015/lib/sharedComponents/assessment-editor/components/setting-anonymous/setting-anonymous.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/setting-response-segment/setting-response-segment.component.js +0 -153
- package/esm2015/lib/sharedComponents/assessment-editor/components/setting-response-segment/setting-response-segment.component.ngfactory.js +0 -130
- package/esm2015/lib/sharedComponents/assessment-editor/components/setting-response-segment/setting-response-segment.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/single-line-editor/single-line-editor.component.js +0 -123
- package/esm2015/lib/sharedComponents/assessment-editor/components/single-line-editor/single-line-editor.component.ngfactory.js +0 -47
- package/esm2015/lib/sharedComponents/assessment-editor/components/single-line-editor/single-line-editor.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/toolkit/toolkit.component.js +0 -24
- package/esm2015/lib/sharedComponents/assessment-editor/components/toolkit/toolkit.component.ngfactory.js +0 -97
- package/esm2015/lib/sharedComponents/assessment-editor/components/toolkit/toolkit.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/components/welcome-thankyou/welcome-thankyou.component.js +0 -50
- package/esm2015/lib/sharedComponents/assessment-editor/components/welcome-thankyou/welcome-thankyou.component.ngfactory.js +0 -47
- package/esm2015/lib/sharedComponents/assessment-editor/components/welcome-thankyou/welcome-thankyou.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/create-assessment-container/create-assessment-container.component.js +0 -437
- package/esm2015/lib/sharedComponents/assessment-editor/create-assessment-container/create-assessment-container.component.ngfactory.js +0 -236
- package/esm2015/lib/sharedComponents/assessment-editor/create-assessment-container/create-assessment-container.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/create-assessment.module.js +0 -86
- package/esm2015/lib/sharedComponents/assessment-editor/create-assessment.module.ngfactory.js +0 -37
- package/esm2015/lib/sharedComponents/assessment-editor/create-assessment.module.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/services/editor.service.js +0 -636
- package/esm2015/lib/sharedComponents/assessment-editor/services/editor.service.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/services/result-criteria.service.js +0 -48
- package/esm2015/lib/sharedComponents/assessment-editor/services/result-criteria.service.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-editor/services/validator.service.js +0 -543
- package/esm2015/lib/sharedComponents/assessment-editor/services/validator.service.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-list/assessment-list-loader/assessment-list-loader.component.js +0 -15
- package/esm2015/lib/sharedComponents/assessment-list/assessment-list-loader/assessment-list-loader.component.ngfactory.js +0 -19
- package/esm2015/lib/sharedComponents/assessment-list/assessment-list-loader/assessment-list-loader.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-list/assessment-list-sub-loader/assessment-list-sub-loader.component.js +0 -15
- package/esm2015/lib/sharedComponents/assessment-list/assessment-list-sub-loader/assessment-list-sub-loader.component.ngfactory.js +0 -19
- package/esm2015/lib/sharedComponents/assessment-list/assessment-list-sub-loader/assessment-list-sub-loader.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-list/assessment-list.component.js +0 -187
- package/esm2015/lib/sharedComponents/assessment-list/assessment-list.component.ngfactory.js +0 -208
- package/esm2015/lib/sharedComponents/assessment-list/assessment-list.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-list/service/assessment.interface.js +0 -2
- package/esm2015/lib/sharedComponents/assessment-list/service/assessment.interface.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-list/service/assessment.service.js +0 -34
- package/esm2015/lib/sharedComponents/assessment-list/service/assessment.service.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-preview/assessment-preview.module.js +0 -61
- package/esm2015/lib/sharedComponents/assessment-preview/assessment-preview.module.ngfactory.js +0 -21
- package/esm2015/lib/sharedComponents/assessment-preview/assessment-preview.module.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-preview/checkbox-question/checkbox-question.component.js +0 -29
- package/esm2015/lib/sharedComponents/assessment-preview/checkbox-question/checkbox-question.component.ngfactory.js +0 -57
- package/esm2015/lib/sharedComponents/assessment-preview/checkbox-question/checkbox-question.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-preview/date-time/date-time.component.js +0 -32
- package/esm2015/lib/sharedComponents/assessment-preview/date-time/date-time.component.ngfactory.js +0 -88
- package/esm2015/lib/sharedComponents/assessment-preview/date-time/date-time.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-preview/device/device.component.js +0 -22
- package/esm2015/lib/sharedComponents/assessment-preview/device/device.component.ngfactory.js +0 -26
- package/esm2015/lib/sharedComponents/assessment-preview/device/device.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-preview/file-upload/file-upload.component.js +0 -19
- package/esm2015/lib/sharedComponents/assessment-preview/file-upload/file-upload.component.ngfactory.js +0 -39
- package/esm2015/lib/sharedComponents/assessment-preview/file-upload/file-upload.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-preview/page-header/page-header.component.js +0 -19
- package/esm2015/lib/sharedComponents/assessment-preview/page-header/page-header.component.ngfactory.js +0 -22
- package/esm2015/lib/sharedComponents/assessment-preview/page-header/page-header.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-preview/preview/preview.component.js +0 -47
- package/esm2015/lib/sharedComponents/assessment-preview/preview/preview.component.ngfactory.js +0 -69
- package/esm2015/lib/sharedComponents/assessment-preview/preview/preview.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-preview/preview-container/preview-container.component.js +0 -15
- package/esm2015/lib/sharedComponents/assessment-preview/preview-container/preview-container.component.ngfactory.js +0 -109
- package/esm2015/lib/sharedComponents/assessment-preview/preview-container/preview-container.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-preview/quick-settings/quick-settings.component.js +0 -18
- package/esm2015/lib/sharedComponents/assessment-preview/quick-settings/quick-settings.component.ngfactory.js +0 -96
- package/esm2015/lib/sharedComponents/assessment-preview/quick-settings/quick-settings.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-preview/radio-question/radio-question.component.js +0 -29
- package/esm2015/lib/sharedComponents/assessment-preview/radio-question/radio-question.component.ngfactory.js +0 -56
- package/esm2015/lib/sharedComponents/assessment-preview/radio-question/radio-question.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-preview/select-question/select-question.component.js +0 -32
- package/esm2015/lib/sharedComponents/assessment-preview/select-question/select-question.component.ngfactory.js +0 -23
- package/esm2015/lib/sharedComponents/assessment-preview/select-question/select-question.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-preview/single-textbox/single-textbox.component.js +0 -19
- package/esm2015/lib/sharedComponents/assessment-preview/single-textbox/single-textbox.component.ngfactory.js +0 -21
- package/esm2015/lib/sharedComponents/assessment-preview/single-textbox/single-textbox.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/assessment-preview/welcome/welcome.component.js +0 -18
- package/esm2015/lib/sharedComponents/assessment-preview/welcome/welcome.component.ngfactory.js +0 -21
- package/esm2015/lib/sharedComponents/assessment-preview/welcome/welcome.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/audit-category-list/audit-category-list.component.js +0 -54
- package/esm2015/lib/sharedComponents/audit-category-list/audit-category-list.component.ngfactory.js +0 -87
- package/esm2015/lib/sharedComponents/audit-category-list/audit-category-list.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/audit-category-list/audit-category.model.js +0 -2
- package/esm2015/lib/sharedComponents/audit-category-list/audit-category.model.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/bulk-responsibility-view/bulk-responsibility-view.component.js +0 -43
- package/esm2015/lib/sharedComponents/bulk-responsibility-view/bulk-responsibility-view.component.ngfactory.js +0 -323
- package/esm2015/lib/sharedComponents/bulk-responsibility-view/bulk-responsibility-view.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/bulk-view/bulk-view.component.js +0 -63
- package/esm2015/lib/sharedComponents/bulk-view/bulk-view.component.ngfactory.js +0 -107
- package/esm2015/lib/sharedComponents/bulk-view/bulk-view.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/category-list/category-list.component.js +0 -76
- package/esm2015/lib/sharedComponents/category-list/category-list.component.ngfactory.js +0 -89
- package/esm2015/lib/sharedComponents/category-list/category-list.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/category-multiselect/category-multi-select.component.js +0 -155
- package/esm2015/lib/sharedComponents/category-multiselect/category-multi-select.component.ngfactory.js +0 -95
- package/esm2015/lib/sharedComponents/category-multiselect/category-multi-select.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/checkbox-list/checkbox-list.component.js +0 -78
- package/esm2015/lib/sharedComponents/checkbox-list/checkbox-list.component.ngfactory.js +0 -78
- package/esm2015/lib/sharedComponents/checkbox-list/checkbox-list.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/checkpoint/checkpoints/checkpoints.component.js +0 -247
- package/esm2015/lib/sharedComponents/checkpoint/checkpoints/checkpoints.component.ngfactory.js +0 -57
- package/esm2015/lib/sharedComponents/checkpoint/checkpoints/checkpoints.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/checkpoint/checkpoints-list/checkpoints-list.component.js +0 -25
- package/esm2015/lib/sharedComponents/checkpoint/checkpoints-list/checkpoints-list.component.ngfactory.js +0 -22
- package/esm2015/lib/sharedComponents/checkpoint/checkpoints-list/checkpoints-list.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/checkpoint/checkpoints-questions/checkpoints-questions.component.js +0 -114
- package/esm2015/lib/sharedComponents/checkpoint/checkpoints-questions/checkpoints-questions.component.ngfactory.js +0 -298
- package/esm2015/lib/sharedComponents/checkpoint/checkpoints-questions/checkpoints-questions.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/checkpoint-floating-bar/checkpoint-floating-bar.component.js +0 -40
- package/esm2015/lib/sharedComponents/checkpoint-floating-bar/checkpoint-floating-bar.component.ngfactory.js +0 -76
- package/esm2015/lib/sharedComponents/checkpoint-floating-bar/checkpoint-floating-bar.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/checkpoint-policy/checkpoints-policy-container/checkpoints-policy-container.component.js +0 -73
- package/esm2015/lib/sharedComponents/checkpoint-policy/checkpoints-policy-container/checkpoints-policy-container.component.ngfactory.js +0 -40
- package/esm2015/lib/sharedComponents/checkpoint-policy/checkpoints-policy-container/checkpoints-policy-container.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/checkpoint-policy/checkpoints-policy-list/checkpoints-policy-list.component.js +0 -15
- package/esm2015/lib/sharedComponents/checkpoint-policy/checkpoints-policy-list/checkpoints-policy-list.component.ngfactory.js +0 -17
- package/esm2015/lib/sharedComponents/checkpoint-policy/checkpoints-policy-list/checkpoints-policy-list.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/checkpoint-policy/checkpoints-policy-questions/checkpoints-policy-questions.component.js +0 -186
- package/esm2015/lib/sharedComponents/checkpoint-policy/checkpoints-policy-questions/checkpoints-policy-questions.component.ngfactory.js +0 -144
- package/esm2015/lib/sharedComponents/checkpoint-policy/checkpoints-policy-questions/checkpoints-policy-questions.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/define-framework-listing/define-framework-listing.component.js +0 -29
- package/esm2015/lib/sharedComponents/define-framework-listing/define-framework-listing.component.ngfactory.js +0 -211
- package/esm2015/lib/sharedComponents/define-framework-listing/define-framework-listing.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/directive/autofocus.directive.js +0 -21
- package/esm2015/lib/sharedComponents/directive/autofocus.directive.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/directive/conditional-focus.directive.js +0 -36
- package/esm2015/lib/sharedComponents/directive/conditional-focus.directive.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/directive/drag-drop.directive.js +0 -41
- package/esm2015/lib/sharedComponents/directive/drag-drop.directive.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/directive/scroll-in-view.directive.js +0 -36
- package/esm2015/lib/sharedComponents/directive/scroll-in-view.directive.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/document-section/document-section.component.js +0 -158
- package/esm2015/lib/sharedComponents/document-section/document-section.component.ngfactory.js +0 -44
- package/esm2015/lib/sharedComponents/document-section/document-section.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/floating-bar/floating-bar.component.js +0 -75
- package/esm2015/lib/sharedComponents/floating-bar/floating-bar.component.ngfactory.js +0 -107
- package/esm2015/lib/sharedComponents/floating-bar/floating-bar.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/format-and-evidence/format-and-evidence.component.js +0 -299
- package/esm2015/lib/sharedComponents/format-and-evidence/format-and-evidence.component.ngfactory.js +0 -149
- package/esm2015/lib/sharedComponents/format-and-evidence/format-and-evidence.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/framework-list/framework-list.component.js +0 -79
- package/esm2015/lib/sharedComponents/framework-list/framework-list.component.ngfactory.js +0 -90
- package/esm2015/lib/sharedComponents/framework-list/framework-list.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/framework-list/parent-table/parent-table.component.js +0 -87
- package/esm2015/lib/sharedComponents/framework-list/parent-table/parent-table.component.ngfactory.js +0 -147
- package/esm2015/lib/sharedComponents/framework-list/parent-table/parent-table.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/frequency/frequency-annual/frequency-annual.component.js +0 -209
- package/esm2015/lib/sharedComponents/frequency/frequency-annual/frequency-annual.component.ngfactory.js +0 -46
- package/esm2015/lib/sharedComponents/frequency/frequency-annual/frequency-annual.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/frequency/frequency-biannual/frequency-biannual.component.js +0 -184
- package/esm2015/lib/sharedComponents/frequency/frequency-biannual/frequency-biannual.component.ngfactory.js +0 -43
- package/esm2015/lib/sharedComponents/frequency/frequency-biannual/frequency-biannual.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/frequency/frequency-checkbox-list/frequency-checkbox-list.component.js +0 -30
- package/esm2015/lib/sharedComponents/frequency/frequency-checkbox-list/frequency-checkbox-list.component.ngfactory.js +0 -24
- package/esm2015/lib/sharedComponents/frequency/frequency-checkbox-list/frequency-checkbox-list.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/frequency/frequency-container/frequency-container.component.js +0 -277
- package/esm2015/lib/sharedComponents/frequency/frequency-container/frequency-container.component.ngfactory.js +0 -92
- package/esm2015/lib/sharedComponents/frequency/frequency-container/frequency-container.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/frequency/frequency-daily/frequency-daily.component.js +0 -150
- package/esm2015/lib/sharedComponents/frequency/frequency-daily/frequency-daily.component.ngfactory.js +0 -38
- package/esm2015/lib/sharedComponents/frequency/frequency-daily/frequency-daily.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/frequency/frequency-due-date/frequency-due-date.component.js +0 -69
- package/esm2015/lib/sharedComponents/frequency/frequency-due-date/frequency-due-date.component.ngfactory.js +0 -197
- package/esm2015/lib/sharedComponents/frequency/frequency-due-date/frequency-due-date.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/frequency/frequency-lifecycle/frequency-lifecycle.component.js +0 -167
- package/esm2015/lib/sharedComponents/frequency/frequency-lifecycle/frequency-lifecycle.component.ngfactory.js +0 -102
- package/esm2015/lib/sharedComponents/frequency/frequency-lifecycle/frequency-lifecycle.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/frequency/frequency-monthly/frequency-monthly.component.js +0 -192
- package/esm2015/lib/sharedComponents/frequency/frequency-monthly/frequency-monthly.component.ngfactory.js +0 -43
- package/esm2015/lib/sharedComponents/frequency/frequency-monthly/frequency-monthly.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/frequency/frequency-on-completion-of/frequency-on-completion-of.component.js +0 -119
- package/esm2015/lib/sharedComponents/frequency/frequency-on-completion-of/frequency-on-completion-of.component.ngfactory.js +0 -90
- package/esm2015/lib/sharedComponents/frequency/frequency-on-completion-of/frequency-on-completion-of.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/frequency/frequency-one-time/frequency-one-time.component.js +0 -133
- package/esm2015/lib/sharedComponents/frequency/frequency-one-time/frequency-one-time.component.ngfactory.js +0 -78
- package/esm2015/lib/sharedComponents/frequency/frequency-one-time/frequency-one-time.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/frequency/frequency-ongoing/frequency-ongoing.component.js +0 -66
- package/esm2015/lib/sharedComponents/frequency/frequency-ongoing/frequency-ongoing.component.ngfactory.js +0 -32
- package/esm2015/lib/sharedComponents/frequency/frequency-ongoing/frequency-ongoing.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/frequency/frequency-quarterly/frequency-quarterly.component.js +0 -178
- package/esm2015/lib/sharedComponents/frequency/frequency-quarterly/frequency-quarterly.component.ngfactory.js +0 -43
- package/esm2015/lib/sharedComponents/frequency/frequency-quarterly/frequency-quarterly.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/frequency/frequency-radio-list/frequency-radio-list.component.js +0 -31
- package/esm2015/lib/sharedComponents/frequency/frequency-radio-list/frequency-radio-list.component.ngfactory.js +0 -24
- package/esm2015/lib/sharedComponents/frequency/frequency-radio-list/frequency-radio-list.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/frequency/frequency-random/frequency-random.component.js +0 -244
- package/esm2015/lib/sharedComponents/frequency/frequency-random/frequency-random.component.ngfactory.js +0 -69
- package/esm2015/lib/sharedComponents/frequency/frequency-random/frequency-random.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/frequency/frequency-top/frequency-top.component.js +0 -102
- package/esm2015/lib/sharedComponents/frequency/frequency-top/frequency-top.component.ngfactory.js +0 -100
- package/esm2015/lib/sharedComponents/frequency/frequency-top/frequency-top.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/frequency/frequency-weekly/frequency-weekly.component.js +0 -180
- package/esm2015/lib/sharedComponents/frequency/frequency-weekly/frequency-weekly.component.ngfactory.js +0 -43
- package/esm2015/lib/sharedComponents/frequency/frequency-weekly/frequency-weekly.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/frequency/frequency.service.js +0 -456
- package/esm2015/lib/sharedComponents/frequency/frequency.service.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/group-users-list/group-users-list.component.js +0 -126
- package/esm2015/lib/sharedComponents/group-users-list/group-users-list.component.ngfactory.js +0 -92
- package/esm2015/lib/sharedComponents/group-users-list/group-users-list.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/list-loader/list-loader.component.js +0 -15
- package/esm2015/lib/sharedComponents/list-loader/list-loader.component.ngfactory.js +0 -19
- package/esm2015/lib/sharedComponents/list-loader/list-loader.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/no-data/no-data.component.js +0 -29
- package/esm2015/lib/sharedComponents/no-data/no-data.component.ngfactory.js +0 -23
- package/esm2015/lib/sharedComponents/no-data/no-data.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/no-data/no-data.module.js +0 -13
- package/esm2015/lib/sharedComponents/no-data/no-data.module.ngfactory.js +0 -12
- package/esm2015/lib/sharedComponents/no-data/no-data.module.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/owner-list/owner-list.component.js +0 -129
- package/esm2015/lib/sharedComponents/owner-list/owner-list.component.ngfactory.js +0 -81
- package/esm2015/lib/sharedComponents/owner-list/owner-list.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/pipes/array-filter.pipe.js +0 -14
- package/esm2015/lib/sharedComponents/pipes/array-filter.pipe.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/pipes/filterPipe.js +0 -26
- package/esm2015/lib/sharedComponents/pipes/filterPipe.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/pipes/short-merge.pipe.js +0 -20
- package/esm2015/lib/sharedComponents/pipes/short-merge.pipe.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/pipes/within-data.pipe.js +0 -17
- package/esm2015/lib/sharedComponents/pipes/within-data.pipe.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/radio-list/radio-list.component.js +0 -66
- package/esm2015/lib/sharedComponents/radio-list/radio-list.component.ngfactory.js +0 -97
- package/esm2015/lib/sharedComponents/radio-list/radio-list.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/radio-list-with-pagination/link-treatment-loader/link-treatment-loader.component.js +0 -14
- package/esm2015/lib/sharedComponents/radio-list-with-pagination/link-treatment-loader/link-treatment-loader.component.ngfactory.js +0 -19
- package/esm2015/lib/sharedComponents/radio-list-with-pagination/link-treatment-loader/link-treatment-loader.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/radio-list-with-pagination/radio-list.component.js +0 -111
- package/esm2015/lib/sharedComponents/radio-list-with-pagination/radio-list.component.ngfactory.js +0 -103
- package/esm2015/lib/sharedComponents/radio-list-with-pagination/radio-list.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/responsibility-centers-list/responsibility-centers-list.component.js +0 -109
- package/esm2015/lib/sharedComponents/responsibility-centers-list/responsibility-centers-list.component.ngfactory.js +0 -104
- package/esm2015/lib/sharedComponents/responsibility-centers-list/responsibility-centers-list.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/responsibility-risk-selector/responsibility-risk-selector.component.js +0 -70
- package/esm2015/lib/sharedComponents/responsibility-risk-selector/responsibility-risk-selector.component.ngfactory.js +0 -51
- package/esm2015/lib/sharedComponents/responsibility-risk-selector/responsibility-risk-selector.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/review-frequency/review-frequency.component.js +0 -41
- package/esm2015/lib/sharedComponents/review-frequency/review-frequency.component.ngfactory.js +0 -77
- package/esm2015/lib/sharedComponents/review-frequency/review-frequency.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/risk-classification/risk-classification.component.js +0 -92
- package/esm2015/lib/sharedComponents/risk-classification/risk-classification.component.ngfactory.js +0 -76
- package/esm2015/lib/sharedComponents/risk-classification/risk-classification.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/roles-list/roles-list.component.js +0 -25
- package/esm2015/lib/sharedComponents/roles-list/roles-list.component.ngfactory.js +0 -51
- package/esm2015/lib/sharedComponents/roles-list/roles-list.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/users-radio-list/users-radio-list.component.js +0 -55
- package/esm2015/lib/sharedComponents/users-radio-list/users-radio-list.component.ngfactory.js +0 -75
- package/esm2015/lib/sharedComponents/users-radio-list/users-radio-list.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/v-loader/loader/loader.component.js +0 -14
- package/esm2015/lib/sharedComponents/v-loader/loader/loader.component.ngfactory.js +0 -17
- package/esm2015/lib/sharedComponents/v-loader/loader/loader.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/v-loader/loader-inline/loader-inline.component.js +0 -14
- package/esm2015/lib/sharedComponents/v-loader/loader-inline/loader-inline.component.ngfactory.js +0 -17
- package/esm2015/lib/sharedComponents/v-loader/loader-inline/loader-inline.component.ngsummary.json +0 -1
- package/esm2015/lib/sharedComponents/v-loader/v-loader.module.js +0 -14
- package/esm2015/lib/sharedComponents/v-loader/v-loader.module.ngfactory.js +0 -12
- package/esm2015/lib/sharedComponents/v-loader/v-loader.module.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/action-dialog/action-dialog.module.js +0 -16
- package/esm2015/lib/ui-kit/action-dialog/action-dialog.module.ngfactory.js +0 -12
- package/esm2015/lib/ui-kit/action-dialog/action-dialog.module.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/action-dialog/active/active.component.js +0 -36
- package/esm2015/lib/ui-kit/action-dialog/active/active.component.ngfactory.js +0 -25
- package/esm2015/lib/ui-kit/action-dialog/active/active.component.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/action-dialog/deactivate/deactivate.component.js +0 -38
- package/esm2015/lib/ui-kit/action-dialog/deactivate/deactivate.component.ngfactory.js +0 -25
- package/esm2015/lib/ui-kit/action-dialog/deactivate/deactivate.component.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/action-dialog/delete/delete.component.js +0 -30
- package/esm2015/lib/ui-kit/action-dialog/delete/delete.component.ngfactory.js +0 -25
- package/esm2015/lib/ui-kit/action-dialog/delete/delete.component.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/action-dialog/duplicate/duplicate.component.js +0 -32
- package/esm2015/lib/ui-kit/action-dialog/duplicate/duplicate.component.ngfactory.js +0 -25
- package/esm2015/lib/ui-kit/action-dialog/duplicate/duplicate.component.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/click-outside/click-outside.directive.js +0 -26
- package/esm2015/lib/ui-kit/click-outside/click-outside.directive.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/click-outside/click-outside.module.js +0 -17
- package/esm2015/lib/ui-kit/click-outside/click-outside.module.ngfactory.js +0 -12
- package/esm2015/lib/ui-kit/click-outside/click-outside.module.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/dialog/dialog-config.js +0 -3
- package/esm2015/lib/ui-kit/dialog/dialog-config.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/dialog/dialog-injector.js +0 -15
- package/esm2015/lib/ui-kit/dialog/dialog-injector.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/dialog/dialog-ref.js +0 -11
- package/esm2015/lib/ui-kit/dialog/dialog-ref.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/dialog/dialog.component.js +0 -90
- package/esm2015/lib/ui-kit/dialog/dialog.component.ngfactory.js +0 -29
- package/esm2015/lib/ui-kit/dialog/dialog.component.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/dialog/dialog.module.js +0 -16
- package/esm2015/lib/ui-kit/dialog/dialog.module.ngfactory.js +0 -14
- package/esm2015/lib/ui-kit/dialog/dialog.module.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/dialog/dialog.service.js +0 -60
- package/esm2015/lib/ui-kit/dialog/dialog.service.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/dialog/insertion.directive.js +0 -15
- package/esm2015/lib/ui-kit/dialog/insertion.directive.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/editor-loader/editor-loader/editor-loader.component.js +0 -15
- package/esm2015/lib/ui-kit/editor-loader/editor-loader/editor-loader.component.ngfactory.js +0 -23
- package/esm2015/lib/ui-kit/editor-loader/editor-loader/editor-loader.component.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/editor-loader/editor-loader.module.js +0 -17
- package/esm2015/lib/ui-kit/editor-loader/editor-loader.module.ngfactory.js +0 -12
- package/esm2015/lib/ui-kit/editor-loader/editor-loader.module.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/format-html.pipe.js +0 -19
- package/esm2015/lib/ui-kit/format-html.pipe.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/formgroup/click-outside.directive.js +0 -26
- package/esm2015/lib/ui-kit/formgroup/click-outside.directive.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.js +0 -29
- package/esm2015/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.ngfactory.js +0 -33
- package/esm2015/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.js +0 -33
- package/esm2015/lib/ui-kit/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.ngfactory.js +0 -33
- package/esm2015/lib/ui-kit/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/formgroup/cs-radio/cs-radio.component.js +0 -27
- package/esm2015/lib/ui-kit/formgroup/cs-radio/cs-radio.component.ngfactory.js +0 -20
- package/esm2015/lib/ui-kit/formgroup/cs-radio/cs-radio.component.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.js +0 -14
- package/esm2015/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.ngfactory.js +0 -19
- package/esm2015/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/formgroup/cs-select/cs-select.component.js +0 -80
- package/esm2015/lib/ui-kit/formgroup/cs-select/cs-select.component.ngfactory.js +0 -89
- package/esm2015/lib/ui-kit/formgroup/cs-select/cs-select.component.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/formgroup/cs-switch/cs-switch.component.js +0 -29
- package/esm2015/lib/ui-kit/formgroup/cs-switch/cs-switch.component.ngfactory.js +0 -62
- package/esm2015/lib/ui-kit/formgroup/cs-switch/cs-switch.component.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/formgroup/formgroup.module.js +0 -41
- package/esm2015/lib/ui-kit/formgroup/formgroup.module.ngfactory.js +0 -14
- package/esm2015/lib/ui-kit/formgroup/formgroup.module.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/formgroup/pipes/pascal.pipe.js +0 -15
- package/esm2015/lib/ui-kit/formgroup/pipes/pascal.pipe.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/formgroup/pipes/searchMultiSelect.pipe.js +0 -20
- package/esm2015/lib/ui-kit/formgroup/pipes/searchMultiSelect.pipe.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/line-loader/line-loader.component.js +0 -17
- package/esm2015/lib/ui-kit/line-loader/line-loader.component.ngfactory.js +0 -17
- package/esm2015/lib/ui-kit/line-loader/line-loader.component.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/line-loader/line-loader.module.js +0 -13
- package/esm2015/lib/ui-kit/line-loader/line-loader.module.ngfactory.js +0 -12
- package/esm2015/lib/ui-kit/line-loader/line-loader.module.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/no-data/no-data.component.js +0 -36
- package/esm2015/lib/ui-kit/no-data/no-data.component.ngfactory.js +0 -27
- package/esm2015/lib/ui-kit/no-data/no-data.component.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/no-data/no-data.module.js +0 -13
- package/esm2015/lib/ui-kit/no-data/no-data.module.ngfactory.js +0 -12
- package/esm2015/lib/ui-kit/no-data/no-data.module.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/pagination/pagination/pagination.component.js +0 -109
- package/esm2015/lib/ui-kit/pagination/pagination/pagination.component.ngfactory.js +0 -57
- package/esm2015/lib/ui-kit/pagination/pagination/pagination.component.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/pagination/pagination.module.js +0 -21
- package/esm2015/lib/ui-kit/pagination/pagination.module.ngfactory.js +0 -13
- package/esm2015/lib/ui-kit/pagination/pagination.module.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/popover/popover-event.directive.js +0 -28
- package/esm2015/lib/ui-kit/popover/popover-event.directive.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/popover/popover-longpress.directive.js +0 -44
- package/esm2015/lib/ui-kit/popover/popover-longpress.directive.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/popover/popover.component.js +0 -121
- package/esm2015/lib/ui-kit/popover/popover.component.ngfactory.js +0 -31
- package/esm2015/lib/ui-kit/popover/popover.component.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/popover/popover.directive.js +0 -91
- package/esm2015/lib/ui-kit/popover/popover.directive.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/popover/popover.module.js +0 -18
- package/esm2015/lib/ui-kit/popover/popover.module.ngfactory.js +0 -13
- package/esm2015/lib/ui-kit/popover/popover.module.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/popover/popover.service.js +0 -14
- package/esm2015/lib/ui-kit/popover/popover.service.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/popover-hover/popover-hover.component.js +0 -109
- package/esm2015/lib/ui-kit/popover-hover/popover-hover.component.ngfactory.js +0 -23
- package/esm2015/lib/ui-kit/popover-hover/popover-hover.component.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/popover-hover/popover-hover.directive.js +0 -31
- package/esm2015/lib/ui-kit/popover-hover/popover-hover.directive.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/popover-hover/popover-hover.module.js +0 -24
- package/esm2015/lib/ui-kit/popover-hover/popover-hover.module.ngfactory.js +0 -13
- package/esm2015/lib/ui-kit/popover-hover/popover-hover.module.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/popover-hover/popover-hover.service.js +0 -13
- package/esm2015/lib/ui-kit/popover-hover/popover-hover.service.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/smiley-dialog/smiley-dialog.component.js +0 -39
- package/esm2015/lib/ui-kit/smiley-dialog/smiley-dialog.component.ngfactory.js +0 -28
- package/esm2015/lib/ui-kit/smiley-dialog/smiley-dialog.component.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/smiley-dialog/smiley-dialog.module.js +0 -13
- package/esm2015/lib/ui-kit/smiley-dialog/smiley-dialog.module.ngfactory.js +0 -12
- package/esm2015/lib/ui-kit/smiley-dialog/smiley-dialog.module.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/smiley-dialog-inline/smiley-dialog-inline.component.js +0 -39
- package/esm2015/lib/ui-kit/smiley-dialog-inline/smiley-dialog-inline.component.ngfactory.js +0 -28
- package/esm2015/lib/ui-kit/smiley-dialog-inline/smiley-dialog-inline.component.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/smiley-dialog-inline/smiley-dialog-inline.module.js +0 -13
- package/esm2015/lib/ui-kit/smiley-dialog-inline/smiley-dialog-inline.module.ngfactory.js +0 -12
- package/esm2015/lib/ui-kit/smiley-dialog-inline/smiley-dialog-inline.module.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/snack-bar/snack-bar.component.js +0 -47
- package/esm2015/lib/ui-kit/snack-bar/snack-bar.component.ngfactory.js +0 -23
- package/esm2015/lib/ui-kit/snack-bar/snack-bar.component.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/snack-bar/snack-bar.module.js +0 -13
- package/esm2015/lib/ui-kit/snack-bar/snack-bar.module.ngfactory.js +0 -12
- package/esm2015/lib/ui-kit/snack-bar/snack-bar.module.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/snack-bar/snack-bar.service.js +0 -31
- package/esm2015/lib/ui-kit/snack-bar/snack-bar.service.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/tooltip/tooltip.directive.js +0 -138
- package/esm2015/lib/ui-kit/tooltip/tooltip.directive.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/tooltip/tooltip.module.js +0 -13
- package/esm2015/lib/ui-kit/tooltip/tooltip.module.ngfactory.js +0 -12
- package/esm2015/lib/ui-kit/tooltip/tooltip.module.ngsummary.json +0 -1
- package/esm2015/lib/workflow-assessment/import-an-assessment/import-an-assessment.component.js +0 -557
- package/esm2015/lib/workflow-assessment/import-an-assessment/import-an-assessment.component.ngfactory.js +0 -82
- package/esm2015/lib/workflow-assessment/import-an-assessment/import-an-assessment.component.ngsummary.json +0 -1
- package/esm2015/lib/workflow-assessment/workflow-assessment.component.js +0 -230
- package/esm2015/lib/workflow-assessment/workflow-assessment.component.ngfactory.js +0 -246
- package/esm2015/lib/workflow-assessment/workflow-assessment.component.ngsummary.json +0 -1
- package/esm2015/lib/workflow-compliance/workflow-compliance.component.js +0 -1772
- package/esm2015/lib/workflow-compliance/workflow-compliance.component.ngfactory.js +0 -948
- package/esm2015/lib/workflow-compliance/workflow-compliance.component.ngsummary.json +0 -1
- package/esm2015/lib/workflow-engine-container/workflow-engine-container.component.js +0 -426
- package/esm2015/lib/workflow-engine-container/workflow-engine-container.component.ngfactory.js +0 -329
- package/esm2015/lib/workflow-engine-container/workflow-engine-container.component.ngsummary.json +0 -1
- package/esm2015/lib/workflow-engine.module.js +0 -232
- package/esm2015/lib/workflow-engine.module.ngfactory.js +0 -52
- package/esm2015/lib/workflow-engine.module.ngsummary.json +0 -1
- package/esm2015/lib/workflow-engine.service.js +0 -13
- package/esm2015/lib/workflow-engine.service.ngsummary.json +0 -1
- package/esm2015/lib/workflow-interfaces/create-policy-form.js +0 -2
- package/esm2015/lib/workflow-interfaces/create-policy-form.ngsummary.json +0 -1
- package/esm2015/lib/workflow-pagination/workflow-pagination.component.js +0 -109
- package/esm2015/lib/workflow-pagination/workflow-pagination.component.ngfactory.js +0 -37
- package/esm2015/lib/workflow-pagination/workflow-pagination.component.ngsummary.json +0 -1
- package/esm2015/lib/workflow-policy/workflow-policy.component.js +0 -1148
- package/esm2015/lib/workflow-policy/workflow-policy.component.ngfactory.js +0 -602
- package/esm2015/lib/workflow-policy/workflow-policy.component.ngsummary.json +0 -1
- package/esm2015/lib/workflow-program/constants.js +0 -43
- package/esm2015/lib/workflow-program/constants.ngsummary.json +0 -1
- package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/assessment-loader/assessment-loader.component.js +0 -15
- package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/assessment-loader/assessment-loader.component.ngfactory.js +0 -19
- package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/assessment-loader/assessment-loader.component.ngsummary.json +0 -1
- package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/assessment-picker.component.js +0 -214
- package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/assessment-picker.component.ngfactory.js +0 -229
- package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/assessment-picker.component.ngsummary.json +0 -1
- package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/assessment-sub-loader/assessment-sub-loader.component.js +0 -15
- package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/assessment-sub-loader/assessment-sub-loader.component.ngfactory.js +0 -19
- package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/assessment-sub-loader/assessment-sub-loader.component.ngsummary.json +0 -1
- package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/assessment.service.js +0 -46
- package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/assessment.service.ngsummary.json +0 -1
- package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/workflow-pagination/workflow-pagination.component.js +0 -109
- package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/workflow-pagination/workflow-pagination.component.ngfactory.js +0 -37
- package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/workflow-pagination/workflow-pagination.component.ngsummary.json +0 -1
- package/esm2015/lib/workflow-program/create-program-ui/checkbox/checkbox.component.js +0 -40
- package/esm2015/lib/workflow-program/create-program-ui/checkbox/checkbox.component.ngfactory.js +0 -24
- package/esm2015/lib/workflow-program/create-program-ui/checkbox/checkbox.component.ngsummary.json +0 -1
- package/esm2015/lib/workflow-program/create-program-ui/create-program-ui.module.js +0 -89
- package/esm2015/lib/workflow-program/create-program-ui/create-program-ui.module.ngfactory.js +0 -25
- package/esm2015/lib/workflow-program/create-program-ui/create-program-ui.module.ngsummary.json +0 -1
- package/esm2015/lib/workflow-program/create-program-ui/cs-switch/cs-switch.component.js +0 -45
- package/esm2015/lib/workflow-program/create-program-ui/cs-switch/cs-switch.component.ngfactory.js +0 -44
- package/esm2015/lib/workflow-program/create-program-ui/cs-switch/cs-switch.component.ngsummary.json +0 -1
- package/esm2015/lib/workflow-program/create-program-ui/define-framework-listing/define-framework-listing.component.js +0 -29
- package/esm2015/lib/workflow-program/create-program-ui/define-framework-listing/define-framework-listing.component.ngfactory.js +0 -209
- package/esm2015/lib/workflow-program/create-program-ui/define-framework-listing/define-framework-listing.component.ngsummary.json +0 -1
- package/esm2015/lib/workflow-program/create-program-ui/directives/input-trim.directive.js +0 -17
- package/esm2015/lib/workflow-program/create-program-ui/directives/input-trim.directive.ngsummary.json +0 -1
- package/esm2015/lib/workflow-program/create-program-ui/file-pill/file-pill.component.js +0 -24
- package/esm2015/lib/workflow-program/create-program-ui/file-pill/file-pill.component.ngfactory.js +0 -38
- package/esm2015/lib/workflow-program/create-program-ui/file-pill/file-pill.component.ngsummary.json +0 -1
- package/esm2015/lib/workflow-program/create-program-ui/floating-bar/floating-bar.component.js +0 -75
- package/esm2015/lib/workflow-program/create-program-ui/floating-bar/floating-bar.component.ngfactory.js +0 -25
- package/esm2015/lib/workflow-program/create-program-ui/floating-bar/floating-bar.component.ngsummary.json +0 -1
- package/esm2015/lib/workflow-program/create-program-ui/form-field/form-field.component.js +0 -16
- package/esm2015/lib/workflow-program/create-program-ui/form-field/form-field.component.ngfactory.js +0 -24
- package/esm2015/lib/workflow-program/create-program-ui/form-field/form-field.component.ngsummary.json +0 -1
- package/esm2015/lib/workflow-program/create-program-ui/input-with-pill/input-with-pill.component.js +0 -23
- package/esm2015/lib/workflow-program/create-program-ui/input-with-pill/input-with-pill.component.ngfactory.js +0 -23
- package/esm2015/lib/workflow-program/create-program-ui/input-with-pill/input-with-pill.component.ngsummary.json +0 -1
- package/esm2015/lib/workflow-program/create-program-ui/pagination/pagination/pagination.component.js +0 -138
- package/esm2015/lib/workflow-program/create-program-ui/pagination/pagination/pagination.component.ngfactory.js +0 -58
- package/esm2015/lib/workflow-program/create-program-ui/pagination/pagination/pagination.component.ngsummary.json +0 -1
- package/esm2015/lib/workflow-program/create-program-ui/pagination/pagination.module.js +0 -21
- package/esm2015/lib/workflow-program/create-program-ui/pagination/pagination.module.ngfactory.js +0 -13
- package/esm2015/lib/workflow-program/create-program-ui/pagination/pagination.module.ngsummary.json +0 -1
- package/esm2015/lib/workflow-program/create-program-ui/pipes/list-to-id.pipe.js +0 -12
- package/esm2015/lib/workflow-program/create-program-ui/pipes/list-to-id.pipe.ngsummary.json +0 -1
- package/esm2015/lib/workflow-program/create-program-ui/pipes/ref-disconnect.pipe.js +0 -13
- package/esm2015/lib/workflow-program/create-program-ui/pipes/ref-disconnect.pipe.ngsummary.json +0 -1
- package/esm2015/lib/workflow-program/create-program-ui/pipes/search.pipe.js +0 -20
- package/esm2015/lib/workflow-program/create-program-ui/pipes/search.pipe.ngsummary.json +0 -1
- package/esm2015/lib/workflow-program/create-program-ui/role-list/role-list.component.js +0 -160
- package/esm2015/lib/workflow-program/create-program-ui/role-list/role-list.component.ngfactory.js +0 -91
- package/esm2015/lib/workflow-program/create-program-ui/role-list/role-list.component.ngsummary.json +0 -1
- package/esm2015/lib/workflow-program/create-program-ui/tab-selector/tab-selector.component.js +0 -41
- package/esm2015/lib/workflow-program/create-program-ui/tab-selector/tab-selector.component.ngfactory.js +0 -23
- package/esm2015/lib/workflow-program/create-program-ui/tab-selector/tab-selector.component.ngsummary.json +0 -1
- package/esm2015/lib/workflow-program/create-program-ui/tick-mark/tick-mark.component.js +0 -15
- package/esm2015/lib/workflow-program/create-program-ui/tick-mark/tick-mark.component.ngfactory.js +0 -19
- package/esm2015/lib/workflow-program/create-program-ui/tick-mark/tick-mark.component.ngsummary.json +0 -1
- package/esm2015/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.js +0 -239
- package/esm2015/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.ngfactory.js +0 -183
- package/esm2015/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.ngsummary.json +0 -1
- package/esm2015/lib/workflow-program/workflow-program.component.js +0 -894
- package/esm2015/lib/workflow-program/workflow-program.component.ngfactory.js +0 -851
- package/esm2015/lib/workflow-program/workflow-program.component.ngsummary.json +0 -1
- package/esm2015/lib/workflow-risk/workflow-risk.component.js +0 -781
- package/esm2015/lib/workflow-risk/workflow-risk.component.ngfactory.js +0 -479
- package/esm2015/lib/workflow-risk/workflow-risk.component.ngsummary.json +0 -1
- package/esm2015/lib/workflow-services/add-risk.service.js +0 -123
- package/esm2015/lib/workflow-services/add-risk.service.ngsummary.json +0 -1
- package/esm2015/lib/workflow-services/assessment.service.js +0 -114
- package/esm2015/lib/workflow-services/assessment.service.ngsummary.json +0 -1
- package/esm2015/lib/workflow-services/auth.service.js +0 -232
- package/esm2015/lib/workflow-services/auth.service.ngsummary.json +0 -1
- package/esm2015/lib/workflow-services/frequency.service.js +0 -144
- package/esm2015/lib/workflow-services/frequency.service.ngsummary.json +0 -1
- package/esm2015/lib/workflow-services/log-issue.service.js +0 -240
- package/esm2015/lib/workflow-services/log-issue.service.ngsummary.json +0 -1
- package/esm2015/lib/workflow-services/policy.service.js +0 -131
- package/esm2015/lib/workflow-services/policy.service.ngsummary.json +0 -1
- package/esm2015/lib/workflow-services/programs.service.js +0 -240
- package/esm2015/lib/workflow-services/programs.service.ngsummary.json +0 -1
- package/esm2015/lib/workflow-services/responsibility.service.js +0 -127
- package/esm2015/lib/workflow-services/responsibility.service.ngsummary.json +0 -1
- package/esm2015/lib/workflow-services/token-decoder.service.js +0 -38
- package/esm2015/lib/workflow-services/token-decoder.service.ngsummary.json +0 -1
- package/esm2015/lib/workflow-services/ui-kit.service.js +0 -16
- package/esm2015/lib/workflow-services/ui-kit.service.ngsummary.json +0 -1
- package/esm2015/lib/workflow-survey-form/workflow-survey-form.component.js +0 -22
- package/esm2015/lib/workflow-survey-form/workflow-survey-form.component.ngfactory.js +0 -30
- package/esm2015/lib/workflow-survey-form/workflow-survey-form.component.ngsummary.json +0 -1
- package/esm2015/public-api.js +0 -8
- package/esm2015/public-api.ngsummary.json +0 -1
- package/esm2015/vcomply-workflow-engine.js +0 -274
- package/esm2015/vcomply-workflow-engine.ngsummary.json +0 -1
- package/fesm2015/vcomply-workflow-engine.js +0 -24776
- package/fesm2015/vcomply-workflow-engine.js.map +0 -1
- package/lib/add-multiple-responsibility/add-multiple-responsibility.component.d.ts +0 -81
- package/lib/add-multiple-responsibility/add-multiple-responsibility.component.ngfactory.d.ts +0 -1
- package/lib/add-multiple-risk/add-multiple-risk.component.d.ts +0 -65
- package/lib/add-multiple-risk/add-multiple-risk.component.ngfactory.d.ts +0 -1
- package/lib/configurations.d.ts +0 -4
- package/lib/confirmation-alert/confirmation-alert.component.d.ts +0 -10
- package/lib/confirmation-alert/confirmation-alert.component.ngfactory.d.ts +0 -1
- package/lib/create-documents/create-documents.component.d.ts +0 -36
- package/lib/create-documents/create-documents.component.ngfactory.d.ts +0 -1
- package/lib/formgroup/cs-checkbox/cs-checkbox.component.d.ts +0 -14
- package/lib/formgroup/cs-checkbox/cs-checkbox.component.ngfactory.d.ts +0 -1
- package/lib/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.d.ts +0 -11
- package/lib/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.ngfactory.d.ts +0 -1
- package/lib/formgroup/cs-radio/cs-radio.component.d.ts +0 -13
- package/lib/formgroup/cs-radio/cs-radio.component.ngfactory.d.ts +0 -1
- package/lib/formgroup/cs-radio-group/cs-radio-group.component.d.ts +0 -5
- package/lib/formgroup/cs-radio-group/cs-radio-group.component.ngfactory.d.ts +0 -1
- package/lib/formgroup/cs-select/cs-select.component.d.ts +0 -31
- package/lib/formgroup/cs-select/cs-select.component.ngfactory.d.ts +0 -1
- package/lib/formgroup/cs-switch/cs-switch.component.d.ts +0 -12
- package/lib/formgroup/cs-switch/cs-switch.component.ngfactory.d.ts +0 -1
- package/lib/formgroup/formgroup.module.d.ts +0 -2
- package/lib/formgroup/formgroup.module.ngfactory.d.ts +0 -3
- package/lib/formgroup/pipes/pascal.pipe.d.ts +0 -4
- package/lib/formgroup/select/cs-option/cs-option.component.d.ts +0 -15
- package/lib/formgroup/select/cs-option/cs-option.component.ngfactory.d.ts +0 -1
- package/lib/formgroup/select/cs-select/cs-select.component.d.ts +0 -34
- package/lib/formgroup/select/cs-select/cs-select.component.ngfactory.d.ts +0 -1
- package/lib/formgroup/select/select.module.d.ts +0 -2
- package/lib/formgroup/select/select.module.ngfactory.d.ts +0 -3
- package/lib/formgroup/select/select.service.d.ts +0 -15
- package/lib/interfaces/categoryList.d.ts +0 -23
- package/lib/interfaces/confirmation-alert.d.ts +0 -8
- package/lib/interfaces/issue-data.d.ts +0 -21
- package/lib/log-an-issue/log-an-issue.component.d.ts +0 -217
- package/lib/log-an-issue/log-an-issue.component.ngfactory.d.ts +0 -1
- package/lib/more-option/more-option.component.d.ts +0 -17
- package/lib/more-option/more-option.component.ngfactory.d.ts +0 -1
- package/lib/pipes/data-type.pipe.d.ts +0 -4
- package/lib/pipes/list-mapper.pipe.d.ts +0 -4
- package/lib/pipes/search.pipe.d.ts +0 -4
- package/lib/pipes/space-breaker.pipe.d.ts +0 -4
- package/lib/pipes/uncategorized-filter.pipe.d.ts +0 -4
- package/lib/pipes/user-filter.pipe.d.ts +0 -4
- package/lib/sharedComponents/assessment-editor/components/add-logic/add-logic.component.d.ts +0 -117
- package/lib/sharedComponents/assessment-editor/components/add-logic/add-logic.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-editor/components/add-page-details/add-page-details.component.d.ts +0 -18
- package/lib/sharedComponents/assessment-editor/components/add-page-details/add-page-details.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-editor/components/add-response-set-popup/add-response-set-popup.component.d.ts +0 -10
- package/lib/sharedComponents/assessment-editor/components/add-response-set-popup/add-response-set-popup.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-editor/components/add-segment-popup/add-segment-popup.component.d.ts +0 -22
- package/lib/sharedComponents/assessment-editor/components/add-segment-popup/add-segment-popup.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-editor/components/assessment-settings/assessment-settings.component.d.ts +0 -47
- package/lib/sharedComponents/assessment-editor/components/assessment-settings/assessment-settings.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-editor/components/build/build.module.d.ts +0 -2
- package/lib/sharedComponents/assessment-editor/components/build/build.module.ngfactory.d.ts +0 -3
- package/lib/sharedComponents/assessment-editor/components/build/checkbox/checkbox.component.d.ts +0 -11
- package/lib/sharedComponents/assessment-editor/components/build/checkbox/checkbox.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-editor/components/build/choice-settings-panel/choice-settings-panel.component.d.ts +0 -16
- package/lib/sharedComponents/assessment-editor/components/build/choice-settings-panel/choice-settings-panel.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-editor/components/build/date-time/date-time.component.d.ts +0 -6
- package/lib/sharedComponents/assessment-editor/components/build/date-time/date-time.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-editor/components/build/dropdown/dropdown.component.d.ts +0 -11
- package/lib/sharedComponents/assessment-editor/components/build/dropdown/dropdown.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-editor/components/build/image-choice/image-choice.component.d.ts +0 -5
- package/lib/sharedComponents/assessment-editor/components/build/image-choice/image-choice.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-editor/components/build/matrix-dropdown/matrix-dropdown.component.d.ts +0 -5
- package/lib/sharedComponents/assessment-editor/components/build/matrix-dropdown/matrix-dropdown.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-editor/components/build/matrix-rating-scale/matrix-rating-scale.component.d.ts +0 -5
- package/lib/sharedComponents/assessment-editor/components/build/matrix-rating-scale/matrix-rating-scale.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-editor/components/build/multiple-choice/multiple-choice.component.d.ts +0 -11
- package/lib/sharedComponents/assessment-editor/components/build/multiple-choice/multiple-choice.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-editor/components/build/multiple-textbox/multiple-textbox.component.d.ts +0 -5
- package/lib/sharedComponents/assessment-editor/components/build/multiple-textbox/multiple-textbox.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-editor/components/build/ranking/ranking.component.d.ts +0 -5
- package/lib/sharedComponents/assessment-editor/components/build/ranking/ranking.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-editor/components/build/slider/slider.component.d.ts +0 -5
- package/lib/sharedComponents/assessment-editor/components/build/slider/slider.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-editor/components/build/star-rating/star-rating.component.d.ts +0 -9
- package/lib/sharedComponents/assessment-editor/components/build/star-rating/star-rating.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-editor/components/build/thank-you/thank-you.component.d.ts +0 -5
- package/lib/sharedComponents/assessment-editor/components/build/thank-you/thank-you.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-editor/components/build/weightage-selector/weightage-selector.component.d.ts +0 -12
- package/lib/sharedComponents/assessment-editor/components/build/weightage-selector/weightage-selector.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-editor/components/build/welcome/welcome.component.d.ts +0 -5
- package/lib/sharedComponents/assessment-editor/components/build/welcome/welcome.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-editor/components/editor-wrapper/editor-wrapper.component.d.ts +0 -57
- package/lib/sharedComponents/assessment-editor/components/editor-wrapper/editor-wrapper.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-editor/components/errorInterface/error.d.ts +0 -14
- package/lib/sharedComponents/assessment-editor/components/errorInterface/question.d.ts +0 -5
- package/lib/sharedComponents/assessment-editor/components/errorInterface/validateStructure.d.ts +0 -6
- package/lib/sharedComponents/assessment-editor/components/logic/logic.component.d.ts +0 -24
- package/lib/sharedComponents/assessment-editor/components/logic/logic.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-checkbox/logic-checkbox.component.d.ts +0 -8
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-checkbox/logic-checkbox.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-comment-box/logic-comment-box.component.d.ts +0 -5
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-comment-box/logic-comment-box.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-date-time/logic-date-time.component.d.ts +0 -14
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-date-time/logic-date-time.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-dropdown/logic-dropdown.component.d.ts +0 -9
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-dropdown/logic-dropdown.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-image-choice/logic-image-choice.component.d.ts +0 -5
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-image-choice/logic-image-choice.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-choice/logic-multiple-choice.component.d.ts +0 -8
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-choice/logic-multiple-choice.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-textbox/logic-multiple-textbox.component.d.ts +0 -5
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-textbox/logic-multiple-textbox.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-questions.module.d.ts +0 -2
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-questions.module.ngfactory.d.ts +0 -3
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-ranking/logic-ranking.component.d.ts +0 -5
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-ranking/logic-ranking.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-single-textbox/logic-single-textbox.component.d.ts +0 -9
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-single-textbox/logic-single-textbox.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-slider/logic-slider.component.d.ts +0 -5
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-slider/logic-slider.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-star-rating/logic-star-rating.component.d.ts +0 -5
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-star-rating/logic-star-rating.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-editor/components/move/move.component.d.ts +0 -23
- package/lib/sharedComponents/assessment-editor/components/move/move.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-editor/components/page-header/page-header.component.d.ts +0 -8
- package/lib/sharedComponents/assessment-editor/components/page-header/page-header.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-editor/components/pipes/current-page-question.pipe.d.ts +0 -4
- package/lib/sharedComponents/assessment-editor/components/pipes/error-message.pipe.d.ts +0 -4
- package/lib/sharedComponents/assessment-editor/components/pipes/formatter.pipe.d.ts +0 -4
- package/lib/sharedComponents/assessment-editor/components/pipes/question-filter.pipe.d.ts +0 -4
- package/lib/sharedComponents/assessment-editor/components/pipes/question-page-filter.pipe.d.ts +0 -4
- package/lib/sharedComponents/assessment-editor/components/pipes/question-parser.pipe.d.ts +0 -4
- package/lib/sharedComponents/assessment-editor/components/pipes/type-of.pipe.d.ts +0 -4
- package/lib/sharedComponents/assessment-editor/components/preview/preview-checkbox/preview-checkbox.component.d.ts +0 -8
- package/lib/sharedComponents/assessment-editor/components/preview/preview-checkbox/preview-checkbox.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-comment-box/preview-comment-box.component.d.ts +0 -5
- package/lib/sharedComponents/assessment-editor/components/preview/preview-comment-box/preview-comment-box.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-date-time/preview-date-time.component.d.ts +0 -11
- package/lib/sharedComponents/assessment-editor/components/preview/preview-date-time/preview-date-time.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-dropdown/preview-dropdown.component.d.ts +0 -8
- package/lib/sharedComponents/assessment-editor/components/preview/preview-dropdown/preview-dropdown.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-file-upload/preview-file-upload.component.d.ts +0 -8
- package/lib/sharedComponents/assessment-editor/components/preview/preview-file-upload/preview-file-upload.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-image-choice/preview-image-choice.component.d.ts +0 -5
- package/lib/sharedComponents/assessment-editor/components/preview/preview-image-choice/preview-image-choice.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-dropdown/preview-matrix-dropdown.component.d.ts +0 -7
- package/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-dropdown/preview-matrix-dropdown.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-rating-scale/preview-matrix-rating-scale.component.d.ts +0 -7
- package/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-rating-scale/preview-matrix-rating-scale.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-choice/preview-multiple-choice.component.d.ts +0 -8
- package/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-choice/preview-multiple-choice.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-textbox/preview-multiple-textbox.component.d.ts +0 -5
- package/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-textbox/preview-multiple-textbox.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-ranking/preview-ranking.component.d.ts +0 -5
- package/lib/sharedComponents/assessment-editor/components/preview/preview-ranking/preview-ranking.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-single-textbox/preview-single-textbox.component.d.ts +0 -6
- package/lib/sharedComponents/assessment-editor/components/preview/preview-single-textbox/preview-single-textbox.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-slider/preview-slider.component.d.ts +0 -5
- package/lib/sharedComponents/assessment-editor/components/preview/preview-slider/preview-slider.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-star-rating/preview-star-rating.component.d.ts +0 -5
- package/lib/sharedComponents/assessment-editor/components/preview/preview-star-rating/preview-star-rating.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview-wrapper/preview-wrapper.component.d.ts +0 -27
- package/lib/sharedComponents/assessment-editor/components/preview/preview-wrapper/preview-wrapper.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-editor/components/preview/preview.module.d.ts +0 -2
- package/lib/sharedComponents/assessment-editor/components/preview/preview.module.ngfactory.d.ts +0 -3
- package/lib/sharedComponents/assessment-editor/components/preview/thank-you/thank-you.component.d.ts +0 -5
- package/lib/sharedComponents/assessment-editor/components/preview/thank-you/thank-you.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-editor/components/preview/welcome/welcome.component.d.ts +0 -5
- package/lib/sharedComponents/assessment-editor/components/preview/welcome/welcome.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-editor/components/question-type/question-type.component.d.ts +0 -6
- package/lib/sharedComponents/assessment-editor/components/question-type/question-type.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-editor/components/quick-settings/quick-settings.component.d.ts +0 -28
- package/lib/sharedComponents/assessment-editor/components/quick-settings/quick-settings.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-editor/components/response-selector/response-selector.component.d.ts +0 -11
- package/lib/sharedComponents/assessment-editor/components/response-selector/response-selector.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-editor/components/setting-anonymous/setting-anonymous.component.d.ts +0 -16
- package/lib/sharedComponents/assessment-editor/components/setting-anonymous/setting-anonymous.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-editor/components/setting-response-segment/setting-response-segment.component.d.ts +0 -47
- package/lib/sharedComponents/assessment-editor/components/setting-response-segment/setting-response-segment.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-editor/components/single-line-editor/single-line-editor.component.d.ts +0 -35
- package/lib/sharedComponents/assessment-editor/components/single-line-editor/single-line-editor.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-editor/components/toolkit/toolkit.component.d.ts +0 -8
- package/lib/sharedComponents/assessment-editor/components/toolkit/toolkit.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-editor/components/welcome-thankyou/welcome-thankyou.component.d.ts +0 -12
- package/lib/sharedComponents/assessment-editor/components/welcome-thankyou/welcome-thankyou.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-editor/create-assessment-container/create-assessment-container.component.d.ts +0 -66
- package/lib/sharedComponents/assessment-editor/create-assessment-container/create-assessment-container.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-editor/create-assessment.module.d.ts +0 -2
- package/lib/sharedComponents/assessment-editor/create-assessment.module.ngfactory.d.ts +0 -3
- package/lib/sharedComponents/assessment-editor/services/editor.service.d.ts +0 -185
- package/lib/sharedComponents/assessment-editor/services/result-criteria.service.d.ts +0 -4
- package/lib/sharedComponents/assessment-editor/services/validator.service.d.ts +0 -31
- package/lib/sharedComponents/assessment-list/assessment-list-loader/assessment-list-loader.component.d.ts +0 -5
- package/lib/sharedComponents/assessment-list/assessment-list-loader/assessment-list-loader.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-list/assessment-list-sub-loader/assessment-list-sub-loader.component.d.ts +0 -5
- package/lib/sharedComponents/assessment-list/assessment-list-sub-loader/assessment-list-sub-loader.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-list/assessment-list.component.d.ts +0 -80
- package/lib/sharedComponents/assessment-list/assessment-list.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-list/service/assessment.interface.d.ts +0 -22
- package/lib/sharedComponents/assessment-list/service/assessment.service.d.ts +0 -10
- package/lib/sharedComponents/assessment-preview/assessment-preview.module.d.ts +0 -2
- package/lib/sharedComponents/assessment-preview/assessment-preview.module.ngfactory.d.ts +0 -3
- package/lib/sharedComponents/assessment-preview/checkbox-question/checkbox-question.component.d.ts +0 -9
- package/lib/sharedComponents/assessment-preview/checkbox-question/checkbox-question.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-preview/date-time/date-time.component.d.ts +0 -12
- package/lib/sharedComponents/assessment-preview/date-time/date-time.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-preview/device/device.component.d.ts +0 -7
- package/lib/sharedComponents/assessment-preview/device/device.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-preview/file-upload/file-upload.component.d.ts +0 -7
- package/lib/sharedComponents/assessment-preview/file-upload/file-upload.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-preview/page-header/page-header.component.d.ts +0 -7
- package/lib/sharedComponents/assessment-preview/page-header/page-header.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-preview/preview/preview.component.d.ts +0 -11
- package/lib/sharedComponents/assessment-preview/preview/preview.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-preview/preview-container/preview-container.component.d.ts +0 -5
- package/lib/sharedComponents/assessment-preview/preview-container/preview-container.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-preview/quick-settings/quick-settings.component.d.ts +0 -6
- package/lib/sharedComponents/assessment-preview/quick-settings/quick-settings.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-preview/radio-question/radio-question.component.d.ts +0 -9
- package/lib/sharedComponents/assessment-preview/radio-question/radio-question.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-preview/select-question/select-question.component.d.ts +0 -9
- package/lib/sharedComponents/assessment-preview/select-question/select-question.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-preview/single-textbox/single-textbox.component.d.ts +0 -7
- package/lib/sharedComponents/assessment-preview/single-textbox/single-textbox.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/assessment-preview/welcome/welcome.component.d.ts +0 -6
- package/lib/sharedComponents/assessment-preview/welcome/welcome.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/audit-category-list/audit-category-list.component.d.ts +0 -19
- package/lib/sharedComponents/audit-category-list/audit-category-list.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/audit-category-list/audit-category.model.d.ts +0 -6
- package/lib/sharedComponents/bulk-responsibility-view/bulk-responsibility-view.component.d.ts +0 -14
- package/lib/sharedComponents/bulk-responsibility-view/bulk-responsibility-view.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/bulk-view/bulk-view.component.d.ts +0 -17
- package/lib/sharedComponents/bulk-view/bulk-view.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/category-list/category-list.component.d.ts +0 -19
- package/lib/sharedComponents/category-list/category-list.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/category-multiselect/category-multi-select.component.d.ts +0 -28
- package/lib/sharedComponents/category-multiselect/category-multi-select.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/checkbox-list/checkbox-list.component.d.ts +0 -22
- package/lib/sharedComponents/checkbox-list/checkbox-list.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/checkpoint/checkpoints/checkpoints.component.d.ts +0 -35
- package/lib/sharedComponents/checkpoint/checkpoints/checkpoints.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/checkpoint/checkpoints-list/checkpoints-list.component.d.ts +0 -8
- package/lib/sharedComponents/checkpoint/checkpoints-list/checkpoints-list.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/checkpoint/checkpoints-questions/checkpoints-questions.component.d.ts +0 -38
- package/lib/sharedComponents/checkpoint/checkpoints-questions/checkpoints-questions.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/checkpoint-floating-bar/checkpoint-floating-bar.component.d.ts +0 -15
- package/lib/sharedComponents/checkpoint-floating-bar/checkpoint-floating-bar.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/checkpoint-policy/checkpoints-policy-container/checkpoints-policy-container.component.d.ts +0 -16
- package/lib/sharedComponents/checkpoint-policy/checkpoints-policy-container/checkpoints-policy-container.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/checkpoint-policy/checkpoints-policy-list/checkpoints-policy-list.component.d.ts +0 -5
- package/lib/sharedComponents/checkpoint-policy/checkpoints-policy-list/checkpoints-policy-list.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/checkpoint-policy/checkpoints-policy-questions/checkpoints-policy-questions.component.d.ts +0 -33
- package/lib/sharedComponents/checkpoint-policy/checkpoints-policy-questions/checkpoints-policy-questions.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/define-framework-listing/define-framework-listing.component.d.ts +0 -10
- package/lib/sharedComponents/define-framework-listing/define-framework-listing.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/directive/autofocus.directive.d.ts +0 -6
- package/lib/sharedComponents/directive/conditional-focus.directive.d.ts +0 -9
- package/lib/sharedComponents/directive/drag-drop.directive.d.ts +0 -8
- package/lib/sharedComponents/directive/scroll-in-view.directive.d.ts +0 -9
- package/lib/sharedComponents/document-section/document-section.component.d.ts +0 -38
- package/lib/sharedComponents/document-section/document-section.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/floating-bar/floating-bar.component.d.ts +0 -32
- package/lib/sharedComponents/floating-bar/floating-bar.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/format-and-evidence/format-and-evidence.component.d.ts +0 -41
- package/lib/sharedComponents/format-and-evidence/format-and-evidence.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/framework-list/framework-list.component.d.ts +0 -22
- package/lib/sharedComponents/framework-list/framework-list.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/framework-list/parent-table/parent-table.component.d.ts +0 -26
- package/lib/sharedComponents/framework-list/parent-table/parent-table.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/frequency/frequency-annual/frequency-annual.component.d.ts +0 -37
- package/lib/sharedComponents/frequency/frequency-annual/frequency-annual.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/frequency/frequency-biannual/frequency-biannual.component.d.ts +0 -35
- package/lib/sharedComponents/frequency/frequency-biannual/frequency-biannual.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/frequency/frequency-checkbox-list/frequency-checkbox-list.component.d.ts +0 -10
- package/lib/sharedComponents/frequency/frequency-checkbox-list/frequency-checkbox-list.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/frequency/frequency-container/frequency-container.component.d.ts +0 -29
- package/lib/sharedComponents/frequency/frequency-container/frequency-container.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/frequency/frequency-daily/frequency-daily.component.d.ts +0 -30
- package/lib/sharedComponents/frequency/frequency-daily/frequency-daily.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/frequency/frequency-due-date/frequency-due-date.component.d.ts +0 -19
- package/lib/sharedComponents/frequency/frequency-due-date/frequency-due-date.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/frequency/frequency-lifecycle/frequency-lifecycle.component.d.ts +0 -36
- package/lib/sharedComponents/frequency/frequency-lifecycle/frequency-lifecycle.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/frequency/frequency-monthly/frequency-monthly.component.d.ts +0 -33
- package/lib/sharedComponents/frequency/frequency-monthly/frequency-monthly.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/frequency/frequency-on-completion-of/frequency-on-completion-of.component.d.ts +0 -29
- package/lib/sharedComponents/frequency/frequency-on-completion-of/frequency-on-completion-of.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/frequency/frequency-one-time/frequency-one-time.component.d.ts +0 -32
- package/lib/sharedComponents/frequency/frequency-one-time/frequency-one-time.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/frequency/frequency-ongoing/frequency-ongoing.component.d.ts +0 -19
- package/lib/sharedComponents/frequency/frequency-ongoing/frequency-ongoing.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/frequency/frequency-quarterly/frequency-quarterly.component.d.ts +0 -32
- package/lib/sharedComponents/frequency/frequency-quarterly/frequency-quarterly.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/frequency/frequency-radio-list/frequency-radio-list.component.d.ts +0 -10
- package/lib/sharedComponents/frequency/frequency-radio-list/frequency-radio-list.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/frequency/frequency-random/frequency-random.component.d.ts +0 -59
- package/lib/sharedComponents/frequency/frequency-random/frequency-random.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/frequency/frequency-top/frequency-top.component.d.ts +0 -22
- package/lib/sharedComponents/frequency/frequency-top/frequency-top.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/frequency/frequency-weekly/frequency-weekly.component.d.ts +0 -32
- package/lib/sharedComponents/frequency/frequency-weekly/frequency-weekly.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/frequency/frequency.service.d.ts +0 -46
- package/lib/sharedComponents/group-users-list/group-users-list.component.d.ts +0 -29
- package/lib/sharedComponents/group-users-list/group-users-list.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/list-loader/list-loader.component.d.ts +0 -5
- package/lib/sharedComponents/list-loader/list-loader.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/no-data/no-data.component.d.ts +0 -14
- package/lib/sharedComponents/no-data/no-data.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/no-data/no-data.module.d.ts +0 -2
- package/lib/sharedComponents/no-data/no-data.module.ngfactory.d.ts +0 -3
- package/lib/sharedComponents/owner-list/owner-list.component.d.ts +0 -36
- package/lib/sharedComponents/owner-list/owner-list.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/pipes/array-filter.pipe.d.ts +0 -4
- package/lib/sharedComponents/pipes/filterPipe.d.ts +0 -4
- package/lib/sharedComponents/pipes/short-merge.pipe.d.ts +0 -4
- package/lib/sharedComponents/pipes/within-data.pipe.d.ts +0 -4
- package/lib/sharedComponents/radio-list/radio-list.component.d.ts +0 -24
- package/lib/sharedComponents/radio-list/radio-list.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/radio-list-with-pagination/link-treatment-loader/link-treatment-loader.component.d.ts +0 -5
- package/lib/sharedComponents/radio-list-with-pagination/link-treatment-loader/link-treatment-loader.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/radio-list-with-pagination/radio-list.component.d.ts +0 -47
- package/lib/sharedComponents/radio-list-with-pagination/radio-list.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/responsibility-centers-list/responsibility-centers-list.component.d.ts +0 -26
- package/lib/sharedComponents/responsibility-centers-list/responsibility-centers-list.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/responsibility-risk-selector/responsibility-risk-selector.component.d.ts +0 -23
- package/lib/sharedComponents/responsibility-risk-selector/responsibility-risk-selector.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/review-frequency/review-frequency.component.d.ts +0 -15
- package/lib/sharedComponents/review-frequency/review-frequency.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/risk-classification/risk-classification.component.d.ts +0 -35
- package/lib/sharedComponents/risk-classification/risk-classification.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/roles-list/roles-list.component.d.ts +0 -8
- package/lib/sharedComponents/roles-list/roles-list.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/users-radio-list/users-radio-list.component.d.ts +0 -21
- package/lib/sharedComponents/users-radio-list/users-radio-list.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/v-loader/loader/loader.component.d.ts +0 -5
- package/lib/sharedComponents/v-loader/loader/loader.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/v-loader/loader-inline/loader-inline.component.d.ts +0 -5
- package/lib/sharedComponents/v-loader/loader-inline/loader-inline.component.ngfactory.d.ts +0 -1
- package/lib/sharedComponents/v-loader/v-loader.module.d.ts +0 -2
- package/lib/sharedComponents/v-loader/v-loader.module.ngfactory.d.ts +0 -3
- package/lib/ui-kit/action-dialog/action-dialog.module.d.ts +0 -2
- package/lib/ui-kit/action-dialog/action-dialog.module.ngfactory.d.ts +0 -3
- package/lib/ui-kit/action-dialog/active/active.component.d.ts +0 -12
- package/lib/ui-kit/action-dialog/active/active.component.ngfactory.d.ts +0 -1
- package/lib/ui-kit/action-dialog/deactivate/deactivate.component.d.ts +0 -12
- package/lib/ui-kit/action-dialog/deactivate/deactivate.component.ngfactory.d.ts +0 -1
- package/lib/ui-kit/action-dialog/delete/delete.component.d.ts +0 -11
- package/lib/ui-kit/action-dialog/delete/delete.component.ngfactory.d.ts +0 -1
- package/lib/ui-kit/action-dialog/duplicate/duplicate.component.d.ts +0 -12
- package/lib/ui-kit/action-dialog/duplicate/duplicate.component.ngfactory.d.ts +0 -1
- package/lib/ui-kit/click-outside/click-outside.directive.d.ts +0 -7
- package/lib/ui-kit/click-outside/click-outside.module.d.ts +0 -2
- package/lib/ui-kit/click-outside/click-outside.module.ngfactory.d.ts +0 -3
- package/lib/ui-kit/dialog/dialog-config.d.ts +0 -5
- package/lib/ui-kit/dialog/dialog-injector.d.ts +0 -7
- package/lib/ui-kit/dialog/dialog-ref.d.ts +0 -7
- package/lib/ui-kit/dialog/dialog.component.d.ts +0 -29
- package/lib/ui-kit/dialog/dialog.component.ngfactory.d.ts +0 -1
- package/lib/ui-kit/dialog/dialog.module.d.ts +0 -2
- package/lib/ui-kit/dialog/dialog.module.ngfactory.d.ts +0 -3
- package/lib/ui-kit/dialog/dialog.service.d.ts +0 -15
- package/lib/ui-kit/dialog/insertion.directive.d.ts +0 -5
- package/lib/ui-kit/editor-loader/editor-loader/editor-loader.component.d.ts +0 -5
- package/lib/ui-kit/editor-loader/editor-loader/editor-loader.component.ngfactory.d.ts +0 -1
- package/lib/ui-kit/editor-loader/editor-loader.module.d.ts +0 -2
- package/lib/ui-kit/editor-loader/editor-loader.module.ngfactory.d.ts +0 -3
- package/lib/ui-kit/format-html.pipe.d.ts +0 -7
- package/lib/ui-kit/formgroup/click-outside.directive.d.ts +0 -7
- package/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.d.ts +0 -11
- package/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.ngfactory.d.ts +0 -1
- package/lib/ui-kit/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.d.ts +0 -11
- package/lib/ui-kit/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.ngfactory.d.ts +0 -1
- package/lib/ui-kit/formgroup/cs-radio/cs-radio.component.d.ts +0 -12
- package/lib/ui-kit/formgroup/cs-radio/cs-radio.component.ngfactory.d.ts +0 -1
- package/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.d.ts +0 -5
- package/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.ngfactory.d.ts +0 -1
- package/lib/ui-kit/formgroup/cs-select/cs-select.component.d.ts +0 -33
- package/lib/ui-kit/formgroup/cs-select/cs-select.component.ngfactory.d.ts +0 -1
- package/lib/ui-kit/formgroup/cs-switch/cs-switch.component.d.ts +0 -12
- package/lib/ui-kit/formgroup/cs-switch/cs-switch.component.ngfactory.d.ts +0 -1
- package/lib/ui-kit/formgroup/formgroup.module.d.ts +0 -2
- package/lib/ui-kit/formgroup/formgroup.module.ngfactory.d.ts +0 -3
- package/lib/ui-kit/formgroup/pipes/pascal.pipe.d.ts +0 -4
- package/lib/ui-kit/formgroup/pipes/searchMultiSelect.pipe.d.ts +0 -4
- package/lib/ui-kit/line-loader/line-loader.component.d.ts +0 -6
- package/lib/ui-kit/line-loader/line-loader.component.ngfactory.d.ts +0 -1
- package/lib/ui-kit/line-loader/line-loader.module.d.ts +0 -2
- package/lib/ui-kit/line-loader/line-loader.module.ngfactory.d.ts +0 -3
- package/lib/ui-kit/no-data/no-data.component.d.ts +0 -18
- package/lib/ui-kit/no-data/no-data.component.ngfactory.d.ts +0 -1
- package/lib/ui-kit/no-data/no-data.module.d.ts +0 -2
- package/lib/ui-kit/no-data/no-data.module.ngfactory.d.ts +0 -3
- package/lib/ui-kit/pagination/pagination/pagination.component.d.ts +0 -23
- package/lib/ui-kit/pagination/pagination/pagination.component.ngfactory.d.ts +0 -1
- package/lib/ui-kit/pagination/pagination.module.d.ts +0 -2
- package/lib/ui-kit/pagination/pagination.module.ngfactory.d.ts +0 -3
- package/lib/ui-kit/popover/popover-event.directive.d.ts +0 -7
- package/lib/ui-kit/popover/popover-longpress.directive.d.ts +0 -13
- package/lib/ui-kit/popover/popover.component.d.ts +0 -24
- package/lib/ui-kit/popover/popover.component.ngfactory.d.ts +0 -1
- package/lib/ui-kit/popover/popover.directive.d.ts +0 -16
- package/lib/ui-kit/popover/popover.module.d.ts +0 -2
- package/lib/ui-kit/popover/popover.module.ngfactory.d.ts +0 -3
- package/lib/ui-kit/popover/popover.service.d.ts +0 -9
- package/lib/ui-kit/popover-hover/popover-hover.component.d.ts +0 -22
- package/lib/ui-kit/popover-hover/popover-hover.component.ngfactory.d.ts +0 -1
- package/lib/ui-kit/popover-hover/popover-hover.directive.d.ts +0 -12
- package/lib/ui-kit/popover-hover/popover-hover.module.d.ts +0 -2
- package/lib/ui-kit/popover-hover/popover-hover.module.ngfactory.d.ts +0 -3
- package/lib/ui-kit/popover-hover/popover-hover.service.d.ts +0 -9
- package/lib/ui-kit/smiley-dialog/smiley-dialog.component.d.ts +0 -12
- package/lib/ui-kit/smiley-dialog/smiley-dialog.component.ngfactory.d.ts +0 -1
- package/lib/ui-kit/smiley-dialog/smiley-dialog.module.d.ts +0 -2
- package/lib/ui-kit/smiley-dialog/smiley-dialog.module.ngfactory.d.ts +0 -3
- package/lib/ui-kit/smiley-dialog-inline/smiley-dialog-inline.component.d.ts +0 -12
- package/lib/ui-kit/smiley-dialog-inline/smiley-dialog-inline.component.ngfactory.d.ts +0 -1
- package/lib/ui-kit/smiley-dialog-inline/smiley-dialog-inline.module.d.ts +0 -2
- package/lib/ui-kit/smiley-dialog-inline/smiley-dialog-inline.module.ngfactory.d.ts +0 -3
- package/lib/ui-kit/snack-bar/snack-bar.component.d.ts +0 -15
- package/lib/ui-kit/snack-bar/snack-bar.component.ngfactory.d.ts +0 -1
- package/lib/ui-kit/snack-bar/snack-bar.module.d.ts +0 -2
- package/lib/ui-kit/snack-bar/snack-bar.module.ngfactory.d.ts +0 -3
- package/lib/ui-kit/snack-bar/snack-bar.service.d.ts +0 -8
- package/lib/ui-kit/tooltip/tooltip.directive.d.ts +0 -24
- package/lib/ui-kit/tooltip/tooltip.module.d.ts +0 -2
- package/lib/ui-kit/tooltip/tooltip.module.ngfactory.d.ts +0 -3
- package/lib/workflow-assessment/import-an-assessment/import-an-assessment.component.d.ts +0 -231
- package/lib/workflow-assessment/import-an-assessment/import-an-assessment.component.ngfactory.d.ts +0 -1
- package/lib/workflow-assessment/workflow-assessment.component.d.ts +0 -63
- package/lib/workflow-assessment/workflow-assessment.component.ngfactory.d.ts +0 -1
- package/lib/workflow-compliance/workflow-compliance.component.d.ts +0 -189
- package/lib/workflow-compliance/workflow-compliance.component.ngfactory.d.ts +0 -1
- package/lib/workflow-engine-container/workflow-engine-container.component.d.ts +0 -106
- package/lib/workflow-engine-container/workflow-engine-container.component.ngfactory.d.ts +0 -1
- package/lib/workflow-engine.module.d.ts +0 -5
- package/lib/workflow-engine.module.ngfactory.d.ts +0 -3
- package/lib/workflow-engine.service.d.ts +0 -3
- package/lib/workflow-interfaces/create-policy-form.d.ts +0 -45
- package/lib/workflow-pagination/workflow-pagination.component.d.ts +0 -24
- package/lib/workflow-pagination/workflow-pagination.component.ngfactory.d.ts +0 -1
- package/lib/workflow-policy/workflow-policy.component.d.ts +0 -281
- package/lib/workflow-policy/workflow-policy.component.ngfactory.d.ts +0 -1
- package/lib/workflow-program/constants.d.ts +0 -40
- package/lib/workflow-program/create-program-ui/assessment-picker/assessment-loader/assessment-loader.component.d.ts +0 -5
- package/lib/workflow-program/create-program-ui/assessment-picker/assessment-loader/assessment-loader.component.ngfactory.d.ts +0 -1
- package/lib/workflow-program/create-program-ui/assessment-picker/assessment-picker.component.d.ts +0 -91
- package/lib/workflow-program/create-program-ui/assessment-picker/assessment-picker.component.ngfactory.d.ts +0 -1
- package/lib/workflow-program/create-program-ui/assessment-picker/assessment-sub-loader/assessment-sub-loader.component.d.ts +0 -5
- package/lib/workflow-program/create-program-ui/assessment-picker/assessment-sub-loader/assessment-sub-loader.component.ngfactory.d.ts +0 -1
- package/lib/workflow-program/create-program-ui/assessment-picker/assessment.service.d.ts +0 -13
- package/lib/workflow-program/create-program-ui/assessment-picker/workflow-pagination/workflow-pagination.component.d.ts +0 -24
- package/lib/workflow-program/create-program-ui/assessment-picker/workflow-pagination/workflow-pagination.component.ngfactory.d.ts +0 -1
- package/lib/workflow-program/create-program-ui/checkbox/checkbox.component.d.ts +0 -13
- package/lib/workflow-program/create-program-ui/checkbox/checkbox.component.ngfactory.d.ts +0 -1
- package/lib/workflow-program/create-program-ui/create-program-ui.module.d.ts +0 -2
- package/lib/workflow-program/create-program-ui/create-program-ui.module.ngfactory.d.ts +0 -3
- package/lib/workflow-program/create-program-ui/cs-switch/cs-switch.component.d.ts +0 -17
- package/lib/workflow-program/create-program-ui/cs-switch/cs-switch.component.ngfactory.d.ts +0 -1
- package/lib/workflow-program/create-program-ui/define-framework-listing/define-framework-listing.component.d.ts +0 -10
- package/lib/workflow-program/create-program-ui/define-framework-listing/define-framework-listing.component.ngfactory.d.ts +0 -1
- package/lib/workflow-program/create-program-ui/directives/input-trim.directive.d.ts +0 -3
- package/lib/workflow-program/create-program-ui/file-pill/file-pill.component.d.ts +0 -9
- package/lib/workflow-program/create-program-ui/file-pill/file-pill.component.ngfactory.d.ts +0 -1
- package/lib/workflow-program/create-program-ui/floating-bar/floating-bar.component.d.ts +0 -32
- package/lib/workflow-program/create-program-ui/floating-bar/floating-bar.component.ngfactory.d.ts +0 -1
- package/lib/workflow-program/create-program-ui/form-field/form-field.component.d.ts +0 -9
- package/lib/workflow-program/create-program-ui/form-field/form-field.component.ngfactory.d.ts +0 -1
- package/lib/workflow-program/create-program-ui/input-with-pill/input-with-pill.component.d.ts +0 -8
- package/lib/workflow-program/create-program-ui/input-with-pill/input-with-pill.component.ngfactory.d.ts +0 -1
- package/lib/workflow-program/create-program-ui/pagination/pagination/pagination.component.d.ts +0 -24
- package/lib/workflow-program/create-program-ui/pagination/pagination/pagination.component.ngfactory.d.ts +0 -1
- package/lib/workflow-program/create-program-ui/pagination/pagination.module.d.ts +0 -2
- package/lib/workflow-program/create-program-ui/pagination/pagination.module.ngfactory.d.ts +0 -3
- package/lib/workflow-program/create-program-ui/pipes/list-to-id.pipe.d.ts +0 -4
- package/lib/workflow-program/create-program-ui/pipes/ref-disconnect.pipe.d.ts +0 -4
- package/lib/workflow-program/create-program-ui/pipes/search.pipe.d.ts +0 -4
- package/lib/workflow-program/create-program-ui/role-list/role-list.component.d.ts +0 -61
- package/lib/workflow-program/create-program-ui/role-list/role-list.component.ngfactory.d.ts +0 -1
- package/lib/workflow-program/create-program-ui/tab-selector/tab-selector.component.d.ts +0 -17
- package/lib/workflow-program/create-program-ui/tab-selector/tab-selector.component.ngfactory.d.ts +0 -1
- package/lib/workflow-program/create-program-ui/tick-mark/tick-mark.component.d.ts +0 -5
- package/lib/workflow-program/create-program-ui/tick-mark/tick-mark.component.ngfactory.d.ts +0 -1
- package/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.d.ts +0 -87
- package/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.ngfactory.d.ts +0 -1
- package/lib/workflow-program/workflow-program.component.d.ts +0 -153
- package/lib/workflow-program/workflow-program.component.ngfactory.d.ts +0 -1
- package/lib/workflow-risk/workflow-risk.component.d.ts +0 -105
- package/lib/workflow-risk/workflow-risk.component.ngfactory.d.ts +0 -1
- package/lib/workflow-services/add-risk.service.d.ts +0 -22
- package/lib/workflow-services/assessment.service.d.ts +0 -29
- package/lib/workflow-services/auth.service.d.ts +0 -29
- package/lib/workflow-services/frequency.service.d.ts +0 -5
- package/lib/workflow-services/log-issue.service.d.ts +0 -31
- package/lib/workflow-services/policy.service.d.ts +0 -24
- package/lib/workflow-services/programs.service.d.ts +0 -82
- package/lib/workflow-services/responsibility.service.d.ts +0 -33
- package/lib/workflow-services/token-decoder.service.d.ts +0 -4
- package/lib/workflow-services/ui-kit.service.d.ts +0 -5
- package/lib/workflow-survey-form/workflow-survey-form.component.d.ts +0 -7
- package/lib/workflow-survey-form/workflow-survey-form.component.ngfactory.d.ts +0 -1
- package/public-api.d.ts +0 -3
- package/vcomply-workflow-engine.d.ts +0 -273
- package/vcomply-workflow-engine.metadata.json +0 -1
|
@@ -1,1772 +0,0 @@
|
|
|
1
|
-
import { Component, Input, Output, EventEmitter, ViewChild } from '@angular/core';
|
|
2
|
-
import { cloneDeep } from 'lodash';
|
|
3
|
-
import { AuthService } from '../workflow-services/auth.service';
|
|
4
|
-
import { ResponsibilityService } from '../workflow-services/responsibility.service';
|
|
5
|
-
import { FrequencyService } from '../sharedComponents/frequency/frequency.service';
|
|
6
|
-
import * as moment from 'moment';
|
|
7
|
-
import { UiKitService } from '../workflow-services/ui-kit.service';
|
|
8
|
-
import { SnackBarService } from '../ui-kit/snack-bar/snack-bar.service';
|
|
9
|
-
export class WorkflowComplianceComponent {
|
|
10
|
-
constructor(authService, responsibilityService, frequencyService, uiKitService, snackBar) {
|
|
11
|
-
this.authService = authService;
|
|
12
|
-
this.responsibilityService = responsibilityService;
|
|
13
|
-
this.frequencyService = frequencyService;
|
|
14
|
-
this.uiKitService = uiKitService;
|
|
15
|
-
this.snackBar = snackBar;
|
|
16
|
-
this.mode = 'CREATE';
|
|
17
|
-
this.responsibilityId = '';
|
|
18
|
-
this.frameworkDetails = [];
|
|
19
|
-
this.isEntrust = true;
|
|
20
|
-
this.pickerChanged = new EventEmitter();
|
|
21
|
-
this.populateOption = new EventEmitter();
|
|
22
|
-
this.hideElementsFromMoreOptions = new EventEmitter();
|
|
23
|
-
this.closeWorkflow = new EventEmitter();
|
|
24
|
-
this.resetForm = new EventEmitter();
|
|
25
|
-
this.disconnectRefresh = new EventEmitter();
|
|
26
|
-
this.checkpointCountUpdated = new EventEmitter();
|
|
27
|
-
this.rcSelected = new EventEmitter();
|
|
28
|
-
this.selectedRC = 0; // 4-5 digit id of selected rc by default when opened from risk treatment
|
|
29
|
-
this.scrollToBottom = false;
|
|
30
|
-
this.description = {
|
|
31
|
-
mode: 'prime',
|
|
32
|
-
colorPalette: true,
|
|
33
|
-
link: true,
|
|
34
|
-
placeholder: 'Add more information about completing the responsibility',
|
|
35
|
-
};
|
|
36
|
-
this.loader = false;
|
|
37
|
-
this.submitted = false;
|
|
38
|
-
this.smileyMessage = `Done!`;
|
|
39
|
-
this.actionButtons = [
|
|
40
|
-
{ buttonText: 'Entrust More Responsibilities', class: 'white-btn', id: 'addMore' },
|
|
41
|
-
{ buttonText: 'View Responsibilities', class: 'blue-btn', id: 'view' },
|
|
42
|
-
];
|
|
43
|
-
this.showSmiley = false;
|
|
44
|
-
this.memberId = 0;
|
|
45
|
-
this.organizationId = 0;
|
|
46
|
-
this.rcListLoaded = false;
|
|
47
|
-
this.assignorsListLoaded = false;
|
|
48
|
-
this.assigneesListLoaded = false;
|
|
49
|
-
this.categoriesListLoaded = false;
|
|
50
|
-
this.groupsListLoaded = false;
|
|
51
|
-
this.assuranceCategoryListLoaded = false;
|
|
52
|
-
// usersList: any[] = [];
|
|
53
|
-
this.assignorsList = [];
|
|
54
|
-
this.assigneesList = [];
|
|
55
|
-
this.reviewersList = [];
|
|
56
|
-
this.overseersList = [];
|
|
57
|
-
this.allUsersList = [];
|
|
58
|
-
this.behalfOfUsersList = [];
|
|
59
|
-
this.allCategories = [];
|
|
60
|
-
this.assuranceCategoriesList = [];
|
|
61
|
-
this.assuranceRequiresAuditList = [];
|
|
62
|
-
this.groupsList = [];
|
|
63
|
-
this.adminsList = [];
|
|
64
|
-
this.responsibilityCentersList = [];
|
|
65
|
-
this.categoryList = [];
|
|
66
|
-
this.nonRemovableUsersList = [];
|
|
67
|
-
this.responsibilityForm = {
|
|
68
|
-
assignors: {
|
|
69
|
-
enable: false,
|
|
70
|
-
list: []
|
|
71
|
-
},
|
|
72
|
-
responsibility: {
|
|
73
|
-
name: '',
|
|
74
|
-
keyResponsibility: false,
|
|
75
|
-
},
|
|
76
|
-
assignees: {
|
|
77
|
-
whoCanComplete: 'ALL',
|
|
78
|
-
list: []
|
|
79
|
-
},
|
|
80
|
-
frequency: '',
|
|
81
|
-
description: '',
|
|
82
|
-
objective: '',
|
|
83
|
-
rc: [],
|
|
84
|
-
category: [],
|
|
85
|
-
checkpointInstruction: '',
|
|
86
|
-
customTags: [],
|
|
87
|
-
checkpoints: [],
|
|
88
|
-
reviewers: {
|
|
89
|
-
sequentialWorkflow: true,
|
|
90
|
-
reviewFrequency: {
|
|
91
|
-
reviewCompleteDays: 2,
|
|
92
|
-
reviewNOtCompletedDays: 2
|
|
93
|
-
},
|
|
94
|
-
list: []
|
|
95
|
-
},
|
|
96
|
-
overseers: {
|
|
97
|
-
notifyList: [],
|
|
98
|
-
list: []
|
|
99
|
-
},
|
|
100
|
-
formatAndEvidence: {
|
|
101
|
-
formatRequired: false,
|
|
102
|
-
formatFiles: [],
|
|
103
|
-
formatLinks: [],
|
|
104
|
-
evidenceRequired: false,
|
|
105
|
-
},
|
|
106
|
-
assuranceList: [],
|
|
107
|
-
requiresAuditList: [],
|
|
108
|
-
riskClass: 1,
|
|
109
|
-
riskMatrix: '0,0,0,0,0,0',
|
|
110
|
-
audit_category_details: {
|
|
111
|
-
category_id: 0,
|
|
112
|
-
sample: 5,
|
|
113
|
-
percentage: 30,
|
|
114
|
-
frequency_pattern: '1~0~3~1',
|
|
115
|
-
frequency_time: '23:59:00'
|
|
116
|
-
},
|
|
117
|
-
assessment: {
|
|
118
|
-
category_id: '', assessment_id: ''
|
|
119
|
-
},
|
|
120
|
-
new_checkpoints: {}
|
|
121
|
-
};
|
|
122
|
-
this.moreOptions = {
|
|
123
|
-
OBJECTIVE: false,
|
|
124
|
-
RC: false,
|
|
125
|
-
CATEGORY: false,
|
|
126
|
-
FORMATE_EVIDENCE: false,
|
|
127
|
-
CHECKPOINTS: false,
|
|
128
|
-
ASSESSMENT: false,
|
|
129
|
-
RISK_CLASSIFICATION: false,
|
|
130
|
-
REVIEWER: false,
|
|
131
|
-
OVERSEER: false,
|
|
132
|
-
ASSURANCE: false,
|
|
133
|
-
APPS: false,
|
|
134
|
-
REQUIRES_AUDIT: false,
|
|
135
|
-
CHECKPOINTS_NEW: false
|
|
136
|
-
};
|
|
137
|
-
this.activeSelector = '';
|
|
138
|
-
this.sideSelectorElements = ['assurance', 'framework', 'assignors', 'assignees', 'category', 'rc', 'checkpoints', 'frequency', 'reviewer', 'reviewerFrequency', 'overseer', 'overseerNotify', 'riskCalculator', 'isAssessment', 'requires_audit', 'checkpoints-new'];
|
|
139
|
-
this.displayList = {
|
|
140
|
-
// assignors: false,
|
|
141
|
-
// assignees: false,
|
|
142
|
-
// category: false,
|
|
143
|
-
// responsibilityCenter: false,
|
|
144
|
-
// responsibilityCategory: false,
|
|
145
|
-
// checkpoints: false,
|
|
146
|
-
// reviewer: false,
|
|
147
|
-
// reviewerFrequency: false,
|
|
148
|
-
// overseerList: false,
|
|
149
|
-
// overseerNotifyList: false,
|
|
150
|
-
// frequency: false,
|
|
151
|
-
// frameWork: false,
|
|
152
|
-
// assurance: false,
|
|
153
|
-
// riskCalculator: false,
|
|
154
|
-
};
|
|
155
|
-
this.focus = {
|
|
156
|
-
responsibilityName: false,
|
|
157
|
-
description: false,
|
|
158
|
-
objective: false,
|
|
159
|
-
};
|
|
160
|
-
this.categories = {
|
|
161
|
-
regulations: {
|
|
162
|
-
list: [],
|
|
163
|
-
selectedList: []
|
|
164
|
-
},
|
|
165
|
-
standards: {
|
|
166
|
-
list: [],
|
|
167
|
-
selectedList: []
|
|
168
|
-
},
|
|
169
|
-
internalControls: {
|
|
170
|
-
list: [],
|
|
171
|
-
selectedList: []
|
|
172
|
-
},
|
|
173
|
-
others: {
|
|
174
|
-
list: [],
|
|
175
|
-
selectedList: []
|
|
176
|
-
}
|
|
177
|
-
};
|
|
178
|
-
this.riskClassification = [
|
|
179
|
-
{ name: 'Low', value: 1, class: 'low' },
|
|
180
|
-
{ name: 'Low-Medium', value: 2, class: 'low-med' },
|
|
181
|
-
{ name: 'Medium-High', value: 3, class: 'med-high' },
|
|
182
|
-
{ name: 'High', value: 4, class: 'high' }
|
|
183
|
-
];
|
|
184
|
-
this.assignorMode = 'checkbox';
|
|
185
|
-
this.rcMode = 'checkbox';
|
|
186
|
-
this.invalidType = '';
|
|
187
|
-
this.assigneeRadioSelect = false;
|
|
188
|
-
// frequency variable declaration
|
|
189
|
-
this.frequencyDetails = {
|
|
190
|
-
pattern: '',
|
|
191
|
-
notificationPending: 0,
|
|
192
|
-
dateOfModified: 0,
|
|
193
|
-
deactivationValue: 0,
|
|
194
|
-
selectedReport: 0,
|
|
195
|
-
lifecycle: '0000-00-00~~0',
|
|
196
|
-
startDate: Math.floor(new Date().getTime() / 1000),
|
|
197
|
-
startOnTheDay: Math.floor(new Date().getTime() / 1000),
|
|
198
|
-
window: 0,
|
|
199
|
-
failed: 0,
|
|
200
|
-
time: '11:59 pm',
|
|
201
|
-
failedTime: '',
|
|
202
|
-
continuous_failed_days: 0
|
|
203
|
-
};
|
|
204
|
-
this.frequencyPlaceholder = 'How often does the responsibility occur?';
|
|
205
|
-
this.shortMonth = [];
|
|
206
|
-
this.isEditWhat = true;
|
|
207
|
-
this.isFrameworkAvailable = 1;
|
|
208
|
-
this.isNotificationPending = 0;
|
|
209
|
-
this.hiddenList = [];
|
|
210
|
-
this.isRiskEnable = true;
|
|
211
|
-
this.isDuplicateEntrust = false;
|
|
212
|
-
this.auditTime = '11:59 pm';
|
|
213
|
-
this.sendAuditRemindersValue = 2;
|
|
214
|
-
this.isSample = false;
|
|
215
|
-
this.tempCheckValue = -1;
|
|
216
|
-
this.isAssessment = false;
|
|
217
|
-
this.checkpointCount = 0;
|
|
218
|
-
this.onRemovingCheckpoint = new EventEmitter();
|
|
219
|
-
this.isAssessmentDisabled = new EventEmitter();
|
|
220
|
-
}
|
|
221
|
-
ngOnInit() {
|
|
222
|
-
this.pickerChanged.emit(false);
|
|
223
|
-
// this.responsibilityForm.responsibility.name = "abcdef"
|
|
224
|
-
this.loader = true;
|
|
225
|
-
this.uiKitService.isLoader = true;
|
|
226
|
-
this.hiddenList.push('ASSESSMENT');
|
|
227
|
-
this.getRCList();
|
|
228
|
-
this.getCategoryList();
|
|
229
|
-
this.getAssignorsList();
|
|
230
|
-
this.getAssigneesList();
|
|
231
|
-
this.getAssurance();
|
|
232
|
-
this.getAssuranceForRequiresAudit();
|
|
233
|
-
this.getGroupsList();
|
|
234
|
-
this.checkWhetherAllListsLoaded();
|
|
235
|
-
this.getOrganizationDetails();
|
|
236
|
-
this.getUserDetails();
|
|
237
|
-
this.shortMonth = this.frequencyService.monthArray.map(month => month.substring(0, 3));
|
|
238
|
-
if (this.mode === 'CREATE') {
|
|
239
|
-
this.organizationId = this.authService.getOrganizationId();
|
|
240
|
-
console.log(" this.authService.getMemberId() ==>", this.authService.getMemberId());
|
|
241
|
-
this.memberId = this.authService.getMemberId();
|
|
242
|
-
this.hiddenList.push('CHECKPOINTS');
|
|
243
|
-
}
|
|
244
|
-
this.authService.getOrganizationDetails().subscribe((res) => {
|
|
245
|
-
this.isRiskEnable = res.enable_riskclass ? true : false;
|
|
246
|
-
if (!res.enable_riskclass) {
|
|
247
|
-
this.hiddenList.push('RISK_CLASSIFICATION');
|
|
248
|
-
this.hideElementsFromMoreOptions.emit(this.hiddenList);
|
|
249
|
-
}
|
|
250
|
-
});
|
|
251
|
-
this.authService.getSubscriptionDetails().subscribe((res) => {
|
|
252
|
-
this.subscriptionDetails = res;
|
|
253
|
-
console.log("this.subscriptionDetails.assessment_flag", this.subscriptionDetails);
|
|
254
|
-
if (this.subscriptionDetails[0].assessment_flag) {
|
|
255
|
-
this.hiddenList = this.hiddenList.filter(ele => ele !== 'ASSESSMENT');
|
|
256
|
-
this.hideElementsFromMoreOptions.emit(this.hiddenList);
|
|
257
|
-
}
|
|
258
|
-
});
|
|
259
|
-
this.hideElementsFromMoreOptions.emit(this.hiddenList);
|
|
260
|
-
}
|
|
261
|
-
activateSelector(type, event) {
|
|
262
|
-
console.log("type ==>", type, event);
|
|
263
|
-
this.activeSelector = event ? type : '';
|
|
264
|
-
if (type === 'checkpoints-new')
|
|
265
|
-
this.authService.previewPanel.next(event);
|
|
266
|
-
if (this.sideSelectorElements.includes(type)) {
|
|
267
|
-
this.pickerChanged.emit(event);
|
|
268
|
-
}
|
|
269
|
-
}
|
|
270
|
-
whatChanged(event) {
|
|
271
|
-
var _a;
|
|
272
|
-
this.responsibilityForm.responsibility.name = (_a = event === null || event === void 0 ? void 0 : event.target) === null || _a === void 0 ? void 0 : _a.value;
|
|
273
|
-
if (event.target.value.trim() !== '') {
|
|
274
|
-
this.isEditWhat = true;
|
|
275
|
-
if (this.invalidType === 'what') {
|
|
276
|
-
this.invalidType = '';
|
|
277
|
-
}
|
|
278
|
-
}
|
|
279
|
-
else {
|
|
280
|
-
this.isEditWhat = false;
|
|
281
|
-
}
|
|
282
|
-
}
|
|
283
|
-
activeDeselector() {
|
|
284
|
-
this.activeSelector = '';
|
|
285
|
-
this.pickerChanged.emit(false);
|
|
286
|
-
}
|
|
287
|
-
addMoreInfo(event) {
|
|
288
|
-
console.log("event ==>", event);
|
|
289
|
-
this.scrollToBottom = true;
|
|
290
|
-
if (event.code === 'CHECKPOINTS_NEW' && event.checkpoint_new && this.checkpointCount) {
|
|
291
|
-
}
|
|
292
|
-
else {
|
|
293
|
-
this.moreOptions[event.code] = event.checked;
|
|
294
|
-
}
|
|
295
|
-
}
|
|
296
|
-
getRCList() {
|
|
297
|
-
this.responsibilityService.getResponsibilityCenterList().subscribe(res => {
|
|
298
|
-
this.responsibilityCentersList = res;
|
|
299
|
-
this.rcListLoaded = true;
|
|
300
|
-
if (this.openedFrom === 'RISK_TREATMENT') {
|
|
301
|
-
this.responsibilityForm.rc = this.setList(this.responsibilityCentersList, [this.selectedRC], 'item_id');
|
|
302
|
-
this.moreOptions.RC = true;
|
|
303
|
-
this.actionButtons = [
|
|
304
|
-
{ buttonText: 'Go to risk treatment', class: 'blue-btn', id: 'view' },
|
|
305
|
-
];
|
|
306
|
-
this.populateOption.emit(['RC']);
|
|
307
|
-
}
|
|
308
|
-
}, err => {
|
|
309
|
-
console.error(err);
|
|
310
|
-
this.rcListLoaded = true;
|
|
311
|
-
});
|
|
312
|
-
}
|
|
313
|
-
getUserDetails() {
|
|
314
|
-
this.authService.getUserInfo().subscribe((res) => {
|
|
315
|
-
this.isNotificationPending = res.notification_pending_flag;
|
|
316
|
-
this.actionButtons[1].buttonText = this.isNotificationPending ? 'View Responsibilities in Queue' : 'View Responsibilities';
|
|
317
|
-
});
|
|
318
|
-
}
|
|
319
|
-
getAssurance() {
|
|
320
|
-
this.assuranceCategoryListLoaded = true;
|
|
321
|
-
this.responsibilityService.getAssurance().subscribe((res) => {
|
|
322
|
-
this.assuranceCategoriesList = res;
|
|
323
|
-
if ((this.subscriptionDetails && !this.subscriptionDetails[0].assurance_flag) || this.assuranceCategoriesList.length == 0) {
|
|
324
|
-
this.hiddenList.push('ASSURANCE');
|
|
325
|
-
}
|
|
326
|
-
this.hideElementsFromMoreOptions.emit(this.hiddenList);
|
|
327
|
-
this.assuranceCategoryListLoaded = true;
|
|
328
|
-
}, err => {
|
|
329
|
-
console.error(err);
|
|
330
|
-
this.assuranceCategoryListLoaded = true;
|
|
331
|
-
});
|
|
332
|
-
}
|
|
333
|
-
getAssuranceForRequiresAudit() {
|
|
334
|
-
// this.assuranceCategoryListLoaded = true;
|
|
335
|
-
this.responsibilityService.getAssuranceForRequiresAudit().subscribe((res) => {
|
|
336
|
-
this.assuranceRequiresAuditList = res;
|
|
337
|
-
if ((this.subscriptionDetails && !this.subscriptionDetails[0].audit_flag) || this.assuranceRequiresAuditList.length == 0) {
|
|
338
|
-
this.hiddenList.push('REQUIRES_AUDIT');
|
|
339
|
-
}
|
|
340
|
-
this.hideElementsFromMoreOptions.emit(this.hiddenList);
|
|
341
|
-
// this.assuranceCategoryListLoaded = true;
|
|
342
|
-
}, err => {
|
|
343
|
-
console.error(err);
|
|
344
|
-
// this.assuranceCategoryListLoaded = true;
|
|
345
|
-
});
|
|
346
|
-
}
|
|
347
|
-
getOrganizationDetails() {
|
|
348
|
-
this.authService.getOrganizationDetails().subscribe((res) => {
|
|
349
|
-
this.isFrameworkAvailable = res === null || res === void 0 ? void 0 : res.enable_responsibility_framework;
|
|
350
|
-
});
|
|
351
|
-
}
|
|
352
|
-
getCategoryList() {
|
|
353
|
-
this.loader = true;
|
|
354
|
-
this.uiKitService.isLoader = true;
|
|
355
|
-
this.responsibilityService.getCategoriesList().subscribe(res => {
|
|
356
|
-
const data = res;
|
|
357
|
-
this.allCategories = cloneDeep(res);
|
|
358
|
-
data.forEach((element) => {
|
|
359
|
-
if (element && element.compliance_type == 0) {
|
|
360
|
-
this.categories.others.list.push(element);
|
|
361
|
-
}
|
|
362
|
-
if (element && element.compliance_type == 1) {
|
|
363
|
-
this.categories.regulations.list.push(element);
|
|
364
|
-
}
|
|
365
|
-
if (element && element.compliance_type == 2) {
|
|
366
|
-
this.categories.standards.list.push(element);
|
|
367
|
-
}
|
|
368
|
-
if (element && element.compliance_type == 3) {
|
|
369
|
-
this.categories.internalControls.list.push(element);
|
|
370
|
-
}
|
|
371
|
-
});
|
|
372
|
-
this.categoriesListLoaded = true;
|
|
373
|
-
}, err => {
|
|
374
|
-
console.error(err);
|
|
375
|
-
this.categoriesListLoaded = true;
|
|
376
|
-
});
|
|
377
|
-
}
|
|
378
|
-
getAssignorsList() {
|
|
379
|
-
this.responsibilityService.getAssignorsList().subscribe((res) => {
|
|
380
|
-
this.behalfOfUsersList = res;
|
|
381
|
-
this.refreshAllLists();
|
|
382
|
-
this.assignorsListLoaded = true;
|
|
383
|
-
}, err => {
|
|
384
|
-
console.error(err);
|
|
385
|
-
this.assignorsListLoaded = true;
|
|
386
|
-
});
|
|
387
|
-
}
|
|
388
|
-
getAssigneesList() {
|
|
389
|
-
this.responsibilityService.getOrganizationPeople().subscribe((res) => {
|
|
390
|
-
this.allUsersList = res.map((user) => {
|
|
391
|
-
user.member_name = user.employee_name;
|
|
392
|
-
return user;
|
|
393
|
-
});
|
|
394
|
-
this.refreshAllLists();
|
|
395
|
-
this.assigneesListLoaded = true;
|
|
396
|
-
}, err => {
|
|
397
|
-
console.error(err);
|
|
398
|
-
this.assigneesListLoaded = true;
|
|
399
|
-
});
|
|
400
|
-
}
|
|
401
|
-
getGroupsList() {
|
|
402
|
-
this.responsibilityService.getOrganizationGroups().subscribe((res) => {
|
|
403
|
-
const data = res;
|
|
404
|
-
const groups = [];
|
|
405
|
-
data.forEach((element) => {
|
|
406
|
-
const obj = {
|
|
407
|
-
groupName: element.group_name,
|
|
408
|
-
userIds: element.member_ids,
|
|
409
|
-
};
|
|
410
|
-
groups.push(obj);
|
|
411
|
-
});
|
|
412
|
-
this.groupsList = groups;
|
|
413
|
-
this.groupsListLoaded = true;
|
|
414
|
-
}, err => {
|
|
415
|
-
console.error(err);
|
|
416
|
-
this.groupsListLoaded = true;
|
|
417
|
-
});
|
|
418
|
-
}
|
|
419
|
-
getEditResponsibilityDetails(id) {
|
|
420
|
-
this.responsibilityService.editResponsibility(id).subscribe((res) => {
|
|
421
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
|
|
422
|
-
this.isDuplicateEntrust = true;
|
|
423
|
-
if (res) {
|
|
424
|
-
const currentUser = (_a = this.authService.getUserDetails()) === null || _a === void 0 ? void 0 : _a.user;
|
|
425
|
-
const currentsUerInfo = {
|
|
426
|
-
member_email: currentUser === null || currentUser === void 0 ? void 0 : currentUser.email,
|
|
427
|
-
member_id: currentUser.id,
|
|
428
|
-
member_name: currentUser.name,
|
|
429
|
-
organisation_id: currentUser.organisation_id,
|
|
430
|
-
_id: this.authService.getUserDetails()._id
|
|
431
|
-
};
|
|
432
|
-
console.log("currentsUerInfocurrentsUerInfo", currentsUerInfo, this.authService.getUserDetails());
|
|
433
|
-
const testPlanCategory = typeof (res === null || res === void 0 ? void 0 : res.testplan_category_id) === 'string' ? [] : res === null || res === void 0 ? void 0 : res.testplan_category_id;
|
|
434
|
-
const requiredAuditCategoryId = ((_b = res === null || res === void 0 ? void 0 : res.audit_category_details) === null || _b === void 0 ? void 0 : _b.category_id) ? [(_c = res === null || res === void 0 ? void 0 : res.audit_category_details) === null || _c === void 0 ? void 0 : _c.category_id] : [];
|
|
435
|
-
const reviewerDetails = Object.keys(res === null || res === void 0 ? void 0 : res.reviewer_arr);
|
|
436
|
-
this.assigneeRadioSelect = (((_d = res === null || res === void 0 ? void 0 : res.assigned_to_member_id) === null || _d === void 0 ? void 0 : _d.length) == 0) ? true : false;
|
|
437
|
-
this.isEntrust = res.isGroupAssignTo ? true : false;
|
|
438
|
-
this.responsibilityForm = {
|
|
439
|
-
assignors: {
|
|
440
|
-
enable: false,
|
|
441
|
-
list: this.setList(this.assignorsList, [res.member_id], 'member_id').length > 0 ? this.setList(this.assignorsList, [res.member_id], 'member_id') : [currentsUerInfo],
|
|
442
|
-
},
|
|
443
|
-
responsibility: {
|
|
444
|
-
name: res === null || res === void 0 ? void 0 : res.report_name,
|
|
445
|
-
keyResponsibility: res === null || res === void 0 ? void 0 : res.key_compliance,
|
|
446
|
-
},
|
|
447
|
-
assignees: {
|
|
448
|
-
whoCanComplete: (res.isGroupAssignTo) ? 'ANY_ONE' : 'ALL',
|
|
449
|
-
list: (res.assigned_to_member_id.length == 0) ? this.setList(this.assigneesList, [Number(res.assigned_to)], 'employee_id') :
|
|
450
|
-
this.setList(this.assigneesList, res.assigned_to_member_id, 'my_member_id'),
|
|
451
|
-
},
|
|
452
|
-
frequency: res === null || res === void 0 ? void 0 : res.frequency_details,
|
|
453
|
-
description: res === null || res === void 0 ? void 0 : res.remarks,
|
|
454
|
-
objective: res === null || res === void 0 ? void 0 : res.objective,
|
|
455
|
-
rc: this.setList(this.responsibilityCentersList, [Number(res === null || res === void 0 ? void 0 : res.rc_id)], 'rc_id'),
|
|
456
|
-
category: this.setList(this.allCategories, (res === null || res === void 0 ? void 0 : res.category_id.split(',').map(Number)), 'category_id'),
|
|
457
|
-
checkpointInstruction: res === null || res === void 0 ? void 0 : res.checkpoint_description,
|
|
458
|
-
customTags: (res === null || res === void 0 ? void 0 : res.custom_tags) ? JSON.parse(res === null || res === void 0 ? void 0 : res.custom_tags) : '',
|
|
459
|
-
checkpoints: (res === null || res === void 0 ? void 0 : res.checkpoint_details) ? JSON.parse(res === null || res === void 0 ? void 0 : res.checkpoint_details) : '',
|
|
460
|
-
reviewers: {
|
|
461
|
-
sequentialWorkflow: (((_f = (_e = res === null || res === void 0 ? void 0 : res.reviewer_arr) === null || _e === void 0 ? void 0 : _e.level1) === null || _f === void 0 ? void 0 : _f.type) == 'SEQUENTIAL') ? true : false,
|
|
462
|
-
reviewFrequency: {
|
|
463
|
-
reviewCompleteDays: ((reviewerDetails === null || reviewerDetails === void 0 ? void 0 : reviewerDetails.length) > 0) ? res === null || res === void 0 ? void 0 : res.review_after_days : 2,
|
|
464
|
-
reviewNOtCompletedDays: ((reviewerDetails === null || reviewerDetails === void 0 ? void 0 : reviewerDetails.length) > 0) ? res === null || res === void 0 ? void 0 : res.review_failed_after_days : 2
|
|
465
|
-
},
|
|
466
|
-
acceptedData: (reviewerDetails === null || reviewerDetails === void 0 ? void 0 : reviewerDetails.length) > 0 ? (_h = (_g = res === null || res === void 0 ? void 0 : res.reviewer_arr) === null || _g === void 0 ? void 0 : _g.level1) === null || _h === void 0 ? void 0 : _h.reviewers : [],
|
|
467
|
-
list: (reviewerDetails === null || reviewerDetails === void 0 ? void 0 : reviewerDetails.length) > 0 ? this.setReviewerPayload((_k = (_j = res === null || res === void 0 ? void 0 : res.reviewer_arr) === null || _j === void 0 ? void 0 : _j.level1) === null || _k === void 0 ? void 0 : _k.reviewers, 'object', (_m = (_l = res === null || res === void 0 ? void 0 : res.reviewer_arr) === null || _l === void 0 ? void 0 : _l.level1) === null || _m === void 0 ? void 0 : _m.type) : []
|
|
468
|
-
},
|
|
469
|
-
overseers: {
|
|
470
|
-
list: (res === null || res === void 0 ? void 0 : res.cc_email) ? this.setList(this.overseersList, Object.keys(res === null || res === void 0 ? void 0 : res.cc_email).map(Number), 'employee_id') : [],
|
|
471
|
-
notifyList: (res === null || res === void 0 ? void 0 : res.failure_cc_email) ? this.setList(this.overseersList, Object.keys(res === null || res === void 0 ? void 0 : res.failure_cc_email).map(Number), 'employee_id') : [],
|
|
472
|
-
},
|
|
473
|
-
formatAndEvidence: {
|
|
474
|
-
formatRequired: ((res === null || res === void 0 ? void 0 : res.report_format.length) > 0 || ((_o = res === null || res === void 0 ? void 0 : res.link_for_details) === null || _o === void 0 ? void 0 : _o.length) > 0) ? true : false,
|
|
475
|
-
formatFiles: res === null || res === void 0 ? void 0 : res.report_format,
|
|
476
|
-
formatLinks: res === null || res === void 0 ? void 0 : res.link_for_details,
|
|
477
|
-
evidenceRequired: (res === null || res === void 0 ? void 0 : res.report_upload_flag) ? true : false,
|
|
478
|
-
},
|
|
479
|
-
assuranceList: this.setList(this.assuranceCategoriesList, testPlanCategory, 'category_id'),
|
|
480
|
-
requiresAuditList: this.setList(this.assuranceRequiresAuditList, requiredAuditCategoryId, 'category_id'),
|
|
481
|
-
riskClass: res === null || res === void 0 ? void 0 : res.risk_class,
|
|
482
|
-
riskMatrix: res === null || res === void 0 ? void 0 : res.risk_matrix_data
|
|
483
|
-
};
|
|
484
|
-
this.isNotificationPending = res.notification_pending;
|
|
485
|
-
if (this.isNotificationPending) {
|
|
486
|
-
this.actionButtons[1].buttonText = 'View Responsibilities in Queue';
|
|
487
|
-
}
|
|
488
|
-
else {
|
|
489
|
-
this.actionButtons[1].buttonText = 'View Responsibilities';
|
|
490
|
-
}
|
|
491
|
-
// 5~0~0~0 this is for other frequency
|
|
492
|
-
if (res.frequency_details !== '' && res.frequency_details !== '5~0~0~0') {
|
|
493
|
-
this.frequencyDataPopulation(res);
|
|
494
|
-
this.getFrequencyPlaceholder(res);
|
|
495
|
-
res.placeholder = this.frequencyPlaceholder;
|
|
496
|
-
}
|
|
497
|
-
else {
|
|
498
|
-
this.isEntrust = true;
|
|
499
|
-
this.mode = 'CREATE';
|
|
500
|
-
this.assigneeRadioSelect = false;
|
|
501
|
-
this.responsibilityForm.assignors.enable = false;
|
|
502
|
-
this.responsibilityForm.assignors.list = [];
|
|
503
|
-
this.organizationId = this.authService.getOrganizationId();
|
|
504
|
-
this.memberId = this.authService.getMemberId();
|
|
505
|
-
}
|
|
506
|
-
if (((_p = this.responsibilityForm.assignees.list) === null || _p === void 0 ? void 0 : _p.length) === 0) {
|
|
507
|
-
this.isEntrust = true;
|
|
508
|
-
this.mode = 'CREATE';
|
|
509
|
-
this.assigneeRadioSelect = false;
|
|
510
|
-
this.responsibilityForm.assignors.enable = false;
|
|
511
|
-
this.responsibilityForm.assignors.list = [];
|
|
512
|
-
this.organizationId = this.authService.getOrganizationId();
|
|
513
|
-
this.memberId = this.authService.getMemberId();
|
|
514
|
-
}
|
|
515
|
-
//
|
|
516
|
-
if (res.frequency_details.split('~')[0] !== 6) {
|
|
517
|
-
this.loader = false;
|
|
518
|
-
this.uiKitService.isLoader = false;
|
|
519
|
-
}
|
|
520
|
-
if ((res === null || res === void 0 ? void 0 : res.rc_id) > 0) {
|
|
521
|
-
this.rcSelected.emit(true);
|
|
522
|
-
}
|
|
523
|
-
if (res === null || res === void 0 ? void 0 : res.audit_category_details) {
|
|
524
|
-
this.populateAssuranceList(res === null || res === void 0 ? void 0 : res.audit_category_details);
|
|
525
|
-
}
|
|
526
|
-
if ((_q = res.assessment) === null || _q === void 0 ? void 0 : _q.assessment_id) {
|
|
527
|
-
this.getAssessmentDetails(res.assessment, res.questionnaire_type);
|
|
528
|
-
}
|
|
529
|
-
if (!this.responsibilityForm.checkpoints) {
|
|
530
|
-
this.hiddenList.push('CHECKPOINTS');
|
|
531
|
-
this.hideElementsFromMoreOptions.emit(this.hiddenList);
|
|
532
|
-
}
|
|
533
|
-
else {
|
|
534
|
-
this.isAssessmentDisabled.emit(true);
|
|
535
|
-
}
|
|
536
|
-
this.refreshAllLists();
|
|
537
|
-
this.getEditMoreOptions(res);
|
|
538
|
-
}
|
|
539
|
-
});
|
|
540
|
-
}
|
|
541
|
-
setMoreOptions() {
|
|
542
|
-
}
|
|
543
|
-
setList(list, ids, key) {
|
|
544
|
-
const data = [];
|
|
545
|
-
ids === null || ids === void 0 ? void 0 : ids.forEach((element) => {
|
|
546
|
-
const index = list.findIndex((listElement) => listElement[key] == element);
|
|
547
|
-
if (index !== -1) {
|
|
548
|
-
data.push(list[index]);
|
|
549
|
-
}
|
|
550
|
-
});
|
|
551
|
-
return data;
|
|
552
|
-
}
|
|
553
|
-
returnIds(list, key) {
|
|
554
|
-
return list.map(ele => { if (ele[key]) {
|
|
555
|
-
return ele[key];
|
|
556
|
-
} }).filter(ele => ele);
|
|
557
|
-
}
|
|
558
|
-
setReviewerPayload(ids, type, acceptedData, reviewerType) {
|
|
559
|
-
console.log("reviewerTypereviewerType", reviewerType);
|
|
560
|
-
if (type === 'object') {
|
|
561
|
-
const idObjArray = this.returnIds(ids, 'member_id');
|
|
562
|
-
return this.setList(this.reviewersList, idObjArray, 'my_member_id');
|
|
563
|
-
}
|
|
564
|
-
else if (type === 'list') {
|
|
565
|
-
const payLoad = [];
|
|
566
|
-
const idsList = this.returnIds(ids, 'my_member_id');
|
|
567
|
-
idsList.forEach((element) => {
|
|
568
|
-
var _a, _b;
|
|
569
|
-
let index = -1;
|
|
570
|
-
if (((_a = (acceptedData !== null && acceptedData !== void 0 ? acceptedData : [])) === null || _a === void 0 ? void 0 : _a.length) > 0) {
|
|
571
|
-
index = (_b = acceptedData === null || acceptedData === void 0 ? void 0 : acceptedData.findIndex(ele => ele.member_id === element)) !== null && _b !== void 0 ? _b : -1;
|
|
572
|
-
}
|
|
573
|
-
let acceptStatus = (index > -1 && acceptedData) ? acceptedData[index].reviewer_accept : 0;
|
|
574
|
-
if (acceptStatus === 0 && reviewerType === 'ANYONE') {
|
|
575
|
-
acceptStatus = 1;
|
|
576
|
-
}
|
|
577
|
-
payLoad.push({ member_id: element, reviewer_accept: acceptStatus });
|
|
578
|
-
});
|
|
579
|
-
return payLoad;
|
|
580
|
-
}
|
|
581
|
-
}
|
|
582
|
-
checkWhetherAllListsLoaded() {
|
|
583
|
-
if (this.rcListLoaded && this.assigneesListLoaded && this.assignorsListLoaded &&
|
|
584
|
-
this.categoriesListLoaded && this.assuranceCategoryListLoaded && this.groupsListLoaded) {
|
|
585
|
-
if (this.frameworkDetails.length > 0) {
|
|
586
|
-
this.entrustFramework(this.frameworkDetails[0]);
|
|
587
|
-
}
|
|
588
|
-
if (this.mode === 'EDIT') {
|
|
589
|
-
this.getEditResponsibilityDetails(this.responsibilityId);
|
|
590
|
-
}
|
|
591
|
-
else {
|
|
592
|
-
this.loader = false;
|
|
593
|
-
this.uiKitService.isLoader = false;
|
|
594
|
-
}
|
|
595
|
-
}
|
|
596
|
-
else {
|
|
597
|
-
setTimeout(() => {
|
|
598
|
-
this.checkWhetherAllListsLoaded();
|
|
599
|
-
}, 300);
|
|
600
|
-
}
|
|
601
|
-
}
|
|
602
|
-
saveSelectedList(type, selectedItems) {
|
|
603
|
-
var _a, _b, _c, _d;
|
|
604
|
-
switch (type) {
|
|
605
|
-
case 'assignors':
|
|
606
|
-
if (this.invalidType === 'whom') {
|
|
607
|
-
this.invalidType = '';
|
|
608
|
-
}
|
|
609
|
-
this.responsibilityForm.assignors.list = this.setList(this.assignorsList, [selectedItems.member_id], 'member_id');
|
|
610
|
-
this.refreshAllLists();
|
|
611
|
-
break;
|
|
612
|
-
case 'assignees':
|
|
613
|
-
if (this.invalidType === 'who') {
|
|
614
|
-
this.invalidType = '';
|
|
615
|
-
}
|
|
616
|
-
if (this.assigneeRadioSelect) {
|
|
617
|
-
this.responsibilityForm.assignees.list = this.setList(this.assigneesList, [selectedItems.employee_id], 'employee_id');
|
|
618
|
-
this.refreshAllLists();
|
|
619
|
-
}
|
|
620
|
-
else {
|
|
621
|
-
this.responsibilityForm.assignees.list = this.setList(this.assigneesList, selectedItems, 'my_member_id');
|
|
622
|
-
this.refreshAllLists();
|
|
623
|
-
}
|
|
624
|
-
break;
|
|
625
|
-
case 'rc':
|
|
626
|
-
this.responsibilityForm.rc = this.setList(this.responsibilityCentersList, selectedItems, 'item_id');
|
|
627
|
-
this.rcSelected.emit(this.responsibilityForm.rc.length > 0);
|
|
628
|
-
if (this.responsibilityForm.rc.length === 0) {
|
|
629
|
-
this.responsibilityForm.requiresAuditList = [];
|
|
630
|
-
this.responsibilityForm['audit_category_details']['category_id'] = 0;
|
|
631
|
-
}
|
|
632
|
-
break;
|
|
633
|
-
case 'category':
|
|
634
|
-
this.responsibilityForm.category = selectedItems;
|
|
635
|
-
selectedItems.forEach((element) => {
|
|
636
|
-
const tag = element.custom_tags !== '' && element.custom_tags !== "null" && element.custom_tags != "[]" ? JSON.parse(element.custom_tags) : [];
|
|
637
|
-
if (tag.length > 0) {
|
|
638
|
-
tag.forEach((tagData) => {
|
|
639
|
-
const index = this.responsibilityForm.customTags.findIndex((tagElement) => tagElement.tag_name == tagData.tag_name);
|
|
640
|
-
if (index == -1) {
|
|
641
|
-
this.responsibilityForm.customTags.push(tagData);
|
|
642
|
-
}
|
|
643
|
-
});
|
|
644
|
-
}
|
|
645
|
-
});
|
|
646
|
-
break;
|
|
647
|
-
case 'reviewer':
|
|
648
|
-
this.responsibilityForm.reviewers.list = this.setList(this.reviewersList, selectedItems, 'employee_id');
|
|
649
|
-
this.refreshAllLists();
|
|
650
|
-
break;
|
|
651
|
-
case 'overseer':
|
|
652
|
-
this.responsibilityForm.overseers.list = this.setList(this.overseersList, selectedItems, 'employee_id');
|
|
653
|
-
this.refreshAllLists();
|
|
654
|
-
break;
|
|
655
|
-
case 'overseerNotify':
|
|
656
|
-
this.responsibilityForm.overseers.notifyList = this.setList(this.overseersList, selectedItems, 'employee_id');
|
|
657
|
-
this.refreshAllLists();
|
|
658
|
-
break;
|
|
659
|
-
// case 'assurance':
|
|
660
|
-
// this.responsibilityForm.assuranceList = this.setList(this.assuranceCategoriesList, [selectedItems?.category_id], 'category_id');
|
|
661
|
-
// console.log("this.responsibilityForm.assuranceList", this.responsibilityForm.assuranceList, this.responsibilityForm, this.responsibilityForm.audit_category)
|
|
662
|
-
// this.responsibilityForm['audit_category_details']['category_id'] = selectedItems?.category_id;
|
|
663
|
-
// break;
|
|
664
|
-
case 'assurance':
|
|
665
|
-
this.responsibilityForm.assuranceList = this.setList(this.assuranceCategoriesList, selectedItems, 'category_id');
|
|
666
|
-
break;
|
|
667
|
-
case 'requires_audit':
|
|
668
|
-
this.responsibilityForm.requiresAuditList = this.setList(this.assuranceRequiresAuditList, [selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.category_id], 'category_id');
|
|
669
|
-
console.log("this.responsibilityForm.requiresAuditList", this.responsibilityForm.requiresAuditList, this.responsibilityForm, this.responsibilityForm.audit_category);
|
|
670
|
-
this.responsibilityForm['audit_category_details']['category_id'] = selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.category_id;
|
|
671
|
-
break;
|
|
672
|
-
case 'checkpoints':
|
|
673
|
-
this.responsibilityForm.checkpoints = selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.checkpointDetails;
|
|
674
|
-
this.responsibilityForm.checkpointInstruction = selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.checkpointInstruction;
|
|
675
|
-
break;
|
|
676
|
-
case 'calculatedrisk':
|
|
677
|
-
this.responsibilityForm.riskClass = selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.riskClass;
|
|
678
|
-
this.responsibilityForm.riskMatrix = selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.riskMatrix;
|
|
679
|
-
break;
|
|
680
|
-
case 'formate_evidence':
|
|
681
|
-
this.responsibilityForm.formatAndEvidence.formatRequired = (_a = selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.isFormateUploaded) !== null && _a !== void 0 ? _a : false;
|
|
682
|
-
this.responsibilityForm.formatAndEvidence.formatFiles = (_b = selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.files) !== null && _b !== void 0 ? _b : [];
|
|
683
|
-
this.responsibilityForm.formatAndEvidence.formatLinks = (_c = selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.links) !== null && _c !== void 0 ? _c : [];
|
|
684
|
-
this.responsibilityForm.formatAndEvidence.evidenceRequired = (_d = selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.isEvidenceRequired) !== null && _d !== void 0 ? _d : false;
|
|
685
|
-
break;
|
|
686
|
-
case 'reviewFrequency':
|
|
687
|
-
this.responsibilityForm.reviewers.reviewFrequency = {
|
|
688
|
-
reviewCompleteDays: selectedItems.completeDays,
|
|
689
|
-
reviewNOtCompletedDays: selectedItems.notCompleted,
|
|
690
|
-
};
|
|
691
|
-
}
|
|
692
|
-
this.activeDeselector();
|
|
693
|
-
}
|
|
694
|
-
remove(type, event) {
|
|
695
|
-
console.log("type ===>", type, event);
|
|
696
|
-
switch (type) {
|
|
697
|
-
case 'rc':
|
|
698
|
-
const rcIndex = this.responsibilityForm.rc.findIndex((rc) => rc.rc_id == event.rc_id);
|
|
699
|
-
this.responsibilityForm.rc.splice(rcIndex, 1);
|
|
700
|
-
this.rcSelected.emit(this.responsibilityForm.rc.length > 0);
|
|
701
|
-
if (this.responsibilityForm.rc.length === 0) {
|
|
702
|
-
this.responsibilityForm.requiresAuditList = [];
|
|
703
|
-
this.responsibilityForm['audit_category_details']['category_id'] = 0;
|
|
704
|
-
}
|
|
705
|
-
break;
|
|
706
|
-
case 'assignors':
|
|
707
|
-
this.responsibilityForm.assignors.list = [];
|
|
708
|
-
this.refreshAllLists();
|
|
709
|
-
break;
|
|
710
|
-
case 'assignees':
|
|
711
|
-
const entrustIndex = this.responsibilityForm.assignees.list.findIndex((owner) => owner.employee_id == event.employee_id);
|
|
712
|
-
this.responsibilityForm.assignees.list.splice(entrustIndex, 1);
|
|
713
|
-
this.refreshAllLists();
|
|
714
|
-
break;
|
|
715
|
-
case 'reviewer':
|
|
716
|
-
const reviewerIndex = this.responsibilityForm.reviewers.list.findIndex((reviewer) => reviewer.employee_id == event.employee_id);
|
|
717
|
-
this.responsibilityForm.reviewers.list.splice(reviewerIndex, 1);
|
|
718
|
-
this.refreshAllLists();
|
|
719
|
-
break;
|
|
720
|
-
case 'overseer':
|
|
721
|
-
const overseerIndex = this.responsibilityForm.overseers.list.findIndex((overseer) => overseer.employee_id == event.employee_id);
|
|
722
|
-
this.responsibilityForm.overseers.list.splice(overseerIndex, 1);
|
|
723
|
-
this.refreshAllLists();
|
|
724
|
-
break;
|
|
725
|
-
case 'overseerNotifyList':
|
|
726
|
-
const overseerNotifyIndex = this.responsibilityForm.overseers.notifyList.findIndex((overseerN) => overseerN.employee_id == event.employee_id);
|
|
727
|
-
this.responsibilityForm.overseers.notifyList.splice(overseerNotifyIndex, 1);
|
|
728
|
-
this.refreshAllLists();
|
|
729
|
-
break;
|
|
730
|
-
case 'category':
|
|
731
|
-
const categoryIndex = this.responsibilityForm.category.findIndex((category) => category.category_id == event.category_id);
|
|
732
|
-
this.responsibilityForm.category.splice(categoryIndex, 1);
|
|
733
|
-
const tag = JSON.parse(event.custom_tags);
|
|
734
|
-
if (tag.length > 0) {
|
|
735
|
-
tag.forEach((tagData) => {
|
|
736
|
-
const indexCT = this.responsibilityForm.customTags.findIndex((tagElement) => tagElement.tag_name == tagData.tag_name);
|
|
737
|
-
if (indexCT != -1) {
|
|
738
|
-
this.responsibilityForm.customTags.splice(indexCT, 1);
|
|
739
|
-
}
|
|
740
|
-
});
|
|
741
|
-
}
|
|
742
|
-
if (this.responsibilityForm.category.length > 0) {
|
|
743
|
-
this.responsibilityForm.category.forEach((element) => {
|
|
744
|
-
const tag = JSON.parse(element.custom_tags);
|
|
745
|
-
if (tag.length > 0) {
|
|
746
|
-
tag.forEach((tagData) => {
|
|
747
|
-
const index = this.responsibilityForm.customTags.findIndex((tagElement) => tagElement.tag_name == tagData.tag_name);
|
|
748
|
-
if (index == -1) {
|
|
749
|
-
this.responsibilityForm.customTags.push(tagData);
|
|
750
|
-
}
|
|
751
|
-
});
|
|
752
|
-
}
|
|
753
|
-
});
|
|
754
|
-
}
|
|
755
|
-
break;
|
|
756
|
-
case 'requires_audit':
|
|
757
|
-
this.responsibilityForm.requiresAuditList = [];
|
|
758
|
-
this.responsibilityForm.audit_category_details = {
|
|
759
|
-
category_id: 0,
|
|
760
|
-
sample: 0,
|
|
761
|
-
percentage: 0,
|
|
762
|
-
frequency_pattern: '',
|
|
763
|
-
frequency_time: ''
|
|
764
|
-
};
|
|
765
|
-
break;
|
|
766
|
-
case 'assurance':
|
|
767
|
-
const assuranceIndex = this.responsibilityForm.assuranceList.findIndex((assurance) => assurance.category_id == assurance.category_id);
|
|
768
|
-
this.responsibilityForm.assuranceList.splice(assuranceIndex, 1);
|
|
769
|
-
break;
|
|
770
|
-
case 'checkpoint':
|
|
771
|
-
this.responsibilityForm.checkpoints.splice(event, 1);
|
|
772
|
-
break;
|
|
773
|
-
case 'assessment':
|
|
774
|
-
this.responsibilityForm.assessment = {
|
|
775
|
-
category_id: "",
|
|
776
|
-
assessment_id: "",
|
|
777
|
-
};
|
|
778
|
-
break;
|
|
779
|
-
case 'new-checkpoints':
|
|
780
|
-
this.responsibilityForm.new_checkpoints = {};
|
|
781
|
-
this.checkpointCount = 0;
|
|
782
|
-
this.checkpointCountUpdated.emit(this.checkpointCount);
|
|
783
|
-
break;
|
|
784
|
-
}
|
|
785
|
-
}
|
|
786
|
-
entrustFramework(event) {
|
|
787
|
-
var _a, _b, _c, _d;
|
|
788
|
-
this.reset();
|
|
789
|
-
this.activeDeselector();
|
|
790
|
-
this.responsibilityForm.responsibility = {
|
|
791
|
-
name: event.report_name,
|
|
792
|
-
keyResponsibility: (event.key_compliance) ? true : false,
|
|
793
|
-
};
|
|
794
|
-
const newStartDate = event.start_date || event.start_date != null || event.start_date !== '' ? new Date(event.start_date * 1000) : new Date();
|
|
795
|
-
const pvtTemplate = event.frequency_template && event.frequency_template !== '' ? event.frequency_template : event.frequency;
|
|
796
|
-
const frequencyDetailsObject = this.frequencyService.shortHand_freqCal(pvtTemplate, newStartDate.getDate(), newStartDate.getMonth(), newStartDate.getFullYear());
|
|
797
|
-
this.responsibilityForm.frequency_details = frequencyDetailsObject === null || frequencyDetailsObject === void 0 ? void 0 : frequencyDetailsObject.pattern;
|
|
798
|
-
event.frequency_details = this.responsibilityForm.frequency_details;
|
|
799
|
-
event.frequency_time = '23:59:00';
|
|
800
|
-
event.reminder_before_days = event.remind_days_before_due_date ? event.remind_days_before_due_date : 2;
|
|
801
|
-
;
|
|
802
|
-
event.failed_after_days = event.mark_failed_after ? event.mark_failed_after : 2;
|
|
803
|
-
event.lifecycle_details = '0000-00-00~~0';
|
|
804
|
-
event.start_of_day_utc = this.frequencyService.frameworkStartDate(event);
|
|
805
|
-
event.on_completion_of = [];
|
|
806
|
-
event.dom_utc = new Date().getTime();
|
|
807
|
-
event.continuous_failed_days = frequencyDetailsObject.continuous_failed_days;
|
|
808
|
-
this.responsibilityForm.frequency = this.responsibilityForm.frequency_details;
|
|
809
|
-
this.responsibilityForm.frequency_time = '23:59:00';
|
|
810
|
-
this.responsibilityForm.reminder_before_days = event.remind_days_before_due_date ? event.remind_days_before_due_date : 2;
|
|
811
|
-
;
|
|
812
|
-
this.responsibilityForm.failed_after_days = event.mark_failed_after ? event.mark_failed_after : 2;
|
|
813
|
-
this.responsibilityForm.lifecycleDetails = '0000-00-00~~0';
|
|
814
|
-
this.responsibilityForm.start_of_day_utc = this.frequencyService.frameworkStartDate(event).toFixed().toString();
|
|
815
|
-
this.responsibilityForm.on_completion_of = [];
|
|
816
|
-
this.responsibilityForm.dom_utc = new Date().getTime();
|
|
817
|
-
this.responsibilityForm.description = event.remarks.trim() != '' ? event.remarks : '';
|
|
818
|
-
this.responsibilityForm.customTags = event.custom_tags && event.custom_tags !== null && event.custom_tags !== 'null' && event.custom_tags !== '' ? JSON.parse(event.custom_tags) : [];
|
|
819
|
-
this.responsibilityForm.objective = event.control_objective ? event.control_objective : '';
|
|
820
|
-
this.responsibilityForm.category = this.setList(this.allCategories, [event.category_id], 'category_id'); //
|
|
821
|
-
this.responsibilityForm.reviewers.reviewFrequency.reviewCompleteDays = 2;
|
|
822
|
-
this.responsibilityForm.reviewers.reviewFrequency.reviewNOtCompletedDays = 2;
|
|
823
|
-
this.responsibilityForm.rc = this.responsibilityCentersList.find((rc) => rc.rc_id === event.entity_id) ? [this.responsibilityCentersList.find((rc) => rc.rc_id === event.entity_id)] : [];
|
|
824
|
-
this.responsibilityForm.riskClass = this.isRiskEnable ? 1 : 2;
|
|
825
|
-
this.responsibilityForm.private_library_id = event.report_id;
|
|
826
|
-
this.responsibilityForm.frequency = this.responsibilityForm.frequency_details;
|
|
827
|
-
this.responsibilityForm.classification = this.isRiskEnable ? 1 : 2;
|
|
828
|
-
this.responsibilityForm.continuous_failed_days = frequencyDetailsObject.continuous_failed_days;
|
|
829
|
-
this.responsibilityForm.startDate = this.frequencyService.frameworkStartDate(event);
|
|
830
|
-
this.responsibilityForm.formatAndEvidence = {
|
|
831
|
-
evidenceRequired: event.report_upload_flag ? true : false,
|
|
832
|
-
formatFiles: event.report_format,
|
|
833
|
-
formatLinks: !(event.report_format_link) || event.report_format_link == '' ? [] : [event.report_format_link],
|
|
834
|
-
formatRequired: (event.report_format.length > 0 || ((event.report_format_link) && event.report_format_link != '')) ? true : false
|
|
835
|
-
};
|
|
836
|
-
this.responsibilityForm.audit_category_details = {
|
|
837
|
-
category_id: 0,
|
|
838
|
-
sample: 5,
|
|
839
|
-
percentage: 30,
|
|
840
|
-
frequency_pattern: '1~0~3~1',
|
|
841
|
-
frequency_time: '23:59:00'
|
|
842
|
-
};
|
|
843
|
-
event.frequency_time = '11:59 pm';
|
|
844
|
-
if (event.frequency_details !== '' && event.frequency_details !== '5~0~0~0') {
|
|
845
|
-
this.frequencyPopulation(event);
|
|
846
|
-
}
|
|
847
|
-
else {
|
|
848
|
-
this.responsibilityForm.frequency = '';
|
|
849
|
-
}
|
|
850
|
-
event.frequency_time = '23:59:00';
|
|
851
|
-
event.placeholder = this.getFrequencyPlaceholder(event);
|
|
852
|
-
const checkedMoreOptions = [];
|
|
853
|
-
if (this.responsibilityForm.objective !== '') {
|
|
854
|
-
checkedMoreOptions.push('OBJECTIVE');
|
|
855
|
-
this.moreOptions.OBJECTIVE = true;
|
|
856
|
-
}
|
|
857
|
-
checkedMoreOptions.push('RISK_CLASSIFICATION');
|
|
858
|
-
this.moreOptions.RISK_CLASSIFICATION = true;
|
|
859
|
-
if (this.responsibilityForm.category.length > 0) {
|
|
860
|
-
checkedMoreOptions.push('CATEGORY');
|
|
861
|
-
this.moreOptions.CATEGORY = true;
|
|
862
|
-
}
|
|
863
|
-
if (((_b = (_a = this.responsibilityForm) === null || _a === void 0 ? void 0 : _a.formatAndEvidence) === null || _b === void 0 ? void 0 : _b.evidenceRequired) || ((_d = (_c = this.responsibilityForm) === null || _c === void 0 ? void 0 : _c.formatAndEvidence) === null || _d === void 0 ? void 0 : _d.formatRequired)) {
|
|
864
|
-
checkedMoreOptions.push('FORMATE_EVIDENCE');
|
|
865
|
-
this.moreOptions.FORMATE_EVIDENCE = true;
|
|
866
|
-
}
|
|
867
|
-
if (event.entity_id > 0) {
|
|
868
|
-
checkedMoreOptions.push('RC');
|
|
869
|
-
this.moreOptions.RC = true;
|
|
870
|
-
}
|
|
871
|
-
this.populateOption.emit(checkedMoreOptions);
|
|
872
|
-
// event.placeholder
|
|
873
|
-
}
|
|
874
|
-
refreshAllLists() {
|
|
875
|
-
let assignorAndAssigneesIds = [];
|
|
876
|
-
let reviewersIds = [];
|
|
877
|
-
let overseerIds = [];
|
|
878
|
-
let assigneeIds = [];
|
|
879
|
-
const allUsers = cloneDeep(this.allUsersList);
|
|
880
|
-
const behalfUsers = cloneDeep(this.behalfOfUsersList);
|
|
881
|
-
const assignors = cloneDeep(this.responsibilityForm.assignors.list);
|
|
882
|
-
const assignees = cloneDeep(this.responsibilityForm.assignees.list);
|
|
883
|
-
const reviewers = cloneDeep(this.responsibilityForm.reviewers.list);
|
|
884
|
-
const overseerList = cloneDeep(this.responsibilityForm.overseers.list);
|
|
885
|
-
const notifyOverseers = cloneDeep(this.responsibilityForm.overseers.notifyList);
|
|
886
|
-
assignors === null || assignors === void 0 ? void 0 : assignors.forEach((user) => {
|
|
887
|
-
assignorAndAssigneesIds.push(user.member_id);
|
|
888
|
-
});
|
|
889
|
-
assignees === null || assignees === void 0 ? void 0 : assignees.forEach((user) => {
|
|
890
|
-
assignorAndAssigneesIds.push(user.my_member_id);
|
|
891
|
-
assigneeIds.push(user.my_member_id);
|
|
892
|
-
});
|
|
893
|
-
if (this.responsibilityForm.assignors.list.length == 0) {
|
|
894
|
-
assignorAndAssigneesIds.push(this.memberId);
|
|
895
|
-
}
|
|
896
|
-
reviewers === null || reviewers === void 0 ? void 0 : reviewers.forEach((user) => {
|
|
897
|
-
reviewersIds.push(user.my_member_id);
|
|
898
|
-
});
|
|
899
|
-
overseerList === null || overseerList === void 0 ? void 0 : overseerList.forEach((user) => {
|
|
900
|
-
overseerIds.push(user.my_member_id);
|
|
901
|
-
});
|
|
902
|
-
notifyOverseers === null || notifyOverseers === void 0 ? void 0 : notifyOverseers.forEach((user) => {
|
|
903
|
-
overseerIds.push(user.my_member_id);
|
|
904
|
-
});
|
|
905
|
-
assignorAndAssigneesIds = [...new Set(assignorAndAssigneesIds)];
|
|
906
|
-
assigneeIds = [...new Set(assigneeIds)];
|
|
907
|
-
reviewersIds = [...new Set(reviewersIds)];
|
|
908
|
-
overseerIds = [...new Set(overseerIds)];
|
|
909
|
-
this.assignorsList = behalfUsers.filter((user) => !(overseerIds.includes(user.member_id)));
|
|
910
|
-
this.assigneesList = allUsers.filter((user) => !(reviewersIds.includes(user.my_member_id) || overseerIds.includes(user.my_member_id)));
|
|
911
|
-
this.reviewersList = allUsers.filter((user) => !(overseerIds.includes(user.my_member_id) || assigneeIds.includes(user.my_member_id)));
|
|
912
|
-
this.overseersList = allUsers.filter((user) => !(assignorAndAssigneesIds.includes(user.my_member_id) || reviewersIds.includes(user.my_member_id)));
|
|
913
|
-
}
|
|
914
|
-
submitResponsibility() {
|
|
915
|
-
const valid = this.validateResponsibility();
|
|
916
|
-
if (!valid) {
|
|
917
|
-
return false;
|
|
918
|
-
}
|
|
919
|
-
else if (this.mode == 'EDIT') {
|
|
920
|
-
this.organizationId = this.authService.getOrganizationId();
|
|
921
|
-
this.memberId = this.authService.getMemberId();
|
|
922
|
-
this.entrustResponsibility(this.responsibilityForm);
|
|
923
|
-
// edit conditions
|
|
924
|
-
}
|
|
925
|
-
else {
|
|
926
|
-
this.entrustResponsibility(this.responsibilityForm);
|
|
927
|
-
}
|
|
928
|
-
}
|
|
929
|
-
validateResponsibility() {
|
|
930
|
-
this.submitted = true;
|
|
931
|
-
if (this.responsibilityForm.assignors.enable && this.responsibilityForm.assignors.list.length === 0) {
|
|
932
|
-
this.invalidType = "whom";
|
|
933
|
-
return;
|
|
934
|
-
}
|
|
935
|
-
if (!this.responsibilityForm.responsibility.name || this.responsibilityForm.responsibility.name.trim() == '') {
|
|
936
|
-
this.invalidType = 'what';
|
|
937
|
-
}
|
|
938
|
-
else if (!this.responsibilityForm.assignees.list || this.responsibilityForm.assignees.list.length == 0) {
|
|
939
|
-
this.invalidType = 'who';
|
|
940
|
-
}
|
|
941
|
-
else if (!this.responsibilityForm.frequency || this.responsibilityForm.frequency == '' || this.responsibilityForm.frequency === '' || this.responsibilityForm.frequency === '5~0~0~0') {
|
|
942
|
-
this.invalidType = 'when';
|
|
943
|
-
}
|
|
944
|
-
else {
|
|
945
|
-
this.invalidType = '';
|
|
946
|
-
}
|
|
947
|
-
if (!this.responsibilityForm.responsibility.name || this.responsibilityForm.responsibility.name.trim() == ''
|
|
948
|
-
|| (!this.responsibilityForm.frequency || this.responsibilityForm.frequency === '' || this.responsibilityForm.frequency === '5~0~0~0') || this.responsibilityForm.assignees.list.length == 0) {
|
|
949
|
-
return false;
|
|
950
|
-
}
|
|
951
|
-
else {
|
|
952
|
-
return true;
|
|
953
|
-
}
|
|
954
|
-
}
|
|
955
|
-
entrustResponsibility(entrustForm) {
|
|
956
|
-
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
957
|
-
console.log("entrustForm ==>", entrustForm);
|
|
958
|
-
this.loader = true;
|
|
959
|
-
this.uiKitService.isLoader = true;
|
|
960
|
-
let startDate = moment(parseInt(entrustForm.startDate) * 1000).format("YYYY-MM-DD HH:mm:ss");
|
|
961
|
-
startDate = moment(startDate.split(' ')[0] + " 00:00:00").format("YYYY-MM-DD HH:mm:ss");
|
|
962
|
-
const rcDetails = entrustForm.rc.length > 0 ? entrustForm.rc.map((rc) => {
|
|
963
|
-
if (rc) {
|
|
964
|
-
const rcDetailsArr = {
|
|
965
|
-
parent_rc_ids: rc.parent_rc_ids,
|
|
966
|
-
rc_id: rc.rc_id
|
|
967
|
-
};
|
|
968
|
-
return rcDetailsArr;
|
|
969
|
-
}
|
|
970
|
-
}) : [];
|
|
971
|
-
const moreOptions = this.moreOptions;
|
|
972
|
-
const checkContinuousFailedValue = (details) => {
|
|
973
|
-
const frequencyType = parseInt(details.split('~')[0]);
|
|
974
|
-
if (frequencyType === 1 || frequencyType === 2 || frequencyType === 3) {
|
|
975
|
-
return true;
|
|
976
|
-
}
|
|
977
|
-
else {
|
|
978
|
-
return false;
|
|
979
|
-
}
|
|
980
|
-
};
|
|
981
|
-
const remarks = (entrustForm.description.replace(/\ /g, '').trim() !== '') ? entrustForm.description : '';
|
|
982
|
-
const objective = (entrustForm.objective.replace(/\ /g, '').trim() !== '') ? entrustForm.objective : '';
|
|
983
|
-
const payload = {
|
|
984
|
-
app_association: [],
|
|
985
|
-
assigned_to: this.returnIds(entrustForm.assignees.list, 'employee_id').toString(),
|
|
986
|
-
category_id: (moreOptions.CATEGORY) ? this.returnIds(entrustForm.category, 'category_id').toString() : '',
|
|
987
|
-
cc_email: (moreOptions.OVERSEER) ? this.returnIds(entrustForm.overseers.list, 'employee_id').toString() : '',
|
|
988
|
-
checkpoint_description: (moreOptions.CHECKPOINTS) ? entrustForm.checkpointInstruction : '',
|
|
989
|
-
checkpoint_details: (moreOptions.CHECKPOINTS) ? JSON.stringify(this.responsibilityForm.checkpoints) : '',
|
|
990
|
-
checkpoint_flag: 0,
|
|
991
|
-
collaborator_mark_done: 0,
|
|
992
|
-
comment: '',
|
|
993
|
-
continuous_failed_days: checkContinuousFailedValue(entrustForm.frequency) ? entrustForm.continuous_failed_days : 0,
|
|
994
|
-
cost_of_compliance: '',
|
|
995
|
-
created_by: ((_a = entrustForm.assignors.list) === null || _a === void 0 ? void 0 : _a.length) < 1 ? 0 : this.memberId,
|
|
996
|
-
creation_window: 0,
|
|
997
|
-
custom_tags: JSON.stringify(entrustForm.customTags),
|
|
998
|
-
entity_tree: (moreOptions.RC) ? rcDetails : [],
|
|
999
|
-
entrust_from_risk: this.openedFrom === 'RISK_TREATMENT' ? true : false,
|
|
1000
|
-
failed_after_days: entrustForm.failed_after_days,
|
|
1001
|
-
failed_time_utc: entrustForm.failed_time_utc,
|
|
1002
|
-
failure_cc_email: (moreOptions.OVERSEER) ? this.returnIds(entrustForm.overseers.notifyList, 'employee_id').toString() : '',
|
|
1003
|
-
frequency_details: entrustForm.frequency,
|
|
1004
|
-
frequency_time: (_b = entrustForm.timeIn24Hr) !== null && _b !== void 0 ? _b : "23:59:00",
|
|
1005
|
-
grc_object_id: 0,
|
|
1006
|
-
grc_relationship: '',
|
|
1007
|
-
if_testplan_failed: 0,
|
|
1008
|
-
impact: '',
|
|
1009
|
-
isGroupAssignTo: (entrustForm.assignees.whoCanComplete == 'ANY_ONE') ? 1 : 0,
|
|
1010
|
-
is_key_compliance: entrustForm.responsibility.keyResponsibility ? 1 : 0,
|
|
1011
|
-
library_report_id: 0,
|
|
1012
|
-
lifecycle_details: (_c = entrustForm.lifecycleDetails) !== null && _c !== void 0 ? _c : '0000-00-00~~0',
|
|
1013
|
-
link_for_details: (moreOptions.FORMATE_EVIDENCE) ? entrustForm.formatAndEvidence.formatLinks : [],
|
|
1014
|
-
linkages: { compliance: [] },
|
|
1015
|
-
member_id: this.returnIds(entrustForm.assignors.list, 'member_id').length > 0 ? this.returnIds(entrustForm.assignors.list, 'member_id')[0] : this.memberId,
|
|
1016
|
-
objective: (moreOptions.OBJECTIVE) ? objective : '',
|
|
1017
|
-
on_completion_of: entrustForm.reportId ? [entrustForm.reportId] : [],
|
|
1018
|
-
on_completion_of_type: 1,
|
|
1019
|
-
organisation_id: this.organizationId,
|
|
1020
|
-
override_weekly: 0,
|
|
1021
|
-
parent_id: 0,
|
|
1022
|
-
penalty: '',
|
|
1023
|
-
private_library_id: 0,
|
|
1024
|
-
remarks: remarks,
|
|
1025
|
-
reminder_before_days: entrustForm.reminder_before_days,
|
|
1026
|
-
report_format: (moreOptions.FORMATE_EVIDENCE) ? entrustForm.formatAndEvidence.formatFiles : [],
|
|
1027
|
-
report_format_link: '',
|
|
1028
|
-
report_name: entrustForm.responsibility.name,
|
|
1029
|
-
report_upload_flag: entrustForm.formatAndEvidence.evidenceRequired ? 1 : 0,
|
|
1030
|
-
review_after_days: (moreOptions.REVIEWER) ? entrustForm.reviewers.reviewFrequency.reviewCompleteDays === '' ? 0 : Number(entrustForm.reviewers.reviewFrequency.reviewCompleteDays) : 0,
|
|
1031
|
-
review_failed_after_days: (moreOptions.REVIEWER) ? entrustForm.reviewers.reviewFrequency.reviewNOtCompletedDays === '' ? 0 : Number(entrustForm.reviewers.reviewFrequency.reviewNOtCompletedDays) : 0,
|
|
1032
|
-
reviewer_arr: (moreOptions.REVIEWER) ? {
|
|
1033
|
-
level1: {
|
|
1034
|
-
reviewers: this.setReviewerPayload(entrustForm.reviewers.list, 'list', entrustForm.reviewers.acceptedData, (entrustForm.reviewers.sequentialWorkflow) ? 'SEQUENTIAL' : 'ANYONE'),
|
|
1035
|
-
type: (entrustForm.reviewers.sequentialWorkflow) ? 'SEQUENTIAL' : 'ANYONE'
|
|
1036
|
-
},
|
|
1037
|
-
} : {},
|
|
1038
|
-
reviewer_checkpoints: [{ checkpoints: [], instruction: '' }],
|
|
1039
|
-
reviewer_id: 0,
|
|
1040
|
-
risk_class: this.isRiskEnable ? entrustForm.riskClass : 2,
|
|
1041
|
-
risk_ids: '',
|
|
1042
|
-
risk_matrix_data: (moreOptions.RISK_CLASSIFICATION) ? entrustForm.riskMatrix : '0,0,0,0,0,0',
|
|
1043
|
-
sample_size: 0,
|
|
1044
|
-
start_date_utc: startDate,
|
|
1045
|
-
statutory_day: 0,
|
|
1046
|
-
test_required_flag: (moreOptions.ASSURANCE) ? (entrustForm.assuranceList.length > 0 ? 1 : 0) : 0,
|
|
1047
|
-
testplan_category_id: (moreOptions.ASSURANCE) ? this.returnIds(entrustForm.assuranceList, 'category_id') : [],
|
|
1048
|
-
testplan_category_manager: '',
|
|
1049
|
-
audit_category_details: ((_e = (_d = this.responsibilityForm) === null || _d === void 0 ? void 0 : _d.audit_category_details) === null || _e === void 0 ? void 0 : _e.category_id) ? {
|
|
1050
|
-
category_id: this.responsibilityForm.audit_category_details.category_id,
|
|
1051
|
-
sample: this.selectedSample === 0 ? this.sampleValue : 0,
|
|
1052
|
-
percentage: this.selectedSample === 1 ? this.samplePercentage : 0,
|
|
1053
|
-
frequency_pattern: `1~0~${this.sendAuditRemindersValue}~1`,
|
|
1054
|
-
frequency_time: moment(this.auditTime, 'HH:mm a').format('HH:mm:ss')
|
|
1055
|
-
} : {
|
|
1056
|
-
category_id: 0,
|
|
1057
|
-
sample: 0,
|
|
1058
|
-
percentage: 0,
|
|
1059
|
-
frequency_pattern: ``,
|
|
1060
|
-
frequency_time: ''
|
|
1061
|
-
},
|
|
1062
|
-
assessment: {
|
|
1063
|
-
category_id: moreOptions.ASSESSMENT ? (_f = entrustForm === null || entrustForm === void 0 ? void 0 : entrustForm.assessment) === null || _f === void 0 ? void 0 : _f.category_id : '',
|
|
1064
|
-
assessment_id: moreOptions.ASSESSMENT ? (_g = entrustForm === null || entrustForm === void 0 ? void 0 : entrustForm.assessment) === null || _g === void 0 ? void 0 : _g.assessment_id : ''
|
|
1065
|
-
},
|
|
1066
|
-
assessment_checkpoint: moreOptions.CHECKPOINTS_NEW ? (Object.keys(entrustForm === null || entrustForm === void 0 ? void 0 : entrustForm.new_checkpoints).length > 0 ? entrustForm === null || entrustForm === void 0 ? void 0 : entrustForm.new_checkpoints : {}) : {},
|
|
1067
|
-
questionnaire_type: moreOptions.CHECKPOINTS_NEW ? (Object.keys(entrustForm === null || entrustForm === void 0 ? void 0 : entrustForm.new_checkpoints).length > 0 ? 'assessment_checkpoint' : (moreOptions.ASSESSMENT && ((_h = entrustForm === null || entrustForm === void 0 ? void 0 : entrustForm.assessment) === null || _h === void 0 ? void 0 : _h.category_id) ? 'assessment' : (JSON.stringify(this.responsibilityForm.checkpoints) != '' && moreOptions.CHECKPOINTS ? 'checkpoint' : ''))) : ''
|
|
1068
|
-
};
|
|
1069
|
-
this.responsibilityPayload = payload;
|
|
1070
|
-
console.log("payloaddd", payload, this.mode);
|
|
1071
|
-
if (this.mode == 'CREATE' && !this.isDuplicateEntrust) {
|
|
1072
|
-
this.responsibilityService.submitEntrust(payload).subscribe((res) => {
|
|
1073
|
-
this.loader = false;
|
|
1074
|
-
this.uiKitService.isLoader = false;
|
|
1075
|
-
this.showSmiley = true;
|
|
1076
|
-
this.uiKitService.isSmileyOn = true;
|
|
1077
|
-
this.responsibilityData = res;
|
|
1078
|
-
if (res.message && res.message.toLowerCase() === 'bulk entrust') {
|
|
1079
|
-
this.smileyMessage = `You have entrusted ${res.calculate_no_of_responsibiities} responsibilities. These would be reflected within your account in sometime.`;
|
|
1080
|
-
}
|
|
1081
|
-
if (this.isNotificationPending && payload.created_by == 0) {
|
|
1082
|
-
this.smileyMessage = 'This responsibility has been added to the notification queue.';
|
|
1083
|
-
}
|
|
1084
|
-
else {
|
|
1085
|
-
if (payload.created_by > 0) {
|
|
1086
|
-
this.actionButtons[1].buttonText = "View Responsibilities";
|
|
1087
|
-
this.smileyMessage = `You just created a responsibility on behalf ${entrustForm.assignors.list.find((member) => member.member_id === payload.member_id).member_name}`;
|
|
1088
|
-
}
|
|
1089
|
-
}
|
|
1090
|
-
//this.reset();
|
|
1091
|
-
}, err => {
|
|
1092
|
-
console.log(err);
|
|
1093
|
-
this.loader = false;
|
|
1094
|
-
this.uiKitService.isLoader = false;
|
|
1095
|
-
this.snackBar.show('OOPS! Something went wrong and the page could not be loaded. Could you please try one more time?');
|
|
1096
|
-
});
|
|
1097
|
-
}
|
|
1098
|
-
if (this.mode == 'EDIT' || this.isDuplicateEntrust) {
|
|
1099
|
-
this.smileyMessage = `The responsibility has been modified.`;
|
|
1100
|
-
this.responsibilityService.updateEntrust(payload, this.responsibilityId, true).subscribe((res) => {
|
|
1101
|
-
this.responsibilityData = res;
|
|
1102
|
-
this.loader = false;
|
|
1103
|
-
this.uiKitService.isLoader = false;
|
|
1104
|
-
this.showSmiley = true;
|
|
1105
|
-
this.uiKitService.isSmileyOn = true;
|
|
1106
|
-
this.isDuplicateEntrust = false;
|
|
1107
|
-
// this.resetForm();
|
|
1108
|
-
}, err => {
|
|
1109
|
-
console.log(err);
|
|
1110
|
-
this.loader = false;
|
|
1111
|
-
this.uiKitService.isLoader = false;
|
|
1112
|
-
this.snackBar.show('OOPS! Something went wrong and the page could not be loaded. Could you please try one more time?');
|
|
1113
|
-
});
|
|
1114
|
-
}
|
|
1115
|
-
}
|
|
1116
|
-
reset() {
|
|
1117
|
-
this.scrollToBottom = false;
|
|
1118
|
-
this.showSmiley = false;
|
|
1119
|
-
this.uiKitService.isSmileyOn = false;
|
|
1120
|
-
this.responsibilityForm = {
|
|
1121
|
-
assignors: {
|
|
1122
|
-
enable: false,
|
|
1123
|
-
list: []
|
|
1124
|
-
},
|
|
1125
|
-
responsibility: {
|
|
1126
|
-
name: '',
|
|
1127
|
-
keyResponsibility: false,
|
|
1128
|
-
},
|
|
1129
|
-
assignees: {
|
|
1130
|
-
whoCanComplete: 'ALL',
|
|
1131
|
-
list: []
|
|
1132
|
-
},
|
|
1133
|
-
frequency: '',
|
|
1134
|
-
description: '',
|
|
1135
|
-
objective: '',
|
|
1136
|
-
rc: [],
|
|
1137
|
-
category: [],
|
|
1138
|
-
checkpointInstruction: '',
|
|
1139
|
-
customTags: [],
|
|
1140
|
-
checkpoints: [],
|
|
1141
|
-
reviewers: {
|
|
1142
|
-
sequentialWorkflow: true,
|
|
1143
|
-
reviewFrequency: {
|
|
1144
|
-
reviewCompleteDays: 2,
|
|
1145
|
-
reviewNOtCompletedDays: 2
|
|
1146
|
-
},
|
|
1147
|
-
list: []
|
|
1148
|
-
},
|
|
1149
|
-
overseers: {
|
|
1150
|
-
notifyList: [],
|
|
1151
|
-
list: []
|
|
1152
|
-
},
|
|
1153
|
-
formatAndEvidence: {
|
|
1154
|
-
formatRequired: false,
|
|
1155
|
-
formatFiles: [],
|
|
1156
|
-
formatLinks: [],
|
|
1157
|
-
evidenceRequired: false,
|
|
1158
|
-
},
|
|
1159
|
-
assuranceList: [],
|
|
1160
|
-
requiresAuditList: [],
|
|
1161
|
-
riskClass: 1,
|
|
1162
|
-
riskMatrix: '0,0,0,0,0,0'
|
|
1163
|
-
};
|
|
1164
|
-
this.moreOptions = {
|
|
1165
|
-
OBJECTIVE: false,
|
|
1166
|
-
RC: false,
|
|
1167
|
-
CATEGORY: false,
|
|
1168
|
-
FORMATE_EVIDENCE: false,
|
|
1169
|
-
CHECKPOINTS: false,
|
|
1170
|
-
RISK_CLASSIFICATION: false,
|
|
1171
|
-
REVIEWER: false,
|
|
1172
|
-
OVERSEER: false,
|
|
1173
|
-
ASSURANCE: false,
|
|
1174
|
-
APPS: false,
|
|
1175
|
-
};
|
|
1176
|
-
this.frequencyPlaceholder = 'How often does the responsibility occur?';
|
|
1177
|
-
this.frequencyDetails = {
|
|
1178
|
-
pattern: '',
|
|
1179
|
-
notificationPending: 0,
|
|
1180
|
-
dateOfModified: 0,
|
|
1181
|
-
deactivationValue: 0,
|
|
1182
|
-
selectedReport: 0,
|
|
1183
|
-
lifecycle: '0000-00-00~~0',
|
|
1184
|
-
startDate: Math.floor(new Date().getTime() / 1000),
|
|
1185
|
-
startOnTheDay: Math.floor(new Date().getTime() / 1000),
|
|
1186
|
-
window: 0,
|
|
1187
|
-
failed: 0,
|
|
1188
|
-
time: '11:59 pm',
|
|
1189
|
-
failedTime: '',
|
|
1190
|
-
continuous_failed_days: 0
|
|
1191
|
-
};
|
|
1192
|
-
this.sampleValue = undefined;
|
|
1193
|
-
this.samplePercentage = undefined;
|
|
1194
|
-
this.selectedSample = -1;
|
|
1195
|
-
this.sendAuditRemindersValue = 2;
|
|
1196
|
-
this.auditTime = '11:59 pm';
|
|
1197
|
-
this.mode = 'CREATE';
|
|
1198
|
-
this.isEntrust = true;
|
|
1199
|
-
this.resetForm.emit(true);
|
|
1200
|
-
}
|
|
1201
|
-
action(event) {
|
|
1202
|
-
if (this.openedFrom === 'RISK_TREATMENT') {
|
|
1203
|
-
this.closeSmiley('ds');
|
|
1204
|
-
return;
|
|
1205
|
-
}
|
|
1206
|
-
switch (event) {
|
|
1207
|
-
case 'addMore':
|
|
1208
|
-
this.reset();
|
|
1209
|
-
break;
|
|
1210
|
-
case 'view':
|
|
1211
|
-
this.viewResponsibilities();
|
|
1212
|
-
break;
|
|
1213
|
-
}
|
|
1214
|
-
}
|
|
1215
|
-
viewResponsibilities() {
|
|
1216
|
-
let url;
|
|
1217
|
-
let urlSubstring = '';
|
|
1218
|
-
this.disconnectRefresh.emit(false);
|
|
1219
|
-
if (this.isNotificationPending && this.responsibilityPayload.created_by == 0) {
|
|
1220
|
-
urlSubstring = 'compliance/manage-responsibilities/responsibilities-queue';
|
|
1221
|
-
}
|
|
1222
|
-
else if (this.responsibilityPayload.created_by > 0 && this.mode !== 'EDIT') {
|
|
1223
|
-
urlSubstring = 'compliance/manage-responsibilities/oversight-responsibilities?tab=4&page=1';
|
|
1224
|
-
}
|
|
1225
|
-
else {
|
|
1226
|
-
urlSubstring = 'compliance/manage-responsibilities';
|
|
1227
|
-
}
|
|
1228
|
-
if (window.location.host.startsWith('localhost')) {
|
|
1229
|
-
url = 'http://' + window.location.host + '/#/' + urlSubstring;
|
|
1230
|
-
}
|
|
1231
|
-
else {
|
|
1232
|
-
url = 'https://' + window.location.host + '/compliance/#/' + urlSubstring;
|
|
1233
|
-
}
|
|
1234
|
-
if (this.mode !== 'EDIT') {
|
|
1235
|
-
window.location.href = url;
|
|
1236
|
-
}
|
|
1237
|
-
this.closeSmiley('ds');
|
|
1238
|
-
this.reset();
|
|
1239
|
-
}
|
|
1240
|
-
closeSmiley(event) {
|
|
1241
|
-
this.showSmiley = false;
|
|
1242
|
-
this.uiKitService.isSmileyOn = false;
|
|
1243
|
-
// this.closeWorkflow.emit(this.responsibilityData);
|
|
1244
|
-
this.closeWorkflow.emit({ evt: this.responsibilityData, confirm: false });
|
|
1245
|
-
}
|
|
1246
|
-
// for edit responsibility
|
|
1247
|
-
frequencyDataPopulation(event) {
|
|
1248
|
-
var _a;
|
|
1249
|
-
const data = {
|
|
1250
|
-
pattern: event === null || event === void 0 ? void 0 : event.frequency_details,
|
|
1251
|
-
window: event === null || event === void 0 ? void 0 : event.reminder_before_days,
|
|
1252
|
-
failedAfter: event === null || event === void 0 ? void 0 : event.failed_after_days,
|
|
1253
|
-
failed_time_utc: event.failed_time_utc,
|
|
1254
|
-
lifecycleDetails: event === null || event === void 0 ? void 0 : event.lifecycle_details,
|
|
1255
|
-
startFrom: Number(event === null || event === void 0 ? void 0 : event.start_of_day_utc),
|
|
1256
|
-
timeIn24Hr: event.frequency_time,
|
|
1257
|
-
continuous_failed_days: event.continuous_failed_days,
|
|
1258
|
-
startDate: Number(event === null || event === void 0 ? void 0 : event.start_of_day_utc),
|
|
1259
|
-
reportId: (_a = event === null || event === void 0 ? void 0 : event.on_completion_of[0]) !== null && _a !== void 0 ? _a : 0,
|
|
1260
|
-
timeIn12hr: this.frequencyService.timeIn12(event.frequency_time != '' ? event.frequency_time : '23:59:00')
|
|
1261
|
-
};
|
|
1262
|
-
this.frequencyData(data);
|
|
1263
|
-
}
|
|
1264
|
-
frequencyPopulation(event) {
|
|
1265
|
-
var _a;
|
|
1266
|
-
this.frequencyDetails.pattern = event === null || event === void 0 ? void 0 : event.frequency_details;
|
|
1267
|
-
this.frequencyDetails.failedTime = event === null || event === void 0 ? void 0 : event.frequency_time;
|
|
1268
|
-
this.frequencyDetails.window = event === null || event === void 0 ? void 0 : event.reminder_before_days;
|
|
1269
|
-
this.frequencyDetails.failed = event === null || event === void 0 ? void 0 : event.failed_after_days;
|
|
1270
|
-
this.frequencyDetails.lifecycle = event === null || event === void 0 ? void 0 : event.lifecycle_details;
|
|
1271
|
-
this.frequencyDetails.startDate = event === null || event === void 0 ? void 0 : event.start_of_day_utc;
|
|
1272
|
-
this.frequencyDetails.selectedReport = (_a = event === null || event === void 0 ? void 0 : event.on_completion_of[0]) !== null && _a !== void 0 ? _a : 0;
|
|
1273
|
-
this.frequencyDetails.dateOfModified = event === null || event === void 0 ? void 0 : event.dom_utc;
|
|
1274
|
-
this.frequencyDetails.continuous_failed_days = event === null || event === void 0 ? void 0 : event.continuous_failed_days;
|
|
1275
|
-
this.frequencyPlaceholder = event === null || event === void 0 ? void 0 : event.placeholder;
|
|
1276
|
-
}
|
|
1277
|
-
frequencyData(event) {
|
|
1278
|
-
var _a;
|
|
1279
|
-
console.log("event==>", event);
|
|
1280
|
-
if (this.invalidType === 'when') {
|
|
1281
|
-
this.invalidType = '';
|
|
1282
|
-
}
|
|
1283
|
-
this.responsibilityForm.frequency = event.pattern;
|
|
1284
|
-
this.responsibilityForm.reminder_before_days = (event.case === "daily") ? 0 : event.window;
|
|
1285
|
-
//this.responsibilityForm.reminder_before_days = event.window;
|
|
1286
|
-
this.responsibilityForm.failed_after_days = event.failedAfter;
|
|
1287
|
-
this.responsibilityForm.failed_time_utc = event.failed_time_utc;
|
|
1288
|
-
this.responsibilityForm.lifecycleDetails = event.lifecycleDetails;
|
|
1289
|
-
this.responsibilityForm.reportId = (_a = event.reportId) !== null && _a !== void 0 ? _a : 0;
|
|
1290
|
-
this.responsibilityForm.startDate = event.startFrom;
|
|
1291
|
-
this.responsibilityForm.timeIn24Hr = event.timeIn24Hr;
|
|
1292
|
-
this.responsibilityForm.continuous_failed_days = event.continuous_failed_days;
|
|
1293
|
-
this.activateSelector('frequency', false);
|
|
1294
|
-
const payload = {
|
|
1295
|
-
frequency_details: event.pattern,
|
|
1296
|
-
frequency_time: event.timeIn12hr,
|
|
1297
|
-
reminder_before_days: event.window,
|
|
1298
|
-
failed_after_days: event.failedAfter,
|
|
1299
|
-
lifecycle_details: event.lifecycleDetails,
|
|
1300
|
-
start_of_day_utc: event.startFrom,
|
|
1301
|
-
on_completion_of: [event.reportId],
|
|
1302
|
-
dom_utc: Math.floor(Date.now() / 1000),
|
|
1303
|
-
continuous_failed_days: event.continuous_failed_days,
|
|
1304
|
-
placeholder: event.placeholder
|
|
1305
|
-
};
|
|
1306
|
-
this.frequencyPopulation(payload);
|
|
1307
|
-
}
|
|
1308
|
-
checkBlank(data) {
|
|
1309
|
-
let text = data;
|
|
1310
|
-
return text.replace(/\ /g, '');
|
|
1311
|
-
}
|
|
1312
|
-
getFrequencyPlaceholder(res) {
|
|
1313
|
-
try {
|
|
1314
|
-
if (res.frequency_details) {
|
|
1315
|
-
const frequencyDetails = res === null || res === void 0 ? void 0 : res.frequency_details.split('~');
|
|
1316
|
-
const frequencyTime = (res === null || res === void 0 ? void 0 : res.frequency_time) === '00:00:00' ? '12:00 am' : this.frequencyService.timeIn12(res === null || res === void 0 ? void 0 : res.frequency_time);
|
|
1317
|
-
switch (parseInt(frequencyDetails[0])) {
|
|
1318
|
-
case 1:
|
|
1319
|
-
this.getDailyPlaceholder(frequencyDetails, frequencyTime);
|
|
1320
|
-
break;
|
|
1321
|
-
case 2:
|
|
1322
|
-
this.getWeeklyPlaceholder(frequencyDetails, frequencyTime);
|
|
1323
|
-
break;
|
|
1324
|
-
case 3:
|
|
1325
|
-
this.getMonthlyPlaceholder(frequencyDetails, frequencyTime);
|
|
1326
|
-
break;
|
|
1327
|
-
case 7:
|
|
1328
|
-
this.getQuarterlyPlaceholder(frequencyDetails, frequencyTime);
|
|
1329
|
-
break;
|
|
1330
|
-
case 9:
|
|
1331
|
-
this.getBiannualPlaceholder(frequencyDetails, frequencyTime);
|
|
1332
|
-
break;
|
|
1333
|
-
case 4:
|
|
1334
|
-
this.getYearlyPlaceholder(frequencyDetails, frequencyTime);
|
|
1335
|
-
break;
|
|
1336
|
-
case 0:
|
|
1337
|
-
{
|
|
1338
|
-
const dateObject = new Date(moment(frequencyDetails[1] + '-' + frequencyDetails[2] + '-' + frequencyDetails[3] + ' 00:00:00', 'YYYY-MM-DD HH:mm:ss').unix() * 1000);
|
|
1339
|
-
// tslint:disable-next-line: max-line-length
|
|
1340
|
-
this.frequencyPlaceholder =
|
|
1341
|
-
'One Time ' + dateObject.getDate() + ' ' + this.shortMonth[dateObject.getMonth()] + ' ' + dateObject.getFullYear() + ' by ' + frequencyTime;
|
|
1342
|
-
}
|
|
1343
|
-
break;
|
|
1344
|
-
case 8:
|
|
1345
|
-
this.getRandomPlaceholder(frequencyDetails, frequencyTime);
|
|
1346
|
-
// tslint:disable-next-line: max-line-length
|
|
1347
|
-
break;
|
|
1348
|
-
case 10:
|
|
1349
|
-
{
|
|
1350
|
-
this.frequencyPlaceholder = 'You have selected an ongoing frequency.';
|
|
1351
|
-
}
|
|
1352
|
-
break;
|
|
1353
|
-
case 6:
|
|
1354
|
-
this.getOnCompletionOf(frequencyDetails, res === null || res === void 0 ? void 0 : res.on_completion_of[0]);
|
|
1355
|
-
}
|
|
1356
|
-
}
|
|
1357
|
-
}
|
|
1358
|
-
catch (e) {
|
|
1359
|
-
// tslint:disable-next-line: no-console
|
|
1360
|
-
console.log(e);
|
|
1361
|
-
}
|
|
1362
|
-
}
|
|
1363
|
-
getOnCompletionOf(frequencyDetails, reportId) {
|
|
1364
|
-
this.frequencyPlaceholder = frequencyDetails[3] + ' ' + (parseInt(frequencyDetails[3]) > 1 ? 'days' : 'day') + ' after completion of ';
|
|
1365
|
-
this.frequencyService.getOnCompletionOfResponsibility().subscribe((res) => {
|
|
1366
|
-
const reportDetails = res.find((ele) => ele.ReportId == reportId);
|
|
1367
|
-
this.frequencyPlaceholder = frequencyDetails[3] + ' ' + (parseInt(frequencyDetails[3]) > 1 ? 'days' : 'day') + ' after completion of ' + (reportDetails ? reportDetails.report_name : '');
|
|
1368
|
-
this.loader = false;
|
|
1369
|
-
this.uiKitService.isLoader = false;
|
|
1370
|
-
});
|
|
1371
|
-
}
|
|
1372
|
-
getDailyPlaceholder(frequencyDetails, frequencyTime) {
|
|
1373
|
-
{
|
|
1374
|
-
frequencyDetails = frequencyDetails.map(Number);
|
|
1375
|
-
if (parseInt(frequencyDetails[3]) === 1) {
|
|
1376
|
-
this.frequencyPlaceholder = 'Daily by ' + frequencyTime;
|
|
1377
|
-
}
|
|
1378
|
-
else if (parseInt(frequencyDetails[3]) > 1) {
|
|
1379
|
-
this.frequencyPlaceholder = 'Every ' + parseInt(frequencyDetails[3]) + ' days by ' + frequencyTime;
|
|
1380
|
-
}
|
|
1381
|
-
}
|
|
1382
|
-
}
|
|
1383
|
-
getWeeklyPlaceholder(frequencyDetails, frequencyTime) {
|
|
1384
|
-
{
|
|
1385
|
-
const selectedDay = frequencyDetails[1].split(',').map((ele) => {
|
|
1386
|
-
return this.frequencyService.dayName[parseInt(ele) - 1];
|
|
1387
|
-
});
|
|
1388
|
-
if (parseInt(frequencyDetails[3]) === 1) {
|
|
1389
|
-
this.frequencyPlaceholder = 'Every ' + selectedDay.join() + ' by ' + frequencyTime;
|
|
1390
|
-
}
|
|
1391
|
-
if (parseInt(frequencyDetails[3]) === 2) {
|
|
1392
|
-
this.frequencyPlaceholder = 'Every alternate ' + selectedDay.join() + ' by ' + frequencyTime;
|
|
1393
|
-
}
|
|
1394
|
-
if (parseInt(frequencyDetails[3]) === 3) {
|
|
1395
|
-
this.frequencyPlaceholder = 'Every 3rd ' + selectedDay.join() + ' by ' + frequencyTime;
|
|
1396
|
-
}
|
|
1397
|
-
if (parseInt(frequencyDetails[3]) > 3) {
|
|
1398
|
-
this.frequencyPlaceholder = 'Every ' + parseInt(frequencyDetails[1]) + 'th ' + selectedDay.join() + ' by ' + frequencyTime;
|
|
1399
|
-
}
|
|
1400
|
-
}
|
|
1401
|
-
}
|
|
1402
|
-
getMonthlyPlaceholder(frequencyDetails, frequencyTime) {
|
|
1403
|
-
{
|
|
1404
|
-
const selectedMonth = frequencyDetails[2].split(',').map((ele) => {
|
|
1405
|
-
return this.shortMonth[parseInt(ele) - 1];
|
|
1406
|
-
});
|
|
1407
|
-
if (parseInt(frequencyDetails[1]) === 1) {
|
|
1408
|
-
this.frequencyPlaceholder = '1st of every ' + selectedMonth.join(', ') + ' by ' + frequencyTime;
|
|
1409
|
-
}
|
|
1410
|
-
else if (parseInt(frequencyDetails[1]) === 2) {
|
|
1411
|
-
this.frequencyPlaceholder = '2nd of every ' + selectedMonth.join(', ') + ' by ' + frequencyTime;
|
|
1412
|
-
}
|
|
1413
|
-
else if (parseInt(frequencyDetails[1]) === 3) {
|
|
1414
|
-
this.frequencyPlaceholder = '3rd of every ' + selectedMonth.join(', ') + ' by ' + frequencyTime;
|
|
1415
|
-
}
|
|
1416
|
-
else if (parseInt(frequencyDetails[1]) === 21 || parseInt(frequencyDetails[1]) === 31) {
|
|
1417
|
-
this.frequencyPlaceholder = parseInt(frequencyDetails[1]) + 'st of every ' + selectedMonth.join(', ') + ' by ' + frequencyTime;
|
|
1418
|
-
}
|
|
1419
|
-
else if (parseInt(frequencyDetails[1]) === 22) {
|
|
1420
|
-
this.frequencyPlaceholder = parseInt(frequencyDetails[1]) + 'nd of every ' + selectedMonth.join(', ') + ' by ' + frequencyTime;
|
|
1421
|
-
}
|
|
1422
|
-
else if (parseInt(frequencyDetails[1]) === 23) {
|
|
1423
|
-
this.frequencyPlaceholder = parseInt(frequencyDetails[1]) + 'rd of every ' + selectedMonth.join(', ') + ' by ' + frequencyTime;
|
|
1424
|
-
}
|
|
1425
|
-
else if (parseInt(frequencyDetails[1]) > 3) {
|
|
1426
|
-
this.frequencyPlaceholder = parseInt(frequencyDetails[1]) + 'th of every ' + selectedMonth.join(', ') + ' by ' + frequencyTime;
|
|
1427
|
-
}
|
|
1428
|
-
}
|
|
1429
|
-
}
|
|
1430
|
-
getQuarterlyPlaceholder(frequencyDetails, frequencyTime) {
|
|
1431
|
-
{
|
|
1432
|
-
const quarterly = ['January, April, July, October', 'February, May, August, November', ' March, June, September, December'];
|
|
1433
|
-
if (parseInt(frequencyDetails[1]) === 1) {
|
|
1434
|
-
this.frequencyPlaceholder = '1st of every ' + quarterly[parseInt(frequencyDetails[2].split(',')[0]) - 1] + ' by ' + frequencyTime;
|
|
1435
|
-
}
|
|
1436
|
-
else if (parseInt(frequencyDetails[1]) === 2) {
|
|
1437
|
-
this.frequencyPlaceholder = '2nd of every ' + quarterly[parseInt(frequencyDetails[2].split(',')[0]) - 1] + ' by ' + frequencyTime;
|
|
1438
|
-
}
|
|
1439
|
-
else if (parseInt(frequencyDetails[1]) === 3) {
|
|
1440
|
-
this.frequencyPlaceholder = '3rd of every ' + quarterly[parseInt(frequencyDetails[2].split(',')[0]) - 1] + ' by ' + frequencyTime;
|
|
1441
|
-
}
|
|
1442
|
-
else if (parseInt(frequencyDetails[1]) === 21 || parseInt(frequencyDetails[1]) === 31) {
|
|
1443
|
-
this.frequencyPlaceholder = parseInt(frequencyDetails[1]) + 'st of every ' + quarterly[parseInt(frequencyDetails[2].split(',')[0]) - 1] + ' by ' + frequencyTime;
|
|
1444
|
-
}
|
|
1445
|
-
else if (parseInt(frequencyDetails[1]) === 22) {
|
|
1446
|
-
this.frequencyPlaceholder = parseInt(frequencyDetails[1]) + 'nd of every ' + quarterly[parseInt(frequencyDetails[2].split(',')[0]) - 1] + ' by ' + frequencyTime;
|
|
1447
|
-
}
|
|
1448
|
-
else if (parseInt(frequencyDetails[1]) === 23) {
|
|
1449
|
-
this.frequencyPlaceholder = parseInt(frequencyDetails[1]) + 'rd of every ' + quarterly[parseInt(frequencyDetails[2].split(',')[0]) - 1] + ' by ' + frequencyTime;
|
|
1450
|
-
}
|
|
1451
|
-
else if (parseInt(frequencyDetails[1]) > 3) {
|
|
1452
|
-
this.frequencyPlaceholder = parseInt(frequencyDetails[1]) + 'th of every ' + quarterly[parseInt(frequencyDetails[2].split(',')[0]) - 1] + ' by ' + frequencyTime;
|
|
1453
|
-
}
|
|
1454
|
-
}
|
|
1455
|
-
}
|
|
1456
|
-
getBiannualPlaceholder(frequencyDetails, frequencyTime) {
|
|
1457
|
-
{
|
|
1458
|
-
const selectedMonth = frequencyDetails[2].split(',').map((ele) => {
|
|
1459
|
-
return this.shortMonth[parseInt(ele) - 1];
|
|
1460
|
-
});
|
|
1461
|
-
if (parseInt(frequencyDetails[1]) === 1) {
|
|
1462
|
-
this.frequencyPlaceholder = '1st of every ' + selectedMonth.join(', ') + ' by ' + frequencyTime;
|
|
1463
|
-
}
|
|
1464
|
-
else if (parseInt(frequencyDetails[1]) === 2) {
|
|
1465
|
-
this.frequencyPlaceholder = '2nd of every ' + selectedMonth.join(', ') + ' by ' + frequencyTime;
|
|
1466
|
-
}
|
|
1467
|
-
else if (parseInt(frequencyDetails[1]) === 3) {
|
|
1468
|
-
this.frequencyPlaceholder = '3rd of every ' + selectedMonth.join(', ') + ' by ' + frequencyTime;
|
|
1469
|
-
}
|
|
1470
|
-
else if (parseInt(frequencyDetails[1]) === 21 || parseInt(frequencyDetails[1]) === 31) {
|
|
1471
|
-
this.frequencyPlaceholder = parseInt(frequencyDetails[1]) + 'st of every ' + selectedMonth.join(', ') + ' by ' + frequencyTime;
|
|
1472
|
-
}
|
|
1473
|
-
else if (parseInt(frequencyDetails[1]) === 22) {
|
|
1474
|
-
this.frequencyPlaceholder = parseInt(frequencyDetails[1]) + 'nd of every ' + selectedMonth.join(', ') + ' by ' + frequencyTime;
|
|
1475
|
-
}
|
|
1476
|
-
else if (parseInt(frequencyDetails[1]) === 23) {
|
|
1477
|
-
this.frequencyPlaceholder = parseInt(frequencyDetails[1]) + 'rd of every ' + selectedMonth.join(', ') + ' by ' + frequencyTime;
|
|
1478
|
-
}
|
|
1479
|
-
else if (parseInt(frequencyDetails[1]) > 3) {
|
|
1480
|
-
this.frequencyPlaceholder = parseInt(frequencyDetails[1]) + 'th of every ' + selectedMonth.join(', ') + ' by ' + frequencyTime;
|
|
1481
|
-
}
|
|
1482
|
-
}
|
|
1483
|
-
}
|
|
1484
|
-
getYearlyPlaceholder(frequencyDetails, frequencyTime) {
|
|
1485
|
-
{
|
|
1486
|
-
const yearSequence = parseInt(frequencyDetails[3]) > 0 ? parseInt(frequencyDetails[3]) : 1;
|
|
1487
|
-
if (parseInt(frequencyDetails[1]) < 2) {
|
|
1488
|
-
if (parseInt(frequencyDetails[1]) === 1) {
|
|
1489
|
-
this.frequencyPlaceholder = '1st of every ' + this.shortMonth[parseInt(frequencyDetails[2]) - 1] + ' by ' + frequencyTime;
|
|
1490
|
-
}
|
|
1491
|
-
if (parseInt(frequencyDetails[1]) === 2) {
|
|
1492
|
-
this.frequencyPlaceholder = '2nd of every ' + this.shortMonth[parseInt(frequencyDetails[2]) - 1] + ' by ' + frequencyTime;
|
|
1493
|
-
}
|
|
1494
|
-
if (parseInt(frequencyDetails[1]) === 3) {
|
|
1495
|
-
this.frequencyPlaceholder = '3rd of every ' + this.shortMonth[parseInt(frequencyDetails[2]) - 1] + ' by ' + frequencyTime;
|
|
1496
|
-
}
|
|
1497
|
-
if (parseInt(frequencyDetails[1]) > 3) {
|
|
1498
|
-
this.frequencyPlaceholder = parseInt(frequencyDetails[1]) + 'th of every ' + this.shortMonth[parseInt(frequencyDetails[2]) - 1] + ' by ' + frequencyTime;
|
|
1499
|
-
}
|
|
1500
|
-
if (parseInt(frequencyDetails[1]) === 31 || parseInt(frequencyDetails[1]) === 21) {
|
|
1501
|
-
this.frequencyPlaceholder = parseInt(frequencyDetails[1]) + 'st of every ' + this.shortMonth[parseInt(frequencyDetails[2]) - 1] + ' by ' + frequencyTime;
|
|
1502
|
-
}
|
|
1503
|
-
if (parseInt(frequencyDetails[1]) === 22) {
|
|
1504
|
-
this.frequencyPlaceholder = parseInt(frequencyDetails[1]) + 'nd of every ' + this.shortMonth[parseInt(frequencyDetails[2]) - 1] + ' by ' + frequencyTime;
|
|
1505
|
-
}
|
|
1506
|
-
if (parseInt(frequencyDetails[1]) === 23) {
|
|
1507
|
-
this.frequencyPlaceholder = parseInt(frequencyDetails[1]) + 'rd of every ' + this.shortMonth[parseInt(frequencyDetails[2]) - 1] + ' by ' + frequencyTime;
|
|
1508
|
-
}
|
|
1509
|
-
}
|
|
1510
|
-
if (parseInt(frequencyDetails[1]) > 1) {
|
|
1511
|
-
if (parseInt(frequencyDetails[1]) === 1) {
|
|
1512
|
-
// tslint:disable-next-line: max-line-length
|
|
1513
|
-
this.frequencyPlaceholder = '1st ' + this.shortMonth[parseInt(frequencyDetails[2]) - 1] + ', Interval: every ' + yearSequence + ' years by ' + frequencyTime;
|
|
1514
|
-
}
|
|
1515
|
-
if (parseInt(frequencyDetails[1]) === 2) {
|
|
1516
|
-
// tslint:disable-next-line: max-line-length
|
|
1517
|
-
this.frequencyPlaceholder = '2nd ' + this.shortMonth[parseInt(frequencyDetails[2]) - 1] + ', Interval: every ' + yearSequence + ' years by ' + frequencyTime;
|
|
1518
|
-
}
|
|
1519
|
-
if (parseInt(frequencyDetails[1]) === 3) {
|
|
1520
|
-
// tslint:disable-next-line: max-line-length
|
|
1521
|
-
this.frequencyPlaceholder = '3rd ' + this.shortMonth[parseInt(frequencyDetails[2]) - 1] + ', Interval: every ' + yearSequence + ' years by ' + frequencyTime;
|
|
1522
|
-
}
|
|
1523
|
-
if (parseInt(frequencyDetails[1]) > 3) {
|
|
1524
|
-
// tslint:disable-next-line: max-line-length
|
|
1525
|
-
this.frequencyPlaceholder =
|
|
1526
|
-
parseInt(frequencyDetails[1]) + 'th of ' + this.shortMonth[parseInt(frequencyDetails[2]) - 1] + ', Interval: every ' + yearSequence + ' years by ' + frequencyTime;
|
|
1527
|
-
}
|
|
1528
|
-
if (parseInt(frequencyDetails[1]) === 31 || parseInt(frequencyDetails[1]) === 21) {
|
|
1529
|
-
this.frequencyPlaceholder = parseInt(frequencyDetails[1]) + 'st of every ' + this.shortMonth[parseInt(frequencyDetails[2]) - 1] + ' by ' + frequencyTime;
|
|
1530
|
-
}
|
|
1531
|
-
if (parseInt(frequencyDetails[1]) === 22) {
|
|
1532
|
-
this.frequencyPlaceholder = parseInt(frequencyDetails[1]) + 'nd of every ' + this.shortMonth[parseInt(frequencyDetails[2]) - 1] + ' by ' + frequencyTime;
|
|
1533
|
-
}
|
|
1534
|
-
if (parseInt(frequencyDetails[1]) === 23) {
|
|
1535
|
-
this.frequencyPlaceholder = parseInt(frequencyDetails[1]) + 'rd of every ' + this.shortMonth[parseInt(frequencyDetails[2]) - 1] + ' by ' + frequencyTime;
|
|
1536
|
-
}
|
|
1537
|
-
}
|
|
1538
|
-
}
|
|
1539
|
-
}
|
|
1540
|
-
getRandomPlaceholder(frequencyDetails, frequencyTime) {
|
|
1541
|
-
const quarterly = ['January, April, July, October', 'February, May, August, November', ' March, June, September, December'];
|
|
1542
|
-
{
|
|
1543
|
-
switch (parseInt(frequencyDetails[1])) {
|
|
1544
|
-
case 1:
|
|
1545
|
-
this.frequencyPlaceholder = 'Every week for ' + frequencyDetails[3] + ' random instances';
|
|
1546
|
-
break;
|
|
1547
|
-
case 2:
|
|
1548
|
-
this.frequencyPlaceholder =
|
|
1549
|
-
' Every ' +
|
|
1550
|
-
frequencyDetails[2].split(',').map((ele) => {
|
|
1551
|
-
return this.shortMonth[parseInt(ele) - 1];
|
|
1552
|
-
// tslint:disable-next-line: align
|
|
1553
|
-
}) +
|
|
1554
|
-
' for ' +
|
|
1555
|
-
frequencyDetails[3] +
|
|
1556
|
-
' random instances';
|
|
1557
|
-
break;
|
|
1558
|
-
case 3:
|
|
1559
|
-
this.frequencyPlaceholder = 'Every ' + quarterly[parseInt(frequencyDetails[2].split(',')[0]) - 1] + ' for ' + frequencyDetails[3] + ' random instances';
|
|
1560
|
-
break;
|
|
1561
|
-
case 4:
|
|
1562
|
-
this.frequencyPlaceholder = 'Every year for ' + frequencyDetails[3] + ' random instances';
|
|
1563
|
-
}
|
|
1564
|
-
}
|
|
1565
|
-
}
|
|
1566
|
-
onEditWhat(event) {
|
|
1567
|
-
setTimeout(() => {
|
|
1568
|
-
var _a, _b;
|
|
1569
|
-
this.isEditWhat = false;
|
|
1570
|
-
(_b = (_a = this.whatInput) === null || _a === void 0 ? void 0 : _a.nativeElement) === null || _b === void 0 ? void 0 : _b.focus();
|
|
1571
|
-
}, 0);
|
|
1572
|
-
}
|
|
1573
|
-
getEditMoreOptions(res) {
|
|
1574
|
-
let checkedMoreOptions = [];
|
|
1575
|
-
if (this.responsibilityForm.objective !== '') {
|
|
1576
|
-
checkedMoreOptions.push('OBJECTIVE');
|
|
1577
|
-
this.moreOptions.OBJECTIVE = true;
|
|
1578
|
-
}
|
|
1579
|
-
checkedMoreOptions.push('RISK_CLASSIFICATION');
|
|
1580
|
-
this.moreOptions.RISK_CLASSIFICATION = true;
|
|
1581
|
-
if (this.responsibilityForm.category.length > 0) {
|
|
1582
|
-
checkedMoreOptions.push('CATEGORY');
|
|
1583
|
-
this.moreOptions.CATEGORY = true;
|
|
1584
|
-
}
|
|
1585
|
-
if (this.responsibilityForm.formatAndEvidence.evidenceRequired || this.responsibilityForm.formatAndEvidence.formatRequired) {
|
|
1586
|
-
checkedMoreOptions.push('FORMATE_EVIDENCE');
|
|
1587
|
-
this.moreOptions.FORMATE_EVIDENCE = true;
|
|
1588
|
-
}
|
|
1589
|
-
if (this.responsibilityForm.rc.length > 0) {
|
|
1590
|
-
checkedMoreOptions.push('RC');
|
|
1591
|
-
this.moreOptions.RC = true;
|
|
1592
|
-
}
|
|
1593
|
-
if (this.responsibilityForm.checkpoints.length > 0) {
|
|
1594
|
-
checkedMoreOptions.push('CHECKPOINTS');
|
|
1595
|
-
this.moreOptions.CHECKPOINTS = true;
|
|
1596
|
-
}
|
|
1597
|
-
if (this.responsibilityForm.reviewers.list.length > 0) {
|
|
1598
|
-
checkedMoreOptions.push('REVIEWER');
|
|
1599
|
-
this.moreOptions.REVIEWER = true;
|
|
1600
|
-
}
|
|
1601
|
-
if (this.responsibilityForm.overseers.list.length > 0 || this.responsibilityForm.overseers.notifyList.length > 0) {
|
|
1602
|
-
checkedMoreOptions.push('OVERSEER');
|
|
1603
|
-
this.moreOptions.OVERSEER = true;
|
|
1604
|
-
}
|
|
1605
|
-
if (this.responsibilityForm.assuranceList.length > 0) {
|
|
1606
|
-
checkedMoreOptions.push('ASSURANCE');
|
|
1607
|
-
this.moreOptions.ASSURANCE = true;
|
|
1608
|
-
}
|
|
1609
|
-
if (this.responsibilityForm.requiresAuditList.length > 0) {
|
|
1610
|
-
checkedMoreOptions.push('REQUIRES_AUDIT');
|
|
1611
|
-
this.moreOptions.REQUIRES_AUDIT = true;
|
|
1612
|
-
}
|
|
1613
|
-
if (res.questionnaire_type === 'assessment') {
|
|
1614
|
-
checkedMoreOptions.push('ASSESSMENT');
|
|
1615
|
-
this.moreOptions.ASSESSMENT = true;
|
|
1616
|
-
}
|
|
1617
|
-
if (res.questionnaire_type === 'assessment_checkpoint') {
|
|
1618
|
-
checkedMoreOptions.push('CHECKPOINTS_NEW');
|
|
1619
|
-
this.moreOptions.CHECKPOINTS_NEW = true;
|
|
1620
|
-
}
|
|
1621
|
-
this.populateOption.emit(checkedMoreOptions);
|
|
1622
|
-
}
|
|
1623
|
-
// Format & Evidence
|
|
1624
|
-
testFunction() {
|
|
1625
|
-
if (this.responsibilityForm.responsibility.name.trim() !== '' && this.isEditWhat === false) {
|
|
1626
|
-
this.isEditWhat = true;
|
|
1627
|
-
}
|
|
1628
|
-
if (this.responsibilityForm.description == '<br>') {
|
|
1629
|
-
this.responsibilityForm.description = '';
|
|
1630
|
-
}
|
|
1631
|
-
if (this.responsibilityForm.objective == '<br>') {
|
|
1632
|
-
this.responsibilityForm.objective = '';
|
|
1633
|
-
}
|
|
1634
|
-
}
|
|
1635
|
-
reviewerTypeChange(event) {
|
|
1636
|
-
this.responsibilityForm.reviewers.sequentialWorkflow = event === 'SEQUENTIAL' ? true : false;
|
|
1637
|
-
}
|
|
1638
|
-
selectedSampleData(event) {
|
|
1639
|
-
console.log(event);
|
|
1640
|
-
this.selectedSample = event;
|
|
1641
|
-
this.tempCheckValue = event;
|
|
1642
|
-
}
|
|
1643
|
-
//populate Assurance List
|
|
1644
|
-
populateAssuranceList(testPlanCategory) {
|
|
1645
|
-
console.log("testPlanCategory testPlanCategory", testPlanCategory);
|
|
1646
|
-
this.responsibilityForm.assurance = this.setList(this.assuranceCategoriesList, [testPlanCategory === null || testPlanCategory === void 0 ? void 0 : testPlanCategory.category_id], 'category_id');
|
|
1647
|
-
this.responsibilityForm.audit_category_details = testPlanCategory;
|
|
1648
|
-
if (testPlanCategory.sample) {
|
|
1649
|
-
this.isSample = true;
|
|
1650
|
-
this.sampleValue = testPlanCategory.sample;
|
|
1651
|
-
this.selectedSample = 0;
|
|
1652
|
-
}
|
|
1653
|
-
if (testPlanCategory.percentage) {
|
|
1654
|
-
this.isSample = true;
|
|
1655
|
-
this.samplePercentage = testPlanCategory.percentage;
|
|
1656
|
-
this.selectedSample = 1;
|
|
1657
|
-
}
|
|
1658
|
-
this.tempCheckValue = this.selectedSample;
|
|
1659
|
-
this.sendAuditRemindersValue = testPlanCategory.frequency_pattern ? parseInt(testPlanCategory.frequency_pattern.split('~')[2]) : 2;
|
|
1660
|
-
this.auditTime = moment(testPlanCategory === null || testPlanCategory === void 0 ? void 0 : testPlanCategory.frequency_time, 'HH:mm:ss').format('HH:mm a');
|
|
1661
|
-
}
|
|
1662
|
-
//on sample toggle on/off
|
|
1663
|
-
checkInputValue(event) {
|
|
1664
|
-
let key = event.charCode; // key = event.keyCode; (Both can be used)
|
|
1665
|
-
return ((key > 47 && key < 58) || key == 45);
|
|
1666
|
-
}
|
|
1667
|
-
switchEnable(event) {
|
|
1668
|
-
console.log(event);
|
|
1669
|
-
if (event) {
|
|
1670
|
-
this.selectedSample = this.tempCheckValue;
|
|
1671
|
-
}
|
|
1672
|
-
else {
|
|
1673
|
-
this.selectedSample = -1;
|
|
1674
|
-
}
|
|
1675
|
-
console.log(this.selectedSample);
|
|
1676
|
-
}
|
|
1677
|
-
// TODO: select Assessment list and set id to payload
|
|
1678
|
-
onAssessmentSelect(event) {
|
|
1679
|
-
this.isAssessment = false;
|
|
1680
|
-
this.responsibilityForm.assessment = event;
|
|
1681
|
-
}
|
|
1682
|
-
// TODO: Populate assessment data from already selected data
|
|
1683
|
-
/**
|
|
1684
|
-
*
|
|
1685
|
-
* @param assessmentDetails : selected assessment details like it's object id and category_id
|
|
1686
|
-
*/
|
|
1687
|
-
getAssessmentDetails(assessmentDetails, type) {
|
|
1688
|
-
this.responsibilityService.getAssessmentDetailsByID(assessmentDetails.assessment_id).subscribe((res) => {
|
|
1689
|
-
if (res.length > 0) {
|
|
1690
|
-
console.log("assessmentDetails?.questionnaire_type ==>", type, assessmentDetails);
|
|
1691
|
-
if (type === 'assessment') {
|
|
1692
|
-
const categoryDetails = res[0].category.find((ele) => ele._id == assessmentDetails.category_id);
|
|
1693
|
-
this.moreOptions.ASSESSMENT = true;
|
|
1694
|
-
const assessmentData = {
|
|
1695
|
-
category_id: assessmentDetails.category_id,
|
|
1696
|
-
assessment_id: assessmentDetails.assessment_id,
|
|
1697
|
-
assessmentDetails: {
|
|
1698
|
-
id: assessmentDetails.assessment_id,
|
|
1699
|
-
assessment_name: res[0].assessment_name,
|
|
1700
|
-
questions: res[0].questionsCount
|
|
1701
|
-
},
|
|
1702
|
-
category_details: categoryDetails
|
|
1703
|
-
};
|
|
1704
|
-
this.responsibilityForm.assessment = JSON.parse(JSON.stringify(assessmentData));
|
|
1705
|
-
}
|
|
1706
|
-
else {
|
|
1707
|
-
this.moreOptions.CHECKPOINTS_NEW = true;
|
|
1708
|
-
this.postAssessment({ assessmentDetails: res[0].questions });
|
|
1709
|
-
}
|
|
1710
|
-
}
|
|
1711
|
-
});
|
|
1712
|
-
}
|
|
1713
|
-
// TODO: Remove checkpoints
|
|
1714
|
-
onRemoveCheckpoints(type) {
|
|
1715
|
-
console.log("type ==>", type);
|
|
1716
|
-
this.onRemovingCheckpoint.emit(type);
|
|
1717
|
-
}
|
|
1718
|
-
removeCheckpoint() {
|
|
1719
|
-
this.moreOptions.CHECKPOINTS = false;
|
|
1720
|
-
this.responsibilityForm.checkpoints = [];
|
|
1721
|
-
}
|
|
1722
|
-
/**
|
|
1723
|
-
*
|
|
1724
|
-
* @param event Assessment details
|
|
1725
|
-
*/
|
|
1726
|
-
postAssessment(event) {
|
|
1727
|
-
this.responsibilityForm.new_checkpoints = event.assessmentDetails;
|
|
1728
|
-
this.checkpointCount = event.assessmentDetails.elements.length;
|
|
1729
|
-
console.log("new checkpoint population", this.checkpointCount);
|
|
1730
|
-
this.checkpointCountUpdated.emit(this.checkpointCount);
|
|
1731
|
-
this.setIsUploaded(false);
|
|
1732
|
-
}
|
|
1733
|
-
setIsUploaded(event) {
|
|
1734
|
-
if (!event)
|
|
1735
|
-
this.activeDeselector();
|
|
1736
|
-
this.authService.previewPanel.next(event);
|
|
1737
|
-
}
|
|
1738
|
-
}
|
|
1739
|
-
WorkflowComplianceComponent.decorators = [
|
|
1740
|
-
{ type: Component, args: [{
|
|
1741
|
-
selector: 'app-workflow-compliance',
|
|
1742
|
-
template: "<div class=\"workflw-compliance\" *ngIf=\"!showSmiley\">\r\n\r\n <div *ngIf=\"mode !== 'EDIT'\" class=\"form-group-row \" [class.active]=\"activeSelector === 'assignors'\"\r\n [class.disabled]=\"activeSelector && activeSelector !== 'assignors' && sideSelectorElements.includes(activeSelector)\">\r\n <div class=\"left\" [class.checked]=\"responsibilityForm?.assignors?.list?.length>0 && activeSelector !== 'assignors'\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/im-creating.svg\" alt=\"im\"\r\n *ngIf=\"responsibilityForm?.assignors?.list?.length==0 || activeSelector === 'assignors'\">\r\n\r\n <svg class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\"\r\n *ngIf=\"responsibilityForm?.assignors?.list?.length>0 && activeSelector !== 'assignors'\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\" >\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">\r\n I am creating this responsibility on behalf of someone else\r\n <app-cs-switch [ngValue]=\"responsibilityForm.assignors.enable\"\r\n (ngValueChange)=\"responsibilityForm.assignors.enable = $event; responsibilityForm.assignors.list = [];\"></app-cs-switch>\r\n </label>\r\n <div class=\"select\" *ngIf=\"responsibilityForm?.assignors?.list?.length === 0 || activeSelector === 'assignors'\">\r\n <input type=\"text\" (click)=\"activateSelector('assignors',true)\"\r\n placeholder=\"Who is responsible for managing this responsibility?\" readonly [disabled]=\"!responsibilityForm?.assignors?.enable\">\r\n </div>\r\n <div class=\"selected\" *ngIf=\"responsibilityForm?.assignors?.list?.length > 0 && activeSelector !== 'assignors'\">\r\n <div class=\"chip-container\">\r\n <span class=\"chip\" *ngFor=\"let b_user of responsibilityForm?.assignors?.list?.slice(0,2)\"><i\r\n class=\"icons\" (click)=\"remove('assignors',b_user)\"></i>\r\n {{b_user.member_name}}</span>\r\n <button class=\"count\" *ngIf=\"responsibilityForm?.assignors?.list?.length > 2\" type=\"button\"\r\n appPopover (click)=\"behalf.popover()\" placement=\"right\">+\r\n {{responsibilityForm?.assignors?.list?.slice(2).length}}</button>\r\n </div>\r\n <button *ngIf=\"activeSelector !== 'assignors'\" class=\"edit\" type=\"button\" (click)=\"activateSelector('assignors',true)\"><i\r\n class=\"icons\"></i>\r\n Edit</button>\r\n </div>\r\n <app-popover #behalf [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li\r\n *ngFor=\"let b_user of responsibilityForm?.assignors?.list | slice: 2; let j = index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove('assignors',b_user)\"></i>\r\n {{ b_user.member_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n <p *ngIf=\"invalidType === 'whom'\" class=\"error-message\">Please select the person responsible for managing this responsibility.\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- What -->\r\n\r\n <div class=\"form-group-row\" [class.active]=\"activeSelector === 'framework'\"\r\n [class.disabled]=\"activeSelector && activeSelector !== 'responsibilityName' && sideSelectorElements.includes(activeSelector)\">\r\n <div class=\"left\" [class.checked]=\"responsibilityForm?.responsibility?.name.trim() !== '' && !focus.responsibilityName\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/what.svg\" alt=\"im\"\r\n *ngIf=\"(responsibilityForm?.responsibility?.name.trim() === '') || focus.responsibilityName\">\r\n\r\n <svg class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\"\r\n *ngIf=\"responsibilityForm?.responsibility?.name.trim() !== '' && !focus.responsibilityName\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\" >\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">\r\n What?<span class=\"required\">*</span>\r\n <button *ngIf=\"isFrameworkAvailable && mode !== 'EDIT' && openedFrom !=='RISK_TREATMENT'\" (click)=\"activateSelector('framework',true)\" class=\"button\">Select From A framework</button>\r\n </label>\r\n <span *ngIf=\"responsibilityForm?.responsibility?.keyResponsibility\" class=\"indicator\" [appTooltip]=\"'This responsibility is marked as key responsibility.'\" placement=\"bottom\" type=\"black\" delay=\"0\"\r\n [tooltipMandatory]=\"true\">\r\n <i class=\"icons\"></i>\r\n </span>\r\n <input *ngIf=\"responsibilityForm?.responsibility?.name.trim() =='' || !isEditWhat\" type=\"text\" [ngModel]=\"responsibilityForm.responsibility.name\"\r\n placeholder=\"What is the responsibility?\"\r\n (change)=\"whatChanged($event)\"\r\n (focusin)=\"activateSelector('responsibilityName',true)\"\r\n (focusout)=\"activeDeselector()\"\r\n (clickOutside)=\"testFunction()\" #what >\r\n <div class=\"selected\" *ngIf=\"responsibilityForm?.responsibility?.name.trim() !='' && isEditWhat\">\r\n <div class=\"chip-container\">\r\n <span class=\"value\">{{responsibilityForm.responsibility?.name}}</span>\r\n </div>\r\n <button class=\"edit\" type=\"button\" (click)=\"onEditWhat($event)\" ><i class=\"icons\"></i> Edit</button>\r\n </div>\r\n <p *ngIf=\"invalidType === 'what'\" class=\"error-message\">Please enter a name for this responsibility.</p>\r\n <div class=\"switch-row align-right\">\r\n <app-cs-switch [ngValue]=\"responsibilityForm.responsibility?.keyResponsibility\"\r\n (ngValueChange)=\"responsibilityForm.responsibility.keyResponsibility = $event\">Key\r\n Responsibility\r\n </app-cs-switch>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- Who -->\r\n <div class=\"form-group-row\" [class.active]=\"activeSelector === 'assignees'\"\r\n [class.disabled]=\"activeSelector && activeSelector !== 'assignees' && sideSelectorElements.includes(activeSelector)\">\r\n <div class=\"left\" [class.checked]=\"responsibilityForm?.assignees?.list?.length>0 && activeSelector !== 'assignees'\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/who.svg\" alt=\"im\"\r\n *ngIf=\"responsibilityForm?.assignees?.list?.length==0 || activeSelector === 'assignees'\">\r\n\r\n <svg class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\"\r\n *ngIf=\"responsibilityForm?.assignees?.list?.length>0 && activeSelector !== 'assignees'\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">Who? <span class=\"required\">*</span></label>\r\n\r\n <div class=\"select\" *ngIf=\"responsibilityForm?.assignees?.list?.length == 0\">\r\n <input type=\"text\" (click)=\"activateSelector('assignees',true)\"\r\n placeholder=\"Who is responsible for completing the responsibility?\" readonly>\r\n </div>\r\n <div class=\"selected\" *ngIf=\"responsibilityForm?.assignees?.list?.length > 0\">\r\n <div class=\"chip-container\" [class.more-one]=\"responsibilityForm?.assignees?.length>1\" [class.plus]=\"responsibilityForm?.assignees?.length>2\">\r\n <span class=\"chip\" *ngFor=\"let e_user of responsibilityForm?.assignees?.list?.slice(0,2)\"><i\r\n class=\"icons\" (click)=\"remove('assignees',e_user)\"></i>\r\n {{e_user.member_name}}</span>\r\n <button class=\"count\" *ngIf=\"responsibilityForm?.assignees?.list?.length > 2\" type=\"button\"\r\n appPopover (click)=\"assignees.popover()\" placement=\"right\">+\r\n {{responsibilityForm?.assignees?.list?.slice(2).length}}</button>\r\n </div>\r\n <button *ngIf=\"activeSelector !== 'assignees'\" class=\"edit\" type=\"button\" (click)=\"activateSelector('assignees',true)\"><i\r\n class=\"icons\"></i>\r\n Edit</button>\r\n </div>\r\n <p *ngIf=\"invalidType === 'who'\" class=\"error-message\">Please select the person responsible for completing this responsibility.</p>\r\n <app-cs-radio *ngIf=\"mode !== 'EDIT'\" (checkedEvent)=\"responsibilityForm.assignees.whoCanComplete = 'ALL'\"\r\n [checked]=\"responsibilityForm.assignees.whoCanComplete == 'ALL'\" [name]=\"'what'\">ALL SELECTED PERSONS NEED TO\r\n COMPLETE THIS<i class=\"icons\" [appTooltip]=\"'If selected, separate responsibilities will be created for each person.'\"\r\n placement=\"bottom-right\" type=\"white\" delay=\"0\" [tooltipMandatory]=\"true\"></i></app-cs-radio>\r\n <app-cs-radio *ngIf=\"mode !== 'EDIT'\" (checkedEvent)=\"responsibilityForm.assignees.whoCanComplete = 'ANY_ONE'\"\r\n [checked]=\"responsibilityForm.assignees.whoCanComplete == 'ANY_ONE'\" [name]=\"'what'\">ANY SELECTED PERSON CAN COMPLETE\r\n THIS <i class=\"icons\" [appTooltip]=\"'If selected, only one responsibility will be created.'\"\r\n placement=\"bottom-right\" type=\"white\" delay=\"0\" [tooltipMandatory]=\"true\"></i></app-cs-radio>\r\n <app-popover #assignees [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let e_user of responsibilityForm?.assignees?.list | slice: 2; let j = index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove('assignees',e_user)\"></i>\r\n {{ e_user.member_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- When? -->\r\n <div class=\"form-group-row\" [class.active]=\"activeSelector === 'frequency'\"\r\n [class.disabled]=\"activeSelector && activeSelector !== 'frequency' && sideSelectorElements.includes(activeSelector)\">\r\n <div class=\"left\" [class.checked]=\"(!responsibilityForm?.frequency || activeSelector === 'frequency')\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/when.svg\" alt=\"im\"\r\n *ngIf=\"!responsibilityForm?.frequency || activeSelector === 'frequency'\">\r\n\r\n <svg class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\"\r\n *ngIf=\"responsibilityForm?.frequency && activeSelector !== 'frequency' && responsibilityForm?.frequency != '' && responsibilityForm?.frequency != '5~0~0~0'\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">When?<span class=\"required\">*</span></label>\r\n <div *ngIf=\"responsibilityForm?.frequency == '' || responsibilityForm?.frequency == '5~0~0~0'\" class=\"select button-sec\">\r\n <input type=\"text\" (click)=\"activateSelector('frequency',true)\" [placeholder]=\"frequencyPlaceholder\" readonly>\r\n <button (click)=\"activateSelector('frequency',true)\" type=\"button\">Set A frequency</button>\r\n </div>\r\n <div *ngIf=\"responsibilityForm?.frequency != '' && responsibilityForm?.frequency !== '5~0~0~0'\" class=\"selected button-sec\">\r\n <span class=\"chip\">{{frequencyPlaceholder}}</span>\r\n <button *ngIf=\"activeSelector !== 'frequency'\" type=\"button\" class=\"edit\" (click)=\"activateSelector('frequency',true)\">\r\n <i class=\"icons\"></i>Edit\r\n </button>\r\n </div>\r\n <p *ngIf=\"invalidType === 'when'\" class=\"error-message\">Please select the frequency of occurrence for this responsibility.</p>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- Notes -->\r\n <div class=\"form-group-row\" [class.active]=\"activeSelector === 'notes'\"\r\n [class.disabled]=\"activeSelector && activeSelector !== 'notes' && sideSelectorElements.includes(activeSelector)\">\r\n <div class=\"left\" [class.checked]=\"checkBlank(responsibilityForm?.description).trim() !== '' && !focus.description\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/notes.svg\" alt=\"im\"\r\n *ngIf=\"(checkBlank(responsibilityForm?.description).trim() === '') || focus.description\">\r\n\r\n <svg class=\"checkIcon\" *ngIf=\"checkBlank(responsibilityForm?.description).trim() !== '' && !focus.description\"\r\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">Notes</label>\r\n <marx-editor [(ngModel)]=\"responsibilityForm.description\" [editorConfig]=\"{mode: 'prime',\r\n colorPalette: true,\r\n link: true,\r\n id:'notes',\r\n placeholder: 'Add more information about completing the responsibility'}\"></marx-editor>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- Objective -->\r\n <div [appScrollInView]=\"scrollToBottom\" class=\"form-group-row\" *ngIf=\"moreOptions?.OBJECTIVE\" [attr.id]=\"'OBJECTIVE'\" [class.active]=\"activeSelector === 'objective'\"\r\n [class.disabled]=\"activeSelector && activeSelector !== 'objective' && sideSelectorElements.includes(activeSelector)\">\r\n <div class=\"left\" [class.checked]=\"checkBlank(responsibilityForm?.objective).trim() !=='' && !focus.objective\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/objectives.svg\" alt=\"im\" *ngIf=\"(checkBlank(responsibilityForm?.objective).trim() === '') || focus.objective\">\r\n\r\n <svg class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\"\r\n *ngIf=\"(checkBlank(responsibilityForm?.objective).trim() !== '') && !focus.objective\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">Objective</label>\r\n <marx-editor [(ngModel)]=\"responsibilityForm.objective\" [editorConfig]=\"{mode: 'prime',\r\n colorPalette: true,\r\n id:'objective',\r\n link: true,\r\n placeholder: 'This option lets you specify an objective for the responsibility.'}\"></marx-editor>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- Responsibility Center -->\r\n <div [appScrollInView]=\"scrollToBottom\" class=\"form-group-row\" *ngIf=\"moreOptions?.RC\" [attr.id]=\"'RC'\" [class.active]=\"activeSelector === 'rc'\"\r\n [class.disabled]=\"activeSelector && activeSelector !== 'rc' && sideSelectorElements.includes(activeSelector)\">\r\n <div class=\"left\" [class.checked]=\"responsibilityForm?.rc?.length>0 && activeSelector !== 'rc'\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/responsibility-center.svg\" alt=\"\"\r\n *ngIf=\"responsibilityForm?.rc?.length==0 || activeSelector === 'rc'\">\r\n\r\n <svg class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\"\r\n *ngIf=\"responsibilityForm?.rc?.length>0 && activeSelector !== 'rc'\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">Responsibility Center </label>\r\n <div class=\"select\" *ngIf=\"responsibilityForm?.rc?.length === 0\">\r\n <div class=\"custom-input\" (click)=\"activateSelector('rc',true)\" aria-placeholder=\"Select the responsibility center or the responsibility centers for this responsibility.\"></div>\r\n <!-- <input type=\"text\" (click)=\"activateSelector('rc',true)\" placeholder=\"Select Responsibility Center(s)\" readonly> -->\r\n </div>\r\n <div class=\"selected\" *ngIf=\"responsibilityForm?.rc?.length > 0\" [class.readOnly]=\"openedFrom === 'RISK_TREATMENT'\">\r\n <div class=\"chip-container\" [class.more-one]=\"responsibilityForm?.rc?.length>1\" [class.plus]=\"responsibilityForm?.rc?.length>2\">\r\n <span class=\"chip\" *ngFor=\"let rc of responsibilityForm?.rc?.slice(0,2)\"><i\r\n class=\"icons\" (click)=\"remove('rc',rc)\" *ngIf=\"openedFrom !== 'RISK_TREATMENT'\"></i>\r\n {{rc?.item_name}}</span>\r\n <button class=\"count\" *ngIf=\"responsibilityForm?.rc?.length > 2\" type=\"button\"\r\n appPopover (click)=\"rc.popover()\" placement=\"right\" placement=\"right\">+\r\n {{responsibilityForm?.rc?.slice(2).length}}</button>\r\n </div>\r\n <button *ngIf=\"activeSelector !== 'rc' && openedFrom !== 'RISK_TREATMENT'\" class=\"edit\" type=\"button\" (click)=\"activateSelector('rc',true)\"><i\r\n class=\"icons\"></i>\r\n Edit</button>\r\n </div>\r\n <app-popover #rc [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let rc of responsibilityForm?.rc | slice: 2; let j = index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove('rc',rc)\"></i>\r\n {{ rc.item_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- Responsibility Category -->\r\n <div [appScrollInView]=\"scrollToBottom\" class=\"form-group-row\" *ngIf=\"moreOptions?.CATEGORY\" [attr.id]=\"'CATEGORY'\" [class.active]=\"activeSelector === 'category'\"\r\n [class.disabled]=\"activeSelector && activeSelector !== 'category' && sideSelectorElements.includes(activeSelector)\">\r\n <div class=\"left\" [class.checked]=\"responsibilityForm?.category?.length>0 && activeSelector !== 'category'\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/category.svg\" alt=\"\" *ngIf=\"responsibilityForm?.category?.length==0 || activeSelector === 'category'\">\r\n\r\n <svg class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\"\r\n *ngIf=\"responsibilityForm?.category?.length>0 && activeSelector !== 'category'\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">Responsibility Category </label>\r\n <div class=\"select\" *ngIf=\"responsibilityForm?.category?.length ==0\">\r\n <div class=\"custom-input\" (click)=\"activateSelector('category',true)\" aria-placeholder=\"Select the responsibility category or categories that this responsibility relates to.\"></div>\r\n <!-- <input type=\"text\" (click)=\"activateSelector('category',true)\" placeholder=\"Select Responsibility Category(s)\" readonly> -->\r\n </div>\r\n <div class=\"selected\" *ngIf=\"responsibilityForm?.category?.length > 0\">\r\n <div class=\"chip-container\" [class.more-one]=\"responsibilityForm?.category?.length>1\" [class.plus]=\"responsibilityForm?.category?.length>2\">\r\n <span class=\"chip\" *ngFor=\"let category of responsibilityForm?.category?.slice(0,2)\"><i\r\n class=\"icons\" (click)=\"remove('category',category)\"></i>\r\n {{category.item_name}}</span>\r\n <button class=\"count\" *ngIf=\"responsibilityForm?.category?.length > 2\" type=\"button\" appPopover\r\n (click)=\"category.popover()\" placement=\"right\">+\r\n {{responsibilityForm?.category?.slice(2).length}}</button>\r\n </div>\r\n <button *ngIf=\"activeSelector !== 'category'\" class=\"edit\" type=\"button\" (click)=\"activateSelector('category',true)\"><i\r\n class=\"icons\"></i>\r\n Edit</button>\r\n </div>\r\n <app-popover #category [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let category of responsibilityForm?.category | slice: 2; let j = index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove('category',category)\"></i>\r\n {{ category.item_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n <div *ngIf=\"responsibilityForm?.customTags?.length >0\">\r\n <ng-container *ngFor=\" let tag of responsibilityForm?.customTags\">\r\n <label class=\"vx-control-panel\">{{tag.tag_name}}</label>\r\n <input type=\"text\" [(ngModel)]=\"tag.value\" placeholder=\"{{tag.tag_name}}\">\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- Format & Evidence -->\r\n <div [appScrollInView]=\"scrollToBottom\" class=\"form-group-row\" *ngIf=\"moreOptions?.FORMATE_EVIDENCE\" [attr.id]=\"'FORMATE_EVIDENCE'\" [class.active]=\"activeSelector === 'formate_evidence'\"\r\n [class.disabled]=\"activeSelector && activeSelector !== 'formate_evidence' && sideSelectorElements.includes(activeSelector)\">\r\n <div class=\"left\" [class.checked]=\"false\">\r\n <img\r\n *ngIf=\"this.responsibilityForm.formatAndEvidence.evidenceRequired == false && this.responsibilityForm.formatAndEvidence.formatFiles.length == 0 && this.responsibilityForm.formatAndEvidence.formatLinks?.length == 0\"\r\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/format-evidence.svg\"\r\n alt=\"im\"\r\n >\r\n\r\n <svg\r\n *ngIf=\"this.responsibilityForm.formatAndEvidence.evidenceRequired || this.responsibilityForm.formatAndEvidence.formatFiles.length || this.responsibilityForm.formatAndEvidence.formatLinks?.length\"\r\n class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <app-format-and-evidence (updateFiles)=\"saveSelectedList('formate_evidence',$event)\" [mode]=\"'responsibility'\"\r\n [formatEvidanceData]=\"responsibilityForm?.formatAndEvidence\"></app-format-and-evidence>\r\n </div>\r\n\r\n </div>\r\n <!-- Assessment -->\r\n <div *ngIf=\"moreOptions?.ASSESSMENT\" [appScrollInView]=\"scrollToBottom\" class=\"form-group-row\" [attr.id]=\"'ASSESSMENT'\" [class.active]=\"false\" [class.disabled]=\"false\">\r\n <div class=\"left\" [class.checked]=\"responsibilityForm.assessment?.assessment_id\">\r\n <img *ngIf=\"!responsibilityForm.assessment?.assessment_id\" src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/assessments.svg\"\r\n alt=\"im\">\r\n\r\n <svg *ngIf=\"responsibilityForm.assessment?.assessment_id\" class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">ASSESSMENTS</label>\r\n <div *ngIf=\"!responsibilityForm.assessment?.assessment_id\" class=\"select\">\r\n <input type=\"text\" (click)=\"activateSelector('isAssessment',true);isAssessment = true\" placeholder=\"Select an assessment for this responsibility\" [disabled]=\"responsibilityForm.checkpoints?.length\" readonly>\r\n </div>\r\n <div class=\"selected\" *ngIf=\"responsibilityForm.assessment?.assessment_id\">\r\n <div class=\"chip-container\" [class.more-one]=\"false\" [class.plus]=\"false\">\r\n <span class=\"chip with-question\">\r\n <span class=\"value\" [appTooltip]=\"responsibilityForm.assessment?.assessmentDetails?.assessment_name\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\"><i\r\n class=\"icons\" (click)=\"remove('assessment',category)\"></i>{{responsibilityForm.assessment?.assessmentDetails?.assessment_name}}</span>\r\n <span class=\"label\">{{responsibilityForm.assessment?.assessmentDetails?.questions}} {{responsibilityForm.assessment?.assessmentDetails?.questions > 1 ? 'Questions': 'Question'}}</span>\r\n </span>\r\n </div>\r\n <button (click)=\"activateSelector('isAssessment',true);isAssessment = true\" class=\"edit\" type=\"button\">\r\n <i class=\"icons\"></i> Edit\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n <!-- Checkpoints -->\r\n <!-- *ngIf=\"moreOptions.checkpoints\" -->\r\n <div [appScrollInView]=\"scrollToBottom\" class=\"form-group-row\" *ngIf=\"moreOptions?.CHECKPOINTS\" [attr.id]=\"'CHECKPOINTS'\" [class.active]=\"activeSelector === 'checkpoints'\"\r\n [class.disabled]=\"activeSelector && activeSelector !== 'checkpoints' && sideSelectorElements.includes(activeSelector)\">\r\n <div class=\"left\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/checkpoints.svg\" alt=\"im\"\r\n *ngIf=\"responsibilityForm?.checkpoints?.length==0 || activeSelector === 'checkpoints'\">\r\n\r\n <svg class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\"\r\n *ngIf=\"responsibilityForm?.checkpoints?.length>0 && activeSelector !== 'checkpoints'\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">\r\n <!-- {{responsibilityForm.checkpoints|json}}\r\n {{responsibilityForm.checkpointInstruction}} -->\r\n\r\n Checkpoints\r\n <!-- <button *ngIf=\"responsibilityForm?.checkpoints?.length === 0\" class=\"button\"\r\n (click)=\"activateSelector('checkpoints',true)\">+ Add Checkpoints</button> -->\r\n </label>\r\n <div class=\"select button-sec\" *ngIf=\"responsibilityForm?.checkpoints?.length === 0\">\r\n <input [disabled]=\"!responsibilityForm.checkpoints?.length\" type=\"text\" (click)=\"activateSelector('checkpoints',true)\"\r\n placeholder=\"Add checkpoints for this responsibility\" readonly>\r\n <button [disabled]=\"!responsibilityForm.checkpoints?.length\" (click)=\"activateSelector('checkpoints',true)\" type=\"button\">Add Checkpoints</button>\r\n </div>\r\n <div class=\"selected\" *ngIf=\"responsibilityForm.checkpoints?.length > 0\">\r\n <div class=\"chip-container checkpoints\" [class.more-one]=\"responsibilityForm.checkpoints?.length>1\" [class.plus]=\"responsibilityForm.checkpoints?.length>2\">\r\n <span class=\"chip\" *ngFor=\"let checkpoint of responsibilityForm.checkpoints?.slice(0,1)\">\r\n {{checkpoint?.label}}</span>\r\n <button class=\"count\" *ngIf=\"responsibilityForm.checkpoints?.length > 1\" type=\"button\"\r\n appPopover (click)=\"checkpoint.popover()\" placement=\"right\">+\r\n {{responsibilityForm.checkpoints?.length- 1}}</button>\r\n </div>\r\n <button *ngIf=\"activeSelector !== 'checkpoints'\" class=\"edit\" type=\"button\" (click)=\"activateSelector('checkpoints',true)\">\r\n <i class=\"icons\"></i> Edit\r\n </button>\r\n </div>\r\n </div>\r\n <div *ngIf=\"this.responsibilityForm.checkpoints?.length\" class=\"assessment-text\">\r\n <i class=\"icons alert-icon\"></i>\r\n <span>You can now use the new <strong>Checkpoints </strong>or <strong>Assessments</strong> feature instead of the old checkpoints functionality to create analytical questions. <button class=\"remove-btn\" (click)=\"onRemoveCheckpoints('checkpoint')\">Remove Checkpoints</button> to continue.</span>\r\n </div>\r\n <app-popover #checkpoint [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let checkpoint of responsibilityForm.checkpoints | slice: 1; let j = index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n {{ checkpoint?.label }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </div>\r\n </div>\r\n <!-- New Checkpoints -->\r\n <!-- *ngIf=\"moreOptions.checkpoints\" -->\r\n <div [appScrollInView]=\"scrollToBottom\" class=\"form-group-row\" *ngIf=\"moreOptions?.CHECKPOINTS_NEW\" [attr.id]=\"'CHECKPOINTS-NEW'\" [class.active]=\"activeSelector === 'checkpoints-new'\"\r\n >\r\n <div class=\"left\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/checkpoints.svg\" alt=\"im\"\r\n *ngIf=\"responsibilityForm?.checkpoints?.length==0 || activeSelector === 'checkpoints'\">\r\n\r\n <svg class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\"\r\n *ngIf=\"checkpointCount > 0 && activeSelector !== 'checkpoints'\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">\r\n <!-- {{responsibilityForm.checkpoints|json}}\r\n {{responsibilityForm.checkpointInstruction}} -->\r\n\r\n Checkpoints <span class=\"checkpoint-version\"> V2.0</span>\r\n <!-- <button class=\"button\"\r\n (click)=\"activateSelector('checkpoints-new',true)\">+ Add Checkpoints</button> -->\r\n </label>\r\n <div class=\"select button-sec\" *ngIf=\"checkpointCount === 0\">\r\n <input type=\"text\" (click)=\"activateSelector('checkpoints-new',true)\"\r\n placeholder=\"Add checkpoints for this responsibility\" readonly>\r\n <button (click)=\"activateSelector('checkpoints-new',true)\" type=\"button\">Add Checkpoints</button>\r\n </div>\r\n <div class=\"selected\" *ngIf=\"checkpointCount > 0\">\r\n <div class=\"chip-container checkpoints\" [class.more-one]=\"checkpointCount > 0\">\r\n <span class=\"chip\">\r\n <i class=\"icons\" (click)=\"onRemoveCheckpoints('new-checkpoints')\"></i>\r\n {{checkpointCount}} {{checkpointCount > 1 ? 'Questions': 'Question'}}</span>\r\n </div>\r\n <button *ngIf=\"activeSelector !== 'checkpoints-new'\" class=\"edit\" type=\"button\" (click)=\"activateSelector('checkpoints-new',true)\">\r\n <i class=\"icons\"></i> Edit\r\n </button>\r\n </div>\r\n </div>\r\n <app-popover #checkpoint [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let checkpoint of responsibilityForm.checkpoints | slice: 1; let j = index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n {{ checkpoint?.label }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </div>\r\n </div>\r\n <!-- Risk Classification -->\r\n <div [appScrollInView]=\"scrollToBottom\" class=\"form-group-row\" *ngIf=\"moreOptions?.RISK_CLASSIFICATION\" [attr.id]=\"'RISK_CLASSIFICATION'\" [class.active]=\"activeSelector === 'riskCalculator'\"\r\n [class.disabled]=\"activeSelector && activeSelector !== 'riskCalculator' && sideSelectorElements.includes(activeSelector)\">\r\n <div class=\"left\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/risks.svg\" alt=\"im\">\r\n\r\n <svg class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">\r\n Risk Classification\r\n <button (click)=\"activateSelector('riskCalculator',true)\" class=\"button\">+ Risk Calculator</button>\r\n </label>\r\n\r\n <div class=\"classification\">\r\n <label class=\"low\" *ngFor=\"let risk of riskClassification\" [ngClass]=\"[risk.class]\">\r\n <input type=\"radio\" name=\"classification\" [(ngModel)]=\"responsibilityForm.riskClass\"\r\n [value]=\"risk?.value\">\r\n <span>{{risk?.name}}</span>\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- Reviewer -->\r\n <div [appScrollInView]=\"scrollToBottom\" class=\"form-group-row\" *ngIf=\"moreOptions?.REVIEWER\" [attr.id]=\"'REVIEWER'\" [class.active]=\"activeSelector === 'reviewerFrequency'\"\r\n [class.disabled]=\"activeSelector && activeSelector !== 'reviewer' && sideSelectorElements.includes(activeSelector)\">\r\n <div class=\"left\" [class.checked]=\"false\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/reviewer.svg\" alt=\"\"\r\n *ngIf=\"responsibilityForm?.reviewers?.list?.length==0 || activeSelector === 'reviewer'\">\r\n\r\n <svg *ngIf=\"responsibilityForm?.reviewers?.list?.length>0 && activeSelector !== 'reviewer'\" class=\"checkIcon\"\r\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">Reviewer</label>\r\n <div class=\"select\" *ngIf=\"responsibilityForm?.reviewers?.list?.length == 0\">\r\n <input type=\"text\" (click)=\"activateSelector('reviewer',true)\" placeholder=\"Select Reviewer\" readonly>\r\n </div>\r\n <div class=\"selected\" *ngIf=\"responsibilityForm?.reviewers?.list?.length > 0\">\r\n <div class=\"chip-container\" [class.more-one]=\"responsibilityForm?.reviewers?.list?.length>1\" [class.plus]=\"responsibilityForm?.reviewers?.list?.length>2\">\r\n <span class=\"chip\" *ngFor=\"let reviewer of responsibilityForm?.reviewers?.list?.slice(0,2)\"><i\r\n class=\"icons\" (click)=\"remove('reviewer',reviewer)\"></i>\r\n {{reviewer.member_name}}</span>\r\n <button class=\"count\" *ngIf=\"responsibilityForm?.reviewers?.list?.length > 2\" type=\"button\"\r\n appPopover (click)=\"reviewer.popover()\" placement=\"right\">+\r\n {{responsibilityForm?.reviewers?.list?.slice(2).length}}</button>\r\n </div>\r\n <button *ngIf=\"activeSelector !== 'reviewer'\" class=\"edit\" type=\"button\" (click)=\"activateSelector('reviewer',true)\"><i\r\n class=\"icons\"></i>\r\n Edit</button>\r\n </div>\r\n <app-cs-radio *ngIf=\"mode !== 'EDIT'\" [name]=\"'reviewer'\" (checkedEvent)=\"responsibilityForm.reviewers.sequentialWorkflow = $event\"\r\n [checked]=\"responsibilityForm.reviewers.sequentialWorkflow\">\r\n SEQUENTIAL <i\r\n class=\"icons\" [appTooltip]=\"'The responsibility will be sent for review one at a time in the sequence defined by you.'\"\r\n placement=\"bottom-right\" delay=\"0\" type=\"white\" [tooltipMandatory]=\"true\"></i>\r\n </app-cs-radio>\r\n <app-cs-radio *ngIf=\"mode !== 'EDIT'\" [name]=\"'reviewer'\" (checkedEvent)=\"responsibilityForm.reviewers.sequentialWorkflow = !($event)\"\r\n [checked]=\"!responsibilityForm.reviewers.sequentialWorkflow\">\r\n ANY REVIEWER CAN MARK THIS AS REVIEWED <i class=\"icons\" [appTooltip]=\"'The responsibility will be sent for review to all reviewers at the same time. If anyone of the reviewer reviews the responsibility, it will be considered as reviewed.'\"\r\n placement=\"bottom-right\" delay=\"0\" type=\"white\" [tooltipMandatory]=\"true\"></i>\r\n </app-cs-radio>\r\n <app-popover #reviewer [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let reviewer of responsibilityForm?.reviewers?.list | slice: 2; let j = index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove('reviewer',reviewer)\"></i>\r\n {{ reviewer.member_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n <!-- <div class=\"switch-row\">\r\n <app-cs-switch [ngValue]=\"responsibilityForm.reviewers.sequentialWorkflow\"\r\n (ngValueChange)=\"responsibilityForm.reviewers.sequentialWorkflow = $event\">SEQUENTIAL <i\r\n class=\"icons\" [appTooltip]=\"'The responsibility will be sent for review one at a time in the sequence defined by you.'\" placement=\"bottom\" delay=\"0\" [tooltipMandatory]=\"true\"></i></app-cs-switch>\r\n <app-cs-switch [ngValue]=\"!responsibilityForm.reviewers.sequentialWorkflow\"\r\n (ngValueChange)=\"responsibilityForm.reviewers.sequentialWorkflow = !($event)\">ANY REVIEWER CAN\r\n MARK THIS AS REVIEWED <i class=\"icons\" [appTooltip]=\"'The responsibility will be sent for review to all reviewers at the same time. If anyone of the reviewer reviews the responsibility, it will be considered as reviewed.'\" placement=\"bottom-right\" delay=\"0\" [tooltipMandatory]=\"true\"></i></app-cs-switch>\r\n </div> -->\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Overseer -->\r\n <div [appScrollInView]=\"scrollToBottom\" class=\"form-group-row\" *ngIf=\"moreOptions?.OVERSEER\" [attr.id]=\"'OVERSEER'\" [class.active]=\" activeSelector === 'overseerNotify' || activeSelector === 'overseer'\"\r\n [class.disabled]=\"activeSelector && !['overseerNotify','overseerNotify'].includes(activeSelector) && sideSelectorElements.includes(activeSelector)\">\r\n <div class=\"left\" [class.checked]=\"false\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/oversight.svg\" alt=\"\"\r\n *ngIf=\"(responsibilityForm?.overseers?.list?.length==0 && responsibilityForm?.overseers?.notifyList?.length == 0)|| activeSelector === 'overseerNotify' || activeSelector === 'overseer'\">\r\n <svg class=\"checkIcon\" *ngIf=\"(responsibilityForm?.overseers?.list?.length>0 || responsibilityForm?.overseers?.notifyList?.length>0)\r\n && !( activeSelector === 'overseerNotify' || activeSelector === 'overseer')\"\r\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">Overseer </label>\r\n <div class=\"select\" *ngIf=\"responsibilityForm?.overseers?.list?.length == 0\">\r\n <input type=\"text\" (click)=\"activateSelector('overseer',true)\"\r\n placeholder=\"Who should have oversight of the responsibility?\" readonly>\r\n </div>\r\n <div class=\"selected\" *ngIf=\"responsibilityForm?.overseers?.list?.length > 0\">\r\n <div class=\"chip-container\" [class.more-one]=\"responsibilityForm?.overseers?.list?.length>1\" [class.plus]=\"responsibilityForm?.overseers?.list?.length>2\">\r\n <span class=\"chip\" *ngFor=\"let overseer of responsibilityForm?.overseers?.list?.slice(0,2)\"><i\r\n class=\"icons\" (click)=\"remove('overseer',overseer)\"></i>\r\n {{overseer.member_name}}</span>\r\n <button class=\"count\" *ngIf=\"responsibilityForm?.overseers?.list?.length > 2\" type=\"button\"\r\n appPopover (click)=\"overseers.popover()\" placement=\"right\">+\r\n {{responsibilityForm?.overseers?.list?.slice(2).length}}</button>\r\n </div>\r\n <button *ngIf=\"activeSelector !== 'overseer'\" class=\"edit\" type=\"button\" (click)=\"activateSelector('overseer',true)\"><i\r\n class=\"icons\"></i>\r\n Edit</button>\r\n </div>\r\n\r\n <div class=\"select\" *ngIf=\"responsibilityForm?.overseers?.notifyList?.length == 0\">\r\n <input type=\"text\" (click)=\"activateSelector('overseerNotify',true)\"\r\n placeholder=\"Who should be notified if the responsibility is not complet...\" readonly [appTooltip]=\"'Who should be notified if the responsibility is not completed?'\" placement=\"bottom\" delay=\"0\" [tooltipMandatory]=\"true\">\r\n </div>\r\n <div class=\"selected\" *ngIf=\"responsibilityForm?.overseers?.notifyList?.length > 0\">\r\n <div class=\"chip-container\" [class.more-one]=\"responsibilityForm?.overseers?.notifyList?.length>1\" [class.plus]=\"responsibilityForm?.overseers?.notifyList?.length>2\">\r\n <span class=\"chip\"\r\n *ngFor=\"let overseer of responsibilityForm?.overseers?.notifyList?.slice(0,2)\"><i\r\n class=\"icons\" (click)=\"remove('overseerNotifyList',overseer)\"></i>\r\n {{overseer.member_name}}</span>\r\n <button class=\"count\" *ngIf=\"responsibilityForm?.overseers?.notifyList?.length > 2\"\r\n type=\"button\" appPopover (click)=\"notify.popover()\" placement=\"right\">+\r\n {{responsibilityForm?.overseers?.notifyList?.slice(2).length}}</button>\r\n </div>\r\n <button *ngIf=\"activeSelector !== 'overseerNotify'\" class=\"edit\" type=\"button\" (click)=\"activateSelector('overseerNotify',true)\"><i\r\n class=\"icons\"></i>\r\n Edit</button>\r\n </div>\r\n <app-popover #overseers [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let overseer of responsibilityForm?.overseers?.list | slice: 2; let j = index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove('overseer',overseer)\"></i>\r\n {{ overseer.member_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n <app-popover #notify [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li\r\n *ngFor=\"let overseer of responsibilityForm?.overseers?.notifyList | slice: 2; let j = index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\"\r\n (click)=\"remove('overseerNotifyList',overseer)\"></i>\r\n {{ overseer.member_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- Assurance -->\r\n\r\n <div [appScrollInView]=\"scrollToBottom\" class=\"form-group-row\" *ngIf=\"moreOptions?.ASSURANCE\" [attr.id]=\"'ASSURANCE'\" [class.active]=\"activeSelector === 'assurance'\"\r\n [class.disabled]=\"activeSelector && activeSelector !== 'assurance' && sideSelectorElements.includes(activeSelector)\">\r\n <div class=\"left\" [class.checked]=\"false\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/reviewer.svg\" alt=\"\"\r\n *ngIf=\"responsibilityForm?.assuranceList?.length==0 || activeSelector === 'assurance'\">\r\n\r\n <svg *ngIf=\"responsibilityForm?.assuranceList?.length>0 && activeSelector !== 'assurance'\" class=\"checkIcon\"\r\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">Assurance</label>\r\n <div class=\"select\" *ngIf=\"responsibilityForm?.assuranceList?.length ==0\">\r\n <div class=\"custom-input\" (click)=\"activateSelector('assurance',true)\" aria-placeholder=\"Select the test plan categories that you would like to add this responsibility to.\"></div>\r\n <!-- <input type=\"text\" (click)=\"activateSelector('assurance',true)\"\r\n placeholder=\"Select the test plan categories that you would like to add...\"\r\n readonly [appTooltip]=\"'Select the test plan categories that you would like to add this responsibility to.'\" placement=\"bottom\" delay=\"0\" [tooltipMandatory]=\"true\"> -->\r\n </div>\r\n <div class=\"selected\" *ngIf=\"responsibilityForm?.assuranceList?.length > 0\">\r\n <div class=\"chip-container\" [class.more-one]=\"responsibilityForm?.assuranceList?.length>1\" [class.plus]=\"responsibilityForm?.assuranceList?.length>2\">\r\n <span class=\"chip\" *ngFor=\"let assurance of responsibilityForm?.assuranceList?.slice(0,2)\"><i\r\n class=\"icons\" (click)=\"remove('assurance',assurance)\"></i>\r\n {{assurance.category_name}}</span>\r\n <button class=\"count\" *ngIf=\"responsibilityForm?.assuranceList?.length > 2\" type=\"button\"\r\n appPopover (click)=\"assurance.popover()\" placement=\"right\">+\r\n {{responsibilityForm?.assuranceList?.slice(2).length}}</button>\r\n </div>\r\n <button *ngIf=\"activeSelector !== 'assurance'\" class=\"edit\" type=\"button\" (click)=\"activateSelector('assurance',true)\"><i\r\n class=\"icons\"></i>\r\n Edit</button>\r\n </div>\r\n <app-popover #assurance [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let assurance of responsibilityForm?.assuranceList | slice: 2; let j = index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove('assurance',assurance)\"></i>\r\n {{ assurance.category_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div [appScrollInView]=\"scrollToBottom\" class=\"form-group-row\" *ngIf=\"moreOptions?.REQUIRES_AUDIT && responsibilityForm.rc.length > 0\" [attr.id]=\"'REQUIRES_AUDIT'\" [class.active]=\"activeSelector === 'requires_audit'\"\r\n [class.disabled]=\"activeSelector && activeSelector !== 'requires_audit' && sideSelectorElements.includes(activeSelector)\">\r\n <div class=\"left\" [class.checked]=\"false\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/audit.svg\" alt=\"\"\r\n *ngIf=\"responsibilityForm?.requiresAuditList?.length==0 || activeSelector === 'requires_audit'\">\r\n\r\n <svg *ngIf=\"responsibilityForm?.requiresAuditList?.length>0 && activeSelector !== 'requires_audit'\" class=\"checkIcon\"\r\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">REQUIRES AUDIT?</label>\r\n <div class=\"select\" *ngIf=\"responsibilityForm?.requiresAuditList?.length ==0\">\r\n <!-- <div class=\"custom-input\" (click)=\"activateSelector('assurance',true)\" aria-placeholder=\"Select the test plan categories that you would like to add this responsibility to.\"></div> -->\r\n <!-- <input type=\"text\" (click)=\"activateSelector('assurance',true)\"\r\n placeholder=\"Select the test plan categories that you would like to add...\"\r\n readonly [appTooltip]=\"'Select the test plan categories that you would like to add this responsibility to.'\" placement=\"bottom\" delay=\"0\" [tooltipMandatory]=\"true\"> -->\r\n\r\n <input type=\"text\" placeholder=\"If yes, select an Audit Category.\" readonly (click)=\"activateSelector('requires_audit',true)\">\r\n </div>\r\n <div class=\"selected\" *ngIf=\"responsibilityForm?.requiresAuditList?.length > 0\">\r\n <!-- <div class=\"chip-container\" [class.more-one]=\"responsibilityForm?.assuranceList?.length>1\" [class.plus]=\"responsibilityForm?.assuranceList?.length>2\">\r\n <span class=\"chip\" *ngFor=\"let assurance of responsibilityForm?.assuranceList?.slice(0,2)\"><i\r\n class=\"icons\" (click)=\"remove('assurance',assurance)\"></i>\r\n {{assurance.category_name}}</span>\r\n <button class=\"count\" *ngIf=\"responsibilityForm?.assuranceList?.length > 2\" type=\"button\"\r\n appPopover (click)=\"assurance.popover()\" placement=\"right\">+\r\n {{responsibilityForm?.assuranceList?.slice(2).length}}</button>\r\n </div> -->\r\n <!-- <button *ngIf=\"activeSelector !== 'assurance'\" class=\"edit\" type=\"button\" (click)=\"activateSelector('assurance',true)\"><i\r\n class=\"icons\"></i>\r\n Edit</button> -->\r\n\r\n <div class=\"chip-container\">\r\n <span class=\"chip\"><i class=\"icons\" (click)=\"remove('requires_audit',overseer)\"></i> {{responsibilityForm?.requiresAuditList[0]?.category_name}}</span>\r\n </div>\r\n <button class=\"edit\" type=\"button\" (click)=\"activateSelector('requires_audit',true)\"><i class=\"icons\"></i> Edit</button>\r\n <!-- class=\"icons\"></i>\r\n Edit</button> -->\r\n </div>\r\n <ng-container *ngIf=\"responsibilityForm?.requiresAuditList?.length\">\r\n <label class=\"vx-control-panel vx-mt-8\">\r\n SAMPLE SIZE\r\n <app-cs-switch [(ngValue)]=\"isSample\" (ngValueChange)=\"switchEnable($event)\"></app-cs-switch>\r\n </label>\r\n <div class=\"sample-part\" [class.disabled]=\"!isSample\" >\r\n <app-cs-radio value=\"0\" class=\"sample-radio\" (click)=\"selectedSampleData(0)\" [checked]=\"selectedSample === 0\">\r\n <div class=\"name\">COUNT</div>\r\n <input type=\"number\" placeholder=\"--\" (keypress)=\"checkInputValue($event)\" [(ngModel)]=\"sampleValue\" >\r\n </app-cs-radio>\r\n <div class=\"or\">OR</div>\r\n <app-cs-radio value=\"1\" class=\"sample-radio\" (click)=\"selectedSampleData(1)\" [checked]=\"selectedSample === 1\">\r\n <div class=\"name\">PERCENTAGE</div>\r\n <input type=\"number\" (keypress)=\"checkInputValue($event)\" [(ngModel)]=\"samplePercentage\" placeholder=\"--\">\r\n </app-cs-radio>\r\n </div>\r\n <label class=\"vx-control-panel vx-mt-8\">SET A REMINDER IF THE AUDIT PLAN IS NOT CREATED.</label>\r\n <div class=\"reminder-part\">\r\n Send reminder every <input type=\"number\" value=\"2\" [(ngModel)]=\"sendAuditRemindersValue\"> Day by\r\n <div class=\"picker-group\">\r\n <input class=\"time\" aria-label=\"12hr format\" [(ngModel)]=\"auditTime\" [ngxTimepicker]=\"dailyTime\" placeholder=\"auditTime.toUpperCase()\" type=\"text\" [min]=\"currentTime\" readonly>\r\n <i class=\"icons\"></i>\r\n <ngx-material-timepicker #dailyTime [defaultTime]=\"auditTime\">\r\n </ngx-material-timepicker>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <!-- <app-popover #assurance [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let assurance of responsibilityForm?.assuranceList | slice: 2; let j = index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove('assurance',assurance)\"></i>\r\n {{ assurance.category_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover> -->\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<app-users-radio-list *ngIf=\"activeSelector === 'assignors'\" [usersList]=\"assignorsList\"\r\n [selectedUsers]=\"responsibilityForm.assignors.list\" [itemEmailKey]=\"'member_email'\" [userIdKey]=\"'member_id'\" [itemNameKey]=\"'member_name'\"\r\n (saveSelectedList)=\"saveSelectedList('assignors',$event)\" (closeUsersList)=\"activeDeselector()\">\r\n</app-users-radio-list>\r\n\r\n<ng-container *ngIf=\"activeSelector === 'assignees'\">\r\n <app-group-users-list *ngIf=\"isEntrust\" [openedFrom]=\"openedFrom\" [usersList]=\"assigneesList\" [groupsList]=\"groupsList\"\r\n [selectedUsers]=\"responsibilityForm.assignees.list\" [userIdKey]=\"'my_member_id'\"\r\n (saveSelectedList)=\"saveSelectedList('assignees',$event)\" (closeUsersList)=\"activeDeselector()\">\r\n </app-group-users-list>\r\n <app-users-radio-list *ngIf=\"!isEntrust\" [itemEmailKey]=\"'employee_email'\" [usersList]=\"assigneesList\"\r\n [selectedUsers]=\"responsibilityForm.assignees.list\" [userIdKey]=\"'employee_id'\" [itemNameKey]=\"'employee_name'\"\r\n (saveSelectedList)=\"saveSelectedList('assignees',$event)\" (closeUsersList)=\"activeDeselector()\">\r\n</app-users-radio-list>\r\n</ng-container>\r\n\r\n\r\n\r\n<app-checkpoints *ngIf=\"activeSelector === 'checkpoints'\" [checkpointInstruction]=\"responsibilityForm?.checkpointInstruction\"\r\n [checkpointData]=\"responsibilityForm?.checkpoints\" (saveCheckPoint)=\"saveSelectedList('checkpoints',$event)\"\r\n (closeCheckPoint)=\"activeDeselector()\"></app-checkpoints>\r\n<app-frequency-container *ngIf=\"activeSelector === 'frequency'\" [frequencyDetails]=\"frequencyDetails\"\r\n(selectedFrequency)=\"frequencyData($event)\" [mode]=\"'responsibility'\" (closeFrequency)=\"activeDeselector()\"></app-frequency-container>\r\n\r\n<app-responsibility-centers-list *ngIf=\"activeSelector === 'rc'\"\r\n [responsibilityCentersList]=\"responsibilityCentersList\" [radioSelection]=\"(mode == 'EDIT')?true:false\" [selectedResponsibilityCenters]=\"responsibilityForm.rc\"\r\n [rcIdKey]=\"'item_id'\" (saveSelectedList)=\"saveSelectedList('rc',$event)\"\r\n (closeRcList)=\"activeDeselector()\">\r\n</app-responsibility-centers-list>\r\n\r\n<app-category-multi-select *ngIf=\"activeSelector === 'category'\" [categoryList]=\"categories\" [allCategories]=\"allCategories\"\r\n [categoryIdKey]=\"'category_id'\" [selectedCategories]=\"responsibilityForm.category\"\r\n (saveSelectedCategory)=\"saveSelectedList('category',$event)\" (closeCategoriesList)=\"activeDeselector()\">\r\n</app-category-multi-select>\r\n\r\n\r\n<app-owner-list *ngIf=\"activeSelector === 'reviewer'\" [listHeading]=\"'Select a Reviewer'\" [singularText]=\"'User selected'\" [pluralText]=\"'Users selected'\" [usersList]=\"reviewersList\" [showWorkflow]=\"true\"\r\n [selectedUsers]=\"responsibilityForm.reviewers.list\" [userIdKey]=\"'employee_id'\" [itemEmailKey]=\"'employee_email'\" [itemNameKey]=\"'member_name'\"\r\n (saveSelectedList)=\"saveSelectedList('reviewer',$event);activateSelector('reviewerFrequency',true)\"\r\n (closeUsersList)=\"activeDeselector()\" [mode]=\"mode\" [reviewerWorkflowType]=\"(responsibilityForm?.reviewers?.sequentialWorkflow) ? 'SEQUENTIAL' : 'ANY REVIEWER CAN MARK THIS AS REVIEWED'\" (reviewerWorkflowTypeChange)=\"reviewerTypeChange($event)\">\r\n</app-owner-list>\r\n\r\n<app-owner-list *ngIf=\"activeSelector === 'overseer'\" [singularText]=\"'User selected'\" [pluralText]=\"'Users selected'\" [usersList]=\"overseersList\"\r\n [selectedUsers]=\"responsibilityForm.overseers.list\" [userIdKey]=\"'employee_id'\" [itemNameKey]=\"'member_name'\"\r\n (saveSelectedList)=\"saveSelectedList('overseer',$event)\" (closeUsersList)=\"activeDeselector()\" [itemEmailKey]=\"'employee_email'\">\r\n</app-owner-list>\r\n\r\n<app-owner-list *ngIf=\"activeSelector ==='overseerNotify'\" [singularText]=\"'User selected'\" [pluralText]=\"'Users selected'\" [usersList]=\"overseersList\"\r\n [selectedUsers]=\"responsibilityForm.overseers.notifyList\" [userIdKey]=\"'employee_id'\" [itemNameKey]=\"'member_name'\"\r\n (saveSelectedList)=\"saveSelectedList('overseerNotify',$event)\"\r\n (closeUsersList)=\"activeDeselector()\" [itemEmailKey]=\"'employee_email'\"></app-owner-list>\r\n\r\n<app-owner-list *ngIf=\"activeSelector === 'assurance'\" [singularText]=\"'Test Category selected'\" [pluralText]=\"'Test Categories selected'\" [searchPlaceholder]=\"'Search Test Category...'\" [listHeading]=\"'Select Test Categories'\" [usersList]=\"assuranceCategoriesList\"\r\n[noDataText]=\"'No Test Categories Found'\" [selectedUsers]=\"responsibilityForm.assuranceList\" [userIdKey]=\"'category_id'\" [itemEmailKey]=\"'category_name'\" [itemNameKey]=\"'category_name'\"\r\n (saveSelectedList)=\"saveSelectedList('assurance',$event)\" (closeUsersList)=\"activeDeselector()\" [searchPlaceholder]=\"'Search Category'\">\r\n</app-owner-list>\r\n\r\n<app-audit-category-list *ngIf=\"activeSelector === 'requires_audit'\" (closeList)=\"activeDeselector()\" [auditCategory]=\"assuranceRequiresAuditList\" (saveSelectedList)=\"saveSelectedList('requires_audit',$event)\" [selectedData]=\"responsibilityForm?.requiresAuditList[0]\"></app-audit-category-list>\r\n\r\n<app-loader-inline *ngIf=\"loader\"></app-loader-inline>\r\n<app-framework-list *ngIf=\"activeSelector === 'framework'\" [categoryList]=\"categories\"\r\n (closeFramework)=\"activeDeselector()\" (entrustFramework)=\"entrustFramework($event)\"></app-framework-list>\r\n\r\n<!-- risk-calculator here -->\r\n<app-risk-classification *ngIf=\"activeSelector === 'riskCalculator' \" [currentRiskValue]=\"responsibilityForm.riskClass\"\r\n (saveList)=\"saveSelectedList('calculatedrisk',$event)\" (closeList)=\"activeDeselector()\">\r\n</app-risk-classification>\r\n\r\n<app-review-frequency *ngIf=\"activeSelector === 'reviewerFrequency'\"\r\n [reviewCompleteDays]=\"responsibilityForm.reviewers.reviewFrequency.reviewCompleteDays\"\r\n [reviewNOtCompletedDays]=\"responsibilityForm.reviewers.reviewFrequency.reviewNOtCompletedDays\"\r\n (saveReviewFrequency)=\"saveSelectedList('reviewFrequency',$event)\"\r\n (closeReviewFrequency)=\"activeDeselector();activateSelector('reviewer',false);responsibilityForm.reviewers.list = [];\"\r\n (backToUserList) = \"activeDeselector();activateSelector('reviewer',true)\"\r\n >\r\n</app-review-frequency>\r\n\r\n\r\n<app-assessment-list *ngIf=\"isAssessment\" (cancelAssessment)=\"isAssessment = false; activateSelector('isAssessment', false)\" [isEdit]=\"responsibilityForm?.assessment?.assessment_id ? true : false\" [selectedAssessment]=\"responsibilityForm?.assessment\" (onAssessmentSelect)=\"onAssessmentSelect($event);activateSelector('isAssessment', false)\"></app-assessment-list>\r\n\r\n<app-smiley-dialog-inline *ngIf=\"showSmiley\" [message]=\"smileyMessage\" [actionButtons]=\"actionButtons\" (action)=\"action($event)\" (closeSmiley)=\"closeSmiley($event)\"></app-smiley-dialog-inline>\r\n\r\n<div class=\"import\" *ngIf=\"activeSelector === 'checkpoints-new'\">\r\n <app-create-assessment-container #editor [openPortal]=\"'RESPONSIBILITY_CHECKPOINT'\" (postAssessment)=\"postAssessment($event)\" (setIsUploaded)=\"setIsUploaded($event)\" [checkpointJSON]=\"responsibilityForm.new_checkpoints\">\r\n </app-create-assessment-container>`\r\n</div>\r\n\r\n",
|
|
1743
|
-
styles: ["@import url(\"https://cdn.v-comply.com/design-system/css/icons/icons.css\");::ng-deep .workflw-compliance{display:block;position:relative}::ng-deep .workflw-compliance marx-editor .editor-container{border-radius:4px}::ng-deep .workflw-compliance marx-editor .editor-container .editable-block{min-height:72px;padding:11px 15px;line-height:20px;font-size:14px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%}@media not all and (min-resolution:0.001dpcm){@supports (-webkit-appearance:none){::ng-deep .workflw-compliance marx-editor .editor-container .editable-block:before{opacity:.72}}}::ng-deep .workflw-compliance marx-editor .editor-container .editable-block ul{padding:0 0 0 10px;margin-top:0}::ng-deep .workflw-compliance marx-editor .editor-container .editable-block ul li{list-style:unset}::ng-deep .workflw-compliance marx-editor .editor-container .editable-block ol{padding:0 0 0 10px;margin-top:0}::ng-deep .workflw-compliance marx-editor .editor-container .editable-block ol li{list-style:decimal}::ng-deep .workflw-compliance marx-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button{height:22px!important;width:22px!important;padding:0 5px}::ng-deep .workflw-compliance marx-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button svg{height:22px;width:22px}::ng-deep .workflw-compliance marx-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button.submit{width:80px!important;line-height:22px;justify-content:center}::ng-deep .workflw-compliance marx-editor .editor-container .editor-tools app-editor-menu .editor-menu .col .popover.small ul.option-list li button{width:100%!important;height:auto!important}::ng-deep .workflw-compliance .sample-part{display:flex;align-items:center;margin-bottom:4px}::ng-deep .workflw-compliance .sample-part .sample-radio{width:100%}::ng-deep .workflw-compliance .sample-part .sample-radio .radio-item{position:relative;width:100%}::ng-deep .workflw-compliance .sample-part .sample-radio .radio-item .radio{position:absolute;left:12px;top:12px}::ng-deep .workflw-compliance .sample-part .sample-radio .radio-item .value{border:1px solid #dbdbdb;border-radius:4px;height:40px;padding:8px 8px 8px 36px;margin:0;max-width:100%;width:100%;display:flex;align-items:center;justify-content:space-between;pointer-events:none}::ng-deep .workflw-compliance .sample-part .sample-radio .radio-item .value .name{color:#747576;font-size:11px;font-weight:500;text-transform:uppercase}::ng-deep .workflw-compliance .sample-part .sample-radio .radio-item .value input{border:1px solid #dcdcdc;background:#fff;border-radius:4px;height:24px;width:64px;text-align:center;padding:4px;color:#747576;font-size:13px}::ng-deep .workflw-compliance .sample-part .sample-radio .radio-item .value input:focus{outline:none;box-shadow:none}::ng-deep .workflw-compliance .sample-part .sample-radio .radio-item input:checked~svg{position:absolute;left:12px;top:12px}::ng-deep .workflw-compliance .sample-part .sample-radio .radio-item input:checked~.value{border:1px solid #34aa44;background:#eefcf0;pointer-events:auto}::ng-deep .workflw-compliance .sample-part .or{color:#161b2f;font-size:9px;font-weight:500;text-transform:uppercase;margin:0 10px}::ng-deep .workflw-compliance .sample-part.disabled{pointer-events:none}::ng-deep .workflw-compliance .sample-part.disabled .sample-radio .radio-item .value{background:#fbfbfb;border:1px solid #f1f1f1}::ng-deep .workflw-compliance .reminder-part{border:1px solid #dbdbdb;border-radius:4px;height:40px;padding:4px 12px;color:#747576;font-size:12px;display:flex;align-items:center}::ng-deep .workflw-compliance .reminder-part input{width:30px;border-radius:0;border:none;border-bottom:1px solid #dbdbdb;text-align:center;color:#747576;font-size:13px;font-weight:500;margin:0 4px}::ng-deep .workflw-compliance .reminder-part input:focus{outline:none!important;box-shadow:none!important}::ng-deep .workflw-compliance .reminder-part .picker-group{position:relative}::ng-deep .workflw-compliance .reminder-part .picker-group input{border:1px solid #f1f1f1!important;border-radius:4px!important;width:104px!important;height:28px!important;margin-left:8px!important;padding:6px 8px!important;cursor:pointer;color:#747576!important;font-size:12px!important;font-weight:500!important;text-align:left!important}::ng-deep .workflw-compliance .reminder-part .picker-group input:focus,::ng-deep .workflw-compliance .reminder-part .picker-group input:hover{outline:none!important;box-shadow:none!important}::ng-deep .workflw-compliance .reminder-part .picker-group i{color:#1e5dd3;position:absolute;top:6px;right:10px;font-size:16px}.assessment-text{color:#747576;font-size:11px;display:flex;align-items:center;padding:0 8px;margin:-16px 0 20px}.assessment-text i.alert-icon{color:#f2bf19;font-size:16px;margin-right:8px}.assessment-text strong{font-weight:600}.assessment-text button.remove-btn{background:transparent;border-radius:0;border:none;color:#1e5dd3;font-size:10px;font-weight:600;padding:0;margin:0}.import{position:fixed;top:0;right:30px;bottom:0;left:0;z-index:-1;width:calc(100vw - 30px)}", "@import url(\"https://cdn.v-comply.com/design-system/css/icons/icons.css\");::-webkit-scrollbar-track{background-color:#f1f1f1;position:absolute}::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}input::-webkit-inner-spin-button,input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}button{font-family:Poppins,sans-serif}::ng-deep .vx-form-group{display:block;position:relative;margin-bottom:20px}::ng-deep .vx-form-group:after{content:\"\";display:block;clear:both}::ng-deep .vx-form-group .select{position:relative}::ng-deep .vx-form-group .select:after{border-left-color:#707070;border-bottom:1px solid #707070;border-right:1px solid #707070;border-top-color:#707070;content:\"\";display:inline-block;right:15px;position:absolute;top:calc(50% - 4px);width:5px;height:5px;transform:rotate(45deg)}::ng-deep .vx-form-group .select input{cursor:pointer;padding-right:30px!important}::ng-deep .vx-form-group .select .custom-input{height:40px;border-radius:4px;border:1px solid #dbdbdb;background:#fff;outline:none;padding:3px 12px;line-height:16px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%;cursor:pointer}::ng-deep .vx-form-group .select .custom-input:empty:not(:focus):before{content:attr(aria-placeholder);line-height:16px;font-size:13px;width:94%;display:block;pointer-events:none;opacity:.8}::ng-deep .vx-form-group .select .custom-input:hover{border-color:#1e5dd3;box-shadow:0 0 5px rgba(30,93,211,.27)}::ng-deep .vx-form-group .select .custom-input.frequency-custom-input{padding-right:116px}::ng-deep .vx-form-group .select+app-cs-switch{display:block;margin-top:8px}::ng-deep .vx-form-group .select+app-cs-switch label.cs-switch span.value{white-space:nowrap;margin-right:5px;text-transform:uppercase}::ng-deep .vx-form-group .select+app-cs-radio{margin-top:8px!important}::ng-deep .vx-form-group .select~app-cs-radio{margin-top:4px;display:block;width:100%}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item span.radio{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item span.value{font-size:11px;text-transform:uppercase;border:1px solid #dbdbdb;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0;max-width:100%;font-weight:500;color:#707070}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item span.value i{font-size:12px;color:#1e5dd3}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item svg{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item input:checked~span.value{background:#eefcf0;border-color:#34aa44}::ng-deep .vx-form-group .select.button-sec:after{display:none}::ng-deep .vx-form-group .select.button-sec button{background:transparent;border:none;display:inline-flex;float:right;color:#1e5dd3;text-transform:uppercase;font-weight:600;cursor:pointer;font-size:11px;position:absolute;top:12px;right:8px;padding:0;margin:0}::ng-deep .vx-form-group .select+.vx-control-panel{margin-top:8px}::ng-deep .vx-form-group .select+.selected{margin-top:8px}::ng-deep .vx-form-group .select.select{margin-top:8px}::ng-deep .vx-form-group .upload-format{border:1px solid #dbdbdb;border-radius:4px;padding:8px 12px;display:block}::ng-deep .vx-form-group .upload-format span.text{line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%;display:block;margin-bottom:6px}::ng-deep .vx-form-group .upload-format .radio-group{display:flex}::ng-deep .vx-form-group .upload-format .radio-group app-cs-radio{display:inline-block}::ng-deep .vx-form-group .upload-format .radio-group app-cs-radio label.radio-item span.value{font-size:11px;text-transform:uppercase;margin-left:8px}::ng-deep .vx-form-group .upload-format .radio-group app-cs-radio+app-cs-radio{margin-left:12px}::ng-deep .vx-form-group .upload-format~.upload-format{margin-top:4px}::ng-deep .vx-form-group .form-tab{display:flex;justify-content:flex-start}::ng-deep .vx-form-group .form-tab button{background:transparent;color:#161b2f;font-size:11px;line-height:16px;text-transform:uppercase;cursor:pointer;padding:8px 8px 8px 0;border:none;outline:none;font-weight:500}::ng-deep .vx-form-group .form-tab button:disabled{opacity:.5;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}::ng-deep .vx-form-group .form-tab button+button{padding:8px}::ng-deep .vx-form-group .form-tab button.active{color:#1e5dd3}::ng-deep .vx-form-group .tab-group{border:1px solid #dbdbdb;border-radius:4px;padding:0;display:block;position:relative}::ng-deep .vx-form-group .tab-group .upload-file{padding:16px 24px;display:flex;align-items:center}::ng-deep .vx-form-group .tab-group .upload-file .image{width:80px;margin-right:20px}::ng-deep .vx-form-group .tab-group .upload-file .browse{display:flex;align-items:center;justify-content:center;width:calc(100% - 100px);text-align:center}::ng-deep .vx-form-group .tab-group .upload-file .browse span{display:inline-block;font-size:12px;color:#747576;line-height:16px;padding:0 4px}::ng-deep .vx-form-group .tab-group .upload-file .browse .label{font-size:11px;color:#1e5dd3;line-height:16px;font-weight:600;text-transform:uppercase;margin:0;padding:0}::ng-deep .vx-form-group .tab-group .upload-file .browse .label input{opacity:0;position:absolute;top:0;margin:0;padding:0;right:0;bottom:0;left:0;cursor:pointer;width:100%}::ng-deep .vx-form-group .tab-group.active{border-color:#1e5dd3}::ng-deep .vx-form-group .tab-group.uploaded{margin-top:4px}::ng-deep .vx-form-group .tab-group.uploaded .upload-file{padding:12px \u200B24px}::ng-deep .vx-form-group .tab-group.uploaded .upload-file .image{display:none}::ng-deep .vx-form-group .tab-group.uploaded .upload-file .browse{width:100%}::ng-deep .vx-form-group .tab-group+label.vx-form-group{margin-top:8px;margin-bottom:4px}::ng-deep .vx-form-group .file-list{background:#fbfbfb;border:1px solid #f1f1f1;border-radius:4px;padding:12px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;position:relative}::ng-deep .vx-form-group .file-list span.file-name{color:#747576;line-height:16px;font-size:11px;font-weight:400;cursor:pointer;max-width:calc(100% - 20px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::ng-deep .vx-form-group .file-list .button-group{display:flex}::ng-deep .vx-form-group .file-list button{font-size:12px;color:#eb2424;cursor:pointer;display:flex;padding:0;border:none;outline:none;background:transparent}::ng-deep .vx-form-group .file-list button.edit{color:#1e5dd3}::ng-deep .vx-form-group .file-list button+button{margin-left:16px}::ng-deep .vx-form-group .file-list+.file-list{margin-top:4px}::ng-deep .vx-form-group .file-list .file-container{display:flex;justify-content:space-between;width:100%}::ng-deep .vx-form-group .file-list.policy{background:#fff}::ng-deep .vx-form-group .file-list cs-select{position:relative;margin-top:8px;width:100%}::ng-deep .vx-form-group .file-list cs-select .selection-wrap .input-group input.value{height:32px!important;font-size:11px!important}::ng-deep .vx-form-group .file-list cs-select .selection-wrap .input-group i{right:12px!important;top:12px!important}::ng-deep .vx-form-group .file-list app-line-loader{display:block;position:absolute;left:10px;right:10px;bottom:0}::ng-deep .vx-form-group label.vx-control-panel{color:#161b2f;font-size:11px;font-weight:500;line-height:16px;margin-bottom:8px;display:block;text-transform:uppercase;width:100%;margin-top:4px;text-align:left}::ng-deep .vx-form-group label.vx-control-panel.custom-tag{font-size:10px}::ng-deep .vx-form-group label.vx-control-panel.vx-mt-8{margin-top:8px}::ng-deep .vx-form-group label.vx-control-panel span.required{color:#eb2424;font-size:16px;font-weight:400;position:relative;top:-2px}::ng-deep .vx-form-group label.vx-control-panel .button{background:transparent;border:none;display:inline-flex;float:right;color:#1e5dd3;text-transform:uppercase;font-weight:600;cursor:pointer;font-size:11px;padding:0;margin:0}::ng-deep .vx-form-group label.vx-control-panel app-cs-switch{float:right;display:block}::ng-deep .vx-form-group label.vx-control-panel i{margin-left:8px;font-size:12px;color:#1e5dd3;cursor:pointer;position:relative;top:1px}::ng-deep .vx-form-group label.vx-control-panel i.depreciation-icon{color:#e4b700;font-size:16px;position:relative;top:3px}::ng-deep .vx-form-group label.vx-control-panel .checkpoint-version{background:#f1f1f1;border-radius:2px;color:#042e7d;font-size:10px;font-weight:600;line-height:14px;margin-left:4px;padding:0 2px}::ng-deep .vx-form-group .input,::ng-deep .vx-form-group input[type=text]{height:40px;border-radius:4px;border:1px solid #dbdbdb;background:#fff;outline:none;padding:8px 12px;line-height:20px;font-size:13px;color:#747576;transition:all .2s ease-in-out;width:100%;font-weight:400}::ng-deep .vx-form-group .input::-moz-placeholder,::ng-deep .vx-form-group input[type=text]::-moz-placeholder{color:#747576;font-weight:400}::ng-deep .vx-form-group .input:-ms-input-placeholder,::ng-deep .vx-form-group input[type=text]:-ms-input-placeholder{color:#747576;font-weight:400}::ng-deep .vx-form-group .input::placeholder,::ng-deep .vx-form-group input[type=text]::placeholder{color:#747576;font-weight:400}::ng-deep .vx-form-group .input:focus,::ng-deep .vx-form-group .input:hover,::ng-deep .vx-form-group input[type=text]:focus,::ng-deep .vx-form-group input[type=text]:hover{border-color:#1e5dd3;box-shadow:0 0 5px rgba(30,93,211,.27)}::ng-deep .vx-form-group .input.error,::ng-deep .vx-form-group input[type=text].error{border-color:#eb2424;color:#eb2424;margin-bottom:4px}::ng-deep .vx-form-group .input.error:focus,::ng-deep .vx-form-group input[type=text].error:focus{box-shadow:0 0 5px rgba(211,30,30,.27)}::ng-deep .vx-form-group .input:disabled,::ng-deep .vx-form-group input[type=text]:disabled{background:#f1f1f1;cursor:not-allowed;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}::ng-deep .vx-form-group .input:disabled:hover,::ng-deep .vx-form-group input[type=text]:disabled:hover{border-color:#dbdbdb;box-shadow:none}::ng-deep .vx-form-group .input span.text,::ng-deep .vx-form-group input[type=text] span.text{font-size:13px;color:#747576;font-weight:400;display:block;width:100%}::ng-deep .vx-form-group .input .input-group,::ng-deep .vx-form-group input[type=text] .input-group{display:flex;align-items:center}::ng-deep .vx-form-group .input .input-group.counter,::ng-deep .vx-form-group input[type=text] .input-group.counter{min-width:96px;width:96px}::ng-deep .vx-form-group .input .input-group.counter button,::ng-deep .vx-form-group input[type=text] .input-group.counter button{height:24px;width:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:#747576;font-size:8px;cursor:pointer;outline:none}::ng-deep .vx-form-group .input .input-group.counter input,::ng-deep .vx-form-group input[type=text] .input-group.counter input{-webkit-appearance:textfield;-moz-appearance:textfield;height:24px;width:calc(100% - 48px);border:1px solid #f1f1f1;outline:none;padding:0 6px;text-align:center}::ng-deep .vx-form-group .input .input-group.counter input::-webkit-inner-spin-button,::ng-deep .vx-form-group .input .input-group.counter input::-webkit-outer-spin-button,::ng-deep .vx-form-group input[type=text] .input-group.counter input::-webkit-inner-spin-button,::ng-deep .vx-form-group input[type=text] .input-group.counter input::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}::ng-deep .vx-form-group .input+.file-list,::ng-deep .vx-form-group input[type=text]+.file-list{margin-top:8px}::ng-deep .vx-form-group .input::-moz-placeholder,::ng-deep .vx-form-group input[type=text]::-moz-placeholder{font-size:13px}::ng-deep .vx-form-group .input::placeholder,::ng-deep .vx-form-group input[type=text]::placeholder{font-size:13px}::ng-deep .vx-form-group .input:-ms-input-placeholder,::ng-deep .vx-form-group input[type=text]:-ms-input-placeholder{font-size:13px}::ng-deep .vx-form-group .input::-ms-input-placeholder,::ng-deep .vx-form-group input[type=text]::-ms-input-placeholder{font-size:13px}::ng-deep .vx-form-group .classification{height:40px;border-radius:4px;border:1px solid #dbdbdb;background:#fff;padding:8px 12px;display:flex;justify-content:space-between}::ng-deep .vx-form-group .classification label{width:100%;position:relative;z-index:1;margin:0 4px 0 0}::ng-deep .vx-form-group .classification label span{display:block;width:100%;height:24px;border:1px solid #f1f1f1;border-radius:2px;line-height:24px;font-size:10px;text-align:center;color:#747576;font-weight:500;position:relative;text-transform:uppercase}::ng-deep .vx-form-group .classification label span:before{height:2px;content:\"\";top:0;right:0;left:0;border-radius:2px;position:absolute;transition:all .2s ease-in-out}::ng-deep .vx-form-group .classification label input{opacity:0;position:absolute;top:0;right:0;bottom:0;left:0;margin:0;padding:0;width:100%;height:100%;cursor:pointer;z-index:1}::ng-deep .vx-form-group .classification label input:checked+span{color:#fff}::ng-deep .vx-form-group .classification label input:checked+span:before{bottom:0;height:100%;z-index:-1}::ng-deep .vx-form-group .classification label.low span:before{background:#34aa44}::ng-deep .vx-form-group .classification label.low-med span:before{background:#f2bf19}::ng-deep .vx-form-group .classification label.med-high span:before{background:#f29619}::ng-deep .vx-form-group .classification label.high span:before{background:#eb2424}::ng-deep .vx-form-group .classification label:last-of-type{margin-right:0}::ng-deep .vx-form-group .input{display:flex;align-items:center}::ng-deep .vx-form-group .selected{height:40px;border-radius:4px;border:1px solid #f1f1f1;background:#fbfbfb;outline:none;padding:8px;line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%;display:flex;align-items:center;position:relative;justify-content:space-between}::ng-deep .vx-form-group .selected.first-field{z-index:2}::ng-deep .vx-form-group .selected .chip-container{display:flex;width:calc(100% - 60px);align-items:center}::ng-deep .vx-form-group .selected .chip-container.checkpoints{width:calc(100% - 120px)}::ng-deep .vx-form-group .selected .chip-container span.chip{background:#fff;border-radius:2px;box-shadow:0 0 3px #1e5dd31a;height:24px;padding:0 8px;color:#1e5dd3;font-size:12px;display:block;width:auto;max-width:100%;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:24px}::ng-deep .vx-form-group .selected .chip-container span.chip.disabled{background:#f1f1f1;box-shadow:none;color:#747576;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}::ng-deep .vx-form-group .selected .chip-container span.chip i{font-weight:400;margin-right:8px;cursor:pointer;font-size:10px;position:relative;top:1px}::ng-deep .vx-form-group .selected .chip-container span.chip span.step{background:#1e5dd3;border-radius:2px;color:#fff;font-size:9px;line-height:14px;padding:0 4px;font-weight:400;text-align:center;min-width:auto;margin-right:4px}::ng-deep .vx-form-group .selected .chip-container span.chip+span.chip{margin-left:4px}::ng-deep .vx-form-group .selected .chip-container span.chip.with-question{display:flex;align-items:center;justify-content:space-between;width:100%}::ng-deep .vx-form-group .selected .chip-container span.chip.with-question span.value{color:#1e5dd3;font-size:12px;font-weight:400;line-height:24px;padding:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:calc(100% - 80px)}::ng-deep .vx-form-group .selected .chip-container span.chip.with-question span.label{background:#f1f1f1;border-radius:2px;color:#042e7d;font-size:9px;font-weight:600;text-transform:uppercase;padding-left:4px;padding-right:4px;line-height:12px;margin-left:8px}::ng-deep .vx-form-group .selected .chip-container span.value{color:#747576;font-size:13px;line-height:20px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100% - 52px);padding:0 4px}::ng-deep .vx-form-group .selected .chip-container span.checkpoint-point-text{color:#747576;font-size:10px;font-weight:500;padding:0 8px;width:122px;line-height:14px}::ng-deep .vx-form-group .selected .chip-container span.checkpoint-point-text.first{position:relative;min-width:162px}::ng-deep .vx-form-group .selected .chip-container span.checkpoint-point-text.first:before{background:#f1f1f1;content:\"\";position:absolute;top:0;right:0;height:calc(100% + 12px);width:1px}::ng-deep .vx-form-group .selected .chip-container span.checkpoint-point-text .no{color:#1e5dd3}::ng-deep .vx-form-group .selected .chip-container.plus span.chip{max-width:calc(50% - 35px)}::ng-deep .vx-form-group .selected .chip-container.more-one span.chip{max-width:50%}::ng-deep .vx-form-group .selected .chip-container .chip-inner{background:#fff;border-radius:2px;box-shadow:0 2px 4px #1e5dd31a;line-height:24px;padding:0 4px 0 8px;display:flex;align-items:center}::ng-deep .vx-form-group .selected .chip-container .chip-inner .chip{background:transparent;border-radius:0;box-shadow:none;height:auto;line-height:unset;padding:0;color:#747576;max-width:300px}::ng-deep .vx-form-group .selected .chip-container .chip-inner button.count{border-radius:20px;height:16px;padding:0 6px;border:none;font-size:9px;line-height:16px;margin-left:4px;min-width:20px}::ng-deep .vx-form-group .selected .chip-container .chip-inner button.count.user{background:#34aa44}::ng-deep .vx-form-group .selected button.count{background:#1e5dd3;border-radius:2px;height:24px;padding:0 8px;border:1px solid #1e5dd3;cursor:pointer;outline:none;color:#fff;font:13px;font-weight:500;line-height:20px;white-space:nowrap;margin-left:8px}::ng-deep .vx-form-group .selected button.edit{border:1px solid #f1f1f1;border-radius:2px;background:#fff;outline:none;cursor:pointer;display:block;height:24px;padding:0 5px 0 4px;font-size:11px;font-weight:500;color:#1e5dd3;text-transform:uppercase;white-space:nowrap;margin-left:8px}::ng-deep .vx-form-group .selected button.edit i{font-weight:400;font-size:8px;margin-right:4px}::ng-deep .vx-form-group .selected button.close-btn{background:transparent;border:none;padding:0;margin-left:8px;font-size:10px;color:#c7381b;display:flex;align-items:center}::ng-deep .vx-form-group .selected .workflow-label{min-width:92px;padding:4px;text-align:center;margin-left:-8px;margin-right:8px;border-right:1px solid #f1f1f1}::ng-deep .vx-form-group .selected .workflow-label p{margin:0;display:block;text-transform:uppercase}::ng-deep .vx-form-group .selected .workflow-label p.title{font-size:9px;line-height:12px;color:#161b2f;font-weight:500}::ng-deep .vx-form-group .selected .workflow-label p.description{font-size:11px;line-height:16px;color:#161b2f;font-weight:600}::ng-deep .vx-form-group .selected .workflow-label+.chip-container{width:calc(100% - 148px)}::ng-deep .vx-form-group .selected+.selected{margin-top:8px}::ng-deep .vx-form-group .selected+app-cs-switch{display:block;margin-top:8px}::ng-deep .vx-form-group .selected+app-cs-switch label.cs-switch span.value{white-space:nowrap;margin-right:5px;text-transform:uppercase}::ng-deep .vx-form-group .selected+app-cs-switch.who-toggle label.cs-switch span.value{color:#747576}::ng-deep .vx-form-group .selected+app-cs-radio{margin-top:8px!important}::ng-deep .vx-form-group .selected~app-cs-radio{margin-top:4px;display:block;width:100%}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item span.radio{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item span.value{font-size:11px;text-transform:uppercase;border:1px solid #dbdbdb;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0;max-width:100%;font-weight:500;color:#707070}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item span.value i{font-size:12px;color:#1e5dd3}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item svg{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item input:checked~span.value{background:#eefcf0;border-color:#34aa44}::ng-deep .vx-form-group .selected.readOnly{pointer-events:none}::ng-deep .vx-form-group .selected span.chip{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .vx-form-group .select-list{position:absolute;background:#fff;box-shadow:0 0 5px #1e5dd3;top:100%;right:0;left:0;z-index:2}::ng-deep .vx-form-group .select-list .vx-radio-group label.vx-radio-item{width:100%;padding:12px 16px}::ng-deep .vx-form-group .select-list .vx-radio-group label.vx-radio-item:hover{background:#f8f8f8}::ng-deep .vx-form-group marx-editor{margin-top:8px;display:block}::ng-deep .vx-form-group marx-editor .editor-container{border-radius:4px;border:1px solid #dbdbdb}::ng-deep .vx-form-group marx-editor .editor-container .editable-block{min-height:60px;padding:11px 15px;max-height:100px;line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%}::ng-deep .vx-form-group marx-editor .editor-container .editable-block ul{padding:0 0 0 10px;margin-top:0}::ng-deep .vx-form-group marx-editor .editor-container .editable-block ul li{list-style:disc}::ng-deep .vx-form-group marx-editor .editor-container .editable-block ol{padding:0 0 0 10px;margin-top:0}::ng-deep .vx-form-group marx-editor .editor-container .editable-block ol li{list-style:decimal}::ng-deep .vx-form-group marx-editor .editor-container .editor-tools{z-index:1;border-top:1px solid #dbdbdb;transition:none;border-radius:0 0 3px 3px}::ng-deep .vx-form-group marx-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button{height:22px!important;width:22px!important;padding:0 5px}::ng-deep .vx-form-group marx-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button svg{height:22px;width:22px}::ng-deep .vx-form-group marx-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button.submit{width:80px!important;line-height:22px;justify-content:center}::ng-deep .vx-form-group marx-editor .editor-container .editor-tools app-editor-menu .editor-menu .col .popover.small ul.option-list li button{width:100%!important;height:auto!important}::ng-deep .vx-form-group marx-editor .editor-container:focus-within{border-color:#1e5dd3!important}::ng-deep .vx-form-group marx-editor .editor-container:focus-within .editor-tools{border-color:#1e5dd3!important}::ng-deep .vx-form-group marx-editor .editor-container:hover{border-color:#1e5dd3!important}::ng-deep .vx-form-group marx-editor .editor-container:hover .editor-tools{border-color:#1e5dd3!important}::ng-deep .vx-form-group marx-editor+app-cs-switch{margin-top:8px}::ng-deep .vx-form-group app-cs-switch label.cs-switch span.value{font-size:11px;color:#747576;text-transform:uppercase}::ng-deep .vx-form-group app-cs-switch+app-cs-switch{margin-top:8px}::ng-deep .vx-form-group .date-time-picker{display:flex;justify-content:space-between;height:40px;border-radius:4px;border:1px solid #dbdbdb;padding:11px 0}::ng-deep .vx-form-group .date-time-picker:focus-within{border-color:#1e5dd3;box-shadow:0 0 5px rgba(30,93,211,.27)}::ng-deep .vx-form-group .date-time-picker .picker-group{width:50%;position:relative;display:flex;align-items:center}::ng-deep .vx-form-group .date-time-picker .picker-group:first-of-type{border-right:1px solid #dbdbdb}::ng-deep .vx-form-group .date-time-picker .picker-group:only-of-type{border:none;width:100%}::ng-deep .vx-form-group .date-time-picker .picker-group input{height:38px;background:#fff;line-height:38px;font-size:13px;color:#747576;transition:all .2s ease-in-out;width:100%;font-weight:400;border:none;padding:0 12px 0 34px;outline:none}::ng-deep .vx-form-group .date-time-picker .picker-group input:focus,::ng-deep .vx-form-group .date-time-picker .picker-group input:hover{box-shadow:none;border:none}::ng-deep .vx-form-group .date-time-picker .picker-group input::-moz-placeholder{color:#999;font-size:13px}::ng-deep .vx-form-group .date-time-picker .picker-group input::placeholder{color:#999;font-size:13px}::ng-deep .vx-form-group .date-time-picker .picker-group input:-ms-input-placeholder{color:#999;font-size:13px}::ng-deep .vx-form-group .date-time-picker .picker-group input::-ms-input-placeholder{color:#999;font-size:13px}::ng-deep .vx-form-group .date-time-picker .picker-group i{display:flex;justify-content:center;align-items:center;height:16px;width:16px;position:absolute;left:12px;top:0;color:#bcbcbc;font-size:16px;pointer-events:none}::ng-deep .vx-form-group app-cs-radio.main-filed{margin-top:4px;display:block;width:100%}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item{width:100%;position:relative}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item span.radio{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item span.value{font-size:11px;text-transform:uppercase;border:1px solid #dbdbdb;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0;max-width:100%;color:#707070}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item span.value i{font-size:12px;color:#1e5dd3}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item svg{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item input:checked~span.value{background:#eefcf0;border-color:#34aa44}::ng-deep .vx-form-group .switch-row{display:flex}::ng-deep .vx-form-group .switch-row app-cs-switch{display:block;margin-top:8px}::ng-deep .vx-form-group .switch-row app-cs-switch label.cs-switch span.value{white-space:nowrap;margin-right:0;text-transform:uppercase;color:#747576!important}::ng-deep .vx-form-group .switch-row app-cs-switch label.cs-switch span.value i{display:inline-flex;font-size:11px;cursor:pointer;color:#1e5dd3;align-items:center;line-height:16px;margin:0 4px}::ng-deep .vx-form-group .switch-row app-cs-switch+app-cs-switch{margin-left:8px}::ng-deep .vx-form-group .switch-row.align-right{justify-content:flex-end}::ng-deep .vx-form-group .switch-row.align-right label.cs-switch span.value{margin-right:8px}::ng-deep .vx-form-group .risk-type-field{background:#f8f8f8;border:1px solid #dbdbdb;border-radius:4px;height:40px;display:flex;align-items:center;padding:4px;position:relative;z-index:1}::ng-deep .vx-form-group .risk-type-field .type-item{width:50%;position:relative}::ng-deep .vx-form-group .risk-type-field .type-item button{background:transparent;border:none;border-radius:0;color:#747576;font-size:11px;font-weight:600;text-transform:uppercase;width:100%;height:32px;padding:0 12px;text-align:left}::ng-deep .vx-form-group .risk-type-field .type-item button.disabled{background:transparent!important;color:#dbdbdb!important;filter:unset!important;opacity:unset!important;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}::ng-deep .vx-form-group .risk-type-field .type-item .info{color:#1e5dd3;font-size:12px;position:absolute;top:10px;right:12px;cursor:pointer}::ng-deep .vx-form-group .risk-type-field .type-item.active button{color:#1e5dd3!important}::ng-deep .vx-form-group .risk-type-field .type-item:nth-child(2).active~.background-glider{transform:translate(100%)}::ng-deep .vx-form-group .risk-type-field .background-glider{background:#fff;border-radius:4px;box-shadow:0 1px 3px #161b2f26;position:absolute;display:flex;width:208px;height:32px;z-index:-1;transition:.25s ease-out}.left{width:36px;height:36px;margin-top:30px;margin-left:-58px;margin-right:20px;display:flex;justify-content:center;align-items:center;position:relative;z-index:10;border-radius:50%}.left.deadline-completed{margin-top:18px}.left.checked{background:transparent}.left img{width:36px}.left .checkIcon{width:32px;height:32px;background:#fff;border-radius:50%;stroke-width:4;stroke:#34aa44;stroke-miterlimit:10;box-shadow:inset 0 0 0 #34aa44;-webkit-animation:fillCheck .4s ease-in-out .4s forwards,scale .3s ease-in-out .9s both;animation:fillCheck .4s ease-in-out .4s forwards,scale .3s ease-in-out .9s both;margin-top:0}.left .checkIcon__circle{stroke-dasharray:166;stroke-dashoffset:166;stroke-width:2;stroke-miterlimit:10;stroke:#34aa44;fill:none;-webkit-animation:strokeCheck .6s cubic-bezier(.65,0,.45,1) forwards;animation:strokeCheck .6s cubic-bezier(.65,0,.45,1) forwards}.left .checkIcon__check{transform-origin:50% 50%;stroke-dasharray:48;stroke-dashoffset:48;-webkit-animation:strokeCheck .3s cubic-bezier(.65,0,.45,1) .8s forwards;animation:strokeCheck .3s cubic-bezier(.65,0,.45,1) .8s forwards}.right{width:100%}.right span.indicator{position:absolute;top:36px;left:-16px;font-size:12px;color:#f0b819;cursor:pointer}.form-group-row{display:flex;position:relative;transition:all .2s ease-in-out}.form-group-row.disabled{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;filter:grayscale(1);z-index:2}.form-group-row.disabled .left{position:relative}.form-group-row.disabled .left:before{content:\"\";position:absolute;top:2px;right:0;bottom:0;left:2px;background:#fff;opacity:.7;border-radius:50%;width:32px;height:32px}.form-group-row.disabled .right{opacity:.3}.form-group-row.active{pointer-events:none;filter:grayscale(0);z-index:2;opacity:1}.form-group-row.active .right .vx-form-group .custom-input,.form-group-row.active .right .vx-form-group input{border-color:#1e5dd3;box-shadow:0 0 5px rgba(30,93,211,.27)}::ng-deep .radio-group-selector app-cs-radio{margin-top:4px;display:block;width:100%}::ng-deep .radio-group-selector app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .radio-group-selector app-cs-radio label.radio-item .radio,::ng-deep .radio-group-selector app-cs-radio label.radio-item .radiomark{position:absolute!important;top:9px;left:12px}::ng-deep .radio-group-selector app-cs-radio label.radio-item .value{font-size:11px!important;text-transform:uppercase;border:1px solid #dbdbdb;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0!important;max-width:100%!important;font-weight:500!important;color:#707070!important}::ng-deep .radio-group-selector app-cs-radio label.radio-item .value i{font-size:12px;color:#1e5dd3}::ng-deep .radio-group-selector app-cs-radio label.radio-item input:checked~span.value{background:#eefcf0;border-color:#34aa44}@-webkit-keyframes strokeCheck{to{stroke-dashoffset:0}}@keyframes strokeCheck{to{stroke-dashoffset:0}}@-webkit-keyframes fillCheck{to{box-shadow:inset 0 0 0 2px #34aa44}}@keyframes fillCheck{to{box-shadow:inset 0 0 0 2px #34aa44}}.action-list{width:220px}.action-list ul{padding:0;margin:0;-webkit-animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;background:#fff;box-shadow:0 3px 6px #1c5bd140;border-radius:4px;max-height:220px;overflow:auto}.action-list ul.action-item{display:block}.action-list ul.action-item li{list-style:none;border:none;border-bottom:1px solid #f1f1f1;display:block;width:100%;padding:0;background:transparent;border-radius:0;margin:0;height:auto;justify-content:flex-start;box-shadow:none}.action-list ul.action-item li button{color:#6e717e;text-align:left;text-decoration:none;cursor:pointer;background:transparent;font-size:12px;text-transform:capitalize;display:flex;width:100%;padding:7.5px 11px;border:none}.action-list ul.action-item li button i{font-size:17px;margin-right:10px;color:#1c5bd1}.action-list ul.action-item li button:hover{background:#f3f3f3}.action-list ul.action-item li .avatar-card{display:flex;align-items:center;width:100%;padding:7.5px}.action-list ul.action-item li .avatar-card.within-con{display:block}.action-list ul.action-item li .avatar-card .avatar{height:24px;width:24px!important;overflow:hidden;background:#4681ef;color:#fff;font-size:10px;display:inline-flex;margin-right:5px;border-radius:50%;align-items:center;justify-content:center;text-transform:uppercase}.action-list ul.action-item li .avatar-card .avatar img{width:100%}.action-list ul.action-item li .avatar-card .avatar+span.value{width:calc(100% - 29px)}.action-list ul.action-item li .avatar-card span.value{width:100%;color:#6e717e;text-decoration:none;background:transparent;font-size:12px;text-transform:capitalize;display:block;font-weight:400;-moz-text-align-last:left;text-align-last:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:20px}.action-list ul.action-item li .avatar-card span.value i{font-size:8px;color:#1c5bd1;cursor:pointer;margin-right:5px}.action-list ul.action-item li .avatar-card.no-image{display:block}.action-list ul.action-item li .avatar-card.no-image span.value{width:100%;display:block}.action-list ul.action-item li .chip-item{color:#1e5dd3;padding:10px;display:flex;align-items:center}.action-list ul.action-item li .chip-item i{margin-right:7px;font-size:10px;cursor:pointer;display:inline-flex}.action-list ul.action-item li .chip-item span{display:block;width:auto;max-width:calc(100% - 17px);font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.action-list ul.action-item li .chip-item span.chip-block{display:block;width:100%}.action-list ul.action-item li .chip-item span.id{font-size:9px}.action-list ul.action-item li .within{display:flex;align-items:center;justify-content:flex-start}.action-list ul.action-item li .within .block{background:#f1f1f1;border-radius:2px;padding:0 2px;line-height:14px;font-size:9px;font-weight:500;color:#042e7d;margin-right:6px;display:block;text-transform:uppercase}.action-list ul.action-item li .within .data{width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#747576;font-size:11px;font-weight:400;line-height:17px}.action-list ul.action-item li:first-child{-webkit-animation:action-list-open .25s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open .25s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(2){-webkit-animation:action-list-open .35s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open .35s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(3){-webkit-animation:action-list-open .45s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open .45s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(4){-webkit-animation:action-list-open .55s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open .55s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(5){-webkit-animation:action-list-open .65s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open .65s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(6){-webkit-animation:action-list-open .75s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open .75s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(7){-webkit-animation:action-list-open .85s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open .85s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(8){-webkit-animation:action-list-open .95s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open .95s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(9){-webkit-animation:action-list-open 1.05s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open 1.05s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(10){-webkit-animation:action-list-open 1.15s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open 1.15s cubic-bezier(.25,.46,.45,.94) both}@-webkit-keyframes action-list-open{0%{transform:translateY(50px)}to{transform:translateY(0)}}@keyframes action-list-open{0%{transform:translateY(50px)}to{transform:translateY(0)}}@-webkit-keyframes scale-up-center{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}@keyframes scale-up-center{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}p.error-message{font-size:11px;font-weight:400;color:#eb2424;line-height:16px;margin-top:8px;margin-bottom:0}.edit-loader{position:absolute;top:-3px;left:-3px;width:46px;height:46px;transform:rotate(180deg)}.circular-loader{-webkit-animation:rotate 2s linear infinite;animation:rotate 2s linear infinite;height:100%;transform-origin:center center;width:100%;position:absolute;top:0;left:0;margin:auto}.loader-path{stroke-dasharray:150,200;stroke-dashoffset:-10;-webkit-animation:dash 1.5s ease-in-out infinite;animation:dash 1.5s ease-in-out infinite;stroke-linecap:round}@-webkit-keyframes rotate{to{transform:rotate(1turn)}}@keyframes rotate{to{transform:rotate(1turn)}}@-webkit-keyframes dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35}to{stroke-dasharray:89,200;stroke-dashoffset:-124}}@keyframes dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35}to{stroke-dasharray:89,200;stroke-dashoffset:-124}}::ng-deep .dropdown{position:fixed;background:#fff;box-shadow:0 3px 6px #00000029;padding:24px 0;z-index:9;max-height:calc(100vh - 200px);overflow:auto}::ng-deep .dropdown ul.dropdown-list{padding:0 20px;margin:0;display:block}::ng-deep .dropdown ul.dropdown-list li{list-style:none}::ng-deep .dropdown ul.dropdown-list li app-cs-radio{display:flex}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item span.radio{position:absolute;top:12px;left:12px}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item span.value{padding:11px 12px 11px 32px;width:100%;border:1px solid #bcbcbc;border-radius:4px;margin-left:0;max-width:100%}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item svg{position:absolute;top:12px;left:12px}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item input[type=radio]:checked~span.value{background:#e8feeb;border-color:#34aa44}::ng-deep .dropdown ul.dropdown-list li+li{margin-top:8px}app-smiley-dialog{position:relative;z-index:10}app-smiley-dialog-inline{position:absolute;top:-3px;right:0;bottom:0;z-index:999;width:520px;height:calc(100vh + 3px)}::ng-deep .vx-overlay{position:fixed;z-index:3;top:0;right:0;bottom:0;left:0}dp-date-picker{width:100%;position:fixed!important;z-index:14;top:-40px;left:0}dp-date-picker input{width:100%;border:none;opacity:0;pointer-events:none}dp-date-picker input:focus{outline:none}dp-date-picker .dp-popup{width:412px;box-shadow:0 0 20px #161b2f26;background-color:#fff;border-radius:4px;-webkit-animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both}dp-date-picker .dp-popup dp-day-calendar,dp-date-picker .dp-popup dp-month-calendar{width:100%;pointer-events:auto}dp-date-picker .dp-popup dp-day-calendar button,dp-date-picker .dp-popup dp-month-calendar button{background:transparent;border:none;outline:none}dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-left,dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-right,dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn,dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-left,dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-right,dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn{width:40px;height:40px;display:flex;justify-content:center;align-items:center;border-radius:50%;font-size:14px}dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-left:hover,dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-right:hover,dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn:hover,dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-left:hover,dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-right:hover,dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn:hover{background-color:#f3f3f3}dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn,dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn{display:none}dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn:before,dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn:before{content:\"\";height:10px;width:10px;border-radius:50%;background:#000;display:inline-flex}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week,dp-date-picker .dp-popup dp-day-calendar .dp-weekdays,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays{display:flex;justify-content:space-around}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week .dp-calendar-weekday,dp-date-picker .dp-popup dp-day-calendar .dp-weekdays .dp-calendar-weekday,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week .dp-calendar-weekday,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays .dp-calendar-weekday{width:52px;border-left:none;border-bottom-color:#fff;color:#747576;font-size:11px;font-weight:600;text-transform:uppercase}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button,dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button{width:40px;height:40px;border-radius:50%;display:inline-flex;justify-content:center;align-items:center}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button:hover,dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button:hover,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button:hover,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button:hover{background-color:#f3f3f3}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button.dp-selected,dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button.dp-selected,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button.dp-selected,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button.dp-selected{background:#1e5dd3}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button.dp-current-day,dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button.dp-current-day,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button.dp-current-day,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button.dp-current-day{border:1px solid rgba(0,0,0,.38);color:#1e5dd3;background-color:#fff}dp-date-picker .dp-popup dp-day-calendar .dp-day-calendar-container,dp-date-picker .dp-popup dp-month-calendar .dp-day-calendar-container{padding:20px;border-radius:2px}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-nav-container,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-nav-container{display:flex;margin:0 0 20px;border:none}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-nav-container .dp-nav-header button,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-nav-container .dp-nav-header button{color:#000;font-size:17px;font-weight:500;margin:0 0 0 12px;padding:0}dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container,dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container{width:80px;display:flex}dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button,dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button{margin:0!important}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-wrapper,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-wrapper{border:none}dp-date-picker .dp-open+div{position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:0!important;display:flex;justify-content:center;align-items:center;z-index:99;pointer-events:none;background:rgba(0,0,0,.3)}@-webkit-keyframes slide-bottom{0%{transform:translateY(-100px)}to{transform:translateY(0)}}@keyframes slide-bottom{0%{transform:translateY(-100px)}to{transform:translateY(0)}}::ng-deep span.file{display:block;width:20px;min-width:20px;border-radius:0 0 2px 2px;position:relative;margin-right:5px;border:1px solid #747576;border-top:none;margin-top:5px;background:#fff}::ng-deep span.file.table{margin-right:8px;width:18px;min-width:18px}::ng-deep span.file.table i{font-size:8px}::ng-deep span.file.table .format{height:8px;font-size:7px;line-height:8px;font-weight:400}::ng-deep span.file:before{position:absolute;border-radius:0;top:-4px;right:-1px;content:\"\";height:4px;width:4px;display:block;background:linear-gradient(45deg,#747576,#747576 1%,#747576 50%,rgba(41,137,216,0) 51%,rgba(125,185,232,0));filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file:after{height:4px;left:-1px;right:3px;border-top:1px solid;border-right:none;border-left:1px solid;content:\"\";top:-4px;position:absolute;border-radius:2px 0 0 0;background:#fff}::ng-deep span.file .format{height:10px;font-size:6px;text-transform:uppercase;background:transparent;font-weight:600;text-align:center;display:block;line-height:10px}::ng-deep span.file i{font-size:10px;height:10px;display:flex;align-items:center;justify-content:center;color:#dbdbdb}::ng-deep span.file.docx{width:22px!important}::ng-deep span.file.pdf,::ng-deep span.file.template{border-color:#f31c39}::ng-deep span.file.pdf:before,::ng-deep span.file.template:before{background:linear-gradient(45deg,#f31c39,#f31c39 50%,rgba(41,137,216,0) 51%,rgba(125,185,232,0));filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#f31c39\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.pdf:after,::ng-deep span.file.template:after{border-color:#f31c39}::ng-deep span.file.pdf .format,::ng-deep span.file.template .format{color:#f31c39}::ng-deep span.file.css,::ng-deep span.file.less,::ng-deep span.file.scss,::ng-deep span.file.xls,::ng-deep span.file.xlsx{border-color:#34aa44}::ng-deep span.file.css:before,::ng-deep span.file.less:before,::ng-deep span.file.scss:before,::ng-deep span.file.xls:before,::ng-deep span.file.xlsx:before{background:linear-gradient(45deg,#34aa44,#34aa44 1%,#34aa44 50%,rgba(41,137,216,0) 51%,rgba(125,185,232,0));filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.css:after,::ng-deep span.file.less:after,::ng-deep span.file.scss:after,::ng-deep span.file.xls:after,::ng-deep span.file.xlsx:after{border-color:#34aa44;color:#34aa44}::ng-deep span.file.css .format,::ng-deep span.file.less .format,::ng-deep span.file.scss .format,::ng-deep span.file.xls .format,::ng-deep span.file.xlsx .format{color:#34aa44}::ng-deep span.file.doc,::ng-deep span.file.docx,::ng-deep span.file.psd{border-color:#1e5dd3}::ng-deep span.file.doc:before,::ng-deep span.file.docx:before,::ng-deep span.file.psd:before{background:linear-gradient(45deg,#1e5dd3,#1e5dd3 1%,#1e5dd3 50%,rgba(41,137,216,0) 51%,rgba(125,185,232,0));filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.doc:after,::ng-deep span.file.docx:after,::ng-deep span.file.psd:after{border-color:#1e5dd3}::ng-deep span.file.doc .format,::ng-deep span.file.docx .format,::ng-deep span.file.psd .format{color:#1e5dd3}::ng-deep span.file.ai,::ng-deep span.file.html,::ng-deep span.file.jpeg,::ng-deep span.file.jpg,::ng-deep span.file.png,::ng-deep span.file.ppt{border-color:#f6882f}::ng-deep span.file.ai:before,::ng-deep span.file.html:before,::ng-deep span.file.jpeg:before,::ng-deep span.file.jpg:before,::ng-deep span.file.png:before,::ng-deep span.file.ppt:before{background:linear-gradient(45deg,#f6882f,#f6882f 1%,#f6882f 50%,rgba(41,137,216,0) 51%,rgba(125,185,232,0));filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.ai:after,::ng-deep span.file.html:after,::ng-deep span.file.jpeg:after,::ng-deep span.file.jpg:after,::ng-deep span.file.png:after,::ng-deep span.file.ppt:after{border-color:#f6882f}::ng-deep span.file.ai .format,::ng-deep span.file.html .format,::ng-deep span.file.jpeg .format,::ng-deep span.file.jpg .format,::ng-deep span.file.png .format,::ng-deep span.file.ppt .format{color:#f6882f}::ng-deep span.file.php{border-color:#7aa6f7}::ng-deep span.file.php:before{background:linear-gradient(45deg,#7aa6f7,#7aa6f7 1%,#7aa6f7 50%,rgba(41,137,216,0) 51%,rgba(125,185,232,0));filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.php:after{border-color:#7aa6f7}::ng-deep span.file.php .format{color:#7aa6f7}::ng-deep ngx-material-timepicker-container .timepicker-backdrop-overlay{background-color:rgba(0,0,0,.05)!important;z-index:9999999999!important}::ng-deep ngx-material-timepicker-container .timepicker-overlay{z-index:9999999999!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker{width:232px!important;border-radius:2px!important;box-shadow:0 4px 30px #161b2f26!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header{background-color:#fff!important;padding:0!important;border-radius:2px 2px 0 0}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container{display:block!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time{color:#000!important;width:150px!important;margin:0 auto;line-height:60px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time ngx-material-timepicker-dial-control .timepicker-dial__control{font-size:40px;background-color:transparent!important;color:#000!important;font-weight:600;text-align:right;caret-color:transparent;outline:none;font-family:Poppins;line-height:56px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time ngx-material-timepicker-dial-control .timepicker-dial__control:focus,::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time ngx-material-timepicker-dial-control .timepicker-dial__control:hover{background-color:transparent!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time ngx-material-timepicker-dial-control:last-of-type .timepicker-dial__control{text-align:left}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time span{padding:0 8px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period{display:flex!important;width:182px;margin:0 auto!important;background:#f1f1f1;padding:4px 10px;border-radius:20px;position:relative}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period:before{background:#f1f1f1;content:\"\";position:absolute;top:15px;left:-25px;width:calc(100% + 50px);height:2px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period{flex-direction:unset!important;position:relative;z-index:1}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period:after{content:\"\";position:absolute;right:-12px;top:0;border-left:14px solid #f1f1f1;border-bottom:12px solid transparent;border-top:12px solid transparent;z-index:-1}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period:before{content:\"\";position:absolute;left:-18px;top:0;border-right:14px solid #f1f1f1;border-bottom:12px solid transparent;border-top:12px solid transparent;z-index:-1}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period button{font-size:11px;background-color:transparent;padding:0;border-radius:20px;color:#747576;font-weight:600;font-family:Poppins;width:84px;height:24px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period button.timepicker-dial__item_active{background:#fff!important;color:#1e5dd3!important;box-shadow:0 1px 2px #dbdbdb}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period button+button{margin-left:0!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face{width:200px!important;height:200px!important;padding:10px!important;background:transparent!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__number--outer{height:calc(224px / 2 - 20px)!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__number--outer span{color:#000}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__number--outer span.active{color:#fff}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__clock-hand{height:80px!important;top:calc(50% - 80px)!important;background-color:#1e5dd3!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__number>span.active{background-color:#1e5dd3!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__clock-hand_minute:before{border:4px solid #1e5dd3!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .timepicker__actions{display:flex!important;padding:10px 0 0!important;background:#fff!important;justify-content:space-around!important;border-radius:0 0 2px 2px!important;overflow:hidden}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .timepicker__actions div:first-child ngx-material-timepicker-button button.timepicker-button{background:#f8f8f8;color:#1e5dd3}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .timepicker__actions div ngx-material-timepicker-button button.timepicker-button{line-height:28px!important;width:100%;background:#1e5dd3;color:#fff;border-radius:0!important;height:32px!important;width:116px!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .timepicker__actions div ngx-material-timepicker-button button.timepicker-button span{font-weight:500!important;font-size:11px;font-family:Poppins}"]
|
|
1744
|
-
},] }
|
|
1745
|
-
];
|
|
1746
|
-
WorkflowComplianceComponent.ctorParameters = () => [
|
|
1747
|
-
{ type: AuthService },
|
|
1748
|
-
{ type: ResponsibilityService },
|
|
1749
|
-
{ type: FrequencyService },
|
|
1750
|
-
{ type: UiKitService },
|
|
1751
|
-
{ type: SnackBarService }
|
|
1752
|
-
];
|
|
1753
|
-
WorkflowComplianceComponent.propDecorators = {
|
|
1754
|
-
mode: [{ type: Input }],
|
|
1755
|
-
responsibilityId: [{ type: Input }],
|
|
1756
|
-
frameworkDetails: [{ type: Input }],
|
|
1757
|
-
isEntrust: [{ type: Input }],
|
|
1758
|
-
pickerChanged: [{ type: Output }],
|
|
1759
|
-
populateOption: [{ type: Output }],
|
|
1760
|
-
hideElementsFromMoreOptions: [{ type: Output }],
|
|
1761
|
-
closeWorkflow: [{ type: Output }],
|
|
1762
|
-
resetForm: [{ type: Output }],
|
|
1763
|
-
disconnectRefresh: [{ type: Output }],
|
|
1764
|
-
checkpointCountUpdated: [{ type: Output }],
|
|
1765
|
-
rcSelected: [{ type: Output }],
|
|
1766
|
-
openedFrom: [{ type: Input }],
|
|
1767
|
-
selectedRC: [{ type: Input }],
|
|
1768
|
-
onRemovingCheckpoint: [{ type: Output }],
|
|
1769
|
-
isAssessmentDisabled: [{ type: Output }],
|
|
1770
|
-
whatInput: [{ type: ViewChild, args: ['what',] }]
|
|
1771
|
-
};
|
|
1772
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3ctY29tcGxpYW5jZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi93b3JrZmxvdy1jb21wbGlhbmNlL3dvcmtmbG93LWNvbXBsaWFuY2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFjLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFbkMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ25GLE9BQU8sS0FBSyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFVeEUsTUFBTSxPQUFPLDJCQUEyQjtJQXVPdEMsWUFDVSxXQUF3QixFQUN4QixxQkFBNEMsRUFDNUMsZ0JBQWtDLEVBQ2xDLFlBQTBCLEVBQzFCLFFBQXlCO1FBSnpCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDNUMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQTNPMUIsU0FBSSxHQUFHLFFBQVEsQ0FBQztRQUNoQixxQkFBZ0IsR0FBRyxFQUFFLENBQUM7UUFDdEIscUJBQWdCLEdBQWUsRUFB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QUFDLENBQUM7UUFDL0QsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUMzQixDQUFDO0lBR0QsYUFBYSxDQUFDLEtBQVU7UUFDdEIsSUFBRyxDQUFDLEtBQUs7WUFBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQTtRQUNuQyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFNUMsQ0FBQzs7O1lBenpESixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHlCQUF5QjtnQkFDbkMsb3ZyRUFBbUQ7O2FBSXBEOzs7WUFkUSxXQUFXO1lBQ1gscUJBQXFCO1lBQ3JCLGdCQUFnQjtZQUVoQixZQUFZO1lBQ1osZUFBZTs7O21CQVdyQixLQUFLOytCQUNMLEtBQUs7K0JBQ0wsS0FBSzt3QkFDTCxLQUFLOzRCQUVMLE1BQU07NkJBQ04sTUFBTTswQ0FDTixNQUFNOzRCQUNOLE1BQU07d0JBQ04sTUFBTTtnQ0FDTixNQUFNO3FDQUNOLE1BQU07eUJBQ04sTUFBTTt5QkFDTixLQUFLO3lCQUNMLEtBQUs7bUNBb05MLE1BQU07bUNBQ04sTUFBTTt3QkFFTixTQUFTLFNBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBjbG9uZURlZXAgfSBmcm9tICdsb2Rhc2gnO1xyXG5pbXBvcnQgeyBFZGl0b3JDb25maWcgfSBmcm9tICd2Y29tcGx5LWVkaXRvcic7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vd29ya2Zsb3ctc2VydmljZXMvYXV0aC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUmVzcG9uc2liaWxpdHlTZXJ2aWNlIH0gZnJvbSAnLi4vd29ya2Zsb3ctc2VydmljZXMvcmVzcG9uc2liaWxpdHkuc2VydmljZSc7XHJcbmltcG9ydCB7IEZyZXF1ZW5jeVNlcnZpY2UgfSBmcm9tICcuLi9zaGFyZWRDb21wb25lbnRzL2ZyZXF1ZW5jeS9mcmVxdWVuY3kuc2VydmljZSc7XHJcbmltcG9ydCAqIGFzIG1vbWVudCBmcm9tICdtb21lbnQnO1xyXG5pbXBvcnQgeyBVaUtpdFNlcnZpY2UgfSBmcm9tICcuLi93b3JrZmxvdy1zZXJ2aWNlcy91aS1raXQuc2VydmljZSc7XHJcbmltcG9ydCB7IFNuYWNrQmFyU2VydmljZSB9IGZyb20gJy4uL3VpLWtpdC9zbmFjay1iYXIvc25hY2stYmFyLnNlcnZpY2UnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXdvcmtmbG93LWNvbXBsaWFuY2UnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi93b3JrZmxvdy1jb21wbGlhbmNlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi93b3JrZmxvdy1jb21wbGlhbmNlLmNvbXBvbmVudC5sZXNzJywgJy4uL2Zvcm1zLmxlc3MnXSxcclxuICAvLyBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBXb3JrZmxvd0NvbXBsaWFuY2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIG1vZGUgPSAnQ1JFQVRFJztcclxuICBASW5wdXQoKSByZXNwb25zaWJpbGl0eUlkID0gJyc7XHJcbiAgQElucHV0KCkgZnJhbWV3b3JrRGV0YWlsczogQXJyYXk8YW55PiA9IFtdO1xyXG4gIEBJbnB1dCgpIGlzRW50cnVzdDogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBPdXRwdXQoKSBwaWNrZXJDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBwb3B1bGF0ZU9wdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgaGlkZUVsZW1lbnRzRnJvbU1vcmVPcHRpb25zID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBjbG9zZVdvcmtmbG93ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSByZXNldEZvcm0gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGRpc2Nvbm5lY3RSZWZyZXNoID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBjaGVja3BvaW50Q291bnRVcGRhdGVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSByY1NlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBJbnB1dCgpIG9wZW5lZEZyb20gITogYW55OyAvL3doZW4gb3BlbmVkIGZyb20gcmlzayB0cmVhdG1lbnQgaXQgd2lsbCBiZSAnUklTS19UUkVBVE1FTlQnXHJcbiAgQElucHV0KCkgc2VsZWN0ZWRSQzogbnVtYmVyID0gMDsgLy8gNC01IGRpZ2l0IGlkIG9mIHNlbGVjdGVkIHJjIGJ5IGRlZmF1bHQgd2hlbiBvcGVuZWQgZnJvbSByaXNrIHRyZWF0bWVudFxyXG4gIHNjcm9sbFRvQm90dG9tID0gZmFsc2U7XHJcbiAgZGVzY3JpcHRpb246IEVkaXRvckNvbmZpZyA9IHtcclxuICAgIG1vZGU6ICdwcmltZScsXHJcbiAgICBjb2xvclBhbGV0dGU6IHRydWUsXHJcbiAgICBsaW5rOiB0cnVlLFxyXG4gICAgcGxhY2Vob2xkZXI6ICdBZGQgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBjb21wbGV0aW5nIHRoZSByZXNwb25zaWJpbGl0eScsXHJcbiAgfTtcclxuICBsb2FkZXIgPSBmYWxzZTtcclxuICBzdWJtaXR0ZWQgPSBmYWxzZTtcclxuICBlZGl0RGV0YWlscyE6IGFueTtcclxuICBzbWlsZXlNZXNzYWdlID0gYERvbmUhYDtcclxuICBhY3Rpb25CdXR0b25zID0gW1xyXG4gICAgeyBidXR0b25UZXh0OiAnRW50cnVzdCBNb3JlIFJlc3BvbnNpYmlsaXRpZXMnLCBjbGFzczogJ3doaXRlLWJ0bicsIGlkOiAnYWRkTW9yZScgfSxcclxuICAgIHsgYnV0dG9uVGV4dDogJ1ZpZXcgUmVzcG9uc2liaWxpdGllcycsIGNsYXNzOiAnYmx1ZS1idG4nLCBpZDogJ3ZpZXcnIH0sXHJcbiAgXTtcclxuICBzaG93U21pbGV5ID0gZmFsc2U7XHJcbiAgbWVtYmVySWQgPSAwO1xyXG4gIG9yZ2FuaXphdGlvbklkID0gMDtcclxuICByY0xpc3RMb2FkZWQgPSBmYWxzZTtcclxuICBhc3NpZ25vcnNMaXN0TG9hZGVkID0gZmFsc2U7XHJcbiAgYXNzaWduZWVzTGlzdExvYWRlZCA9IGZhbHNlO1xyXG4gIGNhdGVnb3JpZXNMaXN0TG9hZGVkID0gZmFsc2U7XHJcbiAgZ3JvdXBzTGlzdExvYWRlZCA9IGZhbHNlO1xyXG4gIGFzc3VyYW5jZUNhdGVnb3J5TGlzdExvYWRlZCA9IGZhbHNlO1xyXG5cclxuXHJcbiAgLy8gdXNlcnNMaXN0OiBhbnlbXSA9IFtdO1xyXG4gIGFzc2lnbm9yc0xpc3Q6IGFueVtdID0gW107XHJcbiAgYXNzaWduZWVzTGlzdDogYW55W10gPSBbXTtcclxuICByZXZpZXdlcnNMaXN0OiBhbnlbXSA9IFtdO1xyXG4gIG92ZXJzZWVyc0xpc3Q6IGFueVtdID0gW107XHJcblxyXG4gIGFsbFVzZXJzTGlzdDogYW55W10gPSBbXTtcclxuICBiZWhhbGZPZlVzZXJzTGlzdDogYW55W10gPSBbXTtcclxuXHJcbiAgYWxsQ2F0ZWdvcmllczogYW55W10gPSBbXTtcclxuICBhc3N1cmFuY2VDYXRlZ29yaWVzTGlzdDogYW55W10gPSAgW107XHJcbiAgYXNzdXJhbmNlUmVxdWlyZXNBdWRpdExpc3Q6IGFueVtdID0gW107XHJcbiAgZ3JvdXBzTGlzdDogYW55W10gPSBbXTtcclxuXHJcbiAgYWRtaW5zTGlzdDogYW55W10gPSBbXTtcclxuICByZXNwb25zaWJpbGl0eUNlbnRlcnNMaXN0OiBhbnlbXSA9IFtdO1xyXG4gIGNhdGVnb3J5TGlzdDogYW55W10gPSBbXTtcclxuICBub25SZW1vdmFibGVVc2Vyc0xpc3Q6IGFueVtdID0gW107XHJcblxyXG4gIHJlc3BvbnNpYmlsaXR5Rm9ybTogYW55ID0ge1xyXG4gICAgYXNzaWdub3JzOiB7XHJcbiAgICAgIGVuYWJsZTogZmFsc2UsXHJcbiAgICAgIGxpc3Q6IFtdXHJcbiAgICB9LFxyXG4gICAgcmVzcG9uc2liaWxpdHk6IHtcclxuICAgICAgbmFtZTogJycsXHJcbiAgICAgIGtleVJlc3BvbnNpYmlsaXR5OiBmYWxzZSxcclxuICAgIH0sXHJcbiAgICBhc3NpZ25lZXM6IHtcclxuICAgICAgd2hvQ2FuQ29tcGxldGU6ICdBTEwnLFxyXG4gICAgICBsaXN0OiBbXVxyXG4gICAgfSxcclxuICAgIGZyZXF1ZW5jeTogJycsXHJcbiAgICBkZXNjcmlwdGlvbjogJycsXHJcbiAgICBvYmplY3RpdmU6ICcnLFxyXG4gICAgcmM6IFtdLFxyXG4gICAgY2F0ZWdvcnk6IFtdLFxyXG4gICAgY2hlY2twb2ludEluc3RydWN0aW9uOiAnJyxcclxuICAgIGN1c3RvbVRhZ3M6IFtdLFxyXG4gICAgY2hlY2twb2ludHM6IFtdLFxyXG4gICAgcmV2aWV3ZXJzOiB7XHJcbiAgICAgIHNlcXVlbnRpYWxXb3JrZmxvdzogdHJ1ZSxcclxuICAgICAgcmV2aWV3RnJlcXVlbmN5OiB7XHJcbiAgICAgICAgcmV2aWV3Q29tcGxldGVEYXlzOiAyLFxyXG4gICAgICAgIHJldmlld05PdENvbXBsZXRlZERheXM6IDJcclxuICAgICAgfSxcclxuICAgICAgbGlzdDogW11cclxuICAgIH0sXHJcblxyXG4gICAgb3ZlcnNlZXJzOiB7XHJcbiAgICAgIG5vdGlmeUxpc3Q6IFtdLFxyXG4gICAgICBsaXN0OiBbXVxyXG4gICAgfSxcclxuICAgIGZvcm1hdEFuZEV2aWRlbmNlOiB7XHJcbiAgICAgIGZvcm1hdFJlcXVpcmVkOiBmYWxzZSxcclxuICAgICAgZm9ybWF0RmlsZXM6IFtdLFxyXG4gICAgICBmb3JtYXRMaW5rczogW10sXHJcbiAgICAgIGV2aWRlbmNlUmVxdWlyZWQ6IGZhbHNlLFxyXG4gICAgfSxcclxuICAgIGFzc3VyYW5jZUxpc3Q6IFtdLFxyXG4gICAgcmVxdWlyZXNBdWRpdExpc3Q6IFtdLFxyXG4gICAgcmlza0NsYXNzOiAxLFxyXG4gICAgcmlza01hdHJpeDogJzAsMCwwLDAsMCwwJyxcclxuICAgIGF1ZGl0X2NhdGVnb3J5X2RldGFpbHMgOiB7XHJcbiAgICAgIGNhdGVnb3J5X2lkOiAwLFxyXG4gICAgICBzYW1wbGU6IDUsXHJcbiAgICAgIHBlcmNlbnRhZ2U6IDMwICxcclxuICAgICAgZnJlcXVlbmN5X3BhdHRlcm46ICcxfjB+M34xJyxcclxuICAgICAgZnJlcXVlbmN5X3RpbWU6ICcyMzo1OTowMCdcclxuICB9LFxyXG4gICAgYXNzZXNzbWVudDoge1xyXG4gICAgICBjYXRlZ29yeV9pZDogJycsIGFzc2Vzc21lbnRfaWQ6ICcnXHJcbiAgICB9LFxyXG4gICAgbmV3X2NoZWNrcG9pbnRzOiB7fVxyXG4gIH07XHJcbiAgbW9yZU9wdGlvbnM6IGFueSA9IHtcclxuICAgIE9CSkVDVElWRTogZmFsc2UsXHJcbiAgICBSQzogZmFsc2UsXHJcbiAgICBDQVRFR09SWTogZmFsc2UsXHJcbiAgICBGT1JNQVRFX0VWSURFTkNFOiBmYWxzZSxcclxuICAgIENIRUNLUE9JTlRTOiBmYWxzZSxcclxuICAgIEFTU0VTU01FTlQ6IGZhbHNlLFxyXG4gICAgUklTS19DTEFTU0lGSUNBVElPTjogZmFsc2UsXHJcbiAgICBSRVZJRVdFUjogZmFsc2UsXHJcbiAgICBPVkVSU0VFUjogZmFsc2UsXHJcbiAgICBBU1NVUkFOQ0U6IGZhbHNlLFxyXG4gICAgQVBQUzogZmFsc2UsXHJcbiAgICBSRVFVSVJFU19BVURJVDogZmFsc2UsXHJcbiAgICBDSEVDS1BPSU5UU19ORVc6IGZhbHNlXHJcbiAgfTtcclxuICBhY3RpdmVTZWxlY3RvciA9ICcnO1xyXG4gIHNpZGVTZWxlY3RvckVsZW1lbnRzOiBhbnkgPSBbJ2Fzc3VyYW5jZScsICdmcmFtZXdvcmsnLCAnYXNzaWdub3JzJywgJ2Fzc2lnbmVlcycsICdjYXRlZ29yeScsICdyYycsICdjaGVja3BvaW50cycsICdmcmVxdWVuY3knLCAncmV2aWV3ZXInLCAncmV2aWV3ZXJGcmVxdWVuY3knLCAnb3ZlcnNlZXInLCAnb3ZlcnNlZXJOb3RpZnknLCAncmlza0NhbGN1bGF0b3InLCAnaXNBc3Nlc3NtZW50JywncmVxdWlyZXNfYXVkaXQnLCAnY2hlY2twb2ludHMtbmV3J107XHJcbiAgZGlzcGxheUxpc3QgPSB7XHJcbiAgICAvLyBhc3NpZ25vcnM6IGZhbHNlLFxyXG4gICAgLy8gYXNzaWduZWVzOiBmYWxzZSxcclxuICAgIC8vIGNhdGVnb3J5OiBmYWxzZSxcclxuICAgIC8vIHJlc3BvbnNpYmlsaXR5Q2VudGVyOiBmYWxzZSxcclxuICAgIC8vIHJlc3BvbnNpYmlsaXR5Q2F0ZWdvcnk6IGZhbHNlLFxyXG4gICAgLy8gY2hlY2twb2ludHM6IGZhbHNlLFxyXG4gICAgLy8gcmV2aWV3ZXI6IGZhbHNlLFxyXG4gICAgLy8gcmV2aWV3ZXJGcmVxdWVuY3k6IGZhbHNlLFxyXG4gICAgLy8gb3ZlcnNlZXJMaXN0OiBmYWxzZSxcclxuICAgIC8vIG92ZXJzZWVyTm90aWZ5TGlzdDogZmFsc2UsXHJcbiAgICAvLyBmcmVxdWVuY3k6IGZhbHNlLFxyXG4gICAgLy8gZnJhbWVXb3JrOiBmYWxzZSxcclxuICAgIC8vIGFzc3VyYW5jZTogZmFsc2UsXHJcbiAgICAvLyByaXNrQ2FsY3VsYXRvcjogZmFsc2UsXHJcbiAgfTtcclxuXHJcbiAgZm9jdXMgPSB7XHJcbiAgICByZXNwb25zaWJpbGl0eU5hbWU6IGZhbHNlLFxyXG4gICAgZGVzY3JpcHRpb246IGZhbHNlLFxyXG4gICAgb2JqZWN0aXZlOiBmYWxzZSxcclxuICB9O1xyXG5cclxuICBjYXRlZ29yaWVzOiBhbnkgPSB7XHJcbiAgICByZWd1bGF0aW9uczoge1xyXG4gICAgICBsaXN0OiBbXSxcclxuICAgICAgc2VsZWN0ZWRMaXN0OiBbXVxyXG4gICAgfSxcclxuICAgIHN0YW5kYXJkczoge1xyXG4gICAgICBsaXN0OiBbXSxcclxuICAgICAgc2VsZWN0ZWRMaXN0OiBbXVxyXG4gICAgfSxcclxuICAgIGludGVybmFsQ29udHJvbHM6IHtcclxuICAgICAgbGlzdDogW10sXHJcbiAgICAgIHNlbGVjdGVkTGlzdDogW11cclxuICAgIH0sXHJcbiAgICBvdGhlcnM6IHtcclxuICAgICAgbGlzdDogW10sXHJcbiAgICAgIHNlbGVjdGVkTGlzdDogW11cclxuICAgIH1cclxuICB9O1xyXG5cclxuICByaXNrQ2xhc3NpZmljYXRpb24gPSBbXHJcbiAgICB7IG5hbWU6ICdMb3cnLCB2YWx1ZTogMSwgY2xhc3M6ICdsb3cnIH0sXHJcbiAgICB7IG5hbWU6ICdMb3ctTWVkaXVtJywgdmFsdWU6IDIsIGNsYXNzOiAnbG93LW1lZCcgfSxcclxuICAgIHsgbmFtZTogJ01lZGl1bS1IaWdoJywgdmFsdWU6IDMsIGNsYXNzOiAnbWVkLWhpZ2gnIH0sXHJcbiAgICB7IG5hbWU6ICdIaWdoJywgdmFsdWU6IDQsIGNsYXNzOiAnaGlnaCcgfVxyXG4gIF07XHJcblxyXG4gIGFzc2lnbm9yTW9kZSA9ICdjaGVja2JveCc7XHJcbiAgcmNNb2RlID0gJ2NoZWNrYm94JztcclxuICBpbnZhbGlkVHlwZSA9ICcnO1xyXG4gIHJlc3BvbnNpYmlsaXR5UGF5bG9hZCE6IGFueTtcclxuICBhc3NpZ25lZVJhZGlvU2VsZWN0ID0gZmFsc2U7XHJcblxyXG4gIC8vIGZyZXF1ZW5jeSB2YXJpYWJsZSBkZWNsYXJhdGlvblxyXG4gIGZyZXF1ZW5jeURldGFpbHMgPSB7XHJcbiAgICBwYXR0ZXJuOiAnJyxcclxuICAgIG5vdGlmaWNhdGlvblBlbmRpbmc6IDAsXHJcbiAgICBkYXRlT2ZNb2RpZmllZDogMCxcclxuICAgIGRlYWN0aXZhdGlvblZhbHVlOiAwLFxyXG4gICAgc2VsZWN0ZWRSZXBvcnQ6IDAsXHJcbiAgICBsaWZlY3ljbGU6ICcwMDAwLTAwLTAwfn4wJyxcclxuICAgIHN0YXJ0RGF0ZTogTWF0aC5mbG9vcihuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDApLFxyXG4gICAgc3RhcnRPblRoZURheTogTWF0aC5mbG9vcihuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDApLFxyXG4gICAgd2luZG93OiAwLFxyXG4gICAgZmFpbGVkOiAwLFxyXG4gICAgdGltZTogJzExOjU5IHBtJyxcclxuICAgIGZhaWxlZFRpbWU6ICcnLFxyXG4gICAgY29udGludW91c19mYWlsZWRfZGF5czogMFxyXG4gIH07XHJcbiAgZnJlcXVlbmN5UGxhY2Vob2xkZXIgPSAnSG93IG9mdGVuIGRvZXMgdGhlIHJlc3BvbnNpYmlsaXR5IG9jY3VyPyc7XHJcbiAgc2hvcnRNb250aDogQXJyYXk8c3RyaW5nPiA9IFtdO1xyXG4gIGlzRWRpdFdoYXQ6IEJvb2xlYW4gPSB0cnVlO1xyXG4gIGlzRnJhbWV3b3JrQXZhaWxhYmxlID0gMTtcclxuICBpc05vdGlmaWNhdGlvblBlbmRpbmcgPSAwO1xyXG5cclxuICBhc3N1cmFuY2VGbGFnITogYW55O1xyXG4gIHJpc2tDbGFzc2lmaWNhdGlvbkZsYWchOiBhbnk7XHJcbiAgaGlkZGVuTGlzdDogYW55W10gPSBbXTtcclxuICBzdWJzY3JpcHRpb25EZXRhaWxzITogYW55O1xyXG4gIGlzUmlza0VuYWJsZTogYm9vbGVhbiA9IHRydWU7XHJcbiAgaXNEdXBsaWNhdGVFbnRydXN0OiBib29sZWFuID0gZmFsc2U7XHJcbiAgYXVkaXRUaW1lOiBzdHJpbmcgPSAnMTE6NTkgcG0nO1xyXG4gIHNlbmRBdWRpdFJlbWluZGVyc1ZhbHVlOiBudW1iZXIgPSAyO1xyXG4gIHNhbXBsZVZhbHVlOiBhbnk7XHJcbiAgc2FtcGxlUGVyY2VudGFnZTogYW55O1xyXG4gIHNlbGVjdGVkU2FtcGxlITogbnVtYmVyO1xyXG4gIGlzU2FtcGxlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgdGVtcENoZWNrVmFsdWU6IG51bWJlciA9IC0xO1xyXG4gIGlzQXNzZXNzbWVudDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGNoZWNrcG9pbnRDb3VudDogbnVtYmVyID0gMDtcclxuXHJcbiAgQE91dHB1dCgpIG9uUmVtb3ZpbmdDaGVja3BvaW50OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgaXNBc3Nlc3NtZW50RGlzYWJsZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ3doYXQnKSB3aGF0SW5wdXQhOiBFbGVtZW50UmVmO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlc3BvbnNpYmlsaXR5U2VydmljZTogUmVzcG9uc2liaWxpdHlTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBmcmVxdWVuY3lTZXJ2aWNlOiBGcmVxdWVuY3lTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB1aUtpdFNlcnZpY2U6IFVpS2l0U2VydmljZSxcclxuICAgIHByaXZhdGUgc25hY2tCYXI6IFNuYWNrQmFyU2VydmljZVxyXG4gICkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG5cclxuICAgIHRoaXMucGlja2VyQ2hhbmdlZC5lbWl0KGZhbHNlKTtcclxuICAgIC8vICAgdGhpcy5yZXNwb25zaWJpbGl0eUZvcm0ucmVzcG9uc2liaWxpdHkubmFtZSA9IFwiYWJjZGVmXCJcclxuICAgIHRoaXMubG9hZGVyID0gdHJ1ZTtcclxuICAgIHRoaXMudWlLaXRTZXJ2aWNlLmlzTG9hZGVyID0gdHJ1ZTtcclxuICAgIHRoaXMuaGlkZGVuTGlzdC5wdXNoKCdBU1NFU1NNRU5UJyk7XHJcbiAgICB0aGlzLmdldFJDTGlzdCgpO1xyXG4gICAgdGhpcy5nZXRDYXRlZ29yeUxpc3QoKTtcclxuICAgIHRoaXMuZ2V0QXNzaWdub3JzTGlzdCgpO1xyXG4gICAgdGhpcy5nZXRBc3NpZ25lZXNMaXN0KCk7XHJcbiAgICB0aGlzLmdldEFzc3VyYW5jZSgpO1xyXG4gICAgdGhpcy5nZXRBc3N1cmFuY2VGb3JSZXF1aXJlc0F1ZGl0KCk7XHJcbiAgICB0aGlzLmdldEdyb3Vwc0xpc3QoKTtcclxuICAgIHRoaXMuY2hlY2tXaGV0aGVyQWxsTGlzdHNMb2FkZWQoKTtcclxuICAgIHRoaXMuZ2V0T3JnYW5pemF0aW9uRGV0YWlscygpO1xyXG4gICAgdGhpcy5nZXRVc2VyRGV0YWlscygpO1xyXG4gICAgdGhpcy5zaG9ydE1vbnRoID0gdGhpcy5mcmVxdWVuY3lTZXJ2aWNlLm1vbnRoQXJyYXkubWFwKG1vbnRoID0+IG1vbnRoLnN1YnN0cmluZygwLCAzKSk7XHJcbiAgICBpZiAodGhpcy5tb2RlID09PSAnQ1JFQVRFJykge1xyXG4gICAgICB0aGlzLm9yZ2FuaXphdGlvbklkID0gdGhpcy5hdXRoU2VydmljZS5nZXRPcmdhbml6YXRpb25JZCgpO1xyXG4gICAgICBjb25zb2xlLmxvZyhcIiB0aGlzLmF1dGhTZXJ2aWNlLmdldE1lbWJlcklkKCkgPT0+XCIsICB0aGlzLmF1dGhTZXJ2aWNlLmdldE1lbWJlcklkKCkpXHJcbiAgICAgIHRoaXMubWVtYmVySWQgPSB0aGlzLmF1dGhTZXJ2aWNlLmdldE1lbWJlcklkKCk7XHJcbiAgICAgIHRoaXMuaGlkZGVuTGlzdC5wdXNoKCdDSEVDS1BPSU5UUycpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5hdXRoU2VydmljZS5nZXRPcmdhbml6YXRpb25EZXRhaWxzKCkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICB0aGlzLmlzUmlza0VuYWJsZSA9IHJlcy5lbmFibGVfcmlza2NsYXNzID8gdHJ1ZSA6IGZhbHNlO1xyXG4gICAgICBpZiAoIXJlcy5lbmFibGVfcmlza2NsYXNzKSB7XHJcbiAgICAgICAgdGhpcy5oaWRkZW5MaXN0LnB1c2goJ1JJU0tfQ0xBU1NJRklDQVRJT04nKTtcclxuICAgICAgICB0aGlzLmhpZGVFbGVtZW50c0Zyb21Nb3JlT3B0aW9ucy5lbWl0KHRoaXMuaGlkZGVuTGlzdCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy5hdXRoU2VydmljZS5nZXRTdWJzY3JpcHRpb25EZXRhaWxzKCkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbkRldGFpbHMgPSByZXM7XHJcbiAgICAgIGNvbnNvbGUubG9nKFwidGhpcy5zdWJzY3JpcHRpb25EZXRhaWxzLmFzc2Vzc21lbnRfZmxhZ1wiLCB0aGlzLnN1YnNjcmlwdGlvbkRldGFpbHMpXHJcbiAgICAgIGlmKHRoaXMuc3Vic2NyaXB0aW9uRGV0YWlsc1swXS5hc3Nlc3NtZW50X2ZsYWcpIHtcclxuICAgICAgICB0aGlzLmhpZGRlbkxpc3QgPSB0aGlzLmhpZGRlbkxpc3QuZmlsdGVyKGVsZSA9PiBlbGUgIT09ICdBU1NFU1NNRU5UJylcclxuICAgICAgICB0aGlzLmhpZGVFbGVtZW50c0Zyb21Nb3JlT3B0aW9ucy5lbWl0KHRoaXMuaGlkZGVuTGlzdCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy5oaWRlRWxlbWVudHNGcm9tTW9yZU9wdGlvbnMuZW1pdCh0aGlzLmhpZGRlbkxpc3QpO1xyXG4gIH1cclxuICBhY3RpdmF0ZVNlbGVjdG9yKHR5cGU6IGFueSwgZXZlbnQ6IGJvb2xlYW4pIHtcclxuICAgIGNvbnNvbGUubG9nKFwidHlwZSA9PT5cIiwgdHlwZSwgZXZlbnQpXHJcbiAgICB0aGlzLmFjdGl2ZVNlbGVjdG9yID0gZXZlbnQgPyB0eXBlIDogJyc7XHJcbiAgICBpZih0eXBlID09PSAnY2hlY2twb2ludHMtbmV3JykgdGhpcy5hdXRoU2VydmljZS5wcmV2aWV3UGFuZWwubmV4dChldmVudCk7XHJcbiAgICBpZiAodGhpcy5zaWRlU2VsZWN0b3JFbGVtZW50cy5pbmNsdWRlcyh0eXBlKSkge1xyXG4gICAgICB0aGlzLnBpY2tlckNoYW5nZWQuZW1pdChldmVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB3aGF0Q2hhbmdlZChldmVudDogYW55KSB7XHJcblxyXG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eUZvcm0ucmVzcG9uc2liaWxpdHkubmFtZSA9IGV2ZW50Py50YXJnZXQ/LnZhbHVlO1xyXG4gICAgaWYgKGV2ZW50LnRhcmdldC52YWx1ZS50cmltKCkgIT09ICcnKSB7XHJcbiAgICAgIHRoaXMuaXNFZGl0V2hhdCA9IHRydWU7XHJcbiAgICAgIGlmICh0aGlzLmludmFsaWRUeXBlID09PSAnd2hhdCcpIHtcclxuICAgICAgICB0aGlzLmludmFsaWRUeXBlID0gJyc7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuaXNFZGl0V2hhdCA9IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIGFjdGl2ZURlc2VsZWN0b3IoKSB7XHJcbiAgICB0aGlzLmFjdGl2ZVNlbGVjdG9yID0gJyc7XHJcbiAgICB0aGlzLnBpY2tlckNoYW5nZWQuZW1pdChmYWxzZSk7XHJcbiAgfVxyXG5cclxuICBhZGRNb3JlSW5mbyhldmVudDogYW55KSB7XHJcbiAgICBjb25zb2xlLmxvZyhcImV2ZW50ID09PlwiLCBldmVudClcclxuICAgIHRoaXMuc2Nyb2xsVG9Cb3R0b20gPSB0cnVlO1xyXG4gICAgaWYoZXZlbnQuY29kZSA9PT0gJ0NIRUNLUE9JTlRTX05FVycgJiYgZXZlbnQuY2hlY2twb2ludF9uZXcgJiYgdGhpcy5jaGVja3BvaW50Q291bnQpIHtcclxuXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm1vcmVPcHRpb25zW2V2ZW50LmNvZGVdID0gZXZlbnQuY2hlY2tlZDtcclxuICAgIH1cclxuXHJcblxyXG5cclxuICB9XHJcblxyXG4gIGdldFJDTGlzdCgpIHtcclxuICAgIHRoaXMucmVzcG9uc2liaWxpdHlTZXJ2aWNlLmdldFJlc3BvbnNpYmlsaXR5Q2VudGVyTGlzdCgpLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICB0aGlzLnJlc3BvbnNpYmlsaXR5Q2VudGVyc0xpc3QgPSByZXM7XHJcbiAgICAgIHRoaXMucmNMaXN0TG9hZGVkID0gdHJ1ZTtcclxuXHJcbiAgICAgIGlmICh0aGlzLm9wZW5lZEZyb20gPT09ICdSSVNLX1RSRUFUTUVOVCcpIHtcclxuICAgICAgICB0aGlzLnJlc3BvbnNpYmlsaXR5Rm9ybS5yYyA9IHRoaXMuc2V0TGlzdCh0aGlzLnJlc3BvbnNpYmlsaXR5Q2VudGVyc0xpc3QsIFt0aGlzLnNlbGVjdGVkUkNdLCAnaXRlbV9pZCcpO1xyXG4gICAgICAgIHRoaXMubW9yZU9wdGlvbnMuUkMgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuYWN0aW9uQnV0dG9ucyA9IFtcclxuICAgICAgICAgIHsgYnV0dG9uVGV4dDogJ0dvIHRvIHJpc2sgdHJlYXRtZW50JywgY2xhc3M6ICdibHVlLWJ0bicsIGlkOiAndmlldycgfSxcclxuICAgICAgICBdXHJcbiAgICAgICAgdGhpcy5wb3B1bGF0ZU9wdGlvbi5lbWl0KFsnUkMnXSk7XHJcblxyXG4gICAgICB9XHJcbiAgICB9LCBlcnIgPT4ge1xyXG4gICAgICBjb25zb2xlLmVycm9yKGVycik7XHJcbiAgICAgIHRoaXMucmNMaXN0TG9hZGVkID0gdHJ1ZTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0VXNlckRldGFpbHMoKSB7XHJcbiAgICB0aGlzLmF1dGhTZXJ2aWNlLmdldFVzZXJJbmZvKCkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICB0aGlzLmlzTm90aWZpY2F0aW9uUGVuZGluZyA9IHJlcy5ub3RpZmljYXRpb25fcGVuZGluZ19mbGFnO1xyXG4gICAgICB0aGlzLmFjdGlvbkJ1dHRvbnNbMV0uYnV0dG9uVGV4dCA9IHRoaXMuaXNOb3RpZmljYXRpb25QZW5kaW5nID8gJ1ZpZXcgUmVzcG9uc2liaWxpdGllcyBpbiBRdWV1ZScgOiAnVmlldyBSZXNwb25zaWJpbGl0aWVzJztcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBnZXRBc3N1cmFuY2UoKSB7XHJcbiAgICB0aGlzLmFzc3VyYW5jZUNhdGVnb3J5TGlzdExvYWRlZCA9IHRydWU7XHJcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5U2VydmljZS5nZXRBc3N1cmFuY2UoKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XHJcbiAgICAgIHRoaXMuYXNzdXJhbmNlQ2F0ZWdvcmllc0xpc3QgPSByZXM7XHJcbiAgICAgIGlmICgodGhpcy5zdWJzY3JpcHRpb25EZXRhaWxzICYmICF0aGlzLnN1YnNjcmlwdGlvbkRldGFpbHNbMF0uYXNzdXJhbmNlX2ZsYWcpIHx8IHRoaXMuYXNzdXJhbmNlQ2F0ZWdvcmllc0xpc3QubGVuZ3RoID09IDApIHtcclxuICAgICAgICB0aGlzLmhpZGRlbkxpc3QucHVzaCgnQVNTVVJBTkNFJyk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5oaWRlRWxlbWVudHNGcm9tTW9yZU9wdGlvbnMuZW1pdCh0aGlzLmhpZGRlbkxpc3QpO1xyXG4gICAgICB0aGlzLmFzc3VyYW5jZUNhdGVnb3J5TGlzdExvYWRlZCA9IHRydWU7XHJcbiAgICB9LCBlcnIgPT4ge1xyXG4gICAgICBjb25zb2xlLmVycm9yKGVycik7XHJcbiAgICAgIHRoaXMuYXNzdXJhbmNlQ2F0ZWdvcnlMaXN0TG9hZGVkID0gdHJ1ZTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0QXNzdXJhbmNlRm9yUmVxdWlyZXNBdWRpdCgpIHtcclxuICAgIC8vIHRoaXMuYXNzdXJhbmNlQ2F0ZWdvcnlMaXN0TG9hZGVkID0gdHJ1ZTtcclxuICAgIHRoaXMucmVzcG9uc2liaWxpdHlTZXJ2aWNlLmdldEFzc3VyYW5jZUZvclJlcXVpcmVzQXVkaXQoKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XHJcbiAgICAgIHRoaXMuYXNzdXJhbmNlUmVxdWlyZXNBdWRpdExpc3QgPSByZXM7XHJcbiAgICAgIGlmICgodGhpcy5zdWJzY3JpcHRpb25EZXRhaWxzICYmICF0aGlzLnN1YnNjcmlwdGlvbkRldGFpbHNbMF0uYXVkaXRfZmxhZykgfHwgdGhpcy5hc3N1cmFuY2VSZXF1aXJlc0F1ZGl0TGlzdC5sZW5ndGggPT0gMCkge1xyXG4gICAgICAgIHRoaXMuaGlkZGVuTGlzdC5wdXNoKCdSRVFVSVJFU19BVURJVCcpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuaGlkZUVsZW1lbnRzRnJvbU1vcmVPcHRpb25zLmVtaXQodGhpcy5oaWRkZW5MaXN0KTtcclxuICAgICAgLy8gdGhpcy5hc3N1cmFuY2VDYXRlZ29yeUxpc3RMb2FkZWQgPSB0cnVlO1xyXG4gICAgfSwgZXJyID0+IHtcclxuICAgICAgY29uc29sZS5lcnJvcihlcnIpO1xyXG4gICAgICAvLyB0aGlzLmFzc3VyYW5jZUNhdGVnb3J5TGlzdExvYWRlZCA9IHRydWU7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldE9yZ2FuaXphdGlvbkRldGFpbHMoKSB7XHJcbiAgICB0aGlzLmF1dGhTZXJ2aWNlLmdldE9yZ2FuaXphdGlvbkRldGFpbHMoKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XHJcbiAgICAgIHRoaXMuaXNGcmFtZXdvcmtBdmFpbGFibGUgPSByZXM/LmVuYWJsZV9yZXNwb25zaWJpbGl0eV9mcmFtZXdvcms7XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgZ2V0Q2F0ZWdvcnlMaXN0KCkge1xyXG4gICAgdGhpcy5sb2FkZXIgPSB0cnVlO1xyXG4gICAgdGhpcy51aUtpdFNlcnZpY2UuaXNMb2FkZXIgPSB0cnVlO1xyXG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eVNlcnZpY2UuZ2V0Q2F0ZWdvcmllc0xpc3QoKS5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgY29uc3QgZGF0YSA9IHJlcztcclxuICAgICAgdGhpcy5hbGxDYXRlZ29yaWVzID0gY2xvbmVEZWVwKHJlcyk7XHJcbiAgICAgIGRhdGEuZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKGVsZW1lbnQgJiYgZWxlbWVudC5jb21wbGlhbmNlX3R5cGUgPT0gMCkge1xyXG4gICAgICAgICAgdGhpcy5jYXRlZ29yaWVzLm90aGVycy5saXN0LnB1c2goZWxlbWVudCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChlbGVtZW50ICYmIGVsZW1lbnQuY29tcGxpYW5jZV90eXBlID09IDEpIHtcclxuICAgICAgICAgIHRoaXMuY2F0ZWdvcmllcy5yZWd1bGF0aW9ucy5saXN0LnB1c2goZWxlbWVudCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChlbGVtZW50ICYmIGVsZW1lbnQuY29tcGxpYW5jZV90eXBlID09IDIpIHtcclxuICAgICAgICAgIHRoaXMuY2F0ZWdvcmllcy5zdGFuZGFyZHMubGlzdC5wdXNoKGVsZW1lbnQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoZWxlbWVudCAmJiBlbGVtZW50LmNvbXBsaWFuY2VfdHlwZSA9PSAzKSB7XHJcbiAgICAgICAgICB0aGlzLmNhdGVnb3JpZXMuaW50ZXJuYWxDb250cm9scy5saXN0LnB1c2goZWxlbWVudCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5jYXRlZ29yaWVzTGlzdExvYWRlZCA9IHRydWU7XHJcbiAgICB9LCBlcnIgPT4ge1xyXG4gICAgICBjb25zb2xlLmVycm9yKGVycik7XHJcbiAgICAgIHRoaXMuY2F0ZWdvcmllc0xpc3RMb2FkZWQgPSB0cnVlO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRBc3NpZ25vcnNMaXN0KCkge1xyXG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eVNlcnZpY2UuZ2V0QXNzaWdub3JzTGlzdCgpLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcclxuICAgICAgdGhpcy5iZWhhbGZPZlVzZXJzTGlzdCA9IHJlcztcclxuICAgICAgdGhpcy5yZWZyZXNoQWxsTGlzdHMoKTtcclxuICAgICAgdGhpcy5hc3NpZ25vcnNMaXN0TG9hZGVkID0gdHJ1ZTtcclxuICAgIH0sIGVyciA9PiB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcclxuICAgICAgdGhpcy5hc3NpZ25vcnNMaXN0TG9hZGVkID0gdHJ1ZTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0QXNzaWduZWVzTGlzdCgpIHtcclxuICAgIHRoaXMucmVzcG9uc2liaWxpdHlTZXJ2aWNlLmdldE9yZ2FuaXphdGlvblBlb3BsZSgpLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcclxuICAgICAgdGhpcy5hbGxVc2Vyc0xpc3QgPSByZXMubWFwKCh1c2VyOiBhbnkpID0+IHtcclxuICAgICAgICB1c2VyLm1lbWJlcl9uYW1lID0gdXNlci5lbXBsb3llZV9uYW1lO1xyXG4gICAgICAgIHJldHVybiB1c2VyO1xyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5yZWZyZXNoQWxsTGlzdHMoKTtcclxuICAgICAgdGhpcy5hc3NpZ25lZXNMaXN0TG9hZGVkID0gdHJ1ZTtcclxuICAgIH0sIGVyciA9PiB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcclxuICAgICAgdGhpcy5hc3NpZ25lZXNMaXN0TG9hZGVkID0gdHJ1ZTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0R3JvdXBzTGlzdCgpIHtcclxuICAgIHRoaXMucmVzcG9uc2liaWxpdHlTZXJ2aWNlLmdldE9yZ2FuaXphdGlvbkdyb3VwcygpLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcclxuICAgICAgY29uc3QgZGF0YSA9IHJlcztcclxuICAgICAgY29uc3QgZ3JvdXBzOiBhbnkgPSBbXTtcclxuICAgICAgZGF0YS5mb3JFYWNoKChlbGVtZW50OiBhbnkpID0+IHtcclxuICAgICAgICBjb25zdCBvYmogPSB7XHJcbiAgICAgICAgICBncm91cE5hbWU6IGVsZW1lbnQuZ3JvdXBfbmFtZSxcclxuICAgICAgICAgIHVzZXJJZHM6IGVsZW1lbnQubWVtYmVyX2lkcyxcclxuICAgICAgICB9O1xyXG4gICAgICAgIGdyb3Vwcy5wdXNoKG9iaik7XHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLmdyb3Vwc0xpc3QgPSBncm91cHM7XHJcbiAgICAgIHRoaXMuZ3JvdXBzTGlzdExvYWRlZCA9IHRydWU7XHJcbiAgICB9LCBlcnIgPT4ge1xyXG4gICAgICBjb25zb2xlLmVycm9yKGVycik7XHJcbiAgICAgIHRoaXMuZ3JvdXBzTGlzdExvYWRlZCA9IHRydWU7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldEVkaXRSZXNwb25zaWJpbGl0eURldGFpbHMoaWQ6IGFueSkge1xyXG5cclxuICAgIHRoaXMucmVzcG9uc2liaWxpdHlTZXJ2aWNlLmVkaXRSZXNwb25zaWJpbGl0eShpZCkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICB0aGlzLmlzRHVwbGljYXRlRW50cnVzdCA9IHRydWU7XHJcbiAgICAgIGlmIChyZXMpIHtcclxuICAgICAgICBjb25zdCBjdXJyZW50VXNlciA9IHRoaXMuYXV0aFNlcnZpY2UuZ2V0VXNlckRldGFpbHMoKT8udXNlcjtcclxuICAgICAgICBjb25zdCBjdXJyZW50c1VlckluZm8gPSB7XHJcbiAgICAgICAgICBtZW1iZXJfZW1haWw6IGN1cnJlbnRVc2VyPy5lbWFpbCxcclxuICAgICAgICAgIG1lbWJlcl9pZDogY3VycmVudFVzZXIuaWQsXHJcbiAgICAgICAgICBtZW1iZXJfbmFtZTogY3VycmVudFVzZXIubmFtZSxcclxuICAgICAgICAgIG9yZ2FuaXNhdGlvbl9pZDogY3VycmVudFVzZXIub3JnYW5pc2F0aW9uX2lkLFxyXG4gICAgICAgICAgX2lkOiB0aGlzLmF1dGhTZXJ2aWNlLmdldFVzZXJEZXRhaWxzKCkuX2lkXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnNvbGUubG9nKFwiY3VycmVudHNVZXJJbmZvY3VycmVudHNVZXJJbmZvXCIsIGN1cnJlbnRzVWVySW5mbywgIHRoaXMuYXV0aFNlcnZpY2UuZ2V0VXNlckRldGFpbHMoKSlcclxuICAgICAgICBjb25zdCB0ZXN0UGxhbkNhdGVnb3J5ID0gdHlwZW9mIChyZXM/LnRlc3RwbGFuX2NhdGVnb3J5X2lkKSA9PT0gJ3N0cmluZycgPyBbXSA6IHJlcz8udGVzdHBsYW5fY2F0ZWdvcnlfaWQ7XHJcbiAgICAgICAgY29uc3QgcmVxdWlyZWRBdWRpdENhdGVnb3J5SWQgPSByZXM/LmF1ZGl0X2NhdGVnb3J5X2RldGFpbHM/LmNhdGVnb3J5X2lkID8gW3Jlcz8uYXVkaXRfY2F0ZWdvcnlfZGV0YWlscz8uY2F0ZWdvcnlfaWRdIDogW107XHJcbiAgICAgICAgY29uc3QgcmV2aWV3ZXJEZXRhaWxzID0gT2JqZWN0LmtleXMocmVzPy5yZXZpZXdlcl9hcnIpO1xyXG4gICAgICAgIHRoaXMuYXNzaWduZWVSYWRpb1NlbGVjdCA9IChyZXM/LmFzc2lnbmVkX3RvX21lbWJlcl9pZD8ubGVuZ3RoID09IDApID8gdHJ1ZSA6IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuaXNFbnRydXN0ID0gcmVzLmlzR3JvdXBBc3NpZ25UbyA/IHRydWUgOiBmYWxzZTtcclxuICAgICAgICB0aGlzLnJlc3BvbnNpYmlsaXR5Rm9ybSA9IHtcclxuICAgICAgICAgIGFzc2lnbm9yczoge1xyXG4gICAgICAgICAgICBlbmFibGU6IGZhbHNlLFxyXG4gICAgICAgICAgICBsaXN0OiB0aGlzLnNldExpc3QodGhpcy5hc3NpZ25vcnNMaXN0LCBbcmVzLm1lbWJlcl9pZF0sICdtZW1iZXJfaWQnKS5sZW5ndGggPiAwID8gdGhpcy5zZXRMaXN0KHRoaXMuYXNzaWdub3JzTGlzdCwgW3Jlcy5tZW1iZXJfaWRdLCAnbWVtYmVyX2lkJykgOiBbY3VycmVudHNVZXJJbmZvXSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICByZXNwb25zaWJpbGl0eToge1xyXG4gICAgICAgICAgICBuYW1lOiByZXM/LnJlcG9ydF9uYW1lLFxyXG4gICAgICAgICAgICBrZXlSZXNwb25zaWJpbGl0eTogcmVzPy5rZXlfY29tcGxpYW5jZSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBhc3NpZ25lZXM6IHtcclxuICAgICAgICAgICAgd2hvQ2FuQ29tcGxldGU6IChyZXMuaXNHcm91cEFzc2lnblRvKSA/ICdBTllfT05FJyA6ICdBTEwnLFxyXG4gICAgICAgICAgICBsaXN0OiAocmVzLmFzc2lnbmVkX3RvX21lbWJlcl9pZC5sZW5ndGggPT0gMCkgPyB0aGlzLnNldExpc3QodGhpcy5hc3NpZ25lZXNMaXN0LCBbTnVtYmVyKHJlcy5hc3NpZ25lZF90byldLCAnZW1wbG95ZWVfaWQnKSA6XHJcbiAgICAgICAgICAgICAgdGhpcy5zZXRMaXN0KHRoaXMuYXNzaWduZWVzTGlzdCwgcmVzLmFzc2lnbmVkX3RvX21lbWJlcl9pZCwgJ215X21lbWJlcl9pZCcpLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGZyZXF1ZW5jeTogcmVzPy5mcmVxdWVuY3lfZGV0YWlscyxcclxuICAgICAgICAgIGRlc2NyaXB0aW9uOiByZXM/LnJlbWFya3MsXHJcbiAgICAgICAgICBvYmplY3RpdmU6IHJlcz8ub2JqZWN0aXZlLFxyXG4gICAgICAgICAgcmM6IHRoaXMuc2V0TGlzdCh0aGlzLnJlc3BvbnNpYmlsaXR5Q2VudGVyc0xpc3QsIFtOdW1iZXIocmVzPy5yY19pZCldLCAncmNfaWQnKSxcclxuICAgICAgICAgIGNhdGVnb3J5OiB0aGlzLnNldExpc3QodGhpcy5hbGxDYXRlZ29yaWVzLCAocmVzPy5jYXRlZ29yeV9pZC5zcGxpdCgnLCcpLm1hcChOdW1iZXIpKSwgJ2NhdGVnb3J5X2lkJyksXHJcbiAgICAgICAgICBjaGVja3BvaW50SW5zdHJ1Y3Rpb246IHJlcz8uY2hlY2twb2ludF9kZXNjcmlwdGlvbixcclxuICAgICAgICAgIGN1c3RvbVRhZ3M6IChyZXM/LmN1c3RvbV90YWdzKSA/IEpTT04ucGFyc2UocmVzPy5jdXN0b21fdGFncykgOiAnJyxcclxuICAgICAgICAgIGNoZWNrcG9pbnRzOiAocmVzPy5jaGVja3BvaW50X2RldGFpbHMpID8gSlNPTi5wYXJzZShyZXM/LmNoZWNrcG9pbnRfZGV0YWlscykgOiAnJyxcclxuICAgICAgICAgIHJldmlld2Vyczoge1xyXG4gICAgICAgICAgICBzZXF1ZW50aWFsV29ya2Zsb3c6IChyZXM/LnJldmlld2VyX2Fycj8ubGV2ZWwxPy50eXBlID09ICdTRVFVRU5USUFMJykgPyB0cnVlIDogZmFsc2UsXHJcbiAgICAgICAgICAgIHJldmlld0ZyZXF1ZW5jeToge1xyXG4gICAgICAgICAgICAgIHJldmlld0NvbXBsZXRlRGF5czogKHJldmlld2VyRGV0YWlscz8ubGVuZ3RoID4gMCkgPyByZXM/LnJldmlld19hZnRlcl9kYXlzIDogMixcclxuICAgICAgICAgICAgICByZXZpZXdOT3RDb21wbGV0ZWREYXlzOiAocmV2aWV3ZXJEZXRhaWxzPy5sZW5ndGggPiAwKSA/IHJlcz8ucmV2aWV3X2ZhaWxlZF9hZnRlcl9kYXlzIDogMlxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBhY2NlcHRlZERhdGE6IHJldmlld2VyRGV0YWlscz8ubGVuZ3RoID4gMCA/IHJlcz8ucmV2aWV3ZXJfYXJyPy5sZXZlbDE/LnJldmlld2VycyA6IFtdICxcclxuICAgICAgICAgICAgbGlzdDogcmV2aWV3ZXJEZXRhaWxzPy5sZW5ndGggPiAwID8gdGhpcy5zZXRSZXZpZXdlclBheWxvYWQocmVzPy5yZXZpZXdlcl9hcnI/LmxldmVsMT8ucmV2aWV3ZXJzLCAnb2JqZWN0JywgcmVzPy5yZXZpZXdlcl9hcnI/LmxldmVsMT8udHlwZSkgOiBbXVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIG92ZXJzZWVyczoge1xyXG4gICAgICAgICAgICBsaXN0OiAocmVzPy5jY19lbWFpbCkgPyB0aGlzLnNldExpc3QodGhpcy5vdmVyc2VlcnNMaXN0LCBPYmplY3Qua2V5cyhyZXM/LmNjX2VtYWlsKS5tYXAoTnVtYmVyKSwgJ2VtcGxveWVlX2lkJykgOiBbXSxcclxuICAgICAgICAgICAgbm90aWZ5TGlzdDogKHJlcz8uZmFpbHVyZV9jY19lbWFpbCkgPyB0aGlzLnNldExpc3QodGhpcy5vdmVyc2VlcnNMaXN0LCBPYmplY3Qua2V5cyhyZXM/LmZhaWx1cmVfY2NfZW1haWwpLm1hcChOdW1iZXIpLCAnZW1wbG95ZWVfaWQnKSA6IFtdLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGZvcm1hdEFuZEV2aWRlbmNlOiB7XHJcbiAgICAgICAgICAgIGZvcm1hdFJlcXVpcmVkOiAocmVzPy5yZXBvcnRfZm9ybWF0Lmxlbmd0aCA+IDAgfHwgcmVzPy5saW5rX2Zvcl9kZXRhaWxzPy5sZW5ndGggPiAwKSA/IHRydWUgOiBmYWxzZSxcclxuICAgICAgICAgICAgZm9ybWF0RmlsZXM6IHJlcz8ucmVwb3J0X2Zvcm1hdCxcclxuICAgICAgICAgICAgZm9ybWF0TGlua3M6IHJlcz8ubGlua19mb3JfZGV0YWlscyxcclxuICAgICAgICAgICAgZXZpZGVuY2VSZXF1aXJlZDogKHJlcz8ucmVwb3J0X3VwbG9hZF9mbGFnKSA/IHRydWUgOiBmYWxzZSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBhc3N1cmFuY2VMaXN0OiB0aGlzLnNldExpc3QodGhpcy5hc3N1cmFuY2VDYXRlZ29yaWVzTGlzdCwgdGVzdFBsYW5DYXRlZ29yeSwgJ2NhdGVnb3J5X2lkJyksXHJcbiAgICAgICAgICByZXF1aXJlc0F1ZGl0TGlzdDogdGhpcy5zZXRMaXN0KHRoaXMuYXNzdXJhbmNlUmVxdWlyZXNBdWRpdExpc3QsIHJlcXVpcmVkQXVkaXRDYXRlZ29yeUlkLCAnY2F0ZWdvcnlfaWQnKSxcclxuICAgICAgICAgIHJpc2tDbGFzczogcmVzPy5yaXNrX2NsYXNzLFxyXG4gICAgICAgICAgcmlza01hdHJpeDogcmVzPy5yaXNrX21hdHJpeF9kYXRhXHJcbiAgICAgICAgfTtcclxuICAgICAgICB0aGlzLmlzTm90aWZpY2F0aW9uUGVuZGluZyA9IHJlcy5ub3RpZmljYXRpb25fcGVuZGluZztcclxuICAgICAgICBpZiAodGhpcy5pc05vdGlmaWNhdGlvblBlbmRpbmcpIHtcclxuICAgICAgICAgIHRoaXMuYWN0aW9uQnV0dG9uc1sxXS5idXR0b25UZXh0ID0gJ1ZpZXcgUmVzcG9uc2liaWxpdGllcyBpbiBRdWV1ZSc7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuYWN0aW9uQnV0dG9uc1sxXS5idXR0b25UZXh0ID0gJ1ZpZXcgUmVzcG9uc2liaWxpdGllcyc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIDV+MH4wfjAgdGhpcyBpcyBmb3Igb3RoZXIgZnJlcXVlbmN5XHJcbiAgICAgICAgaWYocmVzLmZyZXF1ZW5jeV9kZXRhaWxzICE9PSAnJyAmJiByZXMuZnJlcXVlbmN5X2RldGFpbHMgIT09ICc1fjB+MH4wJykge1xyXG4gICAgICAgICAgdGhpcy5mcmVxdWVuY3lEYXRhUG9wdWxhdGlvbihyZXMpO1xyXG4gICAgICAgICAgdGhpcy5nZXRGcmVxdWVuY3lQbGFjZWhvbGRlcihyZXMpO1xyXG4gICAgICAgICAgcmVzLnBsYWNlaG9sZGVyID0gdGhpcy5mcmVxdWVuY3lQbGFjZWhvbGRlcjtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5pc0VudHJ1c3QgPSB0cnVlO1xyXG4gICAgICAgICAgdGhpcy5tb2RlID0gJ0NSRUFURSc7XHJcbiAgICAgICAgICB0aGlzLmFzc2lnbmVlUmFkaW9TZWxlY3QgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMucmVzcG9uc2liaWxpdHlGb3JtLmFzc2lnbm9ycy5lbmFibGUgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMucmVzcG9uc2liaWxpdHlGb3JtLmFzc2lnbm9ycy5saXN0ID0gW107XHJcbiAgICAgICAgICB0aGlzLm9yZ2FuaXphdGlvbklkID0gdGhpcy5hdXRoU2VydmljZS5nZXRPcmdhbml6YXRpb25JZCgpO1xyXG4gICAgICAgICAgdGhpcy5tZW1iZXJJZCA9IHRoaXMuYXV0aFNlcnZpY2UuZ2V0TWVtYmVySWQoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0aGlzLnJlc3BvbnNpYmlsaXR5Rm9ybS5hc3NpZ25lZXMubGlzdD8ubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgICB0aGlzLmlzRW50cnVzdCA9IHRydWU7XHJcbiAgICAgICAgICB0aGlzLm1vZGUgPSAnQ1JFQVRFJztcclxuICAgICAgICAgIHRoaXMuYXNzaWduZWVSYWRpb1NlbGVjdCA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0eUZvcm0uYXNzaWdub3JzLmVuYWJsZSA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0eUZvcm0uYXNzaWdub3JzLmxpc3QgPSBbXTtcclxuICAgICAgICAgIHRoaXMub3JnYW5pemF0aW9uSWQgPSB0aGlzLmF1dGhTZXJ2aWNlLmdldE9yZ2FuaXphdGlvbklkKCk7XHJcbiAgICAgICAgICB0aGlzLm1lbWJlcklkID0gdGhpcy5hdXRoU2VydmljZS5nZXRNZW1iZXJJZCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvL1xyXG4gICAgICAgIGlmIChyZXMuZnJlcXVlbmN5X2RldGFpbHMuc3BsaXQoJ34nKVswXSAhPT0gNikge1xyXG4gICAgICAgICAgdGhpcy5sb2FkZXIgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMudWlLaXRTZXJ2aWNlLmlzTG9hZGVyID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZihyZXM/LnJjX2lkID4gMCkge1xyXG4gICAgICAgICAgdGhpcy5yY1NlbGVjdGVkLmVtaXQodHJ1ZSlcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYocmVzPy5hdWRpdF9jYXRlZ29yeV9kZXRhaWxzKSB7XHJcbiAgICAgICAgICB0aGlzLnBvcHVsYXRlQXNzdXJhbmNlTGlzdChyZXM/LmF1ZGl0X2NhdGVnb3J5X2RldGFpbHMgKVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYocmVzLmFzc2Vzc21lbnQ/LmFzc2Vzc21lbnRfaWQpIHtcclxuICAgICAgICAgIHRoaXMuZ2V0QXNzZXNzbWVudERldGFpbHMocmVzLmFzc2Vzc21lbnQsIHJlcy5xdWVzdGlvbm5haXJlX3R5cGUpXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZighdGhpcy5yZXNwb25zaWJpbGl0eUZvcm0uY2hlY2twb2ludHMpIHtcclxuICAgICAgICAgIHRoaXMuaGlkZGVuTGlzdC5wdXNoKCdDSEVDS1BPSU5UUycpO1xyXG4gICAgICAgICAgdGhpcy5oaWRlRWxlbWVudHNGcm9tTW9yZU9wdGlvbnMuZW1pdCh0aGlzLmhpZGRlbkxpc3QpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLmlzQXNzZXNzbWVudERpc2FibGVkLmVtaXQodHJ1ZSlcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5yZWZyZXNoQWxsTGlzdHMoKTtcclxuICAgICAgICB0aGlzLmdldEVkaXRNb3JlT3B0aW9ucyhyZXMpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgfVxyXG5cclxuICBzZXRNb3JlT3B0aW9ucygpIHtcclxuXHJcbiAgfVxyXG5cclxuICBzZXRMaXN0KGxpc3Q6IGFueVtdLCBpZHM6IGFueVtdLCBrZXk6IHN0cmluZykge1xyXG4gICAgY29uc3QgZGF0YTogYW55ID0gW107XHJcblxyXG4gICAgaWRzPy5mb3JFYWNoKChlbGVtZW50OiBhbnkpID0+IHtcclxuICAgICAgY29uc3QgaW5kZXggPSBsaXN0LmZpbmRJbmRleCgobGlzdEVsZW1lbnQ6IGFueSkgPT4gbGlzdEVsZW1lbnRba2V5XSA9PSBlbGVtZW50KTtcclxuICAgICAgaWYgKGluZGV4ICE9PSAtMSkge1xyXG4gICAgICAgIGRhdGEucHVzaChsaXN0W2luZGV4XSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIGRhdGE7XHJcbiAgfVxyXG5cclxuICByZXR1cm5JZHMobGlzdDogYW55W10sIGtleTogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gbGlzdC5tYXAoZWxlID0+IHsgaWYgKGVsZVtrZXldKSB7IHJldHVybiBlbGVba2V5XTsgfSB9KS5maWx0ZXIoZWxlID0+IGVsZSk7XHJcbiAgfVxyXG5cclxuICBzZXRSZXZpZXdlclBheWxvYWQoaWRzOiBhbnlbXSwgdHlwZTogc3RyaW5nLCBhY2NlcHRlZERhdGE/OkFycmF5PGFueT4sIHJldmlld2VyVHlwZT86IHN0cmluZykge1xyXG4gICAgY29uc29sZS5sb2coXCJyZXZpZXdlclR5cGVyZXZpZXdlclR5cGVcIixyZXZpZXdlclR5cGUpXHJcbiAgICBpZiAodHlwZSA9PT0gJ29iamVjdCcpIHtcclxuICAgICAgY29uc3QgaWRPYmpBcnJheSA9IHRoaXMucmV0dXJuSWRzKGlkcywgJ21lbWJlcl9pZCcpO1xyXG4gICAgICByZXR1cm4gdGhpcy5zZXRMaXN0KHRoaXMucmV2aWV3ZXJzTGlzdCwgaWRPYmpBcnJheSwgJ215X21lbWJlcl9pZCcpO1xyXG4gICAgfSBlbHNlIGlmICh0eXBlID09PSAnbGlzdCcpIHtcclxuICAgICAgY29uc3QgcGF5TG9hZDogYW55ID0gW107XHJcbiAgICAgIGNvbnN0IGlkc0xpc3QgPSB0aGlzLnJldHVybklkcyhpZHMsICdteV9tZW1iZXJfaWQnKTtcclxuICAgICAgaWRzTGlzdC5mb3JFYWNoKChlbGVtZW50OiBhbnkpID0+IHtcclxuICAgICAgICBsZXQgaW5kZXggPSAtMTtcclxuICAgICAgICBpZigoYWNjZXB0ZWREYXRhID8/IFtdKT8ubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgaW5kZXggPSBhY2NlcHRlZERhdGE/LmZpbmRJbmRleChlbGUgPT4gZWxlLm1lbWJlcl9pZCA9PT0gZWxlbWVudCkgPz8gLTFcclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IGFjY2VwdFN0YXR1cyA9IChpbmRleCA+IC0xICYmIGFjY2VwdGVkRGF0YSkgID8gYWNjZXB0ZWREYXRhW2luZGV4XS5yZXZpZXdlcl9hY2NlcHQgOiAwXHJcbiAgICAgICAgaWYoYWNjZXB0U3RhdHVzID09PSAwICAmJiByZXZpZXdlclR5cGUgPT09ICdBTllPTkUnKSB7XHJcbiAgICAgICAgICBhY2NlcHRTdGF0dXMgPSAxO1xyXG4gICAgICAgIH1cclxuICAgICAgICAgcGF5TG9hZC5wdXNoKHsgbWVtYmVyX2lkOiBlbGVtZW50LCByZXZpZXdlcl9hY2NlcHQ6IGFjY2VwdFN0YXR1cyB9KTtcclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybiBwYXlMb2FkO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2hlY2tXaGV0aGVyQWxsTGlzdHNMb2FkZWQoKSB7XHJcbiAgICBpZiAodGhpcy5yY0xpc3RMb2FkZWQgJiYgdGhpcy5hc3NpZ25lZXNMaXN0TG9hZGVkICYmIHRoaXMuYXNzaWdub3JzTGlzdExvYWRlZCAmJlxyXG4gICAgICB0aGlzLmNhdGVnb3JpZXNMaXN0TG9hZGVkICYmIHRoaXMuYXNzdXJhbmNlQ2F0ZWdvcnlMaXN0TG9hZGVkICYmIHRoaXMuZ3JvdXBzTGlzdExvYWRlZCkge1xyXG5cclxuICAgICAgaWYgKHRoaXMuZnJhbWV3b3JrRGV0YWlscy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgdGhpcy5lbnRydXN0RnJhbWV3b3JrKHRoaXMuZnJhbWV3b3JrRGV0YWlsc1swXSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmICh0aGlzLm1vZGUgPT09ICdFRElUJykge1xyXG4gICAgICAgIHRoaXMuZ2V0RWRpdFJlc3BvbnNpYmlsaXR5RGV0YWlscyh0aGlzLnJlc3BvbnNpYmlsaXR5SWQpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMubG9hZGVyID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy51aUtpdFNlcnZpY2UuaXNMb2FkZXIgPSBmYWxzZTtcclxuXHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuY2hlY2tXaGV0aGVyQWxsTGlzdHNMb2FkZWQoKTtcclxuICAgICAgfSwgMzAwKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNhdmVTZWxlY3RlZExpc3QodHlwZTogc3RyaW5nLCBzZWxlY3RlZEl0ZW1zOiBhbnkpIHtcclxuICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICBjYXNlICdhc3NpZ25vcnMnOlxyXG4gICAgICAgIGlmICh0aGlzLmludmFsaWRUeXBlID09PSAnd2hvbScpIHtcclxuICAgICAgICAgIHRoaXMuaW52YWxpZFR5cGUgPSAnJztcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0eUZvcm0uYXNzaWdub3JzLmxpc3QgPSB0aGlzLnNldExpc3QodGhpcy5hc3NpZ25vcnNMaXN0LCBbc2VsZWN0ZWRJdGVtcy5tZW1iZXJfaWRdLCAnbWVtYmVyX2lkJyk7XHJcbiAgICAgICAgdGhpcy5yZWZyZXNoQWxsTGlzdHMoKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnYXNzaWduZWVzJzpcclxuICAgICAgICBpZiAodGhpcy5pbnZhbGlkVHlwZSA9PT0gJ3dobycpIHtcclxuICAgICAgICAgIHRoaXMuaW52YWxpZFR5cGUgPSAnJztcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuYXNzaWduZWVSYWRpb1NlbGVjdCkge1xyXG4gICAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0eUZvcm0uYXNzaWduZWVzLmxpc3QgPSB0aGlzLnNldExpc3QodGhpcy5hc3NpZ25lZXNMaXN0LCBbc2VsZWN0ZWRJdGVtcy5lbXBsb3llZV9pZF0sICdlbXBsb3llZV9pZCcpO1xyXG4gICAgICAgICAgdGhpcy5yZWZyZXNoQWxsTGlzdHMoKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0eUZvcm0uYXNzaWduZWVzLmxpc3QgPSB0aGlzLnNldExpc3QodGhpcy5hc3NpZ25lZXNMaXN0LCBzZWxlY3RlZEl0ZW1zLCAnbXlfbWVtYmVyX2lkJyk7XHJcbiAgICAgICAgICB0aGlzLnJlZnJlc2hBbGxMaXN0cygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAncmMnOlxyXG4gICAgICAgIHRoaXMucmVzcG9uc2liaWxpdHlGb3JtLnJjID0gdGhpcy5zZXRMaXN0KHRoaXMucmVzcG9uc2liaWxpdHlDZW50ZXJzTGlzdCwgc2VsZWN0ZWRJdGVtcywgJ2l0ZW1faWQnKTtcclxuICAgICAgICB0aGlzLnJjU2VsZWN0ZWQuZW1pdCh0aGlzLnJlc3BvbnNpYmlsaXR5Rm9ybS5yYy5sZW5ndGggPiAwKVxyXG4gICAgICAgIGlmKHRoaXMucmVzcG9uc2liaWxpdHlGb3JtLnJjLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0eUZvcm0ucmVxdWlyZXNBdWRpdExpc3QgPSBbXTtcclxuICAgICAgICAgIHRoaXMucmVzcG9uc2liaWxpdHlGb3JtWydhdWRpdF9jYXRlZ29yeV9kZXRhaWxzJ11bJ2NhdGVnb3J5X2lkJ10gPSAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnY2F0ZWdvcnknOlxyXG4gICAgICAgIHRoaXMucmVzcG9uc2liaWxpdHlGb3JtLmNhdGVnb3J5ID0gc2VsZWN0ZWRJdGVtcztcclxuICAgICAgICBzZWxlY3RlZEl0ZW1zLmZvckVhY2goKGVsZW1lbnQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgdGFnID0gZWxlbWVudC5jdXN0b21fdGFncyAhPT0gJycgJiYgZWxlbWVudC5jdXN0b21fdGFncyAhPT0gXCJudWxsXCIgJiYgZWxlbWVudC5jdXN0b21fdGFncyAhPSBcIltdXCIgPyBKU09OLnBhcnNlKGVsZW1lbnQuY3VzdG9tX3RhZ3MpIDogW107XHJcbiAgICAgICAgICBpZiAodGFnLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgdGFnLmZvckVhY2goKHRhZ0RhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5yZXNwb25zaWJpbGl0eUZvcm0uY3VzdG9tVGFncy5maW5kSW5kZXgoKHRhZ0VsZW1lbnQ6IGFueSkgPT4gdGFnRWxlbWVudC50YWdfbmFtZSA9PSB0YWdEYXRhLnRhZ19uYW1lKTtcclxuICAgICAgICAgICAgICBpZiAoaW5kZXggPT0gLTEpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMucmVzcG9uc2liaWxpdHlGb3JtLmN1c3RvbVRhZ3MucHVzaCh0YWdEYXRhKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdyZXZpZXdlcic6XHJcbiAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0eUZvcm0ucmV2aWV3ZXJzLmxpc3QgPSB0aGlzLnNldExpc3QodGhpcy5yZXZpZXdlcnNMaXN0LCBzZWxlY3RlZEl0ZW1zLCAnZW1wbG95ZWVfaWQnKTtcclxuICAgICAgICB0aGlzLnJlZnJlc2hBbGxMaXN0cygpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdvdmVyc2Vlcic6XHJcbiAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0eUZvcm0ub3ZlcnNlZXJzLmxpc3QgPSB0aGlzLnNldExpc3QodGhpcy5vdmVyc2VlcnNMaXN0LCBzZWxlY3RlZEl0ZW1zLCAnZW1wbG95ZWVfaWQnKTtcclxuICAgICAgICB0aGlzLnJlZnJlc2hBbGxMaXN0cygpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdvdmVyc2Vlck5vdGlmeSc6XHJcbiAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0eUZvcm0ub3ZlcnNlZXJzLm5vdGlmeUxpc3QgPSB0aGlzLnNldExpc3QodGhpcy5vdmVyc2VlcnNMaXN0LCBzZWxlY3RlZEl0ZW1zLCAnZW1wbG95ZWVfaWQnKTtcclxuICAgICAgICB0aGlzLnJlZnJlc2hBbGxMaXN0cygpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICAvLyBjYXNlICdhc3N1cmFuY2UnOlxyXG4gICAgICAvLyAgIHRoaXMucmVzcG9uc2liaWxpdHlGb3JtLmFzc3VyYW5jZUxpc3QgPSB0aGlzLnNldExpc3QodGhpcy5hc3N1cmFuY2VDYXRlZ29yaWVzTGlzdCwgW3NlbGVjdGVkSXRlbXM/LmNhdGVnb3J5X2lkXSwgJ2NhdGVnb3J5X2lkJyk7XHJcbiAgICAgIC8vICAgY29uc29sZS5sb2coXCJ0aGlzLnJlc3BvbnNpYmlsaXR5Rm9ybS5hc3N1cmFuY2VMaXN0XCIsIHRoaXMucmVzcG9uc2liaWxpdHlGb3JtLmFzc3VyYW5jZUxpc3QsIHRoaXMucmVzcG9uc2liaWxpdHlGb3JtLCAgdGhpcy5yZXNwb25zaWJpbGl0eUZvcm0uYXVkaXRfY2F0ZWdvcnkpXHJcbiAgICAgIC8vICAgdGhpcy5yZXNwb25zaWJpbGl0eUZvcm1bJ2F1ZGl0X2NhdGVnb3J5X2RldGFpbHMnXVsnY2F0ZWdvcnlfaWQnXSA9ICBzZWxlY3RlZEl0ZW1zPy5jYXRlZ29yeV9pZDtcclxuICAgICAgLy8gICBicmVhaztcclxuICAgICAgY2FzZSAnYXNzdXJhbmNlJzpcclxuICAgICAgICB0aGlzLnJlc3BvbnNpYmlsaXR5Rm9ybS5hc3N1cmFuY2VMaXN0ID0gdGhpcy5zZXRMaXN0KHRoaXMuYXNzdXJhbmNlQ2F0ZWdvcmllc0xpc3QsIHNlbGVjdGVkSXRlbXMsICdjYXRlZ29yeV9pZCcpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdyZXF1aXJlc19hdWRpdCc6XHJcbiAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0eUZvcm0ucmVxdWlyZXNBdWRpdExpc3QgPSB0aGlzLnNldExpc3QodGhpcy5hc3N1cmFuY2VSZXF1aXJlc0F1ZGl0TGlzdCwgW3NlbGVjdGVkSXRlbXM/LmNhdGVnb3J5X2lkXSwgJ2NhdGVnb3J5X2lkJyk7XHJcbiAgICAgICAgY29uc29sZS5sb2coXCJ0aGlzLnJlc3BvbnNpYmlsaXR5Rm9ybS5yZXF1aXJlc0F1ZGl0TGlzdFwiLCB0aGlzLnJlc3BvbnNpYmlsaXR5Rm9ybS5yZXF1aXJlc0F1ZGl0TGlzdCwgdGhpcy5yZXNwb25zaWJpbGl0eUZvcm0sICB0aGlzLnJlc3BvbnNpYmlsaXR5Rm9ybS5hdWRpdF9jYXRlZ29yeSlcclxuICAgICAgICB0aGlzLnJlc3BvbnNpYmlsaXR5Rm9ybVsnYXVkaXRfY2F0ZWdvcnlfZGV0YWlscyddWydjYXRlZ29yeV9pZCddID0gIHNlbGVjdGVkSXRlbXM/LmNhdGVnb3J5X2lkO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdjaGVja3BvaW50cyc6XHJcbiAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0eUZvcm0uY2hlY2twb2ludHMgPSBzZWxlY3RlZEl0ZW1zPy5jaGVja3BvaW50RGV0YWlscztcclxuICAgICAgICB0aGlzLnJlc3BvbnNpYmlsaXR5Rm9ybS5jaGVja3BvaW50SW5zdHJ1Y3Rpb24gPSBzZWxlY3RlZEl0ZW1zPy5jaGVja3BvaW50SW5zdHJ1Y3Rpb247XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2NhbGN1bGF0ZWRyaXNrJzpcclxuICAgICAgICB0aGlzLnJlc3BvbnNpYmlsaXR5Rm9ybS5yaXNrQ2xhc3MgPSBzZWxlY3RlZEl0ZW1zPy5yaXNrQ2xhc3M7XHJcbiAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0eUZvcm0ucmlza01hdHJpeCA9IHNlbGVjdGVkSXRlbXM/LnJpc2tNYXRyaXg7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2Zvcm1hdGVfZXZpZGVuY2UnOlxyXG5cclxuICAgICAgICB0aGlzLnJlc3BvbnNpYmlsaXR5Rm9ybS5mb3JtYXRBbmRFdmlkZW5jZS5mb3JtYXRSZXF1aXJlZCA9IHNlbGVjdGVkSXRlbXM/LmlzRm9ybWF0ZVVwbG9hZGVkID8/IGZhbHNlO1xyXG4gICAgICAgIHRoaXMucmVzcG9uc2liaWxpdHlGb3JtLmZvcm1hdEFuZEV2aWRlbmNlLmZvcm1hdEZpbGVzID0gc2VsZWN0ZWRJdGVtcz8uZmlsZXMgPz8gW107XHJcbiAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0eUZvcm0uZm9ybWF0QW5kRXZpZGVuY2UuZm9ybWF0TGlua3MgPSBzZWxlY3RlZEl0ZW1zPy5saW5rcyA/PyBbXTtcclxuICAgICAgICB0aGlzLnJlc3BvbnNpYmlsaXR5Rm9ybS5mb3JtYXRBbmRFdmlkZW5jZS5ldmlkZW5jZVJlcXVpcmVkID0gc2VsZWN0ZWRJdGVtcz8uaXNFdmlkZW5jZVJlcXVpcmVkID8/IGZhbHNlO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdyZXZpZXdGcmVxdWVuY3knOlxyXG4gICAgICAgIHRoaXMucmVzcG9uc2liaWxpdHlGb3JtLnJldmlld2Vycy5yZXZpZXdGcmVxdWVuY3kgPSB7XHJcbiAgICAgICAgICByZXZpZXdDb21wbGV0ZURheXM6IHNlbGVjdGVkSXRlbXMuY29tcGxldGVEYXlzLFxyXG4gICAgICAgICAgcmV2aWV3Tk90Q29tcGxldGVkRGF5czogc2VsZWN0ZWRJdGVtcy5ub3RDb21wbGV0ZWQsXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICB9XHJcbiAgICB0aGlzLmFjdGl2ZURlc2VsZWN0b3IoKTtcclxuICB9XHJcblxyXG5cclxuICByZW1vdmUodHlwZTogYW55LCBldmVudD86IGFueSkge1xyXG4gICAgY29uc29sZS5sb2coXCJ0eXBlID09PT5cIiwgdHlwZSwgZXZlbnQpXHJcbiAgICBzd2l0Y2ggKHR5cGUpIHtcclxuICAgICAgY2FzZSAncmMnOlxyXG4gICAgICAgIGNvbnN0IHJjSW5kZXggPSB0aGlzLnJlc3BvbnNpYmlsaXR5Rm9ybS5yYy5maW5kSW5kZXgoKHJjOiBhbnkpID0+IHJjLnJjX2lkID09IGV2ZW50LnJjX2lkKTtcclxuICAgICAgICB0aGlzLnJlc3BvbnNpYmlsaXR5Rm9ybS5yYy5zcGxpY2UocmNJbmRleCwgMSk7XHJcbiAgICAgICAgdGhpcy5yY1NlbGVjdGVkLmVtaXQodGhpcy5yZXNwb25zaWJpbGl0eUZvcm0ucmMubGVuZ3RoID4gMClcclxuICAgICAgICBpZih0aGlzLnJlc3BvbnNpYmlsaXR5Rm9ybS5yYy5sZW5ndGggPT09IDApIHtcclxuICAgICAgICAgIHRoaXMucmVzcG9uc2liaWxpdHlGb3JtLnJlcXVpcmVzQXVkaXRMaXN0ID0gW107XHJcbiAgICAgICAgICB0aGlzLnJlc3BvbnNpYmlsaXR5Rm9ybVsnYXVkaXRfY2F0ZWdvcnlfZGV0YWlscyddWydjYXRlZ29yeV9pZCddID0gMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2Fzc2lnbm9ycyc6XHJcbiAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0eUZvcm0uYXNzaWdub3JzLmxpc3QgPSBbXTtcclxuICAgICAgICB0aGlzLnJlZnJlc2hBbGxMaXN0cygpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdhc3NpZ25lZXMnOlxyXG4gICAgICAgIGNvbnN0IGVudHJ1c3RJbmRleCA9IHRoaXMucmVzcG9uc2liaWxpdHlGb3JtLmFzc2lnbmVlcy5saXN0LmZpbmRJbmRleCgob3duZXI6IGFueSkgPT4gb3duZXIuZW1wbG95ZWVfaWQgPT0gZXZlbnQuZW1wbG95ZWVfaWQpO1xyXG4gICAgICAgIHRoaXMucmVzcG9uc2liaWxpdHlGb3JtLmFzc2lnbmVlcy5saXN0LnNwbGljZShlbnRydXN0SW5kZXgsIDEpO1xyXG4gICAgICAgIHRoaXMucmVmcmVzaEFsbExpc3RzKCk7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlICdyZXZpZXdlcic6XHJcbiAgICAgICAgY29uc3QgcmV2aWV3ZXJJbmRleCA9IHRoaXMucmVzcG9uc2liaWxpdHlGb3JtLnJldmlld2Vycy5saXN0LmZpbmRJbmRleCgocmV2aWV3ZXI6IGFueSkgPT4gcmV2aWV3ZXIuZW1wbG95ZWVfaWQgPT0gZXZlbnQuZW1wbG95ZWVfaWQpO1xyXG4gICAgICAgIHRoaXMucmVzcG9uc2liaWxpdHlGb3JtLnJldmlld2Vycy5saXN0LnNwbGljZShyZXZpZXdlckluZGV4LCAxKTtcclxuICAgICAgICB0aGlzLnJlZnJlc2hBbGxMaXN0cygpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdvdmVyc2Vlcic6XHJcbiAgICAgICAgY29uc3Qgb3ZlcnNlZXJJbmRleCA9IHRoaXMucmVzcG9uc2liaWxpdHlGb3JtLm92ZXJzZWVycy5saXN0LmZpbmRJbmRleCgob3ZlcnNlZXI6IGFueSkgPT4gb3ZlcnNlZXIuZW1wbG95ZWVfaWQgPT0gZXZlbnQuZW1wbG95ZWVfaWQpO1xyXG4gICAgICAgIHRoaXMucmVzcG9uc2liaWxpdHlGb3JtLm92ZXJzZWVycy5saXN0LnNwbGljZShvdmVyc2VlckluZGV4LCAxKTtcclxuICAgICAgICB0aGlzLnJlZnJlc2hBbGxMaXN0cygpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdvdmVyc2Vlck5vdGlmeUxpc3QnOlxyXG4gICAgICAgIGNvbnN0IG92ZXJzZWVyTm90aWZ5SW5kZXggPSB0aGlzLnJlc3BvbnNpYmlsaXR5Rm9ybS5vdmVyc2VlcnMubm90aWZ5TGlzdC5maW5kSW5kZXgoKG92ZXJzZWVyTjogYW55KSA9PiBvdmVyc2Vlck4uZW1wbG95ZWVfaWQgPT0gZXZlbnQuZW1wbG95ZWVfaWQpO1xyXG4gICAgICAgIHRoaXMucmVzcG9uc2liaWxpdHlGb3JtLm92ZXJzZWVycy5ub3RpZnlMaXN0LnNwbGljZShvdmVyc2Vlck5vdGlmeUluZGV4LCAxKTtcclxuICAgICAgICB0aGlzLnJlZnJlc2hBbGxMaXN0cygpO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSAnY2F0ZWdvcnknOlxyXG4gICAgICAgIGNvbnN0IGNhdGVnb3J5SW5kZXggPSB0aGlzLnJlc3BvbnNpYmlsaXR5Rm9ybS5jYXRlZ29yeS5maW5kSW5kZXgoKGNhdGVnb3J5OiBhbnkpID0+IGNhdGVnb3J5LmNhdGVnb3J5X2lkID09IGV2ZW50LmNhdGVnb3J5X2lkKTtcclxuICAgICAgICB0aGlzLnJlc3BvbnNpYmlsaXR5Rm9ybS5jYXRlZ29yeS5zcGxpY2UoY2F0ZWdvcnlJbmRleCwgMSk7XHJcbiAgICAgICAgY29uc3QgdGFnID0gSlNPTi5wYXJzZShldmVudC5jdXN0b21fdGFncyk7XHJcbiAgICAgICAgaWYgKHRhZy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICB0YWcuZm9yRWFjaCgodGFnRGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGluZGV4Q1QgPSB0aGlzLnJlc3BvbnNpYmlsaXR5Rm9ybS5jdXN0b21UYWdzLmZpbmRJbmRleCgodGFnRWxlbWVudDogYW55KSA9PiB0YWdFbGVtZW50LnRhZ19uYW1lID09IHRhZ0RhdGEudGFnX25hbWUpO1xyXG4gICAgICAgICAgICBpZiAoaW5kZXhDVCAhPSAtMSkge1xyXG4gICAgICAgICAgICAgIHRoaXMucmVzcG9uc2liaWxpdHlGb3JtLmN1c3RvbVRhZ3Muc3BsaWNlKGluZGV4Q1QsIDEpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMucmVzcG9uc2liaWxpdHlGb3JtLmNhdGVnb3J5Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgIHRoaXMucmVzcG9uc2liaWxpdHlGb3JtLmNhdGVnb3J5LmZvckVhY2goKGVsZW1lbnQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCB0YWcgPSBKU09OLnBhcnNlKGVsZW1lbnQuY3VzdG9tX3RhZ3MpO1xyXG4gICAgICAgICAgICBpZiAodGFnLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICB0YWcuZm9yRWFjaCgodGFnRGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMucmVzcG9uc2liaWxpdHlGb3JtLmN1c3RvbVRhZ3MuZmluZEluZGV4KCh0YWdFbGVtZW50OiBhbnkpID0+IHRhZ0VsZW1lbnQudGFnX25hbWUgPT0gdGFnRGF0YS50YWdfbmFtZSk7XHJcbiAgICAgICAgICAgICAgICBpZiAoaW5kZXggPT0gLTEpIHtcclxuICAgICAgICAgICAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0eUZvcm0uY3VzdG9tVGFncy5wdXNoKHRhZ0RhdGEpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3JlcXVpcmVzX2F1ZGl0JzpcclxuICAgICAgICB0aGlzLnJlc3BvbnNpYmlsaXR5Rm9ybS5yZXF1aXJlc0F1ZGl0TGlzdCA9IFtdO1xyXG4gICAgICAgIHRoaXMucmVzcG9uc2liaWxpdHlGb3JtLmF1ZGl0X2NhdGVnb3J5X2RldGFpbHMgPSAge1xyXG4gICAgICAgICAgY2F0ZWdvcnlfaWQ6IDAsXHJcbiAgICAgICAgICBzYW1wbGU6IDAsXHJcbiAgICAgICAgICBwZXJjZW50YWdlOiAwICxcclxuICAgICAgICAgIGZyZXF1ZW5jeV9wYXR0ZXJuOiAnJyxcclxuICAgICAgICAgIGZyZXF1ZW5jeV90aW1lOiAnJ1xyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnYXNzdXJhbmNlJzpcclxuICAgICAgICBjb25zdCBhc3N1cmFuY2VJbmRleCA9IHRoaXMucmVzcG9uc2liaWxpdHlGb3JtLmFzc3VyYW5jZUxpc3QuZmluZEluZGV4KChhc3N1cmFuY2U6IGFueSkgPT4gYXNzdXJhbmNlLmNhdGVnb3J5X2lkID09IGFzc3VyYW5jZS5jYXRlZ29yeV9pZCk7XHJcbiAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0eUZvcm0uYXNzdXJhbmNlTGlzdC5zcGxpY2UoYXNzdXJhbmNlSW5kZXgsIDEpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdjaGVja3BvaW50JzpcclxuICAgICAgICB0aGlzLnJlc3BvbnNpYmlsaXR5Rm9ybS5jaGVja3BvaW50cy5zcGxpY2UoZXZlbnQsIDEpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdhc3Nlc3NtZW50JzpcclxuICAgICAgICAgIHRoaXMucmVzcG9uc2liaWxpdHlGb3JtLmFzc2Vzc21lbnQgPSB7XHJcbiAgICAgICAgICAgIGNhdGVnb3J5X2lkOiBcIlwiLFxyXG4gICAgICAgICAgICBhc3Nlc3NtZW50X2lkOiBcIlwiLFxyXG5cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICduZXctY2hlY2twb2ludHMnOlxyXG4gICAgICAgIHRoaXMucmVzcG9uc2liaWxpdHlGb3JtLm5ld19jaGVja3BvaW50cyA9IHt9O1xyXG4gICAgICAgIHRoaXMuY2hlY2twb2ludENvdW50ID0gMDtcclxuICAgICAgICB0aGlzLmNoZWNrcG9pbnRDb3VudFVwZGF0ZWQuZW1pdCh0aGlzLmNoZWNrcG9pbnRDb3VudCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBlbnRydXN0RnJhbWV3b3JrKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMucmVzZXQoKTtcclxuICAgIHRoaXMuYWN0aXZlRGVzZWxlY3RvcigpO1xyXG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eUZvcm0ucmVzcG9uc2liaWxpdHkgPSB7XHJcbiAgICAgIG5hbWU6IGV2ZW50LnJlcG9ydF9uYW1lLFxyXG4gICAgICBrZXlSZXNwb25zaWJpbGl0eTogKGV2ZW50LmtleV9jb21wbGlhbmNlKSA/IHRydWUgOiBmYWxzZSxcclxuICAgIH07XHJcbiAgICBjb25zdCBuZXdTdGFydERhdGUgPSBldmVudC5zdGFydF9kYXRlIHx8IGV2ZW50LnN0YXJ0X2RhdGUgIT0gbnVsbCB8fCBldmVudC5zdGFydF9kYXRlICE9PSAnJyA/IG5ldyBEYXRlKGV2ZW50LnN0YXJ0X2RhdGUgKiAxMDAwKSA6IG5ldyBEYXRlKCk7XHJcbiAgICBjb25zdCBwdnRUZW1wbGF0ZSA9IGV2ZW50LmZyZXF1ZW5jeV90ZW1wbGF0ZSAmJiBldmVudC5mcmVxdWVuY3lfdGVtcGxhdGUgIT09ICcnID8gZXZlbnQuZnJlcXVlbmN5X3RlbXBsYXRlIDogZXZlbnQuZnJlcXVlbmN5O1xyXG4gICAgY29uc3QgZnJlcXVlbmN5RGV0YWlsc09iamVjdDogYW55ID0gdGhpcy5mcmVxdWVuY3lTZXJ2aWNlLnNob3J0SGFuZF9mcmVxQ2FsKFxyXG4gICAgICBwdnRUZW1wbGF0ZSxcclxuICAgICAgbmV3U3RhcnREYXRlLmdldERhdGUoKSxcclxuICAgICAgbmV3U3RhcnREYXRlLmdldE1vbnRoKCksXHJcbiAgICAgIG5ld1N0YXJ0RGF0ZS5nZXRGdWxsWWVhcigpXHJcbiAgICApO1xyXG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eUZvcm0uZnJlcXVlbmN5X2RldGFpbHMgPSBmcmVxdWVuY3lEZXRhaWxzT2JqZWN0Py5wYXR0ZXJuO1xyXG4gICAgZXZlbnQuZnJlcXVlbmN5X2RldGFpbHMgPSB0aGlzLnJlc3BvbnNpYmlsaXR5Rm9ybS5mcmVxdWVuY3lfZGV0YWlscztcclxuICAgIGV2ZW50LmZyZXF1ZW5jeV90aW1lID0gJzIzOjU5OjAwJztcclxuICAgIGV2ZW50LnJlbWluZGVyX2JlZm9yZV9kYXlzID0gZXZlbnQucmVtaW5kX2RheXNfYmVmb3JlX2R1ZV9kYXRlID8gZXZlbnQucmVtaW5kX2RheXNfYmVmb3JlX2R1ZV9kYXRlIDogMjs7XHJcbiAgICBldmVudC5mYWlsZWRfYWZ0ZXJfZGF5cyA9IGV2ZW50Lm1hcmtfZmFpbGVkX2FmdGVyID8gZXZlbnQubWFya19mYWlsZWRfYWZ0ZXIgOiAyO1xyXG4gICAgZXZlbnQubGlmZWN5Y2xlX2RldGFpbHMgPSAnMDAwMC0wMC0wMH5+MCc7XHJcbiAgICBldmVudC5zdGFydF9vZl9kYXlfdXRjID0gdGhpcy5mcmVxdWVuY3lTZXJ2aWNlLmZyYW1ld29ya1N0YXJ0RGF0ZShldmVudCk7XHJcbiAgICBldmVudC5vbl9jb21wbGV0aW9uX29mID0gW107XHJcbiAgICBldmVudC5kb21fdXRjID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XHJcbiAgICBldmVudC5jb250aW51b3VzX2ZhaWxlZF9kYXlzID0gZnJlcXVlbmN5RGV0YWlsc09iamVjdC5jb250aW51b3VzX2ZhaWxlZF9kYXlzXHJcblxyXG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eUZvcm0uZnJlcXVlbmN5ID0gdGhpcy5yZXNwb25zaWJpbGl0eUZvcm0uZnJlcXVlbmN5X2RldGFpbHM7XHJcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5Rm9ybS5mcmVxdWVuY3lfdGltZSA9ICcyMzo1OTowMCc7XHJcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5Rm9ybS5yZW1pbmRlcl9iZWZvcmVfZGF5cyA9IGV2ZW50LnJlbWluZF9kYXlzX2JlZm9yZV9kdWVfZGF0ZSA/IGV2ZW50LnJlbWluZF9kYXlzX2JlZm9yZV9kdWVfZGF0ZSA6IDI7O1xyXG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eUZvcm0uZmFpbGVkX2FmdGVyX2RheXMgPSBldmVudC5tYXJrX2ZhaWxlZF9hZnRlciA/IGV2ZW50Lm1hcmtfZmFpbGVkX2FmdGVyIDogMjtcclxuICAgIHRoaXMucmVzcG9uc2liaWxpdHlGb3JtLmxpZmVjeWNsZURldGFpbHMgPSAnMDAwMC0wMC0wMH5+MCc7XHJcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5Rm9ybS5zdGFydF9vZl9kYXlfdXRjID0gdGhpcy5mcmVxdWVuY3lTZXJ2aWNlLmZyYW1ld29ya1N0YXJ0RGF0ZShldmVudCkudG9GaXhlZCgpLnRvU3RyaW5nKCk7XHJcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5Rm9ybS5vbl9jb21wbGV0aW9uX29mID0gW107XHJcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5Rm9ybS5kb21fdXRjID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XHJcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5Rm9ybS5kZXNjcmlwdGlvbiA9IGV2ZW50LnJlbWFya3MudHJpbSgpICE9ICcnID8gZXZlbnQucmVtYXJrcyA6ICcnO1xyXG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eUZvcm0uY3VzdG9tVGFncyA9IGV2ZW50LmN1c3RvbV90YWdzICYmIGV2ZW50LmN1c3RvbV90YWdzICE9PSBudWxsICYmIGV2ZW50LmN1c3RvbV90YWdzICE9PSAnbnVsbCcgJiYgZXZlbnQuY3VzdG9tX3RhZ3MgIT09ICcnID8gSlNPTi5wYXJzZShldmVudC5jdXN0b21fdGFncykgOiBbXTtcclxuICAgIHRoaXMucmVzcG9uc2liaWxpdHlGb3JtLm9iamVjdGl2ZSA9IGV2ZW50LmNvbnRyb2xfb2JqZWN0aXZlID8gZXZlbnQuY29udHJvbF9vYmplY3RpdmUgOiAnJztcclxuICAgIHRoaXMucmVzcG9uc2liaWxpdHlGb3JtLmNhdGVnb3J5ID0gdGhpcy5zZXRMaXN0KHRoaXMuYWxsQ2F0ZWdvcmllcywgW2V2ZW50LmNhdGVnb3J5X2lkXSwgJ2NhdGVnb3J5X2lkJyk7IC8vXHJcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5Rm9ybS5yZXZpZXdlcnMucmV2aWV3RnJlcXVlbmN5LnJldmlld0NvbXBsZXRlRGF5cyA9IDI7XHJcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5Rm9ybS5yZXZpZXdlcnMucmV2aWV3RnJlcXVlbmN5LnJldmlld05PdENvbXBsZXRlZERheXMgPSAyO1xyXG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eUZvcm0ucmMgPSB0aGlzLnJlc3BvbnNpYmlsaXR5Q2VudGVyc0xpc3QuZmluZCgocmM6IGFueSkgPT4gcmMucmNfaWQgPT09IGV2ZW50LmVudGl0eV9pZCkgPyBbdGhpcy5yZXNwb25zaWJpbGl0eUNlbnRlcnNMaXN0LmZpbmQoKHJjOiBhbnkpID0+IHJjLnJjX2lkID09PSBldmVudC5lbnRpdHlfaWQpXSA6IFtdO1xyXG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eUZvcm0ucmlza0NsYXNzID0gdGhpcy5pc1Jpc2tFbmFibGUgPyAxIDogMjtcclxuICAgIHRoaXMucmVzcG9uc2liaWxpdHlGb3JtLnByaXZhdGVfbGlicmFyeV9pZCA9IGV2ZW50LnJlcG9ydF9pZDtcclxuICAgIHRoaXMucmVzcG9uc2liaWxpdHlGb3JtLmZyZXF1ZW5jeSA9IHRoaXMucmVzcG9uc2liaWxpdHlGb3JtLmZyZXF1ZW5jeV9kZXRhaWxzO1xyXG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eUZvcm0uY2xhc3NpZmljYXRpb24gPSB0aGlzLmlzUmlza0VuYWJsZSA/IDEgOiAyO1xyXG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eUZvcm0uY29udGludW91c19mYWlsZWRfZGF5cyA9IGZyZXF1ZW5jeURldGFpbHNPYmplY3QuY29udGludW91c19mYWlsZWRfZGF5c1xyXG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eUZvcm0uc3RhcnREYXRlID0gdGhpcy5mcmVxdWVuY3lTZXJ2aWNlLmZyYW1ld29ya1N0YXJ0RGF0ZShldmVudCk7XHJcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5Rm9ybS5mb3JtYXRBbmRFdmlkZW5jZSA9IHtcclxuICAgICAgZXZpZGVuY2VSZXF1aXJlZDogZXZlbnQucmVwb3J0X3VwbG9hZF9mbGFnID8gdHJ1ZSA6IGZhbHNlLFxyXG4gICAgICBmb3JtYXRGaWxlczogZXZlbnQucmVwb3J0X2Zvcm1hdCxcclxuICAgICAgZm9ybWF0TGlua3M6ICEoZXZlbnQucmVwb3J0X2Zvcm1hdF9saW5rKSB8fCBldmVudC5yZXBvcnRfZm9ybWF0X2xpbmsgPT0gJycgPyBbXSA6IFtldmVudC5yZXBvcnRfZm9ybWF0X2xpbmtdLFxyXG4gICAgICBmb3JtYXRSZXF1aXJlZDogKGV2ZW50LnJlcG9ydF9mb3JtYXQubGVuZ3RoID4gMCB8fCAoKGV2ZW50LnJlcG9ydF9mb3JtYXRfbGluaykgJiYgZXZlbnQucmVwb3J0X2Zvcm1hdF9saW5rICE9ICcnKSkgPyB0cnVlIDogZmFsc2VcclxuICAgIH1cclxuICAgIHRoaXMucmVzcG9uc2liaWxpdHlGb3JtLmF1ZGl0X2NhdGVnb3J5X2RldGFpbHMgPSB7XHJcbiAgICAgIGNhdGVnb3J5X2lkOiAwLFxyXG4gICAgICBzYW1wbGU6IDUsXHJcbiAgICAgIHBlcmNlbnRhZ2U6IDMwICxcclxuICAgICAgZnJlcXVlbmN5X3BhdHRlcm46ICcxfjB+M34xJyxcclxuICAgICAgZnJlcXVlbmN5X3RpbWU6ICcyMzo1OTowMCdcclxuICB9XHJcblxyXG4gICAgZXZlbnQuZnJlcXVlbmN5X3RpbWUgPSAnMTE6NTkgcG0nO1xyXG4gICAgaWYgKGV2ZW50LmZyZXF1ZW5jeV9kZXRhaWxzICE9PSAnJyAmJiBldmVudC5mcmVxdWVuY3lfZGV0YWlscyAhPT0gJzV+MH4wfjAnKSB7XHJcbiAgICAgIHRoaXMuZnJlcXVlbmN5UG9wdWxhdGlvbihldmVudCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnJlc3BvbnNpYmlsaXR5Rm9ybS5mcmVxdWVuY3kgPSAnJztcclxuICAgIH1cclxuXHJcbiAgICBldmVudC5mcmVxdWVuY3lfdGltZSA9ICcyMzo1OTowMCc7XHJcbiAgICBldmVudC5wbGFjZWhvbGRlciA9IHRoaXMuZ2V0RnJlcXVlbmN5UGxhY2Vob2xkZXIoZXZlbnQpO1xyXG4gICAgY29uc3QgY2hlY2tlZE1vcmVPcHRpb25zID0gW107XHJcblxyXG4gICAgaWYgKHRoaXMucmVzcG9uc2liaWxpdHlGb3JtLm9iamVjdGl2ZSAhPT0gJycpIHtcclxuICAgICAgY2hlY2tlZE1vcmVPcHRpb25zLnB1c2goJ09CSkVDVElWRScpO1xyXG4gICAgICB0aGlzLm1vcmVPcHRpb25zLk9CSkVDVElWRSA9IHRydWU7XHJcbiAgICB9XHJcbiAgICBjaGVja2VkTW9yZU9wdGlvbnMucHVzaCgnUklTS19DTEFTU0lGSUNBVElPTicpO1xyXG4gICAgdGhpcy5tb3JlT3B0aW9ucy5SSVNLX0NMQVNTSUZJQ0FUSU9OID0gdHJ1ZTtcclxuICAgIGlmICh0aGlzLnJlc3BvbnNpYmlsaXR5Rm9ybS5jYXRlZ29yeS5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGNoZWNrZWRNb3JlT3B0aW9ucy5wdXNoKCdDQVRFR09SWScpO1xyXG4gICAgICB0aGlzLm1vcmVPcHRpb25zLkNBVEVHT1JZID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5yZXNwb25zaWJpbGl0eUZvcm0/LmZvcm1hdEFuZEV2aWRlbmNlPy5ldmlkZW5jZVJlcXVpcmVkIHx8IHRoaXMucmVzcG9uc2liaWxpdHlGb3JtPy5mb3JtYXRBbmRFdmlkZW5jZT8uZm9ybWF0UmVxdWlyZWQpIHtcclxuICAgICAgY2hlY2tlZE1vcmVPcHRpb25zLnB1c2goJ0ZPUk1BVEVfRVZJREVOQ0UnKTtcclxuICAgICAgdGhpcy5tb3JlT3B0aW9ucy5GT1JNQVRFX0VWSURFTkNFID0gdHJ1ZTtcclxuICAgIH1cclxuICAgIGlmIChldmVudC5lbnRpdHlfaWQgPiAwKSB7XHJcbiAgICAgIGNoZWNrZWRNb3JlT3B0aW9ucy5wdXNoKCdSQycpO1xyXG4gICAgICB0aGlzLm1vcmVPcHRpb25zLlJDID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnBvcHVsYXRlT3B0aW9uLmVtaXQoY2hlY2tlZE1vcmVPcHRpb25zKTtcclxuICAgIC8vICBldmVudC5wbGFjZWhvbGRlclxyXG4gIH1cclxuXHJcbiAgcmVmcmVzaEFsbExpc3RzKCkge1xyXG4gICAgbGV0IGFzc2lnbm9yQW5kQXNzaWduZWVzSWRzOiBhbnkgPSBbXTtcclxuICAgIGxldCByZXZpZXdlcnNJZHM6IGFueSA9IFtdO1xyXG4gICAgbGV0IG92ZXJzZWVySWRzOiBhbnkgPSBbXTtcclxuICAgIGxldCBhc3NpZ25lZUlkczogYW55ID0gW107XHJcblxyXG4gICAgY29uc3QgYWxsVXNlcnMgPSBjbG9uZURlZXAodGhpcy5hbGxVc2Vyc0xpc3QpO1xyXG4gICAgY29uc3QgYmVoYWxmVXNlcnMgPSBjbG9uZURlZXAodGhpcy5iZWhhbGZPZlVzZXJzTGlzdCk7XHJcblxyXG4gICAgY29uc3QgYXNzaWdub3JzID0gY2xvbmVEZWVwKHRoaXMucmVzcG9uc2liaWxpdHlGb3JtLmFzc2lnbm9ycy5saXN0KTtcclxuICAgIGNvbnN0IGFzc2lnbmVlcyA9IGNsb25lRGVlcCh0aGlzLnJlc3BvbnNpYmlsaXR5Rm9ybS5hc3NpZ25lZXMubGlzdCk7XHJcblxyXG4gICAgY29uc3QgcmV2aWV3ZXJzID0gY2xvbmVEZWVwKHRoaXMucmVzcG9uc2liaWxpdHlGb3JtLnJldmlld2Vycy5saXN0KTtcclxuICAgIGNvbnN0IG92ZXJzZWVyTGlzdCA9IGNsb25lRGVlcCh0aGlzLnJlc3BvbnNpYmlsaXR5Rm9ybS5vdmVyc2VlcnMubGlzdCk7XHJcbiAgICBjb25zdCBub3RpZnlPdmVyc2VlcnMgPSBjbG9uZURlZXAodGhpcy5yZXNwb25zaWJpbGl0eUZvcm0ub3ZlcnNlZXJzLm5vdGlmeUxpc3QpO1xyXG4gICAgYXNzaWdub3JzPy5mb3JFYWNoKCh1c2VyOiBhbnkpID0+IHtcclxuICAgICAgYXNzaWdub3JBbmRBc3NpZ25lZXNJZHMucHVzaCh1c2VyLm1lbWJlcl9pZCk7XHJcbiAgICB9KTtcclxuICAgIGFzc2lnbmVlcz8uZm9yRWFjaCgodXNlcjogYW55KSA9PiB7XHJcbiAgICAgIGFzc2lnbm9yQW5kQXNzaWduZWVzSWRzLnB1c2godXNlci5teV9tZW1iZXJfaWQpO1xyXG4gICAgICBhc3NpZ25lZUlkcy5wdXNoKHVzZXIubXlfbWVtYmVyX2lkKTtcclxuICAgIH0pO1xyXG4gICAgaWYgKHRoaXMucmVzcG9uc2liaWxpdHlGb3JtLmFzc2lnbm9ycy5saXN0Lmxlbmd0aCA9PSAwKSB7XHJcbiAgICAgIGFzc2lnbm9yQW5kQXNzaWduZWVzSWRzLnB1c2godGhpcy5tZW1iZXJJZCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV2aWV3ZXJzPy5mb3JFYWNoKCh1c2VyOiBhbnkpID0+IHtcclxuICAgICAgcmV2aWV3ZXJzSWRzLnB1c2godXNlci5teV9tZW1iZXJfaWQpO1xyXG4gICAgfSk7XHJcbiAgICBvdmVyc2Vlckxpc3Q/LmZvckVhY2goKHVzZXI6IGFueSkgPT4ge1xyXG4gICAgICBvdmVyc2Vlcklkcy5wdXNoKHVzZXIubXlfbWVtYmVyX2lkKTtcclxuICAgIH0pO1xyXG4gICAgbm90aWZ5T3ZlcnNlZXJzPy5mb3JFYWNoKCh1c2VyOiBhbnkpID0+IHtcclxuICAgICAgb3ZlcnNlZXJJZHMucHVzaCh1c2VyLm15X21lbWJlcl9pZCk7XHJcbiAgICB9KTtcclxuXHJcbiAgICBhc3NpZ25vckFuZEFzc2lnbmVlc0lkcyA9IFsuLi5uZXcgU2V0KGFzc2lnbm9yQW5kQXNzaWduZWVzSWRzKV07XHJcbiAgICBhc3NpZ25lZUlkcyA9IFsuLi5uZXcgU2V0KGFzc2lnbmVlSWRzKV07XHJcbiAgICByZXZpZXdlcnNJZHMgPSBbLi4ubmV3IFNldChyZXZpZXdlcnNJZHMpXTtcclxuICAgIG92ZXJzZWVySWRzID0gWy4uLm5ldyBTZXQob3ZlcnNlZXJJZHMpXTtcclxuXHJcblxyXG4gICAgdGhpcy5hc3NpZ25vcnNMaXN0ID0gYmVoYWxmVXNlcnMuZmlsdGVyKCh1c2VyOiBhbnkpID0+ICEoIG92ZXJzZWVySWRzLmluY2x1ZGVzKHVzZXIubWVtYmVyX2lkKSkpO1xyXG4gICAgdGhpcy5hc3NpZ25lZXNMaXN0ID0gYWxsVXNlcnMuZmlsdGVyKCh1c2VyOiBhbnkpID0+ICEocmV2aWV3ZXJzSWRzLmluY2x1ZGVzKHVzZXIubXlfbWVtYmVyX2lkKSB8fCBvdmVyc2Vlcklkcy5pbmNsdWRlcyh1c2VyLm15X21lbWJlcl9pZCkpKTtcclxuXHJcblxyXG5cclxuICAgIHRoaXMucmV2aWV3ZXJzTGlzdCA9IGFsbFVzZXJzLmZpbHRlcigodXNlcjogYW55KSA9PiAhKCBvdmVyc2Vlcklkcy5pbmNsdWRlcyh1c2VyLm15X21lbWJlcl9pZCkgIHx8IGFzc2lnbmVlSWRzLmluY2x1ZGVzKHVzZXIubXlfbWVtYmVyX2lkKSkpO1xyXG4gICAgdGhpcy5vdmVyc2VlcnNMaXN0ID0gYWxsVXNlcnMuZmlsdGVyKCh1c2VyOiBhbnkpID0+ICEoYXNzaWdub3JBbmRBc3NpZ25lZXNJZHMuaW5jbHVkZXModXNlci5teV9tZW1iZXJfaWQpIHx8IHJldmlld2Vyc0lkcy5pbmNsdWRlcyh1c2VyLm15X21lbWJlcl9pZCkpKTtcclxuICB9XHJcblxyXG4gIHN1Ym1pdFJlc3BvbnNpYmlsaXR5KCkge1xyXG4gICAgY29uc3QgdmFsaWQgPSB0aGlzLnZhbGlkYXRlUmVzcG9uc2liaWxpdHkoKTtcclxuICAgIGlmICghdmFsaWQpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLm1vZGUgPT0gJ0VESVQnKSB7XHJcbiAgICAgIHRoaXMub3JnYW5pemF0aW9uSWQgPSB0aGlzLmF1dGhTZXJ2aWNlLmdldE9yZ2FuaXphdGlvbklkKCk7XHJcbiAgICAgIHRoaXMubWVtYmVySWQgPSB0aGlzLmF1dGhTZXJ2aWNlLmdldE1lbWJlcklkKCk7XHJcbiAgICAgIHRoaXMuZW50cnVzdFJlc3BvbnNpYmlsaXR5KHRoaXMucmVzcG9uc2liaWxpdHlGb3JtKTtcclxuICAgICAgLy8gZWRpdCBjb25kaXRpb25zXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmVudHJ1c3RSZXNwb25zaWJpbGl0eSh0aGlzLnJlc3BvbnNpYmlsaXR5Rm9ybSk7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgdmFsaWRhdGVSZXNwb25zaWJpbGl0eSgpIHtcclxuICAgIHRoaXMuc3VibWl0dGVkID0gdHJ1ZTtcclxuICAgIGlmICh0aGlzLnJlc3BvbnNpYmlsaXR5Rm9ybS5hc3NpZ25vcnMuZW5hYmxlICYmIHRoaXMucmVzcG9uc2liaWxpdHlGb3JtLmFzc2lnbm9ycy5saXN0Lmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICB0aGlzLmludmFsaWRUeXBlID0gXCJ3aG9tXCI7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmICghdGhpcy5yZXNwb25zaWJpbGl0eUZvcm0ucmVzcG9uc2liaWxpdHkubmFtZSB8fCB0aGlzLnJlc3BvbnNpYmlsaXR5Rm9ybS5yZXNwb25zaWJpbGl0eS5uYW1lLnRyaW0oKSA9PSAnJykge1xyXG4gICAgICB0aGlzLmludmFsaWRUeXBlID0gJ3doYXQnO1xyXG4gICAgfSBlbHNlIGlmICghdGhpcy5yZXNwb25zaWJpbGl0eUZvcm0uYXNzaWduZWVzLmxpc3QgfHwgdGhpcy5yZXNwb25zaWJpbGl0eUZvcm0uYXNzaWduZWVzLmxpc3QubGVuZ3RoID09IDApIHtcclxuICAgICAgdGhpcy5pbnZhbGlkVHlwZSA9ICd3aG8nO1xyXG4gICAgfSBlbHNlIGlmICghdGhpcy5yZXNwb25zaWJpbGl0eUZvcm0uZnJlcXVlbmN5IHx8IHRoaXMucmVzcG9uc2liaWxpdHlGb3JtLmZyZXF1ZW5jeSA9PSAnJyB8fCB0aGlzLnJlc3BvbnNpYmlsaXR5Rm9ybS5mcmVxdWVuY3kgPT09ICcnIHx8IHRoaXMucmVzcG9uc2liaWxpdHlGb3JtLmZyZXF1ZW5jeSA9PT0gJzV+MH4wfjAnKSB7XHJcbiAgICAgIHRoaXMuaW52YWxpZFR5cGUgPSAnd2hlbic7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmludmFsaWRUeXBlID0gJyc7XHJcbiAgICB9XHJcblxyXG5cclxuXHJcbiAgICBpZiAoIXRoaXMucmVzcG9uc2liaWxpdHlGb3JtLnJlc3BvbnNpYmlsaXR5Lm5hbWUgfHwgdGhpcy5yZXNwb25zaWJpbGl0eUZvcm0ucmVzcG9uc2liaWxpdHkubmFtZS50cmltKCkgPT0gJydcclxuICAgICAgfHwgKCF0aGlzLnJlc3BvbnNpYmlsaXR5Rm9ybS5mcmVxdWVuY3kgfHwgdGhpcy5yZXNwb25zaWJpbGl0eUZvcm0uZnJlcXVlbmN5ID09PSAnJyB8fCB0aGlzLnJlc3BvbnNpYmlsaXR5Rm9ybS5mcmVxdWVuY3kgPT09ICc1fjB+MH4wJykgfHwgdGhpcy5yZXNwb25zaWJpbGl0eUZvcm0uYXNzaWduZWVzLmxpc3QubGVuZ3RoID09IDApIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHJlc3BvbnNpYmlsaXR5RGF0YSAhOiBhbnk7XHJcbiAgZW50cnVzdFJlc3BvbnNpYmlsaXR5KGVudHJ1c3RGb3JtOiBhbnkpIHtcclxuICAgIGNvbnNvbGUubG9nKFwiZW50cnVzdEZvcm0gPT0+XCIsIGVudHJ1c3RGb3JtKVxyXG4gICAgdGhpcy5sb2FkZXIgPSB0cnVlO1xyXG4gICAgdGhpcy51aUtpdFNlcnZpY2UuaXNMb2FkZXIgPSB0cnVlO1xyXG4gICAgbGV0IHN0YXJ0RGF0ZSA9IG1vbWVudChwYXJzZUludChlbnRydXN0Rm9ybS5zdGFydERhdGUpICogMTAwMCkuZm9ybWF0KFwiWVlZWS1NTS1ERCBISDptbTpzc1wiKTtcclxuICAgIHN0YXJ0RGF0ZSA9IG1vbWVudChzdGFydERhdGUuc3BsaXQoJyAnKVswXSArIFwiIDAwOjAwOjAwXCIpLmZvcm1hdChcIllZWVktTU0tREQgSEg6bW06c3NcIik7XHJcbiAgICBjb25zdCByY0RldGFpbHMgPSBlbnRydXN0Rm9ybS5yYy5sZW5ndGggPiAwID8gZW50cnVzdEZvcm0ucmMubWFwKChyYzogYW55KSA9PiB7XHJcbiAgICAgIGlmIChyYykge1xyXG4gICAgICAgIGNvbnN0IHJjRGV0YWlsc0FyciA9IHtcclxuICAgICAgICAgIHBhcmVudF9yY19pZHM6IHJjLnBhcmVudF9yY19pZHMsXHJcbiAgICAgICAgICByY19pZDogcmMucmNfaWRcclxuICAgICAgICB9O1xyXG4gICAgICAgIHJldHVybiByY0RldGFpbHNBcnI7XHJcbiAgICAgIH1cclxuICAgIH0pIDogW107XHJcbiAgICBjb25zdCBtb3JlT3B0aW9ucyA9IHRoaXMubW9yZU9wdGlvbnM7XHJcblxyXG4gICAgY29uc3QgY2hlY2tDb250aW51b3VzRmFpbGVkVmFsdWUgPSAoZGV0YWlsczogc3RyaW5nKSA9PiB7XHJcbiAgICAgIGNvbnN0IGZyZXF1ZW5jeVR5cGUgPSBwYXJzZUludChkZXRhaWxzLnNwbGl0KCd+JylbMF0pO1xyXG4gICAgICBpZiAoZnJlcXVlbmN5VHlwZSA9PT0gMSB8fCBmcmVxdWVuY3lUeXBlID09PSAyIHx8IGZyZXF1ZW5jeVR5cGUgPT09IDMpIHtcclxuICAgICAgICByZXR1cm4gdHJ1ZVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgY29uc3QgcmVtYXJrcyA9IChlbnRydXN0Rm9ybS5kZXNjcmlwdGlvbi5yZXBsYWNlKC9cXCZuYnNwOy9nLCAnJykudHJpbSgpICE9PSAnJykgPyBlbnRydXN0Rm9ybS5kZXNjcmlwdGlvbiA6ICcnXHJcbiAgICBjb25zdCBvYmplY3RpdmUgPSAoZW50cnVzdEZvcm0ub2JqZWN0aXZlLnJlcGxhY2UoL1xcJm5ic3A7L2csICcnKS50cmltKCkgIT09ICcnKSA/IGVudHJ1c3RGb3JtLm9iamVjdGl2ZSA6ICcnXHJcbiAgICBjb25zdCBwYXlsb2FkID0ge1xyXG4gICAgICBhcHBfYXNzb2NpYXRpb246IFtdLFxyXG4gICAgICBhc3NpZ25lZF90bzogdGhpcy5yZXR1cm5JZHMoZW50cnVzdEZvcm0uYXNzaWduZWVzLmxpc3QsICdlbXBsb3llZV9pZCcpLnRvU3RyaW5nKCksXHJcbiAgICAgIGNhdGVnb3J5X2lkOiAobW9yZU9wdGlvbnMuQ0FURUdPUlkpID8gdGhpcy5yZXR1cm5JZHMoZW50cnVzdEZvcm0uY2F0ZWdvcnksICdjYXRlZ29yeV9pZCcpLnRvU3RyaW5nKCkgOiAnJyxcclxuICAgICAgY2NfZW1haWw6IChtb3JlT3B0aW9ucy5PVkVSU0VFUikgPyB0aGlzLnJldHVybklkcyhlbnRydXN0Rm9ybS5vdmVyc2VlcnMubGlzdCwgJ2VtcGxveWVlX2lkJykudG9TdHJpbmcoKSA6ICcnLFxyXG4gICAgICBjaGVja3BvaW50X2Rlc2NyaXB0aW9uOiAobW9yZU9wdGlvbnMuQ0hFQ0tQT0lOVFMpID8gZW50cnVzdEZvcm0uY2hlY2twb2ludEluc3RydWN0aW9uIDogJycsXHJcbiAgICAgIGNoZWNrcG9pbnRfZGV0YWlsczogKG1vcmVPcHRpb25zLkNIRUNLUE9JTlRTKSA/IEpTT04uc3RyaW5naWZ5KHRoaXMucmVzcG9uc2liaWxpdHlGb3JtLmNoZWNrcG9pbnRzKSA6ICcnLFxyXG4gICAgICBjaGVja3BvaW50X2ZsYWc6IDAsXHJcbiAgICAgIGNvbGxhYm9yYXRvcl9tYXJrX2RvbmU6IDAsXHJcbiAgICAgIGNvbW1lbnQ6ICcnLFxyXG4gICAgICBjb250aW51b3VzX2ZhaWxlZF9kYXlzOiBjaGVja0NvbnRpbnVvdXNGYWlsZWRWYWx1ZShlbnRydXN0Rm9ybS5mcmVxdWVuY3kpID8gZW50cnVzdEZvcm0uY29udGludW91c19mYWlsZWRfZGF5cyA6IDAsXHJcbiAgICAgIGNvc3Rfb2ZfY29tcGxpYW5jZTogJycsXHJcbiAgICAgIGNyZWF0ZWRfYnk6IGVudHJ1c3RGb3JtLmFzc2lnbm9ycy5saXN0Py5sZW5ndGggPCAxID8gMCA6IHRoaXMubWVtYmVySWQsXHJcbiAgICAgIGNyZWF0aW9uX3dpbmRvdzogMCxcclxuICAgICAgY3VzdG9tX3RhZ3M6IEpTT04uc3RyaW5naWZ5KGVudHJ1c3RGb3JtLmN1c3RvbVRhZ3MpLFxyXG4gICAgICBlbnRpdHlfdHJlZTogKG1vcmVPcHRpb25zLlJDKSA/IHJjRGV0YWlscyA6IFtdLFxyXG4gICAgICBlbnRydXN0X2Zyb21fcmlzazogdGhpcy5vcGVuZWRGcm9tID09PSAnUklTS19UUkVBVE1FTlQnID8gdHJ1ZSA6IGZhbHNlLFxyXG4gICAgICBmYWlsZWRfYWZ0ZXJfZGF5czogZW50cnVzdEZvcm0uZmFpbGVkX2FmdGVyX2RheXMsXHJcbiAgICAgIGZhaWxlZF90aW1lX3V0YzogZW50cnVzdEZvcm0uZmFpbGVkX3RpbWVfdXRjLFxyXG4gICAgICBmYWlsdXJlX2NjX2VtYWlsOiAobW9yZU9wdGlvbnMuT1ZFUlNFRVIpID8gdGhpcy5yZXR1cm5JZHMoZW50cnVzdEZvcm0ub3ZlcnNlZXJzLm5vdGlmeUxpc3QsICdlbXBsb3llZV9pZCcpLnRvU3RyaW5nKCkgOiAnJyxcclxuICAgICAgZnJlcXVlbmN5X2RldGFpbHM6IGVudHJ1c3RGb3JtLmZyZXF1ZW5jeSxcclxuICAgICAgZnJlcXVlbmN5X3RpbWU6IGVudHJ1c3RGb3JtLnRpbWVJbjI0SHIgPz8gXCIyMzo1OTowMFwiLFxyXG4gICAgICBncmNfb2JqZWN0X2lkOiAwLFxyXG4gICAgICBncmNfcmVsYXRpb25zaGlwOiAnJyxcclxuICAgICAgaWZfdGVzdHBsYW5fZmFpbGVkOiAwLFxyXG4gICAgICBpbXBhY3Q6ICcnLFxyXG4gICAgICBpc0dyb3VwQXNzaWduVG86IChlbnRydXN0Rm9ybS5hc3NpZ25lZXMud2hvQ2FuQ29tcGxldGUgPT0gJ0FOWV9PTkUnKSA/IDEgOiAwLFxyXG4gICAgICBpc19rZXlfY29tcGxpYW5jZTogZW50cnVzdEZvcm0ucmVzcG9uc2liaWxpdHkua2V5UmVzcG9uc2liaWxpdHkgPyAxIDogMCxcclxuICAgICAgbGlicmFyeV9yZXBvcnRfaWQ6IDAsXHJcbiAgICAgIGxpZmVjeWNsZV9kZXRhaWxzOiBlbnRydXN0Rm9ybS5saWZlY3ljbGVEZXRhaWxzID8/ICcwMDAwLTAwLTAwfn4wJyxcclxuICAgICAgbGlua19mb3JfZGV0YWlsczogKG1vcmVPcHRpb25zLkZPUk1BVEVfRVZJREVOQ0UpID8gZW50cnVzdEZvcm0uZm9ybWF0QW5kRXZpZGVuY2UuZm9ybWF0TGlua3MgOiBbXSxcclxuICAgICAgbGlua2FnZXM6IHsgY29tcGxpYW5jZTogW10gfSxcclxuICAgICAgbWVtYmVyX2lkOiB0aGlzLnJldHVybklkcyhlbnRydXN0Rm9ybS5hc3NpZ25vcnMubGlzdCwgJ21lbWJlcl9pZCcpLmxlbmd0aCA+IDAgPyB0aGlzLnJldHVybklkcyhlbnRydXN0Rm9ybS5hc3NpZ25vcnMubGlzdCwgJ21lbWJlcl9pZCcpWzBdIDogdGhpcy5tZW1iZXJJZCxcclxuICAgICAgb2JqZWN0aXZlOiAobW9yZU9wdGlvbnMuT0JKRUNUSVZFKSA/IG9iamVjdGl2ZSA6ICcnLFxyXG4gICAgICBvbl9jb21wbGV0aW9uX29mOiBlbnRydXN0Rm9ybS5yZXBvcnRJZCA/IFtlbnRydXN0Rm9ybS5yZXBvcnRJZF0gOiBbXSxcclxuICAgICAgb25fY29tcGxldGlvbl9vZl90eXBlOiAxLFxyXG4gICAgICBvcmdhbmlzYXRpb25faWQ6IHRoaXMub3JnYW5pemF0aW9uSWQsXHJcbiAgICAgIG92ZXJyaWRlX3dlZWtseTogMCxcclxuICAgICAgcGFyZW50X2lkOiAwLFxyXG4gICAgICBwZW5hbHR5OiAnJyxcclxuICAgICAgcHJpdmF0ZV9saWJyYXJ5X2lkOiAwLFxyXG4gICAgICByZW1hcmtzOiByZW1hcmtzLFxyXG4gICAgICByZW1pbmRlcl9iZWZvcmVfZGF5czogZW50cnVzdEZvcm0ucmVtaW5kZXJfYmVmb3JlX2RheXMsXHJcbiAgICAgIHJlcG9ydF9mb3JtYXQ6IChtb3JlT3B0aW9ucy5GT1JNQVRFX0VWSURFTkNFKSA/IGVudHJ1c3RGb3JtLmZvcm1hdEFuZEV2aWRlbmNlLmZvcm1hdEZpbGVzIDogW10sXHJcbiAgICAgIHJlcG9ydF9mb3JtYXRfbGluazogJycsXHJcbiAgICAgIHJlcG9ydF9uYW1lOiBlbnRydXN0Rm9ybS5yZXNwb25zaWJpbGl0eS5uYW1lLFxyXG4gICAgICByZXBvcnRfdXBsb2FkX2ZsYWc6IGVudHJ1c3RGb3JtLmZvcm1hdEFuZEV2aWRlbmNlLmV2aWRlbmNlUmVxdWlyZWQgPyAxIDogMCxcclxuICAgICAgcmV2aWV3X2FmdGVyX2RheXM6IChtb3JlT3B0aW9ucy5SRVZJRVdFUikgPyBlbnRydXN0Rm9ybS5yZXZpZXdlcnMucmV2aWV3RnJlcXVlbmN5LnJldmlld0NvbXBsZXRlRGF5cyA9PT0gJycgPyAwIDogTnVtYmVyKGVudHJ1c3RGb3JtLnJldmlld2Vycy5yZXZpZXdGcmVxdWVuY3kucmV2aWV3Q29tcGxldGVEYXlzKSA6IDAsXHJcbiAgICAgIHJldmlld19mYWlsZWRfYWZ0ZXJfZGF5czogKG1vcmVPcHRpb25zLlJFVklFV0VSKSA/IGVudHJ1c3RGb3JtLnJldmlld2Vycy5yZXZpZXdGcmVxdWVuY3kucmV2aWV3Tk90Q29tcGxldGVkRGF5cyA9PT0gJycgPyAwIDogTnVtYmVyKGVudHJ1c3RGb3JtLnJldmlld2Vycy5yZXZpZXdGcmVxdWVuY3kucmV2aWV3Tk90Q29tcGxldGVkRGF5cykgOiAwLFxyXG4gICAgICByZXZpZXdlcl9hcnI6IChtb3JlT3B0aW9ucy5SRVZJRVdFUikgPyB7XHJcbiAgICAgICAgbGV2ZWwxOiB7XHJcbiAgICAgICAgICByZXZpZXdlcnM6IHRoaXMuc2V0UmV2aWV3ZXJQYXlsb2FkKGVudHJ1c3RGb3JtLnJldmlld2Vycy5saXN0LCAnbGlzdCcsIGVudHJ1c3RGb3JtLnJldmlld2Vycy5hY2NlcHRlZERhdGEsICAoZW50cnVzdEZvcm0ucmV2aWV3ZXJzLnNlcXVlbnRpYWxXb3JrZmxvdykgPyAnU0VRVUVOVElBTCcgOiAnQU5ZT05FJyksXHJcbiAgICAgICAgICB0eXBlOiAoZW50cnVzdEZvcm0ucmV2aWV3ZXJzLnNlcXVlbnRpYWxXb3JrZmxvdykgPyAnU0VRVUVOVElBTCcgOiAnQU5ZT05FJ1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH0gOiB7fSxcclxuICAgICAgcmV2aWV3ZXJfY2hlY2twb2ludHM6IFt7IGNoZWNrcG9pbnRzOiBbXSwgaW5zdHJ1Y3Rpb246ICcnIH1dLFxyXG4gICAgICByZXZpZXdlcl9pZDogMCxcclxuICAgICAgcmlza19jbGFzczogdGhpcy5pc1Jpc2tFbmFibGUgPyBlbnRydXN0Rm9ybS5yaXNrQ2xhc3MgOiAyLFxyXG4gICAgICByaXNrX2lkczogJycsXHJcbiAgICAgIHJpc2tfbWF0cml4X2RhdGE6IChtb3JlT3B0aW9ucy5SSVNLX0NMQVNTSUZJQ0FUSU9OKSA/IGVudHJ1c3RGb3JtLnJpc2tNYXRyaXggOiAnMCwwLDAsMCwwLDAnLFxyXG4gICAgICBzYW1wbGVfc2l6ZTogMCxcclxuICAgICAgc3RhcnRfZGF0ZV91dGM6IHN0YXJ0RGF0ZSxcclxuICAgICAgc3RhdHV0b3J5X2RheTogMCxcclxuICAgICAgdGVzdF9yZXF1aXJlZF9mbGFnOiAobW9yZU9wdGlvbnMuQVNTVVJBTkNFKSA/IChlbnRydXN0Rm9ybS5hc3N1cmFuY2VMaXN0Lmxlbmd0aCA+IDAgPyAxIDogMCkgOiAwLFxyXG4gICAgICB0ZXN0cGxhbl9jYXRlZ29yeV9pZDogKG1vcmVPcHRpb25zLkFTU1VSQU5DRSkgPyB0aGlzLnJldHVybklkcyhlbnRydXN0Rm9ybS5hc3N1cmFuY2VMaXN0LCAnY2F0ZWdvcnlfaWQnKSA6IFtdLFxyXG4gICAgICB0ZXN0cGxhbl9jYXRlZ29yeV9tYW5hZ2VyOiAnJyxcclxuICAgICAgYXVkaXRfY2F0ZWdvcnlfZGV0YWlsczogIHRoaXMucmVzcG9uc2liaWxpdHlGb3JtID8uYXVkaXRfY2F0ZWdvcnlfZGV0YWlscz8uY2F0ZWdvcnlfaWQgPyB7XHJcbiAgICAgICAgY2F0ZWdvcnlfaWQ6IHRoaXMucmVzcG9uc2liaWxpdHlGb3JtLmF1ZGl0X2NhdGVnb3J5X2RldGFpbHMuY2F0ZWdvcnlfaWQsXHJcbiAgICAgICAgc2FtcGxlOiB0aGlzLnNlbGVjdGVkU2FtcGxlID09PSAwID8gdGhpcy5zYW1wbGVWYWx1ZSA6IDAsXHJcbiAgICAgICAgcGVyY2VudGFnZTogdGhpcy5zZWxlY3RlZFNhbXBsZSA9PT0gMSA/IHRoaXMuc2FtcGxlUGVyY2VudGFnZSA6IDAsXHJcbiAgICAgICAgZnJlcXVlbmN5X3BhdHRlcm46IGAxfjB+JHt0aGlzLnNlbmRBdWRpdFJlbWluZGVyc1ZhbHVlfX4xYCxcclxuICAgICAgICBmcmVxdWVuY3lfdGltZTogbW9tZW50KHRoaXMuYXVkaXRUaW1lLCAnSEg6bW0gYScpLmZvcm1hdCgnSEg6bW06c3MnKVxyXG4gICAgfSA6IHtcclxuICAgICAgICBjYXRlZ29yeV9pZDogMCxcclxuICAgICAgICBzYW1wbGU6IDAsXHJcbiAgICAgICAgcGVyY2VudGFnZTogMCxcclxuICAgICAgICBmcmVxdWVuY3lfcGF0dGVybjogYGAsXHJcbiAgICAgICAgZnJlcXVlbmN5X3RpbWU6JydcclxuICAgIH0gLFxyXG4gICAgICBhc3Nlc3NtZW50OiAge1xyXG4gICAgICAgIGNhdGVnb3J5X2lkOiBtb3JlT3B0aW9ucy5BU1NFU1NNRU5UID8gIGVudHJ1c3RGb3JtPy5hc3Nlc3NtZW50Py5jYXRlZ29yeV9pZCA6ICcnLFxyXG4gICAgICAgIGFzc2Vzc21lbnRfaWQ6ICBtb3JlT3B0aW9ucy5BU1NFU1NNRU5UID8gZW50cnVzdEZvcm0/LmFzc2Vzc21lbnQ/LmFzc2Vzc21lbnRfaWQgOiAnJ1xyXG4gICAgICB9LFxyXG4gICAgICBhc3Nlc3NtZW50X2NoZWNrcG9pbnQ6IG1vcmVPcHRpb25zLkNIRUNLUE9JTlRTX05FVyA/ICggT2JqZWN0LmtleXMoZW50cnVzdEZvcm0/Lm5ld19jaGVja3BvaW50cykubGVuZ3RoID4gMCA/IGVudHJ1c3RGb3JtPy5uZXdfY2hlY2twb2ludHMgOiB7fSkgOiB7fSxcclxuICAgICAgcXVlc3Rpb25uYWlyZV90eXBlOiBtb3JlT3B0aW9ucy5DSEVDS1BPSU5UU19ORVcgPyAoIE9iamVjdC5rZXlzKGVudHJ1c3RGb3JtPy5uZXdfY2hlY2twb2ludHMpLmxlbmd0aCA+IDAgPyAnYXNzZXNzbWVudF9jaGVja3BvaW50JyA6IChtb3JlT3B0aW9ucy5BU1NFU1NNRU5UICYmIGVudHJ1c3RGb3JtPy5hc3Nlc3NtZW50Py5jYXRlZ29yeV9pZCA/ICAnYXNzZXNzbWVudCc6IChKU09OLnN0cmluZ2lmeSh0aGlzLnJlc3BvbnNpYmlsaXR5Rm9ybS5jaGVja3BvaW50cykgIT0gJycgICYmIG1vcmVPcHRpb25zLkNIRUNLUE9JTlRTID8gJ2NoZWNrcG9pbnQnIDogJycpKSkgOiAnJ1xyXG4gICAgfTtcclxuICAgIHRoaXMucmVzcG9uc2liaWxpdHlQYXlsb2FkID0gcGF5bG9hZDtcclxuICAgIGNvbnNvbGUubG9nKFwicGF5bG9hZGRkXCIsIHBheWxvYWQsIHRoaXMubW9kZSlcclxuICAgIGlmICh0aGlzLm1vZGUgPT0gJ0NSRUFURScgJiYgIXRoaXMuaXNEdXBsaWNhdGVFbnRydXN0KSB7XHJcbiAgICAgIHRoaXMucmVzcG9uc2liaWxpdHlTZXJ2aWNlLnN1Ym1pdEVudHJ1c3QocGF5bG9hZCkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMubG9hZGVyID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy51aUtpdFNlcnZpY2UuaXNMb2FkZXIgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnNob3dTbWlsZXkgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMudWlLaXRTZXJ2aWNlLmlzU21pbGV5T24gPSB0cnVlO1xyXG4gICAgICAgIHRoaXMucmVzcG9uc2liaWxpdHlEYXRhID0gcmVzO1xyXG5cclxuXHJcbiAgICAgICAgaWYgKHJlcy5tZXNzYWdlICYmIHJlcy5tZXNzYWdlLnRvTG93ZXJDYXNlKCkgPT09ICdidWxrIGVudHJ1c3QnKSB7XHJcbiAgICAgICAgICB0aGlzLnNtaWxleU1lc3NhZ2UgPSBgWW91IGhhdmUgZW50cnVzdGVkICR7cmVzLmNhbGN1bGF0ZV9ub19vZl9yZXNwb25zaWJpaXRpZXN9IHJlc3BvbnNpYmlsaXRpZXMuIFRoZXNlIHdvdWxkIGJlIHJlZmxlY3RlZCB3aXRoaW4geW91ciBhY2NvdW50IGluIHNvbWV0aW1lLmA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLmlzTm90aWZpY2F0aW9uUGVuZGluZyAmJiBwYXlsb2FkLmNyZWF0ZWRfYnkgPT0gMCkge1xyXG4gICAgICAgICAgdGhpcy5zbWlsZXlNZXNzYWdlID0gJ1RoaXMgcmVzcG9uc2liaWxpdHkgaGFzIGJlZW4gYWRkZWQgdG8gdGhlIG5vdGlmaWNhdGlvbiBxdWV1ZS4nXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGlmIChwYXlsb2FkLmNyZWF0ZWRfYnkgPiAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYWN0aW9uQnV0dG9uc1sxXS5idXR0b25UZXh0ID0gXCJWaWV3IFJlc3BvbnNpYmlsaXRpZXNcIjtcclxuICAgICAgICAgICAgdGhpcy5zbWlsZXlNZXNzYWdlID0gYFlvdSBqdXN0IGNyZWF0ZWQgYSByZXNwb25zaWJpbGl0eSBvbiBiZWhhbGYgJHtlbnRydXN0Rm9ybS5hc3NpZ25vcnMubGlzdC5maW5kKChtZW1iZXI6IGFueSkgPT4gbWVtYmVyLm1lbWJlcl9pZCA9PT0gcGF5bG9hZC5tZW1iZXJfaWQpLm1lbWJlcl9uYW1lfWA7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgIC8vdGhpcy5yZXNldCgpO1xyXG4gICAgICB9LFxyXG4gICAgICAgIGVyciA9PiB7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xyXG4gICAgICAgICAgdGhpcy5sb2FkZXIgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMudWlLaXRTZXJ2aWNlLmlzTG9hZGVyID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLnNuYWNrQmFyLnNob3coJ09PUFMhIFNvbWV0aGluZyB3ZW50IHdyb25nIGFuZCB0aGUgcGFnZSBjb3VsZCBub3QgYmUgbG9hZGVkLiBDb3VsZCB5b3UgcGxlYXNlIHRyeSBvbmUgbW9yZSB0aW1lPycpO1xyXG5cclxuICAgICAgICB9XHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5tb2RlID09ICdFRElUJyB8fCB0aGlzLmlzRHVwbGljYXRlRW50cnVzdCkge1xyXG4gICAgICB0aGlzLnNtaWxleU1lc3NhZ2UgPSBgVGhlIHJlc3BvbnNpYmlsaXR5IGhhcyBiZWVuIG1vZGlmaWVkLmA7XHJcbiAgICAgIHRoaXMucmVzcG9uc2liaWxpdHlTZXJ2aWNlLnVwZGF0ZUVudHJ1c3QocGF5bG9hZCwgdGhpcy5yZXNwb25zaWJpbGl0eUlkLCB0cnVlKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0eURhdGEgPSByZXM7XHJcbiAgICAgICAgdGhpcy5sb2FkZXIgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnVpS2l0U2VydmljZS5pc0xvYWRlciA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuc2hvd1NtaWxleSA9IHRydWU7XHJcbiAgICAgICAgdGhpcy51aUtpdFNlcnZpY2UuaXNTbWlsZXlPbiA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5pc0R1cGxpY2F0ZUVudHJ1c3QgPSBmYWxzZTtcclxuXHJcbiAgICAgICAgLy8gdGhpcy5yZXNldEZvcm0oKTtcclxuXHJcbiAgICAgIH0sXHJcbiAgICAgICAgZXJyID0+IHtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKGVycik7XHJcbiAgICAgICAgICB0aGlzLmxvYWRlciA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy51aUtpdFNlcnZpY2UuaXNMb2FkZXIgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuc25hY2tCYXIuc2hvdygnT09QUyEgU29tZXRoaW5nIHdlbnQgd3JvbmcgYW5kIHRoZSBwYWdlIGNvdWxkIG5vdCBiZSBsb2FkZWQuIENvdWxkIHlvdSBwbGVhc2UgdHJ5IG9uZSBtb3JlIHRpbWU/Jyk7XHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIHJlc2V0KCkge1xyXG4gICAgdGhpcy5zY3JvbGxUb0JvdHRvbSA9IGZhbHNlO1xyXG4gICAgdGhpcy5zaG93U21pbGV5ID0gZmFsc2U7XHJcbiAgICB0aGlzLnVpS2l0U2VydmljZS5pc1NtaWxleU9uID0gZmFsc2U7XHJcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5Rm9ybSA9IHtcclxuICAgICAgYXNzaWdub3JzOiB7XHJcbiAgICAgICAgZW5hYmxlOiBmYWxzZSxcclxuICAgICAgICBsaXN0OiBbXVxyXG4gICAgICB9LFxyXG4gICAgICByZXNwb25zaWJpbGl0eToge1xyXG4gICAgICAgIG5hbWU6ICcnLFxyXG4gICAgICAgIGtleVJlc3BvbnNpYmlsaXR5OiBmYWxzZSxcclxuICAgICAgfSxcclxuICAgICAgYXNzaWduZWVzOiB7XHJcbiAgICAgICAgd2hvQ2FuQ29tcGxldGU6ICdBTEwnLFxyXG4gICAgICAgIGxpc3Q6IFtdXHJcbiAgICAgIH0sXHJcbiAgICAgIGZyZXF1ZW5jeTogJycsXHJcbiAgICAgIGRlc2NyaXB0aW9uOiAnJyxcclxuICAgICAgb2JqZWN0aXZlOiAnJyxcclxuICAgICAgcmM6IFtdLFxyXG4gICAgICBjYXRlZ29yeTogW10sXHJcbiAgICAgIGNoZWNrcG9pbnRJbnN0cnVjdGlvbjogJycsXHJcbiAgICAgIGN1c3RvbVRhZ3M6IFtdLFxyXG4gICAgICBjaGVja3BvaW50czogW10sXHJcbiAgICAgIHJldmlld2Vyczoge1xyXG4gICAgICAgIHNlcXVlbnRpYWxXb3JrZmxvdzogdHJ1ZSxcclxuICAgICAgICByZXZpZXdGcmVxdWVuY3k6IHtcclxuICAgICAgICAgIHJldmlld0NvbXBsZXRlRGF5czogMixcclxuICAgICAgICAgIHJldmlld05PdENvbXBsZXRlZERheXM6IDJcclxuICAgICAgICB9LFxyXG4gICAgICAgIGxpc3Q6IFtdXHJcbiAgICAgIH0sXHJcblxyXG4gICAgICBvdmVyc2VlcnM6IHtcclxuICAgICAgICBub3RpZnlMaXN0OiBbXSxcclxuICAgICAgICBsaXN0OiBbXVxyXG4gICAgICB9LFxyXG4gICAgICBmb3JtYXRBbmRFdmlkZW5jZToge1xyXG4gICAgICAgIGZvcm1hdFJlcXVpcmVkOiBmYWxzZSxcclxuICAgICAgICBmb3JtYXRGaWxlczogW10sXHJcbiAgICAgICAgZm9ybWF0TGlua3M6IFtdLFxyXG4gICAgICAgIGV2aWRlbmNlUmVxdWlyZWQ6IGZhbHNlLFxyXG4gICAgICB9LFxyXG4gICAgICBhc3N1cmFuY2VMaXN0OiBbXSxcclxuICAgICAgcmVxdWlyZXNBdWRpdExpc3Q6IFtdLFxyXG4gICAgICByaXNrQ2xhc3M6IDEsXHJcbiAgICAgIHJpc2tNYXRyaXg6ICcwLDAsMCwwLDAsMCdcclxuICAgIH07XHJcbiAgICB0aGlzLm1vcmVPcHRpb25zID0ge1xyXG4gICAgICBPQkpFQ1RJVkU6IGZhbHNlLFxyXG4gICAgICBSQzogZmFsc2UsXHJcbiAgICAgIENBVEVHT1JZOiBmYWxzZSxcclxuICAgICAgRk9STUFURV9FVklERU5DRTogZmFsc2UsXHJcbiAgICAgIENIRUNLUE9JTlRTOiBmYWxzZSxcclxuICAgICAgUklTS19DTEFTU0lGSUNBVElPTjogZmFsc2UsXHJcbiAgICAgIFJFVklFV0VSOiBmYWxzZSxcclxuICAgICAgT1ZFUlNFRVI6IGZhbHNlLFxyXG4gICAgICBBU1NVUkFOQ0U6IGZhbHNlLFxyXG4gICAgICBBUFBTOiBmYWxzZSxcclxuICAgIH07XHJcbiAgICB0aGlzLmZyZXF1ZW5jeVBsYWNlaG9sZGVyID0gJ0hvdyBvZnRlbiBkb2VzIHRoZSByZXNwb25zaWJpbGl0eSBvY2N1cj8nO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lEZXRhaWxzID0ge1xyXG4gICAgICBwYXR0ZXJuOiAnJyxcclxuICAgICAgbm90aWZpY2F0aW9uUGVuZGluZzogMCxcclxuICAgICAgZGF0ZU9mTW9kaWZpZWQ6IDAsXHJcbiAgICAgIGRlYWN0aXZhdGlvblZhbHVlOiAwLFxyXG4gICAgICBzZWxlY3RlZFJlcG9ydDogMCxcclxuICAgICAgbGlmZWN5Y2xlOiAnMDAwMC0wMC0wMH5+MCcsXHJcbiAgICAgIHN0YXJ0RGF0ZTogTWF0aC5mbG9vcihuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDApLFxyXG4gICAgICBzdGFydE9uVGhlRGF5OiBNYXRoLmZsb29yKG5ldyBEYXRlKCkuZ2V0VGltZSgpIC8gMTAwMCksXHJcbiAgICAgIHdpbmRvdzogMCxcclxuICAgICAgZmFpbGVkOiAwLFxyXG4gICAgICB0aW1lOiAnMTE6NTkgcG0nLFxyXG4gICAgICBmYWlsZWRUaW1lOiAnJyxcclxuICAgICAgY29udGludW91c19mYWlsZWRfZGF5czogMFxyXG4gICAgfVxyXG4gICAgdGhpcy5zYW1wbGVWYWx1ZSA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuc2FtcGxlUGVyY2VudGFnZSA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuc2VsZWN0ZWRTYW1wbGUgPSAtMTtcclxuICAgIHRoaXMuc2VuZEF1ZGl0UmVtaW5kZXJzVmFsdWUgPSAyO1xyXG4gICAgdGhpcy5hdWRpdFRpbWUgPSAnMTE6NTkgcG0nXHJcbiAgICB0aGlzLm1vZGUgPSAnQ1JFQVRFJ1xyXG4gICAgdGhpcy5pc0VudHJ1c3QgPSB0cnVlO1xyXG4gICAgdGhpcy5yZXNldEZvcm0uZW1pdCh0cnVlKTtcclxuICB9XHJcbiAgYWN0aW9uKGV2ZW50OiBzdHJpbmcpIHtcclxuICAgIGlmICh0aGlzLm9wZW5lZEZyb20gPT09ICdSSVNLX1RSRUFUTUVOVCcpIHtcclxuICAgICAgdGhpcy5jbG9zZVNtaWxleSgnZHMnKTtcclxuICAgICAgcmV0dXJuXHJcbiAgICB9XHJcbiAgICBzd2l0Y2ggKGV2ZW50KSB7XHJcbiAgICAgIGNhc2UgJ2FkZE1vcmUnOlxyXG4gICAgICAgIHRoaXMucmVzZXQoKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAndmlldyc6XHJcbiAgICAgICAgdGhpcy52aWV3UmVzcG9uc2liaWxpdGllcygpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxuICB2aWV3UmVzcG9uc2liaWxpdGllcygpOiB2b2lkIHtcclxuICAgIGxldCB1cmw6IHN0cmluZztcclxuICAgIGxldCB1cmxTdWJzdHJpbmcgPSAnJztcclxuICAgIHRoaXMuZGlzY29ubmVjdFJlZnJlc2guZW1pdChmYWxzZSk7XHJcbiAgICBpZiAodGhpcy5pc05vdGlmaWNhdGlvblBlbmRpbmcgJiYgdGhpcy5yZXNwb25zaWJpbGl0eVBheWxvYWQuY3JlYXRlZF9ieSA9PSAwKSB7XHJcbiAgICAgIHVybFN1YnN0cmluZyA9ICdjb21wbGlhbmNlL21hbmFnZS1yZXNwb25zaWJpbGl0aWVzL3Jlc3BvbnNpYmlsaXRpZXMtcXVldWUnO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnJlc3BvbnNpYmlsaXR5UGF5bG9hZC5jcmVhdGVkX2J5ID4gMCAmJiB0aGlzLm1vZGUgIT09ICdFRElUJykge1xyXG4gICAgICB1cmxTdWJzdHJpbmcgPSAnY29tcGxpYW5jZS9tYW5hZ2UtcmVzcG9uc2liaWxpdGllcy9vdmVyc2lnaHQtcmVzcG9uc2liaWxpdGllcz90YWI9NCZwYWdlPTEnO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdXJsU3Vic3RyaW5nID0gJ2NvbXBsaWFuY2UvbWFuYWdlLXJlc3BvbnNpYmlsaXRpZXMnO1xyXG4gICAgfVxyXG4gICAgaWYgKHdpbmRvdy5sb2NhdGlvbi5ob3N0LnN0YXJ0c1dpdGgoJ2xvY2FsaG9zdCcpKSB7XHJcbiAgICAgIHVybCA9ICdodHRwOi8vJyArIHdpbmRvdy5sb2NhdGlvbi5ob3N0ICsgJy8jLycgKyB1cmxTdWJzdHJpbmc7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB1cmwgPSAnaHR0cHM6Ly8nICsgd2luZG93LmxvY2F0aW9uLmhvc3QgKyAnL2NvbXBsaWFuY2UvIy8nICsgdXJsU3Vic3RyaW5nO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLm1vZGUgIT09ICdFRElUJykge1xyXG4gICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IHVybDtcclxuICAgIH1cclxuICAgIHRoaXMuY2xvc2VTbWlsZXkoJ2RzJylcclxuICAgIHRoaXMucmVzZXQoKTtcclxuICB9XHJcbiAgY2xvc2VTbWlsZXkoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5zaG93U21pbGV5ID0gZmFsc2U7XHJcbiAgICB0aGlzLnVpS2l0U2VydmljZS5pc1NtaWxleU9uID0gZmFsc2U7XHJcbiAgICAvLyB0aGlzLmNsb3NlV29ya2Zsb3cuZW1pdCh0aGlzLnJlc3BvbnNpYmlsaXR5RGF0YSk7XHJcbiAgICB0aGlzLmNsb3NlV29ya2Zsb3cuZW1pdCh7IGV2dDogdGhpcy5yZXNwb25zaWJpbGl0eURhdGEsIGNvbmZpcm06IGZhbHNlIH0pO1xyXG4gIH1cclxuICAvLyBmb3IgZWRpdCByZXNwb25zaWJpbGl0eVxyXG4gIGZyZXF1ZW5jeURhdGFQb3B1bGF0aW9uKGV2ZW50OiBhbnkpIHtcclxuICAgIGNvbnN0IGRhdGEgPSB7XHJcbiAgICAgIHBhdHRlcm46IGV2ZW50Py5mcmVxdWVuY3lfZGV0YWlscyxcclxuICAgICAgd2luZG93OiBldmVudD8ucmVtaW5kZXJfYmVmb3JlX2RheXMsXHJcbiAgICAgIGZhaWxlZEFmdGVyOiBldmVudD8uZmFpbGVkX2FmdGVyX2RheXMsXHJcbiAgICAgIGZhaWxlZF90aW1lX3V0YzogZXZlbnQuZmFpbGVkX3RpbWVfdXRjLFxyXG4gICAgICBsaWZlY3ljbGVEZXRhaWxzOiBldmVudD8ubGlmZWN5Y2xlX2RldGFpbHMsXHJcbiAgICAgIHN0YXJ0RnJvbTogTnVtYmVyKGV2ZW50Py5zdGFydF9vZl9kYXlfdXRjKSxcclxuICAgICAgdGltZUluMjRIcjogZXZlbnQuZnJlcXVlbmN5X3RpbWUsXHJcbiAgICAgIGNvbnRpbnVvdXNfZmFpbGVkX2RheXM6IGV2ZW50LmNvbnRpbnVvdXNfZmFpbGVkX2RheXMsXHJcbiAgICAgIHN0YXJ0RGF0ZTogTnVtYmVyKGV2ZW50Py5zdGFydF9vZl9kYXlfdXRjKSxcclxuICAgICAgcmVwb3J0SWQ6IGV2ZW50Py5vbl9jb21wbGV0aW9uX29mWzBdID8/IDAsXHJcbiAgICAgIHRpbWVJbjEyaHI6IHRoaXMuZnJlcXVlbmN5U2VydmljZS50aW1lSW4xMihldmVudC5mcmVxdWVuY3lfdGltZSAhPSAnJyA/IGV2ZW50LmZyZXF1ZW5jeV90aW1lIDogJzIzOjU5OjAwJylcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmZyZXF1ZW5jeURhdGEoZGF0YSk7XHJcbiAgfVxyXG5cclxuICBmcmVxdWVuY3lQb3B1bGF0aW9uKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuZnJlcXVlbmN5RGV0YWlscy5wYXR0ZXJuID0gZXZlbnQ/LmZyZXF1ZW5jeV9kZXRhaWxzO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lEZXRhaWxzLmZhaWxlZFRpbWUgPSBldmVudD8uZnJlcXVlbmN5X3RpbWU7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeURldGFpbHMud2luZG93ID0gZXZlbnQ/LnJlbWluZGVyX2JlZm9yZV9kYXlzO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lEZXRhaWxzLmZhaWxlZCA9IGV2ZW50Py5mYWlsZWRfYWZ0ZXJfZGF5cztcclxuICAgIHRoaXMuZnJlcXVlbmN5RGV0YWlscy5saWZlY3ljbGUgPSBldmVudD8ubGlmZWN5Y2xlX2RldGFpbHM7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeURldGFpbHMuc3RhcnREYXRlID0gZXZlbnQ/LnN0YXJ0X29mX2RheV91dGM7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeURldGFpbHMuc2VsZWN0ZWRSZXBvcnQgPSBldmVudD8ub25fY29tcGxldGlvbl9vZlswXSA/PyAwO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lEZXRhaWxzLmRhdGVPZk1vZGlmaWVkID0gZXZlbnQ/LmRvbV91dGM7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeURldGFpbHMuY29udGludW91c19mYWlsZWRfZGF5cyA9IGV2ZW50Py5jb250aW51b3VzX2ZhaWxlZF9kYXlzO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lQbGFjZWhvbGRlciA9IGV2ZW50Py5wbGFjZWhvbGRlcjtcclxuICB9XHJcblxyXG4gIGZyZXF1ZW5jeURhdGEoZXZlbnQ6IGFueSkge1xyXG4gICAgY29uc29sZS5sb2coXCJldmVudD09PlwiLCBldmVudClcclxuICAgIGlmICh0aGlzLmludmFsaWRUeXBlID09PSAnd2hlbicpIHtcclxuICAgICAgdGhpcy5pbnZhbGlkVHlwZSA9ICcnO1xyXG4gICAgfVxyXG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eUZvcm0uZnJlcXVlbmN5ID0gZXZlbnQucGF0dGVybjtcclxuICAgIHRoaXMucmVzcG9uc2liaWxpdHlGb3JtLnJlbWluZGVyX2JlZm9yZV9kYXlzID0gKGV2ZW50LmNhc2U9PT1cImRhaWx5XCIpID8gMCA6IGV2ZW50LndpbmRvd1xyXG4gICAgLy90aGlzLnJlc3BvbnNpYmlsaXR5Rm9ybS5yZW1pbmRlcl9iZWZvcmVfZGF5cyA9IGV2ZW50LndpbmRvdztcclxuICAgIHRoaXMucmVzcG9uc2liaWxpdHlGb3JtLmZhaWxlZF9hZnRlcl9kYXlzID0gZXZlbnQuZmFpbGVkQWZ0ZXI7XHJcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5Rm9ybS5mYWlsZWRfdGltZV91dGMgPSBldmVudC5mYWlsZWRfdGltZV91dGM7XHJcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5Rm9ybS5saWZlY3ljbGVEZXRhaWxzID0gZXZlbnQubGlmZWN5Y2xlRGV0YWlscztcclxuICAgIHRoaXMucmVzcG9uc2liaWxpdHlGb3JtLnJlcG9ydElkID0gZXZlbnQucmVwb3J0SWQgPz8gMDtcclxuICAgIHRoaXMucmVzcG9uc2liaWxpdHlGb3JtLnN0YXJ0RGF0ZSA9IGV2ZW50LnN0YXJ0RnJvbTtcclxuICAgIHRoaXMucmVzcG9uc2liaWxpdHlGb3JtLnRpbWVJbjI0SHIgPSBldmVudC50aW1lSW4yNEhyO1xyXG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eUZvcm0uY29udGludW91c19mYWlsZWRfZGF5cyA9IGV2ZW50LmNvbnRpbnVvdXNfZmFpbGVkX2RheXM7XHJcbiAgICB0aGlzLmFjdGl2YXRlU2VsZWN0b3IoJ2ZyZXF1ZW5jeScsIGZhbHNlKTtcclxuICAgIGNvbnN0IHBheWxvYWQgPSB7XHJcbiAgICAgIGZyZXF1ZW5jeV9kZXRhaWxzOiBldmVudC5wYXR0ZXJuLFxyXG4gICAgICBmcmVxdWVuY3lfdGltZTogZXZlbnQudGltZUluMTJocixcclxuICAgICAgcmVtaW5kZXJfYmVmb3JlX2RheXM6IGV2ZW50LndpbmRvdyxcclxuICAgICAgZmFpbGVkX2FmdGVyX2RheXM6IGV2ZW50LmZhaWxlZEFmdGVyLFxyXG4gICAgICBsaWZlY3ljbGVfZGV0YWlsczogZXZlbnQubGlmZWN5Y2xlRGV0YWlscyxcclxuICAgICAgc3RhcnRfb2ZfZGF5X3V0YzogZXZlbnQuc3RhcnRGcm9tLFxyXG4gICAgICBvbl9jb21wbGV0aW9uX29mOiBbZXZlbnQucmVwb3J0SWRdLFxyXG4gICAgICBkb21fdXRjOiBNYXRoLmZsb29yKERhdGUubm93KCkgLyAxMDAwKSxcclxuICAgICAgY29udGludW91c19mYWlsZWRfZGF5czogZXZlbnQuY29udGludW91c19mYWlsZWRfZGF5cyxcclxuICAgICAgcGxhY2Vob2xkZXI6IGV2ZW50LnBsYWNlaG9sZGVyXHJcbiAgICB9O1xyXG4gICAgdGhpcy5mcmVxdWVuY3lQb3B1bGF0aW9uKHBheWxvYWQpO1xyXG4gIH1cclxuXHJcbiAgY2hlY2tCbGFuayhkYXRhOiBzdHJpbmcpIHtcclxuICAgIGxldCB0ZXh0ID0gZGF0YTtcclxuICAgIHJldHVybiB0ZXh0LnJlcGxhY2UoL1xcJm5ic3A7L2csICcnKTtcclxuICB9XHJcblxyXG4gIGdldEZyZXF1ZW5jeVBsYWNlaG9sZGVyKHJlczogYW55KSB7XHJcbiAgICB0cnkge1xyXG4gICAgICBpZiAocmVzLmZyZXF1ZW5jeV9kZXRhaWxzKSB7XHJcbiAgICAgICAgY29uc3QgZnJlcXVlbmN5RGV0YWlscyA9IHJlcz8uZnJlcXVlbmN5X2RldGFpbHMuc3BsaXQoJ34nKTtcclxuICAgICAgICBjb25zdCBmcmVxdWVuY3lUaW1lID0gcmVzPy5mcmVxdWVuY3lfdGltZSA9PT0gJzAwOjAwOjAwJyA/ICcxMjowMCBhbScgOiB0aGlzLmZyZXF1ZW5jeVNlcnZpY2UudGltZUluMTIocmVzPy5mcmVxdWVuY3lfdGltZSk7XHJcbiAgICAgICAgc3dpdGNoIChwYXJzZUludChmcmVxdWVuY3lEZXRhaWxzWzBdKSkge1xyXG4gICAgICAgICAgY2FzZSAxOlxyXG4gICAgICAgICAgICB0aGlzLmdldERhaWx5UGxhY2Vob2xkZXIoZnJlcXVlbmN5RGV0YWlscywgZnJlcXVlbmN5VGltZSk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSAyOlxyXG4gICAgICAgICAgICB0aGlzLmdldFdlZWtseVBsYWNlaG9sZGVyKGZyZXF1ZW5jeURldGFpbHMsIGZyZXF1ZW5jeVRpbWUpO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgMzpcclxuICAgICAgICAgICAgdGhpcy5nZXRNb250aGx5UGxhY2Vob2xkZXIoZnJlcXVlbmN5RGV0YWlscywgZnJlcXVlbmN5VGltZSk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSA3OlxyXG4gICAgICAgICAgICB0aGlzLmdldFF1YXJ0ZXJseVBsYWNlaG9sZGVyKGZyZXF1ZW5jeURldGFpbHMsIGZyZXF1ZW5jeVRpbWUpO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgOTpcclxuICAgICAgICAgICAgdGhpcy5nZXRCaWFubnVhbFBsYWNlaG9sZGVyKGZyZXF1ZW5jeURldGFpbHMsIGZyZXF1ZW5jeVRpbWUpO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgNDpcclxuICAgICAgICAgICAgdGhpcy5nZXRZZWFybHlQbGFjZWhvbGRlcihmcmVxdWVuY3lEZXRhaWxzLCBmcmVxdWVuY3lUaW1lKTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBjYXNlIDA6XHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICBjb25zdCBkYXRlT2JqZWN0ID0gbmV3IERhdGUobW9tZW50KGZyZXF1ZW5jeURldGFpbHNbMV0gKyAnLScgKyBmcmVxdWVuY3lEZXRhaWxzWzJdICsgJy0nICsgZnJlcXVlbmN5RGV0YWlsc1szXSArICcgMDA6MDA6MDAnLCAnWVlZWS1NTS1ERCBISDptbTpzcycpLnVuaXgoKSAqIDEwMDApO1xyXG4gICAgICAgICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbWF4LWxpbmUtbGVuZ3RoXHJcbiAgICAgICAgICAgICAgdGhpcy5mcmVxdWVuY3lQbGFjZWhvbGRlciA9XHJcbiAgICAgICAgICAgICAgICAnT25lIFRpbWUgJyArIGRhdGVPYmplY3QuZ2V0RGF0ZSgpICsgJyAnICsgdGhpcy5zaG9ydE1vbnRoW2RhdGVPYmplY3QuZ2V0TW9udGgoKV0gKyAnICcgKyBkYXRlT2JqZWN0LmdldEZ1bGxZZWFyKCkgKyAnIGJ5ICcgKyBmcmVxdWVuY3lUaW1lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSA4OlxyXG4gICAgICAgICAgICB0aGlzLmdldFJhbmRvbVBsYWNlaG9sZGVyKGZyZXF1ZW5jeURldGFpbHMsIGZyZXF1ZW5jeVRpbWUpO1xyXG4gICAgICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG1heC1saW5lLWxlbmd0aFxyXG5cclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBjYXNlIDEwOlxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgdGhpcy5mcmVxdWVuY3lQbGFjZWhvbGRlciA9ICdZb3UgaGF2ZSBzZWxlY3RlZCBhbiBvbmdvaW5nIGZyZXF1ZW5jeS4nO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSA2OlxyXG4gICAgICAgICAgICB0aGlzLmdldE9uQ29tcGxldGlvbk9mKGZyZXF1ZW5jeURldGFpbHMsIHJlcz8ub25fY29tcGxldGlvbl9vZlswXSk7XHJcblxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG5vLWNvbnNvbGVcclxuICAgICAgY29uc29sZS5sb2coZSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGdldE9uQ29tcGxldGlvbk9mKGZyZXF1ZW5jeURldGFpbHM6IGFueSwgcmVwb3J0SWQ6IG51bWJlcikge1xyXG4gICAgdGhpcy5mcmVxdWVuY3lQbGFjZWhvbGRlciA9IGZyZXF1ZW5jeURldGFpbHNbM10gKyAnICcgKyAocGFyc2VJbnQoZnJlcXVlbmN5RGV0YWlsc1szXSkgPiAxID8gJ2RheXMnIDogJ2RheScpICsgJyBhZnRlciBjb21wbGV0aW9uIG9mICc7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeVNlcnZpY2UuZ2V0T25Db21wbGV0aW9uT2ZSZXNwb25zaWJpbGl0eSgpLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcclxuICAgICAgY29uc3QgcmVwb3J0RGV0YWlscyA9IHJlcy5maW5kKChlbGU6IGFueSkgPT4gZWxlLlJlcG9ydElkID09IHJlcG9ydElkKTtcclxuICAgICAgdGhpcy5mcmVxdWVuY3lQbGFjZWhvbGRlciA9IGZyZXF1ZW5jeURldGFpbHNbM10gKyAnICcgKyAocGFyc2VJbnQoZnJlcXVlbmN5RGV0YWlsc1szXSkgPiAxID8gJ2RheXMnIDogJ2RheScpICsgJyBhZnRlciBjb21wbGV0aW9uIG9mICcgKyAocmVwb3J0RGV0YWlscyA/IHJlcG9ydERldGFpbHMucmVwb3J0X25hbWUgOiAnJyk7XHJcbiAgICAgIHRoaXMubG9hZGVyID0gZmFsc2U7XHJcbiAgICAgIHRoaXMudWlLaXRTZXJ2aWNlLmlzTG9hZGVyID0gZmFsc2U7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldERhaWx5UGxhY2Vob2xkZXIoZnJlcXVlbmN5RGV0YWlsczogYW55LCBmcmVxdWVuY3lUaW1lOiBhbnkpIHtcclxuICAgIHtcclxuICAgICAgZnJlcXVlbmN5RGV0YWlscyA9IGZyZXF1ZW5jeURldGFpbHMubWFwKE51bWJlcik7XHJcbiAgICAgIGlmIChwYXJzZUludChmcmVxdWVuY3lEZXRhaWxzWzNdKSA9PT0gMSkge1xyXG4gICAgICAgIHRoaXMuZnJlcXVlbmN5UGxhY2Vob2xkZXIgPSAnRGFpbHkgYnkgJyArIGZyZXF1ZW5jeVRpbWU7XHJcbiAgICAgIH0gZWxzZSBpZiAocGFyc2VJbnQoZnJlcXVlbmN5RGV0YWlsc1szXSkgPiAxKSB7XHJcbiAgICAgICAgdGhpcy5mcmVxdWVuY3lQbGFjZWhvbGRlciA9ICdFdmVyeSAnICsgcGFyc2VJbnQoZnJlcXVlbmN5RGV0YWlsc1szXSkgKyAnIGRheXMgYnkgJyArIGZyZXF1ZW5jeVRpbWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldFdlZWtseVBsYWNlaG9sZGVyKGZyZXF1ZW5jeURldGFpbHM6IGFueSwgZnJlcXVlbmN5VGltZTogYW55KSB7XHJcbiAgICB7XHJcbiAgICAgIGNvbnN0IHNlbGVjdGVkRGF5ID0gZnJlcXVlbmN5RGV0YWlsc1sxXS5zcGxpdCgnLCcpLm1hcCgoZWxlOiBhbnkpID0+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5mcmVxdWVuY3lTZXJ2aWNlLmRheU5hbWVbcGFyc2VJbnQoZWxlKSAtIDFdO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIGlmIChwYXJzZUludChmcmVxdWVuY3lEZXRhaWxzWzNdKSA9PT0gMSkge1xyXG4gICAgICAgIHRoaXMuZnJlcXVlbmN5UGxhY2Vob2xkZXIgPSAnRXZlcnkgJyArIHNlbGVjdGVkRGF5LmpvaW4oKSArICcgYnkgJyArIGZyZXF1ZW5jeVRpbWU7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHBhcnNlSW50KGZyZXF1ZW5jeURldGFpbHNbM10pID09PSAyKSB7XHJcbiAgICAgICAgdGhpcy5mcmVxdWVuY3lQbGFjZWhvbGRlciA9ICdFdmVyeSBhbHRlcm5hdGUgJyArIHNlbGVjdGVkRGF5LmpvaW4oKSArICcgYnkgJyArIGZyZXF1ZW5jeVRpbWU7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHBhcnNlSW50KGZyZXF1ZW5jeURldGFpbHNbM10pID09PSAzKSB7XHJcbiAgICAgICAgdGhpcy5mcmVxdWVuY3lQbGFjZWhvbGRlciA9ICdFdmVyeSAzcmQgJyArIHNlbGVjdGVkRGF5LmpvaW4oKSArICcgYnkgJyArIGZyZXF1ZW5jeVRpbWU7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHBhcnNlSW50KGZyZXF1ZW5jeURldGFpbHNbM10pID4gMykge1xyXG4gICAgICAgIHRoaXMuZnJlcXVlbmN5UGxhY2Vob2xkZXIgPSAnRXZlcnkgJyArIHBhcnNlSW50KGZyZXF1ZW5jeURldGFpbHNbMV0pICsgJ3RoICcgKyBzZWxlY3RlZERheS5qb2luKCkgKyAnIGJ5ICcgKyBmcmVxdWVuY3lUaW1lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRNb250aGx5UGxhY2Vob2xkZXIoZnJlcXVlbmN5RGV0YWlsczogYW55LCBmcmVxdWVuY3lUaW1lOiBhbnkpIHtcclxuICAgIHtcclxuICAgICAgY29uc3Qgc2VsZWN0ZWRNb250aCA9IGZyZXF1ZW5jeURldGFpbHNbMl0uc3BsaXQoJywnKS5tYXAoKGVsZTogYW55KSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2hvcnRNb250aFtwYXJzZUludChlbGUpIC0gMV07XHJcbiAgICAgIH0pO1xyXG4gICAgICBpZiAocGFyc2VJbnQoZnJlcXVlbmN5RGV0YWlsc1sxXSkgPT09IDEpIHtcclxuICAgICAgICB0aGlzLmZyZXF1ZW5jeVBsYWNlaG9sZGVyID0gJzFzdCBvZiBldmVyeSAnICsgc2VsZWN0ZWRNb250aC5qb2luKCcsICcpICsgJyBieSAnICsgZnJlcXVlbmN5VGltZTtcclxuICAgICAgfSBlbHNlIGlmIChwYXJzZUludChmcmVxdWVuY3lEZXRhaWxzWzFdKSA9PT0gMikge1xyXG4gICAgICAgIHRoaXMuZnJlcXVlbmN5UGxhY2Vob2xkZXIgPSAnMm5kIG9mIGV2ZXJ5ICcgKyBzZWxlY3RlZE1vbnRoLmpvaW4oJywgJykgKyAnIGJ5ICcgKyBmcmVxdWVuY3lUaW1lO1xyXG4gICAgICB9IGVsc2UgaWYgKHBhcnNlSW50KGZyZXF1ZW5jeURldGFpbHNbMV0pID09PSAzKSB7XHJcbiAgICAgICAgdGhpcy5mcmVxdWVuY3lQbGFjZWhvbGRlciA9ICczcmQgb2YgZXZlcnkgJyArIHNlbGVjdGVkTW9udGguam9pbignLCAnKSArICcgYnkgJyArIGZyZXF1ZW5jeVRpbWU7XHJcbiAgICAgIH0gZWxzZSBpZiAocGFyc2VJbnQoZnJlcXVlbmN5RGV0YWlsc1sxXSkgPT09IDIxIHx8IHBhcnNlSW50KGZyZXF1ZW5jeURldGFpbHNbMV0pID09PSAzMSkge1xyXG4gICAgICAgIHRoaXMuZnJlcXVlbmN5UGxhY2Vob2xkZXIgPSBwYXJzZUludChmcmVxdWVuY3lEZXRhaWxzWzFdKSArICdzdCBvZiBldmVyeSAnICsgc2VsZWN0ZWRNb250aC5qb2luKCcsICcpICsgJyBieSAnICsgZnJlcXVlbmN5VGltZTtcclxuICAgICAgfSBlbHNlIGlmIChwYXJzZUludChmcmVxdWVuY3lEZXRhaWxzWzFdKSA9PT0gMjIpIHtcclxuICAgICAgICB0aGlzLmZyZXF1ZW5jeVBsYWNlaG9sZGVyID0gcGFyc2VJbnQoZnJlcXVlbmN5RGV0YWlsc1sxXSkgKyAnbmQgb2YgZXZlcnkgJyArIHNlbGVjdGVkTW9udGguam9pbignLCAnKSArICcgYnkgJyArIGZyZXF1ZW5jeVRpbWU7XHJcbiAgICAgIH0gZWxzZSBpZiAocGFyc2VJbnQoZnJlcXVlbmN5RGV0YWlsc1sxXSkgPT09IDIzKSB7XHJcbiAgICAgICAgdGhpcy5mcmVxdWVuY3lQbGFjZWhvbGRlciA9IHBhcnNlSW50KGZyZXF1ZW5jeURldGFpbHNbMV0pICsgJ3JkIG9mIGV2ZXJ5ICcgKyBzZWxlY3RlZE1vbnRoLmpvaW4oJywgJykgKyAnIGJ5ICcgKyBmcmVxdWVuY3lUaW1lO1xyXG4gICAgICB9IGVsc2UgaWYgKHBhcnNlSW50KGZyZXF1ZW5jeURldGFpbHNbMV0pID4gMykge1xyXG4gICAgICAgIHRoaXMuZnJlcXVlbmN5UGxhY2Vob2xkZXIgPSBwYXJzZUludChmcmVxdWVuY3lEZXRhaWxzWzFdKSArICd0aCBvZiBldmVyeSAnICsgc2VsZWN0ZWRNb250aC5qb2luKCcsICcpICsgJyBieSAnICsgZnJlcXVlbmN5VGltZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0UXVhcnRlcmx5UGxhY2Vob2xkZXIoZnJlcXVlbmN5RGV0YWlsczogYW55LCBmcmVxdWVuY3lUaW1lOiBhbnkpIHtcclxuICAgIHtcclxuICAgICAgY29uc3QgcXVhcnRlcmx5ID0gWydKYW51YXJ5LCBBcHJpbCwgSnVseSwgT2N0b2JlcicsICdGZWJydWFyeSwgTWF5LCBBdWd1c3QsIE5vdmVtYmVyJywgJyBNYXJjaCwgSnVuZSwgU2VwdGVtYmVyLCBEZWNlbWJlciddO1xyXG4gICAgICBpZiAocGFyc2VJbnQoZnJlcXVlbmN5RGV0YWlsc1sxXSkgPT09IDEpIHtcclxuICAgICAgICB0aGlzLmZyZXF1ZW5jeVBsYWNlaG9sZGVyID0gJzFzdCBvZiBldmVyeSAnICsgcXVhcnRlcmx5W3BhcnNlSW50KGZyZXF1ZW5jeURldGFpbHNbMl0uc3BsaXQoJywnKVswXSkgLSAxXSArICcgYnkgJyArIGZyZXF1ZW5jeVRpbWU7XHJcbiAgICAgIH0gZWxzZSBpZiAocGFyc2VJbnQoZnJlcXVlbmN5RGV0YWlsc1sxXSkgPT09IDIpIHtcclxuICAgICAgICB0aGlzLmZyZXF1ZW5jeVBsYWNlaG9sZGVyID0gJzJuZCBvZiBldmVyeSAnICsgcXVhcnRlcmx5W3BhcnNlSW50KGZyZXF1ZW5jeURldGFpbHNbMl0uc3BsaXQoJywnKVswXSkgLSAxXSArICcgYnkgJyArIGZyZXF1ZW5jeVRpbWU7XHJcbiAgICAgIH0gZWxzZSBpZiAocGFyc2VJbnQoZnJlcXVlbmN5RGV0YWlsc1sxXSkgPT09IDMpIHtcclxuICAgICAgICB0aGlzLmZyZXF1ZW5jeVBsYWNlaG9sZGVyID0gJzNyZCBvZiBldmVyeSAnICsgcXVhcnRlcmx5W3BhcnNlSW50KGZyZXF1ZW5jeURldGFpbHNbMl0uc3BsaXQoJywnKVswXSkgLSAxXSArICcgYnkgJyArIGZyZXF1ZW5jeVRpbWU7XHJcbiAgICAgIH0gZWxzZSBpZiAocGFyc2VJbnQoZnJlcXVlbmN5RGV0YWlsc1sxXSkgPT09IDIxIHx8IHBhcnNlSW50KGZyZXF1ZW5jeURldGFpbHNbMV0pID09PSAzMSkge1xyXG4gICAgICAgIHRoaXMuZnJlcXVlbmN5UGxhY2Vob2xkZXIgPSBwYXJzZUludChmcmVxdWVuY3lEZXRhaWxzWzFdKSArICdzdCBvZiBldmVyeSAnICsgcXVhcnRlcmx5W3BhcnNlSW50KGZyZXF1ZW5jeURldGFpbHNbMl0uc3BsaXQoJywnKVswXSkgLSAxXSArICcgYnkgJyArIGZyZXF1ZW5jeVRpbWU7XHJcbiAgICAgIH0gZWxzZSBpZiAocGFyc2VJbnQoZnJlcXVlbmN5RGV0YWlsc1sxXSkgPT09IDIyKSB7XHJcbiAgICAgICAgdGhpcy5mcmVxdWVuY3lQbGFjZWhvbGRlciA9IHBhcnNlSW50KGZyZXF1ZW5jeURldGFpbHNbMV0pICsgJ25kIG9mIGV2ZXJ5ICcgKyBxdWFydGVybHlbcGFyc2VJbnQoZnJlcXVlbmN5RGV0YWlsc1syXS5zcGxpdCgnLCcpWzBdKSAtIDFdICsgJyBieSAnICsgZnJlcXVlbmN5VGltZTtcclxuICAgICAgfSBlbHNlIGlmIChwYXJzZUludChmcmVxdWVuY3lEZXRhaWxzWzFdKSA9PT0gMjMpIHtcclxuICAgICAgICB0aGlzLmZyZXF1ZW5jeVBsYWNlaG9sZGVyID0gcGFyc2VJbnQoZnJlcXVlbmN5RGV0YWlsc1sxXSkgKyAncmQgb2YgZXZlcnkgJyArIHF1YXJ0ZXJseVtwYXJzZUludChmcmVxdWVuY3lEZXRhaWxzWzJdLnNwbGl0KCcsJylbMF0pIC0gMV0gKyAnIGJ5ICcgKyBmcmVxdWVuY3lUaW1lO1xyXG4gICAgICB9IGVsc2UgaWYgKHBhcnNlSW50KGZyZXF1ZW5jeURldGFpbHNbMV0pID4gMykge1xyXG4gICAgICAgIHRoaXMuZnJlcXVlbmN5UGxhY2Vob2xkZXIgPSBwYXJzZUludChmcmVxdWVuY3lEZXRhaWxzWzFdKSArICd0aCBvZiBldmVyeSAnICsgcXVhcnRlcmx5W3BhcnNlSW50KGZyZXF1ZW5jeURldGFpbHNbMl0uc3BsaXQoJywnKVswXSkgLSAxXSArICcgYnkgJyArIGZyZXF1ZW5jeVRpbWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldEJpYW5udWFsUGxhY2Vob2xkZXIoZnJlcXVlbmN5RGV0YWlsczogYW55LCBmcmVxdWVuY3lUaW1lOiBhbnkpIHtcclxuICAgIHtcclxuICAgICAgY29uc3Qgc2VsZWN0ZWRNb250aCA9IGZyZXF1ZW5jeURldGFpbHNbMl0uc3BsaXQoJywnKS5tYXAoKGVsZTogYW55KSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2hvcnRNb250aFtwYXJzZUludChlbGUpIC0gMV07XHJcbiAgICAgIH0pO1xyXG4gICAgICBpZiAocGFyc2VJbnQoZnJlcXVlbmN5RGV0YWlsc1sxXSkgPT09IDEpIHtcclxuICAgICAgICB0aGlzLmZyZXF1ZW5jeVBsYWNlaG9sZGVyID0gJzFzdCBvZiBldmVyeSAnICsgc2VsZWN0ZWRNb250aC5qb2luKCcsICcpICsgJyBieSAnICsgZnJlcXVlbmN5VGltZTtcclxuICAgICAgfSBlbHNlIGlmIChwYXJzZUludChmcmVxdWVuY3lEZXRhaWxzWzFdKSA9PT0gMikge1xyXG4gICAgICAgIHRoaXMuZnJlcXVlbmN5UGxhY2Vob2xkZXIgPSAnMm5kIG9mIGV2ZXJ5ICcgKyBzZWxlY3RlZE1vbnRoLmpvaW4oJywgJykgKyAnIGJ5ICcgKyBmcmVxdWVuY3lUaW1lO1xyXG4gICAgICB9IGVsc2UgaWYgKHBhcnNlSW50KGZyZXF1ZW5jeURldGFpbHNbMV0pID09PSAzKSB7XHJcbiAgICAgICAgdGhpcy5mcmVxdWVuY3lQbGFjZWhvbGRlciA9ICczcmQgb2YgZXZlcnkgJyArIHNlbGVjdGVkTW9udGguam9pbignLCAnKSArICcgYnkgJyArIGZyZXF1ZW5jeVRpbWU7XHJcbiAgICAgIH0gZWxzZSBpZiAocGFyc2VJbnQoZnJlcXVlbmN5RGV0YWlsc1sxXSkgPT09IDIxIHx8IHBhcnNlSW50KGZyZXF1ZW5jeURldGFpbHNbMV0pID09PSAzMSkge1xyXG4gICAgICAgIHRoaXMuZnJlcXVlbmN5UGxhY2Vob2xkZXIgPSBwYXJzZUludChmcmVxdWVuY3lEZXRhaWxzWzFdKSArICdzdCBvZiBldmVyeSAnICsgc2VsZWN0ZWRNb250aC5qb2luKCcsICcpICsgJyBieSAnICsgZnJlcXVlbmN5VGltZTtcclxuICAgICAgfSBlbHNlIGlmIChwYXJzZUludChmcmVxdWVuY3lEZXRhaWxzWzFdKSA9PT0gMjIpIHtcclxuICAgICAgICB0aGlzLmZyZXF1ZW5jeVBsYWNlaG9sZGVyID0gcGFyc2VJbnQoZnJlcXVlbmN5RGV0YWlsc1sxXSkgKyAnbmQgb2YgZXZlcnkgJyArIHNlbGVjdGVkTW9udGguam9pbignLCAnKSArICcgYnkgJyArIGZyZXF1ZW5jeVRpbWU7XHJcbiAgICAgIH0gZWxzZSBpZiAocGFyc2VJbnQoZnJlcXVlbmN5RGV0YWlsc1sxXSkgPT09IDIzKSB7XHJcbiAgICAgICAgdGhpcy5mcmVxdWVuY3lQbGFjZWhvbGRlciA9IHBhcnNlSW50KGZyZXF1ZW5jeURldGFpbHNbMV0pICsgJ3JkIG9mIGV2ZXJ5ICcgKyBzZWxlY3RlZE1vbnRoLmpvaW4oJywgJykgKyAnIGJ5ICcgKyBmcmVxdWVuY3lUaW1lO1xyXG4gICAgICB9IGVsc2UgaWYgKHBhcnNlSW50KGZyZXF1ZW5jeURldGFpbHNbMV0pID4gMykge1xyXG4gICAgICAgIHRoaXMuZnJlcXVlbmN5UGxhY2Vob2xkZXIgPSBwYXJzZUludChmcmVxdWVuY3lEZXRhaWxzWzFdKSArICd0aCBvZiBldmVyeSAnICsgc2VsZWN0ZWRNb250aC5qb2luKCcsICcpICsgJyBieSAnICsgZnJlcXVlbmN5VGltZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0WWVhcmx5UGxhY2Vob2xkZXIoZnJlcXVlbmN5RGV0YWlsczogYW55LCBmcmVxdWVuY3lUaW1lOiBhbnkpIHtcclxuICAgIHtcclxuICAgICAgY29uc3QgeWVhclNlcXVlbmNlID0gcGFyc2VJbnQoZnJlcXVlbmN5RGV0YWlsc1szXSkgPiAwID8gcGFyc2VJbnQoZnJlcXVlbmN5RGV0YWlsc1szXSkgOiAxO1xyXG4gICAgICBpZiAocGFyc2VJbnQoZnJlcXVlbmN5RGV0YWlsc1sxXSkgPCAyKSB7XHJcbiAgICAgICAgaWYgKHBhcnNlSW50KGZyZXF1ZW5jeURldGFpbHNbMV0pID09PSAxKSB7XHJcbiAgICAgICAgICB0aGlzLmZyZXF1ZW5jeVBsYWNlaG9sZGVyID0gJzFzdCBvZiBldmVyeSAnICsgdGhpcy5zaG9ydE1vbnRoW3BhcnNlSW50KGZyZXF1ZW5jeURldGFpbHNbMl0pIC0gMV0gKyAnIGJ5ICcgKyBmcmVxdWVuY3lUaW1lO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAocGFyc2VJbnQoZnJlcXVlbmN5RGV0YWlsc1sxXSkgPT09IDIpIHtcclxuICAgICAgICAgIHRoaXMuZnJlcXVlbmN5UGxhY2Vob2xkZXIgPSAnMm5kIG9mIGV2ZXJ5ICcgKyB0aGlzLnNob3J0TW9udGhbcGFyc2VJbnQoZnJlcXVlbmN5RGV0YWlsc1syXSkgLSAxXSArICcgYnkgJyArIGZyZXF1ZW5jeVRpbWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChwYXJzZUludChmcmVxdWVuY3lEZXRhaWxzWzFdKSA9PT0gMykge1xyXG4gICAgICAgICAgdGhpcy5mcmVxdWVuY3lQbGFjZWhvbGRlciA9ICczcmQgb2YgZXZlcnkgJyArIHRoaXMuc2hvcnRNb250aFtwYXJzZUludChmcmVxdWVuY3lEZXRhaWxzWzJdKSAtIDFdICsgJyBieSAnICsgZnJlcXVlbmN5VGltZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHBhcnNlSW50KGZyZXF1ZW5jeURldGFpbHNbMV0pID4gMykge1xyXG4gICAgICAgICAgdGhpcy5mcmVxdWVuY3lQbGFjZWhvbGRlciA9IHBhcnNlSW50KGZyZXF1ZW5jeURldGFpbHNbMV0pICsgJ3RoIG9mIGV2ZXJ5ICcgKyB0aGlzLnNob3J0TW9udGhbcGFyc2VJbnQoZnJlcXVlbmN5RGV0YWlsc1syXSkgLSAxXSArICcgYnkgJyArIGZyZXF1ZW5jeVRpbWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChwYXJzZUludChmcmVxdWVuY3lEZXRhaWxzWzFdKSA9PT0gMzEgfHwgcGFyc2VJbnQoZnJlcXVlbmN5RGV0YWlsc1sxXSkgPT09IDIxKSB7XHJcbiAgICAgICAgICB0aGlzLmZyZXF1ZW5jeVBsYWNlaG9sZGVyID0gcGFyc2VJbnQoZnJlcXVlbmN5RGV0YWlsc1sxXSkgKyAnc3Qgb2YgZXZlcnkgJyArIHRoaXMuc2hvcnRNb250aFtwYXJzZUludChmcmVxdWVuY3lEZXRhaWxzWzJdKSAtIDFdICsgJyBieSAnICsgZnJlcXVlbmN5VGltZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHBhcnNlSW50KGZyZXF1ZW5jeURldGFpbHNbMV0pID09PSAyMikge1xyXG4gICAgICAgICAgdGhpcy5mcmVxdWVuY3lQbGFjZWhvbGRlciA9IHBhcnNlSW50KGZyZXF1ZW5jeURldGFpbHNbMV0pICsgJ25kIG9mIGV2ZXJ5ICcgKyB0aGlzLnNob3J0TW9udGhbcGFyc2VJbnQoZnJlcXVlbmN5RGV0YWlsc1syXSkgLSAxXSArICcgYnkgJyArIGZyZXF1ZW5jeVRpbWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChwYXJzZUludChmcmVxdWVuY3lEZXRhaWxzWzFdKSA9PT0gMjMpIHtcclxuICAgICAgICAgIHRoaXMuZnJlcXVlbmN5UGxhY2Vob2xkZXIgPSBwYXJzZUludChmcmVxdWVuY3lEZXRhaWxzWzFdKSArICdyZCBvZiBldmVyeSAnICsgdGhpcy5zaG9ydE1vbnRoW3BhcnNlSW50KGZyZXF1ZW5jeURldGFpbHNbMl0pIC0gMV0gKyAnIGJ5ICcgKyBmcmVxdWVuY3lUaW1lO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKHBhcnNlSW50KGZyZXF1ZW5jeURldGFpbHNbMV0pID4gMSkge1xyXG4gICAgICAgIGlmIChwYXJzZUludChmcmVxdWVuY3lEZXRhaWxzWzFdKSA9PT0gMSkge1xyXG4gICAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBtYXgtbGluZS1sZW5ndGhcclxuICAgICAgICAgIHRoaXMuZnJlcXVlbmN5UGxhY2Vob2xkZXIgPSAnMXN0ICcgKyB0aGlzLnNob3J0TW9udGhbcGFyc2VJbnQoZnJlcXVlbmN5RGV0YWlsc1syXSkgLSAxXSArICcsIEludGVydmFsOiBldmVyeSAnICsgeWVhclNlcXVlbmNlICsgJyB5ZWFycyBieSAnICsgZnJlcXVlbmN5VGltZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHBhcnNlSW50KGZyZXF1ZW5jeURldGFpbHNbMV0pID09PSAyKSB7XHJcbiAgICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG1heC1saW5lLWxlbmd0aFxyXG4gICAgICAgICAgdGhpcy5mcmVxdWVuY3lQbGFjZWhvbGRlciA9ICcybmQgJyArIHRoaXMuc2hvcnRNb250aFtwYXJzZUludChmcmVxdWVuY3lEZXRhaWxzWzJdKSAtIDFdICsgJywgSW50ZXJ2YWw6IGV2ZXJ5ICcgKyB5ZWFyU2VxdWVuY2UgKyAnIHllYXJzIGJ5ICcgKyBmcmVxdWVuY3lUaW1lO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAocGFyc2VJbnQoZnJlcXVlbmN5RGV0YWlsc1sxXSkgPT09IDMpIHtcclxuICAgICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbWF4LWxpbmUtbGVuZ3RoXHJcbiAgICAgICAgICB0aGlzLmZyZXF1ZW5jeVBsYWNlaG9sZGVyID0gJzNyZCAnICsgdGhpcy5zaG9ydE1vbnRoW3BhcnNlSW50KGZyZXF1ZW5jeURldGFpbHNbMl0pIC0gMV0gKyAnLCBJbnRlcnZhbDogZXZlcnkgJyArIHllYXJTZXF1ZW5jZSArICcgeWVhcnMgYnkgJyArIGZyZXF1ZW5jeVRpbWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChwYXJzZUludChmcmVxdWVuY3lEZXRhaWxzWzFdKSA+IDMpIHtcclxuICAgICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbWF4LWxpbmUtbGVuZ3RoXHJcbiAgICAgICAgICB0aGlzLmZyZXF1ZW5jeVBsYWNlaG9sZGVyID1cclxuICAgICAgICAgICAgcGFyc2VJbnQoZnJlcXVlbmN5RGV0YWlsc1sxXSkgKyAndGggb2YgICcgKyB0aGlzLnNob3J0TW9udGhbcGFyc2VJbnQoZnJlcXVlbmN5RGV0YWlsc1syXSkgLSAxXSArICcsIEludGVydmFsOiBldmVyeSAnICsgeWVhclNlcXVlbmNlICsgJyB5ZWFycyBieSAnICsgZnJlcXVlbmN5VGltZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHBhcnNlSW50KGZyZXF1ZW5jeURldGFpbHNbMV0pID09PSAzMSB8fCBwYXJzZUludChmcmVxdWVuY3lEZXRhaWxzWzFdKSA9PT0gMjEpIHtcclxuICAgICAgICAgIHRoaXMuZnJlcXVlbmN5UGxhY2Vob2xkZXIgPSBwYXJzZUludChmcmVxdWVuY3lEZXRhaWxzWzFdKSArICdzdCBvZiBldmVyeSAnICsgdGhpcy5zaG9ydE1vbnRoW3BhcnNlSW50KGZyZXF1ZW5jeURldGFpbHNbMl0pIC0gMV0gKyAnIGJ5ICcgKyBmcmVxdWVuY3lUaW1lO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAocGFyc2VJbnQoZnJlcXVlbmN5RGV0YWlsc1sxXSkgPT09IDIyKSB7XHJcbiAgICAgICAgICB0aGlzLmZyZXF1ZW5jeVBsYWNlaG9sZGVyID0gcGFyc2VJbnQoZnJlcXVlbmN5RGV0YWlsc1sxXSkgKyAnbmQgb2YgZXZlcnkgJyArIHRoaXMuc2hvcnRNb250aFtwYXJzZUludChmcmVxdWVuY3lEZXRhaWxzWzJdKSAtIDFdICsgJyBieSAnICsgZnJlcXVlbmN5VGltZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHBhcnNlSW50KGZyZXF1ZW5jeURldGFpbHNbMV0pID09PSAyMykge1xyXG4gICAgICAgICAgdGhpcy5mcmVxdWVuY3lQbGFjZWhvbGRlciA9IHBhcnNlSW50KGZyZXF1ZW5jeURldGFpbHNbMV0pICsgJ3JkIG9mIGV2ZXJ5ICcgKyB0aGlzLnNob3J0TW9udGhbcGFyc2VJbnQoZnJlcXVlbmN5RGV0YWlsc1syXSkgLSAxXSArICcgYnkgJyArIGZyZXF1ZW5jeVRpbWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRSYW5kb21QbGFjZWhvbGRlcihmcmVxdWVuY3lEZXRhaWxzOiBhbnksIGZyZXF1ZW5jeVRpbWU6IGFueSkge1xyXG4gICAgY29uc3QgcXVhcnRlcmx5ID0gWydKYW51YXJ5LCBBcHJpbCwgSnVseSwgT2N0b2JlcicsICdGZWJydWFyeSwgTWF5LCBBdWd1c3QsIE5vdmVtYmVyJywgJyBNYXJjaCwgSnVuZSwgU2VwdGVtYmVyLCBEZWNlbWJlciddO1xyXG4gICAge1xyXG4gICAgICBzd2l0Y2ggKHBhcnNlSW50KGZyZXF1ZW5jeURldGFpbHNbMV0pKSB7XHJcbiAgICAgICAgY2FzZSAxOlxyXG4gICAgICAgICAgdGhpcy5mcmVxdWVuY3lQbGFjZWhvbGRlciA9ICdFdmVyeSB3ZWVrIGZvciAnICsgZnJlcXVlbmN5RGV0YWlsc1szXSArICcgcmFuZG9tIGluc3RhbmNlcyc7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIDI6XHJcbiAgICAgICAgICB0aGlzLmZyZXF1ZW5jeVBsYWNlaG9sZGVyID1cclxuICAgICAgICAgICAgJyBFdmVyeSAnICtcclxuICAgICAgICAgICAgZnJlcXVlbmN5RGV0YWlsc1syXS5zcGxpdCgnLCcpLm1hcCgoZWxlOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zaG9ydE1vbnRoW3BhcnNlSW50KGVsZSkgLSAxXTtcclxuICAgICAgICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IGFsaWduXHJcbiAgICAgICAgICAgIH0pICtcclxuICAgICAgICAgICAgJyBmb3IgJyArXHJcbiAgICAgICAgICAgIGZyZXF1ZW5jeURldGFpbHNbM10gK1xyXG4gICAgICAgICAgICAnIHJhbmRvbSBpbnN0YW5jZXMnO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAzOlxyXG4gICAgICAgICAgdGhpcy5mcmVxdWVuY3lQbGFjZWhvbGRlciA9ICdFdmVyeSAnICsgcXVhcnRlcmx5W3BhcnNlSW50KGZyZXF1ZW5jeURldGFpbHNbMl0uc3BsaXQoJywnKVswXSkgLSAxXSArICcgZm9yICcgKyBmcmVxdWVuY3lEZXRhaWxzWzNdICsgJyByYW5kb20gaW5zdGFuY2VzJztcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgNDpcclxuICAgICAgICAgIHRoaXMuZnJlcXVlbmN5UGxhY2Vob2xkZXIgPSAnRXZlcnkgeWVhciBmb3IgJyArIGZyZXF1ZW5jeURldGFpbHNbM10gKyAnIHJhbmRvbSBpbnN0YW5jZXMnO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkVkaXRXaGF0KGV2ZW50OiBhbnkpIHtcclxuXHJcblxyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7IC8vIHRoaXMgd2lsbCBtYWtlIHRoZSBleGVjdXRpb24gYWZ0ZXIgdGhlIGFib3ZlIGJvb2xlYW4gaGFzIGNoYW5nZWRcclxuICAgICAgdGhpcy5pc0VkaXRXaGF0ID0gZmFsc2U7XHJcbiAgICAgIHRoaXMud2hhdElucHV0Py5uYXRpdmVFbGVtZW50Py5mb2N1cygpO1xyXG4gICAgfSwgMCk7XHJcbiAgfVxyXG5cclxuICBnZXRFZGl0TW9yZU9wdGlvbnMocmVzPzogYW55KSB7XHJcbiAgICBsZXQgY2hlY2tlZE1vcmVPcHRpb25zID0gW11cclxuICAgIGlmICh0aGlzLnJlc3BvbnNpYmlsaXR5Rm9ybS5vYmplY3RpdmUgIT09ICcnKSB7XHJcbiAgICAgIGNoZWNrZWRNb3JlT3B0aW9ucy5wdXNoKCdPQkpFQ1RJVkUnKTtcclxuICAgICAgdGhpcy5tb3JlT3B0aW9ucy5PQkpFQ1RJVkUgPSB0cnVlO1xyXG4gICAgfVxyXG4gICAgY2hlY2tlZE1vcmVPcHRpb25zLnB1c2goJ1JJU0tfQ0xBU1NJRklDQVRJT04nKTtcclxuICAgIHRoaXMubW9yZU9wdGlvbnMuUklTS19DTEFTU0lGSUNBVElPTiA9IHRydWU7XHJcbiAgICBpZiAodGhpcy5yZXNwb25zaWJpbGl0eUZvcm0uY2F0ZWdvcnkubGVuZ3RoID4gMCkge1xyXG4gICAgICBjaGVja2VkTW9yZU9wdGlvbnMucHVzaCgnQ0FURUdPUlknKTtcclxuICAgICAgdGhpcy5tb3JlT3B0aW9ucy5DQVRFR09SWSA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMucmVzcG9uc2liaWxpdHlGb3JtLmZvcm1hdEFuZEV2aWRlbmNlLmV2aWRlbmNlUmVxdWlyZWQgfHwgdGhpcy5yZXNwb25zaWJpbGl0eUZvcm0uZm9ybWF0QW5kRXZpZGVuY2UuZm9ybWF0UmVxdWlyZWQpIHtcclxuICAgICAgY2hlY2tlZE1vcmVPcHRpb25zLnB1c2goJ0ZPUk1BVEVfRVZJREVOQ0UnKTtcclxuICAgICAgdGhpcy5tb3JlT3B0aW9ucy5GT1JNQVRFX0VWSURFTkNFID0gdHJ1ZTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnJlc3BvbnNpYmlsaXR5Rm9ybS5yYy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGNoZWNrZWRNb3JlT3B0aW9ucy5wdXNoKCdSQycpO1xyXG4gICAgICB0aGlzLm1vcmVPcHRpb25zLlJDID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5yZXNwb25zaWJpbGl0eUZvcm0uY2hlY2twb2ludHMubGVuZ3RoID4gMCkge1xyXG4gICAgICBjaGVja2VkTW9yZU9wdGlvbnMucHVzaCgnQ0hFQ0tQT0lOVFMnKTtcclxuICAgICAgdGhpcy5tb3JlT3B0aW9ucy5DSEVDS1BPSU5UUyA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMucmVzcG9uc2liaWxpdHlGb3JtLnJldmlld2Vycy5saXN0Lmxlbmd0aCA+IDApIHtcclxuICAgICAgY2hlY2tlZE1vcmVPcHRpb25zLnB1c2goJ1JFVklFV0VSJyk7XHJcbiAgICAgIHRoaXMubW9yZU9wdGlvbnMuUkVWSUVXRVIgPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBpZiAodGhpcy5yZXNwb25zaWJpbGl0eUZvcm0ub3ZlcnNlZXJzLmxpc3QubGVuZ3RoID4gMCB8fCB0aGlzLnJlc3BvbnNpYmlsaXR5Rm9ybS5vdmVyc2VlcnMubm90aWZ5TGlzdC5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGNoZWNrZWRNb3JlT3B0aW9ucy5wdXNoKCdPVkVSU0VFUicpO1xyXG4gICAgICB0aGlzLm1vcmVPcHRpb25zLk9WRVJTRUVSID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5yZXNwb25zaWJpbGl0eUZvcm0uYXNzdXJhbmNlTGlzdC5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGNoZWNrZWRNb3JlT3B0aW9ucy5wdXNoKCdBU1NVUkFOQ0UnKTtcclxuICAgICAgdGhpcy5tb3JlT3B0aW9ucy5BU1NVUkFOQ0UgPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLnJlc3BvbnNpYmlsaXR5Rm9ybS5yZXF1aXJlc0F1ZGl0TGlzdC5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGNoZWNrZWRNb3JlT3B0aW9ucy5wdXNoKCdSRVFVSVJFU19BVURJVCcpO1xyXG4gICAgICB0aGlzLm1vcmVPcHRpb25zLlJFUVVJUkVTX0FVRElUID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAocmVzLnF1ZXN0aW9ubmFpcmVfdHlwZSA9PT0gJ2Fzc2Vzc21lbnQnKSB7XHJcbiAgICAgIGNoZWNrZWRNb3JlT3B0aW9ucy5wdXNoKCdBU1NFU1NNRU5UJyk7XHJcbiAgICAgIHRoaXMubW9yZU9wdGlvbnMuQVNTRVNTTUVOVCA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgaWYocmVzLnF1ZXN0aW9ubmFpcmVfdHlwZSA9PT0gJ2Fzc2Vzc21lbnRfY2hlY2twb2ludCcpIHtcclxuICAgICAgY2hlY2tlZE1vcmVPcHRpb25zLnB1c2goJ0NIRUNLUE9JTlRTX05FVycpO1xyXG4gICAgICB0aGlzLm1vcmVPcHRpb25zLkNIRUNLUE9JTlRTX05FVyA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5wb3B1bGF0ZU9wdGlvbi5lbWl0KGNoZWNrZWRNb3JlT3B0aW9ucyk7XHJcblxyXG4gIH1cclxuXHJcblxyXG4gIC8vIEZvcm1hdCAmIEV2aWRlbmNlXHJcbiAgdGVzdEZ1bmN0aW9uKCkge1xyXG4gICAgaWYgKHRoaXMucmVzcG9uc2liaWxpdHlGb3JtLnJlc3BvbnNpYmlsaXR5Lm5hbWUudHJpbSgpICE9PSAnJyAmJiB0aGlzLmlzRWRpdFdoYXQgPT09IGZhbHNlKSB7XHJcbiAgICAgIHRoaXMuaXNFZGl0V2hhdCA9IHRydWU7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5yZXNwb25zaWJpbGl0eUZvcm0uZGVzY3JpcHRpb24gPT0gJzxicj4nKSB7XHJcbiAgICAgIHRoaXMucmVzcG9uc2liaWxpdHlGb3JtLmRlc2NyaXB0aW9uID0gJyc7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5yZXNwb25zaWJpbGl0eUZvcm0ub2JqZWN0aXZlID09ICc8YnI+Jykge1xyXG4gICAgICB0aGlzLnJlc3BvbnNpYmlsaXR5Rm9ybS5vYmplY3RpdmUgPSAnJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJldmlld2VyVHlwZUNoYW5nZShldmVudDogYW55KSB7XHJcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5Rm9ybS5yZXZpZXdlcnMuc2VxdWVudGlhbFdvcmtmbG93ID0gZXZlbnQgPT09ICdTRVFVRU5USUFMJyA/IHRydWUgOiBmYWxzZVxyXG4gIH1cclxuXHJcbiAgc2VsZWN0ZWRTYW1wbGVEYXRhKGV2ZW50OiBudW1iZXIpIHtcclxuICAgIGNvbnNvbGUubG9nKGV2ZW50KVxyXG4gICAgdGhpcy5zZWxlY3RlZFNhbXBsZSA9IGV2ZW50O1xyXG4gICAgdGhpcy50ZW1wQ2hlY2tWYWx1ZSA9IGV2ZW50O1xyXG4gIH1cclxuXHJcbiAgLy9wb3B1bGF0ZSBBc3N1cmFuY2UgTGlzdFxyXG4gIHBvcHVsYXRlQXNzdXJhbmNlTGlzdCh0ZXN0UGxhbkNhdGVnb3J5OiBhbnkpIHtcclxuICAgIGNvbnNvbGUubG9nKFwidGVzdFBsYW5DYXRlZ29yeSB0ZXN0UGxhbkNhdGVnb3J5XCIsIHRlc3RQbGFuQ2F0ZWdvcnkpXHJcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5Rm9ybS5hc3N1cmFuY2UgPSB0aGlzLnNldExpc3QodGhpcy5hc3N1cmFuY2VDYXRlZ29yaWVzTGlzdCwgW3Rlc3RQbGFuQ2F0ZWdvcnk/LmNhdGVnb3J5X2lkXSwgJ2NhdGVnb3J5X2lkJyk7XHJcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5Rm9ybS5hdWRpdF9jYXRlZ29yeV9kZXRhaWxzICA9IHRlc3RQbGFuQ2F0ZWdvcnk7XHJcbiAgICBpZih0ZXN0UGxhbkNhdGVnb3J5LnNhbXBsZSkge1xyXG4gICAgICB0aGlzLmlzU2FtcGxlID0gdHJ1ZVxyXG4gICAgICB0aGlzLnNhbXBsZVZhbHVlID0gdGVzdFBsYW5DYXRlZ29yeS5zYW1wbGU7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRTYW1wbGUgPSAwO1xyXG4gICAgfVxyXG5cclxuICAgIGlmKHRlc3RQbGFuQ2F0ZWdvcnkucGVyY2VudGFnZSkge1xyXG4gICAgICB0aGlzLmlzU2FtcGxlID0gdHJ1ZTtcclxuICAgICAgdGhpcy5zYW1wbGVQZXJjZW50YWdlID0gdGVzdFBsYW5DYXRlZ29yeS5wZXJjZW50YWdlO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkU2FtcGxlID0gMTtcclxuICAgIH1cclxuICAgIHRoaXMudGVtcENoZWNrVmFsdWUgPSB0aGlzLnNlbGVjdGVkU2FtcGxlO1xyXG4gICAgdGhpcy5zZW5kQXVkaXRSZW1pbmRlcnNWYWx1ZSA9ICB0ZXN0UGxhbkNhdGVnb3J5LmZyZXF1ZW5jeV9wYXR0ZXJuID8gcGFyc2VJbnQodGVzdFBsYW5DYXRlZ29yeS5mcmVxdWVuY3lfcGF0dGVybi5zcGxpdCgnficpWzJdKSA6IDI7XHJcbiAgICB0aGlzLmF1ZGl0VGltZSA9IG1vbWVudCh0ZXN0UGxhbkNhdGVnb3J5Py5mcmVxdWVuY3lfdGltZSwgJ0hIOm1tOnNzJykuZm9ybWF0KCdISDptbSBhJyk7XHJcblxyXG4gIH1cclxuXHJcbiAgLy9vbiBzYW1wbGUgdG9nZ2xlIG9uL29mZlxyXG4gIGNoZWNrSW5wdXRWYWx1ZShldmVudDogYW55KSB7XHJcbiAgICBsZXQga2V5ID0gZXZlbnQuY2hhckNvZGU7ICAvLyAgICAgICAgIGtleSA9IGV2ZW50LmtleUNvZGU7ICAoQm90aCBjYW4gYmUgdXNlZClcclxuICAgIHJldHVybiAoKGtleSA+IDQ3ICYmIGtleSA8IDU4KSB8fCBrZXkgPT0gNDUgKTtcclxuXHJcblxyXG4gIH1cclxuXHJcbiAgc3dpdGNoRW5hYmxlKGV2ZW50OiBib29sZWFuKSB7XHJcbiAgICBjb25zb2xlLmxvZyhldmVudClcclxuICAgIGlmKGV2ZW50KSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRTYW1wbGUgPSB0aGlzLnRlbXBDaGVja1ZhbHVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZFNhbXBsZSA9IC0xXHJcbiAgICB9XHJcbiAgICBjb25zb2xlLmxvZyggdGhpcy5zZWxlY3RlZFNhbXBsZSlcclxuXHJcbiAgfVxyXG5cclxuICAvLyBUT0RPOiAgc2VsZWN0IEFzc2Vzc21lbnQgbGlzdCBhbmQgc2V0IGlkIHRvIHBheWxvYWRcclxuICBvbkFzc2Vzc21lbnRTZWxlY3QoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5pc0Fzc2Vzc21lbnQgPSBmYWxzZTtcclxuICAgIHRoaXMucmVzcG9uc2liaWxpdHlGb3JtLmFzc2Vzc21lbnQgPSBldmVudDtcclxuICB9XHJcbiAgLy8gVE9ETzogUG9wdWxhdGUgYXNzZXNzbWVudCBkYXRhIGZyb20gYWxyZWFkeSBzZWxlY3RlZCBkYXRhXHJcbiAgLyoqXHJcbiAgICpcclxuICAgKiBAcGFyYW0gYXNzZXNzbWVudERldGFpbHMgOiBzZWxlY3RlZCBhc3Nlc3NtZW50IGRldGFpbHMgbGlrZSBpdCdzIG9iamVjdCBpZCBhbmQgY2F0ZWdvcnlfaWRcclxuICAgKi9cclxuICBnZXRBc3Nlc3NtZW50RGV0YWlscyhhc3Nlc3NtZW50RGV0YWlsczogYW55LCB0eXBlPzogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5U2VydmljZS5nZXRBc3Nlc3NtZW50RGV0YWlsc0J5SUQoYXNzZXNzbWVudERldGFpbHMuYXNzZXNzbWVudF9pZCkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICBpZihyZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKFwiYXNzZXNzbWVudERldGFpbHM/LnF1ZXN0aW9ubmFpcmVfdHlwZSA9PT5cIix0eXBlLCBhc3Nlc3NtZW50RGV0YWlscylcclxuICAgICAgICBpZih0eXBlID09PSAnYXNzZXNzbWVudCcpIHtcclxuXHJcbiAgICAgICAgY29uc3QgY2F0ZWdvcnlEZXRhaWxzID0gcmVzWzBdLmNhdGVnb3J5LmZpbmQoKGVsZTogYW55KSA9PiBlbGUuX2lkID09IGFzc2Vzc21lbnREZXRhaWxzLmNhdGVnb3J5X2lkKTtcclxuICAgICAgICB0aGlzLm1vcmVPcHRpb25zLkFTU0VTU01FTlQgPSB0cnVlO1xyXG4gICAgICAgIGNvbnN0IGFzc2Vzc21lbnREYXRhID0ge1xyXG4gICAgICAgICAgY2F0ZWdvcnlfaWQ6IGFzc2Vzc21lbnREZXRhaWxzLmNhdGVnb3J5X2lkLFxyXG4gICAgICAgICAgYXNzZXNzbWVudF9pZDogYXNzZXNzbWVudERldGFpbHMuYXNzZXNzbWVudF9pZCxcclxuICAgICAgICAgIGFzc2Vzc21lbnREZXRhaWxzOiB7XHJcbiAgICAgICAgICAgIGlkOiBhc3Nlc3NtZW50RGV0YWlscy5hc3Nlc3NtZW50X2lkLFxyXG4gICAgICAgICAgICBhc3Nlc3NtZW50X25hbWU6IHJlc1swXS5hc3Nlc3NtZW50X25hbWUsXHJcbiAgICAgICAgICAgIHF1ZXN0aW9uczogcmVzWzBdLnF1ZXN0aW9uc0NvdW50XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgY2F0ZWdvcnlfZGV0YWlsczogY2F0ZWdvcnlEZXRhaWxzXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMucmVzcG9uc2liaWxpdHlGb3JtLmFzc2Vzc21lbnQgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGFzc2Vzc21lbnREYXRhKSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMubW9yZU9wdGlvbnMuQ0hFQ0tQT0lOVFNfTkVXID0gdHJ1ZTtcclxuICAgICAgICAgIHRoaXMucG9zdEFzc2Vzc21lbnQoe2Fzc2Vzc21lbnREZXRhaWxzOnJlc1swXS5xdWVzdGlvbnN9KVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIC8vIFRPRE86IFJlbW92ZSBjaGVja3BvaW50c1xyXG5cclxuICBvblJlbW92ZUNoZWNrcG9pbnRzKHR5cGU6IHN0cmluZykge1xyXG4gICAgY29uc29sZS5sb2coXCJ0eXBlID09PlwiLCB0eXBlKVxyXG4gICAgdGhpcy5vblJlbW92aW5nQ2hlY2twb2ludC5lbWl0KHR5cGUpXHJcbiAgfVxyXG5cclxuICByZW1vdmVDaGVja3BvaW50KCkge1xyXG4gICAgdGhpcy5tb3JlT3B0aW9ucy5DSEVDS1BPSU5UUyA9IGZhbHNlO1xyXG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eUZvcm0uY2hlY2twb2ludHMgPSBbXTtcclxuICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICpcclxuICAgKiBAcGFyYW0gZXZlbnQgQXNzZXNzbWVudCBkZXRhaWxzXHJcbiAgICovXHJcbiAgICAgcG9zdEFzc2Vzc21lbnQoZXZlbnQ6IGFueSkge1xyXG5cclxuICAgICAgdGhpcy5yZXNwb25zaWJpbGl0eUZvcm0ubmV3X2NoZWNrcG9pbnRzID0gZXZlbnQuYXNzZXNzbWVudERldGFpbHM7XHJcbiAgICAgIHRoaXMuY2hlY2twb2ludENvdW50ID0gZXZlbnQuYXNzZXNzbWVudERldGFpbHMuZWxlbWVudHMubGVuZ3RoO1xyXG4gICAgICBjb25zb2xlLmxvZyhcIm5ldyBjaGVja3BvaW50IHBvcHVsYXRpb25cIiwgdGhpcy5jaGVja3BvaW50Q291bnQpO1xyXG4gICAgICB0aGlzLmNoZWNrcG9pbnRDb3VudFVwZGF0ZWQuZW1pdCh0aGlzLmNoZWNrcG9pbnRDb3VudCk7XHJcbiAgICAgIHRoaXMuc2V0SXNVcGxvYWRlZChmYWxzZSlcclxuICAgIH1cclxuXHJcblxyXG4gICAgc2V0SXNVcGxvYWRlZChldmVudDogYW55KSB7XHJcbiAgICAgIGlmKCFldmVudCkgIHRoaXMuYWN0aXZlRGVzZWxlY3RvcigpXHJcbiAgICAgIHRoaXMuYXV0aFNlcnZpY2UucHJldmlld1BhbmVsLm5leHQoZXZlbnQpO1xyXG5cclxuICAgIH1cclxufVxyXG5cclxuIl19
|