igniteui-angular 16.0.0-beta.2 → 16.0.0-beta.4

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 (349) hide show
  1. package/esm2022/lib/accordion/accordion.component.mjs +4 -4
  2. package/esm2022/lib/accordion/accordion.module.mjs +5 -5
  3. package/esm2022/lib/action-strip/action-strip.component.mjs +7 -7
  4. package/esm2022/lib/action-strip/action-strip.module.mjs +5 -5
  5. package/esm2022/lib/action-strip/grid-actions/grid-action-button.component.mjs +4 -4
  6. package/esm2022/lib/action-strip/grid-actions/grid-actions-base.directive.mjs +4 -4
  7. package/esm2022/lib/action-strip/grid-actions/grid-editing-actions.component.mjs +4 -4
  8. package/esm2022/lib/action-strip/grid-actions/grid-pinning-actions.component.mjs +4 -4
  9. package/esm2022/lib/avatar/avatar.component.mjs +4 -4
  10. package/esm2022/lib/avatar/avatar.module.mjs +5 -5
  11. package/esm2022/lib/badge/badge.component.mjs +4 -4
  12. package/esm2022/lib/badge/badge.module.mjs +5 -5
  13. package/esm2022/lib/banner/banner.component.mjs +4 -4
  14. package/esm2022/lib/banner/banner.directives.mjs +4 -4
  15. package/esm2022/lib/banner/banner.module.mjs +5 -5
  16. package/esm2022/lib/buttonGroup/buttonGroup.component.mjs +4 -4
  17. package/esm2022/lib/buttonGroup/buttongroup.module.mjs +5 -5
  18. package/esm2022/lib/calendar/calendar-base.mjs +4 -4
  19. package/esm2022/lib/calendar/calendar.component.mjs +4 -4
  20. package/esm2022/lib/calendar/calendar.directives.mjs +16 -16
  21. package/esm2022/lib/calendar/calendar.module.mjs +5 -5
  22. package/esm2022/lib/calendar/days-view/day-item.component.mjs +4 -4
  23. package/esm2022/lib/calendar/days-view/days-view.component.mjs +4 -4
  24. package/esm2022/lib/calendar/days-view/daysview-navigation.service.mjs +4 -4
  25. package/esm2022/lib/calendar/month-picker/month-picker-base.mjs +4 -4
  26. package/esm2022/lib/calendar/month-picker/month-picker.component.mjs +4 -4
  27. package/esm2022/lib/calendar/months-view/months-view.component.mjs +4 -4
  28. package/esm2022/lib/calendar/months-view.pipe.mjs +7 -7
  29. package/esm2022/lib/calendar/years-view/years-view.component.mjs +7 -7
  30. package/esm2022/lib/card/card.component.mjs +28 -28
  31. package/esm2022/lib/card/card.module.mjs +5 -5
  32. package/esm2022/lib/carousel/carousel.component.mjs +7 -7
  33. package/esm2022/lib/carousel/carousel.directives.mjs +10 -10
  34. package/esm2022/lib/carousel/carousel.module.mjs +5 -5
  35. package/esm2022/lib/carousel/slide.component.mjs +4 -4
  36. package/esm2022/lib/checkbox/checkbox.component.mjs +4 -4
  37. package/esm2022/lib/checkbox/checkbox.module.mjs +5 -5
  38. package/esm2022/lib/chips/chip.component.mjs +4 -4
  39. package/esm2022/lib/chips/chips-area.component.mjs +4 -4
  40. package/esm2022/lib/chips/chips.module.mjs +5 -5
  41. package/esm2022/lib/combo/combo-add-item.component.mjs +4 -4
  42. package/esm2022/lib/combo/combo-dropdown.component.mjs +4 -4
  43. package/esm2022/lib/combo/combo-item.component.mjs +4 -4
  44. package/esm2022/lib/combo/combo.api.mjs +4 -4
  45. package/esm2022/lib/combo/combo.common.mjs +4 -4
  46. package/esm2022/lib/combo/combo.component.mjs +4 -4
  47. package/esm2022/lib/combo/combo.directives.mjs +25 -25
  48. package/esm2022/lib/combo/combo.module.mjs +5 -5
  49. package/esm2022/lib/combo/combo.pipes.mjs +7 -7
  50. package/esm2022/lib/core/density.mjs +4 -4
  51. package/esm2022/lib/core/navigation/directives.mjs +7 -7
  52. package/esm2022/lib/core/navigation/nav.service.mjs +4 -4
  53. package/esm2022/lib/core/selection.mjs +4 -4
  54. package/esm2022/lib/core/touch.mjs +4 -4
  55. package/esm2022/lib/core/utils.mjs +4 -4
  56. package/esm2022/lib/date-common/calendar-container/calendar-container.component.mjs +4 -4
  57. package/esm2022/lib/date-common/picker-base.directive.mjs +4 -4
  58. package/esm2022/lib/date-common/picker-icons.common.mjs +10 -10
  59. package/esm2022/lib/date-picker/date-picker.component.mjs +4 -4
  60. package/esm2022/lib/date-picker/date-picker.module.mjs +5 -5
  61. package/esm2022/lib/date-range-picker/date-range-picker-inputs.common.mjs +16 -16
  62. package/esm2022/lib/date-range-picker/date-range-picker.component.mjs +4 -4
  63. package/esm2022/lib/date-range-picker/date-range-picker.module.mjs +5 -5
  64. package/esm2022/lib/dialog/dialog.component.mjs +4 -4
  65. package/esm2022/lib/dialog/dialog.directives.mjs +7 -7
  66. package/esm2022/lib/dialog/dialog.module.mjs +5 -5
  67. package/esm2022/lib/directives/autocomplete/autocomplete.directive.mjs +4 -4
  68. package/esm2022/lib/directives/autocomplete/autocomplete.module.mjs +5 -5
  69. package/esm2022/lib/directives/button/button.directive.mjs +4 -4
  70. package/esm2022/lib/directives/button/button.module.mjs +5 -5
  71. package/esm2022/lib/directives/date-time-editor/date-time-editor.directive.mjs +4 -4
  72. package/esm2022/lib/directives/date-time-editor/date-time-editor.module.mjs +5 -5
  73. package/esm2022/lib/directives/divider/divider.directive.mjs +4 -4
  74. package/esm2022/lib/directives/divider/divider.module.mjs +5 -5
  75. package/esm2022/lib/directives/drag-drop/drag-drop.directive.mjs +13 -13
  76. package/esm2022/lib/directives/drag-drop/drag-drop.module.mjs +5 -5
  77. package/esm2022/lib/directives/filter/filter.directive.mjs +7 -7
  78. package/esm2022/lib/directives/filter/filter.module.mjs +5 -5
  79. package/esm2022/lib/directives/focus/focus.directive.mjs +4 -4
  80. package/esm2022/lib/directives/focus/focus.module.mjs +5 -5
  81. package/esm2022/lib/directives/focus-trap/focus-trap.directive.mjs +4 -4
  82. package/esm2022/lib/directives/focus-trap/focus-trap.module.mjs +5 -5
  83. package/esm2022/lib/directives/for-of/base.helper.component.mjs +4 -4
  84. package/esm2022/lib/directives/for-of/display.container.mjs +4 -4
  85. package/esm2022/lib/directives/for-of/for_of.directive.mjs +7 -7
  86. package/esm2022/lib/directives/for-of/for_of.module.mjs +5 -5
  87. package/esm2022/lib/directives/for-of/for_of.sync.service.mjs +7 -7
  88. package/esm2022/lib/directives/for-of/horizontal.virtual.helper.component.mjs +4 -4
  89. package/esm2022/lib/directives/for-of/virtual.helper.component.mjs +4 -4
  90. package/esm2022/lib/directives/form-control/form-control.directive.mjs +4 -4
  91. package/esm2022/lib/directives/form-control/form-control.module.mjs +5 -5
  92. package/esm2022/lib/directives/hint/hint.directive.mjs +4 -4
  93. package/esm2022/lib/directives/input/input.directive.mjs +14 -4
  94. package/esm2022/lib/directives/label/label.directive.mjs +4 -4
  95. package/esm2022/lib/directives/layout/layout.directive.mjs +7 -7
  96. package/esm2022/lib/directives/layout/layout.module.mjs +5 -5
  97. package/esm2022/lib/directives/mask/mask-parsing.service.mjs +4 -4
  98. package/esm2022/lib/directives/mask/mask.directive.mjs +4 -4
  99. package/esm2022/lib/directives/mask/mask.module.mjs +5 -5
  100. package/esm2022/lib/directives/notification/notifications.directive.mjs +4 -4
  101. package/esm2022/lib/directives/prefix/prefix.directive.mjs +4 -4
  102. package/esm2022/lib/directives/radio/radio-group.directive.mjs +4 -4
  103. package/esm2022/lib/directives/radio/radio-group.module.mjs +5 -5
  104. package/esm2022/lib/directives/ripple/ripple.directive.mjs +4 -4
  105. package/esm2022/lib/directives/ripple/ripple.module.mjs +5 -5
  106. package/esm2022/lib/directives/scroll-inertia/scroll_inertia.directive.mjs +4 -4
  107. package/esm2022/lib/directives/scroll-inertia/scroll_inertia.module.mjs +5 -5
  108. package/esm2022/lib/directives/suffix/suffix.directive.mjs +4 -4
  109. package/esm2022/lib/directives/template-outlet/template_outlet.directive.mjs +4 -4
  110. package/esm2022/lib/directives/text-highlight/text-highlight.directive.mjs +4 -4
  111. package/esm2022/lib/directives/text-highlight/text-highlight.module.mjs +5 -5
  112. package/esm2022/lib/directives/text-selection/text-selection.directive.mjs +4 -4
  113. package/esm2022/lib/directives/text-selection/text-selection.module.mjs +5 -5
  114. package/esm2022/lib/directives/toggle/toggle.directive.mjs +10 -10
  115. package/esm2022/lib/directives/toggle/toggle.module.mjs +5 -5
  116. package/esm2022/lib/directives/tooltip/tooltip-target.directive.mjs +4 -4
  117. package/esm2022/lib/directives/tooltip/tooltip.component.mjs +4 -4
  118. package/esm2022/lib/directives/tooltip/tooltip.directive.mjs +4 -4
  119. package/esm2022/lib/directives/tooltip/tooltip.module.mjs +5 -5
  120. package/esm2022/lib/drop-down/drop-down-group.component.mjs +4 -4
  121. package/esm2022/lib/drop-down/drop-down-item.base.mjs +4 -4
  122. package/esm2022/lib/drop-down/drop-down-item.component.mjs +4 -4
  123. package/esm2022/lib/drop-down/drop-down-navigation.directive.mjs +4 -4
  124. package/esm2022/lib/drop-down/drop-down.base.mjs +4 -4
  125. package/esm2022/lib/drop-down/drop-down.component.mjs +4 -4
  126. package/esm2022/lib/drop-down/drop-down.module.mjs +5 -5
  127. package/esm2022/lib/expansion-panel/expansion-panel-body.component.mjs +4 -4
  128. package/esm2022/lib/expansion-panel/expansion-panel-header.component.mjs +4 -4
  129. package/esm2022/lib/expansion-panel/expansion-panel.common.mjs +4 -4
  130. package/esm2022/lib/expansion-panel/expansion-panel.component.mjs +4 -4
  131. package/esm2022/lib/expansion-panel/expansion-panel.directives.mjs +10 -10
  132. package/esm2022/lib/expansion-panel/expansion-panel.module.mjs +5 -5
  133. package/esm2022/lib/expansion-panel/toggle-animation-component.mjs +4 -4
  134. package/esm2022/lib/grids/api.service.mjs +4 -4
  135. package/esm2022/lib/grids/cell.component.mjs +4 -4
  136. package/esm2022/lib/grids/column-actions/column-actions-base.directive.mjs +4 -4
  137. package/esm2022/lib/grids/column-actions/column-actions.component.mjs +13 -13
  138. package/esm2022/lib/grids/column-actions/column-hiding.directive.mjs +4 -4
  139. package/esm2022/lib/grids/column-actions/column-pinning.directive.mjs +4 -4
  140. package/esm2022/lib/grids/column-actions/public_api.mjs +13 -0
  141. package/esm2022/lib/grids/columns/column-group.component.mjs +4 -4
  142. package/esm2022/lib/grids/columns/column-layout.component.mjs +4 -4
  143. package/esm2022/lib/grids/columns/column.component.mjs +4 -4
  144. package/esm2022/lib/grids/columns/templates.directive.mjs +25 -25
  145. package/esm2022/lib/grids/columns/validators.directive.mjs +22 -22
  146. package/esm2022/lib/grids/common/crud.service.mjs +4 -4
  147. package/esm2022/lib/grids/common/pipes.mjs +55 -55
  148. package/esm2022/lib/grids/filtering/advanced-filtering/advanced-filtering-dialog.component.mjs +4 -4
  149. package/esm2022/lib/grids/filtering/base/grid-filtering-cell.component.mjs +4 -4
  150. package/esm2022/lib/grids/filtering/base/grid-filtering-row.component.mjs +4 -4
  151. package/esm2022/lib/grids/filtering/excel-style/base-filtering.component.mjs +4 -4
  152. package/esm2022/lib/grids/filtering/excel-style/excel-style-clear-filters.component.mjs +4 -4
  153. package/esm2022/lib/grids/filtering/excel-style/excel-style-conditional-filter.component.mjs +4 -4
  154. package/esm2022/lib/grids/filtering/excel-style/excel-style-custom-dialog.component.mjs +4 -4
  155. package/esm2022/lib/grids/filtering/excel-style/excel-style-date-expression.component.mjs +4 -4
  156. package/esm2022/lib/grids/filtering/excel-style/excel-style-default-expression.component.mjs +4 -4
  157. package/esm2022/lib/grids/filtering/excel-style/excel-style-filtering.component.mjs +10 -10
  158. package/esm2022/lib/grids/filtering/excel-style/excel-style-header.component.mjs +4 -4
  159. package/esm2022/lib/grids/filtering/excel-style/excel-style-hiding.component.mjs +4 -4
  160. package/esm2022/lib/grids/filtering/excel-style/excel-style-moving.component.mjs +4 -4
  161. package/esm2022/lib/grids/filtering/excel-style/excel-style-pinning.component.mjs +4 -4
  162. package/esm2022/lib/grids/filtering/excel-style/excel-style-search.component.mjs +7 -7
  163. package/esm2022/lib/grids/filtering/excel-style/excel-style-selecting.component.mjs +4 -4
  164. package/esm2022/lib/grids/filtering/excel-style/excel-style-sorting.component.mjs +4 -4
  165. package/esm2022/lib/grids/filtering/grid-filtering.service.mjs +4 -4
  166. package/esm2022/lib/grids/grid/expandable-cell.component.mjs +4 -4
  167. package/esm2022/lib/grids/grid/grid-api.service.mjs +4 -4
  168. package/esm2022/lib/grids/grid/grid-row.component.mjs +4 -4
  169. package/esm2022/lib/grids/grid/grid-validation.service.mjs +4 -4
  170. package/esm2022/lib/grids/grid/grid.component.mjs +5 -6
  171. package/esm2022/lib/grids/grid/grid.details.pipe.mjs +4 -4
  172. package/esm2022/lib/grids/grid/grid.directives.mjs +34 -34
  173. package/esm2022/lib/grids/grid/grid.module.mjs +27 -24
  174. package/esm2022/lib/grids/grid/grid.pipes.mjs +13 -13
  175. package/esm2022/lib/grids/grid/grid.summary.pipe.mjs +4 -4
  176. package/esm2022/lib/grids/grid/groupby-row.component.mjs +4 -4
  177. package/esm2022/lib/grids/grid-base.directive.mjs +4 -4
  178. package/esm2022/lib/grids/grid-footer/grid-footer.component.mjs +4 -4
  179. package/esm2022/lib/grids/grid-mrl-navigation.service.mjs +4 -4
  180. package/esm2022/lib/grids/grid-navigation.service.mjs +4 -4
  181. package/esm2022/lib/grids/grid.common.mjs +4 -4
  182. package/esm2022/lib/grids/grid.rowEdit.directive.mjs +16 -16
  183. package/esm2022/lib/grids/grouping/grid-group-by-area.component.mjs +4 -4
  184. package/esm2022/lib/grids/grouping/group-by-area.directive.mjs +7 -7
  185. package/esm2022/lib/grids/grouping/tree-grid-group-by-area.component.mjs +4 -4
  186. package/esm2022/lib/grids/headers/grid-header-group.component.mjs +4 -4
  187. package/esm2022/lib/grids/headers/grid-header-row.component.mjs +4 -4
  188. package/esm2022/lib/grids/headers/grid-header.component.mjs +4 -4
  189. package/esm2022/lib/grids/headers/pipes.mjs +10 -10
  190. package/esm2022/lib/grids/hierarchical-grid/hierarchical-cell.component.mjs +4 -4
  191. package/esm2022/lib/grids/hierarchical-grid/hierarchical-grid-api.service.mjs +4 -4
  192. package/esm2022/lib/grids/hierarchical-grid/hierarchical-grid-base.directive.mjs +4 -4
  193. package/esm2022/lib/grids/hierarchical-grid/hierarchical-grid-navigation.service.mjs +4 -4
  194. package/esm2022/lib/grids/hierarchical-grid/hierarchical-grid.component.mjs +7 -7
  195. package/esm2022/lib/grids/hierarchical-grid/hierarchical-grid.module.mjs +27 -24
  196. package/esm2022/lib/grids/hierarchical-grid/hierarchical-grid.pipes.mjs +7 -7
  197. package/esm2022/lib/grids/hierarchical-grid/hierarchical-row.component.mjs +4 -4
  198. package/esm2022/lib/grids/hierarchical-grid/row-island-api.service.mjs +4 -4
  199. package/esm2022/lib/grids/hierarchical-grid/row-island.component.mjs +4 -4
  200. package/esm2022/lib/grids/moving/moving.drag.directive.mjs +4 -4
  201. package/esm2022/lib/grids/moving/moving.drop.directive.mjs +4 -4
  202. package/esm2022/lib/grids/moving/moving.service.mjs +4 -4
  203. package/esm2022/lib/grids/pivot-grid/pivot-data-selector.component.mjs +4 -4
  204. package/esm2022/lib/grids/pivot-grid/pivot-filtering.service.mjs +4 -4
  205. package/esm2022/lib/grids/pivot-grid/pivot-grid-navigation.service.mjs +4 -4
  206. package/esm2022/lib/grids/pivot-grid/pivot-grid.component.mjs +4 -4
  207. package/esm2022/lib/grids/pivot-grid/pivot-grid.directives.mjs +4 -4
  208. package/esm2022/lib/grids/pivot-grid/pivot-grid.module.mjs +27 -24
  209. package/esm2022/lib/grids/pivot-grid/pivot-grid.pipes.mjs +31 -31
  210. package/esm2022/lib/grids/pivot-grid/pivot-header-row.component.mjs +4 -4
  211. package/esm2022/lib/grids/pivot-grid/pivot-row-dimension-content.component.mjs +4 -4
  212. package/esm2022/lib/grids/pivot-grid/pivot-row-dimension-header-group.component.mjs +4 -4
  213. package/esm2022/lib/grids/pivot-grid/pivot-row-dimension-header.component.mjs +4 -4
  214. package/esm2022/lib/grids/pivot-grid/pivot-row.component.mjs +4 -4
  215. package/esm2022/lib/grids/public_api.mjs +5 -2
  216. package/esm2022/lib/grids/resizing/pivot-grid/pivot-resize-handle.directive.mjs +4 -4
  217. package/esm2022/lib/grids/resizing/pivot-grid/pivot-resizer.component.mjs +4 -4
  218. package/esm2022/lib/grids/resizing/pivot-grid/pivot-resizing.service.mjs +4 -4
  219. package/esm2022/lib/grids/resizing/resize-handle.directive.mjs +4 -4
  220. package/esm2022/lib/grids/resizing/resizer.component.mjs +4 -4
  221. package/esm2022/lib/grids/resizing/resizer.directive.mjs +4 -4
  222. package/esm2022/lib/grids/resizing/resizing.service.mjs +4 -4
  223. package/esm2022/lib/grids/row-drag.directive.mjs +10 -10
  224. package/esm2022/lib/grids/row.directive.mjs +4 -4
  225. package/esm2022/lib/grids/selection/drag-select.directive.mjs +4 -4
  226. package/esm2022/lib/grids/selection/row-selectors.mjs +10 -10
  227. package/esm2022/lib/grids/selection/selection.service.mjs +4 -4
  228. package/esm2022/lib/grids/state.directive.mjs +4 -4
  229. package/esm2022/lib/grids/summaries/grid-root-summary.pipe.mjs +4 -4
  230. package/esm2022/lib/grids/summaries/grid-summary.service.mjs +4 -4
  231. package/esm2022/lib/grids/summaries/summary-cell.component.mjs +4 -4
  232. package/esm2022/lib/grids/summaries/summary-row.component.mjs +4 -4
  233. package/esm2022/lib/grids/toolbar/common.mjs +16 -16
  234. package/esm2022/lib/grids/toolbar/grid-toolbar-advanced-filtering.component.mjs +4 -4
  235. package/esm2022/lib/grids/toolbar/grid-toolbar-exporter.component.mjs +4 -4
  236. package/esm2022/lib/grids/toolbar/grid-toolbar-hiding.component.mjs +4 -4
  237. package/esm2022/lib/grids/toolbar/grid-toolbar-pinning.component.mjs +4 -4
  238. package/esm2022/lib/grids/toolbar/grid-toolbar.base.mjs +7 -7
  239. package/esm2022/lib/grids/toolbar/grid-toolbar.component.mjs +4 -4
  240. package/esm2022/lib/grids/tree-grid/public_api.mjs +7 -1
  241. package/esm2022/lib/grids/tree-grid/tree-cell.component.mjs +4 -4
  242. package/esm2022/lib/grids/tree-grid/tree-grid-api.service.mjs +4 -4
  243. package/esm2022/lib/grids/tree-grid/tree-grid-row.component.mjs +4 -4
  244. package/esm2022/lib/grids/tree-grid/tree-grid-selection.service.mjs +4 -4
  245. package/esm2022/lib/grids/tree-grid/tree-grid.component.mjs +4 -4
  246. package/esm2022/lib/grids/tree-grid/tree-grid.directives.mjs +4 -4
  247. package/esm2022/lib/grids/tree-grid/tree-grid.filtering.pipe.mjs +4 -4
  248. package/esm2022/lib/grids/tree-grid/tree-grid.grouping.pipe.mjs +4 -4
  249. package/esm2022/lib/grids/tree-grid/tree-grid.module.mjs +44 -39
  250. package/esm2022/lib/grids/tree-grid/tree-grid.pipes.mjs +22 -22
  251. package/esm2022/lib/grids/tree-grid/tree-grid.summary.pipe.mjs +4 -4
  252. package/esm2022/lib/icon/icon.component.mjs +4 -4
  253. package/esm2022/lib/icon/icon.module.mjs +5 -5
  254. package/esm2022/lib/icon/icon.service.mjs +4 -4
  255. package/esm2022/lib/input-group/input-group.component.mjs +4 -4
  256. package/esm2022/lib/input-group/input-group.module.mjs +5 -5
  257. package/esm2022/lib/list/list-item.component.mjs +4 -4
  258. package/esm2022/lib/list/list.common.mjs +16 -16
  259. package/esm2022/lib/list/list.component.mjs +19 -19
  260. package/esm2022/lib/list/list.module.mjs +5 -5
  261. package/esm2022/lib/navbar/navbar.component.mjs +10 -10
  262. package/esm2022/lib/navbar/navbar.module.mjs +5 -5
  263. package/esm2022/lib/navigation-drawer/navigation-drawer.component.mjs +4 -4
  264. package/esm2022/lib/navigation-drawer/navigation-drawer.directives.mjs +10 -10
  265. package/esm2022/lib/navigation-drawer/navigation-drawer.module.mjs +5 -5
  266. package/esm2022/lib/paginator/paginator-interfaces.mjs +4 -4
  267. package/esm2022/lib/paginator/paginator.component.mjs +13 -13
  268. package/esm2022/lib/paginator/paginator.module.mjs +5 -5
  269. package/esm2022/lib/progressbar/progressbar.common.mjs +7 -7
  270. package/esm2022/lib/progressbar/progressbar.component.mjs +10 -10
  271. package/esm2022/lib/progressbar/progressbar.module.mjs +5 -5
  272. package/esm2022/lib/query-builder/query-builder-header.component.mjs +4 -4
  273. package/esm2022/lib/query-builder/query-builder.component.mjs +7 -7
  274. package/esm2022/lib/query-builder/query-builder.module.mjs +5 -5
  275. package/esm2022/lib/radio/radio.component.mjs +4 -4
  276. package/esm2022/lib/select/select-group.component.mjs +4 -4
  277. package/esm2022/lib/select/select-item.component.mjs +4 -4
  278. package/esm2022/lib/select/select-navigation.directive.mjs +4 -4
  279. package/esm2022/lib/select/select.component.mjs +13 -13
  280. package/esm2022/lib/select/select.module.mjs +5 -5
  281. package/esm2022/lib/services/animation/angular-animation-service.mjs +4 -4
  282. package/esm2022/lib/services/csv/csv-exporter.mjs +4 -4
  283. package/esm2022/lib/services/direction/directionality.mjs +4 -4
  284. package/esm2022/lib/services/excel/excel-exporter.mjs +4 -4
  285. package/esm2022/lib/services/overlay/overlay.mjs +4 -4
  286. package/esm2022/lib/services/transaction/transaction-factory.service.mjs +7 -7
  287. package/esm2022/lib/simple-combo/simple-combo.component.mjs +4 -4
  288. package/esm2022/lib/simple-combo/simple-combo.module.mjs +5 -5
  289. package/esm2022/lib/slider/label/thumb-label.component.mjs +4 -4
  290. package/esm2022/lib/slider/slider.common.mjs +10 -10
  291. package/esm2022/lib/slider/slider.component.mjs +4 -4
  292. package/esm2022/lib/slider/slider.module.mjs +5 -5
  293. package/esm2022/lib/slider/thumb/thumb-slider.component.mjs +4 -4
  294. package/esm2022/lib/slider/ticks/tick.pipe.mjs +4 -4
  295. package/esm2022/lib/slider/ticks/ticks.component.mjs +4 -4
  296. package/esm2022/lib/snackbar/snackbar.component.mjs +4 -4
  297. package/esm2022/lib/snackbar/snackbar.module.mjs +5 -5
  298. package/esm2022/lib/splitter/splitter-pane/splitter-pane.component.mjs +4 -4
  299. package/esm2022/lib/splitter/splitter.component.mjs +7 -7
  300. package/esm2022/lib/splitter/splitter.module.mjs +5 -5
  301. package/esm2022/lib/stepper/step/step.component.mjs +4 -4
  302. package/esm2022/lib/stepper/stepper.component.mjs +4 -4
  303. package/esm2022/lib/stepper/stepper.directive.mjs +22 -22
  304. package/esm2022/lib/stepper/stepper.module.mjs +5 -5
  305. package/esm2022/lib/stepper/stepper.service.mjs +4 -4
  306. package/esm2022/lib/switch/switch.component.mjs +4 -4
  307. package/esm2022/lib/switch/switch.module.mjs +5 -5
  308. package/esm2022/lib/tabs/bottom-nav/bottom-nav-content.component.mjs +4 -4
  309. package/esm2022/lib/tabs/bottom-nav/bottom-nav-header.component.mjs +4 -4
  310. package/esm2022/lib/tabs/bottom-nav/bottom-nav-item.component.mjs +4 -4
  311. package/esm2022/lib/tabs/bottom-nav/bottom-nav.component.mjs +4 -4
  312. package/esm2022/lib/tabs/bottom-nav/bottom-nav.directives.mjs +7 -7
  313. package/esm2022/lib/tabs/bottom-nav/bottom-nav.module.mjs +5 -5
  314. package/esm2022/lib/tabs/tab-content.directive.mjs +4 -4
  315. package/esm2022/lib/tabs/tab-header.directive.mjs +4 -4
  316. package/esm2022/lib/tabs/tab-item.directive.mjs +4 -4
  317. package/esm2022/lib/tabs/tabs/tab-content.component.mjs +4 -4
  318. package/esm2022/lib/tabs/tabs/tab-header.component.mjs +4 -4
  319. package/esm2022/lib/tabs/tabs/tab-item.component.mjs +4 -4
  320. package/esm2022/lib/tabs/tabs/tabs.component.mjs +4 -4
  321. package/esm2022/lib/tabs/tabs/tabs.directives.mjs +7 -7
  322. package/esm2022/lib/tabs/tabs/tabs.module.mjs +5 -5
  323. package/esm2022/lib/tabs/tabs.directive.mjs +4 -4
  324. package/esm2022/lib/time-picker/time-picker.component.mjs +4 -4
  325. package/esm2022/lib/time-picker/time-picker.directives.mjs +7 -7
  326. package/esm2022/lib/time-picker/time-picker.module.mjs +5 -5
  327. package/esm2022/lib/time-picker/time-picker.pipes.mjs +7 -7
  328. package/esm2022/lib/toast/toast.component.mjs +4 -4
  329. package/esm2022/lib/toast/toast.module.mjs +5 -5
  330. package/esm2022/lib/tree/tree-navigation.service.mjs +4 -4
  331. package/esm2022/lib/tree/tree-node/tree-node.component.mjs +7 -7
  332. package/esm2022/lib/tree/tree-selection.service.mjs +4 -4
  333. package/esm2022/lib/tree/tree.component.mjs +10 -10
  334. package/esm2022/lib/tree/tree.module.mjs +5 -5
  335. package/esm2022/lib/tree/tree.service.mjs +4 -4
  336. package/fesm2022/igniteui-angular.mjs +3098 -3079
  337. package/fesm2022/igniteui-angular.mjs.map +1 -1
  338. package/lib/directives/input/input.directive.d.ts +3 -0
  339. package/lib/grids/column-actions/public_api.d.ts +7 -0
  340. package/lib/grids/grid/grid.module.d.ts +23 -20
  341. package/lib/grids/grid/public_api.d.ts +1 -1
  342. package/lib/grids/hierarchical-grid/hierarchical-grid.module.d.ts +23 -20
  343. package/lib/grids/hierarchical-grid/public_api.d.ts +1 -1
  344. package/lib/grids/pivot-grid/pivot-grid.module.d.ts +23 -20
  345. package/lib/grids/pivot-grid/public_api.d.ts +1 -1
  346. package/lib/grids/public_api.d.ts +2 -1
  347. package/lib/grids/tree-grid/public_api.d.ts +5 -1
  348. package/lib/grids/tree-grid/tree-grid.module.d.ts +40 -35
  349. package/package.json +6 -6
@@ -23,14 +23,14 @@ export class IgxGridToolbarPinningComponent extends BaseToolbarColumnActionsDire
23
23
  set content(content) {
24
24
  this.columnActionsUI = content;
25
25
  }
26
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-rc.4", ngImport: i0, type: IgxGridToolbarPinningComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
27
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0-rc.4", type: IgxGridToolbarPinningComponent, isStandalone: true, selector: "igx-grid-toolbar-pinning", viewQueries: [{ propertyName: "content", first: true, predicate: IgxColumnPinningDirective, descendants: true, read: IgxColumnActionsComponent }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"grid.rendered$ | async\">\n <button [title]=\"grid?.resourceStrings.igx_grid_toolbar_pinning_button_tooltip\" #btn igxButton=\"outlined\" type=\"button\"\n name=\"btnColumnPinning\" (click)=\"toggle(btn, ref, actions)\" [displayDensity]=\"grid.displayDensity\">\n <igx-icon family=\"imx-icons\" [name]=\"!grid.pinnedColumnsCount ? 'unpin-left' : 'pin-left'\"></igx-icon>\n <span>{{ grid.pinnedColumnsCount }}</span>\n <span>{{ buttonText }}</span>\n </button>\n <igx-column-actions #actions igxColumnPinning igxToggle (opened)=\"focusSearch(ref.element)\" #ref=\"toggle\"\n [grid]=\"grid\" [title]=\"title || grid?.resourceStrings.igx_grid_toolbar_pinning_title\"\n [filterColumnsPrompt]=\"prompt || grid?.resourceStrings.igx_grid_toolbar_actions_filter_prompt\"\n [hideFilter]=\"hideFilter\" [filterCriteria]=\"filterCriteria\" [columnDisplayOrder]=\"columnDisplayOrder\" [columnsAreaMaxHeight]=\"columnsAreaMaxHeight\"\n [uncheckAllText]=\"uncheckAllText\" [checkAllText]=\"checkAllText\" [indentation]=\"indentetion\">\n </igx-column-actions>\n</ng-container>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: IgxButtonDirective, selector: "[igxButton]", inputs: ["selected", "igxButton", "igxButtonColor", "igxButtonBackground", "igxLabel", "disabled"], outputs: ["buttonClick", "buttonSelected"] }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["family", "active", "name"] }, { kind: "component", type: IgxColumnActionsComponent, selector: "igx-column-actions", inputs: ["grid", "indentation", "columnsAreaMaxHeight", "hideFilter", "title", "filterColumnsPrompt", "filterCriteria", "columnDisplayOrder", "uncheckAllText", "checkAllText", "id"], outputs: ["columnToggled"] }, { kind: "directive", type: IgxColumnPinningDirective, selector: "[igxColumnPinning]" }, { kind: "directive", type: IgxToggleDirective, selector: "[igxToggle]", inputs: ["id"], outputs: ["opened", "opening", "closed", "closing", "appended"], exportAs: ["toggle"] }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
26
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IgxGridToolbarPinningComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
27
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: IgxGridToolbarPinningComponent, isStandalone: true, selector: "igx-grid-toolbar-pinning", viewQueries: [{ propertyName: "content", first: true, predicate: IgxColumnPinningDirective, descendants: true, read: IgxColumnActionsComponent }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"grid.rendered$ | async\">\n <button [title]=\"grid?.resourceStrings.igx_grid_toolbar_pinning_button_tooltip\" #btn igxButton=\"outlined\" type=\"button\"\n name=\"btnColumnPinning\" (click)=\"toggle(btn, ref, actions)\" [displayDensity]=\"grid.displayDensity\">\n <igx-icon family=\"imx-icons\" [name]=\"!grid.pinnedColumnsCount ? 'unpin-left' : 'pin-left'\"></igx-icon>\n <span>{{ grid.pinnedColumnsCount }}</span>\n <span>{{ buttonText }}</span>\n </button>\n <igx-column-actions #actions igxColumnPinning igxToggle (opened)=\"focusSearch(ref.element)\" #ref=\"toggle\"\n [grid]=\"grid\" [title]=\"title || grid?.resourceStrings.igx_grid_toolbar_pinning_title\"\n [filterColumnsPrompt]=\"prompt || grid?.resourceStrings.igx_grid_toolbar_actions_filter_prompt\"\n [hideFilter]=\"hideFilter\" [filterCriteria]=\"filterCriteria\" [columnDisplayOrder]=\"columnDisplayOrder\" [columnsAreaMaxHeight]=\"columnsAreaMaxHeight\"\n [uncheckAllText]=\"uncheckAllText\" [checkAllText]=\"checkAllText\" [indentation]=\"indentetion\">\n </igx-column-actions>\n</ng-container>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: IgxButtonDirective, selector: "[igxButton]", inputs: ["selected", "igxButton", "igxButtonColor", "igxButtonBackground", "igxLabel", "disabled"], outputs: ["buttonClick", "buttonSelected"] }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["family", "active", "name"] }, { kind: "component", type: IgxColumnActionsComponent, selector: "igx-column-actions", inputs: ["grid", "indentation", "columnsAreaMaxHeight", "hideFilter", "title", "filterColumnsPrompt", "filterCriteria", "columnDisplayOrder", "uncheckAllText", "checkAllText", "id"], outputs: ["columnToggled"] }, { kind: "directive", type: IgxColumnPinningDirective, selector: "[igxColumnPinning]" }, { kind: "directive", type: IgxToggleDirective, selector: "[igxToggle]", inputs: ["id"], outputs: ["opened", "opening", "closed", "closing", "appended"], exportAs: ["toggle"] }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
28
28
  }
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-rc.4", ngImport: i0, type: IgxGridToolbarPinningComponent, decorators: [{
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IgxGridToolbarPinningComponent, decorators: [{
30
30
  type: Component,
31
31
  args: [{ selector: 'igx-grid-toolbar-pinning', standalone: true, imports: [NgIf, IgxButtonDirective, IgxIconComponent, IgxColumnActionsComponent, IgxColumnPinningDirective, IgxToggleDirective, AsyncPipe], template: "<ng-container *ngIf=\"grid.rendered$ | async\">\n <button [title]=\"grid?.resourceStrings.igx_grid_toolbar_pinning_button_tooltip\" #btn igxButton=\"outlined\" type=\"button\"\n name=\"btnColumnPinning\" (click)=\"toggle(btn, ref, actions)\" [displayDensity]=\"grid.displayDensity\">\n <igx-icon family=\"imx-icons\" [name]=\"!grid.pinnedColumnsCount ? 'unpin-left' : 'pin-left'\"></igx-icon>\n <span>{{ grid.pinnedColumnsCount }}</span>\n <span>{{ buttonText }}</span>\n </button>\n <igx-column-actions #actions igxColumnPinning igxToggle (opened)=\"focusSearch(ref.element)\" #ref=\"toggle\"\n [grid]=\"grid\" [title]=\"title || grid?.resourceStrings.igx_grid_toolbar_pinning_title\"\n [filterColumnsPrompt]=\"prompt || grid?.resourceStrings.igx_grid_toolbar_actions_filter_prompt\"\n [hideFilter]=\"hideFilter\" [filterCriteria]=\"filterCriteria\" [columnDisplayOrder]=\"columnDisplayOrder\" [columnsAreaMaxHeight]=\"columnsAreaMaxHeight\"\n [uncheckAllText]=\"uncheckAllText\" [checkAllText]=\"checkAllText\" [indentation]=\"indentetion\">\n </igx-column-actions>\n</ng-container>\n" }]
32
32
  }], propDecorators: { content: [{
33
33
  type: ViewChild,
34
34
  args: [IgxColumnPinningDirective, { read: IgxColumnActionsComponent }]
35
35
  }] } });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC10b29sYmFyLXBpbm5pbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaWduaXRldWktYW5ndWxhci9zcmMvbGliL2dyaWRzL3Rvb2xiYXIvZ3JpZC10b29sYmFyLXBpbm5pbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaWduaXRldWktYW5ndWxhci9zcmMvbGliL2dyaWRzL3Rvb2xiYXIvZ3JpZC10b29sYmFyLXBpbm5pbmcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDdkYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDdkYsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDeEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDOUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDOUUsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFbEQ7Ozs7Ozs7Ozs7O0dBV0c7QUFPSCxNQUFNLE9BQU8sOEJBQStCLFNBQVEsaUNBQWlDO0lBRWpGLElBQ1ksT0FBTyxDQUFDLE9BQWtDO1FBQ2xELElBQUksQ0FBQyxlQUFlLEdBQUcsT0FBTyxDQUFDO0lBQ25DLENBQUM7bUhBTFEsOEJBQThCO3VHQUE5Qiw4QkFBOEIsNkhBRTVCLHlCQUF5QiwyQkFBUyx5QkFBeUIsb0RDN0IxRSxvb0NBY0EsNENEV2MsSUFBSSw2RkFBRSxrQkFBa0Isd01BQUUsZ0JBQWdCLDJGQUFFLHlCQUF5QixrUkFBRSx5QkFBeUIsK0RBQUUsa0JBQWtCLDBKQUFFLFNBQVM7O2dHQUVoSSw4QkFBOEI7a0JBTjFDLFNBQVM7K0JBQ0ksMEJBQTBCLGNBRXhCLElBQUksV0FDUCxDQUFDLElBQUksRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSx5QkFBeUIsRUFBRSx5QkFBeUIsRUFBRSxrQkFBa0IsRUFBRSxTQUFTLENBQUM7OEJBSzlILE9BQU87c0JBRGxCLFNBQVM7dUJBQUMseUJBQXlCLEVBQUUsRUFBQyxJQUFJLEVBQUUseUJBQXlCLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSWd4Q29sdW1uQWN0aW9uc0NvbXBvbmVudCB9IGZyb20gJy4uL2NvbHVtbi1hY3Rpb25zL2NvbHVtbi1hY3Rpb25zLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJZ3hDb2x1bW5QaW5uaW5nRGlyZWN0aXZlIH0gZnJvbSAnLi4vY29sdW1uLWFjdGlvbnMvY29sdW1uLXBpbm5pbmcuZGlyZWN0aXZlJztcbmltcG9ydCB7IEJhc2VUb29sYmFyQ29sdW1uQWN0aW9uc0RpcmVjdGl2ZSB9IGZyb20gJy4vZ3JpZC10b29sYmFyLmJhc2UnO1xuaW1wb3J0IHsgSWd4VG9nZ2xlRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy90b2dnbGUvdG9nZ2xlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBJZ3hJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vaWNvbi9pY29uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJZ3hCdXR0b25EaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2J1dHRvbi9idXR0b24uZGlyZWN0aXZlJztcbmltcG9ydCB7IE5nSWYsIEFzeW5jUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbi8qKlxuICogUHJvdmlkZXMgYSBwcmUtY29uZmlndXJlZCBjb2x1bW4gcGlubmluZyBjb21wb25lbnQgZm9yIHRoZSBncmlkLlxuICpcbiAqXG4gKiBAaWd4TW9kdWxlIElneEdyaWRUb29sYmFyTW9kdWxlXG4gKiBAaWd4UGFyZW50IElneEdyaWRUb29sYmFyQ29tcG9uZW50XG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYGh0bWxcbiAqICA8aWd4LWdyaWQtdG9vbGJhci1waW5uaW5nPjwvaWd4LWdyaWQtdG9vbGJhci1waW5uaW5nPlxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnaWd4LWdyaWQtdG9vbGJhci1waW5uaW5nJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZ3JpZC10b29sYmFyLXBpbm5pbmcuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW05nSWYsIElneEJ1dHRvbkRpcmVjdGl2ZSwgSWd4SWNvbkNvbXBvbmVudCwgSWd4Q29sdW1uQWN0aW9uc0NvbXBvbmVudCwgSWd4Q29sdW1uUGlubmluZ0RpcmVjdGl2ZSwgSWd4VG9nZ2xlRGlyZWN0aXZlLCBBc3luY1BpcGVdXG59KVxuZXhwb3J0IGNsYXNzIElneEdyaWRUb29sYmFyUGlubmluZ0NvbXBvbmVudCBleHRlbmRzIEJhc2VUb29sYmFyQ29sdW1uQWN0aW9uc0RpcmVjdGl2ZSB7XG5cbiAgICBAVmlld0NoaWxkKElneENvbHVtblBpbm5pbmdEaXJlY3RpdmUsIHtyZWFkOiBJZ3hDb2x1bW5BY3Rpb25zQ29tcG9uZW50fSlcbiAgICBwcml2YXRlIHNldCBjb250ZW50KGNvbnRlbnQ6IElneENvbHVtbkFjdGlvbnNDb21wb25lbnQpIHtcbiAgICAgICAgdGhpcy5jb2x1bW5BY3Rpb25zVUkgPSBjb250ZW50O1xuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJncmlkLnJlbmRlcmVkJCB8IGFzeW5jXCI+XG4gICAgPGJ1dHRvbiBbdGl0bGVdPVwiZ3JpZD8ucmVzb3VyY2VTdHJpbmdzLmlneF9ncmlkX3Rvb2xiYXJfcGlubmluZ19idXR0b25fdG9vbHRpcFwiICNidG4gaWd4QnV0dG9uPVwib3V0bGluZWRcIiB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgbmFtZT1cImJ0bkNvbHVtblBpbm5pbmdcIiAoY2xpY2spPVwidG9nZ2xlKGJ0biwgcmVmLCBhY3Rpb25zKVwiIFtkaXNwbGF5RGVuc2l0eV09XCJncmlkLmRpc3BsYXlEZW5zaXR5XCI+XG4gICAgICAgIDxpZ3gtaWNvbiBmYW1pbHk9XCJpbXgtaWNvbnNcIiBbbmFtZV09XCIhZ3JpZC5waW5uZWRDb2x1bW5zQ291bnQgPyAndW5waW4tbGVmdCcgOiAncGluLWxlZnQnXCI+PC9pZ3gtaWNvbj5cbiAgICAgICAgPHNwYW4+e3sgZ3JpZC5waW5uZWRDb2x1bW5zQ291bnQgfX08L3NwYW4+XG4gICAgICAgIDxzcGFuPnt7IGJ1dHRvblRleHQgfX08L3NwYW4+XG4gICAgPC9idXR0b24+XG4gICAgPGlneC1jb2x1bW4tYWN0aW9ucyAjYWN0aW9ucyBpZ3hDb2x1bW5QaW5uaW5nIGlneFRvZ2dsZSAob3BlbmVkKT1cImZvY3VzU2VhcmNoKHJlZi5lbGVtZW50KVwiICNyZWY9XCJ0b2dnbGVcIlxuICAgICAgICBbZ3JpZF09XCJncmlkXCIgW3RpdGxlXT1cInRpdGxlIHx8IGdyaWQ/LnJlc291cmNlU3RyaW5ncy5pZ3hfZ3JpZF90b29sYmFyX3Bpbm5pbmdfdGl0bGVcIlxuICAgICAgICBbZmlsdGVyQ29sdW1uc1Byb21wdF09XCJwcm9tcHQgfHwgZ3JpZD8ucmVzb3VyY2VTdHJpbmdzLmlneF9ncmlkX3Rvb2xiYXJfYWN0aW9uc19maWx0ZXJfcHJvbXB0XCJcbiAgICAgICAgW2hpZGVGaWx0ZXJdPVwiaGlkZUZpbHRlclwiIFtmaWx0ZXJDcml0ZXJpYV09XCJmaWx0ZXJDcml0ZXJpYVwiIFtjb2x1bW5EaXNwbGF5T3JkZXJdPVwiY29sdW1uRGlzcGxheU9yZGVyXCIgW2NvbHVtbnNBcmVhTWF4SGVpZ2h0XT1cImNvbHVtbnNBcmVhTWF4SGVpZ2h0XCJcbiAgICAgICAgW3VuY2hlY2tBbGxUZXh0XT1cInVuY2hlY2tBbGxUZXh0XCIgW2NoZWNrQWxsVGV4dF09XCJjaGVja0FsbFRleHRcIiBbaW5kZW50YXRpb25dPVwiaW5kZW50ZXRpb25cIj5cbiAgICA8L2lneC1jb2x1bW4tYWN0aW9ucz5cbjwvbmctY29udGFpbmVyPlxuIl19
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC10b29sYmFyLXBpbm5pbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaWduaXRldWktYW5ndWxhci9zcmMvbGliL2dyaWRzL3Rvb2xiYXIvZ3JpZC10b29sYmFyLXBpbm5pbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaWduaXRldWktYW5ndWxhci9zcmMvbGliL2dyaWRzL3Rvb2xiYXIvZ3JpZC10b29sYmFyLXBpbm5pbmcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDdkYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDdkYsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDeEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDOUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDOUUsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFbEQ7Ozs7Ozs7Ozs7O0dBV0c7QUFPSCxNQUFNLE9BQU8sOEJBQStCLFNBQVEsaUNBQWlDO0lBRWpGLElBQ1ksT0FBTyxDQUFDLE9BQWtDO1FBQ2xELElBQUksQ0FBQyxlQUFlLEdBQUcsT0FBTyxDQUFDO0lBQ25DLENBQUM7OEdBTFEsOEJBQThCO2tHQUE5Qiw4QkFBOEIsNkhBRTVCLHlCQUF5QiwyQkFBUyx5QkFBeUIsb0RDN0IxRSxvb0NBY0EsNENEV2MsSUFBSSw2RkFBRSxrQkFBa0Isd01BQUUsZ0JBQWdCLDJGQUFFLHlCQUF5QixrUkFBRSx5QkFBeUIsK0RBQUUsa0JBQWtCLDBKQUFFLFNBQVM7OzJGQUVoSSw4QkFBOEI7a0JBTjFDLFNBQVM7K0JBQ0ksMEJBQTBCLGNBRXhCLElBQUksV0FDUCxDQUFDLElBQUksRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSx5QkFBeUIsRUFBRSx5QkFBeUIsRUFBRSxrQkFBa0IsRUFBRSxTQUFTLENBQUM7OEJBSzlILE9BQU87c0JBRGxCLFNBQVM7dUJBQUMseUJBQXlCLEVBQUUsRUFBQyxJQUFJLEVBQUUseUJBQXlCLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSWd4Q29sdW1uQWN0aW9uc0NvbXBvbmVudCB9IGZyb20gJy4uL2NvbHVtbi1hY3Rpb25zL2NvbHVtbi1hY3Rpb25zLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJZ3hDb2x1bW5QaW5uaW5nRGlyZWN0aXZlIH0gZnJvbSAnLi4vY29sdW1uLWFjdGlvbnMvY29sdW1uLXBpbm5pbmcuZGlyZWN0aXZlJztcbmltcG9ydCB7IEJhc2VUb29sYmFyQ29sdW1uQWN0aW9uc0RpcmVjdGl2ZSB9IGZyb20gJy4vZ3JpZC10b29sYmFyLmJhc2UnO1xuaW1wb3J0IHsgSWd4VG9nZ2xlRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy90b2dnbGUvdG9nZ2xlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBJZ3hJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vaWNvbi9pY29uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJZ3hCdXR0b25EaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2J1dHRvbi9idXR0b24uZGlyZWN0aXZlJztcbmltcG9ydCB7IE5nSWYsIEFzeW5jUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbi8qKlxuICogUHJvdmlkZXMgYSBwcmUtY29uZmlndXJlZCBjb2x1bW4gcGlubmluZyBjb21wb25lbnQgZm9yIHRoZSBncmlkLlxuICpcbiAqXG4gKiBAaWd4TW9kdWxlIElneEdyaWRUb29sYmFyTW9kdWxlXG4gKiBAaWd4UGFyZW50IElneEdyaWRUb29sYmFyQ29tcG9uZW50XG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYGh0bWxcbiAqICA8aWd4LWdyaWQtdG9vbGJhci1waW5uaW5nPjwvaWd4LWdyaWQtdG9vbGJhci1waW5uaW5nPlxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnaWd4LWdyaWQtdG9vbGJhci1waW5uaW5nJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZ3JpZC10b29sYmFyLXBpbm5pbmcuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW05nSWYsIElneEJ1dHRvbkRpcmVjdGl2ZSwgSWd4SWNvbkNvbXBvbmVudCwgSWd4Q29sdW1uQWN0aW9uc0NvbXBvbmVudCwgSWd4Q29sdW1uUGlubmluZ0RpcmVjdGl2ZSwgSWd4VG9nZ2xlRGlyZWN0aXZlLCBBc3luY1BpcGVdXG59KVxuZXhwb3J0IGNsYXNzIElneEdyaWRUb29sYmFyUGlubmluZ0NvbXBvbmVudCBleHRlbmRzIEJhc2VUb29sYmFyQ29sdW1uQWN0aW9uc0RpcmVjdGl2ZSB7XG5cbiAgICBAVmlld0NoaWxkKElneENvbHVtblBpbm5pbmdEaXJlY3RpdmUsIHtyZWFkOiBJZ3hDb2x1bW5BY3Rpb25zQ29tcG9uZW50fSlcbiAgICBwcml2YXRlIHNldCBjb250ZW50KGNvbnRlbnQ6IElneENvbHVtbkFjdGlvbnNDb21wb25lbnQpIHtcbiAgICAgICAgdGhpcy5jb2x1bW5BY3Rpb25zVUkgPSBjb250ZW50O1xuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJncmlkLnJlbmRlcmVkJCB8IGFzeW5jXCI+XG4gICAgPGJ1dHRvbiBbdGl0bGVdPVwiZ3JpZD8ucmVzb3VyY2VTdHJpbmdzLmlneF9ncmlkX3Rvb2xiYXJfcGlubmluZ19idXR0b25fdG9vbHRpcFwiICNidG4gaWd4QnV0dG9uPVwib3V0bGluZWRcIiB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgbmFtZT1cImJ0bkNvbHVtblBpbm5pbmdcIiAoY2xpY2spPVwidG9nZ2xlKGJ0biwgcmVmLCBhY3Rpb25zKVwiIFtkaXNwbGF5RGVuc2l0eV09XCJncmlkLmRpc3BsYXlEZW5zaXR5XCI+XG4gICAgICAgIDxpZ3gtaWNvbiBmYW1pbHk9XCJpbXgtaWNvbnNcIiBbbmFtZV09XCIhZ3JpZC5waW5uZWRDb2x1bW5zQ291bnQgPyAndW5waW4tbGVmdCcgOiAncGluLWxlZnQnXCI+PC9pZ3gtaWNvbj5cbiAgICAgICAgPHNwYW4+e3sgZ3JpZC5waW5uZWRDb2x1bW5zQ291bnQgfX08L3NwYW4+XG4gICAgICAgIDxzcGFuPnt7IGJ1dHRvblRleHQgfX08L3NwYW4+XG4gICAgPC9idXR0b24+XG4gICAgPGlneC1jb2x1bW4tYWN0aW9ucyAjYWN0aW9ucyBpZ3hDb2x1bW5QaW5uaW5nIGlneFRvZ2dsZSAob3BlbmVkKT1cImZvY3VzU2VhcmNoKHJlZi5lbGVtZW50KVwiICNyZWY9XCJ0b2dnbGVcIlxuICAgICAgICBbZ3JpZF09XCJncmlkXCIgW3RpdGxlXT1cInRpdGxlIHx8IGdyaWQ/LnJlc291cmNlU3RyaW5ncy5pZ3hfZ3JpZF90b29sYmFyX3Bpbm5pbmdfdGl0bGVcIlxuICAgICAgICBbZmlsdGVyQ29sdW1uc1Byb21wdF09XCJwcm9tcHQgfHwgZ3JpZD8ucmVzb3VyY2VTdHJpbmdzLmlneF9ncmlkX3Rvb2xiYXJfYWN0aW9uc19maWx0ZXJfcHJvbXB0XCJcbiAgICAgICAgW2hpZGVGaWx0ZXJdPVwiaGlkZUZpbHRlclwiIFtmaWx0ZXJDcml0ZXJpYV09XCJmaWx0ZXJDcml0ZXJpYVwiIFtjb2x1bW5EaXNwbGF5T3JkZXJdPVwiY29sdW1uRGlzcGxheU9yZGVyXCIgW2NvbHVtbnNBcmVhTWF4SGVpZ2h0XT1cImNvbHVtbnNBcmVhTWF4SGVpZ2h0XCJcbiAgICAgICAgW3VuY2hlY2tBbGxUZXh0XT1cInVuY2hlY2tBbGxUZXh0XCIgW2NoZWNrQWxsVGV4dF09XCJjaGVja0FsbFRleHRcIiBbaW5kZW50YXRpb25dPVwiaW5kZW50ZXRpb25cIj5cbiAgICA8L2lneC1jb2x1bW4tYWN0aW9ucz5cbjwvbmctY29udGFpbmVyPlxuIl19
@@ -105,10 +105,10 @@ export class BaseToolbarDirective {
105
105
  toggleRef.closed.pipe(first(), takeUntil(this.$destroy)).subscribe((event) => this.closed.emit(event));
106
106
  }
107
107
  }
108
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-rc.4", ngImport: i0, type: BaseToolbarDirective, deps: [{ token: IgxToolbarToken }], target: i0.ɵɵFactoryTarget.Directive }); }
109
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0-rc.4", type: BaseToolbarDirective, inputs: { columnListHeight: "columnListHeight", title: "title", prompt: "prompt", overlaySettings: "overlaySettings" }, outputs: { opening: "opening", opened: "opened", closing: "closing", closed: "closed", columnToggle: "columnToggle" }, ngImport: i0 }); }
108
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: BaseToolbarDirective, deps: [{ token: IgxToolbarToken }], target: i0.ɵɵFactoryTarget.Directive }); }
109
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: BaseToolbarDirective, inputs: { columnListHeight: "columnListHeight", title: "title", prompt: "prompt", overlaySettings: "overlaySettings" }, outputs: { opening: "opening", opened: "opened", closing: "closing", closed: "closed", columnToggle: "columnToggle" }, ngImport: i0 }); }
110
110
  }
111
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-rc.4", ngImport: i0, type: BaseToolbarDirective, decorators: [{
111
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: BaseToolbarDirective, decorators: [{
112
112
  type: Directive
113
113
  }], ctorParameters: function () { return [{ type: i1.IgxToolbarToken, decorators: [{
114
114
  type: Inject,
@@ -151,10 +151,10 @@ export class BaseToolbarColumnActionsDirective extends BaseToolbarDirective {
151
151
  uncheckAll() {
152
152
  this.columnActionsUI.uncheckAllColumns();
153
153
  }
154
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-rc.4", ngImport: i0, type: BaseToolbarColumnActionsDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
155
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0-rc.4", type: BaseToolbarColumnActionsDirective, inputs: { hideFilter: "hideFilter", filterCriteria: "filterCriteria", columnDisplayOrder: "columnDisplayOrder", columnsAreaMaxHeight: "columnsAreaMaxHeight", uncheckAllText: "uncheckAllText", checkAllText: "checkAllText", indentetion: "indentetion", buttonText: "buttonText" }, usesInheritance: true, ngImport: i0 }); }
154
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: BaseToolbarColumnActionsDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
155
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: BaseToolbarColumnActionsDirective, inputs: { hideFilter: "hideFilter", filterCriteria: "filterCriteria", columnDisplayOrder: "columnDisplayOrder", columnsAreaMaxHeight: "columnsAreaMaxHeight", uncheckAllText: "uncheckAllText", checkAllText: "checkAllText", indentetion: "indentetion", buttonText: "buttonText" }, usesInheritance: true, ngImport: i0 }); }
156
156
  }
157
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-rc.4", ngImport: i0, type: BaseToolbarColumnActionsDirective, decorators: [{
157
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: BaseToolbarColumnActionsDirective, decorators: [{
158
158
  type: Directive
159
159
  }], propDecorators: { hideFilter: [{
160
160
  type: Input
@@ -173,4 +173,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-rc.4", ng
173
173
  }], buttonText: [{
174
174
  type: Input
175
175
  }] } });
176
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC10b29sYmFyLmJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyL3NyYy9saWIvZ3JpZHMvdG9vbGJhci9ncmlkLXRvb2xiYXIuYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFHLEtBQUssRUFBRSxZQUFZLEVBQWEsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsT0FBTyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUM3QyxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBSXJELE9BQU8sRUFBRSxtQkFBbUIsRUFBbUIsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMzRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQzFDLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGdFQUFnRSxDQUFDOzs7QUFHOUc7Ozs7R0FJRztBQUVILE1BQU0sT0FBZ0Isb0JBQW9CO0lBbUJ0Qzs7T0FFRztJQUNILElBQ1csZUFBZSxDQUFDLGVBQWdDO1FBQ3ZELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxlQUFlLENBQUM7SUFDNUMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxlQUFlO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQ2pDLENBQUM7SUErQ0Q7O09BRUc7SUFDSCxJQUFXLElBQUk7UUFDWCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO0lBQzdCLENBQUM7SUFFRCxZQUErQyxPQUF3QjtRQUF4QixZQUFPLEdBQVAs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QU07c0JBRFosS0FBSztnQkFPSyxlQUFlO3NCQUR6QixLQUFLO2dCQWVDLE9BQU87c0JBRGIsTUFBTTtnQkFPQSxNQUFNO3NCQURaLE1BQU07Z0JBT0EsT0FBTztzQkFEWixNQUFNO2dCQU9ELE1BQU07c0JBRFgsTUFBTTtnQkFPRCxZQUFZO3NCQURsQixNQUFNOztBQXdFWDs7O0dBR0c7QUFFRixNQUFNLE9BQWdCLGlDQUFrQyxTQUFRLG9CQUFvQjtJQURwRjs7UUFHVyxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBR25CLG1CQUFjLEdBQUcsRUFBRSxDQUFDO1FBR3BCLHVCQUFrQixHQUF1QixrQkFBa0IsQ0FBQyxZQUFZLENBQUM7UUFHekUseUJBQW9CLEdBQUcsTUFBTSxDQUFDO1FBUzlCLGdCQUFXLEdBQUcsRUFBRSxDQUFDO0tBYzNCO0lBUFUsUUFBUTtRQUNYLElBQUksQ0FBQyxlQUFlLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVNLFVBQVU7UUFDYixJQUFJLENBQUMsZUFBZSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDN0MsQ0FBQzttSEFqQ2lCLGlDQUFpQzt1R0FBakMsaUNBQWlDOztnR0FBakMsaUNBQWlDO2tCQUR0RCxTQUFTOzhCQUdDLFVBQVU7c0JBRGhCLEtBQUs7Z0JBSUMsY0FBYztzQkFEcEIsS0FBSztnQkFJQyxrQkFBa0I7c0JBRHhCLEtBQUs7Z0JBSUMsb0JBQW9CO3NCQUQxQixLQUFLO2dCQUlDLGNBQWM7c0JBRHBCLEtBQUs7Z0JBSUMsWUFBWTtzQkFEbEIsS0FBSztnQkFJQyxXQUFXO3NCQURqQixLQUFLO2dCQUlBLFVBQVU7c0JBRGhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsICBJbnB1dCwgRXZlbnRFbWl0dGVyLCBPbkRlc3Ryb3ksIE91dHB1dCwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpcnN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEFic29sdXRlU2Nyb2xsU3RyYXRlZ3kgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9vdmVybGF5L3Njcm9sbC9hYnNvbHV0ZS1zY3JvbGwtc3RyYXRlZ3knO1xuaW1wb3J0IHsgQ29sdW1uRGlzcGxheU9yZGVyIH0gZnJvbSAnLi4vY29tbW9uL2VudW1zJztcbmltcG9ydCB7IElDb2x1bW5Ub2dnbGVkRXZlbnRBcmdzIH0gZnJvbSAnLi4vY29tbW9uL2V2ZW50cyc7XG5pbXBvcnQgeyBJZ3hDb2x1bW5BY3Rpb25zQ29tcG9uZW50IH0gZnJvbSAnLi4vY29sdW1uLWFjdGlvbnMvY29sdW1uLWFjdGlvbnMuY29tcG9uZW50JztcbmltcG9ydCB7IElneFRvZ2dsZURpcmVjdGl2ZSwgVG9nZ2xlVmlld0NhbmNlbGFibGVFdmVudEFyZ3MsIFRvZ2dsZVZpZXdFdmVudEFyZ3MgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL3RvZ2dsZS90b2dnbGUuZGlyZWN0aXZlJztcbmltcG9ydCB7IEhvcml6b250YWxBbGlnbm1lbnQsIE92ZXJsYXlTZXR0aW5ncywgVmVydGljYWxBbGlnbm1lbnQgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9vdmVybGF5L3V0aWxpdGllcyc7XG5pbXBvcnQgeyBJZ3hUb29sYmFyVG9rZW4gfSBmcm9tICcuL3Rva2VuJztcbmltcG9ydCB7IENvbm5lY3RlZFBvc2l0aW9uaW5nU3RyYXRlZ3kgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9vdmVybGF5L3Bvc2l0aW9uL2Nvbm5lY3RlZC1wb3NpdGlvbmluZy1zdHJhdGVneSc7XG5cblxuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciB0aGUgcGlubmluZy9oaWRpbmcgY29sdW1uIGFuZCBleHBvcnRlciBhY3Rpb25zLlxuICpcbiAqIEBoaWRkZW4gQGludGVybmFsXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VUb29sYmFyRGlyZWN0aXZlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgICAvKipcbiAgICAgKiBTZXRzIHRoZSBoZWlnaHQgb2YgdGhlIGNvbHVtbiBsaXN0IGluIHRoZSBkcm9wZG93bi5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBjb2x1bW5MaXN0SGVpZ2h0OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUaXRsZSB0ZXh0IGZvciB0aGUgY29sdW1uIGFjdGlvbiBjb21wb25lbnRcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB0aXRsZTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHBsYWNlaG9sZGVyIHRleHQgZm9yIHRoZSBzZWFyY2ggaW5wdXQuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcHJvbXB0OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIG92ZXJsYXkgc2V0dGluZ3NcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgb3ZlcmxheVNldHRpbmdzKG92ZXJsYXlTZXR0aW5nczogT3ZlcmxheVNldHRpbmdzKSB7XG4gICAgICAgIHRoaXMuX292ZXJsYXlTZXR0aW5ncyA9IG92ZXJsYXlTZXR0aW5ncztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIG92ZXJsYXkgc2V0dGluZ3NcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IG92ZXJsYXlTZXR0aW5ncygpOiBPdmVybGF5U2V0dGluZ3Mge1xuICAgICAgICByZXR1cm4gdGhpcy5fb3ZlcmxheVNldHRpbmdzO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBFbWl0cyBhbiBldmVudCBiZWZvcmUgdGhlIHRvZ2dsZSBjb250YWluZXIgaXMgb3BlbmVkLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBvcGVuaW5nID0gbmV3IEV2ZW50RW1pdHRlcjxUb2dnbGVWaWV3Q2FuY2VsYWJsZUV2ZW50QXJncz4oKTtcbiAgICAvKipcbiAgICAgKiBFbWl0cyBhbiBldmVudCBhZnRlciB0aGUgdG9nZ2xlIGNvbnRhaW5lciBpcyBvcGVuZWQuXG4gICAgICovXG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgb3BlbmVkID0gbmV3IEV2ZW50RW1pdHRlcjxUb2dnbGVWaWV3RXZlbnRBcmdzPigpO1xuICAgIC8qKlxuICAgICAqIEVtaXRzIGFuIGV2ZW50IGJlZm9yZSB0aGUgdG9nZ2xlIGNvbnRhaW5lciBpcyBjbG9zZWQuXG4gICAgICovXG5cbiAgICAgQE91dHB1dCgpXG4gICAgcHVibGljIGNsb3NpbmcgPSBuZXcgRXZlbnRFbWl0dGVyPFRvZ2dsZVZpZXdFdmVudEFyZ3M+KCk7XG4gICAgLyoqXG4gICAgICogRW1pdHMgYW4gZXZlbnQgYWZ0ZXIgdGhlIHRvZ2dsZSBjb250YWluZXIgaXMgY2xvc2VkLlxuICAgICAqL1xuXG4gICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBjbG9zZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFRvZ2dsZVZpZXdFdmVudEFyZ3M+KCk7XG5cbiAgICAvKipcbiAgICAgKiBFbWl0cyB3aGVuIGFmdGVyIGEgY29sdW1uJ3MgY2hlY2tlZCBzdGF0ZSBpcyBjaGFuZ2VkXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGNvbHVtblRvZ2dsZSA9IG5ldyBFdmVudEVtaXR0ZXI8SUNvbHVtblRvZ2dsZWRFdmVudEFyZ3M+KCk7XG5cbiAgICBwcml2YXRlICRkZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICBwcml2YXRlICRzdWI6IFN1YnNjcmlwdGlvbjtcblxuICAgIHByaXZhdGUgX292ZXJsYXlTZXR0aW5nczogT3ZlcmxheVNldHRpbmdzID0ge1xuICAgICAgICBwb3NpdGlvblN0cmF0ZWd5OiBuZXcgQ29ubmVjdGVkUG9zaXRpb25pbmdTdHJhdGVneSh7XG4gICAgICAgICAgICBob3Jpem9udGFsRGlyZWN0aW9uOiBIb3Jpem9udGFsQWxpZ25tZW50LkxlZnQsXG4gICAgICAgICAgICBob3Jpem9udGFsU3RhcnRQb2ludDogSG9yaXpvbnRhbEFsaWdubWVudC5SaWdodCxcbiAgICAgICAgICAgIHZlcnRpY2FsRGlyZWN0aW9uOiBWZXJ0aWNhbEFsaWdubWVudC5Cb3R0b20sXG4gICAgICAgICAgICB2ZXJ0aWNhbFN0YXJ0UG9pbnQ6IFZlcnRpY2FsQWxpZ25tZW50LkJvdHRvbVxuICAgICAgICB9KSxcbiAgICAgICAgc2Nyb2xsU3RyYXRlZ3k6IG5ldyBBYnNvbHV0ZVNjcm9sbFN0cmF0ZWd5KCksXG4gICAgICAgIG1vZGFsOiBmYWxzZSxcbiAgICAgICAgY2xvc2VPbkVzY2FwZTogdHJ1ZSxcbiAgICAgICAgY2xvc2VPbk91dHNpZGVDbGljazogdHJ1ZVxuICAgIH07XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSBncmlkIGNvbnRhaW5pbmcgdGhpcyBjb21wb25lbnQuXG4gICAgICovXG4gICAgcHVibGljIGdldCBncmlkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy50b29sYmFyLmdyaWQ7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoQEluamVjdChJZ3hUb29sYmFyVG9rZW4pIHByb3RlY3RlZCB0b29sYmFyOiBJZ3hUb29sYmFyVG9rZW4pIHsgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLiRkZXN0cm95Lm5leHQoKTtcbiAgICAgICAgdGhpcy4kZGVzdHJveS5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIHB1YmxpYyB0b2dnbGUoYW5jaG9yRWxlbWVudDogSFRNTEVsZW1lbnQsIHRvZ2dsZVJlZjogSWd4VG9nZ2xlRGlyZWN0aXZlLCBhY3Rpb25zPzogSWd4Q29sdW1uQWN0aW9uc0NvbXBvbmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoYWN0aW9ucykge1xuICAgICAgICAgICAgdGhpcy5fc2V0dXBMaXN0ZW5lcnModG9nZ2xlUmVmLCBhY3Rpb25zKTtcbiAgICAgICAgICAgIGNvbnN0IHNldEhlaWdodCA9ICgpID0+XG4gICAgICAgICAgICAgICAgYWN0aW9ucy5jb2x1bW5zQXJlYU1heEhlaWdodCA9IGFjdGlvbnMuY29sdW1uc0FyZWFNYXhIZWlnaHQgIT09ICcxMDAlJ1xuICAgICAgICAgICAgICAgICAgICA/IGFjdGlvbnMuY29sdW1uc0FyZWFNYXhIZWlnaHQgOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbHVtbkxpc3RIZWlnaHQgPz9cbiAgICAgICAgICAgICAgICAgICAgYCR7TWF0aC5tYXgodGhpcy5ncmlkLmNhbGNIZWlnaHQgKiAwLjUsIDIwMCl9cHhgO1xuICAgICAgICAgICAgdG9nZ2xlUmVmLm9wZW5pbmcucGlwZShmaXJzdCgpKS5zdWJzY3JpYmUoc2V0SGVpZ2h0KTtcbiAgICAgICAgfVxuICAgICAgICB0b2dnbGVSZWYudG9nZ2xlKHsgLi4udGhpcy5vdmVybGF5U2V0dGluZ3MsIC4uLnsgdGFyZ2V0OiBhbmNob3JFbGVtZW50LCBvdXRsZXQ6IHRoaXMuZ3JpZC5vdXRsZXQsXG4gICAgICAgICAgICBleGNsdWRlRnJvbU91dHNpZGVDbGljazogW2FuY2hvckVsZW1lbnRdIH19KTtcblxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIHB1YmxpYyBmb2N1c1NlYXJjaChjb2x1bW5BY3Rpb25zOiBIVE1MRWxlbWVudCkge1xuICAgICAgICBjb2x1bW5BY3Rpb25zLnF1ZXJ5U2VsZWN0b3IoJ2lucHV0Jyk/LmZvY3VzKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfc2V0dXBMaXN0ZW5lcnModG9nZ2xlUmVmOiBJZ3hUb2dnbGVEaXJlY3RpdmUsIGFjdGlvbnM/IDogSWd4Q29sdW1uQWN0aW9uc0NvbXBvbmVudCkge1xuICAgICAgICBpZiAoYWN0aW9ucyl7XG4gICAgICAgICAgICBpZiAoIXRoaXMuJHN1YiB8fCB0aGlzLiRzdWIuY2xvc2VkKXtcbiAgICAgICAgICAgICAgICB0aGlzLiRzdWIgPSBhY3Rpb25zLmNvbHVtblRvZ2dsZWQucGlwZSh0YWtlVW50aWwodGhpcy4kZGVzdHJveSkpLnN1YnNjcmliZSgoZXZlbnQpID0+IHRoaXMuY29sdW1uVG9nZ2xlLmVtaXQoZXZlbnQpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvKiogVGhlIGlmIHN0YXRlbWVudCBwcmV2ZW50cyBlbWl0dGluZyBvcGVuIGFuZCBjbG9zZSBldmVudHMgdHdpY2UgICovXG4gICAgICAgIGlmICh0b2dnbGVSZWYuY29sbGFwc2VkKSB7XG4gICAgICAgICAgICB0b2dnbGVSZWYub3BlbmluZy5waXBlKGZpcnN0KCksIHRha2VVbnRpbCh0aGlzLiRkZXN0cm95KSkuc3Vic2NyaWJlKChldmVudCkgPT4gdGhpcy5vcGVuaW5nLmVtaXQoZXZlbnQpKTtcbiAgICAgICAgICAgIHRvZ2dsZVJlZi5vcGVuZWQucGlwZShmaXJzdCgpLCB0YWtlVW50aWwodGhpcy4kZGVzdHJveSkpLnN1YnNjcmliZSgoZXZlbnQpID0+IHRoaXMub3BlbmVkLmVtaXQoZXZlbnQpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRvZ2dsZVJlZi5jbG9zaW5nLnBpcGUoZmlyc3QoKSwgdGFrZVVudGlsKHRoaXMuJGRlc3Ryb3kpKS5zdWJzY3JpYmUoKGV2ZW50KSA9PiB0aGlzLmNsb3NpbmcuZW1pdChldmVudCkpO1xuICAgICAgICAgICAgdG9nZ2xlUmVmLmNsb3NlZC5waXBlKGZpcnN0KCksIHRha2VVbnRpbCh0aGlzLiRkZXN0cm95KSkuc3Vic2NyaWJlKChldmVudCkgPT4gdGhpcy5jbG9zZWQuZW1pdChldmVudCkpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8qKlxuICogQGhpZGRlbiBAaW50ZXJuYWxcbiAqIEJhc2UgY2xhc3MgZm9yIHBpbm5pbmcvaGlkaW5nIGNvbHVtbiBhY3Rpb25zXG4gKi9cbiBARGlyZWN0aXZlKClcbiBleHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZVRvb2xiYXJDb2x1bW5BY3Rpb25zRGlyZWN0aXZlIGV4dGVuZHMgQmFzZVRvb2xiYXJEaXJlY3RpdmUge1xuICAgICBASW5wdXQoKVxuICAgICBwdWJsaWMgaGlkZUZpbHRlciA9IGZhbHNlO1xuXG4gICAgIEBJbnB1dCgpXG4gICAgIHB1YmxpYyBmaWx0ZXJDcml0ZXJpYSA9ICcnO1xuXG4gICAgIEBJbnB1dCgpXG4gICAgIHB1YmxpYyBjb2x1bW5EaXNwbGF5T3JkZXI6IENvbHVtbkRpc3BsYXlPcmRlciA9IENvbHVtbkRpc3BsYXlPcmRlci5EaXNwbGF5T3JkZXI7XG5cbiAgICAgQElucHV0KClcbiAgICAgcHVibGljIGNvbHVtbnNBcmVhTWF4SGVpZ2h0ID0gJzEwMCUnO1xuXG4gICAgIEBJbnB1dCgpXG4gICAgIHB1YmxpYyB1bmNoZWNrQWxsVGV4dDogc3RyaW5nO1xuXG4gICAgIEBJbnB1dCgpXG4gICAgIHB1YmxpYyBjaGVja0FsbFRleHQ6IHN0cmluZztcblxuICAgICBASW5wdXQoKVxuICAgICBwdWJsaWMgaW5kZW50ZXRpb24gPSAzMDtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGJ1dHRvblRleHQ6IHN0cmluZztcblxuICAgIHByb3RlY3RlZCBjb2x1bW5BY3Rpb25zVUk6IElneENvbHVtbkFjdGlvbnNDb21wb25lbnQ7XG5cbiAgICAgcHVibGljIGNoZWNrQWxsKCkge1xuICAgICAgICAgdGhpcy5jb2x1bW5BY3Rpb25zVUkuY2hlY2tBbGxDb2x1bW5zKCk7XG4gICAgIH1cblxuICAgICBwdWJsaWMgdW5jaGVja0FsbCgpIHtcbiAgICAgICAgIHRoaXMuY29sdW1uQWN0aW9uc1VJLnVuY2hlY2tBbGxDb2x1bW5zKCk7XG4gICAgIH1cbiB9XG4iXX0=
176
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC10b29sYmFyLmJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyL3NyYy9saWIvZ3JpZHMvdG9vbGJhci9ncmlkLXRvb2xiYXIuYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFHLEtBQUssRUFBRSxZQUFZLEVBQWEsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsT0FBTyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUM3QyxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBSXJELE9BQU8sRUFBRSxtQkFBbUIsRUFBbUIsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMzRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQzFDLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGdFQUFnRSxDQUFDOzs7QUFHOUc7Ozs7R0FJRztBQUVILE1BQU0sT0FBZ0Isb0JBQW9CO0lBbUJ0Qzs7T0FFRztJQUNILElBQ1csZUFBZSxDQUFDLGVBQWdDO1FBQ3ZELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxlQUFlLENBQUM7SUFDNUMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxlQUFlO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQ2pDLENBQUM7SUErQ0Q7O09BRUc7SUFDSCxJQUFXLElBQUk7UUFDWCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO0lBQzdCLENBQUM7SUFFRCxZQUErQyxPQUF3QjtRQUF4QixZQUFPLEdBQVAsT0FBTyxDQUFpQjtRQXJEdkU7O1dBRUc7UUFFSSxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQWlDLENBQUM7UUFDbkU7O1dBRUc7UUFHSSxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7UUFDeEQ7O1dBRUc7UUFHSSxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7UUFDekQ7O1dBRUc7UUFHSSxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7UUFFeEQ7O1dBRUc7UUFFSSxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUEyQixDQUFDO1FBRTFELGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRy9CLHFCQUFnQixHQUFvQjtZQUN4QyxnQkFBZ0IsRUFBRSxJQUFJLDRCQUE0QixDQUFDO2dCQUMvQyxtQkFBbUIsRUFBRSxtQkFBbUIsQ0FBQyxJQUFJO2dCQUM3QyxvQkFBb0IsRUFBRSxtQkFBbUIsQ0FBQyxLQUFLO2dCQUMvQyxpQkFBaUIsRUFBRSxpQkFBaUIsQ0FBQyxNQUFNO2dCQUMzQyxrQkFBa0IsRUFBRSxpQkFBaUIsQ0FBQyxNQUFNO2FBQy9DLENBQUM7WUFDRixjQUFjLEVBQUUsSUFBSSxzQkFBc0IsRUFBRTtZQUM1QyxLQUFLLEVBQUUsS0FBSztZQUNaLGFBQWEsRUFBRSxJQUFJO1lBQ25CLG1CQUFtQixFQUFFLElBQUk7U0FDNUIsQ0FBQztJQVN5RSxDQUFDO0lBRXJFLFdBQVc7UUFDZCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELHdCQUF3QjtJQUNqQixNQUFNLENBQUMsYUFBMEIsRUFBRSxTQUE2QixFQUFFLE9BQW1DO1FBQ3hHLElBQUksT0FBTyxFQUFFO1lBQ1QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDekMsTUFBTSxTQUFTLEdBQUcsR0FBRyxFQUFFLENBQ25CLE9BQU8sQ0FBQyxvQkFBb0IsR0FBRyxPQUFPLENBQUMsb0JBQW9CLEtBQUssTUFBTTtnQkFDbEUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO2dCQUNoQyxJQUFJLENBQUMsZ0JBQWdCO29CQUNyQixHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsR0FBRyxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUM7WUFDekQsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDeEQ7UUFDRCxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU07Z0JBQzVGLHVCQUF1QixFQUFFLENBQUMsYUFBYSxDQUFDLEVBQUUsRUFBQyxDQUFDLENBQUM7SUFFckQsQ0FBQztJQUVELHdCQUF3QjtJQUNqQixXQUFXLENBQUMsYUFBMEI7UUFDekMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUNsRCxDQUFDO0lBRU8sZUFBZSxDQUFDLFNBQTZCLEVBQUUsT0FBb0M7UUFDdkYsSUFBSSxPQUFPLEVBQUM7WUFDUixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBQztnQkFDL0IsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2FBQ3hIO1NBQ0o7UUFDRCxzRUFBc0U7UUFDdEUsSUFBSSxTQUFTLENBQUMsU0FBUyxFQUFFO1lBQ3JCLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDekcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUMxRzthQUFNO1lBQ0gsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUN6RyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1NBQzFHO0lBQ0wsQ0FBQzs4R0FoSWlCLG9CQUFvQixrQkFzRmxCLGVBQWU7a0dBdEZqQixvQkFBb0I7OzJGQUFwQixvQkFBb0I7a0JBRHpDLFNBQVM7OzBCQXVGTyxNQUFNOzJCQUFDLGVBQWU7NENBakY1QixnQkFBZ0I7c0JBRHRCLEtBQUs7Z0JBT0MsS0FBSztzQkFEWCxLQUFLO2dCQU9DLE1BQU07c0JBRFosS0FBSztnQkFPSyxlQUFlO3NCQUR6QixLQUFLO2dCQWVDLE9BQU87c0JBRGIsTUFBTTtnQkFPQSxNQUFNO3NCQURaLE1BQU07Z0JBT0EsT0FBTztzQkFEWixNQUFNO2dCQU9ELE1BQU07c0JBRFgsTUFBTTtnQkFPRCxZQUFZO3NCQURsQixNQUFNOztBQXdFWDs7O0dBR0c7QUFFRixNQUFNLE9BQWdCLGlDQUFrQyxTQUFRLG9CQUFvQjtJQURwRjs7UUFHVyxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBR25CLG1CQUFjLEdBQUcsRUFBRSxDQUFDO1FBR3BCLHVCQUFrQixHQUF1QixrQkFBa0IsQ0FBQyxZQUFZLENBQUM7UUFHekUseUJBQW9CLEdBQUcsTUFBTSxDQUFDO1FBUzlCLGdCQUFXLEdBQUcsRUFBRSxDQUFDO0tBYzNCO0lBUFUsUUFBUTtRQUNYLElBQUksQ0FBQyxlQUFlLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVNLFVBQVU7UUFDYixJQUFJLENBQUMsZUFBZSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDN0MsQ0FBQzs4R0FqQ2lCLGlDQUFpQztrR0FBakMsaUNBQWlDOzsyRkFBakMsaUNBQWlDO2tCQUR0RCxTQUFTOzhCQUdDLFVBQVU7c0JBRGhCLEtBQUs7Z0JBSUMsY0FBYztzQkFEcEIsS0FBSztnQkFJQyxrQkFBa0I7c0JBRHhCLEtBQUs7Z0JBSUMsb0JBQW9CO3NCQUQxQixLQUFLO2dCQUlDLGNBQWM7c0JBRHBCLEtBQUs7Z0JBSUMsWUFBWTtzQkFEbEIsS0FBSztnQkFJQyxXQUFXO3NCQURqQixLQUFLO2dCQUlBLFVBQVU7c0JBRGhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsICBJbnB1dCwgRXZlbnRFbWl0dGVyLCBPbkRlc3Ryb3ksIE91dHB1dCwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpcnN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEFic29sdXRlU2Nyb2xsU3RyYXRlZ3kgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9vdmVybGF5L3Njcm9sbC9hYnNvbHV0ZS1zY3JvbGwtc3RyYXRlZ3knO1xuaW1wb3J0IHsgQ29sdW1uRGlzcGxheU9yZGVyIH0gZnJvbSAnLi4vY29tbW9uL2VudW1zJztcbmltcG9ydCB7IElDb2x1bW5Ub2dnbGVkRXZlbnRBcmdzIH0gZnJvbSAnLi4vY29tbW9uL2V2ZW50cyc7XG5pbXBvcnQgeyBJZ3hDb2x1bW5BY3Rpb25zQ29tcG9uZW50IH0gZnJvbSAnLi4vY29sdW1uLWFjdGlvbnMvY29sdW1uLWFjdGlvbnMuY29tcG9uZW50JztcbmltcG9ydCB7IElneFRvZ2dsZURpcmVjdGl2ZSwgVG9nZ2xlVmlld0NhbmNlbGFibGVFdmVudEFyZ3MsIFRvZ2dsZVZpZXdFdmVudEFyZ3MgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL3RvZ2dsZS90b2dnbGUuZGlyZWN0aXZlJztcbmltcG9ydCB7IEhvcml6b250YWxBbGlnbm1lbnQsIE92ZXJsYXlTZXR0aW5ncywgVmVydGljYWxBbGlnbm1lbnQgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9vdmVybGF5L3V0aWxpdGllcyc7XG5pbXBvcnQgeyBJZ3hUb29sYmFyVG9rZW4gfSBmcm9tICcuL3Rva2VuJztcbmltcG9ydCB7IENvbm5lY3RlZFBvc2l0aW9uaW5nU3RyYXRlZ3kgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9vdmVybGF5L3Bvc2l0aW9uL2Nvbm5lY3RlZC1wb3NpdGlvbmluZy1zdHJhdGVneSc7XG5cblxuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciB0aGUgcGlubmluZy9oaWRpbmcgY29sdW1uIGFuZCBleHBvcnRlciBhY3Rpb25zLlxuICpcbiAqIEBoaWRkZW4gQGludGVybmFsXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VUb29sYmFyRGlyZWN0aXZlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgICAvKipcbiAgICAgKiBTZXRzIHRoZSBoZWlnaHQgb2YgdGhlIGNvbHVtbiBsaXN0IGluIHRoZSBkcm9wZG93bi5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBjb2x1bW5MaXN0SGVpZ2h0OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUaXRsZSB0ZXh0IGZvciB0aGUgY29sdW1uIGFjdGlvbiBjb21wb25lbnRcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB0aXRsZTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHBsYWNlaG9sZGVyIHRleHQgZm9yIHRoZSBzZWFyY2ggaW5wdXQuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcHJvbXB0OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIG92ZXJsYXkgc2V0dGluZ3NcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgb3ZlcmxheVNldHRpbmdzKG92ZXJsYXlTZXR0aW5nczogT3ZlcmxheVNldHRpbmdzKSB7XG4gICAgICAgIHRoaXMuX292ZXJsYXlTZXR0aW5ncyA9IG92ZXJsYXlTZXR0aW5ncztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIG92ZXJsYXkgc2V0dGluZ3NcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IG92ZXJsYXlTZXR0aW5ncygpOiBPdmVybGF5U2V0dGluZ3Mge1xuICAgICAgICByZXR1cm4gdGhpcy5fb3ZlcmxheVNldHRpbmdzO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBFbWl0cyBhbiBldmVudCBiZWZvcmUgdGhlIHRvZ2dsZSBjb250YWluZXIgaXMgb3BlbmVkLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBvcGVuaW5nID0gbmV3IEV2ZW50RW1pdHRlcjxUb2dnbGVWaWV3Q2FuY2VsYWJsZUV2ZW50QXJncz4oKTtcbiAgICAvKipcbiAgICAgKiBFbWl0cyBhbiBldmVudCBhZnRlciB0aGUgdG9nZ2xlIGNvbnRhaW5lciBpcyBvcGVuZWQuXG4gICAgICovXG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgb3BlbmVkID0gbmV3IEV2ZW50RW1pdHRlcjxUb2dnbGVWaWV3RXZlbnRBcmdzPigpO1xuICAgIC8qKlxuICAgICAqIEVtaXRzIGFuIGV2ZW50IGJlZm9yZSB0aGUgdG9nZ2xlIGNvbnRhaW5lciBpcyBjbG9zZWQuXG4gICAgICovXG5cbiAgICAgQE91dHB1dCgpXG4gICAgcHVibGljIGNsb3NpbmcgPSBuZXcgRXZlbnRFbWl0dGVyPFRvZ2dsZVZpZXdFdmVudEFyZ3M+KCk7XG4gICAgLyoqXG4gICAgICogRW1pdHMgYW4gZXZlbnQgYWZ0ZXIgdGhlIHRvZ2dsZSBjb250YWluZXIgaXMgY2xvc2VkLlxuICAgICAqL1xuXG4gICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBjbG9zZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFRvZ2dsZVZpZXdFdmVudEFyZ3M+KCk7XG5cbiAgICAvKipcbiAgICAgKiBFbWl0cyB3aGVuIGFmdGVyIGEgY29sdW1uJ3MgY2hlY2tlZCBzdGF0ZSBpcyBjaGFuZ2VkXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGNvbHVtblRvZ2dsZSA9IG5ldyBFdmVudEVtaXR0ZXI8SUNvbHVtblRvZ2dsZWRFdmVudEFyZ3M+KCk7XG5cbiAgICBwcml2YXRlICRkZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICBwcml2YXRlICRzdWI6IFN1YnNjcmlwdGlvbjtcblxuICAgIHByaXZhdGUgX292ZXJsYXlTZXR0aW5nczogT3ZlcmxheVNldHRpbmdzID0ge1xuICAgICAgICBwb3NpdGlvblN0cmF0ZWd5OiBuZXcgQ29ubmVjdGVkUG9zaXRpb25pbmdTdHJhdGVneSh7XG4gICAgICAgICAgICBob3Jpem9udGFsRGlyZWN0aW9uOiBIb3Jpem9udGFsQWxpZ25tZW50LkxlZnQsXG4gICAgICAgICAgICBob3Jpem9udGFsU3RhcnRQb2ludDogSG9yaXpvbnRhbEFsaWdubWVudC5SaWdodCxcbiAgICAgICAgICAgIHZlcnRpY2FsRGlyZWN0aW9uOiBWZXJ0aWNhbEFsaWdubWVudC5Cb3R0b20sXG4gICAgICAgICAgICB2ZXJ0aWNhbFN0YXJ0UG9pbnQ6IFZlcnRpY2FsQWxpZ25tZW50LkJvdHRvbVxuICAgICAgICB9KSxcbiAgICAgICAgc2Nyb2xsU3RyYXRlZ3k6IG5ldyBBYnNvbHV0ZVNjcm9sbFN0cmF0ZWd5KCksXG4gICAgICAgIG1vZGFsOiBmYWxzZSxcbiAgICAgICAgY2xvc2VPbkVzY2FwZTogdHJ1ZSxcbiAgICAgICAgY2xvc2VPbk91dHNpZGVDbGljazogdHJ1ZVxuICAgIH07XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSBncmlkIGNvbnRhaW5pbmcgdGhpcyBjb21wb25lbnQuXG4gICAgICovXG4gICAgcHVibGljIGdldCBncmlkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy50b29sYmFyLmdyaWQ7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoQEluamVjdChJZ3hUb29sYmFyVG9rZW4pIHByb3RlY3RlZCB0b29sYmFyOiBJZ3hUb29sYmFyVG9rZW4pIHsgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLiRkZXN0cm95Lm5leHQoKTtcbiAgICAgICAgdGhpcy4kZGVzdHJveS5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIHB1YmxpYyB0b2dnbGUoYW5jaG9yRWxlbWVudDogSFRNTEVsZW1lbnQsIHRvZ2dsZVJlZjogSWd4VG9nZ2xlRGlyZWN0aXZlLCBhY3Rpb25zPzogSWd4Q29sdW1uQWN0aW9uc0NvbXBvbmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoYWN0aW9ucykge1xuICAgICAgICAgICAgdGhpcy5fc2V0dXBMaXN0ZW5lcnModG9nZ2xlUmVmLCBhY3Rpb25zKTtcbiAgICAgICAgICAgIGNvbnN0IHNldEhlaWdodCA9ICgpID0+XG4gICAgICAgICAgICAgICAgYWN0aW9ucy5jb2x1bW5zQXJlYU1heEhlaWdodCA9IGFjdGlvbnMuY29sdW1uc0FyZWFNYXhIZWlnaHQgIT09ICcxMDAlJ1xuICAgICAgICAgICAgICAgICAgICA/IGFjdGlvbnMuY29sdW1uc0FyZWFNYXhIZWlnaHQgOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbHVtbkxpc3RIZWlnaHQgPz9cbiAgICAgICAgICAgICAgICAgICAgYCR7TWF0aC5tYXgodGhpcy5ncmlkLmNhbGNIZWlnaHQgKiAwLjUsIDIwMCl9cHhgO1xuICAgICAgICAgICAgdG9nZ2xlUmVmLm9wZW5pbmcucGlwZShmaXJzdCgpKS5zdWJzY3JpYmUoc2V0SGVpZ2h0KTtcbiAgICAgICAgfVxuICAgICAgICB0b2dnbGVSZWYudG9nZ2xlKHsgLi4udGhpcy5vdmVybGF5U2V0dGluZ3MsIC4uLnsgdGFyZ2V0OiBhbmNob3JFbGVtZW50LCBvdXRsZXQ6IHRoaXMuZ3JpZC5vdXRsZXQsXG4gICAgICAgICAgICBleGNsdWRlRnJvbU91dHNpZGVDbGljazogW2FuY2hvckVsZW1lbnRdIH19KTtcblxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIHB1YmxpYyBmb2N1c1NlYXJjaChjb2x1bW5BY3Rpb25zOiBIVE1MRWxlbWVudCkge1xuICAgICAgICBjb2x1bW5BY3Rpb25zLnF1ZXJ5U2VsZWN0b3IoJ2lucHV0Jyk/LmZvY3VzKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfc2V0dXBMaXN0ZW5lcnModG9nZ2xlUmVmOiBJZ3hUb2dnbGVEaXJlY3RpdmUsIGFjdGlvbnM/IDogSWd4Q29sdW1uQWN0aW9uc0NvbXBvbmVudCkge1xuICAgICAgICBpZiAoYWN0aW9ucyl7XG4gICAgICAgICAgICBpZiAoIXRoaXMuJHN1YiB8fCB0aGlzLiRzdWIuY2xvc2VkKXtcbiAgICAgICAgICAgICAgICB0aGlzLiRzdWIgPSBhY3Rpb25zLmNvbHVtblRvZ2dsZWQucGlwZSh0YWtlVW50aWwodGhpcy4kZGVzdHJveSkpLnN1YnNjcmliZSgoZXZlbnQpID0+IHRoaXMuY29sdW1uVG9nZ2xlLmVtaXQoZXZlbnQpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvKiogVGhlIGlmIHN0YXRlbWVudCBwcmV2ZW50cyBlbWl0dGluZyBvcGVuIGFuZCBjbG9zZSBldmVudHMgdHdpY2UgICovXG4gICAgICAgIGlmICh0b2dnbGVSZWYuY29sbGFwc2VkKSB7XG4gICAgICAgICAgICB0b2dnbGVSZWYub3BlbmluZy5waXBlKGZpcnN0KCksIHRha2VVbnRpbCh0aGlzLiRkZXN0cm95KSkuc3Vic2NyaWJlKChldmVudCkgPT4gdGhpcy5vcGVuaW5nLmVtaXQoZXZlbnQpKTtcbiAgICAgICAgICAgIHRvZ2dsZVJlZi5vcGVuZWQucGlwZShmaXJzdCgpLCB0YWtlVW50aWwodGhpcy4kZGVzdHJveSkpLnN1YnNjcmliZSgoZXZlbnQpID0+IHRoaXMub3BlbmVkLmVtaXQoZXZlbnQpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRvZ2dsZVJlZi5jbG9zaW5nLnBpcGUoZmlyc3QoKSwgdGFrZVVudGlsKHRoaXMuJGRlc3Ryb3kpKS5zdWJzY3JpYmUoKGV2ZW50KSA9PiB0aGlzLmNsb3NpbmcuZW1pdChldmVudCkpO1xuICAgICAgICAgICAgdG9nZ2xlUmVmLmNsb3NlZC5waXBlKGZpcnN0KCksIHRha2VVbnRpbCh0aGlzLiRkZXN0cm95KSkuc3Vic2NyaWJlKChldmVudCkgPT4gdGhpcy5jbG9zZWQuZW1pdChldmVudCkpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8qKlxuICogQGhpZGRlbiBAaW50ZXJuYWxcbiAqIEJhc2UgY2xhc3MgZm9yIHBpbm5pbmcvaGlkaW5nIGNvbHVtbiBhY3Rpb25zXG4gKi9cbiBARGlyZWN0aXZlKClcbiBleHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZVRvb2xiYXJDb2x1bW5BY3Rpb25zRGlyZWN0aXZlIGV4dGVuZHMgQmFzZVRvb2xiYXJEaXJlY3RpdmUge1xuICAgICBASW5wdXQoKVxuICAgICBwdWJsaWMgaGlkZUZpbHRlciA9IGZhbHNlO1xuXG4gICAgIEBJbnB1dCgpXG4gICAgIHB1YmxpYyBmaWx0ZXJDcml0ZXJpYSA9ICcnO1xuXG4gICAgIEBJbnB1dCgpXG4gICAgIHB1YmxpYyBjb2x1bW5EaXNwbGF5T3JkZXI6IENvbHVtbkRpc3BsYXlPcmRlciA9IENvbHVtbkRpc3BsYXlPcmRlci5EaXNwbGF5T3JkZXI7XG5cbiAgICAgQElucHV0KClcbiAgICAgcHVibGljIGNvbHVtbnNBcmVhTWF4SGVpZ2h0ID0gJzEwMCUnO1xuXG4gICAgIEBJbnB1dCgpXG4gICAgIHB1YmxpYyB1bmNoZWNrQWxsVGV4dDogc3RyaW5nO1xuXG4gICAgIEBJbnB1dCgpXG4gICAgIHB1YmxpYyBjaGVja0FsbFRleHQ6IHN0cmluZztcblxuICAgICBASW5wdXQoKVxuICAgICBwdWJsaWMgaW5kZW50ZXRpb24gPSAzMDtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGJ1dHRvblRleHQ6IHN0cmluZztcblxuICAgIHByb3RlY3RlZCBjb2x1bW5BY3Rpb25zVUk6IElneENvbHVtbkFjdGlvbnNDb21wb25lbnQ7XG5cbiAgICAgcHVibGljIGNoZWNrQWxsKCkge1xuICAgICAgICAgdGhpcy5jb2x1bW5BY3Rpb25zVUkuY2hlY2tBbGxDb2x1bW5zKCk7XG4gICAgIH1cblxuICAgICBwdWJsaWMgdW5jaGVja0FsbCgpIHtcbiAgICAgICAgIHRoaXMuY29sdW1uQWN0aW9uc1VJLnVuY2hlY2tBbGxDb2x1bW5zKCk7XG4gICAgIH1cbiB9XG4iXX0=
@@ -77,10 +77,10 @@ export class IgxGridToolbarComponent extends DisplayDensityBase {
77
77
  ngOnDestroy() {
78
78
  this.sub?.unsubscribe();
79
79
  }
80
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-rc.4", ngImport: i0, type: IgxGridToolbarComponent, deps: [{ token: DisplayDensityToken, optional: true }, { token: IGX_GRID_SERVICE_BASE }, { token: i1.IgxIconService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
81
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0-rc.4", type: IgxGridToolbarComponent, isStandalone: true, selector: "igx-grid-toolbar", inputs: { showProgress: "showProgress", grid: "grid" }, host: { properties: { "class.igx-grid-toolbar": "this.defaultStyle", "class.igx-grid-toolbar--cosy": "this.cosyStyle", "class.igx-grid-toolbar--compact": "this.compactStyle" } }, providers: [{ provide: IgxToolbarToken, useExisting: IgxGridToolbarComponent }], queries: [{ propertyName: "hasActions", first: true, predicate: IgxGridToolbarActionsComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"[igxGridToolbarTitle],igx-grid-toolbar-title\"></ng-content>\n\n<div class=\"igx-grid-toolbar__custom-content\">\n <ng-content></ng-content>\n</div>\n\n<ng-template #actions>\n <ng-content select=\"[igxGridToolbarActions],igx-grid-toolbar-actions\"></ng-content>\n</ng-template>\n<igx-grid-toolbar-actions *ngIf=\"!hasActions\">\n <igx-grid-toolbar-advanced-filtering *ngIf=\"grid.allowAdvancedFiltering\"></igx-grid-toolbar-advanced-filtering>\n</igx-grid-toolbar-actions>\n<ng-container *ngTemplateOutlet=\"actions\"></ng-container>\n\n\n<div class=\"igx-grid-toolbar__progress-bar\" *ngIf=\"showProgress\">\n <igx-linear-bar [indeterminate]=\"true\"></igx-linear-bar>\n</div>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IgxGridToolbarActionsComponent, selector: "igx-grid-toolbar-actions" }, { kind: "component", type: IgxGridToolbarAdvancedFilteringComponent, selector: "igx-grid-toolbar-advanced-filtering", inputs: ["overlaySettings"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IgxLinearProgressBarComponent, selector: "igx-linear-bar", inputs: ["striped", "role", "id", "textAlign", "textVisibility", "textTop", "text", "type"] }] }); }
80
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IgxGridToolbarComponent, deps: [{ token: DisplayDensityToken, optional: true }, { token: IGX_GRID_SERVICE_BASE }, { token: i1.IgxIconService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
81
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: IgxGridToolbarComponent, isStandalone: true, selector: "igx-grid-toolbar", inputs: { showProgress: "showProgress", grid: "grid" }, host: { properties: { "class.igx-grid-toolbar": "this.defaultStyle", "class.igx-grid-toolbar--cosy": "this.cosyStyle", "class.igx-grid-toolbar--compact": "this.compactStyle" } }, providers: [{ provide: IgxToolbarToken, useExisting: IgxGridToolbarComponent }], queries: [{ propertyName: "hasActions", first: true, predicate: IgxGridToolbarActionsComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"[igxGridToolbarTitle],igx-grid-toolbar-title\"></ng-content>\n\n<div class=\"igx-grid-toolbar__custom-content\">\n <ng-content></ng-content>\n</div>\n\n<ng-template #actions>\n <ng-content select=\"[igxGridToolbarActions],igx-grid-toolbar-actions\"></ng-content>\n</ng-template>\n<igx-grid-toolbar-actions *ngIf=\"!hasActions\">\n <igx-grid-toolbar-advanced-filtering *ngIf=\"grid.allowAdvancedFiltering\"></igx-grid-toolbar-advanced-filtering>\n</igx-grid-toolbar-actions>\n<ng-container *ngTemplateOutlet=\"actions\"></ng-container>\n\n\n<div class=\"igx-grid-toolbar__progress-bar\" *ngIf=\"showProgress\">\n <igx-linear-bar [indeterminate]=\"true\"></igx-linear-bar>\n</div>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IgxGridToolbarActionsComponent, selector: "igx-grid-toolbar-actions" }, { kind: "component", type: IgxGridToolbarAdvancedFilteringComponent, selector: "igx-grid-toolbar-advanced-filtering", inputs: ["overlaySettings"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IgxLinearProgressBarComponent, selector: "igx-linear-bar", inputs: ["striped", "role", "id", "textAlign", "textVisibility", "textTop", "text", "type"] }] }); }
82
82
  }
83
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-rc.4", ngImport: i0, type: IgxGridToolbarComponent, decorators: [{
83
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IgxGridToolbarComponent, decorators: [{
84
84
  type: Component,
85
85
  args: [{ selector: 'igx-grid-toolbar', providers: [{ provide: IgxToolbarToken, useExisting: IgxGridToolbarComponent }], standalone: true, imports: [NgIf, IgxGridToolbarActionsComponent, IgxGridToolbarAdvancedFilteringComponent, NgTemplateOutlet, IgxLinearProgressBarComponent], template: "<ng-content select=\"[igxGridToolbarTitle],igx-grid-toolbar-title\"></ng-content>\n\n<div class=\"igx-grid-toolbar__custom-content\">\n <ng-content></ng-content>\n</div>\n\n<ng-template #actions>\n <ng-content select=\"[igxGridToolbarActions],igx-grid-toolbar-actions\"></ng-content>\n</ng-template>\n<igx-grid-toolbar-actions *ngIf=\"!hasActions\">\n <igx-grid-toolbar-advanced-filtering *ngIf=\"grid.allowAdvancedFiltering\"></igx-grid-toolbar-advanced-filtering>\n</igx-grid-toolbar-actions>\n<ng-container *ngTemplateOutlet=\"actions\"></ng-container>\n\n\n<div class=\"igx-grid-toolbar__progress-bar\" *ngIf=\"showProgress\">\n <igx-linear-bar [indeterminate]=\"true\"></igx-linear-bar>\n</div>\n" }]
86
86
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
@@ -108,4 +108,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-rc.4", ng
108
108
  type: HostBinding,
109
109
  args: ['class.igx-grid-toolbar--compact']
110
110
  }] } });
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC10b29sYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9ncmlkcy90b29sYmFyL2dyaWQtdG9vbGJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyL3NyYy9saWIvZ3JpZHMvdG9vbGJhci9ncmlkLXRvb2xiYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxZQUFZLEVBRVosV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBRUwsUUFBUSxFQUNYLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBMEIsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVyRyxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUMxRCxPQUFPLEVBQTZCLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDNUYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUMxQyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUN4RixPQUFPLEVBQUUsd0NBQXdDLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN2RyxPQUFPLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQUd6RDs7Ozs7R0FLRztBQVFILE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxrQkFBa0I7SUFZM0Q7Ozs7Ozs7T0FPRztJQUNILElBQ1csSUFBSTtRQUNYLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNaLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztTQUNyQjtRQUNELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUM7SUFDekIsQ0FBQztJQUVELElBQVcsSUFBSSxDQUFDLEtBQWU7UUFDM0IsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDdkIsQ0FBQztJQUVELDhEQUE4RDtJQUM5RCxJQUFXLGFBQWE7UUFDcEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQztJQUN0QyxDQUFDO0lBZ0JEOzs7T0FHRztJQUNILElBQ1csU0FBUztRQUNoQixPQUFPLElBQUksQ0FBQyxjQUFjLEtBQUssTUFBTSxDQUFDO0lBQzFDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUNXLFlBQVk7UUFDbkIsT0FBTyxJQUFJLENBQUMsY0FBYyxLQUFLLFNBQVMsQ0FBQztJQUM3QyxDQUFDO0lBTUQsWUFDdUQsc0JBQThDLEVBQzFELEdBQW9CLEVBQ25ELFdBQTJCLEVBQzNCLE9BQWdDO1FBRXhDLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBTHFCLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDMUQsUUFBRyxHQUFILEdBQUcsQ0FBaUI7UUFDbkQsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO1FBQzNCLFlBQU8sR0FBUCxPQUFPLENBQXlCO1FBM0U1Qzs7Ozs7O1dBTUc7UUFFSSxpQkFBWSxHQUFHLEtBQUssQ0FBQztRQWtDNUI7OztXQUdHO1FBRUksaUJBQVksR0FBRyxJQUFJLENBQUM7UUErQnZCLElBQUksQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQzlFLElBQUksQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3RGLENBQUM7SUFFRCx3QkFBd0I7SUFDakIsV0FBVztRQUNkLElBQUksQ0FBQyxHQUFHLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDNUIsQ0FBQzttSEF2RlEsdUJBQXVCLGtCQTBFUixtQkFBbUIsNkJBQy9CLHFCQUFxQjt1R0EzRXhCLHVCQUF1QiwwU0FKckIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUFFLHVCQUF1QixFQUFFLENBQUMsa0VBNkNqRSw4QkFBOEIsdUVDNUVoRCwyc0JBa0JBLDRDRGVjLElBQUksNkZBQUUsOEJBQThCLHFFQUFFLHdDQUF3Qyw2R0FBRSxnQkFBZ0Isb0pBQUUsNkJBQTZCOztnR0FFaEksdUJBQXVCO2tCQVBuQyxTQUFTOytCQUNJLGtCQUFrQixhQUVqQixDQUFDLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxXQUFXLHlCQUF5QixFQUFFLENBQUMsY0FDbkUsSUFBSSxXQUNQLENBQUMsSUFBSSxFQUFFLDhCQUE4QixFQUFFLHdDQUF3QyxFQUFFLGdCQUFnQixFQUFFLDZCQUE2QixDQUFDOzswQkE0RXJJLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsbUJBQW1COzswQkFDdEMsTUFBTTsyQkFBQyxxQkFBcUI7a0dBakUxQixZQUFZO3NCQURsQixLQUFLO2dCQVlLLElBQUk7c0JBRGQsS0FBSztnQkFzQkMsVUFBVTtzQkFEaEIsWUFBWTt1QkFBQyw4QkFBOEI7Z0JBUXJDLFlBQVk7c0JBRGxCLFdBQVc7dUJBQUMsd0JBQXdCO2dCQVExQixTQUFTO3NCQURuQixXQUFXO3VCQUFDLDhCQUE4QjtnQkFVaEMsWUFBWTtzQkFEdEIsV0FBVzt1QkFBQyxpQ0FBaUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE9wdGlvbmFsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJRGlzcGxheURlbnNpdHlPcHRpb25zLCBEaXNwbGF5RGVuc2l0eVRva2VuLCBEaXNwbGF5RGVuc2l0eUJhc2UgfSBmcm9tICcuLi8uLi9jb3JlL2RlbnNpdHknO1xuaW1wb3J0IHsgSWd4SWNvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9pY29uL2ljb24uc2VydmljZSc7XG5pbXBvcnQgeyBwaW5MZWZ0LCB1bnBpbkxlZnQgfSBmcm9tICdAaWduaXRldWkvbWF0ZXJpYWwtaWNvbnMtZXh0ZW5kZWQnO1xuaW1wb3J0IHsgSWd4R3JpZFRvb2xiYXJBY3Rpb25zQ29tcG9uZW50IH0gZnJvbSAnLi9jb21tb24nO1xuaW1wb3J0IHsgR3JpZFNlcnZpY2VUeXBlLCBHcmlkVHlwZSwgSUdYX0dSSURfU0VSVklDRV9CQVNFIH0gZnJvbSAnLi4vY29tbW9uL2dyaWQuaW50ZXJmYWNlJztcbmltcG9ydCB7IElneFRvb2xiYXJUb2tlbiB9IGZyb20gJy4vdG9rZW4nO1xuaW1wb3J0IHsgSWd4TGluZWFyUHJvZ3Jlc3NCYXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9wcm9ncmVzc2Jhci9wcm9ncmVzc2Jhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSWd4R3JpZFRvb2xiYXJBZHZhbmNlZEZpbHRlcmluZ0NvbXBvbmVudCB9IGZyb20gJy4vZ3JpZC10b29sYmFyLWFkdmFuY2VkLWZpbHRlcmluZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmdJZiwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cblxuLyoqXG4gKiBQcm92aWRlcyBhIGNvbnRleHQtYXdhcmUgY29udGFpbmVyIGNvbXBvbmVudCBmb3IgVUkgb3BlcmF0aW9ucyBmb3IgdGhlIGdyaWQgY29tcG9uZW50cy5cbiAqXG4gKiBAaWd4TW9kdWxlIElneEdyaWRUb29sYmFyTW9kdWxlXG4gKlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2lneC1ncmlkLXRvb2xiYXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9ncmlkLXRvb2xiYXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogSWd4VG9vbGJhclRva2VuLCB1c2VFeGlzdGluZzogSWd4R3JpZFRvb2xiYXJDb21wb25lbnQgfV0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTmdJZiwgSWd4R3JpZFRvb2xiYXJBY3Rpb25zQ29tcG9uZW50LCBJZ3hHcmlkVG9vbGJhckFkdmFuY2VkRmlsdGVyaW5nQ29tcG9uZW50LCBOZ1RlbXBsYXRlT3V0bGV0LCBJZ3hMaW5lYXJQcm9ncmVzc0JhckNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgSWd4R3JpZFRvb2xiYXJDb21wb25lbnQgZXh0ZW5kcyBEaXNwbGF5RGVuc2l0eUJhc2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gICAgLyoqXG4gICAgICogV2hlbiBlbmFibGVkLCBzaG93cyB0aGUgaW5kZXRlcm1pbmF0ZSBwcm9ncmVzcyBiYXIuXG4gICAgICpcbiAgICAgKiBAcmVtYXJrc1xuICAgICAqIEJ5IGRlZmF1bHQgdGhpcyB3aWxsIGJlIHRvZ2dsZWQsIHdoZW4gdGhlIGRlZmF1bHQgZXhwb3J0ZXIgY29tcG9uZW50IGlzIHByZXNlbnRcbiAgICAgKiBhbmQgYW4gZXhwb3J0aW5nIGlzIGluIHByb2dyZXNzLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNob3dQcm9ncmVzcyA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogR2V0cy9zZXRzIHRoZSBncmlkIGNvbXBvbmVudCBmb3IgdGhlIHRvb2xiYXIgY29tcG9uZW50LlxuICAgICAqXG4gICAgICogQHJlbWFya3NcbiAgICAgKiBVc3VhbGx5IHlvdSBzaG91bGQgbm90IHNldCB0aGlzIHByb3BlcnR5IGluIHRoZSBjb250ZXh0IG9mIHRoZSBkZWZhdWx0IGdyaWQvdHJlZSBncmlkLlxuICAgICAqIFRoZSBvbmx5IGdyaWRzIHRoYXQgZGVtYW5kcyB0aGlzIHRvIGJlIHNldCBhcmUgdGhlIGhpZXJhcmNoaWNhbCBjaGlsZCBncmlkcy4gRm9yIGFkZGl0aW9uYWxcbiAgICAgKiBpbmZvcm1hdGlvbiBjaGVjayB0aGUgdG9vbGJhciB0b3BpYy5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBnZXQgZ3JpZCgpIHtcbiAgICAgICAgaWYgKHRoaXMuX2dyaWQpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9ncmlkO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmFwaS5ncmlkO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgZ3JpZCh2YWx1ZTogR3JpZFR5cGUpIHtcbiAgICAgICAgdGhpcy5fZ3JpZCA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKiBSZXR1cm5zIHRoZSBuYXRpdmUgRE9NIGVsZW1lbnQgb2YgdGhlIHRvb2xiYXIgY29tcG9uZW50ICovXG4gICAgcHVibGljIGdldCBuYXRpdmVFbGVtZW50KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoSWd4R3JpZFRvb2xiYXJBY3Rpb25zQ29tcG9uZW50KVxuICAgIHB1YmxpYyBoYXNBY3Rpb25zOiBJZ3hHcmlkVG9vbGJhckFjdGlvbnNDb21wb25lbnQ7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pZ3gtZ3JpZC10b29sYmFyJylcbiAgICBwdWJsaWMgZGVmYXVsdFN0eWxlID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlneC1ncmlkLXRvb2xiYXItLWNvc3knKVxuICAgIHB1YmxpYyBnZXQgY29zeVN0eWxlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5kaXNwbGF5RGVuc2l0eSA9PT0gJ2Nvc3knO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlneC1ncmlkLXRvb2xiYXItLWNvbXBhY3QnKVxuICAgIHB1YmxpYyBnZXQgY29tcGFjdFN0eWxlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5kaXNwbGF5RGVuc2l0eSA9PT0gJ2NvbXBhY3QnO1xuICAgIH1cblxuXG4gICAgcHJvdGVjdGVkIF9ncmlkOiBHcmlkVHlwZTtcbiAgICBwcm90ZWN0ZWQgc3ViOiBTdWJzY3JpcHRpb247XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChEaXNwbGF5RGVuc2l0eVRva2VuKSBwcm90ZWN0ZWQgX2Rpc3BsYXlEZW5zaXR5T3B0aW9uczogSURpc3BsYXlEZW5zaXR5T3B0aW9ucyxcbiAgICAgICAgQEluamVjdChJR1hfR1JJRF9TRVJWSUNFX0JBU0UpIHByaXZhdGUgYXBpOiBHcmlkU2VydmljZVR5cGUsXG4gICAgICAgIHByaXZhdGUgaWNvblNlcnZpY2U6IElneEljb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+XG4gICAgKSB7XG4gICAgICAgIHN1cGVyKF9kaXNwbGF5RGVuc2l0eU9wdGlvbnMpO1xuICAgICAgICB0aGlzLmljb25TZXJ2aWNlLmFkZFN2Z0ljb25Gcm9tVGV4dChwaW5MZWZ0Lm5hbWUsIHBpbkxlZnQudmFsdWUsICdpbXgtaWNvbnMnKTtcbiAgICAgICAgdGhpcy5pY29uU2VydmljZS5hZGRTdmdJY29uRnJvbVRleHQodW5waW5MZWZ0Lm5hbWUsIHVucGluTGVmdC52YWx1ZSwgJ2lteC1pY29ucycpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5zdWI/LnVuc3Vic2NyaWJlKCk7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2lneEdyaWRUb29sYmFyVGl0bGVdLGlneC1ncmlkLXRvb2xiYXItdGl0bGVcIj48L25nLWNvbnRlbnQ+XG5cbjxkaXYgY2xhc3M9XCJpZ3gtZ3JpZC10b29sYmFyX19jdXN0b20tY29udGVudFwiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2FjdGlvbnM+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2lneEdyaWRUb29sYmFyQWN0aW9uc10saWd4LWdyaWQtdG9vbGJhci1hY3Rpb25zXCI+PC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cbjxpZ3gtZ3JpZC10b29sYmFyLWFjdGlvbnMgKm5nSWY9XCIhaGFzQWN0aW9uc1wiPlxuICAgIDxpZ3gtZ3JpZC10b29sYmFyLWFkdmFuY2VkLWZpbHRlcmluZyAqbmdJZj1cImdyaWQuYWxsb3dBZHZhbmNlZEZpbHRlcmluZ1wiPjwvaWd4LWdyaWQtdG9vbGJhci1hZHZhbmNlZC1maWx0ZXJpbmc+XG48L2lneC1ncmlkLXRvb2xiYXItYWN0aW9ucz5cbjxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJhY3Rpb25zXCI+PC9uZy1jb250YWluZXI+XG5cblxuPGRpdiBjbGFzcz1cImlneC1ncmlkLXRvb2xiYXJfX3Byb2dyZXNzLWJhclwiICpuZ0lmPVwic2hvd1Byb2dyZXNzXCI+XG4gICAgPGlneC1saW5lYXItYmFyIFtpbmRldGVybWluYXRlXT1cInRydWVcIj48L2lneC1saW5lYXItYmFyPlxuPC9kaXY+XG4iXX0=
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC10b29sYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9ncmlkcy90b29sYmFyL2dyaWQtdG9vbGJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyL3NyYy9saWIvZ3JpZHMvdG9vbGJhci9ncmlkLXRvb2xiYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxZQUFZLEVBRVosV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBRUwsUUFBUSxFQUNYLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBMEIsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVyRyxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUMxRCxPQUFPLEVBQTZCLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDNUYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUMxQyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUN4RixPQUFPLEVBQUUsd0NBQXdDLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN2RyxPQUFPLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQUd6RDs7Ozs7R0FLRztBQVFILE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxrQkFBa0I7SUFZM0Q7Ozs7Ozs7T0FPRztJQUNILElBQ1csSUFBSTtRQUNYLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNaLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztTQUNyQjtRQUNELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUM7SUFDekIsQ0FBQztJQUVELElBQVcsSUFBSSxDQUFDLEtBQWU7UUFDM0IsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDdkIsQ0FBQztJQUVELDhEQUE4RDtJQUM5RCxJQUFXLGFBQWE7UUFDcEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQztJQUN0QyxDQUFDO0lBZ0JEOzs7T0FHRztJQUNILElBQ1csU0FBUztRQUNoQixPQUFPLElBQUksQ0FBQyxjQUFjLEtBQUssTUFBTSxDQUFDO0lBQzFDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUNXLFlBQVk7UUFDbkIsT0FBTyxJQUFJLENBQUMsY0FBYyxLQUFLLFNBQVMsQ0FBQztJQUM3QyxDQUFDO0lBTUQsWUFDdUQsc0JBQThDLEVBQzFELEdBQW9CLEVBQ25ELFdBQTJCLEVBQzNCLE9BQWdDO1FBRXhDLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBTHFCLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDMUQsUUFBRyxHQUFILEdBQUcsQ0FBaUI7UUFDbkQsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO1FBQzNCLFlBQU8sR0FBUCxPQUFPLENBQXlCO1FBM0U1Qzs7Ozs7O1dBTUc7UUFFSSxpQkFBWSxHQUFHLEtBQUssQ0FBQztRQWtDNUI7OztXQUdHO1FBRUksaUJBQVksR0FBRyxJQUFJLENBQUM7UUErQnZCLElBQUksQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQzlFLElBQUksQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3RGLENBQUM7SUFFRCx3QkFBd0I7SUFDakIsV0FBVztRQUNkLElBQUksQ0FBQyxHQUFHLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDNUIsQ0FBQzs4R0F2RlEsdUJBQXVCLGtCQTBFUixtQkFBbUIsNkJBQy9CLHFCQUFxQjtrR0EzRXhCLHVCQUF1QiwwU0FKckIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUFFLHVCQUF1QixFQUFFLENBQUMsa0VBNkNqRSw4QkFBOEIsdUVDNUVoRCwyc0JBa0JBLDRDRGVjLElBQUksNkZBQUUsOEJBQThCLHFFQUFFLHdDQUF3Qyw2R0FBRSxnQkFBZ0Isb0pBQUUsNkJBQTZCOzsyRkFFaEksdUJBQXVCO2tCQVBuQyxTQUFTOytCQUNJLGtCQUFrQixhQUVqQixDQUFDLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxXQUFXLHlCQUF5QixFQUFFLENBQUMsY0FDbkUsSUFBSSxXQUNQLENBQUMsSUFBSSxFQUFFLDhCQUE4QixFQUFFLHdDQUF3QyxFQUFFLGdCQUFnQixFQUFFLDZCQUE2QixDQUFDOzswQkE0RXJJLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsbUJBQW1COzswQkFDdEMsTUFBTTsyQkFBQyxxQkFBcUI7a0dBakUxQixZQUFZO3NCQURsQixLQUFLO2dCQVlLLElBQUk7c0JBRGQsS0FBSztnQkFzQkMsVUFBVTtzQkFEaEIsWUFBWTt1QkFBQyw4QkFBOEI7Z0JBUXJDLFlBQVk7c0JBRGxCLFdBQVc7dUJBQUMsd0JBQXdCO2dCQVExQixTQUFTO3NCQURuQixXQUFXO3VCQUFDLDhCQUE4QjtnQkFVaEMsWUFBWTtzQkFEdEIsV0FBVzt1QkFBQyxpQ0FBaUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE9wdGlvbmFsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJRGlzcGxheURlbnNpdHlPcHRpb25zLCBEaXNwbGF5RGVuc2l0eVRva2VuLCBEaXNwbGF5RGVuc2l0eUJhc2UgfSBmcm9tICcuLi8uLi9jb3JlL2RlbnNpdHknO1xuaW1wb3J0IHsgSWd4SWNvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9pY29uL2ljb24uc2VydmljZSc7XG5pbXBvcnQgeyBwaW5MZWZ0LCB1bnBpbkxlZnQgfSBmcm9tICdAaWduaXRldWkvbWF0ZXJpYWwtaWNvbnMtZXh0ZW5kZWQnO1xuaW1wb3J0IHsgSWd4R3JpZFRvb2xiYXJBY3Rpb25zQ29tcG9uZW50IH0gZnJvbSAnLi9jb21tb24nO1xuaW1wb3J0IHsgR3JpZFNlcnZpY2VUeXBlLCBHcmlkVHlwZSwgSUdYX0dSSURfU0VSVklDRV9CQVNFIH0gZnJvbSAnLi4vY29tbW9uL2dyaWQuaW50ZXJmYWNlJztcbmltcG9ydCB7IElneFRvb2xiYXJUb2tlbiB9IGZyb20gJy4vdG9rZW4nO1xuaW1wb3J0IHsgSWd4TGluZWFyUHJvZ3Jlc3NCYXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9wcm9ncmVzc2Jhci9wcm9ncmVzc2Jhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSWd4R3JpZFRvb2xiYXJBZHZhbmNlZEZpbHRlcmluZ0NvbXBvbmVudCB9IGZyb20gJy4vZ3JpZC10b29sYmFyLWFkdmFuY2VkLWZpbHRlcmluZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmdJZiwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cblxuLyoqXG4gKiBQcm92aWRlcyBhIGNvbnRleHQtYXdhcmUgY29udGFpbmVyIGNvbXBvbmVudCBmb3IgVUkgb3BlcmF0aW9ucyBmb3IgdGhlIGdyaWQgY29tcG9uZW50cy5cbiAqXG4gKiBAaWd4TW9kdWxlIElneEdyaWRUb29sYmFyTW9kdWxlXG4gKlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2lneC1ncmlkLXRvb2xiYXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9ncmlkLXRvb2xiYXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogSWd4VG9vbGJhclRva2VuLCB1c2VFeGlzdGluZzogSWd4R3JpZFRvb2xiYXJDb21wb25lbnQgfV0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTmdJZiwgSWd4R3JpZFRvb2xiYXJBY3Rpb25zQ29tcG9uZW50LCBJZ3hHcmlkVG9vbGJhckFkdmFuY2VkRmlsdGVyaW5nQ29tcG9uZW50LCBOZ1RlbXBsYXRlT3V0bGV0LCBJZ3hMaW5lYXJQcm9ncmVzc0JhckNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgSWd4R3JpZFRvb2xiYXJDb21wb25lbnQgZXh0ZW5kcyBEaXNwbGF5RGVuc2l0eUJhc2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gICAgLyoqXG4gICAgICogV2hlbiBlbmFibGVkLCBzaG93cyB0aGUgaW5kZXRlcm1pbmF0ZSBwcm9ncmVzcyBiYXIuXG4gICAgICpcbiAgICAgKiBAcmVtYXJrc1xuICAgICAqIEJ5IGRlZmF1bHQgdGhpcyB3aWxsIGJlIHRvZ2dsZWQsIHdoZW4gdGhlIGRlZmF1bHQgZXhwb3J0ZXIgY29tcG9uZW50IGlzIHByZXNlbnRcbiAgICAgKiBhbmQgYW4gZXhwb3J0aW5nIGlzIGluIHByb2dyZXNzLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNob3dQcm9ncmVzcyA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogR2V0cy9zZXRzIHRoZSBncmlkIGNvbXBvbmVudCBmb3IgdGhlIHRvb2xiYXIgY29tcG9uZW50LlxuICAgICAqXG4gICAgICogQHJlbWFya3NcbiAgICAgKiBVc3VhbGx5IHlvdSBzaG91bGQgbm90IHNldCB0aGlzIHByb3BlcnR5IGluIHRoZSBjb250ZXh0IG9mIHRoZSBkZWZhdWx0IGdyaWQvdHJlZSBncmlkLlxuICAgICAqIFRoZSBvbmx5IGdyaWRzIHRoYXQgZGVtYW5kcyB0aGlzIHRvIGJlIHNldCBhcmUgdGhlIGhpZXJhcmNoaWNhbCBjaGlsZCBncmlkcy4gRm9yIGFkZGl0aW9uYWxcbiAgICAgKiBpbmZvcm1hdGlvbiBjaGVjayB0aGUgdG9vbGJhciB0b3BpYy5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBnZXQgZ3JpZCgpIHtcbiAgICAgICAgaWYgKHRoaXMuX2dyaWQpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9ncmlkO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmFwaS5ncmlkO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgZ3JpZCh2YWx1ZTogR3JpZFR5cGUpIHtcbiAgICAgICAgdGhpcy5fZ3JpZCA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKiBSZXR1cm5zIHRoZSBuYXRpdmUgRE9NIGVsZW1lbnQgb2YgdGhlIHRvb2xiYXIgY29tcG9uZW50ICovXG4gICAgcHVibGljIGdldCBuYXRpdmVFbGVtZW50KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoSWd4R3JpZFRvb2xiYXJBY3Rpb25zQ29tcG9uZW50KVxuICAgIHB1YmxpYyBoYXNBY3Rpb25zOiBJZ3hHcmlkVG9vbGJhckFjdGlvbnNDb21wb25lbnQ7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pZ3gtZ3JpZC10b29sYmFyJylcbiAgICBwdWJsaWMgZGVmYXVsdFN0eWxlID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlneC1ncmlkLXRvb2xiYXItLWNvc3knKVxuICAgIHB1YmxpYyBnZXQgY29zeVN0eWxlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5kaXNwbGF5RGVuc2l0eSA9PT0gJ2Nvc3knO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlneC1ncmlkLXRvb2xiYXItLWNvbXBhY3QnKVxuICAgIHB1YmxpYyBnZXQgY29tcGFjdFN0eWxlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5kaXNwbGF5RGVuc2l0eSA9PT0gJ2NvbXBhY3QnO1xuICAgIH1cblxuXG4gICAgcHJvdGVjdGVkIF9ncmlkOiBHcmlkVHlwZTtcbiAgICBwcm90ZWN0ZWQgc3ViOiBTdWJzY3JpcHRpb247XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChEaXNwbGF5RGVuc2l0eVRva2VuKSBwcm90ZWN0ZWQgX2Rpc3BsYXlEZW5zaXR5T3B0aW9uczogSURpc3BsYXlEZW5zaXR5T3B0aW9ucyxcbiAgICAgICAgQEluamVjdChJR1hfR1JJRF9TRVJWSUNFX0JBU0UpIHByaXZhdGUgYXBpOiBHcmlkU2VydmljZVR5cGUsXG4gICAgICAgIHByaXZhdGUgaWNvblNlcnZpY2U6IElneEljb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+XG4gICAgKSB7XG4gICAgICAgIHN1cGVyKF9kaXNwbGF5RGVuc2l0eU9wdGlvbnMpO1xuICAgICAgICB0aGlzLmljb25TZXJ2aWNlLmFkZFN2Z0ljb25Gcm9tVGV4dChwaW5MZWZ0Lm5hbWUsIHBpbkxlZnQudmFsdWUsICdpbXgtaWNvbnMnKTtcbiAgICAgICAgdGhpcy5pY29uU2VydmljZS5hZGRTdmdJY29uRnJvbVRleHQodW5waW5MZWZ0Lm5hbWUsIHVucGluTGVmdC52YWx1ZSwgJ2lteC1pY29ucycpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5zdWI/LnVuc3Vic2NyaWJlKCk7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2lneEdyaWRUb29sYmFyVGl0bGVdLGlneC1ncmlkLXRvb2xiYXItdGl0bGVcIj48L25nLWNvbnRlbnQ+XG5cbjxkaXYgY2xhc3M9XCJpZ3gtZ3JpZC10b29sYmFyX19jdXN0b20tY29udGVudFwiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2FjdGlvbnM+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2lneEdyaWRUb29sYmFyQWN0aW9uc10saWd4LWdyaWQtdG9vbGJhci1hY3Rpb25zXCI+PC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cbjxpZ3gtZ3JpZC10b29sYmFyLWFjdGlvbnMgKm5nSWY9XCIhaGFzQWN0aW9uc1wiPlxuICAgIDxpZ3gtZ3JpZC10b29sYmFyLWFkdmFuY2VkLWZpbHRlcmluZyAqbmdJZj1cImdyaWQuYWxsb3dBZHZhbmNlZEZpbHRlcmluZ1wiPjwvaWd4LWdyaWQtdG9vbGJhci1hZHZhbmNlZC1maWx0ZXJpbmc+XG48L2lneC1ncmlkLXRvb2xiYXItYWN0aW9ucz5cbjxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJhY3Rpb25zXCI+PC9uZy1jb250YWluZXI+XG5cblxuPGRpdiBjbGFzcz1cImlneC1ncmlkLXRvb2xiYXJfX3Byb2dyZXNzLWJhclwiICpuZ0lmPVwic2hvd1Byb2dyZXNzXCI+XG4gICAgPGlneC1saW5lYXItYmFyIFtpbmRldGVybWluYXRlXT1cInRydWVcIj48L2lneC1saW5lYXItYmFyPlxuPC9kaXY+XG4iXX0=
@@ -1,12 +1,18 @@
1
1
  import { IGX_GRID_COMMON_DIRECTIVES } from '../public_api';
2
2
  import { IgxTreeGridComponent } from './tree-grid.component';
3
+ import { IgxTreeGridGroupByAreaComponent } from '../grouping/tree-grid-group-by-area.component';
4
+ import { IgxTreeGridGroupingPipe } from './tree-grid.grouping.pipe';
3
5
  export * from './tree-grid.component';
4
6
  export * from './tree-grid.interfaces';
5
7
  export * from './tree-grid.filtering.strategy';
6
8
  export * from './tree-grid.grouping.pipe';
9
+ export * from '../grouping/tree-grid-group-by-area.component';
10
+ export * from './tree-grid.grouping.pipe';
7
11
  /* NOTE: Tree grid directives collection for ease-of-use import in standalone components scenario */
8
12
  export const IGX_TREE_GRID_DIRECTIVES = [
9
13
  IgxTreeGridComponent,
14
+ IgxTreeGridGroupByAreaComponent,
15
+ IgxTreeGridGroupingPipe,
10
16
  ...IGX_GRID_COMMON_DIRECTIVES
11
17
  ];
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9ncmlkcy90cmVlLWdyaWQvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFN0QsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYywyQkFBMkIsQ0FBQztBQUUxQyxvR0FBb0c7QUFDcEcsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUc7SUFDcEMsb0JBQW9CO0lBQ3BCLEdBQUcsMEJBQTBCO0NBQ3ZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJR1hfR1JJRF9DT01NT05fRElSRUNUSVZFUyB9IGZyb20gJy4uL3B1YmxpY19hcGknO1xuaW1wb3J0IHsgSWd4VHJlZUdyaWRDb21wb25lbnQgfSBmcm9tICcuL3RyZWUtZ3JpZC5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL3RyZWUtZ3JpZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi90cmVlLWdyaWQuaW50ZXJmYWNlcyc7XG5leHBvcnQgKiBmcm9tICcuL3RyZWUtZ3JpZC5maWx0ZXJpbmcuc3RyYXRlZ3knO1xuZXhwb3J0ICogZnJvbSAnLi90cmVlLWdyaWQuZ3JvdXBpbmcucGlwZSc7XG5cbi8qIE5PVEU6IFRyZWUgZ3JpZCBkaXJlY3RpdmVzIGNvbGxlY3Rpb24gZm9yIGVhc2Utb2YtdXNlIGltcG9ydCBpbiBzdGFuZGFsb25lIGNvbXBvbmVudHMgc2NlbmFyaW8gKi9cbmV4cG9ydCBjb25zdCBJR1hfVFJFRV9HUklEX0RJUkVDVElWRVMgPSBbXG4gICAgSWd4VHJlZUdyaWRDb21wb25lbnQsXG4gICAgLi4uSUdYX0dSSURfQ09NTU9OX0RJUkVDVElWRVNcbl0gYXMgY29uc3Q7XG4iXX0=
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9ncmlkcy90cmVlLWdyaWQvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0QsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDaEcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFcEUsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsMkJBQTJCLENBQUM7QUFFMUMsb0dBQW9HO0FBQ3BHLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHO0lBQ3BDLG9CQUFvQjtJQUNwQiwrQkFBK0I7SUFDL0IsdUJBQXVCO0lBQ3ZCLEdBQUcsMEJBQTBCO0NBQ3ZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJR1hfR1JJRF9DT01NT05fRElSRUNUSVZFUyB9IGZyb20gJy4uL3B1YmxpY19hcGknO1xuaW1wb3J0IHsgSWd4VHJlZUdyaWRDb21wb25lbnQgfSBmcm9tICcuL3RyZWUtZ3JpZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSWd4VHJlZUdyaWRHcm91cEJ5QXJlYUNvbXBvbmVudCB9IGZyb20gJy4uL2dyb3VwaW5nL3RyZWUtZ3JpZC1ncm91cC1ieS1hcmVhLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJZ3hUcmVlR3JpZEdyb3VwaW5nUGlwZSB9IGZyb20gJy4vdHJlZS1ncmlkLmdyb3VwaW5nLnBpcGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL3RyZWUtZ3JpZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi90cmVlLWdyaWQuaW50ZXJmYWNlcyc7XG5leHBvcnQgKiBmcm9tICcuL3RyZWUtZ3JpZC5maWx0ZXJpbmcuc3RyYXRlZ3knO1xuZXhwb3J0ICogZnJvbSAnLi90cmVlLWdyaWQuZ3JvdXBpbmcucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuLi9ncm91cGluZy90cmVlLWdyaWQtZ3JvdXAtYnktYXJlYS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi90cmVlLWdyaWQuZ3JvdXBpbmcucGlwZSc7XG5cbi8qIE5PVEU6IFRyZWUgZ3JpZCBkaXJlY3RpdmVzIGNvbGxlY3Rpb24gZm9yIGVhc2Utb2YtdXNlIGltcG9ydCBpbiBzdGFuZGFsb25lIGNvbXBvbmVudHMgc2NlbmFyaW8gKi9cbmV4cG9ydCBjb25zdCBJR1hfVFJFRV9HUklEX0RJUkVDVElWRVMgPSBbXG4gICAgSWd4VHJlZUdyaWRDb21wb25lbnQsXG4gICAgSWd4VHJlZUdyaWRHcm91cEJ5QXJlYUNvbXBvbmVudCxcbiAgICBJZ3hUcmVlR3JpZEdyb3VwaW5nUGlwZSxcbiAgICAuLi5JR1hfR1JJRF9DT01NT05fRElSRUNUSVZFU1xuXSBhcyBjb25zdDtcbiJdfQ==
@@ -60,10 +60,10 @@ export class IgxTreeGridCellComponent extends IgxGridExpandableCellComponent {
60
60
  onLoadingDblClick(event) {
61
61
  event.stopPropagation();
62
62
  }
63
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-rc.4", ngImport: i0, type: IgxTreeGridCellComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
64
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0-rc.4", type: IgxTreeGridCellComponent, isStandalone: true, selector: "igx-tree-grid-cell", inputs: { level: "level", showIndicator: "showIndicator", isLoading: "isLoading", row: "row" }, providers: [HammerGesturesManager], usesInheritance: true, ngImport: i0, template: "<ng-template #defaultPinnedIndicator>\n <igx-chip\n *ngIf=\"displayPinnedChip\"\n class=\"igx-grid__td--pinned-chip\"\n [disabled]=\"true\"\n [displayDensity]=\"'compact'\"\n >{{ grid.resourceStrings.igx_grid_pinned_row_indicator }}</igx-chip\n >\n</ng-template>\n<ng-template #defaultCell>\n <div *ngIf=\"column.dataType !== 'boolean' && column.dataType !== 'image' || (column.dataType === 'boolean' && this.formatter)\"\n igxTextHighlight\n class=\"igx-grid__td-text\"\n style=\"pointer-events: none;\"\n [cssClass]=\"highlightClass\"\n [activeCssClass]=\"activeHighlightClass\"\n [groupName]=\"gridID\"\n [value]=\"\n formatter\n ? (value | columnFormatter:formatter:rowData)\n : column.dataType === 'number'\n ? (value | number:column.pipeArgs.digitsInfo:grid.locale)\n : (column.dataType === 'date' || column.dataType === 'time' || column.dataType === 'dateTime')\n ? (value | date:column.pipeArgs.format:column.pipeArgs.timezone:grid.locale)\n : column.dataType === 'currency'\n ? (value | currency:currencyCode:column.pipeArgs.display:column.pipeArgs.digitsInfo:grid.locale)\n : column.dataType === 'percent'\n ? (value | percent:column.pipeArgs.digitsInfo:grid.locale)\n : value\n \"\n [row]=\"rowData\"\n [column]=\"this.column.field\"\n [containerClass]=\"'igx-grid__td-text'\"\n [metadata]=\"searchMetadata\"\n >{{\n formatter\n ? (value | columnFormatter:formatter:rowData)\n : column.dataType === \"number\"\n ? (value | number:column.pipeArgs.digitsInfo:grid.locale)\n : (column.dataType === 'date' || column.dataType === 'time' || column.dataType === 'dateTime')\n ? (value | date:column.pipeArgs.format:column.pipeArgs.timezone:grid.locale)\n : column.dataType === 'currency'\n ? (value | currency:currencyCode:column.pipeArgs.display:column.pipeArgs.digitsInfo:grid.locale)\n : column.dataType === 'percent'\n ? (value | percent:column.pipeArgs.digitsInfo:grid.locale)\n : value\n }}</div>\n <igx-icon\n *ngIf=\"column.dataType === 'boolean' && !this.formatter\"\n [ngClass]=\"{ 'igx-icon--success': value, 'igx-icon--error': !value }\"\n >{{ value ? \"check\" : \"close\" }}</igx-icon>\n <img *ngIf=\"column.dataType === 'image'\" [src]=\"value\" [alt]=\"value | igxCellImageAlt\" />\n</ng-template>\n<ng-template #addRowCell let-cell=\"cell\">\n <div *ngIf=\"column.dataType !== 'boolean' || (column.dataType === 'boolean' && this.formatter)\"\n igxTextHighlight class=\"igx-grid__td-text\"\n style=\"pointer-events: none\"\n [cssClass]=\"highlightClass\"\n [activeCssClass]=\"activeHighlightClass\"\n [groupName]=\"gridID\"\n [value]=\"formatter ? (value | columnFormatter:formatter:rowData) : column.dataType === 'number' ?\n (value | number:column.pipeArgs.digitsInfo:grid.locale) : (column.dataType === 'date' || column.dataType === 'time' || column.dataType === 'dateTime') ?\n (value | date:column.pipeArgs.format:column.pipeArgs.timezone:grid.locale) : column.dataType === 'currency'?\n (value | currency:currencyCode:column.pipeArgs.display:column.pipeArgs.digitsInfo:grid.locale) : column.dataType === 'percent' ?\n (value | percent:column.pipeArgs.digitsInfo:grid.locale) : value\"\n [row]=\"rowData\"\n [column]=\"this.column.field\"\n [containerClass]=\"'igx-grid__td-text'\"\n [metadata]=\"searchMetadata\">{{\n !isEmptyAddRowCell ? value : (column.header || column.field)\n }}</div>\n</ng-template>\n<ng-template #inlineEditor let-cell=\"cell\">\n <ng-container *ngIf=\"column.dataType === 'string' || column.dataType === 'image'\" [formGroup]=\"formGroup\">\n <igx-input-group displayDensity=\"compact\" >\n <input\n igxInput\n [attr.aria-describedby]=\"ariaDescribeBy\"\n [attr.aria-invalid]=\"isInvalid\"\n [igxFocus]=\"true\"\n [igxTextSelection]=\"true\"\n [formControl]=\"formControl\"\n (compositionstart)=\"grid.crudService.isInCompositionMode = true\"\n (compositionend)=\"grid.crudService.isInCompositionMode = false\"\n />\n </igx-input-group>\n </ng-container>\n <ng-container *ngIf=\"column.dataType === 'number'\">\n <igx-input-group displayDensity=\"compact\" [formGroup]=\"formGroup\">\n <input\n igxInput\n [attr.aria-describedby]=\"ariaDescribeBy\"\n [attr.aria-invalid]=\"isInvalid\"\n [igxFocus]=\"true\"\n [step]=\"step\"\n type=\"number\"\n [igxTextSelection]=\"true\"\n [formControl]=\"formControl\"\n />\n </igx-input-group>\n </ng-container>\n <ng-container *ngIf=\"column.dataType === 'boolean'\" [formGroup]=\"formGroup\">\n <igx-checkbox\n [checked]=\"editValue\"\n [igxFocus]=\"true\"\n [disableRipple]=\"true\"\n [formControl]=\"formControl\"\n ></igx-checkbox>\n </ng-container>\n <ng-container *ngIf=\"column.dataType === 'date'\" [formGroup]=\"formGroup\">\n <igx-date-picker\n [style.width.%]=\"100\"\n [outlet]=\"grid.outlet\"\n mode=\"dropdown\"\n [locale]=\"grid.locale\"\n [weekStart]=\"column.pipeArgs.weekStart\"\n [(value)]=\"editValue\"\n [igxFocus]=\"true\"\n [formControl]=\"formControl\"\n >\n </igx-date-picker>\n </ng-container>\n <ng-container *ngIf=\"column.dataType === 'time'\" [formGroup]=\"formGroup\">\n <igx-time-picker\n [style.width.%]=\"100\"\n [outlet]=\"grid.outlet\"\n mode=\"dropdown\"\n [locale]=\"grid.locale\"\n [inputFormat]=\"column.defaultTimeFormat\"\n [(value)]=\"editValue\"\n [igxFocus]=\"true\"\n [formControl]=\"formControl\"\n ></igx-time-picker>\n </ng-container>\n <ng-container *ngIf=\"column.dataType === 'dateTime'\">\n <igx-input-group [formGroup]=\"formGroup\">\n <input\n type=\"text\"\n [attr.aria-describedby]=\"ariaDescribeBy\"\n [attr.aria-invalid]=\"isInvalid\"\n [formControl]=\"formControl\"\n igxInput\n [igxDateTimeEditor]=\"column.defaultDateTimeFormat\"\n [igxFocus]=\"true\"\n />\n </igx-input-group>\n </ng-container>\n <ng-container *ngIf=\"column.dataType === 'currency'\">\n <igx-input-group displayDensity=\"compact\" [formGroup]=\"formGroup\">\n <igx-prefix *ngIf=\"grid.currencyPositionLeft\">{{ currencyCodeSymbol }}</igx-prefix>\n <input\n igxInput\n [attr.aria-describedby]=\"ariaDescribeBy\"\n [attr.aria-invalid]=\"isInvalid\"\n [igxFocus]=\"true\"\n [step]=\"step\"\n type=\"number\"\n [igxTextSelection]=\"true\"\n [formControl]=\"formControl\"\n />\n <igx-suffix *ngIf=\"!grid.currencyPositionLeft\">{{ currencyCodeSymbol }}</igx-suffix>\n </igx-input-group>\n </ng-container>\n <ng-container *ngIf=\"column.dataType === 'percent'\">\n <igx-input-group displayDensity=\"compact\" [formGroup]=\"formGroup\">\n <input\n igxInput\n [attr.aria-describedby]=\"ariaDescribeBy\"\n [attr.aria-invalid]=\"isInvalid\"\n [igxFocus]=\"true\"\n [step]=\"step\"\n type=\"number\"\n [igxTextSelection]=\"true\"\n [formControl]=\"formControl\"\n />\n <igx-suffix> {{ editValue | percent:column.pipeArgs.digitsInfo:grid.locale }} </igx-suffix>\n </igx-input-group>\n </ng-container>\n</ng-template>\n<ng-container *ngIf=\"!editMode\">\n <ng-container *ngIf=\"level > 0\">\n <div\n #indentationDiv\n class=\"igx-grid__tree-cell--padding-level-{{level}}\"\n [ngStyle]=\"{'padding-inline-start': 'calc(var(--igx-tree-indent-size) *' + level + ')'}\"\n ></div>\n </ng-container>\n <div\n #indicator\n *ngIf=\"!isLoading\"\n class=\"igx-grid__tree-grouping-indicator\"\n [ngStyle]=\"{ visibility: showIndicator ? 'visible' : 'hidden' }\"\n (click)=\"toggle($event)\"\n (focus)=\"onIndicatorFocus()\"\n >\n <ng-container\n *ngTemplateOutlet=\"iconTemplate; context: { $implicit: this }\"\n >\n </ng-container>\n <ng-container\n *ngTemplateOutlet=\"pinnedIndicatorTemplate; context: context\"\n >\n </ng-container>\n </div>\n <div\n *ngIf=\"isLoading\"\n (dblclick)=\"onLoadingDblClick($event)\"\n class=\"igx-grid__tree-loading-indicator\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n grid.rowLoadingIndicatorTemplate\n ? grid.rowLoadingIndicatorTemplate\n : defaultLoadingIndicatorTemplate\n \"\n >\n </ng-container>\n </div>\n <ng-template #defaultLoadingIndicatorTemplate>\n <igx-circular-bar [indeterminate]=\"true\"> </igx-circular-bar>\n </ng-template>\n</ng-container>\n<ng-container *ngTemplateOutlet=\"template; context: context\"> </ng-container>\n<ng-container *ngIf=\"isInvalid\">\n <igx-icon #errorIcon [igxTooltipTarget]=\"tooltipRef\" [igxToggleOutlet]=\"grid.outlet\"\n (mouseover)='errorShowing = true' (mouseout)='errorShowing = false'>error</igx-icon>\n <div [id]=\"ariaErrorMessage\"\n igxTooltip #error #tooltipRef=\"tooltip\">\n <div [style.width]=\"'max-content'\">\n <ng-container *ngTemplateOutlet=\"cellValidationErrorTemplate || defaultError; context: context\"></ng-container>\n </div>\n </div>\n</ng-container>\n\n<ng-template #defaultExpandedTemplate>\n <igx-icon>expand_more</igx-icon>\n</ng-template>\n<ng-template #defaultCollapsedTemplate>\n <igx-icon>chevron_right</igx-icon>\n</ng-template>\n<ng-template #defaultError>\n <div *ngIf=\"formGroup?.get(column?.field).errors?.['required']\">\n {{grid.resourceStrings.igx_grid_required_validation_error}}\n </div>\n <div *ngIf=\"formGroup?.get(column?.field).errors?.['minlength']\">\n {{grid.resourceStrings.igx_grid_min_length_validation_error | igxStringReplace:'{0}':formGroup.get(column.field).errors.minlength.requiredLength }}\n </div>\n <div *ngIf=\"formGroup?.get(column?.field).errors?.['maxlength']\">\n {{grid.resourceStrings.igx_grid_max_length_validation_error | igxStringReplace:'{0}':formGroup.get(column.field).errors.maxlength.requiredLength }}\n </div>\n <div *ngIf=\"formGroup?.get(column?.field).errors?.['min']\">\n {{grid.resourceStrings.igx_grid_min_validation_error | igxStringReplace:'{0}':formGroup.get(column.field).errors.min.min }}\n </div>\n <div *ngIf=\"formGroup?.get(column?.field).errors?.['max']\">\n {{grid.resourceStrings.igx_grid_max_validation_error | igxStringReplace:'{0}':formGroup.get(column.field).errors.max.max }}\n </div>\n <div *ngIf=\"formGroup?.get(column?.field).errors?.['email']\">\n {{grid.resourceStrings.igx_grid_email_validation_error }}\n </div>\n <div *ngIf=\"formGroup?.get(column?.field).errors?.['pattern']\">\n {{grid.resourceStrings.igx_grid_pattern_validation_error}}\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: DecimalPipe, name: "number" }, { kind: "pipe", type: PercentPipe, name: "percent" }, { kind: "pipe", type: CurrencyPipe, name: "currency" }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "component", type: IgxChipComponent, selector: "igx-chip", inputs: ["id", "tabIndex", "data", "draggable", "animateOnRelease", "hideBaseOnDrag", "removable", "removeIcon", "selectable", "selectIcon", "disabled", "selected", "color", "resourceStrings"], outputs: ["selectedChange", "moveStart", "moveEnd", "remove", "chipClick", "selectedChanging", "selectedChanged", "keyDown", "dragEnter", "dragLeave", "dragOver", "dragDrop"] }, { kind: "directive", type: IgxTextHighlightDirective, selector: "[igxTextHighlight]", inputs: ["cssClass", "activeCssClass", "containerClass", "groupName", "value", "row", "column", "metadata"] }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["family", "active", "name"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: IgxInputGroupComponent, selector: "igx-input-group", inputs: ["resourceStrings", "suppressInputAutofocus", "type", "theme"] }, { kind: "directive", type: IgxInputDirective, selector: "[igxInput]", inputs: ["value", "disabled", "required"], exportAs: ["igxInput"] }, { kind: "directive", type: IgxFocusDirective, selector: "[igxFocus]", inputs: ["igxFocus"], exportAs: ["igxFocus"] }, { kind: "component", type: IgxCheckboxComponent, selector: "igx-checkbox", inputs: ["id", "labelId", "value", "name", "tabindex", "labelPosition", "disableRipple", "required", "aria-labelledby", "aria-label", "indeterminate", "checked", "disabled", "invalid", "readonly", "disableTransitions"], outputs: ["change"] }, { kind: "component", type: IgxDatePickerComponent, selector: "igx-date-picker", inputs: ["hideOutsideDays", "displayMonthsCount", "showWeekNumbers", "formatter", "headerOrientation", "todayButtonLabel", "cancelButtonLabel", "spinLoop", "spinDelta", "outlet", "id", "formatViews", "disabledDates", "specialDates", "calendarFormat", "value", "minValue", "maxValue", "resourceStrings", "readOnly"], outputs: ["valueChange", "validationFailed"] }, { kind: "component", type: IgxTimePickerComponent, selector: "igx-time-picker", inputs: ["id", "displayFormat", "inputFormat", "mode", "minValue", "maxValue", "spinLoop", "formatter", "headerOrientation", "readOnly", "value", "resourceStrings", "okButtonLabel", "cancelButtonLabel", "itemsDelta"], outputs: ["selected", "valueChange", "validationFailed"] }, { kind: "directive", type: IgxDateTimeEditorDirective, selector: "[igxDateTimeEditor]", inputs: ["locale", "minValue", "maxValue", "spinLoop", "displayFormat", "igxDateTimeEditor", "value", "spinDelta"], outputs: ["valueChange", "validationFailed"], exportAs: ["igxDateTimeEditor"] }, { kind: "directive", type: IgxPrefixDirective, selector: "igx-prefix,[igxPrefix],[igxStart]" }, { kind: "directive", type: IgxSuffixDirective, selector: "igx-suffix,[igxSuffix],[igxEnd]" }, { kind: "component", type: IgxCircularProgressBarComponent, selector: "igx-circular-bar", inputs: ["id", "isIndeterminate", "textVisibility", "text"] }, { kind: "directive", type: IgxTooltipTargetDirective, selector: "[igxTooltipTarget]", inputs: ["showDelay", "hideDelay", "tooltipDisabled", "igxTooltipTarget", "tooltip"], outputs: ["tooltipShow", "tooltipHide"], exportAs: ["tooltipTarget"] }, { kind: "directive", type: IgxTooltipDirective, selector: "[igxTooltip]", inputs: ["context", "id"], exportAs: ["tooltip"] }, { kind: "pipe", type: IgxGridCellImageAltPipe, name: "igxCellImageAlt" }, { kind: "pipe", type: IgxStringReplacePipe, name: "igxStringReplace" }, { kind: "pipe", type: IgxColumnFormatterPipe, name: "columnFormatter" }, { kind: "directive", type: IgxTextSelectionDirective, selector: "[igxTextSelection]", inputs: ["igxTextSelection"], exportAs: ["igxTextSelection"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
63
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IgxTreeGridCellComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
64
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: IgxTreeGridCellComponent, isStandalone: true, selector: "igx-tree-grid-cell", inputs: { level: "level", showIndicator: "showIndicator", isLoading: "isLoading", row: "row" }, providers: [HammerGesturesManager], usesInheritance: true, ngImport: i0, template: "<ng-template #defaultPinnedIndicator>\n <igx-chip\n *ngIf=\"displayPinnedChip\"\n class=\"igx-grid__td--pinned-chip\"\n [disabled]=\"true\"\n [displayDensity]=\"'compact'\"\n >{{ grid.resourceStrings.igx_grid_pinned_row_indicator }}</igx-chip\n >\n</ng-template>\n<ng-template #defaultCell>\n <div *ngIf=\"column.dataType !== 'boolean' && column.dataType !== 'image' || (column.dataType === 'boolean' && this.formatter)\"\n igxTextHighlight\n class=\"igx-grid__td-text\"\n style=\"pointer-events: none;\"\n [cssClass]=\"highlightClass\"\n [activeCssClass]=\"activeHighlightClass\"\n [groupName]=\"gridID\"\n [value]=\"\n formatter\n ? (value | columnFormatter:formatter:rowData)\n : column.dataType === 'number'\n ? (value | number:column.pipeArgs.digitsInfo:grid.locale)\n : (column.dataType === 'date' || column.dataType === 'time' || column.dataType === 'dateTime')\n ? (value | date:column.pipeArgs.format:column.pipeArgs.timezone:grid.locale)\n : column.dataType === 'currency'\n ? (value | currency:currencyCode:column.pipeArgs.display:column.pipeArgs.digitsInfo:grid.locale)\n : column.dataType === 'percent'\n ? (value | percent:column.pipeArgs.digitsInfo:grid.locale)\n : value\n \"\n [row]=\"rowData\"\n [column]=\"this.column.field\"\n [containerClass]=\"'igx-grid__td-text'\"\n [metadata]=\"searchMetadata\"\n >{{\n formatter\n ? (value | columnFormatter:formatter:rowData)\n : column.dataType === \"number\"\n ? (value | number:column.pipeArgs.digitsInfo:grid.locale)\n : (column.dataType === 'date' || column.dataType === 'time' || column.dataType === 'dateTime')\n ? (value | date:column.pipeArgs.format:column.pipeArgs.timezone:grid.locale)\n : column.dataType === 'currency'\n ? (value | currency:currencyCode:column.pipeArgs.display:column.pipeArgs.digitsInfo:grid.locale)\n : column.dataType === 'percent'\n ? (value | percent:column.pipeArgs.digitsInfo:grid.locale)\n : value\n }}</div>\n <igx-icon\n *ngIf=\"column.dataType === 'boolean' && !this.formatter\"\n [ngClass]=\"{ 'igx-icon--success': value, 'igx-icon--error': !value }\"\n >{{ value ? \"check\" : \"close\" }}</igx-icon>\n <img *ngIf=\"column.dataType === 'image'\" [src]=\"value\" [alt]=\"value | igxCellImageAlt\" />\n</ng-template>\n<ng-template #addRowCell let-cell=\"cell\">\n <div *ngIf=\"column.dataType !== 'boolean' || (column.dataType === 'boolean' && this.formatter)\"\n igxTextHighlight class=\"igx-grid__td-text\"\n style=\"pointer-events: none\"\n [cssClass]=\"highlightClass\"\n [activeCssClass]=\"activeHighlightClass\"\n [groupName]=\"gridID\"\n [value]=\"formatter ? (value | columnFormatter:formatter:rowData) : column.dataType === 'number' ?\n (value | number:column.pipeArgs.digitsInfo:grid.locale) : (column.dataType === 'date' || column.dataType === 'time' || column.dataType === 'dateTime') ?\n (value | date:column.pipeArgs.format:column.pipeArgs.timezone:grid.locale) : column.dataType === 'currency'?\n (value | currency:currencyCode:column.pipeArgs.display:column.pipeArgs.digitsInfo:grid.locale) : column.dataType === 'percent' ?\n (value | percent:column.pipeArgs.digitsInfo:grid.locale) : value\"\n [row]=\"rowData\"\n [column]=\"this.column.field\"\n [containerClass]=\"'igx-grid__td-text'\"\n [metadata]=\"searchMetadata\">{{\n !isEmptyAddRowCell ? value : (column.header || column.field)\n }}</div>\n</ng-template>\n<ng-template #inlineEditor let-cell=\"cell\">\n <ng-container *ngIf=\"column.dataType === 'string' || column.dataType === 'image'\" [formGroup]=\"formGroup\">\n <igx-input-group displayDensity=\"compact\" >\n <input\n igxInput\n [attr.aria-describedby]=\"ariaDescribeBy\"\n [attr.aria-invalid]=\"isInvalid\"\n [igxFocus]=\"true\"\n [igxTextSelection]=\"true\"\n [formControl]=\"formControl\"\n (compositionstart)=\"grid.crudService.isInCompositionMode = true\"\n (compositionend)=\"grid.crudService.isInCompositionMode = false\"\n />\n </igx-input-group>\n </ng-container>\n <ng-container *ngIf=\"column.dataType === 'number'\">\n <igx-input-group displayDensity=\"compact\" [formGroup]=\"formGroup\">\n <input\n igxInput\n [attr.aria-describedby]=\"ariaDescribeBy\"\n [attr.aria-invalid]=\"isInvalid\"\n [igxFocus]=\"true\"\n [step]=\"step\"\n type=\"number\"\n [igxTextSelection]=\"true\"\n [formControl]=\"formControl\"\n />\n </igx-input-group>\n </ng-container>\n <ng-container *ngIf=\"column.dataType === 'boolean'\" [formGroup]=\"formGroup\">\n <igx-checkbox\n [checked]=\"editValue\"\n [igxFocus]=\"true\"\n [disableRipple]=\"true\"\n [formControl]=\"formControl\"\n ></igx-checkbox>\n </ng-container>\n <ng-container *ngIf=\"column.dataType === 'date'\" [formGroup]=\"formGroup\">\n <igx-date-picker\n [style.width.%]=\"100\"\n [outlet]=\"grid.outlet\"\n mode=\"dropdown\"\n [locale]=\"grid.locale\"\n [weekStart]=\"column.pipeArgs.weekStart\"\n [(value)]=\"editValue\"\n [igxFocus]=\"true\"\n [formControl]=\"formControl\"\n >\n </igx-date-picker>\n </ng-container>\n <ng-container *ngIf=\"column.dataType === 'time'\" [formGroup]=\"formGroup\">\n <igx-time-picker\n [style.width.%]=\"100\"\n [outlet]=\"grid.outlet\"\n mode=\"dropdown\"\n [locale]=\"grid.locale\"\n [inputFormat]=\"column.defaultTimeFormat\"\n [(value)]=\"editValue\"\n [igxFocus]=\"true\"\n [formControl]=\"formControl\"\n ></igx-time-picker>\n </ng-container>\n <ng-container *ngIf=\"column.dataType === 'dateTime'\">\n <igx-input-group [formGroup]=\"formGroup\">\n <input\n type=\"text\"\n [attr.aria-describedby]=\"ariaDescribeBy\"\n [attr.aria-invalid]=\"isInvalid\"\n [formControl]=\"formControl\"\n igxInput\n [igxDateTimeEditor]=\"column.defaultDateTimeFormat\"\n [igxFocus]=\"true\"\n />\n </igx-input-group>\n </ng-container>\n <ng-container *ngIf=\"column.dataType === 'currency'\">\n <igx-input-group displayDensity=\"compact\" [formGroup]=\"formGroup\">\n <igx-prefix *ngIf=\"grid.currencyPositionLeft\">{{ currencyCodeSymbol }}</igx-prefix>\n <input\n igxInput\n [attr.aria-describedby]=\"ariaDescribeBy\"\n [attr.aria-invalid]=\"isInvalid\"\n [igxFocus]=\"true\"\n [step]=\"step\"\n type=\"number\"\n [igxTextSelection]=\"true\"\n [formControl]=\"formControl\"\n />\n <igx-suffix *ngIf=\"!grid.currencyPositionLeft\">{{ currencyCodeSymbol }}</igx-suffix>\n </igx-input-group>\n </ng-container>\n <ng-container *ngIf=\"column.dataType === 'percent'\">\n <igx-input-group displayDensity=\"compact\" [formGroup]=\"formGroup\">\n <input\n igxInput\n [attr.aria-describedby]=\"ariaDescribeBy\"\n [attr.aria-invalid]=\"isInvalid\"\n [igxFocus]=\"true\"\n [step]=\"step\"\n type=\"number\"\n [igxTextSelection]=\"true\"\n [formControl]=\"formControl\"\n />\n <igx-suffix> {{ editValue | percent:column.pipeArgs.digitsInfo:grid.locale }} </igx-suffix>\n </igx-input-group>\n </ng-container>\n</ng-template>\n<ng-container *ngIf=\"!editMode\">\n <ng-container *ngIf=\"level > 0\">\n <div\n #indentationDiv\n class=\"igx-grid__tree-cell--padding-level-{{level}}\"\n [ngStyle]=\"{'padding-inline-start': 'calc(var(--igx-tree-indent-size) *' + level + ')'}\"\n ></div>\n </ng-container>\n <div\n #indicator\n *ngIf=\"!isLoading\"\n class=\"igx-grid__tree-grouping-indicator\"\n [ngStyle]=\"{ visibility: showIndicator ? 'visible' : 'hidden' }\"\n (click)=\"toggle($event)\"\n (focus)=\"onIndicatorFocus()\"\n >\n <ng-container\n *ngTemplateOutlet=\"iconTemplate; context: { $implicit: this }\"\n >\n </ng-container>\n <ng-container\n *ngTemplateOutlet=\"pinnedIndicatorTemplate; context: context\"\n >\n </ng-container>\n </div>\n <div\n *ngIf=\"isLoading\"\n (dblclick)=\"onLoadingDblClick($event)\"\n class=\"igx-grid__tree-loading-indicator\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n grid.rowLoadingIndicatorTemplate\n ? grid.rowLoadingIndicatorTemplate\n : defaultLoadingIndicatorTemplate\n \"\n >\n </ng-container>\n </div>\n <ng-template #defaultLoadingIndicatorTemplate>\n <igx-circular-bar [indeterminate]=\"true\"> </igx-circular-bar>\n </ng-template>\n</ng-container>\n<ng-container *ngTemplateOutlet=\"template; context: context\"> </ng-container>\n<ng-container *ngIf=\"isInvalid\">\n <igx-icon #errorIcon [igxTooltipTarget]=\"tooltipRef\" [igxToggleOutlet]=\"grid.outlet\"\n (mouseover)='errorShowing = true' (mouseout)='errorShowing = false'>error</igx-icon>\n <div [id]=\"ariaErrorMessage\"\n igxTooltip #error #tooltipRef=\"tooltip\">\n <div [style.width]=\"'max-content'\">\n <ng-container *ngTemplateOutlet=\"cellValidationErrorTemplate || defaultError; context: context\"></ng-container>\n </div>\n </div>\n</ng-container>\n\n<ng-template #defaultExpandedTemplate>\n <igx-icon>expand_more</igx-icon>\n</ng-template>\n<ng-template #defaultCollapsedTemplate>\n <igx-icon>chevron_right</igx-icon>\n</ng-template>\n<ng-template #defaultError>\n <div *ngIf=\"formGroup?.get(column?.field).errors?.['required']\">\n {{grid.resourceStrings.igx_grid_required_validation_error}}\n </div>\n <div *ngIf=\"formGroup?.get(column?.field).errors?.['minlength']\">\n {{grid.resourceStrings.igx_grid_min_length_validation_error | igxStringReplace:'{0}':formGroup.get(column.field).errors.minlength.requiredLength }}\n </div>\n <div *ngIf=\"formGroup?.get(column?.field).errors?.['maxlength']\">\n {{grid.resourceStrings.igx_grid_max_length_validation_error | igxStringReplace:'{0}':formGroup.get(column.field).errors.maxlength.requiredLength }}\n </div>\n <div *ngIf=\"formGroup?.get(column?.field).errors?.['min']\">\n {{grid.resourceStrings.igx_grid_min_validation_error | igxStringReplace:'{0}':formGroup.get(column.field).errors.min.min }}\n </div>\n <div *ngIf=\"formGroup?.get(column?.field).errors?.['max']\">\n {{grid.resourceStrings.igx_grid_max_validation_error | igxStringReplace:'{0}':formGroup.get(column.field).errors.max.max }}\n </div>\n <div *ngIf=\"formGroup?.get(column?.field).errors?.['email']\">\n {{grid.resourceStrings.igx_grid_email_validation_error }}\n </div>\n <div *ngIf=\"formGroup?.get(column?.field).errors?.['pattern']\">\n {{grid.resourceStrings.igx_grid_pattern_validation_error}}\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: DecimalPipe, name: "number" }, { kind: "pipe", type: PercentPipe, name: "percent" }, { kind: "pipe", type: CurrencyPipe, name: "currency" }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "component", type: IgxChipComponent, selector: "igx-chip", inputs: ["id", "tabIndex", "data", "draggable", "animateOnRelease", "hideBaseOnDrag", "removable", "removeIcon", "selectable", "selectIcon", "disabled", "selected", "color", "resourceStrings"], outputs: ["selectedChange", "moveStart", "moveEnd", "remove", "chipClick", "selectedChanging", "selectedChanged", "keyDown", "dragEnter", "dragLeave", "dragOver", "dragDrop"] }, { kind: "directive", type: IgxTextHighlightDirective, selector: "[igxTextHighlight]", inputs: ["cssClass", "activeCssClass", "containerClass", "groupName", "value", "row", "column", "metadata"] }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["family", "active", "name"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: IgxInputGroupComponent, selector: "igx-input-group", inputs: ["resourceStrings", "suppressInputAutofocus", "type", "theme"] }, { kind: "directive", type: IgxInputDirective, selector: "[igxInput]", inputs: ["value", "disabled", "required"], exportAs: ["igxInput"] }, { kind: "directive", type: IgxFocusDirective, selector: "[igxFocus]", inputs: ["igxFocus"], exportAs: ["igxFocus"] }, { kind: "component", type: IgxCheckboxComponent, selector: "igx-checkbox", inputs: ["id", "labelId", "value", "name", "tabindex", "labelPosition", "disableRipple", "required", "aria-labelledby", "aria-label", "indeterminate", "checked", "disabled", "invalid", "readonly", "disableTransitions"], outputs: ["change"] }, { kind: "component", type: IgxDatePickerComponent, selector: "igx-date-picker", inputs: ["hideOutsideDays", "displayMonthsCount", "showWeekNumbers", "formatter", "headerOrientation", "todayButtonLabel", "cancelButtonLabel", "spinLoop", "spinDelta", "outlet", "id", "formatViews", "disabledDates", "specialDates", "calendarFormat", "value", "minValue", "maxValue", "resourceStrings", "readOnly"], outputs: ["valueChange", "validationFailed"] }, { kind: "component", type: IgxTimePickerComponent, selector: "igx-time-picker", inputs: ["id", "displayFormat", "inputFormat", "mode", "minValue", "maxValue", "spinLoop", "formatter", "headerOrientation", "readOnly", "value", "resourceStrings", "okButtonLabel", "cancelButtonLabel", "itemsDelta"], outputs: ["selected", "valueChange", "validationFailed"] }, { kind: "directive", type: IgxDateTimeEditorDirective, selector: "[igxDateTimeEditor]", inputs: ["locale", "minValue", "maxValue", "spinLoop", "displayFormat", "igxDateTimeEditor", "value", "spinDelta"], outputs: ["valueChange", "validationFailed"], exportAs: ["igxDateTimeEditor"] }, { kind: "directive", type: IgxPrefixDirective, selector: "igx-prefix,[igxPrefix],[igxStart]" }, { kind: "directive", type: IgxSuffixDirective, selector: "igx-suffix,[igxSuffix],[igxEnd]" }, { kind: "component", type: IgxCircularProgressBarComponent, selector: "igx-circular-bar", inputs: ["id", "isIndeterminate", "textVisibility", "text"] }, { kind: "directive", type: IgxTooltipTargetDirective, selector: "[igxTooltipTarget]", inputs: ["showDelay", "hideDelay", "tooltipDisabled", "igxTooltipTarget", "tooltip"], outputs: ["tooltipShow", "tooltipHide"], exportAs: ["tooltipTarget"] }, { kind: "directive", type: IgxTooltipDirective, selector: "[igxTooltip]", inputs: ["context", "id"], exportAs: ["tooltip"] }, { kind: "pipe", type: IgxGridCellImageAltPipe, name: "igxCellImageAlt" }, { kind: "pipe", type: IgxStringReplacePipe, name: "igxStringReplace" }, { kind: "pipe", type: IgxColumnFormatterPipe, name: "columnFormatter" }, { kind: "directive", type: IgxTextSelectionDirective, selector: "[igxTextSelection]", inputs: ["igxTextSelection"], exportAs: ["igxTextSelection"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
65
65
  }
66
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-rc.4", ngImport: i0, type: IgxTreeGridCellComponent, decorators: [{
66
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IgxTreeGridCellComponent, decorators: [{
67
67
  type: Component,
68
68
  args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'igx-tree-grid-cell', providers: [HammerGesturesManager], standalone: true, imports: [
69
69
  NgIf,
@@ -104,4 +104,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-rc.4", ng
104
104
  }], row: [{
105
105
  type: Input
106
106
  }] } });
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1jZWxsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9ncmlkcy90cmVlLWdyaWQvdHJlZS1jZWxsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9ncmlkcy90cmVlLWdyaWQvdHJlZS1jZWxsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssRUFDUixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFN0gsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDekQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbkYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXBELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxvQkFBb0IsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzFGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzlFLE9BQU8s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QUFzQjt3QkFDdEIsaUJBQWlCO3dCQUNqQixpQkFBaUI7d0JBQ2pCLG9CQUFvQjt3QkFDcEIsc0JBQXNCO3dCQUN0QixzQkFBc0I7d0JBQ3RCLDBCQUEwQjt3QkFDMUIsa0JBQWtCO3dCQUNsQixrQkFBa0I7d0JBQ2xCLCtCQUErQjt3QkFDL0IseUJBQXlCO3dCQUN6QixtQkFBbUI7d0JBQ25CLHVCQUF1Qjt3QkFDdkIsb0JBQW9CO3dCQUNwQixzQkFBc0I7d0JBQ3RCLHlCQUF5QjtxQkFDNUI7OEJBUU0sS0FBSztzQkFEWCxLQUFLO2dCQU9DLGFBQWE7c0JBRG5CLEtBQUs7Z0JBT0MsU0FBUztzQkFEZixLQUFLO2dCQVljLEdBQUc7c0JBRHRCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBJbnB1dFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nSWYsIE5nQ2xhc3MsIE5nU3R5bGUsIE5nVGVtcGxhdGVPdXRsZXQsIERlY2ltYWxQaXBlLCBQZXJjZW50UGlwZSwgQ3VycmVuY3lQaXBlLCBEYXRlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7IEhhbW1lckdlc3R1cmVzTWFuYWdlciB9IGZyb20gJy4uLy4uL2NvcmUvdG91Y2gnO1xuaW1wb3J0IHsgSWd4R3JpZEV4cGFuZGFibGVDZWxsQ29tcG9uZW50IH0gZnJvbSAnLi4vZ3JpZC9leHBhbmRhYmxlLWNlbGwuY29tcG9uZW50JztcbmltcG9ydCB7IElneFRyZWVHcmlkUm93IH0gZnJvbSAnLi4vZ3JpZC1wdWJsaWMtcm93JztcbmltcG9ydCB7IFJvd1R5cGUgfSBmcm9tICcuLi9jb21tb24vZ3JpZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSWd4R3JpZENlbGxJbWFnZUFsdFBpcGUsIElneFN0cmluZ1JlcGxhY2VQaXBlLCBJZ3hDb2x1bW5Gb3JtYXR0ZXJQaXBlIH0gZnJvbSAnLi4vY29tbW9uL3BpcGVzJztcbmltcG9ydCB7IElneFRvb2x0aXBEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL3Rvb2x0aXAvdG9vbHRpcC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgSWd4VG9vbHRpcFRhcmdldERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvdG9vbHRpcC90b29sdGlwLXRhcmdldC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgSWd4Q2lyY3VsYXJQcm9ncmVzc0JhckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3Byb2dyZXNzYmFyL3Byb2dyZXNzYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJZ3hTdWZmaXhEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL3N1ZmZpeC9zdWZmaXguZGlyZWN0aXZlJztcbmltcG9ydCB7IElneFByZWZpeERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvcHJlZml4L3ByZWZpeC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgSWd4RGF0ZVRpbWVFZGl0b3JEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2RhdGUtdGltZS1lZGl0b3IvZGF0ZS10aW1lLWVkaXRvci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgSWd4VGltZVBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3RpbWUtcGlja2VyL3RpbWUtcGlja2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJZ3hEYXRlUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7IElneENoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50JztcbmltcG9ydCB7IElneEZvY3VzRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9mb2N1cy9mb2N1cy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgSWd4SW5wdXREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2lucHV0L2lucHV0LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBJZ3hJbnB1dEdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vaW5wdXQtZ3JvdXAvaW5wdXQtZ3JvdXAuY29tcG9uZW50JztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJZ3hJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vaWNvbi9pY29uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJZ3hUZXh0SGlnaGxpZ2h0RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy90ZXh0LWhpZ2hsaWdodC90ZXh0LWhpZ2hsaWdodC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgSWd4Q2hpcENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NoaXBzL2NoaXAuY29tcG9uZW50JztcbmltcG9ydCB7IElneFRleHRTZWxlY3Rpb25EaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL3RleHQtc2VsZWN0aW9uL3RleHQtc2VsZWN0aW9uLmRpcmVjdGl2ZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHNlbGVjdG9yOiAnaWd4LXRyZWUtZ3JpZC1jZWxsJyxcbiAgICB0ZW1wbGF0ZVVybDogJ3RyZWUtY2VsbC5jb21wb25lbnQuaHRtbCcsXG4gICAgcHJvdmlkZXJzOiBbSGFtbWVyR2VzdHVyZXNNYW5hZ2VyXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgTmdJZixcbiAgICAgICAgTmdDbGFzcyxcbiAgICAgICAgTmdTdHlsZSxcbiAgICAgICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICAgICAgRGVjaW1hbFBpcGUsXG4gICAgICAgIFBlcmNlbnRQaXBlLFxuICAgICAgICBDdXJyZW5jeVBpcGUsXG4gICAgICAgIERhdGVQaXBlLFxuICAgICAgICBJZ3hDaGlwQ29tcG9uZW50LFxuICAgICAgICBJZ3hUZXh0SGlnaGxpZ2h0RGlyZWN0aXZlLFxuICAgICAgICBJZ3hJY29uQ29tcG9uZW50LFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBJZ3hJbnB1dEdyb3VwQ29tcG9uZW50LFxuICAgICAgICBJZ3hJbnB1dERpcmVjdGl2ZSxcbiAgICAgICAgSWd4Rm9jdXNEaXJlY3RpdmUsXG4gICAgICAgIElneENoZWNrYm94Q29tcG9uZW50LFxuICAgICAgICBJZ3hEYXRlUGlja2VyQ29tcG9uZW50LFxuICAgICAgICBJZ3hUaW1lUGlja2VyQ29tcG9uZW50LFxuICAgICAgICBJZ3hEYXRlVGltZUVkaXRvckRpcmVjdGl2ZSxcbiAgICAgICAgSWd4UHJlZml4RGlyZWN0aXZlLFxuICAgICAgICBJZ3hTdWZmaXhEaXJlY3RpdmUsXG4gICAgICAgIElneENpcmN1bGFyUHJvZ3Jlc3NCYXJDb21wb25lbnQsXG4gICAgICAgIElneFRvb2x0aXBUYXJnZXREaXJlY3RpdmUsXG4gICAgICAgIElneFRvb2x0aXBEaXJlY3RpdmUsXG4gICAgICAgIElneEdyaWRDZWxsSW1hZ2VBbHRQaXBlLFxuICAgICAgICBJZ3hTdHJpbmdSZXBsYWNlUGlwZSxcbiAgICAgICAgSWd4Q29sdW1uRm9ybWF0dGVyUGlwZSxcbiAgICAgICAgSWd4VGV4dFNlbGVjdGlvbkRpcmVjdGl2ZVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgSWd4VHJlZUdyaWRDZWxsQ29tcG9uZW50IGV4dGVuZHMgSWd4R3JpZEV4cGFuZGFibGVDZWxsQ29tcG9uZW50IHtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBsZXZlbCA9IDA7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2hvd0luZGljYXRvciA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGlzTG9hZGluZzogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIHJvdyBvZiB0aGUgY2VsbC5cbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogbGV0IGNlbGxSb3cgPSB0aGlzLmNlbGwucm93O1xuICAgICAqIGBgYFxuICAgICAqXG4gICAgICogQG1lbWJlcm9mIElneEdyaWRDZWxsQ29tcG9uZW50XG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IHJvdygpOiBSb3dUeXBlIHtcbiAgICAgICAgLy8gVE9ETzogRml4IHR5cGVzXG4gICAgICAgIHJldHVybiBuZXcgSWd4VHJlZUdyaWRSb3codGhpcy5ncmlkIGFzIGFueSwgdGhpcy5pbnRSb3cuaW5kZXgsIHRoaXMuaW50Um93LmRhdGEpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBwdWJsaWMgb3ZlcnJpZGUgdG9nZ2xlKGV2ZW50OiBFdmVudCkge1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgdGhpcy5ncmlkLmdyaWRBUEkuc2V0X3Jvd19leHBhbnNpb25fc3RhdGUodGhpcy5pbnRSb3cua2V5LCAhdGhpcy5pbnRSb3cuZXhwYW5kZWQsIGV2ZW50KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHVibGljIG9uTG9hZGluZ0RibENsaWNrKGV2ZW50OiBFdmVudCkge1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG59XG4iLCI8bmctdGVtcGxhdGUgI2RlZmF1bHRQaW5uZWRJbmRpY2F0b3I+XG4gICAgPGlneC1jaGlwXG4gICAgICAgICpuZ0lmPVwiZGlzcGxheVBpbm5lZENoaXBcIlxuICAgICAgICBjbGFzcz1cImlneC1ncmlkX190ZC0tcGlubmVkLWNoaXBcIlxuICAgICAgICBbZGlzYWJsZWRdPVwidHJ1ZVwiXG4gICAgICAgIFtkaXNwbGF5RGVuc2l0eV09XCInY29tcGFjdCdcIlxuICAgICAgICA+e3sgZ3JpZC5yZXNvdXJjZVN0cmluZ3MuaWd4X2dyaWRfcGlubmVkX3Jvd19pbmRpY2F0b3IgfX08L2lneC1jaGlwXG4gICAgPlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdENlbGw+XG4gICAgPGRpdiAqbmdJZj1cImNvbHVtbi5kYXRhVHlwZSAhPT0gJ2Jvb2xlYW4nICYmIGNvbHVtbi5kYXRhVHlwZSAhPT0gJ2ltYWdlJyB8fCAoY29sdW1uLmRhdGFUeXBlID09PSAnYm9vbGVhbicgJiYgdGhpcy5mb3JtYXR0ZXIpXCJcbiAgICAgICAgaWd4VGV4dEhpZ2hsaWdodFxuICAgICAgICBjbGFzcz1cImlneC1ncmlkX190ZC10ZXh0XCJcbiAgICAgICAgc3R5bGU9XCJwb2ludGVyLWV2ZW50czogbm9uZTtcIlxuICAgICAgICBbY3NzQ2xhc3NdPVwiaGlnaGxpZ2h0Q2xhc3NcIlxuICAgICAgICBbYWN0aXZlQ3NzQ2xhc3NdPVwiYWN0aXZlSGlnaGxpZ2h0Q2xhc3NcIlxuICAgICAgICBbZ3JvdXBOYW1lXT1cImdyaWRJRFwiXG4gICAgICAgIFt2YWx1ZV09XCJcbiAgICAgICAgICAgIGZvcm1hdHRlclxuICAgICAgICAgICAgICAgID8gKHZhbHVlIHwgY29sdW1uRm9ybWF0dGVyOmZvcm1hdHRlcjpyb3dEYXRhKVxuICAgICAgICAgICAgICAgIDogY29sdW1uLmRhdGFUeXBlID09PSAnbnVtYmVyJ1xuICAgICAgICAgICAgICAgID8gKHZhbHVlIHwgbnVtYmVyOmNvbHVtbi5waXBlQXJncy5kaWdpdHNJbmZvOmdyaWQubG9jYWxlKVxuICAgICAgICAgICAgICAgIDogKGNvbHVtbi5kYXRhVHlwZSA9PT0gJ2RhdGUnIHx8IGNvbHVtbi5kYXRhVHlwZSA9PT0gJ3RpbWUnIHx8IGNvbHVtbi5kYXRhVHlwZSA9PT0gJ2RhdGVUaW1lJylcbiAgICAgICAgICAgICAgICA/ICh2YWx1ZSB8IGRhdGU6Y29sdW1uLnBpcGVBcmdzLmZvcm1hdDpjb2x1bW4ucGlwZUFyZ3MudGltZXpvbmU6Z3JpZC5sb2NhbGUpXG4gICAgICAgICAgICAgICAgOiBjb2x1bW4uZGF0YVR5cGUgPT09ICdjdXJyZW5jeSdcbiAgICAgICAgICAgICAgICA/ICh2YWx1ZSB8IGN1cnJlbmN5OmN1cnJlbmN5Q29kZTpjb2x1bW4ucGlwZUFyZ3MuZGlzcGxheTpjb2x1bW4ucGlwZUFyZ3MuZGlnaXRzSW5mbzpncmlkLmxvY2FsZSlcbiAgICAgICAgICAgICAgICA6IGNvbHVtbi5kYXRhVHlwZSA9PT0gJ3BlcmNlbnQnXG4gICAgICAgICAgICAgICAgPyAodmFsdWUgfCBwZXJjZW50OmNvbHVtbi5waXBlQXJncy5kaWdpdHNJbmZvOmdyaWQubG9jYWxlKVxuICAgICAgICAgICAgICAgIDogdmFsdWVcbiAgICAgICAgXCJcbiAgICAgICAgW3Jvd109XCJyb3dEYXRhXCJcbiAgICAgICAgW2NvbHVtbl09XCJ0aGlzLmNvbHVtbi5maWVsZFwiXG4gICAgICAgIFtjb250YWluZXJDbGFzc109XCInaWd4LWdyaWRfX3RkLXRleHQnXCJcbiAgICAgICAgW21ldGFkYXRhXT1cInNlYXJjaE1ldGFkYXRhXCJcbiAgICA+e3tcbiAgICAgICAgICAgIGZvcm1hdHRlclxuICAgICAgICAgICAgICAgID8gKHZhbHVlIHwgY29sdW1uRm9ybWF0dGVyOmZvcm1hdHRlcjpyb3dEYXRhKVxuICAgICAgICAgICAgICAgIDogY29sdW1uLmRhdGFUeXBlID09PSBcIm51bWJlclwiXG4gICAgICAgICAgICAgICAgPyAodmFsdWUgfCBudW1iZXI6Y29sdW1uLnBpcGVBcmdzLmRpZ2l0c0luZm86Z3JpZC5sb2NhbGUpXG4gICAgICAgICAgICAgICAgOiAoY29sdW1uLmRhdGFUeXBlID09PSAnZGF0ZScgfHwgY29sdW1uLmRhdGFUeXBlID09PSAndGltZScgfHwgY29sdW1uLmRhdGFUeXBlID09PSAnZGF0ZVRpbWUnKVxuICAgICAgICAgICAgICAgID8gKHZhbHVlIHwgZGF0ZTpjb2x1bW4ucGlwZUFyZ3MuZm9ybWF0OmNvbHVtbi5waXBlQXJncy50aW1lem9uZTpncmlkLmxvY2FsZSlcbiAgICAgICAgICAgICAgICA6IGNvbHVtbi5kYXRhVHlwZSA9PT0gJ2N1cnJlbmN5J1xuICAgICAgICAgICAgICAgID8gKHZhbHVlIHwgY3VycmVuY3k6Y3VycmVuY3lDb2RlOmNvbHVtbi5waXBlQXJncy5kaXNwbGF5OmNvbHVtbi5waXBlQXJncy5kaWdpdHNJbmZvOmdyaWQubG9jYWxlKVxuICAgICAgICAgICAgICAgIDogY29sdW1uLmRhdGFUeXBlID09PSAncGVyY2VudCdcbiAgICAgICAgICAgICAgICA/ICh2YWx1ZSB8IHBlcmNlbnQ6Y29sdW1uLnBpcGVBcmdzLmRpZ2l0c0luZm86Z3JpZC5sb2NhbGUpXG4gICAgICAgICAgICAgICAgOiB2YWx1ZVxuICAgICAgICB9fTwvZGl2PlxuICAgIDxpZ3gtaWNvblxuICAgICAgICAqbmdJZj1cImNvbHVtbi5kYXRhVHlwZSA9PT0gJ2Jvb2xlYW4nICYmICF0aGlzLmZvcm1hdHRlclwiXG4gICAgICAgIFtuZ0NsYXNzXT1cInsgJ2lneC1pY29uLS1zdWNjZXNzJzogdmFsdWUsICdpZ3gtaWNvbi0tZXJyb3InOiAhdmFsdWUgfVwiXG4gICAgICAgID57eyB2YWx1ZSA/IFwiY2hlY2tcIiA6IFwiY2xvc2VcIiB9fTwvaWd4LWljb24+XG4gICAgPGltZyAqbmdJZj1cImNvbHVtbi5kYXRhVHlwZSA9PT0gJ2ltYWdlJ1wiIFtzcmNdPVwidmFsdWVcIiBbYWx0XT1cInZhbHVlIHwgaWd4Q2VsbEltYWdlQWx0XCIgLz5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI2FkZFJvd0NlbGwgbGV0LWNlbGw9XCJjZWxsXCI+XG4gICAgPGRpdiAqbmdJZj1cImNvbHVtbi5kYXRhVHlwZSAhPT0gJ2Jvb2xlYW4nIHx8IChjb2x1bW4uZGF0YVR5cGUgPT09ICdib29sZWFuJyAmJiB0aGlzLmZvcm1hdHRlcilcIlxuICAgIGlneFRleHRIaWdobGlnaHQgY2xhc3M9XCJpZ3gtZ3JpZF9fdGQtdGV4dFwiXG4gICAgc3R5bGU9XCJwb2ludGVyLWV2ZW50czogbm9uZVwiXG4gICAgW2Nzc0NsYXNzXT1cImhpZ2hsaWdodENsYXNzXCJcbiAgICBbYWN0aXZlQ3NzQ2xhc3NdPVwiYWN0aXZlSGlnaGxpZ2h0Q2xhc3NcIlxuICAgIFtncm91cE5hbWVdPVwiZ3JpZElEXCJcbiAgICBbdmFsdWVdPVwiZm9ybWF0dGVyID8gKHZhbHVlIHwgY29sdW1uRm9ybWF0dGVyOmZvcm1hdHRlcjpyb3dEYXRhKSA6IGNvbHVtbi5kYXRhVHlwZSA9PT0gJ251bWJlcicgP1xuICAgICAgICAodmFsdWUgfCBudW1iZXI6Y29sdW1uLnBpcGVBcmdzLmRpZ2l0c0luZm86Z3JpZC5sb2NhbGUpIDogKGNvbHVtbi5kYXRhVHlwZSA9PT0gJ2RhdGUnIHx8IGNvbHVtbi5kYXRhVHlwZSA9PT0gJ3RpbWUnIHx8IGNvbHVtbi5kYXRhVHlwZSA9PT0gJ2RhdGVUaW1lJykgP1xuICAgICAgICAodmFsdWUgfCBkYXRlOmNvbHVtbi5waXBlQXJncy5mb3JtYXQ6Y29sdW1uLnBpcGVBcmdzLnRpbWV6b25lOmdyaWQubG9jYWxlKSA6IGNvbHVtbi5kYXRhVHlwZSA9PT0gJ2N1cnJlbmN5Jz9cbiAgICAgICAgKHZhbHVlIHwgY3VycmVuY3k6Y3VycmVuY3lDb2RlOmNvbHVtbi5waXBlQXJncy5kaXNwbGF5OmNvbHVtbi5waXBlQXJncy5kaWdpdHNJbmZvOmdyaWQubG9jYWxlKSA6IGNvbHVtbi5kYXRhVHlwZSA9PT0gJ3BlcmNlbnQnID9cbiAgICAgICAgKHZhbHVlIHwgcGVyY2VudDpjb2x1bW4ucGlwZUFyZ3MuZGlnaXRzSW5mbzpncmlkLmxvY2FsZSkgOiB2YWx1ZVwiXG4gICAgW3Jvd109XCJyb3dEYXRhXCJcbiAgICBbY29sdW1uXT1cInRoaXMuY29sdW1uLmZpZWxkXCJcbiAgICBbY29udGFpbmVyQ2xhc3NdPVwiJ2lneC1ncmlkX190ZC10ZXh0J1wiXG4gICAgW21ldGFkYXRhXT1cInNlYXJjaE1ldGFkYXRhXCI+e3tcbiAgICAgICAgIWlzRW1wdHlBZGRSb3dDZWxsID8gdmFsdWUgOiAoY29sdW1uLmhlYWRlciB8fCBjb2x1bW4uZmllbGQpXG4gICAgfX08L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI2lubGluZUVkaXRvciBsZXQtY2VsbD1cImNlbGxcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29sdW1uLmRhdGFUeXBlID09PSAnc3RyaW5nJyB8fCBjb2x1bW4uZGF0YVR5cGUgPT09ICdpbWFnZSdcIiBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiPlxuICAgICAgICA8aWd4LWlucHV0LWdyb3VwIGRpc3BsYXlEZW5zaXR5PVwiY29tcGFjdFwiID5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIGlneElucHV0XG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJhcmlhRGVzY3JpYmVCeVwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cImlzSW52YWxpZFwiXG4gICAgICAgICAgICAgICAgW2lneEZvY3VzXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFtpZ3hUZXh0U2VsZWN0aW9uXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbFwiXG4gICAgICAgICAgICAgICAgKGNvbXBvc2l0aW9uc3RhcnQpPVwiZ3JpZC5jcnVkU2VydmljZS5pc0luQ29tcG9zaXRpb25Nb2RlID0gdHJ1ZVwiXG4gICAgICAgICAgICAgICAgKGNvbXBvc2l0aW9uZW5kKT1cImdyaWQuY3J1ZFNlcnZpY2UuaXNJbkNvbXBvc2l0aW9uTW9kZSA9IGZhbHNlXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgIDwvaWd4LWlucHV0LWdyb3VwPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb2x1bW4uZGF0YVR5cGUgPT09ICdudW1iZXInXCI+XG4gICAgICAgIDxpZ3gtaW5wdXQtZ3JvdXAgZGlzcGxheURlbnNpdHk9XCJjb21wYWN0XCIgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIj5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIGlneElucHV0XG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJhcmlhRGVzY3JpYmVCeVwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cImlzSW52YWxpZFwiXG4gICAgICAgICAgICAgICAgW2lneEZvY3VzXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFtzdGVwXT1cInN0ZXBcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgICAgICAgICAgIFtpZ3hUZXh0U2VsZWN0aW9uXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbFwiXG4gICAgICAgICAgICAvPlxuICAgICAgICA8L2lneC1pbnB1dC1ncm91cD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29sdW1uLmRhdGFUeXBlID09PSAnYm9vbGVhbidcIiBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiPlxuICAgICAgICA8aWd4LWNoZWNrYm94XG4gICAgICAgICAgICBbY2hlY2tlZF09XCJlZGl0VmFsdWVcIlxuICAgICAgICAgICAgW2lneEZvY3VzXT1cInRydWVcIlxuICAgICAgICAgICAgW2Rpc2FibGVSaXBwbGVdPVwidHJ1ZVwiXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIlxuICAgICAgICA+PC9pZ3gtY2hlY2tib3g+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbHVtbi5kYXRhVHlwZSA9PT0gJ2RhdGUnXCIgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIj5cbiAgICAgICAgPGlneC1kYXRlLXBpY2tlclxuICAgICAgICAgICAgW3N0eWxlLndpZHRoLiVdPVwiMTAwXCJcbiAgICAgICAgICAgIFtvdXRsZXRdPVwiZ3JpZC5vdXRsZXRcIlxuICAgICAgICAgICAgbW9kZT1cImRyb3Bkb3duXCJcbiAgICAgICAgICAgIFtsb2NhbGVdPVwiZ3JpZC5sb2NhbGVcIlxuICAgICAgICAgICAgW3dlZWtTdGFydF09XCJjb2x1bW4ucGlwZUFyZ3Mud2Vla1N0YXJ0XCJcbiAgICAgICAgICAgIFsodmFsdWUpXT1cImVkaXRWYWx1ZVwiXG4gICAgICAgICAgICBbaWd4Rm9jdXNdPVwidHJ1ZVwiXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIlxuICAgICAgICA+XG4gICAgICAgIDwvaWd4LWRhdGUtcGlja2VyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb2x1bW4uZGF0YVR5cGUgPT09ICd0aW1lJ1wiIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCI+XG4gICAgICAgIDxpZ3gtdGltZS1waWNrZXJcbiAgICAgICAgICAgIFtzdHlsZS53aWR0aC4lXT1cIjEwMFwiXG4gICAgICAgICAgICBbb3V0bGV0XT1cImdyaWQub3V0bGV0XCJcbiAgICAgICAgICAgIG1vZGU9XCJkcm9wZG93blwiXG4gICAgICAgICAgICBbbG9jYWxlXT1cImdyaWQubG9jYWxlXCJcbiAgICAgICAgICAgIFtpbnB1dEZvcm1hdF09XCJjb2x1bW4uZGVmYXVsdFRpbWVGb3JtYXRcIlxuICAgICAgICAgICAgWyh2YWx1ZSldPVwiZWRpdFZhbHVlXCJcbiAgICAgICAgICAgIFtpZ3hGb2N1c109XCJ0cnVlXCJcbiAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbFwiXG4gICAgICAgID48L2lneC10aW1lLXBpY2tlcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29sdW1uLmRhdGFUeXBlID09PSAnZGF0ZVRpbWUnXCI+XG4gICAgICAgIDxpZ3gtaW5wdXQtZ3JvdXAgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIj5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImFyaWFEZXNjcmliZUJ5XCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWludmFsaWRdPVwiaXNJbnZhbGlkXCJcbiAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIlxuICAgICAgICAgICAgICAgIGlneElucHV0XG4gICAgICAgICAgICAgICAgW2lneERhdGVUaW1lRWRpdG9yXT1cImNvbHVtbi5kZWZhdWx0RGF0ZVRpbWVGb3JtYXRcIlxuICAgICAgICAgICAgICAgIFtpZ3hGb2N1c109XCJ0cnVlXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgIDwvaWd4LWlucHV0LWdyb3VwPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb2x1bW4uZGF0YVR5cGUgPT09ICdjdXJyZW5jeSdcIj5cbiAgICAgICAgPGlneC1pbnB1dC1ncm91cCBkaXNwbGF5RGVuc2l0eT1cImNvbXBhY3RcIiBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiPlxuICAgICAgICAgICAgPGlneC1wcmVmaXggKm5nSWY9XCJncmlkLmN1cnJlbmN5UG9zaXRpb25MZWZ0XCI+e3sgY3VycmVuY3lDb2RlU3ltYm9sIH19PC9pZ3gtcHJlZml4PlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgaWd4SW5wdXRcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImFyaWFEZXNjcmliZUJ5XCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWludmFsaWRdPVwiaXNJbnZhbGlkXCJcbiAgICAgICAgICAgICAgICBbaWd4Rm9jdXNdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgW3N0ZXBdPVwic3RlcFwiXG4gICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXG4gICAgICAgICAgICAgICAgW2lneFRleHRTZWxlY3Rpb25dPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8aWd4LXN1ZmZpeCAqbmdJZj1cIiFncmlkLmN1cnJlbmN5UG9zaXRpb25MZWZ0XCI+e3sgY3VycmVuY3lDb2RlU3ltYm9sIH19PC9pZ3gtc3VmZml4PlxuICAgICAgICA8L2lneC1pbnB1dC1ncm91cD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29sdW1uLmRhdGFUeXBlID09PSAncGVyY2VudCdcIj5cbiAgICAgICAgPGlneC1pbnB1dC1ncm91cCBkaXNwbGF5RGVuc2l0eT1cImNvbXBhY3RcIiBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgaWd4SW5wdXRcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImFyaWFEZXNjcmliZUJ5XCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWludmFsaWRdPVwiaXNJbnZhbGlkXCJcbiAgICAgICAgICAgICAgICBbaWd4Rm9jdXNdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgW3N0ZXBdPVwic3RlcFwiXG4gICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXG4gICAgICAgICAgICAgICAgW2lneFRleHRTZWxlY3Rpb25dPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8aWd4LXN1ZmZpeD4ge3sgZWRpdFZhbHVlIHwgcGVyY2VudDpjb2x1bW4ucGlwZUFyZ3MuZGlnaXRzSW5mbzpncmlkLmxvY2FsZSB9fSA8L2lneC1zdWZmaXg+XG4gICAgICAgIDwvaWd4LWlucHV0LWdyb3VwPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy1jb250YWluZXIgKm5nSWY9XCIhZWRpdE1vZGVcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibGV2ZWwgPiAwXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgICNpbmRlbnRhdGlvbkRpdlxuICAgICAgICAgICAgY2xhc3M9XCJpZ3gtZ3JpZF9fdHJlZS1jZWxsLS1wYWRkaW5nLWxldmVsLXt7bGV2ZWx9fVwiXG4gICAgICAgICAgICBbbmdTdHlsZV09XCJ7J3BhZGRpbmctaW5saW5lLXN0YXJ0JzogJ2NhbGModmFyKC0taWd4LXRyZWUtaW5kZW50LXNpemUpIConICsgbGV2ZWwgKyAnKSd9XCJcbiAgICAgICAgPjwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxkaXZcbiAgICAgICAgI2luZGljYXRvclxuICAgICAgICAqbmdJZj1cIiFpc0xvYWRpbmdcIlxuICAgICAgICBjbGFzcz1cImlneC1ncmlkX190cmVlLWdyb3VwaW5nLWluZGljYXRvclwiXG4gICAgICAgIFtuZ1N0eWxlXT1cInsgdmlzaWJpbGl0eTogc2hvd0luZGljYXRvciA/ICd2aXNpYmxlJyA6ICdoaWRkZW4nIH1cIlxuICAgICAgICAoY2xpY2spPVwidG9nZ2xlKCRldmVudClcIlxuICAgICAgICAoZm9jdXMpPVwib25JbmRpY2F0b3JGb2N1cygpXCJcbiAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiaWNvblRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogIHRoaXMgfVwiXG4gICAgICAgID5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwicGlubmVkSW5kaWNhdG9yVGVtcGxhdGU7IGNvbnRleHQ6IGNvbnRleHRcIlxuICAgICAgICA+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCJpc0xvYWRpbmdcIlxuICAgICAgICAoZGJsY2xpY2spPVwib25Mb2FkaW5nRGJsQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgIGNsYXNzPVwiaWd4LWdyaWRfX3RyZWUtbG9hZGluZy1pbmRpY2F0b3JcIlxuICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgICBncmlkLnJvd0xvYWRpbmdJbmRpY2F0b3JUZW1wbGF0ZVxuICAgICAgICAgICAgICAgICAgICA/IGdyaWQucm93TG9hZGluZ0luZGljYXRvclRlbXBsYXRlXG4gICAgICAgICAgICAgICAgICAgIDogZGVmYXVsdExvYWRpbmdJbmRpY2F0b3JUZW1wbGF0ZVxuICAgICAgICAgICAgXCJcbiAgICAgICAgPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRMb2FkaW5nSW5kaWNhdG9yVGVtcGxhdGU+XG4gICAgICAgIDxpZ3gtY2lyY3VsYXItYmFyIFtpbmRldGVybWluYXRlXT1cInRydWVcIj4gPC9pZ3gtY2lyY3VsYXItYmFyPlxuICAgIDwvbmctdGVtcGxhdGU+XG48L25nLWNvbnRhaW5lcj5cbjxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0ZW1wbGF0ZTsgY29udGV4dDogY29udGV4dFwiPiA8L25nLWNvbnRhaW5lcj5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJpc0ludmFsaWRcIj5cbiAgICA8aWd4LWljb24gI2Vycm9ySWNvbiBbaWd4VG9vbHRpcFRhcmdldF09XCJ0b29sdGlwUmVmXCIgW2lneFRvZ2dsZU91dGxldF09XCJncmlkLm91dGxldFwiXG4gICAgKG1vdXNlb3Zlcik9J2Vycm9yU2hvd2luZyA9IHRydWUnIChtb3VzZW91dCk9J2Vycm9yU2hvd2luZyA9IGZhbHNlJz5lcnJvcjwvaWd4LWljb24+XG4gICAgPGRpdiBbaWRdPVwiYXJpYUVycm9yTWVzc2FnZVwiXG4gICAgaWd4VG9vbHRpcCAjZXJyb3IgI3Rvb2x0aXBSZWY9XCJ0b29sdGlwXCI+XG4gICAgICAgIDxkaXYgW3N0eWxlLndpZHRoXT1cIidtYXgtY29udGVudCdcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjZWxsVmFsaWRhdGlvbkVycm9yVGVtcGxhdGUgfHwgZGVmYXVsdEVycm9yOyBjb250ZXh0OiBjb250ZXh0XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdEV4cGFuZGVkVGVtcGxhdGU+XG4gICAgPGlneC1pY29uPmV4cGFuZF9tb3JlPC9pZ3gtaWNvbj5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI2RlZmF1bHRDb2xsYXBzZWRUZW1wbGF0ZT5cbiAgICA8aWd4LWljb24+Y2hldnJvbl9yaWdodDwvaWd4LWljb24+XG48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlICNkZWZhdWx0RXJyb3I+XG4gICAgPGRpdiAqbmdJZj1cImZvcm1Hcm91cD8uZ2V0KGNvbHVtbj8uZmllbGQpLmVycm9ycz8uWydyZXF1aXJlZCddXCI+XG4gICAgICAgIHt7Z3JpZC5yZXNvdXJjZVN0cmluZ3MuaWd4X2dyaWRfcmVxdWlyZWRfdmFsaWRhdGlvbl9lcnJvcn19XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cImZvcm1Hcm91cD8uZ2V0KGNvbHVtbj8uZmllbGQpLmVycm9ycz8uWydtaW5sZW5ndGgnXVwiPlxuICAgICAgICB7e2dyaWQucmVzb3VyY2VTdHJpbmdzLmlneF9ncmlkX21pbl9sZW5ndGhfdmFsaWRhdGlvbl9lcnJvciB8IGlneFN0cmluZ1JlcGxhY2U6J3swfSc6Zm9ybUdyb3VwLmdldChjb2x1bW4uZmllbGQpLmVycm9ycy5taW5sZW5ndGgucmVxdWlyZWRMZW5ndGggfX1cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwiZm9ybUdyb3VwPy5nZXQoY29sdW1uPy5maWVsZCkuZXJyb3JzPy5bJ21heGxlbmd0aCddXCI+XG4gICAgICAgIHt7Z3JpZC5yZXNvdXJjZVN0cmluZ3MuaWd4X2dyaWRfbWF4X2xlbmd0aF92YWxpZGF0aW9uX2Vycm9yIHwgaWd4U3RyaW5nUmVwbGFjZTonezB9Jzpmb3JtR3JvdXAuZ2V0KGNvbHVtbi5maWVsZCkuZXJyb3JzLm1heGxlbmd0aC5yZXF1aXJlZExlbmd0aCB9fVxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJmb3JtR3JvdXA/LmdldChjb2x1bW4/LmZpZWxkKS5lcnJvcnM/LlsnbWluJ11cIj5cbiAgICAgICAge3tncmlkLnJlc291cmNlU3RyaW5ncy5pZ3hfZ3JpZF9taW5fdmFsaWRhdGlvbl9lcnJvciB8IGlneFN0cmluZ1JlcGxhY2U6J3swfSc6Zm9ybUdyb3VwLmdldChjb2x1bW4uZmllbGQpLmVycm9ycy5taW4ubWluIH19XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cImZvcm1Hcm91cD8uZ2V0KGNvbHVtbj8uZmllbGQpLmVycm9ycz8uWydtYXgnXVwiPlxuICAgICAgICB7e2dyaWQucmVzb3VyY2VTdHJpbmdzLmlneF9ncmlkX21heF92YWxpZGF0aW9uX2Vycm9yIHwgaWd4U3RyaW5nUmVwbGFjZTonezB9Jzpmb3JtR3JvdXAuZ2V0KGNvbHVtbi5maWVsZCkuZXJyb3JzLm1heC5tYXggfX1cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwiZm9ybUdyb3VwPy5nZXQoY29sdW1uPy5maWVsZCkuZXJyb3JzPy5bJ2VtYWlsJ11cIj5cbiAgICAgICAge3tncmlkLnJlc291cmNlU3RyaW5ncy5pZ3hfZ3JpZF9lbWFpbF92YWxpZGF0aW9uX2Vycm9yIH19XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cImZvcm1Hcm91cD8uZ2V0KGNvbHVtbj8uZmllbGQpLmVycm9ycz8uWydwYXR0ZXJuJ11cIj5cbiAgICAgICAge3tncmlkLnJlc291cmNlU3RyaW5ncy5pZ3hfZ3JpZF9wYXR0ZXJuX3ZhbGlkYXRpb25fZXJyb3J9fVxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1jZWxsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9ncmlkcy90cmVlLWdyaWQvdHJlZS1jZWxsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9ncmlkcy90cmVlLWdyaWQvdHJlZS1jZWxsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssRUFDUixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFN0gsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDekQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbkYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXBELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxvQkFBb0IsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzFGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzlFLE9BQU8s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QUFzQjt3QkFDdEIsaUJBQWlCO3dCQUNqQixpQkFBaUI7d0JBQ2pCLG9CQUFvQjt3QkFDcEIsc0JBQXNCO3dCQUN0QixzQkFBc0I7d0JBQ3RCLDBCQUEwQjt3QkFDMUIsa0JBQWtCO3dCQUNsQixrQkFBa0I7d0JBQ2xCLCtCQUErQjt3QkFDL0IseUJBQXlCO3dCQUN6QixtQkFBbUI7d0JBQ25CLHVCQUF1Qjt3QkFDdkIsb0JBQW9CO3dCQUNwQixzQkFBc0I7d0JBQ3RCLHlCQUF5QjtxQkFDNUI7OEJBUU0sS0FBSztzQkFEWCxLQUFLO2dCQU9DLGFBQWE7c0JBRG5CLEtBQUs7Z0JBT0MsU0FBUztzQkFEZixLQUFLO2dCQVljLEdBQUc7c0JBRHRCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBJbnB1dFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nSWYsIE5nQ2xhc3MsIE5nU3R5bGUsIE5nVGVtcGxhdGVPdXRsZXQsIERlY2ltYWxQaXBlLCBQZXJjZW50UGlwZSwgQ3VycmVuY3lQaXBlLCBEYXRlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7IEhhbW1lckdlc3R1cmVzTWFuYWdlciB9IGZyb20gJy4uLy4uL2NvcmUvdG91Y2gnO1xuaW1wb3J0IHsgSWd4R3JpZEV4cGFuZGFibGVDZWxsQ29tcG9uZW50IH0gZnJvbSAnLi4vZ3JpZC9leHBhbmRhYmxlLWNlbGwuY29tcG9uZW50JztcbmltcG9ydCB7IElneFRyZWVHcmlkUm93IH0gZnJvbSAnLi4vZ3JpZC1wdWJsaWMtcm93JztcbmltcG9ydCB7IFJvd1R5cGUgfSBmcm9tICcuLi9jb21tb24vZ3JpZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSWd4R3JpZENlbGxJbWFnZUFsdFBpcGUsIElneFN0cmluZ1JlcGxhY2VQaXBlLCBJZ3hDb2x1bW5Gb3JtYXR0ZXJQaXBlIH0gZnJvbSAnLi4vY29tbW9uL3BpcGVzJztcbmltcG9ydCB7IElneFRvb2x0aXBEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL3Rvb2x0aXAvdG9vbHRpcC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgSWd4VG9vbHRpcFRhcmdldERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvdG9vbHRpcC90b29sdGlwLXRhcmdldC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgSWd4Q2lyY3VsYXJQcm9ncmVzc0JhckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3Byb2dyZXNzYmFyL3Byb2dyZXNzYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJZ3hTdWZmaXhEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL3N1ZmZpeC9zdWZmaXguZGlyZWN0aXZlJztcbmltcG9ydCB7IElneFByZWZpeERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvcHJlZml4L3ByZWZpeC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgSWd4RGF0ZVRpbWVFZGl0b3JEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2RhdGUtdGltZS1lZGl0b3IvZGF0ZS10aW1lLWVkaXRvci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgSWd4VGltZVBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3RpbWUtcGlja2VyL3RpbWUtcGlja2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJZ3hEYXRlUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7IElneENoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50JztcbmltcG9ydCB7IElneEZvY3VzRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9mb2N1cy9mb2N1cy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgSWd4SW5wdXREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2lucHV0L2lucHV0LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBJZ3hJbnB1dEdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vaW5wdXQtZ3JvdXAvaW5wdXQtZ3JvdXAuY29tcG9uZW50JztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJZ3hJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vaWNvbi9pY29uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJZ3hUZXh0SGlnaGxpZ2h0RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy90ZXh0LWhpZ2hsaWdodC90ZXh0LWhpZ2hsaWdodC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgSWd4Q2hpcENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NoaXBzL2NoaXAuY29tcG9uZW50JztcbmltcG9ydCB7IElneFRleHRTZWxlY3Rpb25EaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL3RleHQtc2VsZWN0aW9uL3RleHQtc2VsZWN0aW9uLmRpcmVjdGl2ZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHNlbGVjdG9yOiAnaWd4LXRyZWUtZ3JpZC1jZWxsJyxcbiAgICB0ZW1wbGF0ZVVybDogJ3RyZWUtY2VsbC5jb21wb25lbnQuaHRtbCcsXG4gICAgcHJvdmlkZXJzOiBbSGFtbWVyR2VzdHVyZXNNYW5hZ2VyXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgTmdJZixcbiAgICAgICAgTmdDbGFzcyxcbiAgICAgICAgTmdTdHlsZSxcbiAgICAgICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICAgICAgRGVjaW1hbFBpcGUsXG4gICAgICAgIFBlcmNlbnRQaXBlLFxuICAgICAgICBDdXJyZW5jeVBpcGUsXG4gICAgICAgIERhdGVQaXBlLFxuICAgICAgICBJZ3hDaGlwQ29tcG9uZW50LFxuICAgICAgICBJZ3hUZXh0SGlnaGxpZ2h0RGlyZWN0aXZlLFxuICAgICAgICBJZ3hJY29uQ29tcG9uZW50LFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBJZ3hJbnB1dEdyb3VwQ29tcG9uZW50LFxuICAgICAgICBJZ3hJbnB1dERpcmVjdGl2ZSxcbiAgICAgICAgSWd4Rm9jdXNEaXJlY3RpdmUsXG4gICAgICAgIElneENoZWNrYm94Q29tcG9uZW50LFxuICAgICAgICBJZ3hEYXRlUGlja2VyQ29tcG9uZW50LFxuICAgICAgICBJZ3hUaW1lUGlja2VyQ29tcG9uZW50LFxuICAgICAgICBJZ3hEYXRlVGltZUVkaXRvckRpcmVjdGl2ZSxcbiAgICAgICAgSWd4UHJlZml4RGlyZWN0aXZlLFxuICAgICAgICBJZ3hTdWZmaXhEaXJlY3RpdmUsXG4gICAgICAgIElneENpcmN1bGFyUHJvZ3Jlc3NCYXJDb21wb25lbnQsXG4gICAgICAgIElneFRvb2x0aXBUYXJnZXREaXJlY3RpdmUsXG4gICAgICAgIElneFRvb2x0aXBEaXJlY3RpdmUsXG4gICAgICAgIElneEdyaWRDZWxsSW1hZ2VBbHRQaXBlLFxuICAgICAgICBJZ3hTdHJpbmdSZXBsYWNlUGlwZSxcbiAgICAgICAgSWd4Q29sdW1uRm9ybWF0dGVyUGlwZSxcbiAgICAgICAgSWd4VGV4dFNlbGVjdGlvbkRpcmVjdGl2ZVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgSWd4VHJlZUdyaWRDZWxsQ29tcG9uZW50IGV4dGVuZHMgSWd4R3JpZEV4cGFuZGFibGVDZWxsQ29tcG9uZW50IHtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBsZXZlbCA9IDA7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2hvd0luZGljYXRvciA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGlzTG9hZGluZzogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIHJvdyBvZiB0aGUgY2VsbC5cbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogbGV0IGNlbGxSb3cgPSB0aGlzLmNlbGwucm93O1xuICAgICAqIGBgYFxuICAgICAqXG4gICAgICogQG1lbWJlcm9mIElneEdyaWRDZWxsQ29tcG9uZW50XG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IHJvdygpOiBSb3dUeXBlIHtcbiAgICAgICAgLy8gVE9ETzogRml4IHR5cGVzXG4gICAgICAgIHJldHVybiBuZXcgSWd4VHJlZUdyaWRSb3codGhpcy5ncmlkIGFzIGFueSwgdGhpcy5pbnRSb3cuaW5kZXgsIHRoaXMuaW50Um93LmRhdGEpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBwdWJsaWMgb3ZlcnJpZGUgdG9nZ2xlKGV2ZW50OiBFdmVudCkge1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgdGhpcy5ncmlkLmdyaWRBUEkuc2V0X3Jvd19leHBhbnNpb25fc3RhdGUodGhpcy5pbnRSb3cua2V5LCAhdGhpcy5pbnRSb3cuZXhwYW5kZWQsIGV2ZW50KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHVibGljIG9uTG9hZGluZ0RibENsaWNrKGV2ZW50OiBFdmVudCkge1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG59XG4iLCI8bmctdGVtcGxhdGUgI2RlZmF1bHRQaW5uZWRJbmRpY2F0b3I+XG4gICAgPGlneC1jaGlwXG4gICAgICAgICpuZ0lmPVwiZGlzcGxheVBpbm5lZENoaXBcIlxuICAgICAgICBjbGFzcz1cImlneC1ncmlkX190ZC0tcGlubmVkLWNoaXBcIlxuICAgICAgICBbZGlzYWJsZWRdPVwidHJ1ZVwiXG4gICAgICAgIFtkaXNwbGF5RGVuc2l0eV09XCInY29tcGFjdCdcIlxuICAgICAgICA+e3sgZ3JpZC5yZXNvdXJjZVN0cmluZ3MuaWd4X2dyaWRfcGlubmVkX3Jvd19pbmRpY2F0b3IgfX08L2lneC1jaGlwXG4gICAgPlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdENlbGw+XG4gICAgPGRpdiAqbmdJZj1cImNvbHVtbi5kYXRhVHlwZSAhPT0gJ2Jvb2xlYW4nICYmIGNvbHVtbi5kYXRhVHlwZSAhPT0gJ2ltYWdlJyB8fCAoY29sdW1uLmRhdGFUeXBlID09PSAnYm9vbGVhbicgJiYgdGhpcy5mb3JtYXR0ZXIpXCJcbiAgICAgICAgaWd4VGV4dEhpZ2hsaWdodFxuICAgICAgICBjbGFzcz1cImlneC1ncmlkX190ZC10ZXh0XCJcbiAgICAgICAgc3R5bGU9XCJwb2ludGVyLWV2ZW50czogbm9uZTtcIlxuICAgICAgICBbY3NzQ2xhc3NdPVwiaGlnaGxpZ2h0Q2xhc3NcIlxuICAgICAgICBbYWN0aXZlQ3NzQ2xhc3NdPVwiYWN0aXZlSGlnaGxpZ2h0Q2xhc3NcIlxuICAgICAgICBbZ3JvdXBOYW1lXT1cImdyaWRJRFwiXG4gICAgICAgIFt2YWx1ZV09XCJcbiAgICAgICAgICAgIGZvcm1hdHRlclxuICAgICAgICAgICAgICAgID8gKHZhbHVlIHwgY29sdW1uRm9ybWF0dGVyOmZvcm1hdHRlcjpyb3dEYXRhKVxuICAgICAgICAgICAgICAgIDogY29sdW1uLmRhdGFUeXBlID09PSAnbnVtYmVyJ1xuICAgICAgICAgICAgICAgID8gKHZhbHVlIHwgbnVtYmVyOmNvbHVtbi5waXBlQXJncy5kaWdpdHNJbmZvOmdyaWQubG9jYWxlKVxuICAgICAgICAgICAgICAgIDogKGNvbHVtbi5kYXRhVHlwZSA9PT0gJ2RhdGUnIHx8IGNvbHVtbi5kYXRhVHlwZSA9PT0gJ3RpbWUnIHx8IGNvbHVtbi5kYXRhVHlwZSA9PT0gJ2RhdGVUaW1lJylcbiAgICAgICAgICAgICAgICA/ICh2YWx1ZSB8IGRhdGU6Y29sdW1uLnBpcGVBcmdzLmZvcm1hdDpjb2x1bW4ucGlwZUFyZ3MudGltZXpvbmU6Z3JpZC5sb2NhbGUpXG4gICAgICAgICAgICAgICAgOiBjb2x1bW4uZGF0YVR5cGUgPT09ICdjdXJyZW5jeSdcbiAgICAgICAgICAgICAgICA/ICh2YWx1ZSB8IGN1cnJlbmN5OmN1cnJlbmN5Q29kZTpjb2x1bW4ucGlwZUFyZ3MuZGlzcGxheTpjb2x1bW4ucGlwZUFyZ3MuZGlnaXRzSW5mbzpncmlkLmxvY2FsZSlcbiAgICAgICAgICAgICAgICA6IGNvbHVtbi5kYXRhVHlwZSA9PT0gJ3BlcmNlbnQnXG4gICAgICAgICAgICAgICAgPyAodmFsdWUgfCBwZXJjZW50OmNvbHVtbi5waXBlQXJncy5kaWdpdHNJbmZvOmdyaWQubG9jYWxlKVxuICAgICAgICAgICAgICAgIDogdmFsdWVcbiAgICAgICAgXCJcbiAgICAgICAgW3Jvd109XCJyb3dEYXRhXCJcbiAgICAgICAgW2NvbHVtbl09XCJ0aGlzLmNvbHVtbi5maWVsZFwiXG4gICAgICAgIFtjb250YWluZXJDbGFzc109XCInaWd4LWdyaWRfX3RkLXRleHQnXCJcbiAgICAgICAgW21ldGFkYXRhXT1cInNlYXJjaE1ldGFkYXRhXCJcbiAgICA+e3tcbiAgICAgICAgICAgIGZvcm1hdHRlclxuICAgICAgICAgICAgICAgID8gKHZhbHVlIHwgY29sdW1uRm9ybWF0dGVyOmZvcm1hdHRlcjpyb3dEYXRhKVxuICAgICAgICAgICAgICAgIDogY29sdW1uLmRhdGFUeXBlID09PSBcIm51bWJlclwiXG4gICAgICAgICAgICAgICAgPyAodmFsdWUgfCBudW1iZXI6Y29sdW1uLnBpcGVBcmdzLmRpZ2l0c0luZm86Z3JpZC5sb2NhbGUpXG4gICAgICAgICAgICAgICAgOiAoY29sdW1uLmRhdGFUeXBlID09PSAnZGF0ZScgfHwgY29sdW1uLmRhdGFUeXBlID09PSAndGltZScgfHwgY29sdW1uLmRhdGFUeXBlID09PSAnZGF0ZVRpbWUnKVxuICAgICAgICAgICAgICAgID8gKHZhbHVlIHwgZGF0ZTpjb2x1bW4ucGlwZUFyZ3MuZm9ybWF0OmNvbHVtbi5waXBlQXJncy50aW1lem9uZTpncmlkLmxvY2FsZSlcbiAgICAgICAgICAgICAgICA6IGNvbHVtbi5kYXRhVHlwZSA9PT0gJ2N1cnJlbmN5J1xuICAgICAgICAgICAgICAgID8gKHZhbHVlIHwgY3VycmVuY3k6Y3VycmVuY3lDb2RlOmNvbHVtbi5waXBlQXJncy5kaXNwbGF5OmNvbHVtbi5waXBlQXJncy5kaWdpdHNJbmZvOmdyaWQubG9jYWxlKVxuICAgICAgICAgICAgICAgIDogY29sdW1uLmRhdGFUeXBlID09PSAncGVyY2VudCdcbiAgICAgICAgICAgICAgICA/ICh2YWx1ZSB8IHBlcmNlbnQ6Y29sdW1uLnBpcGVBcmdzLmRpZ2l0c0luZm86Z3JpZC5sb2NhbGUpXG4gICAgICAgICAgICAgICAgOiB2YWx1ZVxuICAgICAgICB9fTwvZGl2PlxuICAgIDxpZ3gtaWNvblxuICAgICAgICAqbmdJZj1cImNvbHVtbi5kYXRhVHlwZSA9PT0gJ2Jvb2xlYW4nICYmICF0aGlzLmZvcm1hdHRlclwiXG4gICAgICAgIFtuZ0NsYXNzXT1cInsgJ2lneC1pY29uLS1zdWNjZXNzJzogdmFsdWUsICdpZ3gtaWNvbi0tZXJyb3InOiAhdmFsdWUgfVwiXG4gICAgICAgID57eyB2YWx1ZSA/IFwiY2hlY2tcIiA6IFwiY2xvc2VcIiB9fTwvaWd4LWljb24+XG4gICAgPGltZyAqbmdJZj1cImNvbHVtbi5kYXRhVHlwZSA9PT0gJ2ltYWdlJ1wiIFtzcmNdPVwidmFsdWVcIiBbYWx0XT1cInZhbHVlIHwgaWd4Q2VsbEltYWdlQWx0XCIgLz5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI2FkZFJvd0NlbGwgbGV0LWNlbGw9XCJjZWxsXCI+XG4gICAgPGRpdiAqbmdJZj1cImNvbHVtbi5kYXRhVHlwZSAhPT0gJ2Jvb2xlYW4nIHx8IChjb2x1bW4uZGF0YVR5cGUgPT09ICdib29sZWFuJyAmJiB0aGlzLmZvcm1hdHRlcilcIlxuICAgIGlneFRleHRIaWdobGlnaHQgY2xhc3M9XCJpZ3gtZ3JpZF9fdGQtdGV4dFwiXG4gICAgc3R5bGU9XCJwb2ludGVyLWV2ZW50czogbm9uZVwiXG4gICAgW2Nzc0NsYXNzXT1cImhpZ2hsaWdodENsYXNzXCJcbiAgICBbYWN0aXZlQ3NzQ2xhc3NdPVwiYWN0aXZlSGlnaGxpZ2h0Q2xhc3NcIlxuICAgIFtncm91cE5hbWVdPVwiZ3JpZElEXCJcbiAgICBbdmFsdWVdPVwiZm9ybWF0dGVyID8gKHZhbHVlIHwgY29sdW1uRm9ybWF0dGVyOmZvcm1hdHRlcjpyb3dEYXRhKSA6IGNvbHVtbi5kYXRhVHlwZSA9PT0gJ251bWJlcicgP1xuICAgICAgICAodmFsdWUgfCBudW1iZXI6Y29sdW1uLnBpcGVBcmdzLmRpZ2l0c0luZm86Z3JpZC5sb2NhbGUpIDogKGNvbHVtbi5kYXRhVHlwZSA9PT0gJ2RhdGUnIHx8IGNvbHVtbi5kYXRhVHlwZSA9PT0gJ3RpbWUnIHx8IGNvbHVtbi5kYXRhVHlwZSA9PT0gJ2RhdGVUaW1lJykgP1xuICAgICAgICAodmFsdWUgfCBkYXRlOmNvbHVtbi5waXBlQXJncy5mb3JtYXQ6Y29sdW1uLnBpcGVBcmdzLnRpbWV6b25lOmdyaWQubG9jYWxlKSA6IGNvbHVtbi5kYXRhVHlwZSA9PT0gJ2N1cnJlbmN5Jz9cbiAgICAgICAgKHZhbHVlIHwgY3VycmVuY3k6Y3VycmVuY3lDb2RlOmNvbHVtbi5waXBlQXJncy5kaXNwbGF5OmNvbHVtbi5waXBlQXJncy5kaWdpdHNJbmZvOmdyaWQubG9jYWxlKSA6IGNvbHVtbi5kYXRhVHlwZSA9PT0gJ3BlcmNlbnQnID9cbiAgICAgICAgKHZhbHVlIHwgcGVyY2VudDpjb2x1bW4ucGlwZUFyZ3MuZGlnaXRzSW5mbzpncmlkLmxvY2FsZSkgOiB2YWx1ZVwiXG4gICAgW3Jvd109XCJyb3dEYXRhXCJcbiAgICBbY29sdW1uXT1cInRoaXMuY29sdW1uLmZpZWxkXCJcbiAgICBbY29udGFpbmVyQ2xhc3NdPVwiJ2lneC1ncmlkX190ZC10ZXh0J1wiXG4gICAgW21ldGFkYXRhXT1cInNlYXJjaE1ldGFkYXRhXCI+e3tcbiAgICAgICAgIWlzRW1wdHlBZGRSb3dDZWxsID8gdmFsdWUgOiAoY29sdW1uLmhlYWRlciB8fCBjb2x1bW4uZmllbGQpXG4gICAgfX08L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI2lubGluZUVkaXRvciBsZXQtY2VsbD1cImNlbGxcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29sdW1uLmRhdGFUeXBlID09PSAnc3RyaW5nJyB8fCBjb2x1bW4uZGF0YVR5cGUgPT09ICdpbWFnZSdcIiBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiPlxuICAgICAgICA8aWd4LWlucHV0LWdyb3VwIGRpc3BsYXlEZW5zaXR5PVwiY29tcGFjdFwiID5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIGlneElucHV0XG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJhcmlhRGVzY3JpYmVCeVwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cImlzSW52YWxpZFwiXG4gICAgICAgICAgICAgICAgW2lneEZvY3VzXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFtpZ3hUZXh0U2VsZWN0aW9uXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbFwiXG4gICAgICAgICAgICAgICAgKGNvbXBvc2l0aW9uc3RhcnQpPVwiZ3JpZC5jcnVkU2VydmljZS5pc0luQ29tcG9zaXRpb25Nb2RlID0gdHJ1ZVwiXG4gICAgICAgICAgICAgICAgKGNvbXBvc2l0aW9uZW5kKT1cImdyaWQuY3J1ZFNlcnZpY2UuaXNJbkNvbXBvc2l0aW9uTW9kZSA9IGZhbHNlXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgIDwvaWd4LWlucHV0LWdyb3VwPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb2x1bW4uZGF0YVR5cGUgPT09ICdudW1iZXInXCI+XG4gICAgICAgIDxpZ3gtaW5wdXQtZ3JvdXAgZGlzcGxheURlbnNpdHk9XCJjb21wYWN0XCIgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIj5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIGlneElucHV0XG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJhcmlhRGVzY3JpYmVCeVwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cImlzSW52YWxpZFwiXG4gICAgICAgICAgICAgICAgW2lneEZvY3VzXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFtzdGVwXT1cInN0ZXBcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgICAgICAgICAgIFtpZ3hUZXh0U2VsZWN0aW9uXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbFwiXG4gICAgICAgICAgICAvPlxuICAgICAgICA8L2lneC1pbnB1dC1ncm91cD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29sdW1uLmRhdGFUeXBlID09PSAnYm9vbGVhbidcIiBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiPlxuICAgICAgICA8aWd4LWNoZWNrYm94XG4gICAgICAgICAgICBbY2hlY2tlZF09XCJlZGl0VmFsdWVcIlxuICAgICAgICAgICAgW2lneEZvY3VzXT1cInRydWVcIlxuICAgICAgICAgICAgW2Rpc2FibGVSaXBwbGVdPVwidHJ1ZVwiXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIlxuICAgICAgICA+PC9pZ3gtY2hlY2tib3g+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbHVtbi5kYXRhVHlwZSA9PT0gJ2RhdGUnXCIgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIj5cbiAgICAgICAgPGlneC1kYXRlLXBpY2tlclxuICAgICAgICAgICAgW3N0eWxlLndpZHRoLiVdPVwiMTAwXCJcbiAgICAgICAgICAgIFtvdXRsZXRdPVwiZ3JpZC5vdXRsZXRcIlxuICAgICAgICAgICAgbW9kZT1cImRyb3Bkb3duXCJcbiAgICAgICAgICAgIFtsb2NhbGVdPVwiZ3JpZC5sb2NhbGVcIlxuICAgICAgICAgICAgW3dlZWtTdGFydF09XCJjb2x1bW4ucGlwZUFyZ3Mud2Vla1N0YXJ0XCJcbiAgICAgICAgICAgIFsodmFsdWUpXT1cImVkaXRWYWx1ZVwiXG4gICAgICAgICAgICBbaWd4Rm9jdXNdPVwidHJ1ZVwiXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIlxuICAgICAgICA+XG4gICAgICAgIDwvaWd4LWRhdGUtcGlja2VyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb2x1bW4uZGF0YVR5cGUgPT09ICd0aW1lJ1wiIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCI+XG4gICAgICAgIDxpZ3gtdGltZS1waWNrZXJcbiAgICAgICAgICAgIFtzdHlsZS53aWR0aC4lXT1cIjEwMFwiXG4gICAgICAgICAgICBbb3V0bGV0XT1cImdyaWQub3V0bGV0XCJcbiAgICAgICAgICAgIG1vZGU9XCJkcm9wZG93blwiXG4gICAgICAgICAgICBbbG9jYWxlXT1cImdyaWQubG9jYWxlXCJcbiAgICAgICAgICAgIFtpbnB1dEZvcm1hdF09XCJjb2x1bW4uZGVmYXVsdFRpbWVGb3JtYXRcIlxuICAgICAgICAgICAgWyh2YWx1ZSldPVwiZWRpdFZhbHVlXCJcbiAgICAgICAgICAgIFtpZ3hGb2N1c109XCJ0cnVlXCJcbiAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbFwiXG4gICAgICAgID48L2lneC10aW1lLXBpY2tlcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29sdW1uLmRhdGFUeXBlID09PSAnZGF0ZVRpbWUnXCI+XG4gICAgICAgIDxpZ3gtaW5wdXQtZ3JvdXAgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIj5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImFyaWFEZXNjcmliZUJ5XCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWludmFsaWRdPVwiaXNJbnZhbGlkXCJcbiAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIlxuICAgICAgICAgICAgICAgIGlneElucHV0XG4gICAgICAgICAgICAgICAgW2lneERhdGVUaW1lRWRpdG9yXT1cImNvbHVtbi5kZWZhdWx0RGF0ZVRpbWVGb3JtYXRcIlxuICAgICAgICAgICAgICAgIFtpZ3hGb2N1c109XCJ0cnVlXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgIDwvaWd4LWlucHV0LWdyb3VwPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb2x1bW4uZGF0YVR5cGUgPT09ICdjdXJyZW5jeSdcIj5cbiAgICAgICAgPGlneC1pbnB1dC1ncm91cCBkaXNwbGF5RGVuc2l0eT1cImNvbXBhY3RcIiBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiPlxuICAgICAgICAgICAgPGlneC1wcmVmaXggKm5nSWY9XCJncmlkLmN1cnJlbmN5UG9zaXRpb25MZWZ0XCI+e3sgY3VycmVuY3lDb2RlU3ltYm9sIH19PC9pZ3gtcHJlZml4PlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgaWd4SW5wdXRcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImFyaWFEZXNjcmliZUJ5XCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWludmFsaWRdPVwiaXNJbnZhbGlkXCJcbiAgICAgICAgICAgICAgICBbaWd4Rm9jdXNdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgW3N0ZXBdPVwic3RlcFwiXG4gICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXG4gICAgICAgICAgICAgICAgW2lneFRleHRTZWxlY3Rpb25dPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8aWd4LXN1ZmZpeCAqbmdJZj1cIiFncmlkLmN1cnJlbmN5UG9zaXRpb25MZWZ0XCI+e3sgY3VycmVuY3lDb2RlU3ltYm9sIH19PC9pZ3gtc3VmZml4PlxuICAgICAgICA8L2lneC1pbnB1dC1ncm91cD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29sdW1uLmRhdGFUeXBlID09PSAncGVyY2VudCdcIj5cbiAgICAgICAgPGlneC1pbnB1dC1ncm91cCBkaXNwbGF5RGVuc2l0eT1cImNvbXBhY3RcIiBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgaWd4SW5wdXRcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImFyaWFEZXNjcmliZUJ5XCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWludmFsaWRdPVwiaXNJbnZhbGlkXCJcbiAgICAgICAgICAgICAgICBbaWd4Rm9jdXNdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgW3N0ZXBdPVwic3RlcFwiXG4gICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXG4gICAgICAgICAgICAgICAgW2lneFRleHRTZWxlY3Rpb25dPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8aWd4LXN1ZmZpeD4ge3sgZWRpdFZhbHVlIHwgcGVyY2VudDpjb2x1bW4ucGlwZUFyZ3MuZGlnaXRzSW5mbzpncmlkLmxvY2FsZSB9fSA8L2lneC1zdWZmaXg+XG4gICAgICAgIDwvaWd4LWlucHV0LWdyb3VwPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy1jb250YWluZXIgKm5nSWY9XCIhZWRpdE1vZGVcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibGV2ZWwgPiAwXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgICNpbmRlbnRhdGlvbkRpdlxuICAgICAgICAgICAgY2xhc3M9XCJpZ3gtZ3JpZF9fdHJlZS1jZWxsLS1wYWRkaW5nLWxldmVsLXt7bGV2ZWx9fVwiXG4gICAgICAgICAgICBbbmdTdHlsZV09XCJ7J3BhZGRpbmctaW5saW5lLXN0YXJ0JzogJ2NhbGModmFyKC0taWd4LXRyZWUtaW5kZW50LXNpemUpIConICsgbGV2ZWwgKyAnKSd9XCJcbiAgICAgICAgPjwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxkaXZcbiAgICAgICAgI2luZGljYXRvclxuICAgICAgICAqbmdJZj1cIiFpc0xvYWRpbmdcIlxuICAgICAgICBjbGFzcz1cImlneC1ncmlkX190cmVlLWdyb3VwaW5nLWluZGljYXRvclwiXG4gICAgICAgIFtuZ1N0eWxlXT1cInsgdmlzaWJpbGl0eTogc2hvd0luZGljYXRvciA/ICd2aXNpYmxlJyA6ICdoaWRkZW4nIH1cIlxuICAgICAgICAoY2xpY2spPVwidG9nZ2xlKCRldmVudClcIlxuICAgICAgICAoZm9jdXMpPVwib25JbmRpY2F0b3JGb2N1cygpXCJcbiAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiaWNvblRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogIHRoaXMgfVwiXG4gICAgICAgID5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwicGlubmVkSW5kaWNhdG9yVGVtcGxhdGU7IGNvbnRleHQ6IGNvbnRleHRcIlxuICAgICAgICA+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCJpc0xvYWRpbmdcIlxuICAgICAgICAoZGJsY2xpY2spPVwib25Mb2FkaW5nRGJsQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgIGNsYXNzPVwiaWd4LWdyaWRfX3RyZWUtbG9hZGluZy1pbmRpY2F0b3JcIlxuICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgICBncmlkLnJvd0xvYWRpbmdJbmRpY2F0b3JUZW1wbGF0ZVxuICAgICAgICAgICAgICAgICAgICA/IGdyaWQucm93TG9hZGluZ0luZGljYXRvclRlbXBsYXRlXG4gICAgICAgICAgICAgICAgICAgIDogZGVmYXVsdExvYWRpbmdJbmRpY2F0b3JUZW1wbGF0ZVxuICAgICAgICAgICAgXCJcbiAgICAgICAgPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRMb2FkaW5nSW5kaWNhdG9yVGVtcGxhdGU+XG4gICAgICAgIDxpZ3gtY2lyY3VsYXItYmFyIFtpbmRldGVybWluYXRlXT1cInRydWVcIj4gPC9pZ3gtY2lyY3VsYXItYmFyPlxuICAgIDwvbmctdGVtcGxhdGU+XG48L25nLWNvbnRhaW5lcj5cbjxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0ZW1wbGF0ZTsgY29udGV4dDogY29udGV4dFwiPiA8L25nLWNvbnRhaW5lcj5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJpc0ludmFsaWRcIj5cbiAgICA8aWd4LWljb24gI2Vycm9ySWNvbiBbaWd4VG9vbHRpcFRhcmdldF09XCJ0b29sdGlwUmVmXCIgW2lneFRvZ2dsZU91dGxldF09XCJncmlkLm91dGxldFwiXG4gICAgKG1vdXNlb3Zlcik9J2Vycm9yU2hvd2luZyA9IHRydWUnIChtb3VzZW91dCk9J2Vycm9yU2hvd2luZyA9IGZhbHNlJz5lcnJvcjwvaWd4LWljb24+XG4gICAgPGRpdiBbaWRdPVwiYXJpYUVycm9yTWVzc2FnZVwiXG4gICAgaWd4VG9vbHRpcCAjZXJyb3IgI3Rvb2x0aXBSZWY9XCJ0b29sdGlwXCI+XG4gICAgICAgIDxkaXYgW3N0eWxlLndpZHRoXT1cIidtYXgtY29udGVudCdcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjZWxsVmFsaWRhdGlvbkVycm9yVGVtcGxhdGUgfHwgZGVmYXVsdEVycm9yOyBjb250ZXh0OiBjb250ZXh0XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdEV4cGFuZGVkVGVtcGxhdGU+XG4gICAgPGlneC1pY29uPmV4cGFuZF9tb3JlPC9pZ3gtaWNvbj5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI2RlZmF1bHRDb2xsYXBzZWRUZW1wbGF0ZT5cbiAgICA8aWd4LWljb24+Y2hldnJvbl9yaWdodDwvaWd4LWljb24+XG48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlICNkZWZhdWx0RXJyb3I+XG4gICAgPGRpdiAqbmdJZj1cImZvcm1Hcm91cD8uZ2V0KGNvbHVtbj8uZmllbGQpLmVycm9ycz8uWydyZXF1aXJlZCddXCI+XG4gICAgICAgIHt7Z3JpZC5yZXNvdXJjZVN0cmluZ3MuaWd4X2dyaWRfcmVxdWlyZWRfdmFsaWRhdGlvbl9lcnJvcn19XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cImZvcm1Hcm91cD8uZ2V0KGNvbHVtbj8uZmllbGQpLmVycm9ycz8uWydtaW5sZW5ndGgnXVwiPlxuICAgICAgICB7e2dyaWQucmVzb3VyY2VTdHJpbmdzLmlneF9ncmlkX21pbl9sZW5ndGhfdmFsaWRhdGlvbl9lcnJvciB8IGlneFN0cmluZ1JlcGxhY2U6J3swfSc6Zm9ybUdyb3VwLmdldChjb2x1bW4uZmllbGQpLmVycm9ycy5taW5sZW5ndGgucmVxdWlyZWRMZW5ndGggfX1cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwiZm9ybUdyb3VwPy5nZXQoY29sdW1uPy5maWVsZCkuZXJyb3JzPy5bJ21heGxlbmd0aCddXCI+XG4gICAgICAgIHt7Z3JpZC5yZXNvdXJjZVN0cmluZ3MuaWd4X2dyaWRfbWF4X2xlbmd0aF92YWxpZGF0aW9uX2Vycm9yIHwgaWd4U3RyaW5nUmVwbGFjZTonezB9Jzpmb3JtR3JvdXAuZ2V0KGNvbHVtbi5maWVsZCkuZXJyb3JzLm1heGxlbmd0aC5yZXF1aXJlZExlbmd0aCB9fVxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJmb3JtR3JvdXA/LmdldChjb2x1bW4/LmZpZWxkKS5lcnJvcnM/LlsnbWluJ11cIj5cbiAgICAgICAge3tncmlkLnJlc291cmNlU3RyaW5ncy5pZ3hfZ3JpZF9taW5fdmFsaWRhdGlvbl9lcnJvciB8IGlneFN0cmluZ1JlcGxhY2U6J3swfSc6Zm9ybUdyb3VwLmdldChjb2x1bW4uZmllbGQpLmVycm9ycy5taW4ubWluIH19XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cImZvcm1Hcm91cD8uZ2V0KGNvbHVtbj8uZmllbGQpLmVycm9ycz8uWydtYXgnXVwiPlxuICAgICAgICB7e2dyaWQucmVzb3VyY2VTdHJpbmdzLmlneF9ncmlkX21heF92YWxpZGF0aW9uX2Vycm9yIHwgaWd4U3RyaW5nUmVwbGFjZTonezB9Jzpmb3JtR3JvdXAuZ2V0KGNvbHVtbi5maWVsZCkuZXJyb3JzLm1heC5tYXggfX1cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwiZm9ybUdyb3VwPy5nZXQoY29sdW1uPy5maWVsZCkuZXJyb3JzPy5bJ2VtYWlsJ11cIj5cbiAgICAgICAge3tncmlkLnJlc291cmNlU3RyaW5ncy5pZ3hfZ3JpZF9lbWFpbF92YWxpZGF0aW9uX2Vycm9yIH19XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cImZvcm1Hcm91cD8uZ2V0KGNvbHVtbj8uZmllbGQpLmVycm9ycz8uWydwYXR0ZXJuJ11cIj5cbiAgICAgICAge3tncmlkLnJlc291cmNlU3RyaW5ncy5pZ3hfZ3JpZF9wYXR0ZXJuX3ZhbGlkYXRpb25fZXJyb3J9fVxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==