@valtimo/components 12.14.0 → 13.0.0

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 (538) hide show
  1. package/assets/css/carbon.scss +6 -1
  2. package/assets/css/color.scss +1 -1
  3. package/assets/css/compatibility.scss +51 -3
  4. package/assets/css/design-tokens.css +1 -1
  5. package/assets/css/formio-carbon.scss +16 -0
  6. package/assets/css/ng-multiselect-dropdown.theme.scss +1 -1
  7. package/fesm2022/valtimo-components.mjs +1854 -2411
  8. package/fesm2022/valtimo-components.mjs.map +1 -1
  9. package/lib/components/alert/alert.component.d.ts.map +1 -1
  10. package/lib/components/bpmn-js-diagram/bpmn-js-diagram.component.d.ts +2 -2
  11. package/lib/components/bpmn-js-diagram/bpmn-js-diagram.component.d.ts.map +1 -1
  12. package/lib/components/breadcrumb-navigation/breadcrumb-navigation.component.d.ts.map +1 -1
  13. package/lib/components/breadcrumb-navigation/breadcrumb.service.d.ts +7 -4
  14. package/lib/components/breadcrumb-navigation/breadcrumb.service.d.ts.map +1 -1
  15. package/lib/components/camunda/form/camunda-form.components.d.ts.map +1 -1
  16. package/lib/components/camunda/form/custom/camunda-custom-form.component.d.ts.map +1 -1
  17. package/lib/components/camunda/form/generated/camunda-generated-form.component.d.ts.map +1 -1
  18. package/lib/components/camunda/form/generated/formfield/boolean/camunda-boolean-formfield.component.d.ts.map +1 -1
  19. package/lib/components/camunda/form/generated/formfield/camunda-formfield-generator.directive.d.ts.map +1 -1
  20. package/lib/components/camunda/form/generated/formfield/choicefield/camunda-choicefield-formfield.component.d.ts.map +1 -1
  21. package/lib/components/camunda/form/generated/formfield/date/camunda-date-formfield.component.d.ts.map +1 -1
  22. package/lib/components/camunda/form/generated/formfield/enum/camunda-enum-formfield.component.d.ts.map +1 -1
  23. package/lib/components/camunda/form/generated/formfield/long/camunda-long-formfield.component.d.ts.map +1 -1
  24. package/lib/components/camunda/form/generated/formfield/string/camunda-string-formfield.component.d.ts.map +1 -1
  25. package/lib/components/camunda/form/generated/formfield/textarea/camunda-textarea-formfield.component.d.ts.map +1 -1
  26. package/lib/components/camunda/form/generated/formfield/validation/camunda-formfield-validation.component.d.ts.map +1 -1
  27. package/lib/components/carbon-list/CarbonListFilterPipe.directive.d.ts.map +1 -1
  28. package/lib/components/carbon-list/carbon-list.component.d.ts +3 -2
  29. package/lib/components/carbon-list/carbon-list.component.d.ts.map +1 -1
  30. package/lib/components/carbon-list/carbon-list.module.d.ts +8 -9
  31. package/lib/components/carbon-list/carbon-list.module.d.ts.map +1 -1
  32. package/lib/components/carbon-list/no-results/carbon-no-results.component.d.ts.map +1 -1
  33. package/lib/components/carbon-list/tags-modal/tags-modal.component.d.ts.map +1 -1
  34. package/lib/components/confirmation-modal/confirmation-modal.component.d.ts +1 -1
  35. package/lib/components/confirmation-modal/confirmation-modal.component.d.ts.map +1 -1
  36. package/lib/components/confirmation-modal/confirmation-modal.module.d.ts +2 -2
  37. package/lib/components/confirmation-modal/confirmation-modal.module.d.ts.map +1 -1
  38. package/lib/components/data-list/data-list.component.d.ts.map +1 -1
  39. package/lib/components/date-picker/date-picker.component.d.ts.map +1 -1
  40. package/lib/components/dropzone/dropzone.component.d.ts.map +1 -1
  41. package/lib/components/editor/editor.component.d.ts.map +1 -1
  42. package/lib/components/editor/editor.module.d.ts +2 -2
  43. package/lib/components/editor/editor.service.d.ts.map +1 -1
  44. package/lib/components/expansion-panel/expansion-panel.component.d.ts.map +1 -1
  45. package/lib/components/field-auto-focus/field-auto-focus.directive.d.ts.map +1 -1
  46. package/lib/components/file-size/file-size.pipe.d.ts.map +1 -1
  47. package/lib/components/filter-sidebar/filter-sidebar.component.d.ts.map +1 -1
  48. package/lib/components/form/form.component.d.ts.map +1 -1
  49. package/lib/components/form-io/form-io-builder.component.d.ts +14 -4
  50. package/lib/components/form-io/form-io-builder.component.d.ts.map +1 -1
  51. package/lib/components/form-io/form-io-builder.utils.d.ts.map +1 -1
  52. package/lib/components/form-io/form-io-currency/currency.component.d.ts.map +1 -1
  53. package/lib/components/form-io/form-io-currency/currency.formio.d.ts.map +1 -1
  54. package/lib/components/form-io/form-io-current-user/form-io-current-user.component.d.ts.map +1 -1
  55. package/lib/components/form-io/form-io-dummy/dummy.component.d.ts.map +1 -1
  56. package/lib/components/form-io/form-io-dummy/dummy.formio.d.ts.map +1 -1
  57. package/lib/components/form-io/form-io-iban/iban.component.d.ts.map +1 -1
  58. package/lib/components/form-io/form-io-iban/iban.formio.d.ts.map +1 -1
  59. package/lib/components/form-io/form-io-iban/iban.validators.d.ts.map +1 -1
  60. package/lib/components/form-io/form-io-uploader/form-io-uploader.component.d.ts.map +1 -1
  61. package/lib/components/form-io/form-io.component.d.ts +7 -4
  62. package/lib/components/form-io/form-io.component.d.ts.map +1 -1
  63. package/lib/components/form-io/formio-config.d.ts +1 -1
  64. package/lib/components/form-io/formio-config.d.ts.map +1 -1
  65. package/lib/components/form-io/services/form-io.tags.service.d.ts +11 -0
  66. package/lib/components/form-io/services/form-io.tags.service.d.ts.map +1 -0
  67. package/lib/components/input/input.component.d.ts +3 -0
  68. package/lib/components/input/input.component.d.ts.map +1 -1
  69. package/lib/components/input/input.module.d.ts +2 -3
  70. package/lib/components/input/input.module.d.ts.map +1 -1
  71. package/lib/components/input-label/input-label.component.d.ts.map +1 -1
  72. package/lib/components/left-sidebar/left-sidebar.component.d.ts +1 -1
  73. package/lib/components/left-sidebar/left-sidebar.component.d.ts.map +1 -1
  74. package/lib/components/left-sidebar/left-sidebar.module.d.ts +2 -2
  75. package/lib/components/menu/menu-item-text.component.d.ts +1 -1
  76. package/lib/components/menu/menu-item-text.component.d.ts.map +1 -1
  77. package/lib/components/menu/menu.service.d.ts +8 -4
  78. package/lib/components/menu/menu.service.d.ts.map +1 -1
  79. package/lib/components/modal/modal.component.d.ts.map +1 -1
  80. package/lib/components/multi-input/carbon-multi-input.component.d.ts +3 -3
  81. package/lib/components/multi-input/carbon-multi-input.component.d.ts.map +1 -1
  82. package/lib/components/multi-input/carbon-multi-input.module.d.ts +10 -11
  83. package/lib/components/multi-input/carbon-multi-input.module.d.ts.map +1 -1
  84. package/lib/components/multi-input/components/key-value/key-value.component.d.ts.map +1 -1
  85. package/lib/components/multi-input/components/key-value-path-selector/key-value-path-selector.component.d.ts +3 -3
  86. package/lib/components/multi-input/components/key-value-path-selector/key-value-path-selector.component.d.ts.map +1 -1
  87. package/lib/components/multi-input/components/value-path-selector-dropdown-value/value-path-selector-dropdown-value.component.d.ts +3 -3
  88. package/lib/components/multi-input/components/value-path-selector-dropdown-value/value-path-selector-dropdown-value.component.d.ts.map +1 -1
  89. package/lib/components/multi-input/components/value-path-selector-value/value-path-selector-value.component.d.ts +3 -3
  90. package/lib/components/multi-input/components/value-path-selector-value/value-path-selector-value.component.d.ts.map +1 -1
  91. package/lib/components/multi-input-form/multi-input-form.component.d.ts +3 -0
  92. package/lib/components/multi-input-form/multi-input-form.component.d.ts.map +1 -1
  93. package/lib/components/multi-input-form/multi-input-form.module.d.ts +2 -2
  94. package/lib/components/multi-input-form/multi-input-form.module.d.ts.map +1 -1
  95. package/lib/components/multiselect-dropdown/multiselect-dropdown.component.d.ts.map +1 -1
  96. package/lib/components/page-header/page-header.component.d.ts.map +1 -1
  97. package/lib/components/page-header/page-header.module.d.ts +2 -2
  98. package/lib/components/page-subtitle/page-subtitle.component.d.ts.map +1 -1
  99. package/lib/components/page-title/page-title.component.d.ts +1 -1
  100. package/lib/components/page-title/page-title.component.d.ts.map +1 -1
  101. package/lib/components/paragraph/paragraph.component.d.ts.map +1 -1
  102. package/lib/components/progress-bar/progress-bar.component.d.ts.map +1 -1
  103. package/lib/components/prompt/prompt.component.d.ts +0 -4
  104. package/lib/components/prompt/prompt.component.d.ts.map +1 -1
  105. package/lib/components/prompt/prompt.module.d.ts +3 -4
  106. package/lib/components/prompt/prompt.module.d.ts.map +1 -1
  107. package/lib/components/radio/radio.component.d.ts.map +1 -1
  108. package/lib/components/radio/radio.module.d.ts +2 -3
  109. package/lib/components/radio/radio.module.d.ts.map +1 -1
  110. package/lib/components/render-in-body/render-in-body.component.d.ts +14 -0
  111. package/lib/components/render-in-body/render-in-body.component.d.ts.map +1 -0
  112. package/lib/components/right-sidebar/right-sidebar.component.d.ts +1 -1
  113. package/lib/components/right-sidebar/right-sidebar.component.d.ts.map +1 -1
  114. package/lib/components/search-fields/search-fields.component.d.ts +5 -5
  115. package/lib/components/search-fields/search-fields.component.d.ts.map +1 -1
  116. package/lib/components/searchable-dropdown/searchable-dropdown.component.d.ts.map +1 -1
  117. package/lib/components/searchable-dropdown-select/searchable-dropdown-select.component.d.ts.map +1 -1
  118. package/lib/components/select/select.component.d.ts.map +1 -1
  119. package/lib/components/spinner/spinner.component.d.ts.map +1 -1
  120. package/lib/components/stepper/stepper-container/stepper-container.component.d.ts.map +1 -1
  121. package/lib/components/stepper/stepper-content/stepper-content.component.d.ts.map +1 -1
  122. package/lib/components/stepper/stepper-footer/stepper-footer.component.d.ts.map +1 -1
  123. package/lib/components/stepper/stepper-footer-step/stepper-footer-step.component.d.ts.map +1 -1
  124. package/lib/components/stepper/stepper-header/stepper-header.component.d.ts.map +1 -1
  125. package/lib/components/stepper/stepper-step/stepper-step.component.d.ts.map +1 -1
  126. package/lib/components/stepper/stepper.module.d.ts +2 -3
  127. package/lib/components/stepper/stepper.module.d.ts.map +1 -1
  128. package/lib/components/table/table.component.d.ts.map +1 -1
  129. package/lib/components/table/table.module.d.ts +1 -1
  130. package/lib/components/timeline/timeline.component.d.ts +7 -3
  131. package/lib/components/timeline/timeline.component.d.ts.map +1 -1
  132. package/lib/components/timeline/timeline.module.d.ts +2 -1
  133. package/lib/components/timeline/timeline.module.d.ts.map +1 -1
  134. package/lib/components/tooltip-icon/tooltip-icon.component.d.ts.map +1 -1
  135. package/lib/components/topbar/topbar.component.d.ts +1 -1
  136. package/lib/components/topbar/topbar.component.d.ts.map +1 -1
  137. package/lib/components/uploader/uploader-drag-drop.directive.d.ts.map +1 -1
  138. package/lib/components/uploader/uploader.component.d.ts.map +1 -1
  139. package/lib/components/v-modal/modal.component.d.ts.map +1 -1
  140. package/lib/components/v-modal/modal.module.d.ts +2 -6
  141. package/lib/components/v-modal/modal.module.d.ts.map +1 -1
  142. package/lib/components/value-path-selector/value-path-selector.component.d.ts +11 -12
  143. package/lib/components/value-path-selector/value-path-selector.component.d.ts.map +1 -1
  144. package/lib/components/version/version.service.d.ts +1 -1
  145. package/lib/components/webcam/webcam.component.d.ts.map +1 -1
  146. package/lib/components/widget/widget.component.d.ts.map +1 -1
  147. package/lib/constants/carbon.constants.d.ts +0 -1
  148. package/lib/constants/carbon.constants.d.ts.map +1 -1
  149. package/lib/directives/{command-click/command-click.directive.d.ts → ctrl-click/ctrl-click.directive.d.ts} +2 -2
  150. package/lib/directives/ctrl-click/ctrl-click.directive.d.ts.map +1 -0
  151. package/lib/directives/digit-only/digit-only.directive.d.ts.map +1 -1
  152. package/lib/directives/fit-page/fit-page.directive.d.ts +6 -2
  153. package/lib/directives/fit-page/fit-page.directive.d.ts.map +1 -1
  154. package/lib/directives/muuri/muuri-directive.module.d.ts +10 -0
  155. package/lib/directives/muuri/muuri-directive.module.d.ts.map +1 -0
  156. package/lib/directives/muuri/muuri-item.component.d.ts +8 -0
  157. package/lib/directives/muuri/muuri-item.component.d.ts.map +1 -0
  158. package/lib/directives/muuri/muuri.directive.d.ts +27 -0
  159. package/lib/directives/muuri/muuri.directive.d.ts.map +1 -0
  160. package/lib/directives/read-only.directive.d.ts +15 -0
  161. package/lib/directives/read-only.directive.d.ts.map +1 -0
  162. package/lib/directives/remove-classnames/remove-classnames.directive.d.ts.map +1 -1
  163. package/lib/directives/render-in-page-header/render-in-page-header.directive.d.ts +1 -1
  164. package/lib/directives/render-page-header/render-page-header.directive.d.ts +1 -1
  165. package/lib/directives/render-page-subtitle/render-page-subtitle.directive.d.ts +1 -1
  166. package/lib/directives/tooltip/tooltip.component.d.ts.map +1 -1
  167. package/lib/directives/valtimo-cds-modal/valtimo-cds-modal.directive.d.ts +1 -1
  168. package/lib/directives/valtimo-cds-modal/valtimo-cds-modal.directive.d.ts.map +1 -1
  169. package/lib/directives/valtimo-cds-overflow-button/valtimo-cds-overflow-button.directive.d.ts +3 -2
  170. package/lib/directives/valtimo-cds-overflow-button/valtimo-cds-overflow-button.directive.d.ts.map +1 -1
  171. package/lib/models/carbon-list.model.d.ts +1 -1
  172. package/lib/models/carbon-list.model.d.ts.map +1 -1
  173. package/lib/models/form-io.model.d.ts +86 -5
  174. package/lib/models/form-io.model.d.ts.map +1 -1
  175. package/lib/models/value-path-selector.model.d.ts +1 -2
  176. package/lib/models/value-path-selector.model.d.ts.map +1 -1
  177. package/lib/modules/custom-formio-component/create-custom-component.d.ts +39 -33
  178. package/lib/modules/custom-formio-component/create-custom-component.d.ts.map +1 -1
  179. package/lib/modules/custom-formio-component/elements.common.d.ts +1 -1
  180. package/lib/modules/custom-formio-component/elements.common.d.ts.map +1 -1
  181. package/lib/modules/custom-formio-component/index.d.ts +0 -1
  182. package/lib/modules/custom-formio-component/index.d.ts.map +1 -1
  183. package/lib/modules/custom-formio-component/register-custom-component.d.ts +0 -1
  184. package/lib/modules/custom-formio-component/register-custom-component.d.ts.map +1 -1
  185. package/lib/pipes/ellipsis.pipe.d.ts.map +1 -1
  186. package/lib/pipes/menu-item-translation.pipe.d.ts +1 -1
  187. package/lib/services/choice-field.service.d.ts +1 -1
  188. package/lib/services/key-state.service.d.ts.map +1 -1
  189. package/lib/services/page-header.service.d.ts +1 -1
  190. package/lib/services/page-title.service.d.ts +1 -0
  191. package/lib/services/page-title.service.d.ts.map +1 -1
  192. package/lib/services/prompt.service.d.ts +0 -13
  193. package/lib/services/prompt.service.d.ts.map +1 -1
  194. package/lib/services/shell.service.d.ts +1 -1
  195. package/lib/services/valtimo-modal.service.d.ts +3 -3
  196. package/lib/services/valtimo-modal.service.d.ts.map +1 -1
  197. package/lib/services/value-path-selector.service.d.ts +9 -9
  198. package/lib/services/value-path-selector.service.d.ts.map +1 -1
  199. package/package.json +22 -23
  200. package/public_api.d.ts +9 -25
  201. package/public_api.d.ts.map +1 -1
  202. package/esm2022/lib/components/alert/alert.component.mjs +0 -137
  203. package/esm2022/lib/components/alert/alert.module.mjs +0 -33
  204. package/esm2022/lib/components/alert/alert.service.mjs +0 -80
  205. package/esm2022/lib/components/bpmn-js-diagram/bpmn-js-diagram.component.mjs +0 -168
  206. package/esm2022/lib/components/bpmn-js-diagram/bpmn-js-diagram.module.mjs +0 -33
  207. package/esm2022/lib/components/breadcrumb-navigation/breadcrumb-navigation.component.mjs +0 -57
  208. package/esm2022/lib/components/breadcrumb-navigation/breadcrumb-navigation.module.mjs +0 -36
  209. package/esm2022/lib/components/breadcrumb-navigation/breadcrumb.service.mjs +0 -127
  210. package/esm2022/lib/components/button/button.component.mjs +0 -99
  211. package/esm2022/lib/components/button/button.module.mjs +0 -37
  212. package/esm2022/lib/components/camunda/form/camunda-form.components.mjs +0 -41
  213. package/esm2022/lib/components/camunda/form/camunda-form.module.mjs +0 -35
  214. package/esm2022/lib/components/camunda/form/custom/camunda-custom-form.component.mjs +0 -40
  215. package/esm2022/lib/components/camunda/form/custom/camunda-custom-form.module.mjs +0 -33
  216. package/esm2022/lib/components/camunda/form/generated/camunda-generated-form.component.mjs +0 -67
  217. package/esm2022/lib/components/camunda/form/generated/camunda-generated-form.module.mjs +0 -63
  218. package/esm2022/lib/components/camunda/form/generated/formfield/boolean/camunda-boolean-formfield.component.mjs +0 -30
  219. package/esm2022/lib/components/camunda/form/generated/formfield/camunda-formfield-generator.directive.mjs +0 -63
  220. package/esm2022/lib/components/camunda/form/generated/formfield/camunda-formfield.service.mjs +0 -67
  221. package/esm2022/lib/components/camunda/form/generated/formfield/choicefield/camunda-choicefield-formfield.component.mjs +0 -41
  222. package/esm2022/lib/components/camunda/form/generated/formfield/date/camunda-date-formfield.component.mjs +0 -66
  223. package/esm2022/lib/components/camunda/form/generated/formfield/enum/camunda-enum-formfield.component.mjs +0 -33
  224. package/esm2022/lib/components/camunda/form/generated/formfield/formfield.model.mjs +0 -17
  225. package/esm2022/lib/components/camunda/form/generated/formfield/long/camunda-long-formfield.component.mjs +0 -30
  226. package/esm2022/lib/components/camunda/form/generated/formfield/string/camunda-string-formfield.component.mjs +0 -30
  227. package/esm2022/lib/components/camunda/form/generated/formfield/textarea/camunda-textarea-formfield.component.mjs +0 -30
  228. package/esm2022/lib/components/camunda/form/generated/formfield/validation/camunda-formfield-validation.component.mjs +0 -35
  229. package/esm2022/lib/components/camunda/form/generated/formfield/validation/date.validators.mjs +0 -55
  230. package/esm2022/lib/components/carbon-list/CarbonListFilterPipe.directive.mjs +0 -34
  231. package/esm2022/lib/components/carbon-list/carbon-list.component.mjs +0 -603
  232. package/esm2022/lib/components/carbon-list/carbon-list.module.mjs +0 -103
  233. package/esm2022/lib/components/carbon-list/no-results/carbon-no-results.component.mjs +0 -71
  234. package/esm2022/lib/components/carbon-list/services/carbon-list-drag-and-drop.service.mjs +0 -165
  235. package/esm2022/lib/components/carbon-list/services/index.mjs +0 -17
  236. package/esm2022/lib/components/carbon-list/tags-modal/tags-modal.component.mjs +0 -35
  237. package/esm2022/lib/components/card/card.component.mjs +0 -34
  238. package/esm2022/lib/components/card/card.module.mjs +0 -33
  239. package/esm2022/lib/components/case-tags-selector/case-tags-selector.component.mjs +0 -80
  240. package/esm2022/lib/components/confirmation-modal/confirmation-modal.component.mjs +0 -119
  241. package/esm2022/lib/components/confirmation-modal/confirmation-modal.module.mjs +0 -50
  242. package/esm2022/lib/components/data-list/data-list.component.mjs +0 -31
  243. package/esm2022/lib/components/data-list/data-list.module.mjs +0 -33
  244. package/esm2022/lib/components/date-picker/date-picker.component.mjs +0 -166
  245. package/esm2022/lib/components/date-picker/date-picker.module.mjs +0 -40
  246. package/esm2022/lib/components/dropzone/dropzone.component.mjs +0 -168
  247. package/esm2022/lib/components/dropzone/dropzone.module.mjs +0 -37
  248. package/esm2022/lib/components/editor/editor.component.mjs +0 -189
  249. package/esm2022/lib/components/editor/editor.module.mjs +0 -34
  250. package/esm2022/lib/components/editor/editor.service.mjs +0 -87
  251. package/esm2022/lib/components/expansion-panel/expansion-panel.component.mjs +0 -41
  252. package/esm2022/lib/components/expansion-panel/expansion-panel.module.mjs +0 -35
  253. package/esm2022/lib/components/field-auto-focus/field-auto-focus.directive.mjs +0 -36
  254. package/esm2022/lib/components/field-auto-focus/field-auto-focus.module.mjs +0 -33
  255. package/esm2022/lib/components/file-size/file-size.module.mjs +0 -33
  256. package/esm2022/lib/components/file-size/file-size.pipe.mjs +0 -42
  257. package/esm2022/lib/components/filter-sidebar/filter-sidebar.component.mjs +0 -46
  258. package/esm2022/lib/components/filter-sidebar/filter-sidebar.module.mjs +0 -33
  259. package/esm2022/lib/components/form/form.component.mjs +0 -146
  260. package/esm2022/lib/components/form/form.module.mjs +0 -33
  261. package/esm2022/lib/components/form-io/form-io-builder.component.mjs +0 -82
  262. package/esm2022/lib/components/form-io/form-io-builder.utils.mjs +0 -53
  263. package/esm2022/lib/components/form-io/form-io-currency/currency-edit-form.mjs +0 -96
  264. package/esm2022/lib/components/form-io/form-io-currency/currency.component.mjs +0 -108
  265. package/esm2022/lib/components/form-io/form-io-currency/currency.formio.mjs +0 -24
  266. package/esm2022/lib/components/form-io/form-io-current-user/form-io-current-user-edit-form.mjs +0 -64
  267. package/esm2022/lib/components/form-io/form-io-current-user/form-io-current-user.component.mjs +0 -41
  268. package/esm2022/lib/components/form-io/form-io-current-user/form-io-current-user.formio.mjs +0 -34
  269. package/esm2022/lib/components/form-io/form-io-dummy/dummy.component.mjs +0 -27
  270. package/esm2022/lib/components/form-io/form-io-dummy/dummy.formio.mjs +0 -20
  271. package/esm2022/lib/components/form-io/form-io-iban/iban.component.mjs +0 -61
  272. package/esm2022/lib/components/form-io/form-io-iban/iban.formio.mjs +0 -22
  273. package/esm2022/lib/components/form-io/form-io-iban/iban.validators.mjs +0 -26
  274. package/esm2022/lib/components/form-io/form-io-resource-selector/form-io-resource-selector.formio.mjs +0 -84
  275. package/esm2022/lib/components/form-io/form-io-uploader/form-io-uploader-edit-form.mjs +0 -115
  276. package/esm2022/lib/components/form-io/form-io-uploader/form-io-uploader.component.mjs +0 -93
  277. package/esm2022/lib/components/form-io/form-io-uploader/form-io-uploader.formio.mjs +0 -49
  278. package/esm2022/lib/components/form-io/form-io.component.mjs +0 -237
  279. package/esm2022/lib/components/form-io/form-io.module.mjs +0 -127
  280. package/esm2022/lib/components/form-io/formio-config.mjs +0 -27
  281. package/esm2022/lib/components/form-io/formio-value-resolver-selector/formio-value-resolver-selector-edit-form.mjs +0 -19
  282. package/esm2022/lib/components/form-io/formio-value-resolver-selector/formio-value-resolver-selector.component.mjs +0 -57
  283. package/esm2022/lib/components/form-io/formio-value-resolver-selector/formio-value-resolver-selector.formio.mjs +0 -42
  284. package/esm2022/lib/components/form-io/services/form-io-dom.service.mjs +0 -38
  285. package/esm2022/lib/components/form-io/services/form-io-local-storage.service.mjs +0 -68
  286. package/esm2022/lib/components/form-io/services/form-io-state.service.mjs +0 -69
  287. package/esm2022/lib/components/input/input.component.mjs +0 -176
  288. package/esm2022/lib/components/input/input.module.mjs +0 -59
  289. package/esm2022/lib/components/input-label/input-label.component.mjs +0 -84
  290. package/esm2022/lib/components/input-label/input-label.module.mjs +0 -55
  291. package/esm2022/lib/components/left-sidebar/left-sidebar.component.mjs +0 -129
  292. package/esm2022/lib/components/left-sidebar/left-sidebar.module.mjs +0 -58
  293. package/esm2022/lib/components/list/ListFilterPipe.directive.mjs +0 -35
  294. package/esm2022/lib/components/list/list.component.mjs +0 -202
  295. package/esm2022/lib/components/list/list.module.mjs +0 -56
  296. package/esm2022/lib/components/menu/menu-item-text.component.mjs +0 -54
  297. package/esm2022/lib/components/menu/menu-routing.module.mjs +0 -33
  298. package/esm2022/lib/components/menu/menu.init.mjs +0 -32
  299. package/esm2022/lib/components/menu/menu.module.mjs +0 -58
  300. package/esm2022/lib/components/menu/menu.service.mjs +0 -247
  301. package/esm2022/lib/components/modal/modal.component.mjs +0 -85
  302. package/esm2022/lib/components/modal/modal.module.mjs +0 -33
  303. package/esm2022/lib/components/multi-input/carbon-multi-input.component.mjs +0 -300
  304. package/esm2022/lib/components/multi-input/carbon-multi-input.module.mjs +0 -86
  305. package/esm2022/lib/components/multi-input/components/arbitrary-amount-value/arbitrary-amount-value.component.mjs +0 -63
  306. package/esm2022/lib/components/multi-input/components/arbitrary-amount-value/index.mjs +0 -17
  307. package/esm2022/lib/components/multi-input/components/index.mjs +0 -23
  308. package/esm2022/lib/components/multi-input/components/key-dropdown-value/index.mjs +0 -17
  309. package/esm2022/lib/components/multi-input/components/key-dropdown-value/key-dropdown-value.component.mjs +0 -71
  310. package/esm2022/lib/components/multi-input/components/key-value/index.mjs +0 -17
  311. package/esm2022/lib/components/multi-input/components/key-value/key-value.component.mjs +0 -62
  312. package/esm2022/lib/components/multi-input/components/key-value-path-selector/index.mjs +0 -17
  313. package/esm2022/lib/components/multi-input/components/key-value-path-selector/key-value-path-selector.component.mjs +0 -82
  314. package/esm2022/lib/components/multi-input/components/single-value/index.mjs +0 -17
  315. package/esm2022/lib/components/multi-input/components/single-value/single-value.component.mjs +0 -49
  316. package/esm2022/lib/components/multi-input/components/value-path-selector-dropdown-value/index.mjs +0 -17
  317. package/esm2022/lib/components/multi-input/components/value-path-selector-dropdown-value/value-path-selector-dropdown-value.component.mjs +0 -92
  318. package/esm2022/lib/components/multi-input/components/value-path-selector-value/index.mjs +0 -17
  319. package/esm2022/lib/components/multi-input/components/value-path-selector-value/value-path-selector-value.component.mjs +0 -82
  320. package/esm2022/lib/components/multi-input-form/default-value.pipe.mjs +0 -33
  321. package/esm2022/lib/components/multi-input-form/multi-input-form.component.mjs +0 -201
  322. package/esm2022/lib/components/multi-input-form/multi-input-form.module.mjs +0 -58
  323. package/esm2022/lib/components/multiselect-dropdown/multiselect-dropdown.component.mjs +0 -52
  324. package/esm2022/lib/components/multiselect-dropdown/multiselect-dropdown.module.mjs +0 -35
  325. package/esm2022/lib/components/page/page-container/page-container.component.mjs +0 -29
  326. package/esm2022/lib/components/page/page-content/page-content.component.mjs +0 -29
  327. package/esm2022/lib/components/page/page-header/page-header.component.mjs +0 -29
  328. package/esm2022/lib/components/page/page-header-actions/page-header-actions.component.mjs +0 -29
  329. package/esm2022/lib/components/page/page-header-introduction/page-header-introduction.component.mjs +0 -29
  330. package/esm2022/lib/components/page/page.module.mjs +0 -60
  331. package/esm2022/lib/components/page-actions/page-actions.component.mjs +0 -82
  332. package/esm2022/lib/components/page-header/page-header.component.mjs +0 -66
  333. package/esm2022/lib/components/page-header/page-header.module.mjs +0 -55
  334. package/esm2022/lib/components/page-subtitle/page-subtitle.component.mjs +0 -53
  335. package/esm2022/lib/components/page-title/page-title.component.mjs +0 -116
  336. package/esm2022/lib/components/page-title/page-title.module.mjs +0 -35
  337. package/esm2022/lib/components/paragraph/paragraph.component.mjs +0 -50
  338. package/esm2022/lib/components/paragraph/paragraph.module.mjs +0 -37
  339. package/esm2022/lib/components/pending-changes/pending-changes.component.mjs +0 -91
  340. package/esm2022/lib/components/pending-changes/pending-changes.service.mjs +0 -37
  341. package/esm2022/lib/components/progress-bar/progress-bar.component.mjs +0 -26
  342. package/esm2022/lib/components/progress-bar/progress-bar.module.mjs +0 -33
  343. package/esm2022/lib/components/prompt/prompt.component.mjs +0 -74
  344. package/esm2022/lib/components/prompt/prompt.module.mjs +0 -39
  345. package/esm2022/lib/components/radio/radio.component.mjs +0 -116
  346. package/esm2022/lib/components/radio/radio.module.mjs +0 -55
  347. package/esm2022/lib/components/right-sidebar/right-sidebar.component.mjs +0 -309
  348. package/esm2022/lib/components/right-sidebar/right-sidebar.module.mjs +0 -98
  349. package/esm2022/lib/components/search-fields/search-fields.component.mjs +0 -241
  350. package/esm2022/lib/components/search-fields/search-fields.module.mjs +0 -90
  351. package/esm2022/lib/components/searchable-dropdown/searchable-dropdown.component.mjs +0 -201
  352. package/esm2022/lib/components/searchable-dropdown/searchable-dropdown.module.mjs +0 -34
  353. package/esm2022/lib/components/searchable-dropdown-select/searchable-dropdown-select.component.mjs +0 -71
  354. package/esm2022/lib/components/searchable-dropdown-select/searchable-dropdown-select.module.mjs +0 -35
  355. package/esm2022/lib/components/select/select.component.mjs +0 -200
  356. package/esm2022/lib/components/select/select.module.mjs +0 -37
  357. package/esm2022/lib/components/spinner/spinner.component.mjs +0 -54
  358. package/esm2022/lib/components/spinner/spinner.module.mjs +0 -35
  359. package/esm2022/lib/components/status-selector/status-selector.component.mjs +0 -86
  360. package/esm2022/lib/components/stepper/stepper-container/stepper-container.component.mjs +0 -91
  361. package/esm2022/lib/components/stepper/stepper-content/stepper-content.component.mjs +0 -52
  362. package/esm2022/lib/components/stepper/stepper-footer/stepper-footer.component.mjs +0 -43
  363. package/esm2022/lib/components/stepper/stepper-footer-step/stepper-footer-step.component.mjs +0 -71
  364. package/esm2022/lib/components/stepper/stepper-header/stepper-header.component.mjs +0 -37
  365. package/esm2022/lib/components/stepper/stepper-step/stepper-step.component.mjs +0 -39
  366. package/esm2022/lib/components/stepper/stepper.module.mjs +0 -68
  367. package/esm2022/lib/components/table/table.component.mjs +0 -172
  368. package/esm2022/lib/components/table/table.module.mjs +0 -58
  369. package/esm2022/lib/components/timeline/timeline.component.mjs +0 -42
  370. package/esm2022/lib/components/timeline/timeline.module.mjs +0 -35
  371. package/esm2022/lib/components/title/title.component.mjs +0 -57
  372. package/esm2022/lib/components/title/title.module.mjs +0 -36
  373. package/esm2022/lib/components/tooltip-icon/tooltip-icon.component.mjs +0 -39
  374. package/esm2022/lib/components/tooltip-icon/tooltip-icon.module.mjs +0 -39
  375. package/esm2022/lib/components/topbar/topbar.component.mjs +0 -127
  376. package/esm2022/lib/components/topbar/topbar.module.mjs +0 -36
  377. package/esm2022/lib/components/uploader/uploader-drag-drop.directive.mjs +0 -58
  378. package/esm2022/lib/components/uploader/uploader.component.mjs +0 -69
  379. package/esm2022/lib/components/uploader/uploader.module.mjs +0 -35
  380. package/esm2022/lib/components/v-card/card.component.mjs +0 -80
  381. package/esm2022/lib/components/v-card/card.module.mjs +0 -38
  382. package/esm2022/lib/components/v-modal/modal.component.mjs +0 -73
  383. package/esm2022/lib/components/v-modal/modal.module.mjs +0 -38
  384. package/esm2022/lib/components/value-path-selector/index.mjs +0 -17
  385. package/esm2022/lib/components/value-path-selector/value-path-selector.component.mjs +0 -317
  386. package/esm2022/lib/components/version/version.service.mjs +0 -38
  387. package/esm2022/lib/components/view-content/type-converters/booleanTypeConverter.mjs +0 -31
  388. package/esm2022/lib/components/view-content/type-converters/currencyTypeConverter.mjs +0 -43
  389. package/esm2022/lib/components/view-content/type-converters/dateTimeTypeConverter.mjs +0 -30
  390. package/esm2022/lib/components/view-content/type-converters/dateTypeConverter.mjs +0 -30
  391. package/esm2022/lib/components/view-content/type-converters/enumTypeConverter.mjs +0 -26
  392. package/esm2022/lib/components/view-content/type-converters/numberTypeConverter.mjs +0 -43
  393. package/esm2022/lib/components/view-content/type-converters/percentTypeConverter.mjs +0 -43
  394. package/esm2022/lib/components/view-content/type-converters/relatedFilesTypeConverter.mjs +0 -24
  395. package/esm2022/lib/components/view-content/type-converters/stringReplaceUnderscoreTypeConverter.mjs +0 -27
  396. package/esm2022/lib/components/view-content/type-converters/stringTypeConverter.mjs +0 -28
  397. package/esm2022/lib/components/view-content/type-converters/type-converters.model.mjs +0 -80
  398. package/esm2022/lib/components/view-content/view-content.module.mjs +0 -33
  399. package/esm2022/lib/components/view-content/view-content.service.mjs +0 -49
  400. package/esm2022/lib/components/webcam/webcam.component.mjs +0 -102
  401. package/esm2022/lib/components/webcam/webcam.module.mjs +0 -34
  402. package/esm2022/lib/components/widget/widget.component.mjs +0 -89
  403. package/esm2022/lib/components/widget/widget.module.mjs +0 -33
  404. package/esm2022/lib/constants/carbon.constants.mjs +0 -21
  405. package/esm2022/lib/constants/index.mjs +0 -19
  406. package/esm2022/lib/constants/status.constants.mjs +0 -18
  407. package/esm2022/lib/constants/view-type-converter.constants.mjs +0 -18
  408. package/esm2022/lib/directives/command-click/command-click-directive.module.mjs +0 -33
  409. package/esm2022/lib/directives/command-click/command-click.directive.mjs +0 -52
  410. package/esm2022/lib/directives/digit-only/digit-only.directive.mjs +0 -283
  411. package/esm2022/lib/directives/fit-page/fit-page-directive.module.mjs +0 -33
  412. package/esm2022/lib/directives/fit-page/fit-page.directive.mjs +0 -54
  413. package/esm2022/lib/directives/remove-classnames/remove-classnames.directive.mjs +0 -53
  414. package/esm2022/lib/directives/render-in-page-header/render-in-page-header-directive.module.mjs +0 -33
  415. package/esm2022/lib/directives/render-in-page-header/render-in-page-header.directive.mjs +0 -60
  416. package/esm2022/lib/directives/render-page-header/render-page-header-directive.module.mjs +0 -33
  417. package/esm2022/lib/directives/render-page-header/render-page-header.directive.mjs +0 -56
  418. package/esm2022/lib/directives/render-page-subtitle/render-page-subtitle-directive.module.mjs +0 -33
  419. package/esm2022/lib/directives/render-page-subtitle/render-page-subtitle.directive.mjs +0 -57
  420. package/esm2022/lib/directives/tooltip/tooltip.component.mjs +0 -42
  421. package/esm2022/lib/directives/tooltip/tooltip.directive.mjs +0 -76
  422. package/esm2022/lib/directives/tooltip/tooltip.module.mjs +0 -35
  423. package/esm2022/lib/directives/valtimo-cds-modal/valtimo-cds-modal-directive.module.mjs +0 -33
  424. package/esm2022/lib/directives/valtimo-cds-modal/valtimo-cds-modal.directive.mjs +0 -109
  425. package/esm2022/lib/directives/valtimo-cds-overflow-button/valtimo-cds-overflow-button-directive.module.mjs +0 -33
  426. package/esm2022/lib/directives/valtimo-cds-overflow-button/valtimo-cds-overflow-button.directive.mjs +0 -82
  427. package/esm2022/lib/guards/index.mjs +0 -17
  428. package/esm2022/lib/guards/pending-changes.guard.mjs +0 -2
  429. package/esm2022/lib/models/alert.model.mjs +0 -30
  430. package/esm2022/lib/models/button.model.mjs +0 -17
  431. package/esm2022/lib/models/carbon-list.model.mjs +0 -31
  432. package/esm2022/lib/models/carbon-pagination.model.mjs +0 -21
  433. package/esm2022/lib/models/carbon-tag.model.mjs +0 -17
  434. package/esm2022/lib/models/carbon-theme.model.mjs +0 -24
  435. package/esm2022/lib/models/choice-field.model.mjs +0 -17
  436. package/esm2022/lib/models/choicefield-value.model.mjs +0 -17
  437. package/esm2022/lib/models/documenten-api-metadata.model.mjs +0 -17
  438. package/esm2022/lib/models/editor.model.mjs +0 -22
  439. package/esm2022/lib/models/form-io.model.mjs +0 -30
  440. package/esm2022/lib/models/form.model.mjs +0 -17
  441. package/esm2022/lib/models/index.mjs +0 -47
  442. package/esm2022/lib/models/input.model.mjs +0 -17
  443. package/esm2022/lib/models/modal.model.mjs +0 -17
  444. package/esm2022/lib/models/multi-input.model.mjs +0 -17
  445. package/esm2022/lib/models/pagination.model.mjs +0 -24
  446. package/esm2022/lib/models/radio.model.mjs +0 -17
  447. package/esm2022/lib/models/right-sidebar.model.mjs +0 -17
  448. package/esm2022/lib/models/searchable-dropdown.model.mjs +0 -17
  449. package/esm2022/lib/models/select.model.mjs +0 -17
  450. package/esm2022/lib/models/sort.model.mjs +0 -17
  451. package/esm2022/lib/models/stepper.model.mjs +0 -17
  452. package/esm2022/lib/models/table.model.mjs +0 -17
  453. package/esm2022/lib/models/theme.model.mjs +0 -30
  454. package/esm2022/lib/models/timeline.model.mjs +0 -52
  455. package/esm2022/lib/models/title.model.mjs +0 -17
  456. package/esm2022/lib/models/topbar.model.mjs +0 -17
  457. package/esm2022/lib/models/value-path-selector.model.mjs +0 -36
  458. package/esm2022/lib/models/version.model.mjs +0 -17
  459. package/esm2022/lib/modules/custom-formio-component/create-custom-component.mjs +0 -162
  460. package/esm2022/lib/modules/custom-formio-component/custom-tags.service.mjs +0 -32
  461. package/esm2022/lib/modules/custom-formio-component/elements.common.mjs +0 -17
  462. package/esm2022/lib/modules/custom-formio-component/index.mjs +0 -20
  463. package/esm2022/lib/modules/custom-formio-component/register-custom-component.mjs +0 -42
  464. package/esm2022/lib/modules/index.mjs +0 -17
  465. package/esm2022/lib/pipes/case-count.pipe.mjs +0 -35
  466. package/esm2022/lib/pipes/components-pipes.module.mjs +0 -31
  467. package/esm2022/lib/pipes/ellipsis.pipe.mjs +0 -16
  468. package/esm2022/lib/pipes/index.mjs +0 -21
  469. package/esm2022/lib/pipes/is-array.pipe.mjs +0 -29
  470. package/esm2022/lib/pipes/menu-item-translation.pipe.mjs +0 -47
  471. package/esm2022/lib/services/cds-theme.service.mjs +0 -100
  472. package/esm2022/lib/services/choice-field.service.mjs +0 -70
  473. package/esm2022/lib/services/index.mjs +0 -29
  474. package/esm2022/lib/services/key-generator.service.mjs +0 -50
  475. package/esm2022/lib/services/key-state.service.mjs +0 -33
  476. package/esm2022/lib/services/modal.service.mjs +0 -148
  477. package/esm2022/lib/services/page-header.service.mjs +0 -93
  478. package/esm2022/lib/services/page-subtitle.service.mjs +0 -46
  479. package/esm2022/lib/services/page-title.service.mjs +0 -121
  480. package/esm2022/lib/services/prompt.service.mjs +0 -205
  481. package/esm2022/lib/services/shell.service.mjs +0 -213
  482. package/esm2022/lib/services/stepper.service.mjs +0 -108
  483. package/esm2022/lib/services/user-interface.service.mjs +0 -47
  484. package/esm2022/lib/services/valtimo-modal.service.mjs +0 -46
  485. package/esm2022/lib/services/value-path-selector.service.mjs +0 -110
  486. package/esm2022/public_api.mjs +0 -227
  487. package/esm2022/valtimo-components.mjs +0 -5
  488. package/lib/components/button/button.component.d.ts +0 -30
  489. package/lib/components/button/button.component.d.ts.map +0 -1
  490. package/lib/components/button/button.module.d.ts +0 -13
  491. package/lib/components/button/button.module.d.ts.map +0 -1
  492. package/lib/components/card/card.component.d.ts +0 -17
  493. package/lib/components/card/card.component.d.ts.map +0 -1
  494. package/lib/components/card/card.module.d.ts +0 -9
  495. package/lib/components/card/card.module.d.ts.map +0 -1
  496. package/lib/components/list/ListFilterPipe.directive.d.ts +0 -8
  497. package/lib/components/list/ListFilterPipe.directive.d.ts.map +0 -1
  498. package/lib/components/list/list.component.d.ts +0 -51
  499. package/lib/components/list/list.component.d.ts.map +0 -1
  500. package/lib/components/list/list.module.d.ts +0 -15
  501. package/lib/components/list/list.module.d.ts.map +0 -1
  502. package/lib/components/page/page-container/page-container.component.d.ts +0 -9
  503. package/lib/components/page/page-container/page-container.component.d.ts.map +0 -1
  504. package/lib/components/page/page-content/page-content.component.d.ts +0 -9
  505. package/lib/components/page/page-content/page-content.component.d.ts.map +0 -1
  506. package/lib/components/page/page-header/page-header.component.d.ts +0 -9
  507. package/lib/components/page/page-header/page-header.component.d.ts.map +0 -1
  508. package/lib/components/page/page-header-actions/page-header-actions.component.d.ts +0 -9
  509. package/lib/components/page/page-header-actions/page-header-actions.component.d.ts.map +0 -1
  510. package/lib/components/page/page-header-introduction/page-header-introduction.component.d.ts +0 -9
  511. package/lib/components/page/page-header-introduction/page-header-introduction.component.d.ts.map +0 -1
  512. package/lib/components/page/page.module.d.ts +0 -16
  513. package/lib/components/page/page.module.d.ts.map +0 -1
  514. package/lib/components/title/title.component.d.ts +0 -19
  515. package/lib/components/title/title.component.d.ts.map +0 -1
  516. package/lib/components/title/title.module.d.ts +0 -12
  517. package/lib/components/title/title.module.d.ts.map +0 -1
  518. package/lib/components/v-card/card.component.d.ts +0 -23
  519. package/lib/components/v-card/card.component.d.ts.map +0 -1
  520. package/lib/components/v-card/card.module.d.ts +0 -14
  521. package/lib/components/v-card/card.module.d.ts.map +0 -1
  522. package/lib/directives/command-click/command-click-directive.module.d.ts +0 -9
  523. package/lib/directives/command-click/command-click-directive.module.d.ts.map +0 -1
  524. package/lib/directives/command-click/command-click.directive.d.ts.map +0 -1
  525. package/lib/directives/fit-page/fit-page-directive.module.d.ts +0 -9
  526. package/lib/directives/fit-page/fit-page-directive.module.d.ts.map +0 -1
  527. package/lib/directives/render-in-page-header/render-in-page-header-directive.module.d.ts +0 -9
  528. package/lib/directives/render-in-page-header/render-in-page-header-directive.module.d.ts.map +0 -1
  529. package/lib/directives/render-page-header/render-page-header-directive.module.d.ts +0 -9
  530. package/lib/directives/render-page-header/render-page-header-directive.module.d.ts.map +0 -1
  531. package/lib/directives/render-page-subtitle/render-page-subtitle-directive.module.d.ts +0 -9
  532. package/lib/directives/render-page-subtitle/render-page-subtitle-directive.module.d.ts.map +0 -1
  533. package/lib/directives/valtimo-cds-modal/valtimo-cds-modal-directive.module.d.ts +0 -9
  534. package/lib/directives/valtimo-cds-modal/valtimo-cds-modal-directive.module.d.ts.map +0 -1
  535. package/lib/directives/valtimo-cds-overflow-button/valtimo-cds-overflow-button-directive.module.d.ts +0 -9
  536. package/lib/directives/valtimo-cds-overflow-button/valtimo-cds-overflow-button-directive.module.d.ts.map +0 -1
  537. package/lib/modules/custom-formio-component/custom-tags.service.d.ts +0 -8
  538. package/lib/modules/custom-formio-component/custom-tags.service.d.ts.map +0 -1
@@ -1,309 +0,0 @@
1
- /*
2
- * Copyright 2015-2024 Ritense BV, the Netherlands.
3
- *
4
- * Licensed under EUPL, Version 1.2 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" basis,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- import { Component, HostListener, ViewEncapsulation, } from '@angular/core';
17
- import { FormControl } from '@angular/forms';
18
- import { SelectableCarbonTheme } from '../../models';
19
- import { VERSIONS, } from '@valtimo/config';
20
- import { BehaviorSubject, combineLatest, Subscription, switchMap, take } from 'rxjs';
21
- import { map, tap } from 'rxjs/operators';
22
- import * as i0 from "@angular/core";
23
- import * as i1 from "@ngx-translate/core";
24
- import * as i2 from "@valtimo/security";
25
- import * as i3 from "@angular/forms";
26
- import * as i4 from "../version/version.service";
27
- import * as i5 from "../../services";
28
- import * as i6 from "@valtimo/config";
29
- import * as i7 from "@angular/common";
30
- import * as i8 from "carbon-components-angular";
31
- export class RightSidebarComponent {
32
- onPageClick(targetElement) {
33
- combineLatest([this.shellService.panelExpanded$, this.shellService.mouseOnTopBar$])
34
- .pipe(take(1))
35
- .subscribe(([panelExpanded, mouseOnTopBar]) => {
36
- const clickedInside = this.elementRef.nativeElement.contains(targetElement) || mouseOnTopBar;
37
- if (!clickedInside && panelExpanded) {
38
- this.shellService.setPanelExpanded(false);
39
- }
40
- });
41
- }
42
- constructor(translateService, userProviderService, formBuilder, versionService, shellService, elementRef, configService, userSettingsService, pageHeaderService, cdsThemeService) {
43
- this.translateService = translateService;
44
- this.userProviderService = userProviderService;
45
- this.formBuilder = formBuilder;
46
- this.versionService = versionService;
47
- this.shellService = shellService;
48
- this.elementRef = elementRef;
49
- this.configService = configService;
50
- this.userSettingsService = userSettingsService;
51
- this.pageHeaderService = pageHeaderService;
52
- this.cdsThemeService = cdsThemeService;
53
- this.settingsForm = this.formBuilder.group({
54
- taskNotifications: new FormControl(false),
55
- emailNotifications: new FormControl(false),
56
- emailNotificationOnMonday: new FormControl(false),
57
- emailNotificationOnTuesday: new FormControl(false),
58
- emailNotificationOnWednesday: new FormControl(false),
59
- emailNotificationOnThursday: new FormControl(false),
60
- emailNotificationOnFriday: new FormControl(false),
61
- emailNotificationOnSaturday: new FormControl(false),
62
- emailNotificationOnSunday: new FormControl(false),
63
- });
64
- this.panelExpanded$ = this.shellService.panelExpanded$;
65
- this._selectedLanguage$ = new BehaviorSubject('');
66
- this._languageOptions$ = new BehaviorSubject([]);
67
- this.languageListItems$ = combineLatest([
68
- this._languageOptions$,
69
- this._selectedLanguage$,
70
- this.translateService.stream('key'),
71
- ]).pipe(map(([languageOptions, selectedLanguage]) => languageOptions.map(languageKey => ({
72
- content: this.translateService.instant('settings.language.options.' + languageKey),
73
- key: languageKey,
74
- selected: selectedLanguage === languageKey,
75
- }))));
76
- this.backendVersion$ = this.versionService.getVersion();
77
- this.userSubject$ = this.userProviderService.getUserSubject();
78
- this.updatingSettings$ = new BehaviorSubject(true);
79
- this.updatingUserSettings$ = new BehaviorSubject(true);
80
- this._emailNotificationSettings$ = new BehaviorSubject(undefined);
81
- this.emailNotificationSettingsWithSideEffects$ = this._emailNotificationSettings$.pipe(tap(results => {
82
- if (results) {
83
- this.settingsForm.setValue(results);
84
- this.updatingSettings$.next(false);
85
- }
86
- }));
87
- this.collapsibleWidescreenMenu$ = this.shellService.collapsibleWidescreenMenu$;
88
- this.compactMode$ = this.pageHeaderService.compactMode$;
89
- this.showUserNameInTopBar$ = this.pageHeaderService.showUserNameInTopBar$;
90
- this._preferredTheme$ = this.cdsThemeService.preferredTheme$;
91
- this.showValtimoVersions = true;
92
- this.themeOptions$ = combineLatest([
93
- this._preferredTheme$,
94
- this.translateService.stream('key'),
95
- ]).pipe(map(([preferredTheme]) => [
96
- {
97
- content: this.translateService.instant('settings.interface.themes.light'),
98
- key: SelectableCarbonTheme.G10,
99
- selected: preferredTheme === SelectableCarbonTheme.G10,
100
- },
101
- {
102
- content: this.translateService.instant('settings.interface.themes.dark'),
103
- key: SelectableCarbonTheme.G90,
104
- selected: preferredTheme === SelectableCarbonTheme.G90,
105
- },
106
- {
107
- content: this.translateService.instant('settings.interface.themes.system'),
108
- key: SelectableCarbonTheme.SYSTEM,
109
- selected: preferredTheme === SelectableCarbonTheme.SYSTEM,
110
- },
111
- ]));
112
- this.allowUserThemeSwitching = true;
113
- this.enableCompactModeToggle = true;
114
- this.enableShowUserNameToggle = false;
115
- this.showPlantATreeButton = false;
116
- this._hideValtimoVersionsForNonAdmins = false;
117
- this._isAdmin$ = this.userProviderService
118
- .getUserSubject()
119
- .pipe(map(userIdentity => userIdentity?.roles.includes('ROLE_ADMIN')));
120
- this._subscriptions = new Subscription();
121
- }
122
- ngOnInit() {
123
- this.initSettings();
124
- this.initFrontendVersion();
125
- this.openShowVersionsSubscription();
126
- this.setLanguage();
127
- this.loadEmailNotificationSettings();
128
- this.openFormSubscription();
129
- this.getUserSettings();
130
- }
131
- ngOnDestroy() {
132
- this._subscriptions.unsubscribe();
133
- }
134
- updateUserLanguage(langKey, saveSettings = true) {
135
- const langKeyToUse = langKey?.item?.key
136
- ? langKey?.item.key
137
- : langKey;
138
- this.translateService
139
- .use(langKeyToUse)
140
- .pipe(take(1))
141
- .subscribe(() => {
142
- localStorage.setItem('langKey', langKeyToUse);
143
- this._selectedLanguage$.next(langKeyToUse);
144
- if (saveSettings) {
145
- this.saveUserSettings();
146
- }
147
- });
148
- }
149
- setCollapsibleWidescreenMenu(collapsible, saveSettings = true) {
150
- this.shellService.setCollapsibleWidescreenMenu(collapsible);
151
- if (saveSettings) {
152
- this.saveUserSettings();
153
- }
154
- }
155
- setCompactMode(compactMode, saveSettings = true) {
156
- this.pageHeaderService.setCompactMode(compactMode);
157
- if (saveSettings) {
158
- this.saveUserSettings();
159
- }
160
- }
161
- setShowUserName(showUserName, saveSettings = true) {
162
- this.pageHeaderService.setShowUserNameInTopBar(showUserName);
163
- if (saveSettings) {
164
- this.saveUserSettings();
165
- }
166
- }
167
- setPreferredTheme(selectedTheme, saveSettings = true) {
168
- if (this.allowUserThemeSwitching) {
169
- if (selectedTheme?.item?.key) {
170
- this.cdsThemeService.setPreferredTheme(selectedTheme.item?.key);
171
- }
172
- else {
173
- this.cdsThemeService.setPreferredTheme(selectedTheme);
174
- }
175
- if (saveSettings) {
176
- this.saveUserSettings();
177
- }
178
- }
179
- }
180
- logout() {
181
- this.userProviderService.logout();
182
- }
183
- initSettings() {
184
- const config = this.configService?.config;
185
- const featureToggles = config?.featureToggles || {};
186
- this.resetUrl = config?.changePasswordUrl?.endpointUri;
187
- this.overrideFeedbackMenuItemToMailTo = config?.overrideFeedbackMenuItemToMailTo;
188
- this.enableShowUserNameToggle = !!featureToggles.enableUserNameInTopBarToggle;
189
- this.showPlantATreeButton = !!featureToggles.showPlantATreeButton;
190
- if (featureToggles.hasOwnProperty('allowUserThemeSwitching')) {
191
- this.allowUserThemeSwitching = !!featureToggles.allowUserThemeSwitching;
192
- }
193
- if (featureToggles.hasOwnProperty('enableCompactModeToggle')) {
194
- this.enableCompactModeToggle = !!featureToggles.enableCompactModeToggle;
195
- }
196
- if (featureToggles.hasOwnProperty('hideValtimoVersionsForNonAdmins')) {
197
- this._hideValtimoVersionsForNonAdmins = !!featureToggles.hideValtimoVersionsForNonAdmins;
198
- }
199
- }
200
- initFrontendVersion() {
201
- this.frontendVersion = VERSIONS?.frontendLibraries;
202
- }
203
- openFormSubscription() {
204
- this._subscriptions.add(combineLatest([
205
- this._emailNotificationSettings$,
206
- this.settingsForm.valueChanges,
207
- this.updatingSettings$,
208
- ])
209
- .pipe(tap(([settings, formValue, updatingSettings]) => {
210
- if (settings && formValue) {
211
- const settingsStringified = JSON.stringify(this.sortObjectAlphabetically(settings));
212
- const formStringified = JSON.stringify(this.sortObjectAlphabetically(formValue));
213
- if (settingsStringified !== formStringified && !updatingSettings) {
214
- this.updatingSettings$.next(true);
215
- this.userProviderService.updateEmailNotificationSettings(formValue).subscribe(results => {
216
- this._emailNotificationSettings$.next(results);
217
- this.updatingSettings$.next(false);
218
- }, () => {
219
- this._emailNotificationSettings$.next(settings);
220
- this.updatingSettings$.next(false);
221
- });
222
- }
223
- }
224
- }))
225
- .subscribe());
226
- }
227
- loadEmailNotificationSettings() {
228
- this.userProviderService.getEmailNotificationSettings().subscribe(results => {
229
- if (results) {
230
- this._emailNotificationSettings$.next(results);
231
- }
232
- else {
233
- this._emailNotificationSettings$.next(this.settingsForm.value);
234
- }
235
- });
236
- }
237
- setLanguage() {
238
- this._selectedLanguage$.next(this.translateService.currentLang);
239
- this._languageOptions$.next(this.translateService.langs);
240
- }
241
- sortObjectAlphabetically(jsObject) {
242
- return Object.keys(jsObject)
243
- .sort()
244
- .reduce((acc, key) => ({
245
- ...acc,
246
- [key]: jsObject[key],
247
- }), {});
248
- }
249
- getUserSettings() {
250
- this.userSettingsService.getUserSettings().subscribe(settings => {
251
- this.updatingUserSettings$.next(false);
252
- if (!settings?.languageCode) {
253
- this.saveUserSettings();
254
- }
255
- else {
256
- this.setUserSettings(settings);
257
- }
258
- });
259
- }
260
- saveUserSettings() {
261
- this.updatingUserSettings$.next(true);
262
- combineLatest([
263
- this._selectedLanguage$,
264
- this.collapsibleWidescreenMenu$,
265
- this.compactMode$,
266
- this.showUserNameInTopBar$,
267
- this._preferredTheme$,
268
- ])
269
- .pipe(take(1), switchMap(([languageCode, collapsibleWidescreenMenu, compactMode, showUserNameInTopBar, preferredTheme,]) => this.userSettingsService.saveUserSettings({
270
- collapsibleWidescreenMenu,
271
- languageCode,
272
- ...(this.enableCompactModeToggle && { compactMode }),
273
- ...(this.enableShowUserNameToggle && { showUserNameInTopBar }),
274
- ...(this.allowUserThemeSwitching && { preferredTheme }),
275
- })))
276
- .subscribe(() => {
277
- this.updatingUserSettings$.next(false);
278
- });
279
- }
280
- setUserSettings(settings) {
281
- this._selectedLanguage$.next(settings.languageCode);
282
- this.updateUserLanguage(settings.languageCode, false);
283
- this.setCollapsibleWidescreenMenu(settings.collapsibleWidescreenMenu, false);
284
- if (this.enableCompactModeToggle)
285
- this.setCompactMode(settings.compactMode, false);
286
- if (this.enableShowUserNameToggle)
287
- this.setShowUserName(settings.showUserNameInTopBar, false);
288
- if (settings.preferredTheme && this.allowUserThemeSwitching) {
289
- this.setPreferredTheme(settings.preferredTheme, false);
290
- }
291
- }
292
- openShowVersionsSubscription() {
293
- this._subscriptions.add(this._isAdmin$.subscribe(isAdmin => {
294
- if (this._hideValtimoVersionsForNonAdmins && !isAdmin) {
295
- this.showValtimoVersions = false;
296
- }
297
- }));
298
- }
299
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: RightSidebarComponent, deps: [{ token: i1.TranslateService }, { token: i2.UserProviderService }, { token: i3.FormBuilder }, { token: i4.VersionService }, { token: i5.ShellService }, { token: i0.ElementRef }, { token: i6.ConfigService }, { token: i6.UserSettingsService }, { token: i5.PageHeaderService }, { token: i5.CdsThemeService }], target: i0.ɵɵFactoryTarget.Component }); }
300
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: RightSidebarComponent, selector: "valtimo-right-sidebar", host: { listeners: { "document:click": "onPageClick($event.target)" } }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"right-sidebar-menu\">\n <cds-panel [expanded]=\"panelExpanded$ | async\">\n <div cdsGrid [condensed]=\"true\">\n <div cdsRow>\n <div cdsCol [columnNumbers]=\"{lg: 16}\" class=\"menu-tabs\" cdsLayer>\n <cds-tabs class=\"cds--tab--list--full-width\">\n <cds-tab [heading]=\"'account.title' | translate\">\n <ng-container *ngTemplateOutlet=\"accountTabTemplate\"></ng-container>\n </cds-tab>\n\n <cds-tab [heading]=\"'settings.title' | translate\">\n <ng-container *ngTemplateOutlet=\"settingsTabTemplate\"></ng-container>\n </cds-tab>\n </cds-tabs>\n </div>\n </div>\n </div>\n </cds-panel>\n</div>\n\n<ng-template #accountTabTemplate>\n <ng-container *ngTemplateOutlet=\"accountInformationTemplate\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"linksTemplate\"></ng-container>\n</ng-template>\n\n<ng-template #settingsTabTemplate>\n <ng-container *ngTemplateOutlet=\"languageSettingsTemplate\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"interfaceSettingsTemplate\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"notificationSettingsTemplate\"></ng-container>\n\n @if (showValtimoVersions) {\n <ng-container *ngTemplateOutlet=\"versionTemplate\"></ng-container>\n }\n</ng-template>\n\n<ng-template #accountInformationTemplate>\n <cds-structured-list>\n <cds-list-header>\n <cds-list-column>{{ 'account.informationTitle' | translate }}</cds-list-column>\n </cds-list-header>\n\n <cds-list-row>\n <cds-list-column>\n <ng-container *ngTemplateOutlet=\"accountInformationTableTemplate\"></ng-container>\n </cds-list-column>\n </cds-list-row>\n </cds-structured-list>\n</ng-template>\n\n<ng-template #accountInformationTableTemplate>\n <div class=\"information-table account-information\">\n <cds-structured-list *ngIf=\"userSubject$ | async as userSubject\">\n <cds-list-row>\n <cds-list-column\n >{{ 'interface.email' | translate }}\n <cds-tag type=\"blue\">{{ userSubject.email }}</cds-tag>\n </cds-list-column>\n </cds-list-row>\n\n <cds-list-row>\n <cds-list-column\n >{{ 'interface.username' | translate }}\n <cds-tag type=\"blue\">{{ userSubject.username }}</cds-tag>\n </cds-list-column>\n </cds-list-row>\n\n <cds-list-row>\n <cds-list-column\n >{{ 'interface.name' | translate }}\n <cds-tag type=\"blue\">{{ userSubject.firstName + ' ' + userSubject.lastName }}</cds-tag>\n </cds-list-column>\n </cds-list-row>\n </cds-structured-list>\n </div>\n</ng-template>\n\n<ng-template #linksTemplate>\n <cds-structured-list>\n <cds-list-header>\n <cds-list-column>{{ 'account.quickLinks' | translate }}</cds-list-column>\n </cds-list-header>\n\n <cds-list-row>\n <cds-list-column>\n <ng-container *ngTemplateOutlet=\"linksTableTemplate\"></ng-container>\n </cds-list-column>\n </cds-list-row>\n </cds-structured-list>\n</ng-template>\n\n<ng-template #linksTableTemplate>\n <div class=\"information-table\">\n <cds-structured-list>\n <cds-list-row>\n <cds-list-column>\n <a href=\"https://docs.valtimo.nl\" target=\"_blank\" cdsLink>{{\n 'account.links.help' | translate\n }}</a>\n </cds-list-column>\n </cds-list-row>\n\n <cds-list-row>\n <cds-list-column *ngIf=\"!overrideFeedbackMenuItemToMailTo; else feedbackMailTo\">\n <a href=\"https://www.valtimo.nl/feedback\" target=\"_blank\" cdsLink>{{\n 'account.links.feedback' | translate\n }}</a>\n </cds-list-column>\n </cds-list-row>\n\n <cds-list-row *ngIf=\"resetUrl\">\n <cds-list-column>\n <a [href]=\"resetUrl\" cdsLink>{{ 'account.links.resetPassword' | translate }}</a>\n </cds-list-column>\n </cds-list-row>\n\n <cds-list-row>\n <cds-list-column>\n <a href=\"javascript:void(0)\" cdsLink (click)=\"logout()\">{{\n 'account.links.signOut' | translate\n }}</a>\n </cds-list-column>\n </cds-list-row>\n\n <cds-list-row *ngIf=\"showPlantATreeButton\">\n <cds-list-column>\n <a\n class=\"text-success\"\n href=\"mailto:valtimo@ritense.com?subject=Plant een boom voor Valtimo&body=Hallo Valtimo gebruiker,%0D%0DMet het versturen van deze e-mail gaan we gelijk aan de slag om een boom te planten. Hiermee compenseren we voor een deel de CO2 uitstoot van je Valtimo gebruik.%0D%0DMet Groene Groet,%0D%0DHet Valtimo team%0D%0D*Deze bomenplantactie kan 1 keer ingezet worden door elke geregistreerde Valtimo gebruiker.%0D%0D** Ritense plant ook jaarlijks bomen voor alle Valtimo installaties die in gebruik zijn.\"\n target=\"_blank\"\n cdsLink\n >\n {{ 'account.links.plantATree' | translate }}\n </a>\n </cds-list-column>\n </cds-list-row>\n </cds-structured-list>\n </div>\n</ng-template>\n\n<ng-template #languageSettingsTemplate>\n <cds-structured-list>\n <cds-list-header>\n <cds-list-column>{{ 'settings.language.title' | translate }}</cds-list-column>\n </cds-list-header>\n\n <cds-list-row>\n <cds-list-column>\n <cds-dropdown\n [id]=\"'language-dropdown'\"\n [appendInline]=\"true\"\n [dropUp]=\"false\"\n (click)=\"$event.stopPropagation()\"\n (selected)=\"updateUserLanguage($event)\"\n >\n <cds-dropdown-list [items]=\"(languageListItems$ | async) || []\"></cds-dropdown-list>\n </cds-dropdown>\n </cds-list-column>\n </cds-list-row>\n </cds-structured-list>\n</ng-template>\n\n<ng-template #notificationSettingsTemplate>\n <cds-structured-list *ngIf=\"emailNotificationSettingsWithSideEffects$ | async\">\n <cds-list-header>\n <cds-list-column>{{ 'settings.notification.title' | translate }}</cds-list-column>\n </cds-list-header>\n\n <cds-list-row>\n <cds-list-column>\n <form [formGroup]=\"settingsForm\" class=\"toggle-group\">\n <cds-toggle\n [label]=\"'settings.notification.taskNotifications' | translate\"\n [onText]=\"'interface.on' | translate\"\n [offText]=\"'interface.off' | translate\"\n formControlName=\"taskNotifications\"\n [disabled]=\"updatingSettings$ | async\"\n >\n </cds-toggle>\n <span class=\"description\">{{\n 'settings.notification.emailNotificationsIntro' | translate\n }}</span>\n </form>\n </cds-list-column>\n </cds-list-row>\n\n <cds-list-row>\n <cds-list-column>\n <form [formGroup]=\"settingsForm\" class=\"toggle-group\">\n <cds-toggle\n [label]=\"'settings.notification.emailNotifications' | translate\"\n [onText]=\"'interface.on' | translate\"\n [offText]=\"'interface.off' | translate\"\n formControlName=\"emailNotifications\"\n [disabled]=\"updatingSettings$ | async\"\n >\n </cds-toggle>\n <span class=\"description\">{{\n 'settings.notification.taskNotificationsIntro' | translate\n }}</span>\n </form>\n </cds-list-column>\n </cds-list-row>\n </cds-structured-list>\n</ng-template>\n\n<ng-template #interfaceSettingsTemplate>\n <cds-structured-list>\n <cds-list-header>\n <cds-list-column>{{ 'settings.interface.title' | translate }}</cds-list-column>\n </cds-list-header>\n\n <cds-list-row>\n <cds-list-column>\n <cds-toggle\n [label]=\"'settings.interface.collapsibleMenu' | translate\"\n [onText]=\"'interface.on' | translate\"\n [offText]=\"'interface.off' | translate\"\n [disabled]=\"updatingUserSettings$ | async\"\n [ngModel]=\"collapsibleWidescreenMenu$ | async\"\n (ngModelChange)=\"setCollapsibleWidescreenMenu($event)\"\n >\n </cds-toggle>\n </cds-list-column>\n </cds-list-row>\n\n <cds-list-row *ngIf=\"allowUserThemeSwitching\">\n <cds-list-column>\n <cds-dropdown\n [label]=\"'settings.interface.themePreference' | translate\"\n [appendInline]=\"true\"\n (click)=\"$event.stopPropagation()\"\n (selected)=\"setPreferredTheme($event)\"\n [dropUp]=\"false\"\n >\n <cds-dropdown-list [items]=\"(themeOptions$ | async) || []\"></cds-dropdown-list>\n </cds-dropdown>\n </cds-list-column>\n </cds-list-row>\n\n <cds-list-row *ngIf=\"enableCompactModeToggle\">\n <cds-list-column>\n <cds-toggle\n [label]=\"'settings.interface.compactMode' | translate\"\n [onText]=\"'interface.on' | translate\"\n [offText]=\"'interface.off' | translate\"\n [disabled]=\"updatingUserSettings$ | async\"\n [ngModel]=\"compactMode$ | async\"\n (ngModelChange)=\"setCompactMode($event)\"\n >\n </cds-toggle>\n </cds-list-column>\n </cds-list-row>\n\n <cds-list-row *ngIf=\"enableShowUserNameToggle\">\n <cds-list-column>\n <cds-toggle\n [label]=\"'settings.interface.showUserName' | translate\"\n [onText]=\"'interface.on' | translate\"\n [offText]=\"'interface.off' | translate\"\n [disabled]=\"updatingUserSettings$ | async\"\n [ngModel]=\"showUserNameInTopBar$ | async\"\n (ngModelChange)=\"setShowUserName($event)\"\n >\n </cds-toggle>\n </cds-list-column>\n </cds-list-row>\n </cds-structured-list>\n</ng-template>\n\n<ng-template #versionTemplate>\n <ng-container *ngIf=\"{backendVersion: backendVersion$ | async} as obs\">\n <cds-structured-list *ngIf=\"obs.backendVersion || frontendVersion\">\n <cds-list-header>\n <cds-list-column>{{ 'settings.version.title' | translate }}</cds-list-column>\n </cds-list-header>\n\n <cds-list-row *ngIf=\"obs.backendVersion\">\n <cds-list-column>\n <div class=\"build-information\">\n <span class=\"build-title\">{{\n 'interface.builds.' + obs.backendVersion.title | translate\n }}</span>\n <div class=\"tag-container\">\n <cds-tag type=\"blue\">{{ obs.backendVersion.version }}</cds-tag>\n </div>\n </div>\n </cds-list-column>\n </cds-list-row>\n\n <cds-list-row *ngIf=\"frontendVersion\">\n <cds-list-column>\n <div class=\"build-information\">\n <span class=\"build-title\">{{\n 'interface.builds.valtimo-frontend-libraries' | translate\n }}</span>\n <div class=\"tag-container\">\n <cds-tag type=\"blue\">{{ frontendVersion }}</cds-tag>\n </div>\n </div>\n </cds-list-column>\n </cds-list-row>\n </cds-structured-list>\n </ng-container>\n</ng-template>\n\n<ng-template #feedbackMailTo>\n <cds-list-column>\n <a\n [href]=\"\n 'mailto:' +\n overrideFeedbackMenuItemToMailTo.email +\n '?subject=' +\n (overrideFeedbackMenuItemToMailTo.subjectTranslationKey | translate) +\n '&body=' +\n (overrideFeedbackMenuItemToMailTo.bodyTranslationKey | translate)\n \"\n target=\"_blank\"\n cdsLink\n >\n {{ 'account.links.feedback' | translate }}\n </a>\n </cds-list-column>\n</ng-template>\n", styles: [".be-scroller-settings{padding-bottom:150px!important}.version-holder{position:fixed;bottom:0;width:259px;background-color:#f8f9fa}.info-text{line-height:1em!important;padding-right:70px;margin-bottom:15px}.right-sidebar-menu .cds--tab--list{width:100%}.right-sidebar-menu .menu-tabs .cds--tabs--scrollable__nav-item{width:12rem}.right-sidebar-menu .menu-tabs .cds--tabs--scrollable__nav-item button{width:100%}.right-sidebar-menu .menu-tabs .cds--tab--overflow-nav-button{display:none}.right-sidebar-menu .cds--header-panel{width:20rem;height:calc(100% - 3rem);transition:transform .11s cubic-bezier(.2,0,1,.9);transform:translate(100%)}.right-sidebar-menu .cds--header-panel--expanded{transform:translate(0)}.right-sidebar-menu .cds--panel--overlay{padding-top:0}.right-sidebar-menu .cds--tab-content{padding:0;outline:0}.right-sidebar-menu .cds--structured-list-td{padding-left:1rem;padding-right:1rem}.right-sidebar-menu .toggle-group{display:flex;flex-direction:column}.right-sidebar-menu .toggle-group .description{margin-top:1rem}.right-sidebar-menu cds-structured-list:last-child .cds--structured-list-row:last-child{border-bottom:0}.right-sidebar-menu .cds--grid,.right-sidebar-menu .cds--row,.right-sidebar-menu .menu-tabs{height:100%}.right-sidebar-menu .cds--grid--condensed{padding-left:1rem;padding-right:1rem}.right-sidebar-menu .cds--tab--list--full-width{display:flex;flex-direction:column;height:100%}.right-sidebar-menu cds-tab{overflow:auto}.right-sidebar-menu .build-information{display:inline-flex;flex-direction:column}.right-sidebar-menu .build-information:not(:last-child){margin-bottom:1rem}.right-sidebar-menu .build-information .tag-container .cds--tag{margin-left:0;margin-right:0;margin-bottom:0}.right-sidebar-menu .information-table cds-list-row:first-child{border-top:0}.right-sidebar-menu .information-table cds-list-row:first-child cds-list-column{border-top:0;padding-top:0}.right-sidebar-menu .information-table cds-list-row:last-child cds-list-column{padding-bottom:0}.right-sidebar-menu .information-table cds-list-row cds-list-column:first-child{padding-left:0!important}.account-information .cds--structured-list-td{display:inline-flex;flex-direction:column;border:none;min-width:100%}.account-information .cds--structured-list-td .cds--tag{margin:0;margin-top:.25rem;width:fit-content}.cds--select-input{background-color:var(--cds-field-02)}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i8.Panel, selector: "cds-panel, ibm-panel", inputs: ["expanded", "ariaLabel"] }, { kind: "directive", type: i8.ColumnDirective, selector: "[cdsCol], [ibmCol]", inputs: ["class", "columnNumbers", "offsets", "columnHang"] }, { kind: "directive", type: i8.GridDirective, selector: "[cdsGrid], [ibmGrid]", inputs: ["condensed", "narrow", "fullWidth", "useCssGrid"] }, { kind: "directive", type: i8.RowDirective, selector: "[cdsRow], [ibmRow]", inputs: ["condensed", "narrow"] }, { kind: "component", type: i8.Tabs, selector: "cds-tabs, ibm-tabs", inputs: ["position", "cacheActive", "followFocus", "isNavigation", "ariaLabel", "ariaLabelledby", "type", "theme", "skeleton"] }, { kind: "component", type: i8.Tab, selector: "cds-tab, ibm-tab", inputs: ["heading", "title", "context", "active", "disabled", "tabIndex", "id", "cacheActive", "tabContent", "templateContext"], outputs: ["selected"] }, { kind: "component", type: i8.StructuredList, selector: "cds-structured-list, ibm-structured-list", inputs: ["selection", "flushed", "condensed", "name", "skeleton"], outputs: ["selected"] }, { kind: "component", type: i8.ListRow, selector: "cds-list-row, ibm-list-row", inputs: ["selected", "label", "value"], outputs: ["change"] }, { kind: "component", type: i8.ListHeader, selector: "cds-list-header, ibm-list-header", inputs: ["skeleton"] }, { kind: "component", type: i8.ListColumn, selector: "cds-list-column, ibm-list-column", inputs: ["skeleton", "nowrap"] }, { kind: "component", type: i8.Toggle, selector: "cds-toggle, ibm-toggle", inputs: ["offText", "onText", "label", "size", "hideLabel", "skeleton"] }, { kind: "component", type: i8.Tag, selector: "cds-tag, ibm-tag", inputs: ["type", "size", "class"] }, { kind: "directive", type: i8.Link, selector: "[cdsLink], [ibmLink]", inputs: ["inline", "disabled"] }, { kind: "component", type: i8.Dropdown, selector: "cds-dropdown, ibm-dropdown", inputs: ["id", "label", "hideLabel", "helperText", "placeholder", "displayValue", "clearText", "size", "type", "theme", "disabled", "skeleton", "inline", "disableArrowKeys", "invalid", "invalidText", "warn", "warnText", "appendInline", "scrollableContainer", "itemValueKey", "selectionFeedback", "menuButtonLabel", "selectedLabel", "dropUp"], outputs: ["selected", "onClose", "close"] }, { kind: "component", type: i8.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "directive", type: i8.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "pipe", type: i7.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
301
- }
302
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: RightSidebarComponent, decorators: [{
303
- type: Component,
304
- args: [{ selector: 'valtimo-right-sidebar', encapsulation: ViewEncapsulation.None, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"right-sidebar-menu\">\n <cds-panel [expanded]=\"panelExpanded$ | async\">\n <div cdsGrid [condensed]=\"true\">\n <div cdsRow>\n <div cdsCol [columnNumbers]=\"{lg: 16}\" class=\"menu-tabs\" cdsLayer>\n <cds-tabs class=\"cds--tab--list--full-width\">\n <cds-tab [heading]=\"'account.title' | translate\">\n <ng-container *ngTemplateOutlet=\"accountTabTemplate\"></ng-container>\n </cds-tab>\n\n <cds-tab [heading]=\"'settings.title' | translate\">\n <ng-container *ngTemplateOutlet=\"settingsTabTemplate\"></ng-container>\n </cds-tab>\n </cds-tabs>\n </div>\n </div>\n </div>\n </cds-panel>\n</div>\n\n<ng-template #accountTabTemplate>\n <ng-container *ngTemplateOutlet=\"accountInformationTemplate\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"linksTemplate\"></ng-container>\n</ng-template>\n\n<ng-template #settingsTabTemplate>\n <ng-container *ngTemplateOutlet=\"languageSettingsTemplate\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"interfaceSettingsTemplate\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"notificationSettingsTemplate\"></ng-container>\n\n @if (showValtimoVersions) {\n <ng-container *ngTemplateOutlet=\"versionTemplate\"></ng-container>\n }\n</ng-template>\n\n<ng-template #accountInformationTemplate>\n <cds-structured-list>\n <cds-list-header>\n <cds-list-column>{{ 'account.informationTitle' | translate }}</cds-list-column>\n </cds-list-header>\n\n <cds-list-row>\n <cds-list-column>\n <ng-container *ngTemplateOutlet=\"accountInformationTableTemplate\"></ng-container>\n </cds-list-column>\n </cds-list-row>\n </cds-structured-list>\n</ng-template>\n\n<ng-template #accountInformationTableTemplate>\n <div class=\"information-table account-information\">\n <cds-structured-list *ngIf=\"userSubject$ | async as userSubject\">\n <cds-list-row>\n <cds-list-column\n >{{ 'interface.email' | translate }}\n <cds-tag type=\"blue\">{{ userSubject.email }}</cds-tag>\n </cds-list-column>\n </cds-list-row>\n\n <cds-list-row>\n <cds-list-column\n >{{ 'interface.username' | translate }}\n <cds-tag type=\"blue\">{{ userSubject.username }}</cds-tag>\n </cds-list-column>\n </cds-list-row>\n\n <cds-list-row>\n <cds-list-column\n >{{ 'interface.name' | translate }}\n <cds-tag type=\"blue\">{{ userSubject.firstName + ' ' + userSubject.lastName }}</cds-tag>\n </cds-list-column>\n </cds-list-row>\n </cds-structured-list>\n </div>\n</ng-template>\n\n<ng-template #linksTemplate>\n <cds-structured-list>\n <cds-list-header>\n <cds-list-column>{{ 'account.quickLinks' | translate }}</cds-list-column>\n </cds-list-header>\n\n <cds-list-row>\n <cds-list-column>\n <ng-container *ngTemplateOutlet=\"linksTableTemplate\"></ng-container>\n </cds-list-column>\n </cds-list-row>\n </cds-structured-list>\n</ng-template>\n\n<ng-template #linksTableTemplate>\n <div class=\"information-table\">\n <cds-structured-list>\n <cds-list-row>\n <cds-list-column>\n <a href=\"https://docs.valtimo.nl\" target=\"_blank\" cdsLink>{{\n 'account.links.help' | translate\n }}</a>\n </cds-list-column>\n </cds-list-row>\n\n <cds-list-row>\n <cds-list-column *ngIf=\"!overrideFeedbackMenuItemToMailTo; else feedbackMailTo\">\n <a href=\"https://www.valtimo.nl/feedback\" target=\"_blank\" cdsLink>{{\n 'account.links.feedback' | translate\n }}</a>\n </cds-list-column>\n </cds-list-row>\n\n <cds-list-row *ngIf=\"resetUrl\">\n <cds-list-column>\n <a [href]=\"resetUrl\" cdsLink>{{ 'account.links.resetPassword' | translate }}</a>\n </cds-list-column>\n </cds-list-row>\n\n <cds-list-row>\n <cds-list-column>\n <a href=\"javascript:void(0)\" cdsLink (click)=\"logout()\">{{\n 'account.links.signOut' | translate\n }}</a>\n </cds-list-column>\n </cds-list-row>\n\n <cds-list-row *ngIf=\"showPlantATreeButton\">\n <cds-list-column>\n <a\n class=\"text-success\"\n href=\"mailto:valtimo@ritense.com?subject=Plant een boom voor Valtimo&body=Hallo Valtimo gebruiker,%0D%0DMet het versturen van deze e-mail gaan we gelijk aan de slag om een boom te planten. Hiermee compenseren we voor een deel de CO2 uitstoot van je Valtimo gebruik.%0D%0DMet Groene Groet,%0D%0DHet Valtimo team%0D%0D*Deze bomenplantactie kan 1 keer ingezet worden door elke geregistreerde Valtimo gebruiker.%0D%0D** Ritense plant ook jaarlijks bomen voor alle Valtimo installaties die in gebruik zijn.\"\n target=\"_blank\"\n cdsLink\n >\n {{ 'account.links.plantATree' | translate }}\n </a>\n </cds-list-column>\n </cds-list-row>\n </cds-structured-list>\n </div>\n</ng-template>\n\n<ng-template #languageSettingsTemplate>\n <cds-structured-list>\n <cds-list-header>\n <cds-list-column>{{ 'settings.language.title' | translate }}</cds-list-column>\n </cds-list-header>\n\n <cds-list-row>\n <cds-list-column>\n <cds-dropdown\n [id]=\"'language-dropdown'\"\n [appendInline]=\"true\"\n [dropUp]=\"false\"\n (click)=\"$event.stopPropagation()\"\n (selected)=\"updateUserLanguage($event)\"\n >\n <cds-dropdown-list [items]=\"(languageListItems$ | async) || []\"></cds-dropdown-list>\n </cds-dropdown>\n </cds-list-column>\n </cds-list-row>\n </cds-structured-list>\n</ng-template>\n\n<ng-template #notificationSettingsTemplate>\n <cds-structured-list *ngIf=\"emailNotificationSettingsWithSideEffects$ | async\">\n <cds-list-header>\n <cds-list-column>{{ 'settings.notification.title' | translate }}</cds-list-column>\n </cds-list-header>\n\n <cds-list-row>\n <cds-list-column>\n <form [formGroup]=\"settingsForm\" class=\"toggle-group\">\n <cds-toggle\n [label]=\"'settings.notification.taskNotifications' | translate\"\n [onText]=\"'interface.on' | translate\"\n [offText]=\"'interface.off' | translate\"\n formControlName=\"taskNotifications\"\n [disabled]=\"updatingSettings$ | async\"\n >\n </cds-toggle>\n <span class=\"description\">{{\n 'settings.notification.emailNotificationsIntro' | translate\n }}</span>\n </form>\n </cds-list-column>\n </cds-list-row>\n\n <cds-list-row>\n <cds-list-column>\n <form [formGroup]=\"settingsForm\" class=\"toggle-group\">\n <cds-toggle\n [label]=\"'settings.notification.emailNotifications' | translate\"\n [onText]=\"'interface.on' | translate\"\n [offText]=\"'interface.off' | translate\"\n formControlName=\"emailNotifications\"\n [disabled]=\"updatingSettings$ | async\"\n >\n </cds-toggle>\n <span class=\"description\">{{\n 'settings.notification.taskNotificationsIntro' | translate\n }}</span>\n </form>\n </cds-list-column>\n </cds-list-row>\n </cds-structured-list>\n</ng-template>\n\n<ng-template #interfaceSettingsTemplate>\n <cds-structured-list>\n <cds-list-header>\n <cds-list-column>{{ 'settings.interface.title' | translate }}</cds-list-column>\n </cds-list-header>\n\n <cds-list-row>\n <cds-list-column>\n <cds-toggle\n [label]=\"'settings.interface.collapsibleMenu' | translate\"\n [onText]=\"'interface.on' | translate\"\n [offText]=\"'interface.off' | translate\"\n [disabled]=\"updatingUserSettings$ | async\"\n [ngModel]=\"collapsibleWidescreenMenu$ | async\"\n (ngModelChange)=\"setCollapsibleWidescreenMenu($event)\"\n >\n </cds-toggle>\n </cds-list-column>\n </cds-list-row>\n\n <cds-list-row *ngIf=\"allowUserThemeSwitching\">\n <cds-list-column>\n <cds-dropdown\n [label]=\"'settings.interface.themePreference' | translate\"\n [appendInline]=\"true\"\n (click)=\"$event.stopPropagation()\"\n (selected)=\"setPreferredTheme($event)\"\n [dropUp]=\"false\"\n >\n <cds-dropdown-list [items]=\"(themeOptions$ | async) || []\"></cds-dropdown-list>\n </cds-dropdown>\n </cds-list-column>\n </cds-list-row>\n\n <cds-list-row *ngIf=\"enableCompactModeToggle\">\n <cds-list-column>\n <cds-toggle\n [label]=\"'settings.interface.compactMode' | translate\"\n [onText]=\"'interface.on' | translate\"\n [offText]=\"'interface.off' | translate\"\n [disabled]=\"updatingUserSettings$ | async\"\n [ngModel]=\"compactMode$ | async\"\n (ngModelChange)=\"setCompactMode($event)\"\n >\n </cds-toggle>\n </cds-list-column>\n </cds-list-row>\n\n <cds-list-row *ngIf=\"enableShowUserNameToggle\">\n <cds-list-column>\n <cds-toggle\n [label]=\"'settings.interface.showUserName' | translate\"\n [onText]=\"'interface.on' | translate\"\n [offText]=\"'interface.off' | translate\"\n [disabled]=\"updatingUserSettings$ | async\"\n [ngModel]=\"showUserNameInTopBar$ | async\"\n (ngModelChange)=\"setShowUserName($event)\"\n >\n </cds-toggle>\n </cds-list-column>\n </cds-list-row>\n </cds-structured-list>\n</ng-template>\n\n<ng-template #versionTemplate>\n <ng-container *ngIf=\"{backendVersion: backendVersion$ | async} as obs\">\n <cds-structured-list *ngIf=\"obs.backendVersion || frontendVersion\">\n <cds-list-header>\n <cds-list-column>{{ 'settings.version.title' | translate }}</cds-list-column>\n </cds-list-header>\n\n <cds-list-row *ngIf=\"obs.backendVersion\">\n <cds-list-column>\n <div class=\"build-information\">\n <span class=\"build-title\">{{\n 'interface.builds.' + obs.backendVersion.title | translate\n }}</span>\n <div class=\"tag-container\">\n <cds-tag type=\"blue\">{{ obs.backendVersion.version }}</cds-tag>\n </div>\n </div>\n </cds-list-column>\n </cds-list-row>\n\n <cds-list-row *ngIf=\"frontendVersion\">\n <cds-list-column>\n <div class=\"build-information\">\n <span class=\"build-title\">{{\n 'interface.builds.valtimo-frontend-libraries' | translate\n }}</span>\n <div class=\"tag-container\">\n <cds-tag type=\"blue\">{{ frontendVersion }}</cds-tag>\n </div>\n </div>\n </cds-list-column>\n </cds-list-row>\n </cds-structured-list>\n </ng-container>\n</ng-template>\n\n<ng-template #feedbackMailTo>\n <cds-list-column>\n <a\n [href]=\"\n 'mailto:' +\n overrideFeedbackMenuItemToMailTo.email +\n '?subject=' +\n (overrideFeedbackMenuItemToMailTo.subjectTranslationKey | translate) +\n '&body=' +\n (overrideFeedbackMenuItemToMailTo.bodyTranslationKey | translate)\n \"\n target=\"_blank\"\n cdsLink\n >\n {{ 'account.links.feedback' | translate }}\n </a>\n </cds-list-column>\n</ng-template>\n", styles: [".be-scroller-settings{padding-bottom:150px!important}.version-holder{position:fixed;bottom:0;width:259px;background-color:#f8f9fa}.info-text{line-height:1em!important;padding-right:70px;margin-bottom:15px}.right-sidebar-menu .cds--tab--list{width:100%}.right-sidebar-menu .menu-tabs .cds--tabs--scrollable__nav-item{width:12rem}.right-sidebar-menu .menu-tabs .cds--tabs--scrollable__nav-item button{width:100%}.right-sidebar-menu .menu-tabs .cds--tab--overflow-nav-button{display:none}.right-sidebar-menu .cds--header-panel{width:20rem;height:calc(100% - 3rem);transition:transform .11s cubic-bezier(.2,0,1,.9);transform:translate(100%)}.right-sidebar-menu .cds--header-panel--expanded{transform:translate(0)}.right-sidebar-menu .cds--panel--overlay{padding-top:0}.right-sidebar-menu .cds--tab-content{padding:0;outline:0}.right-sidebar-menu .cds--structured-list-td{padding-left:1rem;padding-right:1rem}.right-sidebar-menu .toggle-group{display:flex;flex-direction:column}.right-sidebar-menu .toggle-group .description{margin-top:1rem}.right-sidebar-menu cds-structured-list:last-child .cds--structured-list-row:last-child{border-bottom:0}.right-sidebar-menu .cds--grid,.right-sidebar-menu .cds--row,.right-sidebar-menu .menu-tabs{height:100%}.right-sidebar-menu .cds--grid--condensed{padding-left:1rem;padding-right:1rem}.right-sidebar-menu .cds--tab--list--full-width{display:flex;flex-direction:column;height:100%}.right-sidebar-menu cds-tab{overflow:auto}.right-sidebar-menu .build-information{display:inline-flex;flex-direction:column}.right-sidebar-menu .build-information:not(:last-child){margin-bottom:1rem}.right-sidebar-menu .build-information .tag-container .cds--tag{margin-left:0;margin-right:0;margin-bottom:0}.right-sidebar-menu .information-table cds-list-row:first-child{border-top:0}.right-sidebar-menu .information-table cds-list-row:first-child cds-list-column{border-top:0;padding-top:0}.right-sidebar-menu .information-table cds-list-row:last-child cds-list-column{padding-bottom:0}.right-sidebar-menu .information-table cds-list-row cds-list-column:first-child{padding-left:0!important}.account-information .cds--structured-list-td{display:inline-flex;flex-direction:column;border:none;min-width:100%}.account-information .cds--structured-list-td .cds--tag{margin:0;margin-top:.25rem;width:fit-content}.cds--select-input{background-color:var(--cds-field-02)}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
305
- }], ctorParameters: () => [{ type: i1.TranslateService }, { type: i2.UserProviderService }, { type: i3.FormBuilder }, { type: i4.VersionService }, { type: i5.ShellService }, { type: i0.ElementRef }, { type: i6.ConfigService }, { type: i6.UserSettingsService }, { type: i5.PageHeaderService }, { type: i5.CdsThemeService }], propDecorators: { onPageClick: [{
306
- type: HostListener,
307
- args: ['document:click', ['$event.target']]
308
- }] } });
309
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmlnaHQtc2lkZWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3JpZ2h0LXNpZGViYXIvcmlnaHQtc2lkZWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3JpZ2h0LXNpZGViYXIvcmlnaHQtc2lkZWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFDTCxTQUFTLEVBRVQsWUFBWSxFQUdaLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQWMsV0FBVyxFQUFZLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkUsT0FBTyxFQUFDLHFCQUFxQixFQUFpQixNQUFNLGNBQWMsQ0FBQztBQUNuRSxPQUFPLEVBUUwsUUFBUSxHQUNULE1BQU0saUJBQWlCLENBQUM7QUFFekIsT0FBTyxFQUFDLGVBQWUsRUFBRSxhQUFhLEVBQWMsWUFBWSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFHL0YsT0FBTyxFQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7OztBQVN4QyxNQUFNLE9BQU8scUJBQXFCO0lBRXpCLFdBQVcsQ0FBQyxhQUFhO1FBQzlCLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLENBQUM7YUFDaEYsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNiLFNBQVMsQ0FBQyxDQUFDLENBQUMsYUFBYSxFQUFFLGFBQWEsQ0FBQyxF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dUJBQXVCLEVBQUUsQ0FBQztZQUM1RCxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN6RCxDQUFDO0lBQ0gsQ0FBQztJQUVPLDRCQUE0QjtRQUNsQyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FDckIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDakMsSUFBSSxJQUFJLENBQUMsZ0NBQWdDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDdEQsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEtBQUssQ0FBQztZQUNuQyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7K0dBdFdVLHFCQUFxQjttR0FBckIscUJBQXFCLHNJQ2xEbEMscytYQXNWQTs7NEZEcFNhLHFCQUFxQjtrQkFOakMsU0FBUzsrQkFDRSx1QkFBdUIsaUJBR2xCLGlCQUFpQixDQUFDLElBQUk7OFZBSTlCLFdBQVc7c0JBRGpCLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RMaXN0ZW5lcixcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Rm9ybUJ1aWxkZXIsIEZvcm1Db250cm9sLCBGb3JtR3JvdXB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge1NlbGVjdGFibGVDYXJib25UaGVtZSwgVmFsdGltb1ZlcnNpb259IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQge1xuICBDb25maWdTZXJ2aWNlLFxuICBFbWFpbE5vdGlmaWNhdGlvblNldHRpbmdzLFxuICBGZWVkYmFja01haWxUbyxcbiAgVXNlcklkZW50aXR5LFxuICBVc2VyU2V0dGluZ3MsXG4gIFVzZXJTZXR0aW5nc1NlcnZpY2UsXG4gIFZhbHRpbW9Db25maWcsXG4gIFZFUlNJT05TLFxufSBmcm9tICdAdmFsdGltby9jb25maWcnO1xuaW1wb3J0IHtVc2VyUHJvdmlkZXJTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9zZWN1cml0eSc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uLCBzd2l0Y2hNYXAsIHRha2V9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtWZXJzaW9uU2VydmljZX0gZnJvbSAnLi4vdmVyc2lvbi92ZXJzaW9uLnNlcnZpY2UnO1xuaW1wb3J0IHtDZHNUaGVtZVNlcnZpY2UsIFBhZ2VIZWFkZXJTZXJ2aWNlLCBTaGVsbFNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7bWFwLCB0YXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7TGlzdEl0ZW19IGZyb20gJ2NhcmJvbi1jb21wb25lbnRzLWFuZ3VsYXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLXJpZ2h0LXNpZGViYXInLFxuICB0ZW1wbGF0ZVVybDogJy4vcmlnaHQtc2lkZWJhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JpZ2h0LXNpZGViYXIuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgUmlnaHRTaWRlYmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50LnRhcmdldCddKVxuICBwdWJsaWMgb25QYWdlQ2xpY2sodGFyZ2V0RWxlbWVudCkge1xuICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMuc2hlbGxTZXJ2aWNlLnBhbmVsRXhwYW5kZWQkLCB0aGlzLnNoZWxsU2VydmljZS5tb3VzZU9uVG9wQmFyJF0pXG4gICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgLnN1YnNjcmliZSgoW3BhbmVsRXhwYW5kZWQsIG1vdXNlT25Ub3BCYXJdKSA9PiB7XG4gICAgICAgIGNvbnN0IGNsaWNrZWRJbnNpZGUgPVxuICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKHRhcmdldEVsZW1lbnQpIHx8IG1vdXNlT25Ub3BCYXI7XG5cbiAgICAgICAgaWYgKCFjbGlja2VkSW5zaWRlICYmIHBhbmVsRXhwYW5kZWQpIHtcbiAgICAgICAgICB0aGlzLnNoZWxsU2VydmljZS5zZXRQYW5lbEV4cGFuZGVkKGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgcmVhZG9ubHkgc2V0dGluZ3NGb3JtOiBGb3JtR3JvdXAgPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICB0YXNrTm90aWZpY2F0aW9uczogbmV3IEZvcm1Db250cm9sKGZhbHNlKSxcbiAgICBlbWFpbE5vdGlmaWNhdGlvbnM6IG5ldyBGb3JtQ29udHJvbChmYWxzZSksXG4gICAgZW1haWxOb3RpZmljYXRpb25Pbk1vbmRheTogbmV3IEZvcm1Db250cm9sKGZhbHNlKSxcbiAgICBlbWFpbE5vdGlmaWNhdGlvbk9uVHVlc2RheTogbmV3IEZvcm1Db250cm9sKGZhbHNlKSxcbiAgICBlbWFpbE5vdGlmaWNhdGlvbk9uV2VkbmVzZGF5OiBuZXcgRm9ybUNvbnRyb2woZmFsc2UpLFxuICAgIGVtYWlsTm90aWZpY2F0aW9uT25UaHVyc2RheTogbmV3IEZvcm1Db250cm9sKGZhbHNlKSxcbiAgICBlbWFpbE5vdGlmaWNhdGlvbk9uRnJpZGF5OiBuZXcgRm9ybUNvbnRyb2woZmFsc2UpLFxuICAgIGVtYWlsTm90aWZpY2F0aW9uT25TYXR1cmRheTogbmV3IEZvcm1Db250cm9sKGZhbHNlKSxcbiAgICBlbWFpbE5vdGlmaWNhdGlvbk9uU3VuZGF5OiBuZXcgRm9ybUNvbnRyb2woZmFsc2UpLFxuICB9KTtcblxuICBwdWJsaWMgcmVhZG9ubHkgcGFuZWxFeHBhbmRlZCQgPSB0aGlzLnNoZWxsU2VydmljZS5wYW5lbEV4cGFuZGVkJDtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9zZWxlY3RlZExhbmd1YWdlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2xhbmd1YWdlT3B0aW9ucyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEFycmF5PHN0cmluZz4+KFtdKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgbGFuZ3VhZ2VMaXN0SXRlbXMkOiBPYnNlcnZhYmxlPExpc3RJdGVtW10+ID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy5fbGFuZ3VhZ2VPcHRpb25zJCxcbiAgICB0aGlzLl9zZWxlY3RlZExhbmd1YWdlJCxcbiAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2Uuc3RyZWFtKCdrZXknKSxcbiAgXSkucGlwZShcbiAgICBtYXAoKFtsYW5ndWFnZU9wdGlvbnMsIHNlbGVjdGVkTGFuZ3VhZ2VdKSA9PlxuICAgICAgbGFuZ3VhZ2VPcHRpb25zLm1hcChsYW5ndWFnZUtleSA9PiAoe1xuICAgICAgICBjb250ZW50OiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnc2V0dGluZ3MubGFuZ3VhZ2Uub3B0aW9ucy4nICsgbGFuZ3VhZ2VLZXkpLFxuICAgICAgICBrZXk6IGxhbmd1YWdlS2V5LFxuICAgICAgICBzZWxlY3RlZDogc2VsZWN0ZWRMYW5ndWFnZSA9PT0gbGFuZ3VhZ2VLZXksXG4gICAgICB9KSlcbiAgICApXG4gICk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGJhY2tlbmRWZXJzaW9uJDogT2JzZXJ2YWJsZTxWYWx0aW1vVmVyc2lvbj4gPSB0aGlzLnZlcnNpb25TZXJ2aWNlLmdldFZlcnNpb24oKTtcbiAgcHVibGljIHJlYWRvbmx5IHVzZXJTdWJqZWN0JDogT2JzZXJ2YWJsZTxVc2VySWRlbnRpdHk+ID1cbiAgICB0aGlzLnVzZXJQcm92aWRlclNlcnZpY2UuZ2V0VXNlclN1YmplY3QoKTtcbiAgcHVibGljIHJlYWRvbmx5IHVwZGF0aW5nU2V0dGluZ3MkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKTtcbiAgcHVibGljIHJlYWRvbmx5IHVwZGF0aW5nVXNlclNldHRpbmdzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZW1haWxOb3RpZmljYXRpb25TZXR0aW5ncyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEVtYWlsTm90aWZpY2F0aW9uU2V0dGluZ3M+KFxuICAgIHVuZGVmaW5lZFxuICApO1xuXG4gIHB1YmxpYyByZWFkb25seSBlbWFpbE5vdGlmaWNhdGlvblNldHRpbmdzV2l0aFNpZGVFZmZlY3RzJDogT2JzZXJ2YWJsZTxFbWFpbE5vdGlmaWNhdGlvblNldHRpbmdzPiA9XG4gICAgdGhpcy5fZW1haWxOb3RpZmljYXRpb25TZXR0aW5ncyQucGlwZShcbiAgICAgIHRhcChyZXN1bHRzID0+IHtcbiAgICAgICAgaWYgKHJlc3VsdHMpIHtcbiAgICAgICAgICB0aGlzLnNldHRpbmdzRm9ybS5zZXRWYWx1ZShyZXN1bHRzKTtcbiAgICAgICAgICB0aGlzLnVwZGF0aW5nU2V0dGluZ3MkLm5leHQoZmFsc2UpO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGNvbGxhcHNpYmxlV2lkZXNjcmVlbk1lbnUkID0gdGhpcy5zaGVsbFNlcnZpY2UuY29sbGFwc2libGVXaWRlc2NyZWVuTWVudSQ7XG4gIHB1YmxpYyByZWFkb25seSBjb21wYWN0TW9kZSQgPSB0aGlzLnBhZ2VIZWFkZXJTZXJ2aWNlLmNvbXBhY3RNb2RlJDtcbiAgcHVibGljIHJlYWRvbmx5IHNob3dVc2VyTmFtZUluVG9wQmFyJCA9IHRoaXMucGFnZUhlYWRlclNlcnZpY2Uuc2hvd1VzZXJOYW1lSW5Ub3BCYXIkO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3ByZWZlcnJlZFRoZW1lJCA9IHRoaXMuY2RzVGhlbWVTZXJ2aWNlLnByZWZlcnJlZFRoZW1lJDtcblxuICBwdWJsaWMgZnJvbnRlbmRWZXJzaW9uITogc3RyaW5nO1xuXG4gIHB1YmxpYyBzaG93VmFsdGltb1ZlcnNpb25zID0gdHJ1ZTtcblxuICBwdWJsaWMgcmVhZG9ubHkgdGhlbWVPcHRpb25zJDogT2JzZXJ2YWJsZTxMaXN0SXRlbVtdPiA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMuX3ByZWZlcnJlZFRoZW1lJCxcbiAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2Uuc3RyZWFtKCdrZXknKSxcbiAgXSkucGlwZShcbiAgICBtYXAoKFtwcmVmZXJyZWRUaGVtZV0pID0+IFtcbiAgICAgIHtcbiAgICAgICAgY29udGVudDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3NldHRpbmdzLmludGVyZmFjZS50aGVtZXMubGlnaHQnKSxcbiAgICAgICAga2V5OiBTZWxlY3RhYmxlQ2FyYm9uVGhlbWUuRzEwLFxuICAgICAgICBzZWxlY3RlZDogcHJlZmVycmVkVGhlbWUgPT09IFNlbGVjdGFibGVDYXJib25UaGVtZS5HMTAsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBjb250ZW50OiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnc2V0dGluZ3MuaW50ZXJmYWNlLnRoZW1lcy5kYXJrJyksXG4gICAgICAgIGtleTogU2VsZWN0YWJsZUNhcmJvblRoZW1lLkc5MCxcbiAgICAgICAgc2VsZWN0ZWQ6IHByZWZlcnJlZFRoZW1lID09PSBTZWxlY3RhYmxlQ2FyYm9uVGhlbWUuRzkwLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgY29udGVudDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3NldHRpbmdzLmludGVyZmFjZS50aGVtZXMuc3lzdGVtJyksXG4gICAgICAgIGtleTogU2VsZWN0YWJsZUNhcmJvblRoZW1lLlNZU1RFTSxcbiAgICAgICAgc2VsZWN0ZWQ6IHByZWZlcnJlZFRoZW1lID09PSBTZWxlY3RhYmxlQ2FyYm9uVGhlbWUuU1lTVEVNLFxuICAgICAgfSxcbiAgICBdKVxuICApO1xuXG4gIHB1YmxpYyBvdmVycmlkZUZlZWRiYWNrTWVudUl0ZW1Ub01haWxUbyE6IEZlZWRiYWNrTWFpbFRvO1xuICBwdWJsaWMgYWxsb3dVc2VyVGhlbWVTd2l0Y2hpbmcgPSB0cnVlO1xuICBwdWJsaWMgZW5hYmxlQ29tcGFjdE1vZGVUb2dnbGUgPSB0cnVlO1xuICBwdWJsaWMgZW5hYmxlU2hvd1VzZXJOYW1lVG9nZ2xlID0gZmFsc2U7XG4gIHB1YmxpYyBzaG93UGxhbnRBVHJlZUJ1dHRvbiA9IGZhbHNlO1xuICBwdWJsaWMgcmVzZXRVcmwhOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBfaGlkZVZhbHRpbW9WZXJzaW9uc0Zvck5vbkFkbWlucyA9IGZhbHNlO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2lzQWRtaW4kOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy51c2VyUHJvdmlkZXJTZXJ2aWNlXG4gICAgLmdldFVzZXJTdWJqZWN0KClcbiAgICAucGlwZShtYXAodXNlcklkZW50aXR5ID0+IHVzZXJJZGVudGl0eT8ucm9sZXMuaW5jbHVkZXMoJ1JPTEVfQURNSU4nKSkpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3N1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlclByb3ZpZGVyU2VydmljZTogVXNlclByb3ZpZGVyU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHZlcnNpb25TZXJ2aWNlOiBWZXJzaW9uU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNoZWxsU2VydmljZTogU2hlbGxTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB1c2VyU2V0dGluZ3NTZXJ2aWNlOiBVc2VyU2V0dGluZ3NTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcGFnZUhlYWRlclNlcnZpY2U6IFBhZ2VIZWFkZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2RzVGhlbWVTZXJ2aWNlOiBDZHNUaGVtZVNlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRTZXR0aW5ncygpO1xuICAgIHRoaXMuaW5pdEZyb250ZW5kVmVyc2lvbigpO1xuICAgIHRoaXMub3BlblNob3dWZXJzaW9uc1N1YnNjcmlwdGlvbigpO1xuICAgIHRoaXMuc2V0TGFuZ3VhZ2UoKTtcbiAgICB0aGlzLmxvYWRFbWFpbE5vdGlmaWNhdGlvblNldHRpbmdzKCk7XG4gICAgdGhpcy5vcGVuRm9ybVN1YnNjcmlwdGlvbigpO1xuICAgIHRoaXMuZ2V0VXNlclNldHRpbmdzKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZVVzZXJMYW5ndWFnZShsYW5nS2V5OiBzdHJpbmcgfCB7aXRlbT86IHtrZXk/OiBzdHJpbmd9fSwgc2F2ZVNldHRpbmdzID0gdHJ1ZSk6IHZvaWQge1xuICAgIGNvbnN0IGxhbmdLZXlUb1VzZSA9IChsYW5nS2V5IGFzIGFueSk/Lml0ZW0/LmtleVxuICAgICAgPyAobGFuZ0tleSBhcyBhbnkpPy5pdGVtLmtleVxuICAgICAgOiAobGFuZ0tleSBhcyBzdHJpbmcpO1xuXG4gICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlXG4gICAgICAudXNlKGxhbmdLZXlUb1VzZSlcbiAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2xhbmdLZXknLCBsYW5nS2V5VG9Vc2UpO1xuICAgICAgICB0aGlzLl9zZWxlY3RlZExhbmd1YWdlJC5uZXh0KGxhbmdLZXlUb1VzZSk7XG5cbiAgICAgICAgaWYgKHNhdmVTZXR0aW5ncykge1xuICAgICAgICAgIHRoaXMuc2F2ZVVzZXJTZXR0aW5ncygpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRDb2xsYXBzaWJsZVdpZGVzY3JlZW5NZW51KGNvbGxhcHNpYmxlOiBib29sZWFuLCBzYXZlU2V0dGluZ3MgPSB0cnVlKTogdm9pZCB7XG4gICAgdGhpcy5zaGVsbFNlcnZpY2Uuc2V0Q29sbGFwc2libGVXaWRlc2NyZWVuTWVudShjb2xsYXBzaWJsZSk7XG5cbiAgICBpZiAoc2F2ZVNldHRpbmdzKSB7XG4gICAgICB0aGlzLnNhdmVVc2VyU2V0dGluZ3MoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2V0Q29tcGFjdE1vZGUoY29tcGFjdE1vZGU6IGJvb2xlYW4sIHNhdmVTZXR0aW5ncyA9IHRydWUpOiB2b2lkIHtcbiAgICB0aGlzLnBhZ2VIZWFkZXJTZXJ2aWNlLnNldENvbXBhY3RNb2RlKGNvbXBhY3RNb2RlKTtcblxuICAgIGlmIChzYXZlU2V0dGluZ3MpIHtcbiAgICAgIHRoaXMuc2F2ZVVzZXJTZXR0aW5ncygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZXRTaG93VXNlck5hbWUoc2hvd1VzZXJOYW1lOiBib29sZWFuLCBzYXZlU2V0dGluZ3MgPSB0cnVlKTogdm9pZCB7XG4gICAgdGhpcy5wYWdlSGVhZGVyU2VydmljZS5zZXRTaG93VXNlck5hbWVJblRvcEJhcihzaG93VXNlck5hbWUpO1xuXG4gICAgaWYgKHNhdmVTZXR0aW5ncykge1xuICAgICAgdGhpcy5zYXZlVXNlclNldHRpbmdzKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNldFByZWZlcnJlZFRoZW1lKFxuICAgIHNlbGVjdGVkVGhlbWU6IHN0cmluZyB8IHtpdGVtPzoge2tleT86IHN0cmluZ319LFxuICAgIHNhdmVTZXR0aW5ncyA9IHRydWVcbiAgKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYWxsb3dVc2VyVGhlbWVTd2l0Y2hpbmcpIHtcbiAgICAgIGlmICgoc2VsZWN0ZWRUaGVtZSBhcyBhbnkpPy5pdGVtPy5rZXkpIHtcbiAgICAgICAgdGhpcy5jZHNUaGVtZVNlcnZpY2Uuc2V0UHJlZmVycmVkVGhlbWUoXG4gICAgICAgICAgKHNlbGVjdGVkVGhlbWUgYXMgYW55KS5pdGVtPy5rZXkgYXMgU2VsZWN0YWJsZUNhcmJvblRoZW1lXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNkc1RoZW1lU2VydmljZS5zZXRQcmVmZXJyZWRUaGVtZShzZWxlY3RlZFRoZW1lIGFzIFNlbGVjdGFibGVDYXJib25UaGVtZSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChzYXZlU2V0dGluZ3MpIHtcbiAgICAgICAgdGhpcy5zYXZlVXNlclNldHRpbmdzKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGxvZ291dCgpOiB2b2lkIHtcbiAgICB0aGlzLnVzZXJQcm92aWRlclNlcnZpY2UubG9nb3V0KCk7XG4gIH1cblxuICBwcml2YXRlIGluaXRTZXR0aW5ncygpOiB2b2lkIHtcbiAgICBjb25zdCBjb25maWc6IFZhbHRpbW9Db25maWcgPSB0aGlzLmNvbmZpZ1NlcnZpY2U/LmNvbmZpZztcbiAgICBjb25zdCBmZWF0dXJlVG9nZ2xlcyA9IGNvbmZpZz8uZmVhdHVyZVRvZ2dsZXMgfHwge307XG5cbiAgICB0aGlzLnJlc2V0VXJsID0gY29uZmlnPy5jaGFuZ2VQYXNzd29yZFVybD8uZW5kcG9pbnRVcmk7XG4gICAgdGhpcy5vdmVycmlkZUZlZWRiYWNrTWVudUl0ZW1Ub01haWxUbyA9IGNvbmZpZz8ub3ZlcnJpZGVGZWVkYmFja01lbnVJdGVtVG9NYWlsVG87XG5cbiAgICB0aGlzLmVuYWJsZVNob3dVc2VyTmFtZVRvZ2dsZSA9ICEhZmVhdHVyZVRvZ2dsZXMuZW5hYmxlVXNlck5hbWVJblRvcEJhclRvZ2dsZTtcbiAgICB0aGlzLnNob3dQbGFudEFUcmVlQnV0dG9uID0gISFmZWF0dXJlVG9nZ2xlcy5zaG93UGxhbnRBVHJlZUJ1dHRvbjtcblxuICAgIGlmIChmZWF0dXJlVG9nZ2xlcy5oYXNPd25Qcm9wZXJ0eSgnYWxsb3dVc2VyVGhlbWVTd2l0Y2hpbmcnKSkge1xuICAgICAgdGhpcy5hbGxvd1VzZXJUaGVtZVN3aXRjaGluZyA9ICEhZmVhdHVyZVRvZ2dsZXMuYWxsb3dVc2VyVGhlbWVTd2l0Y2hpbmc7XG4gICAgfVxuXG4gICAgaWYgKGZlYXR1cmVUb2dnbGVzLmhhc093blByb3BlcnR5KCdlbmFibGVDb21wYWN0TW9kZVRvZ2dsZScpKSB7XG4gICAgICB0aGlzLmVuYWJsZUNvbXBhY3RNb2RlVG9nZ2xlID0gISFmZWF0dXJlVG9nZ2xlcy5lbmFibGVDb21wYWN0TW9kZVRvZ2dsZTtcbiAgICB9XG5cbiAgICBpZiAoZmVhdHVyZVRvZ2dsZXMuaGFzT3duUHJvcGVydHkoJ2hpZGVWYWx0aW1vVmVyc2lvbnNGb3JOb25BZG1pbnMnKSkge1xuICAgICAgdGhpcy5faGlkZVZhbHRpbW9WZXJzaW9uc0Zvck5vbkFkbWlucyA9ICEhZmVhdHVyZVRvZ2dsZXMuaGlkZVZhbHRpbW9WZXJzaW9uc0Zvck5vbkFkbWlucztcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGluaXRGcm9udGVuZFZlcnNpb24oKTogdm9pZCB7XG4gICAgdGhpcy5mcm9udGVuZFZlcnNpb24gPSBWRVJTSU9OUz8uZnJvbnRlbmRMaWJyYXJpZXM7XG4gIH1cblxuICBwcml2YXRlIG9wZW5Gb3JtU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgY29tYmluZUxhdGVzdChbXG4gICAgICAgIHRoaXMuX2VtYWlsTm90aWZpY2F0aW9uU2V0dGluZ3MkLFxuICAgICAgICB0aGlzLnNldHRpbmdzRm9ybS52YWx1ZUNoYW5nZXMsXG4gICAgICAgIHRoaXMudXBkYXRpbmdTZXR0aW5ncyQsXG4gICAgICBdKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICB0YXAoKFtzZXR0aW5ncywgZm9ybVZhbHVlLCB1cGRhdGluZ1NldHRpbmdzXSkgPT4ge1xuICAgICAgICAgICAgaWYgKHNldHRpbmdzICYmIGZvcm1WYWx1ZSkge1xuICAgICAgICAgICAgICBjb25zdCBzZXR0aW5nc1N0cmluZ2lmaWVkID0gSlNPTi5zdHJpbmdpZnkodGhpcy5zb3J0T2JqZWN0QWxwaGFiZXRpY2FsbHkoc2V0dGluZ3MpKTtcbiAgICAgICAgICAgICAgY29uc3QgZm9ybVN0cmluZ2lmaWVkID0gSlNPTi5zdHJpbmdpZnkodGhpcy5zb3J0T2JqZWN0QWxwaGFiZXRpY2FsbHkoZm9ybVZhbHVlKSk7XG5cbiAgICAgICAgICAgICAgaWYgKHNldHRpbmdzU3RyaW5naWZpZWQgIT09IGZvcm1TdHJpbmdpZmllZCAmJiAhdXBkYXRpbmdTZXR0aW5ncykge1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRpbmdTZXR0aW5ncyQubmV4dCh0cnVlKTtcbiAgICAgICAgICAgICAgICB0aGlzLnVzZXJQcm92aWRlclNlcnZpY2UudXBkYXRlRW1haWxOb3RpZmljYXRpb25TZXR0aW5ncyhmb3JtVmFsdWUpLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgICAgIHJlc3VsdHMgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9lbWFpbE5vdGlmaWNhdGlvblNldHRpbmdzJC5uZXh0KHJlc3VsdHMpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0aW5nU2V0dGluZ3MkLm5leHQoZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fZW1haWxOb3RpZmljYXRpb25TZXR0aW5ncyQubmV4dChzZXR0aW5ncyk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRpbmdTZXR0aW5ncyQubmV4dChmYWxzZSk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgbG9hZEVtYWlsTm90aWZpY2F0aW9uU2V0dGluZ3MoKTogdm9pZCB7XG4gICAgdGhpcy51c2VyUHJvdmlkZXJTZXJ2aWNlLmdldEVtYWlsTm90aWZpY2F0aW9uU2V0dGluZ3MoKS5zdWJzY3JpYmUocmVzdWx0cyA9PiB7XG4gICAgICBpZiAocmVzdWx0cykge1xuICAgICAgICB0aGlzLl9lbWFpbE5vdGlmaWNhdGlvblNldHRpbmdzJC5uZXh0KHJlc3VsdHMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fZW1haWxOb3RpZmljYXRpb25TZXR0aW5ncyQubmV4dCh0aGlzLnNldHRpbmdzRm9ybS52YWx1ZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNldExhbmd1YWdlKCk6IHZvaWQge1xuICAgIHRoaXMuX3NlbGVjdGVkTGFuZ3VhZ2UkLm5leHQodGhpcy50cmFuc2xhdGVTZXJ2aWNlLmN1cnJlbnRMYW5nKTtcbiAgICB0aGlzLl9sYW5ndWFnZU9wdGlvbnMkLm5leHQodGhpcy50cmFuc2xhdGVTZXJ2aWNlLmxhbmdzKTtcbiAgfVxuXG4gIHByaXZhdGUgc29ydE9iamVjdEFscGhhYmV0aWNhbGx5KGpzT2JqZWN0OiBvYmplY3QpOiBvYmplY3Qge1xuICAgIHJldHVybiBPYmplY3Qua2V5cyhqc09iamVjdClcbiAgICAgIC5zb3J0KClcbiAgICAgIC5yZWR1Y2UoXG4gICAgICAgIChhY2MsIGtleSkgPT4gKHtcbiAgICAgICAgICAuLi5hY2MsXG4gICAgICAgICAgW2tleV06IGpzT2JqZWN0W2tleV0sXG4gICAgICAgIH0pLFxuICAgICAgICB7fVxuICAgICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VXNlclNldHRpbmdzKCk6IHZvaWQge1xuICAgIHRoaXMudXNlclNldHRpbmdzU2VydmljZS5nZXRVc2VyU2V0dGluZ3MoKS5zdWJzY3JpYmUoc2V0dGluZ3MgPT4ge1xuICAgICAgdGhpcy51cGRhdGluZ1VzZXJTZXR0aW5ncyQubmV4dChmYWxzZSk7XG5cbiAgICAgIGlmICghc2V0dGluZ3M/Lmxhbmd1YWdlQ29kZSkge1xuICAgICAgICB0aGlzLnNhdmVVc2VyU2V0dGluZ3MoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2V0VXNlclNldHRpbmdzKHNldHRpbmdzKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc2F2ZVVzZXJTZXR0aW5ncygpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0aW5nVXNlclNldHRpbmdzJC5uZXh0KHRydWUpO1xuXG4gICAgY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLl9zZWxlY3RlZExhbmd1YWdlJCxcbiAgICAgIHRoaXMuY29sbGFwc2libGVXaWRlc2NyZWVuTWVudSQsXG4gICAgICB0aGlzLmNvbXBhY3RNb2RlJCxcbiAgICAgIHRoaXMuc2hvd1VzZXJOYW1lSW5Ub3BCYXIkLFxuICAgICAgdGhpcy5fcHJlZmVycmVkVGhlbWUkLFxuICAgIF0pXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgc3dpdGNoTWFwKFxuICAgICAgICAgIChbXG4gICAgICAgICAgICBsYW5ndWFnZUNvZGUsXG4gICAgICAgICAgICBjb2xsYXBzaWJsZVdpZGVzY3JlZW5NZW51LFxuICAgICAgICAgICAgY29tcGFjdE1vZGUsXG4gICAgICAgICAgICBzaG93VXNlck5hbWVJblRvcEJhcixcbiAgICAgICAgICAgIHByZWZlcnJlZFRoZW1lLFxuICAgICAgICAgIF0pID0+XG4gICAgICAgICAgICB0aGlzLnVzZXJTZXR0aW5nc1NlcnZpY2Uuc2F2ZVVzZXJTZXR0aW5ncyh7XG4gICAgICAgICAgICAgIGNvbGxhcHNpYmxlV2lkZXNjcmVlbk1lbnUsXG4gICAgICAgICAgICAgIGxhbmd1YWdlQ29kZSxcbiAgICAgICAgICAgICAgLi4uKHRoaXMuZW5hYmxlQ29tcGFjdE1vZGVUb2dnbGUgJiYge2NvbXBhY3RNb2RlfSksXG4gICAgICAgICAgICAgIC4uLih0aGlzLmVuYWJsZVNob3dVc2VyTmFtZVRvZ2dsZSAmJiB7c2hvd1VzZXJOYW1lSW5Ub3BCYXJ9KSxcbiAgICAgICAgICAgICAgLi4uKHRoaXMuYWxsb3dVc2VyVGhlbWVTd2l0Y2hpbmcgJiYge3ByZWZlcnJlZFRoZW1lfSksXG4gICAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy51cGRhdGluZ1VzZXJTZXR0aW5ncyQubmV4dChmYWxzZSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0VXNlclNldHRpbmdzKHNldHRpbmdzOiBVc2VyU2V0dGluZ3MpOiB2b2lkIHtcbiAgICB0aGlzLl9zZWxlY3RlZExhbmd1YWdlJC5uZXh0KHNldHRpbmdzLmxhbmd1YWdlQ29kZSk7XG4gICAgdGhpcy51cGRhdGVVc2VyTGFuZ3VhZ2Uoc2V0dGluZ3MubGFuZ3VhZ2VDb2RlLCBmYWxzZSk7XG4gICAgdGhpcy5zZXRDb2xsYXBzaWJsZVdpZGVzY3JlZW5NZW51KHNldHRpbmdzLmNvbGxhcHNpYmxlV2lkZXNjcmVlbk1lbnUsIGZhbHNlKTtcbiAgICBpZiAodGhpcy5lbmFibGVDb21wYWN0TW9kZVRvZ2dsZSkgdGhpcy5zZXRDb21wYWN0TW9kZShzZXR0aW5ncy5jb21wYWN0TW9kZSwgZmFsc2UpO1xuICAgIGlmICh0aGlzLmVuYWJsZVNob3dVc2VyTmFtZVRvZ2dsZSkgdGhpcy5zZXRTaG93VXNlck5hbWUoc2V0dGluZ3Muc2hvd1VzZXJOYW1lSW5Ub3BCYXIsIGZhbHNlKTtcbiAgICBpZiAoc2V0dGluZ3MucHJlZmVycmVkVGhlbWUgJiYgdGhpcy5hbGxvd1VzZXJUaGVtZVN3aXRjaGluZykge1xuICAgICAgdGhpcy5zZXRQcmVmZXJyZWRUaGVtZShzZXR0aW5ncy5wcmVmZXJyZWRUaGVtZSwgZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgb3BlblNob3dWZXJzaW9uc1N1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIHRoaXMuX2lzQWRtaW4kLnN1YnNjcmliZShpc0FkbWluID0+IHtcbiAgICAgICAgaWYgKHRoaXMuX2hpZGVWYWx0aW1vVmVyc2lvbnNGb3JOb25BZG1pbnMgJiYgIWlzQWRtaW4pIHtcbiAgICAgICAgICB0aGlzLnNob3dWYWx0aW1vVmVyc2lvbnMgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjxkaXYgY2xhc3M9XCJyaWdodC1zaWRlYmFyLW1lbnVcIj5cbiAgPGNkcy1wYW5lbCBbZXhwYW5kZWRdPVwicGFuZWxFeHBhbmRlZCQgfCBhc3luY1wiPlxuICAgIDxkaXYgY2RzR3JpZCBbY29uZGVuc2VkXT1cInRydWVcIj5cbiAgICAgIDxkaXYgY2RzUm93PlxuICAgICAgICA8ZGl2IGNkc0NvbCBbY29sdW1uTnVtYmVyc109XCJ7bGc6IDE2fVwiIGNsYXNzPVwibWVudS10YWJzXCIgY2RzTGF5ZXI+XG4gICAgICAgICAgPGNkcy10YWJzIGNsYXNzPVwiY2RzLS10YWItLWxpc3QtLWZ1bGwtd2lkdGhcIj5cbiAgICAgICAgICAgIDxjZHMtdGFiIFtoZWFkaW5nXT1cIidhY2NvdW50LnRpdGxlJyB8IHRyYW5zbGF0ZVwiPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYWNjb3VudFRhYlRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Nkcy10YWI+XG5cbiAgICAgICAgICAgIDxjZHMtdGFiIFtoZWFkaW5nXT1cIidzZXR0aW5ncy50aXRsZScgfCB0cmFuc2xhdGVcIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInNldHRpbmdzVGFiVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvY2RzLXRhYj5cbiAgICAgICAgICA8L2Nkcy10YWJzPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Nkcy1wYW5lbD5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2FjY291bnRUYWJUZW1wbGF0ZT5cbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImFjY291bnRJbmZvcm1hdGlvblRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxpbmtzVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjc2V0dGluZ3NUYWJUZW1wbGF0ZT5cbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxhbmd1YWdlU2V0dGluZ3NUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuXG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpbnRlcmZhY2VTZXR0aW5nc1RlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm5vdGlmaWNhdGlvblNldHRpbmdzVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cblxuICBAaWYgKHNob3dWYWx0aW1vVmVyc2lvbnMpIHtcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidmVyc2lvblRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gIH1cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjYWNjb3VudEluZm9ybWF0aW9uVGVtcGxhdGU+XG4gIDxjZHMtc3RydWN0dXJlZC1saXN0PlxuICAgIDxjZHMtbGlzdC1oZWFkZXI+XG4gICAgICA8Y2RzLWxpc3QtY29sdW1uPnt7ICdhY2NvdW50LmluZm9ybWF0aW9uVGl0bGUnIHwgdHJhbnNsYXRlIH19PC9jZHMtbGlzdC1jb2x1bW4+XG4gICAgPC9jZHMtbGlzdC1oZWFkZXI+XG5cbiAgICA8Y2RzLWxpc3Qtcm93PlxuICAgICAgPGNkcy1saXN0LWNvbHVtbj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImFjY291bnRJbmZvcm1hdGlvblRhYmxlVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvY2RzLWxpc3QtY29sdW1uPlxuICAgIDwvY2RzLWxpc3Qtcm93PlxuICA8L2Nkcy1zdHJ1Y3R1cmVkLWxpc3Q+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2FjY291bnRJbmZvcm1hdGlvblRhYmxlVGVtcGxhdGU+XG4gIDxkaXYgY2xhc3M9XCJpbmZvcm1hdGlvbi10YWJsZSBhY2NvdW50LWluZm9ybWF0aW9uXCI+XG4gICAgPGNkcy1zdHJ1Y3R1cmVkLWxpc3QgKm5nSWY9XCJ1c2VyU3ViamVjdCQgfCBhc3luYyBhcyB1c2VyU3ViamVjdFwiPlxuICAgICAgPGNkcy1saXN0LXJvdz5cbiAgICAgICAgPGNkcy1saXN0LWNvbHVtblxuICAgICAgICAgID57eyAnaW50ZXJmYWNlLmVtYWlsJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDxjZHMtdGFnIHR5cGU9XCJibHVlXCI+e3sgdXNlclN1YmplY3QuZW1haWwgfX08L2Nkcy10YWc+XG4gICAgICAgIDwvY2RzLWxpc3QtY29sdW1uPlxuICAgICAgPC9jZHMtbGlzdC1yb3c+XG5cbiAgICAgIDxjZHMtbGlzdC1yb3c+XG4gICAgICAgIDxjZHMtbGlzdC1jb2x1bW5cbiAgICAgICAgICA+e3sgJ2ludGVyZmFjZS51c2VybmFtZScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8Y2RzLXRhZyB0eXBlPVwiYmx1ZVwiPnt7IHVzZXJTdWJqZWN0LnVzZXJuYW1lIH19PC9jZHMtdGFnPlxuICAgICAgICA8L2Nkcy1saXN0LWNvbHVtbj5cbiAgICAgIDwvY2RzLWxpc3Qtcm93PlxuXG4gICAgICA8Y2RzLWxpc3Qtcm93PlxuICAgICAgICA8Y2RzLWxpc3QtY29sdW1uXG4gICAgICAgICAgPnt7ICdpbnRlcmZhY2UubmFtZScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8Y2RzLXRhZyB0eXBlPVwiYmx1ZVwiPnt7IHVzZXJTdWJqZWN0LmZpcnN0TmFtZSArICcgJyArIHVzZXJTdWJqZWN0Lmxhc3ROYW1lIH19PC9jZHMtdGFnPlxuICAgICAgICA8L2Nkcy1saXN0LWNvbHVtbj5cbiAgICAgIDwvY2RzLWxpc3Qtcm93PlxuICAgIDwvY2RzLXN0cnVjdHVyZWQtbGlzdD5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2xpbmtzVGVtcGxhdGU+XG4gIDxjZHMtc3RydWN0dXJlZC1saXN0PlxuICAgIDxjZHMtbGlzdC1oZWFkZXI+XG4gICAgICA8Y2RzLWxpc3QtY29sdW1uPnt7ICdhY2NvdW50LnF1aWNrTGlua3MnIHwgdHJhbnNsYXRlIH19PC9jZHMtbGlzdC1jb2x1bW4+XG4gICAgPC9jZHMtbGlzdC1oZWFkZXI+XG5cbiAgICA8Y2RzLWxpc3Qtcm93PlxuICAgICAgPGNkcy1saXN0LWNvbHVtbj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxpbmtzVGFibGVUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9jZHMtbGlzdC1jb2x1bW4+XG4gICAgPC9jZHMtbGlzdC1yb3c+XG4gIDwvY2RzLXN0cnVjdHVyZWQtbGlzdD5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjbGlua3NUYWJsZVRlbXBsYXRlPlxuICA8ZGl2IGNsYXNzPVwiaW5mb3JtYXRpb24tdGFibGVcIj5cbiAgICA8Y2RzLXN0cnVjdHVyZWQtbGlzdD5cbiAgICAgIDxjZHMtbGlzdC1yb3c+XG4gICAgICAgIDxjZHMtbGlzdC1jb2x1bW4+XG4gICAgICAgICAgPGEgaHJlZj1cImh0dHBzOi8vZG9jcy52YWx0aW1vLm5sXCIgdGFyZ2V0PVwiX2JsYW5rXCIgY2RzTGluaz57e1xuICAgICAgICAgICAgJ2FjY291bnQubGlua3MuaGVscCcgfCB0cmFuc2xhdGVcbiAgICAgICAgICB9fTwvYT5cbiAgICAgICAgPC9jZHMtbGlzdC1jb2x1bW4+XG4gICAgICA8L2Nkcy1saXN0LXJvdz5cblxuICAgICAgPGNkcy1saXN0LXJvdz5cbiAgICAgICAgPGNkcy1saXN0LWNvbHVtbiAqbmdJZj1cIiFvdmVycmlkZUZlZWRiYWNrTWVudUl0ZW1Ub01haWxUbzsgZWxzZSBmZWVkYmFja01haWxUb1wiPlxuICAgICAgICAgIDxhIGhyZWY9XCJodHRwczovL3d3dy52YWx0aW1vLm5sL2ZlZWRiYWNrXCIgdGFyZ2V0PVwiX2JsYW5rXCIgY2RzTGluaz57e1xuICAgICAgICAgICAgJ2FjY291bnQubGlua3MuZmVlZGJhY2snIHwgdHJhbnNsYXRlXG4gICAgICAgICAgfX08L2E+XG4gICAgICAgIDwvY2RzLWxpc3QtY29sdW1uPlxuICAgICAgPC9jZHMtbGlzdC1yb3c+XG5cbiAgICAgIDxjZHMtbGlzdC1yb3cgKm5nSWY9XCJyZXNldFVybFwiPlxuICAgICAgICA8Y2RzLWxpc3QtY29sdW1uPlxuICAgICAgICAgIDxhIFtocmVmXT1cInJlc2V0VXJsXCIgY2RzTGluaz57eyAnYWNjb3VudC5saW5rcy5yZXNldFBhc3N3b3JkJyB8IHRyYW5zbGF0ZSB9fTwvYT5cbiAgICAgICAgPC9jZHMtbGlzdC1jb2x1bW4+XG4gICAgICA8L2Nkcy1saXN0LXJvdz5cblxuICAgICAgPGNkcy1saXN0LXJvdz5cbiAgICAgICAgPGNkcy1saXN0LWNvbHVtbj5cbiAgICAgICAgICA8YSBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgY2RzTGluayAoY2xpY2spPVwibG9nb3V0KClcIj57e1xuICAgICAgICAgICAgJ2FjY291bnQubGlua3Muc2lnbk91dCcgfCB0cmFuc2xhdGVcbiAgICAgICAgICB9fTwvYT5cbiAgICAgICAgPC9jZHMtbGlzdC1jb2x1bW4+XG4gICAgICA8L2Nkcy1saXN0LXJvdz5cblxuICAgICAgPGNkcy1saXN0LXJvdyAqbmdJZj1cInNob3dQbGFudEFUcmVlQnV0dG9uXCI+XG4gICAgICAgIDxjZHMtbGlzdC1jb2x1bW4+XG4gICAgICAgICAgPGFcbiAgICAgICAgICAgIGNsYXNzPVwidGV4dC1zdWNjZXNzXCJcbiAgICAgICAgICAgIGhyZWY9XCJtYWlsdG86dmFsdGltb0ByaXRlbnNlLmNvbT9zdWJqZWN0PVBsYW50IGVlbiBib29tIHZvb3IgVmFsdGltbyZib2R5PUhhbGxvIFZhbHRpbW8gZ2VicnVpa2VyLCUwRCUwRE1ldCBoZXQgdmVyc3R1cmVuIHZhbiBkZXplIGUtbWFpbCBnYWFuIHdlIGdlbGlqayBhYW4gZGUgc2xhZyBvbSBlZW4gYm9vbSB0ZSBwbGFudGVuLiBIaWVybWVlIGNvbXBlbnNlcmVuIHdlIHZvb3IgZWVuIGRlZWwgZGUgQ08yIHVpdHN0b290IHZhbiBqZSBWYWx0aW1vIGdlYnJ1aWsuJTBEJTBETWV0IEdyb2VuZSBHcm9ldCwlMEQlMERIZXQgVmFsdGltbyB0ZWFtJTBEJTBEKkRlemUgYm9tZW5wbGFudGFjdGllIGthbiAxIGtlZXIgaW5nZXpldCB3b3JkZW4gZG9vciBlbGtlIGdlcmVnaXN0cmVlcmRlIFZhbHRpbW8gZ2VicnVpa2VyLiUwRCUwRCoqIFJpdGVuc2UgcGxhbnQgb29rIGphYXJsaWprcyBib21lbiB2b29yIGFsbGUgVmFsdGltbyBpbnN0YWxsYXRpZXMgZGllIGluIGdlYnJ1aWsgemlqbi5cIlxuICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICAgIGNkc0xpbmtcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyAnYWNjb3VudC5saW5rcy5wbGFudEFUcmVlJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9jZHMtbGlzdC1jb2x1bW4+XG4gICAgICA8L2Nkcy1saXN0LXJvdz5cbiAgICA8L2Nkcy1zdHJ1Y3R1cmVkLWxpc3Q+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNsYW5ndWFnZVNldHRpbmdzVGVtcGxhdGU+XG4gIDxjZHMtc3RydWN0dXJlZC1saXN0PlxuICAgIDxjZHMtbGlzdC1oZWFkZXI+XG4gICAgICA8Y2RzLWxpc3QtY29sdW1uPnt7ICdzZXR0aW5ncy5sYW5ndWFnZS50aXRsZScgfCB0cmFuc2xhdGUgfX08L2Nkcy1saXN0LWNvbHVtbj5cbiAgICA8L2Nkcy1saXN0LWhlYWRlcj5cblxuICAgIDxjZHMtbGlzdC1yb3c+XG4gICAgICA8Y2RzLWxpc3QtY29sdW1uPlxuICAgICAgICA8Y2RzLWRyb3Bkb3duXG4gICAgICAgICAgW2lkXT1cIidsYW5ndWFnZS1kcm9wZG93bidcIlxuICAgICAgICAgIFthcHBlbmRJbmxpbmVdPVwidHJ1ZVwiXG4gICAgICAgICAgW2Ryb3BVcF09XCJmYWxzZVwiXG4gICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgICAgKHNlbGVjdGVkKT1cInVwZGF0ZVVzZXJMYW5ndWFnZSgkZXZlbnQpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxjZHMtZHJvcGRvd24tbGlzdCBbaXRlbXNdPVwiKGxhbmd1YWdlTGlzdEl0ZW1zJCB8IGFzeW5jKSB8fCBbXVwiPjwvY2RzLWRyb3Bkb3duLWxpc3Q+XG4gICAgICAgIDwvY2RzLWRyb3Bkb3duPlxuICAgICAgPC9jZHMtbGlzdC1jb2x1bW4+XG4gICAgPC9jZHMtbGlzdC1yb3c+XG4gIDwvY2RzLXN0cnVjdHVyZWQtbGlzdD5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjbm90aWZpY2F0aW9uU2V0dGluZ3NUZW1wbGF0ZT5cbiAgPGNkcy1zdHJ1Y3R1cmVkLWxpc3QgKm5nSWY9XCJlbWFpbE5vdGlmaWNhdGlvblNldHRpbmdzV2l0aFNpZGVFZmZlY3RzJCB8IGFzeW5jXCI+XG4gICAgPGNkcy1saXN0LWhlYWRlcj5cbiAgICAgIDxjZHMtbGlzdC1jb2x1bW4+e3sgJ3NldHRpbmdzLm5vdGlmaWNhdGlvbi50aXRsZScgfCB0cmFuc2xhdGUgfX08L2Nkcy1saXN0LWNvbHVtbj5cbiAgICA8L2Nkcy1saXN0LWhlYWRlcj5cblxuICAgIDxjZHMtbGlzdC1yb3c+XG4gICAgICA8Y2RzLWxpc3QtY29sdW1uPlxuICAgICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cInNldHRpbmdzRm9ybVwiIGNsYXNzPVwidG9nZ2xlLWdyb3VwXCI+XG4gICAgICAgICAgPGNkcy10b2dnbGVcbiAgICAgICAgICAgIFtsYWJlbF09XCInc2V0dGluZ3Mubm90aWZpY2F0aW9uLnRhc2tOb3RpZmljYXRpb25zJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICBbb25UZXh0XT1cIidpbnRlcmZhY2Uub24nIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgIFtvZmZUZXh0XT1cIidpbnRlcmZhY2Uub2ZmJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJ0YXNrTm90aWZpY2F0aW9uc1wiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwidXBkYXRpbmdTZXR0aW5ncyQgfCBhc3luY1wiXG4gICAgICAgICAgPlxuICAgICAgICAgIDwvY2RzLXRvZ2dsZT5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImRlc2NyaXB0aW9uXCI+e3tcbiAgICAgICAgICAgICdzZXR0aW5ncy5ub3RpZmljYXRpb24uZW1haWxOb3RpZmljYXRpb25zSW50cm8nIHwgdHJhbnNsYXRlXG4gICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgIDwvZm9ybT5cbiAgICAgIDwvY2RzLWxpc3QtY29sdW1uPlxuICAgIDwvY2RzLWxpc3Qtcm93PlxuXG4gICAgPGNkcy1saXN0LXJvdz5cbiAgICAgIDxjZHMtbGlzdC1jb2x1bW4+XG4gICAgICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwic2V0dGluZ3NGb3JtXCIgY2xhc3M9XCJ0b2dnbGUtZ3JvdXBcIj5cbiAgICAgICAgICA8Y2RzLXRvZ2dsZVxuICAgICAgICAgICAgW2xhYmVsXT1cIidzZXR0aW5ncy5ub3RpZmljYXRpb24uZW1haWxOb3RpZmljYXRpb25zJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICBbb25UZXh0XT1cIidpbnRlcmZhY2Uub24nIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgIFtvZmZUZXh0XT1cIidpbnRlcmZhY2Uub2ZmJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJlbWFpbE5vdGlmaWNhdGlvbnNcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cInVwZGF0aW5nU2V0dGluZ3MkIHwgYXN5bmNcIlxuICAgICAgICAgID5cbiAgICAgICAgICA8L2Nkcy10b2dnbGU+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJkZXNjcmlwdGlvblwiPnt7XG4gICAgICAgICAgICAnc2V0dGluZ3Mubm90aWZpY2F0aW9uLnRhc2tOb3RpZmljYXRpb25zSW50cm8nIHwgdHJhbnNsYXRlXG4gICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgIDwvZm9ybT5cbiAgICAgIDwvY2RzLWxpc3QtY29sdW1uPlxuICAgIDwvY2RzLWxpc3Qtcm93PlxuICA8L2Nkcy1zdHJ1Y3R1cmVkLWxpc3Q+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2ludGVyZmFjZVNldHRpbmdzVGVtcGxhdGU+XG4gIDxjZHMtc3RydWN0dXJlZC1saXN0PlxuICAgIDxjZHMtbGlzdC1oZWFkZXI+XG4gICAgICA8Y2RzLWxpc3QtY29sdW1uPnt7ICdzZXR0aW5ncy5pbnRlcmZhY2UudGl0bGUnIHwgdHJhbnNsYXRlIH19PC9jZHMtbGlzdC1jb2x1bW4+XG4gICAgPC9jZHMtbGlzdC1oZWFkZXI+XG5cbiAgICA8Y2RzLWxpc3Qtcm93PlxuICAgICAgPGNkcy1saXN0LWNvbHVtbj5cbiAgICAgICAgPGNkcy10b2dnbGVcbiAgICAgICAgICBbbGFiZWxdPVwiJ3NldHRpbmdzLmludGVyZmFjZS5jb2xsYXBzaWJsZU1lbnUnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICBbb25UZXh0XT1cIidpbnRlcmZhY2Uub24nIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICBbb2ZmVGV4dF09XCInaW50ZXJmYWNlLm9mZicgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJ1cGRhdGluZ1VzZXJTZXR0aW5ncyQgfCBhc3luY1wiXG4gICAgICAgICAgW25nTW9kZWxdPVwiY29sbGFwc2libGVXaWRlc2NyZWVuTWVudSQgfCBhc3luY1wiXG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2V0Q29sbGFwc2libGVXaWRlc2NyZWVuTWVudSgkZXZlbnQpXCJcbiAgICAgICAgPlxuICAgICAgICA8L2Nkcy10b2dnbGU+XG4gICAgICA8L2Nkcy1saXN0LWNvbHVtbj5cbiAgICA8L2Nkcy1saXN0LXJvdz5cblxuICAgIDxjZHMtbGlzdC1yb3cgKm5nSWY9XCJhbGxvd1VzZXJUaGVtZVN3aXRjaGluZ1wiPlxuICAgICAgPGNkcy1saXN0LWNvbHVtbj5cbiAgICAgICAgPGNkcy1kcm9wZG93blxuICAgICAgICAgIFtsYWJlbF09XCInc2V0dGluZ3MuaW50ZXJmYWNlLnRoZW1lUHJlZmVyZW5jZScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgIFthcHBlbmRJbmxpbmVdPVwidHJ1ZVwiXG4gICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgICAgKHNlbGVjdGVkKT1cInNldFByZWZlcnJlZFRoZW1lKCRldmVudClcIlxuICAgICAgICAgIFtkcm9wVXBdPVwiZmFsc2VcIlxuICAgICAgICA+XG4gICAgICAgICAgPGNkcy1kcm9wZG93bi1saXN0IFtpdGVtc109XCIodGhlbWVPcHRpb25zJCB8IGFzeW5jKSB8fCBbXVwiPjwvY2RzLWRyb3Bkb3duLWxpc3Q+XG4gICAgICAgIDwvY2RzLWRyb3Bkb3duPlxuICAgICAgPC9jZHMtbGlzdC1jb2x1bW4+XG4gICAgPC9jZHMtbGlzdC1yb3c+XG5cbiAgICA8Y2RzLWxpc3Qtcm93ICpuZ0lmPVwiZW5hYmxlQ29tcGFjdE1vZGVUb2dnbGVcIj5cbiAgICAgIDxjZHMtbGlzdC1jb2x1bW4+XG4gICAgICAgIDxjZHMtdG9nZ2xlXG4gICAgICAgICAgW2xhYmVsXT1cIidzZXR0aW5ncy5pbnRlcmZhY2UuY29tcGFjdE1vZGUnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICBbb25UZXh0XT1cIidpbnRlcmZhY2Uub24nIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICBbb2ZmVGV4dF09XCInaW50ZXJmYWNlLm9mZicgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJ1cGRhdGluZ1VzZXJTZXR0aW5ncyQgfCBhc3luY1wiXG4gICAgICAgICAgW25nTW9kZWxdPVwiY29tcGFjdE1vZGUkIHwgYXN5bmNcIlxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInNldENvbXBhY3RNb2RlKCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgIDwvY2RzLXRvZ2dsZT5cbiAgICAgIDwvY2RzLWxpc3QtY29sdW1uPlxuICAgIDwvY2RzLWxpc3Qtcm93PlxuXG4gICAgPGNkcy1saXN0LXJvdyAqbmdJZj1cImVuYWJsZVNob3dVc2VyTmFtZVRvZ2dsZVwiPlxuICAgICAgPGNkcy1saXN0LWNvbHVtbj5cbiAgICAgICAgPGNkcy10b2dnbGVcbiAgICAgICAgICBbbGFiZWxdPVwiJ3NldHRpbmdzLmludGVyZmFjZS5zaG93VXNlck5hbWUnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICBbb25UZXh0XT1cIidpbnRlcmZhY2Uub24nIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICBbb2ZmVGV4dF09XCInaW50ZXJmYWNlLm9mZicgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJ1cGRhdGluZ1VzZXJTZXR0aW5ncyQgfCBhc3luY1wiXG4gICAgICAgICAgW25nTW9kZWxdPVwic2hvd1VzZXJOYW1lSW5Ub3BCYXIkIHwgYXN5bmNcIlxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInNldFNob3dVc2VyTmFtZSgkZXZlbnQpXCJcbiAgICAgICAgPlxuICAgICAgICA8L2Nkcy10b2dnbGU+XG4gICAgICA8L2Nkcy1saXN0LWNvbHVtbj5cbiAgICA8L2Nkcy1saXN0LXJvdz5cbiAgPC9jZHMtc3RydWN0dXJlZC1saXN0PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICN2ZXJzaW9uVGVtcGxhdGU+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJ7YmFja2VuZFZlcnNpb246IGJhY2tlbmRWZXJzaW9uJCB8IGFzeW5jfSBhcyBvYnNcIj5cbiAgICA8Y2RzLXN0cnVjdHVyZWQtbGlzdCAqbmdJZj1cIm9icy5iYWNrZW5kVmVyc2lvbiB8fCBmcm9udGVuZFZlcnNpb25cIj5cbiAgICAgIDxjZHMtbGlzdC1oZWFkZXI+XG4gICAgICAgIDxjZHMtbGlzdC1jb2x1bW4+e3sgJ3NldHRpbmdzLnZlcnNpb24udGl0bGUnIHwgdHJhbnNsYXRlIH19PC9jZHMtbGlzdC1jb2x1bW4+XG4gICAgICA8L2Nkcy1saXN0LWhlYWRlcj5cblxuICAgICAgPGNkcy1saXN0LXJvdyAqbmdJZj1cIm9icy5iYWNrZW5kVmVyc2lvblwiPlxuICAgICAgICA8Y2RzLWxpc3QtY29sdW1uPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJidWlsZC1pbmZvcm1hdGlvblwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJidWlsZC10aXRsZVwiPnt7XG4gICAgICAgICAgICAgICdpbnRlcmZhY2UuYnVpbGRzLicgKyBvYnMuYmFja2VuZFZlcnNpb24udGl0bGUgfCB0cmFuc2xhdGVcbiAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhZy1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgPGNkcy10YWcgdHlwZT1cImJsdWVcIj57eyBvYnMuYmFja2VuZFZlcnNpb24udmVyc2lvbiB9fTwvY2RzLXRhZz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Nkcy1saXN0LWNvbHVtbj5cbiAgICAgIDwvY2RzLWxpc3Qtcm93PlxuXG4gICAgICA8Y2RzLWxpc3Qtcm93ICpuZ0lmPVwiZnJvbnRlbmRWZXJzaW9uXCI+XG4gICAgICAgIDxjZHMtbGlzdC1jb2x1bW4+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImJ1aWxkLWluZm9ybWF0aW9uXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJ1aWxkLXRpdGxlXCI+e3tcbiAgICAgICAgICAgICAgJ2ludGVyZmFjZS5idWlsZHMudmFsdGltby1mcm9udGVuZC1saWJyYXJpZXMnIHwgdHJhbnNsYXRlXG4gICAgICAgICAgICB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWctY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgIDxjZHMtdGFnIHR5cGU9XCJibHVlXCI+e3sgZnJvbnRlbmRWZXJzaW9uIH19PC9jZHMtdGFnPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvY2RzLWxpc3QtY29sdW1uPlxuICAgICAgPC9jZHMtbGlzdC1yb3c+XG4gICAgPC9jZHMtc3RydWN0dXJlZC1saXN0PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZmVlZGJhY2tNYWlsVG8+XG4gIDxjZHMtbGlzdC1jb2x1bW4+XG4gICAgPGFcbiAgICAgIFtocmVmXT1cIlxuICAgICAgICAnbWFpbHRvOicgK1xuICAgICAgICBvdmVycmlkZUZlZWRiYWNrTWVudUl0ZW1Ub01haWxUby5lbWFpbCArXG4gICAgICAgICc/c3ViamVjdD0nICtcbiAgICAgICAgKG92ZXJyaWRlRmVlZGJhY2tNZW51SXRlbVRvTWFpbFRvLnN1YmplY3RUcmFuc2xhdGlvbktleSB8IHRyYW5zbGF0ZSkgK1xuICAgICAgICAnJmJvZHk9JyArXG4gICAgICAgIChvdmVycmlkZUZlZWRiYWNrTWVudUl0ZW1Ub01haWxUby5ib2R5VHJhbnNsYXRpb25LZXkgfCB0cmFuc2xhdGUpXG4gICAgICBcIlxuICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgIGNkc0xpbmtcbiAgICA+XG4gICAgICB7eyAnYWNjb3VudC5saW5rcy5mZWVkYmFjaycgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2E+XG4gIDwvY2RzLWxpc3QtY29sdW1uPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -1,98 +0,0 @@
1
- /*
2
- * Copyright 2015-2024 Ritense BV, the Netherlands.
3
- *
4
- * Licensed under EUPL, Version 1.2 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" basis,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- import { NgModule } from '@angular/core';
17
- import { CommonModule } from '@angular/common';
18
- import { RightSidebarComponent } from './right-sidebar.component';
19
- import { FormsModule, ReactiveFormsModule } from '@angular/forms';
20
- import { RouterModule } from '@angular/router';
21
- import { HttpClient } from '@angular/common/http';
22
- import { TranslateLoader, TranslateModule } from '@ngx-translate/core';
23
- import { HttpLoaderFactory } from '@valtimo/config';
24
- import { NgbTooltipModule } from '@ng-bootstrap/ng-bootstrap';
25
- import { DropdownModule, GridModule, IconModule, LayerModule, LinkModule, StructuredListModule, TabsModule, TagModule, ToggleModule, UIShellModule, } from 'carbon-components-angular';
26
- import * as i0 from "@angular/core";
27
- import * as i1 from "@ngx-translate/core";
28
- export class RightSidebarModule {
29
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: RightSidebarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
30
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: RightSidebarModule, declarations: [RightSidebarComponent], imports: [CommonModule,
31
- FormsModule,
32
- ReactiveFormsModule,
33
- RouterModule, i1.TranslateModule, NgbTooltipModule,
34
- UIShellModule,
35
- IconModule,
36
- GridModule,
37
- TabsModule,
38
- StructuredListModule,
39
- ToggleModule,
40
- TagModule,
41
- LinkModule,
42
- DropdownModule,
43
- LayerModule], exports: [RightSidebarComponent] }); }
44
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: RightSidebarModule, imports: [CommonModule,
45
- FormsModule,
46
- ReactiveFormsModule,
47
- RouterModule,
48
- TranslateModule.forRoot({
49
- loader: {
50
- provide: TranslateLoader,
51
- useFactory: HttpLoaderFactory,
52
- deps: [HttpClient],
53
- },
54
- }),
55
- NgbTooltipModule,
56
- UIShellModule,
57
- IconModule,
58
- GridModule,
59
- TabsModule,
60
- StructuredListModule,
61
- ToggleModule,
62
- TagModule,
63
- LinkModule,
64
- DropdownModule,
65
- LayerModule] }); }
66
- }
67
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: RightSidebarModule, decorators: [{
68
- type: NgModule,
69
- args: [{
70
- declarations: [RightSidebarComponent],
71
- imports: [
72
- CommonModule,
73
- FormsModule,
74
- ReactiveFormsModule,
75
- RouterModule,
76
- TranslateModule.forRoot({
77
- loader: {
78
- provide: TranslateLoader,
79
- useFactory: HttpLoaderFactory,
80
- deps: [HttpClient],
81
- },
82
- }),
83
- NgbTooltipModule,
84
- UIShellModule,
85
- IconModule,
86
- GridModule,
87
- TabsModule,
88
- StructuredListModule,
89
- ToggleModule,
90
- TagModule,
91
- LinkModule,
92
- DropdownModule,
93
- LayerModule,
94
- ],
95
- exports: [RightSidebarComponent],
96
- }]
97
- }] });
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmlnaHQtc2lkZWJhci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3JpZ2h0LXNpZGViYXIvcmlnaHQtc2lkZWJhci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRSxPQUFPLEVBQUMsV0FBVyxFQUFFLG1CQUFtQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEVBQUMsZUFBZSxFQUFFLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3JFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFDTCxjQUFjLEVBQ2QsVUFBVSxFQUNWLFVBQVUsRUFDVixXQUFXLEVBQ1gsVUFBVSxFQUNWLG9CQUFvQixFQUNwQixVQUFVLEVBQ1YsU0FBUyxFQUNULFlBQVksRUFDWixhQUFhLEdBQ2QsTUFBTSwyQkFBMkIsQ0FBQzs7O0FBOEJuQyxNQUFNLE9BQU8sa0JBQWtCOytHQUFsQixrQkFBa0I7Z0hBQWxCLGtCQUFrQixpQkEzQmQscUJBQXFCLGFBRWxDLFlBQVk7WUFDWixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLFlBQVksc0JBUVosZ0JBQWdCO1lBQ2hCLGFBQWE7WUFDYixVQUFVO1lBQ1YsVUFBVTtZQUNWLFVBQVU7WUFDVixvQkFBb0I7WUFDcEIsWUFBWTtZQUNaLFNBQVM7WUFDVCxVQUFVO1lBQ1YsY0FBYztZQUNkLFdBQVcsYUFFSCxxQkFBcUI7Z0hBRXBCLGtCQUFrQixZQXpCM0IsWUFBWTtZQUNaLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsWUFBWTtZQUNaLGVBQWUsQ0FBQyxPQUFPLENBQUM7Z0JBQ3RCLE1BQU0sRUFBRTtvQkFDTixPQUFPLEVBQUUsZUFBZTtvQkFDeEIsVUFBVSxFQUFFLGlCQUFpQjtvQkFDN0IsSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDO2lCQUNuQjthQUNGLENBQUM7WUFDRixnQkFBZ0I7WUFDaEIsYUFBYTtZQUNiLFVBQVU7WUFDVixVQUFVO1lBQ1YsVUFBVTtZQUNWLG9CQUFvQjtZQUNwQixZQUFZO1lBQ1osU0FBUztZQUNULFVBQVU7WUFDVixjQUFjO1lBQ2QsV0FBVzs7NEZBSUYsa0JBQWtCO2tCQTVCOUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztvQkFDckMsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLFlBQVk7d0JBQ1osZUFBZSxDQUFDLE9BQU8sQ0FBQzs0QkFDdEIsTUFBTSxFQUFFO2dDQUNOLE9BQU8sRUFBRSxlQUFlO2dDQUN4QixVQUFVLEVBQUUsaUJBQWlCO2dDQUM3QixJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUM7NkJBQ25CO3lCQUNGLENBQUM7d0JBQ0YsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLFVBQVU7d0JBQ1YsVUFBVTt3QkFDVixVQUFVO3dCQUNWLG9CQUFvQjt3QkFDcEIsWUFBWTt3QkFDWixTQUFTO3dCQUNULFVBQVU7d0JBQ1YsY0FBYzt3QkFDZCxXQUFXO3FCQUNaO29CQUNELE9BQU8sRUFBRSxDQUFDLHFCQUFxQixDQUFDO2lCQUNqQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1JpZ2h0U2lkZWJhckNvbXBvbmVudH0gZnJvbSAnLi9yaWdodC1zaWRlYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQge0Zvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1JvdXRlck1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7SHR0cENsaWVudH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtUcmFuc2xhdGVMb2FkZXIsIFRyYW5zbGF0ZU1vZHVsZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge0h0dHBMb2FkZXJGYWN0b3J5fSBmcm9tICdAdmFsdGltby9jb25maWcnO1xuaW1wb3J0IHtOZ2JUb29sdGlwTW9kdWxlfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XG5pbXBvcnQge1xuICBEcm9wZG93bk1vZHVsZSxcbiAgR3JpZE1vZHVsZSxcbiAgSWNvbk1vZHVsZSxcbiAgTGF5ZXJNb2R1bGUsXG4gIExpbmtNb2R1bGUsXG4gIFN0cnVjdHVyZWRMaXN0TW9kdWxlLFxuICBUYWJzTW9kdWxlLFxuICBUYWdNb2R1bGUsXG4gIFRvZ2dsZU1vZHVsZSxcbiAgVUlTaGVsbE1vZHVsZSxcbn0gZnJvbSAnY2FyYm9uLWNvbXBvbmVudHMtYW5ndWxhcic7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1JpZ2h0U2lkZWJhckNvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBSb3V0ZXJNb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLmZvclJvb3Qoe1xuICAgICAgbG9hZGVyOiB7XG4gICAgICAgIHByb3ZpZGU6IFRyYW5zbGF0ZUxvYWRlcixcbiAgICAgICAgdXNlRmFjdG9yeTogSHR0cExvYWRlckZhY3RvcnksXG4gICAgICAgIGRlcHM6IFtIdHRwQ2xpZW50XSxcbiAgICAgIH0sXG4gICAgfSksXG4gICAgTmdiVG9vbHRpcE1vZHVsZSxcbiAgICBVSVNoZWxsTW9kdWxlLFxuICAgIEljb25Nb2R1bGUsXG4gICAgR3JpZE1vZHVsZSxcbiAgICBUYWJzTW9kdWxlLFxuICAgIFN0cnVjdHVyZWRMaXN0TW9kdWxlLFxuICAgIFRvZ2dsZU1vZHVsZSxcbiAgICBUYWdNb2R1bGUsXG4gICAgTGlua01vZHVsZSxcbiAgICBEcm9wZG93bk1vZHVsZSxcbiAgICBMYXllck1vZHVsZSxcbiAgXSxcbiAgZXhwb3J0czogW1JpZ2h0U2lkZWJhckNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFJpZ2h0U2lkZWJhck1vZHVsZSB7fVxuIl19