@testgorilla/tgo-ui 3.9.4 → 3.9.5-beta-20.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (441) hide show
  1. package/fesm2022/testgorilla-tgo-ui.mjs +712 -766
  2. package/fesm2022/testgorilla-tgo-ui.mjs.map +1 -1
  3. package/index.d.ts +7060 -3
  4. package/package.json +15 -16
  5. package/projects/tgo-canopy-ui/assets/icons/Switch-tab.svg +3 -0
  6. package/projects/tgo-canopy-ui/assets/icons/rebrand/Switch-tab-filled.svg +3 -0
  7. package/projects/tgo-canopy-ui/assets/icons/rebrand/Switch-tab-in-line.svg +3 -0
  8. package/projects/tgo-canopy-ui/theme/_input.scss +1 -1
  9. package/projects/tgo-canopy-ui/theme/_palette.scss +2 -1
  10. package/projects/tgo-canopy-ui/theme/_tooltip.scss +4 -4
  11. package/components/accordion/accordion.component.d.ts +0 -100
  12. package/components/accordion/accordion.component.module.d.ts +0 -12
  13. package/components/accordion/accordion.model.d.ts +0 -2
  14. package/components/ai-feedback/ai-feedback.component.d.ts +0 -15
  15. package/components/ai-feedback/ai-feedback.model.d.ts +0 -1
  16. package/components/ai-feedback/ai-feedback.module.d.ts +0 -10
  17. package/components/alert-banner/alert-banner.component.d.ts +0 -132
  18. package/components/alert-banner/alert-banner.component.module.d.ts +0 -11
  19. package/components/alert-banner/alert-banner.model.d.ts +0 -1
  20. package/components/autocomplete/autocomplete.component.d.ts +0 -314
  21. package/components/autocomplete/autocomplete.component.module.d.ts +0 -24
  22. package/components/autocomplete/autocomplete.model.d.ts +0 -22
  23. package/components/autocomplete/includes.pipe.d.ts +0 -12
  24. package/components/autocomplete/prevent-input.directive.d.ts +0 -7
  25. package/components/autocomplete/transform-Item.pipe.d.ts +0 -11
  26. package/components/avatar/avatar.component.d.ts +0 -67
  27. package/components/avatar/avatar.component.module.d.ts +0 -13
  28. package/components/avatar/avatar.model.d.ts +0 -16
  29. package/components/badge/badge.component.d.ts +0 -59
  30. package/components/badge/badge.component.module.d.ts +0 -10
  31. package/components/badge/badge.model.d.ts +0 -37
  32. package/components/button/button.component.d.ts +0 -235
  33. package/components/button/button.component.module.d.ts +0 -16
  34. package/components/button/button.model.d.ts +0 -14
  35. package/components/card/card.component.d.ts +0 -75
  36. package/components/card/card.component.module.d.ts +0 -9
  37. package/components/card/card.model.d.ts +0 -2
  38. package/components/checkbox/checkbox.component.d.ts +0 -193
  39. package/components/checkbox/checkbox.component.module.d.ts +0 -18
  40. package/components/checkbox/focus-visible.directive.d.ts +0 -12
  41. package/components/checklist/checklist.component.d.ts +0 -85
  42. package/components/checklist/checklist.model.d.ts +0 -9
  43. package/components/confirm-dialog/confirm-dialog.component.d.ts +0 -38
  44. package/components/confirm-dialog/confirm-dialog.component.module.d.ts +0 -12
  45. package/components/confirm-dialog/confirm-dialog.model.d.ts +0 -19
  46. package/components/datepicker/date-adapter.d.ts +0 -34
  47. package/components/datepicker/datepicker.component.d.ts +0 -214
  48. package/components/datepicker/datepicker.component.module.d.ts +0 -18
  49. package/components/datepicker/datepicker.service.d.ts +0 -8
  50. package/components/datepicker/no-date-format.directive.d.ts +0 -11
  51. package/components/deprecated-paginator/deprecated-paginator.component.d.ts +0 -38
  52. package/components/deprecated-paginator/deprecated-paginator.component.module.d.ts +0 -9
  53. package/components/dialog/dialog.component.d.ts +0 -162
  54. package/components/dialog/dialog.component.module.d.ts +0 -11
  55. package/components/dialog/dialog.model.d.ts +0 -12
  56. package/components/dialog/dialog.service.d.ts +0 -14
  57. package/components/divider/divider.component.d.ts +0 -39
  58. package/components/divider/divider.component.module.d.ts +0 -9
  59. package/components/divider/divider.model.d.ts +0 -1
  60. package/components/donut-chart/donut-chart.component.d.ts +0 -34
  61. package/components/donut-chart/donut-chart.component.model.d.ts +0 -6
  62. package/components/donut-chart/donut-chart.component.module.d.ts +0 -8
  63. package/components/dropdown/dropdown.component.d.ts +0 -214
  64. package/components/dropdown/dropdown.component.module.d.ts +0 -17
  65. package/components/dropdown/dropdown.model.d.ts +0 -6
  66. package/components/elevation-shadow/elevation-shadow.component.d.ts +0 -26
  67. package/components/elevation-shadow/elevation-shadow.component.module.d.ts +0 -8
  68. package/components/elevation-shadow/elevation-shadow.constant.d.ts +0 -8
  69. package/components/empty-state/empty-state.component.d.ts +0 -202
  70. package/components/empty-state/empty-state.component.module.d.ts +0 -11
  71. package/components/empty-state/empty-state.model.d.ts +0 -3
  72. package/components/field/field.component.d.ts +0 -361
  73. package/components/field/field.component.module.d.ts +0 -19
  74. package/components/field/field.model.d.ts +0 -1
  75. package/components/file-upload/file-upload.component.d.ts +0 -137
  76. package/components/file-upload/file-upload.component.module.d.ts +0 -14
  77. package/components/filter-button/filter-button.component.d.ts +0 -140
  78. package/components/filter-button/filter-button.component.module.d.ts +0 -18
  79. package/components/filter-button/filter-button.model.d.ts +0 -13
  80. package/components/gaussian-chart/gaussian-chart.component.d.ts +0 -75
  81. package/components/gaussian-chart/gaussian-chart.module.d.ts +0 -13
  82. package/components/icon/icon.component.d.ts +0 -72
  83. package/components/icon/icon.component.module.d.ts +0 -10
  84. package/components/icon/icon.config.d.ts +0 -10
  85. package/components/icon/icon.model.d.ts +0 -7
  86. package/components/icon-label/icon-label.component.d.ts +0 -46
  87. package/components/icon-label/icon-label.component.module.d.ts +0 -9
  88. package/components/logo/logo.component.d.ts +0 -66
  89. package/components/logo/logo.component.module.d.ts +0 -8
  90. package/components/logo/logo.model.d.ts +0 -29
  91. package/components/media-card/media-card.component.d.ts +0 -32
  92. package/components/multi-input/multi-input.component.d.ts +0 -171
  93. package/components/multi-input/multi-input.component.module.d.ts +0 -18
  94. package/components/multi-input/multi-input.model.d.ts +0 -1
  95. package/components/navbar/mobile-navbar-side-sheet/mobile-navbar-side-sheet.component.d.ts +0 -27
  96. package/components/navbar/navbar.component.d.ts +0 -126
  97. package/components/navbar/navbar.component.module.d.ts +0 -21
  98. package/components/navbar/navbar.model.d.ts +0 -21
  99. package/components/overflow-menu/overflow-menu.component.d.ts +0 -96
  100. package/components/overflow-menu/overflow-menu.component.module.d.ts +0 -15
  101. package/components/overflow-menu/overflow-menu.model.d.ts +0 -28
  102. package/components/page-header/page-header.component.d.ts +0 -38
  103. package/components/page-header/page-header.component.module.d.ts +0 -10
  104. package/components/paginator/paginator.component.d.ts +0 -58
  105. package/components/paginator/paginator.component.module.d.ts +0 -9
  106. package/components/password-criteria/password.component.d.ts +0 -44
  107. package/components/password-criteria/password.component.module.d.ts +0 -13
  108. package/components/password-strength/password-strength.component.d.ts +0 -45
  109. package/components/password-strength/password-strength.component.module.d.ts +0 -11
  110. package/components/phone-input/join-strings.pipe.d.ts +0 -7
  111. package/components/phone-input/phone-input.component.d.ts +0 -147
  112. package/components/phone-input/phone-input.component.module.d.ts +0 -20
  113. package/components/phone-input/phone-input.model.d.ts +0 -8
  114. package/components/progress-bar/progress-bar.component.d.ts +0 -73
  115. package/components/progress-bar/progress-bar.component.module.d.ts +0 -10
  116. package/components/radial-progress/radial-progress.component.d.ts +0 -75
  117. package/components/radial-progress/radial-progress.component.module.d.ts +0 -10
  118. package/components/radial-progress/radial-progress.model.d.ts +0 -10
  119. package/components/radio-button/radio-button.component.d.ts +0 -182
  120. package/components/radio-button/radio-button.component.module.d.ts +0 -15
  121. package/components/radio-button/radio-button.model.d.ts +0 -4
  122. package/components/rating/half-star.pipe.d.ts +0 -14
  123. package/components/rating/rating.component.d.ts +0 -71
  124. package/components/rating/rating.component.module.d.ts +0 -10
  125. package/components/scale/scale.component.d.ts +0 -54
  126. package/components/scale/scale.component.module.d.ts +0 -8
  127. package/components/scale-table/scale-table.component.d.ts +0 -39
  128. package/components/scale-table/scale-table.model.d.ts +0 -5
  129. package/components/segmented-bar/segmented-bar.component.d.ts +0 -63
  130. package/components/segmented-bar/segmented-bar.component.module.d.ts +0 -12
  131. package/components/segmented-bar/segmented-bar.model.d.ts +0 -12
  132. package/components/segmented-button/segmented-button.component.d.ts +0 -55
  133. package/components/segmented-button/segmented-button.component.module.d.ts +0 -11
  134. package/components/segmented-button/segmented-button.model.d.ts +0 -8
  135. package/components/side-panel/side-panel-data-injection-token.d.ts +0 -2
  136. package/components/side-panel/side-panel.animations.d.ts +0 -3
  137. package/components/side-panel/side-panel.component.d.ts +0 -19
  138. package/components/side-panel/side-panel.model.d.ts +0 -19
  139. package/components/side-panel/side-panel.service.d.ts +0 -21
  140. package/components/side-sheet/side-sheet.component.d.ts +0 -43
  141. package/components/side-sheet/side-sheet.component.module.d.ts +0 -14
  142. package/components/side-sheet/side-sheet.model.d.ts +0 -10
  143. package/components/side-sheet/side-sheet.service.d.ts +0 -14
  144. package/components/skeleton/skeleton.component.d.ts +0 -27
  145. package/components/skeleton/skeleton.model.d.ts +0 -2
  146. package/components/slider/slider.component.d.ts +0 -116
  147. package/components/slider/slider.component.module.d.ts +0 -7
  148. package/components/slider/slider.model.d.ts +0 -5
  149. package/components/snackbar/snackbar.component.d.ts +0 -119
  150. package/components/snackbar/snackbar.component.module.d.ts +0 -13
  151. package/components/snackbar/snackbar.model.d.ts +0 -2
  152. package/components/snackbar/snackbar.service.d.ts +0 -16
  153. package/components/spider-chart/spider-chart.component.d.ts +0 -90
  154. package/components/spider-chart/spider-chart.model.d.ts +0 -12
  155. package/components/spider-chart/spider-chart.module.d.ts +0 -13
  156. package/components/spinner/spinner.component.d.ts +0 -59
  157. package/components/spinner/spinner.model.d.ts +0 -1
  158. package/components/spinner/spinner.module.d.ts +0 -10
  159. package/components/step/step.component.d.ts +0 -184
  160. package/components/step/step.component.module.d.ts +0 -11
  161. package/components/stepper/stepper.component.d.ts +0 -102
  162. package/components/stepper/stepper.component.module.d.ts +0 -15
  163. package/components/stepper/stepper.model.d.ts +0 -23
  164. package/components/table/sentence-case.pipe.d.ts +0 -7
  165. package/components/table/table.component.d.ts +0 -117
  166. package/components/table/table.component.module.d.ts +0 -20
  167. package/components/table/table.model.d.ts +0 -104
  168. package/components/tabs/tab.directive.d.ts +0 -28
  169. package/components/tabs/tabs.component.d.ts +0 -77
  170. package/components/tabs/tabs.component.module.d.ts +0 -13
  171. package/components/tabs/tabs.model.d.ts +0 -20
  172. package/components/tag/tag.component.d.ts +0 -131
  173. package/components/tag/tag.component.module.d.ts +0 -13
  174. package/components/tag/tag.model.d.ts +0 -1
  175. package/components/toggle/toggle.component.d.ts +0 -113
  176. package/components/toggle/toggle.component.module.d.ts +0 -14
  177. package/components/toggle/toggle.model.d.ts +0 -1
  178. package/components/tooltip/tooltip-template.directive.d.ts +0 -27
  179. package/components/tooltip/tooltip.component.d.ts +0 -64
  180. package/components/tooltip/tooltip.component.module.d.ts +0 -12
  181. package/components/tooltip/tooltip.model.d.ts +0 -8
  182. package/components/universal-skills-report/universal-skills-report.component.d.ts +0 -33
  183. package/components/universal-skills-report/universal-skills-report.component.module.d.ts +0 -14
  184. package/components/universal-skills-spider-charts/universal-skills-spider-charts.component.d.ts +0 -47
  185. package/components/universal-skills-spider-charts/universal-skills-spider-charts.component.module.d.ts +0 -16
  186. package/components/validation-error/validation-error.component.d.ts +0 -22
  187. package/components/validation-error/validation-error.model.d.ts +0 -1
  188. package/components/validation-error/validation-error.module.d.ts +0 -10
  189. package/directives/digits-only.directive.d.ts +0 -17
  190. package/directives/drag-drop.directive.d.ts +0 -12
  191. package/directives/dynamic-component.directive.d.ts +0 -20
  192. package/directives/ellipse-text.directive.d.ts +0 -20
  193. package/directives/select-text.directive.d.ts +0 -19
  194. package/directives/step-line-element.directive.d.ts +0 -17
  195. package/esm2022/assets/i18n/da-dk.json +0 -181
  196. package/esm2022/assets/i18n/de.json +0 -181
  197. package/esm2022/assets/i18n/en.json +0 -820
  198. package/esm2022/assets/i18n/es.json +0 -181
  199. package/esm2022/assets/i18n/fr.json +0 -181
  200. package/esm2022/assets/i18n/it-it.json +0 -181
  201. package/esm2022/assets/i18n/ja-jp.json +0 -181
  202. package/esm2022/assets/i18n/nb-no.json +0 -181
  203. package/esm2022/assets/i18n/nl.json +0 -181
  204. package/esm2022/assets/i18n/pl-pl.json +0 -181
  205. package/esm2022/assets/i18n/pt-br.json +0 -181
  206. package/esm2022/assets/i18n/sv-se.json +0 -181
  207. package/esm2022/components/accordion/accordion.component.mjs +0 -135
  208. package/esm2022/components/accordion/accordion.component.module.mjs +0 -40
  209. package/esm2022/components/accordion/accordion.model.mjs +0 -2
  210. package/esm2022/components/ai-feedback/ai-feedback.component.mjs +0 -35
  211. package/esm2022/components/ai-feedback/ai-feedback.model.mjs +0 -2
  212. package/esm2022/components/ai-feedback/ai-feedback.module.mjs +0 -20
  213. package/esm2022/components/alert-banner/alert-banner.component.mjs +0 -198
  214. package/esm2022/components/alert-banner/alert-banner.component.module.mjs +0 -21
  215. package/esm2022/components/alert-banner/alert-banner.model.mjs +0 -2
  216. package/esm2022/components/autocomplete/autocomplete.component.mjs +0 -814
  217. package/esm2022/components/autocomplete/autocomplete.component.module.mjs +0 -77
  218. package/esm2022/components/autocomplete/autocomplete.model.mjs +0 -25
  219. package/esm2022/components/autocomplete/includes.pipe.mjs +0 -25
  220. package/esm2022/components/autocomplete/prevent-input.directive.mjs +0 -27
  221. package/esm2022/components/autocomplete/transform-Item.pipe.mjs +0 -32
  222. package/esm2022/components/avatar/avatar.component.mjs +0 -104
  223. package/esm2022/components/avatar/avatar.component.module.mjs +0 -23
  224. package/esm2022/components/avatar/avatar.model.mjs +0 -21
  225. package/esm2022/components/badge/badge.component.mjs +0 -109
  226. package/esm2022/components/badge/badge.component.module.mjs +0 -20
  227. package/esm2022/components/badge/badge.model.mjs +0 -38
  228. package/esm2022/components/button/button.component.mjs +0 -445
  229. package/esm2022/components/button/button.component.module.mjs +0 -51
  230. package/esm2022/components/button/button.model.mjs +0 -2
  231. package/esm2022/components/card/card.component.mjs +0 -132
  232. package/esm2022/components/card/card.component.module.mjs +0 -19
  233. package/esm2022/components/card/card.model.mjs +0 -2
  234. package/esm2022/components/checkbox/checkbox.component.mjs +0 -329
  235. package/esm2022/components/checkbox/checkbox.component.module.mjs +0 -28
  236. package/esm2022/components/checkbox/focus-visible.directive.mjs +0 -40
  237. package/esm2022/components/checklist/checklist.component.mjs +0 -157
  238. package/esm2022/components/checklist/checklist.model.mjs +0 -2
  239. package/esm2022/components/confirm-dialog/confirm-dialog.component.mjs +0 -66
  240. package/esm2022/components/confirm-dialog/confirm-dialog.component.module.mjs +0 -29
  241. package/esm2022/components/confirm-dialog/confirm-dialog.model.mjs +0 -2
  242. package/esm2022/components/datepicker/date-adapter.mjs +0 -39
  243. package/esm2022/components/datepicker/datepicker.component.mjs +0 -333
  244. package/esm2022/components/datepicker/datepicker.component.module.mjs +0 -60
  245. package/esm2022/components/datepicker/datepicker.service.mjs +0 -20
  246. package/esm2022/components/datepicker/no-date-format.directive.mjs +0 -56
  247. package/esm2022/components/deprecated-paginator/deprecated-paginator.component.mjs +0 -55
  248. package/esm2022/components/deprecated-paginator/deprecated-paginator.component.module.mjs +0 -20
  249. package/esm2022/components/dialog/dialog.component.mjs +0 -274
  250. package/esm2022/components/dialog/dialog.component.module.mjs +0 -23
  251. package/esm2022/components/dialog/dialog.model.mjs +0 -2
  252. package/esm2022/components/dialog/dialog.service.mjs +0 -36
  253. package/esm2022/components/divider/divider.component.mjs +0 -65
  254. package/esm2022/components/divider/divider.component.module.mjs +0 -19
  255. package/esm2022/components/divider/divider.model.mjs +0 -2
  256. package/esm2022/components/donut-chart/donut-chart.component.mjs +0 -122
  257. package/esm2022/components/donut-chart/donut-chart.component.model.mjs +0 -2
  258. package/esm2022/components/donut-chart/donut-chart.component.module.mjs +0 -20
  259. package/esm2022/components/dropdown/dropdown.component.mjs +0 -378
  260. package/esm2022/components/dropdown/dropdown.component.module.mjs +0 -57
  261. package/esm2022/components/dropdown/dropdown.model.mjs +0 -2
  262. package/esm2022/components/elevation-shadow/elevation-shadow.component.mjs +0 -45
  263. package/esm2022/components/elevation-shadow/elevation-shadow.component.module.mjs +0 -18
  264. package/esm2022/components/elevation-shadow/elevation-shadow.constant.mjs +0 -9
  265. package/esm2022/components/empty-state/empty-state.component.mjs +0 -301
  266. package/esm2022/components/empty-state/empty-state.component.module.mjs +0 -21
  267. package/esm2022/components/empty-state/empty-state.model.mjs +0 -2
  268. package/esm2022/components/field/field.component.mjs +0 -544
  269. package/esm2022/components/field/field.component.module.mjs +0 -64
  270. package/esm2022/components/field/field.model.mjs +0 -2
  271. package/esm2022/components/file-upload/file-upload.component.mjs +0 -296
  272. package/esm2022/components/file-upload/file-upload.component.module.mjs +0 -40
  273. package/esm2022/components/filter-button/filter-button.component.mjs +0 -255
  274. package/esm2022/components/filter-button/filter-button.component.module.mjs +0 -58
  275. package/esm2022/components/filter-button/filter-button.model.mjs +0 -2
  276. package/esm2022/components/gaussian-chart/gaussian-chart.component.mjs +0 -246
  277. package/esm2022/components/gaussian-chart/gaussian-chart.module.mjs +0 -42
  278. package/esm2022/components/icon/icon.component.mjs +0 -162
  279. package/esm2022/components/icon/icon.component.module.mjs +0 -21
  280. package/esm2022/components/icon/icon.config.mjs +0 -749
  281. package/esm2022/components/icon/icon.model.mjs +0 -2
  282. package/esm2022/components/icon-label/icon-label.component.mjs +0 -62
  283. package/esm2022/components/icon-label/icon-label.component.module.mjs +0 -20
  284. package/esm2022/components/logo/logo.component.mjs +0 -165
  285. package/esm2022/components/logo/logo.component.module.mjs +0 -18
  286. package/esm2022/components/logo/logo.model.mjs +0 -32
  287. package/esm2022/components/media-card/media-card.component.mjs +0 -47
  288. package/esm2022/components/multi-input/multi-input.component.mjs +0 -331
  289. package/esm2022/components/multi-input/multi-input.component.module.mjs +0 -58
  290. package/esm2022/components/multi-input/multi-input.model.mjs +0 -2
  291. package/esm2022/components/navbar/mobile-navbar-side-sheet/mobile-navbar-side-sheet.component.mjs +0 -86
  292. package/esm2022/components/navbar/navbar.component.mjs +0 -212
  293. package/esm2022/components/navbar/navbar.component.module.mjs +0 -71
  294. package/esm2022/components/navbar/navbar.model.mjs +0 -2
  295. package/esm2022/components/overflow-menu/overflow-menu.component.mjs +0 -214
  296. package/esm2022/components/overflow-menu/overflow-menu.component.module.mjs +0 -25
  297. package/esm2022/components/overflow-menu/overflow-menu.model.mjs +0 -2
  298. package/esm2022/components/page-header/page-header.component.mjs +0 -71
  299. package/esm2022/components/page-header/page-header.component.module.mjs +0 -20
  300. package/esm2022/components/paginator/paginator.component.mjs +0 -87
  301. package/esm2022/components/paginator/paginator.component.module.mjs +0 -19
  302. package/esm2022/components/password-criteria/password.component.mjs +0 -111
  303. package/esm2022/components/password-criteria/password.component.module.mjs +0 -39
  304. package/esm2022/components/password-strength/password-strength.component.mjs +0 -93
  305. package/esm2022/components/password-strength/password-strength.component.module.mjs +0 -21
  306. package/esm2022/components/phone-input/join-strings.pipe.mjs +0 -14
  307. package/esm2022/components/phone-input/phone-input.component.mjs +0 -353
  308. package/esm2022/components/phone-input/phone-input.component.module.mjs +0 -63
  309. package/esm2022/components/phone-input/phone-input.model.mjs +0 -2
  310. package/esm2022/components/progress-bar/progress-bar.component.mjs +0 -103
  311. package/esm2022/components/progress-bar/progress-bar.component.module.mjs +0 -21
  312. package/esm2022/components/radial-progress/radial-progress.component.mjs +0 -118
  313. package/esm2022/components/radial-progress/radial-progress.component.module.mjs +0 -20
  314. package/esm2022/components/radial-progress/radial-progress.model.mjs +0 -11
  315. package/esm2022/components/radio-button/radio-button.component.mjs +0 -329
  316. package/esm2022/components/radio-button/radio-button.component.module.mjs +0 -25
  317. package/esm2022/components/radio-button/radio-button.model.mjs +0 -2
  318. package/esm2022/components/rating/half-star.pipe.mjs +0 -23
  319. package/esm2022/components/rating/rating.component.mjs +0 -106
  320. package/esm2022/components/rating/rating.component.module.mjs +0 -20
  321. package/esm2022/components/scale/scale.component.mjs +0 -136
  322. package/esm2022/components/scale/scale.component.module.mjs +0 -18
  323. package/esm2022/components/scale-table/scale-table.component.mjs +0 -61
  324. package/esm2022/components/scale-table/scale-table.model.mjs +0 -2
  325. package/esm2022/components/segmented-bar/segmented-bar.component.mjs +0 -106
  326. package/esm2022/components/segmented-bar/segmented-bar.component.module.mjs +0 -22
  327. package/esm2022/components/segmented-bar/segmented-bar.model.mjs +0 -2
  328. package/esm2022/components/segmented-button/segmented-button.component.mjs +0 -104
  329. package/esm2022/components/segmented-button/segmented-button.component.module.mjs +0 -21
  330. package/esm2022/components/segmented-button/segmented-button.model.mjs +0 -2
  331. package/esm2022/components/side-panel/side-panel-data-injection-token.mjs +0 -3
  332. package/esm2022/components/side-panel/side-panel.animations.mjs +0 -26
  333. package/esm2022/components/side-panel/side-panel.component.mjs +0 -51
  334. package/esm2022/components/side-panel/side-panel.model.mjs +0 -23
  335. package/esm2022/components/side-panel/side-panel.service.mjs +0 -86
  336. package/esm2022/components/side-sheet/side-sheet.component.mjs +0 -105
  337. package/esm2022/components/side-sheet/side-sheet.component.module.mjs +0 -43
  338. package/esm2022/components/side-sheet/side-sheet.model.mjs +0 -2
  339. package/esm2022/components/side-sheet/side-sheet.service.mjs +0 -31
  340. package/esm2022/components/skeleton/skeleton.component.mjs +0 -74
  341. package/esm2022/components/skeleton/skeleton.model.mjs +0 -2
  342. package/esm2022/components/slider/slider.component.mjs +0 -256
  343. package/esm2022/components/slider/slider.component.module.mjs +0 -16
  344. package/esm2022/components/slider/slider.model.mjs +0 -2
  345. package/esm2022/components/snackbar/snackbar.component.mjs +0 -218
  346. package/esm2022/components/snackbar/snackbar.component.module.mjs +0 -25
  347. package/esm2022/components/snackbar/snackbar.model.mjs +0 -2
  348. package/esm2022/components/snackbar/snackbar.service.mjs +0 -40
  349. package/esm2022/components/spider-chart/spider-chart.component.mjs +0 -443
  350. package/esm2022/components/spider-chart/spider-chart.model.mjs +0 -4
  351. package/esm2022/components/spider-chart/spider-chart.module.mjs +0 -44
  352. package/esm2022/components/spinner/spinner.component.mjs +0 -84
  353. package/esm2022/components/spinner/spinner.model.mjs +0 -2
  354. package/esm2022/components/spinner/spinner.module.mjs +0 -20
  355. package/esm2022/components/step/step.component.mjs +0 -209
  356. package/esm2022/components/step/step.component.module.mjs +0 -21
  357. package/esm2022/components/stepper/stepper.component.mjs +0 -198
  358. package/esm2022/components/stepper/stepper.component.module.mjs +0 -44
  359. package/esm2022/components/stepper/stepper.model.mjs +0 -2
  360. package/esm2022/components/table/sentence-case.pipe.mjs +0 -19
  361. package/esm2022/components/table/table.component.mjs +0 -273
  362. package/esm2022/components/table/table.component.module.mjs +0 -61
  363. package/esm2022/components/table/table.model.mjs +0 -25
  364. package/esm2022/components/tabs/tab.directive.mjs +0 -63
  365. package/esm2022/components/tabs/tabs.component.mjs +0 -219
  366. package/esm2022/components/tabs/tabs.component.module.mjs +0 -23
  367. package/esm2022/components/tabs/tabs.model.mjs +0 -2
  368. package/esm2022/components/tag/tag.component.mjs +0 -212
  369. package/esm2022/components/tag/tag.component.module.mjs +0 -24
  370. package/esm2022/components/tag/tag.model.mjs +0 -2
  371. package/esm2022/components/toggle/toggle.component.mjs +0 -190
  372. package/esm2022/components/toggle/toggle.component.module.mjs +0 -24
  373. package/esm2022/components/toggle/toggle.model.mjs +0 -2
  374. package/esm2022/components/tooltip/tooltip-template.directive.mjs +0 -133
  375. package/esm2022/components/tooltip/tooltip.component.mjs +0 -108
  376. package/esm2022/components/tooltip/tooltip.component.module.mjs +0 -27
  377. package/esm2022/components/tooltip/tooltip.model.mjs +0 -8
  378. package/esm2022/components/universal-skills-report/universal-skills-report.component.mjs +0 -80
  379. package/esm2022/components/universal-skills-report/universal-skills-report.component.module.mjs +0 -43
  380. package/esm2022/components/universal-skills-spider-charts/universal-skills-spider-charts.component.mjs +0 -109
  381. package/esm2022/components/universal-skills-spider-charts/universal-skills-spider-charts.component.module.mjs +0 -52
  382. package/esm2022/components/validation-error/validation-error.component.mjs +0 -55
  383. package/esm2022/components/validation-error/validation-error.model.mjs +0 -2
  384. package/esm2022/components/validation-error/validation-error.module.mjs +0 -20
  385. package/esm2022/directives/digits-only.directive.mjs +0 -77
  386. package/esm2022/directives/drag-drop.directive.mjs +0 -55
  387. package/esm2022/directives/dynamic-component.directive.mjs +0 -40
  388. package/esm2022/directives/ellipse-text.directive.mjs +0 -51
  389. package/esm2022/directives/select-text.directive.mjs +0 -40
  390. package/esm2022/directives/step-line-element.directive.mjs +0 -51
  391. package/esm2022/models/application-theme.model.mjs +0 -2
  392. package/esm2022/models/checkbox.model.mjs +0 -2
  393. package/esm2022/models/colors.model.mjs +0 -78
  394. package/esm2022/models/keyboard-events.model.mjs +0 -13
  395. package/esm2022/models/screen-breakpoints.model.mjs +0 -7
  396. package/esm2022/models/universal-skills-report.model.mjs +0 -33
  397. package/esm2022/pipes/data-property-getter.mjs +0 -33
  398. package/esm2022/pipes/has-validation-error.pipe.mjs +0 -27
  399. package/esm2022/pipes/memoize-func.pipe.mjs +0 -39
  400. package/esm2022/pipes/name-initials.pipe.mjs +0 -25
  401. package/esm2022/pipes/ui-ordinal-suffix.pipe.mjs +0 -31
  402. package/esm2022/pipes/ui-translate.pipe.mjs +0 -81
  403. package/esm2022/providers/is-large-tablet.mjs +0 -11
  404. package/esm2022/providers/is-mobile.mjs +0 -11
  405. package/esm2022/public-api.mjs +0 -239
  406. package/esm2022/services/icons.service.mjs +0 -22
  407. package/esm2022/services/universal-skills.service.mjs +0 -85
  408. package/esm2022/testgorilla-tgo-ui.mjs +0 -5
  409. package/esm2022/utils/alert-bar.model.mjs +0 -2
  410. package/esm2022/utils/alert-bars.utils.mjs +0 -34
  411. package/esm2022/utils/autocomplete-utils.mjs +0 -78
  412. package/esm2022/utils/color-contrast.mjs +0 -131
  413. package/esm2022/utils/hex-to-rgb.mjs +0 -9
  414. package/esm2022/utils/localization/language.model.mjs +0 -16
  415. package/esm2022/utils/localization/language.service.mjs +0 -44
  416. package/esm2022/utils/table.utils.mjs +0 -25
  417. package/models/application-theme.model.d.ts +0 -1
  418. package/models/checkbox.model.d.ts +0 -1
  419. package/models/colors.model.d.ts +0 -63
  420. package/models/keyboard-events.model.d.ts +0 -11
  421. package/models/screen-breakpoints.model.d.ts +0 -5
  422. package/models/universal-skills-report.model.d.ts +0 -44
  423. package/pipes/data-property-getter.d.ts +0 -8
  424. package/pipes/has-validation-error.pipe.d.ts +0 -15
  425. package/pipes/memoize-func.pipe.d.ts +0 -26
  426. package/pipes/name-initials.pipe.d.ts +0 -7
  427. package/pipes/ui-ordinal-suffix.pipe.d.ts +0 -7
  428. package/pipes/ui-translate.pipe.d.ts +0 -32
  429. package/providers/is-large-tablet.d.ts +0 -2
  430. package/providers/is-mobile.d.ts +0 -2
  431. package/public-api.d.ts +0 -168
  432. package/services/icons.service.d.ts +0 -8
  433. package/services/universal-skills.service.d.ts +0 -13
  434. package/utils/alert-bar.model.d.ts +0 -2
  435. package/utils/alert-bars.utils.d.ts +0 -7
  436. package/utils/autocomplete-utils.d.ts +0 -12
  437. package/utils/color-contrast.d.ts +0 -28
  438. package/utils/hex-to-rgb.d.ts +0 -1
  439. package/utils/localization/language.model.d.ts +0 -14
  440. package/utils/localization/language.service.d.ts +0 -20
  441. package/utils/table.utils.d.ts +0 -6
@@ -1,544 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, computed, ElementRef, EventEmitter, HostBinding, Inject, input, Input, Optional, Output, Self, signal, ViewChild, ViewEncapsulation, } from '@angular/core';
2
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/material/icon";
5
- import * as i2 from "@angular/platform-browser";
6
- import * as i3 from "@angular/forms";
7
- import * as i4 from "@angular/cdk/a11y";
8
- import * as i5 from "@angular/common";
9
- import * as i6 from "@angular/material/form-field";
10
- import * as i7 from "@angular/material/input";
11
- import * as i8 from "@angular/cdk/text-field";
12
- import * as i9 from "../icon/icon.component";
13
- import * as i10 from "../button/button.component";
14
- import * as i11 from "../validation-error/validation-error.component";
15
- import * as i12 from "../../directives/digits-only.directive";
16
- import * as i13 from "../badge/badge.component";
17
- import * as i14 from "../../pipes/ui-translate.pipe";
18
- import * as i15 from "../../pipes/has-validation-error.pipe";
19
- /**
20
- * A global counter used to generate unique field IDs.
21
- * This variable is incremented each time a new field ID is needed.
22
- *
23
- * @remarks
24
- * This is primarily used to ensure that each field component
25
- * has a unique identifier within the application / useful for their Aria Labels.
26
- */
27
- export let fieldID = 0;
28
- export class FieldComponent {
29
- /**
30
- * Input field errors
31
- *
32
- * @type {string}
33
- * @memberof FieldComponent
34
- */
35
- set errors(errors) {
36
- this._errors = errors?.filter(Boolean).map(error => this.domSanitizer.bypassSecurityTrustHtml(error));
37
- this.errorsLength = this.setErrorsLength();
38
- }
39
- get getPasswordIcon() {
40
- if (this.applicationTheme === 'classic') {
41
- return this.showPassword ? 'Eye-hide' : 'Eye-view';
42
- }
43
- else {
44
- if (!this.isActiveField && !this.isActiveHover) {
45
- return this.showPassword ? 'View-in-line' : 'Hide-in-line';
46
- }
47
- else {
48
- return this.showPassword ? 'View-filled' : 'Hide-filled';
49
- }
50
- }
51
- }
52
- constructor(defaultAppTheme, matIconRegistry, domSanitizer, cdr, ngControl, focusMonitor, ngZone, destroyRef) {
53
- this.defaultAppTheme = defaultAppTheme;
54
- this.matIconRegistry = matIconRegistry;
55
- this.domSanitizer = domSanitizer;
56
- this.cdr = cdr;
57
- this.ngControl = ngControl;
58
- this.focusMonitor = focusMonitor;
59
- this.ngZone = ngZone;
60
- this.destroyRef = destroyRef;
61
- this.class = 'ui-field';
62
- /**
63
- * Indicator of the autocomplete width
64
- *
65
- * @type {boolean}
66
- * @memberof FieldComponent
67
- */
68
- this.fullWidth = true;
69
- /**
70
- * Form field label
71
- *
72
- * @type {string}
73
- * @memberof FieldComponent
74
- */
75
- this.label = '';
76
- /**
77
- * Form field label from html
78
- *
79
- * @memberof FieldComponent
80
- */
81
- this.labelHtml = input(null, {
82
- transform: (value) => this.domSanitizer.bypassSecurityTrustHtml(value)
83
- });
84
- /**
85
- * Input placeholder
86
- *
87
- * @type {string}
88
- * @memberof FieldComponent
89
- */
90
- this.placeholder = '';
91
- /**
92
- * Input id
93
- *
94
- * @type {string}
95
- * @memberof FieldComponent
96
- */
97
- this.id = input(`field-${fieldID++}`);
98
- /**
99
- * Input value
100
- *
101
- * @type {string}
102
- * @memberof FieldComponent
103
- */
104
- this.value = '';
105
- /**
106
- * Input is readonly or not
107
- *
108
- * @type {boolean}
109
- * @memberof FieldComponent
110
- */
111
- this.readOnly = false;
112
- /**
113
- * Hint text
114
- *
115
- * @type {string}
116
- * @memberof FieldComponent
117
- */
118
- this.hintMessage = '';
119
- /**
120
- * Input type
121
- *
122
- * @type {FieldType}
123
- * @memberof FieldComponent
124
- */
125
- this.type = 'text';
126
- /**
127
- * Input is update only on blur
128
- *
129
- * @type {Boolean}
130
- * @memberof FieldComponent
131
- */
132
- this.updateOnBlur = false;
133
- /**
134
- * allow only digits in input
135
- *
136
- * @type {Boolean}
137
- * @memberof FieldComponent
138
- */
139
- this.allowOnlyDigits = false;
140
- /**
141
- * allow negative numbers
142
- *
143
- * @type {Boolean}
144
- * @memberof FieldComponent
145
- */
146
- this.allowNegative = true;
147
- /**
148
- * Show reserved content below form field
149
- * @property showBottomContent
150
- * @type {boolean}
151
- * @memberof FieldComponent
152
- */
153
- this.showBottomContent = true;
154
- /**
155
- *
156
- * Defines the application theme
157
- *
158
- * @type {ApplicationTheme}
159
- * @memberof FieldComponent
160
- */
161
- this.applicationTheme = 'light';
162
- /**
163
- * Show loading button. Only for text
164
- *
165
- * @type {boolean}
166
- * @memberof FieldComponent
167
- */
168
- this.loading = false;
169
- /**
170
- * Show icon when field is valid
171
- *
172
- * @type {boolean}
173
- * @memberof FieldComponent
174
- */
175
- this.isValid = false;
176
- /**
177
- * Max characters number
178
- *
179
- * @type {number}
180
- * @memberof FieldComponent
181
- */
182
- this.maxCharacters = 255;
183
- /**
184
- * Trim text on blur
185
- *
186
- * @type {boolean}
187
- * @memberof FieldComponent
188
- */
189
- this.trimOnBlur = false;
190
- /**
191
- * Trim text on submit
192
- *
193
- * @type {boolean}
194
- * @memberof FieldComponent
195
- */
196
- this.trimOnSubmit = false;
197
- /**
198
- * Max rows for multi-line type
199
- *
200
- * @type {number}
201
- * @memberof FieldComponent
202
- */
203
- this.maxRows = 0;
204
- /**
205
- * has text area counter
206
- *
207
- * @type {boolean}
208
- * @memberof FieldComponent
209
- */
210
- this.hasTextAreaCounter = true;
211
- /**
212
- * Hide in build errors for Reactive Forms
213
- *
214
- * @type {number}
215
- * @memberof FieldComponent
216
- */
217
- this.hideBuiltInErrors = false;
218
- /**
219
- * Hide label in errors
220
- *
221
- * @type {number}
222
- * @memberof FieldComponent
223
- */
224
- this.hideLabelInErrors = false;
225
- /**
226
- * Sets textarea height. Default 110
227
- *
228
- * @type {number}
229
- * @memberof FieldComponent
230
- */
231
- this.textareaHeight = 110;
232
- /**
233
- * Sets textarea borderless. Default false
234
- *
235
- * @type {number}
236
- * @memberof FieldComponent
237
- */
238
- this.borderless = false;
239
- /**
240
- * Indicates if this field is filled by AI
241
- *
242
- * @type {boolean}
243
- * @memberof FieldComponent
244
- */
245
- this.isAIVariant = false;
246
- /**
247
- * A string representing the ARIA requirement for accessibility.
248
- * This attribute is used for input field Aria Labeled By Element Id.
249
- * @type {string}
250
- * @memberof FieldComponent
251
- */
252
- this.ariaLabelledbyId = computed(() => `${this.id()}-labeledBy`);
253
- /**
254
- * A string representing the ARIA requirement for accessibility.
255
- * This attribute is used for input field Aria LabeledBy Text.
256
- * @type {string}
257
- * @memberof FieldComponent
258
- */
259
- this.ariaLabelledby = input(undefined);
260
- /**
261
- * A string representing the ARIA requirement for accessibility.
262
- * This attribute is used for input field Aria Described By Element Id.
263
- * @type {string}
264
- * @memberof FieldComponent
265
- */
266
- this.ariaDescribedbyId = computed(() => `${this.id()}-describedBy`);
267
- /**
268
- * A string representing the ARIA requirement for accessibility.
269
- * This attribute is used for input field Aria DescribedBy Text.
270
- * @type {string}
271
- * @memberof FieldComponent
272
- */
273
- this.ariaDescribedby = input(undefined);
274
- /**
275
- * Show state of error
276
- * @type {boolean}
277
- * @memberof FieldComponent
278
- */
279
- this.hasError = false;
280
- this.validateEvent = new EventEmitter();
281
- this.fieldBlur = new EventEmitter();
282
- this.isActiveField = false;
283
- this.isActiveHover = false;
284
- this.keyboardFocused = signal(false);
285
- this.translationContext = 'FIELD.';
286
- /**
287
- * @ignore
288
- */
289
- this.onChange = (_) => { };
290
- /**
291
- * @ignore
292
- */
293
- this.onTouch = () => { };
294
- this.trackByFn = (index, value) => value.changingThisBreaksApplicationSecurity;
295
- if (defaultAppTheme) {
296
- this.applicationTheme = defaultAppTheme;
297
- }
298
- if (this.ngControl != null) {
299
- this.ngControl.valueAccessor = this;
300
- }
301
- }
302
- ngAfterViewInit() {
303
- this.focusMonitor
304
- .monitor(this.field)
305
- .pipe(takeUntilDestroyed(this.destroyRef))
306
- .subscribe(origin => this.ngZone.run(() => {
307
- this.keyboardFocused.set(origin === 'keyboard');
308
- }));
309
- if (this.type === 'multi-line') {
310
- this.autosize.resizeToFitContent(true);
311
- }
312
- }
313
- /**
314
- * Used to mark component view as dirty when touched programmatically with markAsTouched/markAllAsTouched or errors
315
- * to display validation errors that might happen (e.g. required)
316
- */
317
- ngDoCheck() {
318
- if (this.ngControl?.touched || this.ngControl?.errors) {
319
- this.cdr.markForCheck();
320
- }
321
- }
322
- ngOnInit() {
323
- this.setSearchInput();
324
- this.currentType = this.getType();
325
- }
326
- validate() {
327
- this.validateEvent.emit(this.value);
328
- }
329
- //set search input initial value
330
- setSearchInput() {
331
- if (this.type === 'search' || this.type === 'collapsed-search') {
332
- this.matIconRegistry.addSvgIcon('Search', this.domSanitizer.bypassSecurityTrustResourceUrl('/icons/Search.svg'));
333
- }
334
- else {
335
- this.showClose = false;
336
- }
337
- }
338
- //change type for reveal password
339
- getType() {
340
- if (this.type === 'password' && this.showPassword) {
341
- return 'text';
342
- }
343
- return this.type;
344
- }
345
- //Clear input value
346
- clearValue() {
347
- this.value = '';
348
- this.onChange(this.value);
349
- this.onChangeInputSearch();
350
- }
351
- //toggle for password
352
- showPasswordClick() {
353
- this.showPassword = !this.showPassword;
354
- this.currentType = this.getType();
355
- }
356
- //Set options for search input
357
- onChangeInputSearch() {
358
- if (this.type === 'search' || this.type === 'collapsed-search') {
359
- if (!this.value) {
360
- this.showClose = false;
361
- }
362
- if (this.value) {
363
- this.showClose = true;
364
- }
365
- }
366
- }
367
- // Set errors length for validation
368
- // Consider only those errors which which are not empty
369
- setErrorsLength() {
370
- if (!!this._errors) {
371
- return this._errors.filter(err => !!err).length > 0 ? true : false;
372
- }
373
- return false;
374
- }
375
- //Save input value
376
- onInput(event) {
377
- this.value = event.target.value;
378
- this.errorsLength = this.setErrorsLength();
379
- if (!this.updateOnBlur) {
380
- this.onTouch();
381
- }
382
- if (this.allowOnlyDigits && !this.allowNegative && +this.value < 0) {
383
- this.value = '0';
384
- }
385
- else {
386
- this.onChange(this.type === 'number' ? +this.value : this.value);
387
- }
388
- }
389
- writeValue(value) {
390
- if (value !== null && value !== undefined) {
391
- this.value = value;
392
- }
393
- else {
394
- this.value = '';
395
- }
396
- this.cdr.markForCheck();
397
- }
398
- registerOnChange(fn) {
399
- this.onChange = fn;
400
- }
401
- registerOnTouched(fn) {
402
- this.onTouch = fn;
403
- }
404
- setDisabledState(isDisabled) {
405
- this.disabled = isDisabled;
406
- this.cdr.markForCheck();
407
- }
408
- onActive(state, action) {
409
- if (action === 'hover') {
410
- this.isActiveHover = state;
411
- }
412
- else if (action === 'focus') {
413
- this.isActiveField = state;
414
- if (!state && this.trimOnBlur) {
415
- this.clearSpace();
416
- }
417
- }
418
- }
419
- onSubmit() {
420
- if (this.trimOnSubmit) {
421
- this.clearSpace();
422
- }
423
- }
424
- clearSpace() {
425
- this.value = this.value.trim();
426
- this.onChange(this.value);
427
- }
428
- onBlur() {
429
- this.fieldBlur.emit();
430
- }
431
- focus() {
432
- this.field.nativeElement.focus();
433
- }
434
- refocusPasswordButton(btn) {
435
- setTimeout(() => {
436
- btn.focus('keyboard');
437
- }, 0);
438
- }
439
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FieldComponent, deps: [{ token: 'CANOPYUI_DEFAULT_APPLICATION_THEME', optional: true }, { token: i1.MatIconRegistry }, { token: i2.DomSanitizer }, { token: i0.ChangeDetectorRef }, { token: i3.NgControl, optional: true, self: true }, { token: i4.FocusMonitor }, { token: i0.NgZone }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Component }); }
440
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: FieldComponent, selector: "ui-field", inputs: { fullWidth: { classPropertyName: "fullWidth", publicName: "fullWidth", isSignal: false, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: false, isRequired: false, transformFunction: null }, labelHtml: { classPropertyName: "labelHtml", publicName: "labelHtml", isSignal: true, isRequired: false, transformFunction: null }, labelIcon: { classPropertyName: "labelIcon", publicName: "labelIcon", isSignal: false, isRequired: false, transformFunction: null }, fieldName: { classPropertyName: "fieldName", publicName: "fieldName", isSignal: false, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: false, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null }, badgeVariant: { classPropertyName: "badgeVariant", publicName: "badgeVariant", isSignal: false, isRequired: false, transformFunction: null }, errors: { classPropertyName: "errors", publicName: "errors", isSignal: false, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: false, isRequired: false, transformFunction: null }, readOnly: { classPropertyName: "readOnly", publicName: "readOnly", isSignal: false, isRequired: false, transformFunction: null }, hintMessage: { classPropertyName: "hintMessage", publicName: "hintMessage", isSignal: false, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: false, isRequired: false, transformFunction: null }, updateOnBlur: { classPropertyName: "updateOnBlur", publicName: "updateOnBlur", isSignal: false, isRequired: false, transformFunction: null }, allowOnlyDigits: { classPropertyName: "allowOnlyDigits", publicName: "allowOnlyDigits", isSignal: false, isRequired: false, transformFunction: null }, allowNegative: { classPropertyName: "allowNegative", publicName: "allowNegative", isSignal: false, isRequired: false, transformFunction: null }, showBottomContent: { classPropertyName: "showBottomContent", publicName: "showBottomContent", isSignal: false, isRequired: false, transformFunction: null }, applicationTheme: { classPropertyName: "applicationTheme", publicName: "applicationTheme", isSignal: false, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: false, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: false, isRequired: false, transformFunction: null }, isValid: { classPropertyName: "isValid", publicName: "isValid", isSignal: false, isRequired: false, transformFunction: null }, maxCharacters: { classPropertyName: "maxCharacters", publicName: "maxCharacters", isSignal: false, isRequired: false, transformFunction: null }, trimOnBlur: { classPropertyName: "trimOnBlur", publicName: "trimOnBlur", isSignal: false, isRequired: false, transformFunction: null }, trimOnSubmit: { classPropertyName: "trimOnSubmit", publicName: "trimOnSubmit", isSignal: false, isRequired: false, transformFunction: null }, maxRows: { classPropertyName: "maxRows", publicName: "maxRows", isSignal: false, isRequired: false, transformFunction: null }, hasTextAreaCounter: { classPropertyName: "hasTextAreaCounter", publicName: "hasTextAreaCounter", isSignal: false, isRequired: false, transformFunction: null }, hideBuiltInErrors: { classPropertyName: "hideBuiltInErrors", publicName: "hideBuiltInErrors", isSignal: false, isRequired: false, transformFunction: null }, hideLabelInErrors: { classPropertyName: "hideLabelInErrors", publicName: "hideLabelInErrors", isSignal: false, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: false, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: false, isRequired: false, transformFunction: null }, textareaHeight: { classPropertyName: "textareaHeight", publicName: "textareaHeight", isSignal: false, isRequired: false, transformFunction: null }, borderless: { classPropertyName: "borderless", publicName: "borderless", isSignal: false, isRequired: false, transformFunction: null }, isAIVariant: { classPropertyName: "isAIVariant", publicName: "isAIVariant", isSignal: false, isRequired: false, transformFunction: null }, ariaLabelledby: { classPropertyName: "ariaLabelledby", publicName: "ariaLabelledby", isSignal: true, isRequired: false, transformFunction: null }, ariaDescribedby: { classPropertyName: "ariaDescribedby", publicName: "ariaDescribedby", isSignal: true, isRequired: false, transformFunction: null }, hasError: { classPropertyName: "hasError", publicName: "hasError", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { validateEvent: "validateEvent", fieldBlur: "fieldBlur" }, host: { properties: { "class": "this.class", "class.full-width": "this.fullWidth", "attr.field-class": "this.type", "attr.theme": "this.applicationTheme" } }, viewQueries: [{ propertyName: "field", first: true, predicate: ["inputElement"], descendants: true, read: ElementRef }, { propertyName: "autosize", first: true, predicate: ["autosize"], descendants: true }], ngImport: i0, template: "<ng-container>\n <mat-form-field\n [ngStyle]=\"{\n '--textarea-height': textareaHeight - 10 + 'px',\n '--textarea-height-container': textareaHeight + 'px',\n }\"\n #uiField\n appearance=\"outline\"\n hideRequiredMarker=\"true\"\n [color]=\"errorsLength || (ngControl?.errors && ngControl?.touched) || hasError ? 'warn' : 'accent'\"\n [ngClass]=\"{\n 'hide-bottom-content': !showBottomContent,\n textarea: type === 'textarea',\n 'multi-line': type === 'multi-line',\n 'keyboard-focused': keyboardFocused(),\n 'has-label': !!label,\n 'has-value': !!value,\n 'text-area-borderless': type === 'textarea' && borderless,\n }\"\n (mouseenter)=\"onActive(true, 'hover')\"\n (mouseleave)=\"onActive(false, 'hover')\"\n >\n <span [style.display]=\"'none'\" [id]=\"ariaDescribedbyId()\">\n @if (required) {\n <span>{{ 'ERRORS.REQUIRED' | uiTranslate | async }}</span>\n }\n {{ ariaDescribedby() }}\n </span>\n <span [style.display]=\"'none'\" [id]=\"ariaLabelledbyId()\">\n {{ ariaLabelledby() ?? label }}\n </span>\n <mat-label\n *ngIf=\"(label || labelHtml()) && ((type !== 'search' && applicationTheme === 'classic') || applicationTheme !== 'classic')\"\n class=\"label-with-icon\"\n >\n @if(isAIVariant || labelIcon) {\n <ui-icon\n [name]=\"isAIVariant ? 'Sparkle-in-line' : labelIcon!\"\n [size]=\"'16'\"\n class=\"label-icon\"\n ></ui-icon>\n }\n <span>\n @if(labelHtml()) {\n <span [innerHTML]=\"labelHtml()\"></span>\n } @else {\n {{ label }}\n }@if(required) {<span>*</span>}\n </span>\n </mat-label>\n <mat-icon\n *ngIf=\"type === 'search' || type === 'collapsed-search'\"\n matIconPrefix\n class=\"search-icon\"\n [svgIcon]=\"'Search'\"\n ></mat-icon>\n <input\n [readonly]=\"readOnly\"\n *ngIf=\"type !== 'textarea' && type !== 'multi-line'; else textarea\"\n matInput\n #inputElement\n (blur)=\"onTouch(); onActive(false, 'focus'); onBlur()\"\n (input)=\"onInput($event)\"\n [id]=\"id()\"\n (keyup)=\"onChangeInputSearch()\"\n [placeholder]=\"placeholder!\"\n [value]=\"value\"\n [disabled]=\"disabled || loading\"\n [type]=\"currentType\"\n (keyup.enter)=\"onSubmit()\"\n [max]=\"max\"\n [min]=\"min\"\n [name]=\"fieldName!\"\n [required]=\"required\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-invalid]=\"errorsLength || (ngControl?.errors && ngControl?.touched) || hasError\"\n [attr.aria-labelledby]=\"ariaLabelledbyId()\"\n [attr.aria-describedby]=\"ariaDescribedbyId()\"\n role=\"textbox\"\n digitsOnly\n [allowOnlyDigits]=\"allowOnlyDigits\"\n [allowNegative]=\"allowNegative\"\n (focusin)=\"onActive(true, 'focus')\"\n />\n\n <ng-template #textarea>\n <textarea\n matInput\n #inputElement\n #autosize=\"cdkTextareaAutosize\"\n [readonly]=\"readOnly\"\n (blur)=\"onTouch(); onActive(false, 'focus'); onBlur()\"\n (input)=\"onInput($event)\"\n [id]=\"id()\"\n (keyup)=\"onChangeInputSearch()\"\n (keyup.enter)=\"onSubmit()\"\n [placeholder]=\"placeholder!\"\n [value]=\"value\"\n [disabled]=\"disabled\"\n [type]=\"currentType\"\n [name]=\"fieldName!\"\n [required]=\"required\"\n [attr.aria-label]=\"!label ? ariaLabel : ''\"\n [attr.aria-invalid]=\"errorsLength || (ngControl?.errors && ngControl?.touched) || hasError\"\n [attr.aria-labelledby]=\"ariaLabelledbyId()\"\n [attr.aria-describedby]=\"ariaDescribedbyId()\"\n role=\"textbox\"\n [cdkTextareaAutosize]=\"type === 'multi-line'\"\n [cdkAutosizeMinRows]=\"type === 'multi-line' ? 1 : 5\"\n [cdkAutosizeMaxRows]=\"type === 'multi-line' ? maxRows : 5\"\n (focusin)=\"onActive(true, 'focus')\"\n ></textarea>\n </ng-template>\n\n <div class=\"options\" *ngIf=\"type === 'search' || type === 'collapsed-search' || type === 'password' || type === 'validation-text'\">\n <div class=\"options-container\">\n <ui-button\n *ngIf=\"showClose\"\n variant=\"secondary\"\n [justIcon]=\"true\"\n class=\"close\"\n iconName=\"Close\"\n [label]=\"('COMMON.CLEAR' | uiTranslate | async)!\"\n (buttonClickEvent)=\"clearValue()\"\n [ariaLabel]=\"ariaLabel + '--' + ('COMMON.CLEAR' | uiTranslate | async)\"\n ></ui-button>\n <ui-button\n class=\"password\"\n variant=\"secondary\"\n [tooltip]=\"((showPassword ? 'FIELD.HIDE_PASSWORD' : 'FIELD.SHOW_PASSWORD') | uiTranslate | async)!\"\n *ngIf=\"type === 'password'\"\n [justIcon]=\"true\"\n role=\"switch\"\n [attr.aria-checked]=\"showPassword\"\n [iconName]=\"getPasswordIcon\"\n [applicationTheme]=\"applicationTheme\"\n (click)=\"showPasswordClick()\"\n #btn\n (keydown.enter)=\"refocusPasswordButton(btn)\"\n (keydown.space)=\"refocusPasswordButton(btn)\"\n ></ui-button>\n\n <ng-container\n *ngIf=\"\n type === 'validation-text' && (applicationTheme === 'dark' || applicationTheme === 'light') && value.length\n \"\n >\n <ui-button\n *ngIf=\"!isValid\"\n class=\"validation\"\n [variant]=\"'text'\"\n [applicationTheme]=\"'light'\"\n [label]=\"'Validate'\"\n [loading]=\"loading\"\n (click)=\"validate()\"\n [disabled]=\"disabled\"\n [size]=\"'small'\"\n ></ui-button>\n <ui-icon class=\"valid\" [color]=\"'white'\" applicationTheme=\"light\" [name]=\"'Check'\" *ngIf=\"isValid\"></ui-icon>\n </ng-container>\n </div>\n </div>\n @if (hasTextAreaCounter) {\n <mat-hint class=\"info\" *ngIf=\"type === 'textarea' && !errorsLength && !(ngControl?.errors | hasValidationError)\"\n >{{ value.length }} / {{ maxCharacters }}</mat-hint\n >\n }\n\n <mat-hint\n class=\"info\"\n *ngIf=\"hintMessage && !errorsLength && !(ngControl?.errors | hasValidationError) && type !== 'textarea'\"\n >{{ hintMessage }}</mat-hint\n >\n <mat-hint class=\"error\" *ngIf=\"errorsLength || (ngControl?.errors | hasValidationError)\">\n <ng-template [ngIf]=\"errorsLength\">\n <div class=\"errors\" *ngFor=\"let error of _errors; trackBy: trackByFn\">\n <ui-icon [applicationTheme]=\"applicationTheme\" [name]=\"'Error'\"></ui-icon>\n <span [innerHTML]=\"error\"></span>\n </div>\n </ng-template>\n\n <ui-validation-error\n *ngIf=\"ngControl && !hideBuiltInErrors\"\n [ngControl]=\"ngControl\"\n [label]=\"hideLabelInErrors ? null : label\"\n ></ui-validation-error>\n </mat-hint>\n\n @if (badgeVariant) {\n <ui-badge class=\"field-badge\"\n [variant]=\"badgeVariant\"></ui-badge>\n }\n </mat-form-field>\n</ng-container>\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}.label-with-icon ui-icon{display:inline-block;vertical-align:middle;margin-right:4px}.label-with-icon>span{vertical-align:middle}.mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .label-with-icon .label-icon mat-icon svg{color:#e02800!important}.mat-mdc-form-field.mat-form-field-appearance-outline:not(.mat-warn):hover .mat-mdc-floating-label:not(.mdc-floating-label--float-above) .label-with-icon .label-icon mat-icon svg{color:#919191!important}.mat-mdc-form-field.mat-form-field-appearance-outline:not(.mat-warn) .mat-mdc-floating-label.mdc-floating-label--float-above .label-with-icon .label-icon mat-icon svg{color:#000!important}.mat-mdc-form-field.keyboard-focused{position:relative}.mat-mdc-form-field.keyboard-focused .mat-mdc-text-field-wrapper:after{content:\"\";position:absolute;top:0;border-radius:10px;left:0;width:100%;height:100%;outline:2px solid #ffffff;z-index:-1}.mat-mdc-form-field.keyboard-focused .mat-mdc-form-field-subscript-wrapper{z-index:-1}.mat-mdc-form-field.has-label .mdc-notched-outline__notch{position:relative}.mat-mdc-form-field.has-label .mdc-notched-outline__notch:after{content:\"\";position:absolute;top:0;left:0;background:#fff;width:100%;height:5px;z-index:-1}.active-field .mdc-notched-outline__leading,.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper:hover .mdc-notched-outline__leading,.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper.mdc-text-field--focused .mdc-notched-outline__leading,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper:hover .mdc-notched-outline__leading,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper.mdc-text-field--focused .mdc-notched-outline__leading,.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-text-field-wrapper:hover .mdc-notched-outline__leading,.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline:not(.mat-warn) .mat-mdc-text-field-wrapper:hover .mdc-notched-outline__leading{border-left-width:2px;border-top-width:2px;border-bottom-width:2px}.active-field .mdc-notched-outline__notch,.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper:hover .mdc-notched-outline__notch,.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper.mdc-text-field--focused .mdc-notched-outline__notch,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper:hover .mdc-notched-outline__notch,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper.mdc-text-field--focused .mdc-notched-outline__notch,.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-text-field-wrapper:hover .mdc-notched-outline__notch,.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline:not(.mat-warn) .mat-mdc-text-field-wrapper:hover .mdc-notched-outline__notch{border-top-width:2px;border-bottom-width:2px}.active-field .mdc-notched-outline__trailing,.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper:hover .mdc-notched-outline__trailing,.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper.mdc-text-field--focused .mdc-notched-outline__trailing,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper:hover .mdc-notched-outline__trailing,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper.mdc-text-field--focused .mdc-notched-outline__trailing,.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-text-field-wrapper:hover .mdc-notched-outline__trailing,.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline:not(.mat-warn) .mat-mdc-text-field-wrapper:hover .mdc-notched-outline__trailing{border-top-width:2px;border-bottom-width:2px;border-right-width:2px}.ui-field{display:block;width:320px}.ui-field.full-width{width:100%}.ui-field[field-class=collapsed-search] mat-form-field:not(.mat-focused):not(.has-value){width:56px!important}.ui-field[field-class=collapsed-search] mat-form-field:not(.mat-focused):not(.has-value) .mat-mdc-floating-label{display:none!important}.ui-field[field-class=collapsed-search] mat-form-field:not(.mat-focused):not(.has-value) .mat-mdc-form-field-subscript-wrapper .mat-mdc-form-field-hint-wrapper{position:relative;width:100vw!important}.ui-field .mat-mdc-form-field-subscript-wrapper{margin:0!important}.ui-field[field-class=search][theme=classic] .mat-mdc-form-field:hover.mat-form-field-appearance-outline .mdc-notched-outline__notch,.ui-field[field-class=search][theme=classic] .mat-mdc-form-field.mat-form-field-appearance-outline.mat-focused .mdc-notched-outline__notch{border-top:2px solid #276678!important}.ui-field[field-class=search][theme=classic] .mat-mdc-form-field.mat-form-field-appearance-outline .mdc-notched-outline__notch{border-top:1px solid var(--mdc-outlined-text-field-outline-color)!important}.ui-field[field-class=search][theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-floating-label.mdc-floating-label--float-above,.ui-field[field-class=search][theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-floating-label.mdc-floating-label--float-above{top:28px!important}.ui-field[field-class=search][theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper:hover .mat-mdc-form-field-flex .mat-mdc-floating-label:not(.mdc-floating-label--float-above),.ui-field[field-class=search][theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper:hover .mat-mdc-form-field-flex .mat-mdc-floating-label:not(.mdc-floating-label--float-above){top:21px!important}.ui-field input[type=search]::-webkit-search-decoration,.ui-field input[type=search]::-webkit-search-cancel-button,.ui-field input[type=search]::-webkit-search-results-button,.ui-field input[type=search]::-webkit-search-results-decoration{display:none}.ui-field .mat-mdc-form-field{margin-top:0;width:100%}.ui-field .mat-mdc-form-field.hide-bottom-content .mat-mdc-form-field-subscript-wrapper{display:none}.ui-field .mat-mdc-form-field.multi-line .mat-mdc-text-field-wrapper{height:auto!important}.ui-field .mat-mdc-form-field.multi-line .mat-mdc-form-field-infix{min-height:48px!important}.ui-field .mat-mdc-form-field.multi-line textarea{margin-top:8px;min-height:32px!important}.ui-field .mat-mdc-form-field.textarea .mat-mdc-text-field-wrapper{height:var(--textarea-height-container)!important}.ui-field .mat-mdc-form-field.textarea textarea{max-height:var(--textarea-height)!important;min-height:var(--textarea-height)!important}.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline:not(.mat-warn) .mat-mdc-text-field-wrapper:hover .mat-mdc-form-field-flex .mat-mdc-floating-label:not(.mdc-floating-label--float-above){top:21px!important}.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline:not(.mat-warn) .mat-mdc-text-field-wrapper:hover .mdc-notched-outline__leading,.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline:not(.mat-warn) .mat-mdc-text-field-wrapper:hover .mdc-notched-outline__notch,.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline:not(.mat-warn) .mat-mdc-text-field-wrapper:hover .mdc-notched-outline__trailing{border-color:#276678!important}.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-text-field-wrapper:hover .mat-mdc-form-field-flex .mat-mdc-floating-label:not(.mdc-floating-label--float-above){top:21px!important}.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-text-field-wrapper:hover .mdc-notched-outline__leading,.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-text-field-wrapper:hover .mdc-notched-outline__notch,.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-text-field-wrapper:hover .mdc-notched-outline__trailing{border-color:#cb7b7a!important}.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper{height:48px}.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-floating-label{background:#fff!important;top:22px}.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline .mdc-notched-outline{color:#888}.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline .mdc-notched-outline .mdc-floating-label--float-above{transform:translateY(-30px) scale(.75);margin-left:1px}.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-infix{min-height:48px;padding:4px 0;line-height:22px;display:inline-flex;align-items:center}.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-subscript-wrapper{padding:0 0 12px;margin-top:4px;font-size:12px;line-height:16px;position:relative}.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-subscript-wrapper .mat-form-field-hint-spacer{display:none}.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-hint.info{color:#888;width:100%;text-align:right}.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-bottom-align:before{height:0}.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-hint-wrapper{position:relative;padding:0}.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-hint.error,.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-hint.error svg{color:#cb7b7a}.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-icon-prefix,.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-icon-suffix{padding:0}.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline .search-icon{padding:12px 8px 12px 16px;color:#888;--icon-color: #888888}.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-hint.error{display:flex}.ui-field .mat-mdc-form-field.mat-warn.mat-form-field-appearance-outline:not(.mdc-text-field--disabled) .mat-mdc-form-field-flex:hover .mdc-notched-outline .mdc-notched-outline__leading,.ui-field .mat-mdc-form-field.mat-warn.mat-form-field-appearance-outline:not(.mdc-text-field--disabled) .mat-mdc-form-field-flex:hover .mdc-notched-outline .mdc-notched-outline__trailing,.ui-field .mat-mdc-form-field.mat-warn.mat-form-field-appearance-outline:not(.mdc-text-field--disabled) .mat-mdc-form-field-flex:hover .mdc-notched-outline .mdc-notched-outline__notch{border-color:#cb7b7a}.ui-field .mat-mdc-form-field.mat-warn.mat-form-field-appearance-outline .mdc-notched-outline .mdc-notched-outline__leading,.ui-field .mat-mdc-form-field.mat-warn.mat-form-field-appearance-outline .mdc-notched-outline .mdc-notched-outline__trailing,.ui-field .mat-mdc-form-field.mat-warn.mat-form-field-appearance-outline .mdc-notched-outline .mdc-notched-outline__notch{border-color:#cb7b7a}.ui-field .mat-mdc-form-field.mat-warn.mat-focused .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-form-field-infix .mat-form-field-label mat-label{color:#cb7b7a}.ui-field .mat-mdc-form-field.mat-accent.mat-form-field-appearance-outline:not(.mat-form-field-disabled) .mat-mdc-form-field-flex:hover .mdc-notched-outline{color:#276678}.ui-field .mat-mdc-form-field.mat-accent.mat-form-field-appearance-outline:not(.mat-form-field-disabled) .mat-mdc-form-field-flex:hover .options .options-container ui-button.search svg,.ui-field .mat-mdc-form-field.mat-accent.mat-form-field-appearance-outline:not(.mat-form-field-disabled) .mat-mdc-form-field-flex:hover .options .options-container ui-button.password svg{color:#276678}.ui-field .mat-mdc-form-field.mat-accent.mat-focused .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-form-field-infix .mat-form-field-label mat-label{color:#276678}.ui-field .mat-mdc-form-field.mat-accent.mat-focused .options .options-container ui-button svg,.ui-field .mat-mdc-form-field.mat-accent.mat-focused .options .options-container ui-icon svg{color:#276678}.ui-field .mat-mdc-form-field.mat-accent.mat-focused .options .options-container ui-button.close svg{color:#888}.ui-field .mat-mdc-form-field .options .options-container{display:flex;column-gap:8px;padding-left:8px}.ui-field .mat-mdc-form-field .options .options-container ui-button.password{width:24px!important}.ui-field .mat-mdc-form-field .options .options-container ui-button.password .button-wrapper .button-container button,.ui-field .mat-mdc-form-field .options .options-container ui-button.password .button-wrapper .button-container span{width:24px!important;height:24px!important}.ui-field .mat-mdc-form-field .options .options-container ui-icon.valid mat-icon{background:#3c9a13;border-radius:100%}.ui-field .mat-mdc-form-field .options .options-container ui-icon.valid mat-icon svg{color:#fff!important}.ui-field .mat-mdc-form-field .options .options-container ui-button.validation svg circle{stroke:#d410aa}.ui-field .mat-mdc-form-field .options .options-container ui-button.validation *{color:#d410aa}.ui-field .mat-mdc-form-field .options .options-container ui-button,.ui-field .mat-mdc-form-field .options .options-container ui-icon{display:flex}.ui-field .mat-mdc-form-field .options .options-container ui-button svg,.ui-field .mat-mdc-form-field .options .options-container ui-icon svg{color:#888}.ui-field .mat-mdc-form-field .options ui-button button.secondary.only-icon{padding:0;height:auto;background:transparent}.ui-field .mat-mdc-form-field .options ui-button button.secondary.only-icon:hover,.ui-field .mat-mdc-form-field .options ui-button button.secondary.only-icon:focus{background:transparent;color:inherit;border:none;outline:none}.ui-field .mat-mdc-form-field.mat-form-field-disabled .mat-mdc-input-element,.ui-field .mat-mdc-form-field.mat-form-field-disabled .mdc-floating-label{pointer-events:none}.ui-field .mat-mdc-form-field.mat-form-field-disabled.mat-form-field-appearance-outline .mdc-notched-outline{color:#e0e0e0}.ui-field .mat-mdc-form-field.mat-form-field-disabled .options .options-container ui-button svg,.ui-field .mat-mdc-form-field.mat-form-field-disabled .options .options-container ui-icon svg{color:#e0e0e0}.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper{height:48px}.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper.mdc-text-field--disabled .mdc-notched-outline__notch label,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper.mdc-text-field--disabled .mdc-notched-outline__notch label{color:#e9e9e9!important}.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-floating-label.mdc-floating-label--float-above,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-floating-label.mdc-floating-label--float-above{color:#242424!important}.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper .mdc-notched-outline__leading,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper .mdc-notched-outline__leading{border-top-left-radius:10px;border-bottom-left-radius:10px}.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper .mdc-notched-outline__trailing,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper .mdc-notched-outline__trailing{border-top-right-radius:10px;border-bottom-right-radius:10px}.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper:hover .mat-mdc-form-field-icon-prefix svg,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper:hover .mat-mdc-form-field-icon-prefix svg{color:#242424!important}.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper:hover .password .icon-only-wrapper svg,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper:hover .password .icon-only-wrapper svg{color:#242424!important}.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper:hover .mat-mdc-form-field-flex .mat-mdc-floating-label:not(.mdc-floating-label--float-above),.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper:hover .mat-mdc-form-field-flex .mat-mdc-floating-label:not(.mdc-floating-label--float-above){top:21px!important}.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper:hover .mat-mdc-form-field-icon-prefix svg,.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper.mdc-text-field--focused .mat-mdc-form-field-icon-prefix svg,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper:hover .mat-mdc-form-field-icon-prefix svg,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper.mdc-text-field--focused .mat-mdc-form-field-icon-prefix svg{color:#242424!important}.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper:hover .mdc-notched-outline__leading,.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper:hover .mdc-notched-outline__notch,.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper:hover .mdc-notched-outline__trailing,.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper.mdc-text-field--focused .mdc-notched-outline__leading,.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper.mdc-text-field--focused .mdc-notched-outline__notch,.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper.mdc-text-field--focused .mdc-notched-outline__trailing,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper:hover .mdc-notched-outline__leading,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper:hover .mdc-notched-outline__notch,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper:hover .mdc-notched-outline__trailing,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper.mdc-text-field--focused .mdc-notched-outline__leading,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper.mdc-text-field--focused .mdc-notched-outline__notch,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper.mdc-text-field--focused .mdc-notched-outline__trailing{border-color:#242424!important}.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper:hover .mat-mdc-form-field-flex .mat-mdc-floating-label.mdc-floating-label--float-above,.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper.mdc-text-field--focused .mat-mdc-form-field-flex .mat-mdc-floating-label.mdc-floating-label--float-above,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper:hover .mat-mdc-form-field-flex .mat-mdc-floating-label.mdc-floating-label--float-above,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper.mdc-text-field--focused .mat-mdc-form-field-flex .mat-mdc-floating-label.mdc-floating-label--float-above{color:#242424!important}.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-form-field-hint.error,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-form-field-hint.error{color:#e02800!important}.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-form-field-hint.error svg,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-form-field-hint.error svg{color:#e02800!important}.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-form-field-flex .mat-mdc-floating-label.mdc-floating-label--float-above,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-form-field-flex .mat-mdc-floating-label.mdc-floating-label--float-above{color:#e02800!important}.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-text-field-wrapper .mdc-notched-outline__leading,.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-text-field-wrapper .mdc-notched-outline__notch,.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-text-field-wrapper .mdc-notched-outline__trailing,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-text-field-wrapper .mdc-notched-outline__leading,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-text-field-wrapper .mdc-notched-outline__notch,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-text-field-wrapper .mdc-notched-outline__trailing{border-color:#e02800!important}.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-text-field-wrapper:hover .mat-mdc-form-field-icon-prefix svg,.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-text-field-wrapper.mdc-text-field--focused .mat-mdc-form-field-icon-prefix svg,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-text-field-wrapper:hover .mat-mdc-form-field-icon-prefix svg,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-text-field-wrapper.mdc-text-field--focused .mat-mdc-form-field-icon-prefix svg{color:#e02800!important}.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-text-field-wrapper:hover .mdc-notched-outline__leading,.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-text-field-wrapper:hover .mdc-notched-outline__notch,.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-text-field-wrapper:hover .mdc-notched-outline__trailing,.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-text-field-wrapper.mdc-text-field--focused .mdc-notched-outline__leading,.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-text-field-wrapper.mdc-text-field--focused .mdc-notched-outline__notch,.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-text-field-wrapper.mdc-text-field--focused .mdc-notched-outline__trailing,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-text-field-wrapper:hover .mdc-notched-outline__leading,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-text-field-wrapper:hover .mdc-notched-outline__notch,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-text-field-wrapper:hover .mdc-notched-outline__trailing,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-text-field-wrapper.mdc-text-field--focused .mdc-notched-outline__leading,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-text-field-wrapper.mdc-text-field--focused .mdc-notched-outline__notch,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-text-field-wrapper.mdc-text-field--focused .mdc-notched-outline__trailing{border-color:#e02800!important}.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-text-field-wrapper:hover .mat-mdc-form-field-flex .mat-mdc-floating-label.mdc-floating-label--float-above,.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-text-field-wrapper.mdc-text-field--focused .mat-mdc-form-field-flex .mat-mdc-floating-label.mdc-floating-label--float-above,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-text-field-wrapper:hover .mat-mdc-form-field-flex .mat-mdc-floating-label.mdc-floating-label--float-above,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-text-field-wrapper.mdc-text-field--focused .mat-mdc-form-field-flex .mat-mdc-floating-label.mdc-floating-label--float-above{color:#e02800!important}.ui-field .mat-mdc-form-field.text-area-borderless.mat-mdc-form-field-type-mat-input.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper .mdc-notched-outline__leading,.ui-field .mat-mdc-form-field.text-area-borderless.mat-mdc-form-field-type-mat-input.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper .mdc-notched-outline__trailing,.ui-field .mat-mdc-form-field.text-area-borderless.mat-mdc-form-field-type-mat-input.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper .mdc-notched-outline__notch{border-color:transparent!important}.ui-field .mat-mdc-form-field.text-area-borderless.mat-mdc-form-field-type-mat-input.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper .mdc-floating-label{color:#919191!important}.ui-field .mat-mdc-form-field.text-area-borderless.mat-mdc-form-field-type-mat-input.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper .mat-mdc-input-element{color:#242424}.ui-field .mat-mdc-form-field.text-area-borderless.mat-mdc-form-field-type-mat-input.mat-form-field-appearance-outline .mat-mdc-form-field-infix{padding:12px 0!important}.ui-field .mat-mdc-form-field.text-area-borderless.mat-mdc-form-field-type-mat-input.mat-form-field-appearance-outline .mdc-floating-label--float-above{display:none!important}.ui-field .mat-mdc-form-field.text-area-borderless.mat-mdc-form-field-type-mat-input.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper{border-radius:0!important}.ui-field .field-badge{position:absolute;left:-27px;top:-10px;z-index:1}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatLabel, selector: "mat-label" }, { kind: "directive", type: i6.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i6.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i7.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i8.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "component", type: i9.IconComponent, selector: "ui-icon", inputs: ["size", "cssClass", "name", "color", "filled", "toggleIconStyle", "applicationTheme", "useFullIconName"] }, { kind: "component", type: i10.ButtonComponent, selector: "ui-button", inputs: ["size", "variant", "label", "iconPosition", "justIcon", "iconName", "disabled", "loading", "fullWidth", "url", "urlTarget", "value", "tooltip", "isPremium", "type", "companyColor", "buttonBadgeConfig", "applicationTheme", "disabledScaleOnClick", "ariaLabel", "ariaRequired", "ariaLabelledby", "ariaDescribedby", "preventDefault", "hasBackground", "tooltipPosition", "role", "iconFilled"], outputs: ["buttonClickEvent", "buttonHoverEvent"] }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i11.ValidationErrorComponent, selector: "ui-validation-error", inputs: ["ngControl", "touchedOn", "errorMessage", "label", "applicationTheme"] }, { kind: "directive", type: i12.DigitsOnlyDirective, selector: "[digitsOnly]", inputs: ["allowNegative", "allowDecimal", "allowOnlyDigits"] }, { kind: "component", type: i13.BadgeComponent, selector: "ui-badge", inputs: ["label", "icon", "color", "variant", "notificationsAmount", "applicationTheme", "rebrandColor", "truncateLabel"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i14.UiTranslatePipe, name: "uiTranslate" }, { kind: "pipe", type: i15.HasValidationErrorPipe, name: "hasValidationError" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
441
- }
442
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FieldComponent, decorators: [{
443
- type: Component,
444
- args: [{ selector: 'ui-field', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container>\n <mat-form-field\n [ngStyle]=\"{\n '--textarea-height': textareaHeight - 10 + 'px',\n '--textarea-height-container': textareaHeight + 'px',\n }\"\n #uiField\n appearance=\"outline\"\n hideRequiredMarker=\"true\"\n [color]=\"errorsLength || (ngControl?.errors && ngControl?.touched) || hasError ? 'warn' : 'accent'\"\n [ngClass]=\"{\n 'hide-bottom-content': !showBottomContent,\n textarea: type === 'textarea',\n 'multi-line': type === 'multi-line',\n 'keyboard-focused': keyboardFocused(),\n 'has-label': !!label,\n 'has-value': !!value,\n 'text-area-borderless': type === 'textarea' && borderless,\n }\"\n (mouseenter)=\"onActive(true, 'hover')\"\n (mouseleave)=\"onActive(false, 'hover')\"\n >\n <span [style.display]=\"'none'\" [id]=\"ariaDescribedbyId()\">\n @if (required) {\n <span>{{ 'ERRORS.REQUIRED' | uiTranslate | async }}</span>\n }\n {{ ariaDescribedby() }}\n </span>\n <span [style.display]=\"'none'\" [id]=\"ariaLabelledbyId()\">\n {{ ariaLabelledby() ?? label }}\n </span>\n <mat-label\n *ngIf=\"(label || labelHtml()) && ((type !== 'search' && applicationTheme === 'classic') || applicationTheme !== 'classic')\"\n class=\"label-with-icon\"\n >\n @if(isAIVariant || labelIcon) {\n <ui-icon\n [name]=\"isAIVariant ? 'Sparkle-in-line' : labelIcon!\"\n [size]=\"'16'\"\n class=\"label-icon\"\n ></ui-icon>\n }\n <span>\n @if(labelHtml()) {\n <span [innerHTML]=\"labelHtml()\"></span>\n } @else {\n {{ label }}\n }@if(required) {<span>*</span>}\n </span>\n </mat-label>\n <mat-icon\n *ngIf=\"type === 'search' || type === 'collapsed-search'\"\n matIconPrefix\n class=\"search-icon\"\n [svgIcon]=\"'Search'\"\n ></mat-icon>\n <input\n [readonly]=\"readOnly\"\n *ngIf=\"type !== 'textarea' && type !== 'multi-line'; else textarea\"\n matInput\n #inputElement\n (blur)=\"onTouch(); onActive(false, 'focus'); onBlur()\"\n (input)=\"onInput($event)\"\n [id]=\"id()\"\n (keyup)=\"onChangeInputSearch()\"\n [placeholder]=\"placeholder!\"\n [value]=\"value\"\n [disabled]=\"disabled || loading\"\n [type]=\"currentType\"\n (keyup.enter)=\"onSubmit()\"\n [max]=\"max\"\n [min]=\"min\"\n [name]=\"fieldName!\"\n [required]=\"required\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-invalid]=\"errorsLength || (ngControl?.errors && ngControl?.touched) || hasError\"\n [attr.aria-labelledby]=\"ariaLabelledbyId()\"\n [attr.aria-describedby]=\"ariaDescribedbyId()\"\n role=\"textbox\"\n digitsOnly\n [allowOnlyDigits]=\"allowOnlyDigits\"\n [allowNegative]=\"allowNegative\"\n (focusin)=\"onActive(true, 'focus')\"\n />\n\n <ng-template #textarea>\n <textarea\n matInput\n #inputElement\n #autosize=\"cdkTextareaAutosize\"\n [readonly]=\"readOnly\"\n (blur)=\"onTouch(); onActive(false, 'focus'); onBlur()\"\n (input)=\"onInput($event)\"\n [id]=\"id()\"\n (keyup)=\"onChangeInputSearch()\"\n (keyup.enter)=\"onSubmit()\"\n [placeholder]=\"placeholder!\"\n [value]=\"value\"\n [disabled]=\"disabled\"\n [type]=\"currentType\"\n [name]=\"fieldName!\"\n [required]=\"required\"\n [attr.aria-label]=\"!label ? ariaLabel : ''\"\n [attr.aria-invalid]=\"errorsLength || (ngControl?.errors && ngControl?.touched) || hasError\"\n [attr.aria-labelledby]=\"ariaLabelledbyId()\"\n [attr.aria-describedby]=\"ariaDescribedbyId()\"\n role=\"textbox\"\n [cdkTextareaAutosize]=\"type === 'multi-line'\"\n [cdkAutosizeMinRows]=\"type === 'multi-line' ? 1 : 5\"\n [cdkAutosizeMaxRows]=\"type === 'multi-line' ? maxRows : 5\"\n (focusin)=\"onActive(true, 'focus')\"\n ></textarea>\n </ng-template>\n\n <div class=\"options\" *ngIf=\"type === 'search' || type === 'collapsed-search' || type === 'password' || type === 'validation-text'\">\n <div class=\"options-container\">\n <ui-button\n *ngIf=\"showClose\"\n variant=\"secondary\"\n [justIcon]=\"true\"\n class=\"close\"\n iconName=\"Close\"\n [label]=\"('COMMON.CLEAR' | uiTranslate | async)!\"\n (buttonClickEvent)=\"clearValue()\"\n [ariaLabel]=\"ariaLabel + '--' + ('COMMON.CLEAR' | uiTranslate | async)\"\n ></ui-button>\n <ui-button\n class=\"password\"\n variant=\"secondary\"\n [tooltip]=\"((showPassword ? 'FIELD.HIDE_PASSWORD' : 'FIELD.SHOW_PASSWORD') | uiTranslate | async)!\"\n *ngIf=\"type === 'password'\"\n [justIcon]=\"true\"\n role=\"switch\"\n [attr.aria-checked]=\"showPassword\"\n [iconName]=\"getPasswordIcon\"\n [applicationTheme]=\"applicationTheme\"\n (click)=\"showPasswordClick()\"\n #btn\n (keydown.enter)=\"refocusPasswordButton(btn)\"\n (keydown.space)=\"refocusPasswordButton(btn)\"\n ></ui-button>\n\n <ng-container\n *ngIf=\"\n type === 'validation-text' && (applicationTheme === 'dark' || applicationTheme === 'light') && value.length\n \"\n >\n <ui-button\n *ngIf=\"!isValid\"\n class=\"validation\"\n [variant]=\"'text'\"\n [applicationTheme]=\"'light'\"\n [label]=\"'Validate'\"\n [loading]=\"loading\"\n (click)=\"validate()\"\n [disabled]=\"disabled\"\n [size]=\"'small'\"\n ></ui-button>\n <ui-icon class=\"valid\" [color]=\"'white'\" applicationTheme=\"light\" [name]=\"'Check'\" *ngIf=\"isValid\"></ui-icon>\n </ng-container>\n </div>\n </div>\n @if (hasTextAreaCounter) {\n <mat-hint class=\"info\" *ngIf=\"type === 'textarea' && !errorsLength && !(ngControl?.errors | hasValidationError)\"\n >{{ value.length }} / {{ maxCharacters }}</mat-hint\n >\n }\n\n <mat-hint\n class=\"info\"\n *ngIf=\"hintMessage && !errorsLength && !(ngControl?.errors | hasValidationError) && type !== 'textarea'\"\n >{{ hintMessage }}</mat-hint\n >\n <mat-hint class=\"error\" *ngIf=\"errorsLength || (ngControl?.errors | hasValidationError)\">\n <ng-template [ngIf]=\"errorsLength\">\n <div class=\"errors\" *ngFor=\"let error of _errors; trackBy: trackByFn\">\n <ui-icon [applicationTheme]=\"applicationTheme\" [name]=\"'Error'\"></ui-icon>\n <span [innerHTML]=\"error\"></span>\n </div>\n </ng-template>\n\n <ui-validation-error\n *ngIf=\"ngControl && !hideBuiltInErrors\"\n [ngControl]=\"ngControl\"\n [label]=\"hideLabelInErrors ? null : label\"\n ></ui-validation-error>\n </mat-hint>\n\n @if (badgeVariant) {\n <ui-badge class=\"field-badge\"\n [variant]=\"badgeVariant\"></ui-badge>\n }\n </mat-form-field>\n</ng-container>\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}.label-with-icon ui-icon{display:inline-block;vertical-align:middle;margin-right:4px}.label-with-icon>span{vertical-align:middle}.mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .label-with-icon .label-icon mat-icon svg{color:#e02800!important}.mat-mdc-form-field.mat-form-field-appearance-outline:not(.mat-warn):hover .mat-mdc-floating-label:not(.mdc-floating-label--float-above) .label-with-icon .label-icon mat-icon svg{color:#919191!important}.mat-mdc-form-field.mat-form-field-appearance-outline:not(.mat-warn) .mat-mdc-floating-label.mdc-floating-label--float-above .label-with-icon .label-icon mat-icon svg{color:#000!important}.mat-mdc-form-field.keyboard-focused{position:relative}.mat-mdc-form-field.keyboard-focused .mat-mdc-text-field-wrapper:after{content:\"\";position:absolute;top:0;border-radius:10px;left:0;width:100%;height:100%;outline:2px solid #ffffff;z-index:-1}.mat-mdc-form-field.keyboard-focused .mat-mdc-form-field-subscript-wrapper{z-index:-1}.mat-mdc-form-field.has-label .mdc-notched-outline__notch{position:relative}.mat-mdc-form-field.has-label .mdc-notched-outline__notch:after{content:\"\";position:absolute;top:0;left:0;background:#fff;width:100%;height:5px;z-index:-1}.active-field .mdc-notched-outline__leading,.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper:hover .mdc-notched-outline__leading,.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper.mdc-text-field--focused .mdc-notched-outline__leading,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper:hover .mdc-notched-outline__leading,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper.mdc-text-field--focused .mdc-notched-outline__leading,.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-text-field-wrapper:hover .mdc-notched-outline__leading,.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline:not(.mat-warn) .mat-mdc-text-field-wrapper:hover .mdc-notched-outline__leading{border-left-width:2px;border-top-width:2px;border-bottom-width:2px}.active-field .mdc-notched-outline__notch,.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper:hover .mdc-notched-outline__notch,.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper.mdc-text-field--focused .mdc-notched-outline__notch,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper:hover .mdc-notched-outline__notch,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper.mdc-text-field--focused .mdc-notched-outline__notch,.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-text-field-wrapper:hover .mdc-notched-outline__notch,.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline:not(.mat-warn) .mat-mdc-text-field-wrapper:hover .mdc-notched-outline__notch{border-top-width:2px;border-bottom-width:2px}.active-field .mdc-notched-outline__trailing,.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper:hover .mdc-notched-outline__trailing,.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper.mdc-text-field--focused .mdc-notched-outline__trailing,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper:hover .mdc-notched-outline__trailing,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper.mdc-text-field--focused .mdc-notched-outline__trailing,.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-text-field-wrapper:hover .mdc-notched-outline__trailing,.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline:not(.mat-warn) .mat-mdc-text-field-wrapper:hover .mdc-notched-outline__trailing{border-top-width:2px;border-bottom-width:2px;border-right-width:2px}.ui-field{display:block;width:320px}.ui-field.full-width{width:100%}.ui-field[field-class=collapsed-search] mat-form-field:not(.mat-focused):not(.has-value){width:56px!important}.ui-field[field-class=collapsed-search] mat-form-field:not(.mat-focused):not(.has-value) .mat-mdc-floating-label{display:none!important}.ui-field[field-class=collapsed-search] mat-form-field:not(.mat-focused):not(.has-value) .mat-mdc-form-field-subscript-wrapper .mat-mdc-form-field-hint-wrapper{position:relative;width:100vw!important}.ui-field .mat-mdc-form-field-subscript-wrapper{margin:0!important}.ui-field[field-class=search][theme=classic] .mat-mdc-form-field:hover.mat-form-field-appearance-outline .mdc-notched-outline__notch,.ui-field[field-class=search][theme=classic] .mat-mdc-form-field.mat-form-field-appearance-outline.mat-focused .mdc-notched-outline__notch{border-top:2px solid #276678!important}.ui-field[field-class=search][theme=classic] .mat-mdc-form-field.mat-form-field-appearance-outline .mdc-notched-outline__notch{border-top:1px solid var(--mdc-outlined-text-field-outline-color)!important}.ui-field[field-class=search][theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-floating-label.mdc-floating-label--float-above,.ui-field[field-class=search][theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-floating-label.mdc-floating-label--float-above{top:28px!important}.ui-field[field-class=search][theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper:hover .mat-mdc-form-field-flex .mat-mdc-floating-label:not(.mdc-floating-label--float-above),.ui-field[field-class=search][theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper:hover .mat-mdc-form-field-flex .mat-mdc-floating-label:not(.mdc-floating-label--float-above){top:21px!important}.ui-field input[type=search]::-webkit-search-decoration,.ui-field input[type=search]::-webkit-search-cancel-button,.ui-field input[type=search]::-webkit-search-results-button,.ui-field input[type=search]::-webkit-search-results-decoration{display:none}.ui-field .mat-mdc-form-field{margin-top:0;width:100%}.ui-field .mat-mdc-form-field.hide-bottom-content .mat-mdc-form-field-subscript-wrapper{display:none}.ui-field .mat-mdc-form-field.multi-line .mat-mdc-text-field-wrapper{height:auto!important}.ui-field .mat-mdc-form-field.multi-line .mat-mdc-form-field-infix{min-height:48px!important}.ui-field .mat-mdc-form-field.multi-line textarea{margin-top:8px;min-height:32px!important}.ui-field .mat-mdc-form-field.textarea .mat-mdc-text-field-wrapper{height:var(--textarea-height-container)!important}.ui-field .mat-mdc-form-field.textarea textarea{max-height:var(--textarea-height)!important;min-height:var(--textarea-height)!important}.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline:not(.mat-warn) .mat-mdc-text-field-wrapper:hover .mat-mdc-form-field-flex .mat-mdc-floating-label:not(.mdc-floating-label--float-above){top:21px!important}.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline:not(.mat-warn) .mat-mdc-text-field-wrapper:hover .mdc-notched-outline__leading,.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline:not(.mat-warn) .mat-mdc-text-field-wrapper:hover .mdc-notched-outline__notch,.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline:not(.mat-warn) .mat-mdc-text-field-wrapper:hover .mdc-notched-outline__trailing{border-color:#276678!important}.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-text-field-wrapper:hover .mat-mdc-form-field-flex .mat-mdc-floating-label:not(.mdc-floating-label--float-above){top:21px!important}.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-text-field-wrapper:hover .mdc-notched-outline__leading,.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-text-field-wrapper:hover .mdc-notched-outline__notch,.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-text-field-wrapper:hover .mdc-notched-outline__trailing{border-color:#cb7b7a!important}.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper{height:48px}.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-floating-label{background:#fff!important;top:22px}.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline .mdc-notched-outline{color:#888}.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline .mdc-notched-outline .mdc-floating-label--float-above{transform:translateY(-30px) scale(.75);margin-left:1px}.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-infix{min-height:48px;padding:4px 0;line-height:22px;display:inline-flex;align-items:center}.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-subscript-wrapper{padding:0 0 12px;margin-top:4px;font-size:12px;line-height:16px;position:relative}.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-subscript-wrapper .mat-form-field-hint-spacer{display:none}.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-hint.info{color:#888;width:100%;text-align:right}.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-bottom-align:before{height:0}.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-hint-wrapper{position:relative;padding:0}.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-hint.error,.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-hint.error svg{color:#cb7b7a}.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-icon-prefix,.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-icon-suffix{padding:0}.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline .search-icon{padding:12px 8px 12px 16px;color:#888;--icon-color: #888888}.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-hint.error{display:flex}.ui-field .mat-mdc-form-field.mat-warn.mat-form-field-appearance-outline:not(.mdc-text-field--disabled) .mat-mdc-form-field-flex:hover .mdc-notched-outline .mdc-notched-outline__leading,.ui-field .mat-mdc-form-field.mat-warn.mat-form-field-appearance-outline:not(.mdc-text-field--disabled) .mat-mdc-form-field-flex:hover .mdc-notched-outline .mdc-notched-outline__trailing,.ui-field .mat-mdc-form-field.mat-warn.mat-form-field-appearance-outline:not(.mdc-text-field--disabled) .mat-mdc-form-field-flex:hover .mdc-notched-outline .mdc-notched-outline__notch{border-color:#cb7b7a}.ui-field .mat-mdc-form-field.mat-warn.mat-form-field-appearance-outline .mdc-notched-outline .mdc-notched-outline__leading,.ui-field .mat-mdc-form-field.mat-warn.mat-form-field-appearance-outline .mdc-notched-outline .mdc-notched-outline__trailing,.ui-field .mat-mdc-form-field.mat-warn.mat-form-field-appearance-outline .mdc-notched-outline .mdc-notched-outline__notch{border-color:#cb7b7a}.ui-field .mat-mdc-form-field.mat-warn.mat-focused .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-form-field-infix .mat-form-field-label mat-label{color:#cb7b7a}.ui-field .mat-mdc-form-field.mat-accent.mat-form-field-appearance-outline:not(.mat-form-field-disabled) .mat-mdc-form-field-flex:hover .mdc-notched-outline{color:#276678}.ui-field .mat-mdc-form-field.mat-accent.mat-form-field-appearance-outline:not(.mat-form-field-disabled) .mat-mdc-form-field-flex:hover .options .options-container ui-button.search svg,.ui-field .mat-mdc-form-field.mat-accent.mat-form-field-appearance-outline:not(.mat-form-field-disabled) .mat-mdc-form-field-flex:hover .options .options-container ui-button.password svg{color:#276678}.ui-field .mat-mdc-form-field.mat-accent.mat-focused .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-form-field-infix .mat-form-field-label mat-label{color:#276678}.ui-field .mat-mdc-form-field.mat-accent.mat-focused .options .options-container ui-button svg,.ui-field .mat-mdc-form-field.mat-accent.mat-focused .options .options-container ui-icon svg{color:#276678}.ui-field .mat-mdc-form-field.mat-accent.mat-focused .options .options-container ui-button.close svg{color:#888}.ui-field .mat-mdc-form-field .options .options-container{display:flex;column-gap:8px;padding-left:8px}.ui-field .mat-mdc-form-field .options .options-container ui-button.password{width:24px!important}.ui-field .mat-mdc-form-field .options .options-container ui-button.password .button-wrapper .button-container button,.ui-field .mat-mdc-form-field .options .options-container ui-button.password .button-wrapper .button-container span{width:24px!important;height:24px!important}.ui-field .mat-mdc-form-field .options .options-container ui-icon.valid mat-icon{background:#3c9a13;border-radius:100%}.ui-field .mat-mdc-form-field .options .options-container ui-icon.valid mat-icon svg{color:#fff!important}.ui-field .mat-mdc-form-field .options .options-container ui-button.validation svg circle{stroke:#d410aa}.ui-field .mat-mdc-form-field .options .options-container ui-button.validation *{color:#d410aa}.ui-field .mat-mdc-form-field .options .options-container ui-button,.ui-field .mat-mdc-form-field .options .options-container ui-icon{display:flex}.ui-field .mat-mdc-form-field .options .options-container ui-button svg,.ui-field .mat-mdc-form-field .options .options-container ui-icon svg{color:#888}.ui-field .mat-mdc-form-field .options ui-button button.secondary.only-icon{padding:0;height:auto;background:transparent}.ui-field .mat-mdc-form-field .options ui-button button.secondary.only-icon:hover,.ui-field .mat-mdc-form-field .options ui-button button.secondary.only-icon:focus{background:transparent;color:inherit;border:none;outline:none}.ui-field .mat-mdc-form-field.mat-form-field-disabled .mat-mdc-input-element,.ui-field .mat-mdc-form-field.mat-form-field-disabled .mdc-floating-label{pointer-events:none}.ui-field .mat-mdc-form-field.mat-form-field-disabled.mat-form-field-appearance-outline .mdc-notched-outline{color:#e0e0e0}.ui-field .mat-mdc-form-field.mat-form-field-disabled .options .options-container ui-button svg,.ui-field .mat-mdc-form-field.mat-form-field-disabled .options .options-container ui-icon svg{color:#e0e0e0}.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper{height:48px}.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper.mdc-text-field--disabled .mdc-notched-outline__notch label,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper.mdc-text-field--disabled .mdc-notched-outline__notch label{color:#e9e9e9!important}.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-floating-label.mdc-floating-label--float-above,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-floating-label.mdc-floating-label--float-above{color:#242424!important}.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper .mdc-notched-outline__leading,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper .mdc-notched-outline__leading{border-top-left-radius:10px;border-bottom-left-radius:10px}.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper .mdc-notched-outline__trailing,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper .mdc-notched-outline__trailing{border-top-right-radius:10px;border-bottom-right-radius:10px}.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper:hover .mat-mdc-form-field-icon-prefix svg,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper:hover .mat-mdc-form-field-icon-prefix svg{color:#242424!important}.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper:hover .password .icon-only-wrapper svg,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper:hover .password .icon-only-wrapper svg{color:#242424!important}.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper:hover .mat-mdc-form-field-flex .mat-mdc-floating-label:not(.mdc-floating-label--float-above),.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper:hover .mat-mdc-form-field-flex .mat-mdc-floating-label:not(.mdc-floating-label--float-above){top:21px!important}.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper:hover .mat-mdc-form-field-icon-prefix svg,.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper.mdc-text-field--focused .mat-mdc-form-field-icon-prefix svg,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper:hover .mat-mdc-form-field-icon-prefix svg,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper.mdc-text-field--focused .mat-mdc-form-field-icon-prefix svg{color:#242424!important}.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper:hover .mdc-notched-outline__leading,.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper:hover .mdc-notched-outline__notch,.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper:hover .mdc-notched-outline__trailing,.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper.mdc-text-field--focused .mdc-notched-outline__leading,.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper.mdc-text-field--focused .mdc-notched-outline__notch,.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper.mdc-text-field--focused .mdc-notched-outline__trailing,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper:hover .mdc-notched-outline__leading,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper:hover .mdc-notched-outline__notch,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper:hover .mdc-notched-outline__trailing,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper.mdc-text-field--focused .mdc-notched-outline__leading,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper.mdc-text-field--focused .mdc-notched-outline__notch,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper.mdc-text-field--focused .mdc-notched-outline__trailing{border-color:#242424!important}.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper:hover .mat-mdc-form-field-flex .mat-mdc-floating-label.mdc-floating-label--float-above,.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper.mdc-text-field--focused .mat-mdc-form-field-flex .mat-mdc-floating-label.mdc-floating-label--float-above,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper:hover .mat-mdc-form-field-flex .mat-mdc-floating-label.mdc-floating-label--float-above,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper.mdc-text-field--focused .mat-mdc-form-field-flex .mat-mdc-floating-label.mdc-floating-label--float-above{color:#242424!important}.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-form-field-hint.error,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-form-field-hint.error{color:#e02800!important}.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-form-field-hint.error svg,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-form-field-hint.error svg{color:#e02800!important}.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-form-field-flex .mat-mdc-floating-label.mdc-floating-label--float-above,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-form-field-flex .mat-mdc-floating-label.mdc-floating-label--float-above{color:#e02800!important}.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-text-field-wrapper .mdc-notched-outline__leading,.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-text-field-wrapper .mdc-notched-outline__notch,.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-text-field-wrapper .mdc-notched-outline__trailing,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-text-field-wrapper .mdc-notched-outline__leading,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-text-field-wrapper .mdc-notched-outline__notch,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-text-field-wrapper .mdc-notched-outline__trailing{border-color:#e02800!important}.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-text-field-wrapper:hover .mat-mdc-form-field-icon-prefix svg,.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-text-field-wrapper.mdc-text-field--focused .mat-mdc-form-field-icon-prefix svg,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-text-field-wrapper:hover .mat-mdc-form-field-icon-prefix svg,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-text-field-wrapper.mdc-text-field--focused .mat-mdc-form-field-icon-prefix svg{color:#e02800!important}.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-text-field-wrapper:hover .mdc-notched-outline__leading,.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-text-field-wrapper:hover .mdc-notched-outline__notch,.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-text-field-wrapper:hover .mdc-notched-outline__trailing,.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-text-field-wrapper.mdc-text-field--focused .mdc-notched-outline__leading,.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-text-field-wrapper.mdc-text-field--focused .mdc-notched-outline__notch,.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-text-field-wrapper.mdc-text-field--focused .mdc-notched-outline__trailing,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-text-field-wrapper:hover .mdc-notched-outline__leading,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-text-field-wrapper:hover .mdc-notched-outline__notch,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-text-field-wrapper:hover .mdc-notched-outline__trailing,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-text-field-wrapper.mdc-text-field--focused .mdc-notched-outline__leading,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-text-field-wrapper.mdc-text-field--focused .mdc-notched-outline__notch,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-text-field-wrapper.mdc-text-field--focused .mdc-notched-outline__trailing{border-color:#e02800!important}.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-text-field-wrapper:hover .mat-mdc-form-field-flex .mat-mdc-floating-label.mdc-floating-label--float-above,.ui-field[theme=dark] .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-text-field-wrapper.mdc-text-field--focused .mat-mdc-form-field-flex .mat-mdc-floating-label.mdc-floating-label--float-above,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-text-field-wrapper:hover .mat-mdc-form-field-flex .mat-mdc-floating-label.mdc-floating-label--float-above,.ui-field[theme=light] .mat-mdc-form-field.mat-form-field-appearance-outline.mat-warn .mat-mdc-text-field-wrapper.mdc-text-field--focused .mat-mdc-form-field-flex .mat-mdc-floating-label.mdc-floating-label--float-above{color:#e02800!important}.ui-field .mat-mdc-form-field.text-area-borderless.mat-mdc-form-field-type-mat-input.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper .mdc-notched-outline__leading,.ui-field .mat-mdc-form-field.text-area-borderless.mat-mdc-form-field-type-mat-input.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper .mdc-notched-outline__trailing,.ui-field .mat-mdc-form-field.text-area-borderless.mat-mdc-form-field-type-mat-input.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper .mdc-notched-outline__notch{border-color:transparent!important}.ui-field .mat-mdc-form-field.text-area-borderless.mat-mdc-form-field-type-mat-input.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper .mdc-floating-label{color:#919191!important}.ui-field .mat-mdc-form-field.text-area-borderless.mat-mdc-form-field-type-mat-input.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper .mat-mdc-input-element{color:#242424}.ui-field .mat-mdc-form-field.text-area-borderless.mat-mdc-form-field-type-mat-input.mat-form-field-appearance-outline .mat-mdc-form-field-infix{padding:12px 0!important}.ui-field .mat-mdc-form-field.text-area-borderless.mat-mdc-form-field-type-mat-input.mat-form-field-appearance-outline .mdc-floating-label--float-above{display:none!important}.ui-field .mat-mdc-form-field.text-area-borderless.mat-mdc-form-field-type-mat-input.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper{border-radius:0!important}.ui-field .field-badge{position:absolute;left:-27px;top:-10px;z-index:1}\n"] }]
445
- }], ctorParameters: () => [{ type: undefined, decorators: [{
446
- type: Optional
447
- }, {
448
- type: Inject,
449
- args: ['CANOPYUI_DEFAULT_APPLICATION_THEME']
450
- }] }, { type: i1.MatIconRegistry }, { type: i2.DomSanitizer }, { type: i0.ChangeDetectorRef }, { type: i3.NgControl, decorators: [{
451
- type: Optional
452
- }, {
453
- type: Self
454
- }] }, { type: i4.FocusMonitor }, { type: i0.NgZone }, { type: i0.DestroyRef }], propDecorators: { class: [{
455
- type: HostBinding
456
- }], fullWidth: [{
457
- type: HostBinding,
458
- args: ['class.full-width']
459
- }, {
460
- type: Input
461
- }], label: [{
462
- type: Input
463
- }], labelIcon: [{
464
- type: Input
465
- }], fieldName: [{
466
- type: Input
467
- }], placeholder: [{
468
- type: Input
469
- }], value: [{
470
- type: Input
471
- }], badgeVariant: [{
472
- type: Input
473
- }], errors: [{
474
- type: Input
475
- }], disabled: [{
476
- type: Input
477
- }], required: [{
478
- type: Input
479
- }], readOnly: [{
480
- type: Input
481
- }], hintMessage: [{
482
- type: Input
483
- }], type: [{
484
- type: HostBinding,
485
- args: ['attr.field-class']
486
- }, {
487
- type: Input
488
- }], updateOnBlur: [{
489
- type: Input
490
- }], allowOnlyDigits: [{
491
- type: Input
492
- }], allowNegative: [{
493
- type: Input
494
- }], showBottomContent: [{
495
- type: Input
496
- }], applicationTheme: [{
497
- type: HostBinding,
498
- args: ['attr.theme']
499
- }, {
500
- type: Input
501
- }], ariaLabel: [{
502
- type: Input
503
- }], loading: [{
504
- type: Input
505
- }], isValid: [{
506
- type: Input
507
- }], maxCharacters: [{
508
- type: Input
509
- }], trimOnBlur: [{
510
- type: Input
511
- }], trimOnSubmit: [{
512
- type: Input
513
- }], maxRows: [{
514
- type: Input
515
- }], hasTextAreaCounter: [{
516
- type: Input
517
- }], hideBuiltInErrors: [{
518
- type: Input
519
- }], hideLabelInErrors: [{
520
- type: Input
521
- }], max: [{
522
- type: Input
523
- }], min: [{
524
- type: Input
525
- }], textareaHeight: [{
526
- type: Input
527
- }], borderless: [{
528
- type: Input
529
- }], isAIVariant: [{
530
- type: Input
531
- }], hasError: [{
532
- type: Input
533
- }], validateEvent: [{
534
- type: Output
535
- }], fieldBlur: [{
536
- type: Output
537
- }], field: [{
538
- type: ViewChild,
539
- args: ['inputElement', { read: ElementRef }]
540
- }], autosize: [{
541
- type: ViewChild,
542
- args: ['autosize']
543
- }] } });
544
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGdvLWNhbm9weS11aS9jb21wb25lbnRzL2ZpZWxkL2ZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9maWVsZC9maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBRUwsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxRQUFRLEVBR1IsVUFBVSxFQUNWLFlBQVksRUFDWixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFDTCxLQUFLLEVBR0wsUUFBUSxFQUNSLE1BQU0sRUFDTixJQUFJLEVBQ0osTUFBTSxFQUNOLFNBQVMsRUFDVCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBVWhFOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLENBQUMsSUFBSSxPQUFPLEdBQUcsQ0FBQyxDQUFDO0FBU3ZCLE1BQU0sT0FBTyxjQUFjO0lBK0V6Qjs7Ozs7T0FLRztJQUNILElBQWEsTUFBTSxDQUFDLE1BQWdCO1FBQ2xDLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDdEcsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDN0MsQ0FBQztJQXdQRCxJQUFJLGVBQWU7UUFDakIsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDeEMsT0FBTyxJQUFJLENB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QUM5QixLQUFLO2dCQVNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBUUcsZUFBZTtzQkFBdkIsS0FBSztnQkFRRyxhQUFhO3NCQUFyQixLQUFLO2dCQVFHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFXTixnQkFBZ0I7c0JBRmYsV0FBVzt1QkFBQyxZQUFZOztzQkFDeEIsS0FBSztnQkFTRyxTQUFTO3NCQUFqQixLQUFLO2dCQVFHLE9BQU87c0JBQWYsS0FBSztnQkFRRyxPQUFPO3NCQUFmLEtBQUs7Z0JBUUcsYUFBYTtzQkFBckIsS0FBSztnQkFRRyxVQUFVO3NCQUFsQixLQUFLO2dCQU9HLFlBQVk7c0JBQXBCLEtBQUs7Z0JBT0csT0FBTztzQkFBZixLQUFLO2dCQU9HLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFRRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBUUcsaUJBQWlCO3NCQUF6QixLQUFLO2dCQVFHLEdBQUc7c0JBQVgsS0FBSztnQkFRRyxHQUFHO3NCQUFYLEtBQUs7Z0JBUUcsY0FBYztzQkFBdEIsS0FBSztnQkFRRyxVQUFVO3NCQUFsQixLQUFLO2dCQVFHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBc0NHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUksYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNO2dCQUUwQyxLQUFLO3NCQUFyRCxTQUFTO3VCQUFDLGNBQWMsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBQ3hCLFFBQVE7c0JBQTlCLFNBQVM7dUJBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXVuZGVyc2NvcmUtZGFuZ2xlICovXG5pbXBvcnQgeyBGb2N1c01vbml0b3IgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgY29tcHV0ZWQsXG4gIERlc3Ryb3lSZWYsXG4gIERvQ2hlY2ssXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIEluamVjdCxcbiAgaW5wdXQsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbiAgU2VsZixcbiAgc2lnbmFsLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOZ0NvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRJY29uUmVnaXN0cnkgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IENka1RleHRhcmVhQXV0b3NpemUgfSBmcm9tICdAYW5ndWxhci9jZGsvdGV4dC1maWVsZCc7XG5pbXBvcnQgeyBGaWVsZFR5cGUgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2ZpZWxkL2ZpZWxkLm1vZGVsJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uVGhlbWUgfSBmcm9tICcuLi8uLi9tb2RlbHMvYXBwbGljYXRpb24tdGhlbWUubW9kZWwnO1xuaW1wb3J0IHsgQmFkZ2VWYXJpYW50IH0gZnJvbSAnLi4vYmFkZ2UvYmFkZ2UubW9kZWwnO1xuaW1wb3J0IHsgSWNvbk5hbWUgfSBmcm9tICcuLi9pY29uL2ljb24ubW9kZWwnO1xuXG4vKipcbiAqIEEgZ2xvYmFsIGNvdW50ZXIgdXNlZCB0byBnZW5lcmF0ZSB1bmlxdWUgZmllbGQgSURzLlxuICogVGhpcyB2YXJpYWJsZSBpcyBpbmNyZW1lbnRlZCBlYWNoIHRpbWUgYSBuZXcgZmllbGQgSUQgaXMgbmVlZGVkLlxuICpcbiAqIEByZW1hcmtzXG4gKiBUaGlzIGlzIHByaW1hcmlseSB1c2VkIHRvIGVuc3VyZSB0aGF0IGVhY2ggZmllbGQgY29tcG9uZW50XG4gKiBoYXMgYSB1bmlxdWUgaWRlbnRpZmllciB3aXRoaW4gdGhlIGFwcGxpY2F0aW9uIC8gdXNlZnVsIGZvciB0aGVpciBBcmlhIExhYmVscy5cbiAqL1xuZXhwb3J0IGxldCBmaWVsZElEID0gMDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndWktZmllbGQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZmllbGQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9maWVsZC5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRmllbGRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBEb0NoZWNrLCBBZnRlclZpZXdJbml0IHtcbiAgQEhvc3RCaW5kaW5nKCkgY2xhc3MgPSAndWktZmllbGQnO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0b3Igb2YgdGhlIGF1dG9jb21wbGV0ZSB3aWR0aFxuICAgKlxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICogQG1lbWJlcm9mIEZpZWxkQ29tcG9uZW50XG4gICAqL1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZ1bGwtd2lkdGgnKVxuICBASW5wdXQoKVxuICBmdWxsV2lkdGggPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBGb3JtIGZpZWxkIGxhYmVsXG4gICAqXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqIEBtZW1iZXJvZiBGaWVsZENvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgbGFiZWw/ID0gJyc7XG5cbiAgLyoqXG4gICAqIEZvcm0gZmllbGQgbGFiZWwgZnJvbSBodG1sXG4gICAqXG4gICAqIEBtZW1iZXJvZiBGaWVsZENvbXBvbmVudFxuICAgKi9cbiAgbGFiZWxIdG1sID0gaW5wdXQobnVsbCwge1xuICAgIHRyYW5zZm9ybTogKHZhbHVlOiBzdHJpbmcpID0+IHRoaXMuZG9tU2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHZhbHVlKVxuICB9KTtcblxuICAvKipcbiAgICogSWNvbiB0byBkaXNwbGF5IGFsb25nc2lkZSB0aGUgbGFiZWxcbiAgICpcbiAgICogQHR5cGUge0ljb25OYW1lfVxuICAgKiBAbWVtYmVyb2YgRmllbGRDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGxhYmVsSWNvbj86IEljb25OYW1lO1xuXG4gIC8qKlxuICAgKiBJbnB1dCBuYW1lIGF0dHJpYnV0ZVxuICAgKlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgRmllbGRDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGZpZWxkTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogSW5wdXQgcGxhY2Vob2xkZXJcbiAgICpcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIEZpZWxkQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBwbGFjZWhvbGRlcj8gPSAnJztcblxuICAvKipcbiAgICogSW5wdXQgaWRcbiAgICpcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIEZpZWxkQ29tcG9uZW50XG4gICAqL1xuICBpZCA9IGlucHV0KGBmaWVsZC0ke2ZpZWxkSUQrK31gKTtcblxuICAvKipcbiAgICogSW5wdXQgdmFsdWVcbiAgICpcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIEZpZWxkQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSB2YWx1ZSA9ICcnO1xuXG4gIC8qKlxuICAgKiBWYXJpYW50IG9mIGJhZGdlIHRvIHVzZVxuICAgKlxuICAgKiBAdHlwZSB7QmFkZ2VWYXJpYW50fVxuICAgKiBAbWVtYmVyb2YgRmllbGRDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGJhZGdlVmFyaWFudD86IEJhZGdlVmFyaWFudCB8IHVuZGVmaW5lZDtcblxuICBfZXJyb3JzOiBTYWZlSHRtbFtdO1xuICAvKipcbiAgICogSW5wdXQgZmllbGQgZXJyb3JzXG4gICAqXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqIEBtZW1iZXJvZiBGaWVsZENvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgc2V0IGVycm9ycyhlcnJvcnM6IHN0cmluZ1tdKSB7XG4gICAgdGhpcy5fZXJyb3JzID0gZXJyb3JzPy5maWx0ZXIoQm9vbGVhbikubWFwKGVycm9yID0+IHRoaXMuZG9tU2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKGVycm9yKSk7XG4gICAgdGhpcy5lcnJvcnNMZW5ndGggPSB0aGlzLnNldEVycm9yc0xlbmd0aCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgaWYgaW5wdXQgaXMgZGlzYWJsZWRcbiAgICpcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBtZW1iZXJvZiBGaWVsZENvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIElucHV0IGlzIHJlcXVpcmVkIG9yIG5vdFxuICAgKlxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICogQG1lbWJlcm9mIEZpZWxkQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSByZXF1aXJlZDogYm9vbGVhbjtcblxuICAvKipcbiAgICogSW5wdXQgaXMgcmVhZG9ubHkgb3Igbm90XG4gICAqXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKiBAbWVtYmVyb2YgRmllbGRDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIHJlYWRPbmx5ID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEhpbnQgdGV4dFxuICAgKlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgRmllbGRDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGhpbnRNZXNzYWdlID0gJyc7XG5cbiAgLyoqXG4gICAqIElucHV0IHR5cGVcbiAgICpcbiAgICogQHR5cGUge0ZpZWxkVHlwZX1cbiAgICogQG1lbWJlcm9mIEZpZWxkQ29tcG9uZW50XG4gICAqL1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuZmllbGQtY2xhc3MnKVxuICBASW5wdXQoKVxuICB0eXBlOiBGaWVsZFR5cGUgPSAndGV4dCc7XG5cbiAgLyoqXG4gICAqIElucHV0IGlzIHVwZGF0ZSBvbmx5IG9uIGJsdXJcbiAgICpcbiAgICogQHR5cGUge0Jvb2xlYW59XG4gICAqIEBtZW1iZXJvZiBGaWVsZENvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgdXBkYXRlT25CbHVyID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIGFsbG93IG9ubHkgZGlnaXRzIGluIGlucHV0XG4gICAqXG4gICAqIEB0eXBlIHtCb29sZWFufVxuICAgKiBAbWVtYmVyb2YgRmllbGRDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGFsbG93T25seURpZ2l0cyA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBhbGxvdyBuZWdhdGl2ZSBudW1iZXJzXG4gICAqXG4gICAqIEB0eXBlIHtCb29sZWFufVxuICAgKiBAbWVtYmVyb2YgRmllbGRDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGFsbG93TmVnYXRpdmUgPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBTaG93IHJlc2VydmVkIGNvbnRlbnQgYmVsb3cgZm9ybSBmaWVsZFxuICAgKiBAcHJvcGVydHkgc2hvd0JvdHRvbUNvbnRlbnRcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBtZW1iZXJvZiBGaWVsZENvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgc2hvd0JvdHRvbUNvbnRlbnQgPSB0cnVlO1xuXG4gIC8qKlxuICAgKlxuICAgKiBEZWZpbmVzIHRoZSBhcHBsaWNhdGlvbiB0aGVtZVxuICAgKlxuICAgKiBAdHlwZSB7QXBwbGljYXRpb25UaGVtZX1cbiAgICogQG1lbWJlcm9mIEZpZWxkQ29tcG9uZW50XG4gICAqL1xuICBASG9zdEJpbmRpbmcoJ2F0dHIudGhlbWUnKVxuICBASW5wdXQoKVxuICBhcHBsaWNhdGlvblRoZW1lOiBBcHBsaWNhdGlvblRoZW1lID0gJ2xpZ2h0JztcblxuICAvKipcbiAgICogQSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBBUklBIGxhYmVsIGZvciBhY2Nlc3NpYmlsaXR5LlxuICAgKiBUaGlzIGxhYmVsIGlzIHVzZWQgdG8gcHJvdmlkZSBhbiBhY2Nlc3NpYmxlIG5hbWUgZm9yIHRoZSBpbnB1dCBlbGVtZW50LlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgRmllbGRDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGFyaWFMYWJlbDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTaG93IGxvYWRpbmcgYnV0dG9uLiBPbmx5IGZvciB0ZXh0XG4gICAqXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKiBAbWVtYmVyb2YgRmllbGRDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGxvYWRpbmcgPSBmYWxzZTtcblxuICAvKipcbiAgICogU2hvdyBpY29uIHdoZW4gZmllbGQgaXMgdmFsaWRcbiAgICpcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBtZW1iZXJvZiBGaWVsZENvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgaXNWYWxpZCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBNYXggY2hhcmFjdGVycyBudW1iZXJcbiAgICpcbiAgICogQHR5cGUge251bWJlcn1cbiAgICogQG1lbWJlcm9mIEZpZWxkQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBtYXhDaGFyYWN0ZXJzID0gMjU1O1xuXG4gIC8qKlxuICAgKiBUcmltIHRleHQgb24gYmx1clxuICAgKlxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICogQG1lbWJlcm9mIEZpZWxkQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSB0cmltT25CbHVyID0gZmFsc2U7XG4gIC8qKlxuICAgKiBUcmltIHRleHQgb24gc3VibWl0XG4gICAqXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKiBAbWVtYmVyb2YgRmllbGRDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIHRyaW1PblN1Ym1pdCA9IGZhbHNlO1xuICAvKipcbiAgICogTWF4IHJvd3MgZm9yIG11bHRpLWxpbmUgdHlwZVxuICAgKlxuICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgKiBAbWVtYmVyb2YgRmllbGRDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIG1heFJvd3MgPSAwO1xuICAvKipcbiAgICogaGFzIHRleHQgYXJlYSBjb3VudGVyXG4gICAqXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKiBAbWVtYmVyb2YgRmllbGRDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGhhc1RleHRBcmVhQ291bnRlciA9IHRydWU7XG5cbiAgLyoqXG4gICAqIEhpZGUgaW4gYnVpbGQgZXJyb3JzIGZvciBSZWFjdGl2ZSBGb3Jtc1xuICAgKlxuICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgKiBAbWVtYmVyb2YgRmllbGRDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGhpZGVCdWlsdEluRXJyb3JzID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEhpZGUgbGFiZWwgaW4gZXJyb3JzXG4gICAqXG4gICAqIEB0eXBlIHtudW1iZXJ9XG4gICAqIEBtZW1iZXJvZiBGaWVsZENvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgaGlkZUxhYmVsSW5FcnJvcnMgPSBmYWxzZTtcblxuICAvKipcbiAgICogU2V0IG1heGltdW0gbnVtYmVyXG4gICAqXG4gICAqIEB0eXBlIHtudW1iZXJ9XG4gICAqIEBtZW1iZXJvZiBGaWVsZENvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgbWF4OiBudW1iZXIgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFNldCBtaW5pbXVtIG51bWJlclxuICAgKlxuICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgKiBAbWVtYmVyb2YgRmllbGRDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIG1pbjogbnVtYmVyIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBTZXRzIHRleHRhcmVhIGhlaWdodC4gRGVmYXVsdCAxMTBcbiAgICpcbiAgICogQHR5cGUge251bWJlcn1cbiAgICogQG1lbWJlcm9mIEZpZWxkQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSB0ZXh0YXJlYUhlaWdodCA9IDExMDtcblxuICAvKipcbiAgICogU2V0cyB0ZXh0YXJlYSBib3JkZXJsZXNzLiBEZWZhdWx0IGZhbHNlXG4gICAqXG4gICAqIEB0eXBlIHtudW1iZXJ9XG4gICAqIEBtZW1iZXJvZiBGaWVsZENvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgYm9yZGVybGVzcyA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhpcyBmaWVsZCBpcyBmaWxsZWQgYnkgQUlcbiAgICpcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBtZW1iZXJvZiBGaWVsZENvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgaXNBSVZhcmlhbnQgPSBmYWxzZTtcblxuICAvKipcbiAgICogQSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBBUklBIHJlcXVpcmVtZW50IGZvciBhY2Nlc3NpYmlsaXR5LlxuICAgKiBUaGlzIGF0dHJpYnV0ZSBpcyB1c2VkIGZvciBpbnB1dCBmaWVsZCBBcmlhIExhYmVsZWQgQnkgRWxlbWVudCBJZC5cbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIEZpZWxkQ29tcG9uZW50XG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgYXJpYUxhYmVsbGVkYnlJZCA9IGNvbXB1dGVkKCgpID0+IGAke3RoaXMuaWQoKX0tbGFiZWxlZEJ5YCk7XG5cbiAgLyoqXG4gICAqIEEgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgQVJJQSByZXF1aXJlbWVudCBmb3IgYWNjZXNzaWJpbGl0eS5cbiAgICogVGhpcyBhdHRyaWJ1dGUgaXMgdXNlZCBmb3IgaW5wdXQgZmllbGQgQXJpYSBMYWJlbGVkQnkgVGV4dC5cbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIEZpZWxkQ29tcG9uZW50XG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgYXJpYUxhYmVsbGVkYnkgPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIC8qKlxuICAgKiBBIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIEFSSUEgcmVxdWlyZW1lbnQgZm9yIGFjY2Vzc2liaWxpdHkuXG4gICAqIFRoaXMgYXR0cmlidXRlIGlzIHVzZWQgZm9yIGlucHV0IGZpZWxkIEFyaWEgRGVzY3JpYmVkIEJ5IEVsZW1lbnQgSWQuXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqIEBtZW1iZXJvZiBGaWVsZENvbXBvbmVudFxuICAgKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGFyaWFEZXNjcmliZWRieUlkID0gY29tcHV0ZWQoKCkgPT4gYCR7dGhpcy5pZCgpfS1kZXNjcmliZWRCeWApO1xuXG4gIC8qKlxuICAgKiBBIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIEFSSUEgcmVxdWlyZW1lbnQgZm9yIGFjY2Vzc2liaWxpdHkuXG4gICAqIFRoaXMgYXR0cmlidXRlIGlzIHVzZWQgZm9yIGlucHV0IGZpZWxkIEFyaWEgRGVzY3JpYmVkQnkgVGV4dC5cbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIEZpZWxkQ29tcG9uZW50XG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgYXJpYURlc2NyaWJlZGJ5ID0gaW5wdXQ8c3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG4gIC8qKlxuICAgKiBTaG93IHN0YXRlIG9mIGVycm9yXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKiBAbWVtYmVyb2YgRmllbGRDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGhhc0Vycm9yID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpIHZhbGlkYXRlRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQE91dHB1dCgpIGZpZWxkQmx1ciA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBAVmlld0NoaWxkKCdpbnB1dEVsZW1lbnQnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSkgZmllbGQ6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG4gIEBWaWV3Q2hpbGQoJ2F1dG9zaXplJykgYXV0b3NpemU6IENka1RleHRhcmVhQXV0b3NpemU7XG5cbiAgZ2V0IGdldFBhc3N3b3JkSWNvbigpOiBJY29uTmFtZSB7XG4gICAgaWYgKHRoaXMuYXBwbGljYXRpb25UaGVtZSA9PT0gJ2NsYXNzaWMnKSB7XG4gICAgICByZXR1cm4gdGhpcy5zaG93UGFzc3dvcmQgPyAnRXllLWhpZGUnIDogJ0V5ZS12aWV3JztcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKCF0aGlzLmlzQWN0aXZlRmllbGQgJiYgIXRoaXMuaXNBY3RpdmVIb3Zlcikge1xuICAgICAgICByZXR1cm4gdGhpcy5zaG93UGFzc3dvcmQgPyAnVmlldy1pbi1saW5lJyA6ICdIaWRlLWluLWxpbmUnO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2hvd1Bhc3N3b3JkID8gJ1ZpZXctZmlsbGVkJyA6ICdIaWRlLWZpbGxlZCc7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaXNBY3RpdmVGaWVsZCA9IGZhbHNlO1xuICBpc0FjdGl2ZUhvdmVyID0gZmFsc2U7XG5cbiAga2V5Ym9hcmRGb2N1c2VkID0gc2lnbmFsKGZhbHNlKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdHJhbnNsYXRpb25Db250ZXh0ID0gJ0ZJRUxELic7XG5cbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIG9uQ2hhbmdlID0gKF86IGFueSkgPT4ge307XG5cbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIG9uVG91Y2ggPSAoKSA9PiB7fTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KCdDQU5PUFlVSV9ERUZBVUxUX0FQUExJQ0FUSU9OX1RIRU1FJykgcHJpdmF0ZSByZWFkb25seSBkZWZhdWx0QXBwVGhlbWU6IEFwcGxpY2F0aW9uVGhlbWUsXG4gICAgcHJpdmF0ZSBtYXRJY29uUmVnaXN0cnk6IE1hdEljb25SZWdpc3RyeSxcbiAgICBwcml2YXRlIGRvbVNhbml0aXplcjogRG9tU2FuaXRpemVyLFxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBAT3B0aW9uYWwoKSBAU2VsZigpIHB1YmxpYyBuZ0NvbnRyb2w6IE5nQ29udHJvbCxcbiAgICBwcml2YXRlIGZvY3VzTW9uaXRvcjogRm9jdXNNb25pdG9yLFxuICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXG4gICAgcHJpdmF0ZSBkZXN0cm95UmVmOiBEZXN0cm95UmVmXG4gICkge1xuICAgIGlmIChkZWZhdWx0QXBwVGhlbWUpIHtcbiAgICAgIHRoaXMuYXBwbGljYXRpb25UaGVtZSA9IGRlZmF1bHRBcHBUaGVtZTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5uZ0NvbnRyb2wgIT0gbnVsbCkge1xuICAgICAgdGhpcy5uZ0NvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZm9jdXNNb25pdG9yXG4gICAgICAubW9uaXRvcih0aGlzLmZpZWxkKVxuICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXG4gICAgICAuc3Vic2NyaWJlKG9yaWdpbiA9PlxuICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgIHRoaXMua2V5Ym9hcmRGb2N1c2VkLnNldChvcmlnaW4gPT09ICdrZXlib2FyZCcpO1xuICAgICAgICB9KVxuICAgICAgKTtcblxuICAgIGlmICh0aGlzLnR5cGUgPT09ICdtdWx0aS1saW5lJykge1xuICAgICAgdGhpcy5hdXRvc2l6ZS5yZXNpemVUb0ZpdENvbnRlbnQodHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFVzZWQgdG8gbWFyayBjb21wb25lbnQgdmlldyBhcyBkaXJ0eSB3aGVuIHRvdWNoZWQgcHJvZ3JhbW1hdGljYWxseSB3aXRoIG1hcmtBc1RvdWNoZWQvbWFya0FsbEFzVG91Y2hlZCBvciBlcnJvcnNcbiAgICogdG8gZGlzcGxheSB2YWxpZGF0aW9uIGVycm9ycyB0aGF0IG1pZ2h0IGhhcHBlbiAoZS5nLiByZXF1aXJlZClcbiAgICovXG4gIG5nRG9DaGVjaygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5uZ0NvbnRyb2w/LnRvdWNoZWQgfHwgdGhpcy5uZ0NvbnRyb2w/LmVycm9ycykge1xuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgc2hvd0Nsb3NlOiBib29sZWFuO1xuICBzaG93UGFzc3dvcmQ6IGJvb2xlYW47XG4gIGN1cnJlbnRUeXBlOiBzdHJpbmc7XG4gIGVycm9yc0xlbmd0aDogYm9vbGVhbjtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNldFNlYXJjaElucHV0KCk7XG4gICAgdGhpcy5jdXJyZW50VHlwZSA9IHRoaXMuZ2V0VHlwZSgpO1xuICB9XG5cbiAgdmFsaWRhdGUoKTogdm9pZCB7XG4gICAgdGhpcy52YWxpZGF0ZUV2ZW50LmVtaXQodGhpcy52YWx1ZSk7XG4gIH1cblxuICAvL3NldCBzZWFyY2ggaW5wdXQgaW5pdGlhbCB2YWx1ZVxuICBzZXRTZWFyY2hJbnB1dCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy50eXBlID09PSAnc2VhcmNoJyB8fCB0aGlzLnR5cGUgPT09ICdjb2xsYXBzZWQtc2VhcmNoJykge1xuICAgICAgdGhpcy5tYXRJY29uUmVnaXN0cnkuYWRkU3ZnSWNvbignU2VhcmNoJywgdGhpcy5kb21TYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFJlc291cmNlVXJsKCcvaWNvbnMvU2VhcmNoLnN2ZycpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zaG93Q2xvc2UgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICAvL2NoYW5nZSB0eXBlIGZvciByZXZlYWwgcGFzc3dvcmRcbiAgZ2V0VHlwZSgpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLnR5cGUgPT09ICdwYXNzd29yZCcgJiYgdGhpcy5zaG93UGFzc3dvcmQpIHtcbiAgICAgIHJldHVybiAndGV4dCc7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnR5cGU7XG4gIH1cblxuICAvL0NsZWFyIGlucHV0IHZhbHVlXG4gIGNsZWFyVmFsdWUoKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9ICcnO1xuICAgIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XG4gICAgdGhpcy5vbkNoYW5nZUlucHV0U2VhcmNoKCk7XG4gIH1cblxuICAvL3RvZ2dsZSBmb3IgcGFzc3dvcmRcbiAgc2hvd1Bhc3N3b3JkQ2xpY2soKSB7XG4gICAgdGhpcy5zaG93UGFzc3dvcmQgPSAhdGhpcy5zaG93UGFzc3dvcmQ7XG4gICAgdGhpcy5jdXJyZW50VHlwZSA9IHRoaXMuZ2V0VHlwZSgpO1xuICB9XG5cbiAgLy9TZXQgb3B0aW9ucyBmb3Igc2VhcmNoIGlucHV0XG4gIG9uQ2hhbmdlSW5wdXRTZWFyY2goKSB7XG4gICAgaWYgKHRoaXMudHlwZSA9PT0gJ3NlYXJjaCcgfHwgdGhpcy50eXBlID09PSAnY29sbGFwc2VkLXNlYXJjaCcpIHtcbiAgICAgIGlmICghdGhpcy52YWx1ZSkge1xuICAgICAgICB0aGlzLnNob3dDbG9zZSA9IGZhbHNlO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMudmFsdWUpIHtcbiAgICAgICAgdGhpcy5zaG93Q2xvc2UgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFNldCBlcnJvcnMgbGVuZ3RoIGZvciB2YWxpZGF0aW9uXG4gIC8vIENvbnNpZGVyIG9ubHkgdGhvc2UgZXJyb3JzIHdoaWNoIHdoaWNoIGFyZSBub3QgZW1wdHlcbiAgc2V0RXJyb3JzTGVuZ3RoKCk6IGJvb2xlYW4ge1xuICAgIGlmICghIXRoaXMuX2Vycm9ycykge1xuICAgICAgcmV0dXJuIHRoaXMuX2Vycm9ycy5maWx0ZXIoZXJyID0+ICEhZXJyKS5sZW5ndGggPiAwID8gdHJ1ZSA6IGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvL1NhdmUgaW5wdXQgdmFsdWVcbiAgb25JbnB1dChldmVudDogYW55KSB7XG4gICAgdGhpcy52YWx1ZSA9IGV2ZW50LnRhcmdldC52YWx1ZTtcbiAgICB0aGlzLmVycm9yc0xlbmd0aCA9IHRoaXMuc2V0RXJyb3JzTGVuZ3RoKCk7XG4gICAgaWYgKCF0aGlzLnVwZGF0ZU9uQmx1cikge1xuICAgICAgdGhpcy5vblRvdWNoKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLmFsbG93T25seURpZ2l0cyAmJiAhdGhpcy5hbGxvd05lZ2F0aXZlICYmICt0aGlzLnZhbHVlIDwgMCkge1xuICAgICAgdGhpcy52YWx1ZSA9ICcwJztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLnR5cGUgPT09ICdudW1iZXInID8gK3RoaXMudmFsdWUgOiB0aGlzLnZhbHVlKTtcbiAgICB9XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlPzogYW55KTogdm9pZCB7XG4gICAgaWYgKHZhbHVlICE9PSBudWxsICYmIHZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy52YWx1ZSA9ICcnO1xuICAgIH1cbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2ggPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgb25BY3RpdmUoc3RhdGU6IGJvb2xlYW4sIGFjdGlvbjogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKGFjdGlvbiA9PT0gJ2hvdmVyJykge1xuICAgICAgdGhpcy5pc0FjdGl2ZUhvdmVyID0gc3RhdGU7XG4gICAgfSBlbHNlIGlmIChhY3Rpb24gPT09ICdmb2N1cycpIHtcbiAgICAgIHRoaXMuaXNBY3RpdmVGaWVsZCA9IHN0YXRlO1xuXG4gICAgICBpZiAoIXN0YXRlICYmIHRoaXMudHJpbU9uQmx1cikge1xuICAgICAgICB0aGlzLmNsZWFyU3BhY2UoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBvblN1Ym1pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy50cmltT25TdWJtaXQpIHtcbiAgICAgIHRoaXMuY2xlYXJTcGFjZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY2xlYXJTcGFjZSgpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlID0gdGhpcy52YWx1ZS50cmltKCk7XG4gICAgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKTtcbiAgfVxuXG4gIG9uQmx1cigpOiB2b2lkIHtcbiAgICB0aGlzLmZpZWxkQmx1ci5lbWl0KCk7XG4gIH1cblxuICB0cmFja0J5Rm4gPSAoaW5kZXg6IG51bWJlciwgdmFsdWU6IGFueSkgPT4gdmFsdWUuY2hhbmdpbmdUaGlzQnJlYWtzQXBwbGljYXRpb25TZWN1cml0eTtcblxuICBmb2N1cygpOiB2b2lkIHtcbiAgICB0aGlzLmZpZWxkLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgfVxuXG4gIHJlZm9jdXNQYXNzd29yZEJ1dHRvbihidG46IGFueSkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgYnRuLmZvY3VzKCdrZXlib2FyZCcpO1xuICAgIH0sIDApO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyPlxuICA8bWF0LWZvcm0tZmllbGRcbiAgICBbbmdTdHlsZV09XCJ7XG4gICAgICAnLS10ZXh0YXJlYS1oZWlnaHQnOiB0ZXh0YXJlYUhlaWdodCAtIDEwICsgJ3B4JyxcbiAgICAgICctLXRleHRhcmVhLWhlaWdodC1jb250YWluZXInOiB0ZXh0YXJlYUhlaWdodCArICdweCcsXG4gICAgfVwiXG4gICAgI3VpRmllbGRcbiAgICBhcHBlYXJhbmNlPVwib3V0bGluZVwiXG4gICAgaGlkZVJlcXVpcmVkTWFya2VyPVwidHJ1ZVwiXG4gICAgW2NvbG9yXT1cImVycm9yc0xlbmd0aCB8fCAobmdDb250cm9sPy5lcnJvcnMgJiYgbmdDb250cm9sPy50b3VjaGVkKSB8fCBoYXNFcnJvciA/ICd3YXJuJyA6ICdhY2NlbnQnXCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAnaGlkZS1ib3R0b20tY29udGVudCc6ICFzaG93Qm90dG9tQ29udGVudCxcbiAgICAgIHRleHRhcmVhOiB0eXBlID09PSAndGV4dGFyZWEnLFxuICAgICAgJ211bHRpLWxpbmUnOiB0eXBlID09PSAnbXVsdGktbGluZScsXG4gICAgICAna2V5Ym9hcmQtZm9jdXNlZCc6IGtleWJvYXJkRm9jdXNlZCgpLFxuICAgICAgJ2hhcy1sYWJlbCc6ICEhbGFiZWwsXG4gICAgICAnaGFzLXZhbHVlJzogISF2YWx1ZSxcbiAgICAgICd0ZXh0LWFyZWEtYm9yZGVybGVzcyc6IHR5cGUgPT09ICd0ZXh0YXJlYScgJiYgYm9yZGVybGVzcyxcbiAgICB9XCJcbiAgICAobW91c2VlbnRlcik9XCJvbkFjdGl2ZSh0cnVlLCAnaG92ZXInKVwiXG4gICAgKG1vdXNlbGVhdmUpPVwib25BY3RpdmUoZmFsc2UsICdob3ZlcicpXCJcbiAgPlxuICAgIDxzcGFuIFtzdHlsZS5kaXNwbGF5XT1cIidub25lJ1wiIFtpZF09XCJhcmlhRGVzY3JpYmVkYnlJZCgpXCI+XG4gICAgICBAaWYgKHJlcXVpcmVkKSB7XG4gICAgICAgIDxzcGFuPnt7ICdFUlJPUlMuUkVRVUlSRUQnIHwgdWlUcmFuc2xhdGUgfCBhc3luYyB9fTwvc3Bhbj5cbiAgICAgIH1cbiAgICAgIHt7IGFyaWFEZXNjcmliZWRieSgpIH19XG4gICAgPC9zcGFuPlxuICAgIDxzcGFuIFtzdHlsZS5kaXNwbGF5XT1cIidub25lJ1wiIFtpZF09XCJhcmlhTGFiZWxsZWRieUlkKClcIj5cbiAgICAgIHt7IGFyaWFMYWJlbGxlZGJ5KCkgPz8gbGFiZWwgfX1cbiAgICA8L3NwYW4+XG4gICAgPG1hdC1sYWJlbFxuICAgICAgKm5nSWY9XCIobGFiZWwgfHwgbGFiZWxIdG1sKCkpICYmICgodHlwZSAhPT0gJ3NlYXJjaCcgJiYgYXBwbGljYXRpb25UaGVtZSA9PT0gJ2NsYXNzaWMnKSB8fCBhcHBsaWNhdGlvblRoZW1lICE9PSAnY2xhc3NpYycpXCJcbiAgICAgIGNsYXNzPVwibGFiZWwtd2l0aC1pY29uXCJcbiAgICA+XG4gICAgICBAaWYoaXNBSVZhcmlhbnQgfHwgbGFiZWxJY29uKSB7XG4gICAgICAgIDx1aS1pY29uXG4gICAgICAgICAgW25hbWVdPVwiaXNBSVZhcmlhbnQgPyAnU3BhcmtsZS1pbi1saW5lJyA6IGxhYmVsSWNvbiFcIlxuICAgICAgICAgIFtzaXplXT1cIicxNidcIlxuICAgICAgICAgIGNsYXNzPVwibGFiZWwtaWNvblwiXG4gICAgICAgID48L3VpLWljb24+XG4gICAgICB9XG4gICAgICA8c3Bhbj5cbiAgICAgICAgQGlmKGxhYmVsSHRtbCgpKSB7XG4gICAgICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJsYWJlbEh0bWwoKVwiPjwvc3Bhbj5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAge3sgbGFiZWwgfX1cbiAgICAgICAgfUBpZihyZXF1aXJlZCkgezxzcGFuPio8L3NwYW4+fVxuICAgICAgPC9zcGFuPlxuICAgIDwvbWF0LWxhYmVsPlxuICAgIDxtYXQtaWNvblxuICAgICAgKm5nSWY9XCJ0eXBlID09PSAnc2VhcmNoJyB8fCB0eXBlID09PSAnY29sbGFwc2VkLXNlYXJjaCdcIlxuICAgICAgbWF0SWNvblByZWZpeFxuICAgICAgY2xhc3M9XCJzZWFyY2gtaWNvblwiXG4gICAgICBbc3ZnSWNvbl09XCInU2VhcmNoJ1wiXG4gICAgPjwvbWF0LWljb24+XG4gICAgPGlucHV0XG4gICAgICBbcmVhZG9ubHldPVwicmVhZE9ubHlcIlxuICAgICAgKm5nSWY9XCJ0eXBlICE9PSAndGV4dGFyZWEnICYmIHR5cGUgIT09ICdtdWx0aS1saW5lJzsgZWxzZSB0ZXh0YXJlYVwiXG4gICAgICBtYXRJbnB1dFxuICAgICAgI2lucHV0RWxlbWVudFxuICAgICAgKGJsdXIpPVwib25Ub3VjaCgpOyBvbkFjdGl2ZShmYWxzZSwgJ2ZvY3VzJyk7IG9uQmx1cigpXCJcbiAgICAgIChpbnB1dCk9XCJvbklucHV0KCRldmVudClcIlxuICAgICAgW2lkXT1cImlkKClcIlxuICAgICAgKGtleXVwKT1cIm9uQ2hhbmdlSW5wdXRTZWFyY2goKVwiXG4gICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXIhXCJcbiAgICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgbG9hZGluZ1wiXG4gICAgICBbdHlwZV09XCJjdXJyZW50VHlwZVwiXG4gICAgICAoa2V5dXAuZW50ZXIpPVwib25TdWJtaXQoKVwiXG4gICAgICBbbWF4XT1cIm1heFwiXG4gICAgICBbbWluXT1cIm1pblwiXG4gICAgICBbbmFtZV09XCJmaWVsZE5hbWUhXCJcbiAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbFwiXG4gICAgICBbYXR0ci5hcmlhLWludmFsaWRdPVwiZXJyb3JzTGVuZ3RoIHx8IChuZ0NvbnRyb2w/LmVycm9ycyAmJiBuZ0NvbnRyb2w/LnRvdWNoZWQpIHx8IGhhc0Vycm9yXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJhcmlhTGFiZWxsZWRieUlkKClcIlxuICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJhcmlhRGVzY3JpYmVkYnlJZCgpXCJcbiAgICAgIHJvbGU9XCJ0ZXh0Ym94XCJcbiAgICAgIGRpZ2l0c09ubHlcbiAgICAgIFthbGxvd09ubHlEaWdpdHNdPVwiYWxsb3dPbmx5RGlnaXRzXCJcbiAgICAgIFthbGxvd05lZ2F0aXZlXT1cImFsbG93TmVnYXRpdmVcIlxuICAgICAgKGZvY3VzaW4pPVwib25BY3RpdmUodHJ1ZSwgJ2ZvY3VzJylcIlxuICAgIC8+XG5cbiAgICA8bmctdGVtcGxhdGUgI3RleHRhcmVhPlxuICAgICAgPHRleHRhcmVhXG4gICAgICAgIG1hdElucHV0XG4gICAgICAgICNpbnB1dEVsZW1lbnRcbiAgICAgICAgI2F1dG9zaXplPVwiY2RrVGV4dGFyZWFBdXRvc2l6ZVwiXG4gICAgICAgIFtyZWFkb25seV09XCJyZWFkT25seVwiXG4gICAgICAgIChibHVyKT1cIm9uVG91Y2goKTsgb25BY3RpdmUoZmFsc2UsICdmb2N1cycpOyBvbkJsdXIoKVwiXG4gICAgICAgIChpbnB1dCk9XCJvbklucHV0KCRldmVudClcIlxuICAgICAgICBbaWRdPVwiaWQoKVwiXG4gICAgICAgIChrZXl1cCk9XCJvbkNoYW5nZUlucHV0U2VhcmNoKClcIlxuICAgICAgICAoa2V5dXAuZW50ZXIpPVwib25TdWJtaXQoKVwiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlciFcIlxuICAgICAgICBbdmFsdWVdPVwidmFsdWVcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICBbdHlwZV09XCJjdXJyZW50VHlwZVwiXG4gICAgICAgIFtuYW1lXT1cImZpZWxkTmFtZSFcIlxuICAgICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIiFsYWJlbCA/IGFyaWFMYWJlbCA6ICcnXCJcbiAgICAgICAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cImVycm9yc0xlbmd0aCB8fCAobmdDb250cm9sPy5lcnJvcnMgJiYgbmdDb250cm9sPy50b3VjaGVkKSB8fCBoYXNFcnJvclwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJhcmlhTGFiZWxsZWRieUlkKClcIlxuICAgICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImFyaWFEZXNjcmliZWRieUlkKClcIlxuICAgICAgICByb2xlPVwidGV4dGJveFwiXG4gICAgICAgIFtjZGtUZXh0YXJlYUF1dG9zaXplXT1cInR5cGUgPT09ICdtdWx0aS1saW5lJ1wiXG4gICAgICAgIFtjZGtBdXRvc2l6ZU1pblJvd3NdPVwidHlwZSA9PT0gJ211bHRpLWxpbmUnID8gMSA6IDVcIlxuICAgICAgICBbY2RrQXV0b3NpemVNYXhSb3dzXT1cInR5cGUgPT09ICdtdWx0aS1saW5lJyA/IG1heFJvd3MgOiA1XCJcbiAgICAgICAgKGZvY3VzaW4pPVwib25BY3RpdmUodHJ1ZSwgJ2ZvY3VzJylcIlxuICAgICAgPjwvdGV4dGFyZWE+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgIDxkaXYgY2xhc3M9XCJvcHRpb25zXCIgKm5nSWY9XCJ0eXBlID09PSAnc2VhcmNoJyB8fCB0eXBlID09PSAnY29sbGFwc2VkLXNlYXJjaCcgfHwgdHlwZSA9PT0gJ3Bhc3N3b3JkJyB8fCB0eXBlID09PSAndmFsaWRhdGlvbi10ZXh0J1wiPlxuICAgICAgPGRpdiBjbGFzcz1cIm9wdGlvbnMtY29udGFpbmVyXCI+XG4gICAgICAgIDx1aS1idXR0b25cbiAgICAgICAgICAqbmdJZj1cInNob3dDbG9zZVwiXG4gICAgICAgICAgdmFyaWFudD1cInNlY29uZGFyeVwiXG4gICAgICAgICAgW2p1c3RJY29uXT1cInRydWVcIlxuICAgICAgICAgIGNsYXNzPVwiY2xvc2VcIlxuICAgICAgICAgIGljb25OYW1lPVwiQ2xvc2VcIlxuICAgICAgICAgIFtsYWJlbF09XCIoJ0NPTU1PTi5DTEVBUicgfCB1aVRyYW5zbGF0ZSB8IGFzeW5jKSFcIlxuICAgICAgICAgIChidXR0b25DbGlja0V2ZW50KT1cImNsZWFyVmFsdWUoKVwiXG4gICAgICAgICAgW2FyaWFMYWJlbF09XCJhcmlhTGFiZWwgKyAnLS0nICsgKCdDT01NT04uQ0xFQVInIHwgdWlUcmFuc2xhdGUgfCBhc3luYylcIlxuICAgICAgICA+PC91aS1idXR0b24+XG4gICAgICAgIDx1aS1idXR0b25cbiAgICAgICAgICBjbGFzcz1cInBhc3N3b3JkXCJcbiAgICAgICAgICB2YXJpYW50PVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICBbdG9vbHRpcF09XCIoKHNob3dQYXNzd29yZCA/ICdGSUVMRC5ISURFX1BBU1NXT1JEJyA6ICdGSUVMRC5TSE9XX1BBU1NXT1JEJykgfCB1aVRyYW5zbGF0ZSB8IGFzeW5jKSFcIlxuICAgICAgICAgICpuZ0lmPVwidHlwZSA9PT0gJ3Bhc3N3b3JkJ1wiXG4gICAgICAgICAgW2p1c3RJY29uXT1cInRydWVcIlxuICAgICAgICAgIHJvbGU9XCJzd2l0Y2hcIlxuICAgICAgICAgIFthdHRyLmFyaWEtY2hlY2tlZF09XCJzaG93UGFzc3dvcmRcIlxuICAgICAgICAgIFtpY29uTmFtZV09XCJnZXRQYXNzd29yZEljb25cIlxuICAgICAgICAgIFthcHBsaWNhdGlvblRoZW1lXT1cImFwcGxpY2F0aW9uVGhlbWVcIlxuICAgICAgICAgIChjbGljayk9XCJzaG93UGFzc3dvcmRDbGljaygpXCJcbiAgICAgICAgICAjYnRuXG4gICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwicmVmb2N1c1Bhc3N3b3JkQnV0dG9uKGJ0bilcIlxuICAgICAgICAgIChrZXlkb3duLnNwYWNlKT1cInJlZm9jdXNQYXNzd29yZEJ1dHRvbihidG4pXCJcbiAgICAgICAgPjwvdWktYnV0dG9uPlxuXG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgdHlwZSA9PT0gJ3ZhbGlkYXRpb24tdGV4dCcgJiYgKGFwcGxpY2F0aW9uVGhlbWUgPT09ICdkYXJrJyB8fCBhcHBsaWNhdGlvblRoZW1lID09PSAnbGlnaHQnKSAmJiB2YWx1ZS5sZW5ndGhcbiAgICAgICAgICBcIlxuICAgICAgICA+XG4gICAgICAgICAgPHVpLWJ1dHRvblxuICAgICAgICAgICAgKm5nSWY9XCIhaXNWYWxpZFwiXG4gICAgICAgICAgICBjbGFzcz1cInZhbGlkYXRpb25cIlxuICAgICAgICAgICAgW3ZhcmlhbnRdPVwiJ3RleHQnXCJcbiAgICAgICAgICAgIFthcHBsaWNhdGlvblRoZW1lXT1cIidsaWdodCdcIlxuICAgICAgICAgICAgW2xhYmVsXT1cIidWYWxpZGF0ZSdcIlxuICAgICAgICAgICAgW2xvYWRpbmddPVwibG9hZGluZ1wiXG4gICAgICAgICAgICAoY2xpY2spPVwidmFsaWRhdGUoKVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgW3NpemVdPVwiJ3NtYWxsJ1wiXG4gICAgICAgICAgPjwvdWktYnV0dG9uPlxuICAgICAgICAgIDx1aS1pY29uIGNsYXNzPVwidmFsaWRcIiBbY29sb3JdPVwiJ3doaXRlJ1wiIGFwcGxpY2F0aW9uVGhlbWU9XCJsaWdodFwiIFtuYW1lXT1cIidDaGVjaydcIiAqbmdJZj1cImlzVmFsaWRcIj48L3VpLWljb24+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgQGlmIChoYXNUZXh0QXJlYUNvdW50ZXIpIHtcbiAgICAgIDxtYXQtaGludCBjbGFzcz1cImluZm9cIiAqbmdJZj1cInR5cGUgPT09ICd0ZXh0YXJlYScgJiYgIWVycm9yc0xlbmd0aCAmJiAhKG5nQ29udHJvbD8uZXJyb3JzIHwgaGFzVmFsaWRhdGlvbkVycm9yKVwiXG4gICAgICAgID57eyB2YWx1ZS5sZW5ndGggfX0gLyB7eyBtYXhDaGFyYWN0ZXJzIH19PC9tYXQtaGludFxuICAgICAgPlxuICAgIH1cblxuICAgIDxtYXQtaGludFxuICAgICAgY2xhc3M9XCJpbmZvXCJcbiAgICAgICpuZ0lmPVwiaGludE1lc3NhZ2UgJiYgIWVycm9yc0xlbmd0aCAmJiAhKG5nQ29udHJvbD8uZXJyb3JzIHwgaGFzVmFsaWRhdGlvbkVycm9yKSAmJiB0eXBlICE9PSAndGV4dGFyZWEnXCJcbiAgICAgID57eyBoaW50TWVzc2FnZSB9fTwvbWF0LWhpbnRcbiAgICA+XG4gICAgPG1hdC1oaW50IGNsYXNzPVwiZXJyb3JcIiAqbmdJZj1cImVycm9yc0xlbmd0aCB8fCAobmdDb250cm9sPy5lcnJvcnMgfCBoYXNWYWxpZGF0aW9uRXJyb3IpXCI+XG4gICAgICA8bmctdGVtcGxhdGUgW25nSWZdPVwiZXJyb3JzTGVuZ3RoXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJlcnJvcnNcIiAqbmdGb3I9XCJsZXQgZXJyb3Igb2YgX2Vycm9yczsgdHJhY2tCeTogdHJhY2tCeUZuXCI+XG4gICAgICAgICAgPHVpLWljb24gW2FwcGxpY2F0aW9uVGhlbWVdPVwiYXBwbGljYXRpb25UaGVtZVwiIFtuYW1lXT1cIidFcnJvcidcIj48L3VpLWljb24+XG4gICAgICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJlcnJvclwiPjwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICA8dWktdmFsaWRhdGlvbi1lcnJvclxuICAgICAgICAqbmdJZj1cIm5nQ29udHJvbCAmJiAhaGlkZUJ1aWx0SW5FcnJvcnNcIlxuICAgICAgICBbbmdDb250cm9sXT1cIm5nQ29udHJvbFwiXG4gICAgICAgIFtsYWJlbF09XCJoaWRlTGFiZWxJbkVycm9ycyA/IG51bGwgOiBsYWJlbFwiXG4gICAgICA+PC91aS12YWxpZGF0aW9uLWVycm9yPlxuICAgIDwvbWF0LWhpbnQ+XG5cbiAgICBAaWYgKGJhZGdlVmFyaWFudCkge1xuICAgICAgPHVpLWJhZGdlIGNsYXNzPVwiZmllbGQtYmFkZ2VcIlxuICAgICAgICAgICAgICAgIFt2YXJpYW50XT1cImJhZGdlVmFyaWFudFwiPjwvdWktYmFkZ2U+XG4gICAgfVxuICA8L21hdC1mb3JtLWZpZWxkPlxuPC9uZy1jb250YWluZXI+XG4iXX0=