ontimize-web-ngx 15.6.2 → 15.7.1

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 (408) hide show
  1. package/esm2020/lib/components/app-header/o-app-header.component.mjs +4 -4
  2. package/esm2020/lib/components/app-header/o-app-header.module.mjs +5 -5
  3. package/esm2020/lib/components/app-sidenav/image/o-app-sidenav-image.component.mjs +4 -4
  4. package/esm2020/lib/components/app-sidenav/menu-group/o-app-sidenav-menu-group.component.mjs +4 -4
  5. package/esm2020/lib/components/app-sidenav/menu-item/o-app-sidenav-menu-item.component.mjs +4 -4
  6. package/esm2020/lib/components/app-sidenav/o-app-sidenav.component.mjs +4 -4
  7. package/esm2020/lib/components/app-sidenav/o-app-sidenav.module.mjs +5 -5
  8. package/esm2020/lib/components/bar-menu/locale-menu-item/o-locale-bar-menu-item.component.mjs +4 -4
  9. package/esm2020/lib/components/bar-menu/menu-group/o-bar-menu-group.component.mjs +4 -4
  10. package/esm2020/lib/components/bar-menu/menu-item/o-bar-menu-item.component.mjs +4 -4
  11. package/esm2020/lib/components/bar-menu/menu-nested/o-bar-menu-nested.component.mjs +4 -4
  12. package/esm2020/lib/components/bar-menu/menu-separator/o-bar-menu-separator.component.mjs +4 -4
  13. package/esm2020/lib/components/bar-menu/o-bar-menu-base.class.mjs +4 -4
  14. package/esm2020/lib/components/bar-menu/o-bar-menu.component.mjs +4 -4
  15. package/esm2020/lib/components/bar-menu/o-bar-menu.module.mjs +5 -5
  16. package/esm2020/lib/components/bar-menu/o-base-menu-item.class.mjs +4 -4
  17. package/esm2020/lib/components/breadcrumb/o-breadcrumb.component.mjs +4 -4
  18. package/esm2020/lib/components/breadcrumb/o-breadcrumb.module.mjs +5 -5
  19. package/esm2020/lib/components/button/o-button.component.mjs +4 -4
  20. package/esm2020/lib/components/button/o-button.module.mjs +5 -5
  21. package/esm2020/lib/components/button-toggle/o-button-toggle-group/o-button-toggle-group.component.mjs +4 -4
  22. package/esm2020/lib/components/button-toggle/o-button-toggle.component.mjs +4 -4
  23. package/esm2020/lib/components/button-toggle/o-button-toggle.module.mjs +5 -5
  24. package/esm2020/lib/components/card-menu-item/o-card-menu-item.component.mjs +4 -4
  25. package/esm2020/lib/components/card-menu-item/o-card-menu-item.module.mjs +5 -5
  26. package/esm2020/lib/components/container/column/o-column.component.mjs +4 -4
  27. package/esm2020/lib/components/container/column/o-column.module.mjs +5 -5
  28. package/esm2020/lib/components/container/column-collapsible/o-column-collapsible.component.mjs +4 -4
  29. package/esm2020/lib/components/container/column-collapsible/o-column-collapsible.module.mjs +5 -5
  30. package/esm2020/lib/components/container/o-container-collapsible-component.class.mjs +4 -4
  31. package/esm2020/lib/components/container/o-container-component.class.mjs +4 -4
  32. package/esm2020/lib/components/container/row/o-row.component.mjs +4 -4
  33. package/esm2020/lib/components/container/row/o-row.module.mjs +5 -5
  34. package/esm2020/lib/components/container/row-collapsible/o-row-collapsible.component.mjs +4 -4
  35. package/esm2020/lib/components/container/row-collapsible/o-row-collapsible.module.mjs +5 -5
  36. package/esm2020/lib/components/contextmenu/context-menu/o-context-menu-content.component.mjs +4 -4
  37. package/esm2020/lib/components/contextmenu/context-menu/o-wrapper-content-menu/o-wrapper-content-menu.component.mjs +4 -4
  38. package/esm2020/lib/components/contextmenu/context-menu-group/o-context-menu-group.component.mjs +4 -4
  39. package/esm2020/lib/components/contextmenu/context-menu-item/o-context-menu-item.component.mjs +4 -4
  40. package/esm2020/lib/components/contextmenu/context-menu-separator/o-context-menu-separator.component.mjs +4 -4
  41. package/esm2020/lib/components/contextmenu/o-content-menu-base-item.class.mjs +4 -4
  42. package/esm2020/lib/components/contextmenu/o-context-menu-overlay.service.mjs +4 -4
  43. package/esm2020/lib/components/contextmenu/o-context-menu.component.mjs +4 -4
  44. package/esm2020/lib/components/contextmenu/o-context-menu.directive.mjs +4 -4
  45. package/esm2020/lib/components/contextmenu/o-context-menu.module.mjs +5 -5
  46. package/esm2020/lib/components/contextmenu/o-context-menu.service.mjs +4 -4
  47. package/esm2020/lib/components/dual-list-selector/dual-list-selector-item/date/o-dual-list-selector-date-item.component.mjs +4 -4
  48. package/esm2020/lib/components/dual-list-selector/o-dual-list-selector.component.mjs +4 -4
  49. package/esm2020/lib/components/dual-list-selector/o-dual-list-selector.module.mjs +5 -5
  50. package/esm2020/lib/components/expandable-container/o-expandable-container.component.mjs +4 -4
  51. package/esm2020/lib/components/expandable-container/o-expandable-container.module.mjs +5 -5
  52. package/esm2020/lib/components/filter-builder/filter-builder-menu/filter-builder-menu.component.mjs +4 -4
  53. package/esm2020/lib/components/filter-builder/o-filter-builder-clear.directive.mjs +4 -4
  54. package/esm2020/lib/components/filter-builder/o-filter-builder-query.directive.mjs +4 -4
  55. package/esm2020/lib/components/filter-builder/o-filter-builder.component.mjs +4 -4
  56. package/esm2020/lib/components/filter-builder/o-filter-builder.module.mjs +5 -5
  57. package/esm2020/lib/components/form/guards/o-form-can-deactivate.guard.mjs +4 -4
  58. package/esm2020/lib/components/form/navigation/o-form-confirm-exit.service.mjs +4 -4
  59. package/esm2020/lib/components/form/navigation/o-form-navigation.component.mjs +4 -4
  60. package/esm2020/lib/components/form/o-form.component.mjs +4 -4
  61. package/esm2020/lib/components/form/o-form.module.mjs +5 -5
  62. package/esm2020/lib/components/form/services/o-form-message.service.mjs +4 -4
  63. package/esm2020/lib/components/form/toolbar/o-form-toolbar.component.mjs +4 -4
  64. package/esm2020/lib/components/form/toolbar/o-form-toolbar.module.mjs +5 -5
  65. package/esm2020/lib/components/form-container/o-form-container.component.mjs +4 -4
  66. package/esm2020/lib/components/form-container/o-form-container.module.mjs +5 -5
  67. package/esm2020/lib/components/grid/grid-item/o-grid-item.component.mjs +4 -4
  68. package/esm2020/lib/components/grid/grid-item/o-grid-item.directive.mjs +4 -4
  69. package/esm2020/lib/components/grid/o-grid.component.mjs +4 -4
  70. package/esm2020/lib/components/grid/o-grid.module.mjs +5 -5
  71. package/esm2020/lib/components/grid/skeketon/o-grid-skeleton.component.mjs +4 -4
  72. package/esm2020/lib/components/image/fullscreen/fullscreen-dialog.component.mjs +4 -4
  73. package/esm2020/lib/components/image/o-image.component.mjs +4 -4
  74. package/esm2020/lib/components/image/o-image.module.mjs +5 -5
  75. package/esm2020/lib/components/input/checkbox/o-checkbox.component.mjs +4 -4
  76. package/esm2020/lib/components/input/checkbox/o-checkbox.module.mjs +5 -5
  77. package/esm2020/lib/components/input/combo/combo-renderer/boolean/o-combo-renderer-boolean.component.mjs +4 -4
  78. package/esm2020/lib/components/input/combo/combo-renderer/currency/o-combo-renderer-currency.component.mjs +4 -4
  79. package/esm2020/lib/components/input/combo/combo-renderer/date/o-combo-renderer-date.component.mjs +4 -4
  80. package/esm2020/lib/components/input/combo/combo-renderer/icon/o-combo-renderer-icon.component.mjs +4 -4
  81. package/esm2020/lib/components/input/combo/combo-renderer/integer/o-combo-renderer-integer.component.mjs +4 -4
  82. package/esm2020/lib/components/input/combo/combo-renderer/o-combo-renderer.class.mjs +4 -4
  83. package/esm2020/lib/components/input/combo/combo-renderer/percentage/o-combo-renderer-percentage.component.mjs +4 -4
  84. package/esm2020/lib/components/input/combo/combo-renderer/real/o-combo-renderer-real.component.mjs +4 -4
  85. package/esm2020/lib/components/input/combo/combo-search/o-combo-search.component.mjs +4 -4
  86. package/esm2020/lib/components/input/combo/o-combo.component.mjs +4 -4
  87. package/esm2020/lib/components/input/combo/o-combo.module.mjs +5 -5
  88. package/esm2020/lib/components/input/currency-input/o-currency-input.component.mjs +4 -4
  89. package/esm2020/lib/components/input/currency-input/o-currency-input.module.mjs +5 -5
  90. package/esm2020/lib/components/input/date-input/o-date-input.component.mjs +4 -4
  91. package/esm2020/lib/components/input/date-input/o-date-input.module.mjs +5 -5
  92. package/esm2020/lib/components/input/date-range/o-daterange-input.component.mjs +4 -4
  93. package/esm2020/lib/components/input/date-range/o-daterange-input.module.mjs +5 -5
  94. package/esm2020/lib/components/input/date-range-legacy/o-daterange-input.component.mjs +4 -4
  95. package/esm2020/lib/components/input/date-range-legacy/o-daterange-input.directive.mjs +4 -4
  96. package/esm2020/lib/components/input/date-range-legacy/o-daterange-input.module.mjs +5 -5
  97. package/esm2020/lib/components/input/date-range-legacy/o-daterange-picker.component.mjs +4 -4
  98. package/esm2020/lib/components/input/email-input/o-email-input.component.mjs +4 -4
  99. package/esm2020/lib/components/input/email-input/o-email-input.module.mjs +5 -5
  100. package/esm2020/lib/components/input/file-input/o-file-input.component.mjs +4 -4
  101. package/esm2020/lib/components/input/file-input/o-file-input.module.mjs +5 -5
  102. package/esm2020/lib/components/input/hour-input/index.mjs +4 -0
  103. package/esm2020/lib/components/input/hour-input/o-hour-input.component.mjs +38 -9
  104. package/esm2020/lib/components/input/hour-input/o-hour-input.directive.mjs +46 -0
  105. package/esm2020/lib/components/input/hour-input/o-hour-input.module.mjs +8 -7
  106. package/esm2020/lib/components/input/html-input/o-html-input.component.mjs +4 -4
  107. package/esm2020/lib/components/input/html-input/o-html-input.module.mjs +5 -5
  108. package/esm2020/lib/components/input/index.mjs +2 -3
  109. package/esm2020/lib/components/input/integer-input/o-integer-input.component.mjs +4 -4
  110. package/esm2020/lib/components/input/integer-input/o-integer-input.module.mjs +5 -5
  111. package/esm2020/lib/components/input/listpicker/listpicker-renderer/currency/o-list-picker-renderer-currency.component.mjs +4 -4
  112. package/esm2020/lib/components/input/listpicker/listpicker-renderer/date/o-list-picker-renderer-date.component.mjs +4 -4
  113. package/esm2020/lib/components/input/listpicker/listpicker-renderer/integer/o-list-picker-renderer-integer.component.mjs +4 -4
  114. package/esm2020/lib/components/input/listpicker/listpicker-renderer/o-list-picker-renderer.class.mjs +4 -4
  115. package/esm2020/lib/components/input/listpicker/listpicker-renderer/percentage/o-list-picker-renderer-percentage.component.mjs +4 -4
  116. package/esm2020/lib/components/input/listpicker/listpicker-renderer/real/o-list-picker-renderer-real.component.mjs +4 -4
  117. package/esm2020/lib/components/input/listpicker/o-list-picker-dialog.component.mjs +4 -4
  118. package/esm2020/lib/components/input/listpicker/o-list-picker.component.mjs +4 -4
  119. package/esm2020/lib/components/input/listpicker/o-list-picker.module.mjs +5 -5
  120. package/esm2020/lib/components/input/nif-input/o-nif-input.component.mjs +4 -4
  121. package/esm2020/lib/components/input/nif-input/o-nif-input.module.mjs +5 -5
  122. package/esm2020/lib/components/input/o-boolean-form-data-component.class.mjs +4 -4
  123. package/esm2020/lib/components/input/o-form-service-component.class.mjs +4 -4
  124. package/esm2020/lib/components/input/password-input/o-password-input.component.mjs +4 -4
  125. package/esm2020/lib/components/input/password-input/o-password-input.module.mjs +5 -5
  126. package/esm2020/lib/components/input/percent-input/o-percent-input.component.mjs +4 -4
  127. package/esm2020/lib/components/input/percent-input/o-percent-input.module.mjs +5 -5
  128. package/esm2020/lib/components/input/phone-input/data/country-code.mjs +4 -4
  129. package/esm2020/lib/components/input/phone-input/o-phone-input.component.mjs +4 -4
  130. package/esm2020/lib/components/input/phone-input/o-phone-input.module.mjs +5 -5
  131. package/esm2020/lib/components/input/radio/o-radio.component.mjs +4 -4
  132. package/esm2020/lib/components/input/radio/o-radio.module.mjs +5 -5
  133. package/esm2020/lib/components/input/real-input/o-real-input.component.mjs +4 -4
  134. package/esm2020/lib/components/input/real-input/o-real-input.module.mjs +5 -5
  135. package/esm2020/lib/components/input/search-input/o-search-input.component.mjs +4 -4
  136. package/esm2020/lib/components/input/search-input/o-search-input.module.mjs +5 -5
  137. package/esm2020/lib/components/input/slide-toggle/o-slide-toggle.component.mjs +4 -4
  138. package/esm2020/lib/components/input/slide-toggle/o-slide-toggle.module.mjs +5 -5
  139. package/esm2020/lib/components/input/slider/o-slider.component.mjs +4 -4
  140. package/esm2020/lib/components/input/slider/o-slider.module.mjs +5 -5
  141. package/esm2020/lib/components/input/text-input/o-text-input.component.mjs +4 -4
  142. package/esm2020/lib/components/input/text-input/o-text-input.module.mjs +5 -5
  143. package/esm2020/lib/components/input/textarea-input/o-textarea-input.component.mjs +4 -4
  144. package/esm2020/lib/components/input/textarea-input/o-textarea-input.module.mjs +5 -5
  145. package/esm2020/lib/components/input/time-input/o-time-input.component.mjs +4 -4
  146. package/esm2020/lib/components/input/time-input/o-time-input.module.mjs +5 -5
  147. package/esm2020/lib/components/language-selector/o-language-selector.component.mjs +4 -4
  148. package/esm2020/lib/components/language-selector/o-language-selector.module.mjs +5 -5
  149. package/esm2020/lib/components/list/list-item/o-list-item.component.mjs +4 -4
  150. package/esm2020/lib/components/list/list-item/o-list-item.directive.mjs +4 -4
  151. package/esm2020/lib/components/list/o-list.component.mjs +4 -4
  152. package/esm2020/lib/components/list/o-list.module.mjs +5 -5
  153. package/esm2020/lib/components/list/renderers/avatar/o-list-item-avatar.component.mjs +4 -4
  154. package/esm2020/lib/components/list/renderers/card/o-list-item-card.component.mjs +4 -4
  155. package/esm2020/lib/components/list/renderers/card-image/o-list-item-card-image.component.mjs +4 -4
  156. package/esm2020/lib/components/list/renderers/o-list-item-card-renderer.class.mjs +4 -4
  157. package/esm2020/lib/components/list/renderers/o-list-item-text-renderer.class.mjs +4 -4
  158. package/esm2020/lib/components/list/renderers/text/o-list-item-text.component.mjs +4 -4
  159. package/esm2020/lib/components/list/skeleton/o-list-skeleton.component.mjs +4 -4
  160. package/esm2020/lib/components/material/ckeditor/ck-editor.component.mjs +4 -4
  161. package/esm2020/lib/components/material/ckeditor/ck-editor.module.mjs +5 -5
  162. package/esm2020/lib/components/o-data-toolbar/o-data-toolbar.component.mjs +4 -4
  163. package/esm2020/lib/components/o-data-toolbar/o-data-toolbar.module.mjs +5 -5
  164. package/esm2020/lib/components/o-form-data-component.class.mjs +4 -4
  165. package/esm2020/lib/components/o-repeatable-skeleton.component.mjs +4 -4
  166. package/esm2020/lib/components/o-service-base-component.class.mjs +24 -10
  167. package/esm2020/lib/components/o-service-component.class.mjs +7 -7
  168. package/esm2020/lib/components/o-skeleton.component.mjs +4 -4
  169. package/esm2020/lib/components/table/column/calculated/o-table-column-calculated.component.mjs +4 -4
  170. package/esm2020/lib/components/table/column/cell-editor/boolean/o-table-cell-editor-boolean.component.mjs +4 -4
  171. package/esm2020/lib/components/table/column/cell-editor/date/o-table-cell-editor-date.component.mjs +4 -4
  172. package/esm2020/lib/components/table/column/cell-editor/email/o-table-cell-editor-email.component.mjs +4 -4
  173. package/esm2020/lib/components/table/column/cell-editor/integer/o-table-cell-editor-integer.component.mjs +4 -4
  174. package/esm2020/lib/components/table/column/cell-editor/o-base-table-cell-editor.class.mjs +10 -4
  175. package/esm2020/lib/components/table/column/cell-editor/real/o-table-cell-editor-real.component.mjs +4 -4
  176. package/esm2020/lib/components/table/column/cell-editor/text/o-table-cell-editor-text.component.mjs +4 -4
  177. package/esm2020/lib/components/table/column/cell-editor/time/o-table-cell-editor-time.component.mjs +26 -12
  178. package/esm2020/lib/components/table/column/cell-renderer/action/o-table-cell-renderer-action.component.mjs +4 -4
  179. package/esm2020/lib/components/table/column/cell-renderer/boolean/o-table-cell-renderer-boolean.component.mjs +4 -4
  180. package/esm2020/lib/components/table/column/cell-renderer/currency/o-table-cell-renderer-currency.component.mjs +4 -4
  181. package/esm2020/lib/components/table/column/cell-renderer/date/o-table-cell-renderer-date.component.mjs +4 -4
  182. package/esm2020/lib/components/table/column/cell-renderer/image/o-table-cell-renderer-image.component.mjs +4 -4
  183. package/esm2020/lib/components/table/column/cell-renderer/integer/o-table-cell-renderer-integer.component.mjs +4 -4
  184. package/esm2020/lib/components/table/column/cell-renderer/o-base-table-cell-renderer.class.mjs +4 -4
  185. package/esm2020/lib/components/table/column/cell-renderer/percentage/o-table-cell-renderer-percentage.component.mjs +4 -4
  186. package/esm2020/lib/components/table/column/cell-renderer/real/o-table-cell-renderer-real.component.mjs +4 -4
  187. package/esm2020/lib/components/table/column/cell-renderer/service/o-table-cell-renderer-service.component.mjs +4 -4
  188. package/esm2020/lib/components/table/column/cell-renderer/time/o-table-cell-renderer-time.component.mjs +4 -4
  189. package/esm2020/lib/components/table/column/cell-renderer/translate/o-table-cell-renderer-translate.component.mjs +4 -4
  190. package/esm2020/lib/components/table/column/o-table-column.component.mjs +4 -4
  191. package/esm2020/lib/components/table/extensions/contextmenu/o-table-context-menu.component.mjs +20 -14
  192. package/esm2020/lib/components/table/extensions/default-o-table.datasource.mjs +137 -66
  193. package/esm2020/lib/components/table/extensions/dialog/apply-configuration/o-table-apply-configuration-dialog.component.mjs +4 -4
  194. package/esm2020/lib/components/table/extensions/dialog/export/o-table-export-dialog.component.mjs +4 -4
  195. package/esm2020/lib/components/table/extensions/dialog/filter-by-column/o-table-filter-by-column-data-dialog.component.mjs +42 -65
  196. package/esm2020/lib/components/table/extensions/dialog/filter-by-column/o-table-filter-by-column.service.mjs +78 -11
  197. package/esm2020/lib/components/table/extensions/dialog/group-by-columns/o-table-group-by-columns-dialog.component.mjs +4 -4
  198. package/esm2020/lib/components/table/extensions/dialog/o-table-base-dialog.class.mjs +4 -4
  199. package/esm2020/lib/components/table/extensions/dialog/store-configuration/o-table-store-configuration-dialog.component.mjs +4 -4
  200. package/esm2020/lib/components/table/extensions/dialog/visible-columns/o-table-visible-columns-dialog.component.mjs +5 -5
  201. package/esm2020/lib/components/table/extensions/export-button/o-table-export-button.component.mjs +4 -4
  202. package/esm2020/lib/components/table/extensions/export-button/o-table-export-button.service.mjs +4 -4
  203. package/esm2020/lib/components/table/extensions/footer/aggregate/o-table-column-aggregate.component.mjs +6 -6
  204. package/esm2020/lib/components/table/extensions/footer/expanded/o-table-expanded-footer.directive.mjs +11 -14
  205. package/esm2020/lib/components/table/extensions/footer/paginator/o-table-mat-paginator-intl.mjs +4 -4
  206. package/esm2020/lib/components/table/extensions/footer/paginator/o-table-paginator.component.mjs +4 -4
  207. package/esm2020/lib/components/table/extensions/header/table-button/o-table-button.component.mjs +4 -4
  208. package/esm2020/lib/components/table/extensions/header/table-buttons/o-table-buttons.component.mjs +4 -4
  209. package/esm2020/lib/components/table/extensions/header/table-column-resizer/o-table-column-resizer.component.mjs +4 -4
  210. package/esm2020/lib/components/table/extensions/header/table-column-select-all/o-table-column-select-all.directive.mjs +4 -4
  211. package/esm2020/lib/components/table/extensions/header/table-columns-filter/columns/o-table-columns-filter-column.component.mjs +21 -5
  212. package/esm2020/lib/components/table/extensions/header/table-columns-filter/o-table-columns-filter.component.mjs +70 -53
  213. package/esm2020/lib/components/table/extensions/header/table-columns-grouping/columns/o-table-columns-grouping-column.component.mjs +4 -4
  214. package/esm2020/lib/components/table/extensions/header/table-columns-grouping/o-table-columns-grouping.component.mjs +4 -4
  215. package/esm2020/lib/components/table/extensions/header/table-header/o-table-header.component.mjs +4 -4
  216. package/esm2020/lib/components/table/extensions/header/table-header-column-filter-icon/o-table-header-column-filter-icon.component.mjs +28 -13
  217. package/esm2020/lib/components/table/extensions/header/table-header-select-all/o-table-header-select-all.component.mjs +4 -4
  218. package/esm2020/lib/components/table/extensions/header/table-insertable-row/o-table-insertable-row.component.mjs +4 -4
  219. package/esm2020/lib/components/table/extensions/header/table-menu/o-table-menu.component.mjs +4 -4
  220. package/esm2020/lib/components/table/extensions/header/table-option/o-table-option.component.mjs +4 -4
  221. package/esm2020/lib/components/table/extensions/header/table-quickfilter/o-table-quickfilter.component.mjs +4 -4
  222. package/esm2020/lib/components/table/extensions/o-table-datasource.service.mjs +4 -4
  223. package/esm2020/lib/components/table/extensions/o-table-strategy.service.mjs +10 -4
  224. package/esm2020/lib/components/table/extensions/pipes/o-table-row-class.pipe.mjs +4 -4
  225. package/esm2020/lib/components/table/extensions/row/o-table-row.directive.mjs +4 -4
  226. package/esm2020/lib/components/table/extensions/row/table-row-expandable/o-table-row-expandable.component.mjs +4 -4
  227. package/esm2020/lib/components/table/extensions/skeleton/o-table-skeleton.component.mjs +19 -19
  228. package/esm2020/lib/components/table/extensions/sort/o-mat-sort-header.mjs +14 -7
  229. package/esm2020/lib/components/table/extensions/sort/o-mat-sort-module.mjs +5 -5
  230. package/esm2020/lib/components/table/extensions/sort/o-mat-sort.mjs +4 -4
  231. package/esm2020/lib/components/table/index.mjs +2 -1
  232. package/esm2020/lib/components/table/o-table-base.class.mjs +1 -1
  233. package/esm2020/lib/components/table/o-table-loading.service.mjs +113 -0
  234. package/esm2020/lib/components/table/o-table.component.mjs +107 -65
  235. package/esm2020/lib/components/table/o-table.module.mjs +12 -8
  236. package/esm2020/lib/components/tree/header/tree-menu/o-tree-menu.component.mjs +4 -4
  237. package/esm2020/lib/components/tree/o-tree-dao.service.mjs +35 -4
  238. package/esm2020/lib/components/tree/o-tree.component.mjs +147 -25
  239. package/esm2020/lib/components/tree/o-tree.datasource.mjs +28 -14
  240. package/esm2020/lib/components/tree/o-tree.module.mjs +5 -5
  241. package/esm2020/lib/components/tree/tree-node/tree-node.component.mjs +5 -23
  242. package/esm2020/lib/components/user-info/o-user-info.component.mjs +4 -4
  243. package/esm2020/lib/components/user-info/o-user-info.module.mjs +5 -5
  244. package/esm2020/lib/components/user-info/user-info-configuration/o-user-info-configuration.directive.mjs +4 -4
  245. package/esm2020/lib/components/user-info/user-info-configuration-item/o-user-info-configuration-item.directive.mjs +4 -4
  246. package/esm2020/lib/config/o-modules.mjs +5 -5
  247. package/esm2020/lib/directives/input-regulate.directive.mjs +4 -4
  248. package/esm2020/lib/directives/keyboard-listener.directive.mjs +4 -4
  249. package/esm2020/lib/directives/locker.directive.mjs +4 -4
  250. package/esm2020/lib/directives/o-file-drag-and-drop.directive.mjs +4 -4
  251. package/esm2020/lib/directives/o-hidden.directive.mjs +4 -4
  252. package/esm2020/lib/directives/o-mat-error.directive.mjs +4 -4
  253. package/esm2020/lib/directives/o-mat-prefix.directive.mjs +4 -4
  254. package/esm2020/lib/directives/o-mat-suffix.directive.mjs +4 -4
  255. package/esm2020/lib/directives/o-tab-group.directive.mjs +4 -4
  256. package/esm2020/lib/i18n/i18n.mjs +13 -4
  257. package/esm2020/lib/interfaces/pagination-data.interface.mjs +2 -0
  258. package/esm2020/lib/layouts/app-layout/app-layout-header/o-app-layout-header.component.mjs +4 -4
  259. package/esm2020/lib/layouts/app-layout/app-layout-sidenav/o-app-layout-sidenav.component.mjs +4 -4
  260. package/esm2020/lib/layouts/app-layout/o-app-layout.component.mjs +4 -4
  261. package/esm2020/lib/layouts/app-layout/o-app-layout.module.mjs +5 -5
  262. package/esm2020/lib/layouts/card-menu-layout/o-card-menu-layout.component.mjs +4 -4
  263. package/esm2020/lib/layouts/card-menu-layout/o-card-menu-layout.module.mjs +5 -5
  264. package/esm2020/lib/layouts/form-layout/dialog/o-form-layout-dialog.component.mjs +4 -4
  265. package/esm2020/lib/layouts/form-layout/dialog/options/o-form-layout-dialog-options.directive.mjs +4 -4
  266. package/esm2020/lib/layouts/form-layout/directives/o-form-layout-manager-content.directive.mjs +4 -4
  267. package/esm2020/lib/layouts/form-layout/guards/o-form-layout-can-activate-child.guard.mjs +4 -4
  268. package/esm2020/lib/layouts/form-layout/o-form-layout-manager.component.mjs +4 -4
  269. package/esm2020/lib/layouts/form-layout/o-form-layout-manager.module.mjs +5 -5
  270. package/esm2020/lib/layouts/form-layout/split-pane/o-form-layout-split-pane.component.mjs +4 -4
  271. package/esm2020/lib/layouts/form-layout/split-pane/options/o-form-layout-split-pane-options.directive.mjs +4 -4
  272. package/esm2020/lib/layouts/form-layout/tabgroup/o-form-layout-tabgroup.component.mjs +4 -4
  273. package/esm2020/lib/layouts/form-layout/tabgroup/options/o-form-layout-tabgroup-options.directive.mjs +4 -4
  274. package/esm2020/lib/ontimize-web-ngx.module.mjs +5 -5
  275. package/esm2020/lib/pipes/columns-filter.pipe.mjs +4 -4
  276. package/esm2020/lib/pipes/is-empty-value.pipe.mjs +4 -4
  277. package/esm2020/lib/pipes/o-currency.pipe.mjs +4 -4
  278. package/esm2020/lib/pipes/o-icon.pipe.mjs +4 -4
  279. package/esm2020/lib/pipes/o-integer.pipe.mjs +4 -4
  280. package/esm2020/lib/pipes/o-moment.pipe.mjs +4 -4
  281. package/esm2020/lib/pipes/o-percentage.pipe.mjs +4 -4
  282. package/esm2020/lib/pipes/o-real.pipe.mjs +4 -4
  283. package/esm2020/lib/pipes/o-safe.pipe.mjs +4 -4
  284. package/esm2020/lib/pipes/o-translate.pipe.mjs +8 -8
  285. package/esm2020/lib/pipes/order-by.pipe.mjs +4 -4
  286. package/esm2020/lib/services/app-menu.service.mjs +4 -4
  287. package/esm2020/lib/services/appearance.service.mjs +4 -4
  288. package/esm2020/lib/services/auth-guard.service.mjs +4 -4
  289. package/esm2020/lib/services/auth.service.mjs +4 -4
  290. package/esm2020/lib/services/base-service-response.adapter.mjs +4 -4
  291. package/esm2020/lib/services/base-service.class.mjs +4 -4
  292. package/esm2020/lib/services/currency.service.mjs +4 -4
  293. package/esm2020/lib/services/dialog.service.mjs +4 -4
  294. package/esm2020/lib/services/icon.service.mjs +4 -4
  295. package/esm2020/lib/services/jsonapi/jsonapi-preferences.service.mjs +4 -4
  296. package/esm2020/lib/services/jsonapi/jsonapi-service-response.adapter.mjs +4 -4
  297. package/esm2020/lib/services/jsonapi/jsonapi.service.mjs +4 -4
  298. package/esm2020/lib/services/local-storage.service.mjs +4 -4
  299. package/esm2020/lib/services/login-storage.service.mjs +4 -4
  300. package/esm2020/lib/services/moment.service.mjs +4 -4
  301. package/esm2020/lib/services/navigation.service.mjs +4 -4
  302. package/esm2020/lib/services/number.service.mjs +4 -4
  303. package/esm2020/lib/services/o-auth.service.mjs +4 -4
  304. package/esm2020/lib/services/o-breadcrumb.service.mjs +4 -4
  305. package/esm2020/lib/services/o-error-dialog-manager.service.mjs +4 -4
  306. package/esm2020/lib/services/o-form-layout-manager.service.mjs +4 -4
  307. package/esm2020/lib/services/o-modules-info.service.mjs +4 -4
  308. package/esm2020/lib/services/o-user-info.service.mjs +4 -4
  309. package/esm2020/lib/services/ontimize/o-preference-response.adapter.mjs +4 -4
  310. package/esm2020/lib/services/ontimize/ontimize-base-service.class.mjs +4 -4
  311. package/esm2020/lib/services/ontimize/ontimize-ee.service.mjs +4 -4
  312. package/esm2020/lib/services/ontimize/ontimize-export-3xx.service.mjs +4 -4
  313. package/esm2020/lib/services/ontimize/ontimize-export.service.mjs +4 -4
  314. package/esm2020/lib/services/ontimize/ontimize-file.service.mjs +4 -4
  315. package/esm2020/lib/services/ontimize/ontimize-preferences.service.mjs +4 -4
  316. package/esm2020/lib/services/ontimize/ontimize-service-response.adapter.mjs +4 -4
  317. package/esm2020/lib/services/ontimize/ontimize.service.mjs +4 -4
  318. package/esm2020/lib/services/ontimize-export-data-base-provider.service.mjs +4 -4
  319. package/esm2020/lib/services/ontimize-export-data-provider-3x.service.mjs +4 -4
  320. package/esm2020/lib/services/ontimize-export-data-provider.service.mjs +4 -4
  321. package/esm2020/lib/services/ontimize-icon-registry.service.mjs +4 -4
  322. package/esm2020/lib/services/pagination-context.service.mjs +4 -4
  323. package/esm2020/lib/services/parser/o-service-response.parser.mjs +4 -4
  324. package/esm2020/lib/services/permissions/o-permissions.module.mjs +5 -5
  325. package/esm2020/lib/services/permissions/ontimize-ee-permissions.service.mjs +4 -4
  326. package/esm2020/lib/services/permissions/ontimize-permissions.service.mjs +4 -4
  327. package/esm2020/lib/services/permissions/permissions-can-activate.guard.mjs +4 -4
  328. package/esm2020/lib/services/permissions/permissions.service.mjs +4 -4
  329. package/esm2020/lib/services/remote-config.service.mjs +5 -5
  330. package/esm2020/lib/services/request-adapter/jsonapi-request-arguments.adapter.mjs +4 -4
  331. package/esm2020/lib/services/request-adapter/ontimize-request-arguments.adapter.mjs +4 -4
  332. package/esm2020/lib/services/share-can-activate-child.service.mjs +4 -4
  333. package/esm2020/lib/services/snackbar.service.mjs +4 -4
  334. package/esm2020/lib/services/state/index.mjs +3 -1
  335. package/esm2020/lib/services/state/o-app-menu-component-state.service.mjs +4 -4
  336. package/esm2020/lib/services/state/o-component-state.service.mjs +10 -10
  337. package/esm2020/lib/services/state/o-filter-builder-component-state.service.mjs +4 -4
  338. package/esm2020/lib/services/state/o-form-layout-manager-component-state.service.mjs +4 -4
  339. package/esm2020/lib/services/state/o-grid-component-state.service.mjs +4 -4
  340. package/esm2020/lib/services/state/o-list-component-state.service.mjs +4 -4
  341. package/esm2020/lib/services/state/o-table-component-state.class.mjs +1 -1
  342. package/esm2020/lib/services/state/o-table-component-state.service.mjs +4 -4
  343. package/esm2020/lib/services/state/o-tree-component-state.class.mjs +1 -1
  344. package/esm2020/lib/services/state/o-tree-component-state.service.mjs +57 -17
  345. package/esm2020/lib/services/translate/o-translate.parser.mjs +4 -4
  346. package/esm2020/lib/services/translate/o-translate.service.mjs +4 -4
  347. package/esm2020/lib/shared/components/dialog/o-dialog-internal.component.mjs +4 -4
  348. package/esm2020/lib/shared/components/dialog/o-dialog.component.mjs +4 -4
  349. package/esm2020/lib/shared/components/error403/o-error-403.component.mjs +4 -4
  350. package/esm2020/lib/shared/components/filter/load-filter/o-load-filter-dialog.component.mjs +4 -4
  351. package/esm2020/lib/shared/components/filter/store-filter/o-store-filter-dialog.component.mjs +4 -4
  352. package/esm2020/lib/shared/components/snackbar/o-snackbar-base.class.mjs +4 -4
  353. package/esm2020/lib/shared/components/snackbar/o-snackbar.component.mjs +4 -4
  354. package/esm2020/lib/shared/components/validation/o-error.component.mjs +4 -4
  355. package/esm2020/lib/shared/components/validation/o-validator.component.mjs +4 -4
  356. package/esm2020/lib/shared/material/custom.material.module.mjs +5 -5
  357. package/esm2020/lib/shared/material/date/ontimize-moment-date-adapter.mjs +4 -4
  358. package/esm2020/lib/shared/shared.module.mjs +5 -5
  359. package/esm2020/lib/types/aggregate-function.type.mjs +1 -1
  360. package/esm2020/lib/types/table/o-table-global-config.type.mjs +1 -1
  361. package/esm2020/lib/types/table/o-table-initialization-options.type.mjs +1 -1
  362. package/esm2020/lib/types/tree-flat-node.type.mjs +1 -1
  363. package/fesm2015/ontimize-web-ngx.mjs +2150 -1464
  364. package/fesm2015/ontimize-web-ngx.mjs.map +1 -1
  365. package/fesm2020/ontimize-web-ngx.mjs +2121 -1459
  366. package/fesm2020/ontimize-web-ngx.mjs.map +1 -1
  367. package/lib/components/dual-list-selector/o-dual-list-selector.component.d.ts +1 -1
  368. package/lib/components/input/hour-input/index.d.ts +3 -0
  369. package/lib/components/input/hour-input/o-hour-input.component.d.ts +6 -2
  370. package/lib/components/input/hour-input/o-hour-input.directive.d.ts +8 -0
  371. package/lib/components/input/hour-input/o-hour-input.module.d.ts +5 -4
  372. package/lib/components/input/index.d.ts +1 -2
  373. package/lib/components/o-service-base-component.class.d.ts +6 -1
  374. package/lib/components/table/column/cell-editor/o-base-table-cell-editor.class.d.ts +5 -3
  375. package/lib/components/table/column/cell-editor/time/o-table-cell-editor-time.component.d.ts +2 -2
  376. package/lib/components/table/extensions/default-o-table.datasource.d.ts +6 -1
  377. package/lib/components/table/extensions/dialog/filter-by-column/o-table-filter-by-column-data-dialog.component.d.ts +10 -3
  378. package/lib/components/table/extensions/dialog/filter-by-column/o-table-filter-by-column.service.d.ts +10 -3
  379. package/lib/components/table/extensions/dialog/group-by-columns/o-table-group-by-columns-dialog.component.d.ts +1 -1
  380. package/lib/components/table/extensions/footer/aggregate/o-table-column-aggregate.component.d.ts +1 -1
  381. package/lib/components/table/extensions/footer/expanded/o-table-expanded-footer.directive.d.ts +1 -2
  382. package/lib/components/table/extensions/header/o-table-header-components.d.ts +2 -2
  383. package/lib/components/table/extensions/header/table-columns-filter/columns/o-table-columns-filter-column.component.d.ts +19 -2
  384. package/lib/components/table/extensions/header/table-columns-filter/o-table-columns-filter.component.d.ts +10 -9
  385. package/lib/components/table/extensions/header/table-header-column-filter-icon/o-table-header-column-filter-icon.component.d.ts +7 -1
  386. package/lib/components/table/extensions/o-table-strategy.service.d.ts +2 -1
  387. package/lib/components/table/extensions/skeleton/o-table-skeleton.component.d.ts +1 -0
  388. package/lib/components/table/extensions/sort/o-mat-sort-header.d.ts +5 -3
  389. package/lib/components/table/index.d.ts +1 -0
  390. package/lib/components/table/o-table-base.class.d.ts +15 -4
  391. package/lib/components/table/o-table-loading.service.d.ts +28 -0
  392. package/lib/components/table/o-table.component.d.ts +7 -3
  393. package/lib/components/table/o-table.module.d.ts +2 -1
  394. package/lib/components/tree/o-tree-dao.service.d.ts +4 -2
  395. package/lib/components/tree/o-tree.component.d.ts +21 -2
  396. package/lib/components/tree/o-tree.datasource.d.ts +3 -0
  397. package/lib/components/tree/tree-node/tree-node.component.d.ts +0 -4
  398. package/lib/i18n/i18n.d.ts +9 -0
  399. package/lib/interfaces/pagination-data.interface.d.ts +6 -0
  400. package/lib/services/state/index.d.ts +2 -0
  401. package/lib/services/state/o-table-component-state.class.d.ts +1 -1
  402. package/lib/services/state/o-tree-component-state.class.d.ts +3 -0
  403. package/lib/services/state/o-tree-component-state.service.d.ts +4 -1
  404. package/lib/types/aggregate-function.type.d.ts +2 -1
  405. package/lib/types/table/o-table-global-config.type.d.ts +4 -0
  406. package/lib/types/table/o-table-initialization-options.type.d.ts +4 -0
  407. package/lib/types/tree-flat-node.type.d.ts +5 -1
  408. package/package.json +2 -2
@@ -43,9 +43,9 @@ export class OTableApplyConfigurationDialogComponent {
43
43
  return selected.length ? selected[0].value : void 0;
44
44
  }
45
45
  }
46
- OTableApplyConfigurationDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OTableApplyConfigurationDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
47
- OTableApplyConfigurationDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: OTableApplyConfigurationDialogComponent, selector: "o-table-apply-configuration-dialog", viewQueries: [{ propertyName: "configurationList", first: true, predicate: MatSelectionList, descendants: true, static: true }], ngImport: i0, template: "<span mat-dialog-title>{{ 'TABLE.BUTTONS.APPLY_CONFIGURATION' | oTranslate }}</span>\n\n<mat-dialog-content fxLayout=\"column\">\n <div mat-subheader>{{ 'TABLE.DIALOG.APPLY_CONFIGURATION' | oTranslate }}</div>\n <mat-selection-list #configurationList class=\"o-table-apply-configuration-dialog-list\">\n <mat-list-option checkboxPosition=\"before\" [value]=\"default_configuration\">\n <span matListItemTitle class=\"o-table-apply-configuration-dialog-list-title\">\n {{ 'TABLE.DIALOG.APPLY_CONFIGURATION_DEFAULT' | oTranslate }}\n </span>\n <span matListItemLine>{{ 'TABLE.DIALOG.APPLY_CONFIGURATION_DEFAULT_DESCRIPTION' | oTranslate }}</span>\n </mat-list-option>\n <mat-list-option checkboxPosition=\"before\" *ngFor=\"let configuration of configurations; let i = index\" [value]=\"configuration.name\">\n <span matListItemTitle>{{ configuration.name }}</span>\n <span matListItemLine>{{ configuration.description }}</span>\n </mat-list-option>\n </mat-selection-list>\n</mat-dialog-content>\n\n<mat-dialog-actions align=\"end\">\n <button type=\"button\" mat-stroked-button [disabled]=\"configurationList.selectedOptions.selected.length!==1 || isDefaultConfigurationSelected()\"\n (click)=\"removeConfiguration(configurationList.selectedOptions.selected[0].value)\" class=\"o-button-danger\">\n {{ 'DELETE' | oTranslate }}\n </button>\n <span fxFlex></span>\n <button type=\"button\" mat-stroked-button [mat-dialog-close]=\"false\" class=\"o-button-default cancel\">{{ 'CANCEL' | oTranslate }}</button>\n <button type=\"button\" mat-stroked-button [mat-dialog-close]=\"true\" [disabled]=\"configurationList.selectedOptions.selected.length!==1\"\n class=\"o-button-primary\">{{ 'OK' | oTranslate }}</button>\n</mat-dialog-actions>\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i3.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: i5.MatSelectionList, selector: "mat-selection-list", inputs: ["color", "compareWith", "multiple", "hideSingleSelectionIndicator", "disabled"], outputs: ["selectionChange"], exportAs: ["matSelectionList"] }, { kind: "component", type: i5.MatListOption, selector: "mat-list-option", inputs: ["togglePosition", "checkboxPosition", "color", "value", "selected"], outputs: ["selectedChange"], exportAs: ["matListOption"] }, { kind: "directive", type: i5.MatListSubheaderCssMatStyler, selector: "[mat-subheader], [matSubheader]" }, { kind: "directive", type: i5.MatListItemLine, selector: "[matListItemLine]" }, { kind: "directive", type: i5.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "pipe", type: i6.OTranslatePipe, name: "oTranslate" }] });
48
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OTableApplyConfigurationDialogComponent, decorators: [{
46
+ OTableApplyConfigurationDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OTableApplyConfigurationDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
47
+ OTableApplyConfigurationDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: OTableApplyConfigurationDialogComponent, selector: "o-table-apply-configuration-dialog", viewQueries: [{ propertyName: "configurationList", first: true, predicate: MatSelectionList, descendants: true, static: true }], ngImport: i0, template: "<span mat-dialog-title>{{ 'TABLE.BUTTONS.APPLY_CONFIGURATION' | oTranslate }}</span>\n\n<mat-dialog-content fxLayout=\"column\">\n <div mat-subheader>{{ 'TABLE.DIALOG.APPLY_CONFIGURATION' | oTranslate }}</div>\n <mat-selection-list #configurationList class=\"o-table-apply-configuration-dialog-list\">\n <mat-list-option checkboxPosition=\"before\" [value]=\"default_configuration\">\n <span matListItemTitle class=\"o-table-apply-configuration-dialog-list-title\">\n {{ 'TABLE.DIALOG.APPLY_CONFIGURATION_DEFAULT' | oTranslate }}\n </span>\n <span matListItemLine>{{ 'TABLE.DIALOG.APPLY_CONFIGURATION_DEFAULT_DESCRIPTION' | oTranslate }}</span>\n </mat-list-option>\n <mat-list-option checkboxPosition=\"before\" *ngFor=\"let configuration of configurations; let i = index\" [value]=\"configuration.name\">\n <span matListItemTitle>{{ configuration.name }}</span>\n <span matListItemLine>{{ configuration.description }}</span>\n </mat-list-option>\n </mat-selection-list>\n</mat-dialog-content>\n\n<mat-dialog-actions align=\"end\">\n <button type=\"button\" mat-stroked-button [disabled]=\"configurationList.selectedOptions.selected.length!==1 || isDefaultConfigurationSelected()\"\n (click)=\"removeConfiguration(configurationList.selectedOptions.selected[0].value)\" class=\"o-button-danger\">\n {{ 'DELETE' | oTranslate }}\n </button>\n <span fxFlex></span>\n <button type=\"button\" mat-stroked-button [mat-dialog-close]=\"false\" class=\"o-button-default cancel\">{{ 'CANCEL' | oTranslate }}</button>\n <button type=\"button\" mat-stroked-button [mat-dialog-close]=\"true\" [disabled]=\"configurationList.selectedOptions.selected.length!==1\"\n class=\"o-button-primary\">{{ 'OK' | oTranslate }}</button>\n</mat-dialog-actions>\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i3.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: i5.MatSelectionList, selector: "mat-selection-list", inputs: ["color", "compareWith", "multiple", "hideSingleSelectionIndicator", "disabled"], outputs: ["selectionChange"], exportAs: ["matSelectionList"] }, { kind: "component", type: i5.MatListOption, selector: "mat-list-option", inputs: ["togglePosition", "checkboxPosition", "color", "value", "selected"], outputs: ["selectedChange"], exportAs: ["matListOption"] }, { kind: "directive", type: i5.MatListSubheaderCssMatStyler, selector: "[mat-subheader], [matSubheader]" }, { kind: "directive", type: i5.MatListItemLine, selector: "[matListItemLine]" }, { kind: "directive", type: i5.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "pipe", type: i6.OTranslatePipe, name: "oTranslate" }] });
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OTableApplyConfigurationDialogComponent, decorators: [{
49
49
  type: Component,
50
50
  args: [{ selector: 'o-table-apply-configuration-dialog', template: "<span mat-dialog-title>{{ 'TABLE.BUTTONS.APPLY_CONFIGURATION' | oTranslate }}</span>\n\n<mat-dialog-content fxLayout=\"column\">\n <div mat-subheader>{{ 'TABLE.DIALOG.APPLY_CONFIGURATION' | oTranslate }}</div>\n <mat-selection-list #configurationList class=\"o-table-apply-configuration-dialog-list\">\n <mat-list-option checkboxPosition=\"before\" [value]=\"default_configuration\">\n <span matListItemTitle class=\"o-table-apply-configuration-dialog-list-title\">\n {{ 'TABLE.DIALOG.APPLY_CONFIGURATION_DEFAULT' | oTranslate }}\n </span>\n <span matListItemLine>{{ 'TABLE.DIALOG.APPLY_CONFIGURATION_DEFAULT_DESCRIPTION' | oTranslate }}</span>\n </mat-list-option>\n <mat-list-option checkboxPosition=\"before\" *ngFor=\"let configuration of configurations; let i = index\" [value]=\"configuration.name\">\n <span matListItemTitle>{{ configuration.name }}</span>\n <span matListItemLine>{{ configuration.description }}</span>\n </mat-list-option>\n </mat-selection-list>\n</mat-dialog-content>\n\n<mat-dialog-actions align=\"end\">\n <button type=\"button\" mat-stroked-button [disabled]=\"configurationList.selectedOptions.selected.length!==1 || isDefaultConfigurationSelected()\"\n (click)=\"removeConfiguration(configurationList.selectedOptions.selected[0].value)\" class=\"o-button-danger\">\n {{ 'DELETE' | oTranslate }}\n </button>\n <span fxFlex></span>\n <button type=\"button\" mat-stroked-button [mat-dialog-close]=\"false\" class=\"o-button-default cancel\">{{ 'CANCEL' | oTranslate }}</button>\n <button type=\"button\" mat-stroked-button [mat-dialog-close]=\"true\" [disabled]=\"configurationList.selectedOptions.selected.length!==1\"\n class=\"o-button-primary\">{{ 'OK' | oTranslate }}</button>\n</mat-dialog-actions>\n" }]
51
51
  }], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
@@ -55,4 +55,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
55
55
  type: ViewChild,
56
56
  args: [MatSelectionList, { static: true }]
57
57
  }] } });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby10YWJsZS1hcHBseS1jb25maWd1cmF0aW9uLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvY29tcG9uZW50cy90YWJsZS9leHRlbnNpb25zL2RpYWxvZy9hcHBseS1jb25maWd1cmF0aW9uL28tdGFibGUtYXBwbHktY29uZmlndXJhdGlvbi1kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb250aW1pemUtd2ViLW5neC9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUvZXh0ZW5zaW9ucy9kaWFsb2cvYXBwbHktY29uZmlndXJhdGlvbi9vLXRhYmxlLWFwcGx5LWNvbmZpZ3VyYXRpb24tZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFVLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RixPQUFPLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pFLE9BQU8sRUFBaUIsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV6RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7Ozs7Ozs7O0FBT3ZFLE1BQU0sT0FBTyx1Q0FBdUM7SUFZbEQsWUFDUyxTQUFnRSxFQUM5QyxJQUEyQixFQUMxQyxRQUFrQjtRQUZyQixjQUFTLEdBQVQsU0FBUyxDQUF1RDtRQUU3RCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBYnZCLDBCQUFxQixHQUFHLGlEQUFpRCxDQUFDO1FBQzFFLG1CQUFjLEdBQTBCLEVBQUUsQ0FBQztRQUUzQyxhQUFRLEdBQXlCLElBQUksWUFBWSxFQUFFLENBQUM7UUFZekQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMsaUJBQWlCLENBQUMsZUFBZSxHQUFHLElBQUksY0FBYyxDQUFnQixLQUFLLENBQUMsQ0FBQztJQUNwRixDQUFDO0lBRU0sa0JBQWtCLENBQUMsY0FBcUM7UUFDN0QsSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUM7SUFDdkMsQ0FBQztJQUVNLG1CQUFtQixDQUFDLGlCQUF5QjtRQUNsRCxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsMkNBQTJDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDL0YsSUFBSSxNQUFNLEVBQUU7Z0JBQ1YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQzthQUN2QztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLDhCQUE4QjtRQUNuQyxNQUFNLFFBQVEsR0FBb0IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUM7UUFDbEYsTUFBTSxhQUFhLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkUsT0FBTyxhQUFhLEtBQUssSUFBSSxDQUFDLHFCQUFxQixDQUFDO0lBQ3RELENBQUM7SUFFTSw0QkFBNEI7UUFDakMsTUFBTSxRQUFRLEdBQW9CLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDO1FBQ2xGLE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEQsQ0FBQzs7b0lBOUNVLHVDQUF1Qyw4Q0FjeEMsZUFBZTt3SEFkZCx1Q0FBdUMsNkhBT3ZDLGdCQUFnQiw4RENuQjdCLHN3REE0QkE7MkZEaEJhLHVDQUF1QztrQkFKbkQsU0FBUzsrQkFDRSxvQ0FBb0M7OzBCQWlCM0MsTUFBTTsyQkFBQyxlQUFlO21FQU5mLGlCQUFpQjtzQkFEMUIsU0FBUzt1QkFBQyxnQkFBZ0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZWxlY3Rpb25Nb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2xsZWN0aW9ucyc7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBJbmplY3RvciwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IE1hdExpc3RPcHRpb24sIE1hdFNlbGVjdGlvbkxpc3QgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0JztcblxuaW1wb3J0IHsgRGlhbG9nU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NlcnZpY2VzL2RpYWxvZy5zZXJ2aWNlJztcbmltcG9ydCB7IE9UYWJsZUNvbmZpZ3VyYXRpb24gfSBmcm9tICcuLi8uLi8uLi8uLi8uLi90eXBlcy90YWJsZS9vLXRhYmxlLWNvbmZpZ3VyYXRpb24udHlwZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ28tdGFibGUtYXBwbHktY29uZmlndXJhdGlvbi1kaWFsb2cnLFxuICB0ZW1wbGF0ZVVybDogJy4vby10YWJsZS1hcHBseS1jb25maWd1cmF0aW9uLWRpYWxvZy5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgT1RhYmxlQXBwbHlDb25maWd1cmF0aW9uRGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBwdWJsaWMgZGVmYXVsdF9jb25maWd1cmF0aW9uID0gJ09UYWJsZUFwcGx5Q29uZmlndXJhdGlvbkRpYWxvZ0NvbXBvbmVudC1kZWZhdWx0JztcbiAgcHVibGljIGNvbmZpZ3VyYXRpb25zOiBPVGFibGVDb25maWd1cmF0aW9uW10gPSBbXTtcblxuICBwdWJsaWMgb25EZWxldGU6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBWaWV3Q2hpbGQoTWF0U2VsZWN0aW9uTGlzdCwgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHJvdGVjdGVkIGNvbmZpZ3VyYXRpb25MaXN0OiBNYXRTZWxlY3Rpb25MaXN0O1xuXG4gIHByb3RlY3RlZCBkaWFsb2dTZXJ2aWNlOiBEaWFsb2dTZXJ2aWNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxPVGFibGVBcHBseUNvbmZpZ3VyYXRpb25EaWFsb2dDb21wb25lbnQ+LFxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBkYXRhOiBPVGFibGVDb25maWd1cmF0aW9uW10sXG4gICAgcHJvdGVjdGVkIGluamVjdG9yOiBJbmplY3RvclxuICApIHtcbiAgICB0aGlzLmxvYWRDb25maWd1cmF0aW9ucyhkYXRhKTtcbiAgICB0aGlzLmRpYWxvZ1NlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldChEaWFsb2dTZXJ2aWNlKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbmZpZ3VyYXRpb25MaXN0LnNlbGVjdGVkT3B0aW9ucyA9IG5ldyBTZWxlY3Rpb25Nb2RlbDxNYXRMaXN0T3B0aW9uPihmYWxzZSk7XG4gIH1cblxuICBwdWJsaWMgbG9hZENvbmZpZ3VyYXRpb25zKGNvbmZpZ3VyYXRpb25zOiBPVGFibGVDb25maWd1cmF0aW9uW10pOiB2b2lkIHtcbiAgICB0aGlzLmNvbmZpZ3VyYXRpb25zID0gY29uZmlndXJhdGlvbnM7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlQ29uZmlndXJhdGlvbihjb25maWd1cmF0aW9uTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5kaWFsb2dTZXJ2aWNlLmNvbmZpcm0oJ0NPTkZJUk0nLCAnVEFCTEUuRElBTE9HLkNPTkZJUk1fUkVNT1ZFX0NPTkZJR1VSQVRJT04nKS50aGVuKHJlc3VsdCA9PiB7XG4gICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgIHRoaXMub25EZWxldGUuZW1pdChjb25maWd1cmF0aW9uTmFtZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgaXNEZWZhdWx0Q29uZmlndXJhdGlvblNlbGVjdGVkKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHNlbGVjdGVkOiBNYXRMaXN0T3B0aW9uW10gPSB0aGlzLmNvbmZpZ3VyYXRpb25MaXN0LnNlbGVjdGVkT3B0aW9ucy5zZWxlY3RlZDtcbiAgICBjb25zdCBzZWxlY3RlZFZhbHVlID0gc2VsZWN0ZWQubGVuZ3RoID8gc2VsZWN0ZWRbMF0udmFsdWUgOiB2b2lkIDA7XG4gICAgcmV0dXJuIHNlbGVjdGVkVmFsdWUgPT09IHRoaXMuZGVmYXVsdF9jb25maWd1cmF0aW9uO1xuICB9XG5cbiAgcHVibGljIGdldFNlbGVjdGVkQ29uZmlndXJhdGlvbk5hbWUoKTogc3RyaW5nIHtcbiAgICBjb25zdCBzZWxlY3RlZDogTWF0TGlzdE9wdGlvbltdID0gdGhpcy5jb25maWd1cmF0aW9uTGlzdC5zZWxlY3RlZE9wdGlvbnMuc2VsZWN0ZWQ7XG4gICAgcmV0dXJuIHNlbGVjdGVkLmxlbmd0aCA/IHNlbGVjdGVkWzBdLnZhbHVlIDogdm9pZCAwO1xuICB9XG5cbn1cbiIsIjxzcGFuIG1hdC1kaWFsb2ctdGl0bGU+e3sgJ1RBQkxFLkJVVFRPTlMuQVBQTFlfQ09ORklHVVJBVElPTicgfCBvVHJhbnNsYXRlIH19PC9zcGFuPlxuXG48bWF0LWRpYWxvZy1jb250ZW50IGZ4TGF5b3V0PVwiY29sdW1uXCI+XG4gIDxkaXYgbWF0LXN1YmhlYWRlcj57eyAnVEFCTEUuRElBTE9HLkFQUExZX0NPTkZJR1VSQVRJT04nIHwgb1RyYW5zbGF0ZSB9fTwvZGl2PlxuICA8bWF0LXNlbGVjdGlvbi1saXN0ICNjb25maWd1cmF0aW9uTGlzdCBjbGFzcz1cIm8tdGFibGUtYXBwbHktY29uZmlndXJhdGlvbi1kaWFsb2ctbGlzdFwiPlxuICAgIDxtYXQtbGlzdC1vcHRpb24gY2hlY2tib3hQb3NpdGlvbj1cImJlZm9yZVwiIFt2YWx1ZV09XCJkZWZhdWx0X2NvbmZpZ3VyYXRpb25cIj5cbiAgICAgIDxzcGFuIG1hdExpc3RJdGVtVGl0bGUgY2xhc3M9XCJvLXRhYmxlLWFwcGx5LWNvbmZpZ3VyYXRpb24tZGlhbG9nLWxpc3QtdGl0bGVcIj5cbiAgICAgICAge3sgJ1RBQkxFLkRJQUxPRy5BUFBMWV9DT05GSUdVUkFUSU9OX0RFRkFVTFQnIHwgb1RyYW5zbGF0ZSB9fVxuICAgICAgPC9zcGFuPlxuICAgICAgPHNwYW4gbWF0TGlzdEl0ZW1MaW5lPnt7ICdUQUJMRS5ESUFMT0cuQVBQTFlfQ09ORklHVVJBVElPTl9ERUZBVUxUX0RFU0NSSVBUSU9OJyB8IG9UcmFuc2xhdGUgfX08L3NwYW4+XG4gICAgPC9tYXQtbGlzdC1vcHRpb24+XG4gICAgPG1hdC1saXN0LW9wdGlvbiBjaGVja2JveFBvc2l0aW9uPVwiYmVmb3JlXCIgKm5nRm9yPVwibGV0IGNvbmZpZ3VyYXRpb24gb2YgY29uZmlndXJhdGlvbnM7IGxldCBpID0gaW5kZXhcIiBbdmFsdWVdPVwiY29uZmlndXJhdGlvbi5uYW1lXCI+XG4gICAgICA8c3BhbiBtYXRMaXN0SXRlbVRpdGxlPnt7IGNvbmZpZ3VyYXRpb24ubmFtZSB9fTwvc3Bhbj5cbiAgICAgIDxzcGFuIG1hdExpc3RJdGVtTGluZT57eyBjb25maWd1cmF0aW9uLmRlc2NyaXB0aW9uIH19PC9zcGFuPlxuICAgIDwvbWF0LWxpc3Qtb3B0aW9uPlxuICA8L21hdC1zZWxlY3Rpb24tbGlzdD5cbjwvbWF0LWRpYWxvZy1jb250ZW50PlxuXG48bWF0LWRpYWxvZy1hY3Rpb25zIGFsaWduPVwiZW5kXCI+XG4gIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIG1hdC1zdHJva2VkLWJ1dHRvbiBbZGlzYWJsZWRdPVwiY29uZmlndXJhdGlvbkxpc3Quc2VsZWN0ZWRPcHRpb25zLnNlbGVjdGVkLmxlbmd0aCE9PTEgfHwgaXNEZWZhdWx0Q29uZmlndXJhdGlvblNlbGVjdGVkKClcIlxuICAgIChjbGljayk9XCJyZW1vdmVDb25maWd1cmF0aW9uKGNvbmZpZ3VyYXRpb25MaXN0LnNlbGVjdGVkT3B0aW9ucy5zZWxlY3RlZFswXS52YWx1ZSlcIiBjbGFzcz1cIm8tYnV0dG9uLWRhbmdlclwiPlxuICAgIHt7ICdERUxFVEUnIHwgb1RyYW5zbGF0ZSB9fVxuICA8L2J1dHRvbj5cbiAgPHNwYW4gZnhGbGV4Pjwvc3Bhbj5cbiAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbWF0LXN0cm9rZWQtYnV0dG9uIFttYXQtZGlhbG9nLWNsb3NlXT1cImZhbHNlXCIgY2xhc3M9XCJvLWJ1dHRvbi1kZWZhdWx0IGNhbmNlbFwiPnt7ICdDQU5DRUwnIHwgb1RyYW5zbGF0ZSB9fTwvYnV0dG9uPlxuICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXQtc3Ryb2tlZC1idXR0b24gW21hdC1kaWFsb2ctY2xvc2VdPVwidHJ1ZVwiIFtkaXNhYmxlZF09XCJjb25maWd1cmF0aW9uTGlzdC5zZWxlY3RlZE9wdGlvbnMuc2VsZWN0ZWQubGVuZ3RoIT09MVwiXG4gICAgY2xhc3M9XCJvLWJ1dHRvbi1wcmltYXJ5XCI+e3sgJ09LJyB8IG9UcmFuc2xhdGUgfX08L2J1dHRvbj5cbjwvbWF0LWRpYWxvZy1hY3Rpb25zPlxuIl19
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby10YWJsZS1hcHBseS1jb25maWd1cmF0aW9uLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvY29tcG9uZW50cy90YWJsZS9leHRlbnNpb25zL2RpYWxvZy9hcHBseS1jb25maWd1cmF0aW9uL28tdGFibGUtYXBwbHktY29uZmlndXJhdGlvbi1kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb250aW1pemUtd2ViLW5neC9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUvZXh0ZW5zaW9ucy9kaWFsb2cvYXBwbHktY29uZmlndXJhdGlvbi9vLXRhYmxlLWFwcGx5LWNvbmZpZ3VyYXRpb24tZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFVLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RixPQUFPLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pFLE9BQU8sRUFBaUIsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV6RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7Ozs7Ozs7O0FBT3ZFLE1BQU0sT0FBTyx1Q0FBdUM7SUFZbEQsWUFDUyxTQUFnRSxFQUM5QyxJQUEyQixFQUMxQyxRQUFrQjtRQUZyQixjQUFTLEdBQVQsU0FBUyxDQUF1RDtRQUU3RCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBYnZCLDBCQUFxQixHQUFHLGlEQUFpRCxDQUFDO1FBQzFFLG1CQUFjLEdBQTBCLEVBQUUsQ0FBQztRQUUzQyxhQUFRLEdBQXlCLElBQUksWUFBWSxFQUFFLENBQUM7UUFZekQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMsaUJBQWlCLENBQUMsZUFBZSxHQUFHLElBQUksY0FBYyxDQUFnQixLQUFLLENBQUMsQ0FBQztJQUNwRixDQUFDO0lBRU0sa0JBQWtCLENBQUMsY0FBcUM7UUFDN0QsSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUM7SUFDdkMsQ0FBQztJQUVNLG1CQUFtQixDQUFDLGlCQUF5QjtRQUNsRCxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsMkNBQTJDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDL0YsSUFBSSxNQUFNLEVBQUU7Z0JBQ1YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQzthQUN2QztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLDhCQUE4QjtRQUNuQyxNQUFNLFFBQVEsR0FBb0IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUM7UUFDbEYsTUFBTSxhQUFhLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkUsT0FBTyxhQUFhLEtBQUssSUFBSSxDQUFDLHFCQUFxQixDQUFDO0lBQ3RELENBQUM7SUFFTSw0QkFBNEI7UUFDakMsTUFBTSxRQUFRLEdBQW9CLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDO1FBQ2xGLE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEQsQ0FBQzs7cUlBOUNVLHVDQUF1Qyw4Q0FjeEMsZUFBZTt5SEFkZCx1Q0FBdUMsNkhBT3ZDLGdCQUFnQiw4RENuQjdCLHN3REE0QkE7NEZEaEJhLHVDQUF1QztrQkFKbkQsU0FBUzsrQkFDRSxvQ0FBb0M7OzBCQWlCM0MsTUFBTTsyQkFBQyxlQUFlO21FQU5mLGlCQUFpQjtzQkFEMUIsU0FBUzt1QkFBQyxnQkFBZ0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZWxlY3Rpb25Nb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2xsZWN0aW9ucyc7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBJbmplY3RvciwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IE1hdExpc3RPcHRpb24sIE1hdFNlbGVjdGlvbkxpc3QgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0JztcblxuaW1wb3J0IHsgRGlhbG9nU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NlcnZpY2VzL2RpYWxvZy5zZXJ2aWNlJztcbmltcG9ydCB7IE9UYWJsZUNvbmZpZ3VyYXRpb24gfSBmcm9tICcuLi8uLi8uLi8uLi8uLi90eXBlcy90YWJsZS9vLXRhYmxlLWNvbmZpZ3VyYXRpb24udHlwZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ28tdGFibGUtYXBwbHktY29uZmlndXJhdGlvbi1kaWFsb2cnLFxuICB0ZW1wbGF0ZVVybDogJy4vby10YWJsZS1hcHBseS1jb25maWd1cmF0aW9uLWRpYWxvZy5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgT1RhYmxlQXBwbHlDb25maWd1cmF0aW9uRGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBwdWJsaWMgZGVmYXVsdF9jb25maWd1cmF0aW9uID0gJ09UYWJsZUFwcGx5Q29uZmlndXJhdGlvbkRpYWxvZ0NvbXBvbmVudC1kZWZhdWx0JztcbiAgcHVibGljIGNvbmZpZ3VyYXRpb25zOiBPVGFibGVDb25maWd1cmF0aW9uW10gPSBbXTtcblxuICBwdWJsaWMgb25EZWxldGU6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBWaWV3Q2hpbGQoTWF0U2VsZWN0aW9uTGlzdCwgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHJvdGVjdGVkIGNvbmZpZ3VyYXRpb25MaXN0OiBNYXRTZWxlY3Rpb25MaXN0O1xuXG4gIHByb3RlY3RlZCBkaWFsb2dTZXJ2aWNlOiBEaWFsb2dTZXJ2aWNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxPVGFibGVBcHBseUNvbmZpZ3VyYXRpb25EaWFsb2dDb21wb25lbnQ+LFxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBkYXRhOiBPVGFibGVDb25maWd1cmF0aW9uW10sXG4gICAgcHJvdGVjdGVkIGluamVjdG9yOiBJbmplY3RvclxuICApIHtcbiAgICB0aGlzLmxvYWRDb25maWd1cmF0aW9ucyhkYXRhKTtcbiAgICB0aGlzLmRpYWxvZ1NlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldChEaWFsb2dTZXJ2aWNlKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbmZpZ3VyYXRpb25MaXN0LnNlbGVjdGVkT3B0aW9ucyA9IG5ldyBTZWxlY3Rpb25Nb2RlbDxNYXRMaXN0T3B0aW9uPihmYWxzZSk7XG4gIH1cblxuICBwdWJsaWMgbG9hZENvbmZpZ3VyYXRpb25zKGNvbmZpZ3VyYXRpb25zOiBPVGFibGVDb25maWd1cmF0aW9uW10pOiB2b2lkIHtcbiAgICB0aGlzLmNvbmZpZ3VyYXRpb25zID0gY29uZmlndXJhdGlvbnM7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlQ29uZmlndXJhdGlvbihjb25maWd1cmF0aW9uTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5kaWFsb2dTZXJ2aWNlLmNvbmZpcm0oJ0NPTkZJUk0nLCAnVEFCTEUuRElBTE9HLkNPTkZJUk1fUkVNT1ZFX0NPTkZJR1VSQVRJT04nKS50aGVuKHJlc3VsdCA9PiB7XG4gICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgIHRoaXMub25EZWxldGUuZW1pdChjb25maWd1cmF0aW9uTmFtZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgaXNEZWZhdWx0Q29uZmlndXJhdGlvblNlbGVjdGVkKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHNlbGVjdGVkOiBNYXRMaXN0T3B0aW9uW10gPSB0aGlzLmNvbmZpZ3VyYXRpb25MaXN0LnNlbGVjdGVkT3B0aW9ucy5zZWxlY3RlZDtcbiAgICBjb25zdCBzZWxlY3RlZFZhbHVlID0gc2VsZWN0ZWQubGVuZ3RoID8gc2VsZWN0ZWRbMF0udmFsdWUgOiB2b2lkIDA7XG4gICAgcmV0dXJuIHNlbGVjdGVkVmFsdWUgPT09IHRoaXMuZGVmYXVsdF9jb25maWd1cmF0aW9uO1xuICB9XG5cbiAgcHVibGljIGdldFNlbGVjdGVkQ29uZmlndXJhdGlvbk5hbWUoKTogc3RyaW5nIHtcbiAgICBjb25zdCBzZWxlY3RlZDogTWF0TGlzdE9wdGlvbltdID0gdGhpcy5jb25maWd1cmF0aW9uTGlzdC5zZWxlY3RlZE9wdGlvbnMuc2VsZWN0ZWQ7XG4gICAgcmV0dXJuIHNlbGVjdGVkLmxlbmd0aCA/IHNlbGVjdGVkWzBdLnZhbHVlIDogdm9pZCAwO1xuICB9XG5cbn1cbiIsIjxzcGFuIG1hdC1kaWFsb2ctdGl0bGU+e3sgJ1RBQkxFLkJVVFRPTlMuQVBQTFlfQ09ORklHVVJBVElPTicgfCBvVHJhbnNsYXRlIH19PC9zcGFuPlxuXG48bWF0LWRpYWxvZy1jb250ZW50IGZ4TGF5b3V0PVwiY29sdW1uXCI+XG4gIDxkaXYgbWF0LXN1YmhlYWRlcj57eyAnVEFCTEUuRElBTE9HLkFQUExZX0NPTkZJR1VSQVRJT04nIHwgb1RyYW5zbGF0ZSB9fTwvZGl2PlxuICA8bWF0LXNlbGVjdGlvbi1saXN0ICNjb25maWd1cmF0aW9uTGlzdCBjbGFzcz1cIm8tdGFibGUtYXBwbHktY29uZmlndXJhdGlvbi1kaWFsb2ctbGlzdFwiPlxuICAgIDxtYXQtbGlzdC1vcHRpb24gY2hlY2tib3hQb3NpdGlvbj1cImJlZm9yZVwiIFt2YWx1ZV09XCJkZWZhdWx0X2NvbmZpZ3VyYXRpb25cIj5cbiAgICAgIDxzcGFuIG1hdExpc3RJdGVtVGl0bGUgY2xhc3M9XCJvLXRhYmxlLWFwcGx5LWNvbmZpZ3VyYXRpb24tZGlhbG9nLWxpc3QtdGl0bGVcIj5cbiAgICAgICAge3sgJ1RBQkxFLkRJQUxPRy5BUFBMWV9DT05GSUdVUkFUSU9OX0RFRkFVTFQnIHwgb1RyYW5zbGF0ZSB9fVxuICAgICAgPC9zcGFuPlxuICAgICAgPHNwYW4gbWF0TGlzdEl0ZW1MaW5lPnt7ICdUQUJMRS5ESUFMT0cuQVBQTFlfQ09ORklHVVJBVElPTl9ERUZBVUxUX0RFU0NSSVBUSU9OJyB8IG9UcmFuc2xhdGUgfX08L3NwYW4+XG4gICAgPC9tYXQtbGlzdC1vcHRpb24+XG4gICAgPG1hdC1saXN0LW9wdGlvbiBjaGVja2JveFBvc2l0aW9uPVwiYmVmb3JlXCIgKm5nRm9yPVwibGV0IGNvbmZpZ3VyYXRpb24gb2YgY29uZmlndXJhdGlvbnM7IGxldCBpID0gaW5kZXhcIiBbdmFsdWVdPVwiY29uZmlndXJhdGlvbi5uYW1lXCI+XG4gICAgICA8c3BhbiBtYXRMaXN0SXRlbVRpdGxlPnt7IGNvbmZpZ3VyYXRpb24ubmFtZSB9fTwvc3Bhbj5cbiAgICAgIDxzcGFuIG1hdExpc3RJdGVtTGluZT57eyBjb25maWd1cmF0aW9uLmRlc2NyaXB0aW9uIH19PC9zcGFuPlxuICAgIDwvbWF0LWxpc3Qtb3B0aW9uPlxuICA8L21hdC1zZWxlY3Rpb24tbGlzdD5cbjwvbWF0LWRpYWxvZy1jb250ZW50PlxuXG48bWF0LWRpYWxvZy1hY3Rpb25zIGFsaWduPVwiZW5kXCI+XG4gIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIG1hdC1zdHJva2VkLWJ1dHRvbiBbZGlzYWJsZWRdPVwiY29uZmlndXJhdGlvbkxpc3Quc2VsZWN0ZWRPcHRpb25zLnNlbGVjdGVkLmxlbmd0aCE9PTEgfHwgaXNEZWZhdWx0Q29uZmlndXJhdGlvblNlbGVjdGVkKClcIlxuICAgIChjbGljayk9XCJyZW1vdmVDb25maWd1cmF0aW9uKGNvbmZpZ3VyYXRpb25MaXN0LnNlbGVjdGVkT3B0aW9ucy5zZWxlY3RlZFswXS52YWx1ZSlcIiBjbGFzcz1cIm8tYnV0dG9uLWRhbmdlclwiPlxuICAgIHt7ICdERUxFVEUnIHwgb1RyYW5zbGF0ZSB9fVxuICA8L2J1dHRvbj5cbiAgPHNwYW4gZnhGbGV4Pjwvc3Bhbj5cbiAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbWF0LXN0cm9rZWQtYnV0dG9uIFttYXQtZGlhbG9nLWNsb3NlXT1cImZhbHNlXCIgY2xhc3M9XCJvLWJ1dHRvbi1kZWZhdWx0IGNhbmNlbFwiPnt7ICdDQU5DRUwnIHwgb1RyYW5zbGF0ZSB9fTwvYnV0dG9uPlxuICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXQtc3Ryb2tlZC1idXR0b24gW21hdC1kaWFsb2ctY2xvc2VdPVwidHJ1ZVwiIFtkaXNhYmxlZF09XCJjb25maWd1cmF0aW9uTGlzdC5zZWxlY3RlZE9wdGlvbnMuc2VsZWN0ZWQubGVuZ3RoIT09MVwiXG4gICAgY2xhc3M9XCJvLWJ1dHRvbi1wcmltYXJ5XCI+e3sgJ09LJyB8IG9UcmFuc2xhdGUgfX08L2J1dHRvbj5cbjwvbWF0LWRpYWxvZy1hY3Rpb25zPlxuIl19
@@ -165,11 +165,11 @@ export class OTableExportDialogComponent {
165
165
  return this.config.options.find(x => x.exportType === type);
166
166
  }
167
167
  }
168
- OTableExportDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OTableExportDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: i0.Injector }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
169
- OTableExportDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: OTableExportDialogComponent, selector: "o-table-export-dialog", host: { classAttribute: "o-table-export-dialog" }, providers: [
168
+ OTableExportDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OTableExportDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: i0.Injector }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
169
+ OTableExportDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: OTableExportDialogComponent, selector: "o-table-export-dialog", host: { classAttribute: "o-table-export-dialog" }, providers: [
170
170
  OntimizeExportServiceProvider
171
171
  ], ngImport: i0, template: "<span mat-dialog-title>{{ 'TABLE.BUTTONS.EXPORT' | oTranslate }}</span>\n<mat-dialog-content class=\"dialog_content\">\n <div mat-subheader>{{ 'TABLE.DIALOG.EXPORT.DESCRIPTION' | oTranslate }}</div>\n <mat-button-toggle-group class=\"type_toggle_group\" #group=\"matButtonToggleGroup\" [(ngModel)]=\"selectedExportFormat\">\n <ng-container *ngFor=\"let button of exportTypes\">\n <mat-button-toggle [value]=\"button.exportType\" *ngIf=\"isButtonVisible(button.exportType)\" class=\"button.className\">\n <ng-container *ngTemplateOutlet=\"buttonTemplate;context:{button:button}\"></ng-container>\n </mat-button-toggle>\n </ng-container>\n\n <ng-container *ngFor=\"let customButton of config.options\">\n <mat-button-toggle [value]=\"customButton.exportType\">\n <ng-container *ngTemplateOutlet=\"buttonTemplate;context:{button:customButton}\"></ng-container>\n </mat-button-toggle>\n </ng-container>\n </mat-button-toggle-group>\n <mat-expansion-panel class=\"acordion\" [expanded]=\"isExpanded\">\n <mat-expansion-panel-header collapsedHeight=\"32px\" expandedHeight=\"32px\">\n <mat-panel-title>\n {{ 'EXPORT.DIALOG.ADVANCED_OPTIONS' | oTranslate }}\n </mat-panel-title>\n </mat-expansion-panel-header>\n <div class=\"inputs_container\">\n <mat-label class=\"dialog-titles\">{{'EXPORT.DIALOG.FILE_NAME'|oTranslate}}</mat-label>\n <mat-form-field subscriptSizing=\"dynamic\" class=\"filename_input\">\n <input matInput [(ngModel)]=\"filename\" placeholder=\"{{ 'EXPORT.DIALOG.FILE_NAME.PLACEHOLDER' | oTranslate }}\" />\n </mat-form-field>\n <span class=\"dialog-titles\">{{'EXPORT.DIALOG.ORIENTATION'|oTranslate}}</span>\n <mat-radio-group name=\"Orientation\" [(ngModel)]=\"vertical\" fxLayout=\"row\" fxLayoutGap=\"12px\" [disabled]=\"selectedExportFormat !== 'pdf'\">\n <mat-radio-button *ngFor=\"let orientation of orientations\" name=\"Orientation\" [value]=\"orientation.value\"\n [checked]=\"vertical === orientation.value\">\n {{ orientation.text | oTranslate}}\n </mat-radio-button>\n </mat-radio-group>\n <span class=\"dialog-titles\">{{'EXPORT.DIALOG.COLUMNS'|oTranslate}}</span>\n <mat-selection-list dense #columnsList cdkDropList [cdkDropListData]=\"columnsData\" (cdkDropListDropped)=\"dropColumns($event)\" class=\"columns\"\n [(ngModel)]=\"columns\" [compareWith]=\"columnsCompareFunction\">\n <mat-list-option checkboxPosition=\"before\" *ngFor=\"let column of columnsData\" [value]=\"column\" cdkDrag>\n <div fxLayout=\"row\" fxLayoutAlign=\"space-around center\">\n <span matListItemLine fxFlex>\n {{column | oTranslate}}\n </span>\n <mat-icon mat-list-icon class=\"button-edit\">drag_handle</mat-icon>\n </div>\n </mat-list-option>\n </mat-selection-list>\n\n </div>\n </mat-expansion-panel>\n</mat-dialog-content>\n\n<mat-dialog-actions fxLayoutAlign=\"end center\">\n <button type=\"button\" mat-stroked-button [mat-dialog-close]=\"false\" class=\"o-button-default cancel\">{{ 'CANCEL' | oTranslate }}</button>\n <button type=\"button\" mat-stroked-button class=\"export_button\" (click)=\"export()\">\n <mat-icon>ios_share</mat-icon>\n <span>{{ 'EXPORT.DIALOG.EXPORT_BUTTON' | oTranslate }}</span>\n </button>\n</mat-dialog-actions>\n\n<ng-template #buttonTemplate let-button=\"button\">\n <mat-icon class=\"material-icons o-button-icon\" *ngIf=\"button.icon!==undefined\" style=\"vertical-align:middle\">{{ button.icon }}</mat-icon>\n <mat-icon class=\"material-icons o-button-icon\" *ngIf=\"button.svgIcon!==undefined\" style=\"vertical-align:middle\"\n [svgIcon]=\"button.svgIcon\"></mat-icon>\n {{ button.olabel | oTranslate }}\n</ng-template>\n", styles: [".o-table-export-dialog .mat-mdc-raised-button{height:initial}.o-table-export-dialog .mat-mdc-raised-button .mdc-button__label{line-height:initial}.o-table-export-dialog mat-selection-list{margin-bottom:20px}.o-table-export-dialog .filename_input{margin-top:10px;display:flex;margin-bottom:20px}.o-table-export-dialog mat-radio-group{margin-top:10px;margin-bottom:20px}.o-table-export-dialog span.dialog-titles{font-weight:500}.o-table-export-dialog .acordion.mat-expansion-panel{box-shadow:none}.o-table-export-dialog .acordion.mat-expansion-panel .mat-expansion-panel-body{padding:0}.o-table-export-dialog .mat-expansion-panel-header:not([aria-disabled=true]){border-bottom:1px solid rgba(0,0,0,.16)}.o-table-export-dialog .mat-expansion-panel-header{border-radius:initial;margin-bottom:10px}.o-table-export-dialog .dialog_content{display:flex;flex-direction:column;height:100%;padding-bottom:0}.o-table-export-dialog .acordion{flex-grow:1;max-height:100%}.o-table-export-dialog .acordion.mat-expansion-panel.mat-expanded{overflow-y:auto}.o-table-export-dialog mat-expanded .inputs-container{max-height:100%;overflow-y:auto}.o-table-export-dialog .type_toggle_group{margin-bottom:20px;overflow:visible}.o-table-export-dialog .type_toggle_group .mat-button-toggle{flex:1}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i3.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i3.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i3.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i6.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { kind: "component", type: i6.MatButtonToggle, selector: "mat-button-toggle", inputs: ["disableRipple", "aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "appearance", "checked", "disabled"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { kind: "directive", type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: i7.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["disabled", "expanded", "hideToggle", "togglePosition"], outputs: ["opened", "closed", "expandedChange", "afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i7.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["tabIndex", "expandedHeight", "collapsedHeight"] }, { kind: "directive", type: i7.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i9.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i10.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i10.MatLabel, selector: "mat-label" }, { kind: "component", type: i11.MatSelectionList, selector: "mat-selection-list", inputs: ["color", "compareWith", "multiple", "hideSingleSelectionIndicator", "disabled"], outputs: ["selectionChange"], exportAs: ["matSelectionList"] }, { kind: "component", type: i11.MatListOption, selector: "mat-list-option", inputs: ["togglePosition", "checkboxPosition", "color", "value", "selected"], outputs: ["selectedChange"], exportAs: ["matListOption"] }, { kind: "directive", type: i11.MatListSubheaderCssMatStyler, selector: "[mat-subheader], [matSubheader]" }, { kind: "directive", type: i11.MatListItemLine, selector: "[matListItemLine]" }, { kind: "directive", type: i12.MatRadioGroup, selector: "mat-radio-group", exportAs: ["matRadioGroup"] }, { kind: "component", type: i12.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }, { kind: "directive", type: i13.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i13.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "pipe", type: i14.OTranslatePipe, name: "oTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
172
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OTableExportDialogComponent, decorators: [{
172
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OTableExportDialogComponent, decorators: [{
173
173
  type: Component,
174
174
  args: [{ selector: 'o-table-export-dialog', providers: [
175
175
  OntimizeExportServiceProvider
@@ -180,4 +180,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
180
180
  type: Inject,
181
181
  args: [MAT_DIALOG_DATA]
182
182
  }] }]; } });
183
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby10YWJsZS1leHBvcnQtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlL2V4dGVuc2lvbnMvZGlhbG9nL2V4cG9ydC9vLXRhYmxlLWV4cG9ydC1kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb250aW1pemUtd2ViLW5neC9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUvZXh0ZW5zaW9ucy9kaWFsb2cvZXhwb3J0L28tdGFibGUtZXhwb3J0LWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQXFCLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNILE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFN0QsT0FBTyxFQUFlLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXRFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUMxRixPQUFPLEVBQUUsS0FBSyxFQUFFLE1B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SUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7U0FDbEY7SUFDSCxDQUFDO0lBRUQsNEJBQTRCLENBQUMsS0FBNEI7UUFDdkQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUNuRCxJQUFJLENBQUMsb0JBQW9CLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztJQUMxQyxDQUFDO0lBRUQscUJBQXFCLENBQUMsSUFBWTtRQUNoQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLEtBQUssSUFBSSxDQUFDLENBQUM7SUFDOUQsQ0FBQzs7d0hBdktVLDJCQUEyQixzRUF3QzVCLGVBQWU7NEdBeENkLDJCQUEyQixtR0FUM0I7UUFDVCw2QkFBNkI7S0FDOUIsMEJDeEJILGd3SEFpRUE7MkZEbENhLDJCQUEyQjtrQkFidkMsU0FBUzsrQkFDRSx1QkFBdUIsYUFHdEI7d0JBQ1QsNkJBQTZCO3FCQUM5QixtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTSxRQUN6Qzt3QkFDSixLQUFLLEVBQUUsdUJBQXVCO3FCQUMvQixpQkFDYyxpQkFBaUIsQ0FBQyxJQUFJOzswQkEwQ2xDLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5qZWN0LCBJbmplY3RvciwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFwcENvbmZpZyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvbmZpZy9hcHAtY29uZmlnJztcblxuaW1wb3J0IHsgQ2RrRHJhZ0Ryb3AsIG1vdmVJdGVtSW5BcnJheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHsgSUV4cG9ydFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9pbnRlcmZhY2VzL2V4cG9ydC1zZXJ2aWNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBPbnRpbWl6ZUV4cG9ydFNlcnZpY2VQcm92aWRlciB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NlcnZpY2VzL2ZhY3Rvcmllcyc7XG5pbXBvcnQgeyBPbnRpbWl6ZUV4cG9ydFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlcy9vbnRpbWl6ZS9vbnRpbWl6ZS1leHBvcnQuc2VydmljZSc7XG5pbXBvcnQgeyBTbmFja0JhclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlcy9zbmFja2Jhci5zZXJ2aWNlJztcbmltcG9ydCB7IE9UcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc2VydmljZXMvdHJhbnNsYXRlL28tdHJhbnNsYXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29kZXMgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi91dGlsL2NvZGVzJztcbmltcG9ydCB7IFV0aWwgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi91dGlsL3V0aWwnO1xuaW1wb3J0IHsgT1RhYmxlRXhwb3J0QnV0dG9uU2VydmljZSB9IGZyb20gJy4uLy4uL2V4cG9ydC1idXR0b24vby10YWJsZS1leHBvcnQtYnV0dG9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgT1RhYmxlRXhwb3J0Q29uZmlndXJhdGlvbiB9IGZyb20gJy4uLy4uL2hlYWRlci90YWJsZS1tZW51L28tdGFibGUtZXhwb3J0LWNvbmZpZ3VyYXRpb24uY2xhc3MnO1xuaW1wb3J0IHsgTWF0QnV0dG9uVG9nZ2xlQ2hhbmdlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uLXRvZ2dsZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ28tdGFibGUtZXhwb3J0LWRpYWxvZycsXG4gIHRlbXBsYXRlVXJsOiAnby10YWJsZS1leHBvcnQtZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ28tdGFibGUtZXhwb3J0LWRpYWxvZy5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICBPbnRpbWl6ZUV4cG9ydFNlcnZpY2VQcm92aWRlclxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnby10YWJsZS1leHBvcnQtZGlhbG9nJ1xuICB9LFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIE9UYWJsZUV4cG9ydERpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBwcm90ZWN0ZWQgc25hY2tCYXJTZXJ2aWNlOiBTbmFja0JhclNlcnZpY2U7XG4gIHByb3RlY3RlZCBleHBvcnRTZXJ2aWNlOiBJRXhwb3J0U2VydmljZTtcbiAgcHJvdGVjdGVkIHRyYW5zbGF0ZVNlcnZpY2U6IE9UcmFuc2xhdGVTZXJ2aWNlO1xuICBwcm90ZWN0ZWQgb1RhYmxlRXhwb3J0QnV0dG9uU2VydmljZTogT1RhYmxlRXhwb3J0QnV0dG9uU2VydmljZTtcbiAgcHJvdGVjdGVkIHZpc2libGVCdXR0b25zOiBzdHJpbmdbXTtcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcbiAgcHJpdmF0ZSBhcHBDb25maWc6IEFwcENvbmZpZztcbiAgY29sdW1uczogc3RyaW5nW107XG4gIGNvbHVtbnNEYXRhOiBzdHJpbmdbXTtcbiAgcHVibGljIG9yaWVudGF0aW9ucyA9IFt7IHRleHQ6IFwiRVhQT1JULkRJQUxPRy5WRVJUSUNBTFwiLCB2YWx1ZTogdHJ1ZSB9LCB7IHRleHQ6IFwiRVhQT1JULkRJQUxPRy5IT1JJWk9OVEFMXCIsIHZhbHVlOiBmYWxzZSB9XTtcbiAgcHVibGljIGV4cG9ydFR5cGVzID0gW3tcbiAgICBleHBvcnRUeXBlOiAneGxzeCcsXG4gICAgc3ZnSWNvbjogJ29udGltaXplOkVYQ0VMJyxcbiAgICBvbGFiZWw6ICdUQUJMRS5CVVRUT05TLkVYQ0VMJyxcbiAgICBjbGFzc05hbWU6ICdleGNlbC1idXR0b24nXG4gIH0sIHtcbiAgICBleHBvcnRUeXBlOiAnaHRtbCcsXG4gICAgc3ZnSWNvbjogJ29udGltaXplOkhUTUwnLFxuICAgIG9sYWJlbDogJ1RBQkxFLkJVVFRPTlMuSFRNTCcsXG4gICAgY2xhc3NOYW1lOiAnaHRtbC1idXR0b24nXG4gIH0sIHtcbiAgICBleHBvcnRUeXBlOiAncGRmJyxcbiAgICBzdmdJY29uOiAnb250aW1pemU6UERGJyxcbiAgICBvbGFiZWw6ICdUQUJMRS5CVVRUT05TLlBERicsXG4gICAgY2xhc3NOYW1lOiAncGRmLWJ1dHRvbidcbiAgfSwge1xuICAgIGV4cG9ydFR5cGU6ICdjc3YnLFxuICAgIHN2Z0ljb246ICdvbnRpbWl6ZTpDU1YnLFxuICAgIG9sYWJlbDogJ1RBQkxFLkJVVFRPTlMuQ1NWJyxcbiAgICBjbGFzc05hbWU6ICdjc3YtYnV0dG9uJ1xuICB9XTtcbiAgdmVydGljYWw6IGJvb2xlYW4gPSB0cnVlO1xuICBzZWxlY3RlZEV4cG9ydEZvcm1hdDogc3RyaW5nO1xuICBmaWxlbmFtZTogc3RyaW5nID0gJyc7XG4gIGlzRXhwYW5kZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPE9UYWJsZUV4cG9ydERpYWxvZ0NvbXBvbmVudD4sXG4gICAgcHJvdGVjdGVkIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGNvbmZpZzogT1RhYmxlRXhwb3J0Q29uZmlndXJhdGlvblxuICApIHtcbiAgICB0aGlzLnNuYWNrQmFyU2VydmljZSA9IGluamVjdG9yLmdldChTbmFja0JhclNlcnZpY2UpO1xuICAgIHRoaXMudHJhbnNsYXRlU2VydmljZSA9IHRoaXMuaW5qZWN0b3IuZ2V0KE9UcmFuc2xhdGVTZXJ2aWNlKTtcbiAgICB0aGlzLm9UYWJsZUV4cG9ydEJ1dHRvblNlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldChPVGFibGVFeHBvcnRCdXR0b25TZXJ2aWNlKTtcbiAgICB0aGlzLmFwcENvbmZpZyA9IHRoaXMuaW5qZWN0b3IuZ2V0KEFwcENvbmZpZyk7XG4gICAgdGhpcy5zZWxlY3RlZEV4cG9ydEZvcm1hdCA9IHRoaXMuZ2V0RGVmYXVsdFNlbGVjdGlvbigpO1xuXG4gICAgaWYgKGNvbmZpZyAmJiBVdGlsLmlzRGVmaW5lZChjb25maWcudmlzaWJsZUJ1dHRvbnMpKSB7XG4gICAgICB0aGlzLnZpc2libGVCdXR0b25zID0gVXRpbC5wYXJzZUFycmF5KGNvbmZpZy52aXNpYmxlQnV0dG9ucy50b0xvd2VyQ2FzZSgpLCB0cnVlKTtcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmluaXRpYWxpemUoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBpbml0aWFsaXplKCk6IHZvaWQge1xuICAgIHRoaXMuY29sdW1uc0RhdGEgPSB0aGlzLmNvbmZpZy5jb2x1bW5zO1xuICAgIHRoaXMuY29sdW1ucyA9IFsuLi50aGlzLmNvbHVtbnNEYXRhXTtcbiAgICB0aGlzLmNvbmZpZ3VyZVNlcnZpY2UoKTtcbiAgfVxuXG4gIGNvbmZpZ3VyZVNlcnZpY2UoKTogdm9pZCB7XG4gICAgbGV0IGxvYWRpbmdTZXJ2aWNlOiBhbnkgPSBPbnRpbWl6ZUV4cG9ydFNlcnZpY2U7XG4gICAgaWYgKHRoaXMuY29uZmlnLnNlcnZpY2VUeXBlKSB7XG4gICAgICBsb2FkaW5nU2VydmljZSA9IHRoaXMuY29uZmlnLnNlcnZpY2VUeXBlO1xuICAgIH1cbiAgICB0aGlzLmV4cG9ydFNlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldChsb2FkaW5nU2VydmljZSk7XG4gICAgY29uc3Qgc2VydmljZUNmZyA9IHRoaXMuZXhwb3J0U2VydmljZS5nZXREZWZhdWx0U2VydmljZUNvbmZpZ3VyYXRpb24odGhpcy5jb25maWcuc2VydmljZSk7XG4gICAgdGhpcy5leHBvcnRTZXJ2aWNlLmNvbmZpZ3VyZVNlcnZpY2Uoc2VydmljZUNmZyk7XG4gIH1cbiAgdXBkYXRlQ29sdW1uc1NvcnQoKSB7XG4gICAgdGhpcy5jb2x1bW5zLnNvcnQoKGE6IGFueSwgYjogYW55KSA9PiB7XG4gICAgICBsZXQgaW5kZXhBID0gdGhpcy5jb2x1bW5zRGF0YS5maW5kSW5kZXgoeCA9PiB4ID09PSBhKTtcbiAgICAgIGxldCBpbmRleEIgPSB0aGlzLmNvbHVtbnNEYXRhLmZpbmRJbmRleCh4ID0+IHggPT09IGIpO1xuICAgICAgcmV0dXJuIGluZGV4QSAtIGluZGV4QjtcbiAgICB9KTtcbiAgfVxuXG4gIGRyb3BDb2x1bW5zKGV2ZW50OiBDZGtEcmFnRHJvcDxzdHJpbmdbXT4pIHtcbiAgICBtb3ZlSXRlbUluQXJyYXkodGhpcy5jb2x1bW5zRGF0YSwgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcbiAgICB0aGlzLnVwZGF0ZUNvbHVtbnNTb3J0KCk7XG4gIH1cblxuICBjb2x1bW5zQ29tcGFyZUZ1bmN0aW9uKGNvMTogYW55LCBjbzI6IGFueSkge1xuICAgIHJldHVybiBjbzEuaWQgPT09IGNvMi5pZDtcbiAgfVxuXG4gIGV4cG9ydCgpOiB2b2lkIHtcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh0cnVlKTtcblxuICAgIGNvbnN0IGV4cG9ydEZ1bmN0aW9uID0gdGhpcy5nZXRDdXN0b21FeHBvcnRCdXR0b24odGhpcy5zZWxlY3RlZEV4cG9ydEZvcm1hdCk/LmV4cG9ydEZ1bmN0aW9uO1xuXG4gICAgaWYgKGV4cG9ydEZ1bmN0aW9uKSB7XG4gICAgICBleHBvcnRGdW5jdGlvbih0aGlzLmNvbHVtbnMsICF0aGlzLnZlcnRpY2FsLCB0aGlzLmZpbGVuYW1lKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBvbkNsaWNrRXZlbnQgPSB0aGlzLmdldEN1c3RvbUV4cG9ydEJ1dHRvbih0aGlzLnNlbGVjdGVkRXhwb3J0Rm9ybWF0KT8ub25DbGljaztcbiAgICBpZiAob25DbGlja0V2ZW50Py5vYnNlcnZlcnM/Lmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgJ+KaoO+4jyBbREVQUkVDQVRFRF0gVGhlIG9uQ2xpY2sgZXZlbnQgaXMgZGVwcmVjYXRlZC4gVXNlIHRoZSBpbnB1dCBleHBvcnQtZnVuY3Rpb24gaW5zdGVhZC4nXG4gICAgICApO1xuICAgICAgdGhpcy5nZXRDdXN0b21FeHBvcnRCdXR0b24odGhpcy5zZWxlY3RlZEV4cG9ydEZvcm1hdCk/Lm9uQ2xpY2suZW1pdCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuXG4gICAgdGhpcy5leHBvcnRTZXJ2aWNlLmV4cG9ydERhdGEodGhpcy5zZWxlY3RlZEV4cG9ydEZvcm1hdCwgdGhpcy5jb2x1bW5zLCAhdGhpcy52ZXJ0aWNhbCwgdGhpcy5maWxlbmFtZSkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6ICgpID0+IHtcbiAgICAgICAgdGhpcy5zbmFja0JhclNlcnZpY2Uub3BlbignTUVTU0FHRVMuU1VDQ0VTU19FWFBPUlRfVEFCTEVfREFUQScsIHsgaWNvbjogJ2NoZWNrX2NpcmNsZScgfSk7XG4gICAgICB9LFxuICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLmhhbmRsZUVycm9yKGVycik7XG4gICAgICB9XG4gICAgfVxuICAgICk7XG4gIH1cblxuICBpc0J1dHRvblZpc2libGUoYnRuOiBzdHJpbmcpOiBib29sZWFuIHtcblxuICAgIGNvbnN0IHVzZUV4cG9ydENvbmZpZ3VyYXRpb24zWCA9IHRoaXMuYXBwQ29uZmlnLnVzZUV4cG9ydENvbmZpZ3VyYXRpb24oKTtcbiAgICBsZXQgaXNWaXNpYmxlID0gdHJ1ZTtcbiAgICBpZiAodGhpcy52aXNpYmxlQnV0dG9ucykge1xuICAgICAgaXNWaXNpYmxlID0gdGhpcy52aXNpYmxlQnV0dG9ucy5pbmRleE9mKGJ0bikgIT09IC0xO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodXNlRXhwb3J0Q29uZmlndXJhdGlvbjNYKSB7XG4gICAgICAgIGlzVmlzaWJsZSA9IENvZGVzLlZJU0lCTEVfRVhQT1JUX0JVVFRPTlMzWC5pbmRleE9mKGJ0bikgIT09IC0xO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaXNWaXNpYmxlID0gQ29kZXMuVklTSUJMRV9FWFBPUlRfQlVUVE9OUy5pbmRleE9mKGJ0bikgIT09IC0xXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGlzVmlzaWJsZTtcbiAgfVxuXG4gIGdldERlZmF1bHRTZWxlY3Rpb24oKSB7XG4gICAgY29uc3QgdXNlRXhwb3J0Q29uZmlndXJhdGlvbjNYID0gdGhpcy5hcHBDb25maWcudXNlRXhwb3J0Q29uZmlndXJhdGlvbigpO1xuXG4gICAgaWYgKHVzZUV4cG9ydENvbmZpZ3VyYXRpb24zWCkge1xuICAgICAgcmV0dXJuIENvZGVzLlZJU0lCTEVfRVhQT1JUX0JVVFRPTlMzWFswXTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIENvZGVzLlZJU0lCTEVfRVhQT1JUX0JVVFRPTlNbMF07XG4gICAgfVxuXG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlRXJyb3IoZXJyKTogdm9pZCB7XG4gICAgaWYgKGVyciBpbnN0YW5jZW9mIEh0dHBFcnJvclJlc3BvbnNlKSB7XG4gICAgICB0aGlzLnNuYWNrQmFyU2VydmljZS5vcGVuKGVyci5tZXNzYWdlLCB7IGljb246ICdlcnJvcicgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc25hY2tCYXJTZXJ2aWNlLm9wZW4oJ01FU1NBR0VTLkVSUk9SX0VYUE9SVF9UQUJMRV9EQVRBJywgeyBpY29uOiAnZXJyb3InIH0pO1xuICAgIH1cbiAgfVxuXG4gIG9uQ2hhbmdlTWF0QnV0dG9uVG9nZ2xlR3JvdXAoZXZlbnQ6IE1hdEJ1dHRvblRvZ2dsZUNoYW5nZSkge1xuICAgIGV2ZW50LnNvdXJjZS5idXR0b25Ub2dnbGVHcm91cC52YWx1ZSA9IGV2ZW50LnZhbHVlO1xuICAgIHRoaXMuc2VsZWN0ZWRFeHBvcnRGb3JtYXQgPSBldmVudC52YWx1ZTtcbiAgfVxuXG4gIGdldEN1c3RvbUV4cG9ydEJ1dHRvbih0eXBlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5jb25maWcub3B0aW9ucy5maW5kKHggPT4geC5leHBvcnRUeXBlID09PSB0eXBlKTtcbiAgfVxufVxuIiwiPHNwYW4gbWF0LWRpYWxvZy10aXRsZT57eyAnVEFCTEUuQlVUVE9OUy5FWFBPUlQnIHwgb1RyYW5zbGF0ZSB9fTwvc3Bhbj5cbjxtYXQtZGlhbG9nLWNvbnRlbnQgY2xhc3M9XCJkaWFsb2dfY29udGVudFwiPlxuICA8ZGl2IG1hdC1zdWJoZWFkZXI+e3sgJ1RBQkxFLkRJQUxPRy5FWFBPUlQuREVTQ1JJUFRJT04nIHwgb1RyYW5zbGF0ZSB9fTwvZGl2PlxuICA8bWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXAgY2xhc3M9XCJ0eXBlX3RvZ2dsZV9ncm91cFwiICNncm91cD1cIm1hdEJ1dHRvblRvZ2dsZUdyb3VwXCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZEV4cG9ydEZvcm1hdFwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGJ1dHRvbiBvZiBleHBvcnRUeXBlc1wiPlxuICAgICAgPG1hdC1idXR0b24tdG9nZ2xlIFt2YWx1ZV09XCJidXR0b24uZXhwb3J0VHlwZVwiICpuZ0lmPVwiaXNCdXR0b25WaXNpYmxlKGJ1dHRvbi5leHBvcnRUeXBlKVwiIGNsYXNzPVwiYnV0dG9uLmNsYXNzTmFtZVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYnV0dG9uVGVtcGxhdGU7Y29udGV4dDp7YnV0dG9uOmJ1dHRvbn1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbWF0LWJ1dHRvbi10b2dnbGU+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjdXN0b21CdXR0b24gb2YgY29uZmlnLm9wdGlvbnNcIj5cbiAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZSBbdmFsdWVdPVwiY3VzdG9tQnV0dG9uLmV4cG9ydFR5cGVcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImJ1dHRvblRlbXBsYXRlO2NvbnRleHQ6e2J1dHRvbjpjdXN0b21CdXR0b259XCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L21hdC1idXR0b24tdG9nZ2xlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L21hdC1idXR0b24tdG9nZ2xlLWdyb3VwPlxuICA8bWF0LWV4cGFuc2lvbi1wYW5lbCBjbGFzcz1cImFjb3JkaW9uXCIgW2V4cGFuZGVkXT1cImlzRXhwYW5kZWRcIj5cbiAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIgY29sbGFwc2VkSGVpZ2h0PVwiMzJweFwiIGV4cGFuZGVkSGVpZ2h0PVwiMzJweFwiPlxuICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAge3sgJ0VYUE9SVC5ESUFMT0cuQURWQU5DRURfT1BUSU9OUycgfCBvVHJhbnNsYXRlIH19XG4gICAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgIDxkaXYgY2xhc3M9XCJpbnB1dHNfY29udGFpbmVyXCI+XG4gICAgICA8bWF0LWxhYmVsIGNsYXNzPVwiZGlhbG9nLXRpdGxlc1wiPnt7J0VYUE9SVC5ESUFMT0cuRklMRV9OQU1FJ3xvVHJhbnNsYXRlfX08L21hdC1sYWJlbD5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCIgY2xhc3M9XCJmaWxlbmFtZV9pbnB1dFwiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgWyhuZ01vZGVsKV09XCJmaWxlbmFtZVwiIHBsYWNlaG9sZGVyPVwie3sgJ0VYUE9SVC5ESUFMT0cuRklMRV9OQU1FLlBMQUNFSE9MREVSJyB8IG9UcmFuc2xhdGUgfX1cIiAvPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDxzcGFuIGNsYXNzPVwiZGlhbG9nLXRpdGxlc1wiPnt7J0VYUE9SVC5ESUFMT0cuT1JJRU5UQVRJT04nfG9UcmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgIDxtYXQtcmFkaW8tZ3JvdXAgbmFtZT1cIk9yaWVudGF0aW9uXCIgWyhuZ01vZGVsKV09XCJ2ZXJ0aWNhbFwiIGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRHYXA9XCIxMnB4XCIgW2Rpc2FibGVkXT1cInNlbGVjdGVkRXhwb3J0Rm9ybWF0ICE9PSAncGRmJ1wiPlxuICAgICAgICA8bWF0LXJhZGlvLWJ1dHRvbiAqbmdGb3I9XCJsZXQgb3JpZW50YXRpb24gb2Ygb3JpZW50YXRpb25zXCIgbmFtZT1cIk9yaWVudGF0aW9uXCIgW3ZhbHVlXT1cIm9yaWVudGF0aW9uLnZhbHVlXCJcbiAgICAgICAgICBbY2hlY2tlZF09XCJ2ZXJ0aWNhbCA9PT0gb3JpZW50YXRpb24udmFsdWVcIj5cbiAgICAgICAgICB7eyBvcmllbnRhdGlvbi50ZXh0IHwgb1RyYW5zbGF0ZX19XG4gICAgICAgIDwvbWF0LXJhZGlvLWJ1dHRvbj5cbiAgICAgIDwvbWF0LXJhZGlvLWdyb3VwPlxuICAgICAgPHNwYW4gY2xhc3M9XCJkaWFsb2ctdGl0bGVzXCI+e3snRVhQT1JULkRJQUxPRy5DT0xVTU5TJ3xvVHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICA8bWF0LXNlbGVjdGlvbi1saXN0IGRlbnNlICNjb2x1bW5zTGlzdCBjZGtEcm9wTGlzdCBbY2RrRHJvcExpc3REYXRhXT1cImNvbHVtbnNEYXRhXCIgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJkcm9wQ29sdW1ucygkZXZlbnQpXCIgY2xhc3M9XCJjb2x1bW5zXCJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJjb2x1bW5zXCIgW2NvbXBhcmVXaXRoXT1cImNvbHVtbnNDb21wYXJlRnVuY3Rpb25cIj5cbiAgICAgICAgPG1hdC1saXN0LW9wdGlvbiBjaGVja2JveFBvc2l0aW9uPVwiYmVmb3JlXCIgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBjb2x1bW5zRGF0YVwiIFt2YWx1ZV09XCJjb2x1bW5cIiBjZGtEcmFnPlxuICAgICAgICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwic3BhY2UtYXJvdW5kIGNlbnRlclwiPlxuICAgICAgICAgICAgPHNwYW4gbWF0TGlzdEl0ZW1MaW5lIGZ4RmxleD5cbiAgICAgICAgICAgICAge3tjb2x1bW4gfCBvVHJhbnNsYXRlfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBtYXQtbGlzdC1pY29uIGNsYXNzPVwiYnV0dG9uLWVkaXRcIj5kcmFnX2hhbmRsZTwvbWF0LWljb24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbWF0LWxpc3Qtb3B0aW9uPlxuICAgICAgPC9tYXQtc2VsZWN0aW9uLWxpc3Q+XG5cbiAgICA8L2Rpdj5cbiAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuPC9tYXQtZGlhbG9nLWNvbnRlbnQ+XG5cbjxtYXQtZGlhbG9nLWFjdGlvbnMgZnhMYXlvdXRBbGlnbj1cImVuZCBjZW50ZXJcIj5cbiAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbWF0LXN0cm9rZWQtYnV0dG9uIFttYXQtZGlhbG9nLWNsb3NlXT1cImZhbHNlXCIgY2xhc3M9XCJvLWJ1dHRvbi1kZWZhdWx0IGNhbmNlbFwiPnt7ICdDQU5DRUwnIHwgb1RyYW5zbGF0ZSB9fTwvYnV0dG9uPlxuICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXQtc3Ryb2tlZC1idXR0b24gY2xhc3M9XCJleHBvcnRfYnV0dG9uXCIgKGNsaWNrKT1cImV4cG9ydCgpXCI+XG4gICAgPG1hdC1pY29uPmlvc19zaGFyZTwvbWF0LWljb24+XG4gICAgPHNwYW4+e3sgJ0VYUE9SVC5ESUFMT0cuRVhQT1JUX0JVVFRPTicgfCBvVHJhbnNsYXRlIH19PC9zcGFuPlxuICA8L2J1dHRvbj5cbjwvbWF0LWRpYWxvZy1hY3Rpb25zPlxuXG48bmctdGVtcGxhdGUgI2J1dHRvblRlbXBsYXRlIGxldC1idXR0b249XCJidXR0b25cIj5cbiAgPG1hdC1pY29uIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMgby1idXR0b24taWNvblwiICpuZ0lmPVwiYnV0dG9uLmljb24hPT11bmRlZmluZWRcIiBzdHlsZT1cInZlcnRpY2FsLWFsaWduOm1pZGRsZVwiPnt7IGJ1dHRvbi5pY29uIH19PC9tYXQtaWNvbj5cbiAgPG1hdC1pY29uIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMgby1idXR0b24taWNvblwiICpuZ0lmPVwiYnV0dG9uLnN2Z0ljb24hPT11bmRlZmluZWRcIiBzdHlsZT1cInZlcnRpY2FsLWFsaWduOm1pZGRsZVwiXG4gICAgW3N2Z0ljb25dPVwiYnV0dG9uLnN2Z0ljb25cIj48L21hdC1pY29uPlxuICB7eyBidXR0b24ub2xhYmVsIHwgb1RyYW5zbGF0ZSB9fVxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
183
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby10YWJsZS1leHBvcnQtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlL2V4dGVuc2lvbnMvZGlhbG9nL2V4cG9ydC9vLXRhYmxlLWV4cG9ydC1kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb250aW1pemUtd2ViLW5neC9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUvZXh0ZW5zaW9ucy9kaWFsb2cvZXhwb3J0L28tdGFibGUtZXhwb3J0LWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQXFCLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNILE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFN0QsT0FBTyxFQUFlLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXRFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUMxRixPQUFPLEVBQUUsS0FBSyxFQUFFLE1B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SUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7U0FDbEY7SUFDSCxDQUFDO0lBRUQsNEJBQTRCLENBQUMsS0FBNEI7UUFDdkQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUNuRCxJQUFJLENBQUMsb0JBQW9CLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztJQUMxQyxDQUFDO0lBRUQscUJBQXFCLENBQUMsSUFBWTtRQUNoQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLEtBQUssSUFBSSxDQUFDLENBQUM7SUFDOUQsQ0FBQzs7eUhBdktVLDJCQUEyQixzRUF3QzVCLGVBQWU7NkdBeENkLDJCQUEyQixtR0FUM0I7UUFDVCw2QkFBNkI7S0FDOUIsMEJDeEJILGd3SEFpRUE7NEZEbENhLDJCQUEyQjtrQkFidkMsU0FBUzsrQkFDRSx1QkFBdUIsYUFHdEI7d0JBQ1QsNkJBQTZCO3FCQUM5QixtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTSxRQUN6Qzt3QkFDSixLQUFLLEVBQUUsdUJBQXVCO3FCQUMvQixpQkFDYyxpQkFBaUIsQ0FBQyxJQUFJOzswQkEwQ2xDLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5qZWN0LCBJbmplY3RvciwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFwcENvbmZpZyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvbmZpZy9hcHAtY29uZmlnJztcblxuaW1wb3J0IHsgQ2RrRHJhZ0Ryb3AsIG1vdmVJdGVtSW5BcnJheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHsgSUV4cG9ydFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9pbnRlcmZhY2VzL2V4cG9ydC1zZXJ2aWNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBPbnRpbWl6ZUV4cG9ydFNlcnZpY2VQcm92aWRlciB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NlcnZpY2VzL2ZhY3Rvcmllcyc7XG5pbXBvcnQgeyBPbnRpbWl6ZUV4cG9ydFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlcy9vbnRpbWl6ZS9vbnRpbWl6ZS1leHBvcnQuc2VydmljZSc7XG5pbXBvcnQgeyBTbmFja0JhclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlcy9zbmFja2Jhci5zZXJ2aWNlJztcbmltcG9ydCB7IE9UcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc2VydmljZXMvdHJhbnNsYXRlL28tdHJhbnNsYXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29kZXMgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi91dGlsL2NvZGVzJztcbmltcG9ydCB7IFV0aWwgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi91dGlsL3V0aWwnO1xuaW1wb3J0IHsgT1RhYmxlRXhwb3J0QnV0dG9uU2VydmljZSB9IGZyb20gJy4uLy4uL2V4cG9ydC1idXR0b24vby10YWJsZS1leHBvcnQtYnV0dG9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgT1RhYmxlRXhwb3J0Q29uZmlndXJhdGlvbiB9IGZyb20gJy4uLy4uL2hlYWRlci90YWJsZS1tZW51L28tdGFibGUtZXhwb3J0LWNvbmZpZ3VyYXRpb24uY2xhc3MnO1xuaW1wb3J0IHsgTWF0QnV0dG9uVG9nZ2xlQ2hhbmdlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uLXRvZ2dsZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ28tdGFibGUtZXhwb3J0LWRpYWxvZycsXG4gIHRlbXBsYXRlVXJsOiAnby10YWJsZS1leHBvcnQtZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ28tdGFibGUtZXhwb3J0LWRpYWxvZy5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICBPbnRpbWl6ZUV4cG9ydFNlcnZpY2VQcm92aWRlclxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnby10YWJsZS1leHBvcnQtZGlhbG9nJ1xuICB9LFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIE9UYWJsZUV4cG9ydERpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBwcm90ZWN0ZWQgc25hY2tCYXJTZXJ2aWNlOiBTbmFja0JhclNlcnZpY2U7XG4gIHByb3RlY3RlZCBleHBvcnRTZXJ2aWNlOiBJRXhwb3J0U2VydmljZTtcbiAgcHJvdGVjdGVkIHRyYW5zbGF0ZVNlcnZpY2U6IE9UcmFuc2xhdGVTZXJ2aWNlO1xuICBwcm90ZWN0ZWQgb1RhYmxlRXhwb3J0QnV0dG9uU2VydmljZTogT1RhYmxlRXhwb3J0QnV0dG9uU2VydmljZTtcbiAgcHJvdGVjdGVkIHZpc2libGVCdXR0b25zOiBzdHJpbmdbXTtcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcbiAgcHJpdmF0ZSBhcHBDb25maWc6IEFwcENvbmZpZztcbiAgY29sdW1uczogc3RyaW5nW107XG4gIGNvbHVtbnNEYXRhOiBzdHJpbmdbXTtcbiAgcHVibGljIG9yaWVudGF0aW9ucyA9IFt7IHRleHQ6IFwiRVhQT1JULkRJQUxPRy5WRVJUSUNBTFwiLCB2YWx1ZTogdHJ1ZSB9LCB7IHRleHQ6IFwiRVhQT1JULkRJQUxPRy5IT1JJWk9OVEFMXCIsIHZhbHVlOiBmYWxzZSB9XTtcbiAgcHVibGljIGV4cG9ydFR5cGVzID0gW3tcbiAgICBleHBvcnRUeXBlOiAneGxzeCcsXG4gICAgc3ZnSWNvbjogJ29udGltaXplOkVYQ0VMJyxcbiAgICBvbGFiZWw6ICdUQUJMRS5CVVRUT05TLkVYQ0VMJyxcbiAgICBjbGFzc05hbWU6ICdleGNlbC1idXR0b24nXG4gIH0sIHtcbiAgICBleHBvcnRUeXBlOiAnaHRtbCcsXG4gICAgc3ZnSWNvbjogJ29udGltaXplOkhUTUwnLFxuICAgIG9sYWJlbDogJ1RBQkxFLkJVVFRPTlMuSFRNTCcsXG4gICAgY2xhc3NOYW1lOiAnaHRtbC1idXR0b24nXG4gIH0sIHtcbiAgICBleHBvcnRUeXBlOiAncGRmJyxcbiAgICBzdmdJY29uOiAnb250aW1pemU6UERGJyxcbiAgICBvbGFiZWw6ICdUQUJMRS5CVVRUT05TLlBERicsXG4gICAgY2xhc3NOYW1lOiAncGRmLWJ1dHRvbidcbiAgfSwge1xuICAgIGV4cG9ydFR5cGU6ICdjc3YnLFxuICAgIHN2Z0ljb246ICdvbnRpbWl6ZTpDU1YnLFxuICAgIG9sYWJlbDogJ1RBQkxFLkJVVFRPTlMuQ1NWJyxcbiAgICBjbGFzc05hbWU6ICdjc3YtYnV0dG9uJ1xuICB9XTtcbiAgdmVydGljYWw6IGJvb2xlYW4gPSB0cnVlO1xuICBzZWxlY3RlZEV4cG9ydEZvcm1hdDogc3RyaW5nO1xuICBmaWxlbmFtZTogc3RyaW5nID0gJyc7XG4gIGlzRXhwYW5kZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPE9UYWJsZUV4cG9ydERpYWxvZ0NvbXBvbmVudD4sXG4gICAgcHJvdGVjdGVkIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGNvbmZpZzogT1RhYmxlRXhwb3J0Q29uZmlndXJhdGlvblxuICApIHtcbiAgICB0aGlzLnNuYWNrQmFyU2VydmljZSA9IGluamVjdG9yLmdldChTbmFja0JhclNlcnZpY2UpO1xuICAgIHRoaXMudHJhbnNsYXRlU2VydmljZSA9IHRoaXMuaW5qZWN0b3IuZ2V0KE9UcmFuc2xhdGVTZXJ2aWNlKTtcbiAgICB0aGlzLm9UYWJsZUV4cG9ydEJ1dHRvblNlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldChPVGFibGVFeHBvcnRCdXR0b25TZXJ2aWNlKTtcbiAgICB0aGlzLmFwcENvbmZpZyA9IHRoaXMuaW5qZWN0b3IuZ2V0KEFwcENvbmZpZyk7XG4gICAgdGhpcy5zZWxlY3RlZEV4cG9ydEZvcm1hdCA9IHRoaXMuZ2V0RGVmYXVsdFNlbGVjdGlvbigpO1xuXG4gICAgaWYgKGNvbmZpZyAmJiBVdGlsLmlzRGVmaW5lZChjb25maWcudmlzaWJsZUJ1dHRvbnMpKSB7XG4gICAgICB0aGlzLnZpc2libGVCdXR0b25zID0gVXRpbC5wYXJzZUFycmF5KGNvbmZpZy52aXNpYmxlQnV0dG9ucy50b0xvd2VyQ2FzZSgpLCB0cnVlKTtcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmluaXRpYWxpemUoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBpbml0aWFsaXplKCk6IHZvaWQge1xuICAgIHRoaXMuY29sdW1uc0RhdGEgPSB0aGlzLmNvbmZpZy5jb2x1bW5zO1xuICAgIHRoaXMuY29sdW1ucyA9IFsuLi50aGlzLmNvbHVtbnNEYXRhXTtcbiAgICB0aGlzLmNvbmZpZ3VyZVNlcnZpY2UoKTtcbiAgfVxuXG4gIGNvbmZpZ3VyZVNlcnZpY2UoKTogdm9pZCB7XG4gICAgbGV0IGxvYWRpbmdTZXJ2aWNlOiBhbnkgPSBPbnRpbWl6ZUV4cG9ydFNlcnZpY2U7XG4gICAgaWYgKHRoaXMuY29uZmlnLnNlcnZpY2VUeXBlKSB7XG4gICAgICBsb2FkaW5nU2VydmljZSA9IHRoaXMuY29uZmlnLnNlcnZpY2VUeXBlO1xuICAgIH1cbiAgICB0aGlzLmV4cG9ydFNlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldChsb2FkaW5nU2VydmljZSk7XG4gICAgY29uc3Qgc2VydmljZUNmZyA9IHRoaXMuZXhwb3J0U2VydmljZS5nZXREZWZhdWx0U2VydmljZUNvbmZpZ3VyYXRpb24odGhpcy5jb25maWcuc2VydmljZSk7XG4gICAgdGhpcy5leHBvcnRTZXJ2aWNlLmNvbmZpZ3VyZVNlcnZpY2Uoc2VydmljZUNmZyk7XG4gIH1cbiAgdXBkYXRlQ29sdW1uc1NvcnQoKSB7XG4gICAgdGhpcy5jb2x1bW5zLnNvcnQoKGE6IGFueSwgYjogYW55KSA9PiB7XG4gICAgICBsZXQgaW5kZXhBID0gdGhpcy5jb2x1bW5zRGF0YS5maW5kSW5kZXgoeCA9PiB4ID09PSBhKTtcbiAgICAgIGxldCBpbmRleEIgPSB0aGlzLmNvbHVtbnNEYXRhLmZpbmRJbmRleCh4ID0+IHggPT09IGIpO1xuICAgICAgcmV0dXJuIGluZGV4QSAtIGluZGV4QjtcbiAgICB9KTtcbiAgfVxuXG4gIGRyb3BDb2x1bW5zKGV2ZW50OiBDZGtEcmFnRHJvcDxzdHJpbmdbXT4pIHtcbiAgICBtb3ZlSXRlbUluQXJyYXkodGhpcy5jb2x1bW5zRGF0YSwgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcbiAgICB0aGlzLnVwZGF0ZUNvbHVtbnNTb3J0KCk7XG4gIH1cblxuICBjb2x1bW5zQ29tcGFyZUZ1bmN0aW9uKGNvMTogYW55LCBjbzI6IGFueSkge1xuICAgIHJldHVybiBjbzEuaWQgPT09IGNvMi5pZDtcbiAgfVxuXG4gIGV4cG9ydCgpOiB2b2lkIHtcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh0cnVlKTtcblxuICAgIGNvbnN0IGV4cG9ydEZ1bmN0aW9uID0gdGhpcy5nZXRDdXN0b21FeHBvcnRCdXR0b24odGhpcy5zZWxlY3RlZEV4cG9ydEZvcm1hdCk/LmV4cG9ydEZ1bmN0aW9uO1xuXG4gICAgaWYgKGV4cG9ydEZ1bmN0aW9uKSB7XG4gICAgICBleHBvcnRGdW5jdGlvbih0aGlzLmNvbHVtbnMsICF0aGlzLnZlcnRpY2FsLCB0aGlzLmZpbGVuYW1lKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBvbkNsaWNrRXZlbnQgPSB0aGlzLmdldEN1c3RvbUV4cG9ydEJ1dHRvbih0aGlzLnNlbGVjdGVkRXhwb3J0Rm9ybWF0KT8ub25DbGljaztcbiAgICBpZiAob25DbGlja0V2ZW50Py5vYnNlcnZlcnM/Lmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgJ+KaoO+4jyBbREVQUkVDQVRFRF0gVGhlIG9uQ2xpY2sgZXZlbnQgaXMgZGVwcmVjYXRlZC4gVXNlIHRoZSBpbnB1dCBleHBvcnQtZnVuY3Rpb24gaW5zdGVhZC4nXG4gICAgICApO1xuICAgICAgdGhpcy5nZXRDdXN0b21FeHBvcnRCdXR0b24odGhpcy5zZWxlY3RlZEV4cG9ydEZvcm1hdCk/Lm9uQ2xpY2suZW1pdCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuXG4gICAgdGhpcy5leHBvcnRTZXJ2aWNlLmV4cG9ydERhdGEodGhpcy5zZWxlY3RlZEV4cG9ydEZvcm1hdCwgdGhpcy5jb2x1bW5zLCAhdGhpcy52ZXJ0aWNhbCwgdGhpcy5maWxlbmFtZSkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6ICgpID0+IHtcbiAgICAgICAgdGhpcy5zbmFja0JhclNlcnZpY2Uub3BlbignTUVTU0FHRVMuU1VDQ0VTU19FWFBPUlRfVEFCTEVfREFUQScsIHsgaWNvbjogJ2NoZWNrX2NpcmNsZScgfSk7XG4gICAgICB9LFxuICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLmhhbmRsZUVycm9yKGVycik7XG4gICAgICB9XG4gICAgfVxuICAgICk7XG4gIH1cblxuICBpc0J1dHRvblZpc2libGUoYnRuOiBzdHJpbmcpOiBib29sZWFuIHtcblxuICAgIGNvbnN0IHVzZUV4cG9ydENvbmZpZ3VyYXRpb24zWCA9IHRoaXMuYXBwQ29uZmlnLnVzZUV4cG9ydENvbmZpZ3VyYXRpb24oKTtcbiAgICBsZXQgaXNWaXNpYmxlID0gdHJ1ZTtcbiAgICBpZiAodGhpcy52aXNpYmxlQnV0dG9ucykge1xuICAgICAgaXNWaXNpYmxlID0gdGhpcy52aXNpYmxlQnV0dG9ucy5pbmRleE9mKGJ0bikgIT09IC0xO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodXNlRXhwb3J0Q29uZmlndXJhdGlvbjNYKSB7XG4gICAgICAgIGlzVmlzaWJsZSA9IENvZGVzLlZJU0lCTEVfRVhQT1JUX0JVVFRPTlMzWC5pbmRleE9mKGJ0bikgIT09IC0xO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaXNWaXNpYmxlID0gQ29kZXMuVklTSUJMRV9FWFBPUlRfQlVUVE9OUy5pbmRleE9mKGJ0bikgIT09IC0xXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGlzVmlzaWJsZTtcbiAgfVxuXG4gIGdldERlZmF1bHRTZWxlY3Rpb24oKSB7XG4gICAgY29uc3QgdXNlRXhwb3J0Q29uZmlndXJhdGlvbjNYID0gdGhpcy5hcHBDb25maWcudXNlRXhwb3J0Q29uZmlndXJhdGlvbigpO1xuXG4gICAgaWYgKHVzZUV4cG9ydENvbmZpZ3VyYXRpb24zWCkge1xuICAgICAgcmV0dXJuIENvZGVzLlZJU0lCTEVfRVhQT1JUX0JVVFRPTlMzWFswXTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIENvZGVzLlZJU0lCTEVfRVhQT1JUX0JVVFRPTlNbMF07XG4gICAgfVxuXG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlRXJyb3IoZXJyKTogdm9pZCB7XG4gICAgaWYgKGVyciBpbnN0YW5jZW9mIEh0dHBFcnJvclJlc3BvbnNlKSB7XG4gICAgICB0aGlzLnNuYWNrQmFyU2VydmljZS5vcGVuKGVyci5tZXNzYWdlLCB7IGljb246ICdlcnJvcicgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc25hY2tCYXJTZXJ2aWNlLm9wZW4oJ01FU1NBR0VTLkVSUk9SX0VYUE9SVF9UQUJMRV9EQVRBJywgeyBpY29uOiAnZXJyb3InIH0pO1xuICAgIH1cbiAgfVxuXG4gIG9uQ2hhbmdlTWF0QnV0dG9uVG9nZ2xlR3JvdXAoZXZlbnQ6IE1hdEJ1dHRvblRvZ2dsZUNoYW5nZSkge1xuICAgIGV2ZW50LnNvdXJjZS5idXR0b25Ub2dnbGVHcm91cC52YWx1ZSA9IGV2ZW50LnZhbHVlO1xuICAgIHRoaXMuc2VsZWN0ZWRFeHBvcnRGb3JtYXQgPSBldmVudC52YWx1ZTtcbiAgfVxuXG4gIGdldEN1c3RvbUV4cG9ydEJ1dHRvbih0eXBlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5jb25maWcub3B0aW9ucy5maW5kKHggPT4geC5leHBvcnRUeXBlID09PSB0eXBlKTtcbiAgfVxufVxuIiwiPHNwYW4gbWF0LWRpYWxvZy10aXRsZT57eyAnVEFCTEUuQlVUVE9OUy5FWFBPUlQnIHwgb1RyYW5zbGF0ZSB9fTwvc3Bhbj5cbjxtYXQtZGlhbG9nLWNvbnRlbnQgY2xhc3M9XCJkaWFsb2dfY29udGVudFwiPlxuICA8ZGl2IG1hdC1zdWJoZWFkZXI+e3sgJ1RBQkxFLkRJQUxPRy5FWFBPUlQuREVTQ1JJUFRJT04nIHwgb1RyYW5zbGF0ZSB9fTwvZGl2PlxuICA8bWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXAgY2xhc3M9XCJ0eXBlX3RvZ2dsZV9ncm91cFwiICNncm91cD1cIm1hdEJ1dHRvblRvZ2dsZUdyb3VwXCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZEV4cG9ydEZvcm1hdFwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGJ1dHRvbiBvZiBleHBvcnRUeXBlc1wiPlxuICAgICAgPG1hdC1idXR0b24tdG9nZ2xlIFt2YWx1ZV09XCJidXR0b24uZXhwb3J0VHlwZVwiICpuZ0lmPVwiaXNCdXR0b25WaXNpYmxlKGJ1dHRvbi5leHBvcnRUeXBlKVwiIGNsYXNzPVwiYnV0dG9uLmNsYXNzTmFtZVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYnV0dG9uVGVtcGxhdGU7Y29udGV4dDp7YnV0dG9uOmJ1dHRvbn1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbWF0LWJ1dHRvbi10b2dnbGU+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjdXN0b21CdXR0b24gb2YgY29uZmlnLm9wdGlvbnNcIj5cbiAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZSBbdmFsdWVdPVwiY3VzdG9tQnV0dG9uLmV4cG9ydFR5cGVcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImJ1dHRvblRlbXBsYXRlO2NvbnRleHQ6e2J1dHRvbjpjdXN0b21CdXR0b259XCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L21hdC1idXR0b24tdG9nZ2xlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L21hdC1idXR0b24tdG9nZ2xlLWdyb3VwPlxuICA8bWF0LWV4cGFuc2lvbi1wYW5lbCBjbGFzcz1cImFjb3JkaW9uXCIgW2V4cGFuZGVkXT1cImlzRXhwYW5kZWRcIj5cbiAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIgY29sbGFwc2VkSGVpZ2h0PVwiMzJweFwiIGV4cGFuZGVkSGVpZ2h0PVwiMzJweFwiPlxuICAgICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgICAge3sgJ0VYUE9SVC5ESUFMT0cuQURWQU5DRURfT1BUSU9OUycgfCBvVHJhbnNsYXRlIH19XG4gICAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgIDxkaXYgY2xhc3M9XCJpbnB1dHNfY29udGFpbmVyXCI+XG4gICAgICA8bWF0LWxhYmVsIGNsYXNzPVwiZGlhbG9nLXRpdGxlc1wiPnt7J0VYUE9SVC5ESUFMT0cuRklMRV9OQU1FJ3xvVHJhbnNsYXRlfX08L21hdC1sYWJlbD5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCIgY2xhc3M9XCJmaWxlbmFtZV9pbnB1dFwiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgWyhuZ01vZGVsKV09XCJmaWxlbmFtZVwiIHBsYWNlaG9sZGVyPVwie3sgJ0VYUE9SVC5ESUFMT0cuRklMRV9OQU1FLlBMQUNFSE9MREVSJyB8IG9UcmFuc2xhdGUgfX1cIiAvPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDxzcGFuIGNsYXNzPVwiZGlhbG9nLXRpdGxlc1wiPnt7J0VYUE9SVC5ESUFMT0cuT1JJRU5UQVRJT04nfG9UcmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgIDxtYXQtcmFkaW8tZ3JvdXAgbmFtZT1cIk9yaWVudGF0aW9uXCIgWyhuZ01vZGVsKV09XCJ2ZXJ0aWNhbFwiIGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRHYXA9XCIxMnB4XCIgW2Rpc2FibGVkXT1cInNlbGVjdGVkRXhwb3J0Rm9ybWF0ICE9PSAncGRmJ1wiPlxuICAgICAgICA8bWF0LXJhZGlvLWJ1dHRvbiAqbmdGb3I9XCJsZXQgb3JpZW50YXRpb24gb2Ygb3JpZW50YXRpb25zXCIgbmFtZT1cIk9yaWVudGF0aW9uXCIgW3ZhbHVlXT1cIm9yaWVudGF0aW9uLnZhbHVlXCJcbiAgICAgICAgICBbY2hlY2tlZF09XCJ2ZXJ0aWNhbCA9PT0gb3JpZW50YXRpb24udmFsdWVcIj5cbiAgICAgICAgICB7eyBvcmllbnRhdGlvbi50ZXh0IHwgb1RyYW5zbGF0ZX19XG4gICAgICAgIDwvbWF0LXJhZGlvLWJ1dHRvbj5cbiAgICAgIDwvbWF0LXJhZGlvLWdyb3VwPlxuICAgICAgPHNwYW4gY2xhc3M9XCJkaWFsb2ctdGl0bGVzXCI+e3snRVhQT1JULkRJQUxPRy5DT0xVTU5TJ3xvVHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICA8bWF0LXNlbGVjdGlvbi1saXN0IGRlbnNlICNjb2x1bW5zTGlzdCBjZGtEcm9wTGlzdCBbY2RrRHJvcExpc3REYXRhXT1cImNvbHVtbnNEYXRhXCIgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJkcm9wQ29sdW1ucygkZXZlbnQpXCIgY2xhc3M9XCJjb2x1bW5zXCJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJjb2x1bW5zXCIgW2NvbXBhcmVXaXRoXT1cImNvbHVtbnNDb21wYXJlRnVuY3Rpb25cIj5cbiAgICAgICAgPG1hdC1saXN0LW9wdGlvbiBjaGVja2JveFBvc2l0aW9uPVwiYmVmb3JlXCIgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBjb2x1bW5zRGF0YVwiIFt2YWx1ZV09XCJjb2x1bW5cIiBjZGtEcmFnPlxuICAgICAgICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwic3BhY2UtYXJvdW5kIGNlbnRlclwiPlxuICAgICAgICAgICAgPHNwYW4gbWF0TGlzdEl0ZW1MaW5lIGZ4RmxleD5cbiAgICAgICAgICAgICAge3tjb2x1bW4gfCBvVHJhbnNsYXRlfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBtYXQtbGlzdC1pY29uIGNsYXNzPVwiYnV0dG9uLWVkaXRcIj5kcmFnX2hhbmRsZTwvbWF0LWljb24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbWF0LWxpc3Qtb3B0aW9uPlxuICAgICAgPC9tYXQtc2VsZWN0aW9uLWxpc3Q+XG5cbiAgICA8L2Rpdj5cbiAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuPC9tYXQtZGlhbG9nLWNvbnRlbnQ+XG5cbjxtYXQtZGlhbG9nLWFjdGlvbnMgZnhMYXlvdXRBbGlnbj1cImVuZCBjZW50ZXJcIj5cbiAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbWF0LXN0cm9rZWQtYnV0dG9uIFttYXQtZGlhbG9nLWNsb3NlXT1cImZhbHNlXCIgY2xhc3M9XCJvLWJ1dHRvbi1kZWZhdWx0IGNhbmNlbFwiPnt7ICdDQU5DRUwnIHwgb1RyYW5zbGF0ZSB9fTwvYnV0dG9uPlxuICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXQtc3Ryb2tlZC1idXR0b24gY2xhc3M9XCJleHBvcnRfYnV0dG9uXCIgKGNsaWNrKT1cImV4cG9ydCgpXCI+XG4gICAgPG1hdC1pY29uPmlvc19zaGFyZTwvbWF0LWljb24+XG4gICAgPHNwYW4+e3sgJ0VYUE9SVC5ESUFMT0cuRVhQT1JUX0JVVFRPTicgfCBvVHJhbnNsYXRlIH19PC9zcGFuPlxuICA8L2J1dHRvbj5cbjwvbWF0LWRpYWxvZy1hY3Rpb25zPlxuXG48bmctdGVtcGxhdGUgI2J1dHRvblRlbXBsYXRlIGxldC1idXR0b249XCJidXR0b25cIj5cbiAgPG1hdC1pY29uIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMgby1idXR0b24taWNvblwiICpuZ0lmPVwiYnV0dG9uLmljb24hPT11bmRlZmluZWRcIiBzdHlsZT1cInZlcnRpY2FsLWFsaWduOm1pZGRsZVwiPnt7IGJ1dHRvbi5pY29uIH19PC9tYXQtaWNvbj5cbiAgPG1hdC1pY29uIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMgby1idXR0b24taWNvblwiICpuZ0lmPVwiYnV0dG9uLnN2Z0ljb24hPT11bmRlZmluZWRcIiBzdHlsZT1cInZlcnRpY2FsLWFsaWduOm1pZGRsZVwiXG4gICAgW3N2Z0ljb25dPVwiYnV0dG9uLnN2Z0ljb25cIj48L21hdC1pY29uPlxuICB7eyBidXR0b24ub2xhYmVsIHwgb1RyYW5zbGF0ZSB9fVxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==