@colijnit/sharedcomponents 261.1.0 → 261.1.2

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 (1184) hide show
  1. package/.browserslistrc +16 -0
  2. package/.editorconfig +16 -0
  3. package/README.md +11 -8
  4. package/Sharedcomponents.iml +15 -0
  5. package/angular.json +177 -0
  6. package/build.xml +31 -0
  7. package/custom-login-bundle.webpack.config.js +3 -0
  8. package/karma.conf.js +44 -0
  9. package/move-assets.js +14 -0
  10. package/package.json +79 -33
  11. package/projects/sharedcomponents/.browserslistrc +16 -0
  12. package/projects/sharedcomponents/README.md +24 -0
  13. package/projects/sharedcomponents/karma.conf.js +44 -0
  14. package/projects/sharedcomponents/ng-package.json +17 -0
  15. package/projects/sharedcomponents/package.json +25 -0
  16. package/projects/sharedcomponents/src/lib/assets/dictionary/text.properties.ts +8 -0
  17. package/projects/sharedcomponents/src/lib/assets/icons/account.svg +1 -0
  18. package/projects/sharedcomponents/src/lib/assets/icons/angle_left_solid.svg +1 -0
  19. package/projects/sharedcomponents/src/lib/assets/icons/angle_right_solid.svg +1 -0
  20. package/projects/sharedcomponents/src/lib/assets/icons/arrow_down.svg +1 -0
  21. package/projects/sharedcomponents/src/lib/assets/icons/arrow_down_regular.svg +1 -0
  22. package/projects/sharedcomponents/src/lib/assets/icons/arrow_fat_right.svg +1 -0
  23. package/projects/sharedcomponents/src/lib/assets/icons/arrow_left_round_open.svg +1 -0
  24. package/projects/sharedcomponents/src/lib/assets/icons/arrow_point_down.svg +6 -0
  25. package/projects/sharedcomponents/src/lib/assets/icons/arrow_point_left.svg +1 -0
  26. package/projects/sharedcomponents/src/lib/assets/icons/arrow_point_right.svg +1 -0
  27. package/projects/sharedcomponents/src/lib/assets/icons/arrow_point_up.svg +8 -0
  28. package/projects/sharedcomponents/src/lib/assets/icons/arrow_right_arrow_left_regular.svg +1 -0
  29. package/projects/sharedcomponents/src/lib/assets/icons/at_solid.svg +1 -0
  30. package/projects/sharedcomponents/src/lib/assets/icons/barcode_read_regular.svg +1 -0
  31. package/projects/sharedcomponents/src/lib/assets/icons/bell_regular.svg +1 -0
  32. package/projects/sharedcomponents/src/lib/assets/icons/bell_slash_regular.svg +1 -0
  33. package/projects/sharedcomponents/src/lib/assets/icons/bring_forward_regular.svg +1 -0
  34. package/projects/sharedcomponents/src/lib/assets/icons/camera.svg +1 -0
  35. package/projects/sharedcomponents/src/lib/assets/icons/check_duotone.svg +1 -0
  36. package/projects/sharedcomponents/src/lib/assets/icons/check_round.svg +1 -0
  37. package/projects/sharedcomponents/src/lib/assets/icons/check_solid.svg +1 -0
  38. package/projects/sharedcomponents/src/lib/assets/icons/chevron_right_regular.svg +1 -0
  39. package/projects/sharedcomponents/src/lib/assets/icons/clock_regular.svg +1 -0
  40. package/projects/sharedcomponents/src/lib/assets/icons/comment_regular.svg +1 -0
  41. package/projects/sharedcomponents/src/lib/assets/icons/cross_skinny.svg +1 -0
  42. package/projects/sharedcomponents/src/lib/assets/icons/cubes.svg +1 -0
  43. package/projects/sharedcomponents/src/lib/assets/icons/delete_left_regular.svg +1 -0
  44. package/projects/sharedcomponents/src/lib/assets/icons/delivery_truck.svg +12 -0
  45. package/projects/sharedcomponents/src/lib/assets/icons/detail_view.svg +1 -0
  46. package/projects/sharedcomponents/src/lib/assets/icons/diagram_project_regular.svg +1 -0
  47. package/projects/sharedcomponents/src/lib/assets/icons/dropzone.svg +1 -0
  48. package/projects/sharedcomponents/src/lib/assets/icons/edit_pen_regular.svg +1 -0
  49. package/projects/sharedcomponents/src/lib/assets/icons/email.svg +5 -0
  50. package/projects/sharedcomponents/src/lib/assets/icons/email_regular.svg +1 -0
  51. package/projects/sharedcomponents/src/lib/assets/icons/employee.svg +1 -0
  52. package/projects/sharedcomponents/src/lib/assets/icons/envelope_regular.svg +1 -0
  53. package/projects/sharedcomponents/src/lib/assets/icons/eye_regular.svg +1 -0
  54. package/projects/sharedcomponents/src/lib/assets/icons/file_export_regular.svg +1 -0
  55. package/projects/sharedcomponents/src/lib/assets/icons/file_export_solid.svg +1 -0
  56. package/projects/sharedcomponents/src/lib/assets/icons/file_magnifying_glass.svg +1 -0
  57. package/projects/sharedcomponents/src/lib/assets/icons/file_pdf_regular.svg +1 -0
  58. package/projects/sharedcomponents/src/lib/assets/icons/file_pdf_solid.svg +1 -0
  59. package/projects/sharedcomponents/src/lib/assets/icons/file_signature_regular.svg +1 -0
  60. package/projects/sharedcomponents/src/lib/assets/icons/folders_sharp_regular.svg +1 -0
  61. package/projects/sharedcomponents/src/lib/assets/icons/house_blank_regular.svg +1 -0
  62. package/projects/sharedcomponents/src/lib/assets/icons/ione_workflow.svg +62 -0
  63. package/projects/sharedcomponents/src/lib/assets/icons/list_ul_regular.svg +1 -0
  64. package/projects/sharedcomponents/src/lib/assets/icons/lock.svg +1 -0
  65. package/projects/sharedcomponents/src/lib/assets/icons/message_sms_regular.svg +1 -0
  66. package/projects/sharedcomponents/src/lib/assets/icons/message_sms_solid.svg +1 -0
  67. package/projects/sharedcomponents/src/lib/assets/icons/minus_simple.svg +1 -0
  68. package/projects/sharedcomponents/src/lib/assets/icons/notification.svg +1 -0
  69. package/projects/sharedcomponents/src/lib/assets/icons/paper_plane_top_solid.svg +1 -0
  70. package/projects/sharedcomponents/src/lib/assets/icons/paperclip_regular.svg +1 -0
  71. package/projects/sharedcomponents/src/lib/assets/icons/pdf.svg +15 -0
  72. package/projects/sharedcomponents/src/lib/assets/icons/person_digging_regular.svg +1 -0
  73. package/projects/sharedcomponents/src/lib/assets/icons/pin_round_open.svg +11 -0
  74. package/projects/sharedcomponents/src/lib/assets/icons/plus_regular.svg +1 -0
  75. package/projects/sharedcomponents/src/lib/assets/icons/plus_simple.svg +1 -0
  76. package/projects/sharedcomponents/src/lib/assets/icons/print.svg +10 -0
  77. package/projects/sharedcomponents/src/lib/assets/icons/print_regular.svg +1 -0
  78. package/projects/sharedcomponents/src/lib/assets/icons/print_solid.svg +1 -0
  79. package/projects/sharedcomponents/src/lib/assets/icons/regular_file_signature_circle_plus.svg +1 -0
  80. package/projects/sharedcomponents/src/lib/assets/icons/share_solid.svg +1 -0
  81. package/projects/sharedcomponents/src/lib/assets/icons/signature_field.svg +9 -0
  82. package/projects/sharedcomponents/src/lib/assets/icons/solid_barcode_read_tag.svg +1 -0
  83. package/projects/sharedcomponents/src/lib/assets/icons/square_plus_regular.svg +1 -0
  84. package/projects/sharedcomponents/src/lib/assets/icons/tag_regular.svg +1 -0
  85. package/projects/sharedcomponents/src/lib/assets/icons/task.svg +1 -0
  86. package/projects/sharedcomponents/src/lib/assets/icons/trash_can_regular.svg +1 -0
  87. package/projects/sharedcomponents/src/lib/assets/icons/trashbin.svg +2 -0
  88. package/projects/sharedcomponents/src/lib/assets/icons/x_solid.svg +1 -0
  89. package/projects/sharedcomponents/src/lib/assets/icons/xml.svg +1 -0
  90. package/projects/sharedcomponents/src/lib/businessobject/build-images-and-documentation-result.ts +8 -0
  91. package/projects/sharedcomponents/src/lib/businessobject/document-allowed-extension.bo.ts +12 -0
  92. package/projects/sharedcomponents/src/lib/businessobject/drag-drop-container-element.ts +9 -0
  93. package/projects/sharedcomponents/src/lib/businessobject/drag-drop-container.ts +9 -0
  94. package/projects/sharedcomponents/src/lib/businessobject/user-group.bo.ts +34 -0
  95. package/projects/sharedcomponents/src/lib/components/access/read-write-access.component.ts +103 -0
  96. package/projects/sharedcomponents/src/lib/components/access/read-write-access.module.ts +15 -0
  97. package/projects/sharedcomponents/src/lib/components/activity-list/activity-list.component.ts +225 -0
  98. package/projects/sharedcomponents/src/lib/components/activity-list/activity-list.module.ts +22 -0
  99. package/projects/sharedcomponents/src/lib/components/activity-list-header/activity-list-header.component.ts +78 -0
  100. package/projects/sharedcomponents/src/lib/components/activity-list-header/activity-list-header.module.ts +27 -0
  101. package/projects/sharedcomponents/src/lib/components/activity-list-header/components/period-filter/period-filter-popup.component.ts +63 -0
  102. package/projects/sharedcomponents/src/lib/components/activity-list-header/components/period-filter/period-filter.component.ts +117 -0
  103. package/projects/sharedcomponents/src/lib/components/activity-list-header/components/period-filter/period-filter.module.ts +32 -0
  104. package/projects/sharedcomponents/src/lib/components/activity-overview-component/component-activity-overview.component.ts +224 -0
  105. package/projects/sharedcomponents/src/lib/components/activity-overview-component/component-activity-overview.module.ts +25 -0
  106. package/projects/sharedcomponents/src/lib/components/activity-overview-component/components/base-activity-overview.component.ts +342 -0
  107. package/projects/sharedcomponents/src/lib/components/app-file-dropzone/app-file-dropzone.component.ts +45 -0
  108. package/projects/sharedcomponents/src/lib/components/app-file-dropzone/app-file-dropzone.module.ts +21 -0
  109. package/projects/sharedcomponents/src/lib/components/custom-pdf/custom-pdf-dialog.component.ts +299 -0
  110. package/projects/sharedcomponents/src/lib/components/custom-pdf/custom-pdf-dialog.module.ts +28 -0
  111. package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-base-view.component.ts +68 -0
  112. package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-day-view.component.ts +35 -0
  113. package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-event.component.ts +73 -0
  114. package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-events.component.ts +53 -0
  115. package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-half-hour-cell.component.ts +81 -0
  116. package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-header.component.ts +405 -0
  117. package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-hour-cell.component.ts +38 -0
  118. package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-hour-view-labels.component.ts +50 -0
  119. package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-hour-view.component.ts +46 -0
  120. package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-month-view.component.ts +65 -0
  121. package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-select-event.component.ts +39 -0
  122. package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-view.component.ts +41 -0
  123. package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-week-select-view.component.ts +63 -0
  124. package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-week-view.component.ts +50 -0
  125. package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/view-select.component.ts +78 -0
  126. package/projects/sharedcomponents/src/lib/components/date-planning/component/calendar/calendar-all-months.component.ts +37 -0
  127. package/projects/sharedcomponents/src/lib/components/date-planning/component/calendar/calendar-all-years.component.ts +52 -0
  128. package/projects/sharedcomponents/src/lib/components/date-planning/component/calendar/calendar-header.component.ts +123 -0
  129. package/projects/sharedcomponents/src/lib/components/date-planning/component/calendar/calendar-view.component.ts +200 -0
  130. package/projects/sharedcomponents/src/lib/components/date-planning/component/calendar/calendar.component.ts +35 -0
  131. package/projects/sharedcomponents/src/lib/components/date-planning/date-planning.component.ts +145 -0
  132. package/projects/sharedcomponents/src/lib/components/date-planning/date-planning.module.ts +63 -0
  133. package/projects/sharedcomponents/src/lib/components/docsign/component/signature/signature.component.ts +82 -0
  134. package/projects/sharedcomponents/src/lib/components/docsign/component/signatures/signatures.component.ts +50 -0
  135. package/projects/sharedcomponents/src/lib/components/docsign/docsign.component.ts +293 -0
  136. package/projects/sharedcomponents/src/lib/components/docsign/docsign.module.ts +22 -0
  137. package/projects/sharedcomponents/src/lib/components/email-selector/email-selector.component.ts +121 -0
  138. package/projects/sharedcomponents/src/lib/components/email-selector/email-selector.module.ts +32 -0
  139. package/projects/sharedcomponents/src/lib/components/file-upload/file-upload.component.ts +241 -0
  140. package/projects/sharedcomponents/src/lib/components/file-upload/file-upload.module.ts +28 -0
  141. package/projects/sharedcomponents/src/lib/components/file-upload-popup/file-upload-popup.component.ts +451 -0
  142. package/projects/sharedcomponents/src/lib/components/file-upload-popup/file-upload-popup.module.ts +39 -0
  143. package/projects/sharedcomponents/src/lib/components/files-upload/components/base-file-upload.component.ts +549 -0
  144. package/projects/sharedcomponents/src/lib/components/files-upload/components/drag-drop-container.component.ts +131 -0
  145. package/projects/sharedcomponents/src/lib/components/files-upload/files-upload.component.ts +187 -0
  146. package/projects/sharedcomponents/src/lib/components/files-upload/files-upload.module.ts +54 -0
  147. package/projects/sharedcomponents/src/lib/components/form-builder/form-builder-user-form/components/forms-test-component/forms-test-component.component.ts +58 -0
  148. package/projects/sharedcomponents/src/lib/components/form-builder/form-builder-user-form/components/forms-test-component/forms-test-component.module.ts +19 -0
  149. package/projects/sharedcomponents/src/lib/components/form-builder/form-builder-user-form/components/user-form-input-scale/user-form-input-scale.component.ts +113 -0
  150. package/projects/sharedcomponents/src/lib/components/form-builder/form-builder-user-form/components/user-form-input-scale/user-form-input-scale.module.ts +21 -0
  151. package/projects/sharedcomponents/src/lib/components/form-builder/form-builder-user-form/form-builder-question.component.ts +161 -0
  152. package/projects/sharedcomponents/src/lib/components/form-builder/form-builder-user-form/form-builder-user-form.component.ts +296 -0
  153. package/projects/sharedcomponents/src/lib/components/form-builder/form-builder-user-form/form-builder-user-form.module.ts +53 -0
  154. package/projects/sharedcomponents/src/lib/components/image-display/image-display.component.ts +42 -0
  155. package/projects/sharedcomponents/src/lib/components/image-display/image-display.module.ts +22 -0
  156. package/projects/sharedcomponents/src/lib/components/key-pad/key-pad.component.ts +216 -0
  157. package/projects/sharedcomponents/src/lib/components/key-pad/key-pad.module.ts +20 -0
  158. package/projects/sharedcomponents/src/lib/components/layout-switcher/layout-switcher.component.ts +98 -0
  159. package/projects/sharedcomponents/src/lib/components/layout-switcher/layout-switcher.module.ts +21 -0
  160. package/projects/sharedcomponents/src/lib/components/linear-gauge/co-linear-gauge.component.ts +63 -0
  161. package/projects/sharedcomponents/src/lib/components/linear-gauge/co-linear-gauge.module.ts +17 -0
  162. package/projects/sharedcomponents/src/lib/components/login/components/input-code/input-code.component.ts +187 -0
  163. package/projects/sharedcomponents/src/lib/components/login/components/input-code/input-code.module.ts +19 -0
  164. package/projects/sharedcomponents/src/lib/components/login/components/login-base.component.ts +150 -0
  165. package/projects/sharedcomponents/src/lib/components/login/components/login-change-password.component.ts +178 -0
  166. package/projects/sharedcomponents/src/lib/components/login/components/login-mfa-code-entry.component.ts +113 -0
  167. package/projects/sharedcomponents/src/lib/components/login/components/login-mfa-code-setup.component.ts +44 -0
  168. package/projects/sharedcomponents/src/lib/components/login/components/login-username-password.component.ts +160 -0
  169. package/projects/sharedcomponents/src/lib/components/login/enum/mfa-send-method-type.enum.ts +6 -0
  170. package/projects/sharedcomponents/src/lib/components/login/interface/finger-print-result.interface.ts +4 -0
  171. package/projects/sharedcomponents/src/lib/components/login/localization/login-translation.ts +15 -0
  172. package/projects/sharedcomponents/src/lib/components/login/login.component.ts +184 -0
  173. package/projects/sharedcomponents/src/lib/components/login/login.module.ts +54 -0
  174. package/projects/sharedcomponents/src/lib/components/login/service/finger-print.service.ts +45 -0
  175. package/projects/sharedcomponents/src/lib/components/login/service/login-adapter.service.ts +109 -0
  176. package/projects/sharedcomponents/src/lib/components/login/service/login.service.ts +104 -0
  177. package/projects/sharedcomponents/src/lib/components/modify-task-form/components/activity-summary-block/activity-summary-block.component.ts +117 -0
  178. package/projects/sharedcomponents/src/lib/components/modify-task-form/components/activity-summary-block/activity-summary-block.module.ts +24 -0
  179. package/projects/sharedcomponents/src/lib/components/modify-task-form/components/activity-summary-block/style/_layout.scss +211 -0
  180. package/projects/sharedcomponents/src/lib/components/modify-task-form/components/base-activity-summary.component.ts +164 -0
  181. package/projects/sharedcomponents/src/lib/components/modify-task-form/components/creation-summary-block/creation-summary-block.component.ts +140 -0
  182. package/projects/sharedcomponents/src/lib/components/modify-task-form/components/creation-summary-block/creation-summary-block.module.ts +26 -0
  183. package/projects/sharedcomponents/src/lib/components/modify-task-form/components/executive-summary-block/executive-summary-block.component.ts +83 -0
  184. package/projects/sharedcomponents/src/lib/components/modify-task-form/components/executive-summary-block/executive-summary-block.module.ts +23 -0
  185. package/projects/sharedcomponents/src/lib/components/modify-task-form/components/notification-summary-block/notification-summary-block.component.ts +149 -0
  186. package/projects/sharedcomponents/src/lib/components/modify-task-form/components/notification-summary-block/notification-summary-block.module.ts +29 -0
  187. package/projects/sharedcomponents/src/lib/components/modify-task-form/components/status-summary-block/status-summary-block.component.ts +65 -0
  188. package/projects/sharedcomponents/src/lib/components/modify-task-form/components/status-summary-block/status-summary-block.module.ts +24 -0
  189. package/projects/sharedcomponents/src/lib/components/modify-task-form/components/task-details/task-details.component.ts +103 -0
  190. package/projects/sharedcomponents/src/lib/components/modify-task-form/components/task-details/task-details.module.ts +24 -0
  191. package/projects/sharedcomponents/src/lib/components/modify-task-form/modify-task-form.component.ts +340 -0
  192. package/projects/sharedcomponents/src/lib/components/modify-task-form/modify-task-form.module.ts +40 -0
  193. package/projects/sharedcomponents/src/lib/components/multi-property-toggler/multiple-property-toggler.component.ts +106 -0
  194. package/projects/sharedcomponents/src/lib/components/multi-property-toggler/multiple-property-toggler.module.ts +20 -0
  195. package/projects/sharedcomponents/src/lib/components/open-activity-list/component-activity-list.component.ts +377 -0
  196. package/projects/sharedcomponents/src/lib/components/open-activity-list/component-activity-list.module.ts +30 -0
  197. package/projects/sharedcomponents/src/lib/components/open-activity-list/components/base-open-activity-list.component.ts +299 -0
  198. package/projects/sharedcomponents/src/lib/components/open-activity-list/components/personal-activity-overview/personal-activity-overview.component.ts +40 -0
  199. package/projects/sharedcomponents/src/lib/components/open-activity-list/components/personal-activity-overview/personal-activity-overview.module..ts +18 -0
  200. package/projects/sharedcomponents/src/lib/components/preferred-planning/preferred-planning.component.ts +254 -0
  201. package/projects/sharedcomponents/src/lib/components/preferred-planning/preferred-planning.module.ts +30 -0
  202. package/projects/sharedcomponents/src/lib/components/preview-pdf-dialog/preview-pdf-dialog.component.ts +86 -0
  203. package/projects/sharedcomponents/src/lib/components/preview-pdf-dialog/preview-pdf-dialog.module.ts +26 -0
  204. package/projects/sharedcomponents/src/lib/components/role-email-selector/role-email-selector.component.ts +181 -0
  205. package/projects/sharedcomponents/src/lib/components/role-email-selector/role-email-selector.module.ts +29 -0
  206. package/projects/sharedcomponents/src/lib/components/screen-config-generator/enums/field-type.enum.ts +9 -0
  207. package/projects/sharedcomponents/src/lib/components/screen-config-generator/models/Config.ts +6 -0
  208. package/projects/sharedcomponents/src/lib/components/screen-config-generator/models/Field.ts +8 -0
  209. package/projects/sharedcomponents/src/lib/components/screen-config-generator/models/Header.ts +8 -0
  210. package/projects/sharedcomponents/src/lib/components/screen-config-generator/models/Module.ts +6 -0
  211. package/projects/sharedcomponents/src/lib/components/screen-config-generator/models/Rubric.ts +10 -0
  212. package/projects/sharedcomponents/src/lib/components/screen-config-generator/models/ScreenConfig.ts +9 -0
  213. package/projects/sharedcomponents/src/lib/components/screen-config-generator/models/SubCat.ts +9 -0
  214. package/projects/sharedcomponents/src/lib/components/screen-config-generator/models/SubRubric.ts +8 -0
  215. package/projects/sharedcomponents/src/lib/components/screen-config-generator/screen-config-generator.component.ts +539 -0
  216. package/projects/sharedcomponents/src/lib/components/screen-config-generator/screen-config-generator.module.ts +21 -0
  217. package/projects/sharedcomponents/src/lib/components/send-method-dialog/components/additional-file-button/additional-file-button.component.ts +78 -0
  218. package/projects/sharedcomponents/src/lib/components/send-method-dialog/components/additional-file-button/additional-file-button.module.ts +21 -0
  219. package/projects/sharedcomponents/src/lib/components/send-method-dialog/components/layout-selection/layout-selection.component.ts +80 -0
  220. package/projects/sharedcomponents/src/lib/components/send-method-dialog/components/layout-selection/layout-selection.module.ts +22 -0
  221. package/projects/sharedcomponents/src/lib/components/send-method-dialog/components/printer-selection/printer-selection.component.ts +60 -0
  222. package/projects/sharedcomponents/src/lib/components/send-method-dialog/components/printer-selection/printer-selection.module.ts +22 -0
  223. package/projects/sharedcomponents/src/lib/components/send-method-dialog/components/send-method-combine-print-email/send-method-combine-print-email.component.ts +276 -0
  224. package/projects/sharedcomponents/src/lib/components/send-method-dialog/components/send-method-combine-print-email/send-method-combine-print-email.module.ts +26 -0
  225. package/projects/sharedcomponents/src/lib/components/send-method-dialog/components/send-method-email/send-method-email.component.ts +104 -0
  226. package/projects/sharedcomponents/src/lib/components/send-method-dialog/components/send-method-email/send-method-email.module.ts +28 -0
  227. package/projects/sharedcomponents/src/lib/components/send-method-dialog/components/send-method-pdf/send-method-pdf.component.ts +40 -0
  228. package/projects/sharedcomponents/src/lib/components/send-method-dialog/components/send-method-pdf/send-method-pdf.module.ts +23 -0
  229. package/projects/sharedcomponents/src/lib/components/send-method-dialog/components/send-method-printer/send-method-printer.component.ts +182 -0
  230. package/projects/sharedcomponents/src/lib/components/send-method-dialog/components/send-method-printer/send-method-printer.module.ts +34 -0
  231. package/projects/sharedcomponents/src/lib/components/send-method-dialog/components/signature-button/signature-button.component.ts +64 -0
  232. package/projects/sharedcomponents/src/lib/components/send-method-dialog/components/signature-button/signature-button.module.ts +20 -0
  233. package/projects/sharedcomponents/src/lib/components/send-method-dialog/model/email-address-viewmodel.ts +9 -0
  234. package/projects/sharedcomponents/src/lib/components/send-method-dialog/send-method-dialog.component.ts +495 -0
  235. package/projects/sharedcomponents/src/lib/components/send-method-dialog/send-method-dialog.module.ts +38 -0
  236. package/projects/sharedcomponents/src/lib/components/send-method-dialog/send-method-params.interface.ts +13 -0
  237. package/projects/sharedcomponents/src/lib/components/send-method-dialog/service/send-method.service.ts +86 -0
  238. package/projects/sharedcomponents/src/lib/components/simple-tags/simple-tags.component.ts +92 -0
  239. package/projects/sharedcomponents/src/lib/components/simple-tags/simple-tags.module.ts +26 -0
  240. package/projects/sharedcomponents/src/lib/components/simple-tags-form/simple-tags-form.component.ts +208 -0
  241. package/projects/sharedcomponents/src/lib/components/simple-tags-form/simple-tags-form.module.ts +24 -0
  242. package/projects/sharedcomponents/src/lib/components/statusbar/statusbar-popup.component.ts +118 -0
  243. package/projects/sharedcomponents/src/lib/components/statusbar/statusbar.component.ts +115 -0
  244. package/projects/sharedcomponents/src/lib/components/statusbar/statusbar.module.ts +25 -0
  245. package/projects/sharedcomponents/src/lib/components/stock/base/base-stock.component.ts +17 -0
  246. package/projects/sharedcomponents/src/lib/components/stock/components/allocation-stock-history/allocation-stock-history.component.ts +77 -0
  247. package/projects/sharedcomponents/src/lib/components/stock/components/order-commission-stock-history/order-commission-stock-history.component.ts +56 -0
  248. package/projects/sharedcomponents/src/lib/components/stock/components/order-stock-history/order-stock-history.component.ts +55 -0
  249. package/projects/sharedcomponents/src/lib/components/stock/components/order-stock-tab/order-stock-tab.component.ts +54 -0
  250. package/projects/sharedcomponents/src/lib/components/stock/components/order-supply-stock-history/order-supply-stock-history.component.ts +55 -0
  251. package/projects/sharedcomponents/src/lib/components/stock/components/order-tab/order-tab.component.ts +180 -0
  252. package/projects/sharedcomponents/src/lib/components/stock/components/stock-history/stock-history.component.ts +63 -0
  253. package/projects/sharedcomponents/src/lib/components/stock/components/stock-location/components/stock-location-popup/stock-location-popup.component.ts +266 -0
  254. package/projects/sharedcomponents/src/lib/components/stock/components/stock-location/stock-location.component.ts +373 -0
  255. package/projects/sharedcomponents/src/lib/components/stock/components/stock-prognose/stock-prognose.component.ts +71 -0
  256. package/projects/sharedcomponents/src/lib/components/stock/components/stock-tab/stock-tab.component.ts +41 -0
  257. package/projects/sharedcomponents/src/lib/components/stock/service/stock-module-screen-config.service.ts +23 -0
  258. package/projects/sharedcomponents/src/lib/components/stock/stock-history-tabs/stock-history-tabs.component.ts +32 -0
  259. package/projects/sharedcomponents/src/lib/components/stock/stock-information/stock-information.component.ts +86 -0
  260. package/projects/sharedcomponents/src/lib/components/stock/stock-information-grid/stock-information-grid.component.ts +500 -0
  261. package/projects/sharedcomponents/src/lib/components/stock/stock-tabs/stock-tabs.component.ts +191 -0
  262. package/projects/sharedcomponents/src/lib/components/stock/stock-transfer/co-drop-down-list-fields.interface.ts +4 -0
  263. package/projects/sharedcomponents/src/lib/components/stock/stock-transfer/stock-change-amount.component.ts +77 -0
  264. package/projects/sharedcomponents/src/lib/components/stock/stock-transfer/stock-transfer.component.ts +264 -0
  265. package/projects/sharedcomponents/src/lib/components/stock/stock-transfer-allocated/stock-transfer-allocated.component.ts +317 -0
  266. package/projects/sharedcomponents/src/lib/components/stock/stock.component.ts +249 -0
  267. package/projects/sharedcomponents/src/lib/components/stock/stock.module.ts +99 -0
  268. package/projects/sharedcomponents/src/lib/components/stock-statusbar/stock-statusbar.component.ts +23 -0
  269. package/projects/sharedcomponents/src/lib/components/stock-statusbar/stock-statusbar.module.ts +17 -0
  270. package/projects/sharedcomponents/src/lib/components/tab-bar/tab-bar.component.ts +110 -0
  271. package/projects/sharedcomponents/src/lib/components/tab-bar/tab-bar.module.ts +22 -0
  272. package/projects/sharedcomponents/src/lib/components/tab-bar/tab.interface.ts +8 -0
  273. package/projects/sharedcomponents/src/lib/components/tags/component/tag-join-label/tag-join-label.component.ts +61 -0
  274. package/projects/sharedcomponents/src/lib/components/tags/component/tag-label/tag-label.component.ts +47 -0
  275. package/projects/sharedcomponents/src/lib/components/tags/component/treeview/model/tree-view-node-item.ts +132 -0
  276. package/projects/sharedcomponents/src/lib/components/tags/component/treeview/treeview.component.ts +261 -0
  277. package/projects/sharedcomponents/src/lib/components/tags/tags.component.ts +192 -0
  278. package/projects/sharedcomponents/src/lib/components/tags/tags.module.ts +28 -0
  279. package/projects/sharedcomponents/src/lib/components/task-creator/style/_layout.scss +213 -0
  280. package/projects/sharedcomponents/src/lib/components/task-creator/task-creator.component.ts +497 -0
  281. package/projects/sharedcomponents/src/lib/components/task-creator/task-creator.module.ts +49 -0
  282. package/projects/sharedcomponents/src/lib/components/task-modifyer/task-modifier.component.ts +355 -0
  283. package/projects/sharedcomponents/src/lib/components/task-modifyer/task-modifyer.module..ts +32 -0
  284. package/projects/sharedcomponents/src/lib/components/tile-renderer/tile-render.component.ts +137 -0
  285. package/projects/sharedcomponents/src/lib/components/tile-renderer/tile-render.module.ts +26 -0
  286. package/projects/sharedcomponents/src/lib/components/workflow-info-tiles/components/workflow-info-tile.component.ts +59 -0
  287. package/projects/sharedcomponents/src/lib/components/workflow-info-tiles/components/workflow-info-tile.module.ts +22 -0
  288. package/projects/sharedcomponents/src/lib/components/workflow-info-tiles/workflow-info-tiles.component.ts +63 -0
  289. package/projects/sharedcomponents/src/lib/components/workflow-info-tiles/workflow-info-tiles.module.ts +22 -0
  290. package/projects/sharedcomponents/src/lib/components/workflow-notification-toggle/workflow-notification-toggle-popup.ts +55 -0
  291. package/projects/sharedcomponents/src/lib/components/workflow-notification-toggle/workflow-notification-toggle.component.ts +88 -0
  292. package/projects/sharedcomponents/src/lib/components/workflow-notification-toggle/workflow-notification-toggle.module.ts +34 -0
  293. package/projects/sharedcomponents/src/lib/decorator/input-boolean.decorator.ts +35 -0
  294. package/projects/sharedcomponents/src/lib/directives/absolute-overlay-template.directive.ts +26 -0
  295. package/projects/sharedcomponents/src/lib/directives/align-with.directive.ts +191 -0
  296. package/projects/sharedcomponents/src/lib/directives/click-outside.directive.ts +25 -0
  297. package/projects/sharedcomponents/src/lib/directives/directives.module.ts +22 -0
  298. package/projects/sharedcomponents/src/lib/enum/activity-cfg-name.enum.ts +28 -0
  299. package/projects/sharedcomponents/src/lib/enum/app-button-type.enum.ts +9 -0
  300. package/projects/sharedcomponents/src/lib/enum/calendar-view.enum.ts +10 -0
  301. package/projects/sharedcomponents/src/lib/enum/co-document-type.ts +11 -0
  302. package/projects/sharedcomponents/src/lib/enum/document-allowed-type.enum.ts +10 -0
  303. package/projects/sharedcomponents/src/lib/enum/document-email-report.enum.ts +16 -0
  304. package/projects/sharedcomponents/src/lib/enum/domain-multiple-name.enum.ts +11 -0
  305. package/projects/sharedcomponents/src/lib/enum/file-type.ts +12 -0
  306. package/projects/sharedcomponents/src/lib/enum/files-upload-config-objects.ts +25 -0
  307. package/projects/sharedcomponents/src/lib/enum/gauge-color.enum.ts +9 -0
  308. package/projects/sharedcomponents/src/lib/enum/icon.enum.ts +77 -0
  309. package/projects/sharedcomponents/src/lib/enum/internal-param.enum.ts +38 -0
  310. package/projects/sharedcomponents/src/lib/enum/keyboard-code.enum.ts +31 -0
  311. package/projects/sharedcomponents/src/lib/enum/language-code.enum.ts +6 -0
  312. package/projects/sharedcomponents/src/lib/enum/login-component-extra-action-type.enum.ts +4 -0
  313. package/projects/sharedcomponents/src/lib/enum/login-component-page.type.enum.ts +6 -0
  314. package/projects/sharedcomponents/src/lib/enum/login-component-query-variables-name.enum.ts +5 -0
  315. package/projects/sharedcomponents/src/lib/enum/month.enum.ts +15 -0
  316. package/projects/sharedcomponents/src/lib/enum/read-write-access-config-names.enum.ts +5 -0
  317. package/projects/sharedcomponents/src/lib/enum/shared-cfg-name.enum.ts +32 -0
  318. package/projects/sharedcomponents/src/lib/enum/table-name.enum.ts +85 -0
  319. package/projects/sharedcomponents/src/lib/enum/tag-category.enum.ts +20 -0
  320. package/projects/sharedcomponents/src/lib/enum/tags-component-config-names.ts +5 -0
  321. package/projects/sharedcomponents/src/lib/enum/thumb-three-way-state.ts +18 -0
  322. package/projects/sharedcomponents/src/lib/enum/tile-size-type.ts +5 -0
  323. package/projects/sharedcomponents/src/lib/enum/time-period.enum.ts +9 -0
  324. package/projects/sharedcomponents/src/lib/enum/user-form-mode.enum.ts +5 -0
  325. package/projects/sharedcomponents/src/lib/event/co-drag-event.ts +6 -0
  326. package/projects/sharedcomponents/src/lib/event/co-drop-event.ts +12 -0
  327. package/projects/sharedcomponents/src/lib/interface/operation-callback-activity.ts +6 -0
  328. package/projects/sharedcomponents/src/lib/interface/operation-callback-function-with-validation.ts +6 -0
  329. package/projects/sharedcomponents/src/lib/interface/operation-callback-simple-function.ts +4 -0
  330. package/projects/sharedcomponents/src/lib/model/agenda-event-per-day.model.ts +6 -0
  331. package/projects/sharedcomponents/src/lib/model/agenda-event.model.ts +19 -0
  332. package/projects/sharedcomponents/src/lib/model/agenda-null-objects.ts +11 -0
  333. package/projects/sharedcomponents/src/lib/model/constant/all-months.ts +17 -0
  334. package/projects/sharedcomponents/src/lib/model/date-range.ts +10 -0
  335. package/projects/sharedcomponents/src/lib/model/day.model.ts +9 -0
  336. package/projects/sharedcomponents/src/lib/model/icon-svg.ts +77 -0
  337. package/projects/sharedcomponents/src/lib/model/month.model.ts +11 -0
  338. package/projects/sharedcomponents/src/lib/model/send-method.ts +13 -0
  339. package/projects/sharedcomponents/src/lib/model/settings.ts +5 -0
  340. package/projects/sharedcomponents/src/lib/model/tag-tree-item.bo.ts +28 -0
  341. package/projects/sharedcomponents/src/lib/model/time-window.bo.ts +21 -0
  342. package/projects/sharedcomponents/src/lib/model/tree-object.ts +13 -0
  343. package/projects/sharedcomponents/src/lib/model/tree-view-default.model.ts +107 -0
  344. package/projects/sharedcomponents/src/lib/model/tree-view-node-default.model.ts +196 -0
  345. package/projects/sharedcomponents/src/lib/model/tree-view-node-item-options.model.ts +12 -0
  346. package/projects/sharedcomponents/src/lib/model/tree-view-node.model.ts +150 -0
  347. package/projects/sharedcomponents/src/lib/model/tree-view.model.ts +57 -0
  348. package/projects/sharedcomponents/src/lib/model/util/forms-null-object.ts +7 -0
  349. package/projects/sharedcomponents/src/lib/model/week.model.ts +5 -0
  350. package/projects/sharedcomponents/src/lib/model/weekday.model.ts +17 -0
  351. package/projects/sharedcomponents/src/lib/pipe/array-number.pipe.ts +14 -0
  352. package/projects/sharedcomponents/src/lib/pipe/file-type-image.pipe.ts +50 -0
  353. package/projects/sharedcomponents/src/lib/pipe/master-pipes.ts +9 -0
  354. package/projects/sharedcomponents/src/lib/pipe/ucfirst.pipe.ts +14 -0
  355. package/projects/sharedcomponents/src/lib/res/dictionary/dictionaries.ts +7 -0
  356. package/projects/sharedcomponents/src/lib/res/dictionary/text_de.properties.json +1 -0
  357. package/projects/sharedcomponents/src/lib/res/dictionary/text_en.properties.json +1 -0
  358. package/projects/sharedcomponents/src/lib/res/dictionary/text_fr.properties.json +1 -0
  359. package/projects/sharedcomponents/src/lib/res/dictionary/text_nl.properties.json +1 -0
  360. package/projects/sharedcomponents/src/lib/service/app-absolute-overlay-outlet.service.ts +20 -0
  361. package/projects/sharedcomponents/src/lib/service/drag-drop.service.ts +423 -0
  362. package/projects/sharedcomponents/src/lib/service/icon-cache.service.ts +51 -0
  363. package/projects/sharedcomponents/src/lib/service/options.service.ts +43 -0
  364. package/projects/sharedcomponents/src/lib/service/shared-connector.service.ts +863 -0
  365. package/projects/sharedcomponents/src/lib/service/shared-event.service.ts +9 -0
  366. package/projects/sharedcomponents/src/lib/service/shared-initializer.service.ts +44 -0
  367. package/projects/sharedcomponents/src/lib/service/shared.service.ts +244 -0
  368. package/projects/sharedcomponents/src/lib/service/stock.service.ts +124 -0
  369. package/projects/sharedcomponents/src/lib/translation/shared-components-dictionary.service.ts +73 -0
  370. package/projects/sharedcomponents/src/lib/translation/shared-components-translation.module.ts +12 -0
  371. package/projects/sharedcomponents/src/lib/translation/shared-localize.pipe.ts +21 -0
  372. package/projects/sharedcomponents/src/lib/typings/local/fingerprintjs2/index.d.ts +42 -0
  373. package/projects/sharedcomponents/src/lib/utils/array-utils.ts +225 -0
  374. package/projects/sharedcomponents/src/lib/utils/browser-utils.ts +124 -0
  375. package/projects/sharedcomponents/src/lib/utils/calendar.utils.ts +199 -0
  376. package/projects/sharedcomponents/src/lib/utils/check-precision-and-scale-result.ts +5 -0
  377. package/projects/sharedcomponents/src/lib/utils/co-document-shared-field-logic.ts +58 -0
  378. package/projects/sharedcomponents/src/lib/utils/date-utils.ts +302 -0
  379. package/projects/sharedcomponents/src/lib/utils/enum-utils.ts +149 -0
  380. package/projects/sharedcomponents/src/lib/utils/event-utils.ts +70 -0
  381. package/projects/sharedcomponents/src/lib/utils/form-utils.ts +33 -0
  382. package/projects/sharedcomponents/src/lib/utils/function/not-nill.function.ts +4 -0
  383. package/projects/sharedcomponents/src/lib/utils/is-nill.function.ts +4 -0
  384. package/projects/sharedcomponents/src/lib/utils/map-utils.ts +44 -0
  385. package/projects/sharedcomponents/src/lib/utils/number-utils.ts +439 -0
  386. package/projects/sharedcomponents/src/lib/utils/object-utils.ts +310 -0
  387. package/projects/sharedcomponents/src/lib/utils/ref-code-utils.ts +60 -0
  388. package/projects/sharedcomponents/src/lib/utils/string-utils.ts +102 -0
  389. package/projects/sharedcomponents/src/lib/utils/tree-utils.ts +63 -0
  390. package/projects/sharedcomponents/src/public-api.ts +50 -0
  391. package/projects/sharedcomponents/src/test.ts +27 -0
  392. package/projects/sharedcomponents/tsconfig.lib.json +18 -0
  393. package/projects/sharedcomponents/tsconfig.lib.prod.json +10 -0
  394. package/projects/sharedcomponents/tsconfig.spec.json +17 -0
  395. package/script/create-bundle-version.js +19 -0
  396. package/script/create-dictionaries.js +41 -0
  397. package/script/merge-icons.js +39 -0
  398. package/src/app/app-login.component.ts +18 -0
  399. package/src/app/app-module.service.ts +7 -0
  400. package/src/app/app-screen-config.service.ts +13 -0
  401. package/src/app/app.component.scss +31 -0
  402. package/src/app/app.component.spec.ts +31 -0
  403. package/src/app/app.component.ts +798 -0
  404. package/src/app/app.module.ts +100 -0
  405. package/src/app/bundle/index.html +14 -0
  406. package/src/app/bundle/login/login-bundle.component.scss +8 -0
  407. package/src/app/bundle/login/login-bundle.component.ts +150 -0
  408. package/src/app/bundle/login/login-bundle.module.ts +32 -0
  409. package/src/app/bundle/main-login-bundle.ts +11 -0
  410. package/src/app/bundle/polyfills.ts +63 -0
  411. package/src/app/bundle/shared-version.ts +7 -0
  412. package/src/app/test-data.service.ts +230 -0
  413. package/src/assets/.gitkeep +0 -0
  414. package/src/environments/environment.bundle.prod.ts +3 -0
  415. package/src/environments/environment.prod.ts +3 -0
  416. package/src/environments/environment.ts +16 -0
  417. package/src/favicon.ico +0 -0
  418. package/src/index.html +13 -0
  419. package/src/main.ts +12 -0
  420. package/src/polyfills.ts +53 -0
  421. package/src/styles.scss +92 -0
  422. package/src/test.ts +26 -0
  423. package/tsconfig.app.json +15 -0
  424. package/tsconfig.bundle.json +38 -0
  425. package/tsconfig.json +64 -0
  426. package/tsconfig.spec.json +18 -0
  427. package/webpack.login.bundle.config.js +32 -0
  428. package/bundles/colijnit-sharedcomponents.umd.js +0 -17989
  429. package/bundles/colijnit-sharedcomponents.umd.js.map +0 -1
  430. package/colijnit-sharedcomponents.d.ts +0 -143
  431. package/colijnit-sharedcomponents.metadata.json +0 -1
  432. package/esm2015/colijnit-sharedcomponents.js +0 -144
  433. package/esm2015/lib/businessobject/build-images-and-documentation-result.js +0 -2
  434. package/esm2015/lib/businessobject/drag-drop-container-element.js +0 -2
  435. package/esm2015/lib/businessobject/drag-drop-container.js +0 -7
  436. package/esm2015/lib/components/activity-list/activity-list.component.js +0 -192
  437. package/esm2015/lib/components/activity-list/activity-list.module.js +0 -24
  438. package/esm2015/lib/components/activity-list-header/activity-list-header.component.js +0 -67
  439. package/esm2015/lib/components/activity-list-header/activity-list-header.module.js +0 -28
  440. package/esm2015/lib/components/activity-list-header/components/period-filter/period-filter-popup.component.js +0 -55
  441. package/esm2015/lib/components/activity-list-header/components/period-filter/period-filter.component.js +0 -103
  442. package/esm2015/lib/components/activity-list-header/components/period-filter/period-filter.module.js +0 -33
  443. package/esm2015/lib/components/activity-overview-component/component-activity-overview.component.js +0 -215
  444. package/esm2015/lib/components/activity-overview-component/component-activity-overview.module.js +0 -26
  445. package/esm2015/lib/components/activity-overview-component/components/base-activity-overview.component.js +0 -283
  446. package/esm2015/lib/components/app-file-dropzone/app-file-dropzone.component.js +0 -47
  447. package/esm2015/lib/components/app-file-dropzone/app-file-dropzone.module.js +0 -20
  448. package/esm2015/lib/components/custom-pdf/custom-pdf-dialog.component.js +0 -279
  449. package/esm2015/lib/components/custom-pdf/custom-pdf-dialog.module.js +0 -27
  450. package/esm2015/lib/components/date-planning/component/agenda/agenda-base-view.component.js +0 -61
  451. package/esm2015/lib/components/date-planning/component/agenda/agenda-day-view.component.js +0 -36
  452. package/esm2015/lib/components/date-planning/component/agenda/agenda-event.component.js +0 -56
  453. package/esm2015/lib/components/date-planning/component/agenda/agenda-events.component.js +0 -47
  454. package/esm2015/lib/components/date-planning/component/agenda/agenda-half-hour-cell.component.js +0 -68
  455. package/esm2015/lib/components/date-planning/component/agenda/agenda-header.component.js +0 -366
  456. package/esm2015/lib/components/date-planning/component/agenda/agenda-hour-cell.component.js +0 -36
  457. package/esm2015/lib/components/date-planning/component/agenda/agenda-hour-view-labels.component.js +0 -50
  458. package/esm2015/lib/components/date-planning/component/agenda/agenda-hour-view.component.js +0 -46
  459. package/esm2015/lib/components/date-planning/component/agenda/agenda-month-view.component.js +0 -61
  460. package/esm2015/lib/components/date-planning/component/agenda/agenda-select-event.component.js +0 -39
  461. package/esm2015/lib/components/date-planning/component/agenda/agenda-view.component.js +0 -35
  462. package/esm2015/lib/components/date-planning/component/agenda/agenda-week-select-view.component.js +0 -64
  463. package/esm2015/lib/components/date-planning/component/agenda/agenda-week-view.component.js +0 -48
  464. package/esm2015/lib/components/date-planning/component/agenda/view-select.component.js +0 -75
  465. package/esm2015/lib/components/date-planning/component/calendar/calendar-all-months.component.js +0 -34
  466. package/esm2015/lib/components/date-planning/component/calendar/calendar-all-years.component.js +0 -48
  467. package/esm2015/lib/components/date-planning/component/calendar/calendar-header.component.js +0 -107
  468. package/esm2015/lib/components/date-planning/component/calendar/calendar-view.component.js +0 -178
  469. package/esm2015/lib/components/date-planning/component/calendar/calendar.component.js +0 -34
  470. package/esm2015/lib/components/date-planning/date-planning.component.js +0 -116
  471. package/esm2015/lib/components/date-planning/date-planning.module.js +0 -65
  472. package/esm2015/lib/components/docsign/component/signature/signature.component.js +0 -75
  473. package/esm2015/lib/components/docsign/component/signatures/signatures.component.js +0 -44
  474. package/esm2015/lib/components/docsign/docsign.component.js +0 -263
  475. package/esm2015/lib/components/docsign/docsign.module.js +0 -23
  476. package/esm2015/lib/components/email-selector/email-selector.component.js +0 -117
  477. package/esm2015/lib/components/email-selector/email-selector.module.js +0 -32
  478. package/esm2015/lib/components/file-upload/file-upload.component.js +0 -210
  479. package/esm2015/lib/components/file-upload/file-upload.module.js +0 -27
  480. package/esm2015/lib/components/file-upload-popup/file-upload-popup.component.js +0 -404
  481. package/esm2015/lib/components/file-upload-popup/file-upload-popup.module.js +0 -31
  482. package/esm2015/lib/components/files-upload/components/base-file-upload.component.js +0 -468
  483. package/esm2015/lib/components/files-upload/components/drag-drop-container.component.js +0 -115
  484. package/esm2015/lib/components/files-upload/files-upload.component.js +0 -148
  485. package/esm2015/lib/components/files-upload/files-upload.module.js +0 -47
  486. package/esm2015/lib/components/form-builder/form-builder-user-form/components/user-form-input-scale/user-form-input-scale.component.js +0 -98
  487. package/esm2015/lib/components/form-builder/form-builder-user-form/components/user-form-input-scale/user-form-input-scale.module.js +0 -23
  488. package/esm2015/lib/components/form-builder/form-builder-user-form/form-builder-question.component.js +0 -148
  489. package/esm2015/lib/components/form-builder/form-builder-user-form/form-builder-user-form.component.js +0 -266
  490. package/esm2015/lib/components/form-builder/form-builder-user-form/form-builder-user-form.module.js +0 -43
  491. package/esm2015/lib/components/image-display/image-display.component.js +0 -36
  492. package/esm2015/lib/components/image-display/image-display.module.js +0 -23
  493. package/esm2015/lib/components/key-pad/key-pad.component.js +0 -200
  494. package/esm2015/lib/components/key-pad/key-pad.module.js +0 -22
  495. package/esm2015/lib/components/layout-switcher/layout-switcher.component.js +0 -74
  496. package/esm2015/lib/components/layout-switcher/layout-switcher.module.js +0 -21
  497. package/esm2015/lib/components/linear-gauge/co-linear-gauge.component.js +0 -67
  498. package/esm2015/lib/components/linear-gauge/co-linear-gauge.module.js +0 -19
  499. package/esm2015/lib/components/modify-task-form/components/activity-summary-block/activity-summary-block.component.js +0 -100
  500. package/esm2015/lib/components/modify-task-form/components/activity-summary-block/activity-summary-block.module.js +0 -25
  501. package/esm2015/lib/components/modify-task-form/components/base-activity-summary.component.js +0 -131
  502. package/esm2015/lib/components/modify-task-form/components/creation-summary-block/creation-summary-block.component.js +0 -120
  503. package/esm2015/lib/components/modify-task-form/components/creation-summary-block/creation-summary-block.module.js +0 -27
  504. package/esm2015/lib/components/modify-task-form/components/executive-summary-block/executive-summary-block.component.js +0 -88
  505. package/esm2015/lib/components/modify-task-form/components/executive-summary-block/executive-summary-block.module.js +0 -24
  506. package/esm2015/lib/components/modify-task-form/components/notification-summary-block/notification-summary-block.component.js +0 -108
  507. package/esm2015/lib/components/modify-task-form/components/notification-summary-block/notification-summary-block.module.js +0 -28
  508. package/esm2015/lib/components/modify-task-form/components/status-summary-block/status-summary-block.component.js +0 -74
  509. package/esm2015/lib/components/modify-task-form/components/status-summary-block/status-summary-block.module.js +0 -25
  510. package/esm2015/lib/components/modify-task-form/components/task-details/task-details.component.js +0 -105
  511. package/esm2015/lib/components/modify-task-form/components/task-details/task-details.module.js +0 -25
  512. package/esm2015/lib/components/modify-task-form/modify-task-form.component.js +0 -293
  513. package/esm2015/lib/components/modify-task-form/modify-task-form.module.js +0 -40
  514. package/esm2015/lib/components/multi-property-toggler/multiple-property-toggler.component.js +0 -89
  515. package/esm2015/lib/components/multi-property-toggler/multiple-property-toggler.module.js +0 -21
  516. package/esm2015/lib/components/open-activity-list/component-activity-list.component.js +0 -296
  517. package/esm2015/lib/components/open-activity-list/component-activity-list.module.js +0 -30
  518. package/esm2015/lib/components/open-activity-list/components/base-open-activity-list.component.js +0 -266
  519. package/esm2015/lib/components/open-activity-list/components/personal-activity-overview/personal-activity-overview.component.js +0 -41
  520. package/esm2015/lib/components/open-activity-list/components/personal-activity-overview/personal-activity-overview.module..js +0 -19
  521. package/esm2015/lib/components/preferred-planning/preferred-planning.component.js +0 -218
  522. package/esm2015/lib/components/preferred-planning/preferred-planning.module.js +0 -25
  523. package/esm2015/lib/components/preview-pdf-dialog/preview-pdf-dialog.component.js +0 -77
  524. package/esm2015/lib/components/preview-pdf-dialog/preview-pdf-dialog.module.js +0 -26
  525. package/esm2015/lib/components/role-email-selector/role-email-selector.component.js +0 -159
  526. package/esm2015/lib/components/role-email-selector/role-email-selector.module.js +0 -29
  527. package/esm2015/lib/components/send-method-dialog/components/additional-file-button/additional-file-button.component.js +0 -64
  528. package/esm2015/lib/components/send-method-dialog/components/additional-file-button/additional-file-button.module.js +0 -23
  529. package/esm2015/lib/components/send-method-dialog/components/layout-selection/layout-selection.component.js +0 -73
  530. package/esm2015/lib/components/send-method-dialog/components/layout-selection/layout-selection.module.js +0 -24
  531. package/esm2015/lib/components/send-method-dialog/components/printer-selection/printer-selection.component.js +0 -58
  532. package/esm2015/lib/components/send-method-dialog/components/printer-selection/printer-selection.module.js +0 -24
  533. package/esm2015/lib/components/send-method-dialog/components/send-method-combine-print-email/send-method-combine-print-email.component.js +0 -239
  534. package/esm2015/lib/components/send-method-dialog/components/send-method-combine-print-email/send-method-combine-print-email.module.js +0 -28
  535. package/esm2015/lib/components/send-method-dialog/components/send-method-email/send-method-email.component.js +0 -94
  536. package/esm2015/lib/components/send-method-dialog/components/send-method-email/send-method-email.module.js +0 -30
  537. package/esm2015/lib/components/send-method-dialog/components/send-method-pdf/send-method-pdf.component.js +0 -42
  538. package/esm2015/lib/components/send-method-dialog/components/send-method-pdf/send-method-pdf.module.js +0 -25
  539. package/esm2015/lib/components/send-method-dialog/components/send-method-printer/send-method-printer.component.js +0 -163
  540. package/esm2015/lib/components/send-method-dialog/components/send-method-printer/send-method-printer.module.js +0 -36
  541. package/esm2015/lib/components/send-method-dialog/components/signature-button/signature-button.component.js +0 -57
  542. package/esm2015/lib/components/send-method-dialog/components/signature-button/signature-button.module.js +0 -22
  543. package/esm2015/lib/components/send-method-dialog/model/email-address-viewmodel.js +0 -7
  544. package/esm2015/lib/components/send-method-dialog/send-method-dialog.component.js +0 -404
  545. package/esm2015/lib/components/send-method-dialog/send-method-dialog.module.js +0 -39
  546. package/esm2015/lib/components/send-method-dialog/send-method-params.interface.js +0 -2
  547. package/esm2015/lib/components/send-method-dialog/service/send-method.service.js +0 -75
  548. package/esm2015/lib/components/simple-tags/simple-tags.component.js +0 -87
  549. package/esm2015/lib/components/simple-tags/simple-tags.module.js +0 -28
  550. package/esm2015/lib/components/simple-tags-form/simple-tags-form.component.js +0 -196
  551. package/esm2015/lib/components/simple-tags-form/simple-tags-form.module.js +0 -26
  552. package/esm2015/lib/components/statusbar/statusbar-popup.component.js +0 -114
  553. package/esm2015/lib/components/statusbar/statusbar.component.js +0 -86
  554. package/esm2015/lib/components/statusbar/statusbar.module.js +0 -27
  555. package/esm2015/lib/components/stock/base/base-stock.component.js +0 -18
  556. package/esm2015/lib/components/stock/components/allocation-stock-history/allocation-stock-history.component.js +0 -79
  557. package/esm2015/lib/components/stock/components/order-commission-stock-history/order-commission-stock-history.component.js +0 -58
  558. package/esm2015/lib/components/stock/components/order-stock-history/order-stock-history.component.js +0 -58
  559. package/esm2015/lib/components/stock/components/order-stock-tab/order-stock-tab.component.js +0 -58
  560. package/esm2015/lib/components/stock/components/order-supply-stock-history/order-supply-stock-history.component.js +0 -58
  561. package/esm2015/lib/components/stock/components/order-tab/order-tab.component.js +0 -162
  562. package/esm2015/lib/components/stock/components/stock-history/stock-history.component.js +0 -66
  563. package/esm2015/lib/components/stock/components/stock-location/components/stock-location-popup/stock-location-popup.component.js +0 -241
  564. package/esm2015/lib/components/stock/components/stock-location/stock-location.component.js +0 -327
  565. package/esm2015/lib/components/stock/components/stock-prognose/stock-prognose.component.js +0 -73
  566. package/esm2015/lib/components/stock/components/stock-tab/stock-tab.component.js +0 -42
  567. package/esm2015/lib/components/stock/service/stock-module-screen-config.service.js +0 -27
  568. package/esm2015/lib/components/stock/stock-history-tabs/stock-history-tabs.component.js +0 -33
  569. package/esm2015/lib/components/stock/stock-information/stock-information.component.js +0 -76
  570. package/esm2015/lib/components/stock/stock-information-grid/stock-information-grid.component.js +0 -457
  571. package/esm2015/lib/components/stock/stock-tabs/stock-tabs.component.js +0 -173
  572. package/esm2015/lib/components/stock/stock-transfer/co-drop-down-list-fields.interface.js +0 -2
  573. package/esm2015/lib/components/stock/stock-transfer/stock-change-amount.component.js +0 -72
  574. package/esm2015/lib/components/stock/stock-transfer/stock-transfer.component.js +0 -219
  575. package/esm2015/lib/components/stock/stock-transfer-allocated/stock-transfer-allocated.component.js +0 -273
  576. package/esm2015/lib/components/stock/stock.component.js +0 -211
  577. package/esm2015/lib/components/stock/stock.module.js +0 -86
  578. package/esm2015/lib/components/stock-statusbar/stock-statusbar.component.js +0 -23
  579. package/esm2015/lib/components/stock-statusbar/stock-statusbar.module.js +0 -19
  580. package/esm2015/lib/components/tab-bar/tab-bar.component.js +0 -98
  581. package/esm2015/lib/components/tab-bar/tab-bar.module.js +0 -23
  582. package/esm2015/lib/components/tab-bar/tab.interface.js +0 -2
  583. package/esm2015/lib/components/task-creator/task-creator.component.js +0 -410
  584. package/esm2015/lib/components/task-creator/task-creator.module.js +0 -40
  585. package/esm2015/lib/components/task-modifyer/task-modifier.component.js +0 -282
  586. package/esm2015/lib/components/task-modifyer/task-modifyer.module..js +0 -32
  587. package/esm2015/lib/components/tile-renderer/tile-render.component.js +0 -90
  588. package/esm2015/lib/components/tile-renderer/tile-render.module.js +0 -26
  589. package/esm2015/lib/components/workflow-info-tiles/components/workflow-info-tile.component.js +0 -52
  590. package/esm2015/lib/components/workflow-info-tiles/components/workflow-info-tile.module.js +0 -22
  591. package/esm2015/lib/components/workflow-info-tiles/workflow-info-tiles.component.js +0 -60
  592. package/esm2015/lib/components/workflow-info-tiles/workflow-info-tiles.module.js +0 -22
  593. package/esm2015/lib/components/workflow-notification-toggle/workflow-notification-toggle-popup.js +0 -53
  594. package/esm2015/lib/components/workflow-notification-toggle/workflow-notification-toggle.component.js +0 -81
  595. package/esm2015/lib/components/workflow-notification-toggle/workflow-notification-toggle.module.js +0 -34
  596. package/esm2015/lib/decorator/input-boolean.decorator.js +0 -34
  597. package/esm2015/lib/directives/absolute-overlay-template.directive.js +0 -29
  598. package/esm2015/lib/directives/align-with.directive.js +0 -174
  599. package/esm2015/lib/directives/click-outside.directive.js +0 -25
  600. package/esm2015/lib/directives/directives.module.js +0 -22
  601. package/esm2015/lib/enum/activity-cfg-name.enum.js +0 -29
  602. package/esm2015/lib/enum/app-button-type.enum.js +0 -11
  603. package/esm2015/lib/enum/calendar-view.enum.js +0 -12
  604. package/esm2015/lib/enum/document-email-report.enum.js +0 -18
  605. package/esm2015/lib/enum/domain-multiple-name.enum.js +0 -13
  606. package/esm2015/lib/enum/file-type.js +0 -14
  607. package/esm2015/lib/enum/files-upload-config-objects.js +0 -3
  608. package/esm2015/lib/enum/gauge-color.enum.js +0 -11
  609. package/esm2015/lib/enum/icon.enum.js +0 -78
  610. package/esm2015/lib/enum/internal-param.enum.js +0 -38
  611. package/esm2015/lib/enum/keyboard-code.enum.js +0 -33
  612. package/esm2015/lib/enum/language-code.enum.js +0 -8
  613. package/esm2015/lib/enum/month.enum.js +0 -17
  614. package/esm2015/lib/enum/read-write-access-config-names.enum.js +0 -2
  615. package/esm2015/lib/enum/shared-cfg-name.enum.js +0 -19
  616. package/esm2015/lib/enum/table-name.enum.js +0 -86
  617. package/esm2015/lib/enum/tag-category.enum.js +0 -22
  618. package/esm2015/lib/enum/tags-component-config-names.js +0 -2
  619. package/esm2015/lib/enum/thumb-three-way-state.js +0 -19
  620. package/esm2015/lib/enum/tile-size-type.js +0 -7
  621. package/esm2015/lib/enum/time-period.enum.js +0 -11
  622. package/esm2015/lib/enum/user-form-mode.enum.js +0 -7
  623. package/esm2015/lib/event/co-drag-event.js +0 -2
  624. package/esm2015/lib/event/co-drop-event.js +0 -2
  625. package/esm2015/lib/interface/activities-task-config-names.js +0 -2
  626. package/esm2015/lib/interface/key-value-pair.js +0 -2
  627. package/esm2015/lib/interface/operation-callback-activity.js +0 -5
  628. package/esm2015/lib/interface/operation-callback-function-with-validation.js +0 -5
  629. package/esm2015/lib/interface/operation-callback-simple-function.js +0 -4
  630. package/esm2015/lib/model/agenda-event-per-day.model.js +0 -6
  631. package/esm2015/lib/model/agenda-event.model.js +0 -8
  632. package/esm2015/lib/model/agenda-null-objects.js +0 -11
  633. package/esm2015/lib/model/constant/all-months.js +0 -17
  634. package/esm2015/lib/model/date-range.js +0 -5
  635. package/esm2015/lib/model/day.model.js +0 -7
  636. package/esm2015/lib/model/icon-svg.js +0 -77
  637. package/esm2015/lib/model/month.model.js +0 -11
  638. package/esm2015/lib/model/send-method.js +0 -8
  639. package/esm2015/lib/model/settings.js +0 -4
  640. package/esm2015/lib/model/tag-tree-item.bo.js +0 -16
  641. package/esm2015/lib/model/time-window.bo.js +0 -26
  642. package/esm2015/lib/model/tree-object.js +0 -15
  643. package/esm2015/lib/model/util/forms-null-object.js +0 -7
  644. package/esm2015/lib/model/week.model.js +0 -6
  645. package/esm2015/lib/model/weekday.model.js +0 -10
  646. package/esm2015/lib/pipe/array-number.pipe.js +0 -15
  647. package/esm2015/lib/pipe/file-type-image.pipe.js +0 -51
  648. package/esm2015/lib/pipe/master-pipes.js +0 -9
  649. package/esm2015/lib/pipe/ucfirst.pipe.js +0 -16
  650. package/esm2015/lib/res/dictionary/dictionaries.js +0 -9
  651. package/esm2015/lib/service/app-absolute-overlay-outlet.service.js +0 -20
  652. package/esm2015/lib/service/drag-drop.service.js +0 -365
  653. package/esm2015/lib/service/icon-cache.service.js +0 -51
  654. package/esm2015/lib/service/options.service.js +0 -48
  655. package/esm2015/lib/service/shared-connector.service.js +0 -932
  656. package/esm2015/lib/service/shared-event.service.js +0 -15
  657. package/esm2015/lib/service/shared.service.js +0 -252
  658. package/esm2015/lib/service/stock.service.js +0 -109
  659. package/esm2015/lib/translation/shared-components-dictionary.service.js +0 -69
  660. package/esm2015/lib/translation/shared-components-translation.module.js +0 -15
  661. package/esm2015/lib/translation/shared-localize.pipe.js +0 -26
  662. package/esm2015/lib/utils/array-utils.js +0 -202
  663. package/esm2015/lib/utils/browser-utils.js +0 -100
  664. package/esm2015/lib/utils/calendar.utils.js +0 -179
  665. package/esm2015/lib/utils/check-precision-and-scale-result.js +0 -2
  666. package/esm2015/lib/utils/check-within-stepped-bounds-result.js +0 -2
  667. package/esm2015/lib/utils/co-document-shared-field-logic.js +0 -50
  668. package/esm2015/lib/utils/date-utils.js +0 -264
  669. package/esm2015/lib/utils/enum-utils.js +0 -128
  670. package/esm2015/lib/utils/event-utils.js +0 -59
  671. package/esm2015/lib/utils/form-utils.js +0 -32
  672. package/esm2015/lib/utils/function/not-nill.function.js +0 -5
  673. package/esm2015/lib/utils/is-nill.function.js +0 -5
  674. package/esm2015/lib/utils/map-utils.js +0 -41
  675. package/esm2015/lib/utils/number-utils.js +0 -390
  676. package/esm2015/lib/utils/object-utils.js +0 -278
  677. package/esm2015/lib/utils/ref-code-utils.js +0 -49
  678. package/esm2015/lib/utils/string-utils.js +0 -97
  679. package/esm2015/public-api.js +0 -48
  680. package/fesm2015/colijnit-sharedcomponents.js +0 -18716
  681. package/fesm2015/colijnit-sharedcomponents.js.map +0 -1
  682. package/lib/businessobject/build-images-and-documentation-result.d.ts +0 -5
  683. package/lib/businessobject/drag-drop-container-element.d.ts +0 -6
  684. package/lib/businessobject/drag-drop-container.d.ts +0 -6
  685. package/lib/components/activity-list/activity-list.component.d.ts +0 -51
  686. package/lib/components/activity-list/activity-list.module.d.ts +0 -2
  687. package/lib/components/activity-list-header/activity-list-header.component.d.ts +0 -25
  688. package/lib/components/activity-list-header/activity-list-header.module.d.ts +0 -2
  689. package/lib/components/activity-list-header/components/period-filter/period-filter-popup.component.d.ts +0 -11
  690. package/lib/components/activity-list-header/components/period-filter/period-filter.component.d.ts +0 -26
  691. package/lib/components/activity-list-header/components/period-filter/period-filter.module.d.ts +0 -2
  692. package/lib/components/activity-overview-component/component-activity-overview.component.d.ts +0 -24
  693. package/lib/components/activity-overview-component/component-activity-overview.module.d.ts +0 -2
  694. package/lib/components/activity-overview-component/components/base-activity-overview.component.d.ts +0 -81
  695. package/lib/components/app-file-dropzone/app-file-dropzone.component.d.ts +0 -14
  696. package/lib/components/app-file-dropzone/app-file-dropzone.module.d.ts +0 -2
  697. package/lib/components/custom-pdf/custom-pdf-dialog.component.d.ts +0 -41
  698. package/lib/components/custom-pdf/custom-pdf-dialog.module.d.ts +0 -2
  699. package/lib/components/date-planning/component/agenda/agenda-base-view.component.d.ts +0 -21
  700. package/lib/components/date-planning/component/agenda/agenda-day-view.component.d.ts +0 -7
  701. package/lib/components/date-planning/component/agenda/agenda-event.component.d.ts +0 -18
  702. package/lib/components/date-planning/component/agenda/agenda-events.component.d.ts +0 -13
  703. package/lib/components/date-planning/component/agenda/agenda-half-hour-cell.component.d.ts +0 -18
  704. package/lib/components/date-planning/component/agenda/agenda-header.component.d.ts +0 -51
  705. package/lib/components/date-planning/component/agenda/agenda-hour-cell.component.d.ts +0 -9
  706. package/lib/components/date-planning/component/agenda/agenda-hour-view-labels.component.d.ts +0 -8
  707. package/lib/components/date-planning/component/agenda/agenda-hour-view.component.d.ts +0 -7
  708. package/lib/components/date-planning/component/agenda/agenda-month-view.component.d.ts +0 -10
  709. package/lib/components/date-planning/component/agenda/agenda-select-event.component.d.ts +0 -12
  710. package/lib/components/date-planning/component/agenda/agenda-view.component.d.ts +0 -12
  711. package/lib/components/date-planning/component/agenda/agenda-week-select-view.component.d.ts +0 -10
  712. package/lib/components/date-planning/component/agenda/agenda-week-view.component.d.ts +0 -9
  713. package/lib/components/date-planning/component/agenda/view-select.component.d.ts +0 -13
  714. package/lib/components/date-planning/component/calendar/calendar-all-months.component.d.ts +0 -9
  715. package/lib/components/date-planning/component/calendar/calendar-all-years.component.d.ts +0 -9
  716. package/lib/components/date-planning/component/calendar/calendar-header.component.d.ts +0 -23
  717. package/lib/components/date-planning/component/calendar/calendar-view.component.d.ts +0 -31
  718. package/lib/components/date-planning/component/calendar/calendar.component.d.ts +0 -10
  719. package/lib/components/date-planning/date-planning.component.d.ts +0 -29
  720. package/lib/components/date-planning/date-planning.module.d.ts +0 -2
  721. package/lib/components/docsign/component/signature/signature.component.d.ts +0 -16
  722. package/lib/components/docsign/component/signatures/signatures.component.d.ts +0 -12
  723. package/lib/components/docsign/docsign.component.d.ts +0 -99
  724. package/lib/components/docsign/docsign.module.d.ts +0 -2
  725. package/lib/components/email-selector/email-selector.component.d.ts +0 -33
  726. package/lib/components/email-selector/email-selector.module.d.ts +0 -2
  727. package/lib/components/file-upload/file-upload.component.d.ts +0 -49
  728. package/lib/components/file-upload/file-upload.module.d.ts +0 -2
  729. package/lib/components/file-upload-popup/file-upload-popup.component.d.ts +0 -79
  730. package/lib/components/file-upload-popup/file-upload-popup.module.d.ts +0 -2
  731. package/lib/components/files-upload/components/base-file-upload.component.d.ts +0 -98
  732. package/lib/components/files-upload/components/drag-drop-container.component.d.ts +0 -34
  733. package/lib/components/files-upload/files-upload.component.d.ts +0 -32
  734. package/lib/components/files-upload/files-upload.module.d.ts +0 -2
  735. package/lib/components/form-builder/form-builder-user-form/components/user-form-input-scale/user-form-input-scale.component.d.ts +0 -23
  736. package/lib/components/form-builder/form-builder-user-form/components/user-form-input-scale/user-form-input-scale.module.d.ts +0 -2
  737. package/lib/components/form-builder/form-builder-user-form/form-builder-question.component.d.ts +0 -32
  738. package/lib/components/form-builder/form-builder-user-form/form-builder-user-form.component.d.ts +0 -64
  739. package/lib/components/form-builder/form-builder-user-form/form-builder-user-form.module.d.ts +0 -2
  740. package/lib/components/image-display/image-display.component.d.ts +0 -14
  741. package/lib/components/image-display/image-display.module.d.ts +0 -2
  742. package/lib/components/key-pad/key-pad.component.d.ts +0 -38
  743. package/lib/components/key-pad/key-pad.module.d.ts +0 -2
  744. package/lib/components/layout-switcher/layout-switcher.component.d.ts +0 -16
  745. package/lib/components/layout-switcher/layout-switcher.module.d.ts +0 -2
  746. package/lib/components/linear-gauge/co-linear-gauge.component.d.ts +0 -11
  747. package/lib/components/linear-gauge/co-linear-gauge.module.d.ts +0 -2
  748. package/lib/components/modify-task-form/components/activity-summary-block/activity-summary-block.component.d.ts +0 -31
  749. package/lib/components/modify-task-form/components/activity-summary-block/activity-summary-block.module.d.ts +0 -2
  750. package/lib/components/modify-task-form/components/activity-summary-block/style/_layout.scss +0 -160
  751. package/lib/components/modify-task-form/components/base-activity-summary.component.d.ts +0 -51
  752. package/lib/components/modify-task-form/components/creation-summary-block/creation-summary-block.component.d.ts +0 -28
  753. package/lib/components/modify-task-form/components/creation-summary-block/creation-summary-block.module.d.ts +0 -2
  754. package/lib/components/modify-task-form/components/executive-summary-block/executive-summary-block.component.d.ts +0 -24
  755. package/lib/components/modify-task-form/components/executive-summary-block/executive-summary-block.module.d.ts +0 -2
  756. package/lib/components/modify-task-form/components/notification-summary-block/notification-summary-block.component.d.ts +0 -28
  757. package/lib/components/modify-task-form/components/notification-summary-block/notification-summary-block.module.d.ts +0 -2
  758. package/lib/components/modify-task-form/components/status-summary-block/status-summary-block.component.d.ts +0 -17
  759. package/lib/components/modify-task-form/components/status-summary-block/status-summary-block.module.d.ts +0 -2
  760. package/lib/components/modify-task-form/components/task-details/task-details.component.d.ts +0 -23
  761. package/lib/components/modify-task-form/components/task-details/task-details.module.d.ts +0 -2
  762. package/lib/components/modify-task-form/modify-task-form.component.d.ts +0 -56
  763. package/lib/components/modify-task-form/modify-task-form.module.d.ts +0 -2
  764. package/lib/components/multi-property-toggler/multiple-property-toggler.component.d.ts +0 -27
  765. package/lib/components/multi-property-toggler/multiple-property-toggler.module.d.ts +0 -2
  766. package/lib/components/open-activity-list/component-activity-list.component.d.ts +0 -78
  767. package/lib/components/open-activity-list/component-activity-list.module.d.ts +0 -2
  768. package/lib/components/open-activity-list/components/base-open-activity-list.component.d.ts +0 -48
  769. package/lib/components/open-activity-list/components/personal-activity-overview/personal-activity-overview.component.d.ts +0 -4
  770. package/lib/components/open-activity-list/components/personal-activity-overview/personal-activity-overview.module..d.ts +0 -2
  771. package/lib/components/preferred-planning/preferred-planning.component.d.ts +0 -34
  772. package/lib/components/preferred-planning/preferred-planning.module.d.ts +0 -2
  773. package/lib/components/preview-pdf-dialog/preview-pdf-dialog.component.d.ts +0 -18
  774. package/lib/components/preview-pdf-dialog/preview-pdf-dialog.module.d.ts +0 -2
  775. package/lib/components/role-email-selector/role-email-selector.component.d.ts +0 -44
  776. package/lib/components/role-email-selector/role-email-selector.module.d.ts +0 -2
  777. package/lib/components/send-method-dialog/components/additional-file-button/additional-file-button.component.d.ts +0 -22
  778. package/lib/components/send-method-dialog/components/additional-file-button/additional-file-button.module.d.ts +0 -2
  779. package/lib/components/send-method-dialog/components/layout-selection/layout-selection.component.d.ts +0 -20
  780. package/lib/components/send-method-dialog/components/layout-selection/layout-selection.module.d.ts +0 -2
  781. package/lib/components/send-method-dialog/components/printer-selection/printer-selection.component.d.ts +0 -16
  782. package/lib/components/send-method-dialog/components/printer-selection/printer-selection.module.d.ts +0 -2
  783. package/lib/components/send-method-dialog/components/send-method-combine-print-email/send-method-combine-print-email.component.d.ts +0 -53
  784. package/lib/components/send-method-dialog/components/send-method-combine-print-email/send-method-combine-print-email.module.d.ts +0 -2
  785. package/lib/components/send-method-dialog/components/send-method-email/send-method-email.component.d.ts +0 -25
  786. package/lib/components/send-method-dialog/components/send-method-email/send-method-email.module.d.ts +0 -2
  787. package/lib/components/send-method-dialog/components/send-method-pdf/send-method-pdf.component.d.ts +0 -11
  788. package/lib/components/send-method-dialog/components/send-method-pdf/send-method-pdf.module.d.ts +0 -2
  789. package/lib/components/send-method-dialog/components/send-method-printer/send-method-printer.component.d.ts +0 -41
  790. package/lib/components/send-method-dialog/components/send-method-printer/send-method-printer.module.d.ts +0 -2
  791. package/lib/components/send-method-dialog/components/signature-button/signature-button.component.d.ts +0 -16
  792. package/lib/components/send-method-dialog/components/signature-button/signature-button.module.d.ts +0 -2
  793. package/lib/components/send-method-dialog/model/email-address-viewmodel.d.ts +0 -5
  794. package/lib/components/send-method-dialog/send-method-dialog.component.d.ts +0 -103
  795. package/lib/components/send-method-dialog/send-method-dialog.module.d.ts +0 -2
  796. package/lib/components/send-method-dialog/send-method-params.interface.d.ts +0 -13
  797. package/lib/components/send-method-dialog/service/send-method.service.d.ts +0 -29
  798. package/lib/components/simple-tags/simple-tags.component.d.ts +0 -24
  799. package/lib/components/simple-tags/simple-tags.module.d.ts +0 -2
  800. package/lib/components/simple-tags-form/simple-tags-form.component.d.ts +0 -29
  801. package/lib/components/simple-tags-form/simple-tags-form.module.d.ts +0 -2
  802. package/lib/components/statusbar/statusbar-popup.component.d.ts +0 -25
  803. package/lib/components/statusbar/statusbar.component.d.ts +0 -29
  804. package/lib/components/statusbar/statusbar.module.d.ts +0 -2
  805. package/lib/components/stock/base/base-stock.component.d.ts +0 -6
  806. package/lib/components/stock/components/allocation-stock-history/allocation-stock-history.component.d.ts +0 -14
  807. package/lib/components/stock/components/order-commission-stock-history/order-commission-stock-history.component.d.ts +0 -11
  808. package/lib/components/stock/components/order-stock-history/order-stock-history.component.d.ts +0 -11
  809. package/lib/components/stock/components/order-stock-tab/order-stock-tab.component.d.ts +0 -13
  810. package/lib/components/stock/components/order-supply-stock-history/order-supply-stock-history.component.d.ts +0 -11
  811. package/lib/components/stock/components/order-tab/order-tab.component.d.ts +0 -41
  812. package/lib/components/stock/components/stock-history/stock-history.component.d.ts +0 -15
  813. package/lib/components/stock/components/stock-location/components/stock-location-popup/stock-location-popup.component.d.ts +0 -47
  814. package/lib/components/stock/components/stock-location/stock-location.component.d.ts +0 -72
  815. package/lib/components/stock/components/stock-prognose/stock-prognose.component.d.ts +0 -16
  816. package/lib/components/stock/components/stock-tab/stock-tab.component.d.ts +0 -9
  817. package/lib/components/stock/service/stock-module-screen-config.service.d.ts +0 -9
  818. package/lib/components/stock/stock-history-tabs/stock-history-tabs.component.d.ts +0 -7
  819. package/lib/components/stock/stock-information/stock-information.component.d.ts +0 -16
  820. package/lib/components/stock/stock-information-grid/stock-information-grid.component.d.ts +0 -75
  821. package/lib/components/stock/stock-tabs/stock-tabs.component.d.ts +0 -36
  822. package/lib/components/stock/stock-transfer/co-drop-down-list-fields.interface.d.ts +0 -4
  823. package/lib/components/stock/stock-transfer/stock-change-amount.component.d.ts +0 -18
  824. package/lib/components/stock/stock-transfer/stock-transfer.component.d.ts +0 -51
  825. package/lib/components/stock/stock-transfer-allocated/stock-transfer-allocated.component.d.ts +0 -59
  826. package/lib/components/stock/stock.component.d.ts +0 -67
  827. package/lib/components/stock/stock.module.d.ts +0 -2
  828. package/lib/components/stock-statusbar/stock-statusbar.component.d.ts +0 -4
  829. package/lib/components/stock-statusbar/stock-statusbar.module.d.ts +0 -2
  830. package/lib/components/tab-bar/tab-bar.component.d.ts +0 -21
  831. package/lib/components/tab-bar/tab-bar.module.d.ts +0 -2
  832. package/lib/components/tab-bar/tab.interface.d.ts +0 -7
  833. package/lib/components/task-creator/style/_layout.scss +0 -201
  834. package/lib/components/task-creator/task-creator.component.d.ts +0 -91
  835. package/lib/components/task-creator/task-creator.module.d.ts +0 -2
  836. package/lib/components/task-modifyer/task-modifier.component.d.ts +0 -67
  837. package/lib/components/task-modifyer/task-modifyer.module..d.ts +0 -2
  838. package/lib/components/tile-renderer/tile-render.component.d.ts +0 -35
  839. package/lib/components/tile-renderer/tile-render.module.d.ts +0 -2
  840. package/lib/components/workflow-info-tiles/components/workflow-info-tile.component.d.ts +0 -17
  841. package/lib/components/workflow-info-tiles/components/workflow-info-tile.module.d.ts +0 -2
  842. package/lib/components/workflow-info-tiles/workflow-info-tiles.component.d.ts +0 -22
  843. package/lib/components/workflow-info-tiles/workflow-info-tiles.module.d.ts +0 -2
  844. package/lib/components/workflow-notification-toggle/workflow-notification-toggle-popup.d.ts +0 -15
  845. package/lib/components/workflow-notification-toggle/workflow-notification-toggle.component.d.ts +0 -28
  846. package/lib/components/workflow-notification-toggle/workflow-notification-toggle.module.d.ts +0 -2
  847. package/lib/decorator/input-boolean.decorator.d.ts +0 -8
  848. package/lib/directives/absolute-overlay-template.directive.d.ts +0 -9
  849. package/lib/directives/align-with.directive.d.ts +0 -35
  850. package/lib/directives/click-outside.directive.d.ts +0 -7
  851. package/lib/directives/directives.module.d.ts +0 -2
  852. package/lib/enum/activity-cfg-name.enum.d.ts +0 -27
  853. package/lib/enum/app-button-type.enum.d.ts +0 -9
  854. package/lib/enum/calendar-view.enum.d.ts +0 -10
  855. package/lib/enum/document-email-report.enum.d.ts +0 -15
  856. package/lib/enum/domain-multiple-name.enum.d.ts +0 -10
  857. package/lib/enum/file-type.d.ts +0 -7
  858. package/lib/enum/files-upload-config-objects.d.ts +0 -22
  859. package/lib/enum/gauge-color.enum.d.ts +0 -9
  860. package/lib/enum/icon.enum.d.ts +0 -76
  861. package/lib/enum/internal-param.enum.d.ts +0 -34
  862. package/lib/enum/keyboard-code.enum.d.ts +0 -31
  863. package/lib/enum/language-code.enum.d.ts +0 -6
  864. package/lib/enum/month.enum.d.ts +0 -14
  865. package/lib/enum/read-write-access-config-names.enum.d.ts +0 -4
  866. package/lib/enum/shared-cfg-name.enum.d.ts +0 -14
  867. package/lib/enum/table-name.enum.d.ts +0 -84
  868. package/lib/enum/tag-category.enum.d.ts +0 -19
  869. package/lib/enum/tags-component-config-names.d.ts +0 -4
  870. package/lib/enum/thumb-three-way-state.d.ts +0 -6
  871. package/lib/enum/tile-size-type.d.ts +0 -4
  872. package/lib/enum/time-period.enum.d.ts +0 -8
  873. package/lib/enum/user-form-mode.enum.d.ts +0 -4
  874. package/lib/event/co-drag-event.d.ts +0 -5
  875. package/lib/event/co-drop-event.d.ts +0 -8
  876. package/lib/interface/operation-callback-activity.d.ts +0 -5
  877. package/lib/interface/operation-callback-function-with-validation.d.ts +0 -5
  878. package/lib/interface/operation-callback-simple-function.d.ts +0 -4
  879. package/lib/model/agenda-event-per-day.model.d.ts +0 -5
  880. package/lib/model/agenda-event.model.d.ts +0 -17
  881. package/lib/model/agenda-null-objects.d.ts +0 -10
  882. package/lib/model/constant/all-months.d.ts +0 -2
  883. package/lib/model/date-range.d.ts +0 -7
  884. package/lib/model/day.model.d.ts +0 -8
  885. package/lib/model/icon-svg.d.ts +0 -4
  886. package/lib/model/month.model.d.ts +0 -5
  887. package/lib/model/send-method.d.ts +0 -7
  888. package/lib/model/settings.d.ts +0 -3
  889. package/lib/model/tag-tree-item.bo.d.ts +0 -18
  890. package/lib/model/time-window.bo.d.ts +0 -13
  891. package/lib/model/tree-object.d.ts +0 -8
  892. package/lib/model/util/forms-null-object.d.ts +0 -6
  893. package/lib/model/week.model.d.ts +0 -4
  894. package/lib/model/weekday.model.d.ts +0 -16
  895. package/lib/pipe/array-number.pipe.d.ts +0 -4
  896. package/lib/pipe/file-type-image.pipe.d.ts +0 -12
  897. package/lib/pipe/master-pipes.d.ts +0 -1
  898. package/lib/pipe/ucfirst.pipe.d.ts +0 -4
  899. package/lib/res/dictionary/dictionaries.d.ts +0 -31988
  900. package/lib/service/app-absolute-overlay-outlet.service.d.ts +0 -9
  901. package/lib/service/drag-drop.service.d.ts +0 -86
  902. package/lib/service/icon-cache.service.d.ts +0 -18
  903. package/lib/service/options.service.d.ts +0 -13
  904. package/lib/service/shared-connector.service.d.ts +0 -115
  905. package/lib/service/shared-event.service.d.ts +0 -4
  906. package/lib/service/shared.service.d.ts +0 -75
  907. package/lib/service/stock.service.d.ts +0 -39
  908. package/lib/translation/shared-components-dictionary.service.d.ts +0 -19
  909. package/lib/translation/shared-components-translation.module.d.ts +0 -2
  910. package/lib/translation/shared-localize.pipe.d.ts +0 -7
  911. package/lib/utils/array-utils.d.ts +0 -63
  912. package/lib/utils/browser-utils.d.ts +0 -15
  913. package/lib/utils/calendar.utils.d.ts +0 -14
  914. package/lib/utils/check-precision-and-scale-result.d.ts +0 -4
  915. package/lib/utils/co-document-shared-field-logic.d.ts +0 -7
  916. package/lib/utils/date-utils.d.ts +0 -44
  917. package/lib/utils/enum-utils.d.ts +0 -31
  918. package/lib/utils/event-utils.d.ts +0 -12
  919. package/lib/utils/form-utils.d.ts +0 -5
  920. package/lib/utils/function/not-nill.function.d.ts +0 -1
  921. package/lib/utils/is-nill.function.d.ts +0 -1
  922. package/lib/utils/map-utils.d.ts +0 -16
  923. package/lib/utils/number-utils.d.ts +0 -125
  924. package/lib/utils/object-utils.d.ts +0 -40
  925. package/lib/utils/ref-code-utils.d.ts +0 -10
  926. package/lib/utils/string-utils.d.ts +0 -39
  927. package/public-api.d.ts +0 -44
  928. /package/{lib → projects/sharedcomponents/src/lib}/components/access/read-write-access.scss +0 -0
  929. /package/{lib → projects/sharedcomponents/src/lib}/components/access/style/_layout.scss +0 -0
  930. /package/{lib → projects/sharedcomponents/src/lib}/components/access/style/_material-definition.scss +0 -0
  931. /package/{lib → projects/sharedcomponents/src/lib}/components/access/style/_theme.scss +0 -0
  932. /package/{lib → projects/sharedcomponents/src/lib}/components/access/style/material.scss +0 -0
  933. /package/{lib → projects/sharedcomponents/src/lib}/components/activity-list/style/_layout.scss +0 -0
  934. /package/{lib → projects/sharedcomponents/src/lib}/components/activity-list/style/_material-definition.scss +0 -0
  935. /package/{lib → projects/sharedcomponents/src/lib}/components/activity-list/style/_theme.scss +0 -0
  936. /package/{lib → projects/sharedcomponents/src/lib}/components/activity-list/style/material.scss +0 -0
  937. /package/{lib → projects/sharedcomponents/src/lib}/components/activity-list-header/components/period-filter/style/_layout.scss +0 -0
  938. /package/{lib → projects/sharedcomponents/src/lib}/components/activity-list-header/components/period-filter/style/_material-definition.scss +0 -0
  939. /package/{lib → projects/sharedcomponents/src/lib}/components/activity-list-header/components/period-filter/style/_theme.scss +0 -0
  940. /package/{lib → projects/sharedcomponents/src/lib}/components/activity-list-header/components/period-filter/style/material.scss +0 -0
  941. /package/{lib → projects/sharedcomponents/src/lib}/components/activity-list-header/style/_layout.scss +0 -0
  942. /package/{lib → projects/sharedcomponents/src/lib}/components/activity-list-header/style/_material-definition.scss +0 -0
  943. /package/{lib → projects/sharedcomponents/src/lib}/components/activity-list-header/style/_theme.scss +0 -0
  944. /package/{lib → projects/sharedcomponents/src/lib}/components/activity-list-header/style/material.scss +0 -0
  945. /package/{lib → projects/sharedcomponents/src/lib}/components/activity-overview-component/style/_layout.scss +0 -0
  946. /package/{lib → projects/sharedcomponents/src/lib}/components/activity-overview-component/style/_material-definition.scss +0 -0
  947. /package/{lib → projects/sharedcomponents/src/lib}/components/activity-overview-component/style/_theme.scss +0 -0
  948. /package/{lib → projects/sharedcomponents/src/lib}/components/activity-overview-component/style/material.scss +0 -0
  949. /package/{lib → projects/sharedcomponents/src/lib}/components/app-file-dropzone/style/_layout.scss +0 -0
  950. /package/{lib → projects/sharedcomponents/src/lib}/components/app-file-dropzone/style/_material-definition.scss +0 -0
  951. /package/{lib → projects/sharedcomponents/src/lib}/components/app-file-dropzone/style/_theme.scss +0 -0
  952. /package/{lib → projects/sharedcomponents/src/lib}/components/app-file-dropzone/style/material.scss +0 -0
  953. /package/{lib → projects/sharedcomponents/src/lib}/components/custom-pdf/style/_layout.scss +0 -0
  954. /package/{lib → projects/sharedcomponents/src/lib}/components/custom-pdf/style/_material-definition.scss +0 -0
  955. /package/{lib → projects/sharedcomponents/src/lib}/components/custom-pdf/style/_theme.scss +0 -0
  956. /package/{lib → projects/sharedcomponents/src/lib}/components/custom-pdf/style/material.scss +0 -0
  957. /package/{lib → projects/sharedcomponents/src/lib}/components/date-planning/component/agenda/style/_layout.scss +0 -0
  958. /package/{lib → projects/sharedcomponents/src/lib}/components/date-planning/component/agenda/style/_material-definition.scss +0 -0
  959. /package/{lib → projects/sharedcomponents/src/lib}/components/date-planning/component/agenda/style/_theme.scss +0 -0
  960. /package/{lib → projects/sharedcomponents/src/lib}/components/date-planning/component/agenda/style/material.scss +0 -0
  961. /package/{lib → projects/sharedcomponents/src/lib}/components/date-planning/component/calendar/style/_layout.scss +0 -0
  962. /package/{lib → projects/sharedcomponents/src/lib}/components/date-planning/component/calendar/style/_material-definition.scss +0 -0
  963. /package/{lib → projects/sharedcomponents/src/lib}/components/date-planning/component/calendar/style/_theme.scss +0 -0
  964. /package/{lib → projects/sharedcomponents/src/lib}/components/date-planning/component/calendar/style/material.scss +0 -0
  965. /package/{lib → projects/sharedcomponents/src/lib}/components/date-planning/style/_layout.scss +0 -0
  966. /package/{lib → projects/sharedcomponents/src/lib}/components/date-planning/style/_material-definition.scss +0 -0
  967. /package/{lib → projects/sharedcomponents/src/lib}/components/date-planning/style/_theme.scss +0 -0
  968. /package/{lib → projects/sharedcomponents/src/lib}/components/date-planning/style/material.scss +0 -0
  969. /package/{lib → projects/sharedcomponents/src/lib}/components/docsign/component/signature/style/_layout.scss +0 -0
  970. /package/{lib → projects/sharedcomponents/src/lib}/components/docsign/component/signature/style/_material-definition.scss +0 -0
  971. /package/{lib → projects/sharedcomponents/src/lib}/components/docsign/component/signature/style/_theme.scss +0 -0
  972. /package/{lib → projects/sharedcomponents/src/lib}/components/docsign/component/signature/style/material.scss +0 -0
  973. /package/{lib → projects/sharedcomponents/src/lib}/components/docsign/component/signatures/style/_layout.scss +0 -0
  974. /package/{lib → projects/sharedcomponents/src/lib}/components/docsign/component/signatures/style/_material-definition.scss +0 -0
  975. /package/{lib → projects/sharedcomponents/src/lib}/components/docsign/component/signatures/style/_theme.scss +0 -0
  976. /package/{lib → projects/sharedcomponents/src/lib}/components/docsign/component/signatures/style/material.scss +0 -0
  977. /package/{lib → projects/sharedcomponents/src/lib}/components/docsign/style/_layout.scss +0 -0
  978. /package/{lib → projects/sharedcomponents/src/lib}/components/docsign/style/_material-definition.scss +0 -0
  979. /package/{lib → projects/sharedcomponents/src/lib}/components/docsign/style/_theme.scss +0 -0
  980. /package/{lib → projects/sharedcomponents/src/lib}/components/docsign/style/material.scss +0 -0
  981. /package/{lib → projects/sharedcomponents/src/lib}/components/email-selector/style/_layout.scss +0 -0
  982. /package/{lib → projects/sharedcomponents/src/lib}/components/email-selector/style/_material-definition.scss +0 -0
  983. /package/{lib → projects/sharedcomponents/src/lib}/components/email-selector/style/_theme.scss +0 -0
  984. /package/{lib → projects/sharedcomponents/src/lib}/components/email-selector/style/material.scss +0 -0
  985. /package/{lib → projects/sharedcomponents/src/lib}/components/file-upload/style/_layout.scss +0 -0
  986. /package/{lib → projects/sharedcomponents/src/lib}/components/file-upload/style/_material-definition.scss +0 -0
  987. /package/{lib → projects/sharedcomponents/src/lib}/components/file-upload/style/_theme.scss +0 -0
  988. /package/{lib → projects/sharedcomponents/src/lib}/components/file-upload/style/material.scss +0 -0
  989. /package/{lib → projects/sharedcomponents/src/lib}/components/file-upload-popup/style/_layout.scss +0 -0
  990. /package/{lib → projects/sharedcomponents/src/lib}/components/file-upload-popup/style/_material-definition.scss +0 -0
  991. /package/{lib → projects/sharedcomponents/src/lib}/components/file-upload-popup/style/_theme.scss +0 -0
  992. /package/{lib → projects/sharedcomponents/src/lib}/components/file-upload-popup/style/material.scss +0 -0
  993. /package/{lib → projects/sharedcomponents/src/lib}/components/files-upload/style/_layout.scss +0 -0
  994. /package/{lib → projects/sharedcomponents/src/lib}/components/files-upload/style/_material-definition.scss +0 -0
  995. /package/{lib → projects/sharedcomponents/src/lib}/components/files-upload/style/_theme.scss +0 -0
  996. /package/{lib → projects/sharedcomponents/src/lib}/components/files-upload/style/material.scss +0 -0
  997. /package/{lib → projects/sharedcomponents/src/lib}/components/form-builder/form-builder-user-form/components/forms-test-component/style/_layout.component.ts.child.3.scss +0 -0
  998. /package/{lib → projects/sharedcomponents/src/lib}/components/form-builder/form-builder-user-form/components/forms-test-component/style/_material-definition.component.ts.child.0.scss +0 -0
  999. /package/{lib → projects/sharedcomponents/src/lib}/components/form-builder/form-builder-user-form/components/forms-test-component/style/_theme.component.ts.child.2.scss +0 -0
  1000. /package/{lib → projects/sharedcomponents/src/lib}/components/form-builder/form-builder-user-form/components/forms-test-component/style/material.component.ts.child.1.scss +0 -0
  1001. /package/{lib → projects/sharedcomponents/src/lib}/components/form-builder/form-builder-user-form/components/user-form-input-scale/style/_layout.scss +0 -0
  1002. /package/{lib → projects/sharedcomponents/src/lib}/components/form-builder/form-builder-user-form/components/user-form-input-scale/style/_material-definition.scss +0 -0
  1003. /package/{lib → projects/sharedcomponents/src/lib}/components/form-builder/form-builder-user-form/components/user-form-input-scale/style/_theme.scss +0 -0
  1004. /package/{lib → projects/sharedcomponents/src/lib}/components/form-builder/form-builder-user-form/components/user-form-input-scale/style/material.scss +0 -0
  1005. /package/{lib → projects/sharedcomponents/src/lib}/components/form-builder/form-builder-user-form/style/_layout.scss +0 -0
  1006. /package/{lib → projects/sharedcomponents/src/lib}/components/form-builder/form-builder-user-form/style/_material-definition.scss +0 -0
  1007. /package/{lib → projects/sharedcomponents/src/lib}/components/form-builder/form-builder-user-form/style/_theme.scss +0 -0
  1008. /package/{lib → projects/sharedcomponents/src/lib}/components/form-builder/form-builder-user-form/style/material.scss +0 -0
  1009. /package/{lib → projects/sharedcomponents/src/lib}/components/image-display/style/_layout.scss +0 -0
  1010. /package/{lib → projects/sharedcomponents/src/lib}/components/image-display/style/_material-definition.scss +0 -0
  1011. /package/{lib → projects/sharedcomponents/src/lib}/components/image-display/style/_theme.scss +0 -0
  1012. /package/{lib → projects/sharedcomponents/src/lib}/components/image-display/style/material.scss +0 -0
  1013. /package/{lib → projects/sharedcomponents/src/lib}/components/key-pad/style/_layout.scss +0 -0
  1014. /package/{lib → projects/sharedcomponents/src/lib}/components/key-pad/style/_material-definition.scss +0 -0
  1015. /package/{lib → projects/sharedcomponents/src/lib}/components/key-pad/style/_theme.scss +0 -0
  1016. /package/{lib → projects/sharedcomponents/src/lib}/components/key-pad/style/material.scss +0 -0
  1017. /package/{lib → projects/sharedcomponents/src/lib}/components/layout-switcher/style/_layout.scss +0 -0
  1018. /package/{lib → projects/sharedcomponents/src/lib}/components/layout-switcher/style/_material-definition.scss +0 -0
  1019. /package/{lib → projects/sharedcomponents/src/lib}/components/layout-switcher/style/_theme.scss +0 -0
  1020. /package/{lib → projects/sharedcomponents/src/lib}/components/layout-switcher/style/material.scss +0 -0
  1021. /package/{lib → projects/sharedcomponents/src/lib}/components/linear-gauge/style/_layout.scss +0 -0
  1022. /package/{lib → projects/sharedcomponents/src/lib}/components/linear-gauge/style/_material-definition.scss +0 -0
  1023. /package/{lib → projects/sharedcomponents/src/lib}/components/linear-gauge/style/_theme.scss +0 -0
  1024. /package/{lib → projects/sharedcomponents/src/lib}/components/linear-gauge/style/material.scss +0 -0
  1025. /package/{lib → projects/sharedcomponents/src/lib}/components/login/components/input-code/style/_layout.scss +0 -0
  1026. /package/{lib → projects/sharedcomponents/src/lib}/components/login/components/input-code/style/_material-definition.scss +0 -0
  1027. /package/{lib → projects/sharedcomponents/src/lib}/components/login/components/input-code/style/_theme.scss +0 -0
  1028. /package/{lib → projects/sharedcomponents/src/lib}/components/login/components/input-code/style/material.scss +0 -0
  1029. /package/{lib → projects/sharedcomponents/src/lib}/components/login/style/_layout.scss +0 -0
  1030. /package/{lib → projects/sharedcomponents/src/lib}/components/login/style/_material-definition.scss +0 -0
  1031. /package/{lib → projects/sharedcomponents/src/lib}/components/login/style/_theme.scss +0 -0
  1032. /package/{lib → projects/sharedcomponents/src/lib}/components/login/style/material.scss +0 -0
  1033. /package/{lib → projects/sharedcomponents/src/lib}/components/modify-task-form/components/activity-summary-block/style/_material-definition.scss +0 -0
  1034. /package/{lib → projects/sharedcomponents/src/lib}/components/modify-task-form/components/activity-summary-block/style/_theme.scss +0 -0
  1035. /package/{lib → projects/sharedcomponents/src/lib}/components/modify-task-form/components/activity-summary-block/style/material.scss +0 -0
  1036. /package/{lib → projects/sharedcomponents/src/lib}/components/modify-task-form/components/creation-summary-block/style/_layout.scss +0 -0
  1037. /package/{lib → projects/sharedcomponents/src/lib}/components/modify-task-form/components/creation-summary-block/style/_material-definition.scss +0 -0
  1038. /package/{lib → projects/sharedcomponents/src/lib}/components/modify-task-form/components/creation-summary-block/style/_theme.scss +0 -0
  1039. /package/{lib → projects/sharedcomponents/src/lib}/components/modify-task-form/components/creation-summary-block/style/material.scss +0 -0
  1040. /package/{lib → projects/sharedcomponents/src/lib}/components/modify-task-form/components/executive-summary-block/style/_layout.scss +0 -0
  1041. /package/{lib → projects/sharedcomponents/src/lib}/components/modify-task-form/components/executive-summary-block/style/_material-definition.scss +0 -0
  1042. /package/{lib → projects/sharedcomponents/src/lib}/components/modify-task-form/components/executive-summary-block/style/_theme.scss +0 -0
  1043. /package/{lib → projects/sharedcomponents/src/lib}/components/modify-task-form/components/executive-summary-block/style/material.scss +0 -0
  1044. /package/{lib → projects/sharedcomponents/src/lib}/components/modify-task-form/components/notification-summary-block/style/_layout.scss +0 -0
  1045. /package/{lib → projects/sharedcomponents/src/lib}/components/modify-task-form/components/notification-summary-block/style/_material-definition.scss +0 -0
  1046. /package/{lib → projects/sharedcomponents/src/lib}/components/modify-task-form/components/notification-summary-block/style/_theme.scss +0 -0
  1047. /package/{lib → projects/sharedcomponents/src/lib}/components/modify-task-form/components/notification-summary-block/style/material.scss +0 -0
  1048. /package/{lib → projects/sharedcomponents/src/lib}/components/modify-task-form/components/status-summary-block/style/_layout.scss +0 -0
  1049. /package/{lib → projects/sharedcomponents/src/lib}/components/modify-task-form/components/status-summary-block/style/_material-definition.scss +0 -0
  1050. /package/{lib → projects/sharedcomponents/src/lib}/components/modify-task-form/components/status-summary-block/style/_theme.scss +0 -0
  1051. /package/{lib → projects/sharedcomponents/src/lib}/components/modify-task-form/components/status-summary-block/style/material.scss +0 -0
  1052. /package/{lib → projects/sharedcomponents/src/lib}/components/modify-task-form/components/task-details/style/_layout.scss +0 -0
  1053. /package/{lib → projects/sharedcomponents/src/lib}/components/modify-task-form/components/task-details/style/_material-definition.scss +0 -0
  1054. /package/{lib → projects/sharedcomponents/src/lib}/components/modify-task-form/components/task-details/style/_theme.scss +0 -0
  1055. /package/{lib → projects/sharedcomponents/src/lib}/components/modify-task-form/components/task-details/style/material.scss +0 -0
  1056. /package/{lib → projects/sharedcomponents/src/lib}/components/modify-task-form/style/_layout.scss +0 -0
  1057. /package/{lib → projects/sharedcomponents/src/lib}/components/modify-task-form/style/_material-definition.scss +0 -0
  1058. /package/{lib → projects/sharedcomponents/src/lib}/components/modify-task-form/style/_theme.scss +0 -0
  1059. /package/{lib → projects/sharedcomponents/src/lib}/components/modify-task-form/style/material.scss +0 -0
  1060. /package/{lib → projects/sharedcomponents/src/lib}/components/multi-property-toggler/style/_layout.scss +0 -0
  1061. /package/{lib → projects/sharedcomponents/src/lib}/components/multi-property-toggler/style/_material-definition.scss +0 -0
  1062. /package/{lib → projects/sharedcomponents/src/lib}/components/multi-property-toggler/style/_theme.scss +0 -0
  1063. /package/{lib → projects/sharedcomponents/src/lib}/components/multi-property-toggler/style/material.scss +0 -0
  1064. /package/{lib → projects/sharedcomponents/src/lib}/components/open-activity-list/components/personal-activity-overview/style/_layout.scss +0 -0
  1065. /package/{lib → projects/sharedcomponents/src/lib}/components/open-activity-list/components/personal-activity-overview/style/_material-definition.scss +0 -0
  1066. /package/{lib → projects/sharedcomponents/src/lib}/components/open-activity-list/components/personal-activity-overview/style/_theme.scss +0 -0
  1067. /package/{lib → projects/sharedcomponents/src/lib}/components/open-activity-list/components/personal-activity-overview/style/material.scss +0 -0
  1068. /package/{lib → projects/sharedcomponents/src/lib}/components/open-activity-list/style/_layout.scss +0 -0
  1069. /package/{lib → projects/sharedcomponents/src/lib}/components/open-activity-list/style/_material-definition.scss +0 -0
  1070. /package/{lib → projects/sharedcomponents/src/lib}/components/open-activity-list/style/_theme.scss +0 -0
  1071. /package/{lib → projects/sharedcomponents/src/lib}/components/open-activity-list/style/material.scss +0 -0
  1072. /package/{lib → projects/sharedcomponents/src/lib}/components/preferred-planning/style/_layout.scss +0 -0
  1073. /package/{lib → projects/sharedcomponents/src/lib}/components/preferred-planning/style/_material-definition.scss +0 -0
  1074. /package/{lib → projects/sharedcomponents/src/lib}/components/preferred-planning/style/_theme.scss +0 -0
  1075. /package/{lib → projects/sharedcomponents/src/lib}/components/preferred-planning/style/material.scss +0 -0
  1076. /package/{lib → projects/sharedcomponents/src/lib}/components/preview-pdf-dialog/style/_layout.scss +0 -0
  1077. /package/{lib → projects/sharedcomponents/src/lib}/components/preview-pdf-dialog/style/_material-definition.scss +0 -0
  1078. /package/{lib → projects/sharedcomponents/src/lib}/components/preview-pdf-dialog/style/_theme.scss +0 -0
  1079. /package/{lib → projects/sharedcomponents/src/lib}/components/preview-pdf-dialog/style/material.scss +0 -0
  1080. /package/{lib → projects/sharedcomponents/src/lib}/components/role-email-selector/style/_layout.scss +0 -0
  1081. /package/{lib → projects/sharedcomponents/src/lib}/components/role-email-selector/style/_material-definition.scss +0 -0
  1082. /package/{lib → projects/sharedcomponents/src/lib}/components/role-email-selector/style/_theme.scss +0 -0
  1083. /package/{lib → projects/sharedcomponents/src/lib}/components/role-email-selector/style/material.scss +0 -0
  1084. /package/{lib → projects/sharedcomponents/src/lib}/components/screen-config-generator/style/_layout.scss +0 -0
  1085. /package/{lib → projects/sharedcomponents/src/lib}/components/screen-config-generator/style/_material-definition.scss +0 -0
  1086. /package/{lib → projects/sharedcomponents/src/lib}/components/screen-config-generator/style/_theme.scss +0 -0
  1087. /package/{lib → projects/sharedcomponents/src/lib}/components/screen-config-generator/style/material.scss +0 -0
  1088. /package/{lib → projects/sharedcomponents/src/lib}/components/send-method-dialog/components/additional-file-button/style/_layout.scss +0 -0
  1089. /package/{lib → projects/sharedcomponents/src/lib}/components/send-method-dialog/components/additional-file-button/style/_material-definition.scss +0 -0
  1090. /package/{lib → projects/sharedcomponents/src/lib}/components/send-method-dialog/components/additional-file-button/style/_theme.scss +0 -0
  1091. /package/{lib → projects/sharedcomponents/src/lib}/components/send-method-dialog/components/additional-file-button/style/material.scss +0 -0
  1092. /package/{lib → projects/sharedcomponents/src/lib}/components/send-method-dialog/components/layout-selection/style/_layout.scss +0 -0
  1093. /package/{lib → projects/sharedcomponents/src/lib}/components/send-method-dialog/components/layout-selection/style/_material-definition.scss +0 -0
  1094. /package/{lib → projects/sharedcomponents/src/lib}/components/send-method-dialog/components/layout-selection/style/_theme.scss +0 -0
  1095. /package/{lib → projects/sharedcomponents/src/lib}/components/send-method-dialog/components/layout-selection/style/material.scss +0 -0
  1096. /package/{lib → projects/sharedcomponents/src/lib}/components/send-method-dialog/components/printer-selection/style/_layout.scss +0 -0
  1097. /package/{lib → projects/sharedcomponents/src/lib}/components/send-method-dialog/components/printer-selection/style/_material-definition.scss +0 -0
  1098. /package/{lib → projects/sharedcomponents/src/lib}/components/send-method-dialog/components/printer-selection/style/_theme.scss +0 -0
  1099. /package/{lib → projects/sharedcomponents/src/lib}/components/send-method-dialog/components/printer-selection/style/material.scss +0 -0
  1100. /package/{lib → projects/sharedcomponents/src/lib}/components/send-method-dialog/components/send-method-combine-print-email/style/_layout.scss +0 -0
  1101. /package/{lib → projects/sharedcomponents/src/lib}/components/send-method-dialog/components/send-method-combine-print-email/style/_material-definition.scss +0 -0
  1102. /package/{lib → projects/sharedcomponents/src/lib}/components/send-method-dialog/components/send-method-combine-print-email/style/_theme.scss +0 -0
  1103. /package/{lib → projects/sharedcomponents/src/lib}/components/send-method-dialog/components/send-method-combine-print-email/style/material.scss +0 -0
  1104. /package/{lib → projects/sharedcomponents/src/lib}/components/send-method-dialog/components/send-method-email/style/_layout.scss +0 -0
  1105. /package/{lib → projects/sharedcomponents/src/lib}/components/send-method-dialog/components/send-method-email/style/_material-definition.scss +0 -0
  1106. /package/{lib → projects/sharedcomponents/src/lib}/components/send-method-dialog/components/send-method-email/style/_theme.scss +0 -0
  1107. /package/{lib → projects/sharedcomponents/src/lib}/components/send-method-dialog/components/send-method-email/style/material.scss +0 -0
  1108. /package/{lib → projects/sharedcomponents/src/lib}/components/send-method-dialog/components/send-method-pdf/style/_layout.scss +0 -0
  1109. /package/{lib → projects/sharedcomponents/src/lib}/components/send-method-dialog/components/send-method-pdf/style/_material-definition.scss +0 -0
  1110. /package/{lib → projects/sharedcomponents/src/lib}/components/send-method-dialog/components/send-method-pdf/style/_theme.scss +0 -0
  1111. /package/{lib → projects/sharedcomponents/src/lib}/components/send-method-dialog/components/send-method-pdf/style/material.scss +0 -0
  1112. /package/{lib → projects/sharedcomponents/src/lib}/components/send-method-dialog/components/send-method-printer/style/_layout.scss +0 -0
  1113. /package/{lib → projects/sharedcomponents/src/lib}/components/send-method-dialog/components/send-method-printer/style/_material-definition.scss +0 -0
  1114. /package/{lib → projects/sharedcomponents/src/lib}/components/send-method-dialog/components/send-method-printer/style/_theme.scss +0 -0
  1115. /package/{lib → projects/sharedcomponents/src/lib}/components/send-method-dialog/components/send-method-printer/style/material.scss +0 -0
  1116. /package/{lib → projects/sharedcomponents/src/lib}/components/send-method-dialog/components/signature-button/style/_layout.scss +0 -0
  1117. /package/{lib → projects/sharedcomponents/src/lib}/components/send-method-dialog/components/signature-button/style/_material-definition.scss +0 -0
  1118. /package/{lib → projects/sharedcomponents/src/lib}/components/send-method-dialog/components/signature-button/style/_theme.scss +0 -0
  1119. /package/{lib → projects/sharedcomponents/src/lib}/components/send-method-dialog/components/signature-button/style/material.scss +0 -0
  1120. /package/{lib → projects/sharedcomponents/src/lib}/components/send-method-dialog/style/_layout.scss +0 -0
  1121. /package/{lib → projects/sharedcomponents/src/lib}/components/send-method-dialog/style/_material-definition.scss +0 -0
  1122. /package/{lib → projects/sharedcomponents/src/lib}/components/send-method-dialog/style/_theme.scss +0 -0
  1123. /package/{lib → projects/sharedcomponents/src/lib}/components/send-method-dialog/style/material.scss +0 -0
  1124. /package/{lib → projects/sharedcomponents/src/lib}/components/simple-tags/style/_layout.scss +0 -0
  1125. /package/{lib → projects/sharedcomponents/src/lib}/components/simple-tags/style/_material-definition.scss +0 -0
  1126. /package/{lib → projects/sharedcomponents/src/lib}/components/simple-tags/style/_theme.scss +0 -0
  1127. /package/{lib → projects/sharedcomponents/src/lib}/components/simple-tags/style/material.scss +0 -0
  1128. /package/{lib → projects/sharedcomponents/src/lib}/components/simple-tags-form/style/_layout.scss +0 -0
  1129. /package/{lib → projects/sharedcomponents/src/lib}/components/simple-tags-form/style/_material-definition.scss +0 -0
  1130. /package/{lib → projects/sharedcomponents/src/lib}/components/simple-tags-form/style/_theme.scss +0 -0
  1131. /package/{lib → projects/sharedcomponents/src/lib}/components/simple-tags-form/style/material.scss +0 -0
  1132. /package/{lib → projects/sharedcomponents/src/lib}/components/statusbar/style/_layout.scss +0 -0
  1133. /package/{lib → projects/sharedcomponents/src/lib}/components/statusbar/style/_material-definition.scss +0 -0
  1134. /package/{lib → projects/sharedcomponents/src/lib}/components/statusbar/style/_theme.scss +0 -0
  1135. /package/{lib → projects/sharedcomponents/src/lib}/components/statusbar/style/material.scss +0 -0
  1136. /package/{lib → projects/sharedcomponents/src/lib}/components/stock/style/_layout.scss +0 -0
  1137. /package/{lib → projects/sharedcomponents/src/lib}/components/stock/style/_material-definition.scss +0 -0
  1138. /package/{lib → projects/sharedcomponents/src/lib}/components/stock/style/_theme.scss +0 -0
  1139. /package/{lib → projects/sharedcomponents/src/lib}/components/stock/style/material.scss +0 -0
  1140. /package/{lib → projects/sharedcomponents/src/lib}/components/stock-statusbar/style/_layout.scss +0 -0
  1141. /package/{lib → projects/sharedcomponents/src/lib}/components/stock-statusbar/style/_material-definition.scss +0 -0
  1142. /package/{lib → projects/sharedcomponents/src/lib}/components/stock-statusbar/style/_theme.scss +0 -0
  1143. /package/{lib → projects/sharedcomponents/src/lib}/components/stock-statusbar/style/material.scss +0 -0
  1144. /package/{lib → projects/sharedcomponents/src/lib}/components/tab-bar/style/_layout.scss +0 -0
  1145. /package/{lib → projects/sharedcomponents/src/lib}/components/tab-bar/style/_material-definition.scss +0 -0
  1146. /package/{lib → projects/sharedcomponents/src/lib}/components/tab-bar/style/_theme.scss +0 -0
  1147. /package/{lib → projects/sharedcomponents/src/lib}/components/tab-bar/style/material.scss +0 -0
  1148. /package/{lib → projects/sharedcomponents/src/lib}/components/tags/component/style/_layout.scss +0 -0
  1149. /package/{lib → projects/sharedcomponents/src/lib}/components/tags/component/style/_material-definition.scss +0 -0
  1150. /package/{lib → projects/sharedcomponents/src/lib}/components/tags/component/style/_theme.scss +0 -0
  1151. /package/{lib → projects/sharedcomponents/src/lib}/components/tags/component/style/material.scss +0 -0
  1152. /package/{lib → projects/sharedcomponents/src/lib}/components/tags/component/tag-join-label/style/_layout.scss +0 -0
  1153. /package/{lib → projects/sharedcomponents/src/lib}/components/tags/component/tag-join-label/style/_material-definition.scss +0 -0
  1154. /package/{lib → projects/sharedcomponents/src/lib}/components/tags/component/tag-join-label/style/_theme.scss +0 -0
  1155. /package/{lib → projects/sharedcomponents/src/lib}/components/tags/component/tag-join-label/style/material.scss +0 -0
  1156. /package/{lib → projects/sharedcomponents/src/lib}/components/task-creator/style/_material-definition.scss +0 -0
  1157. /package/{lib → projects/sharedcomponents/src/lib}/components/task-creator/style/_theme.scss +0 -0
  1158. /package/{lib → projects/sharedcomponents/src/lib}/components/task-creator/style/material.scss +0 -0
  1159. /package/{lib → projects/sharedcomponents/src/lib}/components/task-modifyer/style/_layout.scss +0 -0
  1160. /package/{lib → projects/sharedcomponents/src/lib}/components/task-modifyer/style/_material-definition.scss +0 -0
  1161. /package/{lib → projects/sharedcomponents/src/lib}/components/task-modifyer/style/_theme.scss +0 -0
  1162. /package/{lib → projects/sharedcomponents/src/lib}/components/task-modifyer/style/material.scss +0 -0
  1163. /package/{lib → projects/sharedcomponents/src/lib}/components/tile-renderer/style/_layout.scss +0 -0
  1164. /package/{lib → projects/sharedcomponents/src/lib}/components/tile-renderer/style/_material-definition.scss +0 -0
  1165. /package/{lib → projects/sharedcomponents/src/lib}/components/tile-renderer/style/_theme.scss +0 -0
  1166. /package/{lib → projects/sharedcomponents/src/lib}/components/tile-renderer/style/material.scss +0 -0
  1167. /package/{lib → projects/sharedcomponents/src/lib}/components/workflow-info-tiles/components/style/_layout.scss +0 -0
  1168. /package/{lib → projects/sharedcomponents/src/lib}/components/workflow-info-tiles/components/style/_material-definition.scss +0 -0
  1169. /package/{lib → projects/sharedcomponents/src/lib}/components/workflow-info-tiles/components/style/_theme.scss +0 -0
  1170. /package/{lib → projects/sharedcomponents/src/lib}/components/workflow-info-tiles/components/style/material.scss +0 -0
  1171. /package/{lib → projects/sharedcomponents/src/lib}/components/workflow-info-tiles/style/_layout.scss +0 -0
  1172. /package/{lib → projects/sharedcomponents/src/lib}/components/workflow-info-tiles/style/_material-definition.scss +0 -0
  1173. /package/{lib → projects/sharedcomponents/src/lib}/components/workflow-info-tiles/style/_theme.scss +0 -0
  1174. /package/{lib → projects/sharedcomponents/src/lib}/components/workflow-info-tiles/style/material.scss +0 -0
  1175. /package/{lib → projects/sharedcomponents/src/lib}/components/workflow-notification-toggle/style/_layout.scss +0 -0
  1176. /package/{lib → projects/sharedcomponents/src/lib}/components/workflow-notification-toggle/style/_material-definition.scss +0 -0
  1177. /package/{lib → projects/sharedcomponents/src/lib}/components/workflow-notification-toggle/style/_theme.scss +0 -0
  1178. /package/{lib → projects/sharedcomponents/src/lib}/components/workflow-notification-toggle/style/material.scss +0 -0
  1179. /package/{lib/interface/activities-task-config-names.d.ts → projects/sharedcomponents/src/lib/interface/activities-task-config-names.ts} +0 -0
  1180. /package/{lib/interface/key-value-pair.d.ts → projects/sharedcomponents/src/lib/interface/key-value-pair.ts} +0 -0
  1181. /package/{lib → projects/sharedcomponents/src/lib}/style/_mixin.scss +0 -0
  1182. /package/{lib → projects/sharedcomponents/src/lib}/style/_variables.scss +0 -0
  1183. /package/{lib → projects/sharedcomponents/src/lib}/style/sharedcomponents-globals.scss +0 -0
  1184. /package/{lib/utils/check-within-stepped-bounds-result.d.ts → projects/sharedcomponents/src/lib/utils/check-within-stepped-bounds-result.ts} +0 -0
@@ -1,932 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- import { Articles } from '@colijnit/articleapi/build/articles';
3
- import { Sharedapi } from '@colijnit/sharedapi/build/sharedapi';
4
- import { Injectable } from '@angular/core';
5
- import { ArticleStock as ArticleStockBo } from '@colijnit/articleapi/build/model/article-stock.bo';
6
- import { StockHistoryBo } from '@colijnit/articleapi/build/model/stock-history.bo';
7
- import { ArticleDetailsBo } from '@colijnit/articleapi/build/model/article-details.bo';
8
- import { StockStatus } from '@colijnit/articleapi/build/model/stock-status.bo';
9
- import { StockManagementWarehouses } from '@colijnit/articleapi/build/model/stock-management-warehouses.bo';
10
- import { StockLocation } from '@colijnit/articleapi/build/model/stock-location.bo';
11
- import { ArticleTransaction as ArticleTransactionBo } from '@colijnit/articleapi/build/model/article-transaction.bo';
12
- import { OptionsService } from './options.service';
13
- import { MainApi } from '@colijnit/mainapi';
14
- import { Printer } from '@colijnit/mainapi/build/model/printer.bo';
15
- import { SendMethod } from '@colijnit/mainapi/build/model/send-method.bo';
16
- import { BusinessObjectFactory } from '@colijnit/ioneconnector/build/service/business-object-factory';
17
- import { TagTreeItem } from "@colijnit/mainapi/build/model/tag-tree-item.bo";
18
- import { ObjectConfiguration } from "@colijnit/ioneconnector/build/model/object-configuration";
19
- import { RelationApi } from "@colijnit/relationapi";
20
- import { RelationListObject } from "@colijnit/relationapi/build/model/relation-list-object.bo";
21
- import { TaskCategory } from "@colijnit/mainapi/build/model/task-category.bo";
22
- import { WorkflowProcess } from "@colijnit/mainapi/build/model/workflow-process";
23
- import { CoDomainValue } from "@colijnit/mainapi/build/model/co-domain-value.bo";
24
- import { RoleEmailaddress } from "@colijnit/mainapi/build/model/role-email-address";
25
- import { Activity } from "@colijnit/mainapi/build/model/activity.bo";
26
- import { WorkflowProcessInfoPerStatus } from "@colijnit/mainapi/build/model/workflow-process-info-per-status";
27
- import { RelationSmallObject } from "@colijnit/mainapi/build/model/relation-small-object.bo";
28
- import { Report } from "@colijnit/mainapi/build/model/report.bo";
29
- import { Work } from "@colijnit/mainapi/build/model/work.bo";
30
- import { Remark } from "@colijnit/mainapi/build/model/remark.bo";
31
- import { Task } from "@colijnit/mainapi/build/model/task.bo";
32
- import { ActivityWorkflow } from "@colijnit/mainapi/build/model/activity-workflow";
33
- import { Form } from '@colijnit/mainapi/build/model/form.bo';
34
- import { FormResponse } from '@colijnit/mainapi/build/model/form-response.bo';
35
- import * as i0 from "@angular/core";
36
- import * as i1 from "./options.service";
37
- export class SharedConnectorService {
38
- constructor(_optionsService) {
39
- this._optionsService = _optionsService;
40
- this._boFactory = new BusinessObjectFactory();
41
- }
42
- connect() {
43
- return __awaiter(this, void 0, void 0, function* () {
44
- this.sharedConnector = new Sharedapi(this._optionsService.options);
45
- yield this.sharedConnector.connect();
46
- this.articleConnector = new Articles(this._optionsService.options);
47
- this.mainConnector = new MainApi(this._optionsService.options);
48
- this.relationConnector = new RelationApi(this._optionsService.options);
49
- });
50
- }
51
- getConfiguration(module, params) {
52
- return __awaiter(this, void 0, void 0, function* () {
53
- const response = yield this.mainConnector.getObjectConfigurations(module, params);
54
- if (response && response.validationResult && response.validationResult.success) {
55
- return this._boFactory.makeBOArrayFromRawBackendDataArray(ObjectConfiguration, response.resultObjects);
56
- }
57
- });
58
- }
59
- getAllPrinters() {
60
- return __awaiter(this, void 0, void 0, function* () {
61
- return new Promise((resolve, reject) => {
62
- return this.mainConnector.listAllPrinters().then((result) => {
63
- if (result.validationResult && result.validationResult.success) {
64
- if (result.resultObject) {
65
- resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(Printer, result.resultObject));
66
- }
67
- }
68
- else {
69
- reject(result.validationMessagesAsString);
70
- }
71
- });
72
- });
73
- });
74
- }
75
- getDefaultPrinter(reportId, layoutCode) {
76
- var _a;
77
- return __awaiter(this, void 0, void 0, function* () {
78
- const response = yield this.mainConnector.getStandardPrinter(reportId, layoutCode);
79
- if (response && response.validationResult && response.validationResult.success) {
80
- if (response.resultObject && ((_a = response.resultObject) === null || _a === void 0 ? void 0 : _a.length) > 0) {
81
- return response.resultObject;
82
- }
83
- }
84
- else {
85
- return null;
86
- }
87
- });
88
- }
89
- getSendMethods() {
90
- return __awaiter(this, void 0, void 0, function* () {
91
- return new Promise((resolve, reject) => {
92
- return this.mainConnector.getSendMethods().then((result) => {
93
- if (result.validationResult && result.validationResult.success) {
94
- if (result.resultObject && result.resultObject.result) {
95
- resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(SendMethod, result.resultObject.result));
96
- }
97
- }
98
- else {
99
- reject(result.validationMessagesAsString);
100
- }
101
- });
102
- });
103
- });
104
- }
105
- getScreenConfigTree() {
106
- return __awaiter(this, void 0, void 0, function* () {
107
- return new Promise((resolve, reject) => {
108
- return this.sharedConnector.getConfigTreeObject('T', 'JS').then((result) => {
109
- if (result.validationResult && result.validationResult.success) {
110
- if (result.resultObjects) {
111
- resolve(result.resultObjects);
112
- }
113
- }
114
- else {
115
- reject(result.validationMessagesAsString);
116
- }
117
- });
118
- });
119
- });
120
- }
121
- getScreenConfigSubRubric(parentRubricId, configId, fixedKey) {
122
- return __awaiter(this, void 0, void 0, function* () {
123
- return new Promise((resolve, reject) => {
124
- return this.sharedConnector.getConfigSubRubric(parentRubricId, configId, fixedKey).then((result) => {
125
- if (result.validationResult && result.validationResult.success) {
126
- if (result.resultObjects) {
127
- resolve(result.resultObjects);
128
- }
129
- }
130
- else {
131
- reject(result.validationMessagesAsString);
132
- }
133
- });
134
- });
135
- });
136
- }
137
- getTagsFullTree(category, includeTags) {
138
- return __awaiter(this, void 0, void 0, function* () {
139
- return new Promise((resolve, reject) => {
140
- return this.mainConnector.getTagsFullTree(category, includeTags).then((result) => {
141
- if (result.validationResult && result.validationResult.success) {
142
- if (result.resultObjects) {
143
- resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(TagTreeItem, result.resultObjects));
144
- }
145
- }
146
- else {
147
- reject(result.validationMessagesAsString);
148
- }
149
- });
150
- });
151
- });
152
- }
153
- getComponentActivitiesWithoutRelationFiltering(table, key) {
154
- return __awaiter(this, void 0, void 0, function* () {
155
- return new Promise((resolve, reject) => {
156
- return this.mainConnector.getComponentActivitiesWithoutRelationFiltering(table, key).then((result) => {
157
- if (result && result.validationResult && result.validationResult.success) {
158
- resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(Activity, result.resultObject));
159
- }
160
- else {
161
- reject(result.validationMessagesAsString);
162
- }
163
- });
164
- });
165
- });
166
- }
167
- getRelationSmallObject(relationId) {
168
- return __awaiter(this, void 0, void 0, function* () {
169
- return new Promise((resolve, reject) => {
170
- return this.relationConnector.getRelationSmallObject(relationId).then((result) => {
171
- if (result && result.validationResult && result.validationResult.success) {
172
- resolve(this._boFactory.makeWithRawBackendData(RelationSmallObject, result.resultObject));
173
- }
174
- else {
175
- reject(result.validationMessagesAsString);
176
- }
177
- });
178
- });
179
- });
180
- }
181
- getWorkflowStatusForActivity(table, key, component) {
182
- return __awaiter(this, void 0, void 0, function* () {
183
- return new Promise((resolve, reject) => {
184
- return this.mainConnector.getWorkflowStatusForActivity(table, key, component).then((result) => __awaiter(this, void 0, void 0, function* () {
185
- if (result && result.validationResult && result.validationResult.success) {
186
- resolve(this._boFactory.makeWithRawBackendData(ActivityWorkflow, result.resultObject));
187
- }
188
- else {
189
- reject(result.validationMessagesAsString);
190
- }
191
- }));
192
- });
193
- });
194
- }
195
- insertActivity(activity) {
196
- return __awaiter(this, void 0, void 0, function* () {
197
- return new Promise((resolve, reject) => {
198
- return this.mainConnector.insertActivity(activity).then((result) => __awaiter(this, void 0, void 0, function* () {
199
- resolve(result.validationResult);
200
- }));
201
- });
202
- });
203
- }
204
- insertWork(activity) {
205
- return __awaiter(this, void 0, void 0, function* () {
206
- return new Promise((resolve, reject) => {
207
- return this.mainConnector.insertActivity(activity).then((result) => __awaiter(this, void 0, void 0, function* () {
208
- if (result && result.validationResult && result.validationResult.success) {
209
- resolve(this._boFactory.makeWithRawBackendData(Work, result.resultObject));
210
- }
211
- else {
212
- reject(result.validationMessagesAsString);
213
- }
214
- }));
215
- });
216
- });
217
- }
218
- insertRemark(activity) {
219
- return __awaiter(this, void 0, void 0, function* () {
220
- return new Promise((resolve, reject) => {
221
- return this.mainConnector.insertActivity(activity).then((result) => __awaiter(this, void 0, void 0, function* () {
222
- if (result && result.validationResult && result.validationResult.success) {
223
- resolve(this._boFactory.makeWithRawBackendData(Remark, result.resultObject));
224
- }
225
- else {
226
- reject(result.validationMessagesAsString);
227
- }
228
- }));
229
- });
230
- });
231
- }
232
- insertTask(activity) {
233
- return __awaiter(this, void 0, void 0, function* () {
234
- return new Promise((resolve, reject) => {
235
- return this.mainConnector.insertActivity(activity).then((result) => __awaiter(this, void 0, void 0, function* () {
236
- if (result && result.validationResult && result.validationResult.success) {
237
- resolve(this._boFactory.makeWithRawBackendData(Task, result.resultObject));
238
- }
239
- else {
240
- reject(result.validationMessagesAsString);
241
- }
242
- }));
243
- });
244
- });
245
- }
246
- updateActivity(activity) {
247
- return __awaiter(this, void 0, void 0, function* () {
248
- return new Promise((resolve, reject) => {
249
- return this.mainConnector.updateActivity(activity).then((result) => __awaiter(this, void 0, void 0, function* () {
250
- resolve(result.validationResult);
251
- }));
252
- });
253
- });
254
- }
255
- deleteActivity(activity) {
256
- return __awaiter(this, void 0, void 0, function* () {
257
- return new Promise((resolve, reject) => {
258
- return this.mainConnector.deleteActivity(activity).then((result) => __awaiter(this, void 0, void 0, function* () {
259
- resolve(result.validationResult);
260
- }));
261
- });
262
- });
263
- }
264
- lockTask(id) {
265
- return __awaiter(this, void 0, void 0, function* () {
266
- return new Promise((resolve, reject) => {
267
- return this.mainConnector.lockTask(id).then((result) => __awaiter(this, void 0, void 0, function* () {
268
- resolve(result.validationResult);
269
- }));
270
- });
271
- });
272
- }
273
- fireTrigger(workFlowProcessId, sequence, triggerId) {
274
- return __awaiter(this, void 0, void 0, function* () {
275
- return new Promise((resolve, reject) => {
276
- return this.mainConnector.fireTrigger(workFlowProcessId, sequence, triggerId).then((result) => __awaiter(this, void 0, void 0, function* () {
277
- resolve(result.validationResult);
278
- }));
279
- });
280
- });
281
- }
282
- fireGenericTrigger(workFlowProcessId, genericTransitionId, relationId) {
283
- return __awaiter(this, void 0, void 0, function* () {
284
- return new Promise((resolve, reject) => {
285
- return this.mainConnector.fireGenericTrigger(workFlowProcessId, genericTransitionId, relationId).then((result) => __awaiter(this, void 0, void 0, function* () {
286
- resolve(result.validationResult);
287
- }));
288
- });
289
- });
290
- }
291
- getJoinedTags(table, key) {
292
- return __awaiter(this, void 0, void 0, function* () {
293
- return new Promise((resolve, reject) => {
294
- return this.mainConnector.getJoinedTags(table, key).then((result) => {
295
- if (result.validationResult && result.validationResult.success) {
296
- if (result.resultObjects) {
297
- resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(TagTreeItem, result.resultObjects));
298
- }
299
- }
300
- else {
301
- reject(result.validationMessagesAsString);
302
- }
303
- });
304
- });
305
- });
306
- }
307
- getDocumentContent(id, thumbnail = true) {
308
- return __awaiter(this, void 0, void 0, function* () {
309
- return new Promise((resolve, reject) => {
310
- return this.mainConnector.getDocumentContent(id, thumbnail).then((result) => {
311
- if (result.validationResult && result.validationResult.success) {
312
- resolve(result.resultObject.documentContent);
313
- }
314
- else {
315
- reject(result.validationMessagesAsString);
316
- }
317
- });
318
- });
319
- });
320
- }
321
- // public async getPrintStockStickers(request: PrintStockStickers): Promise<PrintStockStickers> {
322
- // return new Promise((resolve: Function, reject: Function) => {
323
- // return this.sharedConnector.getPrintStockStickers(request).then((result: DataServiceResponseData) => {
324
- // if (result.validationResult && result.validationResult.success) {
325
- // if (result.resultObject) {
326
- // resolve(this._boFactory.makeWithRawBackendData(PrintStockStickers, result.resultObject));
327
- // }
328
- // } else {
329
- // reject(result.validationMessagesAsString);
330
- // }
331
- // })
332
- // })
333
- // }
334
- // public async getPrintPriceStickers(request: PrintPriceStickers): Promise<PrintPriceStickers> {
335
- // return new Promise((resolve: Function, reject: Function) => {
336
- // return this.sharedConnector.printPriceStickers(request).then((result: DataServiceResponseData) => {
337
- // if (result.validationResult && result.validationResult.success) {
338
- // if (result.resultObject) {
339
- // resolve(this._boFactory.makeWithRawBackendData(PrintPriceStickers, result.resultObject));
340
- // }
341
- // } else {
342
- // reject(result.validationMessagesAsString);
343
- // }
344
- // })
345
- // })
346
- // }
347
- getStockHistory(request) {
348
- return __awaiter(this, void 0, void 0, function* () {
349
- return new Promise((resolve, reject) => {
350
- return this.articleConnector.getStockHistory(request).then((result) => {
351
- if (result.validationResult && result.validationResult.success) {
352
- if (result.resultObject && result.resultObject.hasOwnProperty("stockHistory")) {
353
- resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(StockHistoryBo, result.resultObject.stockHistory));
354
- }
355
- }
356
- else {
357
- reject(result.validationMessagesAsString);
358
- }
359
- });
360
- });
361
- });
362
- }
363
- getStockInformation(data) {
364
- return __awaiter(this, void 0, void 0, function* () {
365
- return new Promise((resolve, reject) => {
366
- return this.articleConnector.getStockInformation(data).then((result) => {
367
- if (result.validationResult && result.validationResult.success) {
368
- if (result.resultObjects) {
369
- resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(ArticleStockBo, result.resultObjects));
370
- }
371
- }
372
- else {
373
- reject(result.validationMessagesAsString);
374
- }
375
- });
376
- });
377
- });
378
- }
379
- getArtStockStatus(goodId, branchNo, requestedAmount, warehouseId) {
380
- return __awaiter(this, void 0, void 0, function* () {
381
- return new Promise((resolve, reject) => {
382
- return this.articleConnector.getArtStockStatus(goodId, branchNo, requestedAmount, warehouseId).then((result) => {
383
- if (result.validationResult && result.validationResult.success) {
384
- if (result.resultObject) {
385
- resolve(result.resultObject);
386
- }
387
- }
388
- else {
389
- reject(result.validationMessagesAsString);
390
- }
391
- });
392
- });
393
- });
394
- }
395
- getArticleFlat(sku) {
396
- return __awaiter(this, void 0, void 0, function* () {
397
- return new Promise((resolve, reject) => {
398
- return this.articleConnector.getArticleFlat(sku).then((result) => {
399
- if (result.validationResult && result.validationResult.success) {
400
- if (result.resultObject) {
401
- resolve(result.resultObject);
402
- }
403
- }
404
- else {
405
- reject(result.validationMessagesAsString);
406
- }
407
- });
408
- });
409
- });
410
- }
411
- searchArticles(request) {
412
- return __awaiter(this, void 0, void 0, function* () {
413
- return new Promise((resolve, reject) => {
414
- return this.articleConnector.searchArticles(request, false).then((result) => {
415
- if (result.validationResult && result.validationResult.success) {
416
- if (result.resultObjects) {
417
- resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(StockManagementWarehouses, result.resultObjects));
418
- }
419
- }
420
- else {
421
- reject(result.validationMessagesAsString);
422
- }
423
- });
424
- });
425
- });
426
- }
427
- getStockManagementWarehouses() {
428
- return __awaiter(this, void 0, void 0, function* () {
429
- return new Promise((resolve, reject) => {
430
- return this.articleConnector.getStockManagementWarehouses().then((result) => {
431
- if (result.validationResult && result.validationResult.success) {
432
- if (result.resultObjects) {
433
- resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(StockManagementWarehouses, result.resultObjects));
434
- }
435
- }
436
- else {
437
- reject(result.validationMessagesAsString);
438
- }
439
- });
440
- });
441
- });
442
- }
443
- getStockManagementLocations(warehouseNo) {
444
- return __awaiter(this, void 0, void 0, function* () {
445
- return new Promise((resolve, reject) => {
446
- return this.articleConnector.getStockManagementLocations(warehouseNo).then((result) => {
447
- if (result.validationResult && result.validationResult.success) {
448
- if (result.resultObjects) {
449
- resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(StockLocation, result.resultObjects));
450
- }
451
- }
452
- else {
453
- reject(result.validationMessagesAsString);
454
- }
455
- });
456
- });
457
- });
458
- }
459
- // public async getOrderConfirmationDefaultSendMethod(relationId: number): Promise<number> {
460
- // return new Promise((resolve: Function, reject: Function) => {
461
- // return this.sharedConnector.getOrderConfirmationDefaultSendMethod(relationId).then((result: DataServiceResponseData) => {
462
- // if (result.validationResult && result.validationResult.success) {
463
- // if (result.resultObject) {
464
- // resolve (result.resultObject);
465
- // }
466
- // } else {
467
- // reject(result.validationMessagesAsString);
468
- // }
469
- // });
470
- // });
471
- // }
472
- // public async getDefaultEmailAddressListForOrderConfirmation(transactionUUID: string): Promise<string[]> {
473
- // return new Promise((resolve: Function, reject: Function) => {
474
- // return this.sharedConnector.getDefaultEmailAddressListForOrderConfirmation(transactionUUID).then((result: DataServiceResponseData) => {
475
- // if (result.validationResult && result.validationResult.success) {
476
- // if (result.resultObject) {
477
- // resolve (result.resultObject);
478
- // }
479
- // } else {
480
- // reject(result.validationMessagesAsString);
481
- // }
482
- // });
483
- // });
484
- // }
485
- // public async getPurchaseOrderEmailLayouts(transactionUUID: string): Promise<StockStickersEmailLayouts[]> {
486
- // return new Promise((resolve: Function, reject: Function) => {
487
- // return this.sharedConnector.getPurchaseOrderEmailLayouts(transactionUUID).then((result: DataServiceResponseData) => {
488
- // if (result.validationResult && result.validationResult.success) {
489
- // if (result.resultObject) {
490
- // resolve (result.resultObject);
491
- // }
492
- // } else {
493
- // reject(result.validationMessagesAsString);
494
- // }
495
- // });
496
- // });
497
- // }
498
- getArticleDetails(data) {
499
- return __awaiter(this, void 0, void 0, function* () {
500
- return new Promise((resolve, reject) => {
501
- return this.articleConnector.getArticleDetails(data).then((result) => {
502
- if (result.validationResult && result.validationResult.success) {
503
- if (result.resultObjects) {
504
- resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(ArticleDetailsBo, result.resultObjects));
505
- }
506
- }
507
- else {
508
- reject(result.validationMessagesAsString);
509
- }
510
- });
511
- });
512
- });
513
- }
514
- updateArticleDetails(data) {
515
- return __awaiter(this, void 0, void 0, function* () {
516
- return new Promise((resolve, reject) => {
517
- return this.articleConnector.updateArticleDetails(data).then((result) => __awaiter(this, void 0, void 0, function* () {
518
- if (result.validationResult && result.validationResult.success) {
519
- yield this.commit();
520
- resolve(true);
521
- }
522
- else {
523
- reject(result.validationMessagesAsString);
524
- }
525
- }));
526
- });
527
- });
528
- }
529
- lockArticleDetails(data) {
530
- return __awaiter(this, void 0, void 0, function* () {
531
- return new Promise((resolve, reject) => {
532
- return this.articleConnector.lockArticleDetails(data).then((result) => __awaiter(this, void 0, void 0, function* () {
533
- if (result.validationResult && result.validationResult.success) {
534
- yield this.commit();
535
- resolve(true);
536
- }
537
- else {
538
- reject(result.validationMessagesAsString);
539
- }
540
- }));
541
- });
542
- });
543
- }
544
- getStockStatus() {
545
- return __awaiter(this, void 0, void 0, function* () {
546
- return new Promise((resolve, reject) => {
547
- return this.articleConnector.getStockState().then((result) => {
548
- if (result.validationResult && result.validationResult.success) {
549
- if (result.resultObjects) {
550
- resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(StockStatus, result.resultObjects));
551
- }
552
- }
553
- else {
554
- reject(result.validationMessagesAsString);
555
- }
556
- });
557
- });
558
- });
559
- }
560
- // public async getStockStickerTemplates(data: StockStickersPrintLayouts): Promise<StockStickersPrintLayouts[]> {
561
- // return new Promise((resolve: Function, reject: Function) => {
562
- // return this.mainConnector.getStockStickerPrintLayouts(data).then((result: DataServiceResponseData) => {
563
- // if (result.validationResult && result.validationResult.success) {
564
- // if (result.resultObject) {
565
- // resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(StockStickersPrintLayouts, result.resultObject));
566
- // }
567
- // } else {
568
- // reject(result.validationMessagesAsString);
569
- // }
570
- // });
571
- // });
572
- // }
573
- getArticleTransaction(data) {
574
- return __awaiter(this, void 0, void 0, function* () {
575
- return new Promise((resolve, reject) => {
576
- return this.articleConnector.getArticleTransaction(data).then((result) => {
577
- if (result.validationResult && result.validationResult.success) {
578
- if (result.resultObjects) {
579
- resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(ArticleTransactionBo, result.resultObjects));
580
- }
581
- }
582
- else {
583
- reject(result.validationMessagesAsString);
584
- }
585
- });
586
- });
587
- });
588
- }
589
- getStockPrognose(goodId, warehouseNumber) {
590
- return __awaiter(this, void 0, void 0, function* () {
591
- return new Promise((resolve, reject) => {
592
- return this.articleConnector.getStockForecast(goodId, warehouseNumber).then((result) => {
593
- if (result.validationResult && result.validationResult.success) {
594
- if (result.resultObjects) {
595
- resolve(result.resultObjects);
596
- }
597
- }
598
- else {
599
- reject(result.validationMessagesAsString);
600
- }
601
- });
602
- });
603
- });
604
- }
605
- getRelationListObjects(request) {
606
- return __awaiter(this, void 0, void 0, function* () {
607
- return new Promise((resolve, reject) => {
608
- return this.relationConnector.getRelationListObjects(request, false).then((result) => {
609
- if (result.validationResult && result.validationResult.success) {
610
- if (result.resultObjects) {
611
- resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(RelationListObject, result.resultObjects));
612
- }
613
- }
614
- else {
615
- reject(result.validationMessagesAsString);
616
- }
617
- });
618
- });
619
- });
620
- }
621
- getTaskCategories() {
622
- return __awaiter(this, void 0, void 0, function* () {
623
- return new Promise((resolve, reject) => {
624
- return this.mainConnector.getTaskCategories().then((result) => {
625
- if (result.validationResult && result.validationResult.success) {
626
- if (result.resultObjects) {
627
- resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(TaskCategory, result.resultObjects));
628
- }
629
- }
630
- else {
631
- reject(result.validationMessagesAsString);
632
- }
633
- });
634
- });
635
- });
636
- }
637
- getActiveProcessesByTableAndKey(table, key) {
638
- return __awaiter(this, void 0, void 0, function* () {
639
- return new Promise((resolve, reject) => {
640
- return this.mainConnector.getActiveProcessesByTableAndKey(table, key).then((result) => {
641
- if (result.validationResult && result.validationResult.success) {
642
- if (result.resultObjects) {
643
- resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(WorkflowProcess, result.resultObjects));
644
- }
645
- }
646
- else {
647
- reject(result.validationMessagesAsString);
648
- }
649
- });
650
- });
651
- });
652
- }
653
- getDomainCollection(languageCode, domain) {
654
- return __awaiter(this, void 0, void 0, function* () {
655
- return new Promise((resolve, reject) => {
656
- return this.mainConnector.getDomainCollection(languageCode, domain).then((result) => {
657
- if (result.validationResult && result.validationResult.success) {
658
- if (result.resultObjects) {
659
- resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(CoDomainValue, result.resultObjects));
660
- }
661
- }
662
- else {
663
- reject(result.validationMessagesAsString);
664
- }
665
- });
666
- });
667
- });
668
- }
669
- getRoleEmailAddressesByWorkflowCategoryAndKey(workflowCategory, key) {
670
- return __awaiter(this, void 0, void 0, function* () {
671
- return new Promise((resolve, reject) => {
672
- return this.mainConnector.getRoleEmailAddressesByWorkflowCategoryAndKey(workflowCategory, key).then((result) => {
673
- if (result.validationResult && result.validationResult.success) {
674
- if (result.resultObject) {
675
- resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(RoleEmailaddress, result.resultObject));
676
- }
677
- }
678
- else {
679
- reject(result.validationMessagesAsString);
680
- }
681
- });
682
- });
683
- });
684
- }
685
- getEmailSenderByWorkflowCategoryAndKey(worlflowCategory, key) {
686
- return __awaiter(this, void 0, void 0, function* () {
687
- return new Promise((resolve, reject) => {
688
- return this.mainConnector.getEmailSenderByWorkflowCategoryAndKey(worlflowCategory, key).then((result) => {
689
- if (result.validationResult && result.validationResult.success) {
690
- resolve(result.resultObject);
691
- }
692
- else {
693
- reject(result.validationMessagesAsString);
694
- }
695
- });
696
- });
697
- });
698
- }
699
- getReportTemplates(reportTemplatesRequest) {
700
- return __awaiter(this, void 0, void 0, function* () {
701
- return new Promise((resolve, reject) => {
702
- return this.mainConnector.getReportTemplates(reportTemplatesRequest).then((result) => {
703
- if (result.validationResult && result.validationResult.success) {
704
- if (result.resultObjects) {
705
- resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(Report, result.resultObjects));
706
- }
707
- }
708
- else {
709
- reject(result.validationMessagesAsString);
710
- }
711
- });
712
- });
713
- });
714
- }
715
- emailReport(emailJob) {
716
- return __awaiter(this, void 0, void 0, function* () {
717
- const result = yield this.mainConnector.emailReport(emailJob);
718
- if (result && result.validationResult && result.validationResult.success) {
719
- return Promise.resolve(true);
720
- }
721
- else {
722
- return Promise.resolve(false);
723
- }
724
- });
725
- }
726
- emailActivity(request) {
727
- return __awaiter(this, void 0, void 0, function* () {
728
- const result = yield this.mainConnector.emailActivity(request);
729
- if (result && result.validationResult && result.validationResult.success) {
730
- return Promise.resolve(true);
731
- }
732
- else {
733
- return Promise.resolve(false);
734
- }
735
- });
736
- }
737
- insertEmailHistoryForRemark(history) {
738
- return __awaiter(this, void 0, void 0, function* () {
739
- return new Promise((resolve, reject) => {
740
- return this.mainConnector.insertEmailHistoryForRemark(history).then((result) => {
741
- if (result.validationResult && result.validationResult.success) {
742
- resolve(result.resultObject);
743
- }
744
- else {
745
- reject(result.validationMessagesAsString);
746
- }
747
- });
748
- });
749
- });
750
- }
751
- insertEmailHistoryForWork(history) {
752
- return __awaiter(this, void 0, void 0, function* () {
753
- return new Promise((resolve, reject) => {
754
- return this.mainConnector.insertEmailHistoryForWork(history).then((result) => {
755
- if (result.validationResult && result.validationResult.success) {
756
- resolve(result.resultObject);
757
- }
758
- else {
759
- reject(result.validationMessagesAsString);
760
- }
761
- });
762
- });
763
- });
764
- }
765
- insertEmailHistoryForTask(history) {
766
- return __awaiter(this, void 0, void 0, function* () {
767
- return new Promise((resolve, reject) => {
768
- return this.mainConnector.insertEmailHistoryForTask(history).then((result) => {
769
- if (result.validationResult && result.validationResult.success) {
770
- resolve(result.resultObject);
771
- }
772
- else {
773
- reject(result.validationMessagesAsString);
774
- }
775
- });
776
- });
777
- });
778
- }
779
- getWorkflowProcessInfoPerStatus(worlflowCategory) {
780
- return __awaiter(this, void 0, void 0, function* () {
781
- return new Promise((resolve, reject) => {
782
- return this.mainConnector.getWorkflowProcessInfoPerStatus(worlflowCategory).then((result) => {
783
- if (result.validationResult && result.validationResult.success) {
784
- if (result.resultObject) {
785
- resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(WorkflowProcessInfoPerStatus, result.resultObject));
786
- }
787
- }
788
- else {
789
- reject(result.validationMessagesAsString);
790
- }
791
- });
792
- });
793
- });
794
- }
795
- getHistoricActivities(table, key) {
796
- return __awaiter(this, void 0, void 0, function* () {
797
- return new Promise((resolve, reject) => {
798
- return this.mainConnector.getHistoricActivities(table, key).then((result) => {
799
- if (result.validationResult && result.validationResult.success) {
800
- if (result.resultObject) {
801
- resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(Activity, result.resultObject));
802
- }
803
- }
804
- else {
805
- reject(result.validationMessagesAsString);
806
- }
807
- });
808
- });
809
- });
810
- }
811
- getComponentActivities(table, key) {
812
- return __awaiter(this, void 0, void 0, function* () {
813
- return new Promise((resolve, reject) => {
814
- return this.mainConnector.getComponentActivities(table, key).then((result) => {
815
- if (result.validationResult && result.validationResult.success) {
816
- if (result.resultObject) {
817
- resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(Activity, result.resultObject));
818
- }
819
- }
820
- else {
821
- reject(result.validationMessagesAsString);
822
- }
823
- });
824
- });
825
- });
826
- }
827
- getFormById(formId) {
828
- return __awaiter(this, void 0, void 0, function* () {
829
- return new Promise((resolve, reject) => {
830
- return this.mainConnector.getFormById(formId).then((result) => {
831
- if (result.validationResult && result.validationResult.success) {
832
- if (result.resultObject) {
833
- resolve(this._boFactory.makeWithRawBackendData(Form, result.resultObject));
834
- }
835
- }
836
- else {
837
- reject(result.validationMessagesAsString);
838
- }
839
- });
840
- });
841
- });
842
- }
843
- getAllFormResponsesForTableAndKey(table, key) {
844
- return __awaiter(this, void 0, void 0, function* () {
845
- return new Promise((resolve, reject) => {
846
- return this.mainConnector.getAllFormResponsesForTableAndKey(table, key).then((result) => {
847
- if (result.validationResult && result.validationResult.success) {
848
- if (result.resultObjects) {
849
- resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(FormResponse, result.resultObjects));
850
- }
851
- }
852
- else {
853
- reject(result.validationMessagesAsString);
854
- }
855
- });
856
- });
857
- });
858
- }
859
- insertFormResponse(formResponse) {
860
- return __awaiter(this, void 0, void 0, function* () {
861
- return new Promise((resolve, reject) => {
862
- return this.mainConnector.insertFormResponse(formResponse).then((result) => {
863
- if (result.validationResult && result.validationResult.success) {
864
- if (result.resultObject) {
865
- resolve(this._boFactory.makeWithRawBackendData(FormResponse, result.resultObject));
866
- }
867
- }
868
- else {
869
- reject(result.validationMessagesAsString);
870
- }
871
- });
872
- });
873
- });
874
- }
875
- updateFormResponse(formResponse) {
876
- return __awaiter(this, void 0, void 0, function* () {
877
- return new Promise((resolve, reject) => {
878
- return this.mainConnector.updateFormResponse(formResponse).then((result) => {
879
- if (result.validationResult && result.validationResult.success) {
880
- if (result.resultObject) {
881
- resolve(this._boFactory.makeWithRawBackendData(FormResponse, result.resultObject));
882
- }
883
- }
884
- else {
885
- reject(result.validationMessagesAsString);
886
- }
887
- });
888
- });
889
- });
890
- }
891
- lockFormResponse(formResponseId) {
892
- return __awaiter(this, void 0, void 0, function* () {
893
- return new Promise((resolve, reject) => {
894
- return this.mainConnector.lockFormResponse(formResponseId).then((result) => {
895
- if (result.validationResult && result.validationResult.success) {
896
- resolve(true);
897
- }
898
- else {
899
- reject(result.validationResult.messages[0].message);
900
- }
901
- });
902
- });
903
- });
904
- }
905
- unlockFormResponse(formResponseId) {
906
- return __awaiter(this, void 0, void 0, function* () {
907
- return new Promise((resolve, reject) => {
908
- return this.mainConnector.unlockFormResponse(formResponseId).then((result) => {
909
- if (result.validationResult && result.validationResult.success) {
910
- resolve(true);
911
- }
912
- else {
913
- reject(result.validationResult.messages[0].message);
914
- }
915
- });
916
- });
917
- });
918
- }
919
- commit() {
920
- return this.articleConnector.commit();
921
- }
922
- }
923
- SharedConnectorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function SharedConnectorService_Factory() { return new SharedConnectorService(i0.ɵɵinject(i1.OptionsService)); }, token: SharedConnectorService, providedIn: "root" });
924
- SharedConnectorService.decorators = [
925
- { type: Injectable, args: [{
926
- providedIn: "root"
927
- },] }
928
- ];
929
- SharedConnectorService.ctorParameters = () => [
930
- { type: OptionsService }
931
- ];
932
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLWNvbm5lY3Rvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL3NlcnZpY2Uvc2hhcmVkLWNvbm5lY3Rvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDN0QsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQzlELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFDLFlBQVksSUFBSSxjQUFjLEVBQUMsTUFBTSxtREFBbUQsQ0FBQztBQUVqRyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sbURBQW1ELENBQUM7QUFFakYsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0scURBQXFELENBQUM7QUFDckYsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGtEQUFrRCxDQUFDO0FBQzdFLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLGlFQUFpRSxDQUFDO0FBQzFHLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxvREFBb0QsQ0FBQztBQUVqRixPQUFPLEVBQUMsa0JBQWtCLElBQUksb0JBQW9CLEVBQUMsTUFBTSx5REFBeUQsQ0FBQztBQUNuSCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQzFDLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUVqRSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sOENBQThDLENBQUM7QUFFeEUsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sK0RBQStELENBQUM7QUFFcEcsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdEQUFnRCxD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QU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7d0JBQzlELE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQTtxQkFDZDt5QkFBTTt3QkFDTCxNQUFNLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztxQkFDckQ7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7S0FBQTtJQVNNLE1BQU07UUFDWCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUN4QyxDQUFDOzs7O1lBdnlCRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQXpDTyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBcnRpY2xlc30gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvYXJ0aWNsZXMnO1xyXG5pbXBvcnQge1NoYXJlZGFwaX0gZnJvbSAnQGNvbGlqbml0L3NoYXJlZGFwaS9idWlsZC9zaGFyZWRhcGknO1xyXG5pbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0dldFN0b2NrSGlzdG9yeVJlcXVlc3R9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2dldC1zdG9jay1oaXN0b3J5LXJlcXVlc3QnO1xyXG5pbXBvcnQge0FydGljbGVTdG9jayBhcyBBcnRpY2xlU3RvY2tCb30gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1zdG9jay5ibyc7XHJcbmltcG9ydCB7QXJ0aWNsZVN0b2NrfSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLXN0b2NrJztcclxuaW1wb3J0IHtTdG9ja0hpc3RvcnlCb30gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvc3RvY2staGlzdG9yeS5ibyc7XHJcbmltcG9ydCB7QXJ0aWNsZVN0b2NrTWFuYWdlbWVudH0gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1zdG9jay1tYW5hZ2VtZW50JztcclxuaW1wb3J0IHtBcnRpY2xlRGV0YWlsc0JvfSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLWRldGFpbHMuYm8nO1xyXG5pbXBvcnQge1N0b2NrU3RhdHVzfSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9zdG9jay1zdGF0dXMuYm8nO1xyXG5pbXBvcnQge1N0b2NrTWFuYWdlbWVudFdhcmVob3VzZXN9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL3N0b2NrLW1hbmFnZW1lbnQtd2FyZWhvdXNlcy5ibyc7XHJcbmltcG9ydCB7U3RvY2tMb2NhdGlvbn0gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvc3RvY2stbG9jYXRpb24uYm8nO1xyXG5pbXBvcnQge0FydGljbGVUcmFuc2FjdGlvbn0gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS10cmFuc2FjdGlvbic7XHJcbmltcG9ydCB7QXJ0aWNsZVRyYW5zYWN0aW9uIGFzIEFydGljbGVUcmFuc2FjdGlvbkJvfSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLXRyYW5zYWN0aW9uLmJvJztcclxuaW1wb3J0IHtPcHRpb25zU2VydmljZX0gZnJvbSAnLi9vcHRpb25zLnNlcnZpY2UnO1xyXG5pbXBvcnQge01haW5BcGl9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpJztcclxuaW1wb3J0IHtQcmludGVyfSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9wcmludGVyLmJvJztcclxuaW1wb3J0IHtEYXRhU2VydmljZVJlc3BvbnNlRGF0YX0gZnJvbSAnQGNvbGlqbml0L2lvbmVjb25uZWN0b3IvYnVpbGQvbW9kZWwvZGF0YS1zZXJ2aWNlLXJlc3BvbnNlLWRhdGEnO1xyXG5pbXBvcnQge1NlbmRNZXRob2R9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3NlbmQtbWV0aG9kLmJvJztcclxuaW1wb3J0IHtTdG9ja0ZvcmVjYXN0fSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvc3RvY2stZm9yZWNhc3QuYm9cIjtcclxuaW1wb3J0IHtCdXNpbmVzc09iamVjdEZhY3Rvcnl9IGZyb20gJ0Bjb2xpam5pdC9pb25lY29ubmVjdG9yL2J1aWxkL3NlcnZpY2UvYnVzaW5lc3Mtb2JqZWN0LWZhY3RvcnknO1xyXG5pbXBvcnQge1RhZ0NhdGVnb3J5fSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvZW51bS90YWItY2F0ZWdvcnkuZW51bVwiO1xyXG5pbXBvcnQge1RhZ1RyZWVJdGVtfSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvdGFnLXRyZWUtaXRlbS5ib1wiO1xyXG5pbXBvcnQge0FydGljbGVFeHRlbmRlZH0gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtZXh0ZW5kZWQuYm9cIjtcclxuaW1wb3J0IHtBcnRpY2xlRXh0ZW5kZWRSZXF1ZXN0fSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1leHRlbmRlZC1yZXF1ZXN0XCI7XHJcbmltcG9ydCB7QXJ0aWNsZUZsYXR9IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLWZsYXQuYm9cIjtcclxuaW1wb3J0IHtPYmplY3RDb25maWd1cmF0aW9ufSBmcm9tIFwiQGNvbGlqbml0L2lvbmVjb25uZWN0b3IvYnVpbGQvbW9kZWwvb2JqZWN0LWNvbmZpZ3VyYXRpb25cIjtcclxuaW1wb3J0IHtSZWxhdGlvbkFwaX0gZnJvbSBcIkBjb2xpam5pdC9yZWxhdGlvbmFwaVwiO1xyXG5pbXBvcnQge1JlbGF0aW9uTGlzdE9iamVjdH0gZnJvbSBcIkBjb2xpam5pdC9yZWxhdGlvbmFwaS9idWlsZC9tb2RlbC9yZWxhdGlvbi1saXN0LW9iamVjdC5ib1wiO1xyXG5pbXBvcnQge1JlbGF0aW9uUmVxdWVzdH0gZnJvbSBcIkBjb2xpam5pdC9yZWxhdGlvbmFwaS9idWlsZC9tb2RlbC9yZWxhdGlvbi1yZXF1ZXN0XCI7XHJcbmltcG9ydCB7VGFza0NhdGVnb3J5fSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvdGFzay1jYXRlZ29yeS5ib1wiO1xyXG5pbXBvcnQge1RhYmxlTmFtZX0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL2VudW0vdGFibGUtbmFtZS5lbnVtXCI7XHJcbmltcG9ydCB7V29ya2Zsb3dQcm9jZXNzfSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvd29ya2Zsb3ctcHJvY2Vzc1wiO1xyXG5pbXBvcnQge0RvbWFpbk5hbWV9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9lbnVtL2RvbWFpbi1uYW1lLmVudW1cIjtcclxuaW1wb3J0IHtDb0RvbWFpblZhbHVlfSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvY28tZG9tYWluLXZhbHVlLmJvXCI7XHJcbmltcG9ydCB7Um9sZUVtYWlsYWRkcmVzc30gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JvbGUtZW1haWwtYWRkcmVzc1wiO1xyXG5pbXBvcnQge0FjdGl2aXR5fSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvYWN0aXZpdHkuYm9cIjtcclxuaW1wb3J0IHtWYWxpZGF0aW9uUmVzdWx0fSBmcm9tIFwiQGNvbGlqbml0L2lvbmVjb25uZWN0b3IvYnVpbGQvbW9kZWwvdmFsaWRhdGlvbi1yZXN1bHRcIjtcclxuaW1wb3J0IHtXb3JrZmxvd1Byb2Nlc3NJbmZvUGVyU3RhdHVzfSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvd29ya2Zsb3ctcHJvY2Vzcy1pbmZvLXBlci1zdGF0dXNcIjtcclxuaW1wb3J0IHtSZWxhdGlvblNtYWxsT2JqZWN0fSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcmVsYXRpb24tc21hbGwtb2JqZWN0LmJvXCI7XHJcbmltcG9ydCB7UmVwb3J0UGFyYW1UeXBlfSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvZW51bS9yZXBvcnQtcGFyYW0tdHlwZS5lbnVtXCI7XHJcbmltcG9ydCB7U2VsZWN0UmVwb3J0VGVtcGxhdGVzUmVxdWVzdH0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3NlbGVjdC1yZXBvcnQtdGVtcGxhdGVzLXJlcXVlc3RcIjtcclxuaW1wb3J0IHtSZXBvcnR9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnQuYm9cIjtcclxuaW1wb3J0IHtFbWFpbEpvYn0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL2VtYWlsLWpvYlwiO1xyXG5pbXBvcnQge1dvcmt9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC93b3JrLmJvXCI7XHJcbmltcG9ydCB7UmVtYXJrfSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcmVtYXJrLmJvXCI7XHJcbmltcG9ydCB7VGFza30gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3Rhc2suYm9cIjtcclxuaW1wb3J0IHtBY3Rpdml0eUVtYWlsSGlzdG9yeX0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL2FjdGl2aXR5LWVtYWlsLWhpc3RvcnkuYm9cIjtcclxuaW1wb3J0IHtBY3Rpdml0eVdvcmtmbG93fSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvYWN0aXZpdHktd29ya2Zsb3dcIjtcclxuaW1wb3J0IHtFbWFpbEFjdGl2aXR5UmVxdWVzdH0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL2VtYWlsLWFjdGl2aXR5LXJlcXVlc3RcIjtcclxuaW1wb3J0IHtGb3JtfSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9mb3JtLmJvJztcclxuaW1wb3J0IHtGb3JtUmVzcG9uc2V9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL2Zvcm0tcmVzcG9uc2UuYm8nO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46IFwicm9vdFwiXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTaGFyZWRDb25uZWN0b3JTZXJ2aWNlIHtcclxuICBwdWJsaWMgYXJ0aWNsZUNvbm5lY3RvcjogQXJ0aWNsZXM7XHJcbiAgcHVibGljIHNoYXJlZENvbm5lY3RvcjogU2hhcmVkYXBpO1xyXG4gIHB1YmxpYyBtYWluQ29ubmVjdG9yOiBNYWluQXBpO1xyXG4gIHB1YmxpYyByZWxhdGlvbkNvbm5lY3RvcjogUmVsYXRpb25BcGk7XHJcblxyXG4gIHByaXZhdGUgX2JvRmFjdG9yeTogQnVzaW5lc3NPYmplY3RGYWN0b3J5ID0gbmV3IEJ1c2luZXNzT2JqZWN0RmFjdG9yeSgpO1xyXG5cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9vcHRpb25zU2VydmljZTogT3B0aW9uc1NlcnZpY2UsXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY29ubmVjdCgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMuc2hhcmVkQ29ubmVjdG9yID0gbmV3IFNoYXJlZGFwaSh0aGlzLl9vcHRpb25zU2VydmljZS5vcHRpb25zKTtcclxuICAgIGF3YWl0IHRoaXMuc2hhcmVkQ29ubmVjdG9yLmNvbm5lY3QoKTtcclxuICAgIHRoaXMuYXJ0aWNsZUNvbm5lY3RvciA9IG5ldyBBcnRpY2xlcyh0aGlzLl9vcHRpb25zU2VydmljZS5vcHRpb25zKTtcclxuICAgIHRoaXMubWFpbkNvbm5lY3RvciA9IG5ldyBNYWluQXBpKHRoaXMuX29wdGlvbnNTZXJ2aWNlLm9wdGlvbnMpO1xyXG4gICAgdGhpcy5yZWxhdGlvbkNvbm5lY3RvciA9IG5ldyBSZWxhdGlvbkFwaSh0aGlzLl9vcHRpb25zU2VydmljZS5vcHRpb25zKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRDb25maWd1cmF0aW9uKG1vZHVsZTogc3RyaW5nLCBwYXJhbXM6IHN0cmluZ1tdKTogUHJvbWlzZTxPYmplY3RDb25maWd1cmF0aW9uW10+IHtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMubWFpbkNvbm5lY3Rvci5nZXRPYmplY3RDb25maWd1cmF0aW9ucyhtb2R1bGUsIHBhcmFtcyk7XHJcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuX2JvRmFjdG9yeS5tYWtlQk9BcnJheUZyb21SYXdCYWNrZW5kRGF0YUFycmF5KE9iamVjdENvbmZpZ3VyYXRpb24sIHJlc3BvbnNlLnJlc3VsdE9iamVjdHMpIGFzIE9iamVjdENvbmZpZ3VyYXRpb25bXTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRBbGxQcmludGVycygpOiBQcm9taXNlPFByaW50ZXJbXT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5tYWluQ29ubmVjdG9yLmxpc3RBbGxQcmludGVycygpLnRoZW4oKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgaWYgKHJlc3VsdC5yZXN1bHRPYmplY3QpIHtcclxuICAgICAgICAgICAgcmVzb2x2ZSh0aGlzLl9ib0ZhY3RvcnkubWFrZUJPQXJyYXlGcm9tUmF3QmFja2VuZERhdGFBcnJheShQcmludGVyLCByZXN1bHQucmVzdWx0T2JqZWN0KSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJlamVjdChyZXN1bHQudmFsaWRhdGlvbk1lc3NhZ2VzQXNTdHJpbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXREZWZhdWx0UHJpbnRlcihyZXBvcnRJZDogbnVtYmVyLCBsYXlvdXRDb2RlOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5tYWluQ29ubmVjdG9yLmdldFN0YW5kYXJkUHJpbnRlcihyZXBvcnRJZCwgbGF5b3V0Q29kZSk7XHJcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgaWYocmVzcG9uc2UucmVzdWx0T2JqZWN0ICYmIHJlc3BvbnNlLnJlc3VsdE9iamVjdD8ubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIHJldHVybiByZXNwb25zZS5yZXN1bHRPYmplY3Q7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFNlbmRNZXRob2RzKCk6IFByb21pc2U8U2VuZE1ldGhvZFtdPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLm1haW5Db25uZWN0b3IuZ2V0U2VuZE1ldGhvZHMoKS50aGVuKChyZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgIGlmIChyZXN1bHQucmVzdWx0T2JqZWN0ICYmIHJlc3VsdC5yZXN1bHRPYmplY3QucmVzdWx0KSB7XHJcbiAgICAgICAgICAgIHJlc29sdmUodGhpcy5fYm9GYWN0b3J5Lm1ha2VCT0FycmF5RnJvbVJhd0JhY2tlbmREYXRhQXJyYXkoU2VuZE1ldGhvZCwgcmVzdWx0LnJlc3VsdE9iamVjdC5yZXN1bHQpKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmVqZWN0KHJlc3VsdC52YWxpZGF0aW9uTWVzc2FnZXNBc1N0cmluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFNjcmVlbkNvbmZpZ1RyZWUoKTogUHJvbWlzZTxhbnk+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuc2hhcmVkQ29ubmVjdG9yLmdldENvbmZpZ1RyZWVPYmplY3QoJ1QnLCAnSlMnKS50aGVuKChyZXN1bHQ6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgICAgICBpZiAocmVzdWx0LnJlc3VsdE9iamVjdHMpIHtcclxuICAgICAgICAgICAgcmVzb2x2ZShyZXN1bHQucmVzdWx0T2JqZWN0cyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJlamVjdChyZXN1bHQudmFsaWRhdGlvbk1lc3NhZ2VzQXNTdHJpbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRTY3JlZW5Db25maWdTdWJSdWJyaWMocGFyZW50UnVicmljSWQ6IG51bWJlciwgY29uZmlnSWQ6IG51bWJlciwgZml4ZWRLZXk6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLnNoYXJlZENvbm5lY3Rvci5nZXRDb25maWdTdWJSdWJyaWMocGFyZW50UnVicmljSWQsIGNvbmZpZ0lkLCBmaXhlZEtleSkudGhlbigocmVzdWx0OiBhbnkpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgaWYgKHJlc3VsdC5yZXN1bHRPYmplY3RzKSB7XHJcbiAgICAgICAgICAgIHJlc29sdmUocmVzdWx0LnJlc3VsdE9iamVjdHMpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZWplY3QocmVzdWx0LnZhbGlkYXRpb25NZXNzYWdlc0FzU3RyaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0VGFnc0Z1bGxUcmVlKGNhdGVnb3J5OiBUYWdDYXRlZ29yeSwgaW5jbHVkZVRhZ3M6IGJvb2xlYW4pOiBQcm9taXNlPFRhZ1RyZWVJdGVtW10+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMubWFpbkNvbm5lY3Rvci5nZXRUYWdzRnVsbFRyZWUoY2F0ZWdvcnksIGluY2x1ZGVUYWdzKS50aGVuKChyZXN1bHQ6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgICAgICBpZiAocmVzdWx0LnJlc3VsdE9iamVjdHMpIHtcclxuICAgICAgICAgICAgcmVzb2x2ZSh0aGlzLl9ib0ZhY3RvcnkubWFrZUJPQXJyYXlGcm9tUmF3QmFja2VuZERhdGFBcnJheShUYWdUcmVlSXRlbSwgcmVzdWx0LnJlc3VsdE9iamVjdHMpKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmVqZWN0KHJlc3VsdC52YWxpZGF0aW9uTWVzc2FnZXNBc1N0cmluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldENvbXBvbmVudEFjdGl2aXRpZXNXaXRob3V0UmVsYXRpb25GaWx0ZXJpbmcodGFibGU6IFRhYmxlTmFtZSwga2V5OiBzdHJpbmcpOiBQcm9taXNlPEFjdGl2aXR5W10+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMubWFpbkNvbm5lY3Rvci5nZXRDb21wb25lbnRBY3Rpdml0aWVzV2l0aG91dFJlbGF0aW9uRmlsdGVyaW5nKHRhYmxlLCBrZXkpLnRoZW4oKHJlc3VsdDogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgICAgICByZXNvbHZlKHRoaXMuX2JvRmFjdG9yeS5tYWtlQk9BcnJheUZyb21SYXdCYWNrZW5kRGF0YUFycmF5KEFjdGl2aXR5LCByZXN1bHQucmVzdWx0T2JqZWN0KSBhcyB1bmtub3duIGFzIEFjdGl2aXR5W10pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZWplY3QocmVzdWx0LnZhbGlkYXRpb25NZXNzYWdlc0FzU3RyaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0UmVsYXRpb25TbWFsbE9iamVjdChyZWxhdGlvbklkOiBudW1iZXIpOiBQcm9taXNlPFJlbGF0aW9uU21hbGxPYmplY3Q+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMucmVsYXRpb25Db25uZWN0b3IuZ2V0UmVsYXRpb25TbWFsbE9iamVjdChyZWxhdGlvbklkKS50aGVuKChyZXN1bHQ6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgcmVzb2x2ZSh0aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShSZWxhdGlvblNtYWxsT2JqZWN0LCByZXN1bHQucmVzdWx0T2JqZWN0KSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJlamVjdChyZXN1bHQudmFsaWRhdGlvbk1lc3NhZ2VzQXNTdHJpbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRXb3JrZmxvd1N0YXR1c0ZvckFjdGl2aXR5KHRhYmxlOiBUYWJsZU5hbWUsIGtleTogc3RyaW5nLCBjb21wb25lbnQ6IHN0cmluZyApOiBQcm9taXNlPEFjdGl2aXR5V29ya2Zsb3c+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMubWFpbkNvbm5lY3Rvci5nZXRXb3JrZmxvd1N0YXR1c0ZvckFjdGl2aXR5KHRhYmxlLCBrZXksIGNvbXBvbmVudCkudGhlbihhc3luYyAocmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgcmVzb2x2ZSh0aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShBY3Rpdml0eVdvcmtmbG93LCByZXN1bHQucmVzdWx0T2JqZWN0KSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJlamVjdChyZXN1bHQudmFsaWRhdGlvbk1lc3NhZ2VzQXNTdHJpbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBpbnNlcnRBY3Rpdml0eShhY3Rpdml0eTogQWN0aXZpdHkpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMubWFpbkNvbm5lY3Rvci5pbnNlcnRBY3Rpdml0eShhY3Rpdml0eSkudGhlbihhc3luYyAocmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSkgPT4ge1xyXG4gICAgICAgIHJlc29sdmUocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQpO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGluc2VydFdvcmsoYWN0aXZpdHk6IEFjdGl2aXR5KTogUHJvbWlzZTxXb3JrPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLm1haW5Db25uZWN0b3IuaW5zZXJ0QWN0aXZpdHkoYWN0aXZpdHkpLnRoZW4oYXN5bmMgKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgIHJlc29sdmUodGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoV29yaywgcmVzdWx0LnJlc3VsdE9iamVjdCkpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZWplY3QocmVzdWx0LnZhbGlkYXRpb25NZXNzYWdlc0FzU3RyaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaW5zZXJ0UmVtYXJrKGFjdGl2aXR5OiBBY3Rpdml0eSk6IFByb21pc2U8UmVtYXJrPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLm1haW5Db25uZWN0b3IuaW5zZXJ0QWN0aXZpdHkoYWN0aXZpdHkpLnRoZW4oYXN5bmMgKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgIHJlc29sdmUodGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoUmVtYXJrLCByZXN1bHQucmVzdWx0T2JqZWN0KSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJlamVjdChyZXN1bHQudmFsaWRhdGlvbk1lc3NhZ2VzQXNTdHJpbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBpbnNlcnRUYXNrKGFjdGl2aXR5OiBBY3Rpdml0eSk6IFByb21pc2U8VGFzaz4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5tYWluQ29ubmVjdG9yLmluc2VydEFjdGl2aXR5KGFjdGl2aXR5KS50aGVuKGFzeW5jIChyZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgICAgICByZXNvbHZlKHRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKFRhc2ssIHJlc3VsdC5yZXN1bHRPYmplY3QpKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmVqZWN0KHJlc3VsdC52YWxpZGF0aW9uTWVzc2FnZXNBc1N0cmluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIHVwZGF0ZUFjdGl2aXR5KGFjdGl2aXR5OiBBY3Rpdml0eSk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5tYWluQ29ubmVjdG9yLnVwZGF0ZUFjdGl2aXR5KGFjdGl2aXR5KS50aGVuKGFzeW5jIChyZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgICAgICAgcmVzb2x2ZShyZXN1bHQudmFsaWRhdGlvblJlc3VsdCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZGVsZXRlQWN0aXZpdHkoYWN0aXZpdHk6IEFjdGl2aXR5KTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLm1haW5Db25uZWN0b3IuZGVsZXRlQWN0aXZpdHkoYWN0aXZpdHkpLnRoZW4oYXN5bmMgKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAgICAgICByZXNvbHZlKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0KTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBsb2NrVGFzayhpZDogbnVtYmVyKTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLm1haW5Db25uZWN0b3IubG9ja1Rhc2soaWQpLnRoZW4oYXN5bmMgKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAgICAgICByZXNvbHZlKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0KTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBmaXJlVHJpZ2dlcih3b3JrRmxvd1Byb2Nlc3NJZDogbnVtYmVyLCBzZXF1ZW5jZTogbnVtYmVyLCB0cmlnZ2VySWQ6IG51bWJlcik6IFByb21pc2U8VmFsaWRhdGlvblJlc3VsdD4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5tYWluQ29ubmVjdG9yLmZpcmVUcmlnZ2VyKHdvcmtGbG93UHJvY2Vzc0lkLCBzZXF1ZW5jZSwgdHJpZ2dlcklkKS50aGVuKGFzeW5jIChyZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgICAgICAgcmVzb2x2ZShyZXN1bHQudmFsaWRhdGlvblJlc3VsdCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZmlyZUdlbmVyaWNUcmlnZ2VyKHdvcmtGbG93UHJvY2Vzc0lkOiBudW1iZXIsIGdlbmVyaWNUcmFuc2l0aW9uSWQ6IG51bWJlciwgcmVsYXRpb25JZDogbnVtYmVyKTogUHJvbWlzZTxWYWxpZGF0aW9uUmVzdWx0PiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLm1haW5Db25uZWN0b3IuZmlyZUdlbmVyaWNUcmlnZ2VyKHdvcmtGbG93UHJvY2Vzc0lkLCBnZW5lcmljVHJhbnNpdGlvbklkLCByZWxhdGlvbklkKS50aGVuKGFzeW5jIChyZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgICAgICAgcmVzb2x2ZShyZXN1bHQudmFsaWRhdGlvblJlc3VsdCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0Sm9pbmVkVGFncyh0YWJsZTogc3RyaW5nLCBrZXk6IHN0cmluZyk6IFByb21pc2U8VGFnVHJlZUl0ZW1bXT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5tYWluQ29ubmVjdG9yLmdldEpvaW5lZFRhZ3ModGFibGUsIGtleSkudGhlbigocmVzdWx0OiBhbnkpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgaWYgKHJlc3VsdC5yZXN1bHRPYmplY3RzKSB7XHJcbiAgICAgICAgICAgIHJlc29sdmUodGhpcy5fYm9GYWN0b3J5Lm1ha2VCT0FycmF5RnJvbVJhd0JhY2tlbmREYXRhQXJyYXkoVGFnVHJlZUl0ZW0sIHJlc3VsdC5yZXN1bHRPYmplY3RzKSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJlamVjdChyZXN1bHQudmFsaWRhdGlvbk1lc3NhZ2VzQXNTdHJpbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXREb2N1bWVudENvbnRlbnQoaWQ6IG51bWJlciwgdGh1bWJuYWlsOiBib29sZWFuID0gdHJ1ZSk6IFByb21pc2U8c3RyaW5nPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLm1haW5Db25uZWN0b3IuZ2V0RG9jdW1lbnRDb250ZW50KGlkLCB0aHVtYm5haWwpLnRoZW4oKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgcmVzb2x2ZShyZXN1bHQucmVzdWx0T2JqZWN0LmRvY3VtZW50Q29udGVudCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJlamVjdChyZXN1bHQudmFsaWRhdGlvbk1lc3NhZ2VzQXNTdHJpbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8vIHB1YmxpYyBhc3luYyBnZXRQcmludFN0b2NrU3RpY2tlcnMocmVxdWVzdDogUHJpbnRTdG9ja1N0aWNrZXJzKTogUHJvbWlzZTxQcmludFN0b2NrU3RpY2tlcnM+IHtcclxuICAvLyAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAvLyAgICAgcmV0dXJuIHRoaXMuc2hhcmVkQ29ubmVjdG9yLmdldFByaW50U3RvY2tTdGlja2VycyhyZXF1ZXN0KS50aGVuKChyZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgLy8gICAgICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAvLyAgICAgICAgIGlmIChyZXN1bHQucmVzdWx0T2JqZWN0KSB7XHJcbiAgLy8gICAgICAgICAgIHJlc29sdmUodGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoUHJpbnRTdG9ja1N0aWNrZXJzLCByZXN1bHQucmVzdWx0T2JqZWN0KSk7XHJcbiAgLy8gICAgICAgICB9XHJcbiAgLy8gICAgICAgfSBlbHNlIHtcclxuICAvLyAgICAgICAgIHJlamVjdChyZXN1bHQudmFsaWRhdGlvbk1lc3NhZ2VzQXNTdHJpbmcpO1xyXG4gIC8vICAgICAgIH1cclxuICAvLyAgICAgfSlcclxuICAvLyAgIH0pXHJcbiAgLy8gfVxyXG5cclxuICAvLyBwdWJsaWMgYXN5bmMgZ2V0UHJpbnRQcmljZVN0aWNrZXJzKHJlcXVlc3Q6IFByaW50UHJpY2VTdGlja2Vycyk6IFByb21pc2U8UHJpbnRQcmljZVN0aWNrZXJzPiB7XHJcbiAgLy8gICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgLy8gICAgIHJldHVybiB0aGlzLnNoYXJlZENvbm5lY3Rvci5wcmludFByaWNlU3RpY2tlcnMocmVxdWVzdCkudGhlbigocmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSkgPT4ge1xyXG4gIC8vICAgICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgLy8gICAgICAgICBpZiAocmVzdWx0LnJlc3VsdE9iamVjdCkge1xyXG4gIC8vICAgICAgICAgICByZXNvbHZlKHRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKFByaW50UHJpY2VTdGlja2VycywgcmVzdWx0LnJlc3VsdE9iamVjdCkpO1xyXG4gIC8vICAgICAgICAgfVxyXG4gIC8vICAgICAgIH0gZWxzZSB7XHJcbiAgLy8gICAgICAgICByZWplY3QocmVzdWx0LnZhbGlkYXRpb25NZXNzYWdlc0FzU3RyaW5nKTtcclxuICAvLyAgICAgICB9XHJcbiAgLy8gICAgIH0pXHJcbiAgLy8gICB9KVxyXG4gIC8vIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFN0b2NrSGlzdG9yeShyZXF1ZXN0OiBHZXRTdG9ja0hpc3RvcnlSZXF1ZXN0KTogUHJvbWlzZTxTdG9ja0hpc3RvcnlCb1tdPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmFydGljbGVDb25uZWN0b3IuZ2V0U3RvY2tIaXN0b3J5KHJlcXVlc3QpLnRoZW4oKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgaWYgKHJlc3VsdC5yZXN1bHRPYmplY3QgJiYgcmVzdWx0LnJlc3VsdE9iamVjdC5oYXNPd25Qcm9wZXJ0eShcInN0b2NrSGlzdG9yeVwiKSkge1xyXG4gICAgICAgICAgICByZXNvbHZlKHRoaXMuX2JvRmFjdG9yeS5tYWtlQk9BcnJheUZyb21SYXdCYWNrZW5kRGF0YUFycmF5KFN0b2NrSGlzdG9yeUJvLCByZXN1bHQucmVzdWx0T2JqZWN0LnN0b2NrSGlzdG9yeSkpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZWplY3QocmVzdWx0LnZhbGlkYXRpb25NZXNzYWdlc0FzU3RyaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFN0b2NrSW5mb3JtYXRpb24oZGF0YTogQXJ0aWNsZVN0b2NrKTogUHJvbWlzZTxBcnRpY2xlU3RvY2tCb1tdPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmFydGljbGVDb25uZWN0b3IuZ2V0U3RvY2tJbmZvcm1hdGlvbihkYXRhKS50aGVuKChyZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgIGlmIChyZXN1bHQucmVzdWx0T2JqZWN0cykge1xyXG4gICAgICAgICAgICByZXNvbHZlKHRoaXMuX2JvRmFjdG9yeS5tYWtlQk9BcnJheUZyb21SYXdCYWNrZW5kRGF0YUFycmF5KEFydGljbGVTdG9ja0JvLCByZXN1bHQucmVzdWx0T2JqZWN0cykpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZWplY3QocmVzdWx0LnZhbGlkYXRpb25NZXNzYWdlc0FzU3RyaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0QXJ0U3RvY2tTdGF0dXMoZ29vZElkOiBudW1iZXIsIGJyYW5jaE5vPzogc3RyaW5nLCByZXF1ZXN0ZWRBbW91bnQ/OiBudW1iZXIsIHdhcmVob3VzZUlkPzogbnVtYmVyKTogUHJvbWlzZTxudW1iZXI+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuYXJ0aWNsZUNvbm5lY3Rvci5nZXRBcnRTdG9ja1N0YXR1cyhnb29kSWQsIGJyYW5jaE5vLCByZXF1ZXN0ZWRBbW91bnQsIHdhcmVob3VzZUlkKS50aGVuKChyZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgIGlmIChyZXN1bHQucmVzdWx0T2JqZWN0KSB7XHJcbiAgICAgICAgICAgIHJlc29sdmUocmVzdWx0LnJlc3VsdE9iamVjdCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJlamVjdChyZXN1bHQudmFsaWRhdGlvbk1lc3NhZ2VzQXNTdHJpbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRBcnRpY2xlRmxhdChza3U6IHN0cmluZyk6IFByb21pc2U8QXJ0aWNsZUZsYXQ+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuYXJ0aWNsZUNvbm5lY3Rvci5nZXRBcnRpY2xlRmxhdChza3UpLnRoZW4oKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgaWYgKHJlc3VsdC5yZXN1bHRPYmplY3QpIHtcclxuICAgICAgICAgICAgcmVzb2x2ZShyZXN1bHQucmVzdWx0T2JqZWN0KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmVqZWN0KHJlc3VsdC52YWxpZGF0aW9uTWVzc2FnZXNBc1N0cmluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIHNlYXJjaEFydGljbGVzKHJlcXVlc3Q6IEFydGljbGVFeHRlbmRlZFJlcXVlc3QpOiBQcm9taXNlPEFydGljbGVFeHRlbmRlZFtdPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmFydGljbGVDb25uZWN0b3Iuc2VhcmNoQXJ0aWNsZXMocmVxdWVzdCwgZmFsc2UpLnRoZW4oKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgaWYgKHJlc3VsdC5yZXN1bHRPYmplY3RzKSB7XHJcbiAgICAgICAgICAgIHJlc29sdmUodGhpcy5fYm9GYWN0b3J5Lm1ha2VCT0FycmF5RnJvbVJhd0JhY2tlbmREYXRhQXJyYXkoU3RvY2tNYW5hZ2VtZW50V2FyZWhvdXNlcywgcmVzdWx0LnJlc3VsdE9iamVjdHMpKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmVqZWN0KHJlc3VsdC52YWxpZGF0aW9uTWVzc2FnZXNBc1N0cmluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFN0b2NrTWFuYWdlbWVudFdhcmVob3VzZXMoKTogUHJvbWlzZTxTdG9ja01hbmFnZW1lbnRXYXJlaG91c2VzW10+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuYXJ0aWNsZUNvbm5lY3Rvci5nZXRTdG9ja01hbmFnZW1lbnRXYXJlaG91c2VzKCkudGhlbigocmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgICAgICBpZiAocmVzdWx0LnJlc3VsdE9iamVjdHMpIHtcclxuICAgICAgICAgICAgcmVzb2x2ZSh0aGlzLl9ib0ZhY3RvcnkubWFrZUJPQXJyYXlGcm9tUmF3QmFja2VuZERhdGFBcnJheShTdG9ja01hbmFnZW1lbnRXYXJlaG91c2VzLCByZXN1bHQucmVzdWx0T2JqZWN0cykpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZWplY3QocmVzdWx0LnZhbGlkYXRpb25NZXNzYWdlc0FzU3RyaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0U3RvY2tNYW5hZ2VtZW50TG9jYXRpb25zKHdhcmVob3VzZU5vOiBudW1iZXIpOiBQcm9taXNlPFN0b2NrTG9jYXRpb25bXT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5hcnRpY2xlQ29ubmVjdG9yLmdldFN0b2NrTWFuYWdlbWVudExvY2F0aW9ucyh3YXJlaG91c2VObykudGhlbigocmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgICAgICBpZiAocmVzdWx0LnJlc3VsdE9iamVjdHMpIHtcclxuICAgICAgICAgICAgcmVzb2x2ZSh0aGlzLl9ib0ZhY3RvcnkubWFrZUJPQXJyYXlGcm9tUmF3QmFja2VuZERhdGFBcnJheShTdG9ja0xvY2F0aW9uLCByZXN1bHQucmVzdWx0T2JqZWN0cykpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZWplY3QocmVzdWx0LnZhbGlkYXRpb25NZXNzYWdlc0FzU3RyaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvLyBwdWJsaWMgYXN5bmMgZ2V0T3JkZXJDb25maXJtYXRpb25EZWZhdWx0U2VuZE1ldGhvZChyZWxhdGlvbklkOiBudW1iZXIpOiBQcm9taXNlPG51bWJlcj4ge1xyXG4gIC8vICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gIC8vICAgICByZXR1cm4gdGhpcy5zaGFyZWRDb25uZWN0b3IuZ2V0T3JkZXJDb25maXJtYXRpb25EZWZhdWx0U2VuZE1ldGhvZChyZWxhdGlvbklkKS50aGVuKChyZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgLy8gICAgICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAvLyAgICAgICAgIGlmIChyZXN1bHQucmVzdWx0T2JqZWN0KSB7XHJcbiAgLy8gICAgICAgICAgIHJlc29sdmUgKHJlc3VsdC5yZXN1bHRPYmplY3QpO1xyXG4gIC8vICAgICAgICAgfVxyXG4gIC8vICAgICAgIH0gZWxzZSB7XHJcbiAgLy8gICAgICAgICByZWplY3QocmVzdWx0LnZhbGlkYXRpb25NZXNzYWdlc0FzU3RyaW5nKTtcclxuICAvLyAgICAgICB9XHJcbiAgLy8gICAgIH0pO1xyXG4gIC8vICAgfSk7XHJcbiAgLy8gfVxyXG5cclxuICAvLyBwdWJsaWMgYXN5bmMgZ2V0RGVmYXVsdEVtYWlsQWRkcmVzc0xpc3RGb3JPcmRlckNvbmZpcm1hdGlvbih0cmFuc2FjdGlvblVVSUQ6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nW10+IHtcclxuICAvLyAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAvLyAgICAgcmV0dXJuIHRoaXMuc2hhcmVkQ29ubmVjdG9yLmdldERlZmF1bHRFbWFpbEFkZHJlc3NMaXN0Rm9yT3JkZXJDb25maXJtYXRpb24odHJhbnNhY3Rpb25VVUlEKS50aGVuKChyZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgLy8gICAgICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAvLyAgICAgICAgIGlmIChyZXN1bHQucmVzdWx0T2JqZWN0KSB7XHJcbiAgLy8gICAgICAgICAgIHJlc29sdmUgKHJlc3VsdC5yZXN1bHRPYmplY3QpO1xyXG4gIC8vICAgICAgICAgfVxyXG4gIC8vICAgICAgIH0gZWxzZSB7XHJcbiAgLy8gICAgICAgICByZWplY3QocmVzdWx0LnZhbGlkYXRpb25NZXNzYWdlc0FzU3RyaW5nKTtcclxuICAvLyAgICAgICB9XHJcbiAgLy8gICAgIH0pO1xyXG4gIC8vICAgfSk7XHJcbiAgLy8gfVxyXG5cclxuICAvLyBwdWJsaWMgYXN5bmMgZ2V0UHVyY2hhc2VPcmRlckVtYWlsTGF5b3V0cyh0cmFuc2FjdGlvblVVSUQ6IHN0cmluZyk6IFByb21pc2U8U3RvY2tTdGlja2Vyc0VtYWlsTGF5b3V0c1tdPiB7XHJcbiAgLy8gICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgLy8gICAgIHJldHVybiB0aGlzLnNoYXJlZENvbm5lY3Rvci5nZXRQdXJjaGFzZU9yZGVyRW1haWxMYXlvdXRzKHRyYW5zYWN0aW9uVVVJRCkudGhlbigocmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSkgPT4ge1xyXG4gIC8vICAgICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgLy8gICAgICAgICBpZiAocmVzdWx0LnJlc3VsdE9iamVjdCkge1xyXG4gIC8vICAgICAgICAgICByZXNvbHZlIChyZXN1bHQucmVzdWx0T2JqZWN0KTtcclxuICAvLyAgICAgICAgIH1cclxuICAvLyAgICAgICB9IGVsc2Uge1xyXG4gIC8vICAgICAgICAgcmVqZWN0KHJlc3VsdC52YWxpZGF0aW9uTWVzc2FnZXNBc1N0cmluZyk7XHJcbiAgLy8gICAgICAgfVxyXG4gIC8vICAgICB9KTtcclxuICAvLyAgIH0pO1xyXG4gIC8vIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldEFydGljbGVEZXRhaWxzKGRhdGE6IEFydGljbGVTdG9ja01hbmFnZW1lbnQpOiBQcm9taXNlPEFydGljbGVEZXRhaWxzQm9bXT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5hcnRpY2xlQ29ubmVjdG9yLmdldEFydGljbGVEZXRhaWxzKGRhdGEpLnRoZW4oKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgaWYgKHJlc3VsdC5yZXN1bHRPYmplY3RzKSB7XHJcbiAgICAgICAgICAgIHJlc29sdmUodGhpcy5fYm9GYWN0b3J5Lm1ha2VCT0FycmF5RnJvbVJhd0JhY2tlbmREYXRhQXJyYXkoQXJ0aWNsZURldGFpbHNCbywgcmVzdWx0LnJlc3VsdE9iamVjdHMpKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmVqZWN0KHJlc3VsdC52YWxpZGF0aW9uTWVzc2FnZXNBc1N0cmluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIHVwZGF0ZUFydGljbGVEZXRhaWxzKGRhdGE6IEFydGljbGVEZXRhaWxzQm8pOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuYXJ0aWNsZUNvbm5lY3Rvci51cGRhdGVBcnRpY2xlRGV0YWlscyhkYXRhKS50aGVuKGFzeW5jIChyZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgIGF3YWl0IHRoaXMuY29tbWl0KCk7XHJcbiAgICAgICAgICByZXNvbHZlKHRydWUpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZWplY3QocmVzdWx0LnZhbGlkYXRpb25NZXNzYWdlc0FzU3RyaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHB1YmxpYyBhc3luYyBsb2NrQXJ0aWNsZURldGFpbHMoZGF0YTogQXJ0aWNsZVN0b2NrTWFuYWdlbWVudCk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5hcnRpY2xlQ29ubmVjdG9yLmxvY2tBcnRpY2xlRGV0YWlscyhkYXRhKS50aGVuKGFzeW5jIChyZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgIGF3YWl0IHRoaXMuY29tbWl0KCk7XHJcbiAgICAgICAgICByZXNvbHZlKHRydWUpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZWplY3QocmVzdWx0LnZhbGlkYXRpb25NZXNzYWdlc0FzU3RyaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFN0b2NrU3RhdHVzKCk6IFByb21pc2U8U3RvY2tTdGF0dXNbXT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5hcnRpY2xlQ29ubmVjdG9yLmdldFN0b2NrU3RhdGUoKS50aGVuKChyZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgIGlmIChyZXN1bHQucmVzdWx0T2JqZWN0cykge1xyXG4gICAgICAgICAgICByZXNvbHZlKHRoaXMuX2JvRmFjdG9yeS5tYWtlQk9BcnJheUZyb21SYXdCYWNrZW5kRGF0YUFycmF5KFN0b2NrU3RhdHVzLCByZXN1bHQucmVzdWx0T2JqZWN0cykpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZWplY3QocmVzdWx0LnZhbGlkYXRpb25NZXNzYWdlc0FzU3RyaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvLyBwdWJsaWMgYXN5bmMgZ2V0U3RvY2tTdGlja2VyVGVtcGxhdGVzKGRhdGE6IFN0b2NrU3RpY2tlcnNQcmludExheW91dHMpOiBQcm9taXNlPFN0b2NrU3RpY2tlcnNQcmludExheW91dHNbXT4ge1xyXG4gIC8vICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gIC8vICAgICByZXR1cm4gdGhpcy5tYWluQ29ubmVjdG9yLmdldFN0b2NrU3RpY2tlclByaW50TGF5b3V0cyhkYXRhKS50aGVuKChyZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgLy8gICAgICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAvLyAgICAgICAgIGlmIChyZXN1bHQucmVzdWx0T2JqZWN0KSB7XHJcbiAgLy8gICAgICAgICAgIHJlc29sdmUodGhpcy5fYm9GYWN0b3J5Lm1ha2VCT0FycmF5RnJvbVJhd0JhY2tlbmREYXRhQXJyYXkoU3RvY2tTdGlja2Vyc1ByaW50TGF5b3V0cywgcmVzdWx0LnJlc3VsdE9iamVjdCkpO1xyXG4gIC8vICAgICAgICAgfVxyXG4gIC8vICAgICAgIH0gZWxzZSB7XHJcbiAgLy8gICAgICAgICByZWplY3QocmVzdWx0LnZhbGlkYXRpb25NZXNzYWdlc0FzU3RyaW5nKTtcclxuICAvLyAgICAgICB9XHJcbiAgLy8gICAgIH0pO1xyXG4gIC8vICAgfSk7XHJcbiAgLy8gfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0QXJ0aWNsZVRyYW5zYWN0aW9uKGRhdGE6IEFydGljbGVUcmFuc2FjdGlvbik6IFByb21pc2U8QXJ0aWNsZVRyYW5zYWN0aW9uQm9bXT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5hcnRpY2xlQ29ubmVjdG9yLmdldEFydGljbGVUcmFuc2FjdGlvbihkYXRhKS50aGVuKChyZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgIGlmIChyZXN1bHQucmVzdWx0T2JqZWN0cykge1xyXG4gICAgICAgICAgICByZXNvbHZlKHRoaXMuX2JvRmFjdG9yeS5tYWtlQk9BcnJheUZyb21SYXdCYWNrZW5kRGF0YUFycmF5KEFydGljbGVUcmFuc2FjdGlvbkJvLCByZXN1bHQucmVzdWx0T2JqZWN0cykpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZWplY3QocmVzdWx0LnZhbGlkYXRpb25NZXNzYWdlc0FzU3RyaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0U3RvY2tQcm9nbm9zZShnb29kSWQ6IG51bWJlciwgd2FyZWhvdXNlTnVtYmVyOiBudW1iZXIpOiBQcm9taXNlPFN0b2NrRm9yZWNhc3RbXT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5hcnRpY2xlQ29ubmVjdG9yLmdldFN0b2NrRm9yZWNhc3QoZ29vZElkLCB3YXJlaG91c2VOdW1iZXIpLnRoZW4oKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgaWYgKHJlc3VsdC5yZXN1bHRPYmplY3RzKSB7XHJcbiAgICAgICAgICAgIHJlc29sdmUocmVzdWx0LnJlc3VsdE9iamVjdHMpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZWplY3QocmVzdWx0LnZhbGlkYXRpb25NZXNzYWdlc0FzU3RyaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0UmVsYXRpb25MaXN0T2JqZWN0cyhyZXF1ZXN0OiBSZWxhdGlvblJlcXVlc3QpOiBQcm9taXNlPFJlbGF0aW9uTGlzdE9iamVjdFtdPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIHJldHVybiAgdGhpcy5yZWxhdGlvbkNvbm5lY3Rvci5nZXRSZWxhdGlvbkxpc3RPYmplY3RzKHJlcXVlc3QsIGZhbHNlICkudGhlbigocmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgICAgICBpZiAocmVzdWx0LnJlc3VsdE9iamVjdHMpIHtcclxuICAgICAgICAgICAgcmVzb2x2ZSh0aGlzLl9ib0ZhY3RvcnkubWFrZUJPQXJyYXlGcm9tUmF3QmFja2VuZERhdGFBcnJheShSZWxhdGlvbkxpc3RPYmplY3QsIHJlc3VsdC5yZXN1bHRPYmplY3RzKSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJlamVjdChyZXN1bHQudmFsaWRhdGlvbk1lc3NhZ2VzQXNTdHJpbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRUYXNrQ2F0ZWdvcmllcygpOiBQcm9taXNlPFRhc2tDYXRlZ29yeVtdPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLm1haW5Db25uZWN0b3IuZ2V0VGFza0NhdGVnb3JpZXMoKS50aGVuKChyZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgIGlmIChyZXN1bHQucmVzdWx0T2JqZWN0cykge1xyXG4gICAgICAgICAgICByZXNvbHZlKHRoaXMuX2JvRmFjdG9yeS5tYWtlQk9BcnJheUZyb21SYXdCYWNrZW5kRGF0YUFycmF5KFRhc2tDYXRlZ29yeSwgcmVzdWx0LnJlc3VsdE9iamVjdHMpKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmVqZWN0KHJlc3VsdC52YWxpZGF0aW9uTWVzc2FnZXNBc1N0cmluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldEFjdGl2ZVByb2Nlc3Nlc0J5VGFibGVBbmRLZXkodGFibGU6IFRhYmxlTmFtZSwga2V5OiBzdHJpbmcpOiBQcm9taXNlPFdvcmtmbG93UHJvY2Vzc1tdPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLm1haW5Db25uZWN0b3IuZ2V0QWN0aXZlUHJvY2Vzc2VzQnlUYWJsZUFuZEtleSh0YWJsZSwga2V5KS50aGVuKChyZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgIGlmIChyZXN1bHQucmVzdWx0T2JqZWN0cykge1xyXG4gICAgICAgICAgICByZXNvbHZlKHRoaXMuX2JvRmFjdG9yeS5tYWtlQk9BcnJheUZyb21SYXdCYWNrZW5kRGF0YUFycmF5KFdvcmtmbG93UHJvY2VzcywgcmVzdWx0LnJlc3VsdE9iamVjdHMpKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmVqZWN0KHJlc3VsdC52YWxpZGF0aW9uTWVzc2FnZXNBc1N0cmluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldERvbWFpbkNvbGxlY3Rpb24obGFuZ3VhZ2VDb2RlOiBzdHJpbmcsIGRvbWFpbjogRG9tYWluTmFtZSk6IFByb21pc2U8Q29Eb21haW5WYWx1ZVtdPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLm1haW5Db25uZWN0b3IuZ2V0RG9tYWluQ29sbGVjdGlvbihsYW5ndWFnZUNvZGUsIGRvbWFpbikudGhlbigocmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgICAgICBpZiAocmVzdWx0LnJlc3VsdE9iamVjdHMpIHtcclxuICAgICAgICAgICAgcmVzb2x2ZSh0aGlzLl9ib0ZhY3RvcnkubWFrZUJPQXJyYXlGcm9tUmF3QmFja2VuZERhdGFBcnJheShDb0RvbWFpblZhbHVlLCByZXN1bHQucmVzdWx0T2JqZWN0cykpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZWplY3QocmVzdWx0LnZhbGlkYXRpb25NZXNzYWdlc0FzU3RyaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0Um9sZUVtYWlsQWRkcmVzc2VzQnlXb3JrZmxvd0NhdGVnb3J5QW5kS2V5KHdvcmtmbG93Q2F0ZWdvcnk6IHN0cmluZywga2V5OiBzdHJpbmcpOiBQcm9taXNlPFJvbGVFbWFpbGFkZHJlc3NbXT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5tYWluQ29ubmVjdG9yLmdldFJvbGVFbWFpbEFkZHJlc3Nlc0J5V29ya2Zsb3dDYXRlZ29yeUFuZEtleSh3b3JrZmxvd0NhdGVnb3J5LCBrZXkpLnRoZW4oKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgaWYgKHJlc3VsdC5yZXN1bHRPYmplY3QpIHtcclxuICAgICAgICAgICAgcmVzb2x2ZSh0aGlzLl9ib0ZhY3RvcnkubWFrZUJPQXJyYXlGcm9tUmF3QmFja2VuZERhdGFBcnJheShSb2xlRW1haWxhZGRyZXNzLCByZXN1bHQucmVzdWx0T2JqZWN0KSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJlamVjdChyZXN1bHQudmFsaWRhdGlvbk1lc3NhZ2VzQXNTdHJpbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRFbWFpbFNlbmRlckJ5V29ya2Zsb3dDYXRlZ29yeUFuZEtleSh3b3JsZmxvd0NhdGVnb3J5OiBzdHJpbmcsIGtleTogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMubWFpbkNvbm5lY3Rvci5nZXRFbWFpbFNlbmRlckJ5V29ya2Zsb3dDYXRlZ29yeUFuZEtleSh3b3JsZmxvd0NhdGVnb3J5LCBrZXkpLnRoZW4oKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgcmVzb2x2ZShyZXN1bHQucmVzdWx0T2JqZWN0KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmVqZWN0KHJlc3VsdC52YWxpZGF0aW9uTWVzc2FnZXNBc1N0cmluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFJlcG9ydFRlbXBsYXRlcyhyZXBvcnRUZW1wbGF0ZXNSZXF1ZXN0OiBTZWxlY3RSZXBvcnRUZW1wbGF0ZXNSZXF1ZXN0KTogUHJvbWlzZTxSZXBvcnRbXT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5tYWluQ29ubmVjdG9yLmdldFJlcG9ydFRlbXBsYXRlcyhyZXBvcnRUZW1wbGF0ZXNSZXF1ZXN0KS50aGVuKChyZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgIGlmIChyZXN1bHQucmVzdWx0T2JqZWN0cykge1xyXG4gICAgICAgICAgICByZXNvbHZlKHRoaXMuX2JvRmFjdG9yeS5tYWtlQk9BcnJheUZyb21SYXdCYWNrZW5kRGF0YUFycmF5KFJlcG9ydCwgcmVzdWx0LnJlc3VsdE9iamVjdHMpKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmVqZWN0KHJlc3VsdC52YWxpZGF0aW9uTWVzc2FnZXNBc1N0cmluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGVtYWlsUmVwb3J0KGVtYWlsSm9iOiBFbWFpbEpvYik6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgICBjb25zdCByZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5tYWluQ29ubmVjdG9yLmVtYWlsUmVwb3J0KGVtYWlsSm9iKTtcclxuICAgICAgaWYgKHJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh0cnVlKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGZhbHNlKTtcclxuICAgICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGVtYWlsQWN0aXZpdHkocmVxdWVzdDogRW1haWxBY3Rpdml0eVJlcXVlc3QpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgIGNvbnN0IHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLm1haW5Db25uZWN0b3IuZW1haWxBY3Rpdml0eShyZXF1ZXN0KTtcclxuICAgIGlmIChyZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRydWUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShmYWxzZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaW5zZXJ0RW1haWxIaXN0b3J5Rm9yUmVtYXJrKGhpc3Rvcnk6IEFjdGl2aXR5RW1haWxIaXN0b3J5KTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLm1haW5Db25uZWN0b3IuaW5zZXJ0RW1haWxIaXN0b3J5Rm9yUmVtYXJrKGhpc3RvcnkpLnRoZW4oKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgcmVzb2x2ZShyZXN1bHQucmVzdWx0T2JqZWN0KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmVqZWN0KHJlc3VsdC52YWxpZGF0aW9uTWVzc2FnZXNBc1N0cmluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGluc2VydEVtYWlsSGlzdG9yeUZvcldvcmsoaGlzdG9yeTogQWN0aXZpdHlFbWFpbEhpc3RvcnkpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMubWFpbkNvbm5lY3Rvci5pbnNlcnRFbWFpbEhpc3RvcnlGb3JXb3JrKGhpc3RvcnkpLnRoZW4oKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgcmVzb2x2ZShyZXN1bHQucmVzdWx0T2JqZWN0KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmVqZWN0KHJlc3VsdC52YWxpZGF0aW9uTWVzc2FnZXNBc1N0cmluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGluc2VydEVtYWlsSGlzdG9yeUZvclRhc2soaGlzdG9yeTogQWN0aXZpdHlFbWFpbEhpc3RvcnkpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMubWFpbkNvbm5lY3Rvci5pbnNlcnRFbWFpbEhpc3RvcnlGb3JUYXNrKGhpc3RvcnkpLnRoZW4oKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgcmVzb2x2ZShyZXN1bHQucmVzdWx0T2JqZWN0KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmVqZWN0KHJlc3VsdC52YWxpZGF0aW9uTWVzc2FnZXNBc1N0cmluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRXb3JrZmxvd1Byb2Nlc3NJbmZvUGVyU3RhdHVzKHdvcmxmbG93Q2F0ZWdvcnk6IHN0cmluZyk6IFByb21pc2U8V29ya2Zsb3dQcm9jZXNzSW5mb1BlclN0YXR1c1tdPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLm1haW5Db25uZWN0b3IuZ2V0V29ya2Zsb3dQcm9jZXNzSW5mb1BlclN0YXR1cyh3b3JsZmxvd0NhdGVnb3J5KS50aGVuKChyZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgIGlmIChyZXN1bHQucmVzdWx0T2JqZWN0KSB7XHJcbiAgICAgICAgICAgIHJlc29sdmUodGhpcy5fYm9GYWN0b3J5Lm1ha2VCT0FycmF5RnJvbVJhd0JhY2tlbmREYXRhQXJyYXkoV29ya2Zsb3dQcm9jZXNzSW5mb1BlclN0YXR1cywgcmVzdWx0LnJlc3VsdE9iamVjdCkpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZWplY3QocmVzdWx0LnZhbGlkYXRpb25NZXNzYWdlc0FzU3RyaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0SGlzdG9yaWNBY3Rpdml0aWVzKHRhYmxlOiBUYWJsZU5hbWUsIGtleTogc3RyaW5nKTogUHJvbWlzZTxBY3Rpdml0eVtdPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLm1haW5Db25uZWN0b3IuZ2V0SGlzdG9yaWNBY3Rpdml0aWVzKHRhYmxlLCBrZXkpLnRoZW4oKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgaWYgKHJlc3VsdC5yZXN1bHRPYmplY3QpIHtcclxuICAgICAgICAgICAgcmVzb2x2ZSh0aGlzLl9ib0ZhY3RvcnkubWFrZUJPQXJyYXlGcm9tUmF3QmFja2VuZERhdGFBcnJheShBY3Rpdml0eSwgcmVzdWx0LnJlc3VsdE9iamVjdCkpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZWplY3QocmVzdWx0LnZhbGlkYXRpb25NZXNzYWdlc0FzU3RyaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0Q29tcG9uZW50QWN0aXZpdGllcyh0YWJsZTogVGFibGVOYW1lLCBrZXk6IHN0cmluZyk6IFByb21pc2U8QWN0aXZpdHlbXT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5tYWluQ29ubmVjdG9yLmdldENvbXBvbmVudEFjdGl2aXRpZXModGFibGUsIGtleSkudGhlbigocmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgICAgICBpZiAocmVzdWx0LnJlc3VsdE9iamVjdCkge1xyXG4gICAgICAgICAgICByZXNvbHZlKHRoaXMuX2JvRmFjdG9yeS5tYWtlQk9BcnJheUZyb21SYXdCYWNrZW5kRGF0YUFycmF5KEFjdGl2aXR5LCByZXN1bHQucmVzdWx0T2JqZWN0KSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJlamVjdChyZXN1bHQudmFsaWRhdGlvbk1lc3NhZ2VzQXNTdHJpbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRGb3JtQnlJZChmb3JtSWQ6IG51bWJlcik6IFByb21pc2U8Rm9ybT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5tYWluQ29ubmVjdG9yLmdldEZvcm1CeUlkKGZvcm1JZCkudGhlbigocmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgICAgICBpZiAocmVzdWx0LnJlc3VsdE9iamVjdCkge1xyXG4gICAgICAgICAgICByZXNvbHZlKHRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKEZvcm0sIHJlc3VsdC5yZXN1bHRPYmplY3QpKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmVqZWN0KHJlc3VsdC52YWxpZGF0aW9uTWVzc2FnZXNBc1N0cmluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldEFsbEZvcm1SZXNwb25zZXNGb3JUYWJsZUFuZEtleSh0YWJsZTogVGFibGVOYW1lLCBrZXk6IHN0cmluZyk6IFByb21pc2U8Rm9ybVJlc3BvbnNlW10+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMubWFpbkNvbm5lY3Rvci5nZXRBbGxGb3JtUmVzcG9uc2VzRm9yVGFibGVBbmRLZXkodGFibGUsIGtleSkudGhlbigocmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgICAgICBpZiAocmVzdWx0LnJlc3VsdE9iamVjdHMpIHtcclxuICAgICAgICAgICAgcmVzb2x2ZSh0aGlzLl9ib0ZhY3RvcnkubWFrZUJPQXJyYXlGcm9tUmF3QmFja2VuZERhdGFBcnJheShGb3JtUmVzcG9uc2UsIHJlc3VsdC5yZXN1bHRPYmplY3RzKSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJlamVjdChyZXN1bHQudmFsaWRhdGlvbk1lc3NhZ2VzQXNTdHJpbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBpbnNlcnRGb3JtUmVzcG9uc2UoZm9ybVJlc3BvbnNlOiBGb3JtUmVzcG9uc2UpOiBQcm9taXNlPEZvcm1SZXNwb25zZT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5tYWluQ29ubmVjdG9yLmluc2VydEZvcm1SZXNwb25zZShmb3JtUmVzcG9uc2UpLnRoZW4oKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgaWYgKHJlc3VsdC5yZXN1bHRPYmplY3QpIHtcclxuICAgICAgICAgICAgcmVzb2x2ZSh0aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShGb3JtUmVzcG9uc2UsIHJlc3VsdC5yZXN1bHRPYmplY3QpKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmVqZWN0KHJlc3VsdC52YWxpZGF0aW9uTWVzc2FnZXNBc1N0cmluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcblxyXG5cclxuICBwdWJsaWMgYXN5bmMgdXBkYXRlRm9ybVJlc3BvbnNlKGZvcm1SZXNwb25zZTogRm9ybVJlc3BvbnNlKTogUHJvbWlzZTxGb3JtUmVzcG9uc2U+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMubWFpbkNvbm5lY3Rvci51cGRhdGVGb3JtUmVzcG9uc2UoZm9ybVJlc3BvbnNlKS50aGVuKChyZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgIGlmIChyZXN1bHQucmVzdWx0T2JqZWN0KSB7XHJcbiAgICAgICAgICAgIHJlc29sdmUodGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoRm9ybVJlc3BvbnNlLCByZXN1bHQucmVzdWx0T2JqZWN0KSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJlamVjdChyZXN1bHQudmFsaWRhdGlvbk1lc3NhZ2VzQXNTdHJpbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBsb2NrRm9ybVJlc3BvbnNlKGZvcm1SZXNwb25zZUlkOiBudW1iZXIpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMubWFpbkNvbm5lY3Rvci5sb2NrRm9ybVJlc3BvbnNlKGZvcm1SZXNwb25zZUlkKS50aGVuKChyZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgIHJlc29sdmUodHJ1ZSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJlamVjdChyZXN1bHQudmFsaWRhdGlvblJlc3VsdC5tZXNzYWdlc1swXS5tZXNzYWdlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgdW5sb2NrRm9ybVJlc3BvbnNlKGZvcm1SZXNwb25zZUlkOiBudW1iZXIpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMubWFpbkNvbm5lY3Rvci51bmxvY2tGb3JtUmVzcG9uc2UoZm9ybVJlc3BvbnNlSWQpLnRoZW4oKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgcmVzb2x2ZSh0cnVlKVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZWplY3QocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQubWVzc2FnZXNbMF0ubWVzc2FnZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG4gIHB1YmxpYyBjb21taXQoKTogUHJvbWlzZTxEYXRhU2VydmljZVJlc3BvbnNlRGF0YT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuYXJ0aWNsZUNvbm5lY3Rvci5jb21taXQoKTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==