qms-angular 1.0.55 → 1.0.56

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 (411) hide show
  1. package/bundles/qms-angular.umd.js +4003 -12241
  2. package/bundles/qms-angular.umd.js.map +1 -1
  3. package/esm2015/lib/components/app-icon/app-icon.module.js +16 -29
  4. package/esm2015/lib/components/app-icon/icon-registry.service.js +7 -9
  5. package/esm2015/lib/components/badges/qms-badges.component.js +15 -24
  6. package/esm2015/lib/components/badges/qms-badges.module.js +18 -33
  7. package/esm2015/lib/components/banner/qms-banner/qms-banner.component.js +16 -28
  8. package/esm2015/lib/components/banner/qms-banner/qms-banner.module.js +19 -36
  9. package/esm2015/lib/components/banner/qms-banner-confirm/qms-banner-confirm.component.js +16 -28
  10. package/esm2015/lib/components/banner/qms-banner-confirm/qms-banner-confirm.module.js +19 -36
  11. package/esm2015/lib/components/banner/qms-banner-loading/qms-banner-loading.component.js +13 -19
  12. package/esm2015/lib/components/banner/qms-banner-loading/qms-banner-loading.module.js +17 -30
  13. package/esm2015/lib/components/breadcrumb/breadcrumb-direction-icon.directive.js +10 -11
  14. package/esm2015/lib/components/breadcrumb/breadcrumb-item.directive.js +17 -20
  15. package/esm2015/lib/components/breadcrumb/breadcrumb.js +28 -40
  16. package/esm2015/lib/components/breadcrumb/breadcrumb.module.js +26 -50
  17. package/esm2015/lib/components/button/button-toggle.js +85 -120
  18. package/esm2015/lib/components/button/button.js +78 -86
  19. package/esm2015/lib/components/button/button.module.js +27 -51
  20. package/esm2015/lib/components/comment/comment.js +18 -29
  21. package/esm2015/lib/components/dialog/dialog.js +28 -38
  22. package/esm2015/lib/components/edit-file-name-dialog/edit-file-name-dialog.js +16 -24
  23. package/esm2015/lib/components/edit-file-name-dialog/edit-file-name-dialog.module.js +31 -71
  24. package/esm2015/lib/components/list/list.js +89 -101
  25. package/esm2015/lib/components/list/list.module.js +50 -94
  26. package/esm2015/lib/components/qms-app-bar/qms-app-bar.component.js +29 -55
  27. package/esm2015/lib/components/qms-app-bar/qms-app-bar.module.js +20 -39
  28. package/esm2015/lib/components/qms-stepper/qms-stepper.component.js +22 -32
  29. package/esm2015/lib/components/qms-stepper/qms-stepper.module.js +25 -35
  30. package/esm2015/lib/components/related/content/related-content.component.js +12 -19
  31. package/esm2015/lib/components/related/list-other-related/list-related.component.js +25 -29
  32. package/esm2015/lib/components/related/popup/related-popup.component.js +33 -50
  33. package/esm2015/lib/components/related/related.module.js +43 -96
  34. package/esm2015/lib/components/related/risk/analysis/analysis.component.js +17 -23
  35. package/esm2015/lib/components/related/risk/list/list.component.js +18 -22
  36. package/esm2015/lib/components/related/risk/result/result.component.js +16 -23
  37. package/esm2015/lib/components/related/service/related-global.service.js +6 -7
  38. package/esm2015/lib/components/related/sidenav/sidenav.component.js +12 -21
  39. package/esm2015/lib/components/reports/qms-report-content-portrait/qms-report-content-portrait.component.js +18 -22
  40. package/esm2015/lib/components/reports/qms-report-cover-portrait/qms-report-cover-portrait.component.js +18 -22
  41. package/esm2015/lib/components/reports/qms-reports.module.js +20 -29
  42. package/esm2015/lib/components/rich-text/rich-text.js +32 -47
  43. package/esm2015/lib/components/rich-text/rich-text.module.js +21 -35
  44. package/esm2015/lib/components/select-dialog/select-dialog.js +16 -31
  45. package/esm2015/lib/components/select-include-children/select-include-children.component.js +33 -47
  46. package/esm2015/lib/components/select-include-children/select-include-children.module.js +33 -78
  47. package/esm2015/lib/components/select-include-children/services/select-global.service.js +6 -7
  48. package/esm2015/lib/components/suffix-field/suffix-field.directive.js +21 -22
  49. package/esm2015/lib/components/table/table-action.js +31 -31
  50. package/esm2015/lib/components/table/table.module.js +21 -37
  51. package/esm2015/lib/components/test-only/test-only.component.js +11 -14
  52. package/esm2015/lib/components/tooltip/tooltip.js +19 -24
  53. package/esm2015/lib/components/tooltip/tooltip.module.js +20 -38
  54. package/esm2015/lib/components/tree/tree.component.js +33 -46
  55. package/esm2015/lib/components/tree/tree.module.js +30 -69
  56. package/esm2015/lib/components/upload-file-error-dialog/upload-file-error-dialog.js +16 -22
  57. package/esm2015/lib/components/upload-file-error-dialog/upload-file-error-dialog.module.js +31 -71
  58. package/esm2015/lib/directives/chip-input/chip-input-chip-list.directive.js +13 -13
  59. package/esm2015/lib/directives/chip-input/chip-input-field.directive.js +10 -11
  60. package/esm2015/lib/directives/chip-input/chip-input-select-dropdown.directive.js +10 -11
  61. package/esm2015/lib/directives/chip-input/chip-input-select-field.directive.js +14 -17
  62. package/esm2015/lib/directives/chip-input/chip-input-select-trigger.directive.js +13 -14
  63. package/esm2015/lib/directives/chips/chip-body.directive.js +10 -11
  64. package/esm2015/lib/directives/chips/chip.directive.js +13 -13
  65. package/esm2015/lib/directives/dropdown-menu/dropdown-item.directive.js +14 -16
  66. package/esm2015/lib/directives/file-upload/file-upload-attachment-list.directive.js +10 -11
  67. package/esm2015/lib/directives/file-upload/file-upload-display.directive.js +16 -19
  68. package/esm2015/lib/directives/file-upload/file-upload-multiple-display.directive.js +14 -16
  69. package/esm2015/lib/directives/file-upload/file-upload-multiple-selector.directive.js +20 -26
  70. package/esm2015/lib/directives/file-upload/file-upload-multiple.directive.js +15 -19
  71. package/esm2015/lib/directives/file-upload/file-upload-scrollable-attachment-list.directive.js +10 -11
  72. package/esm2015/lib/directives/file-upload/file-upload-selector.directive.js +18 -25
  73. package/esm2015/lib/directives/file-upload/file-upload.directive.js +20 -24
  74. package/esm2015/lib/directives/form.directive.js +51 -48
  75. package/esm2015/lib/directives/margin.directive.js +14 -15
  76. package/esm2015/lib/directives/range-slider/range-slider-lockup.directive.js +10 -11
  77. package/esm2015/lib/directives/range-slider/range-slider.directive.js +14 -17
  78. package/esm2015/lib/directives/scroll-selected/scroll-to-selected.directive.js +15 -16
  79. package/esm2015/lib/directives/scrollbar/scrollbar.directive.js +13 -13
  80. package/esm2015/lib/directives/search-field.directive.js +22 -21
  81. package/esm2015/lib/directives/side-sheet/drawer-content.directive.js +10 -11
  82. package/esm2015/lib/directives/side-sheet/drawer-header-action.directive.js +10 -11
  83. package/esm2015/lib/directives/side-sheet/drawer-header.directive.js +10 -11
  84. package/esm2015/lib/directives/side-sheet/drawer.directive.js +10 -11
  85. package/esm2015/lib/directives/tab/tab-group-advanced.directive.js +14 -15
  86. package/esm2015/lib/directives/tab/tab-group.directive.js +10 -11
  87. package/esm2015/lib/directives/tab/tab-label.directive.js +10 -11
  88. package/esm2015/lib/directives/text-block/text-block-line.directive.js +16 -20
  89. package/esm2015/lib/directives/text-block/text-block.directive.js +14 -17
  90. package/esm2015/lib/directives/tooltip/tooltip-image.directive.js +13 -14
  91. package/esm2015/lib/directives/tooltip/tooltip-renderer.directive.js +22 -35
  92. package/esm2015/lib/material-module.js +16 -35
  93. package/esm2015/lib/model/en.js +4 -35
  94. package/esm2015/lib/model/no.js +3 -34
  95. package/esm2015/lib/pipe/dateFormat.pipe.js +10 -11
  96. package/esm2015/lib/qms-angular.component.js +11 -13
  97. package/esm2015/lib/qms-angular.module.js +121 -232
  98. package/esm2015/lib/qms-angular.service.js +8 -9
  99. package/esm2015/lib/qms-ckeditor-components/common/bpmn/toolbar.function.js +12 -32
  100. package/esm2015/lib/qms-ckeditor-components/common/constants/ckeditorEvent.constant.js +1 -5
  101. package/esm2015/lib/qms-ckeditor-components/common/constants/ckeditorFlowchart.const.js +1 -10
  102. package/esm2015/lib/qms-ckeditor-components/common/enums/document-type.enum.js +1 -2
  103. package/esm2015/lib/qms-ckeditor-components/common/functions/common.function.js +2 -2
  104. package/esm2015/lib/qms-ckeditor-components/common/module/confirm/qms-ckeditor-confirm.component.js +16 -23
  105. package/esm2015/lib/qms-ckeditor-components/common/module/tree/qms-ckeditor-tree.component.js +19 -34
  106. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-bpmn/qms-ckeditor-bpmn.component.js +53 -577
  107. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-bpmn/save-template/save-template.component.js +35 -69
  108. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-fullscreen/qms-ckeditor-fullscreen.component.js +8 -12
  109. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-imagemap/qms-ckeditor-imagemap.component.js +30 -39
  110. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-link/attachments/link-attachment.component.js +18 -22
  111. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-link/qms-ckeditor-link.component.js +20 -29
  112. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-load-template/qms-ckeditor-load-template.component.js +18 -22
  113. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-relation/qmsckeditor-related.component.js +23 -35
  114. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-template/qms-ckeditor-template.component.js +20 -30
  115. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-tooltip/qms-ckeditor-tooltip.component.js +18 -27
  116. package/esm2015/lib/qms-ckeditor-components/qms-ckeditor-base.component.js +4 -7
  117. package/esm2015/lib/qms-ckeditor-components/qms-ckeditor.component.js +44 -118
  118. package/esm2015/lib/qms-ckeditor-components/qms-ckeditor.module.js +55 -131
  119. package/esm2015/lib/qms-ckeditor-components/services/qms-ckeditor-base.service.js +10 -10
  120. package/esm2015/lib/qms-ckeditor-components/services/qms-ckeditor-bpmn-api.service.js +9 -9
  121. package/esm2015/lib/qms-ckeditor-components/services/qms-ckeditor-bpmn.service.js +26 -66
  122. package/esm2015/lib/qms-ckeditor-components/services/qms-ckeditor-global.service.js +8 -9
  123. package/esm2015/lib/qms-ckeditor-components/services/qms-ckeditor-link.service.js +9 -9
  124. package/esm2015/lib/qms-ckeditor-components/services/qms-ckeditor-tree.service.js +9 -9
  125. package/esm2015/lib/qms-ckeditor-components/services/qms-ckedtior-template.service.js +9 -9
  126. package/esm2015/lib/services/translation-registry.service.js +8 -9
  127. package/esm2015/lib/shared.module.js +4 -9
  128. package/esm2015/public-api.js +1 -16
  129. package/esm2015/qms-angular.js +9 -1
  130. package/fesm2015/qms-angular.js +3031 -11134
  131. package/fesm2015/qms-angular.js.map +1 -1
  132. package/lib/components/app-icon/app-icon.module.d.ts +0 -7
  133. package/lib/components/app-icon/icon-registry.service.d.ts +0 -3
  134. package/lib/components/badges/qms-badges.component.d.ts +0 -3
  135. package/lib/components/badges/qms-badges.module.d.ts +0 -9
  136. package/lib/components/banner/qms-banner/qms-banner.component.d.ts +0 -3
  137. package/lib/components/banner/qms-banner/qms-banner.module.d.ts +0 -10
  138. package/lib/components/banner/qms-banner-confirm/qms-banner-confirm.component.d.ts +0 -3
  139. package/lib/components/banner/qms-banner-confirm/qms-banner-confirm.module.d.ts +0 -10
  140. package/lib/components/banner/qms-banner-loading/qms-banner-loading.component.d.ts +0 -3
  141. package/lib/components/banner/qms-banner-loading/qms-banner-loading.module.d.ts +0 -8
  142. package/lib/components/breadcrumb/breadcrumb-direction-icon.directive.d.ts +0 -3
  143. package/lib/components/breadcrumb/breadcrumb-item.directive.d.ts +0 -3
  144. package/lib/components/breadcrumb/breadcrumb.d.ts +0 -3
  145. package/lib/components/breadcrumb/breadcrumb.module.d.ts +0 -13
  146. package/lib/components/button/button-toggle.d.ts +0 -5
  147. package/lib/components/button/button.d.ts +0 -7
  148. package/lib/components/button/button.module.d.ts +0 -9
  149. package/lib/components/comment/comment.d.ts +0 -3
  150. package/lib/components/dialog/dialog.d.ts +0 -5
  151. package/lib/components/edit-file-name-dialog/edit-file-name-dialog.d.ts +0 -3
  152. package/lib/components/edit-file-name-dialog/edit-file-name-dialog.module.d.ts +0 -16
  153. package/lib/components/list/list.d.ts +0 -15
  154. package/lib/components/list/list.module.d.ts +0 -11
  155. package/lib/components/qms-app-bar/qms-app-bar.component.d.ts +0 -3
  156. package/lib/components/qms-app-bar/qms-app-bar.module.d.ts +0 -12
  157. package/lib/components/qms-stepper/qms-stepper.component.d.ts +0 -3
  158. package/lib/components/qms-stepper/qms-stepper.module.d.ts +0 -8
  159. package/lib/components/related/content/related-content.component.d.ts +0 -3
  160. package/lib/components/related/list-other-related/list-related.component.d.ts +0 -3
  161. package/lib/components/related/popup/related-popup.component.d.ts +0 -3
  162. package/lib/components/related/related.module.d.ts +0 -29
  163. package/lib/components/related/risk/analysis/analysis.component.d.ts +0 -3
  164. package/lib/components/related/risk/list/list.component.d.ts +0 -3
  165. package/lib/components/related/risk/result/result.component.d.ts +0 -3
  166. package/lib/components/related/service/related-global.service.d.ts +0 -3
  167. package/lib/components/related/sidenav/sidenav.component.d.ts +0 -3
  168. package/lib/components/reports/qms-report-content-portrait/qms-report-content-portrait.component.d.ts +0 -3
  169. package/lib/components/reports/qms-report-cover-portrait/qms-report-cover-portrait.component.d.ts +0 -3
  170. package/lib/components/reports/qms-reports.module.d.ts +0 -7
  171. package/lib/components/rich-text/rich-text.d.ts +0 -3
  172. package/lib/components/rich-text/rich-text.module.d.ts +0 -8
  173. package/lib/components/select-dialog/select-dialog.d.ts +0 -3
  174. package/lib/components/select-include-children/select-include-children.component.d.ts +0 -3
  175. package/lib/components/select-include-children/select-include-children.module.d.ts +0 -25
  176. package/lib/components/select-include-children/services/select-global.service.d.ts +0 -3
  177. package/lib/components/suffix-field/suffix-field.directive.d.ts +0 -5
  178. package/lib/components/table/table-action.d.ts +0 -5
  179. package/lib/components/table/table.module.d.ts +0 -8
  180. package/lib/components/test-only/test-only.component.d.ts +0 -3
  181. package/lib/components/tooltip/tooltip.d.ts +0 -3
  182. package/lib/components/tooltip/tooltip.module.d.ts +0 -9
  183. package/lib/components/tree/tree.component.d.ts +0 -3
  184. package/lib/components/tree/tree.module.d.ts +0 -22
  185. package/lib/components/upload-file-error-dialog/upload-file-error-dialog.d.ts +0 -3
  186. package/lib/components/upload-file-error-dialog/upload-file-error-dialog.module.d.ts +0 -16
  187. package/lib/directives/chip-input/chip-input-chip-list.directive.d.ts +0 -3
  188. package/lib/directives/chip-input/chip-input-field.directive.d.ts +0 -3
  189. package/lib/directives/chip-input/chip-input-select-dropdown.directive.d.ts +0 -3
  190. package/lib/directives/chip-input/chip-input-select-field.directive.d.ts +0 -3
  191. package/lib/directives/chip-input/chip-input-select-trigger.directive.d.ts +0 -3
  192. package/lib/directives/chips/chip-body.directive.d.ts +0 -3
  193. package/lib/directives/chips/chip.directive.d.ts +0 -3
  194. package/lib/directives/dropdown-menu/dropdown-item.directive.d.ts +0 -3
  195. package/lib/directives/file-upload/file-upload-attachment-list.directive.d.ts +0 -3
  196. package/lib/directives/file-upload/file-upload-display.directive.d.ts +0 -3
  197. package/lib/directives/file-upload/file-upload-multiple-display.directive.d.ts +0 -3
  198. package/lib/directives/file-upload/file-upload-multiple-selector.directive.d.ts +0 -3
  199. package/lib/directives/file-upload/file-upload-multiple.directive.d.ts +0 -3
  200. package/lib/directives/file-upload/file-upload-scrollable-attachment-list.directive.d.ts +0 -3
  201. package/lib/directives/file-upload/file-upload-selector.directive.d.ts +0 -3
  202. package/lib/directives/file-upload/file-upload.directive.d.ts +0 -5
  203. package/lib/directives/form.directive.d.ts +0 -11
  204. package/lib/directives/margin.directive.d.ts +0 -3
  205. package/lib/directives/range-slider/range-slider-lockup.directive.d.ts +0 -3
  206. package/lib/directives/range-slider/range-slider.directive.d.ts +0 -3
  207. package/lib/directives/scroll-selected/scroll-to-selected.directive.d.ts +0 -3
  208. package/lib/directives/scrollbar/scrollbar.directive.d.ts +0 -3
  209. package/lib/directives/search-field.directive.d.ts +0 -5
  210. package/lib/directives/side-sheet/drawer-content.directive.d.ts +0 -3
  211. package/lib/directives/side-sheet/drawer-header-action.directive.d.ts +0 -3
  212. package/lib/directives/side-sheet/drawer-header.directive.d.ts +0 -3
  213. package/lib/directives/side-sheet/drawer.directive.d.ts +0 -3
  214. package/lib/directives/tab/tab-group-advanced.directive.d.ts +0 -3
  215. package/lib/directives/tab/tab-group.directive.d.ts +0 -3
  216. package/lib/directives/tab/tab-label.directive.d.ts +0 -3
  217. package/lib/directives/text-block/text-block-line.directive.d.ts +0 -3
  218. package/lib/directives/text-block/text-block.directive.d.ts +0 -3
  219. package/lib/directives/tooltip/tooltip-image.directive.d.ts +0 -3
  220. package/lib/directives/tooltip/tooltip-renderer.directive.d.ts +0 -3
  221. package/lib/material-module.d.ts +0 -12
  222. package/lib/model/en.d.ts +0 -31
  223. package/lib/model/no.d.ts +0 -31
  224. package/lib/pipe/dateFormat.pipe.d.ts +0 -3
  225. package/lib/qms-angular.component.d.ts +0 -3
  226. package/lib/qms-angular.module.d.ts +0 -49
  227. package/lib/qms-angular.service.d.ts +0 -3
  228. package/lib/qms-ckeditor-components/common/bpmn/toolbar.function.d.ts +2 -2
  229. package/lib/qms-ckeditor-components/common/constants/ckeditorEvent.constant.d.ts +0 -4
  230. package/lib/qms-ckeditor-components/common/constants/ckeditorFlowchart.const.d.ts +0 -9
  231. package/lib/qms-ckeditor-components/common/enums/document-type.enum.d.ts +0 -1
  232. package/lib/qms-ckeditor-components/common/module/confirm/qms-ckeditor-confirm.component.d.ts +0 -3
  233. package/lib/qms-ckeditor-components/common/module/tree/qms-ckeditor-tree.component.d.ts +0 -3
  234. package/lib/qms-ckeditor-components/components/qms-ckeditor-bpmn/qms-ckeditor-bpmn.component.d.ts +4 -88
  235. package/lib/qms-ckeditor-components/components/qms-ckeditor-bpmn/save-template/save-template.component.d.ts +2 -11
  236. package/lib/qms-ckeditor-components/components/qms-ckeditor-fullscreen/qms-ckeditor-fullscreen.component.d.ts +0 -3
  237. package/lib/qms-ckeditor-components/components/qms-ckeditor-imagemap/qms-ckeditor-imagemap.component.d.ts +0 -3
  238. package/lib/qms-ckeditor-components/components/qms-ckeditor-link/attachments/link-attachment.component.d.ts +0 -3
  239. package/lib/qms-ckeditor-components/components/qms-ckeditor-link/qms-ckeditor-link.component.d.ts +0 -3
  240. package/lib/qms-ckeditor-components/components/qms-ckeditor-load-template/qms-ckeditor-load-template.component.d.ts +0 -3
  241. package/lib/qms-ckeditor-components/components/qms-ckeditor-relation/qmsckeditor-related.component.d.ts +0 -4
  242. package/lib/qms-ckeditor-components/components/qms-ckeditor-template/qms-ckeditor-template.component.d.ts +0 -3
  243. package/lib/qms-ckeditor-components/components/qms-ckeditor-tooltip/qms-ckeditor-tooltip.component.d.ts +0 -3
  244. package/lib/qms-ckeditor-components/qms-ckeditor-base.component.d.ts +0 -3
  245. package/lib/qms-ckeditor-components/qms-ckeditor.component.d.ts +0 -8
  246. package/lib/qms-ckeditor-components/qms-ckeditor.module.d.ts +0 -44
  247. package/lib/qms-ckeditor-components/services/qms-ckeditor-base.service.d.ts +0 -3
  248. package/lib/qms-ckeditor-components/services/qms-ckeditor-bpmn-api.service.d.ts +0 -3
  249. package/lib/qms-ckeditor-components/services/qms-ckeditor-bpmn.service.d.ts +0 -4
  250. package/lib/qms-ckeditor-components/services/qms-ckeditor-global.service.d.ts +0 -3
  251. package/lib/qms-ckeditor-components/services/qms-ckeditor-link.service.d.ts +0 -3
  252. package/lib/qms-ckeditor-components/services/qms-ckeditor-tree.service.d.ts +0 -3
  253. package/lib/qms-ckeditor-components/services/qms-ckedtior-template.service.d.ts +0 -3
  254. package/lib/services/translation-registry.service.d.ts +0 -3
  255. package/lib/shared.module.d.ts +0 -4
  256. package/lib.theme.scss +0 -8
  257. package/package.json +2 -1
  258. package/public-api.d.ts +0 -14
  259. package/qms-angular.d.ts +8 -1
  260. package/qms-angular.metadata.json +1 -0
  261. package/src/assets/jointjs/scss/bpmn.scss +35 -36
  262. package/src/assets/qms-ckeditor-plugin/build/ckeditor.js +1 -1
  263. package/src/assets/qms-ckeditor-plugin/build/ckeditor.js.map +1 -1
  264. package/src/assets/qms-ckeditor-plugin/build/translations/ar.js +1 -1
  265. package/src/assets/qms-ckeditor-plugin/build/translations/az.js +1 -1
  266. package/src/assets/qms-ckeditor-plugin/build/translations/bg.js +1 -1
  267. package/src/assets/qms-ckeditor-plugin/build/translations/cs.js +1 -1
  268. package/src/assets/qms-ckeditor-plugin/build/translations/da.js +1 -1
  269. package/src/assets/qms-ckeditor-plugin/build/translations/de-ch.js +1 -1
  270. package/src/assets/qms-ckeditor-plugin/build/translations/de.js +1 -1
  271. package/src/assets/qms-ckeditor-plugin/build/translations/en-au.js +1 -1
  272. package/src/assets/qms-ckeditor-plugin/build/translations/en-gb.js +1 -1
  273. package/src/assets/qms-ckeditor-plugin/build/translations/es.js +1 -1
  274. package/src/assets/qms-ckeditor-plugin/build/translations/et.js +1 -1
  275. package/src/assets/qms-ckeditor-plugin/build/translations/fa.js +1 -1
  276. package/src/assets/qms-ckeditor-plugin/build/translations/fi.js +1 -1
  277. package/src/assets/qms-ckeditor-plugin/build/translations/fr.js +1 -1
  278. package/src/assets/qms-ckeditor-plugin/build/translations/gl.js +1 -1
  279. package/src/assets/qms-ckeditor-plugin/build/translations/he.js +1 -1
  280. package/src/assets/qms-ckeditor-plugin/build/translations/hi.js +1 -1
  281. package/src/assets/qms-ckeditor-plugin/build/translations/hr.js +1 -1
  282. package/src/assets/qms-ckeditor-plugin/build/translations/hu.js +1 -1
  283. package/src/assets/qms-ckeditor-plugin/build/translations/id.js +1 -1
  284. package/src/assets/qms-ckeditor-plugin/build/translations/it.js +1 -1
  285. package/src/assets/qms-ckeditor-plugin/build/translations/ja.js +1 -1
  286. package/src/assets/qms-ckeditor-plugin/build/translations/ko.js +1 -1
  287. package/src/assets/qms-ckeditor-plugin/build/translations/ku.js +1 -1
  288. package/src/assets/qms-ckeditor-plugin/build/translations/lt.js +1 -1
  289. package/src/assets/qms-ckeditor-plugin/build/translations/lv.js +1 -1
  290. package/src/assets/qms-ckeditor-plugin/build/translations/nb.js +1 -1
  291. package/src/assets/qms-ckeditor-plugin/build/translations/ne.js +1 -1
  292. package/src/assets/qms-ckeditor-plugin/build/translations/nl.js +1 -1
  293. package/src/assets/qms-ckeditor-plugin/build/translations/no.js +1 -1
  294. package/src/assets/qms-ckeditor-plugin/build/translations/pl.js +1 -1
  295. package/src/assets/qms-ckeditor-plugin/build/translations/pt-br.js +1 -1
  296. package/src/assets/qms-ckeditor-plugin/build/translations/ro.js +1 -1
  297. package/src/assets/qms-ckeditor-plugin/build/translations/ru.js +1 -1
  298. package/src/assets/qms-ckeditor-plugin/build/translations/sk.js +1 -1
  299. package/src/assets/qms-ckeditor-plugin/build/translations/sl.js +1 -1
  300. package/src/assets/qms-ckeditor-plugin/build/translations/sq.js +1 -1
  301. package/src/assets/qms-ckeditor-plugin/build/translations/sr-latn.js +1 -1
  302. package/src/assets/qms-ckeditor-plugin/build/translations/sr.js +1 -1
  303. package/src/assets/qms-ckeditor-plugin/build/translations/sv.js +1 -1
  304. package/src/assets/qms-ckeditor-plugin/build/translations/th.js +1 -1
  305. package/src/assets/qms-ckeditor-plugin/build/translations/tk.js +1 -1
  306. package/src/assets/qms-ckeditor-plugin/build/translations/tr.js +1 -1
  307. package/src/assets/qms-ckeditor-plugin/build/translations/ug.js +1 -1
  308. package/src/assets/qms-ckeditor-plugin/build/translations/uk.js +1 -1
  309. package/src/assets/qms-ckeditor-plugin/build/translations/vi.js +1 -1
  310. package/src/assets/qms-ckeditor-plugin/build/translations/zh-cn.js +1 -1
  311. package/src/assets/qms-ckeditor-plugin/build/translations/zh.js +1 -1
  312. package/src/assets/qms-ckeditor-plugin/package-lock.json +12177 -17
  313. package/src/assets/qms-ckeditor-plugin/package.json +0 -1
  314. package/src/assets/qms-ckeditor-plugin/src/ckeditor.js +3 -22
  315. package/src/assets/qms-ckeditor-plugin/src/dist/ckeditor.dev.js +173 -0
  316. package/src/assets/qms-ckeditor-plugin/src/plugins/bpmn/qmsCKEditorBpmnPlugin.js +5 -24
  317. package/src/assets/qms-ckeditor-plugin/src/plugins/common/qmsCKEditorConstant.js +1 -7
  318. package/src/assets/qms-ckeditor-plugin/src/plugins/common/qmsCKEditorService.js +0 -20
  319. package/src/assets/qms-ckeditor-plugin/src/plugins/fullscreen/dist/qmsCKEditorFullscreenPlugin.dev.js +87 -0
  320. package/src/assets/qms-ckeditor-plugin/src/plugins/imagemap/imagemapediting.js +43 -47
  321. package/src/assets/qms-ckeditor-plugin/src/plugins/imagemap/imagemapui.js +1 -1
  322. package/src/assets/qms-ckeditor-plugin/src/plugins/imagemap/insertimagemapcommand.js +108 -72
  323. package/src/assets/qms-ckeditor-plugin/src/plugins/imagemap/resizeimagemapcommand.js +3 -4
  324. package/src/assets/qms-ckeditor-plugin/src/plugins/imagemap/utils.js +0 -13
  325. package/src/assets/qms-ckeditor-plugin/src/plugins/timestamp/timestamp.js +8 -8
  326. package/src/assets/qms-ckeditor-plugin/src/plugins/tooltip/tooltipui.js +24 -23
  327. package/src/assets/qms-ckeditor-plugin/src/themes/icons/information.svg +50 -1
  328. package/src/assets/qms-ckeditor-plugin/src/themes/icons/timestamp.svg +1 -1
  329. package/src/lib/components/tree/tree.component.scss +1 -1
  330. package/src/lib/qms-ckeditor-components/components/qms-ckeditor-bpmn/qms-ckeditor-bpmn.component.scss +1 -15
  331. package/src/lib/qms-ckeditor-components/styles/_layout.scss +0 -24
  332. package/src/lib/qms-ckeditor-components/styles/_modules.scss +0 -8
  333. package/esm2015/lib/qms-ckeditor-components/common/constants/ckeditorLink.constant.js +0 -7
  334. package/esm2015/lib/qms-ckeditor-components/common/enums/shape-flow-chart-connection-type.js +0 -8
  335. package/esm2015/lib/qms-ckeditor-components/common/flowchart/sample/sample-graphs.js +0 -16
  336. package/esm2015/lib/qms-ckeditor-components/common/flowchart/service/halo-service.js +0 -105
  337. package/esm2015/lib/qms-ckeditor-components/common/flowchart/service/inspector-service.js +0 -3762
  338. package/esm2015/lib/qms-ckeditor-components/common/flowchart/service/keyboard-service.js +0 -68
  339. package/esm2015/lib/qms-ckeditor-components/common/flowchart/service/kitchensink-service.js +0 -372
  340. package/esm2015/lib/qms-ckeditor-components/common/flowchart/service/stencil-service.js +0 -1041
  341. package/esm2015/lib/qms-ckeditor-components/common/flowchart/service/toolbar-service.js +0 -326
  342. package/esm2015/lib/qms-ckeditor-components/common/flowchart/shapes/app-shapes.js +0 -318
  343. package/esm2015/lib/qms-ckeditor-components/common/flowchart/themes/theme-picker.js +0 -80
  344. package/esm2015/lib/qms-ckeditor-components/common/models/qms-ckeditor-flowchart-template.model.js +0 -9
  345. package/esm2015/lib/qms-ckeditor-components/common/models/qms-ckeditor-flowchart.model.js +0 -9
  346. package/esm2015/lib/qms-ckeditor-components/common/models/qms-ckeditor-save-as-template.model.js +0 -3
  347. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-about/qms-ckeditor-about.component.js +0 -43
  348. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-flowchart/qms-ckeditor-flowchart.component.js +0 -322
  349. package/esm2015/lib/qms-ckeditor-components/models/qms-ckeditor-bpmn-data.model.js +0 -8
  350. package/esm2015/lib/qms-ckeditor-components/services/qms-ckeditor-flowchart.service.js +0 -26
  351. package/lib/qms-ckeditor-components/common/constants/ckeditorLink.constant.d.ts +0 -6
  352. package/lib/qms-ckeditor-components/common/enums/shape-flow-chart-connection-type.d.ts +0 -6
  353. package/lib/qms-ckeditor-components/common/flowchart/sample/sample-graphs.d.ts +0 -14
  354. package/lib/qms-ckeditor-components/common/flowchart/service/halo-service.d.ts +0 -48
  355. package/lib/qms-ckeditor-components/common/flowchart/service/inspector-service.d.ts +0 -18
  356. package/lib/qms-ckeditor-components/common/flowchart/service/keyboard-service.d.ts +0 -17
  357. package/lib/qms-ckeditor-components/common/flowchart/service/kitchensink-service.d.ts +0 -62
  358. package/lib/qms-ckeditor-components/common/flowchart/service/stencil-service.d.ts +0 -1183
  359. package/lib/qms-ckeditor-components/common/flowchart/service/toolbar-service.d.ts +0 -216
  360. package/lib/qms-ckeditor-components/common/flowchart/shapes/app-shapes.d.ts +0 -61
  361. package/lib/qms-ckeditor-components/common/flowchart/themes/theme-picker.d.ts +0 -36
  362. package/lib/qms-ckeditor-components/common/models/qms-ckeditor-flowchart-template.model.d.ts +0 -7
  363. package/lib/qms-ckeditor-components/common/models/qms-ckeditor-flowchart.model.d.ts +0 -7
  364. package/lib/qms-ckeditor-components/common/models/qms-ckeditor-save-as-template.model.d.ts +0 -7
  365. package/lib/qms-ckeditor-components/components/qms-ckeditor-about/qms-ckeditor-about.component.d.ts +0 -18
  366. package/lib/qms-ckeditor-components/components/qms-ckeditor-flowchart/qms-ckeditor-flowchart.component.d.ts +0 -44
  367. package/lib/qms-ckeditor-components/models/qms-ckeditor-bpmn-data.model.d.ts +0 -7
  368. package/lib/qms-ckeditor-components/services/qms-ckeditor-flowchart.service.d.ts +0 -13
  369. package/src/assets/images/ckeditor5.svg +0 -1
  370. package/src/assets/jointjs/fonts/Alegreya_Sans/AlegreyaSans-Bold.ttf +0 -0
  371. package/src/assets/jointjs/fonts/Alegreya_Sans/AlegreyaSans-Light.ttf +0 -0
  372. package/src/assets/jointjs/fonts/Alegreya_Sans/AlegreyaSans-Regular.ttf +0 -0
  373. package/src/assets/jointjs/fonts/Alegreya_Sans/OFL.txt +0 -92
  374. package/src/assets/jointjs/fonts/Averia_Libre/AveriaLibre-Bold.ttf +0 -0
  375. package/src/assets/jointjs/fonts/Averia_Libre/AveriaLibre-Light.ttf +0 -0
  376. package/src/assets/jointjs/fonts/Averia_Libre/AveriaLibre-Regular.ttf +0 -0
  377. package/src/assets/jointjs/fonts/Averia_Libre/OFL.txt +0 -93
  378. package/src/assets/jointjs/fonts/Roboto_Condensed/LICENSE.txt +0 -202
  379. package/src/assets/jointjs/fonts/Roboto_Condensed/RobotoCondensed-Bold.ttf +0 -0
  380. package/src/assets/jointjs/fonts/Roboto_Condensed/RobotoCondensed-Light.ttf +0 -0
  381. package/src/assets/jointjs/fonts/Roboto_Condensed/RobotoCondensed-Regular.ttf +0 -0
  382. package/src/assets/jointjs/images/delete-icon-modern.png +0 -0
  383. package/src/assets/jointjs/images/image-icon1.svg +0 -1
  384. package/src/assets/jointjs/images/image-icon2.svg +0 -6
  385. package/src/assets/jointjs/images/image-icon3.svg +0 -11
  386. package/src/assets/jointjs/images/image-icon4.svg +0 -8
  387. package/src/assets/jointjs/images/member-female.png +0 -0
  388. package/src/assets/jointjs/images/member-male.png +0 -0
  389. package/src/assets/jointjs/images/no-color-icon.svg +0 -72
  390. package/src/assets/jointjs/images/reset-icon-modern.png +0 -0
  391. package/src/assets/jointjs/images/save-icon-modern.png +0 -0
  392. package/src/assets/jointjs/images/to-front-icon-modern.png +0 -0
  393. package/src/assets/jointjs/images/toback-icon-modern.png +0 -0
  394. package/src/assets/jointjs/images/toolbar-icons-dark.woff +0 -0
  395. package/src/assets/jointjs/images/toolbar-icons-material.png +0 -0
  396. package/src/assets/jointjs/images/toolbar-icons-modern.png +0 -0
  397. package/src/assets/jointjs/images/transparent-icon.svg +0 -50
  398. package/src/assets/jointjs/scss/style.dark.scss +0 -233
  399. package/src/assets/jointjs/scss/style.material.scss +0 -234
  400. package/src/assets/jointjs/scss/style.modern.scss +0 -225
  401. package/src/assets/jointjs/scss/style.scss +0 -216
  402. package/src/assets/jointjs/scss/theme-picker.scss +0 -21
  403. package/src/assets/qms-ckeditor-plugin/src/plugins/aboutckeditor/aboutckeditor.js +0 -28
  404. package/src/assets/qms-ckeditor-plugin/src/plugins/flowchart/qmsCKEditorFlowchartPlugin.js +0 -63
  405. package/src/assets/qms-ckeditor-plugin/src/plugins/imagemap/openimagemapcommand.js +0 -58
  406. package/src/assets/qms-ckeditor-plugin/src/themes/icons/flowchart.svg +0 -507
  407. package/src/assets/qms-ckeditor-plugin/src/themes/icons/tooltip.svg +0 -1
  408. package/src/lib/components/select-one/select-one.component.scss +0 -240
  409. package/src/lib/qms-ckeditor-components/components/qms-ckeditor-about/qms-ckeditor-about.component.scss +0 -16
  410. package/src/lib/qms-ckeditor-components/components/qms-ckeditor-flowchart/qms-ckeditor-flowchart.component.scss +0 -5
  411. package/src/themes/_non-bg-srcollbar.scss +0 -4
@@ -8,55 +8,31 @@ import { QMSButtonModule } from "../button/button.module";
8
8
  import { QMSBreadcrumb } from "./breadcrumb";
9
9
  import { QMSBreadcrumbDirectionIconDirective } from "./breadcrumb-direction-icon.directive";
10
10
  import { QMSBreadcrumbItemDirective } from "./breadcrumb-item.directive";
11
- import * as i0 from "@angular/core";
12
11
  export class QMSBreadcrumbModule {
13
12
  }
14
- QMSBreadcrumbModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: QMSBreadcrumbModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
15
- QMSBreadcrumbModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: QMSBreadcrumbModule, declarations: [QMSBreadcrumb,
16
- QMSBreadcrumbItemDirective,
17
- QMSBreadcrumbDirectionIconDirective], imports: [CommonModule,
18
- MatCommonModule,
19
- MatIconModule,
20
- QmsAngularModule,
21
- QMSButtonModule,
22
- MatMenuModule], exports: [MatCommonModule,
23
- MatIconModule,
24
- QMSBreadcrumb,
25
- QMSBreadcrumbItemDirective,
26
- QMSBreadcrumbDirectionIconDirective] });
27
- QMSBreadcrumbModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: QMSBreadcrumbModule, providers: [], imports: [[
28
- CommonModule,
29
- MatCommonModule,
30
- MatIconModule,
31
- QmsAngularModule,
32
- QMSButtonModule,
33
- MatMenuModule
34
- ], MatCommonModule,
35
- MatIconModule] });
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: QMSBreadcrumbModule, decorators: [{
37
- type: NgModule,
38
- args: [{
39
- imports: [
40
- CommonModule,
41
- MatCommonModule,
42
- MatIconModule,
43
- QmsAngularModule,
44
- QMSButtonModule,
45
- MatMenuModule
46
- ],
47
- exports: [
48
- MatCommonModule,
49
- MatIconModule,
50
- QMSBreadcrumb,
51
- QMSBreadcrumbItemDirective,
52
- QMSBreadcrumbDirectionIconDirective,
53
- ],
54
- declarations: [
55
- QMSBreadcrumb,
56
- QMSBreadcrumbItemDirective,
57
- QMSBreadcrumbDirectionIconDirective,
58
- ],
59
- providers: []
60
- }]
61
- }] });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9xbXMtYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvYnJlYWRjcnVtYi9icmVhZGNydW1iLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM3QyxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM1RixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7QUEyQnZFLE1BQU0sT0FBTyxtQkFBbUI7O2dIQUFuQixtQkFBbUI7aUhBQW5CLG1CQUFtQixpQkFOMUIsYUFBYTtRQUNiLDBCQUEwQjtRQUMxQixtQ0FBbUMsYUFqQnJDLFlBQVk7UUFDWixlQUFlO1FBQ2YsYUFBYTtRQUNiLGdCQUFnQjtRQUNoQixlQUFlO1FBQ2YsYUFBYSxhQUdiLGVBQWU7UUFDZixhQUFhO1FBQ2IsYUFBYTtRQUNiLDBCQUEwQjtRQUMxQixtQ0FBbUM7aUhBUzFCLG1CQUFtQixhQUZuQixFQUFFLFlBcEJKO1lBQ1AsWUFBWTtZQUNaLGVBQWU7WUFDZixhQUFhO1lBQ2IsZ0JBQWdCO1lBQ2hCLGVBQWU7WUFDZixhQUFhO1NBQ2QsRUFFQyxlQUFlO1FBQ2YsYUFBYTsyRkFZSixtQkFBbUI7a0JBdkJqQyxRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLGVBQWU7d0JBQ2YsYUFBYTtxQkFDZDtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsZUFBZTt3QkFDZixhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsMEJBQTBCO3dCQUMxQixtQ0FBbUM7cUJBQ3BDO29CQUNELFlBQVksRUFBRTt3QkFDVixhQUFhO3dCQUNiLDBCQUEwQjt3QkFDMUIsbUNBQW1DO3FCQUN0QztvQkFDRCxTQUFTLEVBQUUsRUFBRTtpQkFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBNYXRDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZVwiO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2ljb25cIjtcclxuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9tZW51XCI7XHJcbmltcG9ydCB7IFFNU1Rvb2xUaXBSZW5kZXJlckRpcmVjdGl2ZSB9IGZyb20gXCIuLi8uLi9kaXJlY3RpdmVzL3Rvb2x0aXAvdG9vbHRpcC1yZW5kZXJlci5kaXJlY3RpdmVcIjtcclxuaW1wb3J0IHsgUW1zQW5ndWxhck1vZHVsZSB9IGZyb20gXCIuLi8uLi9xbXMtYW5ndWxhci5tb2R1bGVcIjtcclxuaW1wb3J0IHsgUU1TQnV0dG9uTW9kdWxlIH0gZnJvbSBcIi4uL2J1dHRvbi9idXR0b24ubW9kdWxlXCI7XHJcbmltcG9ydCB7IFFNU0JyZWFkY3J1bWIgfSBmcm9tIFwiLi9icmVhZGNydW1iXCI7XHJcbmltcG9ydCB7IFFNU0JyZWFkY3J1bWJEaXJlY3Rpb25JY29uRGlyZWN0aXZlIH0gZnJvbSBcIi4vYnJlYWRjcnVtYi1kaXJlY3Rpb24taWNvbi5kaXJlY3RpdmVcIjtcclxuaW1wb3J0IHsgUU1TQnJlYWRjcnVtYkl0ZW1EaXJlY3RpdmUgfSBmcm9tIFwiLi9icmVhZGNydW1iLWl0ZW0uZGlyZWN0aXZlXCI7XHJcblxyXG5cclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBpbXBvcnRzOiBbXHJcbiAgICAgIENvbW1vbk1vZHVsZSxcclxuICAgICAgTWF0Q29tbW9uTW9kdWxlLFxyXG4gICAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgICBRbXNBbmd1bGFyTW9kdWxlLFxyXG4gICAgICBRTVNCdXR0b25Nb2R1bGUsXHJcbiAgICAgIE1hdE1lbnVNb2R1bGVcclxuICAgIF0sXHJcbiAgICBleHBvcnRzOiBbXHJcbiAgICAgIE1hdENvbW1vbk1vZHVsZSxcclxuICAgICAgTWF0SWNvbk1vZHVsZSxcclxuICAgICAgUU1TQnJlYWRjcnVtYixcclxuICAgICAgUU1TQnJlYWRjcnVtYkl0ZW1EaXJlY3RpdmUsXHJcbiAgICAgIFFNU0JyZWFkY3J1bWJEaXJlY3Rpb25JY29uRGlyZWN0aXZlLFxyXG4gICAgXSxcclxuICAgIGRlY2xhcmF0aW9uczogW1xyXG4gICAgICAgIFFNU0JyZWFkY3J1bWIsXHJcbiAgICAgICAgUU1TQnJlYWRjcnVtYkl0ZW1EaXJlY3RpdmUsXHJcbiAgICAgICAgUU1TQnJlYWRjcnVtYkRpcmVjdGlvbkljb25EaXJlY3RpdmUsXHJcbiAgICBdLFxyXG4gICAgcHJvdmlkZXJzOiBbXVxyXG4gIH0pXHJcbiAgZXhwb3J0IGNsYXNzIFFNU0JyZWFkY3J1bWJNb2R1bGUgeyB9Il19
13
+ QMSBreadcrumbModule.decorators = [
14
+ { type: NgModule, args: [{
15
+ imports: [
16
+ CommonModule,
17
+ MatCommonModule,
18
+ MatIconModule,
19
+ QmsAngularModule,
20
+ QMSButtonModule,
21
+ MatMenuModule
22
+ ],
23
+ exports: [
24
+ MatCommonModule,
25
+ MatIconModule,
26
+ QMSBreadcrumb,
27
+ QMSBreadcrumbItemDirective,
28
+ QMSBreadcrumbDirectionIconDirective,
29
+ ],
30
+ declarations: [
31
+ QMSBreadcrumb,
32
+ QMSBreadcrumbItemDirective,
33
+ QMSBreadcrumbDirectionIconDirective,
34
+ ],
35
+ providers: []
36
+ },] }
37
+ ];
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9xbXMtYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvYnJlYWRjcnVtYi9icmVhZGNydW1iLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM3QyxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM1RixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQTJCdkUsTUFBTSxPQUFPLG1CQUFtQjs7O1lBdkJqQyxRQUFRLFNBQUM7Z0JBQ04sT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osZUFBZTtvQkFDZixhQUFhO29CQUNiLGdCQUFnQjtvQkFDaEIsZUFBZTtvQkFDZixhQUFhO2lCQUNkO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxlQUFlO29CQUNmLGFBQWE7b0JBQ2IsYUFBYTtvQkFDYiwwQkFBMEI7b0JBQzFCLG1DQUFtQztpQkFDcEM7Z0JBQ0QsWUFBWSxFQUFFO29CQUNWLGFBQWE7b0JBQ2IsMEJBQTBCO29CQUMxQixtQ0FBbUM7aUJBQ3RDO2dCQUNELFNBQVMsRUFBRSxFQUFFO2FBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgTWF0Q29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2NvcmVcIjtcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9pY29uXCI7XHJcbmltcG9ydCB7IE1hdE1lbnVNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudVwiO1xyXG5pbXBvcnQgeyBRTVNUb29sVGlwUmVuZGVyZXJEaXJlY3RpdmUgfSBmcm9tIFwiLi4vLi4vZGlyZWN0aXZlcy90b29sdGlwL3Rvb2x0aXAtcmVuZGVyZXIuZGlyZWN0aXZlXCI7XHJcbmltcG9ydCB7IFFtc0FuZ3VsYXJNb2R1bGUgfSBmcm9tIFwiLi4vLi4vcW1zLWFuZ3VsYXIubW9kdWxlXCI7XHJcbmltcG9ydCB7IFFNU0J1dHRvbk1vZHVsZSB9IGZyb20gXCIuLi9idXR0b24vYnV0dG9uLm1vZHVsZVwiO1xyXG5pbXBvcnQgeyBRTVNCcmVhZGNydW1iIH0gZnJvbSBcIi4vYnJlYWRjcnVtYlwiO1xyXG5pbXBvcnQgeyBRTVNCcmVhZGNydW1iRGlyZWN0aW9uSWNvbkRpcmVjdGl2ZSB9IGZyb20gXCIuL2JyZWFkY3J1bWItZGlyZWN0aW9uLWljb24uZGlyZWN0aXZlXCI7XHJcbmltcG9ydCB7IFFNU0JyZWFkY3J1bWJJdGVtRGlyZWN0aXZlIH0gZnJvbSBcIi4vYnJlYWRjcnVtYi1pdGVtLmRpcmVjdGl2ZVwiO1xyXG5cclxuXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICBDb21tb25Nb2R1bGUsXHJcbiAgICAgIE1hdENvbW1vbk1vZHVsZSxcclxuICAgICAgTWF0SWNvbk1vZHVsZSxcclxuICAgICAgUW1zQW5ndWxhck1vZHVsZSxcclxuICAgICAgUU1TQnV0dG9uTW9kdWxlLFxyXG4gICAgICBNYXRNZW51TW9kdWxlXHJcbiAgICBdLFxyXG4gICAgZXhwb3J0czogW1xyXG4gICAgICBNYXRDb21tb25Nb2R1bGUsXHJcbiAgICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICAgIFFNU0JyZWFkY3J1bWIsXHJcbiAgICAgIFFNU0JyZWFkY3J1bWJJdGVtRGlyZWN0aXZlLFxyXG4gICAgICBRTVNCcmVhZGNydW1iRGlyZWN0aW9uSWNvbkRpcmVjdGl2ZSxcclxuICAgIF0sXHJcbiAgICBkZWNsYXJhdGlvbnM6IFtcclxuICAgICAgICBRTVNCcmVhZGNydW1iLFxyXG4gICAgICAgIFFNU0JyZWFkY3J1bWJJdGVtRGlyZWN0aXZlLFxyXG4gICAgICAgIFFNU0JyZWFkY3J1bWJEaXJlY3Rpb25JY29uRGlyZWN0aXZlLFxyXG4gICAgXSxcclxuICAgIHByb3ZpZGVyczogW11cclxuICB9KVxyXG4gIGV4cG9ydCBjbGFzcyBRTVNCcmVhZGNydW1iTW9kdWxlIHsgfSJdfQ==
@@ -1,10 +1,9 @@
1
+ import { FocusMonitor } from '@angular/cdk/a11y';
1
2
  import { coerceBooleanProperty } from '@angular/cdk/coercion';
2
3
  import { SelectionModel } from '@angular/cdk/collections';
3
- import { Attribute, ChangeDetectionStrategy, Component, ContentChildren, Directive, EventEmitter, forwardRef, Input, Optional, Output, ViewChild, ViewEncapsulation, InjectionToken, Inject, } from '@angular/core';
4
+ import { Attribute, ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, Directive, ElementRef, EventEmitter, forwardRef, Input, Optional, Output, ViewChild, ViewEncapsulation, InjectionToken, Inject, } from '@angular/core';
4
5
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
5
6
  import { mixinDisableRipple, } from '@angular/material/core';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/cdk/a11y";
8
7
  export const BUTTON_TOGGLE_DEFAULT_OPTIONS = new InjectionToken('BUTTON_TOGGLE_DEFAULT_OPTIONS');
9
8
  export const BUTTON_TOGGLE_GROUP = new InjectionToken('QMSButtonToggleGroup');
10
9
  export const BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR = {
@@ -150,55 +149,41 @@ export class QMSButtonToggleGroup {
150
149
  this.valueChange.emit(this.value);
151
150
  }
152
151
  }
153
- QMSButtonToggleGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: QMSButtonToggleGroup, deps: [{ token: i0.ChangeDetectorRef }, { token: BUTTON_TOGGLE_DEFAULT_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
154
- QMSButtonToggleGroup.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.0.5", type: QMSButtonToggleGroup, selector: "qms-button-toggle-group", inputs: { appearance: "appearance", name: "name", vertical: "vertical", value: "value", disabled: "disabled" }, outputs: { valueChange: "valueChange", change: "change" }, host: { attributes: { "role": "group" }, properties: { "attr.aria-disabled": "disabled", "class.qms-button-toggle-vertical": "vertical", "class.qms-button-toggle-group-appearance-standard": "appearance === \"standard\"", "class.qms-button-toggle-group-appearance-active": "appearance === \"active\"", "class.qms-button-toggle-group-appearance-dark": "appearance === \"dark\"" }, classAttribute: "qms-button-toggle-group" }, providers: [
155
- BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR,
156
- { provide: BUTTON_TOGGLE_GROUP, useExisting: QMSButtonToggleGroup },
157
- ], queries: [{ propertyName: "_buttonToggles", predicate: QMSButtonToggle, descendants: true }], exportAs: ["qmsButtonToggleGroup"], ngImport: i0 });
158
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: QMSButtonToggleGroup, decorators: [{
159
- type: Directive,
160
- args: [{
161
- selector: 'qms-button-toggle-group',
162
- providers: [
163
- BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR,
164
- { provide: BUTTON_TOGGLE_GROUP, useExisting: QMSButtonToggleGroup },
165
- ],
166
- host: {
167
- 'role': 'group',
168
- 'class': 'qms-button-toggle-group',
169
- '[attr.aria-disabled]': 'disabled',
170
- '[class.qms-button-toggle-vertical]': 'vertical',
171
- '[class.qms-button-toggle-group-appearance-standard]': 'appearance === "standard"',
172
- '[class.qms-button-toggle-group-appearance-active]': 'appearance === "active"',
173
- '[class.qms-button-toggle-group-appearance-dark]': 'appearance === "dark"',
174
- },
175
- exportAs: 'qmsButtonToggleGroup',
176
- }]
177
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
178
- type: Optional
179
- }, {
180
- type: Inject,
181
- args: [BUTTON_TOGGLE_DEFAULT_OPTIONS]
182
- }] }]; }, propDecorators: { _buttonToggles: [{
183
- type: ContentChildren,
184
- args: [forwardRef(() => QMSButtonToggle), {
185
- descendants: true
186
- }]
187
- }], appearance: [{
188
- type: Input
189
- }], name: [{
190
- type: Input
191
- }], vertical: [{
192
- type: Input
193
- }], value: [{
194
- type: Input
195
- }], valueChange: [{
196
- type: Output
197
- }], disabled: [{
198
- type: Input
199
- }], change: [{
200
- type: Output
201
- }] } });
152
+ QMSButtonToggleGroup.decorators = [
153
+ { type: Directive, args: [{
154
+ selector: 'qms-button-toggle-group',
155
+ providers: [
156
+ BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR,
157
+ { provide: BUTTON_TOGGLE_GROUP, useExisting: QMSButtonToggleGroup },
158
+ ],
159
+ host: {
160
+ 'role': 'group',
161
+ 'class': 'qms-button-toggle-group',
162
+ '[attr.aria-disabled]': 'disabled',
163
+ '[class.qms-button-toggle-vertical]': 'vertical',
164
+ '[class.qms-button-toggle-group-appearance-standard]': 'appearance === "standard"',
165
+ '[class.qms-button-toggle-group-appearance-active]': 'appearance === "active"',
166
+ '[class.qms-button-toggle-group-appearance-dark]': 'appearance === "dark"',
167
+ },
168
+ exportAs: 'qmsButtonToggleGroup',
169
+ },] }
170
+ ];
171
+ QMSButtonToggleGroup.ctorParameters = () => [
172
+ { type: ChangeDetectorRef },
173
+ { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [BUTTON_TOGGLE_DEFAULT_OPTIONS,] }] }
174
+ ];
175
+ QMSButtonToggleGroup.propDecorators = {
176
+ _buttonToggles: [{ type: ContentChildren, args: [forwardRef(() => QMSButtonToggle), {
177
+ descendants: true
178
+ },] }],
179
+ appearance: [{ type: Input }],
180
+ name: [{ type: Input }],
181
+ vertical: [{ type: Input }],
182
+ value: [{ type: Input }],
183
+ valueChange: [{ type: Output }],
184
+ disabled: [{ type: Input }],
185
+ change: [{ type: Output }]
186
+ };
202
187
  const _ButtonToggleBase = mixinDisableRipple(class {
203
188
  });
204
189
  export class QMSButtonToggle extends _ButtonToggleBase {
@@ -281,71 +266,51 @@ export class QMSButtonToggle extends _ButtonToggleBase {
281
266
  this._changeDetectorRef.markForCheck();
282
267
  }
283
268
  }
284
- QMSButtonToggle.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: QMSButtonToggle, deps: [{ token: BUTTON_TOGGLE_GROUP, optional: true }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1.FocusMonitor }, { token: 'tabindex', attribute: true }, { token: BUTTON_TOGGLE_DEFAULT_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Component });
285
- QMSButtonToggle.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: QMSButtonToggle, selector: "qms-button-toggle", inputs: { disableRipple: "disableRipple", ariaLabel: ["aria-label", "ariaLabel"], ariaLabelledby: ["aria-labelledby", "ariaLabelledby"], id: "id", name: "name", value: "value", tabIndex: "tabIndex", appearance: "appearance", checked: "checked", disabled: "disabled" }, outputs: { change: "change" }, host: { attributes: { "role": "presentation" }, listeners: { "focus": "focus()" }, properties: { "class.qms-button-toggle-standalone": "!buttonToggleGroup", "class.qms-button-toggle-checked": "checked", "class.qms-button-toggle-disabled": "disabled", "class.qms-button-toggle-appearance-standard": "appearance === \"standard\"", "class.qms-button-toggle-appearance-active": "appearance === \"active\"", "class.qms-button-toggle-appearance-dark": "appearance === \"dark\"", "attr.aria-label": "null", "attr.aria-labelledby": "null", "attr.id": "id", "attr.name": "null" }, classAttribute: "qms-button-toggle" }, viewQueries: [{ propertyName: "_buttonElement", first: true, predicate: ["button"], descendants: true }], exportAs: ["qmsButtonToggle"], usesInheritance: true, ngImport: i0, template: "<button\r\n #button\r\n class=\"qms-button-toggle mat-focus-indicator\"\r\n type=\"button\"\r\n [id]=\"buttonId\"\r\n [attr.tabindex]=\"disabled ? -1 : tabIndex\"\r\n [attr.aria-pressed]=\"checked\"\r\n [disabled]=\"disabled || null\"\r\n [attr.name]=\"name || null\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-labelledby]=\"ariaLabelledby\"\r\n (click)=\"_onButtonClick()\"\r\n>\r\n <span class=\"qms-button-toggle-label-content\">\r\n <ng-content></ng-content>\r\n </span>\r\n</button>\r\n\r\n<!-- <span class=\"mat-button-toggle-focus-overlay\"></span>\r\n<span class=\"mat-button-toggle-ripple\" matRipple\r\n [matRippleTrigger]=\"button\"\r\n [matRippleDisabled]=\"this.disableRipple || this.disabled\">\r\n</span> -->\r\n", styles: ["@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFWJ0bbck.woff2) format(\"woff2\");unicode-range:U+0460-052f,U+1c80-1c88,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFUZ0bbck.woff2) format(\"woff2\");unicode-range:U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFWZ0bbck.woff2) format(\"woff2\");unicode-range:U+1f??}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFVp0bbck.woff2) format(\"woff2\");unicode-range:U+0370-03ff}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFWp0bbck.woff2) format(\"woff2\");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+1ea0-1ef9,U+20ab}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFW50bbck.woff2) format(\"woff2\");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFVZ0b.woff2) format(\"woff2\");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCFPrEHJA.woff2) format(\"woff2\");unicode-range:U+0460-052f,U+1c80-1c88,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCMPrEHJA.woff2) format(\"woff2\");unicode-range:U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCHPrEHJA.woff2) format(\"woff2\");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+1ea0-1ef9,U+20ab}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCGPrEHJA.woff2) format(\"woff2\");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCIPrE.woff2) format(\"woff2\");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}.qms-button-toggle-group{position:relative;display:inline-flex;flex-direction:row;white-space:nowrap;overflow:hidden;-webkit-tap-highlight-color:transparent;border-radius:4px;border:1px solid #e0e0e0}.qms-button-toggle-group .qms-button-toggle{font-family:Open Sans;white-space:nowrap;position:relative;font-size:14px;font-weight:600;line-height:16px}.qms-button-toggle-group .qms-button-toggle.qms-button-toggle-appearance-standard{background-color:#fff;color:#323232;position:relative}.qms-button-toggle-group .qms-button-toggle.qms-button-toggle-appearance-standard .mat-icon{color:#1954a9}.qms-button-toggle-group .qms-button-toggle.qms-button-toggle-appearance-standard:hover{background-color:#e5eefb}.qms-button-toggle-group .qms-button-toggle.qms-button-toggle-appearance-standard.qms-button-toggle-checked{background-color:#e5eefb;color:#1954a9}.qms-button-toggle-group .qms-button-toggle.qms-button-toggle-appearance-standard+.qms-button-toggle{border-left:1px solid #e0e0e0}.qms-button-toggle-group .qms-button-toggle.qms-button-toggle-appearance-standard.cdk-keyboard-focused:after{content:\"\";display:block;position:absolute;top:0;right:0;width:3px;height:100%;background:#2873df}.qms-button-toggle-group .qms-button-toggle.qms-button-toggle-appearance-standard.cdk-keyboard-focused:before{content:\"\";display:block;position:absolute;top:0;right:0;bottom:0;left:0;border:3px solid #2873df}.qms-button-toggle-group .qms-button-toggle.qms-button-toggle-appearance-active{background-color:#e5eefb;color:#1954a9}.qms-button-toggle-group .qms-button-toggle.qms-button-toggle-appearance-active.qms-button-toggle-checked,.qms-button-toggle-group .qms-button-toggle.qms-button-toggle-appearance-active:hover{background-color:#1954a9;color:#fff}.qms-button-toggle-group .qms-button-toggle.qms-button-toggle-appearance-active+.qms-button-toggle{border-left:1px solid #e0e0e0}.qms-button-toggle-group .qms-button-toggle.qms-button-toggle-appearance-active.cdk-keyboard-focused:after{content:\"\";display:block;position:absolute;top:0;right:0;width:3px;height:100%;background:#2873df}.qms-button-toggle-group .qms-button-toggle.qms-button-toggle-appearance-active.cdk-keyboard-focused:before{content:\"\";display:block;position:absolute;top:0;right:0;bottom:0;left:0;border:3px solid #2873df}.qms-button-toggle-group .qms-button-toggle.qms-button-toggle-appearance-dark{background-color:#323232;color:hsla(0,0%,100%,.6)}.qms-button-toggle-group .qms-button-toggle.qms-button-toggle-appearance-dark .mat-icon{color:#94baef}.qms-button-toggle-group .qms-button-toggle.qms-button-toggle-appearance-dark.qms-button-toggle-checked,.qms-button-toggle-group .qms-button-toggle.qms-button-toggle-appearance-dark:hover{background-color:#b7daf8;color:#1954a9}.qms-button-toggle-group .qms-button-toggle.qms-button-toggle-appearance-dark.qms-button-toggle-checked .mat-icon{color:#1954a9}.qms-button-toggle-group .qms-button-toggle.qms-button-toggle-appearance-dark+.qms-button-toggle{border-left:1px solid #474747}.qms-button-toggle-group .qms-button-toggle.qms-button-toggle-appearance-dark.cdk-keyboard-focused:after{content:\"\";display:block;position:absolute;top:0;right:0;width:3px;height:100%;background:#2873df}.qms-button-toggle-group .qms-button-toggle.qms-button-toggle-appearance-dark.cdk-keyboard-focused:before{content:\"\";display:block;position:absolute;top:0;right:0;bottom:0;left:0;border:3px solid #2873df}.qms-button-toggle-group .qms-button-toggle.qms-button-toggle-disabled{cursor:default!important;background:#e4e4e4!important;color:rgba(0,0,0,.38)!important}.qms-button-toggle-group .qms-button-toggle.qms-button-toggle-disabled .mat-icon{color:rgba(0,0,0,.38)!important}.qms-button-toggle{border:0;background:none;color:inherit;padding:0;margin:0;font:inherit;outline:none;width:100%;cursor:pointer}.qms-button-toggle-label-content{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-block;line-height:36px;padding:0 16px;position:relative}.qms-button-toggle .qms-button-toggle-label-content>*{vertical-align:middle}"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
286
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: QMSButtonToggle, decorators: [{
287
- type: Component,
288
- args: [{
289
- selector: 'qms-button-toggle',
290
- templateUrl: 'button-toggle.html',
291
- styleUrls: ['button-toggle.scss'],
292
- encapsulation: ViewEncapsulation.None,
293
- exportAs: 'qmsButtonToggle',
294
- changeDetection: ChangeDetectionStrategy.OnPush,
295
- inputs: ['disableRipple'],
296
- host: {
297
- '[class.qms-button-toggle-standalone]': '!buttonToggleGroup',
298
- '[class.qms-button-toggle-checked]': 'checked',
299
- '[class.qms-button-toggle-disabled]': 'disabled',
300
- '[class.qms-button-toggle-appearance-standard]': 'appearance === "standard"',
301
- '[class.qms-button-toggle-appearance-active]': 'appearance === "active"',
302
- '[class.qms-button-toggle-appearance-dark]': 'appearance === "dark"',
303
- 'class': 'qms-button-toggle',
304
- '[attr.aria-label]': 'null',
305
- '[attr.aria-labelledby]': 'null',
306
- '[attr.id]': 'id',
307
- '[attr.name]': 'null',
308
- '(focus)': 'focus()',
309
- 'role': 'presentation',
310
- }
311
- }]
312
- }], ctorParameters: function () { return [{ type: QMSButtonToggleGroup, decorators: [{
313
- type: Optional
314
- }, {
315
- type: Inject,
316
- args: [BUTTON_TOGGLE_GROUP]
317
- }] }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i1.FocusMonitor }, { type: undefined, decorators: [{
318
- type: Attribute,
319
- args: ['tabindex']
320
- }] }, { type: undefined, decorators: [{
321
- type: Optional
322
- }, {
323
- type: Inject,
324
- args: [BUTTON_TOGGLE_DEFAULT_OPTIONS]
325
- }] }]; }, propDecorators: { ariaLabel: [{
326
- type: Input,
327
- args: ['aria-label']
328
- }], ariaLabelledby: [{
329
- type: Input,
330
- args: ['aria-labelledby']
331
- }], _buttonElement: [{
332
- type: ViewChild,
333
- args: ['button']
334
- }], id: [{
335
- type: Input
336
- }], name: [{
337
- type: Input
338
- }], value: [{
339
- type: Input
340
- }], tabIndex: [{
341
- type: Input
342
- }], appearance: [{
343
- type: Input
344
- }], checked: [{
345
- type: Input
346
- }], disabled: [{
347
- type: Input
348
- }], change: [{
349
- type: Output
350
- }] } });
351
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLXRvZ2dsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Ftcy1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLXRvZ2dsZS50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Ftcy1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLXRvZ2dsZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBZ0IscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUVILFNBQVMsRUFDVCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULGVBQWUsRUFDZixTQUFTLEVBRVQsWUFBWSxFQUNaLFVBQVUsRUFDVixLQUFLLEVBR0wsUUFBUSxFQUNSLE1BQU0sRUFFTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLGNBQWMsRUFDZCxNQUFNLEdBRVQsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFFSCxrQkFBa0IsR0FDckIsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBV2hDLE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUN0QyxJQUFJLGNBQWMsQ0FBNkIsK0JBQStCLENBQUMsQ0FBQztBQUdwRixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FDNUIsSUFBSSxjQUFjLENBQXVCLHNCQUFzQixDQUFDLENBQUM7QUFHckUsTUFBTSxDQUFDLE1BQU0sa0NBQWtDLEdBQVE7SUFDbkQsT0FBTyxFQUFFLGlCQUFpQjtJQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG9CQUFvQixDQUFDO0lBQ25ELEtBQUssRUFBRSxJQUFJO0NBQ2QsQ0FBQztBQUdGLElB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QyxZQUFZO2dCQUdPLGNBQWM7c0JBQXZDLEtBQUs7dUJBQUMsaUJBQWlCO2dCQUdILGNBQWM7c0JBQWxDLFNBQVM7dUJBQUMsUUFBUTtnQkFTVixFQUFFO3NCQUFWLEtBQUs7Z0JBR0csSUFBSTtzQkFBWixLQUFLO2dCQUdHLEtBQUs7c0JBQWIsS0FBSztnQkFHRyxRQUFRO3NCQUFoQixLQUFLO2dCQUlGLFVBQVU7c0JBRGIsS0FBSztnQkFXRixPQUFPO3NCQURWLEtBQUs7Z0JBb0JGLFFBQVE7c0JBRFgsS0FBSztnQkFPYSxNQUFNO3NCQUF4QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9jdXNNb25pdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xyXG5pbXBvcnQgeyBCb29sZWFuSW5wdXQsIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XHJcbmltcG9ydCB7IFNlbGVjdGlvbk1vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvbGxlY3Rpb25zJztcclxuaW1wb3J0IHtcclxuICAgIEFmdGVyQ29udGVudEluaXQsXHJcbiAgICBBdHRyaWJ1dGUsXHJcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICAgIENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgQ29udGVudENoaWxkcmVuLFxyXG4gICAgRGlyZWN0aXZlLFxyXG4gICAgRWxlbWVudFJlZixcclxuICAgIEV2ZW50RW1pdHRlcixcclxuICAgIGZvcndhcmRSZWYsXHJcbiAgICBJbnB1dCxcclxuICAgIE9uRGVzdHJveSxcclxuICAgIE9uSW5pdCxcclxuICAgIE9wdGlvbmFsLFxyXG4gICAgT3V0cHV0LFxyXG4gICAgUXVlcnlMaXN0LFxyXG4gICAgVmlld0NoaWxkLFxyXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgICBJbmplY3Rpb25Ub2tlbixcclxuICAgIEluamVjdCxcclxuICAgIEFmdGVyVmlld0luaXQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHtcclxuICAgIENhbkRpc2FibGVSaXBwbGUsXHJcbiAgICBtaXhpbkRpc2FibGVSaXBwbGUsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XHJcblxyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEJ1dHRvblRvZ2dsZUFwcGVhcmFuY2UgPSAnc3RhbmRhcmQnIHwgJ2FjdGl2ZScgfCAnZGFyayc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEJ1dHRvblRvZ2dsZURlZmF1bHRPcHRpb25zIHtcclxuICAgIGFwcGVhcmFuY2U/OiBCdXR0b25Ub2dnbGVBcHBlYXJhbmNlO1xyXG59XHJcblxyXG5cclxuZXhwb3J0IGNvbnN0IEJVVFRPTl9UT0dHTEVfREVGQVVMVF9PUFRJT05TID1cclxuICAgIG5ldyBJbmplY3Rpb25Ub2tlbjxCdXR0b25Ub2dnbGVEZWZhdWx0T3B0aW9ucz4oJ0JVVFRPTl9UT0dHTEVfREVGQVVMVF9PUFRJT05TJyk7XHJcblxyXG5cclxuZXhwb3J0IGNvbnN0IEJVVFRPTl9UT0dHTEVfR1JPVVAgPVxyXG4gICAgbmV3IEluamVjdGlvblRva2VuPFFNU0J1dHRvblRvZ2dsZUdyb3VwPignUU1TQnV0dG9uVG9nZ2xlR3JvdXAnKTtcclxuXHJcblxyXG5leHBvcnQgY29uc3QgQlVUVE9OX1RPR0dMRV9HUk9VUF9WQUxVRV9BQ0NFU1NPUjogYW55ID0ge1xyXG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBRTVNCdXR0b25Ub2dnbGVHcm91cCksXHJcbiAgICBtdWx0aTogdHJ1ZVxyXG59O1xyXG5cclxuXHJcbmxldCB1bmlxdWVJZENvdW50ZXIgPSAwO1xyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBCdXR0b25Ub2dnbGVDaGFuZ2Uge1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHVibGljIHNvdXJjZTogUU1TQnV0dG9uVG9nZ2xlLFxyXG4gICAgICAgIHB1YmxpYyB2YWx1ZTogYW55KSB7IH1cclxufVxyXG5cclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gICAgc2VsZWN0b3I6ICdxbXMtYnV0dG9uLXRvZ2dsZS1ncm91cCcsXHJcbiAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICBCVVRUT05fVE9HR0xFX0dST1VQX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICAgIHsgcHJvdmlkZTogQlVUVE9OX1RPR0dMRV9HUk9VUCwgdXNlRXhpc3Rpbmc6IFFNU0J1dHRvblRvZ2dsZUdyb3VwIH0sXHJcbiAgICBdLFxyXG4gICAgaG9zdDoge1xyXG4gICAgICAgICdyb2xlJzogJ2dyb3VwJyxcclxuICAgICAgICAnY2xhc3MnOiAncW1zLWJ1dHRvbi10b2dnbGUtZ3JvdXAnLFxyXG4gICAgICAgICdbYXR0ci5hcmlhLWRpc2FibGVkXSc6ICdkaXNhYmxlZCcsXHJcbiAgICAgICAgJ1tjbGFzcy5xbXMtYnV0dG9uLXRvZ2dsZS12ZXJ0aWNhbF0nOiAndmVydGljYWwnLFxyXG4gICAgICAgICdbY2xhc3MucW1zLWJ1dHRvbi10b2dnbGUtZ3JvdXAtYXBwZWFyYW5jZS1zdGFuZGFyZF0nOiAnYXBwZWFyYW5jZSA9PT0gXCJzdGFuZGFyZFwiJyxcclxuICAgICAgICAnW2NsYXNzLnFtcy1idXR0b24tdG9nZ2xlLWdyb3VwLWFwcGVhcmFuY2UtYWN0aXZlXSc6ICdhcHBlYXJhbmNlID09PSBcImFjdGl2ZVwiJyxcclxuICAgICAgICAnW2NsYXNzLnFtcy1idXR0b24tdG9nZ2xlLWdyb3VwLWFwcGVhcmFuY2UtZGFya10nOiAnYXBwZWFyYW5jZSA9PT0gXCJkYXJrXCInLFxyXG4gICAgfSxcclxuICAgIGV4cG9ydEFzOiAncW1zQnV0dG9uVG9nZ2xlR3JvdXAnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUU1TQnV0dG9uVG9nZ2xlR3JvdXAgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25Jbml0LCBBZnRlckNvbnRlbnRJbml0IHtcclxuICAgIHByaXZhdGUgX3ZlcnRpY2FsID0gZmFsc2U7XHJcbiAgICBwcml2YXRlIF9kaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgcHJpdmF0ZSBfc2VsZWN0aW9uTW9kZWw6IFNlbGVjdGlvbk1vZGVsPFFNU0J1dHRvblRvZ2dsZT47XHJcblxyXG4gICAgcHJpdmF0ZSBfcmF3VmFsdWU6IGFueTtcclxuXHJcbiAgICBfY29udHJvbFZhbHVlQWNjZXNzb3JDaGFuZ2VGbjogKHZhbHVlOiBhbnkpID0+IHZvaWQgPSAoKSA9PiB7IH07XHJcblxyXG4gICAgX29uVG91Y2hlZDogKCkgPT4gYW55ID0gKCkgPT4geyB9O1xyXG5cclxuICAgIEBDb250ZW50Q2hpbGRyZW4oZm9yd2FyZFJlZigoKSA9PiBRTVNCdXR0b25Ub2dnbGUpLCB7XHJcbiAgICAgICAgZGVzY2VuZGFudHM6IHRydWVcclxuICAgIH0pIF9idXR0b25Ub2dnbGVzOiBRdWVyeUxpc3Q8UU1TQnV0dG9uVG9nZ2xlPjtcclxuXHJcblxyXG4gICAgQElucHV0KCkgYXBwZWFyYW5jZTogQnV0dG9uVG9nZ2xlQXBwZWFyYW5jZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IG5hbWUoKTogc3RyaW5nIHsgcmV0dXJuIHRoaXMuX25hbWU7IH1cclxuICAgIHNldCBuYW1lKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLl9uYW1lID0gdmFsdWU7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLl9idXR0b25Ub2dnbGVzKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2J1dHRvblRvZ2dsZXMuZm9yRWFjaCh0b2dnbGUgPT4ge1xyXG4gICAgICAgICAgICAgICAgdG9nZ2xlLm5hbWUgPSB0aGlzLl9uYW1lO1xyXG4gICAgICAgICAgICAgICAgdG9nZ2xlLl9tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBfbmFtZSA9IGBxbXMtYnV0dG9uLXRvZ2dsZS1ncm91cC0ke3VuaXF1ZUlkQ291bnRlcisrfWA7XHJcblxyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgdmVydGljYWwoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl92ZXJ0aWNhbDsgfVxyXG4gICAgc2V0IHZlcnRpY2FsKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5fdmVydGljYWwgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IHZhbHVlKCk6IGFueSB7XHJcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWQgPSB0aGlzLl9zZWxlY3Rpb25Nb2RlbCA/IHRoaXMuX3NlbGVjdGlvbk1vZGVsLnNlbGVjdGVkIDogW107XHJcblxyXG4gICAgICAgIHJldHVybiBzZWxlY3RlZFswXSA/IHNlbGVjdGVkWzBdLnZhbHVlIDogdW5kZWZpbmVkO1xyXG4gICAgfVxyXG4gICAgc2V0IHZhbHVlKG5ld1ZhbHVlOiBhbnkpIHtcclxuICAgICAgICB0aGlzLl9zZXRTZWxlY3Rpb25CeVZhbHVlKG5ld1ZhbHVlKTtcclxuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy52YWx1ZSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIEBPdXRwdXQoKSByZWFkb25seSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuXHJcbiAgICBnZXQgc2VsZWN0ZWQoKTogUU1TQnV0dG9uVG9nZ2xlIHwgUU1TQnV0dG9uVG9nZ2xlW10ge1xyXG4gICAgICAgIGNvbnN0IHNlbGVjdGVkID0gdGhpcy5fc2VsZWN0aW9uTW9kZWwgPyB0aGlzLl9zZWxlY3Rpb25Nb2RlbC5zZWxlY3RlZCA6IFtdO1xyXG4gICAgICAgIHJldHVybiAoc2VsZWN0ZWRbMF0gfHwgbnVsbCk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9kaXNhYmxlZDsgfVxyXG4gICAgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5fZGlzYWJsZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5fYnV0dG9uVG9nZ2xlcykge1xyXG4gICAgICAgICAgICB0aGlzLl9idXR0b25Ub2dnbGVzLmZvckVhY2godG9nZ2xlID0+IHRvZ2dsZS5fbWFya0ZvckNoZWNrKCkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgY2hhbmdlOiBFdmVudEVtaXR0ZXI8QnV0dG9uVG9nZ2xlQ2hhbmdlPiA9XHJcbiAgICAgICAgbmV3IEV2ZW50RW1pdHRlcjxCdXR0b25Ub2dnbGVDaGFuZ2U+KCk7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoQlVUVE9OX1RPR0dMRV9ERUZBVUxUX09QVElPTlMpXHJcbiAgICAgICAgZGVmYXVsdE9wdGlvbnM/OiBCdXR0b25Ub2dnbGVEZWZhdWx0T3B0aW9ucykge1xyXG5cclxuICAgICAgICB0aGlzLmFwcGVhcmFuY2UgPVxyXG4gICAgICAgICAgICBkZWZhdWx0T3B0aW9ucyAmJiBkZWZhdWx0T3B0aW9ucy5hcHBlYXJhbmNlID8gZGVmYXVsdE9wdGlvbnMuYXBwZWFyYW5jZSA6ICdzdGFuZGFyZCc7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5fc2VsZWN0aW9uTW9kZWwgPSBuZXcgU2VsZWN0aW9uTW9kZWw8UU1TQnV0dG9uVG9nZ2xlPihmYWxzZSwgdW5kZWZpbmVkLCBmYWxzZSk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xyXG4gICAgICAgIHRoaXMuX3NlbGVjdGlvbk1vZGVsLnNlbGVjdCguLi50aGlzLl9idXR0b25Ub2dnbGVzLmZpbHRlcih0b2dnbGUgPT4gdG9nZ2xlLmNoZWNrZWQpKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XHJcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfVxyXG5cclxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogYW55KSA9PiB2b2lkKSB7XHJcbiAgICAgICAgdGhpcy5fY29udHJvbFZhbHVlQWNjZXNzb3JDaGFuZ2VGbiA9IGZuO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KSB7XHJcbiAgICAgICAgdGhpcy5fb25Ub3VjaGVkID0gZm47XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBfZW1pdENoYW5nZUV2ZW50KCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IHNlbGVjdGVkID0gdGhpcy5zZWxlY3RlZDtcclxuICAgICAgICBjb25zdCBzb3VyY2UgPSBBcnJheS5pc0FycmF5KHNlbGVjdGVkKSA/IHNlbGVjdGVkW3NlbGVjdGVkLmxlbmd0aCAtIDFdIDogc2VsZWN0ZWQ7XHJcbiAgICAgICAgY29uc3QgZXZlbnQgPSBuZXcgQnV0dG9uVG9nZ2xlQ2hhbmdlKHNvdXJjZSEsIHRoaXMudmFsdWUpO1xyXG4gICAgICAgIHRoaXMuX2NvbnRyb2xWYWx1ZUFjY2Vzc29yQ2hhbmdlRm4oZXZlbnQudmFsdWUpO1xyXG4gICAgICAgIHRoaXMuY2hhbmdlLmVtaXQoZXZlbnQpO1xyXG4gICAgfVxyXG5cclxuICAgIF9zeW5jQnV0dG9uVG9nZ2xlKHRvZ2dsZTogUU1TQnV0dG9uVG9nZ2xlLFxyXG4gICAgICAgIHNlbGVjdDogYm9vbGVhbixcclxuICAgICAgICBpc1VzZXJJbnB1dCA9IGZhbHNlLFxyXG4gICAgICAgIGRlZmVyRXZlbnRzID0gZmFsc2UpIHtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWQgJiYgIXRvZ2dsZS5jaGVja2VkKSB7XHJcbiAgICAgICAgICAgICh0aGlzLnNlbGVjdGVkIGFzIFFNU0J1dHRvblRvZ2dsZSkuY2hlY2tlZCA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMuX3NlbGVjdGlvbk1vZGVsKSB7XHJcbiAgICAgICAgICAgIGlmIChzZWxlY3QpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3NlbGVjdGlvbk1vZGVsLnNlbGVjdCh0b2dnbGUpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fc2VsZWN0aW9uTW9kZWwuZGVzZWxlY3QodG9nZ2xlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGRlZmVyRXZlbnRzID0gdHJ1ZTtcclxuICAgICAgICB9XHJcblxyXG5cclxuICAgICAgICBpZiAoZGVmZXJFdmVudHMpIHtcclxuICAgICAgICAgICAgUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKSA9PiB0aGlzLl91cGRhdGVNb2RlbFZhbHVlKGlzVXNlcklucHV0KSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5fdXBkYXRlTW9kZWxWYWx1ZShpc1VzZXJJbnB1dCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICBfaXNTZWxlY3RlZCh0b2dnbGU6IFFNU0J1dHRvblRvZ2dsZSkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zZWxlY3Rpb25Nb2RlbCAmJiB0aGlzLl9zZWxlY3Rpb25Nb2RlbC5pc1NlbGVjdGVkKHRvZ2dsZSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIF9pc1ByZWNoZWNrZWQodG9nZ2xlOiBRTVNCdXR0b25Ub2dnbGUpIHtcclxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuX3Jhd1ZhbHVlID09PSAndW5kZWZpbmVkJykge1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gdG9nZ2xlLnZhbHVlID09PSB0aGlzLl9yYXdWYWx1ZTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgcHJpdmF0ZSBfc2V0U2VsZWN0aW9uQnlWYWx1ZSh2YWx1ZTogYW55IHwgYW55W10pIHtcclxuICAgICAgICB0aGlzLl9yYXdWYWx1ZSA9IHZhbHVlO1xyXG5cclxuICAgICAgICBpZiAoIXRoaXMuX2J1dHRvblRvZ2dsZXMpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5fY2xlYXJTZWxlY3Rpb24oKTtcclxuICAgICAgICB0aGlzLl9zZWxlY3RWYWx1ZSh2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHByaXZhdGUgX2NsZWFyU2VsZWN0aW9uKCkge1xyXG4gICAgICAgIHRoaXMuX3NlbGVjdGlvbk1vZGVsLmNsZWFyKCk7XHJcbiAgICAgICAgdGhpcy5fYnV0dG9uVG9nZ2xlcy5mb3JFYWNoKHRvZ2dsZSA9PiB0b2dnbGUuY2hlY2tlZCA9IGZhbHNlKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgcHJpdmF0ZSBfc2VsZWN0VmFsdWUodmFsdWU6IGFueSkge1xyXG4gICAgICAgIGNvbnN0IGNvcnJlc3BvbmRpbmdPcHRpb24gPSB0aGlzLl9idXR0b25Ub2dnbGVzLmZpbmQodG9nZ2xlID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIHRvZ2dsZS52YWx1ZSAhPSBudWxsICYmIHRvZ2dsZS52YWx1ZSA9PT0gdmFsdWU7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIGlmIChjb3JyZXNwb25kaW5nT3B0aW9uKSB7XHJcbiAgICAgICAgICAgIGNvcnJlc3BvbmRpbmdPcHRpb24uY2hlY2tlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuX3NlbGVjdGlvbk1vZGVsLnNlbGVjdChjb3JyZXNwb25kaW5nT3B0aW9uKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfdXBkYXRlTW9kZWxWYWx1ZShpc1VzZXJJbnB1dDogYm9vbGVhbikge1xyXG4gICAgICAgIGlmIChpc1VzZXJJbnB1dCkge1xyXG4gICAgICAgICAgICB0aGlzLl9lbWl0Q2hhbmdlRXZlbnQoKTtcclxuICAgICAgICB9XHJcblxyXG5cclxuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy52YWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2Rpc2FibGVkOiBCb29sZWFuSW5wdXQ7XHJcbiAgICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfbXVsdGlwbGU6IEJvb2xlYW5JbnB1dDtcclxuICAgIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV92ZXJ0aWNhbDogQm9vbGVhbklucHV0O1xyXG59XHJcblxyXG5cclxuY29uc3QgX0J1dHRvblRvZ2dsZUJhc2UgPSBtaXhpbkRpc2FibGVSaXBwbGUoY2xhc3MgeyB9KTtcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAncW1zLWJ1dHRvbi10b2dnbGUnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICdidXR0b24tdG9nZ2xlLmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJ2J1dHRvbi10b2dnbGUuc2NzcyddLFxyXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICAgIGV4cG9ydEFzOiAncW1zQnV0dG9uVG9nZ2xlJyxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgaW5wdXRzOiBbJ2Rpc2FibGVSaXBwbGUnXSxcclxuICAgIGhvc3Q6IHtcclxuICAgICAgICAnW2NsYXNzLnFtcy1idXR0b24tdG9nZ2xlLXN0YW5kYWxvbmVdJzogJyFidXR0b25Ub2dnbGVHcm91cCcsXHJcbiAgICAgICAgJ1tjbGFzcy5xbXMtYnV0dG9uLXRvZ2dsZS1jaGVja2VkXSc6ICdjaGVja2VkJyxcclxuICAgICAgICAnW2NsYXNzLnFtcy1idXR0b24tdG9nZ2xlLWRpc2FibGVkXSc6ICdkaXNhYmxlZCcsXHJcbiAgICAgICAgJ1tjbGFzcy5xbXMtYnV0dG9uLXRvZ2dsZS1hcHBlYXJhbmNlLXN0YW5kYXJkXSc6ICdhcHBlYXJhbmNlID09PSBcInN0YW5kYXJkXCInLFxyXG4gICAgICAgICdbY2xhc3MucW1zLWJ1dHRvbi10b2dnbGUtYXBwZWFyYW5jZS1hY3RpdmVdJzogJ2FwcGVhcmFuY2UgPT09IFwiYWN0aXZlXCInLFxyXG4gICAgICAgICdbY2xhc3MucW1zLWJ1dHRvbi10b2dnbGUtYXBwZWFyYW5jZS1kYXJrXSc6ICdhcHBlYXJhbmNlID09PSBcImRhcmtcIicsXHJcbiAgICAgICAgJ2NsYXNzJzogJ3Ftcy1idXR0b24tdG9nZ2xlJyxcclxuICAgICAgICAnW2F0dHIuYXJpYS1sYWJlbF0nOiAnbnVsbCcsXHJcbiAgICAgICAgJ1thdHRyLmFyaWEtbGFiZWxsZWRieV0nOiAnbnVsbCcsXHJcbiAgICAgICAgJ1thdHRyLmlkXSc6ICdpZCcsXHJcbiAgICAgICAgJ1thdHRyLm5hbWVdJzogJ251bGwnLFxyXG4gICAgICAgICcoZm9jdXMpJzogJ2ZvY3VzKCknLFxyXG4gICAgICAgICdyb2xlJzogJ3ByZXNlbnRhdGlvbicsXHJcbiAgICB9XHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBRTVNCdXR0b25Ub2dnbGUgZXh0ZW5kcyBfQnV0dG9uVG9nZ2xlQmFzZSBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCxcclxuICAgIENhbkRpc2FibGVSaXBwbGUsIE9uRGVzdHJveSB7XHJcblxyXG4gICAgcHJpdmF0ZSBfY2hlY2tlZCA9IGZhbHNlO1xyXG5cclxuXHJcbiAgICBASW5wdXQoJ2FyaWEtbGFiZWwnKSBhcmlhTGFiZWw6IHN0cmluZztcclxuXHJcblxyXG4gICAgQElucHV0KCdhcmlhLWxhYmVsbGVkYnknKSBhcmlhTGFiZWxsZWRieTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcblxyXG5cclxuICAgIEBWaWV3Q2hpbGQoJ2J1dHRvbicpIF9idXR0b25FbGVtZW50OiBFbGVtZW50UmVmPEhUTUxCdXR0b25FbGVtZW50PjtcclxuXHJcblxyXG4gICAgYnV0dG9uVG9nZ2xlR3JvdXA6IFFNU0J1dHRvblRvZ2dsZUdyb3VwO1xyXG5cclxuXHJcbiAgICBnZXQgYnV0dG9uSWQoKTogc3RyaW5nIHsgcmV0dXJuIGAke3RoaXMuaWR9LWJ1dHRvbmA7IH1cclxuXHJcblxyXG4gICAgQElucHV0KCkgaWQ6IHN0cmluZztcclxuXHJcblxyXG4gICAgQElucHV0KCkgbmFtZTogc3RyaW5nO1xyXG5cclxuXHJcbiAgICBASW5wdXQoKSB2YWx1ZTogYW55O1xyXG5cclxuXHJcbiAgICBASW5wdXQoKSB0YWJJbmRleDogbnVtYmVyIHwgbnVsbDtcclxuXHJcblxyXG4gICAgQElucHV0KClcclxuICAgIGdldCBhcHBlYXJhbmNlKCk6IEJ1dHRvblRvZ2dsZUFwcGVhcmFuY2Uge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJ1dHRvblRvZ2dsZUdyb3VwID8gdGhpcy5idXR0b25Ub2dnbGVHcm91cC5hcHBlYXJhbmNlIDogdGhpcy5fYXBwZWFyYW5jZTtcclxuICAgIH1cclxuICAgIHNldCBhcHBlYXJhbmNlKHZhbHVlOiBCdXR0b25Ub2dnbGVBcHBlYXJhbmNlKSB7XHJcbiAgICAgICAgdGhpcy5fYXBwZWFyYW5jZSA9IHZhbHVlO1xyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBfYXBwZWFyYW5jZTogQnV0dG9uVG9nZ2xlQXBwZWFyYW5jZTtcclxuXHJcblxyXG4gICAgQElucHV0KClcclxuICAgIGdldCBjaGVja2VkKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJ1dHRvblRvZ2dsZUdyb3VwID8gdGhpcy5idXR0b25Ub2dnbGVHcm91cC5faXNTZWxlY3RlZCh0aGlzKSA6IHRoaXMuX2NoZWNrZWQ7XHJcbiAgICB9XHJcbiAgICBzZXQgY2hlY2tlZCh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcclxuXHJcbiAgICAgICAgaWYgKG5ld1ZhbHVlICE9PSB0aGlzLl9jaGVja2VkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2NoZWNrZWQgPSBuZXdWYWx1ZTtcclxuXHJcbiAgICAgICAgICAgIGlmICh0aGlzLmJ1dHRvblRvZ2dsZUdyb3VwKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmJ1dHRvblRvZ2dsZUdyb3VwLl9zeW5jQnV0dG9uVG9nZ2xlKHRoaXMsIHRoaXMuX2NoZWNrZWQpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkIHx8ICh0aGlzLmJ1dHRvblRvZ2dsZUdyb3VwICYmIHRoaXMuYnV0dG9uVG9nZ2xlR3JvdXAuZGlzYWJsZWQpO1xyXG4gICAgfVxyXG4gICAgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7IHRoaXMuX2Rpc2FibGVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTsgfVxyXG4gICAgcHJpdmF0ZSBfZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgY2hhbmdlOiBFdmVudEVtaXR0ZXI8QnV0dG9uVG9nZ2xlQ2hhbmdlPiA9XHJcbiAgICAgICAgbmV3IEV2ZW50RW1pdHRlcjxCdXR0b25Ub2dnbGVDaGFuZ2U+KCk7XHJcblxyXG4gICAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQEluamVjdChCVVRUT05fVE9HR0xFX0dST1VQKSB0b2dnbGVHcm91cDogUU1TQnV0dG9uVG9nZ2xlR3JvdXAsXHJcbiAgICAgICAgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxyXG4gICAgICAgIHByaXZhdGUgX2ZvY3VzTW9uaXRvcjogRm9jdXNNb25pdG9yLFxyXG4gICAgICAgIEBBdHRyaWJ1dGUoJ3RhYmluZGV4JykgZGVmYXVsdFRhYkluZGV4OiBzdHJpbmcsXHJcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChCVVRUT05fVE9HR0xFX0RFRkFVTFRfT1BUSU9OUylcclxuICAgICAgICBkZWZhdWx0T3B0aW9ucz86IEJ1dHRvblRvZ2dsZURlZmF1bHRPcHRpb25zKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuXHJcbiAgICAgICAgY29uc3QgcGFyc2VkVGFiSW5kZXggPSBOdW1iZXIoZGVmYXVsdFRhYkluZGV4KTtcclxuICAgICAgICB0aGlzLnRhYkluZGV4ID0gKHBhcnNlZFRhYkluZGV4IHx8IHBhcnNlZFRhYkluZGV4ID09PSAwKSA/IHBhcnNlZFRhYkluZGV4IDogbnVsbDtcclxuICAgICAgICB0aGlzLmJ1dHRvblRvZ2dsZUdyb3VwID0gdG9nZ2xlR3JvdXA7XHJcbiAgICAgICAgdGhpcy5hcHBlYXJhbmNlID1cclxuICAgICAgICAgICAgZGVmYXVsdE9wdGlvbnMgJiYgZGVmYXVsdE9wdGlvbnMuYXBwZWFyYW5jZSA/IGRlZmF1bHRPcHRpb25zLmFwcGVhcmFuY2UgOiAnc3RhbmRhcmQnO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIGNvbnN0IGdyb3VwID0gdGhpcy5idXR0b25Ub2dnbGVHcm91cDtcclxuICAgICAgICB0aGlzLmlkID0gdGhpcy5pZCB8fCBgcW1zLWJ1dHRvbi10b2dnbGUtJHt1bmlxdWVJZENvdW50ZXIrK31gO1xyXG5cclxuICAgICAgICB0aGlzLm5hbWUgPSBncm91cC5uYW1lO1xyXG5cclxuICAgICAgICBpZiAoZ3JvdXApIHtcclxuICAgICAgICAgICAgaWYgKGdyb3VwLl9pc1ByZWNoZWNrZWQodGhpcykpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuY2hlY2tlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoZ3JvdXAuX2lzU2VsZWN0ZWQodGhpcykgIT09IHRoaXMuX2NoZWNrZWQpIHtcclxuICAgICAgICAgICAgICAgIGdyb3VwLl9zeW5jQnV0dG9uVG9nZ2xlKHRoaXMsIHRoaXMuX2NoZWNrZWQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgICAgICB0aGlzLl9mb2N1c01vbml0b3IubW9uaXRvcih0aGlzLl9lbGVtZW50UmVmLCB0cnVlKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICBjb25zdCBncm91cCA9IHRoaXMuYnV0dG9uVG9nZ2xlR3JvdXA7XHJcblxyXG4gICAgICAgIHRoaXMuX2ZvY3VzTW9uaXRvci5zdG9wTW9uaXRvcmluZyh0aGlzLl9lbGVtZW50UmVmKTtcclxuXHJcbiAgICAgICAgaWYgKGdyb3VwICYmIGdyb3VwLl9pc1NlbGVjdGVkKHRoaXMpKSB7XHJcbiAgICAgICAgICAgIGdyb3VwLl9zeW5jQnV0dG9uVG9nZ2xlKHRoaXMsIGZhbHNlLCBmYWxzZSwgdHJ1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGZvY3VzKG9wdGlvbnM/OiBGb2N1c09wdGlvbnMpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9idXR0b25FbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZm9jdXMob3B0aW9ucyk7XHJcbiAgICB9XHJcblxyXG4gICAgX29uQnV0dG9uQ2xpY2soKSB7XHJcblxyXG4gICAgICAgIGlmICghdGhpcy5fY2hlY2tlZCkge1xyXG4gICAgICAgICAgICB0aGlzLl9jaGVja2VkID0gdHJ1ZTtcclxuICAgICAgICAgICAgaWYgKHRoaXMuYnV0dG9uVG9nZ2xlR3JvdXApIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuYnV0dG9uVG9nZ2xlR3JvdXAuX3N5bmNCdXR0b25Ub2dnbGUodGhpcywgdGhpcy5fY2hlY2tlZCwgdHJ1ZSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmJ1dHRvblRvZ2dsZUdyb3VwLl9vblRvdWNoZWQoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmNoYW5nZS5lbWl0KG5ldyBCdXR0b25Ub2dnbGVDaGFuZ2UodGhpcywgdGhpcy52YWx1ZSkpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBfbWFya0ZvckNoZWNrKCkge1xyXG4gICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9jaGVja2VkOiBCb29sZWFuSW5wdXQ7XHJcbiAgICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfZGlzYWJsZWQ6IEJvb2xlYW5JbnB1dDtcclxuICAgIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV92ZXJ0aWNhbDogQm9vbGVhbklucHV0O1xyXG4gICAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2Rpc2FibGVSaXBwbGU6IEJvb2xlYW5JbnB1dDtcclxufSIsIjxidXR0b25cclxuICAjYnV0dG9uXHJcbiAgY2xhc3M9XCJxbXMtYnV0dG9uLXRvZ2dsZSBtYXQtZm9jdXMtaW5kaWNhdG9yXCJcclxuICB0eXBlPVwiYnV0dG9uXCJcclxuICBbaWRdPVwiYnV0dG9uSWRcIlxyXG4gIFthdHRyLnRhYmluZGV4XT1cImRpc2FibGVkID8gLTEgOiB0YWJJbmRleFwiXHJcbiAgW2F0dHIuYXJpYS1wcmVzc2VkXT1cImNoZWNrZWRcIlxyXG4gIFtkaXNhYmxlZF09XCJkaXNhYmxlZCB8fCBudWxsXCJcclxuICBbYXR0ci5uYW1lXT1cIm5hbWUgfHwgbnVsbFwiXHJcbiAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWxcIlxyXG4gIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJhcmlhTGFiZWxsZWRieVwiXHJcbiAgKGNsaWNrKT1cIl9vbkJ1dHRvbkNsaWNrKClcIlxyXG4+XHJcbiAgPHNwYW4gY2xhc3M9XCJxbXMtYnV0dG9uLXRvZ2dsZS1sYWJlbC1jb250ZW50XCI+XHJcbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgPC9zcGFuPlxyXG48L2J1dHRvbj5cclxuXHJcbjwhLS0gPHNwYW4gY2xhc3M9XCJtYXQtYnV0dG9uLXRvZ2dsZS1mb2N1cy1vdmVybGF5XCI+PC9zcGFuPlxyXG48c3BhbiBjbGFzcz1cIm1hdC1idXR0b24tdG9nZ2xlLXJpcHBsZVwiIG1hdFJpcHBsZVxyXG4gICAgIFttYXRSaXBwbGVUcmlnZ2VyXT1cImJ1dHRvblwiXHJcbiAgICAgW21hdFJpcHBsZURpc2FibGVkXT1cInRoaXMuZGlzYWJsZVJpcHBsZSB8fCB0aGlzLmRpc2FibGVkXCI+XHJcbjwvc3Bhbj4gLS0+XHJcbiJdfQ==
269
+ QMSButtonToggle.decorators = [
270
+ { type: Component, args: [{
271
+ selector: 'qms-button-toggle',
272
+ template: "<button\r\n #button\r\n class=\"qms-button-toggle mat-focus-indicator\"\r\n type=\"button\"\r\n [id]=\"buttonId\"\r\n [attr.tabindex]=\"disabled ? -1 : tabIndex\"\r\n [attr.aria-pressed]=\"checked\"\r\n [disabled]=\"disabled || null\"\r\n [attr.name]=\"name || null\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-labelledby]=\"ariaLabelledby\"\r\n (click)=\"_onButtonClick()\"\r\n>\r\n <span class=\"qms-button-toggle-label-content\">\r\n <ng-content></ng-content>\r\n </span>\r\n</button>\r\n\r\n<!-- <span class=\"mat-button-toggle-focus-overlay\"></span>\r\n<span class=\"mat-button-toggle-ripple\" matRipple\r\n [matRippleTrigger]=\"button\"\r\n [matRippleDisabled]=\"this.disableRipple || this.disabled\">\r\n</span> -->\r\n",
273
+ encapsulation: ViewEncapsulation.None,
274
+ exportAs: 'qmsButtonToggle',
275
+ changeDetection: ChangeDetectionStrategy.OnPush,
276
+ inputs: ['disableRipple'],
277
+ host: {
278
+ '[class.qms-button-toggle-standalone]': '!buttonToggleGroup',
279
+ '[class.qms-button-toggle-checked]': 'checked',
280
+ '[class.qms-button-toggle-disabled]': 'disabled',
281
+ '[class.qms-button-toggle-appearance-standard]': 'appearance === "standard"',
282
+ '[class.qms-button-toggle-appearance-active]': 'appearance === "active"',
283
+ '[class.qms-button-toggle-appearance-dark]': 'appearance === "dark"',
284
+ 'class': 'qms-button-toggle',
285
+ '[attr.aria-label]': 'null',
286
+ '[attr.aria-labelledby]': 'null',
287
+ '[attr.id]': 'id',
288
+ '[attr.name]': 'null',
289
+ '(focus)': 'focus()',
290
+ 'role': 'presentation',
291
+ },
292
+ styles: ["@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFWJ0bbck.woff2) format(\"woff2\");unicode-range:U+0460-052f,U+1c80-1c88,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFUZ0bbck.woff2) format(\"woff2\");unicode-range:U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFWZ0bbck.woff2) format(\"woff2\");unicode-range:U+1f??}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFVp0bbck.woff2) format(\"woff2\");unicode-range:U+0370-03ff}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFWp0bbck.woff2) format(\"woff2\");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+1ea0-1ef9,U+20ab}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFW50bbck.woff2) format(\"woff2\");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFVZ0b.woff2) format(\"woff2\");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCFPrEHJA.woff2) format(\"woff2\");unicode-range:U+0460-052f,U+1c80-1c88,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCMPrEHJA.woff2) format(\"woff2\");unicode-range:U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCHPrEHJA.woff2) format(\"woff2\");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+1ea0-1ef9,U+20ab}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCGPrEHJA.woff2) format(\"woff2\");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCIPrE.woff2) format(\"woff2\");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}.qms-button-toggle-group{position:relative;display:inline-flex;flex-direction:row;white-space:nowrap;overflow:hidden;-webkit-tap-highlight-color:transparent;border-radius:4px;border:1px solid #e0e0e0}.qms-button-toggle-group .qms-button-toggle{font-family:Open Sans;white-space:nowrap;position:relative;font-size:14px;font-weight:600;line-height:16px}.qms-button-toggle-group .qms-button-toggle.qms-button-toggle-appearance-standard{background-color:#fff;color:#323232;position:relative}.qms-button-toggle-group .qms-button-toggle.qms-button-toggle-appearance-standard .mat-icon{color:#1954a9}.qms-button-toggle-group .qms-button-toggle.qms-button-toggle-appearance-standard:hover{background-color:#e5eefb}.qms-button-toggle-group .qms-button-toggle.qms-button-toggle-appearance-standard.qms-button-toggle-checked{background-color:#e5eefb;color:#1954a9}.qms-button-toggle-group .qms-button-toggle.qms-button-toggle-appearance-standard+.qms-button-toggle{border-left:1px solid #e0e0e0}.qms-button-toggle-group .qms-button-toggle.qms-button-toggle-appearance-standard.cdk-keyboard-focused:after{content:\"\";display:block;position:absolute;top:0;right:0;width:3px;height:100%;background:#2873df}.qms-button-toggle-group .qms-button-toggle.qms-button-toggle-appearance-standard.cdk-keyboard-focused:before{content:\"\";display:block;position:absolute;top:0;right:0;bottom:0;left:0;border:3px solid #2873df}.qms-button-toggle-group .qms-button-toggle.qms-button-toggle-appearance-active{background-color:#e5eefb;color:#1954a9}.qms-button-toggle-group .qms-button-toggle.qms-button-toggle-appearance-active.qms-button-toggle-checked,.qms-button-toggle-group .qms-button-toggle.qms-button-toggle-appearance-active:hover{background-color:#1954a9;color:#fff}.qms-button-toggle-group .qms-button-toggle.qms-button-toggle-appearance-active+.qms-button-toggle{border-left:1px solid #e0e0e0}.qms-button-toggle-group .qms-button-toggle.qms-button-toggle-appearance-active.cdk-keyboard-focused:after{content:\"\";display:block;position:absolute;top:0;right:0;width:3px;height:100%;background:#2873df}.qms-button-toggle-group .qms-button-toggle.qms-button-toggle-appearance-active.cdk-keyboard-focused:before{content:\"\";display:block;position:absolute;top:0;right:0;bottom:0;left:0;border:3px solid #2873df}.qms-button-toggle-group .qms-button-toggle.qms-button-toggle-appearance-dark{background-color:#323232;color:hsla(0,0%,100%,.6)}.qms-button-toggle-group .qms-button-toggle.qms-button-toggle-appearance-dark .mat-icon{color:#94baef}.qms-button-toggle-group .qms-button-toggle.qms-button-toggle-appearance-dark.qms-button-toggle-checked,.qms-button-toggle-group .qms-button-toggle.qms-button-toggle-appearance-dark:hover{background-color:#b7daf8;color:#1954a9}.qms-button-toggle-group .qms-button-toggle.qms-button-toggle-appearance-dark.qms-button-toggle-checked .mat-icon{color:#1954a9}.qms-button-toggle-group .qms-button-toggle.qms-button-toggle-appearance-dark+.qms-button-toggle{border-left:1px solid #474747}.qms-button-toggle-group .qms-button-toggle.qms-button-toggle-appearance-dark.cdk-keyboard-focused:after{content:\"\";display:block;position:absolute;top:0;right:0;width:3px;height:100%;background:#2873df}.qms-button-toggle-group .qms-button-toggle.qms-button-toggle-appearance-dark.cdk-keyboard-focused:before{content:\"\";display:block;position:absolute;top:0;right:0;bottom:0;left:0;border:3px solid #2873df}.qms-button-toggle-group .qms-button-toggle.qms-button-toggle-disabled{cursor:default!important;background:#e4e4e4!important;color:rgba(0,0,0,.38)!important}.qms-button-toggle-group .qms-button-toggle.qms-button-toggle-disabled .mat-icon{color:rgba(0,0,0,.38)!important}.qms-button-toggle{border:0;background:none;color:inherit;padding:0;margin:0;font:inherit;outline:none;width:100%;cursor:pointer}.qms-button-toggle-label-content{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-block;line-height:36px;padding:0 16px;position:relative}.qms-button-toggle .qms-button-toggle-label-content>*{vertical-align:middle}"]
293
+ },] }
294
+ ];
295
+ QMSButtonToggle.ctorParameters = () => [
296
+ { type: QMSButtonToggleGroup, decorators: [{ type: Optional }, { type: Inject, args: [BUTTON_TOGGLE_GROUP,] }] },
297
+ { type: ChangeDetectorRef },
298
+ { type: ElementRef },
299
+ { type: FocusMonitor },
300
+ { type: String, decorators: [{ type: Attribute, args: ['tabindex',] }] },
301
+ { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [BUTTON_TOGGLE_DEFAULT_OPTIONS,] }] }
302
+ ];
303
+ QMSButtonToggle.propDecorators = {
304
+ ariaLabel: [{ type: Input, args: ['aria-label',] }],
305
+ ariaLabelledby: [{ type: Input, args: ['aria-labelledby',] }],
306
+ _buttonElement: [{ type: ViewChild, args: ['button',] }],
307
+ id: [{ type: Input }],
308
+ name: [{ type: Input }],
309
+ value: [{ type: Input }],
310
+ tabIndex: [{ type: Input }],
311
+ appearance: [{ type: Input }],
312
+ checked: [{ type: Input }],
313
+ disabled: [{ type: Input }],
314
+ change: [{ type: Output }]
315
+ };
316
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLXRvZ2dsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Ftcy1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLXRvZ2dsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFnQixxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBRUgsU0FBUyxFQUNULHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULGVBQWUsRUFDZixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixVQUFVLEVBQ1YsS0FBSyxFQUdMLFFBQVEsRUFDUixNQUFNLEVBRU4sU0FBUyxFQUNULGlCQUFpQixFQUNqQixjQUFjLEVBQ2QsTUFBTSxHQUVULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBRUgsa0JBQWtCLEdBQ3JCLE1BQU0sd0JBQXdCLENBQUM7QUFXaEMsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQ3RDLElBQUksY0FBYyxDQUE2QiwrQkFBK0IsQ0FBQyxDQUFDO0FBR3BGLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUM1QixJQUFJLGNBQWMsQ0FBdUIsc0JBQXNCLENBQUMsQ0FBQztBQUdyRSxNQUFNLENBQUMsTUFBTSxrQ0FBa0MsR0FBUTtJQUNuRCxPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQUM7SUFDbkQsS0FBSyxFQUFFLElBQUk7Q0FDZCxDQUFDO0FBR0YsSUFBSSxlQUFlLEdBQUcsQ0FBQyxDQUFD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LE1BQU0sRUFBRSxDQUFDLGVBQWUsQ0FBQztnQkFDekIsSUFBSSxFQUFFO29CQUNGLHNDQUFzQyxFQUFFLG9CQUFvQjtvQkFDNUQsbUNBQW1DLEVBQUUsU0FBUztvQkFDOUMsb0NBQW9DLEVBQUUsVUFBVTtvQkFDaEQsK0NBQStDLEVBQUUsMkJBQTJCO29CQUM1RSw2Q0FBNkMsRUFBRSx5QkFBeUI7b0JBQ3hFLDJDQUEyQyxFQUFFLHVCQUF1QjtvQkFDcEUsT0FBTyxFQUFFLG1CQUFtQjtvQkFDNUIsbUJBQW1CLEVBQUUsTUFBTTtvQkFDM0Isd0JBQXdCLEVBQUUsTUFBTTtvQkFDaEMsV0FBVyxFQUFFLElBQUk7b0JBQ2pCLGFBQWEsRUFBRSxNQUFNO29CQUNyQixTQUFTLEVBQUUsU0FBUztvQkFDcEIsTUFBTSxFQUFFLGNBQWM7aUJBQ3pCOzthQUNKOzs7WUF5RXFFLG9CQUFvQix1QkFBekUsUUFBUSxZQUFJLE1BQU0sU0FBQyxtQkFBbUI7WUE3WG5ELGlCQUFpQjtZQUlqQixVQUFVO1lBWEwsWUFBWTt5Q0F3WVosU0FBUyxTQUFDLFVBQVU7NENBQ3BCLFFBQVEsWUFBSSxNQUFNLFNBQUMsNkJBQTZCOzs7d0JBdkVwRCxLQUFLLFNBQUMsWUFBWTs2QkFHbEIsS0FBSyxTQUFDLGlCQUFpQjs2QkFHdkIsU0FBUyxTQUFDLFFBQVE7aUJBU2xCLEtBQUs7bUJBR0wsS0FBSztvQkFHTCxLQUFLO3VCQUdMLEtBQUs7eUJBR0wsS0FBSztzQkFVTCxLQUFLO3VCQW1CTCxLQUFLO3FCQU9MLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb2N1c01vbml0b3IgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XHJcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcclxuaW1wb3J0IHsgU2VsZWN0aW9uTW9kZWwgfSBmcm9tICdAYW5ndWxhci9jZGsvY29sbGVjdGlvbnMnO1xyXG5pbXBvcnQge1xyXG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcclxuICAgIEF0dHJpYnV0ZSxcclxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBDb250ZW50Q2hpbGRyZW4sXHJcbiAgICBEaXJlY3RpdmUsXHJcbiAgICBFbGVtZW50UmVmLFxyXG4gICAgRXZlbnRFbWl0dGVyLFxyXG4gICAgZm9yd2FyZFJlZixcclxuICAgIElucHV0LFxyXG4gICAgT25EZXN0cm95LFxyXG4gICAgT25Jbml0LFxyXG4gICAgT3B0aW9uYWwsXHJcbiAgICBPdXRwdXQsXHJcbiAgICBRdWVyeUxpc3QsXHJcbiAgICBWaWV3Q2hpbGQsXHJcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICAgIEluamVjdGlvblRva2VuLFxyXG4gICAgSW5qZWN0LFxyXG4gICAgQWZ0ZXJWaWV3SW5pdCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQge1xyXG4gICAgQ2FuRGlzYWJsZVJpcHBsZSxcclxuICAgIG1peGluRGlzYWJsZVJpcHBsZSxcclxufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcclxuXHJcblxyXG5cclxuZXhwb3J0IHR5cGUgQnV0dG9uVG9nZ2xlQXBwZWFyYW5jZSA9ICdzdGFuZGFyZCcgfCAnYWN0aXZlJyB8ICdkYXJrJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQnV0dG9uVG9nZ2xlRGVmYXVsdE9wdGlvbnMge1xyXG4gICAgYXBwZWFyYW5jZT86IEJ1dHRvblRvZ2dsZUFwcGVhcmFuY2U7XHJcbn1cclxuXHJcblxyXG5leHBvcnQgY29uc3QgQlVUVE9OX1RPR0dMRV9ERUZBVUxUX09QVElPTlMgPVxyXG4gICAgbmV3IEluamVjdGlvblRva2VuPEJ1dHRvblRvZ2dsZURlZmF1bHRPcHRpb25zPignQlVUVE9OX1RPR0dMRV9ERUZBVUxUX09QVElPTlMnKTtcclxuXHJcblxyXG5leHBvcnQgY29uc3QgQlVUVE9OX1RPR0dMRV9HUk9VUCA9XHJcbiAgICBuZXcgSW5qZWN0aW9uVG9rZW48UU1TQnV0dG9uVG9nZ2xlR3JvdXA+KCdRTVNCdXR0b25Ub2dnbGVHcm91cCcpO1xyXG5cclxuXHJcbmV4cG9ydCBjb25zdCBCVVRUT05fVE9HR0xFX0dST1VQX1ZBTFVFX0FDQ0VTU09SOiBhbnkgPSB7XHJcbiAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFFNU0J1dHRvblRvZ2dsZUdyb3VwKSxcclxuICAgIG11bHRpOiB0cnVlXHJcbn07XHJcblxyXG5cclxubGV0IHVuaXF1ZUlkQ291bnRlciA9IDA7XHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIEJ1dHRvblRvZ2dsZUNoYW5nZSB7XHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwdWJsaWMgc291cmNlOiBRTVNCdXR0b25Ub2dnbGUsXHJcbiAgICAgICAgcHVibGljIHZhbHVlOiBhbnkpIHsgfVxyXG59XHJcblxyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgICBzZWxlY3RvcjogJ3Ftcy1idXR0b24tdG9nZ2xlLWdyb3VwJyxcclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIEJVVFRPTl9UT0dHTEVfR1JPVVBfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgICAgeyBwcm92aWRlOiBCVVRUT05fVE9HR0xFX0dST1VQLCB1c2VFeGlzdGluZzogUU1TQnV0dG9uVG9nZ2xlR3JvdXAgfSxcclxuICAgIF0sXHJcbiAgICBob3N0OiB7XHJcbiAgICAgICAgJ3JvbGUnOiAnZ3JvdXAnLFxyXG4gICAgICAgICdjbGFzcyc6ICdxbXMtYnV0dG9uLXRvZ2dsZS1ncm91cCcsXHJcbiAgICAgICAgJ1thdHRyLmFyaWEtZGlzYWJsZWRdJzogJ2Rpc2FibGVkJyxcclxuICAgICAgICAnW2NsYXNzLnFtcy1idXR0b24tdG9nZ2xlLXZlcnRpY2FsXSc6ICd2ZXJ0aWNhbCcsXHJcbiAgICAgICAgJ1tjbGFzcy5xbXMtYnV0dG9uLXRvZ2dsZS1ncm91cC1hcHBlYXJhbmNlLXN0YW5kYXJkXSc6ICdhcHBlYXJhbmNlID09PSBcInN0YW5kYXJkXCInLFxyXG4gICAgICAgICdbY2xhc3MucW1zLWJ1dHRvbi10b2dnbGUtZ3JvdXAtYXBwZWFyYW5jZS1hY3RpdmVdJzogJ2FwcGVhcmFuY2UgPT09IFwiYWN0aXZlXCInLFxyXG4gICAgICAgICdbY2xhc3MucW1zLWJ1dHRvbi10b2dnbGUtZ3JvdXAtYXBwZWFyYW5jZS1kYXJrXSc6ICdhcHBlYXJhbmNlID09PSBcImRhcmtcIicsXHJcbiAgICB9LFxyXG4gICAgZXhwb3J0QXM6ICdxbXNCdXR0b25Ub2dnbGVHcm91cCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBRTVNCdXR0b25Ub2dnbGVHcm91cCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkluaXQsIEFmdGVyQ29udGVudEluaXQge1xyXG4gICAgcHJpdmF0ZSBfdmVydGljYWwgPSBmYWxzZTtcclxuICAgIHByaXZhdGUgX2Rpc2FibGVkID0gZmFsc2U7XHJcbiAgICBwcml2YXRlIF9zZWxlY3Rpb25Nb2RlbDogU2VsZWN0aW9uTW9kZWw8UU1TQnV0dG9uVG9nZ2xlPjtcclxuXHJcbiAgICBwcml2YXRlIF9yYXdWYWx1ZTogYW55O1xyXG5cclxuICAgIF9jb250cm9sVmFsdWVBY2Nlc3NvckNoYW5nZUZuOiAodmFsdWU6IGFueSkgPT4gdm9pZCA9ICgpID0+IHsgfTtcclxuXHJcbiAgICBfb25Ub3VjaGVkOiAoKSA9PiBhbnkgPSAoKSA9PiB7IH07XHJcblxyXG4gICAgQENvbnRlbnRDaGlsZHJlbihmb3J3YXJkUmVmKCgpID0+IFFNU0J1dHRvblRvZ2dsZSksIHtcclxuICAgICAgICBkZXNjZW5kYW50czogdHJ1ZVxyXG4gICAgfSkgX2J1dHRvblRvZ2dsZXM6IFF1ZXJ5TGlzdDxRTVNCdXR0b25Ub2dnbGU+O1xyXG5cclxuXHJcbiAgICBASW5wdXQoKSBhcHBlYXJhbmNlOiBCdXR0b25Ub2dnbGVBcHBlYXJhbmNlO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgbmFtZSgpOiBzdHJpbmcgeyByZXR1cm4gdGhpcy5fbmFtZTsgfVxyXG4gICAgc2V0IG5hbWUodmFsdWU6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMuX25hbWUgPSB2YWx1ZTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuX2J1dHRvblRvZ2dsZXMpIHtcclxuICAgICAgICAgICAgdGhpcy5fYnV0dG9uVG9nZ2xlcy5mb3JFYWNoKHRvZ2dsZSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0b2dnbGUubmFtZSA9IHRoaXMuX25hbWU7XHJcbiAgICAgICAgICAgICAgICB0b2dnbGUuX21hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIF9uYW1lID0gYHFtcy1idXR0b24tdG9nZ2xlLWdyb3VwLSR7dW5pcXVlSWRDb3VudGVyKyt9YDtcclxuXHJcblxyXG4gICAgQElucHV0KClcclxuICAgIGdldCB2ZXJ0aWNhbCgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuX3ZlcnRpY2FsOyB9XHJcbiAgICBzZXQgdmVydGljYWwodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgICAgICB0aGlzLl92ZXJ0aWNhbCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgdmFsdWUoKTogYW55IHtcclxuICAgICAgICBjb25zdCBzZWxlY3RlZCA9IHRoaXMuX3NlbGVjdGlvbk1vZGVsID8gdGhpcy5fc2VsZWN0aW9uTW9kZWwuc2VsZWN0ZWQgOiBbXTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHNlbGVjdGVkWzBdID8gc2VsZWN0ZWRbMF0udmFsdWUgOiB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgICBzZXQgdmFsdWUobmV3VmFsdWU6IGFueSkge1xyXG4gICAgICAgIHRoaXMuX3NldFNlbGVjdGlvbkJ5VmFsdWUobmV3VmFsdWUpO1xyXG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG5cclxuICAgIGdldCBzZWxlY3RlZCgpOiBRTVNCdXR0b25Ub2dnbGUgfCBRTVNCdXR0b25Ub2dnbGVbXSB7XHJcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWQgPSB0aGlzLl9zZWxlY3Rpb25Nb2RlbCA/IHRoaXMuX3NlbGVjdGlvbk1vZGVsLnNlbGVjdGVkIDogW107XHJcbiAgICAgICAgcmV0dXJuIChzZWxlY3RlZFswXSB8fCBudWxsKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgQElucHV0KClcclxuICAgIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuX2Rpc2FibGVkOyB9XHJcbiAgICBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgICAgICB0aGlzLl9kaXNhYmxlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLl9idXR0b25Ub2dnbGVzKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2J1dHRvblRvZ2dsZXMuZm9yRWFjaCh0b2dnbGUgPT4gdG9nZ2xlLl9tYXJrRm9yQ2hlY2soKSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBPdXRwdXQoKSByZWFkb25seSBjaGFuZ2U6IEV2ZW50RW1pdHRlcjxCdXR0b25Ub2dnbGVDaGFuZ2U+ID1cclxuICAgICAgICBuZXcgRXZlbnRFbWl0dGVyPEJ1dHRvblRvZ2dsZUNoYW5nZT4oKTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChCVVRUT05fVE9HR0xFX0RFRkFVTFRfT1BUSU9OUylcclxuICAgICAgICBkZWZhdWx0T3B0aW9ucz86IEJ1dHRvblRvZ2dsZURlZmF1bHRPcHRpb25zKSB7XHJcblxyXG4gICAgICAgIHRoaXMuYXBwZWFyYW5jZSA9XHJcbiAgICAgICAgICAgIGRlZmF1bHRPcHRpb25zICYmIGRlZmF1bHRPcHRpb25zLmFwcGVhcmFuY2UgPyBkZWZhdWx0T3B0aW9ucy5hcHBlYXJhbmNlIDogJ3N0YW5kYXJkJztcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICB0aGlzLl9zZWxlY3Rpb25Nb2RlbCA9IG5ldyBTZWxlY3Rpb25Nb2RlbDxRTVNCdXR0b25Ub2dnbGU+KGZhbHNlLCB1bmRlZmluZWQsIGZhbHNlKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5fc2VsZWN0aW9uTW9kZWwuc2VsZWN0KC4uLnRoaXMuX2J1dHRvblRvZ2dsZXMuZmlsdGVyKHRvZ2dsZSA9PiB0b2dnbGUuY2hlY2tlZCkpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpIHtcclxuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcbiAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBhbnkpID0+IHZvaWQpIHtcclxuICAgICAgICB0aGlzLl9jb250cm9sVmFsdWVBY2Nlc3NvckNoYW5nZUZuID0gZm47XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpIHtcclxuICAgICAgICB0aGlzLl9vblRvdWNoZWQgPSBmbjtcclxuICAgIH1cclxuXHJcblxyXG4gICAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIF9lbWl0Q2hhbmdlRXZlbnQoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWQgPSB0aGlzLnNlbGVjdGVkO1xyXG4gICAgICAgIGNvbnN0IHNvdXJjZSA9IEFycmF5LmlzQXJyYXkoc2VsZWN0ZWQpID8gc2VsZWN0ZWRbc2VsZWN0ZWQubGVuZ3RoIC0gMV0gOiBzZWxlY3RlZDtcclxuICAgICAgICBjb25zdCBldmVudCA9IG5ldyBCdXR0b25Ub2dnbGVDaGFuZ2Uoc291cmNlISwgdGhpcy52YWx1ZSk7XHJcbiAgICAgICAgdGhpcy5fY29udHJvbFZhbHVlQWNjZXNzb3JDaGFuZ2VGbihldmVudC52YWx1ZSk7XHJcbiAgICAgICAgdGhpcy5jaGFuZ2UuZW1pdChldmVudCk7XHJcbiAgICB9XHJcblxyXG4gICAgX3N5bmNCdXR0b25Ub2dnbGUodG9nZ2xlOiBRTVNCdXR0b25Ub2dnbGUsXHJcbiAgICAgICAgc2VsZWN0OiBib29sZWFuLFxyXG4gICAgICAgIGlzVXNlcklucHV0ID0gZmFsc2UsXHJcbiAgICAgICAgZGVmZXJFdmVudHMgPSBmYWxzZSkge1xyXG5cclxuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZCAmJiAhdG9nZ2xlLmNoZWNrZWQpIHtcclxuICAgICAgICAgICAgKHRoaXMuc2VsZWN0ZWQgYXMgUU1TQnV0dG9uVG9nZ2xlKS5jaGVja2VkID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5fc2VsZWN0aW9uTW9kZWwpIHtcclxuICAgICAgICAgICAgaWYgKHNlbGVjdCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fc2VsZWN0aW9uTW9kZWwuc2VsZWN0KHRvZ2dsZSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9zZWxlY3Rpb25Nb2RlbC5kZXNlbGVjdCh0b2dnbGUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgZGVmZXJFdmVudHMgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgIGlmIChkZWZlckV2ZW50cykge1xyXG4gICAgICAgICAgICBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHRoaXMuX3VwZGF0ZU1vZGVsVmFsdWUoaXNVc2VySW5wdXQpKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLl91cGRhdGVNb2RlbFZhbHVlKGlzVXNlcklucHV0KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIF9pc1NlbGVjdGVkKHRvZ2dsZTogUU1TQnV0dG9uVG9nZ2xlKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NlbGVjdGlvbk1vZGVsICYmIHRoaXMuX3NlbGVjdGlvbk1vZGVsLmlzU2VsZWN0ZWQodG9nZ2xlKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgX2lzUHJlY2hlY2tlZCh0b2dnbGU6IFFNU0J1dHRvblRvZ2dsZSkge1xyXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5fcmF3VmFsdWUgPT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0b2dnbGUudmFsdWUgPT09IHRoaXMuX3Jhd1ZhbHVlO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBwcml2YXRlIF9zZXRTZWxlY3Rpb25CeVZhbHVlKHZhbHVlOiBhbnkgfCBhbnlbXSkge1xyXG4gICAgICAgIHRoaXMuX3Jhd1ZhbHVlID0gdmFsdWU7XHJcblxyXG4gICAgICAgIGlmICghdGhpcy5fYnV0dG9uVG9nZ2xlcykge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLl9jbGVhclNlbGVjdGlvbigpO1xyXG4gICAgICAgIHRoaXMuX3NlbGVjdFZhbHVlKHZhbHVlKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgcHJpdmF0ZSBfY2xlYXJTZWxlY3Rpb24oKSB7XHJcbiAgICAgICAgdGhpcy5fc2VsZWN0aW9uTW9kZWwuY2xlYXIoKTtcclxuICAgICAgICB0aGlzLl9idXR0b25Ub2dnbGVzLmZvckVhY2godG9nZ2xlID0+IHRvZ2dsZS5jaGVja2VkID0gZmFsc2UpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBwcml2YXRlIF9zZWxlY3RWYWx1ZSh2YWx1ZTogYW55KSB7XHJcbiAgICAgICAgY29uc3QgY29ycmVzcG9uZGluZ09wdGlvbiA9IHRoaXMuX2J1dHRvblRvZ2dsZXMuZmluZCh0b2dnbGUgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gdG9nZ2xlLnZhbHVlICE9IG51bGwgJiYgdG9nZ2xlLnZhbHVlID09PSB2YWx1ZTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgaWYgKGNvcnJlc3BvbmRpbmdPcHRpb24pIHtcclxuICAgICAgICAgICAgY29ycmVzcG9uZGluZ09wdGlvbi5jaGVja2VkID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5fc2VsZWN0aW9uTW9kZWwuc2VsZWN0KGNvcnJlc3BvbmRpbmdPcHRpb24pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF91cGRhdGVNb2RlbFZhbHVlKGlzVXNlcklucHV0OiBib29sZWFuKSB7XHJcbiAgICAgICAgaWYgKGlzVXNlcklucHV0KSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2VtaXRDaGFuZ2VFdmVudCgpO1xyXG4gICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfZGlzYWJsZWQ6IEJvb2xlYW5JbnB1dDtcclxuICAgIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9tdWx0aXBsZTogQm9vbGVhbklucHV0O1xyXG4gICAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX3ZlcnRpY2FsOiBCb29sZWFuSW5wdXQ7XHJcbn1cclxuXHJcblxyXG5jb25zdCBfQnV0dG9uVG9nZ2xlQmFzZSA9IG1peGluRGlzYWJsZVJpcHBsZShjbGFzcyB7IH0pO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdxbXMtYnV0dG9uLXRvZ2dsZScsXHJcbiAgICB0ZW1wbGF0ZVVybDogJ2J1dHRvbi10b2dnbGUuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnYnV0dG9uLXRvZ2dsZS5zY3NzJ10sXHJcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gICAgZXhwb3J0QXM6ICdxbXNCdXR0b25Ub2dnbGUnLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBpbnB1dHM6IFsnZGlzYWJsZVJpcHBsZSddLFxyXG4gICAgaG9zdDoge1xyXG4gICAgICAgICdbY2xhc3MucW1zLWJ1dHRvbi10b2dnbGUtc3RhbmRhbG9uZV0nOiAnIWJ1dHRvblRvZ2dsZUdyb3VwJyxcclxuICAgICAgICAnW2NsYXNzLnFtcy1idXR0b24tdG9nZ2xlLWNoZWNrZWRdJzogJ2NoZWNrZWQnLFxyXG4gICAgICAgICdbY2xhc3MucW1zLWJ1dHRvbi10b2dnbGUtZGlzYWJsZWRdJzogJ2Rpc2FibGVkJyxcclxuICAgICAgICAnW2NsYXNzLnFtcy1idXR0b24tdG9nZ2xlLWFwcGVhcmFuY2Utc3RhbmRhcmRdJzogJ2FwcGVhcmFuY2UgPT09IFwic3RhbmRhcmRcIicsXHJcbiAgICAgICAgJ1tjbGFzcy5xbXMtYnV0dG9uLXRvZ2dsZS1hcHBlYXJhbmNlLWFjdGl2ZV0nOiAnYXBwZWFyYW5jZSA9PT0gXCJhY3RpdmVcIicsXHJcbiAgICAgICAgJ1tjbGFzcy5xbXMtYnV0dG9uLXRvZ2dsZS1hcHBlYXJhbmNlLWRhcmtdJzogJ2FwcGVhcmFuY2UgPT09IFwiZGFya1wiJyxcclxuICAgICAgICAnY2xhc3MnOiAncW1zLWJ1dHRvbi10b2dnbGUnLFxyXG4gICAgICAgICdbYXR0ci5hcmlhLWxhYmVsXSc6ICdudWxsJyxcclxuICAgICAgICAnW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XSc6ICdudWxsJyxcclxuICAgICAgICAnW2F0dHIuaWRdJzogJ2lkJyxcclxuICAgICAgICAnW2F0dHIubmFtZV0nOiAnbnVsbCcsXHJcbiAgICAgICAgJyhmb2N1cyknOiAnZm9jdXMoKScsXHJcbiAgICAgICAgJ3JvbGUnOiAncHJlc2VudGF0aW9uJyxcclxuICAgIH1cclxufSlcclxuZXhwb3J0IGNsYXNzIFFNU0J1dHRvblRvZ2dsZSBleHRlbmRzIF9CdXR0b25Ub2dnbGVCYXNlIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LFxyXG4gICAgQ2FuRGlzYWJsZVJpcHBsZSwgT25EZXN0cm95IHtcclxuXHJcbiAgICBwcml2YXRlIF9jaGVja2VkID0gZmFsc2U7XHJcblxyXG5cclxuICAgIEBJbnB1dCgnYXJpYS1sYWJlbCcpIGFyaWFMYWJlbDogc3RyaW5nO1xyXG5cclxuXHJcbiAgICBASW5wdXQoJ2FyaWEtbGFiZWxsZWRieScpIGFyaWFMYWJlbGxlZGJ5OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuXHJcblxyXG4gICAgQFZpZXdDaGlsZCgnYnV0dG9uJykgX2J1dHRvbkVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTEJ1dHRvbkVsZW1lbnQ+O1xyXG5cclxuXHJcbiAgICBidXR0b25Ub2dnbGVHcm91cDogUU1TQnV0dG9uVG9nZ2xlR3JvdXA7XHJcblxyXG5cclxuICAgIGdldCBidXR0b25JZCgpOiBzdHJpbmcgeyByZXR1cm4gYCR7dGhpcy5pZH0tYnV0dG9uYDsgfVxyXG5cclxuXHJcbiAgICBASW5wdXQoKSBpZDogc3RyaW5nO1xyXG5cclxuXHJcbiAgICBASW5wdXQoKSBuYW1lOiBzdHJpbmc7XHJcblxyXG5cclxuICAgIEBJbnB1dCgpIHZhbHVlOiBhbnk7XHJcblxyXG5cclxuICAgIEBJbnB1dCgpIHRhYkluZGV4OiBudW1iZXIgfCBudWxsO1xyXG5cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IGFwcGVhcmFuY2UoKTogQnV0dG9uVG9nZ2xlQXBwZWFyYW5jZSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYnV0dG9uVG9nZ2xlR3JvdXAgPyB0aGlzLmJ1dHRvblRvZ2dsZUdyb3VwLmFwcGVhcmFuY2UgOiB0aGlzLl9hcHBlYXJhbmNlO1xyXG4gICAgfVxyXG4gICAgc2V0IGFwcGVhcmFuY2UodmFsdWU6IEJ1dHRvblRvZ2dsZUFwcGVhcmFuY2UpIHtcclxuICAgICAgICB0aGlzLl9hcHBlYXJhbmNlID0gdmFsdWU7XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIF9hcHBlYXJhbmNlOiBCdXR0b25Ub2dnbGVBcHBlYXJhbmNlO1xyXG5cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IGNoZWNrZWQoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYnV0dG9uVG9nZ2xlR3JvdXAgPyB0aGlzLmJ1dHRvblRvZ2dsZUdyb3VwLl9pc1NlbGVjdGVkKHRoaXMpIDogdGhpcy5fY2hlY2tlZDtcclxuICAgIH1cclxuICAgIHNldCBjaGVja2VkKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICAgICAgY29uc3QgbmV3VmFsdWUgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xyXG5cclxuICAgICAgICBpZiAobmV3VmFsdWUgIT09IHRoaXMuX2NoZWNrZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5fY2hlY2tlZCA9IG5ld1ZhbHVlO1xyXG5cclxuICAgICAgICAgICAgaWYgKHRoaXMuYnV0dG9uVG9nZ2xlR3JvdXApIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuYnV0dG9uVG9nZ2xlR3JvdXAuX3N5bmNCdXR0b25Ub2dnbGUodGhpcywgdGhpcy5fY2hlY2tlZCk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgQElucHV0KClcclxuICAgIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQgfHwgKHRoaXMuYnV0dG9uVG9nZ2xlR3JvdXAgJiYgdGhpcy5idXR0b25Ub2dnbGVHcm91cC5kaXNhYmxlZCk7XHJcbiAgICB9XHJcbiAgICBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHsgdGhpcy5fZGlzYWJsZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpOyB9XHJcbiAgICBwcml2YXRlIF9kaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIEBPdXRwdXQoKSByZWFkb25seSBjaGFuZ2U6IEV2ZW50RW1pdHRlcjxCdXR0b25Ub2dnbGVDaGFuZ2U+ID1cclxuICAgICAgICBuZXcgRXZlbnRFbWl0dGVyPEJ1dHRvblRvZ2dsZUNoYW5nZT4oKTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBASW5qZWN0KEJVVFRPTl9UT0dHTEVfR1JPVVApIHRvZ2dsZUdyb3VwOiBRTVNCdXR0b25Ub2dnbGVHcm91cCxcclxuICAgICAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICAgICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXHJcbiAgICAgICAgcHJpdmF0ZSBfZm9jdXNNb25pdG9yOiBGb2N1c01vbml0b3IsXHJcbiAgICAgICAgQEF0dHJpYnV0ZSgndGFiaW5kZXgnKSBkZWZhdWx0VGFiSW5kZXg6IHN0cmluZyxcclxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEJVVFRPTl9UT0dHTEVfREVGQVVMVF9PUFRJT05TKVxyXG4gICAgICAgIGRlZmF1bHRPcHRpb25zPzogQnV0dG9uVG9nZ2xlRGVmYXVsdE9wdGlvbnMpIHtcclxuICAgICAgICBzdXBlcigpO1xyXG5cclxuICAgICAgICBjb25zdCBwYXJzZWRUYWJJbmRleCA9IE51bWJlcihkZWZhdWx0VGFiSW5kZXgpO1xyXG4gICAgICAgIHRoaXMudGFiSW5kZXggPSAocGFyc2VkVGFiSW5kZXggfHwgcGFyc2VkVGFiSW5kZXggPT09IDApID8gcGFyc2VkVGFiSW5kZXggOiBudWxsO1xyXG4gICAgICAgIHRoaXMuYnV0dG9uVG9nZ2xlR3JvdXAgPSB0b2dnbGVHcm91cDtcclxuICAgICAgICB0aGlzLmFwcGVhcmFuY2UgPVxyXG4gICAgICAgICAgICBkZWZhdWx0T3B0aW9ucyAmJiBkZWZhdWx0T3B0aW9ucy5hcHBlYXJhbmNlID8gZGVmYXVsdE9wdGlvbnMuYXBwZWFyYW5jZSA6ICdzdGFuZGFyZCc7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgY29uc3QgZ3JvdXAgPSB0aGlzLmJ1dHRvblRvZ2dsZUdyb3VwO1xyXG4gICAgICAgIHRoaXMuaWQgPSB0aGlzLmlkIHx8IGBxbXMtYnV0dG9uLXRvZ2dsZS0ke3VuaXF1ZUlkQ291bnRlcisrfWA7XHJcblxyXG4gICAgICAgIHRoaXMubmFtZSA9IGdyb3VwLm5hbWU7XHJcblxyXG4gICAgICAgIGlmIChncm91cCkge1xyXG4gICAgICAgICAgICBpZiAoZ3JvdXAuX2lzUHJlY2hlY2tlZCh0aGlzKSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jaGVja2VkID0gdHJ1ZTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmIChncm91cC5faXNTZWxlY3RlZCh0aGlzKSAhPT0gdGhpcy5fY2hlY2tlZCkge1xyXG4gICAgICAgICAgICAgICAgZ3JvdXAuX3N5bmNCdXR0b25Ub2dnbGUodGhpcywgdGhpcy5fY2hlY2tlZCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgICAgIHRoaXMuX2ZvY3VzTW9uaXRvci5tb25pdG9yKHRoaXMuX2VsZW1lbnRSZWYsIHRydWUpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCkge1xyXG4gICAgICAgIGNvbnN0IGdyb3VwID0gdGhpcy5idXR0b25Ub2dnbGVHcm91cDtcclxuXHJcbiAgICAgICAgdGhpcy5fZm9jdXNNb25pdG9yLnN0b3BNb25pdG9yaW5nKHRoaXMuX2VsZW1lbnRSZWYpO1xyXG5cclxuICAgICAgICBpZiAoZ3JvdXAgJiYgZ3JvdXAuX2lzU2VsZWN0ZWQodGhpcykpIHtcclxuICAgICAgICAgICAgZ3JvdXAuX3N5bmNCdXR0b25Ub2dnbGUodGhpcywgZmFsc2UsIGZhbHNlLCB0cnVlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZm9jdXMob3B0aW9ucz86IEZvY3VzT3B0aW9ucyk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX2J1dHRvbkVsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cyhvcHRpb25zKTtcclxuICAgIH1cclxuXHJcbiAgICBfb25CdXR0b25DbGljaygpIHtcclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLl9jaGVja2VkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2NoZWNrZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICBpZiAodGhpcy5idXR0b25Ub2dnbGVHcm91cCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5idXR0b25Ub2dnbGVHcm91cC5fc3luY0J1dHRvblRvZ2dsZSh0aGlzLCB0aGlzLl9jaGVja2VkLCB0cnVlKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuYnV0dG9uVG9nZ2xlR3JvdXAuX29uVG91Y2hlZCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuY2hhbmdlLmVtaXQobmV3IEJ1dHRvblRvZ2dsZUNoYW5nZSh0aGlzLCB0aGlzLnZhbHVlKSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIF9tYXJrRm9yQ2hlY2soKSB7XHJcbiAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2NoZWNrZWQ6IEJvb2xlYW5JbnB1dDtcclxuICAgIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9kaXNhYmxlZDogQm9vbGVhbklucHV0O1xyXG4gICAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX3ZlcnRpY2FsOiBCb29sZWFuSW5wdXQ7XHJcbiAgICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfZGlzYWJsZVJpcHBsZTogQm9vbGVhbklucHV0O1xyXG59Il19