vcomply-workflow-engine 1.1.5 → 1.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (520) hide show
  1. package/bundles/vcomply-workflow-engine.umd.js +209 -63
  2. package/bundles/vcomply-workflow-engine.umd.js.map +1 -1
  3. package/esm2015/lib/add-multiple-responsibility/add-multiple-responsibility.component.js +1 -1
  4. package/esm2015/lib/add-multiple-risk/add-multiple-risk.component.js +1 -1
  5. package/esm2015/lib/interfaces/confirmation-alert.js +1 -1
  6. package/esm2015/lib/log-an-issue/log-an-issue.component.js +1 -1
  7. package/esm2015/lib/more-option/more-option.component.js +52 -6
  8. package/esm2015/lib/more-option/more-option.component.ngfactory.js +2 -3
  9. package/esm2015/lib/sharedComponents/assessment-editor/components/question-type/question-type.component.js +1 -1
  10. package/esm2015/lib/sharedComponents/assessment-editor/create-assessment-container/create-assessment-container.component.js +5 -4
  11. package/esm2015/lib/sharedComponents/assessment-editor/create-assessment-container/create-assessment-container.component.ngfactory.js +88 -82
  12. package/esm2015/lib/sharedComponents/floating-bar/floating-bar.component.js +1 -1
  13. package/esm2015/lib/sharedComponents/format-and-evidence/format-and-evidence.component.js +1 -1
  14. package/esm2015/lib/sharedComponents/responsibility-centers-list/responsibility-centers-list.component.js +2 -2
  15. package/esm2015/lib/sharedComponents/responsibility-centers-list/responsibility-centers-list.component.ngfactory.js +3 -3
  16. package/esm2015/lib/sharedComponents/risk-classification/risk-classification.component.js +1 -1
  17. package/esm2015/lib/workflow-assessment/import-an-assessment/import-an-assessment.component.js +2 -2
  18. package/esm2015/lib/workflow-assessment/workflow-assessment.component.js +1 -1
  19. package/esm2015/lib/workflow-compliance/workflow-compliance.component.js +76 -27
  20. package/esm2015/lib/workflow-compliance/workflow-compliance.component.ngfactory.js +112 -76
  21. package/esm2015/lib/workflow-compliance/workflow-compliance.component.ngsummary.json +1 -1
  22. package/esm2015/lib/workflow-engine-container/workflow-engine-container.component.js +66 -17
  23. package/esm2015/lib/workflow-engine-container/workflow-engine-container.component.ngfactory.js +7 -4
  24. package/esm2015/lib/workflow-engine-container/workflow-engine-container.component.ngsummary.json +1 -1
  25. package/esm2015/lib/workflow-engine.module.ngfactory.js +1 -1
  26. package/esm2015/lib/workflow-policy/workflow-policy.component.js +1 -1
  27. package/esm2015/lib/workflow-risk/workflow-risk.component.js +1 -1
  28. package/esm2015/lib/workflow-survey-form/workflow-survey-form.component.js +1 -1
  29. package/fesm2015/vcomply-workflow-engine.js +208 -63
  30. package/fesm2015/vcomply-workflow-engine.js.map +1 -1
  31. package/lib/add-multiple-responsibility/add-multiple-responsibility.component.d.ts.__ivy_ngcc_bak +81 -0
  32. package/lib/add-multiple-responsibility/add-multiple-responsibility.component.d.ts.map +1 -0
  33. package/lib/add-multiple-risk/add-multiple-risk.component.d.ts.__ivy_ngcc_bak +65 -0
  34. package/lib/add-multiple-risk/add-multiple-risk.component.d.ts.map +1 -0
  35. package/lib/confirmation-alert/confirmation-alert.component.d.ts.__ivy_ngcc_bak +10 -0
  36. package/lib/confirmation-alert/confirmation-alert.component.d.ts.map +1 -0
  37. package/lib/create-documents/create-documents.component.d.ts.__ivy_ngcc_bak +36 -0
  38. package/lib/create-documents/create-documents.component.d.ts.map +1 -0
  39. package/lib/formgroup/cs-checkbox/cs-checkbox.component.d.ts.__ivy_ngcc_bak +13 -0
  40. package/lib/formgroup/cs-checkbox/cs-checkbox.component.d.ts.map +1 -0
  41. package/lib/formgroup/cs-radio/cs-radio.component.d.ts.__ivy_ngcc_bak +13 -0
  42. package/lib/formgroup/cs-radio/cs-radio.component.d.ts.map +1 -0
  43. package/lib/formgroup/cs-radio-group/cs-radio-group.component.d.ts.__ivy_ngcc_bak +5 -0
  44. package/lib/formgroup/cs-radio-group/cs-radio-group.component.d.ts.map +1 -0
  45. package/lib/formgroup/cs-select/cs-select.component.d.ts.__ivy_ngcc_bak +31 -0
  46. package/lib/formgroup/cs-select/cs-select.component.d.ts.map +1 -0
  47. package/lib/formgroup/cs-switch/cs-switch.component.d.ts.__ivy_ngcc_bak +12 -0
  48. package/lib/formgroup/cs-switch/cs-switch.component.d.ts.map +1 -0
  49. package/lib/formgroup/formgroup.module.d.ts.__ivy_ngcc_bak +2 -0
  50. package/lib/formgroup/formgroup.module.d.ts.map +1 -0
  51. package/lib/formgroup/pipes/pascal.pipe.d.ts.__ivy_ngcc_bak +4 -0
  52. package/lib/formgroup/pipes/pascal.pipe.d.ts.map +1 -0
  53. package/lib/formgroup/select/cs-option/cs-option.component.d.ts.__ivy_ngcc_bak +15 -0
  54. package/lib/formgroup/select/cs-option/cs-option.component.d.ts.map +1 -0
  55. package/lib/formgroup/select/cs-select/cs-select.component.d.ts.__ivy_ngcc_bak +34 -0
  56. package/lib/formgroup/select/cs-select/cs-select.component.d.ts.map +1 -0
  57. package/lib/formgroup/select/select.module.d.ts.__ivy_ngcc_bak +2 -0
  58. package/lib/formgroup/select/select.module.d.ts.map +1 -0
  59. package/lib/formgroup/select/select.service.d.ts.__ivy_ngcc_bak +15 -0
  60. package/lib/formgroup/select/select.service.d.ts.map +1 -0
  61. package/lib/interfaces/confirmation-alert.d.ts +1 -0
  62. package/lib/log-an-issue/log-an-issue.component.d.ts.__ivy_ngcc_bak +217 -0
  63. package/lib/log-an-issue/log-an-issue.component.d.ts.map +1 -0
  64. package/lib/more-option/more-option.component.d.ts +1 -1
  65. package/lib/more-option/more-option.component.d.ts.__ivy_ngcc_bak +17 -0
  66. package/lib/more-option/more-option.component.d.ts.map +1 -0
  67. package/lib/pipes/data-type.pipe.d.ts.__ivy_ngcc_bak +4 -0
  68. package/lib/pipes/data-type.pipe.d.ts.map +1 -0
  69. package/lib/pipes/list-mapper.pipe.d.ts.__ivy_ngcc_bak +4 -0
  70. package/lib/pipes/list-mapper.pipe.d.ts.map +1 -0
  71. package/lib/pipes/search.pipe.d.ts.__ivy_ngcc_bak +4 -0
  72. package/lib/pipes/search.pipe.d.ts.map +1 -0
  73. package/lib/pipes/space-breaker.pipe.d.ts.__ivy_ngcc_bak +4 -0
  74. package/lib/pipes/space-breaker.pipe.d.ts.map +1 -0
  75. package/lib/pipes/uncategorized-filter.pipe.d.ts.__ivy_ngcc_bak +4 -0
  76. package/lib/pipes/uncategorized-filter.pipe.d.ts.map +1 -0
  77. package/lib/pipes/user-filter.pipe.d.ts.__ivy_ngcc_bak +4 -0
  78. package/lib/pipes/user-filter.pipe.d.ts.map +1 -0
  79. package/lib/sharedComponents/assessment-editor/components/add-logic/add-logic.component.d.ts.__ivy_ngcc_bak +117 -0
  80. package/lib/sharedComponents/assessment-editor/components/add-logic/add-logic.component.d.ts.map +1 -0
  81. package/lib/sharedComponents/assessment-editor/components/add-page-details/add-page-details.component.d.ts.__ivy_ngcc_bak +18 -0
  82. package/lib/sharedComponents/assessment-editor/components/add-page-details/add-page-details.component.d.ts.map +1 -0
  83. package/lib/sharedComponents/assessment-editor/components/add-response-set-popup/add-response-set-popup.component.d.ts.__ivy_ngcc_bak +10 -0
  84. package/lib/sharedComponents/assessment-editor/components/add-response-set-popup/add-response-set-popup.component.d.ts.map +1 -0
  85. package/lib/sharedComponents/assessment-editor/components/add-segment-popup/add-segment-popup.component.d.ts.__ivy_ngcc_bak +22 -0
  86. package/lib/sharedComponents/assessment-editor/components/add-segment-popup/add-segment-popup.component.d.ts.map +1 -0
  87. package/lib/sharedComponents/assessment-editor/components/assessment-settings/assessment-settings.component.d.ts.__ivy_ngcc_bak +47 -0
  88. package/lib/sharedComponents/assessment-editor/components/assessment-settings/assessment-settings.component.d.ts.map +1 -0
  89. package/lib/sharedComponents/assessment-editor/components/build/build.module.d.ts.__ivy_ngcc_bak +2 -0
  90. package/lib/sharedComponents/assessment-editor/components/build/build.module.d.ts.map +1 -0
  91. package/lib/sharedComponents/assessment-editor/components/build/checkbox/checkbox.component.d.ts.__ivy_ngcc_bak +11 -0
  92. package/lib/sharedComponents/assessment-editor/components/build/checkbox/checkbox.component.d.ts.map +1 -0
  93. package/lib/sharedComponents/assessment-editor/components/build/choice-settings-panel/choice-settings-panel.component.d.ts.__ivy_ngcc_bak +16 -0
  94. package/lib/sharedComponents/assessment-editor/components/build/choice-settings-panel/choice-settings-panel.component.d.ts.map +1 -0
  95. package/lib/sharedComponents/assessment-editor/components/build/date-time/date-time.component.d.ts.__ivy_ngcc_bak +6 -0
  96. package/lib/sharedComponents/assessment-editor/components/build/date-time/date-time.component.d.ts.map +1 -0
  97. package/lib/sharedComponents/assessment-editor/components/build/dropdown/dropdown.component.d.ts.__ivy_ngcc_bak +11 -0
  98. package/lib/sharedComponents/assessment-editor/components/build/dropdown/dropdown.component.d.ts.map +1 -0
  99. package/lib/sharedComponents/assessment-editor/components/build/image-choice/image-choice.component.d.ts.__ivy_ngcc_bak +5 -0
  100. package/lib/sharedComponents/assessment-editor/components/build/image-choice/image-choice.component.d.ts.map +1 -0
  101. package/lib/sharedComponents/assessment-editor/components/build/matrix-dropdown/matrix-dropdown.component.d.ts.__ivy_ngcc_bak +5 -0
  102. package/lib/sharedComponents/assessment-editor/components/build/matrix-dropdown/matrix-dropdown.component.d.ts.map +1 -0
  103. package/lib/sharedComponents/assessment-editor/components/build/matrix-rating-scale/matrix-rating-scale.component.d.ts.__ivy_ngcc_bak +5 -0
  104. package/lib/sharedComponents/assessment-editor/components/build/matrix-rating-scale/matrix-rating-scale.component.d.ts.map +1 -0
  105. package/lib/sharedComponents/assessment-editor/components/build/multiple-choice/multiple-choice.component.d.ts.__ivy_ngcc_bak +11 -0
  106. package/lib/sharedComponents/assessment-editor/components/build/multiple-choice/multiple-choice.component.d.ts.map +1 -0
  107. package/lib/sharedComponents/assessment-editor/components/build/multiple-textbox/multiple-textbox.component.d.ts.__ivy_ngcc_bak +5 -0
  108. package/lib/sharedComponents/assessment-editor/components/build/multiple-textbox/multiple-textbox.component.d.ts.map +1 -0
  109. package/lib/sharedComponents/assessment-editor/components/build/ranking/ranking.component.d.ts.__ivy_ngcc_bak +5 -0
  110. package/lib/sharedComponents/assessment-editor/components/build/ranking/ranking.component.d.ts.map +1 -0
  111. package/lib/sharedComponents/assessment-editor/components/build/slider/slider.component.d.ts.__ivy_ngcc_bak +5 -0
  112. package/lib/sharedComponents/assessment-editor/components/build/slider/slider.component.d.ts.map +1 -0
  113. package/lib/sharedComponents/assessment-editor/components/build/star-rating/star-rating.component.d.ts.__ivy_ngcc_bak +9 -0
  114. package/lib/sharedComponents/assessment-editor/components/build/star-rating/star-rating.component.d.ts.map +1 -0
  115. package/lib/sharedComponents/assessment-editor/components/build/thank-you/thank-you.component.d.ts.__ivy_ngcc_bak +5 -0
  116. package/lib/sharedComponents/assessment-editor/components/build/thank-you/thank-you.component.d.ts.map +1 -0
  117. package/lib/sharedComponents/assessment-editor/components/build/weightage-selector/weightage-selector.component.d.ts.__ivy_ngcc_bak +12 -0
  118. package/lib/sharedComponents/assessment-editor/components/build/weightage-selector/weightage-selector.component.d.ts.map +1 -0
  119. package/lib/sharedComponents/assessment-editor/components/build/welcome/welcome.component.d.ts.__ivy_ngcc_bak +5 -0
  120. package/lib/sharedComponents/assessment-editor/components/build/welcome/welcome.component.d.ts.map +1 -0
  121. package/lib/sharedComponents/assessment-editor/components/editor-wrapper/editor-wrapper.component.d.ts.__ivy_ngcc_bak +56 -0
  122. package/lib/sharedComponents/assessment-editor/components/editor-wrapper/editor-wrapper.component.d.ts.map +1 -0
  123. package/lib/sharedComponents/assessment-editor/components/logic/logic.component.d.ts.__ivy_ngcc_bak +24 -0
  124. package/lib/sharedComponents/assessment-editor/components/logic/logic.component.d.ts.map +1 -0
  125. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-checkbox/logic-checkbox.component.d.ts.__ivy_ngcc_bak +8 -0
  126. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-checkbox/logic-checkbox.component.d.ts.map +1 -0
  127. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-comment-box/logic-comment-box.component.d.ts.__ivy_ngcc_bak +5 -0
  128. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-comment-box/logic-comment-box.component.d.ts.map +1 -0
  129. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-date-time/logic-date-time.component.d.ts.__ivy_ngcc_bak +14 -0
  130. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-date-time/logic-date-time.component.d.ts.map +1 -0
  131. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-dropdown/logic-dropdown.component.d.ts.__ivy_ngcc_bak +9 -0
  132. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-dropdown/logic-dropdown.component.d.ts.map +1 -0
  133. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-image-choice/logic-image-choice.component.d.ts.__ivy_ngcc_bak +5 -0
  134. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-image-choice/logic-image-choice.component.d.ts.map +1 -0
  135. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-choice/logic-multiple-choice.component.d.ts.__ivy_ngcc_bak +8 -0
  136. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-choice/logic-multiple-choice.component.d.ts.map +1 -0
  137. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-textbox/logic-multiple-textbox.component.d.ts.__ivy_ngcc_bak +5 -0
  138. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-textbox/logic-multiple-textbox.component.d.ts.map +1 -0
  139. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-questions.module.d.ts.__ivy_ngcc_bak +2 -0
  140. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-questions.module.d.ts.map +1 -0
  141. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-ranking/logic-ranking.component.d.ts.__ivy_ngcc_bak +5 -0
  142. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-ranking/logic-ranking.component.d.ts.map +1 -0
  143. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-single-textbox/logic-single-textbox.component.d.ts.__ivy_ngcc_bak +9 -0
  144. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-single-textbox/logic-single-textbox.component.d.ts.map +1 -0
  145. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-slider/logic-slider.component.d.ts.__ivy_ngcc_bak +5 -0
  146. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-slider/logic-slider.component.d.ts.map +1 -0
  147. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-star-rating/logic-star-rating.component.d.ts.__ivy_ngcc_bak +5 -0
  148. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-star-rating/logic-star-rating.component.d.ts.map +1 -0
  149. package/lib/sharedComponents/assessment-editor/components/move/move.component.d.ts.__ivy_ngcc_bak +22 -0
  150. package/lib/sharedComponents/assessment-editor/components/move/move.component.d.ts.map +1 -0
  151. package/lib/sharedComponents/assessment-editor/components/page-header/page-header.component.d.ts.__ivy_ngcc_bak +8 -0
  152. package/lib/sharedComponents/assessment-editor/components/page-header/page-header.component.d.ts.map +1 -0
  153. package/lib/sharedComponents/assessment-editor/components/pipes/current-page-question.pipe.d.ts.__ivy_ngcc_bak +4 -0
  154. package/lib/sharedComponents/assessment-editor/components/pipes/current-page-question.pipe.d.ts.map +1 -0
  155. package/lib/sharedComponents/assessment-editor/components/pipes/error-message.pipe.d.ts.__ivy_ngcc_bak +4 -0
  156. package/lib/sharedComponents/assessment-editor/components/pipes/error-message.pipe.d.ts.map +1 -0
  157. package/lib/sharedComponents/assessment-editor/components/pipes/formatter.pipe.d.ts.__ivy_ngcc_bak +4 -0
  158. package/lib/sharedComponents/assessment-editor/components/pipes/formatter.pipe.d.ts.map +1 -0
  159. package/lib/sharedComponents/assessment-editor/components/pipes/question-filter.pipe.d.ts.__ivy_ngcc_bak +4 -0
  160. package/lib/sharedComponents/assessment-editor/components/pipes/question-filter.pipe.d.ts.map +1 -0
  161. package/lib/sharedComponents/assessment-editor/components/pipes/question-page-filter.pipe.d.ts.__ivy_ngcc_bak +4 -0
  162. package/lib/sharedComponents/assessment-editor/components/pipes/question-page-filter.pipe.d.ts.map +1 -0
  163. package/lib/sharedComponents/assessment-editor/components/pipes/question-parser.pipe.d.ts.__ivy_ngcc_bak +4 -0
  164. package/lib/sharedComponents/assessment-editor/components/pipes/question-parser.pipe.d.ts.map +1 -0
  165. package/lib/sharedComponents/assessment-editor/components/pipes/type-of.pipe.d.ts.__ivy_ngcc_bak +4 -0
  166. package/lib/sharedComponents/assessment-editor/components/pipes/type-of.pipe.d.ts.map +1 -0
  167. package/lib/sharedComponents/assessment-editor/components/preview/preview-checkbox/preview-checkbox.component.d.ts.__ivy_ngcc_bak +8 -0
  168. package/lib/sharedComponents/assessment-editor/components/preview/preview-checkbox/preview-checkbox.component.d.ts.map +1 -0
  169. package/lib/sharedComponents/assessment-editor/components/preview/preview-comment-box/preview-comment-box.component.d.ts.__ivy_ngcc_bak +5 -0
  170. package/lib/sharedComponents/assessment-editor/components/preview/preview-comment-box/preview-comment-box.component.d.ts.map +1 -0
  171. package/lib/sharedComponents/assessment-editor/components/preview/preview-date-time/preview-date-time.component.d.ts.__ivy_ngcc_bak +11 -0
  172. package/lib/sharedComponents/assessment-editor/components/preview/preview-date-time/preview-date-time.component.d.ts.map +1 -0
  173. package/lib/sharedComponents/assessment-editor/components/preview/preview-dropdown/preview-dropdown.component.d.ts.__ivy_ngcc_bak +8 -0
  174. package/lib/sharedComponents/assessment-editor/components/preview/preview-dropdown/preview-dropdown.component.d.ts.map +1 -0
  175. package/lib/sharedComponents/assessment-editor/components/preview/preview-file-upload/preview-file-upload.component.d.ts.__ivy_ngcc_bak +8 -0
  176. package/lib/sharedComponents/assessment-editor/components/preview/preview-file-upload/preview-file-upload.component.d.ts.map +1 -0
  177. package/lib/sharedComponents/assessment-editor/components/preview/preview-image-choice/preview-image-choice.component.d.ts.__ivy_ngcc_bak +5 -0
  178. package/lib/sharedComponents/assessment-editor/components/preview/preview-image-choice/preview-image-choice.component.d.ts.map +1 -0
  179. package/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-dropdown/preview-matrix-dropdown.component.d.ts.__ivy_ngcc_bak +7 -0
  180. package/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-dropdown/preview-matrix-dropdown.component.d.ts.map +1 -0
  181. package/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-rating-scale/preview-matrix-rating-scale.component.d.ts.__ivy_ngcc_bak +7 -0
  182. package/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-rating-scale/preview-matrix-rating-scale.component.d.ts.map +1 -0
  183. package/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-choice/preview-multiple-choice.component.d.ts.__ivy_ngcc_bak +8 -0
  184. package/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-choice/preview-multiple-choice.component.d.ts.map +1 -0
  185. package/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-textbox/preview-multiple-textbox.component.d.ts.__ivy_ngcc_bak +5 -0
  186. package/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-textbox/preview-multiple-textbox.component.d.ts.map +1 -0
  187. package/lib/sharedComponents/assessment-editor/components/preview/preview-ranking/preview-ranking.component.d.ts.__ivy_ngcc_bak +5 -0
  188. package/lib/sharedComponents/assessment-editor/components/preview/preview-ranking/preview-ranking.component.d.ts.map +1 -0
  189. package/lib/sharedComponents/assessment-editor/components/preview/preview-single-textbox/preview-single-textbox.component.d.ts.__ivy_ngcc_bak +6 -0
  190. package/lib/sharedComponents/assessment-editor/components/preview/preview-single-textbox/preview-single-textbox.component.d.ts.map +1 -0
  191. package/lib/sharedComponents/assessment-editor/components/preview/preview-slider/preview-slider.component.d.ts.__ivy_ngcc_bak +5 -0
  192. package/lib/sharedComponents/assessment-editor/components/preview/preview-slider/preview-slider.component.d.ts.map +1 -0
  193. package/lib/sharedComponents/assessment-editor/components/preview/preview-star-rating/preview-star-rating.component.d.ts.__ivy_ngcc_bak +5 -0
  194. package/lib/sharedComponents/assessment-editor/components/preview/preview-star-rating/preview-star-rating.component.d.ts.map +1 -0
  195. package/lib/sharedComponents/assessment-editor/components/preview/preview-wrapper/preview-wrapper.component.d.ts.__ivy_ngcc_bak +27 -0
  196. package/lib/sharedComponents/assessment-editor/components/preview/preview-wrapper/preview-wrapper.component.d.ts.map +1 -0
  197. package/lib/sharedComponents/assessment-editor/components/preview/preview.module.d.ts.__ivy_ngcc_bak +2 -0
  198. package/lib/sharedComponents/assessment-editor/components/preview/preview.module.d.ts.map +1 -0
  199. package/lib/sharedComponents/assessment-editor/components/preview/thank-you/thank-you.component.d.ts.__ivy_ngcc_bak +5 -0
  200. package/lib/sharedComponents/assessment-editor/components/preview/thank-you/thank-you.component.d.ts.map +1 -0
  201. package/lib/sharedComponents/assessment-editor/components/preview/welcome/welcome.component.d.ts.__ivy_ngcc_bak +5 -0
  202. package/lib/sharedComponents/assessment-editor/components/preview/welcome/welcome.component.d.ts.map +1 -0
  203. package/lib/sharedComponents/assessment-editor/components/question-type/question-type.component.d.ts.__ivy_ngcc_bak +6 -0
  204. package/lib/sharedComponents/assessment-editor/components/question-type/question-type.component.d.ts.map +1 -0
  205. package/lib/sharedComponents/assessment-editor/components/quick-settings/quick-settings.component.d.ts.__ivy_ngcc_bak +28 -0
  206. package/lib/sharedComponents/assessment-editor/components/quick-settings/quick-settings.component.d.ts.map +1 -0
  207. package/lib/sharedComponents/assessment-editor/components/response-selector/response-selector.component.d.ts.__ivy_ngcc_bak +11 -0
  208. package/lib/sharedComponents/assessment-editor/components/response-selector/response-selector.component.d.ts.map +1 -0
  209. package/lib/sharedComponents/assessment-editor/components/setting-anonymous/setting-anonymous.component.d.ts.__ivy_ngcc_bak +16 -0
  210. package/lib/sharedComponents/assessment-editor/components/setting-anonymous/setting-anonymous.component.d.ts.map +1 -0
  211. package/lib/sharedComponents/assessment-editor/components/setting-response-segment/setting-response-segment.component.d.ts.__ivy_ngcc_bak +47 -0
  212. package/lib/sharedComponents/assessment-editor/components/setting-response-segment/setting-response-segment.component.d.ts.map +1 -0
  213. package/lib/sharedComponents/assessment-editor/components/single-line-editor/single-line-editor.component.d.ts.__ivy_ngcc_bak +35 -0
  214. package/lib/sharedComponents/assessment-editor/components/single-line-editor/single-line-editor.component.d.ts.map +1 -0
  215. package/lib/sharedComponents/assessment-editor/components/toolkit/toolkit.component.d.ts.__ivy_ngcc_bak +8 -0
  216. package/lib/sharedComponents/assessment-editor/components/toolkit/toolkit.component.d.ts.map +1 -0
  217. package/lib/sharedComponents/assessment-editor/components/welcome-thankyou/welcome-thankyou.component.d.ts.__ivy_ngcc_bak +12 -0
  218. package/lib/sharedComponents/assessment-editor/components/welcome-thankyou/welcome-thankyou.component.d.ts.map +1 -0
  219. package/lib/sharedComponents/assessment-editor/create-assessment-container/create-assessment-container.component.d.ts.__ivy_ngcc_bak +66 -0
  220. package/lib/sharedComponents/assessment-editor/create-assessment-container/create-assessment-container.component.d.ts.map +1 -0
  221. package/lib/sharedComponents/assessment-editor/create-assessment.module.d.ts.__ivy_ngcc_bak +2 -0
  222. package/lib/sharedComponents/assessment-editor/create-assessment.module.d.ts.map +1 -0
  223. package/lib/sharedComponents/assessment-editor/services/editor.service.d.ts.__ivy_ngcc_bak +185 -0
  224. package/lib/sharedComponents/assessment-editor/services/editor.service.d.ts.map +1 -0
  225. package/lib/sharedComponents/assessment-editor/services/result-criteria.service.d.ts.__ivy_ngcc_bak +4 -0
  226. package/lib/sharedComponents/assessment-editor/services/result-criteria.service.d.ts.map +1 -0
  227. package/lib/sharedComponents/assessment-editor/services/validator.service.d.ts.__ivy_ngcc_bak +31 -0
  228. package/lib/sharedComponents/assessment-editor/services/validator.service.d.ts.map +1 -0
  229. package/lib/sharedComponents/assessment-list/assessment-list-loader/assessment-list-loader.component.d.ts.__ivy_ngcc_bak +5 -0
  230. package/lib/sharedComponents/assessment-list/assessment-list-loader/assessment-list-loader.component.d.ts.map +1 -0
  231. package/lib/sharedComponents/assessment-list/assessment-list-sub-loader/assessment-list-sub-loader.component.d.ts.__ivy_ngcc_bak +5 -0
  232. package/lib/sharedComponents/assessment-list/assessment-list-sub-loader/assessment-list-sub-loader.component.d.ts.map +1 -0
  233. package/lib/sharedComponents/assessment-list/assessment-list.component.d.ts.__ivy_ngcc_bak +80 -0
  234. package/lib/sharedComponents/assessment-list/assessment-list.component.d.ts.map +1 -0
  235. package/lib/sharedComponents/assessment-list/service/assessment.service.d.ts.__ivy_ngcc_bak +10 -0
  236. package/lib/sharedComponents/assessment-list/service/assessment.service.d.ts.map +1 -0
  237. package/lib/sharedComponents/assessment-preview/assessment-preview.module.d.ts.__ivy_ngcc_bak +2 -0
  238. package/lib/sharedComponents/assessment-preview/assessment-preview.module.d.ts.map +1 -0
  239. package/lib/sharedComponents/assessment-preview/checkbox-question/checkbox-question.component.d.ts.__ivy_ngcc_bak +9 -0
  240. package/lib/sharedComponents/assessment-preview/checkbox-question/checkbox-question.component.d.ts.map +1 -0
  241. package/lib/sharedComponents/assessment-preview/date-time/date-time.component.d.ts.__ivy_ngcc_bak +12 -0
  242. package/lib/sharedComponents/assessment-preview/date-time/date-time.component.d.ts.map +1 -0
  243. package/lib/sharedComponents/assessment-preview/device/device.component.d.ts.__ivy_ngcc_bak +7 -0
  244. package/lib/sharedComponents/assessment-preview/device/device.component.d.ts.map +1 -0
  245. package/lib/sharedComponents/assessment-preview/file-upload/file-upload.component.d.ts.__ivy_ngcc_bak +7 -0
  246. package/lib/sharedComponents/assessment-preview/file-upload/file-upload.component.d.ts.map +1 -0
  247. package/lib/sharedComponents/assessment-preview/page-header/page-header.component.d.ts.__ivy_ngcc_bak +7 -0
  248. package/lib/sharedComponents/assessment-preview/page-header/page-header.component.d.ts.map +1 -0
  249. package/lib/sharedComponents/assessment-preview/preview/preview.component.d.ts.__ivy_ngcc_bak +11 -0
  250. package/lib/sharedComponents/assessment-preview/preview/preview.component.d.ts.map +1 -0
  251. package/lib/sharedComponents/assessment-preview/preview-container/preview-container.component.d.ts.__ivy_ngcc_bak +5 -0
  252. package/lib/sharedComponents/assessment-preview/preview-container/preview-container.component.d.ts.map +1 -0
  253. package/lib/sharedComponents/assessment-preview/quick-settings/quick-settings.component.d.ts.__ivy_ngcc_bak +6 -0
  254. package/lib/sharedComponents/assessment-preview/quick-settings/quick-settings.component.d.ts.map +1 -0
  255. package/lib/sharedComponents/assessment-preview/radio-question/radio-question.component.d.ts.__ivy_ngcc_bak +9 -0
  256. package/lib/sharedComponents/assessment-preview/radio-question/radio-question.component.d.ts.map +1 -0
  257. package/lib/sharedComponents/assessment-preview/select-question/select-question.component.d.ts.__ivy_ngcc_bak +9 -0
  258. package/lib/sharedComponents/assessment-preview/select-question/select-question.component.d.ts.map +1 -0
  259. package/lib/sharedComponents/assessment-preview/single-textbox/single-textbox.component.d.ts.__ivy_ngcc_bak +7 -0
  260. package/lib/sharedComponents/assessment-preview/single-textbox/single-textbox.component.d.ts.map +1 -0
  261. package/lib/sharedComponents/assessment-preview/welcome/welcome.component.d.ts.__ivy_ngcc_bak +6 -0
  262. package/lib/sharedComponents/assessment-preview/welcome/welcome.component.d.ts.map +1 -0
  263. package/lib/sharedComponents/audit-category-list/audit-category-list.component.d.ts.__ivy_ngcc_bak +19 -0
  264. package/lib/sharedComponents/audit-category-list/audit-category-list.component.d.ts.map +1 -0
  265. package/lib/sharedComponents/bulk-responsibility-view/bulk-responsibility-view.component.d.ts.__ivy_ngcc_bak +14 -0
  266. package/lib/sharedComponents/bulk-responsibility-view/bulk-responsibility-view.component.d.ts.map +1 -0
  267. package/lib/sharedComponents/bulk-view/bulk-view.component.d.ts.__ivy_ngcc_bak +17 -0
  268. package/lib/sharedComponents/bulk-view/bulk-view.component.d.ts.map +1 -0
  269. package/lib/sharedComponents/category-list/category-list.component.d.ts.__ivy_ngcc_bak +19 -0
  270. package/lib/sharedComponents/category-list/category-list.component.d.ts.map +1 -0
  271. package/lib/sharedComponents/category-multiselect/category-multi-select.component.d.ts.__ivy_ngcc_bak +28 -0
  272. package/lib/sharedComponents/category-multiselect/category-multi-select.component.d.ts.map +1 -0
  273. package/lib/sharedComponents/checkbox-list/checkbox-list.component.d.ts.__ivy_ngcc_bak +22 -0
  274. package/lib/sharedComponents/checkbox-list/checkbox-list.component.d.ts.map +1 -0
  275. package/lib/sharedComponents/checkpoint/checkpoints/checkpoints.component.d.ts.__ivy_ngcc_bak +35 -0
  276. package/lib/sharedComponents/checkpoint/checkpoints/checkpoints.component.d.ts.map +1 -0
  277. package/lib/sharedComponents/checkpoint/checkpoints-list/checkpoints-list.component.d.ts.__ivy_ngcc_bak +8 -0
  278. package/lib/sharedComponents/checkpoint/checkpoints-list/checkpoints-list.component.d.ts.map +1 -0
  279. package/lib/sharedComponents/checkpoint/checkpoints-questions/checkpoints-questions.component.d.ts.__ivy_ngcc_bak +38 -0
  280. package/lib/sharedComponents/checkpoint/checkpoints-questions/checkpoints-questions.component.d.ts.map +1 -0
  281. package/lib/sharedComponents/checkpoint-floating-bar/checkpoint-floating-bar.component.d.ts.__ivy_ngcc_bak +15 -0
  282. package/lib/sharedComponents/checkpoint-floating-bar/checkpoint-floating-bar.component.d.ts.map +1 -0
  283. package/lib/sharedComponents/checkpoint-policy/checkpoints-policy-container/checkpoints-policy-container.component.d.ts.__ivy_ngcc_bak +16 -0
  284. package/lib/sharedComponents/checkpoint-policy/checkpoints-policy-container/checkpoints-policy-container.component.d.ts.map +1 -0
  285. package/lib/sharedComponents/checkpoint-policy/checkpoints-policy-list/checkpoints-policy-list.component.d.ts.__ivy_ngcc_bak +5 -0
  286. package/lib/sharedComponents/checkpoint-policy/checkpoints-policy-list/checkpoints-policy-list.component.d.ts.map +1 -0
  287. package/lib/sharedComponents/checkpoint-policy/checkpoints-policy-questions/checkpoints-policy-questions.component.d.ts.__ivy_ngcc_bak +33 -0
  288. package/lib/sharedComponents/checkpoint-policy/checkpoints-policy-questions/checkpoints-policy-questions.component.d.ts.map +1 -0
  289. package/lib/sharedComponents/directive/autofocus.directive.d.ts.__ivy_ngcc_bak +6 -0
  290. package/lib/sharedComponents/directive/autofocus.directive.d.ts.map +1 -0
  291. package/lib/sharedComponents/directive/conditional-focus.directive.d.ts.__ivy_ngcc_bak +9 -0
  292. package/lib/sharedComponents/directive/conditional-focus.directive.d.ts.map +1 -0
  293. package/lib/sharedComponents/directive/drag-drop.directive.d.ts.__ivy_ngcc_bak +8 -0
  294. package/lib/sharedComponents/directive/drag-drop.directive.d.ts.map +1 -0
  295. package/lib/sharedComponents/directive/scroll-in-view.directive.d.ts.__ivy_ngcc_bak +9 -0
  296. package/lib/sharedComponents/directive/scroll-in-view.directive.d.ts.map +1 -0
  297. package/lib/sharedComponents/document-section/document-section.component.d.ts.__ivy_ngcc_bak +38 -0
  298. package/lib/sharedComponents/document-section/document-section.component.d.ts.map +1 -0
  299. package/lib/sharedComponents/floating-bar/floating-bar.component.d.ts.__ivy_ngcc_bak +32 -0
  300. package/lib/sharedComponents/floating-bar/floating-bar.component.d.ts.map +1 -0
  301. package/lib/sharedComponents/format-and-evidence/format-and-evidence.component.d.ts.__ivy_ngcc_bak +41 -0
  302. package/lib/sharedComponents/format-and-evidence/format-and-evidence.component.d.ts.map +1 -0
  303. package/lib/sharedComponents/framework-list/framework-list.component.d.ts.__ivy_ngcc_bak +22 -0
  304. package/lib/sharedComponents/framework-list/framework-list.component.d.ts.map +1 -0
  305. package/lib/sharedComponents/framework-list/parent-table/parent-table.component.d.ts.__ivy_ngcc_bak +26 -0
  306. package/lib/sharedComponents/framework-list/parent-table/parent-table.component.d.ts.map +1 -0
  307. package/lib/sharedComponents/frequency/frequency-annual/frequency-annual.component.d.ts.__ivy_ngcc_bak +37 -0
  308. package/lib/sharedComponents/frequency/frequency-annual/frequency-annual.component.d.ts.map +1 -0
  309. package/lib/sharedComponents/frequency/frequency-biannual/frequency-biannual.component.d.ts.__ivy_ngcc_bak +35 -0
  310. package/lib/sharedComponents/frequency/frequency-biannual/frequency-biannual.component.d.ts.map +1 -0
  311. package/lib/sharedComponents/frequency/frequency-checkbox-list/frequency-checkbox-list.component.d.ts.__ivy_ngcc_bak +10 -0
  312. package/lib/sharedComponents/frequency/frequency-checkbox-list/frequency-checkbox-list.component.d.ts.map +1 -0
  313. package/lib/sharedComponents/frequency/frequency-container/frequency-container.component.d.ts.__ivy_ngcc_bak +29 -0
  314. package/lib/sharedComponents/frequency/frequency-container/frequency-container.component.d.ts.map +1 -0
  315. package/lib/sharedComponents/frequency/frequency-daily/frequency-daily.component.d.ts.__ivy_ngcc_bak +30 -0
  316. package/lib/sharedComponents/frequency/frequency-daily/frequency-daily.component.d.ts.map +1 -0
  317. package/lib/sharedComponents/frequency/frequency-due-date/frequency-due-date.component.d.ts.__ivy_ngcc_bak +19 -0
  318. package/lib/sharedComponents/frequency/frequency-due-date/frequency-due-date.component.d.ts.map +1 -0
  319. package/lib/sharedComponents/frequency/frequency-lifecycle/frequency-lifecycle.component.d.ts.__ivy_ngcc_bak +36 -0
  320. package/lib/sharedComponents/frequency/frequency-lifecycle/frequency-lifecycle.component.d.ts.map +1 -0
  321. package/lib/sharedComponents/frequency/frequency-monthly/frequency-monthly.component.d.ts.__ivy_ngcc_bak +33 -0
  322. package/lib/sharedComponents/frequency/frequency-monthly/frequency-monthly.component.d.ts.map +1 -0
  323. package/lib/sharedComponents/frequency/frequency-on-completion-of/frequency-on-completion-of.component.d.ts.__ivy_ngcc_bak +29 -0
  324. package/lib/sharedComponents/frequency/frequency-on-completion-of/frequency-on-completion-of.component.d.ts.map +1 -0
  325. package/lib/sharedComponents/frequency/frequency-one-time/frequency-one-time.component.d.ts.__ivy_ngcc_bak +32 -0
  326. package/lib/sharedComponents/frequency/frequency-one-time/frequency-one-time.component.d.ts.map +1 -0
  327. package/lib/sharedComponents/frequency/frequency-ongoing/frequency-ongoing.component.d.ts.__ivy_ngcc_bak +19 -0
  328. package/lib/sharedComponents/frequency/frequency-ongoing/frequency-ongoing.component.d.ts.map +1 -0
  329. package/lib/sharedComponents/frequency/frequency-quarterly/frequency-quarterly.component.d.ts.__ivy_ngcc_bak +32 -0
  330. package/lib/sharedComponents/frequency/frequency-quarterly/frequency-quarterly.component.d.ts.map +1 -0
  331. package/lib/sharedComponents/frequency/frequency-radio-list/frequency-radio-list.component.d.ts.__ivy_ngcc_bak +10 -0
  332. package/lib/sharedComponents/frequency/frequency-radio-list/frequency-radio-list.component.d.ts.map +1 -0
  333. package/lib/sharedComponents/frequency/frequency-random/frequency-random.component.d.ts.__ivy_ngcc_bak +59 -0
  334. package/lib/sharedComponents/frequency/frequency-random/frequency-random.component.d.ts.map +1 -0
  335. package/lib/sharedComponents/frequency/frequency-top/frequency-top.component.d.ts.__ivy_ngcc_bak +22 -0
  336. package/lib/sharedComponents/frequency/frequency-top/frequency-top.component.d.ts.map +1 -0
  337. package/lib/sharedComponents/frequency/frequency-weekly/frequency-weekly.component.d.ts.__ivy_ngcc_bak +32 -0
  338. package/lib/sharedComponents/frequency/frequency-weekly/frequency-weekly.component.d.ts.map +1 -0
  339. package/lib/sharedComponents/frequency/frequency.service.d.ts.__ivy_ngcc_bak +46 -0
  340. package/lib/sharedComponents/frequency/frequency.service.d.ts.map +1 -0
  341. package/lib/sharedComponents/group-users-list/group-users-list.component.d.ts.__ivy_ngcc_bak +29 -0
  342. package/lib/sharedComponents/group-users-list/group-users-list.component.d.ts.map +1 -0
  343. package/lib/sharedComponents/list-loader/list-loader.component.d.ts.__ivy_ngcc_bak +5 -0
  344. package/lib/sharedComponents/list-loader/list-loader.component.d.ts.map +1 -0
  345. package/lib/sharedComponents/no-data/no-data.component.d.ts.__ivy_ngcc_bak +14 -0
  346. package/lib/sharedComponents/no-data/no-data.component.d.ts.map +1 -0
  347. package/lib/sharedComponents/no-data/no-data.module.d.ts.__ivy_ngcc_bak +2 -0
  348. package/lib/sharedComponents/no-data/no-data.module.d.ts.map +1 -0
  349. package/lib/sharedComponents/owner-list/owner-list.component.d.ts.__ivy_ngcc_bak +36 -0
  350. package/lib/sharedComponents/owner-list/owner-list.component.d.ts.map +1 -0
  351. package/lib/sharedComponents/pipes/array-filter.pipe.d.ts.__ivy_ngcc_bak +4 -0
  352. package/lib/sharedComponents/pipes/array-filter.pipe.d.ts.map +1 -0
  353. package/lib/sharedComponents/pipes/filterPipe.d.ts.__ivy_ngcc_bak +4 -0
  354. package/lib/sharedComponents/pipes/filterPipe.d.ts.map +1 -0
  355. package/lib/sharedComponents/pipes/short-merge.pipe.d.ts.__ivy_ngcc_bak +4 -0
  356. package/lib/sharedComponents/pipes/short-merge.pipe.d.ts.map +1 -0
  357. package/lib/sharedComponents/pipes/within-data.pipe.d.ts.__ivy_ngcc_bak +4 -0
  358. package/lib/sharedComponents/pipes/within-data.pipe.d.ts.map +1 -0
  359. package/lib/sharedComponents/radio-list/radio-list.component.d.ts.__ivy_ngcc_bak +24 -0
  360. package/lib/sharedComponents/radio-list/radio-list.component.d.ts.map +1 -0
  361. package/lib/sharedComponents/radio-list-with-pagination/link-treatment-loader/link-treatment-loader.component.d.ts.__ivy_ngcc_bak +5 -0
  362. package/lib/sharedComponents/radio-list-with-pagination/link-treatment-loader/link-treatment-loader.component.d.ts.map +1 -0
  363. package/lib/sharedComponents/radio-list-with-pagination/radio-list.component.d.ts.__ivy_ngcc_bak +47 -0
  364. package/lib/sharedComponents/radio-list-with-pagination/radio-list.component.d.ts.map +1 -0
  365. package/lib/sharedComponents/responsibility-centers-list/responsibility-centers-list.component.d.ts.__ivy_ngcc_bak +26 -0
  366. package/lib/sharedComponents/responsibility-centers-list/responsibility-centers-list.component.d.ts.map +1 -0
  367. package/lib/sharedComponents/responsibility-risk-selector/responsibility-risk-selector.component.d.ts.__ivy_ngcc_bak +23 -0
  368. package/lib/sharedComponents/responsibility-risk-selector/responsibility-risk-selector.component.d.ts.map +1 -0
  369. package/lib/sharedComponents/review-frequency/review-frequency.component.d.ts.__ivy_ngcc_bak +15 -0
  370. package/lib/sharedComponents/review-frequency/review-frequency.component.d.ts.map +1 -0
  371. package/lib/sharedComponents/risk-classification/risk-classification.component.d.ts.__ivy_ngcc_bak +35 -0
  372. package/lib/sharedComponents/risk-classification/risk-classification.component.d.ts.map +1 -0
  373. package/lib/sharedComponents/users-radio-list/users-radio-list.component.d.ts.__ivy_ngcc_bak +21 -0
  374. package/lib/sharedComponents/users-radio-list/users-radio-list.component.d.ts.map +1 -0
  375. package/lib/sharedComponents/v-loader/loader/loader.component.d.ts.__ivy_ngcc_bak +5 -0
  376. package/lib/sharedComponents/v-loader/loader/loader.component.d.ts.map +1 -0
  377. package/lib/sharedComponents/v-loader/loader-inline/loader-inline.component.d.ts.__ivy_ngcc_bak +5 -0
  378. package/lib/sharedComponents/v-loader/loader-inline/loader-inline.component.d.ts.map +1 -0
  379. package/lib/sharedComponents/v-loader/v-loader.module.d.ts.__ivy_ngcc_bak +2 -0
  380. package/lib/sharedComponents/v-loader/v-loader.module.d.ts.map +1 -0
  381. package/lib/ui-kit/action-dialog/action-dialog.module.d.ts.__ivy_ngcc_bak +2 -0
  382. package/lib/ui-kit/action-dialog/action-dialog.module.d.ts.map +1 -0
  383. package/lib/ui-kit/action-dialog/active/active.component.d.ts.__ivy_ngcc_bak +12 -0
  384. package/lib/ui-kit/action-dialog/active/active.component.d.ts.map +1 -0
  385. package/lib/ui-kit/action-dialog/deactivate/deactivate.component.d.ts.__ivy_ngcc_bak +12 -0
  386. package/lib/ui-kit/action-dialog/deactivate/deactivate.component.d.ts.map +1 -0
  387. package/lib/ui-kit/action-dialog/delete/delete.component.d.ts.__ivy_ngcc_bak +11 -0
  388. package/lib/ui-kit/action-dialog/delete/delete.component.d.ts.map +1 -0
  389. package/lib/ui-kit/action-dialog/duplicate/duplicate.component.d.ts.__ivy_ngcc_bak +12 -0
  390. package/lib/ui-kit/action-dialog/duplicate/duplicate.component.d.ts.map +1 -0
  391. package/lib/ui-kit/click-outside/click-outside.directive.d.ts.__ivy_ngcc_bak +7 -0
  392. package/lib/ui-kit/click-outside/click-outside.directive.d.ts.map +1 -0
  393. package/lib/ui-kit/click-outside/click-outside.module.d.ts.__ivy_ngcc_bak +2 -0
  394. package/lib/ui-kit/click-outside/click-outside.module.d.ts.map +1 -0
  395. package/lib/ui-kit/dialog/dialog-ref.d.ts.__ivy_ngcc_bak +7 -0
  396. package/lib/ui-kit/dialog/dialog-ref.d.ts.map +1 -0
  397. package/lib/ui-kit/dialog/dialog.component.d.ts.__ivy_ngcc_bak +29 -0
  398. package/lib/ui-kit/dialog/dialog.component.d.ts.map +1 -0
  399. package/lib/ui-kit/dialog/dialog.module.d.ts.__ivy_ngcc_bak +2 -0
  400. package/lib/ui-kit/dialog/dialog.module.d.ts.map +1 -0
  401. package/lib/ui-kit/dialog/dialog.service.d.ts.__ivy_ngcc_bak +15 -0
  402. package/lib/ui-kit/dialog/dialog.service.d.ts.map +1 -0
  403. package/lib/ui-kit/dialog/insertion.directive.d.ts.__ivy_ngcc_bak +5 -0
  404. package/lib/ui-kit/dialog/insertion.directive.d.ts.map +1 -0
  405. package/lib/ui-kit/editor-loader/editor-loader/editor-loader.component.d.ts.__ivy_ngcc_bak +5 -0
  406. package/lib/ui-kit/editor-loader/editor-loader/editor-loader.component.d.ts.map +1 -0
  407. package/lib/ui-kit/editor-loader/editor-loader.module.d.ts.__ivy_ngcc_bak +2 -0
  408. package/lib/ui-kit/editor-loader/editor-loader.module.d.ts.map +1 -0
  409. package/lib/ui-kit/format-html.pipe.d.ts.__ivy_ngcc_bak +7 -0
  410. package/lib/ui-kit/format-html.pipe.d.ts.map +1 -0
  411. package/lib/ui-kit/formgroup/click-outside.directive.d.ts.__ivy_ngcc_bak +7 -0
  412. package/lib/ui-kit/formgroup/click-outside.directive.d.ts.map +1 -0
  413. package/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.d.ts.__ivy_ngcc_bak +10 -0
  414. package/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.d.ts.map +1 -0
  415. package/lib/ui-kit/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.d.ts.__ivy_ngcc_bak +10 -0
  416. package/lib/ui-kit/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.d.ts.map +1 -0
  417. package/lib/ui-kit/formgroup/cs-radio/cs-radio.component.d.ts.__ivy_ngcc_bak +12 -0
  418. package/lib/ui-kit/formgroup/cs-radio/cs-radio.component.d.ts.map +1 -0
  419. package/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.d.ts.__ivy_ngcc_bak +5 -0
  420. package/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.d.ts.map +1 -0
  421. package/lib/ui-kit/formgroup/cs-select/cs-select.component.d.ts.__ivy_ngcc_bak +33 -0
  422. package/lib/ui-kit/formgroup/cs-select/cs-select.component.d.ts.map +1 -0
  423. package/lib/ui-kit/formgroup/cs-switch/cs-switch.component.d.ts.__ivy_ngcc_bak +12 -0
  424. package/lib/ui-kit/formgroup/cs-switch/cs-switch.component.d.ts.map +1 -0
  425. package/lib/ui-kit/formgroup/formgroup.module.d.ts.__ivy_ngcc_bak +2 -0
  426. package/lib/ui-kit/formgroup/formgroup.module.d.ts.map +1 -0
  427. package/lib/ui-kit/formgroup/pipes/pascal.pipe.d.ts.__ivy_ngcc_bak +4 -0
  428. package/lib/ui-kit/formgroup/pipes/pascal.pipe.d.ts.map +1 -0
  429. package/lib/ui-kit/formgroup/pipes/searchMultiSelect.pipe.d.ts.__ivy_ngcc_bak +4 -0
  430. package/lib/ui-kit/formgroup/pipes/searchMultiSelect.pipe.d.ts.map +1 -0
  431. package/lib/ui-kit/line-loader/line-loader.component.d.ts.__ivy_ngcc_bak +6 -0
  432. package/lib/ui-kit/line-loader/line-loader.component.d.ts.map +1 -0
  433. package/lib/ui-kit/line-loader/line-loader.module.d.ts.__ivy_ngcc_bak +2 -0
  434. package/lib/ui-kit/line-loader/line-loader.module.d.ts.map +1 -0
  435. package/lib/ui-kit/pagination/pagination/pagination.component.d.ts.__ivy_ngcc_bak +23 -0
  436. package/lib/ui-kit/pagination/pagination/pagination.component.d.ts.map +1 -0
  437. package/lib/ui-kit/pagination/pagination.module.d.ts.__ivy_ngcc_bak +2 -0
  438. package/lib/ui-kit/pagination/pagination.module.d.ts.map +1 -0
  439. package/lib/ui-kit/popover/popover-event.directive.d.ts.__ivy_ngcc_bak +7 -0
  440. package/lib/ui-kit/popover/popover-event.directive.d.ts.map +1 -0
  441. package/lib/ui-kit/popover/popover-longpress.directive.d.ts.__ivy_ngcc_bak +13 -0
  442. package/lib/ui-kit/popover/popover-longpress.directive.d.ts.map +1 -0
  443. package/lib/ui-kit/popover/popover.component.d.ts.__ivy_ngcc_bak +24 -0
  444. package/lib/ui-kit/popover/popover.component.d.ts.map +1 -0
  445. package/lib/ui-kit/popover/popover.directive.d.ts.__ivy_ngcc_bak +16 -0
  446. package/lib/ui-kit/popover/popover.directive.d.ts.map +1 -0
  447. package/lib/ui-kit/popover/popover.module.d.ts.__ivy_ngcc_bak +2 -0
  448. package/lib/ui-kit/popover/popover.module.d.ts.map +1 -0
  449. package/lib/ui-kit/popover/popover.service.d.ts.__ivy_ngcc_bak +9 -0
  450. package/lib/ui-kit/popover/popover.service.d.ts.map +1 -0
  451. package/lib/ui-kit/popover-hover/popover-hover.component.d.ts.__ivy_ngcc_bak +22 -0
  452. package/lib/ui-kit/popover-hover/popover-hover.component.d.ts.map +1 -0
  453. package/lib/ui-kit/popover-hover/popover-hover.directive.d.ts.__ivy_ngcc_bak +12 -0
  454. package/lib/ui-kit/popover-hover/popover-hover.directive.d.ts.map +1 -0
  455. package/lib/ui-kit/popover-hover/popover-hover.module.d.ts.__ivy_ngcc_bak +2 -0
  456. package/lib/ui-kit/popover-hover/popover-hover.module.d.ts.map +1 -0
  457. package/lib/ui-kit/popover-hover/popover-hover.service.d.ts.__ivy_ngcc_bak +9 -0
  458. package/lib/ui-kit/popover-hover/popover-hover.service.d.ts.map +1 -0
  459. package/lib/ui-kit/smiley-dialog/smiley-dialog.component.d.ts.__ivy_ngcc_bak +12 -0
  460. package/lib/ui-kit/smiley-dialog/smiley-dialog.component.d.ts.map +1 -0
  461. package/lib/ui-kit/smiley-dialog/smiley-dialog.module.d.ts.__ivy_ngcc_bak +2 -0
  462. package/lib/ui-kit/smiley-dialog/smiley-dialog.module.d.ts.map +1 -0
  463. package/lib/ui-kit/smiley-dialog-inline/smiley-dialog-inline.component.d.ts.__ivy_ngcc_bak +12 -0
  464. package/lib/ui-kit/smiley-dialog-inline/smiley-dialog-inline.component.d.ts.map +1 -0
  465. package/lib/ui-kit/smiley-dialog-inline/smiley-dialog-inline.module.d.ts.__ivy_ngcc_bak +2 -0
  466. package/lib/ui-kit/smiley-dialog-inline/smiley-dialog-inline.module.d.ts.map +1 -0
  467. package/lib/ui-kit/snack-bar/snack-bar.component.d.ts.__ivy_ngcc_bak +15 -0
  468. package/lib/ui-kit/snack-bar/snack-bar.component.d.ts.map +1 -0
  469. package/lib/ui-kit/snack-bar/snack-bar.module.d.ts.__ivy_ngcc_bak +2 -0
  470. package/lib/ui-kit/snack-bar/snack-bar.module.d.ts.map +1 -0
  471. package/lib/ui-kit/snack-bar/snack-bar.service.d.ts.__ivy_ngcc_bak +8 -0
  472. package/lib/ui-kit/snack-bar/snack-bar.service.d.ts.map +1 -0
  473. package/lib/ui-kit/tooltip/tooltip.directive.d.ts.__ivy_ngcc_bak +24 -0
  474. package/lib/ui-kit/tooltip/tooltip.directive.d.ts.map +1 -0
  475. package/lib/ui-kit/tooltip/tooltip.module.d.ts.__ivy_ngcc_bak +2 -0
  476. package/lib/ui-kit/tooltip/tooltip.module.d.ts.map +1 -0
  477. package/lib/workflow-assessment/import-an-assessment/import-an-assessment.component.d.ts.__ivy_ngcc_bak +231 -0
  478. package/lib/workflow-assessment/import-an-assessment/import-an-assessment.component.d.ts.map +1 -0
  479. package/lib/workflow-assessment/workflow-assessment.component.d.ts.__ivy_ngcc_bak +63 -0
  480. package/lib/workflow-assessment/workflow-assessment.component.d.ts.map +1 -0
  481. package/lib/workflow-compliance/workflow-compliance.component.d.ts +11 -3
  482. package/lib/workflow-compliance/workflow-compliance.component.d.ts.__ivy_ngcc_bak +189 -0
  483. package/lib/workflow-compliance/workflow-compliance.component.d.ts.map +1 -0
  484. package/lib/workflow-engine-container/workflow-engine-container.component.d.ts +9 -2
  485. package/lib/workflow-engine-container/workflow-engine-container.component.d.ts.__ivy_ngcc_bak +104 -0
  486. package/lib/workflow-engine-container/workflow-engine-container.component.d.ts.map +1 -0
  487. package/lib/workflow-engine.module.d.ts.__ivy_ngcc_bak +5 -0
  488. package/lib/workflow-engine.module.d.ts.map +1 -0
  489. package/lib/workflow-engine.service.d.ts.__ivy_ngcc_bak +3 -0
  490. package/lib/workflow-engine.service.d.ts.map +1 -0
  491. package/lib/workflow-pagination/workflow-pagination.component.d.ts.__ivy_ngcc_bak +24 -0
  492. package/lib/workflow-pagination/workflow-pagination.component.d.ts.map +1 -0
  493. package/lib/workflow-policy/workflow-policy.component.d.ts.__ivy_ngcc_bak +281 -0
  494. package/lib/workflow-policy/workflow-policy.component.d.ts.map +1 -0
  495. package/lib/workflow-risk/workflow-risk.component.d.ts.__ivy_ngcc_bak +105 -0
  496. package/lib/workflow-risk/workflow-risk.component.d.ts.map +1 -0
  497. package/lib/workflow-services/add-risk.service.d.ts.__ivy_ngcc_bak +22 -0
  498. package/lib/workflow-services/add-risk.service.d.ts.map +1 -0
  499. package/lib/workflow-services/assessment.service.d.ts.__ivy_ngcc_bak +29 -0
  500. package/lib/workflow-services/assessment.service.d.ts.map +1 -0
  501. package/lib/workflow-services/auth.service.d.ts.__ivy_ngcc_bak +29 -0
  502. package/lib/workflow-services/auth.service.d.ts.map +1 -0
  503. package/lib/workflow-services/frequency.service.d.ts.__ivy_ngcc_bak +5 -0
  504. package/lib/workflow-services/frequency.service.d.ts.map +1 -0
  505. package/lib/workflow-services/log-issue.service.d.ts.__ivy_ngcc_bak +31 -0
  506. package/lib/workflow-services/log-issue.service.d.ts.map +1 -0
  507. package/lib/workflow-services/policy.service.d.ts.__ivy_ngcc_bak +24 -0
  508. package/lib/workflow-services/policy.service.d.ts.map +1 -0
  509. package/lib/workflow-services/responsibility.service.d.ts.__ivy_ngcc_bak +33 -0
  510. package/lib/workflow-services/responsibility.service.d.ts.map +1 -0
  511. package/lib/workflow-services/token-decoder.service.d.ts.__ivy_ngcc_bak +4 -0
  512. package/lib/workflow-services/token-decoder.service.d.ts.map +1 -0
  513. package/lib/workflow-services/ui-kit.service.d.ts.__ivy_ngcc_bak +5 -0
  514. package/lib/workflow-services/ui-kit.service.d.ts.map +1 -0
  515. package/lib/workflow-survey-form/workflow-survey-form.component.d.ts.__ivy_ngcc_bak +7 -0
  516. package/lib/workflow-survey-form/workflow-survey-form.component.d.ts.map +1 -0
  517. package/package.json +1 -1
  518. package/vcomply-workflow-engine.d.ts.__ivy_ngcc_bak +244 -0
  519. package/vcomply-workflow-engine.d.ts.map +1 -0
  520. package/vcomply-workflow-engine.metadata.json +1 -1
@@ -37,7 +37,7 @@ export class CreateAssessmentContainerComponent {
37
37
  this.initializeAssessment(value);
38
38
  }
39
39
  set checkpointData(value) {
40
- this.initializeAssessment(value);
40
+ this.initializeCheckpoint(value);
41
41
  }
42
42
  ngOnInit() {
43
43
  this.editorService.addPage();
@@ -57,6 +57,7 @@ export class CreateAssessmentContainerComponent {
57
57
  }
58
58
  initializeCheckpoint(checkpointData) {
59
59
  var _a;
60
+ console.log("initializeCheckpoint ==>", checkpointData);
60
61
  if (checkpointData && ((_a = Object.keys(checkpointData)) === null || _a === void 0 ? void 0 : _a.length) > 0) {
61
62
  this.editorService.formsPage = checkpointData;
62
63
  }
@@ -412,9 +413,9 @@ export class CreateAssessmentContainerComponent {
412
413
  CreateAssessmentContainerComponent.decorators = [
413
414
  { type: Component, args: [{
414
415
  selector: 'app-create-assessment-container',
415
- template: "<ng-container>\r\n <div *ngIf=\"pageMode === 'EDIT'\" class=\"create-assessment-container\" [class.full-page]=\"expandPage\">\r\n <div class=\"create-assessment-head vx-p-2 vx-pl-3 vx-d-flex vx-align-center vx-justify-between\">\r\n <div class=\"left vx-d-flex vx-align-center\" [class.with-template-btn]=\"false\">\r\n <span class=\"id vx-fs-10 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mr-2\">{{assessmentControlId}}</span>\r\n <span class=\"heading vx-fs-16 vx-label-txt vx-mr-2 vx-lh-6\" [appTooltip]=\"assessmentName\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{assessmentName}}</span>\r\n <!-- <button class=\"edit-btn vx-fs-14 vx-txt-blue vx-p-0 vx-m-0 vx-d-flex vx-align-center\"><i class=\"icons\">&#xe9ba;</i></button> -->\r\n </div>\r\n <div class=\"right vx-d-flex vx-align-center\">\r\n <button [class.disabled]=\"openPortal === 'RESPONSIBILITY_CHECKPOINT'\" class=\"page-dropdown vx-p-0 vx-pl-1 vx-pr-2 vx-m-0 vx-d-flex vx-align-center\" appPopover (click)=\"action.popover()\" placement=\"right\">\r\n <span class=\"page-label vx-fs-9 vx-fw-600 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2 vx-lh-3\" *ngIf=\"editorService.currentPageNumber > 0\">PAGE {{editorService?.currentPageNumber}}</span>\r\n <span class=\"page-label vx-fs-9 vx-fw-600 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2 vx-lh-3\" *ngIf=\"editorService.currentPageNumber === -1\">Welcome Screen</span>\r\n <span class=\"page-label vx-fs-9 vx-fw-600 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2 vx-lh-3\" *ngIf=\"editorService.currentPageNumber === -2\">Thankyou Screen</span>\r\n <!-- <span class=\"page-number vx-fs-11 vx-paragraph-txt\" *ngIf=\"editorService.stepIdentifier=='pagescreen'\">{{editorService?.currentPageDetails?.pageName}}</span> -->\r\n <i class=\"icons arrow vx-fs-10 vx-paragraph-txt\">&#xe9e8;</i>\r\n </button>\r\n <app-popover #action>\r\n <div class=\"page-dropdown-popup\">\r\n <ul class=\"vx-p-0 vx-m-0\">\r\n <li class=\"vx-d-flex vx-align-center\" *ngFor=\"let data of generatePageDropdown()\">\r\n <button class=\"vx-d-block vx-p-2 vx-m-0 vx-w-100\" [innerHTML]=\"data?.template\" (click)=\"pageChanged(data)\">\r\n <!-- <span class=\"page-label vx-fs-9 vx-fw-600 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2 vx-lh-3\">PAGE</span>\r\n <span class=\"page-number vx-fs-11 vx-paragraph-txt\">1</span>\r\n {{data|json}} -->\r\n </button>\r\n </li>\r\n </ul>\r\n <div class=\"action-bottom vx-d-flex vx-align-center vx-justify-end vx-p-2\" >\r\n <button (click)=\"addNewPage()\" class=\"add-page vx-fs-11 vx-fw-500 vx-txt-white vx-tt-uppercase vx-p-0 vx-pl-2 vx-pr-2 vx-m-0 vx-d-flex vx-align-center\">ADD NEW PAGE</button>\r\n </div>\r\n </div>\r\n </app-popover>\r\n <button *ngIf=\"openPortal !== 'RESPONSIBILITY_CHECKPOINT'\" class=\"settings-btn vx-fs-11 vx-fw-500 vx-txt-white vx-tt-uppercase vx-lh-6 vx-p-0 vx-pl-2 vx-pr-2 vx-m-0 vx-ml-1 vx-d-flex vx-align-center\" (click)=\"assessmentSettings()\"><i class=\"icons vx-fs-12 vx-d-flex vx-mr-1\">&#xe913;</i> ASSESSMENT SETTINGS</button>\r\n <button *ngIf=\"false\" class=\"template-btn vx-fs-11 vx-fw-500 vx-txt-white vx-tt-uppercase vx-lh-6 vx-p-0 vx-pl-2 vx-pr-2 vx-m-0 vx-ml-1 vx-d-flex vx-align-center\"><i class=\"icons vx-fs-12 vx-d-flex vx-mr-1\">&#xe9ed;</i> SAVE AS TEMPLATE</button>\r\n </div>\r\n </div>\r\n <div class=\"create-assessment-body\">\r\n \r\n <ng-container *ngIf=\"editorService.stepIdentifier=='pagescreen'\">\r\n <div *ngIf=\"isPageEmpty()\" class=\"select-question-part vx-d-flex vx-align-center vx-justify-center\">\r\n <div class=\"question-inner vx-pl-5 vx-pb-5\">\r\n <!-- <button class=\"page-title vx-fs-11 vx-fw-600 vx-label-txt vx-tt-uppercase vx-p-0 vx-m-0 vx-ml-1 vx-mr-1 vx-d-flex vx-align-center vx-justify-center vx-w-100\" (click)=\"addPageDetails()\"><i class=\"icons vx-fs-16 vx-mr-1\">&#xe90a;</i> PAGE TITLE</button> -->\r\n <div class=\"heading vx-fs-18 vx-paragraph-txt vx-text-center vx-w-100\">Select a question type to begin:</div>\r\n <app-question-type (addQuestion)=\"editorService.addQuestion($event)\"></app-question-type>\r\n </div>\r\n\r\n <!-- <ng-template #elseBlock>\r\n <div>\r\n <app-editor-loader></app-editor-loader>\r\n </div>\r\n </ng-template> -->\r\n\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!isPageEmpty() || editorService.currentPageNumber < 0\">\r\n <div class=\"editor-section\">\r\n <div class=\"editor-section-body vx-d-flex\">\r\n <app-toolkit (addQuestion)=\"editorService.addQuestion($event)\"></app-toolkit>\r\n\r\n <div class=\"editor-section-inner\">\r\n <app-welcome-thankyou *ngIf='editorService.stepIdentifier==\"welcomescreen\"' [entityData]=\"editorService?.formsPage\" [service]=\"editorService\" (deleteQuestion)=\"deleteQuestionWithValidation('welcome')\"></app-welcome-thankyou>\r\n <!-- <app-preview-welcome></app-preview-welcome> -->\r\n <ng-container *ngIf='editorService.stepIdentifier==\"pagescreen\"'>\r\n <button *ngIf='editorService.stepIdentifier==\"pagescreen\" && editorService.showAddPageOption ' class=\"page-title vx-fs-11 vx-fw-600 vx-label-txt vx-tt-uppercase vx-p-0 vx-m-0 vx-mb-2 vx-d-flex vx-align-center vx-justify-center vx-w-100\" (click)=\"addPageDetails()\"><i class=\"icons vx-fs-16 vx-mr-1\">&#xe90a;</i> PAGE TITLE</button>\r\n <app-page-header (edit)=\"addPageDetails()\" *ngIf='editorService.stepIdentifier==\"pagescreen\" && editorService.showPageDetails' [pageName]=\"editorService.currentPageDetails.pageName\" [pageDescription]=\"editorService.currentPageDetails.pageDescription\"></app-page-header>\r\n <ng-container *ngFor=\"let question of editorService.formsPage.elements;let questionIndex = index\">\r\n <ng-container *ngIf=\"question.page === editorService.currentPageNumber && editorService.stepIdentifier=='pagescreen'\">\r\n <app-editor-wrapper *ngIf=\"editorService.activeQuestion === questionIndex\" [service]=\"editorService\" [question]=\"question\" [questionIndex]=\"questionIndex\"\r\n (validQuestionData)=\"checkforError($event)\"\r\n (deleteQuestion)=\"deleteQuestionWithValidation($event)\"\r\n (copyQuestion)=\"editorService.copyQuestion($event)\"></app-editor-wrapper>\r\n <app-preview-wrapper *ngIf=\"editorService.activeQuestion !== questionIndex\" [question]=\"question\" [questionIndex]=\"questionIndex\"\r\n (makeActiveQuestion)=\"editorService.activeQuestion = $event\"></app-preview-wrapper>\r\n </ng-container>\r\n </ng-container>\r\n <div class=\"next-question-area\">\r\n <button class=\"page-title vx-fs-11 vx-fw-600 vx-label-txt vx-tt-uppercase vx-p-0 vx-m-0 vx-mb-2 vx-d-flex vx-align-center vx-justify-center vx-w-100\" (click)=\"openQuestion()\"><i class=\"icons vx-fs-16 vx-mr-1\">&#xe90a;</i> NEXT QUESTION</button>\r\n <div class=\"next-question-popup vx-p-3\" *ngIf=\"hideQuestion\">\r\n <app-question-type (addQuestion)=\"editorService.addQuestion($event);closeQuestion()\"></app-question-type>\r\n </div>\r\n <div class=\"overlay\" *ngIf=\"hideQuestion\" (click)=\"closeQuestion()\"></div>\r\n </div>\r\n <button *ngIf=\"openPortal !== 'RESPONSIBILITY_CHECKPOINT'\" (click)=\"addNewPage()\" class=\"page-title vx-fs-11 vx-fw-600 vx-label-txt vx-tt-uppercase vx-p-0 vx-m-0 vx-mb-2 vx-d-flex vx-align-center vx-justify-center vx-w-100\"><i class=\"icons vx-fs-16 vx-mr-1\">&#xe90a;</i> ADD NEW PAGE</button>\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"right-side-btn\">\r\n <button *ngIf=\"!expandPage\" (click)=\"clickExpand()\" class=\"fullscreen-btn vx-fs-14 vx-txt-blue vx-p-0 vx-m-0 vx-mb-3 vx-d-flex vx-align-center vx-justify-center\" [appTooltip]=\"'Expand Page'\" placement=\"left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\"><i class=\"icons\">&#xe945;</i></button>\r\n <button *ngIf=\"expandPage\" (click)=\"closeExpand()\" class=\"fullscreen-btn vx-fs-14 vx-txt-blue vx-p-0 vx-m-0 vx-mb-3 vx-d-flex vx-align-center vx-justify-center\" [appTooltip]=\"'Shrink Page'\" placement=\"left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\"><i class=\"icons\">&#xe944;</i></button>\r\n <button *ngIf=\"editorService.stepIdentifier=='pagescreen'\" (click)=\"deletePage()\" class=\"delete-btn vx-fs-14 vx-txt-red vx-p-0 vx-m-0 vx-d-flex vx-align-center vx-justify-center\" [appTooltip]=\"'Delete Page'\" placement=\"left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\"><i class=\"icons\">&#xe923;</i></button>\r\n </div>\r\n </div>\r\n <div class=\"editor-section-footer vx-d-flex vx-align-center vx-justify-center vx-mt-4\">\r\n <button (click)=\"setIsUploaded.emit(false)\" class=\"cancel-btn vx-fs-14 vx-fw-500 vx-txt-red vx-tt-uppercase vx-p-0 vx-m-0 vx-ml-1 vx-mr-1 vx-d-flex vx-align-center vx-justify-center\">CANCEL</button>\r\n <button *ngIf=\"openPortal === 'ASSESSMENT_IMPORT'\" (click)=\"submitAfterErrorCheck('DRAFT')\" [class.disabled]=\"assessmentCurrentState === 'ACTIVE'\" class=\" white-btn vx-fs-14 vx-fw-500 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-ml-1 vx-mr-1 vx-d-flex vx-align-center vx-justify-center\">SAVE AS DRAFT</button>\r\n <button *ngIf=\"openPortal === 'ASSESSMENT_IMPORT'\" (click)=\"submitAfterErrorCheck('ACTIVE')\" class=\" blue-btn vx-fs-14 vx-fw-500 vx-txt-white vx-tt-uppercase vx-p-0 vx-m-0 vx-ml-1 vx-mr-1 vx-d-flex vx-align-center vx-justify-center\">PUBLISH</button>\r\n <button *ngIf=\"openPortal === 'RESPONSIBILITY_CHECKPOINT'\" (click)=\"submitAfterErrorCheck('ACTIVE')\" class=\" blue-btn vx-fs-14 vx-fw-500 vx-txt-white vx-tt-uppercase vx-p-0 vx-m-0 vx-ml-1 vx-mr-1 vx-d-flex vx-align-center vx-justify-center\">NEXT &nbsp;<i class=\"icons\">&#xe91e;</i></button>\r\n <!-- <button (click)=\"pageMode = 'PREVIEW'\" class=\"preview-btn vx-fs-20 vx-txt-white vx-p-0 vx-m-0 vx-d-flex vx-align-center vx-justify-center\" [appTooltip]=\"'Preview'\" placement=\"left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\"><i class=\"icons\">&#xeae5;</i></button> -->\r\n <button *ngIf=\"false\" class=\"close-btn vx-fs-12 vx-txt-white vx-p-0 vx-m-0 vx-d-flex vx-align-center vx-justify-center\" [appTooltip]=\"'Close'\" placement=\"left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\"><i class=\"icons\">&#xe90d;</i></button>\r\n </div>\r\n </div>\r\n </ng-container>\r\n \r\n </div>\r\n </div>\r\n <!-- <app-assessment-preview-container *ngIf=\"pageMode === 'PREVIEW'\" [questionDetails]=\"editorService.formsPage\"></app-assessment-preview-container> -->\r\n</ng-container>\r\n\r\n<!-- <app-editor-loader *ngIf=\"!isLoaded\"></app-editor-loader> -->",
416
+ template: "<ng-container>\r\n <div *ngIf=\"pageMode === 'EDIT'\" class=\"create-assessment-container\" [class.full-page]=\"expandPage\">\r\n <div class=\"create-assessment-head vx-p-2 vx-pl-3 vx-d-flex vx-align-center vx-justify-between\">\r\n <div class=\"left vx-d-flex vx-align-center\" [class.with-template-btn]=\"false\">\r\n <span class=\"id vx-fs-10 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mr-2\">{{assessmentControlId}}</span>\r\n <i *ngIf=\"openPortal === 'RESPONSIBILITY_CHECKPOINT'\" class=\"icons arrow-back vx-mr-1\" (click)=\"setIsUploaded.emit(false)\">&#xe91d;</i>\r\n <span class=\"heading vx-fs-16 vx-label-txt vx-mr-2 vx-lh-6\" [appTooltip]=\"openPortal === 'RESPONSIBILITY_CHECKPOINT' ? 'Add Checkpoints' :assessmentName\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{openPortal === 'RESPONSIBILITY_CHECKPOINT' ? 'Add Checkpoints' :assessmentName}}</span>\r\n <!-- <button class=\"edit-btn vx-fs-14 vx-txt-blue vx-p-0 vx-m-0 vx-d-flex vx-align-center\"><i class=\"icons\">&#xe9ba;</i></button> -->\r\n </div>\r\n <div class=\"right vx-d-flex vx-align-center\">\r\n <button *ngIf=\"openPortal !== 'RESPONSIBILITY_CHECKPOINT'\" class=\"page-dropdown vx-p-0 vx-pl-1 vx-pr-2 vx-m-0 vx-d-flex vx-align-center\" appPopover (click)=\"action.popover()\" placement=\"right\">\r\n <span class=\"page-label vx-fs-9 vx-fw-600 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2 vx-lh-3\" *ngIf=\"editorService.currentPageNumber > 0\">PAGE {{editorService?.currentPageNumber}}</span>\r\n <span class=\"page-label vx-fs-9 vx-fw-600 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2 vx-lh-3\" *ngIf=\"editorService.currentPageNumber === -1\">Welcome Screen</span>\r\n <span class=\"page-label vx-fs-9 vx-fw-600 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2 vx-lh-3\" *ngIf=\"editorService.currentPageNumber === -2\">Thankyou Screen</span>\r\n <!-- <span class=\"page-number vx-fs-11 vx-paragraph-txt\" *ngIf=\"editorService.stepIdentifier=='pagescreen'\">{{editorService?.currentPageDetails?.pageName}}</span> -->\r\n <i class=\"icons arrow vx-fs-10 vx-paragraph-txt\">&#xe9e8;</i>\r\n </button>\r\n <app-popover #action>\r\n <div class=\"page-dropdown-popup\">\r\n <ul class=\"vx-p-0 vx-m-0\">\r\n <li class=\"vx-d-flex vx-align-center\" *ngFor=\"let data of generatePageDropdown()\">\r\n <button class=\"vx-d-block vx-p-2 vx-m-0 vx-w-100\" [innerHTML]=\"data?.template\" (click)=\"pageChanged(data)\">\r\n <!-- <span class=\"page-label vx-fs-9 vx-fw-600 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2 vx-lh-3\">PAGE</span>\r\n <span class=\"page-number vx-fs-11 vx-paragraph-txt\">1</span>\r\n {{data|json}} -->\r\n </button>\r\n </li>\r\n </ul>\r\n <div class=\"action-bottom vx-d-flex vx-align-center vx-justify-end vx-p-2\" >\r\n <button (click)=\"addNewPage()\" class=\"add-page vx-fs-11 vx-fw-500 vx-txt-white vx-tt-uppercase vx-p-0 vx-pl-2 vx-pr-2 vx-m-0 vx-d-flex vx-align-center\">ADD NEW PAGE</button>\r\n </div>\r\n </div>\r\n </app-popover>\r\n <button *ngIf=\"openPortal !== 'RESPONSIBILITY_CHECKPOINT'\" class=\"settings-btn vx-fs-11 vx-fw-500 vx-txt-white vx-tt-uppercase vx-lh-6 vx-p-0 vx-pl-2 vx-pr-2 vx-m-0 vx-ml-1 vx-d-flex vx-align-center\" (click)=\"assessmentSettings()\"><i class=\"icons vx-fs-12 vx-d-flex vx-mr-1\">&#xe913;</i> ASSESSMENT SETTINGS</button>\r\n <button *ngIf=\"false\" class=\"template-btn vx-fs-11 vx-fw-500 vx-txt-white vx-tt-uppercase vx-lh-6 vx-p-0 vx-pl-2 vx-pr-2 vx-m-0 vx-ml-1 vx-d-flex vx-align-center\"><i class=\"icons vx-fs-12 vx-d-flex vx-mr-1\">&#xe9ed;</i> SAVE AS TEMPLATE</button>\r\n </div>\r\n </div>\r\n <div class=\"create-assessment-body\">\r\n\r\n <ng-container *ngIf=\"editorService.stepIdentifier=='pagescreen'\">\r\n <div *ngIf=\"isPageEmpty()\" class=\"select-question-part vx-d-flex vx-align-center vx-justify-center\">\r\n <div class=\"question-inner vx-pl-5 vx-pb-5\">\r\n <!-- <button class=\"page-title vx-fs-11 vx-fw-600 vx-label-txt vx-tt-uppercase vx-p-0 vx-m-0 vx-ml-1 vx-mr-1 vx-d-flex vx-align-center vx-justify-center vx-w-100\" (click)=\"addPageDetails()\"><i class=\"icons vx-fs-16 vx-mr-1\">&#xe90a;</i> PAGE TITLE</button> -->\r\n <div class=\"heading vx-fs-18 vx-paragraph-txt vx-text-center vx-w-100\">Select a question type to begin:</div>\r\n <app-question-type (addQuestion)=\"editorService.addQuestion($event)\"></app-question-type>\r\n </div>\r\n\r\n <!-- <ng-template #elseBlock>\r\n <div>\r\n <app-editor-loader></app-editor-loader>\r\n </div>\r\n </ng-template> -->\r\n\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!isPageEmpty() || editorService.currentPageNumber < 0\">\r\n <div class=\"editor-section\">\r\n <div class=\"editor-section-body vx-d-flex\">\r\n <app-toolkit (addQuestion)=\"editorService.addQuestion($event)\"></app-toolkit>\r\n\r\n <div class=\"editor-section-inner\">\r\n <app-welcome-thankyou *ngIf='editorService.stepIdentifier==\"welcomescreen\"' [entityData]=\"editorService?.formsPage\" [service]=\"editorService\" (deleteQuestion)=\"deleteQuestionWithValidation('welcome')\"></app-welcome-thankyou>\r\n <!-- <app-preview-welcome></app-preview-welcome> -->\r\n <ng-container *ngIf='editorService.stepIdentifier==\"pagescreen\"'>\r\n <button *ngIf='editorService.stepIdentifier==\"pagescreen\" && editorService.showAddPageOption ' class=\"page-title vx-fs-11 vx-fw-600 vx-label-txt vx-tt-uppercase vx-p-0 vx-m-0 vx-mb-2 vx-d-flex vx-align-center vx-justify-center vx-w-100\" (click)=\"addPageDetails()\"><i class=\"icons vx-fs-16 vx-mr-1\">&#xe90a;</i> PAGE TITLE</button>\r\n <app-page-header (edit)=\"addPageDetails()\" *ngIf='editorService.stepIdentifier==\"pagescreen\" && editorService.showPageDetails' [pageName]=\"editorService.currentPageDetails.pageName\" [pageDescription]=\"editorService.currentPageDetails.pageDescription\"></app-page-header>\r\n <ng-container *ngFor=\"let question of editorService.formsPage.elements;let questionIndex = index\">\r\n <ng-container *ngIf=\"question.page === editorService.currentPageNumber && editorService.stepIdentifier=='pagescreen'\">\r\n <app-editor-wrapper *ngIf=\"editorService.activeQuestion === questionIndex\" [service]=\"editorService\" [question]=\"question\" [questionIndex]=\"questionIndex\"\r\n (validQuestionData)=\"checkforError($event)\"\r\n (deleteQuestion)=\"deleteQuestionWithValidation($event)\"\r\n (copyQuestion)=\"editorService.copyQuestion($event)\"></app-editor-wrapper>\r\n <app-preview-wrapper *ngIf=\"editorService.activeQuestion !== questionIndex\" [question]=\"question\" [questionIndex]=\"questionIndex\"\r\n (makeActiveQuestion)=\"editorService.activeQuestion = $event\"></app-preview-wrapper>\r\n </ng-container>\r\n </ng-container>\r\n <div class=\"next-question-area\">\r\n <button class=\"page-title vx-fs-11 vx-fw-600 vx-label-txt vx-tt-uppercase vx-p-0 vx-m-0 vx-mb-2 vx-d-flex vx-align-center vx-justify-center vx-w-100\" (click)=\"openQuestion()\"><i class=\"icons vx-fs-16 vx-mr-1\">&#xe90a;</i> NEXT QUESTION</button>\r\n <div class=\"next-question-popup vx-p-3\" *ngIf=\"hideQuestion\">\r\n <app-question-type (addQuestion)=\"editorService.addQuestion($event);closeQuestion()\"></app-question-type>\r\n </div>\r\n <div class=\"overlay\" *ngIf=\"hideQuestion\" (click)=\"closeQuestion()\"></div>\r\n </div>\r\n <button *ngIf=\"openPortal !== 'RESPONSIBILITY_CHECKPOINT'\" (click)=\"addNewPage()\" class=\"page-title vx-fs-11 vx-fw-600 vx-label-txt vx-tt-uppercase vx-p-0 vx-m-0 vx-mb-2 vx-d-flex vx-align-center vx-justify-center vx-w-100\"><i class=\"icons vx-fs-16 vx-mr-1\">&#xe90a;</i> ADD NEW PAGE</button>\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"right-side-btn\" *ngIf=\"openPortal !== 'RESPONSIBILITY_CHECKPOINT'\">\r\n <button *ngIf=\"!expandPage\" (click)=\"clickExpand()\" class=\"fullscreen-btn vx-fs-14 vx-txt-blue vx-p-0 vx-m-0 vx-mb-3 vx-d-flex vx-align-center vx-justify-center\" [appTooltip]=\"'Expand Page'\" placement=\"left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\"><i class=\"icons\">&#xe945;</i></button>\r\n <button *ngIf=\"expandPage\" (click)=\"closeExpand()\" class=\"fullscreen-btn vx-fs-14 vx-txt-blue vx-p-0 vx-m-0 vx-mb-3 vx-d-flex vx-align-center vx-justify-center\" [appTooltip]=\"'Shrink Page'\" placement=\"left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\"><i class=\"icons\">&#xe944;</i></button>\r\n <button *ngIf=\"editorService.stepIdentifier=='pagescreen'\" (click)=\"deletePage()\" class=\"delete-btn vx-fs-14 vx-txt-red vx-p-0 vx-m-0 vx-d-flex vx-align-center vx-justify-center\" [appTooltip]=\"'Delete Page'\" placement=\"left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\"><i class=\"icons\">&#xe923;</i></button>\r\n </div>\r\n </div>\r\n <div class=\"editor-section-footer vx-d-flex vx-align-center vx-justify-center vx-mt-4\">\r\n <button (click)=\"setIsUploaded.emit(false)\" class=\"cancel-btn vx-fs-14 vx-fw-500 vx-txt-red vx-tt-uppercase vx-p-0 vx-m-0 vx-ml-1 vx-mr-1 vx-d-flex vx-align-center vx-justify-center\">CANCEL</button>\r\n <button *ngIf=\"openPortal === 'ASSESSMENT_IMPORT'\" (click)=\"submitAfterErrorCheck('DRAFT')\" [class.disabled]=\"assessmentCurrentState === 'ACTIVE'\" class=\" white-btn vx-fs-14 vx-fw-500 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-ml-1 vx-mr-1 vx-d-flex vx-align-center vx-justify-center\">SAVE AS DRAFT</button>\r\n <button *ngIf=\"openPortal === 'ASSESSMENT_IMPORT'\" (click)=\"submitAfterErrorCheck('ACTIVE')\" class=\" blue-btn vx-fs-14 vx-fw-500 vx-txt-white vx-tt-uppercase vx-p-0 vx-m-0 vx-ml-1 vx-mr-1 vx-d-flex vx-align-center vx-justify-center\">PUBLISH</button>\r\n <button *ngIf=\"openPortal === 'RESPONSIBILITY_CHECKPOINT'\" (click)=\"submitAfterErrorCheck('ACTIVE')\" class=\" blue-btn vx-fs-14 vx-fw-500 vx-txt-white vx-tt-uppercase vx-p-0 vx-m-0 vx-ml-1 vx-mr-1 vx-d-flex vx-align-center vx-justify-center\">NEXT &nbsp;<i class=\"icons\">&#xe91e;</i></button>\r\n <!-- <button (click)=\"pageMode = 'PREVIEW'\" class=\"preview-btn vx-fs-20 vx-txt-white vx-p-0 vx-m-0 vx-d-flex vx-align-center vx-justify-center\" [appTooltip]=\"'Preview'\" placement=\"left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\"><i class=\"icons\">&#xeae5;</i></button> -->\r\n <button *ngIf=\"false\" class=\"close-btn vx-fs-12 vx-txt-white vx-p-0 vx-m-0 vx-d-flex vx-align-center vx-justify-center\" [appTooltip]=\"'Close'\" placement=\"left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\"><i class=\"icons\">&#xe90d;</i></button>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n </div>\r\n </div>\r\n <!-- <app-assessment-preview-container *ngIf=\"pageMode === 'PREVIEW'\" [questionDetails]=\"editorService.formsPage\"></app-assessment-preview-container> -->\r\n</ng-container>\r\n\r\n<!-- <app-editor-loader *ngIf=\"!isLoaded\"></app-editor-loader> -->\r\n",
416
417
  providers: [EditorService],
417
- styles: ["@import url(\"https://cdn.v-comply.com/design-system/css/icons/icons.css\");@import url(\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\");@import url(\"https://cdn.v-comply.com/design-system/css/display/display.css\");@import url(\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\");@import url(\"https://cdn.v-comply.com/design-system/css/color/color.css\");@import url(\"https://cdn.v-comply.com/design-system/css/text/text.css\");@import url(\"https://cdn.v-comply.com/design-system/css/width/width.css\");@import url(\"https://cdn.v-comply.com/design-system/css/margin/margin.css\");@import url(\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\");@import url(\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\");@import url(\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\");@import url(\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\");@import url(\"https://cdn.v-comply.com/design-system/css/padding/padding.css\");@import url(\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\");@import url(\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\");@import url(\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\");@import url(\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\");.create-assessment-container{position:relative}.create-assessment-container.full-page{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;margin:0!important;z-index:9}.create-assessment-container.full-page .create-assessment-head{border-radius:0}.create-assessment-container.full-page .create-assessment-body{border-radius:0;height:calc(100vh - 2.5rem)}.create-assessment-container.full-page .create-assessment-body .editor-section-body .right-side-btn{top:4.75rem;right:5rem}.create-assessment-container.full-page .create-assessment-body .editor-section-footer{border-radius:0}.create-assessment-head{background:#fbfbfb;border-top:3px solid #1e5dd3;border-bottom:1px solid #f1f1f1;height:2.5rem}.create-assessment-head .left{width:calc(100% - 22rem)}.create-assessment-head .left .heading{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:calc(100% - 10rem)}.create-assessment-head .left button.edit-btn{background:transparent;border:none;border-radius:0}.create-assessment-head .left.with-template-btn{width:calc(100% - 30rem)}.create-assessment-head .right button.page-dropdown{background:#fff;border-radius:.125rem;border:1px solid #bcbcbc;position:relative;height:1.5rem;width:11.5rem}.create-assessment-head .right button.page-dropdown .page-label{background:#f1f1f1;border-radius:.125rem;color:#042e7d}.create-assessment-head .right button.page-dropdown .arrow{position:absolute;top:.375rem;right:.5rem}.create-assessment-head .right button.settings-btn{background:#1e5dd3;border-radius:.125rem;border:none;height:1.5rem}.create-assessment-head .right button.template-btn{background:#34aa44;border-radius:.125rem;border:none;height:1.5rem}.create-assessment-body{background:#fff;border-radius:0 0 .125rem .125rem;height:calc(100vh - 2.5rem);scrollbar-width:thin}.create-assessment-body::-webkit-scrollbar-track{background-color:#f1f1f1}.create-assessment-body::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}.create-assessment-body app-toolkit{position:sticky;top:0}.create-assessment-body .select-question-part{padding-top:2.5rem;padding-bottom:3.75rem}.create-assessment-body .select-question-part .question-inner{padding-top:2.75rem;width:calc(64rem + 5rem);height:calc(100vh - 9rem);overflow:auto;padding-right:3.75rem;position:relative;left:.625rem}.create-assessment-body .select-question-part .question-inner::-webkit-scrollbar-track{background-color:transparent}.create-assessment-body .select-question-part .question-inner .heading{margin-top:4rem;margin-bottom:2rem}.create-assessment-body .editor-section{height:100%}.create-assessment-body .editor-section-body{height:calc(100% - 5.25rem);position:relative;overflow:auto}.create-assessment-body .editor-section-body::-webkit-scrollbar-track{background-color:transparent}.create-assessment-body .editor-section-body .right-side-btn{position:fixed;top:180px;right:100px}.create-assessment-body .editor-section-body .right-side-btn button{background:#f8f8f8;border-radius:.125rem;border:none;width:1.5rem;height:1.5rem}.create-assessment-body .editor-section-inner{width:60rem;margin:0 auto;padding:2rem 0;height:100%}@media screen and (max-width:1366px){.create-assessment-body .editor-section-inner{width:55rem!important}}.create-assessment-body .editor-section-inner .next-question-area{position:relative}.create-assessment-body .editor-section-inner .next-question-area ::ng-deep app-question-type .question-type ul li{width:10rem!important}.create-assessment-body .editor-section-inner .next-question-area .overlay{z-index:8}.create-assessment-body .editor-section-inner .next-question-popup{background:#fff;border-radius:.25rem;box-shadow:0 0 6px #1e5dd326;position:absolute;left:0;right:0;bottom:0;z-index:9}.create-assessment-body .editor-section-footer{background:#fff;border-radius:0 0 .125rem .125rem;box-shadow:0 -3px 6px #1e5dd326;height:4.25rem;position:relative}.create-assessment-body .editor-section-footer button{border-radius:.125rem;width:12.5rem;height:2.75rem;letter-spacing:1.5px}.create-assessment-body .editor-section-footer button.cancel-btn,.create-assessment-body .editor-section-footer button.white-btn{background:#fff;border:1px solid #dbdbdb}.create-assessment-body .editor-section-footer button.blue-btn{background:#1e5dd3;border:none}.create-assessment-body .editor-section-footer button.disabled{opacity:.7;pointer-events:none;cursor:not-allowed}.create-assessment-body .editor-section-footer button.preview-btn{background:#34aa44;border-radius:.125rem;border:none;width:2.75rem;height:2.5rem;position:absolute;bottom:.875rem;right:1rem}.create-assessment-body .editor-section-footer button.close-btn{background:#d93b41;border-radius:.125rem;border:none;width:2.75rem;height:2.5rem;position:absolute;bottom:.875rem;right:1rem}button.page-title{background:#fff;border:1px dashed #dbdbdb;border-radius:.25rem;height:3.125rem;transition:all .3s ease-in-out}button.page-title:hover{border-color:#1e5dd3;color:#1e5dd3}.page-dropdown-popup{background:#fff;box-shadow:0 3px 6px #1c5bd140;border-radius:.25rem;width:11.5rem;-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}.page-dropdown-popup ul{list-style-type:none;max-height:12rem;overflow-y:auto}.page-dropdown-popup ul li{border-bottom:1px solid #f1f1f1;list-style-type:none}.page-dropdown-popup ul li:last-of-type,.page-dropdown-popup ul li:only-child{border-bottom:none}.page-dropdown-popup ul li button{background:transparent;border:none;border-radius:0;text-align:left}.page-dropdown-popup ul li button .page-label{background:#f1f1f1;border-radius:.125rem;color:#042e7d}.page-dropdown-popup .action-bottom{background:#f8f8f8;border-top:1px solid #f1f1f1;border-radius:0 0 .125rem .125rem}.page-dropdown-popup .action-bottom button{border-radius:.125rem;height:1.5rem}.page-dropdown-popup .action-bottom button.add-page{background:#1e5dd3;border:1px solid #1e5dd3}.page-number{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.disabled{opacity:.7;pointer-events:none;cursor:not-allowed}"]
418
+ styles: ["@import url(\"https://cdn.v-comply.com/design-system/css/icons/icons.css\");@import url(\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\");@import url(\"https://cdn.v-comply.com/design-system/css/display/display.css\");@import url(\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\");@import url(\"https://cdn.v-comply.com/design-system/css/color/color.css\");@import url(\"https://cdn.v-comply.com/design-system/css/text/text.css\");@import url(\"https://cdn.v-comply.com/design-system/css/width/width.css\");@import url(\"https://cdn.v-comply.com/design-system/css/margin/margin.css\");@import url(\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\");@import url(\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\");@import url(\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\");@import url(\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\");@import url(\"https://cdn.v-comply.com/design-system/css/padding/padding.css\");@import url(\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\");@import url(\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\");@import url(\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\");@import url(\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\");.create-assessment-container{position:relative}.create-assessment-container.full-page{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;margin:0!important;z-index:9}.create-assessment-container.full-page .create-assessment-head{border-radius:0}.create-assessment-container.full-page .create-assessment-body{border-radius:0;height:calc(100vh - 2.5rem)}.create-assessment-container.full-page .create-assessment-body .editor-section-body .right-side-btn{top:4.75rem;right:5rem}.create-assessment-container.full-page .create-assessment-body .editor-section-footer{border-radius:0}.create-assessment-head{background:#fbfbfb;border-top:3px solid #1e5dd3;border-bottom:1px solid #f1f1f1;height:2.5rem}.create-assessment-head .left{width:calc(100% - 22rem)}.create-assessment-head .left i.arrow-back{cursor:pointer}.create-assessment-head .left .heading{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:calc(100% - 10rem)}.create-assessment-head .left button.edit-btn{background:transparent;border:none;border-radius:0}.create-assessment-head .left.with-template-btn{width:calc(100% - 30rem)}.create-assessment-head .right button.page-dropdown{background:#fff;border-radius:.125rem;border:1px solid #bcbcbc;position:relative;height:1.5rem;width:11.5rem}.create-assessment-head .right button.page-dropdown .page-label{background:#f1f1f1;border-radius:.125rem;color:#042e7d}.create-assessment-head .right button.page-dropdown .arrow{position:absolute;top:.375rem;right:.5rem}.create-assessment-head .right button.settings-btn{background:#1e5dd3;border-radius:.125rem;border:none;height:1.5rem}.create-assessment-head .right button.template-btn{background:#34aa44;border-radius:.125rem;border:none;height:1.5rem}.create-assessment-body{background:#fff;border-radius:0 0 .125rem .125rem;height:calc(100vh - 2.5rem);scrollbar-width:thin}.create-assessment-body::-webkit-scrollbar-track{background-color:#f1f1f1}.create-assessment-body::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}.create-assessment-body app-toolkit{position:sticky;top:0}.create-assessment-body .select-question-part{padding-top:2.5rem;padding-bottom:3.75rem}.create-assessment-body .select-question-part .question-inner{padding-top:2.75rem;width:calc(64rem + 5rem);height:calc(100vh - 9rem);overflow:auto;padding-right:3.75rem;position:relative;left:.625rem}.create-assessment-body .select-question-part .question-inner::-webkit-scrollbar-track{background-color:transparent}.create-assessment-body .select-question-part .question-inner .heading{margin-top:4rem;margin-bottom:2rem}.create-assessment-body .editor-section{height:100%}.create-assessment-body .editor-section-body{height:calc(100% - 5.25rem);position:relative;overflow:auto}.create-assessment-body .editor-section-body::-webkit-scrollbar-track{background-color:transparent}.create-assessment-body .editor-section-body .right-side-btn{position:fixed;top:180px;right:100px}.create-assessment-body .editor-section-body .right-side-btn button{background:#f8f8f8;border-radius:.125rem;border:none;width:1.5rem;height:1.5rem}.create-assessment-body .editor-section-inner{width:60rem;margin:0 auto;padding:2rem 0;height:100%}@media screen and (max-width:1366px){.create-assessment-body .editor-section-inner{width:55rem!important}}.create-assessment-body .editor-section-inner .next-question-area{position:relative}.create-assessment-body .editor-section-inner .next-question-area ::ng-deep app-question-type .question-type ul li{width:10rem!important}.create-assessment-body .editor-section-inner .next-question-area .overlay{z-index:8}.create-assessment-body .editor-section-inner .next-question-popup{background:#fff;border-radius:.25rem;box-shadow:0 0 6px #1e5dd326;position:absolute;left:0;right:0;bottom:0;z-index:9}.create-assessment-body .editor-section-footer{background:#fff;border-radius:0 0 .125rem .125rem;box-shadow:0 -3px 6px #1e5dd326;height:4.25rem;position:relative}.create-assessment-body .editor-section-footer button{border-radius:.125rem;width:12.5rem;height:2.75rem;letter-spacing:1.5px}.create-assessment-body .editor-section-footer button.cancel-btn,.create-assessment-body .editor-section-footer button.white-btn{background:#fff;border:1px solid #dbdbdb}.create-assessment-body .editor-section-footer button.blue-btn{background:#1e5dd3;border:none}.create-assessment-body .editor-section-footer button.disabled{opacity:.7;pointer-events:none;cursor:not-allowed}.create-assessment-body .editor-section-footer button.preview-btn{background:#34aa44;border-radius:.125rem;border:none;width:2.75rem;height:2.5rem;position:absolute;bottom:.875rem;right:1rem}.create-assessment-body .editor-section-footer button.close-btn{background:#d93b41;border-radius:.125rem;border:none;width:2.75rem;height:2.5rem;position:absolute;bottom:.875rem;right:1rem}button.page-title{background:#fff;border:1px dashed #dbdbdb;border-radius:.25rem;height:3.125rem;transition:all .3s ease-in-out}button.page-title:hover{border-color:#1e5dd3;color:#1e5dd3}.page-dropdown-popup{background:#fff;box-shadow:0 3px 6px #1c5bd140;border-radius:.25rem;width:11.5rem;-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}.page-dropdown-popup ul{list-style-type:none;max-height:12rem;overflow-y:auto}.page-dropdown-popup ul li{border-bottom:1px solid #f1f1f1;list-style-type:none}.page-dropdown-popup ul li:last-of-type,.page-dropdown-popup ul li:only-child{border-bottom:none}.page-dropdown-popup ul li button{background:transparent;border:none;border-radius:0;text-align:left}.page-dropdown-popup ul li button .page-label{background:#f1f1f1;border-radius:.125rem;color:#042e7d}.page-dropdown-popup .action-bottom{background:#f8f8f8;border-top:1px solid #f1f1f1;border-radius:0 0 .125rem .125rem}.page-dropdown-popup .action-bottom button{border-radius:.125rem;height:1.5rem}.page-dropdown-popup .action-bottom button.add-page{background:#1e5dd3;border:1px solid #1e5dd3}.page-number{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.disabled{opacity:.7;pointer-events:none;cursor:not-allowed}"]
418
419
  },] }
419
420
  ];
420
421
  CreateAssessmentContainerComponent.ctorParameters = () => [
@@ -431,4 +432,4 @@ CreateAssessmentContainerComponent.propDecorators = {
431
432
  assessmentData: [{ type: Input, args: ['assessmentJSON',] }],
432
433
  checkpointData: [{ type: Input, args: ['checkpointJSON',] }]
433
434
  };
434
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWFzc2Vzc21lbnQtY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3NoYXJlZENvbXBvbmVudHMvYXNzZXNzbWVudC1lZGl0b3IvY3JlYXRlLWFzc2Vzc21lbnQtY29udGFpbmVyL2NyZWF0ZS1hc3Nlc3NtZW50LWNvbnRhaW5lci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUNwRyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxpRUFBaUUsQ0FBQztBQUU5RyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFM0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUN4RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdURBQXVELENBQUM7QUFReEYsTUFBTSxPQUFPLGtDQUFrQztJQXNCN0MsWUFDVSxNQUFxQixFQUN0QixhQUE0QjtJQUNuQyx5Q0FBeUM7SUFDakMsS0FBcUIsRUFDckIsUUFBeUIsRUFDekIsTUFBYztRQUxkLFdBQU0sR0FBTixNQUFNLENBQWU7UUFDdEIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFFM0IsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsYUFBUSxHQUFS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RUFBRSxpQkFBaUIsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsRUFBQyxDQUFDLENBQUM7U0FFMUY7SUFDSCxDQUFDOzs7WUF4Y0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxpQ0FBaUM7Z0JBQzNDLGt5WUFBMkQ7Z0JBRTNELFNBQVMsRUFBRSxDQUFDLGFBQWEsQ0FBQzs7YUFDM0I7OztZQVZRLGFBQWE7WUFIYixhQUFhO1lBRWIsY0FBYztZQUVkLGVBQWU7WUFGQyxNQUFNOzs7eUJBdUI1QixLQUFLOzRCQUNMLE1BQU07NkJBQ04sTUFBTTs2QkFFTixLQUFLLFNBQUMsZ0JBQWdCOzZCQUd0QixLQUFLLFNBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBFdmVudEVtaXR0ZXIsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBZGRQYWdlRGV0YWlsc0NvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvYWRkLXBhZ2UtZGV0YWlscy9hZGQtcGFnZS1kZXRhaWxzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFzc2Vzc21lbnRTZXR0aW5nc0NvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvYXNzZXNzbWVudC1zZXR0aW5ncy9hc3Nlc3NtZW50LXNldHRpbmdzLmNvbXBvbmVudCc7XHJcblxyXG5pbXBvcnQgeyBFZGl0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZWRpdG9yLnNlcnZpY2UnO1xyXG5cclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi91aS1raXQvZGlhbG9nL2RpYWxvZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU25hY2tCYXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vdWkta2l0L3NuYWNrLWJhci9zbmFjay1iYXIuc2VydmljZSc7XHJcbmltcG9ydCB7IERlbGV0ZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL3VpLWtpdC9hY3Rpb24tZGlhbG9nL2RlbGV0ZS9kZWxldGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQWN0aXZlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vdWkta2l0L2FjdGlvbi1kaWFsb2cvYWN0aXZlL2FjdGl2ZS5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtY3JlYXRlLWFzc2Vzc21lbnQtY29udGFpbmVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY3JlYXRlLWFzc2Vzc21lbnQtY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jcmVhdGUtYXNzZXNzbWVudC1jb250YWluZXIuY29tcG9uZW50Lmxlc3MnXSxcclxuICBwcm92aWRlcnM6IFtFZGl0b3JTZXJ2aWNlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ3JlYXRlQXNzZXNzbWVudENvbnRhaW5lckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgc2hvd0NvbGxhcHNlID0gZmFsc2U7XHJcbiAgZXhwYW5kUGFnZSA9IGZhbHNlO1xyXG4gIGhpZGVRdWVzdGlvbiA9IGZhbHNlO1xyXG4gIGFzc2Vzc21lbnRJZCA9ICcnO1xyXG4gIGFzc2Vzc21lbnROYW1lID0gJyc7XHJcbiAgYXNzZXNzbWVudENhdGVnb3J5ID0gJyc7XHJcbiAgYXNzZXNzbWVudENvbnRyb2xJZCA9ICcnO1xyXG4gIGFzc2Vzc21lbnRDdXJyZW50U3RhdGUgPSAnRFJBRlQnO1xyXG4gIHBhZ2VNb2RlOiAnRURJVCcgfCAnUFJFVklFVycgPSAnRURJVCc7XHJcbiAgaXNMb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBvcGVuUG9ydGFsIDonQVNTRVNTTUVOVF9JTVBPUlQnIHwgJ1JFU1BPTlNJQklMSVRZX0NIRUNLUE9JTlQnfCcnID0gJyc7XHJcbiAgQE91dHB1dCgpIHNldElzVXBsb2FkZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIHBvc3RBc3Nlc3NtZW50ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBASW5wdXQoJ2Fzc2Vzc21lbnRKU09OJykgc2V0IGFzc2Vzc21lbnREYXRhKHZhbHVlOiBhbnkpIHtcclxuICAgIHRoaXMuaW5pdGlhbGl6ZUFzc2Vzc21lbnQodmFsdWUpXHJcbiAgfVxyXG4gIEBJbnB1dCgnY2hlY2twb2ludEpTT04nKSBzZXQgY2hlY2twb2ludERhdGEodmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy5pbml0aWFsaXplQXNzZXNzbWVudCh2YWx1ZSlcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBkaWFsb2c6IERpYWxvZ1NlcnZpY2UsXHJcbiAgICBwdWJsaWMgZWRpdG9yU2VydmljZTogRWRpdG9yU2VydmljZSxcclxuICAgIC8vIHByaXZhdGUgIGxheW91dFNlcnZpY2U6IExheW91dFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcclxuICAgIHByaXZhdGUgc25hY2tiYXI6IFNuYWNrQmFyU2VydmljZSxcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXJcclxuICApIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZWRpdG9yU2VydmljZS5hZGRQYWdlKCk7XHJcbiAgICB0aGlzLmVkaXRvclNlcnZpY2UubnVtYmVyT2ZQYWdlcygpO1xyXG4gICAgLy8gdGhpcy5pbml0aWFsaXplQXNzZXNzbWVudCgpO1xyXG4gIH1cclxudHJpZ2dlclByZXZpZXdXaXRoVmFsaWRhdGlvbigpe1xyXG4gIHRoaXMuZWRpdG9yU2VydmljZS5hY3RpdmVRdWVzdGlvbkluZGV4Lm5leHQoLTEwKTtcclxuICB0aGlzLmVkaXRvclNlcnZpY2UuYWN0aXZlUXVlc3Rpb24gPSAtMTA7XHJcbn1cclxuICBpbml0aWFsaXplQXNzZXNzbWVudChhc3Nlc3NtZW50RGF0YTogYW55KSB7XHJcbiAgICBpZiAoYXNzZXNzbWVudERhdGEpIHtcclxuICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmZvcm1zUGFnZSA9IGFzc2Vzc21lbnREYXRhLmFzc2Vzc21lbnREYXRhO1xyXG4gICAgICB0aGlzLmFzc2Vzc21lbnROYW1lID0gYXNzZXNzbWVudERhdGEubWV0YWRhdGEuYXNzZXNzbWVudF9uYW1lO1xyXG4gICAgICB0aGlzLmFzc2Vzc21lbnRDYXRlZ29yeSA9IGFzc2Vzc21lbnREYXRhLm1ldGFkYXRhLmNhdGVnb3J5X2FycjtcclxuXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpbml0aWFsaXplQ2hlY2twb2ludChjaGVja3BvaW50RGF0YTphbnkpe1xyXG4gICAgaWYoY2hlY2twb2ludERhdGEgJiYgT2JqZWN0LmtleXMoY2hlY2twb2ludERhdGEpPy5sZW5ndGggPiAwKXtcclxuICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmZvcm1zUGFnZSA9IGNoZWNrcG9pbnREYXRhO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0QWxsUGFnZXMoKSB7XHJcbiAgICB0aGlzLmVkaXRvclNlcnZpY2UuYWxsUGFnZXMgPSBbLi4ubmV3IFNldCh0aGlzLmVkaXRvclNlcnZpY2UuZm9ybXNQYWdlLmVsZW1lbnRzLm1hcCgoZWxlOiBhbnkpID0+IGVsZS5wYWdlKSldO1xyXG4gICAgdGhpcy5nZXRQYWdlTmFtZSgxKTtcclxuICB9XHJcblxyXG4gIGFkZFBhZ2VEZXRhaWxzKCkge1xyXG4gICAgY29uc3QgcmVmID0gdGhpcy5kaWFsb2cub3BlbihBZGRQYWdlRGV0YWlsc0NvbXBvbmVudCwge1xyXG4gICAgICBkYXRhOiB7IHBhZ2U6IHRoaXMuZWRpdG9yU2VydmljZS5jdXJyZW50UGFnZU51bWJlciwgcGFnZURldGFpbHM6IHRoaXMuZWRpdG9yU2VydmljZS5jdXJyZW50UGFnZURldGFpbHMsIHJlZjogdGhpcy5lZGl0b3JTZXJ2aWNlIH0sXHJcbiAgICAgIHBvc2l0aW9uOiAnUklHSFQnLFxyXG4gICAgICBiYWNrZ3JvdW5kOiAnYmxhY2snLFxyXG4gICAgfSk7XHJcbiAgICByZWYuYWZ0ZXJDbG9zZWQuc3Vic2NyaWJlKChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgdGhpcy5nZW5lcmF0ZVBhZ2VEcm9wZG93bigpO1xyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIHB1YmxpYyBlbnRpdHlTZXR0aW5nczogYW55ID0ge1xyXG4gICAgcGFuZWxUaXRsZTogJydcclxuICB9O1xyXG5cclxuICBhc3Nlc3NtZW50U2V0dGluZ3MoKSB7XHJcbiAgICB0aGlzLmVudGl0eVNldHRpbmdzID0gdGhpcy5nZXRTZXR0aW5nc0RhdGEoKTtcclxuICAgIGNvbnN0IHJlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQXNzZXNzbWVudFNldHRpbmdzQ29tcG9uZW50LCB7XHJcbiAgICAgIGRhdGE6IHsgc2V0dGluZ3M6IHRoaXMuZW50aXR5U2V0dGluZ3MsIHNlcnZpY2U6IHRoaXMuZWRpdG9yU2VydmljZSB9LFxyXG4gICAgICBwb3NpdGlvbjogJ1JJR0hUJyxcclxuICAgICAgYmFja2dyb3VuZDogJ2JsYWNrJyxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0U2V0dGluZ3NEYXRhKCkge1xyXG4gICAgbGV0IHNldHRpbmdzOiBhbnkgPSB7XHJcbiAgICAgIHBhbmVsVGl0bGU6IGBBc3Nlc3NtZW50IHNldHRpbmdzYCxcclxuXHJcbiAgICAgIHNldHRpbmdzRWxlbWVudHM6IFtdXHJcbiAgICB9XHJcbiAgICBzZXR0aW5ncy5zZXR0aW5nc0VsZW1lbnRzLnB1c2goXHJcbiAgICAgIHtcclxuICAgICAgICB0eXBlOiAnQVNTRVNTTUVOVCcsXHJcbiAgICAgICAgZW50aXR5VHlwZTogJ0FTU0VTU01FTlQnLFxyXG4gICAgICAgIGlzVmlzaWJsZTogdHJ1ZSxcclxuICAgICAgICBpc0VuYWJsZWQ6IHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2Uuc2V0dGluZ3MuYXNzZXNzbWVudE1vZGUsXHJcbiAgICAgICAgaGVscGluZ1RleHQ6ICdZb3UgY2FuIGNvbmZpZ3VyZSBzY29yZXMgZm9yIHRoZSBxdWVzdGlvbnMgYW5kIGFuYWx5emUgdGhlIHJlc3BvbnNlcyBzdWJtaXR0ZWQgYnkgdGhlIHJlc3BvbmRlbnQgYmFzZWQgb24gdGhlc2Ugc2NvcmVzLicsXHJcbiAgICAgICAgZGVmYXVsdFNjb3JlOiB0aGlzLmVkaXRvclNlcnZpY2UuZm9ybXNQYWdlLnNldHRpbmdzLmRlZmF1bHRTY29yZSxcclxuICAgICAgICBuZWdhdGl2ZVNjb3JlQ3JpdGVyaWE6IHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2Uuc2V0dGluZ3MubmVnYXRpdmVTY29yZUNyaXRlcmlhLFxyXG4gICAgICAgIG5lZ2F0aXZlU2NvcmU6IHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2Uuc2V0dGluZ3MubmVnYXRpdmVTY29yZSxcclxuICAgICAgICB3ZWlnaHRhZ2VFbmFibGVkOiB0aGlzLmVkaXRvclNlcnZpY2UuZm9ybXNQYWdlLnNldHRpbmdzLndlaWdodGFnZUVuYWJsZWQsXHJcbiAgICAgICAgc2V0dGluZ1RpdGxlOiAnQVNTRVNTTUVOVCBNT0RFJyxcclxuICAgICAgICBzZXR0aW5nRW5hYmxlVGV4dDogYEVuYWJsZSBhc3Nlc3NtZW50IG1vZGUgZm9yIHRoaXMgYXNzZXNzbWVudGAsXHJcbiAgICAgICAgdXBkYXRlVHlwZTogJ0xBWlknXHJcbiAgICAgIH1cclxuXHJcbiAgICApXHJcbiAgICBzZXR0aW5ncy5zZXR0aW5nc0VsZW1lbnRzLnB1c2goXHJcbiAgICAgIHtcclxuICAgICAgICB0eXBlOiAnUkVTUE9OU0VfU0VHTUVOVCcsXHJcbiAgICAgICAgZW50aXR5VHlwZTogJ0FTU0VTU01FTlQnLFxyXG4gICAgICAgIGhlbHBpbmdUZXh0OiAnUmVzcG9uc2Ugc2VnbWVudHMgbGV0IHlvdSBkaXZpZGUgdGhlIHJlc3BvbnNlcyBpbnRvIHNlcGFyYXRlIHBhcnRzIG9yIHNlY3Rpb25zIGZvciBlYXNpZXIgYW5hbHlzaXMgb2YgZGF0YSBhbmQgYXNzaXN0IGluIGRlY2lzaW9uIG1ha2luZy4nLFxyXG4gICAgICAgIGlzVmlzaWJsZTogdHJ1ZSxcclxuICAgICAgICBpc0VuYWJsZWQ6IHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2UucmVzcG9uc2VTZWdtZW50Wydpc0VuYWJsZWQnXSA/PyBmYWxzZSxcclxuICAgICAgICBzZXR0aW5nVGl0bGU6ICdSRVNQT05TRSBTRUdNRU5UUycsXHJcbiAgICAgICAgc2V0dGluZ0VuYWJsZVRleHQ6IGBDb25maWd1cmUgUmVzcG9uc2UgU2VnbWVudHMgZm9yIHRoaXMgYXNzZXNzbWVudGAsXHJcbiAgICAgICAgdXBkYXRlVHlwZTogJ0xBWlknLFxyXG4gICAgICAgIHNlZ21lbnREYXRhOiB0aGlzLmVkaXRvclNlcnZpY2UuZm9ybXNQYWdlLnJlc3BvbnNlU2VnbWVudFxyXG4gICAgICB9XHJcbiAgICApXHJcbiAgICByZXR1cm4gc2V0dGluZ3M7XHJcbiAgfVxyXG5cclxuICBjbGlja0NvbGxhcHNlKCkge1xyXG4gICAgdGhpcy5zaG93Q29sbGFwc2UgPSAhdGhpcy5zaG93Q29sbGFwc2U7XHJcbiAgfVxyXG5cclxuICBjbGlja0V4cGFuZCgpIHtcclxuICAgIHRoaXMuZXhwYW5kUGFnZSA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBjbG9zZUV4cGFuZCgpIHtcclxuICAgIHRoaXMuZXhwYW5kUGFnZSA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlUGFnZSgpIHtcclxuICAgIGNvbnN0IHJlZiA9IHRoaXMuZGlhbG9nLm9wZW4oRGVsZXRlQ29tcG9uZW50LCB7XHJcbiAgICAgIGRhdGE6IHsgbWVzc2FnZTogYFRoaXMgYWN0aW9uIHdpbGwgPHN0cm9uZz5yZW1vdmU8L3N0cm9uZz4gdGhpcyBwYWdlLmAgfSxcclxuICAgICAgcG9zaXRpb246ICdDRU5URVInLFxyXG4gICAgICBiYWNrZ3JvdW5kOiAnYmxhY2snLFxyXG4gICAgfSk7XHJcbiAgICByZWYuYWZ0ZXJDbG9zZWQuc3Vic2NyaWJlKChkYXRhOiBhbnkpID0+IHtcclxuXHJcbiAgICAgIGlmIChkYXRhID09PSB0cnVlKSB7XHJcbiAgICAgICAgdGhpcy5kZWxldGVQYWdlQ29uZmlybSh0cnVlKVxyXG4gICAgICB9XHJcblxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIGRlbGV0ZVBhZ2VDb25maXJtKGNvbmZpcm1EZWxldGU6IGFueSkge1xyXG4gICAgaWYgKGNvbmZpcm1EZWxldGUpIHtcclxuICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmFsbFBhZ2VzID0gdGhpcy5lZGl0b3JTZXJ2aWNlLmFsbFBhZ2VzLmZpbHRlcigocGFnZU51bTogYW55KSA9PiBwYWdlTnVtICE9PSB0aGlzLmVkaXRvclNlcnZpY2UuY3VycmVudFBhZ2VOdW1iZXIpO1xyXG4gICAgICB0aGlzLmVkaXRvclNlcnZpY2UuYWxsUGFnZXMgPSB0aGlzLnVwZGF0ZVBhZ2VOdW1iZXJzRm9yQWxsUGFnZXModGhpcy5lZGl0b3JTZXJ2aWNlLmFsbFBhZ2VzKTtcclxuICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmZvcm1zUGFnZS5wYWdlRGV0YWlsc0xpc3QgPSB0aGlzLmVkaXRvclNlcnZpY2UuZm9ybXNQYWdlLnBhZ2VEZXRhaWxzTGlzdC5maWx0ZXIoKHBhZ2VEZXRhaWw6IGFueSkgPT5cclxuICAgICAgICBwYWdlRGV0YWlsLnBhZ2VOdW1iZXIgIT09IHRoaXMuZWRpdG9yU2VydmljZS5jdXJyZW50UGFnZU51bWJlcik7XHJcbiAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2UucGFnZURldGFpbHNMaXN0ID0gdGhpcy51cGRhdGVQYWdlTnVtYmVyRm9yUGFnZURldGFpbHModGhpcy5lZGl0b3JTZXJ2aWNlLmZvcm1zUGFnZS5wYWdlRGV0YWlsc0xpc3QpO1xyXG4gICAgICB0aGlzLmVkaXRvclNlcnZpY2UuZm9ybXNQYWdlLmVsZW1lbnRzID0gdGhpcy5lZGl0b3JTZXJ2aWNlLmZvcm1zUGFnZS5lbGVtZW50cy5maWx0ZXIoXHJcbiAgICAgICAgKGVsZW1lbnREZXRhaWw6IGFueSkgPT4gZWxlbWVudERldGFpbC5wYWdlICE9PSB0aGlzLmVkaXRvclNlcnZpY2UuY3VycmVudFBhZ2VOdW1iZXIpO1xyXG4gICAgICB0aGlzLmVkaXRvclNlcnZpY2UuZm9ybXNQYWdlLmVsZW1lbnRzID0gdGhpcy51cGRhdGVQYWdlTnVtYmVyRm9yUXVlc3Rpb25zKHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2UuZWxlbWVudHMpO1xyXG4gICAgICBpZiAodGhpcy5lZGl0b3JTZXJ2aWNlLmN1cnJlbnRQYWdlTnVtYmVyID4gMSkge1xyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5jdXJyZW50UGFnZU51bWJlciAtPSAxO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuZ2V0UGFnZU5hbWUodGhpcy5lZGl0b3JTZXJ2aWNlLmN1cnJlbnRQYWdlTnVtYmVyKTtcclxuICAgICAgdGhpcy5jaGVja0ZvclBhZ2VEZXRhaWxzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmFjdGl2ZVF1ZXN0aW9uID0gLTEwO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlUGFnZU51bWJlcnNGb3JBbGxQYWdlcyhhcnJheVRvQmVVcGRhdGVkOiBhbnkpIHtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYXJyYXlUb0JlVXBkYXRlZC5sZW5ndGg7IGkrKykge1xyXG4gICAgICBpZiAoaSA+PSB0aGlzLmVkaXRvclNlcnZpY2UuY3VycmVudFBhZ2VOdW1iZXIgLSAxKSB7XHJcbiAgICAgICAgYXJyYXlUb0JlVXBkYXRlZFtpXSAtPSAxO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYXJyYXlUb0JlVXBkYXRlZDtcclxuICB9XHJcblxyXG4gIHVwZGF0ZVBhZ2VOdW1iZXJGb3JQYWdlRGV0YWlscyhhcnJheVRvQmVVcGRhdGVkOiBhbnkpIHtcclxuICAgIGFycmF5VG9CZVVwZGF0ZWQuZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XHJcbiAgICAgIGlmIChlbGVtZW50LnBhZ2VOdW1iZXIgPj0gdGhpcy5lZGl0b3JTZXJ2aWNlLmN1cnJlbnRQYWdlTnVtYmVyKSB7XHJcbiAgICAgICAgZWxlbWVudC5wYWdlTnVtYmVyIC09IDE7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIGFycmF5VG9CZVVwZGF0ZWQ7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVQYWdlTnVtYmVyRm9yUXVlc3Rpb25zKGFycmF5VG9CZVVwZGF0ZWQ6IGFueSkge1xyXG4gICAgYXJyYXlUb0JlVXBkYXRlZC5mb3JFYWNoKChlbGVtZW50OiBhbnkpID0+IHtcclxuICAgICAgaWYgKGVsZW1lbnQucGFnZSA+PSB0aGlzLmVkaXRvclNlcnZpY2UuY3VycmVudFBhZ2VOdW1iZXIpIHtcclxuICAgICAgICBlbGVtZW50LnBhZ2UgLT0gMTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gYXJyYXlUb0JlVXBkYXRlZDtcclxuICB9XHJcblxyXG4gIG9wZW5RdWVzdGlvbigpIHtcclxuICAgIHRoaXMuaGlkZVF1ZXN0aW9uID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGNsb3NlUXVlc3Rpb24oKSB7XHJcbiAgICB0aGlzLmhpZGVRdWVzdGlvbiA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlUXVlc3Rpb25XaXRoVmFsaWRhdGlvbihpbmRleDogYW55KSB7XHJcbiAgICBpZiAoaW5kZXggPT09ICd3ZWxjb21lJykge1xyXG4gICAgICB0aGlzLmVkaXRvclNlcnZpY2UuZm9ybXNQYWdlLmhhc1dlbGNvbWUgPSBmYWxzZTtcclxuICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmN1cnJlbnRQYWdlTnVtYmVyID0gMTtcclxuICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLnN0ZXBJZGVudGlmaWVyID0gJ3BhZ2VzY3JlZW4nO1xyXG4gICAgfVxyXG4gICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmRlbGV0ZVF1ZXN0aW9uKGluZGV4KTtcclxuICB9XHJcblxyXG4gIGNoZWNrZm9yRXJyb3IobW9kZT86IGFueSkge1xyXG4gICAgLy8gdGhpcy5tb3JlT3B0aW9ucyA9IGZhbHNlO1xyXG4gICAgY29uc3QgZXJyb3JRdWVzdGlvbkluZGV4ID0gdGhpcy5lZGl0b3JTZXJ2aWNlLmZvcm1zUGFnZS5lbGVtZW50cy5maW5kSW5kZXgoXHJcbiAgICAgIChlbGVtZW50OiBhbnksIGluZGV4OiBhbnkpID0+IChlbGVtZW50LmVycm9yQXJyYXkgJiYgZWxlbWVudC5lcnJvckFycmF5ICE9PSB7fSAmJiBPYmplY3QudmFsdWVzKGVsZW1lbnQuZXJyb3JBcnJheSkubGVuZ3RoID4gMCkpO1xyXG4gICAgaWYgKGVycm9yUXVlc3Rpb25JbmRleCA+PSAwKSB7XHJcbiAgICAgIGlmIChtb2RlID09PSAnZnVsbCcpIHtcclxuICAgICAgICB0aGlzLmVkaXRvclNlcnZpY2UuY3VycmVudFBhZ2VOdW1iZXIgPSB0aGlzLmVkaXRvclNlcnZpY2UuZm9ybXNQYWdlLmVsZW1lbnRzW2Vycm9yUXVlc3Rpb25JbmRleF0ucGFnZTtcclxuICAgICAgfVxyXG4gICAgICBpZiAobW9kZSAhPT0gJ3BhcnRpYWwnKSB7XHJcbiAgICAgICAgLy8gdGhpcy5nZXRQYWdlTmFtZSh0aGlzLmVkaXRvclNlcnZpY2UuY3VycmVudFBhZ2VOdW1iZXIpO1xyXG5cclxuICAgICAgICB0aGlzLmVkaXRvclNlcnZpY2UuYWN0aXZlUXVlc3Rpb24gPSBlcnJvclF1ZXN0aW9uSW5kZXg7XHJcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmFjdGl2ZVF1ZXN0aW9uSW5kZXgubmV4dChlcnJvclF1ZXN0aW9uSW5kZXgpO1xyXG5cclxuICAgICAgICBjb25zdCBxdWVzdGlvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2UuZWxlbWVudHNbZXJyb3JRdWVzdGlvbkluZGV4XS5uYW1lKTtcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgIGlmIChxdWVzdGlvbikge1xyXG4gICAgICAgICAgICBxdWVzdGlvbi5zY3JvbGxJbnRvVmlldyh7IGJlaGF2aW9yOiAnc21vb3RoJywgYmxvY2s6ICdzdGFydCcgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSwgMjAwKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAobW9kZSA9PT0gJ3NhdmUnKSB7XHJcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmFjdGl2ZVF1ZXN0aW9uID0gLTEwO1xyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5hY3RpdmVRdWVzdGlvbkluZGV4Lm5leHQoLTEwKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAobW9kZSA9PT0gJ3NhdmUnKSB7XHJcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmFjdGl2ZVF1ZXN0aW9uID0gLTEwO1xyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5hY3RpdmVRdWVzdGlvbkluZGV4Lm5leHQoLTEwKTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZW5lcmF0ZVBhZ2VEcm9wZG93bigpIHtcclxuICAgIGNvbnN0IGxpc3QgPSBbXTtcclxuICAgIGlmICh0aGlzLmVkaXRvclNlcnZpY2UuZm9ybXNQYWdlLmhhc1dlbGNvbWUgPT09IHRydWUpIHtcclxuICAgICAgbGlzdC5wdXNoKHsgdmFsdWU6IC0xLCB0ZW1wbGF0ZTogYDxzcGFuIGNsYXNzPVwicGFnZS1udW1iZXJcIj5XZWxjb21lIFNjcmVlbjwvc3Bhbj5gIH0pO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2UuaGFzVGhhbmtzID09PSB0cnVlKSB7XHJcbiAgICAgIGxpc3QucHVzaCh7IHZhbHVlOiAtMiwgdGVtcGxhdGU6IGA8c3BhbiBjbGFzcz1cInBhZ2UtbnVtYmVyXCI+VGhhbmsgeW91IFNjcmVlbjwvc3Bhbj5gIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZWRpdG9yU2VydmljZS5hbGxQYWdlcy5mb3JFYWNoKChlbGVtZW50OiBhbnkpID0+IHtcclxuICAgICAgbGlzdC5wdXNoKHsgdmFsdWU6IGVsZW1lbnQsIHRlbXBsYXRlOiB0aGlzLmdldFBhZ2VOYW1lRm9yRHJvcGRvd24oZWxlbWVudCkgfSk7XHJcblxyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIGxpc3Q7XHJcbiAgfVxyXG5cclxuICBnZXRQYWdlTmFtZUZvckRyb3Bkb3duKHBhZ2VOdW1iZXI6IGFueSkge1xyXG4gICAgbGV0IHBhZ2VWYWx1ZSA9IGA8c3BhbiBjbGFzcz1cInBhZ2UtbnVtYmVyXCI+UGFnZSAke3BhZ2VOdW1iZXJ9PC9zcGFuPmA7XHJcbiAgICB0aGlzLmVkaXRvclNlcnZpY2UuZm9ybXNQYWdlLnBhZ2VEZXRhaWxzTGlzdC5mb3JFYWNoKChwYWdlRGV0YWlsOiBhbnkpID0+IHtcclxuICAgICAgaWYgKHBhZ2VEZXRhaWwucGFnZU51bWJlciA9PT0gcGFnZU51bWJlciAmJiBwYWdlRGV0YWlsLnBhZ2VOYW1lICE9PSAnJykge1xyXG4gICAgICAgIHBhZ2VWYWx1ZSA9IGA8c3BhbiBjbGFzcz1cInBhZ2UtbGFiZWwgdngtZnMtOSB2eC1mdy02MDAgdngtdHQtdXBwZXJjYXNlIHZ4LXBsLTEgdngtcHItMSB2eC1tci0yIHZ4LWxoLTNcIj5QQUdFPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicGFnZS1udW1iZXIgdngtZnMtMTEgdngtcGFyYWdyYXBoLXR4dFwiPiR7cGFnZURldGFpbC5wYWdlTnVtYmVyfTwvc3Bhbj5gXHJcbiAgICAgICAgLy9wYWdlVmFsdWUgPSBgPHNwYW4gY2xhc3M9XCJwYWdlLWxhYmVsIHZ4LWZzLTkgdngtZnctNjAwIHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtbXItMiB2eC1saC0zXCI+UGFnZSA8L3NwYW4+IDxzcGFuICR7cGFnZURldGFpbC5wYWdlTnVtYmVyfTwvc3Bhbj4gPHNwYW4gY2xhc3M9XCJwYWdlLW51bWJlciB2eC1mcy0xMSB2eC1wYXJhZ3JhcGgtdHh0XCI+ICR7cGFnZURldGFpbC5wYWdlTmFtZX08L3NwYW4+YDtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gcGFnZVZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcGFnZUNoYW5nZWQoZXZ0OiBhbnkpIHtcclxuXHJcbiAgICBpZiAoZXZ0LnZhbHVlID09PSAtMSkge1xyXG4gICAgICB0aGlzLnNldElkZW50aWZpZXIoJ3dlbGNvbWVzY3JlZW4nKTtcclxuICAgIH0gZWxzZSBpZiAoZXZ0LnZhbHVlID09PSAtMikge1xyXG4gICAgICB0aGlzLnNldElkZW50aWZpZXIoJ3RoYW5reW91c2NyZWVuJyk7XHJcbiAgICB9IGVsc2UgaWYgKGV2dC52YWx1ZSA+PSAwKSB7XHJcbiAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5jdXJyZW50UGFnZU51bWJlciA9IGV2dD8udmFsdWU7XHJcbiAgICAgIHRoaXMuc2V0SWRlbnRpZmllcigncGFnZXNjcmVlbicpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0SWRlbnRpZmllcihzY3JlZW46IGFueSkge1xyXG4gICAgdGhpcy5jaGFuZ2VUb0luYWN0aXZlKCk7XHJcbiAgICBpZiAoc2NyZWVuID09PSAnd2VsY29tZXNjcmVlbicpIHtcclxuICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLnN0ZXBJZGVudGlmaWVyID0gJ3dlbGNvbWVzY3JlZW4nO1xyXG4gICAgICB0aGlzLmVkaXRvclNlcnZpY2UuY3VycmVudFBhZ2VOdW1iZXIgPSAtMTtcclxuICAgIH1cclxuICAgIGlmIChzY3JlZW4gPT09ICd0aGFua3lvdXNjcmVlbicpIHtcclxuICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLnN0ZXBJZGVudGlmaWVyID0gJ3RoYW5reW91c2NyZWVuJztcclxuICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmN1cnJlbnRQYWdlTnVtYmVyID0gLTI7XHJcbiAgICB9XHJcbiAgICBpZiAoc2NyZWVuID09PSAncGFnZXNjcmVlbicpIHtcclxuICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLnN0ZXBJZGVudGlmaWVyID0gJ3BhZ2VzY3JlZW4nO1xyXG4gICAgICBpZiAodGhpcy5lZGl0b3JTZXJ2aWNlLmFsbFBhZ2VzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5hZGRQYWdlKCk7XHJcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmN1cnJlbnRQYWdlTnVtYmVyID0gMTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmVkaXRvclNlcnZpY2UuY3VycmVudFBhZ2VOdW1iZXIgPT09IC0xIHx8IHRoaXMuZWRpdG9yU2VydmljZS5jdXJyZW50UGFnZU51bWJlciA9PT0gLTIpIHtcclxuICAgICAgICB0aGlzLmVkaXRvclNlcnZpY2UuY3VycmVudFBhZ2VOdW1iZXIgPSB0aGlzLmVkaXRvclNlcnZpY2UuYWxsUGFnZXMubGVuZ3RoO1xyXG4gICAgICB9XHJcblxyXG4gICAgfVxyXG4gICAgdGhpcy5nZXRQYWdlTmFtZSh0aGlzLmVkaXRvclNlcnZpY2UuY3VycmVudFBhZ2VOdW1iZXIpO1xyXG4gIH1cclxuXHJcbiAgZ2V0UGFnZU5hbWUocGFnZU51bWJlcjogYW55KSB7XHJcbiAgICB0aGlzLmVkaXRvclNlcnZpY2UuY3VycmVudFBhZ2VEZXRhaWxzID0geyBwYWdlTmFtZTogJycsIHBhZ2VOdW1iZXI6IDAsIHBhZ2VEZXNjcmlwdGlvbjogJycgfTtcclxuICAgIHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2UucGFnZURldGFpbHNMaXN0LmZvckVhY2goKHBhZ2VEZXRhaWw6IGFueSkgPT4ge1xyXG4gICAgICBpZiAocGFnZURldGFpbC5wYWdlTnVtYmVyID09PSBwYWdlTnVtYmVyKSB7XHJcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmN1cnJlbnRQYWdlRGV0YWlscy5wYWdlTnVtYmVyID0gcGFnZURldGFpbC5wYWdlTnVtYmVyO1xyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5jdXJyZW50UGFnZURldGFpbHMucGFnZU5hbWUgPSBwYWdlRGV0YWlsLnBhZ2VOYW1lO1xyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5jdXJyZW50UGFnZURldGFpbHMucGFnZURlc2NyaXB0aW9uID0gcGFnZURldGFpbC5wYWdlRGVzY3JpcHRpb247XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy5jaGVja0ZvclBhZ2VEZXRhaWxzKCk7XHJcbiAgfVxyXG5cclxuICBjaGVja0ZvclBhZ2VEZXRhaWxzKCkge1xyXG4gICAgaWYgKHRoaXMuZWRpdG9yU2VydmljZS5jdXJyZW50UGFnZURldGFpbHMgPT09IHVuZGVmaW5lZCB8fCB0aGlzLmVkaXRvclNlcnZpY2UuY3VycmVudFBhZ2VEZXRhaWxzLnBhZ2VOYW1lID09PSAnJykge1xyXG4gICAgICB0aGlzLmVkaXRvclNlcnZpY2Uuc2hvd0FkZFBhZ2VPcHRpb24gPSB0cnVlO1xyXG4gICAgICB0aGlzLmVkaXRvclNlcnZpY2Uuc2hvd1BhZ2VEZXRhaWxzID0gZmFsc2U7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmVkaXRvclNlcnZpY2Uuc2hvd0FkZFBhZ2VPcHRpb24gPSBmYWxzZTtcclxuICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLnNob3dQYWdlRGV0YWlscyA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VUb0luYWN0aXZlKCkge1xyXG4gICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmFjdGl2ZVF1ZXN0aW9uID0gLTU7XHJcbiAgICB0aGlzLmVkaXRvclNlcnZpY2UuYWN0aXZlUXVlc3Rpb25JbmRleC5uZXh0KC01KTtcclxuICB9XHJcblxyXG4gIGFkZE5ld1BhZ2UoKSB7XHJcbiAgICB0aGlzLmVkaXRvclNlcnZpY2UuYWRkUGFnZSgpO1xyXG4gICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmN1cnJlbnRQYWdlRGV0YWlscyA9IHsgcGFnZU5hbWU6ICcnLCBwYWdlTnVtYmVyOiB0aGlzLmVkaXRvclNlcnZpY2UuY3VycmVudFBhZ2VOdW1iZXIsIHBhZ2VEZXNjcmlwdGlvbjogJycgfTtcclxuICAgIHRoaXMuZWRpdG9yU2VydmljZS5zaG93UGFnZURldGFpbHMgPSBmYWxzZTtcclxuICAgIHRoaXMuZWRpdG9yU2VydmljZS5zaG93QWRkUGFnZU9wdGlvbiA9IHRydWU7XHJcbiAgICB0aGlzLmdlbmVyYXRlUGFnZURyb3Bkb3duKCk7XHJcbiAgfVxyXG5cclxuICBjYXBpdGFsaXplU3RyaW5nKHN0cmluZ1ZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiBzdHJpbmdWYWx1ZVswXS50b1VwcGVyQ2FzZSgpICsgc3RyaW5nVmFsdWUuc2xpY2UoMSk7XHJcbiAgfVxyXG5cclxuICBvbkRlbGV0ZVBhZ2VDbGljaygpIHtcclxuICAgIC8vIHRoaXMuc2hvd0RlbGV0ZVBvcHVwID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGlzUGFnZUVtcHR5KCkge1xyXG4gICAgaWYgKCFbLi4ubmV3IFNldCh0aGlzLmVkaXRvclNlcnZpY2UuZm9ybXNQYWdlLmVsZW1lbnRzLm1hcCgoZWxlbWVudDogYW55KSA9PiBlbGVtZW50LnBhZ2UpKV0uaW5jbHVkZXModGhpcy5lZGl0b3JTZXJ2aWNlLmN1cnJlbnRQYWdlTnVtYmVyKSkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN1Ym1pdEFmdGVyRXJyb3JDaGVjayhtb2RlOiBhbnkpIHtcclxuICAgIHRoaXMuZWRpdG9yU2VydmljZS5hY3RpdmVRdWVzdGlvbkluZGV4Lm5leHQoLTEwKTtcclxuICAgIHRoaXMuZWRpdG9yU2VydmljZS5hY3RpdmVRdWVzdGlvbiA9IC0xMDtcclxuICAgIGlmICh0aGlzLmVkaXRvclNlcnZpY2Uuc3RlcElkZW50aWZpZXIgPT09ICd3ZWxjb21lc2NyZWVuJyB8fCB0aGlzLmVkaXRvclNlcnZpY2Uuc3RlcElkZW50aWZpZXIgPT09ICd0aGFua3lvdXNjcmVlbicpIHtcclxuICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmN1cnJlbnRQYWdlTnVtYmVyID0gMTtcclxuICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLnN0ZXBJZGVudGlmaWVyID0gJ3BhZ2VzY3JlZW4nO1xyXG4gICAgfVxyXG4gICAgLy90aGlzLnBhZ2VNb2RlID0gJ0VESVQnO1xyXG5cclxuICAgIHRoaXMudmFsaWRhdGVXZWxjb21lVGhhbmtZb3UoKTtcclxuXHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgaWYgKCF0aGlzLmNoZWNrZm9yRXJyb3IoJ2Z1bGwnKSkge1xyXG4gICAgICAgIGZvciAoY29uc3QgcXVlc3Rpb24gb2YgdGhpcy5lZGl0b3JTZXJ2aWNlLmZvcm1zUGFnZS5lbGVtZW50cykge1xyXG4gICAgICAgICAgaWYgKCFbJ2NoZWNrYm94JywgJ2Ryb3Bkb3duJywgJ211bHRpcGxlLWNob2ljZSddLmluY2x1ZGVzKHF1ZXN0aW9uLnR5cGUpKSB7XHJcbiAgICAgICAgICAgIGlmIChxdWVzdGlvbi5jaG9pY2VzKSB7XHJcbiAgICAgICAgICAgICAgcXVlc3Rpb24uY2hvaWNlcy5mb3JFYWNoKChlbGVtZW50OiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgIGVsZW1lbnQuY29sb3IgPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgICAgICAgICBlbGVtZW50LnNjb3JlID0gMTtcclxuICAgICAgICAgICAgICAgIGVsZW1lbnQuaXNGYWlsZWQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBxdWVzdGlvbi5vdGhlckNvbmZpZyA9IHsgY29sb3I6ICcnLCBpc0ZhaWxlZDogZmFsc2UsIHNjb3JlOiAwIH07XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuc2F2ZShtb2RlKVxyXG4gICAgICB9XHJcbiAgICB9LCAyMDApO1xyXG5cclxuICB9XHJcblxyXG4gIHZhbGlkYXRlV2VsY29tZVRoYW5rWW91KCkge1xyXG4gICAgY29uc3QgcXVlc3Rpb24gPSB0aGlzLmVkaXRvclNlcnZpY2UuZm9ybXNQYWdlO1xyXG4gICAgaWYgKHF1ZXN0aW9uLmhhc1dlbGNvbWUgPT09IHRydWUpIHtcclxuICAgICAgaWYgKHF1ZXN0aW9uLmhhc1dlbGNvbWVEZXNjcmlwdGlvbiA9PT0gdHJ1ZSAmJiB0aGlzLmVkaXRvclNlcnZpY2UuZXh0cmFjdChxdWVzdGlvbi53ZWxjb21lRGVzY3JpcHRpb24pLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2UuaGFzV2VsY29tZURlc2NyaXB0aW9uID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHF1ZXN0aW9uLmhhc1dlbGNvbWVJbWFnZSA9PT0gdHJ1ZSAmJiB0aGlzLmVkaXRvclNlcnZpY2UuZXh0cmFjdChxdWVzdGlvbi53ZWxjb21lSW1hZ2UpLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2UuaGFzV2VsY29tZUltYWdlID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMuZWRpdG9yU2VydmljZS5leHRyYWN0KHF1ZXN0aW9uLndlbGNvbWVEZXNjcmlwdGlvbikubGVuZ3RoID09PSAwICYmXHJcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmV4dHJhY3QocXVlc3Rpb24ud2VsY29tZVRleHQpLmxlbmd0aCA9PT0gMCAmJlxyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5leHRyYWN0KHF1ZXN0aW9uLndlbGNvbWVJbWFnZSkubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmZvcm1zUGFnZS5oYXNXZWxjb21lID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmZvcm1zUGFnZS5oYXNXZWxjb21lRGVzY3JpcHRpb24gPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2UuaGFzV2VsY29tZUltYWdlID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaWYgKHF1ZXN0aW9uLmhhc1RoYW5rcyA9PT0gdHJ1ZSkge1xyXG4gICAgICBpZiAocXVlc3Rpb24uaGFzVGhhbmt5b3VEZXNjcmlwdGlvbiA9PT0gdHJ1ZSAmJiB0aGlzLmVkaXRvclNlcnZpY2UuZXh0cmFjdChxdWVzdGlvbi50aGFua3lvdURlc2NyaXB0aW9uKS5sZW5ndGggPT09IDApIHtcclxuICAgICAgICB0aGlzLmVkaXRvclNlcnZpY2UuZm9ybXNQYWdlLmhhc1RoYW5reW91RGVzY3JpcHRpb24gPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgICBpZiAocXVlc3Rpb24uaGFzVGhhbmt5b3VJbWFnZSA9PT0gdHJ1ZSAmJiB0aGlzLmVkaXRvclNlcnZpY2UuZXh0cmFjdChxdWVzdGlvbi50aGFua3lvdUltYWdlKS5sZW5ndGggPT09IDApIHtcclxuICAgICAgICB0aGlzLmVkaXRvclNlcnZpY2UuZm9ybXNQYWdlLmhhc1RoYW5reW91SW1hZ2UgPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5lZGl0b3JTZXJ2aWNlLmV4dHJhY3QocXVlc3Rpb24udGhhbmt5b3VEZXNjcmlwdGlvbikubGVuZ3RoID09PSAwICYmXHJcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmV4dHJhY3QocXVlc3Rpb24udGhhbmt5b3VUZXh0KS5sZW5ndGggPT09IDAgJiZcclxuICAgICAgICB0aGlzLmVkaXRvclNlcnZpY2UuZXh0cmFjdChxdWVzdGlvbi50aGFua3lvdUltYWdlKS5sZW5ndGggPT09IDApIHtcclxuICAgICAgICB0aGlzLmVkaXRvclNlcnZpY2UuZm9ybXNQYWdlLmhhc1RoYW5rcyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2UuaGFzVGhhbmt5b3VEZXNjcmlwdGlvbiA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmZvcm1zUGFnZS5oYXNUaGFua3lvdUltYWdlID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2F2ZShtb2RlOiAnRFJBRlQnIHwgJ0FDVElWRScpIHtcclxuICAgIGlmIChtb2RlID09PSAnQUNUSVZFJyAmJiB0aGlzLm9wZW5Qb3J0YWwgIT09ICdSRVNQT05TSUJJTElUWV9DSEVDS1BPSU5UJykge1xyXG4gICAgICBjb25zdCByZWYgPSB0aGlzLmRpYWxvZy5vcGVuKEFjdGl2ZUNvbXBvbmVudCwge1xyXG4gICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgIG1lc3NhZ2U6IGBPbmNlIHB1Ymxpc2hlZCwgdGhpcyBhc3Nlc3NtZW50IHdpbGwgYmUgYWN0aXZlIGFuZCBjYW4gYmUgYXNzb2NpYXRlZCB3aXRoIGEgY29tcGxpYW5jZSByZXNwb25zaWJpbGl0eS5gXHJcbiAgICAgICAgfSxcclxuICAgICAgICBwb3NpdGlvbjogJ0NFTlRFUicsXHJcbiAgICAgICAgYmFja2dyb3VuZDogJ2JsYWNrJyxcclxuICAgICAgfSk7XHJcbiAgICAgIHJlZi5hZnRlckNsb3NlZC5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlcyA9PT0gdHJ1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLnBvc3RBc3Nlc3NtZW50LmVtaXQoeyBtb2RlOiBtb2RlLCBhc3Nlc3NtZW50RGV0YWlsczogdGhpcy5lZGl0b3JTZXJ2aWNlLmZvcm1zUGFnZSB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnBvc3RBc3Nlc3NtZW50LmVtaXQoeyBtb2RlOiBtb2RlLCBhc3Nlc3NtZW50RGV0YWlsczogdGhpcy5lZGl0b3JTZXJ2aWNlLmZvcm1zUGFnZX0pO1xyXG5cclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
435
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWFzc2Vzc21lbnQtY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3NoYXJlZENvbXBvbmVudHMvYXNzZXNzbWVudC1lZGl0b3IvY3JlYXRlLWFzc2Vzc21lbnQtY29udGFpbmVyL2NyZWF0ZS1hc3Nlc3NtZW50LWNvbnRhaW5lci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUNwRyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxpRUFBaUUsQ0FBQztBQUU5RyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFM0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUN4RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdURBQXVELENBQUM7QUFReEYsTUFBTSxPQUFPLGtDQUFrQztJQXNCN0MsWUFDVSxNQUFxQixFQUN0QixhQUE0QjtJQUNuQyx5Q0FBeUM7SUFDakMsS0FBcUIsRUFDckIsUUFBeUIsRUFDekIsTUFBYztRQUxkLFdBQU0sR0FBTixNQUFNLENBQWU7UUFDdEIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFFM0IsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsYUFBUSxHQUFS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Q0wsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFDLENBQUMsQ0FBQztTQUUxRjtJQUNILENBQUM7OztZQXpjRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGlDQUFpQztnQkFDM0MseWxaQUEyRDtnQkFFM0QsU0FBUyxFQUFFLENBQUMsYUFBYSxDQUFDOzthQUMzQjs7O1lBVlEsYUFBYTtZQUhiLGFBQWE7WUFFYixjQUFjO1lBRWQsZUFBZTtZQUZDLE1BQU07Ozt5QkF1QjVCLEtBQUs7NEJBQ0wsTUFBTTs2QkFDTixNQUFNOzZCQUVOLEtBQUssU0FBQyxnQkFBZ0I7NkJBR3RCLEtBQUssU0FBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIEV2ZW50RW1pdHRlciwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFkZFBhZ2VEZXRhaWxzQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9hZGQtcGFnZS1kZXRhaWxzL2FkZC1wYWdlLWRldGFpbHMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQXNzZXNzbWVudFNldHRpbmdzQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9hc3Nlc3NtZW50LXNldHRpbmdzL2Fzc2Vzc21lbnQtc2V0dGluZ3MuY29tcG9uZW50JztcclxuXHJcbmltcG9ydCB7IEVkaXRvclNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9lZGl0b3Iuc2VydmljZSc7XHJcblxyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgRGlhbG9nU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3VpLWtpdC9kaWFsb2cvZGlhbG9nLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTbmFja0JhclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi91aS1raXQvc25hY2stYmFyL3NuYWNrLWJhci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRGVsZXRlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vdWkta2l0L2FjdGlvbi1kaWFsb2cvZGVsZXRlL2RlbGV0ZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBY3RpdmVDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi91aS1raXQvYWN0aW9uLWRpYWxvZy9hY3RpdmUvYWN0aXZlLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1jcmVhdGUtYXNzZXNzbWVudC1jb250YWluZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jcmVhdGUtYXNzZXNzbWVudC1jb250YWluZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NyZWF0ZS1hc3Nlc3NtZW50LWNvbnRhaW5lci5jb21wb25lbnQubGVzcyddLFxyXG4gIHByb3ZpZGVyczogW0VkaXRvclNlcnZpY2VdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDcmVhdGVBc3Nlc3NtZW50Q29udGFpbmVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBzaG93Q29sbGFwc2UgPSBmYWxzZTtcclxuICBleHBhbmRQYWdlID0gZmFsc2U7XHJcbiAgaGlkZVF1ZXN0aW9uID0gZmFsc2U7XHJcbiAgYXNzZXNzbWVudElkID0gJyc7XHJcbiAgYXNzZXNzbWVudE5hbWUgPSAnJztcclxuICBhc3Nlc3NtZW50Q2F0ZWdvcnkgPSAnJztcclxuICBhc3Nlc3NtZW50Q29udHJvbElkID0gJyc7XHJcbiAgYXNzZXNzbWVudEN1cnJlbnRTdGF0ZSA9ICdEUkFGVCc7XHJcbiAgcGFnZU1vZGU6ICdFRElUJyB8ICdQUkVWSUVXJyA9ICdFRElUJztcclxuICBpc0xvYWRlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIG9wZW5Qb3J0YWwgOidBU1NFU1NNRU5UX0lNUE9SVCcgfCAnUkVTUE9OU0lCSUxJVFlfQ0hFQ0tQT0lOVCd8JycgPSAnJztcclxuICBAT3V0cHV0KCkgc2V0SXNVcGxvYWRlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgcG9zdEFzc2Vzc21lbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBJbnB1dCgnYXNzZXNzbWVudEpTT04nKSBzZXQgYXNzZXNzbWVudERhdGEodmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy5pbml0aWFsaXplQXNzZXNzbWVudCh2YWx1ZSlcclxuICB9XHJcbiAgQElucHV0KCdjaGVja3BvaW50SlNPTicpIHNldCBjaGVja3BvaW50RGF0YSh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLmluaXRpYWxpemVDaGVja3BvaW50KHZhbHVlKVxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGRpYWxvZzogRGlhbG9nU2VydmljZSxcclxuICAgIHB1YmxpYyBlZGl0b3JTZXJ2aWNlOiBFZGl0b3JTZXJ2aWNlLFxyXG4gICAgLy8gcHJpdmF0ZSAgbGF5b3V0U2VydmljZTogTGF5b3V0U2VydmljZSxcclxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgcHJpdmF0ZSBzbmFja2JhcjogU25hY2tCYXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlclxyXG4gICkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmFkZFBhZ2UoKTtcclxuICAgIHRoaXMuZWRpdG9yU2VydmljZS5udW1iZXJPZlBhZ2VzKCk7XHJcbiAgICAvLyB0aGlzLmluaXRpYWxpemVBc3Nlc3NtZW50KCk7XHJcbiAgfVxyXG50cmlnZ2VyUHJldmlld1dpdGhWYWxpZGF0aW9uKCl7XHJcbiAgdGhpcy5lZGl0b3JTZXJ2aWNlLmFjdGl2ZVF1ZXN0aW9uSW5kZXgubmV4dCgtMTApO1xyXG4gIHRoaXMuZWRpdG9yU2VydmljZS5hY3RpdmVRdWVzdGlvbiA9IC0xMDtcclxufVxyXG4gIGluaXRpYWxpemVBc3Nlc3NtZW50KGFzc2Vzc21lbnREYXRhOiBhbnkpIHtcclxuICAgIGlmIChhc3Nlc3NtZW50RGF0YSkge1xyXG4gICAgICB0aGlzLmVkaXRvclNlcnZpY2UuZm9ybXNQYWdlID0gYXNzZXNzbWVudERhdGEuYXNzZXNzbWVudERhdGE7XHJcbiAgICAgIHRoaXMuYXNzZXNzbWVudE5hbWUgPSBhc3Nlc3NtZW50RGF0YS5tZXRhZGF0YS5hc3Nlc3NtZW50X25hbWU7XHJcbiAgICAgIHRoaXMuYXNzZXNzbWVudENhdGVnb3J5ID0gYXNzZXNzbWVudERhdGEubWV0YWRhdGEuY2F0ZWdvcnlfYXJyO1xyXG5cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGluaXRpYWxpemVDaGVja3BvaW50KGNoZWNrcG9pbnREYXRhOmFueSl7XHJcbiAgICBjb25zb2xlLmxvZyhcImluaXRpYWxpemVDaGVja3BvaW50ID09PlwiLCBjaGVja3BvaW50RGF0YSlcclxuICAgIGlmKGNoZWNrcG9pbnREYXRhICYmIE9iamVjdC5rZXlzKGNoZWNrcG9pbnREYXRhKT8ubGVuZ3RoID4gMCl7XHJcbiAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2UgPSBjaGVja3BvaW50RGF0YTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldEFsbFBhZ2VzKCkge1xyXG4gICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmFsbFBhZ2VzID0gWy4uLm5ldyBTZXQodGhpcy5lZGl0b3JTZXJ2aWNlLmZvcm1zUGFnZS5lbGVtZW50cy5tYXAoKGVsZTogYW55KSA9PiBlbGUucGFnZSkpXTtcclxuICAgIHRoaXMuZ2V0UGFnZU5hbWUoMSk7XHJcbiAgfVxyXG5cclxuICBhZGRQYWdlRGV0YWlscygpIHtcclxuICAgIGNvbnN0IHJlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQWRkUGFnZURldGFpbHNDb21wb25lbnQsIHtcclxuICAgICAgZGF0YTogeyBwYWdlOiB0aGlzLmVkaXRvclNlcnZpY2UuY3VycmVudFBhZ2VOdW1iZXIsIHBhZ2VEZXRhaWxzOiB0aGlzLmVkaXRvclNlcnZpY2UuY3VycmVudFBhZ2VEZXRhaWxzLCByZWY6IHRoaXMuZWRpdG9yU2VydmljZSB9LFxyXG4gICAgICBwb3NpdGlvbjogJ1JJR0hUJyxcclxuICAgICAgYmFja2dyb3VuZDogJ2JsYWNrJyxcclxuICAgIH0pO1xyXG4gICAgcmVmLmFmdGVyQ2xvc2VkLnN1YnNjcmliZSgoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgIHRoaXMuZ2VuZXJhdGVQYWdlRHJvcGRvd24oKTtcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZW50aXR5U2V0dGluZ3M6IGFueSA9IHtcclxuICAgIHBhbmVsVGl0bGU6ICcnXHJcbiAgfTtcclxuXHJcbiAgYXNzZXNzbWVudFNldHRpbmdzKCkge1xyXG4gICAgdGhpcy5lbnRpdHlTZXR0aW5ncyA9IHRoaXMuZ2V0U2V0dGluZ3NEYXRhKCk7XHJcbiAgICBjb25zdCByZWYgPSB0aGlzLmRpYWxvZy5vcGVuKEFzc2Vzc21lbnRTZXR0aW5nc0NvbXBvbmVudCwge1xyXG4gICAgICBkYXRhOiB7IHNldHRpbmdzOiB0aGlzLmVudGl0eVNldHRpbmdzLCBzZXJ2aWNlOiB0aGlzLmVkaXRvclNlcnZpY2UgfSxcclxuICAgICAgcG9zaXRpb246ICdSSUdIVCcsXHJcbiAgICAgIGJhY2tncm91bmQ6ICdibGFjaycsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldFNldHRpbmdzRGF0YSgpIHtcclxuICAgIGxldCBzZXR0aW5nczogYW55ID0ge1xyXG4gICAgICBwYW5lbFRpdGxlOiBgQXNzZXNzbWVudCBzZXR0aW5nc2AsXHJcblxyXG4gICAgICBzZXR0aW5nc0VsZW1lbnRzOiBbXVxyXG4gICAgfVxyXG4gICAgc2V0dGluZ3Muc2V0dGluZ3NFbGVtZW50cy5wdXNoKFxyXG4gICAgICB7XHJcbiAgICAgICAgdHlwZTogJ0FTU0VTU01FTlQnLFxyXG4gICAgICAgIGVudGl0eVR5cGU6ICdBU1NFU1NNRU5UJyxcclxuICAgICAgICBpc1Zpc2libGU6IHRydWUsXHJcbiAgICAgICAgaXNFbmFibGVkOiB0aGlzLmVkaXRvclNlcnZpY2UuZm9ybXNQYWdlLnNldHRpbmdzLmFzc2Vzc21lbnRNb2RlLFxyXG4gICAgICAgIGhlbHBpbmdUZXh0OiAnWW91IGNhbiBjb25maWd1cmUgc2NvcmVzIGZvciB0aGUgcXVlc3Rpb25zIGFuZCBhbmFseXplIHRoZSByZXNwb25zZXMgc3VibWl0dGVkIGJ5IHRoZSByZXNwb25kZW50IGJhc2VkIG9uIHRoZXNlIHNjb3Jlcy4nLFxyXG4gICAgICAgIGRlZmF1bHRTY29yZTogdGhpcy5lZGl0b3JTZXJ2aWNlLmZvcm1zUGFnZS5zZXR0aW5ncy5kZWZhdWx0U2NvcmUsXHJcbiAgICAgICAgbmVnYXRpdmVTY29yZUNyaXRlcmlhOiB0aGlzLmVkaXRvclNlcnZpY2UuZm9ybXNQYWdlLnNldHRpbmdzLm5lZ2F0aXZlU2NvcmVDcml0ZXJpYSxcclxuICAgICAgICBuZWdhdGl2ZVNjb3JlOiB0aGlzLmVkaXRvclNlcnZpY2UuZm9ybXNQYWdlLnNldHRpbmdzLm5lZ2F0aXZlU2NvcmUsXHJcbiAgICAgICAgd2VpZ2h0YWdlRW5hYmxlZDogdGhpcy5lZGl0b3JTZXJ2aWNlLmZvcm1zUGFnZS5zZXR0aW5ncy53ZWlnaHRhZ2VFbmFibGVkLFxyXG4gICAgICAgIHNldHRpbmdUaXRsZTogJ0FTU0VTU01FTlQgTU9ERScsXHJcbiAgICAgICAgc2V0dGluZ0VuYWJsZVRleHQ6IGBFbmFibGUgYXNzZXNzbWVudCBtb2RlIGZvciB0aGlzIGFzc2Vzc21lbnRgLFxyXG4gICAgICAgIHVwZGF0ZVR5cGU6ICdMQVpZJ1xyXG4gICAgICB9XHJcblxyXG4gICAgKVxyXG4gICAgc2V0dGluZ3Muc2V0dGluZ3NFbGVtZW50cy5wdXNoKFxyXG4gICAgICB7XHJcbiAgICAgICAgdHlwZTogJ1JFU1BPTlNFX1NFR01FTlQnLFxyXG4gICAgICAgIGVudGl0eVR5cGU6ICdBU1NFU1NNRU5UJyxcclxuICAgICAgICBoZWxwaW5nVGV4dDogJ1Jlc3BvbnNlIHNlZ21lbnRzIGxldCB5b3UgZGl2aWRlIHRoZSByZXNwb25zZXMgaW50byBzZXBhcmF0ZSBwYXJ0cyBvciBzZWN0aW9ucyBmb3IgZWFzaWVyIGFuYWx5c2lzIG9mIGRhdGEgYW5kIGFzc2lzdCBpbiBkZWNpc2lvbiBtYWtpbmcuJyxcclxuICAgICAgICBpc1Zpc2libGU6IHRydWUsXHJcbiAgICAgICAgaXNFbmFibGVkOiB0aGlzLmVkaXRvclNlcnZpY2UuZm9ybXNQYWdlLnJlc3BvbnNlU2VnbWVudFsnaXNFbmFibGVkJ10gPz8gZmFsc2UsXHJcbiAgICAgICAgc2V0dGluZ1RpdGxlOiAnUkVTUE9OU0UgU0VHTUVOVFMnLFxyXG4gICAgICAgIHNldHRpbmdFbmFibGVUZXh0OiBgQ29uZmlndXJlIFJlc3BvbnNlIFNlZ21lbnRzIGZvciB0aGlzIGFzc2Vzc21lbnRgLFxyXG4gICAgICAgIHVwZGF0ZVR5cGU6ICdMQVpZJyxcclxuICAgICAgICBzZWdtZW50RGF0YTogdGhpcy5lZGl0b3JTZXJ2aWNlLmZvcm1zUGFnZS5yZXNwb25zZVNlZ21lbnRcclxuICAgICAgfVxyXG4gICAgKVxyXG4gICAgcmV0dXJuIHNldHRpbmdzO1xyXG4gIH1cclxuXHJcbiAgY2xpY2tDb2xsYXBzZSgpIHtcclxuICAgIHRoaXMuc2hvd0NvbGxhcHNlID0gIXRoaXMuc2hvd0NvbGxhcHNlO1xyXG4gIH1cclxuXHJcbiAgY2xpY2tFeHBhbmQoKSB7XHJcbiAgICB0aGlzLmV4cGFuZFBhZ2UgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgY2xvc2VFeHBhbmQoKSB7XHJcbiAgICB0aGlzLmV4cGFuZFBhZ2UgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZVBhZ2UoKSB7XHJcbiAgICBjb25zdCByZWYgPSB0aGlzLmRpYWxvZy5vcGVuKERlbGV0ZUNvbXBvbmVudCwge1xyXG4gICAgICBkYXRhOiB7IG1lc3NhZ2U6IGBUaGlzIGFjdGlvbiB3aWxsIDxzdHJvbmc+cmVtb3ZlPC9zdHJvbmc+IHRoaXMgcGFnZS5gIH0sXHJcbiAgICAgIHBvc2l0aW9uOiAnQ0VOVEVSJyxcclxuICAgICAgYmFja2dyb3VuZDogJ2JsYWNrJyxcclxuICAgIH0pO1xyXG4gICAgcmVmLmFmdGVyQ2xvc2VkLnN1YnNjcmliZSgoZGF0YTogYW55KSA9PiB7XHJcblxyXG4gICAgICBpZiAoZGF0YSA9PT0gdHJ1ZSkge1xyXG4gICAgICAgIHRoaXMuZGVsZXRlUGFnZUNvbmZpcm0odHJ1ZSlcclxuICAgICAgfVxyXG5cclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBkZWxldGVQYWdlQ29uZmlybShjb25maXJtRGVsZXRlOiBhbnkpIHtcclxuICAgIGlmIChjb25maXJtRGVsZXRlKSB7XHJcbiAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5hbGxQYWdlcyA9IHRoaXMuZWRpdG9yU2VydmljZS5hbGxQYWdlcy5maWx0ZXIoKHBhZ2VOdW06IGFueSkgPT4gcGFnZU51bSAhPT0gdGhpcy5lZGl0b3JTZXJ2aWNlLmN1cnJlbnRQYWdlTnVtYmVyKTtcclxuICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmFsbFBhZ2VzID0gdGhpcy51cGRhdGVQYWdlTnVtYmVyc0ZvckFsbFBhZ2VzKHRoaXMuZWRpdG9yU2VydmljZS5hbGxQYWdlcyk7XHJcbiAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2UucGFnZURldGFpbHNMaXN0ID0gdGhpcy5lZGl0b3JTZXJ2aWNlLmZvcm1zUGFnZS5wYWdlRGV0YWlsc0xpc3QuZmlsdGVyKChwYWdlRGV0YWlsOiBhbnkpID0+XHJcbiAgICAgICAgcGFnZURldGFpbC5wYWdlTnVtYmVyICE9PSB0aGlzLmVkaXRvclNlcnZpY2UuY3VycmVudFBhZ2VOdW1iZXIpO1xyXG4gICAgICB0aGlzLmVkaXRvclNlcnZpY2UuZm9ybXNQYWdlLnBhZ2VEZXRhaWxzTGlzdCA9IHRoaXMudXBkYXRlUGFnZU51bWJlckZvclBhZ2VEZXRhaWxzKHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2UucGFnZURldGFpbHNMaXN0KTtcclxuICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmZvcm1zUGFnZS5lbGVtZW50cyA9IHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2UuZWxlbWVudHMuZmlsdGVyKFxyXG4gICAgICAgIChlbGVtZW50RGV0YWlsOiBhbnkpID0+IGVsZW1lbnREZXRhaWwucGFnZSAhPT0gdGhpcy5lZGl0b3JTZXJ2aWNlLmN1cnJlbnRQYWdlTnVtYmVyKTtcclxuICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmZvcm1zUGFnZS5lbGVtZW50cyA9IHRoaXMudXBkYXRlUGFnZU51bWJlckZvclF1ZXN0aW9ucyh0aGlzLmVkaXRvclNlcnZpY2UuZm9ybXNQYWdlLmVsZW1lbnRzKTtcclxuICAgICAgaWYgKHRoaXMuZWRpdG9yU2VydmljZS5jdXJyZW50UGFnZU51bWJlciA+IDEpIHtcclxuICAgICAgICB0aGlzLmVkaXRvclNlcnZpY2UuY3VycmVudFBhZ2VOdW1iZXIgLT0gMTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmdldFBhZ2VOYW1lKHRoaXMuZWRpdG9yU2VydmljZS5jdXJyZW50UGFnZU51bWJlcik7XHJcbiAgICAgIHRoaXMuY2hlY2tGb3JQYWdlRGV0YWlscygpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZWRpdG9yU2VydmljZS5hY3RpdmVRdWVzdGlvbiA9IC0xMDtcclxuICB9XHJcblxyXG4gIHVwZGF0ZVBhZ2VOdW1iZXJzRm9yQWxsUGFnZXMoYXJyYXlUb0JlVXBkYXRlZDogYW55KSB7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFycmF5VG9CZVVwZGF0ZWQubGVuZ3RoOyBpKyspIHtcclxuICAgICAgaWYgKGkgPj0gdGhpcy5lZGl0b3JTZXJ2aWNlLmN1cnJlbnRQYWdlTnVtYmVyIC0gMSkge1xyXG4gICAgICAgIGFycmF5VG9CZVVwZGF0ZWRbaV0gLT0gMTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGFycmF5VG9CZVVwZGF0ZWQ7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVQYWdlTnVtYmVyRm9yUGFnZURldGFpbHMoYXJyYXlUb0JlVXBkYXRlZDogYW55KSB7XHJcbiAgICBhcnJheVRvQmVVcGRhdGVkLmZvckVhY2goKGVsZW1lbnQ6IGFueSkgPT4ge1xyXG4gICAgICBpZiAoZWxlbWVudC5wYWdlTnVtYmVyID49IHRoaXMuZWRpdG9yU2VydmljZS5jdXJyZW50UGFnZU51bWJlcikge1xyXG4gICAgICAgIGVsZW1lbnQucGFnZU51bWJlciAtPSAxO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBhcnJheVRvQmVVcGRhdGVkO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlUGFnZU51bWJlckZvclF1ZXN0aW9ucyhhcnJheVRvQmVVcGRhdGVkOiBhbnkpIHtcclxuICAgIGFycmF5VG9CZVVwZGF0ZWQuZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XHJcbiAgICAgIGlmIChlbGVtZW50LnBhZ2UgPj0gdGhpcy5lZGl0b3JTZXJ2aWNlLmN1cnJlbnRQYWdlTnVtYmVyKSB7XHJcbiAgICAgICAgZWxlbWVudC5wYWdlIC09IDE7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIGFycmF5VG9CZVVwZGF0ZWQ7XHJcbiAgfVxyXG5cclxuICBvcGVuUXVlc3Rpb24oKSB7XHJcbiAgICB0aGlzLmhpZGVRdWVzdGlvbiA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBjbG9zZVF1ZXN0aW9uKCkge1xyXG4gICAgdGhpcy5oaWRlUXVlc3Rpb24gPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZVF1ZXN0aW9uV2l0aFZhbGlkYXRpb24oaW5kZXg6IGFueSkge1xyXG4gICAgaWYgKGluZGV4ID09PSAnd2VsY29tZScpIHtcclxuICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmZvcm1zUGFnZS5oYXNXZWxjb21lID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5jdXJyZW50UGFnZU51bWJlciA9IDE7XHJcbiAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5zdGVwSWRlbnRpZmllciA9ICdwYWdlc2NyZWVuJztcclxuICAgIH1cclxuICAgIHRoaXMuZWRpdG9yU2VydmljZS5kZWxldGVRdWVzdGlvbihpbmRleCk7XHJcbiAgfVxyXG5cclxuICBjaGVja2ZvckVycm9yKG1vZGU/OiBhbnkpIHtcclxuICAgIC8vIHRoaXMubW9yZU9wdGlvbnMgPSBmYWxzZTtcclxuICAgIGNvbnN0IGVycm9yUXVlc3Rpb25JbmRleCA9IHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2UuZWxlbWVudHMuZmluZEluZGV4KFxyXG4gICAgICAoZWxlbWVudDogYW55LCBpbmRleDogYW55KSA9PiAoZWxlbWVudC5lcnJvckFycmF5ICYmIGVsZW1lbnQuZXJyb3JBcnJheSAhPT0ge30gJiYgT2JqZWN0LnZhbHVlcyhlbGVtZW50LmVycm9yQXJyYXkpLmxlbmd0aCA+IDApKTtcclxuICAgIGlmIChlcnJvclF1ZXN0aW9uSW5kZXggPj0gMCkge1xyXG4gICAgICBpZiAobW9kZSA9PT0gJ2Z1bGwnKSB7XHJcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmN1cnJlbnRQYWdlTnVtYmVyID0gdGhpcy5lZGl0b3JTZXJ2aWNlLmZvcm1zUGFnZS5lbGVtZW50c1tlcnJvclF1ZXN0aW9uSW5kZXhdLnBhZ2U7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKG1vZGUgIT09ICdwYXJ0aWFsJykge1xyXG4gICAgICAgIC8vIHRoaXMuZ2V0UGFnZU5hbWUodGhpcy5lZGl0b3JTZXJ2aWNlLmN1cnJlbnRQYWdlTnVtYmVyKTtcclxuXHJcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmFjdGl2ZVF1ZXN0aW9uID0gZXJyb3JRdWVzdGlvbkluZGV4O1xyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5hY3RpdmVRdWVzdGlvbkluZGV4Lm5leHQoZXJyb3JRdWVzdGlvbkluZGV4KTtcclxuXHJcbiAgICAgICAgY29uc3QgcXVlc3Rpb24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmVkaXRvclNlcnZpY2UuZm9ybXNQYWdlLmVsZW1lbnRzW2Vycm9yUXVlc3Rpb25JbmRleF0ubmFtZSk7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICBpZiAocXVlc3Rpb24pIHtcclxuICAgICAgICAgICAgcXVlc3Rpb24uc2Nyb2xsSW50b1ZpZXcoeyBiZWhhdmlvcjogJ3Ntb290aCcsIGJsb2NrOiAnc3RhcnQnIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sIDIwMCk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKG1vZGUgPT09ICdzYXZlJykge1xyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5hY3RpdmVRdWVzdGlvbiA9IC0xMDtcclxuICAgICAgICB0aGlzLmVkaXRvclNlcnZpY2UuYWN0aXZlUXVlc3Rpb25JbmRleC5uZXh0KC0xMCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKG1vZGUgPT09ICdzYXZlJykge1xyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5hY3RpdmVRdWVzdGlvbiA9IC0xMDtcclxuICAgICAgICB0aGlzLmVkaXRvclNlcnZpY2UuYWN0aXZlUXVlc3Rpb25JbmRleC5uZXh0KC0xMCk7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2VuZXJhdGVQYWdlRHJvcGRvd24oKSB7XHJcbiAgICBjb25zdCBsaXN0ID0gW107XHJcbiAgICBpZiAodGhpcy5lZGl0b3JTZXJ2aWNlLmZvcm1zUGFnZS5oYXNXZWxjb21lID09PSB0cnVlKSB7XHJcbiAgICAgIGxpc3QucHVzaCh7IHZhbHVlOiAtMSwgdGVtcGxhdGU6IGA8c3BhbiBjbGFzcz1cInBhZ2UtbnVtYmVyXCI+V2VsY29tZSBTY3JlZW48L3NwYW4+YCB9KTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmVkaXRvclNlcnZpY2UuZm9ybXNQYWdlLmhhc1RoYW5rcyA9PT0gdHJ1ZSkge1xyXG4gICAgICBsaXN0LnB1c2goeyB2YWx1ZTogLTIsIHRlbXBsYXRlOiBgPHNwYW4gY2xhc3M9XCJwYWdlLW51bWJlclwiPlRoYW5rIHlvdSBTY3JlZW48L3NwYW4+YCB9KTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmVkaXRvclNlcnZpY2UuYWxsUGFnZXMuZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XHJcbiAgICAgIGxpc3QucHVzaCh7IHZhbHVlOiBlbGVtZW50LCB0ZW1wbGF0ZTogdGhpcy5nZXRQYWdlTmFtZUZvckRyb3Bkb3duKGVsZW1lbnQpIH0pO1xyXG5cclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiBsaXN0O1xyXG4gIH1cclxuXHJcbiAgZ2V0UGFnZU5hbWVGb3JEcm9wZG93bihwYWdlTnVtYmVyOiBhbnkpIHtcclxuICAgIGxldCBwYWdlVmFsdWUgPSBgPHNwYW4gY2xhc3M9XCJwYWdlLW51bWJlclwiPlBhZ2UgJHtwYWdlTnVtYmVyfTwvc3Bhbj5gO1xyXG4gICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmZvcm1zUGFnZS5wYWdlRGV0YWlsc0xpc3QuZm9yRWFjaCgocGFnZURldGFpbDogYW55KSA9PiB7XHJcbiAgICAgIGlmIChwYWdlRGV0YWlsLnBhZ2VOdW1iZXIgPT09IHBhZ2VOdW1iZXIgJiYgcGFnZURldGFpbC5wYWdlTmFtZSAhPT0gJycpIHtcclxuICAgICAgICBwYWdlVmFsdWUgPSBgPHNwYW4gY2xhc3M9XCJwYWdlLWxhYmVsIHZ4LWZzLTkgdngtZnctNjAwIHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtbXItMiB2eC1saC0zXCI+UEFHRTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInBhZ2UtbnVtYmVyIHZ4LWZzLTExIHZ4LXBhcmFncmFwaC10eHRcIj4ke3BhZ2VEZXRhaWwucGFnZU51bWJlcn08L3NwYW4+YFxyXG4gICAgICAgIC8vcGFnZVZhbHVlID0gYDxzcGFuIGNsYXNzPVwicGFnZS1sYWJlbCB2eC1mcy05IHZ4LWZ3LTYwMCB2eC10dC11cHBlcmNhc2UgdngtcGwtMSB2eC1wci0xIHZ4LW1yLTIgdngtbGgtM1wiPlBhZ2UgPC9zcGFuPiA8c3BhbiAke3BhZ2VEZXRhaWwucGFnZU51bWJlcn08L3NwYW4+IDxzcGFuIGNsYXNzPVwicGFnZS1udW1iZXIgdngtZnMtMTEgdngtcGFyYWdyYXBoLXR4dFwiPiAke3BhZ2VEZXRhaWwucGFnZU5hbWV9PC9zcGFuPmA7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIHBhZ2VWYWx1ZTtcclxuICB9XHJcblxyXG4gIHBhZ2VDaGFuZ2VkKGV2dDogYW55KSB7XHJcblxyXG4gICAgaWYgKGV2dC52YWx1ZSA9PT0gLTEpIHtcclxuICAgICAgdGhpcy5zZXRJZGVudGlmaWVyKCd3ZWxjb21lc2NyZWVuJyk7XHJcbiAgICB9IGVsc2UgaWYgKGV2dC52YWx1ZSA9PT0gLTIpIHtcclxuICAgICAgdGhpcy5zZXRJZGVudGlmaWVyKCd0aGFua3lvdXNjcmVlbicpO1xyXG4gICAgfSBlbHNlIGlmIChldnQudmFsdWUgPj0gMCkge1xyXG4gICAgICB0aGlzLmVkaXRvclNlcnZpY2UuY3VycmVudFBhZ2VOdW1iZXIgPSBldnQ/LnZhbHVlO1xyXG4gICAgICB0aGlzLnNldElkZW50aWZpZXIoJ3BhZ2VzY3JlZW4nKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldElkZW50aWZpZXIoc2NyZWVuOiBhbnkpIHtcclxuICAgIHRoaXMuY2hhbmdlVG9JbmFjdGl2ZSgpO1xyXG4gICAgaWYgKHNjcmVlbiA9PT0gJ3dlbGNvbWVzY3JlZW4nKSB7XHJcbiAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5zdGVwSWRlbnRpZmllciA9ICd3ZWxjb21lc2NyZWVuJztcclxuICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmN1cnJlbnRQYWdlTnVtYmVyID0gLTE7XHJcbiAgICB9XHJcbiAgICBpZiAoc2NyZWVuID09PSAndGhhbmt5b3VzY3JlZW4nKSB7XHJcbiAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5zdGVwSWRlbnRpZmllciA9ICd0aGFua3lvdXNjcmVlbic7XHJcbiAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5jdXJyZW50UGFnZU51bWJlciA9IC0yO1xyXG4gICAgfVxyXG4gICAgaWYgKHNjcmVlbiA9PT0gJ3BhZ2VzY3JlZW4nKSB7XHJcbiAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5zdGVwSWRlbnRpZmllciA9ICdwYWdlc2NyZWVuJztcclxuICAgICAgaWYgKHRoaXMuZWRpdG9yU2VydmljZS5hbGxQYWdlcy5sZW5ndGggPT09IDApIHtcclxuICAgICAgICB0aGlzLmVkaXRvclNlcnZpY2UuYWRkUGFnZSgpO1xyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5jdXJyZW50UGFnZU51bWJlciA9IDE7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5lZGl0b3JTZXJ2aWNlLmN1cnJlbnRQYWdlTnVtYmVyID09PSAtMSB8fCB0aGlzLmVkaXRvclNlcnZpY2UuY3VycmVudFBhZ2VOdW1iZXIgPT09IC0yKSB7XHJcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmN1cnJlbnRQYWdlTnVtYmVyID0gdGhpcy5lZGl0b3JTZXJ2aWNlLmFsbFBhZ2VzLmxlbmd0aDtcclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuICAgIHRoaXMuZ2V0UGFnZU5hbWUodGhpcy5lZGl0b3JTZXJ2aWNlLmN1cnJlbnRQYWdlTnVtYmVyKTtcclxuICB9XHJcblxyXG4gIGdldFBhZ2VOYW1lKHBhZ2VOdW1iZXI6IGFueSkge1xyXG4gICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmN1cnJlbnRQYWdlRGV0YWlscyA9IHsgcGFnZU5hbWU6ICcnLCBwYWdlTnVtYmVyOiAwLCBwYWdlRGVzY3JpcHRpb246ICcnIH07XHJcbiAgICB0aGlzLmVkaXRvclNlcnZpY2UuZm9ybXNQYWdlLnBhZ2VEZXRhaWxzTGlzdC5mb3JFYWNoKChwYWdlRGV0YWlsOiBhbnkpID0+IHtcclxuICAgICAgaWYgKHBhZ2VEZXRhaWwucGFnZU51bWJlciA9PT0gcGFnZU51bWJlcikge1xyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5jdXJyZW50UGFnZURldGFpbHMucGFnZU51bWJlciA9IHBhZ2VEZXRhaWwucGFnZU51bWJlcjtcclxuICAgICAgICB0aGlzLmVkaXRvclNlcnZpY2UuY3VycmVudFBhZ2VEZXRhaWxzLnBhZ2VOYW1lID0gcGFnZURldGFpbC5wYWdlTmFtZTtcclxuICAgICAgICB0aGlzLmVkaXRvclNlcnZpY2UuY3VycmVudFBhZ2VEZXRhaWxzLnBhZ2VEZXNjcmlwdGlvbiA9IHBhZ2VEZXRhaWwucGFnZURlc2NyaXB0aW9uO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMuY2hlY2tGb3JQYWdlRGV0YWlscygpO1xyXG4gIH1cclxuXHJcbiAgY2hlY2tGb3JQYWdlRGV0YWlscygpIHtcclxuICAgIGlmICh0aGlzLmVkaXRvclNlcnZpY2UuY3VycmVudFBhZ2VEZXRhaWxzID09PSB1bmRlZmluZWQgfHwgdGhpcy5lZGl0b3JTZXJ2aWNlLmN1cnJlbnRQYWdlRGV0YWlscy5wYWdlTmFtZSA9PT0gJycpIHtcclxuICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLnNob3dBZGRQYWdlT3B0aW9uID0gdHJ1ZTtcclxuICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLnNob3dQYWdlRGV0YWlscyA9IGZhbHNlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLnNob3dBZGRQYWdlT3B0aW9uID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5zaG93UGFnZURldGFpbHMgPSB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2hhbmdlVG9JbmFjdGl2ZSgpIHtcclxuICAgIHRoaXMuZWRpdG9yU2VydmljZS5hY3RpdmVRdWVzdGlvbiA9IC01O1xyXG4gICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmFjdGl2ZVF1ZXN0aW9uSW5kZXgubmV4dCgtNSk7XHJcbiAgfVxyXG5cclxuICBhZGROZXdQYWdlKCkge1xyXG4gICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmFkZFBhZ2UoKTtcclxuICAgIHRoaXMuZWRpdG9yU2VydmljZS5jdXJyZW50UGFnZURldGFpbHMgPSB7IHBhZ2VOYW1lOiAnJywgcGFnZU51bWJlcjogdGhpcy5lZGl0b3JTZXJ2aWNlLmN1cnJlbnRQYWdlTnVtYmVyLCBwYWdlRGVzY3JpcHRpb246ICcnIH07XHJcbiAgICB0aGlzLmVkaXRvclNlcnZpY2Uuc2hvd1BhZ2VEZXRhaWxzID0gZmFsc2U7XHJcbiAgICB0aGlzLmVkaXRvclNlcnZpY2Uuc2hvd0FkZFBhZ2VPcHRpb24gPSB0cnVlO1xyXG4gICAgdGhpcy5nZW5lcmF0ZVBhZ2VEcm9wZG93bigpO1xyXG4gIH1cclxuXHJcbiAgY2FwaXRhbGl6ZVN0cmluZyhzdHJpbmdWYWx1ZTogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gc3RyaW5nVmFsdWVbMF0udG9VcHBlckNhc2UoKSArIHN0cmluZ1ZhbHVlLnNsaWNlKDEpO1xyXG4gIH1cclxuXHJcbiAgb25EZWxldGVQYWdlQ2xpY2soKSB7XHJcbiAgICAvLyB0aGlzLnNob3dEZWxldGVQb3B1cCA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBpc1BhZ2VFbXB0eSgpIHtcclxuICAgIGlmICghWy4uLm5ldyBTZXQodGhpcy5lZGl0b3JTZXJ2aWNlLmZvcm1zUGFnZS5lbGVtZW50cy5tYXAoKGVsZW1lbnQ6IGFueSkgPT4gZWxlbWVudC5wYWdlKSldLmluY2x1ZGVzKHRoaXMuZWRpdG9yU2VydmljZS5jdXJyZW50UGFnZU51bWJlcikpIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdWJtaXRBZnRlckVycm9yQ2hlY2sobW9kZTogYW55KSB7XHJcbiAgICB0aGlzLmVkaXRvclNlcnZpY2UuYWN0aXZlUXVlc3Rpb25JbmRleC5uZXh0KC0xMCk7XHJcbiAgICB0aGlzLmVkaXRvclNlcnZpY2UuYWN0aXZlUXVlc3Rpb24gPSAtMTA7XHJcbiAgICBpZiAodGhpcy5lZGl0b3JTZXJ2aWNlLnN0ZXBJZGVudGlmaWVyID09PSAnd2VsY29tZXNjcmVlbicgfHwgdGhpcy5lZGl0b3JTZXJ2aWNlLnN0ZXBJZGVudGlmaWVyID09PSAndGhhbmt5b3VzY3JlZW4nKSB7XHJcbiAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5jdXJyZW50UGFnZU51bWJlciA9IDE7XHJcbiAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5zdGVwSWRlbnRpZmllciA9ICdwYWdlc2NyZWVuJztcclxuICAgIH1cclxuICAgIC8vdGhpcy5wYWdlTW9kZSA9ICdFRElUJztcclxuXHJcbiAgICB0aGlzLnZhbGlkYXRlV2VsY29tZVRoYW5rWW91KCk7XHJcblxyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIGlmICghdGhpcy5jaGVja2ZvckVycm9yKCdmdWxsJykpIHtcclxuICAgICAgICBmb3IgKGNvbnN0IHF1ZXN0aW9uIG9mIHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2UuZWxlbWVudHMpIHtcclxuICAgICAgICAgIGlmICghWydjaGVja2JveCcsICdkcm9wZG93bicsICdtdWx0aXBsZS1jaG9pY2UnXS5pbmNsdWRlcyhxdWVzdGlvbi50eXBlKSkge1xyXG4gICAgICAgICAgICBpZiAocXVlc3Rpb24uY2hvaWNlcykge1xyXG4gICAgICAgICAgICAgIHF1ZXN0aW9uLmNob2ljZXMuZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICBlbGVtZW50LmNvbG9yID0gdW5kZWZpbmVkO1xyXG4gICAgICAgICAgICAgICAgZWxlbWVudC5zY29yZSA9IDE7XHJcbiAgICAgICAgICAgICAgICBlbGVtZW50LmlzRmFpbGVkID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcXVlc3Rpb24ub3RoZXJDb25maWcgPSB7IGNvbG9yOiAnJywgaXNGYWlsZWQ6IGZhbHNlLCBzY29yZTogMCB9O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnNhdmUobW9kZSlcclxuICAgICAgfVxyXG4gICAgfSwgMjAwKTtcclxuXHJcbiAgfVxyXG5cclxuICB2YWxpZGF0ZVdlbGNvbWVUaGFua1lvdSgpIHtcclxuICAgIGNvbnN0IHF1ZXN0aW9uID0gdGhpcy5lZGl0b3JTZXJ2aWNlLmZvcm1zUGFnZTtcclxuICAgIGlmIChxdWVzdGlvbi5oYXNXZWxjb21lID09PSB0cnVlKSB7XHJcbiAgICAgIGlmIChxdWVzdGlvbi5oYXNXZWxjb21lRGVzY3JpcHRpb24gPT09IHRydWUgJiYgdGhpcy5lZGl0b3JTZXJ2aWNlLmV4dHJhY3QocXVlc3Rpb24ud2VsY29tZURlc2NyaXB0aW9uKS5sZW5ndGggPT09IDApIHtcclxuICAgICAgICB0aGlzLmVkaXRvclNlcnZpY2UuZm9ybXNQYWdlLmhhc1dlbGNvbWVEZXNjcmlwdGlvbiA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChxdWVzdGlvbi5oYXNXZWxjb21lSW1hZ2UgPT09IHRydWUgJiYgdGhpcy5lZGl0b3JTZXJ2aWNlLmV4dHJhY3QocXVlc3Rpb24ud2VsY29tZUltYWdlKS5sZW5ndGggPT09IDApIHtcclxuICAgICAgICB0aGlzLmVkaXRvclNlcnZpY2UuZm9ybXNQYWdlLmhhc1dlbGNvbWVJbWFnZSA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLmVkaXRvclNlcnZpY2UuZXh0cmFjdChxdWVzdGlvbi53ZWxjb21lRGVzY3JpcHRpb24pLmxlbmd0aCA9PT0gMCAmJlxyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5leHRyYWN0KHF1ZXN0aW9uLndlbGNvbWVUZXh0KS5sZW5ndGggPT09IDAgJiZcclxuICAgICAgICB0aGlzLmVkaXRvclNlcnZpY2UuZXh0cmFjdChxdWVzdGlvbi53ZWxjb21lSW1hZ2UpLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2UuaGFzV2VsY29tZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2UuaGFzV2VsY29tZURlc2NyaXB0aW9uID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmVkaXRvclNlcnZpY2UuZm9ybXNQYWdlLmhhc1dlbGNvbWVJbWFnZSA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmIChxdWVzdGlvbi5oYXNUaGFua3MgPT09IHRydWUpIHtcclxuICAgICAgaWYgKHF1ZXN0aW9uLmhhc1RoYW5reW91RGVzY3JpcHRpb24gPT09IHRydWUgJiYgdGhpcy5lZGl0b3JTZXJ2aWNlLmV4dHJhY3QocXVlc3Rpb24udGhhbmt5b3VEZXNjcmlwdGlvbikubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmZvcm1zUGFnZS5oYXNUaGFua3lvdURlc2NyaXB0aW9uID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHF1ZXN0aW9uLmhhc1RoYW5reW91SW1hZ2UgPT09IHRydWUgJiYgdGhpcy5lZGl0b3JTZXJ2aWNlLmV4dHJhY3QocXVlc3Rpb24udGhhbmt5b3VJbWFnZSkubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmZvcm1zUGFnZS5oYXNUaGFua3lvdUltYWdlID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMuZWRpdG9yU2VydmljZS5leHRyYWN0KHF1ZXN0aW9uLnRoYW5reW91RGVzY3JpcHRpb24pLmxlbmd0aCA9PT0gMCAmJlxyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5leHRyYWN0KHF1ZXN0aW9uLnRoYW5reW91VGV4dCkubGVuZ3RoID09PSAwICYmXHJcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmV4dHJhY3QocXVlc3Rpb24udGhhbmt5b3VJbWFnZSkubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmZvcm1zUGFnZS5oYXNUaGFua3MgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmVkaXRvclNlcnZpY2UuZm9ybXNQYWdlLmhhc1RoYW5reW91RGVzY3JpcHRpb24gPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2UuaGFzVGhhbmt5b3VJbWFnZSA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNhdmUobW9kZTogJ0RSQUZUJyB8ICdBQ1RJVkUnKSB7XHJcbiAgICBpZiAobW9kZSA9PT0gJ0FDVElWRScgJiYgdGhpcy5vcGVuUG9ydGFsICE9PSAnUkVTUE9OU0lCSUxJVFlfQ0hFQ0tQT0lOVCcpIHtcclxuICAgICAgY29uc3QgcmVmID0gdGhpcy5kaWFsb2cub3BlbihBY3RpdmVDb21wb25lbnQsIHtcclxuICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICBtZXNzYWdlOiBgT25jZSBwdWJsaXNoZWQsIHRoaXMgYXNzZXNzbWVudCB3aWxsIGJlIGFjdGl2ZSBhbmQgY2FuIGJlIGFzc29jaWF0ZWQgd2l0aCBhIGNvbXBsaWFuY2UgcmVzcG9uc2liaWxpdHkuYFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgcG9zaXRpb246ICdDRU5URVInLFxyXG4gICAgICAgIGJhY2tncm91bmQ6ICdibGFjaycsXHJcbiAgICAgIH0pO1xyXG4gICAgICByZWYuYWZ0ZXJDbG9zZWQuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChyZXMgPT09IHRydWUpIHtcclxuICAgICAgICAgICAgdGhpcy5wb3N0QXNzZXNzbWVudC5lbWl0KHsgbW9kZTogbW9kZSwgYXNzZXNzbWVudERldGFpbHM6IHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2UgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5wb3N0QXNzZXNzbWVudC5lbWl0KHsgbW9kZTogbW9kZSwgYXNzZXNzbWVudERldGFpbHM6IHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2V9KTtcclxuXHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==